@wordpress/edit-site 5.31.0 → 5.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/block-editor/editor-canvas.js +8 -1
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +15 -4
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/editor/index.js +12 -3
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor-canvas-container/index.js +1 -2
- package/build/components/editor-canvas-container/index.js.map +1 -1
- package/build/components/global-styles/background-panel.js +38 -0
- package/build/components/global-styles/background-panel.js.map +1 -0
- package/build/components/global-styles/font-families.js +1 -1
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +38 -9
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +20 -2
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/palette.js +3 -1
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/preview-colors.js +2 -2
- package/build/components/global-styles/preview-colors.js.map +1 -1
- package/build/components/global-styles/root-menu.js +8 -2
- package/build/components/global-styles/root-menu.js.map +1 -1
- package/build/components/global-styles/screen-background.js +34 -0
- package/build/components/global-styles/screen-background.js.map +1 -0
- package/build/components/global-styles/screen-color-palette.js +2 -2
- package/build/components/global-styles/screen-color-palette.js.map +1 -1
- package/build/components/global-styles/screen-colors.js +6 -4
- package/build/components/global-styles/screen-colors.js.map +1 -1
- package/build/components/global-styles/screen-style-variations.js +3 -37
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +6 -6
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +5 -2
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/ui.js +4 -1
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/variations/variations-color.js +10 -3
- package/build/components/global-styles/variations/variations-color.js.map +1 -1
- package/build/components/global-styles/variations/variations-typography.js +9 -2
- package/build/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js +3 -0
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/layout/animation.js +129 -0
- package/build/components/layout/animation.js.map +1 -0
- package/build/components/layout/index.js +9 -17
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/router.js +21 -18
- package/build/components/layout/router.js.map +1 -1
- package/build/components/page-pages/index.js +19 -17
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-patterns/index.js +18 -28
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/search-items.js +16 -58
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-templates-template-parts/actions.js +54 -41
- package/build/components/page-templates-template-parts/actions.js.map +1 -1
- package/build/components/page-templates-template-parts/index.js +26 -59
- package/build/components/page-templates-template-parts/index.js.map +1 -1
- package/build/components/plugin-template-setting-panel/index.js +12 -1
- package/build/components/plugin-template-setting-panel/index.js.map +1 -1
- package/build/components/save-button/index.js +45 -16
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-hub/index.js +8 -112
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/sidebar/index.js +1 -5
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +1 -1
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +1 -1
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +1 -2
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/index.js +5 -15
- package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
- package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/index.js +10 -16
- package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-footer/index.js +5 -1
- package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +10 -5
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +1 -5
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/style-book/index.js +1 -1
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +2 -2
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
- package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build/hooks/index.js +0 -1
- package/build/hooks/index.js.map +1 -1
- package/build/store/selectors.js +1 -9
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +8 -1
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +15 -4
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/editor/index.js +13 -4
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor-canvas-container/index.js +1 -2
- package/build-module/components/editor-canvas-container/index.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +31 -0
- package/build-module/components/global-styles/background-panel.js.map +1 -0
- package/build-module/components/global-styles/font-families.js +1 -1
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +38 -9
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js +20 -2
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/palette.js +3 -1
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/preview-colors.js +2 -2
- package/build-module/components/global-styles/preview-colors.js.map +1 -1
- package/build-module/components/global-styles/root-menu.js +9 -3
- package/build-module/components/global-styles/root-menu.js.map +1 -1
- package/build-module/components/global-styles/screen-background.js +26 -0
- package/build-module/components/global-styles/screen-background.js.map +1 -0
- package/build-module/components/global-styles/screen-color-palette.js +2 -2
- package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
- package/build-module/components/global-styles/screen-colors.js +6 -4
- package/build-module/components/global-styles/screen-colors.js.map +1 -1
- package/build-module/components/global-styles/screen-style-variations.js +4 -38
- package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +6 -6
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +5 -2
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/ui.js +4 -1
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-color.js +10 -3
- package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-typography.js +9 -2
- package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +3 -0
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/layout/animation.js +122 -0
- package/build-module/components/layout/animation.js.map +1 -0
- package/build-module/components/layout/index.js +9 -17
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/router.js +21 -18
- package/build-module/components/layout/router.js.map +1 -1
- package/build-module/components/page-pages/index.js +19 -17
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-patterns/index.js +20 -30
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +14 -55
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-templates-template-parts/actions.js +54 -40
- package/build-module/components/page-templates-template-parts/actions.js.map +1 -1
- package/build-module/components/page-templates-template-parts/index.js +29 -62
- package/build-module/components/page-templates-template-parts/index.js.map +1 -1
- package/build-module/components/plugin-template-setting-panel/index.js +12 -1
- package/build-module/components/plugin-template-setting-panel/index.js.map +1 -1
- package/build-module/components/save-button/index.js +46 -17
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +10 -114
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +1 -5
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +1 -1
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +1 -2
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/index.js +8 -18
- package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/index.js +11 -17
- package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js +5 -1
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +10 -5
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +1 -5
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build-module/components/style-book/index.js +1 -1
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +2 -2
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build-module/hooks/index.js +0 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/store/selectors.js +1 -9
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +116 -104
- package/build-style/style.css +116 -104
- package/package.json +44 -44
- package/src/components/block-editor/editor-canvas.js +14 -2
- package/src/components/block-editor/site-editor-canvas.js +10 -7
- package/src/components/editor/index.js +11 -4
- package/src/components/editor-canvas-container/index.js +0 -1
- package/src/components/global-styles/background-panel.js +34 -0
- package/src/components/global-styles/font-families.js +1 -1
- package/src/components/global-styles/font-library-modal/context.js +43 -14
- package/src/components/global-styles/font-library-modal/style.scss +1 -1
- package/src/components/global-styles/font-library-modal/utils/index.js +17 -4
- package/src/components/global-styles/palette.js +3 -1
- package/src/components/global-styles/preview-colors.js +2 -2
- package/src/components/global-styles/root-menu.js +12 -1
- package/src/components/global-styles/screen-background.js +29 -0
- package/src/components/global-styles/screen-color-palette.js +2 -2
- package/src/components/global-styles/screen-colors.js +4 -4
- package/src/components/global-styles/screen-style-variations.js +4 -36
- package/src/components/global-styles/screen-typography.js +6 -9
- package/src/components/global-styles/style-variations-container.js +2 -1
- package/src/components/global-styles/style.scss +14 -12
- package/src/components/global-styles/ui.js +5 -0
- package/src/components/global-styles/variations/style.scss +32 -17
- package/src/components/global-styles/variations/variations-color.js +4 -2
- package/src/components/global-styles/variations/variations-typography.js +4 -1
- package/src/components/header-edit-mode/style.scss +28 -17
- package/src/components/keyboard-shortcut-help-modal/index.js +4 -0
- package/src/components/layout/animation.js +122 -0
- package/src/components/layout/index.js +12 -27
- package/src/components/layout/router.js +25 -19
- package/src/components/layout/style.scss +2 -0
- package/src/components/page-pages/index.js +27 -43
- package/src/components/page-patterns/index.js +20 -28
- package/src/components/page-patterns/search-items.js +13 -58
- package/src/components/page-templates-template-parts/actions.js +106 -91
- package/src/components/page-templates-template-parts/index.js +34 -78
- package/src/components/page-templates-template-parts/style.scss +5 -0
- package/src/components/plugin-template-setting-panel/index.js +14 -1
- package/src/components/save-button/index.js +55 -26
- package/src/components/save-hub/index.js +20 -164
- package/src/components/sidebar/index.js +0 -5
- package/src/components/sidebar-dataviews/default-views.js +1 -1
- package/src/components/sidebar-dataviews/index.js +1 -1
- package/src/components/sidebar-edit-mode/index.js +0 -2
- package/src/components/sidebar-edit-mode/page-panels/index.js +29 -60
- package/src/components/sidebar-edit-mode/page-panels/page-content.js +10 -10
- package/src/components/sidebar-edit-mode/template-panel/index.js +23 -33
- package/src/components/sidebar-edit-mode/template-panel/style.scss +1 -29
- package/src/components/sidebar-navigation-screen/style.scss +12 -9
- package/src/components/sidebar-navigation-screen-details-footer/index.js +6 -2
- package/src/components/sidebar-navigation-screen-global-styles/index.js +7 -13
- package/src/components/sidebar-navigation-screen-patterns/index.js +0 -7
- package/src/components/style-book/index.js +1 -3
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +2 -2
- package/src/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
- package/src/hooks/index.js +0 -1
- package/src/store/selectors.js +3 -15
- package/src/style.scss +0 -1
- package/build/components/actions/index.js +0 -319
- package/build/components/actions/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/sidebar-card/index.js +0 -48
- package/build/components/sidebar-edit-mode/sidebar-card/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/template-panel/template-areas.js +0 -70
- package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +0 -1
- package/build/components/sidebar-navigation-screen-pages/index.js +0 -175
- package/build/components/sidebar-navigation-screen-pages/index.js.map +0 -1
- package/build/hooks/template-part-edit.js +0 -82
- package/build/hooks/template-part-edit.js.map +0 -1
- package/build/store/utils.js +0 -71
- package/build/store/utils.js.map +0 -1
- package/build-module/components/actions/index.js +0 -308
- package/build-module/components/actions/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/sidebar-card/index.js +0 -40
- package/build-module/components/sidebar-edit-mode/sidebar-card/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js +0 -63
- package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-pages/index.js +0 -167
- package/build-module/components/sidebar-navigation-screen-pages/index.js.map +0 -1
- package/build-module/hooks/template-part-edit.js +0 -75
- package/build-module/hooks/template-part-edit.js.map +0 -1
- package/build-module/store/utils.js +0 -64
- package/build-module/store/utils.js.map +0 -1
- package/src/components/actions/index.js +0 -409
- package/src/components/sidebar-edit-mode/sidebar-card/index.js +0 -53
- package/src/components/sidebar-edit-mode/sidebar-card/style.scss +0 -36
- package/src/components/sidebar-edit-mode/template-panel/template-areas.js +0 -86
- package/src/components/sidebar-navigation-screen-pages/index.js +0 -238
- package/src/hooks/template-part-edit.js +0 -89
- package/src/store/test/utils.js +0 -191
- package/src/store/utils.js +0 -69
|
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = PageTemplatesTemplateParts;
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
-
var _removeAccents = _interopRequireDefault(require("remove-accents"));
|
|
11
10
|
var _components = require("@wordpress/components");
|
|
12
11
|
var _i18n = require("@wordpress/i18n");
|
|
13
12
|
var _element = require("@wordpress/element");
|
|
@@ -17,13 +16,13 @@ var _blocks = require("@wordpress/blocks");
|
|
|
17
16
|
var _blockEditor = require("@wordpress/block-editor");
|
|
18
17
|
var _dataviews = require("@wordpress/dataviews");
|
|
19
18
|
var _router = require("@wordpress/router");
|
|
19
|
+
var _editor = require("@wordpress/editor");
|
|
20
20
|
var _page = _interopRequireDefault(require("../page"));
|
|
21
21
|
var _link = _interopRequireWildcard(require("../routes/link"));
|
|
22
22
|
var _addNewTemplate = _interopRequireDefault(require("../add-new-template"));
|
|
23
23
|
var _hooks = require("./hooks");
|
|
24
24
|
var _constants = require("../../utils/constants");
|
|
25
25
|
var _actions = require("./actions");
|
|
26
|
-
var _actions2 = require("../actions");
|
|
27
26
|
var _usePatternSettings = _interopRequireDefault(require("../page-patterns/use-pattern-settings"));
|
|
28
27
|
var _lockUnlock = require("../../lock-unlock");
|
|
29
28
|
var _addNewTemplatePart = _interopRequireDefault(require("./add-new-template-part"));
|
|
@@ -41,6 +40,9 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
41
40
|
* Internal dependencies
|
|
42
41
|
*/
|
|
43
42
|
|
|
43
|
+
const {
|
|
44
|
+
usePostActions
|
|
45
|
+
} = (0, _lockUnlock.unlock)(_editor.privateApis);
|
|
44
46
|
const {
|
|
45
47
|
ExperimentalBlockEditorProvider,
|
|
46
48
|
useGlobalStyle
|
|
@@ -56,7 +58,8 @@ const defaultConfigPerViewType = {
|
|
|
56
58
|
},
|
|
57
59
|
[_constants.LAYOUT_GRID]: {
|
|
58
60
|
mediaField: 'preview',
|
|
59
|
-
primaryField: 'title'
|
|
61
|
+
primaryField: 'title',
|
|
62
|
+
displayAsColumnFields: ['description']
|
|
60
63
|
},
|
|
61
64
|
[_constants.LAYOUT_LIST]: {
|
|
62
65
|
primaryField: 'title',
|
|
@@ -78,9 +81,6 @@ const DEFAULT_VIEW = {
|
|
|
78
81
|
layout: defaultConfigPerViewType[_constants.LAYOUT_TABLE],
|
|
79
82
|
filters: []
|
|
80
83
|
};
|
|
81
|
-
function normalizeSearchInput(input = '') {
|
|
82
|
-
return (0, _removeAccents.default)(input.trim().toLowerCase());
|
|
83
|
-
}
|
|
84
84
|
function Title({
|
|
85
85
|
item,
|
|
86
86
|
viewType
|
|
@@ -130,7 +130,9 @@ function AuthorField({
|
|
|
130
130
|
className: "page-templates-author-field__icon"
|
|
131
131
|
}, (0, _react.createElement)(_components.Icon, {
|
|
132
132
|
icon: icon
|
|
133
|
-
})), (0, _react.createElement)("span",
|
|
133
|
+
})), (0, _react.createElement)("span", {
|
|
134
|
+
className: "page-templates-author-field__name"
|
|
135
|
+
}, text));
|
|
134
136
|
}
|
|
135
137
|
function Preview({
|
|
136
138
|
item,
|
|
@@ -264,7 +266,8 @@ function PageTemplatesTemplateParts({
|
|
|
264
266
|
viewType: view.type
|
|
265
267
|
}),
|
|
266
268
|
maxWidth: 400,
|
|
267
|
-
enableHiding: false
|
|
269
|
+
enableHiding: false,
|
|
270
|
+
enableGlobalSearch: true
|
|
268
271
|
}];
|
|
269
272
|
if (postType === _constants.TEMPLATE_POST_TYPE) {
|
|
270
273
|
_fields.push({
|
|
@@ -282,7 +285,8 @@ function PageTemplatesTemplateParts({
|
|
|
282
285
|
},
|
|
283
286
|
maxWidth: 400,
|
|
284
287
|
minWidth: 320,
|
|
285
|
-
enableSorting: false
|
|
288
|
+
enableSorting: false,
|
|
289
|
+
enableGlobalSearch: true
|
|
286
290
|
});
|
|
287
291
|
}
|
|
288
292
|
// TODO: The plan is to support fields reordering, which would require an API like `order` or something
|
|
@@ -311,57 +315,20 @@ function PageTemplatesTemplateParts({
|
|
|
311
315
|
data,
|
|
312
316
|
paginationInfo
|
|
313
317
|
} = (0, _element.useMemo)(() => {
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
let filteredData = [...records];
|
|
324
|
-
// Handle global search.
|
|
325
|
-
if (view.search) {
|
|
326
|
-
const normalizedSearch = normalizeSearchInput(view.search);
|
|
327
|
-
filteredData = filteredData.filter(item => {
|
|
328
|
-
const title = item.title?.rendered || item.slug;
|
|
329
|
-
return normalizeSearchInput(title).includes(normalizedSearch) || normalizeSearchInput(item.description).includes(normalizedSearch);
|
|
330
|
-
});
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
// Handle filters.
|
|
334
|
-
if (view.filters.length > 0) {
|
|
335
|
-
view.filters.forEach(filter => {
|
|
336
|
-
if (filter.field === 'author' && filter.operator === _constants.OPERATOR_IS_ANY && filter?.value?.length > 0) {
|
|
337
|
-
filteredData = filteredData.filter(item => {
|
|
338
|
-
return filter.value.includes(item.author_text);
|
|
339
|
-
});
|
|
340
|
-
} else if (filter.field === 'author' && filter.operator === _constants.OPERATOR_IS_NONE && filter?.value?.length > 0) {
|
|
341
|
-
filteredData = filteredData.filter(item => {
|
|
342
|
-
return !filter.value.includes(item.author_text);
|
|
343
|
-
});
|
|
344
|
-
}
|
|
345
|
-
});
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
// Handle sorting.
|
|
349
|
-
if (view.sort) {
|
|
350
|
-
filteredData = (0, _dataviews.sortByTextFields)({
|
|
351
|
-
data: filteredData,
|
|
352
|
-
view,
|
|
353
|
-
fields,
|
|
354
|
-
textFields: ['title', 'author']
|
|
318
|
+
return (0, _dataviews.filterSortAndPaginate)(records, view, fields);
|
|
319
|
+
}, [records, view, fields]);
|
|
320
|
+
const onActionPerformed = (0, _element.useCallback)((actionId, items) => {
|
|
321
|
+
if (actionId === 'edit-post') {
|
|
322
|
+
const post = items[0];
|
|
323
|
+
history.push({
|
|
324
|
+
postId: post.id,
|
|
325
|
+
postType: post.type,
|
|
326
|
+
canvas: 'edit'
|
|
355
327
|
});
|
|
356
328
|
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
view
|
|
361
|
-
});
|
|
362
|
-
}, [records, view, fields]);
|
|
363
|
-
const resetTemplateAction = (0, _actions.useResetTemplateAction)();
|
|
364
|
-
const actions = (0, _element.useMemo)(() => [resetTemplateAction, _actions.renameTemplateAction, _actions2.postRevisionsAction, _actions.deleteTemplateAction], [resetTemplateAction]);
|
|
329
|
+
}, [history]);
|
|
330
|
+
const [editAction, viewRevisionsAction] = usePostActions(onActionPerformed, ['edit-post', 'view-post-revisions']);
|
|
331
|
+
const actions = (0, _element.useMemo)(() => [editAction, _actions.resetTemplateAction, _actions.renameTemplateAction, viewRevisionsAction, _actions.deleteTemplateAction], [editAction, viewRevisionsAction]);
|
|
365
332
|
const onChangeView = (0, _element.useCallback)(newView => {
|
|
366
333
|
if (newView.type !== view.type) {
|
|
367
334
|
newView = {
|
|
@@ -396,7 +363,7 @@ function PageTemplatesTemplateParts({
|
|
|
396
363
|
view: view,
|
|
397
364
|
onChangeView: onChangeView,
|
|
398
365
|
onSelectionChange: onSelectionChange,
|
|
399
|
-
deferredRendering: !view.hiddenFields?.includes('preview')
|
|
366
|
+
deferredRendering: view.type === _constants.LAYOUT_GRID || !view.hiddenFields?.includes('preview')
|
|
400
367
|
}));
|
|
401
368
|
}
|
|
402
369
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_removeAccents","_components","_i18n","_element","_coreData","_htmlEntities","_blocks","_blockEditor","_dataviews","_router","_page","_link","_interopRequireWildcard","_addNewTemplate","_hooks","_constants","_actions","_actions2","_usePatternSettings","_lockUnlock","_addNewTemplatePart","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ExperimentalBlockEditorProvider","useGlobalStyle","unlock","blockEditorPrivateApis","useHistory","useLocation","routerPrivateApis","EMPTY_ARRAY","defaultConfigPerViewType","LAYOUT_TABLE","primaryField","LAYOUT_GRID","mediaField","LAYOUT_LIST","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","hiddenFields","layout","filters","normalizeSearchInput","input","removeAccents","trim","toLowerCase","Title","item","viewType","decodeEntities","title","rendered","__","linkProps","params","postId","id","postType","canvas","TEMPLATE_PART_POST_TYPE","state","backPath","_react","createElement","AuthorField","isImageLoaded","setIsImageLoaded","useState","text","icon","imageUrl","useAddedBy","withIcon","__experimentalHStack","alignment","spacing","className","classnames","onLoad","alt","src","Icon","Preview","settings","usePatternSettings","backgroundColor","blocks","useMemo","parse","content","raw","onClick","useLink","isEmpty","length","style","BlockPreview","TEMPLATE_POST_TYPE","PageTemplatesTemplateParts","activeView","defaultView","usedType","operator","value","view","setView","useEffect","currentView","OPERATOR_IS_ANY","records","isResolving","isLoadingData","useEntityRecords","per_page","history","onSelectionChange","useCallback","items","push","undefined","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","label","fields","_fields","header","render","minWidth","maxWidth","enableSorting","getValue","enableHiding","description","Fragment","__experimentalText","variant","VisuallyHidden","ENUMERATION_TYPE","elements","width","data","paginationInfo","totalItems","totalPages","filteredData","normalizedSearch","filter","slug","includes","OPERATOR_IS_NONE","sortByTextFields","textFields","getPaginationResults","resetTemplateAction","useResetTemplateAction","actions","renameTemplateAction","postRevisionsAction","deleteTemplateAction","onChangeView","newView","templateType","showIcon","toggleProps","DataViews","isLoading","deferredRendering"],"sources":["@wordpress/edit-site/src/components/page-templates-template-parts/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tDataViews,\n\tsortByTextFields,\n\tgetPaginationResults,\n} from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport AddNewTemplate from '../add-new-template';\nimport { useAddedBy } from './hooks';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tENUMERATION_TYPE,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\nimport {\n\tuseResetTemplateAction,\n\tdeleteTemplateAction,\n\trenameTemplateAction,\n} from './actions';\nimport { postRevisionsAction } from '../actions';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport AddNewTemplatePart from './add-new-template-part';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_TABLE ]: {\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tprimaryField: 'title',\n\t\tmediaField: 'preview',\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_TABLE,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'preview' ],\n\tlayout: defaultConfigPerViewType[ LAYOUT_TABLE ],\n\tfilters: [],\n};\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nfunction Title( { item, viewType } ) {\n\tif ( viewType === LAYOUT_LIST ) {\n\t\treturn decodeEntities( item.title?.rendered ) || __( '(no title)' );\n\t}\n\tconst linkProps = {\n\t\tparams: {\n\t\t\tpostId: item.id,\n\t\t\tpostType: item.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t};\n\tif ( item.type === TEMPLATE_PART_POST_TYPE ) {\n\t\tlinkProps.state = {\n\t\t\tbackPath: '/wp_template_part/all',\n\t\t};\n\t}\n\treturn (\n\t\t<Link { ...linkProps }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nfunction AuthorField( { item, viewType } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\tconst withIcon = viewType !== LAYOUT_LIST;\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ withIcon && imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'page-templates-author-field__avatar',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ withIcon && ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span>{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName={ `page-templates-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ viewType === LAYOUT_LIST && ! isEmpty && (\n\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t) }\n\t\t\t\t{ viewType !== LAYOUT_LIST && (\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isEmpty &&\n\t\t\t\t\t\t\t( item.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t\t\t? __( 'Empty template' )\n\t\t\t\t\t\t\t\t: __( 'Empty template part' ) ) }\n\t\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ blocks } /> }\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\nexport default function PageTemplatesTemplateParts( { postType } ) {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout } = params;\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = layout ?? DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tlayout: defaultConfigPerViewType[ usedType ],\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'isAny',\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } = useEntityRecords(\n\t\t'postType',\n\t\tpostType,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst history = useHistory();\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ].id : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Preview item={ item } viewType={ view.type } />;\n\t\t\t\t},\n\t\t\t\tminWidth: 120,\n\t\t\t\tmaxWidth: 120,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader:\n\t\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'Template' )\n\t\t\t\t\t\t: __( 'Template Part' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\t\tif ( postType === TEMPLATE_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn item.description ? (\n\t\t\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tview.type === LAYOUT_TABLE && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text variant=\"muted\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t—\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t{ __( 'No description.' ) }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tminWidth: 320,\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t}\n\t\t// TODO: The plan is to support fields reordering, which would require an API like `order` or something\n\t\t// similar. With the aforementioned API we wouldn't need to construct the fields array like this.\n\t\t_fields.push( {\n\t\t\theader: __( 'Author' ),\n\t\t\tid: 'author',\n\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t},\n\t\t\ttype: ENUMERATION_TYPE,\n\t\t\telements: authors,\n\t\t\twidth: '1%',\n\t\t} );\n\t\treturn _fields;\n\t}, [ postType, authors, view.type ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn {\n\t\t\t\tdata: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredData = [ ...records ];\n\t\t// Handle global search.\n\t\tif ( view.search ) {\n\t\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\tconst title = item.title?.rendered || item.slug;\n\t\t\t\treturn (\n\t\t\t\t\tnormalizeSearchInput( title ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t) ||\n\t\t\t\t\tnormalizeSearchInput( item.description ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\t// Handle filters.\n\t\tif ( view.filters.length > 0 ) {\n\t\t\tview.filters.forEach( ( filter ) => {\n\t\t\t\tif (\n\t\t\t\t\tfilter.field === 'author' &&\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ANY &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.includes( item.author_text );\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.field === 'author' &&\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NONE &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn ! filter.value.includes( item.author_text );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Handle sorting.\n\t\tif ( view.sort ) {\n\t\t\tfilteredData = sortByTextFields( {\n\t\t\t\tdata: filteredData,\n\t\t\t\tview,\n\t\t\t\tfields,\n\t\t\t\ttextFields: [ 'title', 'author' ],\n\t\t\t} );\n\t\t}\n\t\t// Handle pagination.\n\t\treturn getPaginationResults( {\n\t\t\tdata: filteredData,\n\t\t\tview,\n\t\t} );\n\t}, [ records, view, fields ] );\n\n\tconst resetTemplateAction = useResetTemplateAction();\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\tresetTemplateAction,\n\t\t\trenameTemplateAction,\n\t\t\tpostRevisionsAction,\n\t\t\tdeleteTemplateAction,\n\t\t],\n\t\t[ resetTemplateAction ]\n\t);\n\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\tnewView = {\n\t\t\t\t\t...newView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-template-template-parts-dataviews\"\n\t\t\ttitle={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t? __( 'Templates' )\n\t\t\t\t\t: __( 'Template Parts' )\n\t\t\t}\n\t\t\tactions={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE ? (\n\t\t\t\t\t<AddNewTemplate\n\t\t\t\t\t\ttemplateType={ postType }\n\t\t\t\t\t\tshowIcon={ false }\n\t\t\t\t\t\ttoggleProps={ { variant: 'primary' } }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<AddNewTemplatePart />\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\tdeferredRendering={ ! view.hiddenFields?.includes( 'preview' ) }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_element","_coreData","_htmlEntities","_blocks","_blockEditor","_dataviews","_router","_editor","_page","_link","_interopRequireWildcard","_addNewTemplate","_hooks","_constants","_actions","_usePatternSettings","_lockUnlock","_addNewTemplatePart","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","usePostActions","unlock","editorPrivateApis","ExperimentalBlockEditorProvider","useGlobalStyle","blockEditorPrivateApis","useHistory","useLocation","routerPrivateApis","EMPTY_ARRAY","defaultConfigPerViewType","LAYOUT_TABLE","primaryField","LAYOUT_GRID","mediaField","displayAsColumnFields","LAYOUT_LIST","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","hiddenFields","layout","filters","Title","item","viewType","decodeEntities","title","rendered","__","linkProps","params","postId","id","postType","canvas","TEMPLATE_PART_POST_TYPE","state","backPath","_react","createElement","AuthorField","isImageLoaded","setIsImageLoaded","useState","text","icon","imageUrl","useAddedBy","withIcon","__experimentalHStack","alignment","spacing","className","classnames","onLoad","alt","src","Icon","Preview","settings","usePatternSettings","backgroundColor","blocks","useMemo","parse","content","raw","onClick","useLink","isEmpty","length","style","BlockPreview","TEMPLATE_POST_TYPE","PageTemplatesTemplateParts","activeView","defaultView","usedType","operator","value","view","setView","useEffect","currentView","OPERATOR_IS_ANY","records","isResolving","isLoadingData","useEntityRecords","per_page","history","onSelectionChange","useCallback","items","push","undefined","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","label","fields","_fields","header","render","minWidth","maxWidth","enableSorting","getValue","enableHiding","enableGlobalSearch","description","Fragment","__experimentalText","variant","VisuallyHidden","ENUMERATION_TYPE","elements","width","data","paginationInfo","filterSortAndPaginate","onActionPerformed","actionId","post","editAction","viewRevisionsAction","actions","resetTemplateAction","renameTemplateAction","deleteTemplateAction","onChangeView","newView","templateType","showIcon","toggleProps","DataViews","isLoading","deferredRendering","includes"],"sources":["@wordpress/edit-site/src/components/page-templates-template-parts/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport AddNewTemplate from '../add-new-template';\nimport { useAddedBy } from './hooks';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tENUMERATION_TYPE,\n\tOPERATOR_IS_ANY,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\nimport {\n\tresetTemplateAction,\n\tdeleteTemplateAction,\n\trenameTemplateAction,\n} from './actions';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport AddNewTemplatePart from './add-new-template-part';\n\nconst { usePostActions } = unlock( editorPrivateApis );\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_TABLE ]: {\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t\tdisplayAsColumnFields: [ 'description' ],\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tprimaryField: 'title',\n\t\tmediaField: 'preview',\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_TABLE,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'preview' ],\n\tlayout: defaultConfigPerViewType[ LAYOUT_TABLE ],\n\tfilters: [],\n};\n\nfunction Title( { item, viewType } ) {\n\tif ( viewType === LAYOUT_LIST ) {\n\t\treturn decodeEntities( item.title?.rendered ) || __( '(no title)' );\n\t}\n\tconst linkProps = {\n\t\tparams: {\n\t\t\tpostId: item.id,\n\t\t\tpostType: item.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t};\n\tif ( item.type === TEMPLATE_PART_POST_TYPE ) {\n\t\tlinkProps.state = {\n\t\t\tbackPath: '/wp_template_part/all',\n\t\t};\n\t}\n\treturn (\n\t\t<Link { ...linkProps }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nfunction AuthorField( { item, viewType } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\tconst withIcon = viewType !== LAYOUT_LIST;\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ withIcon && imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'page-templates-author-field__avatar',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ withIcon && ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName={ `page-templates-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ viewType === LAYOUT_LIST && ! isEmpty && (\n\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t) }\n\t\t\t\t{ viewType !== LAYOUT_LIST && (\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isEmpty &&\n\t\t\t\t\t\t\t( item.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t\t\t? __( 'Empty template' )\n\t\t\t\t\t\t\t\t: __( 'Empty template part' ) ) }\n\t\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ blocks } /> }\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\nexport default function PageTemplatesTemplateParts( { postType } ) {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout } = params;\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = layout ?? DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tlayout: defaultConfigPerViewType[ usedType ],\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'isAny',\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } = useEntityRecords(\n\t\t'postType',\n\t\tpostType,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst history = useHistory();\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ].id : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Preview item={ item } viewType={ view.type } />;\n\t\t\t\t},\n\t\t\t\tminWidth: 120,\n\t\t\t\tmaxWidth: 120,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader:\n\t\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'Template' )\n\t\t\t\t\t\t: __( 'Template Part' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t},\n\t\t];\n\t\tif ( postType === TEMPLATE_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn item.description ? (\n\t\t\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tview.type === LAYOUT_TABLE && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text variant=\"muted\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t—\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t{ __( 'No description.' ) }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tminWidth: 320,\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t} );\n\t\t}\n\t\t// TODO: The plan is to support fields reordering, which would require an API like `order` or something\n\t\t// similar. With the aforementioned API we wouldn't need to construct the fields array like this.\n\t\t_fields.push( {\n\t\t\theader: __( 'Author' ),\n\t\t\tid: 'author',\n\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t},\n\t\t\ttype: ENUMERATION_TYPE,\n\t\t\telements: authors,\n\t\t\twidth: '1%',\n\t\t} );\n\t\treturn _fields;\n\t}, [ postType, authors, view.type ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tif ( actionId === 'edit-post' ) {\n\t\t\t\tconst post = items[ 0 ];\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostId: post.id,\n\t\t\t\t\tpostType: post.type,\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history ]\n\t);\n\tconst [ editAction, viewRevisionsAction ] = usePostActions(\n\t\tonActionPerformed,\n\t\t[ 'edit-post', 'view-post-revisions' ]\n\t);\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\teditAction,\n\t\t\tresetTemplateAction,\n\t\t\trenameTemplateAction,\n\t\t\tviewRevisionsAction,\n\t\t\tdeleteTemplateAction,\n\t\t],\n\t\t[ editAction, viewRevisionsAction ]\n\t);\n\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\tnewView = {\n\t\t\t\t\t...newView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-template-template-parts-dataviews\"\n\t\t\ttitle={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t? __( 'Templates' )\n\t\t\t\t\t: __( 'Template Parts' )\n\t\t\t}\n\t\t\tactions={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE ? (\n\t\t\t\t\t<AddNewTemplate\n\t\t\t\t\t\ttemplateType={ postType }\n\t\t\t\t\t\tshowIcon={ false }\n\t\t\t\t\t\ttoggleProps={ { variant: 'primary' } }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<AddNewTemplatePart />\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\tdeferredRendering={\n\t\t\t\t\tview.type === LAYOUT_GRID ||\n\t\t\t\t\t! view.hiddenFields?.includes( 'preview' )\n\t\t\t\t}\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -4,6 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _editor = require("@wordpress/editor");
|
|
9
|
+
var _data = require("@wordpress/data");
|
|
7
10
|
var _components = require("@wordpress/components");
|
|
8
11
|
/**
|
|
9
12
|
* Defines an extensibility slot for the Template sidebar.
|
|
@@ -17,7 +20,15 @@ const {
|
|
|
17
20
|
Fill,
|
|
18
21
|
Slot
|
|
19
22
|
} = (0, _components.createSlotFill)('PluginTemplateSettingPanel');
|
|
20
|
-
const PluginTemplateSettingPanel =
|
|
23
|
+
const PluginTemplateSettingPanel = ({
|
|
24
|
+
children
|
|
25
|
+
}) => {
|
|
26
|
+
const isCurrentEntityTemplate = (0, _data.useSelect)(select => select(_editor.store).getCurrentPostType() === 'wp_template', []);
|
|
27
|
+
if (!isCurrentEntityTemplate) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return (0, _react.createElement)(Fill, null, children);
|
|
31
|
+
};
|
|
21
32
|
PluginTemplateSettingPanel.Slot = Slot;
|
|
22
33
|
|
|
23
34
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_editor","require","_data","_components","Fill","Slot","createSlotFill","PluginTemplateSettingPanel","children","isCurrentEntityTemplate","useSelect","select","editorStore","getCurrentPostType","_react","createElement","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/plugin-template-setting-panel/index.js"],"sourcesContent":["/**\n * Defines an extensibility slot for the Template sidebar.\n */\n\n/**\n * WordPress dependencies\n */\nimport { store as editorStore } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { createSlotFill } from '@wordpress/components';\n\nconst { Fill, Slot } = createSlotFill( 'PluginTemplateSettingPanel' );\n\nconst PluginTemplateSettingPanel = ( { children } ) => {\n\tconst isCurrentEntityTemplate = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getCurrentPostType() === 'wp_template',\n\t\t[]\n\t);\n\tif ( ! isCurrentEntityTemplate ) {\n\t\treturn null;\n\t}\n\treturn <Fill>{ children }</Fill>;\n};\n\nPluginTemplateSettingPanel.Slot = Slot;\n\n/**\n * Renders items in the Template Sidebar below the main information\n * like the Template Card.\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { PluginTemplateSettingPanel } from '@wordpress/edit-site';\n *\n * const MyTemplateSettingTest = () => (\n * \t\t<PluginTemplateSettingPanel>\n *\t\t\t<p>Hello, World!</p>\n *\t\t</PluginTemplateSettingPanel>\n *\t);\n * ```\n *\n * @return {Component} The component to be rendered.\n */\nexport default PluginTemplateSettingPanel;\n"],"mappings":";;;;;;;AAOA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAEA;AACA;AACA;;AAKA,MAAM;EAAEG,IAAI;EAAEC;AAAK,CAAC,GAAG,IAAAC,0BAAc,EAAE,4BAA6B,CAAC;AAErE,MAAMC,0BAA0B,GAAGA,CAAE;EAAEC;AAAS,CAAC,KAAM;EACtD,MAAMC,uBAAuB,GAAG,IAAAC,eAAS,EACtCC,MAAM,IACPA,MAAM,CAAEC,aAAY,CAAC,CAACC,kBAAkB,CAAC,CAAC,KAAK,aAAa,EAC7D,EACD,CAAC;EACD,IAAK,CAAEJ,uBAAuB,EAAG;IAChC,OAAO,IAAI;EACZ;EACA,OAAO,IAAAK,MAAA,CAAAC,aAAA,EAACX,IAAI,QAAGI,QAAgB,CAAC;AACjC,CAAC;AAEDD,0BAA0B,CAACF,IAAI,GAAGA,IAAI;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAjBA,IAAAW,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAkBeX,0BAA0B"}
|
|
@@ -10,8 +10,11 @@ var _components = require("@wordpress/components");
|
|
|
10
10
|
var _i18n = require("@wordpress/i18n");
|
|
11
11
|
var _coreData = require("@wordpress/core-data");
|
|
12
12
|
var _keycodes = require("@wordpress/keycodes");
|
|
13
|
+
var _router = require("@wordpress/router");
|
|
14
|
+
var _editor = require("@wordpress/editor");
|
|
13
15
|
var _store = require("../../store");
|
|
14
16
|
var _isPreviewingTheme = require("../../utils/is-previewing-theme");
|
|
17
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
15
18
|
/**
|
|
16
19
|
* WordPress dependencies
|
|
17
20
|
*/
|
|
@@ -20,46 +23,65 @@ var _isPreviewingTheme = require("../../utils/is-previewing-theme");
|
|
|
20
23
|
* Internal dependencies
|
|
21
24
|
*/
|
|
22
25
|
|
|
26
|
+
const {
|
|
27
|
+
useLocation
|
|
28
|
+
} = (0, _lockUnlock.unlock)(_router.privateApis);
|
|
23
29
|
function SaveButton({
|
|
24
30
|
className = 'edit-site-save-button__button',
|
|
25
31
|
variant = 'primary',
|
|
26
32
|
showTooltip = true,
|
|
27
|
-
|
|
33
|
+
showReviewMessage,
|
|
28
34
|
icon,
|
|
29
35
|
size,
|
|
30
36
|
__next40pxDefaultSize = false
|
|
31
37
|
}) {
|
|
32
38
|
const {
|
|
33
|
-
|
|
39
|
+
params
|
|
40
|
+
} = useLocation();
|
|
41
|
+
const {
|
|
42
|
+
setIsSaveViewOpened
|
|
43
|
+
} = (0, _data.useDispatch)(_store.store);
|
|
44
|
+
const {
|
|
45
|
+
saveDirtyEntities
|
|
46
|
+
} = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_editor.store));
|
|
47
|
+
const {
|
|
48
|
+
dirtyEntityRecords
|
|
49
|
+
} = (0, _editor.useEntitiesSavedStatesIsDirty)();
|
|
50
|
+
const {
|
|
34
51
|
isSaving,
|
|
35
52
|
isSaveViewOpen,
|
|
36
53
|
previewingThemeName
|
|
37
54
|
} = (0, _data.useSelect)(select => {
|
|
38
55
|
const {
|
|
39
|
-
__experimentalGetDirtyEntityRecords,
|
|
40
56
|
isSavingEntityRecord,
|
|
41
57
|
isResolving
|
|
42
58
|
} = select(_coreData.store);
|
|
43
|
-
const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
|
|
44
59
|
const {
|
|
45
60
|
isSaveViewOpened
|
|
46
61
|
} = select(_store.store);
|
|
47
62
|
const isActivatingTheme = isResolving('activateTheme');
|
|
48
63
|
const currentlyPreviewingThemeId = (0, _isPreviewingTheme.currentlyPreviewingTheme)();
|
|
49
64
|
return {
|
|
50
|
-
isDirty: dirtyEntityRecords.length > 0,
|
|
51
65
|
isSaving: dirtyEntityRecords.some(record => isSavingEntityRecord(record.kind, record.name, record.key)) || isActivatingTheme,
|
|
52
66
|
isSaveViewOpen: isSaveViewOpened(),
|
|
53
67
|
// Do not call `getTheme` with null, it will cause a request to
|
|
54
68
|
// the server.
|
|
55
69
|
previewingThemeName: currentlyPreviewingThemeId ? select(_coreData.store).getTheme(currentlyPreviewingThemeId)?.name?.rendered : undefined
|
|
56
70
|
};
|
|
57
|
-
}, []);
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
71
|
+
}, [dirtyEntityRecords]);
|
|
72
|
+
const hasDirtyEntities = !!dirtyEntityRecords.length;
|
|
73
|
+
let isOnlyCurrentEntityDirty;
|
|
74
|
+
// Check if the current entity is the only entity with changes.
|
|
75
|
+
// We have some extra logic for `wp_global_styles` for now, that
|
|
76
|
+
// is used in navigation sidebar.
|
|
77
|
+
if (dirtyEntityRecords.length === 1) {
|
|
78
|
+
if (params.postId) {
|
|
79
|
+
isOnlyCurrentEntityDirty = `${dirtyEntityRecords[0].key}` === params.postId && dirtyEntityRecords[0].name === params.postType;
|
|
80
|
+
} else if (params.path?.includes('wp_global_styles')) {
|
|
81
|
+
isOnlyCurrentEntityDirty = dirtyEntityRecords[0].name === 'globalStyles';
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
const disabled = isSaving || !hasDirtyEntities && !(0, _isPreviewingTheme.isPreviewingTheme)();
|
|
63
85
|
const getLabel = () => {
|
|
64
86
|
if ((0, _isPreviewingTheme.isPreviewingTheme)()) {
|
|
65
87
|
if (isSaving) {
|
|
@@ -67,7 +89,7 @@ function SaveButton({
|
|
|
67
89
|
(0, _i18n.__)('Activating %s'), previewingThemeName);
|
|
68
90
|
} else if (disabled) {
|
|
69
91
|
return (0, _i18n.__)('Saved');
|
|
70
|
-
} else if (
|
|
92
|
+
} else if (hasDirtyEntities) {
|
|
71
93
|
return (0, _i18n.sprintf)( /* translators: %s: The name of theme to be activated. */
|
|
72
94
|
(0, _i18n.__)('Activate %s & Save'), previewingThemeName);
|
|
73
95
|
}
|
|
@@ -76,21 +98,28 @@ function SaveButton({
|
|
|
76
98
|
}
|
|
77
99
|
if (isSaving) {
|
|
78
100
|
return (0, _i18n.__)('Saving');
|
|
79
|
-
}
|
|
101
|
+
}
|
|
102
|
+
if (disabled) {
|
|
80
103
|
return (0, _i18n.__)('Saved');
|
|
81
|
-
}
|
|
82
|
-
|
|
104
|
+
}
|
|
105
|
+
if (!isOnlyCurrentEntityDirty && showReviewMessage) {
|
|
106
|
+
return (0, _i18n.sprintf)(
|
|
107
|
+
// translators: %d: number of unsaved changes (number).
|
|
108
|
+
(0, _i18n._n)('Review %d change…', 'Review %d changes…', dirtyEntityRecords.length), dirtyEntityRecords.length);
|
|
83
109
|
}
|
|
84
110
|
return (0, _i18n.__)('Save');
|
|
85
111
|
};
|
|
86
112
|
const label = getLabel();
|
|
113
|
+
const onClick = isOnlyCurrentEntityDirty ? () => saveDirtyEntities({
|
|
114
|
+
dirtyEntityRecords
|
|
115
|
+
}) : () => setIsSaveViewOpened(true);
|
|
87
116
|
return (0, _react.createElement)(_components.Button, {
|
|
88
117
|
variant: variant,
|
|
89
118
|
className: className,
|
|
90
119
|
"aria-disabled": disabled,
|
|
91
120
|
"aria-expanded": isSaveViewOpen,
|
|
92
121
|
isBusy: isSaving,
|
|
93
|
-
onClick: disabled ? undefined :
|
|
122
|
+
onClick: disabled ? undefined : onClick,
|
|
94
123
|
label: label
|
|
95
124
|
/*
|
|
96
125
|
* We want the tooltip to show the keyboard shortcut only when the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_components","_i18n","_coreData","_keycodes","_store","_isPreviewingTheme","SaveButton","className","variant","showTooltip","
|
|
1
|
+
{"version":3,"names":["_data","require","_components","_i18n","_coreData","_keycodes","_router","_editor","_store","_isPreviewingTheme","_lockUnlock","useLocation","unlock","routerPrivateApis","SaveButton","className","variant","showTooltip","showReviewMessage","icon","size","__next40pxDefaultSize","params","setIsSaveViewOpened","useDispatch","editSiteStore","saveDirtyEntities","editorStore","dirtyEntityRecords","useEntitiesSavedStatesIsDirty","isSaving","isSaveViewOpen","previewingThemeName","useSelect","select","isSavingEntityRecord","isResolving","coreStore","isSaveViewOpened","isActivatingTheme","currentlyPreviewingThemeId","currentlyPreviewingTheme","some","record","kind","name","key","getTheme","rendered","undefined","hasDirtyEntities","length","isOnlyCurrentEntityDirty","postId","postType","path","includes","disabled","isPreviewingTheme","getLabel","sprintf","__","_n","label","onClick","_react","createElement","Button","isBusy","shortcut","displayShortcut","primary"],"sources":["@wordpress/edit-site/src/components/save-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tuseEntitiesSavedStatesIsDirty,\n\tstore as editorStore,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport {\n\tcurrentlyPreviewingTheme,\n\tisPreviewingTheme,\n} from '../../utils/is-previewing-theme';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tshowReviewMessage,\n\ticon,\n\tsize,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { params } = useLocation();\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\tconst { saveDirtyEntities } = unlock( useDispatch( editorStore ) );\n\tconst { dirtyEntityRecords } = useEntitiesSavedStatesIsDirty();\n\tconst { isSaving, isSaveViewOpen, previewingThemeName } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isSavingEntityRecord, isResolving } = select( coreStore );\n\t\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\t\tconst currentlyPreviewingThemeId = currentlyPreviewingTheme();\n\t\t\treturn {\n\t\t\t\tisSaving:\n\t\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t) || isActivatingTheme,\n\t\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t\t\t// Do not call `getTheme` with null, it will cause a request to\n\t\t\t\t// the server.\n\t\t\t\tpreviewingThemeName: currentlyPreviewingThemeId\n\t\t\t\t\t? select( coreStore ).getTheme( currentlyPreviewingThemeId )\n\t\t\t\t\t\t\t?.name?.rendered\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ dirtyEntityRecords ]\n\t);\n\tconst hasDirtyEntities = !! dirtyEntityRecords.length;\n\tlet isOnlyCurrentEntityDirty;\n\t// Check if the current entity is the only entity with changes.\n\t// We have some extra logic for `wp_global_styles` for now, that\n\t// is used in navigation sidebar.\n\tif ( dirtyEntityRecords.length === 1 ) {\n\t\tif ( params.postId ) {\n\t\t\tisOnlyCurrentEntityDirty =\n\t\t\t\t`${ dirtyEntityRecords[ 0 ].key }` === params.postId &&\n\t\t\t\tdirtyEntityRecords[ 0 ].name === params.postType;\n\t\t} else if ( params.path?.includes( 'wp_global_styles' ) ) {\n\t\t\tisOnlyCurrentEntityDirty =\n\t\t\t\tdirtyEntityRecords[ 0 ].name === 'globalStyles';\n\t\t}\n\t}\n\tconst disabled =\n\t\tisSaving || ( ! hasDirtyEntities && ! isPreviewingTheme() );\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activating %s' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( hasDirtyEntities ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activate %s & Save' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn sprintf(\n\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t__( 'Activate %s' ),\n\t\t\t\tpreviewingThemeName\n\t\t\t);\n\t\t}\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t}\n\t\tif ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t}\n\t\tif ( ! isOnlyCurrentEntityDirty && showReviewMessage ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %d: number of unsaved changes (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Review %d change…',\n\t\t\t\t\t'Review %d changes…',\n\t\t\t\t\tdirtyEntityRecords.length\n\t\t\t\t),\n\t\t\t\tdirtyEntityRecords.length\n\t\t\t);\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\tconst onClick = isOnlyCurrentEntityDirty\n\t\t? () => saveDirtyEntities( { dirtyEntityRecords } )\n\t\t: () => setIsSaveViewOpened( true );\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : onClick }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t * the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\tsize={ size }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAQA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,kBAAA,GAAAR,OAAA;AAIA,IAAAS,WAAA,GAAAT,OAAA;AAtBA;AACA;AACA;;AAYA;AACA;AACA;;AAQA,MAAM;EAAEU;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEpC,SAASC,UAAUA,CAAE;EACnCC,SAAS,GAAG,+BAA+B;EAC3CC,OAAO,GAAG,SAAS;EACnBC,WAAW,GAAG,IAAI;EAClBC,iBAAiB;EACjBC,IAAI;EACJC,IAAI;EACJC,qBAAqB,GAAG;AACzB,CAAC,EAAG;EACH,MAAM;IAAEC;EAAO,CAAC,GAAGX,WAAW,CAAC,CAAC;EAChC,MAAM;IAAEY;EAAoB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAc,CAAC;EAC5D,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAd,kBAAM,EAAE,IAAAY,iBAAW,EAAEG,aAAY,CAAE,CAAC;EAClE,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAAC,qCAA6B,EAAC,CAAC;EAC9D,MAAM;IAAEC,QAAQ;IAAEC,cAAc;IAAEC;EAAoB,CAAC,GAAG,IAAAC,eAAS,EAChEC,MAAM,IAAM;IACb,MAAM;MAAEC,oBAAoB;MAAEC;IAAY,CAAC,GAAGF,MAAM,CAAEG,eAAU,CAAC;IACjE,MAAM;MAAEC;IAAiB,CAAC,GAAGJ,MAAM,CAAET,YAAc,CAAC;IACpD,MAAMc,iBAAiB,GAAGH,WAAW,CAAE,eAAgB,CAAC;IACxD,MAAMI,0BAA0B,GAAG,IAAAC,2CAAwB,EAAC,CAAC;IAC7D,OAAO;MACNX,QAAQ,EACPF,kBAAkB,CAACc,IAAI,CAAIC,MAAM,IAChCR,oBAAoB,CACnBQ,MAAM,CAACC,IAAI,EACXD,MAAM,CAACE,IAAI,EACXF,MAAM,CAACG,GACR,CACD,CAAC,IAAIP,iBAAiB;MACvBR,cAAc,EAAEO,gBAAgB,CAAC,CAAC;MAClC;MACA;MACAN,mBAAmB,EAAEQ,0BAA0B,GAC5CN,MAAM,CAAEG,eAAU,CAAC,CAACU,QAAQ,CAAEP,0BAA2B,CAAC,EACxDK,IAAI,EAAEG,QAAQ,GAChBC;IACJ,CAAC;EACF,CAAC,EACD,CAAErB,kBAAkB,CACrB,CAAC;EACD,MAAMsB,gBAAgB,GAAG,CAAC,CAAEtB,kBAAkB,CAACuB,MAAM;EACrD,IAAIC,wBAAwB;EAC5B;EACA;EACA;EACA,IAAKxB,kBAAkB,CAACuB,MAAM,KAAK,CAAC,EAAG;IACtC,IAAK7B,MAAM,CAAC+B,MAAM,EAAG;MACpBD,wBAAwB,GACtB,GAAGxB,kBAAkB,CAAE,CAAC,CAAE,CAACkB,GAAK,EAAC,KAAKxB,MAAM,CAAC+B,MAAM,IACpDzB,kBAAkB,CAAE,CAAC,CAAE,CAACiB,IAAI,KAAKvB,MAAM,CAACgC,QAAQ;IAClD,CAAC,MAAM,IAAKhC,MAAM,CAACiC,IAAI,EAAEC,QAAQ,CAAE,kBAAmB,CAAC,EAAG;MACzDJ,wBAAwB,GACvBxB,kBAAkB,CAAE,CAAC,CAAE,CAACiB,IAAI,KAAK,cAAc;IACjD;EACD;EACA,MAAMY,QAAQ,GACb3B,QAAQ,IAAM,CAAEoB,gBAAgB,IAAI,CAAE,IAAAQ,oCAAiB,EAAC,CAAG;EAC5D,MAAMC,QAAQ,GAAGA,CAAA,KAAM;IACtB,IAAK,IAAAD,oCAAiB,EAAC,CAAC,EAAG;MAC1B,IAAK5B,QAAQ,EAAG;QACf,OAAO,IAAA8B,aAAO,GACb;QACA,IAAAC,QAAE,EAAE,eAAgB,CAAC,EACrB7B,mBACD,CAAC;MACF,CAAC,MAAM,IAAKyB,QAAQ,EAAG;QACtB,OAAO,IAAAI,QAAE,EAAE,OAAQ,CAAC;MACrB,CAAC,MAAM,IAAKX,gBAAgB,EAAG;QAC9B,OAAO,IAAAU,aAAO,GACb;QACA,IAAAC,QAAE,EAAE,oBAAqB,CAAC,EAC1B7B,mBACD,CAAC;MACF;MACA,OAAO,IAAA4B,aAAO,GACb;MACA,IAAAC,QAAE,EAAE,aAAc,CAAC,EACnB7B,mBACD,CAAC;IACF;IACA,IAAKF,QAAQ,EAAG;MACf,OAAO,IAAA+B,QAAE,EAAE,QAAS,CAAC;IACtB;IACA,IAAKJ,QAAQ,EAAG;MACf,OAAO,IAAAI,QAAE,EAAE,OAAQ,CAAC;IACrB;IACA,IAAK,CAAET,wBAAwB,IAAIlC,iBAAiB,EAAG;MACtD,OAAO,IAAA0C,aAAO;MACb;MACA,IAAAE,QAAE,EACD,mBAAmB,EACnB,oBAAoB,EACpBlC,kBAAkB,CAACuB,MACpB,CAAC,EACDvB,kBAAkB,CAACuB,MACpB,CAAC;IACF;IACA,OAAO,IAAAU,QAAE,EAAE,MAAO,CAAC;EACpB,CAAC;EACD,MAAME,KAAK,GAAGJ,QAAQ,CAAC,CAAC;EACxB,MAAMK,OAAO,GAAGZ,wBAAwB,GACrC,MAAM1B,iBAAiB,CAAE;IAAEE;EAAmB,CAAE,CAAC,GACjD,MAAML,mBAAmB,CAAE,IAAK,CAAC;EACpC,OACC,IAAA0C,MAAA,CAAAC,aAAA,EAAChE,WAAA,CAAAiE,MAAM;IACNnD,OAAO,EAAGA,OAAS;IACnBD,SAAS,EAAGA,SAAW;IACvB,iBAAgB0C,QAAU;IAC1B,iBAAgB1B,cAAgB;IAChCqC,MAAM,EAAGtC,QAAU;IACnBkC,OAAO,EAAGP,QAAQ,GAAGR,SAAS,GAAGe,OAAS;IAC1CD,KAAK,EAAGA;IACR;AACH;AACA;AACA,OAHG;IAIAM,QAAQ,EAAGZ,QAAQ,GAAGR,SAAS,GAAGqB,yBAAe,CAACC,OAAO,CAAE,GAAI;IAC/D;AACH;AACA;AACA;AACA;AACA,OALG;IAMAtD,WAAW,EAAGA,WAAa;IAC3BE,IAAI,EAAGA,IAAM;IACbE,qBAAqB,EAAGA,qBAAuB;IAC/CD,IAAI,EAAGA;EAAM,GAEX2C,KACK,CAAC;AAEX"}
|