@wordpress/block-library 9.19.5 → 9.19.6
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/details/edit.js +28 -8
- package/build/details/edit.js.map +1 -1
- package/build/embed/variations.js +0 -10
- package/build/embed/variations.js.map +1 -1
- package/build/image/edit.js +0 -6
- package/build/image/edit.js.map +1 -1
- package/build/navigation-link/edit.js +27 -8
- package/build/navigation-link/edit.js.map +1 -1
- package/build/post-template/edit.js +5 -3
- package/build/post-template/edit.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +30 -19
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/query-content.js +1 -6
- package/build/query/edit/query-content.js.map +1 -1
- package/build-module/details/edit.js +30 -10
- package/build-module/details/edit.js.map +1 -1
- package/build-module/embed/variations.js +0 -10
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/image/edit.js +0 -6
- package/build-module/image/edit.js.map +1 -1
- package/build-module/navigation-link/edit.js +28 -9
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/post-template/edit.js +5 -3
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +31 -20
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/query-content.js +1 -6
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-style/button/style-rtl.css +0 -1
- package/build-style/button/style.css +0 -1
- package/build-style/buttons/style-rtl.css +3 -0
- package/build-style/buttons/style.css +3 -0
- package/build-style/post-comments-form/style-rtl.css +0 -3
- package/build-style/post-comments-form/style.css +0 -3
- package/build-style/style-rtl.css +3 -4
- package/build-style/style.css +3 -4
- package/package.json +18 -18
- package/src/button/style.scss +0 -1
- package/src/buttons/style.scss +5 -0
- package/src/details/edit.js +38 -8
- package/src/embed/variations.js +0 -8
- package/src/image/edit.js +0 -4
- package/src/navigation-link/edit.js +45 -11
- package/src/post-comments-form/style.scss +0 -5
- package/src/post-template/edit.js +4 -3
- package/src/query/edit/inspector-controls/index.js +50 -34
- package/src/query/edit/query-content.js +2 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_compose","_element","_blockEditor","_components","_i18n","_coreData","_enhancedPaginationControl","_interopRequireDefault","_inspectorControls","_enhancedPaginationModal","_utils","_queryToolbar","_messages","_jsxRuntime","DEFAULTS_POSTS_PER_PAGE","TEMPLATE","QueryContent","attributes","setAttributes","clientId","context","name","queryId","query","displayLayout","enhancedPagination","tagName","TagName","inherit","templateSlug","isSingular","getQueryContextFromTemplate","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","instanceId","useInstanceId","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","template","postsPerPage","useSelect","select","getSettings","getEntityRecord","getEntityRecordEdits","canUser","coreStore","settingPerPage","kind","posts_per_page","editedSettingPerPage","updateQuery","useCallback","newQuery","useEffect","perPage","Object","keys","length","Number","isFinite","updateDisplayLayout","newDisplayLayout","jsxs","Fragment","children","jsx","default","InspectorControls","setQuery","setDisplayLayout","BlockControls","group","SelectControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","__","options","value","onChange","help","htmlElementMessages"],"sources":["@wordpress/block-library/src/query/edit/query-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect, useCallback } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport EnhancedPaginationControl from './inspector-controls/enhanced-pagination-control';\nimport QueryInspectorControls from './inspector-controls';\nimport EnhancedPaginationModal from './enhanced-pagination-modal';\nimport { getQueryContextFromTemplate } from '../utils';\nimport QueryToolbar from './query-toolbar';\nimport { htmlElementMessages } from '../../utils/messages';\n\nconst DEFAULTS_POSTS_PER_PAGE = 3;\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport default function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tcontext,\n\tname,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tdisplayLayout,\n\t\tenhancedPagination,\n\t\ttagName: TagName = 'div',\n\t\tquery: { inherit } = {},\n\t} = attributes;\n\tconst { templateSlug } = context;\n\tconst { isSingular } = getQueryContextFromTemplate( templateSlug );\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst instanceId = useInstanceId( QueryContent );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\tconst { postsPerPage } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { getEntityRecord, getEntityRecordEdits, canUser } =\n\t\t\tselect( coreStore );\n\t\tconst settingPerPage = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} )\n\t\t\t? +getEntityRecord( 'root', 'site' )?.posts_per_page\n\t\t\t: +getSettings().postsPerPage;\n\n\t\t// Gets changes made via the template area posts per page setting. These won't be saved\n\t\t// until the page is saved, but we should reflect this setting within the query loops\n\t\t// that inherit it.\n\t\tconst editedSettingPerPage = +getEntityRecordEdits( 'root', 'site' )\n\t\t\t?.posts_per_page;\n\n\t\treturn {\n\t\t\tpostsPerPage:\n\t\t\t\teditedSettingPerPage ||\n\t\t\t\tsettingPerPage ||\n\t\t\t\tDEFAULTS_POSTS_PER_PAGE,\n\t\t};\n\t}, [] );\n\t// There are some effects running where some initialization logic is\n\t// happening and setting some values to some attributes (ex. queryId).\n\t// These updates can cause an `undo trap` where undoing will result in\n\t// resetting again, so we need to mark these changes as not persistent\n\t// with `__unstableMarkNextChangeAsNotPersistent`.\n\n\t// Changes in query property (which is an object) need to be in the same callback,\n\t// because updates are batched after the render and changes in different query properties\n\t// would cause to override previous wanted changes.\n\tconst updateQuery = useCallback(\n\t\t( newQuery ) => setAttributes( { query: { ...query, ...newQuery } } ),\n\t\t[ query, setAttributes ]\n\t);\n\tuseEffect( () => {\n\t\tconst newQuery = {};\n\t\t// When we inherit from global query always need to set the `perPage`\n\t\t// based on the reading settings.\n\t\tif ( inherit && query.perPage !== postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t} else if ( ! query.perPage && postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t}\n\t\t// We need to reset the `inherit` value if in a singular template, as queries\n\t\t// are not inherited when in singular content (e.g. post, page, 404, blank).\n\t\tif ( isSingular && query.inherit ) {\n\t\t\tnewQuery.inherit = false;\n\t\t}\n\t\tif ( !! Object.keys( newQuery ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateQuery( newQuery );\n\t\t}\n\t}, [\n\t\tquery.perPage,\n\t\tquery.inherit,\n\t\tpostsPerPage,\n\t\tinherit,\n\t\tisSingular,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tupdateQuery,\n\t] );\n\t// We need this for multi-query block pagination.\n\t// Query parameters for each block are scoped to their ID.\n\tuseEffect( () => {\n\t\tif ( ! Number.isFinite( queryId ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { queryId: instanceId } );\n\t\t}\n\t}, [\n\t\tqueryId,\n\t\tinstanceId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetAttributes,\n\t] );\n\tconst updateDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tdisplayLayout: { ...displayLayout, ...newDisplayLayout },\n\t\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<EnhancedPaginationModal\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<QueryInspectorControls\n\t\t\t\t\tname={ name }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\t\tsetDisplayLayout={ updateDisplayLayout }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSingular={ isSingular }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar attributes={ attributes } clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ TagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ TagName ] }\n\t\t\t\t/>\n\t\t\t\t<EnhancedPaginationControl\n\t\t\t\t\tenhancedPagination={ enhancedPagination }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_data","require","_compose","_element","_blockEditor","_components","_i18n","_coreData","_enhancedPaginationControl","_interopRequireDefault","_inspectorControls","_enhancedPaginationModal","_utils","_queryToolbar","_messages","_jsxRuntime","DEFAULTS_POSTS_PER_PAGE","TEMPLATE","QueryContent","attributes","setAttributes","clientId","context","name","queryId","query","displayLayout","enhancedPagination","tagName","TagName","inherit","templateSlug","isSingular","getQueryContextFromTemplate","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","instanceId","useInstanceId","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","template","postsPerPage","useSelect","select","getSettings","getEntityRecord","getEntityRecordEdits","canUser","coreStore","settingPerPage","kind","posts_per_page","editedSettingPerPage","updateQuery","useCallback","newQuery","useEffect","perPage","Object","keys","length","Number","isFinite","updateDisplayLayout","newDisplayLayout","jsxs","Fragment","children","jsx","default","InspectorControls","setQuery","setDisplayLayout","BlockControls","group","SelectControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","__","options","value","onChange","help","htmlElementMessages"],"sources":["@wordpress/block-library/src/query/edit/query-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect, useCallback } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport EnhancedPaginationControl from './inspector-controls/enhanced-pagination-control';\nimport QueryInspectorControls from './inspector-controls';\nimport EnhancedPaginationModal from './enhanced-pagination-modal';\nimport { getQueryContextFromTemplate } from '../utils';\nimport QueryToolbar from './query-toolbar';\nimport { htmlElementMessages } from '../../utils/messages';\n\nconst DEFAULTS_POSTS_PER_PAGE = 3;\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport default function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tcontext,\n\tname,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tdisplayLayout,\n\t\tenhancedPagination,\n\t\ttagName: TagName = 'div',\n\t\tquery: { inherit } = {},\n\t} = attributes;\n\tconst { templateSlug } = context;\n\tconst { isSingular } = getQueryContextFromTemplate( templateSlug );\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst instanceId = useInstanceId( QueryContent );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\tconst { postsPerPage } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { getEntityRecord, getEntityRecordEdits, canUser } =\n\t\t\tselect( coreStore );\n\t\tconst settingPerPage = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} )\n\t\t\t? +getEntityRecord( 'root', 'site' )?.posts_per_page\n\t\t\t: +getSettings().postsPerPage;\n\n\t\t// Gets changes made via the template area posts per page setting. These won't be saved\n\t\t// until the page is saved, but we should reflect this setting within the query loops\n\t\t// that inherit it.\n\t\tconst editedSettingPerPage = +getEntityRecordEdits( 'root', 'site' )\n\t\t\t?.posts_per_page;\n\n\t\treturn {\n\t\t\tpostsPerPage:\n\t\t\t\teditedSettingPerPage ||\n\t\t\t\tsettingPerPage ||\n\t\t\t\tDEFAULTS_POSTS_PER_PAGE,\n\t\t};\n\t}, [] );\n\t// There are some effects running where some initialization logic is\n\t// happening and setting some values to some attributes (ex. queryId).\n\t// These updates can cause an `undo trap` where undoing will result in\n\t// resetting again, so we need to mark these changes as not persistent\n\t// with `__unstableMarkNextChangeAsNotPersistent`.\n\n\t// Changes in query property (which is an object) need to be in the same callback,\n\t// because updates are batched after the render and changes in different query properties\n\t// would cause to override previous wanted changes.\n\tconst updateQuery = useCallback(\n\t\t( newQuery ) => setAttributes( { query: { ...query, ...newQuery } } ),\n\t\t[ query, setAttributes ]\n\t);\n\tuseEffect( () => {\n\t\tconst newQuery = {};\n\t\t// When we inherit from global query always need to set the `perPage`\n\t\t// based on the reading settings.\n\t\tif ( inherit && query.perPage !== postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t} else if ( ! query.perPage && postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t}\n\n\t\tif ( !! Object.keys( newQuery ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateQuery( newQuery );\n\t\t}\n\t}, [\n\t\tquery.perPage,\n\t\tinherit,\n\t\tpostsPerPage,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tupdateQuery,\n\t] );\n\t// We need this for multi-query block pagination.\n\t// Query parameters for each block are scoped to their ID.\n\tuseEffect( () => {\n\t\tif ( ! Number.isFinite( queryId ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { queryId: instanceId } );\n\t\t}\n\t}, [\n\t\tqueryId,\n\t\tinstanceId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetAttributes,\n\t] );\n\tconst updateDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tdisplayLayout: { ...displayLayout, ...newDisplayLayout },\n\t\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<EnhancedPaginationModal\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<QueryInspectorControls\n\t\t\t\t\tname={ name }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\t\tsetDisplayLayout={ updateDisplayLayout }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSingular={ isSingular }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar attributes={ attributes } clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ TagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ TagName ] }\n\t\t\t\t/>\n\t\t\t\t<EnhancedPaginationControl\n\t\t\t\t\tenhancedPagination={ enhancedPagination }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAOA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAKA,IAAAO,0BAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,kBAAA,GAAAD,sBAAA,CAAAR,OAAA;AACA,IAAAU,wBAAA,GAAAF,sBAAA,CAAAR,OAAA;AACA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,aAAA,GAAAJ,sBAAA,CAAAR,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AAA2D,IAAAc,WAAA,GAAAd,OAAA;AAzB3D;AACA;AACA;;AAeA;AACA;AACA;;AAQA,MAAMe,uBAAuB,GAAG,CAAC;AAEjC,MAAMC,QAAQ,GAAG,CAAE,CAAE,oBAAoB,CAAE,CAAE;AAC9B,SAASC,YAAYA,CAAE;EACrCC,UAAU;EACVC,aAAa;EACbC,QAAQ;EACRC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAM;IACLC,OAAO;IACPC,KAAK;IACLC,aAAa;IACbC,kBAAkB;IAClBC,OAAO,EAAEC,OAAO,GAAG,KAAK;IACxBJ,KAAK,EAAE;MAAEK;IAAQ,CAAC,GAAG,CAAC;EACvB,CAAC,GAAGX,UAAU;EACd,MAAM;IAAEY;EAAa,CAAC,GAAGT,OAAO;EAChC,MAAM;IAAEU;EAAW,CAAC,GAAG,IAAAC,kCAA2B,EAAEF,YAAa,CAAC;EAClE,MAAM;IAAEG;EAAwC,CAAC,GAChD,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAChC,MAAMC,UAAU,GAAG,IAAAC,sBAAa,EAAEpB,YAAa,CAAC;EAChD,MAAMqB,UAAU,GAAG,IAAAC,0BAAa,EAAC,CAAC;EAClC,MAAMC,gBAAgB,GAAG,IAAAC,gCAAmB,EAAEH,UAAU,EAAE;IACzDI,QAAQ,EAAE1B;EACX,CAAE,CAAC;EACH,MAAM;IAAE2B;EAAa,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACjD,MAAM;MAAEC;IAAY,CAAC,GAAGD,MAAM,CAAEV,kBAAiB,CAAC;IAClD,MAAM;MAAEY,eAAe;MAAEC,oBAAoB;MAAEC;IAAQ,CAAC,GACvDJ,MAAM,CAAEK,eAAU,CAAC;IACpB,MAAMC,cAAc,GAAGF,OAAO,CAAE,MAAM,EAAE;MACvCG,IAAI,EAAE,MAAM;MACZ9B,IAAI,EAAE;IACP,CAAE,CAAC,GACA,CAACyB,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC,EAAEM,cAAc,GAClD,CAACP,WAAW,CAAC,CAAC,CAACH,YAAY;;IAE9B;IACA;IACA;IACA,MAAMW,oBAAoB,GAAG,CAACN,oBAAoB,CAAE,MAAM,EAAE,MAAO,CAAC,EACjEK,cAAc;IAEjB,OAAO;MACNV,YAAY,EACXW,oBAAoB,IACpBH,cAAc,IACdpC;IACF,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA,MAAMwC,WAAW,GAAG,IAAAC,oBAAW,EAC5BC,QAAQ,IAAMtC,aAAa,CAAE;IAAEK,KAAK,EAAE;MAAE,GAAGA,KAAK;MAAE,GAAGiC;IAAS;EAAE,CAAE,CAAC,EACrE,CAAEjC,KAAK,EAAEL,aAAa,CACvB,CAAC;EACD,IAAAuC,kBAAS,EAAE,MAAM;IAChB,MAAMD,QAAQ,GAAG,CAAC,CAAC;IACnB;IACA;IACA,IAAK5B,OAAO,IAAIL,KAAK,CAACmC,OAAO,KAAKhB,YAAY,EAAG;MAChDc,QAAQ,CAACE,OAAO,GAAGhB,YAAY;IAChC,CAAC,MAAM,IAAK,CAAEnB,KAAK,CAACmC,OAAO,IAAIhB,YAAY,EAAG;MAC7Cc,QAAQ,CAACE,OAAO,GAAGhB,YAAY;IAChC;IAEA,IAAK,CAAC,CAAEiB,MAAM,CAACC,IAAI,CAAEJ,QAAS,CAAC,CAACK,MAAM,EAAG;MACxC7B,uCAAuC,CAAC,CAAC;MACzCsB,WAAW,CAAEE,QAAS,CAAC;IACxB;EACD,CAAC,EAAE,CACFjC,KAAK,CAACmC,OAAO,EACb9B,OAAO,EACPc,YAAY,EACZV,uCAAuC,EACvCsB,WAAW,CACV,CAAC;EACH;EACA;EACA,IAAAG,kBAAS,EAAE,MAAM;IAChB,IAAK,CAAEK,MAAM,CAACC,QAAQ,CAAEzC,OAAQ,CAAC,EAAG;MACnCU,uCAAuC,CAAC,CAAC;MACzCd,aAAa,CAAE;QAAEI,OAAO,EAAEa;MAAW,CAAE,CAAC;IACzC;EACD,CAAC,EAAE,CACFb,OAAO,EACPa,UAAU,EACVH,uCAAuC,EACvCd,aAAa,CACZ,CAAC;EACH,MAAM8C,mBAAmB,GAAKC,gBAAgB,IAC7C/C,aAAa,CAAE;IACdM,aAAa,EAAE;MAAE,GAAGA,aAAa;MAAE,GAAGyC;IAAiB;EACxD,CAAE,CAAC;EAEJ,oBACC,IAAApD,WAAA,CAAAqD,IAAA,EAAArD,WAAA,CAAAsD,QAAA;IAAAC,QAAA,gBACC,IAAAvD,WAAA,CAAAwD,GAAA,EAAC5D,wBAAA,CAAA6D,OAAuB;MACvBrD,UAAU,EAAGA,UAAY;MACzBC,aAAa,EAAGA,aAAe;MAC/BC,QAAQ,EAAGA;IAAU,CACrB,CAAC,eACF,IAAAN,WAAA,CAAAwD,GAAA,EAACnE,YAAA,CAAAqE,iBAAiB;MAAAH,QAAA,eACjB,IAAAvD,WAAA,CAAAwD,GAAA,EAAC7D,kBAAA,CAAA8D,OAAsB;QACtBjD,IAAI,EAAGA,IAAM;QACbJ,UAAU,EAAGA,UAAY;QACzBuD,QAAQ,EAAGlB,WAAa;QACxBmB,gBAAgB,EAAGT,mBAAqB;QACxC9C,aAAa,EAAGA,aAAe;QAC/BC,QAAQ,EAAGA,QAAU;QACrBW,UAAU,EAAGA;MAAY,CACzB;IAAC,CACgB,CAAC,eACpB,IAAAjB,WAAA,CAAAwD,GAAA,EAACnE,YAAA,CAAAwE,aAAa;MAAAN,QAAA,eACb,IAAAvD,WAAA,CAAAwD,GAAA,EAAC1D,aAAA,CAAA2D,OAAY;QAACrD,UAAU,EAAGA,UAAY;QAACE,QAAQ,EAAGA;MAAU,CAAE;IAAC,CAClD,CAAC,eAChB,IAAAN,WAAA,CAAAqD,IAAA,EAAChE,YAAA,CAAAqE,iBAAiB;MAACI,KAAK,EAAC,UAAU;MAAAP,QAAA,gBAClC,IAAAvD,WAAA,CAAAwD,GAAA,EAAClE,WAAA,CAAAyE,aAAa;QACbC,uBAAuB;QACvBC,qBAAqB;QACrBC,KAAK,EAAG,IAAAC,QAAE,EAAE,cAAe,CAAG;QAC9BC,OAAO,EAAG,CACT;UAAEF,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB,CAAC;UAAEE,KAAK,EAAE;QAAM,CAAC,EAChD;UAAEH,KAAK,EAAE,QAAQ;UAAEG,KAAK,EAAE;QAAO,CAAC,EAClC;UAAEH,KAAK,EAAE,WAAW;UAAEG,KAAK,EAAE;QAAU,CAAC,EACxC;UAAEH,KAAK,EAAE,SAAS;UAAEG,KAAK,EAAE;QAAQ,CAAC,CAClC;QACHA,KAAK,EAAGvD,OAAS;QACjBwD,QAAQ,EAAKD,KAAK,IACjBhE,aAAa,CAAE;UAAEQ,OAAO,EAAEwD;QAAM,CAAE,CAClC;QACDE,IAAI,EAAGC,6BAAmB,CAAE1D,OAAO;MAAI,CACvC,CAAC,eACF,IAAAd,WAAA,CAAAwD,GAAA,EAAC/D,0BAAA,CAAAgE,OAAyB;QACzB7C,kBAAkB,EAAGA,kBAAoB;QACzCP,aAAa,EAAGA,aAAe;QAC/BC,QAAQ,EAAGA;MAAU,CACrB,CAAC;IAAA,CACgB,CAAC,eACpB,IAAAN,WAAA,CAAAwD,GAAA,EAAC1C,OAAO;MAAA,GAAMY;IAAgB,CAAI,CAAC;EAAA,CAClC,CAAC;AAEL","ignoreList":[]}
|
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { RichText, useBlockProps, useInnerBlocksProps, InspectorControls } from '@wordpress/block-editor';
|
|
5
|
-
import { TextControl, ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
4
|
+
import { RichText, useBlockProps, useInnerBlocksProps, InspectorControls, store as blockEditorStore } from '@wordpress/block-editor';
|
|
5
|
+
import { TextControl, ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, privateApis as componentsPrivateApis } from '@wordpress/components';
|
|
6
6
|
import { __ } from '@wordpress/i18n';
|
|
7
7
|
import { useState } from '@wordpress/element';
|
|
8
|
+
import { useSelect } from '@wordpress/data';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Internal dependencies
|
|
11
12
|
*/
|
|
12
13
|
import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
14
|
+
import { unlock } from '../lock-unlock';
|
|
13
15
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
16
|
+
const {
|
|
17
|
+
withIgnoreIMEEvents
|
|
18
|
+
} = unlock(componentsPrivateApis);
|
|
14
19
|
const TEMPLATE = [['core/paragraph', {
|
|
15
20
|
placeholder: __('Type / to add a hidden block')
|
|
16
21
|
}]];
|
|
17
22
|
function DetailsEdit({
|
|
18
23
|
attributes,
|
|
19
|
-
setAttributes
|
|
24
|
+
setAttributes,
|
|
25
|
+
clientId
|
|
20
26
|
}) {
|
|
21
27
|
const {
|
|
22
28
|
name,
|
|
@@ -33,6 +39,22 @@ function DetailsEdit({
|
|
|
33
39
|
});
|
|
34
40
|
const [isOpen, setIsOpen] = useState(showContent);
|
|
35
41
|
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
42
|
+
|
|
43
|
+
// Check if the inner blocks are selected.
|
|
44
|
+
const hasSelectedInnerBlock = useSelect(select => select(blockEditorStore).hasSelectedInnerBlock(clientId, true), [clientId]);
|
|
45
|
+
const handleSummaryKeyDown = event => {
|
|
46
|
+
if (event.key === 'Enter' && !event.shiftKey) {
|
|
47
|
+
setIsOpen(prevIsOpen => !prevIsOpen);
|
|
48
|
+
event.preventDefault();
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// Prevent spacebar from toggling <details> while typing.
|
|
53
|
+
const handleSummaryKeyUp = event => {
|
|
54
|
+
if (event.key === ' ') {
|
|
55
|
+
event.preventDefault();
|
|
56
|
+
}
|
|
57
|
+
};
|
|
36
58
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
37
59
|
children: [/*#__PURE__*/_jsx(InspectorControls, {
|
|
38
60
|
children: /*#__PURE__*/_jsx(ToolsPanel, {
|
|
@@ -76,17 +98,15 @@ function DetailsEdit({
|
|
|
76
98
|
})
|
|
77
99
|
}), /*#__PURE__*/_jsxs("details", {
|
|
78
100
|
...innerBlocksProps,
|
|
79
|
-
open: isOpen,
|
|
101
|
+
open: isOpen || hasSelectedInnerBlock,
|
|
102
|
+
onToggle: event => setIsOpen(event.target.open),
|
|
80
103
|
children: [/*#__PURE__*/_jsx("summary", {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
setIsOpen(!isOpen);
|
|
84
|
-
},
|
|
104
|
+
onKeyDown: withIgnoreIMEEvents(handleSummaryKeyDown),
|
|
105
|
+
onKeyUp: handleSummaryKeyUp,
|
|
85
106
|
children: /*#__PURE__*/_jsx(RichText, {
|
|
86
107
|
identifier: "summary",
|
|
87
|
-
"aria-label": __('Write summary'),
|
|
108
|
+
"aria-label": __('Write summary. Press Enter to expand or collapse the details.'),
|
|
88
109
|
placeholder: placeholder || __('Write summary…'),
|
|
89
|
-
allowedFormats: [],
|
|
90
110
|
withoutInteractiveFormatting: true,
|
|
91
111
|
value: summary,
|
|
92
112
|
onChange: newSummary => setAttributes({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RichText","useBlockProps","useInnerBlocksProps","InspectorControls","TextControl","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","useState","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TEMPLATE","placeholder","DetailsEdit","attributes","setAttributes","name","showContent","summary","allowedBlocks","blockProps","innerBlocksProps","template","__experimentalCaptureToolbars","isOpen","setIsOpen","dropdownMenuProps","children","label","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","checked","onChange","group","__next40pxDefaultSize","value","newName","help","open","
|
|
1
|
+
{"version":3,"names":["RichText","useBlockProps","useInnerBlocksProps","InspectorControls","store","blockEditorStore","TextControl","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","privateApis","componentsPrivateApis","__","useState","useSelect","useToolsPanelDropdownMenuProps","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","withIgnoreIMEEvents","TEMPLATE","placeholder","DetailsEdit","attributes","setAttributes","clientId","name","showContent","summary","allowedBlocks","blockProps","innerBlocksProps","template","__experimentalCaptureToolbars","isOpen","setIsOpen","dropdownMenuProps","hasSelectedInnerBlock","select","handleSummaryKeyDown","event","key","shiftKey","prevIsOpen","preventDefault","handleSummaryKeyUp","children","label","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","checked","onChange","group","__next40pxDefaultSize","value","newName","help","open","onToggle","target","onKeyDown","onKeyUp","identifier","withoutInteractiveFormatting","newSummary"],"sources":["@wordpress/block-library/src/details/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\nconst { withIgnoreIMEEvents } = unlock( componentsPrivateApis );\n\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: __( 'Type / to add a hidden block' ),\n\t\t},\n\t],\n];\n\nfunction DetailsEdit( { attributes, setAttributes, clientId } ) {\n\tconst { name, showContent, summary, allowedBlocks, placeholder } =\n\t\tattributes;\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\t__experimentalCaptureToolbars: true,\n\t\tallowedBlocks,\n\t} );\n\tconst [ isOpen, setIsOpen ] = useState( showContent );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Check if the inner blocks are selected.\n\tconst hasSelectedInnerBlock = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).hasSelectedInnerBlock( clientId, true ),\n\t\t[ clientId ]\n\t);\n\n\tconst handleSummaryKeyDown = ( event ) => {\n\t\tif ( event.key === 'Enter' && ! event.shiftKey ) {\n\t\t\tsetIsOpen( ( prevIsOpen ) => ! prevIsOpen );\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\t// Prevent spacebar from toggling <details> while typing.\n\tconst handleSummaryKeyUp = ( event ) => {\n\t\tif ( event.key === ' ' ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\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\tshowContent: false,\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\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\thasValue={ () => showContent }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowContent: false,\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\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\t\tchecked={ showContent }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowContent: ! showContent,\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</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Name attribute' ) }\n\t\t\t\t\tvalue={ name || '' }\n\t\t\t\t\tonChange={ ( newName ) =>\n\t\t\t\t\t\tsetAttributes( { name: newName } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Enables multiple Details blocks with the same name attribute to be connected, with only one open at a time.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<details\n\t\t\t\t{ ...innerBlocksProps }\n\t\t\t\topen={ isOpen || hasSelectedInnerBlock }\n\t\t\t\tonToggle={ ( event ) => setIsOpen( event.target.open ) }\n\t\t\t>\n\t\t\t\t<summary\n\t\t\t\t\tonKeyDown={ withIgnoreIMEEvents( handleSummaryKeyDown ) }\n\t\t\t\t\tonKeyUp={ handleSummaryKeyUp }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"summary\"\n\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t'Write summary. Press Enter to expand or collapse the details.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tplaceholder={ placeholder || __( 'Write summary…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ summary }\n\t\t\t\t\t\tonChange={ ( newSummary ) =>\n\t\t\t\t\t\t\tsetAttributes( { summary: newSummary } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</summary>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t</details>\n\t\t</>\n\t);\n}\n\nexport default DetailsEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -250,16 +250,6 @@ const variations = [{
|
|
|
250
250
|
providerNameSlug: 'reverbnation',
|
|
251
251
|
responsive: true
|
|
252
252
|
}
|
|
253
|
-
}, {
|
|
254
|
-
name: 'screencast',
|
|
255
|
-
title: getTitle('Screencast'),
|
|
256
|
-
icon: embedVideoIcon,
|
|
257
|
-
description: __('Embed Screencast content.'),
|
|
258
|
-
patterns: [/^https?:\/\/(www\.)?screencast\.com\/.+/i],
|
|
259
|
-
attributes: {
|
|
260
|
-
providerNameSlug: 'screencast',
|
|
261
|
-
responsive: true
|
|
262
|
-
}
|
|
263
253
|
}, {
|
|
264
254
|
name: 'scribd',
|
|
265
255
|
title: getTitle('Scribd'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","sprintf","embedContentIcon","embedAudioIcon","embedPhotoIcon","embedVideoIcon","embedTwitterIcon","embedYouTubeIcon","embedFacebookIcon","embedInstagramIcon","embedWordPressIcon","embedSpotifyIcon","embedFlickrIcon","embedVimeoIcon","embedRedditIcon","embedTumblrIcon","embedAmazonIcon","embedAnimotoIcon","embedDailymotionIcon","embedPinterestIcon","embedWolframIcon","embedPocketCastsIcon","embedBlueskyIcon","getTitle","providerName","variations","name","title","icon","keywords","description","patterns","attributes","providerNameSlug","responsive","scope","previewable","forEach","variation","isActive","blockAttributes","variationAttributes"],"sources":["@wordpress/block-library/src/embed/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tembedContentIcon,\n\tembedAudioIcon,\n\tembedPhotoIcon,\n\tembedVideoIcon,\n\tembedTwitterIcon,\n\tembedYouTubeIcon,\n\tembedFacebookIcon,\n\tembedInstagramIcon,\n\tembedWordPressIcon,\n\tembedSpotifyIcon,\n\tembedFlickrIcon,\n\tembedVimeoIcon,\n\tembedRedditIcon,\n\tembedTumblrIcon,\n\tembedAmazonIcon,\n\tembedAnimotoIcon,\n\tembedDailymotionIcon,\n\tembedPinterestIcon,\n\tembedWolframIcon,\n\tembedPocketCastsIcon,\n\tembedBlueskyIcon,\n} from './icons';\n\n/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */\n\nfunction getTitle( providerName ) {\n\treturn sprintf(\n\t\t/* translators: %s: provider name */\n\t\t__( '%s Embed' ),\n\t\tproviderName\n\t);\n}\n\n/**\n * The embed provider services.\n *\n * @type {WPBlockVariation[]}\n */\nconst variations = [\n\t{\n\t\tname: 'twitter',\n\t\ttitle: getTitle( 'Twitter' ),\n\t\ticon: embedTwitterIcon,\n\t\tkeywords: [ 'tweet', __( 'social' ) ],\n\t\tdescription: __( 'Embed a tweet.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?twitter\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'twitter', responsive: true },\n\t},\n\t{\n\t\tname: 'youtube',\n\t\ttitle: getTitle( 'YouTube' ),\n\t\ticon: embedYouTubeIcon,\n\t\tkeywords: [ __( 'music' ), __( 'video' ) ],\n\t\tdescription: __( 'Embed a YouTube video.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/((m|www)\\.)?youtube\\.com\\/.+/i,\n\t\t\t/^https?:\\/\\/youtu\\.be\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'youtube', responsive: true },\n\t},\n\t{\n\t\t// Deprecate Facebook Embed per FB policy\n\t\t// See: https://developers.facebook.com/docs/plugins/oembed-legacy\n\t\tname: 'facebook',\n\t\ttitle: getTitle( 'Facebook' ),\n\t\ticon: embedFacebookIcon,\n\t\tkeywords: [ __( 'social' ) ],\n\t\tdescription: __( 'Embed a Facebook post.' ),\n\t\tscope: [ 'block' ],\n\t\tpatterns: [],\n\t\tattributes: {\n\t\t\tproviderNameSlug: 'facebook',\n\t\t\tpreviewable: false,\n\t\t\tresponsive: true,\n\t\t},\n\t},\n\t{\n\t\t// Deprecate Instagram per FB policy\n\t\t// See: https://developers.facebook.com/docs/instagram/oembed-legacy\n\t\tname: 'instagram',\n\t\ttitle: getTitle( 'Instagram' ),\n\t\ticon: embedInstagramIcon,\n\t\tkeywords: [ __( 'image' ), __( 'social' ) ],\n\t\tdescription: __( 'Embed an Instagram post.' ),\n\t\tscope: [ 'block' ],\n\t\tpatterns: [],\n\t\tattributes: { providerNameSlug: 'instagram', responsive: true },\n\t},\n\t{\n\t\tname: 'wordpress',\n\t\ttitle: getTitle( 'WordPress' ),\n\t\ticon: embedWordPressIcon,\n\t\tkeywords: [ __( 'post' ), __( 'blog' ) ],\n\t\tdescription: __( 'Embed a WordPress post.' ),\n\t\tattributes: {\n\t\t\tproviderNameSlug: 'wordpress',\n\t\t},\n\t},\n\t{\n\t\tname: 'soundcloud',\n\t\ttitle: getTitle( 'SoundCloud' ),\n\t\ticon: embedAudioIcon,\n\t\tkeywords: [ __( 'music' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed SoundCloud content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?soundcloud\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'soundcloud', responsive: true },\n\t},\n\t{\n\t\tname: 'spotify',\n\t\ttitle: getTitle( 'Spotify' ),\n\t\ticon: embedSpotifyIcon,\n\t\tkeywords: [ __( 'music' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed Spotify content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(open|play)\\.spotify\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'spotify', responsive: true },\n\t},\n\t{\n\t\tname: 'flickr',\n\t\ttitle: getTitle( 'Flickr' ),\n\t\ticon: embedFlickrIcon,\n\t\tkeywords: [ __( 'image' ) ],\n\t\tdescription: __( 'Embed Flickr content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/(www\\.)?flickr\\.com\\/.+/i,\n\t\t\t/^https?:\\/\\/flic\\.kr\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'flickr', responsive: true },\n\t},\n\t{\n\t\tname: 'vimeo',\n\t\ttitle: getTitle( 'Vimeo' ),\n\t\ticon: embedVimeoIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a Vimeo video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?vimeo\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'vimeo', responsive: true },\n\t},\n\t{\n\t\tname: 'animoto',\n\t\ttitle: getTitle( 'Animoto' ),\n\t\ticon: embedAnimotoIcon,\n\t\tdescription: __( 'Embed an Animoto video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?(animoto|video214)\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'animoto', responsive: true },\n\t},\n\t{\n\t\tname: 'cloudup',\n\t\ttitle: getTitle( 'Cloudup' ),\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Cloudup content.' ),\n\t\tpatterns: [ /^https?:\\/\\/cloudup\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'cloudup', responsive: true },\n\t},\n\t{\n\t\t// Deprecated since CollegeHumor content is now powered by YouTube.\n\t\tname: 'collegehumor',\n\t\ttitle: getTitle( 'CollegeHumor' ),\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed CollegeHumor content.' ),\n\t\tscope: [ 'block' ],\n\t\tpatterns: [],\n\t\tattributes: { providerNameSlug: 'collegehumor', responsive: true },\n\t},\n\t{\n\t\tname: 'crowdsignal',\n\t\ttitle: getTitle( 'Crowdsignal' ),\n\t\ticon: embedContentIcon,\n\t\tkeywords: [ 'polldaddy', __( 'survey' ) ],\n\t\tdescription: __( 'Embed Crowdsignal (formerly Polldaddy) content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/((.+\\.)?polldaddy\\.com|poll\\.fm|.+\\.crowdsignal\\.net|.+\\.survey\\.fm)\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'crowdsignal', responsive: true },\n\t},\n\t{\n\t\tname: 'dailymotion',\n\t\ttitle: getTitle( 'Dailymotion' ),\n\t\ticon: embedDailymotionIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a Dailymotion video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?dailymotion\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'dailymotion', responsive: true },\n\t},\n\t{\n\t\tname: 'imgur',\n\t\ttitle: getTitle( 'Imgur' ),\n\t\ticon: embedPhotoIcon,\n\t\tdescription: __( 'Embed Imgur content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(.+\\.)?imgur\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'imgur', responsive: true },\n\t},\n\t{\n\t\tname: 'issuu',\n\t\ttitle: getTitle( 'Issuu' ),\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Issuu content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?issuu\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'issuu', responsive: true },\n\t},\n\t{\n\t\tname: 'kickstarter',\n\t\ttitle: getTitle( 'Kickstarter' ),\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Kickstarter content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/(www\\.)?kickstarter\\.com\\/.+/i,\n\t\t\t/^https?:\\/\\/kck\\.st\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'kickstarter', responsive: true },\n\t},\n\t{\n\t\tname: 'mixcloud',\n\t\ttitle: getTitle( 'Mixcloud' ),\n\t\ticon: embedAudioIcon,\n\t\tkeywords: [ __( 'music' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed Mixcloud content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?mixcloud\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'mixcloud', responsive: true },\n\t},\n\t{\n\t\tname: 'pocket-casts',\n\t\ttitle: getTitle( 'Pocket Casts' ),\n\t\ticon: embedPocketCastsIcon,\n\t\tkeywords: [ __( 'podcast' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed a podcast player from Pocket Casts.' ),\n\t\tpatterns: [ /^https:\\/\\/pca.st\\/\\w+/i ],\n\t\tattributes: { providerNameSlug: 'pocket-casts', responsive: true },\n\t},\n\t{\n\t\tname: 'reddit',\n\t\ttitle: getTitle( 'Reddit' ),\n\t\ticon: embedRedditIcon,\n\t\tdescription: __( 'Embed a Reddit thread.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?reddit\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'reddit', responsive: true },\n\t},\n\t{\n\t\tname: 'reverbnation',\n\t\ttitle: getTitle( 'ReverbNation' ),\n\t\ticon: embedAudioIcon,\n\t\tdescription: __( 'Embed ReverbNation content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?reverbnation\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'reverbnation', responsive: true },\n\t},\n\t{\n\t\tname: 'screencast',\n\t\ttitle: getTitle( 'Screencast' ),\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed Screencast content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?screencast\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'screencast', responsive: true },\n\t},\n\t{\n\t\tname: 'scribd',\n\t\ttitle: getTitle( 'Scribd' ),\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Scribd content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?scribd\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'scribd', responsive: true },\n\t},\n\t{\n\t\tname: 'smugmug',\n\t\ttitle: getTitle( 'SmugMug' ),\n\t\ticon: embedPhotoIcon,\n\t\tdescription: __( 'Embed SmugMug content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(.+\\.)?smugmug\\.com\\/.*/i ],\n\t\tattributes: {\n\t\t\tproviderNameSlug: 'smugmug',\n\t\t\tpreviewable: false,\n\t\t\tresponsive: true,\n\t\t},\n\t},\n\t{\n\t\tname: 'speaker-deck',\n\t\ttitle: getTitle( 'Speaker Deck' ),\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Speaker Deck content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?speakerdeck\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'speaker-deck', responsive: true },\n\t},\n\t{\n\t\tname: 'tiktok',\n\t\ttitle: getTitle( 'TikTok' ),\n\t\ticon: embedVideoIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a TikTok video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?tiktok\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'tiktok', responsive: true },\n\t},\n\t{\n\t\tname: 'ted',\n\t\ttitle: getTitle( 'TED' ),\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed a TED video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.|embed\\.)?ted\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'ted', responsive: true },\n\t},\n\t{\n\t\tname: 'tumblr',\n\t\ttitle: getTitle( 'Tumblr' ),\n\t\ticon: embedTumblrIcon,\n\t\tkeywords: [ __( 'social' ) ],\n\t\tdescription: __( 'Embed a Tumblr post.' ),\n\t\tpatterns: [ /^https?:\\/\\/(.+)\\.tumblr\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'tumblr', responsive: true },\n\t},\n\t{\n\t\tname: 'videopress',\n\t\ttitle: getTitle( 'VideoPress' ),\n\t\ticon: embedVideoIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a VideoPress video.' ),\n\t\tpatterns: [ /^https?:\\/\\/videopress\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'videopress', responsive: true },\n\t},\n\t{\n\t\tname: 'wordpress-tv',\n\t\ttitle: getTitle( 'WordPress.tv' ),\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed a WordPress.tv video.' ),\n\t\tpatterns: [ /^https?:\\/\\/wordpress\\.tv\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'wordpress-tv', responsive: true },\n\t},\n\t{\n\t\tname: 'amazon-kindle',\n\t\ttitle: getTitle( 'Amazon Kindle' ),\n\t\ticon: embedAmazonIcon,\n\t\tkeywords: [ __( 'ebook' ) ],\n\t\tdescription: __( 'Embed Amazon Kindle content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/([a-z0-9-]+\\.)?(amazon|amzn)(\\.[a-z]{2,4})+\\/.+/i,\n\t\t\t/^https?:\\/\\/(www\\.)?(a\\.co|z\\.cn)\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'amazon-kindle' },\n\t},\n\t{\n\t\tname: 'pinterest',\n\t\ttitle: getTitle( 'Pinterest' ),\n\t\ticon: embedPinterestIcon,\n\t\tkeywords: [ __( 'social' ), __( 'bookmark' ) ],\n\t\tdescription: __( 'Embed Pinterest pins, boards, and profiles.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/([a-z]{2}|www)\\.pinterest\\.com(\\.(au|mx))?\\/.*/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'pinterest' },\n\t},\n\t{\n\t\tname: 'wolfram-cloud',\n\t\ttitle: getTitle( 'Wolfram' ),\n\t\ticon: embedWolframIcon,\n\t\tdescription: __( 'Embed Wolfram notebook content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?wolframcloud\\.com\\/obj\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'wolfram-cloud', responsive: true },\n\t},\n\t{\n\t\tname: 'bluesky',\n\t\ttitle: getTitle( 'Bluesky' ),\n\t\ticon: embedBlueskyIcon,\n\t\tdescription: __( 'Embed a Bluesky post.' ),\n\t\tpatterns: [ /^https?:\\/\\/bsky\\.app\\/profile\\/.+\\/post\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'bluesky' },\n\t},\n];\n\n/**\n * Add `isActive` function to all `embed` variations, if not defined.\n * `isActive` function is used to find a variation match from a created\n * Block by providing its attributes.\n */\nvariations.forEach( ( variation ) => {\n\tif ( variation.isActive ) {\n\t\treturn;\n\t}\n\tvariation.isActive = ( blockAttributes, variationAttributes ) =>\n\t\tblockAttributes.providerNameSlug ===\n\t\tvariationAttributes.providerNameSlug;\n} );\n\nexport default variations;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","sprintf","embedContentIcon","embedAudioIcon","embedPhotoIcon","embedVideoIcon","embedTwitterIcon","embedYouTubeIcon","embedFacebookIcon","embedInstagramIcon","embedWordPressIcon","embedSpotifyIcon","embedFlickrIcon","embedVimeoIcon","embedRedditIcon","embedTumblrIcon","embedAmazonIcon","embedAnimotoIcon","embedDailymotionIcon","embedPinterestIcon","embedWolframIcon","embedPocketCastsIcon","embedBlueskyIcon","getTitle","providerName","variations","name","title","icon","keywords","description","patterns","attributes","providerNameSlug","responsive","scope","previewable","forEach","variation","isActive","blockAttributes","variationAttributes"],"sources":["@wordpress/block-library/src/embed/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tembedContentIcon,\n\tembedAudioIcon,\n\tembedPhotoIcon,\n\tembedVideoIcon,\n\tembedTwitterIcon,\n\tembedYouTubeIcon,\n\tembedFacebookIcon,\n\tembedInstagramIcon,\n\tembedWordPressIcon,\n\tembedSpotifyIcon,\n\tembedFlickrIcon,\n\tembedVimeoIcon,\n\tembedRedditIcon,\n\tembedTumblrIcon,\n\tembedAmazonIcon,\n\tembedAnimotoIcon,\n\tembedDailymotionIcon,\n\tembedPinterestIcon,\n\tembedWolframIcon,\n\tembedPocketCastsIcon,\n\tembedBlueskyIcon,\n} from './icons';\n\n/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */\n\nfunction getTitle( providerName ) {\n\treturn sprintf(\n\t\t/* translators: %s: provider name */\n\t\t__( '%s Embed' ),\n\t\tproviderName\n\t);\n}\n\n/**\n * The embed provider services.\n *\n * @type {WPBlockVariation[]}\n */\nconst variations = [\n\t{\n\t\tname: 'twitter',\n\t\ttitle: getTitle( 'Twitter' ),\n\t\ticon: embedTwitterIcon,\n\t\tkeywords: [ 'tweet', __( 'social' ) ],\n\t\tdescription: __( 'Embed a tweet.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?twitter\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'twitter', responsive: true },\n\t},\n\t{\n\t\tname: 'youtube',\n\t\ttitle: getTitle( 'YouTube' ),\n\t\ticon: embedYouTubeIcon,\n\t\tkeywords: [ __( 'music' ), __( 'video' ) ],\n\t\tdescription: __( 'Embed a YouTube video.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/((m|www)\\.)?youtube\\.com\\/.+/i,\n\t\t\t/^https?:\\/\\/youtu\\.be\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'youtube', responsive: true },\n\t},\n\t{\n\t\t// Deprecate Facebook Embed per FB policy\n\t\t// See: https://developers.facebook.com/docs/plugins/oembed-legacy\n\t\tname: 'facebook',\n\t\ttitle: getTitle( 'Facebook' ),\n\t\ticon: embedFacebookIcon,\n\t\tkeywords: [ __( 'social' ) ],\n\t\tdescription: __( 'Embed a Facebook post.' ),\n\t\tscope: [ 'block' ],\n\t\tpatterns: [],\n\t\tattributes: {\n\t\t\tproviderNameSlug: 'facebook',\n\t\t\tpreviewable: false,\n\t\t\tresponsive: true,\n\t\t},\n\t},\n\t{\n\t\t// Deprecate Instagram per FB policy\n\t\t// See: https://developers.facebook.com/docs/instagram/oembed-legacy\n\t\tname: 'instagram',\n\t\ttitle: getTitle( 'Instagram' ),\n\t\ticon: embedInstagramIcon,\n\t\tkeywords: [ __( 'image' ), __( 'social' ) ],\n\t\tdescription: __( 'Embed an Instagram post.' ),\n\t\tscope: [ 'block' ],\n\t\tpatterns: [],\n\t\tattributes: { providerNameSlug: 'instagram', responsive: true },\n\t},\n\t{\n\t\tname: 'wordpress',\n\t\ttitle: getTitle( 'WordPress' ),\n\t\ticon: embedWordPressIcon,\n\t\tkeywords: [ __( 'post' ), __( 'blog' ) ],\n\t\tdescription: __( 'Embed a WordPress post.' ),\n\t\tattributes: {\n\t\t\tproviderNameSlug: 'wordpress',\n\t\t},\n\t},\n\t{\n\t\tname: 'soundcloud',\n\t\ttitle: getTitle( 'SoundCloud' ),\n\t\ticon: embedAudioIcon,\n\t\tkeywords: [ __( 'music' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed SoundCloud content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?soundcloud\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'soundcloud', responsive: true },\n\t},\n\t{\n\t\tname: 'spotify',\n\t\ttitle: getTitle( 'Spotify' ),\n\t\ticon: embedSpotifyIcon,\n\t\tkeywords: [ __( 'music' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed Spotify content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(open|play)\\.spotify\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'spotify', responsive: true },\n\t},\n\t{\n\t\tname: 'flickr',\n\t\ttitle: getTitle( 'Flickr' ),\n\t\ticon: embedFlickrIcon,\n\t\tkeywords: [ __( 'image' ) ],\n\t\tdescription: __( 'Embed Flickr content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/(www\\.)?flickr\\.com\\/.+/i,\n\t\t\t/^https?:\\/\\/flic\\.kr\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'flickr', responsive: true },\n\t},\n\t{\n\t\tname: 'vimeo',\n\t\ttitle: getTitle( 'Vimeo' ),\n\t\ticon: embedVimeoIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a Vimeo video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?vimeo\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'vimeo', responsive: true },\n\t},\n\t{\n\t\tname: 'animoto',\n\t\ttitle: getTitle( 'Animoto' ),\n\t\ticon: embedAnimotoIcon,\n\t\tdescription: __( 'Embed an Animoto video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?(animoto|video214)\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'animoto', responsive: true },\n\t},\n\t{\n\t\tname: 'cloudup',\n\t\ttitle: getTitle( 'Cloudup' ),\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Cloudup content.' ),\n\t\tpatterns: [ /^https?:\\/\\/cloudup\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'cloudup', responsive: true },\n\t},\n\t{\n\t\t// Deprecated since CollegeHumor content is now powered by YouTube.\n\t\tname: 'collegehumor',\n\t\ttitle: getTitle( 'CollegeHumor' ),\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed CollegeHumor content.' ),\n\t\tscope: [ 'block' ],\n\t\tpatterns: [],\n\t\tattributes: { providerNameSlug: 'collegehumor', responsive: true },\n\t},\n\t{\n\t\tname: 'crowdsignal',\n\t\ttitle: getTitle( 'Crowdsignal' ),\n\t\ticon: embedContentIcon,\n\t\tkeywords: [ 'polldaddy', __( 'survey' ) ],\n\t\tdescription: __( 'Embed Crowdsignal (formerly Polldaddy) content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/((.+\\.)?polldaddy\\.com|poll\\.fm|.+\\.crowdsignal\\.net|.+\\.survey\\.fm)\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'crowdsignal', responsive: true },\n\t},\n\t{\n\t\tname: 'dailymotion',\n\t\ttitle: getTitle( 'Dailymotion' ),\n\t\ticon: embedDailymotionIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a Dailymotion video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?dailymotion\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'dailymotion', responsive: true },\n\t},\n\t{\n\t\tname: 'imgur',\n\t\ttitle: getTitle( 'Imgur' ),\n\t\ticon: embedPhotoIcon,\n\t\tdescription: __( 'Embed Imgur content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(.+\\.)?imgur\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'imgur', responsive: true },\n\t},\n\t{\n\t\tname: 'issuu',\n\t\ttitle: getTitle( 'Issuu' ),\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Issuu content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?issuu\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'issuu', responsive: true },\n\t},\n\t{\n\t\tname: 'kickstarter',\n\t\ttitle: getTitle( 'Kickstarter' ),\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Kickstarter content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/(www\\.)?kickstarter\\.com\\/.+/i,\n\t\t\t/^https?:\\/\\/kck\\.st\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'kickstarter', responsive: true },\n\t},\n\t{\n\t\tname: 'mixcloud',\n\t\ttitle: getTitle( 'Mixcloud' ),\n\t\ticon: embedAudioIcon,\n\t\tkeywords: [ __( 'music' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed Mixcloud content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?mixcloud\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'mixcloud', responsive: true },\n\t},\n\t{\n\t\tname: 'pocket-casts',\n\t\ttitle: getTitle( 'Pocket Casts' ),\n\t\ticon: embedPocketCastsIcon,\n\t\tkeywords: [ __( 'podcast' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed a podcast player from Pocket Casts.' ),\n\t\tpatterns: [ /^https:\\/\\/pca.st\\/\\w+/i ],\n\t\tattributes: { providerNameSlug: 'pocket-casts', responsive: true },\n\t},\n\t{\n\t\tname: 'reddit',\n\t\ttitle: getTitle( 'Reddit' ),\n\t\ticon: embedRedditIcon,\n\t\tdescription: __( 'Embed a Reddit thread.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?reddit\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'reddit', responsive: true },\n\t},\n\t{\n\t\tname: 'reverbnation',\n\t\ttitle: getTitle( 'ReverbNation' ),\n\t\ticon: embedAudioIcon,\n\t\tdescription: __( 'Embed ReverbNation content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?reverbnation\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'reverbnation', responsive: true },\n\t},\n\t{\n\t\tname: 'scribd',\n\t\ttitle: getTitle( 'Scribd' ),\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Scribd content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?scribd\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'scribd', responsive: true },\n\t},\n\t{\n\t\tname: 'smugmug',\n\t\ttitle: getTitle( 'SmugMug' ),\n\t\ticon: embedPhotoIcon,\n\t\tdescription: __( 'Embed SmugMug content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(.+\\.)?smugmug\\.com\\/.*/i ],\n\t\tattributes: {\n\t\t\tproviderNameSlug: 'smugmug',\n\t\t\tpreviewable: false,\n\t\t\tresponsive: true,\n\t\t},\n\t},\n\t{\n\t\tname: 'speaker-deck',\n\t\ttitle: getTitle( 'Speaker Deck' ),\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Speaker Deck content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?speakerdeck\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'speaker-deck', responsive: true },\n\t},\n\t{\n\t\tname: 'tiktok',\n\t\ttitle: getTitle( 'TikTok' ),\n\t\ticon: embedVideoIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a TikTok video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?tiktok\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'tiktok', responsive: true },\n\t},\n\t{\n\t\tname: 'ted',\n\t\ttitle: getTitle( 'TED' ),\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed a TED video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.|embed\\.)?ted\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'ted', responsive: true },\n\t},\n\t{\n\t\tname: 'tumblr',\n\t\ttitle: getTitle( 'Tumblr' ),\n\t\ticon: embedTumblrIcon,\n\t\tkeywords: [ __( 'social' ) ],\n\t\tdescription: __( 'Embed a Tumblr post.' ),\n\t\tpatterns: [ /^https?:\\/\\/(.+)\\.tumblr\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'tumblr', responsive: true },\n\t},\n\t{\n\t\tname: 'videopress',\n\t\ttitle: getTitle( 'VideoPress' ),\n\t\ticon: embedVideoIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a VideoPress video.' ),\n\t\tpatterns: [ /^https?:\\/\\/videopress\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'videopress', responsive: true },\n\t},\n\t{\n\t\tname: 'wordpress-tv',\n\t\ttitle: getTitle( 'WordPress.tv' ),\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed a WordPress.tv video.' ),\n\t\tpatterns: [ /^https?:\\/\\/wordpress\\.tv\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'wordpress-tv', responsive: true },\n\t},\n\t{\n\t\tname: 'amazon-kindle',\n\t\ttitle: getTitle( 'Amazon Kindle' ),\n\t\ticon: embedAmazonIcon,\n\t\tkeywords: [ __( 'ebook' ) ],\n\t\tdescription: __( 'Embed Amazon Kindle content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/([a-z0-9-]+\\.)?(amazon|amzn)(\\.[a-z]{2,4})+\\/.+/i,\n\t\t\t/^https?:\\/\\/(www\\.)?(a\\.co|z\\.cn)\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'amazon-kindle' },\n\t},\n\t{\n\t\tname: 'pinterest',\n\t\ttitle: getTitle( 'Pinterest' ),\n\t\ticon: embedPinterestIcon,\n\t\tkeywords: [ __( 'social' ), __( 'bookmark' ) ],\n\t\tdescription: __( 'Embed Pinterest pins, boards, and profiles.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/([a-z]{2}|www)\\.pinterest\\.com(\\.(au|mx))?\\/.*/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'pinterest' },\n\t},\n\t{\n\t\tname: 'wolfram-cloud',\n\t\ttitle: getTitle( 'Wolfram' ),\n\t\ticon: embedWolframIcon,\n\t\tdescription: __( 'Embed Wolfram notebook content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?wolframcloud\\.com\\/obj\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'wolfram-cloud', responsive: true },\n\t},\n\t{\n\t\tname: 'bluesky',\n\t\ttitle: getTitle( 'Bluesky' ),\n\t\ticon: embedBlueskyIcon,\n\t\tdescription: __( 'Embed a Bluesky post.' ),\n\t\tpatterns: [ /^https?:\\/\\/bsky\\.app\\/profile\\/.+\\/post\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'bluesky' },\n\t},\n];\n\n/**\n * Add `isActive` function to all `embed` variations, if not defined.\n * `isActive` function is used to find a variation match from a created\n * Block by providing its attributes.\n */\nvariations.forEach( ( variation ) => {\n\tif ( variation.isActive ) {\n\t\treturn;\n\t}\n\tvariation.isActive = ( blockAttributes, variationAttributes ) =>\n\t\tblockAttributes.providerNameSlug ===\n\t\tvariationAttributes.providerNameSlug;\n} );\n\nexport default variations;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -213,12 +213,6 @@ export function ImageEdit({
|
|
|
213
213
|
additionalAttributes = {
|
|
214
214
|
sizeSlug: newSize
|
|
215
215
|
};
|
|
216
|
-
} else {
|
|
217
|
-
// Keep the same url when selecting the same file, so "Resolution"
|
|
218
|
-
// option is not changed.
|
|
219
|
-
additionalAttributes = {
|
|
220
|
-
url
|
|
221
|
-
};
|
|
222
216
|
}
|
|
223
217
|
|
|
224
218
|
// Check if default link setting should be used.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","isBlobURL","createBlobURL","createBlock","getBlockBindingsSource","Placeholder","useDispatch","useSelect","BlockIcon","useBlockProps","MediaPlaceholder","store","blockEditorStore","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","useEffect","useRef","useState","__","sprintf","image","icon","plugins","pluginsIcon","noticesStore","useResizeObserver","useUploadMediaFromBlobURL","Image","isValidFileType","useMaxWidthObserver","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","pickRelevantMediaFiles","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","isExternalImage","id","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","__unstableParentLayout","parentLayout","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","blob","containerRef","isMaxWidthContainerWidth","type","maxWidthObserver","maxContentWidth","placeholderResizeListener","placeholderWidth","isSmallContainer","altRef","current","captionRef","__unstableMarkNextChangeAsNotPersistent","replaceBlock","undefined","getSettings","getBlockRootClientId","getBlockName","canInsertBlockType","blockEditingMode","createErrorNotice","onUploadError","message","src","onSelectImagesList","images","win","ownerDocument","defaultView","every","file","File","files","rootClientId","some","imageBlocks","map","galleryBlock","onSelectImage","media","Array","isArray","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","href","onSelectURL","newURL","allowedTypes","onChange","onError","isExternal","mediaPreview","borderProps","shadowProps","classes","style","keys","length","blockProps","ref","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","bindings","source","canUserEditValue","args","label","placeholder","content","withIllustration","instructions","objectFit","children","parentLayoutType","onSelect","accept","handleUpload","value","disableMediaButtons"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL, createBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockBindingsSource } from '@wordpress/blocks';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tuseBlockProps,\n\tMediaPlaceholder,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport Image from './image';\nimport { isValidFileType } from './utils';\nimport { useMaxWidthObserver } from './use-max-width-observer';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected: isSingleSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n\t__unstableParentLayout: parentLayout,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tconst containerRef = useRef();\n\t// Only observe the max width from the parent container when the parent layout is not flex nor grid.\n\t// This won't work for them because the container width changes with the image.\n\t// TODO: Find a way to observe the container width for flex and grid layouts.\n\tconst isMaxWidthContainerWidth =\n\t\t! parentLayout ||\n\t\t( parentLayout.type !== 'flex' && parentLayout.type !== 'grid' );\n\tconst [ maxWidthObserver, maxContentWidth ] = useMaxWidthObserver();\n\n\tconst [ placeholderResizeListener, { width: placeholderWidth } ] =\n\t\tuseResizeObserver();\n\n\tconst isSmallContainer = placeholderWidth && placeholderWidth < 160;\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent, replaceBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ __unstableMarkNextChangeAsNotPersistent, align, setAttributes ] );\n\n\tconst {\n\t\tgetSettings,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tcanInsertBlockType,\n\t} = useSelect( blockEditorStore );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tblob: undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectImagesList( images ) {\n\t\tconst win = containerRef.current?.ownerDocument.defaultView;\n\n\t\tif ( images.every( ( file ) => file instanceof win.File ) ) {\n\t\t\t/** @type {File[]} */\n\t\t\tconst files = images;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\tif ( files.some( ( file ) => ! isValidFileType( file ) ) ) {\n\t\t\t\t// Copied from the same notice in the gallery block.\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t\t),\n\t\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst imageBlocks = files\n\t\t\t\t.filter( ( file ) => isValidFileType( file ) )\n\t\t\t\t.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\tif ( getBlockName( rootClientId ) === 'core/gallery' ) {\n\t\t\t\treplaceBlock( clientId, imageBlocks );\n\t\t\t} else if ( canInsertBlockType( 'core/gallery', rootClientId ) ) {\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\timageBlocks\n\t\t\t\t);\n\n\t\t\t\treplaceBlock( clientId, galleryBlock );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( Array.isArray( media ) ) {\n\t\t\tonSelectImagesList( media );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Resolution\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: getSettings().imageDefaultSize,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectImage,\n\t\tonError: onUploadError,\n\t} );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName=\"edit-image-preview\"\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref: containerRef,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst { lockUrlControls = false, lockUrlControlsMessage } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockUrlControlsMessage: blockBindingsSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\tblockBindingsSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSingleSelected, metadata?.bindings?.url ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSingleSelected,\n\t\t\t\t} ) }\n\t\t\t\ticon={\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t( lockUrlControls ? pluginsIcon : icon )\n\t\t\t\t}\n\t\t\t\twithIllustration={ ! isSingleSelected || isSmallContainer }\n\t\t\t\tlabel={ ! isSmallContainer && __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\tlockUrlControlsMessage }\n\n\t\t\t\t{ ! lockUrlControls && ! isSmallContainer && content }\n\t\t\t\t{ placeholderResizeListener }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t<Image\n\t\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\t\tcontext={ context }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t\tparentLayoutType={ parentLayout?.type }\n\t\t\t\t\tmaxContentWidth={ maxContentWidth }\n\t\t\t\t/>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\thandleUpload={ ( files ) => files.length === 1 }\n\t\t\t\t\tvalue={ { id, src } }\n\t\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t\t{\n\t\t\t\t// The listener cannot be placed as the first element as it will break the in-between inserter.\n\t\t\t\t// See https://github.com/WordPress/gutenberg/blob/71134165868298fc15e22896d0c28b41b3755ff7/packages/block-editor/src/components/block-list/use-in-between-inserter.js#L120\n\t\t\t\tisSingleSelected && isMaxWidthContainerWidth && maxWidthObserver\n\t\t\t}\n\t\t</>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,SAAS,EAAEC,aAAa,QAAQ,iBAAiB;AAC1D,SAASC,WAAW,EAAEC,sBAAsB,QAAQ,mBAAmB;AACvE,SAASC,WAAW,QAAQ,uBAAuB;AACnD,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SACCC,SAAS,EACTC,aAAa,EACbC,gBAAgB,EAChBC,KAAK,IAAIC,gBAAgB,EACzBC,4BAA4B,IAAIC,cAAc,EAC9CC,uCAAuC,IAAIC,yBAAyB,EACpEC,mBAAmB,QACb,yBAAyB;AAChC,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,oBAAoB;AAChE,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,IAAI,EAAEC,OAAO,IAAIC,WAAW,QAAQ,kBAAkB;AACxE,SAASf,KAAK,IAAIgB,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,iBAAiB,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA,SAASC,yBAAyB,QAAQ,gBAAgB;AAC1D,OAAOC,KAAK,MAAM,SAAS;AAC3B,SAASC,eAAe,QAAQ,SAAS;AACzC,SAASC,mBAAmB,QAAQ,0BAA0B;;AAE9D;AACA;AACA;AACA,SACCC,2BAA2B,EAC3BC,uBAAuB,EACvBC,sBAAsB,EACtBC,qBAAqB,EACrBC,mBAAmB,QACb,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAErB,OAAO,MAAMC,sBAAsB,GAAGA,CAAErB,KAAK,EAAEsB,IAAI,KAAM;EACxD,MAAMC,UAAU,GAAGC,MAAM,CAACC,WAAW,CACpCD,MAAM,CAACE,OAAO,CAAE1B,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAE,CAAC,CAAC2B,MAAM,CAAE,CAAE,CAAEC,GAAG,CAAE,KAC9C,CAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAE,CAACC,QAAQ,CAAED,GAAI,CAClD,CACD,CAAC;EAEDL,UAAU,CAACO,GAAG,GACb9B,KAAK,EAAE+B,KAAK,GAAIT,IAAI,CAAE,EAAEQ,GAAG,IAC3B9B,KAAK,EAAEgC,aAAa,EAAED,KAAK,GAAIT,IAAI,CAAE,EAAEW,UAAU,IACjDjC,KAAK,CAAC8B,GAAG;EACV,OAAOP,UAAU;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMW,eAAe,GAAGA,CAAEC,EAAE,EAAEL,GAAG,KAAMA,GAAG,IAAI,CAAEK,EAAE,IAAI,CAAEzD,SAAS,CAAEoD,GAAI,CAAC;;AAE/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASM,OAAOA,CAAEpC,KAAK,EAAEsB,IAAI,EAAG;EAAA,IAAAe,iBAAA,EAAAC,qBAAA;EAC/B,OACC,KAAK,MAAAD,iBAAA,GAAMrC,KAAK,EAAE+B,KAAK,GAAIT,IAAI,CAAE,cAAAe,iBAAA,cAAAA,iBAAA,GAAI,CAAC,CAAC,CAAE,IACzC,YAAY,MAAAC,qBAAA,GAAMtC,KAAK,EAAEgC,aAAa,EAAED,KAAK,GAAIT,IAAI,CAAE,cAAAgB,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC,CAAE;AAEjE;AAEA,OAAO,SAASC,SAASA,CAAE;EAC1BC,UAAU;EACVC,aAAa;EACbC,UAAU,EAAEC,gBAAgB;EAC5BC,SAAS;EACTC,iBAAiB;EACjBC,SAAS;EACTC,OAAO;EACPC,QAAQ;EACRC,sBAAsB,EAAEC;AACzB,CAAC,EAAG;EACH,MAAM;IACLpB,GAAG,GAAG,EAAE;IACRqB,GAAG;IACHC,OAAO;IACPjB,EAAE;IACFkB,KAAK;IACLC,MAAM;IACNC,QAAQ;IACRC,WAAW;IACXC,KAAK;IACLC,KAAK;IACLC;EACD,CAAC,GAAGnB,UAAU;EAEd,MAAM,CAAEoB,YAAY,EAAEC,eAAe,CAAE,GAAGhE,QAAQ,CAAE2C,UAAU,CAACsB,IAAK,CAAC;EAErE,MAAMC,YAAY,GAAGnE,MAAM,CAAC,CAAC;EAC7B;EACA;EACA;EACA,MAAMoE,wBAAwB,GAC7B,CAAEd,YAAY,IACZA,YAAY,CAACe,IAAI,KAAK,MAAM,IAAIf,YAAY,CAACe,IAAI,KAAK,MAAQ;EACjE,MAAM,CAAEC,gBAAgB,EAAEC,eAAe,CAAE,GAAG1D,mBAAmB,CAAC,CAAC;EAEnE,MAAM,CAAE2D,yBAAyB,EAAE;IAAEf,KAAK,EAAEgB;EAAiB,CAAC,CAAE,GAC/DhE,iBAAiB,CAAC,CAAC;EAEpB,MAAMiE,gBAAgB,GAAGD,gBAAgB,IAAIA,gBAAgB,GAAG,GAAG;EAEnE,MAAME,MAAM,GAAG3E,MAAM,CAAC,CAAC;EACvBD,SAAS,CAAE,MAAM;IAChB4E,MAAM,CAACC,OAAO,GAAGrB,GAAG;EACrB,CAAC,EAAE,CAAEA,GAAG,CAAG,CAAC;EAEZ,MAAMsB,UAAU,GAAG7E,MAAM,CAAC,CAAC;EAC3BD,SAAS,CAAE,MAAM;IAChB8E,UAAU,CAACD,OAAO,GAAGpB,OAAO;EAC7B,CAAC,EAAE,CAAEA,OAAO,CAAG,CAAC;EAEhB,MAAM;IAAEsB,uCAAuC;IAAEC;EAAa,CAAC,GAC9D5F,WAAW,CAAEM,gBAAiB,CAAC;EAEhCM,SAAS,CAAE,MAAM;IAChB,IAAK,CAAE,MAAM,EAAE,MAAM,CAAE,CAACkC,QAAQ,CAAE6B,KAAM,CAAC,EAAG;MAC3CgB,uCAAuC,CAAC,CAAC;MACzCjC,aAAa,CAAE;QACdY,KAAK,EAAEuB,SAAS;QAChBtB,MAAM,EAAEsB,SAAS;QACjBpB,WAAW,EAAEoB,SAAS;QACtBnB,KAAK,EAAEmB;MACR,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAEF,uCAAuC,EAAEhB,KAAK,EAAEjB,aAAa,CAAG,CAAC;EAEtE,MAAM;IACLoC,WAAW;IACXC,oBAAoB;IACpBC,YAAY;IACZC;EACD,CAAC,GAAGhG,SAAS,CAAEK,gBAAiB,CAAC;EACjC,MAAM4F,gBAAgB,GAAGvF,mBAAmB,CAAC,CAAC;EAE9C,MAAM;IAAEwF;EAAkB,CAAC,GAAGnG,WAAW,CAAEqB,YAAa,CAAC;EACzD,SAAS+E,aAAaA,CAAEC,OAAO,EAAG;IACjCF,iBAAiB,CAAEE,OAAO,EAAE;MAAEnB,IAAI,EAAE;IAAW,CAAE,CAAC;IAClDxB,aAAa,CAAE;MACd4C,GAAG,EAAET,SAAS;MACdzC,EAAE,EAAEyC,SAAS;MACb9C,GAAG,EAAE8C,SAAS;MACdd,IAAI,EAAEc;IACP,CAAE,CAAC;EACJ;EAEA,SAASU,kBAAkBA,CAAEC,MAAM,EAAG;IACrC,MAAMC,GAAG,GAAGzB,YAAY,CAACS,OAAO,EAAEiB,aAAa,CAACC,WAAW;IAE3D,IAAKH,MAAM,CAACI,KAAK,CAAIC,IAAI,IAAMA,IAAI,YAAYJ,GAAG,CAACK,IAAK,CAAC,EAAG;MAC3D;MACA,MAAMC,KAAK,GAAGP,MAAM;MACpB,MAAMQ,YAAY,GAAGjB,oBAAoB,CAAE9B,QAAS,CAAC;MAErD,IAAK8C,KAAK,CAACE,IAAI,CAAIJ,IAAI,IAAM,CAAEpF,eAAe,CAAEoF,IAAK,CAAE,CAAC,EAAG;QAC1D;QACAV,iBAAiB,CAChBpF,EAAE,CACD,8DACD,CAAC,EACD;UAAEqC,EAAE,EAAE,6BAA6B;UAAE8B,IAAI,EAAE;QAAW,CACvD,CAAC;MACF;MAEA,MAAMgC,WAAW,GAAGH,KAAK,CACvBnE,MAAM,CAAIiE,IAAI,IAAMpF,eAAe,CAAEoF,IAAK,CAAE,CAAC,CAC7CM,GAAG,CAAIN,IAAI,IACXhH,WAAW,CAAE,YAAY,EAAE;QAC1BkF,IAAI,EAAEnF,aAAa,CAAEiH,IAAK;MAC3B,CAAE,CACH,CAAC;MAEF,IAAKb,YAAY,CAAEgB,YAAa,CAAC,KAAK,cAAc,EAAG;QACtDpB,YAAY,CAAE3B,QAAQ,EAAEiD,WAAY,CAAC;MACtC,CAAC,MAAM,IAAKjB,kBAAkB,CAAE,cAAc,EAAEe,YAAa,CAAC,EAAG;QAChE,MAAMI,YAAY,GAAGvH,WAAW,CAC/B,cAAc,EACd,CAAC,CAAC,EACFqH,WACD,CAAC;QAEDtB,YAAY,CAAE3B,QAAQ,EAAEmD,YAAa,CAAC;MACvC;IACD;EACD;EAEA,SAASC,aAAaA,CAAEC,KAAK,EAAG;IAC/B,IAAKC,KAAK,CAACC,OAAO,CAAEF,KAAM,CAAC,EAAG;MAC7Bf,kBAAkB,CAAEe,KAAM,CAAC;MAC3B;IACD;IAEA,IAAK,CAAEA,KAAK,IAAI,CAAEA,KAAK,CAACvE,GAAG,EAAG;MAC7BW,aAAa,CAAE;QACdX,GAAG,EAAE8C,SAAS;QACdzB,GAAG,EAAEyB,SAAS;QACdzC,EAAE,EAAEyC,SAAS;QACb4B,KAAK,EAAE5B,SAAS;QAChBxB,OAAO,EAAEwB,SAAS;QAClBd,IAAI,EAAEc;MACP,CAAE,CAAC;MACHf,eAAe,CAAC,CAAC;MAEjB;IACD;IAEA,IAAKnF,SAAS,CAAE2H,KAAK,CAACvE,GAAI,CAAC,EAAG;MAC7B+B,eAAe,CAAEwC,KAAK,CAACvE,GAAI,CAAC;MAC5B;IACD;IAEA,MAAM;MAAE2E;IAAiB,CAAC,GAAG5B,WAAW,CAAC,CAAC;;IAE1C;IACA;IACA,IAAI6B,OAAO,GAAG,MAAM;IACpB,IAAKnD,QAAQ,IAAInB,OAAO,CAAEiE,KAAK,EAAE9C,QAAS,CAAC,EAAG;MAC7CmD,OAAO,GAAGnD,QAAQ;IACnB,CAAC,MAAM,IAAKnB,OAAO,CAAEiE,KAAK,EAAEI,gBAAiB,CAAC,EAAG;MAChDC,OAAO,GAAGD,gBAAgB;IAC3B;IAEA,IAAIE,eAAe,GAAGtF,sBAAsB,CAAEgF,KAAK,EAAEK,OAAQ,CAAC;;IAE9D;IACA;IACA,IAAKjC,UAAU,CAACD,OAAO,IAAI,CAAEmC,eAAe,CAACvD,OAAO,EAAG;MACtD,MAAM;QAAEA,OAAO,EAAEwD,cAAc;QAAE,GAAGC;MAAoB,CAAC,GACxDF,eAAe;MAChBA,eAAe,GAAGE,mBAAmB;IACtC;IAEA,IAAIC,oBAAoB;IACxB;IACA,IAAK,CAAET,KAAK,CAAClE,EAAE,IAAIkE,KAAK,CAAClE,EAAE,KAAKA,EAAE,EAAG;MACpC2E,oBAAoB,GAAG;QACtBvD,QAAQ,EAAEmD;MACX,CAAC;IACF,CAAC,MAAM;MACN;MACA;MACAI,oBAAoB,GAAG;QAAEhF;MAAI,CAAC;IAC/B;;IAEA;IACA,IAAIiF,eAAe,GAAGvE,UAAU,CAACuE,eAAe;IAChD,IAAK,CAAEA,eAAe,EAAG;MACxB;MACA;MACA;MACA,QACCC,MAAM,EAAEC,EAAE,EAAEZ,KAAK,EAAEa,IAAI,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,IAAI,IACrDxG,qBAAqB;QAErB,KAAK,MAAM;QACX,KAAKD,sBAAsB;UAC1BmG,eAAe,GAAGnG,sBAAsB;UACxC;QACD,KAAK,MAAM;QACX,KAAKF,2BAA2B;UAC/BqG,eAAe,GAAGrG,2BAA2B;UAC7C;QACD,KAAKC,uBAAuB;UAC3BoG,eAAe,GAAGpG,uBAAuB;UACzC;QACD,KAAKE,qBAAqB;UACzBkG,eAAe,GAAGlG,qBAAqB;UACvC;MACF;IACD;;IAEA;IACA,IAAIyG,IAAI;IACR,QAASP,eAAe;MACvB,KAAKnG,sBAAsB;QAC1B0G,IAAI,GAAGjB,KAAK,CAACvE,GAAG;QAChB;MACD,KAAKpB,2BAA2B;QAC/B4G,IAAI,GAAGjB,KAAK,CAACgB,IAAI;QACjB;IACF;IACAV,eAAe,CAACW,IAAI,GAAGA,IAAI;IAE3B7E,aAAa,CAAE;MACdqB,IAAI,EAAEc,SAAS;MACf,GAAG+B,eAAe;MAClB,GAAGG,oBAAoB;MACvBC;IACD,CAAE,CAAC;IACHlD,eAAe,CAAC,CAAC;EAClB;EAEA,SAAS0D,WAAWA,CAAEC,MAAM,EAAG;IAC9B,IAAKA,MAAM,KAAK1F,GAAG,EAAG;MACrBW,aAAa,CAAE;QACdqB,IAAI,EAAEc,SAAS;QACf9C,GAAG,EAAE0F,MAAM;QACXrF,EAAE,EAAEyC,SAAS;QACbrB,QAAQ,EAAEsB,WAAW,CAAC,CAAC,CAAC4B;MACzB,CAAE,CAAC;MACH5C,eAAe,CAAC,CAAC;IAClB;EACD;EAEAvD,yBAAyB,CAAE;IAC1BwB,GAAG,EAAE8B,YAAY;IACjB6D,YAAY,EAAE3G,mBAAmB;IACjC4G,QAAQ,EAAEtB,aAAa;IACvBuB,OAAO,EAAExC;EACV,CAAE,CAAC;EAEH,MAAMyC,UAAU,GAAG1F,eAAe,CAAEC,EAAE,EAAEL,GAAI,CAAC;EAC7C,MAAMuD,GAAG,GAAGuC,UAAU,GAAG9F,GAAG,GAAG8C,SAAS;EACxC,MAAMiD,YAAY,GAAG,CAAC,CAAE/F,GAAG,iBAC1Bd,IAAA;IACCmC,GAAG,EAAGrD,EAAE,CAAE,YAAa,CAAG;IAC1B0G,KAAK,EAAG1G,EAAE,CAAE,YAAa,CAAG;IAC5B8C,SAAS,EAAC,oBAAoB;IAC9ByC,GAAG,EAAGvD;EAAK,CACX,CACD;EAED,MAAMgG,WAAW,GAAGvI,cAAc,CAAEiD,UAAW,CAAC;EAChD,MAAMuF,WAAW,GAAGtI,yBAAyB,CAAE+C,UAAW,CAAC;EAE3D,MAAMwF,OAAO,GAAGvJ,IAAI,CAAEmE,SAAS,EAAE;IAChC,cAAc,EAAE,CAAC,CAAEgB,YAAY;IAC/B,YAAY,EAAE,CAAC,CAAEP,KAAK,IAAI,CAAC,CAAEC,MAAM;IACnC,CAAE,QAASC,QAAQ,EAAG,GAAIA,QAAQ;IAClC,mBAAmB,EAClB,CAAC,CAAEuE,WAAW,CAAClF,SAAS,IACtBkF,WAAW,CAACG,KAAK,IAClBzG,MAAM,CAAC0G,IAAI,CAAEJ,WAAW,CAACG,KAAM,CAAC,CAACE,MAAM,GAAG;EAC7C,CAAE,CAAC;EAEH,MAAMC,UAAU,GAAGlJ,aAAa,CAAE;IACjCmJ,GAAG,EAAEtE,YAAY;IACjBnB,SAAS,EAAEoF;EACZ,CAAE,CAAC;;EAEH;EACA,MAAM;IAAEM,eAAe,GAAG,KAAK;IAAEC;EAAuB,CAAC,GAAGvJ,SAAS,CAClEwJ,MAAM,IAAM;IACb,IAAK,CAAE7F,gBAAgB,EAAG;MACzB,OAAO,CAAC,CAAC;IACV;IAEA,MAAM8F,mBAAmB,GAAG5J,sBAAsB,CACjD8E,QAAQ,EAAE+E,QAAQ,EAAE5G,GAAG,EAAE6G,MAC1B,CAAC;IAED,OAAO;MACNL,eAAe,EACd,CAAC,CAAE3E,QAAQ,EAAE+E,QAAQ,EAAE5G,GAAG,IAC1B,CAAE2G,mBAAmB,EAAEG,gBAAgB,GAAI;QAC1CJ,MAAM;QACNzF,OAAO;QACP8F,IAAI,EAAElF,QAAQ,EAAE+E,QAAQ,EAAE5G,GAAG,EAAE+G;MAChC,CAAE,CAAC;MACJN,sBAAsB,EAAEE,mBAAmB,EAAEK,KAAK,GAC/C/I,OAAO,CACP;MACAD,EAAE,CAAE,iBAAkB,CAAC,EACvB2I,mBAAmB,CAACK,KACpB,CAAC,GACDhJ,EAAE,CAAE,2BAA4B;IACpC,CAAC;EACF,CAAC,EACD,CAAEiD,OAAO,EAAEJ,gBAAgB,EAAEgB,QAAQ,EAAE+E,QAAQ,EAAE5G,GAAG,CACrD,CAAC;EACD,MAAMiH,WAAW,GAAKC,OAAO,IAAM;IAClC,oBACC9H,KAAA,CAACpC,WAAW;MACX8D,SAAS,EAAGnE,IAAI,CAAE,gCAAgC,EAAE;QACnD,CAAEqJ,WAAW,CAAClF,SAAS,GACtB,CAAC,CAAEkF,WAAW,CAAClF,SAAS,IAAI,CAAED;MAChC,CAAE,CAAG;MACL1C,IAAI,EACH,CAAEqE,gBAAgB,KAChBgE,eAAe,GAAGnI,WAAW,GAAGF,IAAI,CACtC;MACDgJ,gBAAgB,EAAG,CAAEtG,gBAAgB,IAAI2B,gBAAkB;MAC3DwE,KAAK,EAAG,CAAExE,gBAAgB,IAAIxE,EAAE,CAAE,OAAQ,CAAG;MAC7CoJ,YAAY,EACX,CAAEZ,eAAe,IACjB,CAAEhE,gBAAgB,IAClBxE,EAAE,CACD,8DACD,CACA;MACDmI,KAAK,EAAG;QACPzE,WAAW,EACV,EAAIH,KAAK,IAAIC,MAAM,CAAE,IAAIE,WAAW,GACjCA,WAAW,GACXoB,SAAS;QACbvB,KAAK,EAAEC,MAAM,IAAIE,WAAW,GAAG,MAAM,GAAGH,KAAK;QAC7CC,MAAM,EAAED,KAAK,IAAIG,WAAW,GAAG,MAAM,GAAGF,MAAM;QAC9C6F,SAAS,EAAE1F,KAAK;QAChB,GAAGqE,WAAW,CAACG,KAAK;QACpB,GAAGF,WAAW,CAACE;MAChB,CAAG;MAAAmB,QAAA,GAEDd,eAAe,IAChB,CAAEhE,gBAAgB,IAClBiE,sBAAsB,EAErB,CAAED,eAAe,IAAI,CAAEhE,gBAAgB,IAAI0E,OAAO,EAClD5E,yBAAyB;IAAA,CACf,CAAC;EAEhB,CAAC;EAED,oBACClD,KAAA,CAAAE,SAAA;IAAAgI,QAAA,gBACClI,KAAA;MAAA,GAAakH,UAAU;MAAAgB,QAAA,gBACtBpI,IAAA,CAACT,KAAK;QACLqD,YAAY,EAAGA,YAAc;QAC7BpB,UAAU,EAAGA,UAAY;QACzBC,aAAa,EAAGA,aAAe;QAC/BE,gBAAgB,EAAGA,gBAAkB;QACrCE,iBAAiB,EAAGA,iBAAmB;QACvCC,SAAS,EAAGA,SAAW;QACvBsD,aAAa,EAAGA,aAAe;QAC/BmB,WAAW,EAAGA,WAAa;QAC3BpC,aAAa,EAAGA,aAAe;QAC/BpC,OAAO,EAAGA,OAAS;QACnBC,QAAQ,EAAGA,QAAU;QACrBiC,gBAAgB,EAAGA,gBAAkB;QACrCoE,gBAAgB,EAAGnG,YAAY,EAAEe,IAAM;QACvCE,eAAe,EAAGA;MAAiB,CACnC,CAAC,eACFnD,IAAA,CAAC7B,gBAAgB;QAChBc,IAAI,eAAGe,IAAA,CAAC/B,SAAS;UAACgB,IAAI,EAAGA;QAAM,CAAE,CAAG;QACpCqJ,QAAQ,EAAGlD,aAAe;QAC1BmB,WAAW,EAAGA,WAAa;QAC3BI,OAAO,EAAGxC,aAAe;QACzB4D,WAAW,EAAGA,WAAa;QAC3BQ,MAAM,EAAC,SAAS;QAChB9B,YAAY,EAAG3G,mBAAqB;QACpC0I,YAAY,EAAK1D,KAAK,IAAMA,KAAK,CAACqC,MAAM,KAAK,CAAG;QAChDsB,KAAK,EAAG;UAAEtH,EAAE;UAAEkD;QAAI,CAAG;QACrBwC,YAAY,EAAGA,YAAc;QAC7B6B,mBAAmB,EAAG9F,YAAY,IAAI9B;MAAK,CAC3C,CAAC;IAAA,CACK,CAAC;IAER;IACA;IACAa,gBAAgB,IAAIqB,wBAAwB,IAAIE,gBAAgB;EAAA,CAEhE,CAAC;AAEL;AAEA,eAAe3B,SAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","isBlobURL","createBlobURL","createBlock","getBlockBindingsSource","Placeholder","useDispatch","useSelect","BlockIcon","useBlockProps","MediaPlaceholder","store","blockEditorStore","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","useEffect","useRef","useState","__","sprintf","image","icon","plugins","pluginsIcon","noticesStore","useResizeObserver","useUploadMediaFromBlobURL","Image","isValidFileType","useMaxWidthObserver","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","pickRelevantMediaFiles","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","isExternalImage","id","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","__unstableParentLayout","parentLayout","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","blob","containerRef","isMaxWidthContainerWidth","type","maxWidthObserver","maxContentWidth","placeholderResizeListener","placeholderWidth","isSmallContainer","altRef","current","captionRef","__unstableMarkNextChangeAsNotPersistent","replaceBlock","undefined","getSettings","getBlockRootClientId","getBlockName","canInsertBlockType","blockEditingMode","createErrorNotice","onUploadError","message","src","onSelectImagesList","images","win","ownerDocument","defaultView","every","file","File","files","rootClientId","some","imageBlocks","map","galleryBlock","onSelectImage","media","Array","isArray","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","href","onSelectURL","newURL","allowedTypes","onChange","onError","isExternal","mediaPreview","borderProps","shadowProps","classes","style","keys","length","blockProps","ref","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","bindings","source","canUserEditValue","args","label","placeholder","content","withIllustration","instructions","objectFit","children","parentLayoutType","onSelect","accept","handleUpload","value","disableMediaButtons"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL, createBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockBindingsSource } from '@wordpress/blocks';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tuseBlockProps,\n\tMediaPlaceholder,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport Image from './image';\nimport { isValidFileType } from './utils';\nimport { useMaxWidthObserver } from './use-max-width-observer';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected: isSingleSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n\t__unstableParentLayout: parentLayout,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tconst containerRef = useRef();\n\t// Only observe the max width from the parent container when the parent layout is not flex nor grid.\n\t// This won't work for them because the container width changes with the image.\n\t// TODO: Find a way to observe the container width for flex and grid layouts.\n\tconst isMaxWidthContainerWidth =\n\t\t! parentLayout ||\n\t\t( parentLayout.type !== 'flex' && parentLayout.type !== 'grid' );\n\tconst [ maxWidthObserver, maxContentWidth ] = useMaxWidthObserver();\n\n\tconst [ placeholderResizeListener, { width: placeholderWidth } ] =\n\t\tuseResizeObserver();\n\n\tconst isSmallContainer = placeholderWidth && placeholderWidth < 160;\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent, replaceBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ __unstableMarkNextChangeAsNotPersistent, align, setAttributes ] );\n\n\tconst {\n\t\tgetSettings,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tcanInsertBlockType,\n\t} = useSelect( blockEditorStore );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tblob: undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectImagesList( images ) {\n\t\tconst win = containerRef.current?.ownerDocument.defaultView;\n\n\t\tif ( images.every( ( file ) => file instanceof win.File ) ) {\n\t\t\t/** @type {File[]} */\n\t\t\tconst files = images;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\tif ( files.some( ( file ) => ! isValidFileType( file ) ) ) {\n\t\t\t\t// Copied from the same notice in the gallery block.\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t\t),\n\t\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst imageBlocks = files\n\t\t\t\t.filter( ( file ) => isValidFileType( file ) )\n\t\t\t\t.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\tif ( getBlockName( rootClientId ) === 'core/gallery' ) {\n\t\t\t\treplaceBlock( clientId, imageBlocks );\n\t\t\t} else if ( canInsertBlockType( 'core/gallery', rootClientId ) ) {\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\timageBlocks\n\t\t\t\t);\n\n\t\t\t\treplaceBlock( clientId, galleryBlock );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( Array.isArray( media ) ) {\n\t\t\tonSelectImagesList( media );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: getSettings().imageDefaultSize,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectImage,\n\t\tonError: onUploadError,\n\t} );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName=\"edit-image-preview\"\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref: containerRef,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst { lockUrlControls = false, lockUrlControlsMessage } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockUrlControlsMessage: blockBindingsSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\tblockBindingsSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSingleSelected, metadata?.bindings?.url ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSingleSelected,\n\t\t\t\t} ) }\n\t\t\t\ticon={\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t( lockUrlControls ? pluginsIcon : icon )\n\t\t\t\t}\n\t\t\t\twithIllustration={ ! isSingleSelected || isSmallContainer }\n\t\t\t\tlabel={ ! isSmallContainer && __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\tlockUrlControlsMessage }\n\n\t\t\t\t{ ! lockUrlControls && ! isSmallContainer && content }\n\t\t\t\t{ placeholderResizeListener }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t<Image\n\t\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\t\tcontext={ context }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t\tparentLayoutType={ parentLayout?.type }\n\t\t\t\t\tmaxContentWidth={ maxContentWidth }\n\t\t\t\t/>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\thandleUpload={ ( files ) => files.length === 1 }\n\t\t\t\t\tvalue={ { id, src } }\n\t\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t\t{\n\t\t\t\t// The listener cannot be placed as the first element as it will break the in-between inserter.\n\t\t\t\t// See https://github.com/WordPress/gutenberg/blob/71134165868298fc15e22896d0c28b41b3755ff7/packages/block-editor/src/components/block-list/use-in-between-inserter.js#L120\n\t\t\t\tisSingleSelected && isMaxWidthContainerWidth && maxWidthObserver\n\t\t\t}\n\t\t</>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ import { useSelect, useDispatch } from '@wordpress/data';
|
|
|
11
11
|
import { __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, TextControl, TextareaControl, ToolbarButton, ToolbarGroup } from '@wordpress/components';
|
|
12
12
|
import { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';
|
|
13
13
|
import { __ } from '@wordpress/i18n';
|
|
14
|
-
import { BlockControls, InspectorControls, RichText, useBlockProps, store as blockEditorStore, getColorClassName, useInnerBlocksProps } from '@wordpress/block-editor';
|
|
14
|
+
import { BlockControls, InspectorControls, RichText, useBlockProps, store as blockEditorStore, getColorClassName, useInnerBlocksProps, useBlockEditingMode } from '@wordpress/block-editor';
|
|
15
15
|
import { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';
|
|
16
16
|
import { useState, useEffect, useRef } from '@wordpress/element';
|
|
17
17
|
import { __unstableStripHTML as stripHTML } from '@wordpress/dom';
|
|
@@ -30,6 +30,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
30
30
|
const DEFAULT_BLOCK = {
|
|
31
31
|
name: 'core/navigation-link'
|
|
32
32
|
};
|
|
33
|
+
const NESTING_BLOCK_NAMES = ['core/navigation-link', 'core/navigation-submenu'];
|
|
33
34
|
|
|
34
35
|
/**
|
|
35
36
|
* A React hook to determine if it's dragging within the target element.
|
|
@@ -78,18 +79,26 @@ const useIsDraggingWithin = elementRef => {
|
|
|
78
79
|
}, [elementRef]);
|
|
79
80
|
return isDraggingWithin;
|
|
80
81
|
};
|
|
81
|
-
const useIsInvalidLink = (kind, type, id) => {
|
|
82
|
+
const useIsInvalidLink = (kind, type, id, enabled) => {
|
|
82
83
|
const isPostType = kind === 'post-type' || type === 'post' || type === 'page';
|
|
83
84
|
const hasId = Number.isInteger(id);
|
|
85
|
+
const blockEditingMode = useBlockEditingMode();
|
|
84
86
|
const postStatus = useSelect(select => {
|
|
85
87
|
if (!isPostType) {
|
|
86
88
|
return null;
|
|
87
89
|
}
|
|
90
|
+
|
|
91
|
+
// Fetching the posts status is an "expensive" operation. Especially for sites with large navigations.
|
|
92
|
+
// When the block is rendered in a template or other disabled contexts we can skip this check in order
|
|
93
|
+
// to avoid all these additional requests that don't really add any value in that mode.
|
|
94
|
+
if (blockEditingMode === 'disabled' || !enabled) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
88
97
|
const {
|
|
89
98
|
getEntityRecord
|
|
90
99
|
} = select(coreStore);
|
|
91
100
|
return getEntityRecord('postType', type, id)?.status;
|
|
92
|
-
}, [isPostType, type, id]);
|
|
101
|
+
}, [isPostType, blockEditingMode, enabled, type, id]);
|
|
93
102
|
|
|
94
103
|
// Check Navigation Link validity if:
|
|
95
104
|
// 1. Link is 'post-type'.
|
|
@@ -268,7 +277,6 @@ export default function NavigationLinkEdit({
|
|
|
268
277
|
description,
|
|
269
278
|
kind
|
|
270
279
|
} = attributes;
|
|
271
|
-
const [isInvalid, isDraft] = useIsInvalidLink(kind, type, id);
|
|
272
280
|
const {
|
|
273
281
|
maxNestingLevel
|
|
274
282
|
} = context;
|
|
@@ -299,25 +307,36 @@ export default function NavigationLinkEdit({
|
|
|
299
307
|
isAtMaxNesting,
|
|
300
308
|
isTopLevelLink,
|
|
301
309
|
isParentOfSelectedBlock,
|
|
302
|
-
hasChildren
|
|
310
|
+
hasChildren,
|
|
311
|
+
validateLinkStatus
|
|
303
312
|
} = useSelect(select => {
|
|
304
313
|
const {
|
|
305
314
|
getBlockCount,
|
|
306
315
|
getBlockName,
|
|
307
316
|
getBlockRootClientId,
|
|
308
317
|
hasSelectedInnerBlock,
|
|
309
|
-
getBlockParentsByBlockName
|
|
318
|
+
getBlockParentsByBlockName,
|
|
319
|
+
getSelectedBlockClientId
|
|
310
320
|
} = select(blockEditorStore);
|
|
321
|
+
const rootClientId = getBlockRootClientId(clientId);
|
|
322
|
+
const isTopLevel = getBlockName(rootClientId) === 'core/navigation';
|
|
323
|
+
const selectedBlockClientId = getSelectedBlockClientId();
|
|
324
|
+
const rootNavigationClientId = isTopLevel ? rootClientId : getBlockParentsByBlockName(clientId, 'core/navigation')[0];
|
|
325
|
+
|
|
326
|
+
// Enable when the root Navigation block is selected or any of its inner blocks.
|
|
327
|
+
const enableLinkStatusValidation = selectedBlockClientId === rootNavigationClientId || hasSelectedInnerBlock(rootNavigationClientId, true);
|
|
311
328
|
return {
|
|
312
|
-
isAtMaxNesting: getBlockParentsByBlockName(clientId,
|
|
313
|
-
isTopLevelLink:
|
|
329
|
+
isAtMaxNesting: getBlockParentsByBlockName(clientId, NESTING_BLOCK_NAMES).length >= maxNestingLevel,
|
|
330
|
+
isTopLevelLink: isTopLevel,
|
|
314
331
|
isParentOfSelectedBlock: hasSelectedInnerBlock(clientId, true),
|
|
315
|
-
hasChildren: !!getBlockCount(clientId)
|
|
332
|
+
hasChildren: !!getBlockCount(clientId),
|
|
333
|
+
validateLinkStatus: enableLinkStatusValidation
|
|
316
334
|
};
|
|
317
335
|
}, [clientId, maxNestingLevel]);
|
|
318
336
|
const {
|
|
319
337
|
getBlocks
|
|
320
338
|
} = useSelect(blockEditorStore);
|
|
339
|
+
const [isInvalid, isDraft] = useIsInvalidLink(kind, type, id, validateLinkStatus);
|
|
321
340
|
|
|
322
341
|
/**
|
|
323
342
|
* Transform to submenu block.
|