@wordpress/block-directory 5.10.0 → 5.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 5.12.0 (2024-11-16)
6
+
7
+ ## 5.11.0 (2024-10-30)
8
+
5
9
  ## 5.10.0 (2024-10-16)
6
10
 
7
11
  ## 5.9.0 (2024-10-03)
@@ -41,24 +41,24 @@ function getDownloadableBlockLabel({
41
41
  }) {
42
42
  const stars = Math.round(rating / 0.5) * 0.5;
43
43
  if (!isInstalled && hasNotice) {
44
- /* translators: %1$s: block title */
44
+ /* translators: %s: block title */
45
45
  return (0, _i18n.sprintf)('Retry installing %s.', (0, _htmlEntities.decodeEntities)(title));
46
46
  }
47
47
  if (isInstalled) {
48
- /* translators: %1$s: block title */
48
+ /* translators: %s: block title */
49
49
  return (0, _i18n.sprintf)('Add %s.', (0, _htmlEntities.decodeEntities)(title));
50
50
  }
51
51
  if (isInstalling) {
52
- /* translators: %1$s: block title */
52
+ /* translators: %s: block title */
53
53
  return (0, _i18n.sprintf)('Installing %s.', (0, _htmlEntities.decodeEntities)(title));
54
54
  }
55
55
 
56
56
  // No ratings yet, just use the title.
57
57
  if (ratingCount < 1) {
58
- /* translators: %1$s: block title */
58
+ /* translators: %s: block title */
59
59
  return (0, _i18n.sprintf)('Install %s.', (0, _htmlEntities.decodeEntities)(title));
60
60
  }
61
- return (0, _i18n.sprintf)(/* translators: %1$s: block title, %2$s: average rating, %3$s: total ratings count. */
61
+ return (0, _i18n.sprintf)(/* translators: 1: block title, 2: average rating, 3: total ratings count. */
62
62
  (0, _i18n._n)('Install %1$s. %2$s stars with %3$s review.', 'Install %1$s. %2$s stars with %3$s reviews.', ratingCount), (0, _htmlEntities.decodeEntities)(title), stars, ratingCount);
63
63
  }
64
64
  function DownloadableBlockListItem({
@@ -131,7 +131,7 @@ function DownloadableBlockListItem({
131
131
  className: "block-directory-downloadable-block-list-item__details",
132
132
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
133
133
  className: "block-directory-downloadable-block-list-item__title",
134
- children: (0, _element.createInterpolateElement)((0, _i18n.sprintf)(/* translators: %1$s: block title, %2$s: author name. */
134
+ children: (0, _element.createInterpolateElement)((0, _i18n.sprintf)(/* translators: 1: block title. 2: author name. */
135
135
  (0, _i18n.__)('%1$s <span>by %2$s</span>'), (0, _htmlEntities.decodeEntities)(title), author), {
136
136
  span: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
137
137
  className: "block-directory-downloadable-block-list-item__author"
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_components","_element","_htmlEntities","_blocks","_data","_blockRatings","_downloadableBlockIcon","_downloadableBlockNotice","_store","_jsxRuntime","getDownloadableBlockLabel","title","rating","ratingCount","hasNotice","isInstalled","isInstalling","stars","Math","round","sprintf","decodeEntities","_n","DownloadableBlockListItem","item","onClick","author","description","icon","getBlockType","name","isInstallable","useSelect","select","getErrorNoticeForBlock","isBlockInstalling","blockDirectoryStore","notice","id","hasFatal","isFatal","statusText","__","itemLabel","jsx","Tooltip","placement","text","children","jsxs","Composite","Item","className","clsx","accessibleWhenDisabled","disabled","event","preventDefault","type","role","default","Spinner","createInterpolateElement","span","block","Fragment","VisuallyHidden","_default","exports"],"sources":["@wordpress/block-directory/src/components/downloadable-block-list-item/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tTooltip,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport { createInterpolateElement } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { getBlockType } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockRatings from '../block-ratings';\nimport DownloadableBlockIcon from '../downloadable-block-icon';\nimport DownloadableBlockNotice from '../downloadable-block-notice';\nimport { store as blockDirectoryStore } from '../../store';\n\n// Return the appropriate block item label, given the block data and status.\nfunction getDownloadableBlockLabel(\n\t{ title, rating, ratingCount },\n\t{ hasNotice, isInstalled, isInstalling }\n) {\n\tconst stars = Math.round( rating / 0.5 ) * 0.5;\n\n\tif ( ! isInstalled && hasNotice ) {\n\t\t/* translators: %1$s: block title */\n\t\treturn sprintf( 'Retry installing %s.', decodeEntities( title ) );\n\t}\n\n\tif ( isInstalled ) {\n\t\t/* translators: %1$s: block title */\n\t\treturn sprintf( 'Add %s.', decodeEntities( title ) );\n\t}\n\n\tif ( isInstalling ) {\n\t\t/* translators: %1$s: block title */\n\t\treturn sprintf( 'Installing %s.', decodeEntities( title ) );\n\t}\n\n\t// No ratings yet, just use the title.\n\tif ( ratingCount < 1 ) {\n\t\t/* translators: %1$s: block title */\n\t\treturn sprintf( 'Install %s.', decodeEntities( title ) );\n\t}\n\n\treturn sprintf(\n\t\t/* translators: %1$s: block title, %2$s: average rating, %3$s: total ratings count. */\n\t\t_n(\n\t\t\t'Install %1$s. %2$s stars with %3$s review.',\n\t\t\t'Install %1$s. %2$s stars with %3$s reviews.',\n\t\t\tratingCount\n\t\t),\n\t\tdecodeEntities( title ),\n\t\tstars,\n\t\tratingCount\n\t);\n}\n\nfunction DownloadableBlockListItem( { item, onClick } ) {\n\tconst { author, description, icon, rating, title } = item;\n\t// getBlockType returns a block object if this block exists, or null if not.\n\tconst isInstalled = !! getBlockType( item.name );\n\n\tconst { hasNotice, isInstalling, isInstallable } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getErrorNoticeForBlock, isInstalling: isBlockInstalling } =\n\t\t\t\tselect( blockDirectoryStore );\n\t\t\tconst notice = getErrorNoticeForBlock( item.id );\n\t\t\tconst hasFatal = notice && notice.isFatal;\n\t\t\treturn {\n\t\t\t\thasNotice: !! notice,\n\t\t\t\tisInstalling: isBlockInstalling( item.id ),\n\t\t\t\tisInstallable: ! hasFatal,\n\t\t\t};\n\t\t},\n\t\t[ item ]\n\t);\n\n\tlet statusText = '';\n\tif ( isInstalled ) {\n\t\tstatusText = __( 'Installed!' );\n\t} else if ( isInstalling ) {\n\t\tstatusText = __( 'Installing…' );\n\t}\n\n\tconst itemLabel = getDownloadableBlockLabel( item, {\n\t\thasNotice,\n\t\tisInstalled,\n\t\tisInstalling,\n\t} );\n\n\treturn (\n\t\t<Tooltip placement=\"top\" text={ itemLabel }>\n\t\t\t<Composite.Item\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-directory-downloadable-block-list-item',\n\t\t\t\t\tisInstalling && 'is-installing'\n\t\t\t\t) }\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tdisabled={ isInstalling || ! isInstallable }\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tonClick();\n\t\t\t\t} }\n\t\t\t\taria-label={ itemLabel }\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"option\"\n\t\t\t>\n\t\t\t\t<div className=\"block-directory-downloadable-block-list-item__icon\">\n\t\t\t\t\t<DownloadableBlockIcon icon={ icon } title={ title } />\n\t\t\t\t\t{ isInstalling ? (\n\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__spinner\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<BlockRatings rating={ rating } />\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__details\">\n\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__title\">\n\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t/* translators: %1$s: block title, %2$s: author name. */\n\t\t\t\t\t\t\t\t__( '%1$s <span>by %2$s</span>' ),\n\t\t\t\t\t\t\t\tdecodeEntities( title ),\n\t\t\t\t\t\t\t\tauthor\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__author\" />\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t{ hasNotice ? (\n\t\t\t\t\t\t<DownloadableBlockNotice block={ item } />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__desc\">\n\t\t\t\t\t\t\t\t{ !! statusText\n\t\t\t\t\t\t\t\t\t? statusText\n\t\t\t\t\t\t\t\t\t: decodeEntities( description ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{ isInstallable &&\n\t\t\t\t\t\t\t\t! ( isInstalled || isInstalling ) && (\n\t\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Install block' ) }\n\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\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</span>\n\t\t\t</Composite.Item>\n\t\t</Tooltip>\n\t);\n}\n\nexport default DownloadableBlockListItem;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_components","_element","_htmlEntities","_blocks","_data","_blockRatings","_downloadableBlockIcon","_downloadableBlockNotice","_store","_jsxRuntime","getDownloadableBlockLabel","title","rating","ratingCount","hasNotice","isInstalled","isInstalling","stars","Math","round","sprintf","decodeEntities","_n","DownloadableBlockListItem","item","onClick","author","description","icon","getBlockType","name","isInstallable","useSelect","select","getErrorNoticeForBlock","isBlockInstalling","blockDirectoryStore","notice","id","hasFatal","isFatal","statusText","__","itemLabel","jsx","Tooltip","placement","text","children","jsxs","Composite","Item","className","clsx","accessibleWhenDisabled","disabled","event","preventDefault","type","role","default","Spinner","createInterpolateElement","span","block","Fragment","VisuallyHidden","_default","exports"],"sources":["@wordpress/block-directory/src/components/downloadable-block-list-item/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tTooltip,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport { createInterpolateElement } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { getBlockType } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockRatings from '../block-ratings';\nimport DownloadableBlockIcon from '../downloadable-block-icon';\nimport DownloadableBlockNotice from '../downloadable-block-notice';\nimport { store as blockDirectoryStore } from '../../store';\n\n// Return the appropriate block item label, given the block data and status.\nfunction getDownloadableBlockLabel(\n\t{ title, rating, ratingCount },\n\t{ hasNotice, isInstalled, isInstalling }\n) {\n\tconst stars = Math.round( rating / 0.5 ) * 0.5;\n\n\tif ( ! isInstalled && hasNotice ) {\n\t\t/* translators: %s: block title */\n\t\treturn sprintf( 'Retry installing %s.', decodeEntities( title ) );\n\t}\n\n\tif ( isInstalled ) {\n\t\t/* translators: %s: block title */\n\t\treturn sprintf( 'Add %s.', decodeEntities( title ) );\n\t}\n\n\tif ( isInstalling ) {\n\t\t/* translators: %s: block title */\n\t\treturn sprintf( 'Installing %s.', decodeEntities( title ) );\n\t}\n\n\t// No ratings yet, just use the title.\n\tif ( ratingCount < 1 ) {\n\t\t/* translators: %s: block title */\n\t\treturn sprintf( 'Install %s.', decodeEntities( title ) );\n\t}\n\n\treturn sprintf(\n\t\t/* translators: 1: block title, 2: average rating, 3: total ratings count. */\n\t\t_n(\n\t\t\t'Install %1$s. %2$s stars with %3$s review.',\n\t\t\t'Install %1$s. %2$s stars with %3$s reviews.',\n\t\t\tratingCount\n\t\t),\n\t\tdecodeEntities( title ),\n\t\tstars,\n\t\tratingCount\n\t);\n}\n\nfunction DownloadableBlockListItem( { item, onClick } ) {\n\tconst { author, description, icon, rating, title } = item;\n\t// getBlockType returns a block object if this block exists, or null if not.\n\tconst isInstalled = !! getBlockType( item.name );\n\n\tconst { hasNotice, isInstalling, isInstallable } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getErrorNoticeForBlock, isInstalling: isBlockInstalling } =\n\t\t\t\tselect( blockDirectoryStore );\n\t\t\tconst notice = getErrorNoticeForBlock( item.id );\n\t\t\tconst hasFatal = notice && notice.isFatal;\n\t\t\treturn {\n\t\t\t\thasNotice: !! notice,\n\t\t\t\tisInstalling: isBlockInstalling( item.id ),\n\t\t\t\tisInstallable: ! hasFatal,\n\t\t\t};\n\t\t},\n\t\t[ item ]\n\t);\n\n\tlet statusText = '';\n\tif ( isInstalled ) {\n\t\tstatusText = __( 'Installed!' );\n\t} else if ( isInstalling ) {\n\t\tstatusText = __( 'Installing…' );\n\t}\n\n\tconst itemLabel = getDownloadableBlockLabel( item, {\n\t\thasNotice,\n\t\tisInstalled,\n\t\tisInstalling,\n\t} );\n\n\treturn (\n\t\t<Tooltip placement=\"top\" text={ itemLabel }>\n\t\t\t<Composite.Item\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-directory-downloadable-block-list-item',\n\t\t\t\t\tisInstalling && 'is-installing'\n\t\t\t\t) }\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tdisabled={ isInstalling || ! isInstallable }\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tonClick();\n\t\t\t\t} }\n\t\t\t\taria-label={ itemLabel }\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"option\"\n\t\t\t>\n\t\t\t\t<div className=\"block-directory-downloadable-block-list-item__icon\">\n\t\t\t\t\t<DownloadableBlockIcon icon={ icon } title={ title } />\n\t\t\t\t\t{ isInstalling ? (\n\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__spinner\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<BlockRatings rating={ rating } />\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__details\">\n\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__title\">\n\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t/* translators: 1: block title. 2: author name. */\n\t\t\t\t\t\t\t\t__( '%1$s <span>by %2$s</span>' ),\n\t\t\t\t\t\t\t\tdecodeEntities( title ),\n\t\t\t\t\t\t\t\tauthor\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__author\" />\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t{ hasNotice ? (\n\t\t\t\t\t\t<DownloadableBlockNotice block={ item } />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__desc\">\n\t\t\t\t\t\t\t\t{ !! statusText\n\t\t\t\t\t\t\t\t\t? statusText\n\t\t\t\t\t\t\t\t\t: decodeEntities( description ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{ isInstallable &&\n\t\t\t\t\t\t\t\t! ( isInstalled || isInstalling ) && (\n\t\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Install block' ) }\n\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\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</span>\n\t\t\t</Composite.Item>\n\t\t</Tooltip>\n\t);\n}\n\nexport default DownloadableBlockListItem;\n"],"mappings":"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","ignoreList":[]}
@@ -34,24 +34,24 @@ function getDownloadableBlockLabel({
34
34
  }) {
35
35
  const stars = Math.round(rating / 0.5) * 0.5;
36
36
  if (!isInstalled && hasNotice) {
37
- /* translators: %1$s: block title */
37
+ /* translators: %s: block title */
38
38
  return sprintf('Retry installing %s.', decodeEntities(title));
39
39
  }
40
40
  if (isInstalled) {
41
- /* translators: %1$s: block title */
41
+ /* translators: %s: block title */
42
42
  return sprintf('Add %s.', decodeEntities(title));
43
43
  }
44
44
  if (isInstalling) {
45
- /* translators: %1$s: block title */
45
+ /* translators: %s: block title */
46
46
  return sprintf('Installing %s.', decodeEntities(title));
47
47
  }
48
48
 
49
49
  // No ratings yet, just use the title.
50
50
  if (ratingCount < 1) {
51
- /* translators: %1$s: block title */
51
+ /* translators: %s: block title */
52
52
  return sprintf('Install %s.', decodeEntities(title));
53
53
  }
54
- return sprintf(/* translators: %1$s: block title, %2$s: average rating, %3$s: total ratings count. */
54
+ return sprintf(/* translators: 1: block title, 2: average rating, 3: total ratings count. */
55
55
  _n('Install %1$s. %2$s stars with %3$s review.', 'Install %1$s. %2$s stars with %3$s reviews.', ratingCount), decodeEntities(title), stars, ratingCount);
56
56
  }
57
57
  function DownloadableBlockListItem({
@@ -124,7 +124,7 @@ function DownloadableBlockListItem({
124
124
  className: "block-directory-downloadable-block-list-item__details",
125
125
  children: [/*#__PURE__*/_jsx("span", {
126
126
  className: "block-directory-downloadable-block-list-item__title",
127
- children: createInterpolateElement(sprintf(/* translators: %1$s: block title, %2$s: author name. */
127
+ children: createInterpolateElement(sprintf(/* translators: 1: block title. 2: author name. */
128
128
  __('%1$s <span>by %2$s</span>'), decodeEntities(title), author), {
129
129
  span: /*#__PURE__*/_jsx("span", {
130
130
  className: "block-directory-downloadable-block-list-item__author"
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","_n","sprintf","Tooltip","Spinner","VisuallyHidden","Composite","createInterpolateElement","decodeEntities","getBlockType","useSelect","BlockRatings","DownloadableBlockIcon","DownloadableBlockNotice","store","blockDirectoryStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getDownloadableBlockLabel","title","rating","ratingCount","hasNotice","isInstalled","isInstalling","stars","Math","round","DownloadableBlockListItem","item","onClick","author","description","icon","name","isInstallable","select","getErrorNoticeForBlock","isBlockInstalling","notice","id","hasFatal","isFatal","statusText","itemLabel","placement","text","children","Item","className","accessibleWhenDisabled","disabled","event","preventDefault","type","role","span","block"],"sources":["@wordpress/block-directory/src/components/downloadable-block-list-item/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tTooltip,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport { createInterpolateElement } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { getBlockType } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockRatings from '../block-ratings';\nimport DownloadableBlockIcon from '../downloadable-block-icon';\nimport DownloadableBlockNotice from '../downloadable-block-notice';\nimport { store as blockDirectoryStore } from '../../store';\n\n// Return the appropriate block item label, given the block data and status.\nfunction getDownloadableBlockLabel(\n\t{ title, rating, ratingCount },\n\t{ hasNotice, isInstalled, isInstalling }\n) {\n\tconst stars = Math.round( rating / 0.5 ) * 0.5;\n\n\tif ( ! isInstalled && hasNotice ) {\n\t\t/* translators: %1$s: block title */\n\t\treturn sprintf( 'Retry installing %s.', decodeEntities( title ) );\n\t}\n\n\tif ( isInstalled ) {\n\t\t/* translators: %1$s: block title */\n\t\treturn sprintf( 'Add %s.', decodeEntities( title ) );\n\t}\n\n\tif ( isInstalling ) {\n\t\t/* translators: %1$s: block title */\n\t\treturn sprintf( 'Installing %s.', decodeEntities( title ) );\n\t}\n\n\t// No ratings yet, just use the title.\n\tif ( ratingCount < 1 ) {\n\t\t/* translators: %1$s: block title */\n\t\treturn sprintf( 'Install %s.', decodeEntities( title ) );\n\t}\n\n\treturn sprintf(\n\t\t/* translators: %1$s: block title, %2$s: average rating, %3$s: total ratings count. */\n\t\t_n(\n\t\t\t'Install %1$s. %2$s stars with %3$s review.',\n\t\t\t'Install %1$s. %2$s stars with %3$s reviews.',\n\t\t\tratingCount\n\t\t),\n\t\tdecodeEntities( title ),\n\t\tstars,\n\t\tratingCount\n\t);\n}\n\nfunction DownloadableBlockListItem( { item, onClick } ) {\n\tconst { author, description, icon, rating, title } = item;\n\t// getBlockType returns a block object if this block exists, or null if not.\n\tconst isInstalled = !! getBlockType( item.name );\n\n\tconst { hasNotice, isInstalling, isInstallable } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getErrorNoticeForBlock, isInstalling: isBlockInstalling } =\n\t\t\t\tselect( blockDirectoryStore );\n\t\t\tconst notice = getErrorNoticeForBlock( item.id );\n\t\t\tconst hasFatal = notice && notice.isFatal;\n\t\t\treturn {\n\t\t\t\thasNotice: !! notice,\n\t\t\t\tisInstalling: isBlockInstalling( item.id ),\n\t\t\t\tisInstallable: ! hasFatal,\n\t\t\t};\n\t\t},\n\t\t[ item ]\n\t);\n\n\tlet statusText = '';\n\tif ( isInstalled ) {\n\t\tstatusText = __( 'Installed!' );\n\t} else if ( isInstalling ) {\n\t\tstatusText = __( 'Installing…' );\n\t}\n\n\tconst itemLabel = getDownloadableBlockLabel( item, {\n\t\thasNotice,\n\t\tisInstalled,\n\t\tisInstalling,\n\t} );\n\n\treturn (\n\t\t<Tooltip placement=\"top\" text={ itemLabel }>\n\t\t\t<Composite.Item\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-directory-downloadable-block-list-item',\n\t\t\t\t\tisInstalling && 'is-installing'\n\t\t\t\t) }\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tdisabled={ isInstalling || ! isInstallable }\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tonClick();\n\t\t\t\t} }\n\t\t\t\taria-label={ itemLabel }\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"option\"\n\t\t\t>\n\t\t\t\t<div className=\"block-directory-downloadable-block-list-item__icon\">\n\t\t\t\t\t<DownloadableBlockIcon icon={ icon } title={ title } />\n\t\t\t\t\t{ isInstalling ? (\n\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__spinner\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<BlockRatings rating={ rating } />\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__details\">\n\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__title\">\n\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t/* translators: %1$s: block title, %2$s: author name. */\n\t\t\t\t\t\t\t\t__( '%1$s <span>by %2$s</span>' ),\n\t\t\t\t\t\t\t\tdecodeEntities( title ),\n\t\t\t\t\t\t\t\tauthor\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__author\" />\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t{ hasNotice ? (\n\t\t\t\t\t\t<DownloadableBlockNotice block={ item } />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__desc\">\n\t\t\t\t\t\t\t\t{ !! statusText\n\t\t\t\t\t\t\t\t\t? statusText\n\t\t\t\t\t\t\t\t\t: decodeEntities( description ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{ isInstallable &&\n\t\t\t\t\t\t\t\t! ( isInstalled || isInstalling ) && (\n\t\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Install block' ) }\n\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\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</span>\n\t\t\t</Composite.Item>\n\t\t</Tooltip>\n\t);\n}\n\nexport default DownloadableBlockListItem;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","_n","sprintf","Tooltip","Spinner","VisuallyHidden","Composite","createInterpolateElement","decodeEntities","getBlockType","useSelect","BlockRatings","DownloadableBlockIcon","DownloadableBlockNotice","store","blockDirectoryStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getDownloadableBlockLabel","title","rating","ratingCount","hasNotice","isInstalled","isInstalling","stars","Math","round","DownloadableBlockListItem","item","onClick","author","description","icon","name","isInstallable","select","getErrorNoticeForBlock","isBlockInstalling","notice","id","hasFatal","isFatal","statusText","itemLabel","placement","text","children","Item","className","accessibleWhenDisabled","disabled","event","preventDefault","type","role","span","block"],"sources":["@wordpress/block-directory/src/components/downloadable-block-list-item/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tTooltip,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport { createInterpolateElement } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { getBlockType } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockRatings from '../block-ratings';\nimport DownloadableBlockIcon from '../downloadable-block-icon';\nimport DownloadableBlockNotice from '../downloadable-block-notice';\nimport { store as blockDirectoryStore } from '../../store';\n\n// Return the appropriate block item label, given the block data and status.\nfunction getDownloadableBlockLabel(\n\t{ title, rating, ratingCount },\n\t{ hasNotice, isInstalled, isInstalling }\n) {\n\tconst stars = Math.round( rating / 0.5 ) * 0.5;\n\n\tif ( ! isInstalled && hasNotice ) {\n\t\t/* translators: %s: block title */\n\t\treturn sprintf( 'Retry installing %s.', decodeEntities( title ) );\n\t}\n\n\tif ( isInstalled ) {\n\t\t/* translators: %s: block title */\n\t\treturn sprintf( 'Add %s.', decodeEntities( title ) );\n\t}\n\n\tif ( isInstalling ) {\n\t\t/* translators: %s: block title */\n\t\treturn sprintf( 'Installing %s.', decodeEntities( title ) );\n\t}\n\n\t// No ratings yet, just use the title.\n\tif ( ratingCount < 1 ) {\n\t\t/* translators: %s: block title */\n\t\treturn sprintf( 'Install %s.', decodeEntities( title ) );\n\t}\n\n\treturn sprintf(\n\t\t/* translators: 1: block title, 2: average rating, 3: total ratings count. */\n\t\t_n(\n\t\t\t'Install %1$s. %2$s stars with %3$s review.',\n\t\t\t'Install %1$s. %2$s stars with %3$s reviews.',\n\t\t\tratingCount\n\t\t),\n\t\tdecodeEntities( title ),\n\t\tstars,\n\t\tratingCount\n\t);\n}\n\nfunction DownloadableBlockListItem( { item, onClick } ) {\n\tconst { author, description, icon, rating, title } = item;\n\t// getBlockType returns a block object if this block exists, or null if not.\n\tconst isInstalled = !! getBlockType( item.name );\n\n\tconst { hasNotice, isInstalling, isInstallable } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getErrorNoticeForBlock, isInstalling: isBlockInstalling } =\n\t\t\t\tselect( blockDirectoryStore );\n\t\t\tconst notice = getErrorNoticeForBlock( item.id );\n\t\t\tconst hasFatal = notice && notice.isFatal;\n\t\t\treturn {\n\t\t\t\thasNotice: !! notice,\n\t\t\t\tisInstalling: isBlockInstalling( item.id ),\n\t\t\t\tisInstallable: ! hasFatal,\n\t\t\t};\n\t\t},\n\t\t[ item ]\n\t);\n\n\tlet statusText = '';\n\tif ( isInstalled ) {\n\t\tstatusText = __( 'Installed!' );\n\t} else if ( isInstalling ) {\n\t\tstatusText = __( 'Installing…' );\n\t}\n\n\tconst itemLabel = getDownloadableBlockLabel( item, {\n\t\thasNotice,\n\t\tisInstalled,\n\t\tisInstalling,\n\t} );\n\n\treturn (\n\t\t<Tooltip placement=\"top\" text={ itemLabel }>\n\t\t\t<Composite.Item\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-directory-downloadable-block-list-item',\n\t\t\t\t\tisInstalling && 'is-installing'\n\t\t\t\t) }\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tdisabled={ isInstalling || ! isInstallable }\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tonClick();\n\t\t\t\t} }\n\t\t\t\taria-label={ itemLabel }\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"option\"\n\t\t\t>\n\t\t\t\t<div className=\"block-directory-downloadable-block-list-item__icon\">\n\t\t\t\t\t<DownloadableBlockIcon icon={ icon } title={ title } />\n\t\t\t\t\t{ isInstalling ? (\n\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__spinner\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<BlockRatings rating={ rating } />\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__details\">\n\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__title\">\n\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t/* translators: 1: block title. 2: author name. */\n\t\t\t\t\t\t\t\t__( '%1$s <span>by %2$s</span>' ),\n\t\t\t\t\t\t\t\tdecodeEntities( title ),\n\t\t\t\t\t\t\t\tauthor\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__author\" />\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t{ hasNotice ? (\n\t\t\t\t\t\t<DownloadableBlockNotice block={ item } />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__desc\">\n\t\t\t\t\t\t\t\t{ !! statusText\n\t\t\t\t\t\t\t\t\t? statusText\n\t\t\t\t\t\t\t\t\t: decodeEntities( description ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{ isInstallable &&\n\t\t\t\t\t\t\t\t! ( isInstalled || isInstalling ) && (\n\t\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Install block' ) }\n\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\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</span>\n\t\t\t</Composite.Item>\n\t\t</Tooltip>\n\t);\n}\n\nexport default DownloadableBlockListItem;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AACjD,SACCC,OAAO,EACPC,OAAO,EACPC,cAAc,EACdC,SAAS,QACH,uBAAuB;AAC9B,SAASC,wBAAwB,QAAQ,oBAAoB;AAC7D,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,qBAAqB,MAAM,4BAA4B;AAC9D,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,SAASC,KAAK,IAAIC,mBAAmB,QAAQ,aAAa;;AAE1D;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AACA,SAASC,yBAAyBA,CACjC;EAAEC,KAAK;EAAEC,MAAM;EAAEC;AAAY,CAAC,EAC9B;EAAEC,SAAS;EAAEC,WAAW;EAAEC;AAAa,CAAC,EACvC;EACD,MAAMC,KAAK,GAAGC,IAAI,CAACC,KAAK,CAAEP,MAAM,GAAG,GAAI,CAAC,GAAG,GAAG;EAE9C,IAAK,CAAEG,WAAW,IAAID,SAAS,EAAG;IACjC;IACA,OAAOxB,OAAO,CAAE,sBAAsB,EAAEM,cAAc,CAAEe,KAAM,CAAE,CAAC;EAClE;EAEA,IAAKI,WAAW,EAAG;IAClB;IACA,OAAOzB,OAAO,CAAE,SAAS,EAAEM,cAAc,CAAEe,KAAM,CAAE,CAAC;EACrD;EAEA,IAAKK,YAAY,EAAG;IACnB;IACA,OAAO1B,OAAO,CAAE,gBAAgB,EAAEM,cAAc,CAAEe,KAAM,CAAE,CAAC;EAC5D;;EAEA;EACA,IAAKE,WAAW,GAAG,CAAC,EAAG;IACtB;IACA,OAAOvB,OAAO,CAAE,aAAa,EAAEM,cAAc,CAAEe,KAAM,CAAE,CAAC;EACzD;EAEA,OAAOrB,OAAO,CACb;EACAD,EAAE,CACD,4CAA4C,EAC5C,6CAA6C,EAC7CwB,WACD,CAAC,EACDjB,cAAc,CAAEe,KAAM,CAAC,EACvBM,KAAK,EACLJ,WACD,CAAC;AACF;AAEA,SAASO,yBAAyBA,CAAE;EAAEC,IAAI;EAAEC;AAAQ,CAAC,EAAG;EACvD,MAAM;IAAEC,MAAM;IAAEC,WAAW;IAAEC,IAAI;IAAEb,MAAM;IAAED;EAAM,CAAC,GAAGU,IAAI;EACzD;EACA,MAAMN,WAAW,GAAG,CAAC,CAAElB,YAAY,CAAEwB,IAAI,CAACK,IAAK,CAAC;EAEhD,MAAM;IAAEZ,SAAS;IAAEE,YAAY;IAAEW;EAAc,CAAC,GAAG7B,SAAS,CACzD8B,MAAM,IAAM;IACb,MAAM;MAAEC,sBAAsB;MAAEb,YAAY,EAAEc;IAAkB,CAAC,GAChEF,MAAM,CAAEzB,mBAAoB,CAAC;IAC9B,MAAM4B,MAAM,GAAGF,sBAAsB,CAAER,IAAI,CAACW,EAAG,CAAC;IAChD,MAAMC,QAAQ,GAAGF,MAAM,IAAIA,MAAM,CAACG,OAAO;IACzC,OAAO;MACNpB,SAAS,EAAE,CAAC,CAAEiB,MAAM;MACpBf,YAAY,EAAEc,iBAAiB,CAAET,IAAI,CAACW,EAAG,CAAC;MAC1CL,aAAa,EAAE,CAAEM;IAClB,CAAC;EACF,CAAC,EACD,CAAEZ,IAAI,CACP,CAAC;EAED,IAAIc,UAAU,GAAG,EAAE;EACnB,IAAKpB,WAAW,EAAG;IAClBoB,UAAU,GAAG/C,EAAE,CAAE,YAAa,CAAC;EAChC,CAAC,MAAM,IAAK4B,YAAY,EAAG;IAC1BmB,UAAU,GAAG/C,EAAE,CAAE,aAAc,CAAC;EACjC;EAEA,MAAMgD,SAAS,GAAG1B,yBAAyB,CAAEW,IAAI,EAAE;IAClDP,SAAS;IACTC,WAAW;IACXC;EACD,CAAE,CAAC;EAEH,oBACCX,IAAA,CAACd,OAAO;IAAC8C,SAAS,EAAC,KAAK;IAACC,IAAI,EAAGF,SAAW;IAAAG,QAAA,eAC1ChC,KAAA,CAACb,SAAS,CAAC8C,IAAI;MACdC,SAAS,EAAGtD,IAAI,CACf,8CAA8C,EAC9C6B,YAAY,IAAI,eACjB,CAAG;MACH0B,sBAAsB;MACtBC,QAAQ,EAAG3B,YAAY,IAAI,CAAEW,aAAe;MAC5CL,OAAO,EAAKsB,KAAK,IAAM;QACtBA,KAAK,CAACC,cAAc,CAAC,CAAC;QACtBvB,OAAO,CAAC,CAAC;MACV,CAAG;MACH,cAAac,SAAW;MACxBU,IAAI,EAAC,QAAQ;MACbC,IAAI,EAAC,QAAQ;MAAAR,QAAA,gBAEbhC,KAAA;QAAKkC,SAAS,EAAC,oDAAoD;QAAAF,QAAA,gBAClElC,IAAA,CAACL,qBAAqB;UAACyB,IAAI,EAAGA,IAAM;UAACd,KAAK,EAAGA;QAAO,CAAE,CAAC,EACrDK,YAAY,gBACbX,IAAA;UAAMoC,SAAS,EAAC,uDAAuD;UAAAF,QAAA,eACtElC,IAAA,CAACb,OAAO,IAAE;QAAC,CACN,CAAC,gBAEPa,IAAA,CAACN,YAAY;UAACa,MAAM,EAAGA;QAAQ,CAAE,CACjC;MAAA,CACG,CAAC,eACNL,KAAA;QAAMkC,SAAS,EAAC,uDAAuD;QAAAF,QAAA,gBACtElC,IAAA;UAAMoC,SAAS,EAAC,qDAAqD;UAAAF,QAAA,EAClE5C,wBAAwB,CACzBL,OAAO,CACN;UACAF,EAAE,CAAE,2BAA4B,CAAC,EACjCQ,cAAc,CAAEe,KAAM,CAAC,EACvBY,MACD,CAAC,EACD;YACCyB,IAAI,eACH3C,IAAA;cAAMoC,SAAS,EAAC;YAAsD,CAAE;UAE1E,CACD;QAAC,CACI,CAAC,EACL3B,SAAS,gBACVT,IAAA,CAACJ,uBAAuB;UAACgD,KAAK,EAAG5B;QAAM,CAAE,CAAC,gBAE1Cd,KAAA,CAAAE,SAAA;UAAA8B,QAAA,gBACClC,IAAA;YAAMoC,SAAS,EAAC,oDAAoD;YAAAF,QAAA,EACjE,CAAC,CAAEJ,UAAU,GACZA,UAAU,GACVvC,cAAc,CAAE4B,WAAY;UAAC,CAC3B,CAAC,EACLG,aAAa,IACd,EAAIZ,WAAW,IAAIC,YAAY,CAAE,iBAChCX,IAAA,CAACZ,cAAc;YAAA8C,QAAA,EACZnD,EAAE,CAAE,eAAgB;UAAC,CACR,CAChB;QAAA,CACD,CACF;MAAA,CACI,CAAC;IAAA,CACQ;EAAC,CACT,CAAC;AAEZ;AAEA,eAAegC,yBAAyB","ignoreList":[]}
@@ -192,16 +192,7 @@
192
192
  outline: 2px solid transparent;
193
193
  }
194
194
  .block-directory-downloadable-block-list-item.is-installing .block-directory-downloadable-block-list-item__author {
195
- border: 0;
196
- clip: rect(1px, 1px, 1px, 1px);
197
- clip-path: inset(50%);
198
- height: 1px;
199
- margin: -1px;
200
- overflow: hidden;
201
- padding: 0;
202
- position: absolute;
203
- width: 1px;
204
- word-wrap: normal !important;
195
+ display: none;
205
196
  }
206
197
 
207
198
  .block-directory-downloadable-block-list-item__icon {
@@ -192,16 +192,7 @@
192
192
  outline: 2px solid transparent;
193
193
  }
194
194
  .block-directory-downloadable-block-list-item.is-installing .block-directory-downloadable-block-list-item__author {
195
- border: 0;
196
- clip: rect(1px, 1px, 1px, 1px);
197
- clip-path: inset(50%);
198
- height: 1px;
199
- margin: -1px;
200
- overflow: hidden;
201
- padding: 0;
202
- position: absolute;
203
- width: 1px;
204
- word-wrap: normal !important;
195
+ display: none;
205
196
  }
206
197
 
207
198
  .block-directory-downloadable-block-list-item__icon {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-directory",
3
- "version": "5.10.0",
3
+ "version": "5.12.0",
4
4
  "description": "Extend editor with block directory features to search, download and install blocks.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -25,26 +25,27 @@
25
25
  "main": "build/index.js",
26
26
  "module": "build-module/index.js",
27
27
  "react-native": "src/index",
28
+ "wpScript": true,
28
29
  "dependencies": {
29
30
  "@babel/runtime": "7.25.7",
30
- "@wordpress/a11y": "^4.10.0",
31
- "@wordpress/api-fetch": "^7.10.0",
32
- "@wordpress/block-editor": "^14.5.0",
33
- "@wordpress/blocks": "^13.10.0",
34
- "@wordpress/components": "^28.10.0",
35
- "@wordpress/compose": "^7.10.0",
36
- "@wordpress/core-data": "^7.10.0",
37
- "@wordpress/data": "^10.10.0",
38
- "@wordpress/editor": "^14.10.0",
39
- "@wordpress/element": "^6.10.0",
40
- "@wordpress/hooks": "^4.10.0",
41
- "@wordpress/html-entities": "^4.10.0",
42
- "@wordpress/i18n": "^5.10.0",
43
- "@wordpress/icons": "^10.10.0",
44
- "@wordpress/notices": "^5.10.0",
45
- "@wordpress/plugins": "^7.10.0",
46
- "@wordpress/private-apis": "^1.10.0",
47
- "@wordpress/url": "^4.10.0",
31
+ "@wordpress/a11y": "*",
32
+ "@wordpress/api-fetch": "*",
33
+ "@wordpress/block-editor": "*",
34
+ "@wordpress/blocks": "*",
35
+ "@wordpress/components": "*",
36
+ "@wordpress/compose": "*",
37
+ "@wordpress/core-data": "*",
38
+ "@wordpress/data": "*",
39
+ "@wordpress/editor": "*",
40
+ "@wordpress/element": "*",
41
+ "@wordpress/hooks": "*",
42
+ "@wordpress/html-entities": "*",
43
+ "@wordpress/i18n": "*",
44
+ "@wordpress/icons": "*",
45
+ "@wordpress/notices": "*",
46
+ "@wordpress/plugins": "*",
47
+ "@wordpress/private-apis": "*",
48
+ "@wordpress/url": "*",
48
49
  "change-case": "^4.1.2",
49
50
  "clsx": "^2.1.1"
50
51
  },
@@ -55,5 +56,5 @@
55
56
  "publishConfig": {
56
57
  "access": "public"
57
58
  },
58
- "gitHead": "ab34a7ac935fd1478eac63b596242d83270897ee"
59
+ "gitHead": "510540d99f3d222a96f08d3d7b66c9e7a726f705"
59
60
  }
@@ -34,28 +34,28 @@ function getDownloadableBlockLabel(
34
34
  const stars = Math.round( rating / 0.5 ) * 0.5;
35
35
 
36
36
  if ( ! isInstalled && hasNotice ) {
37
- /* translators: %1$s: block title */
37
+ /* translators: %s: block title */
38
38
  return sprintf( 'Retry installing %s.', decodeEntities( title ) );
39
39
  }
40
40
 
41
41
  if ( isInstalled ) {
42
- /* translators: %1$s: block title */
42
+ /* translators: %s: block title */
43
43
  return sprintf( 'Add %s.', decodeEntities( title ) );
44
44
  }
45
45
 
46
46
  if ( isInstalling ) {
47
- /* translators: %1$s: block title */
47
+ /* translators: %s: block title */
48
48
  return sprintf( 'Installing %s.', decodeEntities( title ) );
49
49
  }
50
50
 
51
51
  // No ratings yet, just use the title.
52
52
  if ( ratingCount < 1 ) {
53
- /* translators: %1$s: block title */
53
+ /* translators: %s: block title */
54
54
  return sprintf( 'Install %s.', decodeEntities( title ) );
55
55
  }
56
56
 
57
57
  return sprintf(
58
- /* translators: %1$s: block title, %2$s: average rating, %3$s: total ratings count. */
58
+ /* translators: 1: block title, 2: average rating, 3: total ratings count. */
59
59
  _n(
60
60
  'Install %1$s. %2$s stars with %3$s review.',
61
61
  'Install %1$s. %2$s stars with %3$s reviews.',
@@ -131,7 +131,7 @@ function DownloadableBlockListItem( { item, onClick } ) {
131
131
  <span className="block-directory-downloadable-block-list-item__title">
132
132
  { createInterpolateElement(
133
133
  sprintf(
134
- /* translators: %1$s: block title, %2$s: author name. */
134
+ /* translators: 1: block title. 2: author name. */
135
135
  __( '%1$s <span>by %2$s</span>' ),
136
136
  decodeEntities( title ),
137
137
  author
@@ -38,17 +38,7 @@
38
38
 
39
39
  &.is-installing {
40
40
  .block-directory-downloadable-block-list-item__author {
41
- border: 0;
42
- clip: rect(1px, 1px, 1px, 1px);
43
- -webkit-clip-path: inset(50%);
44
- clip-path: inset(50%);
45
- height: 1px;
46
- margin: -1px;
47
- overflow: hidden;
48
- padding: 0;
49
- position: absolute;
50
- width: 1px;
51
- word-wrap: normal !important;
41
+ display: none;
52
42
  }
53
43
  }
54
44
  }