@wordpress/edit-site 4.19.0 → 5.0.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 +6 -0
- package/build/components/add-new-template/add-custom-template-modal.js +1 -0
- package/build/components/add-new-template/add-custom-template-modal.js.map +1 -1
- package/build/components/add-new-template/index.js +8 -5
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/add-new-template/new-template-part.js +21 -6
- package/build/components/add-new-template/new-template-part.js.map +1 -1
- package/build/components/add-new-template/new-template.js +12 -8
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/app/index.js +15 -30
- package/build/components/app/index.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +64 -0
- package/build/components/block-editor/editor-canvas.js.map +1 -0
- package/build/components/block-editor/index.js +61 -59
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/block-editor/resizable-editor.js +10 -44
- package/build/components/block-editor/resizable-editor.js.map +1 -1
- package/build/components/editor/index.js +80 -127
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/block-preview-panel.js +42 -0
- package/build/components/global-styles/block-preview-panel.js.map +1 -0
- package/build/components/global-styles/context-menu.js +6 -2
- package/build/components/global-styles/context-menu.js.map +1 -1
- package/build/components/global-styles/custom-css.js +61 -0
- package/build/components/global-styles/custom-css.js.map +1 -0
- package/build/components/global-styles/dimensions-panel.js +2 -6
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/global-styles-provider.js +15 -2
- package/build/components/global-styles/global-styles-provider.js.map +1 -1
- package/build/components/global-styles/hooks.js +5 -2
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/palette.js +1 -1
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +2 -1
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-block.js +10 -2
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-border.js +43 -0
- package/build/components/global-styles/screen-border.js.map +1 -0
- package/build/components/global-styles/screen-colors.js +1 -1
- package/build/components/global-styles/screen-colors.js.map +1 -1
- package/build/components/global-styles/screen-css.js +42 -0
- package/build/components/global-styles/screen-css.js.map +1 -0
- package/build/components/global-styles/screen-layout.js +0 -5
- package/build/components/global-styles/screen-layout.js.map +1 -1
- package/build/components/global-styles/screen-root.js +14 -1
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/screen-style-variations.js +3 -3
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/ui.js +50 -4
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +5 -1
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +3 -3
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -8
- package/build/components/global-styles-renderer/index.js.map +1 -0
- package/build/components/header-edit-mode/document-actions/index.js +12 -5
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +19 -12
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +11 -1
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/layout/index.js +231 -0
- package/build/components/layout/index.js.map +1 -0
- package/build/components/list/header.js +5 -1
- package/build/components/list/header.js.map +1 -1
- package/build/components/list/index.js +4 -22
- package/build/components/list/index.js.map +1 -1
- package/build/components/navigate-to-link/index.js +1 -3
- package/build/components/navigate-to-link/index.js.map +1 -1
- package/build/components/routes/index.js +1 -1
- package/build/components/routes/index.js.map +1 -1
- package/build/components/sidebar/index.js +42 -0
- package/build/components/sidebar/index.js.map +1 -0
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js +24 -4
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +1 -1
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-navigation-item/index.js +53 -0
- package/build/components/sidebar-navigation-item/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen/index.js +49 -0
- package/build/components/sidebar-navigation-screen/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-main/index.js +76 -0
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-templates/index.js +188 -0
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -0
- package/build/components/site-icon/index.js +70 -0
- package/build/components/site-icon/index.js.map +1 -0
- package/build/components/site-title/index.js +55 -0
- package/build/components/site-title/index.js.map +1 -0
- package/build/components/style-book/index.js +173 -0
- package/build/components/style-book/index.js.map +1 -0
- package/build/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +5 -4
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
- package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +53 -0
- package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
- package/build/index.js +2 -45
- package/build/index.js.map +1 -1
- package/build/store/actions.js +93 -43
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +35 -107
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +69 -78
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-template-modal.js +1 -0
- package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
- package/build-module/components/add-new-template/index.js +7 -5
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/add-new-template/new-template-part.js +18 -6
- package/build-module/components/add-new-template/new-template-part.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +13 -9
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/app/index.js +15 -28
- package/build-module/components/app/index.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +51 -0
- package/build-module/components/block-editor/editor-canvas.js.map +1 -0
- package/build-module/components/block-editor/index.js +61 -60
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/block-editor/resizable-editor.js +11 -40
- package/build-module/components/block-editor/resizable-editor.js.map +1 -1
- package/build-module/components/editor/index.js +81 -124
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/block-preview-panel.js +32 -0
- package/build-module/components/global-styles/block-preview-panel.js.map +1 -0
- package/build-module/components/global-styles/context-menu.js +7 -3
- package/build-module/components/global-styles/context-menu.js.map +1 -1
- package/build-module/components/global-styles/custom-css.js +51 -0
- package/build-module/components/global-styles/custom-css.js.map +1 -0
- package/build-module/components/global-styles/dimensions-panel.js +3 -7
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/global-styles-provider.js +15 -2
- package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +5 -3
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/palette.js +1 -1
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +2 -1
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +8 -2
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-border.js +27 -0
- package/build-module/components/global-styles/screen-border.js.map +1 -0
- package/build-module/components/global-styles/screen-colors.js +1 -1
- package/build-module/components/global-styles/screen-colors.js.map +1 -1
- package/build-module/components/global-styles/screen-css.js +28 -0
- package/build-module/components/global-styles/screen-css.js.map +1 -0
- package/build-module/components/global-styles/screen-layout.js +0 -4
- package/build-module/components/global-styles/screen-layout.js.map +1 -1
- package/build-module/components/global-styles/screen-root.js +14 -1
- package/build-module/components/global-styles/screen-root.js.map +1 -1
- package/build-module/components/global-styles/screen-style-variations.js +2 -2
- package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
- package/build-module/components/global-styles/ui.js +48 -5
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +5 -1
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +4 -4
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -7
- package/build-module/components/global-styles-renderer/index.js.map +1 -0
- package/build-module/components/header-edit-mode/document-actions/index.js +13 -6
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +16 -11
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +10 -1
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/layout/index.js +203 -0
- package/build-module/components/layout/index.js.map +1 -0
- package/build-module/components/list/header.js +5 -1
- package/build-module/components/list/header.js.map +1 -1
- package/build-module/components/list/index.js +4 -19
- package/build-module/components/list/index.js.map +1 -1
- package/build-module/components/navigate-to-link/index.js +1 -3
- package/build-module/components/navigate-to-link/index.js.map +1 -1
- package/build-module/components/routes/index.js +1 -1
- package/build-module/components/routes/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +30 -0
- package/build-module/components/sidebar/index.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +27 -7
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +3 -3
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-item/index.js +40 -0
- package/build-module/components/sidebar-navigation-item/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen/index.js +39 -0
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-main/index.js +57 -0
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-templates/index.js +165 -0
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -0
- package/build-module/components/site-icon/index.js +55 -0
- package/build-module/components/site-icon/index.js.map +1 -0
- package/build-module/components/site-title/index.js +43 -0
- package/build-module/components/site-title/index.js.map +1 -0
- package/build-module/components/style-book/index.js +156 -0
- package/build-module/components/style-book/index.js.map +1 -0
- package/build-module/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +4 -3
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
- package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +43 -0
- package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
- package/build-module/index.js +5 -36
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +87 -42
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +35 -102
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +60 -72
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +550 -346
- package/build-style/style.css +550 -346
- package/package.json +32 -31
- package/src/components/add-new-template/add-custom-template-modal.js +1 -0
- package/src/components/add-new-template/index.js +6 -3
- package/src/components/add-new-template/new-template-part.js +15 -3
- package/src/components/add-new-template/new-template.js +14 -7
- package/src/components/add-new-template/style.scss +0 -4
- package/src/components/app/index.js +14 -43
- package/src/components/block-editor/editor-canvas.js +69 -0
- package/src/components/block-editor/index.js +102 -87
- package/src/components/block-editor/resizable-editor.js +9 -64
- package/src/components/block-editor/style.scss +25 -1
- package/src/components/code-editor/style.scss +1 -1
- package/src/components/editor/index.js +170 -236
- package/src/components/editor/style.scss +0 -22
- package/src/components/global-styles/block-preview-panel.js +29 -0
- package/src/components/global-styles/context-menu.js +11 -2
- package/src/components/global-styles/custom-css.js +73 -0
- package/src/components/global-styles/dimensions-panel.js +2 -5
- package/src/components/global-styles/global-styles-provider.js +39 -17
- package/src/components/global-styles/hooks.js +8 -3
- package/src/components/global-styles/palette.js +1 -1
- package/src/components/global-styles/screen-block-list.js +2 -1
- package/src/components/global-styles/screen-block.js +9 -1
- package/src/components/global-styles/screen-border.js +23 -0
- package/src/components/global-styles/screen-colors.js +2 -1
- package/src/components/global-styles/screen-css.js +33 -0
- package/src/components/global-styles/screen-layout.js +0 -3
- package/src/components/global-styles/screen-root.js +30 -1
- package/src/components/global-styles/screen-style-variations.js +5 -2
- package/src/components/global-styles/style.scss +31 -2
- package/src/components/global-styles/ui.js +47 -4
- package/src/components/global-styles/use-global-styles-output.js +5 -0
- package/src/components/global-styles/utils.js +8 -5
- package/src/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +3 -9
- package/src/components/header-edit-mode/document-actions/index.js +14 -9
- package/src/components/header-edit-mode/document-actions/style.scss +8 -1
- package/src/components/header-edit-mode/index.js +96 -78
- package/src/components/header-edit-mode/style.scss +5 -33
- package/src/components/keyboard-shortcuts/index.js +13 -0
- package/src/components/layout/index.js +278 -0
- package/src/components/layout/style.scss +176 -0
- package/src/components/list/header.js +5 -1
- package/src/components/list/index.js +12 -31
- package/src/components/list/style.scss +10 -4
- package/src/components/navigate-to-link/index.js +2 -8
- package/src/components/routes/index.js +1 -1
- package/src/components/sidebar/index.js +34 -0
- package/src/components/sidebar/style.scss +8 -0
- package/src/components/sidebar-edit-mode/global-styles-sidebar.js +42 -7
- package/src/components/sidebar-edit-mode/index.js +3 -3
- package/src/components/sidebar-edit-mode/navigation-menu-sidebar/style.scss +21 -3
- package/src/components/sidebar-edit-mode/settings-header/style.scss +47 -34
- package/src/components/sidebar-edit-mode/style.scss +0 -13
- package/src/components/sidebar-navigation-item/index.js +51 -0
- package/src/components/sidebar-navigation-item/style.scss +17 -0
- package/src/components/sidebar-navigation-screen/index.js +55 -0
- package/src/components/sidebar-navigation-screen/style.scss +41 -0
- package/src/components/sidebar-navigation-screen-main/index.js +72 -0
- package/src/components/sidebar-navigation-screen-templates/index.js +181 -0
- package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
- package/src/components/site-icon/index.js +56 -0
- package/src/components/site-icon/style.scss +10 -0
- package/src/components/site-title/index.js +39 -0
- package/src/components/style-book/index.js +193 -0
- package/src/components/style-book/style.scss +78 -0
- package/src/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +3 -3
- package/src/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +36 -0
- package/src/components/template-details/style.scss +4 -0
- package/src/index.js +3 -53
- package/src/store/actions.js +93 -48
- package/src/store/reducer.js +29 -91
- package/src/store/selectors.js +61 -101
- package/src/store/test/actions.js +3 -15
- package/src/store/test/reducer.js +8 -192
- package/src/store/test/selectors.js +3 -42
- package/src/style.scss +19 -3
- package/build/components/editor/global-styles-renderer.js.map +0 -1
- package/build/components/navigation-sidebar/index.js +0 -62
- package/build/components/navigation-sidebar/index.js.map +0 -1
- package/build/components/navigation-sidebar/navigation-panel/constants.js +0 -77
- package/build/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
- package/build/components/navigation-sidebar/navigation-panel/index.js +0 -152
- package/build/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
- package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
- package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
- package/build/components/navigation-sidebar/navigation-toggle/index.js +0 -124
- package/build/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
- package/build/components/url-query-controller/index.js.map +0 -1
- package/build-module/components/editor/global-styles-renderer.js.map +0 -1
- package/build-module/components/navigation-sidebar/index.js +0 -45
- package/build-module/components/navigation-sidebar/index.js.map +0 -1
- package/build-module/components/navigation-sidebar/navigation-panel/constants.js +0 -49
- package/build-module/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
- package/build-module/components/navigation-sidebar/navigation-panel/index.js +0 -131
- package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
- package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -66
- package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
- package/build-module/components/navigation-sidebar/navigation-toggle/index.js +0 -108
- package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
- package/build-module/components/url-query-controller/index.js.map +0 -1
- package/src/components/navigation-sidebar/index.js +0 -46
- package/src/components/navigation-sidebar/navigation-panel/constants.js +0 -94
- package/src/components/navigation-sidebar/navigation-panel/index.js +0 -142
- package/src/components/navigation-sidebar/navigation-panel/style.scss +0 -152
- package/src/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
- package/src/components/navigation-sidebar/navigation-toggle/index.js +0 -114
- package/src/components/navigation-sidebar/navigation-toggle/style.scss +0 -71
- package/src/components/navigation-sidebar/navigation-toggle/test/index.js +0 -65
package/build/store/reducer.js
CHANGED
|
@@ -7,24 +7,16 @@ exports.blockInserterPanel = blockInserterPanel;
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
exports.deviceType = deviceType;
|
|
9
9
|
exports.editedPost = editedPost;
|
|
10
|
-
exports.homeTemplateId = homeTemplateId;
|
|
11
10
|
exports.listViewPanel = listViewPanel;
|
|
12
|
-
exports.navigationPanel = navigationPanel;
|
|
13
11
|
exports.saveViewPanel = saveViewPanel;
|
|
14
12
|
exports.settings = settings;
|
|
15
13
|
|
|
16
14
|
var _data = require("@wordpress/data");
|
|
17
15
|
|
|
18
|
-
var _constants = require("../components/navigation-sidebar/navigation-panel/constants");
|
|
19
|
-
|
|
20
16
|
/**
|
|
21
17
|
* WordPress dependencies
|
|
22
18
|
*/
|
|
23
19
|
|
|
24
|
-
/**
|
|
25
|
-
* Internal dependencies
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
20
|
/**
|
|
29
21
|
* Reducer returning the editing canvas device type.
|
|
30
22
|
*
|
|
@@ -83,91 +75,16 @@ function editedPost() {
|
|
|
83
75
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
84
76
|
|
|
85
77
|
switch (action.type) {
|
|
86
|
-
case '
|
|
87
|
-
case 'SET_PAGE':
|
|
88
|
-
return {
|
|
89
|
-
type: 'wp_template',
|
|
90
|
-
id: action.templateId,
|
|
91
|
-
page: action.page
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
case 'SET_TEMPLATE_PART':
|
|
78
|
+
case 'SET_EDITED_POST':
|
|
95
79
|
return {
|
|
96
|
-
|
|
97
|
-
id: action.
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return state;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Reducer for information about the site's homepage.
|
|
105
|
-
*
|
|
106
|
-
* @param {Object} state Current state.
|
|
107
|
-
* @param {Object} action Dispatched action.
|
|
108
|
-
*
|
|
109
|
-
* @return {Object} Updated state.
|
|
110
|
-
*/
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
function homeTemplateId(state, action) {
|
|
114
|
-
switch (action.type) {
|
|
115
|
-
case 'SET_HOME_TEMPLATE':
|
|
116
|
-
return action.homeTemplateId;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
return state;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Reducer for information about the navigation panel, such as its active menu
|
|
123
|
-
* and whether it should be opened or closed.
|
|
124
|
-
*
|
|
125
|
-
* Note: this reducer interacts with the inserter and list view panels reducers
|
|
126
|
-
* to make sure that only one of the three panels is open at the same time.
|
|
127
|
-
*
|
|
128
|
-
* @param {Object} state Current state.
|
|
129
|
-
* @param {Object} action Dispatched action.
|
|
130
|
-
*/
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
function navigationPanel() {
|
|
134
|
-
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
135
|
-
menu: _constants.MENU_ROOT,
|
|
136
|
-
isOpen: false
|
|
137
|
-
};
|
|
138
|
-
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
139
|
-
|
|
140
|
-
switch (action.type) {
|
|
141
|
-
case 'SET_NAVIGATION_PANEL_ACTIVE_MENU':
|
|
142
|
-
return { ...state,
|
|
143
|
-
menu: action.menu
|
|
80
|
+
postType: action.postType,
|
|
81
|
+
id: action.id,
|
|
82
|
+
context: action.context
|
|
144
83
|
};
|
|
145
84
|
|
|
146
|
-
case '
|
|
85
|
+
case 'SET_EDITED_POST_CONTEXT':
|
|
147
86
|
return { ...state,
|
|
148
|
-
|
|
149
|
-
menu: action.menu
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
case 'SET_IS_NAVIGATION_PANEL_OPENED':
|
|
153
|
-
return { ...state,
|
|
154
|
-
menu: !action.isOpen ? _constants.MENU_ROOT : state.menu,
|
|
155
|
-
// Set menu to root when closing panel.
|
|
156
|
-
isOpen: action.isOpen
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
case 'SET_IS_LIST_VIEW_OPENED':
|
|
160
|
-
return { ...state,
|
|
161
|
-
menu: state.isOpen && action.isOpen ? _constants.MENU_ROOT : state.menu,
|
|
162
|
-
// Set menu to root when closing panel.
|
|
163
|
-
isOpen: action.isOpen ? false : state.isOpen
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
case 'SET_IS_INSERTER_OPENED':
|
|
167
|
-
return { ...state,
|
|
168
|
-
menu: state.isOpen && action.value ? _constants.MENU_ROOT : state.menu,
|
|
169
|
-
// Set menu to root when closing panel.
|
|
170
|
-
isOpen: action.value ? false : state.isOpen
|
|
87
|
+
context: action.context
|
|
171
88
|
};
|
|
172
89
|
}
|
|
173
90
|
|
|
@@ -189,15 +106,14 @@ function blockInserterPanel() {
|
|
|
189
106
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
190
107
|
|
|
191
108
|
switch (action.type) {
|
|
192
|
-
case 'OPEN_NAVIGATION_PANEL_TO_MENU':
|
|
193
|
-
return false;
|
|
194
|
-
|
|
195
|
-
case 'SET_IS_NAVIGATION_PANEL_OPENED':
|
|
196
109
|
case 'SET_IS_LIST_VIEW_OPENED':
|
|
197
110
|
return action.isOpen ? false : state;
|
|
198
111
|
|
|
199
112
|
case 'SET_IS_INSERTER_OPENED':
|
|
200
113
|
return action.value;
|
|
114
|
+
|
|
115
|
+
case 'SET_CANVAS_MODE':
|
|
116
|
+
return false;
|
|
201
117
|
}
|
|
202
118
|
|
|
203
119
|
return state;
|
|
@@ -218,17 +134,14 @@ function listViewPanel() {
|
|
|
218
134
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
219
135
|
|
|
220
136
|
switch (action.type) {
|
|
221
|
-
case 'OPEN_NAVIGATION_PANEL_TO_MENU':
|
|
222
|
-
return false;
|
|
223
|
-
|
|
224
|
-
case 'SET_IS_NAVIGATION_PANEL_OPENED':
|
|
225
|
-
return action.isOpen ? false : state;
|
|
226
|
-
|
|
227
137
|
case 'SET_IS_INSERTER_OPENED':
|
|
228
138
|
return action.value ? false : state;
|
|
229
139
|
|
|
230
140
|
case 'SET_IS_LIST_VIEW_OPENED':
|
|
231
141
|
return action.isOpen;
|
|
142
|
+
|
|
143
|
+
case 'SET_CANVAS_MODE':
|
|
144
|
+
return false;
|
|
232
145
|
}
|
|
233
146
|
|
|
234
147
|
return state;
|
|
@@ -246,14 +159,30 @@ function saveViewPanel() {
|
|
|
246
159
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
247
160
|
|
|
248
161
|
switch (action.type) {
|
|
249
|
-
case '
|
|
162
|
+
case 'SET_IS_SAVE_VIEW_OPENED':
|
|
163
|
+
return action.isOpen;
|
|
164
|
+
|
|
165
|
+
case 'SET_CANVAS_MODE':
|
|
250
166
|
return false;
|
|
167
|
+
}
|
|
251
168
|
|
|
252
|
-
|
|
253
|
-
|
|
169
|
+
return state;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Reducer used to track the site editor canvas mode (edit or view).
|
|
173
|
+
*
|
|
174
|
+
* @param {Object} state Current state.
|
|
175
|
+
* @param {Object} action Dispatched action.
|
|
176
|
+
*/
|
|
254
177
|
|
|
255
|
-
|
|
256
|
-
|
|
178
|
+
|
|
179
|
+
function canvasMode() {
|
|
180
|
+
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'view';
|
|
181
|
+
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
182
|
+
|
|
183
|
+
switch (action.type) {
|
|
184
|
+
case 'SET_CANVAS_MODE':
|
|
185
|
+
return action.mode;
|
|
257
186
|
}
|
|
258
187
|
|
|
259
188
|
return state;
|
|
@@ -263,11 +192,10 @@ var _default = (0, _data.combineReducers)({
|
|
|
263
192
|
deviceType,
|
|
264
193
|
settings,
|
|
265
194
|
editedPost,
|
|
266
|
-
homeTemplateId,
|
|
267
|
-
navigationPanel,
|
|
268
195
|
blockInserterPanel,
|
|
269
196
|
listViewPanel,
|
|
270
|
-
saveViewPanel
|
|
197
|
+
saveViewPanel,
|
|
198
|
+
canvasMode
|
|
271
199
|
});
|
|
272
200
|
|
|
273
201
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/store/reducer.js"],"names":["deviceType","state","action","type","settings","editedPost","
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/store/reducer.js"],"names":["deviceType","state","action","type","settings","editedPost","postType","id","context","blockInserterPanel","isOpen","value","listViewPanel","saveViewPanel","canvasMode","mode"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Reducer returning the editing canvas device type.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function deviceType( state = 'Desktop', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_PREVIEW_DEVICE_TYPE':\n\t\t\treturn action.deviceType;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the settings.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function settings( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_SETTINGS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.settings,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the currently edited Post Type,\n * Post Id and the context provided to fill the content of the block editor.\n *\n * @param {Object} state Current edited post.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function editedPost( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_EDITED_POST':\n\t\t\treturn {\n\t\t\t\tpostType: action.postType,\n\t\t\t\tid: action.id,\n\t\t\t\tcontext: action.context,\n\t\t\t};\n\t\tcase 'SET_EDITED_POST_CONTEXT':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tcontext: action.context,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the navigation and list view panels reducers\n * to make sure that only one of the three panels is open at the same time.\n *\n * @param {boolean|Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t\tcase 'SET_CANVAS_MODE':\n\t\t\treturn false;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the navigation and inserter panels reducers\n * to make sure that only one of the three panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t\tcase 'SET_CANVAS_MODE':\n\t\t\treturn false;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the save view panel open or closed.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function saveViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_SAVE_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t\tcase 'SET_CANVAS_MODE':\n\t\t\treturn false;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer used to track the site editor canvas mode (edit or view).\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nfunction canvasMode( state = 'view', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_CANVAS_MODE':\n\t\t\treturn action.mode;\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tdeviceType,\n\tsettings,\n\teditedPost,\n\tblockInserterPanel,\n\tlistViewPanel,\n\tsaveViewPanel,\n\tcanvasMode,\n} );\n"]}
|
package/build/store/selectors.js
CHANGED
|
@@ -7,7 +7,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.__experimentalGetInsertionPoint = __experimentalGetInsertionPoint;
|
|
9
9
|
exports.__experimentalGetPreviewDeviceType = __experimentalGetPreviewDeviceType;
|
|
10
|
-
exports.
|
|
10
|
+
exports.__unstableGetCanvasMode = __unstableGetCanvasMode;
|
|
11
|
+
exports.getCanUserCreateMedia = exports.__unstableGetPreference = void 0;
|
|
12
|
+
exports.getCurrentTemplateNavigationPanelSubMenu = getCurrentTemplateNavigationPanelSubMenu;
|
|
13
|
+
exports.getCurrentTemplateTemplateParts = void 0;
|
|
14
|
+
exports.getEditedPostContext = getEditedPostContext;
|
|
11
15
|
exports.getEditedPostId = getEditedPostId;
|
|
12
16
|
exports.getEditedPostType = getEditedPostType;
|
|
13
17
|
exports.getEditorMode = getEditorMode;
|
|
@@ -21,8 +25,6 @@ exports.isListViewOpened = isListViewOpened;
|
|
|
21
25
|
exports.isNavigationOpened = isNavigationOpened;
|
|
22
26
|
exports.isSaveViewOpened = isSaveViewOpened;
|
|
23
27
|
|
|
24
|
-
var _lodash = require("lodash");
|
|
25
|
-
|
|
26
28
|
var _rememo = _interopRequireDefault(require("rememo"));
|
|
27
29
|
|
|
28
30
|
var _coreData = require("@wordpress/core-data");
|
|
@@ -39,10 +41,6 @@ var _element = require("@wordpress/element");
|
|
|
39
41
|
|
|
40
42
|
var _preferences = require("@wordpress/preferences");
|
|
41
43
|
|
|
42
|
-
var _constants = require("../components/navigation-sidebar/navigation-panel/constants");
|
|
43
|
-
|
|
44
|
-
var _templateHierarchy = require("../components/navigation-sidebar/navigation-panel/template-hierarchy");
|
|
45
|
-
|
|
46
44
|
/**
|
|
47
45
|
* External dependencies
|
|
48
46
|
*/
|
|
@@ -51,10 +49,6 @@ var _templateHierarchy = require("../components/navigation-sidebar/navigation-pa
|
|
|
51
49
|
* WordPress dependencies
|
|
52
50
|
*/
|
|
53
51
|
|
|
54
|
-
/**
|
|
55
|
-
* Internal dependencies
|
|
56
|
-
*/
|
|
57
|
-
|
|
58
52
|
/**
|
|
59
53
|
* @typedef {'template'|'template_type'} TemplateType Template type.
|
|
60
54
|
*/
|
|
@@ -172,21 +166,16 @@ const getSettings = (0, _rememo.default)((state, setIsInserterOpen) => {
|
|
|
172
166
|
return settings;
|
|
173
167
|
}, state => [getCanUserCreateMedia(state), state.settings, __unstableGetPreference(state, 'focusMode'), __unstableGetPreference(state, 'fixedToolbar'), __unstableGetPreference(state, 'keepCaretInsideBlock'), __unstableGetPreference(state, 'showIconLabels'), getReusableBlocks(state), getEditedPostType(state)]);
|
|
174
168
|
/**
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
* @param {Object} state Global application state.
|
|
178
|
-
*
|
|
179
|
-
* @return {number?} Home template ID.
|
|
169
|
+
* @deprecated
|
|
180
170
|
*/
|
|
181
171
|
|
|
182
172
|
exports.getSettings = getSettings;
|
|
183
173
|
|
|
184
|
-
function getHomeTemplateId(
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
return state.editedPost;
|
|
174
|
+
function getHomeTemplateId() {
|
|
175
|
+
(0, _deprecated.default)("select( 'core/edit-site' ).getHomeTemplateId", {
|
|
176
|
+
since: '6.2',
|
|
177
|
+
version: '6.4'
|
|
178
|
+
});
|
|
190
179
|
}
|
|
191
180
|
/**
|
|
192
181
|
* Returns the current edited post type (wp_template or wp_template_part).
|
|
@@ -198,7 +187,7 @@ function getCurrentEditedPost(state) {
|
|
|
198
187
|
|
|
199
188
|
|
|
200
189
|
function getEditedPostType(state) {
|
|
201
|
-
return
|
|
190
|
+
return state.editedPost.postType;
|
|
202
191
|
}
|
|
203
192
|
/**
|
|
204
193
|
* Returns the ID of the currently edited template or template part.
|
|
@@ -210,78 +199,35 @@ function getEditedPostType(state) {
|
|
|
210
199
|
|
|
211
200
|
|
|
212
201
|
function getEditedPostId(state) {
|
|
213
|
-
return
|
|
202
|
+
return state.editedPost.id;
|
|
214
203
|
}
|
|
215
204
|
/**
|
|
216
|
-
* Returns the
|
|
205
|
+
* Returns the edited post's context object.
|
|
217
206
|
*
|
|
207
|
+
* @deprecated
|
|
218
208
|
* @param {Object} state Global application state.
|
|
219
209
|
*
|
|
220
210
|
* @return {Object} Page.
|
|
221
211
|
*/
|
|
222
212
|
|
|
223
213
|
|
|
224
|
-
function
|
|
225
|
-
return
|
|
214
|
+
function getEditedPostContext(state) {
|
|
215
|
+
return state.editedPost.context;
|
|
226
216
|
}
|
|
227
217
|
/**
|
|
228
|
-
* Returns the
|
|
229
|
-
*
|
|
230
|
-
* @param {Object} state Global application state.
|
|
231
|
-
*
|
|
232
|
-
* @return {string} Active menu.
|
|
233
|
-
*/
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
function getNavigationPanelActiveMenu(state) {
|
|
237
|
-
return state.navigationPanel.menu;
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Returns the current template or template part's corresponding
|
|
241
|
-
* navigation panel's sub menu, to be used with `openNavigationPanelToMenu`.
|
|
242
|
-
*
|
|
243
|
-
* @param {Object} state Global application state.
|
|
244
|
-
*
|
|
245
|
-
* @return {string} The current template or template part's sub menu.
|
|
246
|
-
*/
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
const getCurrentTemplateNavigationPanelSubMenu = (0, _data.createRegistrySelector)(select => state => {
|
|
250
|
-
const templateType = getEditedPostType(state);
|
|
251
|
-
const templateId = getEditedPostId(state);
|
|
252
|
-
const template = templateId ? select(_coreData.store).getEntityRecord('postType', templateType, templateId) : null;
|
|
253
|
-
|
|
254
|
-
if (!template) {
|
|
255
|
-
return _constants.MENU_ROOT;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
if ('wp_template_part' === templateType) {
|
|
259
|
-
var _TEMPLATE_PARTS_SUB_M;
|
|
260
|
-
|
|
261
|
-
return ((_TEMPLATE_PARTS_SUB_M = _constants.TEMPLATE_PARTS_SUB_MENUS.find(submenu => submenu.area === (template === null || template === void 0 ? void 0 : template.area))) === null || _TEMPLATE_PARTS_SUB_M === void 0 ? void 0 : _TEMPLATE_PARTS_SUB_M.menu) || _constants.MENU_TEMPLATE_PARTS;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
const templates = select(_coreData.store).getEntityRecords('postType', 'wp_template');
|
|
265
|
-
const showOnFront = select(_coreData.store).getEditedEntityRecord('root', 'site').show_on_front;
|
|
266
|
-
|
|
267
|
-
if ((0, _templateHierarchy.isTemplateSuperseded)(template.slug, (0, _lodash.map)(templates, 'slug'), showOnFront)) {
|
|
268
|
-
return _constants.MENU_TEMPLATES_UNUSED;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
return (0, _templateHierarchy.getTemplateLocation)(template.slug);
|
|
272
|
-
});
|
|
273
|
-
/**
|
|
274
|
-
* Returns the current opened/closed state of the navigation panel.
|
|
218
|
+
* Returns the current page object.
|
|
275
219
|
*
|
|
220
|
+
* @deprecated
|
|
276
221
|
* @param {Object} state Global application state.
|
|
277
222
|
*
|
|
278
|
-
* @return {
|
|
223
|
+
* @return {Object} Page.
|
|
279
224
|
*/
|
|
280
225
|
|
|
281
|
-
exports.getCurrentTemplateNavigationPanelSubMenu = getCurrentTemplateNavigationPanelSubMenu;
|
|
282
226
|
|
|
283
|
-
function
|
|
284
|
-
return
|
|
227
|
+
function getPage(state) {
|
|
228
|
+
return {
|
|
229
|
+
context: state.editedPost.context
|
|
230
|
+
};
|
|
285
231
|
}
|
|
286
232
|
/**
|
|
287
233
|
* Returns the current opened/closed state of the inserter panel.
|
|
@@ -394,4 +340,49 @@ exports.getCurrentTemplateTemplateParts = getCurrentTemplateTemplateParts;
|
|
|
394
340
|
function getEditorMode(state) {
|
|
395
341
|
return __unstableGetPreference(state, 'editorMode');
|
|
396
342
|
}
|
|
343
|
+
/**
|
|
344
|
+
* Returns the current canvas mode.
|
|
345
|
+
*
|
|
346
|
+
* @param {Object} state Global application state.
|
|
347
|
+
*
|
|
348
|
+
* @return {string} Canvas mode.
|
|
349
|
+
*/
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
function __unstableGetCanvasMode(state) {
|
|
353
|
+
return state.canvasMode;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* @deprecated
|
|
357
|
+
*/
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
function getCurrentTemplateNavigationPanelSubMenu() {
|
|
361
|
+
(0, _deprecated.default)("dispatch( 'core/edit-site' ).getCurrentTemplateNavigationPanelSubMenu", {
|
|
362
|
+
since: '6.2',
|
|
363
|
+
version: '6.4'
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* @deprecated
|
|
368
|
+
*/
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
function getNavigationPanelActiveMenu() {
|
|
372
|
+
(0, _deprecated.default)("dispatch( 'core/edit-site' ).getNavigationPanelActiveMenu", {
|
|
373
|
+
since: '6.2',
|
|
374
|
+
version: '6.4'
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* @deprecated
|
|
379
|
+
*/
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
function isNavigationOpened() {
|
|
383
|
+
(0, _deprecated.default)("dispatch( 'core/edit-site' ).isNavigationOpened", {
|
|
384
|
+
since: '6.2',
|
|
385
|
+
version: '6.4'
|
|
386
|
+
});
|
|
387
|
+
}
|
|
397
388
|
//# sourceMappingURL=selectors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/store/selectors.js"],"names":["__unstableGetPreference","select","state","name","preferencesStore","get","isFeatureActive","featureName","since","alternative","__experimentalGetPreviewDeviceType","deviceType","getCanUserCreateMedia","coreDataStore","canUser","getReusableBlocks","isWeb","Platform","OS","getEntityRecords","per_page","getSettings","setIsInserterOpen","settings","outlineMode","focusMode","hasFixedToolbar","keepCaretInsideBlock","showIconLabels","__experimentalSetIsInserterOpened","__experimentalReusableBlocks","__experimentalPreferPatternsOnRoot","getEditedPostType","canUserCreateMedia","mediaUpload","onError","rest","wpAllowedMimeTypes","allowedMimeTypes","message","getHomeTemplateId","homeTemplateId","getCurrentEditedPost","editedPost","type","getEditedPostId","id","getPage","page","getNavigationPanelActiveMenu","navigationPanel","menu","getCurrentTemplateNavigationPanelSubMenu","templateType","templateId","template","getEntityRecord","MENU_ROOT","find","submenu","area","MENU_TEMPLATE_PARTS","templates","showOnFront","getEditedEntityRecord","show_on_front","slug","MENU_TEMPLATES_UNUSED","isNavigationOpened","isOpen","isInserterOpened","blockInserterPanel","__experimentalGetInsertionPoint","rootClientId","insertionIndex","filterValue","isListViewOpened","listViewPanel","isSaveViewOpened","saveViewPanel","getCurrentTemplateTemplateParts","templateParts","templatePartsById","reduce","newTemplateParts","part","blocks","filter","block","map","attributes","theme","templatePartId","templatePart","getEditorMode"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map } from 'lodash';\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { createRegistrySelector } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { isTemplatePart } from '@wordpress/blocks';\nimport { Platform } from '@wordpress/element';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMENU_ROOT,\n\tMENU_TEMPLATE_PARTS,\n\tMENU_TEMPLATES_UNUSED,\n\tTEMPLATE_PARTS_SUB_MENUS,\n} from '../components/navigation-sidebar/navigation-panel/constants';\nimport {\n\tgetTemplateLocation,\n\tisTemplateSuperseded,\n} from '../components/navigation-sidebar/navigation-panel/template-hierarchy';\n\n/**\n * @typedef {'template'|'template_type'} TemplateType Template type.\n */\n\n/**\n * Helper for getting a preference from the preferences store.\n *\n * This is only present so that `getSettings` doesn't need to be made a\n * registry selector.\n *\n * It's unstable because the selector needs to be exported and so part of the\n * public API to work.\n */\nexport const __unstableGetPreference = createRegistrySelector(\n\t( select ) => ( state, name ) =>\n\t\tselect( preferencesStore ).get( 'core/edit-site', name )\n);\n\n/**\n * Returns whether the given feature is enabled or not.\n *\n * @param {Object} state Global application state.\n * @param {string} featureName Feature slug.\n *\n * @return {boolean} Is active.\n */\nexport function isFeatureActive( state, featureName ) {\n\tdeprecated( `select( 'core/interface' ).isFeatureActive`, {\n\t\tsince: '6.0',\n\t\talternative: `select( 'core/preferences' ).get`,\n\t} );\n\n\treturn !! __unstableGetPreference( state, featureName );\n}\n\n/**\n * Returns the current editing canvas device type.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Device type.\n */\nexport function __experimentalGetPreviewDeviceType( state ) {\n\treturn state.deviceType;\n}\n\n/**\n * Returns whether the current user can create media or not.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} Whether the current user can create media or not.\n */\nexport const getCanUserCreateMedia = createRegistrySelector(\n\t( select ) => () => select( coreDataStore ).canUser( 'create', 'media' )\n);\n\n/**\n * Returns any available Reusable blocks.\n *\n * @param {Object} state Global application state.\n *\n * @return {Array} The available reusable blocks.\n */\nexport const getReusableBlocks = createRegistrySelector( ( select ) => () => {\n\tconst isWeb = Platform.OS === 'web';\n\treturn isWeb\n\t\t? select( coreDataStore ).getEntityRecords( 'postType', 'wp_block', {\n\t\t\t\tper_page: -1,\n\t\t } )\n\t\t: [];\n} );\n\n/**\n * Returns the settings, taking into account active features and permissions.\n *\n * @param {Object} state Global application state.\n * @param {Function} setIsInserterOpen Setter for the open state of the global inserter.\n *\n * @return {Object} Settings.\n */\nexport const getSettings = createSelector(\n\t( state, setIsInserterOpen ) => {\n\t\tconst settings = {\n\t\t\t...state.settings,\n\t\t\toutlineMode: true,\n\t\t\tfocusMode: !! __unstableGetPreference( state, 'focusMode' ),\n\t\t\thasFixedToolbar: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tshowIconLabels: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpen,\n\t\t\t__experimentalReusableBlocks: getReusableBlocks( state ),\n\t\t\t__experimentalPreferPatternsOnRoot:\n\t\t\t\t'wp_template' === getEditedPostType( state ),\n\t\t};\n\n\t\tconst canUserCreateMedia = getCanUserCreateMedia( state );\n\t\tif ( ! canUserCreateMedia ) {\n\t\t\treturn settings;\n\t\t}\n\n\t\tsettings.mediaUpload = ( { onError, ...rest } ) => {\n\t\t\tuploadMedia( {\n\t\t\t\twpAllowedMimeTypes: state.settings.allowedMimeTypes,\n\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t...rest,\n\t\t\t} );\n\t\t};\n\t\treturn settings;\n\t},\n\t( state ) => [\n\t\tgetCanUserCreateMedia( state ),\n\t\tstate.settings,\n\t\t__unstableGetPreference( state, 'focusMode' ),\n\t\t__unstableGetPreference( state, 'fixedToolbar' ),\n\t\t__unstableGetPreference( state, 'keepCaretInsideBlock' ),\n\t\t__unstableGetPreference( state, 'showIconLabels' ),\n\t\tgetReusableBlocks( state ),\n\t\tgetEditedPostType( state ),\n\t]\n);\n\n/**\n * Returns the current home template ID.\n *\n * @param {Object} state Global application state.\n *\n * @return {number?} Home template ID.\n */\nexport function getHomeTemplateId( state ) {\n\treturn state.homeTemplateId;\n}\n\nfunction getCurrentEditedPost( state ) {\n\treturn state.editedPost;\n}\n\n/**\n * Returns the current edited post type (wp_template or wp_template_part).\n *\n * @param {Object} state Global application state.\n *\n * @return {TemplateType?} Template type.\n */\nexport function getEditedPostType( state ) {\n\treturn getCurrentEditedPost( state ).type;\n}\n\n/**\n * Returns the ID of the currently edited template or template part.\n *\n * @param {Object} state Global application state.\n *\n * @return {string?} Post ID.\n */\nexport function getEditedPostId( state ) {\n\treturn getCurrentEditedPost( state ).id;\n}\n\n/**\n * Returns the current page object.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} Page.\n */\nexport function getPage( state ) {\n\treturn getCurrentEditedPost( state ).page;\n}\n\n/**\n * Returns the active menu in the navigation panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Active menu.\n */\nexport function getNavigationPanelActiveMenu( state ) {\n\treturn state.navigationPanel.menu;\n}\n\n/**\n * Returns the current template or template part's corresponding\n * navigation panel's sub menu, to be used with `openNavigationPanelToMenu`.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} The current template or template part's sub menu.\n */\nexport const getCurrentTemplateNavigationPanelSubMenu = createRegistrySelector(\n\t( select ) => ( state ) => {\n\t\tconst templateType = getEditedPostType( state );\n\t\tconst templateId = getEditedPostId( state );\n\t\tconst template = templateId\n\t\t\t? select( coreDataStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplateType,\n\t\t\t\t\ttemplateId\n\t\t\t )\n\t\t\t: null;\n\n\t\tif ( ! template ) {\n\t\t\treturn MENU_ROOT;\n\t\t}\n\n\t\tif ( 'wp_template_part' === templateType ) {\n\t\t\treturn (\n\t\t\t\tTEMPLATE_PARTS_SUB_MENUS.find(\n\t\t\t\t\t( submenu ) => submenu.area === template?.area\n\t\t\t\t)?.menu || MENU_TEMPLATE_PARTS\n\t\t\t);\n\t\t}\n\n\t\tconst templates = select( coreDataStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\t'wp_template'\n\t\t);\n\t\tconst showOnFront = select( coreDataStore ).getEditedEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t).show_on_front;\n\n\t\tif (\n\t\t\tisTemplateSuperseded(\n\t\t\t\ttemplate.slug,\n\t\t\t\tmap( templates, 'slug' ),\n\t\t\t\tshowOnFront\n\t\t\t)\n\t\t) {\n\t\t\treturn MENU_TEMPLATES_UNUSED;\n\t\t}\n\n\t\treturn getTemplateLocation( template.slug );\n\t}\n);\n\n/**\n * Returns the current opened/closed state of the navigation panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the navigation panel should be open; false if closed.\n */\nexport function isNavigationOpened( state ) {\n\treturn state.navigationPanel.isOpen;\n}\n\n/**\n * Returns the current opened/closed state of the inserter panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the inserter panel should be open; false if closed.\n */\nexport function isInserterOpened( state ) {\n\treturn !! state.blockInserterPanel;\n}\n\n/**\n * Get the insertion point for the inserter.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} The root client ID, index to insert at and starting filter value.\n */\nexport function __experimentalGetInsertionPoint( state ) {\n\tconst { rootClientId, insertionIndex, filterValue } =\n\t\tstate.blockInserterPanel;\n\treturn { rootClientId, insertionIndex, filterValue };\n}\n\n/**\n * Returns the current opened/closed state of the list view panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the list view panel should be open; false if closed.\n */\nexport function isListViewOpened( state ) {\n\treturn state.listViewPanel;\n}\n\n/**\n * Returns the current opened/closed state of the save panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the save panel should be open; false if closed.\n */\nexport function isSaveViewOpened( state ) {\n\treturn state.saveViewPanel;\n}\n\n/**\n * Returns the template parts and their blocks for the current edited template.\n *\n * @param {Object} state Global application state.\n * @return {Array} Template parts and their blocks in an array.\n */\nexport const getCurrentTemplateTemplateParts = createRegistrySelector(\n\t( select ) => ( state ) => {\n\t\tconst templateType = getEditedPostType( state );\n\t\tconst templateId = getEditedPostId( state );\n\t\tconst template = select( coreDataStore ).getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\ttemplateType,\n\t\t\ttemplateId\n\t\t);\n\n\t\tconst templateParts = select( coreDataStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\t{ per_page: -1 }\n\t\t);\n\t\tconst templatePartsById = templateParts\n\t\t\t? // Key template parts by their ID.\n\t\t\t templateParts.reduce(\n\t\t\t\t\t( newTemplateParts, part ) => ( {\n\t\t\t\t\t\t...newTemplateParts,\n\t\t\t\t\t\t[ part.id ]: part,\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t )\n\t\t\t: {};\n\n\t\treturn ( template.blocks ?? [] )\n\t\t\t.filter( ( block ) => isTemplatePart( block ) )\n\t\t\t.map( ( block ) => {\n\t\t\t\tconst {\n\t\t\t\t\tattributes: { theme, slug },\n\t\t\t\t} = block;\n\t\t\t\tconst templatePartId = `${ theme }//${ slug }`;\n\t\t\t\tconst templatePart = templatePartsById[ templatePartId ];\n\n\t\t\t\treturn {\n\t\t\t\t\ttemplatePart,\n\t\t\t\t\tblock,\n\t\t\t\t};\n\t\t\t} )\n\t\t\t.filter( ( { templatePart } ) => !! templatePart );\n\t}\n);\n\n/**\n * Returns the current editing mode.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Editing mode.\n */\nexport function getEditorMode( state ) {\n\treturn __unstableGetPreference( state, 'editorMode' );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/store/selectors.js"],"names":["__unstableGetPreference","select","state","name","preferencesStore","get","isFeatureActive","featureName","since","alternative","__experimentalGetPreviewDeviceType","deviceType","getCanUserCreateMedia","coreDataStore","canUser","getReusableBlocks","isWeb","Platform","OS","getEntityRecords","per_page","getSettings","setIsInserterOpen","settings","outlineMode","focusMode","hasFixedToolbar","keepCaretInsideBlock","showIconLabels","__experimentalSetIsInserterOpened","__experimentalReusableBlocks","__experimentalPreferPatternsOnRoot","getEditedPostType","canUserCreateMedia","mediaUpload","onError","rest","wpAllowedMimeTypes","allowedMimeTypes","message","getHomeTemplateId","version","editedPost","postType","getEditedPostId","id","getEditedPostContext","context","getPage","isInserterOpened","blockInserterPanel","__experimentalGetInsertionPoint","rootClientId","insertionIndex","filterValue","isListViewOpened","listViewPanel","isSaveViewOpened","saveViewPanel","getCurrentTemplateTemplateParts","templateType","templateId","template","getEditedEntityRecord","templateParts","templatePartsById","reduce","newTemplateParts","part","blocks","filter","block","map","attributes","theme","slug","templatePartId","templatePart","getEditorMode","__unstableGetCanvasMode","canvasMode","getCurrentTemplateNavigationPanelSubMenu","getNavigationPanelActiveMenu","isNavigationOpened"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAdA;AACA;AACA;;AAGA;AACA;AACA;;AASA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,uBAAuB,GAAG,kCACpCC,MAAF,IAAc,CAAEC,KAAF,EAASC,IAAT,KACbF,MAAM,CAAEG,kBAAF,CAAN,CAA2BC,GAA3B,CAAgC,gBAAhC,EAAkDF,IAAlD,CAFqC,CAAhC;AAKP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,SAASG,eAAT,CAA0BJ,KAA1B,EAAiCK,WAAjC,EAA+C;AACrD,2BAAa,4CAAb,EAA0D;AACzDC,IAAAA,KAAK,EAAE,KADkD;AAEzDC,IAAAA,WAAW,EAAG;AAF2C,GAA1D;AAKA,SAAO,CAAC,CAAET,uBAAuB,CAAEE,KAAF,EAASK,WAAT,CAAjC;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASG,kCAAT,CAA6CR,KAA7C,EAAqD;AAC3D,SAAOA,KAAK,CAACS,UAAb;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAMC,qBAAqB,GAAG,kCAClCX,MAAF,IAAc,MAAMA,MAAM,CAAEY,eAAF,CAAN,CAAwBC,OAAxB,CAAiC,QAAjC,EAA2C,OAA3C,CADgB,CAA9B;AAIP;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAMC,iBAAiB,GAAG,kCAA0Bd,MAAF,IAAc,MAAM;AAC5E,QAAMe,KAAK,GAAGC,kBAASC,EAAT,KAAgB,KAA9B;AACA,SAAOF,KAAK,GACTf,MAAM,CAAEY,eAAF,CAAN,CAAwBM,gBAAxB,CAA0C,UAA1C,EAAsD,UAAtD,EAAkE;AAClEC,IAAAA,QAAQ,EAAE,CAAC;AADuD,GAAlE,CADS,GAIT,EAJH;AAKA,CAPgC,CAA1B;AASP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAMC,WAAW,GAAG,qBAC1B,CAAEnB,KAAF,EAASoB,iBAAT,KAAgC;AAC/B,QAAMC,QAAQ,GAAG,EAChB,GAAGrB,KAAK,CAACqB,QADO;AAEhBC,IAAAA,WAAW,EAAE,IAFG;AAGhBC,IAAAA,SAAS,EAAE,CAAC,CAAEzB,uBAAuB,CAAEE,KAAF,EAAS,WAAT,CAHrB;AAIhBwB,IAAAA,eAAe,EAAE,CAAC,CAAE1B,uBAAuB,CAC1CE,KAD0C,EAE1C,cAF0C,CAJ3B;AAQhByB,IAAAA,oBAAoB,EAAE,CAAC,CAAE3B,uBAAuB,CAC/CE,KAD+C,EAE/C,sBAF+C,CARhC;AAYhB0B,IAAAA,cAAc,EAAE,CAAC,CAAE5B,uBAAuB,CACzCE,KADyC,EAEzC,gBAFyC,CAZ1B;AAgBhB2B,IAAAA,iCAAiC,EAAEP,iBAhBnB;AAiBhBQ,IAAAA,4BAA4B,EAAEf,iBAAiB,CAAEb,KAAF,CAjB/B;AAkBhB6B,IAAAA,kCAAkC,EACjC,kBAAkBC,iBAAiB,CAAE9B,KAAF;AAnBpB,GAAjB;AAsBA,QAAM+B,kBAAkB,GAAGrB,qBAAqB,CAAEV,KAAF,CAAhD;;AACA,MAAK,CAAE+B,kBAAP,EAA4B;AAC3B,WAAOV,QAAP;AACA;;AAEDA,EAAAA,QAAQ,CAACW,WAAT,GAAuB,QAA4B;AAAA,QAA1B;AAAEC,MAAAA,OAAF;AAAW,SAAGC;AAAd,KAA0B;AAClD,iCAAa;AACZC,MAAAA,kBAAkB,EAAEnC,KAAK,CAACqB,QAAN,CAAee,gBADvB;AAEZH,MAAAA,OAAO,EAAE;AAAA,YAAE;AAAEI,UAAAA;AAAF,SAAF;AAAA,eAAmBJ,OAAO,CAAEI,OAAF,CAA1B;AAAA,OAFG;AAGZ,SAAGH;AAHS,KAAb;AAKA,GAND;;AAOA,SAAOb,QAAP;AACA,CArCyB,EAsCxBrB,KAAF,IAAa,CACZU,qBAAqB,CAAEV,KAAF,CADT,EAEZA,KAAK,CAACqB,QAFM,EAGZvB,uBAAuB,CAAEE,KAAF,EAAS,WAAT,CAHX,EAIZF,uBAAuB,CAAEE,KAAF,EAAS,cAAT,CAJX,EAKZF,uBAAuB,CAAEE,KAAF,EAAS,sBAAT,CALX,EAMZF,uBAAuB,CAAEE,KAAF,EAAS,gBAAT,CANX,EAOZa,iBAAiB,CAAEb,KAAF,CAPL,EAQZ8B,iBAAiB,CAAE9B,KAAF,CARL,CAtCa,CAApB;AAkDP;AACA;AACA;;;;AACO,SAASsC,iBAAT,GAA6B;AACnC,2BAAY,8CAAZ,EAA4D;AAC3DhC,IAAAA,KAAK,EAAE,KADoD;AAE3DiC,IAAAA,OAAO,EAAE;AAFkD,GAA5D;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAAST,iBAAT,CAA4B9B,KAA5B,EAAoC;AAC1C,SAAOA,KAAK,CAACwC,UAAN,CAAiBC,QAAxB;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,eAAT,CAA0B1C,KAA1B,EAAkC;AACxC,SAAOA,KAAK,CAACwC,UAAN,CAAiBG,EAAxB;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,oBAAT,CAA+B5C,KAA/B,EAAuC;AAC7C,SAAOA,KAAK,CAACwC,UAAN,CAAiBK,OAAxB;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,OAAT,CAAkB9C,KAAlB,EAA0B;AAChC,SAAO;AAAE6C,IAAAA,OAAO,EAAE7C,KAAK,CAACwC,UAAN,CAAiBK;AAA5B,GAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASE,gBAAT,CAA2B/C,KAA3B,EAAmC;AACzC,SAAO,CAAC,CAAEA,KAAK,CAACgD,kBAAhB;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,+BAAT,CAA0CjD,KAA1C,EAAkD;AACxD,QAAM;AAAEkD,IAAAA,YAAF;AAAgBC,IAAAA,cAAhB;AAAgCC,IAAAA;AAAhC,MACLpD,KAAK,CAACgD,kBADP;AAEA,SAAO;AAAEE,IAAAA,YAAF;AAAgBC,IAAAA,cAAhB;AAAgCC,IAAAA;AAAhC,GAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,gBAAT,CAA2BrD,KAA3B,EAAmC;AACzC,SAAOA,KAAK,CAACsD,aAAb;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,gBAAT,CAA2BvD,KAA3B,EAAmC;AACzC,SAAOA,KAAK,CAACwD,aAAb;AACA;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAMC,+BAA+B,GAAG,kCAC5C1D,MAAF,IAAgBC,KAAF,IAAa;AAAA;;AAC1B,QAAM0D,YAAY,GAAG5B,iBAAiB,CAAE9B,KAAF,CAAtC;AACA,QAAM2D,UAAU,GAAGjB,eAAe,CAAE1C,KAAF,CAAlC;AACA,QAAM4D,QAAQ,GAAG7D,MAAM,CAAEY,eAAF,CAAN,CAAwBkD,qBAAxB,CAChB,UADgB,EAEhBH,YAFgB,EAGhBC,UAHgB,CAAjB;AAMA,QAAMG,aAAa,GAAG/D,MAAM,CAAEY,eAAF,CAAN,CAAwBM,gBAAxB,CACrB,UADqB,EAErB,kBAFqB,EAGrB;AAAEC,IAAAA,QAAQ,EAAE,CAAC;AAAb,GAHqB,CAAtB;AAKA,QAAM6C,iBAAiB,GAAGD,aAAa,GACpC;AACAA,EAAAA,aAAa,CAACE,MAAd,CACA,CAAEC,gBAAF,EAAoBC,IAApB,MAAgC,EAC/B,GAAGD,gBAD4B;AAE/B,KAAEC,IAAI,CAACvB,EAAP,GAAauB;AAFkB,GAAhC,CADA,EAKA,EALA,CAFoC,GASpC,EATH;AAWA,SAAO,qBAAEN,QAAQ,CAACO,MAAX,+DAAqB,EAArB,EACLC,MADK,CACKC,KAAF,IAAa,4BAAgBA,KAAhB,CADhB,EAELC,GAFK,CAEED,KAAF,IAAa;AAClB,UAAM;AACLE,MAAAA,UAAU,EAAE;AAAEC,QAAAA,KAAF;AAASC,QAAAA;AAAT;AADP,QAEFJ,KAFJ;AAGA,UAAMK,cAAc,GAAI,GAAGF,KAAO,KAAKC,IAAM,EAA7C;AACA,UAAME,YAAY,GAAGZ,iBAAiB,CAAEW,cAAF,CAAtC;AAEA,WAAO;AACNC,MAAAA,YADM;AAENN,MAAAA;AAFM,KAAP;AAIA,GAbK,EAcLD,MAdK,CAcG;AAAA,QAAE;AAAEO,MAAAA;AAAF,KAAF;AAAA,WAAwB,CAAC,CAAEA,YAA3B;AAAA,GAdH,CAAP;AAeA,CAzC6C,CAAxC;AA4CP;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACO,SAASC,aAAT,CAAwB5E,KAAxB,EAAgC;AACtC,SAAOF,uBAAuB,CAAEE,KAAF,EAAS,YAAT,CAA9B;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAAS6E,uBAAT,CAAkC7E,KAAlC,EAA0C;AAChD,SAAOA,KAAK,CAAC8E,UAAb;AACA;AAED;AACA;AACA;;;AACO,SAASC,wCAAT,GAAoD;AAC1D,2BACC,uEADD,EAEC;AACCzE,IAAAA,KAAK,EAAE,KADR;AAECiC,IAAAA,OAAO,EAAE;AAFV,GAFD;AAOA;AAED;AACA;AACA;;;AACO,SAASyC,4BAAT,GAAwC;AAC9C,2BAAY,2DAAZ,EAAyE;AACxE1E,IAAAA,KAAK,EAAE,KADiE;AAExEiC,IAAAA,OAAO,EAAE;AAF+D,GAAzE;AAIA;AAED;AACA;AACA;;;AACO,SAAS0C,kBAAT,GAA8B;AACpC,2BAAY,iDAAZ,EAA+D;AAC9D3E,IAAAA,KAAK,EAAE,KADuD;AAE9DiC,IAAAA,OAAO,EAAE;AAFqD,GAA/D;AAIA","sourcesContent":["/**\n * External dependencies\n */\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { createRegistrySelector } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { isTemplatePart } from '@wordpress/blocks';\nimport { Platform } from '@wordpress/element';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * @typedef {'template'|'template_type'} TemplateType Template type.\n */\n\n/**\n * Helper for getting a preference from the preferences store.\n *\n * This is only present so that `getSettings` doesn't need to be made a\n * registry selector.\n *\n * It's unstable because the selector needs to be exported and so part of the\n * public API to work.\n */\nexport const __unstableGetPreference = createRegistrySelector(\n\t( select ) => ( state, name ) =>\n\t\tselect( preferencesStore ).get( 'core/edit-site', name )\n);\n\n/**\n * Returns whether the given feature is enabled or not.\n *\n * @param {Object} state Global application state.\n * @param {string} featureName Feature slug.\n *\n * @return {boolean} Is active.\n */\nexport function isFeatureActive( state, featureName ) {\n\tdeprecated( `select( 'core/interface' ).isFeatureActive`, {\n\t\tsince: '6.0',\n\t\talternative: `select( 'core/preferences' ).get`,\n\t} );\n\n\treturn !! __unstableGetPreference( state, featureName );\n}\n\n/**\n * Returns the current editing canvas device type.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Device type.\n */\nexport function __experimentalGetPreviewDeviceType( state ) {\n\treturn state.deviceType;\n}\n\n/**\n * Returns whether the current user can create media or not.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} Whether the current user can create media or not.\n */\nexport const getCanUserCreateMedia = createRegistrySelector(\n\t( select ) => () => select( coreDataStore ).canUser( 'create', 'media' )\n);\n\n/**\n * Returns any available Reusable blocks.\n *\n * @param {Object} state Global application state.\n *\n * @return {Array} The available reusable blocks.\n */\nexport const getReusableBlocks = createRegistrySelector( ( select ) => () => {\n\tconst isWeb = Platform.OS === 'web';\n\treturn isWeb\n\t\t? select( coreDataStore ).getEntityRecords( 'postType', 'wp_block', {\n\t\t\t\tper_page: -1,\n\t\t } )\n\t\t: [];\n} );\n\n/**\n * Returns the settings, taking into account active features and permissions.\n *\n * @param {Object} state Global application state.\n * @param {Function} setIsInserterOpen Setter for the open state of the global inserter.\n *\n * @return {Object} Settings.\n */\nexport const getSettings = createSelector(\n\t( state, setIsInserterOpen ) => {\n\t\tconst settings = {\n\t\t\t...state.settings,\n\t\t\toutlineMode: true,\n\t\t\tfocusMode: !! __unstableGetPreference( state, 'focusMode' ),\n\t\t\thasFixedToolbar: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tshowIconLabels: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpen,\n\t\t\t__experimentalReusableBlocks: getReusableBlocks( state ),\n\t\t\t__experimentalPreferPatternsOnRoot:\n\t\t\t\t'wp_template' === getEditedPostType( state ),\n\t\t};\n\n\t\tconst canUserCreateMedia = getCanUserCreateMedia( state );\n\t\tif ( ! canUserCreateMedia ) {\n\t\t\treturn settings;\n\t\t}\n\n\t\tsettings.mediaUpload = ( { onError, ...rest } ) => {\n\t\t\tuploadMedia( {\n\t\t\t\twpAllowedMimeTypes: state.settings.allowedMimeTypes,\n\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t...rest,\n\t\t\t} );\n\t\t};\n\t\treturn settings;\n\t},\n\t( state ) => [\n\t\tgetCanUserCreateMedia( state ),\n\t\tstate.settings,\n\t\t__unstableGetPreference( state, 'focusMode' ),\n\t\t__unstableGetPreference( state, 'fixedToolbar' ),\n\t\t__unstableGetPreference( state, 'keepCaretInsideBlock' ),\n\t\t__unstableGetPreference( state, 'showIconLabels' ),\n\t\tgetReusableBlocks( state ),\n\t\tgetEditedPostType( state ),\n\t]\n);\n\n/**\n * @deprecated\n */\nexport function getHomeTemplateId() {\n\tdeprecated( \"select( 'core/edit-site' ).getHomeTemplateId\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n}\n\n/**\n * Returns the current edited post type (wp_template or wp_template_part).\n *\n * @param {Object} state Global application state.\n *\n * @return {TemplateType?} Template type.\n */\nexport function getEditedPostType( state ) {\n\treturn state.editedPost.postType;\n}\n\n/**\n * Returns the ID of the currently edited template or template part.\n *\n * @param {Object} state Global application state.\n *\n * @return {string?} Post ID.\n */\nexport function getEditedPostId( state ) {\n\treturn state.editedPost.id;\n}\n\n/**\n * Returns the edited post's context object.\n *\n * @deprecated\n * @param {Object} state Global application state.\n *\n * @return {Object} Page.\n */\nexport function getEditedPostContext( state ) {\n\treturn state.editedPost.context;\n}\n\n/**\n * Returns the current page object.\n *\n * @deprecated\n * @param {Object} state Global application state.\n *\n * @return {Object} Page.\n */\nexport function getPage( state ) {\n\treturn { context: state.editedPost.context };\n}\n\n/**\n * Returns the current opened/closed state of the inserter panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the inserter panel should be open; false if closed.\n */\nexport function isInserterOpened( state ) {\n\treturn !! state.blockInserterPanel;\n}\n\n/**\n * Get the insertion point for the inserter.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} The root client ID, index to insert at and starting filter value.\n */\nexport function __experimentalGetInsertionPoint( state ) {\n\tconst { rootClientId, insertionIndex, filterValue } =\n\t\tstate.blockInserterPanel;\n\treturn { rootClientId, insertionIndex, filterValue };\n}\n\n/**\n * Returns the current opened/closed state of the list view panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the list view panel should be open; false if closed.\n */\nexport function isListViewOpened( state ) {\n\treturn state.listViewPanel;\n}\n\n/**\n * Returns the current opened/closed state of the save panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the save panel should be open; false if closed.\n */\nexport function isSaveViewOpened( state ) {\n\treturn state.saveViewPanel;\n}\n\n/**\n * Returns the template parts and their blocks for the current edited template.\n *\n * @param {Object} state Global application state.\n * @return {Array} Template parts and their blocks in an array.\n */\nexport const getCurrentTemplateTemplateParts = createRegistrySelector(\n\t( select ) => ( state ) => {\n\t\tconst templateType = getEditedPostType( state );\n\t\tconst templateId = getEditedPostId( state );\n\t\tconst template = select( coreDataStore ).getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\ttemplateType,\n\t\t\ttemplateId\n\t\t);\n\n\t\tconst templateParts = select( coreDataStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\t{ per_page: -1 }\n\t\t);\n\t\tconst templatePartsById = templateParts\n\t\t\t? // Key template parts by their ID.\n\t\t\t templateParts.reduce(\n\t\t\t\t\t( newTemplateParts, part ) => ( {\n\t\t\t\t\t\t...newTemplateParts,\n\t\t\t\t\t\t[ part.id ]: part,\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t )\n\t\t\t: {};\n\n\t\treturn ( template.blocks ?? [] )\n\t\t\t.filter( ( block ) => isTemplatePart( block ) )\n\t\t\t.map( ( block ) => {\n\t\t\t\tconst {\n\t\t\t\t\tattributes: { theme, slug },\n\t\t\t\t} = block;\n\t\t\t\tconst templatePartId = `${ theme }//${ slug }`;\n\t\t\t\tconst templatePart = templatePartsById[ templatePartId ];\n\n\t\t\t\treturn {\n\t\t\t\t\ttemplatePart,\n\t\t\t\t\tblock,\n\t\t\t\t};\n\t\t\t} )\n\t\t\t.filter( ( { templatePart } ) => !! templatePart );\n\t}\n);\n\n/**\n * Returns the current editing mode.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Editing mode.\n */\nexport function getEditorMode( state ) {\n\treturn __unstableGetPreference( state, 'editorMode' );\n}\n\n/**\n * Returns the current canvas mode.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Canvas mode.\n */\nexport function __unstableGetCanvasMode( state ) {\n\treturn state.canvasMode;\n}\n\n/**\n * @deprecated\n */\nexport function getCurrentTemplateNavigationPanelSubMenu() {\n\tdeprecated(\n\t\t\"dispatch( 'core/edit-site' ).getCurrentTemplateNavigationPanelSubMenu\",\n\t\t{\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t}\n\t);\n}\n\n/**\n * @deprecated\n */\nexport function getNavigationPanelActiveMenu() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).getNavigationPanelActiveMenu\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n}\n\n/**\n * @deprecated\n */\nexport function isNavigationOpened() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).isNavigationOpened\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/add-custom-template-modal.js"],"names":["useState","useMemo","useEffect","__","sprintf","Button","Flex","FlexItem","Modal","SearchControl","TextHighlight","__experimentalText","Text","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","useDebounce","useEntityRecords","decodeEntities","TemplateActionsLoadingScreen","mapToIHasNameAndId","EMPTY_ARRAY","SuggestionListItem","suggestion","search","onSelect","entityForSuggestions","composite","baseCssClass","config","getSpecificTemplate","name","link","useDebouncedInput","input","setInput","debounced","setter","setDebounced","useSearchSuggestions","query","order","context","per_page","queryArgs","records","searchResults","hasResolved","searchHasResolved","type","slug","suggestions","setSuggestions","newSuggestions","length","recordNamePath","SuggestionList","orientation","setSearch","debouncedSearch","labels","showSearchControl","setShowSearchControl","search_items","map","not_found","AddCustomTemplateModal","onClose","isCreatingTemplate","showSearchEntities","setShowSearchEntities","hasGeneralTemplate","singular_name","title","description","templatePrefix","template","all_items"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tModal,\n\tSearchControl,\n\tTextHighlight,\n\t__experimentalText as Text,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\nimport { useDebounce } from '@wordpress/compose';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport TemplateActionsLoadingScreen from './template-actions-loading-screen';\nimport { mapToIHasNameAndId } from './utils';\n\nconst EMPTY_ARRAY = [];\n\nfunction SuggestionListItem( {\n\tsuggestion,\n\tsearch,\n\tonSelect,\n\tentityForSuggestions,\n\tcomposite,\n} ) {\n\tconst baseCssClass =\n\t\t'edit-site-custom-template-modal__suggestions_list__list-item';\n\treturn (\n\t\t<CompositeItem\n\t\t\trole=\"option\"\n\t\t\tas={ Button }\n\t\t\t{ ...composite }\n\t\t\tclassName={ baseCssClass }\n\t\t\tonClick={ () =>\n\t\t\t\tonSelect(\n\t\t\t\t\tentityForSuggestions.config.getSpecificTemplate(\n\t\t\t\t\t\tsuggestion\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<span className={ `${ baseCssClass }__title` }>\n\t\t\t\t<TextHighlight\n\t\t\t\t\ttext={ decodeEntities( suggestion.name ) }\n\t\t\t\t\thighlight={ search }\n\t\t\t\t/>\n\t\t\t</span>\n\t\t\t{ suggestion.link && (\n\t\t\t\t<span className={ `${ baseCssClass }__info` }>\n\t\t\t\t\t{ suggestion.link }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</CompositeItem>\n\t);\n}\n\nfunction useDebouncedInput() {\n\tconst [ input, setInput ] = useState( '' );\n\tconst [ debounced, setter ] = useState( '' );\n\tconst setDebounced = useDebounce( setter, 250 );\n\tuseEffect( () => {\n\t\tif ( debounced !== input ) {\n\t\t\tsetDebounced( input );\n\t\t}\n\t}, [ debounced, input ] );\n\treturn [ input, setInput, debounced ];\n}\n\nfunction useSearchSuggestions( entityForSuggestions, search ) {\n\tconst { config } = entityForSuggestions;\n\tconst query = useMemo(\n\t\t() => ( {\n\t\t\torder: 'asc',\n\t\t\tcontext: 'view',\n\t\t\tsearch,\n\t\t\tper_page: search ? 20 : 10,\n\t\t\t...config.queryArgs( search ),\n\t\t} ),\n\t\t[ search, config ]\n\t);\n\tconst { records: searchResults, hasResolved: searchHasResolved } =\n\t\tuseEntityRecords(\n\t\t\tentityForSuggestions.type,\n\t\t\tentityForSuggestions.slug,\n\t\t\tquery\n\t\t);\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) return;\n\t\tlet newSuggestions = EMPTY_ARRAY;\n\t\tif ( searchResults?.length ) {\n\t\t\tnewSuggestions = searchResults;\n\t\t\tif ( config.recordNamePath ) {\n\t\t\t\tnewSuggestions = mapToIHasNameAndId(\n\t\t\t\t\tnewSuggestions,\n\t\t\t\t\tconfig.recordNamePath\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// Update suggestions only when the query has resolved, so as to keep\n\t\t// the previous results in the UI.\n\t\tsetSuggestions( newSuggestions );\n\t}, [ searchResults, searchHasResolved ] );\n\treturn suggestions;\n}\n\nfunction SuggestionList( { entityForSuggestions, onSelect } ) {\n\tconst composite = useCompositeState( { orientation: 'vertical' } );\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst suggestions = useSearchSuggestions(\n\t\tentityForSuggestions,\n\t\tdebouncedSearch\n\t);\n\tconst { labels } = entityForSuggestions;\n\tconst [ showSearchControl, setShowSearchControl ] = useState( false );\n\tif ( ! showSearchControl && suggestions?.length > 9 ) {\n\t\tsetShowSearchControl( true );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ showSearchControl && (\n\t\t\t\t<SearchControl\n\t\t\t\t\tonChange={ setSearch }\n\t\t\t\t\tvalue={ search }\n\t\t\t\t\tlabel={ labels.search_items }\n\t\t\t\t\tplaceholder={ labels.search_items }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! suggestions?.length && (\n\t\t\t\t<Composite\n\t\t\t\t\t{ ...composite }\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__suggestions_list\"\n\t\t\t\t\taria-label={ __( 'Suggestions list' ) }\n\t\t\t\t>\n\t\t\t\t\t{ suggestions.map( ( suggestion ) => (\n\t\t\t\t\t\t<SuggestionListItem\n\t\t\t\t\t\t\tkey={ suggestion.slug }\n\t\t\t\t\t\t\tsuggestion={ suggestion }\n\t\t\t\t\t\t\tsearch={ debouncedSearch }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</Composite>\n\t\t\t) }\n\t\t\t{ debouncedSearch && ! suggestions?.length && (\n\t\t\t\t<p className=\"edit-site-custom-template-modal__no-results\">\n\t\t\t\t\t{ labels.not_found }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction AddCustomTemplateModal( {\n\tonClose,\n\tonSelect,\n\tentityForSuggestions,\n\tisCreatingTemplate,\n} ) {\n\tconst [ showSearchEntities, setShowSearchEntities ] = useState(\n\t\tentityForSuggestions.hasGeneralTemplate\n\t);\n\tconst baseCssClass = 'edit-site-custom-template-modal';\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ sprintf(\n\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t__( 'Add template: %s' ),\n\t\t\t\tentityForSuggestions.labels.singular_name\n\t\t\t) }\n\t\t\tclassName={ baseCssClass }\n\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t>\n\t\t\t{ isCreatingTemplate && <TemplateActionsLoadingScreen /> }\n\t\t\t{ ! showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select whether to create a single template for all items or a specific one.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName={ `${ baseCssClass }__contents` }\n\t\t\t\t\t\tgap=\"4\"\n\t\t\t\t\t\talign=\"initial\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} = entityForSuggestions.template;\n\t\t\t\t\t\t\t\tonSelect( {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text as=\"span\" weight={ 600 }>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.all_items }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text as=\"span\">\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For all items' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowSearchEntities( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text as=\"span\" weight={ 600 }>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.singular_name }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text as=\"span\">\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For a specific item' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'This template will be used only for the specific item chosen.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<SuggestionList\n\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</Modal>\n\t);\n}\n\nexport default AddCustomTemplateModal;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/add-custom-template-modal.js"],"names":["useState","useMemo","useEffect","__","sprintf","Button","Flex","FlexItem","Modal","SearchControl","TextHighlight","__experimentalText","Text","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","useDebounce","useEntityRecords","decodeEntities","TemplateActionsLoadingScreen","mapToIHasNameAndId","EMPTY_ARRAY","SuggestionListItem","suggestion","search","onSelect","entityForSuggestions","composite","baseCssClass","config","getSpecificTemplate","name","link","useDebouncedInput","input","setInput","debounced","setter","setDebounced","useSearchSuggestions","query","order","context","per_page","queryArgs","records","searchResults","hasResolved","searchHasResolved","type","slug","suggestions","setSuggestions","newSuggestions","length","recordNamePath","SuggestionList","orientation","setSearch","debouncedSearch","labels","showSearchControl","setShowSearchControl","search_items","map","not_found","AddCustomTemplateModal","onClose","isCreatingTemplate","showSearchEntities","setShowSearchEntities","hasGeneralTemplate","singular_name","title","description","templatePrefix","template","all_items"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,QAAT,EAAmBC,OAAnB,EAA4BC,SAA5B,QAA6C,oBAA7C;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SACCC,MADD,EAECC,IAFD,EAGCC,QAHD,EAICC,KAJD,EAKCC,aALD,EAMCC,aAND,EAOCC,kBAAkB,IAAIC,IAPvB,EAQCC,mBAAmB,IAAIC,SARxB,EASCC,2BAA2B,IAAIC,iBAThC,EAUCC,uBAAuB,IAAIC,aAV5B,QAWO,uBAXP;AAYA,SAASC,WAAT,QAA4B,oBAA5B;AACA,SAASC,gBAAT,QAAiC,sBAAjC;AACA,SAASC,cAAT,QAA+B,0BAA/B;AAEA;AACA;AACA;;AACA,OAAOC,4BAAP,MAAyC,mCAAzC;AACA,SAASC,kBAAT,QAAmC,SAAnC;AAEA,MAAMC,WAAW,GAAG,EAApB;;AAEA,SAASC,kBAAT,OAMI;AAAA,MANyB;AAC5BC,IAAAA,UAD4B;AAE5BC,IAAAA,MAF4B;AAG5BC,IAAAA,QAH4B;AAI5BC,IAAAA,oBAJ4B;AAK5BC,IAAAA;AAL4B,GAMzB;AACH,QAAMC,YAAY,GACjB,8DADD;AAEA,SACC,cAAC,aAAD;AACC,IAAA,IAAI,EAAC,QADN;AAEC,IAAA,EAAE,EAAG1B;AAFN,KAGMyB,SAHN;AAIC,IAAA,SAAS,EAAGC,YAJb;AAKC,IAAA,OAAO,EAAG,MACTH,QAAQ,CACPC,oBAAoB,CAACG,MAArB,CAA4BC,mBAA5B,CACCP,UADD,CADO;AANV,MAaC;AAAM,IAAA,SAAS,EAAI,GAAGK,YAAc;AAApC,KACC,cAAC,aAAD;AACC,IAAA,IAAI,EAAGV,cAAc,CAAEK,UAAU,CAACQ,IAAb,CADtB;AAEC,IAAA,SAAS,EAAGP;AAFb,IADD,CAbD,EAmBGD,UAAU,CAACS,IAAX,IACD;AAAM,IAAA,SAAS,EAAI,GAAGJ,YAAc;AAApC,KACGL,UAAU,CAACS,IADd,CApBF,CADD;AA2BA;;AAED,SAASC,iBAAT,GAA6B;AAC5B,QAAM,CAAEC,KAAF,EAASC,QAAT,IAAsBtC,QAAQ,CAAE,EAAF,CAApC;AACA,QAAM,CAAEuC,SAAF,EAAaC,MAAb,IAAwBxC,QAAQ,CAAE,EAAF,CAAtC;AACA,QAAMyC,YAAY,GAAGtB,WAAW,CAAEqB,MAAF,EAAU,GAAV,CAAhC;AACAtC,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKqC,SAAS,KAAKF,KAAnB,EAA2B;AAC1BI,MAAAA,YAAY,CAAEJ,KAAF,CAAZ;AACA;AACD,GAJQ,EAIN,CAAEE,SAAF,EAAaF,KAAb,CAJM,CAAT;AAKA,SAAO,CAAEA,KAAF,EAASC,QAAT,EAAmBC,SAAnB,CAAP;AACA;;AAED,SAASG,oBAAT,CAA+Bb,oBAA/B,EAAqDF,MAArD,EAA8D;AAC7D,QAAM;AAAEK,IAAAA;AAAF,MAAaH,oBAAnB;AACA,QAAMc,KAAK,GAAG1C,OAAO,CACpB,OAAQ;AACP2C,IAAAA,KAAK,EAAE,KADA;AAEPC,IAAAA,OAAO,EAAE,MAFF;AAGPlB,IAAAA,MAHO;AAIPmB,IAAAA,QAAQ,EAAEnB,MAAM,GAAG,EAAH,GAAQ,EAJjB;AAKP,OAAGK,MAAM,CAACe,SAAP,CAAkBpB,MAAlB;AALI,GAAR,CADoB,EAQpB,CAAEA,MAAF,EAAUK,MAAV,CARoB,CAArB;AAUA,QAAM;AAAEgB,IAAAA,OAAO,EAAEC,aAAX;AAA0BC,IAAAA,WAAW,EAAEC;AAAvC,MACL/B,gBAAgB,CACfS,oBAAoB,CAACuB,IADN,EAEfvB,oBAAoB,CAACwB,IAFN,EAGfV,KAHe,CADjB;AAMA,QAAM,CAAEW,WAAF,EAAeC,cAAf,IAAkCvD,QAAQ,CAAEwB,WAAF,CAAhD;AACAtB,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAEiD,iBAAP,EAA2B;AAC3B,QAAIK,cAAc,GAAGhC,WAArB;;AACA,QAAKyB,aAAL,aAAKA,aAAL,eAAKA,aAAa,CAAEQ,MAApB,EAA6B;AAC5BD,MAAAA,cAAc,GAAGP,aAAjB;;AACA,UAAKjB,MAAM,CAAC0B,cAAZ,EAA6B;AAC5BF,QAAAA,cAAc,GAAGjC,kBAAkB,CAClCiC,cADkC,EAElCxB,MAAM,CAAC0B,cAF2B,CAAnC;AAIA;AACD,KAXe,CAYhB;AACA;;;AACAH,IAAAA,cAAc,CAAEC,cAAF,CAAd;AACA,GAfQ,EAeN,CAAEP,aAAF,EAAiBE,iBAAjB,CAfM,CAAT;AAgBA,SAAOG,WAAP;AACA;;AAED,SAASK,cAAT,QAA8D;AAAA,MAArC;AAAE9B,IAAAA,oBAAF;AAAwBD,IAAAA;AAAxB,GAAqC;AAC7D,QAAME,SAAS,GAAGd,iBAAiB,CAAE;AAAE4C,IAAAA,WAAW,EAAE;AAAf,GAAF,CAAnC;AACA,QAAM,CAAEjC,MAAF,EAAUkC,SAAV,EAAqBC,eAArB,IAAyC1B,iBAAiB,EAAhE;AACA,QAAMkB,WAAW,GAAGZ,oBAAoB,CACvCb,oBADuC,EAEvCiC,eAFuC,CAAxC;AAIA,QAAM;AAAEC,IAAAA;AAAF,MAAalC,oBAAnB;AACA,QAAM,CAAEmC,iBAAF,EAAqBC,oBAArB,IAA8CjE,QAAQ,CAAE,KAAF,CAA5D;;AACA,MAAK,CAAEgE,iBAAF,IAAuB,CAAAV,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEG,MAAb,IAAsB,CAAlD,EAAsD;AACrDQ,IAAAA,oBAAoB,CAAE,IAAF,CAApB;AACA;;AACD,SACC,8BACGD,iBAAiB,IAClB,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,QAAQ,EAAGH,SAFZ;AAGC,IAAA,KAAK,EAAGlC,MAHT;AAIC,IAAA,KAAK,EAAGoC,MAAM,CAACG,YAJhB;AAKC,IAAA,WAAW,EAAGH,MAAM,CAACG;AALtB,IAFF,EAUG,CAAC,EAAEZ,WAAF,aAAEA,WAAF,eAAEA,WAAW,CAAEG,MAAf,CAAD,IACD,cAAC,SAAD,eACM3B,SADN;AAEC,IAAA,IAAI,EAAC,SAFN;AAGC,IAAA,SAAS,EAAC,mDAHX;AAIC,kBAAa3B,EAAE,CAAE,kBAAF;AAJhB,MAMGmD,WAAW,CAACa,GAAZ,CAAmBzC,UAAF,IAClB,cAAC,kBAAD;AACC,IAAA,GAAG,EAAGA,UAAU,CAAC2B,IADlB;AAEC,IAAA,UAAU,EAAG3B,UAFd;AAGC,IAAA,MAAM,EAAGoC,eAHV;AAIC,IAAA,QAAQ,EAAGlC,QAJZ;AAKC,IAAA,oBAAoB,EAAGC,oBALxB;AAMC,IAAA,SAAS,EAAGC;AANb,IADC,CANH,CAXF,EA6BGgC,eAAe,IAAI,EAAER,WAAF,aAAEA,WAAF,eAAEA,WAAW,CAAEG,MAAf,CAAnB,IACD;AAAG,IAAA,SAAS,EAAC;AAAb,KACGM,MAAM,CAACK,SADV,CA9BF,CADD;AAqCA;;AAED,SAASC,sBAAT,QAKI;AAAA,MAL6B;AAChCC,IAAAA,OADgC;AAEhC1C,IAAAA,QAFgC;AAGhCC,IAAAA,oBAHgC;AAIhC0C,IAAAA;AAJgC,GAK7B;AACH,QAAM,CAAEC,kBAAF,EAAsBC,qBAAtB,IAAgDzE,QAAQ,CAC7D6B,oBAAoB,CAAC6C,kBADwC,CAA9D;AAGA,QAAM3C,YAAY,GAAG,iCAArB;AACA,SACC,cAAC,KAAD;AACC,IAAA,KAAK,EAAG3B,OAAO,EACd;AACAD,IAAAA,EAAE,CAAE,kBAAF,CAFY,EAGd0B,oBAAoB,CAACkC,MAArB,CAA4BY,aAHd,CADhB;AAMC,IAAA,SAAS,EAAG5C,YANb;AAOC,IAAA,UAAU,EAAG5B,EAAE,CAAE,OAAF,CAPhB;AAQC,IAAA,cAAc,EAAGmE;AARlB,KAUGC,kBAAkB,IAAI,cAAC,4BAAD,OAVzB,EAWG,CAAEC,kBAAF,IACD,8BACC,yBACGrE,EAAE,CACH,6EADG,CADL,CADD,EAMC,cAAC,IAAD;AACC,IAAA,SAAS,EAAI,GAAG4B,YAAc,YAD/B;AAEC,IAAA,GAAG,EAAC,GAFL;AAGC,IAAA,KAAK,EAAC;AAHP,KAKC,cAAC,QAAD;AACC,IAAA,OAAO,MADR;AAEC,IAAA,EAAE,EAAG1B,MAFN;AAGC,IAAA,OAAO,EAAG,MAAM;AACf,YAAM;AACLgD,QAAAA,IADK;AAELuB,QAAAA,KAFK;AAGLC,QAAAA,WAHK;AAILC,QAAAA;AAJK,UAKFjD,oBAAoB,CAACkD,QALzB;AAMAnD,MAAAA,QAAQ,CAAE;AACTyB,QAAAA,IADS;AAETuB,QAAAA,KAFS;AAGTC,QAAAA,WAHS;AAITC,QAAAA;AAJS,OAAF,CAAR;AAMA;AAhBF,KAkBC,cAAC,IAAD;AAAM,IAAA,EAAE,EAAC,MAAT;AAAgB,IAAA,MAAM,EAAG;AAAzB,KACGjD,oBAAoB,CAACkC,MAArB,CAA4BiB,SAD/B,CAlBD,EAqBC,cAAC,IAAD;AAAM,IAAA,EAAE,EAAC;AAAT,KAEE;AACA7E,EAAAA,EAAE,CAAE,eAAF,CAHJ,CArBD,CALD,EAiCC,cAAC,QAAD;AACC,IAAA,OAAO,MADR;AAEC,IAAA,EAAE,EAAGE,MAFN;AAGC,IAAA,OAAO,EAAG,MAAM;AACfoE,MAAAA,qBAAqB,CAAE,IAAF,CAArB;AACA;AALF,KAOC,cAAC,IAAD;AAAM,IAAA,EAAE,EAAC,MAAT;AAAgB,IAAA,MAAM,EAAG;AAAzB,KACG5C,oBAAoB,CAACkC,MAArB,CAA4BY,aAD/B,CAPD,EAUC,cAAC,IAAD;AAAM,IAAA,EAAE,EAAC;AAAT,KAEE;AACAxE,EAAAA,EAAE,CAAE,qBAAF,CAHJ,CAVD,CAjCD,CAND,CAZF,EAuEGqE,kBAAkB,IACnB,8BACC,yBACGrE,EAAE,CACH,+DADG,CADL,CADD,EAMC,cAAC,cAAD;AACC,IAAA,oBAAoB,EAAG0B,oBADxB;AAEC,IAAA,QAAQ,EAAGD;AAFZ,IAND,CAxEF,CADD;AAuFA;;AAED,eAAeyC,sBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tModal,\n\tSearchControl,\n\tTextHighlight,\n\t__experimentalText as Text,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\nimport { useDebounce } from '@wordpress/compose';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport TemplateActionsLoadingScreen from './template-actions-loading-screen';\nimport { mapToIHasNameAndId } from './utils';\n\nconst EMPTY_ARRAY = [];\n\nfunction SuggestionListItem( {\n\tsuggestion,\n\tsearch,\n\tonSelect,\n\tentityForSuggestions,\n\tcomposite,\n} ) {\n\tconst baseCssClass =\n\t\t'edit-site-custom-template-modal__suggestions_list__list-item';\n\treturn (\n\t\t<CompositeItem\n\t\t\trole=\"option\"\n\t\t\tas={ Button }\n\t\t\t{ ...composite }\n\t\t\tclassName={ baseCssClass }\n\t\t\tonClick={ () =>\n\t\t\t\tonSelect(\n\t\t\t\t\tentityForSuggestions.config.getSpecificTemplate(\n\t\t\t\t\t\tsuggestion\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<span className={ `${ baseCssClass }__title` }>\n\t\t\t\t<TextHighlight\n\t\t\t\t\ttext={ decodeEntities( suggestion.name ) }\n\t\t\t\t\thighlight={ search }\n\t\t\t\t/>\n\t\t\t</span>\n\t\t\t{ suggestion.link && (\n\t\t\t\t<span className={ `${ baseCssClass }__info` }>\n\t\t\t\t\t{ suggestion.link }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</CompositeItem>\n\t);\n}\n\nfunction useDebouncedInput() {\n\tconst [ input, setInput ] = useState( '' );\n\tconst [ debounced, setter ] = useState( '' );\n\tconst setDebounced = useDebounce( setter, 250 );\n\tuseEffect( () => {\n\t\tif ( debounced !== input ) {\n\t\t\tsetDebounced( input );\n\t\t}\n\t}, [ debounced, input ] );\n\treturn [ input, setInput, debounced ];\n}\n\nfunction useSearchSuggestions( entityForSuggestions, search ) {\n\tconst { config } = entityForSuggestions;\n\tconst query = useMemo(\n\t\t() => ( {\n\t\t\torder: 'asc',\n\t\t\tcontext: 'view',\n\t\t\tsearch,\n\t\t\tper_page: search ? 20 : 10,\n\t\t\t...config.queryArgs( search ),\n\t\t} ),\n\t\t[ search, config ]\n\t);\n\tconst { records: searchResults, hasResolved: searchHasResolved } =\n\t\tuseEntityRecords(\n\t\t\tentityForSuggestions.type,\n\t\t\tentityForSuggestions.slug,\n\t\t\tquery\n\t\t);\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) return;\n\t\tlet newSuggestions = EMPTY_ARRAY;\n\t\tif ( searchResults?.length ) {\n\t\t\tnewSuggestions = searchResults;\n\t\t\tif ( config.recordNamePath ) {\n\t\t\t\tnewSuggestions = mapToIHasNameAndId(\n\t\t\t\t\tnewSuggestions,\n\t\t\t\t\tconfig.recordNamePath\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// Update suggestions only when the query has resolved, so as to keep\n\t\t// the previous results in the UI.\n\t\tsetSuggestions( newSuggestions );\n\t}, [ searchResults, searchHasResolved ] );\n\treturn suggestions;\n}\n\nfunction SuggestionList( { entityForSuggestions, onSelect } ) {\n\tconst composite = useCompositeState( { orientation: 'vertical' } );\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst suggestions = useSearchSuggestions(\n\t\tentityForSuggestions,\n\t\tdebouncedSearch\n\t);\n\tconst { labels } = entityForSuggestions;\n\tconst [ showSearchControl, setShowSearchControl ] = useState( false );\n\tif ( ! showSearchControl && suggestions?.length > 9 ) {\n\t\tsetShowSearchControl( true );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ showSearchControl && (\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearch }\n\t\t\t\t\tvalue={ search }\n\t\t\t\t\tlabel={ labels.search_items }\n\t\t\t\t\tplaceholder={ labels.search_items }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! suggestions?.length && (\n\t\t\t\t<Composite\n\t\t\t\t\t{ ...composite }\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__suggestions_list\"\n\t\t\t\t\taria-label={ __( 'Suggestions list' ) }\n\t\t\t\t>\n\t\t\t\t\t{ suggestions.map( ( suggestion ) => (\n\t\t\t\t\t\t<SuggestionListItem\n\t\t\t\t\t\t\tkey={ suggestion.slug }\n\t\t\t\t\t\t\tsuggestion={ suggestion }\n\t\t\t\t\t\t\tsearch={ debouncedSearch }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</Composite>\n\t\t\t) }\n\t\t\t{ debouncedSearch && ! suggestions?.length && (\n\t\t\t\t<p className=\"edit-site-custom-template-modal__no-results\">\n\t\t\t\t\t{ labels.not_found }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction AddCustomTemplateModal( {\n\tonClose,\n\tonSelect,\n\tentityForSuggestions,\n\tisCreatingTemplate,\n} ) {\n\tconst [ showSearchEntities, setShowSearchEntities ] = useState(\n\t\tentityForSuggestions.hasGeneralTemplate\n\t);\n\tconst baseCssClass = 'edit-site-custom-template-modal';\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ sprintf(\n\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t__( 'Add template: %s' ),\n\t\t\t\tentityForSuggestions.labels.singular_name\n\t\t\t) }\n\t\t\tclassName={ baseCssClass }\n\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t>\n\t\t\t{ isCreatingTemplate && <TemplateActionsLoadingScreen /> }\n\t\t\t{ ! showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select whether to create a single template for all items or a specific one.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName={ `${ baseCssClass }__contents` }\n\t\t\t\t\t\tgap=\"4\"\n\t\t\t\t\t\talign=\"initial\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} = entityForSuggestions.template;\n\t\t\t\t\t\t\t\tonSelect( {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text as=\"span\" weight={ 600 }>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.all_items }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text as=\"span\">\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For all items' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowSearchEntities( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text as=\"span\" weight={ 600 }>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.singular_name }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text as=\"span\">\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For a specific item' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'This template will be used only for the specific item chosen.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<SuggestionList\n\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</Modal>\n\t);\n}\n\nexport default AddCustomTemplateModal;\n"]}
|