@wordpress/edit-site 3.0.8 → 3.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/add-new-template/index.js +49 -0
- package/build/components/add-new-template/index.js.map +1 -0
- package/build/components/add-new-template/new-template-part.js +95 -0
- package/build/components/add-new-template/new-template-part.js.map +1 -0
- package/build/components/add-new-template/new-template.js +133 -0
- package/build/components/add-new-template/new-template.js.map +1 -0
- package/build/components/block-editor/index.js +3 -1
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/create-template-part-modal/index.js +115 -0
- package/build/components/create-template-part-modal/index.js.map +1 -0
- package/build/components/editor/index.js +20 -16
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/color-palette-panel.js +29 -6
- package/build/components/global-styles/color-palette-panel.js.map +1 -1
- package/build/components/global-styles/global-styles-provider.js +9 -47
- package/build/components/global-styles/global-styles-provider.js.map +1 -1
- package/build/components/global-styles/gradients-palette-panel.js +56 -0
- package/build/components/global-styles/gradients-palette-panel.js.map +1 -0
- package/build/components/global-styles/hooks.js +29 -27
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/palette.js +11 -5
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/screen-background-color.js +2 -1
- package/build/components/global-styles/screen-background-color.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +9 -1
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-color-palette.js +23 -3
- package/build/components/global-styles/screen-color-palette.js.map +1 -1
- package/build/components/global-styles/screen-link-color.js +2 -1
- package/build/components/global-styles/screen-link-color.js.map +1 -1
- package/build/components/global-styles/screen-text-color.js +2 -1
- package/build/components/global-styles/screen-text-color.js.map +1 -1
- package/build/components/global-styles/screen-typography-element.js +54 -0
- package/build/components/global-styles/screen-typography-element.js.map +1 -0
- package/build/components/global-styles/screen-typography.js +74 -6
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +28 -8
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/ui.js +12 -0
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +2 -2
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +1 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/header/index.js +1 -5
- package/build/components/header/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +26 -0
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/list/actions/index.js +104 -0
- package/build/components/list/actions/index.js.map +1 -0
- package/build/components/list/actions/rename-menu-item.js +112 -0
- package/build/components/list/actions/rename-menu-item.js.map +1 -0
- package/build/components/list/added-by.js +180 -0
- package/build/components/list/added-by.js.map +1 -0
- package/build/components/list/header.js +50 -0
- package/build/components/list/header.js.map +1 -0
- package/build/components/list/index.js +102 -0
- package/build/components/list/index.js.map +1 -0
- package/build/components/list/table.js +114 -0
- package/build/components/list/table.js.map +1 -0
- package/build/components/list/use-register-shortcuts.js +52 -0
- package/build/components/list/use-register-shortcuts.js.map +1 -0
- package/build/components/navigation-sidebar/index.js +26 -10
- package/build/components/navigation-sidebar/index.js.map +1 -1
- package/build/components/navigation-sidebar/navigation-panel/index.js +42 -44
- package/build/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
- package/build/components/navigation-sidebar/navigation-toggle/index.js +5 -17
- package/build/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
- package/build/components/template-details/index.js +3 -2
- package/build/components/template-details/index.js.map +1 -1
- package/build/components/template-part-converter/convert-to-template-part.js +20 -84
- package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build/components/welcome-guide/editor.js +58 -0
- package/build/components/welcome-guide/editor.js.map +1 -0
- package/build/components/welcome-guide/image.js +27 -0
- package/build/components/welcome-guide/image.js.map +1 -0
- package/build/components/welcome-guide/index.js +49 -0
- package/build/components/welcome-guide/index.js.map +1 -0
- package/build/components/welcome-guide/styles.js +83 -0
- package/build/components/welcome-guide/styles.js.map +1 -0
- package/build/index.js +36 -6
- package/build/index.js.map +1 -1
- package/build/plugins/index.js +4 -2
- package/build/plugins/index.js.map +1 -1
- package/build/plugins/welcome-guide-menu-item.js +39 -0
- package/build/plugins/welcome-guide-menu-item.js.map +1 -0
- package/build/store/actions.js +50 -24
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +4 -1
- package/build/store/defaults.js.map +1 -1
- package/build/store/selectors.js +25 -5
- package/build/store/selectors.js.map +1 -1
- package/build/utils/is-template-removable.js +21 -0
- package/build/utils/is-template-removable.js.map +1 -0
- package/build-module/components/add-new-template/index.js +36 -0
- package/build-module/components/add-new-template/index.js.map +1 -0
- package/build-module/components/add-new-template/new-template-part.js +79 -0
- package/build-module/components/add-new-template/new-template-part.js.map +1 -0
- package/build-module/components/add-new-template/new-template.js +114 -0
- package/build-module/components/add-new-template/new-template.js.map +1 -0
- package/build-module/components/block-editor/index.js +2 -1
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/create-template-part-modal/index.js +102 -0
- package/build-module/components/create-template-part-modal/index.js.map +1 -0
- package/build-module/components/editor/index.js +19 -17
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/color-palette-panel.js +29 -7
- package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/global-styles-provider.js +10 -43
- package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
- package/build-module/components/global-styles/gradients-palette-panel.js +46 -0
- package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -0
- package/build-module/components/global-styles/hooks.js +30 -28
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/palette.js +12 -5
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/screen-background-color.js +2 -1
- package/build-module/components/global-styles/screen-background-color.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +7 -1
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-color-palette.js +22 -3
- package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
- package/build-module/components/global-styles/screen-link-color.js +2 -1
- package/build-module/components/global-styles/screen-link-color.js.map +1 -1
- package/build-module/components/global-styles/screen-text-color.js +2 -1
- package/build-module/components/global-styles/screen-text-color.js.map +1 -1
- package/build-module/components/global-styles/screen-typography-element.js +41 -0
- package/build-module/components/global-styles/screen-typography-element.js.map +1 -0
- package/build-module/components/global-styles/screen-typography.js +70 -6
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +28 -8
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/ui.js +11 -0
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +2 -2
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +1 -1
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/header/index.js +1 -3
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +26 -0
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/list/actions/index.js +85 -0
- package/build-module/components/list/actions/index.js.map +1 -0
- package/build-module/components/list/actions/rename-menu-item.js +101 -0
- package/build-module/components/list/actions/rename-menu-item.js.map +1 -0
- package/build-module/components/list/added-by.js +166 -0
- package/build-module/components/list/added-by.js.map +1 -0
- package/build-module/components/list/header.js +37 -0
- package/build-module/components/list/header.js.map +1 -0
- package/build-module/components/list/index.js +81 -0
- package/build-module/components/list/index.js.map +1 -0
- package/build-module/components/list/table.js +98 -0
- package/build-module/components/list/table.js.map +1 -0
- package/build-module/components/list/use-register-shortcuts.js +41 -0
- package/build-module/components/list/use-register-shortcuts.js.map +1 -0
- package/build-module/components/navigation-sidebar/index.js +26 -10
- package/build-module/components/navigation-sidebar/index.js.map +1 -1
- package/build-module/components/navigation-sidebar/navigation-panel/index.js +41 -44
- package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
- package/build-module/components/navigation-sidebar/navigation-toggle/index.js +6 -18
- package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
- package/build-module/components/template-details/index.js +3 -2
- package/build-module/components/template-details/index.js.map +1 -1
- package/build-module/components/template-part-converter/convert-to-template-part.js +20 -84
- package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build-module/components/welcome-guide/editor.js +45 -0
- package/build-module/components/welcome-guide/editor.js.map +1 -0
- package/build-module/components/welcome-guide/image.js +19 -0
- package/build-module/components/welcome-guide/image.js.map +1 -0
- package/build-module/components/welcome-guide/index.js +35 -0
- package/build-module/components/welcome-guide/index.js.map +1 -0
- package/build-module/components/welcome-guide/styles.js +69 -0
- package/build-module/components/welcome-guide/styles.js.map +1 -0
- package/build-module/index.js +28 -3
- package/build-module/index.js.map +1 -1
- package/build-module/plugins/index.js +3 -2
- package/build-module/plugins/index.js.map +1 -1
- package/build-module/plugins/welcome-guide-menu-item.js +27 -0
- package/build-module/plugins/welcome-guide-menu-item.js.map +1 -0
- package/build-module/store/actions.js +51 -25
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +4 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/selectors.js +21 -3
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/is-template-removable.js +14 -0
- package/build-module/utils/is-template-removable.js.map +1 -0
- package/build-style/style-rtl.css +468 -33
- package/build-style/style.css +468 -33
- package/package.json +10 -8
- package/src/components/add-new-template/index.js +30 -0
- package/src/components/add-new-template/new-template-part.js +81 -0
- package/src/components/add-new-template/new-template.js +136 -0
- package/src/components/add-new-template/style.scss +11 -0
- package/src/components/block-editor/index.js +2 -0
- package/src/components/create-template-part-modal/index.js +132 -0
- package/src/components/{template-part-converter → create-template-part-modal}/style.scss +9 -9
- package/src/components/editor/index.js +22 -15
- package/src/components/editor/style.scss +8 -0
- package/src/components/global-styles/color-palette-panel.js +64 -7
- package/src/components/global-styles/global-styles-provider.js +7 -36
- package/src/components/global-styles/gradients-palette-panel.js +79 -0
- package/src/components/global-styles/hooks.js +59 -27
- package/src/components/global-styles/palette.js +30 -10
- package/src/components/global-styles/screen-background-color.js +1 -0
- package/src/components/global-styles/screen-block-list.js +11 -1
- package/src/components/global-styles/screen-color-palette.js +30 -3
- package/src/components/global-styles/screen-link-color.js +1 -0
- package/src/components/global-styles/screen-text-color.js +1 -0
- package/src/components/global-styles/screen-typography-element.js +39 -0
- package/src/components/global-styles/screen-typography.js +84 -3
- package/src/components/global-styles/style.scss +33 -0
- package/src/components/global-styles/test/use-global-styles-output.js +3 -3
- package/src/components/global-styles/test/utils.js +1 -1
- package/src/components/global-styles/typography-panel.js +37 -7
- package/src/components/global-styles/ui.js +9 -0
- package/src/components/global-styles/use-global-styles-output.js +2 -2
- package/src/components/global-styles/utils.js +1 -1
- package/src/components/header/index.js +0 -6
- package/src/components/keyboard-shortcuts/index.js +32 -0
- package/src/components/list/actions/index.js +95 -0
- package/src/components/list/actions/rename-menu-item.js +134 -0
- package/src/components/list/added-by.js +179 -0
- package/src/components/list/header.js +34 -0
- package/src/components/list/index.js +96 -0
- package/src/components/list/style.scss +208 -0
- package/src/components/list/table.js +121 -0
- package/src/components/list/use-register-shortcuts.js +45 -0
- package/src/components/navigation-sidebar/index.js +24 -8
- package/src/components/navigation-sidebar/navigation-panel/index.js +57 -51
- package/src/components/navigation-sidebar/navigation-panel/style.scss +4 -2
- package/src/components/navigation-sidebar/navigation-toggle/index.js +24 -36
- package/src/components/navigation-sidebar/navigation-toggle/test/index.js +2 -0
- package/src/components/sidebar/style.scss +2 -1
- package/src/components/template-details/index.js +3 -2
- package/src/components/template-part-converter/convert-to-template-part.js +20 -140
- package/src/components/welcome-guide/editor.js +63 -0
- package/src/components/welcome-guide/image.js +11 -0
- package/src/components/welcome-guide/index.js +33 -0
- package/src/components/welcome-guide/style.scss +37 -0
- package/src/components/welcome-guide/styles.js +116 -0
- package/src/index.js +31 -3
- package/src/plugins/index.js +3 -1
- package/src/plugins/welcome-guide-menu-item.js +35 -0
- package/src/store/actions.js +85 -35
- package/src/store/defaults.js +4 -1
- package/src/store/selectors.js +22 -4
- package/src/store/test/actions.js +0 -30
- package/src/store/test/selectors.js +24 -0
- package/src/style.scss +9 -6
- package/src/utils/is-template-removable.js +13 -0
- package/build/components/header/navigation-link/index.js +0 -87
- package/build/components/header/navigation-link/index.js.map +0 -1
- package/build-module/components/header/navigation-link/index.js +0 -74
- package/build-module/components/header/navigation-link/index.js.map +0 -1
- package/src/components/header/navigation-link/index.js +0 -71
- package/src/components/header/navigation-link/style.scss +0 -69
|
@@ -3,27 +3,43 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
|
+
import { useEffect } from '@wordpress/element';
|
|
6
7
|
import { createSlotFill } from '@wordpress/components';
|
|
7
|
-
import {
|
|
8
|
+
import { useViewportMatch } from '@wordpress/compose';
|
|
9
|
+
import { useDispatch } from '@wordpress/data';
|
|
8
10
|
/**
|
|
9
11
|
* Internal dependencies
|
|
10
12
|
*/
|
|
11
13
|
|
|
14
|
+
import { store as editSiteStore } from '../../store';
|
|
12
15
|
import NavigationPanel from './navigation-panel';
|
|
13
16
|
import NavigationToggle from './navigation-toggle';
|
|
14
|
-
import { store as editSiteStore } from '../../store';
|
|
15
17
|
export const {
|
|
16
18
|
Fill: NavigationPanelPreviewFill,
|
|
17
19
|
Slot: NavigationPanelPreviewSlot
|
|
18
20
|
} = createSlotFill('EditSiteNavigationPanelPreview');
|
|
19
|
-
export default function NavigationSidebar() {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
export default function NavigationSidebar(_ref) {
|
|
22
|
+
let {
|
|
23
|
+
isDefaultOpen = false,
|
|
24
|
+
activeTemplateType
|
|
25
|
+
} = _ref;
|
|
26
|
+
const isDesktopViewport = useViewportMatch('medium');
|
|
27
|
+
const {
|
|
28
|
+
setIsNavigationPanelOpened
|
|
29
|
+
} = useDispatch(editSiteStore);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
// When transitioning to desktop open the navigation if `isDefaultOpen` is true.
|
|
32
|
+
if (isDefaultOpen && isDesktopViewport) {
|
|
33
|
+
setIsNavigationPanelOpened(true);
|
|
34
|
+
} // When transitioning to mobile/tablet, close the navigation.
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
if (!isDesktopViewport) {
|
|
38
|
+
setIsNavigationPanelOpened(false);
|
|
39
|
+
}
|
|
40
|
+
}, [isDefaultOpen, isDesktopViewport, setIsNavigationPanelOpened]);
|
|
41
|
+
return createElement(Fragment, null, createElement(NavigationToggle, null), createElement(NavigationPanel, {
|
|
42
|
+
activeItem: activeTemplateType
|
|
27
43
|
}), createElement(NavigationPanelPreviewSlot, null));
|
|
28
44
|
}
|
|
29
45
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/index.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/index.js"],"names":["useEffect","createSlotFill","useViewportMatch","useDispatch","store","editSiteStore","NavigationPanel","NavigationToggle","Fill","NavigationPanelPreviewFill","Slot","NavigationPanelPreviewSlot","NavigationSidebar","isDefaultOpen","activeTemplateType","isDesktopViewport","setIsNavigationPanelOpened"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,cAAT,QAA+B,uBAA/B;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,aAAvC;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AAEA,OAAO,MAAM;AACZC,EAAAA,IAAI,EAAEC,0BADM;AAEZC,EAAAA,IAAI,EAAEC;AAFM,IAGTV,cAAc,CAAE,gCAAF,CAHX;AAKP,eAAe,SAASW,iBAAT,OAGX;AAAA,MAHuC;AAC1CC,IAAAA,aAAa,GAAG,KAD0B;AAE1CC,IAAAA;AAF0C,GAGvC;AACH,QAAMC,iBAAiB,GAAGb,gBAAgB,CAAE,QAAF,CAA1C;AACA,QAAM;AAAEc,IAAAA;AAAF,MAAiCb,WAAW,CAAEE,aAAF,CAAlD;AAEAL,EAAAA,SAAS,CAAE,MAAM;AAChB;AACA,QAAKa,aAAa,IAAIE,iBAAtB,EAA0C;AACzCC,MAAAA,0BAA0B,CAAE,IAAF,CAA1B;AACA,KAJe,CAMhB;;;AACA,QAAK,CAAED,iBAAP,EAA2B;AAC1BC,MAAAA,0BAA0B,CAAE,KAAF,CAA1B;AACA;AACD,GAVQ,EAUN,CAAEH,aAAF,EAAiBE,iBAAjB,EAAoCC,0BAApC,CAVM,CAAT;AAYA,SACC,8BACC,cAAC,gBAAD,OADD,EAEC,cAAC,eAAD;AAAiB,IAAA,UAAU,EAAGF;AAA9B,IAFD,EAGC,cAAC,0BAAD,OAHD,CADD;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { createSlotFill } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport NavigationPanel from './navigation-panel';\nimport NavigationToggle from './navigation-toggle';\n\nexport const {\n\tFill: NavigationPanelPreviewFill,\n\tSlot: NavigationPanelPreviewSlot,\n} = createSlotFill( 'EditSiteNavigationPanelPreview' );\n\nexport default function NavigationSidebar( {\n\tisDefaultOpen = false,\n\tactiveTemplateType,\n} ) {\n\tconst isDesktopViewport = useViewportMatch( 'medium' );\n\tconst { setIsNavigationPanelOpened } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\t// When transitioning to desktop open the navigation if `isDefaultOpen` is true.\n\t\tif ( isDefaultOpen && isDesktopViewport ) {\n\t\t\tsetIsNavigationPanelOpened( true );\n\t\t}\n\n\t\t// When transitioning to mobile/tablet, close the navigation.\n\t\tif ( ! isDesktopViewport ) {\n\t\t\tsetIsNavigationPanelOpened( false );\n\t\t}\n\t}, [ isDefaultOpen, isDesktopViewport, setIsNavigationPanelOpened ] );\n\n\treturn (\n\t\t<>\n\t\t\t<NavigationToggle />\n\t\t\t<NavigationPanel activeItem={ activeTemplateType } />\n\t\t\t<NavigationPanelPreviewSlot />\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -8,78 +8,51 @@ import classnames from 'classnames';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { __experimentalNavigation as Navigation, __experimentalNavigationBackButton as NavigationBackButton } from '@wordpress/components';
|
|
11
|
+
import { __experimentalNavigation as Navigation, __experimentalNavigationBackButton as NavigationBackButton, __experimentalNavigationGroup as NavigationGroup, __experimentalNavigationItem as NavigationItem, __experimentalNavigationMenu as NavigationMenu } from '@wordpress/components';
|
|
12
12
|
import { store as coreDataStore } from '@wordpress/core-data';
|
|
13
13
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
14
14
|
import { useEffect, useRef } from '@wordpress/element';
|
|
15
15
|
import { __ } from '@wordpress/i18n';
|
|
16
16
|
import { ESCAPE } from '@wordpress/keycodes';
|
|
17
17
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
18
|
+
import { addQueryArgs } from '@wordpress/url';
|
|
19
|
+
import { home as siteIcon, layout as templateIcon, symbolFilled as templatePartIcon } from '@wordpress/icons';
|
|
18
20
|
/**
|
|
19
21
|
* Internal dependencies
|
|
20
22
|
*/
|
|
21
23
|
|
|
22
|
-
import SiteMenu from './menus';
|
|
23
24
|
import MainDashboardButton from '../../main-dashboard-button';
|
|
24
25
|
import { store as editSiteStore } from '../../../store';
|
|
25
|
-
|
|
26
|
+
const SITE_EDITOR_KEY = 'site-editor';
|
|
26
27
|
|
|
27
28
|
const NavigationPanel = _ref => {
|
|
28
29
|
let {
|
|
29
|
-
|
|
30
|
+
activeItem = SITE_EDITOR_KEY
|
|
30
31
|
} = _ref;
|
|
31
32
|
const {
|
|
32
|
-
|
|
33
|
-
context: {
|
|
34
|
-
postType,
|
|
35
|
-
postId
|
|
36
|
-
} = {}
|
|
37
|
-
} = {},
|
|
38
|
-
editedPostId,
|
|
39
|
-
editedPostType,
|
|
40
|
-
activeMenu,
|
|
33
|
+
isNavigationOpen,
|
|
41
34
|
siteTitle
|
|
42
35
|
} = useSelect(select => {
|
|
43
|
-
const {
|
|
44
|
-
getEditedPostType,
|
|
45
|
-
getEditedPostId,
|
|
46
|
-
getNavigationPanelActiveMenu,
|
|
47
|
-
getPage
|
|
48
|
-
} = select(editSiteStore);
|
|
49
36
|
const {
|
|
50
37
|
getEntityRecord
|
|
51
38
|
} = select(coreDataStore);
|
|
52
39
|
const siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
|
|
53
40
|
return {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
editedPostType: getEditedPostType(),
|
|
57
|
-
activeMenu: getNavigationPanelActiveMenu(),
|
|
58
|
-
siteTitle: siteData.name
|
|
41
|
+
siteTitle: siteData.name,
|
|
42
|
+
isNavigationOpen: select(editSiteStore).isNavigationOpened()
|
|
59
43
|
};
|
|
60
44
|
}, []);
|
|
61
45
|
const {
|
|
62
|
-
setNavigationPanelActiveMenu: setActive,
|
|
63
46
|
setIsNavigationPanelOpened
|
|
64
|
-
} = useDispatch(editSiteStore);
|
|
65
|
-
let activeItem;
|
|
66
|
-
|
|
67
|
-
if (activeMenu !== MENU_ROOT) {
|
|
68
|
-
if (activeMenu.startsWith('content')) {
|
|
69
|
-
activeItem = `${postType}-${postId}`;
|
|
70
|
-
} else {
|
|
71
|
-
activeItem = `${editedPostType}-${editedPostId}`;
|
|
72
|
-
}
|
|
73
|
-
} // Ensures focus is moved to the panel area when it is activated
|
|
47
|
+
} = useDispatch(editSiteStore); // Ensures focus is moved to the panel area when it is activated
|
|
74
48
|
// from a separate component (such as document actions in the header).
|
|
75
49
|
|
|
76
|
-
|
|
77
50
|
const panelRef = useRef();
|
|
78
51
|
useEffect(() => {
|
|
79
|
-
if (
|
|
52
|
+
if (isNavigationOpen) {
|
|
80
53
|
panelRef.current.focus();
|
|
81
54
|
}
|
|
82
|
-
}, [
|
|
55
|
+
}, [activeItem, isNavigationOpen]);
|
|
83
56
|
|
|
84
57
|
const closeOnEscape = event => {
|
|
85
58
|
if (event.keyCode === ESCAPE && !event.defaultPrevented) {
|
|
@@ -91,7 +64,7 @@ const NavigationPanel = _ref => {
|
|
|
91
64
|
return (// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
92
65
|
createElement("div", {
|
|
93
66
|
className: classnames(`edit-site-navigation-panel`, {
|
|
94
|
-
'is-open':
|
|
67
|
+
'is-open': isNavigationOpen
|
|
95
68
|
}),
|
|
96
69
|
ref: panelRef,
|
|
97
70
|
tabIndex: "-1",
|
|
@@ -105,14 +78,38 @@ const NavigationPanel = _ref => {
|
|
|
105
78
|
}, decodeEntities(siteTitle))), createElement("div", {
|
|
106
79
|
className: "edit-site-navigation-panel__scroll-container"
|
|
107
80
|
}, createElement(Navigation, {
|
|
108
|
-
activeItem: activeItem
|
|
109
|
-
|
|
110
|
-
onActivateMenu: setActive
|
|
111
|
-
}, activeMenu === MENU_ROOT && createElement(MainDashboardButton.Slot, null, createElement(NavigationBackButton, {
|
|
81
|
+
activeItem: activeItem
|
|
82
|
+
}, createElement(MainDashboardButton.Slot, null, createElement(NavigationBackButton, {
|
|
112
83
|
backButtonLabel: __('Dashboard'),
|
|
113
84
|
className: "edit-site-navigation-panel__back-to-dashboard",
|
|
114
85
|
href: "index.php"
|
|
115
|
-
})), createElement(
|
|
86
|
+
})), createElement(NavigationMenu, null, createElement(NavigationGroup, {
|
|
87
|
+
title: __('Editor')
|
|
88
|
+
}, createElement(NavigationItem, {
|
|
89
|
+
icon: siteIcon,
|
|
90
|
+
title: __('Site'),
|
|
91
|
+
item: SITE_EDITOR_KEY,
|
|
92
|
+
href: addQueryArgs(window.location.href, {
|
|
93
|
+
postId: undefined,
|
|
94
|
+
postType: undefined
|
|
95
|
+
})
|
|
96
|
+
}), createElement(NavigationItem, {
|
|
97
|
+
icon: templateIcon,
|
|
98
|
+
title: __('Templates'),
|
|
99
|
+
item: "wp_template",
|
|
100
|
+
href: addQueryArgs(window.location.href, {
|
|
101
|
+
postId: undefined,
|
|
102
|
+
postType: 'wp_template'
|
|
103
|
+
})
|
|
104
|
+
}), createElement(NavigationItem, {
|
|
105
|
+
icon: templatePartIcon,
|
|
106
|
+
title: __('Template Parts'),
|
|
107
|
+
item: "wp_template_part",
|
|
108
|
+
href: addQueryArgs(window.location.href, {
|
|
109
|
+
postId: undefined,
|
|
110
|
+
postType: 'wp_template_part'
|
|
111
|
+
})
|
|
112
|
+
})))))))
|
|
116
113
|
);
|
|
117
114
|
};
|
|
118
115
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-panel/index.js"],"names":["classnames","__experimentalNavigation","Navigation","__experimentalNavigationBackButton","NavigationBackButton","store","coreDataStore","useSelect","useDispatch","useEffect","useRef","__","ESCAPE","decodeEntities","
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-panel/index.js"],"names":["classnames","__experimentalNavigation","Navigation","__experimentalNavigationBackButton","NavigationBackButton","__experimentalNavigationGroup","NavigationGroup","__experimentalNavigationItem","NavigationItem","__experimentalNavigationMenu","NavigationMenu","store","coreDataStore","useSelect","useDispatch","useEffect","useRef","__","ESCAPE","decodeEntities","addQueryArgs","home","siteIcon","layout","templateIcon","symbolFilled","templatePartIcon","MainDashboardButton","editSiteStore","SITE_EDITOR_KEY","NavigationPanel","activeItem","isNavigationOpen","siteTitle","select","getEntityRecord","siteData","undefined","name","isNavigationOpened","setIsNavigationPanelOpened","panelRef","current","focus","closeOnEscape","event","keyCode","defaultPrevented","preventDefault","window","location","href","postId","postType"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigation as Navigation,\n\t__experimentalNavigationBackButton as NavigationBackButton,\n\t__experimentalNavigationGroup as NavigationGroup,\n\t__experimentalNavigationItem as NavigationItem,\n\t__experimentalNavigationMenu as NavigationMenu,\n} from '@wordpress/components';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { addQueryArgs } from '@wordpress/url';\nimport {\n\thome as siteIcon,\n\tlayout as templateIcon,\n\tsymbolFilled as templatePartIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport MainDashboardButton from '../../main-dashboard-button';\nimport { store as editSiteStore } from '../../../store';\n\nconst SITE_EDITOR_KEY = 'site-editor';\n\nconst NavigationPanel = ( { activeItem = SITE_EDITOR_KEY } ) => {\n\tconst { isNavigationOpen, siteTitle } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord } = select( coreDataStore );\n\n\t\tconst siteData =\n\t\t\tgetEntityRecord( 'root', '__unstableBase', undefined ) || {};\n\n\t\treturn {\n\t\t\tsiteTitle: siteData.name,\n\t\t\tisNavigationOpen: select( editSiteStore ).isNavigationOpened(),\n\t\t};\n\t}, [] );\n\tconst { setIsNavigationPanelOpened } = useDispatch( editSiteStore );\n\n\t// Ensures focus is moved to the panel area when it is activated\n\t// from a separate component (such as document actions in the header).\n\tconst panelRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tpanelRef.current.focus();\n\t\t}\n\t}, [ activeItem, isNavigationOpen ] );\n\n\tconst closeOnEscape = ( event ) => {\n\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsNavigationPanelOpened( false );\n\t\t}\n\t};\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tclassName={ classnames( `edit-site-navigation-panel`, {\n\t\t\t\t'is-open': isNavigationOpen,\n\t\t\t} ) }\n\t\t\tref={ panelRef }\n\t\t\ttabIndex=\"-1\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t>\n\t\t\t<div className=\"edit-site-navigation-panel__inner\">\n\t\t\t\t<div className=\"edit-site-navigation-panel__site-title-container\">\n\t\t\t\t\t<div className=\"edit-site-navigation-panel__site-title\">\n\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"edit-site-navigation-panel__scroll-container\">\n\t\t\t\t\t<Navigation activeItem={ activeItem }>\n\t\t\t\t\t\t<MainDashboardButton.Slot>\n\t\t\t\t\t\t\t<NavigationBackButton\n\t\t\t\t\t\t\t\tbackButtonLabel={ __( 'Dashboard' ) }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-navigation-panel__back-to-dashboard\"\n\t\t\t\t\t\t\t\thref=\"index.php\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MainDashboardButton.Slot>\n\n\t\t\t\t\t\t<NavigationMenu>\n\t\t\t\t\t\t\t<NavigationGroup title={ __( 'Editor' ) }>\n\t\t\t\t\t\t\t\t<NavigationItem\n\t\t\t\t\t\t\t\t\ticon={ siteIcon }\n\t\t\t\t\t\t\t\t\ttitle={ __( 'Site' ) }\n\t\t\t\t\t\t\t\t\titem={ SITE_EDITOR_KEY }\n\t\t\t\t\t\t\t\t\thref={ addQueryArgs( window.location.href, {\n\t\t\t\t\t\t\t\t\t\tpostId: undefined,\n\t\t\t\t\t\t\t\t\t\tpostType: undefined,\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<NavigationItem\n\t\t\t\t\t\t\t\t\ticon={ templateIcon }\n\t\t\t\t\t\t\t\t\ttitle={ __( 'Templates' ) }\n\t\t\t\t\t\t\t\t\titem=\"wp_template\"\n\t\t\t\t\t\t\t\t\thref={ addQueryArgs( window.location.href, {\n\t\t\t\t\t\t\t\t\t\tpostId: undefined,\n\t\t\t\t\t\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<NavigationItem\n\t\t\t\t\t\t\t\t\ticon={ templatePartIcon }\n\t\t\t\t\t\t\t\t\ttitle={ __( 'Template Parts' ) }\n\t\t\t\t\t\t\t\t\titem=\"wp_template_part\"\n\t\t\t\t\t\t\t\t\thref={ addQueryArgs( window.location.href, {\n\t\t\t\t\t\t\t\t\t\tpostId: undefined,\n\t\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</NavigationGroup>\n\t\t\t\t\t\t</NavigationMenu>\n\t\t\t\t\t</Navigation>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default NavigationPanel;\n"]}
|
|
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
7
7
|
import { Button, Icon, __unstableMotion as motion } from '@wordpress/components';
|
|
8
8
|
import { __ } from '@wordpress/i18n';
|
|
9
9
|
import { wordpress } from '@wordpress/icons';
|
|
@@ -17,42 +17,30 @@ import { store as editSiteStore } from '../../../store';
|
|
|
17
17
|
|
|
18
18
|
function NavigationToggle(_ref) {
|
|
19
19
|
let {
|
|
20
|
-
icon
|
|
21
|
-
isOpen
|
|
20
|
+
icon
|
|
22
21
|
} = _ref;
|
|
23
22
|
const {
|
|
23
|
+
isNavigationOpen,
|
|
24
24
|
isRequestingSiteIcon,
|
|
25
|
-
navigationPanelMenu,
|
|
26
25
|
siteIconUrl
|
|
27
26
|
} = useSelect(select => {
|
|
28
|
-
const {
|
|
29
|
-
getCurrentTemplateNavigationPanelSubMenu
|
|
30
|
-
} = select(editSiteStore);
|
|
31
27
|
const {
|
|
32
28
|
getEntityRecord,
|
|
33
29
|
isResolving
|
|
34
30
|
} = select(coreDataStore);
|
|
35
31
|
const siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
|
|
36
32
|
return {
|
|
33
|
+
isNavigationOpen: select(editSiteStore).isNavigationOpened(),
|
|
37
34
|
isRequestingSiteIcon: isResolving('core', 'getEntityRecord', ['root', '__unstableBase', undefined]),
|
|
38
|
-
navigationPanelMenu: getCurrentTemplateNavigationPanelSubMenu(),
|
|
39
35
|
siteIconUrl: siteData.site_icon_url
|
|
40
36
|
};
|
|
41
37
|
}, []);
|
|
42
38
|
const {
|
|
43
|
-
openNavigationPanelToMenu,
|
|
44
39
|
setIsNavigationPanelOpened
|
|
45
40
|
} = useDispatch(editSiteStore);
|
|
46
41
|
const disableMotion = useReducedMotion();
|
|
47
42
|
|
|
48
|
-
const toggleNavigationPanel = () =>
|
|
49
|
-
if (isOpen) {
|
|
50
|
-
setIsNavigationPanelOpened(false);
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
openNavigationPanelToMenu(navigationPanelMenu);
|
|
55
|
-
};
|
|
43
|
+
const toggleNavigationPanel = () => setIsNavigationPanelOpened(!isNavigationOpen);
|
|
56
44
|
|
|
57
45
|
let buttonIcon = createElement(Icon, {
|
|
58
46
|
size: "36px",
|
|
@@ -86,7 +74,7 @@ function NavigationToggle(_ref) {
|
|
|
86
74
|
}
|
|
87
75
|
|
|
88
76
|
return createElement(motion.div, {
|
|
89
|
-
className: 'edit-site-navigation-toggle' + (
|
|
77
|
+
className: 'edit-site-navigation-toggle' + (isNavigationOpen ? ' is-open' : ''),
|
|
90
78
|
whileHover: "expand"
|
|
91
79
|
}, createElement(Button, {
|
|
92
80
|
className: "edit-site-navigation-toggle__button has-icon",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-toggle/index.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-toggle/index.js"],"names":["useSelect","useDispatch","Button","Icon","__unstableMotion","motion","__","wordpress","store","coreDataStore","useReducedMotion","editSiteStore","NavigationToggle","icon","isNavigationOpen","isRequestingSiteIcon","siteIconUrl","select","getEntityRecord","isResolving","siteData","undefined","isNavigationOpened","site_icon_url","setIsNavigationPanelOpened","disableMotion","toggleNavigationPanel","buttonIcon","effect","expand","scale","borderRadius","transition","type","duration"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\tIcon,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { wordpress } from '@wordpress/icons';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nfunction NavigationToggle( { icon } ) {\n\tconst { isNavigationOpen, isRequestingSiteIcon, siteIconUrl } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, isResolving } = select( coreDataStore );\n\t\t\tconst siteData =\n\t\t\t\tgetEntityRecord( 'root', '__unstableBase', undefined ) || {};\n\n\t\t\treturn {\n\t\t\t\tisNavigationOpen: select( editSiteStore ).isNavigationOpened(),\n\t\t\t\tisRequestingSiteIcon: isResolving( 'core', 'getEntityRecord', [\n\t\t\t\t\t'root',\n\t\t\t\t\t'__unstableBase',\n\t\t\t\t\tundefined,\n\t\t\t\t] ),\n\t\t\t\tsiteIconUrl: siteData.site_icon_url,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { setIsNavigationPanelOpened } = useDispatch( editSiteStore );\n\n\tconst disableMotion = useReducedMotion();\n\n\tconst toggleNavigationPanel = () =>\n\t\tsetIsNavigationPanelOpened( ! isNavigationOpen );\n\n\tlet buttonIcon = <Icon size=\"36px\" icon={ wordpress } />;\n\n\tconst effect = {\n\t\texpand: {\n\t\t\tscale: 1.7,\n\t\t\tborderRadius: 0,\n\t\t\ttransition: { type: 'tween', duration: '0.2' },\n\t\t},\n\t};\n\n\tif ( siteIconUrl ) {\n\t\tbuttonIcon = (\n\t\t\t<motion.img\n\t\t\t\tvariants={ ! disableMotion && effect }\n\t\t\t\talt={ __( 'Site Icon' ) }\n\t\t\t\tclassName=\"edit-site-navigation-toggle__site-icon\"\n\t\t\t\tsrc={ siteIconUrl }\n\t\t\t/>\n\t\t);\n\t} else if ( isRequestingSiteIcon ) {\n\t\tbuttonIcon = null;\n\t} else if ( icon ) {\n\t\tbuttonIcon = <Icon size=\"36px\" icon={ icon } />;\n\t}\n\n\treturn (\n\t\t<motion.div\n\t\t\tclassName={\n\t\t\t\t'edit-site-navigation-toggle' +\n\t\t\t\t( isNavigationOpen ? ' is-open' : '' )\n\t\t\t}\n\t\t\twhileHover=\"expand\"\n\t\t>\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-navigation-toggle__button has-icon\"\n\t\t\t\tlabel={ __( 'Toggle navigation' ) }\n\t\t\t\tonClick={ toggleNavigationPanel }\n\t\t\t\tshowTooltip\n\t\t\t>\n\t\t\t\t{ buttonIcon }\n\t\t\t</Button>\n\t\t</motion.div>\n\t);\n}\n\nexport default NavigationToggle;\n"]}
|
|
@@ -76,9 +76,10 @@ export default function TemplateDetails(_ref) {
|
|
|
76
76
|
onClick: revert
|
|
77
77
|
}, __('Clear customizations'))), createElement(Button, {
|
|
78
78
|
className: "edit-site-template-details__show-all-button",
|
|
79
|
-
href: addQueryArgs(
|
|
79
|
+
href: addQueryArgs(window.location.href, {
|
|
80
80
|
// TODO: We should update this to filter by template part's areas as well.
|
|
81
|
-
|
|
81
|
+
postId: undefined,
|
|
82
|
+
postType: template.type
|
|
82
83
|
})
|
|
83
84
|
}, sprintf(
|
|
84
85
|
/* translators: the template part's area name ("Headers", "Sidebars") or "templates". */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/template-details/index.js"],"names":["useMemo","sprintf","__","Button","MenuGroup","MenuItem","__experimentalHeading","Heading","__experimentalText","Text","useDispatch","useSelect","store","editorStore","addQueryArgs","isTemplateRevertable","MENU_TEMPLATES","TEMPLATE_PARTS_SUB_MENUS","editSiteStore","TemplateAreas","TemplateDetails","template","onClose","title","description","select","__experimentalGetTemplateInfo","revertTemplate","templateSubMenu","type","menu","find","area","revert","
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/template-details/index.js"],"names":["useMemo","sprintf","__","Button","MenuGroup","MenuItem","__experimentalHeading","Heading","__experimentalText","Text","useDispatch","useSelect","store","editorStore","addQueryArgs","isTemplateRevertable","MENU_TEMPLATES","TEMPLATE_PARTS_SUB_MENUS","editSiteStore","TemplateAreas","TemplateDetails","template","onClose","title","description","select","__experimentalGetTemplateInfo","revertTemplate","templateSubMenu","type","menu","find","area","revert","window","location","href","postId","undefined","postType"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport isTemplateRevertable from '../../utils/is-template-revertable';\nimport {\n\tMENU_TEMPLATES,\n\tTEMPLATE_PARTS_SUB_MENUS,\n} from '../navigation-sidebar/navigation-panel/constants';\nimport { store as editSiteStore } from '../../store';\nimport TemplateAreas from './template-areas';\n\nexport default function TemplateDetails( { template, onClose } ) {\n\tconst { title, description } = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetTemplateInfo( template ),\n\t\t[]\n\t);\n\tconst { revertTemplate } = useDispatch( editSiteStore );\n\n\tconst templateSubMenu = useMemo( () => {\n\t\tif ( template?.type === 'wp_template' ) {\n\t\t\treturn { title: __( 'templates' ), menu: MENU_TEMPLATES };\n\t\t}\n\n\t\treturn TEMPLATE_PARTS_SUB_MENUS.find(\n\t\t\t( { area } ) => area === template?.area\n\t\t);\n\t}, [ template ] );\n\n\tif ( ! template ) {\n\t\treturn null;\n\t}\n\n\tconst revert = () => {\n\t\trevertTemplate( template );\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<div className=\"edit-site-template-details\">\n\t\t\t<div className=\"edit-site-template-details__group\">\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={ 4 }\n\t\t\t\t\tweight={ 600 }\n\t\t\t\t\tclassName=\"edit-site-template-details__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\n\t\t\t\t{ description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize=\"body\"\n\t\t\t\t\t\tclassName=\"edit-site-template-details__description\"\n\t\t\t\t\t\tas=\"p\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t<TemplateAreas closeTemplateDetailsDropdown={ onClose } />\n\n\t\t\t{ isTemplateRevertable( template ) && (\n\t\t\t\t<MenuGroup className=\"edit-site-template-details__group edit-site-template-details__revert\">\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tclassName=\"edit-site-template-details__revert-button\"\n\t\t\t\t\t\tinfo={ __( 'Restore template to theme default' ) }\n\t\t\t\t\t\tonClick={ revert }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear customizations' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-template-details__show-all-button\"\n\t\t\t\thref={ addQueryArgs( window.location.href, {\n\t\t\t\t\t// TODO: We should update this to filter by template part's areas as well.\n\t\t\t\t\tpostId: undefined,\n\t\t\t\t\tpostType: template.type,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t/* translators: the template part's area name (\"Headers\", \"Sidebars\") or \"templates\". */\n\t\t\t\t\t__( 'Browse all %s' ),\n\t\t\t\t\ttemplateSubMenu.title\n\t\t\t\t) }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -8,30 +8,25 @@ import { kebabCase } from 'lodash';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { useDispatch
|
|
11
|
+
import { useDispatch } from '@wordpress/data';
|
|
12
12
|
import { BlockSettingsMenuControls, store as blockEditorStore } from '@wordpress/block-editor';
|
|
13
|
-
import { MenuItem
|
|
14
|
-
import { useInstanceId } from '@wordpress/compose';
|
|
13
|
+
import { MenuItem } from '@wordpress/components';
|
|
15
14
|
import { createBlock, serialize } from '@wordpress/blocks';
|
|
16
15
|
import { __ } from '@wordpress/i18n';
|
|
17
16
|
import { useState } from '@wordpress/element';
|
|
18
17
|
import { store as coreStore } from '@wordpress/core-data';
|
|
19
18
|
import { store as noticesStore } from '@wordpress/notices';
|
|
20
|
-
import { store as editorStore } from '@wordpress/editor';
|
|
21
|
-
import { check } from '@wordpress/icons';
|
|
22
19
|
/**
|
|
23
20
|
* Internal dependencies
|
|
24
21
|
*/
|
|
25
22
|
|
|
26
|
-
import
|
|
23
|
+
import CreateTemplatePartModal from '../create-template-part-modal';
|
|
27
24
|
export default function ConvertToTemplatePart(_ref) {
|
|
28
25
|
let {
|
|
29
26
|
clientIds,
|
|
30
27
|
blocks
|
|
31
28
|
} = _ref;
|
|
32
|
-
const instanceId = useInstanceId(ConvertToTemplatePart);
|
|
33
29
|
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
34
|
-
const [title, setTitle] = useState('');
|
|
35
30
|
const {
|
|
36
31
|
replaceBlocks
|
|
37
32
|
} = useDispatch(blockEditorStore);
|
|
@@ -41,15 +36,15 @@ export default function ConvertToTemplatePart(_ref) {
|
|
|
41
36
|
const {
|
|
42
37
|
createSuccessNotice
|
|
43
38
|
} = useDispatch(noticesStore);
|
|
44
|
-
const [area, setArea] = useState(TEMPLATE_PART_AREA_GENERAL);
|
|
45
|
-
const templatePartAreas = useSelect(select => select(editorStore).__experimentalGetDefaultTemplatePartAreas(), []);
|
|
46
|
-
|
|
47
|
-
const onConvert = async templatePartTitle => {
|
|
48
|
-
const defaultTitle = __('Untitled Template Part');
|
|
49
39
|
|
|
40
|
+
const onConvert = async _ref2 => {
|
|
41
|
+
let {
|
|
42
|
+
title,
|
|
43
|
+
area
|
|
44
|
+
} = _ref2;
|
|
50
45
|
const templatePart = await saveEntityRecord('postType', 'wp_template_part', {
|
|
51
|
-
slug: kebabCase(
|
|
52
|
-
title
|
|
46
|
+
slug: kebabCase(title),
|
|
47
|
+
title,
|
|
53
48
|
content: serialize(blocks),
|
|
54
49
|
area
|
|
55
50
|
});
|
|
@@ -62,80 +57,21 @@ export default function ConvertToTemplatePart(_ref) {
|
|
|
62
57
|
});
|
|
63
58
|
};
|
|
64
59
|
|
|
65
|
-
return createElement(BlockSettingsMenuControls, null,
|
|
60
|
+
return createElement(Fragment, null, createElement(BlockSettingsMenuControls, null, _ref3 => {
|
|
66
61
|
let {
|
|
67
62
|
onClose
|
|
68
|
-
} =
|
|
69
|
-
return createElement(
|
|
63
|
+
} = _ref3;
|
|
64
|
+
return createElement(MenuItem, {
|
|
70
65
|
onClick: () => {
|
|
71
66
|
setIsModalOpen(true);
|
|
72
|
-
}
|
|
73
|
-
}, __('Make template part')), isModalOpen && createElement(Modal, {
|
|
74
|
-
title: __('Create a template part'),
|
|
75
|
-
closeLabel: __('Close'),
|
|
76
|
-
onRequestClose: () => {
|
|
77
|
-
setIsModalOpen(false);
|
|
78
|
-
setTitle('');
|
|
79
|
-
},
|
|
80
|
-
overlayClassName: "edit-site-template-part-converter__modal"
|
|
81
|
-
}, createElement("form", {
|
|
82
|
-
onSubmit: event => {
|
|
83
|
-
event.preventDefault();
|
|
84
|
-
onConvert(title);
|
|
85
|
-
setIsModalOpen(false);
|
|
86
|
-
setTitle('');
|
|
87
67
|
onClose();
|
|
88
68
|
}
|
|
89
|
-
},
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
className: "edit-site-template-part-converter__area-base-control"
|
|
97
|
-
}, createElement(RadioGroup, {
|
|
98
|
-
label: __('Area'),
|
|
99
|
-
className: "edit-site-template-part-converter__area-radio-group",
|
|
100
|
-
id: `edit-site-template-part-converter__area-selection-${instanceId}`,
|
|
101
|
-
onChange: setArea,
|
|
102
|
-
checked: area
|
|
103
|
-
}, templatePartAreas.map(_ref3 => {
|
|
104
|
-
let {
|
|
105
|
-
icon,
|
|
106
|
-
label,
|
|
107
|
-
area: value,
|
|
108
|
-
description
|
|
109
|
-
} = _ref3;
|
|
110
|
-
return createElement(Radio, {
|
|
111
|
-
key: label,
|
|
112
|
-
value: value,
|
|
113
|
-
className: "edit-site-template-part-converter__area-radio"
|
|
114
|
-
}, createElement(Flex, {
|
|
115
|
-
align: "start",
|
|
116
|
-
justify: "start"
|
|
117
|
-
}, createElement(FlexItem, null, createElement(Icon, {
|
|
118
|
-
icon: icon
|
|
119
|
-
})), createElement(FlexBlock, {
|
|
120
|
-
className: "edit-site-template-part-converter__option-label"
|
|
121
|
-
}, label, createElement("div", null, description)), createElement(FlexItem, {
|
|
122
|
-
className: "edit-site-template-part-converter__checkbox"
|
|
123
|
-
}, area === value && createElement(Icon, {
|
|
124
|
-
icon: check
|
|
125
|
-
}))));
|
|
126
|
-
}))), createElement(Flex, {
|
|
127
|
-
className: "edit-site-template-part-converter__convert-modal-actions",
|
|
128
|
-
justify: "flex-end"
|
|
129
|
-
}, createElement(FlexItem, null, createElement(Button, {
|
|
130
|
-
variant: "secondary",
|
|
131
|
-
onClick: () => {
|
|
132
|
-
setIsModalOpen(false);
|
|
133
|
-
setTitle('');
|
|
134
|
-
}
|
|
135
|
-
}, __('Cancel'))), createElement(FlexItem, null, createElement(Button, {
|
|
136
|
-
variant: "primary",
|
|
137
|
-
type: "submit"
|
|
138
|
-
}, __('Create')))))));
|
|
139
|
-
});
|
|
69
|
+
}, __('Make template part'));
|
|
70
|
+
}), isModalOpen && createElement(CreateTemplatePartModal, {
|
|
71
|
+
closeModal: () => {
|
|
72
|
+
setIsModalOpen(false);
|
|
73
|
+
},
|
|
74
|
+
onCreate: onConvert
|
|
75
|
+
}));
|
|
140
76
|
}
|
|
141
77
|
//# sourceMappingURL=convert-to-template-part.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/template-part-converter/convert-to-template-part.js"],"names":["kebabCase","useDispatch","useSelect","BlockSettingsMenuControls","store","blockEditorStore","MenuItem","Icon","BaseControl","TextControl","Flex","FlexItem","FlexBlock","Button","Modal","__experimentalRadioGroup","RadioGroup","__experimentalRadio","Radio","useInstanceId","createBlock","serialize","__","useState","coreStore","noticesStore","editorStore","check","TEMPLATE_PART_AREA_GENERAL","ConvertToTemplatePart","clientIds","blocks","instanceId","isModalOpen","setIsModalOpen","title","setTitle","replaceBlocks","saveEntityRecord","createSuccessNotice","area","setArea","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","onConvert","templatePartTitle","defaultTitle","templatePart","slug","content","theme","type","onClose","event","preventDefault","map","icon","label","value","description"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tMenuItem,\n\tIcon,\n\tBaseControl,\n\tTextControl,\n\tFlex,\n\tFlexItem,\n\tFlexBlock,\n\tButton,\n\tModal,\n\t__experimentalRadioGroup as RadioGroup,\n\t__experimentalRadio as Radio,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createBlock, serialize } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as editorStore } from '@wordpress/editor';\nimport { check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_PART_AREA_GENERAL } from '../../store/constants';\n\nexport default function ConvertToTemplatePart( { clientIds, blocks } ) {\n\tconst instanceId = useInstanceId( ConvertToTemplatePart );\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst [ area, setArea ] = useState( TEMPLATE_PART_AREA_GENERAL );\n\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\tconst onConvert = async ( templatePartTitle ) => {\n\t\tconst defaultTitle = __( 'Untitled Template Part' );\n\t\tconst templatePart = await saveEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\t{\n\t\t\t\tslug: kebabCase( templatePartTitle || defaultTitle ),\n\t\t\t\ttitle: templatePartTitle || defaultTitle,\n\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\tarea,\n\t\t\t}\n\t\t);\n\t\treplaceBlocks(\n\t\t\tclientIds,\n\t\t\tcreateBlock( 'core/template-part', {\n\t\t\t\tslug: templatePart.slug,\n\t\t\t\ttheme: templatePart.theme,\n\t\t\t} )\n\t\t);\n\t\tcreateSuccessNotice( __( 'Template part created.' ), {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\treturn (\n\t\t<BlockSettingsMenuControls>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsModalOpen( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Make template part' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t\t<Modal\n\t\t\t\t\t\t\ttitle={ __( 'Create a template part' ) }\n\t\t\t\t\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\toverlayClassName=\"edit-site-template-part-converter__modal\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<form\n\t\t\t\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\tonConvert( title );\n\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<BaseControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\t\t\t\tid={ `edit-site-template-part-converter__area-selection-${ instanceId }` }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-template-part-converter__area-base-control\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-template-part-converter__area-radio-group\"\n\t\t\t\t\t\t\t\t\t\tid={ `edit-site-template-part-converter__area-selection-${ instanceId }` }\n\t\t\t\t\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t\t\t\t\t\tchecked={ area }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ templatePartAreas.map(\n\t\t\t\t\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\t\t\t\t\ticon,\n\t\t\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\t\t\tarea: value,\n\t\t\t\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\t\t\t} ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-template-part-converter__area-radio\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\talign=\"start\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexBlock className=\"edit-site-template-part-converter__option-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexItem className=\"edit-site-template-part-converter__checkbox\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ area ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t\t\t\t\t</Radio>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</RadioGroup>\n\t\t\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-template-part-converter__convert-modal-actions\"\n\t\t\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t</Modal>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</BlockSettingsMenuControls>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/template-part-converter/convert-to-template-part.js"],"names":["kebabCase","useDispatch","BlockSettingsMenuControls","store","blockEditorStore","MenuItem","createBlock","serialize","__","useState","coreStore","noticesStore","CreateTemplatePartModal","ConvertToTemplatePart","clientIds","blocks","isModalOpen","setIsModalOpen","replaceBlocks","saveEntityRecord","createSuccessNotice","onConvert","title","area","templatePart","slug","content","theme","type","onClose"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,QAA1B;AAEA;AACA;AACA;;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SACCC,yBADD,EAECC,KAAK,IAAIC,gBAFV,QAGO,yBAHP;AAIA,SAASC,QAAT,QAAyB,uBAAzB;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,mBAAvC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASN,KAAK,IAAIO,SAAlB,QAAmC,sBAAnC;AACA,SAASP,KAAK,IAAIQ,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,OAAOC,uBAAP,MAAoC,+BAApC;AAEA,eAAe,SAASC,qBAAT,OAAwD;AAAA,MAAxB;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,GAAwB;AACtE,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkCR,QAAQ,CAAE,KAAF,CAAhD;AACA,QAAM;AAAES,IAAAA;AAAF,MAAoBjB,WAAW,CAAEG,gBAAF,CAArC;AACA,QAAM;AAAEe,IAAAA;AAAF,MAAuBlB,WAAW,CAAES,SAAF,CAAxC;AACA,QAAM;AAAEU,IAAAA;AAAF,MAA0BnB,WAAW,CAAEU,YAAF,CAA3C;;AAEA,QAAMU,SAAS,GAAG,eAA6B;AAAA,QAArB;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,KAAqB;AAC9C,UAAMC,YAAY,GAAG,MAAML,gBAAgB,CAC1C,UAD0C,EAE1C,kBAF0C,EAG1C;AACCM,MAAAA,IAAI,EAAEzB,SAAS,CAAEsB,KAAF,CADhB;AAECA,MAAAA,KAFD;AAGCI,MAAAA,OAAO,EAAEnB,SAAS,CAAEQ,MAAF,CAHnB;AAICQ,MAAAA;AAJD,KAH0C,CAA3C;AAUAL,IAAAA,aAAa,CACZJ,SADY,EAEZR,WAAW,CAAE,oBAAF,EAAwB;AAClCmB,MAAAA,IAAI,EAAED,YAAY,CAACC,IADe;AAElCE,MAAAA,KAAK,EAAEH,YAAY,CAACG;AAFc,KAAxB,CAFC,CAAb;AAOAP,IAAAA,mBAAmB,CAAEZ,EAAE,CAAE,wBAAF,CAAJ,EAAkC;AACpDoB,MAAAA,IAAI,EAAE;AAD8C,KAAlC,CAAnB;AAGA,GArBD;;AAuBA,SACC,8BACC,cAAC,yBAAD,QACG;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WACD,cAAC,QAAD;AACC,MAAA,OAAO,EAAG,MAAM;AACfZ,QAAAA,cAAc,CAAE,IAAF,CAAd;AACAY,QAAAA,OAAO;AACP;AAJF,OAMGrB,EAAE,CAAE,oBAAF,CANL,CADC;AAAA,GADH,CADD,EAaGQ,WAAW,IACZ,cAAC,uBAAD;AACC,IAAA,UAAU,EAAG,MAAM;AAClBC,MAAAA,cAAc,CAAE,KAAF,CAAd;AACA,KAHF;AAIC,IAAA,QAAQ,EAAGI;AAJZ,IAdF,CADD;AAwBA","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { MenuItem } from '@wordpress/components';\nimport { createBlock, serialize } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\n\nexport default function ConvertToTemplatePart( { clientIds, blocks } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onConvert = async ( { title, area } ) => {\n\t\tconst templatePart = await saveEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\t{\n\t\t\t\tslug: kebabCase( title ),\n\t\t\t\ttitle,\n\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\tarea,\n\t\t\t}\n\t\t);\n\t\treplaceBlocks(\n\t\t\tclientIds,\n\t\t\tcreateBlock( 'core/template-part', {\n\t\t\t\tslug: templatePart.slug,\n\t\t\t\ttheme: templatePart.theme,\n\t\t\t} )\n\t\t);\n\t\tcreateSuccessNotice( __( 'Template part created.' ), {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsModalOpen( true );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Make template part' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t) }\n\t\t\t</BlockSettingsMenuControls>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonCreate={ onConvert }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|