@wordpress/block-library 10.4.0 → 10.5.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 +36 -0
- package/build/accordion/view.cjs +2 -5
- package/build/accordion/view.cjs.map +2 -2
- package/build/accordion-heading/block.json +1 -0
- package/build/audio/edit.cjs.map +2 -2
- package/build/avatar/edit.cjs.map +2 -2
- package/build/block/block.json +2 -1
- package/build/column/edit.cjs +1 -1
- package/build/column/edit.cjs.map +2 -2
- package/build/columns/edit.cjs.map +2 -2
- package/build/columns/transforms.cjs +161 -2
- package/build/columns/transforms.cjs.map +2 -2
- package/build/cover/edit/block-controls.cjs +1 -1
- package/build/cover/edit/block-controls.cjs.map +2 -2
- package/build/cover/edit/index.cjs +1 -1
- package/build/cover/edit/index.cjs.map +2 -2
- package/build/cover/edit/inspector-controls.cjs.map +3 -3
- package/build/embed/embed-placeholder.cjs.map +2 -2
- package/build/gallery/transforms.cjs +8 -0
- package/build/gallery/transforms.cjs.map +2 -2
- package/build/group/block.json +1 -1
- package/build/heading/transforms.cjs +36 -0
- package/build/heading/transforms.cjs.map +2 -2
- package/build/heading/variations.cjs +13 -1
- package/build/heading/variations.cjs.map +2 -2
- package/build/home-link/edit.cjs.map +3 -3
- package/build/icon/edit.cjs +7 -1
- package/build/icon/edit.cjs.map +2 -2
- package/build/image/image.cjs +1 -1
- package/build/image/image.cjs.map +3 -3
- package/build/list/block.json +1 -0
- package/build/math/edit.cjs +4 -5
- package/build/math/edit.cjs.map +3 -3
- package/build/media-text/edit.cjs.map +3 -3
- package/build/more/block.json +1 -1
- package/build/navigation-link/shared/controls.cjs.map +3 -3
- package/build/playlist/block.json +0 -1
- package/build/playlist/edit.cjs +46 -22
- package/build/playlist/edit.cjs.map +2 -2
- package/build/playlist-track/block.json +16 -8
- package/build/playlist-track/edit.cjs +74 -67
- package/build/playlist-track/edit.cjs.map +3 -3
- package/build/post-template/edit.cjs +5 -1
- package/build/post-template/edit.cjs.map +2 -2
- package/build/post-title/edit.cjs +3 -8
- package/build/post-title/edit.cjs.map +2 -2
- package/build/private-apis.cjs +0 -12
- package/build/private-apis.cjs.map +3 -3
- package/build/query/block.json +3 -0
- package/build/query-no-results/block.json +16 -1
- package/build/rss/edit.cjs.map +2 -2
- package/build/site-logo/edit.cjs +1 -1
- package/build/site-logo/edit.cjs.map +2 -2
- package/build/site-title/edit.cjs +2 -6
- package/build/site-title/edit.cjs.map +2 -2
- package/build/table-of-contents/block.json +2 -1
- package/build/table-of-contents/deprecated.cjs +165 -0
- package/build/table-of-contents/deprecated.cjs.map +7 -0
- package/build/table-of-contents/index.cjs +2 -2
- package/build/table-of-contents/index.cjs.map +3 -3
- package/build/tabs/view.cjs +32 -2
- package/build/tabs/view.cjs.map +2 -2
- package/build/term-template/edit.cjs +5 -1
- package/build/term-template/edit.cjs.map +2 -2
- package/build-module/accordion/view.mjs +2 -5
- package/build-module/accordion/view.mjs.map +2 -2
- package/build-module/accordion-heading/block.json +1 -0
- package/build-module/audio/edit.mjs.map +2 -2
- package/build-module/avatar/edit.mjs.map +2 -2
- package/build-module/block/block.json +2 -1
- package/build-module/column/edit.mjs +1 -1
- package/build-module/column/edit.mjs.map +2 -2
- package/build-module/columns/edit.mjs.map +2 -2
- package/build-module/columns/transforms.mjs +164 -3
- package/build-module/columns/transforms.mjs.map +2 -2
- package/build-module/cover/edit/block-controls.mjs +1 -1
- package/build-module/cover/edit/block-controls.mjs.map +2 -2
- package/build-module/cover/edit/index.mjs +1 -1
- package/build-module/cover/edit/index.mjs.map +2 -2
- package/build-module/cover/edit/inspector-controls.mjs +2 -2
- package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
- package/build-module/embed/embed-placeholder.mjs +2 -2
- package/build-module/embed/embed-placeholder.mjs.map +1 -1
- package/build-module/gallery/transforms.mjs +8 -0
- package/build-module/gallery/transforms.mjs.map +2 -2
- package/build-module/group/block.json +1 -1
- package/build-module/heading/transforms.mjs +36 -0
- package/build-module/heading/transforms.mjs.map +2 -2
- package/build-module/heading/variations.mjs +13 -1
- package/build-module/heading/variations.mjs.map +2 -2
- package/build-module/home-link/edit.mjs +2 -2
- package/build-module/home-link/edit.mjs.map +2 -2
- package/build-module/icon/edit.mjs +7 -1
- package/build-module/icon/edit.mjs.map +2 -2
- package/build-module/image/image.mjs +4 -4
- package/build-module/image/image.mjs.map +2 -2
- package/build-module/list/block.json +1 -0
- package/build-module/math/edit.mjs +4 -8
- package/build-module/math/edit.mjs.map +2 -2
- package/build-module/media-text/edit.mjs +2 -2
- package/build-module/media-text/edit.mjs.map +2 -2
- package/build-module/more/block.json +1 -1
- package/build-module/navigation-link/shared/controls.mjs +2 -2
- package/build-module/navigation-link/shared/controls.mjs.map +2 -2
- package/build-module/playlist/block.json +0 -1
- package/build-module/playlist/edit.mjs +46 -22
- package/build-module/playlist/edit.mjs.map +2 -2
- package/build-module/playlist-track/block.json +16 -8
- package/build-module/playlist-track/edit.mjs +76 -69
- package/build-module/playlist-track/edit.mjs.map +2 -2
- package/build-module/post-template/edit.mjs +5 -1
- package/build-module/post-template/edit.mjs.map +2 -2
- package/build-module/post-title/edit.mjs +3 -8
- package/build-module/post-title/edit.mjs.map +2 -2
- package/build-module/private-apis.mjs +0 -2
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/query/block.json +3 -0
- package/build-module/query-no-results/block.json +16 -1
- package/build-module/rss/edit.mjs +2 -2
- package/build-module/rss/edit.mjs.map +1 -1
- package/build-module/site-logo/edit.mjs +1 -1
- package/build-module/site-logo/edit.mjs.map +2 -2
- package/build-module/site-title/edit.mjs +2 -6
- package/build-module/site-title/edit.mjs.map +2 -2
- package/build-module/table-of-contents/block.json +2 -1
- package/build-module/table-of-contents/deprecated.mjs +144 -0
- package/build-module/table-of-contents/deprecated.mjs.map +7 -0
- package/build-module/table-of-contents/index.mjs +2 -2
- package/build-module/table-of-contents/index.mjs.map +2 -2
- package/build-module/tabs/view.mjs +32 -2
- package/build-module/tabs/view.mjs.map +2 -2
- package/build-module/term-template/edit.mjs +5 -1
- package/build-module/term-template/edit.mjs.map +2 -2
- package/build-style/categories/style-rtl.css +2 -1
- package/build-style/categories/style.css +2 -1
- package/build-style/comments/editor-rtl.css +8 -10
- package/build-style/comments/editor.css +8 -10
- package/build-style/comments/style-rtl.css +8 -7
- package/build-style/comments/style.css +8 -7
- package/build-style/editor-rtl.css +8 -10
- package/build-style/editor.css +8 -10
- package/build-style/form-input/style-rtl.css +7 -7
- package/build-style/form-input/style.css +7 -7
- package/build-style/post-comments-form/style-rtl.css +7 -6
- package/build-style/post-comments-form/style.css +7 -6
- package/build-style/query-no-results/style-rtl.css +3 -0
- package/build-style/query-no-results/style.css +3 -0
- package/build-style/search/style-rtl.css +1 -1
- package/build-style/search/style.css +1 -1
- package/build-style/search/theme-rtl.css +1 -1
- package/build-style/search/theme.css +1 -1
- package/build-style/style-rtl.css +34 -23
- package/build-style/style.css +34 -23
- package/build-style/tab-panel/style-rtl.css +5 -1
- package/build-style/tab-panel/style.css +5 -1
- package/build-style/theme-rtl.css +1 -1
- package/build-style/theme.css +1 -1
- package/package.json +43 -43
- package/src/accordion/view.js +2 -5
- package/src/accordion-heading/README.md +1 -0
- package/src/accordion-heading/block.json +1 -0
- package/src/audio/edit.js +13 -0
- package/src/avatar/edit.js +78 -0
- package/src/block/README.md +1 -0
- package/src/block/block.json +2 -1
- package/src/categories/style.scss +4 -4
- package/src/column/edit.js +15 -1
- package/src/columns/edit.js +18 -0
- package/src/columns/test/transforms.js +517 -1
- package/src/columns/transforms.js +207 -2
- package/src/comments/style.scss +7 -10
- package/src/cover/edit/block-controls.js +1 -1
- package/src/cover/edit/index.js +1 -1
- package/src/cover/edit/inspector-controls.js +2 -2
- package/src/embed/embed-placeholder.js +2 -2
- package/src/form-input/style.scss +2 -2
- package/src/gallery/test/edit.js +57 -0
- package/src/gallery/test/transforms.js +57 -0
- package/src/gallery/transforms.js +8 -0
- package/src/group/README.md +1 -1
- package/src/group/block.json +1 -1
- package/src/heading/transforms.js +36 -0
- package/src/heading/variations.js +12 -0
- package/src/home-link/edit.js +2 -2
- package/src/icon/edit.js +9 -1
- package/src/image/image.js +4 -4
- package/src/list/README.md +1 -0
- package/src/list/block.json +1 -0
- package/src/math/edit.js +4 -9
- package/src/media-text/edit.js +2 -2
- package/src/more/README.md +1 -1
- package/src/more/block.json +1 -1
- package/src/navigation/index.php +8 -2
- package/src/navigation-link/shared/controls.js +2 -2
- package/src/playlist/block.json +0 -1
- package/src/playlist/edit.js +54 -21
- package/src/playlist/test/edit-component.js +78 -27
- package/src/playlist-track/README.md +8 -8
- package/src/playlist-track/block.json +16 -8
- package/src/playlist-track/edit.js +56 -27
- package/src/playlist-track/test/edit.js +145 -41
- package/src/post-comments-form/style.scss +7 -9
- package/src/post-template/edit.js +10 -1
- package/src/post-title/edit.js +2 -9
- package/src/private-apis.js +0 -2
- package/src/query/README.md +2 -0
- package/src/query/block.json +3 -0
- package/src/query-no-results/README.md +3 -0
- package/src/query-no-results/block.json +16 -1
- package/src/query-no-results/style.scss +5 -0
- package/src/rss/edit.js +2 -2
- package/src/search/style.scss +1 -1
- package/src/search/theme.scss +2 -4
- package/src/site-logo/edit.js +1 -1
- package/src/site-title/edit.js +1 -10
- package/src/social-link/index.php +6 -13
- package/src/style.scss +1 -0
- package/src/tab-panel/index.php +14 -5
- package/src/tab-panel/style.scss +7 -1
- package/src/table-of-contents/README.md +6 -6
- package/src/table-of-contents/block.json +2 -1
- package/src/table-of-contents/deprecated.js +173 -0
- package/src/table-of-contents/index.js +2 -2
- package/src/table-of-contents/index.php +16 -3
- package/src/tabs/index.php +5 -5
- package/src/tabs/view.js +32 -2
- package/src/term-description/index.php +1 -1
- package/src/term-template/edit.js +10 -1
- package/src/utils/test/waveform-player-dependency.js +0 -74
- package/build/block-keyboard-shortcuts/index.cjs +0 -131
- package/build/block-keyboard-shortcuts/index.cjs.map +0 -7
- package/build/table-of-contents/save.cjs +0 -55
- package/build/table-of-contents/save.cjs.map +0 -7
- package/build-module/block-keyboard-shortcuts/index.mjs +0 -113
- package/build-module/block-keyboard-shortcuts/index.mjs.map +0 -7
- package/build-module/table-of-contents/save.mjs +0 -24
- package/build-module/table-of-contents/save.mjs.map +0 -7
- package/src/block-keyboard-shortcuts/index.js +0 -135
- package/src/table-of-contents/save.js +0 -22
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/gallery/transforms.js"],
|
|
4
|
-
"sourcesContent": ["import { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\nimport { defaultColumnsNumber } from './shared';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\nconst cloneInnerBlocks = ( innerBlocks ) =>\n\tinnerBlocks.map( ( innerBlock ) =>\n\t\tcreateBlock(\n\t\t\tinnerBlock.name,\n\t\t\tinnerBlock.attributes,\n\t\t\tcloneInnerBlocks( innerBlock.innerBlocks || [] )\n\t\t)\n\t);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tif (\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.align === align\n\t\t\t\t)\n\t\t\t\t\t? align\n\t\t\t\t\t: undefined;\n\t\t\t\tsizeSlug = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.sizeSlug === sizeSlug\n\t\t\t\t)\n\t\t\t\t\t? sizeSlug\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst validImages = attributes.filter( ( { url } ) => url );\n\n\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t// Gallery images can't currently be resized so make sure height and width are undefined.\n\t\t\t\t\timage.width = undefined;\n\t\t\t\t\timage.height = undefined;\n\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t} );\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\t\t\ttransform( { named: { ids, columns = 3, link, orderby, size } } ) {\n\t\t\t\tconst imageIds = parseShortcodeIds( ids ).map( ( id ) =>\n\t\t\t\t\tparseInt( id, 10 )\n\t\t\t\t);\n\n\t\t\t\tlet linkTo = LINK_DESTINATION_NONE;\n\t\t\t\tif ( link === 'post' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t} else if ( link === 'file' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_MEDIA;\n\t\t\t\t}\n\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\tcolumns: parseInt( columns, 10 ),\n\t\t\t\t\t\tlinkTo,\n\t\t\t\t\t\trandomOrder: orderby === 'rand',\n\t\t\t\t\t\t...( size && { sizeSlug: size } ),\n\t\t\t\t\t},\n\t\t\t\t\timageIds.map( ( imageId ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\tid: imageId,\n\t\t\t\t\t\t\t...( size && { sizeSlug: size } ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn galleryBlock;\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrides the image block transformation when multiple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\tfiles.every(\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\t\treturn createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { align }, innerBlocks ) => {\n\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t( {\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tvariationName: 'group-grid',\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst {\n\t\t\t\t\tallowResize,\n\t\t\t\t\taspectRatio,\n\t\t\t\t\tcaption,\n\t\t\t\t\tcolumns,\n\t\t\t\t\tfixedHeight,\n\t\t\t\t\tids,\n\t\t\t\t\timageCrop,\n\t\t\t\t\timages,\n\t\t\t\t\tlinkTarget,\n\t\t\t\t\tlinkTo,\n\t\t\t\t\tnavigationButtonType,\n\t\t\t\t\trandomOrder,\n\t\t\t\t\tshortCodeTransforms,\n\t\t\t\t\tsizeSlug,\n\t\t\t\t\t...rest\n\t\t\t\t} = attributes;\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\t...rest,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\ttype: 'grid',\n\t\t\t\t\t\t\tcolumnCount:\n\t\t\t\t\t\t\t\tcolumns ??\n\t\t\t\t\t\t\t\tdefaultColumnsNumber( innerBlocks.length ),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcloneInnerBlocks( innerBlocks )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\nimport { defaultColumnsNumber } from './shared';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\nconst cloneInnerBlocks = ( innerBlocks ) =>\n\tinnerBlocks.map( ( innerBlock ) =>\n\t\tcreateBlock(\n\t\t\tinnerBlock.name,\n\t\t\tinnerBlock.attributes,\n\t\t\tcloneInnerBlocks( innerBlock.innerBlocks || [] )\n\t\t)\n\t);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tif (\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.align === align\n\t\t\t\t)\n\t\t\t\t\t? align\n\t\t\t\t\t: undefined;\n\t\t\t\tsizeSlug = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.sizeSlug === sizeSlug\n\t\t\t\t)\n\t\t\t\t\t? sizeSlug\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst validImages = attributes.filter( ( { url } ) => url );\n\n\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t// Gallery images can't currently be resized so make sure height and width are undefined.\n\t\t\t\t\timage.width = undefined;\n\t\t\t\t\timage.height = undefined;\n\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t} );\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\t\t\ttransform( { named: { ids, columns = 3, link, orderby, size } } ) {\n\t\t\t\tconst imageIds = parseShortcodeIds( ids ).map( ( id ) =>\n\t\t\t\t\tparseInt( id, 10 )\n\t\t\t\t);\n\n\t\t\t\tlet linkTo = LINK_DESTINATION_NONE;\n\t\t\t\tif ( link === 'post' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t} else if ( link === 'file' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_MEDIA;\n\t\t\t\t}\n\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\tcolumns: parseInt( columns, 10 ),\n\t\t\t\t\t\tlinkTo,\n\t\t\t\t\t\trandomOrder: orderby === 'rand',\n\t\t\t\t\t\t...( size && { sizeSlug: size } ),\n\t\t\t\t\t},\n\t\t\t\t\timageIds.map( ( imageId ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\tid: imageId,\n\t\t\t\t\t\t\t...( size && { sizeSlug: size } ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn galleryBlock;\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrides the image block transformation when multiple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\tfiles.every(\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\t\treturn createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\t// A dynamic gallery has no inner blocks — its images are resolved\n\t\t\t// from a source at render time — so this transform would produce a\n\t\t\t// single empty image and drop the source.\n\t\t\tisMatch: ( { dynamicContent } ) => ! dynamicContent,\n\t\t\ttransform: ( { align }, innerBlocks ) => {\n\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t( {\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tvariationName: 'group-grid',\n\t\t\t// As above: with no inner blocks to clone, a dynamic gallery would\n\t\t\t// transform into an empty grid.\n\t\t\tisMatch: ( { dynamicContent } ) => ! dynamicContent,\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst {\n\t\t\t\t\tallowResize,\n\t\t\t\t\taspectRatio,\n\t\t\t\t\tcaption,\n\t\t\t\t\tcolumns,\n\t\t\t\t\tdynamicContent,\n\t\t\t\t\tfixedHeight,\n\t\t\t\t\tids,\n\t\t\t\t\timageCrop,\n\t\t\t\t\timages,\n\t\t\t\t\tlinkTarget,\n\t\t\t\t\tlinkTo,\n\t\t\t\t\tnavigationButtonType,\n\t\t\t\t\trandomOrder,\n\t\t\t\t\tshortCodeTransforms,\n\t\t\t\t\tsizeSlug,\n\t\t\t\t\t...rest\n\t\t\t\t} = attributes;\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\t...rest,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\ttype: 'grid',\n\t\t\t\t\t\t\tcolumnCount:\n\t\t\t\t\t\t\t\tcolumns ??\n\t\t\t\t\t\t\t\tdefaultColumnsNumber( innerBlocks.length ),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcloneInnerBlocks( innerBlocks )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/group/block.json
CHANGED
|
@@ -24,6 +24,7 @@ __export(transforms_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(transforms_exports);
|
|
26
26
|
var import_blocks = require("@wordpress/blocks");
|
|
27
|
+
var import_i18n = require("@wordpress/i18n");
|
|
27
28
|
var import_shared = require("./shared.cjs");
|
|
28
29
|
var import_get_transformed_attributes = require("../utils/get-transformed-attributes.cjs");
|
|
29
30
|
var transforms = {
|
|
@@ -32,6 +33,23 @@ var transforms = {
|
|
|
32
33
|
type: "block",
|
|
33
34
|
isMultiBlock: true,
|
|
34
35
|
blocks: ["core/paragraph"],
|
|
36
|
+
// The level shortcuts are declared here as well as on the
|
|
37
|
+
// variations, so that they reach a paragraph and not only a
|
|
38
|
+
// heading. Both declarations describe the same shortcut, and only
|
|
39
|
+
// one of them can apply to any given selection.
|
|
40
|
+
shortcuts: [1, 2, 3, 4, 5, 6].map((level) => ({
|
|
41
|
+
name: `core/block-editor/transform-to-heading-${level}`,
|
|
42
|
+
description: (0, import_i18n.sprintf)(
|
|
43
|
+
/* translators: %d: heading level e.g: "1", "2", "3" */
|
|
44
|
+
(0, import_i18n.__)("Transform the selected block into a heading %d."),
|
|
45
|
+
level
|
|
46
|
+
),
|
|
47
|
+
keyCombination: {
|
|
48
|
+
modifier: "access",
|
|
49
|
+
character: `${level}`
|
|
50
|
+
},
|
|
51
|
+
variationName: `h${level}`
|
|
52
|
+
})),
|
|
35
53
|
transform: (attributes) => attributes.map((_attributes) => {
|
|
36
54
|
const { content, anchor, style } = _attributes;
|
|
37
55
|
const textAlign = style?.typography?.textAlign;
|
|
@@ -112,6 +130,24 @@ var transforms = {
|
|
|
112
130
|
type: "block",
|
|
113
131
|
isMultiBlock: true,
|
|
114
132
|
blocks: ["core/paragraph"],
|
|
133
|
+
shortcuts: [
|
|
134
|
+
{
|
|
135
|
+
name: "core/block-editor/transform-heading-to-paragraph",
|
|
136
|
+
description: (0, import_i18n.__)(
|
|
137
|
+
"Transform the selected heading into a paragraph."
|
|
138
|
+
),
|
|
139
|
+
keyCombination: {
|
|
140
|
+
modifier: "access",
|
|
141
|
+
character: "0"
|
|
142
|
+
},
|
|
143
|
+
aliases: [
|
|
144
|
+
{
|
|
145
|
+
modifier: "access",
|
|
146
|
+
character: "7"
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
}
|
|
150
|
+
],
|
|
115
151
|
transform: (attributes) => attributes.map((_attributes) => {
|
|
116
152
|
const { content, style } = _attributes;
|
|
117
153
|
const textAlign = style?.typography?.textAlign;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/heading/transforms.js"],
|
|
4
|
-
"sourcesContent": ["import { createBlock, getBlockAttributes } from '@wordpress/blocks';\nimport { getLevelFromHeadingNodeName } from './shared';\nimport { getTransformedAttributes } from '../utils/get-transformed-attributes';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( _attributes ) => {\n\t\t\t\t\tconst { content, anchor, style } = _attributes;\n\t\t\t\t\tconst textAlign = style?.typography?.textAlign;\n\t\t\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\t\t\t...getTransformedAttributes(\n\t\t\t\t\t\t\t_attributes,\n\t\t\t\t\t\t\t'core/heading',\n\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\tcontent: contentBinding,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t...( textAlign && {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\t\tschema: ( { phrasingContentSchema, isPaste } ) => {\n\t\t\t\tconst schema = {\n\t\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\t\tattributes: isPaste ? [] : [ 'style', 'id' ],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\th1: schema,\n\t\t\t\t\th2: schema,\n\t\t\t\t\th3: schema,\n\t\t\t\t\th4: schema,\n\t\t\t\t\th5: schema,\n\t\t\t\t\th6: schema,\n\t\t\t\t};\n\t\t\t},\n\t\t\ttransform( node ) {\n\t\t\t\tconst attributes = getBlockAttributes(\n\t\t\t\t\t'core/heading',\n\t\t\t\t\tnode.outerHTML\n\t\t\t\t);\n\t\t\t\tconst { textAlign } = node.style || {};\n\n\t\t\t\tattributes.level = getLevelFromHeadingNodeName( node.nodeName );\n\n\t\t\t\tif (\n\t\t\t\t\ttextAlign === 'left' ||\n\t\t\t\t\ttextAlign === 'center' ||\n\t\t\t\t\ttextAlign === 'right'\n\t\t\t\t) {\n\t\t\t\t\tattributes.style = {\n\t\t\t\t\t\t...attributes.style,\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t...attributes.style?.typography,\n\t\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/heading', attributes );\n\t\t\t},\n\t\t},\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix: Array( level + 1 ).join( '#' ),\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\t\tlevel,\n\t\t\t\t\tcontent,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'enter',\n\t\t\tregExp: new RegExp( `^/(h|H)${ level }$` ),\n\t\t\ttransform: () => createBlock( 'core/heading', { level } ),\n\t\t} ) ),\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( _attributes ) => {\n\t\t\t\t\tconst { content, style } = _attributes;\n\t\t\t\t\tconst textAlign = style?.typography?.textAlign;\n\t\t\t\t\treturn createBlock( 'core/paragraph', {\n\t\t\t\t\t\t...getTransformedAttributes(\n\t\t\t\t\t\t\t_attributes,\n\t\t\t\t\t\t\t'core/paragraph',\n\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\tcontent: contentBinding,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t...( textAlign && {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { createBlock, getBlockAttributes } from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { getLevelFromHeadingNodeName } from './shared';\nimport { getTransformedAttributes } from '../utils/get-transformed-attributes';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\t// The level shortcuts are declared here as well as on the\n\t\t\t// variations, so that they reach a paragraph and not only a\n\t\t\t// heading. Both declarations describe the same shortcut, and only\n\t\t\t// one of them can apply to any given selection.\n\t\t\tshortcuts: [ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\t\tname: `core/block-editor/transform-to-heading-${ level }`,\n\t\t\t\tdescription: sprintf(\n\t\t\t\t\t/* translators: %d: heading level e.g: \"1\", \"2\", \"3\" */\n\t\t\t\t\t__( 'Transform the selected block into a heading %d.' ),\n\t\t\t\t\tlevel\n\t\t\t\t),\n\t\t\t\tkeyCombination: {\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: `${ level }`,\n\t\t\t\t},\n\t\t\t\tvariationName: `h${ level }`,\n\t\t\t} ) ),\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( _attributes ) => {\n\t\t\t\t\tconst { content, anchor, style } = _attributes;\n\t\t\t\t\tconst textAlign = style?.typography?.textAlign;\n\t\t\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\t\t\t...getTransformedAttributes(\n\t\t\t\t\t\t\t_attributes,\n\t\t\t\t\t\t\t'core/heading',\n\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\tcontent: contentBinding,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t...( textAlign && {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\t\tschema: ( { phrasingContentSchema, isPaste } ) => {\n\t\t\t\tconst schema = {\n\t\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\t\tattributes: isPaste ? [] : [ 'style', 'id' ],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\th1: schema,\n\t\t\t\t\th2: schema,\n\t\t\t\t\th3: schema,\n\t\t\t\t\th4: schema,\n\t\t\t\t\th5: schema,\n\t\t\t\t\th6: schema,\n\t\t\t\t};\n\t\t\t},\n\t\t\ttransform( node ) {\n\t\t\t\tconst attributes = getBlockAttributes(\n\t\t\t\t\t'core/heading',\n\t\t\t\t\tnode.outerHTML\n\t\t\t\t);\n\t\t\t\tconst { textAlign } = node.style || {};\n\n\t\t\t\tattributes.level = getLevelFromHeadingNodeName( node.nodeName );\n\n\t\t\t\tif (\n\t\t\t\t\ttextAlign === 'left' ||\n\t\t\t\t\ttextAlign === 'center' ||\n\t\t\t\t\ttextAlign === 'right'\n\t\t\t\t) {\n\t\t\t\t\tattributes.style = {\n\t\t\t\t\t\t...attributes.style,\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t...attributes.style?.typography,\n\t\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/heading', attributes );\n\t\t\t},\n\t\t},\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix: Array( level + 1 ).join( '#' ),\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\t\tlevel,\n\t\t\t\t\tcontent,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'enter',\n\t\t\tregExp: new RegExp( `^/(h|H)${ level }$` ),\n\t\t\ttransform: () => createBlock( 'core/heading', { level } ),\n\t\t} ) ),\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\tshortcuts: [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/block-editor/transform-heading-to-paragraph',\n\t\t\t\t\tdescription: __(\n\t\t\t\t\t\t'Transform the selected heading into a paragraph.'\n\t\t\t\t\t),\n\t\t\t\t\tkeyCombination: {\n\t\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\t\tcharacter: '0',\n\t\t\t\t\t},\n\t\t\t\t\taliases: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\t\t\tcharacter: '7',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( _attributes ) => {\n\t\t\t\t\tconst { content, style } = _attributes;\n\t\t\t\t\tconst textAlign = style?.typography?.textAlign;\n\t\t\t\t\treturn createBlock( 'core/paragraph', {\n\t\t\t\t\t\t...getTransformedAttributes(\n\t\t\t\t\t\t\t_attributes,\n\t\t\t\t\t\t\t'core/paragraph',\n\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\tcontent: contentBinding,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t...( textAlign && {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -48,7 +48,19 @@ var variations = [
|
|
|
48
48
|
attributes: { level },
|
|
49
49
|
scope: ["block", "transform"],
|
|
50
50
|
keywords: [`h${level}`],
|
|
51
|
-
isActive: (blockAttributes) => blockAttributes.level === level
|
|
51
|
+
isActive: (blockAttributes) => blockAttributes.level === level,
|
|
52
|
+
shortcut: {
|
|
53
|
+
name: `core/block-editor/transform-to-heading-${level}`,
|
|
54
|
+
description: (0, import_i18n.sprintf)(
|
|
55
|
+
/* translators: %d: heading level e.g: "1", "2", "3" */
|
|
56
|
+
(0, import_i18n.__)("Transform the selected block into a heading %d."),
|
|
57
|
+
level
|
|
58
|
+
),
|
|
59
|
+
keyCombination: {
|
|
60
|
+
modifier: "access",
|
|
61
|
+
character: `${level}`
|
|
62
|
+
}
|
|
63
|
+
}
|
|
52
64
|
}))
|
|
53
65
|
];
|
|
54
66
|
var variations_default = variations;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/heading/variations.js"],
|
|
4
|
-
"sourcesContent": ["import { __, sprintf } from '@wordpress/i18n';\nimport {\n\theadingLevel1,\n\theadingLevel2,\n\theadingLevel3,\n\theadingLevel4,\n\theadingLevel5,\n\theadingLevel6,\n} from '@wordpress/icons';\n\nconst LEVEL_ICONS = [\n\theadingLevel1,\n\theadingLevel2,\n\theadingLevel3,\n\theadingLevel4,\n\theadingLevel5,\n\theadingLevel6,\n];\n\nconst variations = [\n\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\tname: `h${ level }`,\n\t\ttitle: sprintf(\n\t\t\t/* translators: %d: heading level e.g: \"1\", \"2\", \"3\" */\n\t\t\t__( 'Heading %d' ),\n\t\t\tlevel\n\t\t),\n\t\tdescription: __(\n\t\t\t'Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.'\n\t\t),\n\t\ticon: LEVEL_ICONS[ level - 1 ],\n\t\tattributes: { level },\n\t\tscope: [ 'block', 'transform' ],\n\t\tkeywords: [ `h${ level }` ],\n\t\tisActive: ( blockAttributes ) => blockAttributes.level === level,\n\t} ) ),\n];\n\nexport default variations;\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA4B;AAC5B,mBAOO;AAEP,IAAM,cAAc;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEA,IAAM,aAAa;AAAA,EAClB,GAAG,CAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAE,EAAE,IAAK,CAAE,WAAa;AAAA,IAC3C,MAAM,IAAK,KAAM;AAAA,IACjB,WAAO;AAAA;AAAA,UAEN,gBAAI,YAAa;AAAA,MACjB;AAAA,IACD;AAAA,IACA,iBAAa;AAAA,MACZ;AAAA,IACD;AAAA,IACA,MAAM,YAAa,QAAQ,CAAE;AAAA,IAC7B,YAAY,EAAE,MAAM;AAAA,IACpB,OAAO,CAAE,SAAS,WAAY;AAAA,IAC9B,UAAU,CAAE,IAAK,KAAM,EAAG;AAAA,IAC1B,UAAU,CAAE,oBAAqB,gBAAgB,UAAU;AAAA,
|
|
4
|
+
"sourcesContent": ["import { __, sprintf } from '@wordpress/i18n';\nimport {\n\theadingLevel1,\n\theadingLevel2,\n\theadingLevel3,\n\theadingLevel4,\n\theadingLevel5,\n\theadingLevel6,\n} from '@wordpress/icons';\n\nconst LEVEL_ICONS = [\n\theadingLevel1,\n\theadingLevel2,\n\theadingLevel3,\n\theadingLevel4,\n\theadingLevel5,\n\theadingLevel6,\n];\n\nconst variations = [\n\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\tname: `h${ level }`,\n\t\ttitle: sprintf(\n\t\t\t/* translators: %d: heading level e.g: \"1\", \"2\", \"3\" */\n\t\t\t__( 'Heading %d' ),\n\t\t\tlevel\n\t\t),\n\t\tdescription: __(\n\t\t\t'Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.'\n\t\t),\n\t\ticon: LEVEL_ICONS[ level - 1 ],\n\t\tattributes: { level },\n\t\tscope: [ 'block', 'transform' ],\n\t\tkeywords: [ `h${ level }` ],\n\t\tisActive: ( blockAttributes ) => blockAttributes.level === level,\n\t\tshortcut: {\n\t\t\tname: `core/block-editor/transform-to-heading-${ level }`,\n\t\t\tdescription: sprintf(\n\t\t\t\t/* translators: %d: heading level e.g: \"1\", \"2\", \"3\" */\n\t\t\t\t__( 'Transform the selected block into a heading %d.' ),\n\t\t\t\tlevel\n\t\t\t),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: `${ level }`,\n\t\t\t},\n\t\t},\n\t} ) ),\n];\n\nexport default variations;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA4B;AAC5B,mBAOO;AAEP,IAAM,cAAc;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEA,IAAM,aAAa;AAAA,EAClB,GAAG,CAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAE,EAAE,IAAK,CAAE,WAAa;AAAA,IAC3C,MAAM,IAAK,KAAM;AAAA,IACjB,WAAO;AAAA;AAAA,UAEN,gBAAI,YAAa;AAAA,MACjB;AAAA,IACD;AAAA,IACA,iBAAa;AAAA,MACZ;AAAA,IACD;AAAA,IACA,MAAM,YAAa,QAAQ,CAAE;AAAA,IAC7B,YAAY,EAAE,MAAM;AAAA,IACpB,OAAO,CAAE,SAAS,WAAY;AAAA,IAC9B,UAAU,CAAE,IAAK,KAAM,EAAG;AAAA,IAC1B,UAAU,CAAE,oBAAqB,gBAAgB,UAAU;AAAA,IAC3D,UAAU;AAAA,MACT,MAAM,0CAA2C,KAAM;AAAA,MACvD,iBAAa;AAAA;AAAA,YAEZ,gBAAI,iDAAkD;AAAA,QACtD;AAAA,MACD;AAAA,MACA,gBAAgB;AAAA,QACf,UAAU;AAAA,QACV,WAAW,GAAI,KAAM;AAAA,MACtB;AAAA,IACD;AAAA,EACD,EAAI;AACL;AAEA,IAAO,qBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/home-link/edit.js"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tCheckboxControl,\n\tTextControl,\n\tTextareaControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { external } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst preventDefault = ( event ) => event.preventDefault();\n\nexport default function HomeEdit( { attributes, setAttributes, context } ) {\n\tconst {\n\t\thomeUrl,\n\t\tonNavigateToEntityRecord,\n\t\tfrontPageId,\n\t\tfrontPageTemplateId,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, getDefaultTemplateId, canUser } =\n\t\t\tselect( coreStore );\n\n\t\t// Site index.\n\t\tconst baseUrl = getEntityRecord( 'root', '__unstableBase' )?.home;\n\n\t\t// Front-page data (only available if the user can read site settings).\n\t\tconst canReadSettings = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst site = canReadSettings ? getEntityRecord( 'root', 'site' ) : null;\n\t\tconst resolvedFrontPageId =\n\t\t\tsite?.show_on_front === 'page' ? site?.page_on_front : null;\n\n\t\t// When no specific front page is set, fall back to the front-page template.\n\t\tconst resolvedFrontPageTemplateId = ! resolvedFrontPageId\n\t\t\t? getDefaultTemplateId( { slug: 'front-page' } )\n\t\t\t: null;\n\n\t\treturn {\n\t\t\thomeUrl: baseUrl,\n\t\t\tonNavigateToEntityRecord:\n\t\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t\t.onNavigateToEntityRecord,\n\t\t\tfrontPageId: resolvedFrontPageId,\n\t\t\tfrontPageTemplateId: resolvedFrontPageTemplateId,\n\t\t};\n\t}, [] );\n\n\tconst { textColor, backgroundColor, style } = context;\n\tconst { label, opensInNewTab, description } = attributes;\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'has-text-color': !! textColor || !! style?.color?.text,\n\t\t\t[ `has-${ textColor }-color` ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || !! style?.color?.background,\n\t\t\t[ `has-${ backgroundColor }-background-color` ]: !! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: style?.color?.text,\n\t\t\tbackgroundColor: style?.color?.background,\n\t\t},\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls group=\"content\">\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\topensInNewTab: false,\n\t\t\t\t\t\t\tdescription: '',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! label }\n\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { label: '' } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! opensInNewTab }\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { opensInNewTab: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ opensInNewTab }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { opensInNewTab: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ onNavigateToEntityRecord &&\n\t\t\t\t\t\t( frontPageId || frontPageTemplateId ) && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tif ( frontPageId ) {\n\t\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\t\t\tpostId: frontPageId,\n\t\t\t\t\t\t\t\t\t\t\tpostType: 'page',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\t\t\tpostId: frontPageTemplateId,\n\t\t\t\t\t\t\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t\t\t\t\t\t\t} );\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__next40pxDefaultSize\n\t\t\t\t\t\t\t\tclassName=\"navigation-link-to__action-button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t{ homeUrl && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"navigation-link-to__action-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'View' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! description }\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { description: '' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["coreStore", "blockEditorStore", "clsx", "ToolsPanel", "ToolsPanelItem", "stripHTML"]
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tCheckboxControl,\n\tTextControl,\n\tTextareaControl as WCTextareaControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { external } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst preventDefault = ( event ) => event.preventDefault();\n\nexport default function HomeEdit( { attributes, setAttributes, context } ) {\n\tconst {\n\t\thomeUrl,\n\t\tonNavigateToEntityRecord,\n\t\tfrontPageId,\n\t\tfrontPageTemplateId,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, getDefaultTemplateId, canUser } =\n\t\t\tselect( coreStore );\n\n\t\t// Site index.\n\t\tconst baseUrl = getEntityRecord( 'root', '__unstableBase' )?.home;\n\n\t\t// Front-page data (only available if the user can read site settings).\n\t\tconst canReadSettings = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst site = canReadSettings ? getEntityRecord( 'root', 'site' ) : null;\n\t\tconst resolvedFrontPageId =\n\t\t\tsite?.show_on_front === 'page' ? site?.page_on_front : null;\n\n\t\t// When no specific front page is set, fall back to the front-page template.\n\t\tconst resolvedFrontPageTemplateId = ! resolvedFrontPageId\n\t\t\t? getDefaultTemplateId( { slug: 'front-page' } )\n\t\t\t: null;\n\n\t\treturn {\n\t\t\thomeUrl: baseUrl,\n\t\t\tonNavigateToEntityRecord:\n\t\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t\t.onNavigateToEntityRecord,\n\t\t\tfrontPageId: resolvedFrontPageId,\n\t\t\tfrontPageTemplateId: resolvedFrontPageTemplateId,\n\t\t};\n\t}, [] );\n\n\tconst { textColor, backgroundColor, style } = context;\n\tconst { label, opensInNewTab, description } = attributes;\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'has-text-color': !! textColor || !! style?.color?.text,\n\t\t\t[ `has-${ textColor }-color` ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || !! style?.color?.background,\n\t\t\t[ `has-${ backgroundColor }-background-color` ]: !! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: style?.color?.text,\n\t\t\tbackgroundColor: style?.color?.background,\n\t\t},\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls group=\"content\">\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\topensInNewTab: false,\n\t\t\t\t\t\t\tdescription: '',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! label }\n\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { label: '' } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! opensInNewTab }\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { opensInNewTab: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ opensInNewTab }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { opensInNewTab: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ onNavigateToEntityRecord &&\n\t\t\t\t\t\t( frontPageId || frontPageTemplateId ) && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tif ( frontPageId ) {\n\t\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\t\t\tpostId: frontPageId,\n\t\t\t\t\t\t\t\t\t\t\tpostType: 'page',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\t\t\tpostId: frontPageTemplateId,\n\t\t\t\t\t\t\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t\t\t\t\t\t\t} );\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__next40pxDefaultSize\n\t\t\t\t\t\t\t\tclassName=\"navigation-link-to__action-button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t{ homeUrl && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"navigation-link-to__action-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'View' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! description }\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { description: '' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<WCTextareaControl\n\t\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdescription: descriptionValue,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\tclassName=\"wp-block-home-link__content wp-block-navigation-item__content\"\n\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\tonClick={ preventDefault }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\tclassName=\"wp-block-home-link__label\"\n\t\t\t\t\t\tvalue={ label ?? __( 'Home' ) }\n\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\taria-label={ __( 'Home link text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t/>\n\t\t\t\t\t{ description && (\n\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["coreStore", "blockEditorStore", "clsx", "ToolsPanel", "ToolsPanelItem", "stripHTML", "WCTextareaControl"]
|
|
7
7
|
}
|
package/build/icon/edit.cjs
CHANGED
|
@@ -76,7 +76,13 @@ function Edit({ attributes, setAttributes }) {
|
|
|
76
76
|
const [isInserterOpen, setInserterOpen] = (0, import_element.useState)(false);
|
|
77
77
|
const isContentOnlyMode = (0, import_block_editor.useBlockEditingMode)() === "contentOnly";
|
|
78
78
|
const colorProps = (0, import_block_editor.__experimentalUseColorProps)(attributes);
|
|
79
|
-
const spacingProps = (0, import_block_editor.__experimentalGetSpacingClassesAndStyles)(
|
|
79
|
+
const spacingProps = (0, import_block_editor.__experimentalGetSpacingClassesAndStyles)({
|
|
80
|
+
style: {
|
|
81
|
+
spacing: {
|
|
82
|
+
padding: attributes.style?.spacing?.padding
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
});
|
|
80
86
|
const borderProps = (0, import_block_editor.__experimentalUseBorderProps)(attributes);
|
|
81
87
|
const dimensionsProps = (0, import_block_editor.getDimensionsClassesAndStyles)(attributes);
|
|
82
88
|
const selectedIcon = (0, import_data.useSelect)(
|
package/build/icon/edit.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/icon/edit.js"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tTextControl,\n\tToolbarButton,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tflipHorizontal as flipHorizontalIcon,\n\tflipVertical as flipVerticalIcon,\n\trotateRight,\n} from '@wordpress/icons';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseBlockEditingMode,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\tgetDimensionsClassesAndStyles as useDimensionsProps,\n} from '@wordpress/block-editor';\nimport { useState } from '@wordpress/element';\nimport { SVG, Rect, Path } from '@wordpress/primitives';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport HtmlRenderer from '../utils/html-renderer';\nimport { CustomInserterModal } from './components';\n\nconst IconPlaceholder = ( { className, style } ) => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 60 60\"\n\t\tpreserveAspectRatio=\"none\"\n\t\tfill=\"none\"\n\t\taria-hidden=\"true\"\n\t\tclassName={ clsx( 'wp-block-icon__placeholder', className ) }\n\t\tstyle={ style }\n\t>\n\t\t<Rect width=\"60\" height=\"60\" fill=\"currentColor\" fillOpacity={ 0.1 } />\n\t\t<Path\n\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\tstroke=\"currentColor\"\n\t\t\tstrokeOpacity={ 0.25 }\n\t\t\td=\"M60 60 0 0\"\n\t\t/>\n\t</SVG>\n);\n\nexport function Edit( { attributes, setAttributes } ) {\n\tconst { icon, ariaLabel, flipHorizontal, flipVertical, rotation } =\n\t\tattributes;\n\n\tconst [ isInserterOpen, setInserterOpen ] = useState( false );\n\n\tconst isContentOnlyMode = useBlockEditingMode() === 'contentOnly';\n\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst borderProps = useBorderProps( attributes );\n\tconst dimensionsProps = useDimensionsProps( attributes );\n\n\tconst selectedIcon = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreDataStore );\n\t\t\treturn icon ? getEntityRecord( 'root', 'icon', icon ) : null;\n\t\t},\n\t\t[ icon ]\n\t);\n\n\tconst iconToDisplay = selectedIcon?.content || '';\n\n\tconst flipClasses = {\n\t\t'is-flip-horizontal': flipHorizontal,\n\t\t'is-flip-vertical': flipVertical,\n\t};\n\n\tconst rotationStyle = rotation ? { rotate: `${ rotation }deg` } : {};\n\n\tconst blockControls = (\n\t\t<>\n\t\t\t{ icon && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ flipHorizontalIcon }\n\t\t\t\t\t\tlabel={ __( 'Flip horizontal' ) }\n\t\t\t\t\t\tisPressed={ flipHorizontal }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tflipHorizontal: ! flipHorizontal,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ flipVerticalIcon }\n\t\t\t\t\t\tlabel={ __( 'Flip vertical' ) }\n\t\t\t\t\t\tisPressed={ flipVertical }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tflipVertical: ! flipVertical,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ rotateRight }\n\t\t\t\t\t\tlabel={ __( 'Rotate' ) }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\trotation: ( ( rotation || 0 ) + 90 ) % 360,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetInserterOpen( true );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ icon ? __( 'Replace' ) : __( 'Choose icon' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t\t{ isContentOnlyMode && icon && (\n\t\t\t\t\t// Add some extra controls for content attributes when content only mode is active.\n\t\t\t\t\t// With content only mode active, the inspector is hidden, so users need another way\n\t\t\t\t\t// to edit these attributes.\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon=\"\"\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tas: ToolbarButton,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tclassName: 'is-alternate',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttext={ __( 'Label' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-icon__toolbar-content\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\t\t\tvalue={ ariaLabel || '' }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tariaLabel: value,\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\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Briefly describe the icon to help screen reader users. Leave blank for decorative icons.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst inspectorControls = icon && (\n\t\t<>\n\t\t\t<InspectorControls group=\"settings\">\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tariaLabel: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! ariaLabel }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { ariaLabel: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Briefly describe the icon to help screen reader users. Leave blank for decorative icons.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ ariaLabel || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { ariaLabel: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t{ iconToDisplay ? (\n\t\t\t\t\t<HtmlRenderer\n\t\t\t\t\t\thtml={ iconToDisplay }\n\t\t\t\t\t\twrapperProps={ {\n\t\t\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t\t\tspacingProps.className,\n\t\t\t\t\t\t\t\tdimensionsProps.className,\n\t\t\t\t\t\t\t\tflipClasses\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t\t\t...dimensionsProps.style,\n\t\t\t\t\t\t\t\t...rotationStyle,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<IconPlaceholder\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t\tspacingProps.className,\n\t\t\t\t\t\t\tdimensionsProps.className,\n\t\t\t\t\t\t\tflipClasses\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t\t...dimensionsProps.style,\n\t\t\t\t\t\t\t...rotationStyle,\n\t\t\t\t\t\t\theight: 'auto',\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ isInserterOpen && (\n\t\t\t\t<CustomInserterModal\n\t\t\t\t\tonClose={ () => setInserterOpen( false ) }\n\t\t\t\t\tvalue={ attributes.icon }\n\t\t\t\t\tonChange={ ( name ) => {\n\t\t\t\t\t\tsetAttributes( { icon: name } );\n\t\t\t\t\t\tsetInserterOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default Edit;\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,kBAAmB;AACnB,wBAMO;AACP,mBAIO;AACP,0BASO;AACP,qBAAyB;AACzB,wBAAgC;AAChC,kBAA0B;AAC1B,uBAAuC;AACvC,mBAA+C;AAC/C,2BAAyB;AACzB,IAAAA,qBAAoC;AAGnC;AADD,IAAM,kBAAkB,CAAE,EAAE,WAAW,MAAM,MAC5C;AAAA,EAAC;AAAA;AAAA,IACA,OAAM;AAAA,IACN,SAAQ;AAAA,IACR,qBAAoB;AAAA,IACpB,MAAK;AAAA,IACL,eAAY;AAAA,IACZ,eAAY,YAAAC,SAAM,8BAA8B,SAAU;AAAA,IAC1D;AAAA,IAEA;AAAA,kDAAC,0BAAK,OAAM,MAAK,QAAO,MAAK,MAAK,gBAAe,aAAc,KAAM;AAAA,MACrE;AAAA,QAAC;AAAA;AAAA,UACA,cAAa;AAAA,UACb,QAAO;AAAA,UACP,eAAgB;AAAA,UAChB,GAAE;AAAA;AAAA,MACH;AAAA;AAAA;AACD;AAGM,SAAS,KAAM,EAAE,YAAY,cAAc,GAAI;AACrD,QAAM,EAAE,MAAM,WAAW,gBAAgB,cAAc,SAAS,IAC/D;AAED,QAAM,CAAE,gBAAgB,eAAgB,QAAI,yBAAU,KAAM;AAE5D,QAAM,wBAAoB,yCAAoB,MAAM;AAEpD,QAAM,iBAAa,oBAAAC,6BAAe,UAAW;
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tTextControl,\n\tToolbarButton,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tflipHorizontal as flipHorizontalIcon,\n\tflipVertical as flipVerticalIcon,\n\trotateRight,\n} from '@wordpress/icons';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseBlockEditingMode,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\tgetDimensionsClassesAndStyles as useDimensionsProps,\n} from '@wordpress/block-editor';\nimport { useState } from '@wordpress/element';\nimport { SVG, Rect, Path } from '@wordpress/primitives';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport HtmlRenderer from '../utils/html-renderer';\nimport { CustomInserterModal } from './components';\n\nconst IconPlaceholder = ( { className, style } ) => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 60 60\"\n\t\tpreserveAspectRatio=\"none\"\n\t\tfill=\"none\"\n\t\taria-hidden=\"true\"\n\t\tclassName={ clsx( 'wp-block-icon__placeholder', className ) }\n\t\tstyle={ style }\n\t>\n\t\t<Rect width=\"60\" height=\"60\" fill=\"currentColor\" fillOpacity={ 0.1 } />\n\t\t<Path\n\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\tstroke=\"currentColor\"\n\t\t\tstrokeOpacity={ 0.25 }\n\t\t\td=\"M60 60 0 0\"\n\t\t/>\n\t</SVG>\n);\n\nexport function Edit( { attributes, setAttributes } ) {\n\tconst { icon, ariaLabel, flipHorizontal, flipVertical, rotation } =\n\t\tattributes;\n\n\tconst [ isInserterOpen, setInserterOpen ] = useState( false );\n\n\tconst isContentOnlyMode = useBlockEditingMode() === 'contentOnly';\n\n\tconst colorProps = useColorProps( attributes );\n\t// Only padding is applied to the inner SVG element, matching the front\n\t// end. The margin support is serialized to the block wrapper instead.\n\tconst spacingProps = useSpacingProps( {\n\t\tstyle: {\n\t\t\tspacing: {\n\t\t\t\tpadding: attributes.style?.spacing?.padding,\n\t\t\t},\n\t\t},\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\tconst dimensionsProps = useDimensionsProps( attributes );\n\n\tconst selectedIcon = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreDataStore );\n\t\t\treturn icon ? getEntityRecord( 'root', 'icon', icon ) : null;\n\t\t},\n\t\t[ icon ]\n\t);\n\n\tconst iconToDisplay = selectedIcon?.content || '';\n\n\tconst flipClasses = {\n\t\t'is-flip-horizontal': flipHorizontal,\n\t\t'is-flip-vertical': flipVertical,\n\t};\n\n\tconst rotationStyle = rotation ? { rotate: `${ rotation }deg` } : {};\n\n\tconst blockControls = (\n\t\t<>\n\t\t\t{ icon && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ flipHorizontalIcon }\n\t\t\t\t\t\tlabel={ __( 'Flip horizontal' ) }\n\t\t\t\t\t\tisPressed={ flipHorizontal }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tflipHorizontal: ! flipHorizontal,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ flipVerticalIcon }\n\t\t\t\t\t\tlabel={ __( 'Flip vertical' ) }\n\t\t\t\t\t\tisPressed={ flipVertical }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tflipVertical: ! flipVertical,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ rotateRight }\n\t\t\t\t\t\tlabel={ __( 'Rotate' ) }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\trotation: ( ( rotation || 0 ) + 90 ) % 360,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetInserterOpen( true );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ icon ? __( 'Replace' ) : __( 'Choose icon' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t\t{ isContentOnlyMode && icon && (\n\t\t\t\t\t// Add some extra controls for content attributes when content only mode is active.\n\t\t\t\t\t// With content only mode active, the inspector is hidden, so users need another way\n\t\t\t\t\t// to edit these attributes.\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon=\"\"\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tas: ToolbarButton,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tclassName: 'is-alternate',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttext={ __( 'Label' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-icon__toolbar-content\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\t\t\tvalue={ ariaLabel || '' }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tariaLabel: value,\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\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Briefly describe the icon to help screen reader users. Leave blank for decorative icons.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst inspectorControls = icon && (\n\t\t<>\n\t\t\t<InspectorControls group=\"settings\">\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tariaLabel: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! ariaLabel }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { ariaLabel: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Briefly describe the icon to help screen reader users. Leave blank for decorative icons.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ ariaLabel || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { ariaLabel: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t{ iconToDisplay ? (\n\t\t\t\t\t<HtmlRenderer\n\t\t\t\t\t\thtml={ iconToDisplay }\n\t\t\t\t\t\twrapperProps={ {\n\t\t\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t\t\tspacingProps.className,\n\t\t\t\t\t\t\t\tdimensionsProps.className,\n\t\t\t\t\t\t\t\tflipClasses\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t\t\t...dimensionsProps.style,\n\t\t\t\t\t\t\t\t...rotationStyle,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<IconPlaceholder\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t\tspacingProps.className,\n\t\t\t\t\t\t\tdimensionsProps.className,\n\t\t\t\t\t\t\tflipClasses\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t\t...dimensionsProps.style,\n\t\t\t\t\t\t\t...rotationStyle,\n\t\t\t\t\t\t\theight: 'auto',\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ isInserterOpen && (\n\t\t\t\t<CustomInserterModal\n\t\t\t\t\tonClose={ () => setInserterOpen( false ) }\n\t\t\t\t\tvalue={ attributes.icon }\n\t\t\t\t\tonChange={ ( name ) => {\n\t\t\t\t\t\tsetAttributes( { icon: name } );\n\t\t\t\t\t\tsetInserterOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default Edit;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_components", "clsx", "useColorProps", "useSpacingProps", "useBorderProps", "useDimensionsProps", "coreDataStore", "flipHorizontalIcon", "flipVerticalIcon", "ToolsPanel", "ToolsPanelItem", "HtmlRenderer"]
|
|
7
7
|
}
|
package/build/image/image.cjs
CHANGED