@wordpress/customize-widgets 3.10.0 → 3.11.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,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 3.11.0 (2022-07-27)
6
+
5
7
  ## 3.10.0 (2022-07-13)
6
8
 
7
9
  ## 3.9.0 (2022-06-29)
package/build/utils.js CHANGED
@@ -125,7 +125,9 @@ function widgetToBlock(_ref) {
125
125
  } = instance;
126
126
 
127
127
  if (idBase === 'block') {
128
- const parsedBlocks = (0, _blocks.parse)(raw.content);
128
+ const parsedBlocks = (0, _blocks.parse)(raw.content, {
129
+ __unstableSkipAutop: true
130
+ });
129
131
  block = parsedBlocks.length ? parsedBlocks[0] : (0, _blocks.createBlock)('core/paragraph', {});
130
132
  } else if (number) {
131
133
  // Widget that extends WP_Widget.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/customize-widgets/src/utils.js"],"names":["settingIdToWidgetId","settingId","matches","match","idBase","number","parseInt","blockToWidget","block","existingWidget","widget","isValidLegacyWidgetBlock","name","attributes","id","instance","encoded","hash","raw","rest","is_widget_customizer_js_value","encoded_serialized_instance","instance_hash_key","raw_instance","content","widgetClass","widgetToBlock","parsedBlocks","length"],"mappings":"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","sourcesContent":["// @ts-check\n/**\n * WordPress dependencies\n */\nimport { serialize, parse, createBlock } from '@wordpress/blocks';\nimport { addWidgetIdToBlock } from '@wordpress/widgets';\n\n/**\n * External dependencies\n */\nimport { omit } from 'lodash';\n\n/**\n * Convert settingId to widgetId.\n *\n * @param {string} settingId The setting id.\n * @return {string} The widget id.\n */\nexport function settingIdToWidgetId( settingId ) {\n\tconst matches = settingId.match( /^widget_(.+)(?:\\[(\\d+)\\])$/ );\n\n\tif ( matches ) {\n\t\tconst idBase = matches[ 1 ];\n\t\tconst number = parseInt( matches[ 2 ], 10 );\n\n\t\treturn `${ idBase }-${ number }`;\n\t}\n\n\treturn settingId;\n}\n\n/**\n * Transform a block to a customizable widget.\n *\n * @param {WPBlock} block The block to be transformed from.\n * @param {Object} existingWidget The widget to be extended from.\n * @return {Object} The transformed widget.\n */\nexport function blockToWidget( block, existingWidget = null ) {\n\tlet widget;\n\n\tconst isValidLegacyWidgetBlock =\n\t\tblock.name === 'core/legacy-widget' &&\n\t\t( block.attributes.id || block.attributes.instance );\n\n\tif ( isValidLegacyWidgetBlock ) {\n\t\tif ( block.attributes.id ) {\n\t\t\t// Widget that does not extend WP_Widget.\n\t\t\twidget = {\n\t\t\t\tid: block.attributes.id,\n\t\t\t};\n\t\t} else {\n\t\t\tconst { encoded, hash, raw, ...rest } = block.attributes.instance;\n\n\t\t\t// Widget that extends WP_Widget.\n\t\t\twidget = {\n\t\t\t\tidBase: block.attributes.idBase,\n\t\t\t\tinstance: {\n\t\t\t\t\t...existingWidget?.instance,\n\t\t\t\t\t// Required only for the customizer.\n\t\t\t\t\tis_widget_customizer_js_value: true,\n\t\t\t\t\tencoded_serialized_instance: encoded,\n\t\t\t\t\tinstance_hash_key: hash,\n\t\t\t\t\traw_instance: raw,\n\t\t\t\t\t...rest,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t} else {\n\t\tconst instance = {\n\t\t\tcontent: serialize( block ),\n\t\t};\n\t\twidget = {\n\t\t\tidBase: 'block',\n\t\t\twidgetClass: 'WP_Widget_Block',\n\t\t\tinstance: {\n\t\t\t\traw_instance: instance,\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {\n\t\t...omit( existingWidget, [ 'form', 'rendered' ] ),\n\t\t...widget,\n\t};\n}\n\n/**\n * Transform a widget to a block.\n *\n * @param {Object} widget The widget to be transformed from.\n * @param {string} widget.id The widget id.\n * @param {string} widget.idBase The id base of the widget.\n * @param {number} widget.number The number/index of the widget.\n * @param {Object} widget.instance The instance of the widget.\n * @return {WPBlock} The transformed block.\n */\nexport function widgetToBlock( { id, idBase, number, instance } ) {\n\tlet block;\n\n\tconst {\n\t\tencoded_serialized_instance: encoded,\n\t\tinstance_hash_key: hash,\n\t\traw_instance: raw,\n\t\t...rest\n\t} = instance;\n\n\tif ( idBase === 'block' ) {\n\t\tconst parsedBlocks = parse( raw.content );\n\t\tblock = parsedBlocks.length\n\t\t\t? parsedBlocks[ 0 ]\n\t\t\t: createBlock( 'core/paragraph', {} );\n\t} else if ( number ) {\n\t\t// Widget that extends WP_Widget.\n\t\tblock = createBlock( 'core/legacy-widget', {\n\t\t\tidBase,\n\t\t\tinstance: {\n\t\t\t\tencoded,\n\t\t\t\thash,\n\t\t\t\traw,\n\t\t\t\t...rest,\n\t\t\t},\n\t\t} );\n\t} else {\n\t\t// Widget that does not extend WP_Widget.\n\t\tblock = createBlock( 'core/legacy-widget', {\n\t\t\tid,\n\t\t} );\n\t}\n\n\treturn addWidgetIdToBlock( block, id );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/customize-widgets/src/utils.js"],"names":["settingIdToWidgetId","settingId","matches","match","idBase","number","parseInt","blockToWidget","block","existingWidget","widget","isValidLegacyWidgetBlock","name","attributes","id","instance","encoded","hash","raw","rest","is_widget_customizer_js_value","encoded_serialized_instance","instance_hash_key","raw_instance","content","widgetClass","widgetToBlock","parsedBlocks","__unstableSkipAutop","length"],"mappings":";;;;;;;;;AAIA;;AACA;;AAKA;;AAVA;;AACA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,mBAAT,CAA8BC,SAA9B,EAA0C;AAChD,QAAMC,OAAO,GAAGD,SAAS,CAACE,KAAV,CAAiB,4BAAjB,CAAhB;;AAEA,MAAKD,OAAL,EAAe;AACd,UAAME,MAAM,GAAGF,OAAO,CAAE,CAAF,CAAtB;AACA,UAAMG,MAAM,GAAGC,QAAQ,CAAEJ,OAAO,CAAE,CAAF,CAAT,EAAgB,EAAhB,CAAvB;AAEA,WAAQ,GAAGE,MAAQ,IAAIC,MAAQ,EAA/B;AACA;;AAED,SAAOJ,SAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASM,aAAT,CAAwBC,KAAxB,EAAuD;AAAA,MAAxBC,cAAwB,uEAAP,IAAO;AAC7D,MAAIC,MAAJ;AAEA,QAAMC,wBAAwB,GAC7BH,KAAK,CAACI,IAAN,KAAe,oBAAf,KACEJ,KAAK,CAACK,UAAN,CAAiBC,EAAjB,IAAuBN,KAAK,CAACK,UAAN,CAAiBE,QAD1C,CADD;;AAIA,MAAKJ,wBAAL,EAAgC;AAC/B,QAAKH,KAAK,CAACK,UAAN,CAAiBC,EAAtB,EAA2B;AAC1B;AACAJ,MAAAA,MAAM,GAAG;AACRI,QAAAA,EAAE,EAAEN,KAAK,CAACK,UAAN,CAAiBC;AADb,OAAT;AAGA,KALD,MAKO;AACN,YAAM;AAAEE,QAAAA,OAAF;AAAWC,QAAAA,IAAX;AAAiBC,QAAAA,GAAjB;AAAsB,WAAGC;AAAzB,UAAkCX,KAAK,CAACK,UAAN,CAAiBE,QAAzD,CADM,CAGN;;AACAL,MAAAA,MAAM,GAAG;AACRN,QAAAA,MAAM,EAAEI,KAAK,CAACK,UAAN,CAAiBT,MADjB;AAERW,QAAAA,QAAQ,EAAE,EACT,IAAGN,cAAH,aAAGA,cAAH,uBAAGA,cAAc,CAAEM,QAAnB,CADS;AAET;AACAK,UAAAA,6BAA6B,EAAE,IAHtB;AAITC,UAAAA,2BAA2B,EAAEL,OAJpB;AAKTM,UAAAA,iBAAiB,EAAEL,IALV;AAMTM,UAAAA,YAAY,EAAEL,GANL;AAOT,aAAGC;AAPM;AAFF,OAAT;AAYA;AACD,GAvBD,MAuBO;AACN,UAAMJ,QAAQ,GAAG;AAChBS,MAAAA,OAAO,EAAE,uBAAWhB,KAAX;AADO,KAAjB;AAGAE,IAAAA,MAAM,GAAG;AACRN,MAAAA,MAAM,EAAE,OADA;AAERqB,MAAAA,WAAW,EAAE,iBAFL;AAGRV,MAAAA,QAAQ,EAAE;AACTQ,QAAAA,YAAY,EAAER;AADL;AAHF,KAAT;AAOA;;AAED,SAAO,EACN,GAAG,kBAAMN,cAAN,EAAsB,CAAE,MAAF,EAAU,UAAV,CAAtB,CADG;AAEN,OAAGC;AAFG,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASgB,aAAT,OAA2D;AAAA,MAAnC;AAAEZ,IAAAA,EAAF;AAAMV,IAAAA,MAAN;AAAcC,IAAAA,MAAd;AAAsBU,IAAAA;AAAtB,GAAmC;AACjE,MAAIP,KAAJ;AAEA,QAAM;AACLa,IAAAA,2BAA2B,EAAEL,OADxB;AAELM,IAAAA,iBAAiB,EAAEL,IAFd;AAGLM,IAAAA,YAAY,EAAEL,GAHT;AAIL,OAAGC;AAJE,MAKFJ,QALJ;;AAOA,MAAKX,MAAM,KAAK,OAAhB,EAA0B;AACzB,UAAMuB,YAAY,GAAG,mBAAOT,GAAG,CAACM,OAAX,EAAoB;AACxCI,MAAAA,mBAAmB,EAAE;AADmB,KAApB,CAArB;AAGApB,IAAAA,KAAK,GAAGmB,YAAY,CAACE,MAAb,GACLF,YAAY,CAAE,CAAF,CADP,GAEL,yBAAa,gBAAb,EAA+B,EAA/B,CAFH;AAGA,GAPD,MAOO,IAAKtB,MAAL,EAAc;AACpB;AACAG,IAAAA,KAAK,GAAG,yBAAa,oBAAb,EAAmC;AAC1CJ,MAAAA,MAD0C;AAE1CW,MAAAA,QAAQ,EAAE;AACTC,QAAAA,OADS;AAETC,QAAAA,IAFS;AAGTC,QAAAA,GAHS;AAIT,WAAGC;AAJM;AAFgC,KAAnC,CAAR;AASA,GAXM,MAWA;AACN;AACAX,IAAAA,KAAK,GAAG,yBAAa,oBAAb,EAAmC;AAC1CM,MAAAA;AAD0C,KAAnC,CAAR;AAGA;;AAED,SAAO,iCAAoBN,KAApB,EAA2BM,EAA3B,CAAP;AACA","sourcesContent":["// @ts-check\n/**\n * WordPress dependencies\n */\nimport { serialize, parse, createBlock } from '@wordpress/blocks';\nimport { addWidgetIdToBlock } from '@wordpress/widgets';\n\n/**\n * External dependencies\n */\nimport { omit } from 'lodash';\n\n/**\n * Convert settingId to widgetId.\n *\n * @param {string} settingId The setting id.\n * @return {string} The widget id.\n */\nexport function settingIdToWidgetId( settingId ) {\n\tconst matches = settingId.match( /^widget_(.+)(?:\\[(\\d+)\\])$/ );\n\n\tif ( matches ) {\n\t\tconst idBase = matches[ 1 ];\n\t\tconst number = parseInt( matches[ 2 ], 10 );\n\n\t\treturn `${ idBase }-${ number }`;\n\t}\n\n\treturn settingId;\n}\n\n/**\n * Transform a block to a customizable widget.\n *\n * @param {WPBlock} block The block to be transformed from.\n * @param {Object} existingWidget The widget to be extended from.\n * @return {Object} The transformed widget.\n */\nexport function blockToWidget( block, existingWidget = null ) {\n\tlet widget;\n\n\tconst isValidLegacyWidgetBlock =\n\t\tblock.name === 'core/legacy-widget' &&\n\t\t( block.attributes.id || block.attributes.instance );\n\n\tif ( isValidLegacyWidgetBlock ) {\n\t\tif ( block.attributes.id ) {\n\t\t\t// Widget that does not extend WP_Widget.\n\t\t\twidget = {\n\t\t\t\tid: block.attributes.id,\n\t\t\t};\n\t\t} else {\n\t\t\tconst { encoded, hash, raw, ...rest } = block.attributes.instance;\n\n\t\t\t// Widget that extends WP_Widget.\n\t\t\twidget = {\n\t\t\t\tidBase: block.attributes.idBase,\n\t\t\t\tinstance: {\n\t\t\t\t\t...existingWidget?.instance,\n\t\t\t\t\t// Required only for the customizer.\n\t\t\t\t\tis_widget_customizer_js_value: true,\n\t\t\t\t\tencoded_serialized_instance: encoded,\n\t\t\t\t\tinstance_hash_key: hash,\n\t\t\t\t\traw_instance: raw,\n\t\t\t\t\t...rest,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t} else {\n\t\tconst instance = {\n\t\t\tcontent: serialize( block ),\n\t\t};\n\t\twidget = {\n\t\t\tidBase: 'block',\n\t\t\twidgetClass: 'WP_Widget_Block',\n\t\t\tinstance: {\n\t\t\t\traw_instance: instance,\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {\n\t\t...omit( existingWidget, [ 'form', 'rendered' ] ),\n\t\t...widget,\n\t};\n}\n\n/**\n * Transform a widget to a block.\n *\n * @param {Object} widget The widget to be transformed from.\n * @param {string} widget.id The widget id.\n * @param {string} widget.idBase The id base of the widget.\n * @param {number} widget.number The number/index of the widget.\n * @param {Object} widget.instance The instance of the widget.\n * @return {WPBlock} The transformed block.\n */\nexport function widgetToBlock( { id, idBase, number, instance } ) {\n\tlet block;\n\n\tconst {\n\t\tencoded_serialized_instance: encoded,\n\t\tinstance_hash_key: hash,\n\t\traw_instance: raw,\n\t\t...rest\n\t} = instance;\n\n\tif ( idBase === 'block' ) {\n\t\tconst parsedBlocks = parse( raw.content, {\n\t\t\t__unstableSkipAutop: true,\n\t\t} );\n\t\tblock = parsedBlocks.length\n\t\t\t? parsedBlocks[ 0 ]\n\t\t\t: createBlock( 'core/paragraph', {} );\n\t} else if ( number ) {\n\t\t// Widget that extends WP_Widget.\n\t\tblock = createBlock( 'core/legacy-widget', {\n\t\t\tidBase,\n\t\t\tinstance: {\n\t\t\t\tencoded,\n\t\t\t\thash,\n\t\t\t\traw,\n\t\t\t\t...rest,\n\t\t\t},\n\t\t} );\n\t} else {\n\t\t// Widget that does not extend WP_Widget.\n\t\tblock = createBlock( 'core/legacy-widget', {\n\t\t\tid,\n\t\t} );\n\t}\n\n\treturn addWidgetIdToBlock( block, id );\n}\n"]}
@@ -111,7 +111,9 @@ export function widgetToBlock(_ref) {
111
111
  } = instance;
112
112
 
113
113
  if (idBase === 'block') {
114
- const parsedBlocks = parse(raw.content);
114
+ const parsedBlocks = parse(raw.content, {
115
+ __unstableSkipAutop: true
116
+ });
115
117
  block = parsedBlocks.length ? parsedBlocks[0] : createBlock('core/paragraph', {});
116
118
  } else if (number) {
117
119
  // Widget that extends WP_Widget.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/customize-widgets/src/utils.js"],"names":["serialize","parse","createBlock","addWidgetIdToBlock","omit","settingIdToWidgetId","settingId","matches","match","idBase","number","parseInt","blockToWidget","block","existingWidget","widget","isValidLegacyWidgetBlock","name","attributes","id","instance","encoded","hash","raw","rest","is_widget_customizer_js_value","encoded_serialized_instance","instance_hash_key","raw_instance","content","widgetClass","widgetToBlock","parsedBlocks","length"],"mappings":"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","sourcesContent":["// @ts-check\n/**\n * WordPress dependencies\n */\nimport { serialize, parse, createBlock } from '@wordpress/blocks';\nimport { addWidgetIdToBlock } from '@wordpress/widgets';\n\n/**\n * External dependencies\n */\nimport { omit } from 'lodash';\n\n/**\n * Convert settingId to widgetId.\n *\n * @param {string} settingId The setting id.\n * @return {string} The widget id.\n */\nexport function settingIdToWidgetId( settingId ) {\n\tconst matches = settingId.match( /^widget_(.+)(?:\\[(\\d+)\\])$/ );\n\n\tif ( matches ) {\n\t\tconst idBase = matches[ 1 ];\n\t\tconst number = parseInt( matches[ 2 ], 10 );\n\n\t\treturn `${ idBase }-${ number }`;\n\t}\n\n\treturn settingId;\n}\n\n/**\n * Transform a block to a customizable widget.\n *\n * @param {WPBlock} block The block to be transformed from.\n * @param {Object} existingWidget The widget to be extended from.\n * @return {Object} The transformed widget.\n */\nexport function blockToWidget( block, existingWidget = null ) {\n\tlet widget;\n\n\tconst isValidLegacyWidgetBlock =\n\t\tblock.name === 'core/legacy-widget' &&\n\t\t( block.attributes.id || block.attributes.instance );\n\n\tif ( isValidLegacyWidgetBlock ) {\n\t\tif ( block.attributes.id ) {\n\t\t\t// Widget that does not extend WP_Widget.\n\t\t\twidget = {\n\t\t\t\tid: block.attributes.id,\n\t\t\t};\n\t\t} else {\n\t\t\tconst { encoded, hash, raw, ...rest } = block.attributes.instance;\n\n\t\t\t// Widget that extends WP_Widget.\n\t\t\twidget = {\n\t\t\t\tidBase: block.attributes.idBase,\n\t\t\t\tinstance: {\n\t\t\t\t\t...existingWidget?.instance,\n\t\t\t\t\t// Required only for the customizer.\n\t\t\t\t\tis_widget_customizer_js_value: true,\n\t\t\t\t\tencoded_serialized_instance: encoded,\n\t\t\t\t\tinstance_hash_key: hash,\n\t\t\t\t\traw_instance: raw,\n\t\t\t\t\t...rest,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t} else {\n\t\tconst instance = {\n\t\t\tcontent: serialize( block ),\n\t\t};\n\t\twidget = {\n\t\t\tidBase: 'block',\n\t\t\twidgetClass: 'WP_Widget_Block',\n\t\t\tinstance: {\n\t\t\t\traw_instance: instance,\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {\n\t\t...omit( existingWidget, [ 'form', 'rendered' ] ),\n\t\t...widget,\n\t};\n}\n\n/**\n * Transform a widget to a block.\n *\n * @param {Object} widget The widget to be transformed from.\n * @param {string} widget.id The widget id.\n * @param {string} widget.idBase The id base of the widget.\n * @param {number} widget.number The number/index of the widget.\n * @param {Object} widget.instance The instance of the widget.\n * @return {WPBlock} The transformed block.\n */\nexport function widgetToBlock( { id, idBase, number, instance } ) {\n\tlet block;\n\n\tconst {\n\t\tencoded_serialized_instance: encoded,\n\t\tinstance_hash_key: hash,\n\t\traw_instance: raw,\n\t\t...rest\n\t} = instance;\n\n\tif ( idBase === 'block' ) {\n\t\tconst parsedBlocks = parse( raw.content );\n\t\tblock = parsedBlocks.length\n\t\t\t? parsedBlocks[ 0 ]\n\t\t\t: createBlock( 'core/paragraph', {} );\n\t} else if ( number ) {\n\t\t// Widget that extends WP_Widget.\n\t\tblock = createBlock( 'core/legacy-widget', {\n\t\t\tidBase,\n\t\t\tinstance: {\n\t\t\t\tencoded,\n\t\t\t\thash,\n\t\t\t\traw,\n\t\t\t\t...rest,\n\t\t\t},\n\t\t} );\n\t} else {\n\t\t// Widget that does not extend WP_Widget.\n\t\tblock = createBlock( 'core/legacy-widget', {\n\t\t\tid,\n\t\t} );\n\t}\n\n\treturn addWidgetIdToBlock( block, id );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/customize-widgets/src/utils.js"],"names":["serialize","parse","createBlock","addWidgetIdToBlock","omit","settingIdToWidgetId","settingId","matches","match","idBase","number","parseInt","blockToWidget","block","existingWidget","widget","isValidLegacyWidgetBlock","name","attributes","id","instance","encoded","hash","raw","rest","is_widget_customizer_js_value","encoded_serialized_instance","instance_hash_key","raw_instance","content","widgetClass","widgetToBlock","parsedBlocks","__unstableSkipAutop","length"],"mappings":"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","sourcesContent":["// @ts-check\n/**\n * WordPress dependencies\n */\nimport { serialize, parse, createBlock } from '@wordpress/blocks';\nimport { addWidgetIdToBlock } from '@wordpress/widgets';\n\n/**\n * External dependencies\n */\nimport { omit } from 'lodash';\n\n/**\n * Convert settingId to widgetId.\n *\n * @param {string} settingId The setting id.\n * @return {string} The widget id.\n */\nexport function settingIdToWidgetId( settingId ) {\n\tconst matches = settingId.match( /^widget_(.+)(?:\\[(\\d+)\\])$/ );\n\n\tif ( matches ) {\n\t\tconst idBase = matches[ 1 ];\n\t\tconst number = parseInt( matches[ 2 ], 10 );\n\n\t\treturn `${ idBase }-${ number }`;\n\t}\n\n\treturn settingId;\n}\n\n/**\n * Transform a block to a customizable widget.\n *\n * @param {WPBlock} block The block to be transformed from.\n * @param {Object} existingWidget The widget to be extended from.\n * @return {Object} The transformed widget.\n */\nexport function blockToWidget( block, existingWidget = null ) {\n\tlet widget;\n\n\tconst isValidLegacyWidgetBlock =\n\t\tblock.name === 'core/legacy-widget' &&\n\t\t( block.attributes.id || block.attributes.instance );\n\n\tif ( isValidLegacyWidgetBlock ) {\n\t\tif ( block.attributes.id ) {\n\t\t\t// Widget that does not extend WP_Widget.\n\t\t\twidget = {\n\t\t\t\tid: block.attributes.id,\n\t\t\t};\n\t\t} else {\n\t\t\tconst { encoded, hash, raw, ...rest } = block.attributes.instance;\n\n\t\t\t// Widget that extends WP_Widget.\n\t\t\twidget = {\n\t\t\t\tidBase: block.attributes.idBase,\n\t\t\t\tinstance: {\n\t\t\t\t\t...existingWidget?.instance,\n\t\t\t\t\t// Required only for the customizer.\n\t\t\t\t\tis_widget_customizer_js_value: true,\n\t\t\t\t\tencoded_serialized_instance: encoded,\n\t\t\t\t\tinstance_hash_key: hash,\n\t\t\t\t\traw_instance: raw,\n\t\t\t\t\t...rest,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t} else {\n\t\tconst instance = {\n\t\t\tcontent: serialize( block ),\n\t\t};\n\t\twidget = {\n\t\t\tidBase: 'block',\n\t\t\twidgetClass: 'WP_Widget_Block',\n\t\t\tinstance: {\n\t\t\t\traw_instance: instance,\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {\n\t\t...omit( existingWidget, [ 'form', 'rendered' ] ),\n\t\t...widget,\n\t};\n}\n\n/**\n * Transform a widget to a block.\n *\n * @param {Object} widget The widget to be transformed from.\n * @param {string} widget.id The widget id.\n * @param {string} widget.idBase The id base of the widget.\n * @param {number} widget.number The number/index of the widget.\n * @param {Object} widget.instance The instance of the widget.\n * @return {WPBlock} The transformed block.\n */\nexport function widgetToBlock( { id, idBase, number, instance } ) {\n\tlet block;\n\n\tconst {\n\t\tencoded_serialized_instance: encoded,\n\t\tinstance_hash_key: hash,\n\t\traw_instance: raw,\n\t\t...rest\n\t} = instance;\n\n\tif ( idBase === 'block' ) {\n\t\tconst parsedBlocks = parse( raw.content, {\n\t\t\t__unstableSkipAutop: true,\n\t\t} );\n\t\tblock = parsedBlocks.length\n\t\t\t? parsedBlocks[ 0 ]\n\t\t\t: createBlock( 'core/paragraph', {} );\n\t} else if ( number ) {\n\t\t// Widget that extends WP_Widget.\n\t\tblock = createBlock( 'core/legacy-widget', {\n\t\t\tidBase,\n\t\t\tinstance: {\n\t\t\t\tencoded,\n\t\t\t\thash,\n\t\t\t\traw,\n\t\t\t\t...rest,\n\t\t\t},\n\t\t} );\n\t} else {\n\t\t// Widget that does not extend WP_Widget.\n\t\tblock = createBlock( 'core/legacy-widget', {\n\t\t\tid,\n\t\t} );\n\t}\n\n\treturn addWidgetIdToBlock( block, id );\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/customize-widgets",
3
- "version": "3.10.0",
3
+ "version": "3.11.0",
4
4
  "description": "Widgets blocks in Customizer Module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -24,25 +24,25 @@
24
24
  "react-native": "src/index",
25
25
  "dependencies": {
26
26
  "@babel/runtime": "^7.16.0",
27
- "@wordpress/block-editor": "^9.5.0",
28
- "@wordpress/block-library": "^7.10.0",
29
- "@wordpress/blocks": "^11.12.0",
30
- "@wordpress/components": "^19.15.0",
31
- "@wordpress/compose": "^5.11.0",
32
- "@wordpress/core-data": "^4.11.0",
33
- "@wordpress/data": "^6.13.0",
34
- "@wordpress/dom": "^3.13.0",
35
- "@wordpress/element": "^4.11.0",
36
- "@wordpress/hooks": "^3.13.0",
37
- "@wordpress/i18n": "^4.13.0",
38
- "@wordpress/icons": "^9.4.0",
39
- "@wordpress/interface": "^4.12.0",
40
- "@wordpress/is-shallow-equal": "^4.13.0",
41
- "@wordpress/keyboard-shortcuts": "^3.11.0",
42
- "@wordpress/keycodes": "^3.13.0",
43
- "@wordpress/media-utils": "^4.4.0",
44
- "@wordpress/preferences": "^2.5.0",
45
- "@wordpress/widgets": "^2.11.0",
27
+ "@wordpress/block-editor": "^9.6.0",
28
+ "@wordpress/block-library": "^7.11.0",
29
+ "@wordpress/blocks": "^11.13.0",
30
+ "@wordpress/components": "^19.16.0",
31
+ "@wordpress/compose": "^5.12.0",
32
+ "@wordpress/core-data": "^4.12.0",
33
+ "@wordpress/data": "^6.14.0",
34
+ "@wordpress/dom": "^3.14.0",
35
+ "@wordpress/element": "^4.12.0",
36
+ "@wordpress/hooks": "^3.14.0",
37
+ "@wordpress/i18n": "^4.14.0",
38
+ "@wordpress/icons": "^9.5.0",
39
+ "@wordpress/interface": "^4.13.0",
40
+ "@wordpress/is-shallow-equal": "^4.14.0",
41
+ "@wordpress/keyboard-shortcuts": "^3.12.0",
42
+ "@wordpress/keycodes": "^3.14.0",
43
+ "@wordpress/media-utils": "^4.5.0",
44
+ "@wordpress/preferences": "^2.6.0",
45
+ "@wordpress/widgets": "^2.12.0",
46
46
  "classnames": "^2.3.1",
47
47
  "lodash": "^4.17.21"
48
48
  },
@@ -53,5 +53,5 @@
53
53
  "publishConfig": {
54
54
  "access": "public"
55
55
  },
56
- "gitHead": "9d9d33bbdf317a4381b8ca1713e43bb50df653b3"
56
+ "gitHead": "0315dbc240cb2aa146d7c1bafd251f004b88300e"
57
57
  }
package/src/utils.js CHANGED
@@ -106,7 +106,9 @@ export function widgetToBlock( { id, idBase, number, instance } ) {
106
106
  } = instance;
107
107
 
108
108
  if ( idBase === 'block' ) {
109
- const parsedBlocks = parse( raw.content );
109
+ const parsedBlocks = parse( raw.content, {
110
+ __unstableSkipAutop: true,
111
+ } );
110
112
  block = parsedBlocks.length
111
113
  ? parsedBlocks[ 0 ]
112
114
  : createBlock( 'core/paragraph', {} );