@wordpress/editor 14.8.12 → 14.8.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/build/components/editor-interface/index.js +2 -1
  2. package/build/components/editor-interface/index.js.map +1 -1
  3. package/build/components/page-attributes/parent.js +5 -5
  4. package/build/components/page-attributes/parent.js.map +1 -1
  5. package/build/components/post-author/panel.js +4 -4
  6. package/build/components/post-author/panel.js.map +1 -1
  7. package/build/components/post-content-information/index.js +1 -2
  8. package/build/components/post-content-information/index.js.map +1 -1
  9. package/build/components/post-last-revision/index.js +1 -1
  10. package/build/components/post-last-revision/index.js.map +1 -1
  11. package/build/components/post-schedule/label.js +1 -1
  12. package/build/components/post-schedule/label.js.map +1 -1
  13. package/build/components/post-taxonomies/flat-term-selector.js +9 -1
  14. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  15. package/build/components/post-taxonomies/hierarchical-term-selector.js +2 -2
  16. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  17. package/build/components/post-url/panel.js +3 -3
  18. package/build/components/post-url/panel.js.map +1 -1
  19. package/build/components/sidebar/header.js +2 -1
  20. package/build/components/sidebar/header.js.map +1 -1
  21. package/build/components/sidebar/index.js +3 -3
  22. package/build/components/sidebar/index.js.map +1 -1
  23. package/build/components/time-to-read/index.js +2 -2
  24. package/build/components/time-to-read/index.js.map +1 -1
  25. package/build/dataviews/actions/delete-post.js +2 -2
  26. package/build/dataviews/actions/delete-post.js.map +1 -1
  27. package/build/dataviews/actions/duplicate-template-part.js +2 -2
  28. package/build/dataviews/actions/duplicate-template-part.js.map +1 -1
  29. package/build/store/private-actions.js +2 -2
  30. package/build/store/private-actions.js.map +1 -1
  31. package/build-module/components/editor-interface/index.js +2 -1
  32. package/build-module/components/editor-interface/index.js.map +1 -1
  33. package/build-module/components/page-attributes/parent.js +5 -5
  34. package/build-module/components/page-attributes/parent.js.map +1 -1
  35. package/build-module/components/post-author/panel.js +4 -4
  36. package/build-module/components/post-author/panel.js.map +1 -1
  37. package/build-module/components/post-content-information/index.js +1 -2
  38. package/build-module/components/post-content-information/index.js.map +1 -1
  39. package/build-module/components/post-last-revision/index.js +1 -1
  40. package/build-module/components/post-last-revision/index.js.map +1 -1
  41. package/build-module/components/post-schedule/label.js +1 -1
  42. package/build-module/components/post-schedule/label.js.map +1 -1
  43. package/build-module/components/post-taxonomies/flat-term-selector.js +11 -4
  44. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  45. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +2 -2
  46. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  47. package/build-module/components/post-url/panel.js +3 -3
  48. package/build-module/components/post-url/panel.js.map +1 -1
  49. package/build-module/components/sidebar/header.js +2 -1
  50. package/build-module/components/sidebar/header.js.map +1 -1
  51. package/build-module/components/sidebar/index.js +4 -4
  52. package/build-module/components/sidebar/index.js.map +1 -1
  53. package/build-module/components/time-to-read/index.js +2 -2
  54. package/build-module/components/time-to-read/index.js.map +1 -1
  55. package/build-module/dataviews/actions/delete-post.js +3 -3
  56. package/build-module/dataviews/actions/delete-post.js.map +1 -1
  57. package/build-module/dataviews/actions/duplicate-template-part.js +3 -3
  58. package/build-module/dataviews/actions/duplicate-template-part.js.map +1 -1
  59. package/build-module/store/private-actions.js +3 -3
  60. package/build-module/store/private-actions.js.map +1 -1
  61. package/build-types/components/editor-interface/index.d.ts.map +1 -1
  62. package/build-types/components/page-attributes/parent.d.ts.map +1 -1
  63. package/build-types/components/post-author/panel.d.ts.map +1 -1
  64. package/build-types/components/post-taxonomies/flat-term-selector.d.ts.map +1 -1
  65. package/build-types/components/sidebar/index.d.ts.map +1 -1
  66. package/package.json +14 -14
  67. package/src/components/editor-interface/index.js +3 -2
  68. package/src/components/page-attributes/parent.js +6 -4
  69. package/src/components/post-author/panel.js +4 -2
  70. package/src/components/post-content-information/index.js +1 -1
  71. package/src/components/post-last-revision/index.js +1 -1
  72. package/src/components/post-schedule/label.js +1 -1
  73. package/src/components/post-taxonomies/flat-term-selector.js +15 -4
  74. package/src/components/post-taxonomies/hierarchical-term-selector.js +2 -2
  75. package/src/components/post-url/panel.js +4 -2
  76. package/src/components/sidebar/header.js +3 -2
  77. package/src/components/sidebar/index.js +5 -3
  78. package/src/components/time-to-read/index.js +3 -3
  79. package/src/dataviews/actions/delete-post.tsx +3 -3
  80. package/src/dataviews/actions/duplicate-template-part.tsx +3 -3
  81. package/src/store/private-actions.js +3 -3
  82. package/tsconfig.tsbuildinfo +1 -1
@@ -93,8 +93,9 @@ function EditorInterface({
93
93
  isDistractionFree: get('core', 'distractionFree'),
94
94
  isPreviewMode: editorSettings.__unstableIsPreviewMode,
95
95
  showBlockBreadcrumbs: get('core', 'showBlockBreadcrumbs'),
96
+ documentLabel:
96
97
  // translators: Default label for the Document in the Block Breadcrumb.
97
- documentLabel: postTypeLabel || (0, _i18n._x)('Document', 'noun'),
98
+ postTypeLabel || (0, _i18n._x)('Document', 'noun, breadcrumb'),
98
99
  isZoomOut: _isZoomOut()
99
100
  };
100
101
  }, []);
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_interface","_data","_i18n","_preferences","_blockEditor","_compose","_element","_store","_editorNotices","_header","_inserterSidebar","_listViewSidebar","_savePublishPanels","_textEditor","_visualEditor","_contentSlotFill","_lockUnlock","_jsxRuntime","interfaceLabels","header","__","body","sidebar","actions","footer","EditorInterface","className","styles","children","forceIsDirty","contentRef","disableIframe","autoFocus","customSaveButton","customSavePanel","forceDisableBlockTools","title","iframeProps","mode","isRichEditingEnabled","isInserterOpened","isListViewOpened","isDistractionFree","isPreviewMode","showBlockBreadcrumbs","documentLabel","isZoomOut","useSelect","select","get","preferencesStore","getEditorSettings","getPostTypeLabel","editorStore","editorSettings","postTypeLabel","_isZoomOut","unlock","blockEditorStore","getEditorMode","richEditingEnabled","__unstableIsPreviewMode","_x","isLargeViewport","useViewportMatch","secondarySidebarLabel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","useState","closeEntitiesSavedStates","useCallback","arg","jsx","InterfaceSkeleton","clsx","labels","secondarySidebar","default","isEditorIframed","editorNotices","ComplementaryArea","Slot","scope","content","jsxs","Fragment","editorCanvasView","BlockToolbar","hideDragHandle","BlockBreadcrumb","rootLabelText","isEntitiesSavedStatesOpen","forceIsDirtyPublishPanel","undefined"],"sources":["@wordpress/editor/src/components/editor-interface/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { InterfaceSkeleton, ComplementaryArea } from '@wordpress/interface';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tstore as blockEditorStore,\n\tBlockBreadcrumb,\n\tBlockToolbar,\n} from '@wordpress/block-editor';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport EditorNotices from '../editor-notices';\nimport Header from '../header';\nimport InserterSidebar from '../inserter-sidebar';\nimport ListViewSidebar from '../list-view-sidebar';\nimport SavePublishPanels from '../save-publish-panels';\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditorContentSlotFill from './content-slot-fill';\n\nimport { unlock } from '../../lock-unlock';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nexport default function EditorInterface( {\n\tclassName,\n\tstyles,\n\tchildren,\n\tforceIsDirty,\n\tcontentRef,\n\tdisableIframe,\n\tautoFocus,\n\tcustomSaveButton,\n\tcustomSavePanel,\n\tforceDisableBlockTools,\n\ttitle,\n\tiframeProps,\n} ) {\n\tconst {\n\t\tmode,\n\t\tisRichEditingEnabled,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tisDistractionFree,\n\t\tisPreviewMode,\n\t\tshowBlockBreadcrumbs,\n\t\tdocumentLabel,\n\t\tisZoomOut,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\t\tconst { isZoomOut: _isZoomOut } = unlock( select( blockEditorStore ) );\n\n\t\treturn {\n\t\t\tmode: select( editorStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editorStore ).isListViewOpened(),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisPreviewMode: editorSettings.__unstableIsPreviewMode,\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t\tisZoomOut: _isZoomOut(),\n\t\t};\n\t}, [] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tisDistractionFree={ isDistractionFree }\n\t\t\tclassName={ clsx( 'editor-editor-interface', className, {\n\t\t\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t\t\t\t'is-distraction-free': isDistractionFree && ! isPreviewMode,\n\t\t\t} ) }\n\t\t\tlabels={ {\n\t\t\t\t...interfaceLabels,\n\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t} }\n\t\t\theader={\n\t\t\t\t! isPreviewMode && (\n\t\t\t\t\t<Header\n\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcustomSaveButton={ customSaveButton }\n\t\t\t\t\t\tforceDisableBlockTools={ forceDisableBlockTools }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tisEditorIframed={ ! disableIframe }\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\tsecondarySidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\tmode === 'visual' &&\n\t\t\t\t( ( isInserterOpened && <InserterSidebar /> ) ||\n\t\t\t\t\t( isListViewOpened && <ListViewSidebar /> ) )\n\t\t\t}\n\t\t\tsidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree && <ComplementaryArea.Slot scope=\"core\" />\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ ! isDistractionFree && ! isPreviewMode && (\n\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t) }\n\n\t\t\t\t\t<EditorContentSlotFill.Slot>\n\t\t\t\t\t\t{ ( [ editorCanvasView ] ) =>\n\t\t\t\t\t\t\teditorCanvasView ? (\n\t\t\t\t\t\t\t\teditorCanvasView\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t( mode === 'text' ||\n\t\t\t\t\t\t\t\t\t\t\t! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t\t\t\t\t<TextEditor\n\t\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t! isLargeViewport &&\n\t\t\t\t\t\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ( isPreviewMode ||\n\t\t\t\t\t\t\t\t\t\t( isRichEditingEnabled &&\n\t\t\t\t\t\t\t\t\t\t\tmode === 'visual' ) ) && (\n\t\t\t\t\t\t\t\t\t\t<VisualEditor\n\t\t\t\t\t\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\t\t\t\t\t\tdisableIframe={ disableIframe }\n\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\n\t\t\t\t\t\t\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</EditorContentSlotFill.Slot>\n\t\t\t\t</>\n\t\t\t}\n\t\t\tfooter={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t! isZoomOut &&\n\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t)\n\t\t\t}\n\t\t\tactions={\n\t\t\t\t! isPreviewMode\n\t\t\t\t\t? customSavePanel || (\n\t\t\t\t\t\t\t<SavePublishPanels\n\t\t\t\t\t\t\t\tcloseEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tforceIsDirtyPublishPanel={ forceIsDirty }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_interface","_data","_i18n","_preferences","_blockEditor","_compose","_element","_store","_editorNotices","_header","_inserterSidebar","_listViewSidebar","_savePublishPanels","_textEditor","_visualEditor","_contentSlotFill","_lockUnlock","_jsxRuntime","interfaceLabels","header","__","body","sidebar","actions","footer","EditorInterface","className","styles","children","forceIsDirty","contentRef","disableIframe","autoFocus","customSaveButton","customSavePanel","forceDisableBlockTools","title","iframeProps","mode","isRichEditingEnabled","isInserterOpened","isListViewOpened","isDistractionFree","isPreviewMode","showBlockBreadcrumbs","documentLabel","isZoomOut","useSelect","select","get","preferencesStore","getEditorSettings","getPostTypeLabel","editorStore","editorSettings","postTypeLabel","_isZoomOut","unlock","blockEditorStore","getEditorMode","richEditingEnabled","__unstableIsPreviewMode","_x","isLargeViewport","useViewportMatch","secondarySidebarLabel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","useState","closeEntitiesSavedStates","useCallback","arg","jsx","InterfaceSkeleton","clsx","labels","secondarySidebar","default","isEditorIframed","editorNotices","ComplementaryArea","Slot","scope","content","jsxs","Fragment","editorCanvasView","BlockToolbar","hideDragHandle","BlockBreadcrumb","rootLabelText","isEntitiesSavedStatesOpen","forceIsDirtyPublishPanel","undefined"],"sources":["@wordpress/editor/src/components/editor-interface/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { InterfaceSkeleton, ComplementaryArea } from '@wordpress/interface';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tstore as blockEditorStore,\n\tBlockBreadcrumb,\n\tBlockToolbar,\n} from '@wordpress/block-editor';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport EditorNotices from '../editor-notices';\nimport Header from '../header';\nimport InserterSidebar from '../inserter-sidebar';\nimport ListViewSidebar from '../list-view-sidebar';\nimport SavePublishPanels from '../save-publish-panels';\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditorContentSlotFill from './content-slot-fill';\n\nimport { unlock } from '../../lock-unlock';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nexport default function EditorInterface( {\n\tclassName,\n\tstyles,\n\tchildren,\n\tforceIsDirty,\n\tcontentRef,\n\tdisableIframe,\n\tautoFocus,\n\tcustomSaveButton,\n\tcustomSavePanel,\n\tforceDisableBlockTools,\n\ttitle,\n\tiframeProps,\n} ) {\n\tconst {\n\t\tmode,\n\t\tisRichEditingEnabled,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tisDistractionFree,\n\t\tisPreviewMode,\n\t\tshowBlockBreadcrumbs,\n\t\tdocumentLabel,\n\t\tisZoomOut,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\t\tconst { isZoomOut: _isZoomOut } = unlock( select( blockEditorStore ) );\n\n\t\treturn {\n\t\t\tmode: select( editorStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editorStore ).isListViewOpened(),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisPreviewMode: editorSettings.__unstableIsPreviewMode,\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\tdocumentLabel:\n\t\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\t\tpostTypeLabel || _x( 'Document', 'noun, breadcrumb' ),\n\t\t\tisZoomOut: _isZoomOut(),\n\t\t};\n\t}, [] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tisDistractionFree={ isDistractionFree }\n\t\t\tclassName={ clsx( 'editor-editor-interface', className, {\n\t\t\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t\t\t\t'is-distraction-free': isDistractionFree && ! isPreviewMode,\n\t\t\t} ) }\n\t\t\tlabels={ {\n\t\t\t\t...interfaceLabels,\n\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t} }\n\t\t\theader={\n\t\t\t\t! isPreviewMode && (\n\t\t\t\t\t<Header\n\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcustomSaveButton={ customSaveButton }\n\t\t\t\t\t\tforceDisableBlockTools={ forceDisableBlockTools }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tisEditorIframed={ ! disableIframe }\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\tsecondarySidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\tmode === 'visual' &&\n\t\t\t\t( ( isInserterOpened && <InserterSidebar /> ) ||\n\t\t\t\t\t( isListViewOpened && <ListViewSidebar /> ) )\n\t\t\t}\n\t\t\tsidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree && <ComplementaryArea.Slot scope=\"core\" />\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ ! isDistractionFree && ! isPreviewMode && (\n\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t) }\n\n\t\t\t\t\t<EditorContentSlotFill.Slot>\n\t\t\t\t\t\t{ ( [ editorCanvasView ] ) =>\n\t\t\t\t\t\t\teditorCanvasView ? (\n\t\t\t\t\t\t\t\teditorCanvasView\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t( mode === 'text' ||\n\t\t\t\t\t\t\t\t\t\t\t! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t\t\t\t\t<TextEditor\n\t\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t! isLargeViewport &&\n\t\t\t\t\t\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ( isPreviewMode ||\n\t\t\t\t\t\t\t\t\t\t( isRichEditingEnabled &&\n\t\t\t\t\t\t\t\t\t\t\tmode === 'visual' ) ) && (\n\t\t\t\t\t\t\t\t\t\t<VisualEditor\n\t\t\t\t\t\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\t\t\t\t\t\tdisableIframe={ disableIframe }\n\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\n\t\t\t\t\t\t\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</EditorContentSlotFill.Slot>\n\t\t\t\t</>\n\t\t\t}\n\t\t\tfooter={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t! isZoomOut &&\n\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t)\n\t\t\t}\n\t\t\tactions={\n\t\t\t\t! isPreviewMode\n\t\t\t\t\t? customSavePanel || (\n\t\t\t\t\t\t\t<SavePublishPanels\n\t\t\t\t\t\t\t\tcloseEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tforceIsDirtyPublishPanel={ forceIsDirty }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -199,10 +199,10 @@ function PostParentToggle({
199
199
  size: "compact",
200
200
  className: "editor-post-parent__panel-toggle",
201
201
  variant: "tertiary",
202
- "aria-expanded": isOpen
202
+ "aria-expanded": isOpen,
203
+ "aria-label":
203
204
  // translators: %s: Current post parent.
204
- ,
205
- "aria-label": (0, _i18n.sprintf)((0, _i18n.__)('Change parent: %s'), parentTitle),
205
+ (0, _i18n.sprintf)((0, _i18n.__)('Change parent: %s'), parentTitle),
206
206
  onClick: onClick,
207
207
  children: parentTitle
208
208
  });
@@ -247,8 +247,8 @@ function ParentRow() {
247
247
  title: (0, _i18n.__)('Parent'),
248
248
  onClose: onClose
249
249
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
250
- children: [(0, _element.createInterpolateElement)((0, _i18n.sprintf)( /* translators: %1$s The home URL of the WordPress installation without the scheme. */
251
- (0, _i18n.__)('Child pages inherit characteristics from their parent, such as URL structure. For instance, if "Pricing" is a child of "Services", its URL would be %1$s<wbr />/services<wbr />/pricing.'), (0, _url.filterURLForDisplay)(homeUrl).replace(/([/.])/g, '<wbr />$1')), {
250
+ children: [(0, _element.createInterpolateElement)((0, _i18n.sprintf)( /* translators: %s: The home URL of the WordPress installation without the scheme. */
251
+ (0, _i18n.__)('Child pages inherit characteristics from their parent, such as URL structure. For instance, if "Pricing" is a child of "Services", its URL would be %s<wbr />/services<wbr />/pricing.'), (0, _url.filterURLForDisplay)(homeUrl).replace(/([/.])/g, '<wbr />$1')), {
252
252
  wbr: /*#__PURE__*/(0, _jsxRuntime.jsx)("wbr", {})
253
253
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
254
254
  children: (0, _element.createInterpolateElement)((0, _i18n.__)('They also show up as sub-items in the default navigation menu. <a>Learn more.</a>'), {
@@ -1 +1 @@
1
- {"version":3,"names":["_removeAccents","_interopRequireDefault","require","_i18n","_components","_compose","_element","_data","_htmlEntities","_coreData","_blockEditor","_url","_postPanelRow","_terms","_store","_jsxRuntime","getTitle","post","title","rendered","decodeEntities","id","__","getItemPriority","name","searchValue","normalizedName","removeAccents","toLowerCase","normalizedSearch","startsWith","length","Infinity","exports","PageAttributesParent","editPost","useDispatch","editorStore","fieldValue","setFieldValue","useState","isHierarchical","parentPostId","parentPostTitle","pageItems","useSelect","select","_pType$hierarchical","getPostType","getEntityRecords","getEntityRecord","coreStore","getCurrentPostId","getEditedPostAttribute","postTypeSlug","pageId","pType","postId","postIsHierarchical","hierarchical","query","per_page","exclude","parent_exclude","orderby","order","_fields","search","parentPost","parentOptions","useMemo","getOptionsFromTree","tree","level","mappedNodes","map","treeNode","value","label","repeat","rawName","children","sortedNodes","sort","a","b","priorityA","priorityB","flat","item","parent","buildTermsTree","opts","optsHasParent","find","unshift","handleKeydown","inputValue","handleChange","selectedPostId","jsx","ComboboxControl","__nextHasNoMarginBottom","__next40pxDefaultSize","className","help","options","onFilterValueChange","debounce","onChange","hideLabelFromVision","PostParentToggle","isOpen","onClick","parentTitle","Button","size","variant","sprintf","ParentRow","homeUrl","home","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","default","ref","Dropdown","contentClassName","focusOnMount","renderToggle","onToggle","renderContent","onClose","jsxs","__experimentalInspectorPopoverHeader","createInterpolateElement","filterURLForDisplay","replace","wbr","ExternalLink","href","_default"],"sources":["@wordpress/editor/src/components/page-attributes/parent.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tDropdown,\n\tComboboxControl,\n\tExternalLink,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport {\n\tcreateInterpolateElement,\n\tuseState,\n\tuseMemo,\n} from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { filterURLForDisplay } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport PostPanelRow from '../post-panel-row';\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\nfunction getTitle( post ) {\n\treturn post?.title?.rendered\n\t\t? decodeEntities( post.title.rendered )\n\t\t: `#${ post.id } (${ __( 'no title' ) })`;\n}\n\nexport const getItemPriority = ( name, searchValue ) => {\n\tconst normalizedName = removeAccents( name || '' ).toLowerCase();\n\tconst normalizedSearch = removeAccents( searchValue || '' ).toLowerCase();\n\tif ( normalizedName === normalizedSearch ) {\n\t\treturn 0;\n\t}\n\n\tif ( normalizedName.startsWith( normalizedSearch ) ) {\n\t\treturn normalizedName.length;\n\t}\n\n\treturn Infinity;\n};\n\n/**\n * Renders the Page Attributes Parent component. A dropdown menu in an editor interface\n * for selecting the parent page of a given page.\n *\n * @return {Component|null} The component to be rendered. Return null if post type is not hierarchical.\n */\nexport function PageAttributesParent() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ fieldValue, setFieldValue ] = useState( false );\n\tconst { isHierarchical, parentPostId, parentPostTitle, pageItems } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getPostType, getEntityRecords, getEntityRecord } =\n\t\t\t\t\tselect( coreStore );\n\t\t\t\tconst { getCurrentPostId, getEditedPostAttribute } =\n\t\t\t\t\tselect( editorStore );\n\t\t\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\t\t\tconst pageId = getEditedPostAttribute( 'parent' );\n\t\t\t\tconst pType = getPostType( postTypeSlug );\n\t\t\t\tconst postId = getCurrentPostId();\n\t\t\t\tconst postIsHierarchical = pType?.hierarchical ?? false;\n\t\t\t\tconst query = {\n\t\t\t\t\tper_page: 100,\n\t\t\t\t\texclude: postId,\n\t\t\t\t\tparent_exclude: postId,\n\t\t\t\t\torderby: 'menu_order',\n\t\t\t\t\torder: 'asc',\n\t\t\t\t\t_fields: 'id,title,parent',\n\t\t\t\t};\n\n\t\t\t\t// Perform a search when the field is changed.\n\t\t\t\tif ( !! fieldValue ) {\n\t\t\t\t\tquery.search = fieldValue;\n\t\t\t\t}\n\n\t\t\t\tconst parentPost = pageId\n\t\t\t\t\t? getEntityRecord( 'postType', postTypeSlug, pageId )\n\t\t\t\t\t: null;\n\n\t\t\t\treturn {\n\t\t\t\t\tisHierarchical: postIsHierarchical,\n\t\t\t\t\tparentPostId: pageId,\n\t\t\t\t\tparentPostTitle: parentPost ? getTitle( parentPost ) : '',\n\t\t\t\t\tpageItems: postIsHierarchical\n\t\t\t\t\t\t? getEntityRecords( 'postType', postTypeSlug, query )\n\t\t\t\t\t\t: null,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ fieldValue ]\n\t\t);\n\n\tconst parentOptions = useMemo( () => {\n\t\tconst getOptionsFromTree = ( tree, level = 0 ) => {\n\t\t\tconst mappedNodes = tree.map( ( treeNode ) => [\n\t\t\t\t{\n\t\t\t\t\tvalue: treeNode.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t'— '.repeat( level ) + decodeEntities( treeNode.name ),\n\t\t\t\t\trawName: treeNode.name,\n\t\t\t\t},\n\t\t\t\t...getOptionsFromTree( treeNode.children || [], level + 1 ),\n\t\t\t] );\n\n\t\t\tconst sortedNodes = mappedNodes.sort( ( [ a ], [ b ] ) => {\n\t\t\t\tconst priorityA = getItemPriority( a.rawName, fieldValue );\n\t\t\t\tconst priorityB = getItemPriority( b.rawName, fieldValue );\n\t\t\t\treturn priorityA >= priorityB ? 1 : -1;\n\t\t\t} );\n\n\t\t\treturn sortedNodes.flat();\n\t\t};\n\n\t\tif ( ! pageItems ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet tree = pageItems.map( ( item ) => ( {\n\t\t\tid: item.id,\n\t\t\tparent: item.parent,\n\t\t\tname: getTitle( item ),\n\t\t} ) );\n\n\t\t// Only build a hierarchical tree when not searching.\n\t\tif ( ! fieldValue ) {\n\t\t\ttree = buildTermsTree( tree );\n\t\t}\n\n\t\tconst opts = getOptionsFromTree( tree );\n\n\t\t// Ensure the current parent is in the options list.\n\t\tconst optsHasParent = opts.find(\n\t\t\t( item ) => item.value === parentPostId\n\t\t);\n\t\tif ( parentPostTitle && ! optsHasParent ) {\n\t\t\topts.unshift( {\n\t\t\t\tvalue: parentPostId,\n\t\t\t\tlabel: parentPostTitle,\n\t\t\t} );\n\t\t}\n\t\treturn opts;\n\t}, [ pageItems, fieldValue, parentPostTitle, parentPostId ] );\n\n\tif ( ! isHierarchical ) {\n\t\treturn null;\n\t}\n\t/**\n\t * Handle user input.\n\t *\n\t * @param {string} inputValue The current value of the input field.\n\t */\n\tconst handleKeydown = ( inputValue ) => {\n\t\tsetFieldValue( inputValue );\n\t};\n\n\t/**\n\t * Handle author selection.\n\t *\n\t * @param {Object} selectedPostId The selected Author.\n\t */\n\tconst handleChange = ( selectedPostId ) => {\n\t\teditPost( { parent: selectedPostId } );\n\t};\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\tlabel={ __( 'Parent' ) }\n\t\t\thelp={ __( 'Choose a parent page.' ) }\n\t\t\tvalue={ parentPostId }\n\t\t\toptions={ parentOptions }\n\t\t\tonFilterValueChange={ debounce( handleKeydown, 300 ) }\n\t\t\tonChange={ handleChange }\n\t\t\thideLabelFromVision\n\t\t/>\n\t);\n}\n\nfunction PostParentToggle( { isOpen, onClick } ) {\n\tconst parentPost = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst parentPostId = getEditedPostAttribute( 'parent' );\n\t\tif ( ! parentPostId ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\treturn getEntityRecord( 'postType', postTypeSlug, parentPostId );\n\t}, [] );\n\tconst parentTitle = useMemo(\n\t\t() => ( ! parentPost ? __( 'None' ) : getTitle( parentPost ) ),\n\t\t[ parentPost ]\n\t);\n\treturn (\n\t\t<Button\n\t\t\tsize=\"compact\"\n\t\t\tclassName=\"editor-post-parent__panel-toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\t// translators: %s: Current post parent.\n\t\t\taria-label={ sprintf( __( 'Change parent: %s' ), parentTitle ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ parentTitle }\n\t\t</Button>\n\t);\n}\n\nexport function ParentRow() {\n\tconst homeUrl = useSelect( ( select ) => {\n\t\t// Site index.\n\t\treturn select( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t?.home;\n\t}, [] );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\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\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\treturn (\n\t\t<PostPanelRow label={ __( 'Parent' ) } ref={ setPopoverAnchor }>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tclassName=\"editor-post-parent__panel-dropdown\"\n\t\t\t\tcontentClassName=\"editor-post-parent__panel-dialog\"\n\t\t\t\tfocusOnMount\n\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t<PostParentToggle isOpen={ isOpen } onClick={ onToggle } />\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<div className=\"editor-post-parent\">\n\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\ttitle={ __( 'Parent' ) }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %1$s The home URL of the WordPress installation without the scheme. */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'Child pages inherit characteristics from their parent, such as URL structure. For instance, if \"Pricing\" is a child of \"Services\", its URL would be %1$s<wbr />/services<wbr />/pricing.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tfilterURLForDisplay( homeUrl ).replace(\n\t\t\t\t\t\t\t\t\t\t/([/.])/g,\n\t\t\t\t\t\t\t\t\t\t'<wbr />$1'\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{\n\t\t\t\t\t\t\t\t\twbr: <wbr />,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'They also show up as sub-items in the default navigation menu. <a>Learn more.</a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#page-attributes'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<PageAttributesParent />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PostPanelRow>\n\t);\n}\n\nexport default PageAttributesParent;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_removeAccents","_interopRequireDefault","require","_i18n","_components","_compose","_element","_data","_htmlEntities","_coreData","_blockEditor","_url","_postPanelRow","_terms","_store","_jsxRuntime","getTitle","post","title","rendered","decodeEntities","id","__","getItemPriority","name","searchValue","normalizedName","removeAccents","toLowerCase","normalizedSearch","startsWith","length","Infinity","exports","PageAttributesParent","editPost","useDispatch","editorStore","fieldValue","setFieldValue","useState","isHierarchical","parentPostId","parentPostTitle","pageItems","useSelect","select","_pType$hierarchical","getPostType","getEntityRecords","getEntityRecord","coreStore","getCurrentPostId","getEditedPostAttribute","postTypeSlug","pageId","pType","postId","postIsHierarchical","hierarchical","query","per_page","exclude","parent_exclude","orderby","order","_fields","search","parentPost","parentOptions","useMemo","getOptionsFromTree","tree","level","mappedNodes","map","treeNode","value","label","repeat","rawName","children","sortedNodes","sort","a","b","priorityA","priorityB","flat","item","parent","buildTermsTree","opts","optsHasParent","find","unshift","handleKeydown","inputValue","handleChange","selectedPostId","jsx","ComboboxControl","__nextHasNoMarginBottom","__next40pxDefaultSize","className","help","options","onFilterValueChange","debounce","onChange","hideLabelFromVision","PostParentToggle","isOpen","onClick","parentTitle","Button","size","variant","sprintf","ParentRow","homeUrl","home","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","default","ref","Dropdown","contentClassName","focusOnMount","renderToggle","onToggle","renderContent","onClose","jsxs","__experimentalInspectorPopoverHeader","createInterpolateElement","filterURLForDisplay","replace","wbr","ExternalLink","href","_default"],"sources":["@wordpress/editor/src/components/page-attributes/parent.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tDropdown,\n\tComboboxControl,\n\tExternalLink,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport {\n\tcreateInterpolateElement,\n\tuseState,\n\tuseMemo,\n} from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { filterURLForDisplay } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport PostPanelRow from '../post-panel-row';\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\nfunction getTitle( post ) {\n\treturn post?.title?.rendered\n\t\t? decodeEntities( post.title.rendered )\n\t\t: `#${ post.id } (${ __( 'no title' ) })`;\n}\n\nexport const getItemPriority = ( name, searchValue ) => {\n\tconst normalizedName = removeAccents( name || '' ).toLowerCase();\n\tconst normalizedSearch = removeAccents( searchValue || '' ).toLowerCase();\n\tif ( normalizedName === normalizedSearch ) {\n\t\treturn 0;\n\t}\n\n\tif ( normalizedName.startsWith( normalizedSearch ) ) {\n\t\treturn normalizedName.length;\n\t}\n\n\treturn Infinity;\n};\n\n/**\n * Renders the Page Attributes Parent component. A dropdown menu in an editor interface\n * for selecting the parent page of a given page.\n *\n * @return {Component|null} The component to be rendered. Return null if post type is not hierarchical.\n */\nexport function PageAttributesParent() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ fieldValue, setFieldValue ] = useState( false );\n\tconst { isHierarchical, parentPostId, parentPostTitle, pageItems } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getPostType, getEntityRecords, getEntityRecord } =\n\t\t\t\t\tselect( coreStore );\n\t\t\t\tconst { getCurrentPostId, getEditedPostAttribute } =\n\t\t\t\t\tselect( editorStore );\n\t\t\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\t\t\tconst pageId = getEditedPostAttribute( 'parent' );\n\t\t\t\tconst pType = getPostType( postTypeSlug );\n\t\t\t\tconst postId = getCurrentPostId();\n\t\t\t\tconst postIsHierarchical = pType?.hierarchical ?? false;\n\t\t\t\tconst query = {\n\t\t\t\t\tper_page: 100,\n\t\t\t\t\texclude: postId,\n\t\t\t\t\tparent_exclude: postId,\n\t\t\t\t\torderby: 'menu_order',\n\t\t\t\t\torder: 'asc',\n\t\t\t\t\t_fields: 'id,title,parent',\n\t\t\t\t};\n\n\t\t\t\t// Perform a search when the field is changed.\n\t\t\t\tif ( !! fieldValue ) {\n\t\t\t\t\tquery.search = fieldValue;\n\t\t\t\t}\n\n\t\t\t\tconst parentPost = pageId\n\t\t\t\t\t? getEntityRecord( 'postType', postTypeSlug, pageId )\n\t\t\t\t\t: null;\n\n\t\t\t\treturn {\n\t\t\t\t\tisHierarchical: postIsHierarchical,\n\t\t\t\t\tparentPostId: pageId,\n\t\t\t\t\tparentPostTitle: parentPost ? getTitle( parentPost ) : '',\n\t\t\t\t\tpageItems: postIsHierarchical\n\t\t\t\t\t\t? getEntityRecords( 'postType', postTypeSlug, query )\n\t\t\t\t\t\t: null,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ fieldValue ]\n\t\t);\n\n\tconst parentOptions = useMemo( () => {\n\t\tconst getOptionsFromTree = ( tree, level = 0 ) => {\n\t\t\tconst mappedNodes = tree.map( ( treeNode ) => [\n\t\t\t\t{\n\t\t\t\t\tvalue: treeNode.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t'— '.repeat( level ) + decodeEntities( treeNode.name ),\n\t\t\t\t\trawName: treeNode.name,\n\t\t\t\t},\n\t\t\t\t...getOptionsFromTree( treeNode.children || [], level + 1 ),\n\t\t\t] );\n\n\t\t\tconst sortedNodes = mappedNodes.sort( ( [ a ], [ b ] ) => {\n\t\t\t\tconst priorityA = getItemPriority( a.rawName, fieldValue );\n\t\t\t\tconst priorityB = getItemPriority( b.rawName, fieldValue );\n\t\t\t\treturn priorityA >= priorityB ? 1 : -1;\n\t\t\t} );\n\n\t\t\treturn sortedNodes.flat();\n\t\t};\n\n\t\tif ( ! pageItems ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet tree = pageItems.map( ( item ) => ( {\n\t\t\tid: item.id,\n\t\t\tparent: item.parent,\n\t\t\tname: getTitle( item ),\n\t\t} ) );\n\n\t\t// Only build a hierarchical tree when not searching.\n\t\tif ( ! fieldValue ) {\n\t\t\ttree = buildTermsTree( tree );\n\t\t}\n\n\t\tconst opts = getOptionsFromTree( tree );\n\n\t\t// Ensure the current parent is in the options list.\n\t\tconst optsHasParent = opts.find(\n\t\t\t( item ) => item.value === parentPostId\n\t\t);\n\t\tif ( parentPostTitle && ! optsHasParent ) {\n\t\t\topts.unshift( {\n\t\t\t\tvalue: parentPostId,\n\t\t\t\tlabel: parentPostTitle,\n\t\t\t} );\n\t\t}\n\t\treturn opts;\n\t}, [ pageItems, fieldValue, parentPostTitle, parentPostId ] );\n\n\tif ( ! isHierarchical ) {\n\t\treturn null;\n\t}\n\t/**\n\t * Handle user input.\n\t *\n\t * @param {string} inputValue The current value of the input field.\n\t */\n\tconst handleKeydown = ( inputValue ) => {\n\t\tsetFieldValue( inputValue );\n\t};\n\n\t/**\n\t * Handle author selection.\n\t *\n\t * @param {Object} selectedPostId The selected Author.\n\t */\n\tconst handleChange = ( selectedPostId ) => {\n\t\teditPost( { parent: selectedPostId } );\n\t};\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\tlabel={ __( 'Parent' ) }\n\t\t\thelp={ __( 'Choose a parent page.' ) }\n\t\t\tvalue={ parentPostId }\n\t\t\toptions={ parentOptions }\n\t\t\tonFilterValueChange={ debounce( handleKeydown, 300 ) }\n\t\t\tonChange={ handleChange }\n\t\t\thideLabelFromVision\n\t\t/>\n\t);\n}\n\nfunction PostParentToggle( { isOpen, onClick } ) {\n\tconst parentPost = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst parentPostId = getEditedPostAttribute( 'parent' );\n\t\tif ( ! parentPostId ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\treturn getEntityRecord( 'postType', postTypeSlug, parentPostId );\n\t}, [] );\n\tconst parentTitle = useMemo(\n\t\t() => ( ! parentPost ? __( 'None' ) : getTitle( parentPost ) ),\n\t\t[ parentPost ]\n\t);\n\treturn (\n\t\t<Button\n\t\t\tsize=\"compact\"\n\t\t\tclassName=\"editor-post-parent__panel-toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-label={\n\t\t\t\t// translators: %s: Current post parent.\n\t\t\t\tsprintf( __( 'Change parent: %s' ), parentTitle )\n\t\t\t}\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ parentTitle }\n\t\t</Button>\n\t);\n}\n\nexport function ParentRow() {\n\tconst homeUrl = useSelect( ( select ) => {\n\t\t// Site index.\n\t\treturn select( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t?.home;\n\t}, [] );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\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\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\treturn (\n\t\t<PostPanelRow label={ __( 'Parent' ) } ref={ setPopoverAnchor }>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tclassName=\"editor-post-parent__panel-dropdown\"\n\t\t\t\tcontentClassName=\"editor-post-parent__panel-dialog\"\n\t\t\t\tfocusOnMount\n\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t<PostParentToggle isOpen={ isOpen } onClick={ onToggle } />\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<div className=\"editor-post-parent\">\n\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\ttitle={ __( 'Parent' ) }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: The home URL of the WordPress installation without the scheme. */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'Child pages inherit characteristics from their parent, such as URL structure. For instance, if \"Pricing\" is a child of \"Services\", its URL would be %s<wbr />/services<wbr />/pricing.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tfilterURLForDisplay( homeUrl ).replace(\n\t\t\t\t\t\t\t\t\t\t/([/.])/g,\n\t\t\t\t\t\t\t\t\t\t'<wbr />$1'\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{\n\t\t\t\t\t\t\t\t\twbr: <wbr />,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'They also show up as sub-items in the default navigation menu. <a>Learn more.</a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#page-attributes'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<PageAttributesParent />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PostPanelRow>\n\t);\n}\n\nexport default PageAttributesParent;\n"],"mappings":";;;;;;;;;AAGA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAMA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAKA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,IAAA,GAAAT,OAAA;AAKA,IAAAU,aAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AAAmD,IAAAa,WAAA,GAAAb,OAAA;AAhCnD;AACA;AACA;;AAGA;AACA;AACA;;AAoBA;AACA;AACA;;AAKA,SAASc,QAAQA,CAAEC,IAAI,EAAG;EACzB,OAAOA,IAAI,EAAEC,KAAK,EAAEC,QAAQ,GACzB,IAAAC,4BAAc,EAAEH,IAAI,CAACC,KAAK,CAACC,QAAS,CAAC,GACpC,IAAIF,IAAI,CAACI,EAAI,KAAK,IAAAC,QAAE,EAAE,UAAW,CAAG,GAAE;AAC3C;AAEO,MAAMC,eAAe,GAAGA,CAAEC,IAAI,EAAEC,WAAW,KAAM;EACvD,MAAMC,cAAc,GAAG,IAAAC,sBAAa,EAAEH,IAAI,IAAI,EAAG,CAAC,CAACI,WAAW,CAAC,CAAC;EAChE,MAAMC,gBAAgB,GAAG,IAAAF,sBAAa,EAAEF,WAAW,IAAI,EAAG,CAAC,CAACG,WAAW,CAAC,CAAC;EACzE,IAAKF,cAAc,KAAKG,gBAAgB,EAAG;IAC1C,OAAO,CAAC;EACT;EAEA,IAAKH,cAAc,CAACI,UAAU,CAAED,gBAAiB,CAAC,EAAG;IACpD,OAAOH,cAAc,CAACK,MAAM;EAC7B;EAEA,OAAOC,QAAQ;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALAC,OAAA,CAAAV,eAAA,GAAAA,eAAA;AAMO,SAASW,oBAAoBA,CAAA,EAAG;EACtC,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAY,CAAC;EAC/C,MAAM,CAAEC,UAAU,EAAEC,aAAa,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EACvD,MAAM;IAAEC,cAAc;IAAEC,YAAY;IAAEC,eAAe;IAAEC;EAAU,CAAC,GACjE,IAAAC,eAAS,EACNC,MAAM,IAAM;IAAA,IAAAC,mBAAA;IACb,MAAM;MAAEC,WAAW;MAAEC,gBAAgB;MAAEC;IAAgB,CAAC,GACvDJ,MAAM,CAAEK,eAAU,CAAC;IACpB,MAAM;MAAEC,gBAAgB;MAAEC;IAAuB,CAAC,GACjDP,MAAM,CAAET,YAAY,CAAC;IACtB,MAAMiB,YAAY,GAAGD,sBAAsB,CAAE,MAAO,CAAC;IACrD,MAAME,MAAM,GAAGF,sBAAsB,CAAE,QAAS,CAAC;IACjD,MAAMG,KAAK,GAAGR,WAAW,CAAEM,YAAa,CAAC;IACzC,MAAMG,MAAM,GAAGL,gBAAgB,CAAC,CAAC;IACjC,MAAMM,kBAAkB,IAAAX,mBAAA,GAAGS,KAAK,EAAEG,YAAY,cAAAZ,mBAAA,cAAAA,mBAAA,GAAI,KAAK;IACvD,MAAMa,KAAK,GAAG;MACbC,QAAQ,EAAE,GAAG;MACbC,OAAO,EAAEL,MAAM;MACfM,cAAc,EAAEN,MAAM;MACtBO,OAAO,EAAE,YAAY;MACrBC,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE;IACV,CAAC;;IAED;IACA,IAAK,CAAC,CAAE5B,UAAU,EAAG;MACpBsB,KAAK,CAACO,MAAM,GAAG7B,UAAU;IAC1B;IAEA,MAAM8B,UAAU,GAAGb,MAAM,GACtBL,eAAe,CAAE,UAAU,EAAEI,YAAY,EAAEC,MAAO,CAAC,GACnD,IAAI;IAEP,OAAO;MACNd,cAAc,EAAEiB,kBAAkB;MAClChB,YAAY,EAAEa,MAAM;MACpBZ,eAAe,EAAEyB,UAAU,GAAGpD,QAAQ,CAAEoD,UAAW,CAAC,GAAG,EAAE;MACzDxB,SAAS,EAAEc,kBAAkB,GAC1BT,gBAAgB,CAAE,UAAU,EAAEK,YAAY,EAAEM,KAAM,CAAC,GACnD;IACJ,CAAC;EACF,CAAC,EACD,CAAEtB,UAAU,CACb,CAAC;EAEF,MAAM+B,aAAa,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACpC,MAAMC,kBAAkB,GAAGA,CAAEC,IAAI,EAAEC,KAAK,GAAG,CAAC,KAAM;MACjD,MAAMC,WAAW,GAAGF,IAAI,CAACG,GAAG,CAAIC,QAAQ,IAAM,CAC7C;QACCC,KAAK,EAAED,QAAQ,CAACvD,EAAE;QAClByD,KAAK,EACJ,IAAI,CAACC,MAAM,CAAEN,KAAM,CAAC,GAAG,IAAArD,4BAAc,EAAEwD,QAAQ,CAACpD,IAAK,CAAC;QACvDwD,OAAO,EAAEJ,QAAQ,CAACpD;MACnB,CAAC,EACD,GAAG+C,kBAAkB,CAAEK,QAAQ,CAACK,QAAQ,IAAI,EAAE,EAAER,KAAK,GAAG,CAAE,CAAC,CAC1D,CAAC;MAEH,MAAMS,WAAW,GAAGR,WAAW,CAACS,IAAI,CAAE,CAAE,CAAEC,CAAC,CAAE,EAAE,CAAEC,CAAC,CAAE,KAAM;QACzD,MAAMC,SAAS,GAAG/D,eAAe,CAAE6D,CAAC,CAACJ,OAAO,EAAE1C,UAAW,CAAC;QAC1D,MAAMiD,SAAS,GAAGhE,eAAe,CAAE8D,CAAC,CAACL,OAAO,EAAE1C,UAAW,CAAC;QAC1D,OAAOgD,SAAS,IAAIC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;MACvC,CAAE,CAAC;MAEH,OAAOL,WAAW,CAACM,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAK,CAAE5C,SAAS,EAAG;MAClB,OAAO,EAAE;IACV;IAEA,IAAI4B,IAAI,GAAG5B,SAAS,CAAC+B,GAAG,CAAIc,IAAI,KAAQ;MACvCpE,EAAE,EAAEoE,IAAI,CAACpE,EAAE;MACXqE,MAAM,EAAED,IAAI,CAACC,MAAM;MACnBlE,IAAI,EAAER,QAAQ,CAAEyE,IAAK;IACtB,CAAC,CAAG,CAAC;;IAEL;IACA,IAAK,CAAEnD,UAAU,EAAG;MACnBkC,IAAI,GAAG,IAAAmB,qBAAc,EAAEnB,IAAK,CAAC;IAC9B;IAEA,MAAMoB,IAAI,GAAGrB,kBAAkB,CAAEC,IAAK,CAAC;;IAEvC;IACA,MAAMqB,aAAa,GAAGD,IAAI,CAACE,IAAI,CAC5BL,IAAI,IAAMA,IAAI,CAACZ,KAAK,KAAKnC,YAC5B,CAAC;IACD,IAAKC,eAAe,IAAI,CAAEkD,aAAa,EAAG;MACzCD,IAAI,CAACG,OAAO,CAAE;QACblB,KAAK,EAAEnC,YAAY;QACnBoC,KAAK,EAAEnC;MACR,CAAE,CAAC;IACJ;IACA,OAAOiD,IAAI;EACZ,CAAC,EAAE,CAAEhD,SAAS,EAAEN,UAAU,EAAEK,eAAe,EAAED,YAAY,CAAG,CAAC;EAE7D,IAAK,CAAED,cAAc,EAAG;IACvB,OAAO,IAAI;EACZ;EACA;AACD;AACA;AACA;AACA;EACC,MAAMuD,aAAa,GAAKC,UAAU,IAAM;IACvC1D,aAAa,CAAE0D,UAAW,CAAC;EAC5B,CAAC;;EAED;AACD;AACA;AACA;AACA;EACC,MAAMC,YAAY,GAAKC,cAAc,IAAM;IAC1ChE,QAAQ,CAAE;MAAEuD,MAAM,EAAES;IAAe,CAAE,CAAC;EACvC,CAAC;EAED,oBACC,IAAApF,WAAA,CAAAqF,GAAA,EAAChG,WAAA,CAAAiG,eAAe;IACfC,uBAAuB;IACvBC,qBAAqB;IACrBC,SAAS,EAAC,gCAAgC;IAC1C1B,KAAK,EAAG,IAAAxD,QAAE,EAAE,QAAS,CAAG;IACxBmF,IAAI,EAAG,IAAAnF,QAAE,EAAE,uBAAwB,CAAG;IACtCuD,KAAK,EAAGnC,YAAc;IACtBgE,OAAO,EAAGrC,aAAe;IACzBsC,mBAAmB,EAAG,IAAAC,iBAAQ,EAAEZ,aAAa,EAAE,GAAI,CAAG;IACtDa,QAAQ,EAAGX,YAAc;IACzBY,mBAAmB;EAAA,CACnB,CAAC;AAEJ;AAEA,SAASC,gBAAgBA,CAAE;EAAEC,MAAM;EAAEC;AAAQ,CAAC,EAAG;EAChD,MAAM7C,UAAU,GAAG,IAAAvB,eAAS,EAAIC,MAAM,IAAM;IAC3C,MAAM;MAAEO;IAAuB,CAAC,GAAGP,MAAM,CAAET,YAAY,CAAC;IACxD,MAAMK,YAAY,GAAGW,sBAAsB,CAAE,QAAS,CAAC;IACvD,IAAK,CAAEX,YAAY,EAAG;MACrB,OAAO,IAAI;IACZ;IACA,MAAM;MAAEQ;IAAgB,CAAC,GAAGJ,MAAM,CAAEK,eAAU,CAAC;IAC/C,MAAMG,YAAY,GAAGD,sBAAsB,CAAE,MAAO,CAAC;IACrD,OAAOH,eAAe,CAAE,UAAU,EAAEI,YAAY,EAAEZ,YAAa,CAAC;EACjE,CAAC,EAAE,EAAG,CAAC;EACP,MAAMwE,WAAW,GAAG,IAAA5C,gBAAO,EAC1B,MAAQ,CAAEF,UAAU,GAAG,IAAA9C,QAAE,EAAE,MAAO,CAAC,GAAGN,QAAQ,CAAEoD,UAAW,CAAG,EAC9D,CAAEA,UAAU,CACb,CAAC;EACD,oBACC,IAAArD,WAAA,CAAAqF,GAAA,EAAChG,WAAA,CAAA+G,MAAM;IACNC,IAAI,EAAC,SAAS;IACdZ,SAAS,EAAC,kCAAkC;IAC5Ca,OAAO,EAAC,UAAU;IAClB,iBAAgBL,MAAQ;IACxB;IACC;IACA,IAAAM,aAAO,EAAE,IAAAhG,QAAE,EAAE,mBAAoB,CAAC,EAAE4F,WAAY,CAChD;IACDD,OAAO,EAAGA,OAAS;IAAAhC,QAAA,EAEjBiC;EAAW,CACN,CAAC;AAEX;AAEO,SAASK,SAASA,CAAA,EAAG;EAC3B,MAAMC,OAAO,GAAG,IAAA3E,eAAS,EAAIC,MAAM,IAAM;IACxC;IACA,OAAOA,MAAM,CAAEK,eAAU,CAAC,CAACD,eAAe,CAAE,MAAM,EAAE,gBAAiB,CAAC,EACnEuE,IAAI;EACR,CAAC,EAAE,EAAG,CAAC;EACP;EACA;EACA,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAnF,iBAAQ,EAAE,IAAK,CAAC;EAC5D;EACA,MAAMoF,YAAY,GAAG,IAAAtD,gBAAO,EAC3B,OAAQ;IACP;IACA;IACAuD,MAAM,EAAEH,aAAa;IACrBI,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC,CAAE,EACH,CAAEN,aAAa,CAChB,CAAC;EACD,oBACC,IAAA3G,WAAA,CAAAqF,GAAA,EAACxF,aAAA,CAAAqH,OAAY;IAACnD,KAAK,EAAG,IAAAxD,QAAE,EAAE,QAAS,CAAG;IAAC4G,GAAG,EAAGP,gBAAkB;IAAA1C,QAAA,eAC9D,IAAAlE,WAAA,CAAAqF,GAAA,EAAChG,WAAA,CAAA+H,QAAQ;MACRP,YAAY,EAAGA,YAAc;MAC7BpB,SAAS,EAAC,oCAAoC;MAC9C4B,gBAAgB,EAAC,kCAAkC;MACnDC,YAAY;MACZC,YAAY,EAAGA,CAAE;QAAEtB,MAAM;QAAEuB;MAAS,CAAC,kBACpC,IAAAxH,WAAA,CAAAqF,GAAA,EAACW,gBAAgB;QAACC,MAAM,EAAGA,MAAQ;QAACC,OAAO,EAAGsB;MAAU,CAAE,CACxD;MACHC,aAAa,EAAGA,CAAE;QAAEC;MAAQ,CAAC,kBAC5B,IAAA1H,WAAA,CAAA2H,IAAA;QAAKlC,SAAS,EAAC,oBAAoB;QAAAvB,QAAA,gBAClC,IAAAlE,WAAA,CAAAqF,GAAA,EAAC1F,YAAA,CAAAiI,oCAAsB;UACtBzH,KAAK,EAAG,IAAAI,QAAE,EAAE,QAAS,CAAG;UACxBmH,OAAO,EAAGA;QAAS,CACnB,CAAC,eACF,IAAA1H,WAAA,CAAA2H,IAAA;UAAAzD,QAAA,GACG,IAAA2D,iCAAwB,EACzB,IAAAtB,aAAO,GACN;UACA,IAAAhG,QAAE,EACD,wLACD,CAAC,EACD,IAAAuH,wBAAmB,EAAErB,OAAQ,CAAC,CAACsB,OAAO,CACrC,SAAS,EACT,WACD,CACD,CAAC,EACD;YACCC,GAAG,eAAE,IAAAhI,WAAA,CAAAqF,GAAA,WAAM;UACZ,CACD,CAAC,eACD,IAAArF,WAAA,CAAAqF,GAAA;YAAAnB,QAAA,EACG,IAAA2D,iCAAwB,EACzB,IAAAtH,QAAE,EACD,mFACD,CAAC,EACD;cACC8D,CAAC,eACA,IAAArE,WAAA,CAAAqF,GAAA,EAAChG,WAAA,CAAA4I,YAAY;gBACZC,IAAI,EAAG,IAAA3H,QAAE,EACR,yFACD;cAAG,CACH;YAEH,CACD;UAAC,CACC,CAAC;QAAA,CACA,CAAC,eACN,IAAAP,WAAA,CAAAqF,GAAA,EAAClE,oBAAoB,IAAE,CAAC;MAAA,CACpB;IACH,CACH;EAAC,CACW,CAAC;AAEjB;AAAC,IAAAgH,QAAA,GAAAjH,OAAA,CAAAgG,OAAA,GAEc/F,oBAAoB","ignoreList":[]}
@@ -36,10 +36,10 @@ function PostAuthorToggle({
36
36
  size: "compact",
37
37
  className: "editor-post-author__panel-toggle",
38
38
  variant: "tertiary",
39
- "aria-expanded": isOpen
40
- // translators: %s: Current post link.
41
- ,
42
- "aria-label": (0, _i18n.sprintf)((0, _i18n.__)('Change author: %s'), authorName),
39
+ "aria-expanded": isOpen,
40
+ "aria-label":
41
+ // translators: %s: Author name.
42
+ (0, _i18n.sprintf)((0, _i18n.__)('Change author: %s'), authorName),
43
43
  onClick: onClick,
44
44
  children: authorName
45
45
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_element","_htmlEntities","_blockEditor","_check","_interopRequireDefault","_index","_postPanelRow","_hook","_jsxRuntime","PostAuthorToggle","isOpen","onClick","postAuthor","useAuthorsQuery","authorName","decodeEntities","name","__","jsx","Button","size","className","variant","sprintf","children","PostAuthor","popoverAnchor","setPopoverAnchor","useState","popoverProps","useMemo","anchor","placement","offset","shift","default","label","ref","Dropdown","contentClassName","focusOnMount","renderToggle","onToggle","renderContent","onClose","jsxs","__experimentalInspectorPopoverHeader","title","_default","exports"],"sources":["@wordpress/editor/src/components/post-author/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button, Dropdown } from '@wordpress/components';\nimport { useState, useMemo } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport PostAuthorCheck from './check';\nimport PostAuthorForm from './index';\nimport PostPanelRow from '../post-panel-row';\nimport { useAuthorsQuery } from './hook';\n\nfunction PostAuthorToggle( { isOpen, onClick } ) {\n\tconst { postAuthor } = useAuthorsQuery();\n\tconst authorName =\n\t\tdecodeEntities( postAuthor?.name ) || __( '(No author)' );\n\treturn (\n\t\t<Button\n\t\t\tsize=\"compact\"\n\t\t\tclassName=\"editor-post-author__panel-toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\t// translators: %s: Current post link.\n\t\t\taria-label={ sprintf( __( 'Change author: %s' ), authorName ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ authorName }\n\t\t</Button>\n\t);\n}\n\n/**\n * Renders the Post Author Panel component.\n *\n * @return {Component} The component to be rendered.\n */\nexport function PostAuthor() {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\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\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\treturn (\n\t\t<PostAuthorCheck>\n\t\t\t<PostPanelRow label={ __( 'Author' ) } ref={ setPopoverAnchor }>\n\t\t\t\t<Dropdown\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tcontentClassName=\"editor-post-author__panel-dialog\"\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<PostAuthorToggle\n\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<div className=\"editor-post-author\">\n\t\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\t\ttitle={ __( 'Author' ) }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PostAuthorForm onClose={ onClose } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostAuthorCheck>\n\t);\n}\n\nexport default PostAuthor;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_element","_htmlEntities","_blockEditor","_check","_interopRequireDefault","_index","_postPanelRow","_hook","_jsxRuntime","PostAuthorToggle","isOpen","onClick","postAuthor","useAuthorsQuery","authorName","decodeEntities","name","__","jsx","Button","size","className","variant","sprintf","children","PostAuthor","popoverAnchor","setPopoverAnchor","useState","popoverProps","useMemo","anchor","placement","offset","shift","default","label","ref","Dropdown","contentClassName","focusOnMount","renderToggle","onToggle","renderContent","onClose","jsxs","__experimentalInspectorPopoverHeader","title","_default","exports"],"sources":["@wordpress/editor/src/components/post-author/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button, Dropdown } from '@wordpress/components';\nimport { useState, useMemo } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport PostAuthorCheck from './check';\nimport PostAuthorForm from './index';\nimport PostPanelRow from '../post-panel-row';\nimport { useAuthorsQuery } from './hook';\n\nfunction PostAuthorToggle( { isOpen, onClick } ) {\n\tconst { postAuthor } = useAuthorsQuery();\n\tconst authorName =\n\t\tdecodeEntities( postAuthor?.name ) || __( '(No author)' );\n\treturn (\n\t\t<Button\n\t\t\tsize=\"compact\"\n\t\t\tclassName=\"editor-post-author__panel-toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-label={\n\t\t\t\t// translators: %s: Author name.\n\t\t\t\tsprintf( __( 'Change author: %s' ), authorName )\n\t\t\t}\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ authorName }\n\t\t</Button>\n\t);\n}\n\n/**\n * Renders the Post Author Panel component.\n *\n * @return {Component} The component to be rendered.\n */\nexport function PostAuthor() {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\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\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\treturn (\n\t\t<PostAuthorCheck>\n\t\t\t<PostPanelRow label={ __( 'Author' ) } ref={ setPopoverAnchor }>\n\t\t\t\t<Dropdown\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tcontentClassName=\"editor-post-author__panel-dialog\"\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<PostAuthorToggle\n\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<div className=\"editor-post-author\">\n\t\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\t\ttitle={ __( 'Author' ) }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PostAuthorForm onClose={ onClose } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostAuthorCheck>\n\t);\n}\n\nexport default PostAuthor;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,MAAA,GAAAD,sBAAA,CAAAN,OAAA;AACA,IAAAQ,aAAA,GAAAF,sBAAA,CAAAN,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AAAyC,IAAAU,WAAA,GAAAV,OAAA;AAfzC;AACA;AACA;;AAOA;AACA;AACA;;AAMA,SAASW,gBAAgBA,CAAE;EAAEC,MAAM;EAAEC;AAAQ,CAAC,EAAG;EAChD,MAAM;IAAEC;EAAW,CAAC,GAAG,IAAAC,qBAAe,EAAC,CAAC;EACxC,MAAMC,UAAU,GACf,IAAAC,4BAAc,EAAEH,UAAU,EAAEI,IAAK,CAAC,IAAI,IAAAC,QAAE,EAAE,aAAc,CAAC;EAC1D,oBACC,IAAAT,WAAA,CAAAU,GAAA,EAACnB,WAAA,CAAAoB,MAAM;IACNC,IAAI,EAAC,SAAS;IACdC,SAAS,EAAC,kCAAkC;IAC5CC,OAAO,EAAC,UAAU;IAClB,iBAAgBZ,MAAQ;IACxB;IACC;IACA,IAAAa,aAAO,EAAE,IAAAN,QAAE,EAAE,mBAAoB,CAAC,EAAEH,UAAW,CAC/C;IACDH,OAAO,EAAGA,OAAS;IAAAa,QAAA,EAEjBV;EAAU,CACL,CAAC;AAEX;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASW,UAAUA,CAAA,EAAG;EAC5B;EACA;EACA,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,IAAK,CAAC;EAC5D;EACA,MAAMC,YAAY,GAAG,IAAAC,gBAAO,EAC3B,OAAQ;IACP;IACA;IACAC,MAAM,EAAEL,aAAa;IACrBM,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC,CAAE,EACH,CAAER,aAAa,CAChB,CAAC;EACD,oBACC,IAAAlB,WAAA,CAAAU,GAAA,EAACf,MAAA,CAAAgC,OAAe;IAAAX,QAAA,eACf,IAAAhB,WAAA,CAAAU,GAAA,EAACZ,aAAA,CAAA6B,OAAY;MAACC,KAAK,EAAG,IAAAnB,QAAE,EAAE,QAAS,CAAG;MAACoB,GAAG,EAAGV,gBAAkB;MAAAH,QAAA,eAC9D,IAAAhB,WAAA,CAAAU,GAAA,EAACnB,WAAA,CAAAuC,QAAQ;QACRT,YAAY,EAAGA,YAAc;QAC7BU,gBAAgB,EAAC,kCAAkC;QACnDC,YAAY;QACZC,YAAY,EAAGA,CAAE;UAAE/B,MAAM;UAAEgC;QAAS,CAAC,kBACpC,IAAAlC,WAAA,CAAAU,GAAA,EAACT,gBAAgB;UAChBC,MAAM,EAAGA,MAAQ;UACjBC,OAAO,EAAG+B;QAAU,CACpB,CACC;QACHC,aAAa,EAAGA,CAAE;UAAEC;QAAQ,CAAC,kBAC5B,IAAApC,WAAA,CAAAqC,IAAA;UAAKxB,SAAS,EAAC,oBAAoB;UAAAG,QAAA,gBAClC,IAAAhB,WAAA,CAAAU,GAAA,EAAChB,YAAA,CAAA4C,oCAAsB;YACtBC,KAAK,EAAG,IAAA9B,QAAE,EAAE,QAAS,CAAG;YACxB2B,OAAO,EAAGA;UAAS,CACnB,CAAC,eACF,IAAApC,WAAA,CAAAU,GAAA,EAACb,MAAA,CAAA8B,OAAc;YAACS,OAAO,EAAGA;UAAS,CAAE,CAAC;QAAA,CAClC;MACH,CACH;IAAC,CACW;EAAC,CACC,CAAC;AAEpB;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAd,OAAA,GAEcV,UAAU","ignoreList":[]}
@@ -67,8 +67,7 @@ function PostContentInformation() {
67
67
  const wordsCountText = (0, _i18n.sprintf)(
68
68
  // translators: %s: the number of words in the post.
69
69
  (0, _i18n._n)('%s word', '%s words', wordsCounted), wordsCounted.toLocaleString());
70
- const minutesText = readingTime <= 1 ? (0, _i18n.__)('1 minute') : (0, _i18n.sprintf)(
71
- // translators: %s: the number of minutes to read the post.
70
+ const minutesText = readingTime <= 1 ? (0, _i18n.__)('1 minute') : (0, _i18n.sprintf)( /* translators: %s: the number of minutes to read the post. */
72
71
  (0, _i18n._n)('%s minute', '%s minutes', readingTime), readingTime.toLocaleString());
73
72
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
74
73
  className: "editor-post-content-information",
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_data","_i18n","_wordcount","_element","_coreData","_store","_constants","_jsxRuntime","AVERAGE_READING_RATE","PostContentInformation","postContent","useSelect","select","getEditedPostAttribute","getCurrentPostType","getCurrentPostId","editorStore","canUser","coreStore","getEntityRecord","siteSettings","kind","name","undefined","postType","_id","isPostsPage","page_for_posts","showPostContentInfo","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","includes","wordCountType","_x","wordsCounted","useMemo","wordCount","readingTime","Math","round","wordsCountText","sprintf","_n","toLocaleString","minutesText","__","jsx","className","children","__experimentalText"],"sources":["@wordpress/editor/src/components/post-content-information/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalText as Text } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x, _n, sprintf } from '@wordpress/i18n';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../store/constants';\n\n// Taken from packages/editor/src/components/time-to-read/index.js.\nconst AVERAGE_READING_RATE = 189;\n\n// This component renders the wordcount and reading time for the post.\nexport default function PostContentInformation() {\n\tconst { postContent } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getCurrentPostType, getCurrentPostId } =\n\t\t\tselect( editorStore );\n\t\tconst { canUser } = select( coreStore );\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst siteSettings = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} )\n\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst postType = getCurrentPostType();\n\t\tconst _id = getCurrentPostId();\n\t\tconst isPostsPage = +_id === siteSettings?.page_for_posts;\n\t\tconst showPostContentInfo =\n\t\t\t! isPostsPage &&\n\t\t\t! [ TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE ].includes(\n\t\t\t\tpostType\n\t\t\t);\n\t\treturn {\n\t\t\tpostContent:\n\t\t\t\tshowPostContentInfo && getEditedPostAttribute( 'content' ),\n\t\t};\n\t}, [] );\n\n\t/*\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\tconst wordsCounted = useMemo(\n\t\t() => ( postContent ? wordCount( postContent, wordCountType ) : 0 ),\n\t\t[ postContent, wordCountType ]\n\t);\n\tif ( ! wordsCounted ) {\n\t\treturn null;\n\t}\n\tconst readingTime = Math.round( wordsCounted / AVERAGE_READING_RATE );\n\tconst wordsCountText = sprintf(\n\t\t// translators: %s: the number of words in the post.\n\t\t_n( '%s word', '%s words', wordsCounted ),\n\t\twordsCounted.toLocaleString()\n\t);\n\tconst minutesText =\n\t\treadingTime <= 1\n\t\t\t? __( '1 minute' )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %s: the number of minutes to read the post.\n\t\t\t\t\t_n( '%s minute', '%s minutes', readingTime ),\n\t\t\t\t\treadingTime.toLocaleString()\n\t\t\t );\n\treturn (\n\t\t<div className=\"editor-post-content-information\">\n\t\t\t<Text>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t/* translators: 1: How many words a post has. 2: the number of minutes to read the post (e.g. 130 words, 2 minutes read time.) */\n\t\t\t\t\t__( '%1$s, %2$s read time.' ),\n\t\t\t\t\twordsCountText,\n\t\t\t\t\tminutesText\n\t\t\t\t) }\n\t\t\t</Text>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AAG+B,IAAAQ,WAAA,GAAAR,OAAA;AAjB/B;AACA;AACA;;AAQA;AACA;AACA;;AAOA;AACA,MAAMS,oBAAoB,GAAG,GAAG;;AAEhC;AACe,SAASC,sBAAsBA,CAAA,EAAG;EAChD,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAChD,MAAM;MAAEC,sBAAsB;MAAEC,kBAAkB;MAAEC;IAAiB,CAAC,GACrEH,MAAM,CAAEI,YAAY,CAAC;IACtB,MAAM;MAAEC;IAAQ,CAAC,GAAGL,MAAM,CAAEM,eAAU,CAAC;IACvC,MAAM;MAAEC;IAAgB,CAAC,GAAGP,MAAM,CAAEM,eAAU,CAAC;IAC/C,MAAME,YAAY,GAAGH,OAAO,CAAE,MAAM,EAAE;MACrCI,IAAI,EAAE,MAAM;MACZC,IAAI,EAAE;IACP,CAAE,CAAC,GACAH,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC,GACjCI,SAAS;IACZ,MAAMC,QAAQ,GAAGV,kBAAkB,CAAC,CAAC;IACrC,MAAMW,GAAG,GAAGV,gBAAgB,CAAC,CAAC;IAC9B,MAAMW,WAAW,GAAG,CAACD,GAAG,KAAKL,YAAY,EAAEO,cAAc;IACzD,MAAMC,mBAAmB,GACxB,CAAEF,WAAW,IACb,CAAE,CAAEG,6BAAkB,EAAEC,kCAAuB,CAAE,CAACC,QAAQ,CACzDP,QACD,CAAC;IACF,OAAO;MACNd,WAAW,EACVkB,mBAAmB,IAAIf,sBAAsB,CAAE,SAAU;IAC3D,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;;EAEP;AACD;AACA;AACA;AACA;EACC,MAAMmB,aAAa,GAAG,IAAAC,QAAE,EAAE,OAAO,EAAE,oCAAqC,CAAC;EACzE,MAAMC,YAAY,GAAG,IAAAC,gBAAO,EAC3B,MAAQzB,WAAW,GAAG,IAAA0B,gBAAS,EAAE1B,WAAW,EAAEsB,aAAc,CAAC,GAAG,CAAG,EACnE,CAAEtB,WAAW,EAAEsB,aAAa,CAC7B,CAAC;EACD,IAAK,CAAEE,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EACA,MAAMG,WAAW,GAAGC,IAAI,CAACC,KAAK,CAAEL,YAAY,GAAG1B,oBAAqB,CAAC;EACrE,MAAMgC,cAAc,GAAG,IAAAC,aAAO;EAC7B;EACA,IAAAC,QAAE,EAAE,SAAS,EAAE,UAAU,EAAER,YAAa,CAAC,EACzCA,YAAY,CAACS,cAAc,CAAC,CAC7B,CAAC;EACD,MAAMC,WAAW,GAChBP,WAAW,IAAI,CAAC,GACb,IAAAQ,QAAE,EAAE,UAAW,CAAC,GAChB,IAAAJ,aAAO;EACP;EACA,IAAAC,QAAE,EAAE,WAAW,EAAE,YAAY,EAAEL,WAAY,CAAC,EAC5CA,WAAW,CAACM,cAAc,CAAC,CAC3B,CAAC;EACL,oBACC,IAAApC,WAAA,CAAAuC,GAAA;IAAKC,SAAS,EAAC,iCAAiC;IAAAC,QAAA,eAC/C,IAAAzC,WAAA,CAAAuC,GAAA,EAAChD,WAAA,CAAAmD,kBAAI;MAAAD,QAAA,EACF,IAAAP,aAAO,GACR;MACA,IAAAI,QAAE,EAAE,uBAAwB,CAAC,EAC7BL,cAAc,EACdI,WACD;IAAC,CACI;EAAC,CACH,CAAC;AAER","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_data","_i18n","_wordcount","_element","_coreData","_store","_constants","_jsxRuntime","AVERAGE_READING_RATE","PostContentInformation","postContent","useSelect","select","getEditedPostAttribute","getCurrentPostType","getCurrentPostId","editorStore","canUser","coreStore","getEntityRecord","siteSettings","kind","name","undefined","postType","_id","isPostsPage","page_for_posts","showPostContentInfo","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","includes","wordCountType","_x","wordsCounted","useMemo","wordCount","readingTime","Math","round","wordsCountText","sprintf","_n","toLocaleString","minutesText","__","jsx","className","children","__experimentalText"],"sources":["@wordpress/editor/src/components/post-content-information/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalText as Text } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x, _n, sprintf } from '@wordpress/i18n';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../store/constants';\n\n// Taken from packages/editor/src/components/time-to-read/index.js.\nconst AVERAGE_READING_RATE = 189;\n\n// This component renders the wordcount and reading time for the post.\nexport default function PostContentInformation() {\n\tconst { postContent } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getCurrentPostType, getCurrentPostId } =\n\t\t\tselect( editorStore );\n\t\tconst { canUser } = select( coreStore );\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst siteSettings = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} )\n\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst postType = getCurrentPostType();\n\t\tconst _id = getCurrentPostId();\n\t\tconst isPostsPage = +_id === siteSettings?.page_for_posts;\n\t\tconst showPostContentInfo =\n\t\t\t! isPostsPage &&\n\t\t\t! [ TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE ].includes(\n\t\t\t\tpostType\n\t\t\t);\n\t\treturn {\n\t\t\tpostContent:\n\t\t\t\tshowPostContentInfo && getEditedPostAttribute( 'content' ),\n\t\t};\n\t}, [] );\n\n\t/*\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\tconst wordsCounted = useMemo(\n\t\t() => ( postContent ? wordCount( postContent, wordCountType ) : 0 ),\n\t\t[ postContent, wordCountType ]\n\t);\n\tif ( ! wordsCounted ) {\n\t\treturn null;\n\t}\n\tconst readingTime = Math.round( wordsCounted / AVERAGE_READING_RATE );\n\tconst wordsCountText = sprintf(\n\t\t// translators: %s: the number of words in the post.\n\t\t_n( '%s word', '%s words', wordsCounted ),\n\t\twordsCounted.toLocaleString()\n\t);\n\tconst minutesText =\n\t\treadingTime <= 1\n\t\t\t? __( '1 minute' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: %s: the number of minutes to read the post. */\n\t\t\t\t\t_n( '%s minute', '%s minutes', readingTime ),\n\t\t\t\t\treadingTime.toLocaleString()\n\t\t\t );\n\treturn (\n\t\t<div className=\"editor-post-content-information\">\n\t\t\t<Text>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t/* translators: 1: How many words a post has. 2: the number of minutes to read the post (e.g. 130 words, 2 minutes read time.) */\n\t\t\t\t\t__( '%1$s, %2$s read time.' ),\n\t\t\t\t\twordsCountText,\n\t\t\t\t\tminutesText\n\t\t\t\t) }\n\t\t\t</Text>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AAG+B,IAAAQ,WAAA,GAAAR,OAAA;AAjB/B;AACA;AACA;;AAQA;AACA;AACA;;AAOA;AACA,MAAMS,oBAAoB,GAAG,GAAG;;AAEhC;AACe,SAASC,sBAAsBA,CAAA,EAAG;EAChD,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAChD,MAAM;MAAEC,sBAAsB;MAAEC,kBAAkB;MAAEC;IAAiB,CAAC,GACrEH,MAAM,CAAEI,YAAY,CAAC;IACtB,MAAM;MAAEC;IAAQ,CAAC,GAAGL,MAAM,CAAEM,eAAU,CAAC;IACvC,MAAM;MAAEC;IAAgB,CAAC,GAAGP,MAAM,CAAEM,eAAU,CAAC;IAC/C,MAAME,YAAY,GAAGH,OAAO,CAAE,MAAM,EAAE;MACrCI,IAAI,EAAE,MAAM;MACZC,IAAI,EAAE;IACP,CAAE,CAAC,GACAH,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC,GACjCI,SAAS;IACZ,MAAMC,QAAQ,GAAGV,kBAAkB,CAAC,CAAC;IACrC,MAAMW,GAAG,GAAGV,gBAAgB,CAAC,CAAC;IAC9B,MAAMW,WAAW,GAAG,CAACD,GAAG,KAAKL,YAAY,EAAEO,cAAc;IACzD,MAAMC,mBAAmB,GACxB,CAAEF,WAAW,IACb,CAAE,CAAEG,6BAAkB,EAAEC,kCAAuB,CAAE,CAACC,QAAQ,CACzDP,QACD,CAAC;IACF,OAAO;MACNd,WAAW,EACVkB,mBAAmB,IAAIf,sBAAsB,CAAE,SAAU;IAC3D,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;;EAEP;AACD;AACA;AACA;AACA;EACC,MAAMmB,aAAa,GAAG,IAAAC,QAAE,EAAE,OAAO,EAAE,oCAAqC,CAAC;EACzE,MAAMC,YAAY,GAAG,IAAAC,gBAAO,EAC3B,MAAQzB,WAAW,GAAG,IAAA0B,gBAAS,EAAE1B,WAAW,EAAEsB,aAAc,CAAC,GAAG,CAAG,EACnE,CAAEtB,WAAW,EAAEsB,aAAa,CAC7B,CAAC;EACD,IAAK,CAAEE,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EACA,MAAMG,WAAW,GAAGC,IAAI,CAACC,KAAK,CAAEL,YAAY,GAAG1B,oBAAqB,CAAC;EACrE,MAAMgC,cAAc,GAAG,IAAAC,aAAO;EAC7B;EACA,IAAAC,QAAE,EAAE,SAAS,EAAE,UAAU,EAAER,YAAa,CAAC,EACzCA,YAAY,CAACS,cAAc,CAAC,CAC7B,CAAC;EACD,MAAMC,WAAW,GAChBP,WAAW,IAAI,CAAC,GACb,IAAAQ,QAAE,EAAE,UAAW,CAAC,GAChB,IAAAJ,aAAO,GACP;EACA,IAAAC,QAAE,EAAE,WAAW,EAAE,YAAY,EAAEL,WAAY,CAAC,EAC5CA,WAAW,CAACM,cAAc,CAAC,CAC3B,CAAC;EACL,oBACC,IAAApC,WAAA,CAAAuC,GAAA;IAAKC,SAAS,EAAC,iCAAiC;IAAAC,QAAA,eAC/C,IAAAzC,WAAA,CAAAuC,GAAA,EAAChD,WAAA,CAAAmD,kBAAI;MAAAD,QAAA,EACF,IAAAP,aAAO,GACR;MACA,IAAAI,QAAE,EAAE,uBAAwB,CAAC,EAC7BL,cAAc,EACdI,WACD;IAAC,CACI;EAAC,CACH,CAAC;AAER","ignoreList":[]}
@@ -55,7 +55,7 @@ function PostLastRevision() {
55
55
  className: "editor-post-last-revision__title",
56
56
  icon: _icons.backup,
57
57
  iconPosition: "right",
58
- text: (0, _i18n.sprintf)( /* translators: %s: number of revisions */
58
+ text: (0, _i18n.sprintf)( /* translators: %s: number of revisions. */
59
59
  (0, _i18n.__)('Revisions (%s)'), revisionsCount)
60
60
  })
61
61
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_data","_icons","_url","_check","_interopRequireDefault","_postPanelRow","_store","_jsxRuntime","usePostLastRevisionInfo","useSelect","select","getCurrentPostLastRevisionId","getCurrentPostRevisionsCount","editorStore","lastRevisionId","revisionsCount","PostLastRevision","jsx","default","children","Button","__next40pxDefaultSize","href","addQueryArgs","revision","className","icon","backup","iconPosition","text","sprintf","__","PrivatePostLastRevision","label","variant","size","_default","exports"],"sources":["@wordpress/editor/src/components/post-last-revision/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport PostLastRevisionCheck from './check';\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\n\nfunction usePostLastRevisionInfo() {\n\treturn useSelect( ( select ) => {\n\t\tconst { getCurrentPostLastRevisionId, getCurrentPostRevisionsCount } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tlastRevisionId: getCurrentPostLastRevisionId(),\n\t\t\trevisionsCount: getCurrentPostRevisionsCount(),\n\t\t};\n\t}, [] );\n}\n\n/**\n * Renders the component for displaying the last revision of a post.\n *\n * @return {Component} The component to be rendered.\n */\nfunction PostLastRevision() {\n\tconst { lastRevisionId, revisionsCount } = usePostLastRevisionInfo();\n\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\thref={ addQueryArgs( 'revision.php', {\n\t\t\t\t\trevision: lastRevisionId,\n\t\t\t\t} ) }\n\t\t\t\tclassName=\"editor-post-last-revision__title\"\n\t\t\t\ticon={ backup }\n\t\t\t\ticonPosition=\"right\"\n\t\t\t\ttext={ sprintf(\n\t\t\t\t\t/* translators: %s: number of revisions */\n\t\t\t\t\t__( 'Revisions (%s)' ),\n\t\t\t\t\trevisionsCount\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PostLastRevisionCheck>\n\t);\n}\n\nexport function PrivatePostLastRevision() {\n\tconst { lastRevisionId, revisionsCount } = usePostLastRevisionInfo();\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<PostPanelRow label={ __( 'Revisions' ) }>\n\t\t\t\t<Button\n\t\t\t\t\thref={ addQueryArgs( 'revision.php', {\n\t\t\t\t\t\trevision: lastRevisionId,\n\t\t\t\t\t} ) }\n\t\t\t\t\tclassName=\"editor-private-post-last-revision__button\"\n\t\t\t\t\ttext={ revisionsCount }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostLastRevisionCheck>\n\t);\n}\n\nexport default PostLastRevision;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,IAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,aAAA,GAAAD,sBAAA,CAAAN,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAAmD,IAAAS,WAAA,GAAAT,OAAA;AAdnD;AACA;AACA;;AAOA;AACA;AACA;;AAKA,SAASU,uBAAuBA,CAAA,EAAG;EAClC,OAAO,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC/B,MAAM;MAAEC,4BAA4B;MAAEC;IAA6B,CAAC,GACnEF,MAAM,CAAEG,YAAY,CAAC;IACtB,OAAO;MACNC,cAAc,EAAEH,4BAA4B,CAAC,CAAC;MAC9CI,cAAc,EAAEH,4BAA4B,CAAC;IAC9C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASI,gBAAgBA,CAAA,EAAG;EAC3B,MAAM;IAAEF,cAAc;IAAEC;EAAe,CAAC,GAAGP,uBAAuB,CAAC,CAAC;EAEpE,oBACC,IAAAD,WAAA,CAAAU,GAAA,EAACd,MAAA,CAAAe,OAAqB;IAAAC,QAAA,eACrB,IAAAZ,WAAA,CAAAU,GAAA,EAAClB,WAAA,CAAAqB,MAAM;MACNC,qBAAqB;MACrBC,IAAI,EAAG,IAAAC,iBAAY,EAAE,cAAc,EAAE;QACpCC,QAAQ,EAAEV;MACX,CAAE,CAAG;MACLW,SAAS,EAAC,kCAAkC;MAC5CC,IAAI,EAAGC,aAAQ;MACfC,YAAY,EAAC,OAAO;MACpBC,IAAI,EAAG,IAAAC,aAAO,GACb;MACA,IAAAC,QAAE,EAAE,gBAAiB,CAAC,EACtBhB,cACD;IAAG,CACH;EAAC,CACoB,CAAC;AAE1B;AAEO,SAASiB,uBAAuBA,CAAA,EAAG;EACzC,MAAM;IAAElB,cAAc;IAAEC;EAAe,CAAC,GAAGP,uBAAuB,CAAC,CAAC;EACpE,oBACC,IAAAD,WAAA,CAAAU,GAAA,EAACd,MAAA,CAAAe,OAAqB;IAAAC,QAAA,eACrB,IAAAZ,WAAA,CAAAU,GAAA,EAACZ,aAAA,CAAAa,OAAY;MAACe,KAAK,EAAG,IAAAF,QAAE,EAAE,WAAY,CAAG;MAAAZ,QAAA,eACxC,IAAAZ,WAAA,CAAAU,GAAA,EAAClB,WAAA,CAAAqB,MAAM;QACNE,IAAI,EAAG,IAAAC,iBAAY,EAAE,cAAc,EAAE;UACpCC,QAAQ,EAAEV;QACX,CAAE,CAAG;QACLW,SAAS,EAAC,2CAA2C;QACrDI,IAAI,EAAGd,cAAgB;QACvBmB,OAAO,EAAC,UAAU;QAClBC,IAAI,EAAC;MAAS,CACd;IAAC,CACW;EAAC,CACO,CAAC;AAE1B;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAnB,OAAA,GAEcF,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_data","_icons","_url","_check","_interopRequireDefault","_postPanelRow","_store","_jsxRuntime","usePostLastRevisionInfo","useSelect","select","getCurrentPostLastRevisionId","getCurrentPostRevisionsCount","editorStore","lastRevisionId","revisionsCount","PostLastRevision","jsx","default","children","Button","__next40pxDefaultSize","href","addQueryArgs","revision","className","icon","backup","iconPosition","text","sprintf","__","PrivatePostLastRevision","label","variant","size","_default","exports"],"sources":["@wordpress/editor/src/components/post-last-revision/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport PostLastRevisionCheck from './check';\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\n\nfunction usePostLastRevisionInfo() {\n\treturn useSelect( ( select ) => {\n\t\tconst { getCurrentPostLastRevisionId, getCurrentPostRevisionsCount } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tlastRevisionId: getCurrentPostLastRevisionId(),\n\t\t\trevisionsCount: getCurrentPostRevisionsCount(),\n\t\t};\n\t}, [] );\n}\n\n/**\n * Renders the component for displaying the last revision of a post.\n *\n * @return {Component} The component to be rendered.\n */\nfunction PostLastRevision() {\n\tconst { lastRevisionId, revisionsCount } = usePostLastRevisionInfo();\n\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\thref={ addQueryArgs( 'revision.php', {\n\t\t\t\t\trevision: lastRevisionId,\n\t\t\t\t} ) }\n\t\t\t\tclassName=\"editor-post-last-revision__title\"\n\t\t\t\ticon={ backup }\n\t\t\t\ticonPosition=\"right\"\n\t\t\t\ttext={ sprintf(\n\t\t\t\t\t/* translators: %s: number of revisions. */\n\t\t\t\t\t__( 'Revisions (%s)' ),\n\t\t\t\t\trevisionsCount\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PostLastRevisionCheck>\n\t);\n}\n\nexport function PrivatePostLastRevision() {\n\tconst { lastRevisionId, revisionsCount } = usePostLastRevisionInfo();\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<PostPanelRow label={ __( 'Revisions' ) }>\n\t\t\t\t<Button\n\t\t\t\t\thref={ addQueryArgs( 'revision.php', {\n\t\t\t\t\t\trevision: lastRevisionId,\n\t\t\t\t\t} ) }\n\t\t\t\t\tclassName=\"editor-private-post-last-revision__button\"\n\t\t\t\t\ttext={ revisionsCount }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostLastRevisionCheck>\n\t);\n}\n\nexport default PostLastRevision;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,IAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,aAAA,GAAAD,sBAAA,CAAAN,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAAmD,IAAAS,WAAA,GAAAT,OAAA;AAdnD;AACA;AACA;;AAOA;AACA;AACA;;AAKA,SAASU,uBAAuBA,CAAA,EAAG;EAClC,OAAO,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC/B,MAAM;MAAEC,4BAA4B;MAAEC;IAA6B,CAAC,GACnEF,MAAM,CAAEG,YAAY,CAAC;IACtB,OAAO;MACNC,cAAc,EAAEH,4BAA4B,CAAC,CAAC;MAC9CI,cAAc,EAAEH,4BAA4B,CAAC;IAC9C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASI,gBAAgBA,CAAA,EAAG;EAC3B,MAAM;IAAEF,cAAc;IAAEC;EAAe,CAAC,GAAGP,uBAAuB,CAAC,CAAC;EAEpE,oBACC,IAAAD,WAAA,CAAAU,GAAA,EAACd,MAAA,CAAAe,OAAqB;IAAAC,QAAA,eACrB,IAAAZ,WAAA,CAAAU,GAAA,EAAClB,WAAA,CAAAqB,MAAM;MACNC,qBAAqB;MACrBC,IAAI,EAAG,IAAAC,iBAAY,EAAE,cAAc,EAAE;QACpCC,QAAQ,EAAEV;MACX,CAAE,CAAG;MACLW,SAAS,EAAC,kCAAkC;MAC5CC,IAAI,EAAGC,aAAQ;MACfC,YAAY,EAAC,OAAO;MACpBC,IAAI,EAAG,IAAAC,aAAO,GACb;MACA,IAAAC,QAAE,EAAE,gBAAiB,CAAC,EACtBhB,cACD;IAAG,CACH;EAAC,CACoB,CAAC;AAE1B;AAEO,SAASiB,uBAAuBA,CAAA,EAAG;EACzC,MAAM;IAAElB,cAAc;IAAEC;EAAe,CAAC,GAAGP,uBAAuB,CAAC,CAAC;EACpE,oBACC,IAAAD,WAAA,CAAAU,GAAA,EAACd,MAAA,CAAAe,OAAqB;IAAAC,QAAA,eACrB,IAAAZ,WAAA,CAAAU,GAAA,EAACZ,aAAA,CAAAa,OAAY;MAACe,KAAK,EAAG,IAAAF,QAAE,EAAE,WAAY,CAAG;MAAAZ,QAAA,eACxC,IAAAZ,WAAA,CAAAU,GAAA,EAAClB,WAAA,CAAAqB,MAAM;QACNE,IAAI,EAAG,IAAAC,iBAAY,EAAE,cAAc,EAAE;UACpCC,QAAQ,EAAEV;QACX,CAAE,CAAG;QACLW,SAAS,EAAC,2CAA2C;QACrDI,IAAI,EAAGd,cAAgB;QACvBmB,OAAO,EAAC,UAAU;QAClBC,IAAI,EAAC;MAAS,CACd;IAAC,CACW;EAAC,CACO,CAAC;AAE1B;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAnB,OAAA,GAEcF,gBAAgB","ignoreList":[]}
@@ -56,7 +56,7 @@ function getFullPostScheduleLabel(dateAttribute) {
56
56
  const date = (0, _date.getDate)(dateAttribute);
57
57
  const timezoneAbbreviation = getTimezoneAbbreviation();
58
58
  const formattedDate = (0, _date.dateI18n)(
59
- // translators: If using a space between 'g:i' and 'a', use a non-breaking space.
59
+ // translators: Use a non-breaking space between 'g:i' and 'a' if appropriate.
60
60
  (0, _i18n._x)('F j, Y g:i\xa0a', 'post schedule full date format'), date);
61
61
  return (0, _i18n.isRTL)() ? `${timezoneAbbreviation} ${formattedDate}` : `${formattedDate} ${timezoneAbbreviation}`;
62
62
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_date","_data","_store","PostScheduleLabel","props","usePostScheduleLabel","full","date","isFloating","useSelect","select","editorStore","getEditedPostAttribute","isEditedPostDateFloating","getFullPostScheduleLabel","getPostScheduleLabel","dateAttribute","getDate","timezoneAbbreviation","getTimezoneAbbreviation","formattedDate","dateI18n","_x","isRTL","now","Date","__","isTimezoneSameAsSiteTimezone","isSameDay","sprintf","tomorrow","setDate","getFullYear","timezone","getSettings","abbr","isNaN","Number","symbol","offset","offsetFormatted","siteOffset","dateOffset","getTimezoneOffset","left","right","getMonth"],"sources":["@wordpress/editor/src/components/post-schedule/label.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf, isRTL } from '@wordpress/i18n';\nimport { getSettings, getDate, dateI18n } from '@wordpress/date';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the PostScheduleLabel component.\n *\n * @param {Object} props Props.\n *\n * @return {Component} The component to be rendered.\n */\nexport default function PostScheduleLabel( props ) {\n\treturn usePostScheduleLabel( props );\n}\n\n/**\n * Custom hook to get the label for post schedule.\n *\n * @param {Object} options Options for the hook.\n * @param {boolean} options.full Whether to get the full label or not. Default is false.\n *\n * @return {string} The label for post schedule.\n */\nexport function usePostScheduleLabel( { full = false } = {} ) {\n\tconst { date, isFloating } = useSelect(\n\t\t( select ) => ( {\n\t\t\tdate: select( editorStore ).getEditedPostAttribute( 'date' ),\n\t\t\tisFloating: select( editorStore ).isEditedPostDateFloating(),\n\t\t} ),\n\t\t[]\n\t);\n\n\treturn full\n\t\t? getFullPostScheduleLabel( date )\n\t\t: getPostScheduleLabel( date, { isFloating } );\n}\n\nexport function getFullPostScheduleLabel( dateAttribute ) {\n\tconst date = getDate( dateAttribute );\n\n\tconst timezoneAbbreviation = getTimezoneAbbreviation();\n\tconst formattedDate = dateI18n(\n\t\t// translators: If using a space between 'g:i' and 'a', use a non-breaking space.\n\t\t_x( 'F j, Y g:i\\xa0a', 'post schedule full date format' ),\n\t\tdate\n\t);\n\treturn isRTL()\n\t\t? `${ timezoneAbbreviation } ${ formattedDate }`\n\t\t: `${ formattedDate } ${ timezoneAbbreviation }`;\n}\n\nexport function getPostScheduleLabel(\n\tdateAttribute,\n\t{ isFloating = false, now = new Date() } = {}\n) {\n\tif ( ! dateAttribute || isFloating ) {\n\t\treturn __( 'Immediately' );\n\t}\n\n\t// If the user timezone does not equal the site timezone then using words\n\t// like 'tomorrow' is confusing, so show the full date.\n\tif ( ! isTimezoneSameAsSiteTimezone( now ) ) {\n\t\treturn getFullPostScheduleLabel( dateAttribute );\n\t}\n\n\tconst date = getDate( dateAttribute );\n\n\tif ( isSameDay( date, now ) ) {\n\t\treturn sprintf(\n\t\t\t// translators: %s: Time of day the post is scheduled for.\n\t\t\t__( 'Today at %s' ),\n\t\t\t// translators: If using a space between 'g:i' and 'a', use a non-breaking space.\n\t\t\tdateI18n( _x( 'g:i\\xa0a', 'post schedule time format' ), date )\n\t\t);\n\t}\n\n\tconst tomorrow = new Date( now );\n\ttomorrow.setDate( tomorrow.getDate() + 1 );\n\n\tif ( isSameDay( date, tomorrow ) ) {\n\t\treturn sprintf(\n\t\t\t// translators: %s: Time of day the post is scheduled for.\n\t\t\t__( 'Tomorrow at %s' ),\n\t\t\t// translators: If using a space between 'g:i' and 'a', use a non-breaking space.\n\t\t\tdateI18n( _x( 'g:i\\xa0a', 'post schedule time format' ), date )\n\t\t);\n\t}\n\n\tif ( date.getFullYear() === now.getFullYear() ) {\n\t\treturn dateI18n(\n\t\t\t// translators: If using a space between 'g:i' and 'a', use a non-breaking space.\n\t\t\t_x( 'F j g:i\\xa0a', 'post schedule date format without year' ),\n\t\t\tdate\n\t\t);\n\t}\n\n\treturn dateI18n(\n\t\t// translators: Use a non-breaking space between 'g:i' and 'a' if appropriate.\n\t\t_x( 'F j, Y g:i\\xa0a', 'post schedule full date format' ),\n\t\tdate\n\t);\n}\n\nfunction getTimezoneAbbreviation() {\n\tconst { timezone } = getSettings();\n\n\tif ( timezone.abbr && isNaN( Number( timezone.abbr ) ) ) {\n\t\treturn timezone.abbr;\n\t}\n\n\tconst symbol = timezone.offset < 0 ? '' : '+';\n\treturn `UTC${ symbol }${ timezone.offsetFormatted }`;\n}\n\nfunction isTimezoneSameAsSiteTimezone( date ) {\n\tconst { timezone } = getSettings();\n\n\tconst siteOffset = Number( timezone.offset );\n\tconst dateOffset = -1 * ( date.getTimezoneOffset() / 60 );\n\treturn siteOffset === dateOffset;\n}\n\nfunction isSameDay( left, right ) {\n\treturn (\n\t\tleft.getDate() === right.getDate() &&\n\t\tleft.getMonth() === right.getMonth() &&\n\t\tleft.getFullYear() === right.getFullYear()\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_date","_data","_store","PostScheduleLabel","props","usePostScheduleLabel","full","date","isFloating","useSelect","select","editorStore","getEditedPostAttribute","isEditedPostDateFloating","getFullPostScheduleLabel","getPostScheduleLabel","dateAttribute","getDate","timezoneAbbreviation","getTimezoneAbbreviation","formattedDate","dateI18n","_x","isRTL","now","Date","__","isTimezoneSameAsSiteTimezone","isSameDay","sprintf","tomorrow","setDate","getFullYear","timezone","getSettings","abbr","isNaN","Number","symbol","offset","offsetFormatted","siteOffset","dateOffset","getTimezoneOffset","left","right","getMonth"],"sources":["@wordpress/editor/src/components/post-schedule/label.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf, isRTL } from '@wordpress/i18n';\nimport { getSettings, getDate, dateI18n } from '@wordpress/date';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the PostScheduleLabel component.\n *\n * @param {Object} props Props.\n *\n * @return {Component} The component to be rendered.\n */\nexport default function PostScheduleLabel( props ) {\n\treturn usePostScheduleLabel( props );\n}\n\n/**\n * Custom hook to get the label for post schedule.\n *\n * @param {Object} options Options for the hook.\n * @param {boolean} options.full Whether to get the full label or not. Default is false.\n *\n * @return {string} The label for post schedule.\n */\nexport function usePostScheduleLabel( { full = false } = {} ) {\n\tconst { date, isFloating } = useSelect(\n\t\t( select ) => ( {\n\t\t\tdate: select( editorStore ).getEditedPostAttribute( 'date' ),\n\t\t\tisFloating: select( editorStore ).isEditedPostDateFloating(),\n\t\t} ),\n\t\t[]\n\t);\n\n\treturn full\n\t\t? getFullPostScheduleLabel( date )\n\t\t: getPostScheduleLabel( date, { isFloating } );\n}\n\nexport function getFullPostScheduleLabel( dateAttribute ) {\n\tconst date = getDate( dateAttribute );\n\n\tconst timezoneAbbreviation = getTimezoneAbbreviation();\n\tconst formattedDate = dateI18n(\n\t\t// translators: Use a non-breaking space between 'g:i' and 'a' if appropriate.\n\t\t_x( 'F j, Y g:i\\xa0a', 'post schedule full date format' ),\n\t\tdate\n\t);\n\treturn isRTL()\n\t\t? `${ timezoneAbbreviation } ${ formattedDate }`\n\t\t: `${ formattedDate } ${ timezoneAbbreviation }`;\n}\n\nexport function getPostScheduleLabel(\n\tdateAttribute,\n\t{ isFloating = false, now = new Date() } = {}\n) {\n\tif ( ! dateAttribute || isFloating ) {\n\t\treturn __( 'Immediately' );\n\t}\n\n\t// If the user timezone does not equal the site timezone then using words\n\t// like 'tomorrow' is confusing, so show the full date.\n\tif ( ! isTimezoneSameAsSiteTimezone( now ) ) {\n\t\treturn getFullPostScheduleLabel( dateAttribute );\n\t}\n\n\tconst date = getDate( dateAttribute );\n\n\tif ( isSameDay( date, now ) ) {\n\t\treturn sprintf(\n\t\t\t// translators: %s: Time of day the post is scheduled for.\n\t\t\t__( 'Today at %s' ),\n\t\t\t// translators: If using a space between 'g:i' and 'a', use a non-breaking space.\n\t\t\tdateI18n( _x( 'g:i\\xa0a', 'post schedule time format' ), date )\n\t\t);\n\t}\n\n\tconst tomorrow = new Date( now );\n\ttomorrow.setDate( tomorrow.getDate() + 1 );\n\n\tif ( isSameDay( date, tomorrow ) ) {\n\t\treturn sprintf(\n\t\t\t// translators: %s: Time of day the post is scheduled for.\n\t\t\t__( 'Tomorrow at %s' ),\n\t\t\t// translators: If using a space between 'g:i' and 'a', use a non-breaking space.\n\t\t\tdateI18n( _x( 'g:i\\xa0a', 'post schedule time format' ), date )\n\t\t);\n\t}\n\n\tif ( date.getFullYear() === now.getFullYear() ) {\n\t\treturn dateI18n(\n\t\t\t// translators: If using a space between 'g:i' and 'a', use a non-breaking space.\n\t\t\t_x( 'F j g:i\\xa0a', 'post schedule date format without year' ),\n\t\t\tdate\n\t\t);\n\t}\n\n\treturn dateI18n(\n\t\t// translators: Use a non-breaking space between 'g:i' and 'a' if appropriate.\n\t\t_x( 'F j, Y g:i\\xa0a', 'post schedule full date format' ),\n\t\tdate\n\t);\n}\n\nfunction getTimezoneAbbreviation() {\n\tconst { timezone } = getSettings();\n\n\tif ( timezone.abbr && isNaN( Number( timezone.abbr ) ) ) {\n\t\treturn timezone.abbr;\n\t}\n\n\tconst symbol = timezone.offset < 0 ? '' : '+';\n\treturn `UTC${ symbol }${ timezone.offsetFormatted }`;\n}\n\nfunction isTimezoneSameAsSiteTimezone( date ) {\n\tconst { timezone } = getSettings();\n\n\tconst siteOffset = Number( timezone.offset );\n\tconst dateOffset = -1 * ( date.getTimezoneOffset() / 60 );\n\treturn siteOffset === dateOffset;\n}\n\nfunction isSameDay( left, right ) {\n\treturn (\n\t\tleft.getDate() === right.getDate() &&\n\t\tleft.getMonth() === right.getMonth() &&\n\t\tleft.getFullYear() === right.getFullYear()\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -223,7 +223,15 @@ function FlatTermSelector({
223
223
  (0, _i18n._x)('%s removed', 'term'), singularName);
224
224
  const removeTermLabel = (0, _i18n.sprintf)( /* translators: %s: term name. */
225
225
  (0, _i18n._x)('Remove %s', 'term'), singularName);
226
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
226
+ const Wrapper = ({
227
+ children
228
+ }) => __nextHasNoMarginBottom ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
229
+ spacing: 4,
230
+ children: children
231
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_element.Fragment, {
232
+ children: children
233
+ });
234
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrapper, {
227
235
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FormTokenField, {
228
236
  __next40pxDefaultSize: true,
229
237
  value: values,
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_element","_components","_data","_deprecated","_interopRequireDefault","_coreData","_compose","_a11y","_notices","_store","_terms","_mostUsedTerms","_jsxRuntime","EMPTY_ARRAY","MAX_TERMS_SUGGESTIONS","DEFAULT_QUERY","per_page","_fields","context","isSameTermName","termA","termB","unescapeString","toLowerCase","termNamesToIds","names","terms","map","termName","find","term","name","id","filter","undefined","FlatTermSelector","slug","__nextHasNoMarginBottom","_taxonomy$labels$add_","_taxonomy$labels$sing2","values","setValues","useState","search","setSearch","debouncedSearch","useDebounce","deprecated","since","version","hint","termIds","taxonomy","hasAssignAction","hasCreateAction","hasResolvedTerms","useSelect","select","_post$_links","_post$_links2","getCurrentPost","getEditedPostAttribute","editorStore","getEntityRecords","getTaxonomy","hasFinishedResolution","coreStore","post","_taxonomy","_termIds","rest_base","query","include","join","_links","length","searchResults","useEffect","newValues","suggestions","useMemo","editPost","useDispatch","saveEntityRecord","createErrorNotice","noticesStore","findOrCreateTerm","newTerm","throwOnError","unescapeTerm","error","code","data","term_id","onUpdateTerms","newTermIds","onChange","termNames","availableTerms","uniqueTerms","reduce","acc","some","n","push","newTermNames","Promise","all","then","newTerms","newAvailableTerms","concat","catch","message","type","appendTerm","_taxonomy$labels$sing","includes","defaultName","__","termAddedMessage","sprintf","_x","labels","singular_name","speak","newTermLabel","add_new_item","singularName","termAddedLabel","termRemovedLabel","removeTermLabel","jsxs","Fragment","children","jsx","FormTokenField","__next40pxDefaultSize","value","onInputChange","maxSuggestions","label","messages","added","removed","remove","default","onSelect","_default","exports","withFilters"],"sources":["@wordpress/editor/src/components/post-taxonomies/flat-term-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { FormTokenField, withFilters } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDebounce } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unescapeString, unescapeTerm } from '../../utils/terms';\nimport MostUsedTerms from './most-used-terms';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array<any>}\n */\nconst EMPTY_ARRAY = [];\n\n/**\n * How the max suggestions limit was chosen:\n * - Matches the `per_page` range set by the REST API.\n * - Can't use \"unbound\" query. The `FormTokenField` needs a fixed number.\n * - Matches default for `FormTokenField`.\n */\nconst MAX_TERMS_SUGGESTIONS = 100;\nconst DEFAULT_QUERY = {\n\tper_page: MAX_TERMS_SUGGESTIONS,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nconst isSameTermName = ( termA, termB ) =>\n\tunescapeString( termA ).toLowerCase() ===\n\tunescapeString( termB ).toLowerCase();\n\nconst termNamesToIds = ( names, terms ) => {\n\treturn names\n\t\t.map(\n\t\t\t( termName ) =>\n\t\t\t\tterms.find( ( term ) => isSameTermName( term.name, termName ) )\n\t\t\t\t\t?.id\n\t\t)\n\t\t.filter( ( id ) => id !== undefined );\n};\n\n/**\n * Renders a flat term selector component.\n *\n * @param {Object} props The component props.\n * @param {string} props.slug The slug of the taxonomy.\n * @param {boolean} props.__nextHasNoMarginBottom Start opting into the new margin-free styles that will become the default in a future version, currently scheduled to be WordPress 7.0. (The prop can be safely removed once this happens.)\n *\n * @return {JSX.Element} The rendered flat term selector component.\n */\nexport function FlatTermSelector( { slug, __nextHasNoMarginBottom } ) {\n\tconst [ values, setValues ] = useState( [] );\n\tconst [ search, setSearch ] = useState( '' );\n\tconst debouncedSearch = useDebounce( setSearch, 500 );\n\n\tif ( ! __nextHasNoMarginBottom ) {\n\t\tdeprecated(\n\t\t\t'Bottom margin styles for wp.editor.PostTaxonomiesFlatTermSelector',\n\t\t\t{\n\t\t\t\tsince: '6.7',\n\t\t\t\tversion: '7.0',\n\t\t\t\thint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version.',\n\t\t\t}\n\t\t);\n\t}\n\n\tconst {\n\t\tterms,\n\t\ttermIds,\n\t\ttaxonomy,\n\t\thasAssignAction,\n\t\thasCreateAction,\n\t\thasResolvedTerms,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPost, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getEntityRecords, getTaxonomy, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst post = getCurrentPost();\n\t\t\tconst _taxonomy = getTaxonomy( slug );\n\t\t\tconst _termIds = _taxonomy\n\t\t\t\t? getEditedPostAttribute( _taxonomy.rest_base )\n\t\t\t\t: EMPTY_ARRAY;\n\n\t\t\tconst query = {\n\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\tinclude: _termIds?.join( ',' ),\n\t\t\t\tper_page: -1,\n\t\t\t};\n\n\t\t\treturn {\n\t\t\t\thasCreateAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-create-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\thasAssignAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-assign-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\ttaxonomy: _taxonomy,\n\t\t\t\ttermIds: _termIds,\n\t\t\t\tterms: _termIds?.length\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, query )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t\thasResolvedTerms: hasFinishedResolution( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\tslug,\n\t\t\t\t\tquery,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ slug ]\n\t);\n\n\tconst { searchResults } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\tsearchResults: !! search\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, {\n\t\t\t\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\t\t\t\tsearch,\n\t\t\t\t\t } )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t};\n\t\t},\n\t\t[ search, slug ]\n\t);\n\n\t// Update terms state only after the selectors are resolved.\n\t// We're using this to avoid terms temporarily disappearing on slow networks\n\t// while core data makes REST API requests.\n\tuseEffect( () => {\n\t\tif ( hasResolvedTerms ) {\n\t\t\tconst newValues = ( terms ?? [] ).map( ( term ) =>\n\t\t\t\tunescapeString( term.name )\n\t\t\t);\n\n\t\t\tsetValues( newValues );\n\t\t}\n\t}, [ terms, hasResolvedTerms ] );\n\n\tconst suggestions = useMemo( () => {\n\t\treturn ( searchResults ?? [] ).map( ( term ) =>\n\t\t\tunescapeString( term.name )\n\t\t);\n\t}, [ searchResults ] );\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tif ( ! hasAssignAction ) {\n\t\treturn null;\n\t}\n\n\tasync function findOrCreateTerm( term ) {\n\t\ttry {\n\t\t\tconst newTerm = await saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\t\t\treturn unescapeTerm( newTerm );\n\t\t} catch ( error ) {\n\t\t\tif ( error.code !== 'term_exists' ) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tid: error.data.term_id,\n\t\t\t\tname: term.name,\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction onUpdateTerms( newTermIds ) {\n\t\teditPost( { [ taxonomy.rest_base ]: newTermIds } );\n\t}\n\n\tfunction onChange( termNames ) {\n\t\tconst availableTerms = [\n\t\t\t...( terms ?? [] ),\n\t\t\t...( searchResults ?? [] ),\n\t\t];\n\t\tconst uniqueTerms = termNames.reduce( ( acc, name ) => {\n\t\t\tif (\n\t\t\t\t! acc.some( ( n ) => n.toLowerCase() === name.toLowerCase() )\n\t\t\t) {\n\t\t\t\tacc.push( name );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\t\tconst newTermNames = uniqueTerms.filter(\n\t\t\t( termName ) =>\n\t\t\t\t! availableTerms.find( ( term ) =>\n\t\t\t\t\tisSameTermName( term.name, termName )\n\t\t\t\t)\n\t\t);\n\n\t\t// Optimistically update term values.\n\t\t// The selector will always re-fetch terms later.\n\t\tsetValues( uniqueTerms );\n\n\t\tif ( newTermNames.length === 0 ) {\n\t\t\tonUpdateTerms( termNamesToIds( uniqueTerms, availableTerms ) );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! hasCreateAction ) {\n\t\t\treturn;\n\t\t}\n\n\t\tPromise.all(\n\t\t\tnewTermNames.map( ( termName ) =>\n\t\t\t\tfindOrCreateTerm( { name: termName } )\n\t\t\t)\n\t\t)\n\t\t\t.then( ( newTerms ) => {\n\t\t\t\tconst newAvailableTerms = availableTerms.concat( newTerms );\n\t\t\t\tonUpdateTerms(\n\t\t\t\t\ttermNamesToIds( uniqueTerms, newAvailableTerms )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t\t// In case of a failure, try assigning available terms.\n\t\t\t\t// This will invalidate the optimistic update.\n\t\t\t\tonUpdateTerms( termNamesToIds( uniqueTerms, availableTerms ) );\n\t\t\t} );\n\t}\n\n\tfunction appendTerm( newTerm ) {\n\t\tif ( termIds.includes( newTerm.id ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newTermIds = [ ...termIds, newTerm.id ];\n\t\tconst defaultName = slug === 'post_tag' ? __( 'Tag' ) : __( 'Term' );\n\t\tconst termAddedMessage = sprintf(\n\t\t\t/* translators: %s: term name. */\n\t\t\t_x( '%s added', 'term' ),\n\t\t\ttaxonomy?.labels?.singular_name ?? defaultName\n\t\t);\n\n\t\tspeak( termAddedMessage, 'assertive' );\n\t\tonUpdateTerms( newTermIds );\n\t}\n\n\tconst newTermLabel =\n\t\ttaxonomy?.labels?.add_new_item ??\n\t\t( slug === 'post_tag' ? __( 'Add new tag' ) : __( 'Add new Term' ) );\n\tconst singularName =\n\t\ttaxonomy?.labels?.singular_name ??\n\t\t( slug === 'post_tag' ? __( 'Tag' ) : __( 'Term' ) );\n\tconst termAddedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s added', 'term' ),\n\t\tsingularName\n\t);\n\tconst termRemovedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s removed', 'term' ),\n\t\tsingularName\n\t);\n\tconst removeTermLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( 'Remove %s', 'term' ),\n\t\tsingularName\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<FormTokenField\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvalue={ values }\n\t\t\t\tsuggestions={ suggestions }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tonInputChange={ debouncedSearch }\n\t\t\t\tmaxSuggestions={ MAX_TERMS_SUGGESTIONS }\n\t\t\t\tlabel={ newTermLabel }\n\t\t\t\tmessages={ {\n\t\t\t\t\tadded: termAddedLabel,\n\t\t\t\t\tremoved: termRemovedLabel,\n\t\t\t\t\tremove: removeTermLabel,\n\t\t\t\t} }\n\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t/>\n\t\t\t<MostUsedTerms taxonomy={ taxonomy } onSelect={ appendTerm } />\n\t\t</>\n\t);\n}\n\nexport default withFilters( 'editor.PostTaxonomyType' )( FlatTermSelector );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_element","_components","_data","_deprecated","_interopRequireDefault","_coreData","_compose","_a11y","_notices","_store","_terms","_mostUsedTerms","_jsxRuntime","EMPTY_ARRAY","MAX_TERMS_SUGGESTIONS","DEFAULT_QUERY","per_page","_fields","context","isSameTermName","termA","termB","unescapeString","toLowerCase","termNamesToIds","names","terms","map","termName","find","term","name","id","filter","undefined","FlatTermSelector","slug","__nextHasNoMarginBottom","_taxonomy$labels$add_","_taxonomy$labels$sing2","values","setValues","useState","search","setSearch","debouncedSearch","useDebounce","deprecated","since","version","hint","termIds","taxonomy","hasAssignAction","hasCreateAction","hasResolvedTerms","useSelect","select","_post$_links","_post$_links2","getCurrentPost","getEditedPostAttribute","editorStore","getEntityRecords","getTaxonomy","hasFinishedResolution","coreStore","post","_taxonomy","_termIds","rest_base","query","include","join","_links","length","searchResults","useEffect","newValues","suggestions","useMemo","editPost","useDispatch","saveEntityRecord","createErrorNotice","noticesStore","findOrCreateTerm","newTerm","throwOnError","unescapeTerm","error","code","data","term_id","onUpdateTerms","newTermIds","onChange","termNames","availableTerms","uniqueTerms","reduce","acc","some","n","push","newTermNames","Promise","all","then","newTerms","newAvailableTerms","concat","catch","message","type","appendTerm","_taxonomy$labels$sing","includes","defaultName","__","termAddedMessage","sprintf","_x","labels","singular_name","speak","newTermLabel","add_new_item","singularName","termAddedLabel","termRemovedLabel","removeTermLabel","Wrapper","children","jsx","__experimentalVStack","spacing","Fragment","jsxs","FormTokenField","__next40pxDefaultSize","value","onInputChange","maxSuggestions","label","messages","added","removed","remove","default","onSelect","_default","exports","withFilters"],"sources":["@wordpress/editor/src/components/post-taxonomies/flat-term-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { Fragment, useEffect, useMemo, useState } from '@wordpress/element';\nimport {\n\tFormTokenField,\n\twithFilters,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDebounce } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unescapeString, unescapeTerm } from '../../utils/terms';\nimport MostUsedTerms from './most-used-terms';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array<any>}\n */\nconst EMPTY_ARRAY = [];\n\n/**\n * How the max suggestions limit was chosen:\n * - Matches the `per_page` range set by the REST API.\n * - Can't use \"unbound\" query. The `FormTokenField` needs a fixed number.\n * - Matches default for `FormTokenField`.\n */\nconst MAX_TERMS_SUGGESTIONS = 100;\nconst DEFAULT_QUERY = {\n\tper_page: MAX_TERMS_SUGGESTIONS,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nconst isSameTermName = ( termA, termB ) =>\n\tunescapeString( termA ).toLowerCase() ===\n\tunescapeString( termB ).toLowerCase();\n\nconst termNamesToIds = ( names, terms ) => {\n\treturn names\n\t\t.map(\n\t\t\t( termName ) =>\n\t\t\t\tterms.find( ( term ) => isSameTermName( term.name, termName ) )\n\t\t\t\t\t?.id\n\t\t)\n\t\t.filter( ( id ) => id !== undefined );\n};\n\n/**\n * Renders a flat term selector component.\n *\n * @param {Object} props The component props.\n * @param {string} props.slug The slug of the taxonomy.\n * @param {boolean} props.__nextHasNoMarginBottom Start opting into the new margin-free styles that will become the default in a future version, currently scheduled to be WordPress 7.0. (The prop can be safely removed once this happens.)\n *\n * @return {JSX.Element} The rendered flat term selector component.\n */\nexport function FlatTermSelector( { slug, __nextHasNoMarginBottom } ) {\n\tconst [ values, setValues ] = useState( [] );\n\tconst [ search, setSearch ] = useState( '' );\n\tconst debouncedSearch = useDebounce( setSearch, 500 );\n\n\tif ( ! __nextHasNoMarginBottom ) {\n\t\tdeprecated(\n\t\t\t'Bottom margin styles for wp.editor.PostTaxonomiesFlatTermSelector',\n\t\t\t{\n\t\t\t\tsince: '6.7',\n\t\t\t\tversion: '7.0',\n\t\t\t\thint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version.',\n\t\t\t}\n\t\t);\n\t}\n\n\tconst {\n\t\tterms,\n\t\ttermIds,\n\t\ttaxonomy,\n\t\thasAssignAction,\n\t\thasCreateAction,\n\t\thasResolvedTerms,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPost, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getEntityRecords, getTaxonomy, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst post = getCurrentPost();\n\t\t\tconst _taxonomy = getTaxonomy( slug );\n\t\t\tconst _termIds = _taxonomy\n\t\t\t\t? getEditedPostAttribute( _taxonomy.rest_base )\n\t\t\t\t: EMPTY_ARRAY;\n\n\t\t\tconst query = {\n\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\tinclude: _termIds?.join( ',' ),\n\t\t\t\tper_page: -1,\n\t\t\t};\n\n\t\t\treturn {\n\t\t\t\thasCreateAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-create-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\thasAssignAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-assign-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\ttaxonomy: _taxonomy,\n\t\t\t\ttermIds: _termIds,\n\t\t\t\tterms: _termIds?.length\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, query )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t\thasResolvedTerms: hasFinishedResolution( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\tslug,\n\t\t\t\t\tquery,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ slug ]\n\t);\n\n\tconst { searchResults } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\tsearchResults: !! search\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, {\n\t\t\t\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\t\t\t\tsearch,\n\t\t\t\t\t } )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t};\n\t\t},\n\t\t[ search, slug ]\n\t);\n\n\t// Update terms state only after the selectors are resolved.\n\t// We're using this to avoid terms temporarily disappearing on slow networks\n\t// while core data makes REST API requests.\n\tuseEffect( () => {\n\t\tif ( hasResolvedTerms ) {\n\t\t\tconst newValues = ( terms ?? [] ).map( ( term ) =>\n\t\t\t\tunescapeString( term.name )\n\t\t\t);\n\n\t\t\tsetValues( newValues );\n\t\t}\n\t}, [ terms, hasResolvedTerms ] );\n\n\tconst suggestions = useMemo( () => {\n\t\treturn ( searchResults ?? [] ).map( ( term ) =>\n\t\t\tunescapeString( term.name )\n\t\t);\n\t}, [ searchResults ] );\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tif ( ! hasAssignAction ) {\n\t\treturn null;\n\t}\n\n\tasync function findOrCreateTerm( term ) {\n\t\ttry {\n\t\t\tconst newTerm = await saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\t\t\treturn unescapeTerm( newTerm );\n\t\t} catch ( error ) {\n\t\t\tif ( error.code !== 'term_exists' ) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tid: error.data.term_id,\n\t\t\t\tname: term.name,\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction onUpdateTerms( newTermIds ) {\n\t\teditPost( { [ taxonomy.rest_base ]: newTermIds } );\n\t}\n\n\tfunction onChange( termNames ) {\n\t\tconst availableTerms = [\n\t\t\t...( terms ?? [] ),\n\t\t\t...( searchResults ?? [] ),\n\t\t];\n\t\tconst uniqueTerms = termNames.reduce( ( acc, name ) => {\n\t\t\tif (\n\t\t\t\t! acc.some( ( n ) => n.toLowerCase() === name.toLowerCase() )\n\t\t\t) {\n\t\t\t\tacc.push( name );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\t\tconst newTermNames = uniqueTerms.filter(\n\t\t\t( termName ) =>\n\t\t\t\t! availableTerms.find( ( term ) =>\n\t\t\t\t\tisSameTermName( term.name, termName )\n\t\t\t\t)\n\t\t);\n\n\t\t// Optimistically update term values.\n\t\t// The selector will always re-fetch terms later.\n\t\tsetValues( uniqueTerms );\n\n\t\tif ( newTermNames.length === 0 ) {\n\t\t\tonUpdateTerms( termNamesToIds( uniqueTerms, availableTerms ) );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! hasCreateAction ) {\n\t\t\treturn;\n\t\t}\n\n\t\tPromise.all(\n\t\t\tnewTermNames.map( ( termName ) =>\n\t\t\t\tfindOrCreateTerm( { name: termName } )\n\t\t\t)\n\t\t)\n\t\t\t.then( ( newTerms ) => {\n\t\t\t\tconst newAvailableTerms = availableTerms.concat( newTerms );\n\t\t\t\tonUpdateTerms(\n\t\t\t\t\ttermNamesToIds( uniqueTerms, newAvailableTerms )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t\t// In case of a failure, try assigning available terms.\n\t\t\t\t// This will invalidate the optimistic update.\n\t\t\t\tonUpdateTerms( termNamesToIds( uniqueTerms, availableTerms ) );\n\t\t\t} );\n\t}\n\n\tfunction appendTerm( newTerm ) {\n\t\tif ( termIds.includes( newTerm.id ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newTermIds = [ ...termIds, newTerm.id ];\n\t\tconst defaultName = slug === 'post_tag' ? __( 'Tag' ) : __( 'Term' );\n\t\tconst termAddedMessage = sprintf(\n\t\t\t/* translators: %s: term name. */\n\t\t\t_x( '%s added', 'term' ),\n\t\t\ttaxonomy?.labels?.singular_name ?? defaultName\n\t\t);\n\n\t\tspeak( termAddedMessage, 'assertive' );\n\t\tonUpdateTerms( newTermIds );\n\t}\n\n\tconst newTermLabel =\n\t\ttaxonomy?.labels?.add_new_item ??\n\t\t( slug === 'post_tag' ? __( 'Add new tag' ) : __( 'Add new Term' ) );\n\tconst singularName =\n\t\ttaxonomy?.labels?.singular_name ??\n\t\t( slug === 'post_tag' ? __( 'Tag' ) : __( 'Term' ) );\n\tconst termAddedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s added', 'term' ),\n\t\tsingularName\n\t);\n\tconst termRemovedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s removed', 'term' ),\n\t\tsingularName\n\t);\n\tconst removeTermLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( 'Remove %s', 'term' ),\n\t\tsingularName\n\t);\n\n\tconst Wrapper = ( { children } ) =>\n\t\t__nextHasNoMarginBottom ? (\n\t\t\t<VStack spacing={ 4 }>{ children }</VStack>\n\t\t) : (\n\t\t\t<Fragment>{ children }</Fragment>\n\t\t);\n\n\treturn (\n\t\t<Wrapper>\n\t\t\t<FormTokenField\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvalue={ values }\n\t\t\t\tsuggestions={ suggestions }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tonInputChange={ debouncedSearch }\n\t\t\t\tmaxSuggestions={ MAX_TERMS_SUGGESTIONS }\n\t\t\t\tlabel={ newTermLabel }\n\t\t\t\tmessages={ {\n\t\t\t\t\tadded: termAddedLabel,\n\t\t\t\t\tremoved: termRemovedLabel,\n\t\t\t\t\tremove: removeTermLabel,\n\t\t\t\t} }\n\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t/>\n\t\t\t<MostUsedTerms taxonomy={ taxonomy } onSelect={ appendTerm } />\n\t\t</Wrapper>\n\t);\n}\n\nexport default withFilters( 'editor.PostTaxonomyType' )( FlatTermSelector );\n"],"mappings":"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","ignoreList":[]}
@@ -275,7 +275,7 @@ function HierarchicalTermSelector({
275
275
  return;
276
276
  }
277
277
  const defaultName = slug === 'category' ? (0, _i18n.__)('Category') : (0, _i18n.__)('Term');
278
- const termAddedMessage = (0, _i18n.sprintf)( /* translators: %s: taxonomy name */
278
+ const termAddedMessage = (0, _i18n.sprintf)( /* translators: %s: term name. */
279
279
  (0, _i18n._x)('%s added', 'term'), (_taxonomy$labels$sing = taxonomy?.labels?.singular_name) !== null && _taxonomy$labels$sing !== void 0 ? _taxonomy$labels$sing : defaultName);
280
280
  (0, _a11y.speak)(termAddedMessage, 'assertive');
281
281
  setAdding(false);
@@ -298,7 +298,7 @@ function HierarchicalTermSelector({
298
298
  setFilterValue(value);
299
299
  setFilteredTermsTree(newFilteredTermsTree);
300
300
  const resultCount = getResultCount(newFilteredTermsTree);
301
- const resultsFoundMessage = (0, _i18n.sprintf)( /* translators: %d: number of results */
301
+ const resultsFoundMessage = (0, _i18n.sprintf)( /* translators: %d: number of results. */
302
302
  (0, _i18n._n)('%d result found.', '%d results found.', resultCount), resultCount);
303
303
  debouncedSpeak(resultsFoundMessage, 'assertive');
304
304
  };