@wordpress/editor 13.28.5 → 13.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/components/block-removal-warnings/index.js +70 -0
- package/build/components/block-removal-warnings/index.js.map +1 -0
- package/build/components/commands/index.js +209 -0
- package/build/components/commands/index.js.map +1 -0
- package/build/components/commands/index.native.js +9 -0
- package/build/components/commands/index.native.js.map +1 -0
- package/build/components/document-bar/index.js +78 -67
- package/build/components/document-bar/index.js.map +1 -1
- package/build/components/document-outline/check.js +8 -7
- package/build/components/document-outline/check.js.map +1 -1
- package/build/components/document-outline/index.js +26 -27
- package/build/components/document-outline/index.js.map +1 -1
- package/build/components/document-tools/index.js +5 -3
- package/build/components/document-tools/index.js.map +1 -1
- package/build/components/editor-help/intro-to-blocks.native.js.map +1 -1
- package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/index.js +20 -2
- package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
- package/build/components/list-view-sidebar/index.js +1 -1
- package/build/components/list-view-sidebar/index.js.map +1 -1
- package/build/components/mode-switcher/index.js +86 -0
- package/build/components/mode-switcher/index.js.map +1 -0
- package/build/components/post-locked-modal/index.js.map +1 -1
- package/build/components/post-preview-button/index.js +2 -1
- package/build/components/post-preview-button/index.js.map +1 -1
- package/build/components/post-publish-button/index.js +2 -1
- package/build/components/post-publish-button/index.js.map +1 -1
- package/build/components/post-publish-panel/index.js.map +1 -1
- package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build/components/post-taxonomies/hierarchical-term-selector.js +3 -0
- package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build/components/post-title/index.js +0 -5
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/post-title/index.native.js.map +1 -1
- package/build/components/post-title/post-title-raw.js.map +1 -1
- package/build/components/post-view-link/index.js +2 -1
- package/build/components/post-view-link/index.js.map +1 -1
- package/build/components/provider/index.js +8 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +4 -9
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +1 -1
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/provider/use-hide-blocks-from-inserter.js +53 -0
- package/build/components/provider/use-hide-blocks-from-inserter.js.map +1 -0
- package/build/private-apis.js +2 -0
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +69 -2
- package/build/store/actions.js.map +1 -1
- package/build/store/selectors.js +13 -1
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-removal-warnings/index.js +64 -0
- package/build-module/components/block-removal-warnings/index.js.map +1 -0
- package/build-module/components/commands/index.js +202 -0
- package/build-module/components/commands/index.js.map +1 -0
- package/build-module/components/commands/index.native.js +3 -0
- package/build-module/components/commands/index.native.js.map +1 -0
- package/build-module/components/document-bar/index.js +81 -70
- package/build-module/components/document-bar/index.js.map +1 -1
- package/build-module/components/document-outline/check.js +9 -8
- package/build-module/components/document-outline/check.js.map +1 -1
- package/build-module/components/document-outline/index.js +26 -26
- package/build-module/components/document-outline/index.js.map +1 -1
- package/build-module/components/document-tools/index.js +5 -3
- package/build-module/components/document-tools/index.js.map +1 -1
- package/build-module/components/editor-help/intro-to-blocks.native.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/index.js +20 -2
- package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
- package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
- package/build-module/components/list-view-sidebar/index.js +1 -1
- package/build-module/components/list-view-sidebar/index.js.map +1 -1
- package/build-module/components/mode-switcher/index.js +80 -0
- package/build-module/components/mode-switcher/index.js.map +1 -0
- package/build-module/components/post-locked-modal/index.js.map +1 -1
- package/build-module/components/post-preview-button/index.js +2 -1
- package/build-module/components/post-preview-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/index.js +2 -1
- package/build-module/components/post-publish-button/index.js.map +1 -1
- package/build-module/components/post-publish-panel/index.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js +3 -0
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build-module/components/post-title/index.js +0 -5
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/post-title/index.native.js.map +1 -1
- package/build-module/components/post-title/post-title-raw.js.map +1 -1
- package/build-module/components/post-view-link/index.js +2 -1
- package/build-module/components/post-view-link/index.js.map +1 -1
- package/build-module/components/provider/index.js +8 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +4 -10
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +1 -1
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/provider/use-hide-blocks-from-inserter.js +47 -0
- package/build-module/components/provider/use-hide-blocks-from-inserter.js.map +1 -0
- package/build-module/private-apis.js +2 -0
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +66 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/selectors.js +12 -0
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +4 -47
- package/build-style/style.css +4 -47
- package/package.json +32 -32
- package/src/components/block-removal-warnings/index.js +92 -0
- package/src/components/commands/index.js +210 -0
- package/src/components/commands/index.native.js +2 -0
- package/src/components/document-bar/index.js +115 -94
- package/src/components/document-bar/style.scss +4 -37
- package/src/components/document-outline/check.js +8 -10
- package/src/components/document-outline/index.js +18 -23
- package/src/components/document-outline/test/index.js +26 -7
- package/src/components/document-tools/index.js +3 -3
- package/src/components/editor-help/intro-to-blocks.native.js +1 -1
- package/src/components/entities-saved-states/entity-type-list.js +1 -1
- package/src/components/global-keyboard-shortcuts/index.js +35 -4
- package/src/components/global-keyboard-shortcuts/register-shortcuts.js +20 -0
- package/src/components/list-view-sidebar/index.js +1 -1
- package/src/components/mode-switcher/index.js +90 -0
- package/src/components/post-locked-modal/index.js +1 -1
- package/src/components/post-preview-button/index.js +1 -0
- package/src/components/post-publish-button/index.js +1 -0
- package/src/components/post-publish-panel/index.js +1 -1
- package/src/components/post-publish-panel/maybe-upload-media.js +1 -1
- package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +3 -3
- package/src/components/post-taxonomies/hierarchical-term-selector.js +3 -0
- package/src/components/post-title/index.js +0 -3
- package/src/components/post-title/index.native.js +2 -2
- package/src/components/post-title/post-title-raw.js +1 -1
- package/src/components/post-view-link/index.js +1 -0
- package/src/components/provider/index.js +9 -0
- package/src/components/provider/index.native.js +7 -6
- package/src/components/provider/use-block-editor-settings.js +0 -3
- package/src/components/provider/use-hide-blocks-from-inserter.js +81 -0
- package/src/private-apis.js +2 -0
- package/src/store/actions.js +95 -0
- package/src/store/selectors.js +12 -0
- package/src/store/test/actions.js +82 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_element","_notices","_components","_data","_compose","_coreData","_a11y","_htmlEntities","_terms","_store","DEFAULT_QUERY","per_page","orderby","order","_fields","context","MIN_TERMS_COUNT_FOR_FILTER","EMPTY_ARRAY","sortBySelected","termsTree","terms","treeHasSelection","termTree","indexOf","id","undefined","children","map","filter","child","length","termOrChildIsSelected","termA","termB","termASelected","termBSelected","newTermTree","sort","findTerm","parent","name","find","term","parseInt","toLowerCase","getFilterMatcher","filterValue","matchTermsForFilter","originalTerm","HierarchicalTermSelector","slug","_taxonomy$labels$sear","_taxonomy$name","adding","setAdding","useState","formName","setFormName","formParent","setFormParent","showForm","setShowForm","setFilterValue","filteredTermsTree","setFilteredTermsTree","debouncedSpeak","useDebounce","speak","hasCreateAction","hasAssignAction","loading","availableTerms","taxonomy","useSelect","select","_post$_links","_post$_links2","getCurrentPost","getEditedPostAttribute","editorStore","getTaxonomy","getEntityRecords","isResolving","coreStore","_taxonomy","post","_links","rest_base","editPost","useDispatch","saveEntityRecord","availableTermsTree","useMemo","buildTermsTree","createErrorNotice","noticesStore","addTerm","throwOnError","onUpdateTerms","termIds","onChange","termId","hasTerm","includes","newTerms","onChangeFormName","value","onChangeFormParent","parentId","onToggleForm","onAddTerm","event","_taxonomy$labels$sing","preventDefault","existingTerm","some","newTerm","error","message","type","defaultName","__","termAddedMessage","sprintf","_x","labels","singular_name","setFilter","newFilteredTermsTree","getResultCount","count","i","resultCount","resultsFoundMessage","_n","renderTerms","renderedTerms","_react","createElement","key","className","CheckboxControl","__nextHasNoMarginBottom","checked","label","decodeEntities","labelWithFallback","labelProperty","fallbackIsCategory","fallbackIsNotCategory","_taxonomy$labels$labe","newTermButtonLabel","newTermLabel","parentSelectLabel","noParentOption","newTermSubmitLabel","filterLabel","search_items","groupLabel","showFilter","Flex","direction","gap","TextControl","tabIndex","role","FlexItem","Button","onClick","variant","onSubmit","required","TreeSelect","noOptionLabel","selectedId","tree","_default","exports","default","withFilters"],"sources":["@wordpress/editor/src/components/post-taxonomies/hierarchical-term-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, _x, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tButton,\n\tCheckboxControl,\n\tTextControl,\n\tTreeSelect,\n\twithFilters,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useDebounce } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { speak } from '@wordpress/a11y';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\n/**\n * Module Constants\n */\nconst DEFAULT_QUERY = {\n\tper_page: -1,\n\torderby: 'name',\n\torder: 'asc',\n\t_fields: 'id,name,parent',\n\tcontext: 'view',\n};\n\nconst MIN_TERMS_COUNT_FOR_FILTER = 8;\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Sort Terms by Selected.\n *\n * @param {Object[]} termsTree Array of terms in tree format.\n * @param {number[]} terms Selected terms.\n *\n * @return {Object[]} Sorted array of terms.\n */\nexport function sortBySelected( termsTree, terms ) {\n\tconst treeHasSelection = ( termTree ) => {\n\t\tif ( terms.indexOf( termTree.id ) !== -1 ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( undefined === termTree.children ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\ttermTree.children\n\t\t\t\t.map( treeHasSelection )\n\t\t\t\t.filter( ( child ) => child ).length > 0\n\t\t);\n\t};\n\tconst termOrChildIsSelected = ( termA, termB ) => {\n\t\tconst termASelected = treeHasSelection( termA );\n\t\tconst termBSelected = treeHasSelection( termB );\n\n\t\tif ( termASelected === termBSelected ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif ( termASelected && ! termBSelected ) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tif ( ! termASelected && termBSelected ) {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn 0;\n\t};\n\tconst newTermTree = [ ...termsTree ];\n\tnewTermTree.sort( termOrChildIsSelected );\n\treturn newTermTree;\n}\n\n/**\n * Find term by parent id or name.\n *\n * @param {Object[]} terms Array of Terms.\n * @param {number|string} parent id.\n * @param {string} name Term name.\n * @return {Object} Term object.\n */\nexport function findTerm( terms, parent, name ) {\n\treturn terms.find( ( term ) => {\n\t\treturn (\n\t\t\t( ( ! term.parent && ! parent ) ||\n\t\t\t\tparseInt( term.parent ) === parseInt( parent ) ) &&\n\t\t\tterm.name.toLowerCase() === name.toLowerCase()\n\t\t);\n\t} );\n}\n\n/**\n * Get filter matcher function.\n *\n * @param {string} filterValue Filter value.\n * @return {(function(Object): (Object|boolean))} Matcher function.\n */\nexport function getFilterMatcher( filterValue ) {\n\tconst matchTermsForFilter = ( originalTerm ) => {\n\t\tif ( '' === filterValue ) {\n\t\t\treturn originalTerm;\n\t\t}\n\n\t\t// Shallow clone, because we'll be filtering the term's children and\n\t\t// don't want to modify the original term.\n\t\tconst term = { ...originalTerm };\n\n\t\t// Map and filter the children, recursive so we deal with grandchildren\n\t\t// and any deeper levels.\n\t\tif ( term.children.length > 0 ) {\n\t\t\tterm.children = term.children\n\t\t\t\t.map( matchTermsForFilter )\n\t\t\t\t.filter( ( child ) => child );\n\t\t}\n\n\t\t// If the term's name contains the filterValue, or it has children\n\t\t// (i.e. some child matched at some point in the tree) then return it.\n\t\tif (\n\t\t\t-1 !==\n\t\t\t\tterm.name.toLowerCase().indexOf( filterValue.toLowerCase() ) ||\n\t\t\tterm.children.length > 0\n\t\t) {\n\t\t\treturn term;\n\t\t}\n\n\t\t// Otherwise, return false. After mapping, the list of terms will need\n\t\t// to have false values filtered out.\n\t\treturn false;\n\t};\n\treturn matchTermsForFilter;\n}\n\n/**\n * Hierarchical term selector.\n *\n * @param {Object} props Component props.\n * @param {string} props.slug Taxonomy slug.\n * @return {Element} Hierarchical term selector component.\n */\nexport function HierarchicalTermSelector( { slug } ) {\n\tconst [ adding, setAdding ] = useState( false );\n\tconst [ formName, setFormName ] = useState( '' );\n\t/**\n\t * @type {[number|'', Function]}\n\t */\n\tconst [ formParent, setFormParent ] = useState( '' );\n\tconst [ showForm, setShowForm ] = useState( false );\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ filteredTermsTree, setFilteredTermsTree ] = useState( [] );\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tconst {\n\t\thasCreateAction,\n\t\thasAssignAction,\n\t\tterms,\n\t\tloading,\n\t\tavailableTerms,\n\t\ttaxonomy,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPost, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getTaxonomy, getEntityRecords, isResolving } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _taxonomy = getTaxonomy( slug );\n\t\t\tconst post = getCurrentPost();\n\n\t\t\treturn {\n\t\t\t\thasCreateAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-create-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\thasAssignAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-assign-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\tterms: _taxonomy\n\t\t\t\t\t? getEditedPostAttribute( _taxonomy.rest_base )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t\tloading: isResolving( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\tslug,\n\t\t\t\t\tDEFAULT_QUERY,\n\t\t\t\t] ),\n\t\t\t\tavailableTerms:\n\t\t\t\t\tgetEntityRecords( 'taxonomy', slug, DEFAULT_QUERY ) ||\n\t\t\t\t\tEMPTY_ARRAY,\n\t\t\t\ttaxonomy: _taxonomy,\n\t\t\t};\n\t\t},\n\t\t[ slug ]\n\t);\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tconst availableTermsTree = useMemo(\n\t\t() => sortBySelected( buildTermsTree( availableTerms ), terms ),\n\t\t// Remove `terms` from the dependency list to avoid reordering every time\n\t\t// checking or unchecking a term.\n\t\t[ availableTerms ]\n\t);\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tif ( ! hasAssignAction ) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Append new term.\n\t *\n\t * @param {Object} term Term object.\n\t * @return {Promise} A promise that resolves to save term object.\n\t */\n\tconst addTerm = ( term ) => {\n\t\treturn saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\tthrowOnError: true,\n\t\t} );\n\t};\n\n\t/**\n\t * Update terms for post.\n\t *\n\t * @param {number[]} termIds Term ids.\n\t */\n\tconst onUpdateTerms = ( termIds ) => {\n\t\teditPost( { [ taxonomy.rest_base ]: termIds } );\n\t};\n\n\t/**\n\t * Handler for checking term.\n\t *\n\t * @param {number} termId\n\t */\n\tconst onChange = ( termId ) => {\n\t\tconst hasTerm = terms.includes( termId );\n\t\tconst newTerms = hasTerm\n\t\t\t? terms.filter( ( id ) => id !== termId )\n\t\t\t: [ ...terms, termId ];\n\t\tonUpdateTerms( newTerms );\n\t};\n\n\tconst onChangeFormName = ( value ) => {\n\t\tsetFormName( value );\n\t};\n\n\t/**\n\t * Handler for changing form parent.\n\t *\n\t * @param {number|''} parentId Parent post id.\n\t */\n\tconst onChangeFormParent = ( parentId ) => {\n\t\tsetFormParent( parentId );\n\t};\n\n\tconst onToggleForm = () => {\n\t\tsetShowForm( ! showForm );\n\t};\n\n\tconst onAddTerm = async ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( formName === '' || adding ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Check if the term we are adding already exists.\n\t\tconst existingTerm = findTerm( availableTerms, formParent, formName );\n\t\tif ( existingTerm ) {\n\t\t\t// If the term we are adding exists but is not selected select it.\n\t\t\tif ( ! terms.some( ( term ) => term === existingTerm.id ) ) {\n\t\t\t\tonUpdateTerms( [ ...terms, existingTerm.id ] );\n\t\t\t}\n\n\t\t\tsetFormName( '' );\n\t\t\tsetFormParent( '' );\n\n\t\t\treturn;\n\t\t}\n\t\tsetAdding( true );\n\t\tlet newTerm;\n\t\ttry {\n\t\t\tnewTerm = await addTerm( {\n\t\t\t\tname: formName,\n\t\t\t\tparent: formParent ? formParent : undefined,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\tconst defaultName =\n\t\t\tslug === 'category' ? __( 'Category' ) : __( 'Term' );\n\t\tconst termAddedMessage = sprintf(\n\t\t\t/* translators: %s: taxonomy name */\n\t\t\t_x( '%s added', 'term' ),\n\t\t\ttaxonomy?.labels?.singular_name ?? defaultName\n\t\t);\n\t\tspeak( termAddedMessage, 'assertive' );\n\t\tsetAdding( false );\n\t\tsetFormName( '' );\n\t\tsetFormParent( '' );\n\t\tonUpdateTerms( [ ...terms, newTerm.id ] );\n\t};\n\n\tconst setFilter = ( value ) => {\n\t\tconst newFilteredTermsTree = availableTermsTree\n\t\t\t.map( getFilterMatcher( value ) )\n\t\t\t.filter( ( term ) => term );\n\t\tconst getResultCount = ( termsTree ) => {\n\t\t\tlet count = 0;\n\t\t\tfor ( let i = 0; i < termsTree.length; i++ ) {\n\t\t\t\tcount++;\n\t\t\t\tif ( undefined !== termsTree[ i ].children ) {\n\t\t\t\t\tcount += getResultCount( termsTree[ i ].children );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn count;\n\t\t};\n\n\t\tsetFilterValue( value );\n\t\tsetFilteredTermsTree( newFilteredTermsTree );\n\n\t\tconst resultCount = getResultCount( newFilteredTermsTree );\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results */\n\t\t\t_n( '%d result found.', '%d results found.', resultCount ),\n\t\t\tresultCount\n\t\t);\n\n\t\tdebouncedSpeak( resultsFoundMessage, 'assertive' );\n\t};\n\n\tconst renderTerms = ( renderedTerms ) => {\n\t\treturn renderedTerms.map( ( term ) => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={ term.id }\n\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-choice\"\n\t\t\t\t>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tchecked={ terms.indexOf( term.id ) !== -1 }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tconst termId = parseInt( term.id, 10 );\n\t\t\t\t\t\t\tonChange( termId );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ decodeEntities( term.name ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ !! term.children.length && (\n\t\t\t\t\t\t<div className=\"editor-post-taxonomies__hierarchical-terms-subchoices\">\n\t\t\t\t\t\t\t{ renderTerms( term.children ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t);\n\t\t} );\n\t};\n\n\tconst labelWithFallback = (\n\t\tlabelProperty,\n\t\tfallbackIsCategory,\n\t\tfallbackIsNotCategory\n\t) =>\n\t\ttaxonomy?.labels?.[ labelProperty ] ??\n\t\t( slug === 'category' ? fallbackIsCategory : fallbackIsNotCategory );\n\n\tconst newTermButtonLabel = labelWithFallback(\n\t\t'add_new_item',\n\t\t__( 'Add new category' ),\n\t\t__( 'Add new term' )\n\t);\n\tconst newTermLabel = labelWithFallback(\n\t\t'new_item_name',\n\t\t__( 'Add new category' ),\n\t\t__( 'Add new term' )\n\t);\n\tconst parentSelectLabel = labelWithFallback(\n\t\t'parent_item',\n\t\t__( 'Parent Category' ),\n\t\t__( 'Parent Term' )\n\t);\n\tconst noParentOption = `— ${ parentSelectLabel } —`;\n\tconst newTermSubmitLabel = newTermButtonLabel;\n\tconst filterLabel = taxonomy?.labels?.search_items ?? __( 'Search Terms' );\n\tconst groupLabel = taxonomy?.name ?? __( 'Terms' );\n\tconst showFilter = availableTerms.length >= MIN_TERMS_COUNT_FOR_FILTER;\n\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"4\">\n\t\t\t{ showFilter && (\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ filterLabel }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tonChange={ setFilter }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div\n\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-list\"\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={ groupLabel }\n\t\t\t>\n\t\t\t\t{ renderTerms(\n\t\t\t\t\t'' !== filterValue ? filteredTermsTree : availableTermsTree\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ ! loading && hasCreateAction && (\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ onToggleForm }\n\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-add\"\n\t\t\t\t\t\taria-expanded={ showForm }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ newTermButtonLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t) }\n\t\t\t{ showForm && (\n\t\t\t\t<form onSubmit={ onAddTerm }>\n\t\t\t\t\t<Flex direction=\"column\" gap=\"4\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-input\"\n\t\t\t\t\t\t\tlabel={ newTermLabel }\n\t\t\t\t\t\t\tvalue={ formName }\n\t\t\t\t\t\t\tonChange={ onChangeFormName }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ !! availableTerms.length && (\n\t\t\t\t\t\t\t<TreeSelect\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ parentSelectLabel }\n\t\t\t\t\t\t\t\tnoOptionLabel={ noParentOption }\n\t\t\t\t\t\t\t\tonChange={ onChangeFormParent }\n\t\t\t\t\t\t\t\tselectedId={ formParent }\n\t\t\t\t\t\t\t\ttree={ availableTermsTree }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-submit\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ newTermSubmitLabel }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</form>\n\t\t\t) }\n\t\t</Flex>\n\t);\n}\n\nexport default withFilters( 'editor.PostTaxonomyType' )(\n\tHierarchicalTermSelector\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_element","_notices","_components","_data","_compose","_coreData","_a11y","_htmlEntities","_terms","_store","DEFAULT_QUERY","per_page","orderby","order","_fields","context","MIN_TERMS_COUNT_FOR_FILTER","EMPTY_ARRAY","sortBySelected","termsTree","terms","treeHasSelection","termTree","indexOf","id","undefined","children","map","filter","child","length","termOrChildIsSelected","termA","termB","termASelected","termBSelected","newTermTree","sort","findTerm","parent","name","find","term","parseInt","toLowerCase","getFilterMatcher","filterValue","matchTermsForFilter","originalTerm","HierarchicalTermSelector","slug","_taxonomy$labels$sear","_taxonomy$name","adding","setAdding","useState","formName","setFormName","formParent","setFormParent","showForm","setShowForm","setFilterValue","filteredTermsTree","setFilteredTermsTree","debouncedSpeak","useDebounce","speak","hasCreateAction","hasAssignAction","loading","availableTerms","taxonomy","useSelect","select","_post$_links","_post$_links2","getCurrentPost","getEditedPostAttribute","editorStore","getTaxonomy","getEntityRecords","isResolving","coreStore","_taxonomy","post","_links","rest_base","editPost","useDispatch","saveEntityRecord","availableTermsTree","useMemo","buildTermsTree","createErrorNotice","noticesStore","addTerm","throwOnError","onUpdateTerms","termIds","onChange","termId","hasTerm","includes","newTerms","onChangeFormName","value","onChangeFormParent","parentId","onToggleForm","onAddTerm","event","_taxonomy$labels$sing","preventDefault","existingTerm","some","newTerm","error","message","type","defaultName","__","termAddedMessage","sprintf","_x","labels","singular_name","setFilter","newFilteredTermsTree","getResultCount","count","i","resultCount","resultsFoundMessage","_n","renderTerms","renderedTerms","_react","createElement","key","className","CheckboxControl","__nextHasNoMarginBottom","checked","label","decodeEntities","labelWithFallback","labelProperty","fallbackIsCategory","fallbackIsNotCategory","_taxonomy$labels$labe","newTermButtonLabel","newTermLabel","parentSelectLabel","noParentOption","newTermSubmitLabel","filterLabel","search_items","groupLabel","showFilter","Flex","direction","gap","TextControl","tabIndex","role","FlexItem","Button","onClick","variant","onSubmit","__next40pxDefaultSize","required","TreeSelect","noOptionLabel","selectedId","tree","_default","exports","default","withFilters"],"sources":["@wordpress/editor/src/components/post-taxonomies/hierarchical-term-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, _x, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tButton,\n\tCheckboxControl,\n\tTextControl,\n\tTreeSelect,\n\twithFilters,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useDebounce } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { speak } from '@wordpress/a11y';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\n/**\n * Module Constants\n */\nconst DEFAULT_QUERY = {\n\tper_page: -1,\n\torderby: 'name',\n\torder: 'asc',\n\t_fields: 'id,name,parent',\n\tcontext: 'view',\n};\n\nconst MIN_TERMS_COUNT_FOR_FILTER = 8;\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Sort Terms by Selected.\n *\n * @param {Object[]} termsTree Array of terms in tree format.\n * @param {number[]} terms Selected terms.\n *\n * @return {Object[]} Sorted array of terms.\n */\nexport function sortBySelected( termsTree, terms ) {\n\tconst treeHasSelection = ( termTree ) => {\n\t\tif ( terms.indexOf( termTree.id ) !== -1 ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( undefined === termTree.children ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\ttermTree.children\n\t\t\t\t.map( treeHasSelection )\n\t\t\t\t.filter( ( child ) => child ).length > 0\n\t\t);\n\t};\n\tconst termOrChildIsSelected = ( termA, termB ) => {\n\t\tconst termASelected = treeHasSelection( termA );\n\t\tconst termBSelected = treeHasSelection( termB );\n\n\t\tif ( termASelected === termBSelected ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif ( termASelected && ! termBSelected ) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tif ( ! termASelected && termBSelected ) {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn 0;\n\t};\n\tconst newTermTree = [ ...termsTree ];\n\tnewTermTree.sort( termOrChildIsSelected );\n\treturn newTermTree;\n}\n\n/**\n * Find term by parent id or name.\n *\n * @param {Object[]} terms Array of Terms.\n * @param {number|string} parent id.\n * @param {string} name Term name.\n * @return {Object} Term object.\n */\nexport function findTerm( terms, parent, name ) {\n\treturn terms.find( ( term ) => {\n\t\treturn (\n\t\t\t( ( ! term.parent && ! parent ) ||\n\t\t\t\tparseInt( term.parent ) === parseInt( parent ) ) &&\n\t\t\tterm.name.toLowerCase() === name.toLowerCase()\n\t\t);\n\t} );\n}\n\n/**\n * Get filter matcher function.\n *\n * @param {string} filterValue Filter value.\n * @return {(function(Object): (Object|boolean))} Matcher function.\n */\nexport function getFilterMatcher( filterValue ) {\n\tconst matchTermsForFilter = ( originalTerm ) => {\n\t\tif ( '' === filterValue ) {\n\t\t\treturn originalTerm;\n\t\t}\n\n\t\t// Shallow clone, because we'll be filtering the term's children and\n\t\t// don't want to modify the original term.\n\t\tconst term = { ...originalTerm };\n\n\t\t// Map and filter the children, recursive so we deal with grandchildren\n\t\t// and any deeper levels.\n\t\tif ( term.children.length > 0 ) {\n\t\t\tterm.children = term.children\n\t\t\t\t.map( matchTermsForFilter )\n\t\t\t\t.filter( ( child ) => child );\n\t\t}\n\n\t\t// If the term's name contains the filterValue, or it has children\n\t\t// (i.e. some child matched at some point in the tree) then return it.\n\t\tif (\n\t\t\t-1 !==\n\t\t\t\tterm.name.toLowerCase().indexOf( filterValue.toLowerCase() ) ||\n\t\t\tterm.children.length > 0\n\t\t) {\n\t\t\treturn term;\n\t\t}\n\n\t\t// Otherwise, return false. After mapping, the list of terms will need\n\t\t// to have false values filtered out.\n\t\treturn false;\n\t};\n\treturn matchTermsForFilter;\n}\n\n/**\n * Hierarchical term selector.\n *\n * @param {Object} props Component props.\n * @param {string} props.slug Taxonomy slug.\n * @return {Element} Hierarchical term selector component.\n */\nexport function HierarchicalTermSelector( { slug } ) {\n\tconst [ adding, setAdding ] = useState( false );\n\tconst [ formName, setFormName ] = useState( '' );\n\t/**\n\t * @type {[number|'', Function]}\n\t */\n\tconst [ formParent, setFormParent ] = useState( '' );\n\tconst [ showForm, setShowForm ] = useState( false );\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ filteredTermsTree, setFilteredTermsTree ] = useState( [] );\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tconst {\n\t\thasCreateAction,\n\t\thasAssignAction,\n\t\tterms,\n\t\tloading,\n\t\tavailableTerms,\n\t\ttaxonomy,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPost, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getTaxonomy, getEntityRecords, isResolving } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _taxonomy = getTaxonomy( slug );\n\t\t\tconst post = getCurrentPost();\n\n\t\t\treturn {\n\t\t\t\thasCreateAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-create-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\thasAssignAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-assign-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\tterms: _taxonomy\n\t\t\t\t\t? getEditedPostAttribute( _taxonomy.rest_base )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t\tloading: isResolving( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\tslug,\n\t\t\t\t\tDEFAULT_QUERY,\n\t\t\t\t] ),\n\t\t\t\tavailableTerms:\n\t\t\t\t\tgetEntityRecords( 'taxonomy', slug, DEFAULT_QUERY ) ||\n\t\t\t\t\tEMPTY_ARRAY,\n\t\t\t\ttaxonomy: _taxonomy,\n\t\t\t};\n\t\t},\n\t\t[ slug ]\n\t);\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tconst availableTermsTree = useMemo(\n\t\t() => sortBySelected( buildTermsTree( availableTerms ), terms ),\n\t\t// Remove `terms` from the dependency list to avoid reordering every time\n\t\t// checking or unchecking a term.\n\t\t[ availableTerms ]\n\t);\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tif ( ! hasAssignAction ) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Append new term.\n\t *\n\t * @param {Object} term Term object.\n\t * @return {Promise} A promise that resolves to save term object.\n\t */\n\tconst addTerm = ( term ) => {\n\t\treturn saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\tthrowOnError: true,\n\t\t} );\n\t};\n\n\t/**\n\t * Update terms for post.\n\t *\n\t * @param {number[]} termIds Term ids.\n\t */\n\tconst onUpdateTerms = ( termIds ) => {\n\t\teditPost( { [ taxonomy.rest_base ]: termIds } );\n\t};\n\n\t/**\n\t * Handler for checking term.\n\t *\n\t * @param {number} termId\n\t */\n\tconst onChange = ( termId ) => {\n\t\tconst hasTerm = terms.includes( termId );\n\t\tconst newTerms = hasTerm\n\t\t\t? terms.filter( ( id ) => id !== termId )\n\t\t\t: [ ...terms, termId ];\n\t\tonUpdateTerms( newTerms );\n\t};\n\n\tconst onChangeFormName = ( value ) => {\n\t\tsetFormName( value );\n\t};\n\n\t/**\n\t * Handler for changing form parent.\n\t *\n\t * @param {number|''} parentId Parent post id.\n\t */\n\tconst onChangeFormParent = ( parentId ) => {\n\t\tsetFormParent( parentId );\n\t};\n\n\tconst onToggleForm = () => {\n\t\tsetShowForm( ! showForm );\n\t};\n\n\tconst onAddTerm = async ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( formName === '' || adding ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Check if the term we are adding already exists.\n\t\tconst existingTerm = findTerm( availableTerms, formParent, formName );\n\t\tif ( existingTerm ) {\n\t\t\t// If the term we are adding exists but is not selected select it.\n\t\t\tif ( ! terms.some( ( term ) => term === existingTerm.id ) ) {\n\t\t\t\tonUpdateTerms( [ ...terms, existingTerm.id ] );\n\t\t\t}\n\n\t\t\tsetFormName( '' );\n\t\t\tsetFormParent( '' );\n\n\t\t\treturn;\n\t\t}\n\t\tsetAdding( true );\n\t\tlet newTerm;\n\t\ttry {\n\t\t\tnewTerm = await addTerm( {\n\t\t\t\tname: formName,\n\t\t\t\tparent: formParent ? formParent : undefined,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\tconst defaultName =\n\t\t\tslug === 'category' ? __( 'Category' ) : __( 'Term' );\n\t\tconst termAddedMessage = sprintf(\n\t\t\t/* translators: %s: taxonomy name */\n\t\t\t_x( '%s added', 'term' ),\n\t\t\ttaxonomy?.labels?.singular_name ?? defaultName\n\t\t);\n\t\tspeak( termAddedMessage, 'assertive' );\n\t\tsetAdding( false );\n\t\tsetFormName( '' );\n\t\tsetFormParent( '' );\n\t\tonUpdateTerms( [ ...terms, newTerm.id ] );\n\t};\n\n\tconst setFilter = ( value ) => {\n\t\tconst newFilteredTermsTree = availableTermsTree\n\t\t\t.map( getFilterMatcher( value ) )\n\t\t\t.filter( ( term ) => term );\n\t\tconst getResultCount = ( termsTree ) => {\n\t\t\tlet count = 0;\n\t\t\tfor ( let i = 0; i < termsTree.length; i++ ) {\n\t\t\t\tcount++;\n\t\t\t\tif ( undefined !== termsTree[ i ].children ) {\n\t\t\t\t\tcount += getResultCount( termsTree[ i ].children );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn count;\n\t\t};\n\n\t\tsetFilterValue( value );\n\t\tsetFilteredTermsTree( newFilteredTermsTree );\n\n\t\tconst resultCount = getResultCount( newFilteredTermsTree );\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results */\n\t\t\t_n( '%d result found.', '%d results found.', resultCount ),\n\t\t\tresultCount\n\t\t);\n\n\t\tdebouncedSpeak( resultsFoundMessage, 'assertive' );\n\t};\n\n\tconst renderTerms = ( renderedTerms ) => {\n\t\treturn renderedTerms.map( ( term ) => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={ term.id }\n\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-choice\"\n\t\t\t\t>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tchecked={ terms.indexOf( term.id ) !== -1 }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tconst termId = parseInt( term.id, 10 );\n\t\t\t\t\t\t\tonChange( termId );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ decodeEntities( term.name ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ !! term.children.length && (\n\t\t\t\t\t\t<div className=\"editor-post-taxonomies__hierarchical-terms-subchoices\">\n\t\t\t\t\t\t\t{ renderTerms( term.children ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t);\n\t\t} );\n\t};\n\n\tconst labelWithFallback = (\n\t\tlabelProperty,\n\t\tfallbackIsCategory,\n\t\tfallbackIsNotCategory\n\t) =>\n\t\ttaxonomy?.labels?.[ labelProperty ] ??\n\t\t( slug === 'category' ? fallbackIsCategory : fallbackIsNotCategory );\n\n\tconst newTermButtonLabel = labelWithFallback(\n\t\t'add_new_item',\n\t\t__( 'Add new category' ),\n\t\t__( 'Add new term' )\n\t);\n\tconst newTermLabel = labelWithFallback(\n\t\t'new_item_name',\n\t\t__( 'Add new category' ),\n\t\t__( 'Add new term' )\n\t);\n\tconst parentSelectLabel = labelWithFallback(\n\t\t'parent_item',\n\t\t__( 'Parent Category' ),\n\t\t__( 'Parent Term' )\n\t);\n\tconst noParentOption = `— ${ parentSelectLabel } —`;\n\tconst newTermSubmitLabel = newTermButtonLabel;\n\tconst filterLabel = taxonomy?.labels?.search_items ?? __( 'Search Terms' );\n\tconst groupLabel = taxonomy?.name ?? __( 'Terms' );\n\tconst showFilter = availableTerms.length >= MIN_TERMS_COUNT_FOR_FILTER;\n\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"4\">\n\t\t\t{ showFilter && (\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ filterLabel }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tonChange={ setFilter }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div\n\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-list\"\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={ groupLabel }\n\t\t\t>\n\t\t\t\t{ renderTerms(\n\t\t\t\t\t'' !== filterValue ? filteredTermsTree : availableTermsTree\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ ! loading && hasCreateAction && (\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ onToggleForm }\n\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-add\"\n\t\t\t\t\t\taria-expanded={ showForm }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ newTermButtonLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t) }\n\t\t\t{ showForm && (\n\t\t\t\t<form onSubmit={ onAddTerm }>\n\t\t\t\t\t<Flex direction=\"column\" gap=\"4\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-input\"\n\t\t\t\t\t\t\tlabel={ newTermLabel }\n\t\t\t\t\t\t\tvalue={ formName }\n\t\t\t\t\t\t\tonChange={ onChangeFormName }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ !! availableTerms.length && (\n\t\t\t\t\t\t\t<TreeSelect\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ parentSelectLabel }\n\t\t\t\t\t\t\t\tnoOptionLabel={ noParentOption }\n\t\t\t\t\t\t\t\tonChange={ onChangeFormParent }\n\t\t\t\t\t\t\t\tselectedId={ formParent }\n\t\t\t\t\t\t\t\ttree={ availableTermsTree }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-submit\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ newTermSubmitLabel }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</form>\n\t\t\t) }\n\t\t</Flex>\n\t);\n}\n\nexport default withFilters( 'editor.PostTaxonomyType' )(\n\tHierarchicalTermSelector\n);\n"],"mappings":"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"}
|
|
@@ -17,7 +17,6 @@ var _blocks = require("@wordpress/blocks");
|
|
|
17
17
|
var _richText = require("@wordpress/rich-text");
|
|
18
18
|
var _compose = require("@wordpress/compose");
|
|
19
19
|
var _dom = require("@wordpress/dom");
|
|
20
|
-
var _store = require("../../store");
|
|
21
20
|
var _constants = require("./constants");
|
|
22
21
|
var _usePostTitleFocus = _interopRequireDefault(require("./use-post-title-focus"));
|
|
23
22
|
var _usePostTitle = _interopRequireDefault(require("./use-post-title"));
|
|
@@ -39,9 +38,6 @@ function PostTitle(_, forwardedRef) {
|
|
|
39
38
|
placeholder,
|
|
40
39
|
hasFixedToolbar
|
|
41
40
|
} = (0, _data.useSelect)(select => {
|
|
42
|
-
const {
|
|
43
|
-
getEditedPostAttribute
|
|
44
|
-
} = select(_store.store);
|
|
45
41
|
const {
|
|
46
42
|
getSettings
|
|
47
43
|
} = select(_blockEditor.store);
|
|
@@ -50,7 +46,6 @@ function PostTitle(_, forwardedRef) {
|
|
|
50
46
|
hasFixedToolbar: _hasFixedToolbar
|
|
51
47
|
} = getSettings();
|
|
52
48
|
return {
|
|
53
|
-
title: getEditedPostAttribute('title'),
|
|
54
49
|
placeholder: titlePlaceholder,
|
|
55
50
|
hasFixedToolbar: _hasFixedToolbar
|
|
56
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_element","_htmlEntities","_data","_blockEditor","_keycodes","_blocks","_richText","_compose","_dom","_store","_constants","_usePostTitleFocus","_usePostTitle","_postTypeSupportCheck","PostTitle","_","forwardedRef","placeholder","hasFixedToolbar","useSelect","select","getEditedPostAttribute","editorStore","getSettings","blockEditorStore","titlePlaceholder","_hasFixedToolbar","title","isSelected","setIsSelected","useState","ref","focusRef","usePostTitleFocus","setTitle","onUpdate","usePostTitle","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","useDispatch","onChange","value","replace","REGEXP_NEWLINES","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","ENTER","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","create","newValue","insert","toHTMLString","start","end","decodedPlaceholder","decodeEntities","__","richTextRef","useRichText","selectionStart","selectionEnd","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","className","classnames","DEFAULT_CLASSNAMES","_react","createElement","default","supportKeys","useMergeRefs","contentEditable","role","onFocus","onBlur","onKeyPress","_default","exports","forwardRef"],"sources":["@wordpress/editor/src/components/post-title/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\t__unstableUseRichText as useRichText,\n\tcreate,\n\ttoHTMLString,\n\tinsert,\n} from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst { placeholder, hasFixedToolbar } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder, hasFixedToolbar: _hasFixedToolbar } =\n\t\t\tgetSettings();\n\n\t\treturn {\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tplaceholder: titlePlaceholder,\n\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t};\n\t}, [] );\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tconst { clearSelectedBlock, insertBlocks, insertDefaultBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\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 onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\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\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\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\tconst value = {\n\t\t\t\t...create( { html: title } ),\n\t\t\t\t...selection,\n\t\t\t};\n\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\n\t\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\t\tonUpdate( toHTMLString( { value: newValue } ) );\n\t\t\tsetSelection( {\n\t\t\t\tstart: newValue.start,\n\t\t\t\tend: newValue.end,\n\t\t\t} );\n\t\t}\n\t}\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\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: false,\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( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t} );\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, focusRef ] ) }\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\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t);\n}\n\nexport default forwardRef( PostTitle );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_element","_htmlEntities","_data","_blockEditor","_keycodes","_blocks","_richText","_compose","_dom","_constants","_usePostTitleFocus","_usePostTitle","_postTypeSupportCheck","PostTitle","_","forwardedRef","placeholder","hasFixedToolbar","useSelect","select","getSettings","blockEditorStore","titlePlaceholder","_hasFixedToolbar","isSelected","setIsSelected","useState","ref","focusRef","usePostTitleFocus","title","setTitle","onUpdate","usePostTitle","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","useDispatch","onChange","value","replace","REGEXP_NEWLINES","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","ENTER","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","create","newValue","insert","toHTMLString","start","end","decodedPlaceholder","decodeEntities","__","richTextRef","useRichText","selectionStart","selectionEnd","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","className","classnames","DEFAULT_CLASSNAMES","_react","createElement","default","supportKeys","useMergeRefs","contentEditable","role","onFocus","onBlur","onKeyPress","_default","exports","forwardRef"],"sources":["@wordpress/editor/src/components/post-title/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\t__unstableUseRichText as useRichText,\n\tcreate,\n\ttoHTMLString,\n\tinsert,\n} from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst { placeholder, hasFixedToolbar } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder, hasFixedToolbar: _hasFixedToolbar } =\n\t\t\tgetSettings();\n\n\t\treturn {\n\t\t\tplaceholder: titlePlaceholder,\n\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t};\n\t}, [] );\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tconst { clearSelectedBlock, insertBlocks, insertDefaultBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\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 onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\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\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\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\tconst value = {\n\t\t\t\t...create( { html: title } ),\n\t\t\t\t...selection,\n\t\t\t};\n\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\n\t\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\t\tonUpdate( toHTMLString( { value: newValue } ) );\n\t\t\tsetSelection( {\n\t\t\t\tstart: newValue.start,\n\t\t\t\tend: newValue.end,\n\t\t\t} );\n\t\t}\n\t}\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\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: false,\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( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t} );\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, focusRef ] ) }\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\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t);\n}\n\nexport default forwardRef( PostTitle );\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_element","_richText","_htmlEntities","_data","_components","_compose","_i18n","_blocks","_blockEditor","_editor","_dom","_style","_interopRequireDefault","PostTitle","Component","constructor","props","setRef","bind","onPaste","componentDidUpdate","prevProps","isSelected","isAnyBlockSelected","richTextRef","blur","onUnselect","componentDidMount","innerRef","handleFocusOutside","focus","onSelect","value","plainText","html","title","onInsertBlockAfter","onUpdate","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","newValue","insert","create","toHTMLString","richText","getTitle","postType","__","sprintf","render","placeholder","style","focusedBorderColor","borderStyle","isDimmed","globalStyles","decodedPlaceholder","decodeEntities","borderColor","titleStyles","text","color","placeholderColor","_react","createElement","View","testID","styles","titleContainer","dimmed","accessible","accessibilityLabel","accessibilityHint","RichText","Raw","tagName","tagsToEliminate","unstableOnFocus","onBlur","fontSize","lineHeight","fontWeight","deleteEnter","onChange","onSelectionChange","onEnter","onEnterPress","disableEditingMenu","__unstableIsSelected","__unstableOnCreateUndoLevel","_default","exports","default","compose","withSelect","select","isPostTitleSelected","getEditedPostAttribute","editorStore","getSelectedBlockClientId","getBlockRootClientId","getSettings","blockEditorStore","selectedId","selectionIsNested","__experimentalGlobalStylesBaseStyles","withDispatch","dispatch","undo","redo","togglePostTitleSelection","editPost","clearSelectedBlock","insertDefaultBlock","insertBlocks","undefined","onUndo","onRedo","blocks","withInstanceId","withFocusOutside"],"sources":["@wordpress/editor/src/components/post-title/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { create, toHTMLString, insert } from '@wordpress/rich-text';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { withFocusOutside } from '@wordpress/components';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pasteHandler } from '@wordpress/blocks';\nimport { store as blockEditorStore, RichText } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nclass PostTitle extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.setRef = this.setRef.bind( this );\n\t\tthis.onPaste = this.onPaste.bind( this );\n\t}\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Unselect if any other block is selected and blur the RichText.\n\t\tif (\n\t\t\tthis.props.isSelected &&\n\t\t\t! prevProps.isAnyBlockSelected &&\n\t\t\tthis.props.isAnyBlockSelected\n\t\t) {\n\t\t\tif ( this.richTextRef ) {\n\t\t\t\tthis.richTextRef.blur();\n\t\t\t}\n\t\t\tthis.props.onUnselect();\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.innerRef ) {\n\t\t\tthis.props.innerRef( this );\n\t\t}\n\t}\n\n\thandleFocusOutside() {\n\t\tthis.props.onUnselect();\n\t}\n\n\tfocus() {\n\t\tthis.props.onSelect();\n\t}\n\n\tonPaste( { value, plainText, html } ) {\n\t\tconst { title, onInsertBlockAfter, onUpdate } = this.props;\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\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\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\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\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\n\t\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\t\tonUpdate( toHTMLString( { value: newValue } ) );\n\t\t}\n\t}\n\n\tsetRef( richText ) {\n\t\tthis.richTextRef = richText;\n\t}\n\n\tgetTitle( title, postType ) {\n\t\tif ( 'page' === postType ) {\n\t\t\treturn ! title\n\t\t\t\t? /* translators: accessibility text. empty page title. */\n\t\t\t\t __( 'Page title. Empty' )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: text content of the page title. */\n\t\t\t\t\t\t__( 'Page title. %s' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t );\n\t\t}\n\n\t\treturn ! title\n\t\t\t? /* translators: accessibility text. empty post title. */\n\t\t\t __( 'Post title. Empty' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: accessibility text. %s: text content of the post title. */\n\t\t\t\t\t__( 'Post title. %s' ),\n\t\t\t\t\ttitle\n\t\t\t );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tplaceholder,\n\t\t\tstyle,\n\t\t\ttitle,\n\t\t\tfocusedBorderColor,\n\t\t\tborderStyle,\n\t\t\tisDimmed,\n\t\t\tpostType,\n\t\t\tglobalStyles,\n\t\t} = this.props;\n\n\t\tconst decodedPlaceholder = decodeEntities( placeholder );\n\t\tconst borderColor = this.props.isSelected\n\t\t\t? focusedBorderColor\n\t\t\t: 'transparent';\n\t\tconst titleStyles = {\n\t\t\t...style,\n\t\t\t...( globalStyles?.text && {\n\t\t\t\tcolor: globalStyles.text,\n\t\t\t\tplaceholderColor: globalStyles.text,\n\t\t\t} ),\n\t\t};\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\ttestID=\"post-title\"\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles.titleContainer,\n\t\t\t\t\tborderStyle,\n\t\t\t\t\t{ borderColor },\n\t\t\t\t\tisDimmed && styles.dimmed,\n\t\t\t\t] }\n\t\t\t\taccessible={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ this.getTitle( title, postType ) }\n\t\t\t\taccessibilityHint={ __( 'Updates the title.' ) }\n\t\t\t>\n\t\t\t\t<RichText.Raw\n\t\t\t\t\tsetRef={ this.setRef }\n\t\t\t\t\taccessibilityLabel={ this.getTitle( title, postType ) }\n\t\t\t\t\ttagName={ 'p' }\n\t\t\t\t\ttagsToEliminate={ [ 'strong' ] }\n\t\t\t\t\tunstableOnFocus={ this.props.onSelect }\n\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as a props.\n\t\t\t\t\tstyle={ titleStyles }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tfontSize={ 24 }\n\t\t\t\t\tlineHeight={ 1 }\n\t\t\t\t\tfontWeight={ 'bold' }\n\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tthis.props.onUpdate( value );\n\t\t\t\t\t} }\n\t\t\t\t\tonPaste={ this.onPaste }\n\t\t\t\t\tplaceholder={ decodedPlaceholder }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonSelectionChange={ () => {} }\n\t\t\t\t\tonEnter={ this.props.onEnterPress }\n\t\t\t\t\tdisableEditingMenu={ true }\n\t\t\t\t\t__unstableIsSelected={ this.props.isSelected }\n\t\t\t\t\t__unstableOnCreateUndoLevel={ () => {} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst { isPostTitleSelected, getEditedPostAttribute } =\n\t\t\tselect( editorStore );\n\t\tconst { getSelectedBlockClientId, getBlockRootClientId, getSettings } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst selectedId = getSelectedBlockClientId();\n\t\tconst selectionIsNested = !! getBlockRootClientId( selectedId );\n\t\tconst globalStyles =\n\t\t\tgetSettings()?.__experimentalGlobalStylesBaseStyles?.color;\n\n\t\treturn {\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tisAnyBlockSelected: !! selectedId,\n\t\t\tisSelected: isPostTitleSelected(),\n\t\t\tisDimmed: selectionIsNested,\n\t\t\tglobalStyles,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { undo, redo, togglePostTitleSelection, editPost } =\n\t\t\tdispatch( editorStore );\n\n\t\tconst { clearSelectedBlock, insertDefaultBlock, insertBlocks } =\n\t\t\tdispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tonEnterPress() {\n\t\t\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t\t\t},\n\t\t\tonUndo: undo,\n\t\t\tonRedo: redo,\n\t\t\tonSelect() {\n\t\t\t\ttogglePostTitleSelection( true );\n\t\t\t\tclearSelectedBlock();\n\t\t\t},\n\t\t\tonUnselect() {\n\t\t\t\ttogglePostTitleSelection( false );\n\t\t\t},\n\t\t\tonUpdate( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\tonInsertBlockAfter( blocks ) {\n\t\t\t\tinsertBlocks( blocks, 0 );\n\t\t\t},\n\t\t};\n\t} ),\n\twithInstanceId,\n\twithFocusOutside\n)( PostTitle );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_element","_richText","_htmlEntities","_data","_components","_compose","_i18n","_blocks","_blockEditor","_editor","_dom","_style","_interopRequireDefault","PostTitle","Component","constructor","props","setRef","bind","onPaste","componentDidUpdate","prevProps","isSelected","isAnyBlockSelected","richTextRef","blur","onUnselect","componentDidMount","innerRef","handleFocusOutside","focus","onSelect","value","plainText","html","title","onInsertBlockAfter","onUpdate","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","newValue","insert","create","toHTMLString","richText","getTitle","postType","__","sprintf","render","placeholder","style","focusedBorderColor","borderStyle","isDimmed","globalStyles","decodedPlaceholder","decodeEntities","borderColor","titleStyles","text","color","placeholderColor","_react","createElement","View","testID","styles","titleContainer","dimmed","accessible","accessibilityLabel","accessibilityHint","RichText","Raw","tagName","tagsToEliminate","unstableOnFocus","onBlur","fontSize","lineHeight","fontWeight","deleteEnter","onChange","onSelectionChange","onEnter","onEnterPress","disableEditingMenu","__unstableIsSelected","__unstableOnCreateUndoLevel","_default","exports","default","compose","withSelect","select","isPostTitleSelected","getEditedPostAttribute","editorStore","getSelectedBlockClientId","getBlockRootClientId","getSettings","blockEditorStore","selectedId","selectionIsNested","__experimentalGlobalStylesBaseStyles","withDispatch","dispatch","undo","redo","togglePostTitleSelection","editPost","clearSelectedBlock","insertDefaultBlock","insertBlocks","undefined","onUndo","onRedo","blocks","withInstanceId","withFocusOutside"],"sources":["@wordpress/editor/src/components/post-title/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { create, toHTMLString, insert } from '@wordpress/rich-text';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { withFocusOutside } from '@wordpress/components';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pasteHandler } from '@wordpress/blocks';\nimport { store as blockEditorStore, RichText } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nclass PostTitle extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.setRef = this.setRef.bind( this );\n\t\tthis.onPaste = this.onPaste.bind( this );\n\t}\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Unselect if any other block is selected and blur the RichText.\n\t\tif (\n\t\t\tthis.props.isSelected &&\n\t\t\t! prevProps.isAnyBlockSelected &&\n\t\t\tthis.props.isAnyBlockSelected\n\t\t) {\n\t\t\tif ( this.richTextRef ) {\n\t\t\t\tthis.richTextRef.blur();\n\t\t\t}\n\t\t\tthis.props.onUnselect();\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.innerRef ) {\n\t\t\tthis.props.innerRef( this );\n\t\t}\n\t}\n\n\thandleFocusOutside() {\n\t\tthis.props.onUnselect();\n\t}\n\n\tfocus() {\n\t\tthis.props.onSelect();\n\t}\n\n\tonPaste( { value, plainText, html } ) {\n\t\tconst { title, onInsertBlockAfter, onUpdate } = this.props;\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\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\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\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\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\n\t\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\t\tonUpdate( toHTMLString( { value: newValue } ) );\n\t\t}\n\t}\n\n\tsetRef( richText ) {\n\t\tthis.richTextRef = richText;\n\t}\n\n\tgetTitle( title, postType ) {\n\t\tif ( 'page' === postType ) {\n\t\t\treturn ! title\n\t\t\t\t? /* translators: accessibility text. empty page title. */\n\t\t\t\t __( 'Page title. Empty' )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: text content of the page title. */\n\t\t\t\t\t\t__( 'Page title. %s' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t );\n\t\t}\n\n\t\treturn ! title\n\t\t\t? /* translators: accessibility text. empty post title. */\n\t\t\t __( 'Post title. Empty' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: accessibility text. %s: text content of the post title. */\n\t\t\t\t\t__( 'Post title. %s' ),\n\t\t\t\t\ttitle\n\t\t\t );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tplaceholder,\n\t\t\tstyle,\n\t\t\ttitle,\n\t\t\tfocusedBorderColor,\n\t\t\tborderStyle,\n\t\t\tisDimmed,\n\t\t\tpostType,\n\t\t\tglobalStyles,\n\t\t} = this.props;\n\n\t\tconst decodedPlaceholder = decodeEntities( placeholder );\n\t\tconst borderColor = this.props.isSelected\n\t\t\t? focusedBorderColor\n\t\t\t: 'transparent';\n\t\tconst titleStyles = {\n\t\t\t...style,\n\t\t\t...( globalStyles?.text && {\n\t\t\t\tcolor: globalStyles.text,\n\t\t\t\tplaceholderColor: globalStyles.text,\n\t\t\t} ),\n\t\t};\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\ttestID=\"post-title\"\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles.titleContainer,\n\t\t\t\t\tborderStyle,\n\t\t\t\t\t{ borderColor },\n\t\t\t\t\tisDimmed && styles.dimmed,\n\t\t\t\t] }\n\t\t\t\taccessible={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ this.getTitle( title, postType ) }\n\t\t\t\taccessibilityHint={ __( 'Updates the title.' ) }\n\t\t\t>\n\t\t\t\t<RichText.Raw\n\t\t\t\t\tsetRef={ this.setRef }\n\t\t\t\t\taccessibilityLabel={ this.getTitle( title, postType ) }\n\t\t\t\t\ttagName={ 'p' }\n\t\t\t\t\ttagsToEliminate={ [ 'strong' ] }\n\t\t\t\t\tunstableOnFocus={ this.props.onSelect }\n\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as a props.\n\t\t\t\t\tstyle={ titleStyles }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tfontSize={ 24 }\n\t\t\t\t\tlineHeight={ 1 }\n\t\t\t\t\tfontWeight={ 'bold' }\n\t\t\t\t\tdeleteEnter\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tthis.props.onUpdate( value );\n\t\t\t\t\t} }\n\t\t\t\t\tonPaste={ this.onPaste }\n\t\t\t\t\tplaceholder={ decodedPlaceholder }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonSelectionChange={ () => {} }\n\t\t\t\t\tonEnter={ this.props.onEnterPress }\n\t\t\t\t\tdisableEditingMenu\n\t\t\t\t\t__unstableIsSelected={ this.props.isSelected }\n\t\t\t\t\t__unstableOnCreateUndoLevel={ () => {} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst { isPostTitleSelected, getEditedPostAttribute } =\n\t\t\tselect( editorStore );\n\t\tconst { getSelectedBlockClientId, getBlockRootClientId, getSettings } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst selectedId = getSelectedBlockClientId();\n\t\tconst selectionIsNested = !! getBlockRootClientId( selectedId );\n\t\tconst globalStyles =\n\t\t\tgetSettings()?.__experimentalGlobalStylesBaseStyles?.color;\n\n\t\treturn {\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tisAnyBlockSelected: !! selectedId,\n\t\t\tisSelected: isPostTitleSelected(),\n\t\t\tisDimmed: selectionIsNested,\n\t\t\tglobalStyles,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { undo, redo, togglePostTitleSelection, editPost } =\n\t\t\tdispatch( editorStore );\n\n\t\tconst { clearSelectedBlock, insertDefaultBlock, insertBlocks } =\n\t\t\tdispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tonEnterPress() {\n\t\t\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t\t\t},\n\t\t\tonUndo: undo,\n\t\t\tonRedo: redo,\n\t\t\tonSelect() {\n\t\t\t\ttogglePostTitleSelection( true );\n\t\t\t\tclearSelectedBlock();\n\t\t\t},\n\t\t\tonUnselect() {\n\t\t\t\ttogglePostTitleSelection( false );\n\t\t\t},\n\t\t\tonUpdate( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\tonInsertBlockAfter( blocks ) {\n\t\t\t\tinsertBlocks( blocks, 0 );\n\t\t\t},\n\t\t};\n\t} ),\n\twithInstanceId,\n\twithFocusOutside\n)( PostTitle );\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_htmlEntities","_data","_blockEditor","_element","_constants","_usePostTitleFocus","_usePostTitle","PostTitleRaw","_","forwardedRef","placeholder","hasFixedToolbar","useSelect","select","getSettings","blockEditorStore","titlePlaceholder","_hasFixedToolbar","isSelected","setIsSelected","useState","title","setTitle","onUpdate","usePostTitle","ref","focusRef","usePostTitleFocus","onChange","value","replace","REGEXP_NEWLINES","onSelect","onUnselect","className","classnames","DEFAULT_CLASSNAMES","decodedPlaceholder","decodeEntities","__","_react","createElement","TextareaControl","onFocus","onBlur","label","hideLabelFromVision","autoComplete","dir","rows","__nextHasNoMarginBottom","_default","exports","default","forwardRef"],"sources":["@wordpress/editor/src/components/post-title/post-title-raw.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { TextareaControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useState, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\n\nfunction PostTitleRaw( _, forwardedRef ) {\n\tconst { placeholder, hasFixedToolbar } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder, hasFixedToolbar: _hasFixedToolbar } =\n\t\t\tgetSettings();\n\n\t\treturn {\n\t\t\tplaceholder: titlePlaceholder,\n\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t};\n\t}, [] );\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\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( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'is-raw-text': true,\n\t} );\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\treturn (\n\t\t<TextareaControl\n\t\t\tref={ focusRef }\n\t\t\tvalue={ title }\n\t\t\tonChange={ onChange }\n\t\t\tonFocus={ onSelect }\n\t\t\tonBlur={ onUnselect }\n\t\t\tlabel={ placeholder }\n\t\t\tclassName={ className }\n\t\t\tplaceholder={ decodedPlaceholder }\n\t\t\thideLabelFromVision
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_htmlEntities","_data","_blockEditor","_element","_constants","_usePostTitleFocus","_usePostTitle","PostTitleRaw","_","forwardedRef","placeholder","hasFixedToolbar","useSelect","select","getSettings","blockEditorStore","titlePlaceholder","_hasFixedToolbar","isSelected","setIsSelected","useState","title","setTitle","onUpdate","usePostTitle","ref","focusRef","usePostTitleFocus","onChange","value","replace","REGEXP_NEWLINES","onSelect","onUnselect","className","classnames","DEFAULT_CLASSNAMES","decodedPlaceholder","decodeEntities","__","_react","createElement","TextareaControl","onFocus","onBlur","label","hideLabelFromVision","autoComplete","dir","rows","__nextHasNoMarginBottom","_default","exports","default","forwardRef"],"sources":["@wordpress/editor/src/components/post-title/post-title-raw.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { TextareaControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useState, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\n\nfunction PostTitleRaw( _, forwardedRef ) {\n\tconst { placeholder, hasFixedToolbar } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder, hasFixedToolbar: _hasFixedToolbar } =\n\t\t\tgetSettings();\n\n\t\treturn {\n\t\t\tplaceholder: titlePlaceholder,\n\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t};\n\t}, [] );\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\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( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'is-raw-text': true,\n\t} );\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\treturn (\n\t\t<TextareaControl\n\t\t\tref={ focusRef }\n\t\t\tvalue={ title }\n\t\t\tonChange={ onChange }\n\t\t\tonFocus={ onSelect }\n\t\t\tonBlur={ onUnselect }\n\t\t\tlabel={ placeholder }\n\t\t\tclassName={ className }\n\t\t\tplaceholder={ decodedPlaceholder }\n\t\t\thideLabelFromVision\n\t\t\tautoComplete=\"off\"\n\t\t\tdir=\"auto\"\n\t\t\trows={ 1 }\n\t\t\t__nextHasNoMarginBottom\n\t\t/>\n\t);\n}\n\nexport default forwardRef( PostTitleRaw );\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAKA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,kBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,aAAA,GAAAV,sBAAA,CAAAC,OAAA;AApBA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;;AAKA,SAASU,YAAYA,CAAEC,CAAC,EAAEC,YAAY,EAAG;EACxC,MAAM;IAAEC,WAAW;IAAEC;EAAgB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACjE,MAAM;MAAEC;IAAY,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC;IAClD,MAAM;MAAEC,gBAAgB;MAAEL,eAAe,EAAEM;IAAiB,CAAC,GAC5DH,WAAW,CAAC,CAAC;IAEd,OAAO;MACNJ,WAAW,EAAEM,gBAAgB;MAC7BL,eAAe,EAAEM;IAClB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM,CAAEC,UAAU,EAAEC,aAAa,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAEvD,MAAM;IAAEC,KAAK;IAAEC,QAAQ,EAAEC;EAAS,CAAC,GAAG,IAAAC,qBAAY,EAAC,CAAC;EACpD,MAAM;IAAEC,GAAG,EAAEC;EAAS,CAAC,GAAG,IAAAC,0BAAiB,EAAElB,YAAa,CAAC;EAE3D,SAASmB,QAAQA,CAAEC,KAAK,EAAG;IAC1BN,QAAQ,CAAEM,KAAK,CAACC,OAAO,CAAEC,0BAAe,EAAE,GAAI,CAAE,CAAC;EAClD;EAEA,SAASC,QAAQA,CAAA,EAAG;IACnBb,aAAa,CAAE,IAAK,CAAC;EACtB;EAEA,SAASc,UAAUA,CAAA,EAAG;IACrBd,aAAa,CAAE,KAAM,CAAC;EACvB;;EAEA;EACA;EACA,MAAMe,SAAS,GAAG,IAAAC,mBAAU,EAAEC,6BAAkB,EAAE;IACjD,aAAa,EAAElB,UAAU;IACzB,mBAAmB,EAAEP,eAAe;IACpC,aAAa,EAAE;EAChB,CAAE,CAAC;EAEH,MAAM0B,kBAAkB,GACvB,IAAAC,4BAAc,EAAE5B,WAAY,CAAC,IAAI,IAAA6B,QAAE,EAAE,WAAY,CAAC;EAEnD,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAC3C,WAAA,CAAA4C,eAAe;IACfjB,GAAG,EAAGC,QAAU;IAChBG,KAAK,EAAGR,KAAO;IACfO,QAAQ,EAAGA,QAAU;IACrBe,OAAO,EAAGX,QAAU;IACpBY,MAAM,EAAGX,UAAY;IACrBY,KAAK,EAAGnC,WAAa;IACrBwB,SAAS,EAAGA,SAAW;IACvBxB,WAAW,EAAG2B,kBAAoB;IAClCS,mBAAmB;IACnBC,YAAY,EAAC,KAAK;IAClBC,GAAG,EAAC,MAAM;IACVC,IAAI,EAAG,CAAG;IACVC,uBAAuB;EAAA,CACvB,CAAC;AAEJ;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,mBAAU,EAAE/C,YAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_icons","_coreData","_data","_preferences","_store","PostViewLink","hasLoaded","permalink","isPublished","label","showIconLabels","useSelect","select","postTypeSlug","editorStore","getCurrentPostType","postType","coreStore","getPostType","get","preferencesStore","getPermalink","isCurrentPostPublished","labels","view_item","_react","createElement","Button","icon","external","__","href","target","showTooltip"],"sources":["@wordpress/editor/src/components/post-view-link/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { external } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostViewLink() {\n\tconst { hasLoaded, permalink, isPublished, label, showIconLabels } =\n\t\tuseSelect( ( select ) => {\n\t\t\t// Grab post type to retrieve the view_item label.\n\t\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\t\tconst { get } = select( preferencesStore );\n\n\t\t\treturn {\n\t\t\t\tpermalink: select( editorStore ).getPermalink(),\n\t\t\t\tisPublished: select( editorStore ).isCurrentPostPublished(),\n\t\t\t\tlabel: postType?.labels.view_item,\n\t\t\t\thasLoaded: !! postType,\n\t\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\t};\n\t\t}, [] );\n\n\t// Only render the view button if the post is published and has a permalink.\n\tif ( ! isPublished || ! permalink || ! hasLoaded ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\ticon={ external }\n\t\t\tlabel={ label || __( 'View post' ) }\n\t\t\thref={ permalink }\n\t\t\ttarget=\"_blank\"\n\t\t\tshowTooltip={ ! showIconLabels }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGe,SAASO,YAAYA,CAAA,EAAG;EACtC,MAAM;IAAEC,SAAS;IAAEC,SAAS;IAAEC,WAAW;IAAEC,KAAK;IAAEC;EAAe,CAAC,GACjE,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACxB;IACA,MAAMC,YAAY,GAAGD,MAAM,CAAEE,YAAY,CAAC,CAACC,kBAAkB,CAAC,CAAC;IAC/D,MAAMC,QAAQ,GAAGJ,MAAM,CAAEK,eAAU,CAAC,CAACC,WAAW,CAAEL,YAAa,CAAC;IAChE,MAAM;MAAEM;IAAI,CAAC,GAAGP,MAAM,CAAEQ,kBAAiB,CAAC;IAE1C,OAAO;MACNb,SAAS,EAAEK,MAAM,CAAEE,YAAY,CAAC,CAACO,YAAY,CAAC,CAAC;MAC/Cb,WAAW,EAAEI,MAAM,CAAEE,YAAY,CAAC,CAACQ,sBAAsB,CAAC,CAAC;MAC3Db,KAAK,EAAEO,QAAQ,EAAEO,MAAM,CAACC,SAAS;MACjClB,SAAS,EAAE,CAAC,CAAEU,QAAQ;MACtBN,cAAc,EAAES,GAAG,CAAE,MAAM,EAAE,gBAAiB;IAC/C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;;EAER;EACA,IAAK,CAAEX,WAAW,IAAI,CAAED,SAAS,IAAI,CAAED,SAAS,EAAG;IAClD,OAAO,IAAI;EACZ;EAEA,OACC,IAAAmB,MAAA,CAAAC,aAAA,EAAC3B,WAAA,CAAA4B,MAAM;IACNC,IAAI,EAAGC,eAAU;IACjBpB,KAAK,EAAGA,KAAK,IAAI,IAAAqB,QAAE,EAAE,WAAY,CAAG;IACpCC,IAAI,EAAGxB,SAAW;IAClByB,MAAM,EAAC,QAAQ;IACfC,WAAW,EAAG,CAAEvB;
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_icons","_coreData","_data","_preferences","_store","PostViewLink","hasLoaded","permalink","isPublished","label","showIconLabels","useSelect","select","postTypeSlug","editorStore","getCurrentPostType","postType","coreStore","getPostType","get","preferencesStore","getPermalink","isCurrentPostPublished","labels","view_item","_react","createElement","Button","icon","external","__","href","target","showTooltip","size"],"sources":["@wordpress/editor/src/components/post-view-link/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { external } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostViewLink() {\n\tconst { hasLoaded, permalink, isPublished, label, showIconLabels } =\n\t\tuseSelect( ( select ) => {\n\t\t\t// Grab post type to retrieve the view_item label.\n\t\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\t\tconst { get } = select( preferencesStore );\n\n\t\t\treturn {\n\t\t\t\tpermalink: select( editorStore ).getPermalink(),\n\t\t\t\tisPublished: select( editorStore ).isCurrentPostPublished(),\n\t\t\t\tlabel: postType?.labels.view_item,\n\t\t\t\thasLoaded: !! postType,\n\t\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\t};\n\t\t}, [] );\n\n\t// Only render the view button if the post is published and has a permalink.\n\tif ( ! isPublished || ! permalink || ! hasLoaded ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\ticon={ external }\n\t\t\tlabel={ label || __( 'View post' ) }\n\t\t\thref={ permalink }\n\t\t\ttarget=\"_blank\"\n\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\tsize=\"compact\"\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGe,SAASO,YAAYA,CAAA,EAAG;EACtC,MAAM;IAAEC,SAAS;IAAEC,SAAS;IAAEC,WAAW;IAAEC,KAAK;IAAEC;EAAe,CAAC,GACjE,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACxB;IACA,MAAMC,YAAY,GAAGD,MAAM,CAAEE,YAAY,CAAC,CAACC,kBAAkB,CAAC,CAAC;IAC/D,MAAMC,QAAQ,GAAGJ,MAAM,CAAEK,eAAU,CAAC,CAACC,WAAW,CAAEL,YAAa,CAAC;IAChE,MAAM;MAAEM;IAAI,CAAC,GAAGP,MAAM,CAAEQ,kBAAiB,CAAC;IAE1C,OAAO;MACNb,SAAS,EAAEK,MAAM,CAAEE,YAAY,CAAC,CAACO,YAAY,CAAC,CAAC;MAC/Cb,WAAW,EAAEI,MAAM,CAAEE,YAAY,CAAC,CAACQ,sBAAsB,CAAC,CAAC;MAC3Db,KAAK,EAAEO,QAAQ,EAAEO,MAAM,CAACC,SAAS;MACjClB,SAAS,EAAE,CAAC,CAAEU,QAAQ;MACtBN,cAAc,EAAES,GAAG,CAAE,MAAM,EAAE,gBAAiB;IAC/C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;;EAER;EACA,IAAK,CAAEX,WAAW,IAAI,CAAED,SAAS,IAAI,CAAED,SAAS,EAAG;IAClD,OAAO,IAAI;EACZ;EAEA,OACC,IAAAmB,MAAA,CAAAC,aAAA,EAAC3B,WAAA,CAAA4B,MAAM;IACNC,IAAI,EAAGC,eAAU;IACjBpB,KAAK,EAAGA,KAAK,IAAI,IAAAqB,QAAE,EAAE,WAAY,CAAG;IACpCC,IAAI,EAAGxB,SAAW;IAClByB,MAAM,EAAC,QAAQ;IACfC,WAAW,EAAG,CAAEvB,cAAgB;IAChCwB,IAAI,EAAC;EAAS,CACd,CAAC;AAEJ"}
|
|
@@ -21,6 +21,9 @@ var _useBlockEditorSettings = _interopRequireDefault(require("./use-block-editor
|
|
|
21
21
|
var _lockUnlock = require("../../lock-unlock");
|
|
22
22
|
var _disableNonPageContentBlocks = _interopRequireDefault(require("./disable-non-page-content-blocks"));
|
|
23
23
|
var _navigationBlockEditingMode = _interopRequireDefault(require("./navigation-block-editing-mode"));
|
|
24
|
+
var _useHideBlocksFromInserter = require("./use-hide-blocks-from-inserter");
|
|
25
|
+
var _commands = _interopRequireDefault(require("../commands"));
|
|
26
|
+
var _blockRemovalWarnings = _interopRequireDefault(require("../block-removal-warnings"));
|
|
24
27
|
/**
|
|
25
28
|
* WordPress dependencies
|
|
26
29
|
*/
|
|
@@ -190,6 +193,10 @@ const ExperimentalEditorProvider = exports.ExperimentalEditorProvider = (0, _wit
|
|
|
190
193
|
var _settings$defaultRend;
|
|
191
194
|
setRenderingMode((_settings$defaultRend = settings.defaultRenderingMode) !== null && _settings$defaultRend !== void 0 ? _settings$defaultRend : 'post-only');
|
|
192
195
|
}, [settings.defaultRenderingMode, setRenderingMode]);
|
|
196
|
+
(0, _useHideBlocksFromInserter.useHideBlocksFromInserter)(post.type);
|
|
197
|
+
|
|
198
|
+
// Register the editor commands.
|
|
199
|
+
(0, _commands.default)();
|
|
193
200
|
if (!isReady) {
|
|
194
201
|
return null;
|
|
195
202
|
}
|
|
@@ -209,7 +216,7 @@ const ExperimentalEditorProvider = exports.ExperimentalEditorProvider = (0, _wit
|
|
|
209
216
|
selection: selection,
|
|
210
217
|
settings: blockEditorSettings,
|
|
211
218
|
useSubRegistry: false
|
|
212
|
-
}, children, (0, _react.createElement)(PatternsMenuItems, null), mode === 'template-locked' && (0, _react.createElement)(_disableNonPageContentBlocks.default, null), type === 'wp_navigation' && (0, _react.createElement)(_navigationBlockEditingMode.default, null)))));
|
|
219
|
+
}, children, (0, _react.createElement)(PatternsMenuItems, null), mode === 'template-locked' && (0, _react.createElement)(_disableNonPageContentBlocks.default, null), type === 'wp_navigation' && (0, _react.createElement)(_navigationBlockEditingMode.default, null), (0, _react.createElement)(_blockRemovalWarnings.default, null)))));
|
|
213
220
|
});
|
|
214
221
|
function EditorProvider(props) {
|
|
215
222
|
return (0, _react.createElement)(ExperimentalEditorProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_data","_i18n","_coreData","_blockEditor","_notices","_patterns","_blocks","_withRegistryProvider","_interopRequireDefault","_store","_useBlockEditorSettings","_lockUnlock","_disableNonPageContentBlocks","_navigationBlockEditingMode","ExperimentalBlockEditorProvider","unlock","blockEditorPrivateApis","PatternsMenuItems","editPatternsPrivateApis","noop","NON_CONTEXTUAL_POST_TYPES","useBlockEditorProps","post","template","mode","rootLevelPost","postBlocks","onInput","onChange","useEntityBlockEditor","type","id","templateBlocks","onInputTemplate","onChangeTemplate","maybeNavigationBlocks","useMemo","createBlock","ref","templateLock","blocks","disableRootLevelChanges","ExperimentalEditorProvider","exports","withRegistryProvider","settings","recovery","initialEdits","children","BlockEditorProviderComponent","__unstableTemplate","useSelect","select","editorStore","getRenderingMode","shouldRenderTemplate","defaultBlockContext","postContext","includes","postId","postType","templateSlug","slug","undefined","editorSettings","selection","isReady","getEditorSettings","getEditorSelection","__unstableIsEditorReady","blockEditorSettings","useBlockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","useDispatch","createWarningNotice","noticesStore","useLayoutEffect","postLock","autosave","__","actions","label","url","editLink","useEffect","_settings$defaultRend","defaultRenderingMode","_react","createElement","EntityProvider","kind","BlockContextProvider","value","useSubRegistry","default","EditorProvider","props","BlockEditorProvider","_default"],"sources":["@wordpress/editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { EntityProvider, useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tBlockEditorProvider,\n\tBlockContextProvider,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport { store as editorStore } from '../../store';\nimport useBlockEditorSettings from './use-block-editor-settings';\nimport { unlock } from '../../lock-unlock';\nimport DisableNonPageContentBlocks from './disable-non-page-content-blocks';\nimport NavigationBlockEditingMode from './navigation-block-editing-mode';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\n\nconst noop = () => {};\n\n/**\n * These are global entities that are only there to split blocks into logical units\n * They don't provide a \"context\" for the current post/page being rendered.\n * So we should not use their ids as post context. This is important to allow post blocks\n * (post content, post title) to be used within them without issues.\n */\nconst NON_CONTEXTUAL_POST_TYPES = [\n\t'wp_block',\n\t'wp_template',\n\t'wp_navigation',\n\t'wp_template_part',\n];\n\n/**\n * Depending on the post, template and template mode,\n * returns the appropriate blocks and change handlers for the block editor provider.\n *\n * @param {Array} post Block list.\n * @param {boolean} template Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.\n * @param {string} mode Rendering mode.\n * @return {Array} Block editor props.\n */\nfunction useBlockEditorProps( post, template, mode ) {\n\tconst rootLevelPost =\n\t\tmode === 'post-only' || ! template ? 'post' : 'template';\n\tconst [ postBlocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpost.type,\n\t\t{ id: post.id }\n\t);\n\tconst [ templateBlocks, onInputTemplate, onChangeTemplate ] =\n\t\tuseEntityBlockEditor( 'postType', template?.type, {\n\t\t\tid: template?.id,\n\t\t} );\n\tconst maybeNavigationBlocks = useMemo( () => {\n\t\tif ( post.type === 'wp_navigation' ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/navigation', {\n\t\t\t\t\tref: post.id,\n\t\t\t\t\t// As the parent editor is locked with `templateLock`, the template locking\n\t\t\t\t\t// must be explicitly \"unset\" on the block itself to allow the user to modify\n\t\t\t\t\t// the block's content.\n\t\t\t\t\ttemplateLock: false,\n\t\t\t\t} ),\n\t\t\t];\n\t\t}\n\t}, [ post.type, post.id ] );\n\n\t// It is important that we don't create a new instance of blocks on every change\n\t// We should only create a new instance if the blocks them selves change, not a dependency of them.\n\tconst blocks = useMemo( () => {\n\t\tif ( maybeNavigationBlocks ) {\n\t\t\treturn maybeNavigationBlocks;\n\t\t}\n\n\t\tif ( rootLevelPost === 'template' ) {\n\t\t\treturn templateBlocks;\n\t\t}\n\n\t\treturn postBlocks;\n\t}, [ maybeNavigationBlocks, rootLevelPost, templateBlocks, postBlocks ] );\n\n\t// Handle fallback to postBlocks outside of the above useMemo, to ensure\n\t// that constructed block templates that call `createBlock` are not generated\n\t// too frequently. This ensures that clientIds are stable.\n\tconst disableRootLevelChanges =\n\t\t( !! template && mode === 'template-locked' ) ||\n\t\tpost.type === 'wp_navigation';\n\tif ( disableRootLevelChanges ) {\n\t\treturn [ blocks, noop, noop ];\n\t}\n\n\treturn [\n\t\tblocks,\n\t\trootLevelPost === 'post' ? onInput : onInputTemplate,\n\t\trootLevelPost === 'post' ? onChange : onChangeTemplate,\n\t];\n}\n\nexport const ExperimentalEditorProvider = withRegistryProvider(\n\t( {\n\t\tpost,\n\t\tsettings,\n\t\trecovery,\n\t\tinitialEdits,\n\t\tchildren,\n\t\tBlockEditorProviderComponent = ExperimentalBlockEditorProvider,\n\t\t__unstableTemplate: template,\n\t} ) => {\n\t\tconst mode = useSelect(\n\t\t\t( select ) => select( editorStore ).getRenderingMode(),\n\t\t\t[]\n\t\t);\n\t\tconst shouldRenderTemplate = !! template && mode !== 'post-only';\n\t\tconst rootLevelPost = shouldRenderTemplate ? template : post;\n\t\tconst defaultBlockContext = useMemo( () => {\n\t\t\tconst postContext =\n\t\t\t\t! NON_CONTEXTUAL_POST_TYPES.includes( rootLevelPost.type ) ||\n\t\t\t\tshouldRenderTemplate\n\t\t\t\t\t? { postId: post.id, postType: post.type }\n\t\t\t\t\t: {};\n\n\t\t\treturn {\n\t\t\t\t...postContext,\n\t\t\t\ttemplateSlug:\n\t\t\t\t\trootLevelPost.type === 'wp_template'\n\t\t\t\t\t\t? rootLevelPost.slug\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}, [\n\t\t\tshouldRenderTemplate,\n\t\t\tpost.id,\n\t\t\tpost.type,\n\t\t\trootLevelPost.type,\n\t\t\trootLevelPost.slug,\n\t\t] );\n\t\tconst { editorSettings, selection, isReady } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEditorSettings,\n\t\t\t\t\tgetEditorSelection,\n\t\t\t\t\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\treturn {\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\tconst { id, type } = rootLevelPost;\n\t\tconst blockEditorSettings = useBlockEditorSettings(\n\t\t\teditorSettings,\n\t\t\ttype,\n\t\t\tid\n\t\t);\n\t\tconst [ blocks, onInput, onChange ] = useBlockEditorProps(\n\t\t\tpost,\n\t\t\ttemplate,\n\t\t\tmode\n\t\t);\n\n\t\tconst {\n\t\t\tupdatePostLock,\n\t\t\tsetupEditor,\n\t\t\tupdateEditorSettings,\n\t\t\tsetCurrentTemplateId,\n\t\t\tsetEditedPost,\n\t\t\tsetRenderingMode,\n\t\t} = unlock( useDispatch( editorStore ) );\n\t\tconst { createWarningNotice } = useDispatch( noticesStore );\n\n\t\t// Ideally this should be synced on each change and not just something you do once.\n\t\tuseLayoutEffect( () => {\n\t\t\t// Assume that we don't need to initialize in the case of an error recovery.\n\t\t\tif ( recovery ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdatePostLock( settings.postLock );\n\t\t\tsetupEditor( post, initialEdits, settings.template );\n\t\t\tif ( settings.autosave ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'There is an autosave of this post that is more recent than the version below.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'autosave-exists',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View the autosave' ),\n\t\t\t\t\t\t\t\turl: settings.autosave.editLink,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}, [] );\n\n\t\t// Synchronizes the active post with the state\n\t\tuseEffect( () => {\n\t\t\tsetEditedPost( post.type, post.id );\n\t\t}, [ post.type, post.id, setEditedPost ] );\n\n\t\t// Synchronize the editor settings as they change.\n\t\tuseEffect( () => {\n\t\t\tupdateEditorSettings( settings );\n\t\t}, [ settings, updateEditorSettings ] );\n\n\t\t// Synchronizes the active template with the state.\n\t\tuseEffect( () => {\n\t\t\tsetCurrentTemplateId( template?.id );\n\t\t}, [ template?.id, setCurrentTemplateId ] );\n\n\t\t// Sets the right rendering mode when loading the editor.\n\t\tuseEffect( () => {\n\t\t\tsetRenderingMode( settings.defaultRenderingMode ?? 'post-only' );\n\t\t}, [ settings.defaultRenderingMode, setRenderingMode ] );\n\n\t\tif ( ! isReady ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ post.type }\n\t\t\t\t\tid={ post.id }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ defaultBlockContext }>\n\t\t\t\t\t\t<BlockEditorProviderComponent\n\t\t\t\t\t\t\tvalue={ blocks }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonInput={ onInput }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tsettings={ blockEditorSettings }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t<PatternsMenuItems />\n\t\t\t\t\t\t\t{ mode === 'template-locked' && (\n\t\t\t\t\t\t\t\t<DisableNonPageContentBlocks />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ type === 'wp_navigation' && (\n\t\t\t\t\t\t\t\t<NavigationBlockEditingMode />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BlockEditorProviderComponent>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t);\n\t}\n);\n\nexport function EditorProvider( props ) {\n\treturn (\n\t\t<ExperimentalEditorProvider\n\t\t\t{ ...props }\n\t\t\tBlockEditorProviderComponent={ BlockEditorProvider }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalEditorProvider>\n\t);\n}\n\nexport default EditorProvider;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_data","_i18n","_coreData","_blockEditor","_notices","_patterns","_blocks","_withRegistryProvider","_interopRequireDefault","_store","_useBlockEditorSettings","_lockUnlock","_disableNonPageContentBlocks","_navigationBlockEditingMode","_useHideBlocksFromInserter","_commands","_blockRemovalWarnings","ExperimentalBlockEditorProvider","unlock","blockEditorPrivateApis","PatternsMenuItems","editPatternsPrivateApis","noop","NON_CONTEXTUAL_POST_TYPES","useBlockEditorProps","post","template","mode","rootLevelPost","postBlocks","onInput","onChange","useEntityBlockEditor","type","id","templateBlocks","onInputTemplate","onChangeTemplate","maybeNavigationBlocks","useMemo","createBlock","ref","templateLock","blocks","disableRootLevelChanges","ExperimentalEditorProvider","exports","withRegistryProvider","settings","recovery","initialEdits","children","BlockEditorProviderComponent","__unstableTemplate","useSelect","select","editorStore","getRenderingMode","shouldRenderTemplate","defaultBlockContext","postContext","includes","postId","postType","templateSlug","slug","undefined","editorSettings","selection","isReady","getEditorSettings","getEditorSelection","__unstableIsEditorReady","blockEditorSettings","useBlockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","useDispatch","createWarningNotice","noticesStore","useLayoutEffect","postLock","autosave","__","actions","label","url","editLink","useEffect","_settings$defaultRend","defaultRenderingMode","useHideBlocksFromInserter","useCommands","_react","createElement","EntityProvider","kind","BlockContextProvider","value","useSubRegistry","default","EditorProvider","props","BlockEditorProvider","_default"],"sources":["@wordpress/editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { EntityProvider, useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tBlockEditorProvider,\n\tBlockContextProvider,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport { store as editorStore } from '../../store';\nimport useBlockEditorSettings from './use-block-editor-settings';\nimport { unlock } from '../../lock-unlock';\nimport DisableNonPageContentBlocks from './disable-non-page-content-blocks';\nimport NavigationBlockEditingMode from './navigation-block-editing-mode';\nimport { useHideBlocksFromInserter } from './use-hide-blocks-from-inserter';\nimport useCommands from '../commands';\nimport BlockRemovalWarnings from '../block-removal-warnings';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\n\nconst noop = () => {};\n\n/**\n * These are global entities that are only there to split blocks into logical units\n * They don't provide a \"context\" for the current post/page being rendered.\n * So we should not use their ids as post context. This is important to allow post blocks\n * (post content, post title) to be used within them without issues.\n */\nconst NON_CONTEXTUAL_POST_TYPES = [\n\t'wp_block',\n\t'wp_template',\n\t'wp_navigation',\n\t'wp_template_part',\n];\n\n/**\n * Depending on the post, template and template mode,\n * returns the appropriate blocks and change handlers for the block editor provider.\n *\n * @param {Array} post Block list.\n * @param {boolean} template Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.\n * @param {string} mode Rendering mode.\n * @return {Array} Block editor props.\n */\nfunction useBlockEditorProps( post, template, mode ) {\n\tconst rootLevelPost =\n\t\tmode === 'post-only' || ! template ? 'post' : 'template';\n\tconst [ postBlocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpost.type,\n\t\t{ id: post.id }\n\t);\n\tconst [ templateBlocks, onInputTemplate, onChangeTemplate ] =\n\t\tuseEntityBlockEditor( 'postType', template?.type, {\n\t\t\tid: template?.id,\n\t\t} );\n\tconst maybeNavigationBlocks = useMemo( () => {\n\t\tif ( post.type === 'wp_navigation' ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/navigation', {\n\t\t\t\t\tref: post.id,\n\t\t\t\t\t// As the parent editor is locked with `templateLock`, the template locking\n\t\t\t\t\t// must be explicitly \"unset\" on the block itself to allow the user to modify\n\t\t\t\t\t// the block's content.\n\t\t\t\t\ttemplateLock: false,\n\t\t\t\t} ),\n\t\t\t];\n\t\t}\n\t}, [ post.type, post.id ] );\n\n\t// It is important that we don't create a new instance of blocks on every change\n\t// We should only create a new instance if the blocks them selves change, not a dependency of them.\n\tconst blocks = useMemo( () => {\n\t\tif ( maybeNavigationBlocks ) {\n\t\t\treturn maybeNavigationBlocks;\n\t\t}\n\n\t\tif ( rootLevelPost === 'template' ) {\n\t\t\treturn templateBlocks;\n\t\t}\n\n\t\treturn postBlocks;\n\t}, [ maybeNavigationBlocks, rootLevelPost, templateBlocks, postBlocks ] );\n\n\t// Handle fallback to postBlocks outside of the above useMemo, to ensure\n\t// that constructed block templates that call `createBlock` are not generated\n\t// too frequently. This ensures that clientIds are stable.\n\tconst disableRootLevelChanges =\n\t\t( !! template && mode === 'template-locked' ) ||\n\t\tpost.type === 'wp_navigation';\n\tif ( disableRootLevelChanges ) {\n\t\treturn [ blocks, noop, noop ];\n\t}\n\n\treturn [\n\t\tblocks,\n\t\trootLevelPost === 'post' ? onInput : onInputTemplate,\n\t\trootLevelPost === 'post' ? onChange : onChangeTemplate,\n\t];\n}\n\nexport const ExperimentalEditorProvider = withRegistryProvider(\n\t( {\n\t\tpost,\n\t\tsettings,\n\t\trecovery,\n\t\tinitialEdits,\n\t\tchildren,\n\t\tBlockEditorProviderComponent = ExperimentalBlockEditorProvider,\n\t\t__unstableTemplate: template,\n\t} ) => {\n\t\tconst mode = useSelect(\n\t\t\t( select ) => select( editorStore ).getRenderingMode(),\n\t\t\t[]\n\t\t);\n\t\tconst shouldRenderTemplate = !! template && mode !== 'post-only';\n\t\tconst rootLevelPost = shouldRenderTemplate ? template : post;\n\t\tconst defaultBlockContext = useMemo( () => {\n\t\t\tconst postContext =\n\t\t\t\t! NON_CONTEXTUAL_POST_TYPES.includes( rootLevelPost.type ) ||\n\t\t\t\tshouldRenderTemplate\n\t\t\t\t\t? { postId: post.id, postType: post.type }\n\t\t\t\t\t: {};\n\n\t\t\treturn {\n\t\t\t\t...postContext,\n\t\t\t\ttemplateSlug:\n\t\t\t\t\trootLevelPost.type === 'wp_template'\n\t\t\t\t\t\t? rootLevelPost.slug\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}, [\n\t\t\tshouldRenderTemplate,\n\t\t\tpost.id,\n\t\t\tpost.type,\n\t\t\trootLevelPost.type,\n\t\t\trootLevelPost.slug,\n\t\t] );\n\t\tconst { editorSettings, selection, isReady } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEditorSettings,\n\t\t\t\t\tgetEditorSelection,\n\t\t\t\t\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\treturn {\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\tconst { id, type } = rootLevelPost;\n\t\tconst blockEditorSettings = useBlockEditorSettings(\n\t\t\teditorSettings,\n\t\t\ttype,\n\t\t\tid\n\t\t);\n\t\tconst [ blocks, onInput, onChange ] = useBlockEditorProps(\n\t\t\tpost,\n\t\t\ttemplate,\n\t\t\tmode\n\t\t);\n\n\t\tconst {\n\t\t\tupdatePostLock,\n\t\t\tsetupEditor,\n\t\t\tupdateEditorSettings,\n\t\t\tsetCurrentTemplateId,\n\t\t\tsetEditedPost,\n\t\t\tsetRenderingMode,\n\t\t} = unlock( useDispatch( editorStore ) );\n\t\tconst { createWarningNotice } = useDispatch( noticesStore );\n\n\t\t// Ideally this should be synced on each change and not just something you do once.\n\t\tuseLayoutEffect( () => {\n\t\t\t// Assume that we don't need to initialize in the case of an error recovery.\n\t\t\tif ( recovery ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdatePostLock( settings.postLock );\n\t\t\tsetupEditor( post, initialEdits, settings.template );\n\t\t\tif ( settings.autosave ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'There is an autosave of this post that is more recent than the version below.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'autosave-exists',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View the autosave' ),\n\t\t\t\t\t\t\t\turl: settings.autosave.editLink,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}, [] );\n\n\t\t// Synchronizes the active post with the state\n\t\tuseEffect( () => {\n\t\t\tsetEditedPost( post.type, post.id );\n\t\t}, [ post.type, post.id, setEditedPost ] );\n\n\t\t// Synchronize the editor settings as they change.\n\t\tuseEffect( () => {\n\t\t\tupdateEditorSettings( settings );\n\t\t}, [ settings, updateEditorSettings ] );\n\n\t\t// Synchronizes the active template with the state.\n\t\tuseEffect( () => {\n\t\t\tsetCurrentTemplateId( template?.id );\n\t\t}, [ template?.id, setCurrentTemplateId ] );\n\n\t\t// Sets the right rendering mode when loading the editor.\n\t\tuseEffect( () => {\n\t\t\tsetRenderingMode( settings.defaultRenderingMode ?? 'post-only' );\n\t\t}, [ settings.defaultRenderingMode, setRenderingMode ] );\n\n\t\tuseHideBlocksFromInserter( post.type );\n\n\t\t// Register the editor commands.\n\t\tuseCommands();\n\n\t\tif ( ! isReady ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ post.type }\n\t\t\t\t\tid={ post.id }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ defaultBlockContext }>\n\t\t\t\t\t\t<BlockEditorProviderComponent\n\t\t\t\t\t\t\tvalue={ blocks }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonInput={ onInput }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tsettings={ blockEditorSettings }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t<PatternsMenuItems />\n\t\t\t\t\t\t\t{ mode === 'template-locked' && (\n\t\t\t\t\t\t\t\t<DisableNonPageContentBlocks />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ type === 'wp_navigation' && (\n\t\t\t\t\t\t\t\t<NavigationBlockEditingMode />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockRemovalWarnings />\n\t\t\t\t\t\t</BlockEditorProviderComponent>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t);\n\t}\n);\n\nexport function EditorProvider( props ) {\n\treturn (\n\t\t<ExperimentalEditorProvider\n\t\t\t{ ...props }\n\t\t\tBlockEditorProviderComponent={ BlockEditorProvider }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalEditorProvider>\n\t);\n}\n\nexport default EditorProvider;\n"],"mappings":"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"}
|
|
@@ -23,7 +23,6 @@ var _i18n = require("@wordpress/i18n");
|
|
|
23
23
|
var _editor = require("@wordpress/editor");
|
|
24
24
|
var _notices = require("@wordpress/notices");
|
|
25
25
|
var _coreData = require("@wordpress/core-data");
|
|
26
|
-
var _editPost = require("@wordpress/edit-post");
|
|
27
26
|
var _index = _interopRequireDefault(require("./index.js"));
|
|
28
27
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
29
28
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -313,11 +312,9 @@ const ComposedNativeProvider = exports.ExperimentalEditorProvider = (0, _compose
|
|
|
313
312
|
getEditorBlocks,
|
|
314
313
|
getEditedPostAttribute,
|
|
315
314
|
getEditedPostContent,
|
|
316
|
-
getEditorSettings
|
|
317
|
-
} = select(_editor.store);
|
|
318
|
-
const {
|
|
315
|
+
getEditorSettings,
|
|
319
316
|
getEditorMode
|
|
320
|
-
} = select(
|
|
317
|
+
} = select(_editor.store);
|
|
321
318
|
const {
|
|
322
319
|
getBlockIndex,
|
|
323
320
|
getSelectedBlockClientId,
|
|
@@ -343,7 +340,8 @@ const ComposedNativeProvider = exports.ExperimentalEditorProvider = (0, _compose
|
|
|
343
340
|
const {
|
|
344
341
|
editPost,
|
|
345
342
|
resetEditorBlocks,
|
|
346
|
-
updateEditorSettings
|
|
343
|
+
updateEditorSettings,
|
|
344
|
+
switchEditorMode
|
|
347
345
|
} = dispatch(_editor.store);
|
|
348
346
|
const {
|
|
349
347
|
clearSelectedBlock,
|
|
@@ -351,9 +349,6 @@ const ComposedNativeProvider = exports.ExperimentalEditorProvider = (0, _compose
|
|
|
351
349
|
insertBlock,
|
|
352
350
|
replaceBlock
|
|
353
351
|
} = dispatch(_blockEditor.store);
|
|
354
|
-
const {
|
|
355
|
-
switchEditorMode
|
|
356
|
-
} = dispatch(_editPost.store);
|
|
357
352
|
const {
|
|
358
353
|
addEntities,
|
|
359
354
|
receiveEntityRecords
|