@wordpress/widgets 3.0.0 → 3.2.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,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 3.2.0 (2023-01-11)
6
+
7
+ ## 3.1.0 (2023-01-02)
8
+
5
9
  ## 3.0.0 (2022-12-14)
6
10
 
7
11
  ### Breaking Changes
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Gutenberg
2
2
 
3
- Copyright 2016-2022 by the contributors
3
+ Copyright 2016-2023 by the contributors
4
4
 
5
5
  **License for Contributions (on and after April 15, 2021)**
6
6
 
@@ -75,7 +75,7 @@ function Empty(_ref) {
75
75
  icon: _icons.brush
76
76
  }),
77
77
  label: (0, _i18n.__)('Legacy Widget')
78
- }, (0, _element.createElement)(_widgetTypeSelector.default, {
78
+ }, (0, _element.createElement)(_components.Flex, null, (0, _element.createElement)(_components.FlexBlock, null, (0, _element.createElement)(_widgetTypeSelector.default, {
79
79
  selectedId: id !== null && id !== void 0 ? id : idBase,
80
80
  onSelect: _ref2 => {
81
81
  let {
@@ -103,7 +103,7 @@ function Empty(_ref) {
103
103
  });
104
104
  }
105
105
  }
106
- }));
106
+ }))));
107
107
  }
108
108
 
109
109
  function NotEmpty(_ref3) {
@@ -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","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 { 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 { record: widgetType, hasResolved: hasResolvedWidgetType } =\n\t\tuseEntityRecord( '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"]}
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 { Flex, FlexBlock, 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 { 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<Flex>\n\t\t\t\t<FlexBlock>\n\t\t\t\t\t<WidgetTypeSelector\n\t\t\t\t\t\tselectedId={ id ?? idBase }\n\t\t\t\t\t\tonSelect={ ( { selectedId, isMulti } ) => {\n\t\t\t\t\t\t\tif ( ! selectedId ) {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tid: null,\n\t\t\t\t\t\t\t\t\tidBase: null,\n\t\t\t\t\t\t\t\t\tinstance: null,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else if ( isMulti ) {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tid: null,\n\t\t\t\t\t\t\t\t\tidBase: selectedId,\n\t\t\t\t\t\t\t\t\tinstance: {},\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tid: selectedId,\n\t\t\t\t\t\t\t\t\tidBase: null,\n\t\t\t\t\t\t\t\t\tinstance: null,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</FlexBlock>\n\t\t\t</Flex>\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 { record: widgetType, hasResolved: hasResolvedWidgetType } =\n\t\tuseEntityRecord( '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"]}
@@ -43,6 +43,7 @@ function WidgetTypeSelector(_ref) {
43
43
  }
44
44
 
45
45
  return (0, _element.createElement)(_components.SelectControl, {
46
+ __nextHasNoMarginBottom: true,
46
47
  label: (0, _i18n.__)('Select a legacy widget to display:'),
47
48
  value: selectedId !== null && selectedId !== void 0 ? selectedId : '',
48
49
  options: [{
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/widgets/src/blocks/legacy-widget/edit/widget-type-selector.js"],"names":["WidgetTypeSelector","selectedId","onSelect","widgetTypes","select","hiddenIds","blockEditorStore","getSettings","widgetTypesToHideFromLegacyWidgetBlock","coreStore","getWidgetTypes","per_page","filter","widgetType","includes","id","length","value","label","map","name","selected","find","isMulti","is_multi"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAPA;AACA;AACA;AAOe,SAASA,kBAAT,OAAwD;AAAA,MAA3B;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAA2B;AACtE,QAAMC,WAAW,GAAG,qBAAaC,MAAF,IAAc;AAAA;;AAC5C,UAAMC,SAAS,mDACdD,MAAM,CAAEE,kBAAF,CAAN,CAA2BC,WAA3B,EADc,wDACd,oBACGC,sCAFW,yEAE+B,EAF9C;AAGA,oCAAOJ,MAAM,CAAEK,eAAF,CAAN,CACLC,cADK,CACW;AAAEC,MAAAA,QAAQ,EAAE,CAAC;AAAb,KADX,CAAP,0DAAO,sBAEJC,MAFI,CAEMC,UAAF,IAAkB,CAAER,SAAS,CAACS,QAAV,CAAoBD,UAAU,CAACE,EAA/B,CAFxB,CAAP;AAGA,GAPmB,EAOjB,EAPiB,CAApB;;AASA,MAAK,CAAEZ,WAAP,EAAqB;AACpB,WAAO,4BAAC,mBAAD,OAAP;AACA;;AAED,MAAKA,WAAW,CAACa,MAAZ,KAAuB,CAA5B,EAAgC;AAC/B,WAAO,cAAI,iCAAJ,CAAP;AACA;;AAED,SACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,oCAAJ,CADT;AAEC,IAAA,KAAK,EAAGf,UAAH,aAAGA,UAAH,cAAGA,UAAH,GAAiB,EAFvB;AAGC,IAAA,OAAO,EAAG,CACT;AAAEgB,MAAAA,KAAK,EAAE,EAAT;AAAaC,MAAAA,KAAK,EAAE,cAAI,eAAJ;AAApB,KADS,EAET,GAAGf,WAAW,CAACgB,GAAZ,CAAmBN,UAAF,KAAoB;AACvCI,MAAAA,KAAK,EAAEJ,UAAU,CAACE,EADqB;AAEvCG,MAAAA,KAAK,EAAEL,UAAU,CAACO;AAFqB,KAApB,CAAjB,CAFM,CAHX;AAUC,IAAA,QAAQ,EAAKH,KAAF,IAAa;AACvB,UAAKA,KAAL,EAAa;AACZ,cAAMI,QAAQ,GAAGlB,WAAW,CAACmB,IAAZ,CACdT,UAAF,IAAkBA,UAAU,CAACE,EAAX,KAAkBE,KADpB,CAAjB;AAGAf,QAAAA,QAAQ,CAAE;AACTD,UAAAA,UAAU,EAAEoB,QAAQ,CAACN,EADZ;AAETQ,UAAAA,OAAO,EAAEF,QAAQ,CAACG;AAFT,SAAF,CAAR;AAIA,OARD,MAQO;AACNtB,QAAAA,QAAQ,CAAE;AAAED,UAAAA,UAAU,EAAE;AAAd,SAAF,CAAR;AACA;AACD;AAtBF,IADD;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Spinner, SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nexport default function WidgetTypeSelector( { selectedId, onSelect } ) {\n\tconst widgetTypes = useSelect( ( select ) => {\n\t\tconst hiddenIds =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t?.widgetTypesToHideFromLegacyWidgetBlock ?? [];\n\t\treturn select( coreStore )\n\t\t\t.getWidgetTypes( { per_page: -1 } )\n\t\t\t?.filter( ( widgetType ) => ! hiddenIds.includes( widgetType.id ) );\n\t}, [] );\n\n\tif ( ! widgetTypes ) {\n\t\treturn <Spinner />;\n\t}\n\n\tif ( widgetTypes.length === 0 ) {\n\t\treturn __( 'There are no widgets available.' );\n\t}\n\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ __( 'Select a legacy widget to display:' ) }\n\t\t\tvalue={ selectedId ?? '' }\n\t\t\toptions={ [\n\t\t\t\t{ value: '', label: __( 'Select widget' ) },\n\t\t\t\t...widgetTypes.map( ( widgetType ) => ( {\n\t\t\t\t\tvalue: widgetType.id,\n\t\t\t\t\tlabel: widgetType.name,\n\t\t\t\t} ) ),\n\t\t\t] }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tif ( value ) {\n\t\t\t\t\tconst selected = widgetTypes.find(\n\t\t\t\t\t\t( widgetType ) => widgetType.id === value\n\t\t\t\t\t);\n\t\t\t\t\tonSelect( {\n\t\t\t\t\t\tselectedId: selected.id,\n\t\t\t\t\t\tisMulti: selected.is_multi,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tonSelect( { selectedId: null } );\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/widget-type-selector.js"],"names":["WidgetTypeSelector","selectedId","onSelect","widgetTypes","select","hiddenIds","blockEditorStore","getSettings","widgetTypesToHideFromLegacyWidgetBlock","coreStore","getWidgetTypes","per_page","filter","widgetType","includes","id","length","value","label","map","name","selected","find","isMulti","is_multi"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAPA;AACA;AACA;AAOe,SAASA,kBAAT,OAAwD;AAAA,MAA3B;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAA2B;AACtE,QAAMC,WAAW,GAAG,qBAAaC,MAAF,IAAc;AAAA;;AAC5C,UAAMC,SAAS,mDACdD,MAAM,CAAEE,kBAAF,CAAN,CAA2BC,WAA3B,EADc,wDACd,oBACGC,sCAFW,yEAE+B,EAF9C;AAGA,oCAAOJ,MAAM,CAAEK,eAAF,CAAN,CACLC,cADK,CACW;AAAEC,MAAAA,QAAQ,EAAE,CAAC;AAAb,KADX,CAAP,0DAAO,sBAEJC,MAFI,CAEMC,UAAF,IAAkB,CAAER,SAAS,CAACS,QAAV,CAAoBD,UAAU,CAACE,EAA/B,CAFxB,CAAP;AAGA,GAPmB,EAOjB,EAPiB,CAApB;;AASA,MAAK,CAAEZ,WAAP,EAAqB;AACpB,WAAO,4BAAC,mBAAD,OAAP;AACA;;AAED,MAAKA,WAAW,CAACa,MAAZ,KAAuB,CAA5B,EAAgC;AAC/B,WAAO,cAAI,iCAAJ,CAAP;AACA;;AAED,SACC,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,oCAAJ,CAFT;AAGC,IAAA,KAAK,EAAGf,UAAH,aAAGA,UAAH,cAAGA,UAAH,GAAiB,EAHvB;AAIC,IAAA,OAAO,EAAG,CACT;AAAEgB,MAAAA,KAAK,EAAE,EAAT;AAAaC,MAAAA,KAAK,EAAE,cAAI,eAAJ;AAApB,KADS,EAET,GAAGf,WAAW,CAACgB,GAAZ,CAAmBN,UAAF,KAAoB;AACvCI,MAAAA,KAAK,EAAEJ,UAAU,CAACE,EADqB;AAEvCG,MAAAA,KAAK,EAAEL,UAAU,CAACO;AAFqB,KAApB,CAAjB,CAFM,CAJX;AAWC,IAAA,QAAQ,EAAKH,KAAF,IAAa;AACvB,UAAKA,KAAL,EAAa;AACZ,cAAMI,QAAQ,GAAGlB,WAAW,CAACmB,IAAZ,CACdT,UAAF,IAAkBA,UAAU,CAACE,EAAX,KAAkBE,KADpB,CAAjB;AAGAf,QAAAA,QAAQ,CAAE;AACTD,UAAAA,UAAU,EAAEoB,QAAQ,CAACN,EADZ;AAETQ,UAAAA,OAAO,EAAEF,QAAQ,CAACG;AAFT,SAAF,CAAR;AAIA,OARD,MAQO;AACNtB,QAAAA,QAAQ,CAAE;AAAED,UAAAA,UAAU,EAAE;AAAd,SAAF,CAAR;AACA;AACD;AAvBF,IADD;AA2BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Spinner, SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nexport default function WidgetTypeSelector( { selectedId, onSelect } ) {\n\tconst widgetTypes = useSelect( ( select ) => {\n\t\tconst hiddenIds =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t?.widgetTypesToHideFromLegacyWidgetBlock ?? [];\n\t\treturn select( coreStore )\n\t\t\t.getWidgetTypes( { per_page: -1 } )\n\t\t\t?.filter( ( widgetType ) => ! hiddenIds.includes( widgetType.id ) );\n\t}, [] );\n\n\tif ( ! widgetTypes ) {\n\t\treturn <Spinner />;\n\t}\n\n\tif ( widgetTypes.length === 0 ) {\n\t\treturn __( 'There are no widgets available.' );\n\t}\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Select a legacy widget to display:' ) }\n\t\t\tvalue={ selectedId ?? '' }\n\t\t\toptions={ [\n\t\t\t\t{ value: '', label: __( 'Select widget' ) },\n\t\t\t\t...widgetTypes.map( ( widgetType ) => ( {\n\t\t\t\t\tvalue: widgetType.id,\n\t\t\t\t\tlabel: widgetType.name,\n\t\t\t\t} ) ),\n\t\t\t] }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tif ( value ) {\n\t\t\t\t\tconst selected = widgetTypes.find(\n\t\t\t\t\t\t( widgetType ) => widgetType.id === value\n\t\t\t\t\t);\n\t\t\t\t\tonSelect( {\n\t\t\t\t\t\tselectedId: selected.id,\n\t\t\t\t\t\tisMulti: selected.is_multi,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tonSelect( { selectedId: null } );\n\t\t\t\t}\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
package/build/index.js CHANGED
@@ -73,9 +73,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
73
73
  * Note that for the block to be useful, any scripts required by a widget must
74
74
  * be loaded into the page.
75
75
  *
76
+ * @param {Object} supports Block support settings.
76
77
  * @see https://developer.wordpress.org/block-editor/how-to-guides/widgets/legacy-widget-block/
77
78
  */
78
79
  function registerLegacyWidgetBlock() {
80
+ let supports = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
79
81
  const {
80
82
  metadata,
81
83
  settings,
@@ -84,7 +86,11 @@ function registerLegacyWidgetBlock() {
84
86
  (0, _blocks.registerBlockType)({
85
87
  name,
86
88
  ...metadata
87
- }, settings);
89
+ }, { ...settings,
90
+ supports: { ...settings.supports,
91
+ ...supports
92
+ }
93
+ });
88
94
  }
89
95
  /**
90
96
  * Registers the Widget Group block.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/widgets/src/index.js"],"names":["registerLegacyWidgetBlock","metadata","settings","name","legacyWidget","registerWidgetGroupBlock","widgetGroup"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAuBA;;;;;;AAnCA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,yBAAT,GAAqC;AAC3C,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA;AAAtB,MAA+BC,YAArC;AACA,iCAAmB;AAAED,IAAAA,IAAF;AAAQ,OAAGF;AAAX,GAAnB,EAA0CC,QAA1C;AACA;AAED;AACA;AACA;;;AACO,SAASG,wBAAT,GAAoC;AAC1C,QAAM;AAAEJ,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA;AAAtB,MAA+BG,WAArC;AACA,iCAAmB;AAAEH,IAAAA,IAAF;AAAQ,OAAGF;AAAX,GAAnB,EAA0CC,QAA1C;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { registerBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport * as legacyWidget from './blocks/legacy-widget';\nimport * as widgetGroup from './blocks/widget-group';\n\nexport * from './components';\nexport * from './utils';\n\n/**\n * Registers the Legacy Widget block.\n *\n * Note that for the block to be useful, any scripts required by a widget must\n * be loaded into the page.\n *\n * @see https://developer.wordpress.org/block-editor/how-to-guides/widgets/legacy-widget-block/\n */\nexport function registerLegacyWidgetBlock() {\n\tconst { metadata, settings, name } = legacyWidget;\n\tregisterBlockType( { name, ...metadata }, settings );\n}\n\n/**\n * Registers the Widget Group block.\n */\nexport function registerWidgetGroupBlock() {\n\tconst { metadata, settings, name } = widgetGroup;\n\tregisterBlockType( { name, ...metadata }, settings );\n}\n\nexport { default as registerLegacyWidgetVariations } from './register-legacy-widget-variations';\n"]}
1
+ {"version":3,"sources":["@wordpress/widgets/src/index.js"],"names":["registerLegacyWidgetBlock","supports","metadata","settings","name","legacyWidget","registerWidgetGroupBlock","widgetGroup"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAiCA;;;;;;AA7CA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,yBAAT,GAAoD;AAAA,MAAhBC,QAAgB,uEAAL,EAAK;AAC1D,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA;AAAtB,MAA+BC,YAArC;AACA,iCACC;AAAED,IAAAA,IAAF;AAAQ,OAAGF;AAAX,GADD,EAEC,EACC,GAAGC,QADJ;AAECF,IAAAA,QAAQ,EAAE,EACT,GAAGE,QAAQ,CAACF,QADH;AAET,SAAGA;AAFM;AAFX,GAFD;AAUA;AAED;AACA;AACA;;;AACO,SAASK,wBAAT,GAAoC;AAC1C,QAAM;AAAEJ,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA;AAAtB,MAA+BG,WAArC;AACA,iCAAmB;AAAEH,IAAAA,IAAF;AAAQ,OAAGF;AAAX,GAAnB,EAA0CC,QAA1C;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { registerBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport * as legacyWidget from './blocks/legacy-widget';\nimport * as widgetGroup from './blocks/widget-group';\n\nexport * from './components';\nexport * from './utils';\n\n/**\n * Registers the Legacy Widget block.\n *\n * Note that for the block to be useful, any scripts required by a widget must\n * be loaded into the page.\n *\n * @param {Object} supports Block support settings.\n * @see https://developer.wordpress.org/block-editor/how-to-guides/widgets/legacy-widget-block/\n */\nexport function registerLegacyWidgetBlock( supports = {} ) {\n\tconst { metadata, settings, name } = legacyWidget;\n\tregisterBlockType(\n\t\t{ name, ...metadata },\n\t\t{\n\t\t\t...settings,\n\t\t\tsupports: {\n\t\t\t\t...settings.supports,\n\t\t\t\t...supports,\n\t\t\t},\n\t\t}\n\t);\n}\n\n/**\n * Registers the Widget Group block.\n */\nexport function registerWidgetGroupBlock() {\n\tconst { metadata, settings, name } = widgetGroup;\n\tregisterBlockType( { name, ...metadata }, settings );\n}\n\nexport { default as registerLegacyWidgetVariations } from './register-legacy-widget-variations';\n"]}
@@ -9,7 +9,7 @@ import classnames from 'classnames';
9
9
  */
10
10
 
11
11
  import { useBlockProps, BlockControls, InspectorControls, BlockIcon, store as blockEditorStore } from '@wordpress/block-editor';
12
- import { Spinner, Placeholder } from '@wordpress/components';
12
+ import { Flex, FlexBlock, Spinner, Placeholder } from '@wordpress/components';
13
13
  import { brush as brushIcon } from '@wordpress/icons';
14
14
  import { __ } from '@wordpress/i18n';
15
15
  import { useState, useCallback } from '@wordpress/element';
@@ -54,7 +54,7 @@ function Empty(_ref) {
54
54
  icon: brushIcon
55
55
  }),
56
56
  label: __('Legacy Widget')
57
- }, createElement(WidgetTypeSelector, {
57
+ }, createElement(Flex, null, createElement(FlexBlock, null, createElement(WidgetTypeSelector, {
58
58
  selectedId: id !== null && id !== void 0 ? id : idBase,
59
59
  onSelect: _ref2 => {
60
60
  let {
@@ -82,7 +82,7 @@ function Empty(_ref) {
82
82
  });
83
83
  }
84
84
  }
85
- }));
85
+ }))));
86
86
  }
87
87
 
88
88
  function NotEmpty(_ref3) {
@@ -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","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 { 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 { record: widgetType, hasResolved: hasResolvedWidgetType } =\n\t\tuseEntityRecord( '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"]}
1
+ {"version":3,"sources":["@wordpress/widgets/src/blocks/legacy-widget/edit/index.js"],"names":["classnames","useBlockProps","BlockControls","InspectorControls","BlockIcon","store","blockEditorStore","Flex","FlexBlock","Spinner","Placeholder","brush","brushIcon","__","useState","useCallback","useSelect","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 { Flex, FlexBlock, 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 { 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<Flex>\n\t\t\t\t<FlexBlock>\n\t\t\t\t\t<WidgetTypeSelector\n\t\t\t\t\t\tselectedId={ id ?? idBase }\n\t\t\t\t\t\tonSelect={ ( { selectedId, isMulti } ) => {\n\t\t\t\t\t\t\tif ( ! selectedId ) {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tid: null,\n\t\t\t\t\t\t\t\t\tidBase: null,\n\t\t\t\t\t\t\t\t\tinstance: null,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else if ( isMulti ) {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tid: null,\n\t\t\t\t\t\t\t\t\tidBase: selectedId,\n\t\t\t\t\t\t\t\t\tinstance: {},\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tid: selectedId,\n\t\t\t\t\t\t\t\t\tidBase: null,\n\t\t\t\t\t\t\t\t\tinstance: null,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</FlexBlock>\n\t\t\t</Flex>\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 { record: widgetType, hasResolved: hasResolvedWidgetType } =\n\t\tuseEntityRecord( '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"]}
@@ -31,6 +31,7 @@ export default function WidgetTypeSelector(_ref) {
31
31
  }
32
32
 
33
33
  return createElement(SelectControl, {
34
+ __nextHasNoMarginBottom: true,
34
35
  label: __('Select a legacy widget to display:'),
35
36
  value: selectedId !== null && selectedId !== void 0 ? selectedId : '',
36
37
  options: [{
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/widgets/src/blocks/legacy-widget/edit/widget-type-selector.js"],"names":["Spinner","SelectControl","__","useSelect","store","coreStore","blockEditorStore","WidgetTypeSelector","selectedId","onSelect","widgetTypes","select","hiddenIds","getSettings","widgetTypesToHideFromLegacyWidgetBlock","getWidgetTypes","per_page","filter","widgetType","includes","id","length","value","label","map","name","selected","find","isMulti","is_multi"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,OAAT,EAAkBC,aAAlB,QAAuC,uBAAvC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASD,KAAK,IAAIE,gBAAlB,QAA0C,yBAA1C;AAEA,eAAe,SAASC,kBAAT,OAAwD;AAAA,MAA3B;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAA2B;AACtE,QAAMC,WAAW,GAAGP,SAAS,CAAIQ,MAAF,IAAc;AAAA;;AAC5C,UAAMC,SAAS,mDACdD,MAAM,CAAEL,gBAAF,CAAN,CAA2BO,WAA3B,EADc,wDACd,oBACGC,sCAFW,yEAE+B,EAF9C;AAGA,oCAAOH,MAAM,CAAEN,SAAF,CAAN,CACLU,cADK,CACW;AAAEC,MAAAA,QAAQ,EAAE,CAAC;AAAb,KADX,CAAP,0DAAO,sBAEJC,MAFI,CAEMC,UAAF,IAAkB,CAAEN,SAAS,CAACO,QAAV,CAAoBD,UAAU,CAACE,EAA/B,CAFxB,CAAP;AAGA,GAP4B,EAO1B,EAP0B,CAA7B;;AASA,MAAK,CAAEV,WAAP,EAAqB;AACpB,WAAO,cAAC,OAAD,OAAP;AACA;;AAED,MAAKA,WAAW,CAACW,MAAZ,KAAuB,CAA5B,EAAgC;AAC/B,WAAOnB,EAAE,CAAE,iCAAF,CAAT;AACA;;AAED,SACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,oCAAF,CADX;AAEC,IAAA,KAAK,EAAGM,UAAH,aAAGA,UAAH,cAAGA,UAAH,GAAiB,EAFvB;AAGC,IAAA,OAAO,EAAG,CACT;AAAEc,MAAAA,KAAK,EAAE,EAAT;AAAaC,MAAAA,KAAK,EAAErB,EAAE,CAAE,eAAF;AAAtB,KADS,EAET,GAAGQ,WAAW,CAACc,GAAZ,CAAmBN,UAAF,KAAoB;AACvCI,MAAAA,KAAK,EAAEJ,UAAU,CAACE,EADqB;AAEvCG,MAAAA,KAAK,EAAEL,UAAU,CAACO;AAFqB,KAApB,CAAjB,CAFM,CAHX;AAUC,IAAA,QAAQ,EAAKH,KAAF,IAAa;AACvB,UAAKA,KAAL,EAAa;AACZ,cAAMI,QAAQ,GAAGhB,WAAW,CAACiB,IAAZ,CACdT,UAAF,IAAkBA,UAAU,CAACE,EAAX,KAAkBE,KADpB,CAAjB;AAGAb,QAAAA,QAAQ,CAAE;AACTD,UAAAA,UAAU,EAAEkB,QAAQ,CAACN,EADZ;AAETQ,UAAAA,OAAO,EAAEF,QAAQ,CAACG;AAFT,SAAF,CAAR;AAIA,OARD,MAQO;AACNpB,QAAAA,QAAQ,CAAE;AAAED,UAAAA,UAAU,EAAE;AAAd,SAAF,CAAR;AACA;AACD;AAtBF,IADD;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Spinner, SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nexport default function WidgetTypeSelector( { selectedId, onSelect } ) {\n\tconst widgetTypes = useSelect( ( select ) => {\n\t\tconst hiddenIds =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t?.widgetTypesToHideFromLegacyWidgetBlock ?? [];\n\t\treturn select( coreStore )\n\t\t\t.getWidgetTypes( { per_page: -1 } )\n\t\t\t?.filter( ( widgetType ) => ! hiddenIds.includes( widgetType.id ) );\n\t}, [] );\n\n\tif ( ! widgetTypes ) {\n\t\treturn <Spinner />;\n\t}\n\n\tif ( widgetTypes.length === 0 ) {\n\t\treturn __( 'There are no widgets available.' );\n\t}\n\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ __( 'Select a legacy widget to display:' ) }\n\t\t\tvalue={ selectedId ?? '' }\n\t\t\toptions={ [\n\t\t\t\t{ value: '', label: __( 'Select widget' ) },\n\t\t\t\t...widgetTypes.map( ( widgetType ) => ( {\n\t\t\t\t\tvalue: widgetType.id,\n\t\t\t\t\tlabel: widgetType.name,\n\t\t\t\t} ) ),\n\t\t\t] }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tif ( value ) {\n\t\t\t\t\tconst selected = widgetTypes.find(\n\t\t\t\t\t\t( widgetType ) => widgetType.id === value\n\t\t\t\t\t);\n\t\t\t\t\tonSelect( {\n\t\t\t\t\t\tselectedId: selected.id,\n\t\t\t\t\t\tisMulti: selected.is_multi,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tonSelect( { selectedId: null } );\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/widget-type-selector.js"],"names":["Spinner","SelectControl","__","useSelect","store","coreStore","blockEditorStore","WidgetTypeSelector","selectedId","onSelect","widgetTypes","select","hiddenIds","getSettings","widgetTypesToHideFromLegacyWidgetBlock","getWidgetTypes","per_page","filter","widgetType","includes","id","length","value","label","map","name","selected","find","isMulti","is_multi"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,OAAT,EAAkBC,aAAlB,QAAuC,uBAAvC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASD,KAAK,IAAIE,gBAAlB,QAA0C,yBAA1C;AAEA,eAAe,SAASC,kBAAT,OAAwD;AAAA,MAA3B;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAA2B;AACtE,QAAMC,WAAW,GAAGP,SAAS,CAAIQ,MAAF,IAAc;AAAA;;AAC5C,UAAMC,SAAS,mDACdD,MAAM,CAAEL,gBAAF,CAAN,CAA2BO,WAA3B,EADc,wDACd,oBACGC,sCAFW,yEAE+B,EAF9C;AAGA,oCAAOH,MAAM,CAAEN,SAAF,CAAN,CACLU,cADK,CACW;AAAEC,MAAAA,QAAQ,EAAE,CAAC;AAAb,KADX,CAAP,0DAAO,sBAEJC,MAFI,CAEMC,UAAF,IAAkB,CAAEN,SAAS,CAACO,QAAV,CAAoBD,UAAU,CAACE,EAA/B,CAFxB,CAAP;AAGA,GAP4B,EAO1B,EAP0B,CAA7B;;AASA,MAAK,CAAEV,WAAP,EAAqB;AACpB,WAAO,cAAC,OAAD,OAAP;AACA;;AAED,MAAKA,WAAW,CAACW,MAAZ,KAAuB,CAA5B,EAAgC;AAC/B,WAAOnB,EAAE,CAAE,iCAAF,CAAT;AACA;;AAED,SACC,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGA,EAAE,CAAE,oCAAF,CAFX;AAGC,IAAA,KAAK,EAAGM,UAAH,aAAGA,UAAH,cAAGA,UAAH,GAAiB,EAHvB;AAIC,IAAA,OAAO,EAAG,CACT;AAAEc,MAAAA,KAAK,EAAE,EAAT;AAAaC,MAAAA,KAAK,EAAErB,EAAE,CAAE,eAAF;AAAtB,KADS,EAET,GAAGQ,WAAW,CAACc,GAAZ,CAAmBN,UAAF,KAAoB;AACvCI,MAAAA,KAAK,EAAEJ,UAAU,CAACE,EADqB;AAEvCG,MAAAA,KAAK,EAAEL,UAAU,CAACO;AAFqB,KAApB,CAAjB,CAFM,CAJX;AAWC,IAAA,QAAQ,EAAKH,KAAF,IAAa;AACvB,UAAKA,KAAL,EAAa;AACZ,cAAMI,QAAQ,GAAGhB,WAAW,CAACiB,IAAZ,CACdT,UAAF,IAAkBA,UAAU,CAACE,EAAX,KAAkBE,KADpB,CAAjB;AAGAb,QAAAA,QAAQ,CAAE;AACTD,UAAAA,UAAU,EAAEkB,QAAQ,CAACN,EADZ;AAETQ,UAAAA,OAAO,EAAEF,QAAQ,CAACG;AAFT,SAAF,CAAR;AAIA,OARD,MAQO;AACNpB,QAAAA,QAAQ,CAAE;AAAED,UAAAA,UAAU,EAAE;AAAd,SAAF,CAAR;AACA;AACD;AAvBF,IADD;AA2BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Spinner, SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nexport default function WidgetTypeSelector( { selectedId, onSelect } ) {\n\tconst widgetTypes = useSelect( ( select ) => {\n\t\tconst hiddenIds =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t?.widgetTypesToHideFromLegacyWidgetBlock ?? [];\n\t\treturn select( coreStore )\n\t\t\t.getWidgetTypes( { per_page: -1 } )\n\t\t\t?.filter( ( widgetType ) => ! hiddenIds.includes( widgetType.id ) );\n\t}, [] );\n\n\tif ( ! widgetTypes ) {\n\t\treturn <Spinner />;\n\t}\n\n\tif ( widgetTypes.length === 0 ) {\n\t\treturn __( 'There are no widgets available.' );\n\t}\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Select a legacy widget to display:' ) }\n\t\t\tvalue={ selectedId ?? '' }\n\t\t\toptions={ [\n\t\t\t\t{ value: '', label: __( 'Select widget' ) },\n\t\t\t\t...widgetTypes.map( ( widgetType ) => ( {\n\t\t\t\t\tvalue: widgetType.id,\n\t\t\t\t\tlabel: widgetType.name,\n\t\t\t\t} ) ),\n\t\t\t] }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tif ( value ) {\n\t\t\t\t\tconst selected = widgetTypes.find(\n\t\t\t\t\t\t( widgetType ) => widgetType.id === value\n\t\t\t\t\t);\n\t\t\t\t\tonSelect( {\n\t\t\t\t\t\tselectedId: selected.id,\n\t\t\t\t\t\tisMulti: selected.is_multi,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tonSelect( { selectedId: null } );\n\t\t\t\t}\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
@@ -16,10 +16,12 @@ export * from './utils';
16
16
  * Note that for the block to be useful, any scripts required by a widget must
17
17
  * be loaded into the page.
18
18
  *
19
+ * @param {Object} supports Block support settings.
19
20
  * @see https://developer.wordpress.org/block-editor/how-to-guides/widgets/legacy-widget-block/
20
21
  */
21
22
 
22
23
  export function registerLegacyWidgetBlock() {
24
+ let supports = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
23
25
  const {
24
26
  metadata,
25
27
  settings,
@@ -28,7 +30,11 @@ export function registerLegacyWidgetBlock() {
28
30
  registerBlockType({
29
31
  name,
30
32
  ...metadata
31
- }, settings);
33
+ }, { ...settings,
34
+ supports: { ...settings.supports,
35
+ ...supports
36
+ }
37
+ });
32
38
  }
33
39
  /**
34
40
  * Registers the Widget Group block.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/widgets/src/index.js"],"names":["registerBlockType","legacyWidget","widgetGroup","registerLegacyWidgetBlock","metadata","settings","name","registerWidgetGroupBlock","default","registerLegacyWidgetVariations"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,iBAAT,QAAkC,mBAAlC;AAEA;AACA;AACA;;AACA,OAAO,KAAKC,YAAZ,MAA8B,wBAA9B;AACA,OAAO,KAAKC,WAAZ,MAA6B,uBAA7B;AAEA,cAAc,cAAd;AACA,cAAc,SAAd;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,yBAAT,GAAqC;AAC3C,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA;AAAtB,MAA+BL,YAArC;AACAD,EAAAA,iBAAiB,CAAE;AAAEM,IAAAA,IAAF;AAAQ,OAAGF;AAAX,GAAF,EAAyBC,QAAzB,CAAjB;AACA;AAED;AACA;AACA;;AACA,OAAO,SAASE,wBAAT,GAAoC;AAC1C,QAAM;AAAEH,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA;AAAtB,MAA+BJ,WAArC;AACAF,EAAAA,iBAAiB,CAAE;AAAEM,IAAAA,IAAF;AAAQ,OAAGF;AAAX,GAAF,EAAyBC,QAAzB,CAAjB;AACA;AAED,SAASG,OAAO,IAAIC,8BAApB,QAA0D,qCAA1D","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { registerBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport * as legacyWidget from './blocks/legacy-widget';\nimport * as widgetGroup from './blocks/widget-group';\n\nexport * from './components';\nexport * from './utils';\n\n/**\n * Registers the Legacy Widget block.\n *\n * Note that for the block to be useful, any scripts required by a widget must\n * be loaded into the page.\n *\n * @see https://developer.wordpress.org/block-editor/how-to-guides/widgets/legacy-widget-block/\n */\nexport function registerLegacyWidgetBlock() {\n\tconst { metadata, settings, name } = legacyWidget;\n\tregisterBlockType( { name, ...metadata }, settings );\n}\n\n/**\n * Registers the Widget Group block.\n */\nexport function registerWidgetGroupBlock() {\n\tconst { metadata, settings, name } = widgetGroup;\n\tregisterBlockType( { name, ...metadata }, settings );\n}\n\nexport { default as registerLegacyWidgetVariations } from './register-legacy-widget-variations';\n"]}
1
+ {"version":3,"sources":["@wordpress/widgets/src/index.js"],"names":["registerBlockType","legacyWidget","widgetGroup","registerLegacyWidgetBlock","supports","metadata","settings","name","registerWidgetGroupBlock","default","registerLegacyWidgetVariations"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,iBAAT,QAAkC,mBAAlC;AAEA;AACA;AACA;;AACA,OAAO,KAAKC,YAAZ,MAA8B,wBAA9B;AACA,OAAO,KAAKC,WAAZ,MAA6B,uBAA7B;AAEA,cAAc,cAAd;AACA,cAAc,SAAd;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,yBAAT,GAAoD;AAAA,MAAhBC,QAAgB,uEAAL,EAAK;AAC1D,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA;AAAtB,MAA+BN,YAArC;AACAD,EAAAA,iBAAiB,CAChB;AAAEO,IAAAA,IAAF;AAAQ,OAAGF;AAAX,GADgB,EAEhB,EACC,GAAGC,QADJ;AAECF,IAAAA,QAAQ,EAAE,EACT,GAAGE,QAAQ,CAACF,QADH;AAET,SAAGA;AAFM;AAFX,GAFgB,CAAjB;AAUA;AAED;AACA;AACA;;AACA,OAAO,SAASI,wBAAT,GAAoC;AAC1C,QAAM;AAAEH,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA;AAAtB,MAA+BL,WAArC;AACAF,EAAAA,iBAAiB,CAAE;AAAEO,IAAAA,IAAF;AAAQ,OAAGF;AAAX,GAAF,EAAyBC,QAAzB,CAAjB;AACA;AAED,SAASG,OAAO,IAAIC,8BAApB,QAA0D,qCAA1D","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { registerBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport * as legacyWidget from './blocks/legacy-widget';\nimport * as widgetGroup from './blocks/widget-group';\n\nexport * from './components';\nexport * from './utils';\n\n/**\n * Registers the Legacy Widget block.\n *\n * Note that for the block to be useful, any scripts required by a widget must\n * be loaded into the page.\n *\n * @param {Object} supports Block support settings.\n * @see https://developer.wordpress.org/block-editor/how-to-guides/widgets/legacy-widget-block/\n */\nexport function registerLegacyWidgetBlock( supports = {} ) {\n\tconst { metadata, settings, name } = legacyWidget;\n\tregisterBlockType(\n\t\t{ name, ...metadata },\n\t\t{\n\t\t\t...settings,\n\t\t\tsupports: {\n\t\t\t\t...settings.supports,\n\t\t\t\t...supports,\n\t\t\t},\n\t\t}\n\t);\n}\n\n/**\n * Registers the Widget Group block.\n */\nexport function registerWidgetGroupBlock() {\n\tconst { metadata, settings, name } = widgetGroup;\n\tregisterBlockType( { name, ...metadata }, settings );\n}\n\nexport { default as registerLegacyWidgetVariations } from './register-legacy-widget-variations';\n"]}
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -249,14 +249,6 @@
249
249
  min-width: 400px;
250
250
  }
251
251
 
252
- .wp-block-legacy-widget .components-base-control {
253
- width: 100%;
254
- }
255
- .wp-block-legacy-widget .components-select-control__input {
256
- padding: 0;
257
- font-family: system-ui;
258
- }
259
-
260
252
  .wp-block-widget-group.has-child-selected::after {
261
253
  border-radius: 2px;
262
254
  border: 1px solid var(--wp-admin-theme-color);
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -249,14 +249,6 @@
249
249
  min-width: 400px;
250
250
  }
251
251
 
252
- .wp-block-legacy-widget .components-base-control {
253
- width: 100%;
254
- }
255
- .wp-block-legacy-widget .components-select-control__input {
256
- padding: 0;
257
- font-family: system-ui;
258
- }
259
-
260
252
  .wp-block-widget-group.has-child-selected::after {
261
253
  border-radius: 2px;
262
254
  border: 1px solid var(--wp-admin-theme-color);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/widgets",
3
- "version": "3.0.0",
3
+ "version": "3.2.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,17 +21,17 @@
21
21
  "react-native": "src/index",
22
22
  "dependencies": {
23
23
  "@babel/runtime": "^7.16.0",
24
- "@wordpress/api-fetch": "^6.20.0",
25
- "@wordpress/block-editor": "^11.0.0",
26
- "@wordpress/blocks": "^12.0.0",
27
- "@wordpress/components": "^23.0.0",
28
- "@wordpress/compose": "^6.0.0",
29
- "@wordpress/core-data": "^6.0.0",
30
- "@wordpress/data": "^8.0.0",
31
- "@wordpress/element": "^5.0.0",
32
- "@wordpress/i18n": "^4.23.0",
33
- "@wordpress/icons": "^9.14.0",
34
- "@wordpress/notices": "^3.23.0",
24
+ "@wordpress/api-fetch": "^6.22.0",
25
+ "@wordpress/block-editor": "^11.2.0",
26
+ "@wordpress/blocks": "^12.2.0",
27
+ "@wordpress/components": "^23.2.0",
28
+ "@wordpress/compose": "^6.2.0",
29
+ "@wordpress/core-data": "^6.2.0",
30
+ "@wordpress/data": "^8.2.0",
31
+ "@wordpress/element": "^5.2.0",
32
+ "@wordpress/i18n": "^4.25.0",
33
+ "@wordpress/icons": "^9.16.0",
34
+ "@wordpress/notices": "^3.25.0",
35
35
  "classnames": "^2.3.1"
36
36
  },
37
37
  "peerDependencies": {
@@ -41,5 +41,5 @@
41
41
  "publishConfig": {
42
42
  "access": "public"
43
43
  },
44
- "gitHead": "1eb65aabe6738097f4c062e78f69ae8f05879848"
44
+ "gitHead": "204c880ff65295768e9695dfee6c7a9fee1fdd05"
45
45
  }
@@ -13,7 +13,7 @@ import {
13
13
  BlockIcon,
14
14
  store as blockEditorStore,
15
15
  } from '@wordpress/block-editor';
16
- import { Spinner, Placeholder } from '@wordpress/components';
16
+ import { Flex, FlexBlock, Spinner, Placeholder } from '@wordpress/components';
17
17
  import { brush as brushIcon } from '@wordpress/icons';
18
18
  import { __ } from '@wordpress/i18n';
19
19
  import { useState, useCallback } from '@wordpress/element';
@@ -57,30 +57,34 @@ function Empty( { attributes: { id, idBase }, setAttributes } ) {
57
57
  icon={ <BlockIcon icon={ brushIcon } /> }
58
58
  label={ __( 'Legacy Widget' ) }
59
59
  >
60
- <WidgetTypeSelector
61
- selectedId={ id ?? idBase }
62
- onSelect={ ( { selectedId, isMulti } ) => {
63
- if ( ! selectedId ) {
64
- setAttributes( {
65
- id: null,
66
- idBase: null,
67
- instance: null,
68
- } );
69
- } else if ( isMulti ) {
70
- setAttributes( {
71
- id: null,
72
- idBase: selectedId,
73
- instance: {},
74
- } );
75
- } else {
76
- setAttributes( {
77
- id: selectedId,
78
- idBase: null,
79
- instance: null,
80
- } );
81
- }
82
- } }
83
- />
60
+ <Flex>
61
+ <FlexBlock>
62
+ <WidgetTypeSelector
63
+ selectedId={ id ?? idBase }
64
+ onSelect={ ( { selectedId, isMulti } ) => {
65
+ if ( ! selectedId ) {
66
+ setAttributes( {
67
+ id: null,
68
+ idBase: null,
69
+ instance: null,
70
+ } );
71
+ } else if ( isMulti ) {
72
+ setAttributes( {
73
+ id: null,
74
+ idBase: selectedId,
75
+ instance: {},
76
+ } );
77
+ } else {
78
+ setAttributes( {
79
+ id: selectedId,
80
+ idBase: null,
81
+ instance: null,
82
+ } );
83
+ }
84
+ } }
85
+ />
86
+ </FlexBlock>
87
+ </Flex>
84
88
  </Placeholder>
85
89
  );
86
90
  }
@@ -27,6 +27,7 @@ export default function WidgetTypeSelector( { selectedId, onSelect } ) {
27
27
 
28
28
  return (
29
29
  <SelectControl
30
+ __nextHasNoMarginBottom
30
31
  label={ __( 'Select a legacy widget to display:' ) }
31
32
  value={ selectedId ?? '' }
32
33
  options={ [
@@ -163,12 +163,3 @@
163
163
  min-width: 400px;
164
164
  }
165
165
 
166
- .wp-block-legacy-widget {
167
- .components-base-control {
168
- width: 100%;
169
- }
170
- .components-select-control__input {
171
- padding: 0;
172
- font-family: system-ui;
173
- }
174
- }
package/src/index.js CHANGED
@@ -18,11 +18,21 @@ export * from './utils';
18
18
  * Note that for the block to be useful, any scripts required by a widget must
19
19
  * be loaded into the page.
20
20
  *
21
+ * @param {Object} supports Block support settings.
21
22
  * @see https://developer.wordpress.org/block-editor/how-to-guides/widgets/legacy-widget-block/
22
23
  */
23
- export function registerLegacyWidgetBlock() {
24
+ export function registerLegacyWidgetBlock( supports = {} ) {
24
25
  const { metadata, settings, name } = legacyWidget;
25
- registerBlockType( { name, ...metadata }, settings );
26
+ registerBlockType(
27
+ { name, ...metadata },
28
+ {
29
+ ...settings,
30
+ supports: {
31
+ ...settings.supports,
32
+ ...supports,
33
+ },
34
+ }
35
+ );
26
36
  }
27
37
 
28
38
  /**