@wordpress/block-library 8.3.2 → 8.4.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 +2 -0
- package/build/button/edit.js +3 -1
- package/build/button/edit.js.map +1 -1
- package/build/button/index.js +17 -6
- package/build/button/index.js.map +1 -1
- package/build/cover/edit/index.js +3 -2
- package/build/cover/edit/index.js.map +1 -1
- package/build/file/index.js +10 -1
- package/build/file/index.js.map +1 -1
- package/build/image/image.js +21 -15
- package/build/image/image.js.map +1 -1
- package/build/latest-comments/edit.js +6 -2
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-comments/index.js +13 -0
- package/build/latest-comments/index.js.map +1 -1
- package/build/navigation/edit/index.js +2 -28
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +5 -6
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +14 -11
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +4 -5
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +11 -2
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +1 -1
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-link/edit.js +4 -0
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/link-ui.js +1 -0
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -0
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +5 -4
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/use-convert-to-navigation-links.js +61 -5
- package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
- package/build/post-excerpt/edit.js +49 -3
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-excerpt/index.js +4 -0
- package/build/post-excerpt/index.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +52 -1
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +9 -4
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +3 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/{experiments.js → private-apis.js} +3 -3
- package/build/private-apis.js.map +1 -0
- package/build/site-logo/edit.js +7 -11
- package/build/site-logo/edit.js.map +1 -1
- package/build/table/edit.js +3 -3
- package/build/table/edit.js.map +1 -1
- package/build/table-of-contents/utils.js +1 -1
- package/build/table-of-contents/utils.js.map +1 -1
- package/build/verse/index.js +6 -0
- package/build/verse/index.js.map +1 -1
- package/build-module/button/edit.js +2 -1
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/index.js +17 -6
- package/build-module/button/index.js.map +1 -1
- package/build-module/cover/edit/index.js +3 -2
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/file/index.js +10 -1
- package/build-module/file/index.js.map +1 -1
- package/build-module/image/image.js +21 -15
- package/build-module/image/image.js.map +1 -1
- package/build-module/latest-comments/edit.js +6 -2
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-comments/index.js +13 -0
- package/build-module/latest-comments/index.js.map +1 -1
- package/build-module/navigation/edit/index.js +3 -29
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +5 -5
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +14 -10
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +4 -5
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +11 -2
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +1 -1
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-link/edit.js +4 -0
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +1 -0
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -0
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +5 -4
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/use-convert-to-navigation-links.js +61 -5
- package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
- package/build-module/post-excerpt/edit.js +52 -5
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-excerpt/index.js +4 -0
- package/build-module/post-excerpt/index.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +52 -1
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +9 -4
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +3 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/{experiments.js → private-apis.js} +2 -2
- package/build-module/private-apis.js.map +1 -0
- package/build-module/site-logo/edit.js +7 -11
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/table/edit.js +3 -3
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table-of-contents/utils.js +1 -1
- package/build-module/table-of-contents/utils.js.map +1 -1
- package/build-module/verse/index.js +6 -0
- package/build-module/verse/index.js.map +1 -1
- package/build-style/avatar/style-rtl.css +3 -0
- package/build-style/avatar/style.css +3 -0
- package/build-style/button/editor-rtl.css +31 -0
- package/build-style/button/editor.css +31 -0
- package/build-style/button/style-rtl.css +31 -0
- package/build-style/button/style.css +31 -0
- package/build-style/classic-rtl.css +5 -0
- package/build-style/classic.css +5 -0
- package/build-style/editor-rtl.css +36 -1
- package/build-style/editor.css +36 -1
- package/build-style/file/style-rtl.css +1 -0
- package/build-style/file/style.css +1 -0
- package/build-style/image/editor-rtl.css +1 -0
- package/build-style/image/editor.css +1 -0
- package/build-style/image/style-rtl.css +6 -2
- package/build-style/image/style.css +6 -0
- package/build-style/latest-comments/style-rtl.css +18 -5
- package/build-style/latest-comments/style.css +18 -5
- package/build-style/quote/style-rtl.css +5 -5
- package/build-style/quote/style.css +5 -5
- package/build-style/style-rtl.css +64 -12
- package/build-style/style.css +64 -10
- package/build-types/table-of-contents/utils.d.ts +1 -1
- package/package.json +30 -30
- package/src/avatar/index.php +67 -63
- package/src/avatar/style.scss +3 -0
- package/src/button/block.json +17 -6
- package/src/button/edit.js +2 -1
- package/src/button/editor.scss +36 -0
- package/src/button/style.scss +37 -1
- package/src/classic.scss +5 -0
- package/src/cover/edit/index.js +4 -1
- package/src/editor.scss +5 -0
- package/src/file/block.json +10 -1
- package/src/file/style.scss +1 -0
- package/src/image/editor.scss +1 -0
- package/src/image/image.js +32 -27
- package/src/image/style.scss +13 -0
- package/src/latest-comments/block.json +13 -0
- package/src/latest-comments/edit.js +9 -2
- package/src/latest-comments/style.scss +25 -7
- package/src/navigation/edit/index.js +1 -30
- package/src/navigation/edit/menu-inspector-controls.js +3 -4
- package/src/navigation/edit/navigation-menu-selector.js +12 -26
- package/src/navigation/edit/test/navigation-menu-selector.js +638 -0
- package/src/navigation/edit/unsaved-inner-blocks.js +29 -36
- package/src/navigation/edit/use-create-navigation-menu.js +13 -1
- package/src/navigation/index.php +8 -6
- package/src/navigation/use-navigation-menu.js +1 -1
- package/src/navigation-link/edit.js +3 -0
- package/src/navigation-link/link-ui.js +1 -0
- package/src/navigation-submenu/edit.js +3 -0
- package/src/page-list/edit.js +6 -5
- package/src/page-list/index.php +4 -4
- package/src/page-list/test/convert-to-links-modal.js +134 -0
- package/src/page-list/use-convert-to-navigation-links.js +64 -4
- package/src/post-excerpt/block.json +4 -0
- package/src/post-excerpt/edit.js +72 -7
- package/src/post-excerpt/index.php +29 -5
- package/src/post-featured-image/block.json +3 -0
- package/src/post-featured-image/dimension-controls.js +64 -2
- package/src/post-featured-image/edit.js +18 -6
- package/src/post-featured-image/index.php +25 -9
- package/src/post-title/index.php +3 -3
- package/src/{experiments.js → private-apis.js} +1 -1
- package/src/quote/style.scss +2 -2
- package/src/site-logo/edit.js +3 -6
- package/src/table/edit.js +3 -3
- package/src/table-of-contents/utils.ts +1 -1
- package/src/template-part/index.php +1 -1
- package/src/verse/block.json +6 -0
- package/tsconfig.json +24 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/build/experiments.js.map +0 -1
- package/build/navigation/leaf-more-menu.js +0 -95
- package/build/navigation/leaf-more-menu.js.map +0 -1
- package/build-module/experiments.js.map +0 -1
- package/build-module/navigation/leaf-more-menu.js +0 -76
- package/build-module/navigation/leaf-more-menu.js.map +0 -1
- package/src/navigation/leaf-more-menu.js +0 -93
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"names":["classnames","useEntityProp","store","coreStore","useSelect","useDispatch","MenuItem","ToggleControl","PanelBody","Placeholder","Button","TextControl","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","blockEditorStore","__experimentalUseBorderProps","useBorderProps","__","sprintf","upload","noticesStore","DimensionControls","Overlay","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","height","width","scale","sizeSlug","rel","linkTarget","featuredImage","setFeaturedImage","select","getMedia","getPostType","mediaUrl","imageSizes","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","style","borderProps","placeholder","content","className","onSelectImage","id","createErrorNotice","onUploadError","message","type","controls","labels","singular_name","toLowerCase","newRel","image","imageStyles","objectFit","open","alt_text"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport Overlay from './overlay';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { isLink, height, width, scale, sizeSlug, rel, linkTarget } =\n\t\tattributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { media, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug ]\n\t);\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height },\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\tstyle={ borderProps.style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\tlet image;\n\n\t/**\n\t * A post featured image block placed in a query loop\n\t * does not have image replacement or upload options.\n\t */\n\tif ( ! featuredImage && isDescendentOfQueryLoop ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * A post featured image placed in a block template, outside a query loop,\n\t * does not have a postId and will always be a placeholder image.\n\t * It does not have image replacement, upload, or link options.\n\t */\n\tif ( ! featuredImage && ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<DimensionControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t/>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\theight,\n\t\tobjectFit: height && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ imageStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ image }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"names":["classnames","useEntityProp","store","coreStore","useSelect","useDispatch","MenuItem","ToggleControl","PanelBody","Placeholder","Button","TextControl","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","blockEditorStore","__experimentalUseBorderProps","useBorderProps","__","sprintf","upload","noticesStore","DimensionControls","Overlay","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","featuredImage","setFeaturedImage","select","getMedia","getPostType","mediaUrl","imageSizes","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","style","borderProps","placeholder","content","className","onSelectImage","id","createErrorNotice","onUploadError","message","type","controls","labels","singular_name","toLowerCase","newRel","image","imageStyles","objectFit","open","alt_text"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport Overlay from './overlay';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t} = attributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { media, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug ]\n\t);\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\tlet image;\n\n\t/**\n\t * A post featured image block placed in a query loop\n\t * does not have image replacement or upload options.\n\t */\n\tif ( ! featuredImage && isDescendentOfQueryLoop ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * A post featured image placed in a block template, outside a query loop,\n\t * does not have a postId and will always be a placeholder image.\n\t * It does not have image replacement, upload, or link options.\n\t */\n\tif ( ! featuredImage && ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<DimensionControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t/>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\theight: ( !! aspectRatio && '100%' ) || height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ imageStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ image }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-featured-image/index.js"],"names":["postFeaturedImage","icon","initBlock","edit","name","metadata","settings","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,iBAAiB,IAAIC,IAA9B,QAA0C,kBAA1C;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-featured-image/index.js"],"names":["postFeaturedImage","icon","initBlock","edit","name","metadata","settings","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,iBAAiB,IAAIC,IAA9B,QAA0C,kBAA1C;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBL,EAAAA,IADuB;AAEvBE,EAAAA;AAFuB,CAAjB;AAKP,OAAO,MAAMI,IAAI,GAAG,MAAML,SAAS,CAAE;AAAEE,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postFeaturedImage as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/
|
|
4
|
+
import { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';
|
|
5
5
|
export const {
|
|
6
6
|
lock,
|
|
7
7
|
unlock
|
|
8
8
|
} = __dangerousOptInToUnstableAPIsOnlyForCoreModules('I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.', '@wordpress/block-library');
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=private-apis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/private-apis.js"],"names":["__dangerousOptInToUnstableAPIsOnlyForCoreModules","lock","unlock"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gDAAT,QAAiE,yBAAjE;AAEA,OAAO,MAAM;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,IACZF,gDAAgD,CAC/C,8GAD+C,EAE/C,0BAF+C,CAD1C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.',\n\t\t'@wordpress/block-library'\n\t);\n"]}
|
|
@@ -73,16 +73,12 @@ const SiteLogo = _ref => {
|
|
|
73
73
|
maxWidth,
|
|
74
74
|
title
|
|
75
75
|
} = useSelect(select => {
|
|
76
|
-
const
|
|
77
|
-
getSettings
|
|
78
|
-
} = select(blockEditorStore);
|
|
76
|
+
const settings = select(blockEditorStore).getSettings();
|
|
79
77
|
const siteEntities = select(coreStore).getEntityRecord('root', '__unstableBase');
|
|
80
78
|
return {
|
|
81
79
|
title: siteEntities === null || siteEntities === void 0 ? void 0 : siteEntities.name,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
return ['imageEditing', 'maxWidth'].includes(key);
|
|
85
|
-
}))
|
|
80
|
+
imageEditing: settings.imageEditing,
|
|
81
|
+
maxWidth: settings.maxWidth
|
|
86
82
|
};
|
|
87
83
|
}, []);
|
|
88
84
|
useEffect(() => {
|
|
@@ -294,13 +290,13 @@ const SiteLogo = _ref => {
|
|
|
294
290
|
})), imgEdit);
|
|
295
291
|
};
|
|
296
292
|
|
|
297
|
-
export default function LogoEdit(
|
|
293
|
+
export default function LogoEdit(_ref2) {
|
|
298
294
|
let {
|
|
299
295
|
attributes,
|
|
300
296
|
className,
|
|
301
297
|
setAttributes,
|
|
302
298
|
isSelected
|
|
303
|
-
} =
|
|
299
|
+
} = _ref2;
|
|
304
300
|
const {
|
|
305
301
|
width,
|
|
306
302
|
shouldSyncIcon
|
|
@@ -492,10 +488,10 @@ export default function LogoEdit(_ref3) {
|
|
|
492
488
|
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
493
489
|
onError: onUploadError,
|
|
494
490
|
placeholder: placeholder,
|
|
495
|
-
mediaLibraryButton:
|
|
491
|
+
mediaLibraryButton: _ref3 => {
|
|
496
492
|
let {
|
|
497
493
|
open
|
|
498
|
-
} =
|
|
494
|
+
} = _ref3;
|
|
499
495
|
return createElement(Button, {
|
|
500
496
|
icon: upload,
|
|
501
497
|
variant: "primary",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/site-logo/edit.js"],"names":["classnames","isBlobURL","createInterpolateElement","useEffect","useState","useRef","__","isRTL","MenuItem","PanelBody","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","Placeholder","Button","useViewportMatch","BlockControls","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","useSelect","useDispatch","coreStore","crop","upload","noticesStore","useClientWidth","MIN_SIZE","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","clientWidth","isLargeViewport","isWideAligned","includes","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","classes","imageEditing","maxWidth","title","select","getSettings","siteEntities","getEntityRecord","name","Object","fromEntries","entries","filter","key","onResizeStart","onResizeStop","img","event","target","imgWrapper","preventDefault","imageWidthWithinContainer","exceedMaxWidth","defaultWidth","currentWidth","ratio","currentHeight","minWidth","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","canEditImage","imgEdit","imageAttributes","id","top","right","bottom","left","direction","elt","delta","parseInt","syncSiteIconHelpText","a","newWidth","min","value","undefined","LogoEdit","className","ref","siteLogoId","url","siteIconId","mediaItemData","isRequestingMediaItem","canUser","getEditedEntityRecord","_canUserEdit","siteSettings","siteData","_siteLogoId","site_logo","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","home","editEntityRecord","newValue","shouldForceSync","alt_text","source_url","onInitialSelectLogo","media","onSelectLogo","onRemoveLogo","createErrorNotice","onUploadError","message","type","controls","logoImage","isLoading","placeholder","content","placeholderClassName","blockProps","label","open"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SACCC,wBADD,EAECC,SAFD,EAGCC,QAHD,EAICC,MAJD,QAKO,oBALP;AAMA,SAASC,EAAT,EAAaC,KAAb,QAA0B,iBAA1B;AACA,SACCC,QADD,EAECC,SAFD,EAGCC,YAHD,EAICC,YAJD,EAKCC,OALD,EAMCC,aAND,EAOCC,aAPD,EAQCC,WARD,EASCC,MATD,QAUO,uBAVP;AAWA,SAASC,gBAAT,QAAiC,oBAAjC;AACA,SACCC,aADD,EAECC,iBAFD,EAGCC,gBAHD,EAICC,gBAJD,EAKCC,aALD,EAMCC,KAAK,IAAIC,gBANV,EAOCC,yBAAyB,IAAIC,WAP9B,QAQO,yBARP;AASA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASL,KAAK,IAAIM,SAAlB,QAAmC,sBAAnC;AACA,SAASC,IAAT,EAAeC,MAAf,QAA6B,kBAA7B;AACA,SAASR,KAAK,IAAIS,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,OAAOC,cAAP,MAA2B,2BAA3B;AAEA;AACA;AACA;;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA,MAAMC,mBAAmB,GAAG,CAAE,OAAF,CAA5B;AACA,MAAMC,mBAAmB,GAAG,SAA5B;;AAEA,MAAMC,QAAQ,GAAG,QAaV;AAAA,MAbY;AAClBC,IAAAA,GADkB;AAElBC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,KAAF;AAASC,MAAAA,KAAT;AAAgBC,MAAAA,MAAhB;AAAwBC,MAAAA,MAAxB;AAAgCC,MAAAA,UAAhC;AAA4CC,MAAAA;AAA5C,KAFM;AAGlBC,IAAAA,YAHkB;AAIlBC,IAAAA,UAJkB;AAKlBC,IAAAA,aALkB;AAMlBC,IAAAA,OANkB;AAOlBC,IAAAA,OAPkB;AAQlBC,IAAAA,OARkB;AASlBC,IAAAA,MATkB;AAUlBC,IAAAA,MAVkB;AAWlBC,IAAAA,OAXkB;AAYlBC,IAAAA;AAZkB,GAaZ;AACN,QAAMC,WAAW,GAAGvB,cAAc,CAAEa,YAAF,EAAgB,CAAEN,KAAF,CAAhB,CAAlC;AACA,QAAMiB,eAAe,GAAGxC,gBAAgB,CAAE,QAAF,CAAxC;AACA,QAAMyC,aAAa,GAAG,CAAE,MAAF,EAAU,MAAV,EAAmBC,QAAnB,CAA6BnB,KAA7B,CAAtB;AACA,QAAMoB,WAAW,GAAG,CAAEF,aAAF,IAAmBD,eAAvC;AACA,QAAM,CAAE;AAAEI,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,GAAF,EAAmCC,cAAnC,IAAsD3D,QAAQ,CAAE,EAAF,CAApE;AACA,QAAM,CAAE4D,cAAF,EAAkBC,iBAAlB,IAAwC7D,QAAQ,CAAE,KAAF,CAAtD;AACA,QAAM;AAAE8D,IAAAA;AAAF,MAAsBtC,WAAW,CAAEJ,gBAAF,CAAvC;AACA,QAAM2C,OAAO,GAAGnE,UAAU,CAAE,kBAAF,EAAsB;AAC/C,oBAAgBC,SAAS,CAAEiD,OAAF;AADsB,GAAtB,CAA1B;AAGA,QAAM;AAAEkB,IAAAA,YAAF;AAAgBC,IAAAA,QAAhB;AAA0BC,IAAAA;AAA1B,MAAoC3C,SAAS,CAAI4C,MAAF,IAAc;AAClE,UAAM;AAAEC,MAAAA;AAAF,QAAkBD,MAAM,CAAE/C,gBAAF,CAA9B;AACA,UAAMiD,YAAY,GAAGF,MAAM,CAAE1C,SAAF,CAAN,CAAoB6C,eAApB,CACpB,MADoB,EAEpB,gBAFoB,CAArB;AAIA,WAAO;AACNJ,MAAAA,KAAK,EAAEG,YAAF,aAAEA,YAAF,uBAAEA,YAAY,CAAEE,IADf;AAEN,SAAGC,MAAM,CAACC,WAAP,CACFD,MAAM,CAACE,OAAP,CAAgBN,WAAW,EAA3B,EAAgCO,MAAhC,CAAwC;AAAA,YAAE,CAAEC,GAAF,CAAF;AAAA,eACvC,CAAE,cAAF,EAAkB,UAAlB,EAA+BrB,QAA/B,CAAyCqB,GAAzC,CADuC;AAAA,OAAxC,CADE;AAFG,KAAP;AAQA,GAdkD,EAchD,EAdgD,CAAnD;AAgBA7E,EAAAA,SAAS,CAAE,MAAM;AAChB;AACA;AACA;AACA,QAAK0C,cAAc,IAAIO,MAAM,KAAKC,MAAlC,EAA2C;AAC1CL,MAAAA,aAAa,CAAE;AAAEH,QAAAA,cAAc,EAAE;AAAlB,OAAF,CAAb;AACA;AACD,GAPQ,EAON,EAPM,CAAT;AASA1C,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAE4C,UAAP,EAAoB;AACnBkB,MAAAA,iBAAiB,CAAE,KAAF,CAAjB;AACA;AACD,GAJQ,EAIN,CAAElB,UAAF,CAJM,CAAT;;AAMA,WAASkC,aAAT,GAAyB;AACxBf,IAAAA,eAAe,CAAE,KAAF,CAAf;AACA;;AAED,WAASgB,YAAT,GAAwB;AACvBhB,IAAAA,eAAe,CAAE,IAAF,CAAf;AACA;;AAED,QAAMiB,GAAG,GACR;AACC,IAAA,SAAS,EAAC,aADX;AAEC,IAAA,GAAG,EAAGjC,OAFP;AAGC,IAAA,GAAG,EAAGZ,GAHP;AAIC,IAAA,MAAM,EAAK8C,KAAF,IAAa;AACrBrB,MAAAA,cAAc,CAAE;AACfF,QAAAA,YAAY,EAAEuB,KAAK,CAACC,MAAN,CAAaxB,YADZ;AAEfC,QAAAA,aAAa,EAAEsB,KAAK,CAACC,MAAN,CAAavB;AAFb,OAAF,CAAd;AAIA;AATF,IADD;AAcA,MAAIwB,UAAU,GAAGH,GAAjB,CAhEM,CAkEN;AACA;;AACA,MAAKxC,MAAL,EAAc;AACb2C,IAAAA,UAAU;AACT;AACA;AACC,MAAA,IAAI,EAAGnC,OADR;AAEC,MAAA,SAAS,EAAGgB,OAFb;AAGC,MAAA,GAAG,EAAC,MAHL;AAIC,MAAA,KAAK,EAAGG,KAJT;AAKC,MAAA,OAAO,EAAKc,KAAF,IAAaA,KAAK,CAACG,cAAN;AALxB,OAOGJ,GAPH;AASA;AAXD;AAaA;;AAED,MAAIK,yBAAJ;;AAEA,MAAKhC,WAAW,IAAIK,YAAf,IAA+BC,aAApC,EAAoD;AACnD,UAAM2B,cAAc,GAAG5B,YAAY,GAAGL,WAAtC;AACAgC,IAAAA,yBAAyB,GAAGC,cAAc,GAAGjC,WAAH,GAAiBK,YAA3D;AACA;;AAED,MAAK,CAAED,WAAF,IAAiB,CAAE4B,yBAAxB,EAAoD;AACnD,WAAO;AAAK,MAAA,KAAK,EAAG;AAAE/C,QAAAA,KAAF;AAASC,QAAAA;AAAT;AAAb,OAAmC4C,UAAnC,CAAP;AACA,GA7FK,CA+FN;AACA;;;AACA,QAAMI,YAAY,GAAG,GAArB;AAEA,QAAMC,YAAY,GAAGlD,KAAK,IAAIiD,YAA9B;AACA,QAAME,KAAK,GAAG/B,YAAY,GAAGC,aAA7B;AACA,QAAM+B,aAAa,GAAGF,YAAY,GAAGC,KAArC;AACA,QAAME,QAAQ,GACbjC,YAAY,GAAGC,aAAf,GAA+B5B,QAA/B,GAA0C6D,IAAI,CAACC,IAAL,CAAW9D,QAAQ,GAAG0D,KAAtB,CAD3C;AAEA,QAAMK,SAAS,GACdnC,aAAa,GAAGD,YAAhB,GAA+B3B,QAA/B,GAA0C6D,IAAI,CAACC,IAAL,CAAW9D,QAAQ,GAAG0D,KAAtB,CAD3C,CAxGM,CA2GN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,QAAMM,cAAc,GAAG7B,QAAQ,GAAG,GAAlC;AAEA,MAAI8B,eAAe,GAAG,KAAtB;AACA,MAAIC,cAAc,GAAG,KAArB;AAEA;AACA;;AACA,MAAK5D,KAAK,KAAK,QAAf,EAA0B;AACzB;AACA2D,IAAAA,eAAe,GAAG,IAAlB;AACAC,IAAAA,cAAc,GAAG,IAAjB;AACA,GAJD,MAIO,IAAK7F,KAAK,EAAV,EAAe;AACrB;AACA;AACA;AACA,QAAKiC,KAAK,KAAK,MAAf,EAAwB;AACvB2D,MAAAA,eAAe,GAAG,IAAlB;AACA,KAFD,MAEO;AACNC,MAAAA,cAAc,GAAG,IAAjB;AACA;AACD,GATM,MASA;AACN;AACA;AACA,QAAK5D,KAAK,KAAK,OAAf,EAAyB;AACxB4D,MAAAA,cAAc,GAAG,IAAjB;AACA,KAFD,MAEO;AACND,MAAAA,eAAe,GAAG,IAAlB;AACA;AACD;AACD;;;AAEA,QAAME,YAAY,GACjBjD,MAAM,IAAIS,YAAV,IAA0BC,aAA1B,IAA2CM,YAD5C;AAGA,QAAMkC,OAAO,GACZD,YAAY,IAAIrC,cAAhB,GACC,cAAC,WAAD;AACC,IAAA,EAAE,EAAGZ,MADN;AAEC,IAAA,GAAG,EAAGF,OAFP;AAGC,IAAA,KAAK,EAAGyC,YAHT;AAIC,IAAA,MAAM,EAAGE,aAJV;AAKC,IAAA,WAAW,EAAGrC,WALf;AAMC,IAAA,aAAa,EAAGM,aANjB;AAOC,IAAA,YAAY,EAAGD,YAPhB;AAQC,IAAA,WAAW,EAAK0C,eAAF,IAAuB;AACpCtD,MAAAA,OAAO,CAAEsD,eAAe,CAACC,EAAlB,CAAP;AACA,KAVF;AAWC,IAAA,eAAe,EAAG,MAAM;AACvBvC,MAAAA,iBAAiB,CAAE,KAAF,CAAjB;AACA;AAbF,IADD,GAiBC,cAAC,YAAD;AACC,IAAA,IAAI,EAAG;AACNxB,MAAAA,KAAK,EAAEkD,YADD;AAENjD,MAAAA,MAAM,EAAEmD;AAFF,KADR;AAKC,IAAA,UAAU,EAAG9C,UALd;AAMC,IAAA,QAAQ,EAAG+C,QANZ;AAOC,IAAA,QAAQ,EAAGI,cAPZ;AAQC,IAAA,SAAS,EAAGD,SARb;AASC,IAAA,SAAS,EAAGC,cAAc,GAAGN,KAT9B;AAUC,IAAA,eAAe,MAVhB;AAWC,IAAA,MAAM,EAAG;AACRa,MAAAA,GAAG,EAAE,KADG;AAERC,MAAAA,KAAK,EAAEP,eAFC;AAGRQ,MAAAA,MAAM,EAAE,IAHA;AAIRC,MAAAA,IAAI,EAAER;AAJE,KAXV;AAiBC,IAAA,aAAa,EAAGnB,aAjBjB;AAkBC,IAAA,YAAY,EAAG,CAAEG,KAAF,EAASyB,SAAT,EAAoBC,GAApB,EAAyBC,KAAzB,KAAoC;AAClD7B,MAAAA,YAAY;AACZlC,MAAAA,aAAa,CAAE;AACdP,QAAAA,KAAK,EAAEuE,QAAQ,CAAErB,YAAY,GAAGoB,KAAK,CAACtE,KAAvB,EAA8B,EAA9B,CADD;AAEdC,QAAAA,MAAM,EAAEsE,QAAQ,CAAEnB,aAAa,GAAGkB,KAAK,CAACrE,MAAxB,EAAgC,EAAhC;AAFF,OAAF,CAAb;AAIA;AAxBF,KA0BG4C,UA1BH,CAlBF;AAgDA,QAAM2B,oBAAoB,GAAG/G,wBAAwB,CACpDI,EAAE,CACD,kMADC,CADkD,EAIpD;AACC4G,IAAAA,CAAC,EACA;AACA;AACC,MAAA,IAAI,EACH/D,OAAO,GACP,0DAHF;AAKC,MAAA,MAAM,EAAC,QALR;AAMC,MAAA,GAAG,EAAC;AANL;AAHF,GAJoD,CAArD;AAmBA,SACC,8BACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAG7C,EAAE,CAAE,UAAF;AAArB,KACC,cAAC,YAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGA,EAAE,CAAE,aAAF,CAFX;AAGC,IAAA,QAAQ,EAAK6G,QAAF,IACVnE,aAAa,CAAE;AAAEP,MAAAA,KAAK,EAAE0E;AAAT,KAAF,CAJf;AAMC,IAAA,GAAG,EAAGrB,QANP;AAOC,IAAA,GAAG,EAAGI,cAPP;AAQC,IAAA,eAAe,EAAGH,IAAI,CAACqB,GAAL,CACjB1B,YADiB,EAEjBQ,cAFiB,CARnB;AAYC,IAAA,KAAK,EAAGzD,KAAK,IAAI,EAZlB;AAaC,IAAA,QAAQ,EAAG,CAAEmB;AAbd,IADD,EAgBC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGtD,EAAE,CAAE,oBAAF,CADX;AAEC,IAAA,QAAQ,EAAG,MAAM0C,aAAa,CAAE;AAAEL,MAAAA,MAAM,EAAE,CAAEA;AAAZ,KAAF,CAF/B;AAGC,IAAA,OAAO,EAAGA;AAHX,IAhBD,EAqBGA,MAAM,IACP,8BACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGrC,EAAE,CAAE,iBAAF,CADX;AAEC,IAAA,QAAQ,EAAK+G,KAAF,IACVrE,aAAa,CAAE;AACdJ,MAAAA,UAAU,EAAEyE,KAAK,GAAG,QAAH,GAAc;AADjB,KAAF,CAHf;AAOC,IAAA,OAAO,EAAGzE,UAAU,KAAK;AAP1B,IADD,CAtBF,EAkCGW,WAAW,IACZ,8BACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGjD,EAAE,CAAE,kBAAF,CADX;AAEC,IAAA,QAAQ,EAAK+G,KAAF,IAAa;AACvBrE,MAAAA,aAAa,CAAE;AAAEH,QAAAA,cAAc,EAAEwE;AAAlB,OAAF,CAAb;AACA/D,MAAAA,OAAO,CAAE+D,KAAK,GAAGjE,MAAH,GAAYkE,SAAnB,CAAP;AACA,KALF;AAMC,IAAA,OAAO,EAAG,CAAC,CAAEzE,cANd;AAOC,IAAA,IAAI,EAAGoE;AAPR,IADD,CAnCF,CADD,CADD,EAmDC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACGZ,YAAY,IAAI,CAAErC,cAAlB,IACD,cAAC,aAAD;AACC,IAAA,OAAO,EAAG,MAAMC,iBAAiB,CAAE,IAAF,CADlC;AAEC,IAAA,IAAI,EAAGnC,IAFR;AAGC,IAAA,KAAK,EAAGxB,EAAE,CAAE,MAAF;AAHX,IAFF,CAnDD,EA4DGgG,OA5DH,CADD;AAgEA,CAtSD;;AAwSA,eAAe,SAASiB,QAAT,QAKX;AAAA,MAL8B;AACjChF,IAAAA,UADiC;AAEjCiF,IAAAA,SAFiC;AAGjCxE,IAAAA,aAHiC;AAIjCD,IAAAA;AAJiC,GAK9B;AACH,QAAM;AAAEN,IAAAA,KAAF;AAASI,IAAAA;AAAT,MAA4BN,UAAlC;AACA,QAAMkF,GAAG,GAAGpH,MAAM,EAAlB;AAEA,QAAM;AACLqH,IAAAA,UADK;AAELnE,IAAAA,WAFK;AAGLoE,IAAAA,GAHK;AAILC,IAAAA,UAJK;AAKLC,IAAAA,aALK;AAMLC,IAAAA;AANK,MAOFnG,SAAS,CAAI4C,MAAF,IAAc;AAC5B,UAAM;AAAEwD,MAAAA,OAAF;AAAWrD,MAAAA,eAAX;AAA4BsD,MAAAA;AAA5B,QACLzD,MAAM,CAAE1C,SAAF,CADP;;AAEA,UAAMoG,YAAY,GAAGF,OAAO,CAAE,QAAF,EAAY,UAAZ,CAA5B;;AACA,UAAMG,YAAY,GAAGD,YAAY,GAC9BD,qBAAqB,CAAE,MAAF,EAAU,MAAV,CADS,GAE9BV,SAFH;AAGA,UAAMa,QAAQ,GAAGzD,eAAe,CAAE,MAAF,EAAU,gBAAV,CAAhC;;AACA,UAAM0D,WAAW,GAAGH,YAAY,GAC7BC,YAD6B,aAC7BA,YAD6B,uBAC7BA,YAAY,CAAEG,SADe,GAE7BF,QAF6B,aAE7BA,QAF6B,uBAE7BA,QAAQ,CAAEE,SAFb;;AAGA,UAAMC,WAAW,GAAGJ,YAAH,aAAGA,YAAH,uBAAGA,YAAY,CAAEK,SAAlC;;AACA,UAAMC,SAAS,GACdJ,WAAW,IACX7D,MAAM,CAAE1C,SAAF,CAAN,CAAoB4G,QAApB,CAA8BL,WAA9B,EAA2C;AAC1CM,MAAAA,OAAO,EAAE;AADiC,KAA3C,CAFD;;AAKA,UAAMC,sBAAsB,GAC3BP,WAAW,IACX,CAAE7D,MAAM,CAAE1C,SAAF,CAAN,CAAoB+G,qBAApB,CAA2C,UAA3C,EAAuD,CACxDR,WADwD,EAExD;AAAEM,MAAAA,OAAO,EAAE;AAAX,KAFwD,CAAvD,CAFH;;AAOA,WAAO;AACNhB,MAAAA,UAAU,EAAEU,WADN;AAEN7E,MAAAA,WAAW,EAAE0E,YAFP;AAGNN,MAAAA,GAAG,EAAEQ,QAAF,aAAEA,QAAF,uBAAEA,QAAQ,CAAEU,IAHT;AAINhB,MAAAA,aAAa,EAAEW,SAJT;AAKNV,MAAAA,qBAAqB,EAAEa,sBALjB;AAMNf,MAAAA,UAAU,EAAEU;AANN,KAAP;AAQA,GAhCY,EAgCV,EAhCU,CAPb;AAyCA,QAAM;AAAEQ,IAAAA;AAAF,MAAuBlH,WAAW,CAAEC,SAAF,CAAxC;;AAEA,QAAMoB,OAAO,GAAG,UAAE8F,QAAF,EAAyC;AAAA,QAA7BC,eAA6B,uEAAX,KAAW;;AACxD;AACA;AACA,QAAKnG,cAAc,IAAImG,eAAvB,EAAyC;AACxC1F,MAAAA,OAAO,CAAEyF,QAAF,CAAP;AACA;;AAEDD,IAAAA,gBAAgB,CAAE,MAAF,EAAU,MAAV,EAAkBxB,SAAlB,EAA6B;AAC5Ce,MAAAA,SAAS,EAAEU;AADiC,KAA7B,CAAhB;AAGA,GAVD;;AAYA,QAAMzF,OAAO,GAAKyF,QAAF,IACf;AACAD,EAAAA,gBAAgB,CAAE,MAAF,EAAU,MAAV,EAAkBxB,SAAlB,EAA6B;AAC5CiB,IAAAA,SAAS,EAAEQ,QAAF,aAAEA,QAAF,cAAEA,QAAF,GAAc;AADqB,GAA7B,CAFjB;;AAMA,QAAM;AAAEE,IAAAA,QAAQ,EAAE3G,GAAZ;AAAiB4G,IAAAA,UAAU,EAAEhG;AAA7B,MAAyC2E,aAAzC,aAAyCA,aAAzC,cAAyCA,aAAzC,GAA0D,EAAhE;;AAEA,QAAMsB,mBAAmB,GAAKC,KAAF,IAAa;AACxC;AACA;AACA,QAAKvG,cAAc,KAAKyE,SAAxB,EAAoC;AACnC,YAAM0B,eAAe,GAAG,CAAEpB,UAA1B;AACA5E,MAAAA,aAAa,CAAE;AAAEH,QAAAA,cAAc,EAAEmG;AAAlB,OAAF,CAAb,CAFmC,CAInC;AACA;;AACAK,MAAAA,YAAY,CAAED,KAAF,EAASJ,eAAT,CAAZ;AACA;AACA;;AAEDK,IAAAA,YAAY,CAAED,KAAF,CAAZ;AACA,GAdD;;AAgBA,QAAMC,YAAY,GAAG,UAAED,KAAF,EAAsC;AAAA,QAA7BJ,eAA6B,uEAAX,KAAW;;AAC1D,QAAK,CAAEI,KAAP,EAAe;AACd;AACA;;AAED,QAAK,CAAEA,KAAK,CAAC5C,EAAR,IAAc4C,KAAK,CAACzB,GAAzB,EAA+B;AAC9B;AACA1E,MAAAA,OAAO,CAAEqE,SAAF,CAAP;AACA;AACA;;AAEDrE,IAAAA,OAAO,CAAEmG,KAAK,CAAC5C,EAAR,EAAYwC,eAAZ,CAAP;AACA,GAZD;;AAcA,QAAMM,YAAY,GAAG,MAAM;AAC1BrG,IAAAA,OAAO,CAAE,IAAF,CAAP;AACAD,IAAAA,aAAa,CAAE;AAAEP,MAAAA,KAAK,EAAE6E;AAAT,KAAF,CAAb;AACA,GAHD;;AAKA,QAAM;AAAEiC,IAAAA;AAAF,MAAwB3H,WAAW,CAAEI,YAAF,CAAzC;;AACA,QAAMwH,aAAa,GAAKC,OAAF,IAAe;AACpCF,IAAAA,iBAAiB,CAAEE,OAAF,EAAW;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAAX,CAAjB;AACA,GAFD;;AAIA,QAAMC,QAAQ,GAAGpG,WAAW,IAAIL,OAAf,IAChB,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,gBAAD;AACC,IAAA,QAAQ,EAAGA,OADZ;AAEC,IAAA,YAAY,EAAGf,mBAFhB;AAGC,IAAA,MAAM,EAAGC,mBAHV;AAIC,IAAA,QAAQ,EAAGiH,YAJZ;AAKC,IAAA,OAAO,EAAGG;AALX,KAOC,cAAC,QAAD;AAAU,IAAA,OAAO,EAAGF;AAApB,KAAqChJ,EAAE,CAAE,OAAF,CAAvC,CAPD,CADD,CADD;AAcA,MAAIsJ,SAAJ;AACA,QAAMC,SAAS,GAAGnC,UAAU,KAAKJ,SAAf,IAA4BQ,qBAA9C;;AACA,MAAK+B,SAAL,EAAiB;AAChBD,IAAAA,SAAS,GAAG,cAAC,OAAD,OAAZ;AACA;;AACD,MAAK,CAAC,CAAE1G,OAAR,EAAkB;AACjB0G,IAAAA,SAAS,GACR,cAAC,QAAD;AACC,MAAA,GAAG,EAAGtH,GADP;AAEC,MAAA,UAAU,EAAGC,UAFd;AAGC,MAAA,SAAS,EAAGiF,SAHb;AAIC,MAAA,YAAY,EAAGC,GAJhB;AAKC,MAAA,UAAU,EAAG1E,UALd;AAMC,MAAA,aAAa,EAAGC,aANjB;AAOC,MAAA,OAAO,EAAGE,OAPX;AAQC,MAAA,OAAO,EAAGD,OARX;AASC,MAAA,MAAM,EAAG,CAAA4E,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAErB,EAAf,KAAqBkB,UAT/B;AAUC,MAAA,OAAO,EAAGC,GAVX;AAWC,MAAA,OAAO,EAAGrE,OAXX;AAYC,MAAA,MAAM,EAAGsE,UAZV;AAaC,MAAA,WAAW,EAAGrE;AAbf,MADD;AAiBA;;AACD,QAAMuG,WAAW,GAAKC,OAAF,IAAe;AAClC,UAAMC,oBAAoB,GAAGhK,UAAU,CACtC,gCADsC,EAEtCwH,SAFsC,CAAvC;AAKA,WACC,cAAC,WAAD;AACC,MAAA,SAAS,EAAGwC,oBADb;AAEC,MAAA,OAAO,EAAGJ,SAFX;AAGC,MAAA,gBAAgB,EAAG,IAHpB;AAIC,MAAA,KAAK,EAAG;AACPnH,QAAAA;AADO;AAJT,OAQGsH,OARH,CADD;AAYA,GAlBD;;AAoBA,QAAM5F,OAAO,GAAGnE,UAAU,CAAEwH,SAAF,EAAa;AACtC,uBAAmB,CAAE/E;AADiB,GAAb,CAA1B;AAIA,QAAMwH,UAAU,GAAG3I,aAAa,CAAE;AACjCmG,IAAAA,GADiC;AAEjCD,IAAAA,SAAS,EAAErD;AAFsB,GAAF,CAAhC;;AAKA,QAAM+F,KAAK,GAAG5J,EAAE,CAAE,iBAAF,CAAhB;;AAEA,SACC,qBAAU2J,UAAV,EACGN,QADH,EAEG,CAAC,CAAEzG,OAAH,IAAc0G,SAFjB,EAGG,CAAE1G,OAAF,IAAa,CAAEK,WAAf,IACD,cAAC,WAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KACG,CAAC,CAAEsG,SAAH,IACD;AAAM,IAAA,SAAS,EAAC;AAAhB,KACC,cAAC,OAAD,OADD,CAFF,CAJF,EAYG,CAAE3G,OAAF,IAAaK,WAAb,IACD,cAAC,gBAAD;AACC,IAAA,QAAQ,EAAG4F,mBADZ;AAEC,IAAA,MAAM,EAAG/G,mBAFV;AAGC,IAAA,YAAY,EAAGD,mBAHhB;AAIC,IAAA,OAAO,EAAGqH,aAJX;AAKC,IAAA,WAAW,EAAGM,WALf;AAMC,IAAA,kBAAkB,EAAG,SAAgB;AAAA,UAAd;AAAEK,QAAAA;AAAF,OAAc;AACpC,aACC,cAAC,MAAD;AACC,QAAA,IAAI,EAAGpI,MADR;AAEC,QAAA,OAAO,EAAC,SAFT;AAGC,QAAA,KAAK,EAAGmI,KAHT;AAIC,QAAA,WAAW,MAJZ;AAKC,QAAA,eAAe,EAAC,YALjB;AAMC,QAAA,OAAO,EAAG,MAAM;AACfC,UAAAA,IAAI;AACJ;AARF,QADD;AAYA;AAnBF,IAbF,CADD;AAsCA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst siteEntities = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities?.name,\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( getSettings() ).filter( ( [ key ] ) =>\n\t\t\t\t\t[ 'imageEditing', 'maxWidth' ].includes( key )\n\t\t\t\t)\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize( {\n\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName={ classes }\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( MIN_SIZE / ratio );\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditor\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\twidth={ currentWidth }\n\t\t\t\theight={ currentHeight }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={\n\t\t\t\t\t\tsiteUrl +\n\t\t\t\t\t\t'/wp-admin/customize.php?autofocus[section]=title_tagline'\n\t\t\t\t\t}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\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\t{ canUserEdit && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as site icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width, shouldSyncIcon } = attributes;\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst _canUserEdit = canUser( 'update', 'settings' );\n\t\tconst siteSettings = _canUserEdit\n\t\t\t? getEditedEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogoId = _canUserEdit\n\t\t\t? siteSettings?.site_logo\n\t\t\t: siteData?.site_logo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.home,\n\t\t\tmediaItemData: mediaItem,\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\n\t\t} );\n\n\tconst { alt_text: alt, source_url: logoUrl } = mediaItemData ?? {};\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image.\n\t\t\tsetLogo( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = canUserEdit && logoUrl && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaURL={ logoUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\tonError={ onUploadError }\n\t\t\t>\n\t\t\t\t<MenuItem onClick={ onRemoveLogo }>{ __( 'Reset' ) }</MenuItem>\n\t\t\t</MediaReplaceFlow>\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsetLogo={ setLogo }\n\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\tsiteUrl={ url }\n\t\t\t\tsetIcon={ setIcon }\n\t\t\t\ticonId={ siteIconId }\n\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t/>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t\twithIllustration={ true }\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\tconst label = __( 'Add a site logo' );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ !! logoUrl && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\">\n\t\t\t\t\t{ !! isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/site-logo/edit.js"],"names":["classnames","isBlobURL","createInterpolateElement","useEffect","useState","useRef","__","isRTL","MenuItem","PanelBody","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","Placeholder","Button","useViewportMatch","BlockControls","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","useSelect","useDispatch","coreStore","crop","upload","noticesStore","useClientWidth","MIN_SIZE","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","clientWidth","isLargeViewport","isWideAligned","includes","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","classes","imageEditing","maxWidth","title","select","settings","getSettings","siteEntities","getEntityRecord","name","onResizeStart","onResizeStop","img","event","target","imgWrapper","preventDefault","imageWidthWithinContainer","exceedMaxWidth","defaultWidth","currentWidth","ratio","currentHeight","minWidth","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","canEditImage","imgEdit","imageAttributes","id","top","right","bottom","left","direction","elt","delta","parseInt","syncSiteIconHelpText","a","newWidth","min","value","undefined","LogoEdit","className","ref","siteLogoId","url","siteIconId","mediaItemData","isRequestingMediaItem","canUser","getEditedEntityRecord","_canUserEdit","siteSettings","siteData","_siteLogoId","site_logo","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","home","editEntityRecord","newValue","shouldForceSync","alt_text","source_url","onInitialSelectLogo","media","onSelectLogo","onRemoveLogo","createErrorNotice","onUploadError","message","type","controls","logoImage","isLoading","placeholder","content","placeholderClassName","blockProps","label","open"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst siteEntities = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities?.name,\n\t\t\timageEditing: settings.imageEditing,\n\t\t\tmaxWidth: settings.maxWidth,\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize( {\n\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName={ classes }\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( MIN_SIZE / ratio );\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditor\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\twidth={ currentWidth }\n\t\t\t\theight={ currentHeight }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={\n\t\t\t\t\t\tsiteUrl +\n\t\t\t\t\t\t'/wp-admin/customize.php?autofocus[section]=title_tagline'\n\t\t\t\t\t}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\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\t{ canUserEdit && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as site icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width, shouldSyncIcon } = attributes;\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst _canUserEdit = canUser( 'update', 'settings' );\n\t\tconst siteSettings = _canUserEdit\n\t\t\t? getEditedEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogoId = _canUserEdit\n\t\t\t? siteSettings?.site_logo\n\t\t\t: siteData?.site_logo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.home,\n\t\t\tmediaItemData: mediaItem,\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\n\t\t} );\n\n\tconst { alt_text: alt, source_url: logoUrl } = mediaItemData ?? {};\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image.\n\t\t\tsetLogo( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = canUserEdit && logoUrl && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaURL={ logoUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\tonError={ onUploadError }\n\t\t\t>\n\t\t\t\t<MenuItem onClick={ onRemoveLogo }>{ __( 'Reset' ) }</MenuItem>\n\t\t\t</MediaReplaceFlow>\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsetLogo={ setLogo }\n\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\tsiteUrl={ url }\n\t\t\t\tsetIcon={ setIcon }\n\t\t\t\ticonId={ siteIconId }\n\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t/>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t\twithIllustration={ true }\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\tconst label = __( 'Add a site logo' );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ !! logoUrl && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\">\n\t\t\t\t\t{ !! isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -361,7 +361,7 @@ function TableEdit(_ref2) {
|
|
|
361
361
|
isDisabled: !selectedCell,
|
|
362
362
|
onClick: onDeleteColumn
|
|
363
363
|
}];
|
|
364
|
-
const renderedSections =
|
|
364
|
+
const renderedSections = sections.map(name => createElement(TSection, {
|
|
365
365
|
name: name,
|
|
366
366
|
key: name
|
|
367
367
|
}, attributes[name].map((_ref3, rowIndex) => {
|
|
@@ -390,7 +390,7 @@ function TableEdit(_ref2) {
|
|
|
390
390
|
rowSpan: rowspan,
|
|
391
391
|
value: content,
|
|
392
392
|
onChange: onChange,
|
|
393
|
-
|
|
393
|
+
onFocus: () => {
|
|
394
394
|
setSelectedCell({
|
|
395
395
|
sectionName: name,
|
|
396
396
|
rowIndex,
|
|
@@ -457,7 +457,7 @@ function TableEdit(_ref2) {
|
|
|
457
457
|
caption: value
|
|
458
458
|
}) // Deselect the selected table cell when the caption is focused.
|
|
459
459
|
,
|
|
460
|
-
|
|
460
|
+
onFocus: () => setSelectedCell(),
|
|
461
461
|
__unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName()))
|
|
462
462
|
}), isEmpty && createElement(Placeholder, {
|
|
463
463
|
label: __('Table'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/table/edit.js"],"names":["classnames","useEffect","useRef","useState","InspectorControls","BlockControls","RichText","BlockIcon","AlignmentControl","useBlockProps","__experimentalUseColorProps","useColorProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetElementClassName","__","Button","PanelBody","Placeholder","TextControl","ToggleControl","ToolbarDropdownMenu","__experimentalHasSplitBorders","hasSplitBorders","alignLeft","alignRight","alignCenter","blockTable","icon","tableColumnAfter","tableColumnBefore","tableColumnDelete","tableRowAfter","tableRowBefore","tableRowDelete","table","createBlock","getDefaultBlockName","createTable","updateSelectedCell","getCellAttribute","insertRow","deleteRow","insertColumn","deleteColumn","toggleSection","isEmptyTableSection","ALIGNMENT_CONTROLS","title","align","cellAriaLabel","head","body","foot","placeholder","TSection","name","props","TagName","TableEdit","attributes","setAttributes","insertBlocksAfter","isSelected","hasFixedLayout","caption","initialRowCount","setInitialRowCount","initialColumnCount","setInitialColumnCount","selectedCell","setSelectedCell","colorProps","borderProps","tableRef","hasTableCreated","setHasTableCreated","onChangeInitialColumnCount","count","onChangeInitialRowCount","onCreateTable","event","preventDefault","rowCount","parseInt","columnCount","onChangeFixedLayout","onChange","content","cellAttributes","onChangeColumnAlignment","columnSelection","type","columnIndex","newAttributes","getCellAlignment","onToggleHeaderSection","onToggleFooterSection","onInsertRow","delta","sectionName","rowIndex","newRowIndex","onInsertRowBefore","onInsertRowAfter","onDeleteRow","onInsertColumn","newColumnIndex","onInsertColumnBefore","onInsertColumnAfter","onDeleteColumn","current","querySelector","focus","sections","filter","tableControls","isDisabled","onClick","renderedSections","map","cells","tag","CellTag","scope","colspan","rowspan","undefined","isEmpty","length","ref","nextAlign","className","style","border","value"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,EAAoBC,MAApB,EAA4BC,QAA5B,QAA4C,oBAA5C;AACA,SACCC,iBADD,EAECC,aAFD,EAGCC,QAHD,EAICC,SAJD,EAKCC,gBALD,EAMCC,aAND,EAOCC,2BAA2B,IAAIC,aAPhC,EAQCC,4BAA4B,IAAIC,cARjC,EASCC,iCATD,QAUO,yBAVP;AAWA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,MADD,EAECC,SAFD,EAGCC,WAHD,EAICC,WAJD,EAKCC,aALD,EAMCC,mBAND,EAOCC,6BAA6B,IAAIC,eAPlC,QAQO,uBARP;AASA,SACCC,SADD,EAECC,UAFD,EAGCC,WAHD,EAICC,UAAU,IAAIC,IAJf,EAKCC,gBALD,EAMCC,iBAND,EAOCC,iBAPD,EAQCC,aARD,EASCC,cATD,EAUCC,cAVD,EAWCC,KAXD,QAYO,kBAZP;AAaA,SAASC,WAAT,EAAsBC,mBAAtB,QAAiD,mBAAjD;AAEA;AACA;AACA;;AACA,SACCC,WADD,EAECC,kBAFD,EAGCC,gBAHD,EAICC,SAJD,EAKCC,SALD,EAMCC,YAND,EAOCC,YAPD,EAQCC,aARD,EASCC,mBATD,QAUO,SAVP;AAYA,MAAMC,kBAAkB,GAAG,CAC1B;AACCnB,EAAAA,IAAI,EAAEJ,SADP;AAECwB,EAAAA,KAAK,EAAEjC,EAAE,CAAE,mBAAF,CAFV;AAGCkC,EAAAA,KAAK,EAAE;AAHR,CAD0B,EAM1B;AACCrB,EAAAA,IAAI,EAAEF,WADP;AAECsB,EAAAA,KAAK,EAAEjC,EAAE,CAAE,qBAAF,CAFV;AAGCkC,EAAAA,KAAK,EAAE;AAHR,CAN0B,EAW1B;AACCrB,EAAAA,IAAI,EAAEH,UADP;AAECuB,EAAAA,KAAK,EAAEjC,EAAE,CAAE,oBAAF,CAFV;AAGCkC,EAAAA,KAAK,EAAE;AAHR,CAX0B,CAA3B;AAkBA,MAAMC,aAAa,GAAG;AACrBC,EAAAA,IAAI,EAAEpC,EAAE,CAAE,kBAAF,CADa;AAErBqC,EAAAA,IAAI,EAAErC,EAAE,CAAE,gBAAF,CAFa;AAGrBsC,EAAAA,IAAI,EAAEtC,EAAE,CAAE,kBAAF;AAHa,CAAtB;AAMA,MAAMuC,WAAW,GAAG;AACnBH,EAAAA,IAAI,EAAEpC,EAAE,CAAE,cAAF,CADW;AAEnBsC,EAAAA,IAAI,EAAEtC,EAAE,CAAE,cAAF;AAFW,CAApB;;AAKA,SAASwC,QAAT,OAAwC;AAAA,MAArB;AAAEC,IAAAA,IAAF;AAAQ,OAAGC;AAAX,GAAqB;AACvC,QAAMC,OAAO,GAAI,IAAIF,IAAM,EAA3B;AACA,SAAO,cAAC,OAAD,EAAcC,KAAd,CAAP;AACA;;AAED,SAASE,SAAT,QAKI;AAAA;;AAAA,MALgB;AACnBC,IAAAA,UADmB;AAEnBC,IAAAA,aAFmB;AAGnBC,IAAAA,iBAHmB;AAInBC,IAAAA;AAJmB,GAKhB;AACH,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,OAAlB;AAA2Bd,IAAAA,IAA3B;AAAiCE,IAAAA;AAAjC,MAA0CO,UAAhD;AACA,QAAM,CAAEM,eAAF,EAAmBC,kBAAnB,IAA0ChE,QAAQ,CAAE,CAAF,CAAxD;AACA,QAAM,CAAEiE,kBAAF,EAAsBC,qBAAtB,IAAgDlE,QAAQ,CAAE,CAAF,CAA9D;AACA,QAAM,CAAEmE,YAAF,EAAgBC,eAAhB,IAAoCpE,QAAQ,EAAlD;AAEA,QAAMqE,UAAU,GAAG7D,aAAa,CAAEiD,UAAF,CAAhC;AACA,QAAMa,WAAW,GAAG5D,cAAc,CAAE+C,UAAF,CAAlC;AAEA,QAAMc,QAAQ,GAAGxE,MAAM,EAAvB;AACA,QAAM,CAAEyE,eAAF,EAAmBC,kBAAnB,IAA0CzE,QAAQ,CAAE,KAAF,CAAxD;AAEA;AACD;AACA;AACA;AACA;;AACC,WAAS0E,0BAAT,CAAqCC,KAArC,EAA6C;AAC5CT,IAAAA,qBAAqB,CAAES,KAAF,CAArB;AACA;AAED;AACD;AACA;AACA;AACA;;;AACC,WAASC,uBAAT,CAAkCD,KAAlC,EAA0C;AACzCX,IAAAA,kBAAkB,CAAEW,KAAF,CAAlB;AACA;AAED;AACD;AACA;AACA;AACA;;;AACC,WAASE,aAAT,CAAwBC,KAAxB,EAAgC;AAC/BA,IAAAA,KAAK,CAACC,cAAN;AAEArB,IAAAA,aAAa,CACZvB,WAAW,CAAE;AACZ6C,MAAAA,QAAQ,EAAEC,QAAQ,CAAElB,eAAF,EAAmB,EAAnB,CAAR,IAAmC,CADjC;AAEZmB,MAAAA,WAAW,EAAED,QAAQ,CAAEhB,kBAAF,EAAsB,EAAtB,CAAR,IAAsC;AAFvC,KAAF,CADC,CAAb;AAMAQ,IAAAA,kBAAkB,CAAE,IAAF,CAAlB;AACA;AAED;AACD;AACA;;;AACC,WAASU,mBAAT,GAA+B;AAC9BzB,IAAAA,aAAa,CAAE;AAAEG,MAAAA,cAAc,EAAE,CAAEA;AAApB,KAAF,CAAb;AACA;AAED;AACD;AACA;AACA;AACA;;;AACC,WAASuB,QAAT,CAAmBC,OAAnB,EAA6B;AAC5B,QAAK,CAAElB,YAAP,EAAsB;AACrB;AACA;;AAEDT,IAAAA,aAAa,CACZtB,kBAAkB,CACjBqB,UADiB,EAEjBU,YAFiB,EAGfmB,cAAF,KAAwB,EACvB,GAAGA,cADoB;AAEvBD,MAAAA;AAFuB,KAAxB,CAHiB,CADN,CAAb;AAUA;AAED;AACD;AACA;AACA;AACA;;;AACC,WAASE,uBAAT,CAAkCzC,KAAlC,EAA0C;AACzC,QAAK,CAAEqB,YAAP,EAAsB;AACrB;AACA,KAHwC,CAKzC;AACA;;;AACA,UAAMqB,eAAe,GAAG;AACvBC,MAAAA,IAAI,EAAE,QADiB;AAEvBC,MAAAA,WAAW,EAAEvB,YAAY,CAACuB;AAFH,KAAxB;AAKA,UAAMC,aAAa,GAAGvD,kBAAkB,CACvCqB,UADuC,EAEvC+B,eAFuC,EAGrCF,cAAF,KAAwB,EACvB,GAAGA,cADoB;AAEvBxC,MAAAA;AAFuB,KAAxB,CAHuC,CAAxC;AAQAY,IAAAA,aAAa,CAAEiC,aAAF,CAAb;AACA;AAED;AACD;AACA;AACA;AACA;;;AACC,WAASC,gBAAT,GAA4B;AAC3B,QAAK,CAAEzB,YAAP,EAAsB;AACrB;AACA;;AAED,WAAO9B,gBAAgB,CAAEoB,UAAF,EAAcU,YAAd,EAA4B,OAA5B,CAAvB;AACA;AAED;AACD;AACA;;;AACC,WAAS0B,qBAAT,GAAiC;AAChCnC,IAAAA,aAAa,CAAEhB,aAAa,CAAEe,UAAF,EAAc,MAAd,CAAf,CAAb;AACA;AAED;AACD;AACA;;;AACC,WAASqC,qBAAT,GAAiC;AAChCpC,IAAAA,aAAa,CAAEhB,aAAa,CAAEe,UAAF,EAAc,MAAd,CAAf,CAAb;AACA;AAED;AACD;AACA;AACA;AACA;;;AACC,WAASsC,WAAT,CAAsBC,KAAtB,EAA8B;AAC7B,QAAK,CAAE7B,YAAP,EAAsB;AACrB;AACA;;AAED,UAAM;AAAE8B,MAAAA,WAAF;AAAeC,MAAAA;AAAf,QAA4B/B,YAAlC;AACA,UAAMgC,WAAW,GAAGD,QAAQ,GAAGF,KAA/B;AAEAtC,IAAAA,aAAa,CACZpB,SAAS,CAAEmB,UAAF,EAAc;AACtBwC,MAAAA,WADsB;AAEtBC,MAAAA,QAAQ,EAAEC;AAFY,KAAd,CADG,CAAb,CAR6B,CAc7B;;AACA/B,IAAAA,eAAe,CAAE;AAChB6B,MAAAA,WADgB;AAEhBC,MAAAA,QAAQ,EAAEC,WAFM;AAGhBT,MAAAA,WAAW,EAAE,CAHG;AAIhBD,MAAAA,IAAI,EAAE;AAJU,KAAF,CAAf;AAMA;AAED;AACD;AACA;;;AACC,WAASW,iBAAT,GAA6B;AAC5BL,IAAAA,WAAW,CAAE,CAAF,CAAX;AACA;AAED;AACD;AACA;;;AACC,WAASM,gBAAT,GAA4B;AAC3BN,IAAAA,WAAW,CAAE,CAAF,CAAX;AACA;AAED;AACD;AACA;;;AACC,WAASO,WAAT,GAAuB;AACtB,QAAK,CAAEnC,YAAP,EAAsB;AACrB;AACA;;AAED,UAAM;AAAE8B,MAAAA,WAAF;AAAeC,MAAAA;AAAf,QAA4B/B,YAAlC;AAEAC,IAAAA,eAAe;AACfV,IAAAA,aAAa,CAAEnB,SAAS,CAAEkB,UAAF,EAAc;AAAEwC,MAAAA,WAAF;AAAeC,MAAAA;AAAf,KAAd,CAAX,CAAb;AACA;AAED;AACD;AACA;AACA;AACA;;;AACC,WAASK,cAAT,GAAqC;AAAA,QAAZP,KAAY,uEAAJ,CAAI;;AACpC,QAAK,CAAE7B,YAAP,EAAsB;AACrB;AACA;;AAED,UAAM;AAAEuB,MAAAA;AAAF,QAAkBvB,YAAxB;AACA,UAAMqC,cAAc,GAAGd,WAAW,GAAGM,KAArC;AAEAtC,IAAAA,aAAa,CACZlB,YAAY,CAAEiB,UAAF,EAAc;AACzBiC,MAAAA,WAAW,EAAEc;AADY,KAAd,CADA,CAAb,CARoC,CAapC;;AACApC,IAAAA,eAAe,CAAE;AAChB8B,MAAAA,QAAQ,EAAE,CADM;AAEhBR,MAAAA,WAAW,EAAEc,cAFG;AAGhBf,MAAAA,IAAI,EAAE;AAHU,KAAF,CAAf;AAKA;AAED;AACD;AACA;;;AACC,WAASgB,oBAAT,GAAgC;AAC/BF,IAAAA,cAAc,CAAE,CAAF,CAAd;AACA;AAED;AACD;AACA;;;AACC,WAASG,mBAAT,GAA+B;AAC9BH,IAAAA,cAAc,CAAE,CAAF,CAAd;AACA;AAED;AACD;AACA;;;AACC,WAASI,cAAT,GAA0B;AACzB,QAAK,CAAExC,YAAP,EAAsB;AACrB;AACA;;AAED,UAAM;AAAE8B,MAAAA,WAAF;AAAeP,MAAAA;AAAf,QAA+BvB,YAArC;AAEAC,IAAAA,eAAe;AACfV,IAAAA,aAAa,CACZjB,YAAY,CAAEgB,UAAF,EAAc;AAAEwC,MAAAA,WAAF;AAAeP,MAAAA;AAAf,KAAd,CADA,CAAb;AAGA;;AAED5F,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAE8D,UAAP,EAAoB;AACnBQ,MAAAA,eAAe;AACf;AACD,GAJQ,EAIN,CAAER,UAAF,CAJM,CAAT;AAMA9D,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK0E,eAAL,EAAuB;AAAA;;AACtBD,MAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,iCAAAA,QAAQ,CAAEqC,OAAV,iGACGC,aADH,CACkB,4BADlB,iFAEGC,KAFH;AAGArC,MAAAA,kBAAkB,CAAE,KAAF,CAAlB;AACA;AACD,GAPQ,EAON,CAAED,eAAF,CAPM,CAAT;AASA,QAAMuC,QAAQ,GAAG,CAAE,MAAF,EAAU,MAAV,EAAkB,MAAlB,EAA2BC,MAA3B,CACd3D,IAAF,IAAY,CAAEV,mBAAmB,CAAEc,UAAU,CAAEJ,IAAF,CAAZ,CADjB,CAAjB;AAIA,QAAM4D,aAAa,GAAG,CACrB;AACCxF,IAAAA,IAAI,EAAEK,cADP;AAECe,IAAAA,KAAK,EAAEjC,EAAE,CAAE,mBAAF,CAFV;AAGCsG,IAAAA,UAAU,EAAE,CAAE/C,YAHf;AAICgD,IAAAA,OAAO,EAAEf;AAJV,GADqB,EAOrB;AACC3E,IAAAA,IAAI,EAAEI,aADP;AAECgB,IAAAA,KAAK,EAAEjC,EAAE,CAAE,kBAAF,CAFV;AAGCsG,IAAAA,UAAU,EAAE,CAAE/C,YAHf;AAICgD,IAAAA,OAAO,EAAEd;AAJV,GAPqB,EAarB;AACC5E,IAAAA,IAAI,EAAEM,cADP;AAECc,IAAAA,KAAK,EAAEjC,EAAE,CAAE,YAAF,CAFV;AAGCsG,IAAAA,UAAU,EAAE,CAAE/C,YAHf;AAICgD,IAAAA,OAAO,EAAEb;AAJV,GAbqB,EAmBrB;AACC7E,IAAAA,IAAI,EAAEE,iBADP;AAECkB,IAAAA,KAAK,EAAEjC,EAAE,CAAE,sBAAF,CAFV;AAGCsG,IAAAA,UAAU,EAAE,CAAE/C,YAHf;AAICgD,IAAAA,OAAO,EAAEV;AAJV,GAnBqB,EAyBrB;AACChF,IAAAA,IAAI,EAAEC,gBADP;AAECmB,IAAAA,KAAK,EAAEjC,EAAE,CAAE,qBAAF,CAFV;AAGCsG,IAAAA,UAAU,EAAE,CAAE/C,YAHf;AAICgD,IAAAA,OAAO,EAAET;AAJV,GAzBqB,EA+BrB;AACCjF,IAAAA,IAAI,EAAEG,iBADP;AAECiB,IAAAA,KAAK,EAAEjC,EAAE,CAAE,eAAF,CAFV;AAGCsG,IAAAA,UAAU,EAAE,CAAE/C,YAHf;AAICgD,IAAAA,OAAO,EAAER;AAJV,GA/BqB,CAAtB;AAuCA,QAAMS,gBAAgB,GAAG,CAAE,MAAF,EAAU,MAAV,EAAkB,MAAlB,EAA2BC,GAA3B,CAAkChE,IAAF,IACxD,cAAC,QAAD;AAAU,IAAA,IAAI,EAAGA,IAAjB;AAAwB,IAAA,GAAG,EAAGA;AAA9B,KACGI,UAAU,CAAEJ,IAAF,CAAV,CAAmBgE,GAAnB,CAAwB,QAAanB,QAAb;AAAA,QAAE;AAAEoB,MAAAA;AAAF,KAAF;AAAA,WACzB;AAAI,MAAA,GAAG,EAAGpB;AAAV,OACGoB,KAAK,CAACD,GAAN,CACD,QASC3B,WATD;AAAA,UACC;AACCL,QAAAA,OADD;AAECkC,QAAAA,GAAG,EAAEC,OAFN;AAGCC,QAAAA,KAHD;AAIC3E,QAAAA,KAJD;AAKC4E,QAAAA,OALD;AAMCC,QAAAA;AAND,OADD;AAAA,aAWC,cAAC,QAAD;AACC,QAAA,OAAO,EAAGH,OADX;AAEC,QAAA,GAAG,EAAG9B,WAFP;AAGC,QAAA,SAAS,EAAG7F,UAAU,CACrB;AACC,WAAG,kBAAkBiD,KAAO,EAA5B,GAAiCA;AADlC,SADqB,EAIrB,8BAJqB,CAHvB;AASC,QAAA,KAAK,EAAG0E,OAAO,KAAK,IAAZ,GAAmBC,KAAnB,GAA2BG,SATpC;AAUC,QAAA,OAAO,EAAGF,OAVX;AAWC,QAAA,OAAO,EAAGC,OAXX;AAYC,QAAA,KAAK,EAAGtC,OAZT;AAaC,QAAA,QAAQ,EAAGD,QAbZ;AAcC,QAAA,eAAe,EAAG,MAAM;AACvBhB,UAAAA,eAAe,CAAE;AAChB6B,YAAAA,WAAW,EAAE5C,IADG;AAEhB6C,YAAAA,QAFgB;AAGhBR,YAAAA,WAHgB;AAIhBD,YAAAA,IAAI,EAAE;AAJU,WAAF,CAAf;AAMA,SArBF;AAsBC,sBAAa1C,aAAa,CAAEM,IAAF,CAtB3B;AAuBC,QAAA,WAAW,EAAGF,WAAW,CAAEE,IAAF;AAvB1B,QAXD;AAAA,KADC,CADH,CADyB;AAAA,GAAxB,CADH,CADwB,CAAzB;AAgDA,QAAMwE,OAAO,GAAG,CAAEd,QAAQ,CAACe,MAA3B;AAEA,SACC,wBAAaxH,aAAa,CAAE;AAAEyH,IAAAA,GAAG,EAAExD;AAAP,GAAF,CAA1B,EACG,CAAEsD,OAAF,IACD,8BACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,gBAAD;AACC,IAAA,KAAK,EAAGjH,EAAE,CAAE,yBAAF,CADX;AAEC,IAAA,iBAAiB,EAAGgC,kBAFrB;AAGC,IAAA,KAAK,EAAGgD,gBAAgB,EAHzB;AAIC,IAAA,QAAQ,EAAKoC,SAAF,IACVzC,uBAAuB,CAAEyC,SAAF;AALzB,IADD,CADD,EAWC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,mBAAD;AACC,IAAA,iBAAiB,MADlB;AAEC,IAAA,IAAI,EAAGhG,KAFR;AAGC,IAAA,KAAK,EAAGpB,EAAE,CAAE,YAAF,CAHX;AAIC,IAAA,QAAQ,EAAGqG;AAJZ,IADD,CAXD,CAFF,EAuBC,cAAC,iBAAD,QACC,cAAC,SAAD;AACC,IAAA,KAAK,EAAGrG,EAAE,CAAE,UAAF,CADX;AAEC,IAAA,SAAS,EAAC;AAFX,KAIC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,yBAAF,CADX;AAEC,IAAA,OAAO,EAAG,CAAC,CAAEiD,cAFd;AAGC,IAAA,QAAQ,EAAGsB;AAHZ,IAJD,EASG,CAAE0C,OAAF,IACD,8BACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGjH,EAAE,CAAE,gBAAF,CADX;AAEC,IAAA,OAAO,EAAG,CAAC,EAAIoC,IAAI,IAAIA,IAAI,CAAC8E,MAAjB,CAFZ;AAGC,IAAA,QAAQ,EAAGjC;AAHZ,IADD,EAMC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGjF,EAAE,CAAE,gBAAF,CADX;AAEC,IAAA,OAAO,EAAG,CAAC,EAAIsC,IAAI,IAAIA,IAAI,CAAC4E,MAAjB,CAFZ;AAGC,IAAA,QAAQ,EAAGhC;AAHZ,IAND,CAVF,CADD,CAvBD,EAiDG,CAAE+B,OAAF,IACD;AACC,IAAA,SAAS,EAAGhI,UAAU,CACrBwE,UAAU,CAAC4D,SADU,EAErB3D,WAAW,CAAC2D,SAFS,EAGrB;AACC,0BAAoBpE,cADrB;AAEC;AACA;AACA;AACA,gCAA0BzC,eAAe,CACxCqC,UADwC,aACxCA,UADwC,4CACxCA,UAAU,CAAEyE,KAD4B,sDACxC,kBAAmBC,MADqB;AAL1C,KAHqB,CADvB;AAcC,IAAA,KAAK,EAAG,EAAE,GAAG9D,UAAU,CAAC6D,KAAhB;AAAuB,SAAG5D,WAAW,CAAC4D;AAAtC;AAdT,KAgBGd,gBAhBH,CAlDF,EAqEG,CAAES,OAAF,IACD,cAAC,QAAD;AACC,IAAA,UAAU,EAAC,SADZ;AAEC,IAAA,OAAO,EAAC,YAFT;AAGC,IAAA,SAAS,EAAGlH,iCAAiC,CAAE,SAAF,CAH9C;AAIC,kBAAaC,EAAE,CAAE,oBAAF,CAJhB;AAKC,IAAA,WAAW,EAAGA,EAAE,CAAE,aAAF,CALjB;AAMC,IAAA,KAAK,EAAGkD,OANT;AAOC,IAAA,QAAQ,EAAKsE,KAAF,IACV1E,aAAa,CAAE;AAAEI,MAAAA,OAAO,EAAEsE;AAAX,KAAF,CARf,CAUC;AAVD;AAWC,IAAA,eAAe,EAAG,MAAMhE,eAAe,EAXxC;AAYC,IAAA,sBAAsB,EAAG,MACxBT,iBAAiB,CAChB1B,WAAW,CAAEC,mBAAmB,EAArB,CADK;AAbnB,IAtEF,EAyFG2F,OAAO,IACR,cAAC,WAAD;AACC,IAAA,KAAK,EAAGjH,EAAE,CAAE,OAAF,CADX;AAEC,IAAA,IAAI,EAAG,cAAC,SAAD;AAAW,MAAA,IAAI,EAAGa,IAAlB;AAAyB,MAAA,UAAU;AAAnC,MAFR;AAGC,IAAA,YAAY,EAAGb,EAAE,CAAE,kCAAF;AAHlB,KAKC;AACC,IAAA,SAAS,EAAC,gCADX;AAEC,IAAA,QAAQ,EAAGiE;AAFZ,KAIC,cAAC,WAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,IAAA,KAAK,EAAGjE,EAAE,CAAE,cAAF,CAHX;AAIC,IAAA,KAAK,EAAGqD,kBAJT;AAKC,IAAA,QAAQ,EAAGS,0BALZ;AAMC,IAAA,GAAG,EAAC,GANL;AAOC,IAAA,SAAS,EAAC;AAPX,IAJD,EAaC,cAAC,WAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,IAAA,KAAK,EAAG9D,EAAE,CAAE,WAAF,CAHX;AAIC,IAAA,KAAK,EAAGmD,eAJT;AAKC,IAAA,QAAQ,EAAGa,uBALZ;AAMC,IAAA,GAAG,EAAC,GANL;AAOC,IAAA,SAAS,EAAC;AAPX,IAbD,EAsBC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,kCADX;AAEC,IAAA,OAAO,EAAC,SAFT;AAGC,IAAA,IAAI,EAAC;AAHN,KAKGhE,EAAE,CAAE,cAAF,CALL,CAtBD,CALD,CA1FF,CADD;AAkIA;;AAED,eAAe4C,SAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tRichText,\n\tBlockIcon,\n\tAlignmentControl,\n\tuseBlockProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPanelBody,\n\tPlaceholder,\n\tTextControl,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport {\n\talignLeft,\n\talignRight,\n\talignCenter,\n\tblockTable as icon,\n\ttableColumnAfter,\n\ttableColumnBefore,\n\ttableColumnDelete,\n\ttableRowAfter,\n\ttableRowBefore,\n\ttableRowDelete,\n\ttable,\n} from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcreateTable,\n\tupdateSelectedCell,\n\tgetCellAttribute,\n\tinsertRow,\n\tdeleteRow,\n\tinsertColumn,\n\tdeleteColumn,\n\ttoggleSection,\n\tisEmptyTableSection,\n} from './state';\n\nconst ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align column left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align column center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align column right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst cellAriaLabel = {\n\thead: __( 'Header cell text' ),\n\tbody: __( 'Body cell text' ),\n\tfoot: __( 'Footer cell text' ),\n};\n\nconst placeholder = {\n\thead: __( 'Header label' ),\n\tfoot: __( 'Footer label' ),\n};\n\nfunction TSection( { name, ...props } ) {\n\tconst TagName = `t${ name }`;\n\treturn <TagName { ...props } />;\n}\n\nfunction TableEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tisSelected,\n} ) {\n\tconst { hasFixedLayout, caption, head, foot } = attributes;\n\tconst [ initialRowCount, setInitialRowCount ] = useState( 2 );\n\tconst [ initialColumnCount, setInitialColumnCount ] = useState( 2 );\n\tconst [ selectedCell, setSelectedCell ] = useState();\n\n\tconst colorProps = useColorProps( attributes );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst tableRef = useRef();\n\tconst [ hasTableCreated, setHasTableCreated ] = useState( false );\n\n\t/**\n\t * Updates the initial column count used for table creation.\n\t *\n\t * @param {number} count New initial column count.\n\t */\n\tfunction onChangeInitialColumnCount( count ) {\n\t\tsetInitialColumnCount( count );\n\t}\n\n\t/**\n\t * Updates the initial row count used for table creation.\n\t *\n\t * @param {number} count New initial row count.\n\t */\n\tfunction onChangeInitialRowCount( count ) {\n\t\tsetInitialRowCount( count );\n\t}\n\n\t/**\n\t * Creates a table based on dimensions in local state.\n\t *\n\t * @param {Object} event Form submit event.\n\t */\n\tfunction onCreateTable( event ) {\n\t\tevent.preventDefault();\n\n\t\tsetAttributes(\n\t\t\tcreateTable( {\n\t\t\t\trowCount: parseInt( initialRowCount, 10 ) || 2,\n\t\t\t\tcolumnCount: parseInt( initialColumnCount, 10 ) || 2,\n\t\t\t} )\n\t\t);\n\t\tsetHasTableCreated( true );\n\t}\n\n\t/**\n\t * Toggles whether the table has a fixed layout or not.\n\t */\n\tfunction onChangeFixedLayout() {\n\t\tsetAttributes( { hasFixedLayout: ! hasFixedLayout } );\n\t}\n\n\t/**\n\t * Changes the content of the currently selected cell.\n\t *\n\t * @param {Array} content A RichText content value.\n\t */\n\tfunction onChange( content ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes(\n\t\t\tupdateSelectedCell(\n\t\t\t\tattributes,\n\t\t\t\tselectedCell,\n\t\t\t\t( cellAttributes ) => ( {\n\t\t\t\t\t...cellAttributes,\n\t\t\t\t\tcontent,\n\t\t\t\t} )\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Align text within the a column.\n\t *\n\t * @param {string} align The new alignment to apply to the column.\n\t */\n\tfunction onChangeColumnAlignment( align ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Convert the cell selection to a column selection so that alignment\n\t\t// is applied to the entire column.\n\t\tconst columnSelection = {\n\t\t\ttype: 'column',\n\t\t\tcolumnIndex: selectedCell.columnIndex,\n\t\t};\n\n\t\tconst newAttributes = updateSelectedCell(\n\t\t\tattributes,\n\t\t\tcolumnSelection,\n\t\t\t( cellAttributes ) => ( {\n\t\t\t\t...cellAttributes,\n\t\t\t\talign,\n\t\t\t} )\n\t\t);\n\t\tsetAttributes( newAttributes );\n\t}\n\n\t/**\n\t * Get the alignment of the currently selected cell.\n\t *\n\t * @return {string | undefined} The new alignment to apply to the column.\n\t */\n\tfunction getCellAlignment() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getCellAttribute( attributes, selectedCell, 'align' );\n\t}\n\n\t/**\n\t * Add or remove a `head` table section.\n\t */\n\tfunction onToggleHeaderSection() {\n\t\tsetAttributes( toggleSection( attributes, 'head' ) );\n\t}\n\n\t/**\n\t * Add or remove a `foot` table section.\n\t */\n\tfunction onToggleFooterSection() {\n\t\tsetAttributes( toggleSection( attributes, 'foot' ) );\n\t}\n\n\t/**\n\t * Inserts a row at the currently selected row index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected row index at which to insert.\n\t */\n\tfunction onInsertRow( delta ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\t\tconst newRowIndex = rowIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertRow( attributes, {\n\t\t\t\tsectionName,\n\t\t\t\trowIndex: newRowIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new row.\n\t\tsetSelectedCell( {\n\t\t\tsectionName,\n\t\t\trowIndex: newRowIndex,\n\t\t\tcolumnIndex: 0,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a row before the currently selected row.\n\t */\n\tfunction onInsertRowBefore() {\n\t\tonInsertRow( 0 );\n\t}\n\n\t/**\n\t * Inserts a row after the currently selected row.\n\t */\n\tfunction onInsertRowAfter() {\n\t\tonInsertRow( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected row.\n\t */\n\tfunction onDeleteRow() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes( deleteRow( attributes, { sectionName, rowIndex } ) );\n\t}\n\n\t/**\n\t * Inserts a column at the currently selected column index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected column index at which to insert.\n\t */\n\tfunction onInsertColumn( delta = 0 ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { columnIndex } = selectedCell;\n\t\tconst newColumnIndex = columnIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertColumn( attributes, {\n\t\t\t\tcolumnIndex: newColumnIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new column.\n\t\tsetSelectedCell( {\n\t\t\trowIndex: 0,\n\t\t\tcolumnIndex: newColumnIndex,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a column before the currently selected column.\n\t */\n\tfunction onInsertColumnBefore() {\n\t\tonInsertColumn( 0 );\n\t}\n\n\t/**\n\t * Inserts a column after the currently selected column.\n\t */\n\tfunction onInsertColumnAfter() {\n\t\tonInsertColumn( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected column.\n\t */\n\tfunction onDeleteColumn() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, columnIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes(\n\t\t\tdeleteColumn( attributes, { sectionName, columnIndex } )\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedCell();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tif ( hasTableCreated ) {\n\t\t\ttableRef?.current\n\t\t\t\t?.querySelector( 'td[contentEditable=\"true\"]' )\n\t\t\t\t?.focus();\n\t\t\tsetHasTableCreated( false );\n\t\t}\n\t}, [ hasTableCreated ] );\n\n\tconst sections = [ 'head', 'body', 'foot' ].filter(\n\t\t( name ) => ! isEmptyTableSection( attributes[ name ] )\n\t);\n\n\tconst tableControls = [\n\t\t{\n\t\t\ticon: tableRowBefore,\n\t\t\ttitle: __( 'Insert row before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowAfter,\n\t\t\ttitle: __( 'Insert row after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowDelete,\n\t\t\ttitle: __( 'Delete row' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteRow,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnBefore,\n\t\t\ttitle: __( 'Insert column before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnAfter,\n\t\t\ttitle: __( 'Insert column after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnDelete,\n\t\t\ttitle: __( 'Delete column' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteColumn,\n\t\t},\n\t];\n\n\tconst renderedSections = [ 'head', 'body', 'foot' ].map( ( name ) => (\n\t\t<TSection name={ name } key={ name }>\n\t\t\t{ attributes[ name ].map( ( { cells }, rowIndex ) => (\n\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\ttag: CellTag,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t\t) => (\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\ttagName={ CellTag }\n\t\t\t\t\t\t\t\tkey={ columnIndex }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'wp-block-table__cell-content'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tscope={ CellTag === 'th' ? scope : undefined }\n\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\trowSpan={ rowspan }\n\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tunstableOnFocus={ () => {\n\t\t\t\t\t\t\t\t\tsetSelectedCell( {\n\t\t\t\t\t\t\t\t\t\tsectionName: name,\n\t\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\t\ttype: 'cell',\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taria-label={ cellAriaLabel[ name ] }\n\t\t\t\t\t\t\t\tplaceholder={ placeholder[ name ] }\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</tr>\n\t\t\t) ) }\n\t\t</TSection>\n\t) );\n\n\tconst isEmpty = ! sections.length;\n\n\treturn (\n\t\t<figure { ...useBlockProps( { ref: tableRef } ) }>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tlabel={ __( 'Change column alignment' ) }\n\t\t\t\t\t\t\talignmentControls={ ALIGNMENT_CONTROLS }\n\t\t\t\t\t\t\tvalue={ getCellAlignment() }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) =>\n\t\t\t\t\t\t\t\tonChangeColumnAlignment( nextAlign )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\thasArrowIndicator\n\t\t\t\t\t\t\ticon={ table }\n\t\t\t\t\t\t\tlabel={ __( 'Edit table' ) }\n\t\t\t\t\t\t\tcontrols={ tableControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\t\tclassName=\"blocks-table-settings\"\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Fixed width table cells' ) }\n\t\t\t\t\t\tchecked={ !! hasFixedLayout }\n\t\t\t\t\t\tonChange={ onChangeFixedLayout }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Header section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( head && head.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleHeaderSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Footer section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( foot && foot.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleFooterSection }\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t\t\t\t// This is required in the editor only to overcome\n\t\t\t\t\t\t\t// the fact the editor rewrites individual border\n\t\t\t\t\t\t\t// widths into a shorthand format.\n\t\t\t\t\t\t\t'has-individual-borders': hasSplitBorders(\n\t\t\t\t\t\t\t\tattributes?.style?.border\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\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t{ renderedSections }\n\t\t\t\t</table>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\taria-label={ __( 'Table caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\t// Deselect the selected table cell when the caption is focused.\n\t\t\t\t\tunstableOnFocus={ () => setSelectedCell() }\n\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isEmpty && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tlabel={ __( 'Table' ) }\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\tinstructions={ __( 'Insert a table for sharing data.' ) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"blocks-table__placeholder-form\"\n\t\t\t\t\t\tonSubmit={ onCreateTable }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Column count' ) }\n\t\t\t\t\t\t\tvalue={ initialColumnCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialColumnCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Row count' ) }\n\t\t\t\t\t\t\tvalue={ initialRowCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialRowCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-button\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create Table' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n\nexport default TableEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/table/edit.js"],"names":["classnames","useEffect","useRef","useState","InspectorControls","BlockControls","RichText","BlockIcon","AlignmentControl","useBlockProps","__experimentalUseColorProps","useColorProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetElementClassName","__","Button","PanelBody","Placeholder","TextControl","ToggleControl","ToolbarDropdownMenu","__experimentalHasSplitBorders","hasSplitBorders","alignLeft","alignRight","alignCenter","blockTable","icon","tableColumnAfter","tableColumnBefore","tableColumnDelete","tableRowAfter","tableRowBefore","tableRowDelete","table","createBlock","getDefaultBlockName","createTable","updateSelectedCell","getCellAttribute","insertRow","deleteRow","insertColumn","deleteColumn","toggleSection","isEmptyTableSection","ALIGNMENT_CONTROLS","title","align","cellAriaLabel","head","body","foot","placeholder","TSection","name","props","TagName","TableEdit","attributes","setAttributes","insertBlocksAfter","isSelected","hasFixedLayout","caption","initialRowCount","setInitialRowCount","initialColumnCount","setInitialColumnCount","selectedCell","setSelectedCell","colorProps","borderProps","tableRef","hasTableCreated","setHasTableCreated","onChangeInitialColumnCount","count","onChangeInitialRowCount","onCreateTable","event","preventDefault","rowCount","parseInt","columnCount","onChangeFixedLayout","onChange","content","cellAttributes","onChangeColumnAlignment","columnSelection","type","columnIndex","newAttributes","getCellAlignment","onToggleHeaderSection","onToggleFooterSection","onInsertRow","delta","sectionName","rowIndex","newRowIndex","onInsertRowBefore","onInsertRowAfter","onDeleteRow","onInsertColumn","newColumnIndex","onInsertColumnBefore","onInsertColumnAfter","onDeleteColumn","current","querySelector","focus","sections","filter","tableControls","isDisabled","onClick","renderedSections","map","cells","tag","CellTag","scope","colspan","rowspan","undefined","isEmpty","length","ref","nextAlign","className","style","border","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tRichText,\n\tBlockIcon,\n\tAlignmentControl,\n\tuseBlockProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPanelBody,\n\tPlaceholder,\n\tTextControl,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport {\n\talignLeft,\n\talignRight,\n\talignCenter,\n\tblockTable as icon,\n\ttableColumnAfter,\n\ttableColumnBefore,\n\ttableColumnDelete,\n\ttableRowAfter,\n\ttableRowBefore,\n\ttableRowDelete,\n\ttable,\n} from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcreateTable,\n\tupdateSelectedCell,\n\tgetCellAttribute,\n\tinsertRow,\n\tdeleteRow,\n\tinsertColumn,\n\tdeleteColumn,\n\ttoggleSection,\n\tisEmptyTableSection,\n} from './state';\n\nconst ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align column left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align column center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align column right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst cellAriaLabel = {\n\thead: __( 'Header cell text' ),\n\tbody: __( 'Body cell text' ),\n\tfoot: __( 'Footer cell text' ),\n};\n\nconst placeholder = {\n\thead: __( 'Header label' ),\n\tfoot: __( 'Footer label' ),\n};\n\nfunction TSection( { name, ...props } ) {\n\tconst TagName = `t${ name }`;\n\treturn <TagName { ...props } />;\n}\n\nfunction TableEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tisSelected,\n} ) {\n\tconst { hasFixedLayout, caption, head, foot } = attributes;\n\tconst [ initialRowCount, setInitialRowCount ] = useState( 2 );\n\tconst [ initialColumnCount, setInitialColumnCount ] = useState( 2 );\n\tconst [ selectedCell, setSelectedCell ] = useState();\n\n\tconst colorProps = useColorProps( attributes );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst tableRef = useRef();\n\tconst [ hasTableCreated, setHasTableCreated ] = useState( false );\n\n\t/**\n\t * Updates the initial column count used for table creation.\n\t *\n\t * @param {number} count New initial column count.\n\t */\n\tfunction onChangeInitialColumnCount( count ) {\n\t\tsetInitialColumnCount( count );\n\t}\n\n\t/**\n\t * Updates the initial row count used for table creation.\n\t *\n\t * @param {number} count New initial row count.\n\t */\n\tfunction onChangeInitialRowCount( count ) {\n\t\tsetInitialRowCount( count );\n\t}\n\n\t/**\n\t * Creates a table based on dimensions in local state.\n\t *\n\t * @param {Object} event Form submit event.\n\t */\n\tfunction onCreateTable( event ) {\n\t\tevent.preventDefault();\n\n\t\tsetAttributes(\n\t\t\tcreateTable( {\n\t\t\t\trowCount: parseInt( initialRowCount, 10 ) || 2,\n\t\t\t\tcolumnCount: parseInt( initialColumnCount, 10 ) || 2,\n\t\t\t} )\n\t\t);\n\t\tsetHasTableCreated( true );\n\t}\n\n\t/**\n\t * Toggles whether the table has a fixed layout or not.\n\t */\n\tfunction onChangeFixedLayout() {\n\t\tsetAttributes( { hasFixedLayout: ! hasFixedLayout } );\n\t}\n\n\t/**\n\t * Changes the content of the currently selected cell.\n\t *\n\t * @param {Array} content A RichText content value.\n\t */\n\tfunction onChange( content ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes(\n\t\t\tupdateSelectedCell(\n\t\t\t\tattributes,\n\t\t\t\tselectedCell,\n\t\t\t\t( cellAttributes ) => ( {\n\t\t\t\t\t...cellAttributes,\n\t\t\t\t\tcontent,\n\t\t\t\t} )\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Align text within the a column.\n\t *\n\t * @param {string} align The new alignment to apply to the column.\n\t */\n\tfunction onChangeColumnAlignment( align ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Convert the cell selection to a column selection so that alignment\n\t\t// is applied to the entire column.\n\t\tconst columnSelection = {\n\t\t\ttype: 'column',\n\t\t\tcolumnIndex: selectedCell.columnIndex,\n\t\t};\n\n\t\tconst newAttributes = updateSelectedCell(\n\t\t\tattributes,\n\t\t\tcolumnSelection,\n\t\t\t( cellAttributes ) => ( {\n\t\t\t\t...cellAttributes,\n\t\t\t\talign,\n\t\t\t} )\n\t\t);\n\t\tsetAttributes( newAttributes );\n\t}\n\n\t/**\n\t * Get the alignment of the currently selected cell.\n\t *\n\t * @return {string | undefined} The new alignment to apply to the column.\n\t */\n\tfunction getCellAlignment() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getCellAttribute( attributes, selectedCell, 'align' );\n\t}\n\n\t/**\n\t * Add or remove a `head` table section.\n\t */\n\tfunction onToggleHeaderSection() {\n\t\tsetAttributes( toggleSection( attributes, 'head' ) );\n\t}\n\n\t/**\n\t * Add or remove a `foot` table section.\n\t */\n\tfunction onToggleFooterSection() {\n\t\tsetAttributes( toggleSection( attributes, 'foot' ) );\n\t}\n\n\t/**\n\t * Inserts a row at the currently selected row index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected row index at which to insert.\n\t */\n\tfunction onInsertRow( delta ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\t\tconst newRowIndex = rowIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertRow( attributes, {\n\t\t\t\tsectionName,\n\t\t\t\trowIndex: newRowIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new row.\n\t\tsetSelectedCell( {\n\t\t\tsectionName,\n\t\t\trowIndex: newRowIndex,\n\t\t\tcolumnIndex: 0,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a row before the currently selected row.\n\t */\n\tfunction onInsertRowBefore() {\n\t\tonInsertRow( 0 );\n\t}\n\n\t/**\n\t * Inserts a row after the currently selected row.\n\t */\n\tfunction onInsertRowAfter() {\n\t\tonInsertRow( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected row.\n\t */\n\tfunction onDeleteRow() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes( deleteRow( attributes, { sectionName, rowIndex } ) );\n\t}\n\n\t/**\n\t * Inserts a column at the currently selected column index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected column index at which to insert.\n\t */\n\tfunction onInsertColumn( delta = 0 ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { columnIndex } = selectedCell;\n\t\tconst newColumnIndex = columnIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertColumn( attributes, {\n\t\t\t\tcolumnIndex: newColumnIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new column.\n\t\tsetSelectedCell( {\n\t\t\trowIndex: 0,\n\t\t\tcolumnIndex: newColumnIndex,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a column before the currently selected column.\n\t */\n\tfunction onInsertColumnBefore() {\n\t\tonInsertColumn( 0 );\n\t}\n\n\t/**\n\t * Inserts a column after the currently selected column.\n\t */\n\tfunction onInsertColumnAfter() {\n\t\tonInsertColumn( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected column.\n\t */\n\tfunction onDeleteColumn() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, columnIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes(\n\t\t\tdeleteColumn( attributes, { sectionName, columnIndex } )\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedCell();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tif ( hasTableCreated ) {\n\t\t\ttableRef?.current\n\t\t\t\t?.querySelector( 'td[contentEditable=\"true\"]' )\n\t\t\t\t?.focus();\n\t\t\tsetHasTableCreated( false );\n\t\t}\n\t}, [ hasTableCreated ] );\n\n\tconst sections = [ 'head', 'body', 'foot' ].filter(\n\t\t( name ) => ! isEmptyTableSection( attributes[ name ] )\n\t);\n\n\tconst tableControls = [\n\t\t{\n\t\t\ticon: tableRowBefore,\n\t\t\ttitle: __( 'Insert row before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowAfter,\n\t\t\ttitle: __( 'Insert row after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowDelete,\n\t\t\ttitle: __( 'Delete row' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteRow,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnBefore,\n\t\t\ttitle: __( 'Insert column before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnAfter,\n\t\t\ttitle: __( 'Insert column after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnDelete,\n\t\t\ttitle: __( 'Delete column' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteColumn,\n\t\t},\n\t];\n\n\tconst renderedSections = sections.map( ( name ) => (\n\t\t<TSection name={ name } key={ name }>\n\t\t\t{ attributes[ name ].map( ( { cells }, rowIndex ) => (\n\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\ttag: CellTag,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t\t) => (\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\ttagName={ CellTag }\n\t\t\t\t\t\t\t\tkey={ columnIndex }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'wp-block-table__cell-content'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tscope={ CellTag === 'th' ? scope : undefined }\n\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\trowSpan={ rowspan }\n\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\t\t\t\tsetSelectedCell( {\n\t\t\t\t\t\t\t\t\t\tsectionName: name,\n\t\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\t\ttype: 'cell',\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taria-label={ cellAriaLabel[ name ] }\n\t\t\t\t\t\t\t\tplaceholder={ placeholder[ name ] }\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</tr>\n\t\t\t) ) }\n\t\t</TSection>\n\t) );\n\n\tconst isEmpty = ! sections.length;\n\n\treturn (\n\t\t<figure { ...useBlockProps( { ref: tableRef } ) }>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tlabel={ __( 'Change column alignment' ) }\n\t\t\t\t\t\t\talignmentControls={ ALIGNMENT_CONTROLS }\n\t\t\t\t\t\t\tvalue={ getCellAlignment() }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) =>\n\t\t\t\t\t\t\t\tonChangeColumnAlignment( nextAlign )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\thasArrowIndicator\n\t\t\t\t\t\t\ticon={ table }\n\t\t\t\t\t\t\tlabel={ __( 'Edit table' ) }\n\t\t\t\t\t\t\tcontrols={ tableControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\t\tclassName=\"blocks-table-settings\"\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Fixed width table cells' ) }\n\t\t\t\t\t\tchecked={ !! hasFixedLayout }\n\t\t\t\t\t\tonChange={ onChangeFixedLayout }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Header section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( head && head.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleHeaderSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Footer section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( foot && foot.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleFooterSection }\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t\t\t\t// This is required in the editor only to overcome\n\t\t\t\t\t\t\t// the fact the editor rewrites individual border\n\t\t\t\t\t\t\t// widths into a shorthand format.\n\t\t\t\t\t\t\t'has-individual-borders': hasSplitBorders(\n\t\t\t\t\t\t\t\tattributes?.style?.border\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\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t{ renderedSections }\n\t\t\t\t</table>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\taria-label={ __( 'Table caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\t// Deselect the selected table cell when the caption is focused.\n\t\t\t\t\tonFocus={ () => setSelectedCell() }\n\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isEmpty && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tlabel={ __( 'Table' ) }\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\tinstructions={ __( 'Insert a table for sharing data.' ) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"blocks-table__placeholder-form\"\n\t\t\t\t\t\tonSubmit={ onCreateTable }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Column count' ) }\n\t\t\t\t\t\t\tvalue={ initialColumnCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialColumnCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Row count' ) }\n\t\t\t\t\t\t\tvalue={ initialRowCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialRowCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-button\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create Table' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n\nexport default TableEdit;\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Takes a flat list of heading parameters and nests them based on each header's
|
|
3
3
|
* immediate parent's level.
|
|
4
4
|
*
|
|
5
|
-
* @param
|
|
5
|
+
* @param headingList The flat list of headings to nest.
|
|
6
6
|
*
|
|
7
7
|
* @return The nested list of headings.
|
|
8
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/table-of-contents/utils.ts"],"names":["linearToNestedHeadingList","headingList","nestedHeadingList","forEach","heading","key","content","level","endOfSlice","length","i","push","children","slice"],"mappings":"AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,yBAAT,CACNC,WADM,EAEgB;AACtB,QAAMC,iBAAsC,GAAG,EAA/C;AAEAD,EAAAA,WAAW,CAACE,OAAZ,CAAqB,CAAEC,OAAF,EAAWC,GAAX,KAAoB;AACxC,QAAKD,OAAO,CAACE,OAAR,KAAoB,EAAzB,EAA8B;AAC7B;AACA,KAHuC,CAKxC;;;AACA,QAAKF,OAAO,CAACG,KAAR,KAAkBN,WAAW,CAAE,CAAF,CAAX,CAAiBM,KAAxC,EAAgD;AAAA;;AAC/C;AACA;AACA;AACA,UAAK,iBAAAN,WAAW,CAAEI,GAAG,GAAG,CAAR,CAAX,8DAAwBE,KAAxB,IAAgCH,OAAO,CAACG,KAA7C,EAAqD;AACpD;AACA;AACA;AACA,YAAIC,UAAU,GAAGP,WAAW,CAACQ,MAA7B;;AACA,aAAM,IAAIC,CAAC,GAAGL,GAAG,GAAG,CAApB,EAAuBK,CAAC,GAAGT,WAAW,CAACQ,MAAvC,EAA+CC,CAAC,EAAhD,EAAqD;AACpD,cAAKT,WAAW,CAAES,CAAF,CAAX,CAAiBH,KAAjB,KAA2BH,OAAO,CAACG,KAAxC,EAAgD;AAC/CC,YAAAA,UAAU,GAAGE,CAAb;AACA;AACA;AACD,SAVmD,CAYpD;AACA;;;AACAR,QAAAA,iBAAiB,CAACS,IAAlB,CAAwB;AACvBP,UAAAA,OADuB;AAEvBQ,UAAAA,QAAQ,EAAEZ,yBAAyB,CAClCC,WAAW,CAACY,KAAZ,CAAmBR,GAAG,GAAG,CAAzB,EAA4BG,UAA5B,CADkC;AAFZ,SAAxB;AAMA,OApBD,MAoBO;AACN;AACAN,QAAAA,iBAAiB,CAACS,IAAlB,CAAwB;AACvBP,UAAAA,OADuB;AAEvBQ,UAAAA,QAAQ,EAAE;AAFa,SAAxB;AAIA;AACD;AACD,GAtCD;AAwCA,SAAOV,iBAAP;AACA","sourcesContent":["export interface HeadingData {\n\t/** The plain text content of the heading. */\n\tcontent: string;\n\t/** The heading level. */\n\tlevel: number;\n\t/** Link to the heading. */\n\tlink: string;\n}\n\nexport interface NestedHeadingData {\n\t/** The heading content, level, and link. */\n\theading: HeadingData;\n\t/** The sub-headings of this heading, if any. */\n\tchildren: NestedHeadingData[] | null;\n}\n\n/**\n * Takes a flat list of heading parameters and nests them based on each header's\n * immediate parent's level.\n *\n * @param
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/table-of-contents/utils.ts"],"names":["linearToNestedHeadingList","headingList","nestedHeadingList","forEach","heading","key","content","level","endOfSlice","length","i","push","children","slice"],"mappings":"AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,yBAAT,CACNC,WADM,EAEgB;AACtB,QAAMC,iBAAsC,GAAG,EAA/C;AAEAD,EAAAA,WAAW,CAACE,OAAZ,CAAqB,CAAEC,OAAF,EAAWC,GAAX,KAAoB;AACxC,QAAKD,OAAO,CAACE,OAAR,KAAoB,EAAzB,EAA8B;AAC7B;AACA,KAHuC,CAKxC;;;AACA,QAAKF,OAAO,CAACG,KAAR,KAAkBN,WAAW,CAAE,CAAF,CAAX,CAAiBM,KAAxC,EAAgD;AAAA;;AAC/C;AACA;AACA;AACA,UAAK,iBAAAN,WAAW,CAAEI,GAAG,GAAG,CAAR,CAAX,8DAAwBE,KAAxB,IAAgCH,OAAO,CAACG,KAA7C,EAAqD;AACpD;AACA;AACA;AACA,YAAIC,UAAU,GAAGP,WAAW,CAACQ,MAA7B;;AACA,aAAM,IAAIC,CAAC,GAAGL,GAAG,GAAG,CAApB,EAAuBK,CAAC,GAAGT,WAAW,CAACQ,MAAvC,EAA+CC,CAAC,EAAhD,EAAqD;AACpD,cAAKT,WAAW,CAAES,CAAF,CAAX,CAAiBH,KAAjB,KAA2BH,OAAO,CAACG,KAAxC,EAAgD;AAC/CC,YAAAA,UAAU,GAAGE,CAAb;AACA;AACA;AACD,SAVmD,CAYpD;AACA;;;AACAR,QAAAA,iBAAiB,CAACS,IAAlB,CAAwB;AACvBP,UAAAA,OADuB;AAEvBQ,UAAAA,QAAQ,EAAEZ,yBAAyB,CAClCC,WAAW,CAACY,KAAZ,CAAmBR,GAAG,GAAG,CAAzB,EAA4BG,UAA5B,CADkC;AAFZ,SAAxB;AAMA,OApBD,MAoBO;AACN;AACAN,QAAAA,iBAAiB,CAACS,IAAlB,CAAwB;AACvBP,UAAAA,OADuB;AAEvBQ,UAAAA,QAAQ,EAAE;AAFa,SAAxB;AAIA;AACD;AACD,GAtCD;AAwCA,SAAOV,iBAAP;AACA","sourcesContent":["export interface HeadingData {\n\t/** The plain text content of the heading. */\n\tcontent: string;\n\t/** The heading level. */\n\tlevel: number;\n\t/** Link to the heading. */\n\tlink: string;\n}\n\nexport interface NestedHeadingData {\n\t/** The heading content, level, and link. */\n\theading: HeadingData;\n\t/** The sub-headings of this heading, if any. */\n\tchildren: NestedHeadingData[] | null;\n}\n\n/**\n * Takes a flat list of heading parameters and nests them based on each header's\n * immediate parent's level.\n *\n * @param headingList The flat list of headings to nest.\n *\n * @return The nested list of headings.\n */\nexport function linearToNestedHeadingList(\n\theadingList: HeadingData[]\n): NestedHeadingData[] {\n\tconst nestedHeadingList: NestedHeadingData[] = [];\n\n\theadingList.forEach( ( heading, key ) => {\n\t\tif ( heading.content === '' ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure we are only working with the same level as the first iteration in our set.\n\t\tif ( heading.level === headingList[ 0 ].level ) {\n\t\t\t// Check that the next iteration will return a value.\n\t\t\t// If it does and the next level is greater than the current level,\n\t\t\t// the next iteration becomes a child of the current iteration.\n\t\t\tif ( headingList[ key + 1 ]?.level > heading.level ) {\n\t\t\t\t// We must calculate the last index before the next iteration that\n\t\t\t\t// has the same level (siblings). We then use this index to slice\n\t\t\t\t// the array for use in recursion. This prevents duplicate nodes.\n\t\t\t\tlet endOfSlice = headingList.length;\n\t\t\t\tfor ( let i = key + 1; i < headingList.length; i++ ) {\n\t\t\t\t\tif ( headingList[ i ].level === heading.level ) {\n\t\t\t\t\t\tendOfSlice = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// We found a child node: Push a new node onto the return array\n\t\t\t\t// with children.\n\t\t\t\tnestedHeadingList.push( {\n\t\t\t\t\theading,\n\t\t\t\t\tchildren: linearToNestedHeadingList(\n\t\t\t\t\t\theadingList.slice( key + 1, endOfSlice )\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\t// No child node: Push a new node onto the return array.\n\t\t\t\tnestedHeadingList.push( {\n\t\t\t\t\theading,\n\t\t\t\t\tchildren: null,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t} );\n\n\treturn nestedHeadingList;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/verse/index.js"],"names":["__","verse","icon","initBlock","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","content","merge","attributesToMerge","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/verse/index.js"],"names":["__","verse","icon","initBlock","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","content","merge","attributesToMerge","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBR,EAAAA,IADuB;AAEvBS,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACX;AACA;AACAC,MAAAA,OAAO,EAAEb,EAAE,CACV,yOADU;AAGX;;AANW;AADJ,GAFc;AAYvBO,EAAAA,UAZuB;AAavBH,EAAAA,UAbuB;;AAcvBU,EAAAA,KAAK,CAAEF,UAAF,EAAcG,iBAAd,EAAkC;AACtC,WAAO;AACNF,MAAAA,OAAO,EAAED,UAAU,CAACC,OAAX,GAAqBE,iBAAiB,CAACF;AAD1C,KAAP;AAGA,GAlBsB;;AAmBvBR,EAAAA,IAnBuB;AAoBvBC,EAAAA;AApBuB,CAAjB;AAuBP,OAAO,MAAMU,IAAI,GAAG,MAAMb,SAAS,CAAE;AAAEK,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { verse as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\t/* eslint-disable @wordpress/i18n-no-collapsible-whitespace */\n\t\t\t// translators: Sample content for the Verse block. Can be replaced with a more locale-adequate work.\n\t\t\tcontent: __(\n\t\t\t\t'WHAT was he doing, the great god Pan,\\n\tDown in the reeds by the river?\\nSpreading ruin and scattering ban,\\nSplashing and paddling with hoofs of a goat,\\nAnd breaking the golden lilies afloat\\n With the dragon-fly on the river.'\n\t\t\t),\n\t\t\t/* eslint-enable @wordpress/i18n-no-collapsible-whitespace */\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent: attributes.content + attributesToMerge.content,\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
|