@wordpress/block-library 9.26.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.
Files changed (174) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/edit.js +1 -1
  3. package/build/button/edit.js.map +1 -1
  4. package/build/cover/edit/block-controls.js +4 -2
  5. package/build/cover/edit/block-controls.js.map +1 -1
  6. package/build/cover/edit/index.js +6 -3
  7. package/build/cover/edit/index.js.map +1 -1
  8. package/build/cover/edit/inspector-controls.js +11 -4
  9. package/build/cover/edit/inspector-controls.js.map +1 -1
  10. package/build/cover/edit/poster-image.js +81 -0
  11. package/build/cover/edit/poster-image.js.map +1 -0
  12. package/build/cover/index.js +6 -0
  13. package/build/cover/index.js.map +1 -1
  14. package/build/cover/save.js +3 -1
  15. package/build/cover/save.js.map +1 -1
  16. package/build/details/index.js +1 -1
  17. package/build/details/index.js.map +1 -1
  18. package/build/gallery/constants.js +2 -1
  19. package/build/gallery/constants.js.map +1 -1
  20. package/build/gallery/edit.js +93 -15
  21. package/build/gallery/edit.js.map +1 -1
  22. package/build/image/edit.js +6 -0
  23. package/build/image/edit.js.map +1 -1
  24. package/build/list/index.js +0 -1
  25. package/build/list/index.js.map +1 -1
  26. package/build/media-text/edit.js +2 -2
  27. package/build/media-text/edit.js.map +1 -1
  28. package/build/more/edit.native.js +17 -32
  29. package/build/more/edit.native.js.map +1 -1
  30. package/build/navigation-link/edit.js +49 -16
  31. package/build/navigation-link/edit.js.map +1 -1
  32. package/build/navigation-link/update-attributes.js +112 -14
  33. package/build/navigation-link/update-attributes.js.map +1 -1
  34. package/build/navigation-submenu/edit.js +19 -2
  35. package/build/navigation-submenu/edit.js.map +1 -1
  36. package/build/post-author/edit.js +78 -35
  37. package/build/post-author/edit.js.map +1 -1
  38. package/build/post-comments-form/form.js +1 -1
  39. package/build/post-comments-form/form.js.map +1 -1
  40. package/build/post-content/edit.js +78 -16
  41. package/build/post-content/edit.js.map +1 -1
  42. package/build/post-content/index.js +6 -0
  43. package/build/post-content/index.js.map +1 -1
  44. package/build/post-featured-image/edit.js +2 -1
  45. package/build/post-featured-image/edit.js.map +1 -1
  46. package/build/search/edit.js +1 -1
  47. package/build/search/edit.js.map +1 -1
  48. package/build/separator/edit.js +5 -30
  49. package/build/separator/edit.js.map +1 -1
  50. package/build/site-logo/edit.js +16 -5
  51. package/build/site-logo/edit.js.map +1 -1
  52. package/build/site-tagline/index.js +1 -1
  53. package/build/video/edit.js +2 -5
  54. package/build/video/edit.js.map +1 -1
  55. package/build/video/poster-image.js +25 -25
  56. package/build/video/poster-image.js.map +1 -1
  57. package/build/video/tracks-editor.js +95 -104
  58. package/build/video/tracks-editor.js.map +1 -1
  59. package/build/video/tracks.js +6 -2
  60. package/build/video/tracks.js.map +1 -1
  61. package/build-module/button/edit.js +1 -1
  62. package/build-module/button/edit.js.map +1 -1
  63. package/build-module/cover/edit/block-controls.js +4 -2
  64. package/build-module/cover/edit/block-controls.js.map +1 -1
  65. package/build-module/cover/edit/index.js +6 -3
  66. package/build-module/cover/edit/index.js.map +1 -1
  67. package/build-module/cover/edit/inspector-controls.js +10 -4
  68. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  69. package/build-module/cover/edit/poster-image.js +74 -0
  70. package/build-module/cover/edit/poster-image.js.map +1 -0
  71. package/build-module/cover/index.js +6 -0
  72. package/build-module/cover/index.js.map +1 -1
  73. package/build-module/cover/save.js +3 -1
  74. package/build-module/cover/save.js.map +1 -1
  75. package/build-module/details/index.js +1 -1
  76. package/build-module/details/index.js.map +1 -1
  77. package/build-module/gallery/constants.js +1 -0
  78. package/build-module/gallery/constants.js.map +1 -1
  79. package/build-module/gallery/edit.js +95 -17
  80. package/build-module/gallery/edit.js.map +1 -1
  81. package/build-module/image/edit.js +6 -0
  82. package/build-module/image/edit.js.map +1 -1
  83. package/build-module/list/index.js +0 -1
  84. package/build-module/list/index.js.map +1 -1
  85. package/build-module/media-text/edit.js +2 -2
  86. package/build-module/media-text/edit.js.map +1 -1
  87. package/build-module/more/edit.native.js +16 -30
  88. package/build-module/more/edit.native.js.map +1 -1
  89. package/build-module/navigation-link/edit.js +50 -17
  90. package/build-module/navigation-link/edit.js.map +1 -1
  91. package/build-module/navigation-link/update-attributes.js +113 -15
  92. package/build-module/navigation-link/update-attributes.js.map +1 -1
  93. package/build-module/navigation-submenu/edit.js +20 -3
  94. package/build-module/navigation-submenu/edit.js.map +1 -1
  95. package/build-module/post-author/edit.js +78 -35
  96. package/build-module/post-author/edit.js.map +1 -1
  97. package/build-module/post-comments-form/form.js +1 -1
  98. package/build-module/post-comments-form/form.js.map +1 -1
  99. package/build-module/post-content/edit.js +80 -18
  100. package/build-module/post-content/edit.js.map +1 -1
  101. package/build-module/post-content/index.js +6 -0
  102. package/build-module/post-content/index.js.map +1 -1
  103. package/build-module/post-featured-image/edit.js +2 -1
  104. package/build-module/post-featured-image/edit.js.map +1 -1
  105. package/build-module/search/edit.js +1 -1
  106. package/build-module/search/edit.js.map +1 -1
  107. package/build-module/separator/edit.js +6 -31
  108. package/build-module/separator/edit.js.map +1 -1
  109. package/build-module/site-logo/edit.js +17 -6
  110. package/build-module/site-logo/edit.js.map +1 -1
  111. package/build-module/site-tagline/index.js +1 -1
  112. package/build-module/video/edit.js +2 -5
  113. package/build-module/video/edit.js.map +1 -1
  114. package/build-module/video/poster-image.js +26 -26
  115. package/build-module/video/poster-image.js.map +1 -1
  116. package/build-module/video/tracks-editor.js +96 -105
  117. package/build-module/video/tracks-editor.js.map +1 -1
  118. package/build-module/video/tracks.js +6 -2
  119. package/build-module/video/tracks.js.map +1 -1
  120. package/build-style/archives/editor-rtl.css +0 -4
  121. package/build-style/archives/editor.css +0 -4
  122. package/build-style/editor-rtl.css +0 -21
  123. package/build-style/editor.css +0 -21
  124. package/build-style/file/style-rtl.css +1 -1
  125. package/build-style/file/style.css +1 -1
  126. package/build-style/gallery/editor-rtl.css +0 -13
  127. package/build-style/gallery/editor.css +0 -13
  128. package/build-style/navigation/style-rtl.css +2 -0
  129. package/build-style/navigation/style.css +2 -0
  130. package/build-style/style-rtl.css +3 -1
  131. package/build-style/style.css +3 -1
  132. package/build-style/video/editor-rtl.css +0 -4
  133. package/build-style/video/editor.css +0 -4
  134. package/package.json +35 -35
  135. package/src/archives/editor.scss +0 -4
  136. package/src/button/edit.js +1 -1
  137. package/src/comments-pagination/index.php +7 -2
  138. package/src/cover/block.json +6 -0
  139. package/src/cover/edit/block-controls.js +22 -17
  140. package/src/cover/edit/index.js +4 -1
  141. package/src/cover/edit/inspector-controls.js +12 -3
  142. package/src/cover/edit/poster-image.js +91 -0
  143. package/src/cover/save.js +2 -0
  144. package/src/details/index.js +1 -1
  145. package/src/file/style.scss +1 -1
  146. package/src/gallery/constants.js +1 -0
  147. package/src/gallery/edit.js +182 -68
  148. package/src/gallery/editor.scss +0 -17
  149. package/src/image/edit.js +12 -0
  150. package/src/list/block.json +0 -1
  151. package/src/media-text/edit.js +1 -1
  152. package/src/more/edit.native.js +19 -33
  153. package/src/navigation/style.scss +2 -0
  154. package/src/navigation-link/edit.js +46 -17
  155. package/src/navigation-link/test/edit.js +738 -6
  156. package/src/navigation-link/update-attributes.js +125 -12
  157. package/src/navigation-submenu/edit.js +21 -1
  158. package/src/post-author/edit.js +91 -40
  159. package/src/post-comments-form/form.js +1 -1
  160. package/src/post-content/block.json +6 -0
  161. package/src/post-content/edit.js +71 -19
  162. package/src/post-content/index.php +11 -4
  163. package/src/post-featured-image/edit.js +1 -0
  164. package/src/post-featured-image/index.php +3 -2
  165. package/src/rss/index.php +2 -1
  166. package/src/search/edit.js +1 -1
  167. package/src/separator/edit.js +8 -43
  168. package/src/site-logo/edit.js +22 -10
  169. package/src/site-tagline/block.json +1 -1
  170. package/src/video/edit.js +1 -4
  171. package/src/video/editor.scss +0 -6
  172. package/src/video/poster-image.js +29 -24
  173. package/src/video/tracks-editor.js +93 -103
  174. package/src/video/tracks.js +2 -1
@@ -1 +1 @@
1
- {"version":3,"names":["MediaUpload","MediaUploadCheck","Button","BaseControl","__experimentalToolsPanelItem","ToolsPanelItem","__","sprintf","useRef","jsx","_jsx","jsxs","_jsxs","PosterImage","poster","setAttributes","instanceId","posterImageButton","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","videoPosterDescription","onSelectPoster","image","url","onRemovePoster","undefined","current","focus","label","isShownByDefault","hasValue","onDeselect","children","className","VisualLabel","title","onSelect","allowedTypes","render","open","__next40pxDefaultSize","variant","onClick","ref","id","hidden"],"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__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef } from '@wordpress/element';\n\nfunction PosterImage( { poster, setAttributes, instanceId } ) {\n\tconst posterImageButton = useRef();\n\tconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\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\treturn (\n\t\t<ToolsPanelItem\n\t\t\tlabel={ __( 'Poster image' ) }\n\t\t\tisShownByDefault\n\t\t\thasValue={ () => !! poster }\n\t\t\tonDeselect={ () => {\n\t\t\t\tsetAttributes( { poster: '' } );\n\t\t\t} }\n\t\t>\n\t\t\t<MediaUploadCheck>\n\t\t\t\t<div className=\"editor-video-poster-control\">\n\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t</BaseControl.VisualLabel>\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={ posterImageButton }\n\t\t\t\t\t\t\t\taria-describedby={ videoPosterDescription }\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={ videoPosterDescription } 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</div>\n\t\t\t</MediaUploadCheck>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nexport default PosterImage;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,gBAAgB,QAAQ,yBAAyB;AACvE,SACCC,MAAM,EACNC,WAAW,EACXC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,MAAM,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE5C,SAASC,WAAWA,CAAE;EAAEC,MAAM;EAAEC,aAAa;EAAEC;AAAW,CAAC,EAAG;EAC7D,MAAMC,iBAAiB,GAAGT,MAAM,CAAC,CAAC;EAClC,MAAMU,gCAAgC,GAAG,CAAE,OAAO,CAAE;EAEpD,MAAMC,sBAAsB,GAAG,yCAA0CH,UAAU,EAAG;EAEtF,SAASI,cAAcA,CAAEC,KAAK,EAAG;IAChCN,aAAa,CAAE;MAAED,MAAM,EAAEO,KAAK,CAACC;IAAI,CAAE,CAAC;EACvC;EAEA,SAASC,cAAcA,CAAA,EAAG;IACzBR,aAAa,CAAE;MAAED,MAAM,EAAEU;IAAU,CAAE,CAAC;;IAEtC;IACAP,iBAAiB,CAACQ,OAAO,CAACC,KAAK,CAAC,CAAC;EAClC;EAEA,oBACChB,IAAA,CAACL,cAAc;IACdsB,KAAK,EAAGrB,EAAE,CAAE,cAAe,CAAG;IAC9BsB,gBAAgB;IAChBC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEf,MAAQ;IAC5BgB,UAAU,EAAGA,CAAA,KAAM;MAClBf,aAAa,CAAE;QAAED,MAAM,EAAE;MAAG,CAAE,CAAC;IAChC,CAAG;IAAAiB,QAAA,eAEHrB,IAAA,CAACT,gBAAgB;MAAA8B,QAAA,eAChBnB,KAAA;QAAKoB,SAAS,EAAC,6BAA6B;QAAAD,QAAA,gBAC3CrB,IAAA,CAACP,WAAW,CAAC8B,WAAW;UAAAF,QAAA,EACrBzB,EAAE,CAAE,cAAe;QAAC,CACE,CAAC,eAC1BI,IAAA,CAACV,WAAW;UACXkC,KAAK,EAAG5B,EAAE,CAAE,qBAAsB,CAAG;UACrC6B,QAAQ,EAAGf,cAAgB;UAC3BgB,YAAY,EAAGlB,gCAAkC;UACjDmB,MAAM,EAAGA,CAAE;YAAEC;UAAK,CAAC,kBAClB5B,IAAA,CAACR,MAAM;YACNqC,qBAAqB;YACrBC,OAAO,EAAC,SAAS;YACjBC,OAAO,EAAGH,IAAM;YAChBI,GAAG,EAAGzB,iBAAmB;YACzB,oBAAmBE,sBAAwB;YAAAY,QAAA,EAEzC,CAAEjB,MAAM,GAAGR,EAAE,CAAE,QAAS,CAAC,GAAGA,EAAE,CAAE,SAAU;UAAC,CACtC;QACN,CACH,CAAC,eACFI,IAAA;UAAGiC,EAAE,EAAGxB,sBAAwB;UAACyB,MAAM;UAAAb,QAAA,EACpCjB,MAAM,GACLP,OAAO,CACP;UACAD,EAAE,CAAE,oCAAqC,CAAC,EAC1CQ,MACA,CAAC,GACDR,EAAE,CACF,6CACA;QAAC,CACF,CAAC,EACF,CAAC,CAAEQ,MAAM,iBACVJ,IAAA,CAACR,MAAM;UACNqC,qBAAqB;UACrBE,OAAO,EAAGlB,cAAgB;UAC1BiB,OAAO,EAAC,UAAU;UAAAT,QAAA,EAEhBzB,EAAE,CAAE,QAAS;QAAC,CACT,CACR;MAAA,CACG;IAAC,CACW;EAAC,CACJ,CAAC;AAEnB;AAEA,eAAeO,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["MediaUpload","MediaUploadCheck","Button","BaseControl","__experimentalHStack","HStack","__experimentalToolsPanelItem","ToolsPanelItem","__","sprintf","useRef","useInstanceId","jsx","_jsx","jsxs","_jsxs","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","PosterImage","poster","setAttributes","posterButtonRef","descriptionId","onSelectPoster","image","url","onRemovePoster","undefined","current","focus","children","label","isShownByDefault","hasValue","onDeselect","VisualLabel","justify","title","onSelect","allowedTypes","render","open","__next40pxDefaultSize","variant","onClick","ref","id","hidden"],"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":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,gBAAgB,QAAQ,yBAAyB;AACvE,SACCC,MAAM,EACNC,WAAW,EACXC,oBAAoB,IAAIC,MAAM,EAC9BC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,aAAa,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEnD,MAAMC,gCAAgC,GAAG,CAAE,OAAO,CAAE;AAEpD,SAASC,WAAWA,CAAE;EAAEC,MAAM;EAAEC;AAAc,CAAC,EAAG;EACjD,MAAMC,eAAe,GAAGV,MAAM,CAAC,CAAC;EAChC,MAAMW,aAAa,GAAGV,aAAa,CAClCM,WAAW,EACX,uCACD,CAAC;EAED,SAASK,cAAcA,CAAEC,KAAK,EAAG;IAChCJ,aAAa,CAAE;MAAED,MAAM,EAAEK,KAAK,CAACC;IAAI,CAAE,CAAC;EACvC;EAEA,SAASC,cAAcA,CAAA,EAAG;IACzBN,aAAa,CAAE;MAAED,MAAM,EAAEQ;IAAU,CAAE,CAAC;;IAEtC;IACAN,eAAe,CAACO,OAAO,CAACC,KAAK,CAAC,CAAC;EAChC;EAEA,oBACCf,IAAA,CAACZ,gBAAgB;IAAA4B,QAAA,eAChBd,KAAA,CAACR,cAAc;MACduB,KAAK,EAAGtB,EAAE,CAAE,cAAe,CAAG;MAC9BuB,gBAAgB;MAChBC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEd,MAAQ;MAC5Be,UAAU,EAAGA,CAAA,KAAM;QAClBd,aAAa,CAAE;UAAED,MAAM,EAAEQ;QAAU,CAAE,CAAC;MACvC,CAAG;MAAAG,QAAA,gBAEHhB,IAAA,CAACV,WAAW,CAAC+B,WAAW;QAAAL,QAAA,EACrBrB,EAAE,CAAE,cAAe;MAAC,CACE,CAAC,eAC1BO,KAAA,CAACV,MAAM;QAAC8B,OAAO,EAAC,YAAY;QAAAN,QAAA,gBAC3BhB,IAAA,CAACb,WAAW;UACXoC,KAAK,EAAG5B,EAAE,CAAE,qBAAsB,CAAG;UACrC6B,QAAQ,EAAGf,cAAgB;UAC3BgB,YAAY,EAAGtB,gCAAkC;UACjDuB,MAAM,EAAGA,CAAE;YAAEC;UAAK,CAAC,kBAClB3B,IAAA,CAACX,MAAM;YACNuC,qBAAqB;YACrBC,OAAO,EAAC,SAAS;YACjBC,OAAO,EAAGH,IAAM;YAChBI,GAAG,EAAGxB,eAAiB;YACvB,oBAAmBC,aAAe;YAAAQ,QAAA,EAEhC,CAAEX,MAAM,GAAGV,EAAE,CAAE,QAAS,CAAC,GAAGA,EAAE,CAAE,SAAU;UAAC,CACtC;QACN,CACH,CAAC,eACFK,IAAA;UAAGgC,EAAE,EAAGxB,aAAe;UAACyB,MAAM;UAAAjB,QAAA,EAC3BX,MAAM,GACLT,OAAO,CACP;UACAD,EAAE,CAAE,oCAAqC,CAAC,EAC1CU,MACA,CAAC,GACDV,EAAE,CACF,6CACA;QAAC,CACF,CAAC,EACF,CAAC,CAAEU,MAAM,iBACVL,IAAA,CAACX,MAAM;UACNuC,qBAAqB;UACrBE,OAAO,EAAGlB,cAAgB;UAC1BiB,OAAO,EAAC,UAAU;UAAAb,QAAA,EAEhBrB,EAAE,CAAE,QAAS;QAAC,CACT,CACR;MAAA,CACM,CAAC;IAAA,CACM;EAAC,CACA,CAAC;AAErB;AAEA,eAAeS,WAAW","ignoreList":[]}
@@ -4,9 +4,8 @@
4
4
  import { __, _x, sprintf } from '@wordpress/i18n';
5
5
  import { NavigableMenu, MenuItem, FormFileUpload, MenuGroup, ToolbarGroup, ToolbarButton, Dropdown, Button, TextControl, SelectControl, ToggleControl, __experimentalGrid as Grid, __experimentalHStack as HStack, __experimentalVStack as VStack, privateApis as componentsPrivateApis } from '@wordpress/components';
6
6
  import { MediaUpload, MediaUploadCheck, store as blockEditorStore } from '@wordpress/block-editor';
7
- import { store as noticesStore } from '@wordpress/notices';
8
7
  import { upload, media } from '@wordpress/icons';
9
- import { useSelect, useDispatch } from '@wordpress/data';
8
+ import { useSelect } from '@wordpress/data';
10
9
  import { useState, useRef, useEffect } from '@wordpress/element';
11
10
  import { getFilename } from '@wordpress/url';
12
11
 
@@ -36,11 +35,19 @@ const KIND_OPTIONS = [{
36
35
  label: __('Metadata'),
37
36
  value: 'metadata'
38
37
  }];
38
+ const DEFAULT_TRACK = {
39
+ src: '',
40
+ label: '',
41
+ srcLang: 'en',
42
+ kind: DEFAULT_KIND,
43
+ default: false
44
+ };
39
45
  function TrackList({
40
46
  tracks,
41
47
  onEditPress
42
48
  }) {
43
49
  const content = tracks.map((track, index) => {
50
+ var _track$id;
44
51
  return /*#__PURE__*/_jsxs(HStack, {
45
52
  className: "block-library-video-tracks-editor__track-list-track",
46
53
  children: [/*#__PURE__*/_jsx("span", {
@@ -58,7 +65,7 @@ function TrackList({
58
65
  children: __('Edit')
59
66
  })]
60
67
  })]
61
- }, track.src);
68
+ }, (_track$id = track.id) !== null && _track$id !== void 0 ? _track$id : track.src);
62
69
  });
63
70
  return /*#__PURE__*/_jsx(MenuGroup, {
64
71
  label: __('Text tracks'),
@@ -73,13 +80,17 @@ function SingleTrackEditor({
73
80
  onRemove,
74
81
  allowSettingDefault
75
82
  }) {
83
+ const [trackState, setTrackState] = useState({
84
+ ...DEFAULT_TRACK,
85
+ ...track
86
+ });
76
87
  const {
77
- src = '',
78
- label = '',
79
- srcLang = '',
80
- kind = DEFAULT_KIND,
81
- default: isDefaultTrack = false
82
- } = track;
88
+ src,
89
+ label,
90
+ srcLang,
91
+ kind,
92
+ default: isDefaultTrack
93
+ } = trackState;
83
94
  const fileName = src.startsWith('blob:') ? '' : getFilename(src) || '';
84
95
  return /*#__PURE__*/_jsxs(VStack, {
85
96
  className: "block-library-video-tracks-editor__single-track-editor",
@@ -97,20 +108,20 @@ function SingleTrackEditor({
97
108
  children: [/*#__PURE__*/_jsx(TextControl, {
98
109
  __next40pxDefaultSize: true,
99
110
  __nextHasNoMarginBottom: true,
100
- onChange: newLabel => onChange({
101
- ...track,
111
+ onChange: newLabel => setTrackState(prevTrackState => ({
112
+ ...prevTrackState,
102
113
  label: newLabel
103
- }),
114
+ })),
104
115
  label: __('Label'),
105
116
  value: label,
106
117
  help: __('Title of track')
107
118
  }), /*#__PURE__*/_jsx(TextControl, {
108
119
  __next40pxDefaultSize: true,
109
120
  __nextHasNoMarginBottom: true,
110
- onChange: newSrcLang => onChange({
111
- ...track,
121
+ onChange: newSrcLang => setTrackState(prevTrackState => ({
122
+ ...prevTrackState,
112
123
  srcLang: newSrcLang
113
- }),
124
+ })),
114
125
  label: __('Source language'),
115
126
  value: srcLang,
116
127
  help: __('Language tag (en, fr, etc.)')
@@ -124,24 +135,20 @@ function SingleTrackEditor({
124
135
  options: KIND_OPTIONS,
125
136
  value: kind,
126
137
  label: __('Kind'),
127
- onChange: newKind => {
128
- onChange({
129
- ...track,
130
- kind: newKind
131
- });
132
- }
138
+ onChange: newKind => setTrackState(prevTrackState => ({
139
+ ...prevTrackState,
140
+ kind: newKind
141
+ }))
133
142
  }), /*#__PURE__*/_jsx(ToggleControl, {
134
143
  __next40pxDefaultSize: true,
135
144
  __nextHasNoMarginBottom: true,
136
145
  label: __('Set as default track'),
137
146
  checked: isDefaultTrack,
138
147
  disabled: !allowSettingDefault,
139
- onChange: defaultTrack => {
140
- onChange({
141
- ...track,
142
- default: defaultTrack
143
- });
144
- }
148
+ onChange: defaultTrack => setTrackState(prevTrackState => ({
149
+ ...prevTrackState,
150
+ default: defaultTrack
151
+ }))
145
152
  }), /*#__PURE__*/_jsxs(HStack, {
146
153
  className: "block-library-video-tracks-editor__single-track-editor-buttons-container",
147
154
  children: [/*#__PURE__*/_jsx(Button, {
@@ -154,26 +161,7 @@ function SingleTrackEditor({
154
161
  __next40pxDefaultSize: true,
155
162
  variant: "primary",
156
163
  onClick: () => {
157
- const changes = {};
158
- let hasChanges = false;
159
- if (label === '') {
160
- changes.label = __('English');
161
- hasChanges = true;
162
- }
163
- if (srcLang === '') {
164
- changes.srcLang = 'en';
165
- hasChanges = true;
166
- }
167
- if (track.kind === undefined) {
168
- changes.kind = DEFAULT_KIND;
169
- hasChanges = true;
170
- }
171
- if (hasChanges) {
172
- onChange({
173
- ...track,
174
- ...changes
175
- });
176
- }
164
+ onChange(trackState);
177
165
  onClose();
178
166
  },
179
167
  children: __('Apply')
@@ -186,32 +174,53 @@ export default function TracksEditor({
186
174
  tracks = [],
187
175
  onChange
188
176
  }) {
189
- const {
190
- createNotice
191
- } = useDispatch(noticesStore);
192
177
  const mediaUpload = useSelect(select => {
193
178
  return select(blockEditorStore).getSettings().mediaUpload;
194
179
  }, []);
195
180
  const [trackBeingEdited, setTrackBeingEdited] = useState(null);
196
181
  const dropdownPopoverRef = useRef();
197
- const handleTrackSelect = ({
198
- title,
199
- url
200
- }) => {
201
- if (tracks.some(track => track.src === url)) {
202
- createNotice('error', __('This track already exists.'), {
203
- isDismissible: true,
204
- type: 'snackbar'
205
- });
182
+ const handleTrackSelect = (selectedTracks = [], appendTracks = false) => {
183
+ const existingTracksMap = new Map(tracks.map(track => [track.id, track]));
184
+ const tracksToAdd = selectedTracks.map(({
185
+ id,
186
+ title,
187
+ url
188
+ }) => {
189
+ // Reuse existing tracks to preserve user-configured metadata.
190
+ if (existingTracksMap.has(id)) {
191
+ return existingTracksMap.get(id);
192
+ }
193
+ return {
194
+ ...DEFAULT_TRACK,
195
+ id,
196
+ label: title || '',
197
+ src: url
198
+ };
199
+ });
200
+ if (tracksToAdd.length === 0) {
206
201
  return;
207
202
  }
208
- const trackIndex = tracks.length;
209
- onChange([...tracks, {
210
- label: title || '',
211
- src: url
212
- }]);
213
- setTrackBeingEdited(trackIndex);
203
+ onChange([...(appendTracks ? tracks : []), ...tracksToAdd]);
214
204
  };
205
+ function uploadFiles(event) {
206
+ const files = event.target.files;
207
+ mediaUpload({
208
+ allowedTypes: ALLOWED_TYPES,
209
+ filesList: files,
210
+ onFileChange: selectedTracks => {
211
+ if (!Array.isArray(selectedTracks)) {
212
+ return;
213
+ }
214
+
215
+ // Wait until the track has been uploaded.
216
+ const uploadedTracks = selectedTracks.filter(track => !!track?.id);
217
+ if (!uploadedTracks.length) {
218
+ return;
219
+ }
220
+ handleTrackSelect(uploadedTracks, true);
221
+ }
222
+ });
223
+ }
215
224
  useEffect(() => {
216
225
  dropdownPopoverRef.current?.focus();
217
226
  }, [trackBeingEdited]);
@@ -276,57 +285,39 @@ export default function TracksEditor({
276
285
  children: [/*#__PURE__*/_jsx(TrackList, {
277
286
  tracks: tracks,
278
287
  onEditPress: setTrackBeingEdited
279
- }), /*#__PURE__*/_jsxs(MenuGroup, {
288
+ }), /*#__PURE__*/_jsx(MenuGroup, {
280
289
  className: "block-library-video-tracks-editor__add-tracks-container",
281
290
  label: __('Add tracks'),
282
- children: [/*#__PURE__*/_jsx(MediaUpload, {
283
- onSelect: handleTrackSelect,
284
- allowedTypes: ALLOWED_TYPES,
285
- render: ({
286
- open
287
- }) => /*#__PURE__*/_jsx(MenuItem, {
288
- icon: media,
289
- onClick: open,
290
- children: __('Open Media Library')
291
- })
292
- }), /*#__PURE__*/_jsx(MediaUploadCheck, {
293
- children: /*#__PURE__*/_jsx(FormFileUpload, {
294
- onChange: event => {
295
- const files = event.target.files;
296
- const trackIndex = tracks.length;
297
- mediaUpload({
298
- allowedTypes: ALLOWED_TYPES,
299
- filesList: files,
300
- onFileChange: ([{
301
- url
302
- }]) => {
303
- const newTracks = [...tracks];
304
- if (!newTracks[trackIndex]) {
305
- newTracks[trackIndex] = {};
306
- }
307
- newTracks[trackIndex] = {
308
- ...tracks[trackIndex],
309
- src: url
310
- };
311
- onChange(newTracks);
312
- setTrackBeingEdited(trackIndex);
313
- }
314
- });
315
- },
291
+ children: /*#__PURE__*/_jsxs(MediaUploadCheck, {
292
+ children: [/*#__PURE__*/_jsx(MediaUpload, {
293
+ onSelect: handleTrackSelect,
294
+ allowedTypes: ALLOWED_TYPES,
295
+ value: tracks.map(({
296
+ id
297
+ }) => id),
298
+ multiple: true,
299
+ render: ({
300
+ open
301
+ }) => /*#__PURE__*/_jsx(MenuItem, {
302
+ icon: media,
303
+ onClick: open,
304
+ children: __('Open Media Library')
305
+ })
306
+ }), /*#__PURE__*/_jsx(FormFileUpload, {
307
+ onChange: uploadFiles,
316
308
  accept: ".vtt,text/vtt",
309
+ multiple: true,
317
310
  render: ({
318
311
  openFileDialog
319
312
  }) => {
320
313
  return /*#__PURE__*/_jsx(MenuItem, {
321
314
  icon: upload,
322
- onClick: () => {
323
- openFileDialog();
324
- },
315
+ onClick: openFileDialog,
325
316
  children: _x('Upload', 'verb')
326
317
  });
327
318
  }
328
- })
329
- })]
319
+ })]
320
+ })
330
321
  })]
331
322
  })]
332
323
  });
@@ -1 +1 @@
1
- {"version":3,"names":["__","_x","sprintf","NavigableMenu","MenuItem","FormFileUpload","MenuGroup","ToolbarGroup","ToolbarButton","Dropdown","Button","TextControl","SelectControl","ToggleControl","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","privateApis","componentsPrivateApis","MediaUpload","MediaUploadCheck","store","blockEditorStore","noticesStore","upload","media","useSelect","useDispatch","useState","useRef","useEffect","getFilename","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Badge","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","TrackList","tracks","onEditPress","content","map","track","index","className","children","justify","default","__next40pxDefaultSize","variant","onClick","src","SingleTrackEditor","onChange","onClose","onRemove","allowSettingDefault","srcLang","kind","isDefaultTrack","fileName","startsWith","spacing","columns","gap","__nextHasNoMarginBottom","newLabel","help","newSrcLang","options","newKind","checked","disabled","defaultTrack","isDestructive","changes","hasChanges","undefined","TracksEditor","createNotice","mediaUpload","select","getSettings","trackBeingEdited","setTrackBeingEdited","dropdownPopoverRef","handleTrackSelect","title","url","some","isDismissible","type","trackIndex","length","current","focus","contentClassName","focusOnMount","popoverProps","ref","renderToggle","isOpen","onToggle","handleOnToggle","renderContent","newTrack","newTracks","filter","_track","onSelect","allowedTypes","render","open","icon","event","files","target","filesList","onFileChange","accept","openFileDialog"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\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":["__","_x","sprintf","NavigableMenu","MenuItem","FormFileUpload","MenuGroup","ToolbarGroup","ToolbarButton","Dropdown","Button","TextControl","SelectControl","ToggleControl","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","privateApis","componentsPrivateApis","MediaUpload","MediaUploadCheck","store","blockEditorStore","upload","media","useSelect","useState","useRef","useEffect","getFilename","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Badge","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","DEFAULT_TRACK","src","srcLang","kind","default","TrackList","tracks","onEditPress","content","map","track","index","_track$id","className","children","justify","__next40pxDefaultSize","variant","onClick","id","SingleTrackEditor","onChange","onClose","onRemove","allowSettingDefault","trackState","setTrackState","isDefaultTrack","fileName","startsWith","spacing","columns","gap","__nextHasNoMarginBottom","newLabel","prevTrackState","help","newSrcLang","options","newKind","checked","disabled","defaultTrack","isDestructive","TracksEditor","mediaUpload","select","getSettings","trackBeingEdited","setTrackBeingEdited","dropdownPopoverRef","handleTrackSelect","selectedTracks","appendTracks","existingTracksMap","Map","tracksToAdd","title","url","has","get","length","uploadFiles","event","files","target","allowedTypes","filesList","onFileChange","Array","isArray","uploadedTracks","filter","current","focus","contentClassName","focusOnMount","popoverProps","ref","renderToggle","isOpen","onToggle","handleOnToggle","renderContent","newTrack","newTracks","_track","some","onSelect","multiple","render","open","icon","accept","openFileDialog"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\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":[]}
@@ -3,9 +3,13 @@ export default function Tracks({
3
3
  tracks = []
4
4
  }) {
5
5
  return tracks.map(track => {
6
+ const {
7
+ id,
8
+ ...trackAttrs
9
+ } = track;
6
10
  return /*#__PURE__*/_jsx("track", {
7
- ...track
8
- }, track.src);
11
+ ...trackAttrs
12
+ }, id !== null && id !== void 0 ? id : trackAttrs.src);
9
13
  });
10
14
  }
11
15
  //# sourceMappingURL=tracks.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Tracks","tracks","map","track","_jsx","src"],"sources":["@wordpress/block-library/src/video/tracks.js"],"sourcesContent":["export default function Tracks( { tracks = [] } ) {\n\treturn tracks.map( ( track ) => {\n\t\treturn <track key={ track.src } { ...track } />;\n\t} );\n}\n"],"mappings":";AAAA,eAAe,SAASA,MAAMA,CAAE;EAAEC,MAAM,GAAG;AAAG,CAAC,EAAG;EACjD,OAAOA,MAAM,CAACC,GAAG,CAAIC,KAAK,IAAM;IAC/B,oBAAOC,IAAA;MAAA,GAA8BD;IAAK,GAAtBA,KAAK,CAACE,GAAoB,CAAC;EAChD,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["Tracks","tracks","map","track","id","trackAttrs","_jsx","src"],"sources":["@wordpress/block-library/src/video/tracks.js"],"sourcesContent":["export default function Tracks( { tracks = [] } ) {\n\treturn tracks.map( ( track ) => {\n\t\tconst { id, ...trackAttrs } = track;\n\t\treturn <track key={ id ?? trackAttrs.src } { ...trackAttrs } />;\n\t} );\n}\n"],"mappings":";AAAA,eAAe,SAASA,MAAMA,CAAE;EAAEC,MAAM,GAAG;AAAG,CAAC,EAAG;EACjD,OAAOA,MAAM,CAACC,GAAG,CAAIC,KAAK,IAAM;IAC/B,MAAM;MAAEC,EAAE;MAAE,GAAGC;IAAW,CAAC,GAAGF,KAAK;IACnC,oBAAOG,IAAA;MAAA,GAAyCD;IAAU,GAAtCD,EAAE,aAAFA,EAAE,cAAFA,EAAE,GAAIC,UAAU,CAACE,GAAyB,CAAC;EAChE,CAAE,CAAC;AACJ","ignoreList":[]}
@@ -134,10 +134,6 @@
134
134
  /**
135
135
  * Reset the WP Admin page styles for Gutenberg-like pages.
136
136
  */
137
- ul.wp-block-archives {
138
- padding-right: 2.5em;
139
- }
140
-
141
137
  .wp-block-archives .wp-block-archives {
142
138
  margin: 0;
143
139
  border: 0;
@@ -134,10 +134,6 @@
134
134
  /**
135
135
  * Reset the WP Admin page styles for Gutenberg-like pages.
136
136
  */
137
- ul.wp-block-archives {
138
- padding-left: 2.5em;
139
- }
140
-
141
137
  .wp-block-archives .wp-block-archives {
142
138
  margin: 0;
143
139
  border: 0;
@@ -134,10 +134,6 @@
134
134
  /**
135
135
  * Reset the WP Admin page styles for Gutenberg-like pages.
136
136
  */
137
- ul.wp-block-archives {
138
- padding-right: 2.5em;
139
- }
140
-
141
137
  .wp-block-archives .wp-block-archives {
142
138
  margin: 0;
143
139
  border: 0;
@@ -1060,19 +1056,6 @@ div[data-type="core/freeform"].is-selected .block-library-classic__toolbar {
1060
1056
  margin-left: 8px;
1061
1057
  }
1062
1058
 
1063
- .gallery-image-sizes .components-base-control__label {
1064
- margin-bottom: 4px;
1065
- }
1066
- .gallery-image-sizes .gallery-image-sizes__loading {
1067
- display: flex;
1068
- align-items: center;
1069
- color: #757575;
1070
- font-size: 12px;
1071
- }
1072
- .gallery-image-sizes .components-spinner {
1073
- margin: 0 4px 0 8px;
1074
- }
1075
-
1076
1059
  /**
1077
1060
  * Deprecated css past this point. This can be removed once all galleries are migrated
1078
1061
  * to V2.
@@ -2597,10 +2580,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2597
2580
  margin-right: -9px;
2598
2581
  }
2599
2582
 
2600
- .editor-video-poster-control .components-button {
2601
- margin-left: 8px;
2602
- }
2603
-
2604
2583
  .block-library-video-tracks-editor {
2605
2584
  z-index: 159990;
2606
2585
  }
@@ -134,10 +134,6 @@
134
134
  /**
135
135
  * Reset the WP Admin page styles for Gutenberg-like pages.
136
136
  */
137
- ul.wp-block-archives {
138
- padding-left: 2.5em;
139
- }
140
-
141
137
  .wp-block-archives .wp-block-archives {
142
138
  margin: 0;
143
139
  border: 0;
@@ -1066,19 +1062,6 @@ div[data-type="core/freeform"].is-selected .block-library-classic__toolbar {
1066
1062
  margin-right: 8px;
1067
1063
  }
1068
1064
 
1069
- .gallery-image-sizes .components-base-control__label {
1070
- margin-bottom: 4px;
1071
- }
1072
- .gallery-image-sizes .gallery-image-sizes__loading {
1073
- display: flex;
1074
- align-items: center;
1075
- color: #757575;
1076
- font-size: 12px;
1077
- }
1078
- .gallery-image-sizes .components-spinner {
1079
- margin: 0 8px 0 4px;
1080
- }
1081
-
1082
1065
  /**
1083
1066
  * Deprecated css past this point. This can be removed once all galleries are migrated
1084
1067
  * to V2.
@@ -2604,10 +2587,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2604
2587
  margin-left: -9px;
2605
2588
  }
2606
2589
 
2607
- .editor-video-poster-control .components-button {
2608
- margin-right: 8px;
2609
- }
2610
-
2611
2590
  .block-library-video-tracks-editor {
2612
2591
  z-index: 159990;
2613
2592
  }
@@ -163,7 +163,7 @@
163
163
  padding: 0.5em 1em;
164
164
  display: inline-block;
165
165
  }
166
- :where(.wp-block-file__button):is(a):hover, :where(.wp-block-file__button):is(a):visited, :where(.wp-block-file__button):is(a):focus, :where(.wp-block-file__button):is(a):active {
166
+ :where(.wp-block-file__button):where(a):hover, :where(.wp-block-file__button):where(a):visited, :where(.wp-block-file__button):where(a):focus, :where(.wp-block-file__button):where(a):active {
167
167
  box-shadow: none;
168
168
  color: #fff;
169
169
  opacity: 0.85;
@@ -164,7 +164,7 @@
164
164
  padding: 0.5em 1em;
165
165
  display: inline-block;
166
166
  }
167
- :where(.wp-block-file__button):is(a):hover, :where(.wp-block-file__button):is(a):visited, :where(.wp-block-file__button):is(a):focus, :where(.wp-block-file__button):is(a):active {
167
+ :where(.wp-block-file__button):where(a):hover, :where(.wp-block-file__button):where(a):visited, :where(.wp-block-file__button):where(a):focus, :where(.wp-block-file__button):where(a):active {
168
168
  box-shadow: none;
169
169
  color: #fff;
170
170
  opacity: 0.85;
@@ -184,19 +184,6 @@
184
184
  margin-left: 8px;
185
185
  }
186
186
 
187
- .gallery-image-sizes .components-base-control__label {
188
- margin-bottom: 4px;
189
- }
190
- .gallery-image-sizes .gallery-image-sizes__loading {
191
- display: flex;
192
- align-items: center;
193
- color: #757575;
194
- font-size: 12px;
195
- }
196
- .gallery-image-sizes .components-spinner {
197
- margin: 0 4px 0 8px;
198
- }
199
-
200
187
  /**
201
188
  * Deprecated css past this point. This can be removed once all galleries are migrated
202
189
  * to V2.
@@ -184,19 +184,6 @@
184
184
  margin-right: 8px;
185
185
  }
186
186
 
187
- .gallery-image-sizes .components-base-control__label {
188
- margin-bottom: 4px;
189
- }
190
- .gallery-image-sizes .gallery-image-sizes__loading {
191
- display: flex;
192
- align-items: center;
193
- color: #757575;
194
- font-size: 12px;
195
- }
196
- .gallery-image-sizes .components-spinner {
197
- margin: 0 8px 0 4px;
198
- }
199
-
200
187
  /**
201
188
  * Deprecated css past this point. This can be removed once all galleries are migrated
202
189
  * to V2.