UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 40.7 kB
{ "version": 3, "sources": ["../../src/media-text/deprecated.js"], "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\nconst v1ToV5ImageFillStyles = ( url, focalPoint ) => {\n\treturn url\n\t\t? {\n\t\t\t\tbackgroundImage: `url(${ url })`,\n\t\t\t\tbackgroundPosition: focalPoint\n\t\t\t\t\t? `${ focalPoint.x * 100 }% ${ focalPoint.y * 100 }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t }\n\t\t: {};\n};\n\nconst v6ToV7ImageFillStyles = ( url, focalPoint ) => {\n\treturn url\n\t\t? {\n\t\t\t\tbackgroundImage: `url(${ url })`,\n\t\t\t\tbackgroundPosition: focalPoint\n\t\t\t\t\t? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(\n\t\t\t\t\t\t\tfocalPoint.y * 100\n\t\t\t\t\t ) }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t }\n\t\t: {};\n};\n\nconst DEFAULT_MEDIA_WIDTH = 50;\nconst noop = () => {};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\tbackground: attributes.customBackgroundColor,\n\t\t},\n\t};\n\tconst { customBackgroundColor, ...restAttributes } = attributes;\n\treturn {\n\t\t...restAttributes,\n\t\tstyle,\n\t};\n};\n\n// After align attribute's default was updated this function explicitly sets\n// the align value for deprecated blocks to the `wide` value which was default\n// for their versions of this block.\nconst migrateDefaultAlign = ( attributes ) => {\n\tif ( attributes.align ) {\n\t\treturn attributes;\n\t}\n\n\treturn {\n\t\t...attributes,\n\t\talign: 'wide',\n\t};\n};\n\nconst v0Attributes = {\n\talign: {\n\t\ttype: 'string',\n\t\tdefault: 'wide',\n\t},\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tmediaPosition: {\n\t\ttype: 'string',\n\t\tdefault: 'left',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t},\n\tmediaWidth: {\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t},\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n};\n\nconst v4ToV5BlockAttributes = {\n\t...v0Attributes,\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n\tmediaUrl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure video,figure img',\n\t\tattribute: 'src',\n\t},\n\tmediaLink: {\n\t\ttype: 'string',\n\t},\n\tlinkDestination: {\n\t\ttype: 'string',\n\t},\n\tlinkTarget: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'target',\n\t},\n\thref: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'href',\n\t},\n\trel: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'rel',\n\t},\n\tlinkClass: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'class',\n\t},\n\tmediaSizeSlug: {\n\t\ttype: 'string',\n\t},\n\tverticalAlignment: {\n\t\ttype: 'string',\n\t},\n\timageFill: {\n\t\ttype: 'boolean',\n\t},\n\tfocalPoint: {\n\t\ttype: 'object',\n\t},\n};\n\nconst v6Attributes = {\n\t...v4ToV5BlockAttributes,\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t\trole: 'content',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t\trole: 'content',\n\t},\n\tmediaUrl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure video,figure img',\n\t\tattribute: 'src',\n\t\trole: 'content',\n\t},\n\thref: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'href',\n\t\trole: 'content',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t\trole: 'content',\n\t},\n};\n\nconst v7Attributes = {\n\t...v6Attributes,\n\talign: {\n\t\ttype: 'string',\n\t\t// v7 changed the default for the `align` attribute.\n\t\tdefault: 'none',\n\t},\n\t// New attribute.\n\tuseFeaturedImage: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n};\n\nconst v4ToV5Supports = {\n\tanchor: true,\n\talign: [ 'wide', 'full' ],\n\thtml: false,\n\tcolor: {\n\t\tgradients: true,\n\t\tlink: true,\n\t},\n};\n\nconst v6Supports = {\n\t...v4ToV5Supports,\n\tcolor: {\n\t\tgradients: true,\n\t\tlink: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tbackground: true,\n\t\t\ttext: true,\n\t\t},\n\t},\n\tspacing: {\n\t\tmargin: true,\n\t\tpadding: true,\n\t},\n\ttypography: {\n\t\tfontSize: true,\n\t\tlineHeight: true,\n\t\t__experimentalFontFamily: true,\n\t\t__experimentalFontWeight: true,\n\t\t__experimentalFontStyle: true,\n\t\t__experimentalTextTransform: true,\n\t\t__experimentalTextDecoration: true,\n\t\t__experimentalLetterSpacing: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tfontSize: true,\n\t\t},\n\t},\n};\n\nconst v7Supports = {\n\t...v6Supports,\n\t__experimentalBorder: {\n\t\tcolor: true,\n\t\tradius: true,\n\t\tstyle: true,\n\t\twidth: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t},\n\t},\n\tcolor: {\n\t\tgradients: true,\n\t\theading: true,\n\t\tlink: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tbackground: true,\n\t\t\ttext: true,\n\t\t},\n\t},\n\tinteractivity: {\n\t\tclientNavigation: true,\n\t},\n};\n\n// Version with 'none' as the default alignment.\n// See: https://github.com/WordPress/gutenberg/pull/64981\nconst v7 = {\n\tattributes: v7Attributes,\n\tsupports: v7Supports,\n\tusesContext: [ 'postId', 'postType' ],\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst imageClasses = clsx( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = mediaUrl ? (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t) : null;\n\n\t\tif ( href ) {\n\t\t\timage = (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\thref={ href }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ newRel }\n\t\t\t\t>\n\t\t\t\t\t{ image }\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v6ToV7ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\tif ( 'right' === mediaPosition ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\n// Version with wide as the default alignment.\n// See: https://github.com/WordPress/gutenberg/pull/48404\nconst v6 = {\n\tattributes: v6Attributes,\n\tsupports: v6Supports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst imageClasses = clsx( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\thref={ href }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ newRel }\n\t\t\t\t>\n\t\t\t\t\t{ image }\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v6ToV7ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\tif ( 'right' === mediaPosition ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateDefaultAlign,\n\tisEligible( attributes, innerBlocks, { block } ) {\n\t\tconst { attributes: finalizedAttributes } = block;\n\t\t// When the align attribute defaults to none, valid block markup should\n\t\t// not contain any alignment CSS class. Unfortunately, this\n\t\t// deprecation's version of the block won't be invalidated due to the\n\t\t// alignwide class still being in the markup. That is because the custom\n\t\t// CSS classname support picks it up and adds it to the className\n\t\t// attribute. At the time of parsing, the className attribute won't\n\t\t// contain the alignwide class, hence the need to check the finalized\n\t\t// block attributes.\n\t\treturn (\n\t\t\tattributes.align === undefined &&\n\t\t\t!! finalizedAttributes.className?.includes( 'alignwide' )\n\t\t);\n\t},\n};\n\n// Version with non-rounded background position attribute for focal point.\n// See: https://github.com/WordPress/gutenberg/pull/33915\nconst v5 = {\n\tattributes: v4ToV5BlockAttributes,\n\tsupports: v4ToV5Supports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst imageClasses = clsx( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\thref={ href }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ newRel }\n\t\t\t\t>\n\t\t\t\t\t{ image }\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\tif ( 'right' === mediaPosition ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateDefaultAlign,\n};\n\n// Version with CSS grid\n// See: https://github.com/WordPress/gutenberg/pull/40806\nconst v4 = {\n\tattributes: v4ToV5BlockAttributes,\n\tsupports: v4ToV5Supports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst imageClasses = clsx( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\thref={ href }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ newRel }\n\t\t\t\t>\n\t\t\t\t\t{ image }\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateDefaultAlign,\n};\n\n// Version with ad-hoc color attributes\n// See: https://github.com/WordPress/gutenberg/pull/21169\nconst v3 = {\n\tattributes: {\n\t\t...v0Attributes,\n\t\tisStackedOnMobile: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tmediaLink: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tverticalAlignment: {\n\t\t\ttype: 'string',\n\t\t},\n\t\timageFill: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tfocalPoint: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tmigrate: compose( migrateCustomColors, migrateDefaultAlign ),\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundColor,\n\t\t\tcustomBackgroundColor,\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={\n\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\thref={ href }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ newRel }\n\t\t\t\t>\n\t\t\t\t\t{ image }\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'has-background': backgroundClass || customBackgroundColor,\n\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t? undefined\n\t\t\t\t: customBackgroundColor,\n\t\t\tgridTemplateColumns,\n\t\t};\n\t\treturn (\n\t\t\t<div className={ className } style={ style }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\n// Version with stack on mobile off by default\n// See: https://github.com/WordPress/gutenberg/pull/14364\nconst v2 = {\n\tattributes: {\n\t\t...v0Attributes,\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tmediaUrl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure video,figure img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\tverticalAlignment: {\n\t\t\ttype: 'string',\n\t\t},\n\t\timageFill: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tfocalPoint: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tmigrate: compose( migrateCustomColors, migrateDefaultAlign ),\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundColor,\n\t\t\tcustomBackgroundColor,\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t} = attributes;\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t? undefined\n\t\t\t\t: customBackgroundColor,\n\t\t\tgridTemplateColumns,\n\t\t};\n\t\treturn (\n\t\t\t<div className={ className } style={ style }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\n// Version without the wp-image-#### class on image\n// See: https://github.com/WordPress/gutenberg/pull/11922\nconst v1 = {\n\tattributes: {\n\t\t...v0Attributes,\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tmediaUrl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure video,figure img',\n\t\t\tattribute: 'src',\n\t\t},\n\t},\n\tmigrate: migrateDefaultAlign,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundColor,\n\t\t\tcustomBackgroundColor,\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t} = attributes;\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\t\tconst className = clsx( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t} );\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t? undefined\n\t\t\t\t: customBackgroundColor,\n\t\t\tgridTemplateColumns,\n\t\t};\n\t\treturn (\n\t\t\t<div className={ className } style={ style }>\n\t\t\t\t<figure className=\"wp-block-media-text__media\">\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\nexport default [ v7, v6, v5, v4, v3, v2, v1 ];\n"], "mappings": ";AAGA,OAAO,UAAU;AAKjB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,eAAe;AAKxB,SAAS,+BAA+B;AAuSrC,cAgDC,YAhDD;AArSH,IAAM,wBAAwB,CAAE,KAAK,eAAgB;AACpD,SAAO,MACJ;AAAA,IACA,iBAAiB,OAAQ,GAAI;AAAA,IAC7B,oBAAoB,aACjB,GAAI,WAAW,IAAI,GAAI,KAAM,WAAW,IAAI,GAAI,MAChD;AAAA,EACH,IACA,CAAC;AACL;AAEA,IAAM,wBAAwB,CAAE,KAAK,eAAgB;AACpD,SAAO,MACJ;AAAA,IACA,iBAAiB,OAAQ,GAAI;AAAA,IAC7B,oBAAoB,aACjB,GAAI,KAAK,MAAO,WAAW,IAAI,GAAI,CAAE,KAAM,KAAK;AAAA,MAChD,WAAW,IAAI;AAAA,IACf,CAAE,MACF;AAAA,EACH,IACA,CAAC;AACL;AAEA,IAAM,sBAAsB;AAC5B,IAAM,OAAO,MAAM;AAAC;AAEpB,IAAM,sBAAsB,CAAE,eAAgB;AAC7C,MAAK,CAAE,WAAW,uBAAwB;AACzC,WAAO;AAAA,EACR;AACA,QAAM,QAAQ;AAAA,IACb,OAAO;AAAA,MACN,YAAY,WAAW;AAAA,IACxB;AAAA,EACD;AACA,QAAM,EAAE,uBAAuB,GAAG,eAAe,IAAI;AACrD,SAAO;AAAA,IACN,GAAG;AAAA,IACH;AAAA,EACD;AACD;AAKA,IAAM,sBAAsB,CAAE,eAAgB;AAC7C,MAAK,WAAW,OAAQ;AACvB,WAAO;AAAA,EACR;AAEA,SAAO;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,EACR;AACD;AAEA,IAAM,eAAe;AAAA,EACpB,OAAO;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,IACX,SAAS;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACR,MAAM;AAAA,EACP;AAAA,EACA,WAAW;AAAA,IACV,MAAM;AAAA,EACP;AAAA,EACA,YAAY;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,mBAAmB;AAAA,IAClB,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AACD;AAEA,IAAM,wBAAwB;AAAA,EAC7B,GAAG;AAAA,EACH,mBAAmB;AAAA,IAClB,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,WAAW;AAAA,IACV,MAAM;AAAA,EACP;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,EACP;AAAA,EACA,YAAY;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,KAAK;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,WAAW;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,EACZ;AAAA,EACA,eAAe;AAAA,IACd,MAAM;AAAA,EACP;AAAA,EACA,mBAAmB;AAAA,IAClB,MAAM;AAAA,EACP;AAAA,EACA,WAAW;AAAA,IACV,MAAM;AAAA,EACP;AAAA,EACA,YAAY;AAAA,IACX,MAAM;AAAA,EACP;AACD;AAEA,IAAM,eAAe;AAAA,EACpB,GAAG;AAAA,EACH,UAAU;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,IACX,SAAS;AAAA,IACT,MAAM;AAAA,EACP;AAAA,EACA,SAAS;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,UAAU;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,IACX,MAAM;AAAA,EACP;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,IACX,MAAM;AAAA,EACP;AAAA,EACA,WAAW;AAAA,IACV,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AACD;AAEA,IAAM,eAAe;AAAA,EACpB,GAAG;AAAA,EACH,OAAO;AAAA,IACN,MAAM;AAAA;AAAA,IAEN,SAAS;AAAA,EACV;AAAA;AAAA,EAEA,kBAAkB;AAAA,IACjB,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AACD;AAEA,IAAM,iBAAiB;AAAA,EACtB,QAAQ;AAAA,EACR,OAAO,CAAE,QAAQ,MAAO;AAAA,EACxB,MAAM;AAAA,EACN,OAAO;AAAA,IACN,WAAW;AAAA,IACX,MAAM;AAAA,EACP;AACD;AAEA,IAAM,aAAa;AAAA,EAClB,GAAG;AAAA,EACH,OAAO;AAAA,IACN,WAAW;AAAA,IACX,MAAM;AAAA,IACN,+BAA+B;AAAA,MAC9B,YAAY;AAAA,MACZ,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,SAAS;AAAA,IACR,QAAQ;AAAA,IACR,SAAS;AAAA,EACV;AAAA,EACA,YAAY;AAAA,IACX,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,0BAA0B;AAAA,IAC1B,0BAA0B;AAAA,IAC1B,yBAAyB;AAAA,IACzB,6BAA6B;AAAA,IAC7B,8BAA8B;AAAA,IAC9B,6BAA6B;AAAA,IAC7B,+BAA+B;AAAA,MAC9B,UAAU;AAAA,IACX;AAAA,EACD;AACD;AAEA,IAAM,aAAa;AAAA,EAClB,GAAG;AAAA,EACH,sBAAsB;AAAA,IACrB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,+BAA+B;AAAA,MAC9B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EACA,OAAO;AAAA,IACN,WAAW;AAAA,IACX,SAAS;AAAA,IACT,MAAM;AAAA,IACN,+BAA+B;AAAA,MAC9B,YAAY;AAAA,MACZ,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,eAAe;AAAA,IACd,kBAAkB;AAAA,EACnB;AACD;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,aAAa,CAAE,UAAU,UAAW;AAAA,EACpC,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,gBACL,WAAW,iBAAiB;AAC7B,UAAM,SAAS,CAAE,MAAM,SAAY;AAEnC,UAAM,eAAe,KAAM;AAAA,MAC1B,CAAE,YAAa,OAAQ,EAAG,GAAG,WAAW,cAAc;AAAA,MACtD,CAAE,QAAS,aAAc,EAAG,GAAG,WAAW,cAAc;AAAA,IACzD,CAAE;AAEF,QAAI,QAAQ,WACX;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,KAAM;AAAA,QACN,WAAY,gBAAgB;AAAA;AAAA,IAC7B,IACG;AAEJ,QAAK,MAAO;AACX,cACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAY;AAAA,UACZ;AAAA,UACA,QAAS;AAAA,UACT,KAAM;AAAA,UAEJ;AAAA;AAAA,MACH;AAAA,IAEF;AAEA,UAAM,mBAAmB;AAAA,MACxB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AACA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,wBAAwB;AAAA,MACxB,CAAE,yBAA0B,iBAAkB,EAAG,GAChD;AAAA,MACD,iBAAiB;AAAA,IAClB,CAAE;AACF,UAAM,mBAAmB,YACtB,sBAAuB,UAAU,UAAW,IAC5C,CAAC;AAEJ,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb;AAAA,IACD;AAEA,QAAK,YAAY,eAAgB;AAChC,aACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,UAAC;AAAA;AAAA,YACE,GAAG,oBAAoB,KAAM;AAAA,cAC9B,WAAW;AAAA,YACZ,CAAE;AAAA;AAAA,QACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,OAAQ;AAAA,YAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,QAC7C;AAAA,SACD;AAAA,IAEF;AACA,WACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAQ;AAAA,UAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,MAC7C;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG,oBAAoB,KAAM;AAAA,YAC9B,WAAW;AAAA,UACZ,CAAE;AAAA;AAAA,MACH;AAAA,OACD;AAAA,EAEF;AACD;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,gBACL,WAAW,iBAAiB;AAC7B,UAAM,SAAS,CAAE,MAAM,SAAY;AAEnC,UAAM,eAAe,KAAM;AAAA,MAC1B,CAAE,YAAa,OAAQ,EAAG,GAAG,WAAW,cAAc;AAAA,MACtD,CAAE,QAAS,aAAc,EAAG,GAAG,WAAW,cAAc;AAAA,IACzD,CAAE;AAEF,QAAI,QACH;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,KAAM;AAAA,QACN,WAAY,gBAAgB;AAAA;AAAA,IAC7B;AAGD,QAAK,MAAO;AACX,cACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAY;AAAA,UACZ;AAAA,UACA,QAAS;AAAA,UACT,KAAM;AAAA,UAEJ;AAAA;AAAA,MACH;AAAA,IAEF;AAEA,UAAM,mBAAmB;AAAA,MACxB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AACA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,wBAAwB;AAAA,MACxB,CAAE,yBAA0B,iBAAkB,EAAG,GAChD;AAAA,MACD,iBAAiB;AAAA,IAClB,CAAE;AACF,UAAM,mBAAmB,YACtB,sBAAuB,UAAU,UAAW,IAC5C,CAAC;AAEJ,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb;AAAA,IACD;AAEA,QAAK,YAAY,eAAgB;AAChC,aACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,UAAC;AAAA;AAAA,YACE,GAAG,oBAAoB,KAAM;AAAA,cAC9B,WAAW;AAAA,YACZ,CAAE;AAAA;AAAA,QACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,OAAQ;AAAA,YAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,QAC7C;AAAA,SACD;AAAA,IAEF;AACA,WACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAQ;AAAA,UAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,MAC7C;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG,oBAAoB,KAAM;AAAA,YAC9B,WAAW;AAAA,UACZ,CAAE;AAAA;AAAA,MACH;AAAA,OACD;AAAA,EAEF;AAAA,EACA,SAAS;AAAA,EACT,WAAY,YAAY,aAAa,EAAE,MAAM,GAAI;AAChD,UAAM,EAAE,YAAY,oBAAoB,IAAI;AAS5C,WACC,WAAW,UAAU,UACrB,CAAC,CAAE,oBAAoB,WAAW,SAAU,WAAY;AAAA,EAE1D;AACD;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,gBACL,WAAW,iBAAiB;AAC7B,UAAM,SAAS,CAAE,MAAM,SAAY;AAEnC,UAAM,eAAe,KAAM;AAAA,MAC1B,CAAE,YAAa,OAAQ,EAAG,GAAG,WAAW,cAAc;AAAA,MACtD,CAAE,QAAS,aAAc,EAAG,GAAG,WAAW,cAAc;AAAA,IACzD,CAAE;AAEF,QAAI,QACH;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,KAAM;AAAA,QACN,WAAY,gBAAgB;AAAA;AAAA,IAC7B;AAGD,QAAK,MAAO;AACX,cACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAY;AAAA,UACZ;AAAA,UACA,QAAS;AAAA,UACT,KAAM;AAAA,UAEJ;AAAA;AAAA,MACH;AAAA,IAEF;AAEA,UAAM,mBAAmB;AAAA,MACxB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AACA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,wBAAwB;AAAA,MACxB,CAAE,yBAA0B,iBAAkB,EAAG,GAChD;AAAA,MACD,iBAAiB;AAAA,IAClB,CAAE;AACF,UAAM,mBAAmB,YACtB,sBAAuB,UAAU,UAAW,IAC5C,CAAC;AAEJ,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb;AAAA,IACD;AAEA,QAAK,YAAY,eAAgB;AAChC,aACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,UAAC;AAAA;AAAA,YACE,GAAG,oBAAoB,KAAM;AAAA,cAC9B,WAAW;AAAA,YACZ,CAAE;AAAA;AAAA,QACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,OAAQ;AAAA,YAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,QAC7C;AAAA,SACD;AAAA,IAEF;AACA,WACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAQ;AAAA,UAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,MAC7C;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG,oBAAoB,KAAM;AAAA,YAC9B,WAAW;AAAA,UACZ,CAAE;AAAA;AAAA,MACH;AAAA,OACD;AAAA,EAEF;AAAA,EACA,SAAS;AACV;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,gBACL,WAAW,iBAAiB;AAC7B,UAAM,SAAS,CAAE,MAAM,SAAY;AAEnC,UAAM,eAAe,KAAM;AAAA,MAC1B,CAAE,YAAa,OAAQ,EAAG,GAAG,WAAW,cAAc;AAAA,MACtD,CAAE,QAAS,aAAc,EAAG,GAAG,WAAW,cAAc;AAAA,IACzD,CAAE;AAEF,QAAI,QACH;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,KAAM;AAAA,QACN,WAAY,gBAAgB;AAAA;AAAA,IAC7B;AAGD,QAAK,MAAO;AACX,cACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAY;AAAA,UACZ;AAAA,UACA,QAAS;AAAA,UACT,KAAM;AAAA,UAEJ;AAAA;AAAA,MACH;AAAA,IAEF;AAEA,UAAM,mBAAmB;AAAA,MACxB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AAEA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,wBAAwB;AAAA,MACxB,CAAE,yBAA0B,iBAAkB,EAAG,GAChD;AAAA,MACD,iBAAiB;AAAA,IAClB,CAAE;AACF,UAAM,mBAAmB,YACtB,sBAAuB,UAAU,UAAW,IAC5C,CAAC;AAEJ,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb;AAAA,IACD;AAEA,WACC,qBAAC,SAAM,GAAG,cAAc,KAAM,EAAE,WAAW,MAAM,CAAE,GAClD;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAQ;AAAA,UAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,MAC7C;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG,oBAAoB,KAAM;AAAA,YAC9B,WAAW;AAAA,UACZ,CAAE;AAAA;AAAA,MACH;AAAA,OACD;AAAA,EAEF;AAAA,EACA,SAAS;AACV;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,GAAG;AAAA,IACH,mBAAmB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,IACP;AAAA,IACA,uBAAuB;AAAA,MACtB,MAAM;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,KAAK;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,MACV,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,mBAAmB;AAAA,MAClB,MAAM;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,SAAS,QAAS,qBAAqB,mBAAoB;AAAA,EAC3D,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,SAAS,CAAE,MAAM,SAAY;AAEnC,QAAI,QACH;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,KAAM;AAAA,QACN,WACC,WAAW,cAAc,UACtB,YAAa,OAAQ,KACrB;AAAA;AAAA,IAEL;AAGD,QAAK,MAAO;AACX,cACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAY;AAAA,UACZ;AAAA,UACA,QAAS;AAAA,UACT,KAAM;AAAA,UAEJ;AAAA;AAAA,MACH;AAAA,IAEF;AAEA,UAAM,mBAAmB;AAAA,MACxB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AACA,UAAM,kBAAkB;AAAA,MACvB;AAAA,MACA;AAAA,IACD;AACA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,kBAAkB,mBAAmB;AAAA,MACrC,CAAE,eAAgB,GAAG;AAAA,MACrB,wBAAwB;AAAA,MACxB,CAAE,yBAA0B,iBAAkB,EAAG,GAChD;AAAA,MACD,iBAAiB;AAAA,IAClB,CAAE;AACF,UAAM,mBAAmB,YACtB,sBAAuB,UAAU,UAAW,IAC5C,CAAC;AAEJ,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb,iBAAiB,kBACd,SACA;AAAA,MACH;AAAA,IACD;AACA,WACC,qBAAC,SAAI,WAAwB,OAC5B;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAQ;AAAA,UAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,MAC7C;AAAA,MACA,oBAAC,SAAI,WAAU,gCACd,8BAAC,YAAY,SAAZ,EAAoB,GACtB;AAAA,OACD;AAAA,EAEF;AACD;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,GAAG;AAAA,IACH,iBAAiB;AAAA,MAChB,MAAM;AAAA,IACP;AAAA,IACA,uBAAuB;AAAA,MACtB,MAAM;AAAA,IACP;AAAA,IACA,UAAU;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACA,mBAAmB;AAAA,MAClB,MAAM;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,SAAS,QAAS,qBAAqB,mBAAoB;AAAA,EAC3D,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,mBAAmB;AAAA,MACxB,OAAO,MACN;AAAA,QAAC;AAAA;AAAA,UACA,KAAM;AAAA,UACN,KAAM;AAAA,UACN,WACC,WAAW,cAAc,UACtB,YAAa,OAAQ,KACrB;AAAA;AAAA,MAEL;AAAA,MAED,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AACA,UAAM,kBAAkB;AAAA,MACvB;AAAA,MACA;AAAA,IACD;AACA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,CAAE,eAAgB,GAAG;AAAA,MACrB,wBAAwB;AAAA,MACxB,CAAE,yBAA0B,iBAAkB,EAAG,GAChD;AAAA,MACD,iBAAiB;AAAA,IAClB,CAAE;AACF,UAAM,mBAAmB,YACtB,sBAAuB,UAAU,UAAW,IAC5C,CAAC;AAEJ,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb,iBAAiB,kBACd,SACA;AAAA,MACH;AAAA,IACD;AACA,WACC,qBAAC,SAAI,WAAwB,OAC5B;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAQ;AAAA,UAEJ,4BAAkB,SAAU,KAAK,MAAO;AAAA;AAAA,MAC7C;AAAA,MACA,oBAAC,SAAI,WAAU,gCACd,8BAAC,YAAY,SAAZ,EAAoB,GACtB;AAAA,OACD;AAAA,EAEF;AACD;AAIA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,GAAG;AAAA,IACH,iBAAiB;AAAA,MAChB,MAAM;AAAA,IACP;AAAA,IACA,uBAAuB;AAAA,MACtB,MAAM;AAAA,IACP;AAAA,IACA,UAAU;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,EACD;AAAA,EACA,SAAS;AAAA,EACT,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI;AACJ,UAAM,mBAAmB;AAAA,MACxB,OAAO,MAAM,oBAAC,SAAI,KAAM,UAAW,KAAM,UAAW;AAAA,MACpD,OAAO,MAAM,oBAAC,WAAM,UAAQ,MAAC,KAAM,UAAW;AAAA,IAC/C;AACA,UAAM,kBAAkB;AAAA,MACvB;AAAA,MACA;AAAA,IACD;AACA,UAAM,YAAY,KAAM;AAAA,MACvB,0BAA0B,YAAY;AAAA,MACtC,CAAE,eAAgB,GAAG;AAAA,MACrB,wBAAwB;AAAA,IACzB,CAAE;AAEF,QAAI;AACJ,QAAK,eAAe,qBAAsB;AACzC,4BACC,YAAY,gBACT,QAAS,UAAW,MACpB,GAAI,UAAW;AAAA,IACpB;AACA,UAAM,QAAQ;AAAA,MACb,iBAAiB,kBACd,SACA;AAAA,MACH;AAAA,IACD;AACA,WACC,qBAAC,SAAI,WAAwB,OAC5B;AAAA,0BAAC,YAAO,WAAU,8BACb,4BAAkB,SAAU,KAAK,MAAO,GAC7C;AAAA,MACA,oBAAC,SAAI,WAAU,gCACd,8BAAC,YAAY,SAAZ,EAAoB,GACtB;AAAA,OACD;AAAA,EAEF;AACD;AAEA,IAAO,qBAAQ,CAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAG;", "names": [] }