UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 4.77 kB
{ "version": 3, "sources": ["../../src/video/transforms.js"], "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlobURL, isBlobURL } from '@wordpress/blob';\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length === 1 &&\n\t\t\t\t\tfiles[ 0 ].type.indexOf( 'video/' ) === 0\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst file = files[ 0 ];\n\t\t\t\t// We don't need to upload the media directly here\n\t\t\t\t// It's already done as part of the `componentDidMount`\n\t\t\t\t// in the video block\n\t\t\t\tconst block = createBlock( 'core/video', {\n\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t} );\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'video',\n\t\t\tattributes: {\n\t\t\t\tsrc: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( {\n\t\t\t\t\t\tnamed: { src, mp4, m4v, webm, ogv, flv },\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\treturn src || mp4 || m4v || webm || ogv || flv;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tposter: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { poster } } ) => {\n\t\t\t\t\t\treturn poster;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tloop: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { loop } } ) => {\n\t\t\t\t\t\treturn loop;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tautoplay: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { autoplay } } ) => {\n\t\t\t\t\t\treturn autoplay;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpreload: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { preload } } ) => {\n\t\t\t\t\t\treturn preload;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'P' &&\n\t\t\t\tnode.children.length === 1 &&\n\t\t\t\tnode.firstChild.nodeName === 'VIDEO',\n\t\t\ttransform: ( node ) => {\n\t\t\t\tconst videoElement = node.firstChild;\n\t\t\t\tconst attributes = {\n\t\t\t\t\tautoplay: videoElement.hasAttribute( 'autoplay' )\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tcontrols: videoElement.hasAttribute( 'controls' )\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: false,\n\t\t\t\t\tloop: videoElement.hasAttribute( 'loop' )\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tmuted: videoElement.hasAttribute( 'muted' )\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tpreload:\n\t\t\t\t\t\tvideoElement.getAttribute( 'preload' ) || undefined,\n\t\t\t\t\tplaysInline: videoElement.hasAttribute( 'playsinline' )\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tposter: videoElement.getAttribute( 'poster' ) || undefined,\n\t\t\t\t\tsrc: videoElement.getAttribute( 'src' ) || undefined,\n\t\t\t\t};\n\t\t\t\tif ( isBlobURL( attributes.src ) ) {\n\t\t\t\t\tattributes.blob = attributes.src;\n\t\t\t\t\tdelete attributes.src;\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/video', attributes );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"], "mappings": ";AAGA,SAAS,eAAe,iBAAiB;AACzC,SAAS,mBAAmB;AAE5B,IAAM,aAAa;AAAA,EAClB,MAAM;AAAA,IACL;AAAA,MACC,MAAM;AAAA,MACN,QAAS,OAAQ;AAChB,eACC,MAAM,WAAW,KACjB,MAAO,CAAE,EAAE,KAAK,QAAS,QAAS,MAAM;AAAA,MAE1C;AAAA,MACA,UAAW,OAAQ;AAClB,cAAM,OAAO,MAAO,CAAE;AAItB,cAAM,QAAQ,YAAa,cAAc;AAAA,UACxC,MAAM,cAAe,IAAK;AAAA,QAC3B,CAAE;AACF,eAAO;AAAA,MACR;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,KAAK;AAAA,MACL,YAAY;AAAA,QACX,KAAK;AAAA,UACJ,MAAM;AAAA,UACN,WAAW,CAAE;AAAA,YACZ,OAAO,EAAE,KAAK,KAAK,KAAK,MAAM,KAAK,IAAI;AAAA,UACxC,MAAO;AACN,mBAAO,OAAO,OAAO,OAAO,QAAQ,OAAO;AAAA,UAC5C;AAAA,QACD;AAAA,QACA,QAAQ;AAAA,UACP,MAAM;AAAA,UACN,WAAW,CAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAO;AACvC,mBAAO;AAAA,UACR;AAAA,QACD;AAAA,QACA,MAAM;AAAA,UACL,MAAM;AAAA,UACN,WAAW,CAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAO;AACrC,mBAAO;AAAA,UACR;AAAA,QACD;AAAA,QACA,UAAU;AAAA,UACT,MAAM;AAAA,UACN,WAAW,CAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAO;AACzC,mBAAO;AAAA,UACR;AAAA,QACD;AAAA,QACA,SAAS;AAAA,UACR,MAAM;AAAA,UACN,WAAW,CAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAO;AACxC,mBAAO;AAAA,UACR;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,SAAS,CAAE,SACV,KAAK,aAAa,OAClB,KAAK,SAAS,WAAW,KACzB,KAAK,WAAW,aAAa;AAAA,MAC9B,WAAW,CAAE,SAAU;AACtB,cAAM,eAAe,KAAK;AAC1B,cAAM,aAAa;AAAA,UAClB,UAAU,aAAa,aAAc,UAAW,IAC7C,OACA;AAAA,UACH,UAAU,aAAa,aAAc,UAAW,IAC7C,SACA;AAAA,UACH,MAAM,aAAa,aAAc,MAAO,IACrC,OACA;AAAA,UACH,OAAO,aAAa,aAAc,OAAQ,IACvC,OACA;AAAA,UACH,SACC,aAAa,aAAc,SAAU,KAAK;AAAA,UAC3C,aAAa,aAAa,aAAc,aAAc,IACnD,OACA;AAAA,UACH,QAAQ,aAAa,aAAc,QAAS,KAAK;AAAA,UACjD,KAAK,aAAa,aAAc,KAAM,KAAK;AAAA,QAC5C;AACA,YAAK,UAAW,WAAW,GAAI,GAAI;AAClC,qBAAW,OAAO,WAAW;AAC7B,iBAAO,WAAW;AAAA,QACnB;AACA,eAAO,YAAa,cAAc,UAAW;AAAA,MAC9C;AAAA,IACD;AAAA,EACD;AACD;AAEA,IAAO,qBAAQ;", "names": [] }