@wordpress/block-library 7.17.0 → 7.18.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 (233) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/audio/edit.js +44 -4
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/button/edit.js +1 -1
  5. package/build/button/edit.js.map +1 -1
  6. package/build/buttons/edit.native.js +1 -1
  7. package/build/buttons/edit.native.js.map +1 -1
  8. package/build/comment-template/index.js +6 -2
  9. package/build/comment-template/index.js.map +1 -1
  10. package/build/cover/edit/inspector-controls.js +3 -7
  11. package/build/cover/edit/inspector-controls.js.map +1 -1
  12. package/build/embed/deprecated.js +43 -4
  13. package/build/embed/deprecated.js.map +1 -1
  14. package/build/file/deprecated.js +108 -4
  15. package/build/file/deprecated.js.map +1 -1
  16. package/build/file/transforms.js +3 -9
  17. package/build/file/transforms.js.map +1 -1
  18. package/build/gallery/deprecated.js +148 -23
  19. package/build/gallery/deprecated.js.map +1 -1
  20. package/build/gallery/gallery.js +3 -2
  21. package/build/gallery/gallery.js.map +1 -1
  22. package/build/gallery/use-image-sizes.js +2 -1
  23. package/build/gallery/use-image-sizes.js.map +1 -1
  24. package/build/gallery/v1/edit.js +2 -1
  25. package/build/gallery/v1/edit.js.map +1 -1
  26. package/build/group/edit.js +7 -3
  27. package/build/group/edit.js.map +1 -1
  28. package/build/image/edit.native.js +1 -1
  29. package/build/image/edit.native.js.map +1 -1
  30. package/build/image/image.js +6 -9
  31. package/build/image/image.js.map +1 -1
  32. package/build/latest-posts/edit.js +1 -1
  33. package/build/latest-posts/edit.js.map +1 -1
  34. package/build/list/utils.js +4 -8
  35. package/build/list/utils.js.map +1 -1
  36. package/build/list-item/hooks/use-outdent-list-item.js +5 -7
  37. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  38. package/build/navigation/edit/index.js +12 -11
  39. package/build/navigation/edit/index.js.map +1 -1
  40. package/build/navigation/edit/unsaved-inner-blocks.js +3 -1
  41. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  42. package/build/navigation-link/edit.js +4 -2
  43. package/build/navigation-link/edit.js.map +1 -1
  44. package/build/navigation-submenu/edit.js +4 -4
  45. package/build/navigation-submenu/edit.js.map +1 -1
  46. package/build/page-list/edit.js +29 -10
  47. package/build/page-list/edit.js.map +1 -1
  48. package/build/post-comments-count/index.js +4 -0
  49. package/build/post-comments-count/index.js.map +1 -1
  50. package/build/post-comments-form/index.js +4 -0
  51. package/build/post-comments-form/index.js.map +1 -1
  52. package/build/post-comments-link/index.js +4 -0
  53. package/build/post-comments-link/index.js.map +1 -1
  54. package/build/post-content/edit.js +14 -6
  55. package/build/post-content/edit.js.map +1 -1
  56. package/build/pullquote/deprecated.js +6 -6
  57. package/build/pullquote/deprecated.js.map +1 -1
  58. package/build/search/edit.js +1 -3
  59. package/build/search/edit.js.map +1 -1
  60. package/build/site-logo/edit.js +1 -1
  61. package/build/site-logo/edit.js.map +1 -1
  62. package/build/site-tagline/edit.js +21 -9
  63. package/build/site-tagline/edit.js.map +1 -1
  64. package/build/site-title/edit/index.js +20 -8
  65. package/build/site-title/edit/index.js.map +1 -1
  66. package/build/social-link/edit.js +11 -2
  67. package/build/social-link/edit.js.map +1 -1
  68. package/build/social-link/index.js +3 -0
  69. package/build/social-link/index.js.map +1 -1
  70. package/build/spacer/controls.js +3 -7
  71. package/build/spacer/controls.js.map +1 -1
  72. package/build/table/deprecated.js +282 -27
  73. package/build/table/deprecated.js.map +1 -1
  74. package/build/table/state.js +1 -1
  75. package/build/table/state.js.map +1 -1
  76. package/build/utils/clean-empty-object.js +5 -4
  77. package/build/utils/clean-empty-object.js.map +1 -1
  78. package/build/video/deprecated.js +159 -0
  79. package/build/video/deprecated.js.map +1 -0
  80. package/build/video/edit.js +41 -5
  81. package/build/video/edit.js.map +1 -1
  82. package/build/video/index.js +3 -0
  83. package/build/video/index.js.map +1 -1
  84. package/build/video/tracks-editor.js +3 -28
  85. package/build/video/tracks-editor.js.map +1 -1
  86. package/build-module/audio/edit.js +46 -7
  87. package/build-module/audio/edit.js.map +1 -1
  88. package/build-module/button/edit.js +1 -1
  89. package/build-module/button/edit.js.map +1 -1
  90. package/build-module/buttons/edit.native.js +1 -1
  91. package/build-module/buttons/edit.native.js.map +1 -1
  92. package/build-module/comment-template/index.js +6 -2
  93. package/build-module/comment-template/index.js.map +1 -1
  94. package/build-module/cover/edit/inspector-controls.js +4 -8
  95. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  96. package/build-module/embed/deprecated.js +44 -5
  97. package/build-module/embed/deprecated.js.map +1 -1
  98. package/build-module/file/deprecated.js +108 -4
  99. package/build-module/file/deprecated.js.map +1 -1
  100. package/build-module/file/transforms.js +3 -8
  101. package/build-module/file/transforms.js.map +1 -1
  102. package/build-module/gallery/deprecated.js +147 -25
  103. package/build-module/gallery/deprecated.js.map +1 -1
  104. package/build-module/gallery/gallery.js +3 -2
  105. package/build-module/gallery/gallery.js.map +1 -1
  106. package/build-module/gallery/use-image-sizes.js +3 -2
  107. package/build-module/gallery/use-image-sizes.js.map +1 -1
  108. package/build-module/gallery/v1/edit.js +3 -2
  109. package/build-module/gallery/v1/edit.js.map +1 -1
  110. package/build-module/group/edit.js +7 -3
  111. package/build-module/group/edit.js.map +1 -1
  112. package/build-module/image/edit.native.js +1 -1
  113. package/build-module/image/edit.native.js.map +1 -1
  114. package/build-module/image/image.js +8 -11
  115. package/build-module/image/image.js.map +1 -1
  116. package/build-module/latest-posts/edit.js +2 -2
  117. package/build-module/latest-posts/edit.js.map +1 -1
  118. package/build-module/list/utils.js +5 -9
  119. package/build-module/list/utils.js.map +1 -1
  120. package/build-module/list-item/hooks/use-outdent-list-item.js +5 -6
  121. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  122. package/build-module/navigation/edit/index.js +12 -11
  123. package/build-module/navigation/edit/index.js.map +1 -1
  124. package/build-module/navigation/edit/unsaved-inner-blocks.js +3 -1
  125. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  126. package/build-module/navigation-link/edit.js +4 -3
  127. package/build-module/navigation-link/edit.js.map +1 -1
  128. package/build-module/navigation-submenu/edit.js +4 -4
  129. package/build-module/navigation-submenu/edit.js.map +1 -1
  130. package/build-module/page-list/edit.js +29 -10
  131. package/build-module/page-list/edit.js.map +1 -1
  132. package/build-module/post-comments-count/index.js +4 -0
  133. package/build-module/post-comments-count/index.js.map +1 -1
  134. package/build-module/post-comments-form/index.js +4 -0
  135. package/build-module/post-comments-form/index.js.map +1 -1
  136. package/build-module/post-comments-link/index.js +4 -0
  137. package/build-module/post-comments-link/index.js.map +1 -1
  138. package/build-module/post-content/edit.js +14 -6
  139. package/build-module/post-content/edit.js.map +1 -1
  140. package/build-module/pullquote/deprecated.js +7 -7
  141. package/build-module/pullquote/deprecated.js.map +1 -1
  142. package/build-module/search/edit.js +1 -3
  143. package/build-module/search/edit.js.map +1 -1
  144. package/build-module/site-logo/edit.js +2 -2
  145. package/build-module/site-logo/edit.js.map +1 -1
  146. package/build-module/site-tagline/edit.js +23 -11
  147. package/build-module/site-tagline/edit.js.map +1 -1
  148. package/build-module/site-title/edit/index.js +22 -10
  149. package/build-module/site-title/edit/index.js.map +1 -1
  150. package/build-module/social-link/edit.js +11 -2
  151. package/build-module/social-link/edit.js.map +1 -1
  152. package/build-module/social-link/index.js +3 -0
  153. package/build-module/social-link/index.js.map +1 -1
  154. package/build-module/spacer/controls.js +4 -8
  155. package/build-module/spacer/controls.js.map +1 -1
  156. package/build-module/table/deprecated.js +282 -27
  157. package/build-module/table/deprecated.js.map +1 -1
  158. package/build-module/table/state.js +1 -1
  159. package/build-module/table/state.js.map +1 -1
  160. package/build-module/utils/clean-empty-object.js +5 -5
  161. package/build-module/utils/clean-empty-object.js.map +1 -1
  162. package/build-module/video/deprecated.js +147 -0
  163. package/build-module/video/deprecated.js.map +1 -0
  164. package/build-module/video/edit.js +45 -9
  165. package/build-module/video/edit.js.map +1 -1
  166. package/build-module/video/index.js +2 -0
  167. package/build-module/video/index.js.map +1 -1
  168. package/build-module/video/tracks-editor.js +4 -29
  169. package/build-module/video/tracks-editor.js.map +1 -1
  170. package/build-style/button/style-rtl.css +1 -0
  171. package/build-style/button/style.css +1 -0
  172. package/build-style/comment-template/style-rtl.css +1 -0
  173. package/build-style/comment-template/style.css +1 -0
  174. package/build-style/editor-rtl.css +4 -4
  175. package/build-style/editor.css +4 -4
  176. package/build-style/navigation/editor-rtl.css +4 -4
  177. package/build-style/navigation/editor.css +4 -4
  178. package/build-style/navigation/style-rtl.css +3 -1
  179. package/build-style/navigation/style.css +3 -1
  180. package/build-style/post-comments-form/style-rtl.css +3 -0
  181. package/build-style/post-comments-form/style.css +3 -0
  182. package/build-style/style-rtl.css +8 -1
  183. package/build-style/style.css +8 -1
  184. package/package.json +29 -28
  185. package/src/audio/edit.js +79 -24
  186. package/src/button/edit.js +1 -1
  187. package/src/button/style.scss +2 -0
  188. package/src/buttons/edit.native.js +1 -1
  189. package/src/comment-template/block.json +6 -2
  190. package/src/comment-template/style.scss +2 -0
  191. package/src/cover/edit/inspector-controls.js +11 -13
  192. package/src/embed/deprecated.js +53 -26
  193. package/src/file/deprecated.js +130 -2
  194. package/src/file/transforms.js +3 -8
  195. package/src/gallery/deprecated.js +129 -4
  196. package/src/gallery/gallery.js +2 -0
  197. package/src/gallery/index.php +19 -10
  198. package/src/gallery/use-image-sizes.js +3 -2
  199. package/src/gallery/v1/edit.js +3 -2
  200. package/src/group/edit.js +10 -2
  201. package/src/image/edit.native.js +1 -1
  202. package/src/image/image.js +22 -10
  203. package/src/latest-posts/edit.js +2 -2
  204. package/src/list/utils.js +3 -11
  205. package/src/list-item/hooks/use-outdent-list-item.js +3 -6
  206. package/src/navigation/edit/index.js +13 -15
  207. package/src/navigation/edit/unsaved-inner-blocks.js +9 -2
  208. package/src/navigation/editor.scss +4 -4
  209. package/src/navigation/style.scss +3 -1
  210. package/src/navigation-link/edit.js +5 -4
  211. package/src/navigation-submenu/edit.js +7 -5
  212. package/src/page-list/edit.js +36 -22
  213. package/src/post-comments-count/block.json +4 -0
  214. package/src/post-comments-form/block.json +4 -0
  215. package/src/post-comments-form/style.scss +3 -0
  216. package/src/post-comments-link/block.json +4 -0
  217. package/src/post-content/edit.js +8 -4
  218. package/src/pullquote/deprecated.js +7 -7
  219. package/src/search/edit.js +1 -1
  220. package/src/site-logo/edit.js +2 -2
  221. package/src/site-tagline/edit.js +25 -18
  222. package/src/site-title/edit/index.js +26 -12
  223. package/src/social-link/block.json +3 -0
  224. package/src/social-link/edit.js +8 -1
  225. package/src/social-link/index.php +11 -7
  226. package/src/spacer/controls.js +10 -12
  227. package/src/table/deprecated.js +587 -348
  228. package/src/table/state.js +1 -1
  229. package/src/utils/clean-empty-object.js +5 -6
  230. package/src/video/deprecated.js +57 -0
  231. package/src/video/edit.js +71 -23
  232. package/src/video/index.js +2 -0
  233. package/src/video/tracks-editor.js +12 -28
@@ -281,7 +281,7 @@ export function deleteColumn( state, { columnIndex } ) {
281
281
  }
282
282
 
283
283
  /**
284
- * Toggles the existance of a section.
284
+ * Toggles the existence of a section.
285
285
  *
286
286
  * @param {Object} state Current table state.
287
287
  * @param {string} sectionName Name of the section to toggle.
@@ -1,9 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { isEmpty, mapValues, pickBy } from 'lodash';
5
-
6
- const identity = ( x ) => x;
4
+ import { isEmpty, mapValues } from 'lodash';
7
5
 
8
6
  /**
9
7
  * Removed empty nodes from nested objects.
@@ -19,9 +17,10 @@ const cleanEmptyObject = ( object ) => {
19
17
  ) {
20
18
  return object;
21
19
  }
22
- const cleanedNestedObjects = pickBy(
23
- mapValues( object, cleanEmptyObject ),
24
- identity
20
+ const cleanedNestedObjects = Object.fromEntries(
21
+ Object.entries( mapValues( object, cleanEmptyObject ) ).filter(
22
+ ( [ , value ] ) => Boolean( value )
23
+ )
25
24
  );
26
25
  return isEmpty( cleanedNestedObjects ) ? undefined : cleanedNestedObjects;
27
26
  };
@@ -0,0 +1,57 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { RichText, useBlockProps } from '@wordpress/block-editor';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import metadata from './block.json';
10
+ import Tracks from './tracks';
11
+
12
+ const { attributes: blockAttributes } = metadata;
13
+
14
+ // In #41140 support was added to global styles for caption elements which added a `wp-element-caption` classname
15
+ // to the video figcaption element.
16
+ const v1 = {
17
+ attributes: blockAttributes,
18
+ save( { attributes } ) {
19
+ const {
20
+ autoplay,
21
+ caption,
22
+ controls,
23
+ loop,
24
+ muted,
25
+ poster,
26
+ preload,
27
+ src,
28
+ playsInline,
29
+ tracks,
30
+ } = attributes;
31
+ return (
32
+ <figure { ...useBlockProps.save() }>
33
+ { src && (
34
+ <video
35
+ autoPlay={ autoplay }
36
+ controls={ controls }
37
+ loop={ loop }
38
+ muted={ muted }
39
+ poster={ poster }
40
+ preload={ preload !== 'metadata' ? preload : undefined }
41
+ src={ src }
42
+ playsInline={ playsInline }
43
+ >
44
+ <Tracks tracks={ tracks } />
45
+ </video>
46
+ ) }
47
+ { ! RichText.isEmpty( caption ) && (
48
+ <RichText.Content tagName="figcaption" value={ caption } />
49
+ ) }
50
+ </figure>
51
+ );
52
+ },
53
+ };
54
+
55
+ const deprecated = [ v1 ];
56
+
57
+ export default deprecated;
package/src/video/edit.js CHANGED
@@ -14,6 +14,7 @@ import {
14
14
  PanelBody,
15
15
  Spinner,
16
16
  Placeholder,
17
+ ToolbarButton,
17
18
  } from '@wordpress/components';
18
19
  import {
19
20
  BlockControls,
@@ -28,11 +29,11 @@ import {
28
29
  store as blockEditorStore,
29
30
  __experimentalGetElementClassName,
30
31
  } from '@wordpress/block-editor';
31
- import { useRef, useEffect } from '@wordpress/element';
32
+ import { useRef, useEffect, useState, useCallback } from '@wordpress/element';
32
33
  import { __, sprintf } from '@wordpress/i18n';
33
- import { useInstanceId } from '@wordpress/compose';
34
+ import { useInstanceId, usePrevious } from '@wordpress/compose';
34
35
  import { useDispatch, useSelect } from '@wordpress/data';
35
- import { video as icon } from '@wordpress/icons';
36
+ import { video as icon, caption as captionIcon } from '@wordpress/icons';
36
37
  import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
37
38
  import { store as noticesStore } from '@wordpress/notices';
38
39
 
@@ -76,6 +77,8 @@ function VideoEdit( {
76
77
  const videoPlayer = useRef();
77
78
  const posterImageButton = useRef();
78
79
  const { id, caption, controls, poster, src, tracks } = attributes;
80
+ const prevCaption = usePrevious( caption );
81
+ const [ showCaption, setShowCaption ] = useState( !! caption );
79
82
  const isTemporaryVideo = ! id && isBlobURL( src );
80
83
  const mediaUpload = useSelect(
81
84
  ( select ) => select( blockEditorStore ).getSettings().mediaUpload,
@@ -103,6 +106,30 @@ function VideoEdit( {
103
106
  }
104
107
  }, [ poster ] );
105
108
 
109
+ // We need to show the caption when changes come from
110
+ // history navigation(undo/redo).
111
+ useEffect( () => {
112
+ if ( caption && ! prevCaption ) {
113
+ setShowCaption( true );
114
+ }
115
+ }, [ caption, prevCaption ] );
116
+
117
+ // Focus the caption when we click to add one.
118
+ const captionRef = useCallback(
119
+ ( node ) => {
120
+ if ( node && ! caption ) {
121
+ node.focus();
122
+ }
123
+ },
124
+ [ caption ]
125
+ );
126
+
127
+ useEffect( () => {
128
+ if ( ! isSelected && ! caption ) {
129
+ setShowCaption( false );
130
+ }
131
+ }, [ isSelected, caption ] );
132
+
106
133
  function onSelectVideo( media ) {
107
134
  if ( ! media || ! media.url ) {
108
135
  // In this case there was an error
@@ -112,6 +139,7 @@ function VideoEdit( {
112
139
  src: undefined,
113
140
  id: undefined,
114
141
  poster: undefined,
142
+ caption: undefined,
115
143
  } );
116
144
  return;
117
145
  }
@@ -123,6 +151,7 @@ function VideoEdit( {
123
151
  id: media.id,
124
152
  poster:
125
153
  media.image?.src !== media.icon ? media.image?.src : undefined,
154
+ caption: media.caption,
126
155
  } );
127
156
  }
128
157
 
@@ -186,6 +215,23 @@ function VideoEdit( {
186
215
  return (
187
216
  <>
188
217
  <BlockControls group="block">
218
+ <ToolbarButton
219
+ onClick={ () => {
220
+ setShowCaption( ! showCaption );
221
+ if ( showCaption && caption ) {
222
+ setAttributes( { caption: undefined } );
223
+ }
224
+ } }
225
+ icon={ captionIcon }
226
+ isPressed={ showCaption }
227
+ label={
228
+ showCaption
229
+ ? __( 'Remove caption' )
230
+ : __( 'Add caption' )
231
+ }
232
+ />
233
+ </BlockControls>
234
+ <BlockControls>
189
235
  <TracksEditor
190
236
  tracks={ tracks }
191
237
  onChange={ ( newTracks ) => {
@@ -278,26 +324,28 @@ function VideoEdit( {
278
324
  </video>
279
325
  </Disabled>
280
326
  { isTemporaryVideo && <Spinner /> }
281
- { ( ! RichText.isEmpty( caption ) || isSelected ) && (
282
- <RichText
283
- tagName="figcaption"
284
- className={ __experimentalGetElementClassName(
285
- 'caption'
286
- ) }
287
- aria-label={ __( 'Video caption text' ) }
288
- placeholder={ __( 'Add caption' ) }
289
- value={ caption }
290
- onChange={ ( value ) =>
291
- setAttributes( { caption: value } )
292
- }
293
- inlineToolbar
294
- __unstableOnSplitAtEnd={ () =>
295
- insertBlocksAfter(
296
- createBlock( getDefaultBlockName() )
297
- )
298
- }
299
- />
300
- ) }
327
+ { showCaption &&
328
+ ( ! RichText.isEmpty( caption ) || isSelected ) && (
329
+ <RichText
330
+ tagName="figcaption"
331
+ className={ __experimentalGetElementClassName(
332
+ 'caption'
333
+ ) }
334
+ aria-label={ __( 'Video caption text' ) }
335
+ ref={ captionRef }
336
+ placeholder={ __( 'Add caption' ) }
337
+ value={ caption }
338
+ onChange={ ( value ) =>
339
+ setAttributes( { caption: value } )
340
+ }
341
+ inlineToolbar
342
+ __unstableOnSplitAtEnd={ () =>
343
+ insertBlocksAfter(
344
+ createBlock( getDefaultBlockName() )
345
+ )
346
+ }
347
+ />
348
+ ) }
301
349
  </figure>
302
350
  </>
303
351
  );
@@ -8,6 +8,7 @@ import { video as icon } from '@wordpress/icons';
8
8
  * Internal dependencies
9
9
  */
10
10
  import initBlock from '../utils/init-block';
11
+ import deprecated from './deprecated';
11
12
  import edit from './edit';
12
13
  import metadata from './block.json';
13
14
  import save from './save';
@@ -27,6 +28,7 @@ export const settings = {
27
28
  },
28
29
  },
29
30
  transforms,
31
+ deprecated,
30
32
  edit,
31
33
  save,
32
34
  };
@@ -7,11 +7,9 @@ import {
7
7
  MenuItem,
8
8
  FormFileUpload,
9
9
  MenuGroup,
10
+ ToolbarGroup,
10
11
  ToolbarButton,
11
12
  Dropdown,
12
- SVG,
13
- Rect,
14
- Path,
15
13
  Button,
16
14
  TextControl,
17
15
  SelectControl,
@@ -38,23 +36,6 @@ const KIND_OPTIONS = [
38
36
  { label: __( 'Metadata' ), value: 'metadata' },
39
37
  ];
40
38
 
41
- const captionIcon = (
42
- <SVG width="18" height="14" viewBox="0 0 18 14" role="img" fill="none">
43
- <Rect
44
- x="0.75"
45
- y="0.75"
46
- width="16.5"
47
- height="12.5"
48
- rx="1.25"
49
- stroke="black"
50
- strokeWidth="1.5"
51
- fill="none"
52
- />
53
- <Path d="M3 7H15" stroke="black" strokeWidth="1.5" />
54
- <Path d="M3 10L15 10" stroke="black" strokeWidth="1.5" />
55
- </SVG>
56
- );
57
-
58
39
  function TrackList( { tracks, onEditPress } ) {
59
40
  let content;
60
41
  if ( tracks.length === 0 ) {
@@ -200,14 +181,17 @@ export default function TracksEditor( { tracks = [], onChange } ) {
200
181
  <Dropdown
201
182
  contentClassName="block-library-video-tracks-editor"
202
183
  renderToggle={ ( { isOpen, onToggle } ) => (
203
- <ToolbarButton
204
- label={ __( 'Text tracks' ) }
205
- showTooltip
206
- aria-expanded={ isOpen }
207
- aria-haspopup="true"
208
- onClick={ onToggle }
209
- icon={ captionIcon }
210
- />
184
+ <ToolbarGroup>
185
+ <ToolbarButton
186
+ label={ __( 'Text tracks' ) }
187
+ showTooltip
188
+ aria-expanded={ isOpen }
189
+ aria-haspopup="true"
190
+ onClick={ onToggle }
191
+ >
192
+ { __( 'Text tracks' ) }
193
+ </ToolbarButton>
194
+ </ToolbarGroup>
211
195
  ) }
212
196
  renderContent={ () => {
213
197
  if ( trackBeingEdited !== null ) {