From 3009074c82441a2f84efe65d8ec9fe6fc24618c2 Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Wed, 18 Nov 2020 12:00:21 +0100 Subject: [PATCH] Nightly build 2024_06_08 --- .nojekyll | 0 master/.nojekyll | 1 + master/assets/highlight.css | 99 ++ master/assets/icons.js | 15 + master/assets/icons.svg | 1 + master/assets/main.js | 59 + master/assets/navigation.js | 1 + master/assets/search.js | 1 + master/assets/style.css | 1412 +++++++++++++++++ master/classes/PublicAPI.html | 83 + master/classes/RufflePlayer.html | 837 ++++++++++ master/classes/Version.html | 50 + master/classes/VersionRange.html | 33 + master/enums/AutoPlay.html | 15 + master/enums/ContextMenu.html | 11 + master/enums/Letterbox.html | 11 + master/enums/LogLevel.html | 7 + master/enums/NetworkingAccessMode.html | 18 + master/enums/OpenURLMode.html | 8 + master/enums/PlayerRuntime.html | 6 + master/enums/ReadyState.html | 8 + master/enums/RenderBackend.html | 19 + master/enums/UnmuteOverlay.html | 7 + master/enums/WindowMode.html | 19 + master/functions/getPolyfillOptions.html | 13 + master/functions/isFallbackElement.html | 6 + master/functions/isSwf.html | 5 + master/functions/isYoutubeFlashSource.html | 4 + master/functions/pluginPolyfill.html | 2 + master/functions/polyfill.html | 2 + master/functions/swfFileName.html | 4 + .../workaroundYoutubeMixedContent.html | 4 + master/hierarchy.html | 1 + master/index.html | 21 + master/interfaces/BaseLoadOptions.html | 210 +++ master/interfaces/DataLoadOptions.html | 216 +++ master/interfaces/DefaultFonts.html | 16 + master/interfaces/MovieMetadata.html | 19 + master/interfaces/ObsoleteDuration.html | 5 + master/interfaces/SocketProxy.html | 8 + master/interfaces/URLLoadOptions.html | 214 +++ master/modules.html | 35 + master/types/Duration.html | 3 + master/types/SecsDuration.html | 2 + master/variables/DEFAULT_CONFIG.html | 1 + master/variables/buildInfo.html | 2 + 46 files changed, 3514 insertions(+) create mode 100644 .nojekyll create mode 100644 master/.nojekyll create mode 100644 master/assets/highlight.css create mode 100644 master/assets/icons.js create mode 100644 master/assets/icons.svg create mode 100644 master/assets/main.js create mode 100644 master/assets/navigation.js create mode 100644 master/assets/search.js create mode 100644 master/assets/style.css create mode 100644 master/classes/PublicAPI.html create mode 100644 master/classes/RufflePlayer.html create mode 100644 master/classes/Version.html create mode 100644 master/classes/VersionRange.html create mode 100644 master/enums/AutoPlay.html create mode 100644 master/enums/ContextMenu.html create mode 100644 master/enums/Letterbox.html create mode 100644 master/enums/LogLevel.html create mode 100644 master/enums/NetworkingAccessMode.html create mode 100644 master/enums/OpenURLMode.html create mode 100644 master/enums/PlayerRuntime.html create mode 100644 master/enums/ReadyState.html create mode 100644 master/enums/RenderBackend.html create mode 100644 master/enums/UnmuteOverlay.html create mode 100644 master/enums/WindowMode.html create mode 100644 master/functions/getPolyfillOptions.html create mode 100644 master/functions/isFallbackElement.html create mode 100644 master/functions/isSwf.html create mode 100644 master/functions/isYoutubeFlashSource.html create mode 100644 master/functions/pluginPolyfill.html create mode 100644 master/functions/polyfill.html create mode 100644 master/functions/swfFileName.html create mode 100644 master/functions/workaroundYoutubeMixedContent.html create mode 100644 master/hierarchy.html create mode 100644 master/index.html create mode 100644 master/interfaces/BaseLoadOptions.html create mode 100644 master/interfaces/DataLoadOptions.html create mode 100644 master/interfaces/DefaultFonts.html create mode 100644 master/interfaces/MovieMetadata.html create mode 100644 master/interfaces/ObsoleteDuration.html create mode 100644 master/interfaces/SocketProxy.html create mode 100644 master/interfaces/URLLoadOptions.html create mode 100644 master/modules.html create mode 100644 master/types/Duration.html create mode 100644 master/types/SecsDuration.html create mode 100644 master/variables/DEFAULT_CONFIG.html create mode 100644 master/variables/buildInfo.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/master/.nojekyll b/master/.nojekyll new file mode 100644 index 000000000..e2ac6616a --- /dev/null +++ b/master/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/master/assets/highlight.css b/master/assets/highlight.css new file mode 100644 index 000000000..9ca4e01a9 --- /dev/null +++ b/master/assets/highlight.css @@ -0,0 +1,99 @@ +:root { + --light-hl-0: #800000; + --dark-hl-0: #808080; + --light-hl-1: #800000; + --dark-hl-1: #569CD6; + --light-hl-2: #000000FF; + --dark-hl-2: #D4D4D4; + --light-hl-3: #E50000; + --dark-hl-3: #9CDCFE; + --light-hl-4: #0000FF; + --dark-hl-4: #CE9178; + --light-hl-5: #001080; + --dark-hl-5: #9CDCFE; + --light-hl-6: #000000; + --dark-hl-6: #D4D4D4; + --light-hl-7: #795E26; + --dark-hl-7: #DCDCAA; + --light-hl-8: #A31515; + --dark-hl-8: #CE9178; + --light-hl-9: #0000FF; + --dark-hl-9: #569CD6; + --light-hl-10: #098658; + --dark-hl-10: #B5CEA8; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +pre, code { background: var(--code-background); } diff --git a/master/assets/icons.js b/master/assets/icons.js new file mode 100644 index 000000000..b79c9e89f --- /dev/null +++ b/master/assets/icons.js @@ -0,0 +1,15 @@ +(function(svg) { + svg.innerHTML = ``; + svg.style.display = 'none'; + if (location.protocol === 'file:') { + if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', updateUseElements); + else updateUseElements() + function updateUseElements() { + document.querySelectorAll('use').forEach(el => { + if (el.getAttribute('href').includes('#icon-')) { + el.setAttribute('href', el.getAttribute('href').replace(/.*#/, '#')); + } + }); + } + } +})(document.body.appendChild(document.createElementNS('http://www.w3.org/2000/svg', 'svg'))) \ No newline at end of file diff --git a/master/assets/icons.svg b/master/assets/icons.svg new file mode 100644 index 000000000..7dead6118 --- /dev/null +++ b/master/assets/icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/master/assets/main.js b/master/assets/main.js new file mode 100644 index 000000000..d6f138860 --- /dev/null +++ b/master/assets/main.js @@ -0,0 +1,59 @@ +"use strict"; +"use strict";(()=>{var Ce=Object.create;var ne=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ce(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),y=s.str.charAt(1),p;y in s.node.edges?p=s.node.edges[y]:(p=new t.TokenSet,s.node.edges[y]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(console.log("Show page"),document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){console.log("Scorlling");let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!e.checkVisibility()){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ve(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ve(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let y=document.createElement("li");y.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,y.append(p),e.appendChild(y)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ne(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",fe="mousemove",H="mouseup",J={x:0,y:0},pe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",fe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ee=!1});document.addEventListener("click",t=>{pe&&(t.preventDefault(),t.stopImmediatePropagation(),pe=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ye=document.head.appendChild(document.createElement("style"));ye.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ye.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ve(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ve(t.value)})}function ve(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/master/assets/navigation.js b/master/assets/navigation.js new file mode 100644 index 000000000..c255c93fa --- /dev/null +++ b/master/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA42VW4/TMBCF/0ueV4Qt7AJ9616CKqUXpRSEVis0SSatVceu7HEvQvx31NJt7cRxec0555vx2LFffkeEO4r60ZqbBRNTyfcV4zy6idZAy6gfVUYUxKTQset4t6T6YFsxUUb9+49/bi6oEOR6fGpyzorBdHjJFxy0Rh2fJTd+2/ts5RdIb01O1seqvkbarkBLTP+UhkyOCQe9nEmjCvRBfb4AdivVCpQ0ojzFRmyH5aMUhIJ8/GAg2H8CnOdQrJ451h3wlikAzExVcZxy2KNqb5OthnYqQyj3MwKyhonC1Dq+KG7eTn9HpZkU7fInIVT5ZMlALLATcFRDlKfnZDBPv/16nIyT4dcLZwOKQc5Rx67DZX3oWaiBIXkYWHMQb9+7x5AiEapc7prRs9CdnYvaEE42qDylHTFQXy5S3CBvlT99707+YKKU25EsW9t/UbrTGYoS1QMUKxRl+/xYYjfj+OfsaITCNAmW1J3/d8QzI4jVrUU4YjdjhoV+MgrIOcu0X6OObc0l9N5/+XR7Z5+gSa4lR8I2iwlCVUGBOm6aGtC7e/t0dzT13w2tUcyz1Le/ltQ9mDHS4b5jYjEoCtTaB/J5AqOWxQppquRu752OpQcHgxUYTokUpL0c2xACPYDGVELZeqYsVsMTws2z9BrNtQQXCQTXaA1PCJcbxsuhqKTvljyLgQuS6dm28j9bs20VeKr0tkoYxzHU3ifbkgOQkdwwHCFBCQTeWTiO9iRe/wLtweGLagkAAA==" \ No newline at end of file diff --git a/master/assets/search.js b/master/assets/search.js new file mode 100644 index 000000000..64c70319f --- /dev/null +++ b/master/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/master/assets/style.css b/master/assets/style.css new file mode 100644 index 000000000..778b94927 --- /dev/null +++ b/master/assets/style.css @@ -0,0 +1,1412 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a:not(.link), +h2 > a:not(.link), +h3 > a:not(.link), +h4 > a:not(.link), +h5 > a:not(.link), +h6 > a:not(.link) { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} +.tsd-generator { + margin: 0 1em; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/master/classes/PublicAPI.html b/master/classes/PublicAPI.html new file mode 100644 index 000000000..b23cee907 --- /dev/null +++ b/master/classes/PublicAPI.html @@ -0,0 +1,83 @@ +PublicAPI | ruffle-core

Class PublicAPI

Represents the Ruffle public API.

+

The public API exists primarily to allow multiple installs of Ruffle on a +page (e.g. an extension install and a local one) to cooperate. In an ideal +situation, all Ruffle sources on the page install themselves into a single +public API, and then the public API picks the newest version by default.

+

This API is versioned, in case we need to upgrade it. However, it must be +backwards- and forwards-compatible with all known sources.

+

Implements

  • PublicAPILike

Properties

config: object | URLLoadOptions | DataLoadOptions

The configuration object used when Ruffle is instantiated.

+
sources: Record<string, {
    version: string;
    polyfill(): void;
    pluginPolyfill(): void;
    createPlayer(): RufflePlayer;
}>

Type declaration

  • version: string

    The version of this particular API, as a string in a semver compatible format.

    +
  • polyfill:function
  • pluginPolyfill:function
    • Polyfill the plugin detection.

      +

      This needs to run before any plugin detection script does.

      +

      Returns void

  • createPlayer:function
invoked: boolean
newestName: null | string

Accessors

  • get version(): string
  • The version of the public API.

    +

    This is not the version of Ruffle itself.

    +

    This allows a page with an old version of the Public API to be upgraded +to a new version of the API. The public API is intended to be changed +very infrequently, if at all, but this provides an escape mechanism for +newer Ruffle sources to upgrade older installations.

    +

    Returns string

    The version of this public API.

    +

Methods

  • Join a source into the public API, if it doesn't already exist.

    +

    Parameters

    • Optional prevRuffle: null | PublicAPILike

      The previous iteration of the Ruffle API.

      +

      The prevRuffle param lists the previous object in the RufflePlayer +slot. We perform some checks to see if this is a Ruffle public API or a +conflicting object. If this is conflicting, then a new public API will +be constructed (see the constructor information for what happens to +prevRuffle).

      +

      Note that Public API upgrades are deliberately not enabled in this +version of Ruffle, since there is no Public API to upgrade from.

      +
    • Optional sourceName: string

      The name of this particular +Ruffle source.

      +

      If both parameters are provided they will be used to define a new Ruffle +source to register with the public API.

      +

    Returns PublicAPI

    The Ruffle Public API.

    +
  • Register a given source with the Ruffle Public API.

    +

    Parameters

    • name: string

      The name of the source.

      +

    Returns void

  • Determine the name of the newest registered source in the Public API.

    +

    Returns null | string

    The name of the source, or null if no source +has yet to be registered.

    +
  • Negotiate and start Ruffle.

    +

    This function reads the config parameter to determine which polyfills +should be enabled. If the configuration parameter is missing, then we +use a built-in set of defaults sufficient to fool sites with static +content and weak plugin detection.

    +

    Returns void

  • Look up the newest Ruffle source and return it's API.

    +

    Returns null | {
        version: string;
        polyfill(): void;
        pluginPolyfill(): void;
        createPlayer(): RufflePlayer;
    }

    An instance of the Source API.

    +
  • Look up a specific Ruffle version (or any version satisfying a given set +of requirements) and return it's API.

    +

    Parameters

    • requirementString: string

      A set of semantic version requirement +strings that the player version must satisfy.

      +

    Returns null | {
        version: string;
        polyfill(): void;
        pluginPolyfill(): void;
        createPlayer(): RufflePlayer;
    }

    An instance of the Source API, if one or more +sources satisfied the requirement.

    +
  • Look up the newest Ruffle version compatible with the local source, if +it's installed. Otherwise, use the latest version.

    +

    Returns null | {
        version: string;
        polyfill(): void;
        pluginPolyfill(): void;
        createPlayer(): RufflePlayer;
    }

    An instance of the Source API

    +
  • Look up the newest Ruffle version with the exact same version as the +local source, if it's installed. Otherwise, use the latest version.

    +

    Returns null | {
        version: string;
        polyfill(): void;
        pluginPolyfill(): void;
        createPlayer(): RufflePlayer;
    }

    An instance of the Source API

    +
  • Indicates that this version of the public API has been superseded by a +newer version.

    +

    This should only be called by a newer version of the Public API. +Identical versions of the Public API should not supersede older versions +of that same API.

    +

    Unfortunately, we can't disable polyfills after-the-fact, so this +only lets you disable the init event...

    +

    Returns void

\ No newline at end of file diff --git a/master/classes/RufflePlayer.html b/master/classes/RufflePlayer.html new file mode 100644 index 000000000..1ad6f8a1f --- /dev/null +++ b/master/classes/RufflePlayer.html @@ -0,0 +1,837 @@ +RufflePlayer | ruffle-core

Class RufflePlayer

The ruffle player element that should be inserted onto the page.

+

This element will represent the rendered and intractable flash movie.

+

Hierarchy

  • HTMLElement
    • RufflePlayer

Constructors

Properties

onFSCommand +config +accessKey +accessKeyLabel +autocapitalize +dir +draggable +hidden +inert +innerText +lang +offsetHeight +offsetLeft +offsetParent +offsetTop +offsetWidth +outerText +popover +spellcheck +title +translate +attributes +classList +className +clientHeight +clientLeft +clientTop +clientWidth +id +localName +namespaceURI +onfullscreenchange +onfullscreenerror +outerHTML +ownerDocument +part +prefix +scrollHeight +scrollLeft +scrollTop +scrollWidth +shadowRoot +slot +tagName +webkitRequestFullscreen? +webkitRequestFullScreen? +baseURI +childNodes +firstChild +isConnected +lastChild +nextSibling +nodeName +nodeType +nodeValue +parentElement +parentNode +previousSibling +textContent +ELEMENT_NODE +ATTRIBUTE_NODE +TEXT_NODE +CDATA_SECTION_NODE +ENTITY_REFERENCE_NODE +ENTITY_NODE +PROCESSING_INSTRUCTION_NODE +COMMENT_NODE +DOCUMENT_NODE +DOCUMENT_TYPE_NODE +DOCUMENT_FRAGMENT_NODE +NOTATION_NODE +DOCUMENT_POSITION_DISCONNECTED +DOCUMENT_POSITION_PRECEDING +DOCUMENT_POSITION_FOLLOWING +DOCUMENT_POSITION_CONTAINS +DOCUMENT_POSITION_CONTAINED_BY +DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC +ariaAtomic +ariaAutoComplete +ariaBusy +ariaChecked +ariaColCount +ariaColIndex +ariaColSpan +ariaCurrent +ariaDescription +ariaDisabled +ariaExpanded +ariaHasPopup +ariaHidden +ariaInvalid +ariaKeyShortcuts +ariaLabel +ariaLevel +ariaLive +ariaModal +ariaMultiLine +ariaMultiSelectable +ariaOrientation +ariaPlaceholder +ariaPosInSet +ariaPressed +ariaReadOnly +ariaRequired +ariaRoleDescription +ariaRowCount +ariaRowIndex +ariaRowSpan +ariaSelected +ariaSetSize +ariaSort +ariaValueMax +ariaValueMin +ariaValueNow +ariaValueText +role +innerHTML +nextElementSibling +previousElementSibling +childElementCount +children +firstElementChild +lastElementChild +assignedSlot +attributeStyleMap +style +contentEditable +enterKeyHint +inputMode +isContentEditable +onabort +onanimationcancel +onanimationend +onanimationiteration +onanimationstart +onauxclick +onbeforeinput +onbeforetoggle +onblur +oncancel +oncanplay +oncanplaythrough +onchange +onclick +onclose +oncontextmenu +oncopy +oncuechange +oncut +ondblclick +ondrag +ondragend +ondragenter +ondragleave +ondragover +ondragstart +ondrop +ondurationchange +onemptied +onended +onerror +onfocus +onformdata +ongotpointercapture +oninput +oninvalid +onkeydown +onkeypress +onkeyup +onload +onloadeddata +onloadedmetadata +onloadstart +onlostpointercapture +onmousedown +onmouseenter +onmouseleave +onmousemove +onmouseout +onmouseover +onmouseup +onpaste +onpause +onplay +onplaying +onpointercancel +onpointerdown +onpointerenter +onpointerleave +onpointermove +onpointerout +onpointerover +onpointerup +onprogress +onratechange +onreset +onresize +onscroll +onscrollend +onsecuritypolicyviolation +onseeked +onseeking +onselect +onselectionchange +onselectstart +onslotchange +onstalled +onsubmit +onsuspend +ontimeupdate +ontoggle +ontouchcancel? +ontouchend? +ontouchmove? +ontouchstart? +ontransitioncancel +ontransitionend +ontransitionrun +ontransitionstart +onvolumechange +onwaiting +onwebkitanimationend +onwebkitanimationiteration +onwebkitanimationstart +onwebkittransitionend +onwheel +autofocus +dataset +nonce? +tabIndex +

Accessors

Methods

Events

Constructors

Properties

onFSCommand: null | ((command, args) => boolean)

A movie can communicate with the hosting page using fscommand +as long as script access is allowed.

+

Type declaration

    • (command, args): boolean
    • Parameters

      • command: string
      • args: string

      Returns boolean

Param: command

A string passed to the host application for any use.

+

Param: args

A string passed to the host application for any use.

+

Returns

True if the command was handled.

+
config: object | URLLoadOptions | DataLoadOptions = {}

Any configuration that should apply to this specific player. +This will be defaulted with any global configuration.

+
accessKey: string
accessKeyLabel: string
autocapitalize: string
dir: string
draggable: boolean
hidden: boolean
inert: boolean
innerText: string
lang: string
offsetHeight: number
offsetLeft: number
offsetParent: null | Element
offsetTop: number
offsetWidth: number
outerText: string
popover: null | string
spellcheck: boolean
title: string
translate: boolean
attributes: NamedNodeMap
classList: DOMTokenList

Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.

+

MDN Reference

+
className: string

Returns the value of element's class content attribute. Can be set to change it.

+

MDN Reference

+
clientHeight: number
clientLeft: number
clientTop: number
clientWidth: number
id: string

Returns the value of element's id content attribute. Can be set to change it.

+

MDN Reference

+
localName: string

Returns the local name.

+

MDN Reference

+
namespaceURI: null | string

Returns the namespace.

+

MDN Reference

+
onfullscreenchange: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: Element
      • ev: Event

      Returns any

onfullscreenerror: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: Element
      • ev: Event

      Returns any

outerHTML: string
ownerDocument: Document
part: DOMTokenList
prefix: null | string

Returns the namespace prefix.

+

MDN Reference

+
scrollHeight: number
scrollLeft: number
scrollTop: number
scrollWidth: number
shadowRoot: null | ShadowRoot

Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

+

MDN Reference

+
slot: string

Returns the value of element's slot content attribute. Can be set to change it.

+

MDN Reference

+
tagName: string

Returns the HTML-uppercased qualified name.

+

MDN Reference

+
webkitRequestFullscreen?: ((options) => unknown)

Type declaration

    • (options): unknown
    • Parameters

      • options: unknown

      Returns unknown

webkitRequestFullScreen?: ((options) => unknown)

Type declaration

    • (options): unknown
    • Parameters

      • options: unknown

      Returns unknown

baseURI: string

Returns node's node document's document base URL.

+

MDN Reference

+
childNodes: NodeListOf<ChildNode>

Returns the children.

+

MDN Reference

+
firstChild: null | ChildNode

Returns the first child.

+

MDN Reference

+
isConnected: boolean

Returns true if node is connected and false otherwise.

+

MDN Reference

+
lastChild: null | ChildNode

Returns the last child.

+

MDN Reference

+
nextSibling: null | ChildNode

Returns the next sibling.

+

MDN Reference

+
nodeName: string

Returns a string appropriate for the type of node.

+

MDN Reference

+
nodeType: number

Returns the type of node.

+

MDN Reference

+
nodeValue: null | string
parentElement: null | HTMLElement

Returns the parent element.

+

MDN Reference

+
parentNode: null | ParentNode

Returns the parent.

+

MDN Reference

+
previousSibling: null | ChildNode

Returns the previous sibling.

+

MDN Reference

+
textContent: null | string
ELEMENT_NODE: 1

node is an element.

+
ATTRIBUTE_NODE: 2
TEXT_NODE: 3

node is a Text node.

+
CDATA_SECTION_NODE: 4

node is a CDATASection node.

+
ENTITY_REFERENCE_NODE: 5
ENTITY_NODE: 6
PROCESSING_INSTRUCTION_NODE: 7

node is a ProcessingInstruction node.

+
COMMENT_NODE: 8

node is a Comment node.

+
DOCUMENT_NODE: 9

node is a document.

+
DOCUMENT_TYPE_NODE: 10

node is a doctype.

+
DOCUMENT_FRAGMENT_NODE: 11

node is a DocumentFragment node.

+
NOTATION_NODE: 12
DOCUMENT_POSITION_DISCONNECTED: 1

Set when node and other are not in the same tree.

+
DOCUMENT_POSITION_PRECEDING: 2

Set when other is preceding node.

+
DOCUMENT_POSITION_FOLLOWING: 4

Set when other is following node.

+
DOCUMENT_POSITION_CONTAINS: 8

Set when other is an ancestor of node.

+
DOCUMENT_POSITION_CONTAINED_BY: 16

Set when other is a descendant of node.

+
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32
ariaAtomic: null | string
ariaAutoComplete: null | string
ariaBusy: null | string
ariaChecked: null | string
ariaColCount: null | string
ariaColIndex: null | string
ariaColSpan: null | string
ariaCurrent: null | string
ariaDescription: null | string
ariaDisabled: null | string
ariaExpanded: null | string
ariaHasPopup: null | string
ariaHidden: null | string
ariaInvalid: null | string
ariaKeyShortcuts: null | string
ariaLabel: null | string
ariaLevel: null | string
ariaLive: null | string
ariaModal: null | string
ariaMultiLine: null | string
ariaMultiSelectable: null | string
ariaOrientation: null | string
ariaPlaceholder: null | string
ariaPosInSet: null | string
ariaPressed: null | string
ariaReadOnly: null | string
ariaRequired: null | string
ariaRoleDescription: null | string
ariaRowCount: null | string
ariaRowIndex: null | string
ariaRowSpan: null | string
ariaSelected: null | string
ariaSetSize: null | string
ariaSort: null | string
ariaValueMax: null | string
ariaValueMin: null | string
ariaValueNow: null | string
ariaValueText: null | string
role: null | string
innerHTML: string
nextElementSibling: null | Element

Returns the first following sibling that is an element, and null otherwise.

+

MDN Reference

+
previousElementSibling: null | Element

Returns the first preceding sibling that is an element, and null otherwise.

+

MDN Reference

+
childElementCount: number
children: HTMLCollection

Returns the child elements.

+

MDN Reference

+
firstElementChild: null | Element

Returns the first child that is an element, and null otherwise.

+

MDN Reference

+
lastElementChild: null | Element

Returns the last child that is an element, and null otherwise.

+

MDN Reference

+
assignedSlot: null | HTMLSlotElement
attributeStyleMap: StylePropertyMap
style: CSSStyleDeclaration
contentEditable: string
enterKeyHint: string
inputMode: string
isContentEditable: boolean
onabort: null | ((this, ev) => any)

Fires when the user aborts the download.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: UIEvent

      Returns any

Param: ev

The event.

+

MDN Reference

+
onanimationcancel: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: AnimationEvent

      Returns any

onanimationend: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: AnimationEvent

      Returns any

onanimationiteration: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: AnimationEvent

      Returns any

onanimationstart: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: AnimationEvent

      Returns any

onauxclick: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: MouseEvent

      Returns any

onbeforeinput: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: InputEvent

      Returns any

onbeforetoggle: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

onblur: null | ((this, ev) => any)

Fires when the object loses the input focus.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: FocusEvent

      Returns any

Param: ev

The focus event.

+

MDN Reference

+
oncancel: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

oncanplay: null | ((this, ev) => any)

Occurs when playback is possible, but would require further buffering.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
oncanplaythrough: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

onchange: null | ((this, ev) => any)

Fires when the contents of the object or selection have changed.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onclick: null | ((this, ev) => any)

Fires when the user clicks the left mouse button on the object

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: MouseEvent

      Returns any

Param: ev

The mouse event.

+

MDN Reference

+
onclose: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

oncontextmenu: null | ((this, ev) => any)

Fires when the user clicks the right mouse button in the client area, opening the context menu.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: MouseEvent

      Returns any

Param: ev

The mouse event.

+

MDN Reference

+
oncopy: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: ClipboardEvent

      Returns any

oncuechange: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

oncut: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: ClipboardEvent

      Returns any

ondblclick: null | ((this, ev) => any)

Fires when the user double-clicks the object.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: MouseEvent

      Returns any

Param: ev

The mouse event.

+

MDN Reference

+
ondrag: null | ((this, ev) => any)

Fires on the source object continuously during a drag operation.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: DragEvent

      Returns any

Param: ev

The event.

+

MDN Reference

+
ondragend: null | ((this, ev) => any)

Fires on the source object when the user releases the mouse at the close of a drag operation.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: DragEvent

      Returns any

Param: ev

The event.

+

MDN Reference

+
ondragenter: null | ((this, ev) => any)

Fires on the target element when the user drags the object to a valid drop target.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: DragEvent

      Returns any

Param: ev

The drag event.

+

MDN Reference

+
ondragleave: null | ((this, ev) => any)

Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: DragEvent

      Returns any

Param: ev

The drag event.

+

MDN Reference

+
ondragover: null | ((this, ev) => any)

Fires on the target element continuously while the user drags the object over a valid drop target.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: DragEvent

      Returns any

Param: ev

The event.

+

MDN Reference

+
ondragstart: null | ((this, ev) => any)

Fires on the source object when the user starts to drag a text selection or selected object.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: DragEvent

      Returns any

Param: ev

The event.

+

MDN Reference

+
ondrop: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: DragEvent

      Returns any

ondurationchange: null | ((this, ev) => any)

Occurs when the duration attribute is updated.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onemptied: null | ((this, ev) => any)

Occurs when the media element is reset to its initial state.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onended: null | ((this, ev) => any)

Occurs when the end of playback is reached.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event

+

MDN Reference

+
onerror: OnErrorEventHandler

Fires when an error occurs during object loading.

+

Param: ev

The event.

+

MDN Reference

+
onfocus: null | ((this, ev) => any)

Fires when the object receives focus.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: FocusEvent

      Returns any

Param: ev

The event.

+

MDN Reference

+
onformdata: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: FormDataEvent

      Returns any

ongotpointercapture: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: PointerEvent

      Returns any

oninput: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

oninvalid: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

onkeydown: null | ((this, ev) => any)

Fires when the user presses a key.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: KeyboardEvent

      Returns any

Param: ev

The keyboard event

+

MDN Reference

+
onkeypress: null | ((this, ev) => any)

Fires when the user presses an alphanumeric key.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: KeyboardEvent

      Returns any

Param: ev

The event.

+

Deprecated

MDN Reference

+
onkeyup: null | ((this, ev) => any)

Fires when the user releases a key.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: KeyboardEvent

      Returns any

Param: ev

The keyboard event

+

MDN Reference

+
onload: null | ((this, ev) => any)

Fires immediately after the browser loads the object.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onloadeddata: null | ((this, ev) => any)

Occurs when media data is loaded at the current playback position.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onloadedmetadata: null | ((this, ev) => any)

Occurs when the duration and dimensions of the media have been determined.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onloadstart: null | ((this, ev) => any)

Occurs when Internet Explorer begins looking for media data.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onlostpointercapture: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: PointerEvent

      Returns any

onmousedown: null | ((this, ev) => any)

Fires when the user clicks the object with either mouse button.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: MouseEvent

      Returns any

Param: ev

The mouse event.

+

MDN Reference

+
onmouseenter: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: MouseEvent

      Returns any

onmouseleave: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: MouseEvent

      Returns any

onmousemove: null | ((this, ev) => any)

Fires when the user moves the mouse over the object.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: MouseEvent

      Returns any

Param: ev

The mouse event.

+

MDN Reference

+
onmouseout: null | ((this, ev) => any)

Fires when the user moves the mouse pointer outside the boundaries of the object.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: MouseEvent

      Returns any

Param: ev

The mouse event.

+

MDN Reference

+
onmouseover: null | ((this, ev) => any)

Fires when the user moves the mouse pointer into the object.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: MouseEvent

      Returns any

Param: ev

The mouse event.

+

MDN Reference

+
onmouseup: null | ((this, ev) => any)

Fires when the user releases a mouse button while the mouse is over the object.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: MouseEvent

      Returns any

Param: ev

The mouse event.

+

MDN Reference

+
onpaste: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: ClipboardEvent

      Returns any

onpause: null | ((this, ev) => any)

Occurs when playback is paused.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onplay: null | ((this, ev) => any)

Occurs when the play method is requested.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onplaying: null | ((this, ev) => any)

Occurs when the audio or video has started playing.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onpointercancel: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: PointerEvent

      Returns any

onpointerdown: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: PointerEvent

      Returns any

onpointerenter: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: PointerEvent

      Returns any

onpointerleave: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: PointerEvent

      Returns any

onpointermove: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: PointerEvent

      Returns any

onpointerout: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: PointerEvent

      Returns any

onpointerover: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: PointerEvent

      Returns any

onpointerup: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: PointerEvent

      Returns any

onprogress: null | ((this, ev) => any)

Occurs to indicate progress while downloading media data.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: ProgressEvent<EventTarget>

      Returns any

Param: ev

The event.

+

MDN Reference

+
onratechange: null | ((this, ev) => any)

Occurs when the playback rate is increased or decreased.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onreset: null | ((this, ev) => any)

Fires when the user resets a form.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onresize: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: UIEvent

      Returns any

onscroll: null | ((this, ev) => any)

Fires when the user repositions the scroll box in the scroll bar on the object.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onscrollend: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

onsecuritypolicyviolation: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: SecurityPolicyViolationEvent

      Returns any

onseeked: null | ((this, ev) => any)

Occurs when the seek operation ends.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onseeking: null | ((this, ev) => any)

Occurs when the current playback position is moved.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onselect: null | ((this, ev) => any)

Fires when the current selection changes.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onselectionchange: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

onselectstart: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

onslotchange: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

onstalled: null | ((this, ev) => any)

Occurs when the download has stopped.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onsubmit: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: SubmitEvent

      Returns any

onsuspend: null | ((this, ev) => any)

Occurs if the load operation has been intentionally halted.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
ontimeupdate: null | ((this, ev) => any)

Occurs to indicate the current playback position.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
ontoggle: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

ontouchcancel?: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: TouchEvent

      Returns any

ontouchend?: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: TouchEvent

      Returns any

ontouchmove?: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: TouchEvent

      Returns any

ontouchstart?: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: TouchEvent

      Returns any

ontransitioncancel: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: TransitionEvent

      Returns any

ontransitionend: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: TransitionEvent

      Returns any

ontransitionrun: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: TransitionEvent

      Returns any

ontransitionstart: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: TransitionEvent

      Returns any

onvolumechange: null | ((this, ev) => any)

Occurs when the volume is changed, or playback is muted or unmuted.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onwaiting: null | ((this, ev) => any)

Occurs when playback stops because the next frame of a video resource is not available.

+

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Param: ev

The event.

+

MDN Reference

+
onwebkitanimationend: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Deprecated

This is a legacy alias of onanimationend.

+

MDN Reference

+
onwebkitanimationiteration: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Deprecated

This is a legacy alias of onanimationiteration.

+

MDN Reference

+
onwebkitanimationstart: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Deprecated

This is a legacy alias of onanimationstart.

+

MDN Reference

+
onwebkittransitionend: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: Event

      Returns any

Deprecated

This is a legacy alias of ontransitionend.

+

MDN Reference

+
onwheel: null | ((this, ev) => any)

Type declaration

    • (this, ev): any
    • Parameters

      • this: GlobalEventHandlers
      • ev: WheelEvent

      Returns any

autofocus: boolean
dataset: DOMStringMap
nonce?: string
tabIndex: number

Accessors

  • get metadata(): null | MovieMetadata
  • The metadata of the playing movie (such as movie width and height). +These are inherent properties stored in the SWF file and are not affected by runtime changes. +For example, metadata.width is the width of the SWF file, and not the width of the Ruffle player.

    +

    Returns null | MovieMetadata

    The metadata of the movie, or null if the movie metadata has not yet loaded.

    +
  • get isPlaying(): boolean
  • Whether this player is currently playing.

    +

    Returns boolean

    True if this player is playing, false if it's paused or hasn't started yet.

    +
  • get volume(): number
  • Returns the master volume of the player.

    +

    The volume is linear and not adapted for logarithmic hearing.

    +

    Returns number

    The volume. 1.0 is 100% volume.

    +
  • set volume(value): void
  • Sets the master volume of the player.

    +

    The volume should be linear and not adapted for logarithmic hearing.

    +

    Parameters

    • value: number

      The volume. 1.0 is 100% volume.

      +

    Returns void

  • get fullscreenEnabled(): boolean
  • Checks if this player is allowed to be fullscreen by the browser.

    +

    Returns boolean

    True if you may call [[enterFullscreen]].

    +
  • set traceObserver(observer): void
  • Sets a trace observer on this flash player.

    +

    The observer will be called, as a function, for each message that the playing movie will "trace" (output).

    +

    Parameters

    • observer: null | ((message) => void)

      The observer that will be called for each trace.

      +

    Returns void

Methods

  • Reloads the player, as if you called RufflePlayer.load with the same config as the last time it was called.

    +

    If this player has never been loaded, this method will return an error.

    +

    Returns Promise<void>

  • Loads a specified movie into this player.

    +

    This will replace any existing movie that may be playing.

    +

    Parameters

    • options: string | URLLoadOptions | DataLoadOptions

      One of the following:

      +
        +
      • A URL, passed as a string, which will load a URL with default options.
      • +
      • A [[URLLoadOptions]] object, to load a URL with options.
      • +
      • A [[DataLoadOptions]] object, to load data with options. +The options, if provided, must only contain values provided for this specific movie. +They must not contain any default values, since those would overwrite other configuration +settings with a lower priority (e.g. the general RufflePlayer config).
      • +
      +
    • isPolyfillElement: boolean = false

      Whether the element is a polyfilled Flash element or not. +This is used to determine a default value of the configuration.

      +

      The options will be defaulted by the [[config]] field, which itself +is defaulted by a global window.RufflePlayer.config.

      +

    Returns Promise<void>

  • Exported function that requests the browser to change the fullscreen state if +it is allowed.

    +

    Parameters

    • isFull: boolean

      Whether to set to fullscreen or return to normal.

      +

    Returns void

  • Requests the browser to make this player fullscreen.

    +

    This is not guaranteed to succeed, please check [[fullscreenEnabled]] first.

    +

    Returns void

  • Pauses this player.

    +

    No more frames, scripts or sounds will be executed. +This movie will be considered inactive and will not wake up until resumed.

    +

    Returns void

  • Returns ElementInternals

  • Returns void

  • Returns void

  • Returns void

  • Parameters

    • Optional force: boolean

    Returns boolean

  • Type Parameters

    • K extends keyof HTMLElementEventMap

    Parameters

    • type: K
    • listener: ((this, ev) => any)
        • (this, ev): any
        • Parameters

          • this: HTMLElement
          • ev: HTMLElementEventMap[K]

          Returns any

    • Optional options: boolean | AddEventListenerOptions

    Returns void

  • Parameters

    • type: string
    • listener: EventListenerOrEventListenerObject
    • Optional options: boolean | AddEventListenerOptions

    Returns void

  • Type Parameters

    • K extends keyof HTMLElementEventMap

    Parameters

    • type: K
    • listener: ((this, ev) => any)
        • (this, ev): any
        • Parameters

          • this: HTMLElement
          • ev: HTMLElementEventMap[K]

          Returns any

    • Optional options: boolean | EventListenerOptions

    Returns void

  • Parameters

    • type: string
    • listener: EventListenerOrEventListenerObject
    • Optional options: boolean | EventListenerOptions

    Returns void

  • Creates a shadow root for element and returns it.

    +

    MDN Reference

    +

    Parameters

    • init: ShadowRootInit

    Returns ShadowRoot

  • Parameters

    • Optional options: CheckVisibilityOptions

    Returns boolean

  • Returns the first (starting at element) inclusive ancestor that matches selectors, and null otherwise.

    +

    MDN Reference

    +

    Type Parameters

    • K extends keyof HTMLElementTagNameMap

    Parameters

    • selector: K

    Returns null | HTMLElementTagNameMap[K]

  • Type Parameters

    • K extends keyof SVGElementTagNameMap

    Parameters

    • selector: K

    Returns null | SVGElementTagNameMap[K]

  • Type Parameters

    • K extends keyof MathMLElementTagNameMap

    Parameters

    • selector: K

    Returns null | MathMLElementTagNameMap[K]

  • Type Parameters

    • E extends Element = Element

    Parameters

    • selectors: string

    Returns null | E

  • Returns StylePropertyMapReadOnly

  • Returns element's first attribute whose qualified name is qualifiedName, and null if there is no such attribute otherwise.

    +

    MDN Reference

    +

    Parameters

    • qualifiedName: string

    Returns null | string

  • Returns element's attribute whose namespace is namespace and local name is localName, and null if there is no such attribute otherwise.

    +

    MDN Reference

    +

    Parameters

    • namespace: null | string
    • localName: string

    Returns null | string

  • Returns the qualified names of all element's attributes. Can contain duplicates.

    +

    MDN Reference

    +

    Returns string[]

  • Parameters

    • qualifiedName: string

    Returns null | Attr

  • Parameters

    • namespace: null | string
    • localName: string

    Returns null | Attr

  • Returns DOMRect

  • Returns DOMRectList

  • Returns a HTMLCollection of the elements in the object on which the method was invoked (a document or an element) that have all the classes given by classNames. The classNames argument is interpreted as a space-separated list of classes.

    +

    MDN Reference

    +

    Parameters

    • classNames: string

    Returns HTMLCollectionOf<Element>

  • Type Parameters

    • K extends keyof HTMLElementTagNameMap

    Parameters

    • qualifiedName: K

    Returns HTMLCollectionOf<HTMLElementTagNameMap[K]>

  • Type Parameters

    • K extends keyof SVGElementTagNameMap

    Parameters

    • qualifiedName: K

    Returns HTMLCollectionOf<SVGElementTagNameMap[K]>

  • Type Parameters

    • K extends keyof MathMLElementTagNameMap

    Parameters

    • qualifiedName: K

    Returns HTMLCollectionOf<MathMLElementTagNameMap[K]>

  • Type Parameters

    • K extends keyof HTMLElementDeprecatedTagNameMap

    Parameters

    • qualifiedName: K

    Returns HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>

    Deprecated

  • Parameters

    • qualifiedName: string

    Returns HTMLCollectionOf<Element>

  • Parameters

    • namespaceURI: "http://www.w3.org/1999/xhtml"
    • localName: string

    Returns HTMLCollectionOf<HTMLElement>

  • Parameters

    • namespaceURI: "http://www.w3.org/2000/svg"
    • localName: string

    Returns HTMLCollectionOf<SVGElement>

  • Parameters

    • namespaceURI: "http://www.w3.org/1998/Math/MathML"
    • localName: string

    Returns HTMLCollectionOf<MathMLElement>

  • Parameters

    • namespace: null | string
    • localName: string

    Returns HTMLCollectionOf<Element>

  • Returns true if element has an attribute whose qualified name is qualifiedName, and false otherwise.

    +

    MDN Reference

    +

    Parameters

    • qualifiedName: string

    Returns boolean

  • Returns true if element has an attribute whose namespace is namespace and local name is localName.

    +

    MDN Reference

    +

    Parameters

    • namespace: null | string
    • localName: string

    Returns boolean

  • Returns true if element has attributes, and false otherwise.

    +

    MDN Reference

    +

    Returns boolean

  • Parameters

    • pointerId: number

    Returns boolean

  • Parameters

    • where: InsertPosition
    • element: Element

    Returns null | Element

  • Parameters

    • position: InsertPosition
    • text: string

    Returns void

  • Parameters

    • where: InsertPosition
    • data: string

    Returns void

  • Returns true if matching selectors against element's root yields element, and false otherwise.

    +

    MDN Reference

    +

    Parameters

    • selectors: string

    Returns boolean

  • Parameters

    • pointerId: number

    Returns void

  • Removes element's first attribute whose qualified name is qualifiedName.

    +

    MDN Reference

    +

    Parameters

    • qualifiedName: string

    Returns void

  • Removes element's attribute whose namespace is namespace and local name is localName.

    +

    MDN Reference

    +

    Parameters

    • namespace: null | string
    • localName: string

    Returns void

  • Parameters

    • attr: Attr

    Returns Attr

  • Displays element fullscreen and resolves promise when done.

    +

    When supplied, options's navigationUI member indicates whether showing navigation UI while in fullscreen is preferred or not. If set to "show", navigation simplicity is preferred over screen space, and if set to "hide", more screen space is preferred. User agents are always free to honor user preference over the application's. The default value "auto" indicates no application preference.

    +

    MDN Reference

    +

    Parameters

    • Optional options: FullscreenOptions

    Returns Promise<void>

  • Returns void

  • Parameters

    • Optional options: ScrollToOptions

    Returns void

  • Parameters

    • x: number
    • y: number

    Returns void

  • Parameters

    • Optional options: ScrollToOptions

    Returns void

  • Parameters

    • x: number
    • y: number

    Returns void

  • Parameters

    • Optional arg: boolean | ScrollIntoViewOptions

    Returns void

  • Parameters

    • Optional options: ScrollToOptions

    Returns void

  • Parameters

    • x: number
    • y: number

    Returns void

  • Sets the value of element's first attribute whose qualified name is qualifiedName to value.

    +

    MDN Reference

    +

    Parameters

    • qualifiedName: string
    • value: string

    Returns void

  • Sets the value of element's attribute whose namespace is namespace and local name is localName to value.

    +

    MDN Reference

    +

    Parameters

    • namespace: null | string
    • qualifiedName: string
    • value: string

    Returns void

  • Parameters

    • attr: Attr

    Returns null | Attr

  • Parameters

    • attr: Attr

    Returns null | Attr

  • Parameters

    • pointerId: number

    Returns void

  • If force is not given, "toggles" qualifiedName, removing it if it is present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName.

    +

    Returns true if qualifiedName is now present, and false otherwise.

    +

    MDN Reference

    +

    Parameters

    • qualifiedName: string
    • Optional force: boolean

    Returns boolean

  • Parameters

    • selectors: string

    Returns boolean

    Deprecated

    This is a legacy alias of matches.

    +

    MDN Reference

    +
  • Type Parameters

    • T extends Node

    Parameters

    • node: T

    Returns T

  • Returns a copy of node. If deep is true, the copy also includes the node's descendants.

    +

    MDN Reference

    +

    Parameters

    • Optional deep: boolean

    Returns Node

  • Returns a bitmask indicating the position of other relative to node.

    +

    MDN Reference

    +

    Parameters

    • other: Node

    Returns number

  • Returns true if other is an inclusive descendant of node, and false otherwise.

    +

    MDN Reference

    +

    Parameters

    • other: null | Node

    Returns boolean

  • Returns node's root.

    +

    MDN Reference

    +

    Parameters

    • Optional options: GetRootNodeOptions

    Returns Node

  • Returns whether node has children.

    +

    MDN Reference

    +

    Returns boolean

  • Type Parameters

    • T extends Node

    Parameters

    • node: T
    • child: null | Node

    Returns T

  • Parameters

    • namespace: null | string

    Returns boolean

  • Returns whether node and otherNode have the same properties.

    +

    MDN Reference

    +

    Parameters

    • otherNode: null | Node

    Returns boolean

  • Parameters

    • otherNode: null | Node

    Returns boolean

  • Parameters

    • prefix: null | string

    Returns null | string

  • Parameters

    • namespace: null | string

    Returns null | string

  • Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.

    +

    MDN Reference

    +

    Returns void

  • Type Parameters

    • T extends Node

    Parameters

    • child: T

    Returns T

  • Type Parameters

    • T extends Node

    Parameters

    • node: Node
    • child: T

    Returns T

  • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

    +

    MDN Reference

    +

    Parameters

    • event: Event

    Returns boolean

  • Parameters

    • keyframes: null | Keyframe[] | PropertyIndexedKeyframes
    • Optional options: number | KeyframeAnimationOptions

    Returns Animation

  • Parameters

    • Optional options: GetAnimationsOptions

    Returns Animation[]

  • Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.

    +

    Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

    +

    MDN Reference

    +

    Parameters

    • Rest ...nodes: (string | Node)[]

    Returns void

  • Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes.

    +

    Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

    +

    MDN Reference

    +

    Parameters

    • Rest ...nodes: (string | Node)[]

    Returns void

  • Removes node.

    +

    MDN Reference

    +

    Returns void

  • Replaces node with nodes, while replacing strings in nodes with equivalent Text nodes.

    +

    Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

    +

    MDN Reference

    +

    Parameters

    • Rest ...nodes: (string | Node)[]

    Returns void

  • Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.

    +

    Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

    +

    MDN Reference

    +

    Parameters

    • Rest ...nodes: (string | Node)[]

    Returns void

  • Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.

    +

    Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

    +

    MDN Reference

    +

    Parameters

    • Rest ...nodes: (string | Node)[]

    Returns void

  • Returns the first element that is a descendant of node that matches selectors.

    +

    MDN Reference

    +

    Type Parameters

    • K extends keyof HTMLElementTagNameMap

    Parameters

    • selectors: K

    Returns null | HTMLElementTagNameMap[K]

  • Type Parameters

    • K extends keyof SVGElementTagNameMap

    Parameters

    • selectors: K

    Returns null | SVGElementTagNameMap[K]

  • Type Parameters

    • K extends keyof MathMLElementTagNameMap

    Parameters

    • selectors: K

    Returns null | MathMLElementTagNameMap[K]

  • Type Parameters

    • K extends keyof HTMLElementDeprecatedTagNameMap

    Parameters

    • selectors: K

    Returns null | HTMLElementDeprecatedTagNameMap[K]

    Deprecated

  • Type Parameters

    • E extends Element = Element

    Parameters

    • selectors: string

    Returns null | E

  • Returns all element descendants of node that match selectors.

    +

    MDN Reference

    +

    Type Parameters

    • K extends keyof HTMLElementTagNameMap

    Parameters

    • selectors: K

    Returns NodeListOf<HTMLElementTagNameMap[K]>

  • Type Parameters

    • K extends keyof SVGElementTagNameMap

    Parameters

    • selectors: K

    Returns NodeListOf<SVGElementTagNameMap[K]>

  • Type Parameters

    • K extends keyof MathMLElementTagNameMap

    Parameters

    • selectors: K

    Returns NodeListOf<MathMLElementTagNameMap[K]>

  • Type Parameters

    • K extends keyof HTMLElementDeprecatedTagNameMap

    Parameters

    • selectors: K

    Returns NodeListOf<HTMLElementDeprecatedTagNameMap[K]>

    Deprecated

  • Type Parameters

    • E extends Element = Element

    Parameters

    • selectors: string

    Returns NodeListOf<E>

  • Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes.

    +

    Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

    +

    MDN Reference

    +

    Parameters

    • Rest ...nodes: (string | Node)[]

    Returns void

  • Returns void

  • Parameters

    • Optional options: FocusOptions

    Returns void

Events

LOADED_METADATA: string = "loadedmetadata"

Triggered when a movie metadata has been loaded (such as movie width and height).

+

RufflePlayer#loadedmetadata

+
LOADED_DATA: string = "loadeddata"

Triggered when a movie is fully loaded.

+

RufflePlayer#loadeddata

+
\ No newline at end of file diff --git a/master/classes/Version.html b/master/classes/Version.html new file mode 100644 index 000000000..45c9caef1 --- /dev/null +++ b/master/classes/Version.html @@ -0,0 +1,50 @@ +Version | ruffle-core

Class Version

A representation of a semver 2 compliant version string

+

Constructors

  • Construct a Version from specific components.

    +

    If you wish to parse a string into a Version then please use [[fromSemver]].

    +

    Parameters

    • major: number

      The major version component.

      +
    • minor: number

      The minor version component.

      +
    • patch: number

      The patch version component.

      +
    • prIdent: null | string[]

      A list of pre-release identifiers, if any

      +
    • buildIdent: null | string[]

      A list of build identifiers, if any

      +

    Returns Version

Methods

  • Construct a version from a semver 2 compliant string.

    +

    This function is intended for use with semver 2 compliant strings. +Malformed strings may still parse correctly, but this result is not +guaranteed.

    +

    Parameters

    • versionString: string

      A semver 2.0.0 compliant version string

      +

    Returns Version

    A version object

    +
  • Returns true if a given version is compatible with this one.

    +

    Compatibility is defined as having the same nonzero major version +number, or if both major versions are zero, the same nonzero minor +version number, or if both minor versions are zero, the same nonzero +patch version number.

    +

    This implements the ^ operator in npm's semver package, with the +exception of the prerelease exclusion rule.

    +

    Parameters

    • other: Version

      The other version to test against

      +

    Returns boolean

    True if compatible

    +
  • Returns true if this version has precedence over (is newer than) another +version.

    +

    Precedence is defined as in the Semver 2 spec. This implements the > +operator in npm's semver package, with the exception of the prerelease +exclusion rule.

    +

    Parameters

    • other: Version

      The other version to test against

      +

    Returns boolean

    True if this version has precedence over the other one

    +
  • Tests if a given version is equivalent to this one.

    +

    Build and prerelease tags are ignored.

    +

    Parameters

    • other: Version

      The other version to test against

      +

    Returns boolean

    True if the given version is equivalent

    +
  • Tests if a given version is stable or a compatible prerelease for this +version.

    +

    This implements the prerelease exclusion rule of NPM semver: a +prerelease version can only pass this check if the major/minor/patch +components of both versions are the same. Otherwise, the prerelease +version always fails.

    +

    Parameters

    • other: Version

      The other version to test against

      +

    Returns boolean

    True if the given version is either stable, or a +prerelease in the same series as this one.

    +
\ No newline at end of file diff --git a/master/classes/VersionRange.html b/master/classes/VersionRange.html new file mode 100644 index 000000000..90c843492 --- /dev/null +++ b/master/classes/VersionRange.html @@ -0,0 +1,33 @@ +VersionRange | ruffle-core

Class VersionRange

Represents a set of version requirements.

+

Constructors

Properties

Methods

Constructors

  • Constructs a range of versions as specified by the given requirements.

    +

    If you wish to construct this object from a string representation, +then use [[fromRequirementString]].

    +

    Parameters

    • requirements: Requirement[][]

      Requirements to set this range by

      +

    Returns VersionRange

Properties

requirements: Requirement[][]

The list of requirements used by this version range.

+

This is a disjunctive normal form - that is, an OR of ANDs.

+

If all requirements of a single inner array match, the range is +considered successful.

+

Methods

  • Parse a requirement string into a version range.

    +

    Parameters

    • requirement: string

      The version requirements, consisting of a +series of space-separated strings, each one being a semver version +optionally prefixed by a comparator or a separator.

      +

      Valid comparators are:

      +
        +
      • "" or "=": Precisely this version
      • +
      • ">": A version newer than this one
      • +
      • ">=": A version newer or equal to this one
      • +
      • "<": A version older than this one
      • +
      • "<=": A version older or equal to this one
      • +
      • "^": A version that is compatible with this one
      • +
      +

      A separator is "||" which splits the requirement string into +left OR right.

      +

    Returns VersionRange

    A version range object.

    +
  • Determine if a given version satisfies this range.

    +

    Parameters

    • fver: Version

      A version object to test against.

      +

    Returns boolean

    Whether or not the given version matches this range

    +
\ No newline at end of file diff --git a/master/enums/AutoPlay.html b/master/enums/AutoPlay.html new file mode 100644 index 000000000..15876b305 --- /dev/null +++ b/master/enums/AutoPlay.html @@ -0,0 +1,15 @@ +AutoPlay | ruffle-core

Enumeration AutoPlay

Represents the various types of auto-play behaviours that are supported.

+

Enumeration Members

On +Off +Auto +

Enumeration Members

On: "on"

The player should automatically play the movie as soon as it is loaded.

+

If the browser does not support automatic audio, the movie will begin +muted.

+
Off: "off"

The player should not attempt to automatically play the movie.

+

This will leave it to the user or API to actually play when appropriate.

+
Auto: "auto"

The player should automatically play the movie as soon as it is deemed +"appropriate" to do so.

+

The exact behaviour depends on the browser, but commonly requires some +form of user interaction on the page in order to allow auto playing videos +with sound.

+
\ No newline at end of file diff --git a/master/enums/ContextMenu.html b/master/enums/ContextMenu.html new file mode 100644 index 000000000..ce74cdc02 --- /dev/null +++ b/master/enums/ContextMenu.html @@ -0,0 +1,11 @@ +ContextMenu | ruffle-core

Enumeration ContextMenu

Represents the various context menu options that are supported.

+

Enumeration Members

Enumeration Members

On: "on"

The context menu should appear when right-clicking or long-pressing +the Ruffle instance.

+
RightClickOnly: "rightClickOnly"

The context menu should only appear when right-clicking +the Ruffle instance.

+
Off: "off"

The context menu should not appear when right-clicking or long-pressing +the Ruffle instance.

+
\ No newline at end of file diff --git a/master/enums/Letterbox.html b/master/enums/Letterbox.html new file mode 100644 index 000000000..4a2690880 --- /dev/null +++ b/master/enums/Letterbox.html @@ -0,0 +1,11 @@ +Letterbox | ruffle-core

Enumeration Letterbox

Controls whether the content is letterboxed or pillarboxed when the +player's aspect ratio does not match the movie's aspect ratio.

+

When letterboxed, black bars will be rendered around the exterior +margins of the content.

+

Enumeration Members

Enumeration Members

Off: "off"

The content will never be letterboxed.

+
Fullscreen: "fullscreen"

The content will only be letterboxed if the content is running fullscreen.

+
On: "on"

The content will always be letterboxed.

+
\ No newline at end of file diff --git a/master/enums/LogLevel.html b/master/enums/LogLevel.html new file mode 100644 index 000000000..cab6b680f --- /dev/null +++ b/master/enums/LogLevel.html @@ -0,0 +1,7 @@ +LogLevel | ruffle-core

Enumeration LogLevel

Console logging level.

+

Enumeration Members

Enumeration Members

Error: "error"
Warn: "warn"
Info: "info"
Debug: "debug"
Trace: "trace"
\ No newline at end of file diff --git a/master/enums/NetworkingAccessMode.html b/master/enums/NetworkingAccessMode.html new file mode 100644 index 000000000..b9ffac80a --- /dev/null +++ b/master/enums/NetworkingAccessMode.html @@ -0,0 +1,18 @@ +NetworkingAccessMode | ruffle-core

Enumeration NetworkingAccessMode

The networking API access mode of the Ruffle player.

+

Enumeration Members

Enumeration Members

All: "all"

All networking APIs are permitted in the SWF file.

+
Internal: "internal"

The SWF file may not call browser navigation or browser interaction APIs.

+

The APIs navigateToURL(), fscommand() and ExternalInterface.call() are +prevented in this mode.

+
None: "none"

The SWF file may not call browser navigation or browser interaction APIs +and it cannot use any SWF-to-SWF communication APIs.

+

Additionally to the ones in internal mode, the APIs sendToURL(), +FileReference.download(), FileReference.upload(), Loader.load(), +LocalConnection.connect(), LocalConnection.send(), NetConnection.connect(), +NetStream.play(), Security.loadPolicyFile(), SharedObject.getLocal(), +SharedObject.getRemote(), Socket.connect(), Sound.load(), URLLoader.load(), +URLStream.load() and XMLSocket.connect() are prevented in this mode.

+

This mode is not implemented yet.

+
\ No newline at end of file diff --git a/master/enums/OpenURLMode.html b/master/enums/OpenURLMode.html new file mode 100644 index 000000000..ddafa5537 --- /dev/null +++ b/master/enums/OpenURLMode.html @@ -0,0 +1,8 @@ +OpenURLMode | ruffle-core

Enumeration OpenURLMode

The handling mode of links opening a new website.

+

Enumeration Members

Enumeration Members

Allow: "allow"

Allow all links to open a new website.

+
Confirm: "confirm"

A confirmation dialog opens with every link trying to open a new website.

+
Deny: "deny"

Deny all links to open a new website.

+
\ No newline at end of file diff --git a/master/enums/PlayerRuntime.html b/master/enums/PlayerRuntime.html new file mode 100644 index 000000000..be4da7bfc --- /dev/null +++ b/master/enums/PlayerRuntime.html @@ -0,0 +1,6 @@ +PlayerRuntime | ruffle-core

Enumeration PlayerRuntime

Represents the player runtime to emulate.

+

Enumeration Members

Enumeration Members

AIR: "air"

Emulate Adobe AIR.

+
FlashPlayer: "flashPlayer"

Emulate Adobe Flash Player.

+
\ No newline at end of file diff --git a/master/enums/ReadyState.html b/master/enums/ReadyState.html new file mode 100644 index 000000000..110f170d0 --- /dev/null +++ b/master/enums/ReadyState.html @@ -0,0 +1,8 @@ +ReadyState | ruffle-core

Enumeration ReadyState

Describes the loading state of an SWF movie.

+

Enumeration Members

Enumeration Members

HaveNothing: 0

No movie is loaded, or no information is yet available about the movie.

+
Loading: 1

The movie is still loading, but it has started playback, and metadata is available.

+
Loaded: 2

The movie has completely loaded.

+
\ No newline at end of file diff --git a/master/enums/RenderBackend.html b/master/enums/RenderBackend.html new file mode 100644 index 000000000..522204d05 --- /dev/null +++ b/master/enums/RenderBackend.html @@ -0,0 +1,19 @@ +RenderBackend | ruffle-core

Enumeration RenderBackend

The render backend of a Ruffle player.

+

The available backends may change in future releases.

+

Enumeration Members

Enumeration Members

WebGpu: "webgpu"

An in-development API that will be preferred if available in the future. +Should behave the same as wgpu-webgl, except with lower overhead and thus better performance.

+
WgpuWebgl: "wgpu-webgl"

The most featureful and currently preferred backend. +Rendering is done the same way as in the desktop app, then translated to WebGL on-the-fly.

+
Webgl: "webgl"

A vanilla WebGL backend. Was the default backend until the start of 2023, +but is now used as a fallback for devices that do not support WebGL 2. +Supports fewer features and has a faster initialization time; +may be useful for content that does not need advanced features like bitmap drawing or blend modes.

+
Canvas: "canvas"

The slowest and most basic backend, used as a fallback when all else fails. +However, this is currently the only backend that accurately scales hairline strokes. +If you notice excessively thick strokes in specific content, +you may want to use the canvas renderer for that content until the issue is resolved.

+
\ No newline at end of file diff --git a/master/enums/UnmuteOverlay.html b/master/enums/UnmuteOverlay.html new file mode 100644 index 000000000..843aafa11 --- /dev/null +++ b/master/enums/UnmuteOverlay.html @@ -0,0 +1,7 @@ +UnmuteOverlay | ruffle-core

Enumeration UnmuteOverlay

When the player is muted, this controls whether or not Ruffle will show a +"click to unmute" overlay on top of the movie.

+

Enumeration Members

Enumeration Members

Visible: "visible"

Show an overlay explaining that the movie is muted.

+
Hidden: "hidden"

Don't show an overlay and pretend that everything is fine.

+
\ No newline at end of file diff --git a/master/enums/WindowMode.html b/master/enums/WindowMode.html new file mode 100644 index 000000000..f2dd1ab8f --- /dev/null +++ b/master/enums/WindowMode.html @@ -0,0 +1,19 @@ +WindowMode | ruffle-core

Enumeration WindowMode

The window mode of a Ruffle player.

+

Enumeration Members

Enumeration Members

Window: "window"

The Flash content is rendered in its own window and layering is done with the browser's +default behavior.

+

In Ruffle, this mode functions like WindowMode::Opaque and will layer the Flash content +together with other HTML elements.

+
Opaque: "opaque"

The Flash content is layered together with other HTML elements, and the stage color is +opaque. Content can render above or below Ruffle based on CSS rendering order.

+
Transparent: "transparent"

The Flash content is layered together with other HTML elements, and the SWF stage color is +transparent. Content beneath Ruffle will be visible through transparent areas.

+
Direct: "direct"

Request compositing with hardware acceleration when possible. +This mode has no effect in Ruffle and will function like WindowMode.Opaque.

+
Gpu: "gpu"

Request a direct rendering path, bypassing browser compositing when possible. +This mode has no effect in Ruffle and will function like WindowMode::Opaque.

+
\ No newline at end of file diff --git a/master/functions/getPolyfillOptions.html b/master/functions/getPolyfillOptions.html new file mode 100644 index 000000000..086aeea8a --- /dev/null +++ b/master/functions/getPolyfillOptions.html @@ -0,0 +1,13 @@ +getPolyfillOptions | ruffle-core

Function getPolyfillOptions

  • Returns the URLLoadOptions that have been provided for a specific movie.

    +

    The function getOptionString is given as an argument and used to get values of configuration +options that have been overwritten for this specific movie.

    +

    The returned URLLoadOptions interface only contains values for the configuration options +that have been overwritten for the movie and no default values. +This is necessary because any default values would overwrite other configuration +settings with a lower priority (e.g. the general RufflePlayer config).

    +

    Parameters

    • url: string

      The url of the movie.

      +
    • getOptionString: ((optionName) => null | string)

      A function that takes the name of a configuration option. +If that configuration option has been overwritten for this specific movie, it returns that value. +Otherwise, it returns null.

      +
        • (optionName): null | string
        • Parameters

          • optionName: string

          Returns null | string

    Returns URLLoadOptions

    The URLLoadOptions for the movie.

    +
\ No newline at end of file diff --git a/master/functions/isFallbackElement.html b/master/functions/isFallbackElement.html new file mode 100644 index 000000000..2d607445e --- /dev/null +++ b/master/functions/isFallbackElement.html @@ -0,0 +1,6 @@ +isFallbackElement | ruffle-core

Function isFallbackElement

  • Determine if an element is a child of a node that was not supported +in non-HTML5 compliant browsers. If so, the element was meant to be +used as a fallback content.

    +

    Parameters

    • elem: Element

      The element to test.

      +

    Returns boolean

    True if the element is inside an

    +
\ No newline at end of file diff --git a/master/functions/isSwf.html b/master/functions/isSwf.html new file mode 100644 index 000000000..22e94c5cb --- /dev/null +++ b/master/functions/isSwf.html @@ -0,0 +1,5 @@ +isSwf | ruffle-core

Function isSwf

  • Returns whether the given filename and MIME type resolve as a Flash content.

    +

    Parameters

    • filename: string

      The filename to test.

      +
    • mimeType: null | string

      The MIME type to test.

      +

    Returns boolean

    True if the given arguments resolve as a Flash content.

    +
\ No newline at end of file diff --git a/master/functions/isYoutubeFlashSource.html b/master/functions/isYoutubeFlashSource.html new file mode 100644 index 000000000..b5784ddd0 --- /dev/null +++ b/master/functions/isYoutubeFlashSource.html @@ -0,0 +1,4 @@ +isYoutubeFlashSource | ruffle-core

Function isYoutubeFlashSource

  • Returns whether the given filename is a Youtube Flash source.

    +

    Parameters

    • filename: null | string

      The filename to test.

      +

    Returns boolean

    True if the filename is a Youtube Flash source.

    +
\ No newline at end of file diff --git a/master/functions/pluginPolyfill.html b/master/functions/pluginPolyfill.html new file mode 100644 index 000000000..580c072c7 --- /dev/null +++ b/master/functions/pluginPolyfill.html @@ -0,0 +1,2 @@ +pluginPolyfill | ruffle-core

Function pluginPolyfill

\ No newline at end of file diff --git a/master/functions/polyfill.html b/master/functions/polyfill.html new file mode 100644 index 000000000..b4cbc6c99 --- /dev/null +++ b/master/functions/polyfill.html @@ -0,0 +1,2 @@ +polyfill | ruffle-core

Function polyfill

\ No newline at end of file diff --git a/master/functions/swfFileName.html b/master/functions/swfFileName.html new file mode 100644 index 000000000..be9b9ac85 --- /dev/null +++ b/master/functions/swfFileName.html @@ -0,0 +1,4 @@ +swfFileName | ruffle-core

Function swfFileName

  • Create a filename to save a downloaded SWF into.

    +

    Parameters

    • swfUrl: URL

      The URL of the SWF file.

      +

    Returns string

    The filename the SWF file can be saved at.

    +
\ No newline at end of file diff --git a/master/functions/workaroundYoutubeMixedContent.html b/master/functions/workaroundYoutubeMixedContent.html new file mode 100644 index 000000000..a497d37a8 --- /dev/null +++ b/master/functions/workaroundYoutubeMixedContent.html @@ -0,0 +1,4 @@ +workaroundYoutubeMixedContent | ruffle-core

Function workaroundYoutubeMixedContent

  • Workaround Youtube mixed content if upgradeToHttps is true.

    +

    Parameters

    • elem: Element

      The element to change.

      +
    • attr: string

      The attribute to adjust.

      +

    Returns void

\ No newline at end of file diff --git a/master/hierarchy.html b/master/hierarchy.html new file mode 100644 index 000000000..33fbacb81 --- /dev/null +++ b/master/hierarchy.html @@ -0,0 +1 @@ +ruffle-core
\ No newline at end of file diff --git a/master/index.html b/master/index.html new file mode 100644 index 000000000..20c20b2df --- /dev/null +++ b/master/index.html @@ -0,0 +1,21 @@ +ruffle-core

ruffle-core

ruffle-core

ruffle-core is the core javascript bindings to the Wasm ruffle-web binary, +and contains the actual public API.

+

Using ruffle-core

For more examples and in-depth documentation on how to use Ruffle on your website, please +check out our wiki.

+

Host Ruffle

The core package is configured for websites that build and bundle their files themselves. +Simply add ruffle to an npm package, and use something like Webpack to actually bundle and serve +the files.

+

If you wish to use Ruffle on a website that doesn't use npm, we have a pre-bundled version which +we call 'selfhosted'. Please refer to its documentation.

+

Please note that the .wasm file must be served properly, and some web servers may not do that +correctly out of the box. Please see our wiki +for instructions on how to configure this, if you encounter a Incorrect response MIME type error.

+

"Plug and Play"

If you have an existing website with flash content, you can simply include Ruffle as a script and +our polyfill magic will replace everything for you. No fuss, no mess.

+
<script src="path/to/ruffle/ruffle.js"></script>
+
+

Javascript API

If you want to control the Ruffle player, you may use our Javascript API.

+
<script>
window.RufflePlayer = window.RufflePlayer || {};

window.addEventListener("DOMContentLoaded", () => {
let ruffle = window.RufflePlayer.newest();
let player = ruffle.createPlayer();
let container = document.getElementById("container");
container.appendChild(player);
player.load("movie.swf");
});
</script>
<script src="path/to/ruffle/ruffle.js"></script> +
+

Building, testing or contributing

Please see the ruffle-web README.

+
\ No newline at end of file diff --git a/master/interfaces/BaseLoadOptions.html b/master/interfaces/BaseLoadOptions.html new file mode 100644 index 000000000..f29bc3507 --- /dev/null +++ b/master/interfaces/BaseLoadOptions.html @@ -0,0 +1,210 @@ +BaseLoadOptions | ruffle-core

Interface BaseLoadOptions

Any options used for loading a movie.

+
interface BaseLoadOptions {
    allowScriptAccess?: boolean;
    parameters?: null | string | URLSearchParams | Record<string, string>;
    autoplay?: AutoPlay;
    backgroundColor?: null | string;
    letterbox?: Letterbox;
    unmuteOverlay?: UnmuteOverlay;
    upgradeToHttps?: boolean;
    compatibilityRules?: boolean;
    favorFlash?: boolean;
    warnOnUnsupportedContent?: boolean;
    logLevel?: LogLevel;
    showSwfDownload?: boolean;
    contextMenu?: boolean | ContextMenu;
    preloader?: boolean;
    splashScreen?: boolean;
    maxExecutionDuration?: Duration;
    base?: null | string;
    menu?: boolean;
    salign?: string;
    forceAlign?: boolean;
    quality?: string;
    scale?: string;
    forceScale?: boolean;
    allowFullscreen?: boolean;
    frameRate?: null | number;
    wmode?: WindowMode;
    playerVersion?: null | number;
    preferredRenderer?: null | RenderBackend;
    publicPath?: null | string;
    polyfills?: boolean;
    openUrlMode?: OpenURLMode;
    allowNetworking?: NetworkingAccessMode;
    openInNewTab?: null | ((swf) => void);
    socketProxy?: SocketProxy[];
    fontSources?: string[];
    defaultFonts?: DefaultFonts;
    credentialAllowList?: string[];
    playerRuntime?: PlayerRuntime;
}

Hierarchy (view full)

Properties

allowScriptAccess?: boolean

If set to true, the movie is allowed to interact with the page through +JavaScript, using a flash concept called ExternalInterface.

+

This should only be enabled for movies you trust.

+

Default

false
+
+
parameters?: null | string | URLSearchParams | Record<string, string>

Also known as "flashvars" - these are values that may be passed to +and loaded by the movie.

+

If a URL if specified when loading the movie, some parameters will +be extracted by the query portion of that URL and then overwritten +by any explicitly set here.

+

Default

{}
+
+
autoplay?: AutoPlay

Controls the auto-play behaviour of Ruffle.

+

Default

AutoPlay.Auto
+
+
backgroundColor?: null | string

Controls the background color of the player. +Must be an HTML color (e.g. "#FFFFFF"). CSS colors are not allowed. +null uses the background color of the SWF file.

+

Default

null
+
+
letterbox?: Letterbox

Controls letterbox behavior when the Flash container size does not +match the movie size.

+

Default

Letterbox.Fullscreen
+
+
unmuteOverlay?: UnmuteOverlay

Controls the visibility of the unmute overlay when the player +is started muted.

+

Default

UnmuteOverlay.Visible
+
+
upgradeToHttps?: boolean

Whether or not to auto-upgrade all embedded URLs to https.

+

Flash content that embeds http urls will be blocked from +accessing those urls by the browser when Ruffle is loaded +in a https context. Set to true to automatically change +http:// to https:// for all embedded URLs when Ruffle is +loaded in an https context.

+

Default

true
+
+
compatibilityRules?: boolean

Enable (true) or disable (false) Ruffle's built in compatibility rules.

+

These are rules that may make some content work by deliberately changing +behaviour, for example by rewriting requests or spoofing SWF urls if they +rely on websites that no longer exist.

+

Default

true
+
+
favorFlash?: boolean

Favor using the real Adobe Flash Player over Ruffle if the browser supports it.

+

Default

true
+
+
warnOnUnsupportedContent?: boolean

This is no longer used and does not affect anything. +It is only kept for backwards compatibility.

+

Previously: +"Whether or not to display an overlay with a warning when +loading a movie with unsupported content."

+

Default

true
+
+

Deprecated

logLevel?: LogLevel

Console logging level.

+

Default

LogLevel.Error
+
+
showSwfDownload?: boolean

If set to true, the context menu has an option to download +the SWF.

+

Default

false
+
+
contextMenu?: boolean | ContextMenu

Whether or not to show a context menu when right-clicking +a Ruffle instance.

+

Default

ContextMenu.On
+
+
preloader?: boolean

Whether or not to show a splash screen before the SWF has loaded with Ruffle (backwards-compatibility).

+

Default

true
+
+
splashScreen?: boolean

Whether or not to show a splash screen before the SWF has loaded with Ruffle.

+

Default

true
+
+
maxExecutionDuration?: Duration

Maximum amount of time a script can take before scripting +is disabled.

+

Default

15
+
+
base?: null | string

Specifies the base directory or URL used to resolve all relative path statements in the SWF file. +null means the current directory.

+

Default

null
+
+
menu?: boolean

If set to true, the built-in context menu items are visible

+

This is equivalent to Stage.showMenu.

+

Default

true
+
+
salign?: string

This is equivalent to Stage.align.

+

Default

""
+
+
forceAlign?: boolean

If set to true, movies are prevented from changing the stage alignment.

+

Default

false
+
+
quality?: string

This is equivalent to Stage.quality.

+

Default

"high"
+
+
scale?: string

This is equivalent to Stage.scaleMode.

+

Default

"showAll"
+
+
forceScale?: boolean

If set to true, movies are prevented from changing the stage scale mode.

+

Default

false
+
+
allowFullscreen?: boolean

If set to true, the Stage's displayState can be changed

+

Default

false
+
+
frameRate?: null | number

Sets and locks the player's frame rate, overriding the movie's frame rate.

+

Default

null
+
+
wmode?: WindowMode

The window mode of the Ruffle player.

+

This setting controls how the Ruffle container is layered and rendered with other content on the page.

+

Default

WindowMode.Window
+
+
playerVersion?: null | number

The emulated version of the player.

+

This controls the version that is reported to the movie. +null means latest version.

+

Default

null
+
+
preferredRenderer?: null | RenderBackend

The preferred render backend of the Ruffle player.

+

This option should only be used for testing; +the available backends may change in future releases. +By default, Ruffle chooses the most featureful backend supported by the user's system, +falling back to more basic backends if necessary. +The available values in order of default preference are: +"webgpu", "wgpu-webgl", "webgl", "canvas".

+

Default

null
+
+
publicPath?: null | string

The URL at which Ruffle can load its extra files (i.e. .wasm).

+

Default

null
+
+
polyfills?: boolean

Whether or not to enable polyfills on the page.

+

Polyfills will look for "legacy" flash content like <object> +and <embed> elements, and replace them with compatible +Ruffle elements.

+

Default

true
+
+
openUrlMode?: OpenURLMode

The handling mode of links opening a new website.

+

Default

OpenURLMode.Allow
+
+
allowNetworking?: NetworkingAccessMode

Which flash networking APIs may be accessed.

+

Default

NetworkingAccessMode.All
+
+
openInNewTab?: null | ((swf) => void)

A function to call for opening content in a new tab.

+

This is only used if the content cannot be loaded due to CORS, +and the Extension version of Ruffle will override this to provide a local player.

+

Type declaration

    • (swf): void
    • Parameters

      • swf: URL

      Returns void

Default

null
+
+
socketProxy?: SocketProxy[]

An array of SocketProxy objects.

+

When a SWF tries to establish a Socket connection, Ruffle will search for +a matching SocketProxy object in this array and use it to establish a WebSocket connection, +through which all communication is tunneled through.

+

When none are found, Ruffle will fail the connection gracefully. +When multiple matching SocketProxy objects exist, the first one is used.

+

Default

[]
+
+
fontSources?: string[]

An array of font URLs to eagerly load and provide to Ruffle.

+

These will be fetched by the browser as part of the loading of Flash content, which may slow down load times.

+

Currently only SWFs are supported, and each font embedded within that SWF will be used as device font by Flash content.

+

If any URL fails to load (either it's an invalid file, or a network error occurs), Ruffle will log an error but continue without it.

+

Default

[]
+
+
defaultFonts?: DefaultFonts

The font names to use for each "default" Flash device font.

+

Default

{}
+
+
credentialAllowList?: string[]

An array of origins that credentials may be sent to. +Credentials are cookies, authorization headers, or TLS client certificates.

+

Entries should include the protocol and host, for example https://example.org or http://subdomain.example.org.

+

Cookies will always be sent to the same origin as the page the content was loaded on. +If you configure this to send cookies to an origin but that origin does not configure CORS to allow it, +then requests will start failing due to CORS. +See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials.

+

This directly corresponds to https://developer.mozilla.org/en-US/docs/Web/API/fetch#credentials +Every request will be same-origin unless specified here, in which case it will be include.

+

Default

[]
+
+
playerRuntime?: PlayerRuntime

The player runtime to emulate

+

This allows you to emulate Adobe AIR or Adobe Flash Player.

+
\ No newline at end of file diff --git a/master/interfaces/DataLoadOptions.html b/master/interfaces/DataLoadOptions.html new file mode 100644 index 000000000..00afe4cec --- /dev/null +++ b/master/interfaces/DataLoadOptions.html @@ -0,0 +1,216 @@ +DataLoadOptions | ruffle-core

Interface DataLoadOptions

Options to load a movie by a data stream.

+
interface DataLoadOptions {
    data: ArrayLike<number> | ArrayBufferLike;
    swfFileName?: string;
    allowScriptAccess?: boolean;
    parameters?: null | string | URLSearchParams | Record<string, string>;
    autoplay?: AutoPlay;
    backgroundColor?: null | string;
    letterbox?: Letterbox;
    unmuteOverlay?: UnmuteOverlay;
    upgradeToHttps?: boolean;
    compatibilityRules?: boolean;
    favorFlash?: boolean;
    warnOnUnsupportedContent?: boolean;
    logLevel?: LogLevel;
    showSwfDownload?: boolean;
    contextMenu?: boolean | ContextMenu;
    preloader?: boolean;
    splashScreen?: boolean;
    maxExecutionDuration?: Duration;
    base?: null | string;
    menu?: boolean;
    salign?: string;
    forceAlign?: boolean;
    quality?: string;
    scale?: string;
    forceScale?: boolean;
    allowFullscreen?: boolean;
    frameRate?: null | number;
    wmode?: WindowMode;
    playerVersion?: null | number;
    preferredRenderer?: null | RenderBackend;
    publicPath?: null | string;
    polyfills?: boolean;
    openUrlMode?: OpenURLMode;
    allowNetworking?: NetworkingAccessMode;
    openInNewTab?: null | ((swf) => void);
    socketProxy?: SocketProxy[];
    fontSources?: string[];
    defaultFonts?: DefaultFonts;
    credentialAllowList?: string[];
    playerRuntime?: PlayerRuntime;
}

Hierarchy (view full)

Properties

data: ArrayLike<number> | ArrayBufferLike

The data to load a movie from.

+
swfFileName?: string

The filename of the SWF movie to provide to ActionScript.

+

Default

"movie.swf"
+
+
allowScriptAccess?: boolean

If set to true, the movie is allowed to interact with the page through +JavaScript, using a flash concept called ExternalInterface.

+

This should only be enabled for movies you trust.

+

Default

false
+
+
parameters?: null | string | URLSearchParams | Record<string, string>

Also known as "flashvars" - these are values that may be passed to +and loaded by the movie.

+

If a URL if specified when loading the movie, some parameters will +be extracted by the query portion of that URL and then overwritten +by any explicitly set here.

+

Default

{}
+
+
autoplay?: AutoPlay

Controls the auto-play behaviour of Ruffle.

+

Default

AutoPlay.Auto
+
+
backgroundColor?: null | string

Controls the background color of the player. +Must be an HTML color (e.g. "#FFFFFF"). CSS colors are not allowed. +null uses the background color of the SWF file.

+

Default

null
+
+
letterbox?: Letterbox

Controls letterbox behavior when the Flash container size does not +match the movie size.

+

Default

Letterbox.Fullscreen
+
+
unmuteOverlay?: UnmuteOverlay

Controls the visibility of the unmute overlay when the player +is started muted.

+

Default

UnmuteOverlay.Visible
+
+
upgradeToHttps?: boolean

Whether or not to auto-upgrade all embedded URLs to https.

+

Flash content that embeds http urls will be blocked from +accessing those urls by the browser when Ruffle is loaded +in a https context. Set to true to automatically change +http:// to https:// for all embedded URLs when Ruffle is +loaded in an https context.

+

Default

true
+
+
compatibilityRules?: boolean

Enable (true) or disable (false) Ruffle's built in compatibility rules.

+

These are rules that may make some content work by deliberately changing +behaviour, for example by rewriting requests or spoofing SWF urls if they +rely on websites that no longer exist.

+

Default

true
+
+
favorFlash?: boolean

Favor using the real Adobe Flash Player over Ruffle if the browser supports it.

+

Default

true
+
+
warnOnUnsupportedContent?: boolean

This is no longer used and does not affect anything. +It is only kept for backwards compatibility.

+

Previously: +"Whether or not to display an overlay with a warning when +loading a movie with unsupported content."

+

Default

true
+
+

Deprecated

logLevel?: LogLevel

Console logging level.

+

Default

LogLevel.Error
+
+
showSwfDownload?: boolean

If set to true, the context menu has an option to download +the SWF.

+

Default

false
+
+
contextMenu?: boolean | ContextMenu

Whether or not to show a context menu when right-clicking +a Ruffle instance.

+

Default

ContextMenu.On
+
+
preloader?: boolean

Whether or not to show a splash screen before the SWF has loaded with Ruffle (backwards-compatibility).

+

Default

true
+
+
splashScreen?: boolean

Whether or not to show a splash screen before the SWF has loaded with Ruffle.

+

Default

true
+
+
maxExecutionDuration?: Duration

Maximum amount of time a script can take before scripting +is disabled.

+

Default

15
+
+
base?: null | string

Specifies the base directory or URL used to resolve all relative path statements in the SWF file. +null means the current directory.

+

Default

null
+
+
menu?: boolean

If set to true, the built-in context menu items are visible

+

This is equivalent to Stage.showMenu.

+

Default

true
+
+
salign?: string

This is equivalent to Stage.align.

+

Default

""
+
+
forceAlign?: boolean

If set to true, movies are prevented from changing the stage alignment.

+

Default

false
+
+
quality?: string

This is equivalent to Stage.quality.

+

Default

"high"
+
+
scale?: string

This is equivalent to Stage.scaleMode.

+

Default

"showAll"
+
+
forceScale?: boolean

If set to true, movies are prevented from changing the stage scale mode.

+

Default

false
+
+
allowFullscreen?: boolean

If set to true, the Stage's displayState can be changed

+

Default

false
+
+
frameRate?: null | number

Sets and locks the player's frame rate, overriding the movie's frame rate.

+

Default

null
+
+
wmode?: WindowMode

The window mode of the Ruffle player.

+

This setting controls how the Ruffle container is layered and rendered with other content on the page.

+

Default

WindowMode.Window
+
+
playerVersion?: null | number

The emulated version of the player.

+

This controls the version that is reported to the movie. +null means latest version.

+

Default

null
+
+
preferredRenderer?: null | RenderBackend

The preferred render backend of the Ruffle player.

+

This option should only be used for testing; +the available backends may change in future releases. +By default, Ruffle chooses the most featureful backend supported by the user's system, +falling back to more basic backends if necessary. +The available values in order of default preference are: +"webgpu", "wgpu-webgl", "webgl", "canvas".

+

Default

null
+
+
publicPath?: null | string

The URL at which Ruffle can load its extra files (i.e. .wasm).

+

Default

null
+
+
polyfills?: boolean

Whether or not to enable polyfills on the page.

+

Polyfills will look for "legacy" flash content like <object> +and <embed> elements, and replace them with compatible +Ruffle elements.

+

Default

true
+
+
openUrlMode?: OpenURLMode

The handling mode of links opening a new website.

+

Default

OpenURLMode.Allow
+
+
allowNetworking?: NetworkingAccessMode

Which flash networking APIs may be accessed.

+

Default

NetworkingAccessMode.All
+
+
openInNewTab?: null | ((swf) => void)

A function to call for opening content in a new tab.

+

This is only used if the content cannot be loaded due to CORS, +and the Extension version of Ruffle will override this to provide a local player.

+

Type declaration

    • (swf): void
    • Parameters

      • swf: URL

      Returns void

Default

null
+
+
socketProxy?: SocketProxy[]

An array of SocketProxy objects.

+

When a SWF tries to establish a Socket connection, Ruffle will search for +a matching SocketProxy object in this array and use it to establish a WebSocket connection, +through which all communication is tunneled through.

+

When none are found, Ruffle will fail the connection gracefully. +When multiple matching SocketProxy objects exist, the first one is used.

+

Default

[]
+
+
fontSources?: string[]

An array of font URLs to eagerly load and provide to Ruffle.

+

These will be fetched by the browser as part of the loading of Flash content, which may slow down load times.

+

Currently only SWFs are supported, and each font embedded within that SWF will be used as device font by Flash content.

+

If any URL fails to load (either it's an invalid file, or a network error occurs), Ruffle will log an error but continue without it.

+

Default

[]
+
+
defaultFonts?: DefaultFonts

The font names to use for each "default" Flash device font.

+

Default

{}
+
+
credentialAllowList?: string[]

An array of origins that credentials may be sent to. +Credentials are cookies, authorization headers, or TLS client certificates.

+

Entries should include the protocol and host, for example https://example.org or http://subdomain.example.org.

+

Cookies will always be sent to the same origin as the page the content was loaded on. +If you configure this to send cookies to an origin but that origin does not configure CORS to allow it, +then requests will start failing due to CORS. +See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials.

+

This directly corresponds to https://developer.mozilla.org/en-US/docs/Web/API/fetch#credentials +Every request will be same-origin unless specified here, in which case it will be include.

+

Default

[]
+
+
playerRuntime?: PlayerRuntime

The player runtime to emulate

+

This allows you to emulate Adobe AIR or Adobe Flash Player.

+
\ No newline at end of file diff --git a/master/interfaces/DefaultFonts.html b/master/interfaces/DefaultFonts.html new file mode 100644 index 000000000..64367dadf --- /dev/null +++ b/master/interfaces/DefaultFonts.html @@ -0,0 +1,16 @@ +DefaultFonts | ruffle-core

Interface DefaultFonts

Defines the names of the fonts to use for each "default" Flash device font.

+

The name of each font provided will be used, in priority order.

+

For example, defining sans: ["Helvetica", "Arial"] would use Helvetica if present, before trying Arial.

+
interface DefaultFonts {
    sans?: string[];
    serif?: string[];
    typewriter?: string[];
    JapaneseGothic?: string[];
    JapaneseGothicMono?: string[];
    JapaneseMincho?: string[];
}

Properties

sans?: string[]

_sans, a Sans-Serif font (similar to Helvetica or Arial)

+
serif?: string[]

_serif, a Serif font (similar to Times Roman)

+
typewriter?: string[]

_typewriter, a Monospace font (similar to Courier)

+
JapaneseGothic?: string[]

_ゴシック, a Japanese Gothic font

+
JapaneseGothicMono?: string[]

_等幅, a Japanese Gothic Mono font

+
JapaneseMincho?: string[]

_明朝, a Japanese Mincho font

+
\ No newline at end of file diff --git a/master/interfaces/MovieMetadata.html b/master/interfaces/MovieMetadata.html new file mode 100644 index 000000000..73bac95da --- /dev/null +++ b/master/interfaces/MovieMetadata.html @@ -0,0 +1,19 @@ +MovieMetadata | ruffle-core

Interface MovieMetadata

Metadata about a loaded SWF file.

+
interface MovieMetadata {
    width: number;
    height: number;
    frameRate: number;
    numFrames: number;
    swfVersion: number;
    backgroundColor: null | string;
    isActionScript3: boolean;
    uncompressedLength: number;
}

Properties

width: number

The width of the movie in pixels.

+
height: number

The height of the movie in pixels.

+
frameRate: number

The frame rate of the movie in frames per second.

+
numFrames: number

The number of frames on the root timeline of the movie.

+
swfVersion: number

The SWF version of the movie.

+
backgroundColor: null | string

The background color of the movie as a hex string, such as "#FFFFFF". +May be null if the background color is unavailable.

+
isActionScript3: boolean

Whether this movie is an ActionScript 3.0 movie.

+
uncompressedLength: number

Uncompressed length in bytes.

+
\ No newline at end of file diff --git a/master/interfaces/ObsoleteDuration.html b/master/interfaces/ObsoleteDuration.html new file mode 100644 index 000000000..ef305157a --- /dev/null +++ b/master/interfaces/ObsoleteDuration.html @@ -0,0 +1,5 @@ +ObsoleteDuration | ruffle-core

Interface ObsoleteDuration

Deprecated duration type, use SecsDuration instead. +Based on https://doc.rust-lang.org/stable/std/time/struct.Duration.html#method.new .

+
interface ObsoleteDuration {
    secs: number;
    nanos: number;
}

Properties

Properties

secs: number
nanos: number
\ No newline at end of file diff --git a/master/interfaces/SocketProxy.html b/master/interfaces/SocketProxy.html new file mode 100644 index 000000000..32c8e9782 --- /dev/null +++ b/master/interfaces/SocketProxy.html @@ -0,0 +1,8 @@ +SocketProxy | ruffle-core

Interface SocketProxy

Represents a host, port and proxyUrl. Used when a SWF file tries to use a Socket.

+
interface SocketProxy {
    host: string;
    port: number;
    proxyUrl: string;
}

Properties

Properties

host: string

Host used by the SWF.

+
port: number

Port used by the SWF.

+
proxyUrl: string

The proxy URL to use when SWF file tries to connect to the specified host and port.

+
\ No newline at end of file diff --git a/master/interfaces/URLLoadOptions.html b/master/interfaces/URLLoadOptions.html new file mode 100644 index 000000000..cdd9248b7 --- /dev/null +++ b/master/interfaces/URLLoadOptions.html @@ -0,0 +1,214 @@ +URLLoadOptions | ruffle-core

Interface URLLoadOptions

Options to load a movie by URL.

+
interface URLLoadOptions {
    url: string;
    allowScriptAccess?: boolean;
    parameters?: null | string | URLSearchParams | Record<string, string>;
    autoplay?: AutoPlay;
    backgroundColor?: null | string;
    letterbox?: Letterbox;
    unmuteOverlay?: UnmuteOverlay;
    upgradeToHttps?: boolean;
    compatibilityRules?: boolean;
    favorFlash?: boolean;
    warnOnUnsupportedContent?: boolean;
    logLevel?: LogLevel;
    showSwfDownload?: boolean;
    contextMenu?: boolean | ContextMenu;
    preloader?: boolean;
    splashScreen?: boolean;
    maxExecutionDuration?: Duration;
    base?: null | string;
    menu?: boolean;
    salign?: string;
    forceAlign?: boolean;
    quality?: string;
    scale?: string;
    forceScale?: boolean;
    allowFullscreen?: boolean;
    frameRate?: null | number;
    wmode?: WindowMode;
    playerVersion?: null | number;
    preferredRenderer?: null | RenderBackend;
    publicPath?: null | string;
    polyfills?: boolean;
    openUrlMode?: OpenURLMode;
    allowNetworking?: NetworkingAccessMode;
    openInNewTab?: null | ((swf) => void);
    socketProxy?: SocketProxy[];
    fontSources?: string[];
    defaultFonts?: DefaultFonts;
    credentialAllowList?: string[];
    playerRuntime?: PlayerRuntime;
}

Hierarchy (view full)

Properties

url: string

The URL to load a movie from.

+

If there is a query portion of this URL, then default [[parameters]] +will be extracted from that.

+
allowScriptAccess?: boolean

If set to true, the movie is allowed to interact with the page through +JavaScript, using a flash concept called ExternalInterface.

+

This should only be enabled for movies you trust.

+

Default

false
+
+
parameters?: null | string | URLSearchParams | Record<string, string>

Also known as "flashvars" - these are values that may be passed to +and loaded by the movie.

+

If a URL if specified when loading the movie, some parameters will +be extracted by the query portion of that URL and then overwritten +by any explicitly set here.

+

Default

{}
+
+
autoplay?: AutoPlay

Controls the auto-play behaviour of Ruffle.

+

Default

AutoPlay.Auto
+
+
backgroundColor?: null | string

Controls the background color of the player. +Must be an HTML color (e.g. "#FFFFFF"). CSS colors are not allowed. +null uses the background color of the SWF file.

+

Default

null
+
+
letterbox?: Letterbox

Controls letterbox behavior when the Flash container size does not +match the movie size.

+

Default

Letterbox.Fullscreen
+
+
unmuteOverlay?: UnmuteOverlay

Controls the visibility of the unmute overlay when the player +is started muted.

+

Default

UnmuteOverlay.Visible
+
+
upgradeToHttps?: boolean

Whether or not to auto-upgrade all embedded URLs to https.

+

Flash content that embeds http urls will be blocked from +accessing those urls by the browser when Ruffle is loaded +in a https context. Set to true to automatically change +http:// to https:// for all embedded URLs when Ruffle is +loaded in an https context.

+

Default

true
+
+
compatibilityRules?: boolean

Enable (true) or disable (false) Ruffle's built in compatibility rules.

+

These are rules that may make some content work by deliberately changing +behaviour, for example by rewriting requests or spoofing SWF urls if they +rely on websites that no longer exist.

+

Default

true
+
+
favorFlash?: boolean

Favor using the real Adobe Flash Player over Ruffle if the browser supports it.

+

Default

true
+
+
warnOnUnsupportedContent?: boolean

This is no longer used and does not affect anything. +It is only kept for backwards compatibility.

+

Previously: +"Whether or not to display an overlay with a warning when +loading a movie with unsupported content."

+

Default

true
+
+

Deprecated

logLevel?: LogLevel

Console logging level.

+

Default

LogLevel.Error
+
+
showSwfDownload?: boolean

If set to true, the context menu has an option to download +the SWF.

+

Default

false
+
+
contextMenu?: boolean | ContextMenu

Whether or not to show a context menu when right-clicking +a Ruffle instance.

+

Default

ContextMenu.On
+
+
preloader?: boolean

Whether or not to show a splash screen before the SWF has loaded with Ruffle (backwards-compatibility).

+

Default

true
+
+
splashScreen?: boolean

Whether or not to show a splash screen before the SWF has loaded with Ruffle.

+

Default

true
+
+
maxExecutionDuration?: Duration

Maximum amount of time a script can take before scripting +is disabled.

+

Default

15
+
+
base?: null | string

Specifies the base directory or URL used to resolve all relative path statements in the SWF file. +null means the current directory.

+

Default

null
+
+
menu?: boolean

If set to true, the built-in context menu items are visible

+

This is equivalent to Stage.showMenu.

+

Default

true
+
+
salign?: string

This is equivalent to Stage.align.

+

Default

""
+
+
forceAlign?: boolean

If set to true, movies are prevented from changing the stage alignment.

+

Default

false
+
+
quality?: string

This is equivalent to Stage.quality.

+

Default

"high"
+
+
scale?: string

This is equivalent to Stage.scaleMode.

+

Default

"showAll"
+
+
forceScale?: boolean

If set to true, movies are prevented from changing the stage scale mode.

+

Default

false
+
+
allowFullscreen?: boolean

If set to true, the Stage's displayState can be changed

+

Default

false
+
+
frameRate?: null | number

Sets and locks the player's frame rate, overriding the movie's frame rate.

+

Default

null
+
+
wmode?: WindowMode

The window mode of the Ruffle player.

+

This setting controls how the Ruffle container is layered and rendered with other content on the page.

+

Default

WindowMode.Window
+
+
playerVersion?: null | number

The emulated version of the player.

+

This controls the version that is reported to the movie. +null means latest version.

+

Default

null
+
+
preferredRenderer?: null | RenderBackend

The preferred render backend of the Ruffle player.

+

This option should only be used for testing; +the available backends may change in future releases. +By default, Ruffle chooses the most featureful backend supported by the user's system, +falling back to more basic backends if necessary. +The available values in order of default preference are: +"webgpu", "wgpu-webgl", "webgl", "canvas".

+

Default

null
+
+
publicPath?: null | string

The URL at which Ruffle can load its extra files (i.e. .wasm).

+

Default

null
+
+
polyfills?: boolean

Whether or not to enable polyfills on the page.

+

Polyfills will look for "legacy" flash content like <object> +and <embed> elements, and replace them with compatible +Ruffle elements.

+

Default

true
+
+
openUrlMode?: OpenURLMode

The handling mode of links opening a new website.

+

Default

OpenURLMode.Allow
+
+
allowNetworking?: NetworkingAccessMode

Which flash networking APIs may be accessed.

+

Default

NetworkingAccessMode.All
+
+
openInNewTab?: null | ((swf) => void)

A function to call for opening content in a new tab.

+

This is only used if the content cannot be loaded due to CORS, +and the Extension version of Ruffle will override this to provide a local player.

+

Type declaration

    • (swf): void
    • Parameters

      • swf: URL

      Returns void

Default

null
+
+
socketProxy?: SocketProxy[]

An array of SocketProxy objects.

+

When a SWF tries to establish a Socket connection, Ruffle will search for +a matching SocketProxy object in this array and use it to establish a WebSocket connection, +through which all communication is tunneled through.

+

When none are found, Ruffle will fail the connection gracefully. +When multiple matching SocketProxy objects exist, the first one is used.

+

Default

[]
+
+
fontSources?: string[]

An array of font URLs to eagerly load and provide to Ruffle.

+

These will be fetched by the browser as part of the loading of Flash content, which may slow down load times.

+

Currently only SWFs are supported, and each font embedded within that SWF will be used as device font by Flash content.

+

If any URL fails to load (either it's an invalid file, or a network error occurs), Ruffle will log an error but continue without it.

+

Default

[]
+
+
defaultFonts?: DefaultFonts

The font names to use for each "default" Flash device font.

+

Default

{}
+
+
credentialAllowList?: string[]

An array of origins that credentials may be sent to. +Credentials are cookies, authorization headers, or TLS client certificates.

+

Entries should include the protocol and host, for example https://example.org or http://subdomain.example.org.

+

Cookies will always be sent to the same origin as the page the content was loaded on. +If you configure this to send cookies to an origin but that origin does not configure CORS to allow it, +then requests will start failing due to CORS. +See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials.

+

This directly corresponds to https://developer.mozilla.org/en-US/docs/Web/API/fetch#credentials +Every request will be same-origin unless specified here, in which case it will be include.

+

Default

[]
+
+
playerRuntime?: PlayerRuntime

The player runtime to emulate

+

This allows you to emulate Adobe AIR or Adobe Flash Player.

+
\ No newline at end of file diff --git a/master/modules.html b/master/modules.html new file mode 100644 index 000000000..df5f76310 --- /dev/null +++ b/master/modules.html @@ -0,0 +1,35 @@ +ruffle-core
\ No newline at end of file diff --git a/master/types/Duration.html b/master/types/Duration.html new file mode 100644 index 000000000..15c90d70e --- /dev/null +++ b/master/types/Duration.html @@ -0,0 +1,3 @@ +Duration | ruffle-core

Type alias Duration

Any new duration-based setting should use 'number' or 'SecsDuration' for its type, +instead of this type.

+
\ No newline at end of file diff --git a/master/types/SecsDuration.html b/master/types/SecsDuration.html new file mode 100644 index 000000000..a52d4c747 --- /dev/null +++ b/master/types/SecsDuration.html @@ -0,0 +1,2 @@ +SecsDuration | ruffle-core

Type alias SecsDuration

SecsDuration: number

Non-negative duration in seconds.

+
\ No newline at end of file diff --git a/master/variables/DEFAULT_CONFIG.html b/master/variables/DEFAULT_CONFIG.html new file mode 100644 index 000000000..f0dd53530 --- /dev/null +++ b/master/variables/DEFAULT_CONFIG.html @@ -0,0 +1 @@ +DEFAULT_CONFIG | ruffle-core

Variable DEFAULT_CONFIGConst

DEFAULT_CONFIG: Required<BaseLoadOptions> = ...
\ No newline at end of file diff --git a/master/variables/buildInfo.html b/master/variables/buildInfo.html new file mode 100644 index 000000000..4f78a019b --- /dev/null +++ b/master/variables/buildInfo.html @@ -0,0 +1,2 @@ +buildInfo | ruffle-core

Variable buildInfoConst

buildInfo: {
    versionNumber: string;
    versionName: string;
    versionChannel: string;
    buildDate: string;
    commitHash: string;
} = ...

Stores build information. The string literals are replaces at compile time by set_version.js.

+

Type declaration

  • versionNumber: string
  • versionName: string
  • versionChannel: string
  • buildDate: string
  • commitHash: string
\ No newline at end of file