@wordpress/plugins 4.5.0 → 4.8.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 +6 -0
- package/README.md +1 -1
- package/build/api/index.js +3 -3
- package/build/api/index.js.map +1 -1
- package/build-module/api/index.js +3 -3
- package/build-module/api/index.js.map +1 -1
- package/package.json +6 -6
- package/src/api/index.js +3 -3
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -142,7 +142,7 @@ registerPlugin( 'plugin-name', {
|
|
|
142
142
|
_Parameters_
|
|
143
143
|
|
|
144
144
|
- _name_ `string`: A string identifying the plugin.Must be unique across all registered plugins.
|
|
145
|
-
- _settings_ `WPPlugin
|
|
145
|
+
- _settings_ `Omit<WPPlugin, 'name'>`: The settings for this plugin.
|
|
146
146
|
|
|
147
147
|
_Returns_
|
|
148
148
|
|
package/build/api/index.js
CHANGED
|
@@ -50,9 +50,9 @@ const plugins = {};
|
|
|
50
50
|
/**
|
|
51
51
|
* Registers a plugin to the editor.
|
|
52
52
|
*
|
|
53
|
-
* @param {string}
|
|
54
|
-
*
|
|
55
|
-
* @param {WPPlugin} settings The settings for this plugin.
|
|
53
|
+
* @param {string} name A string identifying the plugin.Must be
|
|
54
|
+
* unique across all registered plugins.
|
|
55
|
+
* @param {Omit<WPPlugin, 'name'>} settings The settings for this plugin.
|
|
56
56
|
*
|
|
57
57
|
* @example
|
|
58
58
|
* ```js
|
package/build/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/plugins/src/api/index.js"],"names":["plugins","registerPlugin","name","settings","console","error","test","render","scope","icon","pluginsIcon","unregisterPlugin","oldPlugin","getPlugin","getPlugins","Object","values","filter","plugin"],"mappings":";;;;;;;;;;AAKA;;AACA;;AAKA;;AAXA;;AAEA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAMA,OAAO,GAAG,EAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASC,cAAT,CAAyBC,IAAzB,EAA+BC,QAA/B,EAA0C;AAChD,MAAK,OAAOA,QAAP,KAAoB,QAAzB,EAAoC;AACnCC,IAAAA,OAAO,CAACC,KAAR,CAAe,8BAAf;AACA,WAAO,IAAP;AACA;;AACD,MAAK,OAAOH,IAAP,KAAgB,QAArB,EAAgC;AAC/BE,IAAAA,OAAO,CAACC,KAAR,CAAe,6BAAf;AACA,WAAO,IAAP;AACA;;AACD,MAAK,CAAE,oBAAoBC,IAApB,CAA0BJ,IAA1B,CAAP,EAA0C;AACzCE,IAAAA,OAAO,CAACC,KAAR,CACC,2HADD;AAGA,WAAO,IAAP;AACA;;AACD,MAAKL,OAAO,CAAEE,IAAF,CAAZ,EAAuB;AACtBE,IAAAA,OAAO,CAACC,KAAR,CAAgB,WAAWH,IAAM,0BAAjC;AACA;;AAEDC,EAAAA,QAAQ,GAAG,yBAAc,wBAAd,EAAwCA,QAAxC,EAAkDD,IAAlD,CAAX;AAEA,QAAM;AAAEK,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAoBL,QAA1B;;AAEA,MAAK,CAAE,wBAAYI,MAAZ,CAAP,EAA8B;AAC7BH,IAAAA,OAAO,CAACC,KAAR,CACC,uEADD;AAGA,WAAO,IAAP;AACA;;AAED,MAAKG,KAAL,EAAa;AACZ,QAAK,OAAOA,KAAP,KAAiB,QAAtB,EAAiC;AAChCJ,MAAAA,OAAO,CAACC,KAAR,CAAe,8BAAf;AACA,aAAO,IAAP;AACA;;AAED,QAAK,CAAE,oBAAoBC,IAApB,CAA0BE,KAA1B,CAAP,EAA2C;AAC1CJ,MAAAA,OAAO,CAACC,KAAR,CACC,0HADD;AAGA,aAAO,IAAP;AACA;AACD;;AAEDL,EAAAA,OAAO,CAAEE,IAAF,CAAP,GAAkB;AACjBA,IAAAA,IADiB;AAEjBO,IAAAA,IAAI,EAAEC,cAFW;AAGjB,OAAGP;AAHc,GAAlB;AAMA,uBAAU,0BAAV,EAAsCA,QAAtC,EAAgDD,IAAhD;AAEA,SAAOC,QAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASQ,gBAAT,CAA2BT,IAA3B,EAAkC;AACxC,MAAK,CAAEF,OAAO,CAAEE,IAAF,CAAd,EAAyB;AACxBE,IAAAA,OAAO,CAACC,KAAR,CAAe,aAAaH,IAAb,GAAoB,sBAAnC;AACA;AACA;;AACD,QAAMU,SAAS,GAAGZ,OAAO,CAAEE,IAAF,CAAzB;AACA,SAAOF,OAAO,CAAEE,IAAF,CAAd;AAEA,uBAAU,4BAAV,EAAwCU,SAAxC,EAAmDV,IAAnD;AAEA,SAAOU,SAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,SAAT,CAAoBX,IAApB,EAA2B;AACjC,SAAOF,OAAO,CAAEE,IAAF,CAAd;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASY,UAAT,CAAqBN,KAArB,EAA6B;AACnC,SAAOO,MAAM,CAACC,MAAP,CAAehB,OAAf,EAAyBiB,MAAzB,CACJC,MAAF,IAAcA,MAAM,CAACV,KAAP,KAAiBA,KADzB,CAAP;AAGA","sourcesContent":["/* eslint no-console: [ 'error', { allow: [ 'error' ] } ] */\n\n/**\n * WordPress dependencies\n */\nimport { applyFilters, doAction } from '@wordpress/hooks';\nimport { plugins as pluginsIcon } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport { isFunction } from 'lodash';\n\n/**\n * Defined behavior of a plugin type.\n *\n * @typedef {Object} WPPlugin\n *\n * @property {string} name A string identifying the plugin. Must be\n * unique across all registered plugins.\n * @property {string|WPElement|Function} [icon] An icon to be shown in the UI. It can\n * be a slug of the Dashicon, or an element\n * (or function returning an element) if you\n * choose to render your own SVG.\n * @property {Function} render A component containing the UI elements\n * to be rendered.\n * @property {string} [scope] The optional scope to be used when rendering inside\n * a plugin area. No scope by default.\n */\n\n/**\n * Plugin definitions keyed by plugin name.\n *\n * @type {Object.<string,WPPlugin>}\n */\nconst plugins = {};\n\n/**\n * Registers a plugin to the editor.\n *\n * @param {string}
|
|
1
|
+
{"version":3,"sources":["@wordpress/plugins/src/api/index.js"],"names":["plugins","registerPlugin","name","settings","console","error","test","render","scope","icon","pluginsIcon","unregisterPlugin","oldPlugin","getPlugin","getPlugins","Object","values","filter","plugin"],"mappings":";;;;;;;;;;AAKA;;AACA;;AAKA;;AAXA;;AAEA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAMA,OAAO,GAAG,EAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASC,cAAT,CAAyBC,IAAzB,EAA+BC,QAA/B,EAA0C;AAChD,MAAK,OAAOA,QAAP,KAAoB,QAAzB,EAAoC;AACnCC,IAAAA,OAAO,CAACC,KAAR,CAAe,8BAAf;AACA,WAAO,IAAP;AACA;;AACD,MAAK,OAAOH,IAAP,KAAgB,QAArB,EAAgC;AAC/BE,IAAAA,OAAO,CAACC,KAAR,CAAe,6BAAf;AACA,WAAO,IAAP;AACA;;AACD,MAAK,CAAE,oBAAoBC,IAApB,CAA0BJ,IAA1B,CAAP,EAA0C;AACzCE,IAAAA,OAAO,CAACC,KAAR,CACC,2HADD;AAGA,WAAO,IAAP;AACA;;AACD,MAAKL,OAAO,CAAEE,IAAF,CAAZ,EAAuB;AACtBE,IAAAA,OAAO,CAACC,KAAR,CAAgB,WAAWH,IAAM,0BAAjC;AACA;;AAEDC,EAAAA,QAAQ,GAAG,yBAAc,wBAAd,EAAwCA,QAAxC,EAAkDD,IAAlD,CAAX;AAEA,QAAM;AAAEK,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAoBL,QAA1B;;AAEA,MAAK,CAAE,wBAAYI,MAAZ,CAAP,EAA8B;AAC7BH,IAAAA,OAAO,CAACC,KAAR,CACC,uEADD;AAGA,WAAO,IAAP;AACA;;AAED,MAAKG,KAAL,EAAa;AACZ,QAAK,OAAOA,KAAP,KAAiB,QAAtB,EAAiC;AAChCJ,MAAAA,OAAO,CAACC,KAAR,CAAe,8BAAf;AACA,aAAO,IAAP;AACA;;AAED,QAAK,CAAE,oBAAoBC,IAApB,CAA0BE,KAA1B,CAAP,EAA2C;AAC1CJ,MAAAA,OAAO,CAACC,KAAR,CACC,0HADD;AAGA,aAAO,IAAP;AACA;AACD;;AAEDL,EAAAA,OAAO,CAAEE,IAAF,CAAP,GAAkB;AACjBA,IAAAA,IADiB;AAEjBO,IAAAA,IAAI,EAAEC,cAFW;AAGjB,OAAGP;AAHc,GAAlB;AAMA,uBAAU,0BAAV,EAAsCA,QAAtC,EAAgDD,IAAhD;AAEA,SAAOC,QAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASQ,gBAAT,CAA2BT,IAA3B,EAAkC;AACxC,MAAK,CAAEF,OAAO,CAAEE,IAAF,CAAd,EAAyB;AACxBE,IAAAA,OAAO,CAACC,KAAR,CAAe,aAAaH,IAAb,GAAoB,sBAAnC;AACA;AACA;;AACD,QAAMU,SAAS,GAAGZ,OAAO,CAAEE,IAAF,CAAzB;AACA,SAAOF,OAAO,CAAEE,IAAF,CAAd;AAEA,uBAAU,4BAAV,EAAwCU,SAAxC,EAAmDV,IAAnD;AAEA,SAAOU,SAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,SAAT,CAAoBX,IAApB,EAA2B;AACjC,SAAOF,OAAO,CAAEE,IAAF,CAAd;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASY,UAAT,CAAqBN,KAArB,EAA6B;AACnC,SAAOO,MAAM,CAACC,MAAP,CAAehB,OAAf,EAAyBiB,MAAzB,CACJC,MAAF,IAAcA,MAAM,CAACV,KAAP,KAAiBA,KADzB,CAAP;AAGA","sourcesContent":["/* eslint no-console: [ 'error', { allow: [ 'error' ] } ] */\n\n/**\n * WordPress dependencies\n */\nimport { applyFilters, doAction } from '@wordpress/hooks';\nimport { plugins as pluginsIcon } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport { isFunction } from 'lodash';\n\n/**\n * Defined behavior of a plugin type.\n *\n * @typedef {Object} WPPlugin\n *\n * @property {string} name A string identifying the plugin. Must be\n * unique across all registered plugins.\n * @property {string|WPElement|Function} [icon] An icon to be shown in the UI. It can\n * be a slug of the Dashicon, or an element\n * (or function returning an element) if you\n * choose to render your own SVG.\n * @property {Function} render A component containing the UI elements\n * to be rendered.\n * @property {string} [scope] The optional scope to be used when rendering inside\n * a plugin area. No scope by default.\n */\n\n/**\n * Plugin definitions keyed by plugin name.\n *\n * @type {Object.<string,WPPlugin>}\n */\nconst plugins = {};\n\n/**\n * Registers a plugin to the editor.\n *\n * @param {string} name A string identifying the plugin.Must be\n * unique across all registered plugins.\n * @param {Omit<WPPlugin, 'name'>} settings The settings for this plugin.\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var el = wp.element.createElement;\n * var Fragment = wp.element.Fragment;\n * var PluginSidebar = wp.editPost.PluginSidebar;\n * var PluginSidebarMoreMenuItem = wp.editPost.PluginSidebarMoreMenuItem;\n * var registerPlugin = wp.plugins.registerPlugin;\n * var moreIcon = wp.element.createElement( 'svg' ); //... svg element.\n *\n * function Component() {\n * \treturn el(\n * \t\tFragment,\n * \t\t{},\n * \t\tel(\n * \t\t\tPluginSidebarMoreMenuItem,\n * \t\t\t{\n * \t\t\t\ttarget: 'sidebar-name',\n * \t\t\t},\n * \t\t\t'My Sidebar'\n * \t\t),\n * \t\tel(\n * \t\t\tPluginSidebar,\n * \t\t\t{\n * \t\t\t\tname: 'sidebar-name',\n * \t\t\t\ttitle: 'My Sidebar',\n * \t\t\t},\n * \t\t\t'Content of the sidebar'\n * \t\t)\n * \t);\n * }\n * registerPlugin( 'plugin-name', {\n * \ticon: moreIcon,\n * \trender: Component,\n * \tscope: 'my-page',\n * } );\n * ```\n *\n * @example\n * ```js\n * // Using ESNext syntax\n * import { PluginSidebar, PluginSidebarMoreMenuItem } from '@wordpress/edit-post';\n * import { registerPlugin } from '@wordpress/plugins';\n * import { more } from '@wordpress/icons';\n *\n * const Component = () => (\n * \t<>\n * \t\t<PluginSidebarMoreMenuItem\n * \t\t\ttarget=\"sidebar-name\"\n * \t\t>\n * \t\t\tMy Sidebar\n * \t\t</PluginSidebarMoreMenuItem>\n * \t\t<PluginSidebar\n * \t\t\tname=\"sidebar-name\"\n * \t\t\ttitle=\"My Sidebar\"\n * \t\t>\n * \t\t\tContent of the sidebar\n * \t\t</PluginSidebar>\n * \t</>\n * );\n *\n * registerPlugin( 'plugin-name', {\n * \ticon: more,\n * \trender: Component,\n * \tscope: 'my-page',\n * } );\n * ```\n *\n * @return {WPPlugin} The final plugin settings object.\n */\nexport function registerPlugin( name, settings ) {\n\tif ( typeof settings !== 'object' ) {\n\t\tconsole.error( 'No settings object provided!' );\n\t\treturn null;\n\t}\n\tif ( typeof name !== 'string' ) {\n\t\tconsole.error( 'Plugin name must be string.' );\n\t\treturn null;\n\t}\n\tif ( ! /^[a-z][a-z0-9-]*$/.test( name ) ) {\n\t\tconsole.error(\n\t\t\t'Plugin name must include only lowercase alphanumeric characters or dashes, and start with a letter. Example: \"my-plugin\".'\n\t\t);\n\t\treturn null;\n\t}\n\tif ( plugins[ name ] ) {\n\t\tconsole.error( `Plugin \"${ name }\" is already registered.` );\n\t}\n\n\tsettings = applyFilters( 'plugins.registerPlugin', settings, name );\n\n\tconst { render, scope } = settings;\n\n\tif ( ! isFunction( render ) ) {\n\t\tconsole.error(\n\t\t\t'The \"render\" property must be specified and must be a valid function.'\n\t\t);\n\t\treturn null;\n\t}\n\n\tif ( scope ) {\n\t\tif ( typeof scope !== 'string' ) {\n\t\t\tconsole.error( 'Plugin scope must be string.' );\n\t\t\treturn null;\n\t\t}\n\n\t\tif ( ! /^[a-z][a-z0-9-]*$/.test( scope ) ) {\n\t\t\tconsole.error(\n\t\t\t\t'Plugin scope must include only lowercase alphanumeric characters or dashes, and start with a letter. Example: \"my-page\".'\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tplugins[ name ] = {\n\t\tname,\n\t\ticon: pluginsIcon,\n\t\t...settings,\n\t};\n\n\tdoAction( 'plugins.pluginRegistered', settings, name );\n\n\treturn settings;\n}\n\n/**\n * Unregisters a plugin by name.\n *\n * @param {string} name Plugin name.\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var unregisterPlugin = wp.plugins.unregisterPlugin;\n *\n * unregisterPlugin( 'plugin-name' );\n * ```\n *\n * @example\n * ```js\n * // Using ESNext syntax\n * import { unregisterPlugin } from '@wordpress/plugins';\n *\n * unregisterPlugin( 'plugin-name' );\n * ```\n *\n * @return {?WPPlugin} The previous plugin settings object, if it has been\n * successfully unregistered; otherwise `undefined`.\n */\nexport function unregisterPlugin( name ) {\n\tif ( ! plugins[ name ] ) {\n\t\tconsole.error( 'Plugin \"' + name + '\" is not registered.' );\n\t\treturn;\n\t}\n\tconst oldPlugin = plugins[ name ];\n\tdelete plugins[ name ];\n\n\tdoAction( 'plugins.pluginUnregistered', oldPlugin, name );\n\n\treturn oldPlugin;\n}\n\n/**\n * Returns a registered plugin settings.\n *\n * @param {string} name Plugin name.\n *\n * @return {?WPPlugin} Plugin setting.\n */\nexport function getPlugin( name ) {\n\treturn plugins[ name ];\n}\n\n/**\n * Returns all registered plugins without a scope or for a given scope.\n *\n * @param {string} [scope] The scope to be used when rendering inside\n * a plugin area. No scope by default.\n *\n * @return {WPPlugin[]} The list of plugins without a scope or for a given scope.\n */\nexport function getPlugins( scope ) {\n\treturn Object.values( plugins ).filter(\n\t\t( plugin ) => plugin.scope === scope\n\t);\n}\n"]}
|
|
@@ -37,9 +37,9 @@ const plugins = {};
|
|
|
37
37
|
/**
|
|
38
38
|
* Registers a plugin to the editor.
|
|
39
39
|
*
|
|
40
|
-
* @param {string}
|
|
41
|
-
*
|
|
42
|
-
* @param {WPPlugin} settings The settings for this plugin.
|
|
40
|
+
* @param {string} name A string identifying the plugin.Must be
|
|
41
|
+
* unique across all registered plugins.
|
|
42
|
+
* @param {Omit<WPPlugin, 'name'>} settings The settings for this plugin.
|
|
43
43
|
*
|
|
44
44
|
* @example
|
|
45
45
|
* ```js
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/plugins/src/api/index.js"],"names":["applyFilters","doAction","plugins","pluginsIcon","isFunction","registerPlugin","name","settings","console","error","test","render","scope","icon","unregisterPlugin","oldPlugin","getPlugin","getPlugins","Object","values","filter","plugin"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA,SAASA,YAAT,EAAuBC,QAAvB,QAAuC,kBAAvC;AACA,SAASC,OAAO,IAAIC,WAApB,QAAuC,kBAAvC;AAEA;AACA;AACA;;AACA,SAASC,UAAT,QAA2B,QAA3B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AACA,MAAMF,OAAO,GAAG,EAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASG,cAAT,CAAyBC,IAAzB,EAA+BC,QAA/B,EAA0C;AAChD,MAAK,OAAOA,QAAP,KAAoB,QAAzB,EAAoC;AACnCC,IAAAA,OAAO,CAACC,KAAR,CAAe,8BAAf;AACA,WAAO,IAAP;AACA;;AACD,MAAK,OAAOH,IAAP,KAAgB,QAArB,EAAgC;AAC/BE,IAAAA,OAAO,CAACC,KAAR,CAAe,6BAAf;AACA,WAAO,IAAP;AACA;;AACD,MAAK,CAAE,oBAAoBC,IAApB,CAA0BJ,IAA1B,CAAP,EAA0C;AACzCE,IAAAA,OAAO,CAACC,KAAR,CACC,2HADD;AAGA,WAAO,IAAP;AACA;;AACD,MAAKP,OAAO,CAAEI,IAAF,CAAZ,EAAuB;AACtBE,IAAAA,OAAO,CAACC,KAAR,CAAgB,WAAWH,IAAM,0BAAjC;AACA;;AAEDC,EAAAA,QAAQ,GAAGP,YAAY,CAAE,wBAAF,EAA4BO,QAA5B,EAAsCD,IAAtC,CAAvB;AAEA,QAAM;AAAEK,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAoBL,QAA1B;;AAEA,MAAK,CAAEH,UAAU,CAAEO,MAAF,CAAjB,EAA8B;AAC7BH,IAAAA,OAAO,CAACC,KAAR,CACC,uEADD;AAGA,WAAO,IAAP;AACA;;AAED,MAAKG,KAAL,EAAa;AACZ,QAAK,OAAOA,KAAP,KAAiB,QAAtB,EAAiC;AAChCJ,MAAAA,OAAO,CAACC,KAAR,CAAe,8BAAf;AACA,aAAO,IAAP;AACA;;AAED,QAAK,CAAE,oBAAoBC,IAApB,CAA0BE,KAA1B,CAAP,EAA2C;AAC1CJ,MAAAA,OAAO,CAACC,KAAR,CACC,0HADD;AAGA,aAAO,IAAP;AACA;AACD;;AAEDP,EAAAA,OAAO,CAAEI,IAAF,CAAP,GAAkB;AACjBA,IAAAA,IADiB;AAEjBO,IAAAA,IAAI,EAAEV,WAFW;AAGjB,OAAGI;AAHc,GAAlB;AAMAN,EAAAA,QAAQ,CAAE,0BAAF,EAA8BM,QAA9B,EAAwCD,IAAxC,CAAR;AAEA,SAAOC,QAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASO,gBAAT,CAA2BR,IAA3B,EAAkC;AACxC,MAAK,CAAEJ,OAAO,CAAEI,IAAF,CAAd,EAAyB;AACxBE,IAAAA,OAAO,CAACC,KAAR,CAAe,aAAaH,IAAb,GAAoB,sBAAnC;AACA;AACA;;AACD,QAAMS,SAAS,GAAGb,OAAO,CAAEI,IAAF,CAAzB;AACA,SAAOJ,OAAO,CAAEI,IAAF,CAAd;AAEAL,EAAAA,QAAQ,CAAE,4BAAF,EAAgCc,SAAhC,EAA2CT,IAA3C,CAAR;AAEA,SAAOS,SAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,SAAT,CAAoBV,IAApB,EAA2B;AACjC,SAAOJ,OAAO,CAAEI,IAAF,CAAd;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASW,UAAT,CAAqBL,KAArB,EAA6B;AACnC,SAAOM,MAAM,CAACC,MAAP,CAAejB,OAAf,EAAyBkB,MAAzB,CACJC,MAAF,IAAcA,MAAM,CAACT,KAAP,KAAiBA,KADzB,CAAP;AAGA","sourcesContent":["/* eslint no-console: [ 'error', { allow: [ 'error' ] } ] */\n\n/**\n * WordPress dependencies\n */\nimport { applyFilters, doAction } from '@wordpress/hooks';\nimport { plugins as pluginsIcon } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport { isFunction } from 'lodash';\n\n/**\n * Defined behavior of a plugin type.\n *\n * @typedef {Object} WPPlugin\n *\n * @property {string} name A string identifying the plugin. Must be\n * unique across all registered plugins.\n * @property {string|WPElement|Function} [icon] An icon to be shown in the UI. It can\n * be a slug of the Dashicon, or an element\n * (or function returning an element) if you\n * choose to render your own SVG.\n * @property {Function} render A component containing the UI elements\n * to be rendered.\n * @property {string} [scope] The optional scope to be used when rendering inside\n * a plugin area. No scope by default.\n */\n\n/**\n * Plugin definitions keyed by plugin name.\n *\n * @type {Object.<string,WPPlugin>}\n */\nconst plugins = {};\n\n/**\n * Registers a plugin to the editor.\n *\n * @param {string}
|
|
1
|
+
{"version":3,"sources":["@wordpress/plugins/src/api/index.js"],"names":["applyFilters","doAction","plugins","pluginsIcon","isFunction","registerPlugin","name","settings","console","error","test","render","scope","icon","unregisterPlugin","oldPlugin","getPlugin","getPlugins","Object","values","filter","plugin"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA,SAASA,YAAT,EAAuBC,QAAvB,QAAuC,kBAAvC;AACA,SAASC,OAAO,IAAIC,WAApB,QAAuC,kBAAvC;AAEA;AACA;AACA;;AACA,SAASC,UAAT,QAA2B,QAA3B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AACA,MAAMF,OAAO,GAAG,EAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASG,cAAT,CAAyBC,IAAzB,EAA+BC,QAA/B,EAA0C;AAChD,MAAK,OAAOA,QAAP,KAAoB,QAAzB,EAAoC;AACnCC,IAAAA,OAAO,CAACC,KAAR,CAAe,8BAAf;AACA,WAAO,IAAP;AACA;;AACD,MAAK,OAAOH,IAAP,KAAgB,QAArB,EAAgC;AAC/BE,IAAAA,OAAO,CAACC,KAAR,CAAe,6BAAf;AACA,WAAO,IAAP;AACA;;AACD,MAAK,CAAE,oBAAoBC,IAApB,CAA0BJ,IAA1B,CAAP,EAA0C;AACzCE,IAAAA,OAAO,CAACC,KAAR,CACC,2HADD;AAGA,WAAO,IAAP;AACA;;AACD,MAAKP,OAAO,CAAEI,IAAF,CAAZ,EAAuB;AACtBE,IAAAA,OAAO,CAACC,KAAR,CAAgB,WAAWH,IAAM,0BAAjC;AACA;;AAEDC,EAAAA,QAAQ,GAAGP,YAAY,CAAE,wBAAF,EAA4BO,QAA5B,EAAsCD,IAAtC,CAAvB;AAEA,QAAM;AAAEK,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAoBL,QAA1B;;AAEA,MAAK,CAAEH,UAAU,CAAEO,MAAF,CAAjB,EAA8B;AAC7BH,IAAAA,OAAO,CAACC,KAAR,CACC,uEADD;AAGA,WAAO,IAAP;AACA;;AAED,MAAKG,KAAL,EAAa;AACZ,QAAK,OAAOA,KAAP,KAAiB,QAAtB,EAAiC;AAChCJ,MAAAA,OAAO,CAACC,KAAR,CAAe,8BAAf;AACA,aAAO,IAAP;AACA;;AAED,QAAK,CAAE,oBAAoBC,IAApB,CAA0BE,KAA1B,CAAP,EAA2C;AAC1CJ,MAAAA,OAAO,CAACC,KAAR,CACC,0HADD;AAGA,aAAO,IAAP;AACA;AACD;;AAEDP,EAAAA,OAAO,CAAEI,IAAF,CAAP,GAAkB;AACjBA,IAAAA,IADiB;AAEjBO,IAAAA,IAAI,EAAEV,WAFW;AAGjB,OAAGI;AAHc,GAAlB;AAMAN,EAAAA,QAAQ,CAAE,0BAAF,EAA8BM,QAA9B,EAAwCD,IAAxC,CAAR;AAEA,SAAOC,QAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASO,gBAAT,CAA2BR,IAA3B,EAAkC;AACxC,MAAK,CAAEJ,OAAO,CAAEI,IAAF,CAAd,EAAyB;AACxBE,IAAAA,OAAO,CAACC,KAAR,CAAe,aAAaH,IAAb,GAAoB,sBAAnC;AACA;AACA;;AACD,QAAMS,SAAS,GAAGb,OAAO,CAAEI,IAAF,CAAzB;AACA,SAAOJ,OAAO,CAAEI,IAAF,CAAd;AAEAL,EAAAA,QAAQ,CAAE,4BAAF,EAAgCc,SAAhC,EAA2CT,IAA3C,CAAR;AAEA,SAAOS,SAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,SAAT,CAAoBV,IAApB,EAA2B;AACjC,SAAOJ,OAAO,CAAEI,IAAF,CAAd;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASW,UAAT,CAAqBL,KAArB,EAA6B;AACnC,SAAOM,MAAM,CAACC,MAAP,CAAejB,OAAf,EAAyBkB,MAAzB,CACJC,MAAF,IAAcA,MAAM,CAACT,KAAP,KAAiBA,KADzB,CAAP;AAGA","sourcesContent":["/* eslint no-console: [ 'error', { allow: [ 'error' ] } ] */\n\n/**\n * WordPress dependencies\n */\nimport { applyFilters, doAction } from '@wordpress/hooks';\nimport { plugins as pluginsIcon } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport { isFunction } from 'lodash';\n\n/**\n * Defined behavior of a plugin type.\n *\n * @typedef {Object} WPPlugin\n *\n * @property {string} name A string identifying the plugin. Must be\n * unique across all registered plugins.\n * @property {string|WPElement|Function} [icon] An icon to be shown in the UI. It can\n * be a slug of the Dashicon, or an element\n * (or function returning an element) if you\n * choose to render your own SVG.\n * @property {Function} render A component containing the UI elements\n * to be rendered.\n * @property {string} [scope] The optional scope to be used when rendering inside\n * a plugin area. No scope by default.\n */\n\n/**\n * Plugin definitions keyed by plugin name.\n *\n * @type {Object.<string,WPPlugin>}\n */\nconst plugins = {};\n\n/**\n * Registers a plugin to the editor.\n *\n * @param {string} name A string identifying the plugin.Must be\n * unique across all registered plugins.\n * @param {Omit<WPPlugin, 'name'>} settings The settings for this plugin.\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var el = wp.element.createElement;\n * var Fragment = wp.element.Fragment;\n * var PluginSidebar = wp.editPost.PluginSidebar;\n * var PluginSidebarMoreMenuItem = wp.editPost.PluginSidebarMoreMenuItem;\n * var registerPlugin = wp.plugins.registerPlugin;\n * var moreIcon = wp.element.createElement( 'svg' ); //... svg element.\n *\n * function Component() {\n * \treturn el(\n * \t\tFragment,\n * \t\t{},\n * \t\tel(\n * \t\t\tPluginSidebarMoreMenuItem,\n * \t\t\t{\n * \t\t\t\ttarget: 'sidebar-name',\n * \t\t\t},\n * \t\t\t'My Sidebar'\n * \t\t),\n * \t\tel(\n * \t\t\tPluginSidebar,\n * \t\t\t{\n * \t\t\t\tname: 'sidebar-name',\n * \t\t\t\ttitle: 'My Sidebar',\n * \t\t\t},\n * \t\t\t'Content of the sidebar'\n * \t\t)\n * \t);\n * }\n * registerPlugin( 'plugin-name', {\n * \ticon: moreIcon,\n * \trender: Component,\n * \tscope: 'my-page',\n * } );\n * ```\n *\n * @example\n * ```js\n * // Using ESNext syntax\n * import { PluginSidebar, PluginSidebarMoreMenuItem } from '@wordpress/edit-post';\n * import { registerPlugin } from '@wordpress/plugins';\n * import { more } from '@wordpress/icons';\n *\n * const Component = () => (\n * \t<>\n * \t\t<PluginSidebarMoreMenuItem\n * \t\t\ttarget=\"sidebar-name\"\n * \t\t>\n * \t\t\tMy Sidebar\n * \t\t</PluginSidebarMoreMenuItem>\n * \t\t<PluginSidebar\n * \t\t\tname=\"sidebar-name\"\n * \t\t\ttitle=\"My Sidebar\"\n * \t\t>\n * \t\t\tContent of the sidebar\n * \t\t</PluginSidebar>\n * \t</>\n * );\n *\n * registerPlugin( 'plugin-name', {\n * \ticon: more,\n * \trender: Component,\n * \tscope: 'my-page',\n * } );\n * ```\n *\n * @return {WPPlugin} The final plugin settings object.\n */\nexport function registerPlugin( name, settings ) {\n\tif ( typeof settings !== 'object' ) {\n\t\tconsole.error( 'No settings object provided!' );\n\t\treturn null;\n\t}\n\tif ( typeof name !== 'string' ) {\n\t\tconsole.error( 'Plugin name must be string.' );\n\t\treturn null;\n\t}\n\tif ( ! /^[a-z][a-z0-9-]*$/.test( name ) ) {\n\t\tconsole.error(\n\t\t\t'Plugin name must include only lowercase alphanumeric characters or dashes, and start with a letter. Example: \"my-plugin\".'\n\t\t);\n\t\treturn null;\n\t}\n\tif ( plugins[ name ] ) {\n\t\tconsole.error( `Plugin \"${ name }\" is already registered.` );\n\t}\n\n\tsettings = applyFilters( 'plugins.registerPlugin', settings, name );\n\n\tconst { render, scope } = settings;\n\n\tif ( ! isFunction( render ) ) {\n\t\tconsole.error(\n\t\t\t'The \"render\" property must be specified and must be a valid function.'\n\t\t);\n\t\treturn null;\n\t}\n\n\tif ( scope ) {\n\t\tif ( typeof scope !== 'string' ) {\n\t\t\tconsole.error( 'Plugin scope must be string.' );\n\t\t\treturn null;\n\t\t}\n\n\t\tif ( ! /^[a-z][a-z0-9-]*$/.test( scope ) ) {\n\t\t\tconsole.error(\n\t\t\t\t'Plugin scope must include only lowercase alphanumeric characters or dashes, and start with a letter. Example: \"my-page\".'\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tplugins[ name ] = {\n\t\tname,\n\t\ticon: pluginsIcon,\n\t\t...settings,\n\t};\n\n\tdoAction( 'plugins.pluginRegistered', settings, name );\n\n\treturn settings;\n}\n\n/**\n * Unregisters a plugin by name.\n *\n * @param {string} name Plugin name.\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var unregisterPlugin = wp.plugins.unregisterPlugin;\n *\n * unregisterPlugin( 'plugin-name' );\n * ```\n *\n * @example\n * ```js\n * // Using ESNext syntax\n * import { unregisterPlugin } from '@wordpress/plugins';\n *\n * unregisterPlugin( 'plugin-name' );\n * ```\n *\n * @return {?WPPlugin} The previous plugin settings object, if it has been\n * successfully unregistered; otherwise `undefined`.\n */\nexport function unregisterPlugin( name ) {\n\tif ( ! plugins[ name ] ) {\n\t\tconsole.error( 'Plugin \"' + name + '\" is not registered.' );\n\t\treturn;\n\t}\n\tconst oldPlugin = plugins[ name ];\n\tdelete plugins[ name ];\n\n\tdoAction( 'plugins.pluginUnregistered', oldPlugin, name );\n\n\treturn oldPlugin;\n}\n\n/**\n * Returns a registered plugin settings.\n *\n * @param {string} name Plugin name.\n *\n * @return {?WPPlugin} Plugin setting.\n */\nexport function getPlugin( name ) {\n\treturn plugins[ name ];\n}\n\n/**\n * Returns all registered plugins without a scope or for a given scope.\n *\n * @param {string} [scope] The scope to be used when rendering inside\n * a plugin area. No scope by default.\n *\n * @return {WPPlugin[]} The list of plugins without a scope or for a given scope.\n */\nexport function getPlugins( scope ) {\n\treturn Object.values( plugins ).filter(\n\t\t( plugin ) => plugin.scope === scope\n\t);\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/plugins",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.8.0",
|
|
4
4
|
"description": "Plugins module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
"react-native": "src/index",
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@babel/runtime": "^7.16.0",
|
|
29
|
-
"@wordpress/compose": "^5.
|
|
30
|
-
"@wordpress/element": "^4.
|
|
31
|
-
"@wordpress/hooks": "^3.
|
|
32
|
-
"@wordpress/icons": "^
|
|
29
|
+
"@wordpress/compose": "^5.8.0",
|
|
30
|
+
"@wordpress/element": "^4.8.0",
|
|
31
|
+
"@wordpress/hooks": "^3.10.0",
|
|
32
|
+
"@wordpress/icons": "^9.1.0",
|
|
33
33
|
"lodash": "^4.17.21",
|
|
34
34
|
"memize": "^1.1.0"
|
|
35
35
|
},
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"publishConfig": {
|
|
40
40
|
"access": "public"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "a3e0b62091e8a8bdf5e2518e42d60d7098af48cc"
|
|
43
43
|
}
|
package/src/api/index.js
CHANGED
|
@@ -38,9 +38,9 @@ const plugins = {};
|
|
|
38
38
|
/**
|
|
39
39
|
* Registers a plugin to the editor.
|
|
40
40
|
*
|
|
41
|
-
* @param {string}
|
|
42
|
-
*
|
|
43
|
-
* @param {WPPlugin} settings The settings for this plugin.
|
|
41
|
+
* @param {string} name A string identifying the plugin.Must be
|
|
42
|
+
* unique across all registered plugins.
|
|
43
|
+
* @param {Omit<WPPlugin, 'name'>} settings The settings for this plugin.
|
|
44
44
|
*
|
|
45
45
|
* @example
|
|
46
46
|
* ```js
|