@wordpress/block-library 6.0.3 → 6.0.4
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/build/buttons/deprecated.js +11 -7
- package/build/buttons/deprecated.js.map +1 -1
- package/build/buttons/edit.js +1 -4
- package/build/buttons/edit.js.map +1 -1
- package/build/column/index.js +1 -1
- package/build/cover/index.js +1 -1
- package/build/gallery/edit.js +1 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/use-mobile-warning.js +2 -2
- package/build/gallery/use-mobile-warning.js.map +1 -1
- package/build/group/index.js +1 -1
- package/build/navigation/edit/placeholder/index.js +2 -2
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/edit/responsive-wrapper.js +1 -2
- package/build/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build/navigation/index.js +2 -1
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/view.js +29 -26
- package/build/navigation/view.js.map +1 -1
- package/build-module/buttons/deprecated.js +11 -7
- package/build-module/buttons/deprecated.js.map +1 -1
- package/build-module/buttons/edit.js +2 -5
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/column/index.js +1 -1
- package/build-module/cover/index.js +1 -1
- package/build-module/gallery/edit.js +1 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/use-mobile-warning.js +2 -2
- package/build-module/gallery/use-mobile-warning.js.map +1 -1
- package/build-module/group/index.js +1 -1
- package/build-module/navigation/edit/placeholder/index.js +2 -2
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/edit/responsive-wrapper.js +1 -2
- package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build-module/navigation/index.js +2 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/view.js +28 -26
- package/build-module/navigation/view.js.map +1 -1
- package/build-style/navigation/style-rtl.css +14 -16
- package/build-style/navigation/style.css +14 -16
- package/build-style/navigation-submenu/style-rtl.css +1 -0
- package/build-style/navigation-submenu/style.css +1 -0
- package/build-style/page-list/style-rtl.css +5 -2
- package/build-style/page-list/style.css +5 -2
- package/build-style/style-rtl.css +20 -22
- package/build-style/style.css +20 -22
- package/package.json +4 -4
- package/src/buttons/deprecated.js +11 -8
- package/src/buttons/edit.js +0 -5
- package/src/column/block.json +1 -1
- package/src/cover/block.json +1 -1
- package/src/gallery/edit.js +3 -1
- package/src/gallery/use-mobile-warning.js +2 -2
- package/src/group/block.json +1 -1
- package/src/navigation/block.json +2 -1
- package/src/navigation/edit/placeholder/index.js +2 -2
- package/src/navigation/edit/responsive-wrapper.js +1 -5
- package/src/navigation/index.php +1 -112
- package/src/navigation/style.scss +17 -16
- package/src/navigation/view.js +33 -32
- package/src/navigation-submenu/style.scss +4 -0
- package/src/page-list/style.scss +5 -2
- package/src/style.scss +0 -1
- package/build-style/post-content/style-rtl.css +0 -79
- package/build-style/post-content/style.css +0 -79
- package/src/post-content/style.scss +0 -4
|
@@ -31,17 +31,20 @@ const migrateWithLayout = attributes => {
|
|
|
31
31
|
|
|
32
32
|
const {
|
|
33
33
|
contentJustification,
|
|
34
|
-
orientation
|
|
34
|
+
orientation,
|
|
35
|
+
...updatedAttributes
|
|
35
36
|
} = attributes;
|
|
36
|
-
const updatedAttributes = { ...attributes
|
|
37
|
-
};
|
|
38
37
|
|
|
39
38
|
if (contentJustification || orientation) {
|
|
40
39
|
Object.assign(updatedAttributes, {
|
|
41
40
|
layout: {
|
|
42
41
|
type: 'flex',
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
...(contentJustification && {
|
|
43
|
+
justifyContent: contentJustification
|
|
44
|
+
}),
|
|
45
|
+
...(orientation && {
|
|
46
|
+
orientation
|
|
47
|
+
})
|
|
45
48
|
}
|
|
46
49
|
});
|
|
47
50
|
}
|
|
@@ -72,8 +75,9 @@ const deprecated = [{
|
|
|
72
75
|
}
|
|
73
76
|
},
|
|
74
77
|
isEligible: ({
|
|
75
|
-
|
|
76
|
-
|
|
78
|
+
contentJustification,
|
|
79
|
+
orientation
|
|
80
|
+
}) => !!contentJustification || !!orientation,
|
|
77
81
|
migrate: migrateWithLayout,
|
|
78
82
|
|
|
79
83
|
save({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/buttons/deprecated.js"],"names":["migrateWithLayout","attributes","layout","contentJustification","orientation","updatedAttributes","Object","assign","type","justifyContent","deprecated","default","supports","anchor","align","__experimentalExposeControlsToChildren","spacing","blockGap","margin","__experimentalDefaultControls","isEligible","migrate","save","useBlockProps","className","includes","undefined"],"mappings":";;;;;;;;;;;AAGA;;AAIA;;AAPA;AACA;AACA;;AAEA;AACA;AACA;;AAGA;AACA;AACA;AACA,MAAMA,iBAAiB,GAAKC,UAAF,IAAkB;AAC3C,MAAK,CAAC,CAAEA,UAAU,CAACC,MAAnB,EAA4B;AAC3B,WAAOD,UAAP;AACA;;AAED,QAAM;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/buttons/deprecated.js"],"names":["migrateWithLayout","attributes","layout","contentJustification","orientation","updatedAttributes","Object","assign","type","justifyContent","deprecated","default","supports","anchor","align","__experimentalExposeControlsToChildren","spacing","blockGap","margin","__experimentalDefaultControls","isEligible","migrate","save","useBlockProps","className","includes","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * @param {Object} attributes Block's attributes.\n */\nconst migrateWithLayout = ( attributes ) => {\n\tif ( !! attributes.layout ) {\n\t\treturn attributes;\n\t}\n\n\tconst {\n\t\tcontentJustification,\n\t\torientation,\n\t\t...updatedAttributes\n\t} = attributes;\n\n\tif ( contentJustification || orientation ) {\n\t\tObject.assign( updatedAttributes, {\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\t...( contentJustification && {\n\t\t\t\t\tjustifyContent: contentJustification,\n\t\t\t\t} ),\n\t\t\t\t...( orientation && { orientation } ),\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn updatedAttributes;\n};\n\nconst deprecated = [\n\t{\n\t\tattributes: {\n\t\t\tcontentJustification: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\torientation: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'horizontal',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\t__experimentalExposeControlsToChildren: true,\n\t\t\tspacing: {\n\t\t\t\tblockGap: true,\n\t\t\t\tmargin: [ 'top', 'bottom' ],\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tblockGap: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tisEligible: ( { contentJustification, orientation } ) =>\n\t\t\t!! contentJustification || !! orientation,\n\t\tmigrate: migrateWithLayout,\n\t\tsave( { attributes: { contentJustification, orientation } } ) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\t{ ...useBlockProps.save( {\n\t\t\t\t\t\tclassName: classnames( {\n\t\t\t\t\t\t\t[ `is-content-justification-${ contentJustification }` ]: contentJustification,\n\t\t\t\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: [ 'center', 'left', 'right' ],\n\t\t\tanchor: true,\n\t\t},\n\t\tsave() {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tisEligible( { align } ) {\n\t\t\treturn align && [ 'center', 'left', 'right' ].includes( align );\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\treturn migrateWithLayout( {\n\t\t\t\t...attributes,\n\t\t\t\talign: undefined,\n\t\t\t\t// Floating Buttons blocks shouldn't have been supported in the\n\t\t\t\t// first place. Most users using them probably expected them to\n\t\t\t\t// act like content justification controls, so these blocks are\n\t\t\t\t// migrated to use content justification.\n\t\t\t\t// As for center-aligned Buttons blocks, the content justification\n\t\t\t\t// equivalent will create an identical end result in most cases.\n\t\t\t\tcontentJustification: attributes.align,\n\t\t\t} );\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
|
package/build/buttons/edit.js
CHANGED
|
@@ -43,10 +43,7 @@ function ButtonsEdit({
|
|
|
43
43
|
__experimentalLayout: layout,
|
|
44
44
|
templateInsertUpdatesSelection: true
|
|
45
45
|
});
|
|
46
|
-
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(
|
|
47
|
-
group: "block",
|
|
48
|
-
__experimentalShareWithChildBlocks: true
|
|
49
|
-
}), (0, _element.createElement)("div", innerBlocksProps));
|
|
46
|
+
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("div", innerBlocksProps));
|
|
50
47
|
}
|
|
51
48
|
|
|
52
49
|
var _default = ButtonsEdit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/buttons/edit.js"],"names":["ALLOWED_BLOCKS","buttonBlockName","ButtonsEdit","attributes","layout","blockProps","preferredStyle","select","preferredStyleVariations","blockEditorStore","getSettings","__experimentalPreferredStyleVariations","value","innerBlocksProps","allowedBlocks","template","className","__experimentalLayout","templateInsertUpdatesSelection"],"mappings":";;;;;;;;;AAGA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/buttons/edit.js"],"names":["ALLOWED_BLOCKS","buttonBlockName","ButtonsEdit","attributes","layout","blockProps","preferredStyle","select","preferredStyleVariations","blockEditorStore","getSettings","__experimentalPreferredStyleVariations","value","innerBlocksProps","allowedBlocks","template","className","__experimentalLayout","templateInsertUpdatesSelection"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAKA;;AAbA;AACA;AACA;;AAQA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,CAAEC,YAAF,CAAvB;;AAEA,SAASC,WAAT,CAAsB;AAAEC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,GAAG;AAAX;AAAd,CAAtB,EAAwD;AACvD,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAMC,cAAc,GAAG,qBAAaC,MAAF,IAAc;AAAA;;AAC/C,UAAMC,wBAAwB,GAAGD,MAAM,CACtCE,kBADsC,CAAN,CAE/BC,WAF+B,GAEjBC,sCAFhB;;AAGA,WAAOH,wBAAP,aAAOA,wBAAP,gDAAOA,wBAAwB,CAAEI,KAAjC,0DAAO,sBAAmCX,YAAnC,CAAP;AACA,GALsB,EAKpB,EALoB,CAAvB;AAOA,QAAMY,gBAAgB,GAAG,sCAAqBR,UAArB,EAAiC;AACzDS,IAAAA,aAAa,EAAEd,cAD0C;AAEzDe,IAAAA,QAAQ,EAAE,CACT,CACCd,YADD,EAEC;AAAEe,MAAAA,SAAS,EAAEV,cAAc,IAAK,YAAYA,cAAgB;AAA5D,KAFD,CADS,CAF+C;AAQzDW,IAAAA,oBAAoB,EAAEb,MARmC;AASzDc,IAAAA,8BAA8B,EAAE;AATyB,GAAjC,CAAzB;AAYA,SACC,qDACC,mCAAUL,gBAAV,CADD,CADD;AAKA;;eAEcX,W","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { name as buttonBlockName } from '../button';\n\nconst ALLOWED_BLOCKS = [ buttonBlockName ];\n\nfunction ButtonsEdit( { attributes: { layout = {} } } ) {\n\tconst blockProps = useBlockProps();\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations = select(\n\t\t\tblockEditorStore\n\t\t).getSettings().__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ buttonBlockName ];\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\ttemplate: [\n\t\t\t[\n\t\t\t\tbuttonBlockName,\n\t\t\t\t{ className: preferredStyle && `is-style-${ preferredStyle }` },\n\t\t\t],\n\t\t],\n\t\t__experimentalLayout: layout,\n\t\ttemplateInsertUpdatesSelection: true,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nexport default ButtonsEdit;\n"]}
|
package/build/column/index.js
CHANGED
package/build/cover/index.js
CHANGED
package/build/gallery/edit.js
CHANGED
|
@@ -108,7 +108,6 @@ function GalleryEdit(props) {
|
|
|
108
108
|
shortCodeTransforms,
|
|
109
109
|
sizeSlug
|
|
110
110
|
} = attributes;
|
|
111
|
-
(0, _useMobileWarning.default)();
|
|
112
111
|
const {
|
|
113
112
|
__unstableMarkNextChangeAsNotPersistent,
|
|
114
113
|
replaceInnerBlocks,
|
|
@@ -146,6 +145,7 @@ function GalleryEdit(props) {
|
|
|
146
145
|
})), [innerBlockImages]);
|
|
147
146
|
const imageData = (0, _useGetMedia.default)(innerBlockImages);
|
|
148
147
|
const newImages = (0, _useGetNewImages.default)(images, imageData);
|
|
148
|
+
(0, _useMobileWarning.default)(newImages);
|
|
149
149
|
(0, _element.useEffect)(() => {
|
|
150
150
|
newImages === null || newImages === void 0 ? void 0 : newImages.forEach(newImage => {
|
|
151
151
|
updateBlockAttributes(newImage.clientId, { ...buildImageAttributes(false, newImage.attributes),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","noticeOperations","isSelected","noticeUI","insertBlocksAfter","columns","imageCrop","linkTarget","linkTo","shortCodeTransforms","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","blockEditorStore","createSuccessNotice","noticesStore","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","shortCodeImages","updateImages","imageSizeOptions","existingBlock","image","newClassName","isValidFileType","file","some","mediaType","indexOf","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","removeAllNotices","createErrorNotice","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","find","img","newImageList","existingImg","newBlocks","caption","alt","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","newLinkTarget","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","length","hasImageIds","imagesUploading","mediaPlaceholder","sharedIcon","title","instructions","blockProps","hasLinkTo","Math","min","isWeb","withNotices","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { concat, find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useShortCodeTransform from './use-short-code-transform';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\n\n/**\n * Internal dependencies\n */\nimport useMobileWarning from './use-mobile-warning';\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{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tnoticeOperations,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst {\n\t\tcolumns,\n\t\timageCrop,\n\t\tlinkTarget,\n\t\tlinkTo,\n\t\tshortCodeTransforms,\n\t\tsizeSlug,\n\t} = attributes;\n\tuseMobileWarning();\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( false, newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst shortCodeImages = useShortCodeTransform( shortCodeTransforms );\n\n\tuseEffect( () => {\n\t\tif ( ! shortCodeTransforms || ! shortCodeImages ) {\n\t\t\treturn;\n\t\t}\n\t\tupdateImages( shortCodeImages );\n\t\tsetAttributes( { shortCodeTransforms: undefined } );\n\t}, [ shortCodeTransforms, shortCodeImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} existingBlock Existing Image block that still exists after gallery update.\n\t * @param {Object} image Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( existingBlock, image ) {\n\t\tif ( existingBlock ) {\n\t\t\treturn existingBlock.attributes;\n\t\t}\n\n\t\tlet newClassName;\n\t\tif ( image.className && image.className !== '' ) {\n\t\t\tnewClassName = image.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination( image, linkTo ),\n\t\t\t...getUpdatedLinkTargetSettings( linkTarget, attributes ),\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => file.type?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tnoticeOperations.removeAllNotices();\n\t\t\tnoticeOperations.createErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\tconcat( existingImageBlocks, newBlocks ).sort(\n\t\t\t\t( a, b ) =>\n\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t)\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\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\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 toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing 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\tconst imagesUploading = images.some(\n\t\t( img ) => ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t);\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\thandleUpload={ false }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading\n\t\t\t}\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={ updateImages }\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/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Gallery 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={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\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{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\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\t{ Platform.isWeb && ! imageSizeOptions && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image size' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\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\timages={ images }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","noticeOperations","isSelected","noticeUI","insertBlocksAfter","columns","imageCrop","linkTarget","linkTo","shortCodeTransforms","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","blockEditorStore","createSuccessNotice","noticesStore","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","shortCodeImages","updateImages","imageSizeOptions","existingBlock","image","newClassName","isValidFileType","file","some","mediaType","indexOf","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","removeAllNotices","createErrorNotice","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","find","img","newImageList","existingImg","newBlocks","caption","alt","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","newLinkTarget","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","length","hasImageIds","imagesUploading","mediaPlaceholder","sharedIcon","title","instructions","blockProps","hasLinkTo","Math","min","isWeb","withNotices","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { concat, find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useShortCodeTransform from './use-short-code-transform';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\n\n/**\n * Internal dependencies\n */\nimport useMobileWarning from './use-mobile-warning';\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{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tnoticeOperations,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst {\n\t\tcolumns,\n\t\timageCrop,\n\t\tlinkTarget,\n\t\tlinkTo,\n\t\tshortCodeTransforms,\n\t\tsizeSlug,\n\t} = attributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseMobileWarning( newImages );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( false, newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst shortCodeImages = useShortCodeTransform( shortCodeTransforms );\n\n\tuseEffect( () => {\n\t\tif ( ! shortCodeTransforms || ! shortCodeImages ) {\n\t\t\treturn;\n\t\t}\n\t\tupdateImages( shortCodeImages );\n\t\tsetAttributes( { shortCodeTransforms: undefined } );\n\t}, [ shortCodeTransforms, shortCodeImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} existingBlock Existing Image block that still exists after gallery update.\n\t * @param {Object} image Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( existingBlock, image ) {\n\t\tif ( existingBlock ) {\n\t\t\treturn existingBlock.attributes;\n\t\t}\n\n\t\tlet newClassName;\n\t\tif ( image.className && image.className !== '' ) {\n\t\t\tnewClassName = image.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination( image, linkTo ),\n\t\t\t...getUpdatedLinkTargetSettings( linkTarget, attributes ),\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => file.type?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tnoticeOperations.removeAllNotices();\n\t\t\tnoticeOperations.createErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\tconcat( existingImageBlocks, newBlocks ).sort(\n\t\t\t\t( a, b ) =>\n\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t)\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\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\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 toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing 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\tconst imagesUploading = images.some(\n\t\t( img ) => ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t);\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\thandleUpload={ false }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading\n\t\t\t}\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={ updateImages }\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/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Gallery 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={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\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{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\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\t{ Platform.isWeb && ! imageSizeOptions && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image size' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\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\timages={ images }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
|
|
@@ -16,7 +16,7 @@ var _notices = require("@wordpress/notices");
|
|
|
16
16
|
/**
|
|
17
17
|
* WordPress dependencies
|
|
18
18
|
*/
|
|
19
|
-
function useMobileWarning() {
|
|
19
|
+
function useMobileWarning(newImages) {
|
|
20
20
|
const {
|
|
21
21
|
createWarningNotice
|
|
22
22
|
} = (0, _data.useDispatch)(_notices.store);
|
|
@@ -30,7 +30,7 @@ function useMobileWarning() {
|
|
|
30
30
|
return isFeatureActive('core/edit-post', 'mobileGalleryWarning');
|
|
31
31
|
}, []);
|
|
32
32
|
|
|
33
|
-
if (!isMobileWarningActive) {
|
|
33
|
+
if (!isMobileWarningActive || !newImages) {
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/use-mobile-warning.js"],"names":["useMobileWarning","createWarningNotice","noticesStore","toggleFeature","interfaceStore","isMobileWarningActive","select","isFeatureActive","type","explicitDismiss"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAMe,SAASA,gBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/use-mobile-warning.js"],"names":["useMobileWarning","newImages","createWarningNotice","noticesStore","toggleFeature","interfaceStore","isMobileWarningActive","select","isFeatureActive","type","explicitDismiss"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAMe,SAASA,gBAAT,CAA2BC,SAA3B,EAAuC;AACrD,QAAM;AAAEC,IAAAA;AAAF,MAA0B,uBAAaC,cAAb,CAAhC;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAoB,uBAAaC,gBAAb,CAA1B;AACA,QAAMC,qBAAqB,GAAG,qBAAaC,MAAF,IAAc;AACtD,UAAM;AAAEC,MAAAA;AAAF,QAAsBD,MAAM,CAAEF,gBAAF,CAAlC;AACA,WAAOG,eAAe,CAAE,gBAAF,EAAoB,sBAApB,CAAtB;AACA,GAH6B,EAG3B,EAH2B,CAA9B;;AAKA,MAAK,CAAEF,qBAAF,IAA2B,CAAEL,SAAlC,EAA8C;AAC7C;AACA;;AAEDC,EAAAA,mBAAmB,CAClB,cACC,mFADD,CADkB,EAIlB;AAAEO,IAAAA,IAAI,EAAE,UAAR;AAAoBC,IAAAA,eAAe,EAAE;AAArC,GAJkB,CAAnB;AAMAN,EAAAA,aAAa,CAAE,gBAAF,EAAoB,sBAApB,CAAb;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function useMobileWarning( newImages ) {\n\tconst { createWarningNotice } = useDispatch( noticesStore );\n\tconst { toggleFeature } = useDispatch( interfaceStore );\n\tconst isMobileWarningActive = useSelect( ( select ) => {\n\t\tconst { isFeatureActive } = select( interfaceStore );\n\t\treturn isFeatureActive( 'core/edit-post', 'mobileGalleryWarning' );\n\t}, [] );\n\n\tif ( ! isMobileWarningActive || ! newImages ) {\n\t\treturn;\n\t}\n\n\tcreateWarningNotice(\n\t\t__(\n\t\t\t'Editing this Gallery in the WordPress mobile app requires version 18.2 or higher.'\n\t\t),\n\t\t{ type: 'snackbar', explicitDismiss: true }\n\t);\n\ttoggleFeature( 'core/edit-post', 'mobileGalleryWarning' );\n}\n"]}
|
package/build/group/index.js
CHANGED
|
@@ -60,7 +60,7 @@ const ExistingMenusDropdown = ({
|
|
|
60
60
|
}, ({
|
|
61
61
|
onClose
|
|
62
62
|
}) => (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.MenuGroup, {
|
|
63
|
-
label:
|
|
63
|
+
label: (0, _i18n.__)('Menus')
|
|
64
64
|
}, canSwitchNavigationMenu && navigationMenus.map(menu => {
|
|
65
65
|
return (0, _element.createElement)(_components.MenuItem, {
|
|
66
66
|
onClick: () => {
|
|
@@ -71,7 +71,7 @@ const ExistingMenusDropdown = ({
|
|
|
71
71
|
key: menu.id
|
|
72
72
|
}, menu.title.rendered);
|
|
73
73
|
})), (0, _element.createElement)(_components.MenuGroup, {
|
|
74
|
-
label:
|
|
74
|
+
label: (0, _i18n.__)('Classic Menus')
|
|
75
75
|
}, menus.map(menu => {
|
|
76
76
|
return (0, _element.createElement)(_components.MenuItem, {
|
|
77
77
|
onClick: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["ExistingMenusDropdown","canSwitchNavigationMenu","navigationMenus","setSelectedMenu","onFinish","menus","onCreateFromMenu","toggleProps","variant","className","chevronDown","isAlternate","onClose","map","menu","id","title","rendered","name","NavigationPlaceholder","hasResolvedNavigationMenus","selectedMenu","isCreatingFromMenu","setIsCreatingFromMenu","menuName","setMenuName","isNewMenuModalVisible","setIsNewMenuModalVisible","createEmpty","setCreateEmpty","saveEntityRecord","coreStore","createNavigationMenu","blocks","record","content","status","navigationMenu","serialize","onFinishMenuCreation","navigationMenuTitle","isResolvingPages","isResolvingMenus","menuItems","hasResolvedMenuItems","hasPages","hasMenus","isStillLoading","createFromMenu","innerBlocks","menuItemsToBlocks","onCreateEmptyMenu","onCreateAllPages","block","navigation","length","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize, createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, chevronDown, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\n\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport menuItemsToBlocks from '../../menu-items-to-blocks';\nimport NavigationMenuNameModal from '../navigation-menu-name-modal';\nimport useNavigationMenu from '../../use-navigation-menu';\n\nconst ExistingMenusDropdown = ( {\n\tcanSwitchNavigationMenu,\n\tnavigationMenus,\n\tsetSelectedMenu,\n\tonFinish,\n\tmenus,\n\tonCreateFromMenu,\n} ) => {\n\tconst toggleProps = {\n\t\tvariant: 'primary',\n\t\tclassName: 'wp-block-navigation-placeholder__actions__dropdown',\n\t};\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttext={ __( 'Select existing menu' ) }\n\t\t\ticon={ chevronDown }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tpopoverProps={ { isAlternate: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup label=\"Menus\">\n\t\t\t\t\t\t{ canSwitchNavigationMenu &&\n\t\t\t\t\t\t\tnavigationMenus.map( ( menu ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\t\tonFinish( menu );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ menu.title.rendered }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t<MenuGroup label=\"Classic Menus\">\n\t\t\t\t\t\t{ menus.map( ( menu ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\tonCreateFromMenu( menu.name );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ menu.name }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n};\n\nexport default function NavigationPlaceholder( {\n\tonFinish,\n\tcanSwitchNavigationMenu,\n\thasResolvedNavigationMenus,\n} ) {\n\tconst [ selectedMenu, setSelectedMenu ] = useState();\n\n\tconst [ isCreatingFromMenu, setIsCreatingFromMenu ] = useState( false );\n\n\tconst [ menuName, setMenuName ] = useState( '' );\n\n\tconst [ isNewMenuModalVisible, setIsNewMenuModalVisible ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ createEmpty, setCreateEmpty ] = useState( false );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t// This callback uses data from the two placeholder steps and only creates\n\t// a new navigation menu when the user completes the final step.\n\tconst createNavigationMenu = useCallback(\n\t\tasync ( title = __( 'Untitled Navigation Menu' ), blocks = [] ) => {\n\t\t\tconst record = {\n\t\t\t\ttitle,\n\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\tstatus: 'publish',\n\t\t\t};\n\n\t\t\tconst navigationMenu = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\trecord\n\t\t\t);\n\n\t\t\treturn navigationMenu;\n\t\t},\n\t\t[ serialize, saveEntityRecord ]\n\t);\n\n\tconst onFinishMenuCreation = async ( navigationMenuTitle, blocks ) => {\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonFinish( navigationMenu );\n\t};\n\n\tconst {\n\t\tisResolvingPages,\n\t\tmenus,\n\t\tisResolvingMenus,\n\t\tmenuItems,\n\t\thasResolvedMenuItems,\n\t\thasPages,\n\t\thasMenus,\n\t} = useNavigationEntities( selectedMenu );\n\n\tconst isStillLoading = isResolvingPages || isResolvingMenus;\n\n\tconst createFromMenu = useCallback(\n\t\t( name ) => {\n\t\t\tconst { innerBlocks: blocks } = menuItemsToBlocks( menuItems );\n\t\t\tonFinishMenuCreation( name, blocks );\n\t\t},\n\t\t[ menuItems, menuItemsToBlocks, onFinish ]\n\t);\n\n\tconst onCreateFromMenu = ( name ) => {\n\t\t// If we have menu items, create the block right away.\n\t\tif ( hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( name );\n\t\t\treturn;\n\t\t}\n\n\t\t// Otherwise, create the block when resolution finishes.\n\t\tsetIsCreatingFromMenu( true );\n\t\t// Store the name to use later.\n\t\tsetMenuName( name );\n\t};\n\n\tconst onCreateEmptyMenu = ( name ) => {\n\t\tonFinishMenuCreation( name, [] );\n\t};\n\n\tconst onCreateAllPages = ( name ) => {\n\t\tconst block = [ createBlock( 'core/page-list' ) ];\n\t\tonFinishMenuCreation( name, block );\n\t\tsetIsNewMenuModalVisible( true );\n\t};\n\n\tuseEffect( () => {\n\t\t// If the user selected a menu but we had to wait for menu items to\n\t\t// finish resolving, then create the block once resolution finishes.\n\t\tif ( isCreatingFromMenu && hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( menuName );\n\t\t\tsetIsCreatingFromMenu( false );\n\t\t}\n\t}, [ isCreatingFromMenu, hasResolvedMenuItems, menuName ] );\n\n\tconst { navigationMenus } = useNavigationMenu();\n\n\treturn (\n\t\t<>\n\t\t\t{ ( ! hasResolvedNavigationMenus || isStillLoading ) && (\n\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t) }\n\t\t\t{ hasResolvedNavigationMenus && ! isStillLoading && (\n\t\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t\t<PlaceholderPreview />\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__controls\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t\t<Icon icon={ navigation } />{ ' ' }\n\t\t\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ hasMenus || navigationMenus.length ? (\n\t\t\t\t\t\t\t\t<ExistingMenusDropdown\n\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu={\n\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\t\t\t\tsetSelectedMenu={ setSelectedMenu }\n\t\t\t\t\t\t\t\t\tonFinish={ onFinish }\n\t\t\t\t\t\t\t\t\tmenus={ menus }\n\t\t\t\t\t\t\t\t\tonCreateFromMenu={ onCreateFromMenu }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t{ hasPages ? (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\thasMenus || canSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t\t\t? 'tertiary'\n\t\t\t\t\t\t\t\t\t\t\t: 'primary'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsNewMenuModalVisible( true );\n\t\t\t\t\t\t\t\t\t\tsetCreateEmpty( false );\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\t\t{ __( 'Add all pages' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetIsNewMenuModalVisible( true );\n\t\t\t\t\t\t\t\t\tsetCreateEmpty( true );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ isNewMenuModalVisible && (\n\t\t\t\t<NavigationMenuNameModal\n\t\t\t\t\ttitle={ __( 'Create your new navigation menu' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsNewMenuModalVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonFinish={\n\t\t\t\t\t\tcreateEmpty ? onCreateEmptyMenu : onCreateAllPages\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["ExistingMenusDropdown","canSwitchNavigationMenu","navigationMenus","setSelectedMenu","onFinish","menus","onCreateFromMenu","toggleProps","variant","className","chevronDown","isAlternate","onClose","map","menu","id","title","rendered","name","NavigationPlaceholder","hasResolvedNavigationMenus","selectedMenu","isCreatingFromMenu","setIsCreatingFromMenu","menuName","setMenuName","isNewMenuModalVisible","setIsNewMenuModalVisible","createEmpty","setCreateEmpty","saveEntityRecord","coreStore","createNavigationMenu","blocks","record","content","status","navigationMenu","serialize","onFinishMenuCreation","navigationMenuTitle","isResolvingPages","isResolvingMenus","menuItems","hasResolvedMenuItems","hasPages","hasMenus","isStillLoading","createFromMenu","innerBlocks","menuItemsToBlocks","onCreateEmptyMenu","onCreateAllPages","block","navigation","length","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize, createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, chevronDown, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\n\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport menuItemsToBlocks from '../../menu-items-to-blocks';\nimport NavigationMenuNameModal from '../navigation-menu-name-modal';\nimport useNavigationMenu from '../../use-navigation-menu';\n\nconst ExistingMenusDropdown = ( {\n\tcanSwitchNavigationMenu,\n\tnavigationMenus,\n\tsetSelectedMenu,\n\tonFinish,\n\tmenus,\n\tonCreateFromMenu,\n} ) => {\n\tconst toggleProps = {\n\t\tvariant: 'primary',\n\t\tclassName: 'wp-block-navigation-placeholder__actions__dropdown',\n\t};\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttext={ __( 'Select existing menu' ) }\n\t\t\ticon={ chevronDown }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tpopoverProps={ { isAlternate: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t{ canSwitchNavigationMenu &&\n\t\t\t\t\t\t\tnavigationMenus.map( ( menu ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\t\tonFinish( menu );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ menu.title.rendered }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t<MenuGroup label={ __( 'Classic Menus' ) }>\n\t\t\t\t\t\t{ menus.map( ( menu ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\tonCreateFromMenu( menu.name );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ menu.name }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n};\n\nexport default function NavigationPlaceholder( {\n\tonFinish,\n\tcanSwitchNavigationMenu,\n\thasResolvedNavigationMenus,\n} ) {\n\tconst [ selectedMenu, setSelectedMenu ] = useState();\n\n\tconst [ isCreatingFromMenu, setIsCreatingFromMenu ] = useState( false );\n\n\tconst [ menuName, setMenuName ] = useState( '' );\n\n\tconst [ isNewMenuModalVisible, setIsNewMenuModalVisible ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ createEmpty, setCreateEmpty ] = useState( false );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t// This callback uses data from the two placeholder steps and only creates\n\t// a new navigation menu when the user completes the final step.\n\tconst createNavigationMenu = useCallback(\n\t\tasync ( title = __( 'Untitled Navigation Menu' ), blocks = [] ) => {\n\t\t\tconst record = {\n\t\t\t\ttitle,\n\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\tstatus: 'publish',\n\t\t\t};\n\n\t\t\tconst navigationMenu = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\trecord\n\t\t\t);\n\n\t\t\treturn navigationMenu;\n\t\t},\n\t\t[ serialize, saveEntityRecord ]\n\t);\n\n\tconst onFinishMenuCreation = async ( navigationMenuTitle, blocks ) => {\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonFinish( navigationMenu );\n\t};\n\n\tconst {\n\t\tisResolvingPages,\n\t\tmenus,\n\t\tisResolvingMenus,\n\t\tmenuItems,\n\t\thasResolvedMenuItems,\n\t\thasPages,\n\t\thasMenus,\n\t} = useNavigationEntities( selectedMenu );\n\n\tconst isStillLoading = isResolvingPages || isResolvingMenus;\n\n\tconst createFromMenu = useCallback(\n\t\t( name ) => {\n\t\t\tconst { innerBlocks: blocks } = menuItemsToBlocks( menuItems );\n\t\t\tonFinishMenuCreation( name, blocks );\n\t\t},\n\t\t[ menuItems, menuItemsToBlocks, onFinish ]\n\t);\n\n\tconst onCreateFromMenu = ( name ) => {\n\t\t// If we have menu items, create the block right away.\n\t\tif ( hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( name );\n\t\t\treturn;\n\t\t}\n\n\t\t// Otherwise, create the block when resolution finishes.\n\t\tsetIsCreatingFromMenu( true );\n\t\t// Store the name to use later.\n\t\tsetMenuName( name );\n\t};\n\n\tconst onCreateEmptyMenu = ( name ) => {\n\t\tonFinishMenuCreation( name, [] );\n\t};\n\n\tconst onCreateAllPages = ( name ) => {\n\t\tconst block = [ createBlock( 'core/page-list' ) ];\n\t\tonFinishMenuCreation( name, block );\n\t\tsetIsNewMenuModalVisible( true );\n\t};\n\n\tuseEffect( () => {\n\t\t// If the user selected a menu but we had to wait for menu items to\n\t\t// finish resolving, then create the block once resolution finishes.\n\t\tif ( isCreatingFromMenu && hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( menuName );\n\t\t\tsetIsCreatingFromMenu( false );\n\t\t}\n\t}, [ isCreatingFromMenu, hasResolvedMenuItems, menuName ] );\n\n\tconst { navigationMenus } = useNavigationMenu();\n\n\treturn (\n\t\t<>\n\t\t\t{ ( ! hasResolvedNavigationMenus || isStillLoading ) && (\n\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t) }\n\t\t\t{ hasResolvedNavigationMenus && ! isStillLoading && (\n\t\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t\t<PlaceholderPreview />\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__controls\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t\t<Icon icon={ navigation } />{ ' ' }\n\t\t\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ hasMenus || navigationMenus.length ? (\n\t\t\t\t\t\t\t\t<ExistingMenusDropdown\n\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu={\n\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\t\t\t\tsetSelectedMenu={ setSelectedMenu }\n\t\t\t\t\t\t\t\t\tonFinish={ onFinish }\n\t\t\t\t\t\t\t\t\tmenus={ menus }\n\t\t\t\t\t\t\t\t\tonCreateFromMenu={ onCreateFromMenu }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t{ hasPages ? (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\thasMenus || canSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t\t\t? 'tertiary'\n\t\t\t\t\t\t\t\t\t\t\t: 'primary'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsNewMenuModalVisible( true );\n\t\t\t\t\t\t\t\t\t\tsetCreateEmpty( false );\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\t\t{ __( 'Add all pages' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetIsNewMenuModalVisible( true );\n\t\t\t\t\t\t\t\t\tsetCreateEmpty( true );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ isNewMenuModalVisible && (\n\t\t\t\t<NavigationMenuNameModal\n\t\t\t\t\ttitle={ __( 'Create your new navigation menu' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsNewMenuModalVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonFinish={\n\t\t\t\t\t\tcreateEmpty ? onCreateEmptyMenu : onCreateAllPages\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -72,8 +72,7 @@ function ResponsiveWrapper({
|
|
|
72
72
|
height: "1.5"
|
|
73
73
|
}))), (0, _element.createElement)("div", {
|
|
74
74
|
className: responsiveContainerClasses,
|
|
75
|
-
id: modalId
|
|
76
|
-
"aria-hidden": !isOpen
|
|
75
|
+
id: modalId
|
|
77
76
|
}, (0, _element.createElement)("div", {
|
|
78
77
|
className: "wp-block-navigation__responsive-close",
|
|
79
78
|
tabIndex: "-1"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/responsive-wrapper.js"],"names":["ResponsiveWrapper","children","id","isOpen","isResponsive","onToggle","isHiddenByDefault","responsiveContainerClasses","openButtonClasses","modalId","close"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;AAMe,SAASA,iBAAT,CAA4B;AAC1CC,EAAAA,QAD0C;AAE1CC,EAAAA,EAF0C;AAG1CC,EAAAA,MAH0C;AAI1CC,EAAAA,YAJ0C;AAK1CC,EAAAA,QAL0C;AAM1CC,EAAAA;AAN0C,CAA5B,EAOX;AACH,MAAK,CAAEF,YAAP,EAAsB;AACrB,WAAOH,QAAP;AACA;;AACD,QAAMM,0BAA0B,GAAG,yBAClC,2CADkC,EAElC;AACC,oBAAgBJ,MADjB;AAEC,yBAAqBG;AAFtB,GAFkC,CAAnC;AAOA,QAAME,iBAAiB,GAAG,yBACzB,gDADyB,EAEzB;AAAE,oBAAgBF;AAAlB,GAFyB,CAA1B;AAKA,QAAMG,OAAO,GAAI,GAAGP,EAAI,QAAxB;AAEA,SACC,qDACG,CAAEC,MAAF,IACD,4BAAC,kBAAD;AACC,qBAAc,MADf;AAEC,qBAAgBA,MAFjB;AAGC,kBAAa,cAAI,WAAJ,CAHd;AAIC,IAAA,SAAS,EAAGK,iBAJb;AAKC,IAAA,OAAO,EAAG,MAAMH,QAAQ,CAAE,IAAF;AALzB,KAOC,4BAAC,eAAD;AACC,IAAA,KAAK,EAAC,4BADP;AAEC,IAAA,OAAO,EAAC,WAFT;AAGC,IAAA,KAAK,EAAC,IAHP;AAIC,IAAA,MAAM,EAAC,IAJR;AAKC,IAAA,IAAI,EAAC,KALN;AAMC,mBAAY,MANb;AAOC,IAAA,SAAS,EAAC;AAPX,KASC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,KAAd;AAAoB,IAAA,KAAK,EAAC,IAA1B;AAA+B,IAAA,MAAM,EAAC;AAAtC,IATD,EAUC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,IAAd;AAAmB,IAAA,KAAK,EAAC,IAAzB;AAA8B,IAAA,MAAM,EAAC;AAArC,IAVD,CAPD,CAFF,EAwBC;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/responsive-wrapper.js"],"names":["ResponsiveWrapper","children","id","isOpen","isResponsive","onToggle","isHiddenByDefault","responsiveContainerClasses","openButtonClasses","modalId","close"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;AAMe,SAASA,iBAAT,CAA4B;AAC1CC,EAAAA,QAD0C;AAE1CC,EAAAA,EAF0C;AAG1CC,EAAAA,MAH0C;AAI1CC,EAAAA,YAJ0C;AAK1CC,EAAAA,QAL0C;AAM1CC,EAAAA;AAN0C,CAA5B,EAOX;AACH,MAAK,CAAEF,YAAP,EAAsB;AACrB,WAAOH,QAAP;AACA;;AACD,QAAMM,0BAA0B,GAAG,yBAClC,2CADkC,EAElC;AACC,oBAAgBJ,MADjB;AAEC,yBAAqBG;AAFtB,GAFkC,CAAnC;AAOA,QAAME,iBAAiB,GAAG,yBACzB,gDADyB,EAEzB;AAAE,oBAAgBF;AAAlB,GAFyB,CAA1B;AAKA,QAAMG,OAAO,GAAI,GAAGP,EAAI,QAAxB;AAEA,SACC,qDACG,CAAEC,MAAF,IACD,4BAAC,kBAAD;AACC,qBAAc,MADf;AAEC,qBAAgBA,MAFjB;AAGC,kBAAa,cAAI,WAAJ,CAHd;AAIC,IAAA,SAAS,EAAGK,iBAJb;AAKC,IAAA,OAAO,EAAG,MAAMH,QAAQ,CAAE,IAAF;AALzB,KAOC,4BAAC,eAAD;AACC,IAAA,KAAK,EAAC,4BADP;AAEC,IAAA,OAAO,EAAC,WAFT;AAGC,IAAA,KAAK,EAAC,IAHP;AAIC,IAAA,MAAM,EAAC,IAJR;AAKC,IAAA,IAAI,EAAC,KALN;AAMC,mBAAY,MANb;AAOC,IAAA,SAAS,EAAC;AAPX,KASC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,KAAd;AAAoB,IAAA,KAAK,EAAC,IAA1B;AAA+B,IAAA,MAAM,EAAC;AAAtC,IATD,EAUC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,IAAd;AAAmB,IAAA,KAAK,EAAC,IAAzB;AAA8B,IAAA,MAAM,EAAC;AAArC,IAVD,CAPD,CAFF,EAwBC;AAAK,IAAA,SAAS,EAAGE,0BAAjB;AAA8C,IAAA,EAAE,EAAGE;AAAnD,KACC;AACC,IAAA,SAAS,EAAC,uCADX;AAEC,IAAA,QAAQ,EAAC;AAFV,KAIC;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,kBAAW,MAHZ;AAIC,uBAAmB,GAAGA,OAAS;AAJhC,KAMC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,iDADX;AAEC,kBAAa,cAAI,YAAJ,CAFd;AAGC,IAAA,OAAO,EAAG,MAAMJ,QAAQ,CAAE,KAAF;AAHzB,KAKC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGK;AAAb,IALD,CAND,EAaC;AACC,IAAA,SAAS,EAAC,mDADX;AAEC,IAAA,EAAE,EAAI,GAAGD,OAAS;AAFnB,KAIGR,QAJH,CAbD,CAJD,CADD,CAxBD,CADD;AAsDA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { close, Icon } from '@wordpress/icons';\nimport { Button } from '@wordpress/components';\nimport { SVG, Rect } from '@wordpress/primitives';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ResponsiveWrapper( {\n\tchildren,\n\tid,\n\tisOpen,\n\tisResponsive,\n\tonToggle,\n\tisHiddenByDefault,\n} ) {\n\tif ( ! isResponsive ) {\n\t\treturn children;\n\t}\n\tconst responsiveContainerClasses = classnames(\n\t\t'wp-block-navigation__responsive-container',\n\t\t{\n\t\t\t'is-menu-open': isOpen,\n\t\t\t'hidden-by-default': isHiddenByDefault,\n\t\t}\n\t);\n\tconst openButtonClasses = classnames(\n\t\t'wp-block-navigation__responsive-container-open',\n\t\t{ 'always-shown': isHiddenByDefault }\n\t);\n\n\tconst modalId = `${ id }-modal`;\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isOpen && (\n\t\t\t\t<Button\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-label={ __( 'Open menu' ) }\n\t\t\t\t\tclassName={ openButtonClasses }\n\t\t\t\t\tonClick={ () => onToggle( true ) }\n\t\t\t\t>\n\t\t\t\t\t<SVG\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\twidth=\"24\"\n\t\t\t\t\t\theight=\"24\"\n\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Rect x=\"4\" y=\"7.5\" width=\"16\" height=\"1.5\" />\n\t\t\t\t\t\t<Rect x=\"4\" y=\"15\" width=\"16\" height=\"1.5\" />\n\t\t\t\t\t</SVG>\n\t\t\t\t</Button>\n\t\t\t) }\n\n\t\t\t<div className={ responsiveContainerClasses } id={ modalId }>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"wp-block-navigation__responsive-close\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-dialog\"\n\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\taria-labelledby={ `${ modalId }-title` }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-close\"\n\t\t\t\t\t\t\taria-label={ __( 'Close menu' ) }\n\t\t\t\t\t\t\tonClick={ () => onToggle( false ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-content\"\n\t\t\t\t\t\t\tid={ `${ modalId }-content` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["name","metadata","settings","icon","example","innerBlocks","attributes","label","url","edit","save","deprecated"],"mappings":";;;;;;;;;AAGA;;AACA;;AAMA;;AACA;;AACA;;AAZA;AACA;AACA;;AAIA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["name","metadata","settings","icon","example","innerBlocks","attributes","label","url","edit","save","deprecated"],"mappings":";;;;;;;;;AAGA;;AACA;;AAMA;;AACA;;AACA;;AAZA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,iBADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,WAAW,EAAE,CACZ;AACCL,MAAAA,IAAI,EAAE,sBADP;AAECM,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAE,cAAI,MAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECM,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAE,cAAI,OAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECM,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAE,cAAI,SAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AADL,GAFc;AA8BvBC,EAAAA,IAAI,EAAJA,aA9BuB;AA+BvBC,EAAAA,IAAI,EAAJA,aA/BuB;AAgCvBC,EAAAA,UAAU,EAAVA;AAhCuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
|
package/build/navigation/view.js
CHANGED
|
@@ -47,35 +47,38 @@ function toggleSubmenuOnClick(event) {
|
|
|
47
47
|
|
|
48
48
|
buttonToggle.setAttribute('aria-expanded', 'true');
|
|
49
49
|
}
|
|
50
|
-
}
|
|
50
|
+
} // Necessary for some themes such as TT1 Blocks, where
|
|
51
|
+
// scripts could be loaded before the body.
|
|
51
52
|
|
|
52
|
-
const submenuButtons = document.querySelectorAll('.wp-block-navigation-submenu__toggle');
|
|
53
|
-
submenuButtons.forEach(function (button) {
|
|
54
|
-
button.addEventListener('click', toggleSubmenuOnClick);
|
|
55
|
-
}); // Close on click outside.
|
|
56
53
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
54
|
+
window.onload = () => {
|
|
55
|
+
_micromodal.default.init({
|
|
56
|
+
onShow: navigationToggleModal,
|
|
57
|
+
onClose: navigationToggleModal,
|
|
58
|
+
openClass: 'is-menu-open'
|
|
63
59
|
});
|
|
64
|
-
}); // Close on focus outside.
|
|
65
60
|
|
|
66
|
-
document.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
closeSubmenus(block);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
}); // Necessary for some themes such as TT1 Blocks, where
|
|
74
|
-
// scripts could be loaded before the body.
|
|
61
|
+
const submenuButtons = document.querySelectorAll('.wp-block-navigation-submenu__toggle');
|
|
62
|
+
submenuButtons.forEach(function (button) {
|
|
63
|
+
button.addEventListener('click', toggleSubmenuOnClick);
|
|
64
|
+
}); // Close on click outside.
|
|
75
65
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
66
|
+
document.addEventListener('click', function (event) {
|
|
67
|
+
const navigationBlocks = document.querySelectorAll('.wp-block-navigation');
|
|
68
|
+
navigationBlocks.forEach(function (block) {
|
|
69
|
+
if (!block.contains(event.target)) {
|
|
70
|
+
closeSubmenus(block);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}); // Close on focus outside.
|
|
74
|
+
|
|
75
|
+
document.addEventListener('keyup', function (event) {
|
|
76
|
+
const submenuBlocks = document.querySelectorAll('.wp-block-navigation-item.has-child');
|
|
77
|
+
submenuBlocks.forEach(function (block) {
|
|
78
|
+
if (!block.contains(event.target)) {
|
|
79
|
+
closeSubmenus(block);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
};
|
|
81
84
|
//# sourceMappingURL=view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/view.js"],"names":["navigationToggleModal","modal","triggerButton","document","querySelector","id","closeButton","isHidden","getAttribute","setAttribute","classList","toggle","htmlElement","documentElement","closeSubmenus","element","querySelectorAll","forEach","toggleSubmenuOnClick","event","buttonToggle","target","closest","isSubmenuOpen","parentElement","navigationParent","child","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/view.js"],"names":["navigationToggleModal","modal","triggerButton","document","querySelector","id","closeButton","isHidden","getAttribute","setAttribute","classList","toggle","htmlElement","documentElement","closeSubmenus","element","querySelectorAll","forEach","toggleSubmenuOnClick","event","buttonToggle","target","closest","isSubmenuOpen","parentElement","navigationParent","child","window","onload","MicroModal","init","onShow","onClose","openClass","submenuButtons","button","addEventListener","navigationBlocks","block","contains","submenuBlocks"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport MicroModal from 'micromodal';\n\n// Responsive navigation toggle.\nfunction navigationToggleModal( modal ) {\n\tconst triggerButton = document.querySelector(\n\t\t`button[data-micromodal-trigger=\"${ modal.id }\"]`\n\t);\n\tconst closeButton = modal.querySelector( 'button[data-micromodal-close]' );\n\t// Use aria-hidden to determine the status of the modal, as this attribute is\n\t// managed by micromodal.\n\tconst isHidden = 'true' === modal.getAttribute( 'aria-hidden' );\n\ttriggerButton.setAttribute( 'aria-expanded', ! isHidden );\n\tcloseButton.setAttribute( 'aria-expanded', ! isHidden );\n\tmodal.classList.toggle( 'has-modal-open', ! isHidden );\n\n\t// Add a class to indicate the modal is open.\n\tconst htmlElement = document.documentElement;\n\thtmlElement.classList.toggle( 'has-modal-open' );\n}\n\n// Open on click functionality.\nfunction closeSubmenus( element ) {\n\telement\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( function ( toggle ) {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n}\n\nfunction toggleSubmenuOnClick( event ) {\n\tconst buttonToggle = event.target.closest( '[aria-expanded]' );\n\tconst isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );\n\n\tif ( isSubmenuOpen === 'true' ) {\n\t\tcloseSubmenus( buttonToggle.closest( '.wp-block-navigation-item' ) );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst parentElement = buttonToggle.closest(\n\t\t\t'.wp-block-navigation-item'\n\t\t);\n\t\tconst navigationParent = buttonToggle.closest(\n\t\t\t'.wp-block-navigation__submenu-container, .wp-block-navigation__container, .wp-block-page-list'\n\t\t);\n\t\tnavigationParent\n\t\t\t.querySelectorAll( '.wp-block-navigation-item' )\n\t\t\t.forEach( function ( child ) {\n\t\t\t\tif ( child !== parentElement ) {\n\t\t\t\t\tcloseSubmenus( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t}\n}\n\n// Necessary for some themes such as TT1 Blocks, where\n// scripts could be loaded before the body.\nwindow.onload = () => {\n\tMicroModal.init( {\n\t\tonShow: navigationToggleModal,\n\t\tonClose: navigationToggleModal,\n\t\topenClass: 'is-menu-open',\n\t} );\n\n\tconst submenuButtons = document.querySelectorAll(\n\t\t'.wp-block-navigation-submenu__toggle'\n\t);\n\n\tsubmenuButtons.forEach( function ( button ) {\n\t\tbutton.addEventListener( 'click', toggleSubmenuOnClick );\n\t} );\n\n\t// Close on click outside.\n\tdocument.addEventListener( 'click', function ( event ) {\n\t\tconst navigationBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation'\n\t\t);\n\t\tnavigationBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n\t// Close on focus outside.\n\tdocument.addEventListener( 'keyup', function ( event ) {\n\t\tconst submenuBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation-item.has-child'\n\t\t);\n\t\tsubmenuBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n};\n"]}
|