aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/twbs/bootstrap/site/assets/js/partials/sidebar.js
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/twbs/bootstrap/site/assets/js/partials/sidebar.js')
-rw-r--r--vendor/twbs/bootstrap/site/assets/js/partials/sidebar.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/vendor/twbs/bootstrap/site/assets/js/partials/sidebar.js b/vendor/twbs/bootstrap/site/assets/js/partials/sidebar.js
new file mode 100644
index 000000000..bf42e7b5e
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/assets/js/partials/sidebar.js
@@ -0,0 +1,30 @@
+// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
+// IT'S ALL JUST JUNK FOR OUR DOCS!
+// ++++++++++++++++++++++++++++++++++++++++++
+
+/*
+ * JavaScript for Bootstrap's docs (https://getbootstrap.com/)
+ * Copyright 2011-2025 The Bootstrap Authors
+ * Licensed under the Creative Commons Attribution 3.0 Unported License.
+ * For details, see https://creativecommons.org/licenses/by/3.0/.
+ */
+
+export default () => {
+ // Scroll the active sidebar link into view
+ const sidenav = document.querySelector('.bd-sidebar')
+ const sidenavActiveLink = document.querySelector('.bd-links-nav .active')
+
+ if (!sidenav || !sidenavActiveLink) {
+ return
+ }
+
+ const sidenavHeight = sidenav.clientHeight
+ const sidenavActiveLinkTop = sidenavActiveLink.offsetTop
+ const sidenavActiveLinkHeight = sidenavActiveLink.clientHeight
+ const viewportTop = sidenavActiveLinkTop
+ const viewportBottom = viewportTop - sidenavHeight + sidenavActiveLinkHeight
+
+ if (sidenav.scrollTop > viewportTop || sidenav.scrollTop < viewportBottom) {
+ sidenav.scrollTop = viewportTop - (sidenavHeight / 2) + (sidenavActiveLinkHeight / 2)
+ }
+}