@wordpress/edit-post 7.7.0 → 7.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +6 -15
  3. package/build/components/header/post-publish-button-or-toggle.js +1 -1
  4. package/build/components/header/post-publish-button-or-toggle.js.map +1 -1
  5. package/build/components/secondary-sidebar/list-view-sidebar.js +1 -2
  6. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  7. package/build/components/visual-editor/index.js +23 -8
  8. package/build/components/visual-editor/index.js.map +1 -1
  9. package/build/components/visual-editor/index.native.js +1 -38
  10. package/build/components/visual-editor/index.native.js.map +1 -1
  11. package/build/plugins/index.js +1 -1
  12. package/build/plugins/index.js.map +1 -1
  13. package/build-module/components/header/post-publish-button-or-toggle.js +1 -1
  14. package/build-module/components/header/post-publish-button-or-toggle.js.map +1 -1
  15. package/build-module/components/secondary-sidebar/list-view-sidebar.js +1 -2
  16. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  17. package/build-module/components/visual-editor/index.js +23 -8
  18. package/build-module/components/visual-editor/index.js.map +1 -1
  19. package/build-module/components/visual-editor/index.native.js +1 -37
  20. package/build-module/components/visual-editor/index.native.js.map +1 -1
  21. package/build-module/plugins/index.js +1 -1
  22. package/build-module/plugins/index.js.map +1 -1
  23. package/build-style/style-rtl.css +1 -2
  24. package/build-style/style.css +1 -2
  25. package/package.json +30 -30
  26. package/src/components/header/post-publish-button-or-toggle.js +1 -1
  27. package/src/components/secondary-sidebar/list-view-sidebar.js +1 -2
  28. package/src/components/secondary-sidebar/style.scss +1 -2
  29. package/src/components/visual-editor/index.js +30 -13
  30. package/src/components/visual-editor/index.native.js +1 -36
  31. package/src/plugins/index.js +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 7.8.0 (2023-04-12)
6
+
5
7
  ## 7.7.0 (2023-03-29)
6
8
 
7
9
  ## 7.6.0 (2023-03-15)
package/README.md CHANGED
@@ -157,8 +157,7 @@ _Returns_
157
157
 
158
158
  ### PluginMoreMenuItem
159
159
 
160
- Renders a menu item in `Plugins` group in `More Menu` drop down, and can be used to as a button or link depending on the props provided.
161
- The text within the component appears as the menu item label.
160
+ Renders a menu item in `Plugins` group in `More Menu` drop down, and can be used to as a button or link depending on the props provided. The text within the component appears as the menu item label.
162
161
 
163
162
  _Usage_
164
163
 
@@ -215,8 +214,7 @@ _Returns_
215
214
 
216
215
  ### PluginPostPublishPanel
217
216
 
218
- Renders provided content to the post-publish panel in the publish flow
219
- (side panel that opens after a user publishes the post).
217
+ Renders provided content to the post-publish panel in the publish flow (side panel that opens after a user publishes the post).
220
218
 
221
219
  _Usage_
222
220
 
@@ -268,9 +266,7 @@ _Returns_
268
266
 
269
267
  ### PluginPostStatusInfo
270
268
 
271
- Renders a row in the Summary panel of the Document sidebar.
272
- It should be noted that this is named and implemented around the function it serves
273
- and not its location, which may change in future iterations.
269
+ Renders a row in the Summary panel of the Document sidebar. It should be noted that this is named and implemented around the function it serves and not its location, which may change in future iterations.
274
270
 
275
271
  _Usage_
276
272
 
@@ -314,8 +310,7 @@ _Returns_
314
310
 
315
311
  ### PluginPrePublishPanel
316
312
 
317
- Renders provided content to the pre-publish side panel in the publish flow
318
- (side panel that opens when a user first pushes "Publish" from the main editor).
313
+ Renders provided content to the pre-publish side panel in the publish flow (side panel that opens when a user first pushes "Publish" from the main editor).
319
314
 
320
315
  _Usage_
321
316
 
@@ -367,9 +362,7 @@ _Returns_
367
362
 
368
363
  ### PluginSidebar
369
364
 
370
- Renders a sidebar when activated. The contents within the `PluginSidebar` will appear as content within the sidebar.
371
- It also automatically renders a corresponding `PluginSidebarMenuItem` component when `isPinnable` flag is set to `true`.
372
- If you wish to display the sidebar, you can with use the `PluginSidebarMoreMenuItem` component or the `wp.data.dispatch` API:
365
+ Renders a sidebar when activated. The contents within the `PluginSidebar` will appear as content within the sidebar. It also automatically renders a corresponding `PluginSidebarMenuItem` component when `isPinnable` flag is set to `true`. If you wish to display the sidebar, you can with use the `PluginSidebarMoreMenuItem` component or the `wp.data.dispatch` API:
373
366
 
374
367
  ```js
375
368
  wp.data
@@ -429,9 +422,7 @@ _Parameters_
429
422
 
430
423
  ### PluginSidebarMoreMenuItem
431
424
 
432
- Renders a menu item in `Plugins` group in `More Menu` drop down,
433
- and can be used to activate the corresponding `PluginSidebar` component.
434
- The text within the component appears as the menu item label.
425
+ Renders a menu item in `Plugins` group in `More Menu` drop down, and can be used to activate the corresponding `PluginSidebar` component. The text within the component appears as the menu item label.
435
426
 
436
427
  _Usage_
437
428
 
@@ -45,7 +45,7 @@ function PostPublishButtonOrToggle(_ref) {
45
45
  * Conditions to show a BUTTON (publish directly) or a TOGGLE (open publish sidebar):
46
46
  *
47
47
  * 1) We want to show a BUTTON when the post status is at the _final stage_
48
- * for a particular role (see https://wordpress.org/support/article/post-status/):
48
+ * for a particular role (see https://wordpress.org/documentation/article/post-status/):
49
49
  *
50
50
  * - is published
51
51
  * - is scheduled to be published
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/header/post-publish-button-or-toggle.js"],"names":["PostPublishButtonOrToggle","forceIsDirty","forceIsSaving","hasPublishAction","isBeingScheduled","isPending","isPublished","isPublishSidebarEnabled","isPublishSidebarOpened","isScheduled","togglePublishSidebar","setEntitiesSavedStatesCallback","IS_TOGGLE","IS_BUTTON","isSmallerThanMediumViewport","component","select","editorStore","getCurrentPost","_links","isEditedPostBeingScheduled","isCurrentPostPending","isCurrentPostPublished","editPostStore","isCurrentPostScheduled","dispatch"],"mappings":";;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGO,SAASA,yBAAT,OAYH;AAAA,MAZuC;AAC1CC,IAAAA,YAD0C;AAE1CC,IAAAA,aAF0C;AAG1CC,IAAAA,gBAH0C;AAI1CC,IAAAA,gBAJ0C;AAK1CC,IAAAA,SAL0C;AAM1CC,IAAAA,WAN0C;AAO1CC,IAAAA,uBAP0C;AAQ1CC,IAAAA,sBAR0C;AAS1CC,IAAAA,WAT0C;AAU1CC,IAAAA,oBAV0C;AAW1CC,IAAAA;AAX0C,GAYvC;AACH,QAAMC,SAAS,GAAG,QAAlB;AACA,QAAMC,SAAS,GAAG,QAAlB;AACA,QAAMC,2BAA2B,GAAG,+BAAkB,QAAlB,EAA4B,GAA5B,CAApC;AACA,MAAIC,SAAJ;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACC,MACCT,WAAW,IACTG,WAAW,IAAIL,gBADjB,IAEEC,SAAS,IAAI,CAAEF,gBAAf,IAAmC,CAAEW,2BAHxC,EAIE;AACDC,IAAAA,SAAS,GAAGF,SAAZ;AACA,GAND,MAMO,IAAKC,2BAAL,EAAmC;AACzCC,IAAAA,SAAS,GAAGH,SAAZ;AACA,GAFM,MAEA,IAAKL,uBAAL,EAA+B;AACrCQ,IAAAA,SAAS,GAAGH,SAAZ;AACA,GAFM,MAEA;AACNG,IAAAA,SAAS,GAAGF,SAAZ;AACA;;AAED,SACC,4BAAC,yBAAD;AACC,IAAA,YAAY,EAAGZ,YADhB;AAEC,IAAA,aAAa,EAAGC,aAFjB;AAGC,IAAA,MAAM,EAAGM,sBAHV;AAIC,IAAA,QAAQ,EAAGO,SAAS,KAAKH,SAJ1B;AAKC,IAAA,QAAQ,EAAGF,oBALZ;AAMC,IAAA,8BAA8B,EAAGC;AANlC,IADD;AAUA;;eAEc,sBACd,sBAAcK,MAAF;AAAA;;AAAA,SAAgB;AAC3Bb,IAAAA,gBAAgB,qDACfa,MAAM,CAAEC,aAAF,CAAN,CAAsBC,cAAtB,EADe,qFACf,uBAAwCC,MADzB,2DACf,uBACC,mBADD,CADe,yEAGV,KAJqB;AAK3Bf,IAAAA,gBAAgB,EAAEY,MAAM,CAAEC,aAAF,CAAN,CAAsBG,0BAAtB,EALS;AAM3Bf,IAAAA,SAAS,EAAEW,MAAM,CAAEC,aAAF,CAAN,CAAsBI,oBAAtB,EANgB;AAO3Bf,IAAAA,WAAW,EAAEU,MAAM,CAAEC,aAAF,CAAN,CAAsBK,sBAAtB,EAPc;AAQ3Bf,IAAAA,uBAAuB,EACtBS,MAAM,CAAEC,aAAF,CAAN,CAAsBV,uBAAtB,EAT0B;AAU3BC,IAAAA,sBAAsB,EACrBQ,MAAM,CAAEO,YAAF,CAAN,CAAwBf,sBAAxB,EAX0B;AAY3BC,IAAAA,WAAW,EAAEO,MAAM,CAAEC,aAAF,CAAN,CAAsBO,sBAAtB;AAZc,GAAhB;AAAA,CAAZ,CADc,EAed,wBAAgBC,QAAF,IAAgB;AAC7B,QAAM;AAAEf,IAAAA;AAAF,MAA2Be,QAAQ,CAAEF,YAAF,CAAzC;AACA,SAAO;AACNb,IAAAA;AADM,GAAP;AAGA,CALD,CAfc,EAqBZV,yBArBY,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch, compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { PostPublishButton, store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport function PostPublishButtonOrToggle( {\n\tforceIsDirty,\n\tforceIsSaving,\n\thasPublishAction,\n\tisBeingScheduled,\n\tisPending,\n\tisPublished,\n\tisPublishSidebarEnabled,\n\tisPublishSidebarOpened,\n\tisScheduled,\n\ttogglePublishSidebar,\n\tsetEntitiesSavedStatesCallback,\n} ) {\n\tconst IS_TOGGLE = 'toggle';\n\tconst IS_BUTTON = 'button';\n\tconst isSmallerThanMediumViewport = useViewportMatch( 'medium', '<' );\n\tlet component;\n\n\t/**\n\t * Conditions to show a BUTTON (publish directly) or a TOGGLE (open publish sidebar):\n\t *\n\t * 1) We want to show a BUTTON when the post status is at the _final stage_\n\t * for a particular role (see https://wordpress.org/support/article/post-status/):\n\t *\n\t * - is published\n\t * - is scheduled to be published\n\t * - is pending and can't be published (but only for viewports >= medium).\n\t * \t Originally, we considered showing a button for pending posts that couldn't be published\n\t * \t (for example, for an author with the contributor role). Some languages can have\n\t * \t long translations for \"Submit for review\", so given the lack of UI real estate available\n\t * \t we decided to take into account the viewport in that case.\n\t * \t See: https://github.com/WordPress/gutenberg/issues/10475\n\t *\n\t * 2) Then, in small viewports, we'll show a TOGGLE.\n\t *\n\t * 3) Finally, we'll use the publish sidebar status to decide:\n\t *\n\t * - if it is enabled, we show a TOGGLE\n\t * - if it is disabled, we show a BUTTON\n\t */\n\tif (\n\t\tisPublished ||\n\t\t( isScheduled && isBeingScheduled ) ||\n\t\t( isPending && ! hasPublishAction && ! isSmallerThanMediumViewport )\n\t) {\n\t\tcomponent = IS_BUTTON;\n\t} else if ( isSmallerThanMediumViewport ) {\n\t\tcomponent = IS_TOGGLE;\n\t} else if ( isPublishSidebarEnabled ) {\n\t\tcomponent = IS_TOGGLE;\n\t} else {\n\t\tcomponent = IS_BUTTON;\n\t}\n\n\treturn (\n\t\t<PostPublishButton\n\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\tforceIsSaving={ forceIsSaving }\n\t\t\tisOpen={ isPublishSidebarOpened }\n\t\t\tisToggle={ component === IS_TOGGLE }\n\t\t\tonToggle={ togglePublishSidebar }\n\t\t\tsetEntitiesSavedStatesCallback={ setEntitiesSavedStatesCallback }\n\t\t/>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\thasPublishAction:\n\t\t\tselect( editorStore ).getCurrentPost()?._links?.[\n\t\t\t\t'wp:action-publish'\n\t\t\t] ?? false,\n\t\tisBeingScheduled: select( editorStore ).isEditedPostBeingScheduled(),\n\t\tisPending: select( editorStore ).isCurrentPostPending(),\n\t\tisPublished: select( editorStore ).isCurrentPostPublished(),\n\t\tisPublishSidebarEnabled:\n\t\t\tselect( editorStore ).isPublishSidebarEnabled(),\n\t\tisPublishSidebarOpened:\n\t\t\tselect( editPostStore ).isPublishSidebarOpened(),\n\t\tisScheduled: select( editorStore ).isCurrentPostScheduled(),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { togglePublishSidebar } = dispatch( editPostStore );\n\t\treturn {\n\t\t\ttogglePublishSidebar,\n\t\t};\n\t} )\n)( PostPublishButtonOrToggle );\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/header/post-publish-button-or-toggle.js"],"names":["PostPublishButtonOrToggle","forceIsDirty","forceIsSaving","hasPublishAction","isBeingScheduled","isPending","isPublished","isPublishSidebarEnabled","isPublishSidebarOpened","isScheduled","togglePublishSidebar","setEntitiesSavedStatesCallback","IS_TOGGLE","IS_BUTTON","isSmallerThanMediumViewport","component","select","editorStore","getCurrentPost","_links","isEditedPostBeingScheduled","isCurrentPostPending","isCurrentPostPublished","editPostStore","isCurrentPostScheduled","dispatch"],"mappings":";;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGO,SAASA,yBAAT,OAYH;AAAA,MAZuC;AAC1CC,IAAAA,YAD0C;AAE1CC,IAAAA,aAF0C;AAG1CC,IAAAA,gBAH0C;AAI1CC,IAAAA,gBAJ0C;AAK1CC,IAAAA,SAL0C;AAM1CC,IAAAA,WAN0C;AAO1CC,IAAAA,uBAP0C;AAQ1CC,IAAAA,sBAR0C;AAS1CC,IAAAA,WAT0C;AAU1CC,IAAAA,oBAV0C;AAW1CC,IAAAA;AAX0C,GAYvC;AACH,QAAMC,SAAS,GAAG,QAAlB;AACA,QAAMC,SAAS,GAAG,QAAlB;AACA,QAAMC,2BAA2B,GAAG,+BAAkB,QAAlB,EAA4B,GAA5B,CAApC;AACA,MAAIC,SAAJ;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACC,MACCT,WAAW,IACTG,WAAW,IAAIL,gBADjB,IAEEC,SAAS,IAAI,CAAEF,gBAAf,IAAmC,CAAEW,2BAHxC,EAIE;AACDC,IAAAA,SAAS,GAAGF,SAAZ;AACA,GAND,MAMO,IAAKC,2BAAL,EAAmC;AACzCC,IAAAA,SAAS,GAAGH,SAAZ;AACA,GAFM,MAEA,IAAKL,uBAAL,EAA+B;AACrCQ,IAAAA,SAAS,GAAGH,SAAZ;AACA,GAFM,MAEA;AACNG,IAAAA,SAAS,GAAGF,SAAZ;AACA;;AAED,SACC,4BAAC,yBAAD;AACC,IAAA,YAAY,EAAGZ,YADhB;AAEC,IAAA,aAAa,EAAGC,aAFjB;AAGC,IAAA,MAAM,EAAGM,sBAHV;AAIC,IAAA,QAAQ,EAAGO,SAAS,KAAKH,SAJ1B;AAKC,IAAA,QAAQ,EAAGF,oBALZ;AAMC,IAAA,8BAA8B,EAAGC;AANlC,IADD;AAUA;;eAEc,sBACd,sBAAcK,MAAF;AAAA;;AAAA,SAAgB;AAC3Bb,IAAAA,gBAAgB,qDACfa,MAAM,CAAEC,aAAF,CAAN,CAAsBC,cAAtB,EADe,qFACf,uBAAwCC,MADzB,2DACf,uBACC,mBADD,CADe,yEAGV,KAJqB;AAK3Bf,IAAAA,gBAAgB,EAAEY,MAAM,CAAEC,aAAF,CAAN,CAAsBG,0BAAtB,EALS;AAM3Bf,IAAAA,SAAS,EAAEW,MAAM,CAAEC,aAAF,CAAN,CAAsBI,oBAAtB,EANgB;AAO3Bf,IAAAA,WAAW,EAAEU,MAAM,CAAEC,aAAF,CAAN,CAAsBK,sBAAtB,EAPc;AAQ3Bf,IAAAA,uBAAuB,EACtBS,MAAM,CAAEC,aAAF,CAAN,CAAsBV,uBAAtB,EAT0B;AAU3BC,IAAAA,sBAAsB,EACrBQ,MAAM,CAAEO,YAAF,CAAN,CAAwBf,sBAAxB,EAX0B;AAY3BC,IAAAA,WAAW,EAAEO,MAAM,CAAEC,aAAF,CAAN,CAAsBO,sBAAtB;AAZc,GAAhB;AAAA,CAAZ,CADc,EAed,wBAAgBC,QAAF,IAAgB;AAC7B,QAAM;AAAEf,IAAAA;AAAF,MAA2Be,QAAQ,CAAEF,YAAF,CAAzC;AACA,SAAO;AACNb,IAAAA;AADM,GAAP;AAGA,CALD,CAfc,EAqBZV,yBArBY,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch, compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { PostPublishButton, store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport function PostPublishButtonOrToggle( {\n\tforceIsDirty,\n\tforceIsSaving,\n\thasPublishAction,\n\tisBeingScheduled,\n\tisPending,\n\tisPublished,\n\tisPublishSidebarEnabled,\n\tisPublishSidebarOpened,\n\tisScheduled,\n\ttogglePublishSidebar,\n\tsetEntitiesSavedStatesCallback,\n} ) {\n\tconst IS_TOGGLE = 'toggle';\n\tconst IS_BUTTON = 'button';\n\tconst isSmallerThanMediumViewport = useViewportMatch( 'medium', '<' );\n\tlet component;\n\n\t/**\n\t * Conditions to show a BUTTON (publish directly) or a TOGGLE (open publish sidebar):\n\t *\n\t * 1) We want to show a BUTTON when the post status is at the _final stage_\n\t * for a particular role (see https://wordpress.org/documentation/article/post-status/):\n\t *\n\t * - is published\n\t * - is scheduled to be published\n\t * - is pending and can't be published (but only for viewports >= medium).\n\t * \t Originally, we considered showing a button for pending posts that couldn't be published\n\t * \t (for example, for an author with the contributor role). Some languages can have\n\t * \t long translations for \"Submit for review\", so given the lack of UI real estate available\n\t * \t we decided to take into account the viewport in that case.\n\t * \t See: https://github.com/WordPress/gutenberg/issues/10475\n\t *\n\t * 2) Then, in small viewports, we'll show a TOGGLE.\n\t *\n\t * 3) Finally, we'll use the publish sidebar status to decide:\n\t *\n\t * - if it is enabled, we show a TOGGLE\n\t * - if it is disabled, we show a BUTTON\n\t */\n\tif (\n\t\tisPublished ||\n\t\t( isScheduled && isBeingScheduled ) ||\n\t\t( isPending && ! hasPublishAction && ! isSmallerThanMediumViewport )\n\t) {\n\t\tcomponent = IS_BUTTON;\n\t} else if ( isSmallerThanMediumViewport ) {\n\t\tcomponent = IS_TOGGLE;\n\t} else if ( isPublishSidebarEnabled ) {\n\t\tcomponent = IS_TOGGLE;\n\t} else {\n\t\tcomponent = IS_BUTTON;\n\t}\n\n\treturn (\n\t\t<PostPublishButton\n\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\tforceIsSaving={ forceIsSaving }\n\t\t\tisOpen={ isPublishSidebarOpened }\n\t\t\tisToggle={ component === IS_TOGGLE }\n\t\t\tonToggle={ togglePublishSidebar }\n\t\t\tsetEntitiesSavedStatesCallback={ setEntitiesSavedStatesCallback }\n\t\t/>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\thasPublishAction:\n\t\t\tselect( editorStore ).getCurrentPost()?._links?.[\n\t\t\t\t'wp:action-publish'\n\t\t\t] ?? false,\n\t\tisBeingScheduled: select( editorStore ).isEditedPostBeingScheduled(),\n\t\tisPending: select( editorStore ).isCurrentPostPending(),\n\t\tisPublished: select( editorStore ).isCurrentPostPublished(),\n\t\tisPublishSidebarEnabled:\n\t\t\tselect( editorStore ).isPublishSidebarEnabled(),\n\t\tisPublishSidebarOpened:\n\t\t\tselect( editPostStore ).isPublishSidebarOpened(),\n\t\tisScheduled: select( editorStore ).isCurrentPostScheduled(),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { togglePublishSidebar } = dispatch( editPostStore );\n\t\treturn {\n\t\t\ttogglePublishSidebar,\n\t\t};\n\t} )\n)( PostPublishButtonOrToggle );\n"]}
@@ -100,7 +100,6 @@ function ListViewSidebar() {
100
100
  });
101
101
  return (// eslint-disable-next-line jsx-a11y/no-static-element-interactions
102
102
  (0, _element.createElement)("div", {
103
- "aria-label": (0, _i18n.__)('Document Overview'),
104
103
  className: "edit-post-editor__document-overview-panel",
105
104
  onKeyDown: closeOnEscape,
106
105
  ref: sidebarRef
@@ -109,7 +108,7 @@ function ListViewSidebar() {
109
108
  ref: headerFocusReturnRef
110
109
  }, (0, _element.createElement)(_components.Button, {
111
110
  icon: _icons.closeSmall,
112
- label: (0, _i18n.__)('Close Document Overview Sidebar'),
111
+ label: (0, _i18n.__)('Close'),
113
112
  onClick: () => setIsListViewOpened(false)
114
113
  }), (0, _element.createElement)("ul", null, (0, _element.createElement)("li", null, (0, _element.createElement)(_components.Button, {
115
114
  ref: listViewTabRef,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/secondary-sidebar/list-view-sidebar.js"],"names":["ListViewSidebar","setIsListViewOpened","editPostStore","focusOnMountRef","headerFocusReturnRef","contentFocusReturnRef","closeOnEscape","event","keyCode","ESCAPE","defaultPrevented","preventDefault","tab","setTab","sidebarRef","listViewTabRef","outlineTabRef","listViewRef","handleSidebarFocus","currentTab","listViewApplicationFocus","focus","tabbable","find","current","listViewFocusArea","contains","ownerDocument","activeElement","closeSmall"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalListView as ListView } from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport {\n\tuseFocusOnMount,\n\tuseFocusReturn,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { focus } from '@wordpress/dom';\nimport { useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\nimport ListViewOutline from './list-view-outline';\n\nexport default function ListViewSidebar() {\n\tconst { setIsListViewOpened } = useDispatch( editPostStore );\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst headerFocusReturnRef = useFocusReturn();\n\tconst contentFocusReturnRef = useFocusReturn();\n\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 [ tab, setTab ] = useState( 'list-view' );\n\n\t// This ref refers to the sidebar as a whole.\n\tconst sidebarRef = useRef();\n\t// This ref refers to the list view tab button.\n\tconst listViewTabRef = useRef();\n\t// This ref refers to the outline tab button.\n\tconst outlineTabRef = useRef();\n\t// This ref refers to the list view application area.\n\tconst listViewRef = useRef();\n\n\t/*\n\t * Callback function to handle list view or outline focus.\n\t *\n\t * @param {string} currentTab The current tab. Either list view or outline.\n\t *\n\t * @return void\n\t */\n\tfunction handleSidebarFocus( currentTab ) {\n\t\t// List view tab is selected.\n\t\tif ( currentTab === 'list-view' ) {\n\t\t\t// Either focus the list view or the list view tab button. Must have a fallback because the list view does not render when there are no blocks.\n\t\t\tconst listViewApplicationFocus = focus.tabbable.find(\n\t\t\t\tlistViewRef.current\n\t\t\t)[ 0 ];\n\t\t\tconst listViewFocusArea = sidebarRef.current.contains(\n\t\t\t\tlistViewApplicationFocus\n\t\t\t)\n\t\t\t\t? listViewApplicationFocus\n\t\t\t\t: listViewTabRef.current;\n\t\t\tlistViewFocusArea.focus();\n\t\t\t// Outline tab is selected.\n\t\t} else {\n\t\t\toutlineTabRef.current.focus();\n\t\t}\n\t}\n\n\t// This only fires when the sidebar is open because of the conditional rendering. It is the same shortcut to open but that is defined as a global shortcut and only fires when the sidebar is closed.\n\tuseShortcut( 'core/edit-post/toggle-list-view', () => {\n\t\t// If the sidebar has focus, it is safe to close.\n\t\tif (\n\t\t\tsidebarRef.current.contains(\n\t\t\t\tsidebarRef.current.ownerDocument.activeElement\n\t\t\t)\n\t\t) {\n\t\t\tsetIsListViewOpened( false );\n\t\t\t// If the list view or outline does not have focus, focus should be moved to it.\n\t\t} else {\n\t\t\thandleSidebarFocus( tab );\n\t\t}\n\t} );\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\taria-label={ __( 'Document Overview' ) }\n\t\t\tclassName=\"edit-post-editor__document-overview-panel\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t\tref={ sidebarRef }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-post-editor__document-overview-panel-header components-panel__header edit-post-sidebar__panel-tabs\"\n\t\t\t\tref={ headerFocusReturnRef }\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Close Document Overview Sidebar' ) }\n\t\t\t\t\tonClick={ () => setIsListViewOpened( false ) }\n\t\t\t\t/>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ listViewTabRef }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetTab( 'list-view' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-post-sidebar__panel-tab',\n\t\t\t\t\t\t\t\t{ 'is-active': tab === 'list-view' }\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\taria-current={ tab === 'list-view' }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'List View' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ outlineTabRef }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetTab( 'outline' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-post-sidebar__panel-tab',\n\t\t\t\t\t\t\t\t{ 'is-active': tab === 'outline' }\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\taria-current={ tab === 'outline' }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Outline' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\tcontentFocusReturnRef,\n\t\t\t\t\tfocusOnMountRef,\n\t\t\t\t\tlistViewRef,\n\t\t\t\t] ) }\n\t\t\t\tclassName=\"edit-post-editor__list-view-container\"\n\t\t\t>\n\t\t\t\t{ tab === 'list-view' && (\n\t\t\t\t\t<div className=\"edit-post-editor__list-view-panel-content\">\n\t\t\t\t\t\t<ListView />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ tab === 'outline' && <ListViewOutline /> }\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":["ListViewSidebar","setIsListViewOpened","editPostStore","focusOnMountRef","headerFocusReturnRef","contentFocusReturnRef","closeOnEscape","event","keyCode","ESCAPE","defaultPrevented","preventDefault","tab","setTab","sidebarRef","listViewTabRef","outlineTabRef","listViewRef","handleSidebarFocus","currentTab","listViewApplicationFocus","focus","tabbable","find","current","listViewFocusArea","contains","ownerDocument","activeElement","closeSmall"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalListView as ListView } from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport {\n\tuseFocusOnMount,\n\tuseFocusReturn,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { focus } from '@wordpress/dom';\nimport { useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\nimport ListViewOutline from './list-view-outline';\n\nexport default function ListViewSidebar() {\n\tconst { setIsListViewOpened } = useDispatch( editPostStore );\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst headerFocusReturnRef = useFocusReturn();\n\tconst contentFocusReturnRef = useFocusReturn();\n\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 [ tab, setTab ] = useState( 'list-view' );\n\n\t// This ref refers to the sidebar as a whole.\n\tconst sidebarRef = useRef();\n\t// This ref refers to the list view tab button.\n\tconst listViewTabRef = useRef();\n\t// This ref refers to the outline tab button.\n\tconst outlineTabRef = useRef();\n\t// This ref refers to the list view application area.\n\tconst listViewRef = useRef();\n\n\t/*\n\t * Callback function to handle list view or outline focus.\n\t *\n\t * @param {string} currentTab The current tab. Either list view or outline.\n\t *\n\t * @return void\n\t */\n\tfunction handleSidebarFocus( currentTab ) {\n\t\t// List view tab is selected.\n\t\tif ( currentTab === 'list-view' ) {\n\t\t\t// Either focus the list view or the list view tab button. Must have a fallback because the list view does not render when there are no blocks.\n\t\t\tconst listViewApplicationFocus = focus.tabbable.find(\n\t\t\t\tlistViewRef.current\n\t\t\t)[ 0 ];\n\t\t\tconst listViewFocusArea = sidebarRef.current.contains(\n\t\t\t\tlistViewApplicationFocus\n\t\t\t)\n\t\t\t\t? listViewApplicationFocus\n\t\t\t\t: listViewTabRef.current;\n\t\t\tlistViewFocusArea.focus();\n\t\t\t// Outline tab is selected.\n\t\t} else {\n\t\t\toutlineTabRef.current.focus();\n\t\t}\n\t}\n\n\t// This only fires when the sidebar is open because of the conditional rendering. It is the same shortcut to open but that is defined as a global shortcut and only fires when the sidebar is closed.\n\tuseShortcut( 'core/edit-post/toggle-list-view', () => {\n\t\t// If the sidebar has focus, it is safe to close.\n\t\tif (\n\t\t\tsidebarRef.current.contains(\n\t\t\t\tsidebarRef.current.ownerDocument.activeElement\n\t\t\t)\n\t\t) {\n\t\t\tsetIsListViewOpened( false );\n\t\t\t// If the list view or outline does not have focus, focus should be moved to it.\n\t\t} else {\n\t\t\thandleSidebarFocus( tab );\n\t\t}\n\t} );\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tclassName=\"edit-post-editor__document-overview-panel\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t\tref={ sidebarRef }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-post-editor__document-overview-panel-header components-panel__header edit-post-sidebar__panel-tabs\"\n\t\t\t\tref={ headerFocusReturnRef }\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\tonClick={ () => setIsListViewOpened( false ) }\n\t\t\t\t/>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ listViewTabRef }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetTab( 'list-view' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-post-sidebar__panel-tab',\n\t\t\t\t\t\t\t\t{ 'is-active': tab === 'list-view' }\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\taria-current={ tab === 'list-view' }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'List View' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ outlineTabRef }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetTab( 'outline' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-post-sidebar__panel-tab',\n\t\t\t\t\t\t\t\t{ 'is-active': tab === 'outline' }\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\taria-current={ tab === 'outline' }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Outline' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\tcontentFocusReturnRef,\n\t\t\t\t\tfocusOnMountRef,\n\t\t\t\t\tlistViewRef,\n\t\t\t\t] ) }\n\t\t\t\tclassName=\"edit-post-editor__list-view-container\"\n\t\t\t>\n\t\t\t\t{ tab === 'list-view' && (\n\t\t\t\t\t<div className=\"edit-post-editor__list-view-panel-content\">\n\t\t\t\t\t\t<ListView />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ tab === 'outline' && <ListViewOutline /> }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -165,16 +165,20 @@ function VisualEditor(_ref2) {
165
165
  } = (0, _data.useSelect)(_editor.store);
166
166
  const hasMetaBoxes = (0, _data.useSelect)(select => select(_store.store).hasMetaBoxes(), []);
167
167
  const {
168
+ hasRootPaddingAwareAlignments,
169
+ isFocusMode,
168
170
  themeHasDisabledLayoutStyles,
169
- themeSupportsLayout,
170
- isFocusMode
171
+ themeSupportsLayout
171
172
  } = (0, _data.useSelect)(select => {
173
+ var _settings$__experimen;
174
+
172
175
  const _settings = select(_blockEditor.store).getSettings();
173
176
 
174
177
  return {
175
178
  themeHasDisabledLayoutStyles: _settings.disableLayoutStyles,
176
179
  themeSupportsLayout: _settings.supportsLayout,
177
- isFocusMode: _settings.focusMode
180
+ isFocusMode: _settings.focusMode,
181
+ hasRootPaddingAwareAlignments: (_settings$__experimen = _settings.__experimentalFeatures) === null || _settings$__experimen === void 0 ? void 0 : _settings$__experimen.useRootPaddingAwareAlignments
178
182
  };
179
183
  }, []);
180
184
  const {
@@ -254,11 +258,14 @@ function VisualEditor(_ref2) {
254
258
  const parseableContent = typeof (editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.content) === 'string' ? editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.content : '';
255
259
  return getPostContentAttributes((0, _blocks.parse)(parseableContent)) || {};
256
260
  }, [editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.content, editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.blocks, postContentAttributes]);
257
- const layout = (newestPostContentAttributes === null || newestPostContentAttributes === void 0 ? void 0 : newestPostContentAttributes.layout) || {};
261
+ const {
262
+ layout = {},
263
+ align = ''
264
+ } = newestPostContentAttributes || {};
258
265
  const postContentLayoutClasses = (0, _blockEditor.__experimentaluseLayoutClasses)(newestPostContentAttributes, 'core/post-content');
259
266
  const blockListLayoutClass = (0, _classnames.default)({
260
267
  'is-layout-flow': !themeSupportsLayout
261
- }, themeSupportsLayout && postContentLayoutClasses);
268
+ }, themeSupportsLayout && postContentLayoutClasses, align && `align${align}`);
262
269
  const postContentLayoutStyles = (0, _blockEditor.__experimentaluseLayoutStyles)(newestPostContentAttributes, 'core/post-content', '.block-editor-block-list__layout.is-root-container'); // Update type for blocks using legacy layouts.
263
270
 
264
271
  const postContentLayout = (0, _element.useMemo)(() => {
@@ -286,7 +293,12 @@ function VisualEditor(_ref2) {
286
293
  styles = (0, _element.useMemo)(() => [...styles, {
287
294
  // We should move this in to future to the body.
288
295
  css: `.edit-post-visual-editor__post-title-wrapper{margin-top:4rem}` + (paddingBottom ? `body{padding-bottom:${paddingBottom}}` : '')
289
- }], [styles]);
296
+ }], [styles]); // Add some styles for alignwide/alignfull Post Content and its children.
297
+
298
+ const alignCSS = `.is-root-container.alignwide { max-width: var(--wp--style--global--wide-size); margin-left: auto; margin-right: auto;}
299
+ .is-root-container.alignwide:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--wide-size);}
300
+ .is-root-container.alignfull { max-width: none; margin-left: auto; margin-right: auto;}
301
+ .is-root-container.alignfull:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: none;}`;
290
302
  return (0, _element.createElement)(_blockEditor.BlockTools, {
291
303
  __unstableContentRef: ref,
292
304
  className: (0, _classnames.default)('edit-post-visual-editor', {
@@ -317,14 +329,17 @@ function VisualEditor(_ref2) {
317
329
  selector: ".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container",
318
330
  layout: fallbackLayout,
319
331
  layoutDefinitions: globalLayoutSettings === null || globalLayoutSettings === void 0 ? void 0 : globalLayoutSettings.definitions
332
+ }), align && (0, _element.createElement)(_blockEditor.__experimentalLayoutStyle, {
333
+ css: alignCSS
320
334
  }), postContentLayoutStyles && (0, _element.createElement)(_blockEditor.__experimentalLayoutStyle, {
321
335
  layout: postContentLayout,
322
336
  css: postContentLayoutStyles,
323
337
  layoutDefinitions: globalLayoutSettings === null || globalLayoutSettings === void 0 ? void 0 : globalLayoutSettings.definitions
324
338
  })), !isTemplateMode && (0, _element.createElement)("div", {
325
339
  className: (0, _classnames.default)('edit-post-visual-editor__post-title-wrapper', {
326
- 'is-focus-mode': isFocusMode
327
- }, 'is-layout-flow'),
340
+ 'is-focus-mode': isFocusMode,
341
+ 'has-global-padding': hasRootPaddingAwareAlignments
342
+ }),
328
343
  contentEditable: false
329
344
  }, (0, _element.createElement)(_editor.PostTitle, {
330
345
  ref: titleRef
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["isGutenbergPlugin","process","env","IS_GUTENBERG_PLUGIN","MaybeIframe","children","contentRef","shouldIframe","styles","style","ref","flex","width","height","display","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","isBlockBasedTheme","select","isFeatureActive","isEditingTemplate","getEditedPostTemplate","__experimentalGetPreviewDeviceType","editPostStore","getCurrentPostId","getCurrentPostType","getEditorSettings","editorStore","_isTemplateMode","_wrapperBlockName","editorSettings","supportsTemplateMode","canEditTemplate","coreStore","canUser","undefined","__unstableIsBlockBasedTheme","isCleanNewPost","hasMetaBoxes","themeHasDisabledLayoutStyles","themeSupportsLayout","isFocusMode","_settings","blockEditorStore","getSettings","disableLayoutStyles","supportsLayout","focusMode","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","globalLayoutSettings","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","fallbackLayout","type","newestPostContentAttributes","content","parseableContent","layout","postContentLayoutClasses","blockListLayoutClass","postContentLayoutStyles","postContentLayout","inherit","contentSize","wideSize","blockListLayout","titleRef","current","focus","css","padding","arrowLeft","definitions"],"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__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentaluseLayoutClasses as useLayoutClasses,\n\t__experimentaluseLayoutStyles as useLayoutStyles,\n} from '@wordpress/block-editor';\nimport { useEffect, 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';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nconst isGutenbergPlugin = process.env.IS_GUTENBERG_PLUGIN ? true : false;\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\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<EditorStyles styles={ styles } />\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\n/**\n * Given an array of nested blocks, find the first Post Content\n * block inside it, recursing through any nesting levels,\n * and return its attributes.\n *\n * @param {Array} blocks A list of blocks.\n *\n * @return {Object | undefined} The Post Content block.\n */\nfunction getPostContentAttributes( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn blocks[ i ].attributes;\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tconst nestedPostContent = getPostContentAttributes(\n\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t);\n\n\t\t\tif ( nestedPostContent ) {\n\t\t\t\treturn nestedPostContent;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tisBlockBasedTheme,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\tgetEditedPostTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType, getEditorSettings } =\n\t\t\tselect( 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\tconst editorSettings = getEditorSettings();\n\t\tconst supportsTemplateMode = editorSettings.supportsTemplateMode;\n\t\tconst canEditTemplate = select( coreStore ).canUser(\n\t\t\t'create',\n\t\t\t'templates'\n\t\t);\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\tpostContentAttributes: getEditorSettings().postContentAttributes,\n\t\t\t// Post template fetch returns a 404 on classic themes, which\n\t\t\t// messes with e2e tests, so check it's a block theme first.\n\t\t\teditedPostTemplate:\n\t\t\t\tsupportsTemplateMode && canEditTemplate\n\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tisBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme,\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst { themeHasDisabledLayoutStyles, themeSupportsLayout, isFocusMode } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\t\treturn {\n\t\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\t\tisFocusMode: _settings.focusMode,\n\t\t\t};\n\t\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\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 globalLayoutSettings = 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\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\t// fallbackLayout is used if there is no Post Content,\n\t// and for Post Title.\n\tconst fallbackLayout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...globalLayoutSettings, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [ isTemplateMode, themeSupportsLayout, globalLayoutSettings ] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\n\t\t\treturn postContentAttributes;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn getPostContentAttributes( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn getPostContentAttributes( parse( parseableContent ) ) || {};\n\t}, [\n\t\teditedPostTemplate?.content,\n\t\teditedPostTemplate?.blocks,\n\t\tpostContentAttributes,\n\t] );\n\n\tconst layout = newestPostContentAttributes?.layout || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = classnames(\n\t\t{\n\t\t\t'is-layout-flow': ! themeSupportsLayout,\n\t\t},\n\t\tthemeSupportsLayout && postContentLayoutClasses\n\t);\n\n\tconst postContentLayoutStyles = useLayoutStyles(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content',\n\t\t'.block-editor-block-list__layout.is-root-container'\n\t);\n\n\t// Update type for blocks using legacy layouts.\n\tconst postContentLayout = useMemo( () => {\n\t\treturn layout &&\n\t\t\t( layout?.type === 'constrained' ||\n\t\t\t\tlayout?.inherit ||\n\t\t\t\tlayout?.contentSize ||\n\t\t\t\tlayout?.wideSize )\n\t\t\t? { ...globalLayoutSettings, ...layout, type: 'constrained' }\n\t\t\t: { ...globalLayoutSettings, ...layout, type: 'default' };\n\t}, [\n\t\tlayout?.type,\n\t\tlayout?.inherit,\n\t\tlayout?.contentSize,\n\t\tlayout?.wideSize,\n\t\tglobalLayoutSettings,\n\t] );\n\n\t// If there is a Post Content block we use its layout for the block list;\n\t// if not, this must be a classic theme, in which case we use the fallback layout.\n\tconst blockListLayout = postContentAttributes\n\t\t? postContentLayout\n\t\t: fallbackLayout;\n\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\tstyles = useMemo(\n\t\t() => [\n\t\t\t...styles,\n\t\t\t{\n\t\t\t\t// We should move this in to future to the body.\n\t\t\t\tcss:\n\t\t\t\t\t`.edit-post-visual-editor__post-title-wrapper{margin-top:4rem}` +\n\t\t\t\t\t( paddingBottom\n\t\t\t\t\t\t? `body{padding-bottom:${ paddingBottom }}`\n\t\t\t\t\t\t: '' ),\n\t\t\t},\n\t\t],\n\t\t[ styles ]\n\t);\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\t( isGutenbergPlugin &&\n\t\t\t\t\t\t\t\tisBlockBasedTheme &&\n\t\t\t\t\t\t\t\t! hasMetaBoxes ) ||\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>\n\t\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\t\t! isTemplateMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\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\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\t\tglobalLayoutSettings?.definitions\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\t\t\tglobalLayoutSettings?.definitions\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'is-layout-flow'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\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\tblockName={ wrapperBlockName }\n\t\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t\t>\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: `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ blockListLayout }\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</BlockTools>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["isGutenbergPlugin","process","env","IS_GUTENBERG_PLUGIN","MaybeIframe","children","contentRef","shouldIframe","styles","style","ref","flex","width","height","display","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","isBlockBasedTheme","select","isFeatureActive","isEditingTemplate","getEditedPostTemplate","__experimentalGetPreviewDeviceType","editPostStore","getCurrentPostId","getCurrentPostType","getEditorSettings","editorStore","_isTemplateMode","_wrapperBlockName","editorSettings","supportsTemplateMode","canEditTemplate","coreStore","canUser","undefined","__unstableIsBlockBasedTheme","isCleanNewPost","hasMetaBoxes","hasRootPaddingAwareAlignments","isFocusMode","themeHasDisabledLayoutStyles","themeSupportsLayout","_settings","blockEditorStore","getSettings","disableLayoutStyles","supportsLayout","focusMode","__experimentalFeatures","useRootPaddingAwareAlignments","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","globalLayoutSettings","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","fallbackLayout","type","newestPostContentAttributes","content","parseableContent","layout","align","postContentLayoutClasses","blockListLayoutClass","postContentLayoutStyles","postContentLayout","inherit","contentSize","wideSize","blockListLayout","titleRef","current","focus","css","alignCSS","padding","arrowLeft","definitions"],"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__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentaluseLayoutClasses as useLayoutClasses,\n\t__experimentaluseLayoutStyles as useLayoutStyles,\n} from '@wordpress/block-editor';\nimport { useEffect, 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';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nconst isGutenbergPlugin = process.env.IS_GUTENBERG_PLUGIN ? true : false;\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\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<EditorStyles styles={ styles } />\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\n/**\n * Given an array of nested blocks, find the first Post Content\n * block inside it, recursing through any nesting levels,\n * and return its attributes.\n *\n * @param {Array} blocks A list of blocks.\n *\n * @return {Object | undefined} The Post Content block.\n */\nfunction getPostContentAttributes( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn blocks[ i ].attributes;\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tconst nestedPostContent = getPostContentAttributes(\n\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t);\n\n\t\t\tif ( nestedPostContent ) {\n\t\t\t\treturn nestedPostContent;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tisBlockBasedTheme,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\tgetEditedPostTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType, getEditorSettings } =\n\t\t\tselect( 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\tconst editorSettings = getEditorSettings();\n\t\tconst supportsTemplateMode = editorSettings.supportsTemplateMode;\n\t\tconst canEditTemplate = select( coreStore ).canUser(\n\t\t\t'create',\n\t\t\t'templates'\n\t\t);\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\tpostContentAttributes: getEditorSettings().postContentAttributes,\n\t\t\t// Post template fetch returns a 404 on classic themes, which\n\t\t\t// messes with e2e tests, so check it's a block theme first.\n\t\t\teditedPostTemplate:\n\t\t\t\tsupportsTemplateMode && canEditTemplate\n\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tisBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme,\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tisFocusMode,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t} = useSelect( ( select ) => {\n\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\tisFocusMode: _settings.focusMode,\n\t\t\thasRootPaddingAwareAlignments:\n\t\t\t\t_settings.__experimentalFeatures?.useRootPaddingAwareAlignments,\n\t\t};\n\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\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 globalLayoutSettings = 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\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\t// fallbackLayout is used if there is no Post Content,\n\t// and for Post Title.\n\tconst fallbackLayout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...globalLayoutSettings, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [ isTemplateMode, themeSupportsLayout, globalLayoutSettings ] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\n\t\t\treturn postContentAttributes;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn getPostContentAttributes( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn getPostContentAttributes( parse( parseableContent ) ) || {};\n\t}, [\n\t\teditedPostTemplate?.content,\n\t\teditedPostTemplate?.blocks,\n\t\tpostContentAttributes,\n\t] );\n\n\tconst { layout = {}, align = '' } = newestPostContentAttributes || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = classnames(\n\t\t{\n\t\t\t'is-layout-flow': ! themeSupportsLayout,\n\t\t},\n\t\tthemeSupportsLayout && postContentLayoutClasses,\n\t\talign && `align${ align }`\n\t);\n\n\tconst postContentLayoutStyles = useLayoutStyles(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content',\n\t\t'.block-editor-block-list__layout.is-root-container'\n\t);\n\n\t// Update type for blocks using legacy layouts.\n\tconst postContentLayout = useMemo( () => {\n\t\treturn layout &&\n\t\t\t( layout?.type === 'constrained' ||\n\t\t\t\tlayout?.inherit ||\n\t\t\t\tlayout?.contentSize ||\n\t\t\t\tlayout?.wideSize )\n\t\t\t? { ...globalLayoutSettings, ...layout, type: 'constrained' }\n\t\t\t: { ...globalLayoutSettings, ...layout, type: 'default' };\n\t}, [\n\t\tlayout?.type,\n\t\tlayout?.inherit,\n\t\tlayout?.contentSize,\n\t\tlayout?.wideSize,\n\t\tglobalLayoutSettings,\n\t] );\n\n\t// If there is a Post Content block we use its layout for the block list;\n\t// if not, this must be a classic theme, in which case we use the fallback layout.\n\tconst blockListLayout = postContentAttributes\n\t\t? postContentLayout\n\t\t: fallbackLayout;\n\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\tstyles = useMemo(\n\t\t() => [\n\t\t\t...styles,\n\t\t\t{\n\t\t\t\t// We should move this in to future to the body.\n\t\t\t\tcss:\n\t\t\t\t\t`.edit-post-visual-editor__post-title-wrapper{margin-top:4rem}` +\n\t\t\t\t\t( paddingBottom\n\t\t\t\t\t\t? `body{padding-bottom:${ paddingBottom }}`\n\t\t\t\t\t\t: '' ),\n\t\t\t},\n\t\t],\n\t\t[ styles ]\n\t);\n\n\t// Add some styles for alignwide/alignfull Post Content and its children.\n\tconst alignCSS = `.is-root-container.alignwide { max-width: var(--wp--style--global--wide-size); margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignwide:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--wide-size);}\n\t\t.is-root-container.alignfull { max-width: none; margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignfull:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: none;}`;\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\t( isGutenbergPlugin &&\n\t\t\t\t\t\t\t\tisBlockBasedTheme &&\n\t\t\t\t\t\t\t\t! hasMetaBoxes ) ||\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>\n\t\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\t\t! isTemplateMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\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\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\t\tglobalLayoutSettings?.definitions\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ align && (\n\t\t\t\t\t\t\t\t\t\t<LayoutStyle css={ alignCSS } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\t\t\tglobalLayoutSettings?.definitions\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\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\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\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\tblockName={ wrapperBlockName }\n\t\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t\t>\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: `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ blockListLayout }\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</BlockTools>\n\t);\n}\n"]}
@@ -11,18 +11,12 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _blockEditor = require("@wordpress/block-editor");
13
13
 
14
- var _reactNative = require("react-native");
15
-
16
14
  var _header = _interopRequireDefault(require("./header"));
17
15
 
18
16
  /**
19
17
  * WordPress dependencies
20
18
  */
21
19
 
22
- /**
23
- * External dependencies
24
- */
25
-
26
20
  /**
27
21
  * Internal dependencies
28
22
  */
@@ -30,33 +24,6 @@ class VisualEditor extends _element.Component {
30
24
  constructor(props) {
31
25
  super(props);
32
26
  this.renderHeader = this.renderHeader.bind(this);
33
- this.keyboardDidShow = this.keyboardDidShow.bind(this);
34
- this.keyboardDidHide = this.keyboardDidHide.bind(this);
35
- this.state = {
36
- isAutoScrollEnabled: true
37
- };
38
- }
39
-
40
- componentDidMount() {
41
- this.keyboardDidShow = _reactNative.Keyboard.addListener('keyboardDidShow', this.keyboardDidShow);
42
- this.keyboardDidHideListener = _reactNative.Keyboard.addListener('keyboardDidHide', this.keyboardDidHide);
43
- }
44
-
45
- componentWillUnmount() {
46
- this.keyboardDidShow.remove();
47
- this.keyboardDidHideListener.remove();
48
- }
49
-
50
- keyboardDidShow() {
51
- this.setState({
52
- isAutoScrollEnabled: false
53
- });
54
- }
55
-
56
- keyboardDidHide() {
57
- this.setState({
58
- isAutoScrollEnabled: true
59
- });
60
27
  }
61
28
 
62
29
  renderHeader() {
@@ -72,13 +39,9 @@ class VisualEditor extends _element.Component {
72
39
  const {
73
40
  safeAreaBottomInset
74
41
  } = this.props;
75
- const {
76
- isAutoScrollEnabled
77
- } = this.state;
78
42
  return (0, _element.createElement)(_blockEditor.BlockList, {
79
43
  header: this.renderHeader,
80
- safeAreaBottomInset: safeAreaBottomInset,
81
- autoScroll: isAutoScrollEnabled
44
+ safeAreaBottomInset: safeAreaBottomInset
82
45
  });
83
46
  }
84
47
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.native.js"],"names":["VisualEditor","Component","constructor","props","renderHeader","bind","keyboardDidShow","keyboardDidHide","state","isAutoScrollEnabled","componentDidMount","Keyboard","addListener","keyboardDidHideListener","componentWillUnmount","remove","setState","setTitleRef","render","safeAreaBottomInset"],"mappings":";;;;;;;;;AAGA;;AACA;;AAIA;;AAIA;;AAZA;AACA;AACA;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AAGe,MAAMA,YAAN,SAA2BC,kBAA3B,CAAqC;AACnDC,EAAAA,WAAW,CAAEC,KAAF,EAAU;AACpB,UAAOA,KAAP;AACA,SAAKC,YAAL,GAAoB,KAAKA,YAAL,CAAkBC,IAAlB,CAAwB,IAAxB,CAApB;AACA,SAAKC,eAAL,GAAuB,KAAKA,eAAL,CAAqBD,IAArB,CAA2B,IAA3B,CAAvB;AACA,SAAKE,eAAL,GAAuB,KAAKA,eAAL,CAAqBF,IAArB,CAA2B,IAA3B,CAAvB;AAEA,SAAKG,KAAL,GAAa;AACZC,MAAAA,mBAAmB,EAAE;AADT,KAAb;AAGA;;AAEDC,EAAAA,iBAAiB,GAAG;AACnB,SAAKJ,eAAL,GAAuBK,sBAASC,WAAT,CACtB,iBADsB,EAEtB,KAAKN,eAFiB,CAAvB;AAIA,SAAKO,uBAAL,GAA+BF,sBAASC,WAAT,CAC9B,iBAD8B,EAE9B,KAAKL,eAFyB,CAA/B;AAIA;;AAEDO,EAAAA,oBAAoB,GAAG;AACtB,SAAKR,eAAL,CAAqBS,MAArB;AACA,SAAKF,uBAAL,CAA6BE,MAA7B;AACA;;AAEDT,EAAAA,eAAe,GAAG;AACjB,SAAKU,QAAL,CAAe;AAAEP,MAAAA,mBAAmB,EAAE;AAAvB,KAAf;AACA;;AAEDF,EAAAA,eAAe,GAAG;AACjB,SAAKS,QAAL,CAAe;AAAEP,MAAAA,mBAAmB,EAAE;AAAvB,KAAf;AACA;;AAEDL,EAAAA,YAAY,GAAG;AACd,UAAM;AAAEa,MAAAA;AAAF,QAAkB,KAAKd,KAA7B;AACA,WAAO,4BAAC,eAAD;AAAQ,MAAA,WAAW,EAAGc;AAAtB,MAAP;AACA;;AAEDC,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEC,MAAAA;AAAF,QAA0B,KAAKhB,KAArC;AACA,UAAM;AAAEM,MAAAA;AAAF,QAA0B,KAAKD,KAArC;AAEA,WACC,4BAAC,sBAAD;AACC,MAAA,MAAM,EAAG,KAAKJ,YADf;AAEC,MAAA,mBAAmB,EAAGe,mBAFvB;AAGC,MAAA,UAAU,EAAGV;AAHd,MADD;AAOA;;AApDkD","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { BlockList } from '@wordpress/block-editor';\n/**\n * External dependencies\n */\nimport { Keyboard } from 'react-native';\n/**\n * Internal dependencies\n */\nimport Header from './header';\n\nexport default class VisualEditor extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.renderHeader = this.renderHeader.bind( this );\n\t\tthis.keyboardDidShow = this.keyboardDidShow.bind( this );\n\t\tthis.keyboardDidHide = this.keyboardDidHide.bind( this );\n\n\t\tthis.state = {\n\t\t\tisAutoScrollEnabled: true,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.keyboardDidShow = Keyboard.addListener(\n\t\t\t'keyboardDidShow',\n\t\t\tthis.keyboardDidShow\n\t\t);\n\t\tthis.keyboardDidHideListener = Keyboard.addListener(\n\t\t\t'keyboardDidHide',\n\t\t\tthis.keyboardDidHide\n\t\t);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.keyboardDidShow.remove();\n\t\tthis.keyboardDidHideListener.remove();\n\t}\n\n\tkeyboardDidShow() {\n\t\tthis.setState( { isAutoScrollEnabled: false } );\n\t}\n\n\tkeyboardDidHide() {\n\t\tthis.setState( { isAutoScrollEnabled: true } );\n\t}\n\n\trenderHeader() {\n\t\tconst { setTitleRef } = this.props;\n\t\treturn <Header setTitleRef={ setTitleRef } />;\n\t}\n\n\trender() {\n\t\tconst { safeAreaBottomInset } = this.props;\n\t\tconst { isAutoScrollEnabled } = this.state;\n\n\t\treturn (\n\t\t\t<BlockList\n\t\t\t\theader={ this.renderHeader }\n\t\t\t\tsafeAreaBottomInset={ safeAreaBottomInset }\n\t\t\t\tautoScroll={ isAutoScrollEnabled }\n\t\t\t/>\n\t\t);\n\t}\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.native.js"],"names":["VisualEditor","Component","constructor","props","renderHeader","bind","setTitleRef","render","safeAreaBottomInset"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGe,MAAMA,YAAN,SAA2BC,kBAA3B,CAAqC;AACnDC,EAAAA,WAAW,CAAEC,KAAF,EAAU;AACpB,UAAOA,KAAP;AACA,SAAKC,YAAL,GAAoB,KAAKA,YAAL,CAAkBC,IAAlB,CAAwB,IAAxB,CAApB;AACA;;AAEDD,EAAAA,YAAY,GAAG;AACd,UAAM;AAAEE,MAAAA;AAAF,QAAkB,KAAKH,KAA7B;AACA,WAAO,4BAAC,eAAD;AAAQ,MAAA,WAAW,EAAGG;AAAtB,MAAP;AACA;;AAEDC,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEC,MAAAA;AAAF,QAA0B,KAAKL,KAArC;AAEA,WACC,4BAAC,sBAAD;AACC,MAAA,MAAM,EAAG,KAAKC,YADf;AAEC,MAAA,mBAAmB,EAAGI;AAFvB,MADD;AAMA;;AApBkD","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { BlockList } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport Header from './header';\n\nexport default class VisualEditor extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.renderHeader = this.renderHeader.bind( this );\n\t}\n\n\trenderHeader() {\n\t\tconst { setTitleRef } = this.props;\n\t\treturn <Header setTitleRef={ setTitleRef } />;\n\t}\n\n\trender() {\n\t\tconst { safeAreaBottomInset } = this.props;\n\n\t\treturn (\n\t\t\t<BlockList\n\t\t\t\theader={ this.renderHeader }\n\t\t\t\tsafeAreaBottomInset={ safeAreaBottomInset }\n\t\t\t/>\n\t\t);\n\t}\n}\n"]}
@@ -45,7 +45,7 @@ var _welcomeGuideMenuItem = _interopRequireDefault(require("./welcome-guide-menu
45
45
  }), (0, _element.createElement)(_welcomeGuideMenuItem.default, null), (0, _element.createElement)(_copyContentMenuItem.default, null), (0, _element.createElement)(_components.MenuItem, {
46
46
  role: "menuitem",
47
47
  icon: _icons.external,
48
- href: (0, _i18n.__)('https://wordpress.org/support/article/wordpress-editor/'),
48
+ href: (0, _i18n.__)('https://wordpress.org/documentation/article/wordpress-block-editor/'),
49
49
  target: "_blank",
50
50
  rel: "noopener noreferrer"
51
51
  }, (0, _i18n.__)('Help'), (0, _element.createElement)(_components.VisuallyHidden, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/plugins/index.js"],"names":["render","onClose","post_type","external"],"mappings":";;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAfA;AACA;AACA;;AAOA;AACA;AACA;AAMA,6BAAgB,WAAhB,EAA6B;AAC5BA,EAAAA,MAAM,GAAG;AACR,WACC,qDACC,4BAAC,2BAAD,QACG;AAAA,UAAE;AAAEC,QAAAA;AAAF,OAAF;AAAA,aACD,qDACC,4BAAC,oBAAD;AACC,QAAA,IAAI,EAAC,UADN;AAEC,QAAA,IAAI,EAAG,uBAAc,UAAd,EAA0B;AAChCC,UAAAA,SAAS,EAAE;AADqB,SAA1B;AAFR,SAMG,cAAI,wBAAJ,CANH,CADD,EASC,4BAAC,sCAAD;AACC,QAAA,QAAQ,EAAGD;AADZ,QATD,EAYC,4BAAC,6BAAD,OAZD,EAaC,4BAAC,4BAAD,OAbD,EAcC,4BAAC,oBAAD;AACC,QAAA,IAAI,EAAC,UADN;AAEC,QAAA,IAAI,EAAGE,eAFR;AAGC,QAAA,IAAI,EAAG,cACN,yDADM,CAHR;AAMC,QAAA,MAAM,EAAC,QANR;AAOC,QAAA,GAAG,EAAC;AAPL,SASG,cAAI,MAAJ,CATH,EAUC,4BAAC,0BAAD;AAAgB,QAAA,EAAE,EAAC;AAAnB;AAEE;AACA,oBAAI,sBAAJ,CAHF,CAVD,CAdD,CADC;AAAA,KADH,CADD,CADD;AAwCA;;AA1C2B,CAA7B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem, VisuallyHidden } from '@wordpress/components';\nimport { external } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { registerPlugin } from '@wordpress/plugins';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport CopyContentMenuItem from './copy-content-menu-item';\nimport KeyboardShortcutsHelpMenuItem from './keyboard-shortcuts-help-menu-item';\nimport ToolsMoreMenuGroup from '../components/header/tools-more-menu-group';\nimport WelcomeGuideMenuItem from './welcome-guide-menu-item';\n\nregisterPlugin( 'edit-post', {\n\trender() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ToolsMoreMenuGroup>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\t\tpost_type: 'wp_block',\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Manage Reusable blocks' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t<KeyboardShortcutsHelpMenuItem\n\t\t\t\t\t\t\t\tonSelect={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<WelcomeGuideMenuItem />\n\t\t\t\t\t\t\t<CopyContentMenuItem />\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t'https://wordpress.org/support/article/wordpress-editor/'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Help' ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsMoreMenuGroup>\n\t\t\t</>\n\t\t);\n\t},\n} );\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/plugins/index.js"],"names":["render","onClose","post_type","external"],"mappings":";;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAfA;AACA;AACA;;AAOA;AACA;AACA;AAMA,6BAAgB,WAAhB,EAA6B;AAC5BA,EAAAA,MAAM,GAAG;AACR,WACC,qDACC,4BAAC,2BAAD,QACG;AAAA,UAAE;AAAEC,QAAAA;AAAF,OAAF;AAAA,aACD,qDACC,4BAAC,oBAAD;AACC,QAAA,IAAI,EAAC,UADN;AAEC,QAAA,IAAI,EAAG,uBAAc,UAAd,EAA0B;AAChCC,UAAAA,SAAS,EAAE;AADqB,SAA1B;AAFR,SAMG,cAAI,wBAAJ,CANH,CADD,EASC,4BAAC,sCAAD;AACC,QAAA,QAAQ,EAAGD;AADZ,QATD,EAYC,4BAAC,6BAAD,OAZD,EAaC,4BAAC,4BAAD,OAbD,EAcC,4BAAC,oBAAD;AACC,QAAA,IAAI,EAAC,UADN;AAEC,QAAA,IAAI,EAAGE,eAFR;AAGC,QAAA,IAAI,EAAG,cACN,qEADM,CAHR;AAMC,QAAA,MAAM,EAAC,QANR;AAOC,QAAA,GAAG,EAAC;AAPL,SASG,cAAI,MAAJ,CATH,EAUC,4BAAC,0BAAD;AAAgB,QAAA,EAAE,EAAC;AAAnB;AAEE;AACA,oBAAI,sBAAJ,CAHF,CAVD,CAdD,CADC;AAAA,KADH,CADD,CADD;AAwCA;;AA1C2B,CAA7B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem, VisuallyHidden } from '@wordpress/components';\nimport { external } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { registerPlugin } from '@wordpress/plugins';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport CopyContentMenuItem from './copy-content-menu-item';\nimport KeyboardShortcutsHelpMenuItem from './keyboard-shortcuts-help-menu-item';\nimport ToolsMoreMenuGroup from '../components/header/tools-more-menu-group';\nimport WelcomeGuideMenuItem from './welcome-guide-menu-item';\n\nregisterPlugin( 'edit-post', {\n\trender() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ToolsMoreMenuGroup>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\t\tpost_type: 'wp_block',\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Manage Reusable blocks' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t<KeyboardShortcutsHelpMenuItem\n\t\t\t\t\t\t\t\tonSelect={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<WelcomeGuideMenuItem />\n\t\t\t\t\t\t\t<CopyContentMenuItem />\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/wordpress-block-editor/'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Help' ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsMoreMenuGroup>\n\t\t\t</>\n\t\t);\n\t},\n} );\n"]}
@@ -33,7 +33,7 @@ export function PostPublishButtonOrToggle(_ref) {
33
33
  * Conditions to show a BUTTON (publish directly) or a TOGGLE (open publish sidebar):
34
34
  *
35
35
  * 1) We want to show a BUTTON when the post status is at the _final stage_
36
- * for a particular role (see https://wordpress.org/support/article/post-status/):
36
+ * for a particular role (see https://wordpress.org/documentation/article/post-status/):
37
37
  *
38
38
  * - is published
39
39
  * - is scheduled to be published
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/header/post-publish-button-or-toggle.js"],"names":["useViewportMatch","compose","withDispatch","withSelect","PostPublishButton","store","editorStore","editPostStore","PostPublishButtonOrToggle","forceIsDirty","forceIsSaving","hasPublishAction","isBeingScheduled","isPending","isPublished","isPublishSidebarEnabled","isPublishSidebarOpened","isScheduled","togglePublishSidebar","setEntitiesSavedStatesCallback","IS_TOGGLE","IS_BUTTON","isSmallerThanMediumViewport","component","select","getCurrentPost","_links","isEditedPostBeingScheduled","isCurrentPostPending","isCurrentPostPublished","isCurrentPostScheduled","dispatch"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,gBAAT,EAA2BC,OAA3B,QAA0C,oBAA1C;AACA,SAASC,YAAT,EAAuBC,UAAvB,QAAyC,iBAAzC;AACA,SAASC,iBAAT,EAA4BC,KAAK,IAAIC,WAArC,QAAwD,mBAAxD;AAEA;AACA;AACA;;AACA,SAASD,KAAK,IAAIE,aAAlB,QAAuC,aAAvC;AAEA,OAAO,SAASC,yBAAT,OAYH;AAAA,MAZuC;AAC1CC,IAAAA,YAD0C;AAE1CC,IAAAA,aAF0C;AAG1CC,IAAAA,gBAH0C;AAI1CC,IAAAA,gBAJ0C;AAK1CC,IAAAA,SAL0C;AAM1CC,IAAAA,WAN0C;AAO1CC,IAAAA,uBAP0C;AAQ1CC,IAAAA,sBAR0C;AAS1CC,IAAAA,WAT0C;AAU1CC,IAAAA,oBAV0C;AAW1CC,IAAAA;AAX0C,GAYvC;AACH,QAAMC,SAAS,GAAG,QAAlB;AACA,QAAMC,SAAS,GAAG,QAAlB;AACA,QAAMC,2BAA2B,GAAGtB,gBAAgB,CAAE,QAAF,EAAY,GAAZ,CAApD;AACA,MAAIuB,SAAJ;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACC,MACCT,WAAW,IACTG,WAAW,IAAIL,gBADjB,IAEEC,SAAS,IAAI,CAAEF,gBAAf,IAAmC,CAAEW,2BAHxC,EAIE;AACDC,IAAAA,SAAS,GAAGF,SAAZ;AACA,GAND,MAMO,IAAKC,2BAAL,EAAmC;AACzCC,IAAAA,SAAS,GAAGH,SAAZ;AACA,GAFM,MAEA,IAAKL,uBAAL,EAA+B;AACrCQ,IAAAA,SAAS,GAAGH,SAAZ;AACA,GAFM,MAEA;AACNG,IAAAA,SAAS,GAAGF,SAAZ;AACA;;AAED,SACC,cAAC,iBAAD;AACC,IAAA,YAAY,EAAGZ,YADhB;AAEC,IAAA,aAAa,EAAGC,aAFjB;AAGC,IAAA,MAAM,EAAGM,sBAHV;AAIC,IAAA,QAAQ,EAAGO,SAAS,KAAKH,SAJ1B;AAKC,IAAA,QAAQ,EAAGF,oBALZ;AAMC,IAAA,8BAA8B,EAAGC;AANlC,IADD;AAUA;AAED,eAAelB,OAAO,CACrBE,UAAU,CAAIqB,MAAF;AAAA;;AAAA,SAAgB;AAC3Bb,IAAAA,gBAAgB,qDACfa,MAAM,CAAElB,WAAF,CAAN,CAAsBmB,cAAtB,EADe,qFACf,uBAAwCC,MADzB,2DACf,uBACC,mBADD,CADe,yEAGV,KAJqB;AAK3Bd,IAAAA,gBAAgB,EAAEY,MAAM,CAAElB,WAAF,CAAN,CAAsBqB,0BAAtB,EALS;AAM3Bd,IAAAA,SAAS,EAAEW,MAAM,CAAElB,WAAF,CAAN,CAAsBsB,oBAAtB,EANgB;AAO3Bd,IAAAA,WAAW,EAAEU,MAAM,CAAElB,WAAF,CAAN,CAAsBuB,sBAAtB,EAPc;AAQ3Bd,IAAAA,uBAAuB,EACtBS,MAAM,CAAElB,WAAF,CAAN,CAAsBS,uBAAtB,EAT0B;AAU3BC,IAAAA,sBAAsB,EACrBQ,MAAM,CAAEjB,aAAF,CAAN,CAAwBS,sBAAxB,EAX0B;AAY3BC,IAAAA,WAAW,EAAEO,MAAM,CAAElB,WAAF,CAAN,CAAsBwB,sBAAtB;AAZc,GAAhB;AAAA,CAAF,CADW,EAerB5B,YAAY,CAAI6B,QAAF,IAAgB;AAC7B,QAAM;AAAEb,IAAAA;AAAF,MAA2Ba,QAAQ,CAAExB,aAAF,CAAzC;AACA,SAAO;AACNW,IAAAA;AADM,GAAP;AAGA,CALW,CAfS,CAAP,CAqBZV,yBArBY,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch, compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { PostPublishButton, store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport function PostPublishButtonOrToggle( {\n\tforceIsDirty,\n\tforceIsSaving,\n\thasPublishAction,\n\tisBeingScheduled,\n\tisPending,\n\tisPublished,\n\tisPublishSidebarEnabled,\n\tisPublishSidebarOpened,\n\tisScheduled,\n\ttogglePublishSidebar,\n\tsetEntitiesSavedStatesCallback,\n} ) {\n\tconst IS_TOGGLE = 'toggle';\n\tconst IS_BUTTON = 'button';\n\tconst isSmallerThanMediumViewport = useViewportMatch( 'medium', '<' );\n\tlet component;\n\n\t/**\n\t * Conditions to show a BUTTON (publish directly) or a TOGGLE (open publish sidebar):\n\t *\n\t * 1) We want to show a BUTTON when the post status is at the _final stage_\n\t * for a particular role (see https://wordpress.org/support/article/post-status/):\n\t *\n\t * - is published\n\t * - is scheduled to be published\n\t * - is pending and can't be published (but only for viewports >= medium).\n\t * \t Originally, we considered showing a button for pending posts that couldn't be published\n\t * \t (for example, for an author with the contributor role). Some languages can have\n\t * \t long translations for \"Submit for review\", so given the lack of UI real estate available\n\t * \t we decided to take into account the viewport in that case.\n\t * \t See: https://github.com/WordPress/gutenberg/issues/10475\n\t *\n\t * 2) Then, in small viewports, we'll show a TOGGLE.\n\t *\n\t * 3) Finally, we'll use the publish sidebar status to decide:\n\t *\n\t * - if it is enabled, we show a TOGGLE\n\t * - if it is disabled, we show a BUTTON\n\t */\n\tif (\n\t\tisPublished ||\n\t\t( isScheduled && isBeingScheduled ) ||\n\t\t( isPending && ! hasPublishAction && ! isSmallerThanMediumViewport )\n\t) {\n\t\tcomponent = IS_BUTTON;\n\t} else if ( isSmallerThanMediumViewport ) {\n\t\tcomponent = IS_TOGGLE;\n\t} else if ( isPublishSidebarEnabled ) {\n\t\tcomponent = IS_TOGGLE;\n\t} else {\n\t\tcomponent = IS_BUTTON;\n\t}\n\n\treturn (\n\t\t<PostPublishButton\n\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\tforceIsSaving={ forceIsSaving }\n\t\t\tisOpen={ isPublishSidebarOpened }\n\t\t\tisToggle={ component === IS_TOGGLE }\n\t\t\tonToggle={ togglePublishSidebar }\n\t\t\tsetEntitiesSavedStatesCallback={ setEntitiesSavedStatesCallback }\n\t\t/>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\thasPublishAction:\n\t\t\tselect( editorStore ).getCurrentPost()?._links?.[\n\t\t\t\t'wp:action-publish'\n\t\t\t] ?? false,\n\t\tisBeingScheduled: select( editorStore ).isEditedPostBeingScheduled(),\n\t\tisPending: select( editorStore ).isCurrentPostPending(),\n\t\tisPublished: select( editorStore ).isCurrentPostPublished(),\n\t\tisPublishSidebarEnabled:\n\t\t\tselect( editorStore ).isPublishSidebarEnabled(),\n\t\tisPublishSidebarOpened:\n\t\t\tselect( editPostStore ).isPublishSidebarOpened(),\n\t\tisScheduled: select( editorStore ).isCurrentPostScheduled(),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { togglePublishSidebar } = dispatch( editPostStore );\n\t\treturn {\n\t\t\ttogglePublishSidebar,\n\t\t};\n\t} )\n)( PostPublishButtonOrToggle );\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/header/post-publish-button-or-toggle.js"],"names":["useViewportMatch","compose","withDispatch","withSelect","PostPublishButton","store","editorStore","editPostStore","PostPublishButtonOrToggle","forceIsDirty","forceIsSaving","hasPublishAction","isBeingScheduled","isPending","isPublished","isPublishSidebarEnabled","isPublishSidebarOpened","isScheduled","togglePublishSidebar","setEntitiesSavedStatesCallback","IS_TOGGLE","IS_BUTTON","isSmallerThanMediumViewport","component","select","getCurrentPost","_links","isEditedPostBeingScheduled","isCurrentPostPending","isCurrentPostPublished","isCurrentPostScheduled","dispatch"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,gBAAT,EAA2BC,OAA3B,QAA0C,oBAA1C;AACA,SAASC,YAAT,EAAuBC,UAAvB,QAAyC,iBAAzC;AACA,SAASC,iBAAT,EAA4BC,KAAK,IAAIC,WAArC,QAAwD,mBAAxD;AAEA;AACA;AACA;;AACA,SAASD,KAAK,IAAIE,aAAlB,QAAuC,aAAvC;AAEA,OAAO,SAASC,yBAAT,OAYH;AAAA,MAZuC;AAC1CC,IAAAA,YAD0C;AAE1CC,IAAAA,aAF0C;AAG1CC,IAAAA,gBAH0C;AAI1CC,IAAAA,gBAJ0C;AAK1CC,IAAAA,SAL0C;AAM1CC,IAAAA,WAN0C;AAO1CC,IAAAA,uBAP0C;AAQ1CC,IAAAA,sBAR0C;AAS1CC,IAAAA,WAT0C;AAU1CC,IAAAA,oBAV0C;AAW1CC,IAAAA;AAX0C,GAYvC;AACH,QAAMC,SAAS,GAAG,QAAlB;AACA,QAAMC,SAAS,GAAG,QAAlB;AACA,QAAMC,2BAA2B,GAAGtB,gBAAgB,CAAE,QAAF,EAAY,GAAZ,CAApD;AACA,MAAIuB,SAAJ;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACC,MACCT,WAAW,IACTG,WAAW,IAAIL,gBADjB,IAEEC,SAAS,IAAI,CAAEF,gBAAf,IAAmC,CAAEW,2BAHxC,EAIE;AACDC,IAAAA,SAAS,GAAGF,SAAZ;AACA,GAND,MAMO,IAAKC,2BAAL,EAAmC;AACzCC,IAAAA,SAAS,GAAGH,SAAZ;AACA,GAFM,MAEA,IAAKL,uBAAL,EAA+B;AACrCQ,IAAAA,SAAS,GAAGH,SAAZ;AACA,GAFM,MAEA;AACNG,IAAAA,SAAS,GAAGF,SAAZ;AACA;;AAED,SACC,cAAC,iBAAD;AACC,IAAA,YAAY,EAAGZ,YADhB;AAEC,IAAA,aAAa,EAAGC,aAFjB;AAGC,IAAA,MAAM,EAAGM,sBAHV;AAIC,IAAA,QAAQ,EAAGO,SAAS,KAAKH,SAJ1B;AAKC,IAAA,QAAQ,EAAGF,oBALZ;AAMC,IAAA,8BAA8B,EAAGC;AANlC,IADD;AAUA;AAED,eAAelB,OAAO,CACrBE,UAAU,CAAIqB,MAAF;AAAA;;AAAA,SAAgB;AAC3Bb,IAAAA,gBAAgB,qDACfa,MAAM,CAAElB,WAAF,CAAN,CAAsBmB,cAAtB,EADe,qFACf,uBAAwCC,MADzB,2DACf,uBACC,mBADD,CADe,yEAGV,KAJqB;AAK3Bd,IAAAA,gBAAgB,EAAEY,MAAM,CAAElB,WAAF,CAAN,CAAsBqB,0BAAtB,EALS;AAM3Bd,IAAAA,SAAS,EAAEW,MAAM,CAAElB,WAAF,CAAN,CAAsBsB,oBAAtB,EANgB;AAO3Bd,IAAAA,WAAW,EAAEU,MAAM,CAAElB,WAAF,CAAN,CAAsBuB,sBAAtB,EAPc;AAQ3Bd,IAAAA,uBAAuB,EACtBS,MAAM,CAAElB,WAAF,CAAN,CAAsBS,uBAAtB,EAT0B;AAU3BC,IAAAA,sBAAsB,EACrBQ,MAAM,CAAEjB,aAAF,CAAN,CAAwBS,sBAAxB,EAX0B;AAY3BC,IAAAA,WAAW,EAAEO,MAAM,CAAElB,WAAF,CAAN,CAAsBwB,sBAAtB;AAZc,GAAhB;AAAA,CAAF,CADW,EAerB5B,YAAY,CAAI6B,QAAF,IAAgB;AAC7B,QAAM;AAAEb,IAAAA;AAAF,MAA2Ba,QAAQ,CAAExB,aAAF,CAAzC;AACA,SAAO;AACNW,IAAAA;AADM,GAAP;AAGA,CALW,CAfS,CAAP,CAqBZV,yBArBY,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch, compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { PostPublishButton, store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport function PostPublishButtonOrToggle( {\n\tforceIsDirty,\n\tforceIsSaving,\n\thasPublishAction,\n\tisBeingScheduled,\n\tisPending,\n\tisPublished,\n\tisPublishSidebarEnabled,\n\tisPublishSidebarOpened,\n\tisScheduled,\n\ttogglePublishSidebar,\n\tsetEntitiesSavedStatesCallback,\n} ) {\n\tconst IS_TOGGLE = 'toggle';\n\tconst IS_BUTTON = 'button';\n\tconst isSmallerThanMediumViewport = useViewportMatch( 'medium', '<' );\n\tlet component;\n\n\t/**\n\t * Conditions to show a BUTTON (publish directly) or a TOGGLE (open publish sidebar):\n\t *\n\t * 1) We want to show a BUTTON when the post status is at the _final stage_\n\t * for a particular role (see https://wordpress.org/documentation/article/post-status/):\n\t *\n\t * - is published\n\t * - is scheduled to be published\n\t * - is pending and can't be published (but only for viewports >= medium).\n\t * \t Originally, we considered showing a button for pending posts that couldn't be published\n\t * \t (for example, for an author with the contributor role). Some languages can have\n\t * \t long translations for \"Submit for review\", so given the lack of UI real estate available\n\t * \t we decided to take into account the viewport in that case.\n\t * \t See: https://github.com/WordPress/gutenberg/issues/10475\n\t *\n\t * 2) Then, in small viewports, we'll show a TOGGLE.\n\t *\n\t * 3) Finally, we'll use the publish sidebar status to decide:\n\t *\n\t * - if it is enabled, we show a TOGGLE\n\t * - if it is disabled, we show a BUTTON\n\t */\n\tif (\n\t\tisPublished ||\n\t\t( isScheduled && isBeingScheduled ) ||\n\t\t( isPending && ! hasPublishAction && ! isSmallerThanMediumViewport )\n\t) {\n\t\tcomponent = IS_BUTTON;\n\t} else if ( isSmallerThanMediumViewport ) {\n\t\tcomponent = IS_TOGGLE;\n\t} else if ( isPublishSidebarEnabled ) {\n\t\tcomponent = IS_TOGGLE;\n\t} else {\n\t\tcomponent = IS_BUTTON;\n\t}\n\n\treturn (\n\t\t<PostPublishButton\n\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\tforceIsSaving={ forceIsSaving }\n\t\t\tisOpen={ isPublishSidebarOpened }\n\t\t\tisToggle={ component === IS_TOGGLE }\n\t\t\tonToggle={ togglePublishSidebar }\n\t\t\tsetEntitiesSavedStatesCallback={ setEntitiesSavedStatesCallback }\n\t\t/>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\thasPublishAction:\n\t\t\tselect( editorStore ).getCurrentPost()?._links?.[\n\t\t\t\t'wp:action-publish'\n\t\t\t] ?? false,\n\t\tisBeingScheduled: select( editorStore ).isEditedPostBeingScheduled(),\n\t\tisPending: select( editorStore ).isCurrentPostPending(),\n\t\tisPublished: select( editorStore ).isCurrentPostPublished(),\n\t\tisPublishSidebarEnabled:\n\t\t\tselect( editorStore ).isPublishSidebarEnabled(),\n\t\tisPublishSidebarOpened:\n\t\t\tselect( editPostStore ).isPublishSidebarOpened(),\n\t\tisScheduled: select( editorStore ).isCurrentPostScheduled(),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { togglePublishSidebar } = dispatch( editPostStore );\n\t\treturn {\n\t\t\ttogglePublishSidebar,\n\t\t};\n\t} )\n)( PostPublishButtonOrToggle );\n"]}
@@ -79,7 +79,6 @@ export default function ListViewSidebar() {
79
79
  });
80
80
  return (// eslint-disable-next-line jsx-a11y/no-static-element-interactions
81
81
  createElement("div", {
82
- "aria-label": __('Document Overview'),
83
82
  className: "edit-post-editor__document-overview-panel",
84
83
  onKeyDown: closeOnEscape,
85
84
  ref: sidebarRef
@@ -88,7 +87,7 @@ export default function ListViewSidebar() {
88
87
  ref: headerFocusReturnRef
89
88
  }, createElement(Button, {
90
89
  icon: closeSmall,
91
- label: __('Close Document Overview Sidebar'),
90
+ label: __('Close'),
92
91
  onClick: () => setIsListViewOpened(false)
93
92
  }), createElement("ul", null, createElement("li", null, createElement(Button, {
94
93
  ref: listViewTabRef,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/secondary-sidebar/list-view-sidebar.js"],"names":["classnames","__experimentalListView","ListView","Button","useFocusOnMount","useFocusReturn","useMergeRefs","useDispatch","focus","useRef","useState","__","closeSmall","useShortcut","ESCAPE","store","editPostStore","ListViewOutline","ListViewSidebar","setIsListViewOpened","focusOnMountRef","headerFocusReturnRef","contentFocusReturnRef","closeOnEscape","event","keyCode","defaultPrevented","preventDefault","tab","setTab","sidebarRef","listViewTabRef","outlineTabRef","listViewRef","handleSidebarFocus","currentTab","listViewApplicationFocus","tabbable","find","current","listViewFocusArea","contains","ownerDocument","activeElement"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalListView as ListView } from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport {\n\tuseFocusOnMount,\n\tuseFocusReturn,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { focus } from '@wordpress/dom';\nimport { useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\nimport ListViewOutline from './list-view-outline';\n\nexport default function ListViewSidebar() {\n\tconst { setIsListViewOpened } = useDispatch( editPostStore );\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst headerFocusReturnRef = useFocusReturn();\n\tconst contentFocusReturnRef = useFocusReturn();\n\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 [ tab, setTab ] = useState( 'list-view' );\n\n\t// This ref refers to the sidebar as a whole.\n\tconst sidebarRef = useRef();\n\t// This ref refers to the list view tab button.\n\tconst listViewTabRef = useRef();\n\t// This ref refers to the outline tab button.\n\tconst outlineTabRef = useRef();\n\t// This ref refers to the list view application area.\n\tconst listViewRef = useRef();\n\n\t/*\n\t * Callback function to handle list view or outline focus.\n\t *\n\t * @param {string} currentTab The current tab. Either list view or outline.\n\t *\n\t * @return void\n\t */\n\tfunction handleSidebarFocus( currentTab ) {\n\t\t// List view tab is selected.\n\t\tif ( currentTab === 'list-view' ) {\n\t\t\t// Either focus the list view or the list view tab button. Must have a fallback because the list view does not render when there are no blocks.\n\t\t\tconst listViewApplicationFocus = focus.tabbable.find(\n\t\t\t\tlistViewRef.current\n\t\t\t)[ 0 ];\n\t\t\tconst listViewFocusArea = sidebarRef.current.contains(\n\t\t\t\tlistViewApplicationFocus\n\t\t\t)\n\t\t\t\t? listViewApplicationFocus\n\t\t\t\t: listViewTabRef.current;\n\t\t\tlistViewFocusArea.focus();\n\t\t\t// Outline tab is selected.\n\t\t} else {\n\t\t\toutlineTabRef.current.focus();\n\t\t}\n\t}\n\n\t// This only fires when the sidebar is open because of the conditional rendering. It is the same shortcut to open but that is defined as a global shortcut and only fires when the sidebar is closed.\n\tuseShortcut( 'core/edit-post/toggle-list-view', () => {\n\t\t// If the sidebar has focus, it is safe to close.\n\t\tif (\n\t\t\tsidebarRef.current.contains(\n\t\t\t\tsidebarRef.current.ownerDocument.activeElement\n\t\t\t)\n\t\t) {\n\t\t\tsetIsListViewOpened( false );\n\t\t\t// If the list view or outline does not have focus, focus should be moved to it.\n\t\t} else {\n\t\t\thandleSidebarFocus( tab );\n\t\t}\n\t} );\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\taria-label={ __( 'Document Overview' ) }\n\t\t\tclassName=\"edit-post-editor__document-overview-panel\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t\tref={ sidebarRef }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-post-editor__document-overview-panel-header components-panel__header edit-post-sidebar__panel-tabs\"\n\t\t\t\tref={ headerFocusReturnRef }\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Close Document Overview Sidebar' ) }\n\t\t\t\t\tonClick={ () => setIsListViewOpened( false ) }\n\t\t\t\t/>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ listViewTabRef }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetTab( 'list-view' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-post-sidebar__panel-tab',\n\t\t\t\t\t\t\t\t{ 'is-active': tab === 'list-view' }\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\taria-current={ tab === 'list-view' }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'List View' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ outlineTabRef }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetTab( 'outline' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-post-sidebar__panel-tab',\n\t\t\t\t\t\t\t\t{ 'is-active': tab === 'outline' }\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\taria-current={ tab === 'outline' }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Outline' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\tcontentFocusReturnRef,\n\t\t\t\t\tfocusOnMountRef,\n\t\t\t\t\tlistViewRef,\n\t\t\t\t] ) }\n\t\t\t\tclassName=\"edit-post-editor__list-view-container\"\n\t\t\t>\n\t\t\t\t{ tab === 'list-view' && (\n\t\t\t\t\t<div className=\"edit-post-editor__list-view-panel-content\">\n\t\t\t\t\t\t<ListView />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ tab === 'outline' && <ListViewOutline /> }\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":["classnames","__experimentalListView","ListView","Button","useFocusOnMount","useFocusReturn","useMergeRefs","useDispatch","focus","useRef","useState","__","closeSmall","useShortcut","ESCAPE","store","editPostStore","ListViewOutline","ListViewSidebar","setIsListViewOpened","focusOnMountRef","headerFocusReturnRef","contentFocusReturnRef","closeOnEscape","event","keyCode","defaultPrevented","preventDefault","tab","setTab","sidebarRef","listViewTabRef","outlineTabRef","listViewRef","handleSidebarFocus","currentTab","listViewApplicationFocus","tabbable","find","current","listViewFocusArea","contains","ownerDocument","activeElement"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalListView as ListView } from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport {\n\tuseFocusOnMount,\n\tuseFocusReturn,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { focus } from '@wordpress/dom';\nimport { useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\nimport ListViewOutline from './list-view-outline';\n\nexport default function ListViewSidebar() {\n\tconst { setIsListViewOpened } = useDispatch( editPostStore );\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst headerFocusReturnRef = useFocusReturn();\n\tconst contentFocusReturnRef = useFocusReturn();\n\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 [ tab, setTab ] = useState( 'list-view' );\n\n\t// This ref refers to the sidebar as a whole.\n\tconst sidebarRef = useRef();\n\t// This ref refers to the list view tab button.\n\tconst listViewTabRef = useRef();\n\t// This ref refers to the outline tab button.\n\tconst outlineTabRef = useRef();\n\t// This ref refers to the list view application area.\n\tconst listViewRef = useRef();\n\n\t/*\n\t * Callback function to handle list view or outline focus.\n\t *\n\t * @param {string} currentTab The current tab. Either list view or outline.\n\t *\n\t * @return void\n\t */\n\tfunction handleSidebarFocus( currentTab ) {\n\t\t// List view tab is selected.\n\t\tif ( currentTab === 'list-view' ) {\n\t\t\t// Either focus the list view or the list view tab button. Must have a fallback because the list view does not render when there are no blocks.\n\t\t\tconst listViewApplicationFocus = focus.tabbable.find(\n\t\t\t\tlistViewRef.current\n\t\t\t)[ 0 ];\n\t\t\tconst listViewFocusArea = sidebarRef.current.contains(\n\t\t\t\tlistViewApplicationFocus\n\t\t\t)\n\t\t\t\t? listViewApplicationFocus\n\t\t\t\t: listViewTabRef.current;\n\t\t\tlistViewFocusArea.focus();\n\t\t\t// Outline tab is selected.\n\t\t} else {\n\t\t\toutlineTabRef.current.focus();\n\t\t}\n\t}\n\n\t// This only fires when the sidebar is open because of the conditional rendering. It is the same shortcut to open but that is defined as a global shortcut and only fires when the sidebar is closed.\n\tuseShortcut( 'core/edit-post/toggle-list-view', () => {\n\t\t// If the sidebar has focus, it is safe to close.\n\t\tif (\n\t\t\tsidebarRef.current.contains(\n\t\t\t\tsidebarRef.current.ownerDocument.activeElement\n\t\t\t)\n\t\t) {\n\t\t\tsetIsListViewOpened( false );\n\t\t\t// If the list view or outline does not have focus, focus should be moved to it.\n\t\t} else {\n\t\t\thandleSidebarFocus( tab );\n\t\t}\n\t} );\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tclassName=\"edit-post-editor__document-overview-panel\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t\tref={ sidebarRef }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-post-editor__document-overview-panel-header components-panel__header edit-post-sidebar__panel-tabs\"\n\t\t\t\tref={ headerFocusReturnRef }\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\tonClick={ () => setIsListViewOpened( false ) }\n\t\t\t\t/>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ listViewTabRef }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetTab( 'list-view' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-post-sidebar__panel-tab',\n\t\t\t\t\t\t\t\t{ 'is-active': tab === 'list-view' }\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\taria-current={ tab === 'list-view' }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'List View' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ outlineTabRef }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetTab( 'outline' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-post-sidebar__panel-tab',\n\t\t\t\t\t\t\t\t{ 'is-active': tab === 'outline' }\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\taria-current={ tab === 'outline' }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Outline' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\tcontentFocusReturnRef,\n\t\t\t\t\tfocusOnMountRef,\n\t\t\t\t\tlistViewRef,\n\t\t\t\t] ) }\n\t\t\t\tclassName=\"edit-post-editor__list-view-container\"\n\t\t\t>\n\t\t\t\t{ tab === 'list-view' && (\n\t\t\t\t\t<div className=\"edit-post-editor__list-view-panel-content\">\n\t\t\t\t\t\t<ListView />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ tab === 'outline' && <ListViewOutline /> }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}