@wordpress/block-directory 4.31.0 → 4.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/components/auto-block-uninstaller/index.js.map +1 -1
- package/build/components/block-ratings/index.js.map +1 -1
- package/build/components/block-ratings/stars.js.map +1 -1
- package/build/components/compact-list/index.js.map +1 -1
- package/build/components/downloadable-block-icon/index.js.map +1 -1
- package/build/components/downloadable-block-list-item/index.js.map +1 -1
- package/build/components/downloadable-block-notice/index.js.map +1 -1
- package/build/components/downloadable-blocks-list/index.js.map +1 -1
- package/build/components/downloadable-blocks-panel/index.js.map +1 -1
- package/build/components/downloadable-blocks-panel/inserter-panel.js.map +1 -1
- package/build/components/downloadable-blocks-panel/no-results.js.map +1 -1
- package/build/index.js.map +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/plugins/get-install-missing/index.js.map +1 -1
- package/build/plugins/get-install-missing/install-button.js.map +1 -1
- package/build/plugins/index.js.map +1 -1
- package/build/plugins/inserter-menu-downloadable-blocks-panel/index.js.map +1 -1
- package/build/plugins/installed-blocks-pre-publish-panel/index.js +6 -0
- package/build/plugins/installed-blocks-pre-publish-panel/index.js.map +1 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/index.js +1 -1
- package/build/store/index.js.map +1 -1
- package/build/store/load-assets.js.map +1 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/resolvers.js.map +1 -1
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils/get-plugin-url.js.map +1 -1
- package/build/store/utils/has-block-type.js.map +1 -1
- package/build-module/components/auto-block-uninstaller/index.js.map +1 -1
- package/build-module/components/block-ratings/index.js.map +1 -1
- package/build-module/components/block-ratings/stars.js.map +1 -1
- package/build-module/components/compact-list/index.js.map +1 -1
- package/build-module/components/downloadable-block-icon/index.js.map +1 -1
- package/build-module/components/downloadable-block-list-item/index.js.map +1 -1
- package/build-module/components/downloadable-block-notice/index.js.map +1 -1
- package/build-module/components/downloadable-blocks-list/index.js.map +1 -1
- package/build-module/components/downloadable-blocks-panel/index.js.map +1 -1
- package/build-module/components/downloadable-blocks-panel/inserter-panel.js.map +1 -1
- package/build-module/components/downloadable-blocks-panel/no-results.js.map +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/plugins/get-install-missing/index.js.map +1 -1
- package/build-module/plugins/get-install-missing/install-button.js.map +1 -1
- package/build-module/plugins/index.js.map +1 -1
- 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.map +1 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/load-assets.js.map +1 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/resolvers.js.map +1 -1
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils/get-plugin-url.js.map +1 -1
- package/build-module/store/utils/has-block-type.js.map +1 -1
- package/build-style/style-rtl.css +1 -1
- package/build-style/style.css +1 -1
- package/package.json +21 -21
package/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blocks","require","_data","_element","_editor","_store","AutoBlockUninstaller","uninstallBlockType","useDispatch","blockDirectoryStore","shouldRemoveBlockTypes","useSelect","select","isAutosavingPost","isSavingPost","editorStore","unusedBlockTypes","getUnusedBlockTypes","useEffect","length","forEach","blockType","unregisterBlockType","name"],"sources":["@wordpress/block-directory/src/components/auto-block-uninstaller/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { unregisterBlockType } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as blockDirectoryStore } from '../../store';\n\nexport default function AutoBlockUninstaller() {\n\tconst { uninstallBlockType } = useDispatch( blockDirectoryStore );\n\n\tconst shouldRemoveBlockTypes = useSelect( ( select ) => {\n\t\tconst { isAutosavingPost, isSavingPost } = select( editorStore );\n\t\treturn isSavingPost() && ! isAutosavingPost();\n\t}, [] );\n\n\tconst unusedBlockTypes = useSelect(\n\t\t( select ) => select( blockDirectoryStore ).getUnusedBlockTypes(),\n\t\t[]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( shouldRemoveBlockTypes && unusedBlockTypes.length ) {\n\t\t\tunusedBlockTypes.forEach( ( blockType ) => {\n\t\t\t\tuninstallBlockType( blockType );\n\t\t\t\tunregisterBlockType( blockType.name );\n\t\t\t} );\n\t\t}\n\t}, [ shouldRemoveBlockTypes ] );\n\n\treturn null;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGe,SAASK,oBAAoBA,CAAA,EAAG;EAC9C,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAoB,CAAC;EAEjE,MAAMC,sBAAsB,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACvD,MAAM;MAAEC,gBAAgB;MAAEC;IAAa,CAAC,GAAGF,MAAM,CAAEG,aAAY,CAAC;IAChE,OAAOD,YAAY,CAAC,CAAC,IAAI,CAAED,gBAAgB,CAAC,CAAC;EAC9C,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMG,gBAAgB,GAAG,IAAAL,eAAS,EAC/BC,MAAM,IAAMA,MAAM,CAAEH,YAAoB,CAAC,CAACQ,mBAAmB,CAAC,CAAC,EACjE,EACD,CAAC;EAED,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAKR,sBAAsB,IAAIM,gBAAgB,CAACG,MAAM,EAAG;MACxDH,gBAAgB,CAACI,OAAO,CAAIC,SAAS,IAAM;QAC1Cd,kBAAkB,CAAEc,SAAU,CAAC;QAC/B,IAAAC,2BAAmB,EAAED,SAAS,CAACE,IAAK,CAAC;MACtC,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAEb,sBAAsB,CAAG,CAAC;EAE/B,OAAO,IAAI;AACZ"}
|
|
1
|
+
{"version":3,"names":["_blocks","require","_data","_element","_editor","_store","AutoBlockUninstaller","uninstallBlockType","useDispatch","blockDirectoryStore","shouldRemoveBlockTypes","useSelect","select","isAutosavingPost","isSavingPost","editorStore","unusedBlockTypes","getUnusedBlockTypes","useEffect","length","forEach","blockType","unregisterBlockType","name"],"sources":["@wordpress/block-directory/src/components/auto-block-uninstaller/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { unregisterBlockType } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as blockDirectoryStore } from '../../store';\n\nexport default function AutoBlockUninstaller() {\n\tconst { uninstallBlockType } = useDispatch( blockDirectoryStore );\n\n\tconst shouldRemoveBlockTypes = useSelect( ( select ) => {\n\t\tconst { isAutosavingPost, isSavingPost } = select( editorStore );\n\t\treturn isSavingPost() && ! isAutosavingPost();\n\t}, [] );\n\n\tconst unusedBlockTypes = useSelect(\n\t\t( select ) => select( blockDirectoryStore ).getUnusedBlockTypes(),\n\t\t[]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( shouldRemoveBlockTypes && unusedBlockTypes.length ) {\n\t\t\tunusedBlockTypes.forEach( ( blockType ) => {\n\t\t\t\tuninstallBlockType( blockType );\n\t\t\t\tunregisterBlockType( blockType.name );\n\t\t\t} );\n\t\t}\n\t}, [ shouldRemoveBlockTypes ] );\n\n\treturn null;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGe,SAASK,oBAAoBA,CAAA,EAAG;EAC9C,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAoB,CAAC;EAEjE,MAAMC,sBAAsB,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACvD,MAAM;MAAEC,gBAAgB;MAAEC;IAAa,CAAC,GAAGF,MAAM,CAAEG,aAAY,CAAC;IAChE,OAAOD,YAAY,CAAC,CAAC,IAAI,CAAED,gBAAgB,CAAC,CAAC;EAC9C,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMG,gBAAgB,GAAG,IAAAL,eAAS,EAC/BC,MAAM,IAAMA,MAAM,CAAEH,YAAoB,CAAC,CAACQ,mBAAmB,CAAC,CAAC,EACjE,EACD,CAAC;EAED,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAKR,sBAAsB,IAAIM,gBAAgB,CAACG,MAAM,EAAG;MACxDH,gBAAgB,CAACI,OAAO,CAAIC,SAAS,IAAM;QAC1Cd,kBAAkB,CAAEc,SAAU,CAAC;QAC/B,IAAAC,2BAAmB,EAAED,SAAS,CAACE,IAAK,CAAC;MACtC,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAEb,sBAAsB,CAAG,CAAC;EAE/B,OAAO,IAAI;AACZ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stars","_interopRequireDefault","require","BlockRatings","rating","_react","createElement","className","default","exports","_default"],"sources":["@wordpress/block-directory/src/components/block-ratings/index.js"],"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"],"mappings":";;;;;;;;AAGA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAMC,YAAY,GAAGA,CAAE;EAAEC;AAAO,CAAC,KACvC,IAAAC,MAAA,CAAAC,aAAA;EAAMC,SAAS,EAAC;AAA+B,GAC9C,IAAAF,MAAA,CAAAC,aAAA,EAACN,MAAA,CAAAQ,OAAK;EAACJ,MAAM,EAAGA;AAAQ,CAAE,CACrB,CACN;AAACK,OAAA,CAAAN,YAAA,GAAAA,YAAA;AAAA,IAAAO,QAAA,GAAAD,OAAA,CAAAD,OAAA,GAEaL,YAAY"}
|
|
1
|
+
{"version":3,"names":["_stars","_interopRequireDefault","require","BlockRatings","rating","_react","createElement","className","default","exports","_default"],"sources":["@wordpress/block-directory/src/components/block-ratings/index.js"],"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"],"mappings":";;;;;;;;AAGA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAMC,YAAY,GAAGA,CAAE;EAAEC;AAAO,CAAC,KACvC,IAAAC,MAAA,CAAAC,aAAA;EAAMC,SAAS,EAAC;AAA+B,GAC9C,IAAAF,MAAA,CAAAC,aAAA,EAACN,MAAA,CAAAQ,OAAK;EAACJ,MAAM,EAAGA;AAAQ,CAAE,CACrB,CACN;AAACK,OAAA,CAAAN,YAAA,GAAAA,YAAA;AAAA,IAAAO,QAAA,GAAAD,OAAA,CAAAD,OAAA,GAEaL,YAAY","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_icons","Stars","rating","stars","Math","round","fullStarCount","floor","halfStarCount","ceil","emptyStarCount","_react","createElement","sprintf","__","Array","from","length","map","_","i","Icon","key","className","icon","starFilled","size","starHalf","starEmpty","_default","exports","default"],"sources":["@wordpress/block-directory/src/components/block-ratings/stars.js"],"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"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,SAASE,KAAKA,CAAE;EAAEC;AAAO,CAAC,EAAG;EAC5B,MAAMC,KAAK,GAAGC,IAAI,CAACC,KAAK,CAAEH,MAAM,GAAG,GAAI,CAAC,GAAG,GAAG;EAE9C,MAAMI,aAAa,GAAGF,IAAI,CAACG,KAAK,CAAEL,MAAO,CAAC;EAC1C,MAAMM,aAAa,GAAGJ,IAAI,CAACK,IAAI,CAAEP,MAAM,GAAGI,aAAc,CAAC;EACzD,MAAMI,cAAc,GAAG,CAAC,IAAKJ,aAAa,GAAGE,aAAa,CAAE;EAE5D,OACC,IAAAG,MAAA,CAAAC,aAAA;IACC,cAAa,IAAAC,aAAO,GACnB;IACA,IAAAC,QAAE,EAAE,mBAAoB,CAAC,EACzBX,KACD;EAAG,GAEDY,KAAK,CAACC,IAAI,CAAE;IAAEC,MAAM,EAAEX;EAAc,CAAE,CAAC,CAACY,GAAG,CAAE,CAAEC,CAAC,EAAEC,CAAC,KACpD,IAAAT,MAAA,CAAAC,aAAA,EAACZ,MAAA,CAAAqB,IAAI;IACJC,GAAG,EAAI,cAAcF,CAAG,EAAG;IAC3BG,SAAS,EAAC,0CAA0C;IACpDC,IAAI,EAAGC,iBAAY;IACnBC,IAAI,EAAG;EAAI,CACX,CACA,CAAC,EACDX,KAAK,CAACC,IAAI,CAAE;IAAEC,MAAM,EAAET;EAAc,CAAE,CAAC,CAACU,GAAG,CAAE,CAAEC,CAAC,EAAEC,CAAC,KACpD,IAAAT,MAAA,CAAAC,aAAA,EAACZ,MAAA,CAAAqB,IAAI;IACJC,GAAG,EAAI,cAAcF,CAAG,EAAG;IAC3BG,SAAS,EAAC,+CAA+C;IACzDC,IAAI,EAAGG,eAAU;IACjBD,IAAI,EAAG;EAAI,CACX,CACA,CAAC,EACDX,KAAK,CAACC,IAAI,CAAE;IAAEC,MAAM,EAAEP;EAAe,CAAE,CAAC,CAACQ,GAAG,CAAE,CAAEC,CAAC,EAAEC,CAAC,KACrD,IAAAT,MAAA,CAAAC,aAAA,EAACZ,MAAA,CAAAqB,IAAI;IACJC,GAAG,EAAI,eAAeF,CAAG,EAAG;IAC5BG,SAAS,EAAC,2CAA2C;IACrDC,IAAI,EAAGI,gBAAW;IAClBF,IAAI,EAAG;EAAI,CACX,CACA,CACG,CAAC;AAET;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc9B,KAAK"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_icons","Stars","rating","stars","Math","round","fullStarCount","floor","halfStarCount","ceil","emptyStarCount","_react","createElement","sprintf","__","Array","from","length","map","_","i","Icon","key","className","icon","starFilled","size","starHalf","starEmpty","_default","exports","default"],"sources":["@wordpress/block-directory/src/components/block-ratings/stars.js"],"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"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,SAASE,KAAKA,CAAE;EAAEC;AAAO,CAAC,EAAG;EAC5B,MAAMC,KAAK,GAAGC,IAAI,CAACC,KAAK,CAAEH,MAAM,GAAG,GAAI,CAAC,GAAG,GAAG;EAE9C,MAAMI,aAAa,GAAGF,IAAI,CAACG,KAAK,CAAEL,MAAO,CAAC;EAC1C,MAAMM,aAAa,GAAGJ,IAAI,CAACK,IAAI,CAAEP,MAAM,GAAGI,aAAc,CAAC;EACzD,MAAMI,cAAc,GAAG,CAAC,IAAKJ,aAAa,GAAGE,aAAa,CAAE;EAE5D,OACC,IAAAG,MAAA,CAAAC,aAAA;IACC,cAAa,IAAAC,aAAO,GACnB;IACA,IAAAC,QAAE,EAAE,mBAAoB,CAAC,EACzBX,KACD;EAAG,GAEDY,KAAK,CAACC,IAAI,CAAE;IAAEC,MAAM,EAAEX;EAAc,CAAE,CAAC,CAACY,GAAG,CAAE,CAAEC,CAAC,EAAEC,CAAC,KACpD,IAAAT,MAAA,CAAAC,aAAA,EAACZ,MAAA,CAAAqB,IAAI;IACJC,GAAG,EAAI,cAAcF,CAAG,EAAG;IAC3BG,SAAS,EAAC,0CAA0C;IACpDC,IAAI,EAAGC,iBAAY;IACnBC,IAAI,EAAG;EAAI,CACX,CACA,CAAC,EACDX,KAAK,CAACC,IAAI,CAAE;IAAEC,MAAM,EAAET;EAAc,CAAE,CAAC,CAACU,GAAG,CAAE,CAAEC,CAAC,EAAEC,CAAC,KACpD,IAAAT,MAAA,CAAAC,aAAA,EAACZ,MAAA,CAAAqB,IAAI;IACJC,GAAG,EAAI,cAAcF,CAAG,EAAG;IAC3BG,SAAS,EAAC,+CAA+C;IACzDC,IAAI,EAAGG,eAAU;IACjBD,IAAI,EAAG;EAAI,CACX,CACA,CAAC,EACDX,KAAK,CAACC,IAAI,CAAE;IAAEC,MAAM,EAAEP;EAAe,CAAE,CAAC,CAACQ,GAAG,CAAE,CAAEC,CAAC,EAAEC,CAAC,KACrD,IAAAT,MAAA,CAAAC,aAAA,EAACZ,MAAA,CAAAqB,IAAI;IACJC,GAAG,EAAI,eAAeF,CAAG,EAAG;IAC5BG,SAAS,EAAC,2CAA2C;IACrDC,IAAI,EAAGI,gBAAW;IAClBF,IAAI,EAAG;EAAI,CACX,CACA,CACG,CAAC;AAET;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc9B,KAAK","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_downloadableBlockIcon","_interopRequireDefault","CompactList","items","length","_react","createElement","className","map","icon","id","title","author","key","default","sprintf","__"],"sources":["@wordpress/block-directory/src/components/compact-list/index.js"],"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"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGe,SAASG,WAAWA,CAAE;EAAEC;AAAM,CAAC,EAAG;EAChD,IAAK,CAAEA,KAAK,CAACC,MAAM,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAIC,SAAS,EAAC;EAA8B,GACzCJ,KAAK,CAACK,GAAG,CAAE,CAAE;IAAEC,IAAI;IAAEC,EAAE;IAAEC,KAAK;IAAEC;EAAO,CAAC,KACzC,IAAAP,MAAA,CAAAC,aAAA;IAAIO,GAAG,EAAGH,EAAI;IAACH,SAAS,EAAC;EAAoC,GAC5D,IAAAF,MAAA,CAAAC,aAAA,EAACN,sBAAA,CAAAc,OAAqB;IAACL,IAAI,EAAGA,IAAM;IAACE,KAAK,EAAGA;EAAO,CAAE,CAAC,EAEvD,IAAAN,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA4C,GAC1D,IAAAF,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA0C,GACtDI,KACE,CAAC,EACN,IAAAN,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA2C,GACvD,IAAAQ,aAAO,GACR;EACA,IAAAC,QAAE,EAAE,OAAQ,CAAC,EACbJ,MACD,CACI,CACD,CACF,CACH,CACC,CAAC;AAEP"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_downloadableBlockIcon","_interopRequireDefault","CompactList","items","length","_react","createElement","className","map","icon","id","title","author","key","default","sprintf","__"],"sources":["@wordpress/block-directory/src/components/compact-list/index.js"],"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"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGe,SAASG,WAAWA,CAAE;EAAEC;AAAM,CAAC,EAAG;EAChD,IAAK,CAAEA,KAAK,CAACC,MAAM,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAIC,SAAS,EAAC;EAA8B,GACzCJ,KAAK,CAACK,GAAG,CAAE,CAAE;IAAEC,IAAI;IAAEC,EAAE;IAAEC,KAAK;IAAEC;EAAO,CAAC,KACzC,IAAAP,MAAA,CAAAC,aAAA;IAAIO,GAAG,EAAGH,EAAI;IAACH,SAAS,EAAC;EAAoC,GAC5D,IAAAF,MAAA,CAAAC,aAAA,EAACN,sBAAA,CAAAc,OAAqB;IAACL,IAAI,EAAGA,IAAM;IAACE,KAAK,EAAGA;EAAO,CAAE,CAAC,EAEvD,IAAAN,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA4C,GAC1D,IAAAF,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA0C,GACtDI,KACE,CAAC,EACN,IAAAN,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA2C,GACvD,IAAAQ,aAAO,GACR;EACA,IAAAC,QAAE,EAAE,OAAQ,CAAC,EACbJ,MACD,CACI,CACD,CACF,CACH,CACC,CAAC;AAEP","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blockEditor","require","DownloadableBlockIcon","icon","className","match","_react","createElement","src","alt","BlockIcon","showColors","_default","exports","default"],"sources":["@wordpress/block-directory/src/components/downloadable-block-icon/index.js"],"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"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA,SAASC,qBAAqBA,CAAE;EAAEC;AAAK,CAAC,EAAG;EAC1C,MAAMC,SAAS,GAAG,yCAAyC;EAC3D,OAAOD,IAAI,CAACE,KAAK,CAAE,oCAAqC,CAAC,KAAK,IAAI,GACjE,IAAAC,MAAA,CAAAC,aAAA;IAAKH,SAAS,EAAGA,SAAW;IAACI,GAAG,EAAGL,IAAM;IAACM,GAAG,EAAC;EAAE,CAAE,CAAC,GAEnD,IAAAH,MAAA,CAAAC,aAAA,EAACP,YAAA,CAAAU,SAAS;IAACN,SAAS,EAAGA,SAAW;IAACD,IAAI,EAAGA,IAAM;IAACQ,UAAU;EAAA,CAAE,CAC7D;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcZ,qBAAqB"}
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","DownloadableBlockIcon","icon","className","match","_react","createElement","src","alt","BlockIcon","showColors","_default","exports","default"],"sources":["@wordpress/block-directory/src/components/downloadable-block-icon/index.js"],"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"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA,SAASC,qBAAqBA,CAAE;EAAEC;AAAK,CAAC,EAAG;EAC1C,MAAMC,SAAS,GAAG,yCAAyC;EAC3D,OAAOD,IAAI,CAACE,KAAK,CAAE,oCAAqC,CAAC,KAAK,IAAI,GACjE,IAAAC,MAAA,CAAAC,aAAA;IAAKH,SAAS,EAAGA,SAAW;IAACI,GAAG,EAAGL,IAAM;IAACM,GAAG,EAAC;EAAE,CAAE,CAAC,GAEnD,IAAAH,MAAA,CAAAC,aAAA,EAACP,YAAA,CAAAU,SAAS;IAACN,SAAS,EAAGA,SAAW;IAACD,IAAI,EAAGA,IAAM;IAACQ,UAAU;EAAA,CAAE,CAC7D;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcZ,qBAAqB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_element","_htmlEntities","_blocks","_data","_blockRatings","_interopRequireDefault","_downloadableBlockIcon","_downloadableBlockNotice","_store","_lockUnlock","CompositeItemV2","CompositeItem","unlock","componentsPrivateApis","getDownloadableBlockLabel","title","rating","ratingCount","hasNotice","isInstalled","isInstalling","stars","Math","round","sprintf","decodeEntities","_n","DownloadableBlockListItem","composite","item","onClick","author","description","icon","getBlockType","name","isInstallable","useSelect","select","getErrorNoticeForBlock","isBlockInstalling","blockDirectoryStore","notice","id","hasFatal","isFatal","statusText","__","_react","createElement","render","Button","__experimentalIsFocusable","type","role","className","isBusy","event","preventDefault","label","showTooltip","tooltipPosition","store","disabled","default","Spinner","createInterpolateElement","span","block","Fragment","VisuallyHidden","_default","exports"],"sources":["@wordpress/block-directory/src/components/downloadable-block-list-item/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tSpinner,\n\tVisuallyHidden,\n\tprivateApis as componentsPrivateApis,\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';\nimport { unlock } from '../../lock-unlock';\n\nconst { CompositeItemV2: CompositeItem } = unlock( componentsPrivateApis );\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\trender={\n\t\t\t\t<Button\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tclassName=\"block-directory-downloadable-block-list-item\"\n\t\t\t\t\tisBusy={ isInstalling }\n\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tonClick();\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ getDownloadableBlockLabel( item, {\n\t\t\t\t\t\thasNotice,\n\t\t\t\t\t\tisInstalled,\n\t\t\t\t\t\tisInstalling,\n\t\t\t\t\t} ) }\n\t\t\t\t\tshowTooltip\n\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t/>\n\t\t\t}\n\t\t\tstore={ composite }\n\t\t\tdisabled={ isInstalling || ! isInstallable }\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_element","_htmlEntities","_blocks","_data","_blockRatings","_interopRequireDefault","_downloadableBlockIcon","_downloadableBlockNotice","_store","_lockUnlock","CompositeItemV2","CompositeItem","unlock","componentsPrivateApis","getDownloadableBlockLabel","title","rating","ratingCount","hasNotice","isInstalled","isInstalling","stars","Math","round","sprintf","decodeEntities","_n","DownloadableBlockListItem","composite","item","onClick","author","description","icon","getBlockType","name","isInstallable","useSelect","select","getErrorNoticeForBlock","isBlockInstalling","blockDirectoryStore","notice","id","hasFatal","isFatal","statusText","__","_react","createElement","render","Button","__experimentalIsFocusable","type","role","className","isBusy","event","preventDefault","label","showTooltip","tooltipPosition","store","disabled","default","Spinner","createInterpolateElement","span","block","Fragment","VisuallyHidden","_default","exports"],"sources":["@wordpress/block-directory/src/components/downloadable-block-list-item/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tSpinner,\n\tVisuallyHidden,\n\tprivateApis as componentsPrivateApis,\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';\nimport { unlock } from '../../lock-unlock';\n\nconst { CompositeItemV2: CompositeItem } = unlock( componentsPrivateApis );\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\trender={\n\t\t\t\t<Button\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tclassName=\"block-directory-downloadable-block-list-item\"\n\t\t\t\t\tisBusy={ isInstalling }\n\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tonClick();\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ getDownloadableBlockLabel( item, {\n\t\t\t\t\t\thasNotice,\n\t\t\t\t\t\tisInstalled,\n\t\t\t\t\t\tisInstalling,\n\t\t\t\t\t} ) }\n\t\t\t\t\tshowTooltip\n\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t/>\n\t\t\t}\n\t\t\tstore={ composite }\n\t\t\tdisabled={ isInstalling || ! isInstallable }\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_data","_store","DownloadableBlockNotice","block","errorNotice","useSelect","select","blockDirectoryStore","getErrorNoticeForBlock","id","_react","createElement","className","message","isFatal","__","exports","_default","default"],"sources":["@wordpress/block-directory/src/components/downloadable-block-notice/index.js"],"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"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGO,MAAMG,uBAAuB,GAAGA,CAAE;EAAEC;AAAM,CAAC,KAAM;EACvD,MAAMC,WAAW,GAAG,IAAAC,eAAS,EAC1BC,MAAM,IACPA,MAAM,CAAEC,YAAoB,CAAC,CAACC,sBAAsB,CAAEL,KAAK,CAACM,EAAG,CAAC,EACjE,CAAEN,KAAK,CACR,CAAC;EAED,IAAK,CAAEC,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAM,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA2C,GACzD,IAAAF,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAAoD,GAChER,WAAW,CAACS,OAAO,EACnBT,WAAW,CAACU,OAAO,GAClB,GAAG,GAAG,IAAAC,QAAE,EAAE,yBAA0B,CAAC,GACrC,IACC,CACD,CAAC;AAER,CAAC;AAACC,OAAA,CAAAd,uBAAA,GAAAA,uBAAA;AAAA,IAAAe,QAAA,GAAAD,OAAA,CAAAE,OAAA,GAEahB,uBAAuB"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_data","_store","DownloadableBlockNotice","block","errorNotice","useSelect","select","blockDirectoryStore","getErrorNoticeForBlock","id","_react","createElement","className","message","isFatal","__","exports","_default","default"],"sources":["@wordpress/block-directory/src/components/downloadable-block-notice/index.js"],"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"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGO,MAAMG,uBAAuB,GAAGA,CAAE;EAAEC;AAAM,CAAC,KAAM;EACvD,MAAMC,WAAW,GAAG,IAAAC,eAAS,EAC1BC,MAAM,IACPA,MAAM,CAAEC,YAAoB,CAAC,CAACC,sBAAsB,CAAEL,KAAK,CAACM,EAAG,CAAC,EACjE,CAAEN,KAAK,CACR,CAAC;EAED,IAAK,CAAEC,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAM,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA2C,GACzD,IAAAF,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAAoD,GAChER,WAAW,CAACS,OAAO,EACnBT,WAAW,CAACU,OAAO,GAClB,GAAG,GAAG,IAAAC,QAAE,EAAE,yBAA0B,CAAC,GACrC,IACC,CACD,CAAC;AAER,CAAC;AAACC,OAAA,CAAAd,uBAAA,GAAAA,uBAAA;AAAA,IAAAe,QAAA,GAAAD,OAAA,CAAAE,OAAA,GAEahB,uBAAuB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_blocks","_data","_downloadableBlockListItem","_interopRequireDefault","_store","_lockUnlock","CompositeV2","Composite","useCompositeStoreV2","useCompositeStore","unlock","componentsPrivateApis","noop","DownloadableBlocksList","items","onHover","onSelect","composite","installBlockType","useDispatch","blockDirectoryStore","length","_react","createElement","store","role","className","__","map","item","default","key","id","onClick","getBlockType","name","then","success","_default","exports"],"sources":["@wordpress/block-directory/src/components/downloadable-blocks-list/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as componentsPrivateApis } 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';\nimport { unlock } from '../../lock-unlock';\n\nconst { CompositeV2: Composite, useCompositeStoreV2: useCompositeStore } =\n\tunlock( componentsPrivateApis );\nconst noop = () => {};\n\nfunction DownloadableBlocksList( { items, onHover = noop, onSelect } ) {\n\tconst composite = useCompositeStore();\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\tstore={ 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"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,0BAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAbA;AACA;AACA;;AAMA;AACA;AACA;;AAKA,MAAM;EAAEQ,WAAW,EAAEC,SAAS;EAAEC,mBAAmB,EAAEC;AAAkB,CAAC,GACvE,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAChC,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,SAASC,sBAAsBA,CAAE;EAAEC,KAAK;EAAEC,OAAO,GAAGH,IAAI;EAAEI;AAAS,CAAC,EAAG;EACtE,MAAMC,SAAS,GAAGR,iBAAiB,CAAC,CAAC;EACrC,MAAM;IAAES;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAoB,CAAC;EAE/D,IAAK,CAAEN,KAAK,CAACO,MAAM,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAChB,SAAS;IACTiB,KAAK,EAAGP,SAAW;IACnBQ,IAAI,EAAC,SAAS;IACdC,SAAS,EAAC,0CAA0C;IACpD,cAAa,IAAAC,QAAE,EAAE,8BAA+B;EAAG,GAEjDb,KAAK,CAACc,GAAG,CAAIC,IAAI,IAAM;IACxB,OACC,IAAAP,MAAA,CAAAC,aAAA,EAACrB,0BAAA,CAAA4B,OAAyB;MACzBC,GAAG,EAAGF,IAAI,CAACG,EAAI;MACff,SAAS,EAAGA,SAAW;MACvBgB,OAAO,EAAGA,CAAA,KAAM;QACf;QACA;QACA;QACA,IAAK,IAAAC,oBAAY,EAAEL,IAAI,CAACM,IAAK,CAAC,EAAG;UAChCnB,QAAQ,CAAEa,IAAK,CAAC;QACjB,CAAC,MAAM;UACNX,gBAAgB,CAAEW,IAAK,CAAC,CAACO,IAAI,CAAIC,OAAO,IAAM;YAC7C,IAAKA,OAAO,EAAG;cACdrB,QAAQ,CAAEa,IAAK,CAAC;YACjB;UACD,CAAE,CAAC;QACJ;QACAd,OAAO,CAAE,IAAK,CAAC;MAChB,CAAG;MACHA,OAAO,EAAGA,OAAS;MACnBc,IAAI,EAAGA;IAAM,CACb,CAAC;EAEJ,CAAE,CACQ,CAAC;AAEd;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAEcjB,sBAAsB"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_blocks","_data","_downloadableBlockListItem","_interopRequireDefault","_store","_lockUnlock","CompositeV2","Composite","useCompositeStoreV2","useCompositeStore","unlock","componentsPrivateApis","noop","DownloadableBlocksList","items","onHover","onSelect","composite","installBlockType","useDispatch","blockDirectoryStore","length","_react","createElement","store","role","className","__","map","item","default","key","id","onClick","getBlockType","name","then","success","_default","exports"],"sources":["@wordpress/block-directory/src/components/downloadable-blocks-list/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as componentsPrivateApis } 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';\nimport { unlock } from '../../lock-unlock';\n\nconst { CompositeV2: Composite, useCompositeStoreV2: useCompositeStore } =\n\tunlock( componentsPrivateApis );\nconst noop = () => {};\n\nfunction DownloadableBlocksList( { items, onHover = noop, onSelect } ) {\n\tconst composite = useCompositeStore();\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\tstore={ 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"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,0BAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAbA;AACA;AACA;;AAMA;AACA;AACA;;AAKA,MAAM;EAAEQ,WAAW,EAAEC,SAAS;EAAEC,mBAAmB,EAAEC;AAAkB,CAAC,GACvE,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAChC,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,SAASC,sBAAsBA,CAAE;EAAEC,KAAK;EAAEC,OAAO,GAAGH,IAAI;EAAEI;AAAS,CAAC,EAAG;EACtE,MAAMC,SAAS,GAAGR,iBAAiB,CAAC,CAAC;EACrC,MAAM;IAAES;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAoB,CAAC;EAE/D,IAAK,CAAEN,KAAK,CAACO,MAAM,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAChB,SAAS;IACTiB,KAAK,EAAGP,SAAW;IACnBQ,IAAI,EAAC,SAAS;IACdC,SAAS,EAAC,0CAA0C;IACpD,cAAa,IAAAC,QAAE,EAAE,8BAA+B;EAAG,GAEjDb,KAAK,CAACc,GAAG,CAAIC,IAAI,IAAM;IACxB,OACC,IAAAP,MAAA,CAAAC,aAAA,EAACrB,0BAAA,CAAA4B,OAAyB;MACzBC,GAAG,EAAGF,IAAI,CAACG,EAAI;MACff,SAAS,EAAGA,SAAW;MACvBgB,OAAO,EAAGA,CAAA,KAAM;QACf;QACA;QACA;QACA,IAAK,IAAAC,oBAAY,EAAEL,IAAI,CAACM,IAAK,CAAC,EAAG;UAChCnB,QAAQ,CAAEa,IAAK,CAAC;QACjB,CAAC,MAAM;UACNX,gBAAgB,CAAEW,IAAK,CAAC,CAACO,IAAI,CAAIC,OAAO,IAAM;YAC7C,IAAKA,OAAO,EAAG;cACdrB,QAAQ,CAAEa,IAAK,CAAC;YACjB;UACD,CAAE,CAAC;QACJ;QACAd,OAAO,CAAE,IAAK,CAAC;MAChB,CAAG;MACHA,OAAO,EAAGA,OAAS;MACnBc,IAAI,EAAGA;IAAM,CACb,CAAC;EAEJ,CAAE,CACQ,CAAC;AAEd;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAEcjB,sBAAsB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_coreData","_data","_blocks","_downloadableBlocksList","_interopRequireDefault","_inserterPanel","_noResults","_store","EMPTY_ARRAY","useDownloadableBlocks","filterValue","useSelect","select","getDownloadableBlocks","isRequestingDownloadableBlocks","getInstalledBlockTypes","blockDirectoryStore","hasPermission","coreStore","canUser","downloadableBlocks","installedBlockTypes","installableBlocks","filter","name","isJustInstalled","some","blockType","isPreviouslyInstalled","getBlockType","length","isLoading","DownloadableBlocksPanel","onSelect","onHover","hasLocalBlocks","isTyping","undefined","_react","createElement","Fragment","className","__","Spinner","default","downloadableItems","items"],"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { getBlockType } from '@wordpress/blocks';\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\nconst useDownloadableBlocks = ( filterValue ) =>\n\tuseSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetDownloadableBlocks,\n\t\t\t\tisRequestingDownloadableBlocks,\n\t\t\t\tgetInstalledBlockTypes,\n\t\t\t} = select( blockDirectoryStore );\n\n\t\t\tconst hasPermission = select( coreStore ).canUser(\n\t\t\t\t'read',\n\t\t\t\t'block-directory/search'\n\t\t\t);\n\n\t\t\tlet downloadableBlocks = EMPTY_ARRAY;\n\t\t\tif ( hasPermission ) {\n\t\t\t\tdownloadableBlocks = getDownloadableBlocks( filterValue );\n\n\t\t\t\t// Filter out blocks that are already installed.\n\t\t\t\tconst installedBlockTypes = getInstalledBlockTypes();\n\t\t\t\tconst installableBlocks = downloadableBlocks.filter(\n\t\t\t\t\t( { name } ) => {\n\t\t\t\t\t\t// Check if the block has just been installed, in which case it\n\t\t\t\t\t\t// should still show in the list to avoid suddenly disappearing.\n\t\t\t\t\t\t// `installedBlockTypes` only returns blocks stored in state\n\t\t\t\t\t\t// immediately after installation, not all installed blocks.\n\t\t\t\t\t\tconst isJustInstalled = installedBlockTypes.some(\n\t\t\t\t\t\t\t( blockType ) => blockType.name === name\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst isPreviouslyInstalled = getBlockType( name );\n\t\t\t\t\t\treturn isJustInstalled || ! isPreviouslyInstalled;\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t// Keep identity of the `downloadableBlocks` array if nothing was filtered out\n\t\t\t\tif ( installableBlocks.length !== downloadableBlocks.length ) {\n\t\t\t\t\tdownloadableBlocks = installableBlocks;\n\t\t\t\t}\n\n\t\t\t\t// Return identical empty array when there are no blocks\n\t\t\t\tif ( downloadableBlocks.length === 0 ) {\n\t\t\t\t\tdownloadableBlocks = EMPTY_ARRAY;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thasPermission,\n\t\t\t\tdownloadableBlocks,\n\t\t\t\tisLoading: isRequestingDownloadableBlocks( filterValue ),\n\t\t\t};\n\t\t},\n\t\t[ filterValue ]\n\t);\n\nexport default function DownloadableBlocksPanel( {\n\tonSelect,\n\tonHover,\n\thasLocalBlocks,\n\tisTyping,\n\tfilterValue,\n} ) {\n\tconst { hasPermission, downloadableBlocks, isLoading } =\n\t\tuseDownloadableBlocks( filterValue );\n\n\tif ( 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\tif ( downloadableBlocks.length === 0 ) {\n\t\treturn hasLocalBlocks ? null : <DownloadableBlocksNoResults />;\n\t}\n\n\treturn (\n\t\t<DownloadableBlocksInserterPanel\n\t\t\tdownloadableItems={ downloadableBlocks }\n\t\t\thasLocalBlocks={ hasLocalBlocks }\n\t\t>\n\t\t\t<DownloadableBlocksList\n\t\t\t\titems={ downloadableBlocks }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tonHover={ onHover }\n\t\t\t/>\n\t\t</DownloadableBlocksInserterPanel>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_coreData","_data","_blocks","_downloadableBlocksList","_interopRequireDefault","_inserterPanel","_noResults","_store","EMPTY_ARRAY","useDownloadableBlocks","filterValue","useSelect","select","getDownloadableBlocks","isRequestingDownloadableBlocks","getInstalledBlockTypes","blockDirectoryStore","hasPermission","coreStore","canUser","downloadableBlocks","installedBlockTypes","installableBlocks","filter","name","isJustInstalled","some","blockType","isPreviouslyInstalled","getBlockType","length","isLoading","DownloadableBlocksPanel","onSelect","onHover","hasLocalBlocks","isTyping","undefined","_react","createElement","Fragment","className","__","Spinner","default","downloadableItems","items"],"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { getBlockType } from '@wordpress/blocks';\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\nconst useDownloadableBlocks = ( filterValue ) =>\n\tuseSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetDownloadableBlocks,\n\t\t\t\tisRequestingDownloadableBlocks,\n\t\t\t\tgetInstalledBlockTypes,\n\t\t\t} = select( blockDirectoryStore );\n\n\t\t\tconst hasPermission = select( coreStore ).canUser(\n\t\t\t\t'read',\n\t\t\t\t'block-directory/search'\n\t\t\t);\n\n\t\t\tlet downloadableBlocks = EMPTY_ARRAY;\n\t\t\tif ( hasPermission ) {\n\t\t\t\tdownloadableBlocks = getDownloadableBlocks( filterValue );\n\n\t\t\t\t// Filter out blocks that are already installed.\n\t\t\t\tconst installedBlockTypes = getInstalledBlockTypes();\n\t\t\t\tconst installableBlocks = downloadableBlocks.filter(\n\t\t\t\t\t( { name } ) => {\n\t\t\t\t\t\t// Check if the block has just been installed, in which case it\n\t\t\t\t\t\t// should still show in the list to avoid suddenly disappearing.\n\t\t\t\t\t\t// `installedBlockTypes` only returns blocks stored in state\n\t\t\t\t\t\t// immediately after installation, not all installed blocks.\n\t\t\t\t\t\tconst isJustInstalled = installedBlockTypes.some(\n\t\t\t\t\t\t\t( blockType ) => blockType.name === name\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst isPreviouslyInstalled = getBlockType( name );\n\t\t\t\t\t\treturn isJustInstalled || ! isPreviouslyInstalled;\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t// Keep identity of the `downloadableBlocks` array if nothing was filtered out\n\t\t\t\tif ( installableBlocks.length !== downloadableBlocks.length ) {\n\t\t\t\t\tdownloadableBlocks = installableBlocks;\n\t\t\t\t}\n\n\t\t\t\t// Return identical empty array when there are no blocks\n\t\t\t\tif ( downloadableBlocks.length === 0 ) {\n\t\t\t\t\tdownloadableBlocks = EMPTY_ARRAY;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thasPermission,\n\t\t\t\tdownloadableBlocks,\n\t\t\t\tisLoading: isRequestingDownloadableBlocks( filterValue ),\n\t\t\t};\n\t\t},\n\t\t[ filterValue ]\n\t);\n\nexport default function DownloadableBlocksPanel( {\n\tonSelect,\n\tonHover,\n\thasLocalBlocks,\n\tisTyping,\n\tfilterValue,\n} ) {\n\tconst { hasPermission, downloadableBlocks, isLoading } =\n\t\tuseDownloadableBlocks( filterValue );\n\n\tif ( 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\tif ( downloadableBlocks.length === 0 ) {\n\t\treturn hasLocalBlocks ? null : <DownloadableBlocksNoResults />;\n\t}\n\n\treturn (\n\t\t<DownloadableBlocksInserterPanel\n\t\t\tdownloadableItems={ downloadableBlocks }\n\t\t\thasLocalBlocks={ hasLocalBlocks }\n\t\t>\n\t\t\t<DownloadableBlocksList\n\t\t\t\titems={ downloadableBlocks }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tonHover={ onHover }\n\t\t\t/>\n\t\t</DownloadableBlocksInserterPanel>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_element","_a11y","DownloadableBlocksInserterPanel","children","downloadableItems","hasLocalBlocks","count","length","useEffect","speak","sprintf","_n","_react","createElement","Fragment","className","__","_default","exports","default"],"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/inserter-panel.js"],"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"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAKA,SAASG,+BAA+BA,CAAE;EACzCC,QAAQ;EACRC,iBAAiB;EACjBC;AACD,CAAC,EAAG;EACH,MAAMC,KAAK,GAAGF,iBAAiB,CAACG,MAAM;EACtC,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAAC,WAAK,EACJ,IAAAC,aAAO,GACN;IACA,IAAAC,QAAE,EACD,8CAA8C,EAC9C,gDAAgD,EAChDL,KACD,CAAC,EACDA,KACD,CACD,CAAC;EACF,CAAC,EAAE,CAAEA,KAAK,CAAG,CAAC;EAEd,OACC,IAAAM,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACG,CAAET,cAAc,IACjB,IAAAO,MAAA,CAAAC,aAAA;IAAGE,SAAS,EAAC;EAAqD,GAC/D,IAAAC,QAAE,EAAE,kDAAmD,CACvD,CACH,EAED,IAAAJ,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAAiD,CAAE,CAAC,EAEnE,IAAAH,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAA2C,GACzD,IAAAH,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAAmD,GACjE,IAAAH,MAAA,CAAAC,aAAA;IAAIE,SAAS,EAAC;EAAkD,GAC7D,IAAAC,QAAE,EAAE,sBAAuB,CAC1B,CAAC,EACL,IAAAJ,MAAA,CAAAC,aAAA;IAAGE,SAAS,EAAC;EAAwD,GAClE,IAAAC,QAAE,EACH,oDACD,CACE,CACC,CAAC,EACJb,QACE,CACJ,CAAC;AAEL;AAAC,IAAAc,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcjB,+BAA+B"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_element","_a11y","DownloadableBlocksInserterPanel","children","downloadableItems","hasLocalBlocks","count","length","useEffect","speak","sprintf","_n","_react","createElement","Fragment","className","__","_default","exports","default"],"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/inserter-panel.js"],"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"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAKA,SAASG,+BAA+BA,CAAE;EACzCC,QAAQ;EACRC,iBAAiB;EACjBC;AACD,CAAC,EAAG;EACH,MAAMC,KAAK,GAAGF,iBAAiB,CAACG,MAAM;EACtC,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAAC,WAAK,EACJ,IAAAC,aAAO,GACN;IACA,IAAAC,QAAE,EACD,8CAA8C,EAC9C,gDAAgD,EAChDL,KACD,CAAC,EACDA,KACD,CACD,CAAC;EACF,CAAC,EAAE,CAAEA,KAAK,CAAG,CAAC;EAEd,OACC,IAAAM,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACG,CAAET,cAAc,IACjB,IAAAO,MAAA,CAAAC,aAAA;IAAGE,SAAS,EAAC;EAAqD,GAC/D,IAAAC,QAAE,EAAE,kDAAmD,CACvD,CACH,EAED,IAAAJ,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAAiD,CAAE,CAAC,EAEnE,IAAAH,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAA2C,GACzD,IAAAH,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAAmD,GACjE,IAAAH,MAAA,CAAAC,aAAA;IAAIE,SAAS,EAAC;EAAkD,GAC7D,IAAAC,QAAE,EAAE,sBAAuB,CAC1B,CAAC,EACL,IAAAJ,MAAA,CAAAC,aAAA;IAAGE,SAAS,EAAC;EAAwD,GAClE,IAAAC,QAAE,EACH,oDACD,CACE,CACC,CAAC,EACJb,QACE,CACJ,CAAC;AAEL;AAAC,IAAAc,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcjB,+BAA+B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_icons","_components","DownloadableBlocksNoResults","_react","createElement","Fragment","className","Icon","icon","blockDefault","__","Tip","ExternalLink","href","_default","exports","default"],"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/no-results.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon, blockDefault } from '@wordpress/icons';\nimport { Tip, ExternalLink } from '@wordpress/components';\n\nfunction DownloadableBlocksNoResults() {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"block-editor-inserter__no-results\">\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"block-editor-inserter__no-results-icon\"\n\t\t\t\t\ticon={ blockDefault }\n\t\t\t\t/>\n\t\t\t\t<p>{ __( 'No results found.' ) }</p>\n\t\t\t</div>\n\t\t\t<div className=\"block-editor-inserter__tips\">\n\t\t\t\t<Tip>\n\t\t\t\t\t{ __( 'Interested in creating your own block?' ) }\n\t\t\t\t\t<br />\n\t\t\t\t\t<ExternalLink href=\"https://developer.wordpress.org/block-editor/\">\n\t\t\t\t\t\t{ __( 'Get started here' ) }.\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t</Tip>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default DownloadableBlocksNoResults;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAKA,SAASG,2BAA2BA,CAAA,EAAG;EACtC,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAAmC,GACjD,IAAAH,MAAA,CAAAC,aAAA,EAACJ,MAAA,CAAAO,IAAI;IACJD,SAAS,EAAC,wCAAwC;IAClDE,IAAI,EAAGC;EAAc,CACrB,CAAC,EACF,IAAAN,MAAA,CAAAC,aAAA,aAAK,IAAAM,QAAE,EAAE,mBAAoB,CAAM,CAC/B,CAAC,EACN,IAAAP,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAA6B,GAC3C,IAAAH,MAAA,CAAAC,aAAA,EAACH,WAAA,CAAAU,GAAG,QACD,IAAAD,QAAE,EAAE,wCAAyC,CAAC,EAChD,IAAAP,MAAA,CAAAC,aAAA,YAAK,CAAC,EACN,IAAAD,MAAA,CAAAC,aAAA,EAACH,WAAA,CAAAW,YAAY;IAACC,IAAI,EAAC;EAA+C,GAC/D,IAAAH,QAAE,EAAE,kBAAmB,CAAC,EAAE,GACf,CACV,CACD,CACJ,CAAC;AAEL;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcd,2BAA2B"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_icons","_components","DownloadableBlocksNoResults","_react","createElement","Fragment","className","Icon","icon","blockDefault","__","Tip","ExternalLink","href","_default","exports","default"],"sources":["@wordpress/block-directory/src/components/downloadable-blocks-panel/no-results.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon, blockDefault } from '@wordpress/icons';\nimport { Tip, ExternalLink } from '@wordpress/components';\n\nfunction DownloadableBlocksNoResults() {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"block-editor-inserter__no-results\">\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"block-editor-inserter__no-results-icon\"\n\t\t\t\t\ticon={ blockDefault }\n\t\t\t\t/>\n\t\t\t\t<p>{ __( 'No results found.' ) }</p>\n\t\t\t</div>\n\t\t\t<div className=\"block-editor-inserter__tips\">\n\t\t\t\t<Tip>\n\t\t\t\t\t{ __( 'Interested in creating your own block?' ) }\n\t\t\t\t\t<br />\n\t\t\t\t\t<ExternalLink href=\"https://developer.wordpress.org/block-editor/\">\n\t\t\t\t\t\t{ __( 'Get started here' ) }.\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t</Tip>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default DownloadableBlocksNoResults;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAKA,SAASG,2BAA2BA,CAAA,EAAG;EACtC,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAAmC,GACjD,IAAAH,MAAA,CAAAC,aAAA,EAACJ,MAAA,CAAAO,IAAI;IACJD,SAAS,EAAC,wCAAwC;IAClDE,IAAI,EAAGC;EAAc,CACrB,CAAC,EACF,IAAAN,MAAA,CAAAC,aAAA,aAAK,IAAAM,QAAE,EAAE,mBAAoB,CAAM,CAC/B,CAAC,EACN,IAAAP,MAAA,CAAAC,aAAA;IAAKE,SAAS,EAAC;EAA6B,GAC3C,IAAAH,MAAA,CAAAC,aAAA,EAACH,WAAA,CAAAU,GAAG,QACD,IAAAD,QAAE,EAAE,wCAAyC,CAAC,EAChD,IAAAP,MAAA,CAAAC,aAAA,YAAK,CAAC,EACN,IAAAD,MAAA,CAAAC,aAAA,EAACH,WAAA,CAAAW,YAAY;IAACC,IAAI,EAAC;EAA+C,GAC/D,IAAAH,QAAE,EAAE,kBAAmB,CAAC,EAAE,GACf,CACV,CACD,CACJ,CAAC;AAEL;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcd,2BAA2B","ignoreList":[]}
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_store"],"sources":["@wordpress/block-directory/src/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport './plugins';\n\nexport { store } from './store';\n"],"mappings":";;;;;;;;;;;AAGAA,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA"}
|
|
1
|
+
{"version":3,"names":["require","_store"],"sources":["@wordpress/block-directory/src/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport './plugins';\n\nexport { store } from './store';\n"],"mappings":";;;;;;;;;;;AAGAA,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA","ignoreList":[]}
|
package/build/lock-unlock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_privateApis","require","lock","unlock","__dangerousOptInToUnstableAPIsOnlyForCoreModules","exports"],"sources":["@wordpress/block-directory/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.',\n\t\t'@wordpress/block-directory'\n\t);\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5B,IAAAC,6DAAgD,EAC/C,iHAAiH,EACjH,4BACD,CAAC;AAACC,OAAA,CAAAF,MAAA,GAAAA,MAAA;AAAAE,OAAA,CAAAH,IAAA,GAAAA,IAAA"}
|
|
1
|
+
{"version":3,"names":["_privateApis","require","lock","unlock","__dangerousOptInToUnstableAPIsOnlyForCoreModules","exports"],"sources":["@wordpress/block-directory/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.',\n\t\t'@wordpress/block-directory'\n\t);\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5B,IAAAC,6DAAgD,EAC/C,iHAAiH,EACjH,4BACD,CAAC;AAACC,OAAA,CAAAF,MAAA,GAAAA,MAAA;AAAAE,OAAA,CAAAH,IAAA,GAAAA,IAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_blocks","_element","_data","_coreData","_blockEditor","_installButton","_interopRequireDefault","_store","getInstallMissing","OriginalComponent","props","originalName","attributes","block","hasPermission","useSelect","select","getDownloadableBlocks","blockDirectoryStore","blocks","filter","name","coreStore","canUser","length","_react","createElement","ModifiedWarning","originalBlock","originalUndelimitedContent","clientId","replaceBlock","useDispatch","blockEditorStore","convertToHTML","createBlock","content","hasContent","hasHTMLBlock","canInsertBlockType","getBlockRootClientId","messageHTML","sprintf","__","title","actions","default","key","push","Button","onClick","variant","useBlockProps","Warning","RawHTML","_default","exports"],"sources":["@wordpress/block-directory/src/plugins/get-install-missing/index.js"],"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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_blocks","_element","_data","_coreData","_blockEditor","_installButton","_interopRequireDefault","_store","getInstallMissing","OriginalComponent","props","originalName","attributes","block","hasPermission","useSelect","select","getDownloadableBlocks","blockDirectoryStore","blocks","filter","name","coreStore","canUser","length","_react","createElement","ModifiedWarning","originalBlock","originalUndelimitedContent","clientId","replaceBlock","useDispatch","blockEditorStore","convertToHTML","createBlock","content","hasContent","hasHTMLBlock","canInsertBlockType","getBlockRootClientId","messageHTML","sprintf","__","title","actions","default","key","push","Button","onClick","variant","useBlockProps","Warning","RawHTML","_default","exports"],"sources":["@wordpress/block-directory/src/plugins/get-install-missing/index.js"],"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"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AASA,IAAAO,cAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AAnBA;AACA;AACA;;AAaA;AACA;AACA;;AAIA,MAAMU,iBAAiB,GAAKC,iBAAiB,IAAQC,KAAK,IAAM;EAC/D,MAAM;IAAEC;EAAa,CAAC,GAAGD,KAAK,CAACE,UAAU;EACzC;EACA;EACA,MAAM;IAAEC,KAAK;IAAEC;EAAc,CAAC,GAAG,IAAAC,eAAS,EACvCC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAsB,CAAC,GAAGD,MAAM,CAAEE,YAAoB,CAAC;IAC/D,MAAMC,MAAM,GAAGF,qBAAqB,CACnC,QAAQ,GAAGN,YACZ,CAAC,CAACS,MAAM,CAAE,CAAE;MAAEC;IAAK,CAAC,KAAMV,YAAY,KAAKU,IAAK,CAAC;IACjD,OAAO;MACNP,aAAa,EAAEE,MAAM,CAAEM,eAAU,CAAC,CAACC,OAAO,CACzC,MAAM,EACN,wBACD,CAAC;MACDV,KAAK,EAAEM,MAAM,CAACK,MAAM,IAAIL,MAAM,CAAE,CAAC;IAClC,CAAC;EACF,CAAC,EACD,CAAER,YAAY,CACf,CAAC;;EAED;EACA,IAAK,CAAEG,aAAa,IAAI,CAAED,KAAK,EAAG;IACjC,OAAO,IAAAY,MAAA,CAAAC,aAAA,EAACjB,iBAAiB;MAAA,GAAMC;IAAK,CAAI,CAAC;EAC1C;EAEA,OAAO,IAAAe,MAAA,CAAAC,aAAA,EAACC,eAAe;IAAA,GAAMjB,KAAK;IAAGkB,aAAa,EAAGf;EAAO,CAAE,CAAC;AAChE,CAAC;AAED,MAAMc,eAAe,GAAGA,CAAE;EAAEC,aAAa;EAAE,GAAGlB;AAAM,CAAC,KAAM;EAC1D,MAAM;IAAEC,YAAY;IAAEkB,0BAA0B;IAAEC;EAAS,CAAC,GAC3DpB,KAAK,CAACE,UAAU;EACjB,MAAM;IAAEmB;EAAa,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EACxD,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3BH,YAAY,CACXrB,KAAK,CAACoB,QAAQ,EACd,IAAAK,mBAAW,EAAE,WAAW,EAAE;MACzBC,OAAO,EAAEP;IACV,CAAE,CACH,CAAC;EACF,CAAC;EAED,MAAMQ,UAAU,GAAG,CAAC,CAAER,0BAA0B;EAChD,MAAMS,YAAY,GAAG,IAAAvB,eAAS,EAC3BC,MAAM,IAAM;IACb,MAAM;MAAEuB,kBAAkB;MAAEC;IAAqB,CAAC,GACjDxB,MAAM,CAAEiB,kBAAiB,CAAC;IAE3B,OAAOM,kBAAkB,CACxB,WAAW,EACXC,oBAAoB,CAAEV,QAAS,CAChC,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAED,IAAIW,WAAW,GAAG,IAAAC,aAAO,GACxB;EACA,IAAAC,QAAE,EACD,6GACD,CAAC,EACDf,aAAa,CAACgB,KAAK,IAAIjC,YACxB,CAAC;EACD,MAAMkC,OAAO,GAAG,CACf,IAAApB,MAAA,CAAAC,aAAA,EAACrB,cAAA,CAAAyC,OAAa;IACbC,GAAG,EAAC,SAAS;IACblC,KAAK,EAAGe,aAAe;IACvBhB,UAAU,EAAGF,KAAK,CAACE,UAAY;IAC/BkB,QAAQ,EAAGpB,KAAK,CAACoB;EAAU,CAC3B,CAAC,CACF;EAED,IAAKO,UAAU,IAAIC,YAAY,EAAG;IACjCG,WAAW,GAAG,IAAAC,aAAO,GACpB;IACA,IAAAC,QAAE,EACD,iJACD,CAAC,EACDf,aAAa,CAACgB,KAAK,IAAIjC,YACxB,CAAC;IACDkC,OAAO,CAACG,IAAI,CACX,IAAAvB,MAAA,CAAAC,aAAA,EAAC3B,WAAA,CAAAkD,MAAM;MAACF,GAAG,EAAC,SAAS;MAACG,OAAO,EAAGhB,aAAe;MAACiB,OAAO,EAAC;IAAU,GAC/D,IAAAR,QAAE,EAAE,cAAe,CACd,CACT,CAAC;EACF;EAEA,OACC,IAAAlB,MAAA,CAAAC,aAAA;IAAA,GAAU,IAAA0B,0BAAa,EAAC;EAAC,GACxB,IAAA3B,MAAA,CAAAC,aAAA,EAACtB,YAAA,CAAAiD,OAAO;IAACR,OAAO,EAAGA;EAAS,GAAGJ,WAAsB,CAAC,EACtD,IAAAhB,MAAA,CAAAC,aAAA,EAACzB,QAAA,CAAAqD,OAAO,QAAGzB,0BAAqC,CAC5C,CAAC;AAER,CAAC;AAAC,IAAA0B,QAAA,GAAAC,OAAA,CAAAV,OAAA,GAEatC,iBAAiB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_blocks","_data","_blockEditor","_store","InstallButton","attributes","block","clientId","isInstallingBlock","useSelect","select","blockDirectoryStore","isInstalling","id","installBlockType","useDispatch","replaceBlock","blockEditorStore","_react","createElement","Button","onClick","then","success","blockType","getBlockType","name","originalBlock","parse","originalContent","createBlock","innerBlocks","disabled","isBusy","variant","sprintf","__","title"],"sources":["@wordpress/block-directory/src/plugins/get-install-missing/install-button.js"],"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"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AAZA;AACA;AACA;;AAOA;AACA;AACA;;AAGe,SAASM,aAAaA,CAAE;EAAEC,UAAU;EAAEC,KAAK;EAAEC;AAAS,CAAC,EAAG;EACxE,MAAMC,iBAAiB,GAAG,IAAAC,eAAS,EAChCC,MAAM,IAAMA,MAAM,CAAEC,YAAoB,CAAC,CAACC,YAAY,CAAEN,KAAK,CAACO,EAAG,CAAC,EACpE,CAAEP,KAAK,CAACO,EAAE,CACX,CAAC;EACD,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEJ,YAAoB,CAAC;EAC/D,MAAM;IAAEK;EAAa,CAAC,GAAG,IAAAD,iBAAW,EAAEE,kBAAiB,CAAC;EAExD,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAqB,MAAM;IACNC,OAAO,EAAGA,CAAA,KACTP,gBAAgB,CAAER,KAAM,CAAC,CAACgB,IAAI,CAAIC,OAAO,IAAM;MAC9C,IAAKA,OAAO,EAAG;QACd,MAAMC,SAAS,GAAG,IAAAC,oBAAY,EAAEnB,KAAK,CAACoB,IAAK,CAAC;QAC5C,MAAM,CAAEC,aAAa,CAAE,GAAG,IAAAC,aAAK,EAC9BvB,UAAU,CAACwB,eACZ,CAAC;QACD,IAAKF,aAAa,IAAIH,SAAS,EAAG;UACjCR,YAAY,CACXT,QAAQ,EACR,IAAAuB,mBAAW,EACVN,SAAS,CAACE,IAAI,EACdC,aAAa,CAACtB,UAAU,EACxBsB,aAAa,CAACI,WACf,CACD,CAAC;QACF;MACD;IACD,CAAE,CACF;IACDC,QAAQ,EAAGxB,iBAAmB;IAC9ByB,MAAM,EAAGzB,iBAAmB;IAC5B0B,OAAO,EAAC;EAAS,GAEf,IAAAC,aAAO,GACR;EACA,IAAAC,QAAE,EAAE,YAAa,CAAC,EAClB9B,KAAK,CAAC+B,KACP,CACO,CAAC;AAEX"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_blocks","_data","_blockEditor","_store","InstallButton","attributes","block","clientId","isInstallingBlock","useSelect","select","blockDirectoryStore","isInstalling","id","installBlockType","useDispatch","replaceBlock","blockEditorStore","_react","createElement","Button","onClick","then","success","blockType","getBlockType","name","originalBlock","parse","originalContent","createBlock","innerBlocks","disabled","isBusy","variant","sprintf","__","title"],"sources":["@wordpress/block-directory/src/plugins/get-install-missing/install-button.js"],"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"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AAZA;AACA;AACA;;AAOA;AACA;AACA;;AAGe,SAASM,aAAaA,CAAE;EAAEC,UAAU;EAAEC,KAAK;EAAEC;AAAS,CAAC,EAAG;EACxE,MAAMC,iBAAiB,GAAG,IAAAC,eAAS,EAChCC,MAAM,IAAMA,MAAM,CAAEC,YAAoB,CAAC,CAACC,YAAY,CAAEN,KAAK,CAACO,EAAG,CAAC,EACpE,CAAEP,KAAK,CAACO,EAAE,CACX,CAAC;EACD,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEJ,YAAoB,CAAC;EAC/D,MAAM;IAAEK;EAAa,CAAC,GAAG,IAAAD,iBAAW,EAAEE,kBAAiB,CAAC;EAExD,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAqB,MAAM;IACNC,OAAO,EAAGA,CAAA,KACTP,gBAAgB,CAAER,KAAM,CAAC,CAACgB,IAAI,CAAIC,OAAO,IAAM;MAC9C,IAAKA,OAAO,EAAG;QACd,MAAMC,SAAS,GAAG,IAAAC,oBAAY,EAAEnB,KAAK,CAACoB,IAAK,CAAC;QAC5C,MAAM,CAAEC,aAAa,CAAE,GAAG,IAAAC,aAAK,EAC9BvB,UAAU,CAACwB,eACZ,CAAC;QACD,IAAKF,aAAa,IAAIH,SAAS,EAAG;UACjCR,YAAY,CACXT,QAAQ,EACR,IAAAuB,mBAAW,EACVN,SAAS,CAACE,IAAI,EACdC,aAAa,CAACtB,UAAU,EACxBsB,aAAa,CAACI,WACf,CACD,CAAC;QACF;MACD;IACD,CAAE,CACF;IACDC,QAAQ,EAAGxB,iBAAmB;IAC9ByB,MAAM,EAAGzB,iBAAmB;IAC5B0B,OAAO,EAAC;EAAS,GAEf,IAAAC,aAAO,GACR;EACA,IAAAC,QAAE,EAAE,YAAa,CAAC,EAClB9B,KAAK,CAAC+B,KACP,CACO,CAAC;AAEX","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_plugins","require","_hooks","_autoBlockUninstaller","_interopRequireDefault","_inserterMenuDownloadableBlocksPanel","_installedBlocksPrePublishPanel","_getInstallMissing","registerPlugin","render","_react","createElement","Fragment","default","addFilter","settings","name","edit","getInstallMissing"],"sources":["@wordpress/block-directory/src/plugins/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { registerPlugin } from '@wordpress/plugins';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport AutoBlockUninstaller from '../components/auto-block-uninstaller';\nimport InserterMenuDownloadableBlocksPanel from './inserter-menu-downloadable-blocks-panel';\nimport InstalledBlocksPrePublishPanel from './installed-blocks-pre-publish-panel';\nimport getInstallMissing from './get-install-missing';\n\nregisterPlugin( 'block-directory', {\n\trender() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<AutoBlockUninstaller />\n\t\t\t\t<InserterMenuDownloadableBlocksPanel />\n\t\t\t\t<InstalledBlocksPrePublishPanel />\n\t\t\t</>\n\t\t);\n\t},\n} );\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'block-directory/fallback',\n\t( settings, name ) => {\n\t\tif ( name !== 'core/missing' ) {\n\t\t\treturn settings;\n\t\t}\n\t\tsettings.edit = getInstallMissing( settings.edit );\n\n\t\treturn settings;\n\t}\n);\n"],"mappings":";;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKA,IAAAE,qBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,oCAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,+BAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,kBAAA,GAAAH,sBAAA,CAAAH,OAAA;AAZA;AACA;AACA;;AAIA;AACA;AACA;;AAMA,IAAAO,uBAAc,EAAE,iBAAiB,EAAE;EAClCC,MAAMA,CAAA,EAAG;IACR,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACR,qBAAA,CAAAU,OAAoB,MAAE,CAAC,EACxB,IAAAH,MAAA,CAAAC,aAAA,EAACN,oCAAA,CAAAQ,OAAmC,MAAE,CAAC,EACvC,IAAAH,MAAA,CAAAC,aAAA,EAACL,+BAAA,CAAAO,OAA8B,MAAE,CAChC,CAAC;EAEL;AACD,CAAE,CAAC;AAEH,IAAAC,gBAAS,EACR,0BAA0B,EAC1B,0BAA0B,EAC1B,CAAEC,QAAQ,EAAEC,IAAI,KAAM;EACrB,IAAKA,IAAI,KAAK,cAAc,EAAG;IAC9B,OAAOD,QAAQ;EAChB;EACAA,QAAQ,CAACE,IAAI,GAAG,IAAAC,0BAAiB,EAAEH,QAAQ,CAACE,IAAK,CAAC;EAElD,OAAOF,QAAQ;AAChB,CACD,CAAC"}
|
|
1
|
+
{"version":3,"names":["_plugins","require","_hooks","_autoBlockUninstaller","_interopRequireDefault","_inserterMenuDownloadableBlocksPanel","_installedBlocksPrePublishPanel","_getInstallMissing","registerPlugin","render","_react","createElement","Fragment","default","addFilter","settings","name","edit","getInstallMissing"],"sources":["@wordpress/block-directory/src/plugins/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { registerPlugin } from '@wordpress/plugins';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport AutoBlockUninstaller from '../components/auto-block-uninstaller';\nimport InserterMenuDownloadableBlocksPanel from './inserter-menu-downloadable-blocks-panel';\nimport InstalledBlocksPrePublishPanel from './installed-blocks-pre-publish-panel';\nimport getInstallMissing from './get-install-missing';\n\nregisterPlugin( 'block-directory', {\n\trender() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<AutoBlockUninstaller />\n\t\t\t\t<InserterMenuDownloadableBlocksPanel />\n\t\t\t\t<InstalledBlocksPrePublishPanel />\n\t\t\t</>\n\t\t);\n\t},\n} );\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'block-directory/fallback',\n\t( settings, name ) => {\n\t\tif ( name !== 'core/missing' ) {\n\t\t\treturn settings;\n\t\t}\n\t\tsettings.edit = getInstallMissing( settings.edit );\n\n\t\treturn settings;\n\t}\n);\n"],"mappings":";;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKA,IAAAE,qBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,oCAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,+BAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,kBAAA,GAAAH,sBAAA,CAAAH,OAAA;AAZA;AACA;AACA;;AAIA;AACA;AACA;;AAMA,IAAAO,uBAAc,EAAE,iBAAiB,EAAE;EAClCC,MAAMA,CAAA,EAAG;IACR,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACR,qBAAA,CAAAU,OAAoB,MAAE,CAAC,EACxB,IAAAH,MAAA,CAAAC,aAAA,EAACN,oCAAA,CAAAQ,OAAmC,MAAE,CAAC,EACvC,IAAAH,MAAA,CAAAC,aAAA,EAACL,+BAAA,CAAAO,OAA8B,MAAE,CAChC,CAAC;EAEL;AACD,CAAE,CAAC;AAEH,IAAAC,gBAAS,EACR,0BAA0B,EAC1B,0BAA0B,EAC1B,CAAEC,QAAQ,EAAEC,IAAI,KAAM;EACrB,IAAKA,IAAI,KAAK,cAAc,EAAG;IAC9B,OAAOD,QAAQ;EAChB;EACAA,QAAQ,CAACE,IAAI,GAAG,IAAAC,0BAAiB,EAAEH,QAAQ,CAACE,IAAK,CAAC;EAElD,OAAOF,QAAQ;AAChB,CACD,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blockEditor","require","_compose","_element","_downloadableBlocksPanel","_interopRequireDefault","InserterMenuDownloadableBlocksPanel","debouncedFilterValue","setFilterValue","useState","debouncedSetFilterValue","debounce","_react","createElement","__unstableInserterMenuExtension","onSelect","onHover","filterValue","hasItems","default","hasLocalBlocks","isTyping","_default","exports"],"sources":["@wordpress/block-directory/src/plugins/inserter-menu-downloadable-blocks-panel/index.js"],"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{ ( { onSelect, onHover, filterValue, hasItems } ) => {\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\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"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,wBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAVA;AACA;AACA;;AAKA;AACA;AACA;;AAGA,SAASK,mCAAmCA,CAAA,EAAG;EAC9C,MAAM,CAAEC,oBAAoB,EAAEC,cAAc,CAAE,GAAG,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EAC/D,MAAMC,uBAAuB,GAAG,IAAAC,iBAAQ,EAAEH,cAAc,EAAE,GAAI,CAAC;EAE/D,OACC,IAAAI,MAAA,CAAAC,aAAA,EAACb,YAAA,CAAAc,+BAA+B,QAC7B,CAAE;IAAEC,QAAQ;IAAEC,OAAO;IAAEC,WAAW;IAAEC;EAAS,CAAC,KAAM;IACrD,IAAKX,oBAAoB,KAAKU,WAAW,EAAG;MAC3CP,uBAAuB,CAAEO,WAAY,CAAC;IACvC;IAEA,IAAK,CAAEV,oBAAoB,EAAG;MAC7B,OAAO,IAAI;IACZ;IAEA,OACC,IAAAK,MAAA,CAAAC,aAAA,EAACT,wBAAA,CAAAe,OAAuB;MACvBJ,QAAQ,EAAGA,QAAU;MACrBC,OAAO,EAAGA,OAAS;MACnBC,WAAW,EAAGV,oBAAsB;MACpCa,cAAc,EAAGF,QAAU;MAC3BG,QAAQ,EAAGJ,WAAW,KAAKV;IAAsB,CACjD,CAAC;EAEJ,CACgC,CAAC;AAEpC;AAAC,IAAAe,QAAA,GAAAC,OAAA,CAAAJ,OAAA,GAEcb,mCAAmC"}
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_compose","_element","_downloadableBlocksPanel","_interopRequireDefault","InserterMenuDownloadableBlocksPanel","debouncedFilterValue","setFilterValue","useState","debouncedSetFilterValue","debounce","_react","createElement","__unstableInserterMenuExtension","onSelect","onHover","filterValue","hasItems","default","hasLocalBlocks","isTyping","_default","exports"],"sources":["@wordpress/block-directory/src/plugins/inserter-menu-downloadable-blocks-panel/index.js"],"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{ ( { onSelect, onHover, filterValue, hasItems } ) => {\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\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"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,wBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAVA;AACA;AACA;;AAKA;AACA;AACA;;AAGA,SAASK,mCAAmCA,CAAA,EAAG;EAC9C,MAAM,CAAEC,oBAAoB,EAAEC,cAAc,CAAE,GAAG,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EAC/D,MAAMC,uBAAuB,GAAG,IAAAC,iBAAQ,EAAEH,cAAc,EAAE,GAAI,CAAC;EAE/D,OACC,IAAAI,MAAA,CAAAC,aAAA,EAACb,YAAA,CAAAc,+BAA+B,QAC7B,CAAE;IAAEC,QAAQ;IAAEC,OAAO;IAAEC,WAAW;IAAEC;EAAS,CAAC,KAAM;IACrD,IAAKX,oBAAoB,KAAKU,WAAW,EAAG;MAC3CP,uBAAuB,CAAEO,WAAY,CAAC;IACvC;IAEA,IAAK,CAAEV,oBAAoB,EAAG;MAC7B,OAAO,IAAI;IACZ;IAEA,OACC,IAAAK,MAAA,CAAAC,aAAA,EAACT,wBAAA,CAAAe,OAAuB;MACvBJ,QAAQ,EAAGA,QAAU;MACrBC,OAAO,EAAGA,OAAS;MACnBC,WAAW,EAAGV,oBAAsB;MACpCa,cAAc,EAAGF,QAAU;MAC3BG,QAAQ,EAAGJ,WAAW,KAAKV;IAAsB,CACjD,CAAC;EAEJ,CACgC,CAAC;AAEpC;AAAC,IAAAe,QAAA,GAAAC,OAAA,CAAAJ,OAAA,GAEcb,mCAAmC","ignoreList":[]}
|
|
@@ -12,6 +12,12 @@ var _icons = require("@wordpress/icons");
|
|
|
12
12
|
var _compactList = _interopRequireDefault(require("../../components/compact-list"));
|
|
13
13
|
var _store = require("../../store");
|
|
14
14
|
var _window$wp$editPost;
|
|
15
|
+
/**
|
|
16
|
+
* WordPress dependencies
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Internal dependencies
|
|
20
|
+
*/
|
|
15
21
|
// We shouldn't import the edit-post package directly
|
|
16
22
|
// because it would include the wp-edit-post in all pages loading the block-directory script.
|
|
17
23
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_data","_icons","_compactList","_interopRequireDefault","_store","_window$wp$editPost","PluginPrePublishPanel","window","wp","editPost","InstalledBlocksPrePublishPanel","newBlockTypes","useSelect","select","blockDirectoryStore","getNewBlockTypes","length","_react","createElement","icon","blockDefault","title","sprintf","_n","initialOpen","className","default","items"],"sources":["@wordpress/block-directory/src/plugins/installed-blocks-pre-publish-panel/index.js"],"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\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"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAKA,IAAAG,YAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAA2D,IAAAM,mBAAA;
|
|
1
|
+
{"version":3,"names":["_i18n","require","_data","_icons","_compactList","_interopRequireDefault","_store","_window$wp$editPost","PluginPrePublishPanel","window","wp","editPost","InstalledBlocksPrePublishPanel","newBlockTypes","useSelect","select","blockDirectoryStore","getNewBlockTypes","length","_react","createElement","icon","blockDefault","title","sprintf","_n","initialOpen","className","default","items"],"sources":["@wordpress/block-directory/src/plugins/installed-blocks-pre-publish-panel/index.js"],"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\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"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAKA,IAAAG,YAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAA2D,IAAAM,mBAAA;AAX3D;AACA;AACA;AAKA;AACA;AACA;AAIA;AACA;AACA,MAAM;EAAEC;AAAsB,CAAC,IAAAD,mBAAA,GAAGE,MAAM,EAAEC,EAAE,EAAEC,QAAQ,cAAAJ,mBAAA,cAAAA,mBAAA,GAAI,CAAC,CAAC;AAE7C,SAASK,8BAA8BA,CAAA,EAAG;EACxD,MAAMC,aAAa,GAAG,IAAAC,eAAS,EAC5BC,MAAM,IAAMA,MAAM,CAAEC,YAAoB,CAAC,CAACC,gBAAgB,CAAC,CAAC,EAC9D,EACD,CAAC;EAED,IAAK,CAAEJ,aAAa,CAACK,MAAM,EAAG;IAC7B,OAAO,IAAI;EACZ;EAEA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACZ,qBAAqB;IACrBa,IAAI,EAAGC,mBAAc;IACrBC,KAAK,EAAG,IAAAC,aAAO;IACd;IACA,IAAAC,QAAE,EACD,iBAAiB,EACjB,kBAAkB,EAClBZ,aAAa,CAACK,MACf,CAAC,EACDL,aAAa,CAACK,MACf,CAAG;IACHQ,WAAW;EAAA,GAEX,IAAAP,MAAA,CAAAC,aAAA;IAAGO,SAAS,EAAC;EAA0C,GACpD,IAAAF,QAAE,EACH,kDAAkD,EAClD,oDAAoD,EACpDZ,aAAa,CAACK,MACf,CACE,CAAC,EACJ,IAAAC,MAAA,CAAAC,aAAA,EAAChB,YAAA,CAAAwB,OAAW;IAACC,KAAK,EAAGhB;EAAe,CAAE,CAChB,CAAC;AAE1B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blocks","require","_i18n","_apiFetch","_interopRequireDefault","_notices","_url","_loadAssets","_getPluginUrl","fetchDownloadableBlocks","filterValue","type","receiveDownloadableBlocks","downloadableBlocks","installBlockType","block","registry","dispatch","id","name","success","clearErrorNotice","setIsInstalling","url","getPluginUrl","links","apiFetch","method","data","status","response","path","slug","_links","addInstalledBlockType","metadataFields","addQueryArgs","_fields","catch","then","unstable__bootstrapServerSideBlockDefinitions","Object","fromEntries","entries","filter","key","includes","loadAssets","registeredBlocks","select","blocksStore","getBlockTypes","some","i","Error","__","noticesStore","createInfoNotice","sprintf","title","speak","error","message","isFatal","fatalAPIErrors","folder_exists","unable_to_connect_to_filesystem","code","setErrorNotice","createErrorNotice","isDismissible","exports","uninstallBlockType","removeInstalledBlockType","item","blockId","isInstalling"],"sources":["@wordpress/block-directory/src/store/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tstore as blocksStore,\n\tunstable__bootstrapServerSideBlockDefinitions, // eslint-disable-line camelcase\n} from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport apiFetch from '@wordpress/api-fetch';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { loadAssets } from './load-assets';\nimport getPluginUrl from './utils/get-plugin-url';\n\n/**\n * Returns an action object used in signalling that the downloadable blocks\n * have been requested and are loading.\n *\n * @param {string} filterValue Search string.\n *\n * @return {Object} Action object.\n */\nexport function fetchDownloadableBlocks( filterValue ) {\n\treturn { type: 'FETCH_DOWNLOADABLE_BLOCKS', filterValue };\n}\n\n/**\n * Returns an action object used in signalling that the downloadable blocks\n * have been updated.\n *\n * @param {Array} downloadableBlocks Downloadable blocks.\n * @param {string} filterValue Search string.\n *\n * @return {Object} Action object.\n */\nexport function receiveDownloadableBlocks( downloadableBlocks, filterValue ) {\n\treturn {\n\t\ttype: 'RECEIVE_DOWNLOADABLE_BLOCKS',\n\t\tdownloadableBlocks,\n\t\tfilterValue,\n\t};\n}\n\n/**\n * Action triggered to install a block plugin.\n *\n * @param {Object} block The block item returned by search.\n *\n * @return {boolean} Whether the block was successfully installed & loaded.\n */\nexport const installBlockType =\n\t( block ) =>\n\tasync ( { registry, dispatch } ) => {\n\t\tconst { id, name } = block;\n\t\tlet success = false;\n\t\tdispatch.clearErrorNotice( id );\n\t\ttry {\n\t\t\tdispatch.setIsInstalling( id, true );\n\n\t\t\t// If we have a wp:plugin link, the plugin is installed but inactive.\n\t\t\tconst url = getPluginUrl( block );\n\t\t\tlet links = {};\n\t\t\tif ( url ) {\n\t\t\t\tawait apiFetch( {\n\t\t\t\t\tmethod: 'PUT',\n\t\t\t\t\turl,\n\t\t\t\t\tdata: { status: 'active' },\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tconst response = await apiFetch( {\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tpath: 'wp/v2/plugins',\n\t\t\t\t\tdata: { slug: id, status: 'active' },\n\t\t\t\t} );\n\t\t\t\t// Add the `self` link for newly-installed blocks.\n\t\t\t\tlinks = response._links;\n\t\t\t}\n\n\t\t\tdispatch.addInstalledBlockType( {\n\t\t\t\t...block,\n\t\t\t\tlinks: { ...block.links, ...links },\n\t\t\t} );\n\n\t\t\t// Ensures that the block metadata is propagated to the editor when registered on the server.\n\t\t\tconst metadataFields = [\n\t\t\t\t'api_version',\n\t\t\t\t'title',\n\t\t\t\t'category',\n\t\t\t\t'parent',\n\t\t\t\t'icon',\n\t\t\t\t'description',\n\t\t\t\t'keywords',\n\t\t\t\t'attributes',\n\t\t\t\t'provides_context',\n\t\t\t\t'uses_context',\n\t\t\t\t'supports',\n\t\t\t\t'styles',\n\t\t\t\t'example',\n\t\t\t\t'variations',\n\t\t\t];\n\t\t\tawait apiFetch( {\n\t\t\t\tpath: addQueryArgs( `/wp/v2/block-types/${ name }`, {\n\t\t\t\t\t_fields: metadataFields,\n\t\t\t\t} ),\n\t\t\t} )\n\t\t\t\t// Ignore when the block is not registered on the server.\n\t\t\t\t.catch( () => {} )\n\t\t\t\t.then( ( response ) => {\n\t\t\t\t\tif ( ! response ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tunstable__bootstrapServerSideBlockDefinitions( {\n\t\t\t\t\t\t[ name ]: Object.fromEntries(\n\t\t\t\t\t\t\tObject.entries( response ).filter( ( [ key ] ) =>\n\t\t\t\t\t\t\t\tmetadataFields.includes( key )\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\n\t\t\tawait loadAssets();\n\t\t\tconst registeredBlocks = registry\n\t\t\t\t.select( blocksStore )\n\t\t\t\t.getBlockTypes();\n\t\t\tif ( ! registeredBlocks.some( ( i ) => i.name === name ) ) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t__( 'Error registering block. Try reloading the page.' )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tregistry.dispatch( noticesStore ).createInfoNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s is the block title.\n\t\t\t\t\t__( 'Block %s installed and added.' ),\n\t\t\t\t\tblock.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\tspeak: true,\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t\tsuccess = true;\n\t\t} catch ( error ) {\n\t\t\tlet message = error.message || __( 'An error occurred.' );\n\n\t\t\t// Errors we throw are fatal.\n\t\t\tlet isFatal = error instanceof Error;\n\n\t\t\t// Specific API errors that are fatal.\n\t\t\tconst fatalAPIErrors = {\n\t\t\t\tfolder_exists: __(\n\t\t\t\t\t'This block is already installed. Try reloading the page.'\n\t\t\t\t),\n\t\t\t\tunable_to_connect_to_filesystem: __(\n\t\t\t\t\t'Error installing block. You can reload the page and try again.'\n\t\t\t\t),\n\t\t\t};\n\n\t\t\tif ( fatalAPIErrors[ error.code ] ) {\n\t\t\t\tisFatal = true;\n\t\t\t\tmessage = fatalAPIErrors[ error.code ];\n\t\t\t}\n\n\t\t\tdispatch.setErrorNotice( id, message, isFatal );\n\t\t\tregistry.dispatch( noticesStore ).createErrorNotice( message, {\n\t\t\t\tspeak: true,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}\n\t\tdispatch.setIsInstalling( id, false );\n\t\treturn success;\n\t};\n\n/**\n * Action triggered to uninstall a block plugin.\n *\n * @param {Object} block The blockType object.\n */\nexport const uninstallBlockType =\n\t( block ) =>\n\tasync ( { registry, dispatch } ) => {\n\t\ttry {\n\t\t\tconst url = getPluginUrl( block );\n\t\t\tawait apiFetch( {\n\t\t\t\tmethod: 'PUT',\n\t\t\t\turl,\n\t\t\t\tdata: { status: 'inactive' },\n\t\t\t} );\n\t\t\tawait apiFetch( {\n\t\t\t\tmethod: 'DELETE',\n\t\t\t\turl,\n\t\t\t} );\n\t\t\tdispatch.removeInstalledBlockType( block );\n\t\t} catch ( error ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice(\n\t\t\t\t\terror.message || __( 'An error occurred.' )\n\t\t\t\t);\n\t\t}\n\t};\n\n/**\n * Returns an action object used to add a block type to the \"newly installed\"\n * tracking list.\n *\n * @param {Object} item The block item with the block id and name.\n *\n * @return {Object} Action object.\n */\nexport function addInstalledBlockType( item ) {\n\treturn {\n\t\ttype: 'ADD_INSTALLED_BLOCK_TYPE',\n\t\titem,\n\t};\n}\n\n/**\n * Returns an action object used to remove a block type from the \"newly installed\"\n * tracking list.\n *\n * @param {string} item The block item with the block id and name.\n *\n * @return {Object} Action object.\n */\nexport function removeInstalledBlockType( item ) {\n\treturn {\n\t\ttype: 'REMOVE_INSTALLED_BLOCK_TYPE',\n\t\titem,\n\t};\n}\n\n/**\n * Returns an action object used to indicate install in progress.\n *\n * @param {string} blockId\n * @param {boolean} isInstalling\n *\n * @return {Object} Action object.\n */\nexport function setIsInstalling( blockId, isInstalling ) {\n\treturn {\n\t\ttype: 'SET_INSTALLING_BLOCK',\n\t\tblockId,\n\t\tisInstalling,\n\t};\n}\n\n/**\n * Sets an error notice to be displayed to the user for a given block.\n *\n * @param {string} blockId The ID of the block plugin. eg: my-block\n * @param {string} message The message shown in the notice.\n * @param {boolean} isFatal Whether the user can recover from the error.\n *\n * @return {Object} Action object.\n */\nexport function setErrorNotice( blockId, message, isFatal = false ) {\n\treturn {\n\t\ttype: 'SET_ERROR_NOTICE',\n\t\tblockId,\n\t\tmessage,\n\t\tisFatal,\n\t};\n}\n\n/**\n * Sets the error notice to empty for specific block.\n *\n * @param {string} blockId The ID of the block plugin. eg: my-block\n *\n * @return {Object} Action object.\n */\nexport function clearErrorNotice( blockId ) {\n\treturn {\n\t\ttype: 'CLEAR_ERROR_NOTICE',\n\t\tblockId,\n\t};\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_blocks","require","_i18n","_apiFetch","_interopRequireDefault","_notices","_url","_loadAssets","_getPluginUrl","fetchDownloadableBlocks","filterValue","type","receiveDownloadableBlocks","downloadableBlocks","installBlockType","block","registry","dispatch","id","name","success","clearErrorNotice","setIsInstalling","url","getPluginUrl","links","apiFetch","method","data","status","response","path","slug","_links","addInstalledBlockType","metadataFields","addQueryArgs","_fields","catch","then","unstable__bootstrapServerSideBlockDefinitions","Object","fromEntries","entries","filter","key","includes","loadAssets","registeredBlocks","select","blocksStore","getBlockTypes","some","i","Error","__","noticesStore","createInfoNotice","sprintf","title","speak","error","message","isFatal","fatalAPIErrors","folder_exists","unable_to_connect_to_filesystem","code","setErrorNotice","createErrorNotice","isDismissible","exports","uninstallBlockType","removeInstalledBlockType","item","blockId","isInstalling"],"sources":["@wordpress/block-directory/src/store/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tstore as blocksStore,\n\tunstable__bootstrapServerSideBlockDefinitions, // eslint-disable-line camelcase\n} from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport apiFetch from '@wordpress/api-fetch';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { loadAssets } from './load-assets';\nimport getPluginUrl from './utils/get-plugin-url';\n\n/**\n * Returns an action object used in signalling that the downloadable blocks\n * have been requested and are loading.\n *\n * @param {string} filterValue Search string.\n *\n * @return {Object} Action object.\n */\nexport function fetchDownloadableBlocks( filterValue ) {\n\treturn { type: 'FETCH_DOWNLOADABLE_BLOCKS', filterValue };\n}\n\n/**\n * Returns an action object used in signalling that the downloadable blocks\n * have been updated.\n *\n * @param {Array} downloadableBlocks Downloadable blocks.\n * @param {string} filterValue Search string.\n *\n * @return {Object} Action object.\n */\nexport function receiveDownloadableBlocks( downloadableBlocks, filterValue ) {\n\treturn {\n\t\ttype: 'RECEIVE_DOWNLOADABLE_BLOCKS',\n\t\tdownloadableBlocks,\n\t\tfilterValue,\n\t};\n}\n\n/**\n * Action triggered to install a block plugin.\n *\n * @param {Object} block The block item returned by search.\n *\n * @return {boolean} Whether the block was successfully installed & loaded.\n */\nexport const installBlockType =\n\t( block ) =>\n\tasync ( { registry, dispatch } ) => {\n\t\tconst { id, name } = block;\n\t\tlet success = false;\n\t\tdispatch.clearErrorNotice( id );\n\t\ttry {\n\t\t\tdispatch.setIsInstalling( id, true );\n\n\t\t\t// If we have a wp:plugin link, the plugin is installed but inactive.\n\t\t\tconst url = getPluginUrl( block );\n\t\t\tlet links = {};\n\t\t\tif ( url ) {\n\t\t\t\tawait apiFetch( {\n\t\t\t\t\tmethod: 'PUT',\n\t\t\t\t\turl,\n\t\t\t\t\tdata: { status: 'active' },\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tconst response = await apiFetch( {\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tpath: 'wp/v2/plugins',\n\t\t\t\t\tdata: { slug: id, status: 'active' },\n\t\t\t\t} );\n\t\t\t\t// Add the `self` link for newly-installed blocks.\n\t\t\t\tlinks = response._links;\n\t\t\t}\n\n\t\t\tdispatch.addInstalledBlockType( {\n\t\t\t\t...block,\n\t\t\t\tlinks: { ...block.links, ...links },\n\t\t\t} );\n\n\t\t\t// Ensures that the block metadata is propagated to the editor when registered on the server.\n\t\t\tconst metadataFields = [\n\t\t\t\t'api_version',\n\t\t\t\t'title',\n\t\t\t\t'category',\n\t\t\t\t'parent',\n\t\t\t\t'icon',\n\t\t\t\t'description',\n\t\t\t\t'keywords',\n\t\t\t\t'attributes',\n\t\t\t\t'provides_context',\n\t\t\t\t'uses_context',\n\t\t\t\t'supports',\n\t\t\t\t'styles',\n\t\t\t\t'example',\n\t\t\t\t'variations',\n\t\t\t];\n\t\t\tawait apiFetch( {\n\t\t\t\tpath: addQueryArgs( `/wp/v2/block-types/${ name }`, {\n\t\t\t\t\t_fields: metadataFields,\n\t\t\t\t} ),\n\t\t\t} )\n\t\t\t\t// Ignore when the block is not registered on the server.\n\t\t\t\t.catch( () => {} )\n\t\t\t\t.then( ( response ) => {\n\t\t\t\t\tif ( ! response ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tunstable__bootstrapServerSideBlockDefinitions( {\n\t\t\t\t\t\t[ name ]: Object.fromEntries(\n\t\t\t\t\t\t\tObject.entries( response ).filter( ( [ key ] ) =>\n\t\t\t\t\t\t\t\tmetadataFields.includes( key )\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\n\t\t\tawait loadAssets();\n\t\t\tconst registeredBlocks = registry\n\t\t\t\t.select( blocksStore )\n\t\t\t\t.getBlockTypes();\n\t\t\tif ( ! registeredBlocks.some( ( i ) => i.name === name ) ) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t__( 'Error registering block. Try reloading the page.' )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tregistry.dispatch( noticesStore ).createInfoNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s is the block title.\n\t\t\t\t\t__( 'Block %s installed and added.' ),\n\t\t\t\t\tblock.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\tspeak: true,\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t\tsuccess = true;\n\t\t} catch ( error ) {\n\t\t\tlet message = error.message || __( 'An error occurred.' );\n\n\t\t\t// Errors we throw are fatal.\n\t\t\tlet isFatal = error instanceof Error;\n\n\t\t\t// Specific API errors that are fatal.\n\t\t\tconst fatalAPIErrors = {\n\t\t\t\tfolder_exists: __(\n\t\t\t\t\t'This block is already installed. Try reloading the page.'\n\t\t\t\t),\n\t\t\t\tunable_to_connect_to_filesystem: __(\n\t\t\t\t\t'Error installing block. You can reload the page and try again.'\n\t\t\t\t),\n\t\t\t};\n\n\t\t\tif ( fatalAPIErrors[ error.code ] ) {\n\t\t\t\tisFatal = true;\n\t\t\t\tmessage = fatalAPIErrors[ error.code ];\n\t\t\t}\n\n\t\t\tdispatch.setErrorNotice( id, message, isFatal );\n\t\t\tregistry.dispatch( noticesStore ).createErrorNotice( message, {\n\t\t\t\tspeak: true,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}\n\t\tdispatch.setIsInstalling( id, false );\n\t\treturn success;\n\t};\n\n/**\n * Action triggered to uninstall a block plugin.\n *\n * @param {Object} block The blockType object.\n */\nexport const uninstallBlockType =\n\t( block ) =>\n\tasync ( { registry, dispatch } ) => {\n\t\ttry {\n\t\t\tconst url = getPluginUrl( block );\n\t\t\tawait apiFetch( {\n\t\t\t\tmethod: 'PUT',\n\t\t\t\turl,\n\t\t\t\tdata: { status: 'inactive' },\n\t\t\t} );\n\t\t\tawait apiFetch( {\n\t\t\t\tmethod: 'DELETE',\n\t\t\t\turl,\n\t\t\t} );\n\t\t\tdispatch.removeInstalledBlockType( block );\n\t\t} catch ( error ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice(\n\t\t\t\t\terror.message || __( 'An error occurred.' )\n\t\t\t\t);\n\t\t}\n\t};\n\n/**\n * Returns an action object used to add a block type to the \"newly installed\"\n * tracking list.\n *\n * @param {Object} item The block item with the block id and name.\n *\n * @return {Object} Action object.\n */\nexport function addInstalledBlockType( item ) {\n\treturn {\n\t\ttype: 'ADD_INSTALLED_BLOCK_TYPE',\n\t\titem,\n\t};\n}\n\n/**\n * Returns an action object used to remove a block type from the \"newly installed\"\n * tracking list.\n *\n * @param {string} item The block item with the block id and name.\n *\n * @return {Object} Action object.\n */\nexport function removeInstalledBlockType( item ) {\n\treturn {\n\t\ttype: 'REMOVE_INSTALLED_BLOCK_TYPE',\n\t\titem,\n\t};\n}\n\n/**\n * Returns an action object used to indicate install in progress.\n *\n * @param {string} blockId\n * @param {boolean} isInstalling\n *\n * @return {Object} Action object.\n */\nexport function setIsInstalling( blockId, isInstalling ) {\n\treturn {\n\t\ttype: 'SET_INSTALLING_BLOCK',\n\t\tblockId,\n\t\tisInstalling,\n\t};\n}\n\n/**\n * Sets an error notice to be displayed to the user for a given block.\n *\n * @param {string} blockId The ID of the block plugin. eg: my-block\n * @param {string} message The message shown in the notice.\n * @param {boolean} isFatal Whether the user can recover from the error.\n *\n * @return {Object} Action object.\n */\nexport function setErrorNotice( blockId, message, isFatal = false ) {\n\treturn {\n\t\ttype: 'SET_ERROR_NOTICE',\n\t\tblockId,\n\t\tmessage,\n\t\tisFatal,\n\t};\n}\n\n/**\n * Sets the error notice to empty for specific block.\n *\n * @param {string} blockId The ID of the block plugin. eg: my-block\n *\n * @return {Object} Action object.\n */\nexport function clearErrorNotice( blockId ) {\n\treturn {\n\t\ttype: 'CLEAR_ERROR_NOTICE',\n\t\tblockId,\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build/store/index.js
CHANGED
|
@@ -11,7 +11,7 @@ var selectors = _interopRequireWildcard(require("./selectors"));
|
|
|
11
11
|
var actions = _interopRequireWildcard(require("./actions"));
|
|
12
12
|
var resolvers = _interopRequireWildcard(require("./resolvers"));
|
|
13
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
15
|
/**
|
|
16
16
|
* WordPress dependencies
|
|
17
17
|
*/
|
package/build/store/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_reducer","_interopRequireDefault","selectors","_interopRequireWildcard","actions","resolvers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","
|
|
1
|
+
{"version":3,"names":["_data","require","_reducer","_interopRequireDefault","selectors","_interopRequireWildcard","actions","resolvers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","STORE_NAME","storeConfig","exports","reducer","store","createReduxStore","register"],"sources":["@wordpress/block-directory/src/store/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createReduxStore, register } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport * as selectors from './selectors';\nimport * as actions from './actions';\nimport * as resolvers from './resolvers';\n\n/**\n * Module Constants\n */\nconst STORE_NAME = 'core/block-directory';\n\n/**\n * Block editor data store configuration.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#registerStore\n *\n * @type {Object}\n */\nexport const storeConfig = {\n\treducer,\n\tselectors,\n\tactions,\n\tresolvers,\n};\n\n/**\n * Store definition for the block directory namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n *\n * @type {Object}\n */\nexport const store = createReduxStore( STORE_NAME, storeConfig );\n\nregister( store );\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAD,uBAAA,CAAAJ,OAAA;AACA,IAAAM,SAAA,GAAAF,uBAAA,CAAAJ,OAAA;AAAyC,SAAAO,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAXzC;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AACA,MAAMW,UAAU,GAAG,sBAAsB;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EAC1BE,OAAO,EAAPA,gBAAO;EACP3B,SAAS;EACTE,OAAO;EACPC;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMyB,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAG,IAAAC,sBAAgB,EAAEL,UAAU,EAAEC,WAAY,CAAC;AAEhE,IAAAK,cAAQ,EAAEF,KAAM,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_apiFetch","_interopRequireDefault","require","loadAsset","el","Promise","resolve","reject","newNode","document","createElement","nodeName","forEach","attr","innerHTML","appendChild","createTextNode","onload","onerror","Error","body","toLowerCase","src","exports","loadAssets","response","apiFetch","url","location","href","parse","data","text","doc","window","DOMParser","parseFromString","newAssets","Array","from","querySelectorAll","filter","asset","id","getElementById","newAsset"],"sources":["@wordpress/block-directory/src/store/load-assets.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\n\n/**\n * Load an asset for a block.\n *\n * This function returns a Promise that will resolve once the asset is loaded,\n * or in the case of Stylesheets and Inline JavaScript, will resolve immediately.\n *\n * @param {HTMLElement} el A HTML Element asset to inject.\n *\n * @return {Promise} Promise which will resolve when the asset is loaded.\n */\nexport const loadAsset = ( el ) => {\n\treturn new Promise( ( resolve, reject ) => {\n\t\t/*\n\t\t * Reconstruct the passed element, this is required as inserting the Node directly\n\t\t * won't always fire the required onload events, even if the asset wasn't already loaded.\n\t\t */\n\t\tconst newNode = document.createElement( el.nodeName );\n\n\t\t[ 'id', 'rel', 'src', 'href', 'type' ].forEach( ( attr ) => {\n\t\t\tif ( el[ attr ] ) {\n\t\t\t\tnewNode[ attr ] = el[ attr ];\n\t\t\t}\n\t\t} );\n\n\t\t// Append inline <script> contents.\n\t\tif ( el.innerHTML ) {\n\t\t\tnewNode.appendChild( document.createTextNode( el.innerHTML ) );\n\t\t}\n\n\t\tnewNode.onload = () => resolve( true );\n\t\tnewNode.onerror = () => reject( new Error( 'Error loading asset.' ) );\n\n\t\tdocument.body.appendChild( newNode );\n\n\t\t// Resolve Stylesheets and Inline JavaScript immediately.\n\t\tif (\n\t\t\t'link' === newNode.nodeName.toLowerCase() ||\n\t\t\t( 'script' === newNode.nodeName.toLowerCase() && ! newNode.src )\n\t\t) {\n\t\t\tresolve();\n\t\t}\n\t} );\n};\n\n/**\n * Load the asset files for a block\n */\nexport async function loadAssets() {\n\t/*\n\t * Fetch the current URL (post-new.php, or post.php?post=1&action=edit) and compare the\n\t * JavaScript and CSS assets loaded between the pages. This imports the required assets\n\t * for the block into the current page while not requiring that we know them up-front.\n\t * In the future this can be improved by reliance upon block.json and/or a script-loader\n\t * dependency API.\n\t */\n\tconst response = await apiFetch( {\n\t\turl: document.location.href,\n\t\tparse: false,\n\t} );\n\n\tconst data = await response.text();\n\n\tconst doc = new window.DOMParser().parseFromString( data, 'text/html' );\n\n\tconst newAssets = Array.from(\n\t\tdoc.querySelectorAll( 'link[rel=\"stylesheet\"],script' )\n\t).filter( ( asset ) => asset.id && ! document.getElementById( asset.id ) );\n\n\t/*\n\t * Load each asset in order, as they may depend upon an earlier loaded script.\n\t * Stylesheets and Inline Scripts will resolve immediately upon insertion.\n\t */\n\tfor ( const newAsset of newAssets ) {\n\t\tawait loadAsset( newAsset );\n\t}\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,SAAS,GAAKC,EAAE,IAAM;EAClC,OAAO,IAAIC,OAAO,CAAE,CAAEC,OAAO,EAAEC,MAAM,KAAM;IAC1C;AACF;AACA;AACA;IACE,MAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAEN,EAAE,CAACO,QAAS,CAAC;IAErD,CAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAE,CAACC,OAAO,CAAIC,IAAI,IAAM;MAC3D,IAAKT,EAAE,CAAES,IAAI,CAAE,EAAG;QACjBL,OAAO,CAAEK,IAAI,CAAE,GAAGT,EAAE,CAAES,IAAI,CAAE;MAC7B;IACD,CAAE,CAAC;;IAEH;IACA,IAAKT,EAAE,CAACU,SAAS,EAAG;MACnBN,OAAO,CAACO,WAAW,CAAEN,QAAQ,CAACO,cAAc,CAAEZ,EAAE,CAACU,SAAU,CAAE,CAAC;IAC/D;IAEAN,OAAO,CAACS,MAAM,GAAG,MAAMX,OAAO,CAAE,IAAK,CAAC;IACtCE,OAAO,CAACU,OAAO,GAAG,MAAMX,MAAM,CAAE,IAAIY,KAAK,CAAE,sBAAuB,CAAE,CAAC;IAErEV,QAAQ,CAACW,IAAI,CAACL,WAAW,CAAEP,OAAQ,CAAC;;IAEpC;IACA,IACC,MAAM,KAAKA,OAAO,CAACG,QAAQ,CAACU,WAAW,CAAC,CAAC,IACvC,QAAQ,KAAKb,OAAO,CAACG,QAAQ,CAACU,WAAW,CAAC,CAAC,IAAI,CAAEb,OAAO,CAACc,GAAK,EAC/D;MACDhB,OAAO,CAAC,CAAC;IACV;EACD,CAAE,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AAFAiB,OAAA,CAAApB,SAAA,GAAAA,SAAA;AAGO,eAAeqB,UAAUA,CAAA,EAAG;EAClC;AACD;AACA;AACA;AACA;AACA;AACA;EACC,MAAMC,QAAQ,GAAG,MAAM,IAAAC,iBAAQ,EAAE;IAChCC,GAAG,EAAElB,QAAQ,CAACmB,QAAQ,CAACC,IAAI;IAC3BC,KAAK,EAAE;EACR,CAAE,CAAC;EAEH,MAAMC,IAAI,GAAG,MAAMN,QAAQ,CAACO,IAAI,CAAC,CAAC;EAElC,MAAMC,GAAG,GAAG,IAAIC,MAAM,CAACC,SAAS,CAAC,CAAC,CAACC,eAAe,CAAEL,IAAI,EAAE,WAAY,CAAC;EAEvE,MAAMM,SAAS,GAAGC,KAAK,CAACC,IAAI,CAC3BN,GAAG,CAACO,gBAAgB,CAAE,+BAAgC,CACvD,CAAC,CAACC,MAAM,CAAIC,KAAK,IAAMA,KAAK,CAACC,EAAE,IAAI,CAAElC,QAAQ,CAACmC,cAAc,CAAEF,KAAK,CAACC,EAAG,CAAE,CAAC;;EAE1E;AACD;AACA;AACA;EACC,KAAM,MAAME,QAAQ,IAAIR,SAAS,EAAG;IACnC,MAAMlC,SAAS,CAAE0C,QAAS,CAAC;EAC5B;AACD"}
|
|
1
|
+
{"version":3,"names":["_apiFetch","_interopRequireDefault","require","loadAsset","el","Promise","resolve","reject","newNode","document","createElement","nodeName","forEach","attr","innerHTML","appendChild","createTextNode","onload","onerror","Error","body","toLowerCase","src","exports","loadAssets","response","apiFetch","url","location","href","parse","data","text","doc","window","DOMParser","parseFromString","newAssets","Array","from","querySelectorAll","filter","asset","id","getElementById","newAsset"],"sources":["@wordpress/block-directory/src/store/load-assets.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\n\n/**\n * Load an asset for a block.\n *\n * This function returns a Promise that will resolve once the asset is loaded,\n * or in the case of Stylesheets and Inline JavaScript, will resolve immediately.\n *\n * @param {HTMLElement} el A HTML Element asset to inject.\n *\n * @return {Promise} Promise which will resolve when the asset is loaded.\n */\nexport const loadAsset = ( el ) => {\n\treturn new Promise( ( resolve, reject ) => {\n\t\t/*\n\t\t * Reconstruct the passed element, this is required as inserting the Node directly\n\t\t * won't always fire the required onload events, even if the asset wasn't already loaded.\n\t\t */\n\t\tconst newNode = document.createElement( el.nodeName );\n\n\t\t[ 'id', 'rel', 'src', 'href', 'type' ].forEach( ( attr ) => {\n\t\t\tif ( el[ attr ] ) {\n\t\t\t\tnewNode[ attr ] = el[ attr ];\n\t\t\t}\n\t\t} );\n\n\t\t// Append inline <script> contents.\n\t\tif ( el.innerHTML ) {\n\t\t\tnewNode.appendChild( document.createTextNode( el.innerHTML ) );\n\t\t}\n\n\t\tnewNode.onload = () => resolve( true );\n\t\tnewNode.onerror = () => reject( new Error( 'Error loading asset.' ) );\n\n\t\tdocument.body.appendChild( newNode );\n\n\t\t// Resolve Stylesheets and Inline JavaScript immediately.\n\t\tif (\n\t\t\t'link' === newNode.nodeName.toLowerCase() ||\n\t\t\t( 'script' === newNode.nodeName.toLowerCase() && ! newNode.src )\n\t\t) {\n\t\t\tresolve();\n\t\t}\n\t} );\n};\n\n/**\n * Load the asset files for a block\n */\nexport async function loadAssets() {\n\t/*\n\t * Fetch the current URL (post-new.php, or post.php?post=1&action=edit) and compare the\n\t * JavaScript and CSS assets loaded between the pages. This imports the required assets\n\t * for the block into the current page while not requiring that we know them up-front.\n\t * In the future this can be improved by reliance upon block.json and/or a script-loader\n\t * dependency API.\n\t */\n\tconst response = await apiFetch( {\n\t\turl: document.location.href,\n\t\tparse: false,\n\t} );\n\n\tconst data = await response.text();\n\n\tconst doc = new window.DOMParser().parseFromString( data, 'text/html' );\n\n\tconst newAssets = Array.from(\n\t\tdoc.querySelectorAll( 'link[rel=\"stylesheet\"],script' )\n\t).filter( ( asset ) => asset.id && ! document.getElementById( asset.id ) );\n\n\t/*\n\t * Load each asset in order, as they may depend upon an earlier loaded script.\n\t * Stylesheets and Inline Scripts will resolve immediately upon insertion.\n\t */\n\tfor ( const newAsset of newAssets ) {\n\t\tawait loadAsset( newAsset );\n\t}\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,SAAS,GAAKC,EAAE,IAAM;EAClC,OAAO,IAAIC,OAAO,CAAE,CAAEC,OAAO,EAAEC,MAAM,KAAM;IAC1C;AACF;AACA;AACA;IACE,MAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAEN,EAAE,CAACO,QAAS,CAAC;IAErD,CAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAE,CAACC,OAAO,CAAIC,IAAI,IAAM;MAC3D,IAAKT,EAAE,CAAES,IAAI,CAAE,EAAG;QACjBL,OAAO,CAAEK,IAAI,CAAE,GAAGT,EAAE,CAAES,IAAI,CAAE;MAC7B;IACD,CAAE,CAAC;;IAEH;IACA,IAAKT,EAAE,CAACU,SAAS,EAAG;MACnBN,OAAO,CAACO,WAAW,CAAEN,QAAQ,CAACO,cAAc,CAAEZ,EAAE,CAACU,SAAU,CAAE,CAAC;IAC/D;IAEAN,OAAO,CAACS,MAAM,GAAG,MAAMX,OAAO,CAAE,IAAK,CAAC;IACtCE,OAAO,CAACU,OAAO,GAAG,MAAMX,MAAM,CAAE,IAAIY,KAAK,CAAE,sBAAuB,CAAE,CAAC;IAErEV,QAAQ,CAACW,IAAI,CAACL,WAAW,CAAEP,OAAQ,CAAC;;IAEpC;IACA,IACC,MAAM,KAAKA,OAAO,CAACG,QAAQ,CAACU,WAAW,CAAC,CAAC,IACvC,QAAQ,KAAKb,OAAO,CAACG,QAAQ,CAACU,WAAW,CAAC,CAAC,IAAI,CAAEb,OAAO,CAACc,GAAK,EAC/D;MACDhB,OAAO,CAAC,CAAC;IACV;EACD,CAAE,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AAFAiB,OAAA,CAAApB,SAAA,GAAAA,SAAA;AAGO,eAAeqB,UAAUA,CAAA,EAAG;EAClC;AACD;AACA;AACA;AACA;AACA;AACA;EACC,MAAMC,QAAQ,GAAG,MAAM,IAAAC,iBAAQ,EAAE;IAChCC,GAAG,EAAElB,QAAQ,CAACmB,QAAQ,CAACC,IAAI;IAC3BC,KAAK,EAAE;EACR,CAAE,CAAC;EAEH,MAAMC,IAAI,GAAG,MAAMN,QAAQ,CAACO,IAAI,CAAC,CAAC;EAElC,MAAMC,GAAG,GAAG,IAAIC,MAAM,CAACC,SAAS,CAAC,CAAC,CAACC,eAAe,CAAEL,IAAI,EAAE,WAAY,CAAC;EAEvE,MAAMM,SAAS,GAAGC,KAAK,CAACC,IAAI,CAC3BN,GAAG,CAACO,gBAAgB,CAAE,+BAAgC,CACvD,CAAC,CAACC,MAAM,CAAIC,KAAK,IAAMA,KAAK,CAACC,EAAE,IAAI,CAAElC,QAAQ,CAACmC,cAAc,CAAEF,KAAK,CAACC,EAAG,CAAE,CAAC;;EAE1E;AACD;AACA;AACA;EACC,KAAM,MAAME,QAAQ,IAAIR,SAAS,EAAG;IACnC,MAAMlC,SAAS,CAAE0C,QAAS,CAAC;EAC5B;AACD","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","downloadableBlocks","state","action","type","filterValue","isRequesting","results","exports","blockManagement","installedBlockTypes","isInstalling","item","filter","blockType","name","blockId","errorNotices","message","isFatal","restState","_default","default","combineReducers"],"sources":["@wordpress/block-directory/src/store/reducer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Reducer returning an array of downloadable blocks.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const downloadableBlocks = ( state = {}, action ) => {\n\tswitch ( action.type ) {\n\t\tcase 'FETCH_DOWNLOADABLE_BLOCKS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.filterValue ]: {\n\t\t\t\t\tisRequesting: true,\n\t\t\t\t},\n\t\t\t};\n\t\tcase 'RECEIVE_DOWNLOADABLE_BLOCKS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.filterValue ]: {\n\t\t\t\t\tresults: action.downloadableBlocks,\n\t\t\t\t\tisRequesting: false,\n\t\t\t\t},\n\t\t\t};\n\t}\n\treturn state;\n};\n\n/**\n * Reducer managing the installation and deletion of blocks.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const blockManagement = (\n\tstate = {\n\t\tinstalledBlockTypes: [],\n\t\tisInstalling: {},\n\t},\n\taction\n) => {\n\tswitch ( action.type ) {\n\t\tcase 'ADD_INSTALLED_BLOCK_TYPE':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tinstalledBlockTypes: [\n\t\t\t\t\t...state.installedBlockTypes,\n\t\t\t\t\taction.item,\n\t\t\t\t],\n\t\t\t};\n\t\tcase 'REMOVE_INSTALLED_BLOCK_TYPE':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tinstalledBlockTypes: state.installedBlockTypes.filter(\n\t\t\t\t\t( blockType ) => blockType.name !== action.item.name\n\t\t\t\t),\n\t\t\t};\n\t\tcase 'SET_INSTALLING_BLOCK':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisInstalling: {\n\t\t\t\t\t...state.isInstalling,\n\t\t\t\t\t[ action.blockId ]: action.isInstalling,\n\t\t\t\t},\n\t\t\t};\n\t}\n\treturn state;\n};\n\n/**\n * Reducer returning an object of error notices.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const errorNotices = ( state = {}, action ) => {\n\tswitch ( action.type ) {\n\t\tcase 'SET_ERROR_NOTICE':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.blockId ]: {\n\t\t\t\t\tmessage: action.message,\n\t\t\t\t\tisFatal: action.isFatal,\n\t\t\t\t},\n\t\t\t};\n\t\tcase 'CLEAR_ERROR_NOTICE':\n\t\t\tconst { [ action.blockId ]: blockId, ...restState } = state;\n\t\t\treturn restState;\n\t}\n\treturn state;\n};\n\nexport default combineReducers( {\n\tdownloadableBlocks,\n\tblockManagement,\n\terrorNotices,\n} );\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,kBAAkB,GAAGA,CAAEC,KAAK,GAAG,CAAC,CAAC,EAAEC,MAAM,KAAM;EAC3D,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,2BAA2B;MAC/B,OAAO;QACN,GAAGF,KAAK;QACR,CAAEC,MAAM,CAACE,WAAW,GAAI;UACvBC,YAAY,EAAE;QACf;MACD,CAAC;IACF,KAAK,6BAA6B;MACjC,OAAO;QACN,GAAGJ,KAAK;QACR,CAAEC,MAAM,CAACE,WAAW,GAAI;UACvBE,OAAO,EAAEJ,MAAM,CAACF,kBAAkB;UAClCK,YAAY,EAAE;QACf;MACD,CAAC;EACH;EACA,OAAOJ,KAAK;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAM,OAAA,CAAAP,kBAAA,GAAAA,kBAAA;AAQO,MAAMQ,eAAe,GAAGA,CAC9BP,KAAK,GAAG;EACPQ,mBAAmB,EAAE,EAAE;EACvBC,YAAY,EAAE,CAAC;AAChB,CAAC,EACDR,MAAM,KACF;EACJ,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,0BAA0B;MAC9B,OAAO;QACN,GAAGF,KAAK;QACRQ,mBAAmB,EAAE,CACpB,GAAGR,KAAK,CAACQ,mBAAmB,EAC5BP,MAAM,CAACS,IAAI;MAEb,CAAC;IACF,KAAK,6BAA6B;MACjC,OAAO;QACN,GAAGV,KAAK;QACRQ,mBAAmB,EAAER,KAAK,CAACQ,mBAAmB,CAACG,MAAM,CAClDC,SAAS,IAAMA,SAAS,CAACC,IAAI,KAAKZ,MAAM,CAACS,IAAI,CAACG,IACjD;MACD,CAAC;IACF,KAAK,sBAAsB;MAC1B,OAAO;QACN,GAAGb,KAAK;QACRS,YAAY,EAAE;UACb,GAAGT,KAAK,CAACS,YAAY;UACrB,CAAER,MAAM,CAACa,OAAO,GAAIb,MAAM,CAACQ;QAC5B;MACD,CAAC;EACH;EACA,OAAOT,KAAK;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAM,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAQO,MAAMQ,YAAY,GAAGA,CAAEf,KAAK,GAAG,CAAC,CAAC,EAAEC,MAAM,KAAM;EACrD,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,kBAAkB;MACtB,OAAO;QACN,GAAGF,KAAK;QACR,CAAEC,MAAM,CAACa,OAAO,GAAI;UACnBE,OAAO,EAAEf,MAAM,CAACe,OAAO;UACvBC,OAAO,EAAEhB,MAAM,CAACgB;QACjB;MACD,CAAC;IACF,KAAK,oBAAoB;MACxB,MAAM;QAAE,CAAEhB,MAAM,CAACa,OAAO,GAAIA,OAAO;QAAE,GAAGI;MAAU,CAAC,GAAGlB,KAAK;MAC3D,OAAOkB,SAAS;EAClB;EACA,OAAOlB,KAAK;AACb,CAAC;AAACM,OAAA,CAAAS,YAAA,GAAAA,YAAA;AAAA,IAAAI,QAAA,GAAAb,OAAA,CAAAc,OAAA,GAEa,IAAAC,qBAAe,EAAE;EAC/BtB,kBAAkB;EAClBQ,eAAe;EACfQ;AACD,CAAE,CAAC"}
|
|
1
|
+
{"version":3,"names":["_data","require","downloadableBlocks","state","action","type","filterValue","isRequesting","results","exports","blockManagement","installedBlockTypes","isInstalling","item","filter","blockType","name","blockId","errorNotices","message","isFatal","restState","_default","default","combineReducers"],"sources":["@wordpress/block-directory/src/store/reducer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Reducer returning an array of downloadable blocks.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const downloadableBlocks = ( state = {}, action ) => {\n\tswitch ( action.type ) {\n\t\tcase 'FETCH_DOWNLOADABLE_BLOCKS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.filterValue ]: {\n\t\t\t\t\tisRequesting: true,\n\t\t\t\t},\n\t\t\t};\n\t\tcase 'RECEIVE_DOWNLOADABLE_BLOCKS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.filterValue ]: {\n\t\t\t\t\tresults: action.downloadableBlocks,\n\t\t\t\t\tisRequesting: false,\n\t\t\t\t},\n\t\t\t};\n\t}\n\treturn state;\n};\n\n/**\n * Reducer managing the installation and deletion of blocks.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const blockManagement = (\n\tstate = {\n\t\tinstalledBlockTypes: [],\n\t\tisInstalling: {},\n\t},\n\taction\n) => {\n\tswitch ( action.type ) {\n\t\tcase 'ADD_INSTALLED_BLOCK_TYPE':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tinstalledBlockTypes: [\n\t\t\t\t\t...state.installedBlockTypes,\n\t\t\t\t\taction.item,\n\t\t\t\t],\n\t\t\t};\n\t\tcase 'REMOVE_INSTALLED_BLOCK_TYPE':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tinstalledBlockTypes: state.installedBlockTypes.filter(\n\t\t\t\t\t( blockType ) => blockType.name !== action.item.name\n\t\t\t\t),\n\t\t\t};\n\t\tcase 'SET_INSTALLING_BLOCK':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisInstalling: {\n\t\t\t\t\t...state.isInstalling,\n\t\t\t\t\t[ action.blockId ]: action.isInstalling,\n\t\t\t\t},\n\t\t\t};\n\t}\n\treturn state;\n};\n\n/**\n * Reducer returning an object of error notices.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const errorNotices = ( state = {}, action ) => {\n\tswitch ( action.type ) {\n\t\tcase 'SET_ERROR_NOTICE':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.blockId ]: {\n\t\t\t\t\tmessage: action.message,\n\t\t\t\t\tisFatal: action.isFatal,\n\t\t\t\t},\n\t\t\t};\n\t\tcase 'CLEAR_ERROR_NOTICE':\n\t\t\tconst { [ action.blockId ]: blockId, ...restState } = state;\n\t\t\treturn restState;\n\t}\n\treturn state;\n};\n\nexport default combineReducers( {\n\tdownloadableBlocks,\n\tblockManagement,\n\terrorNotices,\n} );\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,kBAAkB,GAAGA,CAAEC,KAAK,GAAG,CAAC,CAAC,EAAEC,MAAM,KAAM;EAC3D,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,2BAA2B;MAC/B,OAAO;QACN,GAAGF,KAAK;QACR,CAAEC,MAAM,CAACE,WAAW,GAAI;UACvBC,YAAY,EAAE;QACf;MACD,CAAC;IACF,KAAK,6BAA6B;MACjC,OAAO;QACN,GAAGJ,KAAK;QACR,CAAEC,MAAM,CAACE,WAAW,GAAI;UACvBE,OAAO,EAAEJ,MAAM,CAACF,kBAAkB;UAClCK,YAAY,EAAE;QACf;MACD,CAAC;EACH;EACA,OAAOJ,KAAK;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAM,OAAA,CAAAP,kBAAA,GAAAA,kBAAA;AAQO,MAAMQ,eAAe,GAAGA,CAC9BP,KAAK,GAAG;EACPQ,mBAAmB,EAAE,EAAE;EACvBC,YAAY,EAAE,CAAC;AAChB,CAAC,EACDR,MAAM,KACF;EACJ,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,0BAA0B;MAC9B,OAAO;QACN,GAAGF,KAAK;QACRQ,mBAAmB,EAAE,CACpB,GAAGR,KAAK,CAACQ,mBAAmB,EAC5BP,MAAM,CAACS,IAAI;MAEb,CAAC;IACF,KAAK,6BAA6B;MACjC,OAAO;QACN,GAAGV,KAAK;QACRQ,mBAAmB,EAAER,KAAK,CAACQ,mBAAmB,CAACG,MAAM,CAClDC,SAAS,IAAMA,SAAS,CAACC,IAAI,KAAKZ,MAAM,CAACS,IAAI,CAACG,IACjD;MACD,CAAC;IACF,KAAK,sBAAsB;MAC1B,OAAO;QACN,GAAGb,KAAK;QACRS,YAAY,EAAE;UACb,GAAGT,KAAK,CAACS,YAAY;UACrB,CAAER,MAAM,CAACa,OAAO,GAAIb,MAAM,CAACQ;QAC5B;MACD,CAAC;EACH;EACA,OAAOT,KAAK;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAM,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAQO,MAAMQ,YAAY,GAAGA,CAAEf,KAAK,GAAG,CAAC,CAAC,EAAEC,MAAM,KAAM;EACrD,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,kBAAkB;MACtB,OAAO;QACN,GAAGF,KAAK;QACR,CAAEC,MAAM,CAACa,OAAO,GAAI;UACnBE,OAAO,EAAEf,MAAM,CAACe,OAAO;UACvBC,OAAO,EAAEhB,MAAM,CAACgB;QACjB;MACD,CAAC;IACF,KAAK,oBAAoB;MACxB,MAAM;QAAE,CAAEhB,MAAM,CAACa,OAAO,GAAIA,OAAO;QAAE,GAAGI;MAAU,CAAC,GAAGlB,KAAK;MAC3D,OAAOkB,SAAS;EAClB;EACA,OAAOlB,KAAK;AACb,CAAC;AAACM,OAAA,CAAAS,YAAA,GAAAA,YAAA;AAAA,IAAAI,QAAA,GAAAb,OAAA,CAAAc,OAAA,GAEa,IAAAC,qBAAe,EAAE;EAC/BtB,kBAAkB;EAClBQ,eAAe;EACfQ;AACD,CAAE,CAAC","ignoreList":[]}
|