UNPKG

@wordpress/block-library

Version:
165 lines (163 loc) 3.76 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _blockEditor = require("@wordpress/block-editor"); var _tracks = _interopRequireDefault(require("./tracks")); var _jsxRuntime = require("react/jsx-runtime"); /** * WordPress dependencies */ /** * Internal dependencies */ const metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 3, name: "core/video", title: "Video", category: "media", description: "Embed a video from your media library or upload a new one.", keywords: ["movie"], textdomain: "default", attributes: { autoplay: { type: "boolean", source: "attribute", selector: "video", attribute: "autoplay" }, caption: { type: "rich-text", source: "rich-text", selector: "figcaption", role: "content" }, controls: { type: "boolean", source: "attribute", selector: "video", attribute: "controls", "default": true }, id: { type: "number", role: "content" }, loop: { type: "boolean", source: "attribute", selector: "video", attribute: "loop" }, muted: { type: "boolean", source: "attribute", selector: "video", attribute: "muted" }, poster: { type: "string", source: "attribute", selector: "video", attribute: "poster" }, preload: { type: "string", source: "attribute", selector: "video", attribute: "preload", "default": "metadata" }, blob: { type: "string", role: "local" }, src: { type: "string", source: "attribute", selector: "video", attribute: "src", role: "content" }, playsInline: { type: "boolean", source: "attribute", selector: "video", attribute: "playsinline" }, tracks: { role: "content", type: "array", items: { type: "object" }, "default": [] } }, supports: { anchor: true, align: true, spacing: { margin: true, padding: true, __experimentalDefaultControls: { margin: false, padding: false } }, interactivity: { clientNavigation: true } }, editorStyle: "wp-block-video-editor", style: "wp-block-video" }; const { attributes: blockAttributes } = metadata; // In #41140 support was added to global styles for caption elements which added a `wp-element-caption` classname // to the video figcaption element. const v1 = { attributes: blockAttributes, save({ attributes }) { const { autoplay, caption, controls, loop, muted, poster, preload, src, playsInline, tracks } = attributes; return /*#__PURE__*/(0, _jsxRuntime.jsxs)("figure", { ..._blockEditor.useBlockProps.save(), children: [src && /*#__PURE__*/(0, _jsxRuntime.jsx)("video", { autoPlay: autoplay, controls: controls, loop: loop, muted: muted, poster: poster, preload: preload !== 'metadata' ? preload : undefined, src: src, playsInline: playsInline, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_tracks.default, { tracks: tracks }) }), !_blockEditor.RichText.isEmpty(caption) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichText.Content, { tagName: "figcaption", value: caption })] }); } }; const deprecated = [v1]; var _default = exports.default = deprecated; //# sourceMappingURL=deprecated.js.map