@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
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getTemplatePartIcon = void 0;
|
|
7
|
+
var _icons = require("@wordpress/icons");
|
|
8
|
+
/**
|
|
9
|
+
* WordPress dependencies
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
const getTemplatePartIcon = iconName => {
|
|
13
|
+
if ('header' === iconName) {
|
|
14
|
+
return _icons.header;
|
|
15
|
+
} else if ('footer' === iconName) {
|
|
16
|
+
return _icons.footer;
|
|
17
|
+
} else if ('sidebar' === iconName) {
|
|
18
|
+
return _icons.sidebar;
|
|
19
|
+
}
|
|
20
|
+
return _icons.symbolFilled;
|
|
21
|
+
};
|
|
22
|
+
exports.getTemplatePartIcon = getTemplatePartIcon;
|
|
23
|
+
//# sourceMappingURL=get-template-part-icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_icons","require","getTemplatePartIcon","iconName","headerIcon","footerIcon","sidebarIcon","symbolFilledIcon","exports"],"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":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAQO,MAAMC,mBAAmB,GAAKC,QAAQ,IAAM;EAClD,IAAK,QAAQ,KAAKA,QAAQ,EAAG;IAC5B,OAAOC,aAAU;EAClB,CAAC,MAAM,IAAK,QAAQ,KAAKD,QAAQ,EAAG;IACnC,OAAOE,aAAU;EAClB,CAAC,MAAM,IAAK,SAAS,KAAKF,QAAQ,EAAG;IACpC,OAAOG,cAAW;EACnB;EACA,OAAOC,mBAAgB;AACxB,CAAC;AAACC,OAAA,CAAAN,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -123,12 +123,7 @@ function useCreateTemplatePartFromBlocks(area, setAttributes) {
|
|
|
123
123
|
function useTemplatePartArea(area) {
|
|
124
124
|
return (0, _data.useSelect)(select => {
|
|
125
125
|
var _selectedArea$area_ta;
|
|
126
|
-
|
|
127
|
-
// Blocks can be loaded into a *non-post* block editor.
|
|
128
|
-
/* eslint-disable @wordpress/data-no-store-string-literals */
|
|
129
|
-
const definedAreas = select('core/editor').__experimentalGetDefaultTemplatePartAreas();
|
|
130
|
-
/* eslint-enable @wordpress/data-no-store-string-literals */
|
|
131
|
-
|
|
126
|
+
const definedAreas = select(_coreData.store).getEntityRecord('root', '__unstableBase')?.default_template_part_areas || [];
|
|
132
127
|
const selectedArea = definedAreas.find(definedArea => definedArea.area === area);
|
|
133
128
|
const defaultArea = definedAreas.find(definedArea => definedArea.area === 'uncategorized');
|
|
134
129
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_changeCase","require","_data","_coreData","_blockEditor","_element","_blocks","_i18n","_createTemplatePartId","useAlternativeTemplateParts","area","excludedId","templateParts","isResolving","useSelect","select","getEntityRecords","_isResolving","coreStore","query","per_page","filteredTemplateParts","useMemo","filter","templatePart","createTemplatePartId","theme","slug","useAlternativeBlockPatterns","clientId","blockNameWithArea","getBlockRootClientId","getPatternsByBlockTypes","blockEditorStore","rootClientId","useCreateTemplatePartFromBlocks","setAttributes","saveEntityRecord","useDispatch","blocks","title","__","cleanSlug","kebabCase","replace","record","content","serialize","undefined","useTemplatePartArea","_selectedArea$area_ta","definedAreas","
|
|
1
|
+
{"version":3,"names":["_changeCase","require","_data","_coreData","_blockEditor","_element","_blocks","_i18n","_createTemplatePartId","useAlternativeTemplateParts","area","excludedId","templateParts","isResolving","useSelect","select","getEntityRecords","_isResolving","coreStore","query","per_page","filteredTemplateParts","useMemo","filter","templatePart","createTemplatePartId","theme","slug","useAlternativeBlockPatterns","clientId","blockNameWithArea","getBlockRootClientId","getPatternsByBlockTypes","blockEditorStore","rootClientId","useCreateTemplatePartFromBlocks","setAttributes","saveEntityRecord","useDispatch","blocks","title","__","cleanSlug","kebabCase","replace","record","content","serialize","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":";;;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAKA,IAAAO,qBAAA,GAAAP,OAAA;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASQ,2BAA2BA,CAAEC,IAAI,EAAEC,UAAU,EAAG;EAC/D,MAAM;IAAEC,aAAa;IAAEC;EAAY,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC/D,MAAM;MAAEC,gBAAgB;MAAEH,WAAW,EAAEI;IAAa,CAAC,GACpDF,MAAM,CAAEG,eAAU,CAAC;IACpB,MAAMC,KAAK,GAAG;MAAEC,QAAQ,EAAE,CAAC;IAAE,CAAC;IAC9B,OAAO;MACNR,aAAa,EAAEI,gBAAgB,CAC9B,UAAU,EACV,kBAAkB,EAClBG,KACD,CAAC;MACDN,WAAW,EAAEI,YAAY,CAAE,kBAAkB,EAAE,CAC9C,UAAU,EACV,kBAAkB,EAClBE,KAAK,CACJ;IACH,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAME,qBAAqB,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC5C,IAAK,CAAEV,aAAa,EAAG;MACtB,OAAO,EAAE;IACV;IACA,OACCA,aAAa,CAACW,MAAM,CACjBC,YAAY,IACb,IAAAC,0CAAoB,EACnBD,YAAY,CAACE,KAAK,EAClBF,YAAY,CAACG,IACd,CAAC,KAAKhB,UAAU,KACd,CAAED,IAAI,IACP,eAAe,KAAKA,IAAI,IACxBc,YAAY,CAACd,IAAI,KAAKA,IAAI,CAC7B,CAAC,IAAI,EAAE;EAET,CAAC,EAAE,CAAEE,aAAa,EAAEF,IAAI,EAAEC,UAAU,CAAG,CAAC;EAExC,OAAO;IACNC,aAAa,EAAES,qBAAqB;IACpCR;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASe,2BAA2BA,CAAElB,IAAI,EAAEmB,QAAQ,EAAG;EAC7D,OAAO,IAAAf,eAAS,EACbC,MAAM,IAAM;IACb,MAAMe,iBAAiB,GAAGpB,IAAI,GAC3B,sBAAuBA,IAAI,EAAG,GAC9B,oBAAoB;IACvB,MAAM;MAAEqB,oBAAoB;MAAEC;IAAwB,CAAC,GACtDjB,MAAM,CAAEkB,kBAAiB,CAAC;IAC3B,MAAMC,YAAY,GAAGH,oBAAoB,CAAEF,QAAS,CAAC;IACrD,OAAOG,uBAAuB,CAAEF,iBAAiB,EAAEI,YAAa,CAAC;EAClE,CAAC,EACD,CAAExB,IAAI,EAAEmB,QAAQ,CACjB,CAAC;AACF;AAEO,SAASM,+BAA+BA,CAAEzB,IAAI,EAAE0B,aAAa,EAAG;EACtE,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEpB,eAAU,CAAC;EAErD,OAAO,OAAQqB,MAAM,GAAG,EAAE,EAAEC,KAAK,GAAG,IAAAC,QAAE,EAAE,wBAAyB,CAAC,KAAM;IACvE;IACA;IACA,MAAMC,SAAS,GACd,IAAAC,qBAAS,EAAEH,KAAM,CAAC,CAACI,OAAO,CAAE,UAAU,EAAE,EAAG,CAAC,IAAI,gBAAgB;;IAEjE;IACA;IACA;IACA;IACA,MAAMC,MAAM,GAAG;MACdL,KAAK;MACLb,IAAI,EAAEe,SAAS;MACfI,OAAO,EAAE,IAAAC,iBAAS,EAAER,MAAO,CAAC;MAC5B;MACA;MACA7B;IACD,CAAC;IACD,MAAMc,YAAY,GAAG,MAAMa,gBAAgB,CAC1C,UAAU,EACV,kBAAkB,EAClBQ,MACD,CAAC;IACDT,aAAa,CAAE;MACdT,IAAI,EAAEH,YAAY,CAACG,IAAI;MACvBD,KAAK,EAAEF,YAAY,CAACE,KAAK;MACzBhB,IAAI,EAAEsC;IACP,CAAE,CAAC;EACJ,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAAEvC,IAAI,EAAG;EAC3C,OAAO,IAAAI,eAAS,EACbC,MAAM,IAAM;IAAA,IAAAmC,qBAAA;IACb,MAAMC,YAAY,GACjBpC,MAAM,CAAEG,eAAU,CAAC,CAACkC,eAAe,CAAE,MAAM,EAAE,gBAAiB,CAAC,EAC5DC,2BAA2B,IAAI,EAAE;IAErC,MAAMC,YAAY,GAAGH,YAAY,CAACI,IAAI,CACnCC,WAAW,IAAMA,WAAW,CAAC9C,IAAI,KAAKA,IACzC,CAAC;IACD,MAAM+C,WAAW,GAAGN,YAAY,CAACI,IAAI,CAClCC,WAAW,IAAMA,WAAW,CAAC9C,IAAI,KAAK,eACzC,CAAC;IAED,OAAO;MACNgD,IAAI,EAAEJ,YAAY,EAAEI,IAAI,IAAID,WAAW,EAAEC,IAAI;MAC7CC,KAAK,EAAEL,YAAY,EAAEK,KAAK,IAAI,IAAAlB,QAAE,EAAE,eAAgB,CAAC;MACnDmB,OAAO,GAAAV,qBAAA,GAAEI,YAAY,EAAEO,QAAQ,cAAAX,qBAAA,cAAAA,qBAAA,GAAI;IACpC,CAAC;EACF,CAAC,EACD,CAAExC,IAAI,CACP,CAAC;AACF","ignoreList":[]}
|
|
@@ -6,21 +6,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.enhanceTemplatePartVariations = enhanceTemplatePartVariations;
|
|
7
7
|
var _coreData = require("@wordpress/core-data");
|
|
8
8
|
var _data = require("@wordpress/data");
|
|
9
|
-
var
|
|
9
|
+
var _getTemplatePartIcon = require("./edit/utils/get-template-part-icon");
|
|
10
10
|
/**
|
|
11
11
|
* WordPress dependencies
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return _icons.footer;
|
|
19
|
-
} else if ('sidebar' === iconName) {
|
|
20
|
-
return _icons.sidebar;
|
|
21
|
-
}
|
|
22
|
-
return _icons.symbolFilled;
|
|
23
|
-
}
|
|
14
|
+
/**
|
|
15
|
+
* Internal dependencies
|
|
16
|
+
*/
|
|
17
|
+
|
|
24
18
|
function enhanceTemplatePartVariations(settings, name) {
|
|
25
19
|
if (name !== 'core/template-part') {
|
|
26
20
|
return settings;
|
|
@@ -59,7 +53,7 @@ function enhanceTemplatePartVariations(settings, name) {
|
|
|
59
53
|
isActive
|
|
60
54
|
}),
|
|
61
55
|
...(typeof variation.icon === 'string' && {
|
|
62
|
-
icon: getTemplatePartIcon(variation.icon)
|
|
56
|
+
icon: (0, _getTemplatePartIcon.getTemplatePartIcon)(variation.icon)
|
|
63
57
|
})
|
|
64
58
|
};
|
|
65
59
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_coreData","require","_data","
|
|
1
|
+
{"version":3,"names":["_coreData","require","_data","_getTemplatePartIcon","enhanceTemplatePartVariations","settings","name","variations","isActive","blockAttributes","variationAttributes","area","theme","slug","getCurrentTheme","getEntityRecord","select","coreDataStore","entity","stylesheet","map","variation","icon","getTemplatePartIcon"],"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":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,oBAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGO,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,GACzC,IAAAC,YAAM,EAAEC,eAAc,CAAC;MACxB,MAAMC,MAAM,GAAGH,eAAe,CAC7B,UAAU,EACV,kBAAkB,EAClB,GAAIH,KAAK,IAAIE,eAAe,CAAC,CAAC,EAAEK,UAAU,KAAON,IAAI,EACtD,CAAC;MAED,IAAKK,MAAM,EAAEL,IAAI,EAAG;QACnB,OAAOK,MAAM,CAACL,IAAI,KAAKH,mBAAmB,CAACG,IAAI;MAChD;MACA,OAAOK,MAAM,EAAEP,IAAI,KAAKD,mBAAmB,CAACC,IAAI;IACjD,CAAC;IAED,MAAMJ,UAAU,GAAGF,QAAQ,CAACE,UAAU,CAACa,GAAG,CAAIC,SAAS,IAAM;MAC5D,OAAO;QACN,GAAGA,SAAS;QACZ,IAAK,CAAEA,SAAS,CAACb,QAAQ,IAAI;UAAEA;QAAS,CAAC,CAAE;QAC3C,IAAK,OAAOa,SAAS,CAACC,IAAI,KAAK,QAAQ,IAAI;UAC1CA,IAAI,EAAE,IAAAC,wCAAmB,EAAEF,SAAS,CAACC,IAAK;QAC3C,CAAC;MACF,CAAC;IACF,CAAE,CAAC;IAEH,OAAO;MACN,GAAGjB,QAAQ;MACXE;IACD,CAAC;EACF;EACA,OAAOF,QAAQ;AAChB","ignoreList":[]}
|
package/build/video/edit.js
CHANGED
|
@@ -135,7 +135,7 @@ function VideoEdit({
|
|
|
135
135
|
withIllustration: !isSingleSelected,
|
|
136
136
|
icon: _icons.video,
|
|
137
137
|
label: (0, _i18n.__)('Video'),
|
|
138
|
-
instructions: (0, _i18n.__)('
|
|
138
|
+
instructions: (0, _i18n.__)('Drag and drop a video, upload, or choose from your library.'),
|
|
139
139
|
children: content
|
|
140
140
|
});
|
|
141
141
|
};
|
package/build/video/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_components","_blockEditor","_element","_i18n","_compose","_data","_icons","_notices","_util","_hooks","_editCommonSettings","_tracksEditor","_tracks","_caption","_jsxRuntime","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","useInstanceId","videoPlayer","useRef","posterImageButton","id","controls","poster","src","tracks","temporaryURL","setTemporaryURL","useState","blob","useUploadMediaFromBlobURL","url","allowedTypes","onChange","onSelectVideo","onError","onUploadError","useEffect","current","load","media","undefined","caption","isBlobURL","image","icon","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","createErrorNotice","useDispatch","noticesStore","message","type","placeholder","content","jsx","Placeholder","withIllustration","label","__","instructions","children","classes","clsx","blockProps","useBlockProps","MediaPlaceholder","BlockIcon","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","jsxs","Fragment","BlockControls","default","newTracks","group","MediaReplaceFlow","mediaId","mediaURL","onReset","InspectorControls","PanelBody","title","MediaUploadCheck","BaseControl","VisualLabel","MediaUpload","render","open","Button","__next40pxDefaultSize","variant","onClick","ref","hidden","sprintf","Disabled","isDisabled","Spinner","Caption","showToolbarButton","_default","exports"],"sources":["@wordpress/block-library/src/video/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, controls, poster, src, tracks } = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\tsrc: newSrc,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\t\twithIllustration={ ! isSingleSelected }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ __( 'Video' ) }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\tonReset={ () => onSelectVideo( undefined ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<div className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n Disable the video tag if the block is not selected\n so the user clicking on it won't play the\n video when the controls are enabled.\n */ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src || temporaryURL }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ !! temporaryURL && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Video caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_components","_blockEditor","_element","_i18n","_compose","_data","_icons","_notices","_util","_hooks","_editCommonSettings","_tracksEditor","_tracks","_caption","_jsxRuntime","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","useInstanceId","videoPlayer","useRef","posterImageButton","id","controls","poster","src","tracks","temporaryURL","setTemporaryURL","useState","blob","useUploadMediaFromBlobURL","url","allowedTypes","onChange","onSelectVideo","onError","onUploadError","useEffect","current","load","media","undefined","caption","isBlobURL","image","icon","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","createErrorNotice","useDispatch","noticesStore","message","type","placeholder","content","jsx","Placeholder","withIllustration","label","__","instructions","children","classes","clsx","blockProps","useBlockProps","MediaPlaceholder","BlockIcon","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","jsxs","Fragment","BlockControls","default","newTracks","group","MediaReplaceFlow","mediaId","mediaURL","onReset","InspectorControls","PanelBody","title","MediaUploadCheck","BaseControl","VisualLabel","MediaUpload","render","open","Button","__next40pxDefaultSize","variant","onClick","ref","hidden","sprintf","Disabled","isDisabled","Spinner","Caption","showToolbarButton","_default","exports"],"sources":["@wordpress/block-library/src/video/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, controls, poster, src, tracks } = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\tsrc: newSrc,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\t\twithIllustration={ ! isSingleSelected }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ __( 'Video' ) }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\tonReset={ () => onSelectVideo( undefined ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<div className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n Disable the video tag if the block is not selected\n so the user clicking on it won't play the\n video when the controls are enabled.\n */ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src || temporaryURL }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ !! temporaryURL && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Video caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,29 +38,21 @@ function TrackList({
|
|
|
38
38
|
tracks,
|
|
39
39
|
onEditPress
|
|
40
40
|
}) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
onClick: () => onEditPress(index),
|
|
57
|
-
"aria-label": (0, _i18n.sprintf)(/* translators: %s: Label of the video text track e.g: "French subtitles" */
|
|
58
|
-
(0, _i18n._x)('Edit %s', 'text tracks'), track.label),
|
|
59
|
-
children: (0, _i18n.__)('Edit')
|
|
60
|
-
})]
|
|
61
|
-
}, index);
|
|
62
|
-
});
|
|
63
|
-
}
|
|
41
|
+
const content = tracks.map((track, index) => {
|
|
42
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
43
|
+
className: "block-library-video-tracks-editor__track-list-track",
|
|
44
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
45
|
+
children: track.label
|
|
46
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
47
|
+
__next40pxDefaultSize: true,
|
|
48
|
+
variant: "tertiary",
|
|
49
|
+
onClick: () => onEditPress(index),
|
|
50
|
+
"aria-label": (0, _i18n.sprintf)(/* translators: %s: Label of the video text track e.g: "French subtitles". */
|
|
51
|
+
(0, _i18n._x)('Edit %s', 'text tracks'), track.label),
|
|
52
|
+
children: (0, _i18n.__)('Edit')
|
|
53
|
+
})]
|
|
54
|
+
}, index);
|
|
55
|
+
});
|
|
64
56
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuGroup, {
|
|
65
57
|
label: (0, _i18n.__)('Text tracks'),
|
|
66
58
|
className: "block-library-video-tracks-editor__track-list",
|
|
@@ -80,98 +72,93 @@ function SingleTrackEditor({
|
|
|
80
72
|
kind = DEFAULT_KIND
|
|
81
73
|
} = track;
|
|
82
74
|
const fileName = src.startsWith('blob:') ? '' : (0, _url.getFilename)(src) || '';
|
|
83
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
children:
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
75
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
76
|
+
className: "block-library-video-tracks-editor__single-track-editor",
|
|
77
|
+
spacing: "4",
|
|
78
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
79
|
+
className: "block-library-video-tracks-editor__single-track-editor-edit-track-label",
|
|
80
|
+
children: (0, _i18n.__)('Edit track')
|
|
81
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
|
|
82
|
+
children: [(0, _i18n.__)('File'), ": ", /*#__PURE__*/(0, _jsxRuntime.jsx)("b", {
|
|
83
|
+
children: fileName
|
|
84
|
+
})]
|
|
85
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalGrid, {
|
|
86
|
+
columns: 2,
|
|
87
|
+
gap: 4,
|
|
88
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
|
|
89
|
+
__next40pxDefaultSize: true,
|
|
90
|
+
__nextHasNoMarginBottom: true,
|
|
91
|
+
onChange: newLabel => onChange({
|
|
92
|
+
...track,
|
|
93
|
+
label: newLabel
|
|
94
|
+
}),
|
|
95
|
+
label: (0, _i18n.__)('Label'),
|
|
96
|
+
value: label,
|
|
97
|
+
help: (0, _i18n.__)('Title of track')
|
|
98
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
|
|
99
|
+
__next40pxDefaultSize: true,
|
|
100
|
+
__nextHasNoMarginBottom: true,
|
|
101
|
+
onChange: newSrcLang => onChange({
|
|
102
|
+
...track,
|
|
103
|
+
srcLang: newSrcLang
|
|
104
|
+
}),
|
|
105
|
+
label: (0, _i18n.__)('Source language'),
|
|
106
|
+
value: srcLang,
|
|
107
|
+
help: (0, _i18n.__)('Language tag (en, fr, etc.)')
|
|
108
|
+
})]
|
|
109
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
110
|
+
spacing: "8",
|
|
111
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
|
|
112
|
+
__next40pxDefaultSize: true,
|
|
113
|
+
__nextHasNoMarginBottom: true,
|
|
114
|
+
className: "block-library-video-tracks-editor__single-track-editor-kind-select",
|
|
115
|
+
options: KIND_OPTIONS,
|
|
116
|
+
value: kind,
|
|
117
|
+
label: (0, _i18n.__)('Kind'),
|
|
118
|
+
onChange: newKind => {
|
|
119
|
+
onChange({
|
|
104
120
|
...track,
|
|
105
|
-
|
|
106
|
-
})
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
121
|
+
kind: newKind
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
125
|
+
className: "block-library-video-tracks-editor__single-track-editor-buttons-container",
|
|
126
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
111
127
|
__next40pxDefaultSize: true,
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
label: (0, _i18n.__)('Source language'),
|
|
118
|
-
value: srcLang,
|
|
119
|
-
help: (0, _i18n.__)('Language tag (en, fr, etc.)')
|
|
120
|
-
})]
|
|
121
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
122
|
-
spacing: "8",
|
|
123
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
|
|
128
|
+
isDestructive: true,
|
|
129
|
+
variant: "link",
|
|
130
|
+
onClick: onRemove,
|
|
131
|
+
children: (0, _i18n.__)('Remove track')
|
|
132
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
124
133
|
__next40pxDefaultSize: true,
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
hasChanges = true;
|
|
151
|
-
}
|
|
152
|
-
if (track.kind === undefined) {
|
|
153
|
-
changes.kind = DEFAULT_KIND;
|
|
154
|
-
hasChanges = true;
|
|
155
|
-
}
|
|
156
|
-
if (hasChanges) {
|
|
157
|
-
onChange({
|
|
158
|
-
...track,
|
|
159
|
-
...changes
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
onClose();
|
|
163
|
-
},
|
|
164
|
-
children: (0, _i18n.__)('Close')
|
|
165
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
166
|
-
__next40pxDefaultSize: true,
|
|
167
|
-
isDestructive: true,
|
|
168
|
-
variant: "link",
|
|
169
|
-
onClick: onRemove,
|
|
170
|
-
children: (0, _i18n.__)('Remove track')
|
|
171
|
-
})]
|
|
134
|
+
variant: "primary",
|
|
135
|
+
onClick: () => {
|
|
136
|
+
const changes = {};
|
|
137
|
+
let hasChanges = false;
|
|
138
|
+
if (label === '') {
|
|
139
|
+
changes.label = (0, _i18n.__)('English');
|
|
140
|
+
hasChanges = true;
|
|
141
|
+
}
|
|
142
|
+
if (srcLang === '') {
|
|
143
|
+
changes.srcLang = 'en';
|
|
144
|
+
hasChanges = true;
|
|
145
|
+
}
|
|
146
|
+
if (track.kind === undefined) {
|
|
147
|
+
changes.kind = DEFAULT_KIND;
|
|
148
|
+
hasChanges = true;
|
|
149
|
+
}
|
|
150
|
+
if (hasChanges) {
|
|
151
|
+
onChange({
|
|
152
|
+
...track,
|
|
153
|
+
...changes
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
onClose();
|
|
157
|
+
},
|
|
158
|
+
children: (0, _i18n.__)('Apply')
|
|
172
159
|
})]
|
|
173
160
|
})]
|
|
174
|
-
})
|
|
161
|
+
})]
|
|
175
162
|
});
|
|
176
163
|
}
|
|
177
164
|
function TracksEditor({
|
|
@@ -182,24 +169,40 @@ function TracksEditor({
|
|
|
182
169
|
return select(_blockEditor.store).getSettings().mediaUpload;
|
|
183
170
|
}, []);
|
|
184
171
|
const [trackBeingEdited, setTrackBeingEdited] = (0, _element.useState)(null);
|
|
172
|
+
const dropdownPopoverRef = (0, _element.useRef)();
|
|
173
|
+
(0, _element.useEffect)(() => {
|
|
174
|
+
dropdownPopoverRef.current?.focus();
|
|
175
|
+
}, [trackBeingEdited]);
|
|
185
176
|
if (!mediaUpload) {
|
|
186
177
|
return null;
|
|
187
178
|
}
|
|
188
179
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Dropdown, {
|
|
189
180
|
contentClassName: "block-library-video-tracks-editor",
|
|
181
|
+
focusOnMount: true,
|
|
182
|
+
popoverProps: {
|
|
183
|
+
ref: dropdownPopoverRef
|
|
184
|
+
},
|
|
190
185
|
renderToggle: ({
|
|
191
186
|
isOpen,
|
|
192
187
|
onToggle
|
|
193
|
-
}) =>
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
}
|
|
202
|
-
|
|
188
|
+
}) => {
|
|
189
|
+
const handleOnToggle = () => {
|
|
190
|
+
if (!isOpen) {
|
|
191
|
+
// When the Popover opens make sure the initial view is
|
|
192
|
+
// always the track list rather than the edit track UI.
|
|
193
|
+
setTrackBeingEdited(null);
|
|
194
|
+
}
|
|
195
|
+
onToggle();
|
|
196
|
+
};
|
|
197
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarGroup, {
|
|
198
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
|
|
199
|
+
"aria-expanded": isOpen,
|
|
200
|
+
"aria-haspopup": "true",
|
|
201
|
+
onClick: handleOnToggle,
|
|
202
|
+
children: (0, _i18n.__)('Text tracks')
|
|
203
|
+
})
|
|
204
|
+
});
|
|
205
|
+
},
|
|
203
206
|
renderContent: () => {
|
|
204
207
|
if (trackBeingEdited !== null) {
|
|
205
208
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(SingleTrackEditor, {
|
|
@@ -216,8 +219,17 @@ function TracksEditor({
|
|
|
216
219
|
}
|
|
217
220
|
});
|
|
218
221
|
}
|
|
219
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
220
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
222
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
223
|
+
children: [tracks.length === 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
224
|
+
className: "block-library-video-tracks-editor__tracks-informative-message",
|
|
225
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h2", {
|
|
226
|
+
className: "block-library-video-tracks-editor__tracks-informative-message-title",
|
|
227
|
+
children: (0, _i18n.__)('Text tracks')
|
|
228
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
229
|
+
className: "block-library-video-tracks-editor__tracks-informative-message-description",
|
|
230
|
+
children: (0, _i18n.__)('Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.')
|
|
231
|
+
})]
|
|
232
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.NavigableMenu, {
|
|
221
233
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TrackList, {
|
|
222
234
|
tracks: tracks,
|
|
223
235
|
onEditPress: setTrackBeingEdited
|
|
@@ -281,7 +293,7 @@ function TracksEditor({
|
|
|
281
293
|
})
|
|
282
294
|
})]
|
|
283
295
|
})]
|
|
284
|
-
})
|
|
296
|
+
})]
|
|
285
297
|
});
|
|
286
298
|
}
|
|
287
299
|
});
|