]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
docs: v6 docs fixes (#42030)
authorChristian Oliff <christianoliff@pm.me>
Fri, 23 Jan 2026 16:01:20 +0000 (01:01 +0900)
committerGitHub <noreply@github.com>
Fri, 23 Jan 2026 16:01:20 +0000 (08:01 -0800)
* docs: v6 docs updates

- Replace Popper with Floating UI
- Fix names on Migration docs

* Update site/src/content/docs/guides/npm.mdx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update site/src/content/docs/guides/parcel.mdx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update site/src/content/docs/guides/webpack.mdx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update site/src/content/docs/guides/vite.mdx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
15 files changed:
README.md
site/data/plugins.yml
site/src/content/callouts/warning-data-bs-title-vs-title.md
site/src/content/docs/components/dropdown.mdx
site/src/content/docs/customize/optimize.mdx
site/src/content/docs/getting-started/download.mdx
site/src/content/docs/getting-started/install.mdx
site/src/content/docs/getting-started/javascript.mdx
site/src/content/docs/getting-started/rtl.mdx
site/src/content/docs/guides/npm.mdx
site/src/content/docs/guides/parcel.mdx
site/src/content/docs/guides/quickstart.mdx
site/src/content/docs/guides/vite.mdx
site/src/content/docs/guides/webpack.mdx
site/src/content/docs/migration.mdx

index 15258e442cbed1a0e67f88f1b515242e551b68bb..86063e7da2e3cb0b2ec10ebd52f87f1f3e1e703b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -115,7 +115,7 @@ Within the download you’ll find the following directories and files, logically
   ```
 </details>
 
-We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). [Source maps](https://web.dev/articles/source-maps) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Bundled JS files (`bootstrap.bundle.js` and minified `bootstrap.bundle.min.js`) include [Popper](https://popper.js.org/docs/v2/). All CSS files work for both LTR and RTL layouts thanks to logical properties—simply set `dir="rtl"` on your HTML element.
+We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). [Source maps](https://web.dev/articles/source-maps) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Bundled JS files (`bootstrap.bundle.js` and minified `bootstrap.bundle.min.js`) include [Floating UI](https://floating-ui.com/). All CSS files work for both LTR and RTL layouts thanks to logical properties—simply set `dir="rtl"` on your HTML element.
 
 
 ## Bugs and feature requests
index e846e2a3ab263a9e3692cf0570204e7cb09271f7..bee8e690fcbe73fb806101533fccae811be68865 100644 (file)
@@ -27,7 +27,7 @@
   link: components/offcanvas/
 
 - name: Popover
-  description: Create custom overlays. Built on Popper.
+  description: Create custom overlays. Built on Floating UI.
   link: components/popovers/
 
 - name: Scrollspy
@@ -47,5 +47,5 @@
   link: components/toggler/
 
 - name: Tooltip
-  description: Replace browser tooltips with custom ones. Built on Popper.
+  description: Replace browser tooltips with custom ones. Built on Floating UI.
   link: components/tooltips/
index e932f22ad97134ac3efb34fd88778d8d6606baa7..e8129be6088817b88ed002db64c7e3edc5323150 100644 (file)
@@ -1 +1 @@
-Feel free to use either `title` or `data-bs-title` in your HTML. When `title` is used, Popper will replace it automatically with `data-bs-title` when the element is rendered.
+Feel free to use either `title` or `data-bs-title` in your HTML. When `title` is used, Floating UI will replace it automatically with `data-bs-title` when the element is rendered.
index 8cf1a20c0725a4089e75eb5db7669ae348ff2620..4a6ad8e55b129f7490c49470e6f3f81b7f718e60 100644 (file)
@@ -23,7 +23,7 @@ Toggle dropdown menus with buttons whenever possible. Here's an example using a
 
 Dropdowns are toggleable, contextual overlays for displaying lists of links and more. They’re made interactive with the included Bootstrap dropdown JavaScript plugin. They’re toggled by clicking, not by hovering; this is [an intentional design decision](https://markdotto.com/blog/bootstrap-explained-dropdowns/).
 
-Dropdowns are built on a third party library, [Floating UI](https://floating-ui.com/), which provides dynamic positioning and viewport detection. Be sure to include [floating-ui.dom.umd.min.js]([[config:cdn.floating_ui]]) before Bootstrap's JavaScript or use `bootstrap.bundle.min.js` / `bootstrap.bundle.js` which contains Floating UI. Popper isn't used to position dropdowns in navbars though as dynamic positioning isn't required.
+Dropdowns are built on a third party library, [Floating UI](https://floating-ui.com/), which provides dynamic positioning and viewport detection. Be sure to include [floating-ui.dom.umd.min.js]([[config:cdn.floating_ui]]) before Bootstrap's JavaScript or use `bootstrap.bundle.min.js` / `bootstrap.bundle.js` which contains Floating UI. Floating UI isn't used to position dropdowns in navbars though as dynamic positioning isn't required.
 
 ## Examples
 
index b660a6569ef9ea18c57419b7d1fe2da3017610ce..195f2e3ba84e8f653e7844e5cbe183c0c7db2c42 100644 (file)
@@ -14,7 +14,7 @@ If you’re not using a component, comment it out or delete it entirely. For exa
 
 ## Lean JavaScript
 
-Bootstrap’s JavaScript includes every component in our primary dist files (`bootstrap.js` and `bootstrap.min.js`), and even our primary dependency (Popper) with our bundle files (`bootstrap.bundle.js` and `bootstrap.bundle.min.js`). While you’re customizing via Sass, be sure to remove related JavaScript.
+Bootstrap’s JavaScript includes every component in our primary dist files (`bootstrap.js` and `bootstrap.min.js`), and even our primary dependency (Floating UI) with our bundle files (`bootstrap.bundle.js` and `bootstrap.bundle.min.js`). While you’re customizing via Sass, be sure to remove related JavaScript.
 
 For instance, assuming you’re using your own JavaScript bundler like Webpack, Parcel, or Vite, you’d only import the JavaScript you plan on using. In the example below, we show how to just include our dialog JavaScript:
 
@@ -35,7 +35,7 @@ import 'bootstrap/js/dist/dialog';
 // import 'bootstrap/js/dist/tooltip';
 ```
 
-This way, you’re not including any JavaScript you don’t intend to use for components like buttons, carousels, and tooltips. If you’re importing dropdowns, tooltips or popovers, be sure to list the Popper dependency in your `package.json` file.
+This way, you’re not including any JavaScript you don’t intend to use for components like buttons, carousels, and tooltips. If you’re importing dropdowns, tooltips or popovers, be sure to list the Floating UI dependency in your `package.json` file.
 
 <Callout>
 **Heads up!** Files in `bootstrap/js/dist` use the **default export**. To use them, do the following:
index 60126bfa4f700095cb86c37f13ed93ceb880f9b6..3abe8f3e40206a93b9c8a04a3308de51269f7c34 100644 (file)
@@ -11,7 +11,7 @@ Download ready-to-use compiled code for **Bootstrap v[[config:current_version]]*
 - Compiled and minified CSS bundles
 - Compiled and minified JavaScript plugins
 
-This doesn’t include documentation, source files, or any optional JavaScript dependencies like Popper.
+This doesn’t include documentation, source files, or any optional JavaScript dependencies like Floating UI.
 
 <a href="[[config:download.dist]]" class="btn btn-bd-primary">Download</a>
 
@@ -41,7 +41,7 @@ Skip the download with [jsDelivr](https://www.jsdelivr.com/) to deliver cached v
 <script src="[[config:cdn.js_bundle]]" integrity="[[config:cdn.js_bundle_hash]]" crossorigin="anonymous"></script>
 ```
 
-If you’re using our compiled JavaScript and prefer to include Floating UI separately, add Popper before our JS, via a CDN preferably.
+If you’re using our compiled JavaScript and prefer to include Floating UI separately, add Floating UI before our JS, via a CDN preferably.
 
 ```html
 <script src="[[config:cdn.floating_ui]]" integrity="[[config:cdn.floating_ui_hash]]" crossorigin="anonymous"></script>
index 9d326a768c436d86963435073f30357a2959be50..7e15e4baa091bbf0a29ae0bd269b93cea3ffc5e1 100644 (file)
@@ -83,7 +83,7 @@ Here are our primary CDN links for CSS and JavaScript:
 <script src="[[config:cdn.js_bundle]]" integrity="[[config:cdn.js_bundle_hash]]" crossorigin="anonymous"></script>
 ```
 
-If you’re using our compiled JavaScript and prefer to include Floating UI separately, add Popper before our JS, via a CDN preferably.
+If you’re using our compiled JavaScript and prefer to include Floating UI separately, add Floating UI before our JS, via a CDN preferably.
 
 ```html
 <script src="[[config:cdn.floating_ui]]" integrity="[[config:cdn.floating_ui_hash]]" crossorigin="anonymous"></script>
@@ -94,7 +94,7 @@ If you’re using our compiled JavaScript and prefer to include Floating UI sepa
 | File type | URL |
 | --- | --- |
 | CSS | [`[[config:cdn.css]]`]([[config:cdn.css]]) |
-| JS (with Popper) | [`[[config:cdn.js_bundle]]`]([[config:cdn.js_bundle]]) |
+| JS (with Floating UI) | [`[[config:cdn.js_bundle]]`]([[config:cdn.js_bundle]]) |
 </BsTable>
 
 ### Using CDNs
@@ -130,7 +130,7 @@ You can also do the old fashioned thing and download Bootstrap manually. Choose
 <BsTable>
 | Type | Description | Link |
 | --- | --- | --- |
-| <strong class="text-nowrap">Distribution files</strong> | Ready-to-use compiled and minified CSS and JavaScript files. Doesn't include documentation, source files, or dependencies like Popper. | <a href="[[config:download.dist]]" class="btn btn-subtle theme-accent">Download</a> |
+| <strong class="text-nowrap">Distribution files</strong> | Ready-to-use compiled and minified CSS and JavaScript files. Doesn't include documentation, source files, or dependencies like Floating UI. | <a href="[[config:download.dist]]" class="btn btn-subtle theme-accent">Download</a> |
 | <strong class="text-nowrap">Source files</strong> | Sass, JavaScript, and documentation files for compiling with your own asset pipeline. Requires [Sass compiler]([[docsref:/guides/contribute#sass]]), [Autoprefixer](https://github.com/postcss/autoprefixer), and a JavaScript bundler like [Rollup](https://rollupjs.org/) or [Webpack](https://webpack.js.org/). | <a href="[[config:download.source]]" class="btn btn-subtle theme-accent">Download</a> |
 </BsTable>
 
index d34af528bbd1cac9ae9f1c6191a07945cae6a51f..e0e7c1227cb621f24da601319e48e3a923e1ded1 100644 (file)
@@ -6,7 +6,7 @@ toc: true
 
 ## JS components
 
-Curious which components explicitly require our JavaScript and Popper?
+Curious which components explicitly require our JavaScript and Floating UI?
 
 - Accordions for extending our Collapse plugin
 - Alerts for dismissing
@@ -59,7 +59,7 @@ We provide a version of Bootstrap built as `ESM` (`bootstrap.esm.js` and `bootst
 </script>
 ```
 
-Compared to JS bundlers, using ESM in the browser requires you to use the full path and filename instead of the module name. [Read more about JS modules in the browser.](https://v8.dev/features/modules#specifiers) That’s why we use `'bootstrap.esm.min.js'` instead of `'bootstrap'` above. However, this is further complicated by our Popper dependency, which imports Popper into our JavaScript like so:
+Compared to JS bundlers, using ESM in the browser requires you to use the full path and filename instead of the module name. [Read more about JS modules in the browser.](https://v8.dev/features/modules#specifiers) That’s why we use `'bootstrap.esm.min.js'` instead of `'bootstrap'` above. However, this is further complicated by our Floating UI dependency, which imports Floating UI into our JavaScript like so:
 
 ```js
 import * as Popper from "@floating-ui/dom"
@@ -71,7 +71,7 @@ If you try this as-is, you’ll see an error in the console like the following:
 Uncaught TypeError: Failed to resolve module specifier "@floating-ui/dom". Relative references must start with either "/", "./", or "../".
 ```
 
-To fix this, you can use an `importmap` to resolve the arbitrary module names to complete paths. If your [targeted browsers](https://caniuse.com/?search=importmap) do not support `importmap`, you’ll need to use the [es-module-shims](https://github.com/guybedford/es-module-shims) project. Here’s how it works for Bootstrap and Popper:
+To fix this, you can use an `importmap` to resolve the arbitrary module names to complete paths. If your [targeted browsers](https://caniuse.com/?search=importmap) do not support `importmap`, you’ll need to use the [es-module-shims](https://github.com/guybedford/es-module-shims) project. Here’s how it works for Bootstrap and Floating UI:
 
 ```html
 <!doctype html>
index c475bd1df4d0eec39da759d5be363ad81eacb2cb..d81e5badc12a8cf0f37b830d2f0d3418b67b3446 100644 (file)
@@ -89,10 +89,10 @@ Here's a modified RTL starter template:
 
     <!-- Optional JavaScript; choose one of the two! -->
 
-    <!-- Option 1: Bootstrap Bundle with Popper -->
+    <!-- Option 1: Bootstrap Bundle with Floating UI -->
     <script src="[[config:cdn.js_bundle]]" integrity="[[config:cdn.js_bundle_hash]]" crossorigin="anonymous"></script>
 
-    <!-- Option 2: Separate Popper and Bootstrap JS -->
+    <!-- Option 2: Separate Floating UI and Bootstrap JS -->
     <!--
     <script src="[[config:cdn.floating_ui]]" integrity="[[config:cdn.floating_ui_hash]]" crossorigin="anonymous"></script>
     <script src="[[config:cdn.js]]" integrity="[[config:cdn.js_hash]]" crossorigin="anonymous"></script>
index 4fe2a720d2d8e3874f962e9dc8bbe59df5c1af03..1cb47c56bedb6ffe9923a824cab034e24256beb1 100644 (file)
@@ -22,10 +22,10 @@ We’re building a npm project with Bootstrap from scratch, so there are some pr
    npm init -y
    ```
 
-2. **Install Bootstrap.** Now we can install Bootstrap. We'll also install Popper since our dropdowns, popovers, and tooltips depend on it for their positioning. If you don’t plan on using those components, you can omit Popper here.
+2. **Install Bootstrap.** Now we can install Bootstrap. We'll also install Floating UI since our dropdowns, popovers, and tooltips depend on it for their positioning. If you don’t plan on using those components, you can omit Floating UI here.
 
    ```sh
-   npm i --save bootstrap @popperjs/core
+   npm i --save bootstrap @floating-ui/dom
    ```
 3. **Install additional dependencies.** In addition to Vite and Bootstrap, we have some dependencies used to import and bundle Bootstrap’s CSS. Sass compiles our source `.scss` files into CSS and then Autoprefixer and PostCSS handle browser compatibility. We install the `postcss-cli` package so we can work with PostCSS via CLI.
 
index ca45104d6838e996712e9cbe147274f7a45ab6ae..2cf23306923400c654d8e32ca28e30c4f3caacd0 100644 (file)
@@ -32,10 +32,10 @@ We’re building a Parcel project with Bootstrap from scratch, so there are some
    npm i --save-dev parcel
    ```
 
-3. **Install Bootstrap.** Now we can install Bootstrap. We'll also install Popper since our dropdowns, popovers, and tooltips depend on it for their positioning. If you don’t plan on using those components, you can omit Popper here.
+3. **Install Bootstrap.** Now we can install Bootstrap. We'll also install Floating UI since our dropdowns, popovers, and tooltips depend on it for their positioning. If you don’t plan on using those components, you can omit Floating UI here.
 
    ```sh
-   npm i --save bootstrap @popperjs/core
+   npm i --save bootstrap @floating-ui/dom
    ```
 
 Now that we have all the necessary dependencies installed, we can get to work creating the project files and importing Bootstrap.
@@ -138,7 +138,7 @@ Importing Bootstrap into Parcel requires two imports, one into our `styles.scss`
    }
    ```
 
-2. **Import Bootstrap’s JS.** Add the following to `src/js/main.js` to import all of Bootstrap’s JS. Popper will be imported automatically through Bootstrap.
+2. **Import Bootstrap’s JS.** Add the following to `src/js/main.js` to import all of Bootstrap’s JS. Floating UI will be imported automatically through Bootstrap.
 
    ```js
    // Import all of Bootstrap’s JS
index f029999dbfb6617302b426a979077236fd05e6fd..0af7c56c90239934e4e7a7b4d4b51e6727eae473 100644 (file)
@@ -25,7 +25,7 @@ Get started using Bootstrap in seconds by including our production-ready CSS and
    </html>
    ```
 
-2. **Include Bootstrap’s CSS and JS.** Place the `<link>` tag in the `<head>` for our CSS, and the `<script>` tag for our JavaScript bundle (including Popper for positioning dropdowns, popovers, and tooltips) before the closing `</body>`. Learn more about [our CDN links]([[docsref:/getting-started/install#cdn]]).
+2. **Include Bootstrap’s CSS and JS.** Place the `<link>` tag in the `<head>` for our CSS, and the `<script>` tag for our JavaScript bundle (including Floating UI for positioning dropdowns, popovers, and tooltips) before the closing `</body>`. Learn more about [our CDN links]([[docsref:/getting-started/install#cdn]]).
 
    ```html
    <!doctype html>
@@ -43,7 +43,7 @@ Get started using Bootstrap in seconds by including our production-ready CSS and
    </html>
    ```
 
-   You can also include [Floating UI](https://floating-ui.com/) and our JS separately. If you don’t plan to use dropdowns, popovers, or tooltips, save some kilobytes by not including Popper.
+   You can also include [Floating UI](https://floating-ui.com/) and our JS separately. If you don’t plan to use dropdowns, popovers, or tooltips, save some kilobytes by not including Floating UI.
 
    ```html
    <script src="[[config:cdn.floating_ui]]" integrity="[[config:cdn.floating_ui_hash]]" crossorigin="anonymous"></script>
index 6243b47d3cfe869dec3e70e582c71a665a4cec33..aa0a617c5ab70e5327904a0a54ac913ac09b8413 100644 (file)
@@ -32,10 +32,10 @@ We’re building a Vite project with Bootstrap from scratch, so there are some p
    npm i --save-dev vite
    ```
 
-3. **Install Bootstrap.** Now we can install Bootstrap. We'll also install Popper since our dropdowns, popovers, and tooltips depend on it for their positioning. If you don’t plan on using those components, you can omit Popper here.
+3. **Install Bootstrap.** Now we can install Bootstrap. We'll also install Floating UI since our dropdowns, popovers, and tooltips depend on it for their positioning. If you don’t plan on using those components, you can omit Floating UI here.
 
    ```sh
-   npm i --save bootstrap @popperjs/core
+   npm i --save bootstrap @floating-ui/dom
    ```
 
 4. **Install additional dependency.** In addition to Vite and Bootstrap, we need another dependency (Sass) to properly import and bundle Bootstrap’s CSS.
@@ -163,7 +163,7 @@ In the next and final section to this guide, we’ll import all of Bootstrap’s
 
    *You can also import our stylesheets individually if you want. [Read our Sass import docs]([[docsref:/customize/sass#importing]]) for details.*
 
-2. **Next we load the CSS and import Bootstrap’s JavaScript.** Add the following to `src/js/main.js` to load the CSS and import all of Bootstrap’s JS. Popper will be imported automatically through Bootstrap.
+2. **Next we load the CSS and import Bootstrap’s JavaScript.** Add the following to `src/js/main.js` to load the CSS and import all of Bootstrap’s JS. Floating UI will be imported automatically through Bootstrap.
 
    ```js
    // Import our custom CSS
index 6e0efd9510449b396e7190e944420d1527263dfa..0936a96cefefde4faf13bea01ab1f1825a1afb0a 100644 (file)
@@ -32,10 +32,10 @@ We’re building a Webpack project with Bootstrap from scratch, so there are som
    npm i --save-dev webpack webpack-cli webpack-dev-server html-webpack-plugin
    ```
 
-3. **Install Bootstrap.** Now we can install Bootstrap. We'll also install Popper since our dropdowns, popovers, and tooltips depend on it for their positioning. If you don’t plan on using those components, you can omit Popper here.
+3. **Install Bootstrap.** Now we can install Bootstrap. We'll also install Floating UI since our dropdowns, popovers, and tooltips depend on it for their positioning. If you don’t plan on using those components, you can omit Floating UI here.
 
    ```sh
-   npm i --save bootstrap @popperjs/core
+   npm i --save bootstrap @floating-ui/dom
    ```
 
 4. **Install additional dependencies.** In addition to Webpack and Bootstrap, we need a few more dependencies to properly import and bundle Bootstrap’s CSS and JS with Webpack. These include Sass, some loaders, and Autoprefixer.
@@ -234,7 +234,7 @@ Importing Bootstrap into Webpack requires the loaders we installed in the first
 
    *You can also import our stylesheets individually if you want. [Read our Sass import docs]([[docsref:/customize/sass#importing]]) for details.*
 
-3. **Next we load the CSS and import Bootstrap’s JavaScript.** Add the following to `src/js/main.js` to load the CSS and import all of Bootstrap’s JS. Popper will be imported automatically through Bootstrap.
+3. **Next we load the CSS and import Bootstrap’s JavaScript.** Add the following to `src/js/main.js` to load the CSS and import all of Bootstrap’s JS. Floating UI will be imported automatically through Bootstrap.
 
    ```js
    // Import our custom CSS
index cceae46bc1e55864f3a629e306e1eae2480f332a..1ff418a877904c28d546bac93080ba8b3459d1ce 100644 (file)
@@ -1,6 +1,6 @@
 ---
 title: Migrating to v6
-description: Track and review changes to the Bootstrap source files, documentation, and components to help you migrate from v4 to v5.
+description: Track and review changes to the Bootstrap source files, documentation, and components to help you migrate from v5 to v6.
 aliases: "/migration/"
 toc: true
 ---
@@ -60,7 +60,7 @@ Bootstrap 6 is a major release with many breaking changes to modernize our codeb
 - **Updated lg, xl, and 2xl breakpoints and containers.**
   - Increased the `lg` breakpoint from 992px to 1024px; it's container remains the same at 960px.
   - Increased the `xl` breakpoint from 1200px to 1280px, and it's container from 1140px to 1200px.
-  - Renamed `2xl` to `2xl` for better scaling with additional custom breakpoints
+  - Renamed `xxl` to `2xl` for better scaling with additional custom breakpoints
   - Increased the `2xl` breakpoint from 1400px to 1536px, and it's container from 1320px to 1440px.
 
 ### Sass
@@ -74,7 +74,7 @@ Bootstrap 6 is a major release with many breaking changes to modernize our codeb
   - Removed `muted`, `black-50`, and `white-50` from text colors utilities map
   - Consolidated carousel dark variables, removing `$carousel-dark-indicator-active-bg`, `$carousel-dark-caption-color`, and `$carousel-dark-control-icon-filter` for their reassigned counterparts.
   - Removed `$btn-close-white-filter` for `$btn-close-filter-dark`.
-  - Removed `$border-radius-2xl`, use `$border-radius-2xl`.
+  - Removed `$border-radius-xxl`, use `$border-radius-2xl`.
   - Removed `$text-muted` for secondary color.
   - Removed `$hr-bg-color` for `$hr-border-color` and `$hr-height` for `$hr-border-width`.
   - Removed unused `$dropdown-header-padding` for the `-x`/`-y` split variables.