@wordpress/block-library 8.1.0 → 8.2.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/LICENSE.md +1 -1
- package/build/archives/edit.js +1 -0
- package/build/archives/edit.js.map +1 -1
- package/build/audio/edit.js +2 -0
- package/build/audio/edit.js.map +1 -1
- package/build/comments/edit/comments-inspector-controls.js +9 -3
- package/build/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build/embed/embed-preview.js +1 -0
- package/build/embed/embed-preview.js.map +1 -1
- package/build/file/inspector.js +1 -0
- package/build/file/inspector.js.map +1 -1
- package/build/gallery/edit.js +2 -0
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +1 -0
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/v1/edit.js +2 -0
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/group/edit.js +1 -0
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +3 -0
- package/build/group/index.js.map +1 -1
- package/build/image/image.js +6 -10
- package/build/image/image.js.map +1 -1
- package/build/latest-posts/edit.js +11 -8
- package/build/latest-posts/edit.js.map +1 -1
- package/build/navigation/edit/index.js +6 -3
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +64 -27
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +4 -2
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/leaf-more-menu.js +95 -0
- package/build/navigation/leaf-more-menu.js.map +1 -0
- package/build/navigation-link/edit.js +6 -3
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/update-attributes.js +3 -3
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/page-list-item/index.js +2 -1
- package/build/page-list-item/index.js.map +1 -1
- package/build/post-author/edit.js +2 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +1 -0
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +1 -0
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/order-control.js +1 -0
- package/build/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build/query/edit/inspector-controls/sticky-control.js +1 -0
- package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
- package/build/query/edit/query-content.js +8 -1
- package/build/query/edit/query-content.js.map +1 -1
- package/build/social-link/edit.js +2 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/table/edit.js +1 -0
- package/build/table/edit.js.map +1 -1
- package/build/tag-cloud/edit.js +1 -0
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +12 -1
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/video/edit-common-settings.js +6 -5
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +1 -0
- package/build/video/edit.js.map +1 -1
- package/build/video/tracks-editor.js +1 -0
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/archives/edit.js +1 -0
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/audio/edit.js +2 -0
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/comments/edit/comments-inspector-controls.js +9 -3
- package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build-module/embed/embed-preview.js +1 -0
- package/build-module/embed/embed-preview.js.map +1 -1
- package/build-module/file/inspector.js +1 -0
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/gallery/edit.js +2 -0
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +1 -0
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/v1/edit.js +2 -0
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/group/edit.js +1 -0
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +3 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/image/image.js +6 -10
- package/build-module/image/image.js.map +1 -1
- package/build-module/latest-posts/edit.js +12 -9
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/navigation/edit/index.js +6 -3
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +63 -29
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +4 -2
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/leaf-more-menu.js +76 -0
- package/build-module/navigation/leaf-more-menu.js.map +1 -0
- package/build-module/navigation-link/edit.js +6 -3
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +3 -3
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/page-list-item/index.js +2 -1
- package/build-module/page-list-item/index.js.map +1 -1
- package/build-module/post-author/edit.js +2 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +1 -0
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +1 -0
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/order-control.js +1 -0
- package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/sticky-control.js +1 -0
- package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
- package/build-module/query/edit/query-content.js +8 -1
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/social-link/edit.js +2 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/table/edit.js +1 -0
- package/build-module/table/edit.js.map +1 -1
- package/build-module/tag-cloud/edit.js +1 -0
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +12 -1
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/video/edit-common-settings.js +6 -5
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +1 -0
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +1 -0
- package/build-module/video/tracks-editor.js.map +1 -1
- package/package.json +29 -29
- package/src/archives/edit.js +1 -0
- package/src/audio/edit.js +2 -0
- package/src/comments/edit/comments-inspector-controls.js +12 -2
- package/src/embed/embed-preview.js +1 -0
- package/src/file/inspector.js +1 -0
- package/src/gallery/edit.js +2 -0
- package/src/gallery/gallery.js +1 -0
- package/src/gallery/v1/edit.js +2 -0
- package/src/group/block.json +3 -0
- package/src/group/edit.js +1 -0
- package/src/image/image.js +26 -36
- package/src/latest-posts/edit.js +6 -7
- package/src/navigation/edit/index.js +3 -0
- package/src/navigation/edit/menu-inspector-controls.js +98 -68
- package/src/navigation/edit/navigation-menu-selector.js +5 -2
- package/src/navigation/leaf-more-menu.js +93 -0
- package/src/navigation-link/edit.js +18 -7
- package/src/navigation-link/index.php +30 -3
- package/src/navigation-link/update-attributes.js +1 -1
- package/src/navigation-submenu/index.php +2 -2
- package/src/page-list/index.php +5 -0
- package/src/page-list-item/block.json +2 -1
- package/src/post-author/edit.js +2 -0
- package/src/post-featured-image/dimension-controls.js +1 -0
- package/src/query/edit/inspector-controls/index.js +1 -0
- package/src/query/edit/inspector-controls/order-control.js +1 -0
- package/src/query/edit/inspector-controls/sticky-control.js +1 -0
- package/src/query/edit/query-content.js +13 -0
- package/src/rss/index.php +1 -1
- package/src/social-link/edit.js +2 -1
- package/src/table/edit.js +1 -0
- package/src/tag-cloud/edit.js +1 -0
- package/src/template-part/edit/advanced-controls.js +24 -0
- package/src/video/edit-common-settings.js +6 -5
- package/src/video/edit.js +1 -0
- package/src/video/tracks-editor.js +1 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -64,25 +64,26 @@ const VideoSettings = _ref => {
|
|
|
64
64
|
return createElement(Fragment, null, createElement(ToggleControl, {
|
|
65
65
|
label: __('Autoplay'),
|
|
66
66
|
onChange: toggleFactory.autoplay,
|
|
67
|
-
checked: autoplay,
|
|
67
|
+
checked: !!autoplay,
|
|
68
68
|
help: getAutoplayHelp
|
|
69
69
|
}), createElement(ToggleControl, {
|
|
70
70
|
label: __('Loop'),
|
|
71
71
|
onChange: toggleFactory.loop,
|
|
72
|
-
checked: loop
|
|
72
|
+
checked: !!loop
|
|
73
73
|
}), createElement(ToggleControl, {
|
|
74
74
|
label: __('Muted'),
|
|
75
75
|
onChange: toggleFactory.muted,
|
|
76
|
-
checked: muted
|
|
76
|
+
checked: !!muted
|
|
77
77
|
}), createElement(ToggleControl, {
|
|
78
78
|
label: __('Playback controls'),
|
|
79
79
|
onChange: toggleFactory.controls,
|
|
80
|
-
checked: controls
|
|
80
|
+
checked: !!controls
|
|
81
81
|
}), createElement(ToggleControl, {
|
|
82
82
|
label: __('Play inline'),
|
|
83
83
|
onChange: toggleFactory.playsInline,
|
|
84
|
-
checked: playsInline
|
|
84
|
+
checked: !!playsInline
|
|
85
85
|
}), createElement(SelectControl, {
|
|
86
|
+
__nextHasNoMarginBottom: true,
|
|
86
87
|
label: __('Preload'),
|
|
87
88
|
value: preload,
|
|
88
89
|
onChange: onChangePreload,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/video/edit-common-settings.js"],"names":["__","_x","ToggleControl","SelectControl","useMemo","useCallback","Platform","options","value","label","VideoSettings","setAttributes","attributes","autoplay","controls","loop","muted","playsInline","preload","autoPlayHelpText","getAutoplayHelp","select","web","checked","native","toggleFactory","toggleAttribute","attribute","newValue","onChangePreload"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,EAAb,QAAuB,iBAAvB;AACA,SAASC,aAAT,EAAwBC,aAAxB,QAA6C,uBAA7C;AACA,SAASC,OAAT,EAAkBC,WAAlB,EAA+BC,QAA/B,QAA+C,oBAA/C;AAEA,MAAMC,OAAO,GAAG,CACf;AAAEC,EAAAA,KAAK,EAAE,MAAT;AAAiBC,EAAAA,KAAK,EAAET,EAAE,CAAE,MAAF;AAA1B,CADe,EAEf;AAAEQ,EAAAA,KAAK,EAAE,UAAT;AAAqBC,EAAAA,KAAK,EAAET,EAAE,CAAE,UAAF;AAA9B,CAFe,EAGf;AAAEQ,EAAAA,KAAK,EAAE,MAAT;AAAiBC,EAAAA,KAAK,EAAER,EAAE,CAAE,MAAF,EAAU,eAAV;AAA1B,CAHe,CAAhB;;AAMA,MAAMS,aAAa,GAAG,QAAqC;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,GAAmC;AAC1D,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA,IAAtB;AAA4BC,IAAAA,KAA5B;AAAmCC,IAAAA,WAAnC;AAAgDC,IAAAA;AAAhD,MACLN,UADD;;AAGA,QAAMO,gBAAgB,GAAGnB,EAAE,CAC1B,qDAD0B,CAA3B;;AAGA,QAAMoB,eAAe,GAAGd,QAAQ,CAACe,MAAT,CAAiB;AACxCC,IAAAA,GAAG,EAAEjB,WAAW,CAAIkB,OAAF,IAAe;AAChC,aAAOA,OAAO,GAAGJ,gBAAH,GAAsB,IAApC;AACA,KAFe,EAEb,EAFa,CADwB;AAIxCK,IAAAA,MAAM,EAAEL;AAJgC,GAAjB,CAAxB;AAOA,QAAMM,aAAa,GAAGrB,OAAO,CAAE,MAAM;AACpC,UAAMsB,eAAe,GAAKC,SAAF,IAAiB;AACxC,aAASC,QAAF,IAAgB;AACtBjB,QAAAA,aAAa,CAAE;AAAE,WAAEgB,SAAF,GAAeC;AAAjB,SAAF,CAAb;AACA,OAFD;AAGA,KAJD;;AAMA,WAAO;AACNf,MAAAA,QAAQ,EAAEa,eAAe,CAAE,UAAF,CADnB;AAENX,MAAAA,IAAI,EAAEW,eAAe,CAAE,MAAF,CAFf;AAGNV,MAAAA,KAAK,EAAEU,eAAe,CAAE,OAAF,CAHhB;AAINZ,MAAAA,QAAQ,EAAEY,eAAe,CAAE,UAAF,CAJnB;AAKNT,MAAAA,WAAW,EAAES,eAAe,CAAE,aAAF;AALtB,KAAP;AAOA,GAd4B,EAc1B,EAd0B,CAA7B;AAgBA,QAAMG,eAAe,GAAGxB,WAAW,CAAIG,KAAF,IAAa;AACjDG,IAAAA,aAAa,CAAE;AAAEO,MAAAA,OAAO,EAAEV;AAAX,KAAF,CAAb;AACA,GAFkC,EAEhC,EAFgC,CAAnC;AAIA,SACC,8BACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGR,EAAE,CAAE,UAAF,CADX;AAEC,IAAA,QAAQ,EAAGyB,aAAa,CAACZ,QAF1B;AAGC,IAAA,OAAO,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/video/edit-common-settings.js"],"names":["__","_x","ToggleControl","SelectControl","useMemo","useCallback","Platform","options","value","label","VideoSettings","setAttributes","attributes","autoplay","controls","loop","muted","playsInline","preload","autoPlayHelpText","getAutoplayHelp","select","web","checked","native","toggleFactory","toggleAttribute","attribute","newValue","onChangePreload"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,EAAb,QAAuB,iBAAvB;AACA,SAASC,aAAT,EAAwBC,aAAxB,QAA6C,uBAA7C;AACA,SAASC,OAAT,EAAkBC,WAAlB,EAA+BC,QAA/B,QAA+C,oBAA/C;AAEA,MAAMC,OAAO,GAAG,CACf;AAAEC,EAAAA,KAAK,EAAE,MAAT;AAAiBC,EAAAA,KAAK,EAAET,EAAE,CAAE,MAAF;AAA1B,CADe,EAEf;AAAEQ,EAAAA,KAAK,EAAE,UAAT;AAAqBC,EAAAA,KAAK,EAAET,EAAE,CAAE,UAAF;AAA9B,CAFe,EAGf;AAAEQ,EAAAA,KAAK,EAAE,MAAT;AAAiBC,EAAAA,KAAK,EAAER,EAAE,CAAE,MAAF,EAAU,eAAV;AAA1B,CAHe,CAAhB;;AAMA,MAAMS,aAAa,GAAG,QAAqC;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,GAAmC;AAC1D,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA,IAAtB;AAA4BC,IAAAA,KAA5B;AAAmCC,IAAAA,WAAnC;AAAgDC,IAAAA;AAAhD,MACLN,UADD;;AAGA,QAAMO,gBAAgB,GAAGnB,EAAE,CAC1B,qDAD0B,CAA3B;;AAGA,QAAMoB,eAAe,GAAGd,QAAQ,CAACe,MAAT,CAAiB;AACxCC,IAAAA,GAAG,EAAEjB,WAAW,CAAIkB,OAAF,IAAe;AAChC,aAAOA,OAAO,GAAGJ,gBAAH,GAAsB,IAApC;AACA,KAFe,EAEb,EAFa,CADwB;AAIxCK,IAAAA,MAAM,EAAEL;AAJgC,GAAjB,CAAxB;AAOA,QAAMM,aAAa,GAAGrB,OAAO,CAAE,MAAM;AACpC,UAAMsB,eAAe,GAAKC,SAAF,IAAiB;AACxC,aAASC,QAAF,IAAgB;AACtBjB,QAAAA,aAAa,CAAE;AAAE,WAAEgB,SAAF,GAAeC;AAAjB,SAAF,CAAb;AACA,OAFD;AAGA,KAJD;;AAMA,WAAO;AACNf,MAAAA,QAAQ,EAAEa,eAAe,CAAE,UAAF,CADnB;AAENX,MAAAA,IAAI,EAAEW,eAAe,CAAE,MAAF,CAFf;AAGNV,MAAAA,KAAK,EAAEU,eAAe,CAAE,OAAF,CAHhB;AAINZ,MAAAA,QAAQ,EAAEY,eAAe,CAAE,UAAF,CAJnB;AAKNT,MAAAA,WAAW,EAAES,eAAe,CAAE,aAAF;AALtB,KAAP;AAOA,GAd4B,EAc1B,EAd0B,CAA7B;AAgBA,QAAMG,eAAe,GAAGxB,WAAW,CAAIG,KAAF,IAAa;AACjDG,IAAAA,aAAa,CAAE;AAAEO,MAAAA,OAAO,EAAEV;AAAX,KAAF,CAAb;AACA,GAFkC,EAEhC,EAFgC,CAAnC;AAIA,SACC,8BACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGR,EAAE,CAAE,UAAF,CADX;AAEC,IAAA,QAAQ,EAAGyB,aAAa,CAACZ,QAF1B;AAGC,IAAA,OAAO,EAAG,CAAC,CAAEA,QAHd;AAIC,IAAA,IAAI,EAAGO;AAJR,IADD,EAOC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGpB,EAAE,CAAE,MAAF,CADX;AAEC,IAAA,QAAQ,EAAGyB,aAAa,CAACV,IAF1B;AAGC,IAAA,OAAO,EAAG,CAAC,CAAEA;AAHd,IAPD,EAYC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGf,EAAE,CAAE,OAAF,CADX;AAEC,IAAA,QAAQ,EAAGyB,aAAa,CAACT,KAF1B;AAGC,IAAA,OAAO,EAAG,CAAC,CAAEA;AAHd,IAZD,EAiBC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGhB,EAAE,CAAE,mBAAF,CADX;AAEC,IAAA,QAAQ,EAAGyB,aAAa,CAACX,QAF1B;AAGC,IAAA,OAAO,EAAG,CAAC,CAAEA;AAHd,IAjBD,EAsBC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGd,EAAE,CAAE,aAAF,CADX;AAEC,IAAA,QAAQ,EAAGyB,aAAa,CAACR,WAF1B;AAGC,IAAA,OAAO,EAAG,CAAC,CAAEA;AAHd,IAtBD,EA2BC,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGjB,EAAE,CAAE,SAAF,CAFX;AAGC,IAAA,KAAK,EAAGkB,OAHT;AAIC,IAAA,QAAQ,EAAGW,eAJZ;AAKC,IAAA,OAAO,EAAGtB,OALX;AAMC,IAAA,gBAAgB,EAAG;AANpB,IA3BD,CADD;AAsCA,CAxED;;AA0EA,eAAeG,aAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { ToggleControl, SelectControl } from '@wordpress/components';\nimport { useMemo, useCallback, Platform } from '@wordpress/element';\n\nconst options = [\n\t{ value: 'auto', label: __( 'Auto' ) },\n\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t{ value: 'none', label: _x( 'None', 'Preload value' ) },\n];\n\nconst VideoSettings = ( { setAttributes, attributes } ) => {\n\tconst { autoplay, controls, loop, muted, playsInline, preload } =\n\t\tattributes;\n\n\tconst autoPlayHelpText = __(\n\t\t'Autoplay may cause usability issues for some users.'\n\t);\n\tconst getAutoplayHelp = Platform.select( {\n\t\tweb: useCallback( ( checked ) => {\n\t\t\treturn checked ? autoPlayHelpText : null;\n\t\t}, [] ),\n\t\tnative: autoPlayHelpText,\n\t} );\n\n\tconst toggleFactory = useMemo( () => {\n\t\tconst toggleAttribute = ( attribute ) => {\n\t\t\treturn ( newValue ) => {\n\t\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t\t};\n\t\t};\n\n\t\treturn {\n\t\t\tautoplay: toggleAttribute( 'autoplay' ),\n\t\t\tloop: toggleAttribute( 'loop' ),\n\t\t\tmuted: toggleAttribute( 'muted' ),\n\t\t\tcontrols: toggleAttribute( 'controls' ),\n\t\t\tplaysInline: toggleAttribute( 'playsInline' ),\n\t\t};\n\t}, [] );\n\n\tconst onChangePreload = useCallback( ( value ) => {\n\t\tsetAttributes( { preload: value } );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\tonChange={ toggleFactory.autoplay }\n\t\t\t\tchecked={ !! autoplay }\n\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\tonChange={ toggleFactory.loop }\n\t\t\t\tchecked={ !! loop }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\tonChange={ toggleFactory.muted }\n\t\t\t\tchecked={ !! muted }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\tonChange={ toggleFactory.controls }\n\t\t\t\tchecked={ !! controls }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\tonChange={ toggleFactory.playsInline }\n\t\t\t\tchecked={ !! playsInline }\n\t\t\t/>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\tvalue={ preload }\n\t\t\t\tonChange={ onChangePreload }\n\t\t\t\toptions={ options }\n\t\t\t\thideCancelButton={ true }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default VideoSettings;\n"]}
|
|
@@ -273,6 +273,7 @@ function VideoEdit(_ref) {
|
|
|
273
273
|
}, createElement(Tracks, {
|
|
274
274
|
tracks: tracks
|
|
275
275
|
}))), isTemporaryVideo && createElement(Spinner, null), showCaption && (!RichText.isEmpty(caption) || isSelected) && createElement(RichText, {
|
|
276
|
+
identifier: "caption",
|
|
276
277
|
tagName: "figcaption",
|
|
277
278
|
className: __experimentalGetElementClassName('caption'),
|
|
278
279
|
"aria-label": __('Video caption text'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/video/edit.js"],"names":["classnames","getBlobByURL","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","Placeholder","ToolbarButton","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useRef","useEffect","useState","useCallback","__","sprintf","useInstanceId","usePrevious","useDispatch","useSelect","video","icon","caption","captionIcon","createBlock","getDefaultBlockName","noticesStore","createUpgradedEmbedBlock","VideoCommonSettings","TracksEditor","Tracks","placeholder","content","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","controls","poster","src","tracks","prevCaption","showCaption","setShowCaption","isTemporaryVideo","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectVideo","onError","onUploadError","allowedTypes","current","load","captionRef","node","focus","url","undefined","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","classes","blockProps","onSelectPoster","onRemovePoster","videoPosterDescription","newTracks","open","isEmpty","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { video as icon, caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\n\n// Much of this description is duplicated from MediaPlaceholder.\nconst placeholder = ( content ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\twithIllustration={ true }\n\t\t\ticon={ icon }\n\t\t\tlabel={ __( 'Video' ) }\n\t\t\tinstructions={ __(\n\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t) }\n\t\t>\n\t\t\t{ content }\n\t\t</Placeholder>\n\t);\n};\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, caption, controls, poster, src, tracks } = attributes;\n\tconst prevCaption = usePrevious( caption );\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectVideo( media ),\n\t\t\t\t\tonError: onUploadError,\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, poster: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls>\n\t\t\t\t<TracksEditor\n\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\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\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\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'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\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\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t{ showCaption &&\n\t\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\taria-label={ __( 'Video caption text' ) }\n\t\t\t\t\t\t\tref={ captionRef }\n\t\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/video/edit.js"],"names":["classnames","getBlobByURL","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","Placeholder","ToolbarButton","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useRef","useEffect","useState","useCallback","__","sprintf","useInstanceId","usePrevious","useDispatch","useSelect","video","icon","caption","captionIcon","createBlock","getDefaultBlockName","noticesStore","createUpgradedEmbedBlock","VideoCommonSettings","TracksEditor","Tracks","placeholder","content","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","controls","poster","src","tracks","prevCaption","showCaption","setShowCaption","isTemporaryVideo","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectVideo","onError","onUploadError","allowedTypes","current","load","captionRef","node","focus","url","undefined","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","classes","blockProps","onSelectPoster","onRemovePoster","videoPosterDescription","newTracks","open","isEmpty","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { video as icon, caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\n\n// Much of this description is duplicated from MediaPlaceholder.\nconst placeholder = ( content ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\twithIllustration={ true }\n\t\t\ticon={ icon }\n\t\t\tlabel={ __( 'Video' ) }\n\t\t\tinstructions={ __(\n\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t) }\n\t\t>\n\t\t\t{ content }\n\t\t</Placeholder>\n\t);\n};\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, caption, controls, poster, src, tracks } = attributes;\n\tconst prevCaption = usePrevious( caption );\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectVideo( media ),\n\t\t\t\t\tonError: onUploadError,\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, poster: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls>\n\t\t\t\t<TracksEditor\n\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\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\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\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'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\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\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t{ showCaption &&\n\t\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\taria-label={ __( 'Video caption text' ) }\n\t\t\t\t\t\t\tref={ captionRef }\n\t\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"]}
|
|
@@ -101,6 +101,7 @@ function SingleTrackEditor(_ref2) {
|
|
|
101
101
|
value: srcLang,
|
|
102
102
|
help: __('Language tag (en, fr, etc.)')
|
|
103
103
|
})), createElement(SelectControl, {
|
|
104
|
+
__nextHasNoMarginBottom: true,
|
|
104
105
|
className: "block-library-video-tracks-editor__single-track-editor-kind-select",
|
|
105
106
|
options: KIND_OPTIONS,
|
|
106
107
|
value: kind,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"names":["__","sprintf","NavigableMenu","MenuItem","FormFileUpload","MenuGroup","ToolbarGroup","ToolbarButton","Dropdown","Button","TextControl","SelectControl","MediaUpload","MediaUploadCheck","store","blockEditorStore","upload","media","useSelect","useState","getFilename","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","TrackList","tracks","onEditPress","content","length","map","track","index","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","newLabel","newSrcLang","newKind","changes","hasChanges","undefined","TracksEditor","mediaUpload","select","getSettings","trackBeingEdited","setTrackBeingEdited","isOpen","onToggle","newTrack","newTracks","filter","_track","url","trackIndex","open","event","files","target","allowedTypes","filesList","onFileChange","openFileDialog"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, 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} 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 } 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\tlet content;\n\tif ( tracks.length === 0 ) {\n\t\tcontent = (\n\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t{ __(\n\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) }\n\t\t\t</p>\n\t\t);\n\t} else {\n\t\tcontent = tracks.map( ( track, index ) => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={ index }\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t\t>\n\t\t\t\t\t<span>{ track.label } </span>\n\t\t\t\t\t<Button\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__( 'Edit %s' ),\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</div>\n\t\t\t);\n\t\t} );\n\t}\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<NavigableMenu>\n\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor\">\n\t\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t\t</span>\n\t\t\t\t<span>\n\t\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t\t</span>\n\t\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor-label-language\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<SelectControl\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<div className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\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{ __( 'Close' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button isDestructive variant=\"link\" onClick={ onRemove }>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</NavigableMenu>\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\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\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\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\t\t\t\treturn (\n\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{ __( 'Upload' ) }\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"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"names":["__","sprintf","NavigableMenu","MenuItem","FormFileUpload","MenuGroup","ToolbarGroup","ToolbarButton","Dropdown","Button","TextControl","SelectControl","MediaUpload","MediaUploadCheck","store","blockEditorStore","upload","media","useSelect","useState","getFilename","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","TrackList","tracks","onEditPress","content","length","map","track","index","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","newLabel","newSrcLang","newKind","changes","hasChanges","undefined","TracksEditor","mediaUpload","select","getSettings","trackBeingEdited","setTrackBeingEdited","isOpen","onToggle","newTrack","newTracks","filter","_track","url","trackIndex","open","event","files","target","allowedTypes","filesList","onFileChange","openFileDialog"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, 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} 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 } 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\tlet content;\n\tif ( tracks.length === 0 ) {\n\t\tcontent = (\n\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t{ __(\n\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) }\n\t\t\t</p>\n\t\t);\n\t} else {\n\t\tcontent = tracks.map( ( track, index ) => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={ index }\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t\t>\n\t\t\t\t\t<span>{ track.label } </span>\n\t\t\t\t\t<Button\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__( 'Edit %s' ),\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</div>\n\t\t\t);\n\t\t} );\n\t}\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<NavigableMenu>\n\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor\">\n\t\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t\t</span>\n\t\t\t\t<span>\n\t\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t\t</span>\n\t\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor-label-language\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<SelectControl\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<div className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\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{ __( 'Close' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button isDestructive variant=\"link\" onClick={ onRemove }>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</NavigableMenu>\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\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\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\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\t\t\t\treturn (\n\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{ __( 'Upload' ) }\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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/block-library",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.2.0",
|
|
4
4
|
"description": "Block library for the WordPress editor.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -31,33 +31,33 @@
|
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@babel/runtime": "^7.16.0",
|
|
34
|
-
"@wordpress/a11y": "^3.
|
|
35
|
-
"@wordpress/api-fetch": "^6.
|
|
36
|
-
"@wordpress/autop": "^3.
|
|
37
|
-
"@wordpress/blob": "^3.
|
|
38
|
-
"@wordpress/block-editor": "^11.
|
|
39
|
-
"@wordpress/blocks": "^12.
|
|
40
|
-
"@wordpress/components": "^23.
|
|
41
|
-
"@wordpress/compose": "^6.
|
|
42
|
-
"@wordpress/core-data": "^6.
|
|
43
|
-
"@wordpress/data": "^8.
|
|
44
|
-
"@wordpress/date": "^4.
|
|
45
|
-
"@wordpress/deprecated": "^3.
|
|
46
|
-
"@wordpress/dom": "^3.
|
|
47
|
-
"@wordpress/element": "^5.
|
|
48
|
-
"@wordpress/escape-html": "^2.
|
|
49
|
-
"@wordpress/hooks": "^3.
|
|
50
|
-
"@wordpress/html-entities": "^3.
|
|
51
|
-
"@wordpress/i18n": "^4.
|
|
52
|
-
"@wordpress/icons": "^9.
|
|
53
|
-
"@wordpress/keycodes": "^3.
|
|
54
|
-
"@wordpress/notices": "^3.
|
|
55
|
-
"@wordpress/primitives": "^3.
|
|
56
|
-
"@wordpress/reusable-blocks": "^4.
|
|
57
|
-
"@wordpress/rich-text": "^6.
|
|
58
|
-
"@wordpress/server-side-render": "^4.
|
|
59
|
-
"@wordpress/url": "^3.
|
|
60
|
-
"@wordpress/viewport": "^5.
|
|
34
|
+
"@wordpress/a11y": "^3.25.0",
|
|
35
|
+
"@wordpress/api-fetch": "^6.22.0",
|
|
36
|
+
"@wordpress/autop": "^3.25.0",
|
|
37
|
+
"@wordpress/blob": "^3.25.0",
|
|
38
|
+
"@wordpress/block-editor": "^11.2.0",
|
|
39
|
+
"@wordpress/blocks": "^12.2.0",
|
|
40
|
+
"@wordpress/components": "^23.2.0",
|
|
41
|
+
"@wordpress/compose": "^6.2.0",
|
|
42
|
+
"@wordpress/core-data": "^6.2.0",
|
|
43
|
+
"@wordpress/data": "^8.2.0",
|
|
44
|
+
"@wordpress/date": "^4.25.0",
|
|
45
|
+
"@wordpress/deprecated": "^3.25.0",
|
|
46
|
+
"@wordpress/dom": "^3.25.0",
|
|
47
|
+
"@wordpress/element": "^5.2.0",
|
|
48
|
+
"@wordpress/escape-html": "^2.25.0",
|
|
49
|
+
"@wordpress/hooks": "^3.25.0",
|
|
50
|
+
"@wordpress/html-entities": "^3.25.0",
|
|
51
|
+
"@wordpress/i18n": "^4.25.0",
|
|
52
|
+
"@wordpress/icons": "^9.16.0",
|
|
53
|
+
"@wordpress/keycodes": "^3.25.0",
|
|
54
|
+
"@wordpress/notices": "^3.25.0",
|
|
55
|
+
"@wordpress/primitives": "^3.23.0",
|
|
56
|
+
"@wordpress/reusable-blocks": "^4.2.0",
|
|
57
|
+
"@wordpress/rich-text": "^6.2.0",
|
|
58
|
+
"@wordpress/server-side-render": "^4.2.0",
|
|
59
|
+
"@wordpress/url": "^3.26.0",
|
|
60
|
+
"@wordpress/viewport": "^5.2.0",
|
|
61
61
|
"change-case": "^4.1.2",
|
|
62
62
|
"classnames": "^2.3.1",
|
|
63
63
|
"colord": "^2.7.0",
|
|
@@ -76,5 +76,5 @@
|
|
|
76
76
|
"publishConfig": {
|
|
77
77
|
"access": "public"
|
|
78
78
|
},
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "204c880ff65295768e9695dfee6c7a9fee1fdd05"
|
|
80
80
|
}
|
package/src/archives/edit.js
CHANGED
package/src/audio/edit.js
CHANGED
|
@@ -218,6 +218,7 @@ function AudioEdit( {
|
|
|
218
218
|
checked={ loop }
|
|
219
219
|
/>
|
|
220
220
|
<SelectControl
|
|
221
|
+
__nextHasNoMarginBottom
|
|
221
222
|
label={ _x( 'Preload', 'noun; Audio block parameter' ) }
|
|
222
223
|
value={ preload || '' }
|
|
223
224
|
// `undefined` is required for the preload attribute to be unset.
|
|
@@ -251,6 +252,7 @@ function AudioEdit( {
|
|
|
251
252
|
{ showCaption &&
|
|
252
253
|
( ! RichText.isEmpty( caption ) || isSelected ) && (
|
|
253
254
|
<RichText
|
|
255
|
+
identifier="caption"
|
|
254
256
|
tagName="figcaption"
|
|
255
257
|
className={ __experimentalGetElementClassName(
|
|
256
258
|
'caption'
|
|
@@ -6,23 +6,33 @@ import { __ } from '@wordpress/i18n';
|
|
|
6
6
|
import { InspectorControls } from '@wordpress/block-editor';
|
|
7
7
|
|
|
8
8
|
export default function CommentsInspectorControls( {
|
|
9
|
-
attributes: {
|
|
9
|
+
attributes: { tagName },
|
|
10
10
|
setAttributes,
|
|
11
11
|
} ) {
|
|
12
|
+
const htmlElementMessages = {
|
|
13
|
+
section: __(
|
|
14
|
+
"The <section> element should represent a standalone portion of the document that can't be better represented by another element."
|
|
15
|
+
),
|
|
16
|
+
aside: __(
|
|
17
|
+
"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content."
|
|
18
|
+
),
|
|
19
|
+
};
|
|
12
20
|
return (
|
|
13
21
|
<InspectorControls>
|
|
14
22
|
<InspectorControls __experimentalGroup="advanced">
|
|
15
23
|
<SelectControl
|
|
24
|
+
__nextHasNoMarginBottom
|
|
16
25
|
label={ __( 'HTML element' ) }
|
|
17
26
|
options={ [
|
|
18
27
|
{ label: __( 'Default (<div>)' ), value: 'div' },
|
|
19
28
|
{ label: '<section>', value: 'section' },
|
|
20
29
|
{ label: '<aside>', value: 'aside' },
|
|
21
30
|
] }
|
|
22
|
-
value={
|
|
31
|
+
value={ tagName }
|
|
23
32
|
onChange={ ( value ) =>
|
|
24
33
|
setAttributes( { tagName: value } )
|
|
25
34
|
}
|
|
35
|
+
help={ htmlElementMessages[ tagName ] }
|
|
26
36
|
/>
|
|
27
37
|
</InspectorControls>
|
|
28
38
|
</InspectorControls>
|
package/src/file/inspector.js
CHANGED
package/src/gallery/edit.js
CHANGED
|
@@ -531,6 +531,7 @@ function GalleryEdit( props ) {
|
|
|
531
531
|
help={ getImageCropHelp }
|
|
532
532
|
/>
|
|
533
533
|
<SelectControl
|
|
534
|
+
__nextHasNoMarginBottom
|
|
534
535
|
label={ __( 'Link to' ) }
|
|
535
536
|
value={ linkTo }
|
|
536
537
|
onChange={ setLinkTo }
|
|
@@ -546,6 +547,7 @@ function GalleryEdit( props ) {
|
|
|
546
547
|
) }
|
|
547
548
|
{ imageSizeOptions?.length > 0 && (
|
|
548
549
|
<SelectControl
|
|
550
|
+
__nextHasNoMarginBottom
|
|
549
551
|
label={ __( 'Image size' ) }
|
|
550
552
|
value={ sizeSlug }
|
|
551
553
|
options={ imageSizeOptions }
|
package/src/gallery/gallery.js
CHANGED
package/src/gallery/v1/edit.js
CHANGED
|
@@ -420,6 +420,7 @@ function GalleryEdit( props ) {
|
|
|
420
420
|
help={ getImageCropHelp }
|
|
421
421
|
/>
|
|
422
422
|
<SelectControl
|
|
423
|
+
__nextHasNoMarginBottom
|
|
423
424
|
label={ __( 'Link to' ) }
|
|
424
425
|
value={ linkTo }
|
|
425
426
|
onChange={ setLinkTo }
|
|
@@ -428,6 +429,7 @@ function GalleryEdit( props ) {
|
|
|
428
429
|
/>
|
|
429
430
|
{ shouldShowSizeOptions && (
|
|
430
431
|
<SelectControl
|
|
432
|
+
__nextHasNoMarginBottom
|
|
431
433
|
label={ __( 'Image size' ) }
|
|
432
434
|
value={ sizeSlug }
|
|
433
435
|
options={ imageSizeOptions }
|
package/src/group/block.json
CHANGED
package/src/group/edit.js
CHANGED
|
@@ -51,6 +51,7 @@ function GroupEditControls( { tagName, onSelectTagName } ) {
|
|
|
51
51
|
return (
|
|
52
52
|
<InspectorControls __experimentalGroup="advanced">
|
|
53
53
|
<SelectControl
|
|
54
|
+
__nextHasNoMarginBottom
|
|
54
55
|
label={ __( 'HTML element' ) }
|
|
55
56
|
options={ [
|
|
56
57
|
{ label: __( 'Default (<div>)' ), value: 'div' },
|
package/src/image/image.js
CHANGED
|
@@ -125,37 +125,30 @@ export default function Image( {
|
|
|
125
125
|
},
|
|
126
126
|
[ id, isSelected, clientId ]
|
|
127
127
|
);
|
|
128
|
-
const { canInsertCover, imageEditing, imageSizes,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
const settings = Object.fromEntries(
|
|
139
|
-
Object.entries( getSettings() ).filter( ( [ key ] ) =>
|
|
140
|
-
[
|
|
141
|
-
'imageEditing',
|
|
142
|
-
'imageSizes',
|
|
143
|
-
'maxWidth',
|
|
144
|
-
'mediaUpload',
|
|
145
|
-
].includes( key )
|
|
128
|
+
const { canInsertCover, imageEditing, imageSizes, mediaUpload } = useSelect(
|
|
129
|
+
( select ) => {
|
|
130
|
+
const { getBlockRootClientId, getSettings, canInsertBlockType } =
|
|
131
|
+
select( blockEditorStore );
|
|
132
|
+
|
|
133
|
+
const rootClientId = getBlockRootClientId( clientId );
|
|
134
|
+
const settings = Object.fromEntries(
|
|
135
|
+
Object.entries( getSettings() ).filter( ( [ key ] ) =>
|
|
136
|
+
[ 'imageEditing', 'imageSizes', 'mediaUpload' ].includes(
|
|
137
|
+
key
|
|
146
138
|
)
|
|
147
|
-
)
|
|
139
|
+
)
|
|
140
|
+
);
|
|
148
141
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
142
|
+
return {
|
|
143
|
+
...settings,
|
|
144
|
+
canInsertCover: canInsertBlockType(
|
|
145
|
+
'core/cover',
|
|
146
|
+
rootClientId
|
|
147
|
+
),
|
|
148
|
+
};
|
|
149
|
+
},
|
|
150
|
+
[ clientId ]
|
|
151
|
+
);
|
|
159
152
|
const { replaceBlocks, toggleSelection } = useDispatch( blockEditorStore );
|
|
160
153
|
const { createErrorNotice, createSuccessNotice } =
|
|
161
154
|
useDispatch( noticesStore );
|
|
@@ -549,13 +542,9 @@ export default function Image( {
|
|
|
549
542
|
// With the current implementation of ResizableBox, an image needs an
|
|
550
543
|
// explicit pixel value for the max-width. In absence of being able to
|
|
551
544
|
// set the content-width, this max-width is currently dictated by the
|
|
552
|
-
// vanilla editor style.
|
|
553
|
-
//
|
|
554
|
-
|
|
555
|
-
// main column, though not infinitely.
|
|
556
|
-
// @todo It would be good to revisit this once a content-width variable
|
|
557
|
-
// becomes available.
|
|
558
|
-
const maxWidthBuffer = maxWidth * 2.5;
|
|
545
|
+
// vanilla editor style. We'll use the clientWidth here, to prevent the width
|
|
546
|
+
// of the image growing larger than the width of the block column.
|
|
547
|
+
const maxWidthBuffer = clientWidth;
|
|
559
548
|
|
|
560
549
|
let showRightHandle = false;
|
|
561
550
|
let showLeftHandle = false;
|
|
@@ -639,6 +628,7 @@ export default function Image( {
|
|
|
639
628
|
{ showCaption &&
|
|
640
629
|
( ! RichText.isEmpty( caption ) || isSelected ) && (
|
|
641
630
|
<RichText
|
|
631
|
+
identifier="caption"
|
|
642
632
|
className={ __experimentalGetElementClassName(
|
|
643
633
|
'caption'
|
|
644
634
|
) }
|
package/src/latest-posts/edit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { get
|
|
4
|
+
import { get } from 'lodash';
|
|
5
5
|
import classnames from 'classnames';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -104,16 +104,15 @@ export default function LatestPostsEdit( { attributes, setAttributes } ) {
|
|
|
104
104
|
categories && categories.length > 0
|
|
105
105
|
? categories.map( ( cat ) => cat.id )
|
|
106
106
|
: [];
|
|
107
|
-
const latestPostsQuery =
|
|
108
|
-
{
|
|
107
|
+
const latestPostsQuery = Object.fromEntries(
|
|
108
|
+
Object.entries( {
|
|
109
109
|
categories: catIds,
|
|
110
110
|
author: selectedAuthor,
|
|
111
111
|
order,
|
|
112
112
|
orderby: orderBy,
|
|
113
113
|
per_page: postsToShow,
|
|
114
114
|
_embed: 'wp:featuredmedia',
|
|
115
|
-
},
|
|
116
|
-
( value ) => typeof value !== 'undefined'
|
|
115
|
+
} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )
|
|
117
116
|
);
|
|
118
117
|
|
|
119
118
|
return {
|
|
@@ -433,7 +432,7 @@ export default function LatestPostsEdit( { attributes, setAttributes } ) {
|
|
|
433
432
|
<ToolbarGroup controls={ layoutControls } />
|
|
434
433
|
</BlockControls>
|
|
435
434
|
<ul { ...blockProps }>
|
|
436
|
-
{ displayPosts.map( ( post
|
|
435
|
+
{ displayPosts.map( ( post ) => {
|
|
437
436
|
const titleTrimmed = post.title.rendered.trim();
|
|
438
437
|
let excerpt = post.excerpt.rendered;
|
|
439
438
|
const currentAuthor = authorList?.find(
|
|
@@ -493,7 +492,7 @@ export default function LatestPostsEdit( { attributes, setAttributes } ) {
|
|
|
493
492
|
);
|
|
494
493
|
|
|
495
494
|
return (
|
|
496
|
-
<li key={
|
|
495
|
+
<li key={ post.id }>
|
|
497
496
|
{ renderFeaturedImage && (
|
|
498
497
|
<div className={ imageClasses }>
|
|
499
498
|
{ addLinkToFeaturedImage ? (
|