@wordpress/block-library 9.26.1-next.719a03cbe.0 → 9.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/cover/edit/block-controls.js +4 -2
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/index.js +6 -3
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +11 -4
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/poster-image.js +81 -0
- package/build/cover/edit/poster-image.js.map +1 -0
- package/build/cover/index.js +6 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +3 -1
- package/build/cover/save.js.map +1 -1
- package/build/media-text/edit.js +2 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/navigation-link/edit.js +32 -15
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/update-attributes.js +112 -14
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/edit.js +19 -2
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/post-content/edit.js +78 -16
- package/build/post-content/edit.js.map +1 -1
- package/build/post-content/index.js +6 -0
- package/build/post-content/index.js.map +1 -1
- package/build/separator/edit.js +5 -30
- package/build/separator/edit.js.map +1 -1
- package/build/site-tagline/index.js +1 -1
- package/build/video/edit.js +2 -5
- package/build/video/edit.js.map +1 -1
- package/build/video/poster-image.js +25 -25
- package/build/video/poster-image.js.map +1 -1
- package/build/video/tracks-editor.js +95 -104
- package/build/video/tracks-editor.js.map +1 -1
- package/build/video/tracks.js +6 -2
- package/build/video/tracks.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +4 -2
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/index.js +6 -3
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +10 -4
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/poster-image.js +74 -0
- package/build-module/cover/edit/poster-image.js.map +1 -0
- package/build-module/cover/index.js +6 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +3 -1
- package/build-module/cover/save.js.map +1 -1
- package/build-module/media-text/edit.js +2 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/navigation-link/edit.js +32 -15
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +113 -15
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +20 -3
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/post-content/edit.js +80 -18
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-content/index.js +6 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/separator/edit.js +6 -31
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/site-tagline/index.js +1 -1
- package/build-module/video/edit.js +2 -5
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/poster-image.js +26 -26
- package/build-module/video/poster-image.js.map +1 -1
- package/build-module/video/tracks-editor.js +96 -105
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-module/video/tracks.js +6 -2
- package/build-module/video/tracks.js.map +1 -1
- package/build-style/archives/editor-rtl.css +0 -4
- package/build-style/archives/editor.css +0 -4
- package/build-style/editor-rtl.css +0 -8
- package/build-style/editor.css +0 -8
- package/build-style/file/style-rtl.css +1 -1
- package/build-style/file/style.css +1 -1
- package/build-style/navigation/style-rtl.css +1 -0
- package/build-style/navigation/style.css +1 -0
- package/build-style/style-rtl.css +2 -1
- package/build-style/style.css +2 -1
- package/build-style/video/editor-rtl.css +0 -4
- package/build-style/video/editor.css +0 -4
- package/package.json +35 -35
- package/src/archives/editor.scss +0 -4
- package/src/comments-pagination/index.php +7 -2
- package/src/cover/block.json +6 -0
- package/src/cover/edit/block-controls.js +22 -17
- package/src/cover/edit/index.js +4 -1
- package/src/cover/edit/inspector-controls.js +11 -2
- package/src/cover/edit/poster-image.js +91 -0
- package/src/cover/save.js +2 -0
- package/src/file/style.scss +1 -1
- package/src/media-text/edit.js +1 -1
- package/src/navigation/style.scss +1 -0
- package/src/navigation-link/edit.js +28 -16
- package/src/navigation-link/test/edit.js +738 -6
- package/src/navigation-link/update-attributes.js +125 -12
- package/src/navigation-submenu/edit.js +21 -1
- package/src/post-content/block.json +6 -0
- package/src/post-content/edit.js +71 -19
- package/src/post-content/index.php +11 -4
- package/src/post-featured-image/index.php +3 -2
- package/src/separator/edit.js +8 -43
- package/src/site-tagline/block.json +1 -1
- package/src/video/edit.js +1 -4
- package/src/video/editor.scss +0 -6
- package/src/video/poster-image.js +29 -24
- package/src/video/tracks-editor.js +93 -103
- package/src/video/tracks.js +2 -1
|
@@ -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
|
|
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
|
|
81
|
-
default: isDefaultTrack
|
|
82
|
-
} =
|
|
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 =>
|
|
101
|
-
...
|
|
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 =>
|
|
111
|
-
...
|
|
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
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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
|
-
|
|
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
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
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
|
-
|
|
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__*/
|
|
288
|
+
}), /*#__PURE__*/_jsx(MenuGroup, {
|
|
280
289
|
className: "block-library-video-tracks-editor__add-tracks-container",
|
|
281
290
|
label: __('Add tracks'),
|
|
282
|
-
children:
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
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
|
-
...
|
|
8
|
-
},
|
|
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={
|
|
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;
|
|
@@ -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
|
}
|
package/build-style/editor.css
CHANGED
|
@@ -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):
|
|
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):
|
|
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):
|
|
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;
|
package/build-style/style.css
CHANGED
|
@@ -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):
|
|
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;
|