@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.
Files changed (110) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/cover/edit/block-controls.js +4 -2
  3. package/build/cover/edit/block-controls.js.map +1 -1
  4. package/build/cover/edit/index.js +6 -3
  5. package/build/cover/edit/index.js.map +1 -1
  6. package/build/cover/edit/inspector-controls.js +11 -4
  7. package/build/cover/edit/inspector-controls.js.map +1 -1
  8. package/build/cover/edit/poster-image.js +81 -0
  9. package/build/cover/edit/poster-image.js.map +1 -0
  10. package/build/cover/index.js +6 -0
  11. package/build/cover/index.js.map +1 -1
  12. package/build/cover/save.js +3 -1
  13. package/build/cover/save.js.map +1 -1
  14. package/build/media-text/edit.js +2 -2
  15. package/build/media-text/edit.js.map +1 -1
  16. package/build/navigation-link/edit.js +32 -15
  17. package/build/navigation-link/edit.js.map +1 -1
  18. package/build/navigation-link/update-attributes.js +112 -14
  19. package/build/navigation-link/update-attributes.js.map +1 -1
  20. package/build/navigation-submenu/edit.js +19 -2
  21. package/build/navigation-submenu/edit.js.map +1 -1
  22. package/build/post-content/edit.js +78 -16
  23. package/build/post-content/edit.js.map +1 -1
  24. package/build/post-content/index.js +6 -0
  25. package/build/post-content/index.js.map +1 -1
  26. package/build/separator/edit.js +5 -30
  27. package/build/separator/edit.js.map +1 -1
  28. package/build/site-tagline/index.js +1 -1
  29. package/build/video/edit.js +2 -5
  30. package/build/video/edit.js.map +1 -1
  31. package/build/video/poster-image.js +25 -25
  32. package/build/video/poster-image.js.map +1 -1
  33. package/build/video/tracks-editor.js +95 -104
  34. package/build/video/tracks-editor.js.map +1 -1
  35. package/build/video/tracks.js +6 -2
  36. package/build/video/tracks.js.map +1 -1
  37. package/build-module/cover/edit/block-controls.js +4 -2
  38. package/build-module/cover/edit/block-controls.js.map +1 -1
  39. package/build-module/cover/edit/index.js +6 -3
  40. package/build-module/cover/edit/index.js.map +1 -1
  41. package/build-module/cover/edit/inspector-controls.js +10 -4
  42. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  43. package/build-module/cover/edit/poster-image.js +74 -0
  44. package/build-module/cover/edit/poster-image.js.map +1 -0
  45. package/build-module/cover/index.js +6 -0
  46. package/build-module/cover/index.js.map +1 -1
  47. package/build-module/cover/save.js +3 -1
  48. package/build-module/cover/save.js.map +1 -1
  49. package/build-module/media-text/edit.js +2 -2
  50. package/build-module/media-text/edit.js.map +1 -1
  51. package/build-module/navigation-link/edit.js +32 -15
  52. package/build-module/navigation-link/edit.js.map +1 -1
  53. package/build-module/navigation-link/update-attributes.js +113 -15
  54. package/build-module/navigation-link/update-attributes.js.map +1 -1
  55. package/build-module/navigation-submenu/edit.js +20 -3
  56. package/build-module/navigation-submenu/edit.js.map +1 -1
  57. package/build-module/post-content/edit.js +80 -18
  58. package/build-module/post-content/edit.js.map +1 -1
  59. package/build-module/post-content/index.js +6 -0
  60. package/build-module/post-content/index.js.map +1 -1
  61. package/build-module/separator/edit.js +6 -31
  62. package/build-module/separator/edit.js.map +1 -1
  63. package/build-module/site-tagline/index.js +1 -1
  64. package/build-module/video/edit.js +2 -5
  65. package/build-module/video/edit.js.map +1 -1
  66. package/build-module/video/poster-image.js +26 -26
  67. package/build-module/video/poster-image.js.map +1 -1
  68. package/build-module/video/tracks-editor.js +96 -105
  69. package/build-module/video/tracks-editor.js.map +1 -1
  70. package/build-module/video/tracks.js +6 -2
  71. package/build-module/video/tracks.js.map +1 -1
  72. package/build-style/archives/editor-rtl.css +0 -4
  73. package/build-style/archives/editor.css +0 -4
  74. package/build-style/editor-rtl.css +0 -8
  75. package/build-style/editor.css +0 -8
  76. package/build-style/file/style-rtl.css +1 -1
  77. package/build-style/file/style.css +1 -1
  78. package/build-style/navigation/style-rtl.css +1 -0
  79. package/build-style/navigation/style.css +1 -0
  80. package/build-style/style-rtl.css +2 -1
  81. package/build-style/style.css +2 -1
  82. package/build-style/video/editor-rtl.css +0 -4
  83. package/build-style/video/editor.css +0 -4
  84. package/package.json +35 -35
  85. package/src/archives/editor.scss +0 -4
  86. package/src/comments-pagination/index.php +7 -2
  87. package/src/cover/block.json +6 -0
  88. package/src/cover/edit/block-controls.js +22 -17
  89. package/src/cover/edit/index.js +4 -1
  90. package/src/cover/edit/inspector-controls.js +11 -2
  91. package/src/cover/edit/poster-image.js +91 -0
  92. package/src/cover/save.js +2 -0
  93. package/src/file/style.scss +1 -1
  94. package/src/media-text/edit.js +1 -1
  95. package/src/navigation/style.scss +1 -0
  96. package/src/navigation-link/edit.js +28 -16
  97. package/src/navigation-link/test/edit.js +738 -6
  98. package/src/navigation-link/update-attributes.js +125 -12
  99. package/src/navigation-submenu/edit.js +21 -1
  100. package/src/post-content/block.json +6 -0
  101. package/src/post-content/edit.js +71 -19
  102. package/src/post-content/index.php +11 -4
  103. package/src/post-featured-image/index.php +3 -2
  104. package/src/separator/edit.js +8 -43
  105. package/src/site-tagline/block.json +1 -1
  106. package/src/video/edit.js +1 -4
  107. package/src/video/editor.scss +0 -6
  108. package/src/video/poster-image.js +29 -24
  109. package/src/video/tracks-editor.js +93 -103
  110. package/src/video/tracks.js +2 -1
@@ -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;
@@ -2584,10 +2580,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2584
2580
  margin-right: -9px;
2585
2581
  }
2586
2582
 
2587
- .editor-video-poster-control .components-button {
2588
- margin-left: 8px;
2589
- }
2590
-
2591
2583
  .block-library-video-tracks-editor {
2592
2584
  z-index: 159990;
2593
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;
@@ -2591,10 +2587,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2591
2587
  margin-left: -9px;
2592
2588
  }
2593
2589
 
2594
- .editor-video-poster-control .components-button {
2595
- margin-right: 8px;
2596
- }
2597
-
2598
2590
  .block-library-video-tracks-editor {
2599
2591
  z-index: 159990;
2600
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;
@@ -255,6 +255,7 @@
255
255
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
256
256
  display: flex;
257
257
  flex-grow: 1;
258
+ padding: 0.5em 1em;
258
259
  }
259
260
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon {
260
261
  margin-left: 0;
@@ -255,6 +255,7 @@
255
255
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
256
256
  display: flex;
257
257
  flex-grow: 1;
258
+ padding: 0.5em 1em;
258
259
  }
259
260
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon {
260
261
  margin-right: 0;
@@ -1180,7 +1180,7 @@ body:not(.editor-styles-wrapper) .wp-block-cover:not(.wp-block-cover:has(.wp-blo
1180
1180
  padding: 0.5em 1em;
1181
1181
  display: inline-block;
1182
1182
  }
1183
- :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 {
1183
+ :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 {
1184
1184
  box-shadow: none;
1185
1185
  color: #fff;
1186
1186
  opacity: 0.85;
@@ -2373,6 +2373,7 @@ ul {
2373
2373
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
2374
2374
  display: flex;
2375
2375
  flex-grow: 1;
2376
+ padding: 0.5em 1em;
2376
2377
  }
2377
2378
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon {
2378
2379
  margin-left: 0;
@@ -1188,7 +1188,7 @@ body:not(.editor-styles-wrapper) .wp-block-cover:not(.wp-block-cover:has(.wp-blo
1188
1188
  padding: 0.5em 1em;
1189
1189
  display: inline-block;
1190
1190
  }
1191
- :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 {
1191
+ :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 {
1192
1192
  box-shadow: none;
1193
1193
  color: #fff;
1194
1194
  opacity: 0.85;
@@ -2403,6 +2403,7 @@ ul {
2403
2403
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
2404
2404
  display: flex;
2405
2405
  flex-grow: 1;
2406
+ padding: 0.5em 1em;
2406
2407
  }
2407
2408
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon {
2408
2409
  margin-right: 0;
@@ -152,10 +152,6 @@
152
152
  margin-right: -9px;
153
153
  }
154
154
 
155
- .editor-video-poster-control .components-button {
156
- margin-left: 8px;
157
- }
158
-
159
155
  .block-library-video-tracks-editor {
160
156
  z-index: 159990;
161
157
  }
@@ -152,10 +152,6 @@
152
152
  margin-left: -9px;
153
153
  }
154
154
 
155
- .editor-video-poster-control .components-button {
156
- margin-right: 8px;
157
- }
158
-
159
155
  .block-library-video-tracks-editor {
160
156
  z-index: 159990;
161
157
  }