@wordpress/editor 13.30.0 → 13.32.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 +4 -0
- package/README.md +857 -0
- package/build/bindings/index.js +3 -1
- package/build/bindings/index.js.map +1 -1
- package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +107 -0
- package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -0
- package/build/components/commands/index.js +1 -1
- package/build/components/commands/index.js.map +1 -1
- package/build/components/deprecated.js +158 -0
- package/build/components/deprecated.js.map +1 -1
- package/build/components/document-bar/index.js +7 -10
- package/build/components/document-bar/index.js.map +1 -1
- package/build/components/document-outline/index.js +1 -1
- package/build/components/document-outline/index.js.map +1 -1
- package/build/components/editor-canvas/edit-template-blocks-notification.js +2 -39
- package/build/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
- package/build/components/editor-canvas/index.js +3 -0
- package/build/components/editor-canvas/index.js.map +1 -1
- package/build/components/entities-saved-states/hooks/use-is-dirty.js +10 -16
- package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
- package/build/components/entities-saved-states/index.js +28 -88
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/error-boundary/index.native.js +133 -0
- package/build/components/error-boundary/index.native.js.map +1 -0
- package/build/components/index.js +33 -8
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +9 -1
- package/build/components/index.native.js.map +1 -1
- package/build/components/inserter-sidebar/index.js +5 -1
- package/build/components/inserter-sidebar/index.js.map +1 -1
- package/build/components/list-view-sidebar/index.js +2 -1
- package/build/components/list-view-sidebar/index.js.map +1 -1
- package/build/components/pattern-overrides-panel/index.js +30 -0
- package/build/components/pattern-overrides-panel/index.js.map +1 -0
- package/build/components/plugin-document-setting-panel/index.js +123 -0
- package/build/components/plugin-document-setting-panel/index.js.map +1 -0
- package/build/components/plugin-post-publish-panel/index.js +68 -0
- package/build/components/plugin-post-publish-panel/index.js.map +1 -0
- package/build/components/plugin-pre-publish-panel/index.js +71 -0
- package/build/components/plugin-pre-publish-panel/index.js.map +1 -0
- package/build/components/post-actions/actions.js +455 -0
- package/build/components/post-actions/actions.js.map +1 -0
- package/build/components/post-card-panel/index.js +93 -0
- package/build/components/post-card-panel/index.js.map +1 -0
- package/build/components/post-featured-image/index.js +3 -8
- package/build/components/post-featured-image/index.js.map +1 -1
- package/build/components/post-featured-image/panel.js +7 -3
- package/build/components/post-featured-image/panel.js.map +1 -1
- package/build/components/post-sync-status/index.js +0 -72
- package/build/components/post-sync-status/index.js.map +1 -1
- package/build/components/post-taxonomies/flat-term-selector.js +7 -3
- package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build/components/post-title/index.native.js +1 -1
- package/build/components/post-title/index.native.js.map +1 -1
- package/build/components/provider/disable-non-page-content-blocks.js +36 -20
- package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/provider/index.js +1 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +8 -9
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/provider/use-hide-blocks-from-inserter.js +4 -3
- package/build/components/provider/use-hide-blocks-from-inserter.js.map +1 -1
- package/build/components/template-areas/index.js +70 -0
- package/build/components/template-areas/index.js.map +1 -0
- package/build/hooks/use-select-nearest-editable-block.js +87 -0
- package/build/hooks/use-select-nearest-editable-block.js.map +1 -0
- package/build/private-apis.js +6 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +46 -6
- package/build/store/actions.js.map +1 -1
- package/build/store/constants.js +3 -1
- package/build/store/constants.js.map +1 -1
- package/build/store/private-actions.js +80 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +56 -3
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +14 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +21 -11
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils/get-filtered-template-parts.js +71 -0
- package/build/store/utils/get-filtered-template-parts.js.map +1 -0
- package/build-module/bindings/index.js +3 -1
- package/build-module/bindings/index.js.map +1 -1
- package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +100 -0
- package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -0
- package/build-module/components/commands/index.js +1 -1
- package/build-module/components/commands/index.js.map +1 -1
- package/build-module/components/deprecated.js +159 -0
- package/build-module/components/deprecated.js.map +1 -1
- package/build-module/components/document-bar/index.js +8 -11
- package/build-module/components/document-bar/index.js.map +1 -1
- package/build-module/components/document-outline/index.js +1 -1
- package/build-module/components/document-outline/index.js.map +1 -1
- package/build-module/components/editor-canvas/edit-template-blocks-notification.js +4 -41
- package/build-module/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
- package/build-module/components/editor-canvas/index.js +3 -0
- package/build-module/components/editor-canvas/index.js.map +1 -1
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +10 -16
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
- package/build-module/components/entities-saved-states/index.js +29 -89
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/error-boundary/index.native.js +125 -0
- package/build-module/components/error-boundary/index.native.js.map +1 -0
- package/build-module/components/index.js +5 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +1 -0
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inserter-sidebar/index.js +5 -1
- package/build-module/components/inserter-sidebar/index.js.map +1 -1
- package/build-module/components/list-view-sidebar/index.js +2 -1
- package/build-module/components/list-view-sidebar/index.js.map +1 -1
- package/build-module/components/pattern-overrides-panel/index.js +23 -0
- package/build-module/components/pattern-overrides-panel/index.js.map +1 -0
- package/build-module/components/plugin-document-setting-panel/index.js +115 -0
- package/build-module/components/plugin-document-setting-panel/index.js.map +1 -0
- package/build-module/components/plugin-post-publish-panel/index.js +61 -0
- package/build-module/components/plugin-post-publish-panel/index.js.map +1 -0
- package/build-module/components/plugin-pre-publish-panel/index.js +64 -0
- package/build-module/components/plugin-pre-publish-panel/index.js.map +1 -0
- package/build-module/components/post-actions/actions.js +444 -0
- package/build-module/components/post-actions/actions.js.map +1 -0
- package/build-module/components/post-card-panel/index.js +85 -0
- package/build-module/components/post-card-panel/index.js.map +1 -0
- package/build-module/components/post-featured-image/index.js +4 -9
- package/build-module/components/post-featured-image/index.js.map +1 -1
- package/build-module/components/post-featured-image/panel.js +6 -2
- package/build-module/components/post-featured-image/panel.js.map +1 -1
- package/build-module/components/post-sync-status/index.js +2 -73
- package/build-module/components/post-sync-status/index.js.map +1 -1
- package/build-module/components/post-taxonomies/flat-term-selector.js +7 -3
- package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build-module/components/post-title/index.native.js +1 -1
- package/build-module/components/post-title/index.native.js.map +1 -1
- package/build-module/components/provider/disable-non-page-content-blocks.js +36 -20
- package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/provider/index.js +1 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +9 -10
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/provider/use-hide-blocks-from-inserter.js +4 -3
- package/build-module/components/provider/use-hide-blocks-from-inserter.js.map +1 -1
- package/build-module/components/template-areas/index.js +63 -0
- package/build-module/components/template-areas/index.js.map +1 -0
- package/build-module/hooks/use-select-nearest-editable-block.js +80 -0
- package/build-module/hooks/use-select-nearest-editable-block.js.map +1 -0
- package/build-module/private-apis.js +6 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +37 -3
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/constants.js +2 -0
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/private-actions.js +78 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +54 -3
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +13 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +19 -10
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils/get-filtered-template-parts.js +64 -0
- package/build-module/store/utils/get-filtered-template-parts.js.map +1 -0
- package/build-style/style-rtl.css +76 -33
- package/build-style/style.css +76 -33
- package/package.json +35 -33
- package/src/bindings/index.js +4 -1
- package/src/components/block-settings-menu/plugin-block-settings-menu-item.js +108 -0
- package/src/components/commands/index.js +1 -1
- package/src/components/deprecated.js +157 -0
- package/src/components/document-bar/index.js +12 -17
- package/src/components/document-bar/style.scss +9 -12
- package/src/components/document-outline/index.js +2 -1
- package/src/components/document-tools/style.scss +4 -11
- package/src/components/editor-canvas/edit-template-blocks-notification.js +6 -56
- package/src/components/editor-canvas/index.js +4 -0
- package/src/components/entities-saved-states/hooks/use-is-dirty.js +18 -22
- package/src/components/entities-saved-states/index.js +45 -121
- package/src/components/entities-saved-states/test/use-is-dirty.js +3 -0
- package/src/components/error-boundary/index.native.js +192 -0
- package/src/components/error-boundary/style.native.scss +116 -0
- package/src/components/index.js +5 -4
- package/src/components/index.native.js +1 -0
- package/src/components/inserter-sidebar/index.js +7 -1
- package/src/components/list-view-sidebar/index.js +1 -0
- package/src/components/list-view-sidebar/style.scss +1 -1
- package/src/components/pattern-overrides-panel/index.js +26 -0
- package/src/components/plugin-document-setting-panel/index.js +121 -0
- package/src/components/plugin-post-publish-panel/index.js +64 -0
- package/src/components/plugin-post-publish-panel/test/__snapshots__/index.js.snap +39 -0
- package/src/components/plugin-post-publish-panel/test/index.js +33 -0
- package/src/components/plugin-pre-publish-panel/index.js +67 -0
- package/src/components/plugin-pre-publish-panel/test/index.js +33 -0
- package/src/components/post-actions/actions.js +582 -0
- package/src/components/post-card-panel/index.js +108 -0
- package/src/components/post-card-panel/style.scss +32 -0
- package/src/components/post-featured-image/index.js +6 -15
- package/src/components/post-featured-image/panel.js +9 -3
- package/src/components/post-featured-image/style.scss +9 -13
- package/src/components/post-sync-status/index.js +1 -94
- package/src/components/post-taxonomies/flat-term-selector.js +13 -8
- package/src/components/post-title/index.native.js +1 -1
- package/src/components/provider/disable-non-page-content-blocks.js +40 -20
- package/src/components/provider/index.js +1 -1
- package/src/components/provider/test/disable-non-page-content-blocks.js +35 -14
- package/src/components/provider/use-block-editor-settings.js +11 -11
- package/src/components/provider/use-hide-blocks-from-inserter.js +5 -3
- package/src/components/template-areas/index.js +85 -0
- package/src/components/template-areas/style.scss +23 -0
- package/src/hooks/use-select-nearest-editable-block.js +95 -0
- package/src/private-apis.js +6 -2
- package/src/store/actions.js +37 -3
- package/src/store/constants.js +2 -0
- package/src/store/private-actions.js +111 -0
- package/src/store/private-selectors.js +105 -17
- package/src/store/reducer.js +13 -0
- package/src/store/selectors.js +50 -40
- package/src/store/utils/get-filtered-template-parts.js +69 -0
- package/src/store/utils/test/get-filtered-template-parts.js +189 -0
- package/src/style.scss +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_components","_blockEditor","_icons","_compose","_i18n","_element","_preferences","_lockUnlock","_store","InserterSidebar","insertionPoint","showMostUsedBlocks","useSelect","select","getInsertionPoint","unlock","editorStore","get","preferencesStore","setIsInserterOpened","useDispatch","isMobileViewport","useViewportMatch","TagName","VisuallyHidden","inserterDialogRef","inserterDialogProps","useDialog","onClose","focusOnMount","libraryRef","useRef","useEffect","current","focusSearch","_react","createElement","ref","className","Button","icon","close","label","__","onClick","__experimentalLibrary","showInserterHelpPanel","shouldFocusBlock","rootClientId","__experimentalInsertionIndex","insertionIndex","__experimentalFilterValue","filterValue"],"sources":["@wordpress/editor/src/components/inserter-sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button, VisuallyHidden } from '@wordpress/components';\nimport { __experimentalLibrary as Library } from '@wordpress/block-editor';\nimport { close } from '@wordpress/icons';\nimport {\n\tuseViewportMatch,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\n\nexport default function InserterSidebar() {\n\tconst { insertionPoint, showMostUsedBlocks } = useSelect( ( select ) => {\n\t\tconst { getInsertionPoint } = unlock( select( editorStore ) );\n\t\tconst { get } = select( preferencesStore );\n\t\treturn {\n\t\t\tinsertionPoint: getInsertionPoint(),\n\t\t\tshowMostUsedBlocks: get( 'core', 'mostUsedBlocks' ),\n\t\t};\n\t}, [] );\n\tconst { setIsInserterOpened } = useDispatch( editorStore );\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst TagName = ! isMobileViewport ? VisuallyHidden : 'div';\n\tconst [ inserterDialogRef, inserterDialogProps ] = useDialog( {\n\t\tonClose: () => setIsInserterOpened( false ),\n\t\tfocusOnMount: null,\n\t} );\n\n\tconst libraryRef = useRef();\n\tuseEffect( () => {\n\t\tlibraryRef.current.focusSearch();\n\t}, [] );\n\n\treturn (\n\t\t<div\n\t\t\tref={ inserterDialogRef }\n\t\t\t{ ...inserterDialogProps }\n\t\t\tclassName=\"editor-inserter-sidebar\"\n\t\t>\n\t\t\t<TagName className=\"editor-inserter-sidebar__header\">\n\t\t\t\t<Button\n\t\t\t\t\ticon={ close }\n\t\t\t\t\tlabel={ __( 'Close block inserter' ) }\n\t\t\t\t\tonClick={ () => setIsInserterOpened( false ) }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t\t<div className=\"editor-inserter-sidebar__content\">\n\t\t\t\t<Library\n\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\tshowInserterHelpPanel\n\t\t\t\t\tshouldFocusBlock={ isMobileViewport }\n\t\t\t\t\trootClientId={ insertionPoint.rootClientId }\n\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\tinsertionPoint.insertionIndex\n\t\t\t\t\t}\n\t\t\t\t\t__experimentalFilterValue={ insertionPoint.filterValue }\n\t\t\t\t\tref={ libraryRef }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAIA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AAKA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AAnBA;AACA;AACA;;AAaA;AACA;AACA;;AAIe,SAASU,eAAeA,
|
|
1
|
+
{"version":3,"names":["_data","require","_components","_blockEditor","_icons","_compose","_i18n","_element","_preferences","_lockUnlock","_store","InserterSidebar","closeGeneralSidebar","isRightSidebarOpen","insertionPoint","showMostUsedBlocks","useSelect","select","getInsertionPoint","unlock","editorStore","get","preferencesStore","setIsInserterOpened","useDispatch","isMobileViewport","useViewportMatch","TagName","VisuallyHidden","inserterDialogRef","inserterDialogProps","useDialog","onClose","focusOnMount","libraryRef","useRef","useEffect","current","focusSearch","_react","createElement","ref","className","Button","icon","close","label","__","onClick","__experimentalLibrary","showInserterHelpPanel","shouldFocusBlock","rootClientId","__experimentalInsertionIndex","insertionIndex","__experimentalFilterValue","filterValue","__experimentalOnPatternCategorySelection","undefined"],"sources":["@wordpress/editor/src/components/inserter-sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button, VisuallyHidden } from '@wordpress/components';\nimport { __experimentalLibrary as Library } from '@wordpress/block-editor';\nimport { close } from '@wordpress/icons';\nimport {\n\tuseViewportMatch,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\n\nexport default function InserterSidebar( {\n\tcloseGeneralSidebar,\n\tisRightSidebarOpen,\n} ) {\n\tconst { insertionPoint, showMostUsedBlocks } = useSelect( ( select ) => {\n\t\tconst { getInsertionPoint } = unlock( select( editorStore ) );\n\t\tconst { get } = select( preferencesStore );\n\t\treturn {\n\t\t\tinsertionPoint: getInsertionPoint(),\n\t\t\tshowMostUsedBlocks: get( 'core', 'mostUsedBlocks' ),\n\t\t};\n\t}, [] );\n\tconst { setIsInserterOpened } = useDispatch( editorStore );\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst TagName = ! isMobileViewport ? VisuallyHidden : 'div';\n\tconst [ inserterDialogRef, inserterDialogProps ] = useDialog( {\n\t\tonClose: () => setIsInserterOpened( false ),\n\t\tfocusOnMount: null,\n\t} );\n\n\tconst libraryRef = useRef();\n\tuseEffect( () => {\n\t\tlibraryRef.current.focusSearch();\n\t}, [] );\n\n\treturn (\n\t\t<div\n\t\t\tref={ inserterDialogRef }\n\t\t\t{ ...inserterDialogProps }\n\t\t\tclassName=\"editor-inserter-sidebar\"\n\t\t>\n\t\t\t<TagName className=\"editor-inserter-sidebar__header\">\n\t\t\t\t<Button\n\t\t\t\t\ticon={ close }\n\t\t\t\t\tlabel={ __( 'Close block inserter' ) }\n\t\t\t\t\tonClick={ () => setIsInserterOpened( false ) }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t\t<div className=\"editor-inserter-sidebar__content\">\n\t\t\t\t<Library\n\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\tshowInserterHelpPanel\n\t\t\t\t\tshouldFocusBlock={ isMobileViewport }\n\t\t\t\t\trootClientId={ insertionPoint.rootClientId }\n\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\tinsertionPoint.insertionIndex\n\t\t\t\t\t}\n\t\t\t\t\t__experimentalFilterValue={ insertionPoint.filterValue }\n\t\t\t\t\t__experimentalOnPatternCategorySelection={\n\t\t\t\t\t\tisRightSidebarOpen ? closeGeneralSidebar : undefined\n\t\t\t\t\t}\n\t\t\t\t\tref={ libraryRef }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAIA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AAKA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AAnBA;AACA;AACA;;AAaA;AACA;AACA;;AAIe,SAASU,eAAeA,CAAE;EACxCC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,cAAc;IAAEC;EAAmB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACvE,MAAM;MAAEC;IAAkB,CAAC,GAAG,IAAAC,kBAAM,EAAEF,MAAM,CAAEG,YAAY,CAAE,CAAC;IAC7D,MAAM;MAAEC;IAAI,CAAC,GAAGJ,MAAM,CAAEK,kBAAiB,CAAC;IAC1C,OAAO;MACNR,cAAc,EAAEI,iBAAiB,CAAC,CAAC;MACnCH,kBAAkB,EAAEM,GAAG,CAAE,MAAM,EAAE,gBAAiB;IACnD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEE;EAAoB,CAAC,GAAG,IAAAC,iBAAW,EAAEJ,YAAY,CAAC;EAE1D,MAAMK,gBAAgB,GAAG,IAAAC,yBAAgB,EAAE,QAAQ,EAAE,GAAI,CAAC;EAC1D,MAAMC,OAAO,GAAG,CAAEF,gBAAgB,GAAGG,0BAAc,GAAG,KAAK;EAC3D,MAAM,CAAEC,iBAAiB,EAAEC,mBAAmB,CAAE,GAAG,IAAAC,gCAAS,EAAE;IAC7DC,OAAO,EAAEA,CAAA,KAAMT,mBAAmB,CAAE,KAAM,CAAC;IAC3CU,YAAY,EAAE;EACf,CAAE,CAAC;EAEH,MAAMC,UAAU,GAAG,IAAAC,eAAM,EAAC,CAAC;EAC3B,IAAAC,kBAAS,EAAE,MAAM;IAChBF,UAAU,CAACG,OAAO,CAACC,WAAW,CAAC,CAAC;EACjC,CAAC,EAAE,EAAG,CAAC;EAEP,OACC,IAAAC,MAAA,CAAAC,aAAA;IACCC,GAAG,EAAGZ,iBAAmB;IAAA,GACpBC,mBAAmB;IACxBY,SAAS,EAAC;EAAyB,GAEnC,IAAAH,MAAA,CAAAC,aAAA,EAACb,OAAO;IAACe,SAAS,EAAC;EAAiC,GACnD,IAAAH,MAAA,CAAAC,aAAA,EAACtC,WAAA,CAAAyC,MAAM;IACNC,IAAI,EAAGC,YAAO;IACdC,KAAK,EAAG,IAAAC,QAAE,EAAE,sBAAuB,CAAG;IACtCC,OAAO,EAAGA,CAAA,KAAMzB,mBAAmB,CAAE,KAAM;EAAG,CAC9C,CACO,CAAC,EACV,IAAAgB,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAAkC,GAChD,IAAAH,MAAA,CAAAC,aAAA,EAACrC,YAAA,CAAA8C,qBAAO;IACPlC,kBAAkB,EAAGA,kBAAoB;IACzCmC,qBAAqB;IACrBC,gBAAgB,EAAG1B,gBAAkB;IACrC2B,YAAY,EAAGtC,cAAc,CAACsC,YAAc;IAC5CC,4BAA4B,EAC3BvC,cAAc,CAACwC,cACf;IACDC,yBAAyB,EAAGzC,cAAc,CAAC0C,WAAa;IACxDC,wCAAwC,EACvC5C,kBAAkB,GAAGD,mBAAmB,GAAG8C,SAC3C;IACDjB,GAAG,EAAGP;EAAY,CAClB,CACG,CACD,CAAC;AAER"}
|
|
@@ -124,7 +124,8 @@ function ListViewSidebar() {
|
|
|
124
124
|
className: "editor-list-view-sidebar__close-button",
|
|
125
125
|
icon: _icons.closeSmall,
|
|
126
126
|
label: (0, _i18n.__)('Close'),
|
|
127
|
-
onClick: closeListView
|
|
127
|
+
onClick: closeListView,
|
|
128
|
+
size: "small"
|
|
128
129
|
}), (0, _react.createElement)(Tabs.TabList, {
|
|
129
130
|
className: "editor-list-view-sidebar__tabs-tablist",
|
|
130
131
|
ref: tabsRef
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blockEditor","require","_components","_compose","_data","_dom","_element","_i18n","_icons","_keyboardShortcuts","_keycodes","_listViewOutline","_interopRequireDefault","_lockUnlock","_store","Tabs","unlock","componentsPrivateApis","ListViewSidebar","setIsListViewOpened","useDispatch","editorStore","getListViewToggleRef","useSelect","focusOnMountRef","useFocusOnMount","closeListView","useCallback","current","focus","closeOnEscape","event","keyCode","ESCAPE","defaultPrevented","preventDefault","dropZoneElement","setDropZoneElement","useState","tab","setTab","sidebarRef","useRef","tabsRef","listViewRef","listViewContainerRef","useMergeRefs","handleSidebarFocus","currentTab","tabPanelFocus","tabbable","find","listViewApplicationFocus","listViewFocusArea","contains","handleToggleListViewShortcut","ownerDocument","activeElement","useShortcut","_react","createElement","className","onKeyDown","ref","onSelect","tabName","selectOnMove","defaultTabId","Button","icon","closeSmall","label","__","onClick","TabList","Tab","tabId","_x","TabPanel","focusable","__experimentalListView","default"],"sources":["@wordpress/editor/src/components/list-view-sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalListView as ListView } from '@wordpress/block-editor';\nimport {\n\tButton,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useFocusOnMount, useMergeRefs } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { focus } from '@wordpress/dom';\nimport { useCallback, useRef, useState } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport ListViewOutline from './list-view-outline';\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nexport default function ListViewSidebar() {\n\tconst { setIsListViewOpened } = useDispatch( editorStore );\n\tconst { getListViewToggleRef } = unlock( useSelect( editorStore ) );\n\n\t// This hook handles focus when the sidebar first renders.\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\n\t// When closing the list view, focus should return to the toggle button.\n\tconst closeListView = useCallback( () => {\n\t\tsetIsListViewOpened( false );\n\t\tgetListViewToggleRef().current?.focus();\n\t}, [ getListViewToggleRef, setIsListViewOpened ] );\n\n\tconst closeOnEscape = useCallback(\n\t\t( event ) => {\n\t\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tcloseListView();\n\t\t\t}\n\t\t},\n\t\t[ closeListView ]\n\t);\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the dropZoneElement updates.\n\tconst [ dropZoneElement, setDropZoneElement ] = useState( null );\n\t// Tracks our current tab.\n\tconst [ tab, setTab ] = useState( 'list-view' );\n\n\t// This ref refers to the sidebar as a whole.\n\tconst sidebarRef = useRef();\n\t// This ref refers to the tab panel.\n\tconst tabsRef = useRef();\n\t// This ref refers to the list view application area.\n\tconst listViewRef = useRef();\n\n\t// Must merge the refs together so focus can be handled properly in the next function.\n\tconst listViewContainerRef = useMergeRefs( [\n\t\tfocusOnMountRef,\n\t\tlistViewRef,\n\t\tsetDropZoneElement,\n\t] );\n\n\t/*\n\t * Callback function to handle list view or outline focus.\n\t *\n\t * @param {string} currentTab The current tab. Either list view or outline.\n\t *\n\t * @return void\n\t */\n\tfunction handleSidebarFocus( currentTab ) {\n\t\t// Tab panel focus.\n\t\tconst tabPanelFocus = focus.tabbable.find( tabsRef.current )[ 0 ];\n\t\t// List view tab is selected.\n\t\tif ( currentTab === 'list-view' ) {\n\t\t\t// Either focus the list view or the tab panel. Must have a fallback because the list view does not render when there are no blocks.\n\t\t\tconst listViewApplicationFocus = focus.tabbable.find(\n\t\t\t\tlistViewRef.current\n\t\t\t)[ 0 ];\n\t\t\tconst listViewFocusArea = sidebarRef.current.contains(\n\t\t\t\tlistViewApplicationFocus\n\t\t\t)\n\t\t\t\t? listViewApplicationFocus\n\t\t\t\t: tabPanelFocus;\n\t\t\tlistViewFocusArea.focus();\n\t\t\t// Outline tab is selected.\n\t\t} else {\n\t\t\ttabPanelFocus.focus();\n\t\t}\n\t}\n\n\tconst handleToggleListViewShortcut = useCallback( () => {\n\t\t// If the sidebar has focus, it is safe to close.\n\t\tif (\n\t\t\tsidebarRef.current.contains(\n\t\t\t\tsidebarRef.current.ownerDocument.activeElement\n\t\t\t)\n\t\t) {\n\t\t\tcloseListView();\n\t\t} else {\n\t\t\t// If the list view or outline does not have focus, focus should be moved to it.\n\t\t\thandleSidebarFocus( tab );\n\t\t}\n\t}, [ closeListView, tab ] );\n\n\t// This only fires when the sidebar is open because of the conditional rendering.\n\t// It is the same shortcut to open but that is defined as a global shortcut and only fires when the sidebar is closed.\n\tuseShortcut( 'core/editor/toggle-list-view', handleToggleListViewShortcut );\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tclassName=\"editor-list-view-sidebar\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t\tref={ sidebarRef }\n\t\t>\n\t\t\t<Tabs\n\t\t\t\tonSelect={ ( tabName ) => setTab( tabName ) }\n\t\t\t\tselectOnMove={ false }\n\t\t\t\t// The initial tab value is set explicitly to avoid an initial\n\t\t\t\t// render where no tab is selected. This ensures that the\n\t\t\t\t// tabpanel height is correct so the relevant scroll container\n\t\t\t\t// can be rendered internally.\n\t\t\t\tdefaultTabId=\"list-view\"\n\t\t\t>\n\t\t\t\t<div className=\"edit-post-editor__document-overview-panel__header\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"editor-list-view-sidebar__close-button\"\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t\tonClick={ closeListView }\n\t\t\t\t\t/>\n\t\t\t\t\t<Tabs.TabList\n\t\t\t\t\t\tclassName=\"editor-list-view-sidebar__tabs-tablist\"\n\t\t\t\t\t\tref={ tabsRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\tclassName=\"editor-list-view-sidebar__tabs-tab\"\n\t\t\t\t\t\t\ttabId=\"list-view\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ _x( 'List View', 'Post overview' ) }\n\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\tclassName=\"editor-list-view-sidebar__tabs-tab\"\n\t\t\t\t\t\t\ttabId=\"outline\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ _x( 'Outline', 'Post overview' ) }\n\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t</div>\n\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\tref={ listViewContainerRef }\n\t\t\t\t\tclassName=\"editor-list-view-sidebar__tabs-tabpanel\"\n\t\t\t\t\ttabId=\"list-view\"\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"editor-list-view-sidebar__list-view-container\">\n\t\t\t\t\t\t<div className=\"editor-list-view-sidebar__list-view-panel-content\">\n\t\t\t\t\t\t\t<ListView dropZoneElement={ dropZoneElement } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\tclassName=\"editor-list-view-sidebar__tabs-tabpanel\"\n\t\t\t\t\ttabId=\"outline\"\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"editor-list-view-sidebar__list-view-container\">\n\t\t\t\t\t\t<ListViewOutline />\n\t\t\t\t\t</div>\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_components","_compose","_data","_dom","_element","_i18n","_icons","_keyboardShortcuts","_keycodes","_listViewOutline","_interopRequireDefault","_lockUnlock","_store","Tabs","unlock","componentsPrivateApis","ListViewSidebar","setIsListViewOpened","useDispatch","editorStore","getListViewToggleRef","useSelect","focusOnMountRef","useFocusOnMount","closeListView","useCallback","current","focus","closeOnEscape","event","keyCode","ESCAPE","defaultPrevented","preventDefault","dropZoneElement","setDropZoneElement","useState","tab","setTab","sidebarRef","useRef","tabsRef","listViewRef","listViewContainerRef","useMergeRefs","handleSidebarFocus","currentTab","tabPanelFocus","tabbable","find","listViewApplicationFocus","listViewFocusArea","contains","handleToggleListViewShortcut","ownerDocument","activeElement","useShortcut","_react","createElement","className","onKeyDown","ref","onSelect","tabName","selectOnMove","defaultTabId","Button","icon","closeSmall","label","__","onClick","size","TabList","Tab","tabId","_x","TabPanel","focusable","__experimentalListView","default"],"sources":["@wordpress/editor/src/components/list-view-sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalListView as ListView } from '@wordpress/block-editor';\nimport {\n\tButton,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useFocusOnMount, useMergeRefs } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { focus } from '@wordpress/dom';\nimport { useCallback, useRef, useState } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport ListViewOutline from './list-view-outline';\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nexport default function ListViewSidebar() {\n\tconst { setIsListViewOpened } = useDispatch( editorStore );\n\tconst { getListViewToggleRef } = unlock( useSelect( editorStore ) );\n\n\t// This hook handles focus when the sidebar first renders.\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\n\t// When closing the list view, focus should return to the toggle button.\n\tconst closeListView = useCallback( () => {\n\t\tsetIsListViewOpened( false );\n\t\tgetListViewToggleRef().current?.focus();\n\t}, [ getListViewToggleRef, setIsListViewOpened ] );\n\n\tconst closeOnEscape = useCallback(\n\t\t( event ) => {\n\t\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tcloseListView();\n\t\t\t}\n\t\t},\n\t\t[ closeListView ]\n\t);\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the dropZoneElement updates.\n\tconst [ dropZoneElement, setDropZoneElement ] = useState( null );\n\t// Tracks our current tab.\n\tconst [ tab, setTab ] = useState( 'list-view' );\n\n\t// This ref refers to the sidebar as a whole.\n\tconst sidebarRef = useRef();\n\t// This ref refers to the tab panel.\n\tconst tabsRef = useRef();\n\t// This ref refers to the list view application area.\n\tconst listViewRef = useRef();\n\n\t// Must merge the refs together so focus can be handled properly in the next function.\n\tconst listViewContainerRef = useMergeRefs( [\n\t\tfocusOnMountRef,\n\t\tlistViewRef,\n\t\tsetDropZoneElement,\n\t] );\n\n\t/*\n\t * Callback function to handle list view or outline focus.\n\t *\n\t * @param {string} currentTab The current tab. Either list view or outline.\n\t *\n\t * @return void\n\t */\n\tfunction handleSidebarFocus( currentTab ) {\n\t\t// Tab panel focus.\n\t\tconst tabPanelFocus = focus.tabbable.find( tabsRef.current )[ 0 ];\n\t\t// List view tab is selected.\n\t\tif ( currentTab === 'list-view' ) {\n\t\t\t// Either focus the list view or the tab panel. Must have a fallback because the list view does not render when there are no blocks.\n\t\t\tconst listViewApplicationFocus = focus.tabbable.find(\n\t\t\t\tlistViewRef.current\n\t\t\t)[ 0 ];\n\t\t\tconst listViewFocusArea = sidebarRef.current.contains(\n\t\t\t\tlistViewApplicationFocus\n\t\t\t)\n\t\t\t\t? listViewApplicationFocus\n\t\t\t\t: tabPanelFocus;\n\t\t\tlistViewFocusArea.focus();\n\t\t\t// Outline tab is selected.\n\t\t} else {\n\t\t\ttabPanelFocus.focus();\n\t\t}\n\t}\n\n\tconst handleToggleListViewShortcut = useCallback( () => {\n\t\t// If the sidebar has focus, it is safe to close.\n\t\tif (\n\t\t\tsidebarRef.current.contains(\n\t\t\t\tsidebarRef.current.ownerDocument.activeElement\n\t\t\t)\n\t\t) {\n\t\t\tcloseListView();\n\t\t} else {\n\t\t\t// If the list view or outline does not have focus, focus should be moved to it.\n\t\t\thandleSidebarFocus( tab );\n\t\t}\n\t}, [ closeListView, tab ] );\n\n\t// This only fires when the sidebar is open because of the conditional rendering.\n\t// It is the same shortcut to open but that is defined as a global shortcut and only fires when the sidebar is closed.\n\tuseShortcut( 'core/editor/toggle-list-view', handleToggleListViewShortcut );\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tclassName=\"editor-list-view-sidebar\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t\tref={ sidebarRef }\n\t\t>\n\t\t\t<Tabs\n\t\t\t\tonSelect={ ( tabName ) => setTab( tabName ) }\n\t\t\t\tselectOnMove={ false }\n\t\t\t\t// The initial tab value is set explicitly to avoid an initial\n\t\t\t\t// render where no tab is selected. This ensures that the\n\t\t\t\t// tabpanel height is correct so the relevant scroll container\n\t\t\t\t// can be rendered internally.\n\t\t\t\tdefaultTabId=\"list-view\"\n\t\t\t>\n\t\t\t\t<div className=\"edit-post-editor__document-overview-panel__header\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"editor-list-view-sidebar__close-button\"\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t\tonClick={ closeListView }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Tabs.TabList\n\t\t\t\t\t\tclassName=\"editor-list-view-sidebar__tabs-tablist\"\n\t\t\t\t\t\tref={ tabsRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\tclassName=\"editor-list-view-sidebar__tabs-tab\"\n\t\t\t\t\t\t\ttabId=\"list-view\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ _x( 'List View', 'Post overview' ) }\n\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\tclassName=\"editor-list-view-sidebar__tabs-tab\"\n\t\t\t\t\t\t\ttabId=\"outline\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ _x( 'Outline', 'Post overview' ) }\n\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t</div>\n\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\tref={ listViewContainerRef }\n\t\t\t\t\tclassName=\"editor-list-view-sidebar__tabs-tabpanel\"\n\t\t\t\t\ttabId=\"list-view\"\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"editor-list-view-sidebar__list-view-container\">\n\t\t\t\t\t\t<div className=\"editor-list-view-sidebar__list-view-panel-content\">\n\t\t\t\t\t\t\t<ListView dropZoneElement={ dropZoneElement } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\tclassName=\"editor-list-view-sidebar__tabs-tabpanel\"\n\t\t\t\t\ttabId=\"outline\"\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"editor-list-view-sidebar__list-view-container\">\n\t\t\t\t\t\t<ListViewOutline />\n\t\t\t\t\t</div>\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = PatternOverridesPanel;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _data = require("@wordpress/data");
|
|
9
|
+
var _patterns = require("@wordpress/patterns");
|
|
10
|
+
var _store = require("../../store");
|
|
11
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
12
|
+
/**
|
|
13
|
+
* WordPress dependencies
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Internal dependencies
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
const {
|
|
21
|
+
OverridesPanel
|
|
22
|
+
} = (0, _lockUnlock.unlock)(_patterns.privateApis);
|
|
23
|
+
function PatternOverridesPanel() {
|
|
24
|
+
const supportsPatternOverridesPanel = (0, _data.useSelect)(select => select(_store.store).getCurrentPostType() === 'wp_block', []);
|
|
25
|
+
if (!supportsPatternOverridesPanel) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
return (0, _react.createElement)(OverridesPanel, null);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_data","require","_patterns","_store","_lockUnlock","OverridesPanel","unlock","patternsPrivateApis","PatternOverridesPanel","supportsPatternOverridesPanel","useSelect","select","editorStore","getCurrentPostType","_react","createElement"],"sources":["@wordpress/editor/src/components/pattern-overrides-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { OverridesPanel } = unlock( patternsPrivateApis );\n\nexport default function PatternOverridesPanel() {\n\tconst supportsPatternOverridesPanel = useSelect(\n\t\t( select ) => select( editorStore ).getCurrentPostType() === 'wp_block',\n\t\t[]\n\t);\n\n\tif ( ! supportsPatternOverridesPanel ) {\n\t\treturn null;\n\t}\n\n\treturn <OverridesPanel />;\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,MAAM;EAAEI;AAAe,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAoB,CAAC;AAEzC,SAASC,qBAAqBA,CAAA,EAAG;EAC/C,MAAMC,6BAA6B,GAAG,IAAAC,eAAS,EAC5CC,MAAM,IAAMA,MAAM,CAAEC,YAAY,CAAC,CAACC,kBAAkB,CAAC,CAAC,KAAK,UAAU,EACvE,EACD,CAAC;EAED,IAAK,CAAEJ,6BAA6B,EAAG;IACtC,OAAO,IAAI;EACZ;EAEA,OAAO,IAAAK,MAAA,CAAAC,aAAA,EAACV,cAAc,MAAE,CAAC;AAC1B"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _components = require("@wordpress/components");
|
|
10
|
+
var _plugins = require("@wordpress/plugins");
|
|
11
|
+
var _data = require("@wordpress/data");
|
|
12
|
+
var _warning = _interopRequireDefault(require("@wordpress/warning"));
|
|
13
|
+
var _enablePluginDocumentSettingPanel = _interopRequireDefault(require("../preferences-modal/enable-plugin-document-setting-panel"));
|
|
14
|
+
var _store = require("../../store");
|
|
15
|
+
/**
|
|
16
|
+
* WordPress dependencies
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Internal dependencies
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
const {
|
|
24
|
+
Fill,
|
|
25
|
+
Slot
|
|
26
|
+
} = (0, _components.createSlotFill)('PluginDocumentSettingPanel');
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Renders items below the Status & Availability panel in the Document Sidebar.
|
|
30
|
+
*
|
|
31
|
+
* @param {Object} props Component properties.
|
|
32
|
+
* @param {string} props.name Required. A machine-friendly name for the panel.
|
|
33
|
+
* @param {string} [props.className] An optional class name added to the row.
|
|
34
|
+
* @param {string} [props.title] The title of the panel
|
|
35
|
+
* @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.
|
|
36
|
+
* @param {Element} props.children Children to be rendered
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```js
|
|
40
|
+
* // Using ES5 syntax
|
|
41
|
+
* var el = React.createElement;
|
|
42
|
+
* var __ = wp.i18n.__;
|
|
43
|
+
* var registerPlugin = wp.plugins.registerPlugin;
|
|
44
|
+
* var PluginDocumentSettingPanel = wp.editor.PluginDocumentSettingPanel;
|
|
45
|
+
*
|
|
46
|
+
* function MyDocumentSettingPlugin() {
|
|
47
|
+
* return el(
|
|
48
|
+
* PluginDocumentSettingPanel,
|
|
49
|
+
* {
|
|
50
|
+
* className: 'my-document-setting-plugin',
|
|
51
|
+
* title: 'My Panel',
|
|
52
|
+
* name: 'my-panel',
|
|
53
|
+
* },
|
|
54
|
+
* __( 'My Document Setting Panel' )
|
|
55
|
+
* );
|
|
56
|
+
* }
|
|
57
|
+
*
|
|
58
|
+
* registerPlugin( 'my-document-setting-plugin', {
|
|
59
|
+
* render: MyDocumentSettingPlugin
|
|
60
|
+
* } );
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```jsx
|
|
65
|
+
* // Using ESNext syntax
|
|
66
|
+
* import { registerPlugin } from '@wordpress/plugins';
|
|
67
|
+
* import { PluginDocumentSettingPanel } from '@wordpress/editor';
|
|
68
|
+
*
|
|
69
|
+
* const MyDocumentSettingTest = () => (
|
|
70
|
+
* <PluginDocumentSettingPanel className="my-document-setting-plugin" title="My Panel" name="my-panel">
|
|
71
|
+
* <p>My Document Setting Panel</p>
|
|
72
|
+
* </PluginDocumentSettingPanel>
|
|
73
|
+
* );
|
|
74
|
+
*
|
|
75
|
+
* registerPlugin( 'document-setting-test', { render: MyDocumentSettingTest } );
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* @return {Component} The component to be rendered.
|
|
79
|
+
*/
|
|
80
|
+
const PluginDocumentSettingPanel = ({
|
|
81
|
+
name,
|
|
82
|
+
className,
|
|
83
|
+
title,
|
|
84
|
+
icon,
|
|
85
|
+
children
|
|
86
|
+
}) => {
|
|
87
|
+
const {
|
|
88
|
+
name: pluginName
|
|
89
|
+
} = (0, _plugins.usePluginContext)();
|
|
90
|
+
const panelName = `${pluginName}/${name}`;
|
|
91
|
+
const {
|
|
92
|
+
opened,
|
|
93
|
+
isEnabled
|
|
94
|
+
} = (0, _data.useSelect)(select => {
|
|
95
|
+
const {
|
|
96
|
+
isEditorPanelOpened,
|
|
97
|
+
isEditorPanelEnabled
|
|
98
|
+
} = select(_store.store);
|
|
99
|
+
return {
|
|
100
|
+
opened: isEditorPanelOpened(panelName),
|
|
101
|
+
isEnabled: isEditorPanelEnabled(panelName)
|
|
102
|
+
};
|
|
103
|
+
}, [panelName]);
|
|
104
|
+
const {
|
|
105
|
+
toggleEditorPanelOpened
|
|
106
|
+
} = (0, _data.useDispatch)(_store.store);
|
|
107
|
+
if (undefined === name) {
|
|
108
|
+
typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)('PluginDocumentSettingPanel requires a name property.') : void 0;
|
|
109
|
+
}
|
|
110
|
+
return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_enablePluginDocumentSettingPanel.default, {
|
|
111
|
+
label: title,
|
|
112
|
+
panelName: panelName
|
|
113
|
+
}), (0, _react.createElement)(Fill, null, isEnabled && (0, _react.createElement)(_components.PanelBody, {
|
|
114
|
+
className: className,
|
|
115
|
+
title: title,
|
|
116
|
+
icon: icon,
|
|
117
|
+
opened: opened,
|
|
118
|
+
onToggle: () => toggleEditorPanelOpened(panelName)
|
|
119
|
+
}, children)));
|
|
120
|
+
};
|
|
121
|
+
PluginDocumentSettingPanel.Slot = Slot;
|
|
122
|
+
var _default = exports.default = PluginDocumentSettingPanel;
|
|
123
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_components","require","_plugins","_data","_warning","_interopRequireDefault","_enablePluginDocumentSettingPanel","_store","Fill","Slot","createSlotFill","PluginDocumentSettingPanel","name","className","title","icon","children","pluginName","usePluginContext","panelName","opened","isEnabled","useSelect","select","isEditorPanelOpened","isEditorPanelEnabled","editorStore","toggleEditorPanelOpened","useDispatch","undefined","SCRIPT_DEBUG","warning","_react","createElement","Fragment","default","label","PanelBody","onToggle","_default","exports"],"sources":["@wordpress/editor/src/components/plugin-document-setting-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createSlotFill, PanelBody } from '@wordpress/components';\nimport { usePluginContext } from '@wordpress/plugins';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport EnablePluginDocumentSettingPanelOption from '../preferences-modal/enable-plugin-document-setting-panel';\nimport { store as editorStore } from '../../store';\n\nconst { Fill, Slot } = createSlotFill( 'PluginDocumentSettingPanel' );\n\n/**\n * Renders items below the Status & Availability panel in the Document Sidebar.\n *\n * @param {Object} props Component properties.\n * @param {string} props.name Required. A machine-friendly name for the panel.\n * @param {string} [props.className] An optional class name added to the row.\n * @param {string} [props.title] The title of the panel\n * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.\n * @param {Element} props.children Children to be rendered\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var el = React.createElement;\n * var __ = wp.i18n.__;\n * var registerPlugin = wp.plugins.registerPlugin;\n * var PluginDocumentSettingPanel = wp.editor.PluginDocumentSettingPanel;\n *\n * function MyDocumentSettingPlugin() {\n * \treturn el(\n * \t\tPluginDocumentSettingPanel,\n * \t\t{\n * \t\t\tclassName: 'my-document-setting-plugin',\n * \t\t\ttitle: 'My Panel',\n * \t\t\tname: 'my-panel',\n * \t\t},\n * \t\t__( 'My Document Setting Panel' )\n * \t);\n * }\n *\n * registerPlugin( 'my-document-setting-plugin', {\n * \t\trender: MyDocumentSettingPlugin\n * } );\n * ```\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { registerPlugin } from '@wordpress/plugins';\n * import { PluginDocumentSettingPanel } from '@wordpress/editor';\n *\n * const MyDocumentSettingTest = () => (\n * \t\t<PluginDocumentSettingPanel className=\"my-document-setting-plugin\" title=\"My Panel\" name=\"my-panel\">\n *\t\t\t<p>My Document Setting Panel</p>\n *\t\t</PluginDocumentSettingPanel>\n *\t);\n *\n * registerPlugin( 'document-setting-test', { render: MyDocumentSettingTest } );\n * ```\n *\n * @return {Component} The component to be rendered.\n */\nconst PluginDocumentSettingPanel = ( {\n\tname,\n\tclassName,\n\ttitle,\n\ticon,\n\tchildren,\n} ) => {\n\tconst { name: pluginName } = usePluginContext();\n\tconst panelName = `${ pluginName }/${ name }`;\n\tconst { opened, isEnabled } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorPanelOpened, isEditorPanelEnabled } =\n\t\t\t\tselect( editorStore );\n\n\t\t\treturn {\n\t\t\t\topened: isEditorPanelOpened( panelName ),\n\t\t\t\tisEnabled: isEditorPanelEnabled( panelName ),\n\t\t\t};\n\t\t},\n\t\t[ panelName ]\n\t);\n\tconst { toggleEditorPanelOpened } = useDispatch( editorStore );\n\n\tif ( undefined === name ) {\n\t\twarning( 'PluginDocumentSettingPanel requires a name property.' );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<EnablePluginDocumentSettingPanelOption\n\t\t\t\tlabel={ title }\n\t\t\t\tpanelName={ panelName }\n\t\t\t/>\n\t\t\t<Fill>\n\t\t\t\t{ isEnabled && (\n\t\t\t\t\t<PanelBody\n\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\topened={ opened }\n\t\t\t\t\t\tonToggle={ () => toggleEditorPanelOpened( panelName ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</Fill>\n\t\t</>\n\t);\n};\n\nPluginDocumentSettingPanel.Slot = Slot;\n\nexport default PluginDocumentSettingPanel;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAKA,IAAAK,iCAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAZA;AACA;AACA;;AAMA;AACA;AACA;;AAIA,MAAM;EAAEO,IAAI;EAAEC;AAAK,CAAC,GAAG,IAAAC,0BAAc,EAAE,4BAA6B,CAAC;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,0BAA0B,GAAGA,CAAE;EACpCC,IAAI;EACJC,SAAS;EACTC,KAAK;EACLC,IAAI;EACJC;AACD,CAAC,KAAM;EACN,MAAM;IAAEJ,IAAI,EAAEK;EAAW,CAAC,GAAG,IAAAC,yBAAgB,EAAC,CAAC;EAC/C,MAAMC,SAAS,GAAI,GAAGF,UAAY,IAAIL,IAAM,EAAC;EAC7C,MAAM;IAAEQ,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,eAAS,EACpCC,MAAM,IAAM;IACb,MAAM;MAAEC,mBAAmB;MAAEC;IAAqB,CAAC,GAClDF,MAAM,CAAEG,YAAY,CAAC;IAEtB,OAAO;MACNN,MAAM,EAAEI,mBAAmB,CAAEL,SAAU,CAAC;MACxCE,SAAS,EAAEI,oBAAoB,CAAEN,SAAU;IAC5C,CAAC;EACF,CAAC,EACD,CAAEA,SAAS,CACZ,CAAC;EACD,MAAM;IAAEQ;EAAwB,CAAC,GAAG,IAAAC,iBAAW,EAAEF,YAAY,CAAC;EAE9D,IAAKG,SAAS,KAAKjB,IAAI,EAAG;IACzB,OAAAkB,YAAA,oBAAAA,YAAA,gBAAAC,gBAAO,EAAE,sDAAuD,CAAC;EAClE;EAEA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAAC3B,iCAAA,CAAA6B,OAAsC;IACtCC,KAAK,EAAGtB,KAAO;IACfK,SAAS,EAAGA;EAAW,CACvB,CAAC,EACF,IAAAa,MAAA,CAAAC,aAAA,EAACzB,IAAI,QACFa,SAAS,IACV,IAAAW,MAAA,CAAAC,aAAA,EAACjC,WAAA,CAAAqC,SAAS;IACTxB,SAAS,EAAGA,SAAW;IACvBC,KAAK,EAAGA,KAAO;IACfC,IAAI,EAAGA,IAAM;IACbK,MAAM,EAAGA,MAAQ;IACjBkB,QAAQ,EAAGA,CAAA,KAAMX,uBAAuB,CAAER,SAAU;EAAG,GAErDH,QACQ,CAEP,CACL,CAAC;AAEL,CAAC;AAEDL,0BAA0B,CAACF,IAAI,GAAGA,IAAI;AAAC,IAAA8B,QAAA,GAAAC,OAAA,CAAAL,OAAA,GAExBxB,0BAA0B"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _plugins = require("@wordpress/plugins");
|
|
9
|
+
var _components = require("@wordpress/components");
|
|
10
|
+
/**
|
|
11
|
+
* WordPress dependencies
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const {
|
|
15
|
+
Fill,
|
|
16
|
+
Slot
|
|
17
|
+
} = (0, _components.createSlotFill)('PluginPostPublishPanel');
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Renders provided content to the post-publish panel in the publish flow
|
|
21
|
+
* (side panel that opens after a user publishes the post).
|
|
22
|
+
*
|
|
23
|
+
* @param {Object} props Component properties.
|
|
24
|
+
* @param {string} [props.className] An optional class name added to the panel.
|
|
25
|
+
* @param {string} [props.title] Title displayed at the top of the panel.
|
|
26
|
+
* @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened. When no title is provided it is always opened.
|
|
27
|
+
* @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.
|
|
28
|
+
* @param {Element} props.children Children to be rendered
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```jsx
|
|
32
|
+
* // Using ESNext syntax
|
|
33
|
+
* import { __ } from '@wordpress/i18n';
|
|
34
|
+
* import { PluginPostPublishPanel } from '@wordpress/edit-post';
|
|
35
|
+
*
|
|
36
|
+
* const MyPluginPostPublishPanel = () => (
|
|
37
|
+
* <PluginPostPublishPanel
|
|
38
|
+
* className="my-plugin-post-publish-panel"
|
|
39
|
+
* title={ __( 'My panel title' ) }
|
|
40
|
+
* initialOpen={ true }
|
|
41
|
+
* >
|
|
42
|
+
* { __( 'My panel content' ) }
|
|
43
|
+
* </PluginPostPublishPanel>
|
|
44
|
+
* );
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @return {Component} The component to be rendered.
|
|
48
|
+
*/
|
|
49
|
+
const PluginPostPublishPanel = ({
|
|
50
|
+
children,
|
|
51
|
+
className,
|
|
52
|
+
title,
|
|
53
|
+
initialOpen = false,
|
|
54
|
+
icon
|
|
55
|
+
}) => {
|
|
56
|
+
const {
|
|
57
|
+
icon: pluginIcon
|
|
58
|
+
} = (0, _plugins.usePluginContext)();
|
|
59
|
+
return (0, _react.createElement)(Fill, null, (0, _react.createElement)(_components.PanelBody, {
|
|
60
|
+
className: className,
|
|
61
|
+
initialOpen: initialOpen || !title,
|
|
62
|
+
title: title,
|
|
63
|
+
icon: icon !== null && icon !== void 0 ? icon : pluginIcon
|
|
64
|
+
}, children));
|
|
65
|
+
};
|
|
66
|
+
PluginPostPublishPanel.Slot = Slot;
|
|
67
|
+
var _default = exports.default = PluginPostPublishPanel;
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_plugins","require","_components","Fill","Slot","createSlotFill","PluginPostPublishPanel","children","className","title","initialOpen","icon","pluginIcon","usePluginContext","_react","createElement","PanelBody","_default","exports","default"],"sources":["@wordpress/editor/src/components/plugin-post-publish-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { usePluginContext } from '@wordpress/plugins';\nimport { createSlotFill, PanelBody } from '@wordpress/components';\n\nconst { Fill, Slot } = createSlotFill( 'PluginPostPublishPanel' );\n\n/**\n * Renders provided content to the post-publish panel in the publish flow\n * (side panel that opens after a user publishes the post).\n *\n * @param {Object} props Component properties.\n * @param {string} [props.className] An optional class name added to the panel.\n * @param {string} [props.title] Title displayed at the top of the panel.\n * @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened. When no title is provided it is always opened.\n * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.\n * @param {Element} props.children Children to be rendered\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { __ } from '@wordpress/i18n';\n * import { PluginPostPublishPanel } from '@wordpress/edit-post';\n *\n * const MyPluginPostPublishPanel = () => (\n * \t<PluginPostPublishPanel\n * \t\tclassName=\"my-plugin-post-publish-panel\"\n * \t\ttitle={ __( 'My panel title' ) }\n * \t\tinitialOpen={ true }\n * \t>\n * { __( 'My panel content' ) }\n * \t</PluginPostPublishPanel>\n * );\n * ```\n *\n * @return {Component} The component to be rendered.\n */\nconst PluginPostPublishPanel = ( {\n\tchildren,\n\tclassName,\n\ttitle,\n\tinitialOpen = false,\n\ticon,\n} ) => {\n\tconst { icon: pluginIcon } = usePluginContext();\n\n\treturn (\n\t\t<Fill>\n\t\t\t<PanelBody\n\t\t\t\tclassName={ className }\n\t\t\t\tinitialOpen={ initialOpen || ! title }\n\t\t\t\ttitle={ title }\n\t\t\t\ticon={ icon ?? pluginIcon }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</PanelBody>\n\t\t</Fill>\n\t);\n};\n\nPluginPostPublishPanel.Slot = Slot;\n\nexport default PluginPostPublishPanel;\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAM;EAAEE,IAAI;EAAEC;AAAK,CAAC,GAAG,IAAAC,0BAAc,EAAE,wBAAyB,CAAC;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,GAAGA,CAAE;EAChCC,QAAQ;EACRC,SAAS;EACTC,KAAK;EACLC,WAAW,GAAG,KAAK;EACnBC;AACD,CAAC,KAAM;EACN,MAAM;IAAEA,IAAI,EAAEC;EAAW,CAAC,GAAG,IAAAC,yBAAgB,EAAC,CAAC;EAE/C,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACZ,IAAI,QACJ,IAAAW,MAAA,CAAAC,aAAA,EAACb,WAAA,CAAAc,SAAS;IACTR,SAAS,EAAGA,SAAW;IACvBE,WAAW,EAAGA,WAAW,IAAI,CAAED,KAAO;IACtCA,KAAK,EAAGA,KAAO;IACfE,IAAI,EAAGA,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIC;EAAY,GAEzBL,QACQ,CACN,CAAC;AAET,CAAC;AAEDD,sBAAsB,CAACF,IAAI,GAAGA,IAAI;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEpBb,sBAAsB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _components = require("@wordpress/components");
|
|
9
|
+
var _plugins = require("@wordpress/plugins");
|
|
10
|
+
/**
|
|
11
|
+
* WordPress dependencies
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const {
|
|
15
|
+
Fill,
|
|
16
|
+
Slot
|
|
17
|
+
} = (0, _components.createSlotFill)('PluginPrePublishPanel');
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Renders provided content to the pre-publish side panel in the publish flow
|
|
21
|
+
* (side panel that opens when a user first pushes "Publish" from the main editor).
|
|
22
|
+
*
|
|
23
|
+
* @param {Object} props Component props.
|
|
24
|
+
* @param {string} [props.className] An optional class name added to the panel.
|
|
25
|
+
* @param {string} [props.title] Title displayed at the top of the panel.
|
|
26
|
+
* @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened.
|
|
27
|
+
* When no title is provided it is always opened.
|
|
28
|
+
* @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/)
|
|
29
|
+
* icon slug string, or an SVG WP element, to be rendered when
|
|
30
|
+
* the sidebar is pinned to toolbar.
|
|
31
|
+
* @param {Element} props.children Children to be rendered
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```jsx
|
|
35
|
+
* // Using ESNext syntax
|
|
36
|
+
* import { __ } from '@wordpress/i18n';
|
|
37
|
+
* import { PluginPrePublishPanel } from '@wordpress/edit-post';
|
|
38
|
+
*
|
|
39
|
+
* const MyPluginPrePublishPanel = () => (
|
|
40
|
+
* <PluginPrePublishPanel
|
|
41
|
+
* className="my-plugin-pre-publish-panel"
|
|
42
|
+
* title={ __( 'My panel title' ) }
|
|
43
|
+
* initialOpen={ true }
|
|
44
|
+
* >
|
|
45
|
+
* { __( 'My panel content' ) }
|
|
46
|
+
* </PluginPrePublishPanel>
|
|
47
|
+
* );
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @return {Component} The component to be rendered.
|
|
51
|
+
*/
|
|
52
|
+
const PluginPrePublishPanel = ({
|
|
53
|
+
children,
|
|
54
|
+
className,
|
|
55
|
+
title,
|
|
56
|
+
initialOpen = false,
|
|
57
|
+
icon
|
|
58
|
+
}) => {
|
|
59
|
+
const {
|
|
60
|
+
icon: pluginIcon
|
|
61
|
+
} = (0, _plugins.usePluginContext)();
|
|
62
|
+
return (0, _react.createElement)(Fill, null, (0, _react.createElement)(_components.PanelBody, {
|
|
63
|
+
className: className,
|
|
64
|
+
initialOpen: initialOpen || !title,
|
|
65
|
+
title: title,
|
|
66
|
+
icon: icon !== null && icon !== void 0 ? icon : pluginIcon
|
|
67
|
+
}, children));
|
|
68
|
+
};
|
|
69
|
+
PluginPrePublishPanel.Slot = Slot;
|
|
70
|
+
var _default = exports.default = PluginPrePublishPanel;
|
|
71
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_components","require","_plugins","Fill","Slot","createSlotFill","PluginPrePublishPanel","children","className","title","initialOpen","icon","pluginIcon","usePluginContext","_react","createElement","PanelBody","_default","exports","default"],"sources":["@wordpress/editor/src/components/plugin-pre-publish-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createSlotFill, PanelBody } from '@wordpress/components';\nimport { usePluginContext } from '@wordpress/plugins';\n\nconst { Fill, Slot } = createSlotFill( 'PluginPrePublishPanel' );\n\n/**\n * Renders provided content to the pre-publish side panel in the publish flow\n * (side panel that opens when a user first pushes \"Publish\" from the main editor).\n *\n * @param {Object} props Component props.\n * @param {string} [props.className] An optional class name added to the panel.\n * @param {string} [props.title] Title displayed at the top of the panel.\n * @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened.\n * When no title is provided it is always opened.\n * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/)\n * icon slug string, or an SVG WP element, to be rendered when\n * the sidebar is pinned to toolbar.\n * @param {Element} props.children Children to be rendered\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { __ } from '@wordpress/i18n';\n * import { PluginPrePublishPanel } from '@wordpress/edit-post';\n *\n * const MyPluginPrePublishPanel = () => (\n * \t<PluginPrePublishPanel\n * \t\tclassName=\"my-plugin-pre-publish-panel\"\n * \t\ttitle={ __( 'My panel title' ) }\n * \t\tinitialOpen={ true }\n * \t>\n * \t { __( 'My panel content' ) }\n * \t</PluginPrePublishPanel>\n * );\n * ```\n *\n * @return {Component} The component to be rendered.\n */\nconst PluginPrePublishPanel = ( {\n\tchildren,\n\tclassName,\n\ttitle,\n\tinitialOpen = false,\n\ticon,\n} ) => {\n\tconst { icon: pluginIcon } = usePluginContext();\n\n\treturn (\n\t\t<Fill>\n\t\t\t<PanelBody\n\t\t\t\tclassName={ className }\n\t\t\t\tinitialOpen={ initialOpen || ! title }\n\t\t\t\ttitle={ title }\n\t\t\t\ticon={ icon ?? pluginIcon }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</PanelBody>\n\t\t</Fill>\n\t);\n};\n\nPluginPrePublishPanel.Slot = Slot;\n\nexport default PluginPrePublishPanel;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAM;EAAEE,IAAI;EAAEC;AAAK,CAAC,GAAG,IAAAC,0BAAc,EAAE,uBAAwB,CAAC;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,qBAAqB,GAAGA,CAAE;EAC/BC,QAAQ;EACRC,SAAS;EACTC,KAAK;EACLC,WAAW,GAAG,KAAK;EACnBC;AACD,CAAC,KAAM;EACN,MAAM;IAAEA,IAAI,EAAEC;EAAW,CAAC,GAAG,IAAAC,yBAAgB,EAAC,CAAC;EAE/C,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACZ,IAAI,QACJ,IAAAW,MAAA,CAAAC,aAAA,EAACf,WAAA,CAAAgB,SAAS;IACTR,SAAS,EAAGA,SAAW;IACvBE,WAAW,EAAGA,WAAW,IAAI,CAAED,KAAO;IACtCA,KAAK,EAAGA,KAAO;IACfE,IAAI,EAAGA,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIC;EAAY,GAEzBL,QACQ,CACN,CAAC;AAET,CAAC;AAEDD,qBAAqB,CAACF,IAAI,GAAGA,IAAI;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEnBb,qBAAqB"}
|