@wordpress/block-library 9.12.0 → 9.13.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 (145) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/block-keyboard-shortcuts/index.js +7 -7
  3. package/build/block-keyboard-shortcuts/index.js.map +1 -1
  4. package/build/cover/edit/index.js +1 -1
  5. package/build/cover/edit/index.js.map +1 -1
  6. package/build/cover/index.js +10 -10
  7. package/build/cover/index.js.map +1 -1
  8. package/build/cover/shared.js +6 -7
  9. package/build/cover/shared.js.map +1 -1
  10. package/build/details/index.js +19 -0
  11. package/build/details/index.js.map +1 -1
  12. package/build/file/edit.js +7 -3
  13. package/build/file/edit.js.map +1 -1
  14. package/build/freeform/modal.js +1 -1
  15. package/build/freeform/modal.js.map +1 -1
  16. package/build/heading/index.js +1 -7
  17. package/build/heading/index.js.map +1 -1
  18. package/build/home-link/edit.js +20 -36
  19. package/build/home-link/edit.js.map +1 -1
  20. package/build/navigation/use-template-part-area-label.js +6 -8
  21. package/build/navigation/use-template-part-area-label.js.map +1 -1
  22. package/build/page-list/index.js +14 -0
  23. package/build/page-list/index.js.map +1 -1
  24. package/build/paragraph/edit.js +26 -25
  25. package/build/paragraph/edit.js.map +1 -1
  26. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +1 -3
  27. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  28. package/build/query/edit/inspector-controls/index.js +1 -11
  29. package/build/query/edit/inspector-controls/index.js.map +1 -1
  30. package/build/query/utils.js +6 -8
  31. package/build/query/utils.js.map +1 -1
  32. package/build/social-link/edit.js +57 -10
  33. package/build/social-link/edit.js.map +1 -1
  34. package/build/social-link/index.js +4 -2
  35. package/build/social-link/index.js.map +1 -1
  36. package/build/template-part/edit/advanced-controls.js +2 -7
  37. package/build/template-part/edit/advanced-controls.js.map +1 -1
  38. package/build/template-part/edit/utils/get-template-part-icon.js +23 -0
  39. package/build/template-part/edit/utils/get-template-part-icon.js.map +1 -0
  40. package/build/template-part/edit/utils/hooks.js +1 -6
  41. package/build/template-part/edit/utils/hooks.js.map +1 -1
  42. package/build/template-part/variations.js +6 -12
  43. package/build/template-part/variations.js.map +1 -1
  44. package/build/video/tracks-editor.js +135 -121
  45. package/build/video/tracks-editor.js.map +1 -1
  46. package/build-module/block-keyboard-shortcuts/index.js +7 -7
  47. package/build-module/block-keyboard-shortcuts/index.js.map +1 -1
  48. package/build-module/cover/edit/index.js +1 -1
  49. package/build-module/cover/edit/index.js.map +1 -1
  50. package/build-module/cover/index.js +10 -10
  51. package/build-module/cover/index.js.map +1 -1
  52. package/build-module/cover/shared.js +6 -7
  53. package/build-module/cover/shared.js.map +1 -1
  54. package/build-module/details/index.js +20 -1
  55. package/build-module/details/index.js.map +1 -1
  56. package/build-module/file/edit.js +7 -3
  57. package/build-module/file/edit.js.map +1 -1
  58. package/build-module/freeform/modal.js +1 -1
  59. package/build-module/freeform/modal.js.map +1 -1
  60. package/build-module/heading/index.js +1 -7
  61. package/build-module/heading/index.js.map +1 -1
  62. package/build-module/home-link/edit.js +23 -39
  63. package/build-module/home-link/edit.js.map +1 -1
  64. package/build-module/navigation/use-template-part-area-label.js +6 -8
  65. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  66. package/build-module/page-list/index.js +14 -0
  67. package/build-module/page-list/index.js.map +1 -1
  68. package/build-module/paragraph/edit.js +26 -25
  69. package/build-module/paragraph/edit.js.map +1 -1
  70. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +1 -3
  71. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  72. package/build-module/query/edit/inspector-controls/index.js +1 -11
  73. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  74. package/build-module/query/utils.js +6 -8
  75. package/build-module/query/utils.js.map +1 -1
  76. package/build-module/social-link/edit.js +61 -14
  77. package/build-module/social-link/edit.js.map +1 -1
  78. package/build-module/social-link/index.js +4 -2
  79. package/build-module/social-link/index.js.map +1 -1
  80. package/build-module/template-part/edit/advanced-controls.js +3 -8
  81. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  82. package/build-module/template-part/edit/utils/get-template-part-icon.js +15 -0
  83. package/build-module/template-part/edit/utils/get-template-part-icon.js.map +1 -0
  84. package/build-module/template-part/edit/utils/hooks.js +1 -6
  85. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  86. package/build-module/template-part/variations.js +5 -11
  87. package/build-module/template-part/variations.js.map +1 -1
  88. package/build-module/video/tracks-editor.js +136 -122
  89. package/build-module/video/tracks-editor.js.map +1 -1
  90. package/build-style/editor-rtl.css +16 -8
  91. package/build-style/editor.css +16 -8
  92. package/build-style/navigation/style-rtl.css +1 -1
  93. package/build-style/navigation/style.css +1 -1
  94. package/build-style/page-list/style-rtl.css +4 -0
  95. package/build-style/page-list/style.css +4 -0
  96. package/build-style/query/editor-rtl.css +0 -4
  97. package/build-style/query/editor.css +0 -4
  98. package/build-style/search/style-rtl.css +3 -3
  99. package/build-style/search/style.css +3 -3
  100. package/build-style/social-link/editor-rtl.css +8 -4
  101. package/build-style/social-link/editor.css +8 -4
  102. package/build-style/style-rtl.css +8 -4
  103. package/build-style/style.css +8 -4
  104. package/build-style/video/editor-rtl.css +8 -0
  105. package/build-style/video/editor.css +8 -0
  106. package/package.json +2 -2
  107. package/src/block-keyboard-shortcuts/index.js +25 -11
  108. package/src/cover/edit/index.js +1 -1
  109. package/src/cover/index.js +8 -8
  110. package/src/cover/shared.js +10 -10
  111. package/src/cover/test/edit.js +2 -2
  112. package/src/details/index.js +23 -1
  113. package/src/file/edit.js +8 -2
  114. package/src/freeform/modal.js +1 -1
  115. package/src/heading/block.json +1 -7
  116. package/src/home-link/edit.js +27 -45
  117. package/src/home-link/index.php +0 -3
  118. package/src/navigation/index.php +4 -150
  119. package/src/navigation/style.scss +1 -1
  120. package/src/navigation/use-template-part-area-label.js +10 -10
  121. package/src/page-list/block.json +14 -0
  122. package/src/page-list/style.scss +4 -0
  123. package/src/paragraph/edit.js +20 -17
  124. package/src/pattern/index.php +0 -7
  125. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +3 -5
  126. package/src/query/edit/inspector-controls/index.js +0 -10
  127. package/src/query/editor.scss +0 -4
  128. package/src/query/index.php +1 -1
  129. package/src/query/utils.js +14 -15
  130. package/src/rss/index.php +11 -8
  131. package/src/search/style.scss +3 -5
  132. package/src/social-link/block.json +4 -2
  133. package/src/social-link/edit.js +87 -19
  134. package/src/social-link/editor.scss +11 -7
  135. package/src/template-part/edit/advanced-controls.js +13 -13
  136. package/src/template-part/edit/utils/get-template-part-icon.js +20 -0
  137. package/src/template-part/edit/utils/hooks.js +2 -7
  138. package/src/template-part/variations.js +4 -16
  139. package/src/video/editor.scss +9 -0
  140. package/src/video/tracks-editor.js +157 -139
  141. package/build/query/edit/inspector-controls/create-new-post-link.js +0 -40
  142. package/build/query/edit/inspector-controls/create-new-post-link.js.map +0 -1
  143. package/build-module/query/edit/inspector-controls/create-new-post-link.js +0 -33
  144. package/build-module/query/edit/inspector-controls/create-new-post-link.js.map +0 -1
  145. package/src/query/edit/inspector-controls/create-new-post-link.js +0 -32
@@ -0,0 +1,15 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { header as headerIcon, footer as footerIcon, sidebar as sidebarIcon, symbolFilled as symbolFilledIcon } from '@wordpress/icons';
5
+ export const getTemplatePartIcon = iconName => {
6
+ if ('header' === iconName) {
7
+ return headerIcon;
8
+ } else if ('footer' === iconName) {
9
+ return footerIcon;
10
+ } else if ('sidebar' === iconName) {
11
+ return sidebarIcon;
12
+ }
13
+ return symbolFilledIcon;
14
+ };
15
+ //# sourceMappingURL=get-template-part-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["header","headerIcon","footer","footerIcon","sidebar","sidebarIcon","symbolFilled","symbolFilledIcon","getTemplatePartIcon","iconName"],"sources":["@wordpress/block-library/src/template-part/edit/utils/get-template-part-icon.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\theader as headerIcon,\n\tfooter as footerIcon,\n\tsidebar as sidebarIcon,\n\tsymbolFilled as symbolFilledIcon,\n} from '@wordpress/icons';\n\nexport const getTemplatePartIcon = ( iconName ) => {\n\tif ( 'header' === iconName ) {\n\t\treturn headerIcon;\n\t} else if ( 'footer' === iconName ) {\n\t\treturn footerIcon;\n\t} else if ( 'sidebar' === iconName ) {\n\t\treturn sidebarIcon;\n\t}\n\treturn symbolFilledIcon;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,MAAM,IAAIC,UAAU,EACpBC,MAAM,IAAIC,UAAU,EACpBC,OAAO,IAAIC,WAAW,EACtBC,YAAY,IAAIC,gBAAgB,QAC1B,kBAAkB;AAEzB,OAAO,MAAMC,mBAAmB,GAAKC,QAAQ,IAAM;EAClD,IAAK,QAAQ,KAAKA,QAAQ,EAAG;IAC5B,OAAOR,UAAU;EAClB,CAAC,MAAM,IAAK,QAAQ,KAAKQ,QAAQ,EAAG;IACnC,OAAON,UAAU;EAClB,CAAC,MAAM,IAAK,SAAS,KAAKM,QAAQ,EAAG;IACpC,OAAOJ,WAAW;EACnB;EACA,OAAOE,gBAAgB;AACxB,CAAC","ignoreList":[]}
@@ -114,12 +114,7 @@ export function useCreateTemplatePartFromBlocks(area, setAttributes) {
114
114
  export function useTemplatePartArea(area) {
115
115
  return useSelect(select => {
116
116
  var _selectedArea$area_ta;
117
- // FIXME: @wordpress/block-library should not depend on @wordpress/editor.
118
- // Blocks can be loaded into a *non-post* block editor.
119
- /* eslint-disable @wordpress/data-no-store-string-literals */
120
- const definedAreas = select('core/editor').__experimentalGetDefaultTemplatePartAreas();
121
- /* eslint-enable @wordpress/data-no-store-string-literals */
122
-
117
+ const definedAreas = select(coreStore).getEntityRecord('root', '__unstableBase')?.default_template_part_areas || [];
123
118
  const selectedArea = definedAreas.find(definedArea => definedArea.area === area);
124
119
  const defaultArea = definedAreas.find(definedArea => definedArea.area === 'uncategorized');
125
120
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["paramCase","kebabCase","useDispatch","useSelect","store","coreStore","blockEditorStore","useMemo","serialize","__","createTemplatePartId","useAlternativeTemplateParts","area","excludedId","templateParts","isResolving","select","getEntityRecords","_isResolving","query","per_page","filteredTemplateParts","filter","templatePart","theme","slug","useAlternativeBlockPatterns","clientId","blockNameWithArea","getBlockRootClientId","getPatternsByBlockTypes","rootClientId","useCreateTemplatePartFromBlocks","setAttributes","saveEntityRecord","blocks","title","cleanSlug","replace","record","content","undefined","useTemplatePartArea","_selectedArea$area_ta","definedAreas","__experimentalGetDefaultTemplatePartAreas","selectedArea","find","definedArea","defaultArea","icon","label","tagName","area_tag"],"sources":["@wordpress/block-library/src/template-part/edit/utils/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { serialize } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { createTemplatePartId } from './create-template-part-id';\n\n/**\n * Retrieves the available template parts for the given area.\n *\n * @param {string} area Template part area.\n * @param {string} excludedId Template part ID to exclude.\n *\n * @return {{ templateParts: Array, isResolving: boolean }} array of template parts.\n */\nexport function useAlternativeTemplateParts( area, excludedId ) {\n\tconst { templateParts, isResolving } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords, isResolving: _isResolving } =\n\t\t\tselect( coreStore );\n\t\tconst query = { per_page: -1 };\n\t\treturn {\n\t\t\ttemplateParts: getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tquery\n\t\t\t),\n\t\t\tisResolving: _isResolving( 'getEntityRecords', [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tquery,\n\t\t\t] ),\n\t\t};\n\t}, [] );\n\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tif ( ! templateParts ) {\n\t\t\treturn [];\n\t\t}\n\t\treturn (\n\t\t\ttemplateParts.filter(\n\t\t\t\t( templatePart ) =>\n\t\t\t\t\tcreateTemplatePartId(\n\t\t\t\t\t\ttemplatePart.theme,\n\t\t\t\t\t\ttemplatePart.slug\n\t\t\t\t\t) !== excludedId &&\n\t\t\t\t\t( ! area ||\n\t\t\t\t\t\t'uncategorized' === area ||\n\t\t\t\t\t\ttemplatePart.area === area )\n\t\t\t) || []\n\t\t);\n\t}, [ templateParts, area, excludedId ] );\n\n\treturn {\n\t\ttemplateParts: filteredTemplateParts,\n\t\tisResolving,\n\t};\n}\n\n/**\n * Retrieves the available block patterns for the given area.\n *\n * @param {string} area Template part area.\n * @param {string} clientId Block Client ID. (The container of the block can impact allowed blocks).\n *\n * @return {Array} array of block patterns.\n */\nexport function useAlternativeBlockPatterns( area, clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst blockNameWithArea = area\n\t\t\t\t? `core/template-part/${ area }`\n\t\t\t\t: 'core/template-part';\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\treturn getPatternsByBlockTypes( blockNameWithArea, rootClientId );\n\t\t},\n\t\t[ area, clientId ]\n\t);\n}\n\nexport function useCreateTemplatePartFromBlocks( area, setAttributes ) {\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\treturn async ( blocks = [], title = __( 'Untitled Template Part' ) ) => {\n\t\t// Currently template parts only allow latin chars.\n\t\t// Fallback slug will receive suffix by default.\n\t\tconst cleanSlug =\n\t\t\tkebabCase( title ).replace( /[^\\w-]+/g, '' ) || 'wp-custom-part';\n\n\t\t// If we have `area` set from block attributes, means an exposed\n\t\t// block variation was inserted. So add this prop to the template\n\t\t// part entity on creation. Afterwards remove `area` value from\n\t\t// block attributes.\n\t\tconst record = {\n\t\t\ttitle,\n\t\t\tslug: cleanSlug,\n\t\t\tcontent: serialize( blocks ),\n\t\t\t// `area` is filterable on the server and defaults to `UNCATEGORIZED`\n\t\t\t// if provided value is not allowed.\n\t\t\tarea,\n\t\t};\n\t\tconst templatePart = await saveEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\trecord\n\t\t);\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};\n}\n\n/**\n * Retrieves the template part area object.\n *\n * @param {string} area Template part area identifier.\n *\n * @return {{icon: Object, label: string, tagName: string}} Template Part area.\n */\nexport function useTemplatePartArea( area ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t\t/* eslint-disable @wordpress/data-no-store-string-literals */\n\t\t\tconst definedAreas =\n\t\t\t\tselect(\n\t\t\t\t\t'core/editor'\n\t\t\t\t).__experimentalGetDefaultTemplatePartAreas();\n\t\t\t/* eslint-enable @wordpress/data-no-store-string-literals */\n\n\t\t\tconst selectedArea = definedAreas.find(\n\t\t\t\t( definedArea ) => definedArea.area === area\n\t\t\t);\n\t\t\tconst defaultArea = definedAreas.find(\n\t\t\t\t( definedArea ) => definedArea.area === 'uncategorized'\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\ticon: selectedArea?.icon || defaultArea?.icon,\n\t\t\t\tlabel: selectedArea?.label || __( 'Template Part' ),\n\t\t\t\ttagName: selectedArea?.area_tag ?? 'div',\n\t\t\t};\n\t\t},\n\t\t[ area ]\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["paramCase","kebabCase","useDispatch","useSelect","store","coreStore","blockEditorStore","useMemo","serialize","__","createTemplatePartId","useAlternativeTemplateParts","area","excludedId","templateParts","isResolving","select","getEntityRecords","_isResolving","query","per_page","filteredTemplateParts","filter","templatePart","theme","slug","useAlternativeBlockPatterns","clientId","blockNameWithArea","getBlockRootClientId","getPatternsByBlockTypes","rootClientId","useCreateTemplatePartFromBlocks","setAttributes","saveEntityRecord","blocks","title","cleanSlug","replace","record","content","undefined","useTemplatePartArea","_selectedArea$area_ta","definedAreas","getEntityRecord","default_template_part_areas","selectedArea","find","definedArea","defaultArea","icon","label","tagName","area_tag"],"sources":["@wordpress/block-library/src/template-part/edit/utils/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { serialize } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { createTemplatePartId } from './create-template-part-id';\n\n/**\n * Retrieves the available template parts for the given area.\n *\n * @param {string} area Template part area.\n * @param {string} excludedId Template part ID to exclude.\n *\n * @return {{ templateParts: Array, isResolving: boolean }} array of template parts.\n */\nexport function useAlternativeTemplateParts( area, excludedId ) {\n\tconst { templateParts, isResolving } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords, isResolving: _isResolving } =\n\t\t\tselect( coreStore );\n\t\tconst query = { per_page: -1 };\n\t\treturn {\n\t\t\ttemplateParts: getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tquery\n\t\t\t),\n\t\t\tisResolving: _isResolving( 'getEntityRecords', [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tquery,\n\t\t\t] ),\n\t\t};\n\t}, [] );\n\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tif ( ! templateParts ) {\n\t\t\treturn [];\n\t\t}\n\t\treturn (\n\t\t\ttemplateParts.filter(\n\t\t\t\t( templatePart ) =>\n\t\t\t\t\tcreateTemplatePartId(\n\t\t\t\t\t\ttemplatePart.theme,\n\t\t\t\t\t\ttemplatePart.slug\n\t\t\t\t\t) !== excludedId &&\n\t\t\t\t\t( ! area ||\n\t\t\t\t\t\t'uncategorized' === area ||\n\t\t\t\t\t\ttemplatePart.area === area )\n\t\t\t) || []\n\t\t);\n\t}, [ templateParts, area, excludedId ] );\n\n\treturn {\n\t\ttemplateParts: filteredTemplateParts,\n\t\tisResolving,\n\t};\n}\n\n/**\n * Retrieves the available block patterns for the given area.\n *\n * @param {string} area Template part area.\n * @param {string} clientId Block Client ID. (The container of the block can impact allowed blocks).\n *\n * @return {Array} array of block patterns.\n */\nexport function useAlternativeBlockPatterns( area, clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst blockNameWithArea = area\n\t\t\t\t? `core/template-part/${ area }`\n\t\t\t\t: 'core/template-part';\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\treturn getPatternsByBlockTypes( blockNameWithArea, rootClientId );\n\t\t},\n\t\t[ area, clientId ]\n\t);\n}\n\nexport function useCreateTemplatePartFromBlocks( area, setAttributes ) {\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\treturn async ( blocks = [], title = __( 'Untitled Template Part' ) ) => {\n\t\t// Currently template parts only allow latin chars.\n\t\t// Fallback slug will receive suffix by default.\n\t\tconst cleanSlug =\n\t\t\tkebabCase( title ).replace( /[^\\w-]+/g, '' ) || 'wp-custom-part';\n\n\t\t// If we have `area` set from block attributes, means an exposed\n\t\t// block variation was inserted. So add this prop to the template\n\t\t// part entity on creation. Afterwards remove `area` value from\n\t\t// block attributes.\n\t\tconst record = {\n\t\t\ttitle,\n\t\t\tslug: cleanSlug,\n\t\t\tcontent: serialize( blocks ),\n\t\t\t// `area` is filterable on the server and defaults to `UNCATEGORIZED`\n\t\t\t// if provided value is not allowed.\n\t\t\tarea,\n\t\t};\n\t\tconst templatePart = await saveEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\trecord\n\t\t);\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};\n}\n\n/**\n * Retrieves the template part area object.\n *\n * @param {string} area Template part area identifier.\n *\n * @return {{icon: Object, label: string, tagName: string}} Template Part area.\n */\nexport function useTemplatePartArea( area ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst definedAreas =\n\t\t\t\tselect( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t\t\t?.default_template_part_areas || [];\n\n\t\t\tconst selectedArea = definedAreas.find(\n\t\t\t\t( definedArea ) => definedArea.area === area\n\t\t\t);\n\t\t\tconst defaultArea = definedAreas.find(\n\t\t\t\t( definedArea ) => definedArea.area === 'uncategorized'\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\ticon: selectedArea?.icon || defaultArea?.icon,\n\t\t\t\tlabel: selectedArea?.label || __( 'Template Part' ),\n\t\t\t\ttagName: selectedArea?.area_tag ?? 'div',\n\t\t\t};\n\t\t},\n\t\t[ area ]\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,17 +3,11 @@
3
3
  */
4
4
  import { store as coreDataStore } from '@wordpress/core-data';
5
5
  import { select } from '@wordpress/data';
6
- import { header as headerIcon, footer as footerIcon, sidebar as sidebarIcon, symbolFilled as symbolFilledIcon } from '@wordpress/icons';
7
- function getTemplatePartIcon(iconName) {
8
- if ('header' === iconName) {
9
- return headerIcon;
10
- } else if ('footer' === iconName) {
11
- return footerIcon;
12
- } else if ('sidebar' === iconName) {
13
- return sidebarIcon;
14
- }
15
- return symbolFilledIcon;
16
- }
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import { getTemplatePartIcon } from './edit/utils/get-template-part-icon';
17
11
  export function enhanceTemplatePartVariations(settings, name) {
18
12
  if (name !== 'core/template-part') {
19
13
  return settings;
@@ -1 +1 @@
1
- {"version":3,"names":["store","coreDataStore","select","header","headerIcon","footer","footerIcon","sidebar","sidebarIcon","symbolFilled","symbolFilledIcon","getTemplatePartIcon","iconName","enhanceTemplatePartVariations","settings","name","variations","isActive","blockAttributes","variationAttributes","area","theme","slug","getCurrentTheme","getEntityRecord","entity","stylesheet","map","variation","icon"],"sources":["@wordpress/block-library/src/template-part/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport {\n\theader as headerIcon,\n\tfooter as footerIcon,\n\tsidebar as sidebarIcon,\n\tsymbolFilled as symbolFilledIcon,\n} from '@wordpress/icons';\n\nfunction getTemplatePartIcon( iconName ) {\n\tif ( 'header' === iconName ) {\n\t\treturn headerIcon;\n\t} else if ( 'footer' === iconName ) {\n\t\treturn footerIcon;\n\t} else if ( 'sidebar' === iconName ) {\n\t\treturn sidebarIcon;\n\t}\n\treturn symbolFilledIcon;\n}\n\nexport function enhanceTemplatePartVariations( settings, name ) {\n\tif ( name !== 'core/template-part' ) {\n\t\treturn settings;\n\t}\n\n\tif ( settings.variations ) {\n\t\tconst isActive = ( blockAttributes, variationAttributes ) => {\n\t\t\tconst { area, theme, slug } = blockAttributes;\n\t\t\t// We first check the `area` block attribute which is set during insertion.\n\t\t\t// This property is removed on the creation of a template part.\n\t\t\tif ( area ) {\n\t\t\t\treturn area === variationAttributes.area;\n\t\t\t}\n\t\t\t// Find a matching variation from the created template part\n\t\t\t// by checking the entity's `area` property.\n\t\t\tif ( ! slug ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { getCurrentTheme, getEntityRecord } =\n\t\t\t\tselect( coreDataStore );\n\t\t\tconst entity = getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t`${ theme || getCurrentTheme()?.stylesheet }//${ slug }`\n\t\t\t);\n\n\t\t\tif ( entity?.slug ) {\n\t\t\t\treturn entity.slug === variationAttributes.slug;\n\t\t\t}\n\t\t\treturn entity?.area === variationAttributes.area;\n\t\t};\n\n\t\tconst variations = settings.variations.map( ( variation ) => {\n\t\t\treturn {\n\t\t\t\t...variation,\n\t\t\t\t...( ! variation.isActive && { isActive } ),\n\t\t\t\t...( typeof variation.icon === 'string' && {\n\t\t\t\t\ticon: getTemplatePartIcon( variation.icon ),\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations,\n\t\t};\n\t}\n\treturn settings;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,aAAa,QAAQ,sBAAsB;AAC7D,SAASC,MAAM,QAAQ,iBAAiB;AACxC,SACCC,MAAM,IAAIC,UAAU,EACpBC,MAAM,IAAIC,UAAU,EACpBC,OAAO,IAAIC,WAAW,EACtBC,YAAY,IAAIC,gBAAgB,QAC1B,kBAAkB;AAEzB,SAASC,mBAAmBA,CAAEC,QAAQ,EAAG;EACxC,IAAK,QAAQ,KAAKA,QAAQ,EAAG;IAC5B,OAAOR,UAAU;EAClB,CAAC,MAAM,IAAK,QAAQ,KAAKQ,QAAQ,EAAG;IACnC,OAAON,UAAU;EAClB,CAAC,MAAM,IAAK,SAAS,KAAKM,QAAQ,EAAG;IACpC,OAAOJ,WAAW;EACnB;EACA,OAAOE,gBAAgB;AACxB;AAEA,OAAO,SAASG,6BAA6BA,CAAEC,QAAQ,EAAEC,IAAI,EAAG;EAC/D,IAAKA,IAAI,KAAK,oBAAoB,EAAG;IACpC,OAAOD,QAAQ;EAChB;EAEA,IAAKA,QAAQ,CAACE,UAAU,EAAG;IAC1B,MAAMC,QAAQ,GAAGA,CAAEC,eAAe,EAAEC,mBAAmB,KAAM;MAC5D,MAAM;QAAEC,IAAI;QAAEC,KAAK;QAAEC;MAAK,CAAC,GAAGJ,eAAe;MAC7C;MACA;MACA,IAAKE,IAAI,EAAG;QACX,OAAOA,IAAI,KAAKD,mBAAmB,CAACC,IAAI;MACzC;MACA;MACA;MACA,IAAK,CAAEE,IAAI,EAAG;QACb,OAAO,KAAK;MACb;MACA,MAAM;QAAEC,eAAe;QAAEC;MAAgB,CAAC,GACzCtB,MAAM,CAAED,aAAc,CAAC;MACxB,MAAMwB,MAAM,GAAGD,eAAe,CAC7B,UAAU,EACV,kBAAkB,EAClB,GAAIH,KAAK,IAAIE,eAAe,CAAC,CAAC,EAAEG,UAAU,KAAOJ,IAAI,EACtD,CAAC;MAED,IAAKG,MAAM,EAAEH,IAAI,EAAG;QACnB,OAAOG,MAAM,CAACH,IAAI,KAAKH,mBAAmB,CAACG,IAAI;MAChD;MACA,OAAOG,MAAM,EAAEL,IAAI,KAAKD,mBAAmB,CAACC,IAAI;IACjD,CAAC;IAED,MAAMJ,UAAU,GAAGF,QAAQ,CAACE,UAAU,CAACW,GAAG,CAAIC,SAAS,IAAM;MAC5D,OAAO;QACN,GAAGA,SAAS;QACZ,IAAK,CAAEA,SAAS,CAACX,QAAQ,IAAI;UAAEA;QAAS,CAAC,CAAE;QAC3C,IAAK,OAAOW,SAAS,CAACC,IAAI,KAAK,QAAQ,IAAI;UAC1CA,IAAI,EAAElB,mBAAmB,CAAEiB,SAAS,CAACC,IAAK;QAC3C,CAAC;MACF,CAAC;IACF,CAAE,CAAC;IAEH,OAAO;MACN,GAAGf,QAAQ;MACXE;IACD,CAAC;EACF;EACA,OAAOF,QAAQ;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["store","coreDataStore","select","getTemplatePartIcon","enhanceTemplatePartVariations","settings","name","variations","isActive","blockAttributes","variationAttributes","area","theme","slug","getCurrentTheme","getEntityRecord","entity","stylesheet","map","variation","icon"],"sources":["@wordpress/block-library/src/template-part/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { getTemplatePartIcon } from './edit/utils/get-template-part-icon';\n\nexport function enhanceTemplatePartVariations( settings, name ) {\n\tif ( name !== 'core/template-part' ) {\n\t\treturn settings;\n\t}\n\n\tif ( settings.variations ) {\n\t\tconst isActive = ( blockAttributes, variationAttributes ) => {\n\t\t\tconst { area, theme, slug } = blockAttributes;\n\t\t\t// We first check the `area` block attribute which is set during insertion.\n\t\t\t// This property is removed on the creation of a template part.\n\t\t\tif ( area ) {\n\t\t\t\treturn area === variationAttributes.area;\n\t\t\t}\n\t\t\t// Find a matching variation from the created template part\n\t\t\t// by checking the entity's `area` property.\n\t\t\tif ( ! slug ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { getCurrentTheme, getEntityRecord } =\n\t\t\t\tselect( coreDataStore );\n\t\t\tconst entity = getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t`${ theme || getCurrentTheme()?.stylesheet }//${ slug }`\n\t\t\t);\n\n\t\t\tif ( entity?.slug ) {\n\t\t\t\treturn entity.slug === variationAttributes.slug;\n\t\t\t}\n\t\t\treturn entity?.area === variationAttributes.area;\n\t\t};\n\n\t\tconst variations = settings.variations.map( ( variation ) => {\n\t\t\treturn {\n\t\t\t\t...variation,\n\t\t\t\t...( ! variation.isActive && { isActive } ),\n\t\t\t\t...( typeof variation.icon === 'string' && {\n\t\t\t\t\ticon: getTemplatePartIcon( variation.icon ),\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations,\n\t\t};\n\t}\n\treturn settings;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,aAAa,QAAQ,sBAAsB;AAC7D,SAASC,MAAM,QAAQ,iBAAiB;;AAExC;AACA;AACA;AACA,SAASC,mBAAmB,QAAQ,qCAAqC;AAEzE,OAAO,SAASC,6BAA6BA,CAAEC,QAAQ,EAAEC,IAAI,EAAG;EAC/D,IAAKA,IAAI,KAAK,oBAAoB,EAAG;IACpC,OAAOD,QAAQ;EAChB;EAEA,IAAKA,QAAQ,CAACE,UAAU,EAAG;IAC1B,MAAMC,QAAQ,GAAGA,CAAEC,eAAe,EAAEC,mBAAmB,KAAM;MAC5D,MAAM;QAAEC,IAAI;QAAEC,KAAK;QAAEC;MAAK,CAAC,GAAGJ,eAAe;MAC7C;MACA;MACA,IAAKE,IAAI,EAAG;QACX,OAAOA,IAAI,KAAKD,mBAAmB,CAACC,IAAI;MACzC;MACA;MACA;MACA,IAAK,CAAEE,IAAI,EAAG;QACb,OAAO,KAAK;MACb;MACA,MAAM;QAAEC,eAAe;QAAEC;MAAgB,CAAC,GACzCb,MAAM,CAAED,aAAc,CAAC;MACxB,MAAMe,MAAM,GAAGD,eAAe,CAC7B,UAAU,EACV,kBAAkB,EAClB,GAAIH,KAAK,IAAIE,eAAe,CAAC,CAAC,EAAEG,UAAU,KAAOJ,IAAI,EACtD,CAAC;MAED,IAAKG,MAAM,EAAEH,IAAI,EAAG;QACnB,OAAOG,MAAM,CAACH,IAAI,KAAKH,mBAAmB,CAACG,IAAI;MAChD;MACA,OAAOG,MAAM,EAAEL,IAAI,KAAKD,mBAAmB,CAACC,IAAI;IACjD,CAAC;IAED,MAAMJ,UAAU,GAAGF,QAAQ,CAACE,UAAU,CAACW,GAAG,CAAIC,SAAS,IAAM;MAC5D,OAAO;QACN,GAAGA,SAAS;QACZ,IAAK,CAAEA,SAAS,CAACX,QAAQ,IAAI;UAAEA;QAAS,CAAC,CAAE;QAC3C,IAAK,OAAOW,SAAS,CAACC,IAAI,KAAK,QAAQ,IAAI;UAC1CA,IAAI,EAAEjB,mBAAmB,CAAEgB,SAAS,CAACC,IAAK;QAC3C,CAAC;MACF,CAAC;IACF,CAAE,CAAC;IAEH,OAAO;MACN,GAAGf,QAAQ;MACXE;IACD,CAAC;EACF;EACA,OAAOF,QAAQ;AAChB","ignoreList":[]}
@@ -6,7 +6,7 @@ import { NavigableMenu, MenuItem, FormFileUpload, MenuGroup, ToolbarGroup, Toolb
6
6
  import { MediaUpload, MediaUploadCheck, store as blockEditorStore } from '@wordpress/block-editor';
7
7
  import { upload, media } from '@wordpress/icons';
8
8
  import { useSelect } from '@wordpress/data';
9
- import { useState } from '@wordpress/element';
9
+ import { useState, useRef, useEffect } from '@wordpress/element';
10
10
  import { getFilename } from '@wordpress/url';
11
11
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
12
12
  const ALLOWED_TYPES = ['text/vtt'];
@@ -31,29 +31,21 @@ function TrackList({
31
31
  tracks,
32
32
  onEditPress
33
33
  }) {
34
- let content;
35
- if (tracks.length === 0) {
36
- content = /*#__PURE__*/_jsx("p", {
37
- className: "block-library-video-tracks-editor__tracks-informative-message",
38
- children: __('Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.')
39
- });
40
- } else {
41
- content = tracks.map((track, index) => {
42
- return /*#__PURE__*/_jsxs(HStack, {
43
- className: "block-library-video-tracks-editor__track-list-track",
44
- children: [/*#__PURE__*/_jsxs("span", {
45
- children: [track.label, " "]
46
- }), /*#__PURE__*/_jsx(Button, {
47
- __next40pxDefaultSize: true,
48
- variant: "tertiary",
49
- onClick: () => onEditPress(index),
50
- "aria-label": sprintf(/* translators: %s: Label of the video text track e.g: "French subtitles" */
51
- _x('Edit %s', 'text tracks'), track.label),
52
- children: __('Edit')
53
- })]
54
- }, index);
55
- });
56
- }
34
+ const content = tracks.map((track, index) => {
35
+ return /*#__PURE__*/_jsxs(HStack, {
36
+ className: "block-library-video-tracks-editor__track-list-track",
37
+ children: [/*#__PURE__*/_jsx("span", {
38
+ children: track.label
39
+ }), /*#__PURE__*/_jsx(Button, {
40
+ __next40pxDefaultSize: true,
41
+ variant: "tertiary",
42
+ onClick: () => onEditPress(index),
43
+ "aria-label": sprintf(/* translators: %s: Label of the video text track e.g: "French subtitles". */
44
+ _x('Edit %s', 'text tracks'), track.label),
45
+ children: __('Edit')
46
+ })]
47
+ }, index);
48
+ });
57
49
  return /*#__PURE__*/_jsx(MenuGroup, {
58
50
  label: __('Text tracks'),
59
51
  className: "block-library-video-tracks-editor__track-list",
@@ -73,98 +65,93 @@ function SingleTrackEditor({
73
65
  kind = DEFAULT_KIND
74
66
  } = track;
75
67
  const fileName = src.startsWith('blob:') ? '' : getFilename(src) || '';
76
- return /*#__PURE__*/_jsx(NavigableMenu, {
77
- children: /*#__PURE__*/_jsxs(VStack, {
78
- className: "block-library-video-tracks-editor__single-track-editor",
79
- spacing: "4",
80
- children: [/*#__PURE__*/_jsx("span", {
81
- className: "block-library-video-tracks-editor__single-track-editor-edit-track-label",
82
- children: __('Edit track')
83
- }), /*#__PURE__*/_jsxs("span", {
84
- children: [__('File'), ": ", /*#__PURE__*/_jsx("b", {
85
- children: fileName
86
- })]
87
- }), /*#__PURE__*/_jsxs(Grid, {
88
- columns: 2,
89
- gap: 4,
90
- children: [/*#__PURE__*/_jsx(TextControl, {
91
- __next40pxDefaultSize: true,
92
- __nextHasNoMarginBottom: true
93
- /* eslint-disable jsx-a11y/no-autofocus */,
94
- autoFocus: true
95
- /* eslint-enable jsx-a11y/no-autofocus */,
96
- onChange: newLabel => onChange({
68
+ return /*#__PURE__*/_jsxs(VStack, {
69
+ className: "block-library-video-tracks-editor__single-track-editor",
70
+ spacing: "4",
71
+ children: [/*#__PURE__*/_jsx("span", {
72
+ className: "block-library-video-tracks-editor__single-track-editor-edit-track-label",
73
+ children: __('Edit track')
74
+ }), /*#__PURE__*/_jsxs("span", {
75
+ children: [__('File'), ": ", /*#__PURE__*/_jsx("b", {
76
+ children: fileName
77
+ })]
78
+ }), /*#__PURE__*/_jsxs(Grid, {
79
+ columns: 2,
80
+ gap: 4,
81
+ children: [/*#__PURE__*/_jsx(TextControl, {
82
+ __next40pxDefaultSize: true,
83
+ __nextHasNoMarginBottom: true,
84
+ onChange: newLabel => onChange({
85
+ ...track,
86
+ label: newLabel
87
+ }),
88
+ label: __('Label'),
89
+ value: label,
90
+ help: __('Title of track')
91
+ }), /*#__PURE__*/_jsx(TextControl, {
92
+ __next40pxDefaultSize: true,
93
+ __nextHasNoMarginBottom: true,
94
+ onChange: newSrcLang => onChange({
95
+ ...track,
96
+ srcLang: newSrcLang
97
+ }),
98
+ label: __('Source language'),
99
+ value: srcLang,
100
+ help: __('Language tag (en, fr, etc.)')
101
+ })]
102
+ }), /*#__PURE__*/_jsxs(VStack, {
103
+ spacing: "8",
104
+ children: [/*#__PURE__*/_jsx(SelectControl, {
105
+ __next40pxDefaultSize: true,
106
+ __nextHasNoMarginBottom: true,
107
+ className: "block-library-video-tracks-editor__single-track-editor-kind-select",
108
+ options: KIND_OPTIONS,
109
+ value: kind,
110
+ label: __('Kind'),
111
+ onChange: newKind => {
112
+ onChange({
97
113
  ...track,
98
- label: newLabel
99
- }),
100
- label: __('Label'),
101
- value: label,
102
- help: __('Title of track')
103
- }), /*#__PURE__*/_jsx(TextControl, {
114
+ kind: newKind
115
+ });
116
+ }
117
+ }), /*#__PURE__*/_jsxs(HStack, {
118
+ className: "block-library-video-tracks-editor__single-track-editor-buttons-container",
119
+ children: [/*#__PURE__*/_jsx(Button, {
104
120
  __next40pxDefaultSize: true,
105
- __nextHasNoMarginBottom: true,
106
- onChange: newSrcLang => onChange({
107
- ...track,
108
- srcLang: newSrcLang
109
- }),
110
- label: __('Source language'),
111
- value: srcLang,
112
- help: __('Language tag (en, fr, etc.)')
113
- })]
114
- }), /*#__PURE__*/_jsxs(VStack, {
115
- spacing: "8",
116
- children: [/*#__PURE__*/_jsx(SelectControl, {
121
+ isDestructive: true,
122
+ variant: "link",
123
+ onClick: onRemove,
124
+ children: __('Remove track')
125
+ }), /*#__PURE__*/_jsx(Button, {
117
126
  __next40pxDefaultSize: true,
118
- __nextHasNoMarginBottom: true,
119
- className: "block-library-video-tracks-editor__single-track-editor-kind-select",
120
- options: KIND_OPTIONS,
121
- value: kind,
122
- label: __('Kind'),
123
- onChange: newKind => {
124
- onChange({
125
- ...track,
126
- kind: newKind
127
- });
128
- }
129
- }), /*#__PURE__*/_jsxs(HStack, {
130
- className: "block-library-video-tracks-editor__single-track-editor-buttons-container",
131
- children: [/*#__PURE__*/_jsx(Button, {
132
- __next40pxDefaultSize: true,
133
- variant: "secondary",
134
- onClick: () => {
135
- const changes = {};
136
- let hasChanges = false;
137
- if (label === '') {
138
- changes.label = __('English');
139
- hasChanges = true;
140
- }
141
- if (srcLang === '') {
142
- changes.srcLang = 'en';
143
- hasChanges = true;
144
- }
145
- if (track.kind === undefined) {
146
- changes.kind = DEFAULT_KIND;
147
- hasChanges = true;
148
- }
149
- if (hasChanges) {
150
- onChange({
151
- ...track,
152
- ...changes
153
- });
154
- }
155
- onClose();
156
- },
157
- children: __('Close')
158
- }), /*#__PURE__*/_jsx(Button, {
159
- __next40pxDefaultSize: true,
160
- isDestructive: true,
161
- variant: "link",
162
- onClick: onRemove,
163
- children: __('Remove track')
164
- })]
127
+ variant: "primary",
128
+ onClick: () => {
129
+ const changes = {};
130
+ let hasChanges = false;
131
+ if (label === '') {
132
+ changes.label = __('English');
133
+ hasChanges = true;
134
+ }
135
+ if (srcLang === '') {
136
+ changes.srcLang = 'en';
137
+ hasChanges = true;
138
+ }
139
+ if (track.kind === undefined) {
140
+ changes.kind = DEFAULT_KIND;
141
+ hasChanges = true;
142
+ }
143
+ if (hasChanges) {
144
+ onChange({
145
+ ...track,
146
+ ...changes
147
+ });
148
+ }
149
+ onClose();
150
+ },
151
+ children: __('Apply')
165
152
  })]
166
153
  })]
167
- })
154
+ })]
168
155
  });
169
156
  }
170
157
  export default function TracksEditor({
@@ -175,22 +162,40 @@ export default function TracksEditor({
175
162
  return select(blockEditorStore).getSettings().mediaUpload;
176
163
  }, []);
177
164
  const [trackBeingEdited, setTrackBeingEdited] = useState(null);
165
+ const dropdownPopoverRef = useRef();
166
+ useEffect(() => {
167
+ dropdownPopoverRef.current?.focus();
168
+ }, [trackBeingEdited]);
178
169
  if (!mediaUpload) {
179
170
  return null;
180
171
  }
181
172
  return /*#__PURE__*/_jsx(Dropdown, {
182
173
  contentClassName: "block-library-video-tracks-editor",
174
+ focusOnMount: true,
175
+ popoverProps: {
176
+ ref: dropdownPopoverRef
177
+ },
183
178
  renderToggle: ({
184
179
  isOpen,
185
180
  onToggle
186
- }) => /*#__PURE__*/_jsx(ToolbarGroup, {
187
- children: /*#__PURE__*/_jsx(ToolbarButton, {
188
- "aria-expanded": isOpen,
189
- "aria-haspopup": "true",
190
- onClick: onToggle,
191
- children: __('Text tracks')
192
- })
193
- }),
181
+ }) => {
182
+ const handleOnToggle = () => {
183
+ if (!isOpen) {
184
+ // When the Popover opens make sure the initial view is
185
+ // always the track list rather than the edit track UI.
186
+ setTrackBeingEdited(null);
187
+ }
188
+ onToggle();
189
+ };
190
+ return /*#__PURE__*/_jsx(ToolbarGroup, {
191
+ children: /*#__PURE__*/_jsx(ToolbarButton, {
192
+ "aria-expanded": isOpen,
193
+ "aria-haspopup": "true",
194
+ onClick: handleOnToggle,
195
+ children: __('Text tracks')
196
+ })
197
+ });
198
+ },
194
199
  renderContent: () => {
195
200
  if (trackBeingEdited !== null) {
196
201
  return /*#__PURE__*/_jsx(SingleTrackEditor, {
@@ -207,8 +212,17 @@ export default function TracksEditor({
207
212
  }
208
213
  });
209
214
  }
210
- return /*#__PURE__*/_jsx(_Fragment, {
211
- children: /*#__PURE__*/_jsxs(NavigableMenu, {
215
+ return /*#__PURE__*/_jsxs(_Fragment, {
216
+ children: [tracks.length === 0 && /*#__PURE__*/_jsxs("div", {
217
+ className: "block-library-video-tracks-editor__tracks-informative-message",
218
+ children: [/*#__PURE__*/_jsx("h2", {
219
+ className: "block-library-video-tracks-editor__tracks-informative-message-title",
220
+ children: __('Text tracks')
221
+ }), /*#__PURE__*/_jsx("p", {
222
+ className: "block-library-video-tracks-editor__tracks-informative-message-description",
223
+ children: __('Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.')
224
+ })]
225
+ }), /*#__PURE__*/_jsxs(NavigableMenu, {
212
226
  children: [/*#__PURE__*/_jsx(TrackList, {
213
227
  tracks: tracks,
214
228
  onEditPress: setTrackBeingEdited
@@ -272,7 +286,7 @@ export default function TracksEditor({
272
286
  })
273
287
  })]
274
288
  })]
275
- })
289
+ })]
276
290
  });
277
291
  }
278
292
  });
@@ -1 +1 @@
1
- {"version":3,"names":["__","_x","sprintf","NavigableMenu","MenuItem","FormFileUpload","MenuGroup","ToolbarGroup","ToolbarButton","Dropdown","Button","TextControl","SelectControl","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","MediaUpload","MediaUploadCheck","store","blockEditorStore","upload","media","useSelect","useState","getFilename","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","TrackList","tracks","onEditPress","content","length","className","children","map","track","index","__next40pxDefaultSize","variant","onClick","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","spacing","columns","gap","__nextHasNoMarginBottom","autoFocus","newLabel","help","newSrcLang","options","newKind","changes","hasChanges","undefined","isDestructive","TracksEditor","mediaUpload","select","getSettings","trackBeingEdited","setTrackBeingEdited","contentClassName","renderToggle","isOpen","onToggle","renderContent","newTrack","newTracks","filter","_track","onSelect","url","trackIndex","allowedTypes","render","open","icon","event","files","target","filesList","onFileChange","accept","openFileDialog"],"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":[]}
1
+ {"version":3,"names":["__","_x","sprintf","NavigableMenu","MenuItem","FormFileUpload","MenuGroup","ToolbarGroup","ToolbarButton","Dropdown","Button","TextControl","SelectControl","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","MediaUpload","MediaUploadCheck","store","blockEditorStore","upload","media","useSelect","useState","useRef","useEffect","getFilename","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","TrackList","tracks","onEditPress","content","map","track","index","className","children","__next40pxDefaultSize","variant","onClick","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","spacing","columns","gap","__nextHasNoMarginBottom","newLabel","help","newSrcLang","options","newKind","isDestructive","changes","hasChanges","undefined","TracksEditor","mediaUpload","select","getSettings","trackBeingEdited","setTrackBeingEdited","dropdownPopoverRef","current","focus","contentClassName","focusOnMount","popoverProps","ref","renderToggle","isOpen","onToggle","handleOnToggle","renderContent","newTrack","newTracks","filter","_track","length","onSelect","url","trackIndex","allowedTypes","render","open","icon","event","files","target","filesList","onFileChange","accept","openFileDialog"],"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, useRef, useEffect } 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\tconst content = tracks.map( ( track, index ) => {\n\t\treturn (\n\t\t\t<HStack\n\t\t\t\tkey={ index }\n\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t>\n\t\t\t\t<span>{ track.label }</span>\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\taria-label={ sprintf(\n\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_x( 'Edit %s', 'text tracks' ),\n\t\t\t\t\t\ttrack.label\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t);\n\t} );\n\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<VStack\n\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\tspacing=\"4\"\n\t\t>\n\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t</span>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t\t<VStack spacing=\"8\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</VStack>\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\tconst dropdownPopoverRef = useRef();\n\n\tuseEffect( () => {\n\t\tdropdownPopoverRef.current?.focus();\n\t}, [ trackBeingEdited ] );\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\tfocusOnMount\n\t\t\tpopoverProps={ {\n\t\t\t\tref: dropdownPopoverRef,\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst handleOnToggle = () => {\n\t\t\t\t\tif ( ! isOpen ) {\n\t\t\t\t\t\t// When the Popover opens make sure the initial view is\n\t\t\t\t\t\t// always the track list rather than the edit track UI.\n\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t}\n\t\t\t\t\tonToggle();\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\tonClick={ handleOnToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t);\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\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ tracks.length === 0 && (\n\t\t\t\t\t\t\t<div className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t\t\t\t\t<h2 className=\"block-library-video-tracks-editor__tracks-informative-message-title\">\n\t\t\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message-description\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\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\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\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":[]}
@@ -2402,13 +2402,13 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2402
2402
  font-size: inherit;
2403
2403
  color: currentColor;
2404
2404
  height: auto;
2405
+ font-weight: inherit;
2406
+ font-family: inherit;
2405
2407
  opacity: 1;
2406
2408
  padding: 0.25em;
2407
2409
  }
2408
- .wp-block-social-link-anchor:focus:not(:disabled) {
2409
- border-radius: 2px;
2410
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
2411
- outline: 3px solid transparent;
2410
+ .wp-block-social-link-anchor:hover {
2411
+ transform: none;
2412
2412
  }
2413
2413
 
2414
2414
  :root :where(.wp-block-social-links.is-style-pill-shape .wp-social-link button) {
@@ -2420,6 +2420,10 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2420
2420
  padding: 0;
2421
2421
  }
2422
2422
 
2423
+ .wp-block-social-link__toolbar_content_text {
2424
+ width: 250px;
2425
+ }
2426
+
2423
2427
  .wp-block-social-links div.block-editor-url-input {
2424
2428
  display: inline-block;
2425
2429
  margin-right: 8px;
@@ -2697,6 +2701,7 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2697
2701
  max-width: 240px;
2698
2702
  }
2699
2703
 
2704
+ .block-library-video-tracks-editor__tracks-informative-message-title,
2700
2705
  .block-library-video-tracks-editor__single-track-editor-edit-track-label {
2701
2706
  margin-top: 4px;
2702
2707
  color: #757575;
@@ -2715,6 +2720,13 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2715
2720
  padding: 0;
2716
2721
  }
2717
2722
 
2723
+ .block-library-video-tracks-editor__tracks-informative-message {
2724
+ padding: 8px;
2725
+ }
2726
+ .block-library-video-tracks-editor__tracks-informative-message-description {
2727
+ margin-bottom: 0;
2728
+ }
2729
+
2718
2730
  .editor-styles-wrapper ul.wp-block-post-template {
2719
2731
  padding-right: 0;
2720
2732
  margin-right: 0;
@@ -2728,10 +2740,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2728
2740
  margin-bottom: 8px;
2729
2741
  }
2730
2742
 
2731
- .wp-block-query__create-new-link {
2732
- padding: 0 52px 16px 16px;
2733
- }
2734
-
2735
2743
  .block-library-query__pattern-selection-content .block-editor-block-patterns-list {
2736
2744
  display: grid;
2737
2745
  grid-template-columns: 1fr 1fr 1fr;