{
  "version": 3,
  "sources": ["../../src/columns/transforms.js"],
  "sourcesContent": ["import {\n\tcloneSanitizedBlock,\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tgetBlockType,\n} from '@wordpress/blocks';\n\nconst MAXIMUM_SELECTED_BLOCKS = 6;\nconst COLUMN_VERTICAL_ALIGNMENTS = [ 'top', 'center', 'bottom' ];\nconst ROW_VERTICAL_ALIGNMENTS = [ ...COLUMN_VERTICAL_ALIGNMENTS, 'stretch' ];\nconst FLEX_SIZE_LAYOUT_VALUES = [ 'fixed', 'fixedNoShrink' ];\nconst DEFAULT_COLUMN_LAYOUT = { type: 'default' };\n\nconst getObjectValue = ( value ) =>\n\tvalue && typeof value === 'object' && ! Array.isArray( value ) ? value : {};\n\nconst getGroupAttributes = ( attributes ) => {\n\tconst groupAttributeDefinitions = getBlockType( 'core/group' )?.attributes;\n\tif ( ! groupAttributeDefinitions ) {\n\t\treturn {};\n\t}\n\tconst normalizedAttributes = getObjectValue( attributes );\n\n\treturn Object.fromEntries(\n\t\tObject.entries( normalizedAttributes ).filter( ( [ name ] ) =>\n\t\t\tObject.hasOwn( groupAttributeDefinitions, name )\n\t\t)\n\t);\n};\n\nconst getColumnWidth = ( width ) => {\n\tif ( Number.isFinite( width ) ) {\n\t\treturn `${ width }%`;\n\t}\n\tif ( typeof width === 'string' && /\\d/.test( width ) ) {\n\t\treturn width;\n\t}\n\treturn undefined;\n};\n\nconst getColumnBlocksFromGrid = ( innerBlocks, columnCount ) => {\n\tconst columnWidth = +( 100 / columnCount ).toFixed( 2 );\n\tconst innerBlocksTemplate = Array.from(\n\t\t{ length: columnCount },\n\t\t( _, columnIndex ) => [\n\t\t\t'core/column',\n\t\t\t{ width: `${ columnWidth }%` },\n\t\t\tinnerBlocks.filter(\n\t\t\t\t( _innerBlock, blockIndex ) =>\n\t\t\t\t\tblockIndex % columnCount === columnIndex\n\t\t\t),\n\t\t]\n\t);\n\n\treturn createBlocksFromInnerBlocksTemplate( innerBlocksTemplate );\n};\n\nconst getColumnBlocksFromRow = ( innerBlocks ) =>\n\tinnerBlocks.map( ( innerBlock ) => {\n\t\tconst style = getObjectValue( innerBlock?.attributes?.style );\n\t\tconst { selfStretch, flexSize, ...remainingLayout } = getObjectValue(\n\t\t\tstyle.layout\n\t\t);\n\t\tconst columnWidth = FLEX_SIZE_LAYOUT_VALUES.includes( selfStretch )\n\t\t\t? getColumnWidth( flexSize )\n\t\t\t: undefined;\n\n\t\tconst updatedStyle = { ...style };\n\t\tif ( Object.keys( remainingLayout ).length ) {\n\t\t\tupdatedStyle.layout = remainingLayout;\n\t\t} else {\n\t\t\tdelete updatedStyle.layout;\n\t\t}\n\t\tconst columnInnerBlock = cloneSanitizedBlock( innerBlock, {\n\t\t\tstyle: Object.keys( updatedStyle ).length\n\t\t\t\t? updatedStyle\n\t\t\t\t: undefined,\n\t\t} );\n\n\t\treturn createBlock(\n\t\t\t'core/column',\n\t\t\tcolumnWidth ? { width: columnWidth } : {},\n\t\t\t[ columnInnerBlock ]\n\t\t);\n\t} );\n\nconst getGridInnerBlocks = ( innerBlocks ) =>\n\tinnerBlocks.flatMap( ( column ) => {\n\t\tconst columnInnerBlocks = column.innerBlocks || [];\n\t\tconst {\n\t\t\tlayout: layoutAttribute,\n\t\t\tstyle: styleAttribute,\n\t\t\t...groupAttributes\n\t\t} = getGroupAttributes( column?.attributes );\n\t\tconst columnStyle = getObjectValue( styleAttribute );\n\t\tconst columnLayout = getObjectValue( layoutAttribute );\n\t\tconst hasGroupAttributes = Object.keys( groupAttributes ).length > 0;\n\t\tconst hasColumnStyle = Object.keys( columnStyle ).length > 0;\n\t\tconst hasColumnLayout = Object.keys( columnLayout ).length > 0;\n\t\tif (\n\t\t\tcolumnInnerBlocks.length > 1 ||\n\t\t\thasGroupAttributes ||\n\t\t\thasColumnStyle ||\n\t\t\thasColumnLayout\n\t\t) {\n\t\t\treturn [\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\t...groupAttributes,\n\t\t\t\t\t\tlayout: hasColumnLayout\n\t\t\t\t\t\t\t? columnLayout\n\t\t\t\t\t\t\t: DEFAULT_COLUMN_LAYOUT,\n\t\t\t\t\t\t...( hasColumnStyle && {\n\t\t\t\t\t\t\tstyle: columnStyle,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t},\n\t\t\t\t\tcolumnInnerBlocks\n\t\t\t\t),\n\t\t\t];\n\t\t}\n\t\treturn columnInnerBlocks;\n\t} );\n\nconst getRowInnerBlocks = ( innerBlocks ) => {\n\tconst columnWidths = innerBlocks.map( ( column ) => {\n\t\treturn getColumnWidth( column?.attributes?.width );\n\t} );\n\tconst allColumnWidthsUnavailable = columnWidths.every(\n\t\t( columnWidth ) => ! columnWidth\n\t);\n\tconst equalColumnWidth = innerBlocks.length\n\t\t? `${ +( 100 / innerBlocks.length ).toFixed( 2 ) }%`\n\t\t: undefined;\n\n\treturn innerBlocks.map( ( column, index ) => {\n\t\tconst columnInnerBlocks = Array.isArray( column?.innerBlocks )\n\t\t\t? column.innerBlocks\n\t\t\t: [];\n\t\tconst columnWidth =\n\t\t\tcolumnWidths[ index ] ||\n\t\t\t( allColumnWidthsUnavailable ? equalColumnWidth : undefined );\n\t\tconst childLayout = columnWidth\n\t\t\t? { selfStretch: 'fixed', flexSize: columnWidth }\n\t\t\t: { selfStretch: 'fill' };\n\t\tconst {\n\t\t\tlayout: layoutAttribute,\n\t\t\tstyle: styleAttribute,\n\t\t\t...groupAttributes\n\t\t} = getGroupAttributes( column?.attributes );\n\t\tconst columnStyle = getObjectValue( styleAttribute );\n\t\tconst columnLayout = getObjectValue( layoutAttribute );\n\t\tconst hasGroupAttributes = Object.keys( groupAttributes ).length > 0;\n\t\tconst hasColumnStyle = Object.keys( columnStyle ).length > 0;\n\t\tconst hasColumnLayout = Object.keys( columnLayout ).length > 0;\n\n\t\tif (\n\t\t\tcolumnInnerBlocks.length === 1 &&\n\t\t\t! hasGroupAttributes &&\n\t\t\t! hasColumnStyle &&\n\t\t\t! hasColumnLayout\n\t\t) {\n\t\t\tconst innerBlock = columnInnerBlocks[ 0 ];\n\t\t\tconst style = getObjectValue( innerBlock.attributes?.style );\n\t\t\tconst layout = getObjectValue( style.layout );\n\t\t\tconst updatedLayout = { ...layout, ...childLayout };\n\t\t\tif ( ! columnWidth ) {\n\t\t\t\tdelete updatedLayout.flexSize;\n\t\t\t}\n\n\t\t\treturn cloneSanitizedBlock( innerBlock, {\n\t\t\t\tstyle: {\n\t\t\t\t\t...style,\n\t\t\t\t\tlayout: updatedLayout,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\treturn createBlock(\n\t\t\t'core/group',\n\t\t\t{\n\t\t\t\t...groupAttributes,\n\t\t\t\tlayout: hasColumnLayout ? columnLayout : DEFAULT_COLUMN_LAYOUT,\n\t\t\t\tstyle: {\n\t\t\t\t\t...columnStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...getObjectValue( columnStyle.layout ),\n\t\t\t\t\t\t...childLayout,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tcolumnInnerBlocks\n\t\t);\n\t} );\n};\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tpriority: 1,\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst { layout, ...rest } = attributes;\n\t\t\t\tconst { columnCount } = layout;\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\trest,\n\t\t\t\t\tgetColumnBlocksFromGrid( innerBlocks, columnCount )\n\t\t\t\t);\n\t\t\t},\n\t\t\tisMatch: ( { layout } ) =>\n\t\t\t\tlayout?.type === 'grid' &&\n\t\t\t\tNumber.isInteger( layout?.columnCount ) &&\n\t\t\t\tlayout.columnCount > 0,\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tpriority: 1,\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst { layout, ...rest } = attributes;\n\t\t\t\tconst verticalAlignment = COLUMN_VERTICAL_ALIGNMENTS.includes(\n\t\t\t\t\tlayout?.verticalAlignment\n\t\t\t\t)\n\t\t\t\t\t? layout.verticalAlignment\n\t\t\t\t\t: undefined;\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{ ...rest, verticalAlignment },\n\t\t\t\t\tgetColumnBlocksFromRow( innerBlocks )\n\t\t\t\t);\n\t\t\t},\n\t\t\tisMatch: ( { layout } ) =>\n\t\t\t\tlayout?.type === 'flex' && layout?.orientation !== 'vertical',\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\t__experimentalConvert: ( blocks ) => {\n\t\t\t\tconst columnWidth = +( 100 / blocks.length ).toFixed( 2 );\n\t\t\t\tconst innerBlocksTemplate = blocks.map(\n\t\t\t\t\t( { name, attributes, innerBlocks, innerContent } ) => [\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ columnWidth }%` },\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t{ ...attributes },\n\t\t\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t\t\tinnerContent,\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);\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t\tisMatch: ( { length: selectedBlocksLength }, blocks ) => {\n\t\t\t\t// If a user is trying to transform a single Columns block, skip\n\t\t\t\t// the transformation. Enabling this functiontionality creates\n\t\t\t\t// nested Columns blocks resulting in an unintuitive user experience.\n\t\t\t\t// Multiple Columns blocks can still be transformed.\n\t\t\t\tif (\n\t\t\t\t\tblocks.length === 1 &&\n\t\t\t\t\tblocks[ 0 ].name === 'core/columns'\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tselectedBlocksLength &&\n\t\t\t\t\tselectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/media-text' ],\n\t\t\tpriority: 1,\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst {\n\t\t\t\t\talign,\n\t\t\t\t\tbackgroundColor,\n\t\t\t\t\ttextColor,\n\t\t\t\t\tstyle,\n\t\t\t\t\tmediaAlt: alt,\n\t\t\t\t\tmediaId: id,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\tmediaSizeSlug: sizeSlug,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl: url,\n\t\t\t\t\tmediaWidth,\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} = attributes;\n\t\t\t\tlet media;\n\t\t\t\tif ( mediaType === 'image' || ! mediaType ) {\n\t\t\t\t\tconst imageAttrs = { id, alt, url, sizeSlug };\n\t\t\t\t\tconst linkAttrs = {\n\t\t\t\t\t\thref: attributes.href,\n\t\t\t\t\t\tlinkClass: attributes.linkClass,\n\t\t\t\t\t\tlinkDestination: attributes.linkDestination,\n\t\t\t\t\t\tlinkTarget: attributes.linkTarget,\n\t\t\t\t\t\trel: attributes.rel,\n\t\t\t\t\t};\n\t\t\t\t\tmedia = [ 'core/image', { ...imageAttrs, ...linkAttrs } ];\n\t\t\t\t} else {\n\t\t\t\t\tmedia = [ 'core/video', { id, src: url } ];\n\t\t\t\t}\n\t\t\t\tconst innerBlocksTemplate = [\n\t\t\t\t\t[ 'core/column', { width: `${ mediaWidth }%` }, [ media ] ],\n\t\t\t\t\t[\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ 100 - mediaWidth }%` },\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t],\n\t\t\t\t];\n\t\t\t\tif ( mediaPosition === 'right' ) {\n\t\t\t\t\tinnerBlocksTemplate.reverse();\n\t\t\t\t}\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tvariationName: 'group-row',\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst { verticalAlignment } = attributes;\n\t\t\t\tconst rowVerticalAlignment = ROW_VERTICAL_ALIGNMENTS.includes(\n\t\t\t\t\tverticalAlignment\n\t\t\t\t)\n\t\t\t\t\t? verticalAlignment\n\t\t\t\t\t: 'stretch';\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\tisStackedOnMobile: undefined,\n\t\t\t\t\t\tverticalAlignment: undefined,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\ttype: 'flex',\n\t\t\t\t\t\t\tflexWrap: 'nowrap',\n\t\t\t\t\t\t\tverticalAlignment: rowVerticalAlignment,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tgetRowInnerBlocks( innerBlocks )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tvariationName: 'group-grid',\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst columnCount = innerBlocks.length;\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\tisStackedOnMobile: undefined,\n\t\t\t\t\t\tverticalAlignment: undefined,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\ttype: 'grid',\n\t\t\t\t\t\t\t...( columnCount && { columnCount } ),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tgetGridInnerBlocks( innerBlocks )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tungroup: ( attributes, innerBlocks ) =>\n\t\tinnerBlocks.flatMap( ( innerBlock ) => innerBlock.innerBlocks ),\n};\n\nexport default transforms;\n"],
  "mappings": "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",
  "names": []
}
