@wordpress/block-library 9.11.0 → 9.12.1-next.082ed6819.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.
- package/CHANGELOG.md +2 -0
- package/build/block-keyboard-shortcuts/index.js +7 -7
- package/build/block-keyboard-shortcuts/index.js.map +1 -1
- package/build/button/index.js +1 -1
- package/build/button/index.js.map +1 -1
- package/build/cover/deprecated.js +140 -4
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit/block-controls.js +1 -1
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/cover-placeholder.js +1 -2
- package/build/cover/edit/cover-placeholder.js.map +1 -1
- package/build/cover/edit/index.js +23 -23
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/index.js +10 -10
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +13 -13
- package/build/cover/save.js.map +1 -1
- package/build/cover/shared.js +6 -7
- package/build/cover/shared.js.map +1 -1
- package/build/details/index.js +20 -0
- package/build/details/index.js.map +1 -1
- package/build/file/edit.js +8 -4
- package/build/file/edit.js.map +1 -1
- package/build/freeform/modal.js +1 -1
- package/build/freeform/modal.js.map +1 -1
- package/build/gallery/edit.js +1 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/heading/index.js +1 -7
- package/build/heading/index.js.map +1 -1
- package/build/home-link/edit.js +20 -36
- package/build/home-link/edit.js.map +1 -1
- package/build/image/edit.js +1 -1
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +144 -78
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +1 -1
- package/build/latest-posts/edit.js +0 -1
- package/build/latest-posts/edit.js.map +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/navigation/edit/index.js +2 -23
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/use-template-part-area-label.js +6 -8
- package/build/navigation/use-template-part-area-label.js.map +1 -1
- package/build/page-list/index.js +14 -0
- package/build/page-list/index.js.map +1 -1
- package/build/paragraph/edit.js +26 -25
- package/build/paragraph/edit.js.map +1 -1
- package/build/post-content/index.js +13 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-template/edit.js +11 -0
- package/build/post-template/edit.js.map +1 -1
- package/build/post-template/index.js +1 -1
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js +1 -3
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +3 -13
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/pattern-selection-modal.js +0 -3
- package/build/query/edit/pattern-selection-modal.js.map +1 -1
- package/build/query/edit/query-content.js +10 -12
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/index.js +1 -1
- package/build/query/utils.js +38 -9
- package/build/query/utils.js.map +1 -1
- package/build/social-link/edit.js +22 -9
- package/build/social-link/edit.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +2 -7
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/index.js +1 -4
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +0 -3
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/utils/get-template-part-icon.js +23 -0
- package/build/template-part/edit/utils/get-template-part-icon.js.map +1 -0
- package/build/template-part/edit/utils/hooks.js +1 -6
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/template-part/variations.js +6 -12
- package/build/template-part/variations.js.map +1 -1
- package/build/video/edit.js +1 -1
- package/build/video/edit.js.map +1 -1
- package/build/video/tracks-editor.js +135 -123
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/block-keyboard-shortcuts/index.js +7 -7
- package/build-module/block-keyboard-shortcuts/index.js.map +1 -1
- package/build-module/button/index.js +1 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/cover/deprecated.js +140 -4
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +1 -1
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/cover-placeholder.js +1 -2
- package/build-module/cover/edit/cover-placeholder.js.map +1 -1
- package/build-module/cover/edit/index.js +23 -23
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/index.js +10 -10
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +13 -13
- package/build-module/cover/save.js.map +1 -1
- package/build-module/cover/shared.js +6 -7
- package/build-module/cover/shared.js.map +1 -1
- package/build-module/details/index.js +21 -1
- package/build-module/details/index.js.map +1 -1
- package/build-module/file/edit.js +8 -4
- package/build-module/file/edit.js.map +1 -1
- package/build-module/freeform/modal.js +1 -1
- package/build-module/freeform/modal.js.map +1 -1
- package/build-module/gallery/edit.js +1 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/heading/index.js +1 -7
- package/build-module/heading/index.js.map +1 -1
- package/build-module/home-link/edit.js +23 -39
- package/build-module/home-link/edit.js.map +1 -1
- package/build-module/image/edit.js +1 -1
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +149 -83
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +1 -1
- package/build-module/latest-posts/edit.js +0 -1
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/navigation/edit/index.js +2 -23
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/use-template-part-area-label.js +6 -8
- package/build-module/navigation/use-template-part-area-label.js.map +1 -1
- package/build-module/page-list/index.js +14 -0
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/paragraph/edit.js +26 -25
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/post-content/index.js +13 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-template/edit.js +11 -0
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-template/index.js +1 -1
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +1 -3
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +3 -13
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/pattern-selection-modal.js +0 -3
- package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
- package/build-module/query/edit/query-content.js +10 -12
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/index.js +1 -1
- package/build-module/query/utils.js +35 -8
- package/build-module/query/utils.js.map +1 -1
- package/build-module/social-link/edit.js +24 -11
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +3 -8
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +1 -4
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +0 -3
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/get-template-part-icon.js +15 -0
- package/build-module/template-part/edit/utils/get-template-part-icon.js.map +1 -0
- package/build-module/template-part/edit/utils/hooks.js +1 -6
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/template-part/variations.js +5 -11
- package/build-module/template-part/variations.js.map +1 -1
- package/build-module/video/edit.js +1 -1
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +136 -124
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/cover/editor-rtl.css +3 -5
- package/build-style/cover/editor.css +3 -5
- package/build-style/cover/style-rtl.css +19 -15
- package/build-style/cover/style.css +19 -15
- package/build-style/editor-rtl.css +19 -30
- package/build-style/editor.css +19 -30
- package/build-style/group/editor-rtl.css +0 -10
- package/build-style/group/editor.css +0 -10
- package/build-style/image/editor-rtl.css +4 -0
- package/build-style/image/editor.css +4 -0
- package/build-style/image/style-rtl.css +0 -2
- package/build-style/image/style.css +0 -2
- package/build-style/latest-posts/editor-rtl.css +0 -7
- package/build-style/latest-posts/editor.css +0 -7
- package/build-style/media-text/style-rtl.css +1 -1
- package/build-style/media-text/style.css +1 -1
- package/build-style/navigation/style-rtl.css +1 -1
- package/build-style/navigation/style.css +1 -1
- package/build-style/page-list/style-rtl.css +4 -0
- package/build-style/page-list/style.css +4 -0
- package/build-style/query/editor-rtl.css +0 -4
- package/build-style/query/editor.css +0 -4
- package/build-style/search/style-rtl.css +3 -3
- package/build-style/search/style.css +3 -3
- package/build-style/social-link/editor-rtl.css +4 -4
- package/build-style/social-link/editor.css +4 -4
- package/build-style/style-rtl.css +28 -22
- package/build-style/style.css +28 -22
- package/build-style/video/editor-rtl.css +8 -0
- package/build-style/video/editor.css +8 -0
- package/build-types/lock-unlock.d.ts +2 -0
- package/build-types/lock-unlock.d.ts.map +1 -0
- package/package.json +39 -39
- package/src/block-keyboard-shortcuts/index.js +25 -11
- package/src/button/index.js +1 -1
- package/src/comments/block.json +3 -9
- package/src/cover/deprecated.js +182 -4
- package/src/cover/edit/block-controls.js +1 -1
- package/src/cover/edit/cover-placeholder.js +0 -3
- package/src/cover/edit/index.js +42 -27
- package/src/cover/editor.scss +4 -5
- package/src/cover/index.js +8 -8
- package/src/cover/save.js +27 -20
- package/src/cover/shared.js +10 -10
- package/src/cover/style.scss +40 -16
- package/src/cover/test/__snapshots__/edit.native.js.snap +9 -9
- package/src/cover/test/__snapshots__/transforms.native.js.snap +4 -4
- package/src/cover/test/edit.js +2 -2
- package/src/cover/test/edit.native.js +4 -4
- package/src/cover/test/transforms.native.js +4 -4
- package/src/details/block.json +1 -0
- package/src/details/index.js +23 -1
- package/src/file/edit.js +9 -3
- package/src/freeform/modal.js +1 -1
- package/src/gallery/edit.js +1 -1
- package/src/group/editor.scss +0 -12
- package/src/heading/block.json +1 -7
- package/src/home-link/edit.js +27 -45
- package/src/home-link/index.php +0 -3
- package/src/image/block.json +1 -1
- package/src/image/edit.js +1 -1
- package/src/image/editor.scss +4 -0
- package/src/image/image.js +200 -109
- package/src/image/style.scss +0 -1
- package/src/image/test/__snapshots__/transforms.native.js.snap +1 -1
- package/src/latest-posts/edit.js +0 -1
- package/src/latest-posts/editor.scss +0 -11
- package/src/media-text/style.scss +1 -1
- package/src/media-text/test/__snapshots__/transforms.native.js.snap +2 -2
- package/src/navigation/edit/index.js +3 -30
- package/src/navigation/index.php +5 -151
- package/src/navigation/style.scss +1 -1
- package/src/navigation/use-template-part-area-label.js +10 -10
- package/src/page-list/block.json +14 -0
- package/src/page-list/style.scss +4 -0
- package/src/paragraph/edit.js +20 -17
- package/src/pattern/index.php +0 -7
- package/src/post-content/block.json +14 -1
- package/src/post-template/block.json +2 -1
- package/src/post-template/edit.js +19 -0
- package/src/query/block.json +1 -1
- package/src/query/edit/inspector-controls/enhanced-pagination-control.js +3 -5
- package/src/query/edit/inspector-controls/index.js +2 -12
- package/src/query/edit/pattern-selection-modal.js +0 -3
- package/src/query/edit/query-content.js +9 -17
- package/src/query/editor.scss +0 -4
- package/src/query/index.php +1 -1
- package/src/query/test/utils.js +59 -1
- package/src/query/utils.js +43 -15
- package/src/rss/index.php +11 -8
- package/src/search/index.php +2 -2
- package/src/search/style.scss +3 -5
- package/src/social-link/edit.js +47 -19
- package/src/social-link/editor.scss +6 -7
- package/src/template-part/edit/advanced-controls.js +13 -13
- package/src/template-part/edit/index.js +1 -4
- package/src/template-part/edit/selection-modal.js +0 -3
- package/src/template-part/edit/utils/get-template-part-icon.js +20 -0
- package/src/template-part/edit/utils/hooks.js +2 -7
- package/src/template-part/variations.js +4 -16
- package/src/video/edit.js +1 -1
- package/src/video/editor.scss +9 -0
- package/src/video/test/__snapshots__/transforms.native.js.snap +1 -1
- package/src/video/tracks-editor.js +157 -141
- package/tsconfig.tsbuildinfo +1 -1
- package/build/query/edit/inspector-controls/create-new-post-link.js +0 -40
- package/build/query/edit/inspector-controls/create-new-post-link.js.map +0 -1
- package/build-module/query/edit/inspector-controls/create-new-post-link.js +0 -33
- package/build-module/query/edit/inspector-controls/create-new-post-link.js.map +0 -1
- package/src/query/edit/inspector-controls/create-new-post-link.js +0 -32
- /package/src/{lock-unlock.js → lock-unlock.ts} +0 -0
|
@@ -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","
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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","
|
|
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":[]}
|
|
@@ -127,7 +127,7 @@ function VideoEdit({
|
|
|
127
127
|
withIllustration: !isSingleSelected,
|
|
128
128
|
icon: icon,
|
|
129
129
|
label: __('Video'),
|
|
130
|
-
instructions: __('
|
|
130
|
+
instructions: __('Drag and drop a video, upload, or choose from your library.'),
|
|
131
131
|
children: content
|
|
132
132
|
});
|
|
133
133
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","Placeholder","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","useBlockProps","useRef","useEffect","useState","__","sprintf","useInstanceId","useDispatch","video","icon","store","noticesStore","createUpgradedEmbedBlock","useUploadMediaFromBlobURL","VideoCommonSettings","TracksEditor","Tracks","Caption","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","controls","poster","src","tracks","temporaryURL","setTemporaryURL","blob","url","allowedTypes","onChange","onSelectVideo","onError","onUploadError","current","load","media","undefined","caption","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","placeholder","content","withIllustration","label","instructions","children","classes","blockProps","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","newTracks","group","mediaId","mediaURL","onReset","title","VisualLabel","render","open","__next40pxDefaultSize","variant","onClick","ref","hidden","isDisabled","showToolbarButton"],"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","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","Placeholder","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","useBlockProps","useRef","useEffect","useState","__","sprintf","useInstanceId","useDispatch","video","icon","store","noticesStore","createUpgradedEmbedBlock","useUploadMediaFromBlobURL","VideoCommonSettings","TracksEditor","Tracks","Caption","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","controls","poster","src","tracks","temporaryURL","setTemporaryURL","blob","url","allowedTypes","onChange","onSelectVideo","onError","onUploadError","current","load","media","undefined","caption","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","placeholder","content","withIllustration","label","instructions","children","classes","blockProps","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","newTracks","group","mediaId","mediaURL","onReset","title","VisualLabel","render","open","__next40pxDefaultSize","variant","onClick","ref","hidden","isDisabled","showToolbarButton"],"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":[]}
|
|
@@ -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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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__*/
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
children:
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
-
|
|
99
|
-
})
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
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
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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,24 +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
|
-
}) =>
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
|
|
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
|
+
},
|
|
196
199
|
renderContent: () => {
|
|
197
200
|
if (trackBeingEdited !== null) {
|
|
198
201
|
return /*#__PURE__*/_jsx(SingleTrackEditor, {
|
|
@@ -209,8 +212,17 @@ export default function TracksEditor({
|
|
|
209
212
|
}
|
|
210
213
|
});
|
|
211
214
|
}
|
|
212
|
-
return /*#__PURE__*/
|
|
213
|
-
children: /*#__PURE__*/_jsxs(
|
|
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, {
|
|
214
226
|
children: [/*#__PURE__*/_jsx(TrackList, {
|
|
215
227
|
tracks: tracks,
|
|
216
228
|
onEditPress: setTrackBeingEdited
|
|
@@ -274,7 +286,7 @@ export default function TracksEditor({
|
|
|
274
286
|
})
|
|
275
287
|
})]
|
|
276
288
|
})]
|
|
277
|
-
})
|
|
289
|
+
})]
|
|
278
290
|
});
|
|
279
291
|
}
|
|
280
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","showTooltip","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\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":["__","_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":[]}
|