@wordpress/block-library 9.11.0 → 9.12.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 (173) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/index.js +1 -1
  3. package/build/button/index.js.map +1 -1
  4. package/build/cover/deprecated.js +140 -4
  5. package/build/cover/deprecated.js.map +1 -1
  6. package/build/cover/edit/block-controls.js +1 -1
  7. package/build/cover/edit/block-controls.js.map +1 -1
  8. package/build/cover/edit/cover-placeholder.js +1 -2
  9. package/build/cover/edit/cover-placeholder.js.map +1 -1
  10. package/build/cover/edit/index.js +22 -22
  11. package/build/cover/edit/index.js.map +1 -1
  12. package/build/cover/save.js +13 -13
  13. package/build/cover/save.js.map +1 -1
  14. package/build/details/index.js +1 -0
  15. package/build/details/index.js.map +1 -1
  16. package/build/file/edit.js +1 -1
  17. package/build/file/edit.js.map +1 -1
  18. package/build/gallery/edit.js +1 -1
  19. package/build/gallery/edit.js.map +1 -1
  20. package/build/image/edit.js +1 -1
  21. package/build/image/edit.js.map +1 -1
  22. package/build/image/image.js +144 -78
  23. package/build/image/image.js.map +1 -1
  24. package/build/image/index.js +1 -1
  25. package/build/latest-posts/edit.js +0 -1
  26. package/build/latest-posts/edit.js.map +1 -1
  27. package/build/lock-unlock.js.map +1 -1
  28. package/build/navigation/edit/index.js +2 -23
  29. package/build/navigation/edit/index.js.map +1 -1
  30. package/build/paragraph/edit.js +1 -1
  31. package/build/paragraph/edit.js.map +1 -1
  32. package/build/post-content/index.js +13 -0
  33. package/build/post-content/index.js.map +1 -1
  34. package/build/post-template/edit.js +11 -0
  35. package/build/post-template/edit.js.map +1 -1
  36. package/build/post-template/index.js +1 -1
  37. package/build/query/edit/inspector-controls/index.js +2 -2
  38. package/build/query/edit/inspector-controls/index.js.map +1 -1
  39. package/build/query/edit/pattern-selection-modal.js +0 -3
  40. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  41. package/build/query/edit/query-content.js +10 -12
  42. package/build/query/edit/query-content.js.map +1 -1
  43. package/build/query/index.js +1 -1
  44. package/build/query/utils.js +32 -1
  45. package/build/query/utils.js.map +1 -1
  46. package/build/template-part/edit/index.js +1 -4
  47. package/build/template-part/edit/index.js.map +1 -1
  48. package/build/template-part/edit/selection-modal.js +0 -3
  49. package/build/template-part/edit/selection-modal.js.map +1 -1
  50. package/build/video/edit.js +1 -1
  51. package/build/video/edit.js.map +1 -1
  52. package/build/video/tracks-editor.js +0 -2
  53. package/build/video/tracks-editor.js.map +1 -1
  54. package/build-module/button/index.js +1 -1
  55. package/build-module/button/index.js.map +1 -1
  56. package/build-module/cover/deprecated.js +140 -4
  57. package/build-module/cover/deprecated.js.map +1 -1
  58. package/build-module/cover/edit/block-controls.js +1 -1
  59. package/build-module/cover/edit/block-controls.js.map +1 -1
  60. package/build-module/cover/edit/cover-placeholder.js +1 -2
  61. package/build-module/cover/edit/cover-placeholder.js.map +1 -1
  62. package/build-module/cover/edit/index.js +22 -22
  63. package/build-module/cover/edit/index.js.map +1 -1
  64. package/build-module/cover/save.js +13 -13
  65. package/build-module/cover/save.js.map +1 -1
  66. package/build-module/details/index.js +1 -0
  67. package/build-module/details/index.js.map +1 -1
  68. package/build-module/file/edit.js +1 -1
  69. package/build-module/file/edit.js.map +1 -1
  70. package/build-module/gallery/edit.js +1 -1
  71. package/build-module/gallery/edit.js.map +1 -1
  72. package/build-module/image/edit.js +1 -1
  73. package/build-module/image/edit.js.map +1 -1
  74. package/build-module/image/image.js +149 -83
  75. package/build-module/image/image.js.map +1 -1
  76. package/build-module/image/index.js +1 -1
  77. package/build-module/latest-posts/edit.js +0 -1
  78. package/build-module/latest-posts/edit.js.map +1 -1
  79. package/build-module/lock-unlock.js.map +1 -1
  80. package/build-module/navigation/edit/index.js +2 -23
  81. package/build-module/navigation/edit/index.js.map +1 -1
  82. package/build-module/paragraph/edit.js +1 -1
  83. package/build-module/paragraph/edit.js.map +1 -1
  84. package/build-module/post-content/index.js +13 -0
  85. package/build-module/post-content/index.js.map +1 -1
  86. package/build-module/post-template/edit.js +11 -0
  87. package/build-module/post-template/edit.js.map +1 -1
  88. package/build-module/post-template/index.js +1 -1
  89. package/build-module/query/edit/inspector-controls/index.js +2 -2
  90. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  91. package/build-module/query/edit/pattern-selection-modal.js +0 -3
  92. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  93. package/build-module/query/edit/query-content.js +10 -12
  94. package/build-module/query/edit/query-content.js.map +1 -1
  95. package/build-module/query/index.js +1 -1
  96. package/build-module/query/utils.js +29 -0
  97. package/build-module/query/utils.js.map +1 -1
  98. package/build-module/template-part/edit/index.js +1 -4
  99. package/build-module/template-part/edit/index.js.map +1 -1
  100. package/build-module/template-part/edit/selection-modal.js +0 -3
  101. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  102. package/build-module/video/edit.js +1 -1
  103. package/build-module/video/edit.js.map +1 -1
  104. package/build-module/video/tracks-editor.js +0 -2
  105. package/build-module/video/tracks-editor.js.map +1 -1
  106. package/build-style/cover/editor-rtl.css +3 -5
  107. package/build-style/cover/editor.css +3 -5
  108. package/build-style/cover/style-rtl.css +19 -15
  109. package/build-style/cover/style.css +19 -15
  110. package/build-style/editor-rtl.css +7 -22
  111. package/build-style/editor.css +7 -22
  112. package/build-style/group/editor-rtl.css +0 -10
  113. package/build-style/group/editor.css +0 -10
  114. package/build-style/image/editor-rtl.css +4 -0
  115. package/build-style/image/editor.css +4 -0
  116. package/build-style/image/style-rtl.css +0 -2
  117. package/build-style/image/style.css +0 -2
  118. package/build-style/latest-posts/editor-rtl.css +0 -7
  119. package/build-style/latest-posts/editor.css +0 -7
  120. package/build-style/media-text/style-rtl.css +1 -1
  121. package/build-style/media-text/style.css +1 -1
  122. package/build-style/style-rtl.css +20 -18
  123. package/build-style/style.css +20 -18
  124. package/build-types/lock-unlock.d.ts +2 -0
  125. package/build-types/lock-unlock.d.ts.map +1 -0
  126. package/package.json +8 -8
  127. package/src/button/index.js +1 -1
  128. package/src/comments/block.json +3 -9
  129. package/src/cover/deprecated.js +182 -4
  130. package/src/cover/edit/block-controls.js +1 -1
  131. package/src/cover/edit/cover-placeholder.js +0 -3
  132. package/src/cover/edit/index.js +41 -26
  133. package/src/cover/editor.scss +4 -5
  134. package/src/cover/save.js +27 -20
  135. package/src/cover/style.scss +40 -16
  136. package/src/cover/test/__snapshots__/edit.native.js.snap +9 -9
  137. package/src/cover/test/__snapshots__/transforms.native.js.snap +4 -4
  138. package/src/cover/test/edit.native.js +4 -4
  139. package/src/cover/test/transforms.native.js +4 -4
  140. package/src/details/block.json +1 -0
  141. package/src/file/edit.js +1 -1
  142. package/src/gallery/edit.js +1 -1
  143. package/src/group/editor.scss +0 -12
  144. package/src/image/block.json +1 -1
  145. package/src/image/edit.js +1 -1
  146. package/src/image/editor.scss +4 -0
  147. package/src/image/image.js +200 -109
  148. package/src/image/style.scss +0 -1
  149. package/src/image/test/__snapshots__/transforms.native.js.snap +1 -1
  150. package/src/latest-posts/edit.js +0 -1
  151. package/src/latest-posts/editor.scss +0 -11
  152. package/src/media-text/style.scss +1 -1
  153. package/src/media-text/test/__snapshots__/transforms.native.js.snap +2 -2
  154. package/src/navigation/edit/index.js +3 -30
  155. package/src/navigation/index.php +1 -1
  156. package/src/paragraph/edit.js +1 -1
  157. package/src/post-content/block.json +14 -1
  158. package/src/post-template/block.json +2 -1
  159. package/src/post-template/edit.js +19 -0
  160. package/src/query/block.json +1 -1
  161. package/src/query/edit/inspector-controls/index.js +2 -2
  162. package/src/query/edit/pattern-selection-modal.js +0 -3
  163. package/src/query/edit/query-content.js +9 -17
  164. package/src/query/test/utils.js +59 -1
  165. package/src/query/utils.js +29 -0
  166. package/src/search/index.php +2 -2
  167. package/src/template-part/edit/index.js +1 -4
  168. package/src/template-part/edit/selection-modal.js +0 -3
  169. package/src/video/edit.js +1 -1
  170. package/src/video/test/__snapshots__/transforms.native.js.snap +1 -1
  171. package/src/video/tracks-editor.js +0 -2
  172. package/tsconfig.tsbuildinfo +1 -1
  173. /package/src/{lock-unlock.js → lock-unlock.ts} +0 -0
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getValueFromObjectPath = exports.getTransformedBlocksFromPattern = exports.getEntitiesInfo = void 0;
6
+ exports.getEntitiesInfo = void 0;
7
+ exports.getQueryContextFromTemplate = getQueryContextFromTemplate;
8
+ exports.getValueFromObjectPath = exports.getTransformedBlocksFromPattern = void 0;
7
9
  exports.isControlAllowed = isControlAllowed;
8
10
  exports.mapToIHasNameAndId = void 0;
9
11
  exports.useAllowedControls = useAllowedControls;
@@ -422,5 +424,34 @@ const useUnsupportedBlocks = clientId => {
422
424
  return blocks;
423
425
  }, [clientId]);
424
426
  };
427
+
428
+ /**
429
+ * Helper function that returns the query context from the editor based on the
430
+ * available template slug.
431
+ *
432
+ * @param {string} templateSlug Current template slug based on context.
433
+ * @return {Object} An object with isSingular and templateType properties.
434
+ */
425
435
  exports.useUnsupportedBlocks = useUnsupportedBlocks;
436
+ function getQueryContextFromTemplate(templateSlug) {
437
+ // In the Post Editor, the template slug is not available.
438
+ if (!templateSlug) {
439
+ return {
440
+ isSingular: true
441
+ };
442
+ }
443
+ let isSingular = false;
444
+ let templateType = templateSlug === 'wp' ? 'custom' : templateSlug;
445
+ const singularTemplates = ['404', 'blank', 'single', 'page', 'custom'];
446
+ const templateTypeFromSlug = templateSlug.includes('-') ? templateSlug.split('-', 1)[0] : templateSlug;
447
+ const queryFromTemplateSlug = templateSlug.includes('-') ? templateSlug.split('-').slice(1).join('-') : '';
448
+ if (queryFromTemplateSlug) {
449
+ templateType = templateTypeFromSlug;
450
+ }
451
+ isSingular = singularTemplates.includes(templateType);
452
+ return {
453
+ isSingular,
454
+ templateType
455
+ };
456
+ }
426
457
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_element","_coreData","_blockEditor","_htmlEntities","_blocks","getEntitiesInfo","entities","mapping","reduce","accumulator","entity","mapById","mapByName","names","id","name","push","exports","getValueFromObjectPath","object","path","normalizedPath","split","value","forEach","fieldName","mapToIHasNameAndId","map","decodeEntities","usePostTypes","postTypes","useSelect","select","getPostTypes","coreStore","excludedPostTypes","filteredPostTypes","per_page","filter","viewable","slug","includes","postTypesTaxonomiesMap","useMemo","length","type","taxonomies","postTypesSelectOptions","labels","label","singular_name","postTypeFormatSupportMap","supports","useTaxonomies","postType","getTaxonomies","getPostType","visibility","publicly_queryable","useIsPostTypeHierarchical","hierarchical","useAllowedControls","attributes","blocksStore","getActiveBlockVariation","allowedControls","isControlAllowed","key","getTransformedBlocksFromPattern","blocks","queryBlockAttributes","query","inherit","namespace","clonedBlocks","block","cloneBlock","queryClientIds","blocksQueue","shift","clientId","innerBlocks","innerBlock","newBlocks","useBlockNameForPatterns","activeVariationName","blockName","hasActiveVariationPatterns","getBlockRootClientId","getPatternsByBlockTypes","blockEditorStore","rootClientId","activePatterns","useScopedBlockVariations","blockVariations","getBlockVariations","variations","isNotConnected","variation","connectedVariations","usePatterns","useUnsupportedBlocks","getClientIdsOfDescendants","getBlockName","descendantClientId","blockSupportsInteractivity","Object","is","getBlockSupport","blockSupportsInteractivityClientNavigation","blockInteractivity","hasBlocksFromPlugins","hasPostContentBlock","hasUnsupportedBlocks"],"sources":["@wordpress/block-library/src/query/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport {\n\tcloneBlock,\n\tgetBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */\n\n/**\n * @typedef IHasNameAndId\n * @property {string|number} id The entity's id.\n * @property {string} name The entity's name.\n */\n\n/**\n * The object used in Query block that contains info and helper mappings\n * from an array of IHasNameAndId objects.\n *\n * @typedef {Object} QueryEntitiesInfo\n * @property {IHasNameAndId[]} entities The array of entities.\n * @property {Object<string, IHasNameAndId>} mapById Object mapping with the id as key and the entity as value.\n * @property {Object<string, IHasNameAndId>} mapByName Object mapping with the name as key and the entity as value.\n * @property {string[]} names Array with the entities' names.\n */\n\n/**\n * Returns a helper object with mapping from Objects that implement\n * the `IHasNameAndId` interface. The returned object is used for\n * integration with `FormTokenField` component.\n *\n * @param {IHasNameAndId[]} entities The entities to extract of helper object.\n * @return {QueryEntitiesInfo} The object with the entities information.\n */\nexport const getEntitiesInfo = ( entities ) => {\n\tconst mapping = entities?.reduce(\n\t\t( accumulator, entity ) => {\n\t\t\tconst { mapById, mapByName, names } = accumulator;\n\t\t\tmapById[ entity.id ] = entity;\n\t\t\tmapByName[ entity.name ] = entity;\n\t\t\tnames.push( entity.name );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ mapById: {}, mapByName: {}, names: [] }\n\t);\n\treturn {\n\t\tentities,\n\t\t...mapping,\n\t};\n};\n\n/**\n * Helper util to return a value from a certain path of the object.\n * Path is specified as a string of properties, separated by dots,\n * for example: \"parent.child\".\n *\n * @param {Object} object Input object.\n * @param {string} path Path to the object property.\n * @return {*} Value of the object property at the specified path.\n */\nexport const getValueFromObjectPath = ( object, path ) => {\n\tconst normalizedPath = path.split( '.' );\n\tlet value = object;\n\tnormalizedPath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\n/**\n * Helper util to map records to add a `name` prop from a\n * provided path, in order to handle all entities in the same\n * fashion(implementing`IHasNameAndId` interface).\n *\n * @param {Object[]} entities The array of entities.\n * @param {string} path The path to map a `name` property from the entity.\n * @return {IHasNameAndId[]} An array of enitities that now implement the `IHasNameAndId` interface.\n */\nexport const mapToIHasNameAndId = ( entities, path ) => {\n\treturn ( entities || [] ).map( ( entity ) => ( {\n\t\t...entity,\n\t\tname: decodeEntities( getValueFromObjectPath( entity, path ) ),\n\t} ) );\n};\n\n/**\n * Returns a helper object that contains:\n * 1. An `options` object from the available post types, to be passed to a `SelectControl`.\n * 2. A helper map with available taxonomies per post type.\n * 3. A helper map with post format support per post type.\n *\n * @return {Object} The helper object related to post types.\n */\nexport const usePostTypes = () => {\n\tconst postTypes = useSelect( ( select ) => {\n\t\tconst { getPostTypes } = select( coreStore );\n\t\tconst excludedPostTypes = [ 'attachment' ];\n\t\tconst filteredPostTypes = getPostTypes( { per_page: -1 } )?.filter(\n\t\t\t( { viewable, slug } ) =>\n\t\t\t\tviewable && ! excludedPostTypes.includes( slug )\n\t\t);\n\t\treturn filteredPostTypes;\n\t}, [] );\n\tconst postTypesTaxonomiesMap = useMemo( () => {\n\t\tif ( ! postTypes?.length ) {\n\t\t\treturn;\n\t\t}\n\t\treturn postTypes.reduce( ( accumulator, type ) => {\n\t\t\taccumulator[ type.slug ] = type.taxonomies;\n\t\t\treturn accumulator;\n\t\t}, {} );\n\t}, [ postTypes ] );\n\tconst postTypesSelectOptions = useMemo(\n\t\t() =>\n\t\t\t( postTypes || [] ).map( ( { labels, slug } ) => ( {\n\t\t\t\tlabel: labels.singular_name,\n\t\t\t\tvalue: slug,\n\t\t\t} ) ),\n\t\t[ postTypes ]\n\t);\n\tconst postTypeFormatSupportMap = useMemo( () => {\n\t\tif ( ! postTypes?.length ) {\n\t\t\treturn {};\n\t\t}\n\t\treturn postTypes.reduce( ( accumulator, type ) => {\n\t\t\taccumulator[ type.slug ] =\n\t\t\t\ttype.supports?.[ 'post-formats' ] || false;\n\t\t\treturn accumulator;\n\t\t}, {} );\n\t}, [ postTypes ] );\n\treturn {\n\t\tpostTypesTaxonomiesMap,\n\t\tpostTypesSelectOptions,\n\t\tpostTypeFormatSupportMap,\n\t};\n};\n\n/**\n * Hook that returns the taxonomies associated with a specific post type.\n *\n * @param {string} postType The post type from which to retrieve the associated taxonomies.\n * @return {Object[]} An array of the associated taxonomies.\n */\nexport const useTaxonomies = ( postType ) => {\n\tconst taxonomies = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getTaxonomies, getPostType } = select( coreStore );\n\t\t\t// Does the post type have taxonomies?\n\t\t\tif ( getPostType( postType )?.taxonomies?.length > 0 ) {\n\t\t\t\treturn getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn [];\n\t\t},\n\t\t[ postType ]\n\t);\n\treturn useMemo( () => {\n\t\treturn taxonomies?.filter(\n\t\t\t( { visibility } ) => !! visibility?.publicly_queryable\n\t\t);\n\t}, [ taxonomies ] );\n};\n\n/**\n * Hook that returns whether a specific post type is hierarchical.\n *\n * @param {string} postType The post type to check.\n * @return {boolean} Whether a specific post type is hierarchical.\n */\nexport function useIsPostTypeHierarchical( postType ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst type = select( coreStore ).getPostType( postType );\n\t\t\treturn type?.viewable && type?.hierarchical;\n\t\t},\n\t\t[ postType ]\n\t);\n}\n\n/**\n * Hook that returns the query properties' names defined by the active\n * block variation, to determine which block's filters to show.\n *\n * @param {Object} attributes Block attributes.\n * @return {string[]} An array of the query attributes.\n */\nexport function useAllowedControls( attributes ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( blocksStore ).getActiveBlockVariation(\n\t\t\t\t'core/query',\n\t\t\t\tattributes\n\t\t\t)?.allowedControls,\n\n\t\t[ attributes ]\n\t);\n}\nexport function isControlAllowed( allowedControls, key ) {\n\t// Every controls is allowed if the list is not defined.\n\tif ( ! allowedControls ) {\n\t\treturn true;\n\t}\n\treturn allowedControls.includes( key );\n}\n\n/**\n * Clones a pattern's blocks and then recurses over that list of blocks,\n * transforming them to retain some `query` attribute properties.\n * For now we retain the `postType` and `inherit` properties as they are\n * fundamental for the expected functionality of the block and don't affect\n * its design and presentation.\n *\n * Returns the cloned/transformed blocks and array of existing Query Loop\n * client ids for further manipulation, in order to avoid multiple recursions.\n *\n * @param {WPBlock[]} blocks The list of blocks to look through and transform(mutate).\n * @param {Record<string,*>} queryBlockAttributes The existing Query Loop's attributes.\n * @return {{ newBlocks: WPBlock[], queryClientIds: string[] }} An object with the cloned/transformed blocks and all the Query Loop clients from these blocks.\n */\nexport const getTransformedBlocksFromPattern = (\n\tblocks,\n\tqueryBlockAttributes\n) => {\n\tconst {\n\t\tquery: { postType, inherit },\n\t\tnamespace,\n\t} = queryBlockAttributes;\n\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\tconst queryClientIds = [];\n\tconst blocksQueue = [ ...clonedBlocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\t\tif ( block.name === 'core/query' ) {\n\t\t\tblock.attributes.query = {\n\t\t\t\t...block.attributes.query,\n\t\t\t\tpostType,\n\t\t\t\tinherit,\n\t\t\t};\n\t\t\tif ( namespace ) {\n\t\t\t\tblock.attributes.namespace = namespace;\n\t\t\t}\n\t\t\tqueryClientIds.push( block.clientId );\n\t\t}\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n\treturn { newBlocks: clonedBlocks, queryClientIds };\n};\n\n/**\n * Helper hook that determines if there is an active variation of the block\n * and if there are available specific patterns for this variation.\n * If there are, these patterns are going to be the only ones suggested to\n * the user in setup and replace flow, without including the default ones\n * for Query Loop.\n *\n * If there are no such patterns, the default ones for Query Loop are going\n * to be suggested.\n *\n * @param {string} clientId The block's client ID.\n * @param {Object} attributes The block's attributes.\n * @return {string} The block name to be used in the patterns suggestions.\n */\nexport function useBlockNameForPatterns( clientId, attributes ) {\n\tconst activeVariationName = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blocksStore ).getActiveBlockVariation(\n\t\t\t\t'core/query',\n\t\t\t\tattributes\n\t\t\t)?.name,\n\t\t[ attributes ]\n\t);\n\tconst blockName = `core/query/${ activeVariationName }`;\n\tconst hasActiveVariationPatterns = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! activeVariationName ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst activePatterns = getPatternsByBlockTypes(\n\t\t\t\tblockName,\n\t\t\t\trootClientId\n\t\t\t);\n\t\t\treturn activePatterns.length > 0;\n\t\t},\n\t\t[ clientId, activeVariationName, blockName ]\n\t);\n\treturn hasActiveVariationPatterns ? blockName : 'core/query';\n}\n\n/**\n * Helper hook that determines if there is an active variation of the block\n * and if there are available specific scoped `block` variations connected with\n * this variation.\n *\n * If there are, these variations are going to be the only ones suggested\n * to the user in setup flow when clicking to `start blank`, without including\n * the default ones for Query Loop.\n *\n * If there are no such scoped `block` variations, the default ones for Query\n * Loop are going to be suggested.\n *\n * The way we determine such variations is with the convention that they have the `namespace`\n * attribute defined as an array. This array should contain the names(`name` property) of any\n * variations they want to be connected to.\n * For example, if we have a `Query Loop` scoped `inserter` variation with the name `products`,\n * we can connect a scoped `block` variation by setting its `namespace` attribute to `['products']`.\n * If the user selects this variation, the `namespace` attribute will be overridden by the\n * main `inserter` variation.\n *\n * @param {Object} attributes The block's attributes.\n * @return {WPBlockVariation[]} The block variations to be suggested in setup flow, when clicking to `start blank`.\n */\nexport function useScopedBlockVariations( attributes ) {\n\tconst { activeVariationName, blockVariations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\t\t\treturn {\n\t\t\t\tactiveVariationName: getActiveBlockVariation(\n\t\t\t\t\t'core/query',\n\t\t\t\t\tattributes\n\t\t\t\t)?.name,\n\t\t\t\tblockVariations: getBlockVariations( 'core/query', 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ attributes ]\n\t);\n\tconst variations = useMemo( () => {\n\t\t// Filter out the variations that have defined a `namespace` attribute,\n\t\t// which means they are 'connected' to specific variations of the block.\n\t\tconst isNotConnected = ( variation ) =>\n\t\t\t! variation.attributes?.namespace;\n\t\tif ( ! activeVariationName ) {\n\t\t\treturn blockVariations.filter( isNotConnected );\n\t\t}\n\t\tconst connectedVariations = blockVariations.filter( ( variation ) =>\n\t\t\tvariation.attributes?.namespace?.includes( activeVariationName )\n\t\t);\n\t\tif ( !! connectedVariations.length ) {\n\t\t\treturn connectedVariations;\n\t\t}\n\t\treturn blockVariations.filter( isNotConnected );\n\t}, [ activeVariationName, blockVariations ] );\n\treturn variations;\n}\n\n/**\n * Hook that returns the block patterns for a specific block type.\n *\n * @param {string} clientId The block's client ID.\n * @param {string} name The block type name.\n * @return {Object[]} An array of valid block patterns.\n */\nexport const usePatterns = ( clientId, name ) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\treturn getPatternsByBlockTypes( name, rootClientId );\n\t\t},\n\t\t[ name, clientId ]\n\t);\n};\n\n/**\n * The object returned by useUnsupportedBlocks with info about the type of\n * unsupported blocks present inside the Query block.\n *\n * @typedef {Object} UnsupportedBlocksInfo\n * @property {boolean} hasBlocksFromPlugins True if blocks from plugins are present.\n * @property {boolean} hasPostContentBlock True if a 'core/post-content' block is present.\n * @property {boolean} hasUnsupportedBlocks True if there are any unsupported blocks.\n */\n\n/**\n * Hook that returns an object with information about the unsupported blocks\n * present inside a Query Loop with the given `clientId`. The returned object\n * contains props that are true when a certain type of unsupported block is\n * present.\n *\n * @param {string} clientId The block's client ID.\n * @return {UnsupportedBlocksInfo} The object containing the information.\n */\nexport const useUnsupportedBlocks = ( clientId ) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getClientIdsOfDescendants, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blocks = {};\n\t\t\tgetClientIdsOfDescendants( clientId ).forEach(\n\t\t\t\t( descendantClientId ) => {\n\t\t\t\t\tconst blockName = getBlockName( descendantClientId );\n\t\t\t\t\t/*\n\t\t\t\t\t * Client side navigation can be true in two states:\n\t\t\t\t\t * - supports.interactivity = true;\n\t\t\t\t\t * - supports.interactivity.clientNavigation = true;\n\t\t\t\t\t */\n\t\t\t\t\tconst blockSupportsInteractivity = Object.is(\n\t\t\t\t\t\tgetBlockSupport( blockName, 'interactivity' ),\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t\tconst blockSupportsInteractivityClientNavigation =\n\t\t\t\t\t\tgetBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'interactivity.clientNavigation'\n\t\t\t\t\t\t);\n\t\t\t\t\tconst blockInteractivity =\n\t\t\t\t\t\tblockSupportsInteractivity ||\n\t\t\t\t\t\tblockSupportsInteractivityClientNavigation;\n\t\t\t\t\tif ( ! blockInteractivity ) {\n\t\t\t\t\t\tblocks.hasBlocksFromPlugins = true;\n\t\t\t\t\t} else if ( blockName === 'core/post-content' ) {\n\t\t\t\t\t\tblocks.hasPostContentBlock = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\tblocks.hasUnsupportedBlocks =\n\t\t\t\tblocks.hasBlocksFromPlugins || blocks.hasPostContentBlock;\n\t\t\treturn blocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_element","_coreData","_blockEditor","_htmlEntities","_blocks","getEntitiesInfo","entities","mapping","reduce","accumulator","entity","mapById","mapByName","names","id","name","push","exports","getValueFromObjectPath","object","path","normalizedPath","split","value","forEach","fieldName","mapToIHasNameAndId","map","decodeEntities","usePostTypes","postTypes","useSelect","select","getPostTypes","coreStore","excludedPostTypes","filteredPostTypes","per_page","filter","viewable","slug","includes","postTypesTaxonomiesMap","useMemo","length","type","taxonomies","postTypesSelectOptions","labels","label","singular_name","postTypeFormatSupportMap","supports","useTaxonomies","postType","getTaxonomies","getPostType","visibility","publicly_queryable","useIsPostTypeHierarchical","hierarchical","useAllowedControls","attributes","blocksStore","getActiveBlockVariation","allowedControls","isControlAllowed","key","getTransformedBlocksFromPattern","blocks","queryBlockAttributes","query","inherit","namespace","clonedBlocks","block","cloneBlock","queryClientIds","blocksQueue","shift","clientId","innerBlocks","innerBlock","newBlocks","useBlockNameForPatterns","activeVariationName","blockName","hasActiveVariationPatterns","getBlockRootClientId","getPatternsByBlockTypes","blockEditorStore","rootClientId","activePatterns","useScopedBlockVariations","blockVariations","getBlockVariations","variations","isNotConnected","variation","connectedVariations","usePatterns","useUnsupportedBlocks","getClientIdsOfDescendants","getBlockName","descendantClientId","blockSupportsInteractivity","Object","is","getBlockSupport","blockSupportsInteractivityClientNavigation","blockInteractivity","hasBlocksFromPlugins","hasPostContentBlock","hasUnsupportedBlocks","getQueryContextFromTemplate","templateSlug","isSingular","templateType","singularTemplates","templateTypeFromSlug","queryFromTemplateSlug","slice","join"],"sources":["@wordpress/block-library/src/query/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport {\n\tcloneBlock,\n\tgetBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */\n\n/**\n * @typedef IHasNameAndId\n * @property {string|number} id The entity's id.\n * @property {string} name The entity's name.\n */\n\n/**\n * The object used in Query block that contains info and helper mappings\n * from an array of IHasNameAndId objects.\n *\n * @typedef {Object} QueryEntitiesInfo\n * @property {IHasNameAndId[]} entities The array of entities.\n * @property {Object<string, IHasNameAndId>} mapById Object mapping with the id as key and the entity as value.\n * @property {Object<string, IHasNameAndId>} mapByName Object mapping with the name as key and the entity as value.\n * @property {string[]} names Array with the entities' names.\n */\n\n/**\n * Returns a helper object with mapping from Objects that implement\n * the `IHasNameAndId` interface. The returned object is used for\n * integration with `FormTokenField` component.\n *\n * @param {IHasNameAndId[]} entities The entities to extract of helper object.\n * @return {QueryEntitiesInfo} The object with the entities information.\n */\nexport const getEntitiesInfo = ( entities ) => {\n\tconst mapping = entities?.reduce(\n\t\t( accumulator, entity ) => {\n\t\t\tconst { mapById, mapByName, names } = accumulator;\n\t\t\tmapById[ entity.id ] = entity;\n\t\t\tmapByName[ entity.name ] = entity;\n\t\t\tnames.push( entity.name );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ mapById: {}, mapByName: {}, names: [] }\n\t);\n\treturn {\n\t\tentities,\n\t\t...mapping,\n\t};\n};\n\n/**\n * Helper util to return a value from a certain path of the object.\n * Path is specified as a string of properties, separated by dots,\n * for example: \"parent.child\".\n *\n * @param {Object} object Input object.\n * @param {string} path Path to the object property.\n * @return {*} Value of the object property at the specified path.\n */\nexport const getValueFromObjectPath = ( object, path ) => {\n\tconst normalizedPath = path.split( '.' );\n\tlet value = object;\n\tnormalizedPath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\n/**\n * Helper util to map records to add a `name` prop from a\n * provided path, in order to handle all entities in the same\n * fashion(implementing`IHasNameAndId` interface).\n *\n * @param {Object[]} entities The array of entities.\n * @param {string} path The path to map a `name` property from the entity.\n * @return {IHasNameAndId[]} An array of enitities that now implement the `IHasNameAndId` interface.\n */\nexport const mapToIHasNameAndId = ( entities, path ) => {\n\treturn ( entities || [] ).map( ( entity ) => ( {\n\t\t...entity,\n\t\tname: decodeEntities( getValueFromObjectPath( entity, path ) ),\n\t} ) );\n};\n\n/**\n * Returns a helper object that contains:\n * 1. An `options` object from the available post types, to be passed to a `SelectControl`.\n * 2. A helper map with available taxonomies per post type.\n * 3. A helper map with post format support per post type.\n *\n * @return {Object} The helper object related to post types.\n */\nexport const usePostTypes = () => {\n\tconst postTypes = useSelect( ( select ) => {\n\t\tconst { getPostTypes } = select( coreStore );\n\t\tconst excludedPostTypes = [ 'attachment' ];\n\t\tconst filteredPostTypes = getPostTypes( { per_page: -1 } )?.filter(\n\t\t\t( { viewable, slug } ) =>\n\t\t\t\tviewable && ! excludedPostTypes.includes( slug )\n\t\t);\n\t\treturn filteredPostTypes;\n\t}, [] );\n\tconst postTypesTaxonomiesMap = useMemo( () => {\n\t\tif ( ! postTypes?.length ) {\n\t\t\treturn;\n\t\t}\n\t\treturn postTypes.reduce( ( accumulator, type ) => {\n\t\t\taccumulator[ type.slug ] = type.taxonomies;\n\t\t\treturn accumulator;\n\t\t}, {} );\n\t}, [ postTypes ] );\n\tconst postTypesSelectOptions = useMemo(\n\t\t() =>\n\t\t\t( postTypes || [] ).map( ( { labels, slug } ) => ( {\n\t\t\t\tlabel: labels.singular_name,\n\t\t\t\tvalue: slug,\n\t\t\t} ) ),\n\t\t[ postTypes ]\n\t);\n\tconst postTypeFormatSupportMap = useMemo( () => {\n\t\tif ( ! postTypes?.length ) {\n\t\t\treturn {};\n\t\t}\n\t\treturn postTypes.reduce( ( accumulator, type ) => {\n\t\t\taccumulator[ type.slug ] =\n\t\t\t\ttype.supports?.[ 'post-formats' ] || false;\n\t\t\treturn accumulator;\n\t\t}, {} );\n\t}, [ postTypes ] );\n\treturn {\n\t\tpostTypesTaxonomiesMap,\n\t\tpostTypesSelectOptions,\n\t\tpostTypeFormatSupportMap,\n\t};\n};\n\n/**\n * Hook that returns the taxonomies associated with a specific post type.\n *\n * @param {string} postType The post type from which to retrieve the associated taxonomies.\n * @return {Object[]} An array of the associated taxonomies.\n */\nexport const useTaxonomies = ( postType ) => {\n\tconst taxonomies = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getTaxonomies, getPostType } = select( coreStore );\n\t\t\t// Does the post type have taxonomies?\n\t\t\tif ( getPostType( postType )?.taxonomies?.length > 0 ) {\n\t\t\t\treturn getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn [];\n\t\t},\n\t\t[ postType ]\n\t);\n\treturn useMemo( () => {\n\t\treturn taxonomies?.filter(\n\t\t\t( { visibility } ) => !! visibility?.publicly_queryable\n\t\t);\n\t}, [ taxonomies ] );\n};\n\n/**\n * Hook that returns whether a specific post type is hierarchical.\n *\n * @param {string} postType The post type to check.\n * @return {boolean} Whether a specific post type is hierarchical.\n */\nexport function useIsPostTypeHierarchical( postType ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst type = select( coreStore ).getPostType( postType );\n\t\t\treturn type?.viewable && type?.hierarchical;\n\t\t},\n\t\t[ postType ]\n\t);\n}\n\n/**\n * Hook that returns the query properties' names defined by the active\n * block variation, to determine which block's filters to show.\n *\n * @param {Object} attributes Block attributes.\n * @return {string[]} An array of the query attributes.\n */\nexport function useAllowedControls( attributes ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( blocksStore ).getActiveBlockVariation(\n\t\t\t\t'core/query',\n\t\t\t\tattributes\n\t\t\t)?.allowedControls,\n\n\t\t[ attributes ]\n\t);\n}\nexport function isControlAllowed( allowedControls, key ) {\n\t// Every controls is allowed if the list is not defined.\n\tif ( ! allowedControls ) {\n\t\treturn true;\n\t}\n\treturn allowedControls.includes( key );\n}\n\n/**\n * Clones a pattern's blocks and then recurses over that list of blocks,\n * transforming them to retain some `query` attribute properties.\n * For now we retain the `postType` and `inherit` properties as they are\n * fundamental for the expected functionality of the block and don't affect\n * its design and presentation.\n *\n * Returns the cloned/transformed blocks and array of existing Query Loop\n * client ids for further manipulation, in order to avoid multiple recursions.\n *\n * @param {WPBlock[]} blocks The list of blocks to look through and transform(mutate).\n * @param {Record<string,*>} queryBlockAttributes The existing Query Loop's attributes.\n * @return {{ newBlocks: WPBlock[], queryClientIds: string[] }} An object with the cloned/transformed blocks and all the Query Loop clients from these blocks.\n */\nexport const getTransformedBlocksFromPattern = (\n\tblocks,\n\tqueryBlockAttributes\n) => {\n\tconst {\n\t\tquery: { postType, inherit },\n\t\tnamespace,\n\t} = queryBlockAttributes;\n\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\tconst queryClientIds = [];\n\tconst blocksQueue = [ ...clonedBlocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\t\tif ( block.name === 'core/query' ) {\n\t\t\tblock.attributes.query = {\n\t\t\t\t...block.attributes.query,\n\t\t\t\tpostType,\n\t\t\t\tinherit,\n\t\t\t};\n\t\t\tif ( namespace ) {\n\t\t\t\tblock.attributes.namespace = namespace;\n\t\t\t}\n\t\t\tqueryClientIds.push( block.clientId );\n\t\t}\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n\treturn { newBlocks: clonedBlocks, queryClientIds };\n};\n\n/**\n * Helper hook that determines if there is an active variation of the block\n * and if there are available specific patterns for this variation.\n * If there are, these patterns are going to be the only ones suggested to\n * the user in setup and replace flow, without including the default ones\n * for Query Loop.\n *\n * If there are no such patterns, the default ones for Query Loop are going\n * to be suggested.\n *\n * @param {string} clientId The block's client ID.\n * @param {Object} attributes The block's attributes.\n * @return {string} The block name to be used in the patterns suggestions.\n */\nexport function useBlockNameForPatterns( clientId, attributes ) {\n\tconst activeVariationName = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blocksStore ).getActiveBlockVariation(\n\t\t\t\t'core/query',\n\t\t\t\tattributes\n\t\t\t)?.name,\n\t\t[ attributes ]\n\t);\n\tconst blockName = `core/query/${ activeVariationName }`;\n\tconst hasActiveVariationPatterns = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! activeVariationName ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst activePatterns = getPatternsByBlockTypes(\n\t\t\t\tblockName,\n\t\t\t\trootClientId\n\t\t\t);\n\t\t\treturn activePatterns.length > 0;\n\t\t},\n\t\t[ clientId, activeVariationName, blockName ]\n\t);\n\treturn hasActiveVariationPatterns ? blockName : 'core/query';\n}\n\n/**\n * Helper hook that determines if there is an active variation of the block\n * and if there are available specific scoped `block` variations connected with\n * this variation.\n *\n * If there are, these variations are going to be the only ones suggested\n * to the user in setup flow when clicking to `start blank`, without including\n * the default ones for Query Loop.\n *\n * If there are no such scoped `block` variations, the default ones for Query\n * Loop are going to be suggested.\n *\n * The way we determine such variations is with the convention that they have the `namespace`\n * attribute defined as an array. This array should contain the names(`name` property) of any\n * variations they want to be connected to.\n * For example, if we have a `Query Loop` scoped `inserter` variation with the name `products`,\n * we can connect a scoped `block` variation by setting its `namespace` attribute to `['products']`.\n * If the user selects this variation, the `namespace` attribute will be overridden by the\n * main `inserter` variation.\n *\n * @param {Object} attributes The block's attributes.\n * @return {WPBlockVariation[]} The block variations to be suggested in setup flow, when clicking to `start blank`.\n */\nexport function useScopedBlockVariations( attributes ) {\n\tconst { activeVariationName, blockVariations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\t\t\treturn {\n\t\t\t\tactiveVariationName: getActiveBlockVariation(\n\t\t\t\t\t'core/query',\n\t\t\t\t\tattributes\n\t\t\t\t)?.name,\n\t\t\t\tblockVariations: getBlockVariations( 'core/query', 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ attributes ]\n\t);\n\tconst variations = useMemo( () => {\n\t\t// Filter out the variations that have defined a `namespace` attribute,\n\t\t// which means they are 'connected' to specific variations of the block.\n\t\tconst isNotConnected = ( variation ) =>\n\t\t\t! variation.attributes?.namespace;\n\t\tif ( ! activeVariationName ) {\n\t\t\treturn blockVariations.filter( isNotConnected );\n\t\t}\n\t\tconst connectedVariations = blockVariations.filter( ( variation ) =>\n\t\t\tvariation.attributes?.namespace?.includes( activeVariationName )\n\t\t);\n\t\tif ( !! connectedVariations.length ) {\n\t\t\treturn connectedVariations;\n\t\t}\n\t\treturn blockVariations.filter( isNotConnected );\n\t}, [ activeVariationName, blockVariations ] );\n\treturn variations;\n}\n\n/**\n * Hook that returns the block patterns for a specific block type.\n *\n * @param {string} clientId The block's client ID.\n * @param {string} name The block type name.\n * @return {Object[]} An array of valid block patterns.\n */\nexport const usePatterns = ( clientId, name ) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\treturn getPatternsByBlockTypes( name, rootClientId );\n\t\t},\n\t\t[ name, clientId ]\n\t);\n};\n\n/**\n * The object returned by useUnsupportedBlocks with info about the type of\n * unsupported blocks present inside the Query block.\n *\n * @typedef {Object} UnsupportedBlocksInfo\n * @property {boolean} hasBlocksFromPlugins True if blocks from plugins are present.\n * @property {boolean} hasPostContentBlock True if a 'core/post-content' block is present.\n * @property {boolean} hasUnsupportedBlocks True if there are any unsupported blocks.\n */\n\n/**\n * Hook that returns an object with information about the unsupported blocks\n * present inside a Query Loop with the given `clientId`. The returned object\n * contains props that are true when a certain type of unsupported block is\n * present.\n *\n * @param {string} clientId The block's client ID.\n * @return {UnsupportedBlocksInfo} The object containing the information.\n */\nexport const useUnsupportedBlocks = ( clientId ) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getClientIdsOfDescendants, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blocks = {};\n\t\t\tgetClientIdsOfDescendants( clientId ).forEach(\n\t\t\t\t( descendantClientId ) => {\n\t\t\t\t\tconst blockName = getBlockName( descendantClientId );\n\t\t\t\t\t/*\n\t\t\t\t\t * Client side navigation can be true in two states:\n\t\t\t\t\t * - supports.interactivity = true;\n\t\t\t\t\t * - supports.interactivity.clientNavigation = true;\n\t\t\t\t\t */\n\t\t\t\t\tconst blockSupportsInteractivity = Object.is(\n\t\t\t\t\t\tgetBlockSupport( blockName, 'interactivity' ),\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t\tconst blockSupportsInteractivityClientNavigation =\n\t\t\t\t\t\tgetBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'interactivity.clientNavigation'\n\t\t\t\t\t\t);\n\t\t\t\t\tconst blockInteractivity =\n\t\t\t\t\t\tblockSupportsInteractivity ||\n\t\t\t\t\t\tblockSupportsInteractivityClientNavigation;\n\t\t\t\t\tif ( ! blockInteractivity ) {\n\t\t\t\t\t\tblocks.hasBlocksFromPlugins = true;\n\t\t\t\t\t} else if ( blockName === 'core/post-content' ) {\n\t\t\t\t\t\tblocks.hasPostContentBlock = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\tblocks.hasUnsupportedBlocks =\n\t\t\t\tblocks.hasBlocksFromPlugins || blocks.hasPostContentBlock;\n\t\t\treturn blocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n};\n\n/**\n * Helper function that returns the query context from the editor based on the\n * available template slug.\n *\n * @param {string} templateSlug Current template slug based on context.\n * @return {Object} An object with isSingular and templateType properties.\n */\nexport function getQueryContextFromTemplate( templateSlug ) {\n\t// In the Post Editor, the template slug is not available.\n\tif ( ! templateSlug ) {\n\t\treturn { isSingular: true };\n\t}\n\tlet isSingular = false;\n\tlet templateType = templateSlug === 'wp' ? 'custom' : templateSlug;\n\tconst singularTemplates = [ '404', 'blank', 'single', 'page', 'custom' ];\n\tconst templateTypeFromSlug = templateSlug.includes( '-' )\n\t\t? templateSlug.split( '-', 1 )[ 0 ]\n\t\t: templateSlug;\n\tconst queryFromTemplateSlug = templateSlug.includes( '-' )\n\t\t? templateSlug.split( '-' ).slice( 1 ).join( '-' )\n\t\t: '';\n\tif ( queryFromTemplateSlug ) {\n\t\ttemplateType = templateTypeFromSlug;\n\t}\n\tisSingular = singularTemplates.includes( templateType );\n\n\treturn { isSingular, templateType };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,6 @@ var _blocks = require("@wordpress/blocks");
9
9
  var _data = require("@wordpress/data");
10
10
  var _blockEditor = require("@wordpress/block-editor");
11
11
  var _components = require("@wordpress/components");
12
- var _compose = require("@wordpress/compose");
13
12
  var _i18n = require("@wordpress/i18n");
14
13
  var _coreData = require("@wordpress/core-data");
15
14
  var _element = require("@wordpress/element");
@@ -65,7 +64,6 @@ function TemplatesList({
65
64
  // edit function!
66
65
  const blockPatterns = (0, _hooks.useAlternativeBlockPatterns)(area, clientId);
67
66
  const canReplace = isEntityAvailable && !!blockPatterns.length && (area === 'header' || area === 'footer');
68
- const shownTemplates = (0, _compose.useAsyncList)(blockPatterns);
69
67
  if (!canReplace) {
70
68
  return null;
71
69
  }
@@ -74,9 +72,8 @@ function TemplatesList({
74
72
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.__experimentalBlockPatternsList, {
75
73
  label: (0, _i18n.__)('Templates'),
76
74
  blockPatterns: blockPatterns,
77
- shownPatterns: shownTemplates,
78
75
  onClickPattern: onSelect,
79
- showTitle: false
76
+ showTitlesAsTooltip: true
80
77
  })
81
78
  });
82
79
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_data","_blockEditor","_components","_compose","_i18n","_coreData","_element","_notices","_placeholder","_interopRequireDefault","_selectionModal","_advancedControls","_innerBlocks","_createTemplatePartId","_hooks","_jsxRuntime","ReplaceButton","isEntityAvailable","area","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","useAlternativeTemplateParts","hasReplacements","length","canReplace","jsx","MenuItem","onClick","children","__","TemplatesList","clientId","onSelect","blockPatterns","useAlternativeBlockPatterns","shownTemplates","useAsyncList","PanelBody","title","__experimentalBlockPatternsList","label","shownPatterns","onClickPattern","showTitle","TemplatePartEdit","attributes","setAttributes","createSuccessNotice","useDispatch","noticesStore","editEntityRecord","coreStore","currentTheme","useSelect","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","createTemplatePartId","hasAlreadyRendered","useHasRecursion","useState","isResolved","hasInnerBlocks","isMissing","onNavigateToEntityRecord","canUserEdit","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getSettings","blockEditorStore","getEntityArgs","entityRecord","_area","hasResolvedEntity","_canUserEdit","canUser","kind","name","id","Object","keys","areaObject","useTemplatePartArea","blockProps","useBlockProps","isPlaceholder","TagName","onPatternSelect","pattern","blocks","content","serialize","sprintf","type","Warning","jsxs","Fragment","RecursionProvider","uniqueId","BlockControls","group","ToolbarButton","postId","postType","InspectorControls","TemplatePartAdvancedControls","defaultWrapper","default","onOpenSelectionModal","BlockSettingsMenuControls","selectedClientIds","Spinner","Modal","overlayClassName","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInspectorControls,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tSpinner,\n\tModal,\n\tMenuItem,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nfunction ReplaceButton( {\n\tisEntityAvailable,\n\tarea,\n\ttemplatePartId,\n\tisTemplatePartSelectionOpen,\n\tsetIsTemplatePartSelectionOpen,\n} ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst hasReplacements = !! templateParts.length;\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t} }\n\t\t\taria-expanded={ isTemplatePartSelectionOpen }\n\t\t\taria-haspopup=\"dialog\"\n\t\t>\n\t\t\t{ __( 'Replace' ) }\n\t\t</MenuItem>\n\t);\n}\n\nfunction TemplatesList( { area, clientId, isEntityAvailable, onSelect } ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\t!! blockPatterns.length &&\n\t\t( area === 'header' || area === 'footer' );\n\tconst shownTemplates = useAsyncList( blockPatterns );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Design' ) }>\n\t\t\t<BlockPatternsList\n\t\t\t\tlabel={ __( 'Templates' ) }\n\t\t\t\tblockPatterns={ blockPatterns }\n\t\t\t\tshownPatterns={ shownTemplates }\n\t\t\t\tonClickPattern={ onSelect }\n\t\t\t\tshowTitle={ false }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\tconst { slug, theme = currentTheme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\tconst {\n\t\tisResolved,\n\t\thasInnerBlocks,\n\t\tisMissing,\n\t\tarea,\n\t\tonNavigateToEntityRecord,\n\t\ttitle,\n\t\tcanUserEdit,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlockCount, getSettings } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\tconst _canUserEdit = hasResolvedEntity\n\t\t\t\t? select( coreStore ).canUser( 'update', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template_part',\n\t\t\t\t\t\tid: templatePartId,\n\t\t\t\t } )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: getBlockCount( clientId ) > 0,\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\ttitle: entityRecord?.title,\n\t\t\t\tcanUserEdit: !! _canUserEdit,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\tconst onPatternSelect = async ( pattern ) => {\n\t\tawait editEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\ttemplatePartId,\n\t\t\t{\n\t\t\t\tblocks: pattern.blocks,\n\t\t\t\tcontent: serialize( pattern.blocks ),\n\t\t\t}\n\t\t);\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" updated.' ),\n\t\t\t\ttitle || slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t};\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\t! hasInnerBlocks &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug. */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t{ isEntityAvailable &&\n\t\t\t\t\tonNavigateToEntityRecord &&\n\t\t\t\t\tcanUserEdit && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\t\tpostId: templatePartId,\n\t\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\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\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ReplaceButton\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\tisEntityAvailable,\n\t\t\t\t\t\t\t\t\tarea,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\ttemplatePartId,\n\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen,\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen,\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</BlockSettingsMenuControls>\n\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\tonSelect={ ( pattern ) => onPatternSelect( pattern ) }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blocks","require","_data","_blockEditor","_components","_i18n","_coreData","_element","_notices","_placeholder","_interopRequireDefault","_selectionModal","_advancedControls","_innerBlocks","_createTemplatePartId","_hooks","_jsxRuntime","ReplaceButton","isEntityAvailable","area","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","useAlternativeTemplateParts","hasReplacements","length","canReplace","jsx","MenuItem","onClick","children","__","TemplatesList","clientId","onSelect","blockPatterns","useAlternativeBlockPatterns","PanelBody","title","__experimentalBlockPatternsList","label","onClickPattern","showTitlesAsTooltip","TemplatePartEdit","attributes","setAttributes","createSuccessNotice","useDispatch","noticesStore","editEntityRecord","coreStore","currentTheme","useSelect","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","createTemplatePartId","hasAlreadyRendered","useHasRecursion","useState","isResolved","hasInnerBlocks","isMissing","onNavigateToEntityRecord","canUserEdit","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getSettings","blockEditorStore","getEntityArgs","entityRecord","_area","hasResolvedEntity","_canUserEdit","canUser","kind","name","id","Object","keys","areaObject","useTemplatePartArea","blockProps","useBlockProps","isPlaceholder","TagName","onPatternSelect","pattern","blocks","content","serialize","sprintf","type","Warning","jsxs","Fragment","RecursionProvider","uniqueId","BlockControls","group","ToolbarButton","postId","postType","InspectorControls","TemplatePartAdvancedControls","defaultWrapper","default","onOpenSelectionModal","BlockSettingsMenuControls","selectedClientIds","Spinner","Modal","overlayClassName","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInspectorControls,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tSpinner,\n\tModal,\n\tMenuItem,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nfunction ReplaceButton( {\n\tisEntityAvailable,\n\tarea,\n\ttemplatePartId,\n\tisTemplatePartSelectionOpen,\n\tsetIsTemplatePartSelectionOpen,\n} ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst hasReplacements = !! templateParts.length;\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t} }\n\t\t\taria-expanded={ isTemplatePartSelectionOpen }\n\t\t\taria-haspopup=\"dialog\"\n\t\t>\n\t\t\t{ __( 'Replace' ) }\n\t\t</MenuItem>\n\t);\n}\n\nfunction TemplatesList( { area, clientId, isEntityAvailable, onSelect } ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\t!! blockPatterns.length &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Design' ) }>\n\t\t\t<BlockPatternsList\n\t\t\t\tlabel={ __( 'Templates' ) }\n\t\t\t\tblockPatterns={ blockPatterns }\n\t\t\t\tonClickPattern={ onSelect }\n\t\t\t\tshowTitlesAsTooltip\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\tconst { slug, theme = currentTheme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\tconst {\n\t\tisResolved,\n\t\thasInnerBlocks,\n\t\tisMissing,\n\t\tarea,\n\t\tonNavigateToEntityRecord,\n\t\ttitle,\n\t\tcanUserEdit,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlockCount, getSettings } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\tconst _canUserEdit = hasResolvedEntity\n\t\t\t\t? select( coreStore ).canUser( 'update', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template_part',\n\t\t\t\t\t\tid: templatePartId,\n\t\t\t\t } )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: getBlockCount( clientId ) > 0,\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\ttitle: entityRecord?.title,\n\t\t\t\tcanUserEdit: !! _canUserEdit,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\tconst onPatternSelect = async ( pattern ) => {\n\t\tawait editEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\ttemplatePartId,\n\t\t\t{\n\t\t\t\tblocks: pattern.blocks,\n\t\t\t\tcontent: serialize( pattern.blocks ),\n\t\t\t}\n\t\t);\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" updated.' ),\n\t\t\t\ttitle || slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t};\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\t! hasInnerBlocks &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug. */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t{ isEntityAvailable &&\n\t\t\t\t\tonNavigateToEntityRecord &&\n\t\t\t\t\tcanUserEdit && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\t\tpostId: templatePartId,\n\t\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\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\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ReplaceButton\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\tisEntityAvailable,\n\t\t\t\t\t\t\t\t\tarea,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\ttemplatePartId,\n\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen,\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen,\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</BlockSettingsMenuControls>\n\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\tonSelect={ ( pattern ) => onPatternSelect( pattern ) }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,6 @@ var _element = require("@wordpress/element");
8
8
  var _i18n = require("@wordpress/i18n");
9
9
  var _notices = require("@wordpress/notices");
10
10
  var _data = require("@wordpress/data");
11
- var _compose = require("@wordpress/compose");
12
11
  var _blockEditor = require("@wordpress/block-editor");
13
12
  var _components = require("@wordpress/components");
14
13
  var _hooks = require("./utils/hooks");
@@ -40,7 +39,6 @@ function TemplatePartSelectionModal({
40
39
  const partsAsPatterns = templateParts.map(templatePart => (0, _mapTemplatePartToBlockPattern.mapTemplatePartToBlockPattern)(templatePart));
41
40
  return (0, _searchPatterns.searchPatterns)(partsAsPatterns, searchValue);
42
41
  }, [templateParts, searchValue]);
43
- const shownTemplateParts = (0, _compose.useAsyncList)(filteredTemplateParts);
44
42
  const blockPatterns = (0, _hooks.useAlternativeBlockPatterns)(area, clientId);
45
43
  const filteredBlockPatterns = (0, _element.useMemo)(() => {
46
44
  return (0, _searchPatterns.searchPatterns)(blockPatterns, searchValue);
@@ -78,7 +76,6 @@ function TemplatePartSelectionModal({
78
76
  children: (0, _i18n.__)('Existing template parts')
79
77
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.__experimentalBlockPatternsList, {
80
78
  blockPatterns: filteredTemplateParts,
81
- shownPatterns: shownTemplateParts,
82
79
  onClickPattern: pattern => {
83
80
  onTemplatePartSelect(pattern.templatePart);
84
81
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_i18n","_notices","_data","_compose","_blockEditor","_components","_hooks","_mapTemplatePartToBlockPattern","_searchPatterns","_jsxRuntime","TemplatePartSelectionModal","setAttributes","onClose","templatePartId","area","clientId","searchValue","setSearchValue","useState","templateParts","useAlternativeTemplateParts","filteredTemplateParts","useMemo","partsAsPatterns","map","templatePart","mapTemplatePartToBlockPattern","searchPatterns","shownTemplateParts","useAsyncList","blockPatterns","useAlternativeBlockPatterns","filteredBlockPatterns","createSuccessNotice","useDispatch","noticesStore","onTemplatePartSelect","slug","theme","undefined","sprintf","__","title","rendered","type","hasTemplateParts","length","hasBlockPatterns","jsxs","className","children","jsx","SearchControl","__nextHasNoMarginBottom","onChange","value","label","placeholder","__experimentalBlockPatternsList","shownPatterns","onClickPattern","pattern","__experimentalHStack","alignment"],"sources":["@wordpress/block-library/src/template-part/edit/selection-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport {\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n} from './utils/hooks';\nimport { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';\nimport { searchPatterns } from '../../utils/search-patterns';\n\nexport default function TemplatePartSelectionModal( {\n\tsetAttributes,\n\tonClose,\n\ttemplatePartId = null,\n\tarea,\n\tclientId,\n} ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\n\t// We can map template parts to block patters to reuse the BlockPatternsList UI\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tconst partsAsPatterns = templateParts.map( ( templatePart ) =>\n\t\t\tmapTemplatePartToBlockPattern( templatePart )\n\t\t);\n\n\t\treturn searchPatterns( partsAsPatterns, searchValue );\n\t}, [ templateParts, searchValue ] );\n\tconst shownTemplateParts = useAsyncList( filteredTemplateParts );\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\treturn searchPatterns( blockPatterns, searchValue );\n\t}, [ blockPatterns, searchValue ] );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onTemplatePartSelect = ( templatePart ) => {\n\t\tsetAttributes( {\n\t\t\tslug: templatePart.slug,\n\t\t\ttheme: templatePart.theme,\n\t\t\tarea: undefined,\n\t\t} );\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" inserted.' ),\n\t\t\t\ttemplatePart.title?.rendered || templatePart.slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t\tonClose();\n\t};\n\n\tconst hasTemplateParts = !! filteredTemplateParts.length;\n\tconst hasBlockPatterns = !! filteredBlockPatterns.length;\n\n\treturn (\n\t\t<div className=\"block-library-template-part__selection-content\">\n\t\t\t<div className=\"block-library-template-part__selection-search\">\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearchValue }\n\t\t\t\t\tvalue={ searchValue }\n\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ hasTemplateParts && (\n\t\t\t\t<div>\n\t\t\t\t\t<h2>{ __( 'Existing template parts' ) }</h2>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredTemplateParts }\n\t\t\t\t\t\tshownPatterns={ shownTemplateParts }\n\t\t\t\t\t\tonClickPattern={ ( pattern ) => {\n\t\t\t\t\t\t\tonTemplatePartSelect( pattern.templatePart );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! hasTemplateParts && ! hasBlockPatterns && (\n\t\t\t\t<HStack alignment=\"center\">\n\t\t\t\t\t<p>{ __( 'No results found.' ) }</p>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_i18n","_notices","_data","_blockEditor","_components","_hooks","_mapTemplatePartToBlockPattern","_searchPatterns","_jsxRuntime","TemplatePartSelectionModal","setAttributes","onClose","templatePartId","area","clientId","searchValue","setSearchValue","useState","templateParts","useAlternativeTemplateParts","filteredTemplateParts","useMemo","partsAsPatterns","map","templatePart","mapTemplatePartToBlockPattern","searchPatterns","blockPatterns","useAlternativeBlockPatterns","filteredBlockPatterns","createSuccessNotice","useDispatch","noticesStore","onTemplatePartSelect","slug","theme","undefined","sprintf","__","title","rendered","type","hasTemplateParts","length","hasBlockPatterns","jsxs","className","children","jsx","SearchControl","__nextHasNoMarginBottom","onChange","value","label","placeholder","__experimentalBlockPatternsList","onClickPattern","pattern","__experimentalHStack","alignment"],"sources":["@wordpress/block-library/src/template-part/edit/selection-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport {\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n} from './utils/hooks';\nimport { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';\nimport { searchPatterns } from '../../utils/search-patterns';\n\nexport default function TemplatePartSelectionModal( {\n\tsetAttributes,\n\tonClose,\n\ttemplatePartId = null,\n\tarea,\n\tclientId,\n} ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\n\t// We can map template parts to block patters to reuse the BlockPatternsList UI\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tconst partsAsPatterns = templateParts.map( ( templatePart ) =>\n\t\t\tmapTemplatePartToBlockPattern( templatePart )\n\t\t);\n\n\t\treturn searchPatterns( partsAsPatterns, searchValue );\n\t}, [ templateParts, searchValue ] );\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\treturn searchPatterns( blockPatterns, searchValue );\n\t}, [ blockPatterns, searchValue ] );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onTemplatePartSelect = ( templatePart ) => {\n\t\tsetAttributes( {\n\t\t\tslug: templatePart.slug,\n\t\t\ttheme: templatePart.theme,\n\t\t\tarea: undefined,\n\t\t} );\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" inserted.' ),\n\t\t\t\ttemplatePart.title?.rendered || templatePart.slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t\tonClose();\n\t};\n\n\tconst hasTemplateParts = !! filteredTemplateParts.length;\n\tconst hasBlockPatterns = !! filteredBlockPatterns.length;\n\n\treturn (\n\t\t<div className=\"block-library-template-part__selection-content\">\n\t\t\t<div className=\"block-library-template-part__selection-search\">\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearchValue }\n\t\t\t\t\tvalue={ searchValue }\n\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ hasTemplateParts && (\n\t\t\t\t<div>\n\t\t\t\t\t<h2>{ __( 'Existing template parts' ) }</h2>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredTemplateParts }\n\t\t\t\t\t\tonClickPattern={ ( pattern ) => {\n\t\t\t\t\t\t\tonTemplatePartSelect( pattern.templatePart );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! hasTemplateParts && ! hasBlockPatterns && (\n\t\t\t\t<HStack alignment=\"center\">\n\t\t\t\t\t<p>{ __( 'No results found.' ) }</p>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -135,7 +135,7 @@ function VideoEdit({
135
135
  withIllustration: !isSingleSelected,
136
136
  icon: _icons.video,
137
137
  label: (0, _i18n.__)('Video'),
138
- instructions: (0, _i18n.__)('Upload a video file, pick one from your media library, or add one with a URL.'),
138
+ instructions: (0, _i18n.__)('Drag and drop a video, upload, or choose from your library.'),
139
139
  children: content
140
140
  });
141
141
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_components","_blockEditor","_element","_i18n","_compose","_data","_icons","_notices","_util","_hooks","_editCommonSettings","_tracksEditor","_tracks","_caption","_jsxRuntime","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","useInstanceId","videoPlayer","useRef","posterImageButton","id","controls","poster","src","tracks","temporaryURL","setTemporaryURL","useState","blob","useUploadMediaFromBlobURL","url","allowedTypes","onChange","onSelectVideo","onError","onUploadError","useEffect","current","load","media","undefined","caption","isBlobURL","image","icon","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","createErrorNotice","useDispatch","noticesStore","message","type","placeholder","content","jsx","Placeholder","withIllustration","label","__","instructions","children","classes","clsx","blockProps","useBlockProps","MediaPlaceholder","BlockIcon","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","jsxs","Fragment","BlockControls","default","newTracks","group","MediaReplaceFlow","mediaId","mediaURL","onReset","InspectorControls","PanelBody","title","MediaUploadCheck","BaseControl","VisualLabel","MediaUpload","render","open","Button","__next40pxDefaultSize","variant","onClick","ref","hidden","sprintf","Disabled","isDisabled","Spinner","Caption","showToolbarButton","_default","exports"],"sources":["@wordpress/block-library/src/video/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, controls, poster, src, tracks } = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\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\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\tsrc: newSrc,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\t\twithIllustration={ ! isSingleSelected }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ __( 'Video' ) }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\tonReset={ () => onSelectVideo( undefined ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<div className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n Disable the video tag if the block is not selected\n so the user clicking on it won't play the\n video when the controls are enabled.\n */ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src || temporaryURL }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ !! temporaryURL && <Spinner /> }\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={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Video caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_components","_blockEditor","_element","_i18n","_compose","_data","_icons","_notices","_util","_hooks","_editCommonSettings","_tracksEditor","_tracks","_caption","_jsxRuntime","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","useInstanceId","videoPlayer","useRef","posterImageButton","id","controls","poster","src","tracks","temporaryURL","setTemporaryURL","useState","blob","useUploadMediaFromBlobURL","url","allowedTypes","onChange","onSelectVideo","onError","onUploadError","useEffect","current","load","media","undefined","caption","isBlobURL","image","icon","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","createErrorNotice","useDispatch","noticesStore","message","type","placeholder","content","jsx","Placeholder","withIllustration","label","__","instructions","children","classes","clsx","blockProps","useBlockProps","MediaPlaceholder","BlockIcon","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","jsxs","Fragment","BlockControls","default","newTracks","group","MediaReplaceFlow","mediaId","mediaURL","onReset","InspectorControls","PanelBody","title","MediaUploadCheck","BaseControl","VisualLabel","MediaUpload","render","open","Button","__next40pxDefaultSize","variant","onClick","ref","hidden","sprintf","Disabled","isDisabled","Spinner","Caption","showToolbarButton","_default","exports"],"sources":["@wordpress/block-library/src/video/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, controls, poster, src, tracks } = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\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\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\tsrc: newSrc,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\t\twithIllustration={ ! isSingleSelected }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ __( 'Video' ) }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\tonReset={ () => onSelectVideo( undefined ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<div className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n Disable the video tag if the block is not selected\n so the user clicking on it won't play the\n video when the controls are enabled.\n */ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src || temporaryURL }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ !! temporaryURL && <Spinner /> }\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={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Video caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -192,8 +192,6 @@ function TracksEditor({
192
192
  onToggle
193
193
  }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarGroup, {
194
194
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
195
- label: (0, _i18n.__)('Text tracks'),
196
- showTooltip: true,
197
195
  "aria-expanded": isOpen,
198
196
  "aria-haspopup": "true",
199
197
  onClick: onToggle,
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_blockEditor","_icons","_data","_element","_url","_jsxRuntime","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","__","value","TrackList","tracks","onEditPress","content","length","jsx","className","children","map","track","index","jsxs","__experimentalHStack","Button","__next40pxDefaultSize","variant","onClick","sprintf","_x","MenuGroup","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","getFilename","NavigableMenu","__experimentalVStack","spacing","__experimentalGrid","columns","gap","TextControl","__nextHasNoMarginBottom","autoFocus","newLabel","help","newSrcLang","SelectControl","options","newKind","changes","hasChanges","undefined","isDestructive","TracksEditor","mediaUpload","useSelect","select","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","useState","Dropdown","contentClassName","renderToggle","isOpen","onToggle","ToolbarGroup","ToolbarButton","showTooltip","renderContent","newTrack","newTracks","filter","_track","Fragment","MediaUpload","onSelect","url","trackIndex","allowedTypes","render","open","MenuItem","icon","media","MediaUploadCheck","FormFileUpload","event","files","target","filesList","onFileChange","accept","openFileDialog","upload"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tlet content;\n\tif ( tracks.length === 0 ) {\n\t\tcontent = (\n\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t{ __(\n\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t);\n\t} else {\n\t\tcontent = tracks.map( ( track, index ) => {\n\t\t\treturn (\n\t\t\t\t<HStack\n\t\t\t\t\tkey={ index }\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t\t>\n\t\t\t\t\t<span>{ track.label } </span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\" */\n\t\t\t\t\t\t\t_x( 'Edit %s', 'text tracks' ),\n\t\t\t\t\t\t\ttrack.label\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t);\n\t\t} );\n\t}\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( { track, onChange, onClose, onRemove } ) {\n\tconst { src = '', label = '', srcLang = '', kind = DEFAULT_KIND } = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<NavigableMenu>\n\t\t\t<VStack\n\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\t\tspacing=\"4\"\n\t\t\t>\n\t\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t\t</span>\n\t\t\t\t<span>\n\t\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t\t</span>\n\t\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Grid>\n\t\t\t\t<VStack spacing=\"8\">\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\t\tvalue={ kind }\n\t\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tkind: newKind,\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<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t\t...changes,\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\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Close' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</VStack>\n\t\t</NavigableMenu>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\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\tsetTrackBeingEdited( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\n\t\t\t\t\t\t\t\t\t\t\t\t] ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_blockEditor","_icons","_data","_element","_url","_jsxRuntime","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","__","value","TrackList","tracks","onEditPress","content","length","jsx","className","children","map","track","index","jsxs","__experimentalHStack","Button","__next40pxDefaultSize","variant","onClick","sprintf","_x","MenuGroup","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","getFilename","NavigableMenu","__experimentalVStack","spacing","__experimentalGrid","columns","gap","TextControl","__nextHasNoMarginBottom","autoFocus","newLabel","help","newSrcLang","SelectControl","options","newKind","changes","hasChanges","undefined","isDestructive","TracksEditor","mediaUpload","useSelect","select","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","useState","Dropdown","contentClassName","renderToggle","isOpen","onToggle","ToolbarGroup","ToolbarButton","renderContent","newTrack","newTracks","filter","_track","Fragment","MediaUpload","onSelect","url","trackIndex","allowedTypes","render","open","MenuItem","icon","media","MediaUploadCheck","FormFileUpload","event","files","target","filesList","onFileChange","accept","openFileDialog","upload"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tlet content;\n\tif ( tracks.length === 0 ) {\n\t\tcontent = (\n\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t{ __(\n\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t);\n\t} else {\n\t\tcontent = tracks.map( ( track, index ) => {\n\t\t\treturn (\n\t\t\t\t<HStack\n\t\t\t\t\tkey={ index }\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t\t>\n\t\t\t\t\t<span>{ track.label } </span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\" */\n\t\t\t\t\t\t\t_x( 'Edit %s', 'text tracks' ),\n\t\t\t\t\t\t\ttrack.label\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t);\n\t\t} );\n\t}\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( { track, onChange, onClose, onRemove } ) {\n\tconst { src = '', label = '', srcLang = '', kind = DEFAULT_KIND } = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<NavigableMenu>\n\t\t\t<VStack\n\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\t\tspacing=\"4\"\n\t\t\t>\n\t\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t\t</span>\n\t\t\t\t<span>\n\t\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t\t</span>\n\t\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Grid>\n\t\t\t\t<VStack spacing=\"8\">\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\t\tvalue={ kind }\n\t\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tkind: newKind,\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<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t\t...changes,\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\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Close' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</VStack>\n\t\t</NavigableMenu>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\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\tsetTrackBeingEdited( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\n\t\t\t\t\t\t\t\t\t\t\t\t] ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}