@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.
- package/CHANGELOG.md +2 -0
- package/build/components/block-ratings/index.js +7 -10
- package/build/components/block-ratings/index.js.map +1 -1
- package/build/components/block-ratings/stars.js +3 -4
- package/build/components/block-ratings/stars.js.map +1 -1
- package/build/components/compact-list/index.js +23 -28
- package/build/components/compact-list/index.js.map +1 -1
- package/build/components/downloadable-block-icon/index.js +3 -4
- package/build/components/downloadable-block-icon/index.js.map +1 -1
- package/build/components/downloadable-block-list-item/index.js +18 -23
- package/build/components/downloadable-block-list-item/index.js.map +1 -1
- package/build/components/downloadable-block-notice/index.js +3 -4
- package/build/components/downloadable-block-notice/index.js.map +1 -1
- package/build/components/downloadable-blocks-list/index.js +7 -10
- package/build/components/downloadable-blocks-list/index.js.map +1 -1
- package/build/components/downloadable-blocks-panel/index.js +13 -16
- package/build/components/downloadable-blocks-panel/index.js.map +1 -1
- package/build/components/downloadable-blocks-panel/inserter-panel.js +5 -6
- package/build/components/downloadable-blocks-panel/inserter-panel.js.map +1 -1
- package/build/plugins/get-install-missing/index.js +13 -17
- package/build/plugins/get-install-missing/index.js.map +1 -1
- package/build/plugins/get-install-missing/install-button.js +5 -6
- package/build/plugins/get-install-missing/install-button.js.map +1 -1
- package/build/plugins/inserter-menu-downloadable-blocks-panel/index.js +7 -9
- package/build/plugins/inserter-menu-downloadable-blocks-panel/index.js.map +1 -1
- package/build/plugins/installed-blocks-pre-publish-panel/index.js +2 -2
- package/build/plugins/installed-blocks-pre-publish-panel/index.js.map +1 -1
- package/build/store/actions.js +10 -17
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +6 -15
- package/build/store/reducer.js.map +1 -1
- package/build/store/resolvers.js +4 -9
- package/build/store/resolvers.js.map +1 -1
- package/build/store/selectors.js +4 -4
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils/has-block-type.js +4 -9
- package/build/store/utils/has-block-type.js.map +1 -1
- package/build-module/components/block-ratings/index.js +7 -10
- package/build-module/components/block-ratings/index.js.map +1 -1
- package/build-module/components/block-ratings/stars.js +3 -4
- package/build-module/components/block-ratings/stars.js.map +1 -1
- package/build-module/components/compact-list/index.js +23 -28
- package/build-module/components/compact-list/index.js.map +1 -1
- package/build-module/components/downloadable-block-icon/index.js +3 -4
- package/build-module/components/downloadable-block-icon/index.js.map +1 -1
- package/build-module/components/downloadable-block-list-item/index.js +18 -22
- package/build-module/components/downloadable-block-list-item/index.js.map +1 -1
- package/build-module/components/downloadable-block-notice/index.js +3 -4
- package/build-module/components/downloadable-block-notice/index.js.map +1 -1
- package/build-module/components/downloadable-blocks-list/index.js +7 -9
- package/build-module/components/downloadable-blocks-list/index.js.map +1 -1
- package/build-module/components/downloadable-blocks-panel/index.js +13 -16
- package/build-module/components/downloadable-blocks-panel/index.js.map +1 -1
- package/build-module/components/downloadable-blocks-panel/inserter-panel.js +5 -6
- package/build-module/components/downloadable-blocks-panel/inserter-panel.js.map +1 -1
- package/build-module/plugins/get-install-missing/index.js +13 -16
- package/build-module/plugins/get-install-missing/index.js.map +1 -1
- package/build-module/plugins/get-install-missing/install-button.js +5 -6
- package/build-module/plugins/get-install-missing/install-button.js.map +1 -1
- package/build-module/plugins/inserter-menu-downloadable-blocks-panel/index.js +7 -9
- package/build-module/plugins/inserter-menu-downloadable-blocks-panel/index.js.map +1 -1
- package/build-module/plugins/installed-blocks-pre-publish-panel/index.js +2 -2
- package/build-module/plugins/installed-blocks-pre-publish-panel/index.js.map +1 -1
- package/build-module/store/actions.js +10 -17
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +6 -15
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/resolvers.js +4 -9
- package/build-module/store/resolvers.js.map +1 -1
- package/build-module/store/selectors.js +4 -4
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils/has-block-type.js +4 -9
- package/build-module/store/utils/has-block-type.js.map +1 -1
- package/package.json +20 -20
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement, Fragment } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -19,17 +18,15 @@ import DownloadableBlockIcon from '../downloadable-block-icon';
|
|
|
19
18
|
import DownloadableBlockNotice from '../downloadable-block-notice';
|
|
20
19
|
import { store as blockDirectoryStore } from '../../store'; // Return the appropriate block item label, given the block data and status.
|
|
21
20
|
|
|
22
|
-
function getDownloadableBlockLabel(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
isInstalling
|
|
32
|
-
} = _ref2;
|
|
21
|
+
function getDownloadableBlockLabel({
|
|
22
|
+
title,
|
|
23
|
+
rating,
|
|
24
|
+
ratingCount
|
|
25
|
+
}, {
|
|
26
|
+
hasNotice,
|
|
27
|
+
isInstalled,
|
|
28
|
+
isInstalling
|
|
29
|
+
}) {
|
|
33
30
|
const stars = Math.round(rating / 0.5) * 0.5;
|
|
34
31
|
|
|
35
32
|
if (!isInstalled && hasNotice) {
|
|
@@ -58,12 +55,11 @@ function getDownloadableBlockLabel(_ref, _ref2) {
|
|
|
58
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);
|
|
59
56
|
}
|
|
60
57
|
|
|
61
|
-
function DownloadableBlockListItem(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
} = _ref3;
|
|
58
|
+
function DownloadableBlockListItem({
|
|
59
|
+
composite,
|
|
60
|
+
item,
|
|
61
|
+
onClick
|
|
62
|
+
}) {
|
|
67
63
|
const {
|
|
68
64
|
author,
|
|
69
65
|
description,
|
|
@@ -98,11 +94,11 @@ function DownloadableBlockListItem(_ref3) {
|
|
|
98
94
|
statusText = __('Installing…');
|
|
99
95
|
}
|
|
100
96
|
|
|
101
|
-
return createElement(CompositeItem,
|
|
97
|
+
return createElement(CompositeItem, {
|
|
102
98
|
__experimentalIsFocusable: true,
|
|
103
99
|
role: "option",
|
|
104
|
-
as: Button
|
|
105
|
-
|
|
100
|
+
as: Button,
|
|
101
|
+
...composite,
|
|
106
102
|
className: "block-directory-downloadable-block-list-item",
|
|
107
103
|
onClick: event => {
|
|
108
104
|
event.preventDefault();
|
|
@@ -117,7 +113,7 @@ function DownloadableBlockListItem(_ref3) {
|
|
|
117
113
|
}),
|
|
118
114
|
showTooltip: true,
|
|
119
115
|
tooltipPosition: "top center"
|
|
120
|
-
}
|
|
116
|
+
}, createElement("div", {
|
|
121
117
|
className: "block-directory-downloadable-block-list-item__icon"
|
|
122
118
|
}, createElement(DownloadableBlockIcon, {
|
|
123
119
|
icon: icon,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-block-list-item/index.js"],"names":["__","_n","sprintf","Button","Spinner","VisuallyHidden","__unstableCompositeItem","CompositeItem","createInterpolateElement","decodeEntities","getBlockType","useSelect","BlockRatings","DownloadableBlockIcon","DownloadableBlockNotice","store","blockDirectoryStore","getDownloadableBlockLabel","title","rating","ratingCount","hasNotice","isInstalled","isInstalling","stars","Math","round","DownloadableBlockListItem","composite","item","onClick","author","description","icon","name","isInstallable","select","getErrorNoticeForBlock","isBlockInstalling","notice","id","hasFatal","isFatal","statusText","event","preventDefault","span"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-block-list-item/index.js"],"names":["__","_n","sprintf","Button","Spinner","VisuallyHidden","__unstableCompositeItem","CompositeItem","createInterpolateElement","decodeEntities","getBlockType","useSelect","BlockRatings","DownloadableBlockIcon","DownloadableBlockNotice","store","blockDirectoryStore","getDownloadableBlockLabel","title","rating","ratingCount","hasNotice","isInstalled","isInstalling","stars","Math","round","DownloadableBlockListItem","composite","item","onClick","author","description","icon","name","isInstallable","select","getErrorNoticeForBlock","isBlockInstalling","notice","id","hasFatal","isFatal","statusText","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"]}
|
|
@@ -10,10 +10,9 @@ import { useSelect } from '@wordpress/data';
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import { store as blockDirectoryStore } from '../../store';
|
|
13
|
-
export const DownloadableBlockNotice =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} = _ref;
|
|
13
|
+
export const DownloadableBlockNotice = ({
|
|
14
|
+
block
|
|
15
|
+
}) => {
|
|
17
16
|
const errorNotice = useSelect(select => select(blockDirectoryStore).getErrorNoticeForBlock(block.id), [block]);
|
|
18
17
|
|
|
19
18
|
if (!errorNotice) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-block-notice/index.js"],"names":["__","useSelect","store","blockDirectoryStore","DownloadableBlockNotice","block","errorNotice","select","getErrorNoticeForBlock","id","message","isFatal"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,mBAAlB,QAA6C,aAA7C;AAEA,OAAO,MAAMC,uBAAuB,GAAG,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-block-notice/index.js"],"names":["__","useSelect","store","blockDirectoryStore","DownloadableBlockNotice","block","errorNotice","select","getErrorNoticeForBlock","id","message","isFatal"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,mBAAlB,QAA6C,aAA7C;AAEA,OAAO,MAAMC,uBAAuB,GAAG,CAAE;AAAEC,EAAAA;AAAF,CAAF,KAAiB;AACvD,QAAMC,WAAW,GAAGL,SAAS,CAC1BM,MAAF,IACCA,MAAM,CAAEJ,mBAAF,CAAN,CAA8BK,sBAA9B,CAAsDH,KAAK,CAACI,EAA5D,CAF2B,EAG5B,CAAEJ,KAAF,CAH4B,CAA7B;;AAMA,MAAK,CAAEC,WAAP,EAAqB;AACpB,WAAO,IAAP;AACA;;AAED,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGA,WAAW,CAACI,OADf,EAEGJ,WAAW,CAACK,OAAZ,GACC,MAAMX,EAAE,CAAE,yBAAF,CADT,GAEC,IAJJ,CADD,CADD;AAUA,CArBM;AAuBP,eAAeI,uBAAf","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,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -17,12 +16,11 @@ import { store as blockDirectoryStore } from '../../store';
|
|
|
17
16
|
|
|
18
17
|
const noop = () => {};
|
|
19
18
|
|
|
20
|
-
function DownloadableBlocksList(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
} = _ref;
|
|
19
|
+
function DownloadableBlocksList({
|
|
20
|
+
items,
|
|
21
|
+
onHover = noop,
|
|
22
|
+
onSelect
|
|
23
|
+
}) {
|
|
26
24
|
const composite = useCompositeState();
|
|
27
25
|
const {
|
|
28
26
|
installBlockType
|
|
@@ -32,11 +30,11 @@ function DownloadableBlocksList(_ref) {
|
|
|
32
30
|
return null;
|
|
33
31
|
}
|
|
34
32
|
|
|
35
|
-
return createElement(Composite,
|
|
33
|
+
return createElement(Composite, { ...composite,
|
|
36
34
|
role: "listbox",
|
|
37
35
|
className: "block-directory-downloadable-blocks-list",
|
|
38
36
|
"aria-label": __('Blocks available for install')
|
|
39
|
-
}
|
|
37
|
+
}, items.map(item => {
|
|
40
38
|
return createElement(DownloadableBlockListItem, {
|
|
41
39
|
key: item.id,
|
|
42
40
|
composite: composite,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-blocks-list/index.js"],"names":["__","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","getBlockType","useDispatch","DownloadableBlockListItem","store","blockDirectoryStore","noop","DownloadableBlocksList","items","onHover","onSelect","composite","installBlockType","length","map","item","id","name","then","success"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-blocks-list/index.js"],"names":["__","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","getBlockType","useDispatch","DownloadableBlockListItem","store","blockDirectoryStore","noop","DownloadableBlocksList","items","onHover","onSelect","composite","installBlockType","length","map","item","id","name","then","success"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,mBAAmB,IAAIC,SADxB,EAECC,2BAA2B,IAAIC,iBAFhC,QAGO,uBAHP;AAIA,SAASC,YAAT,QAA6B,mBAA7B;AACA,SAASC,WAAT,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,yBAAP,MAAsC,iCAAtC;AACA,SAASC,KAAK,IAAIC,mBAAlB,QAA6C,aAA7C;;AAEA,MAAMC,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,GAAGX,iBAAiB,EAAnC;AACA,QAAM;AAAEY,IAAAA;AAAF,MAAuBV,WAAW,CAAEG,mBAAF,CAAxC;;AAEA,MAAK,CAAEG,KAAK,CAACK,MAAb,EAAsB;AACrB,WAAO,IAAP;AACA;;AAED,SACC,cAAC,SAAD,OACMF,SADN;AAEC,IAAA,IAAI,EAAC,SAFN;AAGC,IAAA,SAAS,EAAC,0CAHX;AAIC,kBAAaf,EAAE,CAAE,8BAAF;AAJhB,KAMGY,KAAK,CAACM,GAAN,CAAaC,IAAF,IAAY;AACxB,WACC,cAAC,yBAAD;AACC,MAAA,GAAG,EAAGA,IAAI,CAACC,EADZ;AAEC,MAAA,SAAS,EAAGL,SAFb;AAGC,MAAA,OAAO,EAAG,MAAM;AACf;AACA;AACA;AACA,YAAKV,YAAY,CAAEc,IAAI,CAACE,IAAP,CAAjB,EAAiC;AAChCP,UAAAA,QAAQ,CAAEK,IAAF,CAAR;AACA,SAFD,MAEO;AACNH,UAAAA,gBAAgB,CAAEG,IAAF,CAAhB,CAAyBG,IAAzB,CAAiCC,OAAF,IAAe;AAC7C,gBAAKA,OAAL,EAAe;AACdT,cAAAA,QAAQ,CAAEK,IAAF,CAAR;AACA;AACD,WAJD;AAKA;;AACDN,QAAAA,OAAO,CAAE,IAAF,CAAP;AACA,OAjBF;AAkBC,MAAA,OAAO,EAAGA,OAlBX;AAmBC,MAAA,IAAI,EAAGM;AAnBR,MADD;AAuBA,GAxBC,CANH,CADD;AAkCA;;AAED,eAAeR,sBAAf","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"]}
|
|
@@ -19,17 +19,15 @@ import DownloadableBlocksNoResults from './no-results';
|
|
|
19
19
|
import { store as blockDirectoryStore } from '../../store';
|
|
20
20
|
const EMPTY_ARRAY = [];
|
|
21
21
|
|
|
22
|
-
function DownloadableBlocksPanel(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
} = _ref;
|
|
32
|
-
|
|
22
|
+
function DownloadableBlocksPanel({
|
|
23
|
+
downloadableItems,
|
|
24
|
+
onSelect,
|
|
25
|
+
onHover,
|
|
26
|
+
hasLocalBlocks,
|
|
27
|
+
hasPermission,
|
|
28
|
+
isLoading,
|
|
29
|
+
isTyping
|
|
30
|
+
}) {
|
|
33
31
|
if (typeof hasPermission === 'undefined' || isLoading || isTyping) {
|
|
34
32
|
return createElement(Fragment, null, hasPermission && !hasLocalBlocks && createElement(Fragment, null, createElement("p", {
|
|
35
33
|
className: "block-directory-downloadable-blocks-panel__no-local"
|
|
@@ -58,11 +56,10 @@ function DownloadableBlocksPanel(_ref) {
|
|
|
58
56
|
})) : !hasLocalBlocks && createElement(DownloadableBlocksNoResults, null);
|
|
59
57
|
}
|
|
60
58
|
|
|
61
|
-
export default compose([withSelect((select,
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
} = _ref2;
|
|
59
|
+
export default compose([withSelect((select, {
|
|
60
|
+
filterValue,
|
|
61
|
+
rootClientId = null
|
|
62
|
+
}) => {
|
|
66
63
|
const {
|
|
67
64
|
getDownloadableBlocks,
|
|
68
65
|
isRequestingDownloadableBlocks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/index.js"],"names":["__","Spinner","compose","store","blockEditorStore","coreStore","withSelect","DownloadableBlocksList","DownloadableBlocksInserterPanel","DownloadableBlocksNoResults","blockDirectoryStore","EMPTY_ARRAY","DownloadableBlocksPanel","downloadableItems","onSelect","onHover","hasLocalBlocks","hasPermission","isLoading","isTyping","length","select","filterValue","rootClientId","getDownloadableBlocks","isRequestingDownloadableBlocks","canInsertBlockType","canUser","getInstallableBlocks","term","downloadableBlocks","installableBlocks","filter","block"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,OAAT,QAAwB,uBAAxB;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,yBAA1C;AACA,SAASD,KAAK,IAAIE,SAAlB,QAAmC,sBAAnC;AACA,SAASC,UAAT,QAA2B,iBAA3B;AAEA;AACA;AACA;;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AACA,OAAOC,+BAAP,MAA4C,kBAA5C;AACA,OAAOC,2BAAP,MAAwC,cAAxC;AACA,SAASN,KAAK,IAAIO,mBAAlB,QAA6C,aAA7C;AAEA,MAAMC,WAAW,GAAG,EAApB;;AAEA,SAASC,uBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/index.js"],"names":["__","Spinner","compose","store","blockEditorStore","coreStore","withSelect","DownloadableBlocksList","DownloadableBlocksInserterPanel","DownloadableBlocksNoResults","blockDirectoryStore","EMPTY_ARRAY","DownloadableBlocksPanel","downloadableItems","onSelect","onHover","hasLocalBlocks","hasPermission","isLoading","isTyping","length","select","filterValue","rootClientId","getDownloadableBlocks","isRequestingDownloadableBlocks","canInsertBlockType","canUser","getInstallableBlocks","term","downloadableBlocks","installableBlocks","filter","block"],"mappings":"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","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"]}
|
|
@@ -7,12 +7,11 @@ import { __, _n, sprintf } from '@wordpress/i18n';
|
|
|
7
7
|
import { useEffect } from '@wordpress/element';
|
|
8
8
|
import { speak } from '@wordpress/a11y';
|
|
9
9
|
|
|
10
|
-
function DownloadableBlocksInserterPanel(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
} = _ref;
|
|
10
|
+
function DownloadableBlocksInserterPanel({
|
|
11
|
+
children,
|
|
12
|
+
downloadableItems,
|
|
13
|
+
hasLocalBlocks
|
|
14
|
+
}) {
|
|
16
15
|
const count = downloadableItems.length;
|
|
17
16
|
useEffect(() => {
|
|
18
17
|
speak(sprintf(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/inserter-panel.js"],"names":["__","_n","sprintf","useEffect","speak","DownloadableBlocksInserterPanel","children","downloadableItems","hasLocalBlocks","count","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,EAAb,EAAiBC,OAAjB,QAAgC,iBAAhC;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,KAAT,QAAsB,iBAAtB;;AAEA,SAASC,+BAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/inserter-panel.js"],"names":["__","_n","sprintf","useEffect","speak","DownloadableBlocksInserterPanel","children","downloadableItems","hasLocalBlocks","count","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,EAAb,EAAiBC,OAAjB,QAAgC,iBAAhC;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,KAAT,QAAsB,iBAAtB;;AAEA,SAASC,+BAAT,CAA0C;AACzCC,EAAAA,QADyC;AAEzCC,EAAAA,iBAFyC;AAGzCC,EAAAA;AAHyC,CAA1C,EAII;AACH,QAAMC,KAAK,GAAGF,iBAAiB,CAACG,MAAhC;AACAP,EAAAA,SAAS,CAAE,MAAM;AAChBC,IAAAA,KAAK,CACJF,OAAO;AACN;AACAD,IAAAA,EAAE,CACD,8CADC,EAED,gDAFC,EAGDQ,KAHC,CAFI,EAONA,KAPM,CADH,CAAL;AAWA,GAZQ,EAYN,CAAEA,KAAF,CAZM,CAAT;AAcA,SACC,8BACG,CAAED,cAAF,IACD;AAAG,IAAA,SAAS,EAAC;AAAb,KACGR,EAAE,CAAE,kDAAF,CADL,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,KACGA,EAAE,CAAE,sBAAF,CADL,CADD,EAIC;AAAG,IAAA,SAAS,EAAC;AAAb,KACGA,EAAE,CACH,oDADG,CADL,CAJD,CADD,EAWGM,QAXH,CATD,CADD;AAyBA;;AAED,eAAeD,+BAAf","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,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -31,12 +30,9 @@ const getInstallMissing = OriginalComponent => props => {
|
|
|
31
30
|
const {
|
|
32
31
|
getDownloadableBlocks
|
|
33
32
|
} = select(blockDirectoryStore);
|
|
34
|
-
const blocks = getDownloadableBlocks('block:' + originalName).filter(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
} = _ref;
|
|
38
|
-
return originalName === name;
|
|
39
|
-
});
|
|
33
|
+
const blocks = getDownloadableBlocks('block:' + originalName).filter(({
|
|
34
|
+
name
|
|
35
|
+
}) => originalName === name);
|
|
40
36
|
return {
|
|
41
37
|
hasPermission: select(coreStore).canUser('read', 'block-directory/search'),
|
|
42
38
|
block: blocks.length && blocks[0]
|
|
@@ -44,19 +40,19 @@ const getInstallMissing = OriginalComponent => props => {
|
|
|
44
40
|
}, [originalName]); // The user can't install blocks, or the block isn't available for download.
|
|
45
41
|
|
|
46
42
|
if (!hasPermission || !block) {
|
|
47
|
-
return createElement(OriginalComponent, props
|
|
43
|
+
return createElement(OriginalComponent, { ...props
|
|
44
|
+
});
|
|
48
45
|
}
|
|
49
46
|
|
|
50
|
-
return createElement(ModifiedWarning,
|
|
47
|
+
return createElement(ModifiedWarning, { ...props,
|
|
51
48
|
originalBlock: block
|
|
52
|
-
})
|
|
49
|
+
});
|
|
53
50
|
};
|
|
54
51
|
|
|
55
|
-
const ModifiedWarning =
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
} = _ref2;
|
|
52
|
+
const ModifiedWarning = ({
|
|
53
|
+
originalBlock,
|
|
54
|
+
...props
|
|
55
|
+
}) => {
|
|
60
56
|
const {
|
|
61
57
|
originalName,
|
|
62
58
|
originalUndelimitedContent,
|
|
@@ -101,7 +97,8 @@ const ModifiedWarning = _ref2 => {
|
|
|
101
97
|
}, __('Keep as HTML')));
|
|
102
98
|
}
|
|
103
99
|
|
|
104
|
-
return createElement("div", useBlockProps()
|
|
100
|
+
return createElement("div", { ...useBlockProps()
|
|
101
|
+
}, createElement(Warning, {
|
|
105
102
|
actions: actions
|
|
106
103
|
}, messageHTML), createElement(RawHTML, null, originalUndelimitedContent));
|
|
107
104
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-directory/src/plugins/get-install-missing/index.js"],"names":["__","sprintf","Button","createBlock","RawHTML","useDispatch","useSelect","store","coreStore","Warning","useBlockProps","blockEditorStore","InstallButton","blockDirectoryStore","getInstallMissing","OriginalComponent","props","originalName","attributes","block","hasPermission","select","getDownloadableBlocks","blocks","filter","name","canUser","length","ModifiedWarning","originalBlock","originalUndelimitedContent","clientId","replaceBlock","convertToHTML","content","hasContent","hasHTMLBlock","canInsertBlockType","getBlockRootClientId","messageHTML","title","actions","push"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-directory/src/plugins/get-install-missing/index.js"],"names":["__","sprintf","Button","createBlock","RawHTML","useDispatch","useSelect","store","coreStore","Warning","useBlockProps","blockEditorStore","InstallButton","blockDirectoryStore","getInstallMissing","OriginalComponent","props","originalName","attributes","block","hasPermission","select","getDownloadableBlocks","blocks","filter","name","canUser","length","ModifiedWarning","originalBlock","originalUndelimitedContent","clientId","replaceBlock","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"]}
|
|
@@ -13,12 +13,11 @@ import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import { store as blockDirectoryStore } from '../../store';
|
|
16
|
-
export default function InstallButton(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} = _ref;
|
|
16
|
+
export default function InstallButton({
|
|
17
|
+
attributes,
|
|
18
|
+
block,
|
|
19
|
+
clientId
|
|
20
|
+
}) {
|
|
22
21
|
const isInstallingBlock = useSelect(select => select(blockDirectoryStore).isInstalling(block.id), [block.id]);
|
|
23
22
|
const {
|
|
24
23
|
installBlockType
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-directory/src/plugins/get-install-missing/install-button.js"],"names":["__","sprintf","Button","createBlock","getBlockType","parse","useSelect","useDispatch","store","blockEditorStore","blockDirectoryStore","InstallButton","attributes","block","clientId","isInstallingBlock","select","isInstalling","id","installBlockType","replaceBlock","then","success","blockType","name","originalBlock","originalContent","innerBlocks","title"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,WAAT,EAAsBC,YAAtB,EAAoCC,KAApC,QAAiD,mBAAjD;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,yBAA1C;AAEA;AACA;AACA;;AACA,SAASD,KAAK,IAAIE,mBAAlB,QAA6C,aAA7C;AAEA,eAAe,SAASC,aAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-directory/src/plugins/get-install-missing/install-button.js"],"names":["__","sprintf","Button","createBlock","getBlockType","parse","useSelect","useDispatch","store","blockEditorStore","blockDirectoryStore","InstallButton","attributes","block","clientId","isInstallingBlock","select","isInstalling","id","installBlockType","replaceBlock","then","success","blockType","name","originalBlock","originalContent","innerBlocks","title"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,WAAT,EAAsBC,YAAtB,EAAoCC,KAApC,QAAiD,mBAAjD;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,yBAA1C;AAEA;AACA;AACA;;AACA,SAASD,KAAK,IAAIE,mBAAlB,QAA6C,aAA7C;AAEA,eAAe,SAASC,aAAT,CAAwB;AAAEC,EAAAA,UAAF;AAAcC,EAAAA,KAAd;AAAqBC,EAAAA;AAArB,CAAxB,EAA0D;AACxE,QAAMC,iBAAiB,GAAGT,SAAS,CAChCU,MAAF,IAAcA,MAAM,CAAEN,mBAAF,CAAN,CAA8BO,YAA9B,CAA4CJ,KAAK,CAACK,EAAlD,CADoB,EAElC,CAAEL,KAAK,CAACK,EAAR,CAFkC,CAAnC;AAIA,QAAM;AAAEC,IAAAA;AAAF,MAAuBZ,WAAW,CAAEG,mBAAF,CAAxC;AACA,QAAM;AAAEU,IAAAA;AAAF,MAAmBb,WAAW,CAAEE,gBAAF,CAApC;AAEA,SACC,cAAC,MAAD;AACC,IAAA,OAAO,EAAG,MACTU,gBAAgB,CAAEN,KAAF,CAAhB,CAA0BQ,IAA1B,CAAkCC,OAAF,IAAe;AAC9C,UAAKA,OAAL,EAAe;AACd,cAAMC,SAAS,GAAGnB,YAAY,CAAES,KAAK,CAACW,IAAR,CAA9B;AACA,cAAM,CAAEC,aAAF,IAAoBpB,KAAK,CAC9BO,UAAU,CAACc,eADmB,CAA/B;;AAGA,YAAKD,aAAa,IAAIF,SAAtB,EAAkC;AACjCH,UAAAA,YAAY,CACXN,QADW,EAEXX,WAAW,CACVoB,SAAS,CAACC,IADA,EAEVC,aAAa,CAACb,UAFJ,EAGVa,aAAa,CAACE,WAHJ,CAFA,CAAZ;AAQA;AACD;AACD,KAjBD,CAFF;AAqBC,IAAA,QAAQ,EAAGZ,iBArBZ;AAsBC,IAAA,MAAM,EAAGA,iBAtBV;AAuBC,IAAA,OAAO,EAAC;AAvBT,KAyBGd,OAAO;AACR;AACAD,EAAAA,EAAE,CAAE,YAAF,CAFM,EAGRa,KAAK,CAACe,KAHE,CAzBV,CADD;AAiCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { createBlock, getBlockType, parse } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { store as blockDirectoryStore } from '../../store';\n\nexport default function InstallButton( { attributes, block, clientId } ) {\n\tconst isInstallingBlock = useSelect(\n\t\t( select ) => select( blockDirectoryStore ).isInstalling( block.id ),\n\t\t[ block.id ]\n\t);\n\tconst { installBlockType } = useDispatch( blockDirectoryStore );\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={ () =>\n\t\t\t\tinstallBlockType( block ).then( ( success ) => {\n\t\t\t\t\tif ( success ) {\n\t\t\t\t\t\tconst blockType = getBlockType( block.name );\n\t\t\t\t\t\tconst [ originalBlock ] = parse(\n\t\t\t\t\t\t\tattributes.originalContent\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( originalBlock && blockType ) {\n\t\t\t\t\t\t\treplaceBlock(\n\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\tblockType.name,\n\t\t\t\t\t\t\t\t\toriginalBlock.attributes,\n\t\t\t\t\t\t\t\t\toriginalBlock.innerBlocks\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}\n\t\t\t\t} )\n\t\t\t}\n\t\t\tdisabled={ isInstallingBlock }\n\t\t\tisBusy={ isInstallingBlock }\n\t\t\tvariant=\"primary\"\n\t\t>\n\t\t\t{ sprintf(\n\t\t\t\t/* translators: %s: block name */\n\t\t\t\t__( 'Install %s' ),\n\t\t\t\tblock.title\n\t\t\t) }\n\t\t</Button>\n\t);\n}\n"]}
|
|
@@ -15,15 +15,13 @@ import DownloadableBlocksPanel from '../../components/downloadable-blocks-panel'
|
|
|
15
15
|
function InserterMenuDownloadableBlocksPanel() {
|
|
16
16
|
const [debouncedFilterValue, setFilterValue] = useState('');
|
|
17
17
|
const debouncedSetFilterValue = debounce(setFilterValue, 400);
|
|
18
|
-
return createElement(__unstableInserterMenuExtension, null,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
} = _ref;
|
|
26
|
-
|
|
18
|
+
return createElement(__unstableInserterMenuExtension, null, ({
|
|
19
|
+
onSelect,
|
|
20
|
+
onHover,
|
|
21
|
+
filterValue,
|
|
22
|
+
hasItems,
|
|
23
|
+
rootClientId
|
|
24
|
+
}) => {
|
|
27
25
|
if (debouncedFilterValue !== filterValue) {
|
|
28
26
|
debouncedSetFilterValue(filterValue);
|
|
29
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-directory/src/plugins/inserter-menu-downloadable-blocks-panel/index.js"],"names":["__unstableInserterMenuExtension","debounce","useState","DownloadableBlocksPanel","InserterMenuDownloadableBlocksPanel","debouncedFilterValue","setFilterValue","debouncedSetFilterValue","onSelect","onHover","filterValue","hasItems","rootClientId"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,+BAAT,QAAgD,yBAAhD;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA;AACA;AACA;;AACA,OAAOC,uBAAP,MAAoC,4CAApC;;AAEA,SAASC,mCAAT,GAA+C;AAC9C,QAAM,CAAEC,oBAAF,EAAwBC,cAAxB,IAA2CJ,QAAQ,CAAE,EAAF,CAAzD;AACA,QAAMK,uBAAuB,GAAGN,QAAQ,CAAEK,cAAF,EAAkB,GAAlB,CAAxC;AAEA,SACC,cAAC,+BAAD,QACG,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-directory/src/plugins/inserter-menu-downloadable-blocks-panel/index.js"],"names":["__unstableInserterMenuExtension","debounce","useState","DownloadableBlocksPanel","InserterMenuDownloadableBlocksPanel","debouncedFilterValue","setFilterValue","debouncedSetFilterValue","onSelect","onHover","filterValue","hasItems","rootClientId"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,+BAAT,QAAgD,yBAAhD;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA;AACA;AACA;;AACA,OAAOC,uBAAP,MAAoC,4CAApC;;AAEA,SAASC,mCAAT,GAA+C;AAC9C,QAAM,CAAEC,oBAAF,EAAwBC,cAAxB,IAA2CJ,QAAQ,CAAE,EAAF,CAAzD;AACA,QAAMK,uBAAuB,GAAGN,QAAQ,CAAEK,cAAF,EAAkB,GAAlB,CAAxC;AAEA,SACC,cAAC,+BAAD,QACG,CAAE;AACHE,IAAAA,QADG;AAEHC,IAAAA,OAFG;AAGHC,IAAAA,WAHG;AAIHC,IAAAA,QAJG;AAKHC,IAAAA;AALG,GAAF,KAMK;AACN,QAAKP,oBAAoB,KAAKK,WAA9B,EAA4C;AAC3CH,MAAAA,uBAAuB,CAAEG,WAAF,CAAvB;AACA;;AAED,QAAK,CAAEL,oBAAP,EAA8B;AAC7B,aAAO,IAAP;AACA;;AAED,WACC,cAAC,uBAAD;AACC,MAAA,QAAQ,EAAGG,QADZ;AAEC,MAAA,OAAO,EAAGC,OAFX;AAGC,MAAA,YAAY,EAAGG,YAHhB;AAIC,MAAA,WAAW,EAAGP,oBAJf;AAKC,MAAA,cAAc,EAAGM,QALlB;AAMC,MAAA,QAAQ,EAAGD,WAAW,KAAKL;AAN5B,MADD;AAUA,GA1BF,CADD;AA8BA;;AAED,eAAeD,mCAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __unstableInserterMenuExtension } from '@wordpress/block-editor';\nimport { debounce } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DownloadableBlocksPanel from '../../components/downloadable-blocks-panel';\n\nfunction InserterMenuDownloadableBlocksPanel() {\n\tconst [ debouncedFilterValue, setFilterValue ] = useState( '' );\n\tconst debouncedSetFilterValue = debounce( setFilterValue, 400 );\n\n\treturn (\n\t\t<__unstableInserterMenuExtension>\n\t\t\t{ ( {\n\t\t\t\tonSelect,\n\t\t\t\tonHover,\n\t\t\t\tfilterValue,\n\t\t\t\thasItems,\n\t\t\t\trootClientId,\n\t\t\t} ) => {\n\t\t\t\tif ( debouncedFilterValue !== filterValue ) {\n\t\t\t\t\tdebouncedSetFilterValue( filterValue );\n\t\t\t\t}\n\n\t\t\t\tif ( ! debouncedFilterValue ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<DownloadableBlocksPanel\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tfilterValue={ debouncedFilterValue }\n\t\t\t\t\t\thasLocalBlocks={ hasItems }\n\t\t\t\t\t\tisTyping={ filterValue !== debouncedFilterValue }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t</__unstableInserterMenuExtension>\n\t);\n}\n\nexport default InserterMenuDownloadableBlocksPanel;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _window$wp$editPost
|
|
1
|
+
var _window$wp$editPost;
|
|
2
2
|
|
|
3
3
|
import { createElement } from "@wordpress/element";
|
|
4
4
|
|
|
@@ -18,7 +18,7 @@ import { store as blockDirectoryStore } from '../../store'; // We shouldn't impo
|
|
|
18
18
|
|
|
19
19
|
const {
|
|
20
20
|
PluginPrePublishPanel
|
|
21
|
-
} = (_window$wp$editPost =
|
|
21
|
+
} = (_window$wp$editPost = window?.wp?.editPost) !== null && _window$wp$editPost !== void 0 ? _window$wp$editPost : {};
|
|
22
22
|
export default function InstalledBlocksPrePublishPanel() {
|
|
23
23
|
const newBlockTypes = useSelect(select => select(blockDirectoryStore).getNewBlockTypes(), []);
|
|
24
24
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-directory/src/plugins/installed-blocks-pre-publish-panel/index.js"],"names":["_n","sprintf","useSelect","blockDefault","CompactList","store","blockDirectoryStore","PluginPrePublishPanel","window","wp","editPost","InstalledBlocksPrePublishPanel","newBlockTypes","select","getNewBlockTypes","length"],"mappings":";;;;AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,YAAT,QAA6B,kBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,+BAAxB;AACA,SAASC,KAAK,IAAIC,mBAAlB,QAA6C,aAA7C,C,CAEA;AACA;;AACA,MAAM;AAAEC,EAAAA;AAAF,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-directory/src/plugins/installed-blocks-pre-publish-panel/index.js"],"names":["_n","sprintf","useSelect","blockDefault","CompactList","store","blockDirectoryStore","PluginPrePublishPanel","window","wp","editPost","InstalledBlocksPrePublishPanel","newBlockTypes","select","getNewBlockTypes","length"],"mappings":";;;;AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,YAAT,QAA6B,kBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,+BAAxB;AACA,SAASC,KAAK,IAAIC,mBAAlB,QAA6C,aAA7C,C,CAEA;AACA;;AACA,MAAM;AAAEC,EAAAA;AAAF,2BAA4BC,MAAM,EAAEC,EAAR,EAAYC,QAAxC,qEAAoD,EAA1D;AAEA,eAAe,SAASC,8BAAT,GAA0C;AACxD,QAAMC,aAAa,GAAGV,SAAS,CAC5BW,MAAF,IAAcA,MAAM,CAAEP,mBAAF,CAAN,CAA8BQ,gBAA9B,EADgB,EAE9B,EAF8B,CAA/B;;AAKA,MAAK,CAAEF,aAAa,CAACG,MAArB,EAA8B;AAC7B,WAAO,IAAP;AACA;;AAED,SACC,cAAC,qBAAD;AACC,IAAA,IAAI,EAAGZ,YADR;AAEC,IAAA,KAAK,EAAGF,OAAO,EACd;AACAD,IAAAA,EAAE,CACD,iBADC,EAED,kBAFC,EAGDY,aAAa,CAACG,MAHb,CAFY,EAOdH,aAAa,CAACG,MAPA,CAFhB;AAWC,IAAA,WAAW,EAAG;AAXf,KAaC;AAAG,IAAA,SAAS,EAAC;AAAb,KACGf,EAAE,CACH,kDADG,EAEH,oDAFG,EAGHY,aAAa,CAACG,MAHX,CADL,CAbD,EAoBC,cAAC,WAAD;AAAa,IAAA,KAAK,EAAGH;AAArB,IApBD,CADD;AAwBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _n, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { blockDefault } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport CompactList from '../../components/compact-list';\nimport { store as blockDirectoryStore } from '../../store';\n\n// We shouldn't import the edit-post package directly\n// because it would include the wp-edit-post in all pages loading the block-directory script.\nconst { PluginPrePublishPanel } = window?.wp?.editPost ?? {};\n\nexport default function InstalledBlocksPrePublishPanel() {\n\tconst newBlockTypes = useSelect(\n\t\t( select ) => select( blockDirectoryStore ).getNewBlockTypes(),\n\t\t[]\n\t);\n\n\tif ( ! newBlockTypes.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PluginPrePublishPanel\n\t\t\ticon={ blockDefault }\n\t\t\ttitle={ sprintf(\n\t\t\t\t// translators: %d: number of blocks (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Added: %d block',\n\t\t\t\t\t'Added: %d blocks',\n\t\t\t\t\tnewBlockTypes.length\n\t\t\t\t),\n\t\t\t\tnewBlockTypes.length\n\t\t\t) }\n\t\t\tinitialOpen={ true }\n\t\t>\n\t\t\t<p className=\"installed-blocks-pre-publish-panel__copy\">\n\t\t\t\t{ _n(\n\t\t\t\t\t'The following block has been added to your site.',\n\t\t\t\t\t'The following blocks have been added to your site.',\n\t\t\t\t\tnewBlockTypes.length\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<CompactList items={ newBlockTypes } />\n\t\t</PluginPrePublishPanel>\n\t);\n}\n"]}
|
|
@@ -53,11 +53,10 @@ export function receiveDownloadableBlocks(downloadableBlocks, filterValue) {
|
|
|
53
53
|
* @return {boolean} Whether the block was successfully installed & loaded.
|
|
54
54
|
*/
|
|
55
55
|
|
|
56
|
-
export const installBlockType = block => async
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
} = _ref;
|
|
56
|
+
export const installBlockType = block => async ({
|
|
57
|
+
registry,
|
|
58
|
+
dispatch
|
|
59
|
+
}) => {
|
|
61
60
|
const {
|
|
62
61
|
id,
|
|
63
62
|
name
|
|
@@ -110,10 +109,7 @@ export const installBlockType = block => async _ref => {
|
|
|
110
109
|
}
|
|
111
110
|
|
|
112
111
|
unstable__bootstrapServerSideBlockDefinitions({
|
|
113
|
-
[name]: Object.fromEntries(Object.entries(response).filter(
|
|
114
|
-
let [key] = _ref2;
|
|
115
|
-
return metadataFields.includes(key);
|
|
116
|
-
}))
|
|
112
|
+
[name]: Object.fromEntries(Object.entries(response).filter(([key]) => metadataFields.includes(key)))
|
|
117
113
|
});
|
|
118
114
|
});
|
|
119
115
|
await loadAssets();
|
|
@@ -161,12 +157,10 @@ export const installBlockType = block => async _ref => {
|
|
|
161
157
|
* @param {Object} block The blockType object.
|
|
162
158
|
*/
|
|
163
159
|
|
|
164
|
-
export const uninstallBlockType = block => async
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
} = _ref3;
|
|
169
|
-
|
|
160
|
+
export const uninstallBlockType = block => async ({
|
|
161
|
+
registry,
|
|
162
|
+
dispatch
|
|
163
|
+
}) => {
|
|
170
164
|
try {
|
|
171
165
|
const url = getPluginUrl(block);
|
|
172
166
|
await apiFetch({
|
|
@@ -241,8 +235,7 @@ export function setIsInstalling(blockId, isInstalling) {
|
|
|
241
235
|
* @return {Object} Action object.
|
|
242
236
|
*/
|
|
243
237
|
|
|
244
|
-
export function setErrorNotice(blockId, message) {
|
|
245
|
-
let isFatal = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
238
|
+
export function setErrorNotice(blockId, message, isFatal = false) {
|
|
246
239
|
return {
|
|
247
240
|
type: 'SET_ERROR_NOTICE',
|
|
248
241
|
blockId,
|