@wordpress/block-directory 4.11.0 → 4.12.1

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 (74) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-ratings/index.js +7 -10
  3. package/build/components/block-ratings/index.js.map +1 -1
  4. package/build/components/block-ratings/stars.js +3 -4
  5. package/build/components/block-ratings/stars.js.map +1 -1
  6. package/build/components/compact-list/index.js +23 -28
  7. package/build/components/compact-list/index.js.map +1 -1
  8. package/build/components/downloadable-block-icon/index.js +3 -4
  9. package/build/components/downloadable-block-icon/index.js.map +1 -1
  10. package/build/components/downloadable-block-list-item/index.js +18 -23
  11. package/build/components/downloadable-block-list-item/index.js.map +1 -1
  12. package/build/components/downloadable-block-notice/index.js +3 -4
  13. package/build/components/downloadable-block-notice/index.js.map +1 -1
  14. package/build/components/downloadable-blocks-list/index.js +7 -10
  15. package/build/components/downloadable-blocks-list/index.js.map +1 -1
  16. package/build/components/downloadable-blocks-panel/index.js +13 -16
  17. package/build/components/downloadable-blocks-panel/index.js.map +1 -1
  18. package/build/components/downloadable-blocks-panel/inserter-panel.js +5 -6
  19. package/build/components/downloadable-blocks-panel/inserter-panel.js.map +1 -1
  20. package/build/plugins/get-install-missing/index.js +13 -17
  21. package/build/plugins/get-install-missing/index.js.map +1 -1
  22. package/build/plugins/get-install-missing/install-button.js +5 -6
  23. package/build/plugins/get-install-missing/install-button.js.map +1 -1
  24. package/build/plugins/inserter-menu-downloadable-blocks-panel/index.js +7 -9
  25. package/build/plugins/inserter-menu-downloadable-blocks-panel/index.js.map +1 -1
  26. package/build/plugins/installed-blocks-pre-publish-panel/index.js +2 -2
  27. package/build/plugins/installed-blocks-pre-publish-panel/index.js.map +1 -1
  28. package/build/store/actions.js +10 -17
  29. package/build/store/actions.js.map +1 -1
  30. package/build/store/reducer.js +6 -15
  31. package/build/store/reducer.js.map +1 -1
  32. package/build/store/resolvers.js +4 -9
  33. package/build/store/resolvers.js.map +1 -1
  34. package/build/store/selectors.js +4 -4
  35. package/build/store/selectors.js.map +1 -1
  36. package/build/store/utils/has-block-type.js +4 -9
  37. package/build/store/utils/has-block-type.js.map +1 -1
  38. package/build-module/components/block-ratings/index.js +7 -10
  39. package/build-module/components/block-ratings/index.js.map +1 -1
  40. package/build-module/components/block-ratings/stars.js +3 -4
  41. package/build-module/components/block-ratings/stars.js.map +1 -1
  42. package/build-module/components/compact-list/index.js +23 -28
  43. package/build-module/components/compact-list/index.js.map +1 -1
  44. package/build-module/components/downloadable-block-icon/index.js +3 -4
  45. package/build-module/components/downloadable-block-icon/index.js.map +1 -1
  46. package/build-module/components/downloadable-block-list-item/index.js +18 -22
  47. package/build-module/components/downloadable-block-list-item/index.js.map +1 -1
  48. package/build-module/components/downloadable-block-notice/index.js +3 -4
  49. package/build-module/components/downloadable-block-notice/index.js.map +1 -1
  50. package/build-module/components/downloadable-blocks-list/index.js +7 -9
  51. package/build-module/components/downloadable-blocks-list/index.js.map +1 -1
  52. package/build-module/components/downloadable-blocks-panel/index.js +13 -16
  53. package/build-module/components/downloadable-blocks-panel/index.js.map +1 -1
  54. package/build-module/components/downloadable-blocks-panel/inserter-panel.js +5 -6
  55. package/build-module/components/downloadable-blocks-panel/inserter-panel.js.map +1 -1
  56. package/build-module/plugins/get-install-missing/index.js +13 -16
  57. package/build-module/plugins/get-install-missing/index.js.map +1 -1
  58. package/build-module/plugins/get-install-missing/install-button.js +5 -6
  59. package/build-module/plugins/get-install-missing/install-button.js.map +1 -1
  60. package/build-module/plugins/inserter-menu-downloadable-blocks-panel/index.js +7 -9
  61. package/build-module/plugins/inserter-menu-downloadable-blocks-panel/index.js.map +1 -1
  62. package/build-module/plugins/installed-blocks-pre-publish-panel/index.js +2 -2
  63. package/build-module/plugins/installed-blocks-pre-publish-panel/index.js.map +1 -1
  64. package/build-module/store/actions.js +10 -17
  65. package/build-module/store/actions.js.map +1 -1
  66. package/build-module/store/reducer.js +6 -15
  67. package/build-module/store/reducer.js.map +1 -1
  68. package/build-module/store/resolvers.js +4 -9
  69. package/build-module/store/resolvers.js.map +1 -1
  70. package/build-module/store/selectors.js +4 -4
  71. package/build-module/store/selectors.js.map +1 -1
  72. package/build-module/store/utils/has-block-type.js +4 -9
  73. package/build-module/store/utils/has-block-type.js.map +1 -1
  74. package/package.json +20 -20
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 4.12.0 (2023-06-07)
6
+
5
7
  ## 4.11.0 (2023-05-24)
6
8
 
7
9
  ## 4.10.0 (2023-05-10)
@@ -14,16 +14,13 @@ var _stars = _interopRequireDefault(require("./stars"));
14
14
  /**
15
15
  * Internal dependencies
16
16
  */
17
- const BlockRatings = _ref => {
18
- let {
19
- rating
20
- } = _ref;
21
- return (0, _element.createElement)("span", {
22
- className: "block-directory-block-ratings"
23
- }, (0, _element.createElement)(_stars.default, {
24
- rating: rating
25
- }));
26
- };
17
+ const BlockRatings = ({
18
+ rating
19
+ }) => (0, _element.createElement)("span", {
20
+ className: "block-directory-block-ratings"
21
+ }, (0, _element.createElement)(_stars.default, {
22
+ rating: rating
23
+ }));
27
24
 
28
25
  exports.BlockRatings = BlockRatings;
29
26
  var _default = BlockRatings;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-directory/src/components/block-ratings/index.js"],"names":["BlockRatings","rating"],"mappings":";;;;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,MAAMA,YAAY,GAAG;AAAA,MAAE;AAAEC,IAAAA;AAAF,GAAF;AAAA,SAC3B;AAAM,IAAA,SAAS,EAAC;AAAhB,KACC,4BAAC,cAAD;AAAO,IAAA,MAAM,EAAGA;AAAhB,IADD,CAD2B;AAAA,CAArB;;;eAMQD,Y","sourcesContent":["/**\n * Internal dependencies\n */\nimport Stars from './stars';\n\nexport const BlockRatings = ( { rating } ) => (\n\t<span className=\"block-directory-block-ratings\">\n\t\t<Stars rating={ rating } />\n\t</span>\n);\n\nexport default BlockRatings;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-directory/src/components/block-ratings/index.js"],"names":["BlockRatings","rating"],"mappings":";;;;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,MAAMA,YAAY,GAAG,CAAE;AAAEC,EAAAA;AAAF,CAAF,KAC3B;AAAM,EAAA,SAAS,EAAC;AAAhB,GACC,4BAAC,cAAD;AAAO,EAAA,MAAM,EAAGA;AAAhB,EADD,CADM;;;eAMQD,Y","sourcesContent":["/**\n * Internal dependencies\n */\nimport Stars from './stars';\n\nexport const BlockRatings = ( { rating } ) => (\n\t<span className=\"block-directory-block-ratings\">\n\t\t<Stars rating={ rating } />\n\t</span>\n);\n\nexport default BlockRatings;\n"]}
@@ -14,10 +14,9 @@ var _icons = require("@wordpress/icons");
14
14
  /**
15
15
  * WordPress dependencies
16
16
  */
17
- function Stars(_ref) {
18
- let {
19
- rating
20
- } = _ref;
17
+ function Stars({
18
+ rating
19
+ }) {
21
20
  const stars = Math.round(rating / 0.5) * 0.5;
22
21
  const fullStarCount = Math.floor(rating);
23
22
  const halfStarCount = Math.ceil(rating - fullStarCount);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-directory/src/components/block-ratings/stars.js"],"names":["Stars","rating","stars","Math","round","fullStarCount","floor","halfStarCount","ceil","emptyStarCount","Array","from","length","map","_","i","starFilled","starHalf","starEmpty"],"mappings":";;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,SAASA,KAAT,OAA6B;AAAA,MAAb;AAAEC,IAAAA;AAAF,GAAa;AAC5B,QAAMC,KAAK,GAAGC,IAAI,CAACC,KAAL,CAAYH,MAAM,GAAG,GAArB,IAA6B,GAA3C;AAEA,QAAMI,aAAa,GAAGF,IAAI,CAACG,KAAL,CAAYL,MAAZ,CAAtB;AACA,QAAMM,aAAa,GAAGJ,IAAI,CAACK,IAAL,CAAWP,MAAM,GAAGI,aAApB,CAAtB;AACA,QAAMI,cAAc,GAAG,KAAMJ,aAAa,GAAGE,aAAtB,CAAvB;AAEA,SACC;AACC,kBAAa;AACZ;AACA,kBAAI,mBAAJ,CAFY,EAGZL,KAHY;AADd,KAOGQ,KAAK,CAACC,IAAN,CAAY;AAAEC,IAAAA,MAAM,EAAEP;AAAV,GAAZ,EAAwCQ,GAAxC,CAA6C,CAAEC,CAAF,EAAKC,CAAL,KAC9C,4BAAC,WAAD;AACC,IAAA,GAAG,EAAI,cAAcA,CAAG,EADzB;AAEC,IAAA,SAAS,EAAC,0CAFX;AAGC,IAAA,IAAI,EAAGC,iBAHR;AAIC,IAAA,IAAI,EAAG;AAJR,IADC,CAPH,EAeGN,KAAK,CAACC,IAAN,CAAY;AAAEC,IAAAA,MAAM,EAAEL;AAAV,GAAZ,EAAwCM,GAAxC,CAA6C,CAAEC,CAAF,EAAKC,CAAL,KAC9C,4BAAC,WAAD;AACC,IAAA,GAAG,EAAI,cAAcA,CAAG,EADzB;AAEC,IAAA,SAAS,EAAC,+CAFX;AAGC,IAAA,IAAI,EAAGE,eAHR;AAIC,IAAA,IAAI,EAAG;AAJR,IADC,CAfH,EAuBGP,KAAK,CAACC,IAAN,CAAY;AAAEC,IAAAA,MAAM,EAAEH;AAAV,GAAZ,EAAyCI,GAAzC,CAA8C,CAAEC,CAAF,EAAKC,CAAL,KAC/C,4BAAC,WAAD;AACC,IAAA,GAAG,EAAI,eAAeA,CAAG,EAD1B;AAEC,IAAA,SAAS,EAAC,2CAFX;AAGC,IAAA,IAAI,EAAGG,gBAHR;AAIC,IAAA,IAAI,EAAG;AAJR,IADC,CAvBH,CADD;AAkCA;;eAEclB,K","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Icon, starEmpty, starFilled, starHalf } from '@wordpress/icons';\n\nfunction Stars( { rating } ) {\n\tconst stars = Math.round( rating / 0.5 ) * 0.5;\n\n\tconst fullStarCount = Math.floor( rating );\n\tconst halfStarCount = Math.ceil( rating - fullStarCount );\n\tconst emptyStarCount = 5 - ( fullStarCount + halfStarCount );\n\n\treturn (\n\t\t<span\n\t\t\taria-label={ sprintf(\n\t\t\t\t/* translators: %s: number of stars. */\n\t\t\t\t__( '%s out of 5 stars' ),\n\t\t\t\tstars\n\t\t\t) }\n\t\t>\n\t\t\t{ Array.from( { length: fullStarCount } ).map( ( _, i ) => (\n\t\t\t\t<Icon\n\t\t\t\t\tkey={ `full_stars_${ i }` }\n\t\t\t\t\tclassName=\"block-directory-block-ratings__star-full\"\n\t\t\t\t\ticon={ starFilled }\n\t\t\t\t\tsize={ 16 }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t\t{ Array.from( { length: halfStarCount } ).map( ( _, i ) => (\n\t\t\t\t<Icon\n\t\t\t\t\tkey={ `half_stars_${ i }` }\n\t\t\t\t\tclassName=\"block-directory-block-ratings__star-half-full\"\n\t\t\t\t\ticon={ starHalf }\n\t\t\t\t\tsize={ 16 }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t\t{ Array.from( { length: emptyStarCount } ).map( ( _, i ) => (\n\t\t\t\t<Icon\n\t\t\t\t\tkey={ `empty_stars_${ i }` }\n\t\t\t\t\tclassName=\"block-directory-block-ratings__star-empty\"\n\t\t\t\t\ticon={ starEmpty }\n\t\t\t\t\tsize={ 16 }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</span>\n\t);\n}\n\nexport default Stars;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-directory/src/components/block-ratings/stars.js"],"names":["Stars","rating","stars","Math","round","fullStarCount","floor","halfStarCount","ceil","emptyStarCount","Array","from","length","map","_","i","starFilled","starHalf","starEmpty"],"mappings":";;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,SAASA,KAAT,CAAgB;AAAEC,EAAAA;AAAF,CAAhB,EAA6B;AAC5B,QAAMC,KAAK,GAAGC,IAAI,CAACC,KAAL,CAAYH,MAAM,GAAG,GAArB,IAA6B,GAA3C;AAEA,QAAMI,aAAa,GAAGF,IAAI,CAACG,KAAL,CAAYL,MAAZ,CAAtB;AACA,QAAMM,aAAa,GAAGJ,IAAI,CAACK,IAAL,CAAWP,MAAM,GAAGI,aAApB,CAAtB;AACA,QAAMI,cAAc,GAAG,KAAMJ,aAAa,GAAGE,aAAtB,CAAvB;AAEA,SACC;AACC,kBAAa;AACZ;AACA,kBAAI,mBAAJ,CAFY,EAGZL,KAHY;AADd,KAOGQ,KAAK,CAACC,IAAN,CAAY;AAAEC,IAAAA,MAAM,EAAEP;AAAV,GAAZ,EAAwCQ,GAAxC,CAA6C,CAAEC,CAAF,EAAKC,CAAL,KAC9C,4BAAC,WAAD;AACC,IAAA,GAAG,EAAI,cAAcA,CAAG,EADzB;AAEC,IAAA,SAAS,EAAC,0CAFX;AAGC,IAAA,IAAI,EAAGC,iBAHR;AAIC,IAAA,IAAI,EAAG;AAJR,IADC,CAPH,EAeGN,KAAK,CAACC,IAAN,CAAY;AAAEC,IAAAA,MAAM,EAAEL;AAAV,GAAZ,EAAwCM,GAAxC,CAA6C,CAAEC,CAAF,EAAKC,CAAL,KAC9C,4BAAC,WAAD;AACC,IAAA,GAAG,EAAI,cAAcA,CAAG,EADzB;AAEC,IAAA,SAAS,EAAC,+CAFX;AAGC,IAAA,IAAI,EAAGE,eAHR;AAIC,IAAA,IAAI,EAAG;AAJR,IADC,CAfH,EAuBGP,KAAK,CAACC,IAAN,CAAY;AAAEC,IAAAA,MAAM,EAAEH;AAAV,GAAZ,EAAyCI,GAAzC,CAA8C,CAAEC,CAAF,EAAKC,CAAL,KAC/C,4BAAC,WAAD;AACC,IAAA,GAAG,EAAI,eAAeA,CAAG,EAD1B;AAEC,IAAA,SAAS,EAAC,2CAFX;AAGC,IAAA,IAAI,EAAGG,gBAHR;AAIC,IAAA,IAAI,EAAG;AAJR,IADC,CAvBH,CADD;AAkCA;;eAEclB,K","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Icon, starEmpty, starFilled, starHalf } from '@wordpress/icons';\n\nfunction Stars( { rating } ) {\n\tconst stars = Math.round( rating / 0.5 ) * 0.5;\n\n\tconst fullStarCount = Math.floor( rating );\n\tconst halfStarCount = Math.ceil( rating - fullStarCount );\n\tconst emptyStarCount = 5 - ( fullStarCount + halfStarCount );\n\n\treturn (\n\t\t<span\n\t\t\taria-label={ sprintf(\n\t\t\t\t/* translators: %s: number of stars. */\n\t\t\t\t__( '%s out of 5 stars' ),\n\t\t\t\tstars\n\t\t\t) }\n\t\t>\n\t\t\t{ Array.from( { length: fullStarCount } ).map( ( _, i ) => (\n\t\t\t\t<Icon\n\t\t\t\t\tkey={ `full_stars_${ i }` }\n\t\t\t\t\tclassName=\"block-directory-block-ratings__star-full\"\n\t\t\t\t\ticon={ starFilled }\n\t\t\t\t\tsize={ 16 }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t\t{ Array.from( { length: halfStarCount } ).map( ( _, i ) => (\n\t\t\t\t<Icon\n\t\t\t\t\tkey={ `half_stars_${ i }` }\n\t\t\t\t\tclassName=\"block-directory-block-ratings__star-half-full\"\n\t\t\t\t\ticon={ starHalf }\n\t\t\t\t\tsize={ 16 }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t\t{ Array.from( { length: emptyStarCount } ).map( ( _, i ) => (\n\t\t\t\t<Icon\n\t\t\t\t\tkey={ `empty_stars_${ i }` }\n\t\t\t\t\tclassName=\"block-directory-block-ratings__star-empty\"\n\t\t\t\t\ticon={ starEmpty }\n\t\t\t\t\tsize={ 16 }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</span>\n\t);\n}\n\nexport default Stars;\n"]}
@@ -20,39 +20,34 @@ var _downloadableBlockIcon = _interopRequireDefault(require("../downloadable-blo
20
20
  /**
21
21
  * Internal dependencies
22
22
  */
23
- function CompactList(_ref) {
24
- let {
25
- items
26
- } = _ref;
27
-
23
+ function CompactList({
24
+ items
25
+ }) {
28
26
  if (!items.length) {
29
27
  return null;
30
28
  }
31
29
 
32
30
  return (0, _element.createElement)("ul", {
33
31
  className: "block-directory-compact-list"
34
- }, items.map(_ref2 => {
35
- let {
36
- icon,
37
- id,
38
- title,
39
- author
40
- } = _ref2;
41
- return (0, _element.createElement)("li", {
42
- key: id,
43
- className: "block-directory-compact-list__item"
44
- }, (0, _element.createElement)(_downloadableBlockIcon.default, {
45
- icon: icon,
46
- title: title
47
- }), (0, _element.createElement)("div", {
48
- className: "block-directory-compact-list__item-details"
49
- }, (0, _element.createElement)("div", {
50
- className: "block-directory-compact-list__item-title"
51
- }, title), (0, _element.createElement)("div", {
52
- className: "block-directory-compact-list__item-author"
53
- }, (0, _i18n.sprintf)(
54
- /* translators: %s: Name of the block author. */
55
- (0, _i18n.__)('By %s'), author))));
56
- }));
32
+ }, items.map(({
33
+ icon,
34
+ id,
35
+ title,
36
+ author
37
+ }) => (0, _element.createElement)("li", {
38
+ key: id,
39
+ className: "block-directory-compact-list__item"
40
+ }, (0, _element.createElement)(_downloadableBlockIcon.default, {
41
+ icon: icon,
42
+ title: title
43
+ }), (0, _element.createElement)("div", {
44
+ className: "block-directory-compact-list__item-details"
45
+ }, (0, _element.createElement)("div", {
46
+ className: "block-directory-compact-list__item-title"
47
+ }, title), (0, _element.createElement)("div", {
48
+ className: "block-directory-compact-list__item-author"
49
+ }, (0, _i18n.sprintf)(
50
+ /* translators: %s: Name of the block author. */
51
+ (0, _i18n.__)('By %s'), author))))));
57
52
  }
58
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-directory/src/components/compact-list/index.js"],"names":["CompactList","items","length","map","icon","id","title","author"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGe,SAASA,WAAT,OAAkC;AAAA,MAAZ;AAAEC,IAAAA;AAAF,GAAY;;AAChD,MAAK,CAAEA,KAAK,CAACC,MAAb,EAAsB;AACrB,WAAO,IAAP;AACA;;AAED,SACC;AAAI,IAAA,SAAS,EAAC;AAAd,KACGD,KAAK,CAACE,GAAN,CAAW;AAAA,QAAE;AAAEC,MAAAA,IAAF;AAAQC,MAAAA,EAAR;AAAYC,MAAAA,KAAZ;AAAmBC,MAAAA;AAAnB,KAAF;AAAA,WACZ;AAAI,MAAA,GAAG,EAAGF,EAAV;AAAe,MAAA,SAAS,EAAC;AAAzB,OACC,4BAAC,8BAAD;AAAuB,MAAA,IAAI,EAAGD,IAA9B;AAAqC,MAAA,KAAK,EAAGE;AAA7C,MADD,EAGC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC;AAAK,MAAA,SAAS,EAAC;AAAf,OACGA,KADH,CADD,EAIC;AAAK,MAAA,SAAS,EAAC;AAAf,OACG;AACD;AACA,kBAAI,OAAJ,CAFC,EAGDC,MAHC,CADH,CAJD,CAHD,CADY;AAAA,GAAX,CADH,CADD;AAsBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport DownloadableBlockIcon from '../downloadable-block-icon';\n\nexport default function CompactList( { items } ) {\n\tif ( ! items.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ul className=\"block-directory-compact-list\">\n\t\t\t{ items.map( ( { icon, id, title, author } ) => (\n\t\t\t\t<li key={ id } className=\"block-directory-compact-list__item\">\n\t\t\t\t\t<DownloadableBlockIcon icon={ icon } title={ title } />\n\n\t\t\t\t\t<div className=\"block-directory-compact-list__item-details\">\n\t\t\t\t\t\t<div className=\"block-directory-compact-list__item-title\">\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"block-directory-compact-list__item-author\">\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: Name of the block author. */\n\t\t\t\t\t\t\t\t__( 'By %s' ),\n\t\t\t\t\t\t\t\tauthor\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-directory/src/components/compact-list/index.js"],"names":["CompactList","items","length","map","icon","id","title","author"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGe,SAASA,WAAT,CAAsB;AAAEC,EAAAA;AAAF,CAAtB,EAAkC;AAChD,MAAK,CAAEA,KAAK,CAACC,MAAb,EAAsB;AACrB,WAAO,IAAP;AACA;;AAED,SACC;AAAI,IAAA,SAAS,EAAC;AAAd,KACGD,KAAK,CAACE,GAAN,CAAW,CAAE;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,EAAR;AAAYC,IAAAA,KAAZ;AAAmBC,IAAAA;AAAnB,GAAF,KACZ;AAAI,IAAA,GAAG,EAAGF,EAAV;AAAe,IAAA,SAAS,EAAC;AAAzB,KACC,4BAAC,8BAAD;AAAuB,IAAA,IAAI,EAAGD,IAA9B;AAAqC,IAAA,KAAK,EAAGE;AAA7C,IADD,EAGC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGA,KADH,CADD,EAIC;AAAK,IAAA,SAAS,EAAC;AAAf,KACG;AACD;AACA,gBAAI,OAAJ,CAFC,EAGDC,MAHC,CADH,CAJD,CAHD,CADC,CADH,CADD;AAsBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport DownloadableBlockIcon from '../downloadable-block-icon';\n\nexport default function CompactList( { items } ) {\n\tif ( ! items.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ul className=\"block-directory-compact-list\">\n\t\t\t{ items.map( ( { icon, id, title, author } ) => (\n\t\t\t\t<li key={ id } className=\"block-directory-compact-list__item\">\n\t\t\t\t\t<DownloadableBlockIcon icon={ icon } title={ title } />\n\n\t\t\t\t\t<div className=\"block-directory-compact-list__item-details\">\n\t\t\t\t\t\t<div className=\"block-directory-compact-list__item-title\">\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"block-directory-compact-list__item-author\">\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: Name of the block author. */\n\t\t\t\t\t\t\t\t__( 'By %s' ),\n\t\t\t\t\t\t\t\tauthor\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n"]}
@@ -12,10 +12,9 @@ var _blockEditor = require("@wordpress/block-editor");
12
12
  /**
13
13
  * WordPress dependencies
14
14
  */
15
- function DownloadableBlockIcon(_ref) {
16
- let {
17
- icon
18
- } = _ref;
15
+ function DownloadableBlockIcon({
16
+ icon
17
+ }) {
19
18
  const className = 'block-directory-downloadable-block-icon';
20
19
  return icon.match(/\.(jpeg|jpg|gif|png|svg)(?:\?.*)?$/) !== null ? (0, _element.createElement)("img", {
21
20
  className: className,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-block-icon/index.js"],"names":["DownloadableBlockIcon","icon","className","match"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGA,SAASA,qBAAT,OAA2C;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AAC1C,QAAMC,SAAS,GAAG,yCAAlB;AACA,SAAOD,IAAI,CAACE,KAAL,CAAY,oCAAZ,MAAuD,IAAvD,GACN;AAAK,IAAA,SAAS,EAAGD,SAAjB;AAA6B,IAAA,GAAG,EAAGD,IAAnC;AAA0C,IAAA,GAAG,EAAC;AAA9C,IADM,GAGN,4BAAC,sBAAD;AAAW,IAAA,SAAS,EAAGC,SAAvB;AAAmC,IAAA,IAAI,EAAGD,IAA1C;AAAiD,IAAA,UAAU;AAA3D,IAHD;AAKA;;eAEcD,qB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockIcon } from '@wordpress/block-editor';\n\nfunction DownloadableBlockIcon( { icon } ) {\n\tconst className = 'block-directory-downloadable-block-icon';\n\treturn icon.match( /\\.(jpeg|jpg|gif|png|svg)(?:\\?.*)?$/ ) !== null ? (\n\t\t<img className={ className } src={ icon } alt=\"\" />\n\t) : (\n\t\t<BlockIcon className={ className } icon={ icon } showColors />\n\t);\n}\n\nexport default DownloadableBlockIcon;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-block-icon/index.js"],"names":["DownloadableBlockIcon","icon","className","match"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGA,SAASA,qBAAT,CAAgC;AAAEC,EAAAA;AAAF,CAAhC,EAA2C;AAC1C,QAAMC,SAAS,GAAG,yCAAlB;AACA,SAAOD,IAAI,CAACE,KAAL,CAAY,oCAAZ,MAAuD,IAAvD,GACN;AAAK,IAAA,SAAS,EAAGD,SAAjB;AAA6B,IAAA,GAAG,EAAGD,IAAnC;AAA0C,IAAA,GAAG,EAAC;AAA9C,IADM,GAGN,4BAAC,sBAAD;AAAW,IAAA,SAAS,EAAGC,SAAvB;AAAmC,IAAA,IAAI,EAAGD,IAA1C;AAAiD,IAAA,UAAU;AAA3D,IAHD;AAKA;;eAEcD,qB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockIcon } from '@wordpress/block-editor';\n\nfunction DownloadableBlockIcon( { icon } ) {\n\tconst className = 'block-directory-downloadable-block-icon';\n\treturn icon.match( /\\.(jpeg|jpg|gif|png|svg)(?:\\?.*)?$/ ) !== null ? (\n\t\t<img className={ className } src={ icon } alt=\"\" />\n\t) : (\n\t\t<BlockIcon className={ className } icon={ icon } showColors />\n\t);\n}\n\nexport default DownloadableBlockIcon;\n"]}
@@ -9,8 +9,6 @@ exports.default = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
12
  var _i18n = require("@wordpress/i18n");
15
13
 
16
14
  var _components = require("@wordpress/components");
@@ -37,17 +35,15 @@ var _store = require("../../store");
37
35
  * Internal dependencies
38
36
  */
39
37
  // Return the appropriate block item label, given the block data and status.
40
- function getDownloadableBlockLabel(_ref, _ref2) {
41
- let {
42
- title,
43
- rating,
44
- ratingCount
45
- } = _ref;
46
- let {
47
- hasNotice,
48
- isInstalled,
49
- isInstalling
50
- } = _ref2;
38
+ function getDownloadableBlockLabel({
39
+ title,
40
+ rating,
41
+ ratingCount
42
+ }, {
43
+ hasNotice,
44
+ isInstalled,
45
+ isInstalling
46
+ }) {
51
47
  const stars = Math.round(rating / 0.5) * 0.5;
52
48
 
53
49
  if (!isInstalled && hasNotice) {
@@ -76,12 +72,11 @@ function getDownloadableBlockLabel(_ref, _ref2) {
76
72
  (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);
77
73
  }
78
74
 
79
- function DownloadableBlockListItem(_ref3) {
80
- let {
81
- composite,
82
- item,
83
- onClick
84
- } = _ref3;
75
+ function DownloadableBlockListItem({
76
+ composite,
77
+ item,
78
+ onClick
79
+ }) {
85
80
  const {
86
81
  author,
87
82
  description,
@@ -116,11 +111,11 @@ function DownloadableBlockListItem(_ref3) {
116
111
  statusText = (0, _i18n.__)('Installing…');
117
112
  }
118
113
 
119
- return (0, _element.createElement)(_components.__unstableCompositeItem, (0, _extends2.default)({
114
+ return (0, _element.createElement)(_components.__unstableCompositeItem, {
120
115
  __experimentalIsFocusable: true,
121
116
  role: "option",
122
- as: _components.Button
123
- }, composite, {
117
+ as: _components.Button,
118
+ ...composite,
124
119
  className: "block-directory-downloadable-block-list-item",
125
120
  onClick: event => {
126
121
  event.preventDefault();
@@ -135,7 +130,7 @@ function DownloadableBlockListItem(_ref3) {
135
130
  }),
136
131
  showTooltip: true,
137
132
  tooltipPosition: "top center"
138
- }), (0, _element.createElement)("div", {
133
+ }, (0, _element.createElement)("div", {
139
134
  className: "block-directory-downloadable-block-list-item__icon"
140
135
  }, (0, _element.createElement)(_downloadableBlockIcon.default, {
141
136
  icon: icon,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-block-list-item/index.js"],"names":["getDownloadableBlockLabel","title","rating","ratingCount","hasNotice","isInstalled","isInstalling","stars","Math","round","DownloadableBlockListItem","composite","item","onClick","author","description","icon","name","isInstallable","select","getErrorNoticeForBlock","isBlockInstalling","blockDirectoryStore","notice","id","hasFatal","isFatal","statusText","Button","event","preventDefault","span"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tSpinner,\n\tVisuallyHidden,\n\t__unstableCompositeItem as CompositeItem,\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( { composite, 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\treturn (\n\t\t<CompositeItem\n\t\t\t__experimentalIsFocusable\n\t\t\trole=\"option\"\n\t\t\tas={ Button }\n\t\t\t{ ...composite }\n\t\t\tclassName=\"block-directory-downloadable-block-list-item\"\n\t\t\tonClick={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick();\n\t\t\t} }\n\t\t\tisBusy={ isInstalling }\n\t\t\tdisabled={ isInstalling || ! isInstallable }\n\t\t\tlabel={ getDownloadableBlockLabel( item, {\n\t\t\t\thasNotice,\n\t\t\t\tisInstalled,\n\t\t\t\tisInstalling,\n\t\t\t} ) }\n\t\t\tshowTooltip={ true }\n\t\t\ttooltipPosition=\"top center\"\n\t\t>\n\t\t\t<div className=\"block-directory-downloadable-block-list-item__icon\">\n\t\t\t\t<DownloadableBlockIcon icon={ icon } title={ title } />\n\t\t\t\t{ isInstalling ? (\n\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__spinner\">\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\t<BlockRatings rating={ rating } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<span className=\"block-directory-downloadable-block-list-item__details\">\n\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__title\">\n\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t/* translators: %1$s: block title, %2$s: author name. */\n\t\t\t\t\t\t\t__( '%1$s <span>by %2$s</span>' ),\n\t\t\t\t\t\t\tdecodeEntities( title ),\n\t\t\t\t\t\t\tauthor\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tspan: (\n\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),\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t\t{ hasNotice ? (\n\t\t\t\t\t<DownloadableBlockNotice block={ item } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__desc\">\n\t\t\t\t\t\t\t{ !! statusText\n\t\t\t\t\t\t\t\t? statusText\n\t\t\t\t\t\t\t\t: decodeEntities( description ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{ isInstallable &&\n\t\t\t\t\t\t\t! ( isInstalled || isInstalling ) && (\n\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t{ __( 'Install block' ) }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</span>\n\t\t</CompositeItem>\n\t);\n}\n\nexport default DownloadableBlockListItem;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-block-list-item/index.js"],"names":["getDownloadableBlockLabel","title","rating","ratingCount","hasNotice","isInstalled","isInstalling","stars","Math","round","DownloadableBlockListItem","composite","item","onClick","author","description","icon","name","isInstallable","select","getErrorNoticeForBlock","isBlockInstalling","blockDirectoryStore","notice","id","hasFatal","isFatal","statusText","Button","event","preventDefault","span"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tSpinner,\n\tVisuallyHidden,\n\t__unstableCompositeItem as CompositeItem,\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( { composite, 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\treturn (\n\t\t<CompositeItem\n\t\t\t__experimentalIsFocusable\n\t\t\trole=\"option\"\n\t\t\tas={ Button }\n\t\t\t{ ...composite }\n\t\t\tclassName=\"block-directory-downloadable-block-list-item\"\n\t\t\tonClick={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick();\n\t\t\t} }\n\t\t\tisBusy={ isInstalling }\n\t\t\tdisabled={ isInstalling || ! isInstallable }\n\t\t\tlabel={ getDownloadableBlockLabel( item, {\n\t\t\t\thasNotice,\n\t\t\t\tisInstalled,\n\t\t\t\tisInstalling,\n\t\t\t} ) }\n\t\t\tshowTooltip={ true }\n\t\t\ttooltipPosition=\"top center\"\n\t\t>\n\t\t\t<div className=\"block-directory-downloadable-block-list-item__icon\">\n\t\t\t\t<DownloadableBlockIcon icon={ icon } title={ title } />\n\t\t\t\t{ isInstalling ? (\n\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__spinner\">\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\t<BlockRatings rating={ rating } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<span className=\"block-directory-downloadable-block-list-item__details\">\n\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__title\">\n\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t/* translators: %1$s: block title, %2$s: author name. */\n\t\t\t\t\t\t\t__( '%1$s <span>by %2$s</span>' ),\n\t\t\t\t\t\t\tdecodeEntities( title ),\n\t\t\t\t\t\t\tauthor\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tspan: (\n\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),\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t\t{ hasNotice ? (\n\t\t\t\t\t<DownloadableBlockNotice block={ item } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<span className=\"block-directory-downloadable-block-list-item__desc\">\n\t\t\t\t\t\t\t{ !! statusText\n\t\t\t\t\t\t\t\t? statusText\n\t\t\t\t\t\t\t\t: decodeEntities( description ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{ isInstallable &&\n\t\t\t\t\t\t\t! ( isInstalled || isInstalling ) && (\n\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t{ __( 'Install block' ) }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</span>\n\t\t</CompositeItem>\n\t);\n}\n\nexport default DownloadableBlockListItem;\n"]}
@@ -20,10 +20,9 @@ var _store = require("../../store");
20
20
  /**
21
21
  * Internal dependencies
22
22
  */
23
- const DownloadableBlockNotice = _ref => {
24
- let {
25
- block
26
- } = _ref;
23
+ const DownloadableBlockNotice = ({
24
+ block
25
+ }) => {
27
26
  const errorNotice = (0, _data.useSelect)(select => select(_store.store).getErrorNoticeForBlock(block.id), [block]);
28
27
 
29
28
  if (!errorNotice) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-block-notice/index.js"],"names":["DownloadableBlockNotice","block","errorNotice","select","blockDirectoryStore","getErrorNoticeForBlock","id","message","isFatal"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGO,MAAMA,uBAAuB,GAAG,QAAiB;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACvD,QAAMC,WAAW,GAAG,qBACjBC,MAAF,IACCA,MAAM,CAAEC,YAAF,CAAN,CAA8BC,sBAA9B,CAAsDJ,KAAK,CAACK,EAA5D,CAFkB,EAGnB,CAAEL,KAAF,CAHmB,CAApB;;AAMA,MAAK,CAAEC,WAAP,EAAqB;AACpB,WAAO,IAAP;AACA;;AAED,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGA,WAAW,CAACK,OADf,EAEGL,WAAW,CAACM,OAAZ,GACC,MAAM,cAAI,yBAAJ,CADP,GAEC,IAJJ,CADD,CADD;AAUA,CArBM;;;eAuBQR,uB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockDirectoryStore } from '../../store';\n\nexport const DownloadableBlockNotice = ( { block } ) => {\n\tconst errorNotice = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockDirectoryStore ).getErrorNoticeForBlock( block.id ),\n\t\t[ block ]\n\t);\n\n\tif ( ! errorNotice ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"block-directory-downloadable-block-notice\">\n\t\t\t<div className=\"block-directory-downloadable-block-notice__content\">\n\t\t\t\t{ errorNotice.message }\n\t\t\t\t{ errorNotice.isFatal\n\t\t\t\t\t? ' ' + __( 'Try reloading the page.' )\n\t\t\t\t\t: null }\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default DownloadableBlockNotice;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-block-notice/index.js"],"names":["DownloadableBlockNotice","block","errorNotice","select","blockDirectoryStore","getErrorNoticeForBlock","id","message","isFatal"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGO,MAAMA,uBAAuB,GAAG,CAAE;AAAEC,EAAAA;AAAF,CAAF,KAAiB;AACvD,QAAMC,WAAW,GAAG,qBACjBC,MAAF,IACCA,MAAM,CAAEC,YAAF,CAAN,CAA8BC,sBAA9B,CAAsDJ,KAAK,CAACK,EAA5D,CAFkB,EAGnB,CAAEL,KAAF,CAHmB,CAApB;;AAMA,MAAK,CAAEC,WAAP,EAAqB;AACpB,WAAO,IAAP;AACA;;AAED,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGA,WAAW,CAACK,OADf,EAEGL,WAAW,CAACM,OAAZ,GACC,MAAM,cAAI,yBAAJ,CADP,GAEC,IAJJ,CADD,CADD;AAUA,CArBM;;;eAuBQR,uB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockDirectoryStore } from '../../store';\n\nexport const DownloadableBlockNotice = ( { block } ) => {\n\tconst errorNotice = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockDirectoryStore ).getErrorNoticeForBlock( block.id ),\n\t\t[ block ]\n\t);\n\n\tif ( ! errorNotice ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"block-directory-downloadable-block-notice\">\n\t\t\t<div className=\"block-directory-downloadable-block-notice__content\">\n\t\t\t\t{ errorNotice.message }\n\t\t\t\t{ errorNotice.isFatal\n\t\t\t\t\t? ' ' + __( 'Try reloading the page.' )\n\t\t\t\t\t: null }\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default DownloadableBlockNotice;\n"]}
@@ -9,8 +9,6 @@ exports.default = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
12
  var _i18n = require("@wordpress/i18n");
15
13
 
16
14
  var _components = require("@wordpress/components");
@@ -32,12 +30,11 @@ var _store = require("../../store");
32
30
  */
33
31
  const noop = () => {};
34
32
 
35
- function DownloadableBlocksList(_ref) {
36
- let {
37
- items,
38
- onHover = noop,
39
- onSelect
40
- } = _ref;
33
+ function DownloadableBlocksList({
34
+ items,
35
+ onHover = noop,
36
+ onSelect
37
+ }) {
41
38
  const composite = (0, _components.__unstableUseCompositeState)();
42
39
  const {
43
40
  installBlockType
@@ -47,11 +44,11 @@ function DownloadableBlocksList(_ref) {
47
44
  return null;
48
45
  }
49
46
 
50
- return (0, _element.createElement)(_components.__unstableComposite, (0, _extends2.default)({}, composite, {
47
+ return (0, _element.createElement)(_components.__unstableComposite, { ...composite,
51
48
  role: "listbox",
52
49
  className: "block-directory-downloadable-blocks-list",
53
50
  "aria-label": (0, _i18n.__)('Blocks available for install')
54
- }), items.map(item => {
51
+ }, items.map(item => {
55
52
  return (0, _element.createElement)(_downloadableBlockListItem.default, {
56
53
  key: item.id,
57
54
  composite: composite,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-blocks-list/index.js"],"names":["noop","DownloadableBlocksList","items","onHover","onSelect","composite","installBlockType","blockDirectoryStore","length","map","item","id","name","then","success"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAIA;;AACA;;AAKA;;AACA;;AAfA;AACA;AACA;;AASA;AACA;AACA;AAIA,MAAMA,IAAI,GAAG,MAAM,CAAE,CAArB;;AAEA,SAASC,sBAAT,OAAuE;AAAA,MAAtC;AAAEC,IAAAA,KAAF;AAASC,IAAAA,OAAO,GAAGH,IAAnB;AAAyBI,IAAAA;AAAzB,GAAsC;AACtE,QAAMC,SAAS,GAAG,8CAAlB;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAuB,uBAAaC,YAAb,CAA7B;;AAEA,MAAK,CAAEL,KAAK,CAACM,MAAb,EAAsB;AACrB,WAAO,IAAP;AACA;;AAED,SACC,4BAAC,+BAAD,6BACMH,SADN;AAEC,IAAA,IAAI,EAAC,SAFN;AAGC,IAAA,SAAS,EAAC,0CAHX;AAIC,kBAAa,cAAI,8BAAJ;AAJd,MAMGH,KAAK,CAACO,GAAN,CAAaC,IAAF,IAAY;AACxB,WACC,4BAAC,kCAAD;AACC,MAAA,GAAG,EAAGA,IAAI,CAACC,EADZ;AAEC,MAAA,SAAS,EAAGN,SAFb;AAGC,MAAA,OAAO,EAAG,MAAM;AACf;AACA;AACA;AACA,YAAK,0BAAcK,IAAI,CAACE,IAAnB,CAAL,EAAiC;AAChCR,UAAAA,QAAQ,CAAEM,IAAF,CAAR;AACA,SAFD,MAEO;AACNJ,UAAAA,gBAAgB,CAAEI,IAAF,CAAhB,CAAyBG,IAAzB,CAAiCC,OAAF,IAAe;AAC7C,gBAAKA,OAAL,EAAe;AACdV,cAAAA,QAAQ,CAAEM,IAAF,CAAR;AACA;AACD,WAJD;AAKA;;AACDP,QAAAA,OAAO,CAAE,IAAF,CAAP;AACA,OAjBF;AAkBC,MAAA,OAAO,EAAGA,OAlBX;AAmBC,MAAA,IAAI,EAAGO;AAnBR,MADD;AAuBA,GAxBC,CANH,CADD;AAkCA;;eAEcT,sB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n} from '@wordpress/components';\nimport { getBlockType } from '@wordpress/blocks';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport DownloadableBlockListItem from '../downloadable-block-list-item';\nimport { store as blockDirectoryStore } from '../../store';\n\nconst noop = () => {};\n\nfunction DownloadableBlocksList( { items, onHover = noop, onSelect } ) {\n\tconst composite = useCompositeState();\n\tconst { installBlockType } = useDispatch( blockDirectoryStore );\n\n\tif ( ! items.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\t{ ...composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-directory-downloadable-blocks-list\"\n\t\t\taria-label={ __( 'Blocks available for install' ) }\n\t\t>\n\t\t\t{ items.map( ( item ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DownloadableBlockListItem\n\t\t\t\t\t\tkey={ item.id }\n\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t// Check if the block is registered (`getBlockType`\n\t\t\t\t\t\t\t// will return an object). If so, insert the block.\n\t\t\t\t\t\t\t// This prevents installing existing plugins.\n\t\t\t\t\t\t\tif ( getBlockType( item.name ) ) {\n\t\t\t\t\t\t\t\tonSelect( item );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tinstallBlockType( item ).then( ( success ) => {\n\t\t\t\t\t\t\t\t\tif ( success ) {\n\t\t\t\t\t\t\t\t\t\tonSelect( item );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonHover( null );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n\nexport default DownloadableBlocksList;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-blocks-list/index.js"],"names":["noop","DownloadableBlocksList","items","onHover","onSelect","composite","installBlockType","blockDirectoryStore","length","map","item","id","name","then","success"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAIA;;AACA;;AAKA;;AACA;;AAfA;AACA;AACA;;AASA;AACA;AACA;AAIA,MAAMA,IAAI,GAAG,MAAM,CAAE,CAArB;;AAEA,SAASC,sBAAT,CAAiC;AAAEC,EAAAA,KAAF;AAASC,EAAAA,OAAO,GAAGH,IAAnB;AAAyBI,EAAAA;AAAzB,CAAjC,EAAuE;AACtE,QAAMC,SAAS,GAAG,8CAAlB;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAuB,uBAAaC,YAAb,CAA7B;;AAEA,MAAK,CAAEL,KAAK,CAACM,MAAb,EAAsB;AACrB,WAAO,IAAP;AACA;;AAED,SACC,4BAAC,+BAAD,OACMH,SADN;AAEC,IAAA,IAAI,EAAC,SAFN;AAGC,IAAA,SAAS,EAAC,0CAHX;AAIC,kBAAa,cAAI,8BAAJ;AAJd,KAMGH,KAAK,CAACO,GAAN,CAAaC,IAAF,IAAY;AACxB,WACC,4BAAC,kCAAD;AACC,MAAA,GAAG,EAAGA,IAAI,CAACC,EADZ;AAEC,MAAA,SAAS,EAAGN,SAFb;AAGC,MAAA,OAAO,EAAG,MAAM;AACf;AACA;AACA;AACA,YAAK,0BAAcK,IAAI,CAACE,IAAnB,CAAL,EAAiC;AAChCR,UAAAA,QAAQ,CAAEM,IAAF,CAAR;AACA,SAFD,MAEO;AACNJ,UAAAA,gBAAgB,CAAEI,IAAF,CAAhB,CAAyBG,IAAzB,CAAiCC,OAAF,IAAe;AAC7C,gBAAKA,OAAL,EAAe;AACdV,cAAAA,QAAQ,CAAEM,IAAF,CAAR;AACA;AACD,WAJD;AAKA;;AACDP,QAAAA,OAAO,CAAE,IAAF,CAAP;AACA,OAjBF;AAkBC,MAAA,OAAO,EAAGA,OAlBX;AAmBC,MAAA,IAAI,EAAGO;AAnBR,MADD;AAuBA,GAxBC,CANH,CADD;AAkCA;;eAEcT,sB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n} from '@wordpress/components';\nimport { getBlockType } from '@wordpress/blocks';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport DownloadableBlockListItem from '../downloadable-block-list-item';\nimport { store as blockDirectoryStore } from '../../store';\n\nconst noop = () => {};\n\nfunction DownloadableBlocksList( { items, onHover = noop, onSelect } ) {\n\tconst composite = useCompositeState();\n\tconst { installBlockType } = useDispatch( blockDirectoryStore );\n\n\tif ( ! items.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\t{ ...composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-directory-downloadable-blocks-list\"\n\t\t\taria-label={ __( 'Blocks available for install' ) }\n\t\t>\n\t\t\t{ items.map( ( item ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DownloadableBlockListItem\n\t\t\t\t\t\tkey={ item.id }\n\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t// Check if the block is registered (`getBlockType`\n\t\t\t\t\t\t\t// will return an object). If so, insert the block.\n\t\t\t\t\t\t\t// This prevents installing existing plugins.\n\t\t\t\t\t\t\tif ( getBlockType( item.name ) ) {\n\t\t\t\t\t\t\t\tonSelect( item );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tinstallBlockType( item ).then( ( success ) => {\n\t\t\t\t\t\t\t\t\tif ( success ) {\n\t\t\t\t\t\t\t\t\t\tonSelect( item );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonHover( null );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n\nexport default DownloadableBlocksList;\n"]}
@@ -38,17 +38,15 @@ var _store = require("../../store");
38
38
  */
39
39
  const EMPTY_ARRAY = [];
40
40
 
41
- function DownloadableBlocksPanel(_ref) {
42
- let {
43
- downloadableItems,
44
- onSelect,
45
- onHover,
46
- hasLocalBlocks,
47
- hasPermission,
48
- isLoading,
49
- isTyping
50
- } = _ref;
51
-
41
+ function DownloadableBlocksPanel({
42
+ downloadableItems,
43
+ onSelect,
44
+ onHover,
45
+ hasLocalBlocks,
46
+ hasPermission,
47
+ isLoading,
48
+ isTyping
49
+ }) {
52
50
  if (typeof hasPermission === 'undefined' || isLoading || isTyping) {
53
51
  return (0, _element.createElement)(_element.Fragment, null, hasPermission && !hasLocalBlocks && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("p", {
54
52
  className: "block-directory-downloadable-blocks-panel__no-local"
@@ -77,11 +75,10 @@ function DownloadableBlocksPanel(_ref) {
77
75
  })) : !hasLocalBlocks && (0, _element.createElement)(_noResults.default, null);
78
76
  }
79
77
 
80
- var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref2) => {
81
- let {
82
- filterValue,
83
- rootClientId = null
84
- } = _ref2;
78
+ var _default = (0, _compose.compose)([(0, _data.withSelect)((select, {
79
+ filterValue,
80
+ rootClientId = null
81
+ }) => {
85
82
  const {
86
83
  getDownloadableBlocks,
87
84
  isRequestingDownloadableBlocks
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/index.js"],"names":["EMPTY_ARRAY","DownloadableBlocksPanel","downloadableItems","onSelect","onHover","hasLocalBlocks","hasPermission","isLoading","isTyping","length","select","filterValue","rootClientId","getDownloadableBlocks","isRequestingDownloadableBlocks","blockDirectoryStore","canInsertBlockType","blockEditorStore","coreStore","canUser","getInstallableBlocks","term","downloadableBlocks","installableBlocks","filter","block"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAhBA;AACA;AACA;;AAQA;AACA;AACA;AAMA,MAAMA,WAAW,GAAG,EAApB;;AAEA,SAASC,uBAAT,OAQI;AAAA,MAR8B;AACjCC,IAAAA,iBADiC;AAEjCC,IAAAA,QAFiC;AAGjCC,IAAAA,OAHiC;AAIjCC,IAAAA,cAJiC;AAKjCC,IAAAA,aALiC;AAMjCC,IAAAA,SANiC;AAOjCC,IAAAA;AAPiC,GAQ9B;;AACH,MAAK,OAAOF,aAAP,KAAyB,WAAzB,IAAwCC,SAAxC,IAAqDC,QAA1D,EAAqE;AACpE,WACC,qDACGF,aAAa,IAAI,CAAED,cAAnB,IACD,qDACC;AAAG,MAAA,SAAS,EAAC;AAAb,OACG,cACD,kDADC,CADH,CADD,EAMC;AAAK,MAAA,SAAS,EAAC;AAAf,MAND,CAFF,EAWC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,4BAAC,mBAAD,OADD,CAXD,CADD;AAiBA;;AAED,MAAK,UAAUC,aAAf,EAA+B;AAC9B,QAAK,CAAED,cAAP,EAAwB;AACvB,aAAO,4BAAC,kBAAD,OAAP;AACA;;AAED,WAAO,IAAP;AACA;;AAED,SAAO,CAAC,CAAEH,iBAAiB,CAACO,MAArB,GACN,4BAAC,sBAAD;AACC,IAAA,iBAAiB,EAAGP,iBADrB;AAEC,IAAA,cAAc,EAAGG;AAFlB,KAIC,4BAAC,+BAAD;AACC,IAAA,KAAK,EAAGH,iBADT;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,OAAO,EAAGC;AAHX,IAJD,CADM,GAYN,CAAEC,cAAF,IAAoB,4BAAC,kBAAD,OAZrB;AAcA;;eAEc,sBAAS,CACvB,sBAAY,CAAEK,MAAF,YAAoD;AAAA,MAA1C;AAAEC,IAAAA,WAAF;AAAeC,IAAAA,YAAY,GAAG;AAA9B,GAA0C;AAC/D,QAAM;AAAEC,IAAAA,qBAAF;AAAyBC,IAAAA;AAAzB,MACLJ,MAAM,CAAEK,YAAF,CADP;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAyBN,MAAM,CAAEO,kBAAF,CAArC;AAEA,QAAMX,aAAa,GAAGI,MAAM,CAAEQ,eAAF,CAAN,CAAoBC,OAApB,CACrB,MADqB,EAErB,wBAFqB,CAAtB;;AAKA,WAASC,oBAAT,CAA+BC,IAA/B,EAAsC;AACrC,UAAMC,kBAAkB,GAAGT,qBAAqB,CAAEQ,IAAF,CAAhD;AACA,UAAME,iBAAiB,GAAGD,kBAAkB,CAACE,MAAnB,CAA6BC,KAAF,IACpDT,kBAAkB,CAAES,KAAF,EAASb,YAAT,EAAuB,IAAvB,CADO,CAA1B;;AAIA,QAAKU,kBAAkB,CAACb,MAAnB,KAA8Bc,iBAAiB,CAACd,MAArD,EAA8D;AAC7D,aAAOa,kBAAP;AACA;;AACD,WAAOC,iBAAP;AACA;;AAED,MAAIrB,iBAAiB,GAAGI,aAAa,GAClCc,oBAAoB,CAAET,WAAF,CADc,GAElC,EAFH;;AAIA,MAAKT,iBAAiB,CAACO,MAAlB,KAA6B,CAAlC,EAAsC;AACrCP,IAAAA,iBAAiB,GAAGF,WAApB;AACA;;AAED,QAAMO,SAAS,GAAGO,8BAA8B,CAAEH,WAAF,CAAhD;AAEA,SAAO;AACNT,IAAAA,iBADM;AAENI,IAAAA,aAFM;AAGNC,IAAAA;AAHM,GAAP;AAKA,CArCD,CADuB,CAAT,EAuCVN,uBAvCU,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Spinner } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport DownloadableBlocksList from '../downloadable-blocks-list';\nimport DownloadableBlocksInserterPanel from './inserter-panel';\nimport DownloadableBlocksNoResults from './no-results';\nimport { store as blockDirectoryStore } from '../../store';\n\nconst EMPTY_ARRAY = [];\n\nfunction DownloadableBlocksPanel( {\n\tdownloadableItems,\n\tonSelect,\n\tonHover,\n\thasLocalBlocks,\n\thasPermission,\n\tisLoading,\n\tisTyping,\n} ) {\n\tif ( typeof hasPermission === 'undefined' || isLoading || isTyping ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ hasPermission && ! hasLocalBlocks && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<p className=\"block-directory-downloadable-blocks-panel__no-local\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'No results available from your installed blocks.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<div className=\"block-editor-inserter__quick-inserter-separator\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<div className=\"block-directory-downloadable-blocks-panel has-blocks-loading\">\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( false === hasPermission ) {\n\t\tif ( ! hasLocalBlocks ) {\n\t\t\treturn <DownloadableBlocksNoResults />;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\treturn !! downloadableItems.length ? (\n\t\t<DownloadableBlocksInserterPanel\n\t\t\tdownloadableItems={ downloadableItems }\n\t\t\thasLocalBlocks={ hasLocalBlocks }\n\t\t>\n\t\t\t<DownloadableBlocksList\n\t\t\t\titems={ downloadableItems }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tonHover={ onHover }\n\t\t\t/>\n\t\t</DownloadableBlocksInserterPanel>\n\t) : (\n\t\t! hasLocalBlocks && <DownloadableBlocksNoResults />\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { filterValue, rootClientId = null } ) => {\n\t\tconst { getDownloadableBlocks, isRequestingDownloadableBlocks } =\n\t\t\tselect( blockDirectoryStore );\n\t\tconst { canInsertBlockType } = select( blockEditorStore );\n\n\t\tconst hasPermission = select( coreStore ).canUser(\n\t\t\t'read',\n\t\t\t'block-directory/search'\n\t\t);\n\n\t\tfunction getInstallableBlocks( term ) {\n\t\t\tconst downloadableBlocks = getDownloadableBlocks( term );\n\t\t\tconst installableBlocks = downloadableBlocks.filter( ( block ) =>\n\t\t\t\tcanInsertBlockType( block, rootClientId, true )\n\t\t\t);\n\n\t\t\tif ( downloadableBlocks.length === installableBlocks.length ) {\n\t\t\t\treturn downloadableBlocks;\n\t\t\t}\n\t\t\treturn installableBlocks;\n\t\t}\n\n\t\tlet downloadableItems = hasPermission\n\t\t\t? getInstallableBlocks( filterValue )\n\t\t\t: [];\n\n\t\tif ( downloadableItems.length === 0 ) {\n\t\t\tdownloadableItems = EMPTY_ARRAY;\n\t\t}\n\n\t\tconst isLoading = isRequestingDownloadableBlocks( filterValue );\n\n\t\treturn {\n\t\t\tdownloadableItems,\n\t\t\thasPermission,\n\t\t\tisLoading,\n\t\t};\n\t} ),\n] )( DownloadableBlocksPanel );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/index.js"],"names":["EMPTY_ARRAY","DownloadableBlocksPanel","downloadableItems","onSelect","onHover","hasLocalBlocks","hasPermission","isLoading","isTyping","length","select","filterValue","rootClientId","getDownloadableBlocks","isRequestingDownloadableBlocks","blockDirectoryStore","canInsertBlockType","blockEditorStore","coreStore","canUser","getInstallableBlocks","term","downloadableBlocks","installableBlocks","filter","block"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAhBA;AACA;AACA;;AAQA;AACA;AACA;AAMA,MAAMA,WAAW,GAAG,EAApB;;AAEA,SAASC,uBAAT,CAAkC;AACjCC,EAAAA,iBADiC;AAEjCC,EAAAA,QAFiC;AAGjCC,EAAAA,OAHiC;AAIjCC,EAAAA,cAJiC;AAKjCC,EAAAA,aALiC;AAMjCC,EAAAA,SANiC;AAOjCC,EAAAA;AAPiC,CAAlC,EAQI;AACH,MAAK,OAAOF,aAAP,KAAyB,WAAzB,IAAwCC,SAAxC,IAAqDC,QAA1D,EAAqE;AACpE,WACC,qDACGF,aAAa,IAAI,CAAED,cAAnB,IACD,qDACC;AAAG,MAAA,SAAS,EAAC;AAAb,OACG,cACD,kDADC,CADH,CADD,EAMC;AAAK,MAAA,SAAS,EAAC;AAAf,MAND,CAFF,EAWC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,4BAAC,mBAAD,OADD,CAXD,CADD;AAiBA;;AAED,MAAK,UAAUC,aAAf,EAA+B;AAC9B,QAAK,CAAED,cAAP,EAAwB;AACvB,aAAO,4BAAC,kBAAD,OAAP;AACA;;AAED,WAAO,IAAP;AACA;;AAED,SAAO,CAAC,CAAEH,iBAAiB,CAACO,MAArB,GACN,4BAAC,sBAAD;AACC,IAAA,iBAAiB,EAAGP,iBADrB;AAEC,IAAA,cAAc,EAAGG;AAFlB,KAIC,4BAAC,+BAAD;AACC,IAAA,KAAK,EAAGH,iBADT;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,OAAO,EAAGC;AAHX,IAJD,CADM,GAYN,CAAEC,cAAF,IAAoB,4BAAC,kBAAD,OAZrB;AAcA;;eAEc,sBAAS,CACvB,sBAAY,CAAEK,MAAF,EAAU;AAAEC,EAAAA,WAAF;AAAeC,EAAAA,YAAY,GAAG;AAA9B,CAAV,KAAoD;AAC/D,QAAM;AAAEC,IAAAA,qBAAF;AAAyBC,IAAAA;AAAzB,MACLJ,MAAM,CAAEK,YAAF,CADP;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAyBN,MAAM,CAAEO,kBAAF,CAArC;AAEA,QAAMX,aAAa,GAAGI,MAAM,CAAEQ,eAAF,CAAN,CAAoBC,OAApB,CACrB,MADqB,EAErB,wBAFqB,CAAtB;;AAKA,WAASC,oBAAT,CAA+BC,IAA/B,EAAsC;AACrC,UAAMC,kBAAkB,GAAGT,qBAAqB,CAAEQ,IAAF,CAAhD;AACA,UAAME,iBAAiB,GAAGD,kBAAkB,CAACE,MAAnB,CAA6BC,KAAF,IACpDT,kBAAkB,CAAES,KAAF,EAASb,YAAT,EAAuB,IAAvB,CADO,CAA1B;;AAIA,QAAKU,kBAAkB,CAACb,MAAnB,KAA8Bc,iBAAiB,CAACd,MAArD,EAA8D;AAC7D,aAAOa,kBAAP;AACA;;AACD,WAAOC,iBAAP;AACA;;AAED,MAAIrB,iBAAiB,GAAGI,aAAa,GAClCc,oBAAoB,CAAET,WAAF,CADc,GAElC,EAFH;;AAIA,MAAKT,iBAAiB,CAACO,MAAlB,KAA6B,CAAlC,EAAsC;AACrCP,IAAAA,iBAAiB,GAAGF,WAApB;AACA;;AAED,QAAMO,SAAS,GAAGO,8BAA8B,CAAEH,WAAF,CAAhD;AAEA,SAAO;AACNT,IAAAA,iBADM;AAENI,IAAAA,aAFM;AAGNC,IAAAA;AAHM,GAAP;AAKA,CArCD,CADuB,CAAT,EAuCVN,uBAvCU,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Spinner } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport DownloadableBlocksList from '../downloadable-blocks-list';\nimport DownloadableBlocksInserterPanel from './inserter-panel';\nimport DownloadableBlocksNoResults from './no-results';\nimport { store as blockDirectoryStore } from '../../store';\n\nconst EMPTY_ARRAY = [];\n\nfunction DownloadableBlocksPanel( {\n\tdownloadableItems,\n\tonSelect,\n\tonHover,\n\thasLocalBlocks,\n\thasPermission,\n\tisLoading,\n\tisTyping,\n} ) {\n\tif ( typeof hasPermission === 'undefined' || isLoading || isTyping ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ hasPermission && ! hasLocalBlocks && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<p className=\"block-directory-downloadable-blocks-panel__no-local\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'No results available from your installed blocks.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<div className=\"block-editor-inserter__quick-inserter-separator\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<div className=\"block-directory-downloadable-blocks-panel has-blocks-loading\">\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( false === hasPermission ) {\n\t\tif ( ! hasLocalBlocks ) {\n\t\t\treturn <DownloadableBlocksNoResults />;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\treturn !! downloadableItems.length ? (\n\t\t<DownloadableBlocksInserterPanel\n\t\t\tdownloadableItems={ downloadableItems }\n\t\t\thasLocalBlocks={ hasLocalBlocks }\n\t\t>\n\t\t\t<DownloadableBlocksList\n\t\t\t\titems={ downloadableItems }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tonHover={ onHover }\n\t\t\t/>\n\t\t</DownloadableBlocksInserterPanel>\n\t) : (\n\t\t! hasLocalBlocks && <DownloadableBlocksNoResults />\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { filterValue, rootClientId = null } ) => {\n\t\tconst { getDownloadableBlocks, isRequestingDownloadableBlocks } =\n\t\t\tselect( blockDirectoryStore );\n\t\tconst { canInsertBlockType } = select( blockEditorStore );\n\n\t\tconst hasPermission = select( coreStore ).canUser(\n\t\t\t'read',\n\t\t\t'block-directory/search'\n\t\t);\n\n\t\tfunction getInstallableBlocks( term ) {\n\t\t\tconst downloadableBlocks = getDownloadableBlocks( term );\n\t\t\tconst installableBlocks = downloadableBlocks.filter( ( block ) =>\n\t\t\t\tcanInsertBlockType( block, rootClientId, true )\n\t\t\t);\n\n\t\t\tif ( downloadableBlocks.length === installableBlocks.length ) {\n\t\t\t\treturn downloadableBlocks;\n\t\t\t}\n\t\t\treturn installableBlocks;\n\t\t}\n\n\t\tlet downloadableItems = hasPermission\n\t\t\t? getInstallableBlocks( filterValue )\n\t\t\t: [];\n\n\t\tif ( downloadableItems.length === 0 ) {\n\t\t\tdownloadableItems = EMPTY_ARRAY;\n\t\t}\n\n\t\tconst isLoading = isRequestingDownloadableBlocks( filterValue );\n\n\t\treturn {\n\t\t\tdownloadableItems,\n\t\t\thasPermission,\n\t\t\tisLoading,\n\t\t};\n\t} ),\n] )( DownloadableBlocksPanel );\n"]}
@@ -14,12 +14,11 @@ var _a11y = require("@wordpress/a11y");
14
14
  /**
15
15
  * WordPress dependencies
16
16
  */
17
- function DownloadableBlocksInserterPanel(_ref) {
18
- let {
19
- children,
20
- downloadableItems,
21
- hasLocalBlocks
22
- } = _ref;
17
+ function DownloadableBlocksInserterPanel({
18
+ children,
19
+ downloadableItems,
20
+ hasLocalBlocks
21
+ }) {
23
22
  const count = downloadableItems.length;
24
23
  (0, _element.useEffect)(() => {
25
24
  (0, _a11y.speak)((0, _i18n.sprintf)(
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/inserter-panel.js"],"names":["DownloadableBlocksInserterPanel","children","downloadableItems","hasLocalBlocks","count","length"],"mappings":";;;;;;;AAIA;;AADA;;AAEA;;AALA;AACA;AACA;AAKA,SAASA,+BAAT,OAII;AAAA,MAJsC;AACzCC,IAAAA,QADyC;AAEzCC,IAAAA,iBAFyC;AAGzCC,IAAAA;AAHyC,GAItC;AACH,QAAMC,KAAK,GAAGF,iBAAiB,CAACG,MAAhC;AACA,0BAAW,MAAM;AAChB,qBACC;AACC;AACA,kBACC,8CADD,EAEC,gDAFD,EAGCD,KAHD,CAFD,EAOCA,KAPD,CADD;AAWA,GAZD,EAYG,CAAEA,KAAF,CAZH;AAcA,SACC,qDACG,CAAED,cAAF,IACD;AAAG,IAAA,SAAS,EAAC;AAAb,KACG,cAAI,kDAAJ,CADH,CAFF,EAOC;AAAK,IAAA,SAAS,EAAC;AAAf,IAPD,EASC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAI,IAAA,SAAS,EAAC;AAAd,KACG,cAAI,sBAAJ,CADH,CADD,EAIC;AAAG,IAAA,SAAS,EAAC;AAAb,KACG,cACD,oDADC,CADH,CAJD,CADD,EAWGF,QAXH,CATD,CADD;AAyBA;;eAEcD,+B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\n\nfunction DownloadableBlocksInserterPanel( {\n\tchildren,\n\tdownloadableItems,\n\thasLocalBlocks,\n} ) {\n\tconst count = downloadableItems.length;\n\tuseEffect( () => {\n\t\tspeak(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %d: number of available blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'%d additional block is available to install.',\n\t\t\t\t\t'%d additional blocks are available to install.',\n\t\t\t\t\tcount\n\t\t\t\t),\n\t\t\t\tcount\n\t\t\t)\n\t\t);\n\t}, [ count ] );\n\n\treturn (\n\t\t<>\n\t\t\t{ ! hasLocalBlocks && (\n\t\t\t\t<p className=\"block-directory-downloadable-blocks-panel__no-local\">\n\t\t\t\t\t{ __( 'No results available from your installed blocks.' ) }\n\t\t\t\t</p>\n\t\t\t) }\n\n\t\t\t<div className=\"block-editor-inserter__quick-inserter-separator\" />\n\n\t\t\t<div className=\"block-directory-downloadable-blocks-panel\">\n\t\t\t\t<div className=\"block-directory-downloadable-blocks-panel__header\">\n\t\t\t\t\t<h2 className=\"block-directory-downloadable-blocks-panel__title\">\n\t\t\t\t\t\t{ __( 'Available to install' ) }\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p className=\"block-directory-downloadable-blocks-panel__description\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select a block to install and add it to your post.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default DownloadableBlocksInserterPanel;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/inserter-panel.js"],"names":["DownloadableBlocksInserterPanel","children","downloadableItems","hasLocalBlocks","count","length"],"mappings":";;;;;;;AAIA;;AADA;;AAEA;;AALA;AACA;AACA;AAKA,SAASA,+BAAT,CAA0C;AACzCC,EAAAA,QADyC;AAEzCC,EAAAA,iBAFyC;AAGzCC,EAAAA;AAHyC,CAA1C,EAII;AACH,QAAMC,KAAK,GAAGF,iBAAiB,CAACG,MAAhC;AACA,0BAAW,MAAM;AAChB,qBACC;AACC;AACA,kBACC,8CADD,EAEC,gDAFD,EAGCD,KAHD,CAFD,EAOCA,KAPD,CADD;AAWA,GAZD,EAYG,CAAEA,KAAF,CAZH;AAcA,SACC,qDACG,CAAED,cAAF,IACD;AAAG,IAAA,SAAS,EAAC;AAAb,KACG,cAAI,kDAAJ,CADH,CAFF,EAOC;AAAK,IAAA,SAAS,EAAC;AAAf,IAPD,EASC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAI,IAAA,SAAS,EAAC;AAAd,KACG,cAAI,sBAAJ,CADH,CADD,EAIC;AAAG,IAAA,SAAS,EAAC;AAAb,KACG,cACD,oDADC,CADH,CAJD,CADD,EAWGF,QAXH,CATD,CADD;AAyBA;;eAEcD,+B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\n\nfunction DownloadableBlocksInserterPanel( {\n\tchildren,\n\tdownloadableItems,\n\thasLocalBlocks,\n} ) {\n\tconst count = downloadableItems.length;\n\tuseEffect( () => {\n\t\tspeak(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %d: number of available blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'%d additional block is available to install.',\n\t\t\t\t\t'%d additional blocks are available to install.',\n\t\t\t\t\tcount\n\t\t\t\t),\n\t\t\t\tcount\n\t\t\t)\n\t\t);\n\t}, [ count ] );\n\n\treturn (\n\t\t<>\n\t\t\t{ ! hasLocalBlocks && (\n\t\t\t\t<p className=\"block-directory-downloadable-blocks-panel__no-local\">\n\t\t\t\t\t{ __( 'No results available from your installed blocks.' ) }\n\t\t\t\t</p>\n\t\t\t) }\n\n\t\t\t<div className=\"block-editor-inserter__quick-inserter-separator\" />\n\n\t\t\t<div className=\"block-directory-downloadable-blocks-panel\">\n\t\t\t\t<div className=\"block-directory-downloadable-blocks-panel__header\">\n\t\t\t\t\t<h2 className=\"block-directory-downloadable-blocks-panel__title\">\n\t\t\t\t\t\t{ __( 'Available to install' ) }\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p className=\"block-directory-downloadable-blocks-panel__description\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select a block to install and add it to your post.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default DownloadableBlocksInserterPanel;\n"]}
@@ -9,8 +9,6 @@ exports.default = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
12
  var _i18n = require("@wordpress/i18n");
15
13
 
16
14
  var _components = require("@wordpress/components");
@@ -47,12 +45,9 @@ const getInstallMissing = OriginalComponent => props => {
47
45
  const {
48
46
  getDownloadableBlocks
49
47
  } = select(_store.store);
50
- const blocks = getDownloadableBlocks('block:' + originalName).filter(_ref => {
51
- let {
52
- name
53
- } = _ref;
54
- return originalName === name;
55
- });
48
+ const blocks = getDownloadableBlocks('block:' + originalName).filter(({
49
+ name
50
+ }) => originalName === name);
56
51
  return {
57
52
  hasPermission: select(_coreData.store).canUser('read', 'block-directory/search'),
58
53
  block: blocks.length && blocks[0]
@@ -60,19 +55,19 @@ const getInstallMissing = OriginalComponent => props => {
60
55
  }, [originalName]); // The user can't install blocks, or the block isn't available for download.
61
56
 
62
57
  if (!hasPermission || !block) {
63
- return (0, _element.createElement)(OriginalComponent, props);
58
+ return (0, _element.createElement)(OriginalComponent, { ...props
59
+ });
64
60
  }
65
61
 
66
- return (0, _element.createElement)(ModifiedWarning, (0, _extends2.default)({}, props, {
62
+ return (0, _element.createElement)(ModifiedWarning, { ...props,
67
63
  originalBlock: block
68
- }));
64
+ });
69
65
  };
70
66
 
71
- const ModifiedWarning = _ref2 => {
72
- let {
73
- originalBlock,
74
- ...props
75
- } = _ref2;
67
+ const ModifiedWarning = ({
68
+ originalBlock,
69
+ ...props
70
+ }) => {
76
71
  const {
77
72
  originalName,
78
73
  originalUndelimitedContent,
@@ -117,7 +112,8 @@ const ModifiedWarning = _ref2 => {
117
112
  }, (0, _i18n.__)('Keep as HTML')));
118
113
  }
119
114
 
120
- return (0, _element.createElement)("div", (0, _blockEditor.useBlockProps)(), (0, _element.createElement)(_blockEditor.Warning, {
115
+ return (0, _element.createElement)("div", { ...(0, _blockEditor.useBlockProps)()
116
+ }, (0, _element.createElement)(_blockEditor.Warning, {
121
117
  actions: actions
122
118
  }, messageHTML), (0, _element.createElement)(_element.RawHTML, null, originalUndelimitedContent));
123
119
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-directory/src/plugins/get-install-missing/index.js"],"names":["getInstallMissing","OriginalComponent","props","originalName","attributes","block","hasPermission","select","getDownloadableBlocks","blockDirectoryStore","blocks","filter","name","coreStore","canUser","length","ModifiedWarning","originalBlock","originalUndelimitedContent","clientId","replaceBlock","blockEditorStore","convertToHTML","content","hasContent","hasHTMLBlock","canInsertBlockType","getBlockRootClientId","messageHTML","title","actions","push"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { createBlock } from '@wordpress/blocks';\nimport { RawHTML } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tWarning,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport InstallButton from './install-button';\nimport { store as blockDirectoryStore } from '../../store';\n\nconst getInstallMissing = ( OriginalComponent ) => ( props ) => {\n\tconst { originalName } = props.attributes;\n\t// Disable reason: This is a valid component, but it's mistaken for a callback.\n\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\tconst { block, hasPermission } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getDownloadableBlocks } = select( blockDirectoryStore );\n\t\t\tconst blocks = getDownloadableBlocks(\n\t\t\t\t'block:' + originalName\n\t\t\t).filter( ( { name } ) => originalName === name );\n\t\t\treturn {\n\t\t\t\thasPermission: select( coreStore ).canUser(\n\t\t\t\t\t'read',\n\t\t\t\t\t'block-directory/search'\n\t\t\t\t),\n\t\t\t\tblock: blocks.length && blocks[ 0 ],\n\t\t\t};\n\t\t},\n\t\t[ originalName ]\n\t);\n\n\t// The user can't install blocks, or the block isn't available for download.\n\tif ( ! hasPermission || ! block ) {\n\t\treturn <OriginalComponent { ...props } />;\n\t}\n\n\treturn <ModifiedWarning { ...props } originalBlock={ block } />;\n};\n\nconst ModifiedWarning = ( { originalBlock, ...props } ) => {\n\tconst { originalName, originalUndelimitedContent, clientId } =\n\t\tprops.attributes;\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\tconst convertToHTML = () => {\n\t\treplaceBlock(\n\t\t\tprops.clientId,\n\t\t\tcreateBlock( 'core/html', {\n\t\t\t\tcontent: originalUndelimitedContent,\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst hasContent = !! originalUndelimitedContent;\n\tconst hasHTMLBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\treturn canInsertBlockType(\n\t\t\t\t'core/html',\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tlet messageHTML = sprintf(\n\t\t/* translators: %s: block name */\n\t\t__(\n\t\t\t'Your site doesn’t include support for the %s block. You can try installing the block or remove it entirely.'\n\t\t),\n\t\toriginalBlock.title || originalName\n\t);\n\tconst actions = [\n\t\t<InstallButton\n\t\t\tkey=\"install\"\n\t\t\tblock={ originalBlock }\n\t\t\tattributes={ props.attributes }\n\t\t\tclientId={ props.clientId }\n\t\t/>,\n\t];\n\n\tif ( hasContent && hasHTMLBlock ) {\n\t\tmessageHTML = sprintf(\n\t\t\t/* translators: %s: block name */\n\t\t\t__(\n\t\t\t\t'Your site doesn’t include support for the %s block. You can try installing the block, convert it to a Custom HTML block, or remove it entirely.'\n\t\t\t),\n\t\t\toriginalBlock.title || originalName\n\t\t);\n\t\tactions.push(\n\t\t\t<Button key=\"convert\" onClick={ convertToHTML } variant=\"tertiary\">\n\t\t\t\t{ __( 'Keep as HTML' ) }\n\t\t\t</Button>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...useBlockProps() }>\n\t\t\t<Warning actions={ actions }>{ messageHTML }</Warning>\n\t\t\t<RawHTML>{ originalUndelimitedContent }</RawHTML>\n\t\t</div>\n\t);\n};\n\nexport default getInstallMissing;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-directory/src/plugins/get-install-missing/index.js"],"names":["getInstallMissing","OriginalComponent","props","originalName","attributes","block","hasPermission","select","getDownloadableBlocks","blockDirectoryStore","blocks","filter","name","coreStore","canUser","length","ModifiedWarning","originalBlock","originalUndelimitedContent","clientId","replaceBlock","blockEditorStore","convertToHTML","content","hasContent","hasHTMLBlock","canInsertBlockType","getBlockRootClientId","messageHTML","title","actions","push"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { createBlock } from '@wordpress/blocks';\nimport { RawHTML } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tWarning,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport InstallButton from './install-button';\nimport { store as blockDirectoryStore } from '../../store';\n\nconst getInstallMissing = ( OriginalComponent ) => ( props ) => {\n\tconst { originalName } = props.attributes;\n\t// Disable reason: This is a valid component, but it's mistaken for a callback.\n\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\tconst { block, hasPermission } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getDownloadableBlocks } = select( blockDirectoryStore );\n\t\t\tconst blocks = getDownloadableBlocks(\n\t\t\t\t'block:' + originalName\n\t\t\t).filter( ( { name } ) => originalName === name );\n\t\t\treturn {\n\t\t\t\thasPermission: select( coreStore ).canUser(\n\t\t\t\t\t'read',\n\t\t\t\t\t'block-directory/search'\n\t\t\t\t),\n\t\t\t\tblock: blocks.length && blocks[ 0 ],\n\t\t\t};\n\t\t},\n\t\t[ originalName ]\n\t);\n\n\t// The user can't install blocks, or the block isn't available for download.\n\tif ( ! hasPermission || ! block ) {\n\t\treturn <OriginalComponent { ...props } />;\n\t}\n\n\treturn <ModifiedWarning { ...props } originalBlock={ block } />;\n};\n\nconst ModifiedWarning = ( { originalBlock, ...props } ) => {\n\tconst { originalName, originalUndelimitedContent, clientId } =\n\t\tprops.attributes;\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\tconst convertToHTML = () => {\n\t\treplaceBlock(\n\t\t\tprops.clientId,\n\t\t\tcreateBlock( 'core/html', {\n\t\t\t\tcontent: originalUndelimitedContent,\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst hasContent = !! originalUndelimitedContent;\n\tconst hasHTMLBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\treturn canInsertBlockType(\n\t\t\t\t'core/html',\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tlet messageHTML = sprintf(\n\t\t/* translators: %s: block name */\n\t\t__(\n\t\t\t'Your site doesn’t include support for the %s block. You can try installing the block or remove it entirely.'\n\t\t),\n\t\toriginalBlock.title || originalName\n\t);\n\tconst actions = [\n\t\t<InstallButton\n\t\t\tkey=\"install\"\n\t\t\tblock={ originalBlock }\n\t\t\tattributes={ props.attributes }\n\t\t\tclientId={ props.clientId }\n\t\t/>,\n\t];\n\n\tif ( hasContent && hasHTMLBlock ) {\n\t\tmessageHTML = sprintf(\n\t\t\t/* translators: %s: block name */\n\t\t\t__(\n\t\t\t\t'Your site doesn’t include support for the %s block. You can try installing the block, convert it to a Custom HTML block, or remove it entirely.'\n\t\t\t),\n\t\t\toriginalBlock.title || originalName\n\t\t);\n\t\tactions.push(\n\t\t\t<Button key=\"convert\" onClick={ convertToHTML } variant=\"tertiary\">\n\t\t\t\t{ __( 'Keep as HTML' ) }\n\t\t\t</Button>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...useBlockProps() }>\n\t\t\t<Warning actions={ actions }>{ messageHTML }</Warning>\n\t\t\t<RawHTML>{ originalUndelimitedContent }</RawHTML>\n\t\t</div>\n\t);\n};\n\nexport default getInstallMissing;\n"]}
@@ -26,12 +26,11 @@ var _store = require("../../store");
26
26
  /**
27
27
  * Internal dependencies
28
28
  */
29
- function InstallButton(_ref) {
30
- let {
31
- attributes,
32
- block,
33
- clientId
34
- } = _ref;
29
+ function InstallButton({
30
+ attributes,
31
+ block,
32
+ clientId
33
+ }) {
35
34
  const isInstallingBlock = (0, _data.useSelect)(select => select(_store.store).isInstalling(block.id), [block.id]);
36
35
  const {
37
36
  installBlockType