@wordpress/editor 13.22.0 → 13.24.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/build/components/entities-saved-states/index.js +15 -1
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/index.js +32 -0
- package/build/components/index.js.map +1 -1
- package/build/components/page-attributes/order.js +1 -0
- package/build/components/page-attributes/order.js.map +1 -1
- package/build/components/post-author/panel.js +24 -0
- package/build/components/post-author/panel.js.map +1 -0
- package/build/components/post-featured-image/index.js +3 -1
- package/build/components/post-featured-image/index.js.map +1 -1
- package/build/components/post-panel-row/index.js +36 -0
- package/build/components/post-panel-row/index.js.map +1 -0
- package/build/components/post-saved-state/index.js +21 -16
- package/build/components/post-saved-state/index.js.map +1 -1
- package/build/components/post-schedule/panel.js +67 -0
- package/build/components/post-schedule/panel.js.map +1 -0
- package/build/components/post-sync-status/index.js +9 -5
- package/build/components/post-sync-status/index.js.map +1 -1
- package/build/components/post-title/constants.js +11 -0
- package/build/components/post-title/constants.js.map +1 -0
- package/build/components/post-title/index.js +61 -90
- package/build/components/post-title/index.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/post-title/post-title-raw.js +92 -0
- package/build/components/post-title/post-title-raw.js.map +1 -0
- package/build/components/post-title/use-post-title-focus.js +64 -0
- package/build/components/post-title/use-post-title-focus.js.map +1 -0
- package/build/components/post-title/use-post-title.js +41 -0
- package/build/components/post-title/use-post-title.js.map +1 -0
- package/build/components/post-url/panel.js +70 -0
- package/build/components/post-url/panel.js.map +1 -0
- package/build/components/provider/constants.js +9 -0
- package/build/components/provider/constants.js.map +1 -0
- package/build/components/provider/disable-non-page-content-blocks.js +63 -0
- package/build/components/provider/disable-non-page-content-blocks.js.map +1 -0
- package/build/components/provider/index.js +126 -14
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +22 -17
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.native.js +2 -2
- package/build/components/provider/use-block-editor-settings.native.js.map +1 -1
- package/build/private-apis.js +7 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +23 -2
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +10 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +16 -2
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/entities-saved-states/index.js +16 -2
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/index.js +4 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/page-attributes/order.js +1 -0
- package/build-module/components/page-attributes/order.js.map +1 -1
- package/build-module/components/post-author/panel.js +14 -0
- package/build-module/components/post-author/panel.js.map +1 -0
- package/build-module/components/post-featured-image/index.js +3 -1
- package/build-module/components/post-featured-image/index.js.map +1 -1
- package/build-module/components/post-panel-row/index.js +27 -0
- package/build-module/components/post-panel-row/index.js.map +1 -0
- package/build-module/components/post-saved-state/index.js +22 -17
- package/build-module/components/post-saved-state/index.js.map +1 -1
- package/build-module/components/post-schedule/panel.js +59 -0
- package/build-module/components/post-schedule/panel.js.map +1 -0
- package/build-module/components/post-sync-status/index.js +10 -7
- package/build-module/components/post-sync-status/index.js.map +1 -1
- package/build-module/components/post-title/constants.js +3 -0
- package/build-module/components/post-title/constants.js.map +1 -0
- package/build-module/components/post-title/index.js +62 -92
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/post-title/index.native.js +3 -3
- package/build-module/components/post-title/index.native.js.map +1 -1
- package/build-module/components/post-title/post-title-raw.js +83 -0
- package/build-module/components/post-title/post-title-raw.js.map +1 -0
- package/build-module/components/post-title/use-post-title-focus.js +57 -0
- package/build-module/components/post-title/use-post-title-focus.js.map +1 -0
- package/build-module/components/post-title/use-post-title.js +33 -0
- package/build-module/components/post-title/use-post-title.js.map +1 -0
- package/build-module/components/post-url/panel.js +62 -0
- package/build-module/components/post-url/panel.js.map +1 -0
- package/build-module/components/provider/constants.js +2 -0
- package/build-module/components/provider/constants.js.map +1 -0
- package/build-module/components/provider/disable-non-page-content-blocks.js +56 -0
- package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -0
- package/build-module/components/provider/index.js +127 -15
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +22 -17
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.native.js +2 -2
- package/build-module/components/provider/use-block-editor-settings.native.js.map +1 -1
- package/build-module/private-apis.js +6 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +21 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +9 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +11 -0
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +70 -10
- package/build-style/style.css +70 -10
- package/package.json +31 -31
- package/src/components/entities-saved-states/index.js +16 -1
- package/src/components/index.js +4 -0
- package/src/components/page-attributes/order.js +1 -0
- package/src/components/post-author/panel.js +18 -0
- package/src/components/post-author/style.scss +7 -0
- package/src/components/post-featured-image/index.js +3 -1
- package/src/components/post-panel-row/index.js +26 -0
- package/src/components/post-panel-row/style.scss +21 -0
- package/src/components/post-saved-state/index.js +46 -37
- package/src/components/post-schedule/panel.js +65 -0
- package/src/components/post-schedule/style.scss +23 -0
- package/src/components/post-sync-status/index.js +10 -8
- package/src/components/post-sync-status/style.scss +3 -18
- package/src/components/post-title/constants.js +4 -0
- package/src/components/post-title/index.js +56 -88
- package/src/components/post-title/index.native.js +4 -8
- package/src/components/post-title/post-title-raw.js +82 -0
- package/src/components/post-title/style.scss +5 -0
- package/src/components/post-title/use-post-title-focus.js +50 -0
- package/src/components/post-title/use-post-title.js +25 -0
- package/src/components/post-url/panel.js +60 -0
- package/src/components/post-url/style.scss +19 -0
- package/src/components/provider/README.md +37 -0
- package/src/components/provider/constants.js +5 -0
- package/src/components/provider/disable-non-page-content-blocks.js +55 -0
- package/src/components/provider/index.js +200 -14
- package/src/components/provider/use-block-editor-settings.js +54 -35
- package/src/components/provider/use-block-editor-settings.native.js +2 -2
- package/src/private-apis.js +6 -0
- package/src/store/actions.js +21 -0
- package/src/store/reducer.js +10 -0
- package/src/store/selectors.js +11 -0
- package/src/style.scss +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","Flex","FlexItem","__","useDispatch","useCallback","useRef","store","coreStore","blockEditorStore","__experimentalUseDialog","useDialog","noticesStore","EntityTypeList","useIsDirty","PUBLISH_ON_SAVE_ENTITIES","kind","name","identity","values","EntitiesSavedStates","close","isDirtyProps","createElement","EntitiesSavedStatesExtensible","additionalPrompt","undefined","onSave","saveEnabled","saveEnabledProp","saveLabel","dirtyEntityRecords","isDirty","setUnselectedEntities","unselectedEntities","saveButtonRef","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","partitionedSavables","reduce","acc","record","push","site","siteSavables","wp_template","templateSavables","wp_template_part","templatePartSavables","contentSavables","sortedPartitionedSavables","Object","filter","Array","isArray","saveCheckedEntities","saveNoticeId","entitiesToSave","key","property","some","elt","siteItemsToSave","pendingSavedRecords","forEach","typeToPublish","status","length","Promise","all","then","value","type","id","catch","error","dismissPanel","saveDialogRef","saveDialogProps","onClose","ref","className","gap","isBlock","as","variant","disabled","onClick","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 { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __experimentalUseDialog as useDialog } from '@wordpress/compose';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport EntityTypeList from './entity-type-list';\nimport { useIsDirty } from './hooks/use-is-dirty';\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: 'wp_navigation',\n\t},\n];\n\nfunction identity( values ) {\n\treturn values;\n}\n\nexport default function EntitiesSavedStates( { close } ) {\n\tconst isDirtyProps = useIsDirty();\n\treturn (\n\t\t<EntitiesSavedStatesExtensible close={ close } { ...isDirtyProps } />\n\t);\n}\n\nexport function EntitiesSavedStatesExtensible( {\n\tadditionalPrompt = undefined,\n\tclose,\n\tonSave = identity,\n\tsaveEnabled: saveEnabledProp = undefined,\n\tsaveLabel = __( 'Save' ),\n\n\tdirtyEntityRecords,\n\tisDirty,\n\tsetUnselectedEntities,\n\tunselectedEntities,\n} ) {\n\tconst saveButtonRef = useRef();\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\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\n\tconst saveCheckedEntities = () => {\n\t\tconst saveNoticeId = 'site-editor-save-success';\n\t\tremoveNotice( saveNoticeId );\n\t\tconst entitiesToSave = dirtyEntityRecords.filter(\n\t\t\t( { kind, name, key, property } ) => {\n\t\t\t\treturn ! unselectedEntities.some(\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);\n\n\t\tclose( entitiesToSave );\n\n\t\tconst siteItemsToSave = [];\n\t\tconst pendingSavedRecords = [];\n\t\tentitiesToSave.forEach( ( { kind, name, key, property } ) => {\n\t\t\tif ( 'root' === kind && 'site' === name ) {\n\t\t\t\tsiteItemsToSave.push( property );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tpendingSavedRecords.push(\n\t\t\t\t\tsaveEditedEntityRecord( kind, name, key )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t\tif ( siteItemsToSave.length ) {\n\t\t\tpendingSavedRecords.push(\n\t\t\t\tsaveSpecifiedEntityEdits(\n\t\t\t\t\t'root',\n\t\t\t\t\t'site',\n\t\t\t\t\tundefined,\n\t\t\t\t\tsiteItemsToSave\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\tPromise.all( pendingSavedRecords )\n\t\t\t.then( ( values ) => {\n\t\t\t\treturn onSave( values );\n\t\t\t} )\n\t\t\t.then( ( values ) => {\n\t\t\t\tif (\n\t\t\t\t\tvalues.some( ( value ) => typeof value === 'undefined' )\n\t\t\t\t) {\n\t\t\t\t\tcreateErrorNotice( __( 'Saving failed.' ) );\n\t\t\t\t} else {\n\t\t\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: saveNoticeId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( ( error ) =>\n\t\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` )\n\t\t\t);\n\t};\n\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\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>\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\tonClick={ saveCheckedEntities }\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<strong>{ __( 'Are you ready to save?' ) }</strong>\n\t\t\t\t{ additionalPrompt }\n\t\t\t\t{ isDirty && (\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'The following changes have been made to your site, templates, and content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\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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"}
|
|
1
|
+
{"version":3,"names":["Button","Flex","FlexItem","__","useSelect","useDispatch","useCallback","useRef","store","coreStore","blockEditorStore","__experimentalUseDialog","useDialog","noticesStore","EntityTypeList","useIsDirty","PUBLISH_ON_SAVE_ENTITIES","kind","name","identity","values","EntitiesSavedStates","close","isDirtyProps","createElement","EntitiesSavedStatesExtensible","additionalPrompt","undefined","onSave","saveEnabled","saveEnabledProp","saveLabel","dirtyEntityRecords","isDirty","setUnselectedEntities","unselectedEntities","saveButtonRef","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","partitionedSavables","reduce","acc","record","push","site","siteSavables","wp_template","templateSavables","wp_template_part","templatePartSavables","contentSavables","sortedPartitionedSavables","Object","filter","Array","isArray","homeUrl","select","getUnstableBase","home","saveCheckedEntities","saveNoticeId","entitiesToSave","key","property","some","elt","siteItemsToSave","pendingSavedRecords","forEach","typeToPublish","status","length","Promise","all","then","value","type","id","actions","label","url","catch","error","dismissPanel","saveDialogRef","saveDialogProps","onClose","ref","className","gap","isBlock","as","variant","disabled","onClick","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 { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __experimentalUseDialog as useDialog } from '@wordpress/compose';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport EntityTypeList from './entity-type-list';\nimport { useIsDirty } from './hooks/use-is-dirty';\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: 'wp_navigation',\n\t},\n];\n\nfunction identity( values ) {\n\treturn values;\n}\n\nexport default function EntitiesSavedStates( { close } ) {\n\tconst isDirtyProps = useIsDirty();\n\treturn (\n\t\t<EntitiesSavedStatesExtensible close={ close } { ...isDirtyProps } />\n\t);\n}\n\nexport function EntitiesSavedStatesExtensible( {\n\tadditionalPrompt = undefined,\n\tclose,\n\tonSave = identity,\n\tsaveEnabled: saveEnabledProp = undefined,\n\tsaveLabel = __( 'Save' ),\n\n\tdirtyEntityRecords,\n\tisDirty,\n\tsetUnselectedEntities,\n\tunselectedEntities,\n} ) {\n\tconst saveButtonRef = useRef();\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\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\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst saveCheckedEntities = () => {\n\t\tconst saveNoticeId = 'site-editor-save-success';\n\t\tremoveNotice( saveNoticeId );\n\t\tconst entitiesToSave = dirtyEntityRecords.filter(\n\t\t\t( { kind, name, key, property } ) => {\n\t\t\t\treturn ! unselectedEntities.some(\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);\n\n\t\tclose( entitiesToSave );\n\n\t\tconst siteItemsToSave = [];\n\t\tconst pendingSavedRecords = [];\n\t\tentitiesToSave.forEach( ( { kind, name, key, property } ) => {\n\t\t\tif ( 'root' === kind && 'site' === name ) {\n\t\t\t\tsiteItemsToSave.push( property );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tpendingSavedRecords.push(\n\t\t\t\t\tsaveEditedEntityRecord( kind, name, key )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t\tif ( siteItemsToSave.length ) {\n\t\t\tpendingSavedRecords.push(\n\t\t\t\tsaveSpecifiedEntityEdits(\n\t\t\t\t\t'root',\n\t\t\t\t\t'site',\n\t\t\t\t\tundefined,\n\t\t\t\t\tsiteItemsToSave\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\tPromise.all( pendingSavedRecords )\n\t\t\t.then( ( values ) => {\n\t\t\t\treturn onSave( values );\n\t\t\t} )\n\t\t\t.then( ( values ) => {\n\t\t\t\tif (\n\t\t\t\t\tvalues.some( ( value ) => typeof value === 'undefined' )\n\t\t\t\t) {\n\t\t\t\t\tcreateErrorNotice( __( 'Saving failed.' ) );\n\t\t\t\t} else {\n\t\t\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: saveNoticeId,\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View site' ),\n\t\t\t\t\t\t\t\turl: homeUrl,\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} )\n\t\t\t.catch( ( error ) =>\n\t\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` )\n\t\t\t);\n\t};\n\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\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>\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\tonClick={ saveCheckedEntities }\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<strong>{ __( 'Are you ready to save?' ) }</strong>\n\t\t\t\t{ additionalPrompt }\n\t\t\t\t{ isDirty && (\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'The following changes have been made to your site, templates, and content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\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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"}
|
|
@@ -26,6 +26,7 @@ export { default as PageAttributesParent } from './page-attributes/parent';
|
|
|
26
26
|
export { default as PageTemplate } from './post-template';
|
|
27
27
|
export { default as PostAuthor } from './post-author';
|
|
28
28
|
export { default as PostAuthorCheck } from './post-author/check';
|
|
29
|
+
export { default as PostAuthorPanel } from './post-author/panel';
|
|
29
30
|
export { default as PostComments } from './post-comments';
|
|
30
31
|
export { default as PostExcerpt } from './post-excerpt';
|
|
31
32
|
export { default as PostExcerptCheck } from './post-excerpt/check';
|
|
@@ -47,6 +48,7 @@ export { default as PostSavedState } from './post-saved-state';
|
|
|
47
48
|
export { default as PostSchedule } from './post-schedule';
|
|
48
49
|
export { default as PostScheduleCheck } from './post-schedule/check';
|
|
49
50
|
export { default as PostScheduleLabel, usePostScheduleLabel } from './post-schedule/label';
|
|
51
|
+
export { default as PostSchedulePanel } from './post-schedule/panel';
|
|
50
52
|
export { default as PostSlug } from './post-slug';
|
|
51
53
|
export { default as PostSlugCheck } from './post-slug/check';
|
|
52
54
|
export { default as PostSticky } from './post-sticky';
|
|
@@ -59,12 +61,14 @@ export { HierarchicalTermSelector as PostTaxonomiesHierarchicalTermSelector } fr
|
|
|
59
61
|
export { default as PostTaxonomiesCheck } from './post-taxonomies/check';
|
|
60
62
|
export { default as PostTextEditor } from './post-text-editor';
|
|
61
63
|
export { default as PostTitle } from './post-title';
|
|
64
|
+
export { default as PostTitleRaw } from './post-title/post-title-raw';
|
|
62
65
|
export { default as PostTrash } from './post-trash';
|
|
63
66
|
export { default as PostTrashCheck } from './post-trash/check';
|
|
64
67
|
export { default as PostTypeSupportCheck } from './post-type-support-check';
|
|
65
68
|
export { default as PostURL } from './post-url';
|
|
66
69
|
export { default as PostURLCheck } from './post-url/check';
|
|
67
70
|
export { default as PostURLLabel, usePostURLLabel } from './post-url/label';
|
|
71
|
+
export { default as PostURLPanel } from './post-url/panel';
|
|
68
72
|
export { default as PostVisibility } from './post-visibility';
|
|
69
73
|
export { default as PostVisibilityLabel, usePostVisibilityLabel } from './post-visibility/label';
|
|
70
74
|
export { default as PostVisibilityCheck } from './post-visibility/check';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EditorKeyboardShortcuts","default","AutosaveMonitor","DocumentOutline","DocumentOutlineCheck","EditorKeyboardShortcutsRegister","EditorHistoryRedo","EditorHistoryUndo","EditorNotices","EditorSnackbars","EntitiesSavedStates","useIsDirty","useEntitiesSavedStatesIsDirty","ErrorBoundary","LocalAutosaveMonitor","PageAttributesCheck","PageAttributesOrder","PageAttributesParent","PageTemplate","PostAuthor","PostAuthorCheck","PostComments","PostExcerpt","PostExcerptCheck","PostFeaturedImage","PostFeaturedImageCheck","PostFormat","PostFormatCheck","PostLastRevision","PostLastRevisionCheck","PostLockedModal","PostPendingStatus","PostPendingStatusCheck","PostPingbacks","PostPreviewButton","PostPublishButton","PostPublishButtonLabel","PostPublishPanel","PostSavedState","PostSchedule","PostScheduleCheck","PostScheduleLabel","usePostScheduleLabel","PostSlug","PostSlugCheck","PostSticky","PostStickyCheck","PostSwitchToDraftButton","PostSyncStatus","PostSyncStatusModal","PostTaxonomies","FlatTermSelector","PostTaxonomiesFlatTermSelector","HierarchicalTermSelector","PostTaxonomiesHierarchicalTermSelector","PostTaxonomiesCheck","PostTextEditor","PostTitle","PostTrash","PostTrashCheck","PostTypeSupportCheck","PostURL","PostURLCheck","PostURLLabel","usePostURLLabel","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 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 PageAttributesParent } from './page-attributes/parent';\nexport { default as PageTemplate } from './post-template';\nexport { default as PostAuthor } from './post-author';\nexport { default as PostAuthorCheck } from './post-author/check';\nexport { default as PostComments } from './post-comments';\nexport { default as PostExcerpt } from './post-excerpt';\nexport { default as PostExcerptCheck } from './post-excerpt/check';\nexport { default as PostFeaturedImage } from './post-featured-image';\nexport { default as PostFeaturedImageCheck } from './post-featured-image/check';\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 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 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 {\n\tdefault as PostSyncStatus,\n\tPostSyncStatusModal,\n} 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 PostTextEditor } from './post-text-editor';\nexport { default as PostTitle } from './post-title';\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 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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"}
|
|
1
|
+
{"version":3,"names":["EditorKeyboardShortcuts","default","AutosaveMonitor","DocumentOutline","DocumentOutlineCheck","EditorKeyboardShortcutsRegister","EditorHistoryRedo","EditorHistoryUndo","EditorNotices","EditorSnackbars","EntitiesSavedStates","useIsDirty","useEntitiesSavedStatesIsDirty","ErrorBoundary","LocalAutosaveMonitor","PageAttributesCheck","PageAttributesOrder","PageAttributesParent","PageTemplate","PostAuthor","PostAuthorCheck","PostAuthorPanel","PostComments","PostExcerpt","PostExcerptCheck","PostFeaturedImage","PostFeaturedImageCheck","PostFormat","PostFormatCheck","PostLastRevision","PostLastRevisionCheck","PostLockedModal","PostPendingStatus","PostPendingStatusCheck","PostPingbacks","PostPreviewButton","PostPublishButton","PostPublishButtonLabel","PostPublishPanel","PostSavedState","PostSchedule","PostScheduleCheck","PostScheduleLabel","usePostScheduleLabel","PostSchedulePanel","PostSlug","PostSlugCheck","PostSticky","PostStickyCheck","PostSwitchToDraftButton","PostSyncStatus","PostSyncStatusModal","PostTaxonomies","FlatTermSelector","PostTaxonomiesFlatTermSelector","HierarchicalTermSelector","PostTaxonomiesHierarchicalTermSelector","PostTaxonomiesCheck","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 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 PageAttributesParent } from './page-attributes/parent';\nexport { default as PageTemplate } from './post-template';\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 PostExcerpt } from './post-excerpt';\nexport { default as PostExcerptCheck } from './post-excerpt/check';\nexport { default as PostFeaturedImage } from './post-featured-image';\nexport { default as PostFeaturedImageCheck } from './post-featured-image/check';\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 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 {\n\tdefault as PostSyncStatus,\n\tPostSyncStatusModal,\n} 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 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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"}
|
|
@@ -32,6 +32,7 @@ function PageAttributesOrder() {
|
|
|
32
32
|
};
|
|
33
33
|
const value = orderInput !== null && orderInput !== void 0 ? orderInput : order;
|
|
34
34
|
return createElement(Flex, null, createElement(FlexBlock, null, createElement(NumberControl, {
|
|
35
|
+
__next40pxDefaultSize: true,
|
|
35
36
|
label: __('Order'),
|
|
36
37
|
value: value,
|
|
37
38
|
onChange: setUpdatedOrder,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","Flex","FlexBlock","__experimentalNumberControl","NumberControl","useSelect","useDispatch","useState","PostTypeSupportCheck","store","editorStore","PageAttributesOrder","order","select","_select$getEditedPost","getEditedPostAttribute","editPost","orderInput","setOrderInput","setUpdatedOrder","value","newOrder","Number","isInteger","trim","menu_order","createElement","label","onChange","labelPosition","onBlur","PageAttributesOrderWithChecks","supportKeys"],"sources":["@wordpress/editor/src/components/page-attributes/order.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tFlex,\n\tFlexBlock,\n\t__experimentalNumberControl as NumberControl,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\nfunction PageAttributesOrder() {\n\tconst order = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'menu_order' ) ?? 0,\n\t\t[]\n\t);\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ orderInput, setOrderInput ] = useState( null );\n\n\tconst setUpdatedOrder = ( value ) => {\n\t\tsetOrderInput( value );\n\t\tconst newOrder = Number( value );\n\t\tif ( Number.isInteger( newOrder ) && value.trim?.() !== '' ) {\n\t\t\teditPost( { menu_order: newOrder } );\n\t\t}\n\t};\n\n\tconst value = orderInput ?? order;\n\n\treturn (\n\t\t<Flex>\n\t\t\t<FlexBlock>\n\t\t\t\t<NumberControl\n\t\t\t\t\tlabel={ __( 'Order' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ setUpdatedOrder }\n\t\t\t\t\tlabelPosition=\"side\"\n\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\tsetOrderInput( null );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</FlexBlock>\n\t\t</Flex>\n\t);\n}\n\nexport default function PageAttributesOrderWithChecks() {\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"page-attributes\">\n\t\t\t<PageAttributesOrder />\n\t\t</PostTypeSupportCheck>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,IAAI,EACJC,SAAS,EACTC,2BAA2B,IAAIC,aAAa,QACtC,uBAAuB;AAC9B,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,4BAA4B;AAC7D,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,SAASC,mBAAmBA,CAAA,EAAG;EAC9B,MAAMC,KAAK,GAAGP,SAAS,CACpBQ,MAAM;IAAA,IAAAC,qBAAA;IAAA,QAAAA,qBAAA,GACPD,MAAM,CAAEH,WAAY,CAAC,CAACK,sBAAsB,CAAE,YAAa,CAAC,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,CAAC;EAAA,GAClE,EACD,CAAC;EACD,MAAM;IAAEE;EAAS,CAAC,GAAGV,WAAW,CAAEI,WAAY,CAAC;EAC/C,MAAM,CAAEO,UAAU,EAAEC,aAAa,CAAE,GAAGX,QAAQ,CAAE,IAAK,CAAC;EAEtD,MAAMY,eAAe,GAAKC,KAAK,IAAM;IACpCF,aAAa,CAAEE,KAAM,CAAC;IACtB,MAAMC,QAAQ,GAAGC,MAAM,CAAEF,KAAM,CAAC;IAChC,IAAKE,MAAM,CAACC,SAAS,CAAEF,QAAS,CAAC,IAAID,KAAK,CAACI,IAAI,GAAG,CAAC,KAAK,EAAE,EAAG;MAC5DR,QAAQ,CAAE;QAAES,UAAU,EAAEJ;MAAS,CAAE,CAAC;IACrC;EACD,CAAC;EAED,MAAMD,KAAK,GAAGH,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAIL,KAAK;EAEjC,OACCc,aAAA,CAACzB,IAAI,QACJyB,aAAA,CAACxB,SAAS,QACTwB,aAAA,CAACtB,aAAa;IACbuB,KAAK,
|
|
1
|
+
{"version":3,"names":["__","Flex","FlexBlock","__experimentalNumberControl","NumberControl","useSelect","useDispatch","useState","PostTypeSupportCheck","store","editorStore","PageAttributesOrder","order","select","_select$getEditedPost","getEditedPostAttribute","editPost","orderInput","setOrderInput","setUpdatedOrder","value","newOrder","Number","isInteger","trim","menu_order","createElement","__next40pxDefaultSize","label","onChange","labelPosition","onBlur","PageAttributesOrderWithChecks","supportKeys"],"sources":["@wordpress/editor/src/components/page-attributes/order.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tFlex,\n\tFlexBlock,\n\t__experimentalNumberControl as NumberControl,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\nfunction PageAttributesOrder() {\n\tconst order = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'menu_order' ) ?? 0,\n\t\t[]\n\t);\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ orderInput, setOrderInput ] = useState( null );\n\n\tconst setUpdatedOrder = ( value ) => {\n\t\tsetOrderInput( value );\n\t\tconst newOrder = Number( value );\n\t\tif ( Number.isInteger( newOrder ) && value.trim?.() !== '' ) {\n\t\t\teditPost( { menu_order: newOrder } );\n\t\t}\n\t};\n\n\tconst value = orderInput ?? order;\n\n\treturn (\n\t\t<Flex>\n\t\t\t<FlexBlock>\n\t\t\t\t<NumberControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Order' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ setUpdatedOrder }\n\t\t\t\t\tlabelPosition=\"side\"\n\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\tsetOrderInput( null );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</FlexBlock>\n\t\t</Flex>\n\t);\n}\n\nexport default function PageAttributesOrderWithChecks() {\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"page-attributes\">\n\t\t\t<PageAttributesOrder />\n\t\t</PostTypeSupportCheck>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,IAAI,EACJC,SAAS,EACTC,2BAA2B,IAAIC,aAAa,QACtC,uBAAuB;AAC9B,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,4BAA4B;AAC7D,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,SAASC,mBAAmBA,CAAA,EAAG;EAC9B,MAAMC,KAAK,GAAGP,SAAS,CACpBQ,MAAM;IAAA,IAAAC,qBAAA;IAAA,QAAAA,qBAAA,GACPD,MAAM,CAAEH,WAAY,CAAC,CAACK,sBAAsB,CAAE,YAAa,CAAC,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,CAAC;EAAA,GAClE,EACD,CAAC;EACD,MAAM;IAAEE;EAAS,CAAC,GAAGV,WAAW,CAAEI,WAAY,CAAC;EAC/C,MAAM,CAAEO,UAAU,EAAEC,aAAa,CAAE,GAAGX,QAAQ,CAAE,IAAK,CAAC;EAEtD,MAAMY,eAAe,GAAKC,KAAK,IAAM;IACpCF,aAAa,CAAEE,KAAM,CAAC;IACtB,MAAMC,QAAQ,GAAGC,MAAM,CAAEF,KAAM,CAAC;IAChC,IAAKE,MAAM,CAACC,SAAS,CAAEF,QAAS,CAAC,IAAID,KAAK,CAACI,IAAI,GAAG,CAAC,KAAK,EAAE,EAAG;MAC5DR,QAAQ,CAAE;QAAES,UAAU,EAAEJ;MAAS,CAAE,CAAC;IACrC;EACD,CAAC;EAED,MAAMD,KAAK,GAAGH,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAIL,KAAK;EAEjC,OACCc,aAAA,CAACzB,IAAI,QACJyB,aAAA,CAACxB,SAAS,QACTwB,aAAA,CAACtB,aAAa;IACbuB,qBAAqB;IACrBC,KAAK,EAAG5B,EAAE,CAAE,OAAQ,CAAG;IACvBoB,KAAK,EAAGA,KAAO;IACfS,QAAQ,EAAGV,eAAiB;IAC5BW,aAAa,EAAC,MAAM;IACpBC,MAAM,EAAGA,CAAA,KAAM;MACdb,aAAa,CAAE,IAAK,CAAC;IACtB;EAAG,CACH,CACS,CACN,CAAC;AAET;AAEA,eAAe,SAASc,6BAA6BA,CAAA,EAAG;EACvD,OACCN,aAAA,CAAClB,oBAAoB;IAACyB,WAAW,EAAC;EAAiB,GAClDP,aAAA,CAACf,mBAAmB,MAAE,CACD,CAAC;AAEzB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Internal dependencies
|
|
4
|
+
*/
|
|
5
|
+
import PostAuthorCheck from './check';
|
|
6
|
+
import PostAuthorForm from './index';
|
|
7
|
+
import PostPanelRow from '../post-panel-row';
|
|
8
|
+
export function PostAuthor() {
|
|
9
|
+
return createElement(PostAuthorCheck, null, createElement(PostPanelRow, {
|
|
10
|
+
className: "editor-post-author__panel"
|
|
11
|
+
}, createElement(PostAuthorForm, null)));
|
|
12
|
+
}
|
|
13
|
+
export default PostAuthor;
|
|
14
|
+
//# sourceMappingURL=panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PostAuthorCheck","PostAuthorForm","PostPanelRow","PostAuthor","createElement","className"],"sources":["@wordpress/editor/src/components/post-author/panel.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport PostAuthorCheck from './check';\nimport PostAuthorForm from './index';\nimport PostPanelRow from '../post-panel-row';\n\nexport function PostAuthor() {\n\treturn (\n\t\t<PostAuthorCheck>\n\t\t\t<PostPanelRow className=\"editor-post-author__panel\">\n\t\t\t\t<PostAuthorForm />\n\t\t\t</PostPanelRow>\n\t\t</PostAuthorCheck>\n\t);\n}\n\nexport default PostAuthor;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,eAAe,MAAM,SAAS;AACrC,OAAOC,cAAc,MAAM,SAAS;AACpC,OAAOC,YAAY,MAAM,mBAAmB;AAE5C,OAAO,SAASC,UAAUA,CAAA,EAAG;EAC5B,OACCC,aAAA,CAACJ,eAAe,QACfI,aAAA,CAACF,YAAY;IAACG,SAAS,EAAC;EAA2B,GAClDD,aAAA,CAACH,cAAc,MAAE,CACJ,CACE,CAAC;AAEpB;AAEA,eAAeE,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","sprintf","applyFilters","DropZone","Button","Spinner","ResponsiveWrapper","withNotices","withFilters","__experimentalHStack","HStack","isBlobURL","useState","useRef","compose","useSelect","withDispatch","withSelect","MediaUpload","MediaUploadCheck","store","blockEditorStore","coreStore","PostFeaturedImageCheck","editorStore","ALLOWED_MEDIA_TYPES","DEFAULT_FEATURE_IMAGE_LABEL","DEFAULT_SET_FEATURE_IMAGE_LABEL","instructions","createElement","getMediaDetails","media","postId","_media$media_details$","_media$media_details$2","defaultSize","id","media_details","sizes","mediaWidth","width","mediaHeight","height","mediaSourceUrl","source_url","fallbackSize","PostFeaturedImage","currentPostId","featuredImageId","onUpdateImage","onRemoveImage","postType","noticeUI","noticeOperations","toggleRef","isLoading","setIsLoading","mediaUpload","select","getSettings","onDropFiles","filesList","allowedTypes","onFileChange","image","url","onError","message","removeAllNotices","createErrorNotice","className","alt_text","full","file","slug","fallback","title","labels","featured_image","onSelect","unstableFeaturedImageFlow","modalClass","render","open","ref","onClick","naturalWidth","naturalHeight","isInline","src","alt","set_featured_image","current","focus","onFilesDrop","value","applyWithSelect","getMedia","getPostType","getCurrentPostId","getEditedPostAttribute","context","applyWithDispatch","dispatch","editPost","featured_media","onDropImage"],"sources":["@wordpress/editor/src/components/post-featured-image/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tDropZone,\n\tButton,\n\tSpinner,\n\tResponsiveWrapper,\n\twithNotices,\n\twithFilters,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { isBlobURL } from '@wordpress/blob';\nimport { useState, useRef } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { useSelect, withDispatch, withSelect } from '@wordpress/data';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostFeaturedImageCheck from './check';\nimport { store as editorStore } from '../../store';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\n// Used when labels from post type were not yet loaded or when they are not present.\nconst DEFAULT_FEATURE_IMAGE_LABEL = __( 'Featured image' );\nconst DEFAULT_SET_FEATURE_IMAGE_LABEL = __( 'Set featured image' );\n\nconst instructions = (\n\t<p>\n\t\t{ __(\n\t\t\t'To edit the featured image, you need permission to upload media.'\n\t\t) }\n\t</p>\n);\n\nfunction getMediaDetails( media, postId ) {\n\tif ( ! media ) {\n\t\treturn {};\n\t}\n\n\tconst defaultSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'large',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( defaultSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ defaultSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ defaultSize ].height,\n\t\t\tmediaSourceUrl: media.media_details.sizes[ defaultSize ].source_url,\n\t\t};\n\t}\n\n\t// Use fallbackSize when defaultSize is not available.\n\tconst fallbackSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'thumbnail',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( fallbackSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ fallbackSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ fallbackSize ].height,\n\t\t\tmediaSourceUrl:\n\t\t\t\tmedia.media_details.sizes[ fallbackSize ].source_url,\n\t\t};\n\t}\n\n\t// Use full image size when fallbackSize and defaultSize are not available.\n\treturn {\n\t\tmediaWidth: media.media_details.width,\n\t\tmediaHeight: media.media_details.height,\n\t\tmediaSourceUrl: media.source_url,\n\t};\n}\n\nfunction PostFeaturedImage( {\n\tcurrentPostId,\n\tfeaturedImageId,\n\tonUpdateImage,\n\tonRemoveImage,\n\tmedia,\n\tpostType,\n\tnoticeUI,\n\tnoticeOperations,\n} ) {\n\tconst toggleRef = useRef();\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst { mediaWidth, mediaHeight, mediaSourceUrl } = getMediaDetails(\n\t\tmedia,\n\t\tcurrentPostId\n\t);\n\n\tfunction onDropFiles( filesList ) {\n\t\tmediaUpload( {\n\t\t\tallowedTypes: [ 'image' ],\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetIsLoading( true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonUpdateImage( image );\n\t\t\t\tsetIsLoading( false );\n\t\t\t},\n\t\t\tonError( message ) {\n\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PostFeaturedImageCheck>\n\t\t\t{ noticeUI }\n\t\t\t<div className=\"editor-post-featured-image\">\n\t\t\t\t{ media && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={ `editor-post-featured-image-${ featuredImageId }-describedby` }\n\t\t\t\t\t\tclassName=\"hidden\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image alt text.\n\t\t\t\t\t\t\t\t__( 'Current image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image filename.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'The current image has no alternative text. The file name is: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tmedia.media_details.sizes?.full?.file ||\n\t\t\t\t\t\t\t\t\tmedia.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<MediaUploadCheck fallback={ instructions }>\n\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\tpostType?.labels?.featured_image ||\n\t\t\t\t\t\t\tDEFAULT_FEATURE_IMAGE_LABEL\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ onUpdateImage }\n\t\t\t\t\t\tunstableFeaturedImageFlow\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\tmodalClass=\"editor-post-featured-image__media-modal\"\n\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t<div className=\"editor-post-featured-image__container\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? 'editor-post-featured-image__toggle'\n\t\t\t\t\t\t\t\t\t\t\t: 'editor-post-featured-image__preview'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Edit or replace the image' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: `editor-post-featured-image-${ featuredImageId }-describedby`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ !! featuredImageId && media && (\n\t\t\t\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\t\t\t\tnaturalWidth={ mediaWidth }\n\t\t\t\t\t\t\t\t\t\t\tnaturalHeight={ mediaHeight }\n\t\t\t\t\t\t\t\t\t\t\tisInline\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={ mediaSourceUrl }\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ isLoading && <Spinner /> }\n\t\t\t\t\t\t\t\t\t{ ! featuredImageId &&\n\t\t\t\t\t\t\t\t\t\t! isLoading &&\n\t\t\t\t\t\t\t\t\t\t( postType?.labels\n\t\t\t\t\t\t\t\t\t\t\t?.set_featured_image ||\n\t\t\t\t\t\t\t\t\t\t\tDEFAULT_SET_FEATURE_IMAGE_LABEL ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t{ !! featuredImageId && (\n\t\t\t\t\t\t\t\t\t<HStack className=\"editor-post-featured-image__actions\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\t// Prefer that screen readers use the .editor-post-featured-image__preview button.\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonRemoveImage();\n\t\t\t\t\t\t\t\t\t\t\t\ttoggleRef.current.focus();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<DropZone onFilesDrop={ onDropFiles } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ featuredImageId }\n\t\t\t\t\t/>\n\t\t\t\t</MediaUploadCheck>\n\t\t\t</div>\n\t\t</PostFeaturedImageCheck>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getMedia, getPostType } = select( coreStore );\n\tconst { getCurrentPostId, getEditedPostAttribute } = select( editorStore );\n\tconst featuredImageId = getEditedPostAttribute( 'featured_media' );\n\n\treturn {\n\t\tmedia: featuredImageId\n\t\t\t? getMedia( featuredImageId, { context: 'view' } )\n\t\t\t: null,\n\t\tcurrentPostId: getCurrentPostId(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tfeaturedImageId,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch(\n\t( dispatch, { noticeOperations }, { select } ) => {\n\t\tconst { editPost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonUpdateImage( image ) {\n\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t},\n\t\t\tonDropImage( filesList ) {\n\t\t\t\tselect( blockEditorStore )\n\t\t\t\t\t.getSettings()\n\t\t\t\t\t.mediaUpload( {\n\t\t\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t\t\t\tfilesList,\n\t\t\t\t\t\tonFileChange( [ image ] ) {\n\t\t\t\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t},\n\t\t\tonRemoveImage() {\n\t\t\t\teditPost( { featured_media: 0 } );\n\t\t\t},\n\t\t};\n\t}\n);\n\nexport default compose(\n\twithNotices,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\twithFilters( 'editor.PostFeaturedImage' )\n)( PostFeaturedImage );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["__","sprintf","applyFilters","DropZone","Button","Spinner","ResponsiveWrapper","withNotices","withFilters","__experimentalHStack","HStack","isBlobURL","useState","useRef","compose","useSelect","withDispatch","withSelect","MediaUpload","MediaUploadCheck","store","blockEditorStore","coreStore","PostFeaturedImageCheck","editorStore","ALLOWED_MEDIA_TYPES","DEFAULT_FEATURE_IMAGE_LABEL","DEFAULT_SET_FEATURE_IMAGE_LABEL","instructions","createElement","getMediaDetails","media","postId","_media$media_details$","_media$media_details$2","defaultSize","id","media_details","sizes","mediaWidth","width","mediaHeight","height","mediaSourceUrl","source_url","fallbackSize","PostFeaturedImage","currentPostId","featuredImageId","onUpdateImage","onRemoveImage","postType","noticeUI","noticeOperations","toggleRef","isLoading","setIsLoading","mediaUpload","select","getSettings","onDropFiles","filesList","allowedTypes","onFileChange","image","url","onError","message","removeAllNotices","createErrorNotice","className","alt_text","full","file","slug","fallback","title","labels","featured_image","onSelect","unstableFeaturedImageFlow","modalClass","render","open","ref","onClick","naturalWidth","naturalHeight","isInline","src","alt","set_featured_image","current","focus","onFilesDrop","value","applyWithSelect","getMedia","getPostType","getCurrentPostId","getEditedPostAttribute","context","applyWithDispatch","dispatch","editPost","featured_media","onDropImage"],"sources":["@wordpress/editor/src/components/post-featured-image/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tDropZone,\n\tButton,\n\tSpinner,\n\tResponsiveWrapper,\n\twithNotices,\n\twithFilters,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { isBlobURL } from '@wordpress/blob';\nimport { useState, useRef } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { useSelect, withDispatch, withSelect } from '@wordpress/data';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostFeaturedImageCheck from './check';\nimport { store as editorStore } from '../../store';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\n// Used when labels from post type were not yet loaded or when they are not present.\nconst DEFAULT_FEATURE_IMAGE_LABEL = __( 'Featured image' );\nconst DEFAULT_SET_FEATURE_IMAGE_LABEL = __( 'Set featured image' );\n\nconst instructions = (\n\t<p>\n\t\t{ __(\n\t\t\t'To edit the featured image, you need permission to upload media.'\n\t\t) }\n\t</p>\n);\n\nfunction getMediaDetails( media, postId ) {\n\tif ( ! media ) {\n\t\treturn {};\n\t}\n\n\tconst defaultSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'large',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( defaultSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ defaultSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ defaultSize ].height,\n\t\t\tmediaSourceUrl: media.media_details.sizes[ defaultSize ].source_url,\n\t\t};\n\t}\n\n\t// Use fallbackSize when defaultSize is not available.\n\tconst fallbackSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'thumbnail',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( fallbackSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ fallbackSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ fallbackSize ].height,\n\t\t\tmediaSourceUrl:\n\t\t\t\tmedia.media_details.sizes[ fallbackSize ].source_url,\n\t\t};\n\t}\n\n\t// Use full image size when fallbackSize and defaultSize are not available.\n\treturn {\n\t\tmediaWidth: media.media_details.width,\n\t\tmediaHeight: media.media_details.height,\n\t\tmediaSourceUrl: media.source_url,\n\t};\n}\n\nfunction PostFeaturedImage( {\n\tcurrentPostId,\n\tfeaturedImageId,\n\tonUpdateImage,\n\tonRemoveImage,\n\tmedia,\n\tpostType,\n\tnoticeUI,\n\tnoticeOperations,\n} ) {\n\tconst toggleRef = useRef();\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst { mediaWidth, mediaHeight, mediaSourceUrl } = getMediaDetails(\n\t\tmedia,\n\t\tcurrentPostId\n\t);\n\n\tfunction onDropFiles( filesList ) {\n\t\tmediaUpload( {\n\t\t\tallowedTypes: [ 'image' ],\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetIsLoading( true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( image ) {\n\t\t\t\t\tonUpdateImage( image );\n\t\t\t\t}\n\t\t\t\tsetIsLoading( false );\n\t\t\t},\n\t\t\tonError( message ) {\n\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PostFeaturedImageCheck>\n\t\t\t{ noticeUI }\n\t\t\t<div className=\"editor-post-featured-image\">\n\t\t\t\t{ media && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={ `editor-post-featured-image-${ featuredImageId }-describedby` }\n\t\t\t\t\t\tclassName=\"hidden\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image alt text.\n\t\t\t\t\t\t\t\t__( 'Current image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image filename.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'The current image has no alternative text. The file name is: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tmedia.media_details.sizes?.full?.file ||\n\t\t\t\t\t\t\t\t\tmedia.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<MediaUploadCheck fallback={ instructions }>\n\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\tpostType?.labels?.featured_image ||\n\t\t\t\t\t\t\tDEFAULT_FEATURE_IMAGE_LABEL\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ onUpdateImage }\n\t\t\t\t\t\tunstableFeaturedImageFlow\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\tmodalClass=\"editor-post-featured-image__media-modal\"\n\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t<div className=\"editor-post-featured-image__container\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? 'editor-post-featured-image__toggle'\n\t\t\t\t\t\t\t\t\t\t\t: 'editor-post-featured-image__preview'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Edit or replace the image' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: `editor-post-featured-image-${ featuredImageId }-describedby`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ !! featuredImageId && media && (\n\t\t\t\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\t\t\t\tnaturalWidth={ mediaWidth }\n\t\t\t\t\t\t\t\t\t\t\tnaturalHeight={ mediaHeight }\n\t\t\t\t\t\t\t\t\t\t\tisInline\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={ mediaSourceUrl }\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ isLoading && <Spinner /> }\n\t\t\t\t\t\t\t\t\t{ ! featuredImageId &&\n\t\t\t\t\t\t\t\t\t\t! isLoading &&\n\t\t\t\t\t\t\t\t\t\t( postType?.labels\n\t\t\t\t\t\t\t\t\t\t\t?.set_featured_image ||\n\t\t\t\t\t\t\t\t\t\t\tDEFAULT_SET_FEATURE_IMAGE_LABEL ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t{ !! featuredImageId && (\n\t\t\t\t\t\t\t\t\t<HStack className=\"editor-post-featured-image__actions\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\t// Prefer that screen readers use the .editor-post-featured-image__preview button.\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonRemoveImage();\n\t\t\t\t\t\t\t\t\t\t\t\ttoggleRef.current.focus();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<DropZone onFilesDrop={ onDropFiles } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ featuredImageId }\n\t\t\t\t\t/>\n\t\t\t\t</MediaUploadCheck>\n\t\t\t</div>\n\t\t</PostFeaturedImageCheck>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getMedia, getPostType } = select( coreStore );\n\tconst { getCurrentPostId, getEditedPostAttribute } = select( editorStore );\n\tconst featuredImageId = getEditedPostAttribute( 'featured_media' );\n\n\treturn {\n\t\tmedia: featuredImageId\n\t\t\t? getMedia( featuredImageId, { context: 'view' } )\n\t\t\t: null,\n\t\tcurrentPostId: getCurrentPostId(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tfeaturedImageId,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch(\n\t( dispatch, { noticeOperations }, { select } ) => {\n\t\tconst { editPost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonUpdateImage( image ) {\n\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t},\n\t\t\tonDropImage( filesList ) {\n\t\t\t\tselect( blockEditorStore )\n\t\t\t\t\t.getSettings()\n\t\t\t\t\t.mediaUpload( {\n\t\t\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t\t\t\tfilesList,\n\t\t\t\t\t\tonFileChange( [ image ] ) {\n\t\t\t\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t},\n\t\t\tonRemoveImage() {\n\t\t\t\teditPost( { featured_media: 0 } );\n\t\t\t},\n\t\t};\n\t}\n);\n\nexport default compose(\n\twithNotices,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\twithFilters( 'editor.PostFeaturedImage' )\n)( PostFeaturedImage );\n"],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* External dependencies
|
|
4
|
+
*/
|
|
5
|
+
import classnames from 'classnames';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* WordPress dependencies
|
|
9
|
+
*/
|
|
10
|
+
import { __experimentalHStack as HStack } from '@wordpress/components';
|
|
11
|
+
import { forwardRef } from '@wordpress/element';
|
|
12
|
+
const PostPanelRow = forwardRef(({
|
|
13
|
+
className,
|
|
14
|
+
label,
|
|
15
|
+
children
|
|
16
|
+
}, ref) => {
|
|
17
|
+
return createElement(HStack, {
|
|
18
|
+
className: classnames('editor-post-panel__row', className),
|
|
19
|
+
ref: ref
|
|
20
|
+
}, label && createElement("div", {
|
|
21
|
+
className: "editor-post-panel__row-label"
|
|
22
|
+
}, label), createElement("div", {
|
|
23
|
+
className: "editor-post-panel__row-control"
|
|
24
|
+
}, children));
|
|
25
|
+
});
|
|
26
|
+
export default PostPanelRow;
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["classnames","__experimentalHStack","HStack","forwardRef","PostPanelRow","className","label","children","ref","createElement"],"sources":["@wordpress/editor/src/components/post-panel-row/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\n\nconst PostPanelRow = forwardRef( ( { className, label, children }, ref ) => {\n\treturn (\n\t\t<HStack\n\t\t\tclassName={ classnames( 'editor-post-panel__row', className ) }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t{ label && (\n\t\t\t\t<div className=\"editor-post-panel__row-label\">{ label }</div>\n\t\t\t) }\n\t\t\t<div className=\"editor-post-panel__row-control\">{ children }</div>\n\t\t</HStack>\n\t);\n} );\n\nexport default PostPanelRow;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,UAAU,QAAQ,oBAAoB;AAE/C,MAAMC,YAAY,GAAGD,UAAU,CAAE,CAAE;EAAEE,SAAS;EAAEC,KAAK;EAAEC;AAAS,CAAC,EAAEC,GAAG,KAAM;EAC3E,OACCC,aAAA,CAACP,MAAM;IACNG,SAAS,EAAGL,UAAU,CAAE,wBAAwB,EAAEK,SAAU,CAAG;IAC/DG,GAAG,EAAGA;EAAK,GAETF,KAAK,IACNG,aAAA;IAAKJ,SAAS,EAAC;EAA8B,GAAGC,KAAY,CAC5D,EACDG,aAAA;IAAKJ,SAAS,EAAC;EAAgC,GAAGE,QAAe,CAC1D,CAAC;AAEX,CAAE,CAAC;AAEH,eAAeH,YAAY"}
|
|
@@ -7,7 +7,7 @@ import classnames from 'classnames';
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
|
-
import { __unstableGetAnimateClassName as getAnimateClassName, Button } from '@wordpress/components';
|
|
10
|
+
import { __unstableGetAnimateClassName as getAnimateClassName, Button, Tooltip } from '@wordpress/components';
|
|
11
11
|
import { usePrevious, useViewportMatch } from '@wordpress/compose';
|
|
12
12
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
13
13
|
import { useEffect, useState } from '@wordpress/element';
|
|
@@ -113,10 +113,27 @@ export default function PostSavedState({
|
|
|
113
113
|
} else if (showIconLabels) {
|
|
114
114
|
text = shortLabel;
|
|
115
115
|
}
|
|
116
|
+
const buttonAccessibleLabel = text || label;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* The tooltip needs to be enabled only if the button is not disabled. When
|
|
120
|
+
* relying on the internal Button tooltip functionality, this causes the
|
|
121
|
+
* resulting `button` element to be always removed and re-added to the DOM,
|
|
122
|
+
* causing focus loss. An alternative approach to circumvent the issue
|
|
123
|
+
* is not to use the `label` and `shortcut` props on `Button` (which would
|
|
124
|
+
* trigger the tooltip), and instead manually wrap the `Button` in a separate
|
|
125
|
+
* `Tooltip` component.
|
|
126
|
+
*/
|
|
127
|
+
const tooltipProps = isDisabled ? undefined : {
|
|
128
|
+
text: buttonAccessibleLabel,
|
|
129
|
+
shortcut: displayShortcut.primary('s')
|
|
130
|
+
};
|
|
116
131
|
|
|
117
132
|
// Use common Button instance for all saved states so that focus is not
|
|
118
133
|
// lost.
|
|
119
|
-
return createElement(
|
|
134
|
+
return createElement(Tooltip, {
|
|
135
|
+
...tooltipProps
|
|
136
|
+
}, createElement(Button, {
|
|
120
137
|
className: isSaveable || isSaving ? classnames({
|
|
121
138
|
'editor-post-save-draft': !isSavedState,
|
|
122
139
|
'editor-post-saved-state': isSavedState,
|
|
@@ -127,27 +144,15 @@ export default function PostSavedState({
|
|
|
127
144
|
type: 'loading'
|
|
128
145
|
})]: isSaving
|
|
129
146
|
}) : undefined,
|
|
130
|
-
onClick: isDisabled ? undefined : () => savePost()
|
|
131
|
-
/*
|
|
132
|
-
* We want the tooltip to show the keyboard shortcut only when the
|
|
133
|
-
* button does something, i.e. when it's not disabled.
|
|
134
|
-
*/,
|
|
135
|
-
shortcut: isDisabled ? undefined : displayShortcut.primary('s')
|
|
136
|
-
/*
|
|
137
|
-
* Displaying the keyboard shortcut conditionally makes the tooltip
|
|
138
|
-
* itself show conditionally. This would trigger a full-rerendering
|
|
139
|
-
* of the button that we want to avoid. By setting `showTooltip`,
|
|
140
|
-
& the tooltip is always rendered even when there's no keyboard shortcut.
|
|
141
|
-
*/,
|
|
142
|
-
showTooltip: true,
|
|
147
|
+
onClick: isDisabled ? undefined : () => savePost(),
|
|
143
148
|
variant: "tertiary",
|
|
144
149
|
icon: isLargeViewport ? undefined : cloudUpload
|
|
145
150
|
// Make sure the aria-label has always a value, as the default `text` is undefined on small screens.
|
|
146
151
|
,
|
|
147
|
-
label:
|
|
152
|
+
"aria-label": buttonAccessibleLabel,
|
|
148
153
|
"aria-disabled": isDisabled
|
|
149
154
|
}, isSavedState && createElement(Icon, {
|
|
150
155
|
icon: isSaved ? check : cloud
|
|
151
|
-
}), text);
|
|
156
|
+
}), text));
|
|
152
157
|
}
|
|
153
158
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__unstableGetAnimateClassName","getAnimateClassName","Button","usePrevious","useViewportMatch","useDispatch","useSelect","useEffect","useState","__","Icon","check","cloud","cloudUpload","displayShortcut","store","editorStore","PostSavedState","forceIsDirty","showIconLabels","forceSavedMessage","setForceSavedMessage","isLargeViewport","isAutosaving","isDirty","isNew","isPending","isPublished","isSaveable","isSaving","isScheduled","hasPublishAction","select","_getCurrentPost$_link","isEditedPostNew","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostDirty","isSavingPost","isEditedPostSaveable","getCurrentPost","isAutosavingPost","getEditedPostAttribute","_links","savePost","wasSaving","timeoutId","setTimeout","clearTimeout","label","shortLabel","isSaved","isSavedState","isDisabled","text","createElement","className","type","undefined","onClick","shortcut","primary","showTooltip","variant","icon"],"sources":["@wordpress/editor/src/components/post-saved-state/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__unstableGetAnimateClassName as getAnimateClassName,\n\tButton,\n} from '@wordpress/components';\nimport { usePrevious, useViewportMatch } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, check, cloud, cloudUpload } from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Component showing whether the post is saved or not and providing save\n * buttons.\n *\n * @param {Object} props Component props.\n * @param {?boolean} props.forceIsDirty Whether to force the post to be marked\n * as dirty.\n * @param {?boolean} props.showIconLabels Whether interface buttons show labels instead of icons\n * @return {import('react').ComponentType} The component.\n */\nexport default function PostSavedState( {\n\tforceIsDirty,\n\tshowIconLabels = false,\n} ) {\n\tconst [ forceSavedMessage, setForceSavedMessage ] = useState( false );\n\tconst isLargeViewport = useViewportMatch( 'small' );\n\n\tconst {\n\t\tisAutosaving,\n\t\tisDirty,\n\t\tisNew,\n\t\tisPending,\n\t\tisPublished,\n\t\tisSaveable,\n\t\tisSaving,\n\t\tisScheduled,\n\t\thasPublishAction,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisEditedPostNew,\n\t\t\t\tisCurrentPostPublished,\n\t\t\t\tisCurrentPostScheduled,\n\t\t\t\tisEditedPostDirty,\n\t\t\t\tisSavingPost,\n\t\t\t\tisEditedPostSaveable,\n\t\t\t\tgetCurrentPost,\n\t\t\t\tisAutosavingPost,\n\t\t\t\tgetEditedPostAttribute,\n\t\t\t} = select( editorStore );\n\n\t\t\treturn {\n\t\t\t\tisAutosaving: isAutosavingPost(),\n\t\t\t\tisDirty: forceIsDirty || isEditedPostDirty(),\n\t\t\t\tisNew: isEditedPostNew(),\n\t\t\t\tisPending: 'pending' === getEditedPostAttribute( 'status' ),\n\t\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\t\tisSaving: isSavingPost(),\n\t\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t\t\thasPublishAction:\n\t\t\t\t\tgetCurrentPost()?._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\t};\n\t\t},\n\t\t[ forceIsDirty ]\n\t);\n\n\tconst { savePost } = useDispatch( editorStore );\n\n\tconst wasSaving = usePrevious( isSaving );\n\n\tuseEffect( () => {\n\t\tlet timeoutId;\n\n\t\tif ( wasSaving && ! isSaving ) {\n\t\t\tsetForceSavedMessage( true );\n\t\t\ttimeoutId = setTimeout( () => {\n\t\t\t\tsetForceSavedMessage( false );\n\t\t\t}, 1000 );\n\t\t}\n\n\t\treturn () => clearTimeout( timeoutId );\n\t}, [ isSaving ] );\n\n\t// Once the post has been submitted for review this button\n\t// is not needed for the contributor role.\n\tif ( ! hasPublishAction && isPending ) {\n\t\treturn null;\n\t}\n\n\tif ( isPublished || isScheduled ) {\n\t\treturn null;\n\t}\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst label = isPending ? __( 'Save as pending' ) : __( 'Save draft' );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst shortLabel = __( 'Save' );\n\n\tconst isSaved = forceSavedMessage || ( ! isNew && ! isDirty );\n\tconst isSavedState = isSaving || isSaved;\n\tconst isDisabled = isSaving || isSaved || ! isSaveable;\n\n\tlet text;\n\n\tif ( isSaving ) {\n\t\ttext = isAutosaving ? __( 'Autosaving' ) : __( 'Saving' );\n\t} else if ( isSaved ) {\n\t\ttext = __( 'Saved' );\n\t} else if ( isLargeViewport ) {\n\t\ttext = label;\n\t} else if ( showIconLabels ) {\n\t\ttext = shortLabel;\n\t}\n\n\t// Use common Button instance for all saved states so that focus is not\n\t// lost.\n\treturn (\n\t\t<Button\n\t\t\tclassName={\n\t\t\t\tisSaveable || isSaving\n\t\t\t\t\t? classnames( {\n\t\t\t\t\t\t\t'editor-post-save-draft': ! isSavedState,\n\t\t\t\t\t\t\t'editor-post-saved-state': isSavedState,\n\t\t\t\t\t\t\t'is-saving': isSaving,\n\t\t\t\t\t\t\t'is-autosaving': isAutosaving,\n\t\t\t\t\t\t\t'is-saved': isSaved,\n\t\t\t\t\t\t\t[ getAnimateClassName( {\n\t\t\t\t\t\t\t\ttype: 'loading',\n\t\t\t\t\t\t\t} ) ]: isSaving,\n\t\t\t\t\t } )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tonClick={ isDisabled ? undefined : () => savePost() }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ isDisabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t & the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip\n\t\t\tvariant=\"tertiary\"\n\t\t\ticon={ isLargeViewport ? undefined : cloudUpload }\n\t\t\t// Make sure the aria-label has always a value, as the default `text` is undefined on small screens.\n\t\t\tlabel={ text || label }\n\t\t\taria-disabled={ isDisabled }\n\t\t>\n\t\t\t{ isSavedState && <Icon icon={ isSaved ? check : cloud } /> }\n\t\t\t{ text }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","__unstableGetAnimateClassName","getAnimateClassName","Button","Tooltip","usePrevious","useViewportMatch","useDispatch","useSelect","useEffect","useState","__","Icon","check","cloud","cloudUpload","displayShortcut","store","editorStore","PostSavedState","forceIsDirty","showIconLabels","forceSavedMessage","setForceSavedMessage","isLargeViewport","isAutosaving","isDirty","isNew","isPending","isPublished","isSaveable","isSaving","isScheduled","hasPublishAction","select","_getCurrentPost$_link","isEditedPostNew","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostDirty","isSavingPost","isEditedPostSaveable","getCurrentPost","isAutosavingPost","getEditedPostAttribute","_links","savePost","wasSaving","timeoutId","setTimeout","clearTimeout","label","shortLabel","isSaved","isSavedState","isDisabled","text","buttonAccessibleLabel","tooltipProps","undefined","shortcut","primary","createElement","className","type","onClick","variant","icon"],"sources":["@wordpress/editor/src/components/post-saved-state/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__unstableGetAnimateClassName as getAnimateClassName,\n\tButton,\n\tTooltip,\n} from '@wordpress/components';\nimport { usePrevious, useViewportMatch } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, check, cloud, cloudUpload } from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Component showing whether the post is saved or not and providing save\n * buttons.\n *\n * @param {Object} props Component props.\n * @param {?boolean} props.forceIsDirty Whether to force the post to be marked\n * as dirty.\n * @param {?boolean} props.showIconLabels Whether interface buttons show labels instead of icons\n * @return {import('react').ComponentType} The component.\n */\nexport default function PostSavedState( {\n\tforceIsDirty,\n\tshowIconLabels = false,\n} ) {\n\tconst [ forceSavedMessage, setForceSavedMessage ] = useState( false );\n\tconst isLargeViewport = useViewportMatch( 'small' );\n\n\tconst {\n\t\tisAutosaving,\n\t\tisDirty,\n\t\tisNew,\n\t\tisPending,\n\t\tisPublished,\n\t\tisSaveable,\n\t\tisSaving,\n\t\tisScheduled,\n\t\thasPublishAction,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisEditedPostNew,\n\t\t\t\tisCurrentPostPublished,\n\t\t\t\tisCurrentPostScheduled,\n\t\t\t\tisEditedPostDirty,\n\t\t\t\tisSavingPost,\n\t\t\t\tisEditedPostSaveable,\n\t\t\t\tgetCurrentPost,\n\t\t\t\tisAutosavingPost,\n\t\t\t\tgetEditedPostAttribute,\n\t\t\t} = select( editorStore );\n\n\t\t\treturn {\n\t\t\t\tisAutosaving: isAutosavingPost(),\n\t\t\t\tisDirty: forceIsDirty || isEditedPostDirty(),\n\t\t\t\tisNew: isEditedPostNew(),\n\t\t\t\tisPending: 'pending' === getEditedPostAttribute( 'status' ),\n\t\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\t\tisSaving: isSavingPost(),\n\t\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t\t\thasPublishAction:\n\t\t\t\t\tgetCurrentPost()?._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\t};\n\t\t},\n\t\t[ forceIsDirty ]\n\t);\n\n\tconst { savePost } = useDispatch( editorStore );\n\n\tconst wasSaving = usePrevious( isSaving );\n\n\tuseEffect( () => {\n\t\tlet timeoutId;\n\n\t\tif ( wasSaving && ! isSaving ) {\n\t\t\tsetForceSavedMessage( true );\n\t\t\ttimeoutId = setTimeout( () => {\n\t\t\t\tsetForceSavedMessage( false );\n\t\t\t}, 1000 );\n\t\t}\n\n\t\treturn () => clearTimeout( timeoutId );\n\t}, [ isSaving ] );\n\n\t// Once the post has been submitted for review this button\n\t// is not needed for the contributor role.\n\tif ( ! hasPublishAction && isPending ) {\n\t\treturn null;\n\t}\n\n\tif ( isPublished || isScheduled ) {\n\t\treturn null;\n\t}\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst label = isPending ? __( 'Save as pending' ) : __( 'Save draft' );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst shortLabel = __( 'Save' );\n\n\tconst isSaved = forceSavedMessage || ( ! isNew && ! isDirty );\n\tconst isSavedState = isSaving || isSaved;\n\tconst isDisabled = isSaving || isSaved || ! isSaveable;\n\n\tlet text;\n\n\tif ( isSaving ) {\n\t\ttext = isAutosaving ? __( 'Autosaving' ) : __( 'Saving' );\n\t} else if ( isSaved ) {\n\t\ttext = __( 'Saved' );\n\t} else if ( isLargeViewport ) {\n\t\ttext = label;\n\t} else if ( showIconLabels ) {\n\t\ttext = shortLabel;\n\t}\n\n\tconst buttonAccessibleLabel = text || label;\n\n\t/**\n\t * The tooltip needs to be enabled only if the button is not disabled. When\n\t * relying on the internal Button tooltip functionality, this causes the\n\t * resulting `button` element to be always removed and re-added to the DOM,\n\t * causing focus loss. An alternative approach to circumvent the issue\n\t * is not to use the `label` and `shortcut` props on `Button` (which would\n\t * trigger the tooltip), and instead manually wrap the `Button` in a separate\n\t * `Tooltip` component.\n\t */\n\tconst tooltipProps = isDisabled\n\t\t? undefined\n\t\t: {\n\t\t\t\ttext: buttonAccessibleLabel,\n\t\t\t\tshortcut: displayShortcut.primary( 's' ),\n\t\t };\n\n\t// Use common Button instance for all saved states so that focus is not\n\t// lost.\n\treturn (\n\t\t<Tooltip { ...tooltipProps }>\n\t\t\t<Button\n\t\t\t\tclassName={\n\t\t\t\t\tisSaveable || isSaving\n\t\t\t\t\t\t? classnames( {\n\t\t\t\t\t\t\t\t'editor-post-save-draft': ! isSavedState,\n\t\t\t\t\t\t\t\t'editor-post-saved-state': isSavedState,\n\t\t\t\t\t\t\t\t'is-saving': isSaving,\n\t\t\t\t\t\t\t\t'is-autosaving': isAutosaving,\n\t\t\t\t\t\t\t\t'is-saved': isSaved,\n\t\t\t\t\t\t\t\t[ getAnimateClassName( {\n\t\t\t\t\t\t\t\t\ttype: 'loading',\n\t\t\t\t\t\t\t\t} ) ]: isSaving,\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tonClick={ isDisabled ? undefined : () => savePost() }\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon={ isLargeViewport ? undefined : cloudUpload }\n\t\t\t\t// Make sure the aria-label has always a value, as the default `text` is undefined on small screens.\n\t\t\t\taria-label={ buttonAccessibleLabel }\n\t\t\t\taria-disabled={ isDisabled }\n\t\t\t>\n\t\t\t\t{ isSavedState && <Icon icon={ isSaved ? check : cloud } /> }\n\t\t\t\t{ text }\n\t\t\t</Button>\n\t\t</Tooltip>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* WordPress dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { Button, Dropdown } from '@wordpress/components';
|
|
6
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
7
|
+
import { useState, useMemo } from '@wordpress/element';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import PostScheduleCheck from './check';
|
|
13
|
+
import PostScheduleForm from './index';
|
|
14
|
+
import { usePostScheduleLabel } from './label';
|
|
15
|
+
import PostPanelRow from '../post-panel-row';
|
|
16
|
+
export default function PostSchedulePanel() {
|
|
17
|
+
const [popoverAnchor, setPopoverAnchor] = useState(null);
|
|
18
|
+
// Memoize popoverProps to avoid returning a new object every time.
|
|
19
|
+
const popoverProps = useMemo(() => ({
|
|
20
|
+
// Anchor the popover to the middle of the entire row so that it doesn't
|
|
21
|
+
// move around when the label changes.
|
|
22
|
+
anchor: popoverAnchor,
|
|
23
|
+
'aria-label': __('Change publish date'),
|
|
24
|
+
placement: 'bottom-end'
|
|
25
|
+
}), [popoverAnchor]);
|
|
26
|
+
const label = usePostScheduleLabel();
|
|
27
|
+
const fullLabel = usePostScheduleLabel({
|
|
28
|
+
full: true
|
|
29
|
+
});
|
|
30
|
+
return createElement(PostScheduleCheck, null, createElement(PostPanelRow, {
|
|
31
|
+
label: __('Publish'),
|
|
32
|
+
ref: setPopoverAnchor
|
|
33
|
+
}, createElement(Dropdown, {
|
|
34
|
+
popoverProps: popoverProps,
|
|
35
|
+
focusOnMount: true,
|
|
36
|
+
className: "editor-post-schedule__panel-dropdown",
|
|
37
|
+
contentClassName: "editor-post-schedule__dialog",
|
|
38
|
+
renderToggle: ({
|
|
39
|
+
onToggle,
|
|
40
|
+
isOpen
|
|
41
|
+
}) => createElement(Button, {
|
|
42
|
+
className: "editor-post-schedule__dialog-toggle",
|
|
43
|
+
variant: "tertiary",
|
|
44
|
+
onClick: onToggle,
|
|
45
|
+
"aria-label": sprintf(
|
|
46
|
+
// translators: %s: Current post date.
|
|
47
|
+
__('Change date: %s'), label),
|
|
48
|
+
label: fullLabel,
|
|
49
|
+
showTooltip: true,
|
|
50
|
+
"aria-expanded": isOpen
|
|
51
|
+
}, label),
|
|
52
|
+
renderContent: ({
|
|
53
|
+
onClose
|
|
54
|
+
}) => createElement(PostScheduleForm, {
|
|
55
|
+
onClose: onClose
|
|
56
|
+
})
|
|
57
|
+
})));
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Button","Dropdown","__","sprintf","useState","useMemo","PostScheduleCheck","PostScheduleForm","usePostScheduleLabel","PostPanelRow","PostSchedulePanel","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","label","fullLabel","full","createElement","ref","focusOnMount","className","contentClassName","renderToggle","onToggle","isOpen","variant","onClick","showTooltip","renderContent","onClose"],"sources":["@wordpress/editor/src/components/post-schedule/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Dropdown } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport PostScheduleCheck from './check';\nimport PostScheduleForm from './index';\nimport { usePostScheduleLabel } from './label';\nimport PostPanelRow from '../post-panel-row';\n\nexport default function PostSchedulePanel() {\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\t'aria-label': __( 'Change publish date' ),\n\t\t\tplacement: 'bottom-end',\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst label = usePostScheduleLabel();\n\tconst fullLabel = usePostScheduleLabel( { full: true } );\n\n\treturn (\n\t\t<PostScheduleCheck>\n\t\t\t<PostPanelRow label={ __( 'Publish' ) } ref={ setPopoverAnchor }>\n\t\t\t\t<Dropdown\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\tclassName=\"editor-post-schedule__panel-dropdown\"\n\t\t\t\t\tcontentClassName=\"editor-post-schedule__dialog\"\n\t\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"editor-post-schedule__dialog-toggle\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Current post date.\n\t\t\t\t\t\t\t\t__( 'Change date: %s' ),\n\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlabel={ fullLabel }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<PostScheduleForm onClose={ onClose } />\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostScheduleCheck>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,QAAQ,QAAQ,uBAAuB;AACxD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,QAAQ,EAAEC,OAAO,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,SAAS;AACvC,OAAOC,gBAAgB,MAAM,SAAS;AACtC,SAASC,oBAAoB,QAAQ,SAAS;AAC9C,OAAOC,YAAY,MAAM,mBAAmB;AAE5C,eAAe,SAASC,iBAAiBA,CAAA,EAAG;EAC3C,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAGR,QAAQ,CAAE,IAAK,CAAC;EAC5D;EACA,MAAMS,YAAY,GAAGR,OAAO,CAC3B,OAAQ;IACP;IACA;IACAS,MAAM,EAAEH,aAAa;IACrB,YAAY,EAAET,EAAE,CAAE,qBAAsB,CAAC;IACzCa,SAAS,EAAE;EACZ,CAAC,CAAE,EACH,CAAEJ,aAAa,CAChB,CAAC;EAED,MAAMK,KAAK,GAAGR,oBAAoB,CAAC,CAAC;EACpC,MAAMS,SAAS,GAAGT,oBAAoB,CAAE;IAAEU,IAAI,EAAE;EAAK,CAAE,CAAC;EAExD,OACCC,aAAA,CAACb,iBAAiB,QACjBa,aAAA,CAACV,YAAY;IAACO,KAAK,EAAGd,EAAE,CAAE,SAAU,CAAG;IAACkB,GAAG,EAAGR;EAAkB,GAC/DO,aAAA,CAAClB,QAAQ;IACRY,YAAY,EAAGA,YAAc;IAC7BQ,YAAY;IACZC,SAAS,EAAC,sCAAsC;IAChDC,gBAAgB,EAAC,8BAA8B;IAC/CC,YAAY,EAAGA,CAAE;MAAEC,QAAQ;MAAEC;IAAO,CAAC,KACpCP,aAAA,CAACnB,MAAM;MACNsB,SAAS,EAAC,qCAAqC;MAC/CK,OAAO,EAAC,UAAU;MAClBC,OAAO,EAAGH,QAAU;MACpB,cAAatB,OAAO;MACnB;MACAD,EAAE,CAAE,iBAAkB,CAAC,EACvBc,KACD,CAAG;MACHA,KAAK,EAAGC,SAAW;MACnBY,WAAW;MACX,iBAAgBH;IAAQ,GAEtBV,KACK,CACN;IACHc,aAAa,EAAGA,CAAE;MAAEC;IAAQ,CAAC,KAC5BZ,aAAA,CAACZ,gBAAgB;MAACwB,OAAO,EAAGA;IAAS,CAAE;EACrC,CACH,CACY,CACI,CAAC;AAEtB"}
|
|
@@ -3,14 +3,15 @@ import { createElement, Fragment } from "react";
|
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
5
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
6
|
-
import { __ } from '@wordpress/i18n';
|
|
7
|
-
import {
|
|
6
|
+
import { __, _x } from '@wordpress/i18n';
|
|
7
|
+
import { Modal, Button, __experimentalHStack as HStack, __experimentalVStack as VStack, ToggleControl } from '@wordpress/components';
|
|
8
8
|
import { useEffect, useState } from '@wordpress/element';
|
|
9
9
|
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Internal dependencies
|
|
13
13
|
*/
|
|
14
|
+
import PostPanelRow from '../post-panel-row';
|
|
14
15
|
import { store as editorStore } from '../../store';
|
|
15
16
|
import { unlock } from '../../lock-unlock';
|
|
16
17
|
const {
|
|
@@ -36,9 +37,11 @@ export default function PostSyncStatus() {
|
|
|
36
37
|
if (postType !== 'wp_block') {
|
|
37
38
|
return null;
|
|
38
39
|
}
|
|
39
|
-
return createElement(
|
|
40
|
-
|
|
41
|
-
}, createElement("
|
|
40
|
+
return createElement(PostPanelRow, {
|
|
41
|
+
label: __('Sync status')
|
|
42
|
+
}, createElement("div", {
|
|
43
|
+
className: "editor-post-sync-status__value"
|
|
44
|
+
}, syncStatus === 'unsynced' ? __('Not synced') : __('Fully synced')));
|
|
42
45
|
}
|
|
43
46
|
export function PostSyncStatusModal() {
|
|
44
47
|
const {
|
|
@@ -91,8 +94,8 @@ export function PostSyncStatusModal() {
|
|
|
91
94
|
}, createElement(VStack, {
|
|
92
95
|
spacing: "5"
|
|
93
96
|
}, createElement(ReusableBlocksRenameHint, null), createElement(ToggleControl, {
|
|
94
|
-
label:
|
|
95
|
-
help: __('
|
|
97
|
+
label: _x('Synced', 'Option that makes an individual pattern synchronized'),
|
|
98
|
+
help: __('Sync this pattern across multiple locations.'),
|
|
96
99
|
checked: !syncType,
|
|
97
100
|
onChange: () => {
|
|
98
101
|
setSyncType(!syncType ? 'unsynced' : undefined);
|