separate public/internal reveal.js apis
This commit is contained in:
1 parent
f3f91922db
commit
6ff28af1b3
6 files changed
+45
-39
No files matched your search
Vendored
+1
-1
@@ -5,5 +5,5 @@
|
|||||||
*
|
*
|
||||||
* Copyright (C) 2020 Hakim El Hattab, https://hakim.se
|
* Copyright (C) 2020 Hakim El Hattab, https://hakim.se
|
||||||
*/
|
*/
|
||||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Reveal=t()}(this,(function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function n(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?r(Object(i),!0).forEach((function(t){a(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function o(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return l(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}var d=/registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/,c=/fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/,u=function(e,t){for(var i in t)e[i]=t[i];return e},h=function(e,t){return Array.from(e.querySelectorAll(t))},v=function(e){if("string"==typeof e){if("null"===e)return null;if("true"===e)return!0;if("false"===e)return!1;if(e.match(/^-?[\d\.]+$/))return parseFloat(e)}return e},g=function(e,t){e.style.transform=t},f=function(e,t){for(var i=e.parentNode;i;){var n=i.matches||i.matchesSelector||i.msMatchesSelector;if(n&&n.call(i,t))return i;i=i.parentNode}return null},p=function(e,t,i){for(var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=e.querySelectorAll("."+i),r=0;r<a.length;r++){var s=a[r];if(s.parentNode===e)return s}var o=document.createElement(t);return o.className=i,o.innerHTML=n,e.appendChild(o),o},m=function(e){var t=document.createElement("style");return t.type="text/css",e&&e.length>0&&(t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))),document.head.appendChild(t),t},y=function(){var e={};for(var t in location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,(function(t){e[t.split("=").shift()]=t.split("=").pop()})),e){var i=e[t];e[t]=v(unescape(i))}return void 0!==e.dependencies&&delete e.dependencies,e},b=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(e){var i,n=e.style.height;return e.style.height="0px",e.parentNode.style.height="auto",i=t-e.parentNode.offsetHeight,e.style.height=n+"px",e.parentNode.style.removeProperty("height"),i}return t},k=navigator.userAgent,w=document.createElement("div"),A=/(iphone|ipod|ipad|android)/gi.test(k)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1,R=/chrome/i.test(k)&&!/edge/i.test(k),E=/android/gi.test(k),S="zoom"in w.style&&!A&&(R||/Version\/[\d\.]+.*Safari/.test(k)),L="function"==typeof window.history.replaceState&&!/PhantomJS/.test(k),x=function(){function e(i){t(this,e),this.Reveal=i,this.startEmbeddedIframe=this.startEmbeddedIframe.bind(this)}return n(e,[{key:"shouldPreload",value:function(e){var t=this.Reveal.getConfig().preloadIframes;return"boolean"!=typeof t&&(t=e.hasAttribute("data-preload")),t}},{key:"load",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.style.display=this.Reveal.getConfig().display,h(e,"img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((function(e){("IFRAME"!==e.tagName||t.shouldPreload(e))&&(e.setAttribute("src",e.getAttribute("data-src")),e.setAttribute("data-lazy-loaded",""),e.removeAttribute("data-src"))})),h(e,"video, audio").forEach((function(e){var t=0;h(e,"source[data-src]").forEach((function(e){e.setAttribute("src",e.getAttribute("data-src")),e.removeAttribute("Line truncated
|
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Reveal=t()}(this,(function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function n(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?r(Object(i),!0).forEach((function(t){a(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function o(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return l(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}var d=/registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/,c=/fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/,u=function(e,t){for(var i in t)e[i]=t[i];return e},h=function(e,t){return Array.from(e.querySelectorAll(t))},v=function(e){if("string"==typeof e){if("null"===e)return null;if("true"===e)return!0;if("false"===e)return!1;if(e.match(/^-?[\d\.]+$/))return parseFloat(e)}return e},g=function(e,t){e.style.transform=t},f=function(e,t){for(var i=e.parentNode;i;){var n=i.matches||i.matchesSelector||i.msMatchesSelector;if(n&&n.call(i,t))return i;i=i.parentNode}return null},p=function(e,t,i){for(var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=e.querySelectorAll("."+i),r=0;r<a.length;r++){var s=a[r];if(s.parentNode===e)return s}var o=document.createElement(t);return o.className=i,o.innerHTML=n,e.appendChild(o),o},m=function(e){var t=document.createElement("style");return t.type="text/css",e&&e.length>0&&(t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))),document.head.appendChild(t),t},y=function(){var e={};for(var t in location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,(function(t){e[t.split("=").shift()]=t.split("=").pop()})),e){var i=e[t];e[t]=v(unescape(i))}return void 0!==e.dependencies&&delete e.dependencies,e},b=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(e){var i,n=e.style.height;return e.style.height="0px",e.parentNode.style.height="auto",i=t-e.parentNode.offsetHeight,e.style.height=n+"px",e.parentNode.style.removeProperty("height"),i}return t},k=navigator.userAgent,w=document.createElement("div"),A=/(iphone|ipod|ipad|android)/gi.test(k)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1,R=/chrome/i.test(k)&&!/edge/i.test(k),E=/android/gi.test(k),S="zoom"in w.style&&!A&&(R||/Version\/[\d\.]+.*Safari/.test(k)),L="function"==typeof window.history.replaceState&&!/PhantomJS/.test(k),x=function(){function e(i){t(this,e),this.Reveal=i,this.startEmbeddedIframe=this.startEmbeddedIframe.bind(this)}return n(e,[{key:"shouldPreload",value:function(e){var t=this.Reveal.getConfig().preloadIframes;return"boolean"!=typeof t&&(t=e.hasAttribute("data-preload")),t}},{key:"load",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.style.display=this.Reveal.getConfig().display,h(e,"img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((function(e){("IFRAME"!==e.tagName||t.shouldPreload(e))&&(e.setAttribute("src",e.getAttribute("data-src")),e.setAttribute("data-lazy-loaded",""),e.removeAttribute("data-src"))})),h(e,"video, audio").forEach((function(e){var t=0;h(e,"source[data-src]").forEach((function(e){e.setAttribute("src",e.getAttribute("data-src")),e.removeAttribute("Line truncated
|
||||||
//# sourceMappingURL=reveal.es5.js.map
|
//# sourceMappingURL=reveal.es5.js.map
|
||||||
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"reveal.es5.js","sources":["../js/utils/constants.js","../js/utils/util.js","../js/utils/device.js","../js/controllers/slidecontent.js","../js/controllers/slidenumber.js","../js/utils/color.js","../js/controllers/backgrounds.js","../js/controllers/autoanimate.js","../js/controllers/fragments.js","../js/controllers/overview.js","../js/controllers/keyboard.js","../js/controllers/location.js","../js/controllers/controls.js","../js/controllers/progress.js","../js/controllers/pointer.js","../js/utils/loader.js","../js/controllers/plugins.js","../js/controllers/print.js","../js/controllers/touch.js","../js/controllers/notes.js","../js/components/playback.js","../js/config.js","../js/reveal.js","../js/index.js"],"sourcesContent":["\nexport const SLIDES_SELECTOR = '.slides section';\nexport const HORIZONTAL_SLIDES_SELECTOR = '.slides>section';\nexport const VERTICAL_SLIDES_SELECTOR = '.slides>section.present>section';\n\n// Methods that may not be invoked via the postMessage API\nexport const POST_MESSAGE_METHOD_BLACKLIST = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/;\n\n// Regex for retrieving the fragment style from a class attribute\nexport const FRAGMENT_STYLE_REGEX = /fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/;","/**\n * Extend object a with the properties of object b.\n * If there's a conflict, object b takes precedence.\n *\n * @param {object} a\n * @param {object} b\n */\nexport const extend = ( a, b ) => {\n\n\tfor( let i in b ) {\n\t\ta[ i ] = b[ i ];\n\t}\n\n\treturn a;\n\n}\n\n/**\n * querySelectorAll but returns an Array.\n */\nexport const queryAll = ( el, selector ) => {\n\n\treturn Array.from( el.querySelectorAll( selector ) );\n\n}\n\n/**\n * Utility for deserializing a value.\n *\n * @param {*} value\n * @return {*}\n */\nexport const deserialize = ( value ) => {\n\n\tif( typeof value === 'string' ) {\n\t\tif( value === 'null' ) return null;\n\t\telse if( value === 'true' ) return true;\n\t\telse if( value === 'false' ) return false;\n\t\telse if( value.match( /^-?[\\d\\.]+$/ ) ) return parseFloat( value );\n\t}\n\n\treturn value;\n\n}\n\n/**\n * Measures the distance in pixels between point a\n * and point b.\n *\n * @param {object} a point with x/y properties\n * @param {object} b point with x/y properties\n *\n * @return {number}\n */\nexport const distanceBetween = ( a, b ) => {\n\n\tlet dx = a.x - b.x,\n\t\tdy = a.y - b.y;\n\n\treturn Math.sqrt( dx*dx + dy*dy );\n\n}\n\n/**\n * Applies a CSS transform to the target element.\n *\n * @param {HTMLElement} element\n * @param {string} transform\n */\nexport const transformElement = ( element, transform ) => {\n\n\telement.style.transform = transform;\n\n}\n\n/**\n * Find the closest parent that matches the given\n * selector.\n *\n * @param {HTMLElement} target The child element\n * @param {String} selector The CSS selector to match\n * the parents against\n *\n * @return {HTMLElement} The matched parent or null\n * if no matching parent was found\n */\nexport const closestParent = ( target, selector ) => {\n\n\tlet parent = target.parentNode;\n\n\twhile( parent ) {\n\n\t\t// There's some overhead doing this each time, we don't\n\t\t// want to rewrite the element prototype but should still\n\t\t// be enough to feature detect once at startup...\n\t\tlet matchesMethod = parent.matches || parent.matchesSelector || parent.msMatchesSelector;\n\n\t\t// If we find a match, we're all set\n\t\tif( matchesMethod && matchesMethod.call( parent, selector ) ) {\n\t\t\treturn parent;\n\t\t}\n\n\t\t// Keep searching\n\t\tparent = parent.parentNode;\n\n\t}\n\n\treturn null;\n\n}\n\n/**\n * Handling the fullscreen functionality via the fullscreen API\n *\n * @see http://fullscreen.spec.whatwg.org/\n * @see https://developer.mozilla.org/en-US/docs/DOM/Using_fullscreen_mode\n */\nexport const enterFullscreen = () => {\n\n\tlet element = document.documentElement;\n\n\t// Check which implementation is available\n\tlet requestMethod = element.requestFullscreen ||\n\t\t\t\t\t\telement.webkitRequestFullscreen ||\n\t\t\t\t\t\telement.webkitRequestFullScreen ||\n\t\t\t\t\t\telement.mozRequestFullScreen ||\n\t\t\t\t\t\telement.msRequestFullscreen;\n\n\tif( requestMethod ) {\n\t\trequestMethod.apply( element );\n\t}\n\n}\n\n/**\n * Creates an HTML element and returns a reference to it.\n * If the element already exists the existing instance will\n * be returned.\n *\n * @param {HTMLElement} container\n * @param {string} tagname\n * @param {string} classname\n * @param {string} innerHTML\n *\n * @return {HTMLElement}\n */\nexport const createSingletonNode = ( container, tagname, classname, innerHTML='' ) => {\n\n\t// Find all nodes matching the description\n\tlet nodes = container.querySelectorAll( '.' + classname );\n\n\t// Check all matches to find one which is a direct child of\n\t// the specified container\n\tfor( let i = 0; i < nodes.length; i++ ) {\n\t\tlet testNoLine truncated
|
{"version":3,"file":"reveal.es5.js","sources":["../js/utils/constants.js","../js/utils/util.js","../js/utils/device.js","../js/controllers/slidecontent.js","../js/controllers/slidenumber.js","../js/utils/color.js","../js/controllers/backgrounds.js","../js/controllers/autoanimate.js","../js/controllers/fragments.js","../js/controllers/overview.js","../js/controllers/keyboard.js","../js/controllers/location.js","../js/controllers/controls.js","../js/controllers/progress.js","../js/controllers/pointer.js","../js/utils/loader.js","../js/controllers/plugins.js","../js/controllers/print.js","../js/controllers/touch.js","../js/controllers/notes.js","../js/components/playback.js","../js/config.js","../js/reveal.js","../js/index.js"],"sourcesContent":["\nexport const SLIDES_SELECTOR = '.slides section';\nexport const HORIZONTAL_SLIDES_SELECTOR = '.slides>section';\nexport const VERTICAL_SLIDES_SELECTOR = '.slides>section.present>section';\n\n// Methods that may not be invoked via the postMessage API\nexport const POST_MESSAGE_METHOD_BLACKLIST = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/;\n\n// Regex for retrieving the fragment style from a class attribute\nexport const FRAGMENT_STYLE_REGEX = /fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/;","/**\n * Extend object a with the properties of object b.\n * If there's a conflict, object b takes precedence.\n *\n * @param {object} a\n * @param {object} b\n */\nexport const extend = ( a, b ) => {\n\n\tfor( let i in b ) {\n\t\ta[ i ] = b[ i ];\n\t}\n\n\treturn a;\n\n}\n\n/**\n * querySelectorAll but returns an Array.\n */\nexport const queryAll = ( el, selector ) => {\n\n\treturn Array.from( el.querySelectorAll( selector ) );\n\n}\n\n/**\n * Utility for deserializing a value.\n *\n * @param {*} value\n * @return {*}\n */\nexport const deserialize = ( value ) => {\n\n\tif( typeof value === 'string' ) {\n\t\tif( value === 'null' ) return null;\n\t\telse if( value === 'true' ) return true;\n\t\telse if( value === 'false' ) return false;\n\t\telse if( value.match( /^-?[\\d\\.]+$/ ) ) return parseFloat( value );\n\t}\n\n\treturn value;\n\n}\n\n/**\n * Measures the distance in pixels between point a\n * and point b.\n *\n * @param {object} a point with x/y properties\n * @param {object} b point with x/y properties\n *\n * @return {number}\n */\nexport const distanceBetween = ( a, b ) => {\n\n\tlet dx = a.x - b.x,\n\t\tdy = a.y - b.y;\n\n\treturn Math.sqrt( dx*dx + dy*dy );\n\n}\n\n/**\n * Applies a CSS transform to the target element.\n *\n * @param {HTMLElement} element\n * @param {string} transform\n */\nexport const transformElement = ( element, transform ) => {\n\n\telement.style.transform = transform;\n\n}\n\n/**\n * Find the closest parent that matches the given\n * selector.\n *\n * @param {HTMLElement} target The child element\n * @param {String} selector The CSS selector to match\n * the parents against\n *\n * @return {HTMLElement} The matched parent or null\n * if no matching parent was found\n */\nexport const closestParent = ( target, selector ) => {\n\n\tlet parent = target.parentNode;\n\n\twhile( parent ) {\n\n\t\t// There's some overhead doing this each time, we don't\n\t\t// want to rewrite the element prototype but should still\n\t\t// be enough to feature detect once at startup...\n\t\tlet matchesMethod = parent.matches || parent.matchesSelector || parent.msMatchesSelector;\n\n\t\t// If we find a match, we're all set\n\t\tif( matchesMethod && matchesMethod.call( parent, selector ) ) {\n\t\t\treturn parent;\n\t\t}\n\n\t\t// Keep searching\n\t\tparent = parent.parentNode;\n\n\t}\n\n\treturn null;\n\n}\n\n/**\n * Handling the fullscreen functionality via the fullscreen API\n *\n * @see http://fullscreen.spec.whatwg.org/\n * @see https://developer.mozilla.org/en-US/docs/DOM/Using_fullscreen_mode\n */\nexport const enterFullscreen = () => {\n\n\tlet element = document.documentElement;\n\n\t// Check which implementation is available\n\tlet requestMethod = element.requestFullscreen ||\n\t\t\t\t\t\telement.webkitRequestFullscreen ||\n\t\t\t\t\t\telement.webkitRequestFullScreen ||\n\t\t\t\t\t\telement.mozRequestFullScreen ||\n\t\t\t\t\t\telement.msRequestFullscreen;\n\n\tif( requestMethod ) {\n\t\trequestMethod.apply( element );\n\t}\n\n}\n\n/**\n * Creates an HTML element and returns a reference to it.\n * If the element already exists the existing instance will\n * be returned.\n *\n * @param {HTMLElement} container\n * @param {string} tagname\n * @param {string} classname\n * @param {string} innerHTML\n *\n * @return {HTMLElement}\n */\nexport const createSingletonNode = ( container, tagname, classname, innerHTML='' ) => {\n\n\t// Find all nodes matching the description\n\tlet nodes = container.querySelectorAll( '.' + classname );\n\n\t// Check all matches to find one which is a direct child of\n\t// the specified container\n\tfor( let i = 0; i < nodes.length; i++ ) {\n\t\tlet testNoLine truncated
|
||||||
Vendored
+1
-1
@@ -5,5 +5,5 @@
|
|||||||
*
|
*
|
||||||
* Copyright (C) 2020 Hakim El Hattab, https://hakim.se
|
* Copyright (C) 2020 Hakim El Hattab, https://hakim.se
|
||||||
*/
|
*/
|
||||||
function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function n(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?r(Object(i),!0).forEach((function(t){a(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function o(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return l(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}var d=/registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/,c=/fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/,u=function(e,t){for(var i in t)e[i]=t[i];return e},h=function(e,t){return Array.from(e.querySelectorAll(t))},v=function(e){if("string"==typeof e){if("null"===e)return null;if("true"===e)return!0;if("false"===e)return!1;if(e.match(/^-?[\d\.]+$/))return parseFloat(e)}return e},g=function(e,t){e.style.transform=t},f=function(e,t){for(var i=e.parentNode;i;){var n=i.matches||i.matchesSelector||i.msMatchesSelector;if(n&&n.call(i,t))return i;i=i.parentNode}return null},p=function(e,t,i){for(var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=e.querySelectorAll("."+i),r=0;r<a.length;r++){var s=a[r];if(s.parentNode===e)return s}var o=document.createElement(t);return o.className=i,o.innerHTML=n,e.appendChild(o),o},m=function(e){var t=document.createElement("style");return t.type="text/css",e&&e.length>0&&(t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))),document.head.appendChild(t),t},y=function(){var e={};for(var t in location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,(function(t){e[t.split("=").shift()]=t.split("=").pop()})),e){var i=e[t];e[t]=v(unescape(i))}return void 0!==e.dependencies&&delete e.dependencies,e},b=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(e){var i,n=e.style.height;return e.style.height="0px",e.parentNode.style.height="auto",i=t-e.parentNode.offsetHeight,e.style.height=n+"px",e.parentNode.style.removeProperty("height"),i}return t},k=navigator.userAgent,w=document.createElement("div"),A=/(iphone|ipod|ipad|android)/gi.test(k)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1,R=/chrome/i.test(k)&&!/edge/i.test(k),E=/android/gi.test(k),S="zoom"in w.style&&!A&&(R||/Version\/[\d\.]+.*Safari/.test(k)),L="function"==typeof window.history.replaceState&&!/PhantomJS/.test(k),x=function(){function e(i){t(this,e),this.Reveal=i,this.startEmbeddedIframe=this.startEmbeddedIframe.bind(this)}return n(e,[{key:"shouldPreload",value:function(e){var t=this.Reveal.getConfig().preloadIframes;return"boolean"!=typeof t&&(t=e.hasAttribute("data-preload")),t}},{key:"load",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.style.display=this.Reveal.getConfig().display,h(e,"img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((function(e){("IFRAME"!==e.tagName||t.shouldPreload(e))&&(e.setAttribute("src",e.getAttribute("data-src")),e.setAttribute("data-lazy-loaded",""),e.removeAttribute("data-src"))})),h(e,"video, audio").forEach((function(e){var t=0;h(e,"source[data-src]").forEach((function(e){e.setAttribute("src",e.getAttribute("data-src")),e.removeAttribute("data-src"),e.setAttribute("data-lazy-loaded",""),t+=1})),t>0&&e.load()}));var n=e.slideBackgroundElement;if(n){n.style.display="block";var a=e.slideBackgroundContentElement,r=e.getAttributeLine truncated
|
function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function n(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?r(Object(i),!0).forEach((function(t){a(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function o(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return l(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}var d=/registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/,c=/fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/,u=function(e,t){for(var i in t)e[i]=t[i];return e},h=function(e,t){return Array.from(e.querySelectorAll(t))},v=function(e){if("string"==typeof e){if("null"===e)return null;if("true"===e)return!0;if("false"===e)return!1;if(e.match(/^-?[\d\.]+$/))return parseFloat(e)}return e},g=function(e,t){e.style.transform=t},f=function(e,t){for(var i=e.parentNode;i;){var n=i.matches||i.matchesSelector||i.msMatchesSelector;if(n&&n.call(i,t))return i;i=i.parentNode}return null},p=function(e,t,i){for(var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=e.querySelectorAll("."+i),r=0;r<a.length;r++){var s=a[r];if(s.parentNode===e)return s}var o=document.createElement(t);return o.className=i,o.innerHTML=n,e.appendChild(o),o},m=function(e){var t=document.createElement("style");return t.type="text/css",e&&e.length>0&&(t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))),document.head.appendChild(t),t},y=function(){var e={};for(var t in location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,(function(t){e[t.split("=").shift()]=t.split("=").pop()})),e){var i=e[t];e[t]=v(unescape(i))}return void 0!==e.dependencies&&delete e.dependencies,e},b=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(e){var i,n=e.style.height;return e.style.height="0px",e.parentNode.style.height="auto",i=t-e.parentNode.offsetHeight,e.style.height=n+"px",e.parentNode.style.removeProperty("height"),i}return t},k=navigator.userAgent,w=document.createElement("div"),A=/(iphone|ipod|ipad|android)/gi.test(k)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1,R=/chrome/i.test(k)&&!/edge/i.test(k),E=/android/gi.test(k),S="zoom"in w.style&&!A&&(R||/Version\/[\d\.]+.*Safari/.test(k)),L="function"==typeof window.history.replaceState&&!/PhantomJS/.test(k),x=function(){function e(i){t(this,e),this.Reveal=i,this.startEmbeddedIframe=this.startEmbeddedIframe.bind(this)}return n(e,[{key:"shouldPreload",value:function(e){var t=this.Reveal.getConfig().preloadIframes;return"boolean"!=typeof t&&(t=e.hasAttribute("data-preload")),t}},{key:"load",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.style.display=this.Reveal.getConfig().display,h(e,"img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((function(e){("IFRAME"!==e.tagName||t.shouldPreload(e))&&(e.setAttribute("src",e.getAttribute("data-src")),e.setAttribute("data-lazy-loaded",""),e.removeAttribute("data-src"))})),h(e,"video, audio").forEach((function(e){var t=0;h(e,"source[data-src]").forEach((function(e){e.setAttribute("src",e.getAttribute("data-src")),e.removeAttribute("data-src"),e.setAttribute("data-lazy-loaded",""),t+=1})),t>0&&e.load()}));var n=e.slideBackgroundElement;if(n){n.style.display="block";var a=e.slideBackgroundContentElement,r=e.getAttributeLine truncated
|
||||||
//# sourceMappingURL=reveal.js.map
|
//# sourceMappingURL=reveal.js.map
|
||||||
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"reveal.js","sources":["../js/utils/constants.js","../js/utils/util.js","../js/utils/device.js","../js/controllers/slidecontent.js","../js/controllers/slidenumber.js","../js/utils/color.js","../js/controllers/backgrounds.js","../js/controllers/autoanimate.js","../js/controllers/fragments.js","../js/controllers/overview.js","../js/controllers/keyboard.js","../js/controllers/location.js","../js/controllers/controls.js","../js/controllers/progress.js","../js/controllers/pointer.js","../js/utils/loader.js","../js/controllers/plugins.js","../js/controllers/print.js","../js/controllers/touch.js","../js/controllers/notes.js","../js/components/playback.js","../js/config.js","../js/reveal.js","../js/index.js"],"sourcesContent":["\nexport const SLIDES_SELECTOR = '.slides section';\nexport const HORIZONTAL_SLIDES_SELECTOR = '.slides>section';\nexport const VERTICAL_SLIDES_SELECTOR = '.slides>section.present>section';\n\n// Methods that may not be invoked via the postMessage API\nexport const POST_MESSAGE_METHOD_BLACKLIST = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/;\n\n// Regex for retrieving the fragment style from a class attribute\nexport const FRAGMENT_STYLE_REGEX = /fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/;","/**\n * Extend object a with the properties of object b.\n * If there's a conflict, object b takes precedence.\n *\n * @param {object} a\n * @param {object} b\n */\nexport const extend = ( a, b ) => {\n\n\tfor( let i in b ) {\n\t\ta[ i ] = b[ i ];\n\t}\n\n\treturn a;\n\n}\n\n/**\n * querySelectorAll but returns an Array.\n */\nexport const queryAll = ( el, selector ) => {\n\n\treturn Array.from( el.querySelectorAll( selector ) );\n\n}\n\n/**\n * Utility for deserializing a value.\n *\n * @param {*} value\n * @return {*}\n */\nexport const deserialize = ( value ) => {\n\n\tif( typeof value === 'string' ) {\n\t\tif( value === 'null' ) return null;\n\t\telse if( value === 'true' ) return true;\n\t\telse if( value === 'false' ) return false;\n\t\telse if( value.match( /^-?[\\d\\.]+$/ ) ) return parseFloat( value );\n\t}\n\n\treturn value;\n\n}\n\n/**\n * Measures the distance in pixels between point a\n * and point b.\n *\n * @param {object} a point with x/y properties\n * @param {object} b point with x/y properties\n *\n * @return {number}\n */\nexport const distanceBetween = ( a, b ) => {\n\n\tlet dx = a.x - b.x,\n\t\tdy = a.y - b.y;\n\n\treturn Math.sqrt( dx*dx + dy*dy );\n\n}\n\n/**\n * Applies a CSS transform to the target element.\n *\n * @param {HTMLElement} element\n * @param {string} transform\n */\nexport const transformElement = ( element, transform ) => {\n\n\telement.style.transform = transform;\n\n}\n\n/**\n * Find the closest parent that matches the given\n * selector.\n *\n * @param {HTMLElement} target The child element\n * @param {String} selector The CSS selector to match\n * the parents against\n *\n * @return {HTMLElement} The matched parent or null\n * if no matching parent was found\n */\nexport const closestParent = ( target, selector ) => {\n\n\tlet parent = target.parentNode;\n\n\twhile( parent ) {\n\n\t\t// There's some overhead doing this each time, we don't\n\t\t// want to rewrite the element prototype but should still\n\t\t// be enough to feature detect once at startup...\n\t\tlet matchesMethod = parent.matches || parent.matchesSelector || parent.msMatchesSelector;\n\n\t\t// If we find a match, we're all set\n\t\tif( matchesMethod && matchesMethod.call( parent, selector ) ) {\n\t\t\treturn parent;\n\t\t}\n\n\t\t// Keep searching\n\t\tparent = parent.parentNode;\n\n\t}\n\n\treturn null;\n\n}\n\n/**\n * Handling the fullscreen functionality via the fullscreen API\n *\n * @see http://fullscreen.spec.whatwg.org/\n * @see https://developer.mozilla.org/en-US/docs/DOM/Using_fullscreen_mode\n */\nexport const enterFullscreen = () => {\n\n\tlet element = document.documentElement;\n\n\t// Check which implementation is available\n\tlet requestMethod = element.requestFullscreen ||\n\t\t\t\t\t\telement.webkitRequestFullscreen ||\n\t\t\t\t\t\telement.webkitRequestFullScreen ||\n\t\t\t\t\t\telement.mozRequestFullScreen ||\n\t\t\t\t\t\telement.msRequestFullscreen;\n\n\tif( requestMethod ) {\n\t\trequestMethod.apply( element );\n\t}\n\n}\n\n/**\n * Creates an HTML element and returns a reference to it.\n * If the element already exists the existing instance will\n * be returned.\n *\n * @param {HTMLElement} container\n * @param {string} tagname\n * @param {string} classname\n * @param {string} innerHTML\n *\n * @return {HTMLElement}\n */\nexport const createSingletonNode = ( container, tagname, classname, innerHTML='' ) => {\n\n\t// Find all nodes matching the description\n\tlet nodes = container.querySelectorAll( '.' + classname );\n\n\t// Check all matches to find one which is a direct child of\n\t// the specified container\n\tfor( let i = 0; i < nodes.length; i++ ) {\n\t\tlet testNode =Line truncated
|
{"version":3,"file":"reveal.js","sources":["../js/utils/constants.js","../js/utils/util.js","../js/utils/device.js","../js/controllers/slidecontent.js","../js/controllers/slidenumber.js","../js/utils/color.js","../js/controllers/backgrounds.js","../js/controllers/autoanimate.js","../js/controllers/fragments.js","../js/controllers/overview.js","../js/controllers/keyboard.js","../js/controllers/location.js","../js/controllers/controls.js","../js/controllers/progress.js","../js/controllers/pointer.js","../js/utils/loader.js","../js/controllers/plugins.js","../js/controllers/print.js","../js/controllers/touch.js","../js/controllers/notes.js","../js/components/playback.js","../js/config.js","../js/reveal.js","../js/index.js"],"sourcesContent":["\nexport const SLIDES_SELECTOR = '.slides section';\nexport const HORIZONTAL_SLIDES_SELECTOR = '.slides>section';\nexport const VERTICAL_SLIDES_SELECTOR = '.slides>section.present>section';\n\n// Methods that may not be invoked via the postMessage API\nexport const POST_MESSAGE_METHOD_BLACKLIST = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/;\n\n// Regex for retrieving the fragment style from a class attribute\nexport const FRAGMENT_STYLE_REGEX = /fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/;","/**\n * Extend object a with the properties of object b.\n * If there's a conflict, object b takes precedence.\n *\n * @param {object} a\n * @param {object} b\n */\nexport const extend = ( a, b ) => {\n\n\tfor( let i in b ) {\n\t\ta[ i ] = b[ i ];\n\t}\n\n\treturn a;\n\n}\n\n/**\n * querySelectorAll but returns an Array.\n */\nexport const queryAll = ( el, selector ) => {\n\n\treturn Array.from( el.querySelectorAll( selector ) );\n\n}\n\n/**\n * Utility for deserializing a value.\n *\n * @param {*} value\n * @return {*}\n */\nexport const deserialize = ( value ) => {\n\n\tif( typeof value === 'string' ) {\n\t\tif( value === 'null' ) return null;\n\t\telse if( value === 'true' ) return true;\n\t\telse if( value === 'false' ) return false;\n\t\telse if( value.match( /^-?[\\d\\.]+$/ ) ) return parseFloat( value );\n\t}\n\n\treturn value;\n\n}\n\n/**\n * Measures the distance in pixels between point a\n * and point b.\n *\n * @param {object} a point with x/y properties\n * @param {object} b point with x/y properties\n *\n * @return {number}\n */\nexport const distanceBetween = ( a, b ) => {\n\n\tlet dx = a.x - b.x,\n\t\tdy = a.y - b.y;\n\n\treturn Math.sqrt( dx*dx + dy*dy );\n\n}\n\n/**\n * Applies a CSS transform to the target element.\n *\n * @param {HTMLElement} element\n * @param {string} transform\n */\nexport const transformElement = ( element, transform ) => {\n\n\telement.style.transform = transform;\n\n}\n\n/**\n * Find the closest parent that matches the given\n * selector.\n *\n * @param {HTMLElement} target The child element\n * @param {String} selector The CSS selector to match\n * the parents against\n *\n * @return {HTMLElement} The matched parent or null\n * if no matching parent was found\n */\nexport const closestParent = ( target, selector ) => {\n\n\tlet parent = target.parentNode;\n\n\twhile( parent ) {\n\n\t\t// There's some overhead doing this each time, we don't\n\t\t// want to rewrite the element prototype but should still\n\t\t// be enough to feature detect once at startup...\n\t\tlet matchesMethod = parent.matches || parent.matchesSelector || parent.msMatchesSelector;\n\n\t\t// If we find a match, we're all set\n\t\tif( matchesMethod && matchesMethod.call( parent, selector ) ) {\n\t\t\treturn parent;\n\t\t}\n\n\t\t// Keep searching\n\t\tparent = parent.parentNode;\n\n\t}\n\n\treturn null;\n\n}\n\n/**\n * Handling the fullscreen functionality via the fullscreen API\n *\n * @see http://fullscreen.spec.whatwg.org/\n * @see https://developer.mozilla.org/en-US/docs/DOM/Using_fullscreen_mode\n */\nexport const enterFullscreen = () => {\n\n\tlet element = document.documentElement;\n\n\t// Check which implementation is available\n\tlet requestMethod = element.requestFullscreen ||\n\t\t\t\t\t\telement.webkitRequestFullscreen ||\n\t\t\t\t\t\telement.webkitRequestFullScreen ||\n\t\t\t\t\t\telement.mozRequestFullScreen ||\n\t\t\t\t\t\telement.msRequestFullscreen;\n\n\tif( requestMethod ) {\n\t\trequestMethod.apply( element );\n\t}\n\n}\n\n/**\n * Creates an HTML element and returns a reference to it.\n * If the element already exists the existing instance will\n * be returned.\n *\n * @param {HTMLElement} container\n * @param {string} tagname\n * @param {string} classname\n * @param {string} innerHTML\n *\n * @return {HTMLElement}\n */\nexport const createSingletonNode = ( container, tagname, classname, innerHTML='' ) => {\n\n\t// Find all nodes matching the description\n\tlet nodes = container.querySelectorAll( '.' + classname );\n\n\t// Check all matches to find one which is a direct child of\n\t// the specified container\n\tfor( let i = 0; i < nodes.length; i++ ) {\n\t\tlet testNode =Line truncated
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
|
|
||||||
<title>reveal.js - Multiple Instances</title>
|
<title>reveal.js - Multiple Presentations</title>
|
||||||
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||||
|
|
||||||
@@ -37,6 +37,9 @@
|
|||||||
embedded: true,
|
embedded: true,
|
||||||
keyboard: false
|
keyboard: false
|
||||||
} );
|
} );
|
||||||
|
r1.on( 'slidechanged', () => {
|
||||||
|
console.log( 'Deck 1 slide changed' );
|
||||||
|
} );
|
||||||
r1.initialize();
|
r1.initialize();
|
||||||
|
|
||||||
let r2 = new Reveal( document.querySelector( '.deck2' ), {
|
let r2 = new Reveal( document.querySelector( '.deck2' ), {
|
||||||
@@ -46,6 +49,9 @@
|
|||||||
r2.initialize().then( () => {
|
r2.initialize().then( () => {
|
||||||
r2.slide(1);
|
r2.slide(1);
|
||||||
} );
|
} );
|
||||||
|
r2.on( 'slidechanged', () => {
|
||||||
|
console.log( 'Deck 2 slide changed' );
|
||||||
|
} );
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
+34
-34
@@ -488,8 +488,8 @@ export default function( revealElement, options ) {
|
|||||||
|
|
||||||
if( config.touch ) touch.bind();
|
if( config.touch ) touch.bind();
|
||||||
if( config.keyboard ) keyboard.bind();
|
if( config.keyboard ) keyboard.bind();
|
||||||
|
if( config.progress ) progress.bind();
|
||||||
controls.bind();
|
controls.bind();
|
||||||
progress.bind();
|
|
||||||
|
|
||||||
dom.pauseOverlay.addEventListener( 'click', resume, false );
|
dom.pauseOverlay.addEventListener( 'click', resume, false );
|
||||||
|
|
||||||
@@ -2345,8 +2345,8 @@ export default function( revealElement, options ) {
|
|||||||
// ------------------------------- API --------------------------------//
|
// ------------------------------- API --------------------------------//
|
||||||
// --------------------------------------------------------------------//
|
// --------------------------------------------------------------------//
|
||||||
|
|
||||||
|
// The public reveal.js API
|
||||||
return extend( Reveal, {
|
const API = {
|
||||||
VERSION,
|
VERSION,
|
||||||
|
|
||||||
initialize,
|
initialize,
|
||||||
@@ -2366,12 +2366,7 @@ export default function( revealElement, options ) {
|
|||||||
next: navigateNext,
|
next: navigateNext,
|
||||||
|
|
||||||
// Navigation aliases
|
// Navigation aliases
|
||||||
navigateLeft,
|
navigateLeft, navigateRight, navigateUp, navigateDown, navigatePrev, navigateNext,
|
||||||
navigateRight,
|
|
||||||
navigateUp,
|
|
||||||
navigateDown,
|
|
||||||
navigatePrev,
|
|
||||||
navigateNext,
|
|
||||||
|
|
||||||
// Fragment methods
|
// Fragment methods
|
||||||
navigateFragment: fragments.goto.bind( fragments ),
|
navigateFragment: fragments.goto.bind( fragments ),
|
||||||
@@ -2423,6 +2418,9 @@ export default function( revealElement, options ) {
|
|||||||
isOverview: overview.isActive.bind( overview ),
|
isOverview: overview.isActive.bind( overview ),
|
||||||
isPrintingPDF: print.isPrintingPDF.bind( print ),
|
isPrintingPDF: print.isPrintingPDF.bind( print ),
|
||||||
|
|
||||||
|
// Checks if reveal.js has been loaded and is ready for use
|
||||||
|
isReady: () => ready,
|
||||||
|
|
||||||
// Slide preloading
|
// Slide preloading
|
||||||
loadSlide: slideContent.load.bind( slideContent ),
|
loadSlide: slideContent.load.bind( slideContent ),
|
||||||
unloadSlide: slideContent.unload.bind( slideContent ),
|
unloadSlide: slideContent.unload.bind( slideContent ),
|
||||||
@@ -2436,43 +2434,50 @@ export default function( revealElement, options ) {
|
|||||||
getState,
|
getState,
|
||||||
setState,
|
setState,
|
||||||
|
|
||||||
// Presentation progress
|
|
||||||
getSlidePastCount,
|
|
||||||
|
|
||||||
// Presentation progress on range of 0-1
|
// Presentation progress on range of 0-1
|
||||||
getProgress,
|
getProgress,
|
||||||
|
|
||||||
// Returns the indices of the current, or specified, slide
|
// Returns the indices of the current, or specified, slide
|
||||||
getIndices,
|
getIndices,
|
||||||
|
|
||||||
// Returns an Array of all slides
|
|
||||||
getSlides,
|
|
||||||
|
|
||||||
// Returns an Array of key:value maps of the attributes of each
|
// Returns an Array of key:value maps of the attributes of each
|
||||||
// slide in the deck
|
// slide in the deck
|
||||||
getSlidesAttributes,
|
getSlidesAttributes,
|
||||||
|
|
||||||
|
// Returns the number of slides that we have passed
|
||||||
|
getSlidePastCount,
|
||||||
|
|
||||||
// Returns the total number of slides
|
// Returns the total number of slides
|
||||||
getTotalSlides,
|
getTotalSlides,
|
||||||
|
|
||||||
// Returns the slide element at the specified index
|
// Returns the slide element at the specified index
|
||||||
getSlide,
|
getSlide,
|
||||||
|
|
||||||
|
// Returns the previous slide element, may be null
|
||||||
|
getPreviousSlide: () => previousSlide,
|
||||||
|
|
||||||
|
// Returns the current slide element
|
||||||
|
getCurrentSlide: () => currentSlide,
|
||||||
|
|
||||||
// Returns the slide background element at the specified index
|
// Returns the slide background element at the specified index
|
||||||
getSlideBackground,
|
getSlideBackground,
|
||||||
|
|
||||||
// Returns the speaker notes string for a slide, or null
|
// Returns the speaker notes string for a slide, or null
|
||||||
getSlideNotes: notes.getSlideNotes.bind( notes ),
|
getSlideNotes: notes.getSlideNotes.bind( notes ),
|
||||||
|
|
||||||
|
// Returns an Array of all slides
|
||||||
|
getSlides,
|
||||||
|
|
||||||
// Returns an array with all horizontal/vertical slides in the deck
|
// Returns an array with all horizontal/vertical slides in the deck
|
||||||
getHorizontalSlides,
|
getHorizontalSlides,
|
||||||
getVerticalSlides,
|
getVerticalSlides,
|
||||||
|
|
||||||
// Checks if the presentation contains two or more
|
// Checks if the presentation contains two or more horizontal
|
||||||
// horizontal/vertical slides
|
// and vertical slides
|
||||||
hasHorizontalSlides,
|
hasHorizontalSlides,
|
||||||
hasVerticalSlides,
|
hasVerticalSlides,
|
||||||
|
|
||||||
|
// Checks if the deck has navigated on either axis at least once
|
||||||
hasNavigatedHorizontally: () => navigationHistory.hasNavigatedHorizontally,
|
hasNavigatedHorizontally: () => navigationHistory.hasNavigatedHorizontally,
|
||||||
hasNavigatedVertically: () => navigationHistory.hasNavigatedVertically,
|
hasNavigatedVertically: () => navigationHistory.hasNavigatedVertically,
|
||||||
|
|
||||||
@@ -2486,20 +2491,8 @@ export default function( revealElement, options ) {
|
|||||||
// Registers a new shortcut to include in the help overlay
|
// Registers a new shortcut to include in the help overlay
|
||||||
registerKeyboardShortcut: keyboard.registerKeyboardShortcut.bind( keyboard ),
|
registerKeyboardShortcut: keyboard.registerKeyboardShortcut.bind( keyboard ),
|
||||||
|
|
||||||
// API for registering and retrieving plugins
|
|
||||||
registerPlugin: plugins.registerPlugin.bind( plugins ),
|
|
||||||
hasPlugin: plugins.hasPlugin.bind( plugins ),
|
|
||||||
getPlugin: plugins.getPlugin.bind( plugins ),
|
|
||||||
getPlugins: plugins.getRegisteredPlugins.bind( plugins ),
|
|
||||||
|
|
||||||
getComputedSlideSize,
|
getComputedSlideSize,
|
||||||
|
|
||||||
// Returns the previous slide element, may be null
|
|
||||||
getPreviousSlide: () => previousSlide,
|
|
||||||
|
|
||||||
// Returns the current slide element
|
|
||||||
getCurrentSlide: () => currentSlide,
|
|
||||||
|
|
||||||
// Returns the current scale of the presentation content
|
// Returns the current scale of the presentation content
|
||||||
getScale: () => scale,
|
getScale: () => scale,
|
||||||
|
|
||||||
@@ -2514,17 +2507,23 @@ export default function( revealElement, options ) {
|
|||||||
getSlidesElement: () => dom.slides,
|
getSlidesElement: () => dom.slides,
|
||||||
getBackgroundsElement: () => backgrounds.element,
|
getBackgroundsElement: () => backgrounds.element,
|
||||||
|
|
||||||
// Checks if reveal.js has been loaded and is ready for use
|
// API for registering and retrieving plugins
|
||||||
isReady: () => ready,
|
registerPlugin: plugins.registerPlugin.bind( plugins ),
|
||||||
|
hasPlugin: plugins.hasPlugin.bind( plugins ),
|
||||||
|
getPlugin: plugins.getPlugin.bind( plugins ),
|
||||||
|
getPlugins: plugins.getRegisteredPlugins.bind( plugins )
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
// The following API methods are primarily intended for use
|
// Our internal API which controllers have access to
|
||||||
// by reveal.js controllers
|
extend( Reveal, {
|
||||||
|
...API,
|
||||||
|
|
||||||
// Methods for announcing content to screen readers
|
// Methods for announcing content to screen readers
|
||||||
announceStatus,
|
announceStatus,
|
||||||
getStatusText,
|
getStatusText,
|
||||||
|
|
||||||
|
// Controllers
|
||||||
print,
|
print,
|
||||||
progress,
|
progress,
|
||||||
controls,
|
controls,
|
||||||
@@ -2541,7 +2540,8 @@ export default function( revealElement, options ) {
|
|||||||
transformSlides,
|
transformSlides,
|
||||||
cueAutoSlide,
|
cueAutoSlide,
|
||||||
cancelAutoSlide
|
cancelAutoSlide
|
||||||
|
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
return API;
|
||||||
|
|
||||||
};
|
};
|
||||||
Reference in new issue
Block a user