@wordpress/block-library 7.18.0 → 7.19.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/deprecated.js +16 -2
- package/build/button/deprecated.js.map +1 -1
- package/build/button/edit.js +13 -7
- package/build/button/edit.js.map +1 -1
- package/build/button/index.js +4 -1
- package/build/button/index.js.map +1 -1
- package/build/button/save.js +2 -0
- package/build/button/save.js.map +1 -1
- package/build/columns/transforms.js +5 -0
- package/build/columns/transforms.js.map +1 -1
- package/build/cover/edit/index.js +3 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/gallery/v1/edit.js +4 -2
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/group/edit.js +98 -45
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +3 -0
- package/build/group/index.js.map +1 -1
- package/build/group/placeholder.js +168 -0
- package/build/group/placeholder.js.map +1 -0
- package/build/group/variations.js +3 -3
- package/build/group/variations.js.map +1 -1
- package/build/latest-comments/edit.js +2 -1
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-comments/index.js +5 -1
- package/build/latest-comments/index.js.map +1 -1
- package/build/latest-posts/deprecated.js +13 -0
- package/build/latest-posts/deprecated.js.map +1 -1
- package/build/latest-posts/index.js +13 -0
- package/build/latest-posts/index.js.map +1 -1
- package/build/list-item/edit.js +2 -1
- package/build/list-item/edit.js.map +1 -1
- package/build/navigation/edit/index.js +82 -92
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/manage-menus-button.js +36 -0
- package/build/navigation/edit/manage-menus-button.js.map +1 -0
- package/build/navigation/edit/navigation-menu-selector.js +12 -5
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/responsive-wrapper.js +2 -6
- package/build/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +5 -19
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation-link/edit.js +10 -1
- package/build/navigation-link/edit.js.map +1 -1
- package/build/post-author/edit.js +35 -20
- package/build/post-author/edit.js.map +1 -1
- package/build/post-content/index.js +3 -0
- package/build/post-content/index.js.map +1 -1
- package/build/site-logo/edit.js +1 -1
- package/build/site-logo/edit.js.map +1 -1
- package/build/template-part/variations.js +5 -0
- package/build/template-part/variations.js.map +1 -1
- package/build-module/button/deprecated.js +16 -2
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/button/edit.js +15 -9
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/index.js +4 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/save.js +2 -0
- package/build-module/button/save.js.map +1 -1
- package/build-module/columns/transforms.js +5 -0
- package/build-module/columns/transforms.js.map +1 -1
- package/build-module/cover/edit/index.js +3 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/gallery/v1/edit.js +5 -3
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/group/edit.js +94 -45
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +3 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/placeholder.js +154 -0
- package/build-module/group/placeholder.js.map +1 -0
- package/build-module/group/variations.js +3 -3
- package/build-module/group/variations.js.map +1 -1
- package/build-module/latest-comments/edit.js +2 -1
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-comments/index.js +5 -1
- package/build-module/latest-comments/index.js.map +1 -1
- package/build-module/latest-posts/deprecated.js +13 -0
- package/build-module/latest-posts/deprecated.js.map +1 -1
- package/build-module/latest-posts/index.js +13 -0
- package/build-module/latest-posts/index.js.map +1 -1
- package/build-module/list-item/edit.js +2 -1
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/navigation/edit/index.js +84 -94
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/manage-menus-button.js +26 -0
- package/build-module/navigation/edit/manage-menus-button.js.map +1 -0
- package/build-module/navigation/edit/navigation-menu-selector.js +13 -6
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/responsive-wrapper.js +2 -6
- package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +7 -20
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation-link/edit.js +10 -1
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/post-author/edit.js +35 -21
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-content/index.js +3 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/site-logo/edit.js +1 -1
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/template-part/variations.js +5 -0
- package/build-module/template-part/variations.js.map +1 -1
- package/build-style/editor-rtl.css +76 -1
- package/build-style/editor.css +76 -1
- package/build-style/group/editor-rtl.css +44 -0
- package/build-style/group/editor.css +44 -0
- package/build-style/latest-comments/style-rtl.css +1 -0
- package/build-style/latest-comments/style.css +1 -0
- package/build-style/latest-posts/style-rtl.css +3 -0
- package/build-style/latest-posts/style.css +3 -0
- package/build-style/navigation/editor-rtl.css +23 -0
- package/build-style/navigation/editor.css +23 -0
- package/build-style/navigation/style-rtl.css +10 -0
- package/build-style/navigation/style.css +10 -0
- package/build-style/navigation-link/editor-rtl.css +8 -1
- package/build-style/navigation-link/editor.css +8 -1
- package/build-style/query/editor-rtl.css +1 -1
- package/build-style/query/editor.css +1 -1
- package/build-style/query-pagination/style-rtl.css +1 -1
- package/build-style/query-pagination/style.css +1 -1
- package/build-style/style-rtl.css +20 -1
- package/build-style/style.css +20 -1
- package/build-style/table/editor-rtl.css +1 -0
- package/build-style/table/editor.css +1 -0
- package/build-style/table/style-rtl.css +5 -0
- package/build-style/table/style.css +5 -0
- package/build-style/table/theme-rtl.css +1 -3
- package/build-style/table/theme.css +1 -3
- package/build-style/theme-rtl.css +1 -3
- package/build-style/theme.css +1 -3
- package/package.json +28 -28
- package/src/avatar/index.php +1 -1
- package/src/block/test/edit.native.js +8 -8
- package/src/button/block.json +4 -1
- package/src/button/deprecated.js +18 -2
- package/src/button/edit.js +11 -9
- package/src/button/save.js +12 -2
- package/src/buttons/test/edit.native.js +19 -19
- package/src/columns/test/edit.native.js +32 -32
- package/src/columns/transforms.js +8 -0
- package/src/cover/edit/index.js +3 -1
- package/src/cover/test/edit.native.js +26 -26
- package/src/embed/test/index.native.js +43 -43
- package/src/gallery/test/index.native.js +11 -11
- package/src/gallery/v1/edit.js +19 -24
- package/src/group/block.json +3 -0
- package/src/group/edit.js +95 -44
- package/src/group/editor.scss +48 -0
- package/src/group/placeholder.js +187 -0
- package/src/group/test/edit.native.js +3 -3
- package/src/group/test/placeholder.js +78 -0
- package/src/group/variations.js +3 -3
- package/src/image/test/edit.native.js +17 -17
- package/src/latest-comments/block.json +5 -1
- package/src/latest-comments/edit.js +1 -0
- package/src/latest-comments/style.scss +3 -0
- package/src/latest-posts/block.json +13 -0
- package/src/latest-posts/style.scss +3 -0
- package/src/list/test/edit.native.js +36 -36
- package/src/list-item/edit.js +1 -0
- package/src/missing/test/edit-integration.native.js +5 -5
- package/src/navigation/edit/index.js +173 -146
- package/src/navigation/edit/manage-menus-button.js +21 -0
- package/src/navigation/edit/navigation-menu-selector.js +20 -5
- package/src/navigation/edit/responsive-wrapper.js +2 -10
- package/src/navigation/edit/unsaved-inner-blocks.js +5 -29
- package/src/navigation/editor.scss +25 -0
- package/src/navigation/style.scss +16 -0
- package/src/navigation-link/edit.js +8 -0
- package/src/navigation-link/editor.scss +8 -0
- package/src/post-author/edit.js +44 -20
- package/src/post-content/block.json +3 -0
- package/src/query/editor.scss +1 -1
- package/src/query-pagination/style.scss +1 -1
- package/src/read-more/index.php +9 -2
- package/src/shortcode/test/edit.native.js +5 -5
- package/src/site-logo/edit.js +1 -1
- package/src/social-link/test/index.native.js +10 -10
- package/src/social-links/test/edit.native.js +4 -4
- package/src/spacer/test/index.native.js +17 -17
- package/src/table/editor.scss +1 -0
- package/src/table/style.scss +7 -0
- package/src/table/theme.scss +1 -3
- package/src/template-part/index.php +5 -0
- package/src/template-part/variations.js +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/edit/index.js"],"names":["namesPlugin","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","featuredImage","media","select","coreStore","getMedia","mediaUrl","source_url","backgroundType","IMAGE_BACKGROUND_TYPE","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","createErrorNotice","noticesStore","gradientClass","gradientValue","onSelectMedia","isUploadingMedia","onUploadError","message","type","isCoverDark","color","isImageBackground","isVideoBackground","VIDEO_BACKGROUND_TYPE","minHeightWithUnit","isImgElement","style","undefined","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","mediaElement","currentSettings","toggleUseFeaturedImage","blockControls","inspectorControls","value","newMinHeight","classes","class"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport useCoverIsDark from './use-cover-is-dark';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCover from './resizable-cover';\n\nextend( [ namesPlugin ] );\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage ? mediaUrl : attributes.url;\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: attributes.backgroundType;\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isCoverDark = useCoverIsDark( url, dimRatio, overlayColor.color );\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\ttemplate: innerBlocksTemplate,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ setOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t/>\n\t);\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<div\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t\t<ResizableCover\n\t\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t<ResizableCover\n\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t} }\n\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t} }\n\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t/>\n\n\t\t\t\t{ ( ! useFeaturedImage || url ) && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/edit/index.js"],"names":["namesPlugin","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","featuredImage","media","select","coreStore","getMedia","mediaUrl","source_url","backgroundType","IMAGE_BACKGROUND_TYPE","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","createErrorNotice","noticesStore","gradientClass","gradientValue","onSelectMedia","isUploadingMedia","onUploadError","message","type","isCoverDark","color","isImageBackground","isVideoBackground","VIDEO_BACKGROUND_TYPE","minHeightWithUnit","isImgElement","style","undefined","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","mediaElement","currentSettings","toggleUseFeaturedImage","blockControls","inspectorControls","value","newMinHeight","classes","class"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport useCoverIsDark from './use-cover-is-dark';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCover from './resizable-cover';\n\nextend( [ namesPlugin ] );\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage ? mediaUrl : attributes.url;\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: attributes.backgroundType;\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isCoverDark = useCoverIsDark( url, dimRatio, overlayColor.color );\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ setOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t/>\n\t);\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<div\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t\t<ResizableCover\n\t\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t<ResizableCover\n\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t} }\n\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t} }\n\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t/>\n\n\t\t\t\t{ ( ! useFeaturedImage || url ) && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"]}
|
package/build/gallery/v1/edit.js
CHANGED
|
@@ -114,13 +114,15 @@ function GalleryEdit(props) {
|
|
|
114
114
|
});
|
|
115
115
|
const resizedImages = (0, _element.useMemo)(() => {
|
|
116
116
|
if (isSelected) {
|
|
117
|
-
|
|
117
|
+
var _attributes$ids;
|
|
118
|
+
|
|
119
|
+
return ((_attributes$ids = attributes.ids) !== null && _attributes$ids !== void 0 ? _attributes$ids : []).reduce((currentResizedImages, id) => {
|
|
118
120
|
if (!id) {
|
|
119
121
|
return currentResizedImages;
|
|
120
122
|
}
|
|
121
123
|
|
|
122
124
|
const image = getMedia(id);
|
|
123
|
-
const sizes =
|
|
125
|
+
const sizes = imageSizes.reduce((currentSizes, size) => {
|
|
124
126
|
const defaultUrl = (0, _lodash.get)(image, ['sizes', size.slug, 'url']);
|
|
125
127
|
const mediaDetailsUrl = (0, _lodash.get)(image, ['media_details', 'sizes', size.slug, 'source_url']);
|
|
126
128
|
return { ...currentSizes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","settings","getSettings","coreStore","resizedImages","ids","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","mediaDetailsUrl","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","img","i","Math","min","selectCaption","newImage","newImageId","toString","currentImage","currentImageCaption","caption","attachment","onSelectImages","map","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","resizedImageSizes","Object","values","some","name","updateImagesSize","newSizeSlug","updatedImages","url","OS","every","filesList","forEach","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","mediaPlaceholder","sharedIcon","title","instructions","undefined","blockProps","imageSizeOptions","shouldShowSizeOptions","withNotices","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { filter, find, get, isEmpty, map, reduce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { imageSizes, mediaUpload, getMedia, wasBlockJustInserted } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\t\twasBlockJustInserted: select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t\t};\n\t\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn reduce(\n\t\t\t\tattributes.ids,\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = reduce(\n\t\t\t\t\t\timageSizes,\n\t\t\t\t\t\t( currentSizes, size ) => {\n\t\t\t\t\t\t\tconst defaultUrl = get( image, [\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\tconst mediaDetailsUrl = get( image, [\n\t\t\t\t\t\t\t\t'media_details',\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'source_url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: map( newAttrs.images, ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = filter( images, ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = newImage.id.toString();\n\t\tconst currentImage = find( images, { id: newImageId } );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = find( attachmentCaptions, {\n\t\t\tid: newImageId,\n\t\t} );\n\n\t\t// If the attachment caption is updated.\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\tconst resizedImageSizes = Object.values( resizedImages );\n\t\treturn map(\n\t\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\t\tresizedImageSizes.some( ( sizes ) => sizes[ slug ] )\n\t\t\t),\n\t\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t\t);\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = map( images, ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url = get( resizedImages, [\n\t\t\t\tparseInt( image.id, 10 ),\n\t\t\t\tnewSizeSlug,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\timages.every( ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = map( images, ( { url } ) => getBlobByURL( url ) );\n\t\t\timages.forEach( ( { url } ) => revokeBlobURL( url ) );\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList,\n\t\t\t\tonFileChange: onSelectImages,\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Deselect images when deselecting the block.\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedImage();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing\n\t\t// image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={ hasImages && ! isSelected }\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ onSelectImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t\tonFocus={ onFocus }\n\t\t\tautoOpenMediaUpload={\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted\n\t\t\t}\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst imageSizeOptions = getImagesSizeOptions();\n\tconst shouldShowSizeOptions = hasImages && ! isEmpty( imageSizeOptions );\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{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ shouldShowSizeOptions && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\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{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tselectedImage={ selectedImage }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tonMoveBackward={ onMoveBackward }\n\t\t\t\tonMoveForward={ onMoveForward }\n\t\t\t\tonRemoveImage={ onRemoveImage }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonDeselectImage={ onDeselectImage }\n\t\t\t\tonSetImageAttributes={ setImageAttributes }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\t// This prop is used by gallery.native.js.\n\t\t\t\tonFocusGalleryCaption={ onFocusGalleryCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","settings","getSettings","coreStore","resizedImages","ids","reduce","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","mediaDetailsUrl","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","img","i","Math","min","selectCaption","newImage","newImageId","toString","currentImage","currentImageCaption","caption","attachment","onSelectImages","map","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","resizedImageSizes","Object","values","some","name","updateImagesSize","newSizeSlug","updatedImages","url","OS","every","filesList","forEach","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","mediaPlaceholder","sharedIcon","title","instructions","undefined","blockProps","imageSizeOptions","shouldShowSizeOptions","withNotices","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { filter, find, get, isEmpty, map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { imageSizes, mediaUpload, getMedia, wasBlockJustInserted } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\t\twasBlockJustInserted: select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t\t};\n\t\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn ( attributes.ids ?? [] ).reduce(\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = imageSizes.reduce( ( currentSizes, size ) => {\n\t\t\t\t\t\tconst defaultUrl = get( image, [\n\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t'url',\n\t\t\t\t\t\t] );\n\t\t\t\t\t\tconst mediaDetailsUrl = get( image, [\n\t\t\t\t\t\t\t'media_details',\n\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t'source_url',\n\t\t\t\t\t\t] );\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t};\n\t\t\t\t\t}, {} );\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: map( newAttrs.images, ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = filter( images, ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = newImage.id.toString();\n\t\tconst currentImage = find( images, { id: newImageId } );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = find( attachmentCaptions, {\n\t\t\tid: newImageId,\n\t\t} );\n\n\t\t// If the attachment caption is updated.\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\tconst resizedImageSizes = Object.values( resizedImages );\n\t\treturn map(\n\t\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\t\tresizedImageSizes.some( ( sizes ) => sizes[ slug ] )\n\t\t\t),\n\t\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t\t);\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = map( images, ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url = get( resizedImages, [\n\t\t\t\tparseInt( image.id, 10 ),\n\t\t\t\tnewSizeSlug,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\timages.every( ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = map( images, ( { url } ) => getBlobByURL( url ) );\n\t\t\timages.forEach( ( { url } ) => revokeBlobURL( url ) );\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList,\n\t\t\t\tonFileChange: onSelectImages,\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Deselect images when deselecting the block.\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedImage();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing\n\t\t// image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={ hasImages && ! isSelected }\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ onSelectImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t\tonFocus={ onFocus }\n\t\t\tautoOpenMediaUpload={\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted\n\t\t\t}\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst imageSizeOptions = getImagesSizeOptions();\n\tconst shouldShowSizeOptions = hasImages && ! isEmpty( imageSizeOptions );\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{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ shouldShowSizeOptions && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\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{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tselectedImage={ selectedImage }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tonMoveBackward={ onMoveBackward }\n\t\t\t\tonMoveForward={ onMoveForward }\n\t\t\t\tonRemoveImage={ onRemoveImage }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonDeselectImage={ onDeselectImage }\n\t\t\t\tonSetImageAttributes={ setImageAttributes }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\t// This prop is used by gallery.native.js.\n\t\t\t\tonFocusGalleryCaption={ onFocusGalleryCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
|
package/build/group/edit.js
CHANGED
|
@@ -15,25 +15,82 @@ var _components = require("@wordpress/components");
|
|
|
15
15
|
|
|
16
16
|
var _i18n = require("@wordpress/i18n");
|
|
17
17
|
|
|
18
|
+
var _placeholder = _interopRequireWildcard(require("./placeholder"));
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
|
|
22
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
+
|
|
18
24
|
/**
|
|
19
25
|
* WordPress dependencies
|
|
20
26
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Internal dependencies
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Render inspector controls for the Group block.
|
|
34
|
+
*
|
|
35
|
+
* @param {Object} props Component props.
|
|
36
|
+
* @param {string} props.tagName The HTML tag name.
|
|
37
|
+
* @param {Function} props.onSelectTagName onChange function for the SelectControl.
|
|
38
|
+
*
|
|
39
|
+
* @return {JSX.Element} The control group.
|
|
40
|
+
*/
|
|
41
|
+
function GroupEditControls(_ref) {
|
|
42
|
+
let {
|
|
43
|
+
tagName,
|
|
44
|
+
onSelectTagName
|
|
45
|
+
} = _ref;
|
|
46
|
+
const htmlElementMessages = {
|
|
47
|
+
header: (0, _i18n.__)('The <header> element should represent introductory content, typically a group of introductory or navigational aids.'),
|
|
48
|
+
main: (0, _i18n.__)('The <main> element should be used for the primary content of your document only. '),
|
|
49
|
+
section: (0, _i18n.__)("The <section> element should represent a standalone portion of the document that can't be better represented by another element."),
|
|
50
|
+
article: (0, _i18n.__)('The <article> element should represent a self-contained, syndicatable portion of the document.'),
|
|
51
|
+
aside: (0, _i18n.__)("The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content."),
|
|
52
|
+
footer: (0, _i18n.__)('The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).')
|
|
53
|
+
};
|
|
54
|
+
return (0, _element.createElement)(_blockEditor.InspectorControls, {
|
|
55
|
+
__experimentalGroup: "advanced"
|
|
56
|
+
}, (0, _element.createElement)(_components.SelectControl, {
|
|
57
|
+
label: (0, _i18n.__)('HTML element'),
|
|
58
|
+
options: [{
|
|
59
|
+
label: (0, _i18n.__)('Default (<div>)'),
|
|
60
|
+
value: 'div'
|
|
61
|
+
}, {
|
|
62
|
+
label: '<header>',
|
|
63
|
+
value: 'header'
|
|
64
|
+
}, {
|
|
65
|
+
label: '<main>',
|
|
66
|
+
value: 'main'
|
|
67
|
+
}, {
|
|
68
|
+
label: '<section>',
|
|
69
|
+
value: 'section'
|
|
70
|
+
}, {
|
|
71
|
+
label: '<article>',
|
|
72
|
+
value: 'article'
|
|
73
|
+
}, {
|
|
74
|
+
label: '<aside>',
|
|
75
|
+
value: 'aside'
|
|
76
|
+
}, {
|
|
77
|
+
label: '<footer>',
|
|
78
|
+
value: 'footer'
|
|
79
|
+
}],
|
|
80
|
+
value: tagName,
|
|
81
|
+
onChange: onSelectTagName,
|
|
82
|
+
help: htmlElementMessages[tagName]
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function GroupEdit(_ref2) {
|
|
31
87
|
let {
|
|
32
88
|
attributes,
|
|
89
|
+
name,
|
|
33
90
|
setAttributes,
|
|
34
91
|
clientId,
|
|
35
92
|
__unstableLayoutClassNames: layoutClassNames
|
|
36
|
-
} =
|
|
93
|
+
} = _ref2;
|
|
37
94
|
const {
|
|
38
95
|
hasInnerBlocks,
|
|
39
96
|
themeSupportsLayout
|
|
@@ -50,12 +107,13 @@ function GroupEdit(_ref) {
|
|
|
50
107
|
themeSupportsLayout: (_getSettings = getSettings()) === null || _getSettings === void 0 ? void 0 : _getSettings.supportsLayout
|
|
51
108
|
};
|
|
52
109
|
}, [clientId]);
|
|
53
|
-
const defaultLayout = (0, _blockEditor.useSetting)('layout') || {};
|
|
54
110
|
const {
|
|
55
111
|
tagName: TagName = 'div',
|
|
56
112
|
templateLock,
|
|
57
113
|
layout = {}
|
|
58
|
-
} = attributes;
|
|
114
|
+
} = attributes; // Layout settings.
|
|
115
|
+
|
|
116
|
+
const defaultLayout = (0, _blockEditor.useSetting)('layout') || {};
|
|
59
117
|
const usedLayout = !(layout !== null && layout !== void 0 && layout.type) ? { ...defaultLayout,
|
|
60
118
|
...layout,
|
|
61
119
|
type: 'default'
|
|
@@ -65,10 +123,16 @@ function GroupEdit(_ref) {
|
|
|
65
123
|
const {
|
|
66
124
|
type = 'default'
|
|
67
125
|
} = usedLayout;
|
|
68
|
-
const layoutSupportEnabled = themeSupportsLayout || type === 'flex';
|
|
126
|
+
const layoutSupportEnabled = themeSupportsLayout || type === 'flex'; // Hooks.
|
|
127
|
+
|
|
69
128
|
const blockProps = (0, _blockEditor.useBlockProps)({
|
|
70
129
|
className: !layoutSupportEnabled ? layoutClassNames : null
|
|
71
130
|
});
|
|
131
|
+
const [showPlaceholder, setShowPlaceholder] = (0, _placeholder.useShouldShowPlaceHolder)({
|
|
132
|
+
attributes,
|
|
133
|
+
usedLayoutType: usedLayout === null || usedLayout === void 0 ? void 0 : usedLayout.type,
|
|
134
|
+
hasInnerBlocks
|
|
135
|
+
});
|
|
72
136
|
const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(layoutSupportEnabled ? blockProps : {
|
|
73
137
|
className: 'wp-block-group__inner-container'
|
|
74
138
|
}, {
|
|
@@ -77,38 +141,27 @@ function GroupEdit(_ref) {
|
|
|
77
141
|
__experimentalLayout: layoutSupportEnabled ? usedLayout : undefined,
|
|
78
142
|
__unstableDisableLayoutClassNames: !layoutSupportEnabled
|
|
79
143
|
});
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
label: '<section>',
|
|
95
|
-
value: 'section'
|
|
96
|
-
}, {
|
|
97
|
-
label: '<article>',
|
|
98
|
-
value: 'article'
|
|
99
|
-
}, {
|
|
100
|
-
label: '<aside>',
|
|
101
|
-
value: 'aside'
|
|
102
|
-
}, {
|
|
103
|
-
label: '<footer>',
|
|
104
|
-
value: 'footer'
|
|
105
|
-
}],
|
|
106
|
-
value: TagName,
|
|
107
|
-
onChange: value => setAttributes({
|
|
144
|
+
const {
|
|
145
|
+
selectBlock
|
|
146
|
+
} = (0, _data.useDispatch)(_blockEditor.store);
|
|
147
|
+
const updateSelection = (0, _element.useCallback)(newClientId => selectBlock(newClientId, -1), [selectBlock]);
|
|
148
|
+
|
|
149
|
+
const selectVariation = nextVariation => {
|
|
150
|
+
setAttributes(nextVariation.attributes);
|
|
151
|
+
updateSelection(clientId);
|
|
152
|
+
setShowPlaceholder(false);
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(GroupEditControls, {
|
|
156
|
+
tagName: TagName,
|
|
157
|
+
onSelectTagName: value => setAttributes({
|
|
108
158
|
tagName: value
|
|
109
|
-
})
|
|
110
|
-
|
|
111
|
-
|
|
159
|
+
})
|
|
160
|
+
}), showPlaceholder && (0, _element.createElement)(_placeholder.default, {
|
|
161
|
+
clientId: clientId,
|
|
162
|
+
name: name,
|
|
163
|
+
onSelect: selectVariation
|
|
164
|
+
}), layoutSupportEnabled && !showPlaceholder && (0, _element.createElement)(TagName, innerBlocksProps), !layoutSupportEnabled && !showPlaceholder && (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)("div", innerBlocksProps)));
|
|
112
165
|
}
|
|
113
166
|
|
|
114
167
|
var _default = GroupEdit;
|
package/build/group/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/group/edit.js"],"names":["htmlElementMessages","header","main","section","article","aside","footer","GroupEdit","attributes","setAttributes","clientId","__unstableLayoutClassNames","layoutClassNames","hasInnerBlocks","themeSupportsLayout","select","getBlock","getSettings","blockEditorStore","block","innerBlocks","length","supportsLayout","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/group/edit.js"],"names":["GroupEditControls","tagName","onSelectTagName","htmlElementMessages","header","main","section","article","aside","footer","label","value","GroupEdit","attributes","name","setAttributes","clientId","__unstableLayoutClassNames","layoutClassNames","hasInnerBlocks","themeSupportsLayout","select","getBlock","getSettings","blockEditorStore","block","innerBlocks","length","supportsLayout","TagName","templateLock","layout","defaultLayout","usedLayout","type","layoutSupportEnabled","blockProps","className","showPlaceholder","setShowPlaceholder","usedLayoutType","innerBlocksProps","renderAppender","undefined","InnerBlocks","ButtonBlockAppender","__experimentalLayout","__unstableDisableLayoutClassNames","selectBlock","updateSelection","newClientId","selectVariation","nextVariation"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tInnerBlocks,\n\tuseBlockProps,\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport GroupPlaceHolder, { useShouldShowPlaceHolder } from './placeholder';\n\n/**\n * Render inspector controls for the Group block.\n *\n * @param {Object} props Component props.\n * @param {string} props.tagName The HTML tag name.\n * @param {Function} props.onSelectTagName onChange function for the SelectControl.\n *\n * @return {JSX.Element} The control group.\n */\nfunction GroupEditControls( { tagName, onSelectTagName } ) {\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only. '\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\treturn (\n\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t<SelectControl\n\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t] }\n\t\t\t\tvalue={ tagName }\n\t\t\t\tonChange={ onSelectTagName }\n\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nfunction GroupEdit( {\n\tattributes,\n\tname,\n\tsetAttributes,\n\tclientId,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst { hasInnerBlocks, themeSupportsLayout } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getSettings } = select( blockEditorStore );\n\t\t\tconst block = getBlock( clientId );\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: !! ( block && block.innerBlocks.length ),\n\t\t\t\tthemeSupportsLayout: getSettings()?.supportsLayout,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { tagName: TagName = 'div', templateLock, layout = {} } = attributes;\n\n\t// Layout settings.\n\tconst defaultLayout = useSetting( 'layout' ) || {};\n\tconst usedLayout = ! layout?.type\n\t\t? { ...defaultLayout, ...layout, type: 'default' }\n\t\t: { ...defaultLayout, ...layout };\n\tconst { type = 'default' } = usedLayout;\n\tconst layoutSupportEnabled = themeSupportsLayout || type === 'flex';\n\n\t// Hooks.\n\tconst blockProps = useBlockProps( {\n\t\tclassName: ! layoutSupportEnabled ? layoutClassNames : null,\n\t} );\n\tconst [ showPlaceholder, setShowPlaceholder ] = useShouldShowPlaceHolder( {\n\t\tattributes,\n\t\tusedLayoutType: usedLayout?.type,\n\t\thasInnerBlocks,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\tlayoutSupportEnabled\n\t\t\t? blockProps\n\t\t\t: { className: 'wp-block-group__inner-container' },\n\t\t{\n\t\t\ttemplateLock,\n\t\t\trenderAppender: hasInnerBlocks\n\t\t\t\t? undefined\n\t\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t\t\t__experimentalLayout: layoutSupportEnabled ? usedLayout : undefined,\n\t\t\t__unstableDisableLayoutClassNames: ! layoutSupportEnabled,\n\t\t}\n\t);\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst updateSelection = useCallback(\n\t\t( newClientId ) => selectBlock( newClientId, -1 ),\n\t\t[ selectBlock ]\n\t);\n\tconst selectVariation = ( nextVariation ) => {\n\t\tsetAttributes( nextVariation.attributes );\n\t\tupdateSelection( clientId );\n\t\tsetShowPlaceholder( false );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<GroupEditControls\n\t\t\t\ttagName={ TagName }\n\t\t\t\tonSelectTagName={ ( value ) =>\n\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ showPlaceholder && (\n\t\t\t\t<GroupPlaceHolder\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tname={ name }\n\t\t\t\t\tonSelect={ selectVariation }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ layoutSupportEnabled && ! showPlaceholder && (\n\t\t\t\t<TagName { ...innerBlocksProps } />\n\t\t\t) }\n\t\t\t{ /* Ideally this is not needed but it's there for backward compatibility reason\n\t\t\t\tto keep this div for themes that might rely on its presence */ }\n\t\t\t{ ! layoutSupportEnabled && ! showPlaceholder && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default GroupEdit;\n"]}
|
package/build/group/index.js
CHANGED
package/build/group/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/group/index.js"],"names":["name","metadata","settings","icon","example","attributes","style","color","text","background","innerBlocks","customTextColor","fontSize","content","transforms","edit","save","deprecated","variations","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAfA;AACA;AACA;;AAIA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/group/index.js"],"names":["name","metadata","settings","icon","example","attributes","style","color","text","background","innerBlocks","customTextColor","fontSize","content","transforms","edit","save","deprecated","variations","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAfA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,KAAK,EAAE;AACNC,QAAAA,KAAK,EAAE;AACNC,UAAAA,IAAI,EAAE,SADA;AAENC,UAAAA,UAAU,EAAE;AAFN;AADD;AADI,KADJ;AASRC,IAAAA,WAAW,EAAE,CACZ;AACCV,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,MAAJ;AAHE;AAFb,KADY,EASZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,MAAJ;AAHE;AAFb,KATY,EAiBZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,QAAJ;AAHE;AAFb,KAjBY,EAyBZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,OAAJ;AAHE;AAFb,KAzBY,EAiCZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,OAAJ;AAHE;AAFb,KAjCY,EAyCZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,MAAJ;AAHE;AAFb,KAzCY;AATL,GAFc;AA8DvBC,EAAAA,UAAU,EAAVA,mBA9DuB;AA+DvBC,EAAAA,IAAI,EAAJA,aA/DuB;AAgEvBC,EAAAA,IAAI,EAAJA,aAhEuB;AAiEvBC,EAAAA,UAAU,EAAVA,mBAjEuB;AAkEvBC,EAAAA,UAAU,EAAVA;AAlEuB,CAAjB;;;AAqEA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEnB,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { group 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';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\ttext: '#000000',\n\t\t\t\t\tbackground: '#ffffff',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#cf2e2e',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'One.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#ff6900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Two.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#fcb900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Three.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#00d084',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Four.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#0693e3',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Five.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#9b51e0',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Six.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
|