@wordpress/editor 14.0.1 → 14.1.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.
- package/CHANGELOG.md +2 -0
- package/README.md +164 -20
- package/build/components/document-tools/index.js +12 -3
- package/build/components/document-tools/index.js.map +1 -1
- package/build/components/editor/index.js +18 -24
- package/build/components/editor/index.js.map +1 -1
- package/build/components/entities-saved-states/hooks/use-is-dirty.js +9 -0
- package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
- package/build/components/entities-saved-states/index.js +28 -0
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/global-styles-provider/index.js +9 -2
- package/build/components/global-styles-provider/index.js.map +1 -1
- package/build/components/index.js +7 -0
- package/build/components/index.js.map +1 -1
- package/build/components/post-actions/actions.js +9 -4
- package/build/components/post-actions/actions.js.map +1 -1
- package/build/components/post-publish-button/index.js +4 -0
- package/build/components/post-publish-button/index.js.map +1 -1
- package/build/components/post-publish-button/label.js +5 -0
- package/build/components/post-publish-button/label.js.map +1 -1
- package/build/components/post-publish-panel/index.js +4 -0
- package/build/components/post-publish-panel/index.js.map +1 -1
- package/build/components/post-sticky/check.js +8 -0
- package/build/components/post-sticky/check.js.map +1 -1
- package/build/components/post-sticky/index.js +5 -1
- package/build/components/post-sticky/index.js.map +1 -1
- package/build/components/post-switch-to-draft-button/index.js +11 -2
- package/build/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build/components/post-sync-status/index.js +5 -1
- package/build/components/post-sync-status/index.js.map +1 -1
- package/build/components/post-taxonomies/check.js +8 -0
- package/build/components/post-taxonomies/check.js.map +1 -1
- package/build/components/post-taxonomies/flat-term-selector.js +14 -2
- package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/index.js +9 -0
- package/build/components/post-taxonomies/index.js.map +1 -1
- package/build/components/post-taxonomies/panel.js +10 -0
- package/build/components/post-taxonomies/panel.js.map +1 -1
- package/build/components/post-title/index.js +4 -8
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/post-title/post-title-raw.js +3 -7
- package/build/components/post-title/post-title-raw.js.map +1 -1
- package/build/components/post-trash/check.js +8 -0
- package/build/components/post-trash/check.js.map +1 -1
- package/build/components/post-trash/index.js +6 -1
- package/build/components/post-trash/index.js.map +1 -1
- package/build/components/post-visibility/index.js +1 -0
- package/build/components/post-visibility/index.js.map +1 -1
- package/build/components/provider/index.js +18 -15
- package/build/components/provider/index.js.map +1 -1
- package/build/components/sidebar/post-summary.js +1 -1
- package/build/components/sidebar/post-summary.js.map +1 -1
- package/build/components/table-of-contents/index.js +11 -0
- package/build/components/table-of-contents/index.js.map +1 -1
- package/build/components/template-part-menu-items/convert-to-regular.js +38 -0
- package/build/components/template-part-menu-items/convert-to-regular.js.map +1 -0
- package/build/components/template-part-menu-items/convert-to-template-part.js +77 -0
- package/build/components/template-part-menu-items/convert-to-template-part.js.map +1 -0
- package/build/components/template-part-menu-items/index.js +67 -0
- package/build/components/template-part-menu-items/index.js.map +1 -0
- package/build/components/template-part-menu-items/index.native.js +10 -0
- package/build/components/template-part-menu-items/index.native.js.map +1 -0
- package/build/components/template-validation-notice/index.js +1 -0
- package/build/components/template-validation-notice/index.js.map +1 -1
- package/build/components/theme-support-check/index.js +9 -0
- package/build/components/theme-support-check/index.js.map +1 -1
- package/build/components/time-to-read/index.js +6 -0
- package/build/components/time-to-read/index.js.map +1 -1
- package/build/components/visual-editor/edit-template-blocks-notification.js +1 -0
- package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build/components/word-count/index.js +5 -1
- package/build/components/word-count/index.js.map +1 -1
- package/build/dataviews/api.js +61 -0
- package/build/dataviews/api.js.map +1 -0
- package/build/dataviews/store/private-actions.js +28 -0
- package/build/dataviews/store/private-actions.js.map +1 -0
- package/build/dataviews/store/private-selectors.js +20 -0
- package/build/dataviews/store/private-selectors.js.map +1 -0
- package/build/dataviews/store/reducer.js +36 -0
- package/build/dataviews/store/reducer.js.map +1 -0
- package/build/hooks/pattern-overrides.js +2 -1
- package/build/hooks/pattern-overrides.js.map +1 -1
- package/build/index.js +12 -0
- package/build/index.js.map +1 -1
- package/build/private-apis.js +0 -6
- package/build/private-apis.js.map +1 -1
- package/build/private-apis.native.js +0 -2
- package/build/private-apis.native.js.map +1 -1
- package/build/store/private-actions.js +21 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +5 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +4 -1
- package/build/store/reducer.js.map +1 -1
- package/build-module/components/document-tools/index.js +12 -3
- package/build-module/components/document-tools/index.js.map +1 -1
- package/build-module/components/editor/index.js +19 -24
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +10 -0
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
- package/build-module/components/entities-saved-states/index.js +28 -0
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/global-styles-provider/index.js +9 -2
- package/build-module/components/global-styles-provider/index.js.map +1 -1
- package/build-module/components/index.js +7 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/post-actions/actions.js +9 -4
- package/build-module/components/post-actions/actions.js.map +1 -1
- package/build-module/components/post-publish-button/index.js +4 -0
- package/build-module/components/post-publish-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/label.js +6 -0
- package/build-module/components/post-publish-button/label.js.map +1 -1
- package/build-module/components/post-publish-panel/index.js +4 -0
- package/build-module/components/post-publish-panel/index.js.map +1 -1
- package/build-module/components/post-sticky/check.js +9 -0
- package/build-module/components/post-sticky/check.js.map +1 -1
- package/build-module/components/post-sticky/index.js +6 -0
- package/build-module/components/post-sticky/index.js.map +1 -1
- package/build-module/components/post-switch-to-draft-button/index.js +10 -1
- package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build-module/components/post-sync-status/index.js +6 -0
- package/build-module/components/post-sync-status/index.js.map +1 -1
- package/build-module/components/post-taxonomies/check.js +9 -0
- package/build-module/components/post-taxonomies/check.js.map +1 -1
- package/build-module/components/post-taxonomies/flat-term-selector.js +14 -2
- package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/index.js +9 -0
- package/build-module/components/post-taxonomies/index.js.map +1 -1
- package/build-module/components/post-taxonomies/panel.js +10 -0
- package/build-module/components/post-taxonomies/panel.js.map +1 -1
- package/build-module/components/post-title/index.js +4 -8
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/post-title/post-title-raw.js +3 -7
- package/build-module/components/post-title/post-title-raw.js.map +1 -1
- package/build-module/components/post-trash/check.js +9 -0
- package/build-module/components/post-trash/check.js.map +1 -1
- package/build-module/components/post-trash/index.js +7 -0
- package/build-module/components/post-trash/index.js.map +1 -1
- package/build-module/components/post-visibility/index.js +1 -0
- package/build-module/components/post-visibility/index.js.map +1 -1
- package/build-module/components/provider/index.js +18 -15
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/sidebar/post-summary.js +1 -1
- package/build-module/components/sidebar/post-summary.js.map +1 -1
- package/build-module/components/table-of-contents/index.js +11 -0
- package/build-module/components/table-of-contents/index.js.map +1 -1
- package/build-module/components/template-part-menu-items/convert-to-regular.js +31 -0
- package/build-module/components/template-part-menu-items/convert-to-regular.js.map +1 -0
- package/build-module/components/template-part-menu-items/convert-to-template-part.js +71 -0
- package/build-module/components/template-part-menu-items/convert-to-template-part.js.map +1 -0
- package/build-module/components/template-part-menu-items/index.js +59 -0
- package/build-module/components/template-part-menu-items/index.js.map +1 -0
- package/build-module/components/template-part-menu-items/index.native.js +4 -0
- package/build-module/components/template-part-menu-items/index.native.js.map +1 -0
- package/build-module/components/template-validation-notice/index.js +1 -0
- package/build-module/components/template-validation-notice/index.js.map +1 -1
- package/build-module/components/theme-support-check/index.js +10 -0
- package/build-module/components/theme-support-check/index.js.map +1 -1
- package/build-module/components/time-to-read/index.js +6 -0
- package/build-module/components/time-to-read/index.js.map +1 -1
- package/build-module/components/visual-editor/edit-template-blocks-notification.js +1 -0
- package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build-module/components/word-count/index.js +6 -0
- package/build-module/components/word-count/index.js.map +1 -1
- package/build-module/dataviews/api.js +54 -0
- package/build-module/dataviews/api.js.map +1 -0
- package/build-module/dataviews/store/private-actions.js +21 -0
- package/build-module/dataviews/store/private-actions.js.map +1 -0
- package/build-module/dataviews/store/private-selectors.js +14 -0
- package/build-module/dataviews/store/private-selectors.js.map +1 -0
- package/build-module/dataviews/store/reducer.js +29 -0
- package/build-module/dataviews/store/reducer.js.map +1 -0
- package/build-module/hooks/pattern-overrides.js +2 -1
- package/build-module/hooks/pattern-overrides.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/private-apis.js +0 -6
- package/build-module/private-apis.js.map +1 -1
- package/build-module/private-apis.native.js +0 -2
- package/build-module/private-apis.native.js.map +1 -1
- package/build-module/store/private-actions.js +1 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +4 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +3 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-style/style-rtl.css +7 -2
- package/build-style/style.css +7 -2
- package/build-types/dataviews/store/private-actions.d.ts +17 -0
- package/build-types/dataviews/store/private-actions.d.ts.map +1 -0
- package/build-types/dataviews/store/private-selectors.d.ts +10 -0
- package/build-types/dataviews/store/private-selectors.d.ts.map +1 -0
- package/build-types/dataviews/store/reducer.d.ts +11 -0
- package/build-types/dataviews/store/reducer.d.ts.map +1 -0
- package/package.json +35 -35
- package/src/components/document-tools/index.js +13 -4
- package/src/components/editor/index.js +23 -28
- package/src/components/entities-saved-states/hooks/use-is-dirty.js +9 -0
- package/src/components/entities-saved-states/index.js +26 -0
- package/src/components/global-styles-provider/index.js +12 -2
- package/src/components/index.js +7 -0
- package/src/components/keyboard-shortcut-help-modal/style.scss +0 -3
- package/src/components/post-actions/actions.js +6 -2
- package/src/components/post-card-panel/style.scss +4 -0
- package/src/components/post-panel-row/style.scss +1 -1
- package/src/components/post-publish-button/index.js +3 -0
- package/src/components/post-publish-button/label.js +5 -0
- package/src/components/post-publish-panel/index.js +3 -0
- package/src/components/post-status/style.scss +5 -0
- package/src/components/post-sticky/check.js +8 -0
- package/src/components/post-sticky/index.js +5 -0
- package/src/components/post-switch-to-draft-button/index.js +10 -1
- package/src/components/post-sync-status/index.js +5 -0
- package/src/components/post-taxonomies/check.js +8 -0
- package/src/components/post-taxonomies/flat-term-selector.js +13 -2
- package/src/components/post-taxonomies/index.js +8 -0
- package/src/components/post-taxonomies/panel.js +9 -0
- package/src/components/post-title/index.js +2 -5
- package/src/components/post-title/post-title-raw.js +2 -5
- package/src/components/post-trash/check.js +8 -0
- package/src/components/post-trash/index.js +6 -0
- package/src/components/post-visibility/index.js +1 -0
- package/src/components/provider/index.js +17 -17
- package/src/components/sidebar/post-summary.js +1 -1
- package/src/components/table-of-contents/index.js +10 -0
- package/src/components/template-part-menu-items/convert-to-regular.js +32 -0
- package/src/components/template-part-menu-items/convert-to-template-part.js +75 -0
- package/src/components/template-part-menu-items/index.js +59 -0
- package/src/components/template-part-menu-items/index.native.js +3 -0
- package/src/components/template-validation-notice/index.js +1 -0
- package/src/components/theme-support-check/index.js +9 -0
- package/src/components/time-to-read/index.js +5 -0
- package/src/components/visual-editor/edit-template-blocks-notification.js +1 -0
- package/src/components/word-count/index.js +5 -0
- package/src/dataviews/api.js +55 -0
- package/src/dataviews/store/private-actions.ts +30 -0
- package/src/dataviews/store/private-selectors.ts +15 -0
- package/src/dataviews/store/reducer.ts +44 -0
- package/src/hooks/pattern-overrides.js +2 -0
- package/src/index.js +1 -0
- package/src/private-apis.js +0 -6
- package/src/private-apis.native.js +0 -2
- package/src/store/private-actions.js +1 -0
- package/src/store/private-selectors.js +5 -0
- package/src/store/reducer.js +2 -0
- package/tsconfig.json +36 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useViewportMatch","useSelect","useDispatch","__","_x","NavigableToolbar","ToolSelector","store","blockEditorStore","Button","ToolbarItem","listView","plus","useCallback","keyboardShortcutsStore","preferencesStore","unlock","editorStore","EditorHistoryRedo","EditorHistoryUndo","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","preventDefault","event","DocumentTools","className","disableBlockTools","setIsInserterOpened","setIsListViewOpened","isDistractionFree","isInserterOpened","isListViewOpen","listViewShortcut","inserterSidebarToggleRef","listViewToggleRef","hasFixedToolbar","showIconLabels","select","getSettings","get","isListViewOpened","getEditorMode","getInserterSidebarToggleRef","getListViewToggleRef","getShortcutRepresentation","__unstableGetEditorMode","isVisualMode","isZoomedOutView","isLargeViewport","isWideViewport","toolbarAriaLabel","toggleListView","toggleInserter","longLabel","shortLabel","variant","children","ref","as","isPressed","onMouseDown","onClick","disabled","icon","label","showTooltip","undefined","size","shortcut"],"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","useViewportMatch","useSelect","useDispatch","__","_x","NavigableToolbar","ToolSelector","store","blockEditorStore","Button","ToolbarItem","listView","plus","useCallback","keyboardShortcutsStore","preferencesStore","unlock","editorStore","EditorHistoryRedo","EditorHistoryUndo","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DocumentTools","className","disableBlockTools","setIsInserterOpened","setIsListViewOpened","isDistractionFree","isInserterOpened","isListViewOpen","listViewShortcut","inserterSidebarToggleRef","listViewToggleRef","hasFixedToolbar","showIconLabels","select","getSettings","get","isListViewOpened","getEditorMode","getInserterSidebarToggleRef","getListViewToggleRef","getShortcutRepresentation","__unstableGetEditorMode","isVisualMode","isZoomedOutView","preventDefault","event","isLargeViewport","isWideViewport","toolbarAriaLabel","toggleListView","toggleInserter","longLabel","shortLabel","variant","children","ref","as","isPressed","onMouseDown","onClick","disabled","icon","label","showTooltip","undefined","size","shortcut"],"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":[]}
|
|
@@ -15,24 +15,21 @@ import { ExperimentalEditorProvider } from '../provider';
|
|
|
15
15
|
import Sidebar from '../sidebar';
|
|
16
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
18
19
|
function Editor({
|
|
19
20
|
postType,
|
|
20
21
|
postId,
|
|
21
22
|
templateId,
|
|
22
23
|
settings,
|
|
23
24
|
children,
|
|
25
|
+
initialEdits,
|
|
24
26
|
// This could be part of the settings.
|
|
25
27
|
onActionPerformed,
|
|
26
28
|
// The following abstractions are not ideal but necessary
|
|
27
29
|
// to account for site editor and post editor differences for now.
|
|
28
|
-
|
|
29
|
-
styles,
|
|
30
|
-
customSaveButton,
|
|
31
|
-
forceDisableBlockTools,
|
|
32
|
-
title,
|
|
33
|
-
iframeProps,
|
|
30
|
+
extraContent,
|
|
34
31
|
extraSidebarPanels,
|
|
35
|
-
|
|
32
|
+
...props
|
|
36
33
|
}) {
|
|
37
34
|
const {
|
|
38
35
|
post,
|
|
@@ -49,27 +46,25 @@ function Editor({
|
|
|
49
46
|
hasLoadedPost: hasFinishedResolution('getEntityRecord', ['postType', postType, postId])
|
|
50
47
|
};
|
|
51
48
|
}, [postType, postId, templateId]);
|
|
52
|
-
return /*#__PURE__*/_jsxs(
|
|
53
|
-
post: post,
|
|
54
|
-
__unstableTemplate: template,
|
|
55
|
-
settings: settings,
|
|
56
|
-
useSubRegistry: false,
|
|
49
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
57
50
|
children: [hasLoadedPost && !post && /*#__PURE__*/_jsx(Notice, {
|
|
58
51
|
status: "warning",
|
|
59
52
|
isDismissible: false,
|
|
60
53
|
children: __("You attempted to edit an item that doesn't exist. Perhaps it was deleted?")
|
|
61
|
-
}), /*#__PURE__*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
54
|
+
}), !!post && /*#__PURE__*/_jsxs(ExperimentalEditorProvider, {
|
|
55
|
+
post: post,
|
|
56
|
+
__unstableTemplate: template,
|
|
57
|
+
settings: settings,
|
|
58
|
+
initialEdits: initialEdits,
|
|
59
|
+
useSubRegistry: false,
|
|
60
|
+
children: [/*#__PURE__*/_jsx(EditorInterface, {
|
|
61
|
+
...props,
|
|
62
|
+
children: extraContent
|
|
63
|
+
}), /*#__PURE__*/_jsx(Sidebar, {
|
|
64
|
+
onActionPerformed: onActionPerformed,
|
|
65
|
+
extraPanels: extraSidebarPanels
|
|
66
|
+
}), children]
|
|
67
|
+
})]
|
|
73
68
|
});
|
|
74
69
|
}
|
|
75
70
|
export default Editor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","store","coreStore","Notice","__","TEMPLATE_POST_TYPE","EditorInterface","ExperimentalEditorProvider","Sidebar","jsx","_jsx","jsxs","_jsxs","Editor","postType","postId","templateId","settings","children","
|
|
1
|
+
{"version":3,"names":["useSelect","store","coreStore","Notice","__","TEMPLATE_POST_TYPE","EditorInterface","ExperimentalEditorProvider","Sidebar","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Editor","postType","postId","templateId","settings","children","initialEdits","onActionPerformed","extraContent","extraSidebarPanels","props","post","template","hasLoadedPost","select","getEntityRecord","hasFinishedResolution","undefined","status","isDismissible","__unstableTemplate","useSubRegistry","extraPanels"],"sources":["@wordpress/editor/src/components/editor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { Notice } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../store/constants';\nimport EditorInterface from '../editor-interface';\nimport { ExperimentalEditorProvider } from '../provider';\nimport Sidebar from '../sidebar';\n\nfunction Editor( {\n\tpostType,\n\tpostId,\n\ttemplateId,\n\tsettings,\n\tchildren,\n\tinitialEdits,\n\n\t// This could be part of the settings.\n\tonActionPerformed,\n\n\t// The following abstractions are not ideal but necessary\n\t// to account for site editor and post editor differences for now.\n\textraContent,\n\textraSidebarPanels,\n\t...props\n} ) {\n\tconst { post, template, hasLoadedPost } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tpost: getEntityRecord( 'postType', postType, postId ),\n\t\t\t\ttemplate: templateId\n\t\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\t\t\ttemplateId\n\t\t\t\t\t )\n\t\t\t\t\t: undefined,\n\t\t\t\thasLoadedPost: hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, templateId ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ hasLoadedPost && ! post && (\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t) }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t\t{ !! post && (\n\t\t\t\t<ExperimentalEditorProvider\n\t\t\t\t\tpost={ post }\n\t\t\t\t\t__unstableTemplate={ template }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t>\n\t\t\t\t\t<EditorInterface { ...props }>\n\t\t\t\t\t\t{ extraContent }\n\t\t\t\t\t</EditorInterface>\n\t\t\t\t\t<Sidebar\n\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\textraPanels={ extraSidebarPanels }\n\t\t\t\t\t/>\n\t\t\t\t\t{ children }\n\t\t\t\t</ExperimentalEditorProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default Editor;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,kBAAkB,QAAQ,uBAAuB;AAC1D,OAAOC,eAAe,MAAM,qBAAqB;AACjD,SAASC,0BAA0B,QAAQ,aAAa;AACxD,OAAOC,OAAO,MAAM,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAEjC,SAASC,MAAMA,CAAE;EAChBC,QAAQ;EACRC,MAAM;EACNC,UAAU;EACVC,QAAQ;EACRC,QAAQ;EACRC,YAAY;EAEZ;EACAC,iBAAiB;EAEjB;EACA;EACAC,YAAY;EACZC,kBAAkB;EAClB,GAAGC;AACJ,CAAC,EAAG;EACH,MAAM;IAAEC,IAAI;IAAEC,QAAQ;IAAEC;EAAc,CAAC,GAAG5B,SAAS,CAChD6B,MAAM,IAAM;IACb,MAAM;MAAEC,eAAe;MAAEC;IAAsB,CAAC,GAC/CF,MAAM,CAAE3B,SAAU,CAAC;IACpB,OAAO;MACNwB,IAAI,EAAEI,eAAe,CAAE,UAAU,EAAEd,QAAQ,EAAEC,MAAO,CAAC;MACrDU,QAAQ,EAAET,UAAU,GACjBY,eAAe,CACf,UAAU,EACVzB,kBAAkB,EAClBa,UACA,CAAC,GACDc,SAAS;MACZJ,aAAa,EAAEG,qBAAqB,CAAE,iBAAiB,EAAE,CACxD,UAAU,EACVf,QAAQ,EACRC,MAAM,CACL;IACH,CAAC;EACF,CAAC,EACD,CAAED,QAAQ,EAAEC,MAAM,EAAEC,UAAU,CAC/B,CAAC;EAED,oBACCN,KAAA,CAAAE,SAAA;IAAAM,QAAA,GACGQ,aAAa,IAAI,CAAEF,IAAI,iBACxBhB,IAAA,CAACP,MAAM;MAAC8B,MAAM,EAAC,SAAS;MAACC,aAAa,EAAG,KAAO;MAAAd,QAAA,EAC7ChB,EAAE,CACH,2EACD;IAAC,CACM,CACR,EACC,CAAC,CAAEsB,IAAI,iBACRd,KAAA,CAACL,0BAA0B;MAC1BmB,IAAI,EAAGA,IAAM;MACbS,kBAAkB,EAAGR,QAAU;MAC/BR,QAAQ,EAAGA,QAAU;MACrBE,YAAY,EAAGA,YAAc;MAC7Be,cAAc,EAAG,KAAO;MAAAhB,QAAA,gBAExBV,IAAA,CAACJ,eAAe;QAAA,GAAMmB,KAAK;QAAAL,QAAA,EACxBG;MAAY,CACE,CAAC,eAClBb,IAAA,CAACF,OAAO;QACPc,iBAAiB,EAAGA,iBAAmB;QACvCe,WAAW,EAAGb;MAAoB,CAClC,CAAC,EACAJ,QAAQ;IAAA,CACiB,CAC5B;EAAA,CACA,CAAC;AAEL;AAEA,eAAeL,MAAM","ignoreList":[]}
|
|
@@ -4,6 +4,16 @@
|
|
|
4
4
|
import { useSelect } from '@wordpress/data';
|
|
5
5
|
import { store as coreStore } from '@wordpress/core-data';
|
|
6
6
|
import { useMemo, useState } from '@wordpress/element';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Custom hook that determines if any entities are dirty (edited) and provides a way to manage selected/unselected entities.
|
|
10
|
+
*
|
|
11
|
+
* @return {Object} An object containing the following properties:
|
|
12
|
+
* - dirtyEntityRecords: An array of dirty entity records.
|
|
13
|
+
* - isDirty: A boolean indicating if there are any dirty entity records.
|
|
14
|
+
* - setUnselectedEntities: A function to set the unselected entities.
|
|
15
|
+
* - unselectedEntities: An array of unselected entities.
|
|
16
|
+
*/
|
|
7
17
|
export const useIsDirty = () => {
|
|
8
18
|
const {
|
|
9
19
|
editedEntities,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","store","coreStore","useMemo","useState","useIsDirty","editedEntities","siteEdits","siteEntityConfig","select","__experimentalGetDirtyEntityRecords","getEntityRecordEdits","getEntityConfig","dirtyEntityRecords","_siteEntityConfig$met","editedEntitiesWithoutSite","filter","record","kind","name","siteEntityLabels","meta","labels","editedSiteEntities","property","push","title","unselectedEntities","_setUnselectedEntities","setUnselectedEntities","key","checked","elt","isDirty","length"],"sources":["@wordpress/editor/src/components/entities-saved-states/hooks/use-is-dirty.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMemo, useState } from '@wordpress/element';\n\nexport const useIsDirty = () => {\n\tconst { editedEntities, siteEdits, siteEntityConfig } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tgetEntityRecordEdits,\n\t\t\t\tgetEntityConfig,\n\t\t\t} = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\teditedEntities: __experimentalGetDirtyEntityRecords(),\n\t\t\t\tsiteEdits: getEntityRecordEdits( 'root', 'site' ),\n\t\t\t\tsiteEntityConfig: getEntityConfig( 'root', 'site' ),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst dirtyEntityRecords = useMemo( () => {\n\t\t// Remove site object and decouple into its edited pieces.\n\t\tconst editedEntitiesWithoutSite = editedEntities.filter(\n\t\t\t( record ) => ! ( record.kind === 'root' && record.name === 'site' )\n\t\t);\n\n\t\tconst siteEntityLabels = siteEntityConfig?.meta?.labels ?? {};\n\t\tconst editedSiteEntities = [];\n\t\tfor ( const property in siteEdits ) {\n\t\t\teditedSiteEntities.push( {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t\ttitle: siteEntityLabels[ property ] || property,\n\t\t\t\tproperty,\n\t\t\t} );\n\t\t}\n\n\t\treturn [ ...editedEntitiesWithoutSite, ...editedSiteEntities ];\n\t}, [ editedEntities, siteEdits, siteEntityConfig ] );\n\n\t// Unchecked entities to be ignored by save function.\n\tconst [ unselectedEntities, _setUnselectedEntities ] = useState( [] );\n\n\tconst setUnselectedEntities = (\n\t\t{ kind, name, key, property },\n\t\tchecked\n\t) => {\n\t\tif ( checked ) {\n\t\t\t_setUnselectedEntities(\n\t\t\t\tunselectedEntities.filter(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind !== kind ||\n\t\t\t\t\t\telt.name !== name ||\n\t\t\t\t\t\telt.key !== key ||\n\t\t\t\t\t\telt.property !== property\n\t\t\t\t)\n\t\t\t);\n\t\t} else {\n\t\t\t_setUnselectedEntities( [\n\t\t\t\t...unselectedEntities,\n\t\t\t\t{ kind, name, key, property },\n\t\t\t] );\n\t\t}\n\t};\n\n\tconst isDirty = dirtyEntityRecords.length - unselectedEntities.length > 0;\n\n\treturn {\n\t\tdirtyEntityRecords,\n\t\tisDirty,\n\t\tsetUnselectedEntities,\n\t\tunselectedEntities,\n\t};\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,OAAO,EAAEC,QAAQ,QAAQ,oBAAoB;
|
|
1
|
+
{"version":3,"names":["useSelect","store","coreStore","useMemo","useState","useIsDirty","editedEntities","siteEdits","siteEntityConfig","select","__experimentalGetDirtyEntityRecords","getEntityRecordEdits","getEntityConfig","dirtyEntityRecords","_siteEntityConfig$met","editedEntitiesWithoutSite","filter","record","kind","name","siteEntityLabels","meta","labels","editedSiteEntities","property","push","title","unselectedEntities","_setUnselectedEntities","setUnselectedEntities","key","checked","elt","isDirty","length"],"sources":["@wordpress/editor/src/components/entities-saved-states/hooks/use-is-dirty.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Custom hook that determines if any entities are dirty (edited) and provides a way to manage selected/unselected entities.\n *\n * @return {Object} An object containing the following properties:\n * - dirtyEntityRecords: An array of dirty entity records.\n * - isDirty: A boolean indicating if there are any dirty entity records.\n * - setUnselectedEntities: A function to set the unselected entities.\n * - unselectedEntities: An array of unselected entities.\n */\nexport const useIsDirty = () => {\n\tconst { editedEntities, siteEdits, siteEntityConfig } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tgetEntityRecordEdits,\n\t\t\t\tgetEntityConfig,\n\t\t\t} = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\teditedEntities: __experimentalGetDirtyEntityRecords(),\n\t\t\t\tsiteEdits: getEntityRecordEdits( 'root', 'site' ),\n\t\t\t\tsiteEntityConfig: getEntityConfig( 'root', 'site' ),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst dirtyEntityRecords = useMemo( () => {\n\t\t// Remove site object and decouple into its edited pieces.\n\t\tconst editedEntitiesWithoutSite = editedEntities.filter(\n\t\t\t( record ) => ! ( record.kind === 'root' && record.name === 'site' )\n\t\t);\n\n\t\tconst siteEntityLabels = siteEntityConfig?.meta?.labels ?? {};\n\t\tconst editedSiteEntities = [];\n\t\tfor ( const property in siteEdits ) {\n\t\t\teditedSiteEntities.push( {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t\ttitle: siteEntityLabels[ property ] || property,\n\t\t\t\tproperty,\n\t\t\t} );\n\t\t}\n\n\t\treturn [ ...editedEntitiesWithoutSite, ...editedSiteEntities ];\n\t}, [ editedEntities, siteEdits, siteEntityConfig ] );\n\n\t// Unchecked entities to be ignored by save function.\n\tconst [ unselectedEntities, _setUnselectedEntities ] = useState( [] );\n\n\tconst setUnselectedEntities = (\n\t\t{ kind, name, key, property },\n\t\tchecked\n\t) => {\n\t\tif ( checked ) {\n\t\t\t_setUnselectedEntities(\n\t\t\t\tunselectedEntities.filter(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind !== kind ||\n\t\t\t\t\t\telt.name !== name ||\n\t\t\t\t\t\telt.key !== key ||\n\t\t\t\t\t\telt.property !== property\n\t\t\t\t)\n\t\t\t);\n\t\t} else {\n\t\t\t_setUnselectedEntities( [\n\t\t\t\t...unselectedEntities,\n\t\t\t\t{ kind, name, key, property },\n\t\t\t] );\n\t\t}\n\t};\n\n\tconst isDirty = dirtyEntityRecords.length - unselectedEntities.length > 0;\n\n\treturn {\n\t\tdirtyEntityRecords,\n\t\tisDirty,\n\t\tsetUnselectedEntities,\n\t\tunselectedEntities,\n\t};\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,OAAO,EAAEC,QAAQ,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC,cAAc;IAAEC,SAAS;IAAEC;EAAiB,CAAC,GAAGR,SAAS,CAC9DS,MAAM,IAAM;IACb,MAAM;MACLC,mCAAmC;MACnCC,oBAAoB;MACpBC;IACD,CAAC,GAAGH,MAAM,CAAEP,SAAU,CAAC;IAEvB,OAAO;MACNI,cAAc,EAAEI,mCAAmC,CAAC,CAAC;MACrDH,SAAS,EAAEI,oBAAoB,CAAE,MAAM,EAAE,MAAO,CAAC;MACjDH,gBAAgB,EAAEI,eAAe,CAAE,MAAM,EAAE,MAAO;IACnD,CAAC;EACF,CAAC,EACD,EACD,CAAC;EAED,MAAMC,kBAAkB,GAAGV,OAAO,CAAE,MAAM;IAAA,IAAAW,qBAAA;IACzC;IACA,MAAMC,yBAAyB,GAAGT,cAAc,CAACU,MAAM,CACpDC,MAAM,IAAM,EAAIA,MAAM,CAACC,IAAI,KAAK,MAAM,IAAID,MAAM,CAACE,IAAI,KAAK,MAAM,CACnE,CAAC;IAED,MAAMC,gBAAgB,IAAAN,qBAAA,GAAGN,gBAAgB,EAAEa,IAAI,EAAEC,MAAM,cAAAR,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;IAC7D,MAAMS,kBAAkB,GAAG,EAAE;IAC7B,KAAM,MAAMC,QAAQ,IAAIjB,SAAS,EAAG;MACnCgB,kBAAkB,CAACE,IAAI,CAAE;QACxBP,IAAI,EAAE,MAAM;QACZC,IAAI,EAAE,MAAM;QACZO,KAAK,EAAEN,gBAAgB,CAAEI,QAAQ,CAAE,IAAIA,QAAQ;QAC/CA;MACD,CAAE,CAAC;IACJ;IAEA,OAAO,CAAE,GAAGT,yBAAyB,EAAE,GAAGQ,kBAAkB,CAAE;EAC/D,CAAC,EAAE,CAAEjB,cAAc,EAAEC,SAAS,EAAEC,gBAAgB,CAAG,CAAC;;EAEpD;EACA,MAAM,CAAEmB,kBAAkB,EAAEC,sBAAsB,CAAE,GAAGxB,QAAQ,CAAE,EAAG,CAAC;EAErE,MAAMyB,qBAAqB,GAAGA,CAC7B;IAAEX,IAAI;IAAEC,IAAI;IAAEW,GAAG;IAAEN;EAAS,CAAC,EAC7BO,OAAO,KACH;IACJ,IAAKA,OAAO,EAAG;MACdH,sBAAsB,CACrBD,kBAAkB,CAACX,MAAM,CACtBgB,GAAG,IACJA,GAAG,CAACd,IAAI,KAAKA,IAAI,IACjBc,GAAG,CAACb,IAAI,KAAKA,IAAI,IACjBa,GAAG,CAACF,GAAG,KAAKA,GAAG,IACfE,GAAG,CAACR,QAAQ,KAAKA,QACnB,CACD,CAAC;IACF,CAAC,MAAM;MACNI,sBAAsB,CAAE,CACvB,GAAGD,kBAAkB,EACrB;QAAET,IAAI;QAAEC,IAAI;QAAEW,GAAG;QAAEN;MAAS,CAAC,CAC5B,CAAC;IACJ;EACD,CAAC;EAED,MAAMS,OAAO,GAAGpB,kBAAkB,CAACqB,MAAM,GAAGP,kBAAkB,CAACO,MAAM,GAAG,CAAC;EAEzE,OAAO;IACNrB,kBAAkB;IAClBoB,OAAO;IACPJ,qBAAqB;IACrBF;EACD,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -19,6 +19,16 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
19
19
|
function identity(values) {
|
|
20
20
|
return values;
|
|
21
21
|
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Renders the component for managing saved states of entities.
|
|
25
|
+
*
|
|
26
|
+
* @param {Object} props The component props.
|
|
27
|
+
* @param {Function} props.close The function to close the dialog.
|
|
28
|
+
* @param {Function} props.renderDialog The function to render the dialog.
|
|
29
|
+
*
|
|
30
|
+
* @return {JSX.Element} The rendered component.
|
|
31
|
+
*/
|
|
22
32
|
export default function EntitiesSavedStates({
|
|
23
33
|
close,
|
|
24
34
|
renderDialog = undefined
|
|
@@ -30,6 +40,24 @@ export default function EntitiesSavedStates({
|
|
|
30
40
|
...isDirtyProps
|
|
31
41
|
});
|
|
32
42
|
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Renders a panel for saving entities with dirty records.
|
|
46
|
+
*
|
|
47
|
+
* @param {Object} props The component props.
|
|
48
|
+
* @param {string} props.additionalPrompt Additional prompt to display.
|
|
49
|
+
* @param {Function} props.close Function to close the panel.
|
|
50
|
+
* @param {Function} props.onSave Function to call when saving entities.
|
|
51
|
+
* @param {boolean} props.saveEnabled Flag indicating if save is enabled.
|
|
52
|
+
* @param {string} props.saveLabel Label for the save button.
|
|
53
|
+
* @param {Function} props.renderDialog Function to render a custom dialog.
|
|
54
|
+
* @param {Array} props.dirtyEntityRecords Array of dirty entity records.
|
|
55
|
+
* @param {boolean} props.isDirty Flag indicating if there are dirty entities.
|
|
56
|
+
* @param {Function} props.setUnselectedEntities Function to set unselected entities.
|
|
57
|
+
* @param {Array} props.unselectedEntities Array of unselected entities.
|
|
58
|
+
*
|
|
59
|
+
* @return {JSX.Element} The rendered component.
|
|
60
|
+
*/
|
|
33
61
|
export function EntitiesSavedStatesExtensible({
|
|
34
62
|
additionalPrompt = undefined,
|
|
35
63
|
close,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","Flex","FlexItem","__","_n","sprintf","useCallback","useRef","createInterpolateElement","__experimentalUseDialog","useDialog","useInstanceId","useDispatch","EntityTypeList","useIsDirty","store","editorStore","unlock","jsx","_jsx","jsxs","_jsxs","identity","values","EntitiesSavedStates","close","renderDialog","undefined","isDirtyProps","EntitiesSavedStatesExtensible","additionalPrompt","onSave","saveEnabled","saveEnabledProp","saveLabel","dirtyEntityRecords","isDirty","setUnselectedEntities","unselectedEntities","saveButtonRef","saveDirtyEntities","partitionedSavables","reduce","acc","record","name","push","site","siteSavables","wp_template","templateSavables","wp_template_part","templatePartSavables","contentSavables","sortedPartitionedSavables","Object","filter","Array","isArray","dismissPanel","saveDialogRef","saveDialogProps","onClose","dialogLabel","dialogDescription","ref","className","role","children","gap","isBlock","as","variant","disabled","__experimentalIsFocusable","onClick","entitiesToSkip","id","length","strong","map","list"],"sources":["@wordpress/editor/src/components/entities-saved-states/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tuseCallback,\n\tuseRef,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport {\n\t__experimentalUseDialog as useDialog,\n\tuseInstanceId,\n} from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport EntityTypeList from './entity-type-list';\nimport { useIsDirty } from './hooks/use-is-dirty';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction identity( values ) {\n\treturn values;\n}\n\nexport default function EntitiesSavedStates( {\n\tclose,\n\trenderDialog = undefined,\n} ) {\n\tconst isDirtyProps = useIsDirty();\n\treturn (\n\t\t<EntitiesSavedStatesExtensible\n\t\t\tclose={ close }\n\t\t\trenderDialog={ renderDialog }\n\t\t\t{ ...isDirtyProps }\n\t\t/>\n\t);\n}\n\nexport function EntitiesSavedStatesExtensible( {\n\tadditionalPrompt = undefined,\n\tclose,\n\tonSave = identity,\n\tsaveEnabled: saveEnabledProp = undefined,\n\tsaveLabel = __( 'Save' ),\n\trenderDialog = undefined,\n\tdirtyEntityRecords,\n\tisDirty,\n\tsetUnselectedEntities,\n\tunselectedEntities,\n} ) {\n\tconst saveButtonRef = useRef();\n\tconst { saveDirtyEntities } = unlock( useDispatch( editorStore ) );\n\t// To group entities by type.\n\tconst partitionedSavables = dirtyEntityRecords.reduce( ( acc, record ) => {\n\t\tconst { name } = record;\n\t\tif ( ! acc[ name ] ) {\n\t\t\tacc[ name ] = [];\n\t\t}\n\t\tacc[ name ].push( record );\n\t\treturn acc;\n\t}, {} );\n\n\t// Sort entity groups.\n\tconst {\n\t\tsite: siteSavables,\n\t\twp_template: templateSavables,\n\t\twp_template_part: templatePartSavables,\n\t\t...contentSavables\n\t} = partitionedSavables;\n\tconst sortedPartitionedSavables = [\n\t\tsiteSavables,\n\t\ttemplateSavables,\n\t\ttemplatePartSavables,\n\t\t...Object.values( contentSavables ),\n\t].filter( Array.isArray );\n\n\tconst saveEnabled = saveEnabledProp ?? isDirty;\n\t// Explicitly define this with no argument passed. Using `close` on\n\t// its own will use the event object in place of the expected saved entities.\n\tconst dismissPanel = useCallback( () => close(), [ close ] );\n\n\tconst [ saveDialogRef, saveDialogProps ] = useDialog( {\n\t\tonClose: () => dismissPanel(),\n\t} );\n\tconst dialogLabel = useInstanceId( EntitiesSavedStatesExtensible, 'label' );\n\tconst dialogDescription = useInstanceId(\n\t\tEntitiesSavedStatesExtensible,\n\t\t'description'\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tref={ saveDialogRef }\n\t\t\t{ ...saveDialogProps }\n\t\t\tclassName=\"entities-saved-states__panel\"\n\t\t\trole={ renderDialog ? 'dialog' : undefined }\n\t\t\taria-labelledby={ renderDialog ? dialogLabel : undefined }\n\t\t\taria-describedby={ renderDialog ? dialogDescription : undefined }\n\t\t>\n\t\t\t<Flex className=\"entities-saved-states__panel-header\" gap={ 2 }>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tref={ saveButtonRef }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tdisabled={ ! saveEnabled }\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsaveDirtyEntities( {\n\t\t\t\t\t\t\tonSave,\n\t\t\t\t\t\t\tdirtyEntityRecords,\n\t\t\t\t\t\t\tentitiesToSkip: unselectedEntities,\n\t\t\t\t\t\t\tclose,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tclassName=\"editor-entities-saved-states__save-button\"\n\t\t\t\t>\n\t\t\t\t\t{ saveLabel }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ dismissPanel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\n\t\t\t<div className=\"entities-saved-states__text-prompt\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"entities-saved-states__text-prompt--header-wrapper\"\n\t\t\t\t\tid={ renderDialog ? dialogLabel : undefined }\n\t\t\t\t>\n\t\t\t\t\t<strong className=\"entities-saved-states__text-prompt--header\">\n\t\t\t\t\t\t{ __( 'Are you ready to save?' ) }\n\t\t\t\t\t</strong>\n\t\t\t\t\t{ additionalPrompt }\n\t\t\t\t</div>\n\t\t\t\t<p id={ renderDialog ? dialogDescription : undefined }>\n\t\t\t\t\t{ isDirty\n\t\t\t\t\t\t? createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %d: number of site changes waiting to be saved. */\n\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t'There is <strong>%d site change</strong> waiting to be saved.',\n\t\t\t\t\t\t\t\t\t\t'There are <strong>%d site changes</strong> waiting to be saved.',\n\t\t\t\t\t\t\t\t\t\tsortedPartitionedSavables.length\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tsortedPartitionedSavables.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{ strong: <strong /> }\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Select the items you want to save.' ) }\n\t\t\t\t</p>\n\t\t\t</div>\n\n\t\t\t{ sortedPartitionedSavables.map( ( list ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<EntityTypeList\n\t\t\t\t\t\tkey={ list[ 0 ].name }\n\t\t\t\t\t\tlist={ list }\n\t\t\t\t\t\tunselectedEntities={ unselectedEntities }\n\t\t\t\t\t\tsetUnselectedEntities={ setUnselectedEntities }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Button","Flex","FlexItem","__","_n","sprintf","useCallback","useRef","createInterpolateElement","__experimentalUseDialog","useDialog","useInstanceId","useDispatch","EntityTypeList","useIsDirty","store","editorStore","unlock","jsx","_jsx","jsxs","_jsxs","identity","values","EntitiesSavedStates","close","renderDialog","undefined","isDirtyProps","EntitiesSavedStatesExtensible","additionalPrompt","onSave","saveEnabled","saveEnabledProp","saveLabel","dirtyEntityRecords","isDirty","setUnselectedEntities","unselectedEntities","saveButtonRef","saveDirtyEntities","partitionedSavables","reduce","acc","record","name","push","site","siteSavables","wp_template","templateSavables","wp_template_part","templatePartSavables","contentSavables","sortedPartitionedSavables","Object","filter","Array","isArray","dismissPanel","saveDialogRef","saveDialogProps","onClose","dialogLabel","dialogDescription","ref","className","role","children","gap","isBlock","as","variant","disabled","__experimentalIsFocusable","onClick","entitiesToSkip","id","length","strong","map","list"],"sources":["@wordpress/editor/src/components/entities-saved-states/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tuseCallback,\n\tuseRef,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport {\n\t__experimentalUseDialog as useDialog,\n\tuseInstanceId,\n} from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport EntityTypeList from './entity-type-list';\nimport { useIsDirty } from './hooks/use-is-dirty';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction identity( values ) {\n\treturn values;\n}\n\n/**\n * Renders the component for managing saved states of entities.\n *\n * @param {Object} props The component props.\n * @param {Function} props.close The function to close the dialog.\n * @param {Function} props.renderDialog The function to render the dialog.\n *\n * @return {JSX.Element} The rendered component.\n */\nexport default function EntitiesSavedStates( {\n\tclose,\n\trenderDialog = undefined,\n} ) {\n\tconst isDirtyProps = useIsDirty();\n\treturn (\n\t\t<EntitiesSavedStatesExtensible\n\t\t\tclose={ close }\n\t\t\trenderDialog={ renderDialog }\n\t\t\t{ ...isDirtyProps }\n\t\t/>\n\t);\n}\n\n/**\n * Renders a panel for saving entities with dirty records.\n *\n * @param {Object} props The component props.\n * @param {string} props.additionalPrompt Additional prompt to display.\n * @param {Function} props.close Function to close the panel.\n * @param {Function} props.onSave Function to call when saving entities.\n * @param {boolean} props.saveEnabled Flag indicating if save is enabled.\n * @param {string} props.saveLabel Label for the save button.\n * @param {Function} props.renderDialog Function to render a custom dialog.\n * @param {Array} props.dirtyEntityRecords Array of dirty entity records.\n * @param {boolean} props.isDirty Flag indicating if there are dirty entities.\n * @param {Function} props.setUnselectedEntities Function to set unselected entities.\n * @param {Array} props.unselectedEntities Array of unselected entities.\n *\n * @return {JSX.Element} The rendered component.\n */\nexport function EntitiesSavedStatesExtensible( {\n\tadditionalPrompt = undefined,\n\tclose,\n\tonSave = identity,\n\tsaveEnabled: saveEnabledProp = undefined,\n\tsaveLabel = __( 'Save' ),\n\trenderDialog = undefined,\n\tdirtyEntityRecords,\n\tisDirty,\n\tsetUnselectedEntities,\n\tunselectedEntities,\n} ) {\n\tconst saveButtonRef = useRef();\n\tconst { saveDirtyEntities } = unlock( useDispatch( editorStore ) );\n\t// To group entities by type.\n\tconst partitionedSavables = dirtyEntityRecords.reduce( ( acc, record ) => {\n\t\tconst { name } = record;\n\t\tif ( ! acc[ name ] ) {\n\t\t\tacc[ name ] = [];\n\t\t}\n\t\tacc[ name ].push( record );\n\t\treturn acc;\n\t}, {} );\n\n\t// Sort entity groups.\n\tconst {\n\t\tsite: siteSavables,\n\t\twp_template: templateSavables,\n\t\twp_template_part: templatePartSavables,\n\t\t...contentSavables\n\t} = partitionedSavables;\n\tconst sortedPartitionedSavables = [\n\t\tsiteSavables,\n\t\ttemplateSavables,\n\t\ttemplatePartSavables,\n\t\t...Object.values( contentSavables ),\n\t].filter( Array.isArray );\n\n\tconst saveEnabled = saveEnabledProp ?? isDirty;\n\t// Explicitly define this with no argument passed. Using `close` on\n\t// its own will use the event object in place of the expected saved entities.\n\tconst dismissPanel = useCallback( () => close(), [ close ] );\n\n\tconst [ saveDialogRef, saveDialogProps ] = useDialog( {\n\t\tonClose: () => dismissPanel(),\n\t} );\n\tconst dialogLabel = useInstanceId( EntitiesSavedStatesExtensible, 'label' );\n\tconst dialogDescription = useInstanceId(\n\t\tEntitiesSavedStatesExtensible,\n\t\t'description'\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tref={ saveDialogRef }\n\t\t\t{ ...saveDialogProps }\n\t\t\tclassName=\"entities-saved-states__panel\"\n\t\t\trole={ renderDialog ? 'dialog' : undefined }\n\t\t\taria-labelledby={ renderDialog ? dialogLabel : undefined }\n\t\t\taria-describedby={ renderDialog ? dialogDescription : undefined }\n\t\t>\n\t\t\t<Flex className=\"entities-saved-states__panel-header\" gap={ 2 }>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tref={ saveButtonRef }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tdisabled={ ! saveEnabled }\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsaveDirtyEntities( {\n\t\t\t\t\t\t\tonSave,\n\t\t\t\t\t\t\tdirtyEntityRecords,\n\t\t\t\t\t\t\tentitiesToSkip: unselectedEntities,\n\t\t\t\t\t\t\tclose,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tclassName=\"editor-entities-saved-states__save-button\"\n\t\t\t\t>\n\t\t\t\t\t{ saveLabel }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ dismissPanel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\n\t\t\t<div className=\"entities-saved-states__text-prompt\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"entities-saved-states__text-prompt--header-wrapper\"\n\t\t\t\t\tid={ renderDialog ? dialogLabel : undefined }\n\t\t\t\t>\n\t\t\t\t\t<strong className=\"entities-saved-states__text-prompt--header\">\n\t\t\t\t\t\t{ __( 'Are you ready to save?' ) }\n\t\t\t\t\t</strong>\n\t\t\t\t\t{ additionalPrompt }\n\t\t\t\t</div>\n\t\t\t\t<p id={ renderDialog ? dialogDescription : undefined }>\n\t\t\t\t\t{ isDirty\n\t\t\t\t\t\t? createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %d: number of site changes waiting to be saved. */\n\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t'There is <strong>%d site change</strong> waiting to be saved.',\n\t\t\t\t\t\t\t\t\t\t'There are <strong>%d site changes</strong> waiting to be saved.',\n\t\t\t\t\t\t\t\t\t\tsortedPartitionedSavables.length\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tsortedPartitionedSavables.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{ strong: <strong /> }\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Select the items you want to save.' ) }\n\t\t\t\t</p>\n\t\t\t</div>\n\n\t\t\t{ sortedPartitionedSavables.map( ( list ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<EntityTypeList\n\t\t\t\t\t\tkey={ list[ 0 ].name }\n\t\t\t\t\t\tlist={ list }\n\t\t\t\t\t\tunselectedEntities={ unselectedEntities }\n\t\t\t\t\t\tsetUnselectedEntities={ setUnselectedEntities }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -126,7 +126,14 @@ function useGlobalStylesUserConfig() {
|
|
|
126
126
|
_links: _links !== null && _links !== void 0 ? _links : {}
|
|
127
127
|
};
|
|
128
128
|
}, [settings, styles, _links]);
|
|
129
|
-
const setConfig = useCallback(
|
|
129
|
+
const setConfig = useCallback(
|
|
130
|
+
/**
|
|
131
|
+
* Set the global styles config.
|
|
132
|
+
* @param {Function|Object} callbackOrObject If the callbackOrObject is a function, pass the current config to the callback so the consumer can merge values.
|
|
133
|
+
* Otherwise, overwrite the current config with the incoming object.
|
|
134
|
+
* @param {Object} options Options for editEntityRecord Core selector.
|
|
135
|
+
*/
|
|
136
|
+
(callbackOrObject, options = {}) => {
|
|
130
137
|
var _record$styles, _record$settings, _record$_links;
|
|
131
138
|
const record = getEditedEntityRecord('root', 'globalStyles', globalStylesId);
|
|
132
139
|
const currentConfig = {
|
|
@@ -134,7 +141,7 @@ function useGlobalStylesUserConfig() {
|
|
|
134
141
|
settings: (_record$settings = record?.settings) !== null && _record$settings !== void 0 ? _record$settings : {},
|
|
135
142
|
_links: (_record$_links = record?._links) !== null && _record$_links !== void 0 ? _record$_links : {}
|
|
136
143
|
};
|
|
137
|
-
const updatedConfig =
|
|
144
|
+
const updatedConfig = typeof callbackOrObject === 'function' ? callbackOrObject(currentConfig) : callbackOrObject;
|
|
138
145
|
editEntityRecord('root', 'globalStyles', globalStylesId, {
|
|
139
146
|
styles: cleanEmptyObject(updatedConfig.styles) || {},
|
|
140
147
|
settings: cleanEmptyObject(updatedConfig.settings) || {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["deepmerge","isPlainObject","registerBlockStyle","store","blocksStore","privateApis","blockEditorPrivateApis","coreStore","useSelect","useDispatch","useEffect","useMemo","useCallback","unlock","setNestedValue","jsx","_jsx","GlobalStylesContext","cleanEmptyObject","mergeBaseAndUserConfigs","base","user","isMergeableObject","useResolvedBlockStyleVariationsConfig","userConfig","getBlockStyles","sharedVariations","styles","blocks","variations","userConfigToMerge","unregisteredStyles","variationsConfigToMerge","unregisteredBlockStyles","Object","entries","forEach","variationName","variation","blockTypes","length","blockName","blockStyles","registeredBlockStyle","find","name","push","label","path","unregisteredStyle","updatedConfig","useGlobalStylesUserConfig","globalStylesId","isReady","settings","_links","select","getEditedEntityRecord","hasFinishedResolution","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","undefined","hasResolved","editEntityRecord","config","setConfig","callback","options","_record$styles","_record$settings","_record$_links","currentConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","setUserConfig","isBaseConfigReady","userConfigWithVariations","mergedConfig","context","merged","GlobalStylesProvider","children","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","isPlainObject","registerBlockStyle","store","blocksStore","privateApis","blockEditorPrivateApis","coreStore","useSelect","useDispatch","useEffect","useMemo","useCallback","unlock","setNestedValue","jsx","_jsx","GlobalStylesContext","cleanEmptyObject","mergeBaseAndUserConfigs","base","user","isMergeableObject","useResolvedBlockStyleVariationsConfig","userConfig","getBlockStyles","sharedVariations","styles","blocks","variations","userConfigToMerge","unregisteredStyles","variationsConfigToMerge","unregisteredBlockStyles","Object","entries","forEach","variationName","variation","blockTypes","length","blockName","blockStyles","registeredBlockStyle","find","name","push","label","path","unregisteredStyle","updatedConfig","useGlobalStylesUserConfig","globalStylesId","isReady","settings","_links","select","getEditedEntityRecord","hasFinishedResolution","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","undefined","hasResolved","editEntityRecord","config","setConfig","callbackOrObject","options","_record$styles","_record$settings","_record$_links","currentConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","setUserConfig","isBaseConfigReady","userConfigWithVariations","mergedConfig","context","merged","GlobalStylesProvider","children","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/**\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 ]\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":[]}
|
|
@@ -99,5 +99,12 @@ export { default as CharacterCount } from './character-count';
|
|
|
99
99
|
export { default as EditorProvider } from './provider';
|
|
100
100
|
export * from './deprecated';
|
|
101
101
|
export const VisualEditorGlobalKeyboardShortcuts = EditorKeyboardShortcuts;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Component handles the global keyboard shortcuts for the Text editor.
|
|
105
|
+
*
|
|
106
|
+
* It provides functionality for various keyboard shortcuts such as toggling editor mode,
|
|
107
|
+
* toggling distraction-free mode, undo/redo.
|
|
108
|
+
*/
|
|
102
109
|
export const TextEditorGlobalKeyboardShortcuts = EditorKeyboardShortcuts;
|
|
103
110
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EditorKeyboardShortcuts","default","AutosaveMonitor","DocumentBar","DocumentOutline","DocumentOutlineCheck","EditorKeyboardShortcutsRegister","EditorHistoryRedo","EditorHistoryUndo","EditorNotices","EditorSnackbars","EntitiesSavedStates","useIsDirty","useEntitiesSavedStatesIsDirty","ErrorBoundary","LocalAutosaveMonitor","PageAttributesCheck","PageAttributesOrder","PageAttributesPanel","PageAttributesParent","PageTemplate","PluginDocumentSettingPanel","PluginBlockSettingsMenuItem","PluginMoreMenuItem","PluginPostPublishPanel","PluginPostStatusInfo","PluginPrePublishPanel","PluginSidebar","PluginSidebarMoreMenuItem","PostTemplatePanel","PostAuthor","PostAuthorCheck","PostAuthorPanel","PostComments","PostDiscussionPanel","PostExcerpt","PostExcerptCheck","PostExcerptPanel","PostFeaturedImage","PostFeaturedImageCheck","PostFeaturedImagePanel","PostFormat","PostFormatCheck","PostLastRevision","PostLastRevisionCheck","PostLastRevisionPanel","PostLockedModal","PostPendingStatus","PostPendingStatusCheck","PostPingbacks","PostPreviewButton","PostPublishButton","PostPublishButtonLabel","PostPublishPanel","PostSavedState","PostSchedule","PostScheduleCheck","PostScheduleLabel","usePostScheduleLabel","PostSchedulePanel","PostSlug","PostSlugCheck","PostSticky","PostStickyCheck","PostSwitchToDraftButton","PostSyncStatus","PostTaxonomies","FlatTermSelector","PostTaxonomiesFlatTermSelector","HierarchicalTermSelector","PostTaxonomiesHierarchicalTermSelector","PostTaxonomiesCheck","PostTaxonomiesPanel","PostTextEditor","PostTitle","PostTitleRaw","PostTrash","PostTrashCheck","PostTypeSupportCheck","PostURL","PostURLCheck","PostURLLabel","usePostURLLabel","PostURLPanel","PostVisibility","PostVisibilityLabel","usePostVisibilityLabel","PostVisibilityCheck","TableOfContents","ThemeSupportCheck","UnsavedChangesWarning","WordCount","TimeToRead","CharacterCount","EditorProvider","VisualEditorGlobalKeyboardShortcuts","TextEditorGlobalKeyboardShortcuts"],"sources":["@wordpress/editor/src/components/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport EditorKeyboardShortcuts from './global-keyboard-shortcuts';\n\n// Block Creation Components.\nexport * from './autocompleters';\n\n// Post Related Components.\nexport { default as AutosaveMonitor } from './autosave-monitor';\nexport { default as DocumentBar } from './document-bar';\nexport { default as DocumentOutline } from './document-outline';\nexport { default as DocumentOutlineCheck } from './document-outline/check';\nexport { EditorKeyboardShortcuts };\nexport { default as EditorKeyboardShortcutsRegister } from './global-keyboard-shortcuts/register-shortcuts';\nexport { default as EditorHistoryRedo } from './editor-history/redo';\nexport { default as EditorHistoryUndo } from './editor-history/undo';\nexport { default as EditorNotices } from './editor-notices';\nexport { default as EditorSnackbars } from './editor-snackbars';\nexport { default as EntitiesSavedStates } from './entities-saved-states';\nexport { useIsDirty as useEntitiesSavedStatesIsDirty } from './entities-saved-states/hooks/use-is-dirty';\nexport { default as ErrorBoundary } from './error-boundary';\nexport { default as LocalAutosaveMonitor } from './local-autosave-monitor';\nexport { default as PageAttributesCheck } from './page-attributes/check';\nexport { default as PageAttributesOrder } from './page-attributes/order';\nexport { default as PageAttributesPanel } from './page-attributes/panel';\nexport { default as PageAttributesParent } from './page-attributes/parent';\nexport { default as PageTemplate } from './post-template/classic-theme';\nexport { default as PluginDocumentSettingPanel } from './plugin-document-setting-panel';\nexport { default as PluginBlockSettingsMenuItem } from './block-settings-menu/plugin-block-settings-menu-item';\nexport { default as PluginMoreMenuItem } from './plugin-more-menu-item';\nexport { default as PluginPostPublishPanel } from './plugin-post-publish-panel';\nexport { default as PluginPostStatusInfo } from './plugin-post-status-info';\nexport { default as PluginPrePublishPanel } from './plugin-pre-publish-panel';\nexport { default as PluginSidebar } from './plugin-sidebar';\nexport { default as PluginSidebarMoreMenuItem } from './plugin-sidebar-more-menu-item';\nexport { default as PostTemplatePanel } from './post-template/panel';\nexport { default as PostAuthor } from './post-author';\nexport { default as PostAuthorCheck } from './post-author/check';\nexport { default as PostAuthorPanel } from './post-author/panel';\nexport { default as PostComments } from './post-comments';\nexport { default as PostDiscussionPanel } from './post-discussion/panel';\nexport { default as PostExcerpt } from './post-excerpt';\nexport { default as PostExcerptCheck } from './post-excerpt/check';\nexport { default as PostExcerptPanel } from './post-excerpt/panel';\nexport { default as PostFeaturedImage } from './post-featured-image';\nexport { default as PostFeaturedImageCheck } from './post-featured-image/check';\nexport { default as PostFeaturedImagePanel } from './post-featured-image/panel';\nexport { default as PostFormat } from './post-format';\nexport { default as PostFormatCheck } from './post-format/check';\nexport { default as PostLastRevision } from './post-last-revision';\nexport { default as PostLastRevisionCheck } from './post-last-revision/check';\nexport { default as PostLastRevisionPanel } from './post-last-revision/panel';\nexport { default as PostLockedModal } from './post-locked-modal';\nexport { default as PostPendingStatus } from './post-pending-status';\nexport { default as PostPendingStatusCheck } from './post-pending-status/check';\nexport { default as PostPingbacks } from './post-pingbacks';\nexport { default as PostPreviewButton } from './post-preview-button';\nexport { default as PostPublishButton } from './post-publish-button';\nexport { default as PostPublishButtonLabel } from './post-publish-button/label';\nexport { default as PostPublishPanel } from './post-publish-panel';\nexport { default as PostSavedState } from './post-saved-state';\nexport { default as PostSchedule } from './post-schedule';\nexport { default as PostScheduleCheck } from './post-schedule/check';\nexport {\n\tdefault as PostScheduleLabel,\n\tusePostScheduleLabel,\n} from './post-schedule/label';\nexport { default as PostSchedulePanel } from './post-schedule/panel';\nexport { default as PostSlug } from './post-slug';\nexport { default as PostSlugCheck } from './post-slug/check';\nexport { default as PostSticky } from './post-sticky';\nexport { default as PostStickyCheck } from './post-sticky/check';\nexport { default as PostSwitchToDraftButton } from './post-switch-to-draft-button';\nexport { default as PostSyncStatus } from './post-sync-status';\nexport { default as PostTaxonomies } from './post-taxonomies';\nexport { FlatTermSelector as PostTaxonomiesFlatTermSelector } from './post-taxonomies/flat-term-selector';\nexport { HierarchicalTermSelector as PostTaxonomiesHierarchicalTermSelector } from './post-taxonomies/hierarchical-term-selector';\nexport { default as PostTaxonomiesCheck } from './post-taxonomies/check';\nexport { default as PostTaxonomiesPanel } from './post-taxonomies/panel';\nexport { default as PostTextEditor } from './post-text-editor';\nexport { default as PostTitle } from './post-title';\nexport { default as PostTitleRaw } from './post-title/post-title-raw';\nexport { default as PostTrash } from './post-trash';\nexport { default as PostTrashCheck } from './post-trash/check';\nexport { default as PostTypeSupportCheck } from './post-type-support-check';\nexport { default as PostURL } from './post-url';\nexport { default as PostURLCheck } from './post-url/check';\nexport { default as PostURLLabel, usePostURLLabel } from './post-url/label';\nexport { default as PostURLPanel } from './post-url/panel';\nexport { default as PostVisibility } from './post-visibility';\nexport {\n\tdefault as PostVisibilityLabel,\n\tusePostVisibilityLabel,\n} from './post-visibility/label';\nexport { default as PostVisibilityCheck } from './post-visibility/check';\nexport { default as TableOfContents } from './table-of-contents';\nexport { default as ThemeSupportCheck } from './theme-support-check';\nexport { default as UnsavedChangesWarning } from './unsaved-changes-warning';\nexport { default as WordCount } from './word-count';\nexport { default as TimeToRead } from './time-to-read';\nexport { default as CharacterCount } from './character-count';\n\n// State Related Components.\nexport { default as EditorProvider } from './provider';\n\nexport * from './deprecated';\nexport const VisualEditorGlobalKeyboardShortcuts = EditorKeyboardShortcuts;\nexport const TextEditorGlobalKeyboardShortcuts = EditorKeyboardShortcuts;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["EditorKeyboardShortcuts","default","AutosaveMonitor","DocumentBar","DocumentOutline","DocumentOutlineCheck","EditorKeyboardShortcutsRegister","EditorHistoryRedo","EditorHistoryUndo","EditorNotices","EditorSnackbars","EntitiesSavedStates","useIsDirty","useEntitiesSavedStatesIsDirty","ErrorBoundary","LocalAutosaveMonitor","PageAttributesCheck","PageAttributesOrder","PageAttributesPanel","PageAttributesParent","PageTemplate","PluginDocumentSettingPanel","PluginBlockSettingsMenuItem","PluginMoreMenuItem","PluginPostPublishPanel","PluginPostStatusInfo","PluginPrePublishPanel","PluginSidebar","PluginSidebarMoreMenuItem","PostTemplatePanel","PostAuthor","PostAuthorCheck","PostAuthorPanel","PostComments","PostDiscussionPanel","PostExcerpt","PostExcerptCheck","PostExcerptPanel","PostFeaturedImage","PostFeaturedImageCheck","PostFeaturedImagePanel","PostFormat","PostFormatCheck","PostLastRevision","PostLastRevisionCheck","PostLastRevisionPanel","PostLockedModal","PostPendingStatus","PostPendingStatusCheck","PostPingbacks","PostPreviewButton","PostPublishButton","PostPublishButtonLabel","PostPublishPanel","PostSavedState","PostSchedule","PostScheduleCheck","PostScheduleLabel","usePostScheduleLabel","PostSchedulePanel","PostSlug","PostSlugCheck","PostSticky","PostStickyCheck","PostSwitchToDraftButton","PostSyncStatus","PostTaxonomies","FlatTermSelector","PostTaxonomiesFlatTermSelector","HierarchicalTermSelector","PostTaxonomiesHierarchicalTermSelector","PostTaxonomiesCheck","PostTaxonomiesPanel","PostTextEditor","PostTitle","PostTitleRaw","PostTrash","PostTrashCheck","PostTypeSupportCheck","PostURL","PostURLCheck","PostURLLabel","usePostURLLabel","PostURLPanel","PostVisibility","PostVisibilityLabel","usePostVisibilityLabel","PostVisibilityCheck","TableOfContents","ThemeSupportCheck","UnsavedChangesWarning","WordCount","TimeToRead","CharacterCount","EditorProvider","VisualEditorGlobalKeyboardShortcuts","TextEditorGlobalKeyboardShortcuts"],"sources":["@wordpress/editor/src/components/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport EditorKeyboardShortcuts from './global-keyboard-shortcuts';\n\n// Block Creation Components.\nexport * from './autocompleters';\n\n// Post Related Components.\nexport { default as AutosaveMonitor } from './autosave-monitor';\nexport { default as DocumentBar } from './document-bar';\nexport { default as DocumentOutline } from './document-outline';\nexport { default as DocumentOutlineCheck } from './document-outline/check';\nexport { EditorKeyboardShortcuts };\nexport { default as EditorKeyboardShortcutsRegister } from './global-keyboard-shortcuts/register-shortcuts';\nexport { default as EditorHistoryRedo } from './editor-history/redo';\nexport { default as EditorHistoryUndo } from './editor-history/undo';\nexport { default as EditorNotices } from './editor-notices';\nexport { default as EditorSnackbars } from './editor-snackbars';\nexport { default as EntitiesSavedStates } from './entities-saved-states';\nexport { useIsDirty as useEntitiesSavedStatesIsDirty } from './entities-saved-states/hooks/use-is-dirty';\nexport { default as ErrorBoundary } from './error-boundary';\nexport { default as LocalAutosaveMonitor } from './local-autosave-monitor';\nexport { default as PageAttributesCheck } from './page-attributes/check';\nexport { default as PageAttributesOrder } from './page-attributes/order';\nexport { default as PageAttributesPanel } from './page-attributes/panel';\nexport { default as PageAttributesParent } from './page-attributes/parent';\nexport { default as PageTemplate } from './post-template/classic-theme';\nexport { default as PluginDocumentSettingPanel } from './plugin-document-setting-panel';\nexport { default as PluginBlockSettingsMenuItem } from './block-settings-menu/plugin-block-settings-menu-item';\nexport { default as PluginMoreMenuItem } from './plugin-more-menu-item';\nexport { default as PluginPostPublishPanel } from './plugin-post-publish-panel';\nexport { default as PluginPostStatusInfo } from './plugin-post-status-info';\nexport { default as PluginPrePublishPanel } from './plugin-pre-publish-panel';\nexport { default as PluginSidebar } from './plugin-sidebar';\nexport { default as PluginSidebarMoreMenuItem } from './plugin-sidebar-more-menu-item';\nexport { default as PostTemplatePanel } from './post-template/panel';\nexport { default as PostAuthor } from './post-author';\nexport { default as PostAuthorCheck } from './post-author/check';\nexport { default as PostAuthorPanel } from './post-author/panel';\nexport { default as PostComments } from './post-comments';\nexport { default as PostDiscussionPanel } from './post-discussion/panel';\nexport { default as PostExcerpt } from './post-excerpt';\nexport { default as PostExcerptCheck } from './post-excerpt/check';\nexport { default as PostExcerptPanel } from './post-excerpt/panel';\nexport { default as PostFeaturedImage } from './post-featured-image';\nexport { default as PostFeaturedImageCheck } from './post-featured-image/check';\nexport { default as PostFeaturedImagePanel } from './post-featured-image/panel';\nexport { default as PostFormat } from './post-format';\nexport { default as PostFormatCheck } from './post-format/check';\nexport { default as PostLastRevision } from './post-last-revision';\nexport { default as PostLastRevisionCheck } from './post-last-revision/check';\nexport { default as PostLastRevisionPanel } from './post-last-revision/panel';\nexport { default as PostLockedModal } from './post-locked-modal';\nexport { default as PostPendingStatus } from './post-pending-status';\nexport { default as PostPendingStatusCheck } from './post-pending-status/check';\nexport { default as PostPingbacks } from './post-pingbacks';\nexport { default as PostPreviewButton } from './post-preview-button';\nexport { default as PostPublishButton } from './post-publish-button';\nexport { default as PostPublishButtonLabel } from './post-publish-button/label';\nexport { default as PostPublishPanel } from './post-publish-panel';\nexport { default as PostSavedState } from './post-saved-state';\nexport { default as PostSchedule } from './post-schedule';\nexport { default as PostScheduleCheck } from './post-schedule/check';\nexport {\n\tdefault as PostScheduleLabel,\n\tusePostScheduleLabel,\n} from './post-schedule/label';\nexport { default as PostSchedulePanel } from './post-schedule/panel';\nexport { default as PostSlug } from './post-slug';\nexport { default as PostSlugCheck } from './post-slug/check';\nexport { default as PostSticky } from './post-sticky';\nexport { default as PostStickyCheck } from './post-sticky/check';\nexport { default as PostSwitchToDraftButton } from './post-switch-to-draft-button';\nexport { default as PostSyncStatus } from './post-sync-status';\nexport { default as PostTaxonomies } from './post-taxonomies';\nexport { FlatTermSelector as PostTaxonomiesFlatTermSelector } from './post-taxonomies/flat-term-selector';\nexport { HierarchicalTermSelector as PostTaxonomiesHierarchicalTermSelector } from './post-taxonomies/hierarchical-term-selector';\nexport { default as PostTaxonomiesCheck } from './post-taxonomies/check';\nexport { default as PostTaxonomiesPanel } from './post-taxonomies/panel';\nexport { default as PostTextEditor } from './post-text-editor';\nexport { default as PostTitle } from './post-title';\nexport { default as PostTitleRaw } from './post-title/post-title-raw';\nexport { default as PostTrash } from './post-trash';\nexport { default as PostTrashCheck } from './post-trash/check';\nexport { default as PostTypeSupportCheck } from './post-type-support-check';\nexport { default as PostURL } from './post-url';\nexport { default as PostURLCheck } from './post-url/check';\nexport { default as PostURLLabel, usePostURLLabel } from './post-url/label';\nexport { default as PostURLPanel } from './post-url/panel';\nexport { default as PostVisibility } from './post-visibility';\nexport {\n\tdefault as PostVisibilityLabel,\n\tusePostVisibilityLabel,\n} from './post-visibility/label';\nexport { default as PostVisibilityCheck } from './post-visibility/check';\nexport { default as TableOfContents } from './table-of-contents';\nexport { default as ThemeSupportCheck } from './theme-support-check';\nexport { default as UnsavedChangesWarning } from './unsaved-changes-warning';\nexport { default as WordCount } from './word-count';\nexport { default as TimeToRead } from './time-to-read';\nexport { default as CharacterCount } from './character-count';\n\n// State Related Components.\nexport { default as EditorProvider } from './provider';\n\nexport * from './deprecated';\nexport const VisualEditorGlobalKeyboardShortcuts = EditorKeyboardShortcuts;\n\n/**\n * Component handles the global keyboard shortcuts for the Text editor.\n *\n * It provides functionality for various keyboard shortcuts such as toggling editor mode,\n * toggling distraction-free mode, undo/redo.\n */\nexport const TextEditorGlobalKeyboardShortcuts = EditorKeyboardShortcuts;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -608,7 +608,7 @@ const duplicatePostAction = {
|
|
|
608
608
|
});
|
|
609
609
|
createSuccessNotice(sprintf(
|
|
610
610
|
// translators: %s: Title of the created template e.g: "Category".
|
|
611
|
-
__('"%s" successfully created.'), newItem.title?.rendered || title), {
|
|
611
|
+
__('"%s" successfully created.'), decodeEntities(newItem.title?.rendered || title)), {
|
|
612
612
|
id: 'duplicate-post-action',
|
|
613
613
|
type: 'snackbar'
|
|
614
614
|
});
|
|
@@ -810,13 +810,18 @@ export const duplicateTemplatePartAction = {
|
|
|
810
810
|
};
|
|
811
811
|
export function usePostActions(postType, onActionPerformed) {
|
|
812
812
|
const {
|
|
813
|
+
defaultActions,
|
|
813
814
|
postTypeObject
|
|
814
815
|
} = useSelect(select => {
|
|
815
816
|
const {
|
|
816
817
|
getPostType
|
|
817
818
|
} = select(coreStore);
|
|
819
|
+
const {
|
|
820
|
+
getEntityActions
|
|
821
|
+
} = unlock(select(editorStore));
|
|
818
822
|
return {
|
|
819
|
-
postTypeObject: getPostType(postType)
|
|
823
|
+
postTypeObject: getPostType(postType),
|
|
824
|
+
defaultActions: getEntityActions('postType', postType)
|
|
820
825
|
};
|
|
821
826
|
}, [postType]);
|
|
822
827
|
const permanentlyDeletePostAction = usePermanentlyDeletePostAction();
|
|
@@ -830,7 +835,7 @@ export function usePostActions(postType, onActionPerformed) {
|
|
|
830
835
|
if (!isLoaded) {
|
|
831
836
|
return [];
|
|
832
837
|
}
|
|
833
|
-
const actions = [postTypeObject?.viewable && viewPostAction, supportsRevisions && postRevisionsAction, globalThis.IS_GUTENBERG_PLUGIN ? !isTemplateOrTemplatePart && !isPattern && duplicatePostAction : false, isTemplateOrTemplatePart && duplicateTemplatePartAction, isPattern && duplicatePatternAction, supportsTitle && renamePostAction, isPattern && exportPatternAsJSONAction, isTemplateOrTemplatePart ? resetTemplateAction : restorePostAction, isTemplateOrTemplatePart || isPattern ? deletePostAction : trashPostAction, !isTemplateOrTemplatePart && permanentlyDeletePostAction].filter(Boolean);
|
|
838
|
+
const actions = [postTypeObject?.viewable && viewPostAction, supportsRevisions && postRevisionsAction, globalThis.IS_GUTENBERG_PLUGIN ? !isTemplateOrTemplatePart && !isPattern && duplicatePostAction : false, isTemplateOrTemplatePart && duplicateTemplatePartAction, isPattern && duplicatePatternAction, supportsTitle && renamePostAction, isPattern && exportPatternAsJSONAction, isTemplateOrTemplatePart ? resetTemplateAction : restorePostAction, isTemplateOrTemplatePart || isPattern ? deletePostAction : trashPostAction, !isTemplateOrTemplatePart && permanentlyDeletePostAction, ...defaultActions].filter(Boolean);
|
|
834
839
|
if (onActionPerformed) {
|
|
835
840
|
for (let i = 0; i < actions.length; ++i) {
|
|
836
841
|
if (actions[i].callback) {
|
|
@@ -867,6 +872,6 @@ export function usePostActions(postType, onActionPerformed) {
|
|
|
867
872
|
}
|
|
868
873
|
}
|
|
869
874
|
return actions;
|
|
870
|
-
}, [isTemplateOrTemplatePart, isPattern, postTypeObject?.viewable, permanentlyDeletePostAction, restorePostAction, onActionPerformed, isLoaded, supportsRevisions, supportsTitle]);
|
|
875
|
+
}, [defaultActions, isTemplateOrTemplatePart, isPattern, postTypeObject?.viewable, permanentlyDeletePostAction, restorePostAction, onActionPerformed, isLoaded, supportsRevisions, supportsTitle]);
|
|
871
876
|
}
|
|
872
877
|
//# sourceMappingURL=actions.js.map
|