@wordpress/block-library 9.19.4 → 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.
Files changed (49) hide show
  1. package/build/details/edit.js +28 -8
  2. package/build/details/edit.js.map +1 -1
  3. package/build/embed/variations.js +0 -10
  4. package/build/embed/variations.js.map +1 -1
  5. package/build/image/edit.js +0 -6
  6. package/build/image/edit.js.map +1 -1
  7. package/build/navigation-link/edit.js +27 -8
  8. package/build/navigation-link/edit.js.map +1 -1
  9. package/build/post-template/edit.js +5 -3
  10. package/build/post-template/edit.js.map +1 -1
  11. package/build/query/edit/inspector-controls/index.js +30 -19
  12. package/build/query/edit/inspector-controls/index.js.map +1 -1
  13. package/build/query/edit/query-content.js +1 -6
  14. package/build/query/edit/query-content.js.map +1 -1
  15. package/build-module/details/edit.js +30 -10
  16. package/build-module/details/edit.js.map +1 -1
  17. package/build-module/embed/variations.js +0 -10
  18. package/build-module/embed/variations.js.map +1 -1
  19. package/build-module/image/edit.js +0 -6
  20. package/build-module/image/edit.js.map +1 -1
  21. package/build-module/navigation-link/edit.js +28 -9
  22. package/build-module/navigation-link/edit.js.map +1 -1
  23. package/build-module/post-template/edit.js +5 -3
  24. package/build-module/post-template/edit.js.map +1 -1
  25. package/build-module/query/edit/inspector-controls/index.js +31 -20
  26. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  27. package/build-module/query/edit/query-content.js +1 -6
  28. package/build-module/query/edit/query-content.js.map +1 -1
  29. package/build-style/button/style-rtl.css +0 -1
  30. package/build-style/button/style.css +0 -1
  31. package/build-style/buttons/style-rtl.css +3 -0
  32. package/build-style/buttons/style.css +3 -0
  33. package/build-style/post-comments-form/style-rtl.css +0 -3
  34. package/build-style/post-comments-form/style.css +0 -3
  35. package/build-style/style-rtl.css +3 -4
  36. package/build-style/style.css +3 -4
  37. package/package.json +18 -18
  38. package/src/button/style.scss +0 -1
  39. package/src/buttons/style.scss +5 -0
  40. package/src/details/edit.js +38 -8
  41. package/src/embed/variations.js +0 -8
  42. package/src/image/edit.js +0 -4
  43. package/src/navigation-link/edit.js +45 -11
  44. package/src/post-author/index.php +1 -1
  45. package/src/post-author-name/index.php +1 -1
  46. package/src/post-comments-form/style.scss +0 -5
  47. package/src/post-template/edit.js +4 -3
  48. package/src/query/edit/inspector-controls/index.js +50 -34
  49. 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":"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","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
- onClick: event => {
82
- event.preventDefault();
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","onClick","event","preventDefault","identifier","allowedFormats","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} from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\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 } ) {\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\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 { ...innerBlocksProps } open={ isOpen }>\n\t\t\t\t<summary\n\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tsetIsOpen( ! isOpen );\n\t\t\t\t\t} }\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={ __( 'Write summary' ) }\n\t\t\t\t\t\tplaceholder={ placeholder || __( 'Write summary…' ) }\n\t\t\t\t\t\tallowedFormats={ [] }\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":[]}
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":"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","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, ['core/navigation-link', 'core/navigation-submenu']).length >= maxNestingLevel,
313
- isTopLevelLink: getBlockName(getBlockRootClientId(clientId)) === 'core/navigation',
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.