@wordpress/editor 12.11.0 → 12.14.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 (141) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/components/document-outline/index.js +7 -9
  3. package/build/components/document-outline/index.js.map +1 -1
  4. package/build/components/editor-history/redo.js +2 -1
  5. package/build/components/editor-history/redo.js.map +1 -1
  6. package/build/components/error-boundary/index.js +3 -0
  7. package/build/components/error-boundary/index.js.map +1 -1
  8. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +11 -1
  9. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  10. package/build/components/index.js +49 -8
  11. package/build/components/index.js.map +1 -1
  12. package/build/components/page-attributes/order.js +3 -7
  13. package/build/components/page-attributes/order.js.map +1 -1
  14. package/build/components/page-attributes/parent.js +7 -3
  15. package/build/components/page-attributes/parent.js.map +1 -1
  16. package/build/components/post-format/index.js +5 -8
  17. package/build/components/post-format/index.js.map +1 -1
  18. package/build/components/post-locked-modal/index.js +1 -1
  19. package/build/components/post-locked-modal/index.js.map +1 -1
  20. package/build/components/post-publish-panel/maybe-category-panel.js +2 -4
  21. package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  22. package/build/components/post-schedule/label.js +3 -3
  23. package/build/components/post-schedule/label.js.map +1 -1
  24. package/build/components/post-slug/index.js +8 -13
  25. package/build/components/post-slug/index.js.map +1 -1
  26. package/build/components/post-taxonomies/flat-term-selector.js +1 -0
  27. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  28. package/build/components/post-taxonomies/hierarchical-term-selector.js +1 -0
  29. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  30. package/build/components/post-taxonomies/index.js +3 -1
  31. package/build/components/post-taxonomies/index.js.map +1 -1
  32. package/build/components/post-template/index.js +1 -2
  33. package/build/components/post-template/index.js.map +1 -1
  34. package/build/components/post-title/index.js +8 -2
  35. package/build/components/post-title/index.js.map +1 -1
  36. package/build/components/post-url/check.js +54 -0
  37. package/build/components/post-url/check.js.map +1 -0
  38. package/build/components/post-url/index.js +115 -0
  39. package/build/components/post-url/index.js.map +1 -0
  40. package/build/components/post-url/label.js +30 -0
  41. package/build/components/post-url/label.js.map +1 -0
  42. package/build/components/post-visibility/label.js +5 -0
  43. package/build/components/post-visibility/label.js.map +1 -1
  44. package/build/components/provider/index.native.js +3 -1
  45. package/build/components/provider/index.native.js.map +1 -1
  46. package/build/components/provider/use-block-editor-settings.js +2 -2
  47. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  48. package/build/components/table-of-contents/panel.js +5 -1
  49. package/build/components/table-of-contents/panel.js.map +1 -1
  50. package/build/components/time-to-read/index.js +60 -0
  51. package/build/components/time-to-read/index.js.map +1 -0
  52. package/build/store/selectors.js +3 -3
  53. package/build/store/selectors.js.map +1 -1
  54. package/build-module/components/document-outline/index.js +7 -8
  55. package/build-module/components/document-outline/index.js.map +1 -1
  56. package/build-module/components/editor-history/redo.js +3 -2
  57. package/build-module/components/editor-history/redo.js.map +1 -1
  58. package/build-module/components/error-boundary/index.js +2 -0
  59. package/build-module/components/error-boundary/index.js.map +1 -1
  60. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +10 -1
  61. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  62. package/build-module/components/index.js +6 -3
  63. package/build-module/components/index.js.map +1 -1
  64. package/build-module/components/page-attributes/order.js +3 -6
  65. package/build-module/components/page-attributes/order.js.map +1 -1
  66. package/build-module/components/page-attributes/parent.js +5 -4
  67. package/build-module/components/page-attributes/parent.js.map +1 -1
  68. package/build-module/components/post-format/index.js +5 -8
  69. package/build-module/components/post-format/index.js.map +1 -1
  70. package/build-module/components/post-locked-modal/index.js +1 -1
  71. package/build-module/components/post-locked-modal/index.js.map +1 -1
  72. package/build-module/components/post-publish-panel/maybe-category-panel.js +2 -4
  73. package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  74. package/build-module/components/post-schedule/label.js +3 -3
  75. package/build-module/components/post-schedule/label.js.map +1 -1
  76. package/build-module/components/post-slug/index.js +8 -14
  77. package/build-module/components/post-slug/index.js.map +1 -1
  78. package/build-module/components/post-taxonomies/flat-term-selector.js +1 -2
  79. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  80. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +1 -2
  81. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  82. package/build-module/components/post-taxonomies/index.js +4 -1
  83. package/build-module/components/post-taxonomies/index.js.map +1 -1
  84. package/build-module/components/post-template/index.js +1 -2
  85. package/build-module/components/post-template/index.js.map +1 -1
  86. package/build-module/components/post-title/index.js +8 -2
  87. package/build-module/components/post-title/index.js.map +1 -1
  88. package/build-module/components/post-url/check.js +44 -0
  89. package/build-module/components/post-url/check.js.map +1 -0
  90. package/build-module/components/post-url/index.js +102 -0
  91. package/build-module/components/post-url/index.js.map +1 -0
  92. package/build-module/components/post-url/label.js +18 -0
  93. package/build-module/components/post-url/label.js.map +1 -0
  94. package/build-module/components/post-visibility/label.js +3 -0
  95. package/build-module/components/post-visibility/label.js.map +1 -1
  96. package/build-module/components/provider/index.native.js +3 -1
  97. package/build-module/components/provider/index.native.js.map +1 -1
  98. package/build-module/components/provider/use-block-editor-settings.js +2 -2
  99. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  100. package/build-module/components/table-of-contents/panel.js +4 -1
  101. package/build-module/components/table-of-contents/panel.js.map +1 -1
  102. package/build-module/components/time-to-read/index.js +50 -0
  103. package/build-module/components/time-to-read/index.js.map +1 -0
  104. package/build-module/store/selectors.js +4 -4
  105. package/build-module/store/selectors.js.map +1 -1
  106. package/build-style/style-rtl.css +18 -17
  107. package/build-style/style.css +22 -17
  108. package/package.json +30 -29
  109. package/src/components/README.md +1 -1
  110. package/src/components/document-outline/index.js +9 -8
  111. package/src/components/editor-history/redo.js +6 -2
  112. package/src/components/error-boundary/index.js +3 -0
  113. package/src/components/global-keyboard-shortcuts/register-shortcuts.js +13 -0
  114. package/src/components/index.js +9 -3
  115. package/src/components/page-attributes/order.js +1 -9
  116. package/src/components/page-attributes/parent.js +5 -11
  117. package/src/components/post-format/index.js +13 -19
  118. package/src/components/post-format/style.scss +2 -17
  119. package/src/components/post-locked-modal/index.js +1 -1
  120. package/src/components/post-publish-panel/maybe-category-panel.js +3 -5
  121. package/src/components/post-schedule/label.js +1 -1
  122. package/src/components/post-slug/index.js +7 -13
  123. package/src/components/post-slug/test/index.js +7 -6
  124. package/src/components/post-taxonomies/flat-term-selector.js +1 -1
  125. package/src/components/post-taxonomies/hierarchical-term-selector.js +1 -1
  126. package/src/components/post-taxonomies/index.js +3 -1
  127. package/src/components/post-template/index.js +1 -1
  128. package/src/components/post-title/index.js +8 -2
  129. package/src/components/post-trash/style.scss +3 -0
  130. package/src/components/post-url/check.js +38 -0
  131. package/src/components/post-url/index.js +122 -0
  132. package/src/components/post-url/label.js +22 -0
  133. package/src/components/post-url/style.scss +16 -0
  134. package/src/components/post-visibility/label.js +4 -0
  135. package/src/components/provider/index.native.js +3 -1
  136. package/src/components/provider/use-block-editor-settings.js +5 -1
  137. package/src/components/table-of-contents/panel.js +7 -2
  138. package/src/components/time-to-read/index.js +59 -0
  139. package/src/store/selectors.js +5 -6
  140. package/src/store/test/selectors.js +1 -1
  141. package/src/style.scss +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-title/index.js"],"names":["REGEXP_NEWLINES","PostTitle","_","forwardedRef","ref","isSelected","setIsSelected","editPost","editorStore","insertDefaultBlock","clearSelectedBlock","insertBlocks","blockEditorStore","isCleanNewPost","title","placeholder","isFocusMode","hasFixedToolbar","select","getEditedPostAttribute","_isCleanNewPost","getSettings","titlePlaceholder","focusMode","_hasFixedToolbar","focus","current","ownerDocument","activeElement","body","onEnterPress","undefined","onInsertBlockAfter","blocks","onUpdate","newTitle","selection","setSelection","onSelect","onUnselect","onChange","value","replace","onKeyDown","event","keyCode","ENTER","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","HTML","length","firstBlock","name","attributes","slice","className","decodedPlaceholder","richTextRef","selectionStart","start","selectionEnd","end","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","preserveWhiteSpace"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tforwardRef,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { ENTER } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { pasteHandler } from '@wordpress/blocks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __unstableUseRichText as useRichText } from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\n/**\n * Constants\n */\nconst REGEXP_NEWLINES = /[\\r\\n]+/g;\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst ref = useRef();\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { insertDefaultBlock, clearSelectedBlock, insertBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { isCleanNewPost, title, placeholder, isFocusMode, hasFixedToolbar } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEditedPostAttribute, isCleanNewPost: _isCleanNewPost } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\tconst {\n\t\t\t\ttitlePlaceholder,\n\t\t\t\tfocusMode,\n\t\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t\t} = getSettings();\n\n\t\t\treturn {\n\t\t\t\tisCleanNewPost: _isCleanNewPost(),\n\t\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\t\tplaceholder: titlePlaceholder,\n\t\t\t\tisFocusMode: focusMode,\n\t\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t\t};\n\t\t}, [] );\n\n\tuseImperativeHandle( forwardedRef, () => ( {\n\t\tfocus: () => {\n\t\t\tref?.current?.focus();\n\t\t},\n\t} ) );\n\n\tuseEffect( () => {\n\t\tif ( ! ref.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { activeElement, body } = ownerDocument;\n\n\t\t// Only autofocus the title when the post is entirely empty. This should\n\t\t// only happen for a new post, which means we focus the title on new\n\t\t// post so the author can start typing right away, without needing to\n\t\t// click anything.\n\t\tif ( isCleanNewPost && ( ! activeElement || body === activeElement ) ) {\n\t\t\tref.current.focus();\n\t\t}\n\t}, [ isCleanNewPost ] );\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onUpdate( newTitle ) {\n\t\teditPost( { title: newTitle } );\n\t}\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t// arguments first, then fallback to `Text` if they fail.\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error1 ) {\n\t\t\ttry {\n\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t} catch ( error2 ) {\n\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t// behaviour.\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tif ( typeof content !== 'string' && content.length ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\tonUpdate( firstBlock.attributes.content );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t}\n\t}\n\n\t// The wp-block className is important for editor styles.\n\t// This same block is used in both the visual and the code editor.\n\tconst className = classnames(\n\t\t'wp-block wp-block-post-title block-editor-block-list__block editor-post-title editor-post-title__input rich-text',\n\t\t{\n\t\t\t'is-selected': isSelected,\n\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t}\n\t);\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\tconst { ref: richTextRef } = useRichText( {\n\t\tvalue: title,\n\t\tonChange,\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: true,\n\t\tpreserveWhiteSpace: true,\n\t} );\n\n\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, ref ] ) }\n\t\t\t\tcontentEditable\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ decodedPlaceholder }\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline=\"true\"\n\t\t\t\tonFocus={ onSelect }\n\t\t\t\tonBlur={ onUnselect }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonKeyPress={ onUnselect }\n\t\t\t\tonPaste={ onPaste }\n\t\t\t/>\n\t\t</PostTypeSupportCheck>\n\t);\n\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\nexport default forwardRef( PostTitle );\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-title/index.js"],"names":["REGEXP_NEWLINES","PostTitle","_","forwardedRef","ref","isSelected","setIsSelected","editPost","editorStore","insertDefaultBlock","clearSelectedBlock","insertBlocks","blockEditorStore","isCleanNewPost","title","placeholder","isFocusMode","hasFixedToolbar","select","getEditedPostAttribute","_isCleanNewPost","getSettings","titlePlaceholder","focusMode","_hasFixedToolbar","focus","current","ownerDocument","activeElement","body","onEnterPress","undefined","onInsertBlockAfter","blocks","onUpdate","newTitle","selection","setSelection","onSelect","onUnselect","onChange","value","replace","onKeyDown","event","keyCode","ENTER","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","HTML","length","firstBlock","name","attributes","slice","className","decodedPlaceholder","richTextRef","selectionStart","start","selectionEnd","end","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","preserveWhiteSpace"],"mappings":";;;;;;;;;AASA;;AANA;;AAKA;;AAQA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AA5BA;AACA;AACA;;AAGA;AACA;AACA;;AAiBA;AACA;AACA;;AAIA;AACA;AACA;AACA,MAAMA,eAAe,GAAG,UAAxB;;AAEA,SAASC,SAAT,CAAoBC,CAApB,EAAuBC,YAAvB,EAAsC;AACrC,QAAMC,GAAG,GAAG,sBAAZ;AACA,QAAM,CAAEC,UAAF,EAAcC,aAAd,IAAgC,uBAAU,KAAV,CAAtC;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAe,uBAAaC,YAAb,CAArB;AACA,QAAM;AAAEC,IAAAA,kBAAF;AAAsBC,IAAAA,kBAAtB;AAA0CC,IAAAA;AAA1C,MACL,uBAAaC,kBAAb,CADD;AAEA,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,KAAlB;AAAyBC,IAAAA,WAAzB;AAAsCC,IAAAA,WAAtC;AAAmDC,IAAAA;AAAnD,MACL,qBAAaC,MAAF,IAAc;AACxB,UAAM;AAAEC,MAAAA,sBAAF;AAA0BN,MAAAA,cAAc,EAAEO;AAA1C,QACLF,MAAM,CAAEV,YAAF,CADP;AAEA,UAAM;AAAEa,MAAAA;AAAF,QAAkBH,MAAM,CAAEN,kBAAF,CAA9B;AACA,UAAM;AACLU,MAAAA,gBADK;AAELC,MAAAA,SAFK;AAGLN,MAAAA,eAAe,EAAEO;AAHZ,QAIFH,WAAW,EAJf;AAMA,WAAO;AACNR,MAAAA,cAAc,EAAEO,eAAe,EADzB;AAENN,MAAAA,KAAK,EAAEK,sBAAsB,CAAE,OAAF,CAFvB;AAGNJ,MAAAA,WAAW,EAAEO,gBAHP;AAINN,MAAAA,WAAW,EAAEO,SAJP;AAKNN,MAAAA,eAAe,EAAEO;AALX,KAAP;AAOA,GAjBD,EAiBG,EAjBH,CADD;AAoBA,oCAAqBrB,YAArB,EAAmC,OAAQ;AAC1CsB,IAAAA,KAAK,EAAE,MAAM;AAAA;;AACZrB,MAAAA,GAAG,SAAH,IAAAA,GAAG,WAAH,4BAAAA,GAAG,CAAEsB,OAAL,8DAAcD,KAAd;AACA;AAHyC,GAAR,CAAnC;AAMA,0BAAW,MAAM;AAChB,QAAK,CAAErB,GAAG,CAACsB,OAAX,EAAqB;AACpB;AACA;;AAED,UAAM;AAAEC,MAAAA;AAAF,QAAoBvB,GAAG,CAACsB,OAA9B;AACA,UAAM;AAAEE,MAAAA,aAAF;AAAiBC,MAAAA;AAAjB,QAA0BF,aAAhC,CANgB,CAQhB;AACA;AACA;AACA;;AACA,QAAKd,cAAc,KAAM,CAAEe,aAAF,IAAmBC,IAAI,KAAKD,aAAlC,CAAnB,EAAuE;AACtExB,MAAAA,GAAG,CAACsB,OAAJ,CAAYD,KAAZ;AACA;AACD,GAfD,EAeG,CAAEZ,cAAF,CAfH;;AAiBA,WAASiB,YAAT,GAAwB;AACvBrB,IAAAA,kBAAkB,CAAEsB,SAAF,EAAaA,SAAb,EAAwB,CAAxB,CAAlB;AACA;;AAED,WAASC,kBAAT,CAA6BC,MAA7B,EAAsC;AACrCtB,IAAAA,YAAY,CAAEsB,MAAF,EAAU,CAAV,CAAZ;AACA;;AAED,WAASC,QAAT,CAAmBC,QAAnB,EAA8B;AAC7B5B,IAAAA,QAAQ,CAAE;AAAEO,MAAAA,KAAK,EAAEqB;AAAT,KAAF,CAAR;AACA;;AAED,QAAM,CAAEC,SAAF,EAAaC,YAAb,IAA8B,uBAAU,EAAV,CAApC;;AAEA,WAASC,QAAT,GAAoB;AACnBhC,IAAAA,aAAa,CAAE,IAAF,CAAb;AACAI,IAAAA,kBAAkB;AAClB;;AAED,WAAS6B,UAAT,GAAsB;AACrBjC,IAAAA,aAAa,CAAE,KAAF,CAAb;AACA+B,IAAAA,YAAY,CAAE,EAAF,CAAZ;AACA;;AAED,WAASG,QAAT,CAAmBC,KAAnB,EAA2B;AAC1BP,IAAAA,QAAQ,CAAEO,KAAK,CAACC,OAAN,CAAe1C,eAAf,EAAgC,GAAhC,CAAF,CAAR;AACA;;AAED,WAAS2C,SAAT,CAAoBC,KAApB,EAA4B;AAC3B,QAAKA,KAAK,CAACC,OAAN,KAAkBC,eAAvB,EAA+B;AAC9BF,MAAAA,KAAK,CAACG,cAAN;AACAjB,MAAAA,YAAY;AACZ;AACD;;AAED,WAASkB,OAAT,CAAkBJ,KAAlB,EAA0B;AACzB,UAAMK,aAAa,GAAGL,KAAK,CAACK,aAA5B;AAEA,QAAIC,SAAS,GAAG,EAAhB;AACA,QAAIC,IAAI,GAAG,EAAX,CAJyB,CAMzB;AACA;AACA;;AACA,QAAI;AACHD,MAAAA,SAAS,GAAGD,aAAa,CAACG,OAAd,CAAuB,YAAvB,CAAZ;AACAD,MAAAA,IAAI,GAAGF,aAAa,CAACG,OAAd,CAAuB,WAAvB,CAAP;AACA,KAHD,CAGE,OAAQC,MAAR,EAAiB;AAClB,UAAI;AACHF,QAAAA,IAAI,GAAGF,aAAa,CAACG,OAAd,CAAuB,MAAvB,CAAP;AACA,OAFD,CAEE,OAAQE,MAAR,EAAiB;AAClB;AACA;AACA;AACA;AACA;AACD,KArBwB,CAuBzB;;;AACAC,IAAAA,MAAM,CAACC,OAAP,CAAeC,GAAf,CAAoB,oBAApB,EAA0CN,IAA1C;AACAI,IAAAA,MAAM,CAACC,OAAP,CAAeC,GAAf,CAAoB,0BAApB,EAAgDP,SAAhD;AAEA,UAAMQ,OAAO,GAAG,0BAAc;AAC7BC,MAAAA,IAAI,EAAER,IADuB;AAE7BD,MAAAA;AAF6B,KAAd,CAAhB;AAKAN,IAAAA,KAAK,CAACG,cAAN;;AAEA,QAAK,CAAEW,OAAO,CAACE,MAAf,EAAwB;AACvB;AACA;;AAED,QAAK,OAAOF,OAAP,KAAmB,QAAxB,EAAmC;AAClC,YAAM,CAAEG,UAAF,IAAiBH,OAAvB;;AAEA,UACC,CAAE5C,KAAF,KACE+C,UAAU,CAACC,IAAX,KAAoB,cAApB,IACDD,UAAU,CAACC,IAAX,KAAoB,gBAFrB,CADD,EAIE;AACD5B,QAAAA,QAAQ,CAAE2B,UAAU,CAACE,UAAX,CAAsBL,OAAxB,CAAR;AACA1B,QAAAA,kBAAkB,CAAE0B,OAAO,CAACM,KAAR,CAAe,CAAf,CAAF,CAAlB;AACA,OAPD,MAOO;AACNhC,QAAAA,kBAAkB,CAAE0B,OAAF,CAAlB;AACA;AACD,KAbD,MAaO;AACNxB,MAAAA,QAAQ,CAAEwB,OAAF,CAAR;AACA;AACD,GA1IoC,CA4IrC;AACA;;;AACA,QAAMO,SAAS,GAAG,yBACjB,kHADiB,EAEjB;AACC,mBAAe5D,UADhB;AAEC,qBAAiBW,WAFlB;AAGC,yBAAqBC;AAHtB,GAFiB,CAAlB;AAQA,QAAMiD,kBAAkB,GACvB,kCAAgBnD,WAAhB,KAAiC,cAAI,WAAJ,CADlC;AAEA,QAAM;AAAEX,IAAAA,GAAG,EAAE+D;AAAP,MAAuB,qCAAa;AACzC1B,IAAAA,KAAK,EAAE3B,KADkC;AAEzC0B,IAAAA,QAFyC;AAGzCzB,IAAAA,WAAW,EAAEmD,kBAH4B;AAIzCE,IAAAA,cAAc,EAAEhC,SAAS,CAACiC,KAJe;AAKzCC,IAAAA,YAAY,EAAElC,SAAS,CAACmC,GALiB;;AAMzCC,IAAAA,iBAAiB,CAAEC,QAAF,EAAYC,MAAZ,EAAqB;AACrCrC,MAAAA,YAAY,CAAIsC,GAAF,IAAW;AACxB,cAAM;AAAEN,UAAAA,KAAF;AAASE,UAAAA;AAAT,YAAiBI,GAAvB;;AACA,YAAKN,KAAK,KAAKI,QAAV,IAAsBF,GAAG,KAAKG,MAAnC,EAA4C;AAC3C,iBAAOC,GAAP;AACA;;AACD,eAAO;AACNN,UAAAA,KAAK,EAAEI,QADD;AAENF,UAAAA,GAAG,EAAEG;AAFC,SAAP;AAIA,OATW,CAAZ;AAUA,KAjBwC;;AAkBzCE,IAAAA,wBAAwB,EAAE,IAlBe;AAmBzCC,IAAAA,kBAAkB,EAAE;AAnBqB,GAAb,CAA7B;AAsBA;;AACA,SACC,4BAAC,6BAAD;AAAsB,IAAA,WAAW,EAAC;AAAlC,KACC;AACC,IAAA,GAAG,EAAG,2BAAc,CAAEV,WAAF,EAAe/D,GAAf,CAAd,CADP;AAEC,IAAA,eAAe,MAFhB;AAGC,IAAA,SAAS,EAAG6D,SAHb;AAIC,kBAAaC,kBAJd;AAKC,IAAA,IAAI,EAAC,SALN;AAMC,sBAAe,MANhB;AAOC,IAAA,OAAO,EAAG5B,QAPX;AAQC,IAAA,MAAM,EAAGC,UARV;AASC,IAAA,SAAS,EAAGI,SATb;AAUC,IAAA,UAAU,EAAGJ,UAVd;AAWC,IAAA,OAAO,EAAGS;AAXX,IADD,CADD;AAiBA;AACA;;eAEc,yBAAY/C,SAAZ,C","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tforwardRef,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { ENTER } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { pasteHandler } from '@wordpress/blocks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __unstableUseRichText as useRichText } from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\n/**\n * Constants\n */\nconst REGEXP_NEWLINES = /[\\r\\n]+/g;\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst ref = useRef();\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { insertDefaultBlock, clearSelectedBlock, insertBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { isCleanNewPost, title, placeholder, isFocusMode, hasFixedToolbar } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEditedPostAttribute, isCleanNewPost: _isCleanNewPost } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\tconst {\n\t\t\t\ttitlePlaceholder,\n\t\t\t\tfocusMode,\n\t\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t\t} = getSettings();\n\n\t\t\treturn {\n\t\t\t\tisCleanNewPost: _isCleanNewPost(),\n\t\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\t\tplaceholder: titlePlaceholder,\n\t\t\t\tisFocusMode: focusMode,\n\t\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t\t};\n\t\t}, [] );\n\n\tuseImperativeHandle( forwardedRef, () => ( {\n\t\tfocus: () => {\n\t\t\tref?.current?.focus();\n\t\t},\n\t} ) );\n\n\tuseEffect( () => {\n\t\tif ( ! ref.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { activeElement, body } = ownerDocument;\n\n\t\t// Only autofocus the title when the post is entirely empty. This should\n\t\t// only happen for a new post, which means we focus the title on new\n\t\t// post so the author can start typing right away, without needing to\n\t\t// click anything.\n\t\tif ( isCleanNewPost && ( ! activeElement || body === activeElement ) ) {\n\t\t\tref.current.focus();\n\t\t}\n\t}, [ isCleanNewPost ] );\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onUpdate( newTitle ) {\n\t\teditPost( { title: newTitle } );\n\t}\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t// arguments first, then fallback to `Text` if they fail.\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error1 ) {\n\t\t\ttry {\n\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t} catch ( error2 ) {\n\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t// behaviour.\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tevent.preventDefault();\n\n\t\tif ( ! content.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof content !== 'string' ) {\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\tonUpdate( firstBlock.attributes.content );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t} else {\n\t\t\tonUpdate( content );\n\t\t}\n\t}\n\n\t// The wp-block className is important for editor styles.\n\t// This same block is used in both the visual and the code editor.\n\tconst className = classnames(\n\t\t'wp-block wp-block-post-title block-editor-block-list__block editor-post-title editor-post-title__input rich-text',\n\t\t{\n\t\t\t'is-selected': isSelected,\n\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t}\n\t);\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\tconst { ref: richTextRef } = useRichText( {\n\t\tvalue: title,\n\t\tonChange,\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: true,\n\t\tpreserveWhiteSpace: true,\n\t} );\n\n\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, ref ] ) }\n\t\t\t\tcontentEditable\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ decodedPlaceholder }\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline=\"true\"\n\t\t\t\tonFocus={ onSelect }\n\t\t\t\tonBlur={ onUnselect }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonKeyPress={ onUnselect }\n\t\t\t\tonPaste={ onPaste }\n\t\t\t/>\n\t\t</PostTypeSupportCheck>\n\t);\n\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\nexport default forwardRef( PostTitle );\n"]}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = PostURLCheck;
7
+
8
+ var _data = require("@wordpress/data");
9
+
10
+ var _coreData = require("@wordpress/core-data");
11
+
12
+ var _store = require("../../store");
13
+
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+ function PostURLCheck(_ref) {
22
+ let {
23
+ children
24
+ } = _ref;
25
+ const isVisible = (0, _data.useSelect)(select => {
26
+ const postTypeSlug = select(_store.store).getCurrentPostType();
27
+ const postType = select(_coreData.store).getPostType(postTypeSlug);
28
+
29
+ if (!(postType !== null && postType !== void 0 && postType.viewable)) {
30
+ return false;
31
+ }
32
+
33
+ const post = select(_store.store).getCurrentPost();
34
+
35
+ if (!post.link) {
36
+ return false;
37
+ }
38
+
39
+ const permalinkParts = select(_store.store).getPermalinkParts();
40
+
41
+ if (!permalinkParts) {
42
+ return false;
43
+ }
44
+
45
+ return true;
46
+ }, []);
47
+
48
+ if (!isVisible) {
49
+ return null;
50
+ }
51
+
52
+ return children;
53
+ }
54
+ //# sourceMappingURL=check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-url/check.js"],"names":["PostURLCheck","children","isVisible","select","postTypeSlug","editorStore","getCurrentPostType","postType","coreStore","getPostType","viewable","post","getCurrentPost","link","permalinkParts","getPermalinkParts"],"mappings":";;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGe,SAASA,YAAT,OAAsC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACpD,QAAMC,SAAS,GAAG,qBAAaC,MAAF,IAAc;AAC1C,UAAMC,YAAY,GAAGD,MAAM,CAAEE,YAAF,CAAN,CAAsBC,kBAAtB,EAArB;AACA,UAAMC,QAAQ,GAAGJ,MAAM,CAAEK,eAAF,CAAN,CAAoBC,WAApB,CAAiCL,YAAjC,CAAjB;;AACA,QAAK,EAAEG,QAAF,aAAEA,QAAF,eAAEA,QAAQ,CAAEG,QAAZ,CAAL,EAA4B;AAC3B,aAAO,KAAP;AACA;;AAED,UAAMC,IAAI,GAAGR,MAAM,CAAEE,YAAF,CAAN,CAAsBO,cAAtB,EAAb;;AACA,QAAK,CAAED,IAAI,CAACE,IAAZ,EAAmB;AAClB,aAAO,KAAP;AACA;;AAED,UAAMC,cAAc,GAAGX,MAAM,CAAEE,YAAF,CAAN,CAAsBU,iBAAtB,EAAvB;;AACA,QAAK,CAAED,cAAP,EAAwB;AACvB,aAAO,KAAP;AACA;;AAED,WAAO,IAAP;AACA,GAlBiB,EAkBf,EAlBe,CAAlB;;AAoBA,MAAK,CAAEZ,SAAP,EAAmB;AAClB,WAAO,IAAP;AACA;;AAED,SAAOD,QAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostURLCheck( { children } ) {\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\tif ( ! postType?.viewable ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tif ( ! post.link ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst permalinkParts = select( editorStore ).getPermalinkParts();\n\t\tif ( ! permalinkParts ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}, [] );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n"]}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = PostURL;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _data = require("@wordpress/data");
11
+
12
+ var _url = require("@wordpress/url");
13
+
14
+ var _blockEditor = require("@wordpress/block-editor");
15
+
16
+ var _i18n = require("@wordpress/i18n");
17
+
18
+ var _components = require("@wordpress/components");
19
+
20
+ var _coreData = require("@wordpress/core-data");
21
+
22
+ var _store = require("../../store");
23
+
24
+ /**
25
+ * WordPress dependencies
26
+ */
27
+
28
+ /**
29
+ * Internal dependencies
30
+ */
31
+ function PostURL(_ref) {
32
+ let {
33
+ onClose
34
+ } = _ref;
35
+ const {
36
+ isEditable,
37
+ postSlug,
38
+ viewPostLabel,
39
+ postLink,
40
+ permalinkPrefix,
41
+ permalinkSuffix
42
+ } = (0, _data.useSelect)(select => {
43
+ const postTypeSlug = select(_store.store).getCurrentPostType();
44
+ const postType = select(_coreData.store).getPostType(postTypeSlug);
45
+ const permalinkParts = select(_store.store).getPermalinkParts();
46
+ return {
47
+ isEditable: select(_store.store).isPermalinkEditable(),
48
+ postSlug: (0, _url.safeDecodeURIComponent)(select(_store.store).getEditedPostSlug()),
49
+ viewPostLabel: postType === null || postType === void 0 ? void 0 : postType.labels.view_item,
50
+ postLink: select(_store.store).getCurrentPost().link,
51
+ permalinkPrefix: permalinkParts === null || permalinkParts === void 0 ? void 0 : permalinkParts.prefix,
52
+ permalinkSuffix: permalinkParts === null || permalinkParts === void 0 ? void 0 : permalinkParts.suffix
53
+ };
54
+ }, []);
55
+ const {
56
+ editPost
57
+ } = (0, _data.useDispatch)(_store.store);
58
+ const [forceEmptyField, setForceEmptyField] = (0, _element.useState)(false);
59
+ return (0, _element.createElement)("div", {
60
+ className: "editor-post-url"
61
+ }, (0, _element.createElement)(_blockEditor.__experimentalInspectorPopoverHeader, {
62
+ title: (0, _i18n.__)('URL'),
63
+ onClose: onClose
64
+ }), isEditable && (0, _element.createElement)(_components.TextControl, {
65
+ label: (0, _i18n.__)('Permalink'),
66
+ value: forceEmptyField ? '' : postSlug,
67
+ autoComplete: "off",
68
+ spellCheck: "false",
69
+ help: (0, _element.createElement)(_element.Fragment, null, (0, _i18n.__)('The last part of the URL.'), ' ', (0, _element.createElement)(_components.ExternalLink, {
70
+ href: (0, _i18n.__)('https://wordpress.org/support/article/settings-sidebar/#permalink')
71
+ }, (0, _i18n.__)('Learn more.'))),
72
+ onChange: newValue => {
73
+ editPost({
74
+ slug: newValue
75
+ }); // When we delete the field the permalink gets
76
+ // reverted to the original value.
77
+ // The forceEmptyField logic allows the user to have
78
+ // the field temporarily empty while typing.
79
+
80
+ if (!newValue) {
81
+ if (!forceEmptyField) {
82
+ setForceEmptyField(true);
83
+ }
84
+
85
+ return;
86
+ }
87
+
88
+ if (forceEmptyField) {
89
+ setForceEmptyField(false);
90
+ }
91
+ },
92
+ onBlur: event => {
93
+ editPost({
94
+ slug: (0, _url.cleanForSlug)(event.target.value)
95
+ });
96
+
97
+ if (forceEmptyField) {
98
+ setForceEmptyField(false);
99
+ }
100
+ }
101
+ }), isEditable && (0, _element.createElement)("h3", {
102
+ className: "editor-post-url__link-label"
103
+ }, viewPostLabel !== null && viewPostLabel !== void 0 ? viewPostLabel : (0, _i18n.__)('View post')), (0, _element.createElement)("p", null, (0, _element.createElement)(_components.ExternalLink, {
104
+ className: "editor-post-url__link",
105
+ href: postLink,
106
+ target: "_blank"
107
+ }, isEditable ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("span", {
108
+ className: "editor-post-url__link-prefix"
109
+ }, permalinkPrefix), (0, _element.createElement)("span", {
110
+ className: "editor-post-url__link-slug"
111
+ }, postSlug), (0, _element.createElement)("span", {
112
+ className: "editor-post-url__link-suffix"
113
+ }, permalinkSuffix)) : postLink)));
114
+ }
115
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-url/index.js"],"names":["PostURL","onClose","isEditable","postSlug","viewPostLabel","postLink","permalinkPrefix","permalinkSuffix","select","postTypeSlug","editorStore","getCurrentPostType","postType","coreStore","getPostType","permalinkParts","getPermalinkParts","isPermalinkEditable","getEditedPostSlug","labels","view_item","getCurrentPost","link","prefix","suffix","editPost","forceEmptyField","setForceEmptyField","newValue","slug","event","target","value"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { safeDecodeURIComponent, cleanForSlug } from '@wordpress/url';\nimport { useState } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { TextControl, ExternalLink } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostURL( { onClose } ) {\n\tconst {\n\t\tisEditable,\n\t\tpostSlug,\n\t\tviewPostLabel,\n\t\tpostLink,\n\t\tpermalinkPrefix,\n\t\tpermalinkSuffix,\n\t} = useSelect( ( select ) => {\n\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\tconst permalinkParts = select( editorStore ).getPermalinkParts();\n\t\treturn {\n\t\t\tisEditable: select( editorStore ).isPermalinkEditable(),\n\t\t\tpostSlug: safeDecodeURIComponent(\n\t\t\t\tselect( editorStore ).getEditedPostSlug()\n\t\t\t),\n\t\t\tviewPostLabel: postType?.labels.view_item,\n\t\t\tpostLink: select( editorStore ).getCurrentPost().link,\n\t\t\tpermalinkPrefix: permalinkParts?.prefix,\n\t\t\tpermalinkSuffix: permalinkParts?.suffix,\n\t\t};\n\t}, [] );\n\n\tconst { editPost } = useDispatch( editorStore );\n\n\tconst [ forceEmptyField, setForceEmptyField ] = useState( false );\n\n\treturn (\n\t\t<div className=\"editor-post-url\">\n\t\t\t<InspectorPopoverHeader title={ __( 'URL' ) } onClose={ onClose } />\n\t\t\t{ isEditable && (\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Permalink' ) }\n\t\t\t\t\tvalue={ forceEmptyField ? '' : postSlug }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tspellCheck=\"false\"\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ __( 'The last part of the URL.' ) }{ ' ' }\n\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t'https://wordpress.org/support/article/settings-sidebar/#permalink'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Learn more.' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\teditPost( { slug: newValue } );\n\t\t\t\t\t\t// When we delete the field the permalink gets\n\t\t\t\t\t\t// reverted to the original value.\n\t\t\t\t\t\t// The forceEmptyField logic allows the user to have\n\t\t\t\t\t\t// the field temporarily empty while typing.\n\t\t\t\t\t\tif ( ! newValue ) {\n\t\t\t\t\t\t\tif ( ! forceEmptyField ) {\n\t\t\t\t\t\t\t\tsetForceEmptyField( true );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonBlur={ ( event ) => {\n\t\t\t\t\t\teditPost( {\n\t\t\t\t\t\t\tslug: cleanForSlug( event.target.value ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isEditable && (\n\t\t\t\t<h3 className=\"editor-post-url__link-label\">\n\t\t\t\t\t{ viewPostLabel ?? __( 'View post' ) }\n\t\t\t\t</h3>\n\t\t\t) }\n\t\t\t<p>\n\t\t\t\t<ExternalLink\n\t\t\t\t\tclassName=\"editor-post-url__link\"\n\t\t\t\t\thref={ postLink }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t>\n\t\t\t\t\t{ isEditable ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<span className=\"editor-post-url__link-prefix\">\n\t\t\t\t\t\t\t\t{ permalinkPrefix }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span className=\"editor-post-url__link-slug\">\n\t\t\t\t\t\t\t\t{ postSlug }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span className=\"editor-post-url__link-suffix\">\n\t\t\t\t\t\t\t\t{ permalinkSuffix }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tpostLink\n\t\t\t\t\t) }\n\t\t\t\t</ExternalLink>\n\t\t\t</p>\n\t\t</div>\n\t);\n}\n"]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = PostURLLabel;
7
+ exports.usePostURLLabel = usePostURLLabel;
8
+
9
+ var _data = require("@wordpress/data");
10
+
11
+ var _url = require("@wordpress/url");
12
+
13
+ var _store = require("../../store");
14
+
15
+ /**
16
+ * WordPress dependencies
17
+ */
18
+
19
+ /**
20
+ * Internal dependencies
21
+ */
22
+ function PostURLLabel() {
23
+ return usePostURLLabel();
24
+ }
25
+
26
+ function usePostURLLabel() {
27
+ const postLink = (0, _data.useSelect)(select => select(_store.store).getCurrentPost().link, []);
28
+ return (0, _url.filterURLForDisplay)((0, _url.safeDecodeURIComponent)(postLink));
29
+ }
30
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-url/label.js"],"names":["PostURLLabel","usePostURLLabel","postLink","select","editorStore","getCurrentPost","link"],"mappings":";;;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGe,SAASA,YAAT,GAAwB;AACtC,SAAOC,eAAe,EAAtB;AACA;;AAEM,SAASA,eAAT,GAA2B;AACjC,QAAMC,QAAQ,GAAG,qBACdC,MAAF,IAAcA,MAAM,CAAEC,YAAF,CAAN,CAAsBC,cAAtB,GAAuCC,IADrC,EAEhB,EAFgB,CAAjB;AAIA,SAAO,8BAAqB,iCAAwBJ,QAAxB,CAArB,CAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { filterURLForDisplay, safeDecodeURIComponent } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostURLLabel() {\n\treturn usePostURLLabel();\n}\n\nexport function usePostURLLabel() {\n\tconst postLink = useSelect(\n\t\t( select ) => select( editorStore ).getCurrentPost().link,\n\t\t[]\n\t);\n\treturn filterURLForDisplay( safeDecodeURIComponent( postLink ) );\n}\n"]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = PostVisibilityLabel;
7
+ exports.usePostVisibilityLabel = usePostVisibilityLabel;
7
8
 
8
9
  var _data = require("@wordpress/data");
9
10
 
@@ -19,6 +20,10 @@ var _store = require("../../store");
19
20
  * Internal dependencies
20
21
  */
21
22
  function PostVisibilityLabel() {
23
+ return usePostVisibilityLabel();
24
+ }
25
+
26
+ function usePostVisibilityLabel() {
22
27
  var _visibilityOptions$vi;
23
28
 
24
29
  const visibility = (0, _data.useSelect)(select => select(_store.store).getEditedPostVisibility());
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-visibility/label.js"],"names":["PostVisibilityLabel","visibility","select","editorStore","getEditedPostVisibility","visibilityOptions","label"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIe,SAASA,mBAAT,GAA+B;AAAA;;AAC7C,QAAMC,UAAU,GAAG,qBAAaC,MAAF,IAC7BA,MAAM,CAAEC,YAAF,CAAN,CAAsBC,uBAAtB,EADkB,CAAnB;AAGA,kCAAOC,yBAAmBJ,UAAnB,CAAP,0DAAO,sBAAiCK,KAAxC;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { visibilityOptions } from './utils';\nimport { store as editorStore } from '../../store';\n\nexport default function PostVisibilityLabel() {\n\tconst visibility = useSelect( ( select ) =>\n\t\tselect( editorStore ).getEditedPostVisibility()\n\t);\n\treturn visibilityOptions[ visibility ]?.label;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-visibility/label.js"],"names":["PostVisibilityLabel","usePostVisibilityLabel","visibility","select","editorStore","getEditedPostVisibility","visibilityOptions","label"],"mappings":";;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIe,SAASA,mBAAT,GAA+B;AAC7C,SAAOC,sBAAsB,EAA7B;AACA;;AAEM,SAASA,sBAAT,GAAkC;AAAA;;AACxC,QAAMC,UAAU,GAAG,qBAAaC,MAAF,IAC7BA,MAAM,CAAEC,YAAF,CAAN,CAAsBC,uBAAtB,EADkB,CAAnB;AAGA,kCAAOC,yBAAmBJ,UAAnB,CAAP,0DAAO,sBAAiCK,KAAxC;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { visibilityOptions } from './utils';\nimport { store as editorStore } from '../../store';\n\nexport default function PostVisibilityLabel() {\n\treturn usePostVisibilityLabel();\n}\n\nexport function usePostVisibilityLabel() {\n\tconst visibility = useSelect( ( select ) =>\n\t\tselect( editorStore ).getEditedPostVisibility()\n\t);\n\treturn visibilityOptions[ visibility ]?.label;\n}\n"]}
@@ -100,11 +100,13 @@ class NativeEditorProvider extends _element.Component {
100
100
  const {
101
101
  capabilities,
102
102
  locale,
103
+ hostAppNamespace,
103
104
  updateSettings
104
105
  } = this.props;
105
106
  updateSettings({ ...capabilities,
106
107
  ...this.getThemeColors(this.props),
107
- locale
108
+ locale,
109
+ hostAppNamespace
108
110
  });
109
111
  this.subscriptionParentGetHtml = (0, _reactNativeBridge.subscribeParentGetHtml)(() => {
110
112
  this.serializeToNativeAction();
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/provider/index.native.js"],"names":["postTypeEntities","name","baseURL","map","postTypeEntity","kind","transientEdits","blocks","selection","mergedEdits","meta","rawAttributes","NativeEditorProvider","Component","constructor","arguments","post","props","addEntities","receiveEntityRecords","type","getEditorSettings","settings","capabilities","maxSize","state","isHelpVisible","componentDidMount","locale","updateSettings","getThemeColors","subscriptionParentGetHtml","serializeToNativeAction","subscriptionParentToggleHTMLMode","toggleMode","subscriptionParentSetTitle","payload","editTitle","title","subscriptionParentUpdateHtml","updateHtmlAction","html","subscriptionParentReplaceBlock","replaceBlockAction","clientId","subscriptionParentMediaAppend","blockName","mediaType","newBlock","id","mediaId","mediaUrl","indexAfterSelected","selectedBlockIndex","insertionIndex","blockCount","insertBlock","subscriptionParentUpdateEditorSettings","galleryWithImageBlocks","editorSettings","window","wp","galleryBlockV2Enabled","subscriptionParentUpdateCapabilities","updateCapabilitiesAction","subscriptionParentShowNotice","createSuccessNotice","message","subscriptionParentShowEditorHelp","setState","storedImpressions","impressions","NEW_BLOCK_TYPES","storedImpressionKeys","Object","keys","storedImpressionsCurrent","every","newKey","includes","componentWillUnmount","remove","rawStyles","rawFeatures","defaultEditorColors","defaultEditorGradients","componentDidUpdate","prevProps","isReady","isUnsupportedBlock","unsupportedBlockNames","filter","block","attributes","originalName","RNReactNativeGutenbergBridge","editorDidMount","mode","hasChanges","raw","content","contentInfo","characterCount","wordCount","paragraphCount","provideToNative_Html","parsed","resetEditorBlocksWithoutUndoLevel","blockClientId","replaceBlock","switchMode","clearSelectedBlock","render","children","select","__unstableIsEditorReady","isEditorReady","getEditorBlocks","getEditedPostAttribute","getEditedPostContent","editorStore","getEditorMode","editPostStore","getBlockIndex","getSelectedBlockClientId","getGlobalBlockCount","getSettings","getBlockEditorSettings","blockEditorStore","colors","gradients","selectedBlockClientId","dispatch","editPost","resetEditorBlocks","switchEditorMode","coreStore","noticesStore","__unstableShouldCreateUndoLevel"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport memize from 'memize';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\n/**\n * WordPress dependencies\n */\nimport RNReactNativeGutenbergBridge, {\n\trequestBlockTypeImpressions,\n\tsetBlockTypeImpressions,\n\tsubscribeParentGetHtml,\n\tsubscribeParentToggleHTMLMode,\n\tsubscribeUpdateHtml,\n\tsubscribeSetTitle,\n\tsubscribeMediaAppend,\n\tsubscribeReplaceBlock,\n\tsubscribeUpdateEditorSettings,\n\tsubscribeUpdateCapabilities,\n\tsubscribeShowNotice,\n\tsubscribeShowEditorHelp,\n} from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport {\n\tparse,\n\tserialize,\n\tgetUnregisteredTypeHandlerName,\n\tcreateBlock,\n} from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { getGlobalStyles, getColorsAndGradients } from '@wordpress/components';\nimport { NEW_BLOCK_TYPES } from '@wordpress/block-library';\n\nconst postTypeEntities = [\n\t{ name: 'post', baseURL: '/wp/v2/posts' },\n\t{ name: 'page', baseURL: '/wp/v2/pages' },\n\t{ name: 'attachment', baseURL: '/wp/v2/media' },\n\t{ name: 'wp_block', baseURL: '/wp/v2/blocks' },\n].map( ( postTypeEntity ) => ( {\n\tkind: 'postType',\n\t...postTypeEntity,\n\ttransientEdits: {\n\t\tblocks: true,\n\t\tselection: true,\n\t},\n\tmergedEdits: {\n\t\tmeta: true,\n\t},\n\trawAttributes: [ 'title', 'excerpt', 'content' ],\n} ) );\nimport { EditorHelpTopics, store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport EditorProvider from './index.js';\n\nclass NativeEditorProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\t// Keep a local reference to `post` to detect changes.\n\t\tthis.post = this.props.post;\n\t\tthis.props.addEntities( postTypeEntities );\n\t\tthis.props.receiveEntityRecords(\n\t\t\t'postType',\n\t\t\tthis.post.type,\n\t\t\tthis.post\n\t\t);\n\n\t\tthis.getEditorSettings = memize(\n\t\t\t( settings, capabilities ) => ( {\n\t\t\t\t...settings,\n\t\t\t\tcapabilities,\n\t\t\t} ),\n\t\t\t{\n\t\t\t\tmaxSize: 1,\n\t\t\t}\n\t\t);\n\t\tthis.state = {\n\t\t\tisHelpVisible: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { capabilities, locale, updateSettings } = this.props;\n\n\t\tupdateSettings( {\n\t\t\t...capabilities,\n\t\t\t...this.getThemeColors( this.props ),\n\t\t\tlocale,\n\t\t} );\n\n\t\tthis.subscriptionParentGetHtml = subscribeParentGetHtml( () => {\n\t\t\tthis.serializeToNativeAction();\n\t\t} );\n\n\t\tthis.subscriptionParentToggleHTMLMode = subscribeParentToggleHTMLMode(\n\t\t\t() => {\n\t\t\t\tthis.toggleMode();\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentSetTitle = subscribeSetTitle( ( payload ) => {\n\t\t\tthis.props.editTitle( payload.title );\n\t\t} );\n\n\t\tthis.subscriptionParentUpdateHtml = subscribeUpdateHtml(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateHtmlAction( payload.html );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentReplaceBlock = subscribeReplaceBlock(\n\t\t\t( payload ) => {\n\t\t\t\tthis.replaceBlockAction( payload.html, payload.clientId );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentMediaAppend = subscribeMediaAppend(\n\t\t\t( payload ) => {\n\t\t\t\tconst blockName = 'core/' + payload.mediaType;\n\t\t\t\tconst newBlock = createBlock( blockName, {\n\t\t\t\t\tid: payload.mediaId,\n\t\t\t\t\t[ payload.mediaType === 'image' ? 'url' : 'src' ]:\n\t\t\t\t\t\tpayload.mediaUrl,\n\t\t\t\t} );\n\n\t\t\t\tconst indexAfterSelected = this.props.selectedBlockIndex + 1;\n\t\t\t\tconst insertionIndex =\n\t\t\t\t\tindexAfterSelected || this.props.blockCount;\n\n\t\t\t\tthis.props.insertBlock( newBlock, insertionIndex );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentUpdateEditorSettings =\n\t\t\tsubscribeUpdateEditorSettings(\n\t\t\t\t( { galleryWithImageBlocks, ...editorSettings } ) => {\n\t\t\t\t\tif ( typeof galleryWithImageBlocks === 'boolean' ) {\n\t\t\t\t\t\twindow.wp.galleryBlockV2Enabled =\n\t\t\t\t\t\t\tgalleryWithImageBlocks;\n\t\t\t\t\t}\n\t\t\t\t\tupdateSettings( this.getThemeColors( editorSettings ) );\n\t\t\t\t}\n\t\t\t);\n\n\t\tthis.subscriptionParentUpdateCapabilities = subscribeUpdateCapabilities(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateCapabilitiesAction( payload );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowNotice = subscribeShowNotice(\n\t\t\t( payload ) => {\n\t\t\t\tthis.props.createSuccessNotice( payload.message );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowEditorHelp = subscribeShowEditorHelp( () => {\n\t\t\tthis.setState( { isHelpVisible: true } );\n\t\t} );\n\n\t\t// Request current block impressions from native app.\n\t\trequestBlockTypeImpressions( ( storedImpressions ) => {\n\t\t\tconst impressions = { ...NEW_BLOCK_TYPES, ...storedImpressions };\n\n\t\t\t// Persist impressions to JavaScript store.\n\t\t\tupdateSettings( { impressions } );\n\n\t\t\t// Persist impressions to native store if they do not include latest\n\t\t\t// `NEW_BLOCK_TYPES` configuration.\n\t\t\tconst storedImpressionKeys = Object.keys( storedImpressions );\n\t\t\tconst storedImpressionsCurrent = Object.keys(\n\t\t\t\tNEW_BLOCK_TYPES\n\t\t\t).every( ( newKey ) => storedImpressionKeys.includes( newKey ) );\n\t\t\tif ( ! storedImpressionsCurrent ) {\n\t\t\t\tsetBlockTypeImpressions( impressions );\n\t\t\t}\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentGetHtml ) {\n\t\t\tthis.subscriptionParentGetHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentToggleHTMLMode ) {\n\t\t\tthis.subscriptionParentToggleHTMLMode.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentSetTitle ) {\n\t\t\tthis.subscriptionParentSetTitle.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateHtml ) {\n\t\t\tthis.subscriptionParentUpdateHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentReplaceBlock ) {\n\t\t\tthis.subscriptionParentReplaceBlock.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentMediaAppend ) {\n\t\t\tthis.subscriptionParentMediaAppend.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateEditorSettings ) {\n\t\t\tthis.subscriptionParentUpdateEditorSettings.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateCapabilities ) {\n\t\t\tthis.subscriptionParentUpdateCapabilities.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowNotice ) {\n\t\t\tthis.subscriptionParentShowNotice.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowEditorHelp ) {\n\t\t\tthis.subscriptionParentShowEditorHelp.remove();\n\t\t}\n\t}\n\n\tgetThemeColors( { rawStyles, rawFeatures } ) {\n\t\tconst { defaultEditorColors, defaultEditorGradients } = this.props;\n\n\t\tif ( rawStyles && rawFeatures ) {\n\t\t\treturn getGlobalStyles( rawStyles, rawFeatures );\n\t\t}\n\n\t\treturn getColorsAndGradients(\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\trawFeatures\n\t\t);\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( ! prevProps.isReady && this.props.isReady ) {\n\t\t\tconst blocks = this.props.blocks;\n\t\t\tconst isUnsupportedBlock = ( { name } ) =>\n\t\t\t\tname === getUnregisteredTypeHandlerName();\n\t\t\tconst unsupportedBlockNames = blocks\n\t\t\t\t.filter( isUnsupportedBlock )\n\t\t\t\t.map( ( block ) => block.attributes.originalName );\n\t\t\tRNReactNativeGutenbergBridge.editorDidMount(\n\t\t\t\tunsupportedBlockNames\n\t\t\t);\n\t\t}\n\t}\n\n\tserializeToNativeAction() {\n\t\tconst title = this.props.title;\n\t\tlet html;\n\n\t\tif ( this.props.mode === 'text' ) {\n\t\t\t// The HTMLTextInput component does not update the store when user is doing changes\n\t\t\t// Let's request the HTML from the component's state directly.\n\t\t\thtml = applyFilters( 'native.persist-html' );\n\t\t} else {\n\t\t\thtml = serialize( this.props.blocks );\n\t\t}\n\n\t\tconst hasChanges =\n\t\t\ttitle !== this.post.title.raw || html !== this.post.content.raw;\n\n\t\t// Variable to store the content structure metrics.\n\t\tconst contentInfo = {};\n\t\tcontentInfo.characterCount = wordCount(\n\t\t\thtml,\n\t\t\t'characters_including_spaces'\n\t\t);\n\t\tcontentInfo.wordCount = wordCount( html, 'words' );\n\t\tcontentInfo.paragraphCount = this.props.paragraphCount;\n\t\tcontentInfo.blockCount = this.props.blockCount;\n\t\tRNReactNativeGutenbergBridge.provideToNative_Html(\n\t\t\thtml,\n\t\t\ttitle,\n\t\t\thasChanges,\n\t\t\tcontentInfo\n\t\t);\n\n\t\tif ( hasChanges ) {\n\t\t\tthis.post.title.raw = title;\n\t\t\tthis.post.content.raw = html;\n\t\t}\n\t}\n\n\tupdateHtmlAction( html ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.resetEditorBlocksWithoutUndoLevel( parsed );\n\t}\n\n\treplaceBlockAction( html, blockClientId ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.replaceBlock( blockClientId, parsed );\n\t}\n\n\ttoggleMode() {\n\t\tconst { mode, switchMode } = this.props;\n\t\t// Refresh html content first.\n\t\tthis.serializeToNativeAction();\n\t\t// Make sure to blur the selected block and dismiss the keyboard.\n\t\tthis.props.clearSelectedBlock();\n\t\tswitchMode( mode === 'visual' ? 'text' : 'visual' );\n\t}\n\n\tupdateCapabilitiesAction( capabilities ) {\n\t\tthis.props.updateSettings( capabilities );\n\t}\n\n\trender() {\n\t\tconst { children, post, capabilities, settings, ...props } = this.props;\n\t\tconst editorSettings = this.getEditorSettings( settings, capabilities );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ this.post }\n\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t<SafeAreaProvider>{ children }</SafeAreaProvider>\n\t\t\t\t</EditorProvider>\n\t\t\t\t<EditorHelpTopics\n\t\t\t\t\tisVisible={ this.state.isHelpVisible }\n\t\t\t\t\tonClose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t\tclose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\t__unstableIsEditorReady: isEditorReady,\n\t\t\tgetEditorBlocks,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostContent,\n\t\t} = select( editorStore );\n\t\tconst { getEditorMode } = select( editPostStore );\n\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetGlobalBlockCount,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst settings = getBlockEditorSettings();\n\t\tconst defaultEditorColors = settings?.colors ?? [];\n\t\tconst defaultEditorGradients = settings?.gradients ?? [];\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\treturn {\n\t\t\tmode: getEditorMode(),\n\t\t\tisReady: isEditorReady(),\n\t\t\tblocks: getEditorBlocks(),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tgetEditedPostContent,\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\tselectedBlockIndex: getBlockIndex( selectedBlockClientId ),\n\t\t\tblockCount: getGlobalBlockCount(),\n\t\t\tparagraphCount: getGlobalBlockCount( 'core/paragraph' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, resetEditorBlocks } = dispatch( editorStore );\n\t\tconst {\n\t\t\tupdateSettings,\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\treplaceBlock,\n\t\t} = dispatch( blockEditorStore );\n\t\tconst { switchEditorMode } = dispatch( editPostStore );\n\t\tconst { addEntities, receiveEntityRecords } = dispatch( coreStore );\n\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\treturn {\n\t\t\tupdateSettings,\n\t\t\taddEntities,\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\tcreateSuccessNotice,\n\t\t\teditTitle( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\treceiveEntityRecords,\n\t\t\tresetEditorBlocksWithoutUndoLevel( blocks ) {\n\t\t\t\tresetEditorBlocks( blocks, {\n\t\t\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tswitchMode( mode ) {\n\t\t\t\tswitchEditorMode( mode );\n\t\t\t},\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n] )( NativeEditorProvider );\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/provider/index.native.js"],"names":["postTypeEntities","name","baseURL","map","postTypeEntity","kind","transientEdits","blocks","selection","mergedEdits","meta","rawAttributes","NativeEditorProvider","Component","constructor","arguments","post","props","addEntities","receiveEntityRecords","type","getEditorSettings","settings","capabilities","maxSize","state","isHelpVisible","componentDidMount","locale","hostAppNamespace","updateSettings","getThemeColors","subscriptionParentGetHtml","serializeToNativeAction","subscriptionParentToggleHTMLMode","toggleMode","subscriptionParentSetTitle","payload","editTitle","title","subscriptionParentUpdateHtml","updateHtmlAction","html","subscriptionParentReplaceBlock","replaceBlockAction","clientId","subscriptionParentMediaAppend","blockName","mediaType","newBlock","id","mediaId","mediaUrl","indexAfterSelected","selectedBlockIndex","insertionIndex","blockCount","insertBlock","subscriptionParentUpdateEditorSettings","galleryWithImageBlocks","editorSettings","window","wp","galleryBlockV2Enabled","subscriptionParentUpdateCapabilities","updateCapabilitiesAction","subscriptionParentShowNotice","createSuccessNotice","message","subscriptionParentShowEditorHelp","setState","storedImpressions","impressions","NEW_BLOCK_TYPES","storedImpressionKeys","Object","keys","storedImpressionsCurrent","every","newKey","includes","componentWillUnmount","remove","rawStyles","rawFeatures","defaultEditorColors","defaultEditorGradients","componentDidUpdate","prevProps","isReady","isUnsupportedBlock","unsupportedBlockNames","filter","block","attributes","originalName","RNReactNativeGutenbergBridge","editorDidMount","mode","hasChanges","raw","content","contentInfo","characterCount","wordCount","paragraphCount","provideToNative_Html","parsed","resetEditorBlocksWithoutUndoLevel","blockClientId","replaceBlock","switchMode","clearSelectedBlock","render","children","select","__unstableIsEditorReady","isEditorReady","getEditorBlocks","getEditedPostAttribute","getEditedPostContent","editorStore","getEditorMode","editPostStore","getBlockIndex","getSelectedBlockClientId","getGlobalBlockCount","getSettings","getBlockEditorSettings","blockEditorStore","colors","gradients","selectedBlockClientId","dispatch","editPost","resetEditorBlocks","switchEditorMode","coreStore","noticesStore","__unstableShouldCreateUndoLevel"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport memize from 'memize';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\n/**\n * WordPress dependencies\n */\nimport RNReactNativeGutenbergBridge, {\n\trequestBlockTypeImpressions,\n\tsetBlockTypeImpressions,\n\tsubscribeParentGetHtml,\n\tsubscribeParentToggleHTMLMode,\n\tsubscribeUpdateHtml,\n\tsubscribeSetTitle,\n\tsubscribeMediaAppend,\n\tsubscribeReplaceBlock,\n\tsubscribeUpdateEditorSettings,\n\tsubscribeUpdateCapabilities,\n\tsubscribeShowNotice,\n\tsubscribeShowEditorHelp,\n} from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport {\n\tparse,\n\tserialize,\n\tgetUnregisteredTypeHandlerName,\n\tcreateBlock,\n} from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { getGlobalStyles, getColorsAndGradients } from '@wordpress/components';\nimport { NEW_BLOCK_TYPES } from '@wordpress/block-library';\n\nconst postTypeEntities = [\n\t{ name: 'post', baseURL: '/wp/v2/posts' },\n\t{ name: 'page', baseURL: '/wp/v2/pages' },\n\t{ name: 'attachment', baseURL: '/wp/v2/media' },\n\t{ name: 'wp_block', baseURL: '/wp/v2/blocks' },\n].map( ( postTypeEntity ) => ( {\n\tkind: 'postType',\n\t...postTypeEntity,\n\ttransientEdits: {\n\t\tblocks: true,\n\t\tselection: true,\n\t},\n\tmergedEdits: {\n\t\tmeta: true,\n\t},\n\trawAttributes: [ 'title', 'excerpt', 'content' ],\n} ) );\nimport { EditorHelpTopics, store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport EditorProvider from './index.js';\n\nclass NativeEditorProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\t// Keep a local reference to `post` to detect changes.\n\t\tthis.post = this.props.post;\n\t\tthis.props.addEntities( postTypeEntities );\n\t\tthis.props.receiveEntityRecords(\n\t\t\t'postType',\n\t\t\tthis.post.type,\n\t\t\tthis.post\n\t\t);\n\n\t\tthis.getEditorSettings = memize(\n\t\t\t( settings, capabilities ) => ( {\n\t\t\t\t...settings,\n\t\t\t\tcapabilities,\n\t\t\t} ),\n\t\t\t{\n\t\t\t\tmaxSize: 1,\n\t\t\t}\n\t\t);\n\t\tthis.state = {\n\t\t\tisHelpVisible: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { capabilities, locale, hostAppNamespace, updateSettings } =\n\t\t\tthis.props;\n\n\t\tupdateSettings( {\n\t\t\t...capabilities,\n\t\t\t...this.getThemeColors( this.props ),\n\t\t\tlocale,\n\t\t\thostAppNamespace,\n\t\t} );\n\n\t\tthis.subscriptionParentGetHtml = subscribeParentGetHtml( () => {\n\t\t\tthis.serializeToNativeAction();\n\t\t} );\n\n\t\tthis.subscriptionParentToggleHTMLMode = subscribeParentToggleHTMLMode(\n\t\t\t() => {\n\t\t\t\tthis.toggleMode();\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentSetTitle = subscribeSetTitle( ( payload ) => {\n\t\t\tthis.props.editTitle( payload.title );\n\t\t} );\n\n\t\tthis.subscriptionParentUpdateHtml = subscribeUpdateHtml(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateHtmlAction( payload.html );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentReplaceBlock = subscribeReplaceBlock(\n\t\t\t( payload ) => {\n\t\t\t\tthis.replaceBlockAction( payload.html, payload.clientId );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentMediaAppend = subscribeMediaAppend(\n\t\t\t( payload ) => {\n\t\t\t\tconst blockName = 'core/' + payload.mediaType;\n\t\t\t\tconst newBlock = createBlock( blockName, {\n\t\t\t\t\tid: payload.mediaId,\n\t\t\t\t\t[ payload.mediaType === 'image' ? 'url' : 'src' ]:\n\t\t\t\t\t\tpayload.mediaUrl,\n\t\t\t\t} );\n\n\t\t\t\tconst indexAfterSelected = this.props.selectedBlockIndex + 1;\n\t\t\t\tconst insertionIndex =\n\t\t\t\t\tindexAfterSelected || this.props.blockCount;\n\n\t\t\t\tthis.props.insertBlock( newBlock, insertionIndex );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentUpdateEditorSettings =\n\t\t\tsubscribeUpdateEditorSettings(\n\t\t\t\t( { galleryWithImageBlocks, ...editorSettings } ) => {\n\t\t\t\t\tif ( typeof galleryWithImageBlocks === 'boolean' ) {\n\t\t\t\t\t\twindow.wp.galleryBlockV2Enabled =\n\t\t\t\t\t\t\tgalleryWithImageBlocks;\n\t\t\t\t\t}\n\t\t\t\t\tupdateSettings( this.getThemeColors( editorSettings ) );\n\t\t\t\t}\n\t\t\t);\n\n\t\tthis.subscriptionParentUpdateCapabilities = subscribeUpdateCapabilities(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateCapabilitiesAction( payload );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowNotice = subscribeShowNotice(\n\t\t\t( payload ) => {\n\t\t\t\tthis.props.createSuccessNotice( payload.message );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowEditorHelp = subscribeShowEditorHelp( () => {\n\t\t\tthis.setState( { isHelpVisible: true } );\n\t\t} );\n\n\t\t// Request current block impressions from native app.\n\t\trequestBlockTypeImpressions( ( storedImpressions ) => {\n\t\t\tconst impressions = { ...NEW_BLOCK_TYPES, ...storedImpressions };\n\n\t\t\t// Persist impressions to JavaScript store.\n\t\t\tupdateSettings( { impressions } );\n\n\t\t\t// Persist impressions to native store if they do not include latest\n\t\t\t// `NEW_BLOCK_TYPES` configuration.\n\t\t\tconst storedImpressionKeys = Object.keys( storedImpressions );\n\t\t\tconst storedImpressionsCurrent = Object.keys(\n\t\t\t\tNEW_BLOCK_TYPES\n\t\t\t).every( ( newKey ) => storedImpressionKeys.includes( newKey ) );\n\t\t\tif ( ! storedImpressionsCurrent ) {\n\t\t\t\tsetBlockTypeImpressions( impressions );\n\t\t\t}\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentGetHtml ) {\n\t\t\tthis.subscriptionParentGetHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentToggleHTMLMode ) {\n\t\t\tthis.subscriptionParentToggleHTMLMode.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentSetTitle ) {\n\t\t\tthis.subscriptionParentSetTitle.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateHtml ) {\n\t\t\tthis.subscriptionParentUpdateHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentReplaceBlock ) {\n\t\t\tthis.subscriptionParentReplaceBlock.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentMediaAppend ) {\n\t\t\tthis.subscriptionParentMediaAppend.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateEditorSettings ) {\n\t\t\tthis.subscriptionParentUpdateEditorSettings.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateCapabilities ) {\n\t\t\tthis.subscriptionParentUpdateCapabilities.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowNotice ) {\n\t\t\tthis.subscriptionParentShowNotice.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowEditorHelp ) {\n\t\t\tthis.subscriptionParentShowEditorHelp.remove();\n\t\t}\n\t}\n\n\tgetThemeColors( { rawStyles, rawFeatures } ) {\n\t\tconst { defaultEditorColors, defaultEditorGradients } = this.props;\n\n\t\tif ( rawStyles && rawFeatures ) {\n\t\t\treturn getGlobalStyles( rawStyles, rawFeatures );\n\t\t}\n\n\t\treturn getColorsAndGradients(\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\trawFeatures\n\t\t);\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( ! prevProps.isReady && this.props.isReady ) {\n\t\t\tconst blocks = this.props.blocks;\n\t\t\tconst isUnsupportedBlock = ( { name } ) =>\n\t\t\t\tname === getUnregisteredTypeHandlerName();\n\t\t\tconst unsupportedBlockNames = blocks\n\t\t\t\t.filter( isUnsupportedBlock )\n\t\t\t\t.map( ( block ) => block.attributes.originalName );\n\t\t\tRNReactNativeGutenbergBridge.editorDidMount(\n\t\t\t\tunsupportedBlockNames\n\t\t\t);\n\t\t}\n\t}\n\n\tserializeToNativeAction() {\n\t\tconst title = this.props.title;\n\t\tlet html;\n\n\t\tif ( this.props.mode === 'text' ) {\n\t\t\t// The HTMLTextInput component does not update the store when user is doing changes\n\t\t\t// Let's request the HTML from the component's state directly.\n\t\t\thtml = applyFilters( 'native.persist-html' );\n\t\t} else {\n\t\t\thtml = serialize( this.props.blocks );\n\t\t}\n\n\t\tconst hasChanges =\n\t\t\ttitle !== this.post.title.raw || html !== this.post.content.raw;\n\n\t\t// Variable to store the content structure metrics.\n\t\tconst contentInfo = {};\n\t\tcontentInfo.characterCount = wordCount(\n\t\t\thtml,\n\t\t\t'characters_including_spaces'\n\t\t);\n\t\tcontentInfo.wordCount = wordCount( html, 'words' );\n\t\tcontentInfo.paragraphCount = this.props.paragraphCount;\n\t\tcontentInfo.blockCount = this.props.blockCount;\n\t\tRNReactNativeGutenbergBridge.provideToNative_Html(\n\t\t\thtml,\n\t\t\ttitle,\n\t\t\thasChanges,\n\t\t\tcontentInfo\n\t\t);\n\n\t\tif ( hasChanges ) {\n\t\t\tthis.post.title.raw = title;\n\t\t\tthis.post.content.raw = html;\n\t\t}\n\t}\n\n\tupdateHtmlAction( html ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.resetEditorBlocksWithoutUndoLevel( parsed );\n\t}\n\n\treplaceBlockAction( html, blockClientId ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.replaceBlock( blockClientId, parsed );\n\t}\n\n\ttoggleMode() {\n\t\tconst { mode, switchMode } = this.props;\n\t\t// Refresh html content first.\n\t\tthis.serializeToNativeAction();\n\t\t// Make sure to blur the selected block and dismiss the keyboard.\n\t\tthis.props.clearSelectedBlock();\n\t\tswitchMode( mode === 'visual' ? 'text' : 'visual' );\n\t}\n\n\tupdateCapabilitiesAction( capabilities ) {\n\t\tthis.props.updateSettings( capabilities );\n\t}\n\n\trender() {\n\t\tconst { children, post, capabilities, settings, ...props } = this.props;\n\t\tconst editorSettings = this.getEditorSettings( settings, capabilities );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ this.post }\n\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t<SafeAreaProvider>{ children }</SafeAreaProvider>\n\t\t\t\t</EditorProvider>\n\t\t\t\t<EditorHelpTopics\n\t\t\t\t\tisVisible={ this.state.isHelpVisible }\n\t\t\t\t\tonClose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t\tclose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\t__unstableIsEditorReady: isEditorReady,\n\t\t\tgetEditorBlocks,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostContent,\n\t\t} = select( editorStore );\n\t\tconst { getEditorMode } = select( editPostStore );\n\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetGlobalBlockCount,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst settings = getBlockEditorSettings();\n\t\tconst defaultEditorColors = settings?.colors ?? [];\n\t\tconst defaultEditorGradients = settings?.gradients ?? [];\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\treturn {\n\t\t\tmode: getEditorMode(),\n\t\t\tisReady: isEditorReady(),\n\t\t\tblocks: getEditorBlocks(),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tgetEditedPostContent,\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\tselectedBlockIndex: getBlockIndex( selectedBlockClientId ),\n\t\t\tblockCount: getGlobalBlockCount(),\n\t\t\tparagraphCount: getGlobalBlockCount( 'core/paragraph' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, resetEditorBlocks } = dispatch( editorStore );\n\t\tconst {\n\t\t\tupdateSettings,\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\treplaceBlock,\n\t\t} = dispatch( blockEditorStore );\n\t\tconst { switchEditorMode } = dispatch( editPostStore );\n\t\tconst { addEntities, receiveEntityRecords } = dispatch( coreStore );\n\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\treturn {\n\t\t\tupdateSettings,\n\t\t\taddEntities,\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\tcreateSuccessNotice,\n\t\t\teditTitle( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\treceiveEntityRecords,\n\t\t\tresetEditorBlocksWithoutUndoLevel( blocks ) {\n\t\t\t\tresetEditorBlocks( blocks, {\n\t\t\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tswitchMode( mode ) {\n\t\t\t\tswitchEditorMode( mode );\n\t\t\t},\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n] )( NativeEditorProvider );\n"]}
@@ -59,7 +59,7 @@ function useBlockEditorSettings(settings, hasTemplate) {
59
59
  canUser,
60
60
  getEntityRecord
61
61
  } = select(_coreData.store);
62
- const siteSettings = getEntityRecord('root', 'site');
62
+ const siteSettings = canUser('read', 'settings') ? getEntityRecord('root', 'site') : undefined;
63
63
  return {
64
64
  canUseUnfilteredHTML: canUserUseUnfilteredHTML(),
65
65
  reusableBlocks: isWeb ? select(_coreData.store).getEntityRecords('postType', 'wp_block', {
@@ -110,7 +110,7 @@ function useBlockEditorSettings(settings, hasTemplate) {
110
110
  return saveEntityRecord('postType', 'page', options);
111
111
  };
112
112
 
113
- return (0, _element.useMemo)(() => ({ ...(0, _lodash.pick)(settings, ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalPreferredStyleVariations', '__experimentalSetIsInserterOpened', '__unstableGalleryWithImageBlocks', 'alignWide', 'allowedBlockTypes', 'bodyPlaceholder', 'canLockBlocks', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomGradients', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'focusMode', 'fontSizes', 'gradients', 'generateAnchors', 'hasFixedToolbar', 'hasReducedUI', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'keepCaretInsideBlock', 'maxWidth', 'onUpdateDefaultBlockStyles', 'styles', 'template', 'templateLock', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableResolvedAssets']),
113
+ return (0, _element.useMemo)(() => ({ ...(0, _lodash.pick)(settings, ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalPreferredStyleVariations', '__experimentalSetIsInserterOpened', '__unstableGalleryWithImageBlocks', 'alignWide', 'allowedBlockTypes', 'bodyPlaceholder', 'canLockBlocks', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomGradients', 'disableLayoutStyles', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'focusMode', 'fontSizes', 'gradients', 'generateAnchors', 'hasFixedToolbar', 'hasReducedUI', 'hasInlineToolbar', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'keepCaretInsideBlock', 'maxWidth', 'onUpdateDefaultBlockStyles', 'styles', 'template', 'templateLock', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableResolvedAssets']),
114
114
  mediaUpload: hasUploadPermissions ? _utils.mediaUpload : undefined,
115
115
  __experimentalReusableBlocks: reusableBlocks,
116
116
  __experimentalBlockPatterns: blockPatterns,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"names":["useBlockEditorSettings","settings","hasTemplate","reusableBlocks","hasUploadPermissions","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","select","canUserUseUnfilteredHTML","editorStore","isWeb","Platform","OS","canUser","getEntityRecord","coreStore","siteSettings","getEntityRecords","per_page","page_on_front","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","getBlockPatterns","getBlockPatternCategories","blockPatterns","blockPatternCategories","undo","saveEntityRecord","createPageEntity","options","Promise","reject","message","mediaUpload","undefined","__experimentalReusableBlocks","__experimentalFetchLinkSuggestions","search","searchOptions","__experimentalFetchRichUrlData","fetchUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { pick, unionBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {boolean} hasTemplate Whether template mode is enabled.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, hasTemplate ) {\n\tconst {\n\t\treusableBlocks,\n\t\thasUploadPermissions,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUserUseUnfilteredHTML } = select( editorStore );\n\t\tconst isWeb = Platform.OS === 'web';\n\t\tconst { canUser, getEntityRecord } = select( coreStore );\n\n\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\n\t\treturn {\n\t\t\tcanUseUnfilteredHTML: canUserUseUnfilteredHTML(),\n\t\t\treusableBlocks: isWeb\n\t\t\t\t? select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_block',\n\t\t\t\t\t\t{ per_page: -1 }\n\t\t\t\t )\n\t\t\t\t: [], // Reusable blocks are fetched in the native version of this hook.\n\t\t\thasUploadPermissions: canUser( 'create', 'media' ) ?? true,\n\t\t\tuserCanCreatePages: canUser( 'create', 'pages' ),\n\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t};\n\t}, [] );\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst { restBlockPatterns, restBlockPatternCategories } = useSelect(\n\t\t( select ) => ( {\n\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\trestBlockPatternCategories:\n\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst blockPatterns = useMemo(\n\t\t() => unionBy( settingsBlockPatterns, restBlockPatterns, 'name' ),\n\t\t[ settingsBlockPatterns, restBlockPatterns ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\tunionBy(\n\t\t\t\tsettingsBlockPatternCategories,\n\t\t\t\trestBlockPatternCategories,\n\t\t\t\t'name'\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = ( options ) => {\n\t\tif ( ! userCanCreatePages ) {\n\t\t\treturn Promise.reject( {\n\t\t\t\tmessage: __( 'You do not have permission to create Pages.' ),\n\t\t\t} );\n\t\t}\n\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t};\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...pick( settings, [\n\t\t\t\t'__experimentalBlockDirectory',\n\t\t\t\t'__experimentalDiscussionSettings',\n\t\t\t\t'__experimentalFeatures',\n\t\t\t\t'__experimentalPreferredStyleVariations',\n\t\t\t\t'__experimentalSetIsInserterOpened',\n\t\t\t\t'__unstableGalleryWithImageBlocks',\n\t\t\t\t'alignWide',\n\t\t\t\t'allowedBlockTypes',\n\t\t\t\t'bodyPlaceholder',\n\t\t\t\t'canLockBlocks',\n\t\t\t\t'codeEditingEnabled',\n\t\t\t\t'colors',\n\t\t\t\t'disableCustomColors',\n\t\t\t\t'disableCustomFontSizes',\n\t\t\t\t'disableCustomGradients',\n\t\t\t\t'enableCustomLineHeight',\n\t\t\t\t'enableCustomSpacing',\n\t\t\t\t'enableCustomUnits',\n\t\t\t\t'focusMode',\n\t\t\t\t'fontSizes',\n\t\t\t\t'gradients',\n\t\t\t\t'generateAnchors',\n\t\t\t\t'hasFixedToolbar',\n\t\t\t\t'hasReducedUI',\n\t\t\t\t'imageDefaultSize',\n\t\t\t\t'imageDimensions',\n\t\t\t\t'imageEditing',\n\t\t\t\t'imageSizes',\n\t\t\t\t'isRTL',\n\t\t\t\t'keepCaretInsideBlock',\n\t\t\t\t'maxWidth',\n\t\t\t\t'onUpdateDefaultBlockStyles',\n\t\t\t\t'styles',\n\t\t\t\t'template',\n\t\t\t\t'templateLock',\n\t\t\t\t'titlePlaceholder',\n\t\t\t\t'supportsLayout',\n\t\t\t\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t\t\t\t'__unstableResolvedAssets',\n\t\t\t] ),\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t__experimentalUndo: undo,\n\t\t\toutlineMode: hasTemplate,\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\t__experimentalPreferPatternsOnRoot: hasTemplate,\n\t\t} ),\n\t\t[\n\t\t\tsettings,\n\t\t\thasUploadPermissions,\n\t\t\treusableBlocks,\n\t\t\tblockPatterns,\n\t\t\tblockPatternCategories,\n\t\t\tcanUseUnfilteredHTML,\n\t\t\tundo,\n\t\t\thasTemplate,\n\t\t\tuserCanCreatePages,\n\t\t\tpageOnFront,\n\t\t]\n\t);\n}\n\nexport default useBlockEditorSettings;\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"names":["useBlockEditorSettings","settings","hasTemplate","reusableBlocks","hasUploadPermissions","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","select","canUserUseUnfilteredHTML","editorStore","isWeb","Platform","OS","canUser","getEntityRecord","coreStore","siteSettings","undefined","getEntityRecords","per_page","page_on_front","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","getBlockPatterns","getBlockPatternCategories","blockPatterns","blockPatternCategories","undo","saveEntityRecord","createPageEntity","options","Promise","reject","message","mediaUpload","__experimentalReusableBlocks","__experimentalFetchLinkSuggestions","search","searchOptions","__experimentalFetchRichUrlData","fetchUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { pick, unionBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {boolean} hasTemplate Whether template mode is enabled.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, hasTemplate ) {\n\tconst {\n\t\treusableBlocks,\n\t\thasUploadPermissions,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUserUseUnfilteredHTML } = select( editorStore );\n\t\tconst isWeb = Platform.OS === 'web';\n\t\tconst { canUser, getEntityRecord } = select( coreStore );\n\n\t\tconst siteSettings = canUser( 'read', 'settings' )\n\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanUseUnfilteredHTML: canUserUseUnfilteredHTML(),\n\t\t\treusableBlocks: isWeb\n\t\t\t\t? select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_block',\n\t\t\t\t\t\t{ per_page: -1 }\n\t\t\t\t )\n\t\t\t\t: [], // Reusable blocks are fetched in the native version of this hook.\n\t\t\thasUploadPermissions: canUser( 'create', 'media' ) ?? true,\n\t\t\tuserCanCreatePages: canUser( 'create', 'pages' ),\n\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t};\n\t}, [] );\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst { restBlockPatterns, restBlockPatternCategories } = useSelect(\n\t\t( select ) => ( {\n\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\trestBlockPatternCategories:\n\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst blockPatterns = useMemo(\n\t\t() => unionBy( settingsBlockPatterns, restBlockPatterns, 'name' ),\n\t\t[ settingsBlockPatterns, restBlockPatterns ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\tunionBy(\n\t\t\t\tsettingsBlockPatternCategories,\n\t\t\t\trestBlockPatternCategories,\n\t\t\t\t'name'\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = ( options ) => {\n\t\tif ( ! userCanCreatePages ) {\n\t\t\treturn Promise.reject( {\n\t\t\t\tmessage: __( 'You do not have permission to create Pages.' ),\n\t\t\t} );\n\t\t}\n\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t};\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...pick( settings, [\n\t\t\t\t'__experimentalBlockDirectory',\n\t\t\t\t'__experimentalDiscussionSettings',\n\t\t\t\t'__experimentalFeatures',\n\t\t\t\t'__experimentalPreferredStyleVariations',\n\t\t\t\t'__experimentalSetIsInserterOpened',\n\t\t\t\t'__unstableGalleryWithImageBlocks',\n\t\t\t\t'alignWide',\n\t\t\t\t'allowedBlockTypes',\n\t\t\t\t'bodyPlaceholder',\n\t\t\t\t'canLockBlocks',\n\t\t\t\t'codeEditingEnabled',\n\t\t\t\t'colors',\n\t\t\t\t'disableCustomColors',\n\t\t\t\t'disableCustomFontSizes',\n\t\t\t\t'disableCustomGradients',\n\t\t\t\t'disableLayoutStyles',\n\t\t\t\t'enableCustomLineHeight',\n\t\t\t\t'enableCustomSpacing',\n\t\t\t\t'enableCustomUnits',\n\t\t\t\t'focusMode',\n\t\t\t\t'fontSizes',\n\t\t\t\t'gradients',\n\t\t\t\t'generateAnchors',\n\t\t\t\t'hasFixedToolbar',\n\t\t\t\t'hasReducedUI',\n\t\t\t\t'hasInlineToolbar',\n\t\t\t\t'imageDefaultSize',\n\t\t\t\t'imageDimensions',\n\t\t\t\t'imageEditing',\n\t\t\t\t'imageSizes',\n\t\t\t\t'isRTL',\n\t\t\t\t'keepCaretInsideBlock',\n\t\t\t\t'maxWidth',\n\t\t\t\t'onUpdateDefaultBlockStyles',\n\t\t\t\t'styles',\n\t\t\t\t'template',\n\t\t\t\t'templateLock',\n\t\t\t\t'titlePlaceholder',\n\t\t\t\t'supportsLayout',\n\t\t\t\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t\t\t\t'__unstableResolvedAssets',\n\t\t\t] ),\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t__experimentalUndo: undo,\n\t\t\toutlineMode: hasTemplate,\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\t__experimentalPreferPatternsOnRoot: hasTemplate,\n\t\t} ),\n\t\t[\n\t\t\tsettings,\n\t\t\thasUploadPermissions,\n\t\t\treusableBlocks,\n\t\t\tblockPatterns,\n\t\t\tblockPatternCategories,\n\t\t\tcanUseUnfilteredHTML,\n\t\t\tundo,\n\t\t\thasTemplate,\n\t\t\tuserCanCreatePages,\n\t\t\tpageOnFront,\n\t\t]\n\t);\n}\n\nexport default useBlockEditorSettings;\n"]}
@@ -17,6 +17,8 @@ var _blockEditor = require("@wordpress/block-editor");
17
17
 
18
18
  var _wordCount = _interopRequireDefault(require("../word-count"));
19
19
 
20
+ var _timeToRead = _interopRequireDefault(require("../time-to-read"));
21
+
20
22
  var _documentOutline = _interopRequireDefault(require("../document-outline"));
21
23
 
22
24
  var _characterCount = _interopRequireDefault(require("../character-count"));
@@ -64,11 +66,13 @@ function TableOfContentsPanel(_ref) {
64
66
  className: "table-of-contents__counts"
65
67
  }, (0, _element.createElement)("li", {
66
68
  className: "table-of-contents__count"
69
+ }, (0, _i18n.__)('Words'), (0, _element.createElement)(_wordCount.default, null)), (0, _element.createElement)("li", {
70
+ className: "table-of-contents__count"
67
71
  }, (0, _i18n.__)('Characters'), (0, _element.createElement)("span", {
68
72
  className: "table-of-contents__number"
69
73
  }, (0, _element.createElement)(_characterCount.default, null))), (0, _element.createElement)("li", {
70
74
  className: "table-of-contents__count"
71
- }, (0, _i18n.__)('Words'), (0, _element.createElement)(_wordCount.default, null)), (0, _element.createElement)("li", {
75
+ }, (0, _i18n.__)('Time to read'), (0, _element.createElement)(_timeToRead.default, null)), (0, _element.createElement)("li", {
72
76
  className: "table-of-contents__count"
73
77
  }, (0, _i18n.__)('Headings'), (0, _element.createElement)("span", {
74
78
  className: "table-of-contents__number"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/table-of-contents/panel.js"],"names":["TableOfContentsPanel","hasOutlineItemsDisabled","onRequestClose","headingCount","paragraphCount","numberOfBlocks","select","getGlobalBlockCount","blockEditorStore"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AAZA;AACA;AACA;;AAKA;AACA;AACA;AAKA,SAASA,oBAAT,OAA6E;AAAA,MAA9C;AAAEC,IAAAA,uBAAF;AAA2BC,IAAAA;AAA3B,GAA8C;AAC5E,QAAM;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA,cAAhB;AAAgCC,IAAAA;AAAhC,MAAmD,qBACtDC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAA0BD,MAAM,CAAEE,kBAAF,CAAtC;AACA,WAAO;AACNL,MAAAA,YAAY,EAAEI,mBAAmB,CAAE,cAAF,CAD3B;AAENH,MAAAA,cAAc,EAAEG,mBAAmB,CAAE,gBAAF,CAF7B;AAGNF,MAAAA,cAAc,EAAEE,mBAAmB;AAH7B,KAAP;AAKA,GARuD,EASxD,EATwD,CAAzD;AAWA;AACC;AACF;AACA;AACA;;AACE;AACA,yDACC;AACC,MAAA,SAAS,EAAC,4BADX;AAEC,MAAA,IAAI,EAAC,MAFN;AAGC,oBAAa,cAAI,qBAAJ,CAHd;AAIC,MAAA,QAAQ,EAAC;AAJV,OAMC;AAAI,MAAA,IAAI,EAAC,MAAT;AAAgB,MAAA,SAAS,EAAC;AAA1B,OACC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG,cAAI,YAAJ,CADH,EAEC;AAAM,MAAA,SAAS,EAAC;AAAhB,OACC,4BAAC,uBAAD,OADD,CAFD,CADD,EAOC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG,cAAI,OAAJ,CADH,EAEC,4BAAC,kBAAD,OAFD,CAPD,EAWC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG,cAAI,UAAJ,CADH,EAEC;AAAM,MAAA,SAAS,EAAC;AAAhB,OACGJ,YADH,CAFD,CAXD,EAiBC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG,cAAI,YAAJ,CADH,EAEC;AAAM,MAAA,SAAS,EAAC;AAAhB,OACGC,cADH,CAFD,CAjBD,EAuBC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG,cAAI,QAAJ,CADH,EAEC;AAAM,MAAA,SAAS,EAAC;AAAhB,OACGC,cADH,CAFD,CAvBD,CAND,CADD,EAsCGF,YAAY,GAAG,CAAf,IACD,qDACC,uCADD,EAEC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG,cAAI,kBAAJ,CADH,CAFD,EAKC,4BAAC,wBAAD;AACC,MAAA,QAAQ,EAAGD,cADZ;AAEC,MAAA,uBAAuB,EAAGD;AAF3B,MALD,CAvCF;AAmDA;;AAzDD;AA2DA;;eAEcD,oB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport WordCount from '../word-count';\nimport DocumentOutline from '../document-outline';\nimport CharacterCount from '../character-count';\n\nfunction TableOfContentsPanel( { hasOutlineItemsDisabled, onRequestClose } ) {\n\tconst { headingCount, paragraphCount, numberOfBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getGlobalBlockCount } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\theadingCount: getGlobalBlockCount( 'core/heading' ),\n\t\t\t\tparagraphCount: getGlobalBlockCount( 'core/paragraph' ),\n\t\t\t\tnumberOfBlocks: getGlobalBlockCount(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\treturn (\n\t\t/*\n\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t */\n\t\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName=\"table-of-contents__wrapper\"\n\t\t\t\trole=\"note\"\n\t\t\t\taria-label={ __( 'Document Statistics' ) }\n\t\t\t\ttabIndex=\"0\"\n\t\t\t>\n\t\t\t\t<ul role=\"list\" className=\"table-of-contents__counts\">\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Characters' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t<CharacterCount />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Words' ) }\n\t\t\t\t\t\t<WordCount />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Headings' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t{ headingCount }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Paragraphs' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t{ paragraphCount }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Blocks' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t{ numberOfBlocks }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t{ headingCount > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<hr />\n\t\t\t\t\t<h2 className=\"table-of-contents__title\">\n\t\t\t\t\t\t{ __( 'Document Outline' ) }\n\t\t\t\t\t</h2>\n\t\t\t\t\t<DocumentOutline\n\t\t\t\t\t\tonSelect={ onRequestClose }\n\t\t\t\t\t\thasOutlineItemsDisabled={ hasOutlineItemsDisabled }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t\t/* eslint-enable jsx-a11y/no-redundant-roles */\n\t);\n}\n\nexport default TableOfContentsPanel;\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/table-of-contents/panel.js"],"names":["TableOfContentsPanel","hasOutlineItemsDisabled","onRequestClose","headingCount","paragraphCount","numberOfBlocks","select","getGlobalBlockCount","blockEditorStore"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAbA;AACA;AACA;;AAKA;AACA;AACA;AAMA,SAASA,oBAAT,OAA6E;AAAA,MAA9C;AAAEC,IAAAA,uBAAF;AAA2BC,IAAAA;AAA3B,GAA8C;AAC5E,QAAM;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA,cAAhB;AAAgCC,IAAAA;AAAhC,MAAmD,qBACtDC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAA0BD,MAAM,CAAEE,kBAAF,CAAtC;AACA,WAAO;AACNL,MAAAA,YAAY,EAAEI,mBAAmB,CAAE,cAAF,CAD3B;AAENH,MAAAA,cAAc,EAAEG,mBAAmB,CAAE,gBAAF,CAF7B;AAGNF,MAAAA,cAAc,EAAEE,mBAAmB;AAH7B,KAAP;AAKA,GARuD,EASxD,EATwD,CAAzD;AAWA;AACC;AACF;AACA;AACA;;AACE;AACA,yDACC;AACC,MAAA,SAAS,EAAC,4BADX;AAEC,MAAA,IAAI,EAAC,MAFN;AAGC,oBAAa,cAAI,qBAAJ,CAHd;AAIC,MAAA,QAAQ,EAAC;AAJV,OAMC;AAAI,MAAA,IAAI,EAAC,MAAT;AAAgB,MAAA,SAAS,EAAC;AAA1B,OACC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG,cAAI,OAAJ,CADH,EAEC,4BAAC,kBAAD,OAFD,CADD,EAKC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG,cAAI,YAAJ,CADH,EAEC;AAAM,MAAA,SAAS,EAAC;AAAhB,OACC,4BAAC,uBAAD,OADD,CAFD,CALD,EAWC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG,cAAI,cAAJ,CADH,EAEC,4BAAC,mBAAD,OAFD,CAXD,EAeC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG,cAAI,UAAJ,CADH,EAEC;AAAM,MAAA,SAAS,EAAC;AAAhB,OACGJ,YADH,CAFD,CAfD,EAqBC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG,cAAI,YAAJ,CADH,EAEC;AAAM,MAAA,SAAS,EAAC;AAAhB,OACGC,cADH,CAFD,CArBD,EA2BC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG,cAAI,QAAJ,CADH,EAEC;AAAM,MAAA,SAAS,EAAC;AAAhB,OACGC,cADH,CAFD,CA3BD,CAND,CADD,EA0CGF,YAAY,GAAG,CAAf,IACD,qDACC,uCADD,EAEC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG,cAAI,kBAAJ,CADH,CAFD,EAKC,4BAAC,wBAAD;AACC,MAAA,QAAQ,EAAGD,cADZ;AAEC,MAAA,uBAAuB,EAAGD;AAF3B,MALD,CA3CF;AAuDA;;AA7DD;AA+DA;;eAEcD,oB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport WordCount from '../word-count';\nimport TimeToRead from '../time-to-read';\nimport DocumentOutline from '../document-outline';\nimport CharacterCount from '../character-count';\n\nfunction TableOfContentsPanel( { hasOutlineItemsDisabled, onRequestClose } ) {\n\tconst { headingCount, paragraphCount, numberOfBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getGlobalBlockCount } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\theadingCount: getGlobalBlockCount( 'core/heading' ),\n\t\t\t\tparagraphCount: getGlobalBlockCount( 'core/paragraph' ),\n\t\t\t\tnumberOfBlocks: getGlobalBlockCount(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\treturn (\n\t\t/*\n\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t */\n\t\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName=\"table-of-contents__wrapper\"\n\t\t\t\trole=\"note\"\n\t\t\t\taria-label={ __( 'Document Statistics' ) }\n\t\t\t\ttabIndex=\"0\"\n\t\t\t>\n\t\t\t\t<ul role=\"list\" className=\"table-of-contents__counts\">\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Words' ) }\n\t\t\t\t\t\t<WordCount />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Characters' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t<CharacterCount />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Time to read' ) }\n\t\t\t\t\t\t<TimeToRead />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Headings' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t{ headingCount }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Paragraphs' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t{ paragraphCount }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Blocks' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t{ numberOfBlocks }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t{ headingCount > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<hr />\n\t\t\t\t\t<h2 className=\"table-of-contents__title\">\n\t\t\t\t\t\t{ __( 'Document Outline' ) }\n\t\t\t\t\t</h2>\n\t\t\t\t\t<DocumentOutline\n\t\t\t\t\t\tonSelect={ onRequestClose }\n\t\t\t\t\t\thasOutlineItemsDisabled={ hasOutlineItemsDisabled }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t\t/* eslint-enable jsx-a11y/no-redundant-roles */\n\t);\n}\n\nexport default TableOfContentsPanel;\n"]}