@wordpress/edit-site 4.17.0 → 4.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-template/add-custom-template-modal.js +3 -1
  3. package/build/components/add-new-template/add-custom-template-modal.js.map +1 -1
  4. package/build/components/app/index.js +8 -3
  5. package/build/components/app/index.js.map +1 -1
  6. package/build/components/block-editor/resizable-editor.js +9 -47
  7. package/build/components/block-editor/resizable-editor.js.map +1 -1
  8. package/build/components/editor/index.js +9 -13
  9. package/build/components/editor/index.js.map +1 -1
  10. package/build/components/global-styles/border-panel.js +2 -1
  11. package/build/components/global-styles/border-panel.js.map +1 -1
  12. package/build/components/global-styles/dimensions-panel.js +46 -2
  13. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  14. package/build/components/global-styles/global-styles-provider.js +6 -5
  15. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  16. package/build/components/global-styles/hooks.js +32 -0
  17. package/build/components/global-styles/hooks.js.map +1 -1
  18. package/build/components/global-styles/palette.js +8 -1
  19. package/build/components/global-styles/palette.js.map +1 -1
  20. package/build/components/global-styles/typography-panel.js +53 -16
  21. package/build/components/global-styles/typography-panel.js.map +1 -1
  22. package/build/components/global-styles/use-global-styles-output.js +43 -8
  23. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  24. package/build/components/header-edit-mode/document-actions/index.js +3 -1
  25. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  26. package/build/components/header-edit-mode/index.js +15 -13
  27. package/build/components/header-edit-mode/index.js.map +1 -1
  28. package/build/components/keyboard-shortcut-help-modal/shortcut.js +1 -7
  29. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  30. package/build/components/keyboard-shortcuts/index.js +8 -5
  31. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  32. package/build/components/list/table.js +1 -1
  33. package/build/components/list/table.js.map +1 -1
  34. package/build/components/list/use-register-shortcuts.js +3 -0
  35. package/build/components/list/use-register-shortcuts.js.map +1 -1
  36. package/build/components/navigation-sidebar/navigation-panel/index.js +9 -8
  37. package/build/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  38. package/build/components/save-button/index.js +36 -14
  39. package/build/components/save-button/index.js.map +1 -1
  40. package/build/components/sidebar-edit-mode/template-card/index.js +4 -2
  41. package/build/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  42. package/build/components/template-details/index.js +4 -2
  43. package/build/components/template-details/index.js.map +1 -1
  44. package/build/index.js +5 -10
  45. package/build/index.js.map +1 -1
  46. package/build/store/actions.js +15 -0
  47. package/build/store/actions.js.map +1 -1
  48. package/build/store/reducer.js +28 -1
  49. package/build/store/reducer.js.map +1 -1
  50. package/build/store/selectors.js +13 -0
  51. package/build/store/selectors.js.map +1 -1
  52. package/build-module/components/add-new-template/add-custom-template-modal.js +2 -1
  53. package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
  54. package/build-module/components/app/index.js +8 -3
  55. package/build-module/components/app/index.js.map +1 -1
  56. package/build-module/components/block-editor/resizable-editor.js +11 -49
  57. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  58. package/build-module/components/editor/index.js +10 -14
  59. package/build-module/components/editor/index.js.map +1 -1
  60. package/build-module/components/global-styles/border-panel.js +2 -1
  61. package/build-module/components/global-styles/border-panel.js.map +1 -1
  62. package/build-module/components/global-styles/dimensions-panel.js +46 -2
  63. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  64. package/build-module/components/global-styles/global-styles-provider.js +7 -6
  65. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  66. package/build-module/components/global-styles/hooks.js +27 -1
  67. package/build-module/components/global-styles/hooks.js.map +1 -1
  68. package/build-module/components/global-styles/palette.js +9 -3
  69. package/build-module/components/global-styles/palette.js.map +1 -1
  70. package/build-module/components/global-styles/typography-panel.js +54 -16
  71. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  72. package/build-module/components/global-styles/use-global-styles-output.js +44 -9
  73. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  74. package/build-module/components/header-edit-mode/document-actions/index.js +2 -1
  75. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  76. package/build-module/components/header-edit-mode/index.js +14 -13
  77. package/build-module/components/header-edit-mode/index.js.map +1 -1
  78. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +1 -6
  79. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  80. package/build-module/components/keyboard-shortcuts/index.js +8 -5
  81. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  82. package/build-module/components/list/table.js +1 -1
  83. package/build-module/components/list/table.js.map +1 -1
  84. package/build-module/components/list/use-register-shortcuts.js +3 -0
  85. package/build-module/components/list/use-register-shortcuts.js.map +1 -1
  86. package/build-module/components/navigation-sidebar/navigation-panel/index.js +9 -7
  87. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  88. package/build-module/components/save-button/index.js +39 -16
  89. package/build-module/components/save-button/index.js.map +1 -1
  90. package/build-module/components/sidebar-edit-mode/template-card/index.js +3 -2
  91. package/build-module/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  92. package/build-module/components/template-details/index.js +3 -2
  93. package/build-module/components/template-details/index.js.map +1 -1
  94. package/build-module/index.js +5 -3
  95. package/build-module/index.js.map +1 -1
  96. package/build-module/store/actions.js +13 -0
  97. package/build-module/store/actions.js.map +1 -1
  98. package/build-module/store/reducer.js +26 -1
  99. package/build-module/store/reducer.js.map +1 -1
  100. package/build-module/store/selectors.js +11 -0
  101. package/build-module/store/selectors.js.map +1 -1
  102. package/build-style/style-rtl.css +17 -15
  103. package/build-style/style.css +17 -15
  104. package/package.json +30 -29
  105. package/src/components/add-new-template/add-custom-template-modal.js +5 -1
  106. package/src/components/app/index.js +11 -2
  107. package/src/components/block-editor/resizable-editor.js +10 -55
  108. package/src/components/block-editor/style.scss +1 -0
  109. package/src/components/editor/index.js +16 -25
  110. package/src/components/editor/style.scss +1 -7
  111. package/src/components/global-styles/border-panel.js +1 -0
  112. package/src/components/global-styles/dimensions-panel.js +59 -1
  113. package/src/components/global-styles/global-styles-provider.js +5 -6
  114. package/src/components/global-styles/hooks.js +36 -0
  115. package/src/components/global-styles/palette.js +15 -1
  116. package/src/components/global-styles/style.scss +1 -0
  117. package/src/components/global-styles/test/typography-utils.js +82 -98
  118. package/src/components/global-styles/test/use-global-styles-output.js +6 -6
  119. package/src/components/global-styles/typography-panel.js +58 -15
  120. package/src/components/global-styles/use-global-styles-output.js +47 -10
  121. package/src/components/header-edit-mode/document-actions/index.js +2 -1
  122. package/src/components/header-edit-mode/index.js +10 -13
  123. package/src/components/keyboard-shortcut-help-modal/shortcut.js +15 -18
  124. package/src/components/keyboard-shortcuts/index.js +7 -2
  125. package/src/components/list/table.js +1 -1
  126. package/src/components/list/use-register-shortcuts.js +4 -0
  127. package/src/components/navigation-sidebar/navigation-panel/index.js +30 -24
  128. package/src/components/navigation-sidebar/navigation-panel/style.scss +0 -7
  129. package/src/components/navigation-sidebar/navigation-toggle/test/index.js +24 -30
  130. package/src/components/save-button/index.js +31 -15
  131. package/src/components/sidebar-edit-mode/template-card/index.js +3 -2
  132. package/src/components/template-details/index.js +3 -2
  133. package/src/index.js +10 -3
  134. package/src/store/actions.js +13 -0
  135. package/src/store/reducer.js +19 -0
  136. package/src/store/selectors.js +11 -0
  137. package/build/components/main-dashboard-button/index.js +0 -41
  138. package/build/components/main-dashboard-button/index.js.map +0 -1
  139. package/build-module/components/main-dashboard-button/index.js +0 -32
  140. package/build-module/components/main-dashboard-button/index.js.map +0 -1
  141. package/src/components/main-dashboard-button/index.js +0 -28
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/store/actions.js"],"names":["apiFetch","parse","__unstableSerializeAndClean","deprecated","addQueryArgs","getPathAndQueryString","__","sprintf","store","noticesStore","coreStore","interfaceStore","blockEditorStore","speak","preferencesStore","STORE_NAME","editSiteStoreName","isTemplateRevertable","toggleFeature","featureName","registry","since","alternative","dispatch","toggle","__experimentalSetPreviewDeviceType","deviceType","type","setTemplate","templateId","templateSlug","template","resolveSelect","getEntityRecord","slug","page","context","addTemplate","newTemplate","saveEntityRecord","content","editEntityRecord","id","blocks","undoIgnore","removeTemplate","deleteEntityRecord","force","lastError","select","getLastEntityDeleteError","createSuccessNotice","title","rendered","error","errorMessage","message","code","createErrorNotice","setTemplatePart","templatePartId","setHomeTemplateId","homeTemplateId","setPage","path","postId","entity","postType","link","__experimentalGetTemplateForLink","setNavigationPanelActiveMenu","menu","openNavigationPanelToMenu","setIsNavigationPanelOpened","isOpen","setIsInserterOpened","value","updateSettings","settings","setIsListViewOpened","revertTemplate","allowUndo","templateEntityConfig","getEntityConfig","fileTemplatePath","baseURL","source","fileTemplate","serializeBlocks","blocksForSerialization","edited","getEditedEntityRecord","raw","undoRevert","actions","label","onClick","openGeneralSidebar","name","enableComplementaryArea","closeGeneralSidebar","disableComplementaryArea","switchEditorMode","mode","set","clearSelectedBlock"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,QAAP,MAAqB,sBAArB;AACA,SAASC,KAAT,EAAgBC,2BAAhB,QAAmD,mBAAnD;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AACA,SAASC,YAAT,EAAuBC,qBAAvB,QAAoD,gBAApD;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AACA,SAASD,KAAK,IAAIE,SAAlB,QAAmC,sBAAnC;AACA,SAASF,KAAK,IAAIG,cAAlB,QAAwC,sBAAxC;AACA,SAASH,KAAK,IAAII,gBAAlB,QAA0C,yBAA1C;AACA,SAASC,KAAT,QAAsB,iBAAtB;AACA,SAASL,KAAK,IAAIM,gBAAlB,QAA0C,wBAA1C;AAEA;AACA;AACA;;AACA,SAASC,UAAU,IAAIC,iBAAvB,QAAgD,aAAhD;AACA,OAAOC,oBAAP,MAAiC,iCAAjC;AAEA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,aAAT,CAAwBC,WAAxB,EAAsC;AAC5C,SAAO,gBAA0B;AAAA,QAAf;AAAEC,MAAAA;AAAF,KAAe;AAChCjB,IAAAA,UAAU,CAAE,yDAAF,EAA6D;AACtEkB,MAAAA,KAAK,EAAE,KAD+D;AAEtEC,MAAAA,WAAW,EACV;AAHqE,KAA7D,CAAV;AAMAF,IAAAA,QAAQ,CACNG,QADF,CACYT,gBADZ,EAEEU,MAFF,CAEU,gBAFV,EAE4BL,WAF5B;AAGA,GAVD;AAWA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASM,kCAAT,CAA6CC,UAA7C,EAA0D;AAChE,SAAO;AACNC,IAAAA,IAAI,EAAE,yBADA;AAEND,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAME,WAAW,GACvB,CAAEC,UAAF,EAAcC,YAAd,KACA,eAAoC;AAAA,MAA5B;AAAEP,IAAAA,QAAF;AAAYH,IAAAA;AAAZ,GAA4B;;AACnC,MAAK,CAAEU,YAAP,EAAsB;AACrB,UAAMC,QAAQ,GAAG,MAAMX,QAAQ,CAC7BY,aADqB,CACNtB,SADM,EAErBuB,eAFqB,CAEJ,UAFI,EAEQ,aAFR,EAEuBJ,UAFvB,CAAvB;AAGAC,IAAAA,YAAY,GAAGC,QAAH,aAAGA,QAAH,uBAAGA,QAAQ,CAAEG,IAAzB;AACA;;AAEDX,EAAAA,QAAQ,CAAE;AACTI,IAAAA,IAAI,EAAE,cADG;AAETE,IAAAA,UAFS;AAGTM,IAAAA,IAAI,EAAE;AAAEC,MAAAA,OAAO,EAAE;AAAEN,QAAAA;AAAF;AAAX;AAHG,GAAF,CAAR;AAKA,CAfK;AAiBP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMO,WAAW,GACrBN,QAAF,IACA,eAAoC;AAAA,MAA5B;AAAER,IAAAA,QAAF;AAAYH,IAAAA;AAAZ,GAA4B;AACnC,QAAMkB,WAAW,GAAG,MAAMlB,QAAQ,CAChCG,QADwB,CACdb,SADc,EAExB6B,gBAFwB,CAEN,UAFM,EAEM,aAFN,EAEqBR,QAFrB,CAA1B;;AAIA,MAAKA,QAAQ,CAACS,OAAd,EAAwB;AACvBpB,IAAAA,QAAQ,CACNG,QADF,CACYb,SADZ,EAEE+B,gBAFF,CAGE,UAHF,EAIE,aAJF,EAKEH,WAAW,CAACI,EALd,EAME;AAAEC,MAAAA,MAAM,EAAE1C,KAAK,CAAE8B,QAAQ,CAACS,OAAX;AAAf,KANF,EAOE;AAAEI,MAAAA,UAAU,EAAE;AAAd,KAPF;AASA;;AAEDrB,EAAAA,QAAQ,CAAE;AACTI,IAAAA,IAAI,EAAE,cADG;AAETE,IAAAA,UAAU,EAAES,WAAW,CAACI,EAFf;AAGTP,IAAAA,IAAI,EAAE;AAAEC,MAAAA,OAAO,EAAE;AAAEN,QAAAA,YAAY,EAAEQ,WAAW,CAACJ;AAA5B;AAAX;AAHG,GAAF,CAAR;AAKA,CAxBK;AA0BP;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMW,cAAc,GACxBd,QAAF,IACA,eAA0B;AAAA,MAAlB;AAAEX,IAAAA;AAAF,GAAkB;;AACzB,MAAI;AACH,UAAMA,QAAQ,CACZG,QADI,CACMb,SADN,EAEJoC,kBAFI,CAEgB,UAFhB,EAE4Bf,QAAQ,CAACJ,IAFrC,EAE2CI,QAAQ,CAACW,EAFpD,EAEwD;AAC5DK,MAAAA,KAAK,EAAE;AADqD,KAFxD,CAAN;AAMA,UAAMC,SAAS,GAAG5B,QAAQ,CACxB6B,MADgB,CACRvC,SADQ,EAEhBwC,wBAFgB,CAGhB,UAHgB,EAIhBnB,QAAQ,CAACJ,IAJO,EAKhBI,QAAQ,CAACW,EALO,CAAlB;;AAQA,QAAKM,SAAL,EAAiB;AAChB,YAAMA,SAAN;AACA;;AAED5B,IAAAA,QAAQ,CAACG,QAAT,CAAmBd,YAAnB,EAAkC0C,mBAAlC,CACC5C,OAAO;AACN;AACAD,IAAAA,EAAE,CAAE,eAAF,CAFI,EAGNyB,QAAQ,CAACqB,KAAT,CAAeC,QAHT,CADR,EAMC;AAAE1B,MAAAA,IAAI,EAAE;AAAR,KAND;AAQA,GA3BD,CA2BE,OAAQ2B,KAAR,EAAgB;AACjB,UAAMC,YAAY,GACjBD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,IAAN,KAAe,eAAhC,GACGH,KAAK,CAACE,OADT,GAEGlD,EAAE,CAAE,gDAAF,CAHN;AAKAc,IAAAA,QAAQ,CACNG,QADF,CACYd,YADZ,EAEEiD,iBAFF,CAEqBH,YAFrB,EAEmC;AAAE5B,MAAAA,IAAI,EAAE;AAAR,KAFnC;AAGA;AACD,CAxCK;AA0CP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASgC,eAAT,CAA0BC,cAA1B,EAA2C;AACjD,SAAO;AACNjC,IAAAA,IAAI,EAAE,mBADA;AAENiC,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,iBAAT,CAA4BC,cAA5B,EAA6C;AACnD,SAAO;AACNnC,IAAAA,IAAI,EAAE,mBADA;AAENmC,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,OAAO,GACjB5B,IAAF,IACA,eAAoC;AAAA;;AAAA,MAA5B;AAAEZ,IAAAA,QAAF;AAAYH,IAAAA;AAAZ,GAA4B;;AACnC,MAAK,CAAEe,IAAI,CAAC6B,IAAP,qBAAe7B,IAAI,CAACC,OAApB,0CAAe,cAAc6B,MAAlC,EAA2C;AAC1C,UAAMC,MAAM,GAAG,MAAM9C,QAAQ,CAC3BY,aADmB,CACJtB,SADI,EAEnBuB,eAFmB,CAGnB,UAHmB,EAInBE,IAAI,CAACC,OAAL,CAAa+B,QAAb,IAAyB,MAJN,EAKnBhC,IAAI,CAACC,OAAL,CAAa6B,MALM,CAArB,CAD0C,CAQ1C;;AACA9B,IAAAA,IAAI,CAAC6B,IAAL,GAAY3D,qBAAqB,CAAE6D,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEE,IAAV,CAAjC;AACA;;AAED,QAAMrC,QAAQ,GAAG,MAAMX,QAAQ,CAC7BY,aADqB,CACNtB,SADM,EAErB2D,gCAFqB,CAEalC,IAAI,CAAC6B,IAFlB,CAAvB;;AAIA,MAAK,CAAEjC,QAAP,EAAkB;AACjB;AACA;;AAEDR,EAAAA,QAAQ,CAAE;AACTI,IAAAA,IAAI,EAAE,UADG;AAETQ,IAAAA,IAAI,EAAEJ,QAAQ,CAACG,IAAT,GACH,EACA,GAAGC,IADH;AAEAC,MAAAA,OAAO,EAAE,EACR,GAAGD,IAAI,CAACC,OADA;AAERN,QAAAA,YAAY,EAAEC,QAAQ,CAACG;AAFf;AAFT,KADG,GAQHC,IAVM;AAWTN,IAAAA,UAAU,EAAEE,QAAQ,CAACW;AAXZ,GAAF,CAAR;AAcA,SAAOX,QAAQ,CAACW,EAAhB;AACA,CAtCK;AAwCP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAAS4B,4BAAT,CAAuCC,IAAvC,EAA8C;AACpD,SAAO;AACN5C,IAAAA,IAAI,EAAE,kCADA;AAEN4C,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,yBAAT,CAAoCD,IAApC,EAA2C;AACjD,SAAO;AACN5C,IAAAA,IAAI,EAAE,+BADA;AAEN4C,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,0BAAT,CAAqCC,MAArC,EAA8C;AACpD,SAAO;AACN/C,IAAAA,IAAI,EAAE,gCADA;AAEN+C,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,mBAAT,CAA8BC,KAA9B,EAAsC;AAC5C,SAAO;AACNjD,IAAAA,IAAI,EAAE,wBADA;AAENiD,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,cAAT,CAAyBC,QAAzB,EAAoC;AAC1C,SAAO;AACNnD,IAAAA,IAAI,EAAE,iBADA;AAENmD,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,mBAAT,CAA8BL,MAA9B,EAAuC;AAC7C,SAAO;AACN/C,IAAAA,IAAI,EAAE,yBADA;AAEN+C,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMM,cAAc,GAC1B,UAAEjD,QAAF;AAAA,MAAY;AAAEkD,IAAAA,SAAS,GAAG;AAAd,GAAZ,uEAAmC,EAAnC;AAAA,SACA,eAA0B;AAAA,QAAlB;AAAE7D,MAAAA;AAAF,KAAkB;;AACzB,QAAK,CAAEH,oBAAoB,CAAEc,QAAF,CAA3B,EAA0C;AACzCX,MAAAA,QAAQ,CACNG,QADF,CACYd,YADZ,EAEEiD,iBAFF,CAEqBpD,EAAE,CAAE,kCAAF,CAFvB,EAE+D;AAC7DqB,QAAAA,IAAI,EAAE;AADuD,OAF/D;AAKA;AACA;;AAED,QAAI;AAAA;;AACH,YAAMuD,oBAAoB,GAAG9D,QAAQ,CACnC6B,MAD2B,CACnBvC,SADmB,EAE3ByE,eAF2B,CAEV,UAFU,EAEEpD,QAAQ,CAACJ,IAFX,CAA7B;;AAIA,UAAK,CAAEuD,oBAAP,EAA8B;AAC7B9D,QAAAA,QAAQ,CACNG,QADF,CACYd,YADZ,EAEEiD,iBAFF,CAGEpD,EAAE,CACD,gEADC,CAHJ,EAME;AAAEqB,UAAAA,IAAI,EAAE;AAAR,SANF;AAQA;AACA;;AAED,YAAMyD,gBAAgB,GAAGhF,YAAY,CACnC,GAAG8E,oBAAoB,CAACG,OAAS,IAAItD,QAAQ,CAACW,EAAI,EADf,EAEpC;AAAEN,QAAAA,OAAO,EAAE,MAAX;AAAmBkD,QAAAA,MAAM,EAAE;AAA3B,OAFoC,CAArC;AAKA,YAAMC,YAAY,GAAG,MAAMvF,QAAQ,CAAE;AAAEgE,QAAAA,IAAI,EAAEoB;AAAR,OAAF,CAAnC;;AACA,UAAK,CAAEG,YAAP,EAAsB;AACrBnE,QAAAA,QAAQ,CACNG,QADF,CACYd,YADZ,EAEEiD,iBAFF,CAGEpD,EAAE,CACD,gEADC,CAHJ,EAME;AAAEqB,UAAAA,IAAI,EAAE;AAAR,SANF;AAQA;AACA;;AAED,YAAM6D,eAAe,GAAG;AAAA,YAAE;AACzB7C,UAAAA,MAAM,EAAE8C,sBAAsB,GAAG;AADR,SAAF;AAAA,eAEjBvF,2BAA2B,CAAEuF,sBAAF,CAFV;AAAA,OAAxB;;AAIA,YAAMC,MAAM,GAAGtE,QAAQ,CACrB6B,MADa,CACLvC,SADK,EAEbiF,qBAFa,CAGb,UAHa,EAIb5D,QAAQ,CAACJ,IAJI,EAKbI,QAAQ,CAACW,EALI,CAAf,CAvCG,CA+CH;AACA;;AACAtB,MAAAA,QAAQ,CAACG,QAAT,CAAmBb,SAAnB,EAA+B+B,gBAA/B,CACC,UADD,EAECV,QAAQ,CAACJ,IAFV,EAGCI,QAAQ,CAACW,EAHV,EAIC;AACCF,QAAAA,OAAO,EAAEgD,eADV;AAC2B;AAC1B7C,QAAAA,MAAM,EAAE+C,MAAM,CAAC/C,MAFhB;AAEwB;AACvB2C,QAAAA,MAAM,EAAE,QAHT,CAGmB;;AAHnB,OAJD,EASC;AACC1C,QAAAA,UAAU,EAAE,IADb,CACmB;;AADnB,OATD;AAcA,YAAMD,MAAM,GAAG1C,KAAK,CAAEsF,YAAF,aAAEA,YAAF,gDAAEA,YAAY,CAAE/C,OAAhB,0DAAE,sBAAuBoD,GAAzB,CAApB;AACAxE,MAAAA,QAAQ,CACNG,QADF,CACYb,SADZ,EAEE+B,gBAFF,CAEoB,UAFpB,EAEgCV,QAAQ,CAACJ,IAFzC,EAE+C4D,YAAY,CAAC7C,EAF5D,EAEgE;AAC9DF,QAAAA,OAAO,EAAEgD,eADqD;AAE9D7C,QAAAA,MAF8D;AAG9D2C,QAAAA,MAAM,EAAE;AAHsD,OAFhE;;AAQA,UAAKL,SAAL,EAAiB;AAChB,cAAMY,UAAU,GAAG,MAAM;AACxBzE,UAAAA,QAAQ,CACNG,QADF,CACYb,SADZ,EAEE+B,gBAFF,CAGE,UAHF,EAIEV,QAAQ,CAACJ,IAJX,EAKE+D,MAAM,CAAChD,EALT,EAME;AACCF,YAAAA,OAAO,EAAEgD,eADV;AAEC7C,YAAAA,MAAM,EAAE+C,MAAM,CAAC/C,MAFhB;AAGC2C,YAAAA,MAAM,EAAE;AAHT,WANF;AAYA,SAbD;;AAeAlE,QAAAA,QAAQ,CACNG,QADF,CACYd,YADZ,EAEE0C,mBAFF,CAEuB7C,EAAE,CAAE,oBAAF,CAFzB,EAEmD;AACjDqB,UAAAA,IAAI,EAAE,UAD2C;AAEjDmE,UAAAA,OAAO,EAAE,CACR;AACCC,YAAAA,KAAK,EAAEzF,EAAE,CAAE,MAAF,CADV;AAEC0F,YAAAA,OAAO,EAAEH;AAFV,WADQ;AAFwC,SAFnD;AAWA,OA3BD,MA2BO;AACNzE,QAAAA,QAAQ,CACNG,QADF,CACYd,YADZ,EAEE0C,mBAFF,CAEuB7C,EAAE,CAAE,oBAAF,CAFzB;AAGA;AACD,KAxGD,CAwGE,OAAQgD,KAAR,EAAgB;AACjB,YAAMC,YAAY,GACjBD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,IAAN,KAAe,eAAhC,GACGH,KAAK,CAACE,OADT,GAEGlD,EAAE,CAAE,wCAAF,CAHN;AAIAc,MAAAA,QAAQ,CACNG,QADF,CACYd,YADZ,EAEEiD,iBAFF,CAEqBH,YAFrB,EAEmC;AAAE5B,QAAAA,IAAI,EAAE;AAAR,OAFnC;AAGA;AACD,GA5HD;AAAA,CADM;AA8HP;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMsE,kBAAkB,GAC5BC,IAAF,IACA,SAAoB;AAAA,MAAlB;AAAE9E,IAAAA;AAAF,GAAkB;AACnBA,EAAAA,QAAQ,CACNG,QADF,CACYZ,cADZ,EAEEwF,uBAFF,CAE2BnF,iBAF3B,EAE8CkF,IAF9C;AAGA,CANK;AAQP;AACA;AACA;;AACA,OAAO,MAAME,mBAAmB,GAC/B,MACA,SAAoB;AAAA,MAAlB;AAAEhF,IAAAA;AAAF,GAAkB;AACnBA,EAAAA,QAAQ,CACNG,QADF,CACYZ,cADZ,EAEE0F,wBAFF,CAE4BrF,iBAF5B;AAGA,CANK;AAQP,OAAO,MAAMsF,gBAAgB,GAC1BC,IAAF,IACA,UAAoB;AAAA,MAAlB;AAAEnF,IAAAA;AAAF,GAAkB;AACnBA,EAAAA,QAAQ,CACNG,QADF,CACY,kBADZ,EAEEiF,GAFF,CAEO,gBAFP,EAEyB,YAFzB,EAEuCD,IAFvC,EADmB,CAKnB;;AACA,MAAKA,IAAI,KAAK,QAAd,EAAyB;AACxBnF,IAAAA,QAAQ,CAACG,QAAT,CAAmBX,gBAAnB,EAAsC6F,kBAAtC;AACA;;AAED,MAAKF,IAAI,KAAK,QAAd,EAAyB;AACxB1F,IAAAA,KAAK,CAAEP,EAAE,CAAE,wBAAF,CAAJ,EAAkC,WAAlC,CAAL;AACA,GAFD,MAEO,IAAKiG,IAAI,KAAK,QAAd,EAAyB;AAC/B1F,IAAAA,KAAK,CAAEP,EAAE,CAAE,sBAAF,CAAJ,EAAgC,WAAhC,CAAL;AACA;AACD,CAjBK","sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport { parse, __unstableSerializeAndClean } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\nimport { addQueryArgs, getPathAndQueryString } from '@wordpress/url';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { speak } from '@wordpress/a11y';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { STORE_NAME as editSiteStoreName } from './constants';\nimport isTemplateRevertable from '../utils/is-template-revertable';\n\n/**\n * Dispatches an action that toggles a feature flag.\n *\n * @param {string} featureName Feature name.\n */\nexport function toggleFeature( featureName ) {\n\treturn function ( { registry } ) {\n\t\tdeprecated( \"select( 'core/edit-site' ).toggleFeature( featureName )\", {\n\t\t\tsince: '6.0',\n\t\t\talternative:\n\t\t\t\t\"select( 'core/preferences').toggle( 'core/edit-site', featureName )\",\n\t\t} );\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.toggle( 'core/edit-site', featureName );\n\t};\n}\n\n/**\n * Action that changes the width of the editing canvas.\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function __experimentalSetPreviewDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_PREVIEW_DEVICE_TYPE',\n\t\tdeviceType,\n\t};\n}\n\n/**\n * Action that sets a template, optionally fetching it from REST API.\n *\n * @param {number} templateId The template ID.\n * @param {string} templateSlug The template slug.\n * @return {Object} Action object.\n */\nexport const setTemplate =\n\t( templateId, templateSlug ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tif ( ! templateSlug ) {\n\t\t\tconst template = await registry\n\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t.getEntityRecord( 'postType', 'wp_template', templateId );\n\t\t\ttemplateSlug = template?.slug;\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_TEMPLATE',\n\t\t\ttemplateId,\n\t\t\tpage: { context: { templateSlug } },\n\t\t} );\n\t};\n\n/**\n * Action that adds a new template and sets it as the current template.\n *\n * @param {Object} template The template.\n *\n * @return {Object} Action object used to set the current template.\n */\nexport const addTemplate =\n\t( template ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tconst newTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', 'wp_template', template );\n\n\t\tif ( template.content ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_template',\n\t\t\t\t\tnewTemplate.id,\n\t\t\t\t\t{ blocks: parse( template.content ) },\n\t\t\t\t\t{ undoIgnore: true }\n\t\t\t\t);\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_TEMPLATE',\n\t\t\ttemplateId: newTemplate.id,\n\t\t\tpage: { context: { templateSlug: newTemplate.slug } },\n\t\t} );\n\t};\n\n/**\n * Action that removes a template.\n *\n * @param {Object} template The template object.\n */\nexport const removeTemplate =\n\t( template ) =>\n\tasync ( { registry } ) => {\n\t\ttry {\n\t\t\tawait registry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.deleteEntityRecord( 'postType', template.type, template.id, {\n\t\t\t\t\tforce: true,\n\t\t\t\t} );\n\n\t\t\tconst lastError = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getLastEntityDeleteError(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id\n\t\t\t\t);\n\n\t\t\tif ( lastError ) {\n\t\t\t\tthrow lastError;\n\t\t\t}\n\n\t\t\tregistry.dispatch( noticesStore ).createSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\ttemplate.title.rendered\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar' }\n\t\t\t);\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 deleting the template.' );\n\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n\n/**\n * Action that sets a template part.\n *\n * @param {string} templatePartId The template part ID.\n *\n * @return {Object} Action object.\n */\nexport function setTemplatePart( templatePartId ) {\n\treturn {\n\t\ttype: 'SET_TEMPLATE_PART',\n\t\ttemplatePartId,\n\t};\n}\n\n/**\n * Action that sets the home template ID to the template ID of the page resolved\n * from a given path.\n *\n * @param {number} homeTemplateId The template ID for the homepage.\n */\nexport function setHomeTemplateId( homeTemplateId ) {\n\treturn {\n\t\ttype: 'SET_HOME_TEMPLATE',\n\t\thomeTemplateId,\n\t};\n}\n\n/**\n * Resolves the template for a page and displays both. If no path is given, attempts\n * to use the postId to generate a path like `?p=${ postId }`.\n *\n * @param {Object} page The page object.\n * @param {string} page.type The page type.\n * @param {string} page.slug The page slug.\n * @param {string} page.path The page path.\n * @param {Object} page.context The page context.\n *\n * @return {number} The resolved template ID for the page route.\n */\nexport const setPage =\n\t( page ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tif ( ! page.path && page.context?.postId ) {\n\t\t\tconst entity = await registry\n\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t.getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpage.context.postType || 'post',\n\t\t\t\t\tpage.context.postId\n\t\t\t\t);\n\t\t\t// If the entity is undefined for some reason, path will resolve to \"/\"\n\t\t\tpage.path = getPathAndQueryString( entity?.link );\n\t\t}\n\n\t\tconst template = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.__experimentalGetTemplateForLink( page.path );\n\n\t\tif ( ! template ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_PAGE',\n\t\t\tpage: template.slug\n\t\t\t\t? {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page.context,\n\t\t\t\t\t\t\ttemplateSlug: template.slug,\n\t\t\t\t\t\t},\n\t\t\t\t }\n\t\t\t\t: page,\n\t\t\ttemplateId: template.id,\n\t\t} );\n\n\t\treturn template.id;\n\t};\n\n/**\n * Action that sets the active navigation panel menu.\n *\n * @param {string} menu Menu prop of active menu.\n *\n * @return {Object} Action object.\n */\nexport function setNavigationPanelActiveMenu( menu ) {\n\treturn {\n\t\ttype: 'SET_NAVIGATION_PANEL_ACTIVE_MENU',\n\t\tmenu,\n\t};\n}\n\n/**\n * Opens the navigation panel and sets its active menu at the same time.\n *\n * @param {string} menu Identifies the menu to open.\n */\nexport function openNavigationPanelToMenu( menu ) {\n\treturn {\n\t\ttype: 'OPEN_NAVIGATION_PANEL_TO_MENU',\n\t\tmenu,\n\t};\n}\n\n/**\n * Sets whether the navigation panel should be open.\n *\n * @param {boolean} isOpen If true, opens the nav panel. If false, closes it. It\n * does not toggle the state, but sets it directly.\n */\nexport function setIsNavigationPanelOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_NAVIGATION_PANEL_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Opens or closes the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\n\n/**\n * Returns an action object used to update the settings.\n *\n * @param {Object} settings New settings.\n *\n * @return {Object} Action object.\n */\nexport function updateSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_SETTINGS',\n\t\tsettings,\n\t};\n}\n\n/**\n * Sets whether the list view panel should be open.\n *\n * @param {boolean} isOpen If true, opens the list view. If false, closes it.\n * It does not toggle the state, but sets it directly.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Reverts a template to its original theme-provided file.\n *\n * @param {Object} template The template to revert.\n * @param {Object} [options]\n * @param {boolean} [options.allowUndo] Whether to allow the user to undo\n * reverting the template. Default true.\n */\nexport const revertTemplate =\n\t( template, { allowUndo = true } = {} ) =>\n\tasync ( { registry } ) => {\n\t\tif ( ! isTemplateRevertable( template ) ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( __( 'This template is not revertable.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst templateEntityConfig = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEntityConfig( 'postType', template.type );\n\n\t\t\tif ( ! templateEntityConfig ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst fileTemplatePath = addQueryArgs(\n\t\t\t\t`${ templateEntityConfig.baseURL }/${ template.id }`,\n\t\t\t\t{ context: 'edit', source: 'theme' }\n\t\t\t);\n\n\t\t\tconst fileTemplate = await apiFetch( { path: fileTemplatePath } );\n\t\t\tif ( ! fileTemplate ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst serializeBlocks = ( {\n\t\t\t\tblocks: blocksForSerialization = [],\n\t\t\t} ) => __unstableSerializeAndClean( blocksForSerialization );\n\n\t\t\tconst edited = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id\n\t\t\t\t);\n\n\t\t\t// We are fixing up the undo level here to make sure we can undo\n\t\t\t// the revert in the header toolbar correctly.\n\t\t\tregistry.dispatch( coreStore ).editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\ttemplate.type,\n\t\t\t\ttemplate.id,\n\t\t\t\t{\n\t\t\t\t\tcontent: serializeBlocks, // Required to make the `undo` behave correctly.\n\t\t\t\t\tblocks: edited.blocks, // Required to revert the blocks in the editor.\n\t\t\t\t\tsource: 'custom', // required to avoid turning the editor into a dirty state\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tundoIgnore: true, // Required to merge this edit with the last undo level.\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst blocks = parse( fileTemplate?.content?.raw );\n\t\t\tregistry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.editEntityRecord( 'postType', template.type, fileTemplate.id, {\n\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\tblocks,\n\t\t\t\t\tsource: 'theme',\n\t\t\t\t} );\n\n\t\t\tif ( allowUndo ) {\n\t\t\t\tconst undoRevert = () => {\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t\t.editEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\t\tedited.id,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\t\t\t\tblocks: edited.blocks,\n\t\t\t\t\t\t\t\tsource: 'custom',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t};\n\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createSuccessNotice( __( 'Template reverted.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\t\tonClick: undoRevert,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createSuccessNotice( __( 'Template reverted.' ) );\n\t\t\t}\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: __( 'Template revert failed. Please reload.' );\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n/**\n * Action that opens an editor sidebar.\n *\n * @param {?string} name Sidebar name to be opened.\n */\nexport const openGeneralSidebar =\n\t( name ) =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.enableComplementaryArea( editSiteStoreName, name );\n\t};\n\n/**\n * Action that closes the sidebar.\n */\nexport const closeGeneralSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.disableComplementaryArea( editSiteStoreName );\n\t};\n\nexport const switchEditorMode =\n\t( mode ) =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( 'core/preferences' )\n\t\t\t.set( 'core/edit-site', 'editorMode', mode );\n\n\t\t// Unselect blocks when we switch to a non visual mode.\n\t\tif ( mode !== 'visual' ) {\n\t\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\t\t}\n\n\t\tif ( mode === 'visual' ) {\n\t\t\tspeak( __( 'Visual editor selected' ), 'assertive' );\n\t\t} else if ( mode === 'mosaic' ) {\n\t\t\tspeak( __( 'Mosaic view selected' ), 'assertive' );\n\t\t}\n\t};\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/store/actions.js"],"names":["apiFetch","parse","__unstableSerializeAndClean","deprecated","addQueryArgs","getPathAndQueryString","__","sprintf","store","noticesStore","coreStore","interfaceStore","blockEditorStore","speak","preferencesStore","STORE_NAME","editSiteStoreName","isTemplateRevertable","toggleFeature","featureName","registry","since","alternative","dispatch","toggle","__experimentalSetPreviewDeviceType","deviceType","type","setTemplate","templateId","templateSlug","template","resolveSelect","getEntityRecord","slug","page","context","addTemplate","newTemplate","saveEntityRecord","content","editEntityRecord","id","blocks","undoIgnore","removeTemplate","deleteEntityRecord","force","lastError","select","getLastEntityDeleteError","createSuccessNotice","title","rendered","error","errorMessage","message","code","createErrorNotice","setTemplatePart","templatePartId","setHomeTemplateId","homeTemplateId","setPage","path","postId","entity","postType","link","__experimentalGetTemplateForLink","setNavigationPanelActiveMenu","menu","openNavigationPanelToMenu","setIsNavigationPanelOpened","isOpen","setIsInserterOpened","value","updateSettings","settings","setIsListViewOpened","setIsSaveViewOpened","revertTemplate","allowUndo","templateEntityConfig","getEntityConfig","fileTemplatePath","baseURL","source","fileTemplate","serializeBlocks","blocksForSerialization","edited","getEditedEntityRecord","raw","undoRevert","actions","label","onClick","openGeneralSidebar","name","enableComplementaryArea","closeGeneralSidebar","disableComplementaryArea","switchEditorMode","mode","set","clearSelectedBlock"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport { parse, __unstableSerializeAndClean } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\nimport { addQueryArgs, getPathAndQueryString } from '@wordpress/url';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { speak } from '@wordpress/a11y';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { STORE_NAME as editSiteStoreName } from './constants';\nimport isTemplateRevertable from '../utils/is-template-revertable';\n\n/**\n * Dispatches an action that toggles a feature flag.\n *\n * @param {string} featureName Feature name.\n */\nexport function toggleFeature( featureName ) {\n\treturn function ( { registry } ) {\n\t\tdeprecated( \"select( 'core/edit-site' ).toggleFeature( featureName )\", {\n\t\t\tsince: '6.0',\n\t\t\talternative:\n\t\t\t\t\"select( 'core/preferences').toggle( 'core/edit-site', featureName )\",\n\t\t} );\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.toggle( 'core/edit-site', featureName );\n\t};\n}\n\n/**\n * Action that changes the width of the editing canvas.\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function __experimentalSetPreviewDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_PREVIEW_DEVICE_TYPE',\n\t\tdeviceType,\n\t};\n}\n\n/**\n * Action that sets a template, optionally fetching it from REST API.\n *\n * @param {number} templateId The template ID.\n * @param {string} templateSlug The template slug.\n * @return {Object} Action object.\n */\nexport const setTemplate =\n\t( templateId, templateSlug ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tif ( ! templateSlug ) {\n\t\t\tconst template = await registry\n\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t.getEntityRecord( 'postType', 'wp_template', templateId );\n\t\t\ttemplateSlug = template?.slug;\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_TEMPLATE',\n\t\t\ttemplateId,\n\t\t\tpage: { context: { templateSlug } },\n\t\t} );\n\t};\n\n/**\n * Action that adds a new template and sets it as the current template.\n *\n * @param {Object} template The template.\n *\n * @return {Object} Action object used to set the current template.\n */\nexport const addTemplate =\n\t( template ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tconst newTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', 'wp_template', template );\n\n\t\tif ( template.content ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_template',\n\t\t\t\t\tnewTemplate.id,\n\t\t\t\t\t{ blocks: parse( template.content ) },\n\t\t\t\t\t{ undoIgnore: true }\n\t\t\t\t);\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_TEMPLATE',\n\t\t\ttemplateId: newTemplate.id,\n\t\t\tpage: { context: { templateSlug: newTemplate.slug } },\n\t\t} );\n\t};\n\n/**\n * Action that removes a template.\n *\n * @param {Object} template The template object.\n */\nexport const removeTemplate =\n\t( template ) =>\n\tasync ( { registry } ) => {\n\t\ttry {\n\t\t\tawait registry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.deleteEntityRecord( 'postType', template.type, template.id, {\n\t\t\t\t\tforce: true,\n\t\t\t\t} );\n\n\t\t\tconst lastError = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getLastEntityDeleteError(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id\n\t\t\t\t);\n\n\t\t\tif ( lastError ) {\n\t\t\t\tthrow lastError;\n\t\t\t}\n\n\t\t\tregistry.dispatch( noticesStore ).createSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\ttemplate.title.rendered\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar' }\n\t\t\t);\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 deleting the template.' );\n\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n\n/**\n * Action that sets a template part.\n *\n * @param {string} templatePartId The template part ID.\n *\n * @return {Object} Action object.\n */\nexport function setTemplatePart( templatePartId ) {\n\treturn {\n\t\ttype: 'SET_TEMPLATE_PART',\n\t\ttemplatePartId,\n\t};\n}\n\n/**\n * Action that sets the home template ID to the template ID of the page resolved\n * from a given path.\n *\n * @param {number} homeTemplateId The template ID for the homepage.\n */\nexport function setHomeTemplateId( homeTemplateId ) {\n\treturn {\n\t\ttype: 'SET_HOME_TEMPLATE',\n\t\thomeTemplateId,\n\t};\n}\n\n/**\n * Resolves the template for a page and displays both. If no path is given, attempts\n * to use the postId to generate a path like `?p=${ postId }`.\n *\n * @param {Object} page The page object.\n * @param {string} page.type The page type.\n * @param {string} page.slug The page slug.\n * @param {string} page.path The page path.\n * @param {Object} page.context The page context.\n *\n * @return {number} The resolved template ID for the page route.\n */\nexport const setPage =\n\t( page ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tif ( ! page.path && page.context?.postId ) {\n\t\t\tconst entity = await registry\n\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t.getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpage.context.postType || 'post',\n\t\t\t\t\tpage.context.postId\n\t\t\t\t);\n\t\t\t// If the entity is undefined for some reason, path will resolve to \"/\"\n\t\t\tpage.path = getPathAndQueryString( entity?.link );\n\t\t}\n\n\t\tconst template = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.__experimentalGetTemplateForLink( page.path );\n\n\t\tif ( ! template ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_PAGE',\n\t\t\tpage: template.slug\n\t\t\t\t? {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page.context,\n\t\t\t\t\t\t\ttemplateSlug: template.slug,\n\t\t\t\t\t\t},\n\t\t\t\t }\n\t\t\t\t: page,\n\t\t\ttemplateId: template.id,\n\t\t} );\n\n\t\treturn template.id;\n\t};\n\n/**\n * Action that sets the active navigation panel menu.\n *\n * @param {string} menu Menu prop of active menu.\n *\n * @return {Object} Action object.\n */\nexport function setNavigationPanelActiveMenu( menu ) {\n\treturn {\n\t\ttype: 'SET_NAVIGATION_PANEL_ACTIVE_MENU',\n\t\tmenu,\n\t};\n}\n\n/**\n * Opens the navigation panel and sets its active menu at the same time.\n *\n * @param {string} menu Identifies the menu to open.\n */\nexport function openNavigationPanelToMenu( menu ) {\n\treturn {\n\t\ttype: 'OPEN_NAVIGATION_PANEL_TO_MENU',\n\t\tmenu,\n\t};\n}\n\n/**\n * Sets whether the navigation panel should be open.\n *\n * @param {boolean} isOpen If true, opens the nav panel. If false, closes it. It\n * does not toggle the state, but sets it directly.\n */\nexport function setIsNavigationPanelOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_NAVIGATION_PANEL_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Opens or closes the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\n\n/**\n * Returns an action object used to update the settings.\n *\n * @param {Object} settings New settings.\n *\n * @return {Object} Action object.\n */\nexport function updateSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_SETTINGS',\n\t\tsettings,\n\t};\n}\n\n/**\n * Sets whether the list view panel should be open.\n *\n * @param {boolean} isOpen If true, opens the list view. If false, closes it.\n * It does not toggle the state, but sets it directly.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Sets whether the save view panel should be open.\n *\n * @param {boolean} isOpen If true, opens the save view. If false, closes it.\n * It does not toggle the state, but sets it directly.\n */\nexport function setIsSaveViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_SAVE_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Reverts a template to its original theme-provided file.\n *\n * @param {Object} template The template to revert.\n * @param {Object} [options]\n * @param {boolean} [options.allowUndo] Whether to allow the user to undo\n * reverting the template. Default true.\n */\nexport const revertTemplate =\n\t( template, { allowUndo = true } = {} ) =>\n\tasync ( { registry } ) => {\n\t\tif ( ! isTemplateRevertable( template ) ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( __( 'This template is not revertable.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst templateEntityConfig = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEntityConfig( 'postType', template.type );\n\n\t\t\tif ( ! templateEntityConfig ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst fileTemplatePath = addQueryArgs(\n\t\t\t\t`${ templateEntityConfig.baseURL }/${ template.id }`,\n\t\t\t\t{ context: 'edit', source: 'theme' }\n\t\t\t);\n\n\t\t\tconst fileTemplate = await apiFetch( { path: fileTemplatePath } );\n\t\t\tif ( ! fileTemplate ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst serializeBlocks = ( {\n\t\t\t\tblocks: blocksForSerialization = [],\n\t\t\t} ) => __unstableSerializeAndClean( blocksForSerialization );\n\n\t\t\tconst edited = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id\n\t\t\t\t);\n\n\t\t\t// We are fixing up the undo level here to make sure we can undo\n\t\t\t// the revert in the header toolbar correctly.\n\t\t\tregistry.dispatch( coreStore ).editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\ttemplate.type,\n\t\t\t\ttemplate.id,\n\t\t\t\t{\n\t\t\t\t\tcontent: serializeBlocks, // Required to make the `undo` behave correctly.\n\t\t\t\t\tblocks: edited.blocks, // Required to revert the blocks in the editor.\n\t\t\t\t\tsource: 'custom', // required to avoid turning the editor into a dirty state\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tundoIgnore: true, // Required to merge this edit with the last undo level.\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst blocks = parse( fileTemplate?.content?.raw );\n\t\t\tregistry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.editEntityRecord( 'postType', template.type, fileTemplate.id, {\n\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\tblocks,\n\t\t\t\t\tsource: 'theme',\n\t\t\t\t} );\n\n\t\t\tif ( allowUndo ) {\n\t\t\t\tconst undoRevert = () => {\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t\t.editEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\t\tedited.id,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\t\t\t\tblocks: edited.blocks,\n\t\t\t\t\t\t\t\tsource: 'custom',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t};\n\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createSuccessNotice( __( 'Template reverted.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\t\tonClick: undoRevert,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createSuccessNotice( __( 'Template reverted.' ) );\n\t\t\t}\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: __( 'Template revert failed. Please reload.' );\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n/**\n * Action that opens an editor sidebar.\n *\n * @param {?string} name Sidebar name to be opened.\n */\nexport const openGeneralSidebar =\n\t( name ) =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.enableComplementaryArea( editSiteStoreName, name );\n\t};\n\n/**\n * Action that closes the sidebar.\n */\nexport const closeGeneralSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.disableComplementaryArea( editSiteStoreName );\n\t};\n\nexport const switchEditorMode =\n\t( mode ) =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( 'core/preferences' )\n\t\t\t.set( 'core/edit-site', 'editorMode', mode );\n\n\t\t// Unselect blocks when we switch to a non visual mode.\n\t\tif ( mode !== 'visual' ) {\n\t\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\t\t}\n\n\t\tif ( mode === 'visual' ) {\n\t\t\tspeak( __( 'Visual editor selected' ), 'assertive' );\n\t\t} else if ( mode === 'mosaic' ) {\n\t\t\tspeak( __( 'Mosaic view selected' ), 'assertive' );\n\t\t}\n\t};\n"]}
@@ -210,6 +210,30 @@ export function listViewPanel() {
210
210
 
211
211
  return state;
212
212
  }
213
+ /**
214
+ * Reducer to set the save view panel open or closed.
215
+ *
216
+ * @param {Object} state Current state.
217
+ * @param {Object} action Dispatched action.
218
+ */
219
+
220
+ export function saveViewPanel() {
221
+ let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
222
+ let action = arguments.length > 1 ? arguments[1] : undefined;
223
+
224
+ switch (action.type) {
225
+ case 'OPEN_NAVIGATION_PANEL_TO_MENU':
226
+ return false;
227
+
228
+ case 'SET_IS_NAVIGATION_PANEL_OPENED':
229
+ return action.isOpen ? false : state;
230
+
231
+ case 'SET_IS_SAVE_VIEW_OPENED':
232
+ return action.isOpen;
233
+ }
234
+
235
+ return state;
236
+ }
213
237
  export default combineReducers({
214
238
  deviceType,
215
239
  settings,
@@ -217,6 +241,7 @@ export default combineReducers({
217
241
  homeTemplateId,
218
242
  navigationPanel,
219
243
  blockInserterPanel,
220
- listViewPanel
244
+ listViewPanel,
245
+ saveViewPanel
221
246
  });
222
247
  //# sourceMappingURL=reducer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/store/reducer.js"],"names":["combineReducers","MENU_ROOT","deviceType","state","action","type","settings","editedPost","id","templateId","page","templatePartId","homeTemplateId","navigationPanel","menu","isOpen","value","blockInserterPanel","listViewPanel"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { MENU_ROOT } from '../components/navigation-sidebar/navigation-panel/constants';\n\n/**\n * Reducer returning the editing canvas device type.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function deviceType( state = 'Desktop', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_PREVIEW_DEVICE_TYPE':\n\t\t\treturn action.deviceType;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the settings.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function settings( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_SETTINGS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.settings,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the currently edited Post Type,\n * Post Id and the context provided to fill the content of the block editor.\n *\n * @param {Object} state Current edited post.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function editedPost( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_TEMPLATE':\n\t\tcase 'SET_PAGE':\n\t\t\treturn {\n\t\t\t\ttype: 'wp_template',\n\t\t\t\tid: action.templateId,\n\t\t\t\tpage: action.page,\n\t\t\t};\n\t\tcase 'SET_TEMPLATE_PART':\n\t\t\treturn {\n\t\t\t\ttype: 'wp_template_part',\n\t\t\t\tid: action.templatePartId,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer for information about the site's homepage.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function homeTemplateId( state, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_HOME_TEMPLATE':\n\t\t\treturn action.homeTemplateId;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer for information about the navigation panel, such as its active menu\n * and whether it should be opened or closed.\n *\n * Note: this reducer interacts with the inserter and list view panels reducers\n * to make sure that only one of the three panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function navigationPanel(\n\tstate = { menu: MENU_ROOT, isOpen: false },\n\taction\n) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_NAVIGATION_PANEL_ACTIVE_MENU':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tmenu: action.menu,\n\t\t\t};\n\t\tcase 'OPEN_NAVIGATION_PANEL_TO_MENU':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisOpen: true,\n\t\t\t\tmenu: action.menu,\n\t\t\t};\n\t\tcase 'SET_IS_NAVIGATION_PANEL_OPENED':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tmenu: ! action.isOpen ? MENU_ROOT : state.menu, // Set menu to root when closing panel.\n\t\t\t\tisOpen: action.isOpen,\n\t\t\t};\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tmenu: state.isOpen && action.isOpen ? MENU_ROOT : state.menu, // Set menu to root when closing panel.\n\t\t\t\tisOpen: action.isOpen ? false : state.isOpen,\n\t\t\t};\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tmenu: state.isOpen && action.value ? MENU_ROOT : state.menu, // Set menu to root when closing panel.\n\t\t\t\tisOpen: action.value ? false : state.isOpen,\n\t\t\t};\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the navigation and list view panels reducers\n * to make sure that only one of the three panels is open at the same time.\n *\n * @param {boolean|Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_NAVIGATION_PANEL_TO_MENU':\n\t\t\treturn false;\n\t\tcase 'SET_IS_NAVIGATION_PANEL_OPENED':\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the navigation and inserter panels reducers\n * to make sure that only one of the three panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_NAVIGATION_PANEL_TO_MENU':\n\t\t\treturn false;\n\t\tcase 'SET_IS_NAVIGATION_PANEL_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\nexport default combineReducers( {\n\tdeviceType,\n\tsettings,\n\teditedPost,\n\thomeTemplateId,\n\tnavigationPanel,\n\tblockInserterPanel,\n\tlistViewPanel,\n} );\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/store/reducer.js"],"names":["combineReducers","MENU_ROOT","deviceType","state","action","type","settings","editedPost","id","templateId","page","templatePartId","homeTemplateId","navigationPanel","menu","isOpen","value","blockInserterPanel","listViewPanel","saveViewPanel"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { MENU_ROOT } from '../components/navigation-sidebar/navigation-panel/constants';\n\n/**\n * Reducer returning the editing canvas device type.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function deviceType( state = 'Desktop', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_PREVIEW_DEVICE_TYPE':\n\t\t\treturn action.deviceType;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the settings.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function settings( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_SETTINGS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.settings,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the currently edited Post Type,\n * Post Id and the context provided to fill the content of the block editor.\n *\n * @param {Object} state Current edited post.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function editedPost( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_TEMPLATE':\n\t\tcase 'SET_PAGE':\n\t\t\treturn {\n\t\t\t\ttype: 'wp_template',\n\t\t\t\tid: action.templateId,\n\t\t\t\tpage: action.page,\n\t\t\t};\n\t\tcase 'SET_TEMPLATE_PART':\n\t\t\treturn {\n\t\t\t\ttype: 'wp_template_part',\n\t\t\t\tid: action.templatePartId,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer for information about the site's homepage.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function homeTemplateId( state, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_HOME_TEMPLATE':\n\t\t\treturn action.homeTemplateId;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer for information about the navigation panel, such as its active menu\n * and whether it should be opened or closed.\n *\n * Note: this reducer interacts with the inserter and list view panels reducers\n * to make sure that only one of the three panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function navigationPanel(\n\tstate = { menu: MENU_ROOT, isOpen: false },\n\taction\n) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_NAVIGATION_PANEL_ACTIVE_MENU':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tmenu: action.menu,\n\t\t\t};\n\t\tcase 'OPEN_NAVIGATION_PANEL_TO_MENU':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisOpen: true,\n\t\t\t\tmenu: action.menu,\n\t\t\t};\n\t\tcase 'SET_IS_NAVIGATION_PANEL_OPENED':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tmenu: ! action.isOpen ? MENU_ROOT : state.menu, // Set menu to root when closing panel.\n\t\t\t\tisOpen: action.isOpen,\n\t\t\t};\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tmenu: state.isOpen && action.isOpen ? MENU_ROOT : state.menu, // Set menu to root when closing panel.\n\t\t\t\tisOpen: action.isOpen ? false : state.isOpen,\n\t\t\t};\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tmenu: state.isOpen && action.value ? MENU_ROOT : state.menu, // Set menu to root when closing panel.\n\t\t\t\tisOpen: action.value ? false : state.isOpen,\n\t\t\t};\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the navigation and list view panels reducers\n * to make sure that only one of the three panels is open at the same time.\n *\n * @param {boolean|Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_NAVIGATION_PANEL_TO_MENU':\n\t\t\treturn false;\n\t\tcase 'SET_IS_NAVIGATION_PANEL_OPENED':\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the navigation and inserter panels reducers\n * to make sure that only one of the three panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_NAVIGATION_PANEL_TO_MENU':\n\t\t\treturn false;\n\t\tcase 'SET_IS_NAVIGATION_PANEL_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the save view panel open or closed.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function saveViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_NAVIGATION_PANEL_TO_MENU':\n\t\t\treturn false;\n\t\tcase 'SET_IS_NAVIGATION_PANEL_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_SAVE_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\nexport default combineReducers( {\n\tdeviceType,\n\tsettings,\n\teditedPost,\n\thomeTemplateId,\n\tnavigationPanel,\n\tblockInserterPanel,\n\tlistViewPanel,\n\tsaveViewPanel,\n} );\n"]}
@@ -276,6 +276,17 @@ export function __experimentalGetInsertionPoint(state) {
276
276
  export function isListViewOpened(state) {
277
277
  return state.listViewPanel;
278
278
  }
279
+ /**
280
+ * Returns the current opened/closed state of the save panel.
281
+ *
282
+ * @param {Object} state Global application state.
283
+ *
284
+ * @return {boolean} True if the save panel should be open; false if closed.
285
+ */
286
+
287
+ export function isSaveViewOpened(state) {
288
+ return state.saveViewPanel;
289
+ }
279
290
  /**
280
291
  * Returns the template parts and their blocks for the current edited template.
281
292
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/store/selectors.js"],"names":["map","createSelector","store","coreDataStore","createRegistrySelector","deprecated","uploadMedia","isTemplatePart","Platform","preferencesStore","MENU_ROOT","MENU_TEMPLATE_PARTS","MENU_TEMPLATES_UNUSED","TEMPLATE_PARTS_SUB_MENUS","getTemplateLocation","isTemplateSuperseded","__unstableGetPreference","select","state","name","get","isFeatureActive","featureName","since","alternative","__experimentalGetPreviewDeviceType","deviceType","getCanUserCreateMedia","canUser","getReusableBlocks","isWeb","OS","getEntityRecords","per_page","getSettings","setIsInserterOpen","settings","outlineMode","focusMode","hasFixedToolbar","keepCaretInsideBlock","showIconLabels","__experimentalSetIsInserterOpened","__experimentalReusableBlocks","__experimentalPreferPatternsOnRoot","getEditedPostType","canUserCreateMedia","mediaUpload","onError","rest","wpAllowedMimeTypes","allowedMimeTypes","message","getHomeTemplateId","homeTemplateId","getCurrentEditedPost","editedPost","type","getEditedPostId","id","getPage","page","getNavigationPanelActiveMenu","navigationPanel","menu","getCurrentTemplateNavigationPanelSubMenu","templateType","templateId","template","getEntityRecord","find","submenu","area","templates","showOnFront","getEditedEntityRecord","show_on_front","slug","isNavigationOpened","isOpen","isInserterOpened","blockInserterPanel","__experimentalGetInsertionPoint","rootClientId","insertionIndex","filterValue","isListViewOpened","listViewPanel","getCurrentTemplateTemplateParts","templateParts","templatePartsById","reduce","newTemplateParts","part","blocks","filter","block","attributes","theme","templatePartId","templatePart","getEditorMode"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map } from 'lodash';\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { createRegistrySelector } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { isTemplatePart } from '@wordpress/blocks';\nimport { Platform } from '@wordpress/element';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMENU_ROOT,\n\tMENU_TEMPLATE_PARTS,\n\tMENU_TEMPLATES_UNUSED,\n\tTEMPLATE_PARTS_SUB_MENUS,\n} from '../components/navigation-sidebar/navigation-panel/constants';\nimport {\n\tgetTemplateLocation,\n\tisTemplateSuperseded,\n} from '../components/navigation-sidebar/navigation-panel/template-hierarchy';\n\n/**\n * @typedef {'template'|'template_type'} TemplateType Template type.\n */\n\n/**\n * Helper for getting a preference from the preferences store.\n *\n * This is only present so that `getSettings` doesn't need to be made a\n * registry selector.\n *\n * It's unstable because the selector needs to be exported and so part of the\n * public API to work.\n */\nexport const __unstableGetPreference = createRegistrySelector(\n\t( select ) => ( state, name ) =>\n\t\tselect( preferencesStore ).get( 'core/edit-site', name )\n);\n\n/**\n * Returns whether the given feature is enabled or not.\n *\n * @param {Object} state Global application state.\n * @param {string} featureName Feature slug.\n *\n * @return {boolean} Is active.\n */\nexport function isFeatureActive( state, featureName ) {\n\tdeprecated( `select( 'core/interface' ).isFeatureActive`, {\n\t\tsince: '6.0',\n\t\talternative: `select( 'core/preferences' ).get`,\n\t} );\n\n\treturn !! __unstableGetPreference( state, featureName );\n}\n\n/**\n * Returns the current editing canvas device type.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Device type.\n */\nexport function __experimentalGetPreviewDeviceType( state ) {\n\treturn state.deviceType;\n}\n\n/**\n * Returns whether the current user can create media or not.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} Whether the current user can create media or not.\n */\nexport const getCanUserCreateMedia = createRegistrySelector(\n\t( select ) => () => select( coreDataStore ).canUser( 'create', 'media' )\n);\n\n/**\n * Returns any available Reusable blocks.\n *\n * @param {Object} state Global application state.\n *\n * @return {Array} The available reusable blocks.\n */\nexport const getReusableBlocks = createRegistrySelector( ( select ) => () => {\n\tconst isWeb = Platform.OS === 'web';\n\treturn isWeb\n\t\t? select( coreDataStore ).getEntityRecords( 'postType', 'wp_block', {\n\t\t\t\tper_page: -1,\n\t\t } )\n\t\t: [];\n} );\n\n/**\n * Returns the settings, taking into account active features and permissions.\n *\n * @param {Object} state Global application state.\n * @param {Function} setIsInserterOpen Setter for the open state of the global inserter.\n *\n * @return {Object} Settings.\n */\nexport const getSettings = createSelector(\n\t( state, setIsInserterOpen ) => {\n\t\tconst settings = {\n\t\t\t...state.settings,\n\t\t\toutlineMode: true,\n\t\t\tfocusMode: !! __unstableGetPreference( state, 'focusMode' ),\n\t\t\thasFixedToolbar: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tshowIconLabels: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpen,\n\t\t\t__experimentalReusableBlocks: getReusableBlocks( state ),\n\t\t\t__experimentalPreferPatternsOnRoot:\n\t\t\t\t'wp_template' === getEditedPostType( state ),\n\t\t};\n\n\t\tconst canUserCreateMedia = getCanUserCreateMedia( state );\n\t\tif ( ! canUserCreateMedia ) {\n\t\t\treturn settings;\n\t\t}\n\n\t\tsettings.mediaUpload = ( { onError, ...rest } ) => {\n\t\t\tuploadMedia( {\n\t\t\t\twpAllowedMimeTypes: state.settings.allowedMimeTypes,\n\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t...rest,\n\t\t\t} );\n\t\t};\n\t\treturn settings;\n\t},\n\t( state ) => [\n\t\tgetCanUserCreateMedia( state ),\n\t\tstate.settings,\n\t\t__unstableGetPreference( state, 'focusMode' ),\n\t\t__unstableGetPreference( state, 'fixedToolbar' ),\n\t\t__unstableGetPreference( state, 'keepCaretInsideBlock' ),\n\t\t__unstableGetPreference( state, 'showIconLabels' ),\n\t\tgetReusableBlocks( state ),\n\t\tgetEditedPostType( state ),\n\t]\n);\n\n/**\n * Returns the current home template ID.\n *\n * @param {Object} state Global application state.\n *\n * @return {number?} Home template ID.\n */\nexport function getHomeTemplateId( state ) {\n\treturn state.homeTemplateId;\n}\n\nfunction getCurrentEditedPost( state ) {\n\treturn state.editedPost;\n}\n\n/**\n * Returns the current edited post type (wp_template or wp_template_part).\n *\n * @param {Object} state Global application state.\n *\n * @return {TemplateType?} Template type.\n */\nexport function getEditedPostType( state ) {\n\treturn getCurrentEditedPost( state ).type;\n}\n\n/**\n * Returns the ID of the currently edited template or template part.\n *\n * @param {Object} state Global application state.\n *\n * @return {string?} Post ID.\n */\nexport function getEditedPostId( state ) {\n\treturn getCurrentEditedPost( state ).id;\n}\n\n/**\n * Returns the current page object.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} Page.\n */\nexport function getPage( state ) {\n\treturn getCurrentEditedPost( state ).page;\n}\n\n/**\n * Returns the active menu in the navigation panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Active menu.\n */\nexport function getNavigationPanelActiveMenu( state ) {\n\treturn state.navigationPanel.menu;\n}\n\n/**\n * Returns the current template or template part's corresponding\n * navigation panel's sub menu, to be used with `openNavigationPanelToMenu`.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} The current template or template part's sub menu.\n */\nexport const getCurrentTemplateNavigationPanelSubMenu = createRegistrySelector(\n\t( select ) => ( state ) => {\n\t\tconst templateType = getEditedPostType( state );\n\t\tconst templateId = getEditedPostId( state );\n\t\tconst template = templateId\n\t\t\t? select( coreDataStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplateType,\n\t\t\t\t\ttemplateId\n\t\t\t )\n\t\t\t: null;\n\n\t\tif ( ! template ) {\n\t\t\treturn MENU_ROOT;\n\t\t}\n\n\t\tif ( 'wp_template_part' === templateType ) {\n\t\t\treturn (\n\t\t\t\tTEMPLATE_PARTS_SUB_MENUS.find(\n\t\t\t\t\t( submenu ) => submenu.area === template?.area\n\t\t\t\t)?.menu || MENU_TEMPLATE_PARTS\n\t\t\t);\n\t\t}\n\n\t\tconst templates = select( coreDataStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\t'wp_template'\n\t\t);\n\t\tconst showOnFront = select( coreDataStore ).getEditedEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t).show_on_front;\n\n\t\tif (\n\t\t\tisTemplateSuperseded(\n\t\t\t\ttemplate.slug,\n\t\t\t\tmap( templates, 'slug' ),\n\t\t\t\tshowOnFront\n\t\t\t)\n\t\t) {\n\t\t\treturn MENU_TEMPLATES_UNUSED;\n\t\t}\n\n\t\treturn getTemplateLocation( template.slug );\n\t}\n);\n\n/**\n * Returns the current opened/closed state of the navigation panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the navigation panel should be open; false if closed.\n */\nexport function isNavigationOpened( state ) {\n\treturn state.navigationPanel.isOpen;\n}\n\n/**\n * Returns the current opened/closed state of the inserter panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the inserter panel should be open; false if closed.\n */\nexport function isInserterOpened( state ) {\n\treturn !! state.blockInserterPanel;\n}\n\n/**\n * Get the insertion point for the inserter.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} The root client ID, index to insert at and starting filter value.\n */\nexport function __experimentalGetInsertionPoint( state ) {\n\tconst { rootClientId, insertionIndex, filterValue } =\n\t\tstate.blockInserterPanel;\n\treturn { rootClientId, insertionIndex, filterValue };\n}\n\n/**\n * Returns the current opened/closed state of the list view panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the list view panel should be open; false if closed.\n */\nexport function isListViewOpened( state ) {\n\treturn state.listViewPanel;\n}\n\n/**\n * Returns the template parts and their blocks for the current edited template.\n *\n * @param {Object} state Global application state.\n * @return {Array} Template parts and their blocks in an array.\n */\nexport const getCurrentTemplateTemplateParts = createRegistrySelector(\n\t( select ) => ( state ) => {\n\t\tconst templateType = getEditedPostType( state );\n\t\tconst templateId = getEditedPostId( state );\n\t\tconst template = select( coreDataStore ).getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\ttemplateType,\n\t\t\ttemplateId\n\t\t);\n\n\t\tconst templateParts = select( coreDataStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\t{ per_page: -1 }\n\t\t);\n\t\tconst templatePartsById = templateParts\n\t\t\t? // Key template parts by their ID.\n\t\t\t templateParts.reduce(\n\t\t\t\t\t( newTemplateParts, part ) => ( {\n\t\t\t\t\t\t...newTemplateParts,\n\t\t\t\t\t\t[ part.id ]: part,\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t )\n\t\t\t: {};\n\n\t\treturn ( template.blocks ?? [] )\n\t\t\t.filter( ( block ) => isTemplatePart( block ) )\n\t\t\t.map( ( block ) => {\n\t\t\t\tconst {\n\t\t\t\t\tattributes: { theme, slug },\n\t\t\t\t} = block;\n\t\t\t\tconst templatePartId = `${ theme }//${ slug }`;\n\t\t\t\tconst templatePart = templatePartsById[ templatePartId ];\n\n\t\t\t\treturn {\n\t\t\t\t\ttemplatePart,\n\t\t\t\t\tblock,\n\t\t\t\t};\n\t\t\t} )\n\t\t\t.filter( ( { templatePart } ) => !! templatePart );\n\t}\n);\n\n/**\n * Returns the current editing mode.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Editing mode.\n */\nexport function getEditorMode( state ) {\n\treturn __unstableGetPreference( state, 'editorMode' );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/store/selectors.js"],"names":["map","createSelector","store","coreDataStore","createRegistrySelector","deprecated","uploadMedia","isTemplatePart","Platform","preferencesStore","MENU_ROOT","MENU_TEMPLATE_PARTS","MENU_TEMPLATES_UNUSED","TEMPLATE_PARTS_SUB_MENUS","getTemplateLocation","isTemplateSuperseded","__unstableGetPreference","select","state","name","get","isFeatureActive","featureName","since","alternative","__experimentalGetPreviewDeviceType","deviceType","getCanUserCreateMedia","canUser","getReusableBlocks","isWeb","OS","getEntityRecords","per_page","getSettings","setIsInserterOpen","settings","outlineMode","focusMode","hasFixedToolbar","keepCaretInsideBlock","showIconLabels","__experimentalSetIsInserterOpened","__experimentalReusableBlocks","__experimentalPreferPatternsOnRoot","getEditedPostType","canUserCreateMedia","mediaUpload","onError","rest","wpAllowedMimeTypes","allowedMimeTypes","message","getHomeTemplateId","homeTemplateId","getCurrentEditedPost","editedPost","type","getEditedPostId","id","getPage","page","getNavigationPanelActiveMenu","navigationPanel","menu","getCurrentTemplateNavigationPanelSubMenu","templateType","templateId","template","getEntityRecord","find","submenu","area","templates","showOnFront","getEditedEntityRecord","show_on_front","slug","isNavigationOpened","isOpen","isInserterOpened","blockInserterPanel","__experimentalGetInsertionPoint","rootClientId","insertionIndex","filterValue","isListViewOpened","listViewPanel","isSaveViewOpened","saveViewPanel","getCurrentTemplateTemplateParts","templateParts","templatePartsById","reduce","newTemplateParts","part","blocks","filter","block","attributes","theme","templatePartId","templatePart","getEditorMode"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,QAApB;AACA,OAAOC,cAAP,MAA2B,QAA3B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,sBAAvC;AACA,SAASC,sBAAT,QAAuC,iBAAvC;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AACA,SAASC,WAAT,QAA4B,wBAA5B;AACA,SAASC,cAAT,QAA+B,mBAA/B;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASN,KAAK,IAAIO,gBAAlB,QAA0C,wBAA1C;AAEA;AACA;AACA;;AACA,SACCC,SADD,EAECC,mBAFD,EAGCC,qBAHD,EAICC,wBAJD,QAKO,6DALP;AAMA,SACCC,mBADD,EAECC,oBAFD,QAGO,sEAHP;AAKA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,uBAAuB,GAAGZ,sBAAsB,CAC1Da,MAAF,IAAc,CAAEC,KAAF,EAASC,IAAT,KACbF,MAAM,CAAER,gBAAF,CAAN,CAA2BW,GAA3B,CAAgC,gBAAhC,EAAkDD,IAAlD,CAF2D,CAAtD;AAKP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,eAAT,CAA0BH,KAA1B,EAAiCI,WAAjC,EAA+C;AACrDjB,EAAAA,UAAU,CAAG,4CAAH,EAAgD;AACzDkB,IAAAA,KAAK,EAAE,KADkD;AAEzDC,IAAAA,WAAW,EAAG;AAF2C,GAAhD,CAAV;AAKA,SAAO,CAAC,CAAER,uBAAuB,CAAEE,KAAF,EAASI,WAAT,CAAjC;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASG,kCAAT,CAA6CP,KAA7C,EAAqD;AAC3D,SAAOA,KAAK,CAACQ,UAAb;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,qBAAqB,GAAGvB,sBAAsB,CACxDa,MAAF,IAAc,MAAMA,MAAM,CAAEd,aAAF,CAAN,CAAwByB,OAAxB,CAAiC,QAAjC,EAA2C,OAA3C,CADsC,CAApD;AAIP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,iBAAiB,GAAGzB,sBAAsB,CAAIa,MAAF,IAAc,MAAM;AAC5E,QAAMa,KAAK,GAAGtB,QAAQ,CAACuB,EAAT,KAAgB,KAA9B;AACA,SAAOD,KAAK,GACTb,MAAM,CAAEd,aAAF,CAAN,CAAwB6B,gBAAxB,CAA0C,UAA1C,EAAsD,UAAtD,EAAkE;AAClEC,IAAAA,QAAQ,EAAE,CAAC;AADuD,GAAlE,CADS,GAIT,EAJH;AAKA,CAPsD,CAAhD;AASP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,WAAW,GAAGjC,cAAc,CACxC,CAAEiB,KAAF,EAASiB,iBAAT,KAAgC;AAC/B,QAAMC,QAAQ,GAAG,EAChB,GAAGlB,KAAK,CAACkB,QADO;AAEhBC,IAAAA,WAAW,EAAE,IAFG;AAGhBC,IAAAA,SAAS,EAAE,CAAC,CAAEtB,uBAAuB,CAAEE,KAAF,EAAS,WAAT,CAHrB;AAIhBqB,IAAAA,eAAe,EAAE,CAAC,CAAEvB,uBAAuB,CAC1CE,KAD0C,EAE1C,cAF0C,CAJ3B;AAQhBsB,IAAAA,oBAAoB,EAAE,CAAC,CAAExB,uBAAuB,CAC/CE,KAD+C,EAE/C,sBAF+C,CARhC;AAYhBuB,IAAAA,cAAc,EAAE,CAAC,CAAEzB,uBAAuB,CACzCE,KADyC,EAEzC,gBAFyC,CAZ1B;AAgBhBwB,IAAAA,iCAAiC,EAAEP,iBAhBnB;AAiBhBQ,IAAAA,4BAA4B,EAAEd,iBAAiB,CAAEX,KAAF,CAjB/B;AAkBhB0B,IAAAA,kCAAkC,EACjC,kBAAkBC,iBAAiB,CAAE3B,KAAF;AAnBpB,GAAjB;AAsBA,QAAM4B,kBAAkB,GAAGnB,qBAAqB,CAAET,KAAF,CAAhD;;AACA,MAAK,CAAE4B,kBAAP,EAA4B;AAC3B,WAAOV,QAAP;AACA;;AAEDA,EAAAA,QAAQ,CAACW,WAAT,GAAuB,QAA4B;AAAA,QAA1B;AAAEC,MAAAA,OAAF;AAAW,SAAGC;AAAd,KAA0B;AAClD3C,IAAAA,WAAW,CAAE;AACZ4C,MAAAA,kBAAkB,EAAEhC,KAAK,CAACkB,QAAN,CAAee,gBADvB;AAEZH,MAAAA,OAAO,EAAE;AAAA,YAAE;AAAEI,UAAAA;AAAF,SAAF;AAAA,eAAmBJ,OAAO,CAAEI,OAAF,CAA1B;AAAA,OAFG;AAGZ,SAAGH;AAHS,KAAF,CAAX;AAKA,GAND;;AAOA,SAAOb,QAAP;AACA,CArCuC,EAsCtClB,KAAF,IAAa,CACZS,qBAAqB,CAAET,KAAF,CADT,EAEZA,KAAK,CAACkB,QAFM,EAGZpB,uBAAuB,CAAEE,KAAF,EAAS,WAAT,CAHX,EAIZF,uBAAuB,CAAEE,KAAF,EAAS,cAAT,CAJX,EAKZF,uBAAuB,CAAEE,KAAF,EAAS,sBAAT,CALX,EAMZF,uBAAuB,CAAEE,KAAF,EAAS,gBAAT,CANX,EAOZW,iBAAiB,CAAEX,KAAF,CAPL,EAQZ2B,iBAAiB,CAAE3B,KAAF,CARL,CAtC2B,CAAlC;AAkDP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASmC,iBAAT,CAA4BnC,KAA5B,EAAoC;AAC1C,SAAOA,KAAK,CAACoC,cAAb;AACA;;AAED,SAASC,oBAAT,CAA+BrC,KAA/B,EAAuC;AACtC,SAAOA,KAAK,CAACsC,UAAb;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,SAASX,iBAAT,CAA4B3B,KAA5B,EAAoC;AAC1C,SAAOqC,oBAAoB,CAAErC,KAAF,CAApB,CAA8BuC,IAArC;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,eAAT,CAA0BxC,KAA1B,EAAkC;AACxC,SAAOqC,oBAAoB,CAAErC,KAAF,CAApB,CAA8ByC,EAArC;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,OAAT,CAAkB1C,KAAlB,EAA0B;AAChC,SAAOqC,oBAAoB,CAAErC,KAAF,CAApB,CAA8B2C,IAArC;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,4BAAT,CAAuC5C,KAAvC,EAA+C;AACrD,SAAOA,KAAK,CAAC6C,eAAN,CAAsBC,IAA7B;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,wCAAwC,GAAG7D,sBAAsB,CAC3Ea,MAAF,IAAgBC,KAAF,IAAa;AAC1B,QAAMgD,YAAY,GAAGrB,iBAAiB,CAAE3B,KAAF,CAAtC;AACA,QAAMiD,UAAU,GAAGT,eAAe,CAAExC,KAAF,CAAlC;AACA,QAAMkD,QAAQ,GAAGD,UAAU,GACxBlD,MAAM,CAAEd,aAAF,CAAN,CAAwBkE,eAAxB,CACA,UADA,EAEAH,YAFA,EAGAC,UAHA,CADwB,GAMxB,IANH;;AAQA,MAAK,CAAEC,QAAP,EAAkB;AACjB,WAAO1D,SAAP;AACA;;AAED,MAAK,uBAAuBwD,YAA5B,EAA2C;AAAA;;AAC1C,WACC,0BAAArD,wBAAwB,CAACyD,IAAzB,CACGC,OAAF,IAAeA,OAAO,CAACC,IAAR,MAAiBJ,QAAjB,aAAiBA,QAAjB,uBAAiBA,QAAQ,CAAEI,IAA3B,CADhB,iFAEGR,IAFH,KAEWrD,mBAHZ;AAKA;;AAED,QAAM8D,SAAS,GAAGxD,MAAM,CAAEd,aAAF,CAAN,CAAwB6B,gBAAxB,CACjB,UADiB,EAEjB,aAFiB,CAAlB;AAIA,QAAM0C,WAAW,GAAGzD,MAAM,CAAEd,aAAF,CAAN,CAAwBwE,qBAAxB,CACnB,MADmB,EAEnB,MAFmB,EAGlBC,aAHF;;AAKA,MACC7D,oBAAoB,CACnBqD,QAAQ,CAACS,IADU,EAEnB7E,GAAG,CAAEyE,SAAF,EAAa,MAAb,CAFgB,EAGnBC,WAHmB,CADrB,EAME;AACD,WAAO9D,qBAAP;AACA;;AAED,SAAOE,mBAAmB,CAAEsD,QAAQ,CAACS,IAAX,CAA1B;AACA,CA5C4E,CAAvE;AA+CP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,kBAAT,CAA6B5D,KAA7B,EAAqC;AAC3C,SAAOA,KAAK,CAAC6C,eAAN,CAAsBgB,MAA7B;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,gBAAT,CAA2B9D,KAA3B,EAAmC;AACzC,SAAO,CAAC,CAAEA,KAAK,CAAC+D,kBAAhB;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,+BAAT,CAA0ChE,KAA1C,EAAkD;AACxD,QAAM;AAAEiE,IAAAA,YAAF;AAAgBC,IAAAA,cAAhB;AAAgCC,IAAAA;AAAhC,MACLnE,KAAK,CAAC+D,kBADP;AAEA,SAAO;AAAEE,IAAAA,YAAF;AAAgBC,IAAAA,cAAhB;AAAgCC,IAAAA;AAAhC,GAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,gBAAT,CAA2BpE,KAA3B,EAAmC;AACzC,SAAOA,KAAK,CAACqE,aAAb;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,gBAAT,CAA2BtE,KAA3B,EAAmC;AACzC,SAAOA,KAAK,CAACuE,aAAb;AACA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,+BAA+B,GAAGtF,sBAAsB,CAClEa,MAAF,IAAgBC,KAAF,IAAa;AAAA;;AAC1B,QAAMgD,YAAY,GAAGrB,iBAAiB,CAAE3B,KAAF,CAAtC;AACA,QAAMiD,UAAU,GAAGT,eAAe,CAAExC,KAAF,CAAlC;AACA,QAAMkD,QAAQ,GAAGnD,MAAM,CAAEd,aAAF,CAAN,CAAwBwE,qBAAxB,CAChB,UADgB,EAEhBT,YAFgB,EAGhBC,UAHgB,CAAjB;AAMA,QAAMwB,aAAa,GAAG1E,MAAM,CAAEd,aAAF,CAAN,CAAwB6B,gBAAxB,CACrB,UADqB,EAErB,kBAFqB,EAGrB;AAAEC,IAAAA,QAAQ,EAAE,CAAC;AAAb,GAHqB,CAAtB;AAKA,QAAM2D,iBAAiB,GAAGD,aAAa,GACpC;AACAA,EAAAA,aAAa,CAACE,MAAd,CACA,CAAEC,gBAAF,EAAoBC,IAApB,MAAgC,EAC/B,GAAGD,gBAD4B;AAE/B,KAAEC,IAAI,CAACpC,EAAP,GAAaoC;AAFkB,GAAhC,CADA,EAKA,EALA,CAFoC,GASpC,EATH;AAWA,SAAO,qBAAE3B,QAAQ,CAAC4B,MAAX,+DAAqB,EAArB,EACLC,MADK,CACKC,KAAF,IAAa3F,cAAc,CAAE2F,KAAF,CAD9B,EAELlG,GAFK,CAEEkG,KAAF,IAAa;AAClB,UAAM;AACLC,MAAAA,UAAU,EAAE;AAAEC,QAAAA,KAAF;AAASvB,QAAAA;AAAT;AADP,QAEFqB,KAFJ;AAGA,UAAMG,cAAc,GAAI,GAAGD,KAAO,KAAKvB,IAAM,EAA7C;AACA,UAAMyB,YAAY,GAAGV,iBAAiB,CAAES,cAAF,CAAtC;AAEA,WAAO;AACNC,MAAAA,YADM;AAENJ,MAAAA;AAFM,KAAP;AAIA,GAbK,EAcLD,MAdK,CAcG;AAAA,QAAE;AAAEK,MAAAA;AAAF,KAAF;AAAA,WAAwB,CAAC,CAAEA,YAA3B;AAAA,GAdH,CAAP;AAeA,CAzCmE,CAA9D;AA4CP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,aAAT,CAAwBrF,KAAxB,EAAgC;AACtC,SAAOF,uBAAuB,CAAEE,KAAF,EAAS,YAAT,CAA9B;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { map } from 'lodash';\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { createRegistrySelector } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { isTemplatePart } from '@wordpress/blocks';\nimport { Platform } from '@wordpress/element';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMENU_ROOT,\n\tMENU_TEMPLATE_PARTS,\n\tMENU_TEMPLATES_UNUSED,\n\tTEMPLATE_PARTS_SUB_MENUS,\n} from '../components/navigation-sidebar/navigation-panel/constants';\nimport {\n\tgetTemplateLocation,\n\tisTemplateSuperseded,\n} from '../components/navigation-sidebar/navigation-panel/template-hierarchy';\n\n/**\n * @typedef {'template'|'template_type'} TemplateType Template type.\n */\n\n/**\n * Helper for getting a preference from the preferences store.\n *\n * This is only present so that `getSettings` doesn't need to be made a\n * registry selector.\n *\n * It's unstable because the selector needs to be exported and so part of the\n * public API to work.\n */\nexport const __unstableGetPreference = createRegistrySelector(\n\t( select ) => ( state, name ) =>\n\t\tselect( preferencesStore ).get( 'core/edit-site', name )\n);\n\n/**\n * Returns whether the given feature is enabled or not.\n *\n * @param {Object} state Global application state.\n * @param {string} featureName Feature slug.\n *\n * @return {boolean} Is active.\n */\nexport function isFeatureActive( state, featureName ) {\n\tdeprecated( `select( 'core/interface' ).isFeatureActive`, {\n\t\tsince: '6.0',\n\t\talternative: `select( 'core/preferences' ).get`,\n\t} );\n\n\treturn !! __unstableGetPreference( state, featureName );\n}\n\n/**\n * Returns the current editing canvas device type.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Device type.\n */\nexport function __experimentalGetPreviewDeviceType( state ) {\n\treturn state.deviceType;\n}\n\n/**\n * Returns whether the current user can create media or not.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} Whether the current user can create media or not.\n */\nexport const getCanUserCreateMedia = createRegistrySelector(\n\t( select ) => () => select( coreDataStore ).canUser( 'create', 'media' )\n);\n\n/**\n * Returns any available Reusable blocks.\n *\n * @param {Object} state Global application state.\n *\n * @return {Array} The available reusable blocks.\n */\nexport const getReusableBlocks = createRegistrySelector( ( select ) => () => {\n\tconst isWeb = Platform.OS === 'web';\n\treturn isWeb\n\t\t? select( coreDataStore ).getEntityRecords( 'postType', 'wp_block', {\n\t\t\t\tper_page: -1,\n\t\t } )\n\t\t: [];\n} );\n\n/**\n * Returns the settings, taking into account active features and permissions.\n *\n * @param {Object} state Global application state.\n * @param {Function} setIsInserterOpen Setter for the open state of the global inserter.\n *\n * @return {Object} Settings.\n */\nexport const getSettings = createSelector(\n\t( state, setIsInserterOpen ) => {\n\t\tconst settings = {\n\t\t\t...state.settings,\n\t\t\toutlineMode: true,\n\t\t\tfocusMode: !! __unstableGetPreference( state, 'focusMode' ),\n\t\t\thasFixedToolbar: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tshowIconLabels: !! __unstableGetPreference(\n\t\t\t\tstate,\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpen,\n\t\t\t__experimentalReusableBlocks: getReusableBlocks( state ),\n\t\t\t__experimentalPreferPatternsOnRoot:\n\t\t\t\t'wp_template' === getEditedPostType( state ),\n\t\t};\n\n\t\tconst canUserCreateMedia = getCanUserCreateMedia( state );\n\t\tif ( ! canUserCreateMedia ) {\n\t\t\treturn settings;\n\t\t}\n\n\t\tsettings.mediaUpload = ( { onError, ...rest } ) => {\n\t\t\tuploadMedia( {\n\t\t\t\twpAllowedMimeTypes: state.settings.allowedMimeTypes,\n\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t...rest,\n\t\t\t} );\n\t\t};\n\t\treturn settings;\n\t},\n\t( state ) => [\n\t\tgetCanUserCreateMedia( state ),\n\t\tstate.settings,\n\t\t__unstableGetPreference( state, 'focusMode' ),\n\t\t__unstableGetPreference( state, 'fixedToolbar' ),\n\t\t__unstableGetPreference( state, 'keepCaretInsideBlock' ),\n\t\t__unstableGetPreference( state, 'showIconLabels' ),\n\t\tgetReusableBlocks( state ),\n\t\tgetEditedPostType( state ),\n\t]\n);\n\n/**\n * Returns the current home template ID.\n *\n * @param {Object} state Global application state.\n *\n * @return {number?} Home template ID.\n */\nexport function getHomeTemplateId( state ) {\n\treturn state.homeTemplateId;\n}\n\nfunction getCurrentEditedPost( state ) {\n\treturn state.editedPost;\n}\n\n/**\n * Returns the current edited post type (wp_template or wp_template_part).\n *\n * @param {Object} state Global application state.\n *\n * @return {TemplateType?} Template type.\n */\nexport function getEditedPostType( state ) {\n\treturn getCurrentEditedPost( state ).type;\n}\n\n/**\n * Returns the ID of the currently edited template or template part.\n *\n * @param {Object} state Global application state.\n *\n * @return {string?} Post ID.\n */\nexport function getEditedPostId( state ) {\n\treturn getCurrentEditedPost( state ).id;\n}\n\n/**\n * Returns the current page object.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} Page.\n */\nexport function getPage( state ) {\n\treturn getCurrentEditedPost( state ).page;\n}\n\n/**\n * Returns the active menu in the navigation panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Active menu.\n */\nexport function getNavigationPanelActiveMenu( state ) {\n\treturn state.navigationPanel.menu;\n}\n\n/**\n * Returns the current template or template part's corresponding\n * navigation panel's sub menu, to be used with `openNavigationPanelToMenu`.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} The current template or template part's sub menu.\n */\nexport const getCurrentTemplateNavigationPanelSubMenu = createRegistrySelector(\n\t( select ) => ( state ) => {\n\t\tconst templateType = getEditedPostType( state );\n\t\tconst templateId = getEditedPostId( state );\n\t\tconst template = templateId\n\t\t\t? select( coreDataStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplateType,\n\t\t\t\t\ttemplateId\n\t\t\t )\n\t\t\t: null;\n\n\t\tif ( ! template ) {\n\t\t\treturn MENU_ROOT;\n\t\t}\n\n\t\tif ( 'wp_template_part' === templateType ) {\n\t\t\treturn (\n\t\t\t\tTEMPLATE_PARTS_SUB_MENUS.find(\n\t\t\t\t\t( submenu ) => submenu.area === template?.area\n\t\t\t\t)?.menu || MENU_TEMPLATE_PARTS\n\t\t\t);\n\t\t}\n\n\t\tconst templates = select( coreDataStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\t'wp_template'\n\t\t);\n\t\tconst showOnFront = select( coreDataStore ).getEditedEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t).show_on_front;\n\n\t\tif (\n\t\t\tisTemplateSuperseded(\n\t\t\t\ttemplate.slug,\n\t\t\t\tmap( templates, 'slug' ),\n\t\t\t\tshowOnFront\n\t\t\t)\n\t\t) {\n\t\t\treturn MENU_TEMPLATES_UNUSED;\n\t\t}\n\n\t\treturn getTemplateLocation( template.slug );\n\t}\n);\n\n/**\n * Returns the current opened/closed state of the navigation panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the navigation panel should be open; false if closed.\n */\nexport function isNavigationOpened( state ) {\n\treturn state.navigationPanel.isOpen;\n}\n\n/**\n * Returns the current opened/closed state of the inserter panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the inserter panel should be open; false if closed.\n */\nexport function isInserterOpened( state ) {\n\treturn !! state.blockInserterPanel;\n}\n\n/**\n * Get the insertion point for the inserter.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} The root client ID, index to insert at and starting filter value.\n */\nexport function __experimentalGetInsertionPoint( state ) {\n\tconst { rootClientId, insertionIndex, filterValue } =\n\t\tstate.blockInserterPanel;\n\treturn { rootClientId, insertionIndex, filterValue };\n}\n\n/**\n * Returns the current opened/closed state of the list view panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the list view panel should be open; false if closed.\n */\nexport function isListViewOpened( state ) {\n\treturn state.listViewPanel;\n}\n\n/**\n * Returns the current opened/closed state of the save panel.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if the save panel should be open; false if closed.\n */\nexport function isSaveViewOpened( state ) {\n\treturn state.saveViewPanel;\n}\n\n/**\n * Returns the template parts and their blocks for the current edited template.\n *\n * @param {Object} state Global application state.\n * @return {Array} Template parts and their blocks in an array.\n */\nexport const getCurrentTemplateTemplateParts = createRegistrySelector(\n\t( select ) => ( state ) => {\n\t\tconst templateType = getEditedPostType( state );\n\t\tconst templateId = getEditedPostId( state );\n\t\tconst template = select( coreDataStore ).getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\ttemplateType,\n\t\t\ttemplateId\n\t\t);\n\n\t\tconst templateParts = select( coreDataStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\t{ per_page: -1 }\n\t\t);\n\t\tconst templatePartsById = templateParts\n\t\t\t? // Key template parts by their ID.\n\t\t\t templateParts.reduce(\n\t\t\t\t\t( newTemplateParts, part ) => ( {\n\t\t\t\t\t\t...newTemplateParts,\n\t\t\t\t\t\t[ part.id ]: part,\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t )\n\t\t\t: {};\n\n\t\treturn ( template.blocks ?? [] )\n\t\t\t.filter( ( block ) => isTemplatePart( block ) )\n\t\t\t.map( ( block ) => {\n\t\t\t\tconst {\n\t\t\t\t\tattributes: { theme, slug },\n\t\t\t\t} = block;\n\t\t\t\tconst templatePartId = `${ theme }//${ slug }`;\n\t\t\t\tconst templatePart = templatePartsById[ templatePartId ];\n\n\t\t\t\treturn {\n\t\t\t\t\ttemplatePart,\n\t\t\t\t\tblock,\n\t\t\t\t};\n\t\t\t} )\n\t\t\t.filter( ( { templatePart } ) => !! templatePart );\n\t}\n);\n\n/**\n * Returns the current editing mode.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Editing mode.\n */\nexport function getEditorMode( state ) {\n\treturn __unstableGetPreference( state, 'editorMode' );\n}\n"]}
@@ -306,10 +306,12 @@ body.is-fullscreen-mode .interface-interface-skeleton {
306
306
  overflow: auto;
307
307
  z-index: 20;
308
308
  }
309
+ .interface-interface-skeleton__content .interface-navigable-region__stacker {
310
+ flex-grow: 1;
311
+ }
309
312
 
310
313
  .interface-interface-skeleton__secondary-sidebar,
311
314
  .interface-interface-skeleton__sidebar {
312
- display: block;
313
315
  flex-shrink: 0;
314
316
  position: absolute;
315
317
  z-index: 100000;
@@ -324,9 +326,12 @@ body.is-fullscreen-mode .interface-interface-skeleton {
324
326
  .interface-interface-skeleton__secondary-sidebar,
325
327
  .interface-interface-skeleton__sidebar {
326
328
  position: relative !important;
327
- z-index: 90;
328
329
  width: auto;
329
330
  }
331
+ .is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,
332
+ .is-sidebar-opened .interface-interface-skeleton__sidebar {
333
+ z-index: 90;
334
+ }
330
335
  }
331
336
 
332
337
  .interface-interface-skeleton__sidebar {
@@ -390,11 +395,17 @@ body.is-fullscreen-mode .interface-interface-skeleton {
390
395
  width: 280px;
391
396
  color: #1e1e1e;
392
397
  }
393
- .interface-interface-skeleton__actions:focus {
398
+ .interface-interface-skeleton__actions:focus, .interface-interface-skeleton__actions:focus-within {
394
399
  top: auto;
395
400
  bottom: 0;
396
401
  }
397
402
 
403
+ @media (min-width: 782px) {
404
+ .interface-interface-skeleton.has-footer .interface-interface-skeleton__drawer {
405
+ height: calc(100% - 25px);
406
+ }
407
+ }
408
+
398
409
  .interface-more-menu-dropdown {
399
410
  margin-right: -4px;
400
411
  }
@@ -549,6 +560,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
549
560
  }
550
561
  .edit-site-visual-editor.is-focus-mode .edit-site-visual-editor__editor-canvas {
551
562
  border-radius: 2px;
563
+ max-height: 100%;
552
564
  }
553
565
  .edit-site-visual-editor.is-focus-mode .components-resizable-box__container {
554
566
  overflow: visible;
@@ -715,6 +727,7 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp
715
727
  margin-bottom: 16px;
716
728
  background: #f0f0f0;
717
729
  border-radius: 2px;
730
+ overflow: hidden;
718
731
  }
719
732
 
720
733
  .edit-site-typography-panel__full-width-control {
@@ -1140,11 +1153,6 @@ body.is-navigation-sidebar-open .edit-site-header-edit-mode .edit-site-header-ed
1140
1153
  transition-delay: 0s;
1141
1154
  }
1142
1155
  }
1143
- @media (min-width: 782px) {
1144
- .interface-interface-skeleton.has-footer .edit-site-navigation-panel {
1145
- height: calc(100% - 25px);
1146
- }
1147
- }
1148
1156
 
1149
1157
  .edit-site-navigation-panel__inner {
1150
1158
  position: relative;
@@ -1874,16 +1882,10 @@ html.wp-toolbar {
1874
1882
  }
1875
1883
 
1876
1884
  .edit-site-editor__toggle-save-panel {
1877
- z-index: 100000;
1878
- position: fixed !important;
1879
- top: -9999em;
1880
- bottom: auto;
1881
- right: auto;
1882
- left: 0;
1885
+ box-sizing: border-box;
1883
1886
  width: 280px;
1884
1887
  background-color: #fff;
1885
1888
  border: 1px dotted #ddd;
1886
- height: auto !important;
1887
1889
  padding: 24px;
1888
1890
  display: flex;
1889
1891
  justify-content: center;
@@ -306,10 +306,12 @@ body.is-fullscreen-mode .interface-interface-skeleton {
306
306
  overflow: auto;
307
307
  z-index: 20;
308
308
  }
309
+ .interface-interface-skeleton__content .interface-navigable-region__stacker {
310
+ flex-grow: 1;
311
+ }
309
312
 
310
313
  .interface-interface-skeleton__secondary-sidebar,
311
314
  .interface-interface-skeleton__sidebar {
312
- display: block;
313
315
  flex-shrink: 0;
314
316
  position: absolute;
315
317
  z-index: 100000;
@@ -324,9 +326,12 @@ body.is-fullscreen-mode .interface-interface-skeleton {
324
326
  .interface-interface-skeleton__secondary-sidebar,
325
327
  .interface-interface-skeleton__sidebar {
326
328
  position: relative !important;
327
- z-index: 90;
328
329
  width: auto;
329
330
  }
331
+ .is-sidebar-opened .interface-interface-skeleton__secondary-sidebar,
332
+ .is-sidebar-opened .interface-interface-skeleton__sidebar {
333
+ z-index: 90;
334
+ }
330
335
  }
331
336
 
332
337
  .interface-interface-skeleton__sidebar {
@@ -390,11 +395,17 @@ body.is-fullscreen-mode .interface-interface-skeleton {
390
395
  width: 280px;
391
396
  color: #1e1e1e;
392
397
  }
393
- .interface-interface-skeleton__actions:focus {
398
+ .interface-interface-skeleton__actions:focus, .interface-interface-skeleton__actions:focus-within {
394
399
  top: auto;
395
400
  bottom: 0;
396
401
  }
397
402
 
403
+ @media (min-width: 782px) {
404
+ .interface-interface-skeleton.has-footer .interface-interface-skeleton__drawer {
405
+ height: calc(100% - 25px);
406
+ }
407
+ }
408
+
398
409
  .interface-more-menu-dropdown {
399
410
  margin-left: -4px;
400
411
  }
@@ -549,6 +560,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
549
560
  }
550
561
  .edit-site-visual-editor.is-focus-mode .edit-site-visual-editor__editor-canvas {
551
562
  border-radius: 2px;
563
+ max-height: 100%;
552
564
  }
553
565
  .edit-site-visual-editor.is-focus-mode .components-resizable-box__container {
554
566
  overflow: visible;
@@ -715,6 +727,7 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp
715
727
  margin-bottom: 16px;
716
728
  background: #f0f0f0;
717
729
  border-radius: 2px;
730
+ overflow: hidden;
718
731
  }
719
732
 
720
733
  .edit-site-typography-panel__full-width-control {
@@ -1140,11 +1153,6 @@ body.is-navigation-sidebar-open .edit-site-header-edit-mode .edit-site-header-ed
1140
1153
  transition-delay: 0s;
1141
1154
  }
1142
1155
  }
1143
- @media (min-width: 782px) {
1144
- .interface-interface-skeleton.has-footer .edit-site-navigation-panel {
1145
- height: calc(100% - 25px);
1146
- }
1147
- }
1148
1156
 
1149
1157
  .edit-site-navigation-panel__inner {
1150
1158
  position: relative;
@@ -1874,16 +1882,10 @@ html.wp-toolbar {
1874
1882
  }
1875
1883
 
1876
1884
  .edit-site-editor__toggle-save-panel {
1877
- z-index: 100000;
1878
- position: fixed !important;
1879
- top: -9999em;
1880
- bottom: auto;
1881
- left: auto;
1882
- right: 0;
1885
+ box-sizing: border-box;
1883
1886
  width: 280px;
1884
1887
  background-color: #fff;
1885
1888
  border: 1px dotted #ddd;
1886
- height: auto !important;
1887
1889
  padding: 24px;
1888
1890
  display: flex;
1889
1891
  justify-content: center;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-site",
3
- "version": "4.17.0",
3
+ "version": "4.19.0",
4
4
  "description": "Edit Site Page module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,34 +27,35 @@
27
27
  "react-native": "src/index",
28
28
  "dependencies": {
29
29
  "@babel/runtime": "^7.16.0",
30
- "@wordpress/a11y": "^3.20.0",
31
- "@wordpress/api-fetch": "^6.17.0",
32
- "@wordpress/block-editor": "^10.3.0",
33
- "@wordpress/block-library": "^7.17.0",
34
- "@wordpress/blocks": "^11.19.0",
35
- "@wordpress/components": "^21.3.0",
36
- "@wordpress/compose": "^5.18.0",
37
- "@wordpress/core-data": "^5.3.0",
38
- "@wordpress/data": "^7.4.0",
39
- "@wordpress/deprecated": "^3.20.0",
40
- "@wordpress/editor": "^12.19.0",
41
- "@wordpress/element": "^4.18.0",
42
- "@wordpress/hooks": "^3.20.0",
43
- "@wordpress/html-entities": "^3.20.0",
44
- "@wordpress/i18n": "^4.20.0",
45
- "@wordpress/icons": "^9.11.0",
46
- "@wordpress/interface": "^4.19.0",
47
- "@wordpress/keyboard-shortcuts": "^3.18.0",
48
- "@wordpress/keycodes": "^3.20.0",
49
- "@wordpress/media-utils": "^4.11.0",
50
- "@wordpress/notices": "^3.20.0",
51
- "@wordpress/plugins": "^4.18.0",
52
- "@wordpress/preferences": "^2.12.0",
53
- "@wordpress/reusable-blocks": "^3.18.0",
54
- "@wordpress/style-engine": "^1.3.0",
55
- "@wordpress/url": "^3.21.0",
56
- "@wordpress/viewport": "^4.18.0",
30
+ "@wordpress/a11y": "^3.22.0",
31
+ "@wordpress/api-fetch": "^6.19.0",
32
+ "@wordpress/block-editor": "^10.5.0",
33
+ "@wordpress/block-library": "^7.19.0",
34
+ "@wordpress/blocks": "^11.21.0",
35
+ "@wordpress/components": "^22.1.0",
36
+ "@wordpress/compose": "^5.20.0",
37
+ "@wordpress/core-data": "^5.5.0",
38
+ "@wordpress/data": "^7.6.0",
39
+ "@wordpress/deprecated": "^3.22.0",
40
+ "@wordpress/editor": "^12.21.0",
41
+ "@wordpress/element": "^4.20.0",
42
+ "@wordpress/hooks": "^3.22.0",
43
+ "@wordpress/html-entities": "^3.22.0",
44
+ "@wordpress/i18n": "^4.22.0",
45
+ "@wordpress/icons": "^9.13.0",
46
+ "@wordpress/interface": "^4.21.0",
47
+ "@wordpress/keyboard-shortcuts": "^3.20.0",
48
+ "@wordpress/keycodes": "^3.22.0",
49
+ "@wordpress/media-utils": "^4.13.0",
50
+ "@wordpress/notices": "^3.22.0",
51
+ "@wordpress/plugins": "^4.20.0",
52
+ "@wordpress/preferences": "^2.14.0",
53
+ "@wordpress/reusable-blocks": "^3.20.0",
54
+ "@wordpress/style-engine": "^1.5.0",
55
+ "@wordpress/url": "^3.23.0",
56
+ "@wordpress/viewport": "^4.20.0",
57
57
  "classnames": "^2.3.1",
58
+ "colord": "^2.9.2",
58
59
  "downloadjs": "^1.4.7",
59
60
  "history": "^5.1.0",
60
61
  "lodash": "^4.17.21",
@@ -68,5 +69,5 @@
68
69
  "publishConfig": {
69
70
  "access": "public"
70
71
  },
71
- "gitHead": "a2ff0e6471c88436dad0287beb88d1729aa6f5dd"
72
+ "gitHead": "7ac04f446242452d3cb24372f9ca58f0cae97715"
72
73
  }
@@ -17,6 +17,7 @@ import {
17
17
  } from '@wordpress/components';
18
18
  import { useDebounce } from '@wordpress/compose';
19
19
  import { useEntityRecords } from '@wordpress/core-data';
20
+ import { decodeEntities } from '@wordpress/html-entities';
20
21
 
21
22
  /**
22
23
  * Internal dependencies
@@ -50,7 +51,10 @@ function SuggestionListItem( {
50
51
  }
51
52
  >
52
53
  <span className={ `${ baseCssClass }__title` }>
53
- <TextHighlight text={ suggestion.name } highlight={ search } />
54
+ <TextHighlight
55
+ text={ decodeEntities( suggestion.name ) }
56
+ highlight={ search }
57
+ />
54
58
  </span>
55
59
  { suggestion.link && (
56
60
  <span className={ `${ baseCssClass }__info` }>