@wordpress/block-library 9.7.1-next.1f6eadc42.0 → 9.8.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 (114) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/categories/edit.js +38 -17
  3. package/build/categories/edit.js.map +1 -1
  4. package/build/categories/index.js +10 -3
  5. package/build/categories/index.js.map +1 -1
  6. package/build/categories/variations.js +43 -0
  7. package/build/categories/variations.js.map +1 -0
  8. package/build/embed/edit.js +1 -0
  9. package/build/embed/edit.js.map +1 -1
  10. package/build/embed/edit.native.js +1 -0
  11. package/build/embed/edit.native.js.map +1 -1
  12. package/build/embed/embed-preview.js +80 -100
  13. package/build/embed/embed-preview.js.map +1 -1
  14. package/build/embed/embed-preview.native.js +1 -0
  15. package/build/embed/embed-preview.native.js.map +1 -1
  16. package/build/form/view.js +1 -0
  17. package/build/form/view.js.map +1 -1
  18. package/build/image/image.js +5 -2
  19. package/build/image/image.js.map +1 -1
  20. package/build/index.js +1 -0
  21. package/build/index.js.map +1 -1
  22. package/build/navigation-submenu/index.js +13 -0
  23. package/build/navigation-submenu/index.js.map +1 -1
  24. package/build/post-template/edit.js +6 -1
  25. package/build/post-template/edit.js.map +1 -1
  26. package/build/post-title/index.js +1 -4
  27. package/build/post-title/index.js.map +1 -1
  28. package/build/query/edit/inspector-controls/format-controls.js +102 -0
  29. package/build/query/edit/inspector-controls/format-controls.js.map +1 -0
  30. package/build/query/edit/inspector-controls/index.js +45 -9
  31. package/build/query/edit/inspector-controls/index.js.map +1 -1
  32. package/build/query/edit/query-content.js +26 -10
  33. package/build/query/edit/query-content.js.map +1 -1
  34. package/build/query/index.js +3 -1
  35. package/build/query/index.js.map +1 -1
  36. package/build/query/utils.js +12 -1
  37. package/build/query/utils.js.map +1 -1
  38. package/build/site-title/index.js +1 -4
  39. package/build/site-title/index.js.map +1 -1
  40. package/build/social-link/edit.js +13 -11
  41. package/build/social-link/edit.js.map +1 -1
  42. package/build-module/categories/edit.js +40 -19
  43. package/build-module/categories/edit.js.map +1 -1
  44. package/build-module/categories/index.js +10 -3
  45. package/build-module/categories/index.js.map +1 -1
  46. package/build-module/categories/variations.js +36 -0
  47. package/build-module/categories/variations.js.map +1 -0
  48. package/build-module/embed/edit.js +1 -0
  49. package/build-module/embed/edit.js.map +1 -1
  50. package/build-module/embed/edit.native.js +1 -0
  51. package/build-module/embed/edit.native.js.map +1 -1
  52. package/build-module/embed/embed-preview.js +80 -100
  53. package/build-module/embed/embed-preview.js.map +1 -1
  54. package/build-module/embed/embed-preview.native.js +1 -0
  55. package/build-module/embed/embed-preview.native.js.map +1 -1
  56. package/build-module/form/view.js +1 -0
  57. package/build-module/form/view.js.map +1 -1
  58. package/build-module/image/image.js +5 -2
  59. package/build-module/image/image.js.map +1 -1
  60. package/build-module/index.js +1 -0
  61. package/build-module/index.js.map +1 -1
  62. package/build-module/navigation-submenu/index.js +13 -0
  63. package/build-module/navigation-submenu/index.js.map +1 -1
  64. package/build-module/post-template/edit.js +6 -1
  65. package/build-module/post-template/edit.js.map +1 -1
  66. package/build-module/post-title/index.js +1 -4
  67. package/build-module/post-title/index.js.map +1 -1
  68. package/build-module/query/edit/inspector-controls/format-controls.js +96 -0
  69. package/build-module/query/edit/inspector-controls/format-controls.js.map +1 -0
  70. package/build-module/query/edit/inspector-controls/index.js +45 -9
  71. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  72. package/build-module/query/edit/query-content.js +27 -11
  73. package/build-module/query/edit/query-content.js.map +1 -1
  74. package/build-module/query/index.js +3 -1
  75. package/build-module/query/index.js.map +1 -1
  76. package/build-module/query/utils.js +12 -1
  77. package/build-module/query/utils.js.map +1 -1
  78. package/build-module/site-title/index.js +1 -4
  79. package/build-module/site-title/index.js.map +1 -1
  80. package/build-module/social-link/edit.js +14 -12
  81. package/build-module/social-link/edit.js.map +1 -1
  82. package/build-style/editor-rtl.css +1 -1
  83. package/build-style/editor.css +1 -1
  84. package/build-style/gallery/editor-rtl.css +1 -1
  85. package/build-style/gallery/editor.css +1 -1
  86. package/build-style/post-title/style-rtl.css +4 -18
  87. package/build-style/post-title/style.css +4 -18
  88. package/build-style/site-title/style-rtl.css +4 -18
  89. package/build-style/site-title/style.css +4 -18
  90. package/build-style/style-rtl.css +8 -36
  91. package/build-style/style.css +8 -36
  92. package/package.json +35 -35
  93. package/src/categories/block.json +7 -2
  94. package/src/categories/edit.js +69 -30
  95. package/src/categories/index.js +2 -0
  96. package/src/categories/index.php +21 -9
  97. package/src/categories/variations.js +40 -0
  98. package/src/comments-pagination-next/index.php +1 -1
  99. package/src/comments-pagination-previous/index.php +2 -1
  100. package/src/embed/embed-preview.js +96 -112
  101. package/src/image/image.js +2 -1
  102. package/src/navigation-submenu/block.json +13 -0
  103. package/src/post-template/edit.js +6 -0
  104. package/src/post-template/index.php +5 -0
  105. package/src/post-title/block.json +1 -4
  106. package/src/post-title/style.scss +4 -21
  107. package/src/query/block.json +3 -1
  108. package/src/query/edit/inspector-controls/format-controls.js +90 -0
  109. package/src/query/edit/inspector-controls/index.js +68 -9
  110. package/src/query/edit/query-content.js +38 -5
  111. package/src/query/utils.js +16 -1
  112. package/src/site-title/block.json +1 -4
  113. package/src/site-title/style.scss +4 -21
  114. package/src/social-link/edit.js +11 -7
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","PanelBody","Placeholder","Spinner","ToggleControl","VisuallyHidden","useInstanceId","InspectorControls","useBlockProps","RichText","decodeEntities","__","pin","useEntityRecords","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","label","showLabel","setAttributes","className","selectId","query","per_page","hide_empty","context","parent","records","categories","isResolving","getCategoriesList","parentId","length","filter","toggleAttribute","attributeName","newValue","renderCategoryName","name","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","children","href","target","rel","childCategory","renderCategoryDropdown","placeholder","withoutInteractiveFormatting","value","onChange","html","as","htmlFor","renderCategoryDropdownItem","level","Array","from","TagName","classes","blockProps","title","__nextHasNoMarginBottom","checked","icon"],"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\tPanelBody,\n\tPlaceholder,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\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 { __ } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { useEntityRecords } from '@wordpress/core-data';\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},\n\tsetAttributes,\n\tclassName,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\t'category',\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 = 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{ showHierarchy && !! childCategories.length && (\n\t\t\t\t\t<ul className=\"children\">\n\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\trenderCategoryListItem( childCategory )\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ul>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = 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={ __( 'Categories' ) }\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 : __( 'Categories' ) }\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>{ __( 'Select Category' ) }</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\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\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"wp-block-categories__indentation\"\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showLabel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show only top level categories' ) }\n\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showOnlyTopLevel' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show empty categories' ) }\n\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! showOnlyTopLevel && (\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 hierarchy' ) }\n\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Categories' ) }>\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>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Your site does not have any posts, so there is nothing to display here at the moment.'\n\t\t\t\t\t) }\n\t\t\t\t</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","PanelBody","Placeholder","SelectControl","Spinner","ToggleControl","VisuallyHidden","useInstanceId","InspectorControls","useBlockProps","RichText","decodeEntities","__","sprintf","pin","useEntityRecords","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","label","showLabel","taxonomy","taxonomySlug","setAttributes","className","selectId","records","allTaxonomies","isResolvingTaxonomies","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","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","children","href","target","rel","childCategory","renderCategoryDropdown","placeholder","withoutInteractiveFormatting","value","onChange","html","as","htmlFor","labels","singular_name","renderCategoryDropdownItem","level","Array","from","TagName","classes","blockProps","title","isArray","__nextHasNoMarginBottom","__next40pxDefaultSize","options","selectedTaxonomy","checked","icon","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\tPanelBody,\n\tPlaceholder,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\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\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\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ Array.isArray( taxonomies ) && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\toptions={ taxonomies.map( ( t ) => ( {\n\t\t\t\t\t\t\t\tlabel: t.name,\n\t\t\t\t\t\t\t\tvalue: t.slug,\n\t\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t\t\tvalue={ taxonomySlug }\n\t\t\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\ttaxonomy: selectedTaxonomy,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"wp-block-categories__indentation\"\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showLabel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isHierarchicalTaxonomy && (\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 only top level terms' ) }\n\t\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showOnlyTopLevel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isHierarchicalTaxonomy && ! showOnlyTopLevel && (\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 hierarchy' ) }\n\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\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":[]}
@@ -11,11 +11,16 @@ const metadata = {
11
11
  $schema: "https://schemas.wp.org/trunk/block.json",
12
12
  apiVersion: 3,
13
13
  name: "core/categories",
14
- title: "Categories List",
14
+ title: "Terms List",
15
15
  category: "widgets",
16
- description: "Display a list of all categories.",
16
+ description: "Display a list of all terms of a given taxonomy.",
17
+ keywords: ["categories"],
17
18
  textdomain: "default",
18
19
  attributes: {
20
+ taxonomy: {
21
+ type: "string",
22
+ "default": "category"
23
+ },
19
24
  displayAsDropdown: {
20
25
  type: "boolean",
21
26
  "default": false
@@ -90,6 +95,7 @@ const metadata = {
90
95
  style: "wp-block-categories"
91
96
  };
92
97
  import edit from './edit';
98
+ import variations from './variations';
93
99
  const {
94
100
  name
95
101
  } = metadata;
@@ -97,7 +103,8 @@ export { metadata, name };
97
103
  export const settings = {
98
104
  icon,
99
105
  example: {},
100
- edit
106
+ edit,
107
+ variations
101
108
  };
102
109
  export const init = () => initBlock({
103
110
  name,
@@ -1 +1 @@
1
- {"version":3,"names":["category","icon","initBlock","metadata","$schema","apiVersion","name","title","description","textdomain","attributes","displayAsDropdown","type","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","label","__experimentalRole","showLabel","usesContext","supports","align","html","spacing","margin","padding","__experimentalDefaultControls","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","__experimentalBorder","radius","color","width","style","editorStyle","edit","settings","example","init"],"sources":["@wordpress/block-library/src/categories/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { category as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAAI,QAAQ,kBAAkB;;AAEnD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAP,QAAA;EAAAQ,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,iBAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,aAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,cAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,gBAAA;MAAAH,IAAA;MAAA;IAAA;IAAAI,SAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,KAAA;MAAAL,IAAA;MAAAM,kBAAA;IAAA;IAAAC,SAAA;MAAAP,IAAA;MAAA;IAAA;EAAA;EAAAQ,WAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,6BAAA;QAAAF,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAT,6BAAA;QAAAE,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAhB,6BAAA;QAAAa,MAAA;QAAAC,KAAA;QAAAC,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAC,WAAA;EAAAD,KAAA;AAAA;AAE5C,OAAOE,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAEvC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMwC,QAAQ,GAAG;EACvB7C,IAAI;EACJ8C,OAAO,EAAE,CAAC,CAAC;EACXF;AACD,CAAC;AAED,OAAO,MAAMG,IAAI,GAAGA,CAAA,KAAM9C,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE2C;AAAS,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["category","icon","initBlock","metadata","$schema","apiVersion","name","title","description","keywords","textdomain","attributes","taxonomy","type","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","label","__experimentalRole","showLabel","usesContext","supports","align","html","spacing","margin","padding","__experimentalDefaultControls","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","__experimentalBorder","radius","color","width","style","editorStyle","edit","variations","settings","example","init"],"sources":["@wordpress/block-library/src/categories/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { category as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAAI,QAAQ,kBAAkB;;AAEnD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAP,QAAA;EAAAQ,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,QAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,iBAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,aAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,cAAA;MAAAH,IAAA;MAAA;IAAA;IAAAI,gBAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,SAAA;MAAAL,IAAA;MAAA;IAAA;IAAAM,KAAA;MAAAN,IAAA;MAAAO,kBAAA;IAAA;IAAAC,SAAA;MAAAR,IAAA;MAAA;IAAA;EAAA;EAAAS,WAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,6BAAA;QAAAF,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAT,6BAAA;QAAAE,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAhB,6BAAA;QAAAa,MAAA;QAAAC,KAAA;QAAAC,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAC,WAAA;EAAAD,KAAA;AAAA;AAE5C,OAAOE,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE1C;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM2C,QAAQ,GAAG;EACvBhD,IAAI;EACJiD,OAAO,EAAE,CAAC,CAAC;EACXH,IAAI;EACJC;AACD,CAAC;AAED,OAAO,MAAMG,IAAI,GAAGA,CAAA,KAAMjD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE8C;AAAS,CAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { category as icon } from '@wordpress/icons';
6
+ const variations = [{
7
+ name: 'terms',
8
+ title: __('Terms List'),
9
+ icon,
10
+ attributes: {
11
+ // We need to set an attribute here that will be set when inserting the block.
12
+ // We cannot leave this empty, as that would be interpreted as the default value,
13
+ // which is `category` -- for which we're defining a distinct variation below,
14
+ // for backwards compatibility reasons.
15
+ // The logical fallback is thus the only other built-in and public taxonomy: Tags.
16
+ taxonomy: 'post_tag'
17
+ },
18
+ isActive: blockAttributes =>
19
+ // This variation is used for any taxonomy other than `category`.
20
+ blockAttributes.taxonomy !== 'category'
21
+ }, {
22
+ name: 'categories',
23
+ title: __('Categories List'),
24
+ description: __('Display a list of all categories.'),
25
+ icon,
26
+ attributes: {
27
+ taxonomy: 'category'
28
+ },
29
+ isActive: ['taxonomy'],
30
+ // The following is needed to prevent "Terms List" from showing up twice in the inserter
31
+ // (once for the block, once for the variation). Fortunately, it does not collide with
32
+ // `categories` being the default value of the `taxonomy` attribute.
33
+ isDefault: true
34
+ }];
35
+ export default variations;
36
+ //# sourceMappingURL=variations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__","category","icon","variations","name","title","attributes","taxonomy","isActive","blockAttributes","description","isDefault"],"sources":["@wordpress/block-library/src/categories/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { category as icon } from '@wordpress/icons';\n\nconst variations = [\n\t{\n\t\tname: 'terms',\n\t\ttitle: __( 'Terms List' ),\n\t\ticon,\n\t\tattributes: {\n\t\t\t// We need to set an attribute here that will be set when inserting the block.\n\t\t\t// We cannot leave this empty, as that would be interpreted as the default value,\n\t\t\t// which is `category` -- for which we're defining a distinct variation below,\n\t\t\t// for backwards compatibility reasons.\n\t\t\t// The logical fallback is thus the only other built-in and public taxonomy: Tags.\n\t\t\ttaxonomy: 'post_tag',\n\t\t},\n\t\tisActive: ( blockAttributes ) =>\n\t\t\t// This variation is used for any taxonomy other than `category`.\n\t\t\tblockAttributes.taxonomy !== 'category',\n\t},\n\t{\n\t\tname: 'categories',\n\t\ttitle: __( 'Categories List' ),\n\t\tdescription: __( 'Display a list of all categories.' ),\n\t\ticon,\n\t\tattributes: {\n\t\t\ttaxonomy: 'category',\n\t\t},\n\t\tisActive: [ 'taxonomy' ],\n\t\t// The following is needed to prevent \"Terms List\" from showing up twice in the inserter\n\t\t// (once for the block, once for the variation). Fortunately, it does not collide with\n\t\t// `categories` being the default value of the `taxonomy` attribute.\n\t\tisDefault: true,\n\t},\n];\n\nexport default variations;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,IAAIC,IAAI,QAAQ,kBAAkB;AAEnD,MAAMC,UAAU,GAAG,CAClB;EACCC,IAAI,EAAE,OAAO;EACbC,KAAK,EAAEL,EAAE,CAAE,YAAa,CAAC;EACzBE,IAAI;EACJI,UAAU,EAAE;IACX;IACA;IACA;IACA;IACA;IACAC,QAAQ,EAAE;EACX,CAAC;EACDC,QAAQ,EAAIC,eAAe;EAC1B;EACAA,eAAe,CAACF,QAAQ,KAAK;AAC/B,CAAC,EACD;EACCH,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAEL,EAAE,CAAE,iBAAkB,CAAC;EAC9BU,WAAW,EAAEV,EAAE,CAAE,mCAAoC,CAAC;EACtDE,IAAI;EACJI,UAAU,EAAE;IACXC,QAAQ,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE,CAAE,UAAU,CAAE;EACxB;EACA;EACA;EACAG,SAAS,EAAE;AACZ,CAAC,CACD;AAED,eAAeR,UAAU","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * Internal dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["createUpgradedEmbedBlock","getClassNames","removeAspectRatioClasses","fallback","getEmbedInfoByProvider","getMergedAttributesWithPreview","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","clsx","__","_x","sprintf","useState","useEffect","useDispatch","useSelect","useBlockProps","store","coreStore","View","getAuthority","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","attributesUrl","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","defaultEmbedInfo","title","icon","setURL","isEditingURL","setIsEditingURL","invalidateResolution","preview","fetching","themeSupportsResponsive","cannotEmbed","hasResolved","select","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","hasFinishedResolution","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","data","status","validPreview","getMergedAttributes","toggleResponsive","allowResponsive","className","newAllowResponsive","newURL","replace","URL","host","toString","mergedAttributes","upgradedBlock","blockProps","children","label","showEmbedPlaceholder","onSubmit","event","preventDefault","blockClass","value","onChange","tryAgain","caption","classFromPreview","showEditButton","blockSupportsResponsive","switchBackToURLInput","onCaptionChange"],"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';\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<View { ...blockProps }>\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</View>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createUpgradedEmbedBlock","getClassNames","removeAspectRatioClasses","fallback","getEmbedInfoByProvider","getMergedAttributesWithPreview","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","clsx","__","_x","sprintf","useState","useEffect","useDispatch","useSelect","useBlockProps","store","coreStore","View","getAuthority","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","attributesUrl","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","defaultEmbedInfo","title","icon","setURL","isEditingURL","setIsEditingURL","invalidateResolution","preview","fetching","themeSupportsResponsive","cannotEmbed","hasResolved","select","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","hasFinishedResolution","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","data","status","validPreview","getMergedAttributes","toggleResponsive","allowResponsive","className","newAllowResponsive","newURL","replace","URL","host","toString","mergedAttributes","upgradedBlock","blockProps","children","label","showEmbedPlaceholder","onSubmit","event","preventDefault","blockClass","value","onChange","tryAgain","caption","classFromPreview","showEditButton","blockSupportsResponsive","switchBackToURLInput","onCaptionChange"],"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';\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<View { ...blockProps }>\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</View>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * Internal dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["createUpgradedEmbedBlock","getClassNames","removeAspectRatioClasses","fallback","getEmbedInfoByProvider","getMergedAttributesWithPreview","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","EmbedLinkSettings","clsx","_x","useCallback","useState","useEffect","useDispatch","useSelect","useBlockProps","store","blockEditorStore","coreStore","View","getAuthority","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","PREVIEWABLE_PROVIDERS","NOT_PREVIEWABLE_WP_EMBED_PROVIDERS","WP_EMBED_TYPE","EmbedEdit","props","attributes","align","providerNameSlug","previewable","responsive","url","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","clientId","defaultEmbedInfo","title","icon","embedInfoByProvider","wasBlockJustInserted","select","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","hasFinishedResolution","isPreviewEmbedFallback","getThemeSupports","embedPreview","hasResolvedEmbedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","getMergedAttributes","toggleResponsive","allowResponsive","className","newAllowResponsive","newURL","replace","URL","host","toString","mergedAttributes","upgradedBlock","onEditURL","value","blockClass","blockProps","children","showEmbedPlaceholder","classFromPreview","isProviderPreviewable","includes","linkLabel","label","onPress","event","tryAgain","openEmbedLinkSettings","blockSupportsResponsive","isDefaultEmbedInfo","autoFocus","isVisible","onClose","onSubmit","withBottomSheet"],"sources":["@wordpress/block-library/src/embed/edit.native.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';\nimport EmbedLinkSettings from './embed-link-settings';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\nimport { getAuthority } from '@wordpress/url';\n\n// The inline preview feature will be released progressible, for this reason\n// the embed will only be considered previewable for the following providers list.\nconst PREVIEWABLE_PROVIDERS = [ 'youtube', 'twitter', 'instagram', 'vimeo' ];\n// Some providers are rendering the inline preview as a WordPress embed and\n// are not supported yet, so we need to disallow them with a fixed providers list.\nconst NOT_PREVIEWABLE_WP_EMBED_PROVIDERS = [ 'pinterest' ];\n\nconst WP_EMBED_TYPE = 'wp-embed';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: { align, providerNameSlug, previewable, responsive, url },\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t\tclientId,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst embedInfoByProvider = getEmbedInfoByProvider( providerNameSlug );\n\tconst { icon, title } = embedInfoByProvider || defaultEmbedInfo;\n\n\tconst { wasBlockJustInserted } = useSelect(\n\t\t( select ) => ( {\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t} ),\n\t\t[ clientId ]\n\t);\n\tconst [ isEditingURL, setIsEditingURL ] = useState(\n\t\tisSelected && wasBlockJustInserted && ! url\n\t);\n\tconst [ showEmbedBottomSheet, setShowEmbedBottomSheet ] =\n\t\tuseState( isEditingURL );\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst { preview, fetching, themeSupportsResponsive, cannotEmbed } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEmbedPreview,\n\t\t\t\t\thasFinishedResolution,\n\t\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\t\tgetThemeSupports,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tif ( ! url ) {\n\t\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t\t}\n\n\t\t\t\tconst embedPreview = getEmbedPreview( url );\n\t\t\t\tconst hasResolvedEmbedPreview = hasFinishedResolution(\n\t\t\t\t\t'getEmbedPreview',\n\t\t\t\t\t[ url ]\n\t\t\t\t);\n\t\t\t\tconst previewIsFallback = isPreviewEmbedFallback( url );\n\n\t\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\t\tconst badEmbedProvider =\n\t\t\t\t\tembedPreview?.html === false &&\n\t\t\t\t\tembedPreview?.type === undefined;\n\t\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t\t// a valid JSON response with no HTML and `code` set to 404, rather\n\t\t\t\t// than generating a fallback response as other embeds do.\n\t\t\t\tconst wordpressCantEmbed = embedPreview?.code === '404';\n\t\t\t\tconst validPreview =\n\t\t\t\t\t!! embedPreview &&\n\t\t\t\t\t! badEmbedProvider &&\n\t\t\t\t\t! wordpressCantEmbed;\n\n\t\t\t\treturn {\n\t\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\t\tfetching: ! hasResolvedEmbedPreview,\n\t\t\t\t\tthemeSupportsResponsive:\n\t\t\t\t\t\tgetThemeSupports()[ 'responsive-embeds' ],\n\t\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ url ]\n\t\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 || fetching ) {\n\t\t\treturn;\n\t\t}\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 = url.replace( /\\/$/, '' );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, url, cannotEmbed, fetching ] );\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\tuseEffect(\n\t\t() => setShowEmbedBottomSheet( isEditingURL ),\n\t\t[ isEditingURL ]\n\t);\n\n\tconst onEditURL = useCallback(\n\t\t( value ) => {\n\t\t\t// If the embed URL was changed, we need to reset the aspect ratio class.\n\t\t\t// To do this we have to remove the existing ratio class so it can be recalculated.\n\t\t\tif ( attributes.url !== value ) {\n\t\t\t\tconst blockClass = removeAspectRatioClasses(\n\t\t\t\t\tattributes.className\n\t\t\t\t);\n\t\t\t\tsetAttributes( { className: blockClass } );\n\t\t\t}\n\n\t\t\t// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,\n\t\t\t// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL\n\t\t\t// for creating the new block.\n\t\t\tsetAttributes( { url: value } );\n\t\t\tsetIsEditingURL( false );\n\t\t},\n\t\t[ attributes, setAttributes ]\n\t);\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\tconst showEmbedPlaceholder = ! preview || cannotEmbed;\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\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = clsx( classFromPreview, props.className );\n\n\tconst isProviderPreviewable =\n\t\tPREVIEWABLE_PROVIDERS.includes( providerNameSlug ) ||\n\t\t// For WordPress embeds, we enable the inline preview for all its providers\n\t\t// except the ones that are not supported yet.\n\t\t( WP_EMBED_TYPE === type &&\n\t\t\t! NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes( providerNameSlug ) );\n\n\tconst linkLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;\n\n\treturn (\n\t\t<>\n\t\t\t{ showEmbedPlaceholder ? (\n\t\t\t\t<>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonPress={ ( event ) => {\n\t\t\t\t\t\t\t\tonFocus( event );\n\t\t\t\t\t\t\t\tsetIsEditingURL( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\topenEmbedLinkSettings={ () =>\n\t\t\t\t\t\t\t\tsetShowEmbedBottomSheet( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<EmbedControls\n\t\t\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tlinkLabel={ linkLabel }\n\t\t\t\t\t\tonEditURL={ onEditURL }\n\t\t\t\t\t/>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPreview\n\t\t\t\t\t\t\talign={ align }\n\t\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tpreview={ preview }\n\t\t\t\t\t\t\tisProviderPreviewable={ isProviderPreviewable }\n\t\t\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tisDefaultEmbedInfo={ ! embedInfoByProvider }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<EmbedLinkSettings\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\tautoFocus\n\t\t\t\tvalue={ url }\n\t\t\t\tlabel={ linkLabel }\n\t\t\t\tisVisible={ showEmbedBottomSheet }\n\t\t\t\tonClose={ () => setShowEmbedBottomSheet( false ) }\n\t\t\t\tonSubmit={ onEditURL }\n\t\t\t\twithBottomSheet\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createUpgradedEmbedBlock","getClassNames","removeAspectRatioClasses","fallback","getEmbedInfoByProvider","getMergedAttributesWithPreview","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","EmbedLinkSettings","clsx","_x","useCallback","useState","useEffect","useDispatch","useSelect","useBlockProps","store","blockEditorStore","coreStore","View","getAuthority","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","PREVIEWABLE_PROVIDERS","NOT_PREVIEWABLE_WP_EMBED_PROVIDERS","WP_EMBED_TYPE","EmbedEdit","props","attributes","align","providerNameSlug","previewable","responsive","url","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","clientId","defaultEmbedInfo","title","icon","embedInfoByProvider","wasBlockJustInserted","select","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","hasFinishedResolution","isPreviewEmbedFallback","getThemeSupports","embedPreview","hasResolvedEmbedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","getMergedAttributes","toggleResponsive","allowResponsive","className","newAllowResponsive","newURL","replace","URL","host","toString","mergedAttributes","upgradedBlock","onEditURL","value","blockClass","blockProps","children","showEmbedPlaceholder","classFromPreview","isProviderPreviewable","includes","linkLabel","label","onPress","event","tryAgain","openEmbedLinkSettings","blockSupportsResponsive","isDefaultEmbedInfo","autoFocus","isVisible","onClose","onSubmit","withBottomSheet"],"sources":["@wordpress/block-library/src/embed/edit.native.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';\nimport EmbedLinkSettings from './embed-link-settings';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\nimport { getAuthority } from '@wordpress/url';\n\n// The inline preview feature will be released progressible, for this reason\n// the embed will only be considered previewable for the following providers list.\nconst PREVIEWABLE_PROVIDERS = [ 'youtube', 'twitter', 'instagram', 'vimeo' ];\n// Some providers are rendering the inline preview as a WordPress embed and\n// are not supported yet, so we need to disallow them with a fixed providers list.\nconst NOT_PREVIEWABLE_WP_EMBED_PROVIDERS = [ 'pinterest' ];\n\nconst WP_EMBED_TYPE = 'wp-embed';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: { align, providerNameSlug, previewable, responsive, url },\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t\tclientId,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst embedInfoByProvider = getEmbedInfoByProvider( providerNameSlug );\n\tconst { icon, title } = embedInfoByProvider || defaultEmbedInfo;\n\n\tconst { wasBlockJustInserted } = useSelect(\n\t\t( select ) => ( {\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t} ),\n\t\t[ clientId ]\n\t);\n\tconst [ isEditingURL, setIsEditingURL ] = useState(\n\t\tisSelected && wasBlockJustInserted && ! url\n\t);\n\tconst [ showEmbedBottomSheet, setShowEmbedBottomSheet ] =\n\t\tuseState( isEditingURL );\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst { preview, fetching, themeSupportsResponsive, cannotEmbed } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEmbedPreview,\n\t\t\t\t\thasFinishedResolution,\n\t\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\t\tgetThemeSupports,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tif ( ! url ) {\n\t\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t\t}\n\n\t\t\t\tconst embedPreview = getEmbedPreview( url );\n\t\t\t\tconst hasResolvedEmbedPreview = hasFinishedResolution(\n\t\t\t\t\t'getEmbedPreview',\n\t\t\t\t\t[ url ]\n\t\t\t\t);\n\t\t\t\tconst previewIsFallback = isPreviewEmbedFallback( url );\n\n\t\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\t\tconst badEmbedProvider =\n\t\t\t\t\tembedPreview?.html === false &&\n\t\t\t\t\tembedPreview?.type === undefined;\n\t\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t\t// a valid JSON response with no HTML and `code` set to 404, rather\n\t\t\t\t// than generating a fallback response as other embeds do.\n\t\t\t\tconst wordpressCantEmbed = embedPreview?.code === '404';\n\t\t\t\tconst validPreview =\n\t\t\t\t\t!! embedPreview &&\n\t\t\t\t\t! badEmbedProvider &&\n\t\t\t\t\t! wordpressCantEmbed;\n\n\t\t\t\treturn {\n\t\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\t\tfetching: ! hasResolvedEmbedPreview,\n\t\t\t\t\tthemeSupportsResponsive:\n\t\t\t\t\t\tgetThemeSupports()[ 'responsive-embeds' ],\n\t\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ url ]\n\t\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 || fetching ) {\n\t\t\treturn;\n\t\t}\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 = url.replace( /\\/$/, '' );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, url, cannotEmbed, fetching ] );\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\tuseEffect(\n\t\t() => setShowEmbedBottomSheet( isEditingURL ),\n\t\t[ isEditingURL ]\n\t);\n\n\tconst onEditURL = useCallback(\n\t\t( value ) => {\n\t\t\t// If the embed URL was changed, we need to reset the aspect ratio class.\n\t\t\t// To do this we have to remove the existing ratio class so it can be recalculated.\n\t\t\tif ( attributes.url !== value ) {\n\t\t\t\tconst blockClass = removeAspectRatioClasses(\n\t\t\t\t\tattributes.className\n\t\t\t\t);\n\t\t\t\tsetAttributes( { className: blockClass } );\n\t\t\t}\n\n\t\t\t// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,\n\t\t\t// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL\n\t\t\t// for creating the new block.\n\t\t\tsetAttributes( { url: value } );\n\t\t\tsetIsEditingURL( false );\n\t\t},\n\t\t[ attributes, setAttributes ]\n\t);\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\tconst showEmbedPlaceholder = ! preview || cannotEmbed;\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\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = clsx( classFromPreview, props.className );\n\n\tconst isProviderPreviewable =\n\t\tPREVIEWABLE_PROVIDERS.includes( providerNameSlug ) ||\n\t\t// For WordPress embeds, we enable the inline preview for all its providers\n\t\t// except the ones that are not supported yet.\n\t\t( WP_EMBED_TYPE === type &&\n\t\t\t! NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes( providerNameSlug ) );\n\n\tconst linkLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;\n\n\treturn (\n\t\t<>\n\t\t\t{ showEmbedPlaceholder ? (\n\t\t\t\t<>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonPress={ ( event ) => {\n\t\t\t\t\t\t\t\tonFocus( event );\n\t\t\t\t\t\t\t\tsetIsEditingURL( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\topenEmbedLinkSettings={ () =>\n\t\t\t\t\t\t\t\tsetShowEmbedBottomSheet( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<EmbedControls\n\t\t\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tlinkLabel={ linkLabel }\n\t\t\t\t\t\tonEditURL={ onEditURL }\n\t\t\t\t\t/>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPreview\n\t\t\t\t\t\t\talign={ align }\n\t\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tpreview={ preview }\n\t\t\t\t\t\t\tisProviderPreviewable={ isProviderPreviewable }\n\t\t\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tisDefaultEmbedInfo={ ! embedInfoByProvider }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<EmbedLinkSettings\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\tautoFocus\n\t\t\t\tvalue={ url }\n\t\t\t\tlabel={ linkLabel }\n\t\t\t\tisVisible={ showEmbedBottomSheet }\n\t\t\t\tonClose={ () => setShowEmbedBottomSheet( false ) }\n\t\t\t\tonSubmit={ onEditURL }\n\t\t\t\twithBottomSheet\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,7 @@ import clsx from 'clsx';
14
14
  import { __, sprintf } from '@wordpress/i18n';
15
15
  import { Placeholder, SandBox } from '@wordpress/components';
16
16
  import { BlockIcon } from '@wordpress/block-editor';
17
- import { Component } from '@wordpress/element';
17
+ import { useState } from '@wordpress/element';
18
18
  import { getAuthority } from '@wordpress/url';
19
19
 
20
20
  /**
@@ -24,114 +24,94 @@ import WpEmbedPreview from './wp-embed-preview';
24
24
  import { Caption } from '../utils/caption';
25
25
  import { jsx as _jsx } from "react/jsx-runtime";
26
26
  import { jsxs as _jsxs } from "react/jsx-runtime";
27
- class EmbedPreview extends Component {
28
- constructor() {
29
- super(...arguments);
30
- this.hideOverlay = this.hideOverlay.bind(this);
31
- this.state = {
32
- interactive: false
33
- };
27
+ export default function EmbedPreview({
28
+ preview,
29
+ previewable,
30
+ url,
31
+ type,
32
+ isSelected,
33
+ className,
34
+ icon,
35
+ label,
36
+ insertBlocksAfter,
37
+ attributes,
38
+ setAttributes
39
+ }) {
40
+ const [interactive, setInteractive] = useState(false);
41
+ if (!isSelected && interactive) {
42
+ // We only want to change this when the block is not selected, because changing it when
43
+ // the block becomes selected makes the overlap disappear too early. Hiding the overlay
44
+ // happens on mouseup when the overlay is clicked.
45
+ setInteractive(false);
34
46
  }
35
- static getDerivedStateFromProps(nextProps, state) {
36
- if (!nextProps.isSelected && state.interactive) {
37
- // We only want to change this when the block is not selected, because changing it when
38
- // the block becomes selected makes the overlap disappear too early. Hiding the overlay
39
- // happens on mouseup when the overlay is clicked.
40
- return {
41
- interactive: false
42
- };
43
- }
44
- return null;
45
- }
46
- hideOverlay() {
47
+ const hideOverlay = () => {
47
48
  // This is called onMouseUp on the overlay. We can't respond to the `isSelected` prop
48
49
  // changing, because that happens on mouse down, and the overlay immediately disappears,
49
50
  // and the mouse event can end up in the preview content. We can't use onClick on
50
51
  // the overlay to hide it either, because then the editor misses the mouseup event, and
51
52
  // thinks we're multi-selecting blocks.
52
- this.setState({
53
- interactive: true
54
- });
55
- }
56
- render() {
57
- const {
58
- preview,
59
- previewable,
60
- url,
61
- type,
62
- className,
63
- icon,
64
- label,
65
- insertBlocksAfter,
66
- attributes,
67
- setAttributes,
68
- isSelected
69
- } = this.props;
70
- const {
71
- scripts
72
- } = preview;
73
- const {
74
- interactive
75
- } = this.state;
76
- const html = 'photo' === type ? getPhotoHtml(preview) : preview.html;
77
- const embedSourceUrl = getAuthority(url);
78
- const iframeTitle = sprintf(
79
- // translators: %s: host providing embed content e.g: www.youtube.com
80
- __('Embedded content from %s'), embedSourceUrl);
81
- const sandboxClassnames = clsx(type, className, 'wp-block-embed__wrapper');
53
+ setInteractive(true);
54
+ };
55
+ const {
56
+ scripts
57
+ } = preview;
58
+ const html = 'photo' === type ? getPhotoHtml(preview) : preview.html;
59
+ const embedSourceUrl = getAuthority(url);
60
+ const iframeTitle = sprintf(
61
+ // translators: %s: host providing embed content e.g: www.youtube.com
62
+ __('Embedded content from %s'), embedSourceUrl);
63
+ const sandboxClassnames = clsx(type, className, 'wp-block-embed__wrapper');
82
64
 
83
- // Disabled because the overlay div doesn't actually have a role or functionality
84
- // as far as the user is concerned. We're just catching the first click so that
85
- // the block can be selected without interacting with the embed preview that the overlay covers.
86
- /* eslint-disable jsx-a11y/no-static-element-interactions */
87
- const embedWrapper = 'wp-embed' === type ? /*#__PURE__*/_jsx(WpEmbedPreview, {
88
- html: html
89
- }) : /*#__PURE__*/_jsxs("div", {
90
- className: "wp-block-embed__wrapper",
91
- children: [/*#__PURE__*/_jsx(SandBox, {
92
- html: html,
93
- scripts: scripts,
94
- title: iframeTitle,
95
- type: sandboxClassnames,
96
- onFocus: this.hideOverlay
97
- }), !interactive && /*#__PURE__*/_jsx("div", {
98
- className: "block-library-embed__interactive-overlay",
99
- onMouseUp: this.hideOverlay
100
- })]
101
- });
102
- /* eslint-enable jsx-a11y/no-static-element-interactions */
65
+ // Disabled because the overlay div doesn't actually have a role or functionality
66
+ // as far as the user is concerned. We're just catching the first click so that
67
+ // the block can be selected without interacting with the embed preview that the overlay covers.
68
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
69
+ const embedWrapper = 'wp-embed' === type ? /*#__PURE__*/_jsx(WpEmbedPreview, {
70
+ html: html
71
+ }) : /*#__PURE__*/_jsxs("div", {
72
+ className: "wp-block-embed__wrapper",
73
+ children: [/*#__PURE__*/_jsx(SandBox, {
74
+ html: html,
75
+ scripts: scripts,
76
+ title: iframeTitle,
77
+ type: sandboxClassnames,
78
+ onFocus: hideOverlay
79
+ }), !interactive && /*#__PURE__*/_jsx("div", {
80
+ className: "block-library-embed__interactive-overlay",
81
+ onMouseUp: hideOverlay
82
+ })]
83
+ });
84
+ /* eslint-enable jsx-a11y/no-static-element-interactions */
103
85
 
104
- return /*#__PURE__*/_jsxs("figure", {
105
- className: clsx(className, 'wp-block-embed', {
106
- 'is-type-video': 'video' === type
86
+ return /*#__PURE__*/_jsxs("figure", {
87
+ className: clsx(className, 'wp-block-embed', {
88
+ 'is-type-video': 'video' === type
89
+ }),
90
+ children: [previewable ? embedWrapper : /*#__PURE__*/_jsxs(Placeholder, {
91
+ icon: /*#__PURE__*/_jsx(BlockIcon, {
92
+ icon: icon,
93
+ showColors: true
107
94
  }),
108
- children: [previewable ? embedWrapper : /*#__PURE__*/_jsxs(Placeholder, {
109
- icon: /*#__PURE__*/_jsx(BlockIcon, {
110
- icon: icon,
111
- showColors: true
112
- }),
113
- label: label,
114
- children: [/*#__PURE__*/_jsx("p", {
115
- className: "components-placeholder__error",
116
- children: /*#__PURE__*/_jsx("a", {
117
- href: url,
118
- children: url
119
- })
120
- }), /*#__PURE__*/_jsx("p", {
121
- className: "components-placeholder__error",
122
- children: sprintf( /* translators: %s: host providing embed content e.g: www.youtube.com */
123
- __("Embedded content from %s can't be previewed in the editor."), embedSourceUrl)
124
- })]
125
- }), /*#__PURE__*/_jsx(Caption, {
126
- attributes: attributes,
127
- setAttributes: setAttributes,
128
- isSelected: isSelected,
129
- insertBlocksAfter: insertBlocksAfter,
130
- label: __('Embed caption text'),
131
- showToolbarButton: isSelected
95
+ label: label,
96
+ children: [/*#__PURE__*/_jsx("p", {
97
+ className: "components-placeholder__error",
98
+ children: /*#__PURE__*/_jsx("a", {
99
+ href: url,
100
+ children: url
101
+ })
102
+ }), /*#__PURE__*/_jsx("p", {
103
+ className: "components-placeholder__error",
104
+ children: sprintf( /* translators: %s: host providing embed content e.g: www.youtube.com */
105
+ __("Embedded content from %s can't be previewed in the editor."), embedSourceUrl)
132
106
  })]
133
- });
134
- }
107
+ }), /*#__PURE__*/_jsx(Caption, {
108
+ attributes: attributes,
109
+ setAttributes: setAttributes,
110
+ isSelected: isSelected,
111
+ insertBlocksAfter: insertBlocksAfter,
112
+ label: __('Embed caption text'),
113
+ showToolbarButton: isSelected
114
+ })]
115
+ });
135
116
  }
136
- export default EmbedPreview;
137
117
  //# sourceMappingURL=embed-preview.js.map