Compare commits
2 Commits
ai-lecture
...
5d131cea20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d131cea20 | ||
|
|
52480157a1 |
2
LICENSE
2
LICENSE
@@ -1,4 +1,4 @@
|
|||||||
Copyright (C) 2011-2023 Hakim El Hattab, http://hakim.se, and reveal.js contributors
|
Copyright (C) 2011-2024 Hakim El Hattab, http://hakim.se, and reveal.js contributors
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -46,5 +46,5 @@ Hakim's open source work is supported by <a href="https://github.com/sponsors/ha
|
|||||||
|
|
||||||
---
|
---
|
||||||
<div align="center">
|
<div align="center">
|
||||||
MIT licensed | Copyright © 2011-2023 Hakim El Hattab, https://hakim.se
|
MIT licensed | Copyright © 2011-2024 Hakim El Hattab, https://hakim.se
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
2
dist/reveal.esm.js
vendored
2
dist/reveal.esm.js
vendored
File diff suppressed because one or more lines are too long
2
dist/reveal.esm.js.map
vendored
2
dist/reveal.esm.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/reveal.js
vendored
2
dist/reveal.js
vendored
File diff suppressed because one or more lines are too long
2
dist/reveal.js.map
vendored
2
dist/reveal.js.map
vendored
File diff suppressed because one or more lines are too long
@@ -29,7 +29,7 @@ const banner = `/*!
|
|||||||
* ${pkg.homepage}
|
* ${pkg.homepage}
|
||||||
* MIT licensed
|
* MIT licensed
|
||||||
*
|
*
|
||||||
* Copyright (C) 2011-2023 Hakim El Hattab, https://hakim.se
|
* Copyright (C) 2011-2024 Hakim El Hattab, https://hakim.se
|
||||||
*/\n`
|
*/\n`
|
||||||
|
|
||||||
// Prevents warnings from opening too many test pages
|
// Prevents warnings from opening too many test pages
|
||||||
|
|||||||
@@ -277,7 +277,7 @@ export default class ScrollView {
|
|||||||
const pageHeight = useCompactLayout ? compactHeight : viewportHeight;
|
const pageHeight = useCompactLayout ? compactHeight : viewportHeight;
|
||||||
|
|
||||||
// The height that needs to be scrolled between scroll triggers
|
// The height that needs to be scrolled between scroll triggers
|
||||||
const scrollTriggerHeight = useCompactLayout ? compactHeight : viewportHeight;
|
this.scrollTriggerHeight = useCompactLayout ? compactHeight : viewportHeight;
|
||||||
|
|
||||||
this.viewportElement.style.setProperty( '--page-height', pageHeight + 'px' );
|
this.viewportElement.style.setProperty( '--page-height', pageHeight + 'px' );
|
||||||
this.viewportElement.style.scrollSnapType = typeof config.scrollSnap === 'string' ? `y ${config.scrollSnap}` : '';
|
this.viewportElement.style.scrollSnapType = typeof config.scrollSnap === 'string' ? `y ${config.scrollSnap}` : '';
|
||||||
@@ -333,12 +333,12 @@ export default class ScrollView {
|
|||||||
for( let i = 0; i < totalScrollTriggerCount + 1; i++ ) {
|
for( let i = 0; i < totalScrollTriggerCount + 1; i++ ) {
|
||||||
const triggerStick = document.createElement( 'div' );
|
const triggerStick = document.createElement( 'div' );
|
||||||
triggerStick.className = 'scroll-snap-point';
|
triggerStick.className = 'scroll-snap-point';
|
||||||
triggerStick.style.height = scrollTriggerHeight + 'px';
|
triggerStick.style.height = this.scrollTriggerHeight + 'px';
|
||||||
triggerStick.style.scrollSnapAlign = useCompactLayout ? 'center' : 'start';
|
triggerStick.style.scrollSnapAlign = useCompactLayout ? 'center' : 'start';
|
||||||
page.pageElement.appendChild( triggerStick );
|
page.pageElement.appendChild( triggerStick );
|
||||||
|
|
||||||
if( i === 0 ) {
|
if( i === 0 ) {
|
||||||
triggerStick.style.marginTop = -scrollTriggerHeight + 'px';
|
triggerStick.style.marginTop = -this.scrollTriggerHeight + 'px';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -355,7 +355,7 @@ export default class ScrollView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Add scroll padding based on how many scroll triggers we have
|
// Add scroll padding based on how many scroll triggers we have
|
||||||
page.scrollPadding = scrollTriggerHeight * totalScrollTriggerCount;
|
page.scrollPadding = this.scrollTriggerHeight * totalScrollTriggerCount;
|
||||||
|
|
||||||
// The total height including scrollable space
|
// The total height including scrollable space
|
||||||
page.totalHeight = page.pageHeight + page.scrollPadding;
|
page.totalHeight = page.pageHeight + page.scrollPadding;
|
||||||
@@ -699,6 +699,24 @@ export default class ScrollView {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scroll to the previous page.
|
||||||
|
*/
|
||||||
|
prev() {
|
||||||
|
|
||||||
|
this.viewportElement.scrollTop -= this.scrollTriggerHeight;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scroll to the next page.
|
||||||
|
*/
|
||||||
|
next() {
|
||||||
|
|
||||||
|
this.viewportElement.scrollTop += this.scrollTriggerHeight;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Scrolls the given slide element into view.
|
* Scrolls the given slide element into view.
|
||||||
*
|
*
|
||||||
|
|||||||
18
js/reveal.js
18
js/reveal.js
@@ -2499,6 +2499,9 @@ export default function( revealElement, options ) {
|
|||||||
|
|
||||||
navigationHistory.hasNavigatedHorizontally = true;
|
navigationHistory.hasNavigatedHorizontally = true;
|
||||||
|
|
||||||
|
// Scroll view navigation is handled independently
|
||||||
|
if( scrollView.isActive() ) return scrollView.prev();
|
||||||
|
|
||||||
// Reverse for RTL
|
// Reverse for RTL
|
||||||
if( config.rtl ) {
|
if( config.rtl ) {
|
||||||
if( ( overview.isActive() || skipFragments || fragments.next() === false ) && availableRoutes().left ) {
|
if( ( overview.isActive() || skipFragments || fragments.next() === false ) && availableRoutes().left ) {
|
||||||
@@ -2516,6 +2519,9 @@ export default function( revealElement, options ) {
|
|||||||
|
|
||||||
navigationHistory.hasNavigatedHorizontally = true;
|
navigationHistory.hasNavigatedHorizontally = true;
|
||||||
|
|
||||||
|
// Scroll view navigation is handled independently
|
||||||
|
if( scrollView.isActive() ) return scrollView.next();
|
||||||
|
|
||||||
// Reverse for RTL
|
// Reverse for RTL
|
||||||
if( config.rtl ) {
|
if( config.rtl ) {
|
||||||
if( ( overview.isActive() || skipFragments || fragments.prev() === false ) && availableRoutes().right ) {
|
if( ( overview.isActive() || skipFragments || fragments.prev() === false ) && availableRoutes().right ) {
|
||||||
@@ -2531,6 +2537,9 @@ export default function( revealElement, options ) {
|
|||||||
|
|
||||||
function navigateUp({skipFragments=false}={}) {
|
function navigateUp({skipFragments=false}={}) {
|
||||||
|
|
||||||
|
// Scroll view navigation is handled independently
|
||||||
|
if( scrollView.isActive() ) return scrollView.prev();
|
||||||
|
|
||||||
// Prioritize hiding fragments
|
// Prioritize hiding fragments
|
||||||
if( ( overview.isActive() || skipFragments || fragments.prev() === false ) && availableRoutes().up ) {
|
if( ( overview.isActive() || skipFragments || fragments.prev() === false ) && availableRoutes().up ) {
|
||||||
slide( indexh, indexv - 1 );
|
slide( indexh, indexv - 1 );
|
||||||
@@ -2542,6 +2551,9 @@ export default function( revealElement, options ) {
|
|||||||
|
|
||||||
navigationHistory.hasNavigatedVertically = true;
|
navigationHistory.hasNavigatedVertically = true;
|
||||||
|
|
||||||
|
// Scroll view navigation is handled independently
|
||||||
|
if( scrollView.isActive() ) return scrollView.next();
|
||||||
|
|
||||||
// Prioritize revealing fragments
|
// Prioritize revealing fragments
|
||||||
if( ( overview.isActive() || skipFragments || fragments.next() === false ) && availableRoutes().down ) {
|
if( ( overview.isActive() || skipFragments || fragments.next() === false ) && availableRoutes().down ) {
|
||||||
slide( indexh, indexv + 1 );
|
slide( indexh, indexv + 1 );
|
||||||
@@ -2557,6 +2569,9 @@ export default function( revealElement, options ) {
|
|||||||
*/
|
*/
|
||||||
function navigatePrev({skipFragments=false}={}) {
|
function navigatePrev({skipFragments=false}={}) {
|
||||||
|
|
||||||
|
// Scroll view navigation is handled independently
|
||||||
|
if( scrollView.isActive() ) return scrollView.prev();
|
||||||
|
|
||||||
// Prioritize revealing fragments
|
// Prioritize revealing fragments
|
||||||
if( skipFragments || fragments.prev() === false ) {
|
if( skipFragments || fragments.prev() === false ) {
|
||||||
if( availableRoutes().up ) {
|
if( availableRoutes().up ) {
|
||||||
@@ -2596,6 +2611,9 @@ export default function( revealElement, options ) {
|
|||||||
navigationHistory.hasNavigatedHorizontally = true;
|
navigationHistory.hasNavigatedHorizontally = true;
|
||||||
navigationHistory.hasNavigatedVertically = true;
|
navigationHistory.hasNavigatedVertically = true;
|
||||||
|
|
||||||
|
// Scroll view navigation is handled independently
|
||||||
|
if( scrollView.isActive() ) return scrollView.next();
|
||||||
|
|
||||||
// Prioritize revealing fragments
|
// Prioritize revealing fragments
|
||||||
if( skipFragments || fragments.next() === false ) {
|
if( skipFragments || fragments.next() === false ) {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user