on-codemerge
Version:
A WYSIWYG editor for on-codemerge is a user-friendly interface that allows users to edit and view their code in real time, exactly as it will appear in the final product
2 lines (1 loc) • 904 B
JavaScript
;var n=Object.defineProperty;var c=(o,t,e)=>t in o?n(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var d=(o,t,e)=>c(o,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../../utils/helpers.cjs");class s{constructor(t,e){d(this,"videoUrl");this.videoUrl=e}execute(){const t=this.extractYouTubeVideoId(this.videoUrl);if(!t)return;const e=i.createIframe("max-w-full rounded-lg p-2");e.src=`https://www.youtube.com/embed/${t}`,e.width="800",e.height="400",e.frameBorder="0",e.allowFullscreen=!0;const r=window.getSelection(),u=r==null?void 0:r.getRangeAt(0);u&&(u.deleteContents(),u.insertNode(e),u.collapse(!1))}extractYouTubeVideoId(t){const e=/(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/,r=t.match(e);return r?r[1]:null}}exports.YouTubeVideoCommand=s;