@wordpress/widgets 2.1.2-next.f435e9e01b.0 → 2.1.4-next.a55ed9455a.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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
- ## 2.1.1-next.0 (2022-02-23)
5
+ ## 2.1.1 (2022-02-10)
6
6
 
7
7
  ### Bug Fix
8
8
 
@@ -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-next.f435e9e01b.0",
3
+ "version": "2.1.4-next.a55ed9455a.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-next.f435e9e01b.0",
25
- "@wordpress/block-editor": "^8.1.2-next.f435e9e01b.0",
26
- "@wordpress/blocks": "^11.2.1-next.f435e9e01b.0",
27
- "@wordpress/components": "^19.4.1-next.f435e9e01b.0",
28
- "@wordpress/compose": "^5.1.1-next.f435e9e01b.0",
29
- "@wordpress/core-data": "^4.1.1-next.f435e9e01b.0",
30
- "@wordpress/data": "^6.2.2-next.f435e9e01b.0",
31
- "@wordpress/element": "^4.1.1-next.f435e9e01b.0",
32
- "@wordpress/i18n": "^4.3.1-next.f435e9e01b.0",
33
- "@wordpress/icons": "^6.3.1-next.f435e9e01b.0",
34
- "@wordpress/notices": "^3.3.1-next.f435e9e01b.0",
24
+ "@wordpress/api-fetch": "^6.0.2-next.a55ed9455a.0",
25
+ "@wordpress/block-editor": "^8.2.1-next.a55ed9455a.0",
26
+ "@wordpress/blocks": "^11.2.3-next.a55ed9455a.0",
27
+ "@wordpress/components": "^19.6.1-next.a55ed9455a.0",
28
+ "@wordpress/compose": "^5.1.3-next.a55ed9455a.0",
29
+ "@wordpress/core-data": "^4.1.3-next.a55ed9455a.0",
30
+ "@wordpress/data": "^6.3.1-next.a55ed9455a.0",
31
+ "@wordpress/element": "^4.1.3-next.a55ed9455a.0",
32
+ "@wordpress/i18n": "^4.3.2-next.a55ed9455a.0",
33
+ "@wordpress/icons": "^7.0.2-next.a55ed9455a.0",
34
+ "@wordpress/notices": "^3.3.3-next.a55ed9455a.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": "14b2846015dfb1b440ce93accdd03842ebe5f1cd"
45
+ "gitHead": "c5108185851b824d531bce55991a3589947e8551"
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
  }