@wordpress/block-library 9.24.0 → 9.26.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 +4 -0
- package/build/avatar/edit.js +84 -39
- package/build/avatar/edit.js.map +1 -1
- package/build/avatar/user-control.js +32 -17
- package/build/avatar/user-control.js.map +1 -1
- package/build/button/edit.js +29 -17
- package/build/button/edit.js.map +1 -1
- package/build/columns/edit.js +18 -22
- package/build/columns/edit.js.map +1 -1
- package/build/comment-author-name/edit.js +41 -12
- package/build/comment-author-name/edit.js.map +1 -1
- package/build/comment-date/edit.js +41 -12
- package/build/comment-date/edit.js.map +1 -1
- package/build/comment-edit-link/edit.js +27 -7
- package/build/comment-edit-link/edit.js.map +1 -1
- package/build/comments/edit/comments-inspector-controls.js +1 -3
- package/build/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build/comments-pagination/edit.js +23 -9
- package/build/comments-pagination/edit.js.map +1 -1
- package/build/comments-title/edit.js +41 -12
- package/build/comments-title/edit.js.map +1 -1
- package/build/details/edit.js +27 -3
- package/build/details/edit.js.map +1 -1
- package/build/embed/edit.js +2 -4
- package/build/embed/edit.js.map +1 -1
- package/build/embed/embed-controls.js +41 -22
- package/build/embed/embed-controls.js.map +1 -1
- package/build/embed/variations.js +0 -10
- package/build/embed/variations.js.map +1 -1
- package/build/file/inspector.js +73 -30
- package/build/file/inspector.js.map +1 -1
- package/build/form/edit.js +67 -38
- package/build/form/edit.js.map +1 -1
- package/build/form/index.js +3 -3
- package/build/form/index.js.map +1 -1
- package/build/form-input/edit.js +47 -18
- package/build/form-input/edit.js.map +1 -1
- package/build/form-input/index.js +2 -1
- package/build/form-input/index.js.map +1 -1
- package/build/form-submission-notification/index.js +2 -1
- package/build/form-submission-notification/index.js.map +1 -1
- package/build/form-submit-button/index.js +2 -1
- package/build/form-submit-button/index.js.map +1 -1
- package/build/image/image.js +1 -0
- package/build/image/image.js.map +1 -1
- package/build/image/view.js +0 -3
- package/build/image/view.js.map +1 -1
- package/build/latest-posts/edit.js +154 -82
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/ordered-list-settings.js +131 -52
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/navigation/edit/index.js +93 -51
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/overlay-menu-preview.js +43 -27
- package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build/navigation-link/edit.js +11 -0
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/index.js +3 -0
- package/build/navigation-link/index.js.map +1 -1
- package/build/navigation-link/transforms.js +2 -0
- package/build/navigation-link/transforms.js.map +1 -1
- package/build/navigation-link/update-attributes.js +1 -0
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/index.js +3 -0
- package/build/navigation-submenu/index.js.map +1 -1
- package/build/post-author/edit.js +75 -18
- package/build/post-author/edit.js.map +1 -1
- package/build/post-comments-count/index.js +3 -1
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-count/transforms.js +26 -0
- package/build/post-comments-count/transforms.js.map +1 -0
- package/build/post-comments-link/index.js +3 -1
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-comments-link/transforms.js +26 -0
- package/build/post-comments-link/transforms.js.map +1 -0
- package/build/post-navigation-link/edit.js +72 -33
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-title/edit.js +56 -18
- package/build/post-title/edit.js.map +1 -1
- package/build/query/edit/enhanced-pagination-modal.js +1 -1
- package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build/rss/edit.js +120 -46
- package/build/rss/edit.js.map +1 -1
- package/build/separator/edit.js +52 -20
- package/build/separator/edit.js.map +1 -1
- package/build/shortcode/index.js +2 -1
- package/build/shortcode/index.js.map +1 -1
- package/build/site-logo/edit.js +53 -19
- package/build/site-logo/edit.js.map +1 -1
- package/build/social-link/edit.js +21 -5
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/edit.native.js +13 -5
- package/build/social-link/edit.native.js.map +1 -1
- package/build/social-link/social-list.js +17 -25
- package/build/social-link/social-list.js.map +1 -1
- package/build/social-link/variations.js +53 -48
- package/build/social-link/variations.js.map +1 -1
- package/build/social-links/edit.js +38 -45
- package/build/social-links/edit.js.map +1 -1
- package/build/video/tracks-editor.js +63 -21
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/avatar/edit.js +83 -38
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/avatar/user-control.js +33 -18
- package/build-module/avatar/user-control.js.map +1 -1
- package/build-module/button/edit.js +30 -18
- package/build-module/button/edit.js.map +1 -1
- package/build-module/columns/edit.js +18 -22
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/comment-author-name/edit.js +42 -13
- package/build-module/comment-author-name/edit.js.map +1 -1
- package/build-module/comment-date/edit.js +42 -13
- package/build-module/comment-date/edit.js.map +1 -1
- package/build-module/comment-edit-link/edit.js +28 -8
- package/build-module/comment-edit-link/edit.js.map +1 -1
- package/build-module/comments/edit/comments-inspector-controls.js +1 -3
- package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build-module/comments-pagination/edit.js +24 -10
- package/build-module/comments-pagination/edit.js.map +1 -1
- package/build-module/comments-title/edit.js +42 -13
- package/build-module/comments-title/edit.js.map +1 -1
- package/build-module/details/edit.js +29 -5
- package/build-module/details/edit.js.map +1 -1
- package/build-module/embed/edit.js +2 -4
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/embed-controls.js +42 -23
- package/build-module/embed/embed-controls.js.map +1 -1
- package/build-module/embed/variations.js +0 -10
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/file/inspector.js +74 -31
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/form/edit.js +68 -39
- package/build-module/form/edit.js.map +1 -1
- package/build-module/form/index.js +3 -3
- package/build-module/form/index.js.map +1 -1
- package/build-module/form-input/edit.js +48 -19
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/form-input/index.js +2 -1
- package/build-module/form-input/index.js.map +1 -1
- package/build-module/form-submission-notification/index.js +2 -1
- package/build-module/form-submission-notification/index.js.map +1 -1
- package/build-module/form-submit-button/index.js +2 -1
- package/build-module/form-submit-button/index.js.map +1 -1
- package/build-module/image/image.js +1 -0
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/view.js +0 -3
- package/build-module/image/view.js.map +1 -1
- package/build-module/latest-posts/edit.js +155 -83
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +132 -53
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/navigation/edit/index.js +94 -52
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/overlay-menu-preview.js +44 -28
- package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build-module/navigation-link/edit.js +11 -0
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/index.js +3 -0
- package/build-module/navigation-link/index.js.map +1 -1
- package/build-module/navigation-link/transforms.js +2 -0
- package/build-module/navigation-link/transforms.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +1 -0
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/index.js +3 -0
- package/build-module/navigation-submenu/index.js.map +1 -1
- package/build-module/post-author/edit.js +76 -19
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +3 -1
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-count/transforms.js +19 -0
- package/build-module/post-comments-count/transforms.js.map +1 -0
- package/build-module/post-comments-link/index.js +3 -1
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-comments-link/transforms.js +19 -0
- package/build-module/post-comments-link/transforms.js.map +1 -0
- package/build-module/post-navigation-link/edit.js +73 -34
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-title/edit.js +57 -19
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build-module/rss/edit.js +121 -47
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/separator/edit.js +54 -22
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/shortcode/index.js +2 -1
- package/build-module/shortcode/index.js.map +1 -1
- package/build-module/site-logo/edit.js +54 -20
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/social-link/edit.js +24 -8
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/edit.native.js +15 -6
- package/build-module/social-link/edit.native.js.map +1 -1
- package/build-module/social-link/social-list.js +16 -21
- package/build-module/social-link/social-list.js.map +1 -1
- package/build-module/social-link/variations.js +53 -48
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/social-links/edit.js +40 -47
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +65 -23
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/calendar/style-rtl.css +7 -7
- package/build-style/calendar/style.css +7 -7
- package/build-style/comments-pagination/editor-rtl.css +0 -12
- package/build-style/comments-pagination/editor.css +0 -14
- package/build-style/comments-pagination/style-rtl.css +0 -7
- package/build-style/comments-pagination/style.css +0 -9
- package/build-style/editor-rtl.css +9 -21
- package/build-style/editor.css +9 -23
- package/build-style/gallery/style-rtl.css +1 -0
- package/build-style/gallery/style.css +1 -0
- package/build-style/navigation/editor-rtl.css +8 -3
- package/build-style/navigation/editor.css +8 -3
- package/build-style/navigation/style-rtl.css +4 -0
- package/build-style/navigation/style.css +4 -0
- package/build-style/pullquote/editor-rtl.css +1 -1
- package/build-style/pullquote/editor.css +1 -1
- package/build-style/pullquote/style-rtl.css +2 -3
- package/build-style/pullquote/style.css +2 -3
- package/build-style/pullquote/theme-rtl.css +2 -2
- package/build-style/pullquote/theme.css +2 -2
- package/build-style/style-rtl.css +14 -17
- package/build-style/style.css +14 -19
- package/build-style/theme-rtl.css +2 -2
- package/build-style/theme.css +2 -2
- package/package.json +35 -35
- package/src/avatar/edit.js +99 -51
- package/src/avatar/user-control.js +34 -29
- package/src/button/edit.js +44 -29
- package/src/calendar/style.scss +10 -10
- package/src/columns/edit.js +20 -31
- package/src/comment-author-name/edit.js +54 -13
- package/src/comment-date/edit.js +50 -15
- package/src/comment-edit-link/edit.js +39 -11
- package/src/comments/edit/comments-inspector-controls.js +0 -2
- package/src/comments-pagination/edit.js +29 -9
- package/src/comments-pagination/editor.scss +0 -15
- package/src/comments-pagination/style.scss +0 -8
- package/src/comments-title/edit.js +53 -15
- package/src/details/edit.js +36 -4
- package/src/editor.scss +0 -1
- package/src/embed/edit.js +3 -5
- package/src/embed/embed-controls.js +55 -33
- package/src/embed/variations.js +0 -8
- package/src/file/inspector.js +99 -45
- package/src/form/block.json +1 -2
- package/src/form/edit.js +91 -47
- package/src/form/index.js +1 -0
- package/src/form-input/edit.js +56 -18
- package/src/form-input/index.js +1 -0
- package/src/form-submission-notification/index.js +1 -0
- package/src/form-submit-button/index.js +1 -0
- package/src/gallery/style.scss +1 -0
- package/src/image/image.js +1 -0
- package/src/image/index.php +4 -1
- package/src/image/view.js +0 -3
- package/src/latest-posts/edit.js +206 -98
- package/src/list/ordered-list-settings.js +172 -62
- package/src/navigation/edit/index.js +127 -64
- package/src/navigation/edit/overlay-menu-preview.js +43 -26
- package/src/navigation/editor.scss +8 -4
- package/src/navigation/style.scss +8 -0
- package/src/navigation-link/block.json +3 -0
- package/src/navigation-link/edit.js +14 -1
- package/src/navigation-link/index.php +4 -0
- package/src/navigation-link/transforms.js +2 -1
- package/src/navigation-link/update-attributes.js +1 -0
- package/src/navigation-submenu/block.json +3 -0
- package/src/navigation-submenu/index.php +4 -0
- package/src/post-author/edit.js +91 -27
- package/src/post-comments-count/index.js +2 -0
- package/src/post-comments-count/transforms.js +20 -0
- package/src/post-comments-link/index.js +2 -0
- package/src/post-comments-link/transforms.js +20 -0
- package/src/post-navigation-link/edit.js +96 -51
- package/src/post-title/edit.js +76 -24
- package/src/pullquote/editor.scss +1 -1
- package/src/pullquote/style.scss +2 -3
- package/src/pullquote/theme.scss +2 -2
- package/src/query/edit/enhanced-pagination-modal.js +1 -5
- package/src/query/edit/inspector-controls/enhanced-pagination-control.js +3 -13
- package/src/rss/edit.js +141 -55
- package/src/separator/edit.js +66 -21
- package/src/shortcode/block.json +2 -1
- package/src/site-logo/edit.js +69 -26
- package/src/site-title/index.php +1 -1
- package/src/social-link/edit.js +18 -7
- package/src/social-link/edit.native.js +10 -4
- package/src/social-link/index.php +62 -49
- package/src/social-link/social-list.js +15 -20
- package/src/social-link/variations.js +53 -48
- package/src/social-links/edit.js +38 -60
- package/src/video/tracks-editor.js +75 -22
- package/build-style/post-author/editor-rtl.css +0 -140
- package/build-style/post-author/editor.css +0 -140
- package/src/post-author/editor.scss +0 -7
|
@@ -11,7 +11,6 @@ var _element = require("@wordpress/element");
|
|
|
11
11
|
var _blockEditor = require("@wordpress/block-editor");
|
|
12
12
|
var _components = require("@wordpress/components");
|
|
13
13
|
var _i18n = require("@wordpress/i18n");
|
|
14
|
-
var _icons = require("@wordpress/icons");
|
|
15
14
|
var _data = require("@wordpress/data");
|
|
16
15
|
var _hooks = require("../utils/hooks");
|
|
17
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -28,16 +27,19 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
28
27
|
*/
|
|
29
28
|
|
|
30
29
|
const sizeOptions = [{
|
|
31
|
-
|
|
30
|
+
label: (0, _i18n.__)('Default'),
|
|
31
|
+
value: ''
|
|
32
|
+
}, {
|
|
33
|
+
label: (0, _i18n.__)('Small'),
|
|
32
34
|
value: 'has-small-icon-size'
|
|
33
35
|
}, {
|
|
34
|
-
|
|
36
|
+
label: (0, _i18n.__)('Normal'),
|
|
35
37
|
value: 'has-normal-icon-size'
|
|
36
38
|
}, {
|
|
37
|
-
|
|
39
|
+
label: (0, _i18n.__)('Large'),
|
|
38
40
|
value: 'has-large-icon-size'
|
|
39
41
|
}, {
|
|
40
|
-
|
|
42
|
+
label: (0, _i18n.__)('Huge'),
|
|
41
43
|
value: 'has-huge-icon-size'
|
|
42
44
|
}];
|
|
43
45
|
function SocialLinksEdit(props) {
|
|
@@ -115,9 +117,6 @@ function SocialLinksEdit(props) {
|
|
|
115
117
|
__experimentalAppenderTagName: 'li',
|
|
116
118
|
renderAppender: !hasSocialIcons || hasAnySelected ? _blockEditor.InnerBlocks.ButtonBlockAppender : undefined
|
|
117
119
|
});
|
|
118
|
-
const POPOVER_PROPS = {
|
|
119
|
-
position: 'bottom right'
|
|
120
|
-
};
|
|
121
120
|
const colorSettings = [{
|
|
122
121
|
// Use custom attribute as fallback to prevent loss of named color selection when
|
|
123
122
|
// switching themes to a new theme that does not have a matching named color.
|
|
@@ -158,56 +157,35 @@ function SocialLinksEdit(props) {
|
|
|
158
157
|
}
|
|
159
158
|
const colorGradientSettings = (0, _blockEditor.__experimentalUseMultipleOriginColorsAndGradients)();
|
|
160
159
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
161
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.
|
|
162
|
-
group: "other",
|
|
163
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarDropdownMenu, {
|
|
164
|
-
label: (0, _i18n.__)('Size'),
|
|
165
|
-
text: (0, _i18n.__)('Size'),
|
|
166
|
-
icon: null,
|
|
167
|
-
popoverProps: POPOVER_PROPS,
|
|
168
|
-
children: ({
|
|
169
|
-
onClose
|
|
170
|
-
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuGroup, {
|
|
171
|
-
children: sizeOptions.map(entry => {
|
|
172
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
|
|
173
|
-
icon: (size === entry.value || !size && entry.value === 'has-normal-icon-size') && _icons.check,
|
|
174
|
-
isSelected: size === entry.value,
|
|
175
|
-
onClick: () => {
|
|
176
|
-
setAttributes({
|
|
177
|
-
size: entry.value
|
|
178
|
-
});
|
|
179
|
-
},
|
|
180
|
-
onClose: onClose,
|
|
181
|
-
role: "menuitemradio",
|
|
182
|
-
children: entry.name
|
|
183
|
-
}, entry.value);
|
|
184
|
-
})
|
|
185
|
-
})
|
|
186
|
-
})
|
|
187
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
|
|
160
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
|
|
188
161
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
|
|
189
162
|
label: (0, _i18n.__)('Settings'),
|
|
190
163
|
resetAll: () => {
|
|
191
164
|
setAttributes({
|
|
192
165
|
openInNewTab: false,
|
|
193
|
-
showLabels: false
|
|
166
|
+
showLabels: false,
|
|
167
|
+
size: undefined
|
|
194
168
|
});
|
|
195
169
|
},
|
|
196
170
|
dropdownMenuProps: dropdownMenuProps,
|
|
197
171
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
|
|
198
172
|
isShownByDefault: true,
|
|
199
|
-
|
|
200
|
-
|
|
173
|
+
hasValue: () => !!size,
|
|
174
|
+
label: (0, _i18n.__)('Icon size'),
|
|
201
175
|
onDeselect: () => setAttributes({
|
|
202
|
-
|
|
176
|
+
size: undefined
|
|
203
177
|
}),
|
|
204
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.
|
|
178
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
|
|
179
|
+
__next40pxDefaultSize: true,
|
|
205
180
|
__nextHasNoMarginBottom: true,
|
|
206
|
-
label: (0, _i18n.__)('
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
181
|
+
label: (0, _i18n.__)('Icon Size'),
|
|
182
|
+
onChange: newSize => {
|
|
183
|
+
setAttributes({
|
|
184
|
+
size: newSize === '' ? undefined : newSize
|
|
185
|
+
});
|
|
186
|
+
},
|
|
187
|
+
value: size !== null && size !== void 0 ? size : '',
|
|
188
|
+
options: sizeOptions
|
|
211
189
|
})
|
|
212
190
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
|
|
213
191
|
isShownByDefault: true,
|
|
@@ -224,6 +202,21 @@ function SocialLinksEdit(props) {
|
|
|
224
202
|
showLabels: !showLabels
|
|
225
203
|
})
|
|
226
204
|
})
|
|
205
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
|
|
206
|
+
isShownByDefault: true,
|
|
207
|
+
label: (0, _i18n.__)('Open links in new tab'),
|
|
208
|
+
hasValue: () => !!openInNewTab,
|
|
209
|
+
onDeselect: () => setAttributes({
|
|
210
|
+
openInNewTab: false
|
|
211
|
+
}),
|
|
212
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
|
|
213
|
+
__nextHasNoMarginBottom: true,
|
|
214
|
+
label: (0, _i18n.__)('Open links in new tab'),
|
|
215
|
+
checked: openInNewTab,
|
|
216
|
+
onChange: () => setAttributes({
|
|
217
|
+
openInNewTab: !openInNewTab
|
|
218
|
+
})
|
|
219
|
+
})
|
|
227
220
|
})]
|
|
228
221
|
})
|
|
229
222
|
}), colorGradientSettings.hasColorsOrGradients && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blockEditor.InspectorControls, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_blockEditor","_components","_i18n","_icons","_data","_hooks","_jsxRuntime","sizeOptions","name","__","value","SocialLinksEdit","props","_attributes$layout$or","clientId","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","iconColorValue","openInNewTab","showLabels","size","hasSocialIcons","hasSelectedChild","useSelect","select","getBlockCount","hasSelectedInnerBlock","blockEditorStore","hasAnySelected","logosOnly","className","includes","dropdownMenuProps","useToolsPanelDropdownMenuProps","useEffect","restore","prev","customIconBackgroundColor","undefined","clsx","color","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","templateLock","orientation","layout","__experimentalAppenderTagName","renderAppender","InnerBlocks","ButtonBlockAppender","POPOVER_PROPS","position","colorSettings","onChange","colorValue","label","resetAllFilter","push","colorGradientSettings","useMultipleOriginColorsAndGradients","jsxs","Fragment","children","jsx","BlockControls","group","ToolbarDropdownMenu","text","icon","popoverProps","onClose","MenuGroup","map","entry","MenuItem","check","onClick","role","InspectorControls","__experimentalToolsPanel","resetAll","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","ToggleControl","__nextHasNoMarginBottom","checked","hasColorsOrGradients","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","onColorChange","enableAlpha","clearable","panelId","ContrastChecker","textColor","backgroundColor","isLargeText","iconColorAttributes","_default","exports","default","withColors"],"sources":["@wordpress/block-library/src/social-links/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\twithColors,\n\tInnerBlocks,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst sizeOptions = [\n\t{ name: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ name: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ name: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ name: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t} = attributes;\n\n\tconst { hasSocialIcons, hasSelectedChild } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\thasSocialIcons: getBlockCount( clientId ) > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst hasAnySelected = isSelected || hasSelectedChild;\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tlet restore;\n\t\t\tsetAttributes( ( prev ) => {\n\t\t\t\trestore = {\n\t\t\t\t\ticonBackgroundColor: prev.iconBackgroundColor,\n\t\t\t\t\ticonBackgroundColorValue: prev.iconBackgroundColorValue,\n\t\t\t\t\tcustomIconBackgroundColor: prev.customIconBackgroundColor,\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\t};\n\t\t\t} );\n\n\t\t\treturn () => setAttributes( { ...restore } );\n\t\t}\n\t}, [ logosOnly, setAttributes ] );\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = clsx( size, {\n\t\t'has-visible-labels': showLabels,\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: false,\n\t\torientation: attributes.layout?.orientation ?? 'horizontal',\n\t\t__experimentalAppenderTagName: 'li',\n\t\trenderAppender:\n\t\t\t! hasSocialIcons || hasAnySelected\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: undefined,\n\t} );\n\n\tconst POPOVER_PROPS = {\n\t\tposition: 'bottom right',\n\t};\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconColor( undefined );\n\t\t\t\tsetAttributes( { iconColorValue: undefined } );\n\t\t\t},\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconBackgroundColor( undefined );\n\t\t\t\tsetAttributes( { iconBackgroundColorValue: undefined } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\ttext={ __( 'Size' ) }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ sizeOptions.map( ( entry ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t( size === entry.value ||\n\t\t\t\t\t\t\t\t\t\t\t\t( ! size &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry.value ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'has-normal-icon-size' ) ) &&\n\t\t\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisSelected={ size === entry.value }\n\t\t\t\t\t\t\t\t\t\tkey={ entry.value }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tsize: entry.value,\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\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ entry.name }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\topenInNewTab: false,\n\t\t\t\t\t\t\tshowLabels: false,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\thasValue={ () => !! openInNewTab }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\topenInNewTab: ! openInNewTab,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\thasValue={ () => !! showLabels }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t{ colorSettings.map(\n\t\t\t\t\t\t( { onChange, label, value, resetAllFilter } ) => (\n\t\t\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t\t\tkey={ `social-links-color-${ label }` }\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcolorValue: value,\n\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\tonColorChange: onChange,\n\t\t\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\t\t\tresetAllFilter,\n\t\t\t\t\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t\t\t\t\t\tclearable: true,\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\tpanelId={ clientId }\n\t\t\t\t\t\t\t\t{ ...colorGradientSettings }\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\t{ ! logosOnly && (\n\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_blockEditor","_components","_i18n","_data","_hooks","_jsxRuntime","sizeOptions","label","__","value","SocialLinksEdit","props","_attributes$layout$or","clientId","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","iconColorValue","openInNewTab","showLabels","size","hasSocialIcons","hasSelectedChild","useSelect","select","getBlockCount","hasSelectedInnerBlock","blockEditorStore","hasAnySelected","logosOnly","className","includes","dropdownMenuProps","useToolsPanelDropdownMenuProps","useEffect","restore","prev","customIconBackgroundColor","undefined","clsx","color","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","templateLock","orientation","layout","__experimentalAppenderTagName","renderAppender","InnerBlocks","ButtonBlockAppender","colorSettings","onChange","colorValue","resetAllFilter","push","colorGradientSettings","useMultipleOriginColorsAndGradients","jsxs","Fragment","children","jsx","InspectorControls","__experimentalToolsPanel","resetAll","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","SelectControl","__next40pxDefaultSize","__nextHasNoMarginBottom","newSize","options","ToggleControl","checked","hasColorsOrGradients","group","map","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","onColorChange","enableAlpha","clearable","panelId","ContrastChecker","textColor","backgroundColor","isLargeText","iconColorAttributes","_default","exports","default","withColors"],"sources":["@wordpress/block-library/src/social-links/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport {\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\twithColors,\n\tInnerBlocks,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tSelectControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst sizeOptions = [\n\t{ label: __( 'Default' ), value: '' },\n\t{ label: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ label: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ label: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ label: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t} = attributes;\n\n\tconst { hasSocialIcons, hasSelectedChild } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\thasSocialIcons: getBlockCount( clientId ) > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst hasAnySelected = isSelected || hasSelectedChild;\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tlet restore;\n\t\t\tsetAttributes( ( prev ) => {\n\t\t\t\trestore = {\n\t\t\t\t\ticonBackgroundColor: prev.iconBackgroundColor,\n\t\t\t\t\ticonBackgroundColorValue: prev.iconBackgroundColorValue,\n\t\t\t\t\tcustomIconBackgroundColor: prev.customIconBackgroundColor,\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\t};\n\t\t\t} );\n\n\t\t\treturn () => setAttributes( { ...restore } );\n\t\t}\n\t}, [ logosOnly, setAttributes ] );\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = clsx( size, {\n\t\t'has-visible-labels': showLabels,\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: false,\n\t\torientation: attributes.layout?.orientation ?? 'horizontal',\n\t\t__experimentalAppenderTagName: 'li',\n\t\trenderAppender:\n\t\t\t! hasSocialIcons || hasAnySelected\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: undefined,\n\t} );\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconColor( undefined );\n\t\t\t\tsetAttributes( { iconColorValue: undefined } );\n\t\t\t},\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconBackgroundColor( undefined );\n\t\t\t\tsetAttributes( { iconBackgroundColorValue: undefined } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\topenInNewTab: false,\n\t\t\t\t\t\t\tshowLabels: false,\n\t\t\t\t\t\t\tsize: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! size }\n\t\t\t\t\t\tlabel={ __( 'Icon size' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { size: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Icon Size' ) }\n\t\t\t\t\t\t\tonChange={ ( newSize ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tsize: newSize === '' ? undefined : newSize,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ size ?? '' }\n\t\t\t\t\t\t\toptions={ sizeOptions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\thasValue={ () => !! showLabels }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\thasValue={ () => !! openInNewTab }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\topenInNewTab: ! openInNewTab,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t{ colorSettings.map(\n\t\t\t\t\t\t( { onChange, label, value, resetAllFilter } ) => (\n\t\t\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t\t\tkey={ `social-links-color-${ label }` }\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcolorValue: value,\n\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\tonColorChange: onChange,\n\t\t\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\t\t\tresetAllFilter,\n\t\t\t\t\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t\t\t\t\t\tclearable: true,\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\tpanelId={ clientId }\n\t\t\t\t\t\t\t\t{ ...colorGradientSettings }\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\t{ ! logosOnly && (\n\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,15 +7,24 @@ exports.default = TracksEditor;
|
|
|
7
7
|
var _i18n = require("@wordpress/i18n");
|
|
8
8
|
var _components = require("@wordpress/components");
|
|
9
9
|
var _blockEditor = require("@wordpress/block-editor");
|
|
10
|
+
var _notices = require("@wordpress/notices");
|
|
10
11
|
var _icons = require("@wordpress/icons");
|
|
11
12
|
var _data = require("@wordpress/data");
|
|
12
13
|
var _element = require("@wordpress/element");
|
|
13
14
|
var _url = require("@wordpress/url");
|
|
15
|
+
var _lockUnlock = require("../lock-unlock");
|
|
14
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
17
|
/**
|
|
16
18
|
* WordPress dependencies
|
|
17
19
|
*/
|
|
18
20
|
|
|
21
|
+
/**
|
|
22
|
+
* Internal dependencies
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
const {
|
|
26
|
+
Badge
|
|
27
|
+
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
19
28
|
const ALLOWED_TYPES = ['text/vtt'];
|
|
20
29
|
const DEFAULT_KIND = 'subtitles';
|
|
21
30
|
const KIND_OPTIONS = [{
|
|
@@ -43,15 +52,20 @@ function TrackList({
|
|
|
43
52
|
className: "block-library-video-tracks-editor__track-list-track",
|
|
44
53
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
45
54
|
children: track.label
|
|
46
|
-
}), /*#__PURE__*/(0, _jsxRuntime.
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
55
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
56
|
+
justify: "flex-end",
|
|
57
|
+
children: [track.default && /*#__PURE__*/(0, _jsxRuntime.jsx)(Badge, {
|
|
58
|
+
children: (0, _i18n.__)('Default')
|
|
59
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
60
|
+
__next40pxDefaultSize: true,
|
|
61
|
+
variant: "tertiary",
|
|
62
|
+
onClick: () => onEditPress(index),
|
|
63
|
+
"aria-label": (0, _i18n.sprintf)(/* translators: %s: Label of the video text track e.g: "French subtitles". */
|
|
64
|
+
(0, _i18n._x)('Edit %s', 'text tracks'), track.label),
|
|
65
|
+
children: (0, _i18n.__)('Edit')
|
|
66
|
+
})]
|
|
53
67
|
})]
|
|
54
|
-
},
|
|
68
|
+
}, track.src);
|
|
55
69
|
});
|
|
56
70
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuGroup, {
|
|
57
71
|
label: (0, _i18n.__)('Text tracks'),
|
|
@@ -63,13 +77,15 @@ function SingleTrackEditor({
|
|
|
63
77
|
track,
|
|
64
78
|
onChange,
|
|
65
79
|
onClose,
|
|
66
|
-
onRemove
|
|
80
|
+
onRemove,
|
|
81
|
+
allowSettingDefault
|
|
67
82
|
}) {
|
|
68
83
|
const {
|
|
69
84
|
src = '',
|
|
70
85
|
label = '',
|
|
71
86
|
srcLang = '',
|
|
72
|
-
kind = DEFAULT_KIND
|
|
87
|
+
kind = DEFAULT_KIND,
|
|
88
|
+
default: isDefaultTrack = false
|
|
73
89
|
} = track;
|
|
74
90
|
const fileName = src.startsWith('blob:') ? '' : (0, _url.getFilename)(src) || '';
|
|
75
91
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
@@ -107,7 +123,7 @@ function SingleTrackEditor({
|
|
|
107
123
|
help: (0, _i18n.__)('Language tag (en, fr, etc.)')
|
|
108
124
|
})]
|
|
109
125
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
110
|
-
spacing: "
|
|
126
|
+
spacing: "4",
|
|
111
127
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
|
|
112
128
|
__next40pxDefaultSize: true,
|
|
113
129
|
__nextHasNoMarginBottom: true,
|
|
@@ -121,6 +137,18 @@ function SingleTrackEditor({
|
|
|
121
137
|
kind: newKind
|
|
122
138
|
});
|
|
123
139
|
}
|
|
140
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
|
|
141
|
+
__next40pxDefaultSize: true,
|
|
142
|
+
__nextHasNoMarginBottom: true,
|
|
143
|
+
label: (0, _i18n.__)('Set as default track'),
|
|
144
|
+
checked: isDefaultTrack,
|
|
145
|
+
disabled: !allowSettingDefault,
|
|
146
|
+
onChange: defaultTrack => {
|
|
147
|
+
onChange({
|
|
148
|
+
...track,
|
|
149
|
+
default: defaultTrack
|
|
150
|
+
});
|
|
151
|
+
}
|
|
124
152
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
125
153
|
className: "block-library-video-tracks-editor__single-track-editor-buttons-container",
|
|
126
154
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
@@ -165,11 +193,32 @@ function TracksEditor({
|
|
|
165
193
|
tracks = [],
|
|
166
194
|
onChange
|
|
167
195
|
}) {
|
|
196
|
+
const {
|
|
197
|
+
createNotice
|
|
198
|
+
} = (0, _data.useDispatch)(_notices.store);
|
|
168
199
|
const mediaUpload = (0, _data.useSelect)(select => {
|
|
169
200
|
return select(_blockEditor.store).getSettings().mediaUpload;
|
|
170
201
|
}, []);
|
|
171
202
|
const [trackBeingEdited, setTrackBeingEdited] = (0, _element.useState)(null);
|
|
172
203
|
const dropdownPopoverRef = (0, _element.useRef)();
|
|
204
|
+
const handleTrackSelect = ({
|
|
205
|
+
title,
|
|
206
|
+
url
|
|
207
|
+
}) => {
|
|
208
|
+
if (tracks.some(track => track.src === url)) {
|
|
209
|
+
createNotice('error', (0, _i18n.__)('This track already exists.'), {
|
|
210
|
+
isDismissible: true,
|
|
211
|
+
type: 'snackbar'
|
|
212
|
+
});
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const trackIndex = tracks.length;
|
|
216
|
+
onChange([...tracks, {
|
|
217
|
+
label: title || '',
|
|
218
|
+
src: url
|
|
219
|
+
}]);
|
|
220
|
+
setTrackBeingEdited(trackIndex);
|
|
221
|
+
};
|
|
173
222
|
(0, _element.useEffect)(() => {
|
|
174
223
|
dropdownPopoverRef.current?.focus();
|
|
175
224
|
}, [trackBeingEdited]);
|
|
@@ -216,7 +265,8 @@ function TracksEditor({
|
|
|
216
265
|
onRemove: () => {
|
|
217
266
|
onChange(tracks.filter((_track, index) => index !== trackBeingEdited));
|
|
218
267
|
setTrackBeingEdited(null);
|
|
219
|
-
}
|
|
268
|
+
},
|
|
269
|
+
allowSettingDefault: !tracks.some(track => track.default) || tracks[trackBeingEdited].default
|
|
220
270
|
});
|
|
221
271
|
}
|
|
222
272
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
@@ -237,15 +287,7 @@ function TracksEditor({
|
|
|
237
287
|
className: "block-library-video-tracks-editor__add-tracks-container",
|
|
238
288
|
label: (0, _i18n.__)('Add tracks'),
|
|
239
289
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.MediaUpload, {
|
|
240
|
-
onSelect:
|
|
241
|
-
url
|
|
242
|
-
}) => {
|
|
243
|
-
const trackIndex = tracks.length;
|
|
244
|
-
onChange([...tracks, {
|
|
245
|
-
src: url
|
|
246
|
-
}]);
|
|
247
|
-
setTrackBeingEdited(trackIndex);
|
|
248
|
-
},
|
|
290
|
+
onSelect: handleTrackSelect,
|
|
249
291
|
allowedTypes: ALLOWED_TYPES,
|
|
250
292
|
render: ({
|
|
251
293
|
open
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_blockEditor","_icons","_data","_element","_url","_jsxRuntime","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","__","value","TrackList","tracks","onEditPress","content","map","track","index","jsxs","__experimentalHStack","className","children","jsx","Button","__next40pxDefaultSize","variant","onClick","sprintf","_x","MenuGroup","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","getFilename","__experimentalVStack","spacing","__experimentalGrid","columns","gap","TextControl","__nextHasNoMarginBottom","newLabel","help","newSrcLang","SelectControl","options","newKind","isDestructive","changes","hasChanges","undefined","TracksEditor","mediaUpload","useSelect","select","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","useState","dropdownPopoverRef","useRef","useEffect","current","focus","Dropdown","contentClassName","focusOnMount","popoverProps","ref","renderToggle","isOpen","onToggle","handleOnToggle","ToolbarGroup","ToolbarButton","renderContent","newTrack","newTracks","filter","_track","Fragment","length","NavigableMenu","MediaUpload","onSelect","url","trackIndex","allowedTypes","render","open","MenuItem","icon","media","MediaUploadCheck","FormFileUpload","event","files","target","filesList","onFileChange","accept","openFileDialog","upload"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\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\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={ index }\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<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\taria-label={ sprintf(\n\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_x( 'Edit %s', 'text tracks' ),\n\t\t\t\t\t\ttrack.label\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</Button>\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( { track, onChange, onClose, onRemove } ) {\n\tconst { src = '', label = '', srcLang = '', kind = DEFAULT_KIND } = 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=\"8\">\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<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 mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\tconst dropdownPopoverRef = useRef();\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/>\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={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\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":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAeA,IAAAE,YAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,IAAA,GAAAN,OAAA;AAA6C,IAAAO,WAAA,GAAAP,OAAA;AA3B7C;AACA;AACA;;AA2BA,MAAMQ,aAAa,GAAG,CAAE,UAAU,CAAE;AAEpC,MAAMC,YAAY,GAAG,WAAW;AAEhC,MAAMC,YAAY,GAAG,CACpB;EAAEC,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAY,CAAC;EAAEC,KAAK,EAAE;AAAY,CAAC,EAChD;EAAEF,KAAK,EAAE,IAAAC,QAAE,EAAE,UAAW,CAAC;EAAEC,KAAK,EAAE;AAAW,CAAC,EAC9C;EAAEF,KAAK,EAAE,IAAAC,QAAE,EAAE,cAAe,CAAC;EAAEC,KAAK,EAAE;AAAe,CAAC,EACtD;EAAEF,KAAK,EAAE,IAAAC,QAAE,EAAE,UAAW,CAAC;EAAEC,KAAK,EAAE;AAAW,CAAC,EAC9C;EAAEF,KAAK,EAAE,IAAAC,QAAE,EAAE,UAAW,CAAC;EAAEC,KAAK,EAAE;AAAW,CAAC,CAC9C;AAED,SAASC,SAASA,CAAE;EAAEC,MAAM;EAAEC;AAAY,CAAC,EAAG;EAC7C,MAAMC,OAAO,GAAGF,MAAM,CAACG,GAAG,CAAE,CAAEC,KAAK,EAAEC,KAAK,KAAM;IAC/C,oBACC,IAAAb,WAAA,CAAAc,IAAA,EAACpB,WAAA,CAAAqB,oBAAM;MAENC,SAAS,EAAC,qDAAqD;MAAAC,QAAA,gBAE/D,IAAAjB,WAAA,CAAAkB,GAAA;QAAAD,QAAA,EAAQL,KAAK,CAACR;MAAK,CAAQ,CAAC,eAC5B,IAAAJ,WAAA,CAAAkB,GAAA,EAACxB,WAAA,CAAAyB,MAAM;QACNC,qBAAqB;QACrBC,OAAO,EAAC,UAAU;QAClBC,OAAO,EAAGA,CAAA,KAAMb,WAAW,CAAEI,KAAM,CAAG;QACtC,cAAa,IAAAU,aAAO,EACnB;QACA,IAAAC,QAAE,EAAE,SAAS,EAAE,aAAc,CAAC,EAC9BZ,KAAK,CAACR,KACP,CAAG;QAAAa,QAAA,EAED,IAAAZ,QAAE,EAAE,MAAO;MAAC,CACP,CAAC;IAAA,GAfHQ,KAgBC,CAAC;EAEX,CAAE,CAAC;EAEH,oBACC,IAAAb,WAAA,CAAAkB,GAAA,EAACxB,WAAA,CAAA+B,SAAS;IACTrB,KAAK,EAAG,IAAAC,QAAE,EAAE,aAAc,CAAG;IAC7BW,SAAS,EAAC,+CAA+C;IAAAC,QAAA,EAEvDP;EAAO,CACC,CAAC;AAEd;AAEA,SAASgB,iBAAiBA,CAAE;EAAEd,KAAK;EAAEe,QAAQ;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACpE,MAAM;IAAEC,GAAG,GAAG,EAAE;IAAE1B,KAAK,GAAG,EAAE;IAAE2B,OAAO,GAAG,EAAE;IAAEC,IAAI,GAAG9B;EAAa,CAAC,GAAGU,KAAK;EACzE,MAAMqB,QAAQ,GAAGH,GAAG,CAACI,UAAU,CAAE,OAAQ,CAAC,GAAG,EAAE,GAAG,IAAAC,gBAAW,EAAEL,GAAI,CAAC,IAAI,EAAE;EAC1E,oBACC,IAAA9B,WAAA,CAAAc,IAAA,EAACpB,WAAA,CAAA0C,oBAAM;IACNpB,SAAS,EAAC,wDAAwD;IAClEqB,OAAO,EAAC,GAAG;IAAApB,QAAA,gBAEX,IAAAjB,WAAA,CAAAkB,GAAA;MAAMF,SAAS,EAAC,yEAAyE;MAAAC,QAAA,EACtF,IAAAZ,QAAE,EAAE,YAAa;IAAC,CACf,CAAC,eACP,IAAAL,WAAA,CAAAc,IAAA;MAAAG,QAAA,GACG,IAAAZ,QAAE,EAAE,MAAO,CAAC,EAAE,IAAE,mBAAAL,WAAA,CAAAkB,GAAA;QAAAD,QAAA,EAAKgB;MAAQ,CAAK,CAAC;IAAA,CAChC,CAAC,eACP,IAAAjC,WAAA,CAAAc,IAAA,EAACpB,WAAA,CAAA4C,kBAAI;MAACC,OAAO,EAAG,CAAG;MAACC,GAAG,EAAG,CAAG;MAAAvB,QAAA,gBAC5B,IAAAjB,WAAA,CAAAkB,GAAA,EAACxB,WAAA,CAAA+C,WAAW;QACXrB,qBAAqB;QACrBsB,uBAAuB;QACvBf,QAAQ,EAAKgB,QAAQ,IACpBhB,QAAQ,CAAE;UACT,GAAGf,KAAK;UACRR,KAAK,EAAEuC;QACR,CAAE,CACF;QACDvC,KAAK,EAAG,IAAAC,QAAE,EAAE,OAAQ,CAAG;QACvBC,KAAK,EAAGF,KAAO;QACfwC,IAAI,EAAG,IAAAvC,QAAE,EAAE,gBAAiB;MAAG,CAC/B,CAAC,eACF,IAAAL,WAAA,CAAAkB,GAAA,EAACxB,WAAA,CAAA+C,WAAW;QACXrB,qBAAqB;QACrBsB,uBAAuB;QACvBf,QAAQ,EAAKkB,UAAU,IACtBlB,QAAQ,CAAE;UACT,GAAGf,KAAK;UACRmB,OAAO,EAAEc;QACV,CAAE,CACF;QACDzC,KAAK,EAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAG;QACjCC,KAAK,EAAGyB,OAAS;QACjBa,IAAI,EAAG,IAAAvC,QAAE,EAAE,6BAA8B;MAAG,CAC5C,CAAC;IAAA,CACG,CAAC,eACP,IAAAL,WAAA,CAAAc,IAAA,EAACpB,WAAA,CAAA0C,oBAAM;MAACC,OAAO,EAAC,GAAG;MAAApB,QAAA,gBAClB,IAAAjB,WAAA,CAAAkB,GAAA,EAACxB,WAAA,CAAAoD,aAAa;QACb1B,qBAAqB;QACrBsB,uBAAuB;QACvB1B,SAAS,EAAC,oEAAoE;QAC9E+B,OAAO,EAAG5C,YAAc;QACxBG,KAAK,EAAG0B,IAAM;QACd5B,KAAK,EAAG,IAAAC,QAAE,EAAE,MAAO,CAAG;QACtBsB,QAAQ,EAAKqB,OAAO,IAAM;UACzBrB,QAAQ,CAAE;YACT,GAAGf,KAAK;YACRoB,IAAI,EAAEgB;UACP,CAAE,CAAC;QACJ;MAAG,CACH,CAAC,eACF,IAAAhD,WAAA,CAAAc,IAAA,EAACpB,WAAA,CAAAqB,oBAAM;QAACC,SAAS,EAAC,0EAA0E;QAAAC,QAAA,gBAC3F,IAAAjB,WAAA,CAAAkB,GAAA,EAACxB,WAAA,CAAAyB,MAAM;UACNC,qBAAqB;UACrB6B,aAAa;UACb5B,OAAO,EAAC,MAAM;UACdC,OAAO,EAAGO,QAAU;UAAAZ,QAAA,EAElB,IAAAZ,QAAE,EAAE,cAAe;QAAC,CACf,CAAC,eACT,IAAAL,WAAA,CAAAkB,GAAA,EAACxB,WAAA,CAAAyB,MAAM;UACNC,qBAAqB;UACrBC,OAAO,EAAC,SAAS;UACjBC,OAAO,EAAGA,CAAA,KAAM;YACf,MAAM4B,OAAO,GAAG,CAAC,CAAC;YAClB,IAAIC,UAAU,GAAG,KAAK;YACtB,IAAK/C,KAAK,KAAK,EAAE,EAAG;cACnB8C,OAAO,CAAC9C,KAAK,GAAG,IAAAC,QAAE,EAAE,SAAU,CAAC;cAC/B8C,UAAU,GAAG,IAAI;YAClB;YACA,IAAKpB,OAAO,KAAK,EAAE,EAAG;cACrBmB,OAAO,CAACnB,OAAO,GAAG,IAAI;cACtBoB,UAAU,GAAG,IAAI;YAClB;YACA,IAAKvC,KAAK,CAACoB,IAAI,KAAKoB,SAAS,EAAG;cAC/BF,OAAO,CAAClB,IAAI,GAAG9B,YAAY;cAC3BiD,UAAU,GAAG,IAAI;YAClB;YACA,IAAKA,UAAU,EAAG;cACjBxB,QAAQ,CAAE;gBACT,GAAGf,KAAK;gBACR,GAAGsC;cACJ,CAAE,CAAC;YACJ;YACAtB,OAAO,CAAC,CAAC;UACV,CAAG;UAAAX,QAAA,EAED,IAAAZ,QAAE,EAAE,OAAQ;QAAC,CACR,CAAC;MAAA,CACF,CAAC;IAAA,CACF,CAAC;EAAA,CACF,CAAC;AAEX;AAEe,SAASgD,YAAYA,CAAE;EAAE7C,MAAM,GAAG,EAAE;EAAEmB;AAAS,CAAC,EAAG;EACjE,MAAM2B,WAAW,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC5C,OAAOA,MAAM,CAAEC,kBAAiB,CAAC,CAACC,WAAW,CAAC,CAAC,CAACJ,WAAW;EAC5D,CAAC,EAAE,EAAG,CAAC;EACP,MAAM,CAAEK,gBAAgB,EAAEC,mBAAmB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,IAAK,CAAC;EAClE,MAAMC,kBAAkB,GAAG,IAAAC,eAAM,EAAC,CAAC;EAEnC,IAAAC,kBAAS,EAAE,MAAM;IAChBF,kBAAkB,CAACG,OAAO,EAAEC,KAAK,CAAC,CAAC;EACpC,CAAC,EAAE,CAAEP,gBAAgB,CAAG,CAAC;EAEzB,IAAK,CAAEL,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EACA,oBACC,IAAAtD,WAAA,CAAAkB,GAAA,EAACxB,WAAA,CAAAyE,QAAQ;IACRC,gBAAgB,EAAC,mCAAmC;IACpDC,YAAY;IACZC,YAAY,EAAG;MACdC,GAAG,EAAET;IACN,CAAG;IACHU,YAAY,EAAGA,CAAE;MAAEC,MAAM;MAAEC;IAAS,CAAC,KAAM;MAC1C,MAAMC,cAAc,GAAGA,CAAA,KAAM;QAC5B,IAAK,CAAEF,MAAM,EAAG;UACf;UACA;UACAb,mBAAmB,CAAE,IAAK,CAAC;QAC5B;QACAc,QAAQ,CAAC,CAAC;MACX,CAAC;MAED,oBACC,IAAA1E,WAAA,CAAAkB,GAAA,EAACxB,WAAA,CAAAkF,YAAY;QAAA3D,QAAA,eACZ,IAAAjB,WAAA,CAAAkB,GAAA,EAACxB,WAAA,CAAAmF,aAAa;UACb,iBAAgBJ,MAAQ;UACxB,iBAAc,MAAM;UACpBnD,OAAO,EAAGqD,cAAgB;UAAA1D,QAAA,EAExB,IAAAZ,QAAE,EAAE,aAAc;QAAC,CACP;MAAC,CACH,CAAC;IAEjB,CAAG;IACHyE,aAAa,EAAGA,CAAA,KAAM;MACrB,IAAKnB,gBAAgB,KAAK,IAAI,EAAG;QAChC,oBACC,IAAA3D,WAAA,CAAAkB,GAAA,EAACQ,iBAAiB;UACjBd,KAAK,EAAGJ,MAAM,CAAEmD,gBAAgB,CAAI;UACpChC,QAAQ,EAAKoD,QAAQ,IAAM;YAC1B,MAAMC,SAAS,GAAG,CAAE,GAAGxE,MAAM,CAAE;YAC/BwE,SAAS,CAAErB,gBAAgB,CAAE,GAAGoB,QAAQ;YACxCpD,QAAQ,CAAEqD,SAAU,CAAC;UACtB,CAAG;UACHpD,OAAO,EAAGA,CAAA,KAAMgC,mBAAmB,CAAE,IAAK,CAAG;UAC7C/B,QAAQ,EAAGA,CAAA,KAAM;YAChBF,QAAQ,CACPnB,MAAM,CAACyE,MAAM,CACZ,CAAEC,MAAM,EAAErE,KAAK,KACdA,KAAK,KAAK8C,gBACZ,CACD,CAAC;YACDC,mBAAmB,CAAE,IAAK,CAAC;UAC5B;QAAG,CACH,CAAC;MAEJ;MAEA,oBACC,IAAA5D,WAAA,CAAAc,IAAA,EAAAd,WAAA,CAAAmF,QAAA;QAAAlE,QAAA,GACGT,MAAM,CAAC4E,MAAM,KAAK,CAAC,iBACpB,IAAApF,WAAA,CAAAc,IAAA;UAAKE,SAAS,EAAC,+DAA+D;UAAAC,QAAA,gBAC7E,IAAAjB,WAAA,CAAAkB,GAAA;YAAIF,SAAS,EAAC,qEAAqE;YAAAC,QAAA,EAChF,IAAAZ,QAAE,EAAE,aAAc;UAAC,CAClB,CAAC,eACL,IAAAL,WAAA,CAAAkB,GAAA;YAAGF,SAAS,EAAC,2EAA2E;YAAAC,QAAA,EACrF,IAAAZ,QAAE,EACH,sIACD;UAAC,CACC,CAAC;QAAA,CACA,CACL,eACD,IAAAL,WAAA,CAAAc,IAAA,EAACpB,WAAA,CAAA2F,aAAa;UAAApE,QAAA,gBACb,IAAAjB,WAAA,CAAAkB,GAAA,EAACX,SAAS;YACTC,MAAM,EAAGA,MAAQ;YACjBC,WAAW,EAAGmD;UAAqB,CACnC,CAAC,eACF,IAAA5D,WAAA,CAAAc,IAAA,EAACpB,WAAA,CAAA+B,SAAS;YACTT,SAAS,EAAC,yDAAyD;YACnEZ,KAAK,EAAG,IAAAC,QAAE,EAAE,YAAa,CAAG;YAAAY,QAAA,gBAE5B,IAAAjB,WAAA,CAAAkB,GAAA,EAACvB,YAAA,CAAA2F,WAAW;cACXC,QAAQ,EAAGA,CAAE;gBAAEC;cAAI,CAAC,KAAM;gBACzB,MAAMC,UAAU,GAAGjF,MAAM,CAAC4E,MAAM;gBAChCzD,QAAQ,CAAE,CAAE,GAAGnB,MAAM,EAAE;kBAAEsB,GAAG,EAAE0D;gBAAI,CAAC,CAAG,CAAC;gBACvC5B,mBAAmB,CAAE6B,UAAW,CAAC;cAClC,CAAG;cACHC,YAAY,EAAGzF,aAAe;cAC9B0F,MAAM,EAAGA,CAAE;gBAAEC;cAAK,CAAC,kBAClB,IAAA5F,WAAA,CAAAkB,GAAA,EAACxB,WAAA,CAAAmG,QAAQ;gBACRC,IAAI,EAAGC,YAAO;gBACdzE,OAAO,EAAGsE,IAAM;gBAAA3E,QAAA,EAEd,IAAAZ,QAAE,EAAE,oBAAqB;cAAC,CACnB;YACR,CACH,CAAC,eACF,IAAAL,WAAA,CAAAkB,GAAA,EAACvB,YAAA,CAAAqG,gBAAgB;cAAA/E,QAAA,eAChB,IAAAjB,WAAA,CAAAkB,GAAA,EAACxB,WAAA,CAAAuG,cAAc;gBACdtE,QAAQ,EAAKuE,KAAK,IAAM;kBACvB,MAAMC,KAAK,GAAGD,KAAK,CAACE,MAAM,CAACD,KAAK;kBAChC,MAAMV,UAAU,GAAGjF,MAAM,CAAC4E,MAAM;kBAChC9B,WAAW,CAAE;oBACZoC,YAAY,EAAEzF,aAAa;oBAC3BoG,SAAS,EAAEF,KAAK;oBAChBG,YAAY,EAAEA,CAAE,CACf;sBAAEd;oBAAI,CAAC,CACP,KAAM;sBACN,MAAMR,SAAS,GAAG,CACjB,GAAGxE,MAAM,CACT;sBACD,IACC,CAAEwE,SAAS,CACVS,UAAU,CACV,EACA;wBACDT,SAAS,CACRS,UAAU,CACV,GAAG,CAAC,CAAC;sBACP;sBACAT,SAAS,CAAES,UAAU,CAAE,GAAG;wBACzB,GAAGjF,MAAM,CAAEiF,UAAU,CAAE;wBACvB3D,GAAG,EAAE0D;sBACN,CAAC;sBACD7D,QAAQ,CAAEqD,SAAU,CAAC;sBACrBpB,mBAAmB,CAClB6B,UACD,CAAC;oBACF;kBACD,CAAE,CAAC;gBACJ,CAAG;gBACHc,MAAM,EAAC,eAAe;gBACtBZ,MAAM,EAAGA,CAAE;kBAAEa;gBAAe,CAAC,KAAM;kBAClC,oBACC,IAAAxG,WAAA,CAAAkB,GAAA,EAACxB,WAAA,CAAAmG,QAAQ;oBACRC,IAAI,EAAGW,aAAQ;oBACfnF,OAAO,EAAGA,CAAA,KAAM;sBACfkF,cAAc,CAAC,CAAC;oBACjB,CAAG;oBAAAvF,QAAA,EAED,IAAAO,QAAE,EAAE,QAAQ,EAAE,MAAO;kBAAC,CACf,CAAC;gBAEb;cAAG,CACH;YAAC,CACe,CAAC;UAAA,CACT,CAAC;QAAA,CACE,CAAC;MAAA,CACf,CAAC;IAEL;EAAG,CACH,CAAC;AAEJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_blockEditor","_notices","_icons","_data","_element","_url","_lockUnlock","_jsxRuntime","Badge","unlock","componentsPrivateApis","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","__","value","TrackList","tracks","onEditPress","content","map","track","index","jsxs","__experimentalHStack","className","children","jsx","justify","default","Button","__next40pxDefaultSize","variant","onClick","sprintf","_x","src","MenuGroup","SingleTrackEditor","onChange","onClose","onRemove","allowSettingDefault","srcLang","kind","isDefaultTrack","fileName","startsWith","getFilename","__experimentalVStack","spacing","__experimentalGrid","columns","gap","TextControl","__nextHasNoMarginBottom","newLabel","help","newSrcLang","SelectControl","options","newKind","ToggleControl","checked","disabled","defaultTrack","isDestructive","changes","hasChanges","undefined","TracksEditor","createNotice","useDispatch","noticesStore","mediaUpload","useSelect","select","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","useState","dropdownPopoverRef","useRef","handleTrackSelect","title","url","some","isDismissible","type","trackIndex","length","useEffect","current","focus","Dropdown","contentClassName","focusOnMount","popoverProps","ref","renderToggle","isOpen","onToggle","handleOnToggle","ToolbarGroup","ToolbarButton","renderContent","newTrack","newTracks","filter","_track","Fragment","NavigableMenu","MediaUpload","onSelect","allowedTypes","render","open","MenuItem","icon","media","MediaUploadCheck","FormFileUpload","event","files","target","filesList","onFileChange","accept","openFileDialog","upload"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\tToggleControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { Badge } = unlock( componentsPrivateApis );\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tconst content = tracks.map( ( track, index ) => {\n\t\treturn (\n\t\t\t<HStack\n\t\t\t\tkey={ track.src }\n\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t>\n\t\t\t\t<span>{ track.label }</span>\n\t\t\t\t<HStack justify=\"flex-end\">\n\t\t\t\t\t{ track.default && <Badge>{ __( 'Default' ) }</Badge> }\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\". */\n\t\t\t\t\t\t\t_x( 'Edit %s', 'text tracks' ),\n\t\t\t\t\t\t\ttrack.label\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t);\n\t} );\n\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( {\n\ttrack,\n\tonChange,\n\tonClose,\n\tonRemove,\n\tallowSettingDefault,\n} ) {\n\tconst {\n\t\tsrc = '',\n\t\tlabel = '',\n\t\tsrcLang = '',\n\t\tkind = DEFAULT_KIND,\n\t\tdefault: isDefaultTrack = false,\n\t} = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\tspacing=\"4\"\n\t\t>\n\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t</span>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t\t<VStack spacing=\"4\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Set as default track' ) }\n\t\t\t\t\tchecked={ isDefaultTrack }\n\t\t\t\t\tdisabled={ ! allowSettingDefault }\n\t\t\t\t\tonChange={ ( defaultTrack ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tdefault: defaultTrack,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\tconst dropdownPopoverRef = useRef();\n\n\tconst handleTrackSelect = ( { title, url } ) => {\n\t\tif ( tracks.some( ( track ) => track.src === url ) ) {\n\t\t\tcreateNotice( 'error', __( 'This track already exists.' ), {\n\t\t\t\tisDismissible: true,\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tconst trackIndex = tracks.length;\n\t\tonChange( [ ...tracks, { label: title || '', src: url } ] );\n\t\tsetTrackBeingEdited( trackIndex );\n\t};\n\n\tuseEffect( () => {\n\t\tdropdownPopoverRef.current?.focus();\n\t}, [ trackBeingEdited ] );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\tfocusOnMount\n\t\t\tpopoverProps={ {\n\t\t\t\tref: dropdownPopoverRef,\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst handleOnToggle = () => {\n\t\t\t\t\tif ( ! isOpen ) {\n\t\t\t\t\t\t// When the Popover opens make sure the initial view is\n\t\t\t\t\t\t// always the track list rather than the edit track UI.\n\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t}\n\t\t\t\t\tonToggle();\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\tonClick={ handleOnToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tallowSettingDefault={\n\t\t\t\t\t\t\t\t! tracks.some( ( track ) => track.default ) ||\n\t\t\t\t\t\t\t\ttracks[ trackBeingEdited ].default\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ tracks.length === 0 && (\n\t\t\t\t\t\t\t<div className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t\t\t\t\t<h2 className=\"block-library-video-tracks-editor__tracks-informative-message-title\">\n\t\t\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message-description\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ handleTrackSelect }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\n\t\t\t\t\t\t\t\t\t\t\t\t] ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,14 +7,15 @@ import clsx from 'clsx';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { InspectorControls, useBlockProps, __experimentalUseBorderProps as useBorderProps } from '@wordpress/block-editor';
|
|
10
|
-
import {
|
|
10
|
+
import { RangeControl, ResizableBox, ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
11
11
|
import { __, isRTL } from '@wordpress/i18n';
|
|
12
12
|
import { addQueryArgs, removeQueryArgs } from '@wordpress/url';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Internal dependencies
|
|
16
16
|
*/
|
|
17
|
-
import {
|
|
17
|
+
import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
18
|
+
import { useCommentAvatar, useUserAvatar } from './hooks';
|
|
18
19
|
import UserControl from './user-control';
|
|
19
20
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
20
21
|
const AvatarInspectorControls = ({
|
|
@@ -22,44 +23,88 @@ const AvatarInspectorControls = ({
|
|
|
22
23
|
avatar,
|
|
23
24
|
attributes,
|
|
24
25
|
selectUser
|
|
25
|
-
}) =>
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
children:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
label: __('Image size'),
|
|
32
|
-
onChange: newSize => setAttributes({
|
|
33
|
-
size: newSize
|
|
34
|
-
}),
|
|
35
|
-
min: avatar.minSize,
|
|
36
|
-
max: avatar.maxSize,
|
|
37
|
-
initialPosition: attributes?.size,
|
|
38
|
-
value: attributes?.size
|
|
39
|
-
}), /*#__PURE__*/_jsx(ToggleControl, {
|
|
40
|
-
__nextHasNoMarginBottom: true,
|
|
41
|
-
label: __('Link to user profile'),
|
|
42
|
-
onChange: () => setAttributes({
|
|
43
|
-
isLink: !attributes.isLink
|
|
44
|
-
}),
|
|
45
|
-
checked: attributes.isLink
|
|
46
|
-
}), attributes.isLink && /*#__PURE__*/_jsx(ToggleControl, {
|
|
47
|
-
__nextHasNoMarginBottom: true,
|
|
48
|
-
label: __('Open in new tab'),
|
|
49
|
-
onChange: value => setAttributes({
|
|
50
|
-
linkTarget: value ? '_blank' : '_self'
|
|
51
|
-
}),
|
|
52
|
-
checked: attributes.linkTarget === '_blank'
|
|
53
|
-
}), selectUser && /*#__PURE__*/_jsx(UserControl, {
|
|
54
|
-
value: attributes?.userId,
|
|
55
|
-
onChange: value => {
|
|
26
|
+
}) => {
|
|
27
|
+
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
28
|
+
return /*#__PURE__*/_jsx(InspectorControls, {
|
|
29
|
+
children: /*#__PURE__*/_jsxs(ToolsPanel, {
|
|
30
|
+
label: __('Settings'),
|
|
31
|
+
resetAll: () => {
|
|
56
32
|
setAttributes({
|
|
57
|
-
|
|
33
|
+
size: 96,
|
|
34
|
+
isLink: false,
|
|
35
|
+
linkTarget: '_self',
|
|
36
|
+
userId: undefined
|
|
58
37
|
});
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
38
|
+
},
|
|
39
|
+
dropdownMenuProps: dropdownMenuProps,
|
|
40
|
+
children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
41
|
+
label: __('Image size'),
|
|
42
|
+
isShownByDefault: true,
|
|
43
|
+
hasValue: () => attributes?.size !== 96,
|
|
44
|
+
onDeselect: () => setAttributes({
|
|
45
|
+
size: 96
|
|
46
|
+
}),
|
|
47
|
+
children: /*#__PURE__*/_jsx(RangeControl, {
|
|
48
|
+
__nextHasNoMarginBottom: true,
|
|
49
|
+
__next40pxDefaultSize: true,
|
|
50
|
+
label: __('Image size'),
|
|
51
|
+
onChange: newSize => setAttributes({
|
|
52
|
+
size: newSize
|
|
53
|
+
}),
|
|
54
|
+
min: avatar.minSize,
|
|
55
|
+
max: avatar.maxSize,
|
|
56
|
+
initialPosition: attributes?.size,
|
|
57
|
+
value: attributes?.size
|
|
58
|
+
})
|
|
59
|
+
}), /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
60
|
+
label: __('Link to user profile'),
|
|
61
|
+
isShownByDefault: true,
|
|
62
|
+
hasValue: () => attributes?.isLink,
|
|
63
|
+
onDeselect: () => setAttributes({
|
|
64
|
+
isLink: false
|
|
65
|
+
}),
|
|
66
|
+
children: /*#__PURE__*/_jsx(ToggleControl, {
|
|
67
|
+
__nextHasNoMarginBottom: true,
|
|
68
|
+
label: __('Link to user profile'),
|
|
69
|
+
onChange: () => setAttributes({
|
|
70
|
+
isLink: !attributes.isLink
|
|
71
|
+
}),
|
|
72
|
+
checked: attributes.isLink
|
|
73
|
+
})
|
|
74
|
+
}), attributes.isLink && /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
75
|
+
label: __('Open in new tab'),
|
|
76
|
+
isShownByDefault: true,
|
|
77
|
+
hasValue: () => attributes?.linkTarget !== '_self',
|
|
78
|
+
onDeselect: () => setAttributes({
|
|
79
|
+
linkTarget: '_self'
|
|
80
|
+
}),
|
|
81
|
+
children: /*#__PURE__*/_jsx(ToggleControl, {
|
|
82
|
+
__nextHasNoMarginBottom: true,
|
|
83
|
+
label: __('Open in new tab'),
|
|
84
|
+
onChange: value => setAttributes({
|
|
85
|
+
linkTarget: value ? '_blank' : '_self'
|
|
86
|
+
}),
|
|
87
|
+
checked: attributes.linkTarget === '_blank'
|
|
88
|
+
})
|
|
89
|
+
}), selectUser && /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
90
|
+
label: __('User'),
|
|
91
|
+
isShownByDefault: true,
|
|
92
|
+
hasValue: () => !!attributes?.userId,
|
|
93
|
+
onDeselect: () => setAttributes({
|
|
94
|
+
userId: undefined
|
|
95
|
+
}),
|
|
96
|
+
children: /*#__PURE__*/_jsx(UserControl, {
|
|
97
|
+
value: attributes?.userId,
|
|
98
|
+
onChange: value => {
|
|
99
|
+
setAttributes({
|
|
100
|
+
userId: value
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
})
|
|
104
|
+
})]
|
|
105
|
+
})
|
|
106
|
+
});
|
|
107
|
+
};
|
|
63
108
|
const ResizableAvatar = ({
|
|
64
109
|
setAttributes,
|
|
65
110
|
attributes,
|