Changeset 3317753
- Timestamp:
- 06/25/2025 03:39:35 PM (9 months ago)
- Location:
- simple-video-preview
- Files:
-
- 34 edited
- 8 copied
-
tags/1.0.1 (copied) (copied from simple-video-preview/trunk)
-
tags/1.0.1/build (copied) (copied from simple-video-preview/trunk/build)
-
tags/1.0.1/build/index-rtl.css (modified) (1 diff)
-
tags/1.0.1/build/index.asset.php (modified) (1 diff)
-
tags/1.0.1/build/index.css (modified) (1 diff)
-
tags/1.0.1/build/index.js (modified) (1 diff)
-
tags/1.0.1/build/style-index-rtl.css (modified) (1 diff)
-
tags/1.0.1/build/style-index.css (modified) (1 diff)
-
tags/1.0.1/lang (copied) (copied from simple-video-preview/trunk/lang)
-
tags/1.0.1/lang/simple-video-preview-fr_FR-bb1d7dea005e67527e728d4801f74b61.json (modified) (4 diffs)
-
tags/1.0.1/lang/simple-video-preview-fr_FR-cc7778b2494c1d8202ecacbc08e5a092.json (modified) (1 diff)
-
tags/1.0.1/lang/simple-video-preview-fr_FR-dfbff627e6c248bcb3b61d7d06da9ca9.json (modified) (4 diffs)
-
tags/1.0.1/lang/simple-video-preview-fr_FR-e04fbe6a5c70b27e442b045f357c333c.json (modified) (2 diffs)
-
tags/1.0.1/lang/simple-video-preview-fr_FR-eab28b5de5e8b001ec8968a7ad746aa5.json (modified) (1 diff)
-
tags/1.0.1/lang/simple-video-preview-fr_FR.l10n.php (modified) (1 diff)
-
tags/1.0.1/lang/simple-video-preview-fr_FR.mo (modified) (previous)
-
tags/1.0.1/lang/simple-video-preview-fr_FR.po (modified) (5 diffs)
-
tags/1.0.1/lang/simple-video-preview.pot (modified) (2 diffs)
-
tags/1.0.1/package-lock.json (copied) (copied from simple-video-preview/trunk/package-lock.json)
-
tags/1.0.1/package.json (copied) (copied from simple-video-preview/trunk/package.json)
-
tags/1.0.1/readme.txt (copied) (copied from simple-video-preview/trunk/readme.txt) (4 diffs)
-
tags/1.0.1/simple-video-preview.php (copied) (copied from simple-video-preview/trunk/simple-video-preview.php) (1 diff)
-
tags/1.0.1/src (copied) (copied from simple-video-preview/trunk/src)
-
tags/1.0.1/src/edit.js (modified) (1 diff)
-
trunk/build/index-rtl.css (modified) (1 diff)
-
trunk/build/index.asset.php (modified) (1 diff)
-
trunk/build/index.css (modified) (1 diff)
-
trunk/build/index.js (modified) (1 diff)
-
trunk/build/style-index-rtl.css (modified) (1 diff)
-
trunk/build/style-index.css (modified) (1 diff)
-
trunk/lang/simple-video-preview-fr_FR-bb1d7dea005e67527e728d4801f74b61.json (modified) (4 diffs)
-
trunk/lang/simple-video-preview-fr_FR-cc7778b2494c1d8202ecacbc08e5a092.json (modified) (1 diff)
-
trunk/lang/simple-video-preview-fr_FR-dfbff627e6c248bcb3b61d7d06da9ca9.json (modified) (4 diffs)
-
trunk/lang/simple-video-preview-fr_FR-e04fbe6a5c70b27e442b045f357c333c.json (modified) (2 diffs)
-
trunk/lang/simple-video-preview-fr_FR-eab28b5de5e8b001ec8968a7ad746aa5.json (modified) (1 diff)
-
trunk/lang/simple-video-preview-fr_FR.l10n.php (modified) (1 diff)
-
trunk/lang/simple-video-preview-fr_FR.mo (modified) (previous)
-
trunk/lang/simple-video-preview-fr_FR.po (modified) (5 diffs)
-
trunk/lang/simple-video-preview.pot (modified) (2 diffs)
-
trunk/readme.txt (modified) (4 diffs)
-
trunk/simple-video-preview.php (modified) (1 diff)
-
trunk/src/edit.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
simple-video-preview/tags/1.0.1/build/index-rtl.css
r3299186 r3317753 1 /*!****************************************************************************************************************************************************************************************************************************************!*\ 2 !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***! 3 \****************************************************************************************************************************************************************************************************************************************/ 4 .simple-video-preview__container-empty { 5 background-color: #d0d0d0; 6 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=); 7 background-size: 150px 150px; 8 background-repeat: no-repeat; 9 background-position: center; 10 } 11 .simple-video-preview-popover { 12 position: fixed; 13 top: 50%; 14 right: 50%; 15 transform: translate(50%, -50%); 16 background: #fff; 17 border: 1px solid #ccc; 18 padding: 36px; 19 z-index: 9999; 20 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); 21 max-width: 90vw; 22 max-height: 90vh; 23 overflow: auto; 24 } 25 .simple-video-preview-popover-close { 26 position: absolute; 27 top: 0; 28 left: 0; 29 background: transparent; 30 border: none; 31 font-size: 1.2em; 32 cursor: pointer; 33 padding: 0; 34 } 1 .simple-video-preview__container-empty{background-color:#d0d0d0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=);background-position:50%;background-repeat:no-repeat;background-size:150px 150px}.simple-video-preview-popover{background:#fff;border:1px solid #ccc;box-shadow:0 4px 12px rgba(0,0,0,.15);right:50%;max-height:90vh;max-width:90vw;overflow:auto;padding:36px;position:fixed;top:50%;transform:translate(50%,-50%);z-index:9999}.simple-video-preview-popover-close{background:transparent;border:none;cursor:pointer;font-size:1.2em;padding:0;position:absolute;left:0;top:0} -
simple-video-preview/tags/1.0.1/build/index.asset.php
r3299186 r3317753 1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => ' f8cd2c2a888a36bd5d13');1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => 'c73f493d87978c5ac25d'); -
simple-video-preview/tags/1.0.1/build/index.css
r3299186 r3317753 1 /*!****************************************************************************************************************************************************************************************************************************************!*\ 2 !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***! 3 \****************************************************************************************************************************************************************************************************************************************/ 4 .simple-video-preview__container-empty { 5 background-color: #d0d0d0; 6 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=); 7 background-size: 150px 150px; 8 background-repeat: no-repeat; 9 background-position: center; 10 } 11 .simple-video-preview-popover { 12 position: fixed; 13 top: 50%; 14 left: 50%; 15 transform: translate(-50%, -50%); 16 background: #fff; 17 border: 1px solid #ccc; 18 padding: 36px; 19 z-index: 9999; 20 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); 21 max-width: 90vw; 22 max-height: 90vh; 23 overflow: auto; 24 } 25 .simple-video-preview-popover-close { 26 position: absolute; 27 top: 0; 28 right: 0; 29 background: transparent; 30 border: none; 31 font-size: 1.2em; 32 cursor: pointer; 33 padding: 0; 34 } 35 36 /*# sourceMappingURL=index.css.map*/ 1 .simple-video-preview__container-empty{background-color:#d0d0d0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=);background-position:50%;background-repeat:no-repeat;background-size:150px 150px}.simple-video-preview-popover{background:#fff;border:1px solid #ccc;box-shadow:0 4px 12px rgba(0,0,0,.15);left:50%;max-height:90vh;max-width:90vw;overflow:auto;padding:36px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:9999}.simple-video-preview-popover-close{background:transparent;border:none;cursor:pointer;font-size:1.2em;padding:0;position:absolute;right:0;top:0} -
simple-video-preview/tags/1.0.1/build/index.js
r3299186 r3317753 1 /******/ (() => { // webpackBootstrap 2 /******/ "use strict"; 3 /******/ var __webpack_modules__ = ({ 4 5 /***/ "./src/components/helpPopover.js": 6 /*!***************************************!*\ 7 !*** ./src/components/helpPopover.js ***! 8 \***************************************/ 9 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 10 11 __webpack_require__.r(__webpack_exports__); 12 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 13 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 14 /* harmony export */ }); 15 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); 16 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 17 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); 18 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); 19 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); 20 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); 21 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime"); 22 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__); 23 24 25 26 27 const HelpPopover = () => { 28 const [isPopoverVisible, setIsPopoverVisible] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(false); 29 const togglePopover = () => { 30 setIsPopoverVisible(!isPopoverVisible); 31 }; 32 return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.Fragment, { 33 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Button, { 34 variant: "tertiary", 35 icon: "info", 36 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Help', 'simple-video-preview'), 37 onClick: togglePopover, 38 "aria-expanded": isPopoverVisible, 39 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Help', 'simple-video-preview') 40 }), isPopoverVisible && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", { 41 className: "simple-video-preview-popover", 42 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Button, { 43 icon: "no-alt", 44 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Close', 'simple-video-preview'), 45 onClick: togglePopover, 46 className: "simple-video-preview-popover-close" 47 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("h1", { 48 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Simple Video Preview', 'simple-video-preview') 49 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("p", { 50 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('The plugin supports the following URL formats:', 'simple-video-preview') 51 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("ul", { 52 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("li", { 53 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("strong", { 54 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('YouTube:', 'simple-video-preview') 55 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("ul", { 56 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 57 children: "https://www.youtube.com/watch?v=[VIDEO_ID]" 58 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 59 children: "https://www.youtube.com/shorts/[VIDEO_ID]" 60 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 61 children: "https://www.youtube.com/embed/[VIDEO_ID]" 62 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 63 children: "https://youtu.be/[VIDEO_ID]" 64 })] 65 })] 66 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("li", { 67 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("strong", { 68 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Wistia:', 'simple-video-preview') 69 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("ul", { 70 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 71 children: "https://wistia.com/watch/wistia-overview?wchannelid=[CHANNEL_ID]&wmediaid=[MEDIA_ID]" 72 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 73 children: "https://home.wistia.com/medias/[MEDIA_ID]" 74 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 75 children: "https://fast.wistia.net/embed/iframe/[MEDIA_ID]" 76 })] 77 })] 78 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("li", { 79 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("strong", { 80 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Vimeo:', 'simple-video-preview') 81 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("ul", { 82 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 83 children: "https://vimeo.com/[VIDEO_ID]" 84 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 85 children: "https://vimeo.com/[VIDEO_ID]_[VIDEO_TITLE]" 86 })] 87 })] 88 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("li", { 89 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("strong", { 90 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Dailymotion:', 'simple-video-preview') 91 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("ul", { 92 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 93 children: "https://www.dailymotion.com/video/[VIDEO_ID]" 94 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 95 children: "https://www.dailymotion.com/embed/video/[VIDEO_ID]" 96 })] 97 })] 98 })] 99 })] 100 })] 101 }); 102 }; 103 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HelpPopover); 104 105 /***/ }), 106 107 /***/ "./src/components/videoPreview.js": 108 /*!****************************************!*\ 109 !*** ./src/components/videoPreview.js ***! 110 \****************************************/ 111 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 112 113 __webpack_require__.r(__webpack_exports__); 114 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 115 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 116 /* harmony export */ }); 117 /* harmony import */ var _videoThumbnail__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./videoThumbnail */ "./src/components/videoThumbnail.js"); 118 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime"); 119 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__); 120 121 122 const VideoPreview = ({ 123 videoThumbnails, 124 videoTitle, 125 credit, 126 creditProps, 127 children 128 }) => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("div", { 129 className: "simple-video-preview", 130 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("figure", { 131 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", { 132 className: "simple-video-preview__container", 133 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", { 134 className: "simple-video-preview__link", 135 children: videoThumbnails && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_videoThumbnail__WEBPACK_IMPORTED_MODULE_0__["default"], { 136 thumbnails: videoThumbnails, 137 videoTitle: videoTitle 138 }) 139 }) 140 }), credit && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", { 141 className: creditProps.creditClassName, 142 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", { 143 className: creditProps.creditInnerClassName, 144 style: creditProps.creditInnerStyle, 145 children: credit 146 }) 147 }), children] 148 }) 149 }); 150 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VideoPreview); 151 152 /***/ }), 153 154 /***/ "./src/components/videoThumbnail.js": 155 /*!******************************************!*\ 156 !*** ./src/components/videoThumbnail.js ***! 157 \******************************************/ 158 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 159 160 __webpack_require__.r(__webpack_exports__); 161 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 162 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 163 /* harmony export */ }); 164 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); 165 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__); 166 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime"); 167 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__); 168 169 170 const VideoThumbnail = ({ 171 thumbnails, 172 videoTitle 173 }) => { 174 if (!thumbnails) { 175 return ''; 176 } 177 const playButtonClassName = `simple-video-preview__play-button ${thumbnails.service}`; 178 return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, { 179 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("img", { 180 src: thumbnails.thumbnail, 181 alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('%%videoTitle%% video preview', 'simple-video-preview').replace('%%videoTitle%%', videoTitle ? `"${videoTitle}" ` : ''), 182 className: "simple-video-preview__image", 183 srcSet: thumbnails.srcset, 184 sizes: thumbnails.sizes 185 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", { 186 className: playButtonClassName 187 })] 188 }); 189 }; 190 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VideoThumbnail); 191 192 /***/ }), 193 194 /***/ "./src/edit.js": 195 /*!*********************!*\ 196 !*** ./src/edit.js ***! 197 \*********************/ 198 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 199 200 __webpack_require__.r(__webpack_exports__); 201 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 202 /* harmony export */ "default": () => (/* binding */ Edit) 203 /* harmony export */ }); 204 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); 205 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 206 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor"); 207 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__); 208 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data"); 209 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__); 210 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); 211 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__); 212 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); 213 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__); 214 /* harmony import */ var _tools__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./tools */ "./src/tools.js"); 215 /* harmony import */ var _components_videoPreview__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/videoPreview */ "./src/components/videoPreview.js"); 216 /* harmony import */ var _components_helpPopover__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/helpPopover */ "./src/components/helpPopover.js"); 217 /* harmony import */ var _hooks_useVideoThumbnails__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./hooks/useVideoThumbnails */ "./src/hooks/useVideoThumbnails.js"); 218 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime"); 219 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__); 220 221 222 223 224 225 226 227 228 229 230 function Edit({ 231 attributes, 232 setAttributes, 233 clientId 234 }) { 235 const { 236 videoUrl = '', 237 videoThumbnails, 238 videoTitle, 239 credit, 240 hasCaption, 241 hasCreditOverlap, 242 backgroundColor, 243 style 244 } = attributes; 245 const blockProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)(); 246 const captionBlocksProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useInnerBlocksProps)({ 247 className: 'simple-video-preview__caption' 248 }, { 249 allowedBlocks: ['core/paragraph', 'core/list', 'core/details'], 250 template: [['core/paragraph', { 251 placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Add a legend for the video...', 'simple-video-preview') 252 }]] 253 }); 254 const innerBlocks = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_2__.useSelect)(select => select('core/block-editor').getBlock(clientId)?.innerBlocks); 255 (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { 256 const hasContent = (0,_tools__WEBPACK_IMPORTED_MODULE_5__.hasInnerBlocksContent)(innerBlocks); 257 if (hasContent !== hasCaption) { 258 setAttributes({ 259 hasCaption: hasContent 260 }); 261 } 262 }, [innerBlocks, hasCaption, setAttributes]); 263 const handleThumbnailsLoaded = thumbnailsData => { 264 setAttributes({ 265 videoThumbnails: thumbnailsData 266 }); 267 }; 268 const creditProps = (0,_tools__WEBPACK_IMPORTED_MODULE_5__.buildCreditProperties)({ 269 hasCreditOverlap, 270 backgroundColor, 271 style, 272 blockProps 273 }); 274 const { 275 error, 276 isLoading 277 } = (0,_hooks_useVideoThumbnails__WEBPACK_IMPORTED_MODULE_8__["default"])(videoUrl, handleThumbnailsLoaded); 278 const parentBlockProps = { 279 ...blockProps 280 }; 281 delete parentBlockProps.style; 282 return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("div", { 283 ...parentBlockProps, 284 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, { 285 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.PanelBody, { 286 title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Simple Video Preview Settings', 'simple-video-preview'), 287 initialOpen: true, 288 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.TextControl, { 289 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Video URL', 'simple-video-preview'), 290 value: videoUrl, 291 onChange: newVideoUrl => setAttributes({ 292 videoUrl: newVideoUrl 293 }) 294 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.TextControl, { 295 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Video Title', 'simple-video-preview'), 296 value: videoTitle, 297 onChange: newVideoTitle => setAttributes({ 298 videoTitle: newVideoTitle 299 }) 300 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.TextControl, { 301 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Credit', 'simple-video-preview'), 302 value: credit, 303 onChange: newCredit => setAttributes({ 304 credit: newCredit 305 }) 306 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.ToggleControl, { 307 __nextHasNoMarginBottom: true, 308 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Overlapping credit', 'simple-video-preview'), 309 help: hasCreditOverlap ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Credit is overlapping preview.', 'simple-video-preview') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Credit is above preview.', 'simple-video-preview'), 310 checked: hasCreditOverlap, 311 onChange: newHasCreditOverlap => setAttributes({ 312 hasCreditOverlap: newHasCreditOverlap 313 }) 314 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_components_helpPopover__WEBPACK_IMPORTED_MODULE_7__["default"], {})] 315 }) 316 }), error && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div", { 317 className: "simple-video-preview__error", 318 children: error 319 }), isLoading && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("span", { 320 className: "simple-video-preview__loading", 321 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Loading...', 'simple-video-preview') 322 }), videoUrl ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_components_videoPreview__WEBPACK_IMPORTED_MODULE_6__["default"], { 323 videoThumbnails: videoThumbnails, 324 videoTitle: videoTitle, 325 credit: credit, 326 creditProps: creditProps, 327 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("figcaption", { 328 ...captionBlocksProps 329 }) 330 }) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("span", { 331 className: "simple-video-preview__container simple-video-preview__container-empty" 332 })] 333 }); 334 } 335 336 /***/ }), 337 338 /***/ "./src/editor.scss": 339 /*!*************************!*\ 340 !*** ./src/editor.scss ***! 341 \*************************/ 342 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 343 344 __webpack_require__.r(__webpack_exports__); 345 // extracted by mini-css-extract-plugin 346 347 348 /***/ }), 349 350 /***/ "./src/hooks/useVideoThumbnails.js": 351 /*!*****************************************!*\ 352 !*** ./src/hooks/useVideoThumbnails.js ***! 353 \*****************************************/ 354 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 355 356 __webpack_require__.r(__webpack_exports__); 357 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 358 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 359 /* harmony export */ }); 360 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); 361 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 362 /* harmony import */ var _tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../tools */ "./src/tools.js"); 363 364 365 const useVideoThumbnails = (videoUrl, onSuccess) => { 366 const [error, setError] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(null); 367 const [isLoading, setIsLoading] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(false); 368 const memoizedOnSuccess = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useCallback)(onSuccess, []); 369 (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { 370 if (!videoUrl) { 371 setError(null); 372 setIsLoading(false); 373 return; 374 } 375 let isComponentMounted = true; 376 const fetchAndProcessThumbnails = async () => { 377 try { 378 setIsLoading(true); 379 setError(null); 380 const result = await (0,_tools__WEBPACK_IMPORTED_MODULE_1__.getVideoThumbnails)(videoUrl); 381 if (!isComponentMounted) return; 382 if (result) { 383 const thumbnailData = { 384 service: result.service, 385 thumbnail: result.thumbnails[0].src, 386 srcset: result.thumbnails.map(thumb => `${thumb.src} ${thumb.width}w`).join(', '), 387 sizes: result.thumbnails.map(thumb => `(max-width: ${thumb.width}px) ${thumb.width}px`).join(', ') 388 }; 389 memoizedOnSuccess?.(thumbnailData); 390 } else { 391 setError('Unsupported video service for this URL.'); 392 } 393 } catch (err) { 394 if (isComponentMounted) { 395 setError(`Error while loading thumbnails: ${err.message}`); 396 } 397 } finally { 398 if (isComponentMounted) { 399 setIsLoading(false); 400 } 401 } 402 }; 403 fetchAndProcessThumbnails(); 404 return () => { 405 isComponentMounted = false; 406 }; 407 }, [videoUrl, memoizedOnSuccess]); 408 return { 409 error, 410 isLoading 411 }; 412 }; 413 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useVideoThumbnails); 414 415 /***/ }), 416 417 /***/ "./src/index.js": 418 /*!**********************!*\ 419 !*** ./src/index.js ***! 420 \**********************/ 421 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 422 423 __webpack_require__.r(__webpack_exports__); 424 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks"); 425 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__); 426 /* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./edit */ "./src/edit.js"); 427 /* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./save */ "./src/save.js"); 428 /* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./style.scss */ "./src/style.scss"); 429 /* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./editor.scss */ "./src/editor.scss"); 430 431 432 433 434 435 (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)('juzeddev/simple-video-preview', { 436 edit: _edit__WEBPACK_IMPORTED_MODULE_1__["default"], 437 save: _save__WEBPACK_IMPORTED_MODULE_2__["default"] 438 }); 439 440 /***/ }), 441 442 /***/ "./src/save.js": 443 /*!*********************!*\ 444 !*** ./src/save.js ***! 445 \*********************/ 446 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 447 448 __webpack_require__.r(__webpack_exports__); 449 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 450 /* harmony export */ "default": () => (/* binding */ save) 451 /* harmony export */ }); 452 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor"); 453 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__); 454 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); 455 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); 456 /* harmony import */ var _tools__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tools */ "./src/tools.js"); 457 /* harmony import */ var _components_videoThumbnail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/videoThumbnail */ "./src/components/videoThumbnail.js"); 458 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime"); 459 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__); 460 461 462 463 464 465 function save({ 466 attributes 467 }) { 468 const { 469 videoUrl, 470 videoThumbnails, 471 videoTitle, 472 credit, 473 hasCreditOverlap, 474 hasCaption, 475 backgroundColor, 476 style 477 } = attributes; 478 const blockProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.useBlockProps.save(); 479 const captionBlocksProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.useInnerBlocksProps.save({ 480 className: 'simple-video-preview__caption' 481 }); 482 const { 483 creditClassName, 484 creditInnerClassName, 485 creditInnerStyle 486 } = (0,_tools__WEBPACK_IMPORTED_MODULE_2__.buildCreditProperties)({ 487 hasCreditOverlap, 488 backgroundColor, 489 style, 490 blockProps 491 }); 492 return videoUrl ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div", { 493 className: blockProps.className, 494 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div", { 495 className: "simple-video-preview", 496 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("figure", { 497 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", { 498 className: "simple-video-preview__container", 499 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("a", { 500 className: "simple-video-preview__link", 501 title: videoTitle ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Watch %%videoTitle%% (new tab)', 'simple-video-preview').replace('%%videoTitle%%', `"${videoTitle}"`) : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Watch video (new tab)', 'simple-video-preview'), 502 href: videoUrl, 503 target: "_blank", 504 rel: "noopener noreferrer", 505 children: videoThumbnails ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_components_videoThumbnail__WEBPACK_IMPORTED_MODULE_3__["default"], { 506 thumbnails: videoThumbnails, 507 videoTitle: videoTitle 508 }) : null 509 }) 510 }), credit && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", { 511 className: creditClassName, 512 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", { 513 className: creditInnerClassName, 514 style: creditInnerStyle, 515 children: credit 516 }) 517 }), hasCaption && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("figcaption", { 518 ...captionBlocksProps 519 })] 520 }) 521 }) 522 }) : ''; 523 } 524 525 /***/ }), 526 527 /***/ "./src/style.scss": 528 /*!************************!*\ 529 !*** ./src/style.scss ***! 530 \************************/ 531 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 532 533 __webpack_require__.r(__webpack_exports__); 534 // extracted by mini-css-extract-plugin 535 536 537 /***/ }), 538 539 /***/ "./src/tools.js": 540 /*!**********************!*\ 541 !*** ./src/tools.js ***! 542 \**********************/ 543 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 544 545 __webpack_require__.r(__webpack_exports__); 546 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 547 /* harmony export */ VideoThumbnailService: () => (/* binding */ VideoThumbnailService), 548 /* harmony export */ buildCreditProperties: () => (/* binding */ buildCreditProperties), 549 /* harmony export */ getVideoThumbnails: () => (/* binding */ getVideoThumbnails), 550 /* harmony export */ hasInnerBlocksContent: () => (/* binding */ hasInnerBlocksContent) 551 /* harmony export */ }); 552 const VIDEO_SERVICES = { 553 YOUTUBE: 'youtube', 554 VIMEO: 'vimeo', 555 DAILYMOTION: 'dailymotion', 556 WISTIA: 'wistia' 557 }; 558 class VideoThumbnailService { 559 static #extractYouTubeId = url => { 560 const patterns = { 561 'youtube.com/watch': url => new URL(url).searchParams.get('v'), 562 'youtu.be/': url => url.split('youtu.be/')[1]?.split('?')[0], 563 'youtube.com/embed/': url => url.split('embed/')[1]?.split('?')[0], 564 'youtube.com/shorts/': url => url.split('shorts/')[1]?.split('?')[0] 565 }; 566 const matchingPattern = Object.entries(patterns).find(([pattern]) => url.includes(pattern)); 567 return matchingPattern ? matchingPattern[1](url) : null; 568 }; 569 static #extractVimeoId = url => { 570 const regex = /vimeo\.com\/(\d+)(?:\/[^\/]*)?$/; 571 const match = url.match(regex); 572 return match && match[1] ? match[1] : null; 573 }; 574 static #extractDailymotionId = url => { 575 const regex = /dailymotion\.com\/(?:video|embed\/video)\/([a-zA-Z0-9]+)(?:\/[^\/]*)?/; 576 const match = url.match(regex); 577 return match && match[1] ? match[1] : null; 578 }; 579 static #generateYouTubeThumbnails = videoId => [{ 580 url: `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg`, 581 width: 1280, 582 height: 720 583 }, { 584 url: `https://img.youtube.com/vi/${videoId}/sddefault.jpg`, 585 width: 640, 586 height: 480 587 }, { 588 url: `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`, 589 width: 480, 590 height: 360 591 }, { 592 url: `https://img.youtube.com/vi/${videoId}/mqdefault.jpg`, 593 width: 320, 594 height: 180 595 }, { 596 url: `https://img.youtube.com/vi/${videoId}/default.jpg`, 597 width: 120, 598 height: 90 599 }]; 600 static #fetchVimeoThumbnails = async videoId => { 601 const response = await fetch(`https://vimeo.com/api/v2/video/${videoId}.json`); 602 if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); 603 const [data] = await response.json(); 604 return [{ 605 url: data.thumbnail_large, 606 width: 640, 607 height: 360 608 }, { 609 url: data.thumbnail_medium, 610 width: 200, 611 height: 150 612 }, { 613 url: data.thumbnail_small, 614 width: 100, 615 height: 75 616 }]; 617 }; 618 static #extractWistiaId = url => { 619 if (url.includes('/medias/')) { 620 return url.split('/medias/')[1]; 621 } else if (url.includes('embed/iframe/')) { 622 return url.split('embed/iframe/')[1]; 623 } 624 return new URL(url).searchParams.get('wmediaid'); 625 }; 626 static #fetchWistiaThumbnails = async videoId => { 627 const apiUrl = `https://fast.wistia.com/oembed?url=https://home.wistia.com/medias/${videoId}`; 628 const response = await fetch(apiUrl); 629 if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); 630 const data = await response.json(); 631 return [{ 632 url: data.thumbnail_url, 633 width: data.thumbnail_width, 634 height: data.thumbnail_height 635 }]; 636 }; 637 static async getThumbnails(videoUrl) { 638 if (!videoUrl) { 639 throw new Error('Video URL is required'); 640 } 641 const serviceHandlers = { 642 [VIDEO_SERVICES.YOUTUBE]: async url => { 643 const videoId = this.#extractYouTubeId(url); 644 if (!videoId) throw new Error('Invalid YouTube URL format'); 645 return this.#generateYouTubeThumbnails(videoId); 646 }, 647 [VIDEO_SERVICES.VIMEO]: async url => { 648 const videoId = this.#extractVimeoId(url); 649 return await this.#fetchVimeoThumbnails(videoId); 650 }, 651 [VIDEO_SERVICES.DAILYMOTION]: url => { 652 const videoId = this.#extractDailymotionId(url); 653 return [{ 654 url: `https://www.dailymotion.com/thumbnail/video/${videoId}`, 655 width: 800, 656 height: 450 657 }]; 658 }, 659 [VIDEO_SERVICES.WISTIA]: async url => { 660 const videoId = this.#extractWistiaId(url); 661 if (!videoId) throw new Error('Invalid Wistia URL format'); 662 return await this.#fetchWistiaThumbnails(videoId); 663 } 664 }; 665 const service = Object.entries(VIDEO_SERVICES).find(([, name]) => { 666 const domain = name.toLowerCase(); 667 return videoUrl.includes(`${domain}.com`) || videoUrl.includes(`${domain}.net`); 668 })?.[1]; 669 if (!service || !serviceHandlers[service]) { 670 throw new Error('Unsupported video service'); 671 } 672 const thumbnails = await serviceHandlers[service](videoUrl); 673 return { 674 service, 675 thumbnails: thumbnails.map(({ 676 url, 677 width, 678 height 679 }) => ({ 680 src: url, 681 width, 682 height 683 })) 684 }; 685 } 686 } 687 const hasInnerBlocksContent = _innerBlocks => { 688 if (!_innerBlocks) { 689 return false; 690 } 691 for (const innerBlock of _innerBlocks) { 692 if (innerBlock.attributes.content && innerBlock.attributes.content.trim().length > 0) { 693 return true; 694 } 695 if (innerBlock.innerBlocks && innerBlock.innerBlocks.length > 0) { 696 if (hasInnerBlocksContent(innerBlock.innerBlocks)) { 697 return true; 698 } 699 } 700 if (innerBlock.name === 'core/details' && innerBlock.attributes.summary.trim().length > 0) { 701 return true; 702 } 703 } 704 return false; 705 }; 706 const buildCreditProperties = ({ 707 hasCreditOverlap, 708 backgroundColor, 709 style, 710 blockProps 711 }) => { 712 const baseCreditClass = 'simple-video-preview__credit'; 713 const overlapClass = hasCreditOverlap ? 'overlapping' : ''; 714 const creditClassName = [baseCreditClass, overlapClass].filter(Boolean).join(' '); 715 const baseInnerClass = 'simple-video-preview__credit-inner'; 716 const backgroundClass = backgroundColor ? `has-${backgroundColor}-background-color has-background` : ''; 717 const creditInnerClassName = [baseInnerClass, backgroundClass].filter(Boolean).join(' '); 718 const creditInnerStyle = { 719 ...blockProps.style, 720 backgroundColor: backgroundColor ? undefined : style?.color?.background 721 }; 722 return { 723 creditClassName, 724 creditInnerClassName, 725 creditInnerStyle 726 }; 727 }; 728 const getVideoThumbnails = async videoUrl => { 729 try { 730 return await VideoThumbnailService.getThumbnails(videoUrl); 731 } catch (error) { 732 console.error(error.message); 733 return null; 734 } 735 }; 736 737 /***/ }), 738 739 /***/ "@wordpress/block-editor": 740 /*!*************************************!*\ 741 !*** external ["wp","blockEditor"] ***! 742 \*************************************/ 743 /***/ ((module) => { 744 745 module.exports = window["wp"]["blockEditor"]; 746 747 /***/ }), 748 749 /***/ "@wordpress/blocks": 750 /*!********************************!*\ 751 !*** external ["wp","blocks"] ***! 752 \********************************/ 753 /***/ ((module) => { 754 755 module.exports = window["wp"]["blocks"]; 756 757 /***/ }), 758 759 /***/ "@wordpress/components": 760 /*!************************************!*\ 761 !*** external ["wp","components"] ***! 762 \************************************/ 763 /***/ ((module) => { 764 765 module.exports = window["wp"]["components"]; 766 767 /***/ }), 768 769 /***/ "@wordpress/data": 770 /*!******************************!*\ 771 !*** external ["wp","data"] ***! 772 \******************************/ 773 /***/ ((module) => { 774 775 module.exports = window["wp"]["data"]; 776 777 /***/ }), 778 779 /***/ "@wordpress/element": 780 /*!*********************************!*\ 781 !*** external ["wp","element"] ***! 782 \*********************************/ 783 /***/ ((module) => { 784 785 module.exports = window["wp"]["element"]; 786 787 /***/ }), 788 789 /***/ "@wordpress/i18n": 790 /*!******************************!*\ 791 !*** external ["wp","i18n"] ***! 792 \******************************/ 793 /***/ ((module) => { 794 795 module.exports = window["wp"]["i18n"]; 796 797 /***/ }), 798 799 /***/ "react/jsx-runtime": 800 /*!**********************************!*\ 801 !*** external "ReactJSXRuntime" ***! 802 \**********************************/ 803 /***/ ((module) => { 804 805 module.exports = window["ReactJSXRuntime"]; 806 807 /***/ }) 808 809 /******/ }); 810 /************************************************************************/ 811 /******/ // The module cache 812 /******/ var __webpack_module_cache__ = {}; 813 /******/ 814 /******/ // The require function 815 /******/ function __webpack_require__(moduleId) { 816 /******/ // Check if module is in cache 817 /******/ var cachedModule = __webpack_module_cache__[moduleId]; 818 /******/ if (cachedModule !== undefined) { 819 /******/ return cachedModule.exports; 820 /******/ } 821 /******/ // Create a new module (and put it into the cache) 822 /******/ var module = __webpack_module_cache__[moduleId] = { 823 /******/ // no module.id needed 824 /******/ // no module.loaded needed 825 /******/ exports: {} 826 /******/ }; 827 /******/ 828 /******/ // Execute the module function 829 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); 830 /******/ 831 /******/ // Return the exports of the module 832 /******/ return module.exports; 833 /******/ } 834 /******/ 835 /******/ // expose the modules object (__webpack_modules__) 836 /******/ __webpack_require__.m = __webpack_modules__; 837 /******/ 838 /************************************************************************/ 839 /******/ /* webpack/runtime/chunk loaded */ 840 /******/ (() => { 841 /******/ var deferred = []; 842 /******/ __webpack_require__.O = (result, chunkIds, fn, priority) => { 843 /******/ if(chunkIds) { 844 /******/ priority = priority || 0; 845 /******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1]; 846 /******/ deferred[i] = [chunkIds, fn, priority]; 847 /******/ return; 848 /******/ } 849 /******/ var notFulfilled = Infinity; 850 /******/ for (var i = 0; i < deferred.length; i++) { 851 /******/ var [chunkIds, fn, priority] = deferred[i]; 852 /******/ var fulfilled = true; 853 /******/ for (var j = 0; j < chunkIds.length; j++) { 854 /******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) { 855 /******/ chunkIds.splice(j--, 1); 856 /******/ } else { 857 /******/ fulfilled = false; 858 /******/ if(priority < notFulfilled) notFulfilled = priority; 859 /******/ } 860 /******/ } 861 /******/ if(fulfilled) { 862 /******/ deferred.splice(i--, 1) 863 /******/ var r = fn(); 864 /******/ if (r !== undefined) result = r; 865 /******/ } 866 /******/ } 867 /******/ return result; 868 /******/ }; 869 /******/ })(); 870 /******/ 871 /******/ /* webpack/runtime/compat get default export */ 872 /******/ (() => { 873 /******/ // getDefaultExport function for compatibility with non-harmony modules 874 /******/ __webpack_require__.n = (module) => { 875 /******/ var getter = module && module.__esModule ? 876 /******/ () => (module['default']) : 877 /******/ () => (module); 878 /******/ __webpack_require__.d(getter, { a: getter }); 879 /******/ return getter; 880 /******/ }; 881 /******/ })(); 882 /******/ 883 /******/ /* webpack/runtime/define property getters */ 884 /******/ (() => { 885 /******/ // define getter functions for harmony exports 886 /******/ __webpack_require__.d = (exports, definition) => { 887 /******/ for(var key in definition) { 888 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { 889 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); 890 /******/ } 891 /******/ } 892 /******/ }; 893 /******/ })(); 894 /******/ 895 /******/ /* webpack/runtime/hasOwnProperty shorthand */ 896 /******/ (() => { 897 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) 898 /******/ })(); 899 /******/ 900 /******/ /* webpack/runtime/make namespace object */ 901 /******/ (() => { 902 /******/ // define __esModule on exports 903 /******/ __webpack_require__.r = (exports) => { 904 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 905 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 906 /******/ } 907 /******/ Object.defineProperty(exports, '__esModule', { value: true }); 908 /******/ }; 909 /******/ })(); 910 /******/ 911 /******/ /* webpack/runtime/jsonp chunk loading */ 912 /******/ (() => { 913 /******/ // no baseURI 914 /******/ 915 /******/ // object to store loaded and loading chunks 916 /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched 917 /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded 918 /******/ var installedChunks = { 919 /******/ "index": 0, 920 /******/ "./style-index": 0 921 /******/ }; 922 /******/ 923 /******/ // no chunk on demand loading 924 /******/ 925 /******/ // no prefetching 926 /******/ 927 /******/ // no preloaded 928 /******/ 929 /******/ // no HMR 930 /******/ 931 /******/ // no HMR manifest 932 /******/ 933 /******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0); 934 /******/ 935 /******/ // install a JSONP callback for chunk loading 936 /******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { 937 /******/ var [chunkIds, moreModules, runtime] = data; 938 /******/ // add "moreModules" to the modules object, 939 /******/ // then flag all "chunkIds" as loaded and fire callback 940 /******/ var moduleId, chunkId, i = 0; 941 /******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { 942 /******/ for(moduleId in moreModules) { 943 /******/ if(__webpack_require__.o(moreModules, moduleId)) { 944 /******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; 945 /******/ } 946 /******/ } 947 /******/ if(runtime) var result = runtime(__webpack_require__); 948 /******/ } 949 /******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); 950 /******/ for(;i < chunkIds.length; i++) { 951 /******/ chunkId = chunkIds[i]; 952 /******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { 953 /******/ installedChunks[chunkId][0](); 954 /******/ } 955 /******/ installedChunks[chunkId] = 0; 956 /******/ } 957 /******/ return __webpack_require__.O(result); 958 /******/ } 959 /******/ 960 /******/ var chunkLoadingGlobal = globalThis["webpackChunk"] = globalThis["webpackChunk"] || []; 961 /******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); 962 /******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); 963 /******/ })(); 964 /******/ 965 /************************************************************************/ 966 /******/ 967 /******/ // startup 968 /******/ // Load entry module and return exports 969 /******/ // This entry module depends on other loaded chunks and execution need to be delayed 970 /******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["./style-index"], () => (__webpack_require__("./src/index.js"))) 971 /******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__); 972 /******/ 973 /******/ })() 974 ; 975 //# sourceMappingURL=index.js.map 1 (()=>{"use strict";var e,i={958:()=>{const e=window.wp.blocks,i=window.wp.element,t=window.wp.blockEditor,s=window.wp.data,r=window.wp.components,o=window.wp.i18n,l={YOUTUBE:"youtube",VIMEO:"vimeo",DAILYMOTION:"dailymotion",WISTIA:"wistia"};class n{static#e=e=>{const i={"youtube.com/watch":e=>new URL(e).searchParams.get("v"),"youtu.be/":e=>e.split("youtu.be/")[1]?.split("?")[0],"youtube.com/embed/":e=>e.split("embed/")[1]?.split("?")[0],"youtube.com/shorts/":e=>e.split("shorts/")[1]?.split("?")[0]},t=Object.entries(i).find((([i])=>e.includes(i)));return t?t[1](e):null};static#i=e=>{const i=e.match(/vimeo\.com\/(\d+)(?:\/[^\/]*)?$/);return i&&i[1]?i[1]:null};static#t=e=>{const i=e.match(/dailymotion\.com\/(?:video|embed\/video)\/([a-zA-Z0-9]+)(?:\/[^\/]*)?/);return i&&i[1]?i[1]:null};static#s=e=>[{url:`https://img.youtube.com/vi/${e}/maxresdefault.jpg`,width:1280,height:720},{url:`https://img.youtube.com/vi/${e}/sddefault.jpg`,width:640,height:480},{url:`https://img.youtube.com/vi/${e}/hqdefault.jpg`,width:480,height:360},{url:`https://img.youtube.com/vi/${e}/mqdefault.jpg`,width:320,height:180},{url:`https://img.youtube.com/vi/${e}/default.jpg`,width:120,height:90}];static#r=async e=>{const i=await fetch(`https://vimeo.com/api/v2/video/${e}.json`);if(!i.ok)throw new Error(`HTTP error! status: ${i.status}`);const[t]=await i.json();return[{url:t.thumbnail_large,width:640,height:360},{url:t.thumbnail_medium,width:200,height:150},{url:t.thumbnail_small,width:100,height:75}]};static#o=e=>e.includes("/medias/")?e.split("/medias/")[1]:e.includes("embed/iframe/")?e.split("embed/iframe/")[1]:new URL(e).searchParams.get("wmediaid");static#l=async e=>{const i=`https://fast.wistia.com/oembed?url=https://home.wistia.com/medias/${e}`,t=await fetch(i);if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);const s=await t.json();return[{url:s.thumbnail_url,width:s.thumbnail_width,height:s.thumbnail_height}]};static async getThumbnails(e){if(!e)throw new Error("Video URL is required");const i={[l.YOUTUBE]:async e=>{const i=this.#e(e);if(!i)throw new Error("Invalid YouTube URL format");return this.#s(i)},[l.VIMEO]:async e=>{const i=this.#i(e);return await this.#r(i)},[l.DAILYMOTION]:e=>[{url:`https://www.dailymotion.com/thumbnail/video/${this.#t(e)}`,width:800,height:450}],[l.WISTIA]:async e=>{const i=this.#o(e);if(!i)throw new Error("Invalid Wistia URL format");return await this.#l(i)}},t=Object.entries(l).find((([,i])=>{const t=i.toLowerCase();return e.includes(`${t}.com`)||e.includes(`${t}.net`)}))?.[1];if(!t||!i[t])throw new Error("Unsupported video service");return{service:t,thumbnails:(await i[t](e)).map((({url:e,width:i,height:t})=>({src:e,width:i,height:t})))}}}const a=e=>{if(!e)return!1;for(const i of e){if(i.attributes.content&&i.attributes.content.trim().length>0)return!0;if(i.innerBlocks&&i.innerBlocks.length>0&&a(i.innerBlocks))return!0;if("core/details"===i.name&&i.attributes.summary.trim().length>0)return!0}return!1},c=({hasCreditOverlap:e,backgroundColor:i,style:t,blockProps:s})=>({creditClassName:["simple-video-preview__credit",e?"overlapping":""].filter(Boolean).join(" "),creditInnerClassName:["simple-video-preview__credit-inner",i?`has-${i}-background-color has-background`:""].filter(Boolean).join(" "),creditInnerStyle:{...s.style,backgroundColor:i?void 0:t?.color?.background}}),d=window.ReactJSXRuntime,h=({thumbnails:e,videoTitle:i})=>{if(!e)return"";const t=`simple-video-preview__play-button ${e.service}`;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("img",{src:e.thumbnail,alt:(0,o.__)("%%videoTitle%% video preview","simple-video-preview").replace("%%videoTitle%%",i?`"${i}" `:""),className:"simple-video-preview__image",srcSet:e.srcset,sizes:e.sizes}),(0,d.jsx)("span",{className:t})]})},p=({videoThumbnails:e,videoTitle:i,credit:t,creditProps:s,children:r})=>(0,d.jsx)("div",{className:"simple-video-preview",children:(0,d.jsxs)("figure",{children:[(0,d.jsx)("span",{className:"simple-video-preview__container",children:(0,d.jsx)("span",{className:"simple-video-preview__link",children:e&&(0,d.jsx)(h,{thumbnails:e,videoTitle:i})})}),t&&(0,d.jsx)("span",{className:s.creditClassName,children:(0,d.jsx)("span",{className:s.creditInnerClassName,style:s.creditInnerStyle,children:t})}),r]})}),m=()=>{const[e,t]=(0,i.useState)(!1),s=()=>{t(!e)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(r.Button,{variant:"tertiary",icon:"info",label:(0,o.__)("Help","simple-video-preview"),onClick:s,"aria-expanded":e,children:(0,o.__)("Help","simple-video-preview")}),e&&(0,d.jsxs)("div",{className:"simple-video-preview-popover",children:[(0,d.jsx)(r.Button,{icon:"no-alt",label:(0,o.__)("Close","simple-video-preview"),onClick:s,className:"simple-video-preview-popover-close"}),(0,d.jsx)("h1",{children:(0,o.__)("Simple Video Preview","simple-video-preview")}),(0,d.jsx)("p",{children:(0,o.__)("The plugin supports the following URL formats:","simple-video-preview")}),(0,d.jsxs)("ul",{children:[(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:(0,o.__)("YouTube:","simple-video-preview")}),(0,d.jsxs)("ul",{children:[(0,d.jsx)("li",{children:"https://www.youtube.com/watch?v=[VIDEO_ID]"}),(0,d.jsx)("li",{children:"https://www.youtube.com/shorts/[VIDEO_ID]"}),(0,d.jsx)("li",{children:"https://www.youtube.com/embed/[VIDEO_ID]"}),(0,d.jsx)("li",{children:"https://youtu.be/[VIDEO_ID]"})]})]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:(0,o.__)("Wistia:","simple-video-preview")}),(0,d.jsxs)("ul",{children:[(0,d.jsx)("li",{children:"https://wistia.com/watch/wistia-overview?wchannelid=[CHANNEL_ID]&wmediaid=[MEDIA_ID]"}),(0,d.jsx)("li",{children:"https://home.wistia.com/medias/[MEDIA_ID]"}),(0,d.jsx)("li",{children:"https://fast.wistia.net/embed/iframe/[MEDIA_ID]"})]})]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:(0,o.__)("Vimeo:","simple-video-preview")}),(0,d.jsxs)("ul",{children:[(0,d.jsx)("li",{children:"https://vimeo.com/[VIDEO_ID]"}),(0,d.jsx)("li",{children:"https://vimeo.com/[VIDEO_ID]_[VIDEO_TITLE]"})]})]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:(0,o.__)("Dailymotion:","simple-video-preview")}),(0,d.jsxs)("ul",{children:[(0,d.jsx)("li",{children:"https://www.dailymotion.com/video/[VIDEO_ID]"}),(0,d.jsx)("li",{children:"https://www.dailymotion.com/embed/video/[VIDEO_ID]"})]})]})]})]})]})};(0,e.registerBlockType)("juzeddev/simple-video-preview",{edit:function({attributes:e,setAttributes:l,clientId:h}){const{videoUrl:u="",videoThumbnails:v,videoTitle:w,credit:b,hasCaption:_,hasCreditOverlap:g,backgroundColor:x,style:j}=e,f=(0,t.useBlockProps)(),y=(0,t.useInnerBlocksProps)({className:"simple-video-preview__caption"},{allowedBlocks:["core/paragraph","core/list","core/details"],template:[["core/paragraph",{placeholder:(0,o.__)("Add a legend for the video...","simple-video-preview")}]]}),I=(0,s.useSelect)((e=>e("core/block-editor").getBlock(h)?.innerBlocks));(0,i.useEffect)((()=>{const e=a(I);e!==_&&l({hasCaption:e})}),[I,_,l]);const T=c({hasCreditOverlap:g,backgroundColor:x,style:j,blockProps:f}),{error:C,isLoading:k}=((e,t)=>{const[s,r]=(0,i.useState)(null),[o,l]=(0,i.useState)(!1),a=(0,i.useCallback)(t,[]);return(0,i.useEffect)((()=>{if(!e)return r(null),void l(!1);let i=!0;return(async()=>{try{l(!0),r(null);const t=await(async e=>{try{return await n.getThumbnails(e)}catch(e){return console.error(e.message),null}})(e);if(!i)return;if(t){const e={service:t.service,thumbnail:t.thumbnails[0].src,srcset:t.thumbnails.map((e=>`${e.src} ${e.width}w`)).join(", "),sizes:t.thumbnails.map((e=>`(max-width: ${e.width}px) ${e.width}px`)).join(", ")};a?.(e)}else r("Unsupported video service for this URL.")}catch(e){i&&r(`Error while loading thumbnails: ${e.message}`)}finally{i&&l(!1)}})(),()=>{i=!1}}),[e,a]),{error:s,isLoading:o}})(u,(e=>{l({videoThumbnails:e})})),O={...f};return delete O.style,(0,d.jsxs)("div",{...O,children:[(0,d.jsx)(t.InspectorControls,{children:(0,d.jsxs)(r.PanelBody,{title:(0,o.__)("Simple Video Preview Settings","simple-video-preview"),initialOpen:!0,children:[(0,d.jsx)(r.TextControl,{label:(0,o.__)("Video URL","simple-video-preview"),value:u,onChange:e=>l({videoUrl:e})}),(0,d.jsx)(r.TextControl,{label:(0,o.__)("Video Title","simple-video-preview"),value:w,onChange:e=>l({videoTitle:e})}),(0,d.jsx)(r.TextControl,{label:(0,o.__)("Credit","simple-video-preview"),value:b,onChange:e=>l({credit:e})}),(0,d.jsx)(r.ToggleControl,{__nextHasNoMarginBottom:!0,label:(0,o.__)("Overlapping credit","simple-video-preview"),help:g?(0,o.__)("Credit is overlapping preview.","simple-video-preview"):(0,o.__)("Credit is under preview.","simple-video-preview"),checked:g,onChange:e=>l({hasCreditOverlap:e})}),(0,d.jsx)(m,{})]})}),C&&(0,d.jsx)("div",{className:"simple-video-preview__error",children:C}),k&&(0,d.jsx)("span",{className:"simple-video-preview__loading",children:(0,o.__)("Loading...","simple-video-preview")}),u?(0,d.jsx)(p,{videoThumbnails:v,videoTitle:w,credit:b,creditProps:T,children:(0,d.jsx)("figcaption",{...y})}):(0,d.jsx)("span",{className:"simple-video-preview__container simple-video-preview__container-empty"})]})},save:function({attributes:e}){const{videoUrl:i,videoThumbnails:s,videoTitle:r,credit:l,hasCreditOverlap:n,hasCaption:a,backgroundColor:p,style:m}=e,u=t.useBlockProps.save(),v=t.useInnerBlocksProps.save({className:"simple-video-preview__caption"}),{creditClassName:w,creditInnerClassName:b,creditInnerStyle:_}=c({hasCreditOverlap:n,backgroundColor:p,style:m,blockProps:u});return i?(0,d.jsx)("div",{className:u.className,children:(0,d.jsx)("div",{className:"simple-video-preview",children:(0,d.jsxs)("figure",{children:[(0,d.jsx)("span",{className:"simple-video-preview__container",children:(0,d.jsx)("a",{className:"simple-video-preview__link",title:r?(0,o.__)("Watch %%videoTitle%% (new tab)","simple-video-preview").replace("%%videoTitle%%",`"${r}"`):(0,o.__)("Watch video (new tab)","simple-video-preview"),href:i,target:"_blank",rel:"noopener noreferrer",children:s?(0,d.jsx)(h,{thumbnails:s,videoTitle:r}):null})}),l&&(0,d.jsx)("span",{className:w,children:(0,d.jsx)("span",{className:b,style:_,children:l})}),a&&(0,d.jsx)("figcaption",{...v})]})})}):""}})}},t={};function s(e){var r=t[e];if(void 0!==r)return r.exports;var o=t[e]={exports:{}};return i[e](o,o.exports,s),o.exports}s.m=i,e=[],s.O=(i,t,r,o)=>{if(!t){var l=1/0;for(d=0;d<e.length;d++){for(var[t,r,o]=e[d],n=!0,a=0;a<t.length;a++)(!1&o||l>=o)&&Object.keys(s.O).every((e=>s.O[e](t[a])))?t.splice(a--,1):(n=!1,o<l&&(l=o));if(n){e.splice(d--,1);var c=r();void 0!==c&&(i=c)}}return i}o=o||0;for(var d=e.length;d>0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[t,r,o]},s.o=(e,i)=>Object.prototype.hasOwnProperty.call(e,i),(()=>{var e={57:0,350:0};s.O.j=i=>0===e[i];var i=(i,t)=>{var r,o,[l,n,a]=t,c=0;if(l.some((i=>0!==e[i]))){for(r in n)s.o(n,r)&&(s.m[r]=n[r]);if(a)var d=a(s)}for(i&&i(t);c<l.length;c++)o=l[c],s.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return s.O(d)},t=globalThis.webpackChunk=globalThis.webpackChunk||[];t.forEach(i.bind(null,0)),t.push=i.bind(null,t.push.bind(t))})();var r=s.O(void 0,[350],(()=>s(958)));r=s.O(r)})(); -
simple-video-preview/tags/1.0.1/build/style-index-rtl.css
r3299186 r3317753 1 /*!***************************************************************************************************************************************************************************************************************************************!*\ 2 !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***! 3 \***************************************************************************************************************************************************************************************************************************************/ 4 .simple-video-preview__container { 5 display: block; 6 position: relative; 7 aspect-ratio: 16/9; 8 } 9 .simple-video-preview__container-empty { 10 background-color: #d0d0d0; 11 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=); 12 background-size: 150px 150px; 13 background-repeat: no-repeat; 14 background-position: center; 15 } 16 .simple-video-preview__link { 17 display: block; 18 height: 100%; 19 } 20 .simple-video-preview__image { 21 width: 100%; 22 height: 100%; 23 } 24 .simple-video-preview__play-button { 25 display: block; 26 position: absolute; 27 inset: 0; 28 background-size: 150px 150px; 29 background-repeat: no-repeat; 30 background-position: center; 31 } 32 .simple-video-preview__play-button.youtube { 33 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTI3Ljk3MjcgMy4xMjMyNEMyNy42NDM1IDEuODkzMjMgMjYuNjc2OCAwLjkyNjYyMyAyNS40NDY4IDAuNTk3MzY2QzIzLjIxOTcgMi4yNDI4OGUtMDcgMTQuMjg1IDAgMTQuMjg1IDBDMTQuMjg1IDAgNS4zNTA0MiAyLjI0Mjg4ZS0wNyAzLjEyMzIzIDAuNTk3MzY2QzEuODkzMjMgMC45MjY2MjMgMC45MjY2MjMgMS44OTMyMyAwLjU5NzM2NiAzLjEyMzI0QzIuMjQyODhlLTA3IDUuMzUwNDIgMCAxMCAwIDEwQzAgMTAgMi4yNDI4OGUtMDcgMTQuNjQ5NiAwLjU5NzM2NiAxNi44NzY4QzAuOTI2NjIzIDE4LjEwNjggMS44OTMyMyAxOS4wNzM0IDMuMTIzMjMgMTkuNDAyNkM1LjM1MDQyIDIwIDE0LjI4NSAyMCAxNC4yODUgMjBDMTQuMjg1IDIwIDIzLjIxOTcgMjAgMjUuNDQ2OCAxOS40MDI2QzI2LjY3NjggMTkuMDczNCAyNy42NDM1IDE4LjEwNjggMjcuOTcyNyAxNi44NzY4QzI4LjU3MDEgMTQuNjQ5NiAyOC41NzAxIDEwIDI4LjU3MDEgMTBDMjguNTcwMSAxMCAyOC41Njc3IDUuMzUwNDIgMjcuOTcyNyAzLjEyMzI0WiIgZmlsbD0iI0ZGMDAwMCI+PC9wYXRoPgogICAgICA8cGF0aCBkPSJNMTEuNDI1MyAxNC4yODU0TDE4Ljg0NzcgMTAuMDAwNEwxMS40MjUzIDUuNzE1MzNWMTQuMjg1NFoiIGZpbGw9IndoaXRlIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+Cjwvc3ZnPg==); 34 } 35 .simple-video-preview__play-button.dailymotion { 36 background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSJ3aGl0ZSIgb3BhY2l0eT0iMC42Ii8+CiAgICA8cG9seWdvbiBwb2ludHM9IjcwLDM1IDk1LDUwIDcwLDY1IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K); 37 } 38 .simple-video-preview__play-button.vimeo { 39 background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSIjNDBiNGU3IiBvcGFjaXR5PSIwLjYiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNzAsMzUgOTUsNTAgNzAsNjUiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=); 40 } 41 .simple-video-preview__play-button.wistia { 42 background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgcng9IjcuNDM1OTQiIHJ5PSI3LjQzNTk0IiBmaWxsPSIjMTc0YmQyIiBvcGFjaXR5PSIwLjkiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNjAsMzAgMTAwLDUwIDYwLDcwIiBmaWxsPSIjZmZmZmZmIi8+Cjwvc3ZnPgo=); 43 } 44 .simple-video-preview__credit-inner { 45 display: inline-block; 46 } 47 .simple-video-preview__credit.overlapping { 48 display: block; 49 height: 0; 50 } 51 .simple-video-preview__credit.overlapping .simple-video-preview__credit-inner { 52 transform: translateY(-100%); 53 } 54 .simple-video-preview .simple-video-preview__caption { 55 text-align: initial; 56 margin-top: 0; 57 } 58 .simple-video-preview .simple-video-preview__caption > *:first-child { 59 margin-top: 0; 60 } 1 .simple-video-preview__container{aspect-ratio:16/9;display:block;position:relative}.simple-video-preview__container-empty{background-color:#d0d0d0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=);background-position:50%;background-repeat:no-repeat;background-size:150px 150px}.simple-video-preview__link{display:block;height:100%}.simple-video-preview__image{height:100%;width:100%}.simple-video-preview__play-button{background-position:50%;background-repeat:no-repeat;background-size:150px 150px;display:block;inset:0;position:absolute}.simple-video-preview__play-button.youtube{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTI3Ljk3MjcgMy4xMjMyNEMyNy42NDM1IDEuODkzMjMgMjYuNjc2OCAwLjkyNjYyMyAyNS40NDY4IDAuNTk3MzY2QzIzLjIxOTcgMi4yNDI4OGUtMDcgMTQuMjg1IDAgMTQuMjg1IDBDMTQuMjg1IDAgNS4zNTA0MiAyLjI0Mjg4ZS0wNyAzLjEyMzIzIDAuNTk3MzY2QzEuODkzMjMgMC45MjY2MjMgMC45MjY2MjMgMS44OTMyMyAwLjU5NzM2NiAzLjEyMzI0QzIuMjQyODhlLTA3IDUuMzUwNDIgMCAxMCAwIDEwQzAgMTAgMi4yNDI4OGUtMDcgMTQuNjQ5NiAwLjU5NzM2NiAxNi44NzY4QzAuOTI2NjIzIDE4LjEwNjggMS44OTMyMyAxOS4wNzM0IDMuMTIzMjMgMTkuNDAyNkM1LjM1MDQyIDIwIDE0LjI4NSAyMCAxNC4yODUgMjBDMTQuMjg1IDIwIDIzLjIxOTcgMjAgMjUuNDQ2OCAxOS40MDI2QzI2LjY3NjggMTkuMDczNCAyNy42NDM1IDE4LjEwNjggMjcuOTcyNyAxNi44NzY4QzI4LjU3MDEgMTQuNjQ5NiAyOC41NzAxIDEwIDI4LjU3MDEgMTBDMjguNTcwMSAxMCAyOC41Njc3IDUuMzUwNDIgMjcuOTcyNyAzLjEyMzI0WiIgZmlsbD0iI0ZGMDAwMCI+PC9wYXRoPgogICAgICA8cGF0aCBkPSJNMTEuNDI1MyAxNC4yODU0TDE4Ljg0NzcgMTAuMDAwNEwxMS40MjUzIDUuNzE1MzNWMTQuMjg1NFoiIGZpbGw9IndoaXRlIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+Cjwvc3ZnPg==)}.simple-video-preview__play-button.dailymotion{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSJ3aGl0ZSIgb3BhY2l0eT0iMC42Ii8+CiAgICA8cG9seWdvbiBwb2ludHM9IjcwLDM1IDk1LDUwIDcwLDY1IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K)}.simple-video-preview__play-button.vimeo{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSIjNDBiNGU3IiBvcGFjaXR5PSIwLjYiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNzAsMzUgOTUsNTAgNzAsNjUiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=)}.simple-video-preview__play-button.wistia{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgcng9IjcuNDM1OTQiIHJ5PSI3LjQzNTk0IiBmaWxsPSIjMTc0YmQyIiBvcGFjaXR5PSIwLjkiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNjAsMzAgMTAwLDUwIDYwLDcwIiBmaWxsPSIjZmZmZmZmIi8+Cjwvc3ZnPgo=)}.simple-video-preview__credit-inner{display:inline-block}.simple-video-preview__credit.overlapping{display:block;height:0}.simple-video-preview__credit.overlapping .simple-video-preview__credit-inner{transform:translateY(-100%)}.simple-video-preview .simple-video-preview__caption{margin-top:0;text-align:initial}.simple-video-preview .simple-video-preview__caption>:first-child{margin-top:0} -
simple-video-preview/tags/1.0.1/build/style-index.css
r3299186 r3317753 1 /*!***************************************************************************************************************************************************************************************************************************************!*\ 2 !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***! 3 \***************************************************************************************************************************************************************************************************************************************/ 4 .simple-video-preview__container { 5 display: block; 6 position: relative; 7 aspect-ratio: 16/9; 8 } 9 .simple-video-preview__container-empty { 10 background-color: #d0d0d0; 11 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=); 12 background-size: 150px 150px; 13 background-repeat: no-repeat; 14 background-position: center; 15 } 16 .simple-video-preview__link { 17 display: block; 18 height: 100%; 19 } 20 .simple-video-preview__image { 21 width: 100%; 22 height: 100%; 23 } 24 .simple-video-preview__play-button { 25 display: block; 26 position: absolute; 27 inset: 0; 28 background-size: 150px 150px; 29 background-repeat: no-repeat; 30 background-position: center; 31 } 32 .simple-video-preview__play-button.youtube { 33 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTI3Ljk3MjcgMy4xMjMyNEMyNy42NDM1IDEuODkzMjMgMjYuNjc2OCAwLjkyNjYyMyAyNS40NDY4IDAuNTk3MzY2QzIzLjIxOTcgMi4yNDI4OGUtMDcgMTQuMjg1IDAgMTQuMjg1IDBDMTQuMjg1IDAgNS4zNTA0MiAyLjI0Mjg4ZS0wNyAzLjEyMzIzIDAuNTk3MzY2QzEuODkzMjMgMC45MjY2MjMgMC45MjY2MjMgMS44OTMyMyAwLjU5NzM2NiAzLjEyMzI0QzIuMjQyODhlLTA3IDUuMzUwNDIgMCAxMCAwIDEwQzAgMTAgMi4yNDI4OGUtMDcgMTQuNjQ5NiAwLjU5NzM2NiAxNi44NzY4QzAuOTI2NjIzIDE4LjEwNjggMS44OTMyMyAxOS4wNzM0IDMuMTIzMjMgMTkuNDAyNkM1LjM1MDQyIDIwIDE0LjI4NSAyMCAxNC4yODUgMjBDMTQuMjg1IDIwIDIzLjIxOTcgMjAgMjUuNDQ2OCAxOS40MDI2QzI2LjY3NjggMTkuMDczNCAyNy42NDM1IDE4LjEwNjggMjcuOTcyNyAxNi44NzY4QzI4LjU3MDEgMTQuNjQ5NiAyOC41NzAxIDEwIDI4LjU3MDEgMTBDMjguNTcwMSAxMCAyOC41Njc3IDUuMzUwNDIgMjcuOTcyNyAzLjEyMzI0WiIgZmlsbD0iI0ZGMDAwMCI+PC9wYXRoPgogICAgICA8cGF0aCBkPSJNMTEuNDI1MyAxNC4yODU0TDE4Ljg0NzcgMTAuMDAwNEwxMS40MjUzIDUuNzE1MzNWMTQuMjg1NFoiIGZpbGw9IndoaXRlIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+Cjwvc3ZnPg==); 34 } 35 .simple-video-preview__play-button.dailymotion { 36 background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSJ3aGl0ZSIgb3BhY2l0eT0iMC42Ii8+CiAgICA8cG9seWdvbiBwb2ludHM9IjcwLDM1IDk1LDUwIDcwLDY1IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K); 37 } 38 .simple-video-preview__play-button.vimeo { 39 background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSIjNDBiNGU3IiBvcGFjaXR5PSIwLjYiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNzAsMzUgOTUsNTAgNzAsNjUiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=); 40 } 41 .simple-video-preview__play-button.wistia { 42 background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgcng9IjcuNDM1OTQiIHJ5PSI3LjQzNTk0IiBmaWxsPSIjMTc0YmQyIiBvcGFjaXR5PSIwLjkiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNjAsMzAgMTAwLDUwIDYwLDcwIiBmaWxsPSIjZmZmZmZmIi8+Cjwvc3ZnPgo=); 43 } 44 .simple-video-preview__credit-inner { 45 display: inline-block; 46 } 47 .simple-video-preview__credit.overlapping { 48 display: block; 49 height: 0; 50 } 51 .simple-video-preview__credit.overlapping .simple-video-preview__credit-inner { 52 transform: translateY(-100%); 53 } 54 .simple-video-preview .simple-video-preview__caption { 55 text-align: initial; 56 margin-top: 0; 57 } 58 .simple-video-preview .simple-video-preview__caption > *:first-child { 59 margin-top: 0; 60 } 61 62 /*# sourceMappingURL=style-index.css.map*/ 1 .simple-video-preview__container{aspect-ratio:16/9;display:block;position:relative}.simple-video-preview__container-empty{background-color:#d0d0d0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=);background-position:50%;background-repeat:no-repeat;background-size:150px 150px}.simple-video-preview__link{display:block;height:100%}.simple-video-preview__image{height:100%;width:100%}.simple-video-preview__play-button{background-position:50%;background-repeat:no-repeat;background-size:150px 150px;display:block;inset:0;position:absolute}.simple-video-preview__play-button.youtube{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTI3Ljk3MjcgMy4xMjMyNEMyNy42NDM1IDEuODkzMjMgMjYuNjc2OCAwLjkyNjYyMyAyNS40NDY4IDAuNTk3MzY2QzIzLjIxOTcgMi4yNDI4OGUtMDcgMTQuMjg1IDAgMTQuMjg1IDBDMTQuMjg1IDAgNS4zNTA0MiAyLjI0Mjg4ZS0wNyAzLjEyMzIzIDAuNTk3MzY2QzEuODkzMjMgMC45MjY2MjMgMC45MjY2MjMgMS44OTMyMyAwLjU5NzM2NiAzLjEyMzI0QzIuMjQyODhlLTA3IDUuMzUwNDIgMCAxMCAwIDEwQzAgMTAgMi4yNDI4OGUtMDcgMTQuNjQ5NiAwLjU5NzM2NiAxNi44NzY4QzAuOTI2NjIzIDE4LjEwNjggMS44OTMyMyAxOS4wNzM0IDMuMTIzMjMgMTkuNDAyNkM1LjM1MDQyIDIwIDE0LjI4NSAyMCAxNC4yODUgMjBDMTQuMjg1IDIwIDIzLjIxOTcgMjAgMjUuNDQ2OCAxOS40MDI2QzI2LjY3NjggMTkuMDczNCAyNy42NDM1IDE4LjEwNjggMjcuOTcyNyAxNi44NzY4QzI4LjU3MDEgMTQuNjQ5NiAyOC41NzAxIDEwIDI4LjU3MDEgMTBDMjguNTcwMSAxMCAyOC41Njc3IDUuMzUwNDIgMjcuOTcyNyAzLjEyMzI0WiIgZmlsbD0iI0ZGMDAwMCI+PC9wYXRoPgogICAgICA8cGF0aCBkPSJNMTEuNDI1MyAxNC4yODU0TDE4Ljg0NzcgMTAuMDAwNEwxMS40MjUzIDUuNzE1MzNWMTQuMjg1NFoiIGZpbGw9IndoaXRlIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+Cjwvc3ZnPg==)}.simple-video-preview__play-button.dailymotion{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSJ3aGl0ZSIgb3BhY2l0eT0iMC42Ii8+CiAgICA8cG9seWdvbiBwb2ludHM9IjcwLDM1IDk1LDUwIDcwLDY1IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K)}.simple-video-preview__play-button.vimeo{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSIjNDBiNGU3IiBvcGFjaXR5PSIwLjYiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNzAsMzUgOTUsNTAgNzAsNjUiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=)}.simple-video-preview__play-button.wistia{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgcng9IjcuNDM1OTQiIHJ5PSI3LjQzNTk0IiBmaWxsPSIjMTc0YmQyIiBvcGFjaXR5PSIwLjkiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNjAsMzAgMTAwLDUwIDYwLDcwIiBmaWxsPSIjZmZmZmZmIi8+Cjwvc3ZnPgo=)}.simple-video-preview__credit-inner{display:inline-block}.simple-video-preview__credit.overlapping{display:block;height:0}.simple-video-preview__credit.overlapping .simple-video-preview__credit-inner{transform:translateY(-100%)}.simple-video-preview .simple-video-preview__caption{margin-top:0;text-align:initial}.simple-video-preview .simple-video-preview__caption>:first-child{margin-top:0} -
simple-video-preview/tags/1.0.1/lang/simple-video-preview-fr_FR-bb1d7dea005e67527e728d4801f74b61.json
r3299186 r3317753 1 1 { 2 2 "translation-revision-date": "2025-05-19 12:40+0000", 3 "generator": "WP-CLI\/2.1 1.0",3 "generator": "WP-CLI\/2.12.0", 4 4 "source": "src\/edit.js", 5 5 "domain": "messages", … … 17 17 "Cr\u00e9dit" 18 18 ], 19 "Credit is above preview.": [20 "Le cr\u00e9dit est en dessous de l'aper\u00e7u"21 ],22 19 "Credit is overlapping preview.": [ 23 "Le cr\u00e9dit chevauche l'aper\u00e7u "20 "Le cr\u00e9dit chevauche l'aper\u00e7u." 24 21 ], 25 22 "Loading...": [ … … 30 27 ], 31 28 "Simple Video Preview Settings": [ 32 "R\u00e9glages de Simple Aper\u00e7u de Vid\u00e9o"29 "R\u00e9glages de Simple Video Preview" 33 30 ], 34 31 "Video Title": [ … … 37 34 "Video URL": [ 38 35 "URL de la Vid\u00e9o" 36 ], 37 "Credit is under preview.": [ 38 "Le cr\u00e9dit est en-dessous de l'aper\u00e7u." 39 39 ] 40 40 } -
simple-video-preview/tags/1.0.1/lang/simple-video-preview-fr_FR-cc7778b2494c1d8202ecacbc08e5a092.json
r3299186 r3317753 1 1 { 2 2 "translation-revision-date": "2025-05-19 12:40+0000", 3 "generator": "WP-CLI\/2.1 1.0",3 "generator": "WP-CLI\/2.12.0", 4 4 "source": "src\/components\/videoThumbnail.js", 5 5 "domain": "messages", -
simple-video-preview/tags/1.0.1/lang/simple-video-preview-fr_FR-dfbff627e6c248bcb3b61d7d06da9ca9.json
r3299186 r3317753 1 1 { 2 2 "translation-revision-date": "2025-05-19 12:40+0000", 3 "generator": "WP-CLI\/2.1 1.0",3 "generator": "WP-CLI\/2.12.0", 4 4 "source": "build\/index.js", 5 5 "domain": "messages", … … 23 23 "Cr\u00e9dit" 24 24 ], 25 "Credit is above preview.": [26 "Le cr\u00e9dit est en dessous de l'aper\u00e7u"27 ],28 25 "Credit is overlapping preview.": [ 29 "Le cr\u00e9dit chevauche l'aper\u00e7u "26 "Le cr\u00e9dit chevauche l'aper\u00e7u." 30 27 ], 31 28 "Dailymotion:": [ … … 42 39 ], 43 40 "Simple Video Preview": [ 44 "Simple Aper\u00e7u de Vid\u00e9o"41 "Simple Video Preview" 45 42 ], 46 43 "Simple Video Preview Settings": [ 47 "R\u00e9glages de Simple Aper\u00e7u de Vid\u00e9o"44 "R\u00e9glages de Simple Video Preview" 48 45 ], 49 46 "The plugin supports the following URL formats:": [ 50 "Ce plugin supporte les formats d'URL suivants :"47 "Cette extension supporte les formats d'URL suivants :" 51 48 ], 52 49 "Video Title": [ … … 70 67 "YouTube:": [ 71 68 "YouTube :" 69 ], 70 "Credit is under preview.": [ 71 "Le cr\u00e9dit est en-dessous de l'aper\u00e7u." 72 72 ] 73 73 } -
simple-video-preview/tags/1.0.1/lang/simple-video-preview-fr_FR-e04fbe6a5c70b27e442b045f357c333c.json
r3299186 r3317753 1 1 { 2 2 "translation-revision-date": "2025-05-19 12:40+0000", 3 "generator": "WP-CLI\/2.1 1.0",3 "generator": "WP-CLI\/2.12.0", 4 4 "source": "src\/components\/helpPopover.js", 5 5 "domain": "messages", … … 21 21 ], 22 22 "Simple Video Preview": [ 23 "Simple Aper\u00e7u de Vid\u00e9o"23 "Simple Video Preview" 24 24 ], 25 25 "The plugin supports the following URL formats:": [ 26 "Ce plugin supporte les formats d'URL suivants :"26 "Cette extension supporte les formats d'URL suivants :" 27 27 ], 28 28 "Vimeo:": [ -
simple-video-preview/tags/1.0.1/lang/simple-video-preview-fr_FR-eab28b5de5e8b001ec8968a7ad746aa5.json
r3299186 r3317753 1 1 { 2 2 "translation-revision-date": "2025-05-19 12:40+0000", 3 "generator": "WP-CLI\/2.1 1.0",3 "generator": "WP-CLI\/2.12.0", 4 4 "source": "src\/save.js", 5 5 "domain": "messages", -
simple-video-preview/tags/1.0.1/lang/simple-video-preview-fr_FR.l10n.php
r3299186 r3317753 1 1 <?php 2 return ['project-id-version'=>'Simple Video Preview 1.0.0','report-msgid-bugs-to'=>'https://wordpress.org/support/plugin/simple-video-preview','last-translator'=>'Ju\'Z[ed]','language-team'=>'Français','mime-version'=>'1.0','content-type'=>'text/plain; charset=UTF-8','content-transfer-encoding'=>'8bit','pot-creation-date'=>'2025-02-25T12:55:06+01:00','po-revision-date'=>'2025-05-19 12:40+0000','language'=>'fr_FR','x-generator'=>'Loco https://localise.biz/','x-domain'=>'simple-video-preview','plural-forms'=>'nplurals=2; plural=n > 1;','x-loco-version'=>'2.7.2; wp-6.8.1 3 ','messages'=>['%%videoTitle%% video preview'=>'Aperçu de la vidéo %%videoTitle%%','A Gutenberg block to display video previews from various online services with a play button.'=>'Un bloc Gutenberg pour afficher des aperçus de vidéos de divers services avec un bouton jouer.','Add a legend for the video...'=>'Ajouter une légende pour cette vidéo...','block descriptionA Gutenberg block to display video previews from various online services with a play button.'=>'Un bloc Gutenberg pour afficher des aperçus de vidéos de divers services avec un bouton jouer.','block titleSimple Video Preview'=>'Simple Aperçu de Vidéo','Close'=>'Fermer','Credit'=>'Crédit','Credit is above preview.'=>'Le crédit est en dessous de l\'aperçu','Credit is overlapping preview.'=>'Le crédit chevauche l\'aperçu','Dailymotion:'=>'Dailymotion :','Help'=>'Aide','https://juzed.dev/'=>'https://juzed.dev/','https://juzed.dev/projets/simple-video-preview'=>'https://juzed.dev/projets/simple-video-preview','Ju\'Z[ed]'=>'Ju\'Z[ed]','Loading...'=>'Chargement...','Overlapping credit'=>'Crédit chevauchant','Simple Video Preview'=>'Simple Aperçu de Vidéo','Simple Video Preview Settings'=>'Réglages de Simple Aperçu de Vidéo','The plugin supports the following URL formats:'=>'Ce plugin supporte les formats d\'URL suivants :','Video Title'=>'Titre de la Vidéo','Video URL'=>'URL de la Vidéo','Vimeo:'=>'Vimeo :','Watch %%videoTitle%% (new tab)'=>'Regarder %%videoTitle%% (nouvel onglet)','Watch video (new tab)'=>'Regarder la vidéo (nouvel onglet)','Wistia:'=>'Wistia :','YouTube:'=>'YouTube :']]; 2 return ['domain'=>'simple-video-preview','plural-forms'=>'nplurals=2; plural=n > 1;','language'=>'fr_FR','project-id-version'=>'Simple Video Preview 1.0.0','pot-creation-date'=>'2025-02-25T12:55:06+01:00','po-revision-date'=>'2025-05-19 12:40+0000','x-generator'=>'Loco https://localise.biz/','messages'=>['%%videoTitle%% video preview'=>'Aperçu de la vidéo %%videoTitle%%','A Gutenberg block to display video previews from various online services with a play button.'=>'Un bloc Gutenberg pour afficher des aperçus de vidéos de divers services avec un bouton jouer.','Add a legend for the video...'=>'Ajouter une légende pour cette vidéo...','block descriptionA Gutenberg block to display video previews from various online services with a play button.'=>'Un bloc Gutenberg pour afficher des aperçus de vidéos de divers services avec un bouton jouer.','block titleSimple Video Preview'=>'Simple Video Preview','Close'=>'Fermer','Credit'=>'Crédit','Credit is overlapping preview.'=>'Le crédit chevauche l\'aperçu.','Dailymotion:'=>'Dailymotion :','Help'=>'Aide','https://juzed.dev/'=>'https://juzed.dev/','https://juzed.dev/projets/simple-video-preview'=>'https://juzed.dev/projets/simple-video-preview','Ju\'Z[ed]'=>'Ju\'Z[ed]','Loading...'=>'Chargement...','Overlapping credit'=>'Crédit chevauchant','Simple Video Preview'=>'Simple Video Preview','Simple Video Preview Settings'=>'Réglages de Simple Video Preview','The plugin supports the following URL formats:'=>'Cette extension supporte les formats d\'URL suivants :','Video Title'=>'Titre de la Vidéo','Video URL'=>'URL de la Vidéo','Vimeo:'=>'Vimeo :','Watch %%videoTitle%% (new tab)'=>'Regarder %%videoTitle%% (nouvel onglet)','Watch video (new tab)'=>'Regarder la vidéo (nouvel onglet)','Wistia:'=>'Wistia :','YouTube:'=>'YouTube :','Credit is under preview.'=>'Le crédit est en-dessous de l\'aperçu.']]; -
simple-video-preview/tags/1.0.1/lang/simple-video-preview-fr_FR.po
r3299186 r3317753 16 16 "X-Loco-Version: 2.7.2; wp-6.8.1\n" 17 17 18 #: build/index.js:1 8118 #: build/index.js:1 19 19 #: src/components/videoThumbnail.js:14 20 #: build/index.js:11921 20 #, javascript-format 22 21 msgid "%%videoTitle%% video preview" … … 28 27 msgstr "Un bloc Gutenberg pour afficher des aperçus de vidéos de divers services avec un bouton jouer." 29 28 30 #: build/index.js: 25129 #: build/index.js:1 31 30 #: src/edit.js:29 32 #: build/index.js:15833 31 msgid "Add a legend for the video..." 34 32 msgstr "Ajouter une légende pour cette vidéo..." … … 44 42 msgctxt "block title" 45 43 msgid "Simple Video Preview" 46 msgstr "Simple Aperçu de Vidéo"44 msgstr "Simple Video Preview" 47 45 48 #: build/index.js: 4446 #: build/index.js:1 49 47 #: src/components/helpPopover.js:28 50 #: build/index.js:2851 48 msgid "Close" 52 49 msgstr "Fermer" 53 50 54 #: build/index.js: 30151 #: build/index.js:1 55 52 #: src/edit.js:79 56 #: build/index.js:20857 53 msgid "Credit" 58 54 msgstr "Crédit" 59 55 60 #: build/index.js:309 61 #: src/edit.js:88 62 #: build/index.js:217 63 msgid "Credit is above preview." 64 msgstr "Le crédit est en dessous de l'aperçu" 56 #: build/index.js:1 57 #: src/edit.js:87 58 msgid "Credit is overlapping preview." 59 msgstr "Le crédit chevauche l'aperçu." 65 60 66 #: build/index.js:309 67 #: src/edit.js:87 68 #: build/index.js:216 69 msgid "Credit is overlapping preview." 70 msgstr "Le crédit chevauche l'aperçu" 71 72 #: build/index.js:90 61 #: build/index.js:1 73 62 #: src/components/helpPopover.js:60 74 #: build/index.js:6075 63 msgid "Dailymotion:" 76 64 msgstr "Dailymotion :" 77 65 78 #: build/index.js:36 79 #: build/index.js:39 66 #: build/index.js:1 80 67 #: src/components/helpPopover.js:17 81 68 #: src/components/helpPopover.js:21 82 #: build/index.js:1783 #: build/index.js:2184 69 msgid "Help" 85 70 msgstr "Aide" … … 100 85 msgstr "Ju'Z[ed]" 101 86 102 #: build/index.js: 32187 #: build/index.js:1 103 88 #: src/edit.js:102 104 #: build/index.js:231105 89 msgid "Loading..." 106 90 msgstr "Chargement..." 107 91 108 #: build/index.js: 30892 #: build/index.js:1 109 93 #: src/edit.js:85 110 #: build/index.js:214111 94 msgid "Overlapping credit" 112 95 msgstr "Crédit chevauchant" … … 114 97 #. Plugin Name of the plugin 115 98 #: simple-video-preview.php 116 #: build/index.js: 4899 #: build/index.js:1 117 100 #: src/components/helpPopover.js:32 118 #: build/index.js:32119 101 msgid "Simple Video Preview" 120 msgstr "Simple Aperçu de Vidéo"102 msgstr "Simple Video Preview" 121 103 122 #: build/index.js: 286104 #: build/index.js:1 123 105 #: src/edit.js:65 124 #: build/index.js:194125 106 msgid "Simple Video Preview Settings" 126 msgstr "Réglages de Simple Aperçu de Vidéo"107 msgstr "Réglages de Simple Video Preview" 127 108 128 #: build/index.js: 50109 #: build/index.js:1 129 110 #: src/components/helpPopover.js:33 130 #: build/index.js:33131 111 msgid "The plugin supports the following URL formats:" 132 msgstr "Ce plugin supporte les formats d'URL suivants :"112 msgstr "Cette extension supporte les formats d'URL suivants :" 133 113 134 #: build/index.js: 295114 #: build/index.js:1 135 115 #: src/edit.js:74 136 #: build/index.js:203137 116 msgid "Video Title" 138 117 msgstr "Titre de la Vidéo" 139 118 140 #: build/index.js: 289119 #: build/index.js:1 141 120 #: src/edit.js:69 142 #: build/index.js:198143 121 msgid "Video URL" 144 122 msgstr "URL de la Vidéo" 145 123 146 #: build/index.js: 80124 #: build/index.js:1 147 125 #: src/components/helpPopover.js:53 148 #: build/index.js:53149 126 msgid "Vimeo:" 150 127 msgstr "Vimeo :" 151 128 152 #: build/index.js: 501129 #: build/index.js:1 153 130 #: src/save.js:26 154 #: build/index.js:353155 131 #, javascript-format 156 132 msgid "Watch %%videoTitle%% (new tab)" 157 133 msgstr "Regarder %%videoTitle%% (nouvel onglet)" 158 134 159 #: build/index.js: 501135 #: build/index.js:1 160 136 #: src/save.js:26 161 #: build/index.js:353162 137 msgid "Watch video (new tab)" 163 138 msgstr "Regarder la vidéo (nouvel onglet)" 164 139 165 #: build/index.js: 68140 #: build/index.js:1 166 141 #: src/components/helpPopover.js:45 167 #: build/index.js:45168 142 msgid "Wistia:" 169 143 msgstr "Wistia :" 170 144 171 #: build/index.js: 54145 #: build/index.js:1 172 146 #: src/components/helpPopover.js:36 173 #: build/index.js:36174 147 msgid "YouTube:" 175 148 msgstr "YouTube :" 149 150 #: build/index.js:1 151 #: src/edit.js:88 152 msgid "Credit is under preview." 153 msgstr "Le crédit est en-dessous de l'aperçu." -
simple-video-preview/tags/1.0.1/lang/simple-video-preview.pot
r3299186 r3317753 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025-0 5-19T12:41:15+00:00\n"12 "POT-Creation-Date: 2025-06-25T11:26:44+02:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 "X-Generator: WP-CLI 2.1 1.0\n"14 "X-Generator: WP-CLI 2.12.0\n" 15 15 "X-Domain: simple-video-preview\n" 16 16 17 17 #. Plugin Name of the plugin 18 18 #: simple-video-preview.php 19 #: build/index.js: 4819 #: build/index.js:1 20 20 #: src/components/helpPopover.js:32 21 #: build/index.js:3222 21 msgid "Simple Video Preview" 23 22 msgstr "" … … 43 42 msgstr "" 44 43 45 #: build/index.js:36 46 #: build/index.js:39 44 #: build/index.js:1 45 #: src/components/videoThumbnail.js:14 46 msgid "%%videoTitle%% video preview" 47 msgstr "" 48 49 #: build/index.js:1 47 50 #: src/components/helpPopover.js:17 48 51 #: src/components/helpPopover.js:21 49 #: build/index.js:1750 #: build/index.js:2151 52 msgid "Help" 52 53 msgstr "" 53 54 54 #: build/index.js: 4455 #: build/index.js:1 55 56 #: src/components/helpPopover.js:28 56 #: build/index.js:2857 57 msgid "Close" 58 58 msgstr "" 59 59 60 #: build/index.js: 5060 #: build/index.js:1 61 61 #: src/components/helpPopover.js:33 62 #: build/index.js:3363 62 msgid "The plugin supports the following URL formats:" 64 63 msgstr "" 65 64 66 #: build/index.js: 5465 #: build/index.js:1 67 66 #: src/components/helpPopover.js:36 68 #: build/index.js:3669 67 msgid "YouTube:" 70 68 msgstr "" 71 69 72 #: build/index.js: 6870 #: build/index.js:1 73 71 #: src/components/helpPopover.js:45 74 #: build/index.js:4575 72 msgid "Wistia:" 76 73 msgstr "" 77 74 78 #: build/index.js: 8075 #: build/index.js:1 79 76 #: src/components/helpPopover.js:53 80 #: build/index.js:5381 77 msgid "Vimeo:" 82 78 msgstr "" 83 79 84 #: build/index.js: 9080 #: build/index.js:1 85 81 #: src/components/helpPopover.js:60 86 #: build/index.js:6087 82 msgid "Dailymotion:" 88 83 msgstr "" 89 84 90 #: build/index.js:181 91 #: src/components/videoThumbnail.js:14 92 #: build/index.js:119 93 msgid "%%videoTitle%% video preview" 94 msgstr "" 95 96 #: build/index.js:251 85 #: build/index.js:1 97 86 #: src/edit.js:29 98 #: build/index.js:15899 87 msgid "Add a legend for the video..." 100 88 msgstr "" 101 89 102 #: build/index.js: 28690 #: build/index.js:1 103 91 #: src/edit.js:65 104 #: build/index.js:194105 92 msgid "Simple Video Preview Settings" 106 93 msgstr "" 107 94 108 #: build/index.js: 28995 #: build/index.js:1 109 96 #: src/edit.js:69 110 #: build/index.js:198111 97 msgid "Video URL" 112 98 msgstr "" 113 99 114 #: build/index.js: 295100 #: build/index.js:1 115 101 #: src/edit.js:74 116 #: build/index.js:203117 102 msgid "Video Title" 118 103 msgstr "" 119 104 120 #: build/index.js: 301105 #: build/index.js:1 121 106 #: src/edit.js:79 122 #: build/index.js:208123 107 msgid "Credit" 124 108 msgstr "" 125 109 126 #: build/index.js: 308110 #: build/index.js:1 127 111 #: src/edit.js:85 128 #: build/index.js:214129 112 msgid "Overlapping credit" 130 113 msgstr "" 131 114 132 #: build/index.js: 309115 #: build/index.js:1 133 116 #: src/edit.js:87 134 #: build/index.js:216135 117 msgid "Credit is overlapping preview." 136 118 msgstr "" 137 119 138 #: build/index.js: 309120 #: build/index.js:1 139 121 #: src/edit.js:88 140 #: build/index.js:217 141 msgid "Credit is above preview." 122 msgid "Credit is under preview." 142 123 msgstr "" 143 124 144 #: build/index.js: 321125 #: build/index.js:1 145 126 #: src/edit.js:102 146 #: build/index.js:231147 127 msgid "Loading..." 148 128 msgstr "" 149 129 150 #: build/index.js: 501130 #: build/index.js:1 151 131 #: src/save.js:26 152 #: build/index.js:353153 132 msgid "Watch %%videoTitle%% (new tab)" 154 133 msgstr "" 155 134 156 #: build/index.js: 501135 #: build/index.js:1 157 136 #: src/save.js:26 158 #: build/index.js:353159 137 msgid "Watch video (new tab)" 160 138 msgstr "" -
simple-video-preview/tags/1.0.1/readme.txt
r3299186 r3317753 3 3 Requires at least: 6.0 4 4 Tested up to: 6.8 5 Stable tag: 1.0. 05 Stable tag: 1.0.1 6 6 Requires PHP: 7.0 7 7 License: GPLv2 or later … … 15 15 Simple Video Preview is a Gutenberg block that allows you to easily embed video previews from various online video services such as YouTube, Vimeo, Dailymotion, and Wistia. When users click the play button, they are redirected to the video service to watch the video in a new tab. 16 16 17 **Translation: **17 **Translation: ** 18 18 The plugin is fully translated into French and the translation system is operational for other languages. 19 19 20 **Eco-Responsibility: **20 **Eco-Responsibility: ** 21 21 By using video previews instead of embedding full videos, you reduce the data load and energy consumption, contributing to a more sustainable web experience. 22 22 23 **Accessibility: **23 **Accessibility: ** 24 24 Simple Video Preview is designed with accessibility in mind, ensuring that all users, including those with disabilities, can easily interact with the video previews. 25 25 26 **Privacy: **26 **Privacy: ** 27 27 Simple Video Preview does not deposit any cookies on the user's device. This ensures that user privacy is respected and no tracking is performed by the plugin. 28 28 … … 69 69 == Changelog == 70 70 71 = 1.0.1 = 72 * Fix some typos. 73 71 74 = 1.0.0 = 72 75 * Initial release. … … 74 77 == Upgrade Notice == 75 78 79 = 1.0.1 = 80 Release that fixes some typos. 81 76 82 = 1.0.0 = 77 83 Initial release of the Simple Video Preview plugin. -
simple-video-preview/tags/1.0.1/simple-video-preview.php
r3299186 r3317753 4 4 * Plugin URI: https://juzed.dev/projets/simple-video-preview 5 5 * Description: A Gutenberg block to display video previews from various online services with a play button. 6 * Version: 1.0. 06 * Version: 1.0.1 7 7 * Author: Ju'Z[ed] 8 8 * Author URI: https://juzed.dev/ -
simple-video-preview/tags/1.0.1/src/edit.js
r3299186 r3317753 86 86 help={hasCreditOverlap 87 87 ? __('Credit is overlapping preview.', 'simple-video-preview') 88 : __('Credit is abovepreview.', 'simple-video-preview')88 : __('Credit is under preview.', 'simple-video-preview') 89 89 } 90 90 checked={hasCreditOverlap} -
simple-video-preview/trunk/build/index-rtl.css
r3299186 r3317753 1 /*!****************************************************************************************************************************************************************************************************************************************!*\ 2 !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***! 3 \****************************************************************************************************************************************************************************************************************************************/ 4 .simple-video-preview__container-empty { 5 background-color: #d0d0d0; 6 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=); 7 background-size: 150px 150px; 8 background-repeat: no-repeat; 9 background-position: center; 10 } 11 .simple-video-preview-popover { 12 position: fixed; 13 top: 50%; 14 right: 50%; 15 transform: translate(50%, -50%); 16 background: #fff; 17 border: 1px solid #ccc; 18 padding: 36px; 19 z-index: 9999; 20 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); 21 max-width: 90vw; 22 max-height: 90vh; 23 overflow: auto; 24 } 25 .simple-video-preview-popover-close { 26 position: absolute; 27 top: 0; 28 left: 0; 29 background: transparent; 30 border: none; 31 font-size: 1.2em; 32 cursor: pointer; 33 padding: 0; 34 } 1 .simple-video-preview__container-empty{background-color:#d0d0d0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=);background-position:50%;background-repeat:no-repeat;background-size:150px 150px}.simple-video-preview-popover{background:#fff;border:1px solid #ccc;box-shadow:0 4px 12px rgba(0,0,0,.15);right:50%;max-height:90vh;max-width:90vw;overflow:auto;padding:36px;position:fixed;top:50%;transform:translate(50%,-50%);z-index:9999}.simple-video-preview-popover-close{background:transparent;border:none;cursor:pointer;font-size:1.2em;padding:0;position:absolute;left:0;top:0} -
simple-video-preview/trunk/build/index.asset.php
r3299186 r3317753 1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => ' f8cd2c2a888a36bd5d13');1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => 'c73f493d87978c5ac25d'); -
simple-video-preview/trunk/build/index.css
r3299186 r3317753 1 /*!****************************************************************************************************************************************************************************************************************************************!*\ 2 !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***! 3 \****************************************************************************************************************************************************************************************************************************************/ 4 .simple-video-preview__container-empty { 5 background-color: #d0d0d0; 6 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=); 7 background-size: 150px 150px; 8 background-repeat: no-repeat; 9 background-position: center; 10 } 11 .simple-video-preview-popover { 12 position: fixed; 13 top: 50%; 14 left: 50%; 15 transform: translate(-50%, -50%); 16 background: #fff; 17 border: 1px solid #ccc; 18 padding: 36px; 19 z-index: 9999; 20 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); 21 max-width: 90vw; 22 max-height: 90vh; 23 overflow: auto; 24 } 25 .simple-video-preview-popover-close { 26 position: absolute; 27 top: 0; 28 right: 0; 29 background: transparent; 30 border: none; 31 font-size: 1.2em; 32 cursor: pointer; 33 padding: 0; 34 } 35 36 /*# sourceMappingURL=index.css.map*/ 1 .simple-video-preview__container-empty{background-color:#d0d0d0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=);background-position:50%;background-repeat:no-repeat;background-size:150px 150px}.simple-video-preview-popover{background:#fff;border:1px solid #ccc;box-shadow:0 4px 12px rgba(0,0,0,.15);left:50%;max-height:90vh;max-width:90vw;overflow:auto;padding:36px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:9999}.simple-video-preview-popover-close{background:transparent;border:none;cursor:pointer;font-size:1.2em;padding:0;position:absolute;right:0;top:0} -
simple-video-preview/trunk/build/index.js
r3299186 r3317753 1 /******/ (() => { // webpackBootstrap 2 /******/ "use strict"; 3 /******/ var __webpack_modules__ = ({ 4 5 /***/ "./src/components/helpPopover.js": 6 /*!***************************************!*\ 7 !*** ./src/components/helpPopover.js ***! 8 \***************************************/ 9 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 10 11 __webpack_require__.r(__webpack_exports__); 12 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 13 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 14 /* harmony export */ }); 15 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); 16 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 17 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); 18 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); 19 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); 20 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); 21 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime"); 22 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__); 23 24 25 26 27 const HelpPopover = () => { 28 const [isPopoverVisible, setIsPopoverVisible] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(false); 29 const togglePopover = () => { 30 setIsPopoverVisible(!isPopoverVisible); 31 }; 32 return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.Fragment, { 33 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Button, { 34 variant: "tertiary", 35 icon: "info", 36 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Help', 'simple-video-preview'), 37 onClick: togglePopover, 38 "aria-expanded": isPopoverVisible, 39 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Help', 'simple-video-preview') 40 }), isPopoverVisible && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", { 41 className: "simple-video-preview-popover", 42 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Button, { 43 icon: "no-alt", 44 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Close', 'simple-video-preview'), 45 onClick: togglePopover, 46 className: "simple-video-preview-popover-close" 47 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("h1", { 48 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Simple Video Preview', 'simple-video-preview') 49 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("p", { 50 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('The plugin supports the following URL formats:', 'simple-video-preview') 51 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("ul", { 52 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("li", { 53 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("strong", { 54 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('YouTube:', 'simple-video-preview') 55 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("ul", { 56 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 57 children: "https://www.youtube.com/watch?v=[VIDEO_ID]" 58 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 59 children: "https://www.youtube.com/shorts/[VIDEO_ID]" 60 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 61 children: "https://www.youtube.com/embed/[VIDEO_ID]" 62 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 63 children: "https://youtu.be/[VIDEO_ID]" 64 })] 65 })] 66 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("li", { 67 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("strong", { 68 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Wistia:', 'simple-video-preview') 69 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("ul", { 70 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 71 children: "https://wistia.com/watch/wistia-overview?wchannelid=[CHANNEL_ID]&wmediaid=[MEDIA_ID]" 72 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 73 children: "https://home.wistia.com/medias/[MEDIA_ID]" 74 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 75 children: "https://fast.wistia.net/embed/iframe/[MEDIA_ID]" 76 })] 77 })] 78 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("li", { 79 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("strong", { 80 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Vimeo:', 'simple-video-preview') 81 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("ul", { 82 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 83 children: "https://vimeo.com/[VIDEO_ID]" 84 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 85 children: "https://vimeo.com/[VIDEO_ID]_[VIDEO_TITLE]" 86 })] 87 })] 88 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("li", { 89 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("strong", { 90 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Dailymotion:', 'simple-video-preview') 91 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("ul", { 92 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 93 children: "https://www.dailymotion.com/video/[VIDEO_ID]" 94 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("li", { 95 children: "https://www.dailymotion.com/embed/video/[VIDEO_ID]" 96 })] 97 })] 98 })] 99 })] 100 })] 101 }); 102 }; 103 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HelpPopover); 104 105 /***/ }), 106 107 /***/ "./src/components/videoPreview.js": 108 /*!****************************************!*\ 109 !*** ./src/components/videoPreview.js ***! 110 \****************************************/ 111 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 112 113 __webpack_require__.r(__webpack_exports__); 114 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 115 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 116 /* harmony export */ }); 117 /* harmony import */ var _videoThumbnail__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./videoThumbnail */ "./src/components/videoThumbnail.js"); 118 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime"); 119 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__); 120 121 122 const VideoPreview = ({ 123 videoThumbnails, 124 videoTitle, 125 credit, 126 creditProps, 127 children 128 }) => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("div", { 129 className: "simple-video-preview", 130 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("figure", { 131 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", { 132 className: "simple-video-preview__container", 133 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", { 134 className: "simple-video-preview__link", 135 children: videoThumbnails && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_videoThumbnail__WEBPACK_IMPORTED_MODULE_0__["default"], { 136 thumbnails: videoThumbnails, 137 videoTitle: videoTitle 138 }) 139 }) 140 }), credit && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", { 141 className: creditProps.creditClassName, 142 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", { 143 className: creditProps.creditInnerClassName, 144 style: creditProps.creditInnerStyle, 145 children: credit 146 }) 147 }), children] 148 }) 149 }); 150 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VideoPreview); 151 152 /***/ }), 153 154 /***/ "./src/components/videoThumbnail.js": 155 /*!******************************************!*\ 156 !*** ./src/components/videoThumbnail.js ***! 157 \******************************************/ 158 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 159 160 __webpack_require__.r(__webpack_exports__); 161 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 162 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 163 /* harmony export */ }); 164 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); 165 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__); 166 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime"); 167 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__); 168 169 170 const VideoThumbnail = ({ 171 thumbnails, 172 videoTitle 173 }) => { 174 if (!thumbnails) { 175 return ''; 176 } 177 const playButtonClassName = `simple-video-preview__play-button ${thumbnails.service}`; 178 return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, { 179 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("img", { 180 src: thumbnails.thumbnail, 181 alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('%%videoTitle%% video preview', 'simple-video-preview').replace('%%videoTitle%%', videoTitle ? `"${videoTitle}" ` : ''), 182 className: "simple-video-preview__image", 183 srcSet: thumbnails.srcset, 184 sizes: thumbnails.sizes 185 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", { 186 className: playButtonClassName 187 })] 188 }); 189 }; 190 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VideoThumbnail); 191 192 /***/ }), 193 194 /***/ "./src/edit.js": 195 /*!*********************!*\ 196 !*** ./src/edit.js ***! 197 \*********************/ 198 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 199 200 __webpack_require__.r(__webpack_exports__); 201 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 202 /* harmony export */ "default": () => (/* binding */ Edit) 203 /* harmony export */ }); 204 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); 205 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 206 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor"); 207 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__); 208 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data"); 209 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__); 210 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); 211 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__); 212 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); 213 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__); 214 /* harmony import */ var _tools__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./tools */ "./src/tools.js"); 215 /* harmony import */ var _components_videoPreview__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/videoPreview */ "./src/components/videoPreview.js"); 216 /* harmony import */ var _components_helpPopover__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/helpPopover */ "./src/components/helpPopover.js"); 217 /* harmony import */ var _hooks_useVideoThumbnails__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./hooks/useVideoThumbnails */ "./src/hooks/useVideoThumbnails.js"); 218 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime"); 219 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__); 220 221 222 223 224 225 226 227 228 229 230 function Edit({ 231 attributes, 232 setAttributes, 233 clientId 234 }) { 235 const { 236 videoUrl = '', 237 videoThumbnails, 238 videoTitle, 239 credit, 240 hasCaption, 241 hasCreditOverlap, 242 backgroundColor, 243 style 244 } = attributes; 245 const blockProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)(); 246 const captionBlocksProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useInnerBlocksProps)({ 247 className: 'simple-video-preview__caption' 248 }, { 249 allowedBlocks: ['core/paragraph', 'core/list', 'core/details'], 250 template: [['core/paragraph', { 251 placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Add a legend for the video...', 'simple-video-preview') 252 }]] 253 }); 254 const innerBlocks = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_2__.useSelect)(select => select('core/block-editor').getBlock(clientId)?.innerBlocks); 255 (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { 256 const hasContent = (0,_tools__WEBPACK_IMPORTED_MODULE_5__.hasInnerBlocksContent)(innerBlocks); 257 if (hasContent !== hasCaption) { 258 setAttributes({ 259 hasCaption: hasContent 260 }); 261 } 262 }, [innerBlocks, hasCaption, setAttributes]); 263 const handleThumbnailsLoaded = thumbnailsData => { 264 setAttributes({ 265 videoThumbnails: thumbnailsData 266 }); 267 }; 268 const creditProps = (0,_tools__WEBPACK_IMPORTED_MODULE_5__.buildCreditProperties)({ 269 hasCreditOverlap, 270 backgroundColor, 271 style, 272 blockProps 273 }); 274 const { 275 error, 276 isLoading 277 } = (0,_hooks_useVideoThumbnails__WEBPACK_IMPORTED_MODULE_8__["default"])(videoUrl, handleThumbnailsLoaded); 278 const parentBlockProps = { 279 ...blockProps 280 }; 281 delete parentBlockProps.style; 282 return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("div", { 283 ...parentBlockProps, 284 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, { 285 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.PanelBody, { 286 title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Simple Video Preview Settings', 'simple-video-preview'), 287 initialOpen: true, 288 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.TextControl, { 289 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Video URL', 'simple-video-preview'), 290 value: videoUrl, 291 onChange: newVideoUrl => setAttributes({ 292 videoUrl: newVideoUrl 293 }) 294 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.TextControl, { 295 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Video Title', 'simple-video-preview'), 296 value: videoTitle, 297 onChange: newVideoTitle => setAttributes({ 298 videoTitle: newVideoTitle 299 }) 300 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.TextControl, { 301 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Credit', 'simple-video-preview'), 302 value: credit, 303 onChange: newCredit => setAttributes({ 304 credit: newCredit 305 }) 306 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.ToggleControl, { 307 __nextHasNoMarginBottom: true, 308 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Overlapping credit', 'simple-video-preview'), 309 help: hasCreditOverlap ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Credit is overlapping preview.', 'simple-video-preview') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Credit is above preview.', 'simple-video-preview'), 310 checked: hasCreditOverlap, 311 onChange: newHasCreditOverlap => setAttributes({ 312 hasCreditOverlap: newHasCreditOverlap 313 }) 314 }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_components_helpPopover__WEBPACK_IMPORTED_MODULE_7__["default"], {})] 315 }) 316 }), error && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div", { 317 className: "simple-video-preview__error", 318 children: error 319 }), isLoading && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("span", { 320 className: "simple-video-preview__loading", 321 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Loading...', 'simple-video-preview') 322 }), videoUrl ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_components_videoPreview__WEBPACK_IMPORTED_MODULE_6__["default"], { 323 videoThumbnails: videoThumbnails, 324 videoTitle: videoTitle, 325 credit: credit, 326 creditProps: creditProps, 327 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("figcaption", { 328 ...captionBlocksProps 329 }) 330 }) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("span", { 331 className: "simple-video-preview__container simple-video-preview__container-empty" 332 })] 333 }); 334 } 335 336 /***/ }), 337 338 /***/ "./src/editor.scss": 339 /*!*************************!*\ 340 !*** ./src/editor.scss ***! 341 \*************************/ 342 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 343 344 __webpack_require__.r(__webpack_exports__); 345 // extracted by mini-css-extract-plugin 346 347 348 /***/ }), 349 350 /***/ "./src/hooks/useVideoThumbnails.js": 351 /*!*****************************************!*\ 352 !*** ./src/hooks/useVideoThumbnails.js ***! 353 \*****************************************/ 354 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 355 356 __webpack_require__.r(__webpack_exports__); 357 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 358 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 359 /* harmony export */ }); 360 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); 361 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 362 /* harmony import */ var _tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../tools */ "./src/tools.js"); 363 364 365 const useVideoThumbnails = (videoUrl, onSuccess) => { 366 const [error, setError] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(null); 367 const [isLoading, setIsLoading] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(false); 368 const memoizedOnSuccess = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useCallback)(onSuccess, []); 369 (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { 370 if (!videoUrl) { 371 setError(null); 372 setIsLoading(false); 373 return; 374 } 375 let isComponentMounted = true; 376 const fetchAndProcessThumbnails = async () => { 377 try { 378 setIsLoading(true); 379 setError(null); 380 const result = await (0,_tools__WEBPACK_IMPORTED_MODULE_1__.getVideoThumbnails)(videoUrl); 381 if (!isComponentMounted) return; 382 if (result) { 383 const thumbnailData = { 384 service: result.service, 385 thumbnail: result.thumbnails[0].src, 386 srcset: result.thumbnails.map(thumb => `${thumb.src} ${thumb.width}w`).join(', '), 387 sizes: result.thumbnails.map(thumb => `(max-width: ${thumb.width}px) ${thumb.width}px`).join(', ') 388 }; 389 memoizedOnSuccess?.(thumbnailData); 390 } else { 391 setError('Unsupported video service for this URL.'); 392 } 393 } catch (err) { 394 if (isComponentMounted) { 395 setError(`Error while loading thumbnails: ${err.message}`); 396 } 397 } finally { 398 if (isComponentMounted) { 399 setIsLoading(false); 400 } 401 } 402 }; 403 fetchAndProcessThumbnails(); 404 return () => { 405 isComponentMounted = false; 406 }; 407 }, [videoUrl, memoizedOnSuccess]); 408 return { 409 error, 410 isLoading 411 }; 412 }; 413 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useVideoThumbnails); 414 415 /***/ }), 416 417 /***/ "./src/index.js": 418 /*!**********************!*\ 419 !*** ./src/index.js ***! 420 \**********************/ 421 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 422 423 __webpack_require__.r(__webpack_exports__); 424 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks"); 425 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__); 426 /* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./edit */ "./src/edit.js"); 427 /* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./save */ "./src/save.js"); 428 /* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./style.scss */ "./src/style.scss"); 429 /* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./editor.scss */ "./src/editor.scss"); 430 431 432 433 434 435 (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)('juzeddev/simple-video-preview', { 436 edit: _edit__WEBPACK_IMPORTED_MODULE_1__["default"], 437 save: _save__WEBPACK_IMPORTED_MODULE_2__["default"] 438 }); 439 440 /***/ }), 441 442 /***/ "./src/save.js": 443 /*!*********************!*\ 444 !*** ./src/save.js ***! 445 \*********************/ 446 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 447 448 __webpack_require__.r(__webpack_exports__); 449 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 450 /* harmony export */ "default": () => (/* binding */ save) 451 /* harmony export */ }); 452 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor"); 453 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__); 454 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); 455 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); 456 /* harmony import */ var _tools__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tools */ "./src/tools.js"); 457 /* harmony import */ var _components_videoThumbnail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/videoThumbnail */ "./src/components/videoThumbnail.js"); 458 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime"); 459 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__); 460 461 462 463 464 465 function save({ 466 attributes 467 }) { 468 const { 469 videoUrl, 470 videoThumbnails, 471 videoTitle, 472 credit, 473 hasCreditOverlap, 474 hasCaption, 475 backgroundColor, 476 style 477 } = attributes; 478 const blockProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.useBlockProps.save(); 479 const captionBlocksProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.useInnerBlocksProps.save({ 480 className: 'simple-video-preview__caption' 481 }); 482 const { 483 creditClassName, 484 creditInnerClassName, 485 creditInnerStyle 486 } = (0,_tools__WEBPACK_IMPORTED_MODULE_2__.buildCreditProperties)({ 487 hasCreditOverlap, 488 backgroundColor, 489 style, 490 blockProps 491 }); 492 return videoUrl ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div", { 493 className: blockProps.className, 494 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div", { 495 className: "simple-video-preview", 496 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("figure", { 497 children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", { 498 className: "simple-video-preview__container", 499 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("a", { 500 className: "simple-video-preview__link", 501 title: videoTitle ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Watch %%videoTitle%% (new tab)', 'simple-video-preview').replace('%%videoTitle%%', `"${videoTitle}"`) : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Watch video (new tab)', 'simple-video-preview'), 502 href: videoUrl, 503 target: "_blank", 504 rel: "noopener noreferrer", 505 children: videoThumbnails ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_components_videoThumbnail__WEBPACK_IMPORTED_MODULE_3__["default"], { 506 thumbnails: videoThumbnails, 507 videoTitle: videoTitle 508 }) : null 509 }) 510 }), credit && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", { 511 className: creditClassName, 512 children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", { 513 className: creditInnerClassName, 514 style: creditInnerStyle, 515 children: credit 516 }) 517 }), hasCaption && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("figcaption", { 518 ...captionBlocksProps 519 })] 520 }) 521 }) 522 }) : ''; 523 } 524 525 /***/ }), 526 527 /***/ "./src/style.scss": 528 /*!************************!*\ 529 !*** ./src/style.scss ***! 530 \************************/ 531 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 532 533 __webpack_require__.r(__webpack_exports__); 534 // extracted by mini-css-extract-plugin 535 536 537 /***/ }), 538 539 /***/ "./src/tools.js": 540 /*!**********************!*\ 541 !*** ./src/tools.js ***! 542 \**********************/ 543 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 544 545 __webpack_require__.r(__webpack_exports__); 546 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 547 /* harmony export */ VideoThumbnailService: () => (/* binding */ VideoThumbnailService), 548 /* harmony export */ buildCreditProperties: () => (/* binding */ buildCreditProperties), 549 /* harmony export */ getVideoThumbnails: () => (/* binding */ getVideoThumbnails), 550 /* harmony export */ hasInnerBlocksContent: () => (/* binding */ hasInnerBlocksContent) 551 /* harmony export */ }); 552 const VIDEO_SERVICES = { 553 YOUTUBE: 'youtube', 554 VIMEO: 'vimeo', 555 DAILYMOTION: 'dailymotion', 556 WISTIA: 'wistia' 557 }; 558 class VideoThumbnailService { 559 static #extractYouTubeId = url => { 560 const patterns = { 561 'youtube.com/watch': url => new URL(url).searchParams.get('v'), 562 'youtu.be/': url => url.split('youtu.be/')[1]?.split('?')[0], 563 'youtube.com/embed/': url => url.split('embed/')[1]?.split('?')[0], 564 'youtube.com/shorts/': url => url.split('shorts/')[1]?.split('?')[0] 565 }; 566 const matchingPattern = Object.entries(patterns).find(([pattern]) => url.includes(pattern)); 567 return matchingPattern ? matchingPattern[1](url) : null; 568 }; 569 static #extractVimeoId = url => { 570 const regex = /vimeo\.com\/(\d+)(?:\/[^\/]*)?$/; 571 const match = url.match(regex); 572 return match && match[1] ? match[1] : null; 573 }; 574 static #extractDailymotionId = url => { 575 const regex = /dailymotion\.com\/(?:video|embed\/video)\/([a-zA-Z0-9]+)(?:\/[^\/]*)?/; 576 const match = url.match(regex); 577 return match && match[1] ? match[1] : null; 578 }; 579 static #generateYouTubeThumbnails = videoId => [{ 580 url: `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg`, 581 width: 1280, 582 height: 720 583 }, { 584 url: `https://img.youtube.com/vi/${videoId}/sddefault.jpg`, 585 width: 640, 586 height: 480 587 }, { 588 url: `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`, 589 width: 480, 590 height: 360 591 }, { 592 url: `https://img.youtube.com/vi/${videoId}/mqdefault.jpg`, 593 width: 320, 594 height: 180 595 }, { 596 url: `https://img.youtube.com/vi/${videoId}/default.jpg`, 597 width: 120, 598 height: 90 599 }]; 600 static #fetchVimeoThumbnails = async videoId => { 601 const response = await fetch(`https://vimeo.com/api/v2/video/${videoId}.json`); 602 if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); 603 const [data] = await response.json(); 604 return [{ 605 url: data.thumbnail_large, 606 width: 640, 607 height: 360 608 }, { 609 url: data.thumbnail_medium, 610 width: 200, 611 height: 150 612 }, { 613 url: data.thumbnail_small, 614 width: 100, 615 height: 75 616 }]; 617 }; 618 static #extractWistiaId = url => { 619 if (url.includes('/medias/')) { 620 return url.split('/medias/')[1]; 621 } else if (url.includes('embed/iframe/')) { 622 return url.split('embed/iframe/')[1]; 623 } 624 return new URL(url).searchParams.get('wmediaid'); 625 }; 626 static #fetchWistiaThumbnails = async videoId => { 627 const apiUrl = `https://fast.wistia.com/oembed?url=https://home.wistia.com/medias/${videoId}`; 628 const response = await fetch(apiUrl); 629 if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); 630 const data = await response.json(); 631 return [{ 632 url: data.thumbnail_url, 633 width: data.thumbnail_width, 634 height: data.thumbnail_height 635 }]; 636 }; 637 static async getThumbnails(videoUrl) { 638 if (!videoUrl) { 639 throw new Error('Video URL is required'); 640 } 641 const serviceHandlers = { 642 [VIDEO_SERVICES.YOUTUBE]: async url => { 643 const videoId = this.#extractYouTubeId(url); 644 if (!videoId) throw new Error('Invalid YouTube URL format'); 645 return this.#generateYouTubeThumbnails(videoId); 646 }, 647 [VIDEO_SERVICES.VIMEO]: async url => { 648 const videoId = this.#extractVimeoId(url); 649 return await this.#fetchVimeoThumbnails(videoId); 650 }, 651 [VIDEO_SERVICES.DAILYMOTION]: url => { 652 const videoId = this.#extractDailymotionId(url); 653 return [{ 654 url: `https://www.dailymotion.com/thumbnail/video/${videoId}`, 655 width: 800, 656 height: 450 657 }]; 658 }, 659 [VIDEO_SERVICES.WISTIA]: async url => { 660 const videoId = this.#extractWistiaId(url); 661 if (!videoId) throw new Error('Invalid Wistia URL format'); 662 return await this.#fetchWistiaThumbnails(videoId); 663 } 664 }; 665 const service = Object.entries(VIDEO_SERVICES).find(([, name]) => { 666 const domain = name.toLowerCase(); 667 return videoUrl.includes(`${domain}.com`) || videoUrl.includes(`${domain}.net`); 668 })?.[1]; 669 if (!service || !serviceHandlers[service]) { 670 throw new Error('Unsupported video service'); 671 } 672 const thumbnails = await serviceHandlers[service](videoUrl); 673 return { 674 service, 675 thumbnails: thumbnails.map(({ 676 url, 677 width, 678 height 679 }) => ({ 680 src: url, 681 width, 682 height 683 })) 684 }; 685 } 686 } 687 const hasInnerBlocksContent = _innerBlocks => { 688 if (!_innerBlocks) { 689 return false; 690 } 691 for (const innerBlock of _innerBlocks) { 692 if (innerBlock.attributes.content && innerBlock.attributes.content.trim().length > 0) { 693 return true; 694 } 695 if (innerBlock.innerBlocks && innerBlock.innerBlocks.length > 0) { 696 if (hasInnerBlocksContent(innerBlock.innerBlocks)) { 697 return true; 698 } 699 } 700 if (innerBlock.name === 'core/details' && innerBlock.attributes.summary.trim().length > 0) { 701 return true; 702 } 703 } 704 return false; 705 }; 706 const buildCreditProperties = ({ 707 hasCreditOverlap, 708 backgroundColor, 709 style, 710 blockProps 711 }) => { 712 const baseCreditClass = 'simple-video-preview__credit'; 713 const overlapClass = hasCreditOverlap ? 'overlapping' : ''; 714 const creditClassName = [baseCreditClass, overlapClass].filter(Boolean).join(' '); 715 const baseInnerClass = 'simple-video-preview__credit-inner'; 716 const backgroundClass = backgroundColor ? `has-${backgroundColor}-background-color has-background` : ''; 717 const creditInnerClassName = [baseInnerClass, backgroundClass].filter(Boolean).join(' '); 718 const creditInnerStyle = { 719 ...blockProps.style, 720 backgroundColor: backgroundColor ? undefined : style?.color?.background 721 }; 722 return { 723 creditClassName, 724 creditInnerClassName, 725 creditInnerStyle 726 }; 727 }; 728 const getVideoThumbnails = async videoUrl => { 729 try { 730 return await VideoThumbnailService.getThumbnails(videoUrl); 731 } catch (error) { 732 console.error(error.message); 733 return null; 734 } 735 }; 736 737 /***/ }), 738 739 /***/ "@wordpress/block-editor": 740 /*!*************************************!*\ 741 !*** external ["wp","blockEditor"] ***! 742 \*************************************/ 743 /***/ ((module) => { 744 745 module.exports = window["wp"]["blockEditor"]; 746 747 /***/ }), 748 749 /***/ "@wordpress/blocks": 750 /*!********************************!*\ 751 !*** external ["wp","blocks"] ***! 752 \********************************/ 753 /***/ ((module) => { 754 755 module.exports = window["wp"]["blocks"]; 756 757 /***/ }), 758 759 /***/ "@wordpress/components": 760 /*!************************************!*\ 761 !*** external ["wp","components"] ***! 762 \************************************/ 763 /***/ ((module) => { 764 765 module.exports = window["wp"]["components"]; 766 767 /***/ }), 768 769 /***/ "@wordpress/data": 770 /*!******************************!*\ 771 !*** external ["wp","data"] ***! 772 \******************************/ 773 /***/ ((module) => { 774 775 module.exports = window["wp"]["data"]; 776 777 /***/ }), 778 779 /***/ "@wordpress/element": 780 /*!*********************************!*\ 781 !*** external ["wp","element"] ***! 782 \*********************************/ 783 /***/ ((module) => { 784 785 module.exports = window["wp"]["element"]; 786 787 /***/ }), 788 789 /***/ "@wordpress/i18n": 790 /*!******************************!*\ 791 !*** external ["wp","i18n"] ***! 792 \******************************/ 793 /***/ ((module) => { 794 795 module.exports = window["wp"]["i18n"]; 796 797 /***/ }), 798 799 /***/ "react/jsx-runtime": 800 /*!**********************************!*\ 801 !*** external "ReactJSXRuntime" ***! 802 \**********************************/ 803 /***/ ((module) => { 804 805 module.exports = window["ReactJSXRuntime"]; 806 807 /***/ }) 808 809 /******/ }); 810 /************************************************************************/ 811 /******/ // The module cache 812 /******/ var __webpack_module_cache__ = {}; 813 /******/ 814 /******/ // The require function 815 /******/ function __webpack_require__(moduleId) { 816 /******/ // Check if module is in cache 817 /******/ var cachedModule = __webpack_module_cache__[moduleId]; 818 /******/ if (cachedModule !== undefined) { 819 /******/ return cachedModule.exports; 820 /******/ } 821 /******/ // Create a new module (and put it into the cache) 822 /******/ var module = __webpack_module_cache__[moduleId] = { 823 /******/ // no module.id needed 824 /******/ // no module.loaded needed 825 /******/ exports: {} 826 /******/ }; 827 /******/ 828 /******/ // Execute the module function 829 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); 830 /******/ 831 /******/ // Return the exports of the module 832 /******/ return module.exports; 833 /******/ } 834 /******/ 835 /******/ // expose the modules object (__webpack_modules__) 836 /******/ __webpack_require__.m = __webpack_modules__; 837 /******/ 838 /************************************************************************/ 839 /******/ /* webpack/runtime/chunk loaded */ 840 /******/ (() => { 841 /******/ var deferred = []; 842 /******/ __webpack_require__.O = (result, chunkIds, fn, priority) => { 843 /******/ if(chunkIds) { 844 /******/ priority = priority || 0; 845 /******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1]; 846 /******/ deferred[i] = [chunkIds, fn, priority]; 847 /******/ return; 848 /******/ } 849 /******/ var notFulfilled = Infinity; 850 /******/ for (var i = 0; i < deferred.length; i++) { 851 /******/ var [chunkIds, fn, priority] = deferred[i]; 852 /******/ var fulfilled = true; 853 /******/ for (var j = 0; j < chunkIds.length; j++) { 854 /******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) { 855 /******/ chunkIds.splice(j--, 1); 856 /******/ } else { 857 /******/ fulfilled = false; 858 /******/ if(priority < notFulfilled) notFulfilled = priority; 859 /******/ } 860 /******/ } 861 /******/ if(fulfilled) { 862 /******/ deferred.splice(i--, 1) 863 /******/ var r = fn(); 864 /******/ if (r !== undefined) result = r; 865 /******/ } 866 /******/ } 867 /******/ return result; 868 /******/ }; 869 /******/ })(); 870 /******/ 871 /******/ /* webpack/runtime/compat get default export */ 872 /******/ (() => { 873 /******/ // getDefaultExport function for compatibility with non-harmony modules 874 /******/ __webpack_require__.n = (module) => { 875 /******/ var getter = module && module.__esModule ? 876 /******/ () => (module['default']) : 877 /******/ () => (module); 878 /******/ __webpack_require__.d(getter, { a: getter }); 879 /******/ return getter; 880 /******/ }; 881 /******/ })(); 882 /******/ 883 /******/ /* webpack/runtime/define property getters */ 884 /******/ (() => { 885 /******/ // define getter functions for harmony exports 886 /******/ __webpack_require__.d = (exports, definition) => { 887 /******/ for(var key in definition) { 888 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { 889 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); 890 /******/ } 891 /******/ } 892 /******/ }; 893 /******/ })(); 894 /******/ 895 /******/ /* webpack/runtime/hasOwnProperty shorthand */ 896 /******/ (() => { 897 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) 898 /******/ })(); 899 /******/ 900 /******/ /* webpack/runtime/make namespace object */ 901 /******/ (() => { 902 /******/ // define __esModule on exports 903 /******/ __webpack_require__.r = (exports) => { 904 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 905 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 906 /******/ } 907 /******/ Object.defineProperty(exports, '__esModule', { value: true }); 908 /******/ }; 909 /******/ })(); 910 /******/ 911 /******/ /* webpack/runtime/jsonp chunk loading */ 912 /******/ (() => { 913 /******/ // no baseURI 914 /******/ 915 /******/ // object to store loaded and loading chunks 916 /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched 917 /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded 918 /******/ var installedChunks = { 919 /******/ "index": 0, 920 /******/ "./style-index": 0 921 /******/ }; 922 /******/ 923 /******/ // no chunk on demand loading 924 /******/ 925 /******/ // no prefetching 926 /******/ 927 /******/ // no preloaded 928 /******/ 929 /******/ // no HMR 930 /******/ 931 /******/ // no HMR manifest 932 /******/ 933 /******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0); 934 /******/ 935 /******/ // install a JSONP callback for chunk loading 936 /******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { 937 /******/ var [chunkIds, moreModules, runtime] = data; 938 /******/ // add "moreModules" to the modules object, 939 /******/ // then flag all "chunkIds" as loaded and fire callback 940 /******/ var moduleId, chunkId, i = 0; 941 /******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { 942 /******/ for(moduleId in moreModules) { 943 /******/ if(__webpack_require__.o(moreModules, moduleId)) { 944 /******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; 945 /******/ } 946 /******/ } 947 /******/ if(runtime) var result = runtime(__webpack_require__); 948 /******/ } 949 /******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); 950 /******/ for(;i < chunkIds.length; i++) { 951 /******/ chunkId = chunkIds[i]; 952 /******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { 953 /******/ installedChunks[chunkId][0](); 954 /******/ } 955 /******/ installedChunks[chunkId] = 0; 956 /******/ } 957 /******/ return __webpack_require__.O(result); 958 /******/ } 959 /******/ 960 /******/ var chunkLoadingGlobal = globalThis["webpackChunk"] = globalThis["webpackChunk"] || []; 961 /******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); 962 /******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); 963 /******/ })(); 964 /******/ 965 /************************************************************************/ 966 /******/ 967 /******/ // startup 968 /******/ // Load entry module and return exports 969 /******/ // This entry module depends on other loaded chunks and execution need to be delayed 970 /******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["./style-index"], () => (__webpack_require__("./src/index.js"))) 971 /******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__); 972 /******/ 973 /******/ })() 974 ; 975 //# sourceMappingURL=index.js.map 1 (()=>{"use strict";var e,i={958:()=>{const e=window.wp.blocks,i=window.wp.element,t=window.wp.blockEditor,s=window.wp.data,r=window.wp.components,o=window.wp.i18n,l={YOUTUBE:"youtube",VIMEO:"vimeo",DAILYMOTION:"dailymotion",WISTIA:"wistia"};class n{static#e=e=>{const i={"youtube.com/watch":e=>new URL(e).searchParams.get("v"),"youtu.be/":e=>e.split("youtu.be/")[1]?.split("?")[0],"youtube.com/embed/":e=>e.split("embed/")[1]?.split("?")[0],"youtube.com/shorts/":e=>e.split("shorts/")[1]?.split("?")[0]},t=Object.entries(i).find((([i])=>e.includes(i)));return t?t[1](e):null};static#i=e=>{const i=e.match(/vimeo\.com\/(\d+)(?:\/[^\/]*)?$/);return i&&i[1]?i[1]:null};static#t=e=>{const i=e.match(/dailymotion\.com\/(?:video|embed\/video)\/([a-zA-Z0-9]+)(?:\/[^\/]*)?/);return i&&i[1]?i[1]:null};static#s=e=>[{url:`https://img.youtube.com/vi/${e}/maxresdefault.jpg`,width:1280,height:720},{url:`https://img.youtube.com/vi/${e}/sddefault.jpg`,width:640,height:480},{url:`https://img.youtube.com/vi/${e}/hqdefault.jpg`,width:480,height:360},{url:`https://img.youtube.com/vi/${e}/mqdefault.jpg`,width:320,height:180},{url:`https://img.youtube.com/vi/${e}/default.jpg`,width:120,height:90}];static#r=async e=>{const i=await fetch(`https://vimeo.com/api/v2/video/${e}.json`);if(!i.ok)throw new Error(`HTTP error! status: ${i.status}`);const[t]=await i.json();return[{url:t.thumbnail_large,width:640,height:360},{url:t.thumbnail_medium,width:200,height:150},{url:t.thumbnail_small,width:100,height:75}]};static#o=e=>e.includes("/medias/")?e.split("/medias/")[1]:e.includes("embed/iframe/")?e.split("embed/iframe/")[1]:new URL(e).searchParams.get("wmediaid");static#l=async e=>{const i=`https://fast.wistia.com/oembed?url=https://home.wistia.com/medias/${e}`,t=await fetch(i);if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);const s=await t.json();return[{url:s.thumbnail_url,width:s.thumbnail_width,height:s.thumbnail_height}]};static async getThumbnails(e){if(!e)throw new Error("Video URL is required");const i={[l.YOUTUBE]:async e=>{const i=this.#e(e);if(!i)throw new Error("Invalid YouTube URL format");return this.#s(i)},[l.VIMEO]:async e=>{const i=this.#i(e);return await this.#r(i)},[l.DAILYMOTION]:e=>[{url:`https://www.dailymotion.com/thumbnail/video/${this.#t(e)}`,width:800,height:450}],[l.WISTIA]:async e=>{const i=this.#o(e);if(!i)throw new Error("Invalid Wistia URL format");return await this.#l(i)}},t=Object.entries(l).find((([,i])=>{const t=i.toLowerCase();return e.includes(`${t}.com`)||e.includes(`${t}.net`)}))?.[1];if(!t||!i[t])throw new Error("Unsupported video service");return{service:t,thumbnails:(await i[t](e)).map((({url:e,width:i,height:t})=>({src:e,width:i,height:t})))}}}const a=e=>{if(!e)return!1;for(const i of e){if(i.attributes.content&&i.attributes.content.trim().length>0)return!0;if(i.innerBlocks&&i.innerBlocks.length>0&&a(i.innerBlocks))return!0;if("core/details"===i.name&&i.attributes.summary.trim().length>0)return!0}return!1},c=({hasCreditOverlap:e,backgroundColor:i,style:t,blockProps:s})=>({creditClassName:["simple-video-preview__credit",e?"overlapping":""].filter(Boolean).join(" "),creditInnerClassName:["simple-video-preview__credit-inner",i?`has-${i}-background-color has-background`:""].filter(Boolean).join(" "),creditInnerStyle:{...s.style,backgroundColor:i?void 0:t?.color?.background}}),d=window.ReactJSXRuntime,h=({thumbnails:e,videoTitle:i})=>{if(!e)return"";const t=`simple-video-preview__play-button ${e.service}`;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("img",{src:e.thumbnail,alt:(0,o.__)("%%videoTitle%% video preview","simple-video-preview").replace("%%videoTitle%%",i?`"${i}" `:""),className:"simple-video-preview__image",srcSet:e.srcset,sizes:e.sizes}),(0,d.jsx)("span",{className:t})]})},p=({videoThumbnails:e,videoTitle:i,credit:t,creditProps:s,children:r})=>(0,d.jsx)("div",{className:"simple-video-preview",children:(0,d.jsxs)("figure",{children:[(0,d.jsx)("span",{className:"simple-video-preview__container",children:(0,d.jsx)("span",{className:"simple-video-preview__link",children:e&&(0,d.jsx)(h,{thumbnails:e,videoTitle:i})})}),t&&(0,d.jsx)("span",{className:s.creditClassName,children:(0,d.jsx)("span",{className:s.creditInnerClassName,style:s.creditInnerStyle,children:t})}),r]})}),m=()=>{const[e,t]=(0,i.useState)(!1),s=()=>{t(!e)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(r.Button,{variant:"tertiary",icon:"info",label:(0,o.__)("Help","simple-video-preview"),onClick:s,"aria-expanded":e,children:(0,o.__)("Help","simple-video-preview")}),e&&(0,d.jsxs)("div",{className:"simple-video-preview-popover",children:[(0,d.jsx)(r.Button,{icon:"no-alt",label:(0,o.__)("Close","simple-video-preview"),onClick:s,className:"simple-video-preview-popover-close"}),(0,d.jsx)("h1",{children:(0,o.__)("Simple Video Preview","simple-video-preview")}),(0,d.jsx)("p",{children:(0,o.__)("The plugin supports the following URL formats:","simple-video-preview")}),(0,d.jsxs)("ul",{children:[(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:(0,o.__)("YouTube:","simple-video-preview")}),(0,d.jsxs)("ul",{children:[(0,d.jsx)("li",{children:"https://www.youtube.com/watch?v=[VIDEO_ID]"}),(0,d.jsx)("li",{children:"https://www.youtube.com/shorts/[VIDEO_ID]"}),(0,d.jsx)("li",{children:"https://www.youtube.com/embed/[VIDEO_ID]"}),(0,d.jsx)("li",{children:"https://youtu.be/[VIDEO_ID]"})]})]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:(0,o.__)("Wistia:","simple-video-preview")}),(0,d.jsxs)("ul",{children:[(0,d.jsx)("li",{children:"https://wistia.com/watch/wistia-overview?wchannelid=[CHANNEL_ID]&wmediaid=[MEDIA_ID]"}),(0,d.jsx)("li",{children:"https://home.wistia.com/medias/[MEDIA_ID]"}),(0,d.jsx)("li",{children:"https://fast.wistia.net/embed/iframe/[MEDIA_ID]"})]})]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:(0,o.__)("Vimeo:","simple-video-preview")}),(0,d.jsxs)("ul",{children:[(0,d.jsx)("li",{children:"https://vimeo.com/[VIDEO_ID]"}),(0,d.jsx)("li",{children:"https://vimeo.com/[VIDEO_ID]_[VIDEO_TITLE]"})]})]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:(0,o.__)("Dailymotion:","simple-video-preview")}),(0,d.jsxs)("ul",{children:[(0,d.jsx)("li",{children:"https://www.dailymotion.com/video/[VIDEO_ID]"}),(0,d.jsx)("li",{children:"https://www.dailymotion.com/embed/video/[VIDEO_ID]"})]})]})]})]})]})};(0,e.registerBlockType)("juzeddev/simple-video-preview",{edit:function({attributes:e,setAttributes:l,clientId:h}){const{videoUrl:u="",videoThumbnails:v,videoTitle:w,credit:b,hasCaption:_,hasCreditOverlap:g,backgroundColor:x,style:j}=e,f=(0,t.useBlockProps)(),y=(0,t.useInnerBlocksProps)({className:"simple-video-preview__caption"},{allowedBlocks:["core/paragraph","core/list","core/details"],template:[["core/paragraph",{placeholder:(0,o.__)("Add a legend for the video...","simple-video-preview")}]]}),I=(0,s.useSelect)((e=>e("core/block-editor").getBlock(h)?.innerBlocks));(0,i.useEffect)((()=>{const e=a(I);e!==_&&l({hasCaption:e})}),[I,_,l]);const T=c({hasCreditOverlap:g,backgroundColor:x,style:j,blockProps:f}),{error:C,isLoading:k}=((e,t)=>{const[s,r]=(0,i.useState)(null),[o,l]=(0,i.useState)(!1),a=(0,i.useCallback)(t,[]);return(0,i.useEffect)((()=>{if(!e)return r(null),void l(!1);let i=!0;return(async()=>{try{l(!0),r(null);const t=await(async e=>{try{return await n.getThumbnails(e)}catch(e){return console.error(e.message),null}})(e);if(!i)return;if(t){const e={service:t.service,thumbnail:t.thumbnails[0].src,srcset:t.thumbnails.map((e=>`${e.src} ${e.width}w`)).join(", "),sizes:t.thumbnails.map((e=>`(max-width: ${e.width}px) ${e.width}px`)).join(", ")};a?.(e)}else r("Unsupported video service for this URL.")}catch(e){i&&r(`Error while loading thumbnails: ${e.message}`)}finally{i&&l(!1)}})(),()=>{i=!1}}),[e,a]),{error:s,isLoading:o}})(u,(e=>{l({videoThumbnails:e})})),O={...f};return delete O.style,(0,d.jsxs)("div",{...O,children:[(0,d.jsx)(t.InspectorControls,{children:(0,d.jsxs)(r.PanelBody,{title:(0,o.__)("Simple Video Preview Settings","simple-video-preview"),initialOpen:!0,children:[(0,d.jsx)(r.TextControl,{label:(0,o.__)("Video URL","simple-video-preview"),value:u,onChange:e=>l({videoUrl:e})}),(0,d.jsx)(r.TextControl,{label:(0,o.__)("Video Title","simple-video-preview"),value:w,onChange:e=>l({videoTitle:e})}),(0,d.jsx)(r.TextControl,{label:(0,o.__)("Credit","simple-video-preview"),value:b,onChange:e=>l({credit:e})}),(0,d.jsx)(r.ToggleControl,{__nextHasNoMarginBottom:!0,label:(0,o.__)("Overlapping credit","simple-video-preview"),help:g?(0,o.__)("Credit is overlapping preview.","simple-video-preview"):(0,o.__)("Credit is under preview.","simple-video-preview"),checked:g,onChange:e=>l({hasCreditOverlap:e})}),(0,d.jsx)(m,{})]})}),C&&(0,d.jsx)("div",{className:"simple-video-preview__error",children:C}),k&&(0,d.jsx)("span",{className:"simple-video-preview__loading",children:(0,o.__)("Loading...","simple-video-preview")}),u?(0,d.jsx)(p,{videoThumbnails:v,videoTitle:w,credit:b,creditProps:T,children:(0,d.jsx)("figcaption",{...y})}):(0,d.jsx)("span",{className:"simple-video-preview__container simple-video-preview__container-empty"})]})},save:function({attributes:e}){const{videoUrl:i,videoThumbnails:s,videoTitle:r,credit:l,hasCreditOverlap:n,hasCaption:a,backgroundColor:p,style:m}=e,u=t.useBlockProps.save(),v=t.useInnerBlocksProps.save({className:"simple-video-preview__caption"}),{creditClassName:w,creditInnerClassName:b,creditInnerStyle:_}=c({hasCreditOverlap:n,backgroundColor:p,style:m,blockProps:u});return i?(0,d.jsx)("div",{className:u.className,children:(0,d.jsx)("div",{className:"simple-video-preview",children:(0,d.jsxs)("figure",{children:[(0,d.jsx)("span",{className:"simple-video-preview__container",children:(0,d.jsx)("a",{className:"simple-video-preview__link",title:r?(0,o.__)("Watch %%videoTitle%% (new tab)","simple-video-preview").replace("%%videoTitle%%",`"${r}"`):(0,o.__)("Watch video (new tab)","simple-video-preview"),href:i,target:"_blank",rel:"noopener noreferrer",children:s?(0,d.jsx)(h,{thumbnails:s,videoTitle:r}):null})}),l&&(0,d.jsx)("span",{className:w,children:(0,d.jsx)("span",{className:b,style:_,children:l})}),a&&(0,d.jsx)("figcaption",{...v})]})})}):""}})}},t={};function s(e){var r=t[e];if(void 0!==r)return r.exports;var o=t[e]={exports:{}};return i[e](o,o.exports,s),o.exports}s.m=i,e=[],s.O=(i,t,r,o)=>{if(!t){var l=1/0;for(d=0;d<e.length;d++){for(var[t,r,o]=e[d],n=!0,a=0;a<t.length;a++)(!1&o||l>=o)&&Object.keys(s.O).every((e=>s.O[e](t[a])))?t.splice(a--,1):(n=!1,o<l&&(l=o));if(n){e.splice(d--,1);var c=r();void 0!==c&&(i=c)}}return i}o=o||0;for(var d=e.length;d>0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[t,r,o]},s.o=(e,i)=>Object.prototype.hasOwnProperty.call(e,i),(()=>{var e={57:0,350:0};s.O.j=i=>0===e[i];var i=(i,t)=>{var r,o,[l,n,a]=t,c=0;if(l.some((i=>0!==e[i]))){for(r in n)s.o(n,r)&&(s.m[r]=n[r]);if(a)var d=a(s)}for(i&&i(t);c<l.length;c++)o=l[c],s.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return s.O(d)},t=globalThis.webpackChunk=globalThis.webpackChunk||[];t.forEach(i.bind(null,0)),t.push=i.bind(null,t.push.bind(t))})();var r=s.O(void 0,[350],(()=>s(958)));r=s.O(r)})(); -
simple-video-preview/trunk/build/style-index-rtl.css
r3299186 r3317753 1 /*!***************************************************************************************************************************************************************************************************************************************!*\ 2 !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***! 3 \***************************************************************************************************************************************************************************************************************************************/ 4 .simple-video-preview__container { 5 display: block; 6 position: relative; 7 aspect-ratio: 16/9; 8 } 9 .simple-video-preview__container-empty { 10 background-color: #d0d0d0; 11 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=); 12 background-size: 150px 150px; 13 background-repeat: no-repeat; 14 background-position: center; 15 } 16 .simple-video-preview__link { 17 display: block; 18 height: 100%; 19 } 20 .simple-video-preview__image { 21 width: 100%; 22 height: 100%; 23 } 24 .simple-video-preview__play-button { 25 display: block; 26 position: absolute; 27 inset: 0; 28 background-size: 150px 150px; 29 background-repeat: no-repeat; 30 background-position: center; 31 } 32 .simple-video-preview__play-button.youtube { 33 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTI3Ljk3MjcgMy4xMjMyNEMyNy42NDM1IDEuODkzMjMgMjYuNjc2OCAwLjkyNjYyMyAyNS40NDY4IDAuNTk3MzY2QzIzLjIxOTcgMi4yNDI4OGUtMDcgMTQuMjg1IDAgMTQuMjg1IDBDMTQuMjg1IDAgNS4zNTA0MiAyLjI0Mjg4ZS0wNyAzLjEyMzIzIDAuNTk3MzY2QzEuODkzMjMgMC45MjY2MjMgMC45MjY2MjMgMS44OTMyMyAwLjU5NzM2NiAzLjEyMzI0QzIuMjQyODhlLTA3IDUuMzUwNDIgMCAxMCAwIDEwQzAgMTAgMi4yNDI4OGUtMDcgMTQuNjQ5NiAwLjU5NzM2NiAxNi44NzY4QzAuOTI2NjIzIDE4LjEwNjggMS44OTMyMyAxOS4wNzM0IDMuMTIzMjMgMTkuNDAyNkM1LjM1MDQyIDIwIDE0LjI4NSAyMCAxNC4yODUgMjBDMTQuMjg1IDIwIDIzLjIxOTcgMjAgMjUuNDQ2OCAxOS40MDI2QzI2LjY3NjggMTkuMDczNCAyNy42NDM1IDE4LjEwNjggMjcuOTcyNyAxNi44NzY4QzI4LjU3MDEgMTQuNjQ5NiAyOC41NzAxIDEwIDI4LjU3MDEgMTBDMjguNTcwMSAxMCAyOC41Njc3IDUuMzUwNDIgMjcuOTcyNyAzLjEyMzI0WiIgZmlsbD0iI0ZGMDAwMCI+PC9wYXRoPgogICAgICA8cGF0aCBkPSJNMTEuNDI1MyAxNC4yODU0TDE4Ljg0NzcgMTAuMDAwNEwxMS40MjUzIDUuNzE1MzNWMTQuMjg1NFoiIGZpbGw9IndoaXRlIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+Cjwvc3ZnPg==); 34 } 35 .simple-video-preview__play-button.dailymotion { 36 background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSJ3aGl0ZSIgb3BhY2l0eT0iMC42Ii8+CiAgICA8cG9seWdvbiBwb2ludHM9IjcwLDM1IDk1LDUwIDcwLDY1IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K); 37 } 38 .simple-video-preview__play-button.vimeo { 39 background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSIjNDBiNGU3IiBvcGFjaXR5PSIwLjYiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNzAsMzUgOTUsNTAgNzAsNjUiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=); 40 } 41 .simple-video-preview__play-button.wistia { 42 background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgcng9IjcuNDM1OTQiIHJ5PSI3LjQzNTk0IiBmaWxsPSIjMTc0YmQyIiBvcGFjaXR5PSIwLjkiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNjAsMzAgMTAwLDUwIDYwLDcwIiBmaWxsPSIjZmZmZmZmIi8+Cjwvc3ZnPgo=); 43 } 44 .simple-video-preview__credit-inner { 45 display: inline-block; 46 } 47 .simple-video-preview__credit.overlapping { 48 display: block; 49 height: 0; 50 } 51 .simple-video-preview__credit.overlapping .simple-video-preview__credit-inner { 52 transform: translateY(-100%); 53 } 54 .simple-video-preview .simple-video-preview__caption { 55 text-align: initial; 56 margin-top: 0; 57 } 58 .simple-video-preview .simple-video-preview__caption > *:first-child { 59 margin-top: 0; 60 } 1 .simple-video-preview__container{aspect-ratio:16/9;display:block;position:relative}.simple-video-preview__container-empty{background-color:#d0d0d0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=);background-position:50%;background-repeat:no-repeat;background-size:150px 150px}.simple-video-preview__link{display:block;height:100%}.simple-video-preview__image{height:100%;width:100%}.simple-video-preview__play-button{background-position:50%;background-repeat:no-repeat;background-size:150px 150px;display:block;inset:0;position:absolute}.simple-video-preview__play-button.youtube{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTI3Ljk3MjcgMy4xMjMyNEMyNy42NDM1IDEuODkzMjMgMjYuNjc2OCAwLjkyNjYyMyAyNS40NDY4IDAuNTk3MzY2QzIzLjIxOTcgMi4yNDI4OGUtMDcgMTQuMjg1IDAgMTQuMjg1IDBDMTQuMjg1IDAgNS4zNTA0MiAyLjI0Mjg4ZS0wNyAzLjEyMzIzIDAuNTk3MzY2QzEuODkzMjMgMC45MjY2MjMgMC45MjY2MjMgMS44OTMyMyAwLjU5NzM2NiAzLjEyMzI0QzIuMjQyODhlLTA3IDUuMzUwNDIgMCAxMCAwIDEwQzAgMTAgMi4yNDI4OGUtMDcgMTQuNjQ5NiAwLjU5NzM2NiAxNi44NzY4QzAuOTI2NjIzIDE4LjEwNjggMS44OTMyMyAxOS4wNzM0IDMuMTIzMjMgMTkuNDAyNkM1LjM1MDQyIDIwIDE0LjI4NSAyMCAxNC4yODUgMjBDMTQuMjg1IDIwIDIzLjIxOTcgMjAgMjUuNDQ2OCAxOS40MDI2QzI2LjY3NjggMTkuMDczNCAyNy42NDM1IDE4LjEwNjggMjcuOTcyNyAxNi44NzY4QzI4LjU3MDEgMTQuNjQ5NiAyOC41NzAxIDEwIDI4LjU3MDEgMTBDMjguNTcwMSAxMCAyOC41Njc3IDUuMzUwNDIgMjcuOTcyNyAzLjEyMzI0WiIgZmlsbD0iI0ZGMDAwMCI+PC9wYXRoPgogICAgICA8cGF0aCBkPSJNMTEuNDI1MyAxNC4yODU0TDE4Ljg0NzcgMTAuMDAwNEwxMS40MjUzIDUuNzE1MzNWMTQuMjg1NFoiIGZpbGw9IndoaXRlIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+Cjwvc3ZnPg==)}.simple-video-preview__play-button.dailymotion{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSJ3aGl0ZSIgb3BhY2l0eT0iMC42Ii8+CiAgICA8cG9seWdvbiBwb2ludHM9IjcwLDM1IDk1LDUwIDcwLDY1IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K)}.simple-video-preview__play-button.vimeo{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSIjNDBiNGU3IiBvcGFjaXR5PSIwLjYiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNzAsMzUgOTUsNTAgNzAsNjUiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=)}.simple-video-preview__play-button.wistia{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgcng9IjcuNDM1OTQiIHJ5PSI3LjQzNTk0IiBmaWxsPSIjMTc0YmQyIiBvcGFjaXR5PSIwLjkiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNjAsMzAgMTAwLDUwIDYwLDcwIiBmaWxsPSIjZmZmZmZmIi8+Cjwvc3ZnPgo=)}.simple-video-preview__credit-inner{display:inline-block}.simple-video-preview__credit.overlapping{display:block;height:0}.simple-video-preview__credit.overlapping .simple-video-preview__credit-inner{transform:translateY(-100%)}.simple-video-preview .simple-video-preview__caption{margin-top:0;text-align:initial}.simple-video-preview .simple-video-preview__caption>:first-child{margin-top:0} -
simple-video-preview/trunk/build/style-index.css
r3299186 r3317753 1 /*!***************************************************************************************************************************************************************************************************************************************!*\ 2 !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***! 3 \***************************************************************************************************************************************************************************************************************************************/ 4 .simple-video-preview__container { 5 display: block; 6 position: relative; 7 aspect-ratio: 16/9; 8 } 9 .simple-video-preview__container-empty { 10 background-color: #d0d0d0; 11 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=); 12 background-size: 150px 150px; 13 background-repeat: no-repeat; 14 background-position: center; 15 } 16 .simple-video-preview__link { 17 display: block; 18 height: 100%; 19 } 20 .simple-video-preview__image { 21 width: 100%; 22 height: 100%; 23 } 24 .simple-video-preview__play-button { 25 display: block; 26 position: absolute; 27 inset: 0; 28 background-size: 150px 150px; 29 background-repeat: no-repeat; 30 background-position: center; 31 } 32 .simple-video-preview__play-button.youtube { 33 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTI3Ljk3MjcgMy4xMjMyNEMyNy42NDM1IDEuODkzMjMgMjYuNjc2OCAwLjkyNjYyMyAyNS40NDY4IDAuNTk3MzY2QzIzLjIxOTcgMi4yNDI4OGUtMDcgMTQuMjg1IDAgMTQuMjg1IDBDMTQuMjg1IDAgNS4zNTA0MiAyLjI0Mjg4ZS0wNyAzLjEyMzIzIDAuNTk3MzY2QzEuODkzMjMgMC45MjY2MjMgMC45MjY2MjMgMS44OTMyMyAwLjU5NzM2NiAzLjEyMzI0QzIuMjQyODhlLTA3IDUuMzUwNDIgMCAxMCAwIDEwQzAgMTAgMi4yNDI4OGUtMDcgMTQuNjQ5NiAwLjU5NzM2NiAxNi44NzY4QzAuOTI2NjIzIDE4LjEwNjggMS44OTMyMyAxOS4wNzM0IDMuMTIzMjMgMTkuNDAyNkM1LjM1MDQyIDIwIDE0LjI4NSAyMCAxNC4yODUgMjBDMTQuMjg1IDIwIDIzLjIxOTcgMjAgMjUuNDQ2OCAxOS40MDI2QzI2LjY3NjggMTkuMDczNCAyNy42NDM1IDE4LjEwNjggMjcuOTcyNyAxNi44NzY4QzI4LjU3MDEgMTQuNjQ5NiAyOC41NzAxIDEwIDI4LjU3MDEgMTBDMjguNTcwMSAxMCAyOC41Njc3IDUuMzUwNDIgMjcuOTcyNyAzLjEyMzI0WiIgZmlsbD0iI0ZGMDAwMCI+PC9wYXRoPgogICAgICA8cGF0aCBkPSJNMTEuNDI1MyAxNC4yODU0TDE4Ljg0NzcgMTAuMDAwNEwxMS40MjUzIDUuNzE1MzNWMTQuMjg1NFoiIGZpbGw9IndoaXRlIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+Cjwvc3ZnPg==); 34 } 35 .simple-video-preview__play-button.dailymotion { 36 background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSJ3aGl0ZSIgb3BhY2l0eT0iMC42Ii8+CiAgICA8cG9seWdvbiBwb2ludHM9IjcwLDM1IDk1LDUwIDcwLDY1IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K); 37 } 38 .simple-video-preview__play-button.vimeo { 39 background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSIjNDBiNGU3IiBvcGFjaXR5PSIwLjYiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNzAsMzUgOTUsNTAgNzAsNjUiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=); 40 } 41 .simple-video-preview__play-button.wistia { 42 background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgcng9IjcuNDM1OTQiIHJ5PSI3LjQzNTk0IiBmaWxsPSIjMTc0YmQyIiBvcGFjaXR5PSIwLjkiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNjAsMzAgMTAwLDUwIDYwLDcwIiBmaWxsPSIjZmZmZmZmIi8+Cjwvc3ZnPgo=); 43 } 44 .simple-video-preview__credit-inner { 45 display: inline-block; 46 } 47 .simple-video-preview__credit.overlapping { 48 display: block; 49 height: 0; 50 } 51 .simple-video-preview__credit.overlapping .simple-video-preview__credit-inner { 52 transform: translateY(-100%); 53 } 54 .simple-video-preview .simple-video-preview__caption { 55 text-align: initial; 56 margin-top: 0; 57 } 58 .simple-video-preview .simple-video-preview__caption > *:first-child { 59 margin-top: 0; 60 } 61 62 /*# sourceMappingURL=style-index.css.map*/ 1 .simple-video-preview__container{aspect-ratio:16/9;display:block;position:relative}.simple-video-preview__container-empty{background-color:#d0d0d0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTExLjQyNTMgMTQuMjg1NEwxOC44NDc3IDEwLjAwMDRMMTEuNDI1MyA1LjcxNTMzVjE0LjI4NTRaIiBmaWxsPSJ3aGl0ZSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPgo8L3N2Zz4=);background-position:50%;background-repeat:no-repeat;background-size:150px 150px}.simple-video-preview__link{display:block;height:100%}.simple-video-preview__image{height:100%;width:100%}.simple-video-preview__play-button{background-position:50%;background-repeat:no-repeat;background-size:150px 150px;display:block;inset:0;position:absolute}.simple-video-preview__play-button.youtube{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJleHRlcm5hbC1pY29uIiB2aWV3Qm94PSIwIDAgMjguNTcgIDIwIiBmb2N1c2FibGU9ImZhbHNlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyI+CiAgPHN2ZyB2aWV3Qm94PSIwIDAgMjguNTcgMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Zz4KICAgICAgPHBhdGggZD0iTTI3Ljk3MjcgMy4xMjMyNEMyNy42NDM1IDEuODkzMjMgMjYuNjc2OCAwLjkyNjYyMyAyNS40NDY4IDAuNTk3MzY2QzIzLjIxOTcgMi4yNDI4OGUtMDcgMTQuMjg1IDAgMTQuMjg1IDBDMTQuMjg1IDAgNS4zNTA0MiAyLjI0Mjg4ZS0wNyAzLjEyMzIzIDAuNTk3MzY2QzEuODkzMjMgMC45MjY2MjMgMC45MjY2MjMgMS44OTMyMyAwLjU5NzM2NiAzLjEyMzI0QzIuMjQyODhlLTA3IDUuMzUwNDIgMCAxMCAwIDEwQzAgMTAgMi4yNDI4OGUtMDcgMTQuNjQ5NiAwLjU5NzM2NiAxNi44NzY4QzAuOTI2NjIzIDE4LjEwNjggMS44OTMyMyAxOS4wNzM0IDMuMTIzMjMgMTkuNDAyNkM1LjM1MDQyIDIwIDE0LjI4NSAyMCAxNC4yODUgMjBDMTQuMjg1IDIwIDIzLjIxOTcgMjAgMjUuNDQ2OCAxOS40MDI2QzI2LjY3NjggMTkuMDczNCAyNy42NDM1IDE4LjEwNjggMjcuOTcyNyAxNi44NzY4QzI4LjU3MDEgMTQuNjQ5NiAyOC41NzAxIDEwIDI4LjU3MDEgMTBDMjguNTcwMSAxMCAyOC41Njc3IDUuMzUwNDIgMjcuOTcyNyAzLjEyMzI0WiIgZmlsbD0iI0ZGMDAwMCI+PC9wYXRoPgogICAgICA8cGF0aCBkPSJNMTEuNDI1MyAxNC4yODU0TDE4Ljg0NzcgMTAuMDAwNEwxMS40MjUzIDUuNzE1MzNWMTQuMjg1NFoiIGZpbGw9IndoaXRlIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+Cjwvc3ZnPg==)}.simple-video-preview__play-button.dailymotion{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSJ3aGl0ZSIgb3BhY2l0eT0iMC42Ii8+CiAgICA8cG9seWdvbiBwb2ludHM9IjcwLDM1IDk1LDUwIDcwLDY1IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K)}.simple-video-preview__play-button.vimeo{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8Y2lyY2xlIGN4PSI3Ny41IiBjeT0iNTAiIHI9IjQwIiBmaWxsPSIjNDBiNGU3IiBvcGFjaXR5PSIwLjYiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNzAsMzUgOTUsNTAgNzAsNjUiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=)}.simple-video-preview__play-button.wistia{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDE1NSAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTU1IiBoZWlnaHQ9IjEwMCIgcng9IjcuNDM1OTQiIHJ5PSI3LjQzNTk0IiBmaWxsPSIjMTc0YmQyIiBvcGFjaXR5PSIwLjkiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iNjAsMzAgMTAwLDUwIDYwLDcwIiBmaWxsPSIjZmZmZmZmIi8+Cjwvc3ZnPgo=)}.simple-video-preview__credit-inner{display:inline-block}.simple-video-preview__credit.overlapping{display:block;height:0}.simple-video-preview__credit.overlapping .simple-video-preview__credit-inner{transform:translateY(-100%)}.simple-video-preview .simple-video-preview__caption{margin-top:0;text-align:initial}.simple-video-preview .simple-video-preview__caption>:first-child{margin-top:0} -
simple-video-preview/trunk/lang/simple-video-preview-fr_FR-bb1d7dea005e67527e728d4801f74b61.json
r3299186 r3317753 1 1 { 2 2 "translation-revision-date": "2025-05-19 12:40+0000", 3 "generator": "WP-CLI\/2.1 1.0",3 "generator": "WP-CLI\/2.12.0", 4 4 "source": "src\/edit.js", 5 5 "domain": "messages", … … 17 17 "Cr\u00e9dit" 18 18 ], 19 "Credit is above preview.": [20 "Le cr\u00e9dit est en dessous de l'aper\u00e7u"21 ],22 19 "Credit is overlapping preview.": [ 23 "Le cr\u00e9dit chevauche l'aper\u00e7u "20 "Le cr\u00e9dit chevauche l'aper\u00e7u." 24 21 ], 25 22 "Loading...": [ … … 30 27 ], 31 28 "Simple Video Preview Settings": [ 32 "R\u00e9glages de Simple Aper\u00e7u de Vid\u00e9o"29 "R\u00e9glages de Simple Video Preview" 33 30 ], 34 31 "Video Title": [ … … 37 34 "Video URL": [ 38 35 "URL de la Vid\u00e9o" 36 ], 37 "Credit is under preview.": [ 38 "Le cr\u00e9dit est en-dessous de l'aper\u00e7u." 39 39 ] 40 40 } -
simple-video-preview/trunk/lang/simple-video-preview-fr_FR-cc7778b2494c1d8202ecacbc08e5a092.json
r3299186 r3317753 1 1 { 2 2 "translation-revision-date": "2025-05-19 12:40+0000", 3 "generator": "WP-CLI\/2.1 1.0",3 "generator": "WP-CLI\/2.12.0", 4 4 "source": "src\/components\/videoThumbnail.js", 5 5 "domain": "messages", -
simple-video-preview/trunk/lang/simple-video-preview-fr_FR-dfbff627e6c248bcb3b61d7d06da9ca9.json
r3299186 r3317753 1 1 { 2 2 "translation-revision-date": "2025-05-19 12:40+0000", 3 "generator": "WP-CLI\/2.1 1.0",3 "generator": "WP-CLI\/2.12.0", 4 4 "source": "build\/index.js", 5 5 "domain": "messages", … … 23 23 "Cr\u00e9dit" 24 24 ], 25 "Credit is above preview.": [26 "Le cr\u00e9dit est en dessous de l'aper\u00e7u"27 ],28 25 "Credit is overlapping preview.": [ 29 "Le cr\u00e9dit chevauche l'aper\u00e7u "26 "Le cr\u00e9dit chevauche l'aper\u00e7u." 30 27 ], 31 28 "Dailymotion:": [ … … 42 39 ], 43 40 "Simple Video Preview": [ 44 "Simple Aper\u00e7u de Vid\u00e9o"41 "Simple Video Preview" 45 42 ], 46 43 "Simple Video Preview Settings": [ 47 "R\u00e9glages de Simple Aper\u00e7u de Vid\u00e9o"44 "R\u00e9glages de Simple Video Preview" 48 45 ], 49 46 "The plugin supports the following URL formats:": [ 50 "Ce plugin supporte les formats d'URL suivants :"47 "Cette extension supporte les formats d'URL suivants :" 51 48 ], 52 49 "Video Title": [ … … 70 67 "YouTube:": [ 71 68 "YouTube :" 69 ], 70 "Credit is under preview.": [ 71 "Le cr\u00e9dit est en-dessous de l'aper\u00e7u." 72 72 ] 73 73 } -
simple-video-preview/trunk/lang/simple-video-preview-fr_FR-e04fbe6a5c70b27e442b045f357c333c.json
r3299186 r3317753 1 1 { 2 2 "translation-revision-date": "2025-05-19 12:40+0000", 3 "generator": "WP-CLI\/2.1 1.0",3 "generator": "WP-CLI\/2.12.0", 4 4 "source": "src\/components\/helpPopover.js", 5 5 "domain": "messages", … … 21 21 ], 22 22 "Simple Video Preview": [ 23 "Simple Aper\u00e7u de Vid\u00e9o"23 "Simple Video Preview" 24 24 ], 25 25 "The plugin supports the following URL formats:": [ 26 "Ce plugin supporte les formats d'URL suivants :"26 "Cette extension supporte les formats d'URL suivants :" 27 27 ], 28 28 "Vimeo:": [ -
simple-video-preview/trunk/lang/simple-video-preview-fr_FR-eab28b5de5e8b001ec8968a7ad746aa5.json
r3299186 r3317753 1 1 { 2 2 "translation-revision-date": "2025-05-19 12:40+0000", 3 "generator": "WP-CLI\/2.1 1.0",3 "generator": "WP-CLI\/2.12.0", 4 4 "source": "src\/save.js", 5 5 "domain": "messages", -
simple-video-preview/trunk/lang/simple-video-preview-fr_FR.l10n.php
r3299186 r3317753 1 1 <?php 2 return ['project-id-version'=>'Simple Video Preview 1.0.0','report-msgid-bugs-to'=>'https://wordpress.org/support/plugin/simple-video-preview','last-translator'=>'Ju\'Z[ed]','language-team'=>'Français','mime-version'=>'1.0','content-type'=>'text/plain; charset=UTF-8','content-transfer-encoding'=>'8bit','pot-creation-date'=>'2025-02-25T12:55:06+01:00','po-revision-date'=>'2025-05-19 12:40+0000','language'=>'fr_FR','x-generator'=>'Loco https://localise.biz/','x-domain'=>'simple-video-preview','plural-forms'=>'nplurals=2; plural=n > 1;','x-loco-version'=>'2.7.2; wp-6.8.1 3 ','messages'=>['%%videoTitle%% video preview'=>'Aperçu de la vidéo %%videoTitle%%','A Gutenberg block to display video previews from various online services with a play button.'=>'Un bloc Gutenberg pour afficher des aperçus de vidéos de divers services avec un bouton jouer.','Add a legend for the video...'=>'Ajouter une légende pour cette vidéo...','block descriptionA Gutenberg block to display video previews from various online services with a play button.'=>'Un bloc Gutenberg pour afficher des aperçus de vidéos de divers services avec un bouton jouer.','block titleSimple Video Preview'=>'Simple Aperçu de Vidéo','Close'=>'Fermer','Credit'=>'Crédit','Credit is above preview.'=>'Le crédit est en dessous de l\'aperçu','Credit is overlapping preview.'=>'Le crédit chevauche l\'aperçu','Dailymotion:'=>'Dailymotion :','Help'=>'Aide','https://juzed.dev/'=>'https://juzed.dev/','https://juzed.dev/projets/simple-video-preview'=>'https://juzed.dev/projets/simple-video-preview','Ju\'Z[ed]'=>'Ju\'Z[ed]','Loading...'=>'Chargement...','Overlapping credit'=>'Crédit chevauchant','Simple Video Preview'=>'Simple Aperçu de Vidéo','Simple Video Preview Settings'=>'Réglages de Simple Aperçu de Vidéo','The plugin supports the following URL formats:'=>'Ce plugin supporte les formats d\'URL suivants :','Video Title'=>'Titre de la Vidéo','Video URL'=>'URL de la Vidéo','Vimeo:'=>'Vimeo :','Watch %%videoTitle%% (new tab)'=>'Regarder %%videoTitle%% (nouvel onglet)','Watch video (new tab)'=>'Regarder la vidéo (nouvel onglet)','Wistia:'=>'Wistia :','YouTube:'=>'YouTube :']]; 2 return ['domain'=>'simple-video-preview','plural-forms'=>'nplurals=2; plural=n > 1;','language'=>'fr_FR','project-id-version'=>'Simple Video Preview 1.0.0','pot-creation-date'=>'2025-02-25T12:55:06+01:00','po-revision-date'=>'2025-05-19 12:40+0000','x-generator'=>'Loco https://localise.biz/','messages'=>['%%videoTitle%% video preview'=>'Aperçu de la vidéo %%videoTitle%%','A Gutenberg block to display video previews from various online services with a play button.'=>'Un bloc Gutenberg pour afficher des aperçus de vidéos de divers services avec un bouton jouer.','Add a legend for the video...'=>'Ajouter une légende pour cette vidéo...','block descriptionA Gutenberg block to display video previews from various online services with a play button.'=>'Un bloc Gutenberg pour afficher des aperçus de vidéos de divers services avec un bouton jouer.','block titleSimple Video Preview'=>'Simple Video Preview','Close'=>'Fermer','Credit'=>'Crédit','Credit is overlapping preview.'=>'Le crédit chevauche l\'aperçu.','Dailymotion:'=>'Dailymotion :','Help'=>'Aide','https://juzed.dev/'=>'https://juzed.dev/','https://juzed.dev/projets/simple-video-preview'=>'https://juzed.dev/projets/simple-video-preview','Ju\'Z[ed]'=>'Ju\'Z[ed]','Loading...'=>'Chargement...','Overlapping credit'=>'Crédit chevauchant','Simple Video Preview'=>'Simple Video Preview','Simple Video Preview Settings'=>'Réglages de Simple Video Preview','The plugin supports the following URL formats:'=>'Cette extension supporte les formats d\'URL suivants :','Video Title'=>'Titre de la Vidéo','Video URL'=>'URL de la Vidéo','Vimeo:'=>'Vimeo :','Watch %%videoTitle%% (new tab)'=>'Regarder %%videoTitle%% (nouvel onglet)','Watch video (new tab)'=>'Regarder la vidéo (nouvel onglet)','Wistia:'=>'Wistia :','YouTube:'=>'YouTube :','Credit is under preview.'=>'Le crédit est en-dessous de l\'aperçu.']]; -
simple-video-preview/trunk/lang/simple-video-preview-fr_FR.po
r3299186 r3317753 16 16 "X-Loco-Version: 2.7.2; wp-6.8.1\n" 17 17 18 #: build/index.js:1 8118 #: build/index.js:1 19 19 #: src/components/videoThumbnail.js:14 20 #: build/index.js:11921 20 #, javascript-format 22 21 msgid "%%videoTitle%% video preview" … … 28 27 msgstr "Un bloc Gutenberg pour afficher des aperçus de vidéos de divers services avec un bouton jouer." 29 28 30 #: build/index.js: 25129 #: build/index.js:1 31 30 #: src/edit.js:29 32 #: build/index.js:15833 31 msgid "Add a legend for the video..." 34 32 msgstr "Ajouter une légende pour cette vidéo..." … … 44 42 msgctxt "block title" 45 43 msgid "Simple Video Preview" 46 msgstr "Simple Aperçu de Vidéo"44 msgstr "Simple Video Preview" 47 45 48 #: build/index.js: 4446 #: build/index.js:1 49 47 #: src/components/helpPopover.js:28 50 #: build/index.js:2851 48 msgid "Close" 52 49 msgstr "Fermer" 53 50 54 #: build/index.js: 30151 #: build/index.js:1 55 52 #: src/edit.js:79 56 #: build/index.js:20857 53 msgid "Credit" 58 54 msgstr "Crédit" 59 55 60 #: build/index.js:309 61 #: src/edit.js:88 62 #: build/index.js:217 63 msgid "Credit is above preview." 64 msgstr "Le crédit est en dessous de l'aperçu" 56 #: build/index.js:1 57 #: src/edit.js:87 58 msgid "Credit is overlapping preview." 59 msgstr "Le crédit chevauche l'aperçu." 65 60 66 #: build/index.js:309 67 #: src/edit.js:87 68 #: build/index.js:216 69 msgid "Credit is overlapping preview." 70 msgstr "Le crédit chevauche l'aperçu" 71 72 #: build/index.js:90 61 #: build/index.js:1 73 62 #: src/components/helpPopover.js:60 74 #: build/index.js:6075 63 msgid "Dailymotion:" 76 64 msgstr "Dailymotion :" 77 65 78 #: build/index.js:36 79 #: build/index.js:39 66 #: build/index.js:1 80 67 #: src/components/helpPopover.js:17 81 68 #: src/components/helpPopover.js:21 82 #: build/index.js:1783 #: build/index.js:2184 69 msgid "Help" 85 70 msgstr "Aide" … … 100 85 msgstr "Ju'Z[ed]" 101 86 102 #: build/index.js: 32187 #: build/index.js:1 103 88 #: src/edit.js:102 104 #: build/index.js:231105 89 msgid "Loading..." 106 90 msgstr "Chargement..." 107 91 108 #: build/index.js: 30892 #: build/index.js:1 109 93 #: src/edit.js:85 110 #: build/index.js:214111 94 msgid "Overlapping credit" 112 95 msgstr "Crédit chevauchant" … … 114 97 #. Plugin Name of the plugin 115 98 #: simple-video-preview.php 116 #: build/index.js: 4899 #: build/index.js:1 117 100 #: src/components/helpPopover.js:32 118 #: build/index.js:32119 101 msgid "Simple Video Preview" 120 msgstr "Simple Aperçu de Vidéo"102 msgstr "Simple Video Preview" 121 103 122 #: build/index.js: 286104 #: build/index.js:1 123 105 #: src/edit.js:65 124 #: build/index.js:194125 106 msgid "Simple Video Preview Settings" 126 msgstr "Réglages de Simple Aperçu de Vidéo"107 msgstr "Réglages de Simple Video Preview" 127 108 128 #: build/index.js: 50109 #: build/index.js:1 129 110 #: src/components/helpPopover.js:33 130 #: build/index.js:33131 111 msgid "The plugin supports the following URL formats:" 132 msgstr "Ce plugin supporte les formats d'URL suivants :"112 msgstr "Cette extension supporte les formats d'URL suivants :" 133 113 134 #: build/index.js: 295114 #: build/index.js:1 135 115 #: src/edit.js:74 136 #: build/index.js:203137 116 msgid "Video Title" 138 117 msgstr "Titre de la Vidéo" 139 118 140 #: build/index.js: 289119 #: build/index.js:1 141 120 #: src/edit.js:69 142 #: build/index.js:198143 121 msgid "Video URL" 144 122 msgstr "URL de la Vidéo" 145 123 146 #: build/index.js: 80124 #: build/index.js:1 147 125 #: src/components/helpPopover.js:53 148 #: build/index.js:53149 126 msgid "Vimeo:" 150 127 msgstr "Vimeo :" 151 128 152 #: build/index.js: 501129 #: build/index.js:1 153 130 #: src/save.js:26 154 #: build/index.js:353155 131 #, javascript-format 156 132 msgid "Watch %%videoTitle%% (new tab)" 157 133 msgstr "Regarder %%videoTitle%% (nouvel onglet)" 158 134 159 #: build/index.js: 501135 #: build/index.js:1 160 136 #: src/save.js:26 161 #: build/index.js:353162 137 msgid "Watch video (new tab)" 163 138 msgstr "Regarder la vidéo (nouvel onglet)" 164 139 165 #: build/index.js: 68140 #: build/index.js:1 166 141 #: src/components/helpPopover.js:45 167 #: build/index.js:45168 142 msgid "Wistia:" 169 143 msgstr "Wistia :" 170 144 171 #: build/index.js: 54145 #: build/index.js:1 172 146 #: src/components/helpPopover.js:36 173 #: build/index.js:36174 147 msgid "YouTube:" 175 148 msgstr "YouTube :" 149 150 #: build/index.js:1 151 #: src/edit.js:88 152 msgid "Credit is under preview." 153 msgstr "Le crédit est en-dessous de l'aperçu." -
simple-video-preview/trunk/lang/simple-video-preview.pot
r3299186 r3317753 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025-0 5-19T12:41:15+00:00\n"12 "POT-Creation-Date: 2025-06-25T11:26:44+02:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 "X-Generator: WP-CLI 2.1 1.0\n"14 "X-Generator: WP-CLI 2.12.0\n" 15 15 "X-Domain: simple-video-preview\n" 16 16 17 17 #. Plugin Name of the plugin 18 18 #: simple-video-preview.php 19 #: build/index.js: 4819 #: build/index.js:1 20 20 #: src/components/helpPopover.js:32 21 #: build/index.js:3222 21 msgid "Simple Video Preview" 23 22 msgstr "" … … 43 42 msgstr "" 44 43 45 #: build/index.js:36 46 #: build/index.js:39 44 #: build/index.js:1 45 #: src/components/videoThumbnail.js:14 46 msgid "%%videoTitle%% video preview" 47 msgstr "" 48 49 #: build/index.js:1 47 50 #: src/components/helpPopover.js:17 48 51 #: src/components/helpPopover.js:21 49 #: build/index.js:1750 #: build/index.js:2151 52 msgid "Help" 52 53 msgstr "" 53 54 54 #: build/index.js: 4455 #: build/index.js:1 55 56 #: src/components/helpPopover.js:28 56 #: build/index.js:2857 57 msgid "Close" 58 58 msgstr "" 59 59 60 #: build/index.js: 5060 #: build/index.js:1 61 61 #: src/components/helpPopover.js:33 62 #: build/index.js:3363 62 msgid "The plugin supports the following URL formats:" 64 63 msgstr "" 65 64 66 #: build/index.js: 5465 #: build/index.js:1 67 66 #: src/components/helpPopover.js:36 68 #: build/index.js:3669 67 msgid "YouTube:" 70 68 msgstr "" 71 69 72 #: build/index.js: 6870 #: build/index.js:1 73 71 #: src/components/helpPopover.js:45 74 #: build/index.js:4575 72 msgid "Wistia:" 76 73 msgstr "" 77 74 78 #: build/index.js: 8075 #: build/index.js:1 79 76 #: src/components/helpPopover.js:53 80 #: build/index.js:5381 77 msgid "Vimeo:" 82 78 msgstr "" 83 79 84 #: build/index.js: 9080 #: build/index.js:1 85 81 #: src/components/helpPopover.js:60 86 #: build/index.js:6087 82 msgid "Dailymotion:" 88 83 msgstr "" 89 84 90 #: build/index.js:181 91 #: src/components/videoThumbnail.js:14 92 #: build/index.js:119 93 msgid "%%videoTitle%% video preview" 94 msgstr "" 95 96 #: build/index.js:251 85 #: build/index.js:1 97 86 #: src/edit.js:29 98 #: build/index.js:15899 87 msgid "Add a legend for the video..." 100 88 msgstr "" 101 89 102 #: build/index.js: 28690 #: build/index.js:1 103 91 #: src/edit.js:65 104 #: build/index.js:194105 92 msgid "Simple Video Preview Settings" 106 93 msgstr "" 107 94 108 #: build/index.js: 28995 #: build/index.js:1 109 96 #: src/edit.js:69 110 #: build/index.js:198111 97 msgid "Video URL" 112 98 msgstr "" 113 99 114 #: build/index.js: 295100 #: build/index.js:1 115 101 #: src/edit.js:74 116 #: build/index.js:203117 102 msgid "Video Title" 118 103 msgstr "" 119 104 120 #: build/index.js: 301105 #: build/index.js:1 121 106 #: src/edit.js:79 122 #: build/index.js:208123 107 msgid "Credit" 124 108 msgstr "" 125 109 126 #: build/index.js: 308110 #: build/index.js:1 127 111 #: src/edit.js:85 128 #: build/index.js:214129 112 msgid "Overlapping credit" 130 113 msgstr "" 131 114 132 #: build/index.js: 309115 #: build/index.js:1 133 116 #: src/edit.js:87 134 #: build/index.js:216135 117 msgid "Credit is overlapping preview." 136 118 msgstr "" 137 119 138 #: build/index.js: 309120 #: build/index.js:1 139 121 #: src/edit.js:88 140 #: build/index.js:217 141 msgid "Credit is above preview." 122 msgid "Credit is under preview." 142 123 msgstr "" 143 124 144 #: build/index.js: 321125 #: build/index.js:1 145 126 #: src/edit.js:102 146 #: build/index.js:231147 127 msgid "Loading..." 148 128 msgstr "" 149 129 150 #: build/index.js: 501130 #: build/index.js:1 151 131 #: src/save.js:26 152 #: build/index.js:353153 132 msgid "Watch %%videoTitle%% (new tab)" 154 133 msgstr "" 155 134 156 #: build/index.js: 501135 #: build/index.js:1 157 136 #: src/save.js:26 158 #: build/index.js:353159 137 msgid "Watch video (new tab)" 160 138 msgstr "" -
simple-video-preview/trunk/readme.txt
r3299186 r3317753 3 3 Requires at least: 6.0 4 4 Tested up to: 6.8 5 Stable tag: 1.0. 05 Stable tag: 1.0.1 6 6 Requires PHP: 7.0 7 7 License: GPLv2 or later … … 15 15 Simple Video Preview is a Gutenberg block that allows you to easily embed video previews from various online video services such as YouTube, Vimeo, Dailymotion, and Wistia. When users click the play button, they are redirected to the video service to watch the video in a new tab. 16 16 17 **Translation: **17 **Translation: ** 18 18 The plugin is fully translated into French and the translation system is operational for other languages. 19 19 20 **Eco-Responsibility: **20 **Eco-Responsibility: ** 21 21 By using video previews instead of embedding full videos, you reduce the data load and energy consumption, contributing to a more sustainable web experience. 22 22 23 **Accessibility: **23 **Accessibility: ** 24 24 Simple Video Preview is designed with accessibility in mind, ensuring that all users, including those with disabilities, can easily interact with the video previews. 25 25 26 **Privacy: **26 **Privacy: ** 27 27 Simple Video Preview does not deposit any cookies on the user's device. This ensures that user privacy is respected and no tracking is performed by the plugin. 28 28 … … 69 69 == Changelog == 70 70 71 = 1.0.1 = 72 * Fix some typos. 73 71 74 = 1.0.0 = 72 75 * Initial release. … … 74 77 == Upgrade Notice == 75 78 79 = 1.0.1 = 80 Release that fixes some typos. 81 76 82 = 1.0.0 = 77 83 Initial release of the Simple Video Preview plugin. -
simple-video-preview/trunk/simple-video-preview.php
r3299186 r3317753 4 4 * Plugin URI: https://juzed.dev/projets/simple-video-preview 5 5 * Description: A Gutenberg block to display video previews from various online services with a play button. 6 * Version: 1.0. 06 * Version: 1.0.1 7 7 * Author: Ju'Z[ed] 8 8 * Author URI: https://juzed.dev/ -
simple-video-preview/trunk/src/edit.js
r3299186 r3317753 86 86 help={hasCreditOverlap 87 87 ? __('Credit is overlapping preview.', 'simple-video-preview') 88 : __('Credit is abovepreview.', 'simple-video-preview')88 : __('Credit is under preview.', 'simple-video-preview') 89 89 } 90 90 checked={hasCreditOverlap}
Note: See TracChangeset
for help on using the changeset viewer.