@wordpress/block-library 9.20.0 → 9.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/categories/edit.js +3 -3
  3. package/build/categories/edit.js.map +1 -1
  4. package/build/embed/edit.js +4 -1
  5. package/build/embed/edit.js.map +1 -1
  6. package/build/image/edit.js +3 -2
  7. package/build/image/edit.js.map +1 -1
  8. package/build/image/image.js +13 -8
  9. package/build/image/image.js.map +1 -1
  10. package/build/navigation/edit/index.js +8 -4
  11. package/build/navigation/edit/index.js.map +1 -1
  12. package/build/navigation-link/edit.js +27 -8
  13. package/build/navigation-link/edit.js.map +1 -1
  14. package/build/post-featured-image/edit.js +2 -1
  15. package/build/post-featured-image/edit.js.map +1 -1
  16. package/build/query-total/index.js +3 -0
  17. package/build/query-total/index.js.map +1 -1
  18. package/build/rss/edit.js +21 -1
  19. package/build/rss/edit.js.map +1 -1
  20. package/build/rss/index.js +7 -0
  21. package/build/rss/index.js.map +1 -1
  22. package/build/site-title/edit.js +1 -1
  23. package/build/site-title/edit.js.map +1 -1
  24. package/build/table-of-contents/edit.js +50 -8
  25. package/build/table-of-contents/edit.js.map +1 -1
  26. package/build/table-of-contents/hooks.js +7 -1
  27. package/build/table-of-contents/hooks.js.map +1 -1
  28. package/build/table-of-contents/index.js +3 -0
  29. package/build/table-of-contents/index.js.map +1 -1
  30. package/build-module/categories/edit.js +3 -3
  31. package/build-module/categories/edit.js.map +1 -1
  32. package/build-module/embed/edit.js +4 -1
  33. package/build-module/embed/edit.js.map +1 -1
  34. package/build-module/image/edit.js +3 -2
  35. package/build-module/image/edit.js.map +1 -1
  36. package/build-module/image/image.js +14 -9
  37. package/build-module/image/image.js.map +1 -1
  38. package/build-module/navigation/edit/index.js +8 -4
  39. package/build-module/navigation/edit/index.js.map +1 -1
  40. package/build-module/navigation-link/edit.js +28 -9
  41. package/build-module/navigation-link/edit.js.map +1 -1
  42. package/build-module/post-featured-image/edit.js +2 -1
  43. package/build-module/post-featured-image/edit.js.map +1 -1
  44. package/build-module/query-total/index.js +3 -0
  45. package/build-module/query-total/index.js.map +1 -1
  46. package/build-module/rss/edit.js +22 -2
  47. package/build-module/rss/edit.js.map +1 -1
  48. package/build-module/rss/index.js +7 -0
  49. package/build-module/rss/index.js.map +1 -1
  50. package/build-module/site-title/edit.js +1 -1
  51. package/build-module/site-title/edit.js.map +1 -1
  52. package/build-module/table-of-contents/edit.js +52 -10
  53. package/build-module/table-of-contents/edit.js.map +1 -1
  54. package/build-module/table-of-contents/hooks.js +7 -1
  55. package/build-module/table-of-contents/hooks.js.map +1 -1
  56. package/build-module/table-of-contents/index.js +3 -0
  57. package/build-module/table-of-contents/index.js.map +1 -1
  58. package/build-style/post-comments-form/style-rtl.css +3 -0
  59. package/build-style/post-comments-form/style.css +3 -0
  60. package/build-style/style-rtl.css +3 -0
  61. package/build-style/style.css +3 -0
  62. package/package.json +35 -35
  63. package/src/categories/edit.js +3 -3
  64. package/src/embed/edit.js +7 -1
  65. package/src/image/edit.js +3 -3
  66. package/src/image/image.js +9 -12
  67. package/src/navigation/edit/index.js +4 -0
  68. package/src/navigation-link/edit.js +45 -11
  69. package/src/post-comments-form/style.scss +5 -0
  70. package/src/post-featured-image/edit.js +2 -1
  71. package/src/query-total/block.json +3 -0
  72. package/src/query-total/index.php +1 -1
  73. package/src/rss/block.json +7 -0
  74. package/src/rss/edit.js +21 -0
  75. package/src/rss/index.php +27 -9
  76. package/src/site-title/edit.js +1 -1
  77. package/src/site-title/index.php +1 -1
  78. package/src/table-of-contents/block.json +3 -0
  79. package/src/table-of-contents/edit.js +45 -4
  80. package/src/table-of-contents/hooks.js +7 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 9.21.0 (2025-03-27)
6
+
5
7
  ## 9.20.0 (2025-03-13)
6
8
 
7
9
  ### Enhancements
@@ -109,7 +109,7 @@ function CategoriesEdit({
109
109
  children: [showLabel ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichText, {
110
110
  className: "wp-block-categories__label",
111
111
  "aria-label": (0, _i18n.__)('Label text'),
112
- placeholder: taxonomy.name,
112
+ placeholder: taxonomy?.name,
113
113
  withoutInteractiveFormatting: true,
114
114
  value: label,
115
115
  onChange: html => setAttributes({
@@ -118,12 +118,12 @@ function CategoriesEdit({
118
118
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.VisuallyHidden, {
119
119
  as: "label",
120
120
  htmlFor: selectId,
121
- children: label ? label : taxonomy.name
121
+ children: label ? label : taxonomy?.name
122
122
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("select", {
123
123
  id: selectId,
124
124
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("option", {
125
125
  children: (0, _i18n.sprintf)(/* translators: %s: taxonomy's singular name */
126
- (0, _i18n.__)('Select %s'), taxonomy.labels.singular_name)
126
+ (0, _i18n.__)('Select %s'), taxonomy?.labels?.singular_name)
127
127
  }), categoriesList.map(category => renderCategoryDropdownItem(category, 0))]
128
128
  })]
129
129
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_compose","_blockEditor","_htmlEntities","_i18n","_icons","_coreData","_hooks","_jsxRuntime","CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","label","showLabel","taxonomy","taxonomySlug","setAttributes","className","selectId","useInstanceId","records","allTaxonomies","isResolvingTaxonomies","useEntityRecords","taxonomies","filter","t","visibility","public","find","slug","isHierarchicalTaxonomy","hierarchical","query","per_page","hide_empty","context","parent","categories","isResolving","getCategoriesList","parentId","length","toggleAttribute","attributeName","newValue","renderCategoryName","name","__","decodeEntities","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","jsxs","children","jsx","href","target","rel","childCategory","renderCategoryDropdown","Fragment","RichText","placeholder","withoutInteractiveFormatting","value","onChange","html","VisuallyHidden","as","htmlFor","sprintf","labels","singular_name","renderCategoryDropdownItem","level","Array","from","TagName","classes","clsx","blockProps","useBlockProps","dropdownMenuProps","useToolsPanelDropdownMenuProps","InspectorControls","__experimentalToolsPanel","resetAll","isArray","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","SelectControl","__nextHasNoMarginBottom","__next40pxDefaultSize","options","selectedTaxonomy","ToggleControl","checked","Placeholder","icon","pin","Spinner","no_terms"],"sources":["@wordpress/block-library/src/categories/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPlaceholder,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { useEntityRecords } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t\tshowEmpty,\n\t\tlabel,\n\t\tshowLabel,\n\t\ttaxonomy: taxonomySlug,\n\t},\n\tsetAttributes,\n\tclassName,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\n\tconst { records: allTaxonomies, isResolvingTaxonomies } = useEntityRecords(\n\t\t'root',\n\t\t'taxonomy'\n\t);\n\n\tconst taxonomies = allTaxonomies?.filter( ( t ) => t.visibility.public );\n\n\tconst taxonomy = taxonomies?.find( ( t ) => t.slug === taxonomySlug );\n\n\tconst isHierarchicalTaxonomy =\n\t\t! isResolvingTaxonomies && taxonomy?.hierarchical;\n\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( isHierarchicalTaxonomy && showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\ttaxonomySlug,\n\t\tquery\n\t);\n\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : decodeEntities( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn categoriesList.map( ( category ) =>\n\t\t\trenderCategoryListItem( category )\n\t\t);\n\t};\n\n\tconst renderCategoryListItem = ( category ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id } className={ `cat-item cat-item-${ id }` }>\n\t\t\t\t<a href={ link } target=\"_blank\" rel=\"noreferrer noopener\">\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t\t{ isHierarchicalTaxonomy &&\n\t\t\t\t\tshowHierarchy &&\n\t\t\t\t\t!! childCategories.length && (\n\t\t\t\t\t\t<ul className=\"children\">\n\t\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\t\trenderCategoryListItem( childCategory )\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ showLabel ? (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-categories__label\"\n\t\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\t\tplaceholder={ taxonomy.name }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ selectId }>\n\t\t\t\t\t\t{ label ? label : taxonomy.name }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t\t<select id={ selectId }>\n\t\t\t\t\t<option>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: taxonomy's singular name */\n\t\t\t\t\t\t\t__( 'Select %s' ),\n\t\t\t\t\t\t\ttaxonomy.labels.singular_name\n\t\t\t\t\t\t) }\n\t\t\t\t\t</option>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id } className={ `level-${ level }` }>\n\t\t\t\t{ Array.from( { length: level * 3 } ).map( () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tisHierarchicalTaxonomy &&\n\t\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\tconst TagName =\n\t\t!! categories?.length && ! displayAsDropdown && ! isResolving\n\t\t\t? 'ul'\n\t\t\t: 'div';\n\n\tconst classes = clsx( className, {\n\t\t'wp-block-categories-list':\n\t\t\t!! categories?.length && ! displayAsDropdown && ! isResolving,\n\t\t'wp-block-categories-dropdown':\n\t\t\t!! categories?.length && displayAsDropdown && ! isResolving,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<TagName { ...blockProps }>\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\ttaxonomy: 'category',\n\t\t\t\t\t\t\tdisplayAsDropdown: false,\n\t\t\t\t\t\t\tshowHierarchy: false,\n\t\t\t\t\t\t\tshowPostCounts: false,\n\t\t\t\t\t\t\tshowOnlyTopLevel: false,\n\t\t\t\t\t\t\tshowEmpty: false,\n\t\t\t\t\t\t\tshowLabel: true,\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{ Array.isArray( taxonomies ) && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t\treturn taxonomySlug !== 'category';\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { taxonomy: 'category' } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\t\toptions={ taxonomies.map( ( t ) => ( {\n\t\t\t\t\t\t\t\t\tlabel: t.name,\n\t\t\t\t\t\t\t\t\tvalue: t.slug,\n\t\t\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t\t\t\tvalue={ taxonomySlug }\n\t\t\t\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\ttaxonomy: selectedTaxonomy,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! displayAsDropdown }\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAsDropdown: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! showLabel }\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabel: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tclassName=\"wp-block-categories__indentation\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showLabel' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showPostCounts }\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showPostCounts: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showOnlyTopLevel }\n\t\t\t\t\t\t\tlabel={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showOnlyTopLevel: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute(\n\t\t\t\t\t\t\t\t\t'showOnlyTopLevel'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showEmpty }\n\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showEmpty: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showHierarchy }\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHierarchy: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Terms' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isResolving && categories?.length === 0 && (\n\t\t\t\t<p>{ taxonomy.labels.no_terms }</p>\n\t\t\t) }\n\t\t\t{ ! isResolving &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</TagName>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_compose","_blockEditor","_htmlEntities","_i18n","_icons","_coreData","_hooks","_jsxRuntime","CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","label","showLabel","taxonomy","taxonomySlug","setAttributes","className","selectId","useInstanceId","records","allTaxonomies","isResolvingTaxonomies","useEntityRecords","taxonomies","filter","t","visibility","public","find","slug","isHierarchicalTaxonomy","hierarchical","query","per_page","hide_empty","context","parent","categories","isResolving","getCategoriesList","parentId","length","toggleAttribute","attributeName","newValue","renderCategoryName","name","__","decodeEntities","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","jsxs","children","jsx","href","target","rel","childCategory","renderCategoryDropdown","Fragment","RichText","placeholder","withoutInteractiveFormatting","value","onChange","html","VisuallyHidden","as","htmlFor","sprintf","labels","singular_name","renderCategoryDropdownItem","level","Array","from","TagName","classes","clsx","blockProps","useBlockProps","dropdownMenuProps","useToolsPanelDropdownMenuProps","InspectorControls","__experimentalToolsPanel","resetAll","isArray","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","SelectControl","__nextHasNoMarginBottom","__next40pxDefaultSize","options","selectedTaxonomy","ToggleControl","checked","Placeholder","icon","pin","Spinner","no_terms"],"sources":["@wordpress/block-library/src/categories/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPlaceholder,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { useEntityRecords } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t\tshowEmpty,\n\t\tlabel,\n\t\tshowLabel,\n\t\ttaxonomy: taxonomySlug,\n\t},\n\tsetAttributes,\n\tclassName,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\n\tconst { records: allTaxonomies, isResolvingTaxonomies } = useEntityRecords(\n\t\t'root',\n\t\t'taxonomy'\n\t);\n\n\tconst taxonomies = allTaxonomies?.filter( ( t ) => t.visibility.public );\n\n\tconst taxonomy = taxonomies?.find( ( t ) => t.slug === taxonomySlug );\n\n\tconst isHierarchicalTaxonomy =\n\t\t! isResolvingTaxonomies && taxonomy?.hierarchical;\n\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( isHierarchicalTaxonomy && showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\ttaxonomySlug,\n\t\tquery\n\t);\n\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : decodeEntities( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn categoriesList.map( ( category ) =>\n\t\t\trenderCategoryListItem( category )\n\t\t);\n\t};\n\n\tconst renderCategoryListItem = ( category ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id } className={ `cat-item cat-item-${ id }` }>\n\t\t\t\t<a href={ link } target=\"_blank\" rel=\"noreferrer noopener\">\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t\t{ isHierarchicalTaxonomy &&\n\t\t\t\t\tshowHierarchy &&\n\t\t\t\t\t!! childCategories.length && (\n\t\t\t\t\t\t<ul className=\"children\">\n\t\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\t\trenderCategoryListItem( childCategory )\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ showLabel ? (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-categories__label\"\n\t\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\t\tplaceholder={ taxonomy?.name }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ selectId }>\n\t\t\t\t\t\t{ label ? label : taxonomy?.name }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t\t<select id={ selectId }>\n\t\t\t\t\t<option>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: taxonomy's singular name */\n\t\t\t\t\t\t\t__( 'Select %s' ),\n\t\t\t\t\t\t\ttaxonomy?.labels?.singular_name\n\t\t\t\t\t\t) }\n\t\t\t\t\t</option>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id } className={ `level-${ level }` }>\n\t\t\t\t{ Array.from( { length: level * 3 } ).map( () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tisHierarchicalTaxonomy &&\n\t\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\tconst TagName =\n\t\t!! categories?.length && ! displayAsDropdown && ! isResolving\n\t\t\t? 'ul'\n\t\t\t: 'div';\n\n\tconst classes = clsx( className, {\n\t\t'wp-block-categories-list':\n\t\t\t!! categories?.length && ! displayAsDropdown && ! isResolving,\n\t\t'wp-block-categories-dropdown':\n\t\t\t!! categories?.length && displayAsDropdown && ! isResolving,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<TagName { ...blockProps }>\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\ttaxonomy: 'category',\n\t\t\t\t\t\t\tdisplayAsDropdown: false,\n\t\t\t\t\t\t\tshowHierarchy: false,\n\t\t\t\t\t\t\tshowPostCounts: false,\n\t\t\t\t\t\t\tshowOnlyTopLevel: false,\n\t\t\t\t\t\t\tshowEmpty: false,\n\t\t\t\t\t\t\tshowLabel: true,\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{ Array.isArray( taxonomies ) && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t\treturn taxonomySlug !== 'category';\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { taxonomy: 'category' } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\t\toptions={ taxonomies.map( ( t ) => ( {\n\t\t\t\t\t\t\t\t\tlabel: t.name,\n\t\t\t\t\t\t\t\t\tvalue: t.slug,\n\t\t\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t\t\t\tvalue={ taxonomySlug }\n\t\t\t\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\ttaxonomy: selectedTaxonomy,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! displayAsDropdown }\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAsDropdown: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! showLabel }\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabel: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tclassName=\"wp-block-categories__indentation\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showLabel' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showPostCounts }\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showPostCounts: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showOnlyTopLevel }\n\t\t\t\t\t\t\tlabel={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showOnlyTopLevel: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute(\n\t\t\t\t\t\t\t\t\t'showOnlyTopLevel'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showEmpty }\n\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showEmpty: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showHierarchy }\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHierarchy: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Terms' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isResolving && categories?.length === 0 && (\n\t\t\t\t<p>{ taxonomy.labels.no_terms }</p>\n\t\t\t) }\n\t\t\t{ ! isResolving &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</TagName>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -158,7 +158,10 @@ const EmbedEdit = props => {
158
158
  // When obtaining an incoming preview,
159
159
  // we set the attributes derived from the preview data.
160
160
  const mergedAttributes = getMergedAttributes();
161
- setAttributes(mergedAttributes);
161
+ const hasChanges = Object.keys(mergedAttributes).some(key => mergedAttributes[key] !== attributes[key]);
162
+ if (hasChanges) {
163
+ setAttributes(mergedAttributes);
164
+ }
162
165
  if (onReplace) {
163
166
  const upgradedBlock = (0, _util.createUpgradedEmbedBlock)(props, mergedAttributes);
164
167
  if (upgradedBlock) {
@@ -1 +1 @@
1
- {"version":3,"names":["_util","require","_embedControls","_interopRequireDefault","_icons","_embedLoading","_embedPlaceholder","_embedPreview","_clsx","_i18n","_element","_data","_blockEditor","_coreData","_primitives","_url","_caption","_jsxRuntime","EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","attributesUrl","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","defaultEmbedInfo","title","_x","icon","embedContentIcon","getEmbedInfoByProvider","setURL","useState","isEditingURL","setIsEditingURL","invalidateResolution","useDispatch","coreStore","preview","fetching","themeSupportsResponsive","cannotEmbed","hasResolved","useSelect","select","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","hasFinishedResolution","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","data","status","validPreview","getMergedAttributes","getMergedAttributesWithPreview","toggleResponsive","allowResponsive","className","newAllowResponsive","getClassNames","useEffect","newURL","replace","getAuthority","URL","host","toString","mergedAttributes","upgradedBlock","createUpgradedEmbedBlock","blockProps","useBlockProps","jsx","View","children","default","label","sprintf","__","showEmbedPlaceholder","onSubmit","event","preventDefault","blockClass","removeAspectRatioClasses","value","onChange","fallback","tryAgain","caption","classFromPreview","clsx","jsxs","Fragment","showEditButton","blockSupportsResponsive","switchBackToURLInput","onCaptionChange","Caption","showToolbarButton","_default","exports"],"sources":["@wordpress/block-library/src/embed/edit.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tremoveAspectRatioClasses,\n\tfallback,\n\tgetEmbedInfoByProvider,\n\tgetMergedAttributesWithPreview,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\nimport { getAuthority } from '@wordpress/url';\nimport { Caption } from '../utils/caption';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: {\n\t\t\tproviderNameSlug,\n\t\t\tpreviewable,\n\t\t\tresponsive,\n\t\t\turl: attributesUrl,\n\t\t},\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst { icon, title } =\n\t\tgetEmbedInfoByProvider( providerNameSlug ) || defaultEmbedInfo;\n\n\tconst [ url, setURL ] = useState( attributesUrl );\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst {\n\t\tpreview,\n\t\tfetching,\n\t\tthemeSupportsResponsive,\n\t\tcannotEmbed,\n\t\thasResolved,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEmbedPreview,\n\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\tisRequestingEmbedPreview,\n\t\t\t\tgetThemeSupports,\n\t\t\t\thasFinishedResolution,\n\t\t\t} = select( coreStore );\n\t\t\tif ( ! attributesUrl ) {\n\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t}\n\n\t\t\tconst embedPreview = getEmbedPreview( attributesUrl );\n\t\t\tconst previewIsFallback = isPreviewEmbedFallback( attributesUrl );\n\n\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\tconst badEmbedProvider =\n\t\t\t\tembedPreview?.html === false &&\n\t\t\t\tembedPreview?.type === undefined;\n\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t// a valid JSON response with no HTML and `data.status` set to 404, rather\n\t\t\t// than generating a fallback response as other embeds do.\n\t\t\tconst wordpressCantEmbed = embedPreview?.data?.status === 404;\n\t\t\tconst validPreview =\n\t\t\t\t!! embedPreview && ! badEmbedProvider && ! wordpressCantEmbed;\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: isRequestingEmbedPreview( attributesUrl ),\n\t\t\t\tthemeSupportsResponsive:\n\t\t\t\t\tgetThemeSupports()[ 'responsive-embeds' ],\n\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t\thasResolved: hasFinishedResolution( 'getEmbedPreview', [\n\t\t\t\t\tattributesUrl,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ attributesUrl ]\n\t);\n\n\t/**\n\t * Returns the attributes derived from the preview, merged with the current attributes.\n\t *\n\t * @return {Object} Merged attributes.\n\t */\n\tconst getMergedAttributes = () =>\n\t\tgetMergedAttributesWithPreview(\n\t\t\tattributes,\n\t\t\tpreview,\n\t\t\ttitle,\n\t\t\tresponsive\n\t\t);\n\n\tconst toggleResponsive = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\tconst { html } = preview;\n\t\tconst newAllowResponsive = ! allowResponsive;\n\n\t\tsetAttributes( {\n\t\t\tallowResponsive: newAllowResponsive,\n\t\t\tclassName: getClassNames(\n\t\t\t\thtml,\n\t\t\t\tclassName,\n\t\t\t\tresponsive && newAllowResponsive\n\t\t\t),\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( preview?.html || ! cannotEmbed || ! hasResolved ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = attributesUrl.replace( /\\/$/, '' );\n\t\tsetURL( newURL );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [\n\t\tpreview?.html,\n\t\tattributesUrl,\n\t\tcannotEmbed,\n\t\thasResolved,\n\t\tsetAttributes,\n\t] );\n\n\t// Try a different provider in case the embed url is not supported.\n\tuseEffect( () => {\n\t\tif ( ! cannotEmbed || fetching || ! url ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Until X provider is supported in WordPress, as a workaround we use Twitter provider.\n\t\tif ( getAuthority( url ) === 'x.com' ) {\n\t\t\tconst newURL = new URL( url );\n\t\t\tnewURL.host = 'twitter.com';\n\t\t\tsetAttributes( { url: newURL.toString() } );\n\t\t}\n\t}, [ url, cannotEmbed, fetching, setAttributes ] );\n\n\t// Handle incoming preview.\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// When obtaining an incoming preview,\n\t\t\t// we set the attributes derived from the preview data.\n\t\t\tconst mergedAttributes = getMergedAttributes();\n\t\t\tsetAttributes( mergedAttributes );\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tmergedAttributes\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\t// translators: %s: type of embed e.g: \"YouTube\", \"Twitter\", etc. \"Embed\" is used when no specific type exists\n\tconst label = sprintf( __( '%s URL' ), title );\n\n\t// No preview, or we can't embed the current URL, or we've clicked the edit button.\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed || isEditingURL;\n\n\tif ( showEmbedPlaceholder ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\tif ( event ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If the embed URL was changed, we need to reset the aspect ratio class.\n\t\t\t\t\t\t// To do this we have to remove the existing ratio class so it can be recalculated.\n\t\t\t\t\t\tconst blockClass = removeAspectRatioClasses(\n\t\t\t\t\t\t\tattributes.className\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\tsetAttributes( { url, className: blockClass } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ url }\n\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\tonChange={ ( value ) => setURL( value ) }\n\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [ url ] );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\t// Even though we set attributes that get derived from the preview,\n\t// we don't access them directly because for the initial render,\n\t// the `setAttributes` call will not have taken effect. If we're\n\t// rendering responsive content, setting the responsive classes\n\t// after the preview has been rendered can result in unwanted\n\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t// that `getMergedAttributes` uses is memoized so that we're not\n\t// calculating them on every render.\n\tconst {\n\t\tcaption,\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = clsx( classFromPreview, props.className );\n\n\treturn (\n\t\t<>\n\t\t\t<EmbedControls\n\t\t\t\tshowEditButton={ preview && ! cannotEmbed }\n\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\t\t/>\n\t\t\t<figure\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( blockProps.className, className, {\n\t\t\t\t\t[ `is-type-${ type }` ]: type,\n\t\t\t\t\t[ `is-provider-${ providerNameSlug }` ]: providerNameSlug,\n\t\t\t\t\t[ `wp-block-embed-${ providerNameSlug }` ]:\n\t\t\t\t\t\tproviderNameSlug,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<EmbedPreview\n\t\t\t\t\tpreview={ preview }\n\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\turl={ url }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\tcaption={ caption }\n\t\t\t\t\tonCaptionChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Embed caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_util","require","_embedControls","_interopRequireDefault","_icons","_embedLoading","_embedPlaceholder","_embedPreview","_clsx","_i18n","_element","_data","_blockEditor","_coreData","_primitives","_url","_caption","_jsxRuntime","EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","attributesUrl","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","defaultEmbedInfo","title","_x","icon","embedContentIcon","getEmbedInfoByProvider","setURL","useState","isEditingURL","setIsEditingURL","invalidateResolution","useDispatch","coreStore","preview","fetching","themeSupportsResponsive","cannotEmbed","hasResolved","useSelect","select","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","hasFinishedResolution","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","data","status","validPreview","getMergedAttributes","getMergedAttributesWithPreview","toggleResponsive","allowResponsive","className","newAllowResponsive","getClassNames","useEffect","newURL","replace","getAuthority","URL","host","toString","mergedAttributes","hasChanges","Object","keys","some","key","upgradedBlock","createUpgradedEmbedBlock","blockProps","useBlockProps","jsx","View","children","default","label","sprintf","__","showEmbedPlaceholder","onSubmit","event","preventDefault","blockClass","removeAspectRatioClasses","value","onChange","fallback","tryAgain","caption","classFromPreview","clsx","jsxs","Fragment","showEditButton","blockSupportsResponsive","switchBackToURLInput","onCaptionChange","Caption","showToolbarButton","_default","exports"],"sources":["@wordpress/block-library/src/embed/edit.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tremoveAspectRatioClasses,\n\tfallback,\n\tgetEmbedInfoByProvider,\n\tgetMergedAttributesWithPreview,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\nimport { getAuthority } from '@wordpress/url';\nimport { Caption } from '../utils/caption';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: {\n\t\t\tproviderNameSlug,\n\t\t\tpreviewable,\n\t\t\tresponsive,\n\t\t\turl: attributesUrl,\n\t\t},\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst { icon, title } =\n\t\tgetEmbedInfoByProvider( providerNameSlug ) || defaultEmbedInfo;\n\n\tconst [ url, setURL ] = useState( attributesUrl );\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst {\n\t\tpreview,\n\t\tfetching,\n\t\tthemeSupportsResponsive,\n\t\tcannotEmbed,\n\t\thasResolved,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEmbedPreview,\n\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\tisRequestingEmbedPreview,\n\t\t\t\tgetThemeSupports,\n\t\t\t\thasFinishedResolution,\n\t\t\t} = select( coreStore );\n\t\t\tif ( ! attributesUrl ) {\n\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t}\n\n\t\t\tconst embedPreview = getEmbedPreview( attributesUrl );\n\t\t\tconst previewIsFallback = isPreviewEmbedFallback( attributesUrl );\n\n\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\tconst badEmbedProvider =\n\t\t\t\tembedPreview?.html === false &&\n\t\t\t\tembedPreview?.type === undefined;\n\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t// a valid JSON response with no HTML and `data.status` set to 404, rather\n\t\t\t// than generating a fallback response as other embeds do.\n\t\t\tconst wordpressCantEmbed = embedPreview?.data?.status === 404;\n\t\t\tconst validPreview =\n\t\t\t\t!! embedPreview && ! badEmbedProvider && ! wordpressCantEmbed;\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: isRequestingEmbedPreview( attributesUrl ),\n\t\t\t\tthemeSupportsResponsive:\n\t\t\t\t\tgetThemeSupports()[ 'responsive-embeds' ],\n\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t\thasResolved: hasFinishedResolution( 'getEmbedPreview', [\n\t\t\t\t\tattributesUrl,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ attributesUrl ]\n\t);\n\n\t/**\n\t * Returns the attributes derived from the preview, merged with the current attributes.\n\t *\n\t * @return {Object} Merged attributes.\n\t */\n\tconst getMergedAttributes = () =>\n\t\tgetMergedAttributesWithPreview(\n\t\t\tattributes,\n\t\t\tpreview,\n\t\t\ttitle,\n\t\t\tresponsive\n\t\t);\n\n\tconst toggleResponsive = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\tconst { html } = preview;\n\t\tconst newAllowResponsive = ! allowResponsive;\n\n\t\tsetAttributes( {\n\t\t\tallowResponsive: newAllowResponsive,\n\t\t\tclassName: getClassNames(\n\t\t\t\thtml,\n\t\t\t\tclassName,\n\t\t\t\tresponsive && newAllowResponsive\n\t\t\t),\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( preview?.html || ! cannotEmbed || ! hasResolved ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = attributesUrl.replace( /\\/$/, '' );\n\t\tsetURL( newURL );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [\n\t\tpreview?.html,\n\t\tattributesUrl,\n\t\tcannotEmbed,\n\t\thasResolved,\n\t\tsetAttributes,\n\t] );\n\n\t// Try a different provider in case the embed url is not supported.\n\tuseEffect( () => {\n\t\tif ( ! cannotEmbed || fetching || ! url ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Until X provider is supported in WordPress, as a workaround we use Twitter provider.\n\t\tif ( getAuthority( url ) === 'x.com' ) {\n\t\t\tconst newURL = new URL( url );\n\t\t\tnewURL.host = 'twitter.com';\n\t\t\tsetAttributes( { url: newURL.toString() } );\n\t\t}\n\t}, [ url, cannotEmbed, fetching, setAttributes ] );\n\n\t// Handle incoming preview.\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// When obtaining an incoming preview,\n\t\t\t// we set the attributes derived from the preview data.\n\t\t\tconst mergedAttributes = getMergedAttributes();\n\t\t\tconst hasChanges = Object.keys( mergedAttributes ).some(\n\t\t\t\t( key ) => mergedAttributes[ key ] !== attributes[ key ]\n\t\t\t);\n\n\t\t\tif ( hasChanges ) {\n\t\t\t\tsetAttributes( mergedAttributes );\n\t\t\t}\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tmergedAttributes\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\t// translators: %s: type of embed e.g: \"YouTube\", \"Twitter\", etc. \"Embed\" is used when no specific type exists\n\tconst label = sprintf( __( '%s URL' ), title );\n\n\t// No preview, or we can't embed the current URL, or we've clicked the edit button.\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed || isEditingURL;\n\n\tif ( showEmbedPlaceholder ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\tif ( event ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If the embed URL was changed, we need to reset the aspect ratio class.\n\t\t\t\t\t\t// To do this we have to remove the existing ratio class so it can be recalculated.\n\t\t\t\t\t\tconst blockClass = removeAspectRatioClasses(\n\t\t\t\t\t\t\tattributes.className\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\tsetAttributes( { url, className: blockClass } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ url }\n\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\tonChange={ ( value ) => setURL( value ) }\n\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [ url ] );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\t// Even though we set attributes that get derived from the preview,\n\t// we don't access them directly because for the initial render,\n\t// the `setAttributes` call will not have taken effect. If we're\n\t// rendering responsive content, setting the responsive classes\n\t// after the preview has been rendered can result in unwanted\n\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t// that `getMergedAttributes` uses is memoized so that we're not\n\t// calculating them on every render.\n\tconst {\n\t\tcaption,\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = clsx( classFromPreview, props.className );\n\n\treturn (\n\t\t<>\n\t\t\t<EmbedControls\n\t\t\t\tshowEditButton={ preview && ! cannotEmbed }\n\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\t\t/>\n\t\t\t<figure\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( blockProps.className, className, {\n\t\t\t\t\t[ `is-type-${ type }` ]: type,\n\t\t\t\t\t[ `is-provider-${ providerNameSlug }` ]: providerNameSlug,\n\t\t\t\t\t[ `wp-block-embed-${ providerNameSlug }` ]:\n\t\t\t\t\t\tproviderNameSlug,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<EmbedPreview\n\t\t\t\t\tpreview={ preview }\n\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\turl={ url }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\tcaption={ caption }\n\t\t\t\t\tonCaptionChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Embed caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -100,7 +100,8 @@ function ImageEdit({
100
100
  // Only observe the max width from the parent container when the parent layout is not flex nor grid.
101
101
  // This won't work for them because the container width changes with the image.
102
102
  // TODO: Find a way to observe the container width for flex and grid layouts.
103
- const isMaxWidthContainerWidth = !parentLayout || parentLayout.type !== 'flex' && parentLayout.type !== 'grid';
103
+ const layoutType = parentLayout?.type || parentLayout?.default?.type;
104
+ const isMaxWidthContainerWidth = !layoutType || layoutType !== 'flex' && layoutType !== 'grid';
104
105
  const [maxWidthObserver, maxContentWidth] = (0, _useMaxWidthObserver.useMaxWidthObserver)();
105
106
  const [placeholderResizeListener, {
106
107
  width: placeholderWidth
@@ -368,7 +369,7 @@ function ImageEdit({
368
369
  context: context,
369
370
  clientId: clientId,
370
371
  blockEditingMode: blockEditingMode,
371
- parentLayoutType: parentLayout?.type,
372
+ parentLayoutType: layoutType,
372
373
  maxContentWidth: maxContentWidth
373
374
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.MediaPlaceholder, {
374
375
  icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockIcon, {
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_blocks","_components","_data","_blockEditor","_element","_i18n","_icons","_notices","_compose","_hooks","_image","_utils","_useMaxWidthObserver","_constants","_jsxRuntime","pickRelevantMediaFiles","image","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","exports","isExternalImage","id","isBlobURL","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","useState","blob","containerRef","useRef","isMaxWidthContainerWidth","type","maxWidthObserver","maxContentWidth","useMaxWidthObserver","placeholderResizeListener","placeholderWidth","useResizeObserver","isSmallContainer","altRef","useEffect","current","captionRef","__unstableMarkNextChangeAsNotPersistent","replaceBlock","useDispatch","blockEditorStore","undefined","getSettings","getBlockRootClientId","getBlockName","canInsertBlockType","useSelect","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","src","onSelectImagesList","images","win","ownerDocument","defaultView","every","file","File","files","rootClientId","some","isValidFileType","__","imageBlocks","map","createBlock","createBlobURL","galleryBlock","onSelectImage","media","Array","isArray","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","useUploadMediaFromBlobURL","allowedTypes","ALLOWED_MEDIA_TYPES","onChange","onError","isExternal","mediaPreview","jsx","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","classes","clsx","style","keys","length","blockProps","useBlockProps","ref","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","getBlockBindingsSource","bindings","source","canUserEditValue","args","label","sprintf","placeholder","content","jsxs","Placeholder","icon","pluginsIcon","withIllustration","instructions","objectFit","children","Fragment","default","parentLayoutType","MediaPlaceholder","BlockIcon","onSelect","accept","handleUpload","value","disableMediaButtons","_default"],"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","_interopRequireDefault","require","_blob","_blocks","_components","_data","_blockEditor","_element","_i18n","_icons","_notices","_compose","_hooks","_image","_utils","_useMaxWidthObserver","_constants","_jsxRuntime","pickRelevantMediaFiles","image","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","exports","isExternalImage","id","isBlobURL","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","useState","blob","containerRef","useRef","layoutType","type","default","isMaxWidthContainerWidth","maxWidthObserver","maxContentWidth","useMaxWidthObserver","placeholderResizeListener","placeholderWidth","useResizeObserver","isSmallContainer","altRef","useEffect","current","captionRef","__unstableMarkNextChangeAsNotPersistent","replaceBlock","useDispatch","blockEditorStore","undefined","getSettings","getBlockRootClientId","getBlockName","canInsertBlockType","useSelect","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","src","onSelectImagesList","images","win","ownerDocument","defaultView","every","file","File","files","rootClientId","some","isValidFileType","__","imageBlocks","map","createBlock","createBlobURL","galleryBlock","onSelectImage","media","Array","isArray","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","useUploadMediaFromBlobURL","allowedTypes","ALLOWED_MEDIA_TYPES","onChange","onError","isExternal","mediaPreview","jsx","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","classes","clsx","style","keys","length","blockProps","useBlockProps","ref","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","getBlockBindingsSource","bindings","source","canUserEditValue","args","label","sprintf","placeholder","content","jsxs","Placeholder","icon","pluginsIcon","withIllustration","instructions","objectFit","children","Fragment","parentLayoutType","MediaPlaceholder","BlockIcon","onSelect","accept","handleUpload","value","disableMediaButtons","_default"],"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 layoutType = parentLayout?.type || parentLayout?.default?.type;\n\tconst isMaxWidthContainerWidth =\n\t\t! layoutType || ( layoutType !== 'flex' && layoutType !== '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={ layoutType }\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":[]}
@@ -240,10 +240,6 @@ function Image({
240
240
  const {
241
241
  allowResize = true
242
242
  } = context;
243
- const {
244
- getBlock,
245
- getSettings
246
- } = (0, _data.useSelect)(_blockEditor.store);
247
243
  const image = (0, _data.useSelect)(select => id && isSingleSelected ? select(_coreData.store).getMedia(id, {
248
244
  context: 'view'
249
245
  }) : null, [id, isSingleSelected]);
@@ -255,7 +251,8 @@ function Image({
255
251
  } = (0, _data.useSelect)(select => {
256
252
  const {
257
253
  getBlockRootClientId,
258
- canInsertBlockType
254
+ canInsertBlockType,
255
+ getSettings
259
256
  } = select(_blockEditor.store);
260
257
  const rootClientId = getBlockRootClientId(clientId);
261
258
  const settings = getSettings();
@@ -266,6 +263,10 @@ function Image({
266
263
  canInsertCover: canInsertBlockType('core/cover', rootClientId)
267
264
  };
268
265
  }, [clientId]);
266
+ const {
267
+ getBlock,
268
+ getSettings
269
+ } = (0, _data.useSelect)(_blockEditor.store);
269
270
  const {
270
271
  replaceBlocks,
271
272
  toggleSelection
@@ -274,6 +275,9 @@ function Image({
274
275
  createErrorNotice,
275
276
  createSuccessNotice
276
277
  } = (0, _data.useDispatch)(_notices.store);
278
+ const {
279
+ editEntityRecord
280
+ } = (0, _data.useDispatch)(_coreData.store);
277
281
  const isLargeViewport = (0, _compose.useViewportMatch)('medium');
278
282
  const isWideAligned = ['wide', 'full'].includes(align);
279
283
  const [{
@@ -312,7 +316,7 @@ function Image({
312
316
  .fetch(url.includes('?') ? url : url + '?').then(response => response.blob()).then(blob => setExternalBlob(blob))
313
317
  // Do nothing, cannot upload.
314
318
  .catch(() => {});
315
- }, [id, url, isSingleSelected, externalBlob]);
319
+ }, [id, url, isSingleSelected, externalBlob, getSettings]);
316
320
 
317
321
  // Get naturalWidth and naturalHeight from image, and fall back to loaded natural
318
322
  // width and height. This resolves an issue in Safari where the loaded natural
@@ -718,7 +722,6 @@ function Image({
718
722
  queryId
719
723
  } = context;
720
724
  const isDescendentOfQueryLoop = Number.isFinite(queryId);
721
- const [, setFeaturedImage] = (0, _coreData.useEntityProp)('postType', postType, 'featured_media', postId);
722
725
  let img = temporaryURL && hasImageErrored ?
723
726
  /*#__PURE__*/
724
727
  // Show a placeholder during upload when the blob URL can't be loaded. This can
@@ -898,7 +901,9 @@ function Image({
898
901
  * Set the post's featured image with the current image.
899
902
  */
900
903
  const setPostFeatureImage = () => {
901
- setFeaturedImage(id);
904
+ editEntityRecord('postType', postType, postId, {
905
+ featured_media: id
906
+ });
902
907
  createSuccessNotice((0, _i18n.__)('Post featured image updated.'), {
903
908
  type: 'snackbar'
904
909
  });