@wordpress/editor 13.28.5 → 13.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/block-removal-warnings/index.js +70 -0
  3. package/build/components/block-removal-warnings/index.js.map +1 -0
  4. package/build/components/commands/index.js +209 -0
  5. package/build/components/commands/index.js.map +1 -0
  6. package/build/components/commands/index.native.js +9 -0
  7. package/build/components/commands/index.native.js.map +1 -0
  8. package/build/components/document-bar/index.js +78 -67
  9. package/build/components/document-bar/index.js.map +1 -1
  10. package/build/components/document-outline/check.js +8 -7
  11. package/build/components/document-outline/check.js.map +1 -1
  12. package/build/components/document-outline/index.js +26 -27
  13. package/build/components/document-outline/index.js.map +1 -1
  14. package/build/components/document-tools/index.js +5 -3
  15. package/build/components/document-tools/index.js.map +1 -1
  16. package/build/components/editor-help/intro-to-blocks.native.js.map +1 -1
  17. package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
  18. package/build/components/global-keyboard-shortcuts/index.js +20 -2
  19. package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
  20. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
  21. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  22. package/build/components/list-view-sidebar/index.js +1 -1
  23. package/build/components/list-view-sidebar/index.js.map +1 -1
  24. package/build/components/mode-switcher/index.js +86 -0
  25. package/build/components/mode-switcher/index.js.map +1 -0
  26. package/build/components/post-locked-modal/index.js.map +1 -1
  27. package/build/components/post-preview-button/index.js +2 -1
  28. package/build/components/post-preview-button/index.js.map +1 -1
  29. package/build/components/post-publish-button/index.js +2 -1
  30. package/build/components/post-publish-button/index.js.map +1 -1
  31. package/build/components/post-publish-panel/index.js.map +1 -1
  32. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  33. package/build/components/post-taxonomies/hierarchical-term-selector.js +3 -0
  34. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  35. package/build/components/post-title/index.js +0 -5
  36. package/build/components/post-title/index.js.map +1 -1
  37. package/build/components/post-title/index.native.js.map +1 -1
  38. package/build/components/post-title/post-title-raw.js.map +1 -1
  39. package/build/components/post-view-link/index.js +2 -1
  40. package/build/components/post-view-link/index.js.map +1 -1
  41. package/build/components/provider/index.js +8 -1
  42. package/build/components/provider/index.js.map +1 -1
  43. package/build/components/provider/index.native.js +4 -9
  44. package/build/components/provider/index.native.js.map +1 -1
  45. package/build/components/provider/use-block-editor-settings.js +1 -1
  46. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  47. package/build/components/provider/use-hide-blocks-from-inserter.js +53 -0
  48. package/build/components/provider/use-hide-blocks-from-inserter.js.map +1 -0
  49. package/build/private-apis.js +2 -0
  50. package/build/private-apis.js.map +1 -1
  51. package/build/store/actions.js +69 -2
  52. package/build/store/actions.js.map +1 -1
  53. package/build/store/selectors.js +13 -1
  54. package/build/store/selectors.js.map +1 -1
  55. package/build-module/components/block-removal-warnings/index.js +64 -0
  56. package/build-module/components/block-removal-warnings/index.js.map +1 -0
  57. package/build-module/components/commands/index.js +202 -0
  58. package/build-module/components/commands/index.js.map +1 -0
  59. package/build-module/components/commands/index.native.js +3 -0
  60. package/build-module/components/commands/index.native.js.map +1 -0
  61. package/build-module/components/document-bar/index.js +81 -70
  62. package/build-module/components/document-bar/index.js.map +1 -1
  63. package/build-module/components/document-outline/check.js +9 -8
  64. package/build-module/components/document-outline/check.js.map +1 -1
  65. package/build-module/components/document-outline/index.js +26 -26
  66. package/build-module/components/document-outline/index.js.map +1 -1
  67. package/build-module/components/document-tools/index.js +5 -3
  68. package/build-module/components/document-tools/index.js.map +1 -1
  69. package/build-module/components/editor-help/intro-to-blocks.native.js.map +1 -1
  70. package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
  71. package/build-module/components/global-keyboard-shortcuts/index.js +20 -2
  72. package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
  73. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
  74. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  75. package/build-module/components/list-view-sidebar/index.js +1 -1
  76. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  77. package/build-module/components/mode-switcher/index.js +80 -0
  78. package/build-module/components/mode-switcher/index.js.map +1 -0
  79. package/build-module/components/post-locked-modal/index.js.map +1 -1
  80. package/build-module/components/post-preview-button/index.js +2 -1
  81. package/build-module/components/post-preview-button/index.js.map +1 -1
  82. package/build-module/components/post-publish-button/index.js +2 -1
  83. package/build-module/components/post-publish-button/index.js.map +1 -1
  84. package/build-module/components/post-publish-panel/index.js.map +1 -1
  85. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  86. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +3 -0
  87. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  88. package/build-module/components/post-title/index.js +0 -5
  89. package/build-module/components/post-title/index.js.map +1 -1
  90. package/build-module/components/post-title/index.native.js.map +1 -1
  91. package/build-module/components/post-title/post-title-raw.js.map +1 -1
  92. package/build-module/components/post-view-link/index.js +2 -1
  93. package/build-module/components/post-view-link/index.js.map +1 -1
  94. package/build-module/components/provider/index.js +8 -1
  95. package/build-module/components/provider/index.js.map +1 -1
  96. package/build-module/components/provider/index.native.js +4 -10
  97. package/build-module/components/provider/index.native.js.map +1 -1
  98. package/build-module/components/provider/use-block-editor-settings.js +1 -1
  99. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  100. package/build-module/components/provider/use-hide-blocks-from-inserter.js +47 -0
  101. package/build-module/components/provider/use-hide-blocks-from-inserter.js.map +1 -0
  102. package/build-module/private-apis.js +2 -0
  103. package/build-module/private-apis.js.map +1 -1
  104. package/build-module/store/actions.js +66 -0
  105. package/build-module/store/actions.js.map +1 -1
  106. package/build-module/store/selectors.js +12 -0
  107. package/build-module/store/selectors.js.map +1 -1
  108. package/build-style/style-rtl.css +4 -47
  109. package/build-style/style.css +4 -47
  110. package/package.json +32 -32
  111. package/src/components/block-removal-warnings/index.js +92 -0
  112. package/src/components/commands/index.js +210 -0
  113. package/src/components/commands/index.native.js +2 -0
  114. package/src/components/document-bar/index.js +115 -94
  115. package/src/components/document-bar/style.scss +4 -37
  116. package/src/components/document-outline/check.js +8 -10
  117. package/src/components/document-outline/index.js +18 -23
  118. package/src/components/document-outline/test/index.js +26 -7
  119. package/src/components/document-tools/index.js +3 -3
  120. package/src/components/editor-help/intro-to-blocks.native.js +1 -1
  121. package/src/components/entities-saved-states/entity-type-list.js +1 -1
  122. package/src/components/global-keyboard-shortcuts/index.js +35 -4
  123. package/src/components/global-keyboard-shortcuts/register-shortcuts.js +20 -0
  124. package/src/components/list-view-sidebar/index.js +1 -1
  125. package/src/components/mode-switcher/index.js +90 -0
  126. package/src/components/post-locked-modal/index.js +1 -1
  127. package/src/components/post-preview-button/index.js +1 -0
  128. package/src/components/post-publish-button/index.js +1 -0
  129. package/src/components/post-publish-panel/index.js +1 -1
  130. package/src/components/post-publish-panel/maybe-upload-media.js +1 -1
  131. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +3 -3
  132. package/src/components/post-taxonomies/hierarchical-term-selector.js +3 -0
  133. package/src/components/post-title/index.js +0 -3
  134. package/src/components/post-title/index.native.js +2 -2
  135. package/src/components/post-title/post-title-raw.js +1 -1
  136. package/src/components/post-view-link/index.js +1 -0
  137. package/src/components/provider/index.js +9 -0
  138. package/src/components/provider/index.native.js +7 -6
  139. package/src/components/provider/use-block-editor-settings.js +0 -3
  140. package/src/components/provider/use-hide-blocks-from-inserter.js +81 -0
  141. package/src/private-apis.js +2 -0
  142. package/src/store/actions.js +95 -0
  143. package/src/store/selectors.js +12 -0
  144. package/src/store/test/actions.js +82 -0
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","Modal","Button","ExternalLink","__experimentalHStack","HStack","useSelect","useDispatch","addQueryArgs","useEffect","createInterpolateElement","addAction","removeAction","useInstanceId","store","coreStore","editorStore","PostLockedModal","instanceId","hookName","autosave","updatePostLock","isLocked","isTakeover","user","postId","postLockUtils","activePostLock","postType","previewLink","select","isPostLocked","isPostLockTakeover","getPostLockUser","getCurrentPostId","getActivePostLock","getEditedPostAttribute","getEditedPostPreviewLink","getEditorSettings","getPostType","sendPostLock","data","lock","post_id","receivePostLock","received","lock_error","name","avatar","avatar_src_2x","new_lock","releasePostLock","window","FormData","append","unlockNonce","navigator","sendBeacon","ajaxUrl","xhr","XMLHttpRequest","open","send","addEventListener","removeEventListener","userDisplayName","userAvatar","unlockUrl","lockKey","post","action","_wpnonce","nonce","allPostsUrl","post_type","slug","allPostsLabel","createElement","title","focusOnMount","shouldCloseOnClickOutside","shouldCloseOnEsc","isDismissible","size","alignment","spacing","src","alt","className","width","height","strong","PreviewLink","href","Fragment","justify","variant"],"sources":["@wordpress/editor/src/components/post-locked-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tModal,\n\tButton,\n\tExternalLink,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useEffect, createInterpolateElement } from '@wordpress/element';\nimport { addAction, removeAction } from '@wordpress/hooks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostLockedModal() {\n\tconst instanceId = useInstanceId( PostLockedModal );\n\tconst hookName = 'core/editor/post-locked-modal-' + instanceId;\n\tconst { autosave, updatePostLock } = useDispatch( editorStore );\n\tconst {\n\t\tisLocked,\n\t\tisTakeover,\n\t\tuser,\n\t\tpostId,\n\t\tpostLockUtils,\n\t\tactivePostLock,\n\t\tpostType,\n\t\tpreviewLink,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisPostLocked,\n\t\t\tisPostLockTakeover,\n\t\t\tgetPostLockUser,\n\t\t\tgetCurrentPostId,\n\t\t\tgetActivePostLock,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostPreviewLink,\n\t\t\tgetEditorSettings,\n\t\t} = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\treturn {\n\t\t\tisLocked: isPostLocked(),\n\t\t\tisTakeover: isPostLockTakeover(),\n\t\t\tuser: getPostLockUser(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostLockUtils: getEditorSettings().postLockUtils,\n\t\t\tactivePostLock: getActivePostLock(),\n\t\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\t\tpreviewLink: getEditedPostPreviewLink(),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t/**\n\t\t * Keep the lock refreshed.\n\t\t *\n\t\t * When the user does not send a heartbeat in a heartbeat-tick\n\t\t * the user is no longer editing and another user can start editing.\n\t\t *\n\t\t * @param {Object} data Data to send in the heartbeat request.\n\t\t */\n\t\tfunction sendPostLock( data ) {\n\t\t\tif ( isLocked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdata[ 'wp-refresh-post-lock' ] = {\n\t\t\t\tlock: activePostLock,\n\t\t\t\tpost_id: postId,\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t * Refresh post locks: update the lock string or show the dialog if somebody has taken over editing.\n\t\t *\n\t\t * @param {Object} data Data received in the heartbeat request\n\t\t */\n\t\tfunction receivePostLock( data ) {\n\t\t\tif ( ! data[ 'wp-refresh-post-lock' ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst received = data[ 'wp-refresh-post-lock' ];\n\t\t\tif ( received.lock_error ) {\n\t\t\t\t// Auto save and display the takeover modal.\n\t\t\t\tautosave();\n\t\t\t\tupdatePostLock( {\n\t\t\t\t\tisLocked: true,\n\t\t\t\t\tisTakeover: true,\n\t\t\t\t\tuser: {\n\t\t\t\t\t\tname: received.lock_error.name,\n\t\t\t\t\t\tavatar: received.lock_error.avatar_src_2x,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} else if ( received.new_lock ) {\n\t\t\t\tupdatePostLock( {\n\t\t\t\t\tisLocked: false,\n\t\t\t\t\tactivePostLock: received.new_lock,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Unlock the post before the window is exited.\n\t\t */\n\t\tfunction releasePostLock() {\n\t\t\tif ( isLocked || ! activePostLock ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst data = new window.FormData();\n\t\t\tdata.append( 'action', 'wp-remove-post-lock' );\n\t\t\tdata.append( '_wpnonce', postLockUtils.unlockNonce );\n\t\t\tdata.append( 'post_ID', postId );\n\t\t\tdata.append( 'active_post_lock', activePostLock );\n\n\t\t\tif ( window.navigator.sendBeacon ) {\n\t\t\t\twindow.navigator.sendBeacon( postLockUtils.ajaxUrl, data );\n\t\t\t} else {\n\t\t\t\tconst xhr = new window.XMLHttpRequest();\n\t\t\t\txhr.open( 'POST', postLockUtils.ajaxUrl, false );\n\t\t\t\txhr.send( data );\n\t\t\t}\n\t\t}\n\n\t\t// Details on these events on the Heartbeat API docs\n\t\t// https://developer.wordpress.org/plugins/javascript/heartbeat-api/\n\t\taddAction( 'heartbeat.send', hookName, sendPostLock );\n\t\taddAction( 'heartbeat.tick', hookName, receivePostLock );\n\t\twindow.addEventListener( 'beforeunload', releasePostLock );\n\n\t\treturn () => {\n\t\t\tremoveAction( 'heartbeat.send', hookName );\n\t\t\tremoveAction( 'heartbeat.tick', hookName );\n\t\t\twindow.removeEventListener( 'beforeunload', releasePostLock );\n\t\t};\n\t}, [] );\n\n\tif ( ! isLocked ) {\n\t\treturn null;\n\t}\n\n\tconst userDisplayName = user.name;\n\tconst userAvatar = user.avatar;\n\n\tconst unlockUrl = addQueryArgs( 'post.php', {\n\t\t'get-post-lock': '1',\n\t\tlockKey: true,\n\t\tpost: postId,\n\t\taction: 'edit',\n\t\t_wpnonce: postLockUtils.nonce,\n\t} );\n\tconst allPostsUrl = addQueryArgs( 'edit.php', {\n\t\tpost_type: postType?.slug,\n\t} );\n\tconst allPostsLabel = __( 'Exit editor' );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={\n\t\t\t\tisTakeover\n\t\t\t\t\t? __( 'Someone else has taken over this post' )\n\t\t\t\t\t: __( 'This post is already being edited' )\n\t\t\t}\n\t\t\tfocusOnMount={ true }\n\t\t\tshouldCloseOnClickOutside={ false }\n\t\t\tshouldCloseOnEsc={ false }\n\t\t\tisDismissible={ false }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t<HStack alignment=\"top\" spacing={ 6 }>\n\t\t\t\t{ !! userAvatar && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ userAvatar }\n\t\t\t\t\t\talt={ __( 'Avatar' ) }\n\t\t\t\t\t\tclassName=\"editor-post-locked-modal__avatar\"\n\t\t\t\t\t\twidth={ 64 }\n\t\t\t\t\t\theight={ 64 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div>\n\t\t\t\t\t{ !! isTakeover && (\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: user's display name */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'<strong>%s</strong> now has editing control of this post (<PreviewLink />). Don’t worry, your changes up to this moment have been saved.'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tuserDisplayName\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\t\t'Another user now has editing control of this post (<PreviewLink />). Don’t worry, your changes up to this moment have been saved.'\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\tstrong: <strong />,\n\t\t\t\t\t\t\t\t\tPreviewLink: (\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href={ previewLink }>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'preview' ) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\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) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isTakeover && (\n\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\tuserDisplayName\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: user's display name */\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\t\t'<strong>%s</strong> is currently working on this post (<PreviewLink />), which means you cannot make changes, unless you take over.'\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\tuserDisplayName\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Another user is currently working on this post (<PreviewLink />), which means you cannot make changes, unless you take over.'\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\tstrong: <strong />,\n\t\t\t\t\t\t\t\t\t\tPreviewLink: (\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href={ previewLink }>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'preview' ) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\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\t<p>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'If you take over, the other user will lose editing control to the post, but their changes will be saved.'\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</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"editor-post-locked-modal__buttons\"\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! isTakeover && (\n\t\t\t\t\t\t\t<Button variant=\"tertiary\" href={ unlockUrl }>\n\t\t\t\t\t\t\t\t{ __( 'Take over' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button variant=\"primary\" href={ allPostsUrl }>\n\t\t\t\t\t\t\t{ allPostsLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</div>\n\t\t\t</HStack>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","sprintf","Modal","Button","ExternalLink","__experimentalHStack","HStack","useSelect","useDispatch","addQueryArgs","useEffect","createInterpolateElement","addAction","removeAction","useInstanceId","store","coreStore","editorStore","PostLockedModal","instanceId","hookName","autosave","updatePostLock","isLocked","isTakeover","user","postId","postLockUtils","activePostLock","postType","previewLink","select","isPostLocked","isPostLockTakeover","getPostLockUser","getCurrentPostId","getActivePostLock","getEditedPostAttribute","getEditedPostPreviewLink","getEditorSettings","getPostType","sendPostLock","data","lock","post_id","receivePostLock","received","lock_error","name","avatar","avatar_src_2x","new_lock","releasePostLock","window","FormData","append","unlockNonce","navigator","sendBeacon","ajaxUrl","xhr","XMLHttpRequest","open","send","addEventListener","removeEventListener","userDisplayName","userAvatar","unlockUrl","lockKey","post","action","_wpnonce","nonce","allPostsUrl","post_type","slug","allPostsLabel","createElement","title","focusOnMount","shouldCloseOnClickOutside","shouldCloseOnEsc","isDismissible","size","alignment","spacing","src","alt","className","width","height","strong","PreviewLink","href","Fragment","justify","variant"],"sources":["@wordpress/editor/src/components/post-locked-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tModal,\n\tButton,\n\tExternalLink,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useEffect, createInterpolateElement } from '@wordpress/element';\nimport { addAction, removeAction } from '@wordpress/hooks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostLockedModal() {\n\tconst instanceId = useInstanceId( PostLockedModal );\n\tconst hookName = 'core/editor/post-locked-modal-' + instanceId;\n\tconst { autosave, updatePostLock } = useDispatch( editorStore );\n\tconst {\n\t\tisLocked,\n\t\tisTakeover,\n\t\tuser,\n\t\tpostId,\n\t\tpostLockUtils,\n\t\tactivePostLock,\n\t\tpostType,\n\t\tpreviewLink,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisPostLocked,\n\t\t\tisPostLockTakeover,\n\t\t\tgetPostLockUser,\n\t\t\tgetCurrentPostId,\n\t\t\tgetActivePostLock,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostPreviewLink,\n\t\t\tgetEditorSettings,\n\t\t} = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\treturn {\n\t\t\tisLocked: isPostLocked(),\n\t\t\tisTakeover: isPostLockTakeover(),\n\t\t\tuser: getPostLockUser(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostLockUtils: getEditorSettings().postLockUtils,\n\t\t\tactivePostLock: getActivePostLock(),\n\t\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\t\tpreviewLink: getEditedPostPreviewLink(),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t/**\n\t\t * Keep the lock refreshed.\n\t\t *\n\t\t * When the user does not send a heartbeat in a heartbeat-tick\n\t\t * the user is no longer editing and another user can start editing.\n\t\t *\n\t\t * @param {Object} data Data to send in the heartbeat request.\n\t\t */\n\t\tfunction sendPostLock( data ) {\n\t\t\tif ( isLocked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdata[ 'wp-refresh-post-lock' ] = {\n\t\t\t\tlock: activePostLock,\n\t\t\t\tpost_id: postId,\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t * Refresh post locks: update the lock string or show the dialog if somebody has taken over editing.\n\t\t *\n\t\t * @param {Object} data Data received in the heartbeat request\n\t\t */\n\t\tfunction receivePostLock( data ) {\n\t\t\tif ( ! data[ 'wp-refresh-post-lock' ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst received = data[ 'wp-refresh-post-lock' ];\n\t\t\tif ( received.lock_error ) {\n\t\t\t\t// Auto save and display the takeover modal.\n\t\t\t\tautosave();\n\t\t\t\tupdatePostLock( {\n\t\t\t\t\tisLocked: true,\n\t\t\t\t\tisTakeover: true,\n\t\t\t\t\tuser: {\n\t\t\t\t\t\tname: received.lock_error.name,\n\t\t\t\t\t\tavatar: received.lock_error.avatar_src_2x,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} else if ( received.new_lock ) {\n\t\t\t\tupdatePostLock( {\n\t\t\t\t\tisLocked: false,\n\t\t\t\t\tactivePostLock: received.new_lock,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Unlock the post before the window is exited.\n\t\t */\n\t\tfunction releasePostLock() {\n\t\t\tif ( isLocked || ! activePostLock ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst data = new window.FormData();\n\t\t\tdata.append( 'action', 'wp-remove-post-lock' );\n\t\t\tdata.append( '_wpnonce', postLockUtils.unlockNonce );\n\t\t\tdata.append( 'post_ID', postId );\n\t\t\tdata.append( 'active_post_lock', activePostLock );\n\n\t\t\tif ( window.navigator.sendBeacon ) {\n\t\t\t\twindow.navigator.sendBeacon( postLockUtils.ajaxUrl, data );\n\t\t\t} else {\n\t\t\t\tconst xhr = new window.XMLHttpRequest();\n\t\t\t\txhr.open( 'POST', postLockUtils.ajaxUrl, false );\n\t\t\t\txhr.send( data );\n\t\t\t}\n\t\t}\n\n\t\t// Details on these events on the Heartbeat API docs\n\t\t// https://developer.wordpress.org/plugins/javascript/heartbeat-api/\n\t\taddAction( 'heartbeat.send', hookName, sendPostLock );\n\t\taddAction( 'heartbeat.tick', hookName, receivePostLock );\n\t\twindow.addEventListener( 'beforeunload', releasePostLock );\n\n\t\treturn () => {\n\t\t\tremoveAction( 'heartbeat.send', hookName );\n\t\t\tremoveAction( 'heartbeat.tick', hookName );\n\t\t\twindow.removeEventListener( 'beforeunload', releasePostLock );\n\t\t};\n\t}, [] );\n\n\tif ( ! isLocked ) {\n\t\treturn null;\n\t}\n\n\tconst userDisplayName = user.name;\n\tconst userAvatar = user.avatar;\n\n\tconst unlockUrl = addQueryArgs( 'post.php', {\n\t\t'get-post-lock': '1',\n\t\tlockKey: true,\n\t\tpost: postId,\n\t\taction: 'edit',\n\t\t_wpnonce: postLockUtils.nonce,\n\t} );\n\tconst allPostsUrl = addQueryArgs( 'edit.php', {\n\t\tpost_type: postType?.slug,\n\t} );\n\tconst allPostsLabel = __( 'Exit editor' );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={\n\t\t\t\tisTakeover\n\t\t\t\t\t? __( 'Someone else has taken over this post' )\n\t\t\t\t\t: __( 'This post is already being edited' )\n\t\t\t}\n\t\t\tfocusOnMount\n\t\t\tshouldCloseOnClickOutside={ false }\n\t\t\tshouldCloseOnEsc={ false }\n\t\t\tisDismissible={ false }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t<HStack alignment=\"top\" spacing={ 6 }>\n\t\t\t\t{ !! userAvatar && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ userAvatar }\n\t\t\t\t\t\talt={ __( 'Avatar' ) }\n\t\t\t\t\t\tclassName=\"editor-post-locked-modal__avatar\"\n\t\t\t\t\t\twidth={ 64 }\n\t\t\t\t\t\theight={ 64 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div>\n\t\t\t\t\t{ !! isTakeover && (\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: user's display name */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'<strong>%s</strong> now has editing control of this post (<PreviewLink />). Don’t worry, your changes up to this moment have been saved.'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tuserDisplayName\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\t\t'Another user now has editing control of this post (<PreviewLink />). Don’t worry, your changes up to this moment have been saved.'\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\tstrong: <strong />,\n\t\t\t\t\t\t\t\t\tPreviewLink: (\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href={ previewLink }>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'preview' ) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\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) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isTakeover && (\n\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\tuserDisplayName\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: user's display name */\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\t\t'<strong>%s</strong> is currently working on this post (<PreviewLink />), which means you cannot make changes, unless you take over.'\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\tuserDisplayName\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Another user is currently working on this post (<PreviewLink />), which means you cannot make changes, unless you take over.'\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\tstrong: <strong />,\n\t\t\t\t\t\t\t\t\t\tPreviewLink: (\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href={ previewLink }>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'preview' ) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\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\t<p>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'If you take over, the other user will lose editing control to the post, but their changes will be saved.'\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</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"editor-post-locked-modal__buttons\"\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! isTakeover && (\n\t\t\t\t\t\t\t<Button variant=\"tertiary\" href={ unlockUrl }>\n\t\t\t\t\t\t\t\t{ __( 'Take over' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button variant=\"primary\" href={ allPostsUrl }>\n\t\t\t\t\t\t\t{ allPostsLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</div>\n\t\t\t</HStack>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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"}
@@ -160,7 +160,8 @@ export default function PostPreviewButton({
160
160
  target: targetId,
161
161
  disabled: !isSaveable,
162
162
  onClick: openPreviewWindow,
163
- role: role
163
+ role: role,
164
+ size: "compact"
164
165
  }, textContent || createElement(Fragment, null, _x('Preview', 'imperative verb'), createElement(VisuallyHidden, {
165
166
  as: "span"
166
167
  }, /* translators: accessibility text */
@@ -1 +1 @@
1
- {"version":3,"names":["renderToString","Button","Path","SVG","VisuallyHidden","__","_x","useSelect","useDispatch","applyFilters","store","coreStore","editorStore","writeInterstitialMessage","targetDocument","markup","createElement","className","xmlns","viewBox","d","fill","write","title","close","PostPreviewButton","textContent","forceIsAutosaveable","role","onPreview","postId","currentPostLink","previewLink","isSaveable","isViewable","select","_postType$viewable","editor","core","postType","getPostType","getCurrentPostType","getCurrentPostId","getCurrentPostAttribute","getEditedPostPreviewLink","isEditedPostSaveable","viewable","__unstableSaveForPreview","targetId","openPreviewWindow","event","preventDefault","previewWindow","window","open","focus","document","link","location","href","variant","undefined","target","disabled","onClick","Fragment","as"],"sources":["@wordpress/editor/src/components/post-preview-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { renderToString } from '@wordpress/element';\nimport { Button, Path, SVG, VisuallyHidden } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction writeInterstitialMessage( targetDocument ) {\n\tlet markup = renderToString(\n\t\t<div className=\"editor-post-preview-button__interstitial-message\">\n\t\t\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\n\t\t\t\t<Path\n\t\t\t\t\tclassName=\"outer\"\n\t\t\t\t\td=\"M48 12c19.9 0 36 16.1 36 36S67.9 84 48 84 12 67.9 12 48s16.1-36 36-36\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t/>\n\t\t\t\t<Path\n\t\t\t\t\tclassName=\"inner\"\n\t\t\t\t\td=\"M69.5 46.4c0-3.9-1.4-6.7-2.6-8.8-1.6-2.6-3.1-4.9-3.1-7.5 0-2.9 2.2-5.7 5.4-5.7h.4C63.9 19.2 56.4 16 48 16c-11.2 0-21 5.7-26.7 14.4h2.1c3.3 0 8.5-.4 8.5-.4 1.7-.1 1.9 2.4.2 2.6 0 0-1.7.2-3.7.3L40 67.5l7-20.9L42 33c-1.7-.1-3.3-.3-3.3-.3-1.7-.1-1.5-2.7.2-2.6 0 0 5.3.4 8.4.4 3.3 0 8.5-.4 8.5-.4 1.7-.1 1.9 2.4.2 2.6 0 0-1.7.2-3.7.3l11.5 34.3 3.3-10.4c1.6-4.5 2.4-7.8 2.4-10.5zM16.1 48c0 12.6 7.3 23.5 18 28.7L18.8 35c-1.7 4-2.7 8.4-2.7 13zm32.5 2.8L39 78.6c2.9.8 5.9 1.3 9 1.3 3.7 0 7.3-.6 10.6-1.8-.1-.1-.2-.3-.2-.4l-9.8-26.9zM76.2 36c0 3.2-.6 6.9-2.4 11.4L64 75.6c9.5-5.5 15.9-15.8 15.9-27.6 0-5.5-1.4-10.8-3.9-15.3.1 1 .2 2.1.2 3.3z\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t\t<p>{ __( 'Generating preview…' ) }</p>\n\t\t</div>\n\t);\n\n\tmarkup += `\n\t\t<style>\n\t\t\tbody {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\twidth: 100vw;\n\t\t\t}\n\t\t\t@-webkit-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@-moz-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@-o-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message svg {\n\t\t\t\twidth: 192px;\n\t\t\t\theight: 192px;\n\t\t\t\tstroke: #555d66;\n\t\t\t\tstroke-width: 0.75;\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message svg .outer,\n\t\t\t.editor-post-preview-button__interstitial-message svg .inner {\n\t\t\t\tstroke-dasharray: 280;\n\t\t\t\tstroke-dashoffset: 280;\n\t\t\t\t-webkit-animation: paint 1.5s ease infinite alternate;\n\t\t\t\t-moz-animation: paint 1.5s ease infinite alternate;\n\t\t\t\t-o-animation: paint 1.5s ease infinite alternate;\n\t\t\t\tanimation: paint 1.5s ease infinite alternate;\n\t\t\t}\n\t\t\tp {\n\t\t\t\ttext-align: center;\n\t\t\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\t\t}\n\t\t</style>\n\t`;\n\n\t/**\n\t * Filters the interstitial message shown when generating previews.\n\t *\n\t * @param {string} markup The preview interstitial markup.\n\t */\n\tmarkup = applyFilters( 'editor.PostPreview.interstitialMarkup', markup );\n\n\ttargetDocument.write( markup );\n\ttargetDocument.title = __( 'Generating preview…' );\n\ttargetDocument.close();\n}\n\nexport default function PostPreviewButton( {\n\tclassName,\n\ttextContent,\n\tforceIsAutosaveable,\n\trole,\n\tonPreview,\n} ) {\n\tconst { postId, currentPostLink, previewLink, isSaveable, isViewable } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst editor = select( editorStore );\n\t\t\tconst core = select( coreStore );\n\n\t\t\tconst postType = core.getPostType(\n\t\t\t\teditor.getCurrentPostType( 'type' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tpostId: editor.getCurrentPostId(),\n\t\t\t\tcurrentPostLink: editor.getCurrentPostAttribute( 'link' ),\n\t\t\t\tpreviewLink: editor.getEditedPostPreviewLink(),\n\t\t\t\tisSaveable: editor.isEditedPostSaveable(),\n\t\t\t\tisViewable: postType?.viewable ?? false,\n\t\t\t};\n\t\t}, [] );\n\n\tconst { __unstableSaveForPreview } = useDispatch( editorStore );\n\n\tif ( ! isViewable ) {\n\t\treturn null;\n\t}\n\n\tconst targetId = `wp-preview-${ postId }`;\n\n\tconst openPreviewWindow = async ( event ) => {\n\t\t// Our Preview button has its 'href' and 'target' set correctly for a11y\n\t\t// purposes. Unfortunately, though, we can't rely on the default 'click'\n\t\t// handler since sometimes it incorrectly opens a new tab instead of reusing\n\t\t// the existing one.\n\t\t// https://github.com/WordPress/gutenberg/pull/8330\n\t\tevent.preventDefault();\n\n\t\t// Open up a Preview tab if needed. This is where we'll show the preview.\n\t\tconst previewWindow = window.open( '', targetId );\n\n\t\t// Focus the Preview tab. This might not do anything, depending on the browser's\n\t\t// and user's preferences.\n\t\t// https://html.spec.whatwg.org/multipage/interaction.html#dom-window-focus\n\t\tpreviewWindow.focus();\n\n\t\twriteInterstitialMessage( previewWindow.document );\n\n\t\tconst link = await __unstableSaveForPreview( { forceIsAutosaveable } );\n\n\t\tpreviewWindow.location = link;\n\n\t\tonPreview?.();\n\t};\n\n\t// Link to the `?preview=true` URL if we have it, since this lets us see\n\t// changes that were autosaved since the post was last published. Otherwise,\n\t// just link to the post's URL.\n\tconst href = previewLink || currentPostLink;\n\n\treturn (\n\t\t<Button\n\t\t\tvariant={ ! className ? 'tertiary' : undefined }\n\t\t\tclassName={ className || 'editor-post-preview' }\n\t\t\thref={ href }\n\t\t\ttarget={ targetId }\n\t\t\tdisabled={ ! isSaveable }\n\t\t\tonClick={ openPreviewWindow }\n\t\t\trole={ role }\n\t\t>\n\t\t\t{ textContent || (\n\t\t\t\t<>\n\t\t\t\t\t{ _x( 'Preview', 'imperative verb' ) }\n\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t}\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["renderToString","Button","Path","SVG","VisuallyHidden","__","_x","useSelect","useDispatch","applyFilters","store","coreStore","editorStore","writeInterstitialMessage","targetDocument","markup","createElement","className","xmlns","viewBox","d","fill","write","title","close","PostPreviewButton","textContent","forceIsAutosaveable","role","onPreview","postId","currentPostLink","previewLink","isSaveable","isViewable","select","_postType$viewable","editor","core","postType","getPostType","getCurrentPostType","getCurrentPostId","getCurrentPostAttribute","getEditedPostPreviewLink","isEditedPostSaveable","viewable","__unstableSaveForPreview","targetId","openPreviewWindow","event","preventDefault","previewWindow","window","open","focus","document","link","location","href","variant","undefined","target","disabled","onClick","size","Fragment","as"],"sources":["@wordpress/editor/src/components/post-preview-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { renderToString } from '@wordpress/element';\nimport { Button, Path, SVG, VisuallyHidden } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction writeInterstitialMessage( targetDocument ) {\n\tlet markup = renderToString(\n\t\t<div className=\"editor-post-preview-button__interstitial-message\">\n\t\t\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\n\t\t\t\t<Path\n\t\t\t\t\tclassName=\"outer\"\n\t\t\t\t\td=\"M48 12c19.9 0 36 16.1 36 36S67.9 84 48 84 12 67.9 12 48s16.1-36 36-36\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t/>\n\t\t\t\t<Path\n\t\t\t\t\tclassName=\"inner\"\n\t\t\t\t\td=\"M69.5 46.4c0-3.9-1.4-6.7-2.6-8.8-1.6-2.6-3.1-4.9-3.1-7.5 0-2.9 2.2-5.7 5.4-5.7h.4C63.9 19.2 56.4 16 48 16c-11.2 0-21 5.7-26.7 14.4h2.1c3.3 0 8.5-.4 8.5-.4 1.7-.1 1.9 2.4.2 2.6 0 0-1.7.2-3.7.3L40 67.5l7-20.9L42 33c-1.7-.1-3.3-.3-3.3-.3-1.7-.1-1.5-2.7.2-2.6 0 0 5.3.4 8.4.4 3.3 0 8.5-.4 8.5-.4 1.7-.1 1.9 2.4.2 2.6 0 0-1.7.2-3.7.3l11.5 34.3 3.3-10.4c1.6-4.5 2.4-7.8 2.4-10.5zM16.1 48c0 12.6 7.3 23.5 18 28.7L18.8 35c-1.7 4-2.7 8.4-2.7 13zm32.5 2.8L39 78.6c2.9.8 5.9 1.3 9 1.3 3.7 0 7.3-.6 10.6-1.8-.1-.1-.2-.3-.2-.4l-9.8-26.9zM76.2 36c0 3.2-.6 6.9-2.4 11.4L64 75.6c9.5-5.5 15.9-15.8 15.9-27.6 0-5.5-1.4-10.8-3.9-15.3.1 1 .2 2.1.2 3.3z\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t\t<p>{ __( 'Generating preview…' ) }</p>\n\t\t</div>\n\t);\n\n\tmarkup += `\n\t\t<style>\n\t\t\tbody {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\twidth: 100vw;\n\t\t\t}\n\t\t\t@-webkit-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@-moz-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@-o-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message svg {\n\t\t\t\twidth: 192px;\n\t\t\t\theight: 192px;\n\t\t\t\tstroke: #555d66;\n\t\t\t\tstroke-width: 0.75;\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message svg .outer,\n\t\t\t.editor-post-preview-button__interstitial-message svg .inner {\n\t\t\t\tstroke-dasharray: 280;\n\t\t\t\tstroke-dashoffset: 280;\n\t\t\t\t-webkit-animation: paint 1.5s ease infinite alternate;\n\t\t\t\t-moz-animation: paint 1.5s ease infinite alternate;\n\t\t\t\t-o-animation: paint 1.5s ease infinite alternate;\n\t\t\t\tanimation: paint 1.5s ease infinite alternate;\n\t\t\t}\n\t\t\tp {\n\t\t\t\ttext-align: center;\n\t\t\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\t\t}\n\t\t</style>\n\t`;\n\n\t/**\n\t * Filters the interstitial message shown when generating previews.\n\t *\n\t * @param {string} markup The preview interstitial markup.\n\t */\n\tmarkup = applyFilters( 'editor.PostPreview.interstitialMarkup', markup );\n\n\ttargetDocument.write( markup );\n\ttargetDocument.title = __( 'Generating preview…' );\n\ttargetDocument.close();\n}\n\nexport default function PostPreviewButton( {\n\tclassName,\n\ttextContent,\n\tforceIsAutosaveable,\n\trole,\n\tonPreview,\n} ) {\n\tconst { postId, currentPostLink, previewLink, isSaveable, isViewable } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst editor = select( editorStore );\n\t\t\tconst core = select( coreStore );\n\n\t\t\tconst postType = core.getPostType(\n\t\t\t\teditor.getCurrentPostType( 'type' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tpostId: editor.getCurrentPostId(),\n\t\t\t\tcurrentPostLink: editor.getCurrentPostAttribute( 'link' ),\n\t\t\t\tpreviewLink: editor.getEditedPostPreviewLink(),\n\t\t\t\tisSaveable: editor.isEditedPostSaveable(),\n\t\t\t\tisViewable: postType?.viewable ?? false,\n\t\t\t};\n\t\t}, [] );\n\n\tconst { __unstableSaveForPreview } = useDispatch( editorStore );\n\n\tif ( ! isViewable ) {\n\t\treturn null;\n\t}\n\n\tconst targetId = `wp-preview-${ postId }`;\n\n\tconst openPreviewWindow = async ( event ) => {\n\t\t// Our Preview button has its 'href' and 'target' set correctly for a11y\n\t\t// purposes. Unfortunately, though, we can't rely on the default 'click'\n\t\t// handler since sometimes it incorrectly opens a new tab instead of reusing\n\t\t// the existing one.\n\t\t// https://github.com/WordPress/gutenberg/pull/8330\n\t\tevent.preventDefault();\n\n\t\t// Open up a Preview tab if needed. This is where we'll show the preview.\n\t\tconst previewWindow = window.open( '', targetId );\n\n\t\t// Focus the Preview tab. This might not do anything, depending on the browser's\n\t\t// and user's preferences.\n\t\t// https://html.spec.whatwg.org/multipage/interaction.html#dom-window-focus\n\t\tpreviewWindow.focus();\n\n\t\twriteInterstitialMessage( previewWindow.document );\n\n\t\tconst link = await __unstableSaveForPreview( { forceIsAutosaveable } );\n\n\t\tpreviewWindow.location = link;\n\n\t\tonPreview?.();\n\t};\n\n\t// Link to the `?preview=true` URL if we have it, since this lets us see\n\t// changes that were autosaved since the post was last published. Otherwise,\n\t// just link to the post's URL.\n\tconst href = previewLink || currentPostLink;\n\n\treturn (\n\t\t<Button\n\t\t\tvariant={ ! className ? 'tertiary' : undefined }\n\t\t\tclassName={ className || 'editor-post-preview' }\n\t\t\thref={ href }\n\t\t\ttarget={ targetId }\n\t\t\tdisabled={ ! isSaveable }\n\t\t\tonClick={ openPreviewWindow }\n\t\t\trole={ role }\n\t\t\tsize=\"compact\"\n\t\t>\n\t\t\t{ textContent || (\n\t\t\t\t<>\n\t\t\t\t\t{ _x( 'Preview', 'imperative verb' ) }\n\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t}\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</Button>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,cAAc,QAAQ,oBAAoB;AACnD,SAASC,MAAM,EAAEC,IAAI,EAAEC,GAAG,EAAEC,cAAc,QAAQ,uBAAuB;AACzE,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;AAElD,SAASC,wBAAwBA,CAAEC,cAAc,EAAG;EACnD,IAAIC,MAAM,GAAGf,cAAc,CAC1BgB,aAAA;IAAKC,SAAS,EAAC;EAAkD,GAChED,aAAA,CAACb,GAAG;IAACe,KAAK,EAAC,4BAA4B;IAACC,OAAO,EAAC;EAAW,GAC1DH,aAAA,CAACd,IAAI;IACJe,SAAS,EAAC,OAAO;IACjBG,CAAC,EAAC,uEAAuE;IACzEC,IAAI,EAAC;EAAM,CACX,CAAC,EACFL,aAAA,CAACd,IAAI;IACJe,SAAS,EAAC,OAAO;IACjBG,CAAC,EAAC,0nBAA0nB;IAC5nBC,IAAI,EAAC;EAAM,CACX,CACG,CAAC,EACNL,aAAA,YAAKX,EAAE,CAAE,qBAAsB,CAAM,CACjC,CACN,CAAC;EAEDU,MAAM,IAAK;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;EAED;AACD;AACA;AACA;AACA;EACCA,MAAM,GAAGN,YAAY,CAAE,uCAAuC,EAAEM,MAAO,CAAC;EAExED,cAAc,CAACQ,KAAK,CAAEP,MAAO,CAAC;EAC9BD,cAAc,CAACS,KAAK,GAAGlB,EAAE,CAAE,qBAAsB,CAAC;EAClDS,cAAc,CAACU,KAAK,CAAC,CAAC;AACvB;AAEA,eAAe,SAASC,iBAAiBA,CAAE;EAC1CR,SAAS;EACTS,WAAW;EACXC,mBAAmB;EACnBC,IAAI;EACJC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,MAAM;IAAEC,eAAe;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAW,CAAC,GACrE3B,SAAS,CAAI4B,MAAM,IAAM;IAAA,IAAAC,kBAAA;IACxB,MAAMC,MAAM,GAAGF,MAAM,CAAEvB,WAAY,CAAC;IACpC,MAAM0B,IAAI,GAAGH,MAAM,CAAExB,SAAU,CAAC;IAEhC,MAAM4B,QAAQ,GAAGD,IAAI,CAACE,WAAW,CAChCH,MAAM,CAACI,kBAAkB,CAAE,MAAO,CACnC,CAAC;IAED,OAAO;MACNX,MAAM,EAAEO,MAAM,CAACK,gBAAgB,CAAC,CAAC;MACjCX,eAAe,EAAEM,MAAM,CAACM,uBAAuB,CAAE,MAAO,CAAC;MACzDX,WAAW,EAAEK,MAAM,CAACO,wBAAwB,CAAC,CAAC;MAC9CX,UAAU,EAAEI,MAAM,CAACQ,oBAAoB,CAAC,CAAC;MACzCX,UAAU,GAAAE,kBAAA,GAAEG,QAAQ,EAAEO,QAAQ,cAAAV,kBAAA,cAAAA,kBAAA,GAAI;IACnC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAER,MAAM;IAAEW;EAAyB,CAAC,GAAGvC,WAAW,CAAEI,WAAY,CAAC;EAE/D,IAAK,CAAEsB,UAAU,EAAG;IACnB,OAAO,IAAI;EACZ;EAEA,MAAMc,QAAQ,GAAI,cAAclB,MAAQ,EAAC;EAEzC,MAAMmB,iBAAiB,GAAG,MAAQC,KAAK,IAAM;IAC5C;IACA;IACA;IACA;IACA;IACAA,KAAK,CAACC,cAAc,CAAC,CAAC;;IAEtB;IACA,MAAMC,aAAa,GAAGC,MAAM,CAACC,IAAI,CAAE,EAAE,EAAEN,QAAS,CAAC;;IAEjD;IACA;IACA;IACAI,aAAa,CAACG,KAAK,CAAC,CAAC;IAErB1C,wBAAwB,CAAEuC,aAAa,CAACI,QAAS,CAAC;IAElD,MAAMC,IAAI,GAAG,MAAMV,wBAAwB,CAAE;MAAEpB;IAAoB,CAAE,CAAC;IAEtEyB,aAAa,CAACM,QAAQ,GAAGD,IAAI;IAE7B5B,SAAS,GAAG,CAAC;EACd,CAAC;;EAED;EACA;EACA;EACA,MAAM8B,IAAI,GAAG3B,WAAW,IAAID,eAAe;EAE3C,OACCf,aAAA,CAACf,MAAM;IACN2D,OAAO,EAAG,CAAE3C,SAAS,GAAG,UAAU,GAAG4C,SAAW;IAChD5C,SAAS,EAAGA,SAAS,IAAI,qBAAuB;IAChD0C,IAAI,EAAGA,IAAM;IACbG,MAAM,EAAGd,QAAU;IACnBe,QAAQ,EAAG,CAAE9B,UAAY;IACzB+B,OAAO,EAAGf,iBAAmB;IAC7BrB,IAAI,EAAGA,IAAM;IACbqC,IAAI,EAAC;EAAS,GAEZvC,WAAW,IACZV,aAAA,CAAAkD,QAAA,QACG5D,EAAE,CAAE,SAAS,EAAE,iBAAkB,CAAC,EACpCU,aAAA,CAACZ,cAAc;IAAC+D,EAAE,EAAC;EAAM,GAEvB;EACA9D,EAAE,CAAE,sBAAuB,CAEb,CACf,CAEI,CAAC;AAEX"}
@@ -162,7 +162,8 @@ export class PostPublishButton extends Component {
162
162
  ...componentProps,
163
163
  className: classnames(componentProps.className, 'editor-post-publish-button__button', {
164
164
  'has-changes-dot': hasNonPostEntityChanges
165
- })
165
+ }),
166
+ size: "compact"
166
167
  }, componentChildren));
167
168
  }
168
169
  }
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","Button","Component","createRef","withSelect","withDispatch","compose","__","PublishButtonLabel","store","editorStore","noop","PostPublishButton","constructor","props","buttonNode","createOnClick","bind","closeEntitiesSavedStates","state","entitiesSavedStatesCallback","componentDidMount","focusOnMount","timeoutID","setTimeout","current","focus","componentWillUnmount","clearTimeout","callback","args","hasNonPostEntityChanges","setEntitiesSavedStatesCallback","setState","savedEntities","postType","postId","some","elt","kind","name","key","render","forceIsDirty","hasPublishAction","isBeingScheduled","isOpen","isPostSavingLocked","isPublishable","isPublished","isSaveable","isSaving","isAutoSaving","isToggle","onSave","onStatusChange","onSubmit","onToggle","visibility","isSavingNonPostEntityChanges","isButtonDisabled","isToggleDisabled","publishStatus","onClickButton","onClickToggle","buttonProps","className","isBusy","variant","onClick","toggleProps","size","toggleChildren","buttonChildren","createElement","componentProps","componentChildren","Fragment","ref","select","_getCurrentPost$_link","isSavingPost","isAutosavingPost","isEditedPostBeingScheduled","getEditedPostVisibility","isCurrentPostPublished","isEditedPostSaveable","isEditedPostPublishable","getCurrentPost","getCurrentPostType","getCurrentPostId","_links","dispatch","editPost","savePost","status","undoIgnore"],"sources":["@wordpress/editor/src/components/post-publish-button/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { Component, createRef } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport PublishButtonLabel from './label';\nimport { store as editorStore } from '../../store';\n\nconst noop = () => {};\n\nexport class PostPublishButton extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.buttonNode = createRef();\n\n\t\tthis.createOnClick = this.createOnClick.bind( this );\n\t\tthis.closeEntitiesSavedStates =\n\t\t\tthis.closeEntitiesSavedStates.bind( this );\n\n\t\tthis.state = {\n\t\t\tentitiesSavedStatesCallback: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.focusOnMount ) {\n\t\t\t// This timeout is necessary to make sure the `useEffect` hook of\n\t\t\t// `useFocusReturn` gets the correct element (the button that opens the\n\t\t\t// PostPublishPanel) otherwise it will get this button.\n\t\t\tthis.timeoutID = setTimeout( () => {\n\t\t\t\tthis.buttonNode.current.focus();\n\t\t\t}, 0 );\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timeoutID );\n\t}\n\n\tcreateOnClick( callback ) {\n\t\treturn ( ...args ) => {\n\t\t\tconst { hasNonPostEntityChanges, setEntitiesSavedStatesCallback } =\n\t\t\t\tthis.props;\n\t\t\t// If a post with non-post entities is published, but the user\n\t\t\t// elects to not save changes to the non-post entities, those\n\t\t\t// entities will still be dirty when the Publish button is clicked.\n\t\t\t// We also need to check that the `setEntitiesSavedStatesCallback`\n\t\t\t// prop was passed. See https://github.com/WordPress/gutenberg/pull/37383\n\t\t\tif ( hasNonPostEntityChanges && setEntitiesSavedStatesCallback ) {\n\t\t\t\t// The modal for multiple entity saving will open,\n\t\t\t\t// hold the callback for saving/publishing the post\n\t\t\t\t// so that we can call it if the post entity is checked.\n\t\t\t\tthis.setState( {\n\t\t\t\t\tentitiesSavedStatesCallback: () => callback( ...args ),\n\t\t\t\t} );\n\n\t\t\t\t// Open the save panel by setting its callback.\n\t\t\t\t// To set a function on the useState hook, we must set it\n\t\t\t\t// with another function (() => myFunction). Passing the\n\t\t\t\t// function on its own will cause an error when called.\n\t\t\t\tsetEntitiesSavedStatesCallback(\n\t\t\t\t\t() => this.closeEntitiesSavedStates\n\t\t\t\t);\n\t\t\t\treturn noop;\n\t\t\t}\n\n\t\t\treturn callback( ...args );\n\t\t};\n\t}\n\n\tcloseEntitiesSavedStates( savedEntities ) {\n\t\tconst { postType, postId } = this.props;\n\t\tconst { entitiesSavedStatesCallback } = this.state;\n\t\tthis.setState( { entitiesSavedStatesCallback: false }, () => {\n\t\t\tif (\n\t\t\t\tsavedEntities &&\n\t\t\t\tsavedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === 'postType' &&\n\t\t\t\t\t\telt.name === postType &&\n\t\t\t\t\t\telt.key === postId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// The post entity was checked, call the held callback from `createOnClick`.\n\t\t\t\tentitiesSavedStatesCallback();\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\thasPublishAction,\n\t\t\tisBeingScheduled,\n\t\t\tisOpen,\n\t\t\tisPostSavingLocked,\n\t\t\tisPublishable,\n\t\t\tisPublished,\n\t\t\tisSaveable,\n\t\t\tisSaving,\n\t\t\tisAutoSaving,\n\t\t\tisToggle,\n\t\t\tonSave,\n\t\t\tonStatusChange,\n\t\t\tonSubmit = noop,\n\t\t\tonToggle,\n\t\t\tvisibility,\n\t\t\thasNonPostEntityChanges,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = this.props;\n\n\t\tconst isButtonDisabled =\n\t\t\t( isSaving ||\n\t\t\t\t! isSaveable ||\n\t\t\t\tisPostSavingLocked ||\n\t\t\t\t( ! isPublishable && ! forceIsDirty ) ) &&\n\t\t\t( ! hasNonPostEntityChanges || isSavingNonPostEntityChanges );\n\n\t\tconst isToggleDisabled =\n\t\t\t( isPublished ||\n\t\t\t\tisSaving ||\n\t\t\t\t! isSaveable ||\n\t\t\t\t( ! isPublishable && ! forceIsDirty ) ) &&\n\t\t\t( ! hasNonPostEntityChanges || isSavingNonPostEntityChanges );\n\n\t\tlet publishStatus;\n\t\tif ( ! hasPublishAction ) {\n\t\t\tpublishStatus = 'pending';\n\t\t} else if ( visibility === 'private' ) {\n\t\t\tpublishStatus = 'private';\n\t\t} else if ( isBeingScheduled ) {\n\t\t\tpublishStatus = 'future';\n\t\t} else {\n\t\t\tpublishStatus = 'publish';\n\t\t}\n\n\t\tconst onClickButton = () => {\n\t\t\tif ( isButtonDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonSubmit();\n\t\t\tonStatusChange( publishStatus );\n\t\t\tonSave();\n\t\t};\n\n\t\tconst onClickToggle = () => {\n\t\t\tif ( isToggleDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonToggle();\n\t\t};\n\n\t\tconst buttonProps = {\n\t\t\t'aria-disabled': isButtonDisabled,\n\t\t\tclassName: 'editor-post-publish-button',\n\t\t\tisBusy: ! isAutoSaving && isSaving,\n\t\t\tvariant: 'primary',\n\t\t\tonClick: this.createOnClick( onClickButton ),\n\t\t};\n\n\t\tconst toggleProps = {\n\t\t\t'aria-disabled': isToggleDisabled,\n\t\t\t'aria-expanded': isOpen,\n\t\t\tclassName: 'editor-post-publish-panel__toggle',\n\t\t\tisBusy: isSaving && isPublished,\n\t\t\tvariant: 'primary',\n\t\t\tsize: 'compact',\n\t\t\tonClick: this.createOnClick( onClickToggle ),\n\t\t};\n\n\t\tconst toggleChildren = isBeingScheduled\n\t\t\t? __( 'Schedule…' )\n\t\t\t: __( 'Publish' );\n\t\tconst buttonChildren = (\n\t\t\t<PublishButtonLabel\n\t\t\t\thasNonPostEntityChanges={ hasNonPostEntityChanges }\n\t\t\t/>\n\t\t);\n\n\t\tconst componentProps = isToggle ? toggleProps : buttonProps;\n\t\tconst componentChildren = isToggle ? toggleChildren : buttonChildren;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button\n\t\t\t\t\tref={ this.buttonNode }\n\t\t\t\t\t{ ...componentProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tcomponentProps.className,\n\t\t\t\t\t\t'editor-post-publish-button__button',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-changes-dot': hasNonPostEntityChanges,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ componentChildren }\n\t\t\t\t</Button>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisSavingPost,\n\t\t\tisAutosavingPost,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tgetEditedPostVisibility,\n\t\t\tisCurrentPostPublished,\n\t\t\tisEditedPostSaveable,\n\t\t\tisEditedPostPublishable,\n\t\t\tisPostSavingLocked,\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t\thasNonPostEntityChanges,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisAutoSaving: isAutosavingPost(),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tvisibility: getEditedPostVisibility(),\n\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\tisPostSavingLocked: isPostSavingLocked(),\n\t\t\tisPublishable: isEditedPostPublishable(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\thasNonPostEntityChanges: hasNonPostEntityChanges(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, savePost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonStatusChange: ( status ) =>\n\t\t\t\teditPost( { status }, { undoIgnore: true } ),\n\t\t\tonSave: savePost,\n\t\t};\n\t} ),\n] )( PostPublishButton );\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,SAAS,EAAEC,SAAS,QAAQ,oBAAoB;AACzD,SAASC,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAC1D,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,SAAS;AACxC,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,OAAO,MAAMC,iBAAiB,SAASV,SAAS,CAAC;EAChDW,WAAWA,CAAEC,KAAK,EAAG;IACpB,KAAK,CAAEA,KAAM,CAAC;IACd,IAAI,CAACC,UAAU,GAAGZ,SAAS,CAAC,CAAC;IAE7B,IAAI,CAACa,aAAa,GAAG,IAAI,CAACA,aAAa,CAACC,IAAI,CAAE,IAAK,CAAC;IACpD,IAAI,CAACC,wBAAwB,GAC5B,IAAI,CAACA,wBAAwB,CAACD,IAAI,CAAE,IAAK,CAAC;IAE3C,IAAI,CAACE,KAAK,GAAG;MACZC,2BAA2B,EAAE;IAC9B,CAAC;EACF;EAEAC,iBAAiBA,CAAA,EAAG;IACnB,IAAK,IAAI,CAACP,KAAK,CAACQ,YAAY,EAAG;MAC9B;MACA;MACA;MACA,IAAI,CAACC,SAAS,GAAGC,UAAU,CAAE,MAAM;QAClC,IAAI,CAACT,UAAU,CAACU,OAAO,CAACC,KAAK,CAAC,CAAC;MAChC,CAAC,EAAE,CAAE,CAAC;IACP;EACD;EAEAC,oBAAoBA,CAAA,EAAG;IACtBC,YAAY,CAAE,IAAI,CAACL,SAAU,CAAC;EAC/B;EAEAP,aAAaA,CAAEa,QAAQ,EAAG;IACzB,OAAO,CAAE,GAAGC,IAAI,KAAM;MACrB,MAAM;QAAEC,uBAAuB;QAAEC;MAA+B,CAAC,GAChE,IAAI,CAAClB,KAAK;MACX;MACA;MACA;MACA;MACA;MACA,IAAKiB,uBAAuB,IAAIC,8BAA8B,EAAG;QAChE;QACA;QACA;QACA,IAAI,CAACC,QAAQ,CAAE;UACdb,2BAA2B,EAAEA,CAAA,KAAMS,QAAQ,CAAE,GAAGC,IAAK;QACtD,CAAE,CAAC;;QAEH;QACA;QACA;QACA;QACAE,8BAA8B,CAC7B,MAAM,IAAI,CAACd,wBACZ,CAAC;QACD,OAAOP,IAAI;MACZ;MAEA,OAAOkB,QAAQ,CAAE,GAAGC,IAAK,CAAC;IAC3B,CAAC;EACF;EAEAZ,wBAAwBA,CAAEgB,aAAa,EAAG;IACzC,MAAM;MAAEC,QAAQ;MAAEC;IAAO,CAAC,GAAG,IAAI,CAACtB,KAAK;IACvC,MAAM;MAAEM;IAA4B,CAAC,GAAG,IAAI,CAACD,KAAK;IAClD,IAAI,CAACc,QAAQ,CAAE;MAAEb,2BAA2B,EAAE;IAAM,CAAC,EAAE,MAAM;MAC5D,IACCc,aAAa,IACbA,aAAa,CAACG,IAAI,CACfC,GAAG,IACJA,GAAG,CAACC,IAAI,KAAK,UAAU,IACvBD,GAAG,CAACE,IAAI,KAAKL,QAAQ,IACrBG,GAAG,CAACG,GAAG,KAAKL,MACd,CAAC,EACA;QACD;QACAhB,2BAA2B,CAAC,CAAC;MAC9B;IACD,CAAE,CAAC;EACJ;EAEAsB,MAAMA,CAAA,EAAG;IACR,MAAM;MACLC,YAAY;MACZC,gBAAgB;MAChBC,gBAAgB;MAChBC,MAAM;MACNC,kBAAkB;MAClBC,aAAa;MACbC,WAAW;MACXC,UAAU;MACVC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,MAAM;MACNC,cAAc;MACdC,QAAQ,GAAG7C,IAAI;MACf8C,QAAQ;MACRC,UAAU;MACV3B,uBAAuB;MACvB4B;IACD,CAAC,GAAG,IAAI,CAAC7C,KAAK;IAEd,MAAM8C,gBAAgB,GACrB,CAAET,QAAQ,IACT,CAAED,UAAU,IACZH,kBAAkB,IAChB,CAAEC,aAAa,IAAI,CAAEL,YAAc,MACpC,CAAEZ,uBAAuB,IAAI4B,4BAA4B,CAAE;IAE9D,MAAME,gBAAgB,GACrB,CAAEZ,WAAW,IACZE,QAAQ,IACR,CAAED,UAAU,IACV,CAAEF,aAAa,IAAI,CAAEL,YAAc,MACpC,CAAEZ,uBAAuB,IAAI4B,4BAA4B,CAAE;IAE9D,IAAIG,aAAa;IACjB,IAAK,CAAElB,gBAAgB,EAAG;MACzBkB,aAAa,GAAG,SAAS;IAC1B,CAAC,MAAM,IAAKJ,UAAU,KAAK,SAAS,EAAG;MACtCI,aAAa,GAAG,SAAS;IAC1B,CAAC,MAAM,IAAKjB,gBAAgB,EAAG;MAC9BiB,aAAa,GAAG,QAAQ;IACzB,CAAC,MAAM;MACNA,aAAa,GAAG,SAAS;IAC1B;IAEA,MAAMC,aAAa,GAAGA,CAAA,KAAM;MAC3B,IAAKH,gBAAgB,EAAG;QACvB;MACD;MACAJ,QAAQ,CAAC,CAAC;MACVD,cAAc,CAAEO,aAAc,CAAC;MAC/BR,MAAM,CAAC,CAAC;IACT,CAAC;IAED,MAAMU,aAAa,GAAGA,CAAA,KAAM;MAC3B,IAAKH,gBAAgB,EAAG;QACvB;MACD;MACAJ,QAAQ,CAAC,CAAC;IACX,CAAC;IAED,MAAMQ,WAAW,GAAG;MACnB,eAAe,EAAEL,gBAAgB;MACjCM,SAAS,EAAE,4BAA4B;MACvCC,MAAM,EAAE,CAAEf,YAAY,IAAID,QAAQ;MAClCiB,OAAO,EAAE,SAAS;MAClBC,OAAO,EAAE,IAAI,CAACrD,aAAa,CAAE+C,aAAc;IAC5C,CAAC;IAED,MAAMO,WAAW,GAAG;MACnB,eAAe,EAAET,gBAAgB;MACjC,eAAe,EAAEf,MAAM;MACvBoB,SAAS,EAAE,mCAAmC;MAC9CC,MAAM,EAAEhB,QAAQ,IAAIF,WAAW;MAC/BmB,OAAO,EAAE,SAAS;MAClBG,IAAI,EAAE,SAAS;MACfF,OAAO,EAAE,IAAI,CAACrD,aAAa,CAAEgD,aAAc;IAC5C,CAAC;IAED,MAAMQ,cAAc,GAAG3B,gBAAgB,GACpCtC,EAAE,CAAE,WAAY,CAAC,GACjBA,EAAE,CAAE,SAAU,CAAC;IAClB,MAAMkE,cAAc,GACnBC,aAAA,CAAClE,kBAAkB;MAClBuB,uBAAuB,EAAGA;IAAyB,CACnD,CACD;IAED,MAAM4C,cAAc,GAAGtB,QAAQ,GAAGiB,WAAW,GAAGL,WAAW;IAC3D,MAAMW,iBAAiB,GAAGvB,QAAQ,GAAGmB,cAAc,GAAGC,cAAc;IACpE,OACCC,aAAA,CAAAG,QAAA,QACCH,aAAA,CAACzE,MAAM;MACN6E,GAAG,EAAG,IAAI,CAAC/D,UAAY;MAAA,GAClB4D,cAAc;MACnBT,SAAS,EAAGlE,UAAU,CACrB2E,cAAc,CAACT,SAAS,EACxB,oCAAoC,EACpC;QACC,iBAAiB,EAAEnC;MACpB,CACD;IAAG,GAED6C,iBACK,CACP,CAAC;EAEL;AACD;AAEA,eAAetE,OAAO,CAAE,CACvBF,UAAU,CAAI2E,MAAM,IAAM;EAAA,IAAAC,qBAAA;EACzB,MAAM;IACLC,YAAY;IACZC,gBAAgB;IAChBC,0BAA0B;IAC1BC,uBAAuB;IACvBC,sBAAsB;IACtBC,oBAAoB;IACpBC,uBAAuB;IACvBxC,kBAAkB;IAClByC,cAAc;IACdC,kBAAkB;IAClBC,gBAAgB;IAChB3D,uBAAuB;IACvB4B;EACD,CAAC,GAAGoB,MAAM,CAAErE,WAAY,CAAC;EACzB,OAAO;IACNyC,QAAQ,EAAE8B,YAAY,CAAC,CAAC;IACxB7B,YAAY,EAAE8B,gBAAgB,CAAC,CAAC;IAChCrC,gBAAgB,EAAEsC,0BAA0B,CAAC,CAAC;IAC9CzB,UAAU,EAAE0B,uBAAuB,CAAC,CAAC;IACrClC,UAAU,EAAEoC,oBAAoB,CAAC,CAAC;IAClCvC,kBAAkB,EAAEA,kBAAkB,CAAC,CAAC;IACxCC,aAAa,EAAEuC,uBAAuB,CAAC,CAAC;IACxCtC,WAAW,EAAEoC,sBAAsB,CAAC,CAAC;IACrCzC,gBAAgB,GAAAoC,qBAAA,GACfQ,cAAc,CAAC,CAAC,CAACG,MAAM,GAAI,mBAAmB,CAAE,cAAAX,qBAAA,cAAAA,qBAAA,GAAI,KAAK;IAC1D7C,QAAQ,EAAEsD,kBAAkB,CAAC,CAAC;IAC9BrD,MAAM,EAAEsD,gBAAgB,CAAC,CAAC;IAC1B3D,uBAAuB,EAAEA,uBAAuB,CAAC,CAAC;IAClD4B,4BAA4B,EAAEA,4BAA4B,CAAC;EAC5D,CAAC;AACF,CAAE,CAAC,EACHtD,YAAY,CAAIuF,QAAQ,IAAM;EAC7B,MAAM;IAAEC,QAAQ;IAAEC;EAAS,CAAC,GAAGF,QAAQ,CAAElF,WAAY,CAAC;EACtD,OAAO;IACN6C,cAAc,EAAIwC,MAAM,IACvBF,QAAQ,CAAE;MAAEE;IAAO,CAAC,EAAE;MAAEC,UAAU,EAAE;IAAK,CAAE,CAAC;IAC7C1C,MAAM,EAAEwC;EACT,CAAC;AACF,CAAE,CAAC,CACF,CAAC,CAAElF,iBAAkB,CAAC"}
1
+ {"version":3,"names":["classnames","Button","Component","createRef","withSelect","withDispatch","compose","__","PublishButtonLabel","store","editorStore","noop","PostPublishButton","constructor","props","buttonNode","createOnClick","bind","closeEntitiesSavedStates","state","entitiesSavedStatesCallback","componentDidMount","focusOnMount","timeoutID","setTimeout","current","focus","componentWillUnmount","clearTimeout","callback","args","hasNonPostEntityChanges","setEntitiesSavedStatesCallback","setState","savedEntities","postType","postId","some","elt","kind","name","key","render","forceIsDirty","hasPublishAction","isBeingScheduled","isOpen","isPostSavingLocked","isPublishable","isPublished","isSaveable","isSaving","isAutoSaving","isToggle","onSave","onStatusChange","onSubmit","onToggle","visibility","isSavingNonPostEntityChanges","isButtonDisabled","isToggleDisabled","publishStatus","onClickButton","onClickToggle","buttonProps","className","isBusy","variant","onClick","toggleProps","size","toggleChildren","buttonChildren","createElement","componentProps","componentChildren","Fragment","ref","select","_getCurrentPost$_link","isSavingPost","isAutosavingPost","isEditedPostBeingScheduled","getEditedPostVisibility","isCurrentPostPublished","isEditedPostSaveable","isEditedPostPublishable","getCurrentPost","getCurrentPostType","getCurrentPostId","_links","dispatch","editPost","savePost","status","undoIgnore"],"sources":["@wordpress/editor/src/components/post-publish-button/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { Component, createRef } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport PublishButtonLabel from './label';\nimport { store as editorStore } from '../../store';\n\nconst noop = () => {};\n\nexport class PostPublishButton extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.buttonNode = createRef();\n\n\t\tthis.createOnClick = this.createOnClick.bind( this );\n\t\tthis.closeEntitiesSavedStates =\n\t\t\tthis.closeEntitiesSavedStates.bind( this );\n\n\t\tthis.state = {\n\t\t\tentitiesSavedStatesCallback: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.focusOnMount ) {\n\t\t\t// This timeout is necessary to make sure the `useEffect` hook of\n\t\t\t// `useFocusReturn` gets the correct element (the button that opens the\n\t\t\t// PostPublishPanel) otherwise it will get this button.\n\t\t\tthis.timeoutID = setTimeout( () => {\n\t\t\t\tthis.buttonNode.current.focus();\n\t\t\t}, 0 );\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timeoutID );\n\t}\n\n\tcreateOnClick( callback ) {\n\t\treturn ( ...args ) => {\n\t\t\tconst { hasNonPostEntityChanges, setEntitiesSavedStatesCallback } =\n\t\t\t\tthis.props;\n\t\t\t// If a post with non-post entities is published, but the user\n\t\t\t// elects to not save changes to the non-post entities, those\n\t\t\t// entities will still be dirty when the Publish button is clicked.\n\t\t\t// We also need to check that the `setEntitiesSavedStatesCallback`\n\t\t\t// prop was passed. See https://github.com/WordPress/gutenberg/pull/37383\n\t\t\tif ( hasNonPostEntityChanges && setEntitiesSavedStatesCallback ) {\n\t\t\t\t// The modal for multiple entity saving will open,\n\t\t\t\t// hold the callback for saving/publishing the post\n\t\t\t\t// so that we can call it if the post entity is checked.\n\t\t\t\tthis.setState( {\n\t\t\t\t\tentitiesSavedStatesCallback: () => callback( ...args ),\n\t\t\t\t} );\n\n\t\t\t\t// Open the save panel by setting its callback.\n\t\t\t\t// To set a function on the useState hook, we must set it\n\t\t\t\t// with another function (() => myFunction). Passing the\n\t\t\t\t// function on its own will cause an error when called.\n\t\t\t\tsetEntitiesSavedStatesCallback(\n\t\t\t\t\t() => this.closeEntitiesSavedStates\n\t\t\t\t);\n\t\t\t\treturn noop;\n\t\t\t}\n\n\t\t\treturn callback( ...args );\n\t\t};\n\t}\n\n\tcloseEntitiesSavedStates( savedEntities ) {\n\t\tconst { postType, postId } = this.props;\n\t\tconst { entitiesSavedStatesCallback } = this.state;\n\t\tthis.setState( { entitiesSavedStatesCallback: false }, () => {\n\t\t\tif (\n\t\t\t\tsavedEntities &&\n\t\t\t\tsavedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === 'postType' &&\n\t\t\t\t\t\telt.name === postType &&\n\t\t\t\t\t\telt.key === postId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// The post entity was checked, call the held callback from `createOnClick`.\n\t\t\t\tentitiesSavedStatesCallback();\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\thasPublishAction,\n\t\t\tisBeingScheduled,\n\t\t\tisOpen,\n\t\t\tisPostSavingLocked,\n\t\t\tisPublishable,\n\t\t\tisPublished,\n\t\t\tisSaveable,\n\t\t\tisSaving,\n\t\t\tisAutoSaving,\n\t\t\tisToggle,\n\t\t\tonSave,\n\t\t\tonStatusChange,\n\t\t\tonSubmit = noop,\n\t\t\tonToggle,\n\t\t\tvisibility,\n\t\t\thasNonPostEntityChanges,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = this.props;\n\n\t\tconst isButtonDisabled =\n\t\t\t( isSaving ||\n\t\t\t\t! isSaveable ||\n\t\t\t\tisPostSavingLocked ||\n\t\t\t\t( ! isPublishable && ! forceIsDirty ) ) &&\n\t\t\t( ! hasNonPostEntityChanges || isSavingNonPostEntityChanges );\n\n\t\tconst isToggleDisabled =\n\t\t\t( isPublished ||\n\t\t\t\tisSaving ||\n\t\t\t\t! isSaveable ||\n\t\t\t\t( ! isPublishable && ! forceIsDirty ) ) &&\n\t\t\t( ! hasNonPostEntityChanges || isSavingNonPostEntityChanges );\n\n\t\tlet publishStatus;\n\t\tif ( ! hasPublishAction ) {\n\t\t\tpublishStatus = 'pending';\n\t\t} else if ( visibility === 'private' ) {\n\t\t\tpublishStatus = 'private';\n\t\t} else if ( isBeingScheduled ) {\n\t\t\tpublishStatus = 'future';\n\t\t} else {\n\t\t\tpublishStatus = 'publish';\n\t\t}\n\n\t\tconst onClickButton = () => {\n\t\t\tif ( isButtonDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonSubmit();\n\t\t\tonStatusChange( publishStatus );\n\t\t\tonSave();\n\t\t};\n\n\t\tconst onClickToggle = () => {\n\t\t\tif ( isToggleDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonToggle();\n\t\t};\n\n\t\tconst buttonProps = {\n\t\t\t'aria-disabled': isButtonDisabled,\n\t\t\tclassName: 'editor-post-publish-button',\n\t\t\tisBusy: ! isAutoSaving && isSaving,\n\t\t\tvariant: 'primary',\n\t\t\tonClick: this.createOnClick( onClickButton ),\n\t\t};\n\n\t\tconst toggleProps = {\n\t\t\t'aria-disabled': isToggleDisabled,\n\t\t\t'aria-expanded': isOpen,\n\t\t\tclassName: 'editor-post-publish-panel__toggle',\n\t\t\tisBusy: isSaving && isPublished,\n\t\t\tvariant: 'primary',\n\t\t\tsize: 'compact',\n\t\t\tonClick: this.createOnClick( onClickToggle ),\n\t\t};\n\n\t\tconst toggleChildren = isBeingScheduled\n\t\t\t? __( 'Schedule…' )\n\t\t\t: __( 'Publish' );\n\t\tconst buttonChildren = (\n\t\t\t<PublishButtonLabel\n\t\t\t\thasNonPostEntityChanges={ hasNonPostEntityChanges }\n\t\t\t/>\n\t\t);\n\n\t\tconst componentProps = isToggle ? toggleProps : buttonProps;\n\t\tconst componentChildren = isToggle ? toggleChildren : buttonChildren;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button\n\t\t\t\t\tref={ this.buttonNode }\n\t\t\t\t\t{ ...componentProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tcomponentProps.className,\n\t\t\t\t\t\t'editor-post-publish-button__button',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-changes-dot': hasNonPostEntityChanges,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t>\n\t\t\t\t\t{ componentChildren }\n\t\t\t\t</Button>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisSavingPost,\n\t\t\tisAutosavingPost,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tgetEditedPostVisibility,\n\t\t\tisCurrentPostPublished,\n\t\t\tisEditedPostSaveable,\n\t\t\tisEditedPostPublishable,\n\t\t\tisPostSavingLocked,\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t\thasNonPostEntityChanges,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisAutoSaving: isAutosavingPost(),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tvisibility: getEditedPostVisibility(),\n\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\tisPostSavingLocked: isPostSavingLocked(),\n\t\t\tisPublishable: isEditedPostPublishable(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\thasNonPostEntityChanges: hasNonPostEntityChanges(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, savePost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonStatusChange: ( status ) =>\n\t\t\t\teditPost( { status }, { undoIgnore: true } ),\n\t\t\tonSave: savePost,\n\t\t};\n\t} ),\n] )( PostPublishButton );\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["__","Component","Button","Spinner","CheckboxControl","withFocusReturn","withConstrainedTabbing","withSelect","withDispatch","compose","closeSmall","store","coreStore","PostPublishButton","PostPublishPanelPrepublish","PostPublishPanelPostpublish","editorStore","PostPublishPanel","constructor","arguments","onSubmit","bind","componentDidUpdate","prevProps","isPublished","props","isSaving","isDirty","onClose","hasPublishAction","isPostTypeViewable","render","forceIsDirty","isBeingScheduled","isPublishSidebarEnabled","isScheduled","isSavingNonPostEntityChanges","onTogglePublishSidebar","PostPublishExtension","PrePublishExtension","additionalProps","propsForPanel","isPublishedOrScheduled","isPrePublish","isPostPublish","createElement","className","onClick","icon","label","Fragment","focusOnMount","disabled","variant","__nextHasNoMarginBottom","checked","onChange","select","_getCurrentPost$_link","getPostType","getCurrentPost","getEditedPostAttribute","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostBeingScheduled","isEditedPostDirty","isAutosavingPost","isSavingPost","postType","_links","viewable","dispatch","disablePublishSidebar","enablePublishSidebar"],"sources":["@wordpress/editor/src/components/post-publish-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tSpinner,\n\tCheckboxControl,\n\twithFocusReturn,\n\twithConstrainedTabbing,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { closeSmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostPublishButton from '../post-publish-button';\nimport PostPublishPanelPrepublish from './prepublish';\nimport PostPublishPanelPostpublish from './postpublish';\nimport { store as editorStore } from '../../store';\n\nexport class PostPublishPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSubmit = this.onSubmit.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Automatically collapse the publish sidebar when a post\n\t\t// is published and the user makes an edit.\n\t\tif (\n\t\t\tprevProps.isPublished &&\n\t\t\t! this.props.isSaving &&\n\t\t\tthis.props.isDirty\n\t\t) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t}\n\n\tonSubmit() {\n\t\tconst { onClose, hasPublishAction, isPostTypeViewable } = this.props;\n\t\tif ( ! hasPublishAction || ! isPostTypeViewable ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\tisBeingScheduled,\n\t\t\tisPublished,\n\t\t\tisPublishSidebarEnabled,\n\t\t\tisScheduled,\n\t\t\tisSaving,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tonClose,\n\t\t\tonTogglePublishSidebar,\n\t\t\tPostPublishExtension,\n\t\t\tPrePublishExtension,\n\t\t\t...additionalProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\thasPublishAction,\n\t\t\tisDirty,\n\t\t\tisPostTypeViewable,\n\t\t\t...propsForPanel\n\t\t} = additionalProps;\n\t\tconst isPublishedOrScheduled =\n\t\t\tisPublished || ( isScheduled && isBeingScheduled );\n\t\tconst isPrePublish = ! isPublishedOrScheduled && ! isSaving;\n\t\tconst isPostPublish = isPublishedOrScheduled && ! isSaving;\n\t\treturn (\n\t\t\t<div className=\"editor-post-publish-panel\" { ...propsForPanel }>\n\t\t\t\t<div className=\"editor-post-publish-panel__header\">\n\t\t\t\t\t{ isPostPublish ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ __( 'Close panel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-publish-button\">\n\t\t\t\t\t\t\t\t<PostPublishButton\n\t\t\t\t\t\t\t\t\tfocusOnMount\n\t\t\t\t\t\t\t\t\tonSubmit={ this.onSubmit }\n\t\t\t\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-cancel-button\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tdisabled={ isSavingNonPostEntityChanges }\n\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__content\">\n\t\t\t\t\t{ isPrePublish && (\n\t\t\t\t\t\t<PostPublishPanelPrepublish>\n\t\t\t\t\t\t\t{ PrePublishExtension && <PrePublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPrepublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isPostPublish && (\n\t\t\t\t\t\t<PostPublishPanelPostpublish focusOnMount={ true }>\n\t\t\t\t\t\t\t{ PostPublishExtension && <PostPublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPostpublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__footer\">\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Always show pre-publish checks.' ) }\n\t\t\t\t\t\tchecked={ isPublishSidebarEnabled }\n\t\t\t\t\t\tonChange={ onTogglePublishSidebar }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisAutosavingPost,\n\t\t\tisSavingPost,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\tconst { isPublishSidebarEnabled } = select( editorStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisPostTypeViewable: postType?.viewable,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisPublishSidebarEnabled: isPublishSidebarEnabled(),\n\t\t\tisSaving: isSavingPost() && ! isAutosavingPost(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isPublishSidebarEnabled } ) => {\n\t\tconst { disablePublishSidebar, enablePublishSidebar } =\n\t\t\tdispatch( editorStore );\n\t\treturn {\n\t\t\tonTogglePublishSidebar: () => {\n\t\t\t\tif ( isPublishSidebarEnabled ) {\n\t\t\t\t\tdisablePublishSidebar();\n\t\t\t\t} else {\n\t\t\t\t\tenablePublishSidebar();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n\twithFocusReturn,\n\twithConstrainedTabbing,\n] )( PostPublishPanel );\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","Component","Button","Spinner","CheckboxControl","withFocusReturn","withConstrainedTabbing","withSelect","withDispatch","compose","closeSmall","store","coreStore","PostPublishButton","PostPublishPanelPrepublish","PostPublishPanelPostpublish","editorStore","PostPublishPanel","constructor","arguments","onSubmit","bind","componentDidUpdate","prevProps","isPublished","props","isSaving","isDirty","onClose","hasPublishAction","isPostTypeViewable","render","forceIsDirty","isBeingScheduled","isPublishSidebarEnabled","isScheduled","isSavingNonPostEntityChanges","onTogglePublishSidebar","PostPublishExtension","PrePublishExtension","additionalProps","propsForPanel","isPublishedOrScheduled","isPrePublish","isPostPublish","createElement","className","onClick","icon","label","Fragment","focusOnMount","disabled","variant","__nextHasNoMarginBottom","checked","onChange","select","_getCurrentPost$_link","getPostType","getCurrentPost","getEditedPostAttribute","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostBeingScheduled","isEditedPostDirty","isAutosavingPost","isSavingPost","postType","_links","viewable","dispatch","disablePublishSidebar","enablePublishSidebar"],"sources":["@wordpress/editor/src/components/post-publish-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tSpinner,\n\tCheckboxControl,\n\twithFocusReturn,\n\twithConstrainedTabbing,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { closeSmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostPublishButton from '../post-publish-button';\nimport PostPublishPanelPrepublish from './prepublish';\nimport PostPublishPanelPostpublish from './postpublish';\nimport { store as editorStore } from '../../store';\n\nexport class PostPublishPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSubmit = this.onSubmit.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Automatically collapse the publish sidebar when a post\n\t\t// is published and the user makes an edit.\n\t\tif (\n\t\t\tprevProps.isPublished &&\n\t\t\t! this.props.isSaving &&\n\t\t\tthis.props.isDirty\n\t\t) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t}\n\n\tonSubmit() {\n\t\tconst { onClose, hasPublishAction, isPostTypeViewable } = this.props;\n\t\tif ( ! hasPublishAction || ! isPostTypeViewable ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\tisBeingScheduled,\n\t\t\tisPublished,\n\t\t\tisPublishSidebarEnabled,\n\t\t\tisScheduled,\n\t\t\tisSaving,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tonClose,\n\t\t\tonTogglePublishSidebar,\n\t\t\tPostPublishExtension,\n\t\t\tPrePublishExtension,\n\t\t\t...additionalProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\thasPublishAction,\n\t\t\tisDirty,\n\t\t\tisPostTypeViewable,\n\t\t\t...propsForPanel\n\t\t} = additionalProps;\n\t\tconst isPublishedOrScheduled =\n\t\t\tisPublished || ( isScheduled && isBeingScheduled );\n\t\tconst isPrePublish = ! isPublishedOrScheduled && ! isSaving;\n\t\tconst isPostPublish = isPublishedOrScheduled && ! isSaving;\n\t\treturn (\n\t\t\t<div className=\"editor-post-publish-panel\" { ...propsForPanel }>\n\t\t\t\t<div className=\"editor-post-publish-panel__header\">\n\t\t\t\t\t{ isPostPublish ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ __( 'Close panel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-publish-button\">\n\t\t\t\t\t\t\t\t<PostPublishButton\n\t\t\t\t\t\t\t\t\tfocusOnMount\n\t\t\t\t\t\t\t\t\tonSubmit={ this.onSubmit }\n\t\t\t\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-cancel-button\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tdisabled={ isSavingNonPostEntityChanges }\n\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__content\">\n\t\t\t\t\t{ isPrePublish && (\n\t\t\t\t\t\t<PostPublishPanelPrepublish>\n\t\t\t\t\t\t\t{ PrePublishExtension && <PrePublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPrepublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isPostPublish && (\n\t\t\t\t\t\t<PostPublishPanelPostpublish focusOnMount>\n\t\t\t\t\t\t\t{ PostPublishExtension && <PostPublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPostpublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__footer\">\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Always show pre-publish checks.' ) }\n\t\t\t\t\t\tchecked={ isPublishSidebarEnabled }\n\t\t\t\t\t\tonChange={ onTogglePublishSidebar }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisAutosavingPost,\n\t\t\tisSavingPost,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\tconst { isPublishSidebarEnabled } = select( editorStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisPostTypeViewable: postType?.viewable,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisPublishSidebarEnabled: isPublishSidebarEnabled(),\n\t\t\tisSaving: isSavingPost() && ! isAutosavingPost(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isPublishSidebarEnabled } ) => {\n\t\tconst { disablePublishSidebar, enablePublishSidebar } =\n\t\t\tdispatch( editorStore );\n\t\treturn {\n\t\t\tonTogglePublishSidebar: () => {\n\t\t\t\tif ( isPublishSidebarEnabled ) {\n\t\t\t\t\tdisablePublishSidebar();\n\t\t\t\t} else {\n\t\t\t\t\tenablePublishSidebar();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n\twithFocusReturn,\n\twithConstrainedTabbing,\n] )( PostPublishPanel );\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SACCC,MAAM,EACNC,OAAO,EACPC,eAAe,EACfC,eAAe,EACfC,sBAAsB,QAChB,uBAAuB;AAC9B,SAASC,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAC1D,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,0BAA0B,MAAM,cAAc;AACrD,OAAOC,2BAA2B,MAAM,eAAe;AACvD,SAASJ,KAAK,IAAIK,WAAW,QAAQ,aAAa;AAElD,OAAO,MAAMC,gBAAgB,SAAShB,SAAS,CAAC;EAC/CiB,WAAWA,CAAA,EAAG;IACb,KAAK,CAAE,GAAGC,SAAU,CAAC;IACrB,IAAI,CAACC,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACC,IAAI,CAAE,IAAK,CAAC;EAC3C;EAEAC,kBAAkBA,CAAEC,SAAS,EAAG;IAC/B;IACA;IACA,IACCA,SAAS,CAACC,WAAW,IACrB,CAAE,IAAI,CAACC,KAAK,CAACC,QAAQ,IACrB,IAAI,CAACD,KAAK,CAACE,OAAO,EACjB;MACD,IAAI,CAACF,KAAK,CAACG,OAAO,CAAC,CAAC;IACrB;EACD;EAEAR,QAAQA,CAAA,EAAG;IACV,MAAM;MAAEQ,OAAO;MAAEC,gBAAgB;MAAEC;IAAmB,CAAC,GAAG,IAAI,CAACL,KAAK;IACpE,IAAK,CAAEI,gBAAgB,IAAI,CAAEC,kBAAkB,EAAG;MACjDF,OAAO,CAAC,CAAC;IACV;EACD;EAEAG,MAAMA,CAAA,EAAG;IACR,MAAM;MACLC,YAAY;MACZC,gBAAgB;MAChBT,WAAW;MACXU,uBAAuB;MACvBC,WAAW;MACXT,QAAQ;MACRU,4BAA4B;MAC5BR,OAAO;MACPS,sBAAsB;MACtBC,oBAAoB;MACpBC,mBAAmB;MACnB,GAAGC;IACJ,CAAC,GAAG,IAAI,CAACf,KAAK;IACd,MAAM;MACLI,gBAAgB;MAChBF,OAAO;MACPG,kBAAkB;MAClB,GAAGW;IACJ,CAAC,GAAGD,eAAe;IACnB,MAAME,sBAAsB,GAC3BlB,WAAW,IAAMW,WAAW,IAAIF,gBAAkB;IACnD,MAAMU,YAAY,GAAG,CAAED,sBAAsB,IAAI,CAAEhB,QAAQ;IAC3D,MAAMkB,aAAa,GAAGF,sBAAsB,IAAI,CAAEhB,QAAQ;IAC1D,OACCmB,aAAA;MAAKC,SAAS,EAAC,2BAA2B;MAAA,GAAML;IAAa,GAC5DI,aAAA;MAAKC,SAAS,EAAC;IAAmC,GAC/CF,aAAa,GACdC,aAAA,CAAC3C,MAAM;MACN6C,OAAO,EAAGnB,OAAS;MACnBoB,IAAI,EAAGtC,UAAY;MACnBuC,KAAK,EAAGjD,EAAE,CAAE,aAAc;IAAG,CAC7B,CAAC,GAEF6C,aAAA,CAAAK,QAAA,QACCL,aAAA;MAAKC,SAAS,EAAC;IAAkD,GAChED,aAAA,CAAChC,iBAAiB;MACjBsC,YAAY;MACZ/B,QAAQ,EAAG,IAAI,CAACA,QAAU;MAC1BY,YAAY,EAAGA;IAAc,CAC7B,CACG,CAAC,EACNa,aAAA;MAAKC,SAAS,EAAC;IAAiD,GAC/DD,aAAA,CAAC3C,MAAM;MACNkD,QAAQ,EAAGhB,4BAA8B;MACzCW,OAAO,EAAGnB,OAAS;MACnByB,OAAO,EAAC;IAAW,GAEjBrD,EAAE,CAAE,QAAS,CACR,CACJ,CACJ,CAEC,CAAC,EACN6C,aAAA;MAAKC,SAAS,EAAC;IAAoC,GAChDH,YAAY,IACbE,aAAA,CAAC/B,0BAA0B,QACxByB,mBAAmB,IAAIM,aAAA,CAACN,mBAAmB,MAAE,CACpB,CAC5B,EACCK,aAAa,IACdC,aAAA,CAAC9B,2BAA2B;MAACoC,YAAY;IAAA,GACtCb,oBAAoB,IAAIO,aAAA,CAACP,oBAAoB,MAAE,CACrB,CAC7B,EACCZ,QAAQ,IAAImB,aAAA,CAAC1C,OAAO,MAAE,CACpB,CAAC,EACN0C,aAAA;MAAKC,SAAS,EAAC;IAAmC,GACjDD,aAAA,CAACzC,eAAe;MACfkD,uBAAuB;MACvBL,KAAK,EAAGjD,EAAE,CAAE,iCAAkC,CAAG;MACjDuD,OAAO,EAAGrB,uBAAyB;MACnCsB,QAAQ,EAAGnB;IAAwB,CACnC,CACG,CACD,CAAC;EAER;AACD;AAEA,eAAe5B,OAAO,CAAE,CACvBF,UAAU,CAAIkD,MAAM,IAAM;EAAA,IAAAC,qBAAA;EACzB,MAAM;IAAEC;EAAY,CAAC,GAAGF,MAAM,CAAE7C,SAAU,CAAC;EAC3C,MAAM;IACLgD,cAAc;IACdC,sBAAsB;IACtBC,sBAAsB;IACtBC,sBAAsB;IACtBC,0BAA0B;IAC1BC,iBAAiB;IACjBC,gBAAgB;IAChBC,YAAY;IACZ/B;EACD,CAAC,GAAGqB,MAAM,CAAEzC,WAAY,CAAC;EACzB,MAAM;IAAEkB;EAAwB,CAAC,GAAGuB,MAAM,CAAEzC,WAAY,CAAC;EACzD,MAAMoD,QAAQ,GAAGT,WAAW,CAAEE,sBAAsB,CAAE,MAAO,CAAE,CAAC;EAEhE,OAAO;IACNhC,gBAAgB,GAAA6B,qBAAA,GACfE,cAAc,CAAC,CAAC,CAACS,MAAM,GAAI,mBAAmB,CAAE,cAAAX,qBAAA,cAAAA,qBAAA,GAAI,KAAK;IAC1D5B,kBAAkB,EAAEsC,QAAQ,EAAEE,QAAQ;IACtCrC,gBAAgB,EAAE+B,0BAA0B,CAAC,CAAC;IAC9CrC,OAAO,EAAEsC,iBAAiB,CAAC,CAAC;IAC5BzC,WAAW,EAAEsC,sBAAsB,CAAC,CAAC;IACrC5B,uBAAuB,EAAEA,uBAAuB,CAAC,CAAC;IAClDR,QAAQ,EAAEyC,YAAY,CAAC,CAAC,IAAI,CAAED,gBAAgB,CAAC,CAAC;IAChD9B,4BAA4B,EAAEA,4BAA4B,CAAC,CAAC;IAC5DD,WAAW,EAAE4B,sBAAsB,CAAC;EACrC,CAAC;AACF,CAAE,CAAC,EACHvD,YAAY,CAAE,CAAE+D,QAAQ,EAAE;EAAErC;AAAwB,CAAC,KAAM;EAC1D,MAAM;IAAEsC,qBAAqB;IAAEC;EAAqB,CAAC,GACpDF,QAAQ,CAAEvD,WAAY,CAAC;EACxB,OAAO;IACNqB,sBAAsB,EAAEA,CAAA,KAAM;MAC7B,IAAKH,uBAAuB,EAAG;QAC9BsC,qBAAqB,CAAC,CAAC;MACxB,CAAC,MAAM;QACNC,oBAAoB,CAAC,CAAC;MACvB;IACD;EACD,CAAC;AACF,CAAE,CAAC,EACHpE,eAAe,EACfC,sBAAsB,CACrB,CAAC,CAAEW,gBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["PanelBody","Button","Spinner","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","useSelect","useDispatch","__","store","blockEditorStore","useState","isBlobURL","editorStore","flattenBlocks","blocks","result","forEach","block","push","innerBlocks","Image","selectBlock","createElement","img","tabIndex","role","onClick","clientId","onKeyDown","event","key","preventDefault","alt","attributes","src","url","animate","opacity","exit","scale","style","width","height","objectFit","borderRadius","cursor","whileHover","PostFormatPanel","isUploading","setIsUploading","editorBlocks","mediaUpload","select","getEditorBlocks","getSettings","externalImages","filter","name","id","updateBlockAttributes","length","panelBodyTitle","className","uploadImages","Promise","all","map","image","window","fetch","includes","then","response","blob","resolve","reject","filesList","onFileChange","media","onError","finally","initialOpen","title","display","flexWrap","gap","variant"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-upload-media.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tButton,\n\tSpinner,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useState } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction flattenBlocks( blocks ) {\n\tconst result = [];\n\n\tblocks.forEach( ( block ) => {\n\t\tresult.push( block );\n\t\tresult.push( ...flattenBlocks( block.innerBlocks ) );\n\t} );\n\n\treturn result;\n}\n\nfunction Image( block ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\treturn (\n\t\t<motion.img\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\taria-label={ __( 'Select image block.' ) }\n\t\t\tonClick={ () => {\n\t\t\t\tselectBlock( block.clientId );\n\t\t\t} }\n\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tselectBlock( block.clientId );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} }\n\t\t\tkey={ block.clientId }\n\t\t\talt={ block.attributes.alt }\n\t\t\tsrc={ block.attributes.url }\n\t\t\tanimate={ { opacity: 1 } }\n\t\t\texit={ { opacity: 0, scale: 0 } }\n\t\t\tstyle={ {\n\t\t\t\twidth: '36px',\n\t\t\t\theight: '36px',\n\t\t\t\tobjectFit: 'cover',\n\t\t\t\tborderRadius: '2px',\n\t\t\t\tcursor: 'pointer',\n\t\t\t} }\n\t\t\twhileHover={ { scale: 1.08 } }\n\t\t/>\n\t);\n}\n\nexport default function PostFormatPanel() {\n\tconst [ isUploading, setIsUploading ] = useState( false );\n\tconst { editorBlocks, mediaUpload } = useSelect(\n\t\t( select ) => ( {\n\t\t\teditorBlocks: select( editorStore ).getEditorBlocks(),\n\t\t\tmediaUpload: select( blockEditorStore ).getSettings().mediaUpload,\n\t\t} ),\n\t\t[]\n\t);\n\tconst externalImages = flattenBlocks( editorBlocks ).filter(\n\t\t( block ) =>\n\t\t\tblock.name === 'core/image' &&\n\t\t\tblock.attributes.url &&\n\t\t\t! block.attributes.id\n\t);\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tif ( ! mediaUpload || ! externalImages.length ) {\n\t\treturn null;\n\t}\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'External media' ) }\n\t\t</span>,\n\t];\n\n\tfunction uploadImages() {\n\t\tsetIsUploading( true );\n\t\tPromise.all(\n\t\t\texternalImages.map( ( image ) =>\n\t\t\t\twindow\n\t\t\t\t\t.fetch(\n\t\t\t\t\t\timage.attributes.url.includes( '?' )\n\t\t\t\t\t\t\t? image.attributes.url\n\t\t\t\t\t\t\t: image.attributes.url + '?'\n\t\t\t\t\t)\n\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t.then(\n\t\t\t\t\t\t( blob ) =>\n\t\t\t\t\t\t\tnew Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\tif ( isBlobURL( media.url ) ) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tupdateBlockAttributes( image.clientId, {\n\t\t\t\t\t\t\t\t\t\t\tid: media.id,\n\t\t\t\t\t\t\t\t\t\t\turl: media.url,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonError() {\n\t\t\t\t\t\t\t\t\t\treject();\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} )\n\t\t\t\t\t)\n\t\t\t)\n\t\t).finally( () => {\n\t\t\tsetIsUploading( false );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PanelBody initialOpen={ true } title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Upload external images to the Media Library. Images from different domains may load slowly, display incorrectly, or be removed unexpectedly.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<div\n\t\t\t\tstyle={ {\n\t\t\t\t\tdisplay: 'inline-flex',\n\t\t\t\t\tflexWrap: 'wrap',\n\t\t\t\t\tgap: '8px',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t{ externalImages.map( ( image ) => {\n\t\t\t\t\t\treturn <Image key={ image.clientId } { ...image } />;\n\t\t\t\t\t} ) }\n\t\t\t\t</AnimatePresence>\n\t\t\t\t{ isUploading ? (\n\t\t\t\t\t<Spinner />\n\t\t\t\t) : (\n\t\t\t\t\t<Button variant=\"primary\" onClick={ uploadImages }>\n\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["PanelBody","Button","Spinner","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","useSelect","useDispatch","__","store","blockEditorStore","useState","isBlobURL","editorStore","flattenBlocks","blocks","result","forEach","block","push","innerBlocks","Image","selectBlock","createElement","img","tabIndex","role","onClick","clientId","onKeyDown","event","key","preventDefault","alt","attributes","src","url","animate","opacity","exit","scale","style","width","height","objectFit","borderRadius","cursor","whileHover","PostFormatPanel","isUploading","setIsUploading","editorBlocks","mediaUpload","select","getEditorBlocks","getSettings","externalImages","filter","name","id","updateBlockAttributes","length","panelBodyTitle","className","uploadImages","Promise","all","map","image","window","fetch","includes","then","response","blob","resolve","reject","filesList","onFileChange","media","onError","finally","initialOpen","title","display","flexWrap","gap","variant"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-upload-media.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tButton,\n\tSpinner,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useState } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction flattenBlocks( blocks ) {\n\tconst result = [];\n\n\tblocks.forEach( ( block ) => {\n\t\tresult.push( block );\n\t\tresult.push( ...flattenBlocks( block.innerBlocks ) );\n\t} );\n\n\treturn result;\n}\n\nfunction Image( block ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\treturn (\n\t\t<motion.img\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\taria-label={ __( 'Select image block.' ) }\n\t\t\tonClick={ () => {\n\t\t\t\tselectBlock( block.clientId );\n\t\t\t} }\n\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tselectBlock( block.clientId );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} }\n\t\t\tkey={ block.clientId }\n\t\t\talt={ block.attributes.alt }\n\t\t\tsrc={ block.attributes.url }\n\t\t\tanimate={ { opacity: 1 } }\n\t\t\texit={ { opacity: 0, scale: 0 } }\n\t\t\tstyle={ {\n\t\t\t\twidth: '36px',\n\t\t\t\theight: '36px',\n\t\t\t\tobjectFit: 'cover',\n\t\t\t\tborderRadius: '2px',\n\t\t\t\tcursor: 'pointer',\n\t\t\t} }\n\t\t\twhileHover={ { scale: 1.08 } }\n\t\t/>\n\t);\n}\n\nexport default function PostFormatPanel() {\n\tconst [ isUploading, setIsUploading ] = useState( false );\n\tconst { editorBlocks, mediaUpload } = useSelect(\n\t\t( select ) => ( {\n\t\t\teditorBlocks: select( editorStore ).getEditorBlocks(),\n\t\t\tmediaUpload: select( blockEditorStore ).getSettings().mediaUpload,\n\t\t} ),\n\t\t[]\n\t);\n\tconst externalImages = flattenBlocks( editorBlocks ).filter(\n\t\t( block ) =>\n\t\t\tblock.name === 'core/image' &&\n\t\t\tblock.attributes.url &&\n\t\t\t! block.attributes.id\n\t);\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tif ( ! mediaUpload || ! externalImages.length ) {\n\t\treturn null;\n\t}\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'External media' ) }\n\t\t</span>,\n\t];\n\n\tfunction uploadImages() {\n\t\tsetIsUploading( true );\n\t\tPromise.all(\n\t\t\texternalImages.map( ( image ) =>\n\t\t\t\twindow\n\t\t\t\t\t.fetch(\n\t\t\t\t\t\timage.attributes.url.includes( '?' )\n\t\t\t\t\t\t\t? image.attributes.url\n\t\t\t\t\t\t\t: image.attributes.url + '?'\n\t\t\t\t\t)\n\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t.then(\n\t\t\t\t\t\t( blob ) =>\n\t\t\t\t\t\t\tnew Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\tif ( isBlobURL( media.url ) ) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tupdateBlockAttributes( image.clientId, {\n\t\t\t\t\t\t\t\t\t\t\tid: media.id,\n\t\t\t\t\t\t\t\t\t\t\turl: media.url,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonError() {\n\t\t\t\t\t\t\t\t\t\treject();\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} )\n\t\t\t\t\t)\n\t\t\t)\n\t\t).finally( () => {\n\t\t\tsetIsUploading( false );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PanelBody initialOpen title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Upload external images to the Media Library. Images from different domains may load slowly, display incorrectly, or be removed unexpectedly.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<div\n\t\t\t\tstyle={ {\n\t\t\t\t\tdisplay: 'inline-flex',\n\t\t\t\t\tflexWrap: 'wrap',\n\t\t\t\t\tgap: '8px',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t{ externalImages.map( ( image ) => {\n\t\t\t\t\t\treturn <Image key={ image.clientId } { ...image } />;\n\t\t\t\t\t} ) }\n\t\t\t\t</AnimatePresence>\n\t\t\t\t{ isUploading ? (\n\t\t\t\t\t<Spinner />\n\t\t\t\t) : (\n\t\t\t\t\t<Button variant=\"primary\" onClick={ uploadImages }>\n\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":"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"}
@@ -347,6 +347,7 @@ export function HierarchicalTermSelector({
347
347
  direction: "column",
348
348
  gap: "4"
349
349
  }, createElement(TextControl, {
350
+ __next40pxDefaultSize: true,
350
351
  __nextHasNoMarginBottom: true,
351
352
  className: "editor-post-taxonomies__hierarchical-terms-input",
352
353
  label: newTermLabel,
@@ -354,6 +355,7 @@ export function HierarchicalTermSelector({
354
355
  onChange: onChangeFormName,
355
356
  required: true
356
357
  }), !!availableTerms.length && createElement(TreeSelect, {
358
+ __next40pxDefaultSize: true,
357
359
  __nextHasNoMarginBottom: true,
358
360
  label: parentSelectLabel,
359
361
  noOptionLabel: noParentOption,
@@ -361,6 +363,7 @@ export function HierarchicalTermSelector({
361
363
  selectedId: formParent,
362
364
  tree: availableTermsTree
363
365
  }), createElement(FlexItem, null, createElement(Button, {
366
+ __next40pxDefaultSize: true,
364
367
  variant: "secondary",
365
368
  type: "submit",
366
369
  className: "editor-post-taxonomies__hierarchical-terms-submit"
@@ -1 +1 @@
1
- {"version":3,"names":["__","_n","_x","sprintf","useMemo","useState","store","noticesStore","Button","CheckboxControl","TextControl","TreeSelect","withFilters","Flex","FlexItem","useDispatch","useSelect","useDebounce","coreStore","speak","decodeEntities","buildTermsTree","editorStore","DEFAULT_QUERY","per_page","orderby","order","_fields","context","MIN_TERMS_COUNT_FOR_FILTER","EMPTY_ARRAY","sortBySelected","termsTree","terms","treeHasSelection","termTree","indexOf","id","undefined","children","map","filter","child","length","termOrChildIsSelected","termA","termB","termASelected","termBSelected","newTermTree","sort","findTerm","parent","name","find","term","parseInt","toLowerCase","getFilterMatcher","filterValue","matchTermsForFilter","originalTerm","HierarchicalTermSelector","slug","_taxonomy$labels$sear","_taxonomy$name","adding","setAdding","formName","setFormName","formParent","setFormParent","showForm","setShowForm","setFilterValue","filteredTermsTree","setFilteredTermsTree","debouncedSpeak","hasCreateAction","hasAssignAction","loading","availableTerms","taxonomy","select","_post$_links","_post$_links2","getCurrentPost","getEditedPostAttribute","getTaxonomy","getEntityRecords","isResolving","_taxonomy","post","_links","rest_base","editPost","saveEntityRecord","availableTermsTree","createErrorNotice","addTerm","throwOnError","onUpdateTerms","termIds","onChange","termId","hasTerm","includes","newTerms","onChangeFormName","value","onChangeFormParent","parentId","onToggleForm","onAddTerm","event","_taxonomy$labels$sing","preventDefault","existingTerm","some","newTerm","error","message","type","defaultName","termAddedMessage","labels","singular_name","setFilter","newFilteredTermsTree","getResultCount","count","i","resultCount","resultsFoundMessage","renderTerms","renderedTerms","createElement","key","className","__nextHasNoMarginBottom","checked","label","labelWithFallback","labelProperty","fallbackIsCategory","fallbackIsNotCategory","_taxonomy$labels$labe","newTermButtonLabel","newTermLabel","parentSelectLabel","noParentOption","newTermSubmitLabel","filterLabel","search_items","groupLabel","showFilter","direction","gap","tabIndex","role","onClick","variant","onSubmit","required","noOptionLabel","selectedId","tree"],"sources":["@wordpress/editor/src/components/post-taxonomies/hierarchical-term-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, _x, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tButton,\n\tCheckboxControl,\n\tTextControl,\n\tTreeSelect,\n\twithFilters,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useDebounce } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { speak } from '@wordpress/a11y';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\n/**\n * Module Constants\n */\nconst DEFAULT_QUERY = {\n\tper_page: -1,\n\torderby: 'name',\n\torder: 'asc',\n\t_fields: 'id,name,parent',\n\tcontext: 'view',\n};\n\nconst MIN_TERMS_COUNT_FOR_FILTER = 8;\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Sort Terms by Selected.\n *\n * @param {Object[]} termsTree Array of terms in tree format.\n * @param {number[]} terms Selected terms.\n *\n * @return {Object[]} Sorted array of terms.\n */\nexport function sortBySelected( termsTree, terms ) {\n\tconst treeHasSelection = ( termTree ) => {\n\t\tif ( terms.indexOf( termTree.id ) !== -1 ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( undefined === termTree.children ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\ttermTree.children\n\t\t\t\t.map( treeHasSelection )\n\t\t\t\t.filter( ( child ) => child ).length > 0\n\t\t);\n\t};\n\tconst termOrChildIsSelected = ( termA, termB ) => {\n\t\tconst termASelected = treeHasSelection( termA );\n\t\tconst termBSelected = treeHasSelection( termB );\n\n\t\tif ( termASelected === termBSelected ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif ( termASelected && ! termBSelected ) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tif ( ! termASelected && termBSelected ) {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn 0;\n\t};\n\tconst newTermTree = [ ...termsTree ];\n\tnewTermTree.sort( termOrChildIsSelected );\n\treturn newTermTree;\n}\n\n/**\n * Find term by parent id or name.\n *\n * @param {Object[]} terms Array of Terms.\n * @param {number|string} parent id.\n * @param {string} name Term name.\n * @return {Object} Term object.\n */\nexport function findTerm( terms, parent, name ) {\n\treturn terms.find( ( term ) => {\n\t\treturn (\n\t\t\t( ( ! term.parent && ! parent ) ||\n\t\t\t\tparseInt( term.parent ) === parseInt( parent ) ) &&\n\t\t\tterm.name.toLowerCase() === name.toLowerCase()\n\t\t);\n\t} );\n}\n\n/**\n * Get filter matcher function.\n *\n * @param {string} filterValue Filter value.\n * @return {(function(Object): (Object|boolean))} Matcher function.\n */\nexport function getFilterMatcher( filterValue ) {\n\tconst matchTermsForFilter = ( originalTerm ) => {\n\t\tif ( '' === filterValue ) {\n\t\t\treturn originalTerm;\n\t\t}\n\n\t\t// Shallow clone, because we'll be filtering the term's children and\n\t\t// don't want to modify the original term.\n\t\tconst term = { ...originalTerm };\n\n\t\t// Map and filter the children, recursive so we deal with grandchildren\n\t\t// and any deeper levels.\n\t\tif ( term.children.length > 0 ) {\n\t\t\tterm.children = term.children\n\t\t\t\t.map( matchTermsForFilter )\n\t\t\t\t.filter( ( child ) => child );\n\t\t}\n\n\t\t// If the term's name contains the filterValue, or it has children\n\t\t// (i.e. some child matched at some point in the tree) then return it.\n\t\tif (\n\t\t\t-1 !==\n\t\t\t\tterm.name.toLowerCase().indexOf( filterValue.toLowerCase() ) ||\n\t\t\tterm.children.length > 0\n\t\t) {\n\t\t\treturn term;\n\t\t}\n\n\t\t// Otherwise, return false. After mapping, the list of terms will need\n\t\t// to have false values filtered out.\n\t\treturn false;\n\t};\n\treturn matchTermsForFilter;\n}\n\n/**\n * Hierarchical term selector.\n *\n * @param {Object} props Component props.\n * @param {string} props.slug Taxonomy slug.\n * @return {Element} Hierarchical term selector component.\n */\nexport function HierarchicalTermSelector( { slug } ) {\n\tconst [ adding, setAdding ] = useState( false );\n\tconst [ formName, setFormName ] = useState( '' );\n\t/**\n\t * @type {[number|'', Function]}\n\t */\n\tconst [ formParent, setFormParent ] = useState( '' );\n\tconst [ showForm, setShowForm ] = useState( false );\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ filteredTermsTree, setFilteredTermsTree ] = useState( [] );\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tconst {\n\t\thasCreateAction,\n\t\thasAssignAction,\n\t\tterms,\n\t\tloading,\n\t\tavailableTerms,\n\t\ttaxonomy,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPost, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getTaxonomy, getEntityRecords, isResolving } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _taxonomy = getTaxonomy( slug );\n\t\t\tconst post = getCurrentPost();\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\tterms: _taxonomy\n\t\t\t\t\t? getEditedPostAttribute( _taxonomy.rest_base )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t\tloading: isResolving( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\tslug,\n\t\t\t\t\tDEFAULT_QUERY,\n\t\t\t\t] ),\n\t\t\t\tavailableTerms:\n\t\t\t\t\tgetEntityRecords( 'taxonomy', slug, DEFAULT_QUERY ) ||\n\t\t\t\t\tEMPTY_ARRAY,\n\t\t\t\ttaxonomy: _taxonomy,\n\t\t\t};\n\t\t},\n\t\t[ slug ]\n\t);\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tconst availableTermsTree = useMemo(\n\t\t() => sortBySelected( buildTermsTree( availableTerms ), terms ),\n\t\t// Remove `terms` from the dependency list to avoid reordering every time\n\t\t// checking or unchecking a term.\n\t\t[ availableTerms ]\n\t);\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tif ( ! hasAssignAction ) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Append new term.\n\t *\n\t * @param {Object} term Term object.\n\t * @return {Promise} A promise that resolves to save term object.\n\t */\n\tconst addTerm = ( term ) => {\n\t\treturn saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\tthrowOnError: true,\n\t\t} );\n\t};\n\n\t/**\n\t * Update terms for post.\n\t *\n\t * @param {number[]} termIds Term ids.\n\t */\n\tconst onUpdateTerms = ( termIds ) => {\n\t\teditPost( { [ taxonomy.rest_base ]: termIds } );\n\t};\n\n\t/**\n\t * Handler for checking term.\n\t *\n\t * @param {number} termId\n\t */\n\tconst onChange = ( termId ) => {\n\t\tconst hasTerm = terms.includes( termId );\n\t\tconst newTerms = hasTerm\n\t\t\t? terms.filter( ( id ) => id !== termId )\n\t\t\t: [ ...terms, termId ];\n\t\tonUpdateTerms( newTerms );\n\t};\n\n\tconst onChangeFormName = ( value ) => {\n\t\tsetFormName( value );\n\t};\n\n\t/**\n\t * Handler for changing form parent.\n\t *\n\t * @param {number|''} parentId Parent post id.\n\t */\n\tconst onChangeFormParent = ( parentId ) => {\n\t\tsetFormParent( parentId );\n\t};\n\n\tconst onToggleForm = () => {\n\t\tsetShowForm( ! showForm );\n\t};\n\n\tconst onAddTerm = async ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( formName === '' || adding ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Check if the term we are adding already exists.\n\t\tconst existingTerm = findTerm( availableTerms, formParent, formName );\n\t\tif ( existingTerm ) {\n\t\t\t// If the term we are adding exists but is not selected select it.\n\t\t\tif ( ! terms.some( ( term ) => term === existingTerm.id ) ) {\n\t\t\t\tonUpdateTerms( [ ...terms, existingTerm.id ] );\n\t\t\t}\n\n\t\t\tsetFormName( '' );\n\t\t\tsetFormParent( '' );\n\n\t\t\treturn;\n\t\t}\n\t\tsetAdding( true );\n\t\tlet newTerm;\n\t\ttry {\n\t\t\tnewTerm = await addTerm( {\n\t\t\t\tname: formName,\n\t\t\t\tparent: formParent ? formParent : undefined,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\tconst defaultName =\n\t\t\tslug === 'category' ? __( 'Category' ) : __( 'Term' );\n\t\tconst termAddedMessage = sprintf(\n\t\t\t/* translators: %s: taxonomy name */\n\t\t\t_x( '%s added', 'term' ),\n\t\t\ttaxonomy?.labels?.singular_name ?? defaultName\n\t\t);\n\t\tspeak( termAddedMessage, 'assertive' );\n\t\tsetAdding( false );\n\t\tsetFormName( '' );\n\t\tsetFormParent( '' );\n\t\tonUpdateTerms( [ ...terms, newTerm.id ] );\n\t};\n\n\tconst setFilter = ( value ) => {\n\t\tconst newFilteredTermsTree = availableTermsTree\n\t\t\t.map( getFilterMatcher( value ) )\n\t\t\t.filter( ( term ) => term );\n\t\tconst getResultCount = ( termsTree ) => {\n\t\t\tlet count = 0;\n\t\t\tfor ( let i = 0; i < termsTree.length; i++ ) {\n\t\t\t\tcount++;\n\t\t\t\tif ( undefined !== termsTree[ i ].children ) {\n\t\t\t\t\tcount += getResultCount( termsTree[ i ].children );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn count;\n\t\t};\n\n\t\tsetFilterValue( value );\n\t\tsetFilteredTermsTree( newFilteredTermsTree );\n\n\t\tconst resultCount = getResultCount( newFilteredTermsTree );\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results */\n\t\t\t_n( '%d result found.', '%d results found.', resultCount ),\n\t\t\tresultCount\n\t\t);\n\n\t\tdebouncedSpeak( resultsFoundMessage, 'assertive' );\n\t};\n\n\tconst renderTerms = ( renderedTerms ) => {\n\t\treturn renderedTerms.map( ( term ) => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={ term.id }\n\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-choice\"\n\t\t\t\t>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tchecked={ terms.indexOf( term.id ) !== -1 }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tconst termId = parseInt( term.id, 10 );\n\t\t\t\t\t\t\tonChange( termId );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ decodeEntities( term.name ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ !! term.children.length && (\n\t\t\t\t\t\t<div className=\"editor-post-taxonomies__hierarchical-terms-subchoices\">\n\t\t\t\t\t\t\t{ renderTerms( term.children ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t);\n\t\t} );\n\t};\n\n\tconst labelWithFallback = (\n\t\tlabelProperty,\n\t\tfallbackIsCategory,\n\t\tfallbackIsNotCategory\n\t) =>\n\t\ttaxonomy?.labels?.[ labelProperty ] ??\n\t\t( slug === 'category' ? fallbackIsCategory : fallbackIsNotCategory );\n\n\tconst newTermButtonLabel = labelWithFallback(\n\t\t'add_new_item',\n\t\t__( 'Add new category' ),\n\t\t__( 'Add new term' )\n\t);\n\tconst newTermLabel = labelWithFallback(\n\t\t'new_item_name',\n\t\t__( 'Add new category' ),\n\t\t__( 'Add new term' )\n\t);\n\tconst parentSelectLabel = labelWithFallback(\n\t\t'parent_item',\n\t\t__( 'Parent Category' ),\n\t\t__( 'Parent Term' )\n\t);\n\tconst noParentOption = `— ${ parentSelectLabel } —`;\n\tconst newTermSubmitLabel = newTermButtonLabel;\n\tconst filterLabel = taxonomy?.labels?.search_items ?? __( 'Search Terms' );\n\tconst groupLabel = taxonomy?.name ?? __( 'Terms' );\n\tconst showFilter = availableTerms.length >= MIN_TERMS_COUNT_FOR_FILTER;\n\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"4\">\n\t\t\t{ showFilter && (\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ filterLabel }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tonChange={ setFilter }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div\n\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-list\"\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={ groupLabel }\n\t\t\t>\n\t\t\t\t{ renderTerms(\n\t\t\t\t\t'' !== filterValue ? filteredTermsTree : availableTermsTree\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ ! loading && hasCreateAction && (\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ onToggleForm }\n\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-add\"\n\t\t\t\t\t\taria-expanded={ showForm }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ newTermButtonLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t) }\n\t\t\t{ showForm && (\n\t\t\t\t<form onSubmit={ onAddTerm }>\n\t\t\t\t\t<Flex direction=\"column\" gap=\"4\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-input\"\n\t\t\t\t\t\t\tlabel={ newTermLabel }\n\t\t\t\t\t\t\tvalue={ formName }\n\t\t\t\t\t\t\tonChange={ onChangeFormName }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ !! availableTerms.length && (\n\t\t\t\t\t\t\t<TreeSelect\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ parentSelectLabel }\n\t\t\t\t\t\t\t\tnoOptionLabel={ noParentOption }\n\t\t\t\t\t\t\t\tonChange={ onChangeFormParent }\n\t\t\t\t\t\t\t\tselectedId={ formParent }\n\t\t\t\t\t\t\t\ttree={ availableTermsTree }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-submit\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ newTermSubmitLabel }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</form>\n\t\t\t) }\n\t\t</Flex>\n\t);\n}\n\nexport default withFilters( 'editor.PostTaxonomyType' )(\n\tHierarchicalTermSelector\n);\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","_n","_x","sprintf","useMemo","useState","store","noticesStore","Button","CheckboxControl","TextControl","TreeSelect","withFilters","Flex","FlexItem","useDispatch","useSelect","useDebounce","coreStore","speak","decodeEntities","buildTermsTree","editorStore","DEFAULT_QUERY","per_page","orderby","order","_fields","context","MIN_TERMS_COUNT_FOR_FILTER","EMPTY_ARRAY","sortBySelected","termsTree","terms","treeHasSelection","termTree","indexOf","id","undefined","children","map","filter","child","length","termOrChildIsSelected","termA","termB","termASelected","termBSelected","newTermTree","sort","findTerm","parent","name","find","term","parseInt","toLowerCase","getFilterMatcher","filterValue","matchTermsForFilter","originalTerm","HierarchicalTermSelector","slug","_taxonomy$labels$sear","_taxonomy$name","adding","setAdding","formName","setFormName","formParent","setFormParent","showForm","setShowForm","setFilterValue","filteredTermsTree","setFilteredTermsTree","debouncedSpeak","hasCreateAction","hasAssignAction","loading","availableTerms","taxonomy","select","_post$_links","_post$_links2","getCurrentPost","getEditedPostAttribute","getTaxonomy","getEntityRecords","isResolving","_taxonomy","post","_links","rest_base","editPost","saveEntityRecord","availableTermsTree","createErrorNotice","addTerm","throwOnError","onUpdateTerms","termIds","onChange","termId","hasTerm","includes","newTerms","onChangeFormName","value","onChangeFormParent","parentId","onToggleForm","onAddTerm","event","_taxonomy$labels$sing","preventDefault","existingTerm","some","newTerm","error","message","type","defaultName","termAddedMessage","labels","singular_name","setFilter","newFilteredTermsTree","getResultCount","count","i","resultCount","resultsFoundMessage","renderTerms","renderedTerms","createElement","key","className","__nextHasNoMarginBottom","checked","label","labelWithFallback","labelProperty","fallbackIsCategory","fallbackIsNotCategory","_taxonomy$labels$labe","newTermButtonLabel","newTermLabel","parentSelectLabel","noParentOption","newTermSubmitLabel","filterLabel","search_items","groupLabel","showFilter","direction","gap","tabIndex","role","onClick","variant","onSubmit","__next40pxDefaultSize","required","noOptionLabel","selectedId","tree"],"sources":["@wordpress/editor/src/components/post-taxonomies/hierarchical-term-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, _x, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tButton,\n\tCheckboxControl,\n\tTextControl,\n\tTreeSelect,\n\twithFilters,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useDebounce } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { speak } from '@wordpress/a11y';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\n/**\n * Module Constants\n */\nconst DEFAULT_QUERY = {\n\tper_page: -1,\n\torderby: 'name',\n\torder: 'asc',\n\t_fields: 'id,name,parent',\n\tcontext: 'view',\n};\n\nconst MIN_TERMS_COUNT_FOR_FILTER = 8;\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Sort Terms by Selected.\n *\n * @param {Object[]} termsTree Array of terms in tree format.\n * @param {number[]} terms Selected terms.\n *\n * @return {Object[]} Sorted array of terms.\n */\nexport function sortBySelected( termsTree, terms ) {\n\tconst treeHasSelection = ( termTree ) => {\n\t\tif ( terms.indexOf( termTree.id ) !== -1 ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( undefined === termTree.children ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\ttermTree.children\n\t\t\t\t.map( treeHasSelection )\n\t\t\t\t.filter( ( child ) => child ).length > 0\n\t\t);\n\t};\n\tconst termOrChildIsSelected = ( termA, termB ) => {\n\t\tconst termASelected = treeHasSelection( termA );\n\t\tconst termBSelected = treeHasSelection( termB );\n\n\t\tif ( termASelected === termBSelected ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif ( termASelected && ! termBSelected ) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tif ( ! termASelected && termBSelected ) {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn 0;\n\t};\n\tconst newTermTree = [ ...termsTree ];\n\tnewTermTree.sort( termOrChildIsSelected );\n\treturn newTermTree;\n}\n\n/**\n * Find term by parent id or name.\n *\n * @param {Object[]} terms Array of Terms.\n * @param {number|string} parent id.\n * @param {string} name Term name.\n * @return {Object} Term object.\n */\nexport function findTerm( terms, parent, name ) {\n\treturn terms.find( ( term ) => {\n\t\treturn (\n\t\t\t( ( ! term.parent && ! parent ) ||\n\t\t\t\tparseInt( term.parent ) === parseInt( parent ) ) &&\n\t\t\tterm.name.toLowerCase() === name.toLowerCase()\n\t\t);\n\t} );\n}\n\n/**\n * Get filter matcher function.\n *\n * @param {string} filterValue Filter value.\n * @return {(function(Object): (Object|boolean))} Matcher function.\n */\nexport function getFilterMatcher( filterValue ) {\n\tconst matchTermsForFilter = ( originalTerm ) => {\n\t\tif ( '' === filterValue ) {\n\t\t\treturn originalTerm;\n\t\t}\n\n\t\t// Shallow clone, because we'll be filtering the term's children and\n\t\t// don't want to modify the original term.\n\t\tconst term = { ...originalTerm };\n\n\t\t// Map and filter the children, recursive so we deal with grandchildren\n\t\t// and any deeper levels.\n\t\tif ( term.children.length > 0 ) {\n\t\t\tterm.children = term.children\n\t\t\t\t.map( matchTermsForFilter )\n\t\t\t\t.filter( ( child ) => child );\n\t\t}\n\n\t\t// If the term's name contains the filterValue, or it has children\n\t\t// (i.e. some child matched at some point in the tree) then return it.\n\t\tif (\n\t\t\t-1 !==\n\t\t\t\tterm.name.toLowerCase().indexOf( filterValue.toLowerCase() ) ||\n\t\t\tterm.children.length > 0\n\t\t) {\n\t\t\treturn term;\n\t\t}\n\n\t\t// Otherwise, return false. After mapping, the list of terms will need\n\t\t// to have false values filtered out.\n\t\treturn false;\n\t};\n\treturn matchTermsForFilter;\n}\n\n/**\n * Hierarchical term selector.\n *\n * @param {Object} props Component props.\n * @param {string} props.slug Taxonomy slug.\n * @return {Element} Hierarchical term selector component.\n */\nexport function HierarchicalTermSelector( { slug } ) {\n\tconst [ adding, setAdding ] = useState( false );\n\tconst [ formName, setFormName ] = useState( '' );\n\t/**\n\t * @type {[number|'', Function]}\n\t */\n\tconst [ formParent, setFormParent ] = useState( '' );\n\tconst [ showForm, setShowForm ] = useState( false );\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ filteredTermsTree, setFilteredTermsTree ] = useState( [] );\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tconst {\n\t\thasCreateAction,\n\t\thasAssignAction,\n\t\tterms,\n\t\tloading,\n\t\tavailableTerms,\n\t\ttaxonomy,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPost, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getTaxonomy, getEntityRecords, isResolving } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _taxonomy = getTaxonomy( slug );\n\t\t\tconst post = getCurrentPost();\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\tterms: _taxonomy\n\t\t\t\t\t? getEditedPostAttribute( _taxonomy.rest_base )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t\tloading: isResolving( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\tslug,\n\t\t\t\t\tDEFAULT_QUERY,\n\t\t\t\t] ),\n\t\t\t\tavailableTerms:\n\t\t\t\t\tgetEntityRecords( 'taxonomy', slug, DEFAULT_QUERY ) ||\n\t\t\t\t\tEMPTY_ARRAY,\n\t\t\t\ttaxonomy: _taxonomy,\n\t\t\t};\n\t\t},\n\t\t[ slug ]\n\t);\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tconst availableTermsTree = useMemo(\n\t\t() => sortBySelected( buildTermsTree( availableTerms ), terms ),\n\t\t// Remove `terms` from the dependency list to avoid reordering every time\n\t\t// checking or unchecking a term.\n\t\t[ availableTerms ]\n\t);\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tif ( ! hasAssignAction ) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Append new term.\n\t *\n\t * @param {Object} term Term object.\n\t * @return {Promise} A promise that resolves to save term object.\n\t */\n\tconst addTerm = ( term ) => {\n\t\treturn saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\tthrowOnError: true,\n\t\t} );\n\t};\n\n\t/**\n\t * Update terms for post.\n\t *\n\t * @param {number[]} termIds Term ids.\n\t */\n\tconst onUpdateTerms = ( termIds ) => {\n\t\teditPost( { [ taxonomy.rest_base ]: termIds } );\n\t};\n\n\t/**\n\t * Handler for checking term.\n\t *\n\t * @param {number} termId\n\t */\n\tconst onChange = ( termId ) => {\n\t\tconst hasTerm = terms.includes( termId );\n\t\tconst newTerms = hasTerm\n\t\t\t? terms.filter( ( id ) => id !== termId )\n\t\t\t: [ ...terms, termId ];\n\t\tonUpdateTerms( newTerms );\n\t};\n\n\tconst onChangeFormName = ( value ) => {\n\t\tsetFormName( value );\n\t};\n\n\t/**\n\t * Handler for changing form parent.\n\t *\n\t * @param {number|''} parentId Parent post id.\n\t */\n\tconst onChangeFormParent = ( parentId ) => {\n\t\tsetFormParent( parentId );\n\t};\n\n\tconst onToggleForm = () => {\n\t\tsetShowForm( ! showForm );\n\t};\n\n\tconst onAddTerm = async ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( formName === '' || adding ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Check if the term we are adding already exists.\n\t\tconst existingTerm = findTerm( availableTerms, formParent, formName );\n\t\tif ( existingTerm ) {\n\t\t\t// If the term we are adding exists but is not selected select it.\n\t\t\tif ( ! terms.some( ( term ) => term === existingTerm.id ) ) {\n\t\t\t\tonUpdateTerms( [ ...terms, existingTerm.id ] );\n\t\t\t}\n\n\t\t\tsetFormName( '' );\n\t\t\tsetFormParent( '' );\n\n\t\t\treturn;\n\t\t}\n\t\tsetAdding( true );\n\t\tlet newTerm;\n\t\ttry {\n\t\t\tnewTerm = await addTerm( {\n\t\t\t\tname: formName,\n\t\t\t\tparent: formParent ? formParent : undefined,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\tconst defaultName =\n\t\t\tslug === 'category' ? __( 'Category' ) : __( 'Term' );\n\t\tconst termAddedMessage = sprintf(\n\t\t\t/* translators: %s: taxonomy name */\n\t\t\t_x( '%s added', 'term' ),\n\t\t\ttaxonomy?.labels?.singular_name ?? defaultName\n\t\t);\n\t\tspeak( termAddedMessage, 'assertive' );\n\t\tsetAdding( false );\n\t\tsetFormName( '' );\n\t\tsetFormParent( '' );\n\t\tonUpdateTerms( [ ...terms, newTerm.id ] );\n\t};\n\n\tconst setFilter = ( value ) => {\n\t\tconst newFilteredTermsTree = availableTermsTree\n\t\t\t.map( getFilterMatcher( value ) )\n\t\t\t.filter( ( term ) => term );\n\t\tconst getResultCount = ( termsTree ) => {\n\t\t\tlet count = 0;\n\t\t\tfor ( let i = 0; i < termsTree.length; i++ ) {\n\t\t\t\tcount++;\n\t\t\t\tif ( undefined !== termsTree[ i ].children ) {\n\t\t\t\t\tcount += getResultCount( termsTree[ i ].children );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn count;\n\t\t};\n\n\t\tsetFilterValue( value );\n\t\tsetFilteredTermsTree( newFilteredTermsTree );\n\n\t\tconst resultCount = getResultCount( newFilteredTermsTree );\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results */\n\t\t\t_n( '%d result found.', '%d results found.', resultCount ),\n\t\t\tresultCount\n\t\t);\n\n\t\tdebouncedSpeak( resultsFoundMessage, 'assertive' );\n\t};\n\n\tconst renderTerms = ( renderedTerms ) => {\n\t\treturn renderedTerms.map( ( term ) => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={ term.id }\n\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-choice\"\n\t\t\t\t>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tchecked={ terms.indexOf( term.id ) !== -1 }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tconst termId = parseInt( term.id, 10 );\n\t\t\t\t\t\t\tonChange( termId );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ decodeEntities( term.name ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ !! term.children.length && (\n\t\t\t\t\t\t<div className=\"editor-post-taxonomies__hierarchical-terms-subchoices\">\n\t\t\t\t\t\t\t{ renderTerms( term.children ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t);\n\t\t} );\n\t};\n\n\tconst labelWithFallback = (\n\t\tlabelProperty,\n\t\tfallbackIsCategory,\n\t\tfallbackIsNotCategory\n\t) =>\n\t\ttaxonomy?.labels?.[ labelProperty ] ??\n\t\t( slug === 'category' ? fallbackIsCategory : fallbackIsNotCategory );\n\n\tconst newTermButtonLabel = labelWithFallback(\n\t\t'add_new_item',\n\t\t__( 'Add new category' ),\n\t\t__( 'Add new term' )\n\t);\n\tconst newTermLabel = labelWithFallback(\n\t\t'new_item_name',\n\t\t__( 'Add new category' ),\n\t\t__( 'Add new term' )\n\t);\n\tconst parentSelectLabel = labelWithFallback(\n\t\t'parent_item',\n\t\t__( 'Parent Category' ),\n\t\t__( 'Parent Term' )\n\t);\n\tconst noParentOption = `— ${ parentSelectLabel } —`;\n\tconst newTermSubmitLabel = newTermButtonLabel;\n\tconst filterLabel = taxonomy?.labels?.search_items ?? __( 'Search Terms' );\n\tconst groupLabel = taxonomy?.name ?? __( 'Terms' );\n\tconst showFilter = availableTerms.length >= MIN_TERMS_COUNT_FOR_FILTER;\n\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"4\">\n\t\t\t{ showFilter && (\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ filterLabel }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tonChange={ setFilter }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div\n\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-list\"\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={ groupLabel }\n\t\t\t>\n\t\t\t\t{ renderTerms(\n\t\t\t\t\t'' !== filterValue ? filteredTermsTree : availableTermsTree\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ ! loading && hasCreateAction && (\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ onToggleForm }\n\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-add\"\n\t\t\t\t\t\taria-expanded={ showForm }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ newTermButtonLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t) }\n\t\t\t{ showForm && (\n\t\t\t\t<form onSubmit={ onAddTerm }>\n\t\t\t\t\t<Flex direction=\"column\" gap=\"4\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-input\"\n\t\t\t\t\t\t\tlabel={ newTermLabel }\n\t\t\t\t\t\t\tvalue={ formName }\n\t\t\t\t\t\t\tonChange={ onChangeFormName }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ !! availableTerms.length && (\n\t\t\t\t\t\t\t<TreeSelect\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ parentSelectLabel }\n\t\t\t\t\t\t\t\tnoOptionLabel={ noParentOption }\n\t\t\t\t\t\t\t\tonChange={ onChangeFormParent }\n\t\t\t\t\t\t\t\tselectedId={ formParent }\n\t\t\t\t\t\t\t\ttree={ availableTermsTree }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-submit\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ newTermSubmitLabel }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</form>\n\t\t\t) }\n\t\t</Flex>\n\t);\n}\n\nexport default withFilters( 'editor.PostTaxonomyType' )(\n\tHierarchicalTermSelector\n);\n"],"mappings":"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"}
@@ -21,7 +21,6 @@ import { __unstableStripHTML as stripHTML } from '@wordpress/dom';
21
21
  /**
22
22
  * Internal dependencies
23
23
  */
24
- import { store as editorStore } from '../../store';
25
24
  import { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';
26
25
  import usePostTitleFocus from './use-post-title-focus';
27
26
  import usePostTitle from './use-post-title';
@@ -31,9 +30,6 @@ function PostTitle(_, forwardedRef) {
31
30
  placeholder,
32
31
  hasFixedToolbar
33
32
  } = useSelect(select => {
34
- const {
35
- getEditedPostAttribute
36
- } = select(editorStore);
37
33
  const {
38
34
  getSettings
39
35
  } = select(blockEditorStore);
@@ -42,7 +38,6 @@ function PostTitle(_, forwardedRef) {
42
38
  hasFixedToolbar: _hasFixedToolbar
43
39
  } = getSettings();
44
40
  return {
45
- title: getEditedPostAttribute('title'),
46
41
  placeholder: titlePlaceholder,
47
42
  hasFixedToolbar: _hasFixedToolbar
48
43
  };