@wordpress/block-library 9.26.1-next.719a03cbe.0 → 9.27.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/cover/edit/block-controls.js +4 -2
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/index.js +6 -3
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +11 -4
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/poster-image.js +81 -0
- package/build/cover/edit/poster-image.js.map +1 -0
- package/build/cover/index.js +6 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +3 -1
- package/build/cover/save.js.map +1 -1
- package/build/media-text/edit.js +2 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/navigation-link/edit.js +32 -15
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/update-attributes.js +112 -14
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/edit.js +19 -2
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/post-content/edit.js +78 -16
- package/build/post-content/edit.js.map +1 -1
- package/build/post-content/index.js +6 -0
- package/build/post-content/index.js.map +1 -1
- package/build/separator/edit.js +5 -30
- package/build/separator/edit.js.map +1 -1
- package/build/site-tagline/index.js +1 -1
- package/build/video/edit.js +2 -5
- package/build/video/edit.js.map +1 -1
- package/build/video/poster-image.js +25 -25
- package/build/video/poster-image.js.map +1 -1
- package/build/video/tracks-editor.js +95 -104
- package/build/video/tracks-editor.js.map +1 -1
- package/build/video/tracks.js +6 -2
- package/build/video/tracks.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +4 -2
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/index.js +6 -3
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +10 -4
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/poster-image.js +74 -0
- package/build-module/cover/edit/poster-image.js.map +1 -0
- package/build-module/cover/index.js +6 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +3 -1
- package/build-module/cover/save.js.map +1 -1
- package/build-module/media-text/edit.js +2 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/navigation-link/edit.js +32 -15
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +113 -15
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +20 -3
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/post-content/edit.js +80 -18
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-content/index.js +6 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/separator/edit.js +6 -31
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/site-tagline/index.js +1 -1
- package/build-module/video/edit.js +2 -5
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/poster-image.js +26 -26
- package/build-module/video/poster-image.js.map +1 -1
- package/build-module/video/tracks-editor.js +96 -105
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-module/video/tracks.js +6 -2
- package/build-module/video/tracks.js.map +1 -1
- package/build-style/archives/editor-rtl.css +0 -4
- package/build-style/archives/editor.css +0 -4
- package/build-style/editor-rtl.css +0 -8
- package/build-style/editor.css +0 -8
- package/build-style/file/style-rtl.css +1 -1
- package/build-style/file/style.css +1 -1
- package/build-style/navigation/style-rtl.css +1 -0
- package/build-style/navigation/style.css +1 -0
- package/build-style/style-rtl.css +2 -1
- package/build-style/style.css +2 -1
- package/build-style/video/editor-rtl.css +0 -4
- package/build-style/video/editor.css +0 -4
- package/package.json +35 -35
- package/src/archives/editor.scss +0 -4
- package/src/comments-pagination/index.php +7 -2
- package/src/cover/block.json +6 -0
- package/src/cover/edit/block-controls.js +22 -17
- package/src/cover/edit/index.js +4 -1
- package/src/cover/edit/inspector-controls.js +11 -2
- package/src/cover/edit/poster-image.js +91 -0
- package/src/cover/save.js +2 -0
- package/src/file/style.scss +1 -1
- package/src/media-text/edit.js +1 -1
- package/src/navigation/style.scss +1 -0
- package/src/navigation-link/edit.js +28 -16
- package/src/navigation-link/test/edit.js +738 -6
- package/src/navigation-link/update-attributes.js +125 -12
- package/src/navigation-submenu/edit.js +21 -1
- package/src/post-content/block.json +6 -0
- package/src/post-content/edit.js +71 -19
- package/src/post-content/index.php +11 -4
- package/src/post-featured-image/index.php +3 -2
- package/src/separator/edit.js +8 -43
- package/src/site-tagline/block.json +1 -1
- package/src/video/edit.js +1 -4
- package/src/video/editor.scss +0 -6
- package/src/video/poster-image.js +29 -24
- package/src/video/tracks-editor.js +93 -103
- package/src/video/tracks.js +2 -1
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","_posterImage","_util","_hooks","_editCommonSettings","_tracksEditor","_tracks","_caption","_jsxRuntime","ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","useInstanceId","videoPlayer","useRef","id","controls","poster","src","tracks","temporaryURL","setTemporaryURL","useState","blob","dropdownMenuProps","useToolsPanelDropdownMenuProps","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","jsxs","Fragment","BlockControls","default","newTracks","group","MediaReplaceFlow","mediaId","mediaURL","onReset","InspectorControls","__experimentalToolsPanel","resetAll","autoplay","loop","muted","playsInline","preload","Disabled","isDisabled","ref","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\tDisabled,\n\tSpinner,\n\tPlaceholder,\n\t__experimentalToolsPanel as ToolsPanel,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __ } 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 PosterImage from './poster-image';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport {\n\tuseUploadMediaFromBlobURL,\n\tuseToolsPanelDropdownMenuProps,\n} 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' ];\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 { id, controls, poster, src, tracks } = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\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\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<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tautoplay: false,\n\t\t\t\t\t\t\tcontrols: true,\n\t\t\t\t\t\t\tloop: false,\n\t\t\t\t\t\t\tmuted: false,\n\t\t\t\t\t\t\tplaysInline: false,\n\t\t\t\t\t\t\tpreload: 'metadata',\n\t\t\t\t\t\t\tposter: '',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\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<PosterImage\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanel>\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","_data","_icons","_notices","_posterImage","_util","_hooks","_editCommonSettings","_tracksEditor","_tracks","_caption","_jsxRuntime","ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","videoPlayer","useRef","id","controls","poster","src","tracks","temporaryURL","setTemporaryURL","useState","blob","dropdownMenuProps","useToolsPanelDropdownMenuProps","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","jsxs","Fragment","BlockControls","default","newTracks","group","MediaReplaceFlow","mediaId","mediaURL","onReset","InspectorControls","__experimentalToolsPanel","resetAll","autoplay","loop","muted","playsInline","preload","Disabled","isDisabled","ref","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\tDisabled,\n\tSpinner,\n\tPlaceholder,\n\t__experimentalToolsPanel as ToolsPanel,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\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 PosterImage from './poster-image';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport {\n\tuseUploadMediaFromBlobURL,\n\tuseToolsPanelDropdownMenuProps,\n} 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' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst videoPlayer = useRef();\n\tconst { id, controls, poster, src, tracks } = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\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\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<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tautoplay: false,\n\t\t\t\t\t\t\tcontrols: true,\n\t\t\t\t\t\t\tloop: false,\n\t\t\t\t\t\t\tmuted: false,\n\t\t\t\t\t\t\tplaysInline: false,\n\t\t\t\t\t\t\tpreload: 'metadata',\n\t\t\t\t\t\t\tposter: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\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<PosterImage\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanel>\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":[]}
|
|
@@ -8,19 +8,19 @@ var _blockEditor = require("@wordpress/block-editor");
|
|
|
8
8
|
var _components = require("@wordpress/components");
|
|
9
9
|
var _i18n = require("@wordpress/i18n");
|
|
10
10
|
var _element = require("@wordpress/element");
|
|
11
|
+
var _compose = require("@wordpress/compose");
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
/**
|
|
13
14
|
* WordPress dependencies
|
|
14
15
|
*/
|
|
15
16
|
|
|
17
|
+
const VIDEO_POSTER_ALLOWED_MEDIA_TYPES = ['image'];
|
|
16
18
|
function PosterImage({
|
|
17
19
|
poster,
|
|
18
|
-
setAttributes
|
|
19
|
-
instanceId
|
|
20
|
+
setAttributes
|
|
20
21
|
}) {
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const videoPosterDescription = `video-block__poster-image-description-${instanceId}`;
|
|
22
|
+
const posterButtonRef = (0, _element.useRef)();
|
|
23
|
+
const descriptionId = (0, _compose.useInstanceId)(PosterImage, 'video-block__poster-image-description');
|
|
24
24
|
function onSelectPoster(image) {
|
|
25
25
|
setAttributes({
|
|
26
26
|
poster: image.url
|
|
@@ -32,23 +32,23 @@ function PosterImage({
|
|
|
32
32
|
});
|
|
33
33
|
|
|
34
34
|
// Move focus back to the Media Upload button.
|
|
35
|
-
|
|
35
|
+
posterButtonRef.current.focus();
|
|
36
36
|
}
|
|
37
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
37
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.MediaUploadCheck, {
|
|
38
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanelItem, {
|
|
39
|
+
label: (0, _i18n.__)('Poster image'),
|
|
40
|
+
isShownByDefault: true,
|
|
41
|
+
hasValue: () => !!poster,
|
|
42
|
+
onDeselect: () => {
|
|
43
|
+
setAttributes({
|
|
44
|
+
poster: undefined
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.BaseControl.VisualLabel, {
|
|
48
|
+
children: (0, _i18n.__)('Poster image')
|
|
49
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
50
|
+
justify: "flex-start",
|
|
51
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.MediaUpload, {
|
|
52
52
|
title: (0, _i18n.__)('Select poster image'),
|
|
53
53
|
onSelect: onSelectPoster,
|
|
54
54
|
allowedTypes: VIDEO_POSTER_ALLOWED_MEDIA_TYPES,
|
|
@@ -58,12 +58,12 @@ function PosterImage({
|
|
|
58
58
|
__next40pxDefaultSize: true,
|
|
59
59
|
variant: "primary",
|
|
60
60
|
onClick: open,
|
|
61
|
-
ref:
|
|
62
|
-
"aria-describedby":
|
|
61
|
+
ref: posterButtonRef,
|
|
62
|
+
"aria-describedby": descriptionId,
|
|
63
63
|
children: !poster ? (0, _i18n.__)('Select') : (0, _i18n.__)('Replace')
|
|
64
64
|
})
|
|
65
65
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
66
|
-
id:
|
|
66
|
+
id: descriptionId,
|
|
67
67
|
hidden: true,
|
|
68
68
|
children: poster ? (0, _i18n.sprintf)(/* translators: %s: poster image URL. */
|
|
69
69
|
(0, _i18n.__)('The current poster image url is %s'), poster) : (0, _i18n.__)('There is no poster image currently selected')
|
|
@@ -73,7 +73,7 @@ function PosterImage({
|
|
|
73
73
|
variant: "tertiary",
|
|
74
74
|
children: (0, _i18n.__)('Remove')
|
|
75
75
|
})]
|
|
76
|
-
})
|
|
76
|
+
})]
|
|
77
77
|
})
|
|
78
78
|
});
|
|
79
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blockEditor","require","_components","_i18n","_element","_jsxRuntime","PosterImage","poster","setAttributes","
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_components","_i18n","_element","_compose","_jsxRuntime","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","PosterImage","poster","setAttributes","posterButtonRef","useRef","descriptionId","useInstanceId","onSelectPoster","image","url","onRemovePoster","undefined","current","focus","jsx","MediaUploadCheck","children","jsxs","__experimentalToolsPanelItem","label","__","isShownByDefault","hasValue","onDeselect","BaseControl","VisualLabel","__experimentalHStack","justify","MediaUpload","title","onSelect","allowedTypes","render","open","Button","__next40pxDefaultSize","variant","onClick","ref","id","hidden","sprintf","_default","exports","default"],"sources":["@wordpress/block-library/src/video/poster-image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MediaUpload, MediaUploadCheck } from '@wordpress/block-editor';\nimport {\n\tButton,\n\tBaseControl,\n\t__experimentalHStack as HStack,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\n\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction PosterImage( { poster, setAttributes } ) {\n\tconst posterButtonRef = useRef();\n\tconst descriptionId = useInstanceId(\n\t\tPosterImage,\n\t\t'video-block__poster-image-description'\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\tposterButtonRef.current.focus();\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Poster image' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! poster }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { poster: undefined } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\tallowedTypes={ VIDEO_POSTER_ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\tref={ posterButtonRef }\n\t\t\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! poster ? __( 'Select' ) : __( 'Replace' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<p id={ descriptionId } hidden>\n\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\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\tposter\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t ) }\n\t\t\t\t\t</p>\n\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</ToolsPanelItem>\n\t\t</MediaUploadCheck>\n\t);\n}\n\nexport default PosterImage;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,6 @@ exports.default = TracksEditor;
|
|
|
7
7
|
var _i18n = require("@wordpress/i18n");
|
|
8
8
|
var _components = require("@wordpress/components");
|
|
9
9
|
var _blockEditor = require("@wordpress/block-editor");
|
|
10
|
-
var _notices = require("@wordpress/notices");
|
|
11
10
|
var _icons = require("@wordpress/icons");
|
|
12
11
|
var _data = require("@wordpress/data");
|
|
13
12
|
var _element = require("@wordpress/element");
|
|
@@ -43,11 +42,19 @@ const KIND_OPTIONS = [{
|
|
|
43
42
|
label: (0, _i18n.__)('Metadata'),
|
|
44
43
|
value: 'metadata'
|
|
45
44
|
}];
|
|
45
|
+
const DEFAULT_TRACK = {
|
|
46
|
+
src: '',
|
|
47
|
+
label: '',
|
|
48
|
+
srcLang: 'en',
|
|
49
|
+
kind: DEFAULT_KIND,
|
|
50
|
+
default: false
|
|
51
|
+
};
|
|
46
52
|
function TrackList({
|
|
47
53
|
tracks,
|
|
48
54
|
onEditPress
|
|
49
55
|
}) {
|
|
50
56
|
const content = tracks.map((track, index) => {
|
|
57
|
+
var _track$id;
|
|
51
58
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
52
59
|
className: "block-library-video-tracks-editor__track-list-track",
|
|
53
60
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
@@ -65,7 +72,7 @@ function TrackList({
|
|
|
65
72
|
children: (0, _i18n.__)('Edit')
|
|
66
73
|
})]
|
|
67
74
|
})]
|
|
68
|
-
}, track.src);
|
|
75
|
+
}, (_track$id = track.id) !== null && _track$id !== void 0 ? _track$id : track.src);
|
|
69
76
|
});
|
|
70
77
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuGroup, {
|
|
71
78
|
label: (0, _i18n.__)('Text tracks'),
|
|
@@ -80,13 +87,17 @@ function SingleTrackEditor({
|
|
|
80
87
|
onRemove,
|
|
81
88
|
allowSettingDefault
|
|
82
89
|
}) {
|
|
90
|
+
const [trackState, setTrackState] = (0, _element.useState)({
|
|
91
|
+
...DEFAULT_TRACK,
|
|
92
|
+
...track
|
|
93
|
+
});
|
|
83
94
|
const {
|
|
84
|
-
src
|
|
85
|
-
label
|
|
86
|
-
srcLang
|
|
87
|
-
kind
|
|
88
|
-
default: isDefaultTrack
|
|
89
|
-
} =
|
|
95
|
+
src,
|
|
96
|
+
label,
|
|
97
|
+
srcLang,
|
|
98
|
+
kind,
|
|
99
|
+
default: isDefaultTrack
|
|
100
|
+
} = trackState;
|
|
90
101
|
const fileName = src.startsWith('blob:') ? '' : (0, _url.getFilename)(src) || '';
|
|
91
102
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
92
103
|
className: "block-library-video-tracks-editor__single-track-editor",
|
|
@@ -104,20 +115,20 @@ function SingleTrackEditor({
|
|
|
104
115
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
|
|
105
116
|
__next40pxDefaultSize: true,
|
|
106
117
|
__nextHasNoMarginBottom: true,
|
|
107
|
-
onChange: newLabel =>
|
|
108
|
-
...
|
|
118
|
+
onChange: newLabel => setTrackState(prevTrackState => ({
|
|
119
|
+
...prevTrackState,
|
|
109
120
|
label: newLabel
|
|
110
|
-
}),
|
|
121
|
+
})),
|
|
111
122
|
label: (0, _i18n.__)('Label'),
|
|
112
123
|
value: label,
|
|
113
124
|
help: (0, _i18n.__)('Title of track')
|
|
114
125
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
|
|
115
126
|
__next40pxDefaultSize: true,
|
|
116
127
|
__nextHasNoMarginBottom: true,
|
|
117
|
-
onChange: newSrcLang =>
|
|
118
|
-
...
|
|
128
|
+
onChange: newSrcLang => setTrackState(prevTrackState => ({
|
|
129
|
+
...prevTrackState,
|
|
119
130
|
srcLang: newSrcLang
|
|
120
|
-
}),
|
|
131
|
+
})),
|
|
121
132
|
label: (0, _i18n.__)('Source language'),
|
|
122
133
|
value: srcLang,
|
|
123
134
|
help: (0, _i18n.__)('Language tag (en, fr, etc.)')
|
|
@@ -131,24 +142,20 @@ function SingleTrackEditor({
|
|
|
131
142
|
options: KIND_OPTIONS,
|
|
132
143
|
value: kind,
|
|
133
144
|
label: (0, _i18n.__)('Kind'),
|
|
134
|
-
onChange: newKind => {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
});
|
|
139
|
-
}
|
|
145
|
+
onChange: newKind => setTrackState(prevTrackState => ({
|
|
146
|
+
...prevTrackState,
|
|
147
|
+
kind: newKind
|
|
148
|
+
}))
|
|
140
149
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
|
|
141
150
|
__next40pxDefaultSize: true,
|
|
142
151
|
__nextHasNoMarginBottom: true,
|
|
143
152
|
label: (0, _i18n.__)('Set as default track'),
|
|
144
153
|
checked: isDefaultTrack,
|
|
145
154
|
disabled: !allowSettingDefault,
|
|
146
|
-
onChange: defaultTrack => {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
});
|
|
151
|
-
}
|
|
155
|
+
onChange: defaultTrack => setTrackState(prevTrackState => ({
|
|
156
|
+
...prevTrackState,
|
|
157
|
+
default: defaultTrack
|
|
158
|
+
}))
|
|
152
159
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
153
160
|
className: "block-library-video-tracks-editor__single-track-editor-buttons-container",
|
|
154
161
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
@@ -161,26 +168,7 @@ function SingleTrackEditor({
|
|
|
161
168
|
__next40pxDefaultSize: true,
|
|
162
169
|
variant: "primary",
|
|
163
170
|
onClick: () => {
|
|
164
|
-
|
|
165
|
-
let hasChanges = false;
|
|
166
|
-
if (label === '') {
|
|
167
|
-
changes.label = (0, _i18n.__)('English');
|
|
168
|
-
hasChanges = true;
|
|
169
|
-
}
|
|
170
|
-
if (srcLang === '') {
|
|
171
|
-
changes.srcLang = 'en';
|
|
172
|
-
hasChanges = true;
|
|
173
|
-
}
|
|
174
|
-
if (track.kind === undefined) {
|
|
175
|
-
changes.kind = DEFAULT_KIND;
|
|
176
|
-
hasChanges = true;
|
|
177
|
-
}
|
|
178
|
-
if (hasChanges) {
|
|
179
|
-
onChange({
|
|
180
|
-
...track,
|
|
181
|
-
...changes
|
|
182
|
-
});
|
|
183
|
-
}
|
|
171
|
+
onChange(trackState);
|
|
184
172
|
onClose();
|
|
185
173
|
},
|
|
186
174
|
children: (0, _i18n.__)('Apply')
|
|
@@ -193,32 +181,53 @@ function TracksEditor({
|
|
|
193
181
|
tracks = [],
|
|
194
182
|
onChange
|
|
195
183
|
}) {
|
|
196
|
-
const {
|
|
197
|
-
createNotice
|
|
198
|
-
} = (0, _data.useDispatch)(_notices.store);
|
|
199
184
|
const mediaUpload = (0, _data.useSelect)(select => {
|
|
200
185
|
return select(_blockEditor.store).getSettings().mediaUpload;
|
|
201
186
|
}, []);
|
|
202
187
|
const [trackBeingEdited, setTrackBeingEdited] = (0, _element.useState)(null);
|
|
203
188
|
const dropdownPopoverRef = (0, _element.useRef)();
|
|
204
|
-
const handleTrackSelect = ({
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
189
|
+
const handleTrackSelect = (selectedTracks = [], appendTracks = false) => {
|
|
190
|
+
const existingTracksMap = new Map(tracks.map(track => [track.id, track]));
|
|
191
|
+
const tracksToAdd = selectedTracks.map(({
|
|
192
|
+
id,
|
|
193
|
+
title,
|
|
194
|
+
url
|
|
195
|
+
}) => {
|
|
196
|
+
// Reuse existing tracks to preserve user-configured metadata.
|
|
197
|
+
if (existingTracksMap.has(id)) {
|
|
198
|
+
return existingTracksMap.get(id);
|
|
199
|
+
}
|
|
200
|
+
return {
|
|
201
|
+
...DEFAULT_TRACK,
|
|
202
|
+
id,
|
|
203
|
+
label: title || '',
|
|
204
|
+
src: url
|
|
205
|
+
};
|
|
206
|
+
});
|
|
207
|
+
if (tracksToAdd.length === 0) {
|
|
213
208
|
return;
|
|
214
209
|
}
|
|
215
|
-
|
|
216
|
-
onChange([...tracks, {
|
|
217
|
-
label: title || '',
|
|
218
|
-
src: url
|
|
219
|
-
}]);
|
|
220
|
-
setTrackBeingEdited(trackIndex);
|
|
210
|
+
onChange([...(appendTracks ? tracks : []), ...tracksToAdd]);
|
|
221
211
|
};
|
|
212
|
+
function uploadFiles(event) {
|
|
213
|
+
const files = event.target.files;
|
|
214
|
+
mediaUpload({
|
|
215
|
+
allowedTypes: ALLOWED_TYPES,
|
|
216
|
+
filesList: files,
|
|
217
|
+
onFileChange: selectedTracks => {
|
|
218
|
+
if (!Array.isArray(selectedTracks)) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// Wait until the track has been uploaded.
|
|
223
|
+
const uploadedTracks = selectedTracks.filter(track => !!track?.id);
|
|
224
|
+
if (!uploadedTracks.length) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
handleTrackSelect(uploadedTracks, true);
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
}
|
|
222
231
|
(0, _element.useEffect)(() => {
|
|
223
232
|
dropdownPopoverRef.current?.focus();
|
|
224
233
|
}, [trackBeingEdited]);
|
|
@@ -283,57 +292,39 @@ function TracksEditor({
|
|
|
283
292
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TrackList, {
|
|
284
293
|
tracks: tracks,
|
|
285
294
|
onEditPress: setTrackBeingEdited
|
|
286
|
-
}), /*#__PURE__*/(0, _jsxRuntime.
|
|
295
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuGroup, {
|
|
287
296
|
className: "block-library-video-tracks-editor__add-tracks-container",
|
|
288
297
|
label: (0, _i18n.__)('Add tracks'),
|
|
289
|
-
children:
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
filesList: files,
|
|
307
|
-
onFileChange: ([{
|
|
308
|
-
url
|
|
309
|
-
}]) => {
|
|
310
|
-
const newTracks = [...tracks];
|
|
311
|
-
if (!newTracks[trackIndex]) {
|
|
312
|
-
newTracks[trackIndex] = {};
|
|
313
|
-
}
|
|
314
|
-
newTracks[trackIndex] = {
|
|
315
|
-
...tracks[trackIndex],
|
|
316
|
-
src: url
|
|
317
|
-
};
|
|
318
|
-
onChange(newTracks);
|
|
319
|
-
setTrackBeingEdited(trackIndex);
|
|
320
|
-
}
|
|
321
|
-
});
|
|
322
|
-
},
|
|
298
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blockEditor.MediaUploadCheck, {
|
|
299
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.MediaUpload, {
|
|
300
|
+
onSelect: handleTrackSelect,
|
|
301
|
+
allowedTypes: ALLOWED_TYPES,
|
|
302
|
+
value: tracks.map(({
|
|
303
|
+
id
|
|
304
|
+
}) => id),
|
|
305
|
+
multiple: true,
|
|
306
|
+
render: ({
|
|
307
|
+
open
|
|
308
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
|
|
309
|
+
icon: _icons.media,
|
|
310
|
+
onClick: open,
|
|
311
|
+
children: (0, _i18n.__)('Open Media Library')
|
|
312
|
+
})
|
|
313
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FormFileUpload, {
|
|
314
|
+
onChange: uploadFiles,
|
|
323
315
|
accept: ".vtt,text/vtt",
|
|
316
|
+
multiple: true,
|
|
324
317
|
render: ({
|
|
325
318
|
openFileDialog
|
|
326
319
|
}) => {
|
|
327
320
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
|
|
328
321
|
icon: _icons.upload,
|
|
329
|
-
onClick:
|
|
330
|
-
openFileDialog();
|
|
331
|
-
},
|
|
322
|
+
onClick: openFileDialog,
|
|
332
323
|
children: (0, _i18n._x)('Upload', 'verb')
|
|
333
324
|
});
|
|
334
325
|
}
|
|
335
|
-
})
|
|
336
|
-
})
|
|
326
|
+
})]
|
|
327
|
+
})
|
|
337
328
|
})]
|
|
338
329
|
})]
|
|
339
330
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_blockEditor","_notices","_icons","_data","_element","_url","_lockUnlock","_jsxRuntime","Badge","unlock","componentsPrivateApis","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","__","value","TrackList","tracks","onEditPress","content","map","track","index","jsxs","__experimentalHStack","className","children","jsx","justify","default","Button","__next40pxDefaultSize","variant","onClick","sprintf","_x","src","MenuGroup","SingleTrackEditor","onChange","onClose","onRemove","allowSettingDefault","srcLang","kind","isDefaultTrack","fileName","startsWith","getFilename","__experimentalVStack","spacing","__experimentalGrid","columns","gap","TextControl","__nextHasNoMarginBottom","newLabel","help","newSrcLang","SelectControl","options","newKind","ToggleControl","checked","disabled","defaultTrack","isDestructive","changes","hasChanges","undefined","TracksEditor","createNotice","useDispatch","noticesStore","mediaUpload","useSelect","select","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","useState","dropdownPopoverRef","useRef","handleTrackSelect","title","url","some","isDismissible","type","trackIndex","length","useEffect","current","focus","Dropdown","contentClassName","focusOnMount","popoverProps","ref","renderToggle","isOpen","onToggle","handleOnToggle","ToolbarGroup","ToolbarButton","renderContent","newTrack","newTracks","filter","_track","Fragment","NavigableMenu","MediaUpload","onSelect","allowedTypes","render","open","MenuItem","icon","media","MediaUploadCheck","FormFileUpload","event","files","target","filesList","onFileChange","accept","openFileDialog","upload"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\tToggleControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { Badge } = unlock( componentsPrivateApis );\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={ track.src }\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<HStack justify=\"flex-end\">\n\t\t\t\t\t{ track.default && <Badge>{ __( 'Default' ) }</Badge> }\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</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( {\n\ttrack,\n\tonChange,\n\tonClose,\n\tonRemove,\n\tallowSettingDefault,\n} ) {\n\tconst {\n\t\tsrc = '',\n\t\tlabel = '',\n\t\tsrcLang = '',\n\t\tkind = DEFAULT_KIND,\n\t\tdefault: isDefaultTrack = false,\n\t} = 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=\"4\">\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<ToggleControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Set as default track' ) }\n\t\t\t\t\tchecked={ isDefaultTrack }\n\t\t\t\t\tdisabled={ ! allowSettingDefault }\n\t\t\t\t\tonChange={ ( defaultTrack ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tdefault: defaultTrack,\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 { createNotice } = useDispatch( noticesStore );\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\tconst handleTrackSelect = ( { title, url } ) => {\n\t\tif ( tracks.some( ( track ) => track.src === url ) ) {\n\t\t\tcreateNotice( 'error', __( 'This track already exists.' ), {\n\t\t\t\tisDismissible: true,\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tconst trackIndex = tracks.length;\n\t\tonChange( [ ...tracks, { label: title || '', src: url } ] );\n\t\tsetTrackBeingEdited( trackIndex );\n\t};\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\tallowSettingDefault={\n\t\t\t\t\t\t\t\t! tracks.some( ( track ) => track.default ) ||\n\t\t\t\t\t\t\t\ttracks[ trackBeingEdited ].default\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={ handleTrackSelect }\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{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_blockEditor","_icons","_data","_element","_url","_lockUnlock","_jsxRuntime","Badge","unlock","componentsPrivateApis","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","__","value","DEFAULT_TRACK","src","srcLang","kind","default","TrackList","tracks","onEditPress","content","map","track","index","_track$id","jsxs","__experimentalHStack","className","children","jsx","justify","Button","__next40pxDefaultSize","variant","onClick","sprintf","_x","id","MenuGroup","SingleTrackEditor","onChange","onClose","onRemove","allowSettingDefault","trackState","setTrackState","useState","isDefaultTrack","fileName","startsWith","getFilename","__experimentalVStack","spacing","__experimentalGrid","columns","gap","TextControl","__nextHasNoMarginBottom","newLabel","prevTrackState","help","newSrcLang","SelectControl","options","newKind","ToggleControl","checked","disabled","defaultTrack","isDestructive","TracksEditor","mediaUpload","useSelect","select","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","dropdownPopoverRef","useRef","handleTrackSelect","selectedTracks","appendTracks","existingTracksMap","Map","tracksToAdd","title","url","has","get","length","uploadFiles","event","files","target","allowedTypes","filesList","onFileChange","Array","isArray","uploadedTracks","filter","useEffect","current","focus","Dropdown","contentClassName","focusOnMount","popoverProps","ref","renderToggle","isOpen","onToggle","handleOnToggle","ToolbarGroup","ToolbarButton","renderContent","newTrack","newTracks","_track","some","Fragment","NavigableMenu","MediaUploadCheck","MediaUpload","onSelect","multiple","render","open","MenuItem","icon","media","FormFileUpload","accept","openFileDialog","upload"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\tToggleControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tprivateApis as componentsPrivateApis,\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\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { Badge } = unlock( componentsPrivateApis );\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\nconst DEFAULT_TRACK = {\n\tsrc: '',\n\tlabel: '',\n\tsrcLang: 'en',\n\tkind: DEFAULT_KIND,\n\tdefault: false,\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={ track.id ?? track.src }\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<HStack justify=\"flex-end\">\n\t\t\t\t\t{ track.default && <Badge>{ __( 'Default' ) }</Badge> }\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</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( {\n\ttrack,\n\tonChange,\n\tonClose,\n\tonRemove,\n\tallowSettingDefault,\n} ) {\n\tconst [ trackState, setTrackState ] = useState( {\n\t\t...DEFAULT_TRACK,\n\t\t...track,\n\t} );\n\n\tconst { src, label, srcLang, kind, default: isDefaultTrack } = trackState;\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\tsetTrackState( ( prevTrackState ) => ( {\n\t\t\t\t\t\t\t...prevTrackState,\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\tsetTrackState( ( prevTrackState ) => ( {\n\t\t\t\t\t\t\t...prevTrackState,\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=\"4\">\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\tsetTrackState( ( prevTrackState ) => ( {\n\t\t\t\t\t\t\t...prevTrackState,\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<ToggleControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Set as default track' ) }\n\t\t\t\t\tchecked={ isDefaultTrack }\n\t\t\t\t\tdisabled={ ! allowSettingDefault }\n\t\t\t\t\tonChange={ ( defaultTrack ) =>\n\t\t\t\t\t\tsetTrackState( ( prevTrackState ) => ( {\n\t\t\t\t\t\t\t...prevTrackState,\n\t\t\t\t\t\t\tdefault: defaultTrack,\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\tonChange( trackState );\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\tconst handleTrackSelect = ( selectedTracks = [], appendTracks = false ) => {\n\t\tconst existingTracksMap = new Map(\n\t\t\ttracks.map( ( track ) => [ track.id, track ] )\n\t\t);\n\t\tconst tracksToAdd = selectedTracks.map( ( { id, title, url } ) => {\n\t\t\t// Reuse existing tracks to preserve user-configured metadata.\n\t\t\tif ( existingTracksMap.has( id ) ) {\n\t\t\t\treturn existingTracksMap.get( id );\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...DEFAULT_TRACK,\n\t\t\t\tid,\n\t\t\t\tlabel: title || '',\n\t\t\t\tsrc: url,\n\t\t\t};\n\t\t} );\n\n\t\tif ( tracksToAdd.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonChange( [ ...( appendTracks ? tracks : [] ), ...tracksToAdd ] );\n\t};\n\n\tfunction uploadFiles( event ) {\n\t\tconst files = event.target.files;\n\t\tmediaUpload( {\n\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( selectedTracks ) => {\n\t\t\t\tif ( ! Array.isArray( selectedTracks ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Wait until the track has been uploaded.\n\t\t\t\tconst uploadedTracks = selectedTracks.filter(\n\t\t\t\t\t( track ) => !! track?.id\n\t\t\t\t);\n\n\t\t\t\tif ( ! uploadedTracks.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\thandleTrackSelect( uploadedTracks, true );\n\t\t\t},\n\t\t} );\n\t}\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\tallowSettingDefault={\n\t\t\t\t\t\t\t\t! tracks.some( ( track ) => track.default ) ||\n\t\t\t\t\t\t\t\ttracks[ trackBeingEdited ].default\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<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\t\tonSelect={ handleTrackSelect }\n\t\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\t\tvalue={ tracks.map( ( { id } ) => id ) }\n\t\t\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\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{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\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<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ uploadFiles }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\tmultiple\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={ openFileDialog }\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{ _x( 'Upload', 'verb' ) }\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":[]}
|