@wordpress/edit-site 5.12.7 → 5.12.9
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/block-editor/editor-canvas.js +1 -1
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/block-editor/index.js +0 -4
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +12 -6
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/create-pattern-modal/index.js +7 -3
- package/build/components/create-pattern-modal/index.js.map +1 -1
- package/build/components/page-patterns/duplicate-menu-item.js +163 -0
- package/build/components/page-patterns/duplicate-menu-item.js.map +1 -0
- package/build/components/page-patterns/grid-item.js +83 -59
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/page-patterns/grid.js +81 -13
- package/build/components/page-patterns/grid.js.map +1 -1
- package/build/components/page-patterns/header.js +69 -0
- package/build/components/page-patterns/header.js.map +1 -0
- package/build/components/page-patterns/index.js +3 -1
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/patterns-list.js +66 -27
- package/build/components/page-patterns/patterns-list.js.map +1 -1
- package/build/components/page-patterns/rename-menu-item.js +109 -0
- package/build/components/page-patterns/rename-menu-item.js.map +1 -0
- package/build/components/page-patterns/use-patterns.js +99 -118
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-template-parts/add-new-template-part.js +74 -0
- package/build/components/page-template-parts/add-new-template-part.js.map +1 -0
- package/build/components/page-template-parts/index.js +2 -23
- package/build/components/page-template-parts/index.js.map +1 -1
- package/build/components/resizable-frame/index.js +75 -32
- package/build/components/resizable-frame/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen/index.js +14 -8
- package/build/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/template-part-hint.js +1 -1
- package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/status-label.js +1 -34
- package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pages/index.js +33 -25
- package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +5 -6
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
- package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
- package/build/components/site-hub/index.js +4 -2
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-sync-path-with-url.js +15 -12
- package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build/components/template-actions/index.js +3 -1
- package/build/components/template-actions/index.js.map +1 -1
- package/build/components/template-actions/rename-menu-item.js +9 -6
- package/build/components/template-actions/rename-menu-item.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +3 -1
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/utils/use-activate-theme.js +1 -1
- package/build/utils/use-activate-theme.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +1 -1
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/index.js +0 -4
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +13 -7
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/create-pattern-modal/index.js +6 -3
- package/build-module/components/create-pattern-modal/index.js.map +1 -1
- package/build-module/components/page-patterns/duplicate-menu-item.js +147 -0
- package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -0
- package/build-module/components/page-patterns/grid-item.js +84 -65
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/page-patterns/grid.js +82 -15
- package/build-module/components/page-patterns/grid.js.map +1 -1
- package/build-module/components/page-patterns/header.js +54 -0
- package/build-module/components/page-patterns/header.js.map +1 -0
- package/build-module/components/page-patterns/index.js +3 -1
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/patterns-list.js +68 -30
- package/build-module/components/page-patterns/patterns-list.js.map +1 -1
- package/build-module/components/page-patterns/rename-menu-item.js +97 -0
- package/build-module/components/page-patterns/rename-menu-item.js.map +1 -0
- package/build-module/components/page-patterns/use-patterns.js +100 -119
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-template-parts/add-new-template-part.js +58 -0
- package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -0
- package/build-module/components/page-template-parts/index.js +3 -22
- package/build-module/components/page-template-parts/index.js.map +1 -1
- package/build-module/components/resizable-frame/index.js +76 -35
- package/build-module/components/resizable-frame/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen/index.js +15 -9
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +1 -1
- package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/status-label.js +1 -32
- package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pages/index.js +33 -25
- package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +5 -6
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
- package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
- package/build-module/components/site-hub/index.js +4 -2
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +16 -12
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build-module/components/template-actions/index.js +2 -1
- package/build-module/components/template-actions/index.js.map +1 -1
- package/build-module/components/template-actions/rename-menu-item.js +8 -6
- package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +4 -2
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/utils/use-activate-theme.js +1 -1
- package/build-module/utils/use-activate-theme.js.map +1 -1
- package/build-style/style-rtl.css +150 -54
- package/build-style/style.css +150 -54
- package/package.json +14 -14
- package/src/components/block-editor/editor-canvas.js +1 -1
- package/src/components/block-editor/index.js +0 -4
- package/src/components/block-editor/use-site-editor-settings.js +16 -11
- package/src/components/create-pattern-modal/index.js +5 -2
- package/src/components/header-edit-mode/document-actions/style.scss +4 -0
- package/src/components/layout/style.scss +1 -0
- package/src/components/page-patterns/duplicate-menu-item.js +196 -0
- package/src/components/page-patterns/grid-item.js +187 -137
- package/src/components/page-patterns/grid.js +118 -20
- package/src/components/page-patterns/header.js +69 -0
- package/src/components/page-patterns/index.js +6 -1
- package/src/components/page-patterns/patterns-list.js +87 -46
- package/src/components/page-patterns/rename-menu-item.js +115 -0
- package/src/components/page-patterns/style.scss +106 -26
- package/src/components/page-patterns/use-patterns.js +96 -167
- package/src/components/page-template-parts/add-new-template-part.js +57 -0
- package/src/components/page-template-parts/index.js +3 -22
- package/src/components/resizable-frame/index.js +100 -31
- package/src/components/resizable-frame/style.scss +26 -9
- package/src/components/sidebar-navigation-item/style.scss +10 -1
- package/src/components/sidebar-navigation-screen/index.js +14 -7
- package/src/components/sidebar-navigation-screen-main/template-part-hint.js +1 -3
- package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +1 -1
- package/src/components/sidebar-navigation-screen-page/status-label.js +1 -35
- package/src/components/sidebar-navigation-screen-pages/index.js +39 -29
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +2 -1
- package/src/components/sidebar-navigation-screen-patterns/index.js +20 -24
- package/src/components/sidebar-navigation-screen-patterns/style.scss +0 -3
- package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +7 -6
- package/src/components/site-hub/index.js +6 -2
- package/src/components/site-hub/style.scss +5 -0
- package/src/components/sync-state-with-url/use-sync-path-with-url.js +73 -66
- package/src/components/template-actions/index.js +2 -1
- package/src/components/template-actions/rename-menu-item.js +8 -6
- package/src/hooks/push-changes-to-global-styles/index.js +8 -1
- package/src/style.scss +10 -12
- package/src/utils/use-activate-theme.js +1 -1
|
@@ -97,7 +97,7 @@ function EditorCanvas({
|
|
|
97
97
|
// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context
|
|
98
98
|
`.is-root-container{display:flow-root;${// Some themes will have `min-height: 100vh` for the root container,
|
|
99
99
|
// which isn't a requirement in auto resize mode.
|
|
100
|
-
enableResizing ? 'min-height:0!important;' : ''}}body{position:relative; ${canvasMode === 'view' ? 'cursor: pointer; height: 100vh' : ''}}}`), children);
|
|
100
|
+
enableResizing ? 'min-height:0!important;' : ''}}body{position:relative; ${canvasMode === 'view' ? 'cursor: pointer; min-height: 100vh;' : ''}}}`), children);
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
var _default = EditorCanvas;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/editor-canvas.js"],"names":["EditorCanvas","enableResizing","settings","children","props","canvasMode","deviceType","isZoomOutMode","select","editSiteStore","__experimentalGetPreviewDeviceType","blockEditorStore","__unstableGetEditorMode","getCanvasMode","setCanvasMode","deviceStyles","mouseMoveTypingRef","isFocused","setIsFocused","viewModeProps","role","tabIndex","onFocus","onBlur","onKeyDown","event","keyCode","ENTER","SPACE","preventDefault","onClick","readonly","undefined","styles"],"mappings":";;;;;;;;;AAiBA;;AAdA;;AAKA;;AAOA;;AACA;;AAEA;;AAKA;;AACA;;AAxBA;AACA;AACA;;AAGA;AACA;AACA;;AAaA;AACA;AACA;AAIA,SAASA,YAAT,CAAuB;AAAEC,EAAAA,cAAF;AAAkBC,EAAAA,QAAlB;AAA4BC,EAAAA,QAA5B;AAAsC,KAAGC;AAAzC,CAAvB,EAA0E;AACzE,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,UAAd;AAA0BC,IAAAA;AAA1B,MAA4C,qBAC/CC,MAAF,KAAgB;AACfF,IAAAA,UAAU,EACTE,MAAM,CAAEC,YAAF,CAAN,CAAwBC,kCAAxB,EAFc;AAGfH,IAAAA,aAAa,EACZC,MAAM,CAAEG,kBAAF,CAAN,CAA2BC,uBAA3B,OACA,UALc;AAMfP,IAAAA,UAAU,EAAE,wBAAQG,MAAM,CAAEC,YAAF,CAAd,EAAkCI,aAAlC;AANG,GAAhB,CADiD,EASjD,EATiD,CAAlD;AAWA,QAAM;AAAEC,IAAAA;AAAF,MAAoB,wBAAQ,uBAAaL,YAAb,CAAR,CAA1B;AACA,QAAMM,YAAY,GAAG,gDAAiBT,UAAjB,CAArB;AACA,QAAMU,kBAAkB,GAAG,qDAA3B;AACA,QAAM,CAAEC,SAAF,EAAaC,YAAb,IAA8B,uBAAU,KAAV,CAApC;AAEA,0BAAW,MAAM;AAChB,QAAKb,UAAU,KAAK,MAApB,EAA6B;AAC5Ba,MAAAA,YAAY,CAAE,KAAF,CAAZ;AACA;AACD,GAJD,EAIG,CAAEb,UAAF,CAJH;AAMA,QAAMc,aAAa,GAAG;AACrB,kBAAc,cAAI,eAAJ,CADO;AAErBC,IAAAA,IAAI,EAAE,QAFe;AAGrBC,IAAAA,QAAQ,EAAE,CAHW;AAIrBC,IAAAA,OAAO,EAAE,MAAMJ,YAAY,CAAE,IAAF,CAJN;AAKrBK,IAAAA,MAAM,EAAE,MAAML,YAAY,CAAE,KAAF,CALL;AAMrBM,IAAAA,SAAS,EAAIC,KAAF,IAAa;AACvB,YAAM;AAAEC,QAAAA;AAAF,UAAcD,KAApB;;AACA,UAAKC,OAAO,KAAKC,eAAZ,IAAqBD,OAAO,KAAKE,eAAtC,EAA8C;AAC7CH,QAAAA,KAAK,CAACI,cAAN;AACAf,QAAAA,aAAa,CAAE,MAAF,CAAb;AACA;AACD,KAZoB;AAarBgB,IAAAA,OAAO,EAAE,MAAMhB,aAAa,CAAE,MAAF,CAbP;AAcrBiB,IAAAA,QAAQ,EAAE;AAdW,GAAtB;AAiBA,SACC,4BAAC,6BAAD;AACC,IAAA,MAAM,EAAGxB,aADV;AAEC,IAAA,KAAK,EAAKA,aAAa,IAAI,IAAnB,IAA6ByB,SAFtC;AAGC,IAAA,SAAS,EAAGzB,aAAa,GAAG,GAAH,GAASyB,SAHnC;AAIC,IAAA,KAAK,EAAG/B,cAAc,GAAG,EAAH,GAAQc,YAJ/B;AAKC,IAAA,GAAG,EAAGC,kBALP;AAMC,IAAA,IAAI,EAAC,eANN;AAOC,IAAA,SAAS,EAAG,yBAAY,wCAAZ,EAAsD;AACjE,oBAAcC,SAAS,IAAIZ,UAAU,KAAK;AADuB,KAAtD,CAPb;AAAA,OAUMD,KAVN;AAAA,QAWQC,UAAU,KAAK,MAAf,GAAwBc,aAAxB,GAAwC,EAXhD;AAAA,KAaC,4BAAC,mCAAD;AAAc,IAAA,MAAM,EAAGjB,QAAQ,CAAC+B;AAAhC,IAbD,EAcC,2CACC;AACA;AACC,0CACA;AACA;AACAhC,EAAAA,cAAc,GAAG,yBAAH,GAA+B,EAC7C,4BACAI,UAAU,KAAK,MAAf,GACG,
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/editor-canvas.js"],"names":["EditorCanvas","enableResizing","settings","children","props","canvasMode","deviceType","isZoomOutMode","select","editSiteStore","__experimentalGetPreviewDeviceType","blockEditorStore","__unstableGetEditorMode","getCanvasMode","setCanvasMode","deviceStyles","mouseMoveTypingRef","isFocused","setIsFocused","viewModeProps","role","tabIndex","onFocus","onBlur","onKeyDown","event","keyCode","ENTER","SPACE","preventDefault","onClick","readonly","undefined","styles"],"mappings":";;;;;;;;;AAiBA;;AAdA;;AAKA;;AAOA;;AACA;;AAEA;;AAKA;;AACA;;AAxBA;AACA;AACA;;AAGA;AACA;AACA;;AAaA;AACA;AACA;AAIA,SAASA,YAAT,CAAuB;AAAEC,EAAAA,cAAF;AAAkBC,EAAAA,QAAlB;AAA4BC,EAAAA,QAA5B;AAAsC,KAAGC;AAAzC,CAAvB,EAA0E;AACzE,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,UAAd;AAA0BC,IAAAA;AAA1B,MAA4C,qBAC/CC,MAAF,KAAgB;AACfF,IAAAA,UAAU,EACTE,MAAM,CAAEC,YAAF,CAAN,CAAwBC,kCAAxB,EAFc;AAGfH,IAAAA,aAAa,EACZC,MAAM,CAAEG,kBAAF,CAAN,CAA2BC,uBAA3B,OACA,UALc;AAMfP,IAAAA,UAAU,EAAE,wBAAQG,MAAM,CAAEC,YAAF,CAAd,EAAkCI,aAAlC;AANG,GAAhB,CADiD,EASjD,EATiD,CAAlD;AAWA,QAAM;AAAEC,IAAAA;AAAF,MAAoB,wBAAQ,uBAAaL,YAAb,CAAR,CAA1B;AACA,QAAMM,YAAY,GAAG,gDAAiBT,UAAjB,CAArB;AACA,QAAMU,kBAAkB,GAAG,qDAA3B;AACA,QAAM,CAAEC,SAAF,EAAaC,YAAb,IAA8B,uBAAU,KAAV,CAApC;AAEA,0BAAW,MAAM;AAChB,QAAKb,UAAU,KAAK,MAApB,EAA6B;AAC5Ba,MAAAA,YAAY,CAAE,KAAF,CAAZ;AACA;AACD,GAJD,EAIG,CAAEb,UAAF,CAJH;AAMA,QAAMc,aAAa,GAAG;AACrB,kBAAc,cAAI,eAAJ,CADO;AAErBC,IAAAA,IAAI,EAAE,QAFe;AAGrBC,IAAAA,QAAQ,EAAE,CAHW;AAIrBC,IAAAA,OAAO,EAAE,MAAMJ,YAAY,CAAE,IAAF,CAJN;AAKrBK,IAAAA,MAAM,EAAE,MAAML,YAAY,CAAE,KAAF,CALL;AAMrBM,IAAAA,SAAS,EAAIC,KAAF,IAAa;AACvB,YAAM;AAAEC,QAAAA;AAAF,UAAcD,KAApB;;AACA,UAAKC,OAAO,KAAKC,eAAZ,IAAqBD,OAAO,KAAKE,eAAtC,EAA8C;AAC7CH,QAAAA,KAAK,CAACI,cAAN;AACAf,QAAAA,aAAa,CAAE,MAAF,CAAb;AACA;AACD,KAZoB;AAarBgB,IAAAA,OAAO,EAAE,MAAMhB,aAAa,CAAE,MAAF,CAbP;AAcrBiB,IAAAA,QAAQ,EAAE;AAdW,GAAtB;AAiBA,SACC,4BAAC,6BAAD;AACC,IAAA,MAAM,EAAGxB,aADV;AAEC,IAAA,KAAK,EAAKA,aAAa,IAAI,IAAnB,IAA6ByB,SAFtC;AAGC,IAAA,SAAS,EAAGzB,aAAa,GAAG,GAAH,GAASyB,SAHnC;AAIC,IAAA,KAAK,EAAG/B,cAAc,GAAG,EAAH,GAAQc,YAJ/B;AAKC,IAAA,GAAG,EAAGC,kBALP;AAMC,IAAA,IAAI,EAAC,eANN;AAOC,IAAA,SAAS,EAAG,yBAAY,wCAAZ,EAAsD;AACjE,oBAAcC,SAAS,IAAIZ,UAAU,KAAK;AADuB,KAAtD,CAPb;AAAA,OAUMD,KAVN;AAAA,QAWQC,UAAU,KAAK,MAAf,GAAwBc,aAAxB,GAAwC,EAXhD;AAAA,KAaC,4BAAC,mCAAD;AAAc,IAAA,MAAM,EAAGjB,QAAQ,CAAC+B;AAAhC,IAbD,EAcC,2CACC;AACA;AACC,0CACA;AACA;AACAhC,EAAAA,cAAc,GAAG,yBAAH,GAA+B,EAC7C,4BACAI,UAAU,KAAK,MAAf,GACG,qCADH,GAEG,EACH,IAXF,CAdD,EA2BGF,QA3BH,CADD;AA+BA;;eAEcH,Y","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\n\nfunction EditorCanvas( { enableResizing, settings, children, ...props } ) {\n\tconst { canvasMode, deviceType, isZoomOutMode } = useSelect(\n\t\t( select ) => ( {\n\t\t\tdeviceType:\n\t\t\t\tselect( editSiteStore ).__experimentalGetPreviewDeviceType(),\n\t\t\tisZoomOutMode:\n\t\t\t\tselect( blockEditorStore ).__unstableGetEditorMode() ===\n\t\t\t\t'zoom-out',\n\t\t\tcanvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst mouseMoveTypingRef = useMouseMoveTypingReset();\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( canvasMode === 'edit' ) {\n\t\t\tsetIsFocused( false );\n\t\t}\n\t}, [ canvasMode ] );\n\n\tconst viewModeProps = {\n\t\t'aria-label': __( 'Editor Canvas' ),\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( keyCode === ENTER || keyCode === SPACE ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetCanvasMode( 'edit' );\n\t\t\t}\n\t\t},\n\t\tonClick: () => setCanvasMode( 'edit' ),\n\t\treadonly: true,\n\t};\n\n\treturn (\n\t\t<Iframe\n\t\t\texpand={ isZoomOutMode }\n\t\t\tscale={ ( isZoomOutMode && 0.45 ) || undefined }\n\t\t\tframeSize={ isZoomOutMode ? 100 : undefined }\n\t\t\tstyle={ enableResizing ? {} : deviceStyles }\n\t\t\tref={ mouseMoveTypingRef }\n\t\t\tname=\"editor-canvas\"\n\t\t\tclassName={ classnames( 'edit-site-visual-editor__editor-canvas', {\n\t\t\t\t'is-focused': isFocused && canvasMode === 'view',\n\t\t\t} ) }\n\t\t\t{ ...props }\n\t\t\t{ ...( canvasMode === 'view' ? viewModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t`.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing ? 'min-height:0!important;' : ''\n\t\t\t\t}}body{position:relative; ${\n\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t? 'cursor: pointer; min-height: 100vh;'\n\t\t\t\t\t\t: ''\n\t\t\t\t}}}`\n\t\t\t}</style>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default EditorCanvas;\n"]}
|
|
@@ -25,10 +25,6 @@ var _siteEditorCanvas = _interopRequireDefault(require("./site-editor-canvas"));
|
|
|
25
25
|
|
|
26
26
|
var _getBlockEditorProvider = _interopRequireDefault(require("./get-block-editor-provider"));
|
|
27
27
|
|
|
28
|
-
/**
|
|
29
|
-
* External dependencies
|
|
30
|
-
*/
|
|
31
|
-
|
|
32
28
|
/**
|
|
33
29
|
* WordPress dependencies
|
|
34
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/index.js"],"names":["BlockEditor","entityType","select","editSiteStore","getEditedPostType","BlockEditorProvider"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/index.js"],"names":["BlockEditor","entityType","select","editSiteStore","getEditedPostType","BlockEditorProvider"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAfA;AACA;AACA;;AAMA;AACA;AACA;AAOe,SAASA,WAAT,GAAuB;AACrC,QAAMC,UAAU,GAAG,qBAChBC,MAAF,IAAcA,MAAM,CAAEC,YAAF,CAAN,CAAwBC,iBAAxB,EADI,EAElB,EAFkB,CAAnB,CADqC,CAMrC;AACA;;AACA,QAAMC,mBAAmB,GAAG,qCAAwBJ,UAAxB,CAA5B;AAEA,SACC,4BAAC,mBAAD,QACC,4BAAC,8BAAD,OADD,EAEC,4BAAC,qCAAD,QACC,4BAAC,2BAAD,OADD,CAFD,EAMC,4BAAC,yBAAD,OAND,EAQC,4BAAC,uCAAD,OARD,CADD;AAYA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { BlockInspector } from '@wordpress/block-editor';\n\nimport { ReusableBlocksMenuItems } from '@wordpress/reusable-blocks';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartConverter from '../template-part-converter';\nimport { SidebarInspectorFill } from '../sidebar-edit-mode';\nimport { store as editSiteStore } from '../../store';\nimport SiteEditorCanvas from './site-editor-canvas';\nimport getBlockEditorProvider from './get-block-editor-provider';\n\nexport default function BlockEditor() {\n\tconst entityType = useSelect(\n\t\t( select ) => select( editSiteStore ).getEditedPostType(),\n\t\t[]\n\t);\n\n\t// Choose the provider based on the entity type currently\n\t// being edited.\n\tconst BlockEditorProvider = getBlockEditorProvider( entityType );\n\n\treturn (\n\t\t<BlockEditorProvider>\n\t\t\t<TemplatePartConverter />\n\t\t\t<SidebarInspectorFill>\n\t\t\t\t<BlockInspector />\n\t\t\t</SidebarInspectorFill>\n\n\t\t\t<SiteEditorCanvas />\n\n\t\t\t<ReusableBlocksMenuItems />\n\t\t</BlockEditorProvider>\n\t);\n}\n"]}
|
|
@@ -26,22 +26,28 @@ var _inserterMediaCategories = _interopRequireDefault(require("./inserter-media-
|
|
|
26
26
|
/**
|
|
27
27
|
* Internal dependencies
|
|
28
28
|
*/
|
|
29
|
-
function useSiteEditorSettings(
|
|
29
|
+
function useSiteEditorSettings() {
|
|
30
30
|
var _storedSettings$__exp, _storedSettings$__exp2;
|
|
31
31
|
|
|
32
|
+
const {
|
|
33
|
+
setIsInserterOpened
|
|
34
|
+
} = (0, _data.useDispatch)(_store.store);
|
|
32
35
|
const {
|
|
33
36
|
storedSettings,
|
|
34
|
-
canvasMode
|
|
37
|
+
canvasMode,
|
|
38
|
+
templateType
|
|
35
39
|
} = (0, _data.useSelect)(select => {
|
|
36
40
|
const {
|
|
37
41
|
getSettings,
|
|
38
|
-
getCanvasMode
|
|
42
|
+
getCanvasMode,
|
|
43
|
+
getEditedPostType
|
|
39
44
|
} = (0, _lockUnlock.unlock)(select(_store.store));
|
|
40
45
|
return {
|
|
41
|
-
storedSettings: getSettings(),
|
|
42
|
-
canvasMode: getCanvasMode()
|
|
46
|
+
storedSettings: getSettings(setIsInserterOpened),
|
|
47
|
+
canvasMode: getCanvasMode(),
|
|
48
|
+
templateType: getEditedPostType()
|
|
43
49
|
};
|
|
44
|
-
}, []);
|
|
50
|
+
}, [setIsInserterOpened]);
|
|
45
51
|
const settingsBlockPatterns = (_storedSettings$__exp = storedSettings.__experimentalAdditionalBlockPatterns) !== null && _storedSettings$__exp !== void 0 ? _storedSettings$__exp : // WP 6.0
|
|
46
52
|
storedSettings.__experimentalBlockPatterns; // WP 5.9
|
|
47
53
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"names":["useSiteEditorSettings","
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"names":["useSiteEditorSettings","setIsInserterOpened","editSiteStore","storedSettings","canvasMode","templateType","select","getSettings","getCanvasMode","getEditedPostType","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","coreStore","getBlockPatterns","getBlockPatternCategories","blockPatterns","filter","x","index","arr","findIndex","y","name","postTypes","Array","isArray","includes","blockPatternCategories","focusMode","restStoredSettings","inserterMediaCategories","templateLock","template"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport inserterMediaCategories from './inserter-media-categories';\n\nexport default function useSiteEditorSettings() {\n\tconst { setIsInserterOpened } = useDispatch( editSiteStore );\n\tconst { storedSettings, canvasMode, templateType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getCanvasMode, getEditedPostType } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tstoredSettings: getSettings( setIsInserterOpened ),\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\ttemplateType: getEditedPostType(),\n\t\t\t};\n\t\t},\n\t\t[ setIsInserterOpened ]\n\t);\n\n\tconst settingsBlockPatterns =\n\t\tstoredSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tstoredSettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst { restBlockPatterns, restBlockPatternCategories } = useSelect(\n\t\t( select ) => ( {\n\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\trestBlockPatternCategories:\n\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t]\n\t\t\t\t.filter(\n\t\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t\t)\n\t\t\t\t.filter( ( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( templateType ) )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t[ settingsBlockPatterns, restBlockPatterns, templateType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\treturn useMemo( () => {\n\t\tconst {\n\t\t\t__experimentalAdditionalBlockPatterns,\n\t\t\t__experimentalAdditionalBlockPatternCategories,\n\t\t\tfocusMode,\n\t\t\t...restStoredSettings\n\t\t} = storedSettings;\n\n\t\treturn {\n\t\t\t...restStoredSettings,\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t// Temporary fix for bug in Block Editor Provider:\n\t\t\t// see: https://github.com/WordPress/gutenberg/issues/51489.\n\t\t\t// Some Site Editor entities (e.g. `wp_navigation`) may utilise\n\t\t\t// template locking in their settings. Therefore this must be\n\t\t\t// explicitly \"unset\" to avoid the template locking UI remaining\n\t\t\t// active for all entities.\n\t\t\ttemplateLock: false,\n\t\t\ttemplate: false,\n\t\t\tfocusMode: canvasMode === 'view' && focusMode ? false : focusMode,\n\t\t};\n\t}, [ storedSettings, blockPatterns, blockPatternCategories, canvasMode ] );\n}\n"]}
|
|
@@ -17,6 +17,8 @@ var _notices = require("@wordpress/notices");
|
|
|
17
17
|
|
|
18
18
|
var _data = require("@wordpress/data");
|
|
19
19
|
|
|
20
|
+
var _blocks = require("@wordpress/blocks");
|
|
21
|
+
|
|
20
22
|
var _utils = require("../page-patterns/utils");
|
|
21
23
|
|
|
22
24
|
/**
|
|
@@ -27,9 +29,11 @@ var _utils = require("../page-patterns/utils");
|
|
|
27
29
|
* Internal dependencies
|
|
28
30
|
*/
|
|
29
31
|
function CreatePatternModal({
|
|
32
|
+
blocks = [],
|
|
30
33
|
closeModal,
|
|
31
34
|
onCreate,
|
|
32
|
-
onError
|
|
35
|
+
onError,
|
|
36
|
+
title
|
|
33
37
|
}) {
|
|
34
38
|
const [name, setName] = (0, _element.useState)('');
|
|
35
39
|
const [syncType, setSyncType] = (0, _element.useState)(_utils.SYNC_TYPES.unsynced);
|
|
@@ -57,7 +61,7 @@ function CreatePatternModal({
|
|
|
57
61
|
try {
|
|
58
62
|
const pattern = await saveEntityRecord('postType', 'wp_block', {
|
|
59
63
|
title: name || (0, _i18n.__)('Untitled Pattern'),
|
|
60
|
-
content: '',
|
|
64
|
+
content: blocks?.length ? (0, _blocks.serialize)(blocks) : '',
|
|
61
65
|
status: 'publish',
|
|
62
66
|
meta: syncType === _utils.SYNC_TYPES.unsynced ? {
|
|
63
67
|
wp_pattern_sync_status: syncType
|
|
@@ -79,7 +83,7 @@ function CreatePatternModal({
|
|
|
79
83
|
}
|
|
80
84
|
|
|
81
85
|
return (0, _element.createElement)(_components.Modal, {
|
|
82
|
-
title: (0, _i18n.__)('Create pattern'),
|
|
86
|
+
title: title || (0, _i18n.__)('Create pattern'),
|
|
83
87
|
onRequestClose: closeModal,
|
|
84
88
|
overlayClassName: "edit-site-create-pattern-modal"
|
|
85
89
|
}, (0, _element.createElement)("form", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/create-pattern-modal/index.js"],"names":["CreatePatternModal","closeModal","onCreate","onError","name","setName","syncType","setSyncType","SYNC_TYPES","unsynced","isSubmitting","setIsSubmitting","onSyncChange","full","createErrorNotice","noticesStore","saveEntityRecord","coreStore","createPattern","type","pattern","
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/create-pattern-modal/index.js"],"names":["CreatePatternModal","blocks","closeModal","onCreate","onError","title","name","setName","syncType","setSyncType","SYNC_TYPES","unsynced","isSubmitting","setIsSubmitting","onSyncChange","full","createErrorNotice","noticesStore","saveEntityRecord","coreStore","createPattern","type","pattern","content","length","status","meta","wp_pattern_sync_status","undefined","throwOnError","categoryId","USER_PATTERN_CATEGORY","error","errorMessage","message","code","event","preventDefault"],"mappings":";;;;;;;AAaA;;AAVA;;AAQA;;AACA;;AAEA;;AACA;;AACA;;AAKA;;AArBA;AACA;AACA;;AAgBA;AACA;AACA;AAGe,SAASA,kBAAT,CAA6B;AAC3CC,EAAAA,MAAM,GAAG,EADkC;AAE3CC,EAAAA,UAF2C;AAG3CC,EAAAA,QAH2C;AAI3CC,EAAAA,OAJ2C;AAK3CC,EAAAA;AAL2C,CAA7B,EAMX;AACH,QAAM,CAAEC,IAAF,EAAQC,OAAR,IAAoB,uBAAU,EAAV,CAA1B;AACA,QAAM,CAAEC,QAAF,EAAYC,WAAZ,IAA4B,uBAAUC,kBAAWC,QAArB,CAAlC;AACA,QAAM,CAAEC,YAAF,EAAgBC,eAAhB,IAAoC,uBAAU,KAAV,CAA1C;;AAEA,QAAMC,YAAY,GAAG,MAAM;AAC1BL,IAAAA,WAAW,CACVD,QAAQ,KAAKE,kBAAWK,IAAxB,GAA+BL,kBAAWC,QAA1C,GAAqDD,kBAAWK,IADtD,CAAX;AAGA,GAJD;;AAMA,QAAM;AAAEC,IAAAA;AAAF,MAAwB,uBAAaC,cAAb,CAA9B;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAuB,uBAAaC,eAAb,CAA7B;;AAEA,iBAAeC,aAAf,GAA+B;AAC9B,QAAK,CAAEd,IAAP,EAAc;AACbU,MAAAA,iBAAiB,CAAE,cAAI,8BAAJ,CAAF,EAAwC;AACxDK,QAAAA,IAAI,EAAE;AADkD,OAAxC,CAAjB;AAGA;AACA;;AAED,QAAI;AACH,YAAMC,OAAO,GAAG,MAAMJ,gBAAgB,CACrC,UADqC,EAErC,UAFqC,EAGrC;AACCb,QAAAA,KAAK,EAAEC,IAAI,IAAI,cAAI,kBAAJ,CADhB;AAECiB,QAAAA,OAAO,EAAEtB,MAAM,EAAEuB,MAAR,GAAiB,uBAAWvB,MAAX,CAAjB,GAAuC,EAFjD;AAGCwB,QAAAA,MAAM,EAAE,SAHT;AAICC,QAAAA,IAAI,EACHlB,QAAQ,KAAKE,kBAAWC,QAAxB,GACG;AAAEgB,UAAAA,sBAAsB,EAAEnB;AAA1B,SADH,GAEGoB;AAPL,OAHqC,EAYrC;AAAEC,QAAAA,YAAY,EAAE;AAAhB,OAZqC,CAAtC;AAeA1B,MAAAA,QAAQ,CAAE;AAAEmB,QAAAA,OAAF;AAAWQ,QAAAA,UAAU,EAAEC;AAAvB,OAAF,CAAR;AACA,KAjBD,CAiBE,OAAQC,KAAR,EAAgB;AACjB,YAAMC,YAAY,GACjBD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,IAAN,KAAe,eAAhC,GACGH,KAAK,CAACE,OADT,GAEG,cAAI,+CAAJ,CAHJ;AAKAlB,MAAAA,iBAAiB,CAAEiB,YAAF,EAAgB;AAAEZ,QAAAA,IAAI,EAAE;AAAR,OAAhB,CAAjB;AACAjB,MAAAA,OAAO;AACP;AACD;;AAED,SACC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAGC,KAAK,IAAI,cAAI,gBAAJ,CADlB;AAEC,IAAA,cAAc,EAAGH,UAFlB;AAGC,IAAA,gBAAgB,EAAC;AAHlB,KAKC;AACC,IAAA,QAAQ,EAAG,MAAQkC,KAAR,IAAmB;AAC7BA,MAAAA,KAAK,CAACC,cAAN;;AACA,UAAK,CAAE/B,IAAP,EAAc;AACb;AACA;;AACDO,MAAAA,eAAe,CAAE,IAAF,CAAf;AACA,YAAMO,aAAa,EAAnB;AACA;AARF,KAUC,4BAAC,gCAAD;AAAQ,IAAA,OAAO,EAAC;AAAhB,KACC,4BAAC,uBAAD;AACC,IAAA,SAAS,EAAC,uCADX;AAEC,IAAA,KAAK,EAAG,cAAI,MAAJ,CAFT;AAGC,IAAA,QAAQ,EAAGb,OAHZ;AAIC,IAAA,WAAW,EAAG,cAAI,YAAJ,CAJf;AAKC,IAAA,QAAQ,MALT;AAMC,IAAA,KAAK,EAAGD,IANT;AAOC,IAAA,uBAAuB;AAPxB,IADD,EAUC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,oCAAJ,CADT;AAEC,IAAA,QAAQ,EAAGQ,YAFZ;AAGC,IAAA,IAAI,EAAG,cACN,6EADM,CAHR;AAMC,IAAA,OAAO,EAAGN,QAAQ,KAAKE,kBAAWK;AANnC,IAVD,EAkBC,4BAAC,gCAAD;AAAQ,IAAA,OAAO,EAAC;AAAhB,KACC,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAG,MAAM;AACfb,MAAAA,UAAU;AACV;AAJF,KAMG,cAAI,QAAJ,CANH,CADD,EASC,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAC,SADT;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,IAAA,QAAQ,EAAG,CAAEI,IAHd;AAIC,IAAA,MAAM,EAAGM;AAJV,KAMG,cAAI,QAAJ,CANH,CATD,CAlBD,CAVD,CALD,CADD;AAwDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tTextControl,\n\tButton,\n\tModal,\n\tToggleControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { serialize } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { SYNC_TYPES, USER_PATTERN_CATEGORY } from '../page-patterns/utils';\n\nexport default function CreatePatternModal( {\n\tblocks = [],\n\tcloseModal,\n\tonCreate,\n\tonError,\n\ttitle,\n} ) {\n\tconst [ name, setName ] = useState( '' );\n\tconst [ syncType, setSyncType ] = useState( SYNC_TYPES.unsynced );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\n\tconst onSyncChange = () => {\n\t\tsetSyncType(\n\t\t\tsyncType === SYNC_TYPES.full ? SYNC_TYPES.unsynced : SYNC_TYPES.full\n\t\t);\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tasync function createPattern() {\n\t\tif ( ! name ) {\n\t\t\tcreateErrorNotice( __( 'Please enter a pattern name.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst pattern = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\t{\n\t\t\t\t\ttitle: name || __( 'Untitled Pattern' ),\n\t\t\t\t\tcontent: blocks?.length ? serialize( blocks ) : '',\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\tmeta:\n\t\t\t\t\t\tsyncType === SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t? { wp_pattern_sync_status: syncType }\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tonCreate( { pattern, categoryId: USER_PATTERN_CATEGORY } );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the pattern.' );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\tonError();\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ title || __( 'Create pattern' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t\toverlayClassName=\"edit-site-create-pattern-modal\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! name ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tsetIsSubmitting( true );\n\t\t\t\t\tawait createPattern();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"4\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tclassName=\"edit-site-create-pattern-modal__input\"\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tonChange={ setName }\n\t\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tvalue={ name }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Keep all pattern instances in sync' ) }\n\t\t\t\t\t\tonChange={ onSyncChange }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Editing the original pattern will also update anywhere the pattern is used.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ syncType === SYNC_TYPES.full }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tdisabled={ ! name }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = DuplicateMenuItem;
|
|
7
|
+
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
|
|
10
|
+
var _components = require("@wordpress/components");
|
|
11
|
+
|
|
12
|
+
var _coreData = require("@wordpress/core-data");
|
|
13
|
+
|
|
14
|
+
var _data = require("@wordpress/data");
|
|
15
|
+
|
|
16
|
+
var _i18n = require("@wordpress/i18n");
|
|
17
|
+
|
|
18
|
+
var _notices = require("@wordpress/notices");
|
|
19
|
+
|
|
20
|
+
var _router = require("@wordpress/router");
|
|
21
|
+
|
|
22
|
+
var _utils = require("./utils");
|
|
23
|
+
|
|
24
|
+
var _templatePartCreate = require("../../utils/template-part-create");
|
|
25
|
+
|
|
26
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* WordPress dependencies
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Internal dependencies
|
|
34
|
+
*/
|
|
35
|
+
const {
|
|
36
|
+
useHistory
|
|
37
|
+
} = (0, _lockUnlock.unlock)(_router.privateApis);
|
|
38
|
+
|
|
39
|
+
function getPatternMeta(item) {
|
|
40
|
+
if (item.type === _utils.PATTERNS) {
|
|
41
|
+
return {
|
|
42
|
+
wp_pattern_sync_status: _utils.SYNC_TYPES.unsynced
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const syncStatus = item.reusableBlock.wp_pattern_sync_status;
|
|
47
|
+
const isUnsynced = syncStatus === _utils.SYNC_TYPES.unsynced;
|
|
48
|
+
return { ...item.reusableBlock.meta,
|
|
49
|
+
wp_pattern_sync_status: isUnsynced ? syncStatus : undefined
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function DuplicateMenuItem({
|
|
54
|
+
categoryId,
|
|
55
|
+
item,
|
|
56
|
+
label = (0, _i18n.__)('Duplicate'),
|
|
57
|
+
onClose
|
|
58
|
+
}) {
|
|
59
|
+
const {
|
|
60
|
+
saveEntityRecord
|
|
61
|
+
} = (0, _data.useDispatch)(_coreData.store);
|
|
62
|
+
const {
|
|
63
|
+
createErrorNotice,
|
|
64
|
+
createSuccessNotice
|
|
65
|
+
} = (0, _data.useDispatch)(_notices.store);
|
|
66
|
+
const history = useHistory();
|
|
67
|
+
const existingTemplateParts = (0, _templatePartCreate.useExistingTemplateParts)();
|
|
68
|
+
|
|
69
|
+
async function createTemplatePart() {
|
|
70
|
+
try {
|
|
71
|
+
const copiedTitle = (0, _i18n.sprintf)(
|
|
72
|
+
/* translators: %s: Existing template part title */
|
|
73
|
+
(0, _i18n.__)('%s (Copy)'), item.title);
|
|
74
|
+
const title = (0, _templatePartCreate.getUniqueTemplatePartTitle)(copiedTitle, existingTemplateParts);
|
|
75
|
+
const slug = (0, _templatePartCreate.getCleanTemplatePartSlug)(title);
|
|
76
|
+
const {
|
|
77
|
+
area,
|
|
78
|
+
content
|
|
79
|
+
} = item.templatePart;
|
|
80
|
+
const result = await saveEntityRecord('postType', 'wp_template_part', {
|
|
81
|
+
slug,
|
|
82
|
+
title,
|
|
83
|
+
content,
|
|
84
|
+
area
|
|
85
|
+
}, {
|
|
86
|
+
throwOnError: true
|
|
87
|
+
});
|
|
88
|
+
createSuccessNotice((0, _i18n.sprintf)( // translators: %s: The new template part's title e.g. 'Call to action (copy)'.
|
|
89
|
+
(0, _i18n.__)('"%s" created.'), title), {
|
|
90
|
+
type: 'snackbar',
|
|
91
|
+
id: 'edit-site-patterns-success',
|
|
92
|
+
actions: [{
|
|
93
|
+
label: (0, _i18n.__)('Edit'),
|
|
94
|
+
onClick: () => history.push({
|
|
95
|
+
postType: _utils.TEMPLATE_PARTS,
|
|
96
|
+
postId: result?.id,
|
|
97
|
+
categoryType: _utils.TEMPLATE_PARTS,
|
|
98
|
+
categoryId
|
|
99
|
+
})
|
|
100
|
+
}]
|
|
101
|
+
});
|
|
102
|
+
onClose();
|
|
103
|
+
} catch (error) {
|
|
104
|
+
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while creating the template part.');
|
|
105
|
+
createErrorNotice(errorMessage, {
|
|
106
|
+
type: 'snackbar',
|
|
107
|
+
id: 'edit-site-patterns-error'
|
|
108
|
+
});
|
|
109
|
+
onClose();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
async function createPattern() {
|
|
114
|
+
try {
|
|
115
|
+
const isThemePattern = item.type === _utils.PATTERNS;
|
|
116
|
+
const title = (0, _i18n.sprintf)(
|
|
117
|
+
/* translators: %s: Existing pattern title */
|
|
118
|
+
(0, _i18n.__)('%s (Copy)'), item.title);
|
|
119
|
+
const result = await saveEntityRecord('postType', 'wp_block', {
|
|
120
|
+
content: isThemePattern ? item.content : item.reusableBlock.content,
|
|
121
|
+
meta: getPatternMeta(item),
|
|
122
|
+
status: 'publish',
|
|
123
|
+
title
|
|
124
|
+
}, {
|
|
125
|
+
throwOnError: true
|
|
126
|
+
});
|
|
127
|
+
const actionLabel = isThemePattern ? (0, _i18n.__)('View my patterns') : (0, _i18n.__)('Edit');
|
|
128
|
+
const newLocation = isThemePattern ? {
|
|
129
|
+
categoryType: _utils.USER_PATTERNS,
|
|
130
|
+
categoryId: _utils.USER_PATTERN_CATEGORY,
|
|
131
|
+
path: '/patterns'
|
|
132
|
+
} : {
|
|
133
|
+
categoryType: _utils.USER_PATTERNS,
|
|
134
|
+
categoryId: _utils.USER_PATTERN_CATEGORY,
|
|
135
|
+
postType: _utils.USER_PATTERNS,
|
|
136
|
+
postId: result?.id
|
|
137
|
+
};
|
|
138
|
+
createSuccessNotice((0, _i18n.sprintf)( // translators: %s: The new pattern's title e.g. 'Call to action (copy)'.
|
|
139
|
+
(0, _i18n.__)('"%s" added to my patterns.'), title), {
|
|
140
|
+
type: 'snackbar',
|
|
141
|
+
id: 'edit-site-patterns-success',
|
|
142
|
+
actions: [{
|
|
143
|
+
label: actionLabel,
|
|
144
|
+
onClick: () => history.push(newLocation)
|
|
145
|
+
}]
|
|
146
|
+
});
|
|
147
|
+
onClose();
|
|
148
|
+
} catch (error) {
|
|
149
|
+
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while creating the pattern.');
|
|
150
|
+
createErrorNotice(errorMessage, {
|
|
151
|
+
type: 'snackbar',
|
|
152
|
+
id: 'edit-site-patterns-error'
|
|
153
|
+
});
|
|
154
|
+
onClose();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const createItem = item.type === _utils.TEMPLATE_PARTS ? createTemplatePart : createPattern;
|
|
159
|
+
return (0, _element.createElement)(_components.MenuItem, {
|
|
160
|
+
onClick: createItem
|
|
161
|
+
}, label);
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=duplicate-menu-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/duplicate-menu-item.js"],"names":["useHistory","routerPrivateApis","getPatternMeta","item","type","PATTERNS","wp_pattern_sync_status","SYNC_TYPES","unsynced","syncStatus","reusableBlock","isUnsynced","meta","undefined","DuplicateMenuItem","categoryId","label","onClose","saveEntityRecord","coreStore","createErrorNotice","createSuccessNotice","noticesStore","history","existingTemplateParts","createTemplatePart","copiedTitle","title","slug","area","content","templatePart","result","throwOnError","id","actions","onClick","push","postType","TEMPLATE_PARTS","postId","categoryType","error","errorMessage","message","code","createPattern","isThemePattern","status","actionLabel","newLocation","USER_PATTERNS","USER_PATTERN_CATEGORY","path","createItem"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_PARTS,\n\tPATTERNS,\n\tSYNC_TYPES,\n\tUSER_PATTERNS,\n\tUSER_PATTERN_CATEGORY,\n} from './utils';\nimport {\n\tuseExistingTemplateParts,\n\tgetUniqueTemplatePartTitle,\n\tgetCleanTemplatePartSlug,\n} from '../../utils/template-part-create';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nfunction getPatternMeta( item ) {\n\tif ( item.type === PATTERNS ) {\n\t\treturn { wp_pattern_sync_status: SYNC_TYPES.unsynced };\n\t}\n\n\tconst syncStatus = item.reusableBlock.wp_pattern_sync_status;\n\tconst isUnsynced = syncStatus === SYNC_TYPES.unsynced;\n\n\treturn {\n\t\t...item.reusableBlock.meta,\n\t\twp_pattern_sync_status: isUnsynced ? syncStatus : undefined,\n\t};\n}\n\nexport default function DuplicateMenuItem( {\n\tcategoryId,\n\titem,\n\tlabel = __( 'Duplicate' ),\n\tonClose,\n} ) {\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst history = useHistory();\n\tconst existingTemplateParts = useExistingTemplateParts();\n\n\tasync function createTemplatePart() {\n\t\ttry {\n\t\t\tconst copiedTitle = sprintf(\n\t\t\t\t/* translators: %s: Existing template part title */\n\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\titem.title\n\t\t\t);\n\t\t\tconst title = getUniqueTemplatePartTitle(\n\t\t\t\tcopiedTitle,\n\t\t\t\texistingTemplateParts\n\t\t\t);\n\t\t\tconst slug = getCleanTemplatePartSlug( title );\n\t\t\tconst { area, content } = item.templatePart;\n\n\t\t\tconst result = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t{ slug, title, content, area },\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new template part's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" created.' ),\n\t\t\t\t\ttitle\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-patterns-success',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\tpostType: TEMPLATE_PARTS,\n\t\t\t\t\t\t\t\t\tpostId: result?.id,\n\t\t\t\t\t\t\t\t\tcategoryType: TEMPLATE_PARTS,\n\t\t\t\t\t\t\t\t\tcategoryId,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tonClose();\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'edit-site-patterns-error',\n\t\t\t} );\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tasync function createPattern() {\n\t\ttry {\n\t\t\tconst isThemePattern = item.type === PATTERNS;\n\t\t\tconst title = sprintf(\n\t\t\t\t/* translators: %s: Existing pattern title */\n\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\titem.title\n\t\t\t);\n\n\t\t\tconst result = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\t{\n\t\t\t\t\tcontent: isThemePattern\n\t\t\t\t\t\t? item.content\n\t\t\t\t\t\t: item.reusableBlock.content,\n\t\t\t\t\tmeta: getPatternMeta( item ),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tconst actionLabel = isThemePattern\n\t\t\t\t? __( 'View my patterns' )\n\t\t\t\t: __( 'Edit' );\n\n\t\t\tconst newLocation = isThemePattern\n\t\t\t\t? {\n\t\t\t\t\t\tcategoryType: USER_PATTERNS,\n\t\t\t\t\t\tcategoryId: USER_PATTERN_CATEGORY,\n\t\t\t\t\t\tpath: '/patterns',\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tcategoryType: USER_PATTERNS,\n\t\t\t\t\t\tcategoryId: USER_PATTERN_CATEGORY,\n\t\t\t\t\t\tpostType: USER_PATTERNS,\n\t\t\t\t\t\tpostId: result?.id,\n\t\t\t\t };\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new pattern's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" added to my patterns.' ),\n\t\t\t\t\ttitle\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-patterns-success',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: actionLabel,\n\t\t\t\t\t\t\tonClick: () => history.push( newLocation ),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tonClose();\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the pattern.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'edit-site-patterns-error',\n\t\t\t} );\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tconst createItem =\n\t\titem.type === TEMPLATE_PARTS ? createTemplatePart : createPattern;\n\n\treturn <MenuItem onClick={ createItem }>{ label }</MenuItem>;\n}\n"]}
|