@wordpress/widgets 4.50.0 → 4.51.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,13 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 4.51.0 (2026-07-14)
6
+
7
+ ### Enhancements
8
+
9
+ - Use the emphasis font-weight token for UI emphasis ([#80093](https://github.com/WordPress/gutenberg/pull/80093)).
10
+ - Widen React peer dependency ranges to `^18 || ^19` to support both React 18 and React 19 environments ([#80024](https://github.com/WordPress/gutenberg/pull/80024)).
11
+
5
12
  ## 4.50.0 (2026-07-01)
6
13
 
7
14
  ## 4.49.0 (2026-06-24)
@@ -42,7 +42,6 @@ function WidgetTypeSelector({ selectedId, onSelect }) {
42
42
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
43
43
  import_components.SelectControl,
44
44
  {
45
- __next40pxDefaultSize: true,
46
45
  label: (0, import_i18n.__)("Legacy widget"),
47
46
  value: selectedId ?? "",
48
47
  options: [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/blocks/legacy-widget/edit/widget-type-selector.js"],
4
- "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__next40pxDefaultSize\n\t\t\tlabel={ __( 'Legacy widget' ) }\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"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAuC;AACvC,kBAAmB;AACnB,kBAA0B;AAC1B,uBAAmC;AACnC,0BAA0C;AAajC;AAXM,SAAR,mBAAqC,EAAE,YAAY,SAAS,GAAI;AACtE,QAAM,kBAAc,uBAAW,CAAE,WAAY;AAC5C,UAAM,YACL,OAAQ,oBAAAA,KAAiB,EAAE,YAAY,GACpC,0CAA0C,CAAC;AAC/C,WAAO,OAAQ,iBAAAC,KAAU,EACvB,eAAgB,EAAE,UAAU,GAAG,CAAE,GAChC,OAAQ,CAAE,eAAgB,CAAE,UAAU,SAAU,WAAW,EAAG,CAAE;AAAA,EACpE,GAAG,CAAC,CAAE;AAEN,MAAK,CAAE,aAAc;AACpB,WAAO,4CAAC,6BAAQ;AAAA,EACjB;AAEA,MAAK,YAAY,WAAW,GAAI;AAC/B,eAAO,gBAAI,iCAAkC;AAAA,EAC9C;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,uBAAqB;AAAA,MACrB,WAAQ,gBAAI,eAAgB;AAAA,MAC5B,OAAQ,cAAc;AAAA,MACtB,SAAU;AAAA,QACT,EAAE,OAAO,IAAI,WAAO,gBAAI,eAAgB,EAAE;AAAA,QAC1C,GAAG,YAAY,IAAK,CAAE,gBAAkB;AAAA,UACvC,OAAO,WAAW;AAAA,UAClB,OAAO,WAAW;AAAA,QACnB,EAAI;AAAA,MACL;AAAA,MACA,UAAW,CAAE,UAAW;AACvB,YAAK,OAAQ;AACZ,gBAAM,WAAW,YAAY;AAAA,YAC5B,CAAE,eAAgB,WAAW,OAAO;AAAA,UACrC;AACA,mBAAU;AAAA,YACT,YAAY,SAAS;AAAA,YACrB,SAAS,SAAS;AAAA,UACnB,CAAE;AAAA,QACH,OAAO;AACN,mBAAU,EAAE,YAAY,KAAK,CAAE;AAAA,QAChC;AAAA,MACD;AAAA;AAAA,EACD;AAEF;",
4
+ "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={ __( 'Legacy widget' ) }\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"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAuC;AACvC,kBAAmB;AACnB,kBAA0B;AAC1B,uBAAmC;AACnC,0BAA0C;AAajC;AAXM,SAAR,mBAAqC,EAAE,YAAY,SAAS,GAAI;AACtE,QAAM,kBAAc,uBAAW,CAAE,WAAY;AAC5C,UAAM,YACL,OAAQ,oBAAAA,KAAiB,EAAE,YAAY,GACpC,0CAA0C,CAAC;AAC/C,WAAO,OAAQ,iBAAAC,KAAU,EACvB,eAAgB,EAAE,UAAU,GAAG,CAAE,GAChC,OAAQ,CAAE,eAAgB,CAAE,UAAU,SAAU,WAAW,EAAG,CAAE;AAAA,EACpE,GAAG,CAAC,CAAE;AAEN,MAAK,CAAE,aAAc;AACpB,WAAO,4CAAC,6BAAQ;AAAA,EACjB;AAEA,MAAK,YAAY,WAAW,GAAI;AAC/B,eAAO,gBAAI,iCAAkC;AAAA,EAC9C;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAQ,gBAAI,eAAgB;AAAA,MAC5B,OAAQ,cAAc;AAAA,MACtB,SAAU;AAAA,QACT,EAAE,OAAO,IAAI,WAAO,gBAAI,eAAgB,EAAE;AAAA,QAC1C,GAAG,YAAY,IAAK,CAAE,gBAAkB;AAAA,UACvC,OAAO,WAAW;AAAA,UAClB,OAAO,WAAW;AAAA,QACnB,EAAI;AAAA,MACL;AAAA,MACA,UAAW,CAAE,UAAW;AACvB,YAAK,OAAQ;AACZ,gBAAM,WAAW,YAAY;AAAA,YAC5B,CAAE,eAAgB,WAAW,OAAO;AAAA,UACrC;AACA,mBAAU;AAAA,YACT,YAAY,SAAS;AAAA,YACrB,SAAS,SAAS;AAAA,UACnB,CAAE;AAAA,QACH,OAAO;AACN,mBAAU,EAAE,YAAY,KAAK,CAAE;AAAA,QAChC;AAAA,MACD;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": ["blockEditorStore", "coreStore"]
7
7
  }
@@ -35,9 +35,7 @@ var legacyWidgetTransforms = [
35
35
  {
36
36
  block: "core/html",
37
37
  widget: "custom_html",
38
- transform: ({ content }) => ({
39
- content
40
- })
38
+ transformBlock: ({ content }) => (0, import_blocks.createBlock)("core/html", {}, [], [content])
41
39
  },
42
40
  {
43
41
  block: "core/archives",
@@ -180,7 +178,7 @@ var legacyWidgetTransforms = [
180
178
  };
181
179
  }
182
180
  }
183
- ].map(({ block, widget, transform }) => {
181
+ ].map(({ block, widget, transform, transformBlock }) => {
184
182
  return {
185
183
  type: "block",
186
184
  blocks: [block],
@@ -188,7 +186,7 @@ var legacyWidgetTransforms = [
188
186
  return idBase === widget && !!instance?.raw;
189
187
  },
190
188
  transform: ({ instance }) => {
191
- const transformedBlock = (0, import_blocks.createBlock)(
189
+ const transformedBlock = transformBlock ? transformBlock(instance.raw) : (0, import_blocks.createBlock)(
192
190
  block,
193
191
  transform ? transform(instance.raw) : void 0
194
192
  );
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/blocks/legacy-widget/transforms.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst legacyWidgetTransforms = [\n\t{\n\t\tblock: 'core/calendar',\n\t\twidget: 'calendar',\n\t},\n\t{\n\t\tblock: 'core/search',\n\t\twidget: 'search',\n\t},\n\t{\n\t\tblock: 'core/html',\n\t\twidget: 'custom_html',\n\t\ttransform: ( { content } ) => ( {\n\t\t\tcontent,\n\t\t} ),\n\t},\n\t{\n\t\tblock: 'core/archives',\n\t\twidget: 'archives',\n\t\ttransform: ( { count, dropdown } ) => {\n\t\t\treturn {\n\t\t\t\tdisplayAsDropdown: !! dropdown,\n\t\t\t\tshowPostCounts: !! count,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/latest-posts',\n\t\twidget: 'recent-posts',\n\t\ttransform: ( { show_date: displayPostDate, number } ) => {\n\t\t\treturn {\n\t\t\t\tdisplayPostDate: !! displayPostDate,\n\t\t\t\tpostsToShow: number,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/latest-comments',\n\t\twidget: 'recent-comments',\n\t\ttransform: ( { number } ) => {\n\t\t\treturn {\n\t\t\t\tcommentsToShow: number,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/tag-cloud',\n\t\twidget: 'tag_cloud',\n\t\ttransform: ( { taxonomy, count } ) => {\n\t\t\treturn {\n\t\t\t\tshowTagCounts: !! count,\n\t\t\t\ttaxonomy,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/categories',\n\t\twidget: 'categories',\n\t\ttransform: ( { count, dropdown, hierarchical } ) => {\n\t\t\treturn {\n\t\t\t\tdisplayAsDropdown: !! dropdown,\n\t\t\t\tshowPostCounts: !! count,\n\t\t\t\tshowHierarchy: !! hierarchical,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/audio',\n\t\twidget: 'media_audio',\n\t\ttransform: ( { url, preload, loop, attachment_id: id } ) => {\n\t\t\treturn {\n\t\t\t\tsrc: url,\n\t\t\t\tid,\n\t\t\t\tpreload,\n\t\t\t\tloop,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/video',\n\t\twidget: 'media_video',\n\t\ttransform: ( { url, preload, loop, attachment_id: id } ) => {\n\t\t\treturn {\n\t\t\t\tsrc: url,\n\t\t\t\tid,\n\t\t\t\tpreload,\n\t\t\t\tloop,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/image',\n\t\twidget: 'media_image',\n\t\ttransform: ( {\n\t\t\talt,\n\t\t\tattachment_id: id,\n\t\t\tcaption,\n\t\t\theight,\n\t\t\tlink_classes: linkClass,\n\t\t\tlink_rel: rel,\n\t\t\tlink_target_blank: targetBlack,\n\t\t\tlink_type: linkDestination,\n\t\t\tlink_url: link,\n\t\t\tsize: sizeSlug,\n\t\t\turl,\n\t\t\twidth,\n\t\t} ) => {\n\t\t\treturn {\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\theight,\n\t\t\t\tid,\n\t\t\t\tlink,\n\t\t\t\tlinkClass,\n\t\t\t\tlinkDestination,\n\t\t\t\tlinkTarget: targetBlack ? '_blank' : undefined,\n\t\t\t\trel,\n\t\t\t\tsizeSlug,\n\t\t\t\turl,\n\t\t\t\twidth,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/gallery',\n\t\twidget: 'media_gallery',\n\t\ttransform: ( { ids, link_type: linkTo, size, number } ) => {\n\t\t\treturn {\n\t\t\t\tids,\n\t\t\t\tcolumns: number,\n\t\t\t\tlinkTo,\n\t\t\t\tsizeSlug: size,\n\t\t\t\timages: ids.map( ( id ) => ( {\n\t\t\t\t\tid,\n\t\t\t\t} ) ),\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/rss',\n\t\twidget: 'rss',\n\t\ttransform: ( {\n\t\t\turl,\n\t\t\tshow_author: displayAuthor,\n\t\t\tshow_date: displayDate,\n\t\t\tshow_summary: displayExcerpt,\n\t\t\titems,\n\t\t} ) => {\n\t\t\treturn {\n\t\t\t\tfeedURL: url,\n\t\t\t\tdisplayAuthor: !! displayAuthor,\n\t\t\t\tdisplayDate: !! displayDate,\n\t\t\t\tdisplayExcerpt: !! displayExcerpt,\n\t\t\t\titemsToShow: items,\n\t\t\t};\n\t\t},\n\t},\n].map( ( { block, widget, transform } ) => {\n\treturn {\n\t\ttype: 'block',\n\t\tblocks: [ block ],\n\t\tisMatch: ( { idBase, instance } ) => {\n\t\t\treturn idBase === widget && !! instance?.raw;\n\t\t},\n\t\ttransform: ( { instance } ) => {\n\t\t\tconst transformedBlock = createBlock(\n\t\t\t\tblock,\n\t\t\t\ttransform ? transform( instance.raw ) : undefined\n\t\t\t);\n\t\t\tif ( ! instance.raw?.title ) {\n\t\t\t\treturn transformedBlock;\n\t\t\t}\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\t\tcontent: instance.raw.title,\n\t\t\t\t} ),\n\t\t\t\ttransformedBlock,\n\t\t\t];\n\t\t},\n\t};\n} );\n\nconst transforms = {\n\tto: legacyWidgetTransforms,\n};\n\nexport default transforms;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst legacyWidgetTransforms = [\n\t{\n\t\tblock: 'core/calendar',\n\t\twidget: 'calendar',\n\t},\n\t{\n\t\tblock: 'core/search',\n\t\twidget: 'search',\n\t},\n\t{\n\t\tblock: 'core/html',\n\t\twidget: 'custom_html',\n\t\ttransformBlock: ( { content } ) =>\n\t\t\tcreateBlock( 'core/html', {}, [], [ content ] ),\n\t},\n\t{\n\t\tblock: 'core/archives',\n\t\twidget: 'archives',\n\t\ttransform: ( { count, dropdown } ) => {\n\t\t\treturn {\n\t\t\t\tdisplayAsDropdown: !! dropdown,\n\t\t\t\tshowPostCounts: !! count,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/latest-posts',\n\t\twidget: 'recent-posts',\n\t\ttransform: ( { show_date: displayPostDate, number } ) => {\n\t\t\treturn {\n\t\t\t\tdisplayPostDate: !! displayPostDate,\n\t\t\t\tpostsToShow: number,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/latest-comments',\n\t\twidget: 'recent-comments',\n\t\ttransform: ( { number } ) => {\n\t\t\treturn {\n\t\t\t\tcommentsToShow: number,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/tag-cloud',\n\t\twidget: 'tag_cloud',\n\t\ttransform: ( { taxonomy, count } ) => {\n\t\t\treturn {\n\t\t\t\tshowTagCounts: !! count,\n\t\t\t\ttaxonomy,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/categories',\n\t\twidget: 'categories',\n\t\ttransform: ( { count, dropdown, hierarchical } ) => {\n\t\t\treturn {\n\t\t\t\tdisplayAsDropdown: !! dropdown,\n\t\t\t\tshowPostCounts: !! count,\n\t\t\t\tshowHierarchy: !! hierarchical,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/audio',\n\t\twidget: 'media_audio',\n\t\ttransform: ( { url, preload, loop, attachment_id: id } ) => {\n\t\t\treturn {\n\t\t\t\tsrc: url,\n\t\t\t\tid,\n\t\t\t\tpreload,\n\t\t\t\tloop,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/video',\n\t\twidget: 'media_video',\n\t\ttransform: ( { url, preload, loop, attachment_id: id } ) => {\n\t\t\treturn {\n\t\t\t\tsrc: url,\n\t\t\t\tid,\n\t\t\t\tpreload,\n\t\t\t\tloop,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/image',\n\t\twidget: 'media_image',\n\t\ttransform: ( {\n\t\t\talt,\n\t\t\tattachment_id: id,\n\t\t\tcaption,\n\t\t\theight,\n\t\t\tlink_classes: linkClass,\n\t\t\tlink_rel: rel,\n\t\t\tlink_target_blank: targetBlack,\n\t\t\tlink_type: linkDestination,\n\t\t\tlink_url: link,\n\t\t\tsize: sizeSlug,\n\t\t\turl,\n\t\t\twidth,\n\t\t} ) => {\n\t\t\treturn {\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\theight,\n\t\t\t\tid,\n\t\t\t\tlink,\n\t\t\t\tlinkClass,\n\t\t\t\tlinkDestination,\n\t\t\t\tlinkTarget: targetBlack ? '_blank' : undefined,\n\t\t\t\trel,\n\t\t\t\tsizeSlug,\n\t\t\t\turl,\n\t\t\t\twidth,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/gallery',\n\t\twidget: 'media_gallery',\n\t\ttransform: ( { ids, link_type: linkTo, size, number } ) => {\n\t\t\treturn {\n\t\t\t\tids,\n\t\t\t\tcolumns: number,\n\t\t\t\tlinkTo,\n\t\t\t\tsizeSlug: size,\n\t\t\t\timages: ids.map( ( id ) => ( {\n\t\t\t\t\tid,\n\t\t\t\t} ) ),\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/rss',\n\t\twidget: 'rss',\n\t\ttransform: ( {\n\t\t\turl,\n\t\t\tshow_author: displayAuthor,\n\t\t\tshow_date: displayDate,\n\t\t\tshow_summary: displayExcerpt,\n\t\t\titems,\n\t\t} ) => {\n\t\t\treturn {\n\t\t\t\tfeedURL: url,\n\t\t\t\tdisplayAuthor: !! displayAuthor,\n\t\t\t\tdisplayDate: !! displayDate,\n\t\t\t\tdisplayExcerpt: !! displayExcerpt,\n\t\t\t\titemsToShow: items,\n\t\t\t};\n\t\t},\n\t},\n].map( ( { block, widget, transform, transformBlock } ) => {\n\treturn {\n\t\ttype: 'block',\n\t\tblocks: [ block ],\n\t\tisMatch: ( { idBase, instance } ) => {\n\t\t\treturn idBase === widget && !! instance?.raw;\n\t\t},\n\t\ttransform: ( { instance } ) => {\n\t\t\tconst transformedBlock = transformBlock\n\t\t\t\t? transformBlock( instance.raw )\n\t\t\t\t: createBlock(\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\ttransform ? transform( instance.raw ) : undefined\n\t\t\t\t );\n\t\t\tif ( ! instance.raw?.title ) {\n\t\t\t\treturn transformedBlock;\n\t\t\t}\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\t\tcontent: instance.raw.title,\n\t\t\t\t} ),\n\t\t\t\ttransformedBlock,\n\t\t\t];\n\t\t},\n\t};\n} );\n\nconst transforms = {\n\tto: legacyWidgetTransforms,\n};\n\nexport default transforms;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -63,15 +63,9 @@ var settings = {
63
63
  );
64
64
  },
65
65
  __experimentalConvert(blocks) {
66
- let innerBlocks = [
67
- ...blocks.map((block) => {
68
- return (0, import_blocks.createBlock)(
69
- block.name,
70
- block.attributes,
71
- block.innerBlocks
72
- );
73
- })
74
- ];
66
+ let innerBlocks = blocks.map(
67
+ (block) => (0, import_blocks.cloneSanitizedBlock)(block)
68
+ );
75
69
  const firstHeadingBlock = innerBlocks[0].name === "core/heading" ? innerBlocks[0] : null;
76
70
  innerBlocks = innerBlocks.filter(
77
71
  (block) => block !== firstHeadingBlock
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/blocks/widget-group/index.js"],
4
- "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"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,oBAA4B;AAC5B,mBAA8B;AAK9B,mBAAqB;AACrB,kBAAiB;AACjB,kBAAiB;AACjB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAGV,IAAM,WAAW;AAAA,EACvB,WAAO,gBAAI,cAAe;AAAA,EAC1B,iBAAa;AAAA,IACZ;AAAA,EACD;AAAA,EACA,mBAAAC;AAAA,EACA,qBAAqB,CAAE,EAAE,MAAM,MAAM,MAAO;AAAA,EAC5C,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,YAAY;AAAA,IACX,MAAM;AAAA,MACL;AAAA,QACC,MAAM;AAAA,QACN,cAAc;AAAA,QACd,QAAQ,CAAE,GAAI;AAAA,QACd,QAAS,YAAY,QAAS;AAE7B,iBAAO,CAAE,OAAO;AAAA,YACf,CAAE,UAAW,MAAM,SAAS;AAAA,UAC7B;AAAA,QACD;AAAA,QACA,sBAAuB,QAAS;AAE/B,cAAI,cAAc;AAAA,YACjB,GAAG,OAAO,IAAK,CAAE,UAAW;AAC3B,yBAAO;AAAA,gBACN,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,MAAM;AAAA,cACP;AAAA,YACD,CAAE;AAAA,UACH;AAIA,gBAAM,oBACL,YAAa,CAAE,EAAE,SAAS,iBACvB,YAAa,CAAE,IACf;AAIJ,wBAAc,YAAY;AAAA,YACzB,CAAE,UAAW,UAAU;AAAA,UACxB;AAEA,qBAAO;AAAA,YACN;AAAA,YACA;AAAA,cACC,GAAK,qBAAqB;AAAA,gBACzB,OAAO,kBAAkB,WAAW;AAAA,cACrC;AAAA,YACD;AAAA,YACA;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,8BAAAC;AACD;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock, cloneSanitizedBlock } 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 = blocks.map( ( block ) =>\n\t\t\t\t\t\tcloneSanitizedBlock( block )\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"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,oBAAiD;AACjD,mBAA8B;AAK9B,mBAAqB;AACrB,kBAAiB;AACjB,kBAAiB;AACjB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAGV,IAAM,WAAW;AAAA,EACvB,WAAO,gBAAI,cAAe;AAAA,EAC1B,iBAAa;AAAA,IACZ;AAAA,EACD;AAAA,EACA,mBAAAC;AAAA,EACA,qBAAqB,CAAE,EAAE,MAAM,MAAM,MAAO;AAAA,EAC5C,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,YAAY;AAAA,IACX,MAAM;AAAA,MACL;AAAA,QACC,MAAM;AAAA,QACN,cAAc;AAAA,QACd,QAAQ,CAAE,GAAI;AAAA,QACd,QAAS,YAAY,QAAS;AAE7B,iBAAO,CAAE,OAAO;AAAA,YACf,CAAE,UAAW,MAAM,SAAS;AAAA,UAC7B;AAAA,QACD;AAAA,QACA,sBAAuB,QAAS;AAE/B,cAAI,cAAc,OAAO;AAAA,YAAK,CAAE,cAC/B,mCAAqB,KAAM;AAAA,UAC5B;AAIA,gBAAM,oBACL,YAAa,CAAE,EAAE,SAAS,iBACvB,YAAa,CAAE,IACf;AAIJ,wBAAc,YAAY;AAAA,YACzB,CAAE,UAAW,UAAU;AAAA,UACxB;AAEA,qBAAO;AAAA,YACN;AAAA,YACA;AAAA,cACC,GAAK,qBAAqB;AAAA,gBACzB,OAAO,kBAAkB,WAAW;AAAA,cACrC;AAAA,YACD;AAAA,YACA;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,8BAAAC;AACD;",
6
6
  "names": ["metadata", "icon", "edit", "save", "deprecated"]
7
7
  }
@@ -19,7 +19,6 @@ function WidgetTypeSelector({ selectedId, onSelect }) {
19
19
  return /* @__PURE__ */ jsx(
20
20
  SelectControl,
21
21
  {
22
- __next40pxDefaultSize: true,
23
22
  label: __("Legacy widget"),
24
23
  value: selectedId ?? "",
25
24
  options: [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/blocks/legacy-widget/edit/widget-type-selector.js"],
4
- "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__next40pxDefaultSize\n\t\t\tlabel={ __( 'Legacy widget' ) }\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"],
5
- "mappings": ";AAGA,SAAS,SAAS,qBAAqB;AACvC,SAAS,UAAU;AACnB,SAAS,iBAAiB;AAC1B,SAAS,SAAS,iBAAiB;AACnC,SAAS,SAAS,wBAAwB;AAajC;AAXM,SAAR,mBAAqC,EAAE,YAAY,SAAS,GAAI;AACtE,QAAM,cAAc,UAAW,CAAE,WAAY;AAC5C,UAAM,YACL,OAAQ,gBAAiB,EAAE,YAAY,GACpC,0CAA0C,CAAC;AAC/C,WAAO,OAAQ,SAAU,EACvB,eAAgB,EAAE,UAAU,GAAG,CAAE,GAChC,OAAQ,CAAE,eAAgB,CAAE,UAAU,SAAU,WAAW,EAAG,CAAE;AAAA,EACpE,GAAG,CAAC,CAAE;AAEN,MAAK,CAAE,aAAc;AACpB,WAAO,oBAAC,WAAQ;AAAA,EACjB;AAEA,MAAK,YAAY,WAAW,GAAI;AAC/B,WAAO,GAAI,iCAAkC;AAAA,EAC9C;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,uBAAqB;AAAA,MACrB,OAAQ,GAAI,eAAgB;AAAA,MAC5B,OAAQ,cAAc;AAAA,MACtB,SAAU;AAAA,QACT,EAAE,OAAO,IAAI,OAAO,GAAI,eAAgB,EAAE;AAAA,QAC1C,GAAG,YAAY,IAAK,CAAE,gBAAkB;AAAA,UACvC,OAAO,WAAW;AAAA,UAClB,OAAO,WAAW;AAAA,QACnB,EAAI;AAAA,MACL;AAAA,MACA,UAAW,CAAE,UAAW;AACvB,YAAK,OAAQ;AACZ,gBAAM,WAAW,YAAY;AAAA,YAC5B,CAAE,eAAgB,WAAW,OAAO;AAAA,UACrC;AACA,mBAAU;AAAA,YACT,YAAY,SAAS;AAAA,YACrB,SAAS,SAAS;AAAA,UACnB,CAAE;AAAA,QACH,OAAO;AACN,mBAAU,EAAE,YAAY,KAAK,CAAE;AAAA,QAChC;AAAA,MACD;AAAA;AAAA,EACD;AAEF;",
4
+ "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={ __( 'Legacy widget' ) }\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"],
5
+ "mappings": ";AAGA,SAAS,SAAS,qBAAqB;AACvC,SAAS,UAAU;AACnB,SAAS,iBAAiB;AAC1B,SAAS,SAAS,iBAAiB;AACnC,SAAS,SAAS,wBAAwB;AAajC;AAXM,SAAR,mBAAqC,EAAE,YAAY,SAAS,GAAI;AACtE,QAAM,cAAc,UAAW,CAAE,WAAY;AAC5C,UAAM,YACL,OAAQ,gBAAiB,EAAE,YAAY,GACpC,0CAA0C,CAAC;AAC/C,WAAO,OAAQ,SAAU,EACvB,eAAgB,EAAE,UAAU,GAAG,CAAE,GAChC,OAAQ,CAAE,eAAgB,CAAE,UAAU,SAAU,WAAW,EAAG,CAAE;AAAA,EACpE,GAAG,CAAC,CAAE;AAEN,MAAK,CAAE,aAAc;AACpB,WAAO,oBAAC,WAAQ;AAAA,EACjB;AAEA,MAAK,YAAY,WAAW,GAAI;AAC/B,WAAO,GAAI,iCAAkC;AAAA,EAC9C;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,GAAI,eAAgB;AAAA,MAC5B,OAAQ,cAAc;AAAA,MACtB,SAAU;AAAA,QACT,EAAE,OAAO,IAAI,OAAO,GAAI,eAAgB,EAAE;AAAA,QAC1C,GAAG,YAAY,IAAK,CAAE,gBAAkB;AAAA,UACvC,OAAO,WAAW;AAAA,UAClB,OAAO,WAAW;AAAA,QACnB,EAAI;AAAA,MACL;AAAA,MACA,UAAW,CAAE,UAAW;AACvB,YAAK,OAAQ;AACZ,gBAAM,WAAW,YAAY;AAAA,YAC5B,CAAE,eAAgB,WAAW,OAAO;AAAA,UACrC;AACA,mBAAU;AAAA,YACT,YAAY,SAAS;AAAA,YACrB,SAAS,SAAS;AAAA,UACnB,CAAE;AAAA,QACH,OAAO;AACN,mBAAU,EAAE,YAAY,KAAK,CAAE;AAAA,QAChC;AAAA,MACD;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": []
7
7
  }
@@ -12,9 +12,7 @@ var legacyWidgetTransforms = [
12
12
  {
13
13
  block: "core/html",
14
14
  widget: "custom_html",
15
- transform: ({ content }) => ({
16
- content
17
- })
15
+ transformBlock: ({ content }) => createBlock("core/html", {}, [], [content])
18
16
  },
19
17
  {
20
18
  block: "core/archives",
@@ -157,7 +155,7 @@ var legacyWidgetTransforms = [
157
155
  };
158
156
  }
159
157
  }
160
- ].map(({ block, widget, transform }) => {
158
+ ].map(({ block, widget, transform, transformBlock }) => {
161
159
  return {
162
160
  type: "block",
163
161
  blocks: [block],
@@ -165,7 +163,7 @@ var legacyWidgetTransforms = [
165
163
  return idBase === widget && !!instance?.raw;
166
164
  },
167
165
  transform: ({ instance }) => {
168
- const transformedBlock = createBlock(
166
+ const transformedBlock = transformBlock ? transformBlock(instance.raw) : createBlock(
169
167
  block,
170
168
  transform ? transform(instance.raw) : void 0
171
169
  );
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/blocks/legacy-widget/transforms.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst legacyWidgetTransforms = [\n\t{\n\t\tblock: 'core/calendar',\n\t\twidget: 'calendar',\n\t},\n\t{\n\t\tblock: 'core/search',\n\t\twidget: 'search',\n\t},\n\t{\n\t\tblock: 'core/html',\n\t\twidget: 'custom_html',\n\t\ttransform: ( { content } ) => ( {\n\t\t\tcontent,\n\t\t} ),\n\t},\n\t{\n\t\tblock: 'core/archives',\n\t\twidget: 'archives',\n\t\ttransform: ( { count, dropdown } ) => {\n\t\t\treturn {\n\t\t\t\tdisplayAsDropdown: !! dropdown,\n\t\t\t\tshowPostCounts: !! count,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/latest-posts',\n\t\twidget: 'recent-posts',\n\t\ttransform: ( { show_date: displayPostDate, number } ) => {\n\t\t\treturn {\n\t\t\t\tdisplayPostDate: !! displayPostDate,\n\t\t\t\tpostsToShow: number,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/latest-comments',\n\t\twidget: 'recent-comments',\n\t\ttransform: ( { number } ) => {\n\t\t\treturn {\n\t\t\t\tcommentsToShow: number,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/tag-cloud',\n\t\twidget: 'tag_cloud',\n\t\ttransform: ( { taxonomy, count } ) => {\n\t\t\treturn {\n\t\t\t\tshowTagCounts: !! count,\n\t\t\t\ttaxonomy,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/categories',\n\t\twidget: 'categories',\n\t\ttransform: ( { count, dropdown, hierarchical } ) => {\n\t\t\treturn {\n\t\t\t\tdisplayAsDropdown: !! dropdown,\n\t\t\t\tshowPostCounts: !! count,\n\t\t\t\tshowHierarchy: !! hierarchical,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/audio',\n\t\twidget: 'media_audio',\n\t\ttransform: ( { url, preload, loop, attachment_id: id } ) => {\n\t\t\treturn {\n\t\t\t\tsrc: url,\n\t\t\t\tid,\n\t\t\t\tpreload,\n\t\t\t\tloop,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/video',\n\t\twidget: 'media_video',\n\t\ttransform: ( { url, preload, loop, attachment_id: id } ) => {\n\t\t\treturn {\n\t\t\t\tsrc: url,\n\t\t\t\tid,\n\t\t\t\tpreload,\n\t\t\t\tloop,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/image',\n\t\twidget: 'media_image',\n\t\ttransform: ( {\n\t\t\talt,\n\t\t\tattachment_id: id,\n\t\t\tcaption,\n\t\t\theight,\n\t\t\tlink_classes: linkClass,\n\t\t\tlink_rel: rel,\n\t\t\tlink_target_blank: targetBlack,\n\t\t\tlink_type: linkDestination,\n\t\t\tlink_url: link,\n\t\t\tsize: sizeSlug,\n\t\t\turl,\n\t\t\twidth,\n\t\t} ) => {\n\t\t\treturn {\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\theight,\n\t\t\t\tid,\n\t\t\t\tlink,\n\t\t\t\tlinkClass,\n\t\t\t\tlinkDestination,\n\t\t\t\tlinkTarget: targetBlack ? '_blank' : undefined,\n\t\t\t\trel,\n\t\t\t\tsizeSlug,\n\t\t\t\turl,\n\t\t\t\twidth,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/gallery',\n\t\twidget: 'media_gallery',\n\t\ttransform: ( { ids, link_type: linkTo, size, number } ) => {\n\t\t\treturn {\n\t\t\t\tids,\n\t\t\t\tcolumns: number,\n\t\t\t\tlinkTo,\n\t\t\t\tsizeSlug: size,\n\t\t\t\timages: ids.map( ( id ) => ( {\n\t\t\t\t\tid,\n\t\t\t\t} ) ),\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/rss',\n\t\twidget: 'rss',\n\t\ttransform: ( {\n\t\t\turl,\n\t\t\tshow_author: displayAuthor,\n\t\t\tshow_date: displayDate,\n\t\t\tshow_summary: displayExcerpt,\n\t\t\titems,\n\t\t} ) => {\n\t\t\treturn {\n\t\t\t\tfeedURL: url,\n\t\t\t\tdisplayAuthor: !! displayAuthor,\n\t\t\t\tdisplayDate: !! displayDate,\n\t\t\t\tdisplayExcerpt: !! displayExcerpt,\n\t\t\t\titemsToShow: items,\n\t\t\t};\n\t\t},\n\t},\n].map( ( { block, widget, transform } ) => {\n\treturn {\n\t\ttype: 'block',\n\t\tblocks: [ block ],\n\t\tisMatch: ( { idBase, instance } ) => {\n\t\t\treturn idBase === widget && !! instance?.raw;\n\t\t},\n\t\ttransform: ( { instance } ) => {\n\t\t\tconst transformedBlock = createBlock(\n\t\t\t\tblock,\n\t\t\t\ttransform ? transform( instance.raw ) : undefined\n\t\t\t);\n\t\t\tif ( ! instance.raw?.title ) {\n\t\t\t\treturn transformedBlock;\n\t\t\t}\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\t\tcontent: instance.raw.title,\n\t\t\t\t} ),\n\t\t\t\ttransformedBlock,\n\t\t\t];\n\t\t},\n\t};\n} );\n\nconst transforms = {\n\tto: legacyWidgetTransforms,\n};\n\nexport default transforms;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst legacyWidgetTransforms = [\n\t{\n\t\tblock: 'core/calendar',\n\t\twidget: 'calendar',\n\t},\n\t{\n\t\tblock: 'core/search',\n\t\twidget: 'search',\n\t},\n\t{\n\t\tblock: 'core/html',\n\t\twidget: 'custom_html',\n\t\ttransformBlock: ( { content } ) =>\n\t\t\tcreateBlock( 'core/html', {}, [], [ content ] ),\n\t},\n\t{\n\t\tblock: 'core/archives',\n\t\twidget: 'archives',\n\t\ttransform: ( { count, dropdown } ) => {\n\t\t\treturn {\n\t\t\t\tdisplayAsDropdown: !! dropdown,\n\t\t\t\tshowPostCounts: !! count,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/latest-posts',\n\t\twidget: 'recent-posts',\n\t\ttransform: ( { show_date: displayPostDate, number } ) => {\n\t\t\treturn {\n\t\t\t\tdisplayPostDate: !! displayPostDate,\n\t\t\t\tpostsToShow: number,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/latest-comments',\n\t\twidget: 'recent-comments',\n\t\ttransform: ( { number } ) => {\n\t\t\treturn {\n\t\t\t\tcommentsToShow: number,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/tag-cloud',\n\t\twidget: 'tag_cloud',\n\t\ttransform: ( { taxonomy, count } ) => {\n\t\t\treturn {\n\t\t\t\tshowTagCounts: !! count,\n\t\t\t\ttaxonomy,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/categories',\n\t\twidget: 'categories',\n\t\ttransform: ( { count, dropdown, hierarchical } ) => {\n\t\t\treturn {\n\t\t\t\tdisplayAsDropdown: !! dropdown,\n\t\t\t\tshowPostCounts: !! count,\n\t\t\t\tshowHierarchy: !! hierarchical,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/audio',\n\t\twidget: 'media_audio',\n\t\ttransform: ( { url, preload, loop, attachment_id: id } ) => {\n\t\t\treturn {\n\t\t\t\tsrc: url,\n\t\t\t\tid,\n\t\t\t\tpreload,\n\t\t\t\tloop,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/video',\n\t\twidget: 'media_video',\n\t\ttransform: ( { url, preload, loop, attachment_id: id } ) => {\n\t\t\treturn {\n\t\t\t\tsrc: url,\n\t\t\t\tid,\n\t\t\t\tpreload,\n\t\t\t\tloop,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/image',\n\t\twidget: 'media_image',\n\t\ttransform: ( {\n\t\t\talt,\n\t\t\tattachment_id: id,\n\t\t\tcaption,\n\t\t\theight,\n\t\t\tlink_classes: linkClass,\n\t\t\tlink_rel: rel,\n\t\t\tlink_target_blank: targetBlack,\n\t\t\tlink_type: linkDestination,\n\t\t\tlink_url: link,\n\t\t\tsize: sizeSlug,\n\t\t\turl,\n\t\t\twidth,\n\t\t} ) => {\n\t\t\treturn {\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\theight,\n\t\t\t\tid,\n\t\t\t\tlink,\n\t\t\t\tlinkClass,\n\t\t\t\tlinkDestination,\n\t\t\t\tlinkTarget: targetBlack ? '_blank' : undefined,\n\t\t\t\trel,\n\t\t\t\tsizeSlug,\n\t\t\t\turl,\n\t\t\t\twidth,\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/gallery',\n\t\twidget: 'media_gallery',\n\t\ttransform: ( { ids, link_type: linkTo, size, number } ) => {\n\t\t\treturn {\n\t\t\t\tids,\n\t\t\t\tcolumns: number,\n\t\t\t\tlinkTo,\n\t\t\t\tsizeSlug: size,\n\t\t\t\timages: ids.map( ( id ) => ( {\n\t\t\t\t\tid,\n\t\t\t\t} ) ),\n\t\t\t};\n\t\t},\n\t},\n\t{\n\t\tblock: 'core/rss',\n\t\twidget: 'rss',\n\t\ttransform: ( {\n\t\t\turl,\n\t\t\tshow_author: displayAuthor,\n\t\t\tshow_date: displayDate,\n\t\t\tshow_summary: displayExcerpt,\n\t\t\titems,\n\t\t} ) => {\n\t\t\treturn {\n\t\t\t\tfeedURL: url,\n\t\t\t\tdisplayAuthor: !! displayAuthor,\n\t\t\t\tdisplayDate: !! displayDate,\n\t\t\t\tdisplayExcerpt: !! displayExcerpt,\n\t\t\t\titemsToShow: items,\n\t\t\t};\n\t\t},\n\t},\n].map( ( { block, widget, transform, transformBlock } ) => {\n\treturn {\n\t\ttype: 'block',\n\t\tblocks: [ block ],\n\t\tisMatch: ( { idBase, instance } ) => {\n\t\t\treturn idBase === widget && !! instance?.raw;\n\t\t},\n\t\ttransform: ( { instance } ) => {\n\t\t\tconst transformedBlock = transformBlock\n\t\t\t\t? transformBlock( instance.raw )\n\t\t\t\t: createBlock(\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\ttransform ? transform( instance.raw ) : undefined\n\t\t\t\t );\n\t\t\tif ( ! instance.raw?.title ) {\n\t\t\t\treturn transformedBlock;\n\t\t\t}\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\t\tcontent: instance.raw.title,\n\t\t\t\t} ),\n\t\t\t\ttransformedBlock,\n\t\t\t];\n\t\t},\n\t};\n} );\n\nconst transforms = {\n\tto: legacyWidgetTransforms,\n};\n\nexport default transforms;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  // packages/widgets/src/blocks/widget-group/index.js
2
2
  import { __ } from "@wordpress/i18n";
3
- import { createBlock } from "@wordpress/blocks";
3
+ import { createBlock, cloneSanitizedBlock } from "@wordpress/blocks";
4
4
  import { group as icon } from "@wordpress/icons";
5
5
  import metadata from "./block.json";
6
6
  import edit from "./edit.mjs";
@@ -28,15 +28,9 @@ var settings = {
28
28
  );
29
29
  },
30
30
  __experimentalConvert(blocks) {
31
- let innerBlocks = [
32
- ...blocks.map((block) => {
33
- return createBlock(
34
- block.name,
35
- block.attributes,
36
- block.innerBlocks
37
- );
38
- })
39
- ];
31
+ let innerBlocks = blocks.map(
32
+ (block) => cloneSanitizedBlock(block)
33
+ );
40
34
  const firstHeadingBlock = innerBlocks[0].name === "core/heading" ? innerBlocks[0] : null;
41
35
  innerBlocks = innerBlocks.filter(
42
36
  (block) => block !== firstHeadingBlock
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/blocks/widget-group/index.js"],
4
- "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"],
5
- "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,mBAAmB;AAC5B,SAAS,SAAS,YAAY;AAK9B,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AAEvB,IAAM,EAAE,KAAK,IAAI;AAGV,IAAM,WAAW;AAAA,EACvB,OAAO,GAAI,cAAe;AAAA,EAC1B,aAAa;AAAA,IACZ;AAAA,EACD;AAAA,EACA;AAAA,EACA,qBAAqB,CAAE,EAAE,MAAM,MAAM,MAAO;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,YAAY;AAAA,IACX,MAAM;AAAA,MACL;AAAA,QACC,MAAM;AAAA,QACN,cAAc;AAAA,QACd,QAAQ,CAAE,GAAI;AAAA,QACd,QAAS,YAAY,QAAS;AAE7B,iBAAO,CAAE,OAAO;AAAA,YACf,CAAE,UAAW,MAAM,SAAS;AAAA,UAC7B;AAAA,QACD;AAAA,QACA,sBAAuB,QAAS;AAE/B,cAAI,cAAc;AAAA,YACjB,GAAG,OAAO,IAAK,CAAE,UAAW;AAC3B,qBAAO;AAAA,gBACN,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,MAAM;AAAA,cACP;AAAA,YACD,CAAE;AAAA,UACH;AAIA,gBAAM,oBACL,YAAa,CAAE,EAAE,SAAS,iBACvB,YAAa,CAAE,IACf;AAIJ,wBAAc,YAAY;AAAA,YACzB,CAAE,UAAW,UAAU;AAAA,UACxB;AAEA,iBAAO;AAAA,YACN;AAAA,YACA;AAAA,cACC,GAAK,qBAAqB;AAAA,gBACzB,OAAO,kBAAkB,WAAW;AAAA,cACrC;AAAA,YACD;AAAA,YACA;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA;AACD;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock, cloneSanitizedBlock } 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 = blocks.map( ( block ) =>\n\t\t\t\t\t\tcloneSanitizedBlock( block )\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"],
5
+ "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,aAAa,2BAA2B;AACjD,SAAS,SAAS,YAAY;AAK9B,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AAEvB,IAAM,EAAE,KAAK,IAAI;AAGV,IAAM,WAAW;AAAA,EACvB,OAAO,GAAI,cAAe;AAAA,EAC1B,aAAa;AAAA,IACZ;AAAA,EACD;AAAA,EACA;AAAA,EACA,qBAAqB,CAAE,EAAE,MAAM,MAAM,MAAO;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,YAAY;AAAA,IACX,MAAM;AAAA,MACL;AAAA,QACC,MAAM;AAAA,QACN,cAAc;AAAA,QACd,QAAQ,CAAE,GAAI;AAAA,QACd,QAAS,YAAY,QAAS;AAE7B,iBAAO,CAAE,OAAO;AAAA,YACf,CAAE,UAAW,MAAM,SAAS;AAAA,UAC7B;AAAA,QACD;AAAA,QACA,sBAAuB,QAAS;AAE/B,cAAI,cAAc,OAAO;AAAA,YAAK,CAAE,UAC/B,oBAAqB,KAAM;AAAA,UAC5B;AAIA,gBAAM,oBACL,YAAa,CAAE,EAAE,SAAS,iBACvB,YAAa,CAAE,IACf;AAIJ,wBAAc,YAAY;AAAA,YACzB,CAAE,UAAW,UAAU;AAAA,UACxB;AAEA,iBAAO;AAAA,YACN;AAAA,YACA;AAAA,cACC,GAAK,qBAAqB;AAAA,gBACzB,OAAO,kBAAkB,WAAW;AAAA,cACrC;AAAA,YACD;AAAA,YACA;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA;AACD;",
6
6
  "names": []
7
7
  }
@@ -67,6 +67,12 @@
67
67
  /**
68
68
  * Focus styles.
69
69
  */
70
+ /**
71
+ * Standard focus rings for the WordPress Design System.
72
+ *
73
+ * Apply `outset-ring__focus` inside the relevant pseudo-class at the call site,
74
+ * e.g. `&:focus { @include outset-ring__focus(); }`.
75
+ */
70
76
  /**
71
77
  * Applies editor left position to the selector passed as argument
72
78
  */
@@ -119,16 +125,16 @@
119
125
  }
120
126
  .wp-block-legacy-widget__edit-form .wp-block-legacy-widget__edit-form-title {
121
127
  color: #000;
122
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
128
+ font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
123
129
  font-size: 14px;
124
- font-weight: 600;
130
+ font-weight: var(--wpds-typography-font-weight-emphasis, 600);
125
131
  margin: 0 0 12px 0;
126
132
  }
127
133
  .wp-block-legacy-widget__edit-form .widget-inside.widget-inside {
128
134
  border: none;
129
135
  box-shadow: none;
130
136
  display: block;
131
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
137
+ font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
132
138
  }
133
139
  .wp-block-legacy-widget__edit-form .widget-inside.widget-inside p {
134
140
  margin: 8px 0;
@@ -218,7 +224,7 @@
218
224
  }
219
225
 
220
226
  .wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview, .wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview h3, .wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview p {
221
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
227
+ font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
222
228
  font-size: 13px;
223
229
  }
224
230
  .wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview {
@@ -227,7 +233,7 @@
227
233
  }
228
234
  .wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview h3 {
229
235
  font-size: 14px;
230
- font-weight: 600;
236
+ font-weight: var(--wpds-typography-font-weight-emphasis, 600);
231
237
  margin: 4px 0;
232
238
  }
233
239
  .wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview p {
@@ -240,7 +246,7 @@
240
246
 
241
247
  .interface-complementary-area .wp-block-legacy-widget-inspector-card__name {
242
248
  margin: 0 0 5px;
243
- font-weight: 499;
249
+ font-weight: var(--wpds-typography-font-weight-emphasis, 600);
244
250
  }
245
251
 
246
252
  .is-selected .wp-block-legacy-widget__container {
@@ -253,9 +259,9 @@
253
259
  }
254
260
 
255
261
  .wp-block-widget-group .widget-title {
256
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
262
+ font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
257
263
  font-size: 18px;
258
- font-weight: 600;
264
+ font-weight: var(--wpds-typography-font-weight-emphasis, 600);
259
265
  }
260
266
 
261
267
  .wp-block-widget-group__placeholder .block-editor-inserter {
@@ -263,6 +269,6 @@
263
269
  }
264
270
 
265
271
  .is-dark-theme .wp-block-widget-group__placeholder .block-editor-button-block-appender {
266
- box-shadow: inset 0 0 0 1px #1e1e1e;
272
+ border-color: currentColor;
267
273
  color: #1e1e1e;
268
274
  }
@@ -67,6 +67,12 @@
67
67
  /**
68
68
  * Focus styles.
69
69
  */
70
+ /**
71
+ * Standard focus rings for the WordPress Design System.
72
+ *
73
+ * Apply `outset-ring__focus` inside the relevant pseudo-class at the call site,
74
+ * e.g. `&:focus { @include outset-ring__focus(); }`.
75
+ */
70
76
  /**
71
77
  * Applies editor left position to the selector passed as argument
72
78
  */
@@ -119,16 +125,16 @@
119
125
  }
120
126
  .wp-block-legacy-widget__edit-form .wp-block-legacy-widget__edit-form-title {
121
127
  color: #000;
122
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
128
+ font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
123
129
  font-size: 14px;
124
- font-weight: 600;
130
+ font-weight: var(--wpds-typography-font-weight-emphasis, 600);
125
131
  margin: 0 0 12px 0;
126
132
  }
127
133
  .wp-block-legacy-widget__edit-form .widget-inside.widget-inside {
128
134
  border: none;
129
135
  box-shadow: none;
130
136
  display: block;
131
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
137
+ font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
132
138
  }
133
139
  .wp-block-legacy-widget__edit-form .widget-inside.widget-inside p {
134
140
  margin: 8px 0;
@@ -218,7 +224,7 @@
218
224
  }
219
225
 
220
226
  .wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview, .wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview h3, .wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview p {
221
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
227
+ font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
222
228
  font-size: 13px;
223
229
  }
224
230
  .wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview {
@@ -227,7 +233,7 @@
227
233
  }
228
234
  .wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview h3 {
229
235
  font-size: 14px;
230
- font-weight: 600;
236
+ font-weight: var(--wpds-typography-font-weight-emphasis, 600);
231
237
  margin: 4px 0;
232
238
  }
233
239
  .wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview p {
@@ -240,7 +246,7 @@
240
246
 
241
247
  .interface-complementary-area .wp-block-legacy-widget-inspector-card__name {
242
248
  margin: 0 0 5px;
243
- font-weight: 499;
249
+ font-weight: var(--wpds-typography-font-weight-emphasis, 600);
244
250
  }
245
251
 
246
252
  .is-selected .wp-block-legacy-widget__container {
@@ -253,9 +259,9 @@
253
259
  }
254
260
 
255
261
  .wp-block-widget-group .widget-title {
256
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
262
+ font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
257
263
  font-size: 18px;
258
- font-weight: 600;
264
+ font-weight: var(--wpds-typography-font-weight-emphasis, 600);
259
265
  }
260
266
 
261
267
  .wp-block-widget-group__placeholder .block-editor-inserter {
@@ -263,6 +269,6 @@
263
269
  }
264
270
 
265
271
  .is-dark-theme .wp-block-widget-group__placeholder .block-editor-button-block-appender {
266
- box-shadow: inset 0 0 0 1px #1e1e1e;
272
+ border-color: currentColor;
267
273
  color: #1e1e1e;
268
274
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/widgets",
3
- "version": "4.50.0",
3
+ "version": "4.51.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",
@@ -63,26 +63,26 @@
63
63
  }
64
64
  },
65
65
  "dependencies": {
66
- "@wordpress/api-fetch": "^7.50.0",
67
- "@wordpress/base-styles": "^10.2.0",
68
- "@wordpress/block-editor": "^15.23.0",
69
- "@wordpress/blocks": "^15.23.0",
70
- "@wordpress/components": "^36.1.0",
71
- "@wordpress/compose": "^8.3.0",
72
- "@wordpress/core-data": "^7.50.0",
73
- "@wordpress/data": "^10.50.0",
74
- "@wordpress/element": "^8.2.0",
75
- "@wordpress/i18n": "^6.23.0",
76
- "@wordpress/icons": "^15.1.0",
77
- "@wordpress/notices": "^5.50.0",
66
+ "@wordpress/api-fetch": "^7.51.0",
67
+ "@wordpress/base-styles": "^11.0.0",
68
+ "@wordpress/block-editor": "^16.0.0",
69
+ "@wordpress/blocks": "^15.24.0",
70
+ "@wordpress/components": "^37.0.0",
71
+ "@wordpress/compose": "^8.4.0",
72
+ "@wordpress/core-data": "^7.51.0",
73
+ "@wordpress/data": "^10.51.0",
74
+ "@wordpress/element": "^8.3.0",
75
+ "@wordpress/i18n": "^6.24.0",
76
+ "@wordpress/icons": "^15.2.0",
77
+ "@wordpress/notices": "^5.51.0",
78
78
  "clsx": "^2.1.1"
79
79
  },
80
80
  "peerDependencies": {
81
- "react": "^18.0.0",
82
- "react-dom": "^18.0.0"
81
+ "react": "^18 || ^19",
82
+ "react-dom": "^18 || ^19"
83
83
  },
84
84
  "publishConfig": {
85
85
  "access": "public"
86
86
  },
87
- "gitHead": "fee6e24e8e63d36f6bbcf487c193461e9bd79753"
87
+ "gitHead": "e9a74f9c14095a34398ecd4d1f7a908e55051205"
88
88
  }
@@ -27,7 +27,6 @@ export default function WidgetTypeSelector( { selectedId, onSelect } ) {
27
27
 
28
28
  return (
29
29
  <SelectControl
30
- __next40pxDefaultSize
31
30
  label={ __( 'Legacy widget' ) }
32
31
  value={ selectedId ?? '' }
33
32
  options={ [
@@ -16,7 +16,7 @@
16
16
  color: $black;
17
17
  font-family: $default-font;
18
18
  font-size: 14px;
19
- font-weight: 600;
19
+ font-weight: var(--wpds-typography-font-weight-emphasis);
20
20
  margin: 0 0 $grid-unit-15 0;
21
21
  }
22
22
 
@@ -24,7 +24,7 @@
24
24
  border: none;
25
25
  box-shadow: none;
26
26
  display: block;
27
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
27
+ font-family: $font-family-body;
28
28
 
29
29
  p {
30
30
  margin: $grid-unit-10 0;
@@ -134,7 +134,7 @@
134
134
 
135
135
  h3 {
136
136
  font-size: 14px;
137
- font-weight: 600;
137
+ font-weight: var(--wpds-typography-font-weight-emphasis);
138
138
  margin: $grid-unit-05 0;
139
139
  }
140
140
 
@@ -150,7 +150,7 @@
150
150
 
151
151
  .interface-complementary-area .wp-block-legacy-widget-inspector-card__name {
152
152
  margin: 0 0 5px;
153
- font-weight: $font-weight-medium;
153
+ font-weight: var(--wpds-typography-font-weight-emphasis);
154
154
  }
155
155
 
156
156
  // When wide widget is selected it opens in a popover but its container should still have a bit of height.
@@ -165,4 +165,3 @@
165
165
  .components-popover__content .wp-block-legacy-widget__edit-form {
166
166
  min-width: 400px;
167
167
  }
168
-
@@ -15,9 +15,8 @@ const legacyWidgetTransforms = [
15
15
  {
16
16
  block: 'core/html',
17
17
  widget: 'custom_html',
18
- transform: ( { content } ) => ( {
19
- content,
20
- } ),
18
+ transformBlock: ( { content } ) =>
19
+ createBlock( 'core/html', {}, [], [ content ] ),
21
20
  },
22
21
  {
23
22
  block: 'core/archives',
@@ -160,7 +159,7 @@ const legacyWidgetTransforms = [
160
159
  };
161
160
  },
162
161
  },
163
- ].map( ( { block, widget, transform } ) => {
162
+ ].map( ( { block, widget, transform, transformBlock } ) => {
164
163
  return {
165
164
  type: 'block',
166
165
  blocks: [ block ],
@@ -168,10 +167,12 @@ const legacyWidgetTransforms = [
168
167
  return idBase === widget && !! instance?.raw;
169
168
  },
170
169
  transform: ( { instance } ) => {
171
- const transformedBlock = createBlock(
172
- block,
173
- transform ? transform( instance.raw ) : undefined
174
- );
170
+ const transformedBlock = transformBlock
171
+ ? transformBlock( instance.raw )
172
+ : createBlock(
173
+ block,
174
+ transform ? transform( instance.raw ) : undefined
175
+ );
175
176
  if ( ! instance.raw?.title ) {
176
177
  return transformedBlock;
177
178
  }
@@ -5,7 +5,7 @@
5
5
  .widget-title {
6
6
  font-family: $default-font;
7
7
  font-size: 18px;
8
- font-weight: 600;
8
+ font-weight: var(--wpds-typography-font-weight-emphasis);
9
9
  }
10
10
  }
11
11
 
@@ -18,6 +18,6 @@
18
18
  // Force the appender to always have "light mode" styling as it appears in a
19
19
  // light colored placeholder.
20
20
  .is-dark-theme .wp-block-widget-group__placeholder .block-editor-button-block-appender {
21
- box-shadow: inset 0 0 0 $border-width $gray-900;
21
+ border-color: currentColor;
22
22
  color: $gray-900;
23
23
  }
@@ -2,7 +2,7 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
- import { createBlock } from '@wordpress/blocks';
5
+ import { createBlock, cloneSanitizedBlock } from '@wordpress/blocks';
6
6
  import { group as icon } from '@wordpress/icons';
7
7
 
8
8
  /**
@@ -39,15 +39,9 @@ export const settings = {
39
39
  },
40
40
  __experimentalConvert( blocks ) {
41
41
  // Put the selected blocks inside the new Widget Group's innerBlocks.
42
- let innerBlocks = [
43
- ...blocks.map( ( block ) => {
44
- return createBlock(
45
- block.name,
46
- block.attributes,
47
- block.innerBlocks
48
- );
49
- } ),
50
- ];
42
+ let innerBlocks = blocks.map( ( block ) =>
43
+ cloneSanitizedBlock( block )
44
+ );
51
45
 
52
46
  // If the first block is a heading then assume this is intended
53
47
  // to be the Widget's "title".