@wordpress/block-library 8.22.0 → 8.23.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 +2 -0
- package/build/block/edit.js +3 -2
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +57 -2
- package/build/button/edit.js.map +1 -1
- package/build/code/transforms.js +20 -7
- package/build/code/transforms.js.map +1 -1
- package/build/comments/edit/comments-inspector-controls.js +1 -0
- package/build/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +1 -0
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/details/edit.js +1 -2
- package/build/details/edit.js.map +1 -1
- package/build/form/index.js +1 -1
- package/build/form/index.js.map +1 -1
- package/build/form-submit-button/edit.js +2 -1
- package/build/form-submit-button/edit.js.map +1 -1
- package/build/gallery/gap-styles.js +12 -7
- package/build/gallery/gap-styles.js.map +1 -1
- package/build/group/edit.js +1 -0
- package/build/group/edit.js.map +1 -1
- package/build/html/transforms.js +7 -2
- package/build/html/transforms.js.map +1 -1
- package/build/image/deprecated.js +8 -0
- package/build/image/deprecated.js.map +1 -1
- package/build/image/view.js +10 -7
- package/build/image/view.js.map +1 -1
- package/build/missing/index.js +1 -1
- package/build/navigation/edit/overlay-menu-preview.js +1 -1
- package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build/navigation/use-template-part-area-label.js +2 -1
- package/build/navigation/use-template-part-area-label.js.map +1 -1
- package/build/navigation-link/edit.js +1 -1
- package/build/navigation-link/edit.js.map +1 -1
- package/build/pattern/edit.js +1 -1
- package/build/pattern/edit.js.map +1 -1
- package/build/post-author/edit.js +0 -1
- package/build/post-author/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +21 -6
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-template/edit.js +2 -8
- package/build/post-template/edit.js.map +1 -1
- package/build/post-template/index.js +1 -1
- package/build/post-terms/edit.js +0 -2
- package/build/post-terms/edit.js.map +1 -1
- package/build/preformatted/transforms.js +1 -4
- package/build/preformatted/transforms.js.map +1 -1
- package/build/query/edit/query-content.js +1 -0
- package/build/query/edit/query-content.js.map +1 -1
- package/build/quote/index.js +6 -0
- package/build/quote/index.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +1 -0
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/index.js +3 -7
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/index.js +6 -2
- package/build/template-part/index.js.map +1 -1
- package/build/template-part/variations.js +5 -1
- package/build/template-part/variations.js.map +1 -1
- package/build-module/block/edit.js +3 -2
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.js +61 -6
- package/build-module/button/edit.js.map +1 -1
- package/build-module/code/transforms.js +20 -7
- package/build-module/code/transforms.js.map +1 -1
- package/build-module/comments/edit/comments-inspector-controls.js +1 -0
- package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -0
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/details/edit.js +1 -2
- package/build-module/details/edit.js.map +1 -1
- package/build-module/form/index.js +1 -1
- package/build-module/form/index.js.map +1 -1
- package/build-module/form-submit-button/edit.js +2 -1
- package/build-module/form-submit-button/edit.js.map +1 -1
- package/build-module/gallery/gap-styles.js +13 -8
- package/build-module/gallery/gap-styles.js.map +1 -1
- package/build-module/group/edit.js +1 -0
- package/build-module/group/edit.js.map +1 -1
- package/build-module/html/transforms.js +7 -2
- package/build-module/html/transforms.js.map +1 -1
- package/build-module/image/deprecated.js +8 -0
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/view.js +10 -7
- package/build-module/image/view.js.map +1 -1
- package/build-module/missing/index.js +1 -1
- package/build-module/navigation/edit/overlay-menu-preview.js +1 -1
- package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build-module/navigation/use-template-part-area-label.js +2 -1
- package/build-module/navigation/use-template-part-area-label.js.map +1 -1
- package/build-module/navigation-link/edit.js +2 -2
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/pattern/edit.js +1 -1
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-author/edit.js +0 -1
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +21 -6
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-template/edit.js +2 -8
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-template/index.js +1 -1
- package/build-module/post-terms/edit.js +0 -2
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/preformatted/transforms.js +1 -4
- package/build-module/preformatted/transforms.js.map +1 -1
- package/build-module/query/edit/query-content.js +1 -0
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/quote/index.js +6 -0
- package/build-module/quote/index.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +1 -0
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +5 -9
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/index.js +6 -2
- package/build-module/template-part/index.js.map +1 -1
- package/build-module/template-part/variations.js +5 -1
- package/build-module/template-part/variations.js.map +1 -1
- package/build-style/editor-rtl.css +12 -0
- package/build-style/editor.css +12 -0
- package/build-style/image/editor-rtl.css +3 -0
- package/build-style/image/editor.css +3 -0
- package/build-style/image/style-rtl.css +19 -13
- package/build-style/image/style.css +19 -13
- package/build-style/post-featured-image/editor-rtl.css +9 -0
- package/build-style/post-featured-image/editor.css +9 -0
- package/build-style/quote/style-rtl.css +3 -0
- package/build-style/quote/style.css +3 -0
- package/build-style/read-more/style-rtl.css +2 -2
- package/build-style/read-more/style.css +2 -2
- package/build-style/style-rtl.css +24 -15
- package/build-style/style.css +24 -15
- package/package.json +32 -32
- package/src/block/edit.js +2 -1
- package/src/button/edit.js +70 -4
- package/src/code/transforms.js +14 -8
- package/src/comments/edit/comments-inspector-controls.js +1 -0
- package/src/cover/edit/inspector-controls.js +1 -0
- package/src/details/edit.js +0 -1
- package/src/form/index.js +1 -1
- package/src/form-submit-button/edit.js +1 -0
- package/src/gallery/gap-styles.js +10 -9
- package/src/group/edit.js +1 -0
- package/src/html/transforms.js +5 -2
- package/src/image/deprecated.js +8 -0
- package/src/image/editor.scss +7 -0
- package/src/image/index.php +3 -4
- package/src/image/style.scss +18 -13
- package/src/image/view.js +24 -11
- package/src/missing/block.json +1 -1
- package/src/navigation/edit/overlay-menu-preview.js +1 -1
- package/src/navigation/index.php +37 -402
- package/src/navigation/use-template-part-area-label.js +4 -2
- package/src/navigation-link/edit.js +2 -2
- package/src/navigation-link/index.php +57 -0
- package/src/paragraph/test/__snapshots__/transforms.native.js.snap +6 -0
- package/src/paragraph/test/transforms.native.js +1 -0
- package/src/pattern/edit.js +2 -1
- package/src/pattern/index.php +6 -1
- package/src/post-author/edit.js +0 -1
- package/src/post-featured-image/edit.js +38 -5
- package/src/post-featured-image/editor.scss +19 -0
- package/src/post-template/block.json +0 -1
- package/src/post-template/edit.js +1 -5
- package/src/post-terms/edit.js +0 -2
- package/src/preformatted/transforms.js +1 -4
- package/src/query/edit/query-content.js +1 -0
- package/src/query/index.php +6 -2
- package/src/quote/block.json +6 -0
- package/src/quote/style.scss +4 -0
- package/src/read-more/style.scss +1 -1
- package/src/template-part/edit/advanced-controls.js +1 -0
- package/src/template-part/edit/index.js +7 -14
- package/src/template-part/index.js +4 -3
- package/src/template-part/index.php +4 -4
- package/src/template-part/variations.js +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_blockEditor","_components","_i18n","_coreData","_element","_placeholder","_interopRequireDefault","_selectionModal","_advancedControls","_innerBlocks","_createTemplatePartId","_hooks","TemplatePartEdit","attributes","setAttributes","clientId","slug","theme","tagName","layout","templatePartId","createTemplatePartId","hasAlreadyRendered","useHasRecursion","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","useState","isResolved","innerBlocks","isMissing","area","useSelect","select","getEditedEntityRecord","hasFinishedResolution","coreStore","getBlocks","blockEditorStore","getEntityArgs","entityRecord","_area","hasResolvedEntity","Object","keys","length","templateParts","useAlternativeTemplateParts","blockPatterns","useAlternativeBlockPatterns","hasReplacements","areaObject","useTemplatePartArea","blockProps","useBlockProps","isPlaceholder","isEntityAvailable","TagName","canReplace","_react","createElement","Warning","sprintf","__","Fragment","__experimentalRecursionProvider","uniqueId","TemplatePartAdvancedControls","defaultWrapper","hasInnerBlocks","default","onOpenSelectionModal","BlockSettingsMenuControls","selectedClientIds","MenuItem","onClick","createInterpolateElement","BlockTitle","maximumLength","postId","Spinner","Modal","overlayClassName","title","label","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tBlockTitle,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n} from '@wordpress/block-editor';\nimport { Spinner, Modal, MenuItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { slug, theme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst { isResolved, innerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\tinnerBlocks.length === 0 &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t/>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t{ canReplace && (\n\t\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t\t__( 'Replace <BlockTitle />' ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tBlockTitle: (\n\t\t\t\t\t\t\t\t\t\t\t\t<BlockTitle\n\t\t\t\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaximumLength={ 25 }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t</BlockSettingsMenuControls>\n\t\t\t\t) }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen={ true }\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_data","require","_blockEditor","_components","_i18n","_coreData","_element","_placeholder","_interopRequireDefault","_selectionModal","_advancedControls","_innerBlocks","_createTemplatePartId","_hooks","TemplatePartEdit","attributes","setAttributes","clientId","currentTheme","useSelect","select","coreStore","getCurrentTheme","stylesheet","slug","theme","tagName","layout","templatePartId","createTemplatePartId","hasAlreadyRendered","useHasRecursion","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","useState","isResolved","innerBlocks","isMissing","area","getEditedEntityRecord","hasFinishedResolution","getBlocks","blockEditorStore","getEntityArgs","entityRecord","_area","hasResolvedEntity","Object","keys","length","templateParts","useAlternativeTemplateParts","blockPatterns","useAlternativeBlockPatterns","hasReplacements","areaObject","useTemplatePartArea","blockProps","useBlockProps","isPlaceholder","isEntityAvailable","TagName","canReplace","_react","createElement","Warning","sprintf","__","Fragment","__experimentalRecursionProvider","uniqueId","TemplatePartAdvancedControls","defaultWrapper","hasInnerBlocks","default","onOpenSelectionModal","BlockSettingsMenuControls","selectedClientIds","MenuItem","onClick","postId","Spinner","Modal","overlayClassName","title","label","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n} from '@wordpress/block-editor';\nimport { Spinner, Modal, MenuItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\tconst { slug, theme = currentTheme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst { isResolved, innerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\tinnerBlocks.length === 0 &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t/>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t{ canReplace && (\n\t\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t</BlockSettingsMenuControls>\n\t\t\t\t) }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen={ true }\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -69,7 +69,11 @@ const settings = {
|
|
|
69
69
|
if (!slug) {
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
|
-
const
|
|
72
|
+
const {
|
|
73
|
+
getCurrentTheme,
|
|
74
|
+
getEntityRecord
|
|
75
|
+
} = (0, _data.select)(_coreData.store);
|
|
76
|
+
const entity = getEntityRecord('postType', 'wp_template_part', (theme || getCurrentTheme()?.stylesheet) + '//' + slug);
|
|
73
77
|
if (!entity) {
|
|
74
78
|
return;
|
|
75
79
|
}
|
|
@@ -83,7 +87,7 @@ const init = () => {
|
|
|
83
87
|
|
|
84
88
|
// Prevent adding template parts inside post templates.
|
|
85
89
|
const DISALLOWED_PARENTS = ['core/post-template', 'core/post-content'];
|
|
86
|
-
(0, _hooks.addFilter)('blockEditor.__unstableCanInsertBlockType', 'removeTemplatePartsFromPostTemplates', (canInsert, blockType, rootClientId, {
|
|
90
|
+
(0, _hooks.addFilter)('blockEditor.__unstableCanInsertBlockType', 'core/block-library/removeTemplatePartsFromPostTemplates', (canInsert, blockType, rootClientId, {
|
|
87
91
|
getBlock,
|
|
88
92
|
getBlockParentsByBlockName
|
|
89
93
|
}) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_changeCase","require","_coreData","_data","_icons","_hooks","_htmlEntities","_initBlock","_interopRequireDefault","_edit","_variations","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","slug","type","theme","tagName","area","supports","align","html","reusable","renaming","editorStyle","exports","settings","icon","symbolFilled","__experimentalLabel","
|
|
1
|
+
{"version":3,"names":["_changeCase","require","_coreData","_data","_icons","_hooks","_htmlEntities","_initBlock","_interopRequireDefault","_edit","_variations","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","slug","type","theme","tagName","area","supports","align","html","reusable","renaming","editorStyle","exports","settings","icon","symbolFilled","__experimentalLabel","getCurrentTheme","getEntityRecord","select","coreDataStore","entity","stylesheet","decodeEntities","rendered","capitalCase","edit","init","addFilter","enhanceTemplatePartVariations","DISALLOWED_PARENTS","canInsert","blockType","rootClientId","getBlock","getBlockParentsByBlockName","disallowedParentType","hasDisallowedParent","length","initBlock"],"sources":["@wordpress/block-library/src/template-part/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { capitalCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport { symbolFilled } from '@wordpress/icons';\nimport { addFilter } from '@wordpress/hooks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport { enhanceTemplatePartVariations } from './variations';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon: symbolFilled,\n\t__experimentalLabel: ( { slug, theme } ) => {\n\t\t// Attempt to find entity title if block is a template part.\n\t\t// Require slug to request, otherwise entity is uncreated and will throw 404.\n\t\tif ( ! slug ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { getCurrentTheme, getEntityRecord } = select( coreDataStore );\n\t\tconst entity = getEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\t( theme || getCurrentTheme()?.stylesheet ) + '//' + slug\n\t\t);\n\t\tif ( ! entity ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn (\n\t\t\tdecodeEntities( entity.title?.rendered ) ||\n\t\t\tcapitalCase( entity.slug )\n\t\t);\n\t},\n\tedit,\n};\n\nexport const init = () => {\n\taddFilter(\n\t\t'blocks.registerBlockType',\n\t\t'core/template-part',\n\t\tenhanceTemplatePartVariations\n\t);\n\n\t// Prevent adding template parts inside post templates.\n\tconst DISALLOWED_PARENTS = [ 'core/post-template', 'core/post-content' ];\n\taddFilter(\n\t\t'blockEditor.__unstableCanInsertBlockType',\n\t\t'core/block-library/removeTemplatePartsFromPostTemplates',\n\t\t(\n\t\t\tcanInsert,\n\t\t\tblockType,\n\t\t\trootClientId,\n\t\t\t{ getBlock, getBlockParentsByBlockName }\n\t\t) => {\n\t\t\tif ( blockType.name !== 'core/template-part' ) {\n\t\t\t\treturn canInsert;\n\t\t\t}\n\n\t\t\tfor ( const disallowedParentType of DISALLOWED_PARENTS ) {\n\t\t\t\tconst hasDisallowedParent =\n\t\t\t\t\tgetBlock( rootClientId )?.name === disallowedParentType ||\n\t\t\t\t\tgetBlockParentsByBlockName(\n\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\tdisallowedParentType\n\t\t\t\t\t).length;\n\t\t\t\tif ( hasDisallowedParent ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AAKA,IAAAM,UAAA,GAAAC,sBAAA,CAAAP,OAAA;AAEA,IAAAQ,KAAA,GAAAD,sBAAA,CAAAP,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AApBA;AACA;AACA;AAGA;AACA;AACA;AAOA;AACA;AACA;AAFA,MAAAU,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,IAAA;MAAAC,IAAA;IAAA;IAAAC,KAAA;MAAAD,IAAA;IAAA;IAAAE,OAAA;MAAAF,IAAA;IAAA;IAAAG,IAAA;MAAAH,IAAA;IAAA;EAAA;EAAAI,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,QAAA;EAAA;EAAAC,WAAA;AAAA;AAAAC,OAAA,CAAApB,QAAA,GAAAA,QAAA;AAQA,MAAM;EAAEG;AAAK,CAAC,GAAGH,QAAQ;AAACoB,OAAA,CAAAjB,IAAA,GAAAA,IAAA;AAGnB,MAAMkB,QAAQ,GAAG;EACvBC,IAAI,EAAEC,mBAAY;EAClBC,mBAAmB,EAAEA,CAAE;IAAEf,IAAI;IAAEE;EAAM,CAAC,KAAM;IAC3C;IACA;IACA,IAAK,CAAEF,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAEgB,eAAe;MAAEC;IAAgB,CAAC,GAAG,IAAAC,YAAM,EAAEC,eAAc,CAAC;IACpE,MAAMC,MAAM,GAAGH,eAAe,CAC7B,UAAU,EACV,kBAAkB,EAClB,CAAEf,KAAK,IAAIc,eAAe,CAAC,CAAC,EAAEK,UAAU,IAAK,IAAI,GAAGrB,IACrD,CAAC;IACD,IAAK,CAAEoB,MAAM,EAAG;MACf;IACD;IAEA,OACC,IAAAE,4BAAc,EAAEF,MAAM,CAACzB,KAAK,EAAE4B,QAAS,CAAC,IACxC,IAAAC,uBAAW,EAAEJ,MAAM,CAACpB,IAAK,CAAC;EAE5B,CAAC;EACDyB,IAAI,EAAJA;AACD,CAAC;AAACd,OAAA,CAAAC,QAAA,GAAAA,QAAA;AAEK,MAAMc,IAAI,GAAGA,CAAA,KAAM;EACzB,IAAAC,gBAAS,EACR,0BAA0B,EAC1B,oBAAoB,EACpBC,yCACD,CAAC;;EAED;EACA,MAAMC,kBAAkB,GAAG,CAAE,oBAAoB,EAAE,mBAAmB,CAAE;EACxE,IAAAF,gBAAS,EACR,0CAA0C,EAC1C,yDAAyD,EACzD,CACCG,SAAS,EACTC,SAAS,EACTC,YAAY,EACZ;IAAEC,QAAQ;IAAEC;EAA2B,CAAC,KACpC;IACJ,IAAKH,SAAS,CAACrC,IAAI,KAAK,oBAAoB,EAAG;MAC9C,OAAOoC,SAAS;IACjB;IAEA,KAAM,MAAMK,oBAAoB,IAAIN,kBAAkB,EAAG;MACxD,MAAMO,mBAAmB,GACxBH,QAAQ,CAAED,YAAa,CAAC,EAAEtC,IAAI,KAAKyC,oBAAoB,IACvDD,0BAA0B,CACzBF,YAAY,EACZG,oBACD,CAAC,CAACE,MAAM;MACT,IAAKD,mBAAmB,EAAG;QAC1B,OAAO,KAAK;MACb;IACD;IACA,OAAO,IAAI;EACZ,CACD,CAAC;EAED,OAAO,IAAAE,kBAAS,EAAE;IAAE5C,IAAI;IAAEH,QAAQ;IAAEqB;EAAS,CAAE,CAAC;AACjD,CAAC;AAACD,OAAA,CAAAe,IAAA,GAAAA,IAAA"}
|
|
@@ -38,7 +38,11 @@ function enhanceTemplatePartVariations(settings, name) {
|
|
|
38
38
|
// Find a matching variation from the created template part
|
|
39
39
|
// by checking the entity's `area` property.
|
|
40
40
|
if (!slug) return false;
|
|
41
|
-
const
|
|
41
|
+
const {
|
|
42
|
+
getCurrentTheme,
|
|
43
|
+
getEntityRecord
|
|
44
|
+
} = (0, _data.select)(_coreData.store);
|
|
45
|
+
const entity = getEntityRecord('postType', 'wp_template_part', `${theme || getCurrentTheme()?.stylesheet}//${slug}`);
|
|
42
46
|
if (entity?.slug) {
|
|
43
47
|
return entity.slug === variationAttributes.slug;
|
|
44
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_coreData","require","_data","_icons","getTemplatePartIcon","iconName","headerIcon","footerIcon","sidebarIcon","symbolFilledIcon","enhanceTemplatePartVariations","settings","name","variations","isActive","blockAttributes","variationAttributes","area","theme","slug","
|
|
1
|
+
{"version":3,"names":["_coreData","require","_data","_icons","getTemplatePartIcon","iconName","headerIcon","footerIcon","sidebarIcon","symbolFilledIcon","enhanceTemplatePartVariations","settings","name","variations","isActive","blockAttributes","variationAttributes","area","theme","slug","getCurrentTheme","getEntityRecord","select","coreDataStore","entity","stylesheet","map","variation","icon"],"sources":["@wordpress/block-library/src/template-part/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport {\n\theader as headerIcon,\n\tfooter as footerIcon,\n\tsidebar as sidebarIcon,\n\tsymbolFilled as symbolFilledIcon,\n} from '@wordpress/icons';\n\nfunction getTemplatePartIcon( iconName ) {\n\tif ( 'header' === iconName ) {\n\t\treturn headerIcon;\n\t} else if ( 'footer' === iconName ) {\n\t\treturn footerIcon;\n\t} else if ( 'sidebar' === iconName ) {\n\t\treturn sidebarIcon;\n\t}\n\treturn symbolFilledIcon;\n}\n\nexport function enhanceTemplatePartVariations( settings, name ) {\n\tif ( name !== 'core/template-part' ) {\n\t\treturn settings;\n\t}\n\n\tif ( settings.variations ) {\n\t\tconst isActive = ( blockAttributes, variationAttributes ) => {\n\t\t\tconst { area, theme, slug } = blockAttributes;\n\t\t\t// We first check the `area` block attribute which is set during insertion.\n\t\t\t// This property is removed on the creation of a template part.\n\t\t\tif ( area ) return area === variationAttributes.area;\n\t\t\t// Find a matching variation from the created template part\n\t\t\t// by checking the entity's `area` property.\n\t\t\tif ( ! slug ) return false;\n\t\t\tconst { getCurrentTheme, getEntityRecord } =\n\t\t\t\tselect( coreDataStore );\n\t\t\tconst entity = getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t`${ theme || getCurrentTheme()?.stylesheet }//${ slug }`\n\t\t\t);\n\n\t\t\tif ( entity?.slug ) {\n\t\t\t\treturn entity.slug === variationAttributes.slug;\n\t\t\t}\n\t\t\treturn entity?.area === variationAttributes.area;\n\t\t};\n\n\t\tconst variations = settings.variations.map( ( variation ) => {\n\t\t\treturn {\n\t\t\t\t...variation,\n\t\t\t\t...( ! variation.isActive && { isActive } ),\n\t\t\t\t...( typeof variation.icon === 'string' && {\n\t\t\t\t\ticon: getTemplatePartIcon( variation.icon ),\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations,\n\t\t};\n\t}\n\treturn settings;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAUA,SAASG,mBAAmBA,CAAEC,QAAQ,EAAG;EACxC,IAAK,QAAQ,KAAKA,QAAQ,EAAG;IAC5B,OAAOC,aAAU;EAClB,CAAC,MAAM,IAAK,QAAQ,KAAKD,QAAQ,EAAG;IACnC,OAAOE,aAAU;EAClB,CAAC,MAAM,IAAK,SAAS,KAAKF,QAAQ,EAAG;IACpC,OAAOG,cAAW;EACnB;EACA,OAAOC,mBAAgB;AACxB;AAEO,SAASC,6BAA6BA,CAAEC,QAAQ,EAAEC,IAAI,EAAG;EAC/D,IAAKA,IAAI,KAAK,oBAAoB,EAAG;IACpC,OAAOD,QAAQ;EAChB;EAEA,IAAKA,QAAQ,CAACE,UAAU,EAAG;IAC1B,MAAMC,QAAQ,GAAGA,CAAEC,eAAe,EAAEC,mBAAmB,KAAM;MAC5D,MAAM;QAAEC,IAAI;QAAEC,KAAK;QAAEC;MAAK,CAAC,GAAGJ,eAAe;MAC7C;MACA;MACA,IAAKE,IAAI,EAAG,OAAOA,IAAI,KAAKD,mBAAmB,CAACC,IAAI;MACpD;MACA;MACA,IAAK,CAAEE,IAAI,EAAG,OAAO,KAAK;MAC1B,MAAM;QAAEC,eAAe;QAAEC;MAAgB,CAAC,GACzC,IAAAC,YAAM,EAAEC,eAAc,CAAC;MACxB,MAAMC,MAAM,GAAGH,eAAe,CAC7B,UAAU,EACV,kBAAkB,EACjB,GAAGH,KAAK,IAAIE,eAAe,CAAC,CAAC,EAAEK,UAAY,KAAKN,IAAM,EACxD,CAAC;MAED,IAAKK,MAAM,EAAEL,IAAI,EAAG;QACnB,OAAOK,MAAM,CAACL,IAAI,KAAKH,mBAAmB,CAACG,IAAI;MAChD;MACA,OAAOK,MAAM,EAAEP,IAAI,KAAKD,mBAAmB,CAACC,IAAI;IACjD,CAAC;IAED,MAAMJ,UAAU,GAAGF,QAAQ,CAACE,UAAU,CAACa,GAAG,CAAIC,SAAS,IAAM;MAC5D,OAAO;QACN,GAAGA,SAAS;QACZ,IAAK,CAAEA,SAAS,CAACb,QAAQ,IAAI;UAAEA;QAAS,CAAC,CAAE;QAC3C,IAAK,OAAOa,SAAS,CAACC,IAAI,KAAK,QAAQ,IAAI;UAC1CA,IAAI,EAAExB,mBAAmB,CAAEuB,SAAS,CAACC,IAAK;QAC3C,CAAC;MACF,CAAC;IACF,CAAE,CAAC;IAEH,OAAO;MACN,GAAGjB,QAAQ;MACXE;IACD,CAAC;EACF;EACA,OAAOF,QAAQ;AAChB"}
|
|
@@ -99,10 +99,11 @@ export default function ReusableBlockEdit({
|
|
|
99
99
|
return createElement(RecursionProvider, {
|
|
100
100
|
uniqueId: ref
|
|
101
101
|
}, createElement(InspectorControls, null, createElement(PanelBody, null, createElement(TextControl, {
|
|
102
|
-
__nextHasNoMarginBottom: true,
|
|
103
102
|
label: __('Name'),
|
|
104
103
|
value: title,
|
|
105
|
-
onChange: setTitle
|
|
104
|
+
onChange: setTitle,
|
|
105
|
+
__nextHasNoMarginBottom: true,
|
|
106
|
+
__next40pxDefaultSize: true
|
|
106
107
|
}))), createElement("div", {
|
|
107
108
|
...innerBlocksProps
|
|
108
109
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useEntityBlockEditor","useEntityProp","useEntityRecord","Placeholder","Spinner","TextControl","PanelBody","__","useInnerBlocksProps","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","InnerBlocks","InspectorControls","useBlockProps","Warning","privateApis","blockEditorPrivateApis","useRef","useMemo","unlock","useLayoutClasses","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","block","includes","attributes","align","layout","ReusableBlockEdit","name","ref","__unstableParentLayout","hasAlreadyRendered","record","hasResolved","isMissing","onInput","onChange","id","title","setTitle","layoutClasses","blockProps","className","innerBlocksProps","value","renderAppender","ButtonBlockAppender","createElement","uniqueId","__nextHasNoMarginBottom","
|
|
1
|
+
{"version":3,"names":["classnames","useEntityBlockEditor","useEntityProp","useEntityRecord","Placeholder","Spinner","TextControl","PanelBody","__","useInnerBlocksProps","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","InnerBlocks","InspectorControls","useBlockProps","Warning","privateApis","blockEditorPrivateApis","useRef","useMemo","unlock","useLayoutClasses","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","block","includes","attributes","align","layout","ReusableBlockEdit","name","ref","__unstableParentLayout","hasAlreadyRendered","record","hasResolved","isMissing","onInput","onChange","id","title","setTitle","layoutClasses","blockProps","className","innerBlocksProps","value","renderAppender","ButtonBlockAppender","createElement","uniqueId","label","__nextHasNoMarginBottom","__next40pxDefaultSize"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseEntityBlockEditor,\n\tuseEntityProp,\n\tuseEntityRecord,\n} from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tTextControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tInnerBlocks,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useRef, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nconst useInferredLayout = ( blocks, parentLayout ) => {\n\tconst initialInferredAlignmentRef = useRef();\n\n\treturn useMemo( () => {\n\t\t// Exit early if the pattern's blocks haven't loaded yet.\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet alignment = initialInferredAlignmentRef.current;\n\n\t\t// Only track the initial alignment so that temporarily removed\n\t\t// alignments can be reapplied.\n\t\tif ( alignment === undefined ) {\n\t\t\tconst isConstrained = parentLayout?.type === 'constrained';\n\t\t\tconst hasFullAlignment = blocks.some( ( block ) =>\n\t\t\t\tfullAlignments.includes( block.attributes.align )\n\t\t\t);\n\n\t\t\talignment = isConstrained && hasFullAlignment ? 'full' : null;\n\t\t\tinitialInferredAlignmentRef.current = alignment;\n\t\t}\n\n\t\tconst layout = alignment ? parentLayout : undefined;\n\n\t\treturn { alignment, layout };\n\t}, [ blocks, parentLayout ] );\n};\n\nexport default function ReusableBlockEdit( {\n\tname,\n\tattributes: { ref },\n\t__unstableParentLayout: parentLayout,\n} ) {\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\tconst { record, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst isMissing = hasResolved && ! record;\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_block',\n\t\t{ id: ref }\n\t);\n\n\tconst [ title, setTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_block',\n\t\t'title',\n\t\tref\n\t);\n\n\tconst { alignment, layout } = useInferredLayout( blocks, parentLayout );\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\n\t\t\t'block-library-block__reusable-block-container',\n\t\t\tlayout && layoutClasses,\n\t\t\t{ [ `align${ alignment }` ]: alignment }\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tvalue: blocks,\n\t\tlayout,\n\t\tonInput,\n\t\tonChange,\n\t\trenderAppender: blocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</RecursionProvider>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -16,15 +16,64 @@ import { getUpdatedLinkAttributes } from './get-updated-link-attributes';
|
|
|
16
16
|
import { __ } from '@wordpress/i18n';
|
|
17
17
|
import { useEffect, useState, useRef, useMemo } from '@wordpress/element';
|
|
18
18
|
import { Button, ButtonGroup, PanelBody, TextControl, ToolbarButton, Popover } from '@wordpress/components';
|
|
19
|
-
import { AlignmentControl, BlockControls, InspectorControls, RichText, useBlockProps, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, __experimentalGetSpacingClassesAndStyles as useSpacingProps, __experimentalLinkControl as LinkControl, __experimentalGetElementClassName } from '@wordpress/block-editor';
|
|
20
|
-
import { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';
|
|
19
|
+
import { AlignmentControl, BlockControls, InspectorControls, RichText, useBlockProps, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, __experimentalGetSpacingClassesAndStyles as useSpacingProps, __experimentalLinkControl as LinkControl, __experimentalGetElementClassName, store as blockEditorStore } from '@wordpress/block-editor';
|
|
20
|
+
import { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';
|
|
21
21
|
import { link, linkOff } from '@wordpress/icons';
|
|
22
|
-
import { createBlock } from '@wordpress/blocks';
|
|
23
|
-
import { useMergeRefs } from '@wordpress/compose';
|
|
22
|
+
import { createBlock, cloneBlock, getDefaultBlockName } from '@wordpress/blocks';
|
|
23
|
+
import { useMergeRefs, useRefEffect } from '@wordpress/compose';
|
|
24
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
24
25
|
const LINK_SETTINGS = [...LinkControl.DEFAULT_LINK_SETTINGS, {
|
|
25
26
|
id: 'nofollow',
|
|
26
27
|
title: __('Mark as nofollow')
|
|
27
28
|
}];
|
|
29
|
+
function useEnter(props) {
|
|
30
|
+
const {
|
|
31
|
+
replaceBlocks,
|
|
32
|
+
selectionChange
|
|
33
|
+
} = useDispatch(blockEditorStore);
|
|
34
|
+
const {
|
|
35
|
+
getBlock,
|
|
36
|
+
getBlockRootClientId,
|
|
37
|
+
getBlockIndex
|
|
38
|
+
} = useSelect(blockEditorStore);
|
|
39
|
+
const propsRef = useRef(props);
|
|
40
|
+
propsRef.current = props;
|
|
41
|
+
return useRefEffect(element => {
|
|
42
|
+
function onKeyDown(event) {
|
|
43
|
+
if (event.defaultPrevented || event.keyCode !== ENTER) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const {
|
|
47
|
+
content,
|
|
48
|
+
clientId
|
|
49
|
+
} = propsRef.current;
|
|
50
|
+
if (content.length) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
event.preventDefault();
|
|
54
|
+
const topParentListBlock = getBlock(getBlockRootClientId(clientId));
|
|
55
|
+
const blockIndex = getBlockIndex(clientId);
|
|
56
|
+
const head = cloneBlock({
|
|
57
|
+
...topParentListBlock,
|
|
58
|
+
innerBlocks: topParentListBlock.innerBlocks.slice(0, blockIndex)
|
|
59
|
+
});
|
|
60
|
+
const middle = createBlock(getDefaultBlockName());
|
|
61
|
+
const after = topParentListBlock.innerBlocks.slice(blockIndex + 1);
|
|
62
|
+
const tail = after.length ? [cloneBlock({
|
|
63
|
+
...topParentListBlock,
|
|
64
|
+
innerBlocks: after
|
|
65
|
+
})] : [];
|
|
66
|
+
replaceBlocks(topParentListBlock.clientId, [head, middle, ...tail], 1);
|
|
67
|
+
// We manually change the selection here because we are replacing
|
|
68
|
+
// a different block than the selected one.
|
|
69
|
+
selectionChange(middle.clientId);
|
|
70
|
+
}
|
|
71
|
+
element.addEventListener('keydown', onKeyDown);
|
|
72
|
+
return () => {
|
|
73
|
+
element.removeEventListener('keydown', onKeyDown);
|
|
74
|
+
};
|
|
75
|
+
}, []);
|
|
76
|
+
}
|
|
28
77
|
function WidthPanel({
|
|
29
78
|
selectedWidth,
|
|
30
79
|
setAttributes
|
|
@@ -58,7 +107,8 @@ function ButtonEdit(props) {
|
|
|
58
107
|
className,
|
|
59
108
|
isSelected,
|
|
60
109
|
onReplace,
|
|
61
|
-
mergeBlocks
|
|
110
|
+
mergeBlocks,
|
|
111
|
+
clientId
|
|
62
112
|
} = props;
|
|
63
113
|
const {
|
|
64
114
|
tagName,
|
|
@@ -129,6 +179,11 @@ function ButtonEdit(props) {
|
|
|
129
179
|
opensInNewTab,
|
|
130
180
|
nofollow
|
|
131
181
|
}), [url, opensInNewTab, nofollow]);
|
|
182
|
+
const useEnterRef = useEnter({
|
|
183
|
+
content: text,
|
|
184
|
+
clientId
|
|
185
|
+
});
|
|
186
|
+
const mergedRef = useMergeRefs([useEnterRef, richTextRef]);
|
|
132
187
|
return createElement(Fragment, null, createElement("div", {
|
|
133
188
|
...blockProps,
|
|
134
189
|
className: classnames(blockProps.className, {
|
|
@@ -136,7 +191,7 @@ function ButtonEdit(props) {
|
|
|
136
191
|
[`has-custom-font-size`]: blockProps.style.fontSize
|
|
137
192
|
})
|
|
138
193
|
}, createElement(RichText, {
|
|
139
|
-
ref:
|
|
194
|
+
ref: mergedRef,
|
|
140
195
|
"aria-label": __('Button text'),
|
|
141
196
|
placeholder: placeholder || __('Add text…'),
|
|
142
197
|
value: text,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","NEW_TAB_TARGET","NOFOLLOW_REL","getUpdatedLinkAttributes","__","useEffect","useState","useRef","useMemo","Button","ButtonGroup","PanelBody","TextControl","ToolbarButton","Popover","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalLinkControl","LinkControl","__experimentalGetElementClassName","displayShortcut","isKeyboardEvent","link","linkOff","createBlock","useMergeRefs","LINK_SETTINGS","DEFAULT_LINK_SETTINGS","id","title","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","createElement","map","widthValue","key","size","variant","onClick","ButtonEdit","props","attributes","className","isSelected","onReplace","mergeBlocks","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","TagName","setButtonText","newText","replace","onKeyDown","event","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","nofollow","includes","isLinkTag","preventDefault","linkValue","Fragment","fontSize","value","onChange","withoutInteractiveFormatting","border","radius","onSplit","onMerge","identifier","group","nextAlign","name","icon","shortcut","isActive","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","onRemove","forceIsEditingLink","settings","__nextHasNoMarginBottom","label","newRel"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction setButtonText( newText ) {\n\t\t// Remove anchor tags from button text content.\n\t\tsetAttributes( { text: newText.replace( /<\\/?a[^>]*>/g, '' ) } );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ richTextRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) => setButtonText( value ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ ! isURLSet && isLinkTag && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag && isSelected && ( isEditingURL || isURLSet ) && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t} }\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\tshift\n\t\t\t\t>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","NEW_TAB_TARGET","NOFOLLOW_REL","getUpdatedLinkAttributes","__","useEffect","useState","useRef","useMemo","Button","ButtonGroup","PanelBody","TextControl","ToolbarButton","Popover","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalLinkControl","LinkControl","__experimentalGetElementClassName","store","blockEditorStore","displayShortcut","isKeyboardEvent","ENTER","link","linkOff","createBlock","cloneBlock","getDefaultBlockName","useMergeRefs","useRefEffect","useSelect","useDispatch","LINK_SETTINGS","DEFAULT_LINK_SETTINGS","id","title","useEnter","props","replaceBlocks","selectionChange","getBlock","getBlockRootClientId","getBlockIndex","propsRef","current","element","onKeyDown","event","defaultPrevented","keyCode","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","innerBlocks","slice","middle","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","createElement","map","widthValue","key","size","variant","onClick","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","TagName","setButtonText","newText","replace","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","nofollow","includes","isLinkTag","linkValue","useEnterRef","mergedRef","Fragment","fontSize","value","onChange","withoutInteractiveFormatting","border","radius","onSplit","onMerge","identifier","group","nextAlign","name","icon","shortcut","isActive","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","onRemove","forceIsEditingLink","settings","__nextHasNoMarginBottom","label","newRel"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction setButtonText( newText ) {\n\t\t// Remove anchor tags from button text content.\n\t\tsetAttributes( { text: newText.replace( /<\\/?a[^>]*>/g, '' ) } );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) => setButtonText( value ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ ! isURLSet && isLinkTag && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag && isSelected && ( isEditingURL || isURLSet ) && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t} }\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\tshift\n\t\t\t\t>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { createBlock } from '@wordpress/blocks';
|
|
5
|
+
import { create, toHTMLString } from '@wordpress/rich-text';
|
|
5
6
|
const transforms = {
|
|
6
7
|
from: [{
|
|
7
8
|
type: 'enter',
|
|
@@ -9,12 +10,26 @@ const transforms = {
|
|
|
9
10
|
transform: () => createBlock('core/code')
|
|
10
11
|
}, {
|
|
11
12
|
type: 'block',
|
|
12
|
-
blocks: ['core/
|
|
13
|
+
blocks: ['core/paragraph'],
|
|
13
14
|
transform: ({
|
|
14
15
|
content
|
|
16
|
+
}) => createBlock('core/code', {
|
|
17
|
+
content
|
|
18
|
+
})
|
|
19
|
+
}, {
|
|
20
|
+
type: 'block',
|
|
21
|
+
blocks: ['core/html'],
|
|
22
|
+
transform: ({
|
|
23
|
+
content: text
|
|
15
24
|
}) => {
|
|
16
25
|
return createBlock('core/code', {
|
|
17
|
-
|
|
26
|
+
// The HTML is plain text (with plain line breaks), so
|
|
27
|
+
// convert it to rich text.
|
|
28
|
+
content: toHTMLString({
|
|
29
|
+
value: create({
|
|
30
|
+
text
|
|
31
|
+
})
|
|
32
|
+
})
|
|
18
33
|
});
|
|
19
34
|
}
|
|
20
35
|
}, {
|
|
@@ -37,11 +52,9 @@ const transforms = {
|
|
|
37
52
|
blocks: ['core/paragraph'],
|
|
38
53
|
transform: ({
|
|
39
54
|
content
|
|
40
|
-
}) => {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
});
|
|
44
|
-
}
|
|
55
|
+
}) => createBlock('core/paragraph', {
|
|
56
|
+
content
|
|
57
|
+
})
|
|
45
58
|
}]
|
|
46
59
|
};
|
|
47
60
|
export default transforms;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBlock","transforms","from","type","regExp","transform","blocks","content","isMatch","node","nodeName","children","length","firstChild","schema","pre","code","to"
|
|
1
|
+
{"version":3,"names":["createBlock","create","toHTMLString","transforms","from","type","regExp","transform","blocks","content","text","value","isMatch","node","nodeName","children","length","firstChild","schema","pre","code","to"],"sources":["@wordpress/block-library/src/code/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { create, toHTMLString } from '@wordpress/rich-text';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'enter',\n\t\t\tregExp: /^```$/,\n\t\t\ttransform: () => createBlock( 'core/code' ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( { content } ) =>\n\t\t\t\tcreateBlock( 'core/code', { content } ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/html' ],\n\t\t\ttransform: ( { content: text } ) => {\n\t\t\t\treturn createBlock( 'core/code', {\n\t\t\t\t\t// The HTML is plain text (with plain line breaks), so\n\t\t\t\t\t// convert it to rich text.\n\t\t\t\t\tcontent: toHTMLString( { value: create( { text } ) } ),\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'PRE' &&\n\t\t\t\tnode.children.length === 1 &&\n\t\t\t\tnode.firstChild.nodeName === 'CODE',\n\t\t\tschema: {\n\t\t\t\tpre: {\n\t\t\t\t\tchildren: {\n\t\t\t\t\t\tcode: {\n\t\t\t\t\t\t\tchildren: {\n\t\t\t\t\t\t\t\t'#text': {},\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\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( { content } ) =>\n\t\t\t\tcreateBlock( 'core/paragraph', { content } ),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,MAAM,EAAEC,YAAY,QAAQ,sBAAsB;AAE3D,MAAMC,UAAU,GAAG;EAClBC,IAAI,EAAE,CACL;IACCC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE,OAAO;IACfC,SAAS,EAAEA,CAAA,KAAMP,WAAW,CAAE,WAAY;EAC3C,CAAC,EACD;IACCK,IAAI,EAAE,OAAO;IACbG,MAAM,EAAE,CAAE,gBAAgB,CAAE;IAC5BD,SAAS,EAAEA,CAAE;MAAEE;IAAQ,CAAC,KACvBT,WAAW,CAAE,WAAW,EAAE;MAAES;IAAQ,CAAE;EACxC,CAAC,EACD;IACCJ,IAAI,EAAE,OAAO;IACbG,MAAM,EAAE,CAAE,WAAW,CAAE;IACvBD,SAAS,EAAEA,CAAE;MAAEE,OAAO,EAAEC;IAAK,CAAC,KAAM;MACnC,OAAOV,WAAW,CAAE,WAAW,EAAE;QAChC;QACA;QACAS,OAAO,EAAEP,YAAY,CAAE;UAAES,KAAK,EAAEV,MAAM,CAAE;YAAES;UAAK,CAAE;QAAE,CAAE;MACtD,CAAE,CAAC;IACJ;EACD,CAAC,EACD;IACCL,IAAI,EAAE,KAAK;IACXO,OAAO,EAAIC,IAAI,IACdA,IAAI,CAACC,QAAQ,KAAK,KAAK,IACvBD,IAAI,CAACE,QAAQ,CAACC,MAAM,KAAK,CAAC,IAC1BH,IAAI,CAACI,UAAU,CAACH,QAAQ,KAAK,MAAM;IACpCI,MAAM,EAAE;MACPC,GAAG,EAAE;QACJJ,QAAQ,EAAE;UACTK,IAAI,EAAE;YACLL,QAAQ,EAAE;cACT,OAAO,EAAE,CAAC;YACX;UACD;QACD;MACD;IACD;EACD,CAAC,CACD;EACDM,EAAE,EAAE,CACH;IACChB,IAAI,EAAE,OAAO;IACbG,MAAM,EAAE,CAAE,gBAAgB,CAAE;IAC5BD,SAAS,EAAEA,CAAE;MAAEE;IAAQ,CAAC,KACvBT,WAAW,CAAE,gBAAgB,EAAE;MAAES;IAAQ,CAAE;EAC7C,CAAC;AAEH,CAAC;AAED,eAAeN,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SelectControl","__","InspectorControls","CommentsInspectorControls","attributes","tagName","setAttributes","htmlElementMessages","section","aside","createElement","group","__nextHasNoMarginBottom","label","options","value","onChange","help"],"sources":["@wordpress/block-library/src/comments/edit/comments-inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\n\nexport default function CommentsInspectorControls( {\n\tattributes: { tagName },\n\tsetAttributes,\n} ) {\n\tconst htmlElementMessages = {\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t};\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</InspectorControls>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D,eAAe,SAASC,yBAAyBA,CAAE;EAClDC,UAAU,EAAE;IAAEC;EAAQ,CAAC;EACvBC;AACD,CAAC,EAAG;EACH,MAAMC,mBAAmB,GAAG;IAC3BC,OAAO,EAAEP,EAAE,CACV,kIACD,CAAC;IACDQ,KAAK,EAAER,EAAE,CACR,uIACD;EACD,CAAC;EACD,OACCS,aAAA,CAACR,iBAAiB,QACjBQ,aAAA,CAACR,iBAAiB;IAACS,KAAK,EAAC;EAAU,GAClCD,aAAA,CAACV,aAAa;IACbY,uBAAuB;IACvBC,KAAK,
|
|
1
|
+
{"version":3,"names":["SelectControl","__","InspectorControls","CommentsInspectorControls","attributes","tagName","setAttributes","htmlElementMessages","section","aside","createElement","group","__nextHasNoMarginBottom","__next40pxDefaultSize","label","options","value","onChange","help"],"sources":["@wordpress/block-library/src/comments/edit/comments-inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\n\nexport default function CommentsInspectorControls( {\n\tattributes: { tagName },\n\tsetAttributes,\n} ) {\n\tconst htmlElementMessages = {\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t};\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</InspectorControls>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D,eAAe,SAASC,yBAAyBA,CAAE;EAClDC,UAAU,EAAE;IAAEC;EAAQ,CAAC;EACvBC;AACD,CAAC,EAAG;EACH,MAAMC,mBAAmB,GAAG;IAC3BC,OAAO,EAAEP,EAAE,CACV,kIACD,CAAC;IACDQ,KAAK,EAAER,EAAE,CACR,uIACD;EACD,CAAC;EACD,OACCS,aAAA,CAACR,iBAAiB,QACjBQ,aAAA,CAACR,iBAAiB;IAACS,KAAK,EAAC;EAAU,GAClCD,aAAA,CAACV,aAAa;IACbY,uBAAuB;IACvBC,qBAAqB;IACrBC,KAAK,EAAGb,EAAE,CAAE,cAAe,CAAG;IAC9Bc,OAAO,EAAG,CACT;MAAED,KAAK,EAAEb,EAAE,CAAE,iBAAkB,CAAC;MAAEe,KAAK,EAAE;IAAM,CAAC,EAChD;MAAEF,KAAK,EAAE,WAAW;MAAEE,KAAK,EAAE;IAAU,CAAC,EACxC;MAAEF,KAAK,EAAE,SAAS;MAAEE,KAAK,EAAE;IAAQ,CAAC,CAClC;IACHA,KAAK,EAAGX,OAAS;IACjBY,QAAQ,EAAKD,KAAK,IACjBV,aAAa,CAAE;MAAED,OAAO,EAAEW;IAAM,CAAE,CAClC;IACDE,IAAI,EAAGX,mBAAmB,CAAEF,OAAO;EAAI,CACvC,CACiB,CACD,CAAC;AAEtB"}
|
|
@@ -224,6 +224,7 @@ export default function CoverInspectorControls({
|
|
|
224
224
|
group: "advanced"
|
|
225
225
|
}, createElement(SelectControl, {
|
|
226
226
|
__nextHasNoMarginBottom: true,
|
|
227
|
+
__next40pxDefaultSize: true,
|
|
227
228
|
label: __('HTML element'),
|
|
228
229
|
options: [{
|
|
229
230
|
label: __('Default (<div>)'),
|