@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.
Files changed (217) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/avatar/index.js +5 -1
  3. package/build/avatar/index.js.map +1 -1
  4. package/build/block/edit-title.native.js +11 -3
  5. package/build/block/edit-title.native.js.map +1 -1
  6. package/build/block/edit.js +3 -3
  7. package/build/block/edit.js.map +1 -1
  8. package/build/column/edit.js +2 -1
  9. package/build/column/edit.js.map +1 -1
  10. package/build/column/edit.native.js +2 -1
  11. package/build/column/edit.native.js.map +1 -1
  12. package/build/columns/edit.native.js +2 -1
  13. package/build/columns/edit.native.js.map +1 -1
  14. package/build/cover/controls.native.js +2 -1
  15. package/build/cover/controls.native.js.map +1 -1
  16. package/build/cover/edit/index.js +2 -1
  17. package/build/cover/edit/index.js.map +1 -1
  18. package/build/cover/edit/inspector-controls.js +2 -1
  19. package/build/cover/edit/inspector-controls.js.map +1 -1
  20. package/build/file/view.js +1 -1
  21. package/build/file/view.js.map +1 -1
  22. package/build/form/edit.js +2 -2
  23. package/build/form/edit.js.map +1 -1
  24. package/build/form/index.js +25 -5
  25. package/build/form/index.js.map +1 -1
  26. package/build/form/variations.js +1 -1
  27. package/build/form/variations.js.map +1 -1
  28. package/build/form-input/index.js +2 -2
  29. package/build/form-input/index.js.map +1 -1
  30. package/build/form-input/variations.js +7 -7
  31. package/build/form-input/variations.js.map +1 -1
  32. package/build/form-submission-notification/index.js +1 -1
  33. package/build/form-submission-notification/index.js.map +1 -1
  34. package/build/form-submission-notification/variations.js +4 -4
  35. package/build/form-submission-notification/variations.js.map +1 -1
  36. package/build/form-submit-button/index.js +2 -2
  37. package/build/form-submit-button/index.js.map +1 -1
  38. package/build/group/edit.js +2 -11
  39. package/build/group/edit.js.map +1 -1
  40. package/build/html/preview.js +2 -4
  41. package/build/html/preview.js.map +1 -1
  42. package/build/image/image.js +11 -5
  43. package/build/image/image.js.map +1 -1
  44. package/build/image/view.js +10 -20
  45. package/build/image/view.js.map +1 -1
  46. package/build/missing/edit.native.js +46 -8
  47. package/build/missing/edit.native.js.map +1 -1
  48. package/build/paragraph/edit.js +1 -1
  49. package/build/paragraph/edit.js.map +1 -1
  50. package/build/post-featured-image/dimension-controls.js +2 -2
  51. package/build/post-featured-image/dimension-controls.js.map +1 -1
  52. package/build/post-terms/edit.js +2 -2
  53. package/build/post-terms/edit.js.map +1 -1
  54. package/build/query/edit/enhanced-pagination-modal.js +27 -13
  55. package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
  56. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +15 -12
  57. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  58. package/build/query/utils.js +29 -8
  59. package/build/query/utils.js.map +1 -1
  60. package/build/query/view.js +4 -2
  61. package/build/query/view.js.map +1 -1
  62. package/build/search/edit.js +1 -2
  63. package/build/search/edit.js.map +1 -1
  64. package/build/social-link/edit.native.js +7 -19
  65. package/build/social-link/edit.native.js.map +1 -1
  66. package/build/spacer/controls.js +3 -3
  67. package/build/spacer/controls.js.map +1 -1
  68. package/build/spacer/controls.native.js +2 -1
  69. package/build/spacer/controls.native.js.map +1 -1
  70. package/build/spacer/edit.js +1 -1
  71. package/build/spacer/edit.js.map +1 -1
  72. package/build/spacer/edit.native.js +5 -1
  73. package/build/spacer/edit.native.js.map +1 -1
  74. package/build/tag-cloud/edit.js +2 -1
  75. package/build/tag-cloud/edit.js.map +1 -1
  76. package/build/template-part/edit/inner-blocks.js +2 -2
  77. package/build/template-part/edit/inner-blocks.js.map +1 -1
  78. package/build/term-description/index.js +0 -1
  79. package/build/term-description/index.js.map +1 -1
  80. package/build-module/avatar/index.js +5 -1
  81. package/build-module/avatar/index.js.map +1 -1
  82. package/build-module/block/edit-title.native.js +12 -4
  83. package/build-module/block/edit-title.native.js.map +1 -1
  84. package/build-module/block/edit.js +3 -3
  85. package/build-module/block/edit.js.map +1 -1
  86. package/build-module/column/edit.js +3 -2
  87. package/build-module/column/edit.js.map +1 -1
  88. package/build-module/column/edit.native.js +3 -2
  89. package/build-module/column/edit.native.js.map +1 -1
  90. package/build-module/columns/edit.native.js +3 -2
  91. package/build-module/columns/edit.native.js.map +1 -1
  92. package/build-module/cover/controls.native.js +3 -2
  93. package/build-module/cover/controls.native.js.map +1 -1
  94. package/build-module/cover/edit/index.js +3 -2
  95. package/build-module/cover/edit/index.js.map +1 -1
  96. package/build-module/cover/edit/inspector-controls.js +3 -2
  97. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  98. package/build-module/file/view.js +2 -2
  99. package/build-module/file/view.js.map +1 -1
  100. package/build-module/form/edit.js +2 -2
  101. package/build-module/form/edit.js.map +1 -1
  102. package/build-module/form/index.js +29 -5
  103. package/build-module/form/index.js.map +1 -1
  104. package/build-module/form/variations.js +1 -1
  105. package/build-module/form/variations.js.map +1 -1
  106. package/build-module/form-input/index.js +2 -2
  107. package/build-module/form-input/index.js.map +1 -1
  108. package/build-module/form-input/variations.js +7 -7
  109. package/build-module/form-input/variations.js.map +1 -1
  110. package/build-module/form-submission-notification/index.js +1 -1
  111. package/build-module/form-submission-notification/index.js.map +1 -1
  112. package/build-module/form-submission-notification/variations.js +4 -4
  113. package/build-module/form-submission-notification/variations.js.map +1 -1
  114. package/build-module/form-submit-button/index.js +2 -2
  115. package/build-module/form-submit-button/index.js.map +1 -1
  116. package/build-module/group/edit.js +3 -12
  117. package/build-module/group/edit.js.map +1 -1
  118. package/build-module/html/preview.js +2 -4
  119. package/build-module/html/preview.js.map +1 -1
  120. package/build-module/image/image.js +12 -6
  121. package/build-module/image/image.js.map +1 -1
  122. package/build-module/image/view.js +10 -20
  123. package/build-module/image/view.js.map +1 -1
  124. package/build-module/missing/edit.native.js +47 -9
  125. package/build-module/missing/edit.native.js.map +1 -1
  126. package/build-module/paragraph/edit.js +2 -2
  127. package/build-module/paragraph/edit.js.map +1 -1
  128. package/build-module/post-featured-image/dimension-controls.js +3 -3
  129. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  130. package/build-module/post-terms/edit.js +2 -2
  131. package/build-module/post-terms/edit.js.map +1 -1
  132. package/build-module/query/edit/enhanced-pagination-modal.js +28 -14
  133. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
  134. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +17 -14
  135. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  136. package/build-module/query/utils.js +27 -5
  137. package/build-module/query/utils.js.map +1 -1
  138. package/build-module/query/view.js +4 -2
  139. package/build-module/query/view.js.map +1 -1
  140. package/build-module/search/edit.js +2 -3
  141. package/build-module/search/edit.js.map +1 -1
  142. package/build-module/social-link/edit.native.js +8 -20
  143. package/build-module/social-link/edit.native.js.map +1 -1
  144. package/build-module/spacer/controls.js +4 -4
  145. package/build-module/spacer/controls.js.map +1 -1
  146. package/build-module/spacer/controls.native.js +3 -2
  147. package/build-module/spacer/controls.native.js.map +1 -1
  148. package/build-module/spacer/edit.js +2 -2
  149. package/build-module/spacer/edit.js.map +1 -1
  150. package/build-module/spacer/edit.native.js +6 -2
  151. package/build-module/spacer/edit.native.js.map +1 -1
  152. package/build-module/tag-cloud/edit.js +3 -2
  153. package/build-module/tag-cloud/edit.js.map +1 -1
  154. package/build-module/template-part/edit/inner-blocks.js +3 -3
  155. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  156. package/build-module/term-description/index.js +0 -1
  157. package/build-module/term-description/index.js.map +1 -1
  158. package/build-style/file/style-rtl.css +0 -5
  159. package/build-style/file/style.css +0 -5
  160. package/build-style/navigation/style-rtl.css +5 -0
  161. package/build-style/navigation/style.css +5 -0
  162. package/build-style/style-rtl.css +5 -5
  163. package/build-style/style.css +5 -5
  164. package/package.json +32 -32
  165. package/src/avatar/block.json +5 -1
  166. package/src/block/edit-title.native.js +16 -13
  167. package/src/block/edit.js +1 -1
  168. package/src/calendar/index.php +2 -6
  169. package/src/column/edit.js +3 -8
  170. package/src/column/edit.native.js +3 -8
  171. package/src/columns/edit.native.js +3 -8
  172. package/src/comment-author-avatar/index.php +1 -1
  173. package/src/cover/controls.native.js +3 -8
  174. package/src/cover/edit/index.js +3 -2
  175. package/src/cover/edit/inspector-controls.js +3 -8
  176. package/src/file/index.php +2 -1
  177. package/src/file/style.scss +0 -6
  178. package/src/file/view.js +2 -2
  179. package/src/form/edit.js +3 -1
  180. package/src/form/index.js +38 -1
  181. package/src/form/variations.js +1 -1
  182. package/src/form-input/block.json +2 -2
  183. package/src/form-input/variations.js +7 -7
  184. package/src/form-submission-notification/block.json +1 -1
  185. package/src/form-submission-notification/variations.js +4 -4
  186. package/src/form-submit-button/block.json +2 -2
  187. package/src/freeform/test/__snapshots__/index.native.js.snap +7 -0
  188. package/src/freeform/test/index.native.js +57 -0
  189. package/src/group/edit.js +2 -7
  190. package/src/html/preview.js +9 -4
  191. package/src/image/image.js +17 -6
  192. package/src/image/index.php +5 -6
  193. package/src/image/view.js +13 -19
  194. package/src/missing/edit.native.js +43 -6
  195. package/src/navigation/index.php +1 -1
  196. package/src/navigation/style.scss +6 -1
  197. package/src/paragraph/edit.js +2 -2
  198. package/src/post-featured-image/dimension-controls.js +3 -3
  199. package/src/post-terms/edit.js +2 -2
  200. package/src/query/edit/enhanced-pagination-modal.js +37 -21
  201. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +18 -22
  202. package/src/query/index.php +97 -8
  203. package/src/query/utils.js +29 -8
  204. package/src/query/view.js +11 -2
  205. package/src/query-pagination-next/index.php +1 -1
  206. package/src/query-pagination-previous/index.php +1 -1
  207. package/src/search/edit.js +5 -3
  208. package/src/social-link/edit.native.js +12 -26
  209. package/src/social-link/editor.native.scss +0 -9
  210. package/src/social-link/index.php +2 -2
  211. package/src/spacer/controls.js +9 -12
  212. package/src/spacer/controls.native.js +3 -8
  213. package/src/spacer/edit.js +2 -2
  214. package/src/spacer/edit.native.js +6 -5
  215. package/src/tag-cloud/edit.js +3 -7
  216. package/src/template-part/edit/inner-blocks.js +3 -3
  217. 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, useSetting } from '@wordpress/block-editor';
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 = useSetting('typography.dropCap');
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","useSetting","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\tuseSetting,\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 = useSetting( '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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"}
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, useSetting } from '@wordpress/block-editor';
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 defaultUnits = ['px', '%', 'vw', 'em', 'rem'];
37
+ const [availableUnits] = useSettings('spacing.units');
38
38
  const units = useCustomUnits({
39
- availableUnits: useSetting('spacing.units') || defaultUnits
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 && hasPostTerms && (isSelected || prefix) && createElement(RichText, {
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 && hasPostTerms && (isSelected || suffix) && createElement(RichText, {
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 && hasPostTerms && ( 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 && hasPostTerms && ( 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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"}
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 { useContainsThirdPartyBlocks } from '../utils';
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 containsThirdPartyBlocks = useContainsThirdPartyBlocks(clientId);
22
+ const {
23
+ hasBlocksFromPlugins,
24
+ hasPostContentBlock,
25
+ hasUnsupportedBlocks
26
+ } = useUnsupportedBlocks(clientId);
24
27
  useEffect(() => {
25
- setOpen(containsThirdPartyBlocks && enhancedPagination);
26
- }, [containsThirdPartyBlocks, enhancedPagination, setOpen]);
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: __('Enhanced pagination will be disabled'),
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
- shouldCloseOnEsc: false,
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
- }, disableEnhancedPaginationDescription), createElement(Button, {
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","useContainsThirdPartyBlocks","disableEnhancedPaginationDescription","modalDescriptionId","EnhancedPaginationModal","clientId","attributes","enhancedPagination","setAttributes","isOpen","setOpen","containsThirdPartyBlocks","createElement","title","className","aria","describedby","isDismissible","shouldCloseOnEsc","shouldCloseOnClickOutside","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 { useContainsThirdPartyBlocks } from '../utils';\n\nconst disableEnhancedPaginationDescription = __(\n\t'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.'\n);\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\n\tconst containsThirdPartyBlocks = useContainsThirdPartyBlocks( clientId );\n\n\tuseEffect( () => {\n\t\tsetOpen( containsThirdPartyBlocks && enhancedPagination );\n\t}, [ containsThirdPartyBlocks, enhancedPagination, setOpen ] );\n\n\treturn (\n\t\tisOpen && (\n\t\t\t<Modal\n\t\t\t\ttitle={ __( 'Enhanced pagination will be disabled' ) }\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\tisDismissible={ false }\n\t\t\t\tshouldCloseOnEsc={ false }\n\t\t\t\tshouldCloseOnClickOutside={ false }\n\t\t\t>\n\t\t\t\t<VStack alignment=\"right\" spacing={ 5 }>\n\t\t\t\t\t<span id={ modalDescriptionId }>\n\t\t\t\t\t\t{ disableEnhancedPaginationDescription }\n\t\t\t\t\t</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( { enhancedPagination: false } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\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,2BAA2B,QAAQ,UAAU;AAEtD,MAAMC,oCAAoC,GAAGJ,EAAE,CAC9C,sKACD,CAAC;AAED,MAAMK,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,GAAGX,QAAQ,CAAE,KAAM,CAAC;EAE7C,MAAMY,wBAAwB,GAAGV,2BAA2B,CAAEI,QAAS,CAAC;EAExEL,SAAS,CAAE,MAAM;IAChBU,OAAO,CAAEC,wBAAwB,IAAIJ,kBAAmB,CAAC;EAC1D,CAAC,EAAE,CAAEI,wBAAwB,EAAEJ,kBAAkB,EAAEG,OAAO,CAAG,CAAC;EAE9D,OACCD,MAAM,IACLG,aAAA,CAACjB,KAAK;IACLkB,KAAK,EAAGf,EAAE,CAAE,sCAAuC,CAAG;IACtDgB,SAAS,EAAC,2CAA2C;IACrDC,IAAI,EAAG;MACNC,WAAW,EAAEb;IACd,CAAG;IACHc,aAAa,EAAG,KAAO;IACvBC,gBAAgB,EAAG,KAAO;IAC1BC,yBAAyB,EAAG;EAAO,GAEnCP,aAAA,CAACf,MAAM;IAACuB,SAAS,EAAC,OAAO;IAACC,OAAO,EAAG;EAAG,GACtCT,aAAA;IAAMU,EAAE,EAAGnB;EAAoB,GAC5BD,oCACG,CAAC,EACPU,aAAA,CAAClB,MAAM;IACN6B,OAAO,EAAC,SAAS;IACjBC,OAAO,EAAGA,CAAA,KAAM;MACfhB,aAAa,CAAE;QAAED,kBAAkB,EAAE;MAAM,CAAE,CAAC;IAC/C;EAAG,GAEDT,EAAE,CAAE,IAAK,CACJ,CACD,CACF,CACP;AAEH"}
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, Notice } from '@wordpress/components';
5
+ import { ToggleControl } from '@wordpress/components';
6
6
  import { __ } from '@wordpress/i18n';
7
7
 
8
8
  /**
9
9
  * Internal dependencies
10
10
  */
11
- import { useContainsThirdPartyBlocks } from '../../utils';
11
+ import { useUnsupportedBlocks } from '../../utils';
12
12
  export default function EnhancedPaginationControl({
13
13
  enhancedPagination,
14
14
  setAttributes,
15
15
  clientId
16
16
  }) {
17
- const enhancedPaginationNotice = __("Enhanced pagination doesn't support plugin blocks yet. If you want to enable it, you have to remove all plugin blocks from the Query Loop.");
18
- const containsThirdPartyBlocks = useContainsThirdPartyBlocks(clientId);
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: __('Enhanced pagination'),
21
- help: __('Browsing between pages won’t require a full page reload.'),
22
- checked: !!enhancedPagination,
23
- disabled: containsThirdPartyBlocks,
27
+ label: __('Force page reload'),
28
+ help: help,
29
+ checked: !enhancedPagination,
30
+ disabled: hasUnsupportedBlocks,
24
31
  onChange: value => {
25
32
  setAttributes({
26
- enhancedPagination: !!value
33
+ enhancedPagination: !value
27
34
  });
28
35
  }
29
- }), containsThirdPartyBlocks && createElement(Notice, {
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","Notice","__","useContainsThirdPartyBlocks","EnhancedPaginationControl","enhancedPagination","setAttributes","clientId","enhancedPaginationNotice","containsThirdPartyBlocks","createElement","Fragment","label","help","checked","disabled","onChange","value","status","isDismissible","className"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/enhanced-pagination-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToggleControl, Notice } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useContainsThirdPartyBlocks } from '../../utils';\n\nexport default function EnhancedPaginationControl( {\n\tenhancedPagination,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst enhancedPaginationNotice = __(\n\t\t\"Enhanced pagination doesn't support plugin blocks yet. If you want to enable it, you have to remove all plugin blocks from the Query Loop.\"\n\t);\n\n\tconst containsThirdPartyBlocks = useContainsThirdPartyBlocks( clientId );\n\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Enhanced pagination' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Browsing between pages won’t require a full page reload.'\n\t\t\t\t) }\n\t\t\t\tchecked={ !! enhancedPagination }\n\t\t\t\tdisabled={ containsThirdPartyBlocks }\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\t{ containsThirdPartyBlocks && (\n\t\t\t\t<Notice\n\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\tclassName=\"wp-block-query__enhanced-pagination-notice\"\n\t\t\t\t>\n\t\t\t\t\t{ enhancedPaginationNotice }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,aAAa,EAAEC,MAAM,QAAQ,uBAAuB;AAC7D,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,2BAA2B,QAAQ,aAAa;AAEzD,eAAe,SAASC,yBAAyBA,CAAE;EAClDC,kBAAkB;EAClBC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,MAAMC,wBAAwB,GAAGN,EAAE,CAClC,4IACD,CAAC;EAED,MAAMO,wBAAwB,GAAGN,2BAA2B,CAAEI,QAAS,CAAC;EAExE,OACCG,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACV,aAAa;IACbY,KAAK,EAAGV,EAAE,CAAE,qBAAsB,CAAG;IACrCW,IAAI,EAAGX,EAAE,CACR,0DACD,CAAG;IACHY,OAAO,EAAG,CAAC,CAAET,kBAAoB;IACjCU,QAAQ,EAAGN,wBAA0B;IACrCO,QAAQ,EAAKC,KAAK,IAAM;MACvBX,aAAa,CAAE;QACdD,kBAAkB,EAAE,CAAC,CAAEY;MACxB,CAAE,CAAC;IACJ;EAAG,CACH,CAAC,EACAR,wBAAwB,IACzBC,aAAA,CAACT,MAAM;IACNiB,MAAM,EAAC,SAAS;IAChBC,aAAa,EAAG,KAAO;IACvBC,SAAS,EAAC;EAA4C,GAEpDZ,wBACK,CAER,CAAC;AAEL"}
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
- * Hook that returns whether the Query Loop with the given `clientId` contains
336
- * any third-party block.
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 {boolean} True if it contains third-party blocks.
351
+ * @return {UnsupportedBlocksInfo} The object containing the information.
340
352
  */
341
- export const useContainsThirdPartyBlocks = clientId => {
353
+ export const useUnsupportedBlocks = clientId => {
342
354
  return useSelect(select => {
343
355
  const {
344
356
  getClientIdsOfDescendants,
345
357
  getBlockName
346
358
  } = select(blockEditorStore);
347
- return getClientIdsOfDescendants(clientId).some(descendantClientId => !getBlockName(descendantClientId).startsWith('core/'));
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