@wordpress/editor 14.0.1 → 14.0.3

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 (83) hide show
  1. package/build/components/document-tools/index.js +12 -3
  2. package/build/components/document-tools/index.js.map +1 -1
  3. package/build/components/editor-interface/index.js +2 -2
  4. package/build/components/editor-interface/index.js.map +1 -1
  5. package/build/components/entities-saved-states/entity-record-item.js +4 -12
  6. package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
  7. package/build/components/global-styles-provider/index.js +15 -67
  8. package/build/components/global-styles-provider/index.js.map +1 -1
  9. package/build/components/post-actions/actions.js +62 -13
  10. package/build/components/post-actions/actions.js.map +1 -1
  11. package/build/components/post-actions/index.js +4 -1
  12. package/build/components/post-actions/index.js.map +1 -1
  13. package/build/components/post-excerpt/index.js +2 -1
  14. package/build/components/post-excerpt/index.js.map +1 -1
  15. package/build/components/post-excerpt/panel.js +2 -1
  16. package/build/components/post-excerpt/panel.js.map +1 -1
  17. package/build/components/post-trash/index.js +1 -0
  18. package/build/components/post-trash/index.js.map +1 -1
  19. package/build/components/post-visibility/index.js +1 -0
  20. package/build/components/post-visibility/index.js.map +1 -1
  21. package/build/components/template-validation-notice/index.js +1 -0
  22. package/build/components/template-validation-notice/index.js.map +1 -1
  23. package/build/components/visual-editor/edit-template-blocks-notification.js +1 -0
  24. package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
  25. package/build/hooks/pattern-overrides.js +3 -2
  26. package/build/hooks/pattern-overrides.js.map +1 -1
  27. package/build/lock-unlock.js +1 -1
  28. package/build/lock-unlock.js.map +1 -1
  29. package/build/store/private-actions.js +9 -5
  30. package/build/store/private-actions.js.map +1 -1
  31. package/build-module/components/document-tools/index.js +12 -3
  32. package/build-module/components/document-tools/index.js.map +1 -1
  33. package/build-module/components/editor-interface/index.js +2 -2
  34. package/build-module/components/editor-interface/index.js.map +1 -1
  35. package/build-module/components/entities-saved-states/entity-record-item.js +6 -14
  36. package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
  37. package/build-module/components/global-styles-provider/index.js +16 -68
  38. package/build-module/components/global-styles-provider/index.js.map +1 -1
  39. package/build-module/components/post-actions/actions.js +63 -14
  40. package/build-module/components/post-actions/actions.js.map +1 -1
  41. package/build-module/components/post-actions/index.js +4 -1
  42. package/build-module/components/post-actions/index.js.map +1 -1
  43. package/build-module/components/post-excerpt/index.js +2 -1
  44. package/build-module/components/post-excerpt/index.js.map +1 -1
  45. package/build-module/components/post-excerpt/panel.js +2 -1
  46. package/build-module/components/post-excerpt/panel.js.map +1 -1
  47. package/build-module/components/post-trash/index.js +1 -0
  48. package/build-module/components/post-trash/index.js.map +1 -1
  49. package/build-module/components/post-visibility/index.js +1 -0
  50. package/build-module/components/post-visibility/index.js.map +1 -1
  51. package/build-module/components/template-validation-notice/index.js +1 -0
  52. package/build-module/components/template-validation-notice/index.js.map +1 -1
  53. package/build-module/components/visual-editor/edit-template-blocks-notification.js +1 -0
  54. package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
  55. package/build-module/hooks/pattern-overrides.js +3 -2
  56. package/build-module/hooks/pattern-overrides.js.map +1 -1
  57. package/build-module/lock-unlock.js +1 -1
  58. package/build-module/lock-unlock.js.map +1 -1
  59. package/build-module/store/private-actions.js +9 -5
  60. package/build-module/store/private-actions.js.map +1 -1
  61. package/build-style/style-rtl.css +8 -16
  62. package/build-style/style.css +8 -16
  63. package/package.json +19 -19
  64. package/src/components/document-tools/index.js +13 -4
  65. package/src/components/editor-interface/index.js +12 -8
  66. package/src/components/entities-saved-states/entity-record-item.js +4 -14
  67. package/src/components/entities-saved-states/style.scss +0 -13
  68. package/src/components/global-styles-provider/index.js +19 -92
  69. package/src/components/post-actions/actions.js +105 -21
  70. package/src/components/post-actions/index.js +1 -1
  71. package/src/components/post-card-panel/style.scss +1 -0
  72. package/src/components/post-excerpt/index.js +4 -1
  73. package/src/components/post-excerpt/panel.js +2 -1
  74. package/src/components/post-publish-panel/style.scss +1 -1
  75. package/src/components/post-trash/index.js +1 -0
  76. package/src/components/post-url/style.scss +4 -0
  77. package/src/components/post-visibility/index.js +1 -0
  78. package/src/components/template-validation-notice/index.js +1 -0
  79. package/src/components/visual-editor/edit-template-blocks-notification.js +1 -0
  80. package/src/components/visual-editor/style.scss +2 -0
  81. package/src/hooks/pattern-overrides.js +4 -3
  82. package/src/lock-unlock.js +1 -1
  83. package/src/store/private-actions.js +54 -21
@@ -32,9 +32,6 @@ var _jsxRuntime = require("react/jsx-runtime");
32
32
  * Internal dependencies
33
33
  */
34
34
 
35
- const preventDefault = event => {
36
- event.preventDefault();
37
- };
38
35
  function DocumentTools({
39
36
  className,
40
37
  disableBlockTools = false
@@ -84,6 +81,18 @@ function DocumentTools({
84
81
  isZoomedOutView: __unstableGetEditorMode() === 'zoom-out'
85
82
  };
86
83
  }, []);
84
+ const preventDefault = event => {
85
+ // Because the inserter behaves like a dialog,
86
+ // if the inserter is opened already then when we click on the toggle button
87
+ // then the initial click event will close the inserter and then be propagated
88
+ // to the inserter toggle and it will open it again.
89
+ // To prevent this we need to stop the propagation of the event.
90
+ // This won't be necessary when the inserter no longer behaves like a dialog.
91
+
92
+ if (isInserterOpened) {
93
+ event.preventDefault();
94
+ }
95
+ };
87
96
  const isLargeViewport = (0, _compose.useViewportMatch)('medium');
88
97
  const isWideViewport = (0, _compose.useViewportMatch)('wide');
89
98
 
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_data","_i18n","_blockEditor","_components","_icons","_element","_keyboardShortcuts","_preferences","_lockUnlock","_store","_redo","_undo","_jsxRuntime","preventDefault","event","DocumentTools","className","disableBlockTools","setIsInserterOpened","setIsListViewOpened","useDispatch","editorStore","isDistractionFree","isInserterOpened","isListViewOpen","listViewShortcut","inserterSidebarToggleRef","listViewToggleRef","hasFixedToolbar","showIconLabels","useSelect","select","getSettings","blockEditorStore","get","preferencesStore","isListViewOpened","getEditorMode","getInserterSidebarToggleRef","getListViewToggleRef","unlock","getShortcutRepresentation","keyboardShortcutsStore","__unstableGetEditorMode","isVisualMode","isZoomedOutView","isLargeViewport","useViewportMatch","isWideViewport","toolbarAriaLabel","__","toggleListView","useCallback","toggleInserter","longLabel","_x","shortLabel","jsx","NavigableToolbar","clsx","variant","children","jsxs","ToolbarItem","ref","as","Button","isPressed","onMouseDown","onClick","disabled","icon","plus","label","showTooltip","Fragment","ToolSelector","undefined","size","EditorHistoryUndo","EditorHistoryRedo","listView","shortcut","_default","exports","default"],"sources":["@wordpress/editor/src/components/document-tools/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tNavigableToolbar,\n\tToolSelector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { listView, plus } from '@wordpress/icons';\nimport { useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\nimport EditorHistoryRedo from '../editor-history/redo';\nimport EditorHistoryUndo from '../editor-history/undo';\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nfunction DocumentTools( { className, disableBlockTools = false } ) {\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editorStore );\n\tconst {\n\t\tisDistractionFree,\n\t\tisInserterOpened,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\tinserterSidebarToggleRef,\n\t\tlistViewToggleRef,\n\t\thasFixedToolbar,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst {\n\t\t\tisListViewOpened,\n\t\t\tgetEditorMode,\n\t\t\tgetInserterSidebarToggleRef,\n\t\t\tgetListViewToggleRef,\n\t\t} = unlock( select( editorStore ) );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\n\t\treturn {\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/editor/toggle-list-view'\n\t\t\t),\n\t\t\tinserterSidebarToggleRef: getInserterSidebarToggleRef(),\n\t\t\tlistViewToggleRef: getListViewToggleRef(),\n\t\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisVisualMode: getEditorMode() === 'visual',\n\t\t\tisZoomedOutView: __unstableGetEditorMode() === 'zoom-out',\n\t\t};\n\t}, [] );\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideViewport = useViewportMatch( 'wide' );\n\n\t/* translators: accessibility text for the editor toolbar */\n\tconst toolbarAriaLabel = __( 'Document tools' );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst toggleInserter = useCallback(\n\t\t() => setIsInserterOpened( ! isInserterOpened ),\n\t\t[ isInserterOpened, setIsInserterOpened ]\n\t);\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpened ? __( 'Add' ) : __( 'Close' );\n\n\treturn (\n\t\t// Some plugins expect and use the `edit-post-header-toolbar` CSS class to\n\t\t// find the toolbar and inject UI elements into it. This is not officially\n\t\t// supported, but we're keeping it in the list of class names for backwards\n\t\t// compatibility.\n\t\t<NavigableToolbar\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-document-tools',\n\t\t\t\t'edit-post-header-toolbar',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\taria-label={ toolbarAriaLabel }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<div className=\"editor-document-tools__left\">\n\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tref={ inserterSidebarToggleRef }\n\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\tclassName=\"editor-document-tools__inserter-toggle\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\taria-expanded={ isInserterOpened }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && ! hasFixedToolbar && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryUndo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryRedo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\tclassName=\"editor-document-tools__document-overview-toggle\"\n\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\tlabel={ __( 'Document Overview' ) }\n\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-expanded={ isListViewOpen }\n\t\t\t\t\t\t\t\tref={ listViewToggleRef }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default DocumentTools;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_data","_i18n","_blockEditor","_components","_icons","_element","_keyboardShortcuts","_preferences","_lockUnlock","_store","_redo","_undo","_jsxRuntime","DocumentTools","className","disableBlockTools","setIsInserterOpened","setIsListViewOpened","useDispatch","editorStore","isDistractionFree","isInserterOpened","isListViewOpen","listViewShortcut","inserterSidebarToggleRef","listViewToggleRef","hasFixedToolbar","showIconLabels","useSelect","select","getSettings","blockEditorStore","get","preferencesStore","isListViewOpened","getEditorMode","getInserterSidebarToggleRef","getListViewToggleRef","unlock","getShortcutRepresentation","keyboardShortcutsStore","__unstableGetEditorMode","isVisualMode","isZoomedOutView","preventDefault","event","isLargeViewport","useViewportMatch","isWideViewport","toolbarAriaLabel","__","toggleListView","useCallback","toggleInserter","longLabel","_x","shortLabel","jsx","NavigableToolbar","clsx","variant","children","jsxs","ToolbarItem","ref","as","Button","isPressed","onMouseDown","onClick","disabled","icon","plus","label","showTooltip","Fragment","ToolSelector","undefined","size","EditorHistoryUndo","EditorHistoryRedo","listView","shortcut","_default","exports","default"],"sources":["@wordpress/editor/src/components/document-tools/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tNavigableToolbar,\n\tToolSelector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { listView, plus } from '@wordpress/icons';\nimport { useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\nimport EditorHistoryRedo from '../editor-history/redo';\nimport EditorHistoryUndo from '../editor-history/undo';\n\nfunction DocumentTools( { className, disableBlockTools = false } ) {\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editorStore );\n\tconst {\n\t\tisDistractionFree,\n\t\tisInserterOpened,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\tinserterSidebarToggleRef,\n\t\tlistViewToggleRef,\n\t\thasFixedToolbar,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst {\n\t\t\tisListViewOpened,\n\t\t\tgetEditorMode,\n\t\t\tgetInserterSidebarToggleRef,\n\t\t\tgetListViewToggleRef,\n\t\t} = unlock( select( editorStore ) );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\n\t\treturn {\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/editor/toggle-list-view'\n\t\t\t),\n\t\t\tinserterSidebarToggleRef: getInserterSidebarToggleRef(),\n\t\t\tlistViewToggleRef: getListViewToggleRef(),\n\t\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisVisualMode: getEditorMode() === 'visual',\n\t\t\tisZoomedOutView: __unstableGetEditorMode() === 'zoom-out',\n\t\t};\n\t}, [] );\n\n\tconst preventDefault = ( event ) => {\n\t\t// Because the inserter behaves like a dialog,\n\t\t// if the inserter is opened already then when we click on the toggle button\n\t\t// then the initial click event will close the inserter and then be propagated\n\t\t// to the inserter toggle and it will open it again.\n\t\t// To prevent this we need to stop the propagation of the event.\n\t\t// This won't be necessary when the inserter no longer behaves like a dialog.\n\n\t\tif ( isInserterOpened ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideViewport = useViewportMatch( 'wide' );\n\n\t/* translators: accessibility text for the editor toolbar */\n\tconst toolbarAriaLabel = __( 'Document tools' );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst toggleInserter = useCallback(\n\t\t() => setIsInserterOpened( ! isInserterOpened ),\n\t\t[ isInserterOpened, setIsInserterOpened ]\n\t);\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpened ? __( 'Add' ) : __( 'Close' );\n\n\treturn (\n\t\t// Some plugins expect and use the `edit-post-header-toolbar` CSS class to\n\t\t// find the toolbar and inject UI elements into it. This is not officially\n\t\t// supported, but we're keeping it in the list of class names for backwards\n\t\t// compatibility.\n\t\t<NavigableToolbar\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-document-tools',\n\t\t\t\t'edit-post-header-toolbar',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\taria-label={ toolbarAriaLabel }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<div className=\"editor-document-tools__left\">\n\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tref={ inserterSidebarToggleRef }\n\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\tclassName=\"editor-document-tools__inserter-toggle\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\taria-expanded={ isInserterOpened }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && ! hasFixedToolbar && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryUndo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryRedo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\tclassName=\"editor-document-tools__document-overview-toggle\"\n\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\tlabel={ __( 'Document Overview' ) }\n\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-expanded={ isListViewOpen }\n\t\t\t\t\t\t\t\tref={ listViewToggleRef }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default DocumentTools;\n"],"mappings":"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","ignoreList":[]}
@@ -161,12 +161,12 @@ function EditorInterface({
161
161
  footer: !isPreviewMode && !isDistractionFree && isLargeViewport && showBlockBreadcrumbs && isRichEditingEnabled && blockEditorMode !== 'zoom-out' && mode === 'visual' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockBreadcrumb, {
162
162
  rootLabelText: documentLabel
163
163
  }),
164
- actions: /*#__PURE__*/(0, _jsxRuntime.jsx)(_savePublishPanels.default, {
164
+ actions: !isPreviewMode ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_savePublishPanels.default, {
165
165
  closeEntitiesSavedStates: closeEntitiesSavedStates,
166
166
  isEntitiesSavedStatesOpen: entitiesSavedStatesCallback,
167
167
  setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback,
168
168
  forceIsDirtyPublishPanel: forceIsDirty
169
- }),
169
+ }) : undefined,
170
170
  shortcuts: {
171
171
  previous: previousShortcut,
172
172
  next: nextShortcut
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_interface","_data","_i18n","_preferences","_blockEditor","_keyboardShortcuts","_compose","_element","_store","_editorNotices","_header","_inserterSidebar","_listViewSidebar","_savePublishPanels","_textEditor","_visualEditor","_contentSlotFill","_jsxRuntime","interfaceLabels","header","__","body","sidebar","actions","footer","EditorInterface","className","enableRegionNavigation","styles","children","forceIsDirty","contentRef","disableIframe","autoFocus","customSaveButton","forceDisableBlockTools","title","iframeProps","mode","isRichEditingEnabled","isInserterOpened","isListViewOpened","isDistractionFree","isPreviewMode","previousShortcut","nextShortcut","showBlockBreadcrumbs","documentLabel","blockEditorMode","useSelect","select","get","preferencesStore","getEditorSettings","getPostTypeLabel","editorStore","editorSettings","postTypeLabel","getEditorMode","richEditingEnabled","__unstableIsPreviewMode","keyboardShortcutsStore","getAllShortcutKeyCombinations","_x","blockEditorStore","__unstableGetEditorMode","isWideViewport","useViewportMatch","isLargeViewport","secondarySidebarLabel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","useState","closeEntitiesSavedStates","useCallback","arg","jsx","InterfaceSkeleton","clsx","labels","secondarySidebar","default","editorNotices","ComplementaryArea","Slot","scope","content","jsxs","Fragment","editorCanvasView","BlockToolbar","hideDragHandle","BlockBreadcrumb","rootLabelText","isEntitiesSavedStatesOpen","forceIsDirtyPublishPanel","shortcuts","previous","next"],"sources":["@wordpress/editor/src/components/editor-interface/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { InterfaceSkeleton, ComplementaryArea } from '@wordpress/interface';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tstore as blockEditorStore,\n\tBlockBreadcrumb,\n\tBlockToolbar,\n} from '@wordpress/block-editor';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport EditorNotices from '../editor-notices';\nimport Header from '../header';\nimport InserterSidebar from '../inserter-sidebar';\nimport ListViewSidebar from '../list-view-sidebar';\nimport SavePublishPanels from '../save-publish-panels';\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditorContentSlotFill from './content-slot-fill';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nexport default function EditorInterface( {\n\tclassName,\n\tenableRegionNavigation,\n\tstyles,\n\tchildren,\n\tforceIsDirty,\n\tcontentRef,\n\tdisableIframe,\n\tautoFocus,\n\tcustomSaveButton,\n\tforceDisableBlockTools,\n\ttitle,\n\tiframeProps,\n} ) {\n\tconst {\n\t\tmode,\n\t\tisRichEditingEnabled,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tisDistractionFree,\n\t\tisPreviewMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\tshowBlockBreadcrumbs,\n\t\tdocumentLabel,\n\t\tblockEditorMode,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tmode: select( editorStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editorStore ).isListViewOpened(),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisPreviewMode: editorSettings.__unstableIsPreviewMode,\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/editor/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/editor/next-region' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t\tblockEditorMode:\n\t\t\t\tselect( blockEditorStore ).__unstableGetEditorMode(),\n\t\t};\n\t}, [] );\n\tconst isWideViewport = useViewportMatch( 'large' );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tenableRegionNavigation={ enableRegionNavigation }\n\t\t\tisDistractionFree={ isDistractionFree && isWideViewport }\n\t\t\tclassName={ clsx( 'editor-editor-interface', className, {\n\t\t\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t\t\t\t'is-distraction-free':\n\t\t\t\t\tisDistractionFree && isWideViewport && ! isPreviewMode,\n\t\t\t} ) }\n\t\t\tlabels={ {\n\t\t\t\t...interfaceLabels,\n\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t} }\n\t\t\theader={\n\t\t\t\t! isPreviewMode && (\n\t\t\t\t\t<Header\n\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcustomSaveButton={ customSaveButton }\n\t\t\t\t\t\tforceDisableBlockTools={ forceDisableBlockTools }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\tsecondarySidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\tmode === 'visual' &&\n\t\t\t\t( ( isInserterOpened && <InserterSidebar /> ) ||\n\t\t\t\t\t( isListViewOpened && <ListViewSidebar /> ) )\n\t\t\t}\n\t\t\tsidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree && <ComplementaryArea.Slot scope=\"core\" />\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ ! isDistractionFree && ! isPreviewMode && (\n\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t) }\n\n\t\t\t\t\t<EditorContentSlotFill.Slot>\n\t\t\t\t\t\t{ ( [ editorCanvasView ] ) =>\n\t\t\t\t\t\t\teditorCanvasView ? (\n\t\t\t\t\t\t\t\teditorCanvasView\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t( mode === 'text' ||\n\t\t\t\t\t\t\t\t\t\t\t! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t\t\t\t\t<TextEditor\n\t\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\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{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t! isLargeViewport &&\n\t\t\t\t\t\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ( isPreviewMode ||\n\t\t\t\t\t\t\t\t\t\t( isRichEditingEnabled &&\n\t\t\t\t\t\t\t\t\t\t\tmode === 'visual' ) ) && (\n\t\t\t\t\t\t\t\t\t\t<VisualEditor\n\t\t\t\t\t\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\t\t\t\t\t\tdisableIframe={ disableIframe }\n\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\n\t\t\t\t\t\t\t\t\t\t\tiframeProps={ iframeProps }\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{ children }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</EditorContentSlotFill.Slot>\n\t\t\t\t</>\n\t\t\t}\n\t\t\tfooter={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\tisRichEditingEnabled &&\n\t\t\t\tblockEditorMode !== 'zoom-out' &&\n\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t)\n\t\t\t}\n\t\t\tactions={\n\t\t\t\t<SavePublishPanels\n\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\tisEntitiesSavedStatesOpen={ entitiesSavedStatesCallback }\n\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t}\n\t\t\t\t\tforceIsDirtyPublishPanel={ forceIsDirty }\n\t\t\t\t/>\n\t\t\t}\n\t\t\tshortcuts={ {\n\t\t\t\tprevious: previousShortcut,\n\t\t\t\tnext: nextShortcut,\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_interface","_data","_i18n","_preferences","_blockEditor","_keyboardShortcuts","_compose","_element","_store","_editorNotices","_header","_inserterSidebar","_listViewSidebar","_savePublishPanels","_textEditor","_visualEditor","_contentSlotFill","_jsxRuntime","interfaceLabels","header","__","body","sidebar","actions","footer","EditorInterface","className","enableRegionNavigation","styles","children","forceIsDirty","contentRef","disableIframe","autoFocus","customSaveButton","forceDisableBlockTools","title","iframeProps","mode","isRichEditingEnabled","isInserterOpened","isListViewOpened","isDistractionFree","isPreviewMode","previousShortcut","nextShortcut","showBlockBreadcrumbs","documentLabel","blockEditorMode","useSelect","select","get","preferencesStore","getEditorSettings","getPostTypeLabel","editorStore","editorSettings","postTypeLabel","getEditorMode","richEditingEnabled","__unstableIsPreviewMode","keyboardShortcutsStore","getAllShortcutKeyCombinations","_x","blockEditorStore","__unstableGetEditorMode","isWideViewport","useViewportMatch","isLargeViewport","secondarySidebarLabel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","useState","closeEntitiesSavedStates","useCallback","arg","jsx","InterfaceSkeleton","clsx","labels","secondarySidebar","default","editorNotices","ComplementaryArea","Slot","scope","content","jsxs","Fragment","editorCanvasView","BlockToolbar","hideDragHandle","BlockBreadcrumb","rootLabelText","isEntitiesSavedStatesOpen","forceIsDirtyPublishPanel","undefined","shortcuts","previous","next"],"sources":["@wordpress/editor/src/components/editor-interface/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { InterfaceSkeleton, ComplementaryArea } from '@wordpress/interface';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tstore as blockEditorStore,\n\tBlockBreadcrumb,\n\tBlockToolbar,\n} from '@wordpress/block-editor';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport EditorNotices from '../editor-notices';\nimport Header from '../header';\nimport InserterSidebar from '../inserter-sidebar';\nimport ListViewSidebar from '../list-view-sidebar';\nimport SavePublishPanels from '../save-publish-panels';\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditorContentSlotFill from './content-slot-fill';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nexport default function EditorInterface( {\n\tclassName,\n\tenableRegionNavigation,\n\tstyles,\n\tchildren,\n\tforceIsDirty,\n\tcontentRef,\n\tdisableIframe,\n\tautoFocus,\n\tcustomSaveButton,\n\tforceDisableBlockTools,\n\ttitle,\n\tiframeProps,\n} ) {\n\tconst {\n\t\tmode,\n\t\tisRichEditingEnabled,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tisDistractionFree,\n\t\tisPreviewMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\tshowBlockBreadcrumbs,\n\t\tdocumentLabel,\n\t\tblockEditorMode,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tmode: select( editorStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editorStore ).isListViewOpened(),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisPreviewMode: editorSettings.__unstableIsPreviewMode,\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/editor/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/editor/next-region' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t\tblockEditorMode:\n\t\t\t\tselect( blockEditorStore ).__unstableGetEditorMode(),\n\t\t};\n\t}, [] );\n\tconst isWideViewport = useViewportMatch( 'large' );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tenableRegionNavigation={ enableRegionNavigation }\n\t\t\tisDistractionFree={ isDistractionFree && isWideViewport }\n\t\t\tclassName={ clsx( 'editor-editor-interface', className, {\n\t\t\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t\t\t\t'is-distraction-free':\n\t\t\t\t\tisDistractionFree && isWideViewport && ! isPreviewMode,\n\t\t\t} ) }\n\t\t\tlabels={ {\n\t\t\t\t...interfaceLabels,\n\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t} }\n\t\t\theader={\n\t\t\t\t! isPreviewMode && (\n\t\t\t\t\t<Header\n\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcustomSaveButton={ customSaveButton }\n\t\t\t\t\t\tforceDisableBlockTools={ forceDisableBlockTools }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\tsecondarySidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\tmode === 'visual' &&\n\t\t\t\t( ( isInserterOpened && <InserterSidebar /> ) ||\n\t\t\t\t\t( isListViewOpened && <ListViewSidebar /> ) )\n\t\t\t}\n\t\t\tsidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree && <ComplementaryArea.Slot scope=\"core\" />\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ ! isDistractionFree && ! isPreviewMode && (\n\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t) }\n\n\t\t\t\t\t<EditorContentSlotFill.Slot>\n\t\t\t\t\t\t{ ( [ editorCanvasView ] ) =>\n\t\t\t\t\t\t\teditorCanvasView ? (\n\t\t\t\t\t\t\t\teditorCanvasView\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t( mode === 'text' ||\n\t\t\t\t\t\t\t\t\t\t\t! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t\t\t\t\t<TextEditor\n\t\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\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{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t! isLargeViewport &&\n\t\t\t\t\t\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ( isPreviewMode ||\n\t\t\t\t\t\t\t\t\t\t( isRichEditingEnabled &&\n\t\t\t\t\t\t\t\t\t\t\tmode === 'visual' ) ) && (\n\t\t\t\t\t\t\t\t\t\t<VisualEditor\n\t\t\t\t\t\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\t\t\t\t\t\tdisableIframe={ disableIframe }\n\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\n\t\t\t\t\t\t\t\t\t\t\tiframeProps={ iframeProps }\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{ children }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</EditorContentSlotFill.Slot>\n\t\t\t\t</>\n\t\t\t}\n\t\t\tfooter={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\tisRichEditingEnabled &&\n\t\t\t\tblockEditorMode !== 'zoom-out' &&\n\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t)\n\t\t\t}\n\t\t\tactions={\n\t\t\t\t! isPreviewMode ? (\n\t\t\t\t\t<SavePublishPanels\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tforceIsDirtyPublishPanel={ forceIsDirty }\n\t\t\t\t\t/>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t\tshortcuts={ {\n\t\t\t\tprevious: previousShortcut,\n\t\t\t\tnext: nextShortcut,\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAKA,IAAAM,kBAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AAKA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,cAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,OAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,gBAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,gBAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,kBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,WAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,aAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,gBAAA,GAAAlB,sBAAA,CAAAC,OAAA;AAAwD,IAAAkB,WAAA,GAAAlB,OAAA;AAhCxD;AACA;AACA;;AAGA;AACA;AACA;;AAcA;AACA;AACA;;AAWA,MAAMmB,eAAe,GAAG;EACvB;EACAC,MAAM,EAAE,IAAAC,QAAE,EAAE,gBAAiB,CAAC;EAC9B;EACAC,IAAI,EAAE,IAAAD,QAAE,EAAE,gBAAiB,CAAC;EAC5B;EACAE,OAAO,EAAE,IAAAF,QAAE,EAAE,iBAAkB,CAAC;EAChC;EACAG,OAAO,EAAE,IAAAH,QAAE,EAAE,gBAAiB,CAAC;EAC/B;EACAI,MAAM,EAAE,IAAAJ,QAAE,EAAE,eAAgB;AAC7B,CAAC;AAEc,SAASK,eAAeA,CAAE;EACxCC,SAAS;EACTC,sBAAsB;EACtBC,MAAM;EACNC,QAAQ;EACRC,YAAY;EACZC,UAAU;EACVC,aAAa;EACbC,SAAS;EACTC,gBAAgB;EAChBC,sBAAsB;EACtBC,KAAK;EACLC;AACD,CAAC,EAAG;EACH,MAAM;IACLC,IAAI;IACJC,oBAAoB;IACpBC,gBAAgB;IAChBC,gBAAgB;IAChBC,iBAAiB;IACjBC,aAAa;IACbC,gBAAgB;IAChBC,YAAY;IACZC,oBAAoB;IACpBC,aAAa;IACbC;EACD,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC5B,MAAM;MAAEC;IAAI,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC;IAC1C,MAAM;MAAEC,iBAAiB;MAAEC;IAAiB,CAAC,GAAGJ,MAAM,CAAEK,YAAY,CAAC;IACrE,MAAMC,cAAc,GAAGH,iBAAiB,CAAC,CAAC;IAC1C,MAAMI,aAAa,GAAGH,gBAAgB,CAAC,CAAC;IAExC,OAAO;MACNhB,IAAI,EAAEY,MAAM,CAAEK,YAAY,CAAC,CAACG,aAAa,CAAC,CAAC;MAC3CnB,oBAAoB,EAAEiB,cAAc,CAACG,kBAAkB;MACvDnB,gBAAgB,EAAEU,MAAM,CAAEK,YAAY,CAAC,CAACf,gBAAgB,CAAC,CAAC;MAC1DC,gBAAgB,EAAES,MAAM,CAAEK,YAAY,CAAC,CAACd,gBAAgB,CAAC,CAAC;MAC1DC,iBAAiB,EAAES,GAAG,CAAE,MAAM,EAAE,iBAAkB,CAAC;MACnDR,aAAa,EAAEa,cAAc,CAACI,uBAAuB;MACrDhB,gBAAgB,EAAEM,MAAM,CACvBW,wBACD,CAAC,CAACC,6BAA6B,CAAE,6BAA8B,CAAC;MAChEjB,YAAY,EAAEK,MAAM,CACnBW,wBACD,CAAC,CAACC,6BAA6B,CAAE,yBAA0B,CAAC;MAC5DhB,oBAAoB,EAAEK,GAAG,CAAE,MAAM,EAAE,sBAAuB,CAAC;MAC3D;MACAJ,aAAa,EAAEU,aAAa,IAAI,IAAAM,QAAE,EAAE,UAAU,EAAE,MAAO,CAAC;MACxDf,eAAe,EACdE,MAAM,CAAEc,kBAAiB,CAAC,CAACC,uBAAuB,CAAC;IACrD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,cAAc,GAAG,IAAAC,yBAAgB,EAAE,OAAQ,CAAC;EAClD,MAAMC,eAAe,GAAG,IAAAD,yBAAgB,EAAE,QAAS,CAAC;EACpD,MAAME,qBAAqB,GAAG5B,gBAAgB,GAC3C,IAAArB,QAAE,EAAE,mBAAoB,CAAC,GACzB,IAAAA,QAAE,EAAE,eAAgB,CAAC;;EAExB;EACA;EACA,MAAM,CAAEkD,2BAA2B,EAAEC,8BAA8B,CAAE,GACpE,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAClB,MAAMC,wBAAwB,GAAG,IAAAC,oBAAW,EACzCC,GAAG,IAAM;IACV,IAAK,OAAOL,2BAA2B,KAAK,UAAU,EAAG;MACxDA,2BAA2B,CAAEK,GAAI,CAAC;IACnC;IACAJ,8BAA8B,CAAE,KAAM,CAAC;EACxC,CAAC,EACD,CAAED,2BAA2B,CAC9B,CAAC;EAED,oBACC,IAAArD,WAAA,CAAA2D,GAAA,EAAC5E,UAAA,CAAA6E,iBAAiB;IACjBlD,sBAAsB,EAAGA,sBAAwB;IACjDe,iBAAiB,EAAGA,iBAAiB,IAAIwB,cAAgB;IACzDxC,SAAS,EAAG,IAAAoD,aAAI,EAAE,yBAAyB,EAAEpD,SAAS,EAAE;MACvD,0BAA0B,EAAE,CAAC,CAAE4C,2BAA2B;MAC1D,qBAAqB,EACpB5B,iBAAiB,IAAIwB,cAAc,IAAI,CAAEvB;IAC3C,CAAE,CAAG;IACLoC,MAAM,EAAG;MACR,GAAG7D,eAAe;MAClB8D,gBAAgB,EAAEX;IACnB,CAAG;IACHlD,MAAM,EACL,CAAEwB,aAAa,iBACd,IAAA1B,WAAA,CAAA2D,GAAA,EAAClE,OAAA,CAAAuE,OAAM;MACNnD,YAAY,EAAGA,YAAc;MAC7ByC,8BAA8B,EAC7BA,8BACA;MACDrC,gBAAgB,EAAGA,gBAAkB;MACrCC,sBAAsB,EAAGA,sBAAwB;MACjDC,KAAK,EAAGA;IAAO,CACf,CAEF;IACD8C,aAAa,eAAG,IAAAjE,WAAA,CAAA2D,GAAA,EAACnE,cAAA,CAAAwE,OAAa,IAAE,CAAG;IACnCD,gBAAgB,EACf,CAAErC,aAAa,IACfL,IAAI,KAAK,QAAQ,KACbE,gBAAgB,iBAAI,IAAAvB,WAAA,CAAA2D,GAAA,EAACjE,gBAAA,CAAAsE,OAAe,IAAE,CAAC,IACxCxC,gBAAgB,iBAAI,IAAAxB,WAAA,CAAA2D,GAAA,EAAChE,gBAAA,CAAAqE,OAAe,IAAE,CAAG,CAC5C;IACD3D,OAAO,EACN,CAAEqB,aAAa,IACf,CAAED,iBAAiB,iBAAI,IAAAzB,WAAA,CAAA2D,GAAA,EAAC5E,UAAA,CAAAmF,iBAAiB,CAACC,IAAI;MAACC,KAAK,EAAC;IAAM,CAAE,CAC7D;IACDC,OAAO,eACN,IAAArE,WAAA,CAAAsE,IAAA,EAAAtE,WAAA,CAAAuE,QAAA;MAAA3D,QAAA,GACG,CAAEa,iBAAiB,IAAI,CAAEC,aAAa,iBACvC,IAAA1B,WAAA,CAAA2D,GAAA,EAACnE,cAAA,CAAAwE,OAAa,IAAE,CAChB,eAED,IAAAhE,WAAA,CAAA2D,GAAA,EAAC5D,gBAAA,CAAAiE,OAAqB,CAACG,IAAI;QAAAvD,QAAA,EACxBA,CAAE,CAAE4D,gBAAgB,CAAE,KACvBA,gBAAgB,GACfA,gBAAgB,gBAEhB,IAAAxE,WAAA,CAAAsE,IAAA,EAAAtE,WAAA,CAAAuE,QAAA;UAAA3D,QAAA,GACG,CAAEc,aAAa,KACdL,IAAI,KAAK,MAAM,IAChB,CAAEC,oBAAoB,CAAE,iBACxB,IAAAtB,WAAA,CAAA2D,GAAA,EAAC9D,WAAA,CAAAmE;UACA;UACA;UAAA;YACAhD,SAAS,EAAGA;UAAW,CACvB,CACD,EACA,CAAEU,aAAa,IAChB,CAAEyB,eAAe,IACjB9B,IAAI,KAAK,QAAQ,iBAChB,IAAArB,WAAA,CAAA2D,GAAA,EAACxE,YAAA,CAAAsF,YAAY;YAACC,cAAc;UAAA,CAAE,CAC9B,EACA,CAAEhD,aAAa,IACdJ,oBAAoB,IACrBD,IAAI,KAAK,QAAU,kBACpB,IAAArB,WAAA,CAAA2D,GAAA,EAAC7D,aAAA,CAAAkE,OAAY;YACZrD,MAAM,EAAGA,MAAQ;YACjBG,UAAU,EAAGA,UAAY;YACzBC,aAAa,EAAGA;YAChB;YACA;YAAA;YACAC,SAAS,EAAGA,SAAW;YACvBI,WAAW,EAAGA;UAAa,CAC3B,CACD,EACCR,QAAQ;QAAA,CACT;MACF,CAEyB,CAAC;IAAA,CAC5B,CACF;IACDL,MAAM,EACL,CAAEmB,aAAa,IACf,CAAED,iBAAiB,IACnB0B,eAAe,IACftB,oBAAoB,IACpBP,oBAAoB,IACpBS,eAAe,KAAK,UAAU,IAC9BV,IAAI,KAAK,QAAQ,iBAChB,IAAArB,WAAA,CAAA2D,GAAA,EAACxE,YAAA,CAAAwF,eAAe;MAACC,aAAa,EAAG9C;IAAe,CAAE,CAEnD;IACDxB,OAAO,EACN,CAAEoB,aAAa,gBACd,IAAA1B,WAAA,CAAA2D,GAAA,EAAC/D,kBAAA,CAAAoE,OAAiB;MACjBR,wBAAwB,EAAGA,wBAA0B;MACrDqB,yBAAyB,EACxBxB,2BACA;MACDC,8BAA8B,EAC7BA,8BACA;MACDwB,wBAAwB,EAAGjE;IAAc,CACzC,CAAC,GACCkE,SACJ;IACDC,SAAS,EAAG;MACXC,QAAQ,EAAEtD,gBAAgB;MAC1BuD,IAAI,EAAEtD;IACP;EAAG,CACH,CAAC;AAEJ","ignoreList":[]}
@@ -9,7 +9,6 @@ var _i18n = require("@wordpress/i18n");
9
9
  var _data = require("@wordpress/data");
10
10
  var _coreData = require("@wordpress/core-data");
11
11
  var _htmlEntities = require("@wordpress/html-entities");
12
- var _icons = require("@wordpress/icons");
13
12
  var _store = require("../../store");
14
13
  var _lockUnlock = require("../../lock-unlock");
15
14
  var _jsxRuntime = require("react/jsx-runtime");
@@ -58,17 +57,10 @@ function EntityRecordItem({
58
57
  checked: checked,
59
58
  onChange: onChange
60
59
  })
61
- }), hasPostMetaChanges && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PanelRow, {
62
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Flex, {
63
- className: "entities-saved-states__post-meta",
64
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
65
- className: "entities-saved-states__connections-icon",
66
- icon: _icons.connection,
67
- size: 24
68
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
69
- className: "entities-saved-states__bindings-text",
70
- children: (0, _i18n.__)('Post Meta.')
71
- })]
60
+ }), hasPostMetaChanges && /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
61
+ className: "entities-saved-states__changes",
62
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
63
+ children: (0, _i18n.__)('Post Meta.')
72
64
  })
73
65
  })]
74
66
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_data","_coreData","_htmlEntities","_icons","_store","_lockUnlock","_jsxRuntime","EntityRecordItem","record","checked","onChange","name","kind","title","key","entityRecordTitle","hasPostMetaChanges","useSelect","select","unlock","editorStore","template","coreStore","getEditedEntityRecord","__experimentalGetTemplateInfo","jsxs","Fragment","children","jsx","PanelRow","CheckboxControl","__nextHasNoMarginBottom","label","decodeEntities","__","Flex","className","Icon","icon","connection","size"],"sources":["@wordpress/editor/src/components/entities-saved-states/entity-record-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Icon, CheckboxControl, Flex, PanelRow } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { connection } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport default function EntityRecordItem( { record, checked, onChange } ) {\n\tconst { name, kind, title, key } = record;\n\n\t// Handle templates that might use default descriptive titles.\n\tconst { entityRecordTitle, hasPostMetaChanges } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( 'postType' !== kind || 'wp_template' !== name ) {\n\t\t\t\treturn {\n\t\t\t\t\tentityRecordTitle: title,\n\t\t\t\t\thasPostMetaChanges: unlock(\n\t\t\t\t\t\tselect( editorStore )\n\t\t\t\t\t).hasPostMetaChanges( name, key ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst template = select( coreStore ).getEditedEntityRecord(\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\tkey\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tentityRecordTitle:\n\t\t\t\t\tselect( editorStore ).__experimentalGetTemplateInfo(\n\t\t\t\t\t\ttemplate\n\t\t\t\t\t).title,\n\t\t\t\thasPostMetaChanges: unlock(\n\t\t\t\t\tselect( editorStore )\n\t\t\t\t).hasPostMetaChanges( name, key ),\n\t\t\t};\n\t\t},\n\t\t[ name, kind, title, key ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PanelRow>\n\t\t\t\t<CheckboxControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tdecodeEntities( entityRecordTitle ) || __( 'Untitled' )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ checked }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</PanelRow>\n\t\t\t{ hasPostMetaChanges && (\n\t\t\t\t<PanelRow>\n\t\t\t\t\t<Flex className=\"entities-saved-states__post-meta\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName=\"entities-saved-states__connections-icon\"\n\t\t\t\t\t\t\ticon={ connection }\n\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"entities-saved-states__bindings-text\">\n\t\t\t\t\t\t\t{ __( 'Post Meta.' ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Flex>\n\t\t\t\t</PanelRow>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAA2C,IAAAQ,WAAA,GAAAR,OAAA;AAd3C;AACA;AACA;;AAQA;AACA;AACA;;AAIe,SAASS,gBAAgBA,CAAE;EAAEC,MAAM;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACzE,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,KAAK;IAAEC;EAAI,CAAC,GAAGN,MAAM;;EAEzC;EACA,MAAM;IAAEO,iBAAiB;IAAEC;EAAmB,CAAC,GAAG,IAAAC,eAAS,EACxDC,MAAM,IAAM;IACb,IAAK,UAAU,KAAKN,IAAI,IAAI,aAAa,KAAKD,IAAI,EAAG;MACpD,OAAO;QACNI,iBAAiB,EAAEF,KAAK;QACxBG,kBAAkB,EAAE,IAAAG,kBAAM,EACzBD,MAAM,CAAEE,YAAY,CACrB,CAAC,CAACJ,kBAAkB,CAAEL,IAAI,EAAEG,GAAI;MACjC,CAAC;IACF;IAEA,MAAMO,QAAQ,GAAGH,MAAM,CAAEI,eAAU,CAAC,CAACC,qBAAqB,CACzDX,IAAI,EACJD,IAAI,EACJG,GACD,CAAC;IACD,OAAO;MACNC,iBAAiB,EAChBG,MAAM,CAAEE,YAAY,CAAC,CAACI,6BAA6B,CAClDH,QACD,CAAC,CAACR,KAAK;MACRG,kBAAkB,EAAE,IAAAG,kBAAM,EACzBD,MAAM,CAAEE,YAAY,CACrB,CAAC,CAACJ,kBAAkB,CAAEL,IAAI,EAAEG,GAAI;IACjC,CAAC;EACF,CAAC,EACD,CAAEH,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAEC,GAAG,CACzB,CAAC;EAED,oBACC,IAAAR,WAAA,CAAAmB,IAAA,EAAAnB,WAAA,CAAAoB,QAAA;IAAAC,QAAA,gBACC,IAAArB,WAAA,CAAAsB,GAAA,EAAC/B,WAAA,CAAAgC,QAAQ;MAAAF,QAAA,eACR,IAAArB,WAAA,CAAAsB,GAAA,EAAC/B,WAAA,CAAAiC,eAAe;QACfC,uBAAuB;QACvBC,KAAK,EACJ,IAAAC,4BAAc,EAAElB,iBAAkB,CAAC,IAAI,IAAAmB,QAAE,EAAE,UAAW,CACtD;QACDzB,OAAO,EAAGA,OAAS;QACnBC,QAAQ,EAAGA;MAAU,CACrB;IAAC,CACO,CAAC,EACTM,kBAAkB,iBACnB,IAAAV,WAAA,CAAAsB,GAAA,EAAC/B,WAAA,CAAAgC,QAAQ;MAAAF,QAAA,eACR,IAAArB,WAAA,CAAAmB,IAAA,EAAC5B,WAAA,CAAAsC,IAAI;QAACC,SAAS,EAAC,kCAAkC;QAAAT,QAAA,gBACjD,IAAArB,WAAA,CAAAsB,GAAA,EAAC/B,WAAA,CAAAwC,IAAI;UACJD,SAAS,EAAC,yCAAyC;UACnDE,IAAI,EAAGC,iBAAY;UACnBC,IAAI,EAAG;QAAI,CACX,CAAC,eACF,IAAAlC,WAAA,CAAAsB,GAAA;UAAMQ,SAAS,EAAC,sCAAsC;UAAAT,QAAA,EACnD,IAAAO,QAAE,EAAE,YAAa;QAAC,CACf,CAAC;MAAA,CACF;IAAC,CACE,CACV;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_data","_coreData","_htmlEntities","_store","_lockUnlock","_jsxRuntime","EntityRecordItem","record","checked","onChange","name","kind","title","key","entityRecordTitle","hasPostMetaChanges","useSelect","select","unlock","editorStore","template","coreStore","getEditedEntityRecord","__experimentalGetTemplateInfo","jsxs","Fragment","children","jsx","PanelRow","CheckboxControl","__nextHasNoMarginBottom","label","decodeEntities","__","className"],"sources":["@wordpress/editor/src/components/entities-saved-states/entity-record-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CheckboxControl, PanelRow } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport default function EntityRecordItem( { record, checked, onChange } ) {\n\tconst { name, kind, title, key } = record;\n\n\t// Handle templates that might use default descriptive titles.\n\tconst { entityRecordTitle, hasPostMetaChanges } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( 'postType' !== kind || 'wp_template' !== name ) {\n\t\t\t\treturn {\n\t\t\t\t\tentityRecordTitle: title,\n\t\t\t\t\thasPostMetaChanges: unlock(\n\t\t\t\t\t\tselect( editorStore )\n\t\t\t\t\t).hasPostMetaChanges( name, key ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst template = select( coreStore ).getEditedEntityRecord(\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\tkey\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tentityRecordTitle:\n\t\t\t\t\tselect( editorStore ).__experimentalGetTemplateInfo(\n\t\t\t\t\t\ttemplate\n\t\t\t\t\t).title,\n\t\t\t\thasPostMetaChanges: unlock(\n\t\t\t\t\tselect( editorStore )\n\t\t\t\t).hasPostMetaChanges( name, key ),\n\t\t\t};\n\t\t},\n\t\t[ name, kind, title, key ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PanelRow>\n\t\t\t\t<CheckboxControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tdecodeEntities( entityRecordTitle ) || __( 'Untitled' )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ checked }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</PanelRow>\n\t\t\t{ hasPostMetaChanges && (\n\t\t\t\t<ul className=\"entities-saved-states__changes\">\n\t\t\t\t\t<li>{ __( 'Post Meta.' ) }</li>\n\t\t\t\t</ul>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAA2C,IAAAO,WAAA,GAAAP,OAAA;AAb3C;AACA;AACA;;AAOA;AACA;AACA;;AAIe,SAASQ,gBAAgBA,CAAE;EAAEC,MAAM;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACzE,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,KAAK;IAAEC;EAAI,CAAC,GAAGN,MAAM;;EAEzC;EACA,MAAM;IAAEO,iBAAiB;IAAEC;EAAmB,CAAC,GAAG,IAAAC,eAAS,EACxDC,MAAM,IAAM;IACb,IAAK,UAAU,KAAKN,IAAI,IAAI,aAAa,KAAKD,IAAI,EAAG;MACpD,OAAO;QACNI,iBAAiB,EAAEF,KAAK;QACxBG,kBAAkB,EAAE,IAAAG,kBAAM,EACzBD,MAAM,CAAEE,YAAY,CACrB,CAAC,CAACJ,kBAAkB,CAAEL,IAAI,EAAEG,GAAI;MACjC,CAAC;IACF;IAEA,MAAMO,QAAQ,GAAGH,MAAM,CAAEI,eAAU,CAAC,CAACC,qBAAqB,CACzDX,IAAI,EACJD,IAAI,EACJG,GACD,CAAC;IACD,OAAO;MACNC,iBAAiB,EAChBG,MAAM,CAAEE,YAAY,CAAC,CAACI,6BAA6B,CAClDH,QACD,CAAC,CAACR,KAAK;MACRG,kBAAkB,EAAE,IAAAG,kBAAM,EACzBD,MAAM,CAAEE,YAAY,CACrB,CAAC,CAACJ,kBAAkB,CAAEL,IAAI,EAAEG,GAAI;IACjC,CAAC;EACF,CAAC,EACD,CAAEH,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAEC,GAAG,CACzB,CAAC;EAED,oBACC,IAAAR,WAAA,CAAAmB,IAAA,EAAAnB,WAAA,CAAAoB,QAAA;IAAAC,QAAA,gBACC,IAAArB,WAAA,CAAAsB,GAAA,EAAC9B,WAAA,CAAA+B,QAAQ;MAAAF,QAAA,eACR,IAAArB,WAAA,CAAAsB,GAAA,EAAC9B,WAAA,CAAAgC,eAAe;QACfC,uBAAuB;QACvBC,KAAK,EACJ,IAAAC,4BAAc,EAAElB,iBAAkB,CAAC,IAAI,IAAAmB,QAAE,EAAE,UAAW,CACtD;QACDzB,OAAO,EAAGA,OAAS;QACnBC,QAAQ,EAAGA;MAAU,CACrB;IAAC,CACO,CAAC,EACTM,kBAAkB,iBACnB,IAAAV,WAAA,CAAAsB,GAAA;MAAIO,SAAS,EAAC,gCAAgC;MAAAR,QAAA,eAC7C,IAAArB,WAAA,CAAAsB,GAAA;QAAAD,QAAA,EAAM,IAAAO,QAAE,EAAE,YAAa;MAAC,CAAM;IAAC,CAC5B,CACJ;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
@@ -9,13 +9,11 @@ exports.mergeBaseAndUserConfigs = mergeBaseAndUserConfigs;
9
9
  exports.useGlobalStylesContext = useGlobalStylesContext;
10
10
  var _deepmerge = _interopRequireDefault(require("deepmerge"));
11
11
  var _isPlainObject = require("is-plain-object");
12
- var _blocks = require("@wordpress/blocks");
13
12
  var _blockEditor = require("@wordpress/block-editor");
14
13
  var _coreData = require("@wordpress/core-data");
15
14
  var _data = require("@wordpress/data");
16
15
  var _element = require("@wordpress/element");
17
16
  var _lockUnlock = require("../../lock-unlock");
18
- var _setNestedValue = _interopRequireDefault(require("../../utils/set-nested-value"));
19
17
  var _jsxRuntime = require("react/jsx-runtime");
20
18
  /**
21
19
  * External dependencies
@@ -41,62 +39,6 @@ function mergeBaseAndUserConfigs(base, user) {
41
39
  isMergeableObject: _isPlainObject.isPlainObject
42
40
  });
43
41
  }
44
-
45
- /**
46
- * Resolves shared block style variation definitions from the user origin
47
- * under their respective block types and registers the block style if required.
48
- *
49
- * @param {Object} userConfig Current user origin global styles data.
50
- * @return {Object} Updated global styles data.
51
- */
52
- function useResolvedBlockStyleVariationsConfig(userConfig) {
53
- const {
54
- getBlockStyles
55
- } = (0, _data.useSelect)(_blocks.store);
56
- const sharedVariations = userConfig?.styles?.blocks?.variations;
57
-
58
- // Collect block style variation definitions to merge and unregistered
59
- // block styles for automatic registration.
60
- const [userConfigToMerge, unregisteredStyles] = (0, _element.useMemo)(() => {
61
- if (!sharedVariations) {
62
- return [];
63
- }
64
- const variationsConfigToMerge = {};
65
- const unregisteredBlockStyles = [];
66
- Object.entries(sharedVariations).forEach(([variationName, variation]) => {
67
- if (!variation?.blockTypes?.length) {
68
- return;
69
- }
70
- variation.blockTypes.forEach(blockName => {
71
- const blockStyles = getBlockStyles(blockName);
72
- const registeredBlockStyle = blockStyles.find(({
73
- name
74
- }) => name === variationName);
75
- if (!registeredBlockStyle) {
76
- unregisteredBlockStyles.push([blockName, {
77
- name: variationName,
78
- label: variationName
79
- }]);
80
- }
81
- const path = ['styles', 'blocks', blockName, 'variations', variationName];
82
- (0, _setNestedValue.default)(variationsConfigToMerge, path, variation);
83
- });
84
- });
85
- return [variationsConfigToMerge, unregisteredBlockStyles];
86
- }, [sharedVariations, getBlockStyles]);
87
-
88
- // Automatically register missing block styles from variations.
89
- (0, _element.useEffect)(() => unregisteredStyles?.forEach(unregisteredStyle => (0, _blocks.registerBlockStyle)(...unregisteredStyle)), [unregisteredStyles]);
90
-
91
- // Merge shared block style variation definitions into overall user config.
92
- const updatedConfig = (0, _element.useMemo)(() => {
93
- if (!userConfigToMerge) {
94
- return userConfig;
95
- }
96
- return (0, _deepmerge.default)(userConfigToMerge, userConfig);
97
- }, [userConfigToMerge, userConfig]);
98
- return updatedConfig;
99
- }
100
42
  function useGlobalStylesUserConfig() {
101
43
  const {
102
44
  globalStylesId,
@@ -136,7 +78,14 @@ function useGlobalStylesUserConfig() {
136
78
  _links: _links !== null && _links !== void 0 ? _links : {}
137
79
  };
138
80
  }, [settings, styles, _links]);
139
- const setConfig = (0, _element.useCallback)((callback, options = {}) => {
81
+ const setConfig = (0, _element.useCallback)(
82
+ /**
83
+ * Set the global styles config.
84
+ * @param {Function|Object} callbackOrObject If the callbackOrObject is a function, pass the current config to the callback so the consumer can merge values.
85
+ * Otherwise, overwrite the current config with the incoming object.
86
+ * @param {Object} options Options for editEntityRecord Core selector.
87
+ */
88
+ (callbackOrObject, options = {}) => {
140
89
  var _record$styles, _record$settings, _record$_links;
141
90
  const record = getEditedEntityRecord('root', 'globalStyles', globalStylesId);
142
91
  const currentConfig = {
@@ -144,13 +93,13 @@ function useGlobalStylesUserConfig() {
144
93
  settings: (_record$settings = record?.settings) !== null && _record$settings !== void 0 ? _record$settings : {},
145
94
  _links: (_record$_links = record?._links) !== null && _record$_links !== void 0 ? _record$_links : {}
146
95
  };
147
- const updatedConfig = callback(currentConfig);
96
+ const updatedConfig = typeof callbackOrObject === 'function' ? callbackOrObject(currentConfig) : callbackOrObject;
148
97
  editEntityRecord('root', 'globalStyles', globalStylesId, {
149
98
  styles: cleanEmptyObject(updatedConfig.styles) || {},
150
99
  settings: cleanEmptyObject(updatedConfig.settings) || {},
151
100
  _links: cleanEmptyObject(updatedConfig._links) || {}
152
101
  }, options);
153
- }, [globalStylesId]);
102
+ }, [globalStylesId, editEntityRecord, getEditedEntityRecord]);
154
103
  return [isReady, config, setConfig];
155
104
  }
156
105
  function useGlobalStylesBaseConfig() {
@@ -162,22 +111,21 @@ function useGlobalStylesBaseConfig() {
162
111
  function useGlobalStylesContext() {
163
112
  const [isUserConfigReady, userConfig, setUserConfig] = useGlobalStylesUserConfig();
164
113
  const [isBaseConfigReady, baseConfig] = useGlobalStylesBaseConfig();
165
- const userConfigWithVariations = useResolvedBlockStyleVariationsConfig(userConfig);
166
114
  const mergedConfig = (0, _element.useMemo)(() => {
167
- if (!baseConfig || !userConfigWithVariations) {
115
+ if (!baseConfig || !userConfig) {
168
116
  return {};
169
117
  }
170
- return mergeBaseAndUserConfigs(baseConfig, userConfigWithVariations);
171
- }, [userConfigWithVariations, baseConfig]);
118
+ return mergeBaseAndUserConfigs(baseConfig, userConfig);
119
+ }, [userConfig, baseConfig]);
172
120
  const context = (0, _element.useMemo)(() => {
173
121
  return {
174
122
  isReady: isUserConfigReady && isBaseConfigReady,
175
- user: userConfigWithVariations,
123
+ user: userConfig,
176
124
  base: baseConfig,
177
125
  merged: mergedConfig,
178
126
  setUserConfig
179
127
  };
180
- }, [mergedConfig, userConfigWithVariations, baseConfig, setUserConfig, isUserConfigReady, isBaseConfigReady]);
128
+ }, [mergedConfig, userConfig, baseConfig, setUserConfig, isUserConfigReady, isBaseConfigReady]);
181
129
  return context;
182
130
  }
183
131
  function GlobalStylesProvider({
@@ -1 +1 @@
1
- {"version":3,"names":["_deepmerge","_interopRequireDefault","require","_isPlainObject","_blocks","_blockEditor","_coreData","_data","_element","_lockUnlock","_setNestedValue","_jsxRuntime","GlobalStylesContext","cleanEmptyObject","unlock","blockEditorPrivateApis","mergeBaseAndUserConfigs","base","user","deepmerge","isMergeableObject","isPlainObject","useResolvedBlockStyleVariationsConfig","userConfig","getBlockStyles","useSelect","blocksStore","sharedVariations","styles","blocks","variations","userConfigToMerge","unregisteredStyles","useMemo","variationsConfigToMerge","unregisteredBlockStyles","Object","entries","forEach","variationName","variation","blockTypes","length","blockName","blockStyles","registeredBlockStyle","find","name","push","label","path","setNestedValue","useEffect","unregisteredStyle","registerBlockStyle","updatedConfig","useGlobalStylesUserConfig","globalStylesId","isReady","settings","_links","select","getEditedEntityRecord","hasFinishedResolution","coreStore","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","undefined","hasResolved","editEntityRecord","useDispatch","config","setConfig","useCallback","callback","options","_record$styles","_record$settings","_record$_links","currentConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","setUserConfig","isBaseConfigReady","userConfigWithVariations","mergedConfig","context","merged","GlobalStylesProvider","children","jsx","Provider","value"],"sources":["@wordpress/editor/src/components/global-styles-provider/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport deepmerge from 'deepmerge';\nimport { isPlainObject } from 'is-plain-object';\n\n/**\n * WordPress dependencies\n */\nimport { registerBlockStyle, store as blocksStore } from '@wordpress/blocks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useMemo, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport setNestedValue from '../../utils/set-nested-value';\n\nconst { GlobalStylesContext, cleanEmptyObject } = unlock(\n\tblockEditorPrivateApis\n);\n\nexport function mergeBaseAndUserConfigs( base, user ) {\n\treturn deepmerge( base, user, {\n\t\t// We only pass as arrays the presets,\n\t\t// in which case we want the new array of values\n\t\t// to override the old array (no merging).\n\t\tisMergeableObject: isPlainObject,\n\t} );\n}\n\n/**\n * Resolves shared block style variation definitions from the user origin\n * under their respective block types and registers the block style if required.\n *\n * @param {Object} userConfig Current user origin global styles data.\n * @return {Object} Updated global styles data.\n */\nfunction useResolvedBlockStyleVariationsConfig( userConfig ) {\n\tconst { getBlockStyles } = useSelect( blocksStore );\n\tconst sharedVariations = userConfig?.styles?.blocks?.variations;\n\n\t// Collect block style variation definitions to merge and unregistered\n\t// block styles for automatic registration.\n\tconst [ userConfigToMerge, unregisteredStyles ] = useMemo( () => {\n\t\tif ( ! sharedVariations ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst variationsConfigToMerge = {};\n\t\tconst unregisteredBlockStyles = [];\n\n\t\tObject.entries( sharedVariations ).forEach(\n\t\t\t( [ variationName, variation ] ) => {\n\t\t\t\tif ( ! variation?.blockTypes?.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvariation.blockTypes.forEach( ( blockName ) => {\n\t\t\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\t\t\tconst registeredBlockStyle = blockStyles.find(\n\t\t\t\t\t\t( { name } ) => name === variationName\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! registeredBlockStyle ) {\n\t\t\t\t\t\tunregisteredBlockStyles.push( [\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: variationName,\n\t\t\t\t\t\t\t\tlabel: variationName,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] );\n\t\t\t\t\t}\n\n\t\t\t\t\tconst path = [\n\t\t\t\t\t\t'styles',\n\t\t\t\t\t\t'blocks',\n\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t'variations',\n\t\t\t\t\t\tvariationName,\n\t\t\t\t\t];\n\t\t\t\t\tsetNestedValue( variationsConfigToMerge, path, variation );\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\treturn [ variationsConfigToMerge, unregisteredBlockStyles ];\n\t}, [ sharedVariations, getBlockStyles ] );\n\n\t// Automatically register missing block styles from variations.\n\tuseEffect(\n\t\t() =>\n\t\t\tunregisteredStyles?.forEach( ( unregisteredStyle ) =>\n\t\t\t\tregisterBlockStyle( ...unregisteredStyle )\n\t\t\t),\n\t\t[ unregisteredStyles ]\n\t);\n\n\t// Merge shared block style variation definitions into overall user config.\n\tconst updatedConfig = useMemo( () => {\n\t\tif ( ! userConfigToMerge ) {\n\t\t\treturn userConfig;\n\t\t}\n\n\t\treturn deepmerge( userConfigToMerge, userConfig );\n\t}, [ userConfigToMerge, userConfig ] );\n\n\treturn updatedConfig;\n}\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, isReady, settings, styles, _links } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _globalStylesId =\n\t\t\t\tselect( coreStore ).__experimentalGetCurrentGlobalStylesId();\n\t\t\tconst record = _globalStylesId\n\t\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t_globalStylesId\n\t\t\t\t )\n\t\t\t\t: undefined;\n\n\t\t\tlet hasResolved = false;\n\t\t\tif (\n\t\t\t\thasFinishedResolution(\n\t\t\t\t\t'__experimentalGetCurrentGlobalStylesId'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\thasResolved = _globalStylesId\n\t\t\t\t\t? hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t ] )\n\t\t\t\t\t: true;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tglobalStylesId: _globalStylesId,\n\t\t\t\tisReady: hasResolved,\n\t\t\t\tsettings: record?.settings,\n\t\t\t\tstyles: record?.styles,\n\t\t\t\t_links: record?._links,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: settings ?? {},\n\t\t\tstyles: styles ?? {},\n\t\t\t_links: _links ?? {},\n\t\t};\n\t}, [ settings, styles, _links ] );\n\n\tconst setConfig = useCallback(\n\t\t( callback, options = {} ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: record?.settings ?? {},\n\t\t\t\t_links: record?._links ?? {},\n\t\t\t};\n\t\t\tconst updatedConfig = callback( currentConfig );\n\n\t\t\teditEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t{\n\t\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\t\tsettings: cleanEmptyObject( updatedConfig.settings ) || {},\n\t\t\t\t\t_links: cleanEmptyObject( updatedConfig._links ) || {},\n\t\t\t\t},\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\t\t[ globalStylesId ]\n\t);\n\n\treturn [ isReady, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeBaseGlobalStyles();\n\t}, [] );\n\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nexport function useGlobalStylesContext() {\n\tconst [ isUserConfigReady, userConfig, setUserConfig ] =\n\t\tuseGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\tconst userConfigWithVariations =\n\t\tuseResolvedBlockStyleVariationsConfig( userConfig );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfigWithVariations ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfigWithVariations );\n\t}, [ userConfigWithVariations, baseConfig ] );\n\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfigWithVariations,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfigWithVariations,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_deepmerge","_interopRequireDefault","require","_isPlainObject","_blockEditor","_coreData","_data","_element","_lockUnlock","_jsxRuntime","GlobalStylesContext","cleanEmptyObject","unlock","blockEditorPrivateApis","mergeBaseAndUserConfigs","base","user","deepmerge","isMergeableObject","isPlainObject","useGlobalStylesUserConfig","globalStylesId","isReady","settings","styles","_links","useSelect","select","getEditedEntityRecord","hasFinishedResolution","coreStore","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","undefined","hasResolved","editEntityRecord","useDispatch","config","useMemo","setConfig","useCallback","callbackOrObject","options","_record$styles","_record$settings","_record$_links","currentConfig","updatedConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","userConfig","setUserConfig","isBaseConfigReady","mergedConfig","context","merged","GlobalStylesProvider","children","jsx","Provider","value"],"sources":["@wordpress/editor/src/components/global-styles-provider/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport deepmerge from 'deepmerge';\nimport { isPlainObject } from 'is-plain-object';\n\n/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext, cleanEmptyObject } = unlock(\n\tblockEditorPrivateApis\n);\n\nexport function mergeBaseAndUserConfigs( base, user ) {\n\treturn deepmerge( base, user, {\n\t\t// We only pass as arrays the presets,\n\t\t// in which case we want the new array of values\n\t\t// to override the old array (no merging).\n\t\tisMergeableObject: isPlainObject,\n\t} );\n}\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, isReady, settings, styles, _links } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _globalStylesId =\n\t\t\t\tselect( coreStore ).__experimentalGetCurrentGlobalStylesId();\n\t\t\tconst record = _globalStylesId\n\t\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t_globalStylesId\n\t\t\t\t )\n\t\t\t\t: undefined;\n\n\t\t\tlet hasResolved = false;\n\t\t\tif (\n\t\t\t\thasFinishedResolution(\n\t\t\t\t\t'__experimentalGetCurrentGlobalStylesId'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\thasResolved = _globalStylesId\n\t\t\t\t\t? hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t ] )\n\t\t\t\t\t: true;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tglobalStylesId: _globalStylesId,\n\t\t\t\tisReady: hasResolved,\n\t\t\t\tsettings: record?.settings,\n\t\t\t\tstyles: record?.styles,\n\t\t\t\t_links: record?._links,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: settings ?? {},\n\t\t\tstyles: styles ?? {},\n\t\t\t_links: _links ?? {},\n\t\t};\n\t}, [ settings, styles, _links ] );\n\n\tconst setConfig = useCallback(\n\t\t/**\n\t\t * Set the global styles config.\n\t\t * @param {Function|Object} callbackOrObject If the callbackOrObject is a function, pass the current config to the callback so the consumer can merge values.\n\t\t * Otherwise, overwrite the current config with the incoming object.\n\t\t * @param {Object} options Options for editEntityRecord Core selector.\n\t\t */\n\t\t( callbackOrObject, options = {} ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: record?.settings ?? {},\n\t\t\t\t_links: record?._links ?? {},\n\t\t\t};\n\n\t\t\tconst updatedConfig =\n\t\t\t\ttypeof callbackOrObject === 'function'\n\t\t\t\t\t? callbackOrObject( currentConfig )\n\t\t\t\t\t: callbackOrObject;\n\n\t\t\teditEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t{\n\t\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\t\tsettings: cleanEmptyObject( updatedConfig.settings ) || {},\n\t\t\t\t\t_links: cleanEmptyObject( updatedConfig._links ) || {},\n\t\t\t\t},\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\t\t[ globalStylesId, editEntityRecord, getEditedEntityRecord ]\n\t);\n\n\treturn [ isReady, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeBaseGlobalStyles();\n\t}, [] );\n\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nexport function useGlobalStylesContext() {\n\tconst [ isUserConfigReady, userConfig, setUserConfig ] =\n\t\tuseGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfig ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t}, [ userConfig, baseConfig ] );\n\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfig,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfig,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -131,6 +131,15 @@ const deletePostAction = {
131
131
  });
132
132
  }
133
133
  };
134
+ function useCanUserEligibilityCheckPostType(capability, resource, action) {
135
+ const registry = (0, _data.useRegistry)();
136
+ return (0, _element.useMemo)(() => ({
137
+ ...action,
138
+ isEligible(item) {
139
+ return action.isEligible(item) && registry.select(_coreData.store).canUser(capability, resource, item.id);
140
+ }
141
+ }), [action, registry, capability, resource]);
142
+ }
134
143
  const trashPostAction = {
135
144
  id: 'move-to-trash',
136
145
  label: (0, _i18n.__)('Move to Trash'),
@@ -250,7 +259,10 @@ const trashPostAction = {
250
259
  });
251
260
  }
252
261
  };
253
- function usePermanentlyDeletePostAction() {
262
+ function useTrashPostAction(resource) {
263
+ return useCanUserEligibilityCheckPostType('delete', resource, trashPostAction);
264
+ }
265
+ function usePermanentlyDeletePostAction(resource) {
254
266
  const {
255
267
  createSuccessNotice,
256
268
  createErrorNotice
@@ -258,7 +270,7 @@ function usePermanentlyDeletePostAction() {
258
270
  const {
259
271
  deleteEntityRecord
260
272
  } = (0, _data.useDispatch)(_coreData.store);
261
- return (0, _element.useMemo)(() => ({
273
+ const permanentlyDeletePostAction = (0, _element.useMemo)(() => ({
262
274
  id: 'permanently-delete',
263
275
  label: (0, _i18n.__)('Permanently delete'),
264
276
  supportsBulk: true,
@@ -330,8 +342,9 @@ function usePermanentlyDeletePostAction() {
330
342
  }
331
343
  }
332
344
  }), [createSuccessNotice, createErrorNotice, deleteEntityRecord]);
345
+ return useCanUserEligibilityCheckPostType('delete', resource, permanentlyDeletePostAction);
333
346
  }
334
- function useRestorePostAction() {
347
+ function useRestorePostAction(resource) {
335
348
  const {
336
349
  createSuccessNotice,
337
350
  createErrorNotice
@@ -340,7 +353,7 @@ function useRestorePostAction() {
340
353
  editEntityRecord,
341
354
  saveEditedEntityRecord
342
355
  } = (0, _data.useDispatch)(_coreData.store);
343
- return (0, _element.useMemo)(() => ({
356
+ const restorePostAction = (0, _element.useMemo)(() => ({
344
357
  id: 'restore',
345
358
  label: (0, _i18n.__)('Restore'),
346
359
  isPrimary: true,
@@ -420,6 +433,7 @@ function useRestorePostAction() {
420
433
  }
421
434
  }
422
435
  }), [createSuccessNotice, createErrorNotice, editEntityRecord, saveEditedEntityRecord]);
436
+ return useCanUserEligibilityCheckPostType('update', resource, restorePostAction);
423
437
  }
424
438
  const viewPostAction = {
425
439
  id: 'view-post',
@@ -439,6 +453,7 @@ const viewPostAction = {
439
453
  };
440
454
  const postRevisionsAction = {
441
455
  id: 'view-post-revisions',
456
+ context: 'list',
442
457
  label(items) {
443
458
  var _items$0$_links$versi;
444
459
  const revisionsCount = (_items$0$_links$versi = items[0]._links?.['version-history']?.[0]?.count) !== null && _items$0$_links$versi !== void 0 ? _items$0$_links$versi : 0;
@@ -561,6 +576,9 @@ const renamePostAction = {
561
576
  });
562
577
  }
563
578
  };
579
+ function useRenamePostAction(resource) {
580
+ return useCanUserEligibilityCheckPostType('update', resource, renamePostAction);
581
+ }
564
582
  const duplicatePostAction = {
565
583
  id: 'duplicate-post',
566
584
  label: (0, _i18n._x)('Duplicate', 'action label'),
@@ -615,7 +633,7 @@ const duplicatePostAction = {
615
633
  });
616
634
  createSuccessNotice((0, _i18n.sprintf)(
617
635
  // translators: %s: Title of the created template e.g: "Category".
618
- (0, _i18n.__)('"%s" successfully created.'), newItem.title?.rendered || title), {
636
+ (0, _i18n.__)('"%s" successfully created.'), (0, _htmlEntities.decodeEntities)(newItem.title?.rendered || title)), {
619
637
  id: 'duplicate-post-action',
620
638
  type: 'snackbar'
621
639
  });
@@ -815,19 +833,35 @@ const duplicateTemplatePartAction = exports.duplicateTemplatePartAction = {
815
833
  });
816
834
  }
817
835
  };
818
- function usePostActions(postType, onActionPerformed) {
836
+ function usePostActions({
837
+ postType,
838
+ onActionPerformed,
839
+ context
840
+ }) {
819
841
  const {
820
- postTypeObject
842
+ postTypeObject,
843
+ resource,
844
+ cachedCanUserResolvers,
845
+ userCanCreatePostType
821
846
  } = (0, _data.useSelect)(select => {
822
847
  const {
823
- getPostType
848
+ getPostType,
849
+ getCachedResolvers,
850
+ canUser
824
851
  } = select(_coreData.store);
852
+ const _postTypeObject = getPostType(postType);
853
+ const _resource = _postTypeObject?.rest_base || '';
825
854
  return {
826
- postTypeObject: getPostType(postType)
855
+ postTypeObject: _postTypeObject,
856
+ resource: _resource,
857
+ cachedCanUserResolvers: getCachedResolvers()?.canUser,
858
+ userCanCreatePostType: canUser('create', _resource)
827
859
  };
828
860
  }, [postType]);
829
- const permanentlyDeletePostAction = usePermanentlyDeletePostAction();
830
- const restorePostAction = useRestorePostAction();
861
+ const trashPostActionForPostType = useTrashPostAction(resource);
862
+ const permanentlyDeletePostActionForPostType = usePermanentlyDeletePostAction(resource);
863
+ const renamePostActionForPostType = useRenamePostAction(resource);
864
+ const restorePostActionForPostType = useRestorePostAction(resource);
831
865
  const isTemplateOrTemplatePart = [_constants.TEMPLATE_POST_TYPE, _constants.TEMPLATE_PART_POST_TYPE].includes(postType);
832
866
  const isPattern = postType === _constants.PATTERN_POST_TYPE;
833
867
  const isLoaded = !!postTypeObject;
@@ -837,7 +871,19 @@ function usePostActions(postType, onActionPerformed) {
837
871
  if (!isLoaded) {
838
872
  return [];
839
873
  }
840
- const actions = [postTypeObject?.viewable && viewPostAction, supportsRevisions && postRevisionsAction, globalThis.IS_GUTENBERG_PLUGIN ? !isTemplateOrTemplatePart && !isPattern && duplicatePostAction : false, isTemplateOrTemplatePart && duplicateTemplatePartAction, isPattern && duplicatePatternAction, supportsTitle && renamePostAction, isPattern && _exportPatternAction.exportPatternAsJSONAction, isTemplateOrTemplatePart ? resetTemplateAction : restorePostAction, isTemplateOrTemplatePart || isPattern ? deletePostAction : trashPostAction, !isTemplateOrTemplatePart && permanentlyDeletePostAction].filter(Boolean);
874
+ let actions = [postTypeObject?.viewable && viewPostAction, supportsRevisions && postRevisionsAction, globalThis.IS_GUTENBERG_PLUGIN ? !isTemplateOrTemplatePart && !isPattern && duplicatePostAction : false, isTemplateOrTemplatePart && userCanCreatePostType && duplicateTemplatePartAction, isPattern && userCanCreatePostType && duplicatePatternAction, supportsTitle && renamePostActionForPostType, isPattern && _exportPatternAction.exportPatternAsJSONAction, isTemplateOrTemplatePart ? resetTemplateAction : restorePostActionForPostType, isTemplateOrTemplatePart || isPattern ? deletePostAction : trashPostActionForPostType, !isTemplateOrTemplatePart && permanentlyDeletePostActionForPostType].filter(Boolean);
875
+ // Filter actions based on provided context. If not provided
876
+ // all actions are returned. We'll have a single entry for getting the actions
877
+ // and the consumer should provide the context to filter the actions, if needed.
878
+ // Actions should also provide the `context` they support, if it's specific, to
879
+ // compare with the provided context to get all the actions.
880
+ // Right now the only supported context is `list`.
881
+ actions = actions.filter(action => {
882
+ if (!action.context) {
883
+ return true;
884
+ }
885
+ return action.context === context;
886
+ });
841
887
  if (onActionPerformed) {
842
888
  for (let i = 0; i < actions.length; ++i) {
843
889
  if (actions[i].callback) {
@@ -874,6 +920,9 @@ function usePostActions(postType, onActionPerformed) {
874
920
  }
875
921
  }
876
922
  return actions;
877
- }, [isTemplateOrTemplatePart, isPattern, postTypeObject?.viewable, permanentlyDeletePostAction, restorePostAction, onActionPerformed, isLoaded, supportsRevisions, supportsTitle]);
923
+ // We are making this use memo depend on cachedCanUserResolvers as a way to make the component using this hook re-render
924
+ // when user capabilities are resolved. This makes sure the isEligible functions of actions dependent on capabilities are re-evaluated.
925
+ // eslint-disable-next-line react-hooks/exhaustive-deps
926
+ }, [isTemplateOrTemplatePart, isPattern, postTypeObject?.viewable, permanentlyDeletePostActionForPostType, restorePostActionForPostType, renamePostActionForPostType, trashPostActionForPostType, onActionPerformed, isLoaded, supportsRevisions, supportsTitle, context, userCanCreatePostType, cachedCanUserResolvers]);
878
927
  }
879
928
  //# sourceMappingURL=actions.js.map