@wordpress/block-library 8.21.0 → 8.22.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/avatar/index.js +5 -1
- package/build/avatar/index.js.map +1 -1
- package/build/block/edit-title.native.js +11 -3
- package/build/block/edit-title.native.js.map +1 -1
- package/build/block/edit.js +3 -3
- package/build/block/edit.js.map +1 -1
- package/build/column/edit.js +2 -1
- package/build/column/edit.js.map +1 -1
- package/build/column/edit.native.js +2 -1
- package/build/column/edit.native.js.map +1 -1
- package/build/columns/edit.native.js +2 -1
- package/build/columns/edit.native.js.map +1 -1
- package/build/cover/controls.native.js +2 -1
- package/build/cover/controls.native.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +2 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/file/view.js +1 -1
- package/build/file/view.js.map +1 -1
- package/build/form/edit.js +2 -2
- package/build/form/edit.js.map +1 -1
- package/build/form/index.js +25 -5
- package/build/form/index.js.map +1 -1
- package/build/form/variations.js +1 -1
- package/build/form/variations.js.map +1 -1
- package/build/form-input/index.js +2 -2
- package/build/form-input/index.js.map +1 -1
- package/build/form-input/variations.js +7 -7
- package/build/form-input/variations.js.map +1 -1
- package/build/form-submission-notification/index.js +1 -1
- package/build/form-submission-notification/index.js.map +1 -1
- package/build/form-submission-notification/variations.js +4 -4
- package/build/form-submission-notification/variations.js.map +1 -1
- package/build/form-submit-button/index.js +2 -2
- package/build/form-submit-button/index.js.map +1 -1
- package/build/group/edit.js +2 -11
- package/build/group/edit.js.map +1 -1
- package/build/html/preview.js +2 -4
- package/build/html/preview.js.map +1 -1
- package/build/image/image.js +11 -5
- package/build/image/image.js.map +1 -1
- package/build/image/view.js +10 -20
- package/build/image/view.js.map +1 -1
- package/build/missing/edit.native.js +46 -8
- package/build/missing/edit.native.js.map +1 -1
- package/build/paragraph/edit.js +1 -1
- package/build/paragraph/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +2 -2
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-terms/edit.js +2 -2
- package/build/post-terms/edit.js.map +1 -1
- package/build/query/edit/enhanced-pagination-modal.js +27 -13
- package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js +15 -12
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build/query/utils.js +29 -8
- package/build/query/utils.js.map +1 -1
- package/build/query/view.js +4 -2
- package/build/query/view.js.map +1 -1
- package/build/search/edit.js +1 -2
- package/build/search/edit.js.map +1 -1
- package/build/social-link/edit.native.js +7 -19
- package/build/social-link/edit.native.js.map +1 -1
- package/build/spacer/controls.js +3 -3
- package/build/spacer/controls.js.map +1 -1
- package/build/spacer/controls.native.js +2 -1
- package/build/spacer/controls.native.js.map +1 -1
- package/build/spacer/edit.js +1 -1
- package/build/spacer/edit.js.map +1 -1
- package/build/spacer/edit.native.js +5 -1
- package/build/spacer/edit.native.js.map +1 -1
- package/build/tag-cloud/edit.js +2 -1
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/inner-blocks.js +2 -2
- package/build/template-part/edit/inner-blocks.js.map +1 -1
- package/build/term-description/index.js +0 -1
- package/build/term-description/index.js.map +1 -1
- package/build-module/avatar/index.js +5 -1
- package/build-module/avatar/index.js.map +1 -1
- package/build-module/block/edit-title.native.js +12 -4
- package/build-module/block/edit-title.native.js.map +1 -1
- package/build-module/block/edit.js +3 -3
- package/build-module/block/edit.js.map +1 -1
- package/build-module/column/edit.js +3 -2
- package/build-module/column/edit.js.map +1 -1
- package/build-module/column/edit.native.js +3 -2
- package/build-module/column/edit.native.js.map +1 -1
- package/build-module/columns/edit.native.js +3 -2
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/cover/controls.native.js +3 -2
- package/build-module/cover/controls.native.js.map +1 -1
- package/build-module/cover/edit/index.js +3 -2
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +3 -2
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/file/view.js +2 -2
- package/build-module/file/view.js.map +1 -1
- package/build-module/form/edit.js +2 -2
- package/build-module/form/edit.js.map +1 -1
- package/build-module/form/index.js +29 -5
- package/build-module/form/index.js.map +1 -1
- package/build-module/form/variations.js +1 -1
- package/build-module/form/variations.js.map +1 -1
- package/build-module/form-input/index.js +2 -2
- package/build-module/form-input/index.js.map +1 -1
- package/build-module/form-input/variations.js +7 -7
- package/build-module/form-input/variations.js.map +1 -1
- package/build-module/form-submission-notification/index.js +1 -1
- package/build-module/form-submission-notification/index.js.map +1 -1
- package/build-module/form-submission-notification/variations.js +4 -4
- package/build-module/form-submission-notification/variations.js.map +1 -1
- package/build-module/form-submit-button/index.js +2 -2
- package/build-module/form-submit-button/index.js.map +1 -1
- package/build-module/group/edit.js +3 -12
- package/build-module/group/edit.js.map +1 -1
- package/build-module/html/preview.js +2 -4
- package/build-module/html/preview.js.map +1 -1
- package/build-module/image/image.js +12 -6
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/view.js +10 -20
- package/build-module/image/view.js.map +1 -1
- package/build-module/missing/edit.native.js +47 -9
- package/build-module/missing/edit.native.js.map +1 -1
- package/build-module/paragraph/edit.js +2 -2
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +3 -3
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-terms/edit.js +2 -2
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js +28 -14
- package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +17 -14
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build-module/query/utils.js +27 -5
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query/view.js +4 -2
- package/build-module/query/view.js.map +1 -1
- package/build-module/search/edit.js +2 -3
- package/build-module/search/edit.js.map +1 -1
- package/build-module/social-link/edit.native.js +8 -20
- package/build-module/social-link/edit.native.js.map +1 -1
- package/build-module/spacer/controls.js +4 -4
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/spacer/controls.native.js +3 -2
- package/build-module/spacer/controls.native.js.map +1 -1
- package/build-module/spacer/edit.js +2 -2
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/spacer/edit.native.js +6 -2
- package/build-module/spacer/edit.native.js.map +1 -1
- package/build-module/tag-cloud/edit.js +3 -2
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/inner-blocks.js +3 -3
- package/build-module/template-part/edit/inner-blocks.js.map +1 -1
- package/build-module/term-description/index.js +0 -1
- package/build-module/term-description/index.js.map +1 -1
- package/build-style/file/style-rtl.css +0 -5
- package/build-style/file/style.css +0 -5
- package/build-style/navigation/style-rtl.css +5 -0
- package/build-style/navigation/style.css +5 -0
- package/build-style/style-rtl.css +5 -5
- package/build-style/style.css +5 -5
- package/package.json +32 -32
- package/src/avatar/block.json +5 -1
- package/src/block/edit-title.native.js +16 -13
- package/src/block/edit.js +1 -1
- package/src/calendar/index.php +2 -6
- package/src/column/edit.js +3 -8
- package/src/column/edit.native.js +3 -8
- package/src/columns/edit.native.js +3 -8
- package/src/comment-author-avatar/index.php +1 -1
- package/src/cover/controls.native.js +3 -8
- package/src/cover/edit/index.js +3 -2
- package/src/cover/edit/inspector-controls.js +3 -8
- package/src/file/index.php +2 -1
- package/src/file/style.scss +0 -6
- package/src/file/view.js +2 -2
- package/src/form/edit.js +3 -1
- package/src/form/index.js +38 -1
- package/src/form/variations.js +1 -1
- package/src/form-input/block.json +2 -2
- package/src/form-input/variations.js +7 -7
- package/src/form-submission-notification/block.json +1 -1
- package/src/form-submission-notification/variations.js +4 -4
- package/src/form-submit-button/block.json +2 -2
- package/src/freeform/test/__snapshots__/index.native.js.snap +7 -0
- package/src/freeform/test/index.native.js +57 -0
- package/src/group/edit.js +2 -7
- package/src/html/preview.js +9 -4
- package/src/image/image.js +17 -6
- package/src/image/index.php +5 -6
- package/src/image/view.js +13 -19
- package/src/missing/edit.native.js +43 -6
- package/src/navigation/index.php +1 -1
- package/src/navigation/style.scss +6 -1
- package/src/paragraph/edit.js +2 -2
- package/src/post-featured-image/dimension-controls.js +3 -3
- package/src/post-terms/edit.js +2 -2
- package/src/query/edit/enhanced-pagination-modal.js +37 -21
- package/src/query/edit/inspector-controls/enhanced-pagination-control.js +18 -22
- package/src/query/index.php +97 -8
- package/src/query/utils.js +29 -8
- package/src/query/view.js +11 -2
- package/src/query-pagination-next/index.php +1 -1
- package/src/query-pagination-previous/index.php +1 -1
- package/src/search/edit.js +5 -3
- package/src/social-link/edit.native.js +12 -26
- package/src/social-link/editor.native.scss +0 -9
- package/src/social-link/index.php +2 -2
- package/src/spacer/controls.js +9 -12
- package/src/spacer/controls.native.js +3 -8
- package/src/spacer/edit.js +2 -2
- package/src/spacer/edit.native.js +6 -5
- package/src/tag-cloud/edit.js +3 -7
- package/src/template-part/edit/inner-blocks.js +3 -3
- package/src/term-description/block.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Text","TouchableWithoutFeedback","TouchableOpacity","Icon","compose","withPreferredColorScheme","coreBlocks","normalizeIconObject","Component","__","_x","sprintf","help","plugins","withSelect","withDispatch","applyFilters","UnsupportedBlockDetails","store","blockEditorStore","styles","UBE_INCOMPATIBLE_BLOCKS","I18N_BLOCK_SCHEMA_TITLE","UnsupportedBlockEdit","constructor","props","state","showHelp","toggleSheet","bind","closeSheet","requestFallback","onHelpButtonPressed","setState","componentWillUnmount","timeout","clearTimeout","getTitle","originalName","attributes","blockType","title","metadata","textdomain","renderHelpIcon","infoIconStyle","getStylesFromColorScheme","infoIcon","infoIconDark","createElement","onPress","style","helpIconContainer","accessibilityLabel","accessibilityRole","accessibilityHint","className","label","icon","fill","color","isSelected","selectBlock","canEnableUnsupportedBlockEditor","isUnsupportedBlockEditorSupported","sendButtonPressMessage","sendFallbackMessage","renderSheet","blockTitle","blockName","clientId","titleFormat","description","showSheet","onCloseSheet","customBlockTitle","render","preferredColorScheme","titleStyle","unsupportedBlockMessage","unsupportedBlockMessageDark","subTitleStyle","unsupportedBlockSubtitle","unsupportedBlockSubtitleDark","subtitle","settings","iconStyle","unsupportedBlockIcon","unsupportedBlockIconDark","iconClassName","disabled","unsupportedBlock","unsupportedBlockDark","unsupportedBlockHeader","src","select","capabilities","getSettings","unsupportedBlockEditor","isEditableInUnsupportedBlockEditor","includes","dispatch","ownProps"],"sources":["@wordpress/block-library/src/missing/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tText,\n\tTouchableWithoutFeedback,\n\tTouchableOpacity,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { coreBlocks } from '@wordpress/block-library';\nimport { normalizeIconObject } from '@wordpress/blocks';\nimport { Component } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { help, plugins } from '@wordpress/icons';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tUnsupportedBlockDetails,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n// Blocks that can't be edited through the Unsupported block editor identified by their name.\nconst UBE_INCOMPATIBLE_BLOCKS = [ 'core/block' ];\nconst I18N_BLOCK_SCHEMA_TITLE = 'block title';\n\nexport class UnsupportedBlockEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = { showHelp: false };\n\t\tthis.toggleSheet = this.toggleSheet.bind( this );\n\t\tthis.closeSheet = this.closeSheet.bind( this );\n\t\tthis.requestFallback = this.requestFallback.bind( this );\n\t\tthis.onHelpButtonPressed = this.onHelpButtonPressed.bind( this );\n\t}\n\n\ttoggleSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: ! this.state.showHelp,\n\t\t} );\n\t}\n\n\tcloseSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: false,\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.timeout ) {\n\t\t\tclearTimeout( this.timeout );\n\t\t}\n\t}\n\n\tgetTitle() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst blockType = coreBlocks[ originalName ];\n\t\tconst title = blockType?.metadata.title;\n\t\tconst textdomain = blockType?.metadata.textdomain;\n\n\t\treturn title && textdomain\n\t\t\t? // eslint-disable-next-line @wordpress/i18n-no-variables, @wordpress/i18n-text-domain\n\t\t\t _x( title, I18N_BLOCK_SCHEMA_TITLE, textdomain )\n\t\t\t: originalName;\n\t}\n\n\trenderHelpIcon() {\n\t\tconst infoIconStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.infoIcon,\n\t\t\tstyles.infoIconDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableOpacity\n\t\t\t\tonPress={ this.onHelpButtonPressed }\n\t\t\t\tstyle={ styles.helpIconContainer }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"unsupported-icon-help\"\n\t\t\t\t\tlabel={ __( 'Help icon' ) }\n\t\t\t\t\ticon={ help }\n\t\t\t\t\tfill={ infoIconStyle.color }\n\t\t\t\t/>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\tonHelpButtonPressed() {\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.selectBlock();\n\t\t}\n\t\tthis.toggleSheet();\n\t}\n\n\trequestFallback() {\n\t\tif (\n\t\t\tthis.props.canEnableUnsupportedBlockEditor &&\n\t\t\tthis.props.isUnsupportedBlockEditorSupported === false\n\t\t) {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendButtonPressMessage: true } );\n\t\t} else {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendFallbackMessage: true } );\n\t\t}\n\t}\n\n\trenderSheet( blockTitle, blockName ) {\n\t\tconst { clientId } = this.props;\n\t\tconst { showHelp } = this.state;\n\t\t/* translators: Missing block alert title. %s: The localized block name */\n\t\tconst titleFormat = __( \"'%s' is not fully-supported\" );\n\t\tconst title = sprintf( titleFormat, blockTitle );\n\t\tconst description = applyFilters(\n\t\t\t'native.missing_block_detail',\n\t\t\t__( 'We are working hard to add more blocks with each release.' ),\n\t\t\tblockName\n\t\t);\n\n\t\treturn (\n\t\t\t<UnsupportedBlockDetails\n\t\t\t\tclientId={ clientId }\n\t\t\t\tshowSheet={ showHelp }\n\t\t\t\tonCloseSheet={ this.closeSheet }\n\t\t\t\tcustomBlockTitle={ blockTitle }\n\t\t\t\ttitle={ title }\n\t\t\t\tdescription={ description }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst { getStylesFromColorScheme, preferredColorScheme } = this.props;\n\t\tconst blockType = coreBlocks[ originalName ];\n\n\t\tconst title = this.getTitle();\n\t\tconst titleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockMessage,\n\t\t\tstyles.unsupportedBlockMessageDark\n\t\t);\n\n\t\tconst subTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockSubtitle,\n\t\t\tstyles.unsupportedBlockSubtitleDark\n\t\t);\n\n\t\tconst subtitle = (\n\t\t\t<Text style={ subTitleStyle }>{ __( 'Unsupported' ) }</Text>\n\t\t);\n\n\t\tconst icon = blockType\n\t\t\t? normalizeIconObject( blockType.settings.icon )\n\t\t\t: plugins;\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockIcon,\n\t\t\tstyles.unsupportedBlockIconDark\n\t\t);\n\t\tconst iconClassName = 'unsupported-icon' + '-' + preferredColorScheme;\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ this.toggleSheet }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\t\t\tstyles.unsupportedBlock,\n\t\t\t\t\t\tstyles.unsupportedBlockDark\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderHelpIcon() }\n\t\t\t\t\t<View style={ styles.unsupportedBlockHeader }>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName={ iconClassName }\n\t\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t\t\tfill={ iconStyle.color }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Text style={ titleStyle }>{ title }</Text>\n\t\t\t\t\t</View>\n\t\t\t\t\t{ subtitle }\n\t\t\t\t\t{ this.renderSheet( title, originalName ) }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { attributes } ) => {\n\t\tconst { capabilities } = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tisUnsupportedBlockEditorSupported:\n\t\t\t\tcapabilities?.unsupportedBlockEditor === true,\n\t\t\tcanEnableUnsupportedBlockEditor:\n\t\t\t\tcapabilities?.canEnableUnsupportedBlockEditor === true,\n\t\t\tisEditableInUnsupportedBlockEditor:\n\t\t\t\t! UBE_INCOMPATIBLE_BLOCKS.includes( attributes.originalName ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst { selectBlock } = dispatch( blockEditorStore );\n\t\treturn {\n\t\t\tselectBlock() {\n\t\t\t\tselectBlock( ownProps.clientId );\n\t\t\t},\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( UnsupportedBlockEdit );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["View","Text","TouchableWithoutFeedback","TouchableOpacity","Icon","compose","withPreferredColorScheme","coreBlocks","normalizeIconObject","rawHandler","serialize","Component","__","_x","sprintf","help","plugins","withSelect","withDispatch","applyFilters","UnsupportedBlockDetails","store","blockEditorStore","noticesStore","styles","UBE_INCOMPATIBLE_BLOCKS","I18N_BLOCK_SCHEMA_TITLE","EMPTY_ARRAY","UnsupportedBlockEdit","constructor","props","state","showHelp","toggleSheet","bind","closeSheet","requestFallback","onHelpButtonPressed","setState","componentWillUnmount","timeout","clearTimeout","getTitle","originalName","attributes","blockType","title","metadata","textdomain","renderHelpIcon","infoIconStyle","getStylesFromColorScheme","infoIcon","infoIconDark","createElement","onPress","style","helpIconContainer","accessibilityLabel","accessibilityRole","accessibilityHint","className","label","icon","fill","color","isSelected","selectBlock","canEnableUnsupportedBlockEditor","isUnsupportedBlockEditorSupported","sendButtonPressMessage","sendFallbackMessage","renderSheet","blockTitle","blockName","block","clientId","createSuccessNotice","replaceBlocks","titleFormat","description","customActions","successNotice","showSheet","onCloseSheet","customBlockTitle","render","preferredColorScheme","titleStyle","unsupportedBlockMessage","unsupportedBlockMessageDark","subTitleStyle","unsupportedBlockSubtitle","unsupportedBlockSubtitleDark","subtitle","settings","iconStyle","unsupportedBlockIcon","unsupportedBlockIconDark","iconClassName","disabled","unsupportedBlock","unsupportedBlockDark","unsupportedBlockHeader","src","select","getBlock","getSettings","capabilities","unsupportedBlockEditor","isEditableInUnsupportedBlockEditor","includes","dispatch","ownProps","HTML"],"sources":["@wordpress/block-library/src/missing/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tText,\n\tTouchableWithoutFeedback,\n\tTouchableOpacity,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { coreBlocks } from '@wordpress/block-library';\nimport { normalizeIconObject, rawHandler, serialize } from '@wordpress/blocks';\nimport { Component } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { help, plugins } from '@wordpress/icons';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tUnsupportedBlockDetails,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n// Blocks that can't be edited through the Unsupported block editor identified by their name.\nconst UBE_INCOMPATIBLE_BLOCKS = [ 'core/block' ];\nconst I18N_BLOCK_SCHEMA_TITLE = 'block title';\n\nconst EMPTY_ARRAY = [];\n\nexport class UnsupportedBlockEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = { showHelp: false };\n\t\tthis.toggleSheet = this.toggleSheet.bind( this );\n\t\tthis.closeSheet = this.closeSheet.bind( this );\n\t\tthis.requestFallback = this.requestFallback.bind( this );\n\t\tthis.onHelpButtonPressed = this.onHelpButtonPressed.bind( this );\n\t}\n\n\ttoggleSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: ! this.state.showHelp,\n\t\t} );\n\t}\n\n\tcloseSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: false,\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.timeout ) {\n\t\t\tclearTimeout( this.timeout );\n\t\t}\n\t}\n\n\tgetTitle() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst blockType = coreBlocks[ originalName ];\n\t\tconst title = blockType?.metadata.title;\n\t\tconst textdomain = blockType?.metadata.textdomain;\n\n\t\treturn title && textdomain\n\t\t\t? // eslint-disable-next-line @wordpress/i18n-no-variables, @wordpress/i18n-text-domain\n\t\t\t _x( title, I18N_BLOCK_SCHEMA_TITLE, textdomain )\n\t\t\t: originalName;\n\t}\n\n\trenderHelpIcon() {\n\t\tconst infoIconStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.infoIcon,\n\t\t\tstyles.infoIconDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableOpacity\n\t\t\t\tonPress={ this.onHelpButtonPressed }\n\t\t\t\tstyle={ styles.helpIconContainer }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"unsupported-icon-help\"\n\t\t\t\t\tlabel={ __( 'Help icon' ) }\n\t\t\t\t\ticon={ help }\n\t\t\t\t\tfill={ infoIconStyle.color }\n\t\t\t\t/>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\tonHelpButtonPressed() {\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.selectBlock();\n\t\t}\n\t\tthis.toggleSheet();\n\t}\n\n\trequestFallback() {\n\t\tif (\n\t\t\tthis.props.canEnableUnsupportedBlockEditor &&\n\t\t\tthis.props.isUnsupportedBlockEditorSupported === false\n\t\t) {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendButtonPressMessage: true } );\n\t\t} else {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendFallbackMessage: true } );\n\t\t}\n\t}\n\n\trenderSheet( blockTitle, blockName ) {\n\t\tconst { block, clientId, createSuccessNotice, replaceBlocks } =\n\t\t\tthis.props;\n\t\tconst { showHelp } = this.state;\n\n\t\t/* translators: Missing block alert title. %s: The localized block name */\n\t\tconst titleFormat = __( \"'%s' is not fully-supported\" );\n\t\tconst title = sprintf( titleFormat, blockTitle );\n\t\tlet description = applyFilters(\n\t\t\t'native.missing_block_detail',\n\t\t\t__( 'We are working hard to add more blocks with each release.' ),\n\t\t\tblockName\n\t\t);\n\t\tlet customActions = EMPTY_ARRAY;\n\n\t\t// For Classic blocks, we offer the alternative to convert the content to blocks.\n\t\tif ( blockName === 'core/freeform' ) {\n\t\t\tdescription +=\n\t\t\t\t' ' +\n\t\t\t\t__( 'Alternatively, you can convert the content to blocks.' );\n\t\t\t/* translators: displayed right after the classic block is converted to blocks. %s: The localized classic block name */\n\t\t\tconst successNotice = __( \"'%s' block converted to blocks\" );\n\t\t\tcustomActions = [\n\t\t\t\t{\n\t\t\t\t\tlabel: __( 'Convert to blocks' ),\n\t\t\t\t\tonPress: () => {\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf( successNotice, blockTitle )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treplaceBlocks( block );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\treturn (\n\t\t\t<UnsupportedBlockDetails\n\t\t\t\tclientId={ clientId }\n\t\t\t\tshowSheet={ showHelp }\n\t\t\t\tonCloseSheet={ this.closeSheet }\n\t\t\t\tcustomBlockTitle={ blockTitle }\n\t\t\t\ttitle={ title }\n\t\t\t\tdescription={ description }\n\t\t\t\tcustomActions={ customActions }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst { getStylesFromColorScheme, preferredColorScheme } = this.props;\n\t\tconst blockType = coreBlocks[ originalName ];\n\n\t\tconst title = this.getTitle();\n\t\tconst titleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockMessage,\n\t\t\tstyles.unsupportedBlockMessageDark\n\t\t);\n\n\t\tconst subTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockSubtitle,\n\t\t\tstyles.unsupportedBlockSubtitleDark\n\t\t);\n\n\t\tconst subtitle = (\n\t\t\t<Text style={ subTitleStyle }>{ __( 'Unsupported' ) }</Text>\n\t\t);\n\n\t\tconst icon = blockType\n\t\t\t? normalizeIconObject( blockType.settings.icon )\n\t\t\t: plugins;\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockIcon,\n\t\t\tstyles.unsupportedBlockIconDark\n\t\t);\n\t\tconst iconClassName = 'unsupported-icon' + '-' + preferredColorScheme;\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ this.toggleSheet }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\t\t\tstyles.unsupportedBlock,\n\t\t\t\t\t\tstyles.unsupportedBlockDark\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderHelpIcon() }\n\t\t\t\t\t<View style={ styles.unsupportedBlockHeader }>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName={ iconClassName }\n\t\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t\t\tfill={ iconStyle.color }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Text style={ titleStyle }>{ title }</Text>\n\t\t\t\t\t</View>\n\t\t\t\t\t{ subtitle }\n\t\t\t\t\t{ this.renderSheet( title, originalName ) }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { attributes, clientId } ) => {\n\t\tconst { getBlock, getSettings } = select( blockEditorStore );\n\t\tconst { capabilities } = getSettings();\n\t\treturn {\n\t\t\tisUnsupportedBlockEditorSupported:\n\t\t\t\tcapabilities?.unsupportedBlockEditor === true,\n\t\t\tcanEnableUnsupportedBlockEditor:\n\t\t\t\tcapabilities?.canEnableUnsupportedBlockEditor === true,\n\t\t\tisEditableInUnsupportedBlockEditor:\n\t\t\t\t! UBE_INCOMPATIBLE_BLOCKS.includes( attributes.originalName ),\n\t\t\tblock: getBlock( clientId ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst { selectBlock, replaceBlocks } = dispatch( blockEditorStore );\n\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tselectBlock() {\n\t\t\t\tselectBlock( ownProps.clientId );\n\t\t\t},\n\t\t\treplaceBlocks( block ) {\n\t\t\t\treplaceBlocks(\n\t\t\t\t\townProps.clientId,\n\t\t\t\t\trawHandler( { HTML: serialize( block ) } )\n\t\t\t\t);\n\t\t\t},\n\t\t\tcreateSuccessNotice,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( UnsupportedBlockEdit );\n"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import classnames from 'classnames';
|
|
|
9
9
|
*/
|
|
10
10
|
import { __, _x, isRTL } from '@wordpress/i18n';
|
|
11
11
|
import { ToolbarButton, ToggleControl, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
12
|
-
import { AlignmentControl, BlockControls, InspectorControls, RichText, useBlockProps,
|
|
12
|
+
import { AlignmentControl, BlockControls, InspectorControls, RichText, useBlockProps, useSettings } from '@wordpress/block-editor';
|
|
13
13
|
import { createBlock } from '@wordpress/blocks';
|
|
14
14
|
import { formatLtr } from '@wordpress/icons';
|
|
15
15
|
|
|
@@ -49,7 +49,7 @@ function ParagraphBlock({
|
|
|
49
49
|
dropCap,
|
|
50
50
|
placeholder
|
|
51
51
|
} = attributes;
|
|
52
|
-
const isDropCapFeatureEnabled =
|
|
52
|
+
const [isDropCapFeatureEnabled] = useSettings('typography.dropCap');
|
|
53
53
|
const blockProps = useBlockProps({
|
|
54
54
|
ref: useOnEnter({
|
|
55
55
|
clientId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__","_x","isRTL","ToolbarButton","ToggleControl","__experimentalToolsPanelItem","ToolsPanelItem","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","
|
|
1
|
+
{"version":3,"names":["classnames","__","_x","isRTL","ToolbarButton","ToggleControl","__experimentalToolsPanelItem","ToolsPanelItem","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","useSettings","createBlock","formatLtr","useOnEnter","name","ParagraphRTLControl","direction","setDirection","createElement","icon","title","isActive","onClick","undefined","hasDropCapDisabled","align","ParagraphBlock","attributes","mergeBlocks","onReplace","onRemove","setAttributes","clientId","content","dropCap","placeholder","isDropCapFeatureEnabled","blockProps","ref","className","style","helpText","Fragment","group","value","onChange","newAlign","newDirection","hasValue","label","onDeselect","resetAllFilter","panelId","__nextHasNoMarginBottom","checked","help","disabled","identifier","tagName","newContent","onSplit","isOriginal","newAttributes","block","onMerge","__unstableEmbedURLOnPaste","__unstableAllowPrefixTransformations"],"sources":["@wordpress/block-library/src/paragraph/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport {\n\tToolbarButton,\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport { formatLtr } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useOnEnter } from './use-enter';\n\nconst name = 'core/paragraph';\n\nfunction ParagraphRTLControl( { direction, setDirection } ) {\n\treturn (\n\t\tisRTL() && (\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ formatLtr }\n\t\t\t\ttitle={ _x( 'Left to right', 'editor button' ) }\n\t\t\t\tisActive={ direction === 'ltr' }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetDirection( direction === 'ltr' ? undefined : 'ltr' );\n\t\t\t\t} }\n\t\t\t/>\n\t\t)\n\t);\n}\n\nfunction hasDropCapDisabled( align ) {\n\treturn align === ( isRTL() ? 'left' : 'right' ) || align === 'center';\n}\n\nfunction ParagraphBlock( {\n\tattributes,\n\tmergeBlocks,\n\tonReplace,\n\tonRemove,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { align, content, direction, dropCap, placeholder } = attributes;\n\tconst [ isDropCapFeatureEnabled ] = useSettings( 'typography.dropCap' );\n\tconst blockProps = useBlockProps( {\n\t\tref: useOnEnter( { clientId, content } ),\n\t\tclassName: classnames( {\n\t\t\t'has-drop-cap': hasDropCapDisabled( align ) ? false : dropCap,\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} ),\n\t\tstyle: { direction },\n\t} );\n\n\tlet helpText;\n\tif ( hasDropCapDisabled( align ) ) {\n\t\thelpText = __( 'Not available for aligned text.' );\n\t} else if ( dropCap ) {\n\t\thelpText = __( 'Showing large initial letter.' );\n\t} else {\n\t\thelpText = __( 'Toggle to show a large initial letter.' );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ align }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\talign: newAlign,\n\t\t\t\t\t\t\tdropCap: hasDropCapDisabled( newAlign )\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dropCap,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ParagraphRTLControl\n\t\t\t\t\tdirection={ direction }\n\t\t\t\t\tsetDirection={ ( newDirection ) =>\n\t\t\t\t\t\tsetAttributes( { direction: newDirection } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ isDropCapFeatureEnabled && (\n\t\t\t\t<InspectorControls group=\"typography\">\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! dropCap }\n\t\t\t\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { dropCap: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresetAllFilter={ () => ( { dropCap: undefined } ) }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\t\t\t\t\tchecked={ !! dropCap }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { dropCap: ! dropCap } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={ helpText }\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\thasDropCapDisabled( align ) ? true : false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName=\"p\"\n\t\t\t\t{ ...blockProps }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ ( newContent ) =>\n\t\t\t\t\tsetAttributes( { content: newContent } )\n\t\t\t\t}\n\t\t\t\tonSplit={ ( value, isOriginal ) => {\n\t\t\t\t\tlet newAttributes;\n\n\t\t\t\t\tif ( isOriginal || value ) {\n\t\t\t\t\t\tnewAttributes = {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tconst block = createBlock( name, newAttributes );\n\n\t\t\t\t\tif ( isOriginal ) {\n\t\t\t\t\t\tblock.clientId = clientId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn block;\n\t\t\t\t} }\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ onRemove }\n\t\t\t\taria-label={\n\t\t\t\t\tcontent\n\t\t\t\t\t\t? __( 'Block: Paragraph' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'Empty block; start writing or type forward slash to choose a block'\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tdata-empty={ content ? false : true }\n\t\t\t\tplaceholder={ placeholder || __( 'Type / to choose a block' ) }\n\t\t\t\tdata-custom-placeholder={ placeholder ? true : undefined }\n\t\t\t\t__unstableEmbedURLOnPaste\n\t\t\t\t__unstableAllowPrefixTransformations\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default ParagraphBlock;\n"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { createElement, Fragment } from "react";
|
|
|
4
4
|
*/
|
|
5
5
|
import { __, _x } from '@wordpress/i18n';
|
|
6
6
|
import { SelectControl, __experimentalUnitControl as UnitControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalUseCustomUnits as useCustomUnits, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
7
|
-
import { InspectorControls,
|
|
7
|
+
import { InspectorControls, useSettings } from '@wordpress/block-editor';
|
|
8
8
|
const SCALE_OPTIONS = createElement(Fragment, null, createElement(ToggleGroupControlOption, {
|
|
9
9
|
value: "cover",
|
|
10
10
|
label: _x('Cover', 'Scale option for Image dimension control')
|
|
@@ -34,9 +34,9 @@ const DimensionControls = ({
|
|
|
34
34
|
setAttributes,
|
|
35
35
|
imageSizeOptions = []
|
|
36
36
|
}) => {
|
|
37
|
-
const
|
|
37
|
+
const [availableUnits] = useSettings('spacing.units');
|
|
38
38
|
const units = useCustomUnits({
|
|
39
|
-
availableUnits:
|
|
39
|
+
availableUnits: availableUnits || ['px', '%', 'vw', 'em', 'rem']
|
|
40
40
|
});
|
|
41
41
|
const onDimensionChange = (dimension, nextValue) => {
|
|
42
42
|
const parsedValue = parseFloat(nextValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","_x","SelectControl","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","InspectorControls","useSetting","SCALE_OPTIONS","createElement","Fragment","value","label","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","imageSizeOptions","defaultUnits","units","availableUnits","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","group","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","labelPosition","min","nextHeight","nextWidth","help","isBlock","length","nextSizeSlug"],"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { InspectorControls, useSetting } from '@wordpress/block-editor';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\timageSizeOptions = [],\n} ) => {\n\tconst defaultUnits = [ 'px', '%', 'vw', 'em', 'rem' ];\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || defaultUnits,\n\t} );\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) return;\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\n\tconst showScaleControl =\n\t\theight || ( aspectRatio && aspectRatio !== 'auto' );\n\n\treturn (\n\t\t<InspectorControls group=\"dimensions\">\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t// These should use the same values as AspectRatioDropdown in @wordpress/block-editor\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Original' ),\n\t\t\t\t\t\t\tvalue: 'auto',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Square' ),\n\t\t\t\t\t\t\tvalue: '1',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '16:9' ),\n\t\t\t\t\t\t\tvalue: '16/9',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '4:3' ),\n\t\t\t\t\t\t\tvalue: '4/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:2' ),\n\t\t\t\t\t\t\tvalue: '3/2',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '9:16' ),\n\t\t\t\t\t\t\tvalue: '9/16',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:4' ),\n\t\t\t\t\t\t\tvalue: '3/4',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '2:3' ),\n\t\t\t\t\t\t\tvalue: '2/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n};\n\nexport default DimensionControls;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["__","_x","SelectControl","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","InspectorControls","useSettings","SCALE_OPTIONS","createElement","Fragment","value","label","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","imageSizeOptions","availableUnits","units","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","group","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","labelPosition","min","nextHeight","nextWidth","help","isBlock","length","nextSizeSlug"],"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { InspectorControls, useSettings } from '@wordpress/block-editor';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\timageSizeOptions = [],\n} ) => {\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', '%', 'vw', 'em', 'rem' ],\n\t} );\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) return;\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\n\tconst showScaleControl =\n\t\theight || ( aspectRatio && aspectRatio !== 'auto' );\n\n\treturn (\n\t\t<InspectorControls group=\"dimensions\">\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t// These should use the same values as AspectRatioDropdown in @wordpress/block-editor\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Original' ),\n\t\t\t\t\t\t\tvalue: 'auto',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Square' ),\n\t\t\t\t\t\t\tvalue: '1',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '16:9' ),\n\t\t\t\t\t\t\tvalue: '16/9',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '4:3' ),\n\t\t\t\t\t\t\tvalue: '4/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:2' ),\n\t\t\t\t\t\t\tvalue: '3/2',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '9:16' ),\n\t\t\t\t\t\t\tvalue: '9/16',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:4' ),\n\t\t\t\t\t\t\tvalue: '3/4',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '2:3' ),\n\t\t\t\t\t\t\tvalue: '2/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n};\n\nexport default DimensionControls;\n"],"mappings":"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"}
|
|
@@ -87,7 +87,7 @@ export default function PostTermsEdit({
|
|
|
87
87
|
help: __('Enter character(s) used to separate terms.')
|
|
88
88
|
})), createElement("div", {
|
|
89
89
|
...blockProps
|
|
90
|
-
}, isLoading && hasPost && createElement(Spinner, null), !isLoading &&
|
|
90
|
+
}, isLoading && hasPost && createElement(Spinner, null), !isLoading && (isSelected || prefix) && createElement(RichText, {
|
|
91
91
|
allowedFormats: ALLOWED_FORMATS,
|
|
92
92
|
className: "wp-block-post-terms__prefix",
|
|
93
93
|
multiline: false,
|
|
@@ -104,7 +104,7 @@ export default function PostTermsEdit({
|
|
|
104
104
|
onClick: event => event.preventDefault()
|
|
105
105
|
}, decodeEntities(postTerm.name))).reduce((prev, curr) => createElement(Fragment, null, prev, createElement("span", {
|
|
106
106
|
className: "wp-block-post-terms__separator"
|
|
107
|
-
}, separator || ' '), curr)), hasPost && !isLoading && !hasPostTerms && (selectedTerm?.labels?.no_terms || __('Term items not found.')), !isLoading &&
|
|
107
|
+
}, separator || ' '), curr)), hasPost && !isLoading && !hasPostTerms && (selectedTerm?.labels?.no_terms || __('Term items not found.')), !isLoading && (isSelected || suffix) && createElement(RichText, {
|
|
108
108
|
allowedFormats: ALLOWED_FORMATS,
|
|
109
109
|
className: "wp-block-post-terms__suffix",
|
|
110
110
|
multiline: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","AlignmentToolbar","InspectorControls","BlockControls","useBlockProps","useBlockDisplayInformation","RichText","createBlock","getDefaultBlockName","Spinner","TextControl","useSelect","decodeEntities","__","store","coreStore","usePostTerms","ALLOWED_FORMATS","PostTermsEdit","attributes","clientId","context","isSelected","setAttributes","insertBlocksAfter","term","textAlign","separator","prefix","suffix","postId","postType","selectedTerm","select","getTaxonomy","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","hasPost","blockInformation","blockProps","className","createElement","Fragment","value","onChange","nextAlign","group","__nextHasNoMarginBottom","autoComplete","label","nextValue","help","allowedFormats","multiline","placeholder","tagName","title","map","postTerm","key","id","href","link","onClick","event","preventDefault","name","reduce","prev","curr","labels","no_terms","__unstableOnSplitAtEnd"],"sources":["@wordpress/block-library/src/post-terms/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentToolbar,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseBlockDisplayInformation,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { Spinner, TextControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport usePostTerms from './use-post-terms';\n\n// Allowed formats for the prefix and suffix fields.\nconst ALLOWED_FORMATS = [\n\t'core/bold',\n\t'core/image',\n\t'core/italic',\n\t'core/link',\n\t'core/strikethrough',\n\t'core/text-color',\n];\n\nexport default function PostTermsEdit( {\n\tattributes,\n\tclientId,\n\tcontext,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { term, textAlign, separator, prefix, suffix } = attributes;\n\tconst { postId, postType } = context;\n\n\tconst selectedTerm = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! term ) return {};\n\t\t\tconst { getTaxonomy } = select( coreStore );\n\t\t\tconst taxonomy = getTaxonomy( term );\n\t\t\treturn taxonomy?.visibility?.publicly_queryable ? taxonomy : {};\n\t\t},\n\t\t[ term ]\n\t);\n\tconst { postTerms, hasPostTerms, isLoading } = usePostTerms( {\n\t\tpostId,\n\t\tterm: selectedTerm,\n\t} );\n\tconst hasPost = postId && postType;\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t[ `taxonomy-${ term }` ]: term,\n\t\t} ),\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\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</BlockControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\tvalue={ separator || '' }\n\t\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\t\tsetAttributes( { separator: nextValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __( 'Enter character(s) used to separate terms.' ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ isLoading && hasPost && <Spinner /> }\n\t\t\t\t{ ! isLoading &&
|
|
1
|
+
{"version":3,"names":["classnames","AlignmentToolbar","InspectorControls","BlockControls","useBlockProps","useBlockDisplayInformation","RichText","createBlock","getDefaultBlockName","Spinner","TextControl","useSelect","decodeEntities","__","store","coreStore","usePostTerms","ALLOWED_FORMATS","PostTermsEdit","attributes","clientId","context","isSelected","setAttributes","insertBlocksAfter","term","textAlign","separator","prefix","suffix","postId","postType","selectedTerm","select","getTaxonomy","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","hasPost","blockInformation","blockProps","className","createElement","Fragment","value","onChange","nextAlign","group","__nextHasNoMarginBottom","autoComplete","label","nextValue","help","allowedFormats","multiline","placeholder","tagName","title","map","postTerm","key","id","href","link","onClick","event","preventDefault","name","reduce","prev","curr","labels","no_terms","__unstableOnSplitAtEnd"],"sources":["@wordpress/block-library/src/post-terms/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentToolbar,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseBlockDisplayInformation,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { Spinner, TextControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport usePostTerms from './use-post-terms';\n\n// Allowed formats for the prefix and suffix fields.\nconst ALLOWED_FORMATS = [\n\t'core/bold',\n\t'core/image',\n\t'core/italic',\n\t'core/link',\n\t'core/strikethrough',\n\t'core/text-color',\n];\n\nexport default function PostTermsEdit( {\n\tattributes,\n\tclientId,\n\tcontext,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { term, textAlign, separator, prefix, suffix } = attributes;\n\tconst { postId, postType } = context;\n\n\tconst selectedTerm = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! term ) return {};\n\t\t\tconst { getTaxonomy } = select( coreStore );\n\t\t\tconst taxonomy = getTaxonomy( term );\n\t\t\treturn taxonomy?.visibility?.publicly_queryable ? taxonomy : {};\n\t\t},\n\t\t[ term ]\n\t);\n\tconst { postTerms, hasPostTerms, isLoading } = usePostTerms( {\n\t\tpostId,\n\t\tterm: selectedTerm,\n\t} );\n\tconst hasPost = postId && postType;\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t[ `taxonomy-${ term }` ]: term,\n\t\t} ),\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\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</BlockControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\tvalue={ separator || '' }\n\t\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\t\tsetAttributes( { separator: nextValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __( 'Enter character(s) used to separate terms.' ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ isLoading && hasPost && <Spinner /> }\n\t\t\t\t{ ! isLoading && ( isSelected || prefix ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tallowedFormats={ ALLOWED_FORMATS }\n\t\t\t\t\t\tclassName=\"wp-block-post-terms__prefix\"\n\t\t\t\t\t\tmultiline={ false }\n\t\t\t\t\t\taria-label={ __( 'Prefix' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Prefix' ) + ' ' }\n\t\t\t\t\t\tvalue={ prefix }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { prefix: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ( ! hasPost || ! term ) && (\n\t\t\t\t\t<span>{ blockInformation.title }</span>\n\t\t\t\t) }\n\t\t\t\t{ hasPost &&\n\t\t\t\t\t! isLoading &&\n\t\t\t\t\thasPostTerms &&\n\t\t\t\t\tpostTerms\n\t\t\t\t\t\t.map( ( postTerm ) => (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tkey={ postTerm.id }\n\t\t\t\t\t\t\t\thref={ postTerm.link }\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ decodeEntities( postTerm.name ) }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) )\n\t\t\t\t\t\t.reduce( ( prev, curr ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ prev }\n\t\t\t\t\t\t\t\t<span className=\"wp-block-post-terms__separator\">\n\t\t\t\t\t\t\t\t\t{ separator || ' ' }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{ curr }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) ) }\n\t\t\t\t{ hasPost &&\n\t\t\t\t\t! isLoading &&\n\t\t\t\t\t! hasPostTerms &&\n\t\t\t\t\t( selectedTerm?.labels?.no_terms ||\n\t\t\t\t\t\t__( 'Term items not found.' ) ) }\n\t\t\t\t{ ! isLoading && ( isSelected || suffix ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tallowedFormats={ ALLOWED_FORMATS }\n\t\t\t\t\t\tclassName=\"wp-block-post-terms__suffix\"\n\t\t\t\t\t\tmultiline={ false }\n\t\t\t\t\t\taria-label={ __( 'Suffix' ) }\n\t\t\t\t\t\tplaceholder={ ' ' + __( 'Suffix' ) }\n\t\t\t\t\t\tvalue={ suffix }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { suffix: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -9,8 +9,7 @@ import { useState, useEffect } from '@wordpress/element';
|
|
|
9
9
|
/**
|
|
10
10
|
* Internal dependencies
|
|
11
11
|
*/
|
|
12
|
-
import {
|
|
13
|
-
const disableEnhancedPaginationDescription = __('Plugin blocks are not supported yet. For the enhanced pagination to work, remove the plugin block, then re-enable "Enhanced pagination" in the Query Block settings.');
|
|
12
|
+
import { useUnsupportedBlocks } from '../utils';
|
|
14
13
|
const modalDescriptionId = 'wp-block-query-enhanced-pagination-modal__description';
|
|
15
14
|
export default function EnhancedPaginationModal({
|
|
16
15
|
clientId,
|
|
@@ -20,31 +19,46 @@ export default function EnhancedPaginationModal({
|
|
|
20
19
|
setAttributes
|
|
21
20
|
}) {
|
|
22
21
|
const [isOpen, setOpen] = useState(false);
|
|
23
|
-
const
|
|
22
|
+
const {
|
|
23
|
+
hasBlocksFromPlugins,
|
|
24
|
+
hasPostContentBlock,
|
|
25
|
+
hasUnsupportedBlocks
|
|
26
|
+
} = useUnsupportedBlocks(clientId);
|
|
24
27
|
useEffect(() => {
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
if (enhancedPagination && hasUnsupportedBlocks) {
|
|
29
|
+
setAttributes({
|
|
30
|
+
enhancedPagination: false
|
|
31
|
+
});
|
|
32
|
+
setOpen(true);
|
|
33
|
+
}
|
|
34
|
+
}, [enhancedPagination, hasUnsupportedBlocks, setAttributes]);
|
|
35
|
+
const closeModal = () => {
|
|
36
|
+
setOpen(false);
|
|
37
|
+
};
|
|
38
|
+
let notice = __('If you still want to prevent full page reloads, remove that block, then disable "Force page reload" again in the Query Block settings.');
|
|
39
|
+
if (hasBlocksFromPlugins) {
|
|
40
|
+
notice = __('Currently, avoiding full page reloads is not possible when blocks from plugins are present inside the Query block.') + ' ' + notice;
|
|
41
|
+
} else if (hasPostContentBlock) {
|
|
42
|
+
notice = __('Currently, avoiding full page reloads is not possible when a Content block is present inside the Query block.') + ' ' + notice;
|
|
43
|
+
}
|
|
27
44
|
return isOpen && createElement(Modal, {
|
|
28
|
-
title: __('
|
|
45
|
+
title: __('Query block: Force page reload enabled'),
|
|
29
46
|
className: "wp-block-query__enhanced-pagination-modal",
|
|
30
47
|
aria: {
|
|
31
48
|
describedby: modalDescriptionId
|
|
32
49
|
},
|
|
50
|
+
role: "alertdialog",
|
|
51
|
+
focusOnMount: "firstElement",
|
|
33
52
|
isDismissible: false,
|
|
34
|
-
|
|
35
|
-
shouldCloseOnClickOutside: false
|
|
53
|
+
onRequestClose: closeModal
|
|
36
54
|
}, createElement(VStack, {
|
|
37
55
|
alignment: "right",
|
|
38
56
|
spacing: 5
|
|
39
57
|
}, createElement("span", {
|
|
40
58
|
id: modalDescriptionId
|
|
41
|
-
},
|
|
59
|
+
}, notice), createElement(Button, {
|
|
42
60
|
variant: "primary",
|
|
43
|
-
onClick:
|
|
44
|
-
setAttributes({
|
|
45
|
-
enhancedPagination: false
|
|
46
|
-
});
|
|
47
|
-
}
|
|
61
|
+
onClick: closeModal
|
|
48
62
|
}, __('OK'))));
|
|
49
63
|
}
|
|
50
64
|
//# sourceMappingURL=enhanced-pagination-modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","Modal","__experimentalVStack","VStack","__","useState","useEffect","
|
|
1
|
+
{"version":3,"names":["Button","Modal","__experimentalVStack","VStack","__","useState","useEffect","useUnsupportedBlocks","modalDescriptionId","EnhancedPaginationModal","clientId","attributes","enhancedPagination","setAttributes","isOpen","setOpen","hasBlocksFromPlugins","hasPostContentBlock","hasUnsupportedBlocks","closeModal","notice","createElement","title","className","aria","describedby","role","focusOnMount","isDismissible","onRequestClose","alignment","spacing","id","variant","onClick"],"sources":["@wordpress/block-library/src/query/edit/enhanced-pagination-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useUnsupportedBlocks } from '../utils';\n\nconst modalDescriptionId =\n\t'wp-block-query-enhanced-pagination-modal__description';\n\nexport default function EnhancedPaginationModal( {\n\tclientId,\n\tattributes: { enhancedPagination },\n\tsetAttributes,\n} ) {\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst { hasBlocksFromPlugins, hasPostContentBlock, hasUnsupportedBlocks } =\n\t\tuseUnsupportedBlocks( clientId );\n\n\tuseEffect( () => {\n\t\tif ( enhancedPagination && hasUnsupportedBlocks ) {\n\t\t\tsetAttributes( { enhancedPagination: false } );\n\t\t\tsetOpen( true );\n\t\t}\n\t}, [ enhancedPagination, hasUnsupportedBlocks, setAttributes ] );\n\n\tconst closeModal = () => {\n\t\tsetOpen( false );\n\t};\n\n\tlet notice = __(\n\t\t'If you still want to prevent full page reloads, remove that block, then disable \"Force page reload\" again in the Query Block settings.'\n\t);\n\tif ( hasBlocksFromPlugins ) {\n\t\tnotice =\n\t\t\t__(\n\t\t\t\t'Currently, avoiding full page reloads is not possible when blocks from plugins are present inside the Query block.'\n\t\t\t) +\n\t\t\t' ' +\n\t\t\tnotice;\n\t} else if ( hasPostContentBlock ) {\n\t\tnotice =\n\t\t\t__(\n\t\t\t\t'Currently, avoiding full page reloads is not possible when a Content block is present inside the Query block.'\n\t\t\t) +\n\t\t\t' ' +\n\t\t\tnotice;\n\t}\n\n\treturn (\n\t\tisOpen && (\n\t\t\t<Modal\n\t\t\t\ttitle={ __( 'Query block: Force page reload enabled' ) }\n\t\t\t\tclassName=\"wp-block-query__enhanced-pagination-modal\"\n\t\t\t\taria={ {\n\t\t\t\t\tdescribedby: modalDescriptionId,\n\t\t\t\t} }\n\t\t\t\trole=\"alertdialog\"\n\t\t\t\tfocusOnMount=\"firstElement\"\n\t\t\t\tisDismissible={ false }\n\t\t\t\tonRequestClose={ closeModal }\n\t\t\t>\n\t\t\t\t<VStack alignment=\"right\" spacing={ 5 }>\n\t\t\t\t\t<span id={ modalDescriptionId }>{ notice }</span>\n\t\t\t\t\t<Button variant=\"primary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'OK' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</VStack>\n\t\t\t</Modal>\n\t\t)\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,MAAM,EACNC,KAAK,EACLC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,EAAEC,SAAS,QAAQ,oBAAoB;;AAExD;AACA;AACA;AACA,SAASC,oBAAoB,QAAQ,UAAU;AAE/C,MAAMC,kBAAkB,GACvB,uDAAuD;AAExD,eAAe,SAASC,uBAAuBA,CAAE;EAChDC,QAAQ;EACRC,UAAU,EAAE;IAAEC;EAAmB,CAAC;EAClCC;AACD,CAAC,EAAG;EACH,MAAM,CAAEC,MAAM,EAAEC,OAAO,CAAE,GAAGV,QAAQ,CAAE,KAAM,CAAC;EAC7C,MAAM;IAAEW,oBAAoB;IAAEC,mBAAmB;IAAEC;EAAqB,CAAC,GACxEX,oBAAoB,CAAEG,QAAS,CAAC;EAEjCJ,SAAS,CAAE,MAAM;IAChB,IAAKM,kBAAkB,IAAIM,oBAAoB,EAAG;MACjDL,aAAa,CAAE;QAAED,kBAAkB,EAAE;MAAM,CAAE,CAAC;MAC9CG,OAAO,CAAE,IAAK,CAAC;IAChB;EACD,CAAC,EAAE,CAAEH,kBAAkB,EAAEM,oBAAoB,EAAEL,aAAa,CAAG,CAAC;EAEhE,MAAMM,UAAU,GAAGA,CAAA,KAAM;IACxBJ,OAAO,CAAE,KAAM,CAAC;EACjB,CAAC;EAED,IAAIK,MAAM,GAAGhB,EAAE,CACd,wIACD,CAAC;EACD,IAAKY,oBAAoB,EAAG;IAC3BI,MAAM,GACLhB,EAAE,CACD,oHACD,CAAC,GACD,GAAG,GACHgB,MAAM;EACR,CAAC,MAAM,IAAKH,mBAAmB,EAAG;IACjCG,MAAM,GACLhB,EAAE,CACD,+GACD,CAAC,GACD,GAAG,GACHgB,MAAM;EACR;EAEA,OACCN,MAAM,IACLO,aAAA,CAACpB,KAAK;IACLqB,KAAK,EAAGlB,EAAE,CAAE,wCAAyC,CAAG;IACxDmB,SAAS,EAAC,2CAA2C;IACrDC,IAAI,EAAG;MACNC,WAAW,EAAEjB;IACd,CAAG;IACHkB,IAAI,EAAC,aAAa;IAClBC,YAAY,EAAC,cAAc;IAC3BC,aAAa,EAAG,KAAO;IACvBC,cAAc,EAAGV;EAAY,GAE7BE,aAAA,CAAClB,MAAM;IAAC2B,SAAS,EAAC,OAAO;IAACC,OAAO,EAAG;EAAG,GACtCV,aAAA;IAAMW,EAAE,EAAGxB;EAAoB,GAAGY,MAAc,CAAC,EACjDC,aAAA,CAACrB,MAAM;IAACiC,OAAO,EAAC,SAAS;IAACC,OAAO,EAAGf;EAAY,GAC7Cf,EAAE,CAAE,IAAK,CACJ,CACD,CACF,CACP;AAEH"}
|
|
@@ -2,34 +2,37 @@ import { createElement, Fragment } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
-
import { ToggleControl
|
|
5
|
+
import { ToggleControl } from '@wordpress/components';
|
|
6
6
|
import { __ } from '@wordpress/i18n';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Internal dependencies
|
|
10
10
|
*/
|
|
11
|
-
import {
|
|
11
|
+
import { useUnsupportedBlocks } from '../../utils';
|
|
12
12
|
export default function EnhancedPaginationControl({
|
|
13
13
|
enhancedPagination,
|
|
14
14
|
setAttributes,
|
|
15
15
|
clientId
|
|
16
16
|
}) {
|
|
17
|
-
const
|
|
18
|
-
|
|
17
|
+
const {
|
|
18
|
+
hasUnsupportedBlocks
|
|
19
|
+
} = useUnsupportedBlocks(clientId);
|
|
20
|
+
let help = __('Browsing between pages requires a full page reload.');
|
|
21
|
+
if (enhancedPagination) {
|
|
22
|
+
help = __("Browsing between pages won't require a full page reload, unless non-compatible blocks are detected.");
|
|
23
|
+
} else if (hasUnsupportedBlocks) {
|
|
24
|
+
help = __("Force page reload can't be disabled because there are non-compatible blocks inside the Query block.");
|
|
25
|
+
}
|
|
19
26
|
return createElement(Fragment, null, createElement(ToggleControl, {
|
|
20
|
-
label: __('
|
|
21
|
-
help:
|
|
22
|
-
checked:
|
|
23
|
-
disabled:
|
|
27
|
+
label: __('Force page reload'),
|
|
28
|
+
help: help,
|
|
29
|
+
checked: !enhancedPagination,
|
|
30
|
+
disabled: hasUnsupportedBlocks,
|
|
24
31
|
onChange: value => {
|
|
25
32
|
setAttributes({
|
|
26
|
-
enhancedPagination:
|
|
33
|
+
enhancedPagination: !value
|
|
27
34
|
});
|
|
28
35
|
}
|
|
29
|
-
})
|
|
30
|
-
status: "warning",
|
|
31
|
-
isDismissible: false,
|
|
32
|
-
className: "wp-block-query__enhanced-pagination-notice"
|
|
33
|
-
}, enhancedPaginationNotice));
|
|
36
|
+
}));
|
|
34
37
|
}
|
|
35
38
|
//# sourceMappingURL=enhanced-pagination-control.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ToggleControl","
|
|
1
|
+
{"version":3,"names":["ToggleControl","__","useUnsupportedBlocks","EnhancedPaginationControl","enhancedPagination","setAttributes","clientId","hasUnsupportedBlocks","help","createElement","Fragment","label","checked","disabled","onChange","value"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/enhanced-pagination-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToggleControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useUnsupportedBlocks } from '../../utils';\n\nexport default function EnhancedPaginationControl( {\n\tenhancedPagination,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { hasUnsupportedBlocks } = useUnsupportedBlocks( clientId );\n\n\tlet help = __( 'Browsing between pages requires a full page reload.' );\n\tif ( enhancedPagination ) {\n\t\thelp = __(\n\t\t\t\"Browsing between pages won't require a full page reload, unless non-compatible blocks are detected.\"\n\t\t);\n\t} else if ( hasUnsupportedBlocks ) {\n\t\thelp = __(\n\t\t\t\"Force page reload can't be disabled because there are non-compatible blocks inside the Query block.\"\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Force page reload' ) }\n\t\t\t\thelp={ help }\n\t\t\t\tchecked={ ! enhancedPagination }\n\t\t\t\tdisabled={ hasUnsupportedBlocks }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tenhancedPagination: ! value,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,oBAAoB,QAAQ,aAAa;AAElD,eAAe,SAASC,yBAAyBA,CAAE;EAClDC,kBAAkB;EAClBC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC;EAAqB,CAAC,GAAGL,oBAAoB,CAAEI,QAAS,CAAC;EAEjE,IAAIE,IAAI,GAAGP,EAAE,CAAE,qDAAsD,CAAC;EACtE,IAAKG,kBAAkB,EAAG;IACzBI,IAAI,GAAGP,EAAE,CACR,qGACD,CAAC;EACF,CAAC,MAAM,IAAKM,oBAAoB,EAAG;IAClCC,IAAI,GAAGP,EAAE,CACR,qGACD,CAAC;EACF;EAEA,OACCQ,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACT,aAAa;IACbW,KAAK,EAAGV,EAAE,CAAE,mBAAoB,CAAG;IACnCO,IAAI,EAAGA,IAAM;IACbI,OAAO,EAAG,CAAER,kBAAoB;IAChCS,QAAQ,EAAGN,oBAAsB;IACjCO,QAAQ,EAAKC,KAAK,IAAM;MACvBV,aAAa,CAAE;QACdD,kBAAkB,EAAE,CAAEW;MACvB,CAAE,CAAC;IACJ;EAAG,CACH,CACA,CAAC;AAEL"}
|
|
@@ -332,19 +332,41 @@ export const usePatterns = (clientId, name) => {
|
|
|
332
332
|
};
|
|
333
333
|
|
|
334
334
|
/**
|
|
335
|
-
*
|
|
336
|
-
*
|
|
335
|
+
* The object returned by useUnsupportedBlocks with info about the type of
|
|
336
|
+
* unsupported blocks present inside the Query block.
|
|
337
|
+
*
|
|
338
|
+
* @typedef {Object} UnsupportedBlocksInfo
|
|
339
|
+
* @property {boolean} hasBlocksFromPlugins True if blocks from plugins are present.
|
|
340
|
+
* @property {boolean} hasPostContentBlock True if a 'core/post-content' block is present.
|
|
341
|
+
* @property {boolean} hasUnsupportedBlocks True if there are any unsupported blocks.
|
|
342
|
+
*/
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* Hook that returns an object with information about the unsupported blocks
|
|
346
|
+
* present inside a Query Loop with the given `clientId`. The returned object
|
|
347
|
+
* contains props that are true when a certain type of unsupported block is
|
|
348
|
+
* present.
|
|
337
349
|
*
|
|
338
350
|
* @param {string} clientId The block's client ID.
|
|
339
|
-
* @return {
|
|
351
|
+
* @return {UnsupportedBlocksInfo} The object containing the information.
|
|
340
352
|
*/
|
|
341
|
-
export const
|
|
353
|
+
export const useUnsupportedBlocks = clientId => {
|
|
342
354
|
return useSelect(select => {
|
|
343
355
|
const {
|
|
344
356
|
getClientIdsOfDescendants,
|
|
345
357
|
getBlockName
|
|
346
358
|
} = select(blockEditorStore);
|
|
347
|
-
|
|
359
|
+
const blocks = {};
|
|
360
|
+
getClientIdsOfDescendants(clientId).forEach(descendantClientId => {
|
|
361
|
+
const blockName = getBlockName(descendantClientId);
|
|
362
|
+
if (!blockName.startsWith('core/')) {
|
|
363
|
+
blocks.hasBlocksFromPlugins = true;
|
|
364
|
+
} else if (blockName === 'core/post-content') {
|
|
365
|
+
blocks.hasPostContentBlock = true;
|
|
366
|
+
}
|
|
367
|
+
});
|
|
368
|
+
blocks.hasUnsupportedBlocks = blocks.hasBlocksFromPlugins || blocks.hasPostContentBlock;
|
|
369
|
+
return blocks;
|
|
348
370
|
}, [clientId]);
|
|
349
371
|
};
|
|
350
372
|
//# sourceMappingURL=utils.js.map
|