@wordpress/edit-post 5.0.1 → 5.0.5

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 (162) hide show
  1. package/README.md +2 -5
  2. package/build/components/header/fullscreen-mode-close/index.js +19 -3
  3. package/build/components/header/fullscreen-mode-close/index.js.map +1 -1
  4. package/build/components/header/header-toolbar/index.native.js +10 -3
  5. package/build/components/header/header-toolbar/index.native.js.map +1 -1
  6. package/build/components/header/more-menu/index.js +3 -14
  7. package/build/components/header/more-menu/index.js.map +1 -1
  8. package/build/components/header/template-title/index.js +1 -1
  9. package/build/components/header/template-title/index.js.map +1 -1
  10. package/build/components/header/writing-menu/index.js +7 -10
  11. package/build/components/header/writing-menu/index.js.map +1 -1
  12. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -1
  13. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  14. package/build/components/keyboard-shortcut-help-modal/index.js +1 -3
  15. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  16. package/build/components/keyboard-shortcuts/index.js +1 -8
  17. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  18. package/build/components/layout/index.js +3 -5
  19. package/build/components/layout/index.js.map +1 -1
  20. package/build/components/layout/index.native.js +5 -1
  21. package/build/components/layout/index.native.js.map +1 -1
  22. package/build/components/meta-boxes/index.js +37 -20
  23. package/build/components/meta-boxes/index.js.map +1 -1
  24. package/build/components/preferences-modal/index.js +56 -18
  25. package/build/components/preferences-modal/index.js.map +1 -1
  26. package/build/components/secondary-sidebar/inserter-sidebar.js +2 -1
  27. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  28. package/build/components/secondary-sidebar/list-view-sidebar.js +1 -0
  29. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  30. package/build/components/sidebar/plugin-sidebar/index.js +1 -1
  31. package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
  32. package/build/components/sidebar/post-link/index.js +1 -1
  33. package/build/components/sidebar/post-link/index.js.map +1 -1
  34. package/build/components/sidebar/template/actions.js +6 -1
  35. package/build/components/sidebar/template/actions.js.map +1 -1
  36. package/build/components/sidebar/template/index.js +5 -2
  37. package/build/components/sidebar/template/index.js.map +1 -1
  38. package/build/components/sidebar/template-summary/index.js +2 -1
  39. package/build/components/sidebar/template-summary/index.js.map +1 -1
  40. package/build/components/visual-editor/index.js +6 -4
  41. package/build/components/visual-editor/index.js.map +1 -1
  42. package/build/editor.js +17 -5
  43. package/build/editor.js.map +1 -1
  44. package/build/hooks/validate-multiple-use/index.js +1 -1
  45. package/build/hooks/validate-multiple-use/index.js.map +1 -1
  46. package/build/index.js +28 -12
  47. package/build/index.js.map +1 -1
  48. package/build/plugins/welcome-guide-menu-item/index.js +6 -7
  49. package/build/plugins/welcome-guide-menu-item/index.js.map +1 -1
  50. package/build/store/actions.js +68 -59
  51. package/build/store/actions.js.map +1 -1
  52. package/build/store/defaults.js +0 -9
  53. package/build/store/defaults.js.map +1 -1
  54. package/build/store/reducer.js +20 -11
  55. package/build/store/reducer.js.map +1 -1
  56. package/build/store/selectors.js +24 -10
  57. package/build/store/selectors.js.map +1 -1
  58. package/build-module/components/header/fullscreen-mode-close/index.js +19 -4
  59. package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
  60. package/build-module/components/header/header-toolbar/index.native.js +11 -4
  61. package/build-module/components/header/header-toolbar/index.native.js.map +1 -1
  62. package/build-module/components/header/more-menu/index.js +5 -15
  63. package/build-module/components/header/more-menu/index.js.map +1 -1
  64. package/build-module/components/header/template-title/index.js +1 -1
  65. package/build-module/components/header/template-title/index.js.map +1 -1
  66. package/build-module/components/header/writing-menu/index.js +7 -8
  67. package/build-module/components/header/writing-menu/index.js.map +1 -1
  68. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -1
  69. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  70. package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -3
  71. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  72. package/build-module/components/keyboard-shortcuts/index.js +1 -8
  73. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  74. package/build-module/components/layout/index.js +4 -6
  75. package/build-module/components/layout/index.js.map +1 -1
  76. package/build-module/components/layout/index.native.js +5 -1
  77. package/build-module/components/layout/index.native.js.map +1 -1
  78. package/build-module/components/meta-boxes/index.js +38 -20
  79. package/build-module/components/meta-boxes/index.js.map +1 -1
  80. package/build-module/components/preferences-modal/index.js +57 -20
  81. package/build-module/components/preferences-modal/index.js.map +1 -1
  82. package/build-module/components/secondary-sidebar/inserter-sidebar.js +2 -1
  83. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  84. package/build-module/components/secondary-sidebar/list-view-sidebar.js +1 -0
  85. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  86. package/build-module/components/sidebar/plugin-sidebar/index.js +1 -1
  87. package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
  88. package/build-module/components/sidebar/post-link/index.js +1 -1
  89. package/build-module/components/sidebar/post-link/index.js.map +1 -1
  90. package/build-module/components/sidebar/template/actions.js +6 -1
  91. package/build-module/components/sidebar/template/actions.js.map +1 -1
  92. package/build-module/components/sidebar/template/index.js +5 -2
  93. package/build-module/components/sidebar/template/index.js.map +1 -1
  94. package/build-module/components/sidebar/template-summary/index.js +2 -1
  95. package/build-module/components/sidebar/template-summary/index.js.map +1 -1
  96. package/build-module/components/visual-editor/index.js +6 -4
  97. package/build-module/components/visual-editor/index.js.map +1 -1
  98. package/build-module/editor.js +17 -6
  99. package/build-module/editor.js.map +1 -1
  100. package/build-module/hooks/validate-multiple-use/index.js +1 -1
  101. package/build-module/hooks/validate-multiple-use/index.js.map +1 -1
  102. package/build-module/index.js +18 -5
  103. package/build-module/index.js.map +1 -1
  104. package/build-module/plugins/welcome-guide-menu-item/index.js +7 -8
  105. package/build-module/plugins/welcome-guide-menu-item/index.js.map +1 -1
  106. package/build-module/store/actions.js +66 -59
  107. package/build-module/store/actions.js.map +1 -1
  108. package/build-module/store/defaults.js +0 -9
  109. package/build-module/store/defaults.js.map +1 -1
  110. package/build-module/store/reducer.js +20 -11
  111. package/build-module/store/reducer.js.map +1 -1
  112. package/build-module/store/selectors.js +20 -7
  113. package/build-module/store/selectors.js.map +1 -1
  114. package/build-style/style-rtl.css +68 -69
  115. package/build-style/style.css +68 -69
  116. package/package.json +27 -27
  117. package/src/components/header/fullscreen-mode-close/index.js +37 -15
  118. package/src/components/header/fullscreen-mode-close/style.scss +2 -2
  119. package/src/components/header/header-toolbar/index.native.js +8 -2
  120. package/src/components/header/more-menu/index.js +8 -13
  121. package/src/components/header/template-title/index.js +3 -1
  122. package/src/components/header/writing-menu/index.js +7 -8
  123. package/src/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +15 -12
  124. package/src/components/keyboard-shortcut-help-modal/index.js +1 -3
  125. package/src/components/keyboard-shortcut-help-modal/test/__snapshots__/index.js.snap +2 -2
  126. package/src/components/keyboard-shortcuts/index.js +19 -32
  127. package/src/components/layout/index.js +4 -10
  128. package/src/components/layout/index.native.js +7 -1
  129. package/src/components/meta-boxes/index.js +35 -14
  130. package/src/components/preferences-modal/index.js +93 -30
  131. package/src/components/preferences-modal/style.scss +6 -56
  132. package/src/components/preferences-modal/test/__snapshots__/index.js.snap +334 -136
  133. package/src/components/secondary-sidebar/inserter-sidebar.js +1 -0
  134. package/src/components/secondary-sidebar/list-view-sidebar.js +1 -0
  135. package/src/components/sidebar/plugin-sidebar/index.js +1 -1
  136. package/src/components/sidebar/post-link/index.js +5 -1
  137. package/src/components/sidebar/template/actions.js +6 -1
  138. package/src/components/sidebar/template/index.js +5 -3
  139. package/src/components/sidebar/template-summary/index.js +1 -1
  140. package/src/components/sidebar/template-summary/style.scss +2 -1
  141. package/src/components/text-editor/style.scss +12 -22
  142. package/src/components/visual-editor/index.js +16 -10
  143. package/src/components/visual-editor/style.scss +4 -7
  144. package/src/components/welcome-guide/style.scss +5 -0
  145. package/src/editor.js +101 -79
  146. package/src/hooks/validate-multiple-use/index.js +1 -1
  147. package/src/index.js +18 -5
  148. package/src/plugins/welcome-guide-menu-item/index.js +7 -12
  149. package/src/store/actions.js +99 -80
  150. package/src/store/defaults.js +0 -9
  151. package/src/store/reducer.js +17 -10
  152. package/src/store/selectors.js +27 -7
  153. package/src/store/test/actions.js +0 -11
  154. package/src/store/test/reducer.js +0 -12
  155. package/src/store/test/selectors.js +0 -46
  156. package/build/components/header/feature-toggle/index.js +0 -76
  157. package/build/components/header/feature-toggle/index.js.map +0 -1
  158. package/build-module/components/header/feature-toggle/index.js +0 -60
  159. package/build-module/components/header/feature-toggle/index.js.map +0 -1
  160. package/src/components/header/feature-toggle/index.js +0 -61
  161. package/src/components/header/more-menu/test/__snapshots__/index.js.snap +0 -129
  162. package/src/components/header/more-menu/test/index.js +0 -17
@@ -51,7 +51,8 @@ export default function InserterSidebar() {
51
51
  showInserterHelpPanel: true,
52
52
  shouldFocusBlock: isMobileViewport,
53
53
  rootClientId: insertionPoint.rootClientId,
54
- __experimentalInsertionIndex: insertionPoint.insertionIndex
54
+ __experimentalInsertionIndex: insertionPoint.insertionIndex,
55
+ __experimentalFilterValue: insertionPoint.filterValue
55
56
  })));
56
57
  }
57
58
  //# sourceMappingURL=inserter-sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/secondary-sidebar/inserter-sidebar.js"],"names":["useDispatch","useSelect","Button","__experimentalLibrary","Library","close","useViewportMatch","__experimentalUseDialog","useDialog","store","editPostStore","InserterSidebar","insertionPoint","showMostUsedBlocks","select","isFeatureActive","__experimentalGetInsertionPoint","setIsInserterOpened","isMobileViewport","inserterDialogRef","inserterDialogProps","onClose","rootClientId","insertionIndex"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,qBAAqB,IAAIC,OAAlC,QAAiD,yBAAjD;AACA,SAASC,KAAT,QAAsB,kBAAtB;AACA,SACCC,gBADD,EAECC,uBAAuB,IAAIC,SAF5B,QAGO,oBAHP;AAKA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,aAAvC;AAEA,eAAe,SAASC,eAAT,GAA2B;AACzC,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,MAAyCZ,SAAS,CAAIa,MAAF,IAAc;AACvE,UAAM;AAAEC,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAuDF,MAAM,CAClEJ,aADkE,CAAnE;AAGA,WAAO;AACNE,MAAAA,cAAc,EAAEI,+BAA+B,EADzC;AAENH,MAAAA,kBAAkB,EAAEE,eAAe,CAAE,gBAAF;AAF7B,KAAP;AAIA,GARuD,EAQrD,EARqD,CAAxD;AASA,QAAM;AAAEE,IAAAA;AAAF,MAA0BjB,WAAW,CAAEU,aAAF,CAA3C;AAEA,QAAMQ,gBAAgB,GAAGZ,gBAAgB,CAAE,QAAF,EAAY,GAAZ,CAAzC;AACA,QAAM,CAAEa,iBAAF,EAAqBC,mBAArB,IAA6CZ,SAAS,CAAE;AAC7Da,IAAAA,OAAO,EAAE,MAAMJ,mBAAmB,CAAE,KAAF;AAD2B,GAAF,CAA5D;AAIA,SACC;AACC,IAAA,GAAG,EAAGE;AADP,KAEMC,mBAFN;AAGC,IAAA,SAAS,EAAC;AAHX,MAKC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,MAAD;AACC,IAAA,IAAI,EAAGf,KADR;AAEC,IAAA,OAAO,EAAG,MAAMY,mBAAmB,CAAE,KAAF;AAFpC,IADD,CALD,EAWC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,OAAD;AACC,IAAA,kBAAkB,EAAGJ,kBADtB;AAEC,IAAA,qBAAqB,MAFtB;AAGC,IAAA,gBAAgB,EAAGK,gBAHpB;AAIC,IAAA,YAAY,EAAGN,cAAc,CAACU,YAJ/B;AAKC,IAAA,4BAA4B,EAC3BV,cAAc,CAACW;AANjB,IADD,CAXD,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __experimentalLibrary as Library } from '@wordpress/block-editor';\nimport { close } from '@wordpress/icons';\nimport {\n\tuseViewportMatch,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport default function InserterSidebar() {\n\tconst { insertionPoint, showMostUsedBlocks } = useSelect( ( select ) => {\n\t\tconst { isFeatureActive, __experimentalGetInsertionPoint } = select(\n\t\t\teditPostStore\n\t\t);\n\t\treturn {\n\t\t\tinsertionPoint: __experimentalGetInsertionPoint(),\n\t\t\tshowMostUsedBlocks: isFeatureActive( 'mostUsedBlocks' ),\n\t\t};\n\t}, [] );\n\tconst { setIsInserterOpened } = useDispatch( editPostStore );\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ inserterDialogRef, inserterDialogProps ] = useDialog( {\n\t\tonClose: () => setIsInserterOpened( false ),\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\tref={ inserterDialogRef }\n\t\t\t{ ...inserterDialogProps }\n\t\t\tclassName=\"edit-post-editor__inserter-panel\"\n\t\t>\n\t\t\t<div className=\"edit-post-editor__inserter-panel-header\">\n\t\t\t\t<Button\n\t\t\t\t\ticon={ close }\n\t\t\t\t\tonClick={ () => setIsInserterOpened( false ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"edit-post-editor__inserter-panel-content\">\n\t\t\t\t<Library\n\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\tshowInserterHelpPanel\n\t\t\t\t\tshouldFocusBlock={ isMobileViewport }\n\t\t\t\t\trootClientId={ insertionPoint.rootClientId }\n\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\tinsertionPoint.insertionIndex\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/secondary-sidebar/inserter-sidebar.js"],"names":["useDispatch","useSelect","Button","__experimentalLibrary","Library","close","useViewportMatch","__experimentalUseDialog","useDialog","store","editPostStore","InserterSidebar","insertionPoint","showMostUsedBlocks","select","isFeatureActive","__experimentalGetInsertionPoint","setIsInserterOpened","isMobileViewport","inserterDialogRef","inserterDialogProps","onClose","rootClientId","insertionIndex","filterValue"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,qBAAqB,IAAIC,OAAlC,QAAiD,yBAAjD;AACA,SAASC,KAAT,QAAsB,kBAAtB;AACA,SACCC,gBADD,EAECC,uBAAuB,IAAIC,SAF5B,QAGO,oBAHP;AAKA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,aAAvC;AAEA,eAAe,SAASC,eAAT,GAA2B;AACzC,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,MAAyCZ,SAAS,CAAIa,MAAF,IAAc;AACvE,UAAM;AAAEC,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAuDF,MAAM,CAClEJ,aADkE,CAAnE;AAGA,WAAO;AACNE,MAAAA,cAAc,EAAEI,+BAA+B,EADzC;AAENH,MAAAA,kBAAkB,EAAEE,eAAe,CAAE,gBAAF;AAF7B,KAAP;AAIA,GARuD,EAQrD,EARqD,CAAxD;AASA,QAAM;AAAEE,IAAAA;AAAF,MAA0BjB,WAAW,CAAEU,aAAF,CAA3C;AAEA,QAAMQ,gBAAgB,GAAGZ,gBAAgB,CAAE,QAAF,EAAY,GAAZ,CAAzC;AACA,QAAM,CAAEa,iBAAF,EAAqBC,mBAArB,IAA6CZ,SAAS,CAAE;AAC7Da,IAAAA,OAAO,EAAE,MAAMJ,mBAAmB,CAAE,KAAF;AAD2B,GAAF,CAA5D;AAIA,SACC;AACC,IAAA,GAAG,EAAGE;AADP,KAEMC,mBAFN;AAGC,IAAA,SAAS,EAAC;AAHX,MAKC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,MAAD;AACC,IAAA,IAAI,EAAGf,KADR;AAEC,IAAA,OAAO,EAAG,MAAMY,mBAAmB,CAAE,KAAF;AAFpC,IADD,CALD,EAWC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,OAAD;AACC,IAAA,kBAAkB,EAAGJ,kBADtB;AAEC,IAAA,qBAAqB,MAFtB;AAGC,IAAA,gBAAgB,EAAGK,gBAHpB;AAIC,IAAA,YAAY,EAAGN,cAAc,CAACU,YAJ/B;AAKC,IAAA,4BAA4B,EAC3BV,cAAc,CAACW,cANjB;AAQC,IAAA,yBAAyB,EAAGX,cAAc,CAACY;AAR5C,IADD,CAXD,CADD;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __experimentalLibrary as Library } from '@wordpress/block-editor';\nimport { close } from '@wordpress/icons';\nimport {\n\tuseViewportMatch,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport default function InserterSidebar() {\n\tconst { insertionPoint, showMostUsedBlocks } = useSelect( ( select ) => {\n\t\tconst { isFeatureActive, __experimentalGetInsertionPoint } = select(\n\t\t\teditPostStore\n\t\t);\n\t\treturn {\n\t\t\tinsertionPoint: __experimentalGetInsertionPoint(),\n\t\t\tshowMostUsedBlocks: isFeatureActive( 'mostUsedBlocks' ),\n\t\t};\n\t}, [] );\n\tconst { setIsInserterOpened } = useDispatch( editPostStore );\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ inserterDialogRef, inserterDialogProps ] = useDialog( {\n\t\tonClose: () => setIsInserterOpened( false ),\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\tref={ inserterDialogRef }\n\t\t\t{ ...inserterDialogProps }\n\t\t\tclassName=\"edit-post-editor__inserter-panel\"\n\t\t>\n\t\t\t<div className=\"edit-post-editor__inserter-panel-header\">\n\t\t\t\t<Button\n\t\t\t\t\ticon={ close }\n\t\t\t\t\tonClick={ () => setIsInserterOpened( false ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"edit-post-editor__inserter-panel-content\">\n\t\t\t\t<Library\n\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\tshowInserterHelpPanel\n\t\t\t\t\tshouldFocusBlock={ isMobileViewport }\n\t\t\t\t\trootClientId={ insertionPoint.rootClientId }\n\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\tinsertionPoint.insertionIndex\n\t\t\t\t\t}\n\t\t\t\t\t__experimentalFilterValue={ insertionPoint.filterValue }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -60,6 +60,7 @@ export default function ListViewSidebar() {
60
60
  }, createElement(ListView, {
61
61
  onSelect: selectEditorBlock,
62
62
  showNestedBlocks: true,
63
+ __experimentalFeatures: true,
63
64
  __experimentalPersistentListViewFeatures: true
64
65
  })))
65
66
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/secondary-sidebar/list-view-sidebar.js"],"names":["__experimentalListView","ListView","store","blockEditorStore","Button","useFocusOnMount","useFocusReturn","useInstanceId","useMergeRefs","useDispatch","__","closeSmall","ESCAPE","editPostStore","ListViewSidebar","setIsListViewOpened","clearSelectedBlock","selectBlock","selectEditorBlock","clientId","focusOnMountRef","focusReturnRef","closeOnEscape","event","keyCode","defaultPrevented","preventDefault","instanceId","labelId"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,sBAAsB,IAAIC,QAD3B,EAECC,KAAK,IAAIC,gBAFV,QAGO,yBAHP;AAIA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SACCC,eADD,EAECC,cAFD,EAGCC,aAHD,EAICC,YAJD,QAKO,oBALP;AAMA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,QAA2B,kBAA3B;AACA,SAASC,MAAT,QAAuB,qBAAvB;AAEA;AACA;AACA;;AACA,SAASV,KAAK,IAAIW,aAAlB,QAAuC,aAAvC;AAEA,eAAe,SAASC,eAAT,GAA2B;AACzC,QAAM;AAAEC,IAAAA;AAAF,MAA0BN,WAAW,CAAEI,aAAF,CAA3C;AAEA,QAAM;AAAEG,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,MAAsCR,WAAW,CAAEN,gBAAF,CAAvD;;AACA,iBAAee,iBAAf,CAAkCC,QAAlC,EAA6C;AAC5C,UAAMH,kBAAkB,EAAxB;AACAC,IAAAA,WAAW,CAAEE,QAAF,EAAY,CAAC,CAAb,CAAX;AACA;;AAED,QAAMC,eAAe,GAAGf,eAAe,CAAE,cAAF,CAAvC;AACA,QAAMgB,cAAc,GAAGf,cAAc,EAArC;;AACA,WAASgB,aAAT,CAAwBC,KAAxB,EAAgC;AAC/B,QAAKA,KAAK,CAACC,OAAN,KAAkBZ,MAAlB,IAA4B,CAAEW,KAAK,CAACE,gBAAzC,EAA4D;AAC3DF,MAAAA,KAAK,CAACG,cAAN;AACAX,MAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACA;AACD;;AAED,QAAMY,UAAU,GAAGpB,aAAa,CAAEO,eAAF,CAAhC;AACA,QAAMc,OAAO,GAAI,2CAA2CD,UAAY,EAAxE;AAEA,SACC;AACA;AACC,yBAAkBC,OADnB;AAEC,MAAA,SAAS,EAAC,mCAFX;AAGC,MAAA,SAAS,EAAGN;AAHb,OAKC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC;AAAQ,MAAA,EAAE,EAAGM;AAAb,OAAyBlB,EAAE,CAAE,WAAF,CAA3B,CADD,EAEC,cAAC,MAAD;AACC,MAAA,IAAI,EAAGC,UADR;AAEC,MAAA,KAAK,EAAGD,EAAE,CAAE,yBAAF,CAFX;AAGC,MAAA,OAAO,EAAG,MAAMK,mBAAmB,CAAE,KAAF;AAHpC,MAFD,CALD,EAaC;AACC,MAAA,SAAS,EAAC,2CADX;AAEC,MAAA,GAAG,EAAGP,YAAY,CAAE,CAAEa,cAAF,EAAkBD,eAAlB,CAAF;AAFnB,OAIC,cAAC,QAAD;AACC,MAAA,QAAQ,EAAGF,iBADZ;AAEC,MAAA,gBAAgB,MAFjB;AAGC,MAAA,wCAAwC;AAHzC,MAJD,CAbD;AAFD;AA2BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalListView as ListView,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport {\n\tuseFocusOnMount,\n\tuseFocusReturn,\n\tuseInstanceId,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport default function ListViewSidebar() {\n\tconst { setIsListViewOpened } = useDispatch( editPostStore );\n\n\tconst { clearSelectedBlock, selectBlock } = useDispatch( blockEditorStore );\n\tasync function selectEditorBlock( clientId ) {\n\t\tawait clearSelectedBlock();\n\t\tselectBlock( clientId, -1 );\n\t}\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst focusReturnRef = useFocusReturn();\n\tfunction closeOnEscape( event ) {\n\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsListViewOpened( false );\n\t\t}\n\t}\n\n\tconst instanceId = useInstanceId( ListViewSidebar );\n\tconst labelId = `edit-post-editor__list-view-panel-label-${ instanceId }`;\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\taria-labelledby={ labelId }\n\t\t\tclassName=\"edit-post-editor__list-view-panel\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t>\n\t\t\t<div className=\"edit-post-editor__list-view-panel-header\">\n\t\t\t\t<strong id={ labelId }>{ __( 'List view' ) }</strong>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Close list view sidebar' ) }\n\t\t\t\t\tonClick={ () => setIsListViewOpened( false ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-post-editor__list-view-panel-content\"\n\t\t\t\tref={ useMergeRefs( [ focusReturnRef, focusOnMountRef ] ) }\n\t\t\t>\n\t\t\t\t<ListView\n\t\t\t\t\tonSelect={ selectEditorBlock }\n\t\t\t\t\tshowNestedBlocks\n\t\t\t\t\t__experimentalPersistentListViewFeatures\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/secondary-sidebar/list-view-sidebar.js"],"names":["__experimentalListView","ListView","store","blockEditorStore","Button","useFocusOnMount","useFocusReturn","useInstanceId","useMergeRefs","useDispatch","__","closeSmall","ESCAPE","editPostStore","ListViewSidebar","setIsListViewOpened","clearSelectedBlock","selectBlock","selectEditorBlock","clientId","focusOnMountRef","focusReturnRef","closeOnEscape","event","keyCode","defaultPrevented","preventDefault","instanceId","labelId"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,sBAAsB,IAAIC,QAD3B,EAECC,KAAK,IAAIC,gBAFV,QAGO,yBAHP;AAIA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SACCC,eADD,EAECC,cAFD,EAGCC,aAHD,EAICC,YAJD,QAKO,oBALP;AAMA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,QAA2B,kBAA3B;AACA,SAASC,MAAT,QAAuB,qBAAvB;AAEA;AACA;AACA;;AACA,SAASV,KAAK,IAAIW,aAAlB,QAAuC,aAAvC;AAEA,eAAe,SAASC,eAAT,GAA2B;AACzC,QAAM;AAAEC,IAAAA;AAAF,MAA0BN,WAAW,CAAEI,aAAF,CAA3C;AAEA,QAAM;AAAEG,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,MAAsCR,WAAW,CAAEN,gBAAF,CAAvD;;AACA,iBAAee,iBAAf,CAAkCC,QAAlC,EAA6C;AAC5C,UAAMH,kBAAkB,EAAxB;AACAC,IAAAA,WAAW,CAAEE,QAAF,EAAY,CAAC,CAAb,CAAX;AACA;;AAED,QAAMC,eAAe,GAAGf,eAAe,CAAE,cAAF,CAAvC;AACA,QAAMgB,cAAc,GAAGf,cAAc,EAArC;;AACA,WAASgB,aAAT,CAAwBC,KAAxB,EAAgC;AAC/B,QAAKA,KAAK,CAACC,OAAN,KAAkBZ,MAAlB,IAA4B,CAAEW,KAAK,CAACE,gBAAzC,EAA4D;AAC3DF,MAAAA,KAAK,CAACG,cAAN;AACAX,MAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACA;AACD;;AAED,QAAMY,UAAU,GAAGpB,aAAa,CAAEO,eAAF,CAAhC;AACA,QAAMc,OAAO,GAAI,2CAA2CD,UAAY,EAAxE;AAEA,SACC;AACA;AACC,yBAAkBC,OADnB;AAEC,MAAA,SAAS,EAAC,mCAFX;AAGC,MAAA,SAAS,EAAGN;AAHb,OAKC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC;AAAQ,MAAA,EAAE,EAAGM;AAAb,OAAyBlB,EAAE,CAAE,WAAF,CAA3B,CADD,EAEC,cAAC,MAAD;AACC,MAAA,IAAI,EAAGC,UADR;AAEC,MAAA,KAAK,EAAGD,EAAE,CAAE,yBAAF,CAFX;AAGC,MAAA,OAAO,EAAG,MAAMK,mBAAmB,CAAE,KAAF;AAHpC,MAFD,CALD,EAaC;AACC,MAAA,SAAS,EAAC,2CADX;AAEC,MAAA,GAAG,EAAGP,YAAY,CAAE,CAAEa,cAAF,EAAkBD,eAAlB,CAAF;AAFnB,OAIC,cAAC,QAAD;AACC,MAAA,QAAQ,EAAGF,iBADZ;AAEC,MAAA,gBAAgB,MAFjB;AAGC,MAAA,sBAAsB,MAHvB;AAIC,MAAA,wCAAwC;AAJzC,MAJD,CAbD;AAFD;AA4BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalListView as ListView,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport {\n\tuseFocusOnMount,\n\tuseFocusReturn,\n\tuseInstanceId,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport default function ListViewSidebar() {\n\tconst { setIsListViewOpened } = useDispatch( editPostStore );\n\n\tconst { clearSelectedBlock, selectBlock } = useDispatch( blockEditorStore );\n\tasync function selectEditorBlock( clientId ) {\n\t\tawait clearSelectedBlock();\n\t\tselectBlock( clientId, -1 );\n\t}\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst focusReturnRef = useFocusReturn();\n\tfunction closeOnEscape( event ) {\n\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsListViewOpened( false );\n\t\t}\n\t}\n\n\tconst instanceId = useInstanceId( ListViewSidebar );\n\tconst labelId = `edit-post-editor__list-view-panel-label-${ instanceId }`;\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\taria-labelledby={ labelId }\n\t\t\tclassName=\"edit-post-editor__list-view-panel\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t>\n\t\t\t<div className=\"edit-post-editor__list-view-panel-header\">\n\t\t\t\t<strong id={ labelId }>{ __( 'List view' ) }</strong>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Close list view sidebar' ) }\n\t\t\t\t\tonClick={ () => setIsListViewOpened( false ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-post-editor__list-view-panel-content\"\n\t\t\t\tref={ useMergeRefs( [ focusReturnRef, focusOnMountRef ] ) }\n\t\t\t>\n\t\t\t\t<ListView\n\t\t\t\t\tonSelect={ selectEditorBlock }\n\t\t\t\t\tshowNestedBlocks\n\t\t\t\t\t__experimentalFeatures\n\t\t\t\t\t__experimentalPersistentListViewFeatures\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -94,7 +94,7 @@ export default function PluginSidebarEditPost({
94
94
  shortcut: select(keyboardShortcutsStore).getShortcutRepresentation('core/edit-post/toggle-sidebar'),
95
95
  showIconLabels: select(editPostStore).isFeatureActive('showIconLabels')
96
96
  };
97
- });
97
+ }, []);
98
98
  return createElement(ComplementaryArea, _extends({
99
99
  panelClassName: className,
100
100
  className: "edit-post-sidebar",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/plugin-sidebar/index.js"],"names":["ComplementaryArea","useSelect","__","store","keyboardShortcutsStore","editorStore","editPostStore","PluginSidebarEditPost","className","props","postTitle","shortcut","showIconLabels","select","getEditedPostAttribute","getShortcutRepresentation","isFeatureActive"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,iBAAT,QAAkC,sBAAlC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,sBAAlB,QAAgD,+BAAhD;AACA,SAASD,KAAK,IAAIE,WAAlB,QAAqC,mBAArC;AAEA;AACA;AACA;;AACA,SAASF,KAAK,IAAIG,aAAlB,QAAuC,gBAAvC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,qBAAT,CAAgC;AAAEC,EAAAA,SAAF;AAAa,KAAGC;AAAhB,CAAhC,EAA0D;AACxE,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,QAAb;AAAuBC,IAAAA;AAAvB,MAA0CX,SAAS,CAAIY,MAAF,IAAc;AACxE,WAAO;AACNH,MAAAA,SAAS,EAAEG,MAAM,CAAER,WAAF,CAAN,CAAsBS,sBAAtB,CAA8C,OAA9C,CADL;AAENH,MAAAA,QAAQ,EAAEE,MAAM,CACfT,sBADe,CAAN,CAERW,yBAFQ,CAEmB,+BAFnB,CAFJ;AAKNH,MAAAA,cAAc,EAAEC,MAAM,CAAEP,aAAF,CAAN,CAAwBU,eAAxB,CACf,gBADe;AALV,KAAP;AASA,GAVwD,CAAzD;AAWA,SACC,cAAC,iBAAD;AACC,IAAA,cAAc,EAAGR,SADlB;AAEC,IAAA,SAAS,EAAC,mBAFX;AAGC,IAAA,gBAAgB,EAAGE,SAAS,IAAIR,EAAE,CAAE,YAAF,CAHnC;AAIC,IAAA,KAAK,EAAC,gBAJP;AAKC,IAAA,cAAc,EAAGS,QALlB;AAMC,IAAA,cAAc,EAAGC;AANlB,KAOMH,KAPN,EADD;AAWA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ComplementaryArea } from '@wordpress/interface';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\n/**\n * Renders a sidebar when activated. The contents within the `PluginSidebar` will appear as content within the sidebar.\n * It also automatically renders a corresponding `PluginSidebarMenuItem` component when `isPinnable` flag is set to `true`.\n * If you wish to display the sidebar, you can with use the `PluginSidebarMoreMenuItem` component or the `wp.data.dispatch` API:\n *\n * ```js\n * wp.data.dispatch( 'core/edit-post' ).openGeneralSidebar( 'plugin-name/sidebar-name' );\n * ```\n *\n * @see PluginSidebarMoreMenuItem\n *\n * @param {Object} props Element props.\n * @param {string} props.name A string identifying the sidebar. Must be unique for every sidebar registered within the scope of your plugin.\n * @param {string} [props.className] An optional class name added to the sidebar body.\n * @param {string} props.title Title displayed at the top of the sidebar.\n * @param {boolean} [props.isPinnable=true] Whether to allow to pin sidebar to the toolbar. When set to `true` it also automatically renders a corresponding menu item.\n * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var __ = wp.i18n.__;\n * var el = wp.element.createElement;\n * var PanelBody = wp.components.PanelBody;\n * var PluginSidebar = wp.editPost.PluginSidebar;\n * var moreIcon = wp.element.createElement( 'svg' ); //... svg element.\n *\n * function MyPluginSidebar() {\n * \treturn el(\n * \t\t\tPluginSidebar,\n * \t\t\t{\n * \t\t\t\tname: 'my-sidebar',\n * \t\t\t\ttitle: 'My sidebar title',\n * \t\t\t\ticon: moreIcon,\n * \t\t\t},\n * \t\t\tel(\n * \t\t\t\tPanelBody,\n * \t\t\t\t{},\n * \t\t\t\t__( 'My sidebar content' )\n * \t\t\t)\n * \t);\n * }\n * ```\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { __ } from '@wordpress/i18n';\n * import { PanelBody } from '@wordpress/components';\n * import { PluginSidebar } from '@wordpress/edit-post';\n * import { more } from '@wordpress/icons';\n *\n * const MyPluginSidebar = () => (\n * \t<PluginSidebar\n * \t\tname=\"my-sidebar\"\n * \t\ttitle=\"My sidebar title\"\n * \t\ticon={ more }\n * \t>\n * \t\t<PanelBody>\n * \t\t\t{ __( 'My sidebar content' ) }\n * \t\t</PanelBody>\n * \t</PluginSidebar>\n * );\n * ```\n */\nexport default function PluginSidebarEditPost( { className, ...props } ) {\n\tconst { postTitle, shortcut, showIconLabels } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostTitle: select( editorStore ).getEditedPostAttribute( 'title' ),\n\t\t\tshortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/edit-post/toggle-sidebar' ),\n\t\t\tshowIconLabels: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t};\n\t} );\n\treturn (\n\t\t<ComplementaryArea\n\t\t\tpanelClassName={ className }\n\t\t\tclassName=\"edit-post-sidebar\"\n\t\t\tsmallScreenTitle={ postTitle || __( '(no title)' ) }\n\t\t\tscope=\"core/edit-post\"\n\t\t\ttoggleShortcut={ shortcut }\n\t\t\tshowIconLabels={ showIconLabels }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/plugin-sidebar/index.js"],"names":["ComplementaryArea","useSelect","__","store","keyboardShortcutsStore","editorStore","editPostStore","PluginSidebarEditPost","className","props","postTitle","shortcut","showIconLabels","select","getEditedPostAttribute","getShortcutRepresentation","isFeatureActive"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,iBAAT,QAAkC,sBAAlC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,sBAAlB,QAAgD,+BAAhD;AACA,SAASD,KAAK,IAAIE,WAAlB,QAAqC,mBAArC;AAEA;AACA;AACA;;AACA,SAASF,KAAK,IAAIG,aAAlB,QAAuC,gBAAvC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,qBAAT,CAAgC;AAAEC,EAAAA,SAAF;AAAa,KAAGC;AAAhB,CAAhC,EAA0D;AACxE,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,QAAb;AAAuBC,IAAAA;AAAvB,MAA0CX,SAAS,CAAIY,MAAF,IAAc;AACxE,WAAO;AACNH,MAAAA,SAAS,EAAEG,MAAM,CAAER,WAAF,CAAN,CAAsBS,sBAAtB,CAA8C,OAA9C,CADL;AAENH,MAAAA,QAAQ,EAAEE,MAAM,CACfT,sBADe,CAAN,CAERW,yBAFQ,CAEmB,+BAFnB,CAFJ;AAKNH,MAAAA,cAAc,EAAEC,MAAM,CAAEP,aAAF,CAAN,CAAwBU,eAAxB,CACf,gBADe;AALV,KAAP;AASA,GAVwD,EAUtD,EAVsD,CAAzD;AAWA,SACC,cAAC,iBAAD;AACC,IAAA,cAAc,EAAGR,SADlB;AAEC,IAAA,SAAS,EAAC,mBAFX;AAGC,IAAA,gBAAgB,EAAGE,SAAS,IAAIR,EAAE,CAAE,YAAF,CAHnC;AAIC,IAAA,KAAK,EAAC,gBAJP;AAKC,IAAA,cAAc,EAAGS,QALlB;AAMC,IAAA,cAAc,EAAGC;AANlB,KAOMH,KAPN,EADD;AAWA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ComplementaryArea } from '@wordpress/interface';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\n/**\n * Renders a sidebar when activated. The contents within the `PluginSidebar` will appear as content within the sidebar.\n * It also automatically renders a corresponding `PluginSidebarMenuItem` component when `isPinnable` flag is set to `true`.\n * If you wish to display the sidebar, you can with use the `PluginSidebarMoreMenuItem` component or the `wp.data.dispatch` API:\n *\n * ```js\n * wp.data.dispatch( 'core/edit-post' ).openGeneralSidebar( 'plugin-name/sidebar-name' );\n * ```\n *\n * @see PluginSidebarMoreMenuItem\n *\n * @param {Object} props Element props.\n * @param {string} props.name A string identifying the sidebar. Must be unique for every sidebar registered within the scope of your plugin.\n * @param {string} [props.className] An optional class name added to the sidebar body.\n * @param {string} props.title Title displayed at the top of the sidebar.\n * @param {boolean} [props.isPinnable=true] Whether to allow to pin sidebar to the toolbar. When set to `true` it also automatically renders a corresponding menu item.\n * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var __ = wp.i18n.__;\n * var el = wp.element.createElement;\n * var PanelBody = wp.components.PanelBody;\n * var PluginSidebar = wp.editPost.PluginSidebar;\n * var moreIcon = wp.element.createElement( 'svg' ); //... svg element.\n *\n * function MyPluginSidebar() {\n * \treturn el(\n * \t\t\tPluginSidebar,\n * \t\t\t{\n * \t\t\t\tname: 'my-sidebar',\n * \t\t\t\ttitle: 'My sidebar title',\n * \t\t\t\ticon: moreIcon,\n * \t\t\t},\n * \t\t\tel(\n * \t\t\t\tPanelBody,\n * \t\t\t\t{},\n * \t\t\t\t__( 'My sidebar content' )\n * \t\t\t)\n * \t);\n * }\n * ```\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { __ } from '@wordpress/i18n';\n * import { PanelBody } from '@wordpress/components';\n * import { PluginSidebar } from '@wordpress/edit-post';\n * import { more } from '@wordpress/icons';\n *\n * const MyPluginSidebar = () => (\n * \t<PluginSidebar\n * \t\tname=\"my-sidebar\"\n * \t\ttitle=\"My sidebar title\"\n * \t\ticon={ more }\n * \t>\n * \t\t<PanelBody>\n * \t\t\t{ __( 'My sidebar content' ) }\n * \t\t</PanelBody>\n * \t</PluginSidebar>\n * );\n * ```\n */\nexport default function PluginSidebarEditPost( { className, ...props } ) {\n\tconst { postTitle, shortcut, showIconLabels } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostTitle: select( editorStore ).getEditedPostAttribute( 'title' ),\n\t\t\tshortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/edit-post/toggle-sidebar' ),\n\t\t\tshowIconLabels: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<ComplementaryArea\n\t\t\tpanelClassName={ className }\n\t\t\tclassName=\"edit-post-sidebar\"\n\t\t\tsmallScreenTitle={ postTitle || __( '(no title)' ) }\n\t\t\tscope=\"core/edit-post\"\n\t\t\ttoggleShortcut={ shortcut }\n\t\t\tshowIconLabels={ showIconLabels }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
@@ -90,7 +90,7 @@ function PostLink({
90
90
  }
91
91
  }
92
92
  }), createElement("p", null, __('The last part of the URL.'), ' ', createElement(ExternalLink, {
93
- href: "https://wordpress.org/support/article/writing-posts/#post-field-descriptions"
93
+ href: __('https://wordpress.org/support/article/writing-posts/#post-field-descriptions')
94
94
  }, __('Read about permalinks')))), createElement("h3", {
95
95
  className: "edit-post-post-link__preview-label"
96
96
  }, postTypeLabel || __('View post')), createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-link/index.js"],"names":["get","__","PanelBody","TextControl","ExternalLink","withSelect","withDispatch","compose","ifCondition","cleanForSlug","store","editorStore","safeDecodeURIComponent","coreStore","useState","editPostStore","PANEL_NAME","PostLink","isOpened","onTogglePanel","isEditable","postLink","permalinkPrefix","permalinkSuffix","editPermalink","postSlug","postTypeLabel","forceEmptyField","setForceEmptyField","prefixElement","postNameElement","suffixElement","newValue","event","target","value","select","isPermalinkEditable","getCurrentPost","isCurrentPostPublished","getPermalinkParts","getEditedPostAttribute","getEditedPostSlug","isEditorPanelEnabled","isEditorPanelOpened","getPostType","link","postTypeName","postType","permalinkParts","isPublished","isEnabled","isViewable","hasPermalinkParts","prefix","suffix","dispatch","toggleEditorPanelOpened","editPost","newSlug","slug"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, TextControl, ExternalLink } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { cleanForSlug, store as editorStore } from '@wordpress/editor';\nimport { safeDecodeURIComponent } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'post-link';\n\nfunction PostLink( {\n\tisOpened,\n\tonTogglePanel,\n\tisEditable,\n\tpostLink,\n\tpermalinkPrefix,\n\tpermalinkSuffix,\n\teditPermalink,\n\tpostSlug,\n\tpostTypeLabel,\n} ) {\n\tconst [ forceEmptyField, setForceEmptyField ] = useState( false );\n\n\tlet prefixElement, postNameElement, suffixElement;\n\tif ( isEditable ) {\n\t\tprefixElement = permalinkPrefix && (\n\t\t\t<span className=\"edit-post-post-link__link-prefix\">\n\t\t\t\t{ permalinkPrefix }\n\t\t\t</span>\n\t\t);\n\t\tpostNameElement = postSlug && (\n\t\t\t<span className=\"edit-post-post-link__link-post-name\">\n\t\t\t\t{ postSlug }\n\t\t\t</span>\n\t\t);\n\t\tsuffixElement = permalinkSuffix && (\n\t\t\t<span className=\"edit-post-post-link__link-suffix\">\n\t\t\t\t{ permalinkSuffix }\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ __( 'Permalink' ) }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ onTogglePanel }\n\t\t>\n\t\t\t{ isEditable && (\n\t\t\t\t<div className=\"editor-post-link\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'URL Slug' ) }\n\t\t\t\t\t\tvalue={ forceEmptyField ? '' : postSlug }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tspellCheck=\"false\"\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\teditPermalink( newValue );\n\t\t\t\t\t\t\t// When we delete the field the permalink gets\n\t\t\t\t\t\t\t// reverted to the original value.\n\t\t\t\t\t\t\t// The forceEmptyField logic allows the user to have\n\t\t\t\t\t\t\t// the field temporarily empty while typing.\n\t\t\t\t\t\t\tif ( ! newValue ) {\n\t\t\t\t\t\t\t\tif ( ! forceEmptyField ) {\n\t\t\t\t\t\t\t\t\tsetForceEmptyField( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonBlur={ ( event ) => {\n\t\t\t\t\t\t\teditPermalink( cleanForSlug( event.target.value ) );\n\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __( 'The last part of the URL.' ) }{ ' ' }\n\t\t\t\t\t\t<ExternalLink href=\"https://wordpress.org/support/article/writing-posts/#post-field-descriptions\">\n\t\t\t\t\t\t\t{ __( 'Read about permalinks' ) }\n\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<h3 className=\"edit-post-post-link__preview-label\">\n\t\t\t\t{ postTypeLabel || __( 'View post' ) }\n\t\t\t</h3>\n\t\t\t<div className=\"edit-post-post-link__preview-link-container\">\n\t\t\t\t<ExternalLink\n\t\t\t\t\tclassName=\"edit-post-post-link__link\"\n\t\t\t\t\thref={ postLink }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t>\n\t\t\t\t\t{ isEditable ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ prefixElement }\n\t\t\t\t\t\t\t{ postNameElement }\n\t\t\t\t\t\t\t{ suffixElement }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tpostLink\n\t\t\t\t\t) }\n\t\t\t\t</ExternalLink>\n\t\t\t</div>\n\t\t</PanelBody>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisPermalinkEditable,\n\t\t\tgetCurrentPost,\n\t\t\tisCurrentPostPublished,\n\t\t\tgetPermalinkParts,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostSlug,\n\t\t} = select( editorStore );\n\t\tconst { isEditorPanelEnabled, isEditorPanelOpened } = select(\n\t\t\teditPostStore\n\t\t);\n\t\tconst { getPostType } = select( coreStore );\n\n\t\tconst { link } = getCurrentPost();\n\n\t\tconst postTypeName = getEditedPostAttribute( 'type' );\n\t\tconst postType = getPostType( postTypeName );\n\t\tconst permalinkParts = getPermalinkParts();\n\n\t\treturn {\n\t\t\tpostLink: link,\n\t\t\tisEditable: isPermalinkEditable(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\t\tisViewable: get( postType, [ 'viewable' ], false ),\n\t\t\tpostSlug: safeDecodeURIComponent( getEditedPostSlug() ),\n\t\t\tpostTypeLabel: get( postType, [ 'labels', 'view_item' ] ),\n\t\t\thasPermalinkParts: !! permalinkParts,\n\t\t\tpermalinkPrefix: permalinkParts?.prefix,\n\t\t\tpermalinkSuffix: permalinkParts?.suffix,\n\t\t};\n\t} ),\n\tifCondition( ( { isEnabled, postLink, isViewable, hasPermalinkParts } ) => {\n\t\treturn isEnabled && postLink && isViewable && hasPermalinkParts;\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { toggleEditorPanelOpened } = dispatch( editPostStore );\n\t\tconst { editPost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonTogglePanel: () => toggleEditorPanelOpened( PANEL_NAME ),\n\t\t\teditPermalink: ( newSlug ) => {\n\t\t\t\teditPost( { slug: newSlug } );\n\t\t\t},\n\t\t};\n\t} ),\n] )( PostLink );\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-link/index.js"],"names":["get","__","PanelBody","TextControl","ExternalLink","withSelect","withDispatch","compose","ifCondition","cleanForSlug","store","editorStore","safeDecodeURIComponent","coreStore","useState","editPostStore","PANEL_NAME","PostLink","isOpened","onTogglePanel","isEditable","postLink","permalinkPrefix","permalinkSuffix","editPermalink","postSlug","postTypeLabel","forceEmptyField","setForceEmptyField","prefixElement","postNameElement","suffixElement","newValue","event","target","value","select","isPermalinkEditable","getCurrentPost","isCurrentPostPublished","getPermalinkParts","getEditedPostAttribute","getEditedPostSlug","isEditorPanelEnabled","isEditorPanelOpened","getPostType","link","postTypeName","postType","permalinkParts","isPublished","isEnabled","isViewable","hasPermalinkParts","prefix","suffix","dispatch","toggleEditorPanelOpened","editPost","newSlug","slug"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, TextControl, ExternalLink } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { cleanForSlug, store as editorStore } from '@wordpress/editor';\nimport { safeDecodeURIComponent } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'post-link';\n\nfunction PostLink( {\n\tisOpened,\n\tonTogglePanel,\n\tisEditable,\n\tpostLink,\n\tpermalinkPrefix,\n\tpermalinkSuffix,\n\teditPermalink,\n\tpostSlug,\n\tpostTypeLabel,\n} ) {\n\tconst [ forceEmptyField, setForceEmptyField ] = useState( false );\n\n\tlet prefixElement, postNameElement, suffixElement;\n\tif ( isEditable ) {\n\t\tprefixElement = permalinkPrefix && (\n\t\t\t<span className=\"edit-post-post-link__link-prefix\">\n\t\t\t\t{ permalinkPrefix }\n\t\t\t</span>\n\t\t);\n\t\tpostNameElement = postSlug && (\n\t\t\t<span className=\"edit-post-post-link__link-post-name\">\n\t\t\t\t{ postSlug }\n\t\t\t</span>\n\t\t);\n\t\tsuffixElement = permalinkSuffix && (\n\t\t\t<span className=\"edit-post-post-link__link-suffix\">\n\t\t\t\t{ permalinkSuffix }\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ __( 'Permalink' ) }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ onTogglePanel }\n\t\t>\n\t\t\t{ isEditable && (\n\t\t\t\t<div className=\"editor-post-link\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'URL Slug' ) }\n\t\t\t\t\t\tvalue={ forceEmptyField ? '' : postSlug }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tspellCheck=\"false\"\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\teditPermalink( newValue );\n\t\t\t\t\t\t\t// When we delete the field the permalink gets\n\t\t\t\t\t\t\t// reverted to the original value.\n\t\t\t\t\t\t\t// The forceEmptyField logic allows the user to have\n\t\t\t\t\t\t\t// the field temporarily empty while typing.\n\t\t\t\t\t\t\tif ( ! newValue ) {\n\t\t\t\t\t\t\t\tif ( ! forceEmptyField ) {\n\t\t\t\t\t\t\t\t\tsetForceEmptyField( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonBlur={ ( event ) => {\n\t\t\t\t\t\t\teditPermalink( cleanForSlug( event.target.value ) );\n\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __( 'The last part of the URL.' ) }{ ' ' }\n\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t'https://wordpress.org/support/article/writing-posts/#post-field-descriptions'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Read about permalinks' ) }\n\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<h3 className=\"edit-post-post-link__preview-label\">\n\t\t\t\t{ postTypeLabel || __( 'View post' ) }\n\t\t\t</h3>\n\t\t\t<div className=\"edit-post-post-link__preview-link-container\">\n\t\t\t\t<ExternalLink\n\t\t\t\t\tclassName=\"edit-post-post-link__link\"\n\t\t\t\t\thref={ postLink }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t>\n\t\t\t\t\t{ isEditable ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ prefixElement }\n\t\t\t\t\t\t\t{ postNameElement }\n\t\t\t\t\t\t\t{ suffixElement }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tpostLink\n\t\t\t\t\t) }\n\t\t\t\t</ExternalLink>\n\t\t\t</div>\n\t\t</PanelBody>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisPermalinkEditable,\n\t\t\tgetCurrentPost,\n\t\t\tisCurrentPostPublished,\n\t\t\tgetPermalinkParts,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostSlug,\n\t\t} = select( editorStore );\n\t\tconst { isEditorPanelEnabled, isEditorPanelOpened } = select(\n\t\t\teditPostStore\n\t\t);\n\t\tconst { getPostType } = select( coreStore );\n\n\t\tconst { link } = getCurrentPost();\n\n\t\tconst postTypeName = getEditedPostAttribute( 'type' );\n\t\tconst postType = getPostType( postTypeName );\n\t\tconst permalinkParts = getPermalinkParts();\n\n\t\treturn {\n\t\t\tpostLink: link,\n\t\t\tisEditable: isPermalinkEditable(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\t\tisViewable: get( postType, [ 'viewable' ], false ),\n\t\t\tpostSlug: safeDecodeURIComponent( getEditedPostSlug() ),\n\t\t\tpostTypeLabel: get( postType, [ 'labels', 'view_item' ] ),\n\t\t\thasPermalinkParts: !! permalinkParts,\n\t\t\tpermalinkPrefix: permalinkParts?.prefix,\n\t\t\tpermalinkSuffix: permalinkParts?.suffix,\n\t\t};\n\t} ),\n\tifCondition( ( { isEnabled, postLink, isViewable, hasPermalinkParts } ) => {\n\t\treturn isEnabled && postLink && isViewable && hasPermalinkParts;\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { toggleEditorPanelOpened } = dispatch( editPostStore );\n\t\tconst { editPost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonTogglePanel: () => toggleEditorPanelOpened( PANEL_NAME ),\n\t\t\teditPermalink: ( newSlug ) => {\n\t\t\t\teditPost( { slug: newSlug } );\n\t\t\t},\n\t\t};\n\t} ),\n] )( PostLink );\n"]}
@@ -65,6 +65,11 @@ function PostTemplateActions() {
65
65
 
66
66
  async function onCreateTemplate(event) {
67
67
  event.preventDefault();
68
+
69
+ if (isBusy) {
70
+ return;
71
+ }
72
+
68
73
  setIsBusy(true);
69
74
  const newTemplateContent = defaultTemplate !== null && defaultTemplate !== void 0 ? defaultTemplate : serialize([createBlock('core/group', {
70
75
  tagName: 'header',
@@ -110,7 +115,7 @@ function PostTemplateActions() {
110
115
  },
111
116
  overlayClassName: "edit-post-template__modal"
112
117
  }, createElement("form", {
113
- onSubmit: isBusy ? undefined : onCreateTemplate
118
+ onSubmit: onCreateTemplate
114
119
  }, createElement(Flex, {
115
120
  align: "flex-start",
116
121
  gap: 8
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/template/actions.js"],"names":["kebabCase","__","Button","Modal","TextControl","Flex","FlexItem","useSelect","useDispatch","useState","store","editorStore","coreStore","editPostStore","createBlock","serialize","PostTemplateActions","isModalOpen","setIsModalOpen","isBusy","setIsBusy","title","setTitle","template","supportsTemplateMode","defaultTemplate","select","getCurrentPostType","getEditorSettings","getPostType","getEditedPostTemplate","isViewable","viewable","_supportsTemplateMode","defaultBlockTemplate","__unstableCreateTemplate","__unstableSwitchToTemplateMode","defaultTitle","onCreateTemplate","event","preventDefault","newTemplateContent","tagName","layout","inherit","slug","content","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,QAA1B;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,MADD,EAECC,KAFD,EAGCC,WAHD,EAICC,IAJD,EAKCC,QALD,QAMO,uBANP;AAOA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,mBAArC;AACA,SAASD,KAAK,IAAIE,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASF,KAAK,IAAIG,aAAlB,QAAuC,gBAAvC;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,mBAAvC;;AAEA,SAASC,mBAAT,GAA+B;AAC9B,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkCT,QAAQ,CAAE,KAAF,CAAhD;AACA,QAAM,CAAEU,MAAF,EAAUC,SAAV,IAAwBX,QAAQ,CAAE,KAAF,CAAtC;AACA,QAAM,CAAEY,KAAF,EAASC,QAAT,IAAsBb,QAAQ,CAAE,EAAF,CAApC;AACA,QAAM;AAAEc,IAAAA,QAAF;AAAYC,IAAAA,oBAAZ;AAAkCC,IAAAA;AAAlC,MAAsDlB,SAAS,CAClEmB,MAAF,IAAc;AAAA;;AACb,UAAM;AAAEC,MAAAA,kBAAF;AAAsBC,MAAAA;AAAtB,QAA4CF,MAAM,CACvDf,WADuD,CAAxD;AAGA,UAAM;AAAEkB,MAAAA;AAAF,QAAkBH,MAAM,CAAEd,SAAF,CAA9B;AACA,UAAM;AAAEkB,MAAAA;AAAF,QAA4BJ,MAAM,CAAEb,aAAF,CAAxC;AAEA,UAAMkB,UAAU,4CACfF,WAAW,CAAEF,kBAAkB,EAApB,CADI,iDACf,aAAqCK,QADtB,yEACkC,KADlD;;AAEA,UAAMC,qBAAqB,GAC1BL,iBAAiB,GAAGJ,oBAApB,IAA4CO,UAD7C;;AAGA,WAAO;AACNR,MAAAA,QAAQ,EAAEU,qBAAqB,IAAIH,qBAAqB,EADlD;AAENN,MAAAA,oBAAoB,EAAES,qBAFhB;AAGNR,MAAAA,eAAe,EAAEG,iBAAiB,GAAGM;AAH/B,KAAP;AAKA,GAlBmE,EAmBpE,EAnBoE,CAArE;AAqBA,QAAM;AACLC,IAAAA,wBADK;AAELC,IAAAA;AAFK,MAGF5B,WAAW,CAAEK,aAAF,CAHf;;AAKA,MAAK,CAAEW,oBAAP,EAA8B;AAC7B,WAAO,IAAP;AACA;;AAED,QAAMa,YAAY,GAAGpC,EAAE,CAAE,iBAAF,CAAvB;;AAEA,iBAAeqC,gBAAf,CAAiCC,KAAjC,EAAyC;AACxCA,IAAAA,KAAK,CAACC,cAAN;AACApB,IAAAA,SAAS,CAAE,IAAF,CAAT;AAEA,UAAMqB,kBAAkB,GACvBhB,eADuB,aACvBA,eADuB,cACvBA,eADuB,GAEvBV,SAAS,CAAE,CACVD,WAAW,CACV,YADU,EAEV;AACC4B,MAAAA,OAAO,EAAE,QADV;AAECC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,OAAO,EAAE;AAAX;AAFT,KAFU,EAMV,CACC9B,WAAW,CAAE,iBAAF,CADZ,EAECA,WAAW,CAAE,mBAAF,CAFZ,CANU,CADD,EAYVA,WAAW,CAAE,gBAAF,CAZD,EAaVA,WAAW,CACV,YADU,EAEV;AACC4B,MAAAA,OAAO,EAAE;AADV,KAFU,EAKV,CACC5B,WAAW,CACV,YADU,EAEV;AACC6B,MAAAA,MAAM,EAAE;AAAEC,QAAAA,OAAO,EAAE;AAAX;AADT,KAFU,EAKV,CAAE9B,WAAW,CAAE,iBAAF,CAAb,CALU,CADZ,EAQCA,WAAW,CAAE,mBAAF,EAAuB;AACjC6B,MAAAA,MAAM,EAAE;AAAEC,QAAAA,OAAO,EAAE;AAAX;AADyB,KAAvB,CARZ,CALU,CAbD,CAAF,CAFV;AAmCA,UAAMT,wBAAwB,CAAE;AAC/BU,MAAAA,IAAI,EAAE,wBAAwB7C,SAAS,CAAEqB,KAAK,IAAIgB,YAAX,CADR;AAE/BS,MAAAA,OAAO,EAAEL,kBAFsB;AAG/BpB,MAAAA,KAAK,EAAEA,KAAK,IAAIgB;AAHe,KAAF,CAA9B;AAMAjB,IAAAA,SAAS,CAAE,KAAF,CAAT;AACAF,IAAAA,cAAc,CAAE,KAAF,CAAd;;AAEAkB,IAAAA,8BAA8B,CAAE,IAAF,CAA9B;AACA;;AAED,SACC,8BACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,CAAC,CAAEb,QAAH,IACD,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,MADT;AAEC,IAAA,OAAO,EAAG,MAAMa,8BAA8B;AAF/C,KAIGnC,EAAE,CAAE,MAAF,CAJL,CAFF,EASC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAC,MAAhB;AAAuB,IAAA,OAAO,EAAG,MAAMiB,cAAc,CAAE,IAAF;AAArD,KACGjB,EAAE,CAAE,KAAF,CADL,CATD,CADD,EAcGgB,WAAW,IACZ,cAAC,KAAD;AACC,IAAA,KAAK,EAAGhB,EAAE,CAAE,wBAAF,CADX;AAEC,IAAA,UAAU,EAAGA,EAAE,CAAE,OAAF,CAFhB;AAGC,IAAA,cAAc,EAAG,MAAM;AACtBiB,MAAAA,cAAc,CAAE,KAAF,CAAd;AACAI,MAAAA,QAAQ,CAAE,EAAF,CAAR;AACA,KANF;AAOC,IAAA,gBAAgB,EAAC;AAPlB,KASC;AAAM,IAAA,QAAQ,EAAGH,MAAM,GAAG4B,SAAH,GAAeT;AAAtC,KACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAC,YAAZ;AAAyB,IAAA,GAAG,EAAG;AAA/B,KACC,cAAC,QAAD,QACC,cAAC,WAAD;AACC,IAAA,KAAK,EAAGrC,EAAE,CAAE,MAAF,CADX;AAEC,IAAA,KAAK,EAAGoB,KAFT;AAGC,IAAA,QAAQ,EAAGC,QAHZ;AAIC,IAAA,WAAW,EAAGe,YAJf;AAKC,IAAA,QAAQ,EAAGlB,MALZ;AAMC,IAAA,IAAI,EAAGlB,EAAE,CACR,+GADQ;AANV,IADD,CADD,CADD,EAgBC,cAAC,IAAD;AACC,IAAA,SAAS,EAAC,mCADX;AAEC,IAAA,OAAO,EAAC,UAFT;AAGC,IAAA,QAAQ,EAAG;AAHZ,KAKC,cAAC,QAAD,QACC,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAG,MAAM;AACfiB,MAAAA,cAAc,CAAE,KAAF,CAAd;AACAI,MAAAA,QAAQ,CAAE,EAAF,CAAR;AACA;AALF,KAOGrB,EAAE,CAAE,QAAF,CAPL,CADD,CALD,EAgBC,cAAC,QAAD,QACC,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,SADT;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,IAAA,MAAM,EAAGkB,MAHV;AAIC,qBAAgBA;AAJjB,KAMGlB,EAAE,CAAE,QAAF,CANL,CADD,CAhBD,CAhBD,CATD,CAfF,CADD;AAyEA;;AAED,eAAee,mBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tModal,\n\tTextControl,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\nimport { createBlock, serialize } from '@wordpress/blocks';\n\nfunction PostTemplateActions() {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\tconst { template, supportsTemplateMode, defaultTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPostType, getEditorSettings } = select(\n\t\t\t\teditorStore\n\t\t\t);\n\t\t\tconst { getPostType } = select( coreStore );\n\t\t\tconst { getEditedPostTemplate } = select( editPostStore );\n\n\t\t\tconst isViewable =\n\t\t\t\tgetPostType( getCurrentPostType() )?.viewable ?? false;\n\t\t\tconst _supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode && isViewable;\n\n\t\t\treturn {\n\t\t\t\ttemplate: _supportsTemplateMode && getEditedPostTemplate(),\n\t\t\t\tsupportsTemplateMode: _supportsTemplateMode,\n\t\t\t\tdefaultTemplate: getEditorSettings().defaultBlockTemplate,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst {\n\t\t__unstableCreateTemplate,\n\t\t__unstableSwitchToTemplateMode,\n\t} = useDispatch( editPostStore );\n\n\tif ( ! supportsTemplateMode ) {\n\t\treturn null;\n\t}\n\n\tconst defaultTitle = __( 'Custom Template' );\n\n\tasync function onCreateTemplate( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsBusy( true );\n\n\t\tconst newTemplateContent =\n\t\t\tdefaultTemplate ??\n\t\t\tserialize( [\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'header',\n\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/site-title' ),\n\t\t\t\t\t\tcreateBlock( 'core/site-tagline' ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t\tcreateBlock( 'core/separator' ),\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'main',\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[ createBlock( 'core/post-title' ) ]\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcreateBlock( 'core/post-content', {\n\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t] );\n\n\t\tawait __unstableCreateTemplate( {\n\t\t\tslug: 'wp-custom-template-' + kebabCase( title || defaultTitle ),\n\t\t\tcontent: newTemplateContent,\n\t\t\ttitle: title || defaultTitle,\n\t\t} );\n\n\t\tsetIsBusy( false );\n\t\tsetIsModalOpen( false );\n\n\t\t__unstableSwitchToTemplateMode( true );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-post-template__actions\">\n\t\t\t\t{ !! template && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ () => __unstableSwitchToTemplateMode() }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<Button variant=\"link\" onClick={ () => setIsModalOpen( true ) }>\n\t\t\t\t\t{ __( 'New' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Create custom template' ) }\n\t\t\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName=\"edit-post-template__modal\"\n\t\t\t\t>\n\t\t\t\t\t<form onSubmit={ isBusy ? undefined : onCreateTemplate }>\n\t\t\t\t\t\t<Flex align=\"flex-start\" gap={ 8 }>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\t\t\tplaceholder={ defaultTitle }\n\t\t\t\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the template, e.g. \"Full Width\". Custom templates can be applied to any post or page.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tclassName=\"edit-post-template__modal-actions\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\t\t\t\taria-disabled={ isBusy }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default PostTemplateActions;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/template/actions.js"],"names":["kebabCase","__","Button","Modal","TextControl","Flex","FlexItem","useSelect","useDispatch","useState","store","editorStore","coreStore","editPostStore","createBlock","serialize","PostTemplateActions","isModalOpen","setIsModalOpen","isBusy","setIsBusy","title","setTitle","template","supportsTemplateMode","defaultTemplate","select","getCurrentPostType","getEditorSettings","getPostType","getEditedPostTemplate","isViewable","viewable","_supportsTemplateMode","defaultBlockTemplate","__unstableCreateTemplate","__unstableSwitchToTemplateMode","defaultTitle","onCreateTemplate","event","preventDefault","newTemplateContent","tagName","layout","inherit","slug","content"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,QAA1B;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,MADD,EAECC,KAFD,EAGCC,WAHD,EAICC,IAJD,EAKCC,QALD,QAMO,uBANP;AAOA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,mBAArC;AACA,SAASD,KAAK,IAAIE,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASF,KAAK,IAAIG,aAAlB,QAAuC,gBAAvC;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,mBAAvC;;AAEA,SAASC,mBAAT,GAA+B;AAC9B,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkCT,QAAQ,CAAE,KAAF,CAAhD;AACA,QAAM,CAAEU,MAAF,EAAUC,SAAV,IAAwBX,QAAQ,CAAE,KAAF,CAAtC;AACA,QAAM,CAAEY,KAAF,EAASC,QAAT,IAAsBb,QAAQ,CAAE,EAAF,CAApC;AACA,QAAM;AAAEc,IAAAA,QAAF;AAAYC,IAAAA,oBAAZ;AAAkCC,IAAAA;AAAlC,MAAsDlB,SAAS,CAClEmB,MAAF,IAAc;AAAA;;AACb,UAAM;AAAEC,MAAAA,kBAAF;AAAsBC,MAAAA;AAAtB,QAA4CF,MAAM,CACvDf,WADuD,CAAxD;AAGA,UAAM;AAAEkB,MAAAA;AAAF,QAAkBH,MAAM,CAAEd,SAAF,CAA9B;AACA,UAAM;AAAEkB,MAAAA;AAAF,QAA4BJ,MAAM,CAAEb,aAAF,CAAxC;AAEA,UAAMkB,UAAU,4CACfF,WAAW,CAAEF,kBAAkB,EAApB,CADI,iDACf,aAAqCK,QADtB,yEACkC,KADlD;;AAEA,UAAMC,qBAAqB,GAC1BL,iBAAiB,GAAGJ,oBAApB,IAA4CO,UAD7C;;AAGA,WAAO;AACNR,MAAAA,QAAQ,EAAEU,qBAAqB,IAAIH,qBAAqB,EADlD;AAENN,MAAAA,oBAAoB,EAAES,qBAFhB;AAGNR,MAAAA,eAAe,EAAEG,iBAAiB,GAAGM;AAH/B,KAAP;AAKA,GAlBmE,EAmBpE,EAnBoE,CAArE;AAqBA,QAAM;AACLC,IAAAA,wBADK;AAELC,IAAAA;AAFK,MAGF5B,WAAW,CAAEK,aAAF,CAHf;;AAKA,MAAK,CAAEW,oBAAP,EAA8B;AAC7B,WAAO,IAAP;AACA;;AAED,QAAMa,YAAY,GAAGpC,EAAE,CAAE,iBAAF,CAAvB;;AAEA,iBAAeqC,gBAAf,CAAiCC,KAAjC,EAAyC;AACxCA,IAAAA,KAAK,CAACC,cAAN;;AAEA,QAAKrB,MAAL,EAAc;AACb;AACA;;AAEDC,IAAAA,SAAS,CAAE,IAAF,CAAT;AAEA,UAAMqB,kBAAkB,GACvBhB,eADuB,aACvBA,eADuB,cACvBA,eADuB,GAEvBV,SAAS,CAAE,CACVD,WAAW,CACV,YADU,EAEV;AACC4B,MAAAA,OAAO,EAAE,QADV;AAECC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,OAAO,EAAE;AAAX;AAFT,KAFU,EAMV,CACC9B,WAAW,CAAE,iBAAF,CADZ,EAECA,WAAW,CAAE,mBAAF,CAFZ,CANU,CADD,EAYVA,WAAW,CAAE,gBAAF,CAZD,EAaVA,WAAW,CACV,YADU,EAEV;AACC4B,MAAAA,OAAO,EAAE;AADV,KAFU,EAKV,CACC5B,WAAW,CACV,YADU,EAEV;AACC6B,MAAAA,MAAM,EAAE;AAAEC,QAAAA,OAAO,EAAE;AAAX;AADT,KAFU,EAKV,CAAE9B,WAAW,CAAE,iBAAF,CAAb,CALU,CADZ,EAQCA,WAAW,CAAE,mBAAF,EAAuB;AACjC6B,MAAAA,MAAM,EAAE;AAAEC,QAAAA,OAAO,EAAE;AAAX;AADyB,KAAvB,CARZ,CALU,CAbD,CAAF,CAFV;AAmCA,UAAMT,wBAAwB,CAAE;AAC/BU,MAAAA,IAAI,EAAE,wBAAwB7C,SAAS,CAAEqB,KAAK,IAAIgB,YAAX,CADR;AAE/BS,MAAAA,OAAO,EAAEL,kBAFsB;AAG/BpB,MAAAA,KAAK,EAAEA,KAAK,IAAIgB;AAHe,KAAF,CAA9B;AAMAjB,IAAAA,SAAS,CAAE,KAAF,CAAT;AACAF,IAAAA,cAAc,CAAE,KAAF,CAAd;;AAEAkB,IAAAA,8BAA8B,CAAE,IAAF,CAA9B;AACA;;AAED,SACC,8BACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,CAAC,CAAEb,QAAH,IACD,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,MADT;AAEC,IAAA,OAAO,EAAG,MAAMa,8BAA8B;AAF/C,KAIGnC,EAAE,CAAE,MAAF,CAJL,CAFF,EASC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAC,MAAhB;AAAuB,IAAA,OAAO,EAAG,MAAMiB,cAAc,CAAE,IAAF;AAArD,KACGjB,EAAE,CAAE,KAAF,CADL,CATD,CADD,EAcGgB,WAAW,IACZ,cAAC,KAAD;AACC,IAAA,KAAK,EAAGhB,EAAE,CAAE,wBAAF,CADX;AAEC,IAAA,UAAU,EAAGA,EAAE,CAAE,OAAF,CAFhB;AAGC,IAAA,cAAc,EAAG,MAAM;AACtBiB,MAAAA,cAAc,CAAE,KAAF,CAAd;AACAI,MAAAA,QAAQ,CAAE,EAAF,CAAR;AACA,KANF;AAOC,IAAA,gBAAgB,EAAC;AAPlB,KASC;AAAM,IAAA,QAAQ,EAAGgB;AAAjB,KACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAC,YAAZ;AAAyB,IAAA,GAAG,EAAG;AAA/B,KACC,cAAC,QAAD,QACC,cAAC,WAAD;AACC,IAAA,KAAK,EAAGrC,EAAE,CAAE,MAAF,CADX;AAEC,IAAA,KAAK,EAAGoB,KAFT;AAGC,IAAA,QAAQ,EAAGC,QAHZ;AAIC,IAAA,WAAW,EAAGe,YAJf;AAKC,IAAA,QAAQ,EAAGlB,MALZ;AAMC,IAAA,IAAI,EAAGlB,EAAE,CACR,+GADQ;AANV,IADD,CADD,CADD,EAgBC,cAAC,IAAD;AACC,IAAA,SAAS,EAAC,mCADX;AAEC,IAAA,OAAO,EAAC,UAFT;AAGC,IAAA,QAAQ,EAAG;AAHZ,KAKC,cAAC,QAAD,QACC,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAG,MAAM;AACfiB,MAAAA,cAAc,CAAE,KAAF,CAAd;AACAI,MAAAA,QAAQ,CAAE,EAAF,CAAR;AACA;AALF,KAOGrB,EAAE,CAAE,QAAF,CAPL,CADD,CALD,EAgBC,cAAC,QAAD,QACC,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,SADT;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,IAAA,MAAM,EAAGkB,MAHV;AAIC,qBAAgBA;AAJjB,KAMGlB,EAAE,CAAE,QAAF,CANL,CADD,CAhBD,CAhBD,CATD,CAfF,CADD;AAyEA;;AAED,eAAee,mBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tModal,\n\tTextControl,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\nimport { createBlock, serialize } from '@wordpress/blocks';\n\nfunction PostTemplateActions() {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\tconst { template, supportsTemplateMode, defaultTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPostType, getEditorSettings } = select(\n\t\t\t\teditorStore\n\t\t\t);\n\t\t\tconst { getPostType } = select( coreStore );\n\t\t\tconst { getEditedPostTemplate } = select( editPostStore );\n\n\t\t\tconst isViewable =\n\t\t\t\tgetPostType( getCurrentPostType() )?.viewable ?? false;\n\t\t\tconst _supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode && isViewable;\n\n\t\t\treturn {\n\t\t\t\ttemplate: _supportsTemplateMode && getEditedPostTemplate(),\n\t\t\t\tsupportsTemplateMode: _supportsTemplateMode,\n\t\t\t\tdefaultTemplate: getEditorSettings().defaultBlockTemplate,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst {\n\t\t__unstableCreateTemplate,\n\t\t__unstableSwitchToTemplateMode,\n\t} = useDispatch( editPostStore );\n\n\tif ( ! supportsTemplateMode ) {\n\t\treturn null;\n\t}\n\n\tconst defaultTitle = __( 'Custom Template' );\n\n\tasync function onCreateTemplate( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isBusy ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsBusy( true );\n\n\t\tconst newTemplateContent =\n\t\t\tdefaultTemplate ??\n\t\t\tserialize( [\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'header',\n\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/site-title' ),\n\t\t\t\t\t\tcreateBlock( 'core/site-tagline' ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t\tcreateBlock( 'core/separator' ),\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'main',\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[ createBlock( 'core/post-title' ) ]\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcreateBlock( 'core/post-content', {\n\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t] );\n\n\t\tawait __unstableCreateTemplate( {\n\t\t\tslug: 'wp-custom-template-' + kebabCase( title || defaultTitle ),\n\t\t\tcontent: newTemplateContent,\n\t\t\ttitle: title || defaultTitle,\n\t\t} );\n\n\t\tsetIsBusy( false );\n\t\tsetIsModalOpen( false );\n\n\t\t__unstableSwitchToTemplateMode( true );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-post-template__actions\">\n\t\t\t\t{ !! template && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ () => __unstableSwitchToTemplateMode() }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<Button variant=\"link\" onClick={ () => setIsModalOpen( true ) }>\n\t\t\t\t\t{ __( 'New' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Create custom template' ) }\n\t\t\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName=\"edit-post-template__modal\"\n\t\t\t\t>\n\t\t\t\t\t<form onSubmit={ onCreateTemplate }>\n\t\t\t\t\t\t<Flex align=\"flex-start\" gap={ 8 }>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\t\t\tplaceholder={ defaultTitle }\n\t\t\t\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the template, e.g. \"Full Width\". Custom templates can be applied to any post or page.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tclassName=\"edit-post-template__modal-actions\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\t\t\t\taria-disabled={ isBusy }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default PostTemplateActions;\n"]}
@@ -54,12 +54,15 @@ export function TemplatePanel() {
54
54
  getEntityRecords,
55
55
  canUser
56
56
  } = select(coreStore);
57
+ const currentPostType = getCurrentPostType();
57
58
 
58
- const _isViewable = (_getPostType$viewable = (_getPostType = getPostType(getCurrentPostType())) === null || _getPostType === void 0 ? void 0 : _getPostType.viewable) !== null && _getPostType$viewable !== void 0 ? _getPostType$viewable : false;
59
+ const _isViewable = (_getPostType$viewable = (_getPostType = getPostType(currentPostType)) === null || _getPostType === void 0 ? void 0 : _getPostType.viewable) !== null && _getPostType$viewable !== void 0 ? _getPostType$viewable : false;
59
60
 
60
61
  const _supportsTemplateMode = select(editorStore).getEditorSettings().supportsTemplateMode && _isViewable;
61
62
 
62
- const wpTemplates = getEntityRecords('postType', 'wp_template');
63
+ const wpTemplates = getEntityRecords('postType', 'wp_template', {
64
+ post_type: currentPostType
65
+ });
63
66
  const newAvailableTemplates = fromPairs((wpTemplates || []).map(({
64
67
  slug,
65
68
  title
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/template/index.js"],"names":["partial","isEmpty","map","fromPairs","__","sprintf","useMemo","PanelBody","SelectControl","store","editorStore","useSelect","useDispatch","coreStore","PostTemplateActions","editPostStore","PANEL_NAME","TemplatePanel","isEnabled","isOpened","selectedTemplate","availableTemplates","fetchedTemplates","isViewable","template","supportsTemplateMode","canUserCreate","select","isEditorPanelEnabled","isEditorPanelOpened","getEditedPostTemplate","getEditedPostAttribute","getEditorSettings","getCurrentPostType","getPostType","getEntityRecords","canUser","_isViewable","viewable","_supportsTemplateMode","wpTemplates","newAvailableTemplates","slug","title","rendered","templates","toggleEditorPanelOpened","editPost","onTogglePanel","panelTitle","Object","keys","includes","templateSlug","templateName","value","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { partial, isEmpty, map, fromPairs } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { PanelBody, SelectControl } from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTemplateActions from './actions';\nimport { store as editPostStore } from '../../../store';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'template';\n\nexport function TemplatePanel() {\n\tconst {\n\t\tisEnabled,\n\t\tisOpened,\n\t\tselectedTemplate,\n\t\tavailableTemplates,\n\t\tfetchedTemplates,\n\t\tisViewable,\n\t\ttemplate,\n\t\tsupportsTemplateMode,\n\t\tcanUserCreate,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditorPanelEnabled,\n\t\t\tisEditorPanelOpened,\n\t\t\tgetEditedPostTemplate,\n\t\t} = select( editPostStore );\n\t\tconst {\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditorSettings,\n\t\t\tgetCurrentPostType,\n\t\t} = select( editorStore );\n\t\tconst { getPostType, getEntityRecords, canUser } = select( coreStore );\n\t\tconst _isViewable =\n\t\t\tgetPostType( getCurrentPostType() )?.viewable ?? false;\n\t\tconst _supportsTemplateMode =\n\t\t\tselect( editorStore ).getEditorSettings().supportsTemplateMode &&\n\t\t\t_isViewable;\n\n\t\tconst wpTemplates = getEntityRecords( 'postType', 'wp_template' );\n\n\t\tconst newAvailableTemplates = fromPairs(\n\t\t\t( wpTemplates || [] ).map( ( { slug, title } ) => [\n\t\t\t\tslug,\n\t\t\t\ttitle.rendered,\n\t\t\t] )\n\t\t);\n\n\t\treturn {\n\t\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t\t\tselectedTemplate: getEditedPostAttribute( 'template' ),\n\t\t\tavailableTemplates: getEditorSettings().availableTemplates,\n\t\t\tfetchedTemplates: newAvailableTemplates,\n\t\t\ttemplate: _supportsTemplateMode && getEditedPostTemplate(),\n\t\t\tisViewable: _isViewable,\n\t\t\tsupportsTemplateMode: _supportsTemplateMode,\n\t\t\tcanUserCreate: canUser( 'create', 'templates' ),\n\t\t};\n\t}, [] );\n\n\tconst templates = useMemo( () => {\n\t\treturn {\n\t\t\t...availableTemplates,\n\t\t\t...fetchedTemplates,\n\t\t};\n\t}, [ availableTemplates, fetchedTemplates ] );\n\n\tconst { toggleEditorPanelOpened } = useDispatch( editPostStore );\n\tconst { editPost } = useDispatch( editorStore );\n\n\tif (\n\t\t! isEnabled ||\n\t\t! isViewable ||\n\t\t( isEmpty( availableTemplates ) &&\n\t\t\t( ! supportsTemplateMode || ! canUserCreate ) )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst onTogglePanel = partial( toggleEditorPanelOpened, PANEL_NAME );\n\n\tlet panelTitle = __( 'Template' );\n\tif ( !! template ) {\n\t\tpanelTitle = sprintf(\n\t\t\t/* translators: %s: template title */\n\t\t\t__( 'Template: %s' ),\n\t\t\ttemplate?.title ?? template.slug\n\t\t);\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ panelTitle }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ onTogglePanel }\n\t\t>\n\t\t\t<SelectControl\n\t\t\t\thideLabelFromVision\n\t\t\t\tlabel={ __( 'Template:' ) }\n\t\t\t\tvalue={\n\t\t\t\t\tObject.keys( templates ).includes( selectedTemplate )\n\t\t\t\t\t\t? selectedTemplate\n\t\t\t\t\t\t: ''\n\t\t\t\t}\n\t\t\t\tonChange={ ( templateSlug ) => {\n\t\t\t\t\teditPost( {\n\t\t\t\t\t\ttemplate: templateSlug || '',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\toptions={ map( templates, ( templateName, templateSlug ) => ( {\n\t\t\t\t\tvalue: templateSlug,\n\t\t\t\t\tlabel: templateName,\n\t\t\t\t} ) ) }\n\t\t\t/>\n\t\t\t{ canUserCreate && <PostTemplateActions /> }\n\t\t</PanelBody>\n\t);\n}\n\nexport default TemplatePanel;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/template/index.js"],"names":["partial","isEmpty","map","fromPairs","__","sprintf","useMemo","PanelBody","SelectControl","store","editorStore","useSelect","useDispatch","coreStore","PostTemplateActions","editPostStore","PANEL_NAME","TemplatePanel","isEnabled","isOpened","selectedTemplate","availableTemplates","fetchedTemplates","isViewable","template","supportsTemplateMode","canUserCreate","select","isEditorPanelEnabled","isEditorPanelOpened","getEditedPostTemplate","getEditedPostAttribute","getEditorSettings","getCurrentPostType","getPostType","getEntityRecords","canUser","currentPostType","_isViewable","viewable","_supportsTemplateMode","wpTemplates","post_type","newAvailableTemplates","slug","title","rendered","templates","toggleEditorPanelOpened","editPost","onTogglePanel","panelTitle","Object","keys","includes","templateSlug","templateName","value","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { partial, isEmpty, map, fromPairs } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { PanelBody, SelectControl } from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTemplateActions from './actions';\nimport { store as editPostStore } from '../../../store';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'template';\n\nexport function TemplatePanel() {\n\tconst {\n\t\tisEnabled,\n\t\tisOpened,\n\t\tselectedTemplate,\n\t\tavailableTemplates,\n\t\tfetchedTemplates,\n\t\tisViewable,\n\t\ttemplate,\n\t\tsupportsTemplateMode,\n\t\tcanUserCreate,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditorPanelEnabled,\n\t\t\tisEditorPanelOpened,\n\t\t\tgetEditedPostTemplate,\n\t\t} = select( editPostStore );\n\t\tconst {\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditorSettings,\n\t\t\tgetCurrentPostType,\n\t\t} = select( editorStore );\n\t\tconst { getPostType, getEntityRecords, canUser } = select( coreStore );\n\t\tconst currentPostType = getCurrentPostType();\n\t\tconst _isViewable = getPostType( currentPostType )?.viewable ?? false;\n\t\tconst _supportsTemplateMode =\n\t\t\tselect( editorStore ).getEditorSettings().supportsTemplateMode &&\n\t\t\t_isViewable;\n\n\t\tconst wpTemplates = getEntityRecords( 'postType', 'wp_template', {\n\t\t\tpost_type: currentPostType,\n\t\t} );\n\n\t\tconst newAvailableTemplates = fromPairs(\n\t\t\t( wpTemplates || [] ).map( ( { slug, title } ) => [\n\t\t\t\tslug,\n\t\t\t\ttitle.rendered,\n\t\t\t] )\n\t\t);\n\n\t\treturn {\n\t\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t\t\tselectedTemplate: getEditedPostAttribute( 'template' ),\n\t\t\tavailableTemplates: getEditorSettings().availableTemplates,\n\t\t\tfetchedTemplates: newAvailableTemplates,\n\t\t\ttemplate: _supportsTemplateMode && getEditedPostTemplate(),\n\t\t\tisViewable: _isViewable,\n\t\t\tsupportsTemplateMode: _supportsTemplateMode,\n\t\t\tcanUserCreate: canUser( 'create', 'templates' ),\n\t\t};\n\t}, [] );\n\n\tconst templates = useMemo( () => {\n\t\treturn {\n\t\t\t...availableTemplates,\n\t\t\t...fetchedTemplates,\n\t\t};\n\t}, [ availableTemplates, fetchedTemplates ] );\n\n\tconst { toggleEditorPanelOpened } = useDispatch( editPostStore );\n\tconst { editPost } = useDispatch( editorStore );\n\n\tif (\n\t\t! isEnabled ||\n\t\t! isViewable ||\n\t\t( isEmpty( availableTemplates ) &&\n\t\t\t( ! supportsTemplateMode || ! canUserCreate ) )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst onTogglePanel = partial( toggleEditorPanelOpened, PANEL_NAME );\n\n\tlet panelTitle = __( 'Template' );\n\tif ( !! template ) {\n\t\tpanelTitle = sprintf(\n\t\t\t/* translators: %s: template title */\n\t\t\t__( 'Template: %s' ),\n\t\t\ttemplate?.title ?? template.slug\n\t\t);\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ panelTitle }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ onTogglePanel }\n\t\t>\n\t\t\t<SelectControl\n\t\t\t\thideLabelFromVision\n\t\t\t\tlabel={ __( 'Template:' ) }\n\t\t\t\tvalue={\n\t\t\t\t\tObject.keys( templates ).includes( selectedTemplate )\n\t\t\t\t\t\t? selectedTemplate\n\t\t\t\t\t\t: ''\n\t\t\t\t}\n\t\t\t\tonChange={ ( templateSlug ) => {\n\t\t\t\t\teditPost( {\n\t\t\t\t\t\ttemplate: templateSlug || '',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\toptions={ map( templates, ( templateName, templateSlug ) => ( {\n\t\t\t\t\tvalue: templateSlug,\n\t\t\t\t\tlabel: templateName,\n\t\t\t\t} ) ) }\n\t\t\t/>\n\t\t\t{ canUserCreate && <PostTemplateActions /> }\n\t\t</PanelBody>\n\t);\n}\n\nexport default TemplatePanel;\n"]}
@@ -25,7 +25,8 @@ function TemplateSummary() {
25
25
  }
26
26
 
27
27
  return createElement(PanelBody, null, createElement(Flex, {
28
- align: "flex-start"
28
+ align: "flex-start",
29
+ gap: "3"
29
30
  }, createElement(FlexItem, null, createElement(Icon, {
30
31
  icon: layout
31
32
  })), createElement(FlexBlock, null, createElement("h2", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/template-summary/index.js"],"names":["Icon","layout","useSelect","Flex","FlexItem","FlexBlock","PanelBody","store","editPostStore","TemplateSummary","template","select","getEditedPostTemplate","title","slug","description"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,MAAf,QAA6B,kBAA7B;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,IAAT,EAAeC,QAAf,EAAyBC,SAAzB,EAAoCC,SAApC,QAAqD,uBAArD;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,gBAAvC;;AAEA,SAASC,eAAT,GAA2B;AAC1B,QAAMC,QAAQ,GAAGR,SAAS,CAAIS,MAAF,IAAc;AACzC,UAAM;AAAEC,MAAAA;AAAF,QAA4BD,MAAM,CAAEH,aAAF,CAAxC;AACA,WAAOI,qBAAqB,EAA5B;AACA,GAHyB,EAGvB,EAHuB,CAA1B;;AAKA,MAAK,CAAEF,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,SACC,cAAC,SAAD,QACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAC;AAAZ,KACC,cAAC,QAAD,QACC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGT;AAAb,IADD,CADD,EAKC,cAAC,SAAD,QACC;AAAI,IAAA,SAAS,EAAC;AAAd,KACG,CAAAS,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEG,KAAV,MAAmBH,QAAnB,aAAmBA,QAAnB,uBAAmBA,QAAQ,CAAEI,IAA7B,CADH,CADD,EAIC,yBAAKJ,QAAL,aAAKA,QAAL,uBAAKA,QAAQ,CAAEK,WAAf,CAJD,CALD,CADD,CADD;AAgBA;;AAED,eAAeN,eAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Icon, layout } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { Flex, FlexItem, FlexBlock, PanelBody } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\nfunction TemplateSummary() {\n\tconst template = useSelect( ( select ) => {\n\t\tconst { getEditedPostTemplate } = select( editPostStore );\n\t\treturn getEditedPostTemplate();\n\t}, [] );\n\n\tif ( ! template ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody>\n\t\t\t<Flex align=\"flex-start\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Icon icon={ layout } />\n\t\t\t\t</FlexItem>\n\n\t\t\t\t<FlexBlock>\n\t\t\t\t\t<h2 className=\"edit-post-template-summary__title\">\n\t\t\t\t\t\t{ template?.title || template?.slug }\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p>{ template?.description }</p>\n\t\t\t\t</FlexBlock>\n\t\t\t</Flex>\n\t\t</PanelBody>\n\t);\n}\n\nexport default TemplateSummary;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/template-summary/index.js"],"names":["Icon","layout","useSelect","Flex","FlexItem","FlexBlock","PanelBody","store","editPostStore","TemplateSummary","template","select","getEditedPostTemplate","title","slug","description"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,MAAf,QAA6B,kBAA7B;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,IAAT,EAAeC,QAAf,EAAyBC,SAAzB,EAAoCC,SAApC,QAAqD,uBAArD;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,gBAAvC;;AAEA,SAASC,eAAT,GAA2B;AAC1B,QAAMC,QAAQ,GAAGR,SAAS,CAAIS,MAAF,IAAc;AACzC,UAAM;AAAEC,MAAAA;AAAF,QAA4BD,MAAM,CAAEH,aAAF,CAAxC;AACA,WAAOI,qBAAqB,EAA5B;AACA,GAHyB,EAGvB,EAHuB,CAA1B;;AAKA,MAAK,CAAEF,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,SACC,cAAC,SAAD,QACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAC,YAAZ;AAAyB,IAAA,GAAG,EAAC;AAA7B,KACC,cAAC,QAAD,QACC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGT;AAAb,IADD,CADD,EAKC,cAAC,SAAD,QACC;AAAI,IAAA,SAAS,EAAC;AAAd,KACG,CAAAS,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEG,KAAV,MAAmBH,QAAnB,aAAmBA,QAAnB,uBAAmBA,QAAQ,CAAEI,IAA7B,CADH,CADD,EAIC,yBAAKJ,QAAL,aAAKA,QAAL,uBAAKA,QAAQ,CAAEK,WAAf,CAJD,CALD,CADD,CADD;AAgBA;;AAED,eAAeN,eAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Icon, layout } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { Flex, FlexItem, FlexBlock, PanelBody } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\nfunction TemplateSummary() {\n\tconst template = useSelect( ( select ) => {\n\t\tconst { getEditedPostTemplate } = select( editPostStore );\n\t\treturn getEditedPostTemplate();\n\t}, [] );\n\n\tif ( ! template ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody>\n\t\t\t<Flex align=\"flex-start\" gap=\"3\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Icon icon={ layout } />\n\t\t\t\t</FlexItem>\n\n\t\t\t\t<FlexBlock>\n\t\t\t\t\t<h2 className=\"edit-post-template-summary__title\">\n\t\t\t\t\t\t{ template?.title || template?.slug }\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p>{ template?.description }</p>\n\t\t\t\t</FlexBlock>\n\t\t\t</Flex>\n\t\t</PanelBody>\n\t);\n}\n\nexport default TemplateSummary;\n"]}
@@ -26,13 +26,13 @@ import { store as editPostStore } from '../../store';
26
26
  function MaybeIframe({
27
27
  children,
28
28
  contentRef,
29
- isTemplateMode,
29
+ shouldIframe,
30
30
  styles,
31
31
  style
32
32
  }) {
33
33
  const ref = useMouseMoveTypingReset();
34
34
 
35
- if (!isTemplateMode) {
35
+ if (!shouldIframe) {
36
36
  return createElement(Fragment, null, createElement(EditorStyles, {
37
37
  styles: styles
38
38
  }), createElement(WritingFlow, {
@@ -56,7 +56,8 @@ function MaybeIframe({
56
56
  width: '100%',
57
57
  height: '100%',
58
58
  display: 'block'
59
- }
59
+ },
60
+ name: "editor-canvas"
60
61
  }, children);
61
62
  }
62
63
 
@@ -180,7 +181,7 @@ export default function VisualEditor({
180
181
  initial: desktopCanvasStyles,
181
182
  className: previewMode
182
183
  }, createElement(MaybeIframe, {
183
- isTemplateMode: isTemplateMode,
184
+ shouldIframe: isTemplateMode || deviceType === 'Tablet' || deviceType === 'Mobile',
184
185
  contentRef: contentRef,
185
186
  styles: styles,
186
187
  style: {
@@ -192,6 +193,7 @@ export default function VisualEditor({
192
193
  }), !isTemplateMode && createElement("div", {
193
194
  className: "edit-post-visual-editor__post-title-wrapper"
194
195
  }, createElement(PostTitle, null)), createElement(RecursionProvider, null, createElement(BlockList, {
196
+ className: isTemplateMode ? 'wp-site-blocks' : undefined,
195
197
  __experimentalLayout: layout
196
198
  }))))), createElement(__unstableBlockSettingsMenuFirstItem, null, ({
197
199
  onClose
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["classnames","VisualEditorGlobalKeyboardShortcuts","PostTitle","store","editorStore","WritingFlow","BlockList","BlockTools","blockEditorStore","__unstableUseBlockSelectionClearer","useBlockSelectionClearer","__unstableUseTypewriter","useTypewriter","__unstableUseClipboardHandler","useClipboardHandler","__unstableUseTypingObserver","useTypingObserver","__unstableBlockSettingsMenuFirstItem","__experimentalUseResizeCanvas","useResizeCanvas","__unstableUseCanvasClickRedirect","useCanvasClickRedirect","__unstableEditorStyles","EditorStyles","useSetting","__experimentalLayoutStyle","LayoutStyle","__unstableUseMouseMoveTypingReset","useMouseMoveTypingReset","__unstableIframe","Iframe","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","useRef","useMemo","Button","__unstableMotion","motion","useSelect","useDispatch","useMergeRefs","arrowLeft","__","BlockInspectorButton","editPostStore","MaybeIframe","children","contentRef","isTemplateMode","styles","style","ref","flex","width","height","display","VisualEditor","deviceType","wrapperBlockName","wrapperUniqueId","select","isEditingTemplate","__experimentalGetPreviewDeviceType","getCurrentPostId","getCurrentPostType","_isTemplateMode","_wrapperBlockName","hasMetaBoxes","themeSupportsLayout","getSettings","supportsLayout","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","defaultLayout","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","RecursionProvider","layout","type","undefined","padding","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableUseCanvasClickRedirect as useCanvasClickRedirect,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n} from '@wordpress/block-editor';\nimport { useRef, useMemo } from '@wordpress/element';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from './block-inspector-button';\nimport { store as editPostStore } from '../../store';\n\nfunction MaybeIframe( {\n\tchildren,\n\tcontentRef,\n\tisTemplateMode,\n\tstyles,\n\tstyle,\n} ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! isTemplateMode ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\thead={ <EditorStyles styles={ styles } /> }\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisTemplateMode,\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditingTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst themeSupportsLayout = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().supportsLayout;\n\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\t// We intentionally omit a 100% height here. The container is a flex item, so the 100% height is granted by default.\n\t\t// If a percentage height is present, older browsers such as Safari 13 apply that, but do so incorrectly as the inheritance is buggy.\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst defaultLayout = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseCanvasClickRedirect(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\tconst [ , RecursionProvider ] = useNoRecursiveRenders(\n\t\twrapperUniqueId,\n\t\twrapperBlockName\n\t);\n\n\tconst layout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\treturn defaultLayout;\n\t\t}\n\n\t\treturn undefined;\n\t}, [ isTemplateMode, themeSupportsLayout, defaultLayout ] );\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : '0',\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t{ isTemplateMode && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-post-visual-editor__exit-template-mode\"\n\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\tsetIsEditingTemplate( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tisTemplateMode={ isTemplateMode }\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tstyle={ { paddingBottom } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout && ! isTemplateMode && (\n\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\tlayout={ defaultLayout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-visual-editor__post-title-wrapper\">\n\t\t\t\t\t\t\t\t<PostTitle />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider>\n\t\t\t\t\t\t\t<BlockList __experimentalLayout={ layout } />\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</BlockTools>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["classnames","VisualEditorGlobalKeyboardShortcuts","PostTitle","store","editorStore","WritingFlow","BlockList","BlockTools","blockEditorStore","__unstableUseBlockSelectionClearer","useBlockSelectionClearer","__unstableUseTypewriter","useTypewriter","__unstableUseClipboardHandler","useClipboardHandler","__unstableUseTypingObserver","useTypingObserver","__unstableBlockSettingsMenuFirstItem","__experimentalUseResizeCanvas","useResizeCanvas","__unstableUseCanvasClickRedirect","useCanvasClickRedirect","__unstableEditorStyles","EditorStyles","useSetting","__experimentalLayoutStyle","LayoutStyle","__unstableUseMouseMoveTypingReset","useMouseMoveTypingReset","__unstableIframe","Iframe","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","useRef","useMemo","Button","__unstableMotion","motion","useSelect","useDispatch","useMergeRefs","arrowLeft","__","BlockInspectorButton","editPostStore","MaybeIframe","children","contentRef","shouldIframe","styles","style","ref","flex","width","height","display","VisualEditor","deviceType","isTemplateMode","wrapperBlockName","wrapperUniqueId","select","isEditingTemplate","__experimentalGetPreviewDeviceType","getCurrentPostId","getCurrentPostType","_isTemplateMode","_wrapperBlockName","hasMetaBoxes","themeSupportsLayout","getSettings","supportsLayout","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","defaultLayout","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","RecursionProvider","layout","type","undefined","padding","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableUseCanvasClickRedirect as useCanvasClickRedirect,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n} from '@wordpress/block-editor';\nimport { useRef, useMemo } from '@wordpress/element';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from './block-inspector-button';\nimport { store as editPostStore } from '../../store';\n\nfunction MaybeIframe( { children, contentRef, shouldIframe, styles, style } ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\thead={ <EditorStyles styles={ styles } /> }\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisTemplateMode,\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditingTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst themeSupportsLayout = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().supportsLayout;\n\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\t// We intentionally omit a 100% height here. The container is a flex item, so the 100% height is granted by default.\n\t\t// If a percentage height is present, older browsers such as Safari 13 apply that, but do so incorrectly as the inheritance is buggy.\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst defaultLayout = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseCanvasClickRedirect(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\tconst [ , RecursionProvider ] = useNoRecursiveRenders(\n\t\twrapperUniqueId,\n\t\twrapperBlockName\n\t);\n\n\tconst layout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\treturn defaultLayout;\n\t\t}\n\n\t\treturn undefined;\n\t}, [ isTemplateMode, themeSupportsLayout, defaultLayout ] );\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : '0',\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t{ isTemplateMode && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-post-visual-editor__exit-template-mode\"\n\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\tsetIsEditingTemplate( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tstyle={ { paddingBottom } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout && ! isTemplateMode && (\n\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\tlayout={ defaultLayout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-visual-editor__post-title-wrapper\">\n\t\t\t\t\t\t\t\t<PostTitle />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ layout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</BlockTools>\n\t);\n}\n"]}
@@ -4,7 +4,7 @@ import { createElement } from "@wordpress/element";
4
4
  /**
5
5
  * External dependencies
6
6
  */
7
- import { size, map, without, omit } from 'lodash';
7
+ import { size, map, without } from 'lodash';
8
8
  /**
9
9
  * WordPress dependencies
10
10
  */
@@ -15,6 +15,7 @@ import { EditorProvider, ErrorBoundary, PostLockedModal, store as editorStore }
15
15
  import { StrictMode, useMemo } from '@wordpress/element';
16
16
  import { KeyboardShortcuts, SlotFillProvider } from '@wordpress/components';
17
17
  import { store as coreStore } from '@wordpress/core-data';
18
+ import { ShortcutProvider } from '@wordpress/keyboard-shortcuts';
18
19
  /**
19
20
  * Internal dependencies
20
21
  */
@@ -97,13 +98,13 @@ function Editor({
97
98
  template: supportsTemplateMode && isViewable ? getEditedPostTemplate() : null,
98
99
  post: postObject
99
100
  };
100
- });
101
+ }, [postType, postId]);
101
102
  const {
102
103
  updatePreferredStyleVariations,
103
104
  setIsInserterOpened
104
105
  } = useDispatch(editPostStore);
105
106
  const editorSettings = useMemo(() => {
106
- const result = { ...omit(settings, ['styles']),
107
+ const result = { ...settings,
107
108
  __experimentalPreferredStyleVariations: {
108
109
  value: preferredStyleVariations,
109
110
  onChange: updatePreferredStyleVariations
@@ -128,14 +129,24 @@ function Editor({
128
129
  return result;
129
130
  }, [settings, hasFixedToolbar, focusMode, hasReducedUI, hiddenBlockTypes, blockTypes, preferredStyleVariations, __experimentalLocalAutosaveInterval, setIsInserterOpened, updatePreferredStyleVariations, keepCaretInsideBlock]);
130
131
  const styles = useMemo(() => {
131
- return hasThemeStyles ? settings.styles : [];
132
+ const themeStyles = [];
133
+ const presetStyles = [];
134
+ settings.styles.forEach(style => {
135
+ if (!style.__unstableType || style.__unstableType === 'theme') {
136
+ themeStyles.push(style);
137
+ } else {
138
+ presetStyles.push(style);
139
+ }
140
+ });
141
+ const defaultEditorStyles = [...settings.defaultEditorStyles, ...presetStyles];
142
+ return hasThemeStyles && themeStyles.length ? settings.styles : defaultEditorStyles;
132
143
  }, [settings, hasThemeStyles]);
133
144
 
134
145
  if (!post) {
135
146
  return null;
136
147
  }
137
148
 
138
- return createElement(StrictMode, null, createElement(EditPostSettings.Provider, {
149
+ return createElement(StrictMode, null, createElement(ShortcutProvider, null, createElement(EditPostSettings.Provider, {
139
150
  value: settings
140
151
  }, createElement(SlotFillProvider, null, createElement(EditorProvider, _extends({
141
152
  settings: editorSettings,
@@ -151,7 +162,7 @@ function Editor({
151
162
  styles: styles
152
163
  }), createElement(KeyboardShortcuts, {
153
164
  shortcuts: preventEventDiscovery
154
- })), createElement(PostLockedModal, null)))));
165
+ })), createElement(PostLockedModal, null))))));
155
166
  }
156
167
 
157
168
  export default Editor;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/editor.js"],"names":["size","map","without","omit","store","blocksStore","useSelect","useDispatch","EditorProvider","ErrorBoundary","PostLockedModal","editorStore","StrictMode","useMemo","KeyboardShortcuts","SlotFillProvider","coreStore","preventEventDiscovery","Layout","EditorInitialization","EditPostSettings","editPostStore","Editor","postId","postType","settings","initialEdits","onError","props","hasFixedToolbar","focusMode","hasReducedUI","hasThemeStyles","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","__experimentalLocalAutosaveInterval","keepCaretInsideBlock","isTemplateMode","template","select","isFeatureActive","getPreference","__experimentalGetPreviewDeviceType","isEditingTemplate","getEditedPostTemplate","getEntityRecord","getPostType","getEntityRecords","getEditorSettings","getBlockTypes","isTemplate","includes","postObject","posts","wp_id","supportsTemplateMode","isViewable","viewable","updatePreferredStyleVariations","setIsInserterOpened","editorSettings","result","__experimentalPreferredStyleVariations","value","onChange","__experimentalSetIsInserterOpened","defaultAllowedBlockTypes","allowedBlockTypes","styles","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { size, map, without, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tEditorProvider,\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { StrictMode, useMemo } from '@wordpress/element';\nimport { KeyboardShortcuts, SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport preventEventDiscovery from './prevent-event-discovery';\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport EditPostSettings from './components/edit-post-settings';\nimport { store as editPostStore } from './store';\n\nfunction Editor( {\n\tpostId,\n\tpostType,\n\tsettings,\n\tinitialEdits,\n\tonError,\n\t...props\n} ) {\n\tconst {\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thasReducedUI,\n\t\thasThemeStyles,\n\t\tpost,\n\t\tpreferredStyleVariations,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\t__experimentalLocalAutosaveInterval,\n\t\tkeepCaretInsideBlock,\n\t\tisTemplateMode,\n\t\ttemplate,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tgetPreference,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\tisEditingTemplate,\n\t\t\tgetEditedPostTemplate,\n\t\t} = select( editPostStore );\n\t\tconst { getEntityRecord, getPostType, getEntityRecords } = select(\n\t\t\tcoreStore\n\t\t);\n\t\tconst { getEditorSettings } = select( editorStore );\n\t\tconst { getBlockTypes } = select( blocksStore );\n\t\tconst isTemplate = [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\tpostType\n\t\t);\n\t\t// Ideally the initializeEditor function should be called using the ID of the REST endpoint.\n\t\t// to avoid the special case.\n\t\tlet postObject;\n\t\tif ( isTemplate ) {\n\t\t\tconst posts = getEntityRecords( 'postType', postType, {\n\t\t\t\twp_id: postId,\n\t\t\t} );\n\t\t\tpostObject = posts?.[ 0 ];\n\t\t} else {\n\t\t\tpostObject = getEntityRecord( 'postType', postType, postId );\n\t\t}\n\t\tconst supportsTemplateMode = getEditorSettings().supportsTemplateMode;\n\t\tconst isViewable = getPostType( postType )?.viewable ?? false;\n\n\t\treturn {\n\t\t\thasFixedToolbar:\n\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\thasReducedUI: isFeatureActive( 'reducedUI' ),\n\t\t\thasThemeStyles: isFeatureActive( 'themeStyles' ),\n\t\t\tpreferredStyleVariations: getPreference(\n\t\t\t\t'preferredStyleVariations'\n\t\t\t),\n\t\t\thiddenBlockTypes: getPreference( 'hiddenBlockTypes' ),\n\t\t\tblockTypes: getBlockTypes(),\n\t\t\t__experimentalLocalAutosaveInterval: getPreference(\n\t\t\t\t'localAutosaveInterval'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ),\n\t\t\tisTemplateMode: isEditingTemplate(),\n\t\t\ttemplate:\n\t\t\t\tsupportsTemplateMode && isViewable\n\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t: null,\n\t\t\tpost: postObject,\n\t\t};\n\t} );\n\n\tconst { updatePreferredStyleVariations, setIsInserterOpened } = useDispatch(\n\t\teditPostStore\n\t);\n\n\tconst editorSettings = useMemo( () => {\n\t\tconst result = {\n\t\t\t...omit( settings, [ 'styles' ] ),\n\t\t\t__experimentalPreferredStyleVariations: {\n\t\t\t\tvalue: preferredStyleVariations,\n\t\t\t\tonChange: updatePreferredStyleVariations,\n\t\t\t},\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\thasReducedUI,\n\t\t\t__experimentalLocalAutosaveInterval,\n\n\t\t\t// This is marked as experimental to give time for the quick inserter to mature.\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tkeepCaretInsideBlock,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( size( hiddenBlockTypes ) > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? map( blockTypes, 'name' )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tresult.allowedBlockTypes = without(\n\t\t\t\tdefaultAllowedBlockTypes,\n\t\t\t\t...hiddenBlockTypes\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thasReducedUI,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tpreferredStyleVariations,\n\t\t__experimentalLocalAutosaveInterval,\n\t\tsetIsInserterOpened,\n\t\tupdatePreferredStyleVariations,\n\t\tkeepCaretInsideBlock,\n\t] );\n\n\tconst styles = useMemo( () => {\n\t\treturn hasThemeStyles ? settings.styles : [];\n\t}, [ settings, hasThemeStyles ] );\n\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StrictMode>\n\t\t\t<EditPostSettings.Provider value={ settings }>\n\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t<EditorProvider\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tpost={ post }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t__unstableTemplate={\n\t\t\t\t\t\t\tisTemplateMode ? template : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t<EditorInitialization postId={ postId } />\n\t\t\t\t\t\t\t<Layout styles={ styles } />\n\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\tshortcuts={ preventEventDiscovery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t<PostLockedModal />\n\t\t\t\t\t</EditorProvider>\n\t\t\t\t</SlotFillProvider>\n\t\t\t</EditPostSettings.Provider>\n\t\t</StrictMode>\n\t);\n}\n\nexport default Editor;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/editor.js"],"names":["size","map","without","store","blocksStore","useSelect","useDispatch","EditorProvider","ErrorBoundary","PostLockedModal","editorStore","StrictMode","useMemo","KeyboardShortcuts","SlotFillProvider","coreStore","ShortcutProvider","preventEventDiscovery","Layout","EditorInitialization","EditPostSettings","editPostStore","Editor","postId","postType","settings","initialEdits","onError","props","hasFixedToolbar","focusMode","hasReducedUI","hasThemeStyles","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","__experimentalLocalAutosaveInterval","keepCaretInsideBlock","isTemplateMode","template","select","isFeatureActive","getPreference","__experimentalGetPreviewDeviceType","isEditingTemplate","getEditedPostTemplate","getEntityRecord","getPostType","getEntityRecords","getEditorSettings","getBlockTypes","isTemplate","includes","postObject","posts","wp_id","supportsTemplateMode","isViewable","viewable","updatePreferredStyleVariations","setIsInserterOpened","editorSettings","result","__experimentalPreferredStyleVariations","value","onChange","__experimentalSetIsInserterOpened","defaultAllowedBlockTypes","allowedBlockTypes","styles","themeStyles","presetStyles","forEach","style","__unstableType","push","defaultEditorStyles","length","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { size, map, without } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tEditorProvider,\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { StrictMode, useMemo } from '@wordpress/element';\nimport { KeyboardShortcuts, SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport preventEventDiscovery from './prevent-event-discovery';\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport EditPostSettings from './components/edit-post-settings';\nimport { store as editPostStore } from './store';\n\nfunction Editor( {\n\tpostId,\n\tpostType,\n\tsettings,\n\tinitialEdits,\n\tonError,\n\t...props\n} ) {\n\tconst {\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thasReducedUI,\n\t\thasThemeStyles,\n\t\tpost,\n\t\tpreferredStyleVariations,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\t__experimentalLocalAutosaveInterval,\n\t\tkeepCaretInsideBlock,\n\t\tisTemplateMode,\n\t\ttemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisFeatureActive,\n\t\t\t\tgetPreference,\n\t\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\t\tisEditingTemplate,\n\t\t\t\tgetEditedPostTemplate,\n\t\t\t} = select( editPostStore );\n\t\t\tconst { getEntityRecord, getPostType, getEntityRecords } = select(\n\t\t\t\tcoreStore\n\t\t\t);\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst isTemplate = [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\t\tpostType\n\t\t\t);\n\t\t\t// Ideally the initializeEditor function should be called using the ID of the REST endpoint.\n\t\t\t// to avoid the special case.\n\t\t\tlet postObject;\n\t\t\tif ( isTemplate ) {\n\t\t\t\tconst posts = getEntityRecords( 'postType', postType, {\n\t\t\t\t\twp_id: postId,\n\t\t\t\t} );\n\t\t\t\tpostObject = posts?.[ 0 ];\n\t\t\t} else {\n\t\t\t\tpostObject = getEntityRecord( 'postType', postType, postId );\n\t\t\t}\n\t\t\tconst supportsTemplateMode = getEditorSettings()\n\t\t\t\t.supportsTemplateMode;\n\t\t\tconst isViewable = getPostType( postType )?.viewable ?? false;\n\n\t\t\treturn {\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\t\thasReducedUI: isFeatureActive( 'reducedUI' ),\n\t\t\t\thasThemeStyles: isFeatureActive( 'themeStyles' ),\n\t\t\t\tpreferredStyleVariations: getPreference(\n\t\t\t\t\t'preferredStyleVariations'\n\t\t\t\t),\n\t\t\t\thiddenBlockTypes: getPreference( 'hiddenBlockTypes' ),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\t__experimentalLocalAutosaveInterval: getPreference(\n\t\t\t\t\t'localAutosaveInterval'\n\t\t\t\t),\n\t\t\t\tkeepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ),\n\t\t\t\tisTemplateMode: isEditingTemplate(),\n\t\t\t\ttemplate:\n\t\t\t\t\tsupportsTemplateMode && isViewable\n\t\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t\t: null,\n\t\t\t\tpost: postObject,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { updatePreferredStyleVariations, setIsInserterOpened } = useDispatch(\n\t\teditPostStore\n\t);\n\n\tconst editorSettings = useMemo( () => {\n\t\tconst result = {\n\t\t\t...settings,\n\t\t\t__experimentalPreferredStyleVariations: {\n\t\t\t\tvalue: preferredStyleVariations,\n\t\t\t\tonChange: updatePreferredStyleVariations,\n\t\t\t},\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\thasReducedUI,\n\t\t\t__experimentalLocalAutosaveInterval,\n\n\t\t\t// This is marked as experimental to give time for the quick inserter to mature.\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tkeepCaretInsideBlock,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( size( hiddenBlockTypes ) > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? map( blockTypes, 'name' )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tresult.allowedBlockTypes = without(\n\t\t\t\tdefaultAllowedBlockTypes,\n\t\t\t\t...hiddenBlockTypes\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thasReducedUI,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tpreferredStyleVariations,\n\t\t__experimentalLocalAutosaveInterval,\n\t\tsetIsInserterOpened,\n\t\tupdatePreferredStyleVariations,\n\t\tkeepCaretInsideBlock,\n\t] );\n\n\tconst styles = useMemo( () => {\n\t\tconst themeStyles = [];\n\t\tconst presetStyles = [];\n\t\tsettings.styles.forEach( ( style ) => {\n\t\t\tif ( ! style.__unstableType || style.__unstableType === 'theme' ) {\n\t\t\t\tthemeStyles.push( style );\n\t\t\t} else {\n\t\t\t\tpresetStyles.push( style );\n\t\t\t}\n\t\t} );\n\t\tconst defaultEditorStyles = [\n\t\t\t...settings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\t\treturn hasThemeStyles && themeStyles.length\n\t\t\t? settings.styles\n\t\t\t: defaultEditorStyles;\n\t}, [ settings, hasThemeStyles ] );\n\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StrictMode>\n\t\t\t<ShortcutProvider>\n\t\t\t\t<EditPostSettings.Provider value={ settings }>\n\t\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t\t<EditorProvider\n\t\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\t\tpost={ post }\n\t\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t\t__unstableTemplate={\n\t\t\t\t\t\t\t\tisTemplateMode ? template : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t<EditorInitialization postId={ postId } />\n\t\t\t\t\t\t\t\t<Layout styles={ styles } />\n\t\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\t\tshortcuts={ preventEventDiscovery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t<PostLockedModal />\n\t\t\t\t\t\t</EditorProvider>\n\t\t\t\t\t</SlotFillProvider>\n\t\t\t\t</EditPostSettings.Provider>\n\t\t\t</ShortcutProvider>\n\t\t</StrictMode>\n\t);\n}\n\nexport default Editor;\n"]}