@wordpress/widgets 2.1.2 → 2.2.0-next.e230fbab09.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.
@@ -119,18 +119,12 @@ function NotEmpty(_ref3) {
119
119
  isWide = false
120
120
  } = _ref3;
121
121
  const [hasPreview, setHasPreview] = (0, _element.useState)(null);
122
+ const widgetTypeId = id !== null && id !== void 0 ? id : idBase;
122
123
  const {
123
- widgetType,
124
- hasResolvedWidgetType,
125
- isNavigationMode
126
- } = (0, _data.useSelect)(select => {
127
- const widgetTypeId = id !== null && id !== void 0 ? id : idBase;
128
- return {
129
- widgetType: select(_coreData.store).getWidgetType(widgetTypeId),
130
- hasResolvedWidgetType: select(_coreData.store).hasFinishedResolution('getWidgetType', [widgetTypeId]),
131
- isNavigationMode: select(_blockEditor.store).isNavigationMode()
132
- };
133
- }, [id, idBase]);
124
+ record: widgetType,
125
+ hasResolved: hasResolvedWidgetType
126
+ } = (0, _coreData.__experimentalUseEntityRecord)('root', 'widgetType', widgetTypeId);
127
+ const isNavigationMode = (0, _data.useSelect)(select => select(_blockEditor.store).isNavigationMode(), []);
134
128
  const setInstance = (0, _element.useCallback)(nextInstance => {
135
129
  setAttributes({
136
130
  instance: nextInstance
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/widgets/src/blocks/legacy-widget/edit/index.js"],"names":["Edit","props","id","idBase","attributes","isWide","blockProps","className","Empty","setAttributes","brushIcon","selectedId","isMulti","instance","NotEmpty","clientId","isSelected","hasPreview","setHasPreview","widgetType","hasResolvedWidgetType","isNavigationMode","select","widgetTypeId","coreStore","getWidgetType","hasFinishedResolution","blockEditorStore","setInstance","nextInstance","mode","raw","name","description"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tBlockIcon,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner, Placeholder } from '@wordpress/components';\nimport { brush as brushIcon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport WidgetTypeSelector from './widget-type-selector';\nimport InspectorCard from './inspector-card';\nimport Form from './form';\nimport Preview from './preview';\nimport NoPreview from './no-preview';\nimport ConvertToBlocksButton from './convert-to-blocks-button';\n\nexport default function Edit( props ) {\n\tconst { id, idBase } = props.attributes;\n\tconst { isWide = false } = props;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'is-wide-widget': isWide,\n\t\t} ),\n\t} );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ ! id && ! idBase ? (\n\t\t\t\t<Empty { ...props } />\n\t\t\t) : (\n\t\t\t\t<NotEmpty { ...props } />\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction Empty( { attributes: { id, idBase }, setAttributes } ) {\n\treturn (\n\t\t<Placeholder\n\t\t\ticon={ <BlockIcon icon={ brushIcon } /> }\n\t\t\tlabel={ __( 'Legacy Widget' ) }\n\t\t>\n\t\t\t<WidgetTypeSelector\n\t\t\t\tselectedId={ id ?? idBase }\n\t\t\t\tonSelect={ ( { selectedId, isMulti } ) => {\n\t\t\t\t\tif ( ! selectedId ) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: null,\n\t\t\t\t\t\t\tidBase: null,\n\t\t\t\t\t\t\tinstance: null,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else if ( isMulti ) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: null,\n\t\t\t\t\t\t\tidBase: selectedId,\n\t\t\t\t\t\t\tinstance: {},\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: selectedId,\n\t\t\t\t\t\t\tidBase: null,\n\t\t\t\t\t\t\tinstance: null,\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</Placeholder>\n\t);\n}\n\nfunction NotEmpty( {\n\tattributes: { id, idBase, instance },\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tisWide = false,\n} ) {\n\tconst [ hasPreview, setHasPreview ] = useState( null );\n\n\tconst { widgetType, hasResolvedWidgetType, isNavigationMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst widgetTypeId = id ?? idBase;\n\t\t\treturn {\n\t\t\t\twidgetType: select( coreStore ).getWidgetType( widgetTypeId ),\n\t\t\t\thasResolvedWidgetType: select(\n\t\t\t\t\tcoreStore\n\t\t\t\t).hasFinishedResolution( 'getWidgetType', [ widgetTypeId ] ),\n\t\t\t\tisNavigationMode: select( blockEditorStore ).isNavigationMode(),\n\t\t\t};\n\t\t},\n\t\t[ id, idBase ]\n\t);\n\n\tconst setInstance = useCallback( ( nextInstance ) => {\n\t\tsetAttributes( { instance: nextInstance } );\n\t}, [] );\n\n\tif ( ! widgetType && hasResolvedWidgetType ) {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ <BlockIcon icon={ brushIcon } /> }\n\t\t\t\tlabel={ __( 'Legacy Widget' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Widget is missing.' ) }\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\tif ( ! hasResolvedWidgetType ) {\n\t\treturn (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\tconst mode =\n\t\tidBase && ( isNavigationMode || ! isSelected ) ? 'preview' : 'edit';\n\n\treturn (\n\t\t<>\n\t\t\t{ idBase === 'text' && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ConvertToBlocksButton\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\trawInstance={ instance.raw }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t<InspectorControls>\n\t\t\t\t<InspectorCard\n\t\t\t\t\tname={ widgetType.name }\n\t\t\t\t\tdescription={ widgetType.description }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\n\t\t\t<Form\n\t\t\t\ttitle={ widgetType.name }\n\t\t\t\tisVisible={ mode === 'edit' }\n\t\t\t\tid={ id }\n\t\t\t\tidBase={ idBase }\n\t\t\t\tinstance={ instance }\n\t\t\t\tisWide={ isWide }\n\t\t\t\tonChangeInstance={ setInstance }\n\t\t\t\tonChangeHasPreview={ setHasPreview }\n\t\t\t/>\n\n\t\t\t{ idBase && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasPreview === null && mode === 'preview' && (\n\t\t\t\t\t\t<Placeholder>\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</Placeholder>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasPreview === true && (\n\t\t\t\t\t\t<Preview\n\t\t\t\t\t\t\tidBase={ idBase }\n\t\t\t\t\t\t\tinstance={ instance }\n\t\t\t\t\t\t\tisVisible={ mode === 'preview' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasPreview === false && mode === 'preview' && (\n\t\t\t\t\t\t<NoPreview name={ widgetType.name } />\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/widgets/src/blocks/legacy-widget/edit/index.js"],"names":["Edit","props","id","idBase","attributes","isWide","blockProps","className","Empty","setAttributes","brushIcon","selectedId","isMulti","instance","NotEmpty","clientId","isSelected","hasPreview","setHasPreview","widgetTypeId","record","widgetType","hasResolved","hasResolvedWidgetType","isNavigationMode","select","blockEditorStore","setInstance","nextInstance","mode","raw","name","description"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tBlockIcon,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner, Placeholder } from '@wordpress/components';\nimport { brush as brushIcon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __experimentalUseEntityRecord as useEntityRecord } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport WidgetTypeSelector from './widget-type-selector';\nimport InspectorCard from './inspector-card';\nimport Form from './form';\nimport Preview from './preview';\nimport NoPreview from './no-preview';\nimport ConvertToBlocksButton from './convert-to-blocks-button';\n\nexport default function Edit( props ) {\n\tconst { id, idBase } = props.attributes;\n\tconst { isWide = false } = props;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'is-wide-widget': isWide,\n\t\t} ),\n\t} );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ ! id && ! idBase ? (\n\t\t\t\t<Empty { ...props } />\n\t\t\t) : (\n\t\t\t\t<NotEmpty { ...props } />\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction Empty( { attributes: { id, idBase }, setAttributes } ) {\n\treturn (\n\t\t<Placeholder\n\t\t\ticon={ <BlockIcon icon={ brushIcon } /> }\n\t\t\tlabel={ __( 'Legacy Widget' ) }\n\t\t>\n\t\t\t<WidgetTypeSelector\n\t\t\t\tselectedId={ id ?? idBase }\n\t\t\t\tonSelect={ ( { selectedId, isMulti } ) => {\n\t\t\t\t\tif ( ! selectedId ) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: null,\n\t\t\t\t\t\t\tidBase: null,\n\t\t\t\t\t\t\tinstance: null,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else if ( isMulti ) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: null,\n\t\t\t\t\t\t\tidBase: selectedId,\n\t\t\t\t\t\t\tinstance: {},\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: selectedId,\n\t\t\t\t\t\t\tidBase: null,\n\t\t\t\t\t\t\tinstance: null,\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</Placeholder>\n\t);\n}\n\nfunction NotEmpty( {\n\tattributes: { id, idBase, instance },\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tisWide = false,\n} ) {\n\tconst [ hasPreview, setHasPreview ] = useState( null );\n\n\tconst widgetTypeId = id ?? idBase;\n\tconst {\n\t\trecord: widgetType,\n\t\thasResolved: hasResolvedWidgetType,\n\t} = useEntityRecord( 'root', 'widgetType', widgetTypeId );\n\n\tconst isNavigationMode = useSelect(\n\t\t( select ) => select( blockEditorStore ).isNavigationMode(),\n\t\t[]\n\t);\n\n\tconst setInstance = useCallback( ( nextInstance ) => {\n\t\tsetAttributes( { instance: nextInstance } );\n\t}, [] );\n\n\tif ( ! widgetType && hasResolvedWidgetType ) {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ <BlockIcon icon={ brushIcon } /> }\n\t\t\t\tlabel={ __( 'Legacy Widget' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Widget is missing.' ) }\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\tif ( ! hasResolvedWidgetType ) {\n\t\treturn (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\tconst mode =\n\t\tidBase && ( isNavigationMode || ! isSelected ) ? 'preview' : 'edit';\n\n\treturn (\n\t\t<>\n\t\t\t{ idBase === 'text' && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ConvertToBlocksButton\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\trawInstance={ instance.raw }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t<InspectorControls>\n\t\t\t\t<InspectorCard\n\t\t\t\t\tname={ widgetType.name }\n\t\t\t\t\tdescription={ widgetType.description }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\n\t\t\t<Form\n\t\t\t\ttitle={ widgetType.name }\n\t\t\t\tisVisible={ mode === 'edit' }\n\t\t\t\tid={ id }\n\t\t\t\tidBase={ idBase }\n\t\t\t\tinstance={ instance }\n\t\t\t\tisWide={ isWide }\n\t\t\t\tonChangeInstance={ setInstance }\n\t\t\t\tonChangeHasPreview={ setHasPreview }\n\t\t\t/>\n\n\t\t\t{ idBase && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasPreview === null && mode === 'preview' && (\n\t\t\t\t\t\t<Placeholder>\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</Placeholder>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasPreview === true && (\n\t\t\t\t\t\t<Preview\n\t\t\t\t\t\t\tidBase={ idBase }\n\t\t\t\t\t\t\tinstance={ instance }\n\t\t\t\t\t\t\tisVisible={ mode === 'preview' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasPreview === false && mode === 'preview' && (\n\t\t\t\t\t\t<NoPreview name={ widgetType.name } />\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _blockEditor = require("@wordpress/block-editor");
11
+
12
+ /**
13
+ * WordPress dependencies
14
+ */
15
+ const v1 = {
16
+ attributes: {
17
+ title: {
18
+ type: 'string'
19
+ }
20
+ },
21
+ supports: {
22
+ html: false,
23
+ inserter: true,
24
+ customClassName: true,
25
+ reusable: false
26
+ },
27
+
28
+ save(_ref) {
29
+ let {
30
+ attributes
31
+ } = _ref;
32
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.RichText.Content, {
33
+ tagName: "h2",
34
+ className: "widget-title",
35
+ value: attributes.title
36
+ }), (0, _element.createElement)(_blockEditor.InnerBlocks.Content, null));
37
+ }
38
+
39
+ };
40
+ var _default = [v1];
41
+ exports.default = _default;
42
+ //# sourceMappingURL=deprecated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/widgets/src/blocks/widget-group/deprecated.js"],"names":["v1","attributes","title","type","supports","html","inserter","customClassName","reusable","save"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGA,MAAMA,EAAE,GAAG;AACVC,EAAAA,UAAU,EAAE;AACXC,IAAAA,KAAK,EAAE;AACNC,MAAAA,IAAI,EAAE;AADA;AADI,GADF;AAMVC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,IAAI,EAAE,KADG;AAETC,IAAAA,QAAQ,EAAE,IAFD;AAGTC,IAAAA,eAAe,EAAE,IAHR;AAITC,IAAAA,QAAQ,EAAE;AAJD,GANA;;AAYVC,EAAAA,IAAI,OAAmB;AAAA,QAAjB;AAAER,MAAAA;AAAF,KAAiB;AACtB,WACC,qDACC,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,IADT;AAEC,MAAA,SAAS,EAAC,cAFX;AAGC,MAAA,KAAK,EAAGA,UAAU,CAACC;AAHpB,MADD,EAMC,4BAAC,wBAAD,CAAa,OAAb,OAND,CADD;AAUA;;AAvBS,CAAX;eA0Be,CAAEF,EAAF,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, RichText } from '@wordpress/block-editor';\n\nconst v1 = {\n\tattributes: {\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\thtml: false,\n\t\tinserter: true,\n\t\tcustomClassName: true,\n\t\treusable: false,\n\t},\n\tsave( { attributes } ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"h2\"\n\t\t\t\t\tclassName=\"widget-title\"\n\t\t\t\t\tvalue={ attributes.title }\n\t\t\t\t/>\n\t\t\t\t<InnerBlocks.Content />\n\t\t\t</>\n\t\t);\n\t},\n};\n\nexport default [ v1 ];\n"]}
@@ -17,6 +17,8 @@ var _edit = _interopRequireDefault(require("./edit"));
17
17
 
18
18
  var _save = _interopRequireDefault(require("./save"));
19
19
 
20
+ var _deprecated = _interopRequireDefault(require("./deprecated"));
21
+
20
22
  /**
21
23
  * WordPress dependencies
22
24
  */
@@ -88,7 +90,8 @@ const settings = {
88
90
  }
89
91
 
90
92
  }]
91
- }
93
+ },
94
+ deprecated: _deprecated.default
92
95
  };
93
96
  exports.settings = settings;
94
97
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/widgets/src/blocks/widget-group/index.js"],"names":["name","metadata","settings","title","description","icon","__experimentalLabel","label","edit","save","transforms","from","type","isMultiBlock","blocks","isMatch","attributes","some","block","__experimentalConvert","innerBlocks","map","firstHeadingBlock","filter","content"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAMA;;AACA;;AAZA;AACA;AACA;;AAKA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,KAAK,EAAE,cAAI,cAAJ,CADgB;AAEvBC,EAAAA,WAAW,EAAE,cACZ,gGADY,CAFU;AAKvBC,EAAAA,IAAI,EAAJA,YALuB;AAMvBC,EAAAA,mBAAmB,EAAE;AAAA,QAAE;AAAEN,MAAAA,IAAI,EAAEO;AAAR,KAAF;AAAA,WAAuBA,KAAvB;AAAA,GANE;AAOvBC,EAAAA,IAAI,EAAJA,aAPuB;AAQvBC,EAAAA,IAAI,EAAJA,aARuB;AASvBC,EAAAA,UAAU,EAAE;AACXC,IAAAA,IAAI,EAAE,CACL;AACCC,MAAAA,IAAI,EAAE,OADP;AAECC,MAAAA,YAAY,EAAE,IAFf;AAGCC,MAAAA,MAAM,EAAE,CAAE,GAAF,CAHT;;AAICC,MAAAA,OAAO,CAAEC,UAAF,EAAcF,MAAd,EAAuB;AAC7B;AACA,eAAO,CAAEA,MAAM,CAACG,IAAP,CACNC,KAAF,IAAaA,KAAK,CAAClB,IAAN,KAAe,mBADpB,CAAT;AAGA,OATF;;AAUCmB,MAAAA,qBAAqB,CAAEL,MAAF,EAAW;AAC/B;AACA,YAAIM,WAAW,GAAG,CACjB,GAAGN,MAAM,CAACO,GAAP,CAAcH,KAAF,IAAa;AAC3B,iBAAO,yBACNA,KAAK,CAAClB,IADA,EAENkB,KAAK,CAACF,UAFA,EAGNE,KAAK,CAACE,WAHA,CAAP;AAKA,SANE,CADc,CAAlB,CAF+B,CAY/B;AACA;;AACA,cAAME,iBAAiB,GACtBF,WAAW,CAAE,CAAF,CAAX,CAAiBpB,IAAjB,KAA0B,cAA1B,GACGoB,WAAW,CAAE,CAAF,CADd,GAEG,IAHJ,CAd+B,CAmB/B;AACA;;AACAA,QAAAA,WAAW,GAAGA,WAAW,CAACG,MAAZ,CACXL,KAAF,IAAaA,KAAK,KAAKI,iBADV,CAAd;AAIA,eAAO,yBACN,mBADM,EAEN,EACC,IAAKA,iBAAiB,IAAI;AACzBnB,YAAAA,KAAK,EAAEmB,iBAAiB,CAACN,UAAlB,CAA6BQ;AADX,WAA1B;AADD,SAFM,EAONJ,WAPM,CAAP;AASA;;AA5CF,KADK;AADK;AATW,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock } from '@wordpress/blocks';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ttitle: __( 'Widget Group' ),\n\tdescription: __(\n\t\t'Create a classic widget layout with a title that’s styled by your theme for your widget areas.'\n\t),\n\ticon,\n\t__experimentalLabel: ( { name: label } ) => label,\n\tedit,\n\tsave,\n\ttransforms: {\n\t\tfrom: [\n\t\t\t{\n\t\t\t\ttype: 'block',\n\t\t\t\tisMultiBlock: true,\n\t\t\t\tblocks: [ '*' ],\n\t\t\t\tisMatch( attributes, blocks ) {\n\t\t\t\t\t// Avoid transforming existing `widget-group` blocks.\n\t\t\t\t\treturn ! blocks.some(\n\t\t\t\t\t\t( block ) => block.name === 'core/widget-group'\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t__experimentalConvert( blocks ) {\n\t\t\t\t\t// Put the selected blocks inside the new Widget Group's innerBlocks.\n\t\t\t\t\tlet innerBlocks = [\n\t\t\t\t\t\t...blocks.map( ( block ) => {\n\t\t\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ),\n\t\t\t\t\t];\n\n\t\t\t\t\t// If the first block is a heading then assume this is intended\n\t\t\t\t\t// to be the Widget's \"title\".\n\t\t\t\t\tconst firstHeadingBlock =\n\t\t\t\t\t\tinnerBlocks[ 0 ].name === 'core/heading'\n\t\t\t\t\t\t\t? innerBlocks[ 0 ]\n\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t// Remove the first heading block as we're copying\n\t\t\t\t\t// it's content into the Widget Group's title attribute.\n\t\t\t\t\tinnerBlocks = innerBlocks.filter(\n\t\t\t\t\t\t( block ) => block !== firstHeadingBlock\n\t\t\t\t\t);\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/widget-group',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...( firstHeadingBlock && {\n\t\t\t\t\t\t\t\ttitle: firstHeadingBlock.attributes.content,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/widgets/src/blocks/widget-group/index.js"],"names":["name","metadata","settings","title","description","icon","__experimentalLabel","label","edit","save","transforms","from","type","isMultiBlock","blocks","isMatch","attributes","some","block","__experimentalConvert","innerBlocks","map","firstHeadingBlock","filter","content","deprecated"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AAbA;AACA;AACA;;AAKA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,KAAK,EAAE,cAAI,cAAJ,CADgB;AAEvBC,EAAAA,WAAW,EAAE,cACZ,gGADY,CAFU;AAKvBC,EAAAA,IAAI,EAAJA,YALuB;AAMvBC,EAAAA,mBAAmB,EAAE;AAAA,QAAE;AAAEN,MAAAA,IAAI,EAAEO;AAAR,KAAF;AAAA,WAAuBA,KAAvB;AAAA,GANE;AAOvBC,EAAAA,IAAI,EAAJA,aAPuB;AAQvBC,EAAAA,IAAI,EAAJA,aARuB;AASvBC,EAAAA,UAAU,EAAE;AACXC,IAAAA,IAAI,EAAE,CACL;AACCC,MAAAA,IAAI,EAAE,OADP;AAECC,MAAAA,YAAY,EAAE,IAFf;AAGCC,MAAAA,MAAM,EAAE,CAAE,GAAF,CAHT;;AAICC,MAAAA,OAAO,CAAEC,UAAF,EAAcF,MAAd,EAAuB;AAC7B;AACA,eAAO,CAAEA,MAAM,CAACG,IAAP,CACNC,KAAF,IAAaA,KAAK,CAAClB,IAAN,KAAe,mBADpB,CAAT;AAGA,OATF;;AAUCmB,MAAAA,qBAAqB,CAAEL,MAAF,EAAW;AAC/B;AACA,YAAIM,WAAW,GAAG,CACjB,GAAGN,MAAM,CAACO,GAAP,CAAcH,KAAF,IAAa;AAC3B,iBAAO,yBACNA,KAAK,CAAClB,IADA,EAENkB,KAAK,CAACF,UAFA,EAGNE,KAAK,CAACE,WAHA,CAAP;AAKA,SANE,CADc,CAAlB,CAF+B,CAY/B;AACA;;AACA,cAAME,iBAAiB,GACtBF,WAAW,CAAE,CAAF,CAAX,CAAiBpB,IAAjB,KAA0B,cAA1B,GACGoB,WAAW,CAAE,CAAF,CADd,GAEG,IAHJ,CAd+B,CAmB/B;AACA;;AACAA,QAAAA,WAAW,GAAGA,WAAW,CAACG,MAAZ,CACXL,KAAF,IAAaA,KAAK,KAAKI,iBADV,CAAd;AAIA,eAAO,yBACN,mBADM,EAEN,EACC,IAAKA,iBAAiB,IAAI;AACzBnB,YAAAA,KAAK,EAAEmB,iBAAiB,CAACN,UAAlB,CAA6BQ;AADX,WAA1B;AADD,SAFM,EAONJ,WAPM,CAAP;AASA;;AA5CF,KADK;AADK,GATW;AA2DvBK,EAAAA,UAAU,EAAVA;AA3DuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock } from '@wordpress/blocks';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ttitle: __( 'Widget Group' ),\n\tdescription: __(\n\t\t'Create a classic widget layout with a title that’s styled by your theme for your widget areas.'\n\t),\n\ticon,\n\t__experimentalLabel: ( { name: label } ) => label,\n\tedit,\n\tsave,\n\ttransforms: {\n\t\tfrom: [\n\t\t\t{\n\t\t\t\ttype: 'block',\n\t\t\t\tisMultiBlock: true,\n\t\t\t\tblocks: [ '*' ],\n\t\t\t\tisMatch( attributes, blocks ) {\n\t\t\t\t\t// Avoid transforming existing `widget-group` blocks.\n\t\t\t\t\treturn ! blocks.some(\n\t\t\t\t\t\t( block ) => block.name === 'core/widget-group'\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t__experimentalConvert( blocks ) {\n\t\t\t\t\t// Put the selected blocks inside the new Widget Group's innerBlocks.\n\t\t\t\t\tlet innerBlocks = [\n\t\t\t\t\t\t...blocks.map( ( block ) => {\n\t\t\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ),\n\t\t\t\t\t];\n\n\t\t\t\t\t// If the first block is a heading then assume this is intended\n\t\t\t\t\t// to be the Widget's \"title\".\n\t\t\t\t\tconst firstHeadingBlock =\n\t\t\t\t\t\tinnerBlocks[ 0 ].name === 'core/heading'\n\t\t\t\t\t\t\t? innerBlocks[ 0 ]\n\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t// Remove the first heading block as we're copying\n\t\t\t\t\t// it's content into the Widget Group's title attribute.\n\t\t\t\t\tinnerBlocks = innerBlocks.filter(\n\t\t\t\t\t\t( block ) => block !== firstHeadingBlock\n\t\t\t\t\t);\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/widget-group',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...( firstHeadingBlock && {\n\t\t\t\t\t\t\t\ttitle: firstHeadingBlock.attributes.content,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tdeprecated,\n};\n"]}
@@ -20,6 +20,8 @@ function save(_ref) {
20
20
  tagName: "h2",
21
21
  className: "widget-title",
22
22
  value: attributes.title
23
- }), (0, _element.createElement)(_blockEditor.InnerBlocks.Content, null));
23
+ }), (0, _element.createElement)("div", {
24
+ className: "wp-widget-group__inner-blocks"
25
+ }, (0, _element.createElement)(_blockEditor.InnerBlocks.Content, null)));
24
26
  }
25
27
  //# sourceMappingURL=save.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/widgets/src/blocks/widget-group/save.js"],"names":["save","attributes","title"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGe,SAASA,IAAT,OAAgC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAC9C,SACC,qDACC,4BAAC,qBAAD,CAAU,OAAV;AACC,IAAA,OAAO,EAAC,IADT;AAEC,IAAA,SAAS,EAAC,cAFX;AAGC,IAAA,KAAK,EAAGA,UAAU,CAACC;AAHpB,IADD,EAMC,4BAAC,wBAAD,CAAa,OAAb,OAND,CADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, RichText } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\treturn (\n\t\t<>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"h2\"\n\t\t\t\tclassName=\"widget-title\"\n\t\t\t\tvalue={ attributes.title }\n\t\t\t/>\n\t\t\t<InnerBlocks.Content />\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/widgets/src/blocks/widget-group/save.js"],"names":["save","attributes","title"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGe,SAASA,IAAT,OAAgC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAC9C,SACC,qDACC,4BAAC,qBAAD,CAAU,OAAV;AACC,IAAA,OAAO,EAAC,IADT;AAEC,IAAA,SAAS,EAAC,cAFX;AAGC,IAAA,KAAK,EAAGA,UAAU,CAACC;AAHpB,IADD,EAMC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,wBAAD,CAAa,OAAb,OADD,CAND,CADD;AAYA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, RichText } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\treturn (\n\t\t<>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"h2\"\n\t\t\t\tclassName=\"widget-title\"\n\t\t\t\tvalue={ attributes.title }\n\t\t\t/>\n\t\t\t<div className=\"wp-widget-group__inner-blocks\">\n\t\t\t\t<InnerBlocks.Content />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -14,7 +14,7 @@ import { brush as brushIcon } from '@wordpress/icons';
14
14
  import { __ } from '@wordpress/i18n';
15
15
  import { useState, useCallback } from '@wordpress/element';
16
16
  import { useSelect } from '@wordpress/data';
17
- import { store as coreStore } from '@wordpress/core-data';
17
+ import { __experimentalUseEntityRecord as useEntityRecord } from '@wordpress/core-data';
18
18
  /**
19
19
  * Internal dependencies
20
20
  */
@@ -98,18 +98,12 @@ function NotEmpty(_ref3) {
98
98
  isWide = false
99
99
  } = _ref3;
100
100
  const [hasPreview, setHasPreview] = useState(null);
101
+ const widgetTypeId = id !== null && id !== void 0 ? id : idBase;
101
102
  const {
102
- widgetType,
103
- hasResolvedWidgetType,
104
- isNavigationMode
105
- } = useSelect(select => {
106
- const widgetTypeId = id !== null && id !== void 0 ? id : idBase;
107
- return {
108
- widgetType: select(coreStore).getWidgetType(widgetTypeId),
109
- hasResolvedWidgetType: select(coreStore).hasFinishedResolution('getWidgetType', [widgetTypeId]),
110
- isNavigationMode: select(blockEditorStore).isNavigationMode()
111
- };
112
- }, [id, idBase]);
103
+ record: widgetType,
104
+ hasResolved: hasResolvedWidgetType
105
+ } = useEntityRecord('root', 'widgetType', widgetTypeId);
106
+ const isNavigationMode = useSelect(select => select(blockEditorStore).isNavigationMode(), []);
113
107
  const setInstance = useCallback(nextInstance => {
114
108
  setAttributes({
115
109
  instance: nextInstance
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/widgets/src/blocks/legacy-widget/edit/index.js"],"names":["classnames","useBlockProps","BlockControls","InspectorControls","BlockIcon","store","blockEditorStore","Spinner","Placeholder","brush","brushIcon","__","useState","useCallback","useSelect","coreStore","WidgetTypeSelector","InspectorCard","Form","Preview","NoPreview","ConvertToBlocksButton","Edit","props","id","idBase","attributes","isWide","blockProps","className","Empty","setAttributes","selectedId","isMulti","instance","NotEmpty","clientId","isSelected","hasPreview","setHasPreview","widgetType","hasResolvedWidgetType","isNavigationMode","select","widgetTypeId","getWidgetType","hasFinishedResolution","setInstance","nextInstance","mode","raw","name","description"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tBlockIcon,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner, Placeholder } from '@wordpress/components';\nimport { brush as brushIcon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport WidgetTypeSelector from './widget-type-selector';\nimport InspectorCard from './inspector-card';\nimport Form from './form';\nimport Preview from './preview';\nimport NoPreview from './no-preview';\nimport ConvertToBlocksButton from './convert-to-blocks-button';\n\nexport default function Edit( props ) {\n\tconst { id, idBase } = props.attributes;\n\tconst { isWide = false } = props;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'is-wide-widget': isWide,\n\t\t} ),\n\t} );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ ! id && ! idBase ? (\n\t\t\t\t<Empty { ...props } />\n\t\t\t) : (\n\t\t\t\t<NotEmpty { ...props } />\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction Empty( { attributes: { id, idBase }, setAttributes } ) {\n\treturn (\n\t\t<Placeholder\n\t\t\ticon={ <BlockIcon icon={ brushIcon } /> }\n\t\t\tlabel={ __( 'Legacy Widget' ) }\n\t\t>\n\t\t\t<WidgetTypeSelector\n\t\t\t\tselectedId={ id ?? idBase }\n\t\t\t\tonSelect={ ( { selectedId, isMulti } ) => {\n\t\t\t\t\tif ( ! selectedId ) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: null,\n\t\t\t\t\t\t\tidBase: null,\n\t\t\t\t\t\t\tinstance: null,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else if ( isMulti ) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: null,\n\t\t\t\t\t\t\tidBase: selectedId,\n\t\t\t\t\t\t\tinstance: {},\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: selectedId,\n\t\t\t\t\t\t\tidBase: null,\n\t\t\t\t\t\t\tinstance: null,\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</Placeholder>\n\t);\n}\n\nfunction NotEmpty( {\n\tattributes: { id, idBase, instance },\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tisWide = false,\n} ) {\n\tconst [ hasPreview, setHasPreview ] = useState( null );\n\n\tconst { widgetType, hasResolvedWidgetType, isNavigationMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst widgetTypeId = id ?? idBase;\n\t\t\treturn {\n\t\t\t\twidgetType: select( coreStore ).getWidgetType( widgetTypeId ),\n\t\t\t\thasResolvedWidgetType: select(\n\t\t\t\t\tcoreStore\n\t\t\t\t).hasFinishedResolution( 'getWidgetType', [ widgetTypeId ] ),\n\t\t\t\tisNavigationMode: select( blockEditorStore ).isNavigationMode(),\n\t\t\t};\n\t\t},\n\t\t[ id, idBase ]\n\t);\n\n\tconst setInstance = useCallback( ( nextInstance ) => {\n\t\tsetAttributes( { instance: nextInstance } );\n\t}, [] );\n\n\tif ( ! widgetType && hasResolvedWidgetType ) {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ <BlockIcon icon={ brushIcon } /> }\n\t\t\t\tlabel={ __( 'Legacy Widget' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Widget is missing.' ) }\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\tif ( ! hasResolvedWidgetType ) {\n\t\treturn (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\tconst mode =\n\t\tidBase && ( isNavigationMode || ! isSelected ) ? 'preview' : 'edit';\n\n\treturn (\n\t\t<>\n\t\t\t{ idBase === 'text' && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ConvertToBlocksButton\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\trawInstance={ instance.raw }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t<InspectorControls>\n\t\t\t\t<InspectorCard\n\t\t\t\t\tname={ widgetType.name }\n\t\t\t\t\tdescription={ widgetType.description }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\n\t\t\t<Form\n\t\t\t\ttitle={ widgetType.name }\n\t\t\t\tisVisible={ mode === 'edit' }\n\t\t\t\tid={ id }\n\t\t\t\tidBase={ idBase }\n\t\t\t\tinstance={ instance }\n\t\t\t\tisWide={ isWide }\n\t\t\t\tonChangeInstance={ setInstance }\n\t\t\t\tonChangeHasPreview={ setHasPreview }\n\t\t\t/>\n\n\t\t\t{ idBase && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasPreview === null && mode === 'preview' && (\n\t\t\t\t\t\t<Placeholder>\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</Placeholder>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasPreview === true && (\n\t\t\t\t\t\t<Preview\n\t\t\t\t\t\t\tidBase={ idBase }\n\t\t\t\t\t\t\tinstance={ instance }\n\t\t\t\t\t\t\tisVisible={ mode === 'preview' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasPreview === false && mode === 'preview' && (\n\t\t\t\t\t\t<NoPreview name={ widgetType.name } />\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/widgets/src/blocks/legacy-widget/edit/index.js"],"names":["classnames","useBlockProps","BlockControls","InspectorControls","BlockIcon","store","blockEditorStore","Spinner","Placeholder","brush","brushIcon","__","useState","useCallback","useSelect","__experimentalUseEntityRecord","useEntityRecord","WidgetTypeSelector","InspectorCard","Form","Preview","NoPreview","ConvertToBlocksButton","Edit","props","id","idBase","attributes","isWide","blockProps","className","Empty","setAttributes","selectedId","isMulti","instance","NotEmpty","clientId","isSelected","hasPreview","setHasPreview","widgetTypeId","record","widgetType","hasResolved","hasResolvedWidgetType","isNavigationMode","select","setInstance","nextInstance","mode","raw","name","description"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tBlockIcon,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner, Placeholder } from '@wordpress/components';\nimport { brush as brushIcon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __experimentalUseEntityRecord as useEntityRecord } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport WidgetTypeSelector from './widget-type-selector';\nimport InspectorCard from './inspector-card';\nimport Form from './form';\nimport Preview from './preview';\nimport NoPreview from './no-preview';\nimport ConvertToBlocksButton from './convert-to-blocks-button';\n\nexport default function Edit( props ) {\n\tconst { id, idBase } = props.attributes;\n\tconst { isWide = false } = props;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'is-wide-widget': isWide,\n\t\t} ),\n\t} );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ ! id && ! idBase ? (\n\t\t\t\t<Empty { ...props } />\n\t\t\t) : (\n\t\t\t\t<NotEmpty { ...props } />\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction Empty( { attributes: { id, idBase }, setAttributes } ) {\n\treturn (\n\t\t<Placeholder\n\t\t\ticon={ <BlockIcon icon={ brushIcon } /> }\n\t\t\tlabel={ __( 'Legacy Widget' ) }\n\t\t>\n\t\t\t<WidgetTypeSelector\n\t\t\t\tselectedId={ id ?? idBase }\n\t\t\t\tonSelect={ ( { selectedId, isMulti } ) => {\n\t\t\t\t\tif ( ! selectedId ) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: null,\n\t\t\t\t\t\t\tidBase: null,\n\t\t\t\t\t\t\tinstance: null,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else if ( isMulti ) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: null,\n\t\t\t\t\t\t\tidBase: selectedId,\n\t\t\t\t\t\t\tinstance: {},\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tid: selectedId,\n\t\t\t\t\t\t\tidBase: null,\n\t\t\t\t\t\t\tinstance: null,\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</Placeholder>\n\t);\n}\n\nfunction NotEmpty( {\n\tattributes: { id, idBase, instance },\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tisWide = false,\n} ) {\n\tconst [ hasPreview, setHasPreview ] = useState( null );\n\n\tconst widgetTypeId = id ?? idBase;\n\tconst {\n\t\trecord: widgetType,\n\t\thasResolved: hasResolvedWidgetType,\n\t} = useEntityRecord( 'root', 'widgetType', widgetTypeId );\n\n\tconst isNavigationMode = useSelect(\n\t\t( select ) => select( blockEditorStore ).isNavigationMode(),\n\t\t[]\n\t);\n\n\tconst setInstance = useCallback( ( nextInstance ) => {\n\t\tsetAttributes( { instance: nextInstance } );\n\t}, [] );\n\n\tif ( ! widgetType && hasResolvedWidgetType ) {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ <BlockIcon icon={ brushIcon } /> }\n\t\t\t\tlabel={ __( 'Legacy Widget' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Widget is missing.' ) }\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\tif ( ! hasResolvedWidgetType ) {\n\t\treturn (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\tconst mode =\n\t\tidBase && ( isNavigationMode || ! isSelected ) ? 'preview' : 'edit';\n\n\treturn (\n\t\t<>\n\t\t\t{ idBase === 'text' && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ConvertToBlocksButton\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\trawInstance={ instance.raw }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t<InspectorControls>\n\t\t\t\t<InspectorCard\n\t\t\t\t\tname={ widgetType.name }\n\t\t\t\t\tdescription={ widgetType.description }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\n\t\t\t<Form\n\t\t\t\ttitle={ widgetType.name }\n\t\t\t\tisVisible={ mode === 'edit' }\n\t\t\t\tid={ id }\n\t\t\t\tidBase={ idBase }\n\t\t\t\tinstance={ instance }\n\t\t\t\tisWide={ isWide }\n\t\t\t\tonChangeInstance={ setInstance }\n\t\t\t\tonChangeHasPreview={ setHasPreview }\n\t\t\t/>\n\n\t\t\t{ idBase && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasPreview === null && mode === 'preview' && (\n\t\t\t\t\t\t<Placeholder>\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</Placeholder>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasPreview === true && (\n\t\t\t\t\t\t<Preview\n\t\t\t\t\t\t\tidBase={ idBase }\n\t\t\t\t\t\t\tinstance={ instance }\n\t\t\t\t\t\t\tisVisible={ mode === 'preview' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasPreview === false && mode === 'preview' && (\n\t\t\t\t\t\t<NoPreview name={ widgetType.name } />\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,33 @@
1
+ import { createElement, Fragment } from "@wordpress/element";
2
+
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import { InnerBlocks, RichText } from '@wordpress/block-editor';
7
+ const v1 = {
8
+ attributes: {
9
+ title: {
10
+ type: 'string'
11
+ }
12
+ },
13
+ supports: {
14
+ html: false,
15
+ inserter: true,
16
+ customClassName: true,
17
+ reusable: false
18
+ },
19
+
20
+ save(_ref) {
21
+ let {
22
+ attributes
23
+ } = _ref;
24
+ return createElement(Fragment, null, createElement(RichText.Content, {
25
+ tagName: "h2",
26
+ className: "widget-title",
27
+ value: attributes.title
28
+ }), createElement(InnerBlocks.Content, null));
29
+ }
30
+
31
+ };
32
+ export default [v1];
33
+ //# sourceMappingURL=deprecated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/widgets/src/blocks/widget-group/deprecated.js"],"names":["InnerBlocks","RichText","v1","attributes","title","type","supports","html","inserter","customClassName","reusable","save"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,QAAtB,QAAsC,yBAAtC;AAEA,MAAMC,EAAE,GAAG;AACVC,EAAAA,UAAU,EAAE;AACXC,IAAAA,KAAK,EAAE;AACNC,MAAAA,IAAI,EAAE;AADA;AADI,GADF;AAMVC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,IAAI,EAAE,KADG;AAETC,IAAAA,QAAQ,EAAE,IAFD;AAGTC,IAAAA,eAAe,EAAE,IAHR;AAITC,IAAAA,QAAQ,EAAE;AAJD,GANA;;AAYVC,EAAAA,IAAI,OAAmB;AAAA,QAAjB;AAAER,MAAAA;AAAF,KAAiB;AACtB,WACC,8BACC,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,IADT;AAEC,MAAA,SAAS,EAAC,cAFX;AAGC,MAAA,KAAK,EAAGA,UAAU,CAACC;AAHpB,MADD,EAMC,cAAC,WAAD,CAAa,OAAb,OAND,CADD;AAUA;;AAvBS,CAAX;AA0BA,eAAe,CAAEF,EAAF,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, RichText } from '@wordpress/block-editor';\n\nconst v1 = {\n\tattributes: {\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\thtml: false,\n\t\tinserter: true,\n\t\tcustomClassName: true,\n\t\treusable: false,\n\t},\n\tsave( { attributes } ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"h2\"\n\t\t\t\t\tclassName=\"widget-title\"\n\t\t\t\t\tvalue={ attributes.title }\n\t\t\t\t/>\n\t\t\t\t<InnerBlocks.Content />\n\t\t\t</>\n\t\t);\n\t},\n};\n\nexport default [ v1 ];\n"]}
@@ -28,6 +28,7 @@ const metadata = {
28
28
  };
29
29
  import edit from './edit';
30
30
  import save from './save';
31
+ import deprecated from './deprecated';
31
32
  const {
32
33
  name
33
34
  } = metadata;
@@ -73,6 +74,7 @@ export const settings = {
73
74
  }
74
75
 
75
76
  }]
76
- }
77
+ },
78
+ deprecated
77
79
  };
78
80
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/widgets/src/blocks/widget-group/index.js"],"names":["__","createBlock","group","icon","edit","save","name","metadata","settings","title","description","__experimentalLabel","label","transforms","from","type","isMultiBlock","blocks","isMatch","attributes","some","block","__experimentalConvert","innerBlocks","map","firstHeadingBlock","filter","content"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,WAAT,QAA4B,mBAA5B;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBC,EAAAA,KAAK,EAAET,EAAE,CAAE,cAAF,CADc;AAEvBU,EAAAA,WAAW,EAAEV,EAAE,CACd,gGADc,CAFQ;AAKvBG,EAAAA,IALuB;AAMvBQ,EAAAA,mBAAmB,EAAE;AAAA,QAAE;AAAEL,MAAAA,IAAI,EAAEM;AAAR,KAAF;AAAA,WAAuBA,KAAvB;AAAA,GANE;AAOvBR,EAAAA,IAPuB;AAQvBC,EAAAA,IARuB;AASvBQ,EAAAA,UAAU,EAAE;AACXC,IAAAA,IAAI,EAAE,CACL;AACCC,MAAAA,IAAI,EAAE,OADP;AAECC,MAAAA,YAAY,EAAE,IAFf;AAGCC,MAAAA,MAAM,EAAE,CAAE,GAAF,CAHT;;AAICC,MAAAA,OAAO,CAAEC,UAAF,EAAcF,MAAd,EAAuB;AAC7B;AACA,eAAO,CAAEA,MAAM,CAACG,IAAP,CACNC,KAAF,IAAaA,KAAK,CAACf,IAAN,KAAe,mBADpB,CAAT;AAGA,OATF;;AAUCgB,MAAAA,qBAAqB,CAAEL,MAAF,EAAW;AAC/B;AACA,YAAIM,WAAW,GAAG,CACjB,GAAGN,MAAM,CAACO,GAAP,CAAcH,KAAF,IAAa;AAC3B,iBAAOpB,WAAW,CACjBoB,KAAK,CAACf,IADW,EAEjBe,KAAK,CAACF,UAFW,EAGjBE,KAAK,CAACE,WAHW,CAAlB;AAKA,SANE,CADc,CAAlB,CAF+B,CAY/B;AACA;;AACA,cAAME,iBAAiB,GACtBF,WAAW,CAAE,CAAF,CAAX,CAAiBjB,IAAjB,KAA0B,cAA1B,GACGiB,WAAW,CAAE,CAAF,CADd,GAEG,IAHJ,CAd+B,CAmB/B;AACA;;AACAA,QAAAA,WAAW,GAAGA,WAAW,CAACG,MAAZ,CACXL,KAAF,IAAaA,KAAK,KAAKI,iBADV,CAAd;AAIA,eAAOxB,WAAW,CACjB,mBADiB,EAEjB,EACC,IAAKwB,iBAAiB,IAAI;AACzBhB,YAAAA,KAAK,EAAEgB,iBAAiB,CAACN,UAAlB,CAA6BQ;AADX,WAA1B;AADD,SAFiB,EAOjBJ,WAPiB,CAAlB;AASA;;AA5CF,KADK;AADK;AATW,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock } from '@wordpress/blocks';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ttitle: __( 'Widget Group' ),\n\tdescription: __(\n\t\t'Create a classic widget layout with a title that’s styled by your theme for your widget areas.'\n\t),\n\ticon,\n\t__experimentalLabel: ( { name: label } ) => label,\n\tedit,\n\tsave,\n\ttransforms: {\n\t\tfrom: [\n\t\t\t{\n\t\t\t\ttype: 'block',\n\t\t\t\tisMultiBlock: true,\n\t\t\t\tblocks: [ '*' ],\n\t\t\t\tisMatch( attributes, blocks ) {\n\t\t\t\t\t// Avoid transforming existing `widget-group` blocks.\n\t\t\t\t\treturn ! blocks.some(\n\t\t\t\t\t\t( block ) => block.name === 'core/widget-group'\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t__experimentalConvert( blocks ) {\n\t\t\t\t\t// Put the selected blocks inside the new Widget Group's innerBlocks.\n\t\t\t\t\tlet innerBlocks = [\n\t\t\t\t\t\t...blocks.map( ( block ) => {\n\t\t\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ),\n\t\t\t\t\t];\n\n\t\t\t\t\t// If the first block is a heading then assume this is intended\n\t\t\t\t\t// to be the Widget's \"title\".\n\t\t\t\t\tconst firstHeadingBlock =\n\t\t\t\t\t\tinnerBlocks[ 0 ].name === 'core/heading'\n\t\t\t\t\t\t\t? innerBlocks[ 0 ]\n\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t// Remove the first heading block as we're copying\n\t\t\t\t\t// it's content into the Widget Group's title attribute.\n\t\t\t\t\tinnerBlocks = innerBlocks.filter(\n\t\t\t\t\t\t( block ) => block !== firstHeadingBlock\n\t\t\t\t\t);\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/widget-group',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...( firstHeadingBlock && {\n\t\t\t\t\t\t\t\ttitle: firstHeadingBlock.attributes.content,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/widgets/src/blocks/widget-group/index.js"],"names":["__","createBlock","group","icon","edit","save","deprecated","name","metadata","settings","title","description","__experimentalLabel","label","transforms","from","type","isMultiBlock","blocks","isMatch","attributes","some","block","__experimentalConvert","innerBlocks","map","firstHeadingBlock","filter","content"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,WAAT,QAA4B,mBAA5B;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBC,EAAAA,KAAK,EAAEV,EAAE,CAAE,cAAF,CADc;AAEvBW,EAAAA,WAAW,EAAEX,EAAE,CACd,gGADc,CAFQ;AAKvBG,EAAAA,IALuB;AAMvBS,EAAAA,mBAAmB,EAAE;AAAA,QAAE;AAAEL,MAAAA,IAAI,EAAEM;AAAR,KAAF;AAAA,WAAuBA,KAAvB;AAAA,GANE;AAOvBT,EAAAA,IAPuB;AAQvBC,EAAAA,IARuB;AASvBS,EAAAA,UAAU,EAAE;AACXC,IAAAA,IAAI,EAAE,CACL;AACCC,MAAAA,IAAI,EAAE,OADP;AAECC,MAAAA,YAAY,EAAE,IAFf;AAGCC,MAAAA,MAAM,EAAE,CAAE,GAAF,CAHT;;AAICC,MAAAA,OAAO,CAAEC,UAAF,EAAcF,MAAd,EAAuB;AAC7B;AACA,eAAO,CAAEA,MAAM,CAACG,IAAP,CACNC,KAAF,IAAaA,KAAK,CAACf,IAAN,KAAe,mBADpB,CAAT;AAGA,OATF;;AAUCgB,MAAAA,qBAAqB,CAAEL,MAAF,EAAW;AAC/B;AACA,YAAIM,WAAW,GAAG,CACjB,GAAGN,MAAM,CAACO,GAAP,CAAcH,KAAF,IAAa;AAC3B,iBAAOrB,WAAW,CACjBqB,KAAK,CAACf,IADW,EAEjBe,KAAK,CAACF,UAFW,EAGjBE,KAAK,CAACE,WAHW,CAAlB;AAKA,SANE,CADc,CAAlB,CAF+B,CAY/B;AACA;;AACA,cAAME,iBAAiB,GACtBF,WAAW,CAAE,CAAF,CAAX,CAAiBjB,IAAjB,KAA0B,cAA1B,GACGiB,WAAW,CAAE,CAAF,CADd,GAEG,IAHJ,CAd+B,CAmB/B;AACA;;AACAA,QAAAA,WAAW,GAAGA,WAAW,CAACG,MAAZ,CACXL,KAAF,IAAaA,KAAK,KAAKI,iBADV,CAAd;AAIA,eAAOzB,WAAW,CACjB,mBADiB,EAEjB,EACC,IAAKyB,iBAAiB,IAAI;AACzBhB,YAAAA,KAAK,EAAEgB,iBAAiB,CAACN,UAAlB,CAA6BQ;AADX,WAA1B;AADD,SAFiB,EAOjBJ,WAPiB,CAAlB;AASA;;AA5CF,KADK;AADK,GATW;AA2DvBlB,EAAAA;AA3DuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock } from '@wordpress/blocks';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ttitle: __( 'Widget Group' ),\n\tdescription: __(\n\t\t'Create a classic widget layout with a title that’s styled by your theme for your widget areas.'\n\t),\n\ticon,\n\t__experimentalLabel: ( { name: label } ) => label,\n\tedit,\n\tsave,\n\ttransforms: {\n\t\tfrom: [\n\t\t\t{\n\t\t\t\ttype: 'block',\n\t\t\t\tisMultiBlock: true,\n\t\t\t\tblocks: [ '*' ],\n\t\t\t\tisMatch( attributes, blocks ) {\n\t\t\t\t\t// Avoid transforming existing `widget-group` blocks.\n\t\t\t\t\treturn ! blocks.some(\n\t\t\t\t\t\t( block ) => block.name === 'core/widget-group'\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t__experimentalConvert( blocks ) {\n\t\t\t\t\t// Put the selected blocks inside the new Widget Group's innerBlocks.\n\t\t\t\t\tlet innerBlocks = [\n\t\t\t\t\t\t...blocks.map( ( block ) => {\n\t\t\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ),\n\t\t\t\t\t];\n\n\t\t\t\t\t// If the first block is a heading then assume this is intended\n\t\t\t\t\t// to be the Widget's \"title\".\n\t\t\t\t\tconst firstHeadingBlock =\n\t\t\t\t\t\tinnerBlocks[ 0 ].name === 'core/heading'\n\t\t\t\t\t\t\t? innerBlocks[ 0 ]\n\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t// Remove the first heading block as we're copying\n\t\t\t\t\t// it's content into the Widget Group's title attribute.\n\t\t\t\t\tinnerBlocks = innerBlocks.filter(\n\t\t\t\t\t\t( block ) => block !== firstHeadingBlock\n\t\t\t\t\t);\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/widget-group',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...( firstHeadingBlock && {\n\t\t\t\t\t\t\t\ttitle: firstHeadingBlock.attributes.content,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tdeprecated,\n};\n"]}
@@ -12,6 +12,8 @@ export default function save(_ref) {
12
12
  tagName: "h2",
13
13
  className: "widget-title",
14
14
  value: attributes.title
15
- }), createElement(InnerBlocks.Content, null));
15
+ }), createElement("div", {
16
+ className: "wp-widget-group__inner-blocks"
17
+ }, createElement(InnerBlocks.Content, null)));
16
18
  }
17
19
  //# sourceMappingURL=save.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/widgets/src/blocks/widget-group/save.js"],"names":["InnerBlocks","RichText","save","attributes","title"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,QAAtB,QAAsC,yBAAtC;AAEA,eAAe,SAASC,IAAT,OAAgC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAC9C,SACC,8BACC,cAAC,QAAD,CAAU,OAAV;AACC,IAAA,OAAO,EAAC,IADT;AAEC,IAAA,SAAS,EAAC,cAFX;AAGC,IAAA,KAAK,EAAGA,UAAU,CAACC;AAHpB,IADD,EAMC,cAAC,WAAD,CAAa,OAAb,OAND,CADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, RichText } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\treturn (\n\t\t<>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"h2\"\n\t\t\t\tclassName=\"widget-title\"\n\t\t\t\tvalue={ attributes.title }\n\t\t\t/>\n\t\t\t<InnerBlocks.Content />\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/widgets/src/blocks/widget-group/save.js"],"names":["InnerBlocks","RichText","save","attributes","title"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,QAAtB,QAAsC,yBAAtC;AAEA,eAAe,SAASC,IAAT,OAAgC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAC9C,SACC,8BACC,cAAC,QAAD,CAAU,OAAV;AACC,IAAA,OAAO,EAAC,IADT;AAEC,IAAA,SAAS,EAAC,cAFX;AAGC,IAAA,KAAK,EAAGA,UAAU,CAACC;AAHpB,IADD,EAMC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,WAAD,CAAa,OAAb,OADD,CAND,CADD;AAYA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, RichText } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\treturn (\n\t\t<>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"h2\"\n\t\t\t\tclassName=\"widget-title\"\n\t\t\t\tvalue={ attributes.title }\n\t\t\t/>\n\t\t\t<div className=\"wp-widget-group__inner-blocks\">\n\t\t\t\t<InnerBlocks.Content />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/widgets",
3
- "version": "2.1.2",
3
+ "version": "2.2.0-next.e230fbab09.0",
4
4
  "description": "Functionality used by the widgets block editor in the Widgets screen and the Customizer.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -21,22 +21,26 @@
21
21
  "react-native": "src/index",
22
22
  "dependencies": {
23
23
  "@babel/runtime": "^7.16.0",
24
- "@wordpress/api-fetch": "^6.0.1",
25
- "@wordpress/block-editor": "^8.1.2",
26
- "@wordpress/blocks": "^11.2.1",
27
- "@wordpress/components": "^19.4.1",
28
- "@wordpress/compose": "^5.1.1",
29
- "@wordpress/core-data": "^4.1.1",
30
- "@wordpress/data": "^6.2.1",
31
- "@wordpress/element": "^4.1.1",
32
- "@wordpress/i18n": "^4.3.1",
33
- "@wordpress/icons": "^7.0.0",
34
- "@wordpress/notices": "^3.3.1",
24
+ "@wordpress/api-fetch": "^6.1.0-next.e230fbab09.0",
25
+ "@wordpress/block-editor": "^8.3.0-next.e230fbab09.0",
26
+ "@wordpress/blocks": "^11.3.0-next.e230fbab09.0",
27
+ "@wordpress/components": "^19.7.0-next.e230fbab09.0",
28
+ "@wordpress/compose": "^5.2.0-next.e230fbab09.0",
29
+ "@wordpress/core-data": "^4.2.0-next.e230fbab09.0",
30
+ "@wordpress/data": "^6.4.0-next.e230fbab09.0",
31
+ "@wordpress/element": "^4.3.0-next.e230fbab09.0",
32
+ "@wordpress/i18n": "^4.4.0-next.e230fbab09.0",
33
+ "@wordpress/icons": "^7.1.0-next.e230fbab09.0",
34
+ "@wordpress/notices": "^3.4.0-next.e230fbab09.0",
35
35
  "classnames": "^2.3.1",
36
36
  "lodash": "^4.17.21"
37
37
  },
38
+ "peerDependencies": {
39
+ "react": "^17.0.0",
40
+ "react-dom": "^17.0.0"
41
+ },
38
42
  "publishConfig": {
39
43
  "access": "public"
40
44
  },
41
- "gitHead": "0f838547f37472e46e6d5a9d2e84b6c61f4bd3f0"
45
+ "gitHead": "308df03e6a96ded732f9c4e32471b1b4f8dea54a"
42
46
  }
@@ -18,7 +18,7 @@ import { brush as brushIcon } from '@wordpress/icons';
18
18
  import { __ } from '@wordpress/i18n';
19
19
  import { useState, useCallback } from '@wordpress/element';
20
20
  import { useSelect } from '@wordpress/data';
21
- import { store as coreStore } from '@wordpress/core-data';
21
+ import { __experimentalUseEntityRecord as useEntityRecord } from '@wordpress/core-data';
22
22
 
23
23
  /**
24
24
  * Internal dependencies
@@ -94,18 +94,15 @@ function NotEmpty( {
94
94
  } ) {
95
95
  const [ hasPreview, setHasPreview ] = useState( null );
96
96
 
97
- const { widgetType, hasResolvedWidgetType, isNavigationMode } = useSelect(
98
- ( select ) => {
99
- const widgetTypeId = id ?? idBase;
100
- return {
101
- widgetType: select( coreStore ).getWidgetType( widgetTypeId ),
102
- hasResolvedWidgetType: select(
103
- coreStore
104
- ).hasFinishedResolution( 'getWidgetType', [ widgetTypeId ] ),
105
- isNavigationMode: select( blockEditorStore ).isNavigationMode(),
106
- };
107
- },
108
- [ id, idBase ]
97
+ const widgetTypeId = id ?? idBase;
98
+ const {
99
+ record: widgetType,
100
+ hasResolved: hasResolvedWidgetType,
101
+ } = useEntityRecord( 'root', 'widgetType', widgetTypeId );
102
+
103
+ const isNavigationMode = useSelect(
104
+ ( select ) => select( blockEditorStore ).isNavigationMode(),
105
+ []
109
106
  );
110
107
 
111
108
  const setInstance = useCallback( ( nextInstance ) => {
@@ -0,0 +1,32 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { InnerBlocks, RichText } from '@wordpress/block-editor';
5
+
6
+ const v1 = {
7
+ attributes: {
8
+ title: {
9
+ type: 'string',
10
+ },
11
+ },
12
+ supports: {
13
+ html: false,
14
+ inserter: true,
15
+ customClassName: true,
16
+ reusable: false,
17
+ },
18
+ save( { attributes } ) {
19
+ return (
20
+ <>
21
+ <RichText.Content
22
+ tagName="h2"
23
+ className="widget-title"
24
+ value={ attributes.title }
25
+ />
26
+ <InnerBlocks.Content />
27
+ </>
28
+ );
29
+ },
30
+ };
31
+
32
+ export default [ v1 ];
@@ -11,6 +11,8 @@ import { group as icon } from '@wordpress/icons';
11
11
  import metadata from './block.json';
12
12
  import edit from './edit';
13
13
  import save from './save';
14
+ import deprecated from './deprecated';
15
+
14
16
  const { name } = metadata;
15
17
  export { metadata, name };
16
18
 
@@ -73,4 +75,5 @@ export const settings = {
73
75
  },
74
76
  ],
75
77
  },
78
+ deprecated,
76
79
  };
@@ -11,7 +11,9 @@ export default function save( { attributes } ) {
11
11
  className="widget-title"
12
12
  value={ attributes.title }
13
13
  />
14
- <InnerBlocks.Content />
14
+ <div className="wp-widget-group__inner-blocks">
15
+ <InnerBlocks.Content />
16
+ </div>
15
17
  </>
16
18
  );
17
19
  }