0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-02-26 23:54:23 +01:00

Merge branch 'main' into main-jd-add-chips
Some checks failed
BrowserStack / browserstack (push) Has been cancelled

This commit is contained in:
XhmikosR 2024-03-05 21:30:16 +02:00 committed by GitHub
commit 6cc3e44cad
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
418 changed files with 13292 additions and 10410 deletions

View File

@ -18,7 +18,7 @@
}, },
{ {
"path": "./dist/css/bootstrap-utilities.css", "path": "./dist/css/bootstrap-utilities.css",
"maxSize": "11.5 kB" "maxSize": "11.75 kB"
}, },
{ {
"path": "./dist/css/bootstrap-utilities.min.css", "path": "./dist/css/bootstrap-utilities.min.css",
@ -38,7 +38,7 @@
}, },
{ {
"path": "./dist/js/bootstrap.bundle.min.js", "path": "./dist/js/bootstrap.bundle.min.js",
"maxSize": "23.0 kB" "maxSize": "23.25 kB"
}, },
{ {
"path": "./dist/js/bootstrap.esm.js", "path": "./dist/js/bootstrap.esm.js",
@ -54,7 +54,7 @@
}, },
{ {
"path": "./dist/js/bootstrap.min.js", "path": "./dist/js/bootstrap.min.js",
"maxSize": "16.0 kB" "maxSize": "16.25 kB"
} }
], ],
"ci": { "ci": {

View File

@ -40,6 +40,7 @@
"dropright", "dropright",
"dropstart", "dropstart",
"dropup", "dropup",
"dgst",
"errorf", "errorf",
"favicon", "favicon",
"favicons", "favicons",
@ -108,6 +109,7 @@
"unstyled", "unstyled",
"Uppercased", "Uppercased",
"urlize", "urlize",
"urlquery",
"vbtn", "vbtn",
"viewports", "viewports",
"Vite", "Vite",

View File

@ -3,6 +3,5 @@
**/vendor/ **/vendor/
/_site/ /_site/
/js/coverage/ /js/coverage/
/js/tests/integration/
/site/static/sw.js /site/static/sw.js
/site/layouts/ /site/layouts/partials/

View File

@ -14,6 +14,35 @@
"error", "error",
"never" "never"
], ],
"import/extensions": [
"error",
"ignorePackages",
{
"js": "always"
}
],
"import/first": "error",
"import/newline-after-import": "error",
"import/no-absolute-path": "error",
"import/no-amd": "error",
"import/no-cycle": [
"error",
{
"ignoreExternal": true
}
],
"import/no-duplicates": "error",
"import/no-extraneous-dependencies": "error",
"import/no-mutable-exports": "error",
"import/no-named-as-default": "error",
"import/no-named-as-default-member": "error",
"import/no-named-default": "error",
"import/no-self-import": "error",
"import/no-unassigned-import": [
"error"
],
"import/no-useless-path-segments": "error",
"import/order": "error",
"indent": [ "indent": [
"error", "error",
2, 2,
@ -22,6 +51,7 @@
"SwitchCase": 1 "SwitchCase": 1
} }
], ],
"logical-assignment-operators": "off",
"max-params": [ "max-params": [
"warn", "warn",
5 5
@ -46,22 +76,147 @@
"error", "error",
"after" "after"
], ],
"prefer-object-has-own": "off",
"prefer-template": "error", "prefer-template": "error",
"semi": [ "semi": [
"error", "error",
"never" "never"
], ],
"strict": "error",
"unicorn/explicit-length-check": "off", "unicorn/explicit-length-check": "off",
"unicorn/filename-case": "off",
"unicorn/no-array-callback-reference": "off", "unicorn/no-array-callback-reference": "off",
"unicorn/no-array-method-this-argument": "off", "unicorn/no-array-method-this-argument": "off",
"unicorn/no-null": "off", "unicorn/no-null": "off",
"unicorn/no-typeof-undefined": "off", "unicorn/no-typeof-undefined": "off",
"unicorn/no-unused-properties": "error", "unicorn/no-unused-properties": "error",
"unicorn/numeric-separators-style": "off",
"unicorn/prefer-array-flat": "off", "unicorn/prefer-array-flat": "off",
"unicorn/prefer-at": "off",
"unicorn/prefer-dom-node-dataset": "off", "unicorn/prefer-dom-node-dataset": "off",
"unicorn/prefer-module": "off", "unicorn/prefer-module": "off",
"unicorn/prefer-query-selector": "off", "unicorn/prefer-query-selector": "off",
"unicorn/prefer-spread": "off", "unicorn/prefer-spread": "off",
"unicorn/prefer-string-replace-all": "off",
"unicorn/prevent-abbreviations": "off" "unicorn/prevent-abbreviations": "off"
},
"overrides": [
{
"files": [
"build/**"
],
"env": {
"browser": false,
"node": true
},
"parserOptions": {
"sourceType": "module"
},
"rules": {
"no-console": "off",
"unicorn/prefer-top-level-await": "off"
}
},
{
"files": [
"js/**"
],
"parserOptions": {
"sourceType": "module"
}
},
{
"files": [
"js/tests/*.js",
"js/tests/integration/rollup*.js"
],
"env": {
"node": true
},
"parserOptions": {
"sourceType": "script"
}
},
{
"files": [
"js/tests/unit/**"
],
"env": {
"jasmine": true
},
"rules": {
"no-console": "off",
"unicorn/consistent-function-scoping": "off",
"unicorn/no-useless-undefined": "off",
"unicorn/prefer-add-event-listener": "off"
}
},
{
"files": [
"js/tests/visual/**"
],
"plugins": [
"html"
],
"settings": {
"html/html-extensions": [
".html"
]
},
"rules": {
"no-console": "off",
"no-new": "off",
"unicorn/no-array-for-each": "off"
}
},
{
"files": [
"scss/tests/**"
],
"env": {
"node": true
},
"parserOptions": {
"sourceType": "script"
}
},
{
"files": [
"site/**"
],
"env": {
"browser": true,
"node": false
},
"parserOptions": {
"sourceType": "script",
"ecmaVersion": 2019
},
"rules": {
"no-new": "off",
"unicorn/no-array-for-each": "off"
}
},
{
"files": [
"**/*.md"
],
"plugins": [
"markdown"
],
"processor": "markdown/markdown"
},
{
"files": [
"**/*.md/*.js"
],
"extends": "plugin:markdown/recommended",
"parserOptions": {
"sourceType": "module"
},
"rules": {
"unicorn/prefer-node-protocol": "off"
} }
} }
]
}

View File

@ -31,6 +31,13 @@ restrictions:
Instead, please email any questions or feedback regarding those themes to `themes AT getbootstrap DOT com`. Instead, please email any questions or feedback regarding those themes to `themes AT getbootstrap DOT com`.
## Issues assignment
The core team will be looking at the open issues, analyze them, and provide guidance on how to proceed. **Issues won't be assigned to anyone outside the core team.** However, contributors are welcome to participate in the discussion and provide their input on how to best solve the issue, and even submit a PR if they want to. Please wait that the issue is ready to be worked on before submitting a PR, we don't want to waste your time.
Please keep in mind that the core team is small, has limited resources and that we are not always able to respond immediately. We will try to provide feedback as soon as possible, but please be patient. If you don't get a response immediately, it doesn't mean that we are ignoring you or that we don't care about your issue or PR. We will get back to you as soon as we can.
## Issues and labels ## Issues and labels
Our bug tracker utilizes several labels to help organize and identify issues. Here's what they represent and how we use them: Our bug tracker utilizes several labels to help organize and identify issues. Here's what they represent and how we use them:

View File

@ -9,7 +9,7 @@ on:
env: env:
FORCE_COLOR: 2 FORCE_COLOR: 2
NODE: 18 NODE: 20
permissions: permissions:
contents: read contents: read
@ -22,12 +22,12 @@ jobs:
steps: steps:
- name: Clone repository - name: Clone repository
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: "${{ env.NODE }}" node-version: "${{ env.NODE }}"
cache: npm cache: npm

View File

@ -9,7 +9,7 @@ on:
env: env:
FORCE_COLOR: 2 FORCE_COLOR: 2
NODE: 18 NODE: 20
permissions: permissions:
contents: read contents: read
@ -20,12 +20,12 @@ jobs:
steps: steps:
- name: Clone repository - name: Clone repository
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: "${{ env.NODE }}" node-version: "${{ env.NODE }}"
cache: npm cache: npm

View File

@ -8,15 +8,21 @@ on:
- '**.png' - '**.png'
- '**.webp' - '**.webp'
permissions:
contents: read
jobs: jobs:
build: build:
# Only run on Pull Requests within the same repository, and not from forks. # Only run on Pull Requests within the same repository, and not from forks.
if: github.event.pull_request.head.repo.full_name == github.repository if: github.event.pull_request.head.repo.full_name == github.repository
name: calibreapp/image-actions name: calibreapp/image-actions
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
# allow calibreapp/image-actions to update PRs
pull-requests: write
steps: steps:
- name: Checkout Repo - name: Clone repository
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false

View File

@ -24,21 +24,21 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v2 uses: github/codeql-action/init@v3
with: with:
config-file: ./.github/codeql/codeql-config.yml config-file: ./.github/codeql/codeql-config.yml
languages: "javascript" languages: "javascript"
queries: +security-and-quality queries: +security-and-quality
- name: Autobuild - name: Autobuild
uses: github/codeql-action/autobuild@v2 uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2 uses: github/codeql-action/analyze@v3
with: with:
category: "/language:javascript" category: "/language:javascript"

View File

@ -23,12 +23,12 @@ jobs:
steps: steps:
- name: Clone repository - name: Clone repository
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- name: Run cspell - name: Run cspell
uses: streetsidesoftware/cspell-action@v2 uses: streetsidesoftware/cspell-action@v6
with: with:
config: ".cspell.json" config: ".cspell.json"
files: "**/*.md" files: "**/*.md"

View File

@ -9,7 +9,7 @@ on:
env: env:
FORCE_COLOR: 2 FORCE_COLOR: 2
NODE: 18 NODE: 20
permissions: permissions:
contents: read contents: read
@ -20,12 +20,12 @@ jobs:
steps: steps:
- name: Clone repository - name: Clone repository
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: "${{ env.NODE }}" node-version: "${{ env.NODE }}"
cache: npm cache: npm

View File

@ -9,7 +9,7 @@ on:
env: env:
FORCE_COLOR: 2 FORCE_COLOR: 2
NODE: 18 NODE: 20
permissions: permissions:
contents: read contents: read
@ -20,12 +20,12 @@ jobs:
steps: steps:
- name: Clone repository - name: Clone repository
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: "${{ env.NODE }}" node-version: "${{ env.NODE }}"
cache: npm cache: npm

View File

@ -9,7 +9,7 @@ on:
env: env:
FORCE_COLOR: 2 FORCE_COLOR: 2
NODE: 18 NODE: 20
permissions: permissions:
contents: read contents: read
@ -25,12 +25,12 @@ jobs:
steps: steps:
- name: Clone repository - name: Clone repository
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: ${{ env.NODE }} node-version: ${{ env.NODE }}
cache: npm cache: npm
@ -46,6 +46,7 @@ jobs:
- name: Run Coveralls - name: Run Coveralls
uses: coverallsapp/github-action@v2 uses: coverallsapp/github-action@v2
if: ${{ !github.event.repository.fork }}
with: with:
github-token: "${{ secrets.GITHUB_TOKEN }}" github-token: "${{ secrets.GITHUB_TOKEN }}"
path-to-lcov: "./js/coverage/lcov.info" path-to-lcov: "./js/coverage/lcov.info"

View File

@ -9,7 +9,7 @@ on:
env: env:
FORCE_COLOR: 2 FORCE_COLOR: 2
NODE: 18 NODE: 20
permissions: permissions:
contents: read contents: read
@ -20,12 +20,12 @@ jobs:
steps: steps:
- name: Clone repository - name: Clone repository
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: "${{ env.NODE }}" node-version: "${{ env.NODE }}"
cache: npm cache: npm

View File

@ -9,7 +9,7 @@ on:
env: env:
FORCE_COLOR: 2 FORCE_COLOR: 2
NODE: 18 NODE: 20
permissions: permissions:
contents: read contents: read
@ -20,12 +20,12 @@ jobs:
steps: steps:
- name: Clone repository - name: Clone repository
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: "${{ env.NODE }}" node-version: "${{ env.NODE }}"
@ -34,3 +34,16 @@ jobs:
npx --package node-sass@latest node-sass --version npx --package node-sass@latest node-sass --version
npx --package node-sass@latest node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/ -o dist-sass/css/ npx --package node-sass@latest node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/ -o dist-sass/css/
ls -Al dist-sass/css ls -Al dist-sass/css
- name: Check built CSS files for Sass variables
shell: bash
run: |
SASS_VARS_FOUND=$(find "dist-sass/css/" -type f -name "*.css" -print0 | xargs -0 --no-run-if-empty grep -F "\$" || true)
if [[ -z "$SASS_VARS_FOUND" ]]; then
echo "All good, no Sass variables found!"
exit 0
else
echo "Found $(echo "$SASS_VARS_FOUND" | wc -l | bc) Sass variables:"
echo "$SASS_VARS_FOUND"
exit 1
fi

View File

@ -18,6 +18,6 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository == 'twbs/bootstrap' if: github.repository == 'twbs/bootstrap'
steps: steps:
- uses: release-drafter/release-drafter@v5 - uses: release-drafter/release-drafter@v6
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

1
.gitignore vendored
View File

@ -38,5 +38,6 @@ Thumbs.db
*.komodoproject *.komodoproject
# Folders to ignore # Folders to ignore
/dist-sass/
/js/coverage/ /js/coverage/
/node_modules/ /node_modules/

View File

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2011-2023 The Bootstrap Authors Copyright (c) 2011-2024 The Bootstrap Authors
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

View File

@ -46,11 +46,11 @@ Our default branch is for development of our Bootstrap 5 release. Head to the [`
Several quick start options are available: Several quick start options are available:
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v5.3.0-alpha1.zip) - [Download the latest release](https://github.com/twbs/bootstrap/archive/v5.3.3.zip)
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git` - Clone the repo: `git clone https://github.com/twbs/bootstrap.git`
- Install with [npm](https://www.npmjs.com/): `npm install bootstrap@v5.3.0-alpha1` - Install with [npm](https://www.npmjs.com/): `npm install bootstrap@v5.3.3`
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@v5.3.0-alpha1` - Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@v5.3.3`
- Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:5.3.0-alpha1` - Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:5.3.3`
- Install with [NuGet](https://www.nuget.org/): CSS: `Install-Package bootstrap` Sass: `Install-Package bootstrap.sass` - Install with [NuGet](https://www.nuget.org/): CSS: `Install-Package bootstrap` Sass: `Install-Package bootstrap.sass`
Read the [Getting started page](https://getbootstrap.com/docs/5.3/getting-started/introduction/) for information on the framework contents, templates, examples, and more. Read the [Getting started page](https://getbootstrap.com/docs/5.3/getting-started/introduction/) for information on the framework contents, templates, examples, and more.
@ -58,7 +58,7 @@ Read the [Getting started page](https://getbootstrap.com/docs/5.3/getting-starte
## Status ## Status
[![Build Status](https://img.shields.io/github/actions/workflow/status/twbs/bootstrap/js.yml?branch=main&label=JS%20Tests&logo=github)](https://github.com/twbs/bootstrap/actions?query=workflow%3AJS+Tests+branch%3Amain) [![Build Status](https://img.shields.io/github/actions/workflow/status/twbs/bootstrap/js.yml?branch=main&label=JS%20Tests&logo=github)](https://github.com/twbs/bootstrap/actions/workflows/js.yml?query=workflow%3AJS+branch%3Amain)
[![npm version](https://img.shields.io/npm/v/bootstrap?logo=npm&logoColor=fff)](https://www.npmjs.com/package/bootstrap) [![npm version](https://img.shields.io/npm/v/bootstrap?logo=npm&logoColor=fff)](https://www.npmjs.com/package/bootstrap)
[![Gem version](https://img.shields.io/gem/v/bootstrap?logo=rubygems&logoColor=fff)](https://rubygems.org/gems/bootstrap) [![Gem version](https://img.shields.io/gem/v/bootstrap?logo=rubygems&logoColor=fff)](https://rubygems.org/gems/bootstrap)
[![Meteor Atmosphere](https://img.shields.io/badge/meteor-twbs%3Abootstrap-blue?logo=meteor&logoColor=fff)](https://atmospherejs.com/twbs/bootstrap) [![Meteor Atmosphere](https://img.shields.io/badge/meteor-twbs%3Abootstrap-blue?logo=meteor&logoColor=fff)](https://atmospherejs.com/twbs/bootstrap)
@ -69,7 +69,6 @@ Read the [Getting started page](https://getbootstrap.com/docs/5.3/getting-starte
[![CSS Brotli size](https://img.badgesize.io/twbs/bootstrap/main/dist/css/bootstrap.min.css?compression=brotli&label=CSS%20Brotli%20size)](https://github.com/twbs/bootstrap/blob/main/dist/css/bootstrap.min.css) [![CSS Brotli size](https://img.badgesize.io/twbs/bootstrap/main/dist/css/bootstrap.min.css?compression=brotli&label=CSS%20Brotli%20size)](https://github.com/twbs/bootstrap/blob/main/dist/css/bootstrap.min.css)
[![JS gzip size](https://img.badgesize.io/twbs/bootstrap/main/dist/js/bootstrap.min.js?compression=gzip&label=JS%20gzip%20size)](https://github.com/twbs/bootstrap/blob/main/dist/js/bootstrap.min.js) [![JS gzip size](https://img.badgesize.io/twbs/bootstrap/main/dist/js/bootstrap.min.js?compression=gzip&label=JS%20gzip%20size)](https://github.com/twbs/bootstrap/blob/main/dist/js/bootstrap.min.js)
[![JS Brotli size](https://img.badgesize.io/twbs/bootstrap/main/dist/js/bootstrap.min.js?compression=brotli&label=JS%20Brotli%20size)](https://github.com/twbs/bootstrap/blob/main/dist/js/bootstrap.min.js) [![JS Brotli size](https://img.badgesize.io/twbs/bootstrap/main/dist/js/bootstrap.min.js?compression=brotli&label=JS%20Brotli%20size)](https://github.com/twbs/bootstrap/blob/main/dist/js/bootstrap.min.js)
[![BrowserStack Status](https://www.browserstack.com/automate/badge.svg?badge_key=SkxZcStBeExEdVJqQ2hWYnlWckpkNmNEY213SFp6WHFETWk2bGFuY3pCbz0tLXhqbHJsVlZhQnRBdEpod3NLSDMzaHc9PQ==--3d0b75245708616eb93113221beece33e680b229)](https://www.browserstack.com/automate/public-build/SkxZcStBeExEdVJqQ2hWYnlWckpkNmNEY213SFp6WHFETWk2bGFuY3pCbz0tLXhqbHJsVlZhQnRBdEpod3NLSDMzaHc9PQ==--3d0b75245708616eb93113221beece33e680b229)
[![Backers on Open Collective](https://img.shields.io/opencollective/backers/bootstrap?logo=opencollective&logoColor=fff)](#backers) [![Backers on Open Collective](https://img.shields.io/opencollective/backers/bootstrap?logo=opencollective&logoColor=fff)](#backers)
[![Sponsors on Open Collective](https://img.shields.io/opencollective/sponsors/bootstrap?logo=opencollective&logoColor=fff)](#sponsors) [![Sponsors on Open Collective](https://img.shields.io/opencollective/sponsors/bootstrap?logo=opencollective&logoColor=fff)](#sponsors)
@ -177,7 +176,8 @@ Get updates on Bootstrap's development and chat with the project maintainers and
- Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap). - Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap).
- Read and subscribe to [The Official Bootstrap Blog](https://blog.getbootstrap.com/). - Read and subscribe to [The Official Bootstrap Blog](https://blog.getbootstrap.com/).
- Ask and explore [our GitHub Discussions](https://github.com/twbs/bootstrap/discussions). - Ask questions and explore [our GitHub Discussions](https://github.com/twbs/bootstrap/discussions).
- Discuss, ask questions, and more on [the community Discord](https://discord.gg/bZUvakRU3M) or [Bootstrap subreddit](https://reddit.com/r/bootstrap).
- Chat with fellow Bootstrappers in IRC. On the `irc.libera.chat` server, in the `#bootstrap` channel. - Chat with fellow Bootstrappers in IRC. On the `irc.libera.chat` server, in the `#bootstrap` channel.
- Implementation help may be found at Stack Overflow (tagged [`bootstrap-5`](https://stackoverflow.com/questions/tagged/bootstrap-5)). - Implementation help may be found at Stack Overflow (tagged [`bootstrap-5`](https://stackoverflow.com/questions/tagged/bootstrap-5)).
- Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability. - Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability.
@ -243,4 +243,4 @@ Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com
## Copyright and license ## Copyright and license
Code and documentation copyright 20112023 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors). Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/main/LICENSE). Docs released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/). Code and documentation copyright 20112024 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors). Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/main/LICENSE). Docs released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/).

View File

@ -1,15 +0,0 @@
{
"env": {
"browser": false,
"node": true
},
"parserOptions": {
"sourceType": "script"
},
"extends": "../.eslintrc.json",
"rules": {
"no-console": "off",
"strict": "error",
"unicorn/prefer-top-level-await": "off"
}
}

View File

@ -1,6 +1,12 @@
'use strict' import fs from 'node:fs/promises'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
const __dirname = path.dirname(fileURLToPath(import.meta.url))
const pkgJson = path.join(__dirname, '../package.json')
const pkg = JSON.parse(await fs.readFile(pkgJson, 'utf8'))
const pkg = require('../package.json')
const year = new Date().getFullYear() const year = new Date().getFullYear()
function getBanner(pluginFilename) { function getBanner(pluginFilename) {
@ -11,4 +17,4 @@ function getBanner(pluginFilename) {
*/` */`
} }
module.exports = getBanner export default getBanner

View File

@ -2,17 +2,19 @@
/*! /*!
* Script to build our plugins to use them separately. * Script to build our plugins to use them separately.
* Copyright 2020-2023 The Bootstrap Authors * Copyright 2020-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
'use strict' import path from 'node:path'
import { fileURLToPath } from 'node:url'
import { babel } from '@rollup/plugin-babel'
import globby from 'globby'
import { rollup } from 'rollup'
import banner from './banner.mjs'
const path = require('node:path') const __filename = fileURLToPath(import.meta.url)
const rollup = require('rollup') const __dirname = path.dirname(fileURLToPath(import.meta.url))
const globby = require('globby')
const { babel } = require('@rollup/plugin-babel')
const banner = require('./banner.js')
const sourcePath = path.resolve(__dirname, '../js/src/').replace(/\\/g, '/') const sourcePath = path.resolve(__dirname, '../js/src/').replace(/\\/g, '/')
const jsFiles = globby.sync(`${sourcePath}/**/*.js`) const jsFiles = globby.sync(`${sourcePath}/**/*.js`)
@ -37,7 +39,7 @@ for (const file of jsFiles) {
const build = async plugin => { const build = async plugin => {
const globals = {} const globals = {}
const bundle = await rollup.rollup({ const bundle = await rollup({
input: plugin.src, input: plugin.src,
plugins: [ plugins: [
babel({ babel({

View File

@ -1,80 +0,0 @@
#!/usr/bin/env node
/*!
* Script to update version number references in the project.
* Copyright 2017-2023 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
'use strict'
const fs = require('node:fs').promises
const path = require('node:path')
const globby = require('globby')
const VERBOSE = process.argv.includes('--verbose')
const DRY_RUN = process.argv.includes('--dry') || process.argv.includes('--dry-run')
// These are the filetypes we only care about replacing the version
const GLOB = [
'**/*.{css,html,js,json,md,scss,txt,yml}'
]
const GLOBBY_OPTIONS = {
cwd: path.join(__dirname, '..'),
gitignore: true
}
// Blame TC39... https://github.com/benjamingr/RegExp.escape/issues/37
function regExpQuote(string) {
return string.replace(/[$()*+-.?[\\\]^{|}]/g, '\\$&')
}
function regExpQuoteReplacement(string) {
return string.replace(/\$/g, '$$')
}
async function replaceRecursively(file, oldVersion, newVersion) {
const originalString = await fs.readFile(file, 'utf8')
const newString = originalString.replace(
new RegExp(regExpQuote(oldVersion), 'g'), regExpQuoteReplacement(newVersion)
)
// No need to move any further if the strings are identical
if (originalString === newString) {
return
}
if (VERBOSE) {
console.log(`FILE: ${file}`)
}
if (DRY_RUN) {
return
}
await fs.writeFile(file, newString, 'utf8')
}
async function main(args) {
let [oldVersion, newVersion] = args
if (!oldVersion || !newVersion) {
console.error('USAGE: change-version old_version new_version [--verbose] [--dry[-run]]')
console.error('Got arguments:', args)
process.exit(1)
}
// Strip any leading `v` from arguments because otherwise we will end up with duplicate `v`s
[oldVersion, newVersion] = [oldVersion, newVersion].map(arg => arg.startsWith('v') ? arg.slice(1) : arg)
try {
const files = await globby(GLOB, GLOBBY_OPTIONS)
await Promise.all(files.map(file => replaceRecursively(file, oldVersion, newVersion)))
} catch (error) {
console.error(error)
process.exit(1)
}
}
main(process.argv.slice(2))

113
build/change-version.mjs Normal file
View File

@ -0,0 +1,113 @@
#!/usr/bin/env node
/*!
* Script to update version number references in the project.
* Copyright 2017-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
import { execFile } from 'node:child_process'
import fs from 'node:fs/promises'
import process from 'node:process'
const VERBOSE = process.argv.includes('--verbose')
const DRY_RUN = process.argv.includes('--dry') || process.argv.includes('--dry-run')
// These are the files we only care about replacing the version
const FILES = [
'README.md',
'hugo.yml',
'js/src/base-component.js',
'package.js',
'scss/mixins/_banner.scss',
'site/data/docs-versions.yml'
]
// Blame TC39... https://github.com/benjamingr/RegExp.escape/issues/37
function regExpQuote(string) {
return string.replace(/[$()*+-.?[\\\]^{|}]/g, '\\$&')
}
function regExpQuoteReplacement(string) {
return string.replace(/\$/g, '$$')
}
async function replaceRecursively(file, oldVersion, newVersion) {
const originalString = await fs.readFile(file, 'utf8')
const newString = originalString
.replace(
new RegExp(regExpQuote(oldVersion), 'g'),
regExpQuoteReplacement(newVersion)
)
// Also replace the version used by the rubygem,
// which is using periods (`.`) instead of hyphens (`-`)
.replace(
new RegExp(regExpQuote(oldVersion.replace(/-/g, '.')), 'g'),
regExpQuoteReplacement(newVersion.replace(/-/g, '.'))
)
// No need to move any further if the strings are identical
if (originalString === newString) {
return
}
if (VERBOSE) {
console.log(`Found ${oldVersion} in ${file}`)
}
if (DRY_RUN) {
return
}
await fs.writeFile(file, newString, 'utf8')
}
function bumpNpmVersion(newVersion) {
if (DRY_RUN) {
return
}
execFile('npm', ['version', newVersion, '--no-git-tag'], { shell: true }, error => {
if (error) {
console.error(error)
process.exit(1)
}
})
}
function showUsage(args) {
console.error('USAGE: change-version old_version new_version [--verbose] [--dry[-run]]')
console.error('Got arguments:', args)
process.exit(1)
}
async function main(args) {
let [oldVersion, newVersion] = args
if (!oldVersion || !newVersion) {
showUsage(args)
}
// Strip any leading `v` from arguments because
// otherwise we will end up with duplicate `v`s
[oldVersion, newVersion] = [oldVersion, newVersion].map(arg => {
return arg.startsWith('v') ? arg.slice(1) : arg
})
if (oldVersion === newVersion) {
showUsage(args)
}
bumpNpmVersion(newVersion)
try {
await Promise.all(
FILES.map(file => replaceRecursively(file, oldVersion, newVersion))
)
} catch (error) {
console.error(error)
process.exit(1)
}
}
main(process.argv.slice(2))

View File

@ -5,24 +5,25 @@
* Remember to use the same vendor files as the CDN ones, * Remember to use the same vendor files as the CDN ones,
* otherwise the hashes won't match! * otherwise the hashes won't match!
* *
* Copyright 2017-2023 The Bootstrap Authors * Copyright 2017-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
'use strict' import crypto from 'node:crypto'
import fs from 'node:fs'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
import sh from 'shelljs'
const crypto = require('node:crypto') const __dirname = path.dirname(fileURLToPath(import.meta.url))
const fs = require('node:fs')
const path = require('node:path')
const sh = require('shelljs')
sh.config.fatal = true sh.config.fatal = true
const configFile = path.join(__dirname, '../config.yml') const configFile = path.join(__dirname, '../hugo.yml')
// Array of objects which holds the files to generate SRI hashes for. // Array of objects which holds the files to generate SRI hashes for.
// `file` is the path from the root folder // `file` is the path from the root folder
// `configPropertyName` is the config.yml variable's name of the file // `configPropertyName` is the hugo.yml variable's name of the file
const files = [ const files = [
{ {
file: 'dist/css/bootstrap.min.css', file: 'dist/css/bootstrap.min.css',
@ -46,18 +47,18 @@ const files = [
} }
] ]
for (const file of files) { for (const { file, configPropertyName } of files) {
fs.readFile(file.file, 'utf8', (error, data) => { fs.readFile(file, 'utf8', (error, data) => {
if (error) { if (error) {
throw error throw error
} }
const algo = 'sha384' const algorithm = 'sha384'
const hash = crypto.createHash(algo).update(data, 'utf8').digest('base64') const hash = crypto.createHash(algorithm).update(data, 'utf8').digest('base64')
const integrity = `${algo}-${hash}` const integrity = `${algorithm}-${hash}`
console.log(`${file.configPropertyName}: ${integrity}`) console.log(`${configPropertyName}: ${integrity}`)
sh.sed('-i', new RegExp(`^(\\s+${file.configPropertyName}:\\s+["'])\\S*(["'])`), `$1${integrity}$2`, configFile) sh.sed('-i', new RegExp(`^(\\s+${configPropertyName}:\\s+["'])\\S*(["'])`), `$1${integrity}$2`, configFile)
}) })
} }

View File

@ -1,12 +1,10 @@
'use strict'
const mapConfig = { const mapConfig = {
inline: false, inline: false,
annotation: true, annotation: true,
sourcesContent: true sourcesContent: true
} }
module.exports = context => { export default context => {
return { return {
map: context.file.dirname.includes('examples') ? false : mapConfig, map: context.file.dirname.includes('examples') ? false : mapConfig,
plugins: { plugins: {

View File

@ -1,15 +1,17 @@
'use strict' import path from 'node:path'
import process from 'node:process'
import { fileURLToPath } from 'node:url'
import { babel } from '@rollup/plugin-babel'
import { nodeResolve } from '@rollup/plugin-node-resolve'
import replace from '@rollup/plugin-replace'
import banner from './banner.mjs'
const path = require('node:path') const __dirname = path.dirname(fileURLToPath(import.meta.url))
const { babel } = require('@rollup/plugin-babel')
const { nodeResolve } = require('@rollup/plugin-node-resolve')
const replace = require('@rollup/plugin-replace')
const banner = require('./banner.js')
const BUNDLE = process.env.BUNDLE === 'true' const BUNDLE = process.env.BUNDLE === 'true'
const ESM = process.env.ESM === 'true' const ESM = process.env.ESM === 'true'
let fileDestination = `bootstrap${ESM ? '.esm' : ''}` let destinationFile = `bootstrap${ESM ? '.esm' : ''}`
const external = ['@popperjs/core'] const external = ['@popperjs/core']
const plugins = [ const plugins = [
babel({ babel({
@ -24,7 +26,7 @@ const globals = {
} }
if (BUNDLE) { if (BUNDLE) {
fileDestination += '.bundle' destinationFile += '.bundle'
// Remove last entry in external array to bundle Popper // Remove last entry in external array to bundle Popper
external.pop() external.pop()
delete globals['@popperjs/core'] delete globals['@popperjs/core']
@ -41,7 +43,7 @@ const rollupConfig = {
input: path.resolve(__dirname, `../js/index.${ESM ? 'esm' : 'umd'}.js`), input: path.resolve(__dirname, `../js/index.${ESM ? 'esm' : 'umd'}.js`),
output: { output: {
banner: banner(), banner: banner(),
file: path.resolve(__dirname, `../dist/js/${fileDestination}.js`), file: path.resolve(__dirname, `../dist/js/${destinationFile}.js`),
format: ESM ? 'esm' : 'umd', format: ESM ? 'esm' : 'umd',
globals, globals,
generatedCode: 'es2015' generatedCode: 'es2015'
@ -54,4 +56,4 @@ if (!ESM) {
rollupConfig.output.name = 'bootstrap' rollupConfig.output.name = 'bootstrap'
} }
module.exports = rollupConfig export default rollupConfig

View File

@ -2,21 +2,22 @@
/*! /*!
* Script to run vnu-jar if Java is available. * Script to run vnu-jar if Java is available.
* Copyright 2017-2023 The Bootstrap Authors * Copyright 2017-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
'use strict' import { execFile, spawn } from 'node:child_process'
import vnu from 'vnu-jar'
const { execFile, spawn } = require('node:child_process')
const vnu = require('vnu-jar')
execFile('java', ['-version'], (error, stdout, stderr) => { execFile('java', ['-version'], (error, stdout, stderr) => {
if (error) { if (error) {
console.error('Skipping vnu-jar test; Java is missing.') console.error('Skipping vnu-jar test; Java is probably missing.')
console.error(error)
return return
} }
console.log('Running vnu-jar validation...')
const is32bitJava = !/64-Bit/.test(stderr) const is32bitJava = !/64-Bit/.test(stderr)
// vnu-jar accepts multiple ignores joined with a `|`. // vnu-jar accepts multiple ignores joined with a `|`.
@ -48,6 +49,8 @@ execFile('java', ['-version'], (error, stdout, stderr) => {
args.splice(0, 0, '-Xss512k') args.splice(0, 0, '-Xss512k')
} }
console.log(`command used: java ${args.join(' ')}`)
return spawn('java', args, { return spawn('java', args, {
shell: true, shell: true,
stdio: 'inherit' stdio: 'inherit'

View File

@ -3,16 +3,19 @@
/*! /*!
* Script to create the built examples zip archive; * Script to create the built examples zip archive;
* requires the `zip` command to be present! * requires the `zip` command to be present!
* Copyright 2020-2023 The Bootstrap Authors * Copyright 2020-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
'use strict' import fs from 'node:fs/promises'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
import sh from 'shelljs'
const path = require('node:path') const __dirname = path.dirname(fileURLToPath(import.meta.url))
const sh = require('shelljs')
const pkg = require('../package.json') const pkgJson = path.join(__dirname, '../package.json')
const pkg = JSON.parse(await fs.readFile(pkgJson, 'utf8'))
const versionShort = pkg.config.version_short const versionShort = pkg.config.version_short
const distFolder = `bootstrap-${pkg.version}-examples` const distFolder = `bootstrap-${pkg.version}-examples`
@ -34,6 +37,9 @@ const imgFiles = [
'bootstrap-logo.svg', 'bootstrap-logo.svg',
'bootstrap-logo-white.svg' 'bootstrap-logo-white.svg'
] ]
const staticJsFiles = [
'color-modes.js'
]
sh.config.fatal = true sh.config.fatal = true
@ -52,7 +58,8 @@ sh.mkdir('-p', [
distFolder, distFolder,
`${distFolder}/assets/brand/`, `${distFolder}/assets/brand/`,
`${distFolder}/assets/dist/css/`, `${distFolder}/assets/dist/css/`,
`${distFolder}/assets/dist/js/` `${distFolder}/assets/dist/js/`,
`${distFolder}/assets/js/`
]) ])
sh.cp('-Rf', `${docsDir}/examples/*`, distFolder) sh.cp('-Rf', `${docsDir}/examples/*`, distFolder)
@ -69,6 +76,10 @@ for (const file of imgFiles) {
sh.cp('-f', `${docsDir}/assets/brand/${file}`, `${distFolder}/assets/brand/`) sh.cp('-f', `${docsDir}/assets/brand/${file}`, `${distFolder}/assets/brand/`)
} }
for (const file of staticJsFiles) {
sh.cp('-f', `${docsDir}/assets/js/${file}`, `${distFolder}/assets/js/`)
}
sh.rm(`${distFolder}/index.html`) sh.rm(`${distFolder}/index.html`)
// get all examples' HTML files // get all examples' HTML files
@ -84,7 +95,7 @@ for (const file of sh.find(`${distFolder}/**/*.html`)) {
} }
// create the zip file // create the zip file
sh.exec(`zip -r9 "${distFolder}.zip" "${distFolder}"`) sh.exec(`zip -qr9 "${distFolder}.zip" "${distFolder}"`)
// remove the folder we created // remove the folder we created
sh.rm('-rf', distFolder) sh.rm('-rf', distFolder)

View File

@ -1,180 +1,8 @@
/*! /*!
* Bootstrap Grid v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
:root,
[data-bs-theme=light] {
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #dc3545;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #198754;
--bs-teal: #20c997;
--bs-cyan: #0dcaf0;
--bs-black: #000;
--bs-white: #fff;
--bs-gray: #6c757d;
--bs-gray-dark: #343a40;
--bs-gray-100: #f8f9fa;
--bs-gray-200: #e9ecef;
--bs-gray-300: #dee2e6;
--bs-gray-400: #ced4da;
--bs-gray-500: #adb5bd;
--bs-gray-600: #6c757d;
--bs-gray-700: #495057;
--bs-gray-800: #343a40;
--bs-gray-900: #212529;
--bs-primary: #0d6efd;
--bs-secondary: #6c757d;
--bs-success: #198754;
--bs-info: #0dcaf0;
--bs-warning: #ffc107;
--bs-danger: #dc3545;
--bs-light: #f8f9fa;
--bs-dark: #212529;
--bs-primary-rgb: 13, 110, 253;
--bs-secondary-rgb: 108, 117, 125;
--bs-success-rgb: 25, 135, 84;
--bs-info-rgb: 13, 202, 240;
--bs-warning-rgb: 255, 193, 7;
--bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41;
--bs-primary-text: #0a58ca;
--bs-secondary-text: #6c757d;
--bs-success-text: #146c43;
--bs-info-text: #087990;
--bs-warning-text: #997404;
--bs-danger-text: #b02a37;
--bs-light-text: #6c757d;
--bs-dark-text: #495057;
--bs-primary-bg-subtle: #cfe2ff;
--bs-secondary-bg-subtle: #f8f9fa;
--bs-success-bg-subtle: #d1e7dd;
--bs-info-bg-subtle: #cff4fc;
--bs-warning-bg-subtle: #fff3cd;
--bs-danger-bg-subtle: #f8d7da;
--bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #9ec5fe;
--bs-secondary-border-subtle: #e9ecef;
--bs-success-border-subtle: #a3cfbb;
--bs-info-border-subtle: #9eeaf9;
--bs-warning-border-subtle: #ffe69c;
--bs-danger-border-subtle: #f1aeb5;
--bs-light-border-subtle: #e9ecef;
--bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: 1rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #212529;
--bs-emphasis-color: #000;
--bs-emphasis-color-rgb: 0, 0, 0;
--bs-secondary-color: rgba(33, 37, 41, 0.75);
--bs-secondary-color-rgb: 33, 37, 41;
--bs-secondary-bg: #e9ecef;
--bs-secondary-bg-rgb: 233, 236, 239;
--bs-tertiary-color: rgba(33, 37, 41, 0.5);
--bs-tertiary-color-rgb: 33, 37, 41;
--bs-tertiary-bg: #f8f9fa;
--bs-tertiary-bg-rgb: 248, 249, 250;
--bs-body-bg: #fff;
--bs-body-bg-rgb: 255, 255, 255;
--bs-link-color: #0d6efd;
--bs-link-color-rgb: 13, 110, 253;
--bs-link-decoration: underline;
--bs-link-hover-color: #0a58ca;
--bs-link-hover-color-rgb: 10, 88, 202;
--bs-code-color: #d63384;
--bs-highlight-bg: #fff3cd;
--bs-border-width: 1px;
--bs-border-style: solid;
--bs-border-color: #dee2e6;
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
--bs-border-radius: 0.375rem;
--bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem;
--bs-border-radius-pill: 50rem;
--bs-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175);
--bs-box-shadow-inset: inset 0 1px 2px rgba(var(--bs-body-color-rgb), 0.075);
--bs-emphasis-color: #000;
--bs-form-control-bg: var(--bs-body-bg);
--bs-form-control-disabled-bg: var(--bs-secondary-bg);
--bs-highlight-bg: #fff3cd;
--bs-breakpoint-xs: 0;
--bs-breakpoint-sm: 576px;
--bs-breakpoint-md: 768px;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
}
[data-bs-theme=dark] {
--bs-body-color: #adb5bd;
--bs-body-color-rgb: 173, 181, 189;
--bs-body-bg: #212529;
--bs-body-bg-rgb: 33, 37, 41;
--bs-emphasis-color: #f8f9fa;
--bs-emphasis-color-rgb: 248, 249, 250;
--bs-secondary-color: rgba(173, 181, 189, 0.75);
--bs-secondary-color-rgb: 173, 181, 189;
--bs-secondary-bg: #343a40;
--bs-secondary-bg-rgb: 52, 58, 64;
--bs-tertiary-color: rgba(173, 181, 189, 0.5);
--bs-tertiary-color-rgb: 173, 181, 189;
--bs-tertiary-bg: #2b3035;
--bs-tertiary-bg-rgb: 43, 48, 53;
--bs-emphasis-color: #fff;
--bs-primary-text: #6ea8fe;
--bs-secondary-text: #dee2e6;
--bs-success-text: #75b798;
--bs-info-text: #6edff6;
--bs-warning-text: #ffda6a;
--bs-danger-text: #ea868f;
--bs-light-text: #f8f9fa;
--bs-dark-text: #dee2e6;
--bs-primary-bg-subtle: #031633;
--bs-secondary-bg-subtle: #212529;
--bs-success-bg-subtle: #051b11;
--bs-info-bg-subtle: #032830;
--bs-warning-bg-subtle: #332701;
--bs-danger-bg-subtle: #2c0b0e;
--bs-light-bg-subtle: #343a40;
--bs-dark-bg-subtle: #1a1d20;
--bs-primary-border-subtle: #084298;
--bs-secondary-border-subtle: #495057;
--bs-success-border-subtle: #0f5132;
--bs-info-border-subtle: #055160;
--bs-warning-border-subtle: #664d03;
--bs-danger-border-subtle: #842029;
--bs-light-border-subtle: #495057;
--bs-dark-border-subtle: #343a40;
--bs-heading-color: #fff;
--bs-link-color: #6ea8fe;
--bs-link-hover-color: #9ec5fe;
--bs-link-color-rgb: 110, 168, 254;
--bs-link-hover-color-rgb: 158, 197, 254;
--bs-code-color: #e685b5;
--bs-border-color: #495057;
--bs-border-color-translucent: rgba(255, 255, 255, 0.15);
}
.container, .container,
.container-fluid, .container-fluid,
.container-xxl, .container-xxl,
@ -216,6 +44,15 @@
max-width: 1320px; max-width: 1320px;
} }
} }
:root {
--bs-breakpoint-xs: 0;
--bs-breakpoint-sm: 576px;
--bs-breakpoint-md: 768px;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
}
.row { .row {
--bs-gutter-x: 1.5rem; --bs-gutter-x: 1.5rem;
--bs-gutter-y: 0; --bs-gutter-y: 0;
@ -256,7 +93,7 @@
.row-cols-3 > * { .row-cols-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-4 > * { .row-cols-4 > * {
@ -271,7 +108,7 @@
.row-cols-6 > * { .row-cols-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-auto { .col-auto {
@ -461,7 +298,7 @@
} }
.row-cols-sm-3 > * { .row-cols-sm-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-sm-4 > * { .row-cols-sm-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -473,7 +310,7 @@
} }
.row-cols-sm-6 > * { .row-cols-sm-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-sm-auto { .col-sm-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -630,7 +467,7 @@
} }
.row-cols-md-3 > * { .row-cols-md-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-md-4 > * { .row-cols-md-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -642,7 +479,7 @@
} }
.row-cols-md-6 > * { .row-cols-md-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-md-auto { .col-md-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -799,7 +636,7 @@
} }
.row-cols-lg-3 > * { .row-cols-lg-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-lg-4 > * { .row-cols-lg-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -811,7 +648,7 @@
} }
.row-cols-lg-6 > * { .row-cols-lg-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-lg-auto { .col-lg-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -968,7 +805,7 @@
} }
.row-cols-xl-3 > * { .row-cols-xl-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-xl-4 > * { .row-cols-xl-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -980,7 +817,7 @@
} }
.row-cols-xl-6 > * { .row-cols-xl-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-xl-auto { .col-xl-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1137,7 +974,7 @@
} }
.row-cols-xxl-3 > * { .row-cols-xxl-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-xxl-4 > * { .row-cols-xxl-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -1149,7 +986,7 @@
} }
.row-cols-xxl-6 > * { .row-cols-xxl-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-xxl-auto { .col-xxl-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1304,6 +1141,10 @@
display: grid !important; display: grid !important;
} }
.d-inline-grid {
display: inline-grid !important;
}
.d-table { .d-table {
display: table !important; display: table !important;
} }
@ -1903,6 +1744,9 @@
.d-sm-grid { .d-sm-grid {
display: grid !important; display: grid !important;
} }
.d-sm-inline-grid {
display: inline-grid !important;
}
.d-sm-table { .d-sm-table {
display: table !important; display: table !important;
} }
@ -2363,6 +2207,9 @@
.d-md-grid { .d-md-grid {
display: grid !important; display: grid !important;
} }
.d-md-inline-grid {
display: inline-grid !important;
}
.d-md-table { .d-md-table {
display: table !important; display: table !important;
} }
@ -2823,6 +2670,9 @@
.d-lg-grid { .d-lg-grid {
display: grid !important; display: grid !important;
} }
.d-lg-inline-grid {
display: inline-grid !important;
}
.d-lg-table { .d-lg-table {
display: table !important; display: table !important;
} }
@ -3283,6 +3133,9 @@
.d-xl-grid { .d-xl-grid {
display: grid !important; display: grid !important;
} }
.d-xl-inline-grid {
display: inline-grid !important;
}
.d-xl-table { .d-xl-table {
display: table !important; display: table !important;
} }
@ -3743,6 +3596,9 @@
.d-xxl-grid { .d-xxl-grid {
display: grid !important; display: grid !important;
} }
.d-xxl-inline-grid {
display: inline-grid !important;
}
.d-xxl-table { .d-xxl-table {
display: table !important; display: table !important;
} }
@ -4203,6 +4059,9 @@
.d-print-grid { .d-print-grid {
display: grid !important; display: grid !important;
} }
.d-print-inline-grid {
display: inline-grid !important;
}
.d-print-table { .d-print-table {
display: table !important; display: table !important;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,180 +1,8 @@
/*! /*!
* Bootstrap Grid v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
:root,
[data-bs-theme=light] {
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #dc3545;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #198754;
--bs-teal: #20c997;
--bs-cyan: #0dcaf0;
--bs-black: #000;
--bs-white: #fff;
--bs-gray: #6c757d;
--bs-gray-dark: #343a40;
--bs-gray-100: #f8f9fa;
--bs-gray-200: #e9ecef;
--bs-gray-300: #dee2e6;
--bs-gray-400: #ced4da;
--bs-gray-500: #adb5bd;
--bs-gray-600: #6c757d;
--bs-gray-700: #495057;
--bs-gray-800: #343a40;
--bs-gray-900: #212529;
--bs-primary: #0d6efd;
--bs-secondary: #6c757d;
--bs-success: #198754;
--bs-info: #0dcaf0;
--bs-warning: #ffc107;
--bs-danger: #dc3545;
--bs-light: #f8f9fa;
--bs-dark: #212529;
--bs-primary-rgb: 13, 110, 253;
--bs-secondary-rgb: 108, 117, 125;
--bs-success-rgb: 25, 135, 84;
--bs-info-rgb: 13, 202, 240;
--bs-warning-rgb: 255, 193, 7;
--bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41;
--bs-primary-text: #0a58ca;
--bs-secondary-text: #6c757d;
--bs-success-text: #146c43;
--bs-info-text: #087990;
--bs-warning-text: #997404;
--bs-danger-text: #b02a37;
--bs-light-text: #6c757d;
--bs-dark-text: #495057;
--bs-primary-bg-subtle: #cfe2ff;
--bs-secondary-bg-subtle: #f8f9fa;
--bs-success-bg-subtle: #d1e7dd;
--bs-info-bg-subtle: #cff4fc;
--bs-warning-bg-subtle: #fff3cd;
--bs-danger-bg-subtle: #f8d7da;
--bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #9ec5fe;
--bs-secondary-border-subtle: #e9ecef;
--bs-success-border-subtle: #a3cfbb;
--bs-info-border-subtle: #9eeaf9;
--bs-warning-border-subtle: #ffe69c;
--bs-danger-border-subtle: #f1aeb5;
--bs-light-border-subtle: #e9ecef;
--bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: 1rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #212529;
--bs-emphasis-color: #000;
--bs-emphasis-color-rgb: 0, 0, 0;
--bs-secondary-color: rgba(33, 37, 41, 0.75);
--bs-secondary-color-rgb: 33, 37, 41;
--bs-secondary-bg: #e9ecef;
--bs-secondary-bg-rgb: 233, 236, 239;
--bs-tertiary-color: rgba(33, 37, 41, 0.5);
--bs-tertiary-color-rgb: 33, 37, 41;
--bs-tertiary-bg: #f8f9fa;
--bs-tertiary-bg-rgb: 248, 249, 250;
--bs-body-bg: #fff;
--bs-body-bg-rgb: 255, 255, 255;
--bs-link-color: #0d6efd;
--bs-link-color-rgb: 13, 110, 253;
--bs-link-decoration: underline;
--bs-link-hover-color: #0a58ca;
--bs-link-hover-color-rgb: 10, 88, 202;
--bs-code-color: #d63384;
--bs-highlight-bg: #fff3cd;
--bs-border-width: 1px;
--bs-border-style: solid;
--bs-border-color: #dee2e6;
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
--bs-border-radius: 0.375rem;
--bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem;
--bs-border-radius-pill: 50rem;
--bs-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175);
--bs-box-shadow-inset: inset 0 1px 2px rgba(var(--bs-body-color-rgb), 0.075);
--bs-emphasis-color: #000;
--bs-form-control-bg: var(--bs-body-bg);
--bs-form-control-disabled-bg: var(--bs-secondary-bg);
--bs-highlight-bg: #fff3cd;
--bs-breakpoint-xs: 0;
--bs-breakpoint-sm: 576px;
--bs-breakpoint-md: 768px;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
}
[data-bs-theme=dark] {
--bs-body-color: #adb5bd;
--bs-body-color-rgb: 173, 181, 189;
--bs-body-bg: #212529;
--bs-body-bg-rgb: 33, 37, 41;
--bs-emphasis-color: #f8f9fa;
--bs-emphasis-color-rgb: 248, 249, 250;
--bs-secondary-color: rgba(173, 181, 189, 0.75);
--bs-secondary-color-rgb: 173, 181, 189;
--bs-secondary-bg: #343a40;
--bs-secondary-bg-rgb: 52, 58, 64;
--bs-tertiary-color: rgba(173, 181, 189, 0.5);
--bs-tertiary-color-rgb: 173, 181, 189;
--bs-tertiary-bg: #2b3035;
--bs-tertiary-bg-rgb: 43, 48, 53;
--bs-emphasis-color: #fff;
--bs-primary-text: #6ea8fe;
--bs-secondary-text: #dee2e6;
--bs-success-text: #75b798;
--bs-info-text: #6edff6;
--bs-warning-text: #ffda6a;
--bs-danger-text: #ea868f;
--bs-light-text: #f8f9fa;
--bs-dark-text: #dee2e6;
--bs-primary-bg-subtle: #031633;
--bs-secondary-bg-subtle: #212529;
--bs-success-bg-subtle: #051b11;
--bs-info-bg-subtle: #032830;
--bs-warning-bg-subtle: #332701;
--bs-danger-bg-subtle: #2c0b0e;
--bs-light-bg-subtle: #343a40;
--bs-dark-bg-subtle: #1a1d20;
--bs-primary-border-subtle: #084298;
--bs-secondary-border-subtle: #495057;
--bs-success-border-subtle: #0f5132;
--bs-info-border-subtle: #055160;
--bs-warning-border-subtle: #664d03;
--bs-danger-border-subtle: #842029;
--bs-light-border-subtle: #495057;
--bs-dark-border-subtle: #343a40;
--bs-heading-color: #fff;
--bs-link-color: #6ea8fe;
--bs-link-hover-color: #9ec5fe;
--bs-link-color-rgb: 110, 168, 254;
--bs-link-hover-color-rgb: 158, 197, 254;
--bs-code-color: #e685b5;
--bs-border-color: #495057;
--bs-border-color-translucent: rgba(255, 255, 255, 0.15);
}
.container, .container,
.container-fluid, .container-fluid,
.container-xxl, .container-xxl,
@ -216,6 +44,15 @@
max-width: 1320px; max-width: 1320px;
} }
} }
:root {
--bs-breakpoint-xs: 0;
--bs-breakpoint-sm: 576px;
--bs-breakpoint-md: 768px;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
}
.row { .row {
--bs-gutter-x: 1.5rem; --bs-gutter-x: 1.5rem;
--bs-gutter-y: 0; --bs-gutter-y: 0;
@ -256,7 +93,7 @@
.row-cols-3 > * { .row-cols-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-4 > * { .row-cols-4 > * {
@ -271,7 +108,7 @@
.row-cols-6 > * { .row-cols-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-auto { .col-auto {
@ -461,7 +298,7 @@
} }
.row-cols-sm-3 > * { .row-cols-sm-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-sm-4 > * { .row-cols-sm-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -473,7 +310,7 @@
} }
.row-cols-sm-6 > * { .row-cols-sm-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-sm-auto { .col-sm-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -630,7 +467,7 @@
} }
.row-cols-md-3 > * { .row-cols-md-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-md-4 > * { .row-cols-md-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -642,7 +479,7 @@
} }
.row-cols-md-6 > * { .row-cols-md-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-md-auto { .col-md-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -799,7 +636,7 @@
} }
.row-cols-lg-3 > * { .row-cols-lg-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-lg-4 > * { .row-cols-lg-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -811,7 +648,7 @@
} }
.row-cols-lg-6 > * { .row-cols-lg-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-lg-auto { .col-lg-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -968,7 +805,7 @@
} }
.row-cols-xl-3 > * { .row-cols-xl-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-xl-4 > * { .row-cols-xl-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -980,7 +817,7 @@
} }
.row-cols-xl-6 > * { .row-cols-xl-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-xl-auto { .col-xl-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1137,7 +974,7 @@
} }
.row-cols-xxl-3 > * { .row-cols-xxl-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-xxl-4 > * { .row-cols-xxl-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -1149,7 +986,7 @@
} }
.row-cols-xxl-6 > * { .row-cols-xxl-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-xxl-auto { .col-xxl-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1304,6 +1141,10 @@
display: grid !important; display: grid !important;
} }
.d-inline-grid {
display: inline-grid !important;
}
.d-table { .d-table {
display: table !important; display: table !important;
} }
@ -1903,6 +1744,9 @@
.d-sm-grid { .d-sm-grid {
display: grid !important; display: grid !important;
} }
.d-sm-inline-grid {
display: inline-grid !important;
}
.d-sm-table { .d-sm-table {
display: table !important; display: table !important;
} }
@ -2363,6 +2207,9 @@
.d-md-grid { .d-md-grid {
display: grid !important; display: grid !important;
} }
.d-md-inline-grid {
display: inline-grid !important;
}
.d-md-table { .d-md-table {
display: table !important; display: table !important;
} }
@ -2823,6 +2670,9 @@
.d-lg-grid { .d-lg-grid {
display: grid !important; display: grid !important;
} }
.d-lg-inline-grid {
display: inline-grid !important;
}
.d-lg-table { .d-lg-table {
display: table !important; display: table !important;
} }
@ -3283,6 +3133,9 @@
.d-xl-grid { .d-xl-grid {
display: grid !important; display: grid !important;
} }
.d-xl-inline-grid {
display: inline-grid !important;
}
.d-xl-table { .d-xl-table {
display: table !important; display: table !important;
} }
@ -3743,6 +3596,9 @@
.d-xxl-grid { .d-xxl-grid {
display: grid !important; display: grid !important;
} }
.d-xxl-inline-grid {
display: inline-grid !important;
}
.d-xxl-table { .d-xxl-table {
display: table !important; display: table !important;
} }
@ -4203,6 +4059,9 @@
.d-print-grid { .d-print-grid {
display: grid !important; display: grid !important;
} }
.d-print-inline-grid {
display: inline-grid !important;
}
.d-print-table { .d-print-table {
display: table !important; display: table !important;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap Reboot v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
:root, :root,
@ -44,16 +44,16 @@
--bs-danger-rgb: 220, 53, 69; --bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250; --bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41; --bs-dark-rgb: 33, 37, 41;
--bs-primary-text: #0a58ca; --bs-primary-text-emphasis: #052c65;
--bs-secondary-text: #6c757d; --bs-secondary-text-emphasis: #2b2f32;
--bs-success-text: #146c43; --bs-success-text-emphasis: #0a3622;
--bs-info-text: #087990; --bs-info-text-emphasis: #055160;
--bs-warning-text: #997404; --bs-warning-text-emphasis: #664d03;
--bs-danger-text: #b02a37; --bs-danger-text-emphasis: #58151c;
--bs-light-text: #6c757d; --bs-light-text-emphasis: #495057;
--bs-dark-text: #495057; --bs-dark-text-emphasis: #495057;
--bs-primary-bg-subtle: #cfe2ff; --bs-primary-bg-subtle: #cfe2ff;
--bs-secondary-bg-subtle: #f8f9fa; --bs-secondary-bg-subtle: #e2e3e5;
--bs-success-bg-subtle: #d1e7dd; --bs-success-bg-subtle: #d1e7dd;
--bs-info-bg-subtle: #cff4fc; --bs-info-bg-subtle: #cff4fc;
--bs-warning-bg-subtle: #fff3cd; --bs-warning-bg-subtle: #fff3cd;
@ -61,7 +61,7 @@
--bs-light-bg-subtle: #fcfcfd; --bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da; --bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #9ec5fe; --bs-primary-border-subtle: #9ec5fe;
--bs-secondary-border-subtle: #e9ecef; --bs-secondary-border-subtle: #c4c8cb;
--bs-success-border-subtle: #a3cfbb; --bs-success-border-subtle: #a3cfbb;
--bs-info-border-subtle: #9eeaf9; --bs-info-border-subtle: #9eeaf9;
--bs-warning-border-subtle: #ffe69c; --bs-warning-border-subtle: #ffe69c;
@ -70,8 +70,6 @@
--bs-dark-border-subtle: #adb5bd; --bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255; --bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0; --bs-black-rgb: 0, 0, 0;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
@ -80,6 +78,9 @@
--bs-body-font-weight: 400; --bs-body-font-weight: 400;
--bs-body-line-height: 1.5; --bs-body-line-height: 1.5;
--bs-body-color: #212529; --bs-body-color: #212529;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg: #fff;
--bs-body-bg-rgb: 255, 255, 255;
--bs-emphasis-color: #000; --bs-emphasis-color: #000;
--bs-emphasis-color-rgb: 0, 0, 0; --bs-emphasis-color-rgb: 0, 0, 0;
--bs-secondary-color: rgba(33, 37, 41, 0.75); --bs-secondary-color: rgba(33, 37, 41, 0.75);
@ -90,14 +91,14 @@
--bs-tertiary-color-rgb: 33, 37, 41; --bs-tertiary-color-rgb: 33, 37, 41;
--bs-tertiary-bg: #f8f9fa; --bs-tertiary-bg: #f8f9fa;
--bs-tertiary-bg-rgb: 248, 249, 250; --bs-tertiary-bg-rgb: 248, 249, 250;
--bs-body-bg: #fff; --bs-heading-color: inherit;
--bs-body-bg-rgb: 255, 255, 255;
--bs-link-color: #0d6efd; --bs-link-color: #0d6efd;
--bs-link-color-rgb: 13, 110, 253; --bs-link-color-rgb: 13, 110, 253;
--bs-link-decoration: underline; --bs-link-decoration: underline;
--bs-link-hover-color: #0a58ca; --bs-link-hover-color: #0a58ca;
--bs-link-hover-color-rgb: 10, 88, 202; --bs-link-hover-color-rgb: 10, 88, 202;
--bs-code-color: #d63384; --bs-code-color: #d63384;
--bs-highlight-color: #212529;
--bs-highlight-bg: #fff3cd; --bs-highlight-bg: #fff3cd;
--bs-border-width: 1px; --bs-border-width: 1px;
--bs-border-style: solid; --bs-border-style: solid;
@ -107,50 +108,48 @@
--bs-border-radius-sm: 0.25rem; --bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem; --bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem; --bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem; --bs-border-radius-xxl: 2rem;
--bs-border-radius-2xl: var(--bs-border-radius-xxl);
--bs-border-radius-pill: 50rem; --bs-border-radius-pill: 50rem;
--bs-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075); --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175); --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
--bs-box-shadow-inset: inset 0 1px 2px rgba(var(--bs-body-color-rgb), 0.075); --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
--bs-emphasis-color: #000; --bs-focus-ring-width: 0.25rem;
--bs-form-control-bg: var(--bs-body-bg); --bs-focus-ring-opacity: 0.25;
--bs-form-control-disabled-bg: var(--bs-secondary-bg); --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
--bs-highlight-bg: #fff3cd; --bs-form-valid-color: #198754;
--bs-breakpoint-xs: 0; --bs-form-valid-border-color: #198754;
--bs-breakpoint-sm: 576px; --bs-form-invalid-color: #dc3545;
--bs-breakpoint-md: 768px; --bs-form-invalid-border-color: #dc3545;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
} }
[data-bs-theme=dark] { [data-bs-theme=dark] {
--bs-body-color: #adb5bd; color-scheme: dark;
--bs-body-color-rgb: 173, 181, 189; --bs-body-color: #dee2e6;
--bs-body-color-rgb: 222, 226, 230;
--bs-body-bg: #212529; --bs-body-bg: #212529;
--bs-body-bg-rgb: 33, 37, 41; --bs-body-bg-rgb: 33, 37, 41;
--bs-emphasis-color: #f8f9fa; --bs-emphasis-color: #fff;
--bs-emphasis-color-rgb: 248, 249, 250; --bs-emphasis-color-rgb: 255, 255, 255;
--bs-secondary-color: rgba(173, 181, 189, 0.75); --bs-secondary-color: rgba(222, 226, 230, 0.75);
--bs-secondary-color-rgb: 173, 181, 189; --bs-secondary-color-rgb: 222, 226, 230;
--bs-secondary-bg: #343a40; --bs-secondary-bg: #343a40;
--bs-secondary-bg-rgb: 52, 58, 64; --bs-secondary-bg-rgb: 52, 58, 64;
--bs-tertiary-color: rgba(173, 181, 189, 0.5); --bs-tertiary-color: rgba(222, 226, 230, 0.5);
--bs-tertiary-color-rgb: 173, 181, 189; --bs-tertiary-color-rgb: 222, 226, 230;
--bs-tertiary-bg: #2b3035; --bs-tertiary-bg: #2b3035;
--bs-tertiary-bg-rgb: 43, 48, 53; --bs-tertiary-bg-rgb: 43, 48, 53;
--bs-emphasis-color: #fff; --bs-primary-text-emphasis: #6ea8fe;
--bs-primary-text: #6ea8fe; --bs-secondary-text-emphasis: #a7acb1;
--bs-secondary-text: #dee2e6; --bs-success-text-emphasis: #75b798;
--bs-success-text: #75b798; --bs-info-text-emphasis: #6edff6;
--bs-info-text: #6edff6; --bs-warning-text-emphasis: #ffda6a;
--bs-warning-text: #ffda6a; --bs-danger-text-emphasis: #ea868f;
--bs-danger-text: #ea868f; --bs-light-text-emphasis: #f8f9fa;
--bs-light-text: #f8f9fa; --bs-dark-text-emphasis: #dee2e6;
--bs-dark-text: #dee2e6;
--bs-primary-bg-subtle: #031633; --bs-primary-bg-subtle: #031633;
--bs-secondary-bg-subtle: #212529; --bs-secondary-bg-subtle: #161719;
--bs-success-bg-subtle: #051b11; --bs-success-bg-subtle: #051b11;
--bs-info-bg-subtle: #032830; --bs-info-bg-subtle: #032830;
--bs-warning-bg-subtle: #332701; --bs-warning-bg-subtle: #332701;
@ -158,21 +157,27 @@
--bs-light-bg-subtle: #343a40; --bs-light-bg-subtle: #343a40;
--bs-dark-bg-subtle: #1a1d20; --bs-dark-bg-subtle: #1a1d20;
--bs-primary-border-subtle: #084298; --bs-primary-border-subtle: #084298;
--bs-secondary-border-subtle: #495057; --bs-secondary-border-subtle: #41464b;
--bs-success-border-subtle: #0f5132; --bs-success-border-subtle: #0f5132;
--bs-info-border-subtle: #055160; --bs-info-border-subtle: #087990;
--bs-warning-border-subtle: #664d03; --bs-warning-border-subtle: #997404;
--bs-danger-border-subtle: #842029; --bs-danger-border-subtle: #842029;
--bs-light-border-subtle: #495057; --bs-light-border-subtle: #495057;
--bs-dark-border-subtle: #343a40; --bs-dark-border-subtle: #343a40;
--bs-heading-color: #fff; --bs-heading-color: inherit;
--bs-link-color: #6ea8fe; --bs-link-color: #6ea8fe;
--bs-link-hover-color: #9ec5fe; --bs-link-hover-color: #8bb9fe;
--bs-link-color-rgb: 110, 168, 254; --bs-link-color-rgb: 110, 168, 254;
--bs-link-hover-color-rgb: 158, 197, 254; --bs-link-hover-color-rgb: 139, 185, 254;
--bs-code-color: #e685b5; --bs-code-color: #e685b5;
--bs-highlight-color: #dee2e6;
--bs-highlight-bg: #664d03;
--bs-border-color: #495057; --bs-border-color: #495057;
--bs-border-color-translucent: rgba(255, 255, 255, 0.15); --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
--bs-form-valid-color: #75b798;
--bs-form-valid-border-color: #75b798;
--bs-form-invalid-color: #ea868f;
--bs-form-invalid-border-color: #ea868f;
} }
*, *,
@ -213,7 +218,7 @@ h6, h5, h4, h3, h2, h1 {
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
font-weight: 500; font-weight: 500;
line-height: 1.2; line-height: 1.2;
color: var(--bs-heading-color, inherit); color: var(--bs-heading-color);
} }
h1 { h1 {
@ -322,6 +327,7 @@ small {
mark { mark {
padding: 0.1875em; padding: 0.1875em;
color: var(--bs-highlight-color);
background-color: var(--bs-highlight-bg); background-color: var(--bs-highlight-bg);
} }
@ -537,8 +543,8 @@ legend + * {
} }
[type=search] { [type=search] {
outline-offset: -2px;
-webkit-appearance: textfield; -webkit-appearance: textfield;
outline-offset: -2px;
} }
/* rtl:raw: /* rtl:raw:

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap Reboot v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
:root, :root,
@ -44,16 +44,16 @@
--bs-danger-rgb: 220, 53, 69; --bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250; --bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41; --bs-dark-rgb: 33, 37, 41;
--bs-primary-text: #0a58ca; --bs-primary-text-emphasis: #052c65;
--bs-secondary-text: #6c757d; --bs-secondary-text-emphasis: #2b2f32;
--bs-success-text: #146c43; --bs-success-text-emphasis: #0a3622;
--bs-info-text: #087990; --bs-info-text-emphasis: #055160;
--bs-warning-text: #997404; --bs-warning-text-emphasis: #664d03;
--bs-danger-text: #b02a37; --bs-danger-text-emphasis: #58151c;
--bs-light-text: #6c757d; --bs-light-text-emphasis: #495057;
--bs-dark-text: #495057; --bs-dark-text-emphasis: #495057;
--bs-primary-bg-subtle: #cfe2ff; --bs-primary-bg-subtle: #cfe2ff;
--bs-secondary-bg-subtle: #f8f9fa; --bs-secondary-bg-subtle: #e2e3e5;
--bs-success-bg-subtle: #d1e7dd; --bs-success-bg-subtle: #d1e7dd;
--bs-info-bg-subtle: #cff4fc; --bs-info-bg-subtle: #cff4fc;
--bs-warning-bg-subtle: #fff3cd; --bs-warning-bg-subtle: #fff3cd;
@ -61,7 +61,7 @@
--bs-light-bg-subtle: #fcfcfd; --bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da; --bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #9ec5fe; --bs-primary-border-subtle: #9ec5fe;
--bs-secondary-border-subtle: #e9ecef; --bs-secondary-border-subtle: #c4c8cb;
--bs-success-border-subtle: #a3cfbb; --bs-success-border-subtle: #a3cfbb;
--bs-info-border-subtle: #9eeaf9; --bs-info-border-subtle: #9eeaf9;
--bs-warning-border-subtle: #ffe69c; --bs-warning-border-subtle: #ffe69c;
@ -70,8 +70,6 @@
--bs-dark-border-subtle: #adb5bd; --bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255; --bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0; --bs-black-rgb: 0, 0, 0;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
@ -80,6 +78,9 @@
--bs-body-font-weight: 400; --bs-body-font-weight: 400;
--bs-body-line-height: 1.5; --bs-body-line-height: 1.5;
--bs-body-color: #212529; --bs-body-color: #212529;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg: #fff;
--bs-body-bg-rgb: 255, 255, 255;
--bs-emphasis-color: #000; --bs-emphasis-color: #000;
--bs-emphasis-color-rgb: 0, 0, 0; --bs-emphasis-color-rgb: 0, 0, 0;
--bs-secondary-color: rgba(33, 37, 41, 0.75); --bs-secondary-color: rgba(33, 37, 41, 0.75);
@ -90,14 +91,14 @@
--bs-tertiary-color-rgb: 33, 37, 41; --bs-tertiary-color-rgb: 33, 37, 41;
--bs-tertiary-bg: #f8f9fa; --bs-tertiary-bg: #f8f9fa;
--bs-tertiary-bg-rgb: 248, 249, 250; --bs-tertiary-bg-rgb: 248, 249, 250;
--bs-body-bg: #fff; --bs-heading-color: inherit;
--bs-body-bg-rgb: 255, 255, 255;
--bs-link-color: #0d6efd; --bs-link-color: #0d6efd;
--bs-link-color-rgb: 13, 110, 253; --bs-link-color-rgb: 13, 110, 253;
--bs-link-decoration: underline; --bs-link-decoration: underline;
--bs-link-hover-color: #0a58ca; --bs-link-hover-color: #0a58ca;
--bs-link-hover-color-rgb: 10, 88, 202; --bs-link-hover-color-rgb: 10, 88, 202;
--bs-code-color: #d63384; --bs-code-color: #d63384;
--bs-highlight-color: #212529;
--bs-highlight-bg: #fff3cd; --bs-highlight-bg: #fff3cd;
--bs-border-width: 1px; --bs-border-width: 1px;
--bs-border-style: solid; --bs-border-style: solid;
@ -107,50 +108,48 @@
--bs-border-radius-sm: 0.25rem; --bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem; --bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem; --bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem; --bs-border-radius-xxl: 2rem;
--bs-border-radius-2xl: var(--bs-border-radius-xxl);
--bs-border-radius-pill: 50rem; --bs-border-radius-pill: 50rem;
--bs-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075); --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175); --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
--bs-box-shadow-inset: inset 0 1px 2px rgba(var(--bs-body-color-rgb), 0.075); --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
--bs-emphasis-color: #000; --bs-focus-ring-width: 0.25rem;
--bs-form-control-bg: var(--bs-body-bg); --bs-focus-ring-opacity: 0.25;
--bs-form-control-disabled-bg: var(--bs-secondary-bg); --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
--bs-highlight-bg: #fff3cd; --bs-form-valid-color: #198754;
--bs-breakpoint-xs: 0; --bs-form-valid-border-color: #198754;
--bs-breakpoint-sm: 576px; --bs-form-invalid-color: #dc3545;
--bs-breakpoint-md: 768px; --bs-form-invalid-border-color: #dc3545;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
} }
[data-bs-theme=dark] { [data-bs-theme=dark] {
--bs-body-color: #adb5bd; color-scheme: dark;
--bs-body-color-rgb: 173, 181, 189; --bs-body-color: #dee2e6;
--bs-body-color-rgb: 222, 226, 230;
--bs-body-bg: #212529; --bs-body-bg: #212529;
--bs-body-bg-rgb: 33, 37, 41; --bs-body-bg-rgb: 33, 37, 41;
--bs-emphasis-color: #f8f9fa; --bs-emphasis-color: #fff;
--bs-emphasis-color-rgb: 248, 249, 250; --bs-emphasis-color-rgb: 255, 255, 255;
--bs-secondary-color: rgba(173, 181, 189, 0.75); --bs-secondary-color: rgba(222, 226, 230, 0.75);
--bs-secondary-color-rgb: 173, 181, 189; --bs-secondary-color-rgb: 222, 226, 230;
--bs-secondary-bg: #343a40; --bs-secondary-bg: #343a40;
--bs-secondary-bg-rgb: 52, 58, 64; --bs-secondary-bg-rgb: 52, 58, 64;
--bs-tertiary-color: rgba(173, 181, 189, 0.5); --bs-tertiary-color: rgba(222, 226, 230, 0.5);
--bs-tertiary-color-rgb: 173, 181, 189; --bs-tertiary-color-rgb: 222, 226, 230;
--bs-tertiary-bg: #2b3035; --bs-tertiary-bg: #2b3035;
--bs-tertiary-bg-rgb: 43, 48, 53; --bs-tertiary-bg-rgb: 43, 48, 53;
--bs-emphasis-color: #fff; --bs-primary-text-emphasis: #6ea8fe;
--bs-primary-text: #6ea8fe; --bs-secondary-text-emphasis: #a7acb1;
--bs-secondary-text: #dee2e6; --bs-success-text-emphasis: #75b798;
--bs-success-text: #75b798; --bs-info-text-emphasis: #6edff6;
--bs-info-text: #6edff6; --bs-warning-text-emphasis: #ffda6a;
--bs-warning-text: #ffda6a; --bs-danger-text-emphasis: #ea868f;
--bs-danger-text: #ea868f; --bs-light-text-emphasis: #f8f9fa;
--bs-light-text: #f8f9fa; --bs-dark-text-emphasis: #dee2e6;
--bs-dark-text: #dee2e6;
--bs-primary-bg-subtle: #031633; --bs-primary-bg-subtle: #031633;
--bs-secondary-bg-subtle: #212529; --bs-secondary-bg-subtle: #161719;
--bs-success-bg-subtle: #051b11; --bs-success-bg-subtle: #051b11;
--bs-info-bg-subtle: #032830; --bs-info-bg-subtle: #032830;
--bs-warning-bg-subtle: #332701; --bs-warning-bg-subtle: #332701;
@ -158,21 +157,27 @@
--bs-light-bg-subtle: #343a40; --bs-light-bg-subtle: #343a40;
--bs-dark-bg-subtle: #1a1d20; --bs-dark-bg-subtle: #1a1d20;
--bs-primary-border-subtle: #084298; --bs-primary-border-subtle: #084298;
--bs-secondary-border-subtle: #495057; --bs-secondary-border-subtle: #41464b;
--bs-success-border-subtle: #0f5132; --bs-success-border-subtle: #0f5132;
--bs-info-border-subtle: #055160; --bs-info-border-subtle: #087990;
--bs-warning-border-subtle: #664d03; --bs-warning-border-subtle: #997404;
--bs-danger-border-subtle: #842029; --bs-danger-border-subtle: #842029;
--bs-light-border-subtle: #495057; --bs-light-border-subtle: #495057;
--bs-dark-border-subtle: #343a40; --bs-dark-border-subtle: #343a40;
--bs-heading-color: #fff; --bs-heading-color: inherit;
--bs-link-color: #6ea8fe; --bs-link-color: #6ea8fe;
--bs-link-hover-color: #9ec5fe; --bs-link-hover-color: #8bb9fe;
--bs-link-color-rgb: 110, 168, 254; --bs-link-color-rgb: 110, 168, 254;
--bs-link-hover-color-rgb: 158, 197, 254; --bs-link-hover-color-rgb: 139, 185, 254;
--bs-code-color: #e685b5; --bs-code-color: #e685b5;
--bs-highlight-color: #dee2e6;
--bs-highlight-bg: #664d03;
--bs-border-color: #495057; --bs-border-color: #495057;
--bs-border-color-translucent: rgba(255, 255, 255, 0.15); --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
--bs-form-valid-color: #75b798;
--bs-form-valid-border-color: #75b798;
--bs-form-invalid-color: #ea868f;
--bs-form-invalid-border-color: #ea868f;
} }
*, *,
@ -213,7 +218,7 @@ h6, h5, h4, h3, h2, h1 {
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
font-weight: 500; font-weight: 500;
line-height: 1.2; line-height: 1.2;
color: var(--bs-heading-color, inherit); color: var(--bs-heading-color);
} }
h1 { h1 {
@ -322,6 +327,7 @@ small {
mark { mark {
padding: 0.1875em; padding: 0.1875em;
color: var(--bs-highlight-color);
background-color: var(--bs-highlight-bg); background-color: var(--bs-highlight-bg);
} }
@ -537,8 +543,8 @@ legend + * {
} }
[type=search] { [type=search] {
outline-offset: -2px;
-webkit-appearance: textfield; -webkit-appearance: textfield;
outline-offset: -2px;
} }
[type="tel"], [type="tel"],

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap Utilities v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap Utilities v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
:root, :root,
@ -44,16 +44,16 @@
--bs-danger-rgb: 220, 53, 69; --bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250; --bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41; --bs-dark-rgb: 33, 37, 41;
--bs-primary-text: #0a58ca; --bs-primary-text-emphasis: #052c65;
--bs-secondary-text: #6c757d; --bs-secondary-text-emphasis: #2b2f32;
--bs-success-text: #146c43; --bs-success-text-emphasis: #0a3622;
--bs-info-text: #087990; --bs-info-text-emphasis: #055160;
--bs-warning-text: #997404; --bs-warning-text-emphasis: #664d03;
--bs-danger-text: #b02a37; --bs-danger-text-emphasis: #58151c;
--bs-light-text: #6c757d; --bs-light-text-emphasis: #495057;
--bs-dark-text: #495057; --bs-dark-text-emphasis: #495057;
--bs-primary-bg-subtle: #cfe2ff; --bs-primary-bg-subtle: #cfe2ff;
--bs-secondary-bg-subtle: #f8f9fa; --bs-secondary-bg-subtle: #e2e3e5;
--bs-success-bg-subtle: #d1e7dd; --bs-success-bg-subtle: #d1e7dd;
--bs-info-bg-subtle: #cff4fc; --bs-info-bg-subtle: #cff4fc;
--bs-warning-bg-subtle: #fff3cd; --bs-warning-bg-subtle: #fff3cd;
@ -61,7 +61,7 @@
--bs-light-bg-subtle: #fcfcfd; --bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da; --bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #9ec5fe; --bs-primary-border-subtle: #9ec5fe;
--bs-secondary-border-subtle: #e9ecef; --bs-secondary-border-subtle: #c4c8cb;
--bs-success-border-subtle: #a3cfbb; --bs-success-border-subtle: #a3cfbb;
--bs-info-border-subtle: #9eeaf9; --bs-info-border-subtle: #9eeaf9;
--bs-warning-border-subtle: #ffe69c; --bs-warning-border-subtle: #ffe69c;
@ -70,8 +70,6 @@
--bs-dark-border-subtle: #adb5bd; --bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255; --bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0; --bs-black-rgb: 0, 0, 0;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
@ -80,6 +78,9 @@
--bs-body-font-weight: 400; --bs-body-font-weight: 400;
--bs-body-line-height: 1.5; --bs-body-line-height: 1.5;
--bs-body-color: #212529; --bs-body-color: #212529;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg: #fff;
--bs-body-bg-rgb: 255, 255, 255;
--bs-emphasis-color: #000; --bs-emphasis-color: #000;
--bs-emphasis-color-rgb: 0, 0, 0; --bs-emphasis-color-rgb: 0, 0, 0;
--bs-secondary-color: rgba(33, 37, 41, 0.75); --bs-secondary-color: rgba(33, 37, 41, 0.75);
@ -90,14 +91,14 @@
--bs-tertiary-color-rgb: 33, 37, 41; --bs-tertiary-color-rgb: 33, 37, 41;
--bs-tertiary-bg: #f8f9fa; --bs-tertiary-bg: #f8f9fa;
--bs-tertiary-bg-rgb: 248, 249, 250; --bs-tertiary-bg-rgb: 248, 249, 250;
--bs-body-bg: #fff; --bs-heading-color: inherit;
--bs-body-bg-rgb: 255, 255, 255;
--bs-link-color: #0d6efd; --bs-link-color: #0d6efd;
--bs-link-color-rgb: 13, 110, 253; --bs-link-color-rgb: 13, 110, 253;
--bs-link-decoration: underline; --bs-link-decoration: underline;
--bs-link-hover-color: #0a58ca; --bs-link-hover-color: #0a58ca;
--bs-link-hover-color-rgb: 10, 88, 202; --bs-link-hover-color-rgb: 10, 88, 202;
--bs-code-color: #d63384; --bs-code-color: #d63384;
--bs-highlight-color: #212529;
--bs-highlight-bg: #fff3cd; --bs-highlight-bg: #fff3cd;
--bs-border-width: 1px; --bs-border-width: 1px;
--bs-border-style: solid; --bs-border-style: solid;
@ -107,50 +108,48 @@
--bs-border-radius-sm: 0.25rem; --bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem; --bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem; --bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem; --bs-border-radius-xxl: 2rem;
--bs-border-radius-2xl: var(--bs-border-radius-xxl);
--bs-border-radius-pill: 50rem; --bs-border-radius-pill: 50rem;
--bs-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075); --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175); --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
--bs-box-shadow-inset: inset 0 1px 2px rgba(var(--bs-body-color-rgb), 0.075); --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
--bs-emphasis-color: #000; --bs-focus-ring-width: 0.25rem;
--bs-form-control-bg: var(--bs-body-bg); --bs-focus-ring-opacity: 0.25;
--bs-form-control-disabled-bg: var(--bs-secondary-bg); --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
--bs-highlight-bg: #fff3cd; --bs-form-valid-color: #198754;
--bs-breakpoint-xs: 0; --bs-form-valid-border-color: #198754;
--bs-breakpoint-sm: 576px; --bs-form-invalid-color: #dc3545;
--bs-breakpoint-md: 768px; --bs-form-invalid-border-color: #dc3545;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
} }
[data-bs-theme=dark] { [data-bs-theme=dark] {
--bs-body-color: #adb5bd; color-scheme: dark;
--bs-body-color-rgb: 173, 181, 189; --bs-body-color: #dee2e6;
--bs-body-color-rgb: 222, 226, 230;
--bs-body-bg: #212529; --bs-body-bg: #212529;
--bs-body-bg-rgb: 33, 37, 41; --bs-body-bg-rgb: 33, 37, 41;
--bs-emphasis-color: #f8f9fa; --bs-emphasis-color: #fff;
--bs-emphasis-color-rgb: 248, 249, 250; --bs-emphasis-color-rgb: 255, 255, 255;
--bs-secondary-color: rgba(173, 181, 189, 0.75); --bs-secondary-color: rgba(222, 226, 230, 0.75);
--bs-secondary-color-rgb: 173, 181, 189; --bs-secondary-color-rgb: 222, 226, 230;
--bs-secondary-bg: #343a40; --bs-secondary-bg: #343a40;
--bs-secondary-bg-rgb: 52, 58, 64; --bs-secondary-bg-rgb: 52, 58, 64;
--bs-tertiary-color: rgba(173, 181, 189, 0.5); --bs-tertiary-color: rgba(222, 226, 230, 0.5);
--bs-tertiary-color-rgb: 173, 181, 189; --bs-tertiary-color-rgb: 222, 226, 230;
--bs-tertiary-bg: #2b3035; --bs-tertiary-bg: #2b3035;
--bs-tertiary-bg-rgb: 43, 48, 53; --bs-tertiary-bg-rgb: 43, 48, 53;
--bs-emphasis-color: #fff; --bs-primary-text-emphasis: #6ea8fe;
--bs-primary-text: #6ea8fe; --bs-secondary-text-emphasis: #a7acb1;
--bs-secondary-text: #dee2e6; --bs-success-text-emphasis: #75b798;
--bs-success-text: #75b798; --bs-info-text-emphasis: #6edff6;
--bs-info-text: #6edff6; --bs-warning-text-emphasis: #ffda6a;
--bs-warning-text: #ffda6a; --bs-danger-text-emphasis: #ea868f;
--bs-danger-text: #ea868f; --bs-light-text-emphasis: #f8f9fa;
--bs-light-text: #f8f9fa; --bs-dark-text-emphasis: #dee2e6;
--bs-dark-text: #dee2e6;
--bs-primary-bg-subtle: #031633; --bs-primary-bg-subtle: #031633;
--bs-secondary-bg-subtle: #212529; --bs-secondary-bg-subtle: #161719;
--bs-success-bg-subtle: #051b11; --bs-success-bg-subtle: #051b11;
--bs-info-bg-subtle: #032830; --bs-info-bg-subtle: #032830;
--bs-warning-bg-subtle: #332701; --bs-warning-bg-subtle: #332701;
@ -158,21 +157,27 @@
--bs-light-bg-subtle: #343a40; --bs-light-bg-subtle: #343a40;
--bs-dark-bg-subtle: #1a1d20; --bs-dark-bg-subtle: #1a1d20;
--bs-primary-border-subtle: #084298; --bs-primary-border-subtle: #084298;
--bs-secondary-border-subtle: #495057; --bs-secondary-border-subtle: #41464b;
--bs-success-border-subtle: #0f5132; --bs-success-border-subtle: #0f5132;
--bs-info-border-subtle: #055160; --bs-info-border-subtle: #087990;
--bs-warning-border-subtle: #664d03; --bs-warning-border-subtle: #997404;
--bs-danger-border-subtle: #842029; --bs-danger-border-subtle: #842029;
--bs-light-border-subtle: #495057; --bs-light-border-subtle: #495057;
--bs-dark-border-subtle: #343a40; --bs-dark-border-subtle: #343a40;
--bs-heading-color: #fff; --bs-heading-color: inherit;
--bs-link-color: #6ea8fe; --bs-link-color: #6ea8fe;
--bs-link-hover-color: #9ec5fe; --bs-link-hover-color: #8bb9fe;
--bs-link-color-rgb: 110, 168, 254; --bs-link-color-rgb: 110, 168, 254;
--bs-link-hover-color-rgb: 158, 197, 254; --bs-link-hover-color-rgb: 139, 185, 254;
--bs-code-color: #e685b5; --bs-code-color: #e685b5;
--bs-highlight-color: #dee2e6;
--bs-highlight-bg: #664d03;
--bs-border-color: #495057; --bs-border-color: #495057;
--bs-border-color-translucent: rgba(255, 255, 255, 0.15); --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
--bs-form-valid-color: #75b798;
--bs-form-valid-border-color: #75b798;
--bs-form-invalid-color: #ea868f;
--bs-form-invalid-border-color: #ea868f;
} }
.clearfix::after { .clearfix::after {
@ -183,98 +188,173 @@
.text-bg-primary { .text-bg-primary {
color: #fff !important; color: #fff !important;
background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-secondary { .text-bg-secondary {
color: #fff !important; color: #fff !important;
background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-success { .text-bg-success {
color: #fff !important; color: #fff !important;
background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-info { .text-bg-info {
color: #000 !important; color: #000 !important;
background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-warning { .text-bg-warning {
color: #000 !important; color: #000 !important;
background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-danger { .text-bg-danger {
color: #fff !important; color: #fff !important;
background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-light { .text-bg-light {
color: #000 !important; color: #000 !important;
background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-dark { .text-bg-dark {
color: #fff !important; color: #fff !important;
background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.link-primary { .link-primary {
color: #0d6efd !important; color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-primary:hover, .link-primary:focus { .link-primary:hover, .link-primary:focus {
color: #0a58ca !important; color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-secondary { .link-secondary {
color: #6c757d !important; color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-secondary:hover, .link-secondary:focus { .link-secondary:hover, .link-secondary:focus {
color: #565e64 !important; color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-success { .link-success {
color: #198754 !important; color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-success:hover, .link-success:focus { .link-success:hover, .link-success:focus {
color: #146c43 !important; color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-info { .link-info {
color: #0dcaf0 !important; color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-info:hover, .link-info:focus { .link-info:hover, .link-info:focus {
color: #3dd5f3 !important; color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-warning { .link-warning {
color: #ffc107 !important; color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-warning:hover, .link-warning:focus { .link-warning:hover, .link-warning:focus {
color: #ffcd39 !important; color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-danger { .link-danger {
color: #dc3545 !important; color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-danger:hover, .link-danger:focus { .link-danger:hover, .link-danger:focus {
color: #b02a37 !important; color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-light { .link-light {
color: #f8f9fa !important; color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-light:hover, .link-light:focus { .link-light:hover, .link-light:focus {
color: #f9fafb !important; color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-dark { .link-dark {
color: #212529 !important; color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-dark:hover, .link-dark:focus { .link-dark:hover, .link-dark:focus {
color: #1a1e21 !important; color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis {
color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}
.focus-ring:focus {
outline: 0;
box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}
.icon-link {
display: inline-flex;
gap: 0.375rem;
align-items: center;
-webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
text-underline-offset: 0.25em;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.icon-link > .bi {
flex-shrink: 0;
width: 1em;
height: 1em;
fill: currentcolor;
transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
.icon-link > .bi {
transition: none;
}
}
.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
} }
.ratio { .ratio {
@ -426,7 +506,6 @@
.visually-hidden, .visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) { .visually-hidden-focusable:not(:focus):not(:focus-within) {
position: absolute !important;
width: 1px !important; width: 1px !important;
height: 1px !important; height: 1px !important;
padding: 0 !important; padding: 0 !important;
@ -436,6 +515,10 @@
white-space: nowrap !important; white-space: nowrap !important;
border: 0 !important; border: 0 !important;
} }
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
position: absolute !important;
}
.stretched-link::after { .stretched-link::after {
position: absolute; position: absolute;
@ -456,7 +539,7 @@
.vr { .vr {
display: inline-block; display: inline-block;
align-self: stretch; align-self: stretch;
width: 1px; width: var(--bs-border-width);
min-height: 1em; min-height: 1em;
background-color: currentcolor; background-color: currentcolor;
opacity: 0.25; opacity: 0.25;
@ -607,6 +690,10 @@
display: grid !important; display: grid !important;
} }
.d-inline-grid {
display: inline-grid !important;
}
.d-table { .d-table {
display: table !important; display: table !important;
} }
@ -632,21 +719,53 @@
} }
.shadow { .shadow {
box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15) !important; box-shadow: var(--bs-box-shadow) !important;
} }
.shadow-sm { .shadow-sm {
box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075) !important; box-shadow: var(--bs-box-shadow-sm) !important;
} }
.shadow-lg { .shadow-lg {
box-shadow: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175) !important; box-shadow: var(--bs-box-shadow-lg) !important;
} }
.shadow-none { .shadow-none {
box-shadow: none !important; box-shadow: none !important;
} }
.focus-ring-primary {
--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-secondary {
--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-success {
--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-info {
--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-warning {
--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-danger {
--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-light {
--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-dark {
--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}
.position-static { .position-static {
position: static !important; position: static !important;
} }
@ -808,6 +927,11 @@
border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
} }
.border-black {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}
.border-white { .border-white {
--bs-border-opacity: 1; --bs-border-opacity: 1;
border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
@ -846,23 +970,23 @@
} }
.border-1 { .border-1 {
--bs-border-width: 1px; border-width: 1px !important;
} }
.border-2 { .border-2 {
--bs-border-width: 2px; border-width: 2px !important;
} }
.border-3 { .border-3 {
--bs-border-width: 3px; border-width: 3px !important;
} }
.border-4 { .border-4 {
--bs-border-width: 4px; border-width: 4px !important;
} }
.border-5 { .border-5 {
--bs-border-width: 5px; border-width: 5px !important;
} }
.border-opacity-10 { .border-opacity-10 {
@ -1827,35 +1951,201 @@
} }
.text-primary-emphasis { .text-primary-emphasis {
color: var(--bs-primary-text) !important; color: var(--bs-primary-text-emphasis) !important;
} }
.text-secondary-emphasis { .text-secondary-emphasis {
color: var(--bs-secondary-text) !important; color: var(--bs-secondary-text-emphasis) !important;
} }
.text-success-emphasis { .text-success-emphasis {
color: var(--bs-success-text) !important; color: var(--bs-success-text-emphasis) !important;
} }
.text-info-emphasis { .text-info-emphasis {
color: var(--bs-info-text) !important; color: var(--bs-info-text-emphasis) !important;
} }
.text-warning-emphasis { .text-warning-emphasis {
color: var(--bs-warning-text) !important; color: var(--bs-warning-text-emphasis) !important;
} }
.text-danger-emphasis { .text-danger-emphasis {
color: var(--bs-danger-text) !important; color: var(--bs-danger-text-emphasis) !important;
} }
.text-light-emphasis { .text-light-emphasis {
color: var(--bs-light-text) !important; color: var(--bs-light-text-emphasis) !important;
} }
.text-dark-emphasis { .text-dark-emphasis {
color: var(--bs-dark-text) !important; color: var(--bs-dark-text-emphasis) !important;
}
.link-opacity-10 {
--bs-link-opacity: 0.1;
}
.link-opacity-10-hover:hover {
--bs-link-opacity: 0.1;
}
.link-opacity-25 {
--bs-link-opacity: 0.25;
}
.link-opacity-25-hover:hover {
--bs-link-opacity: 0.25;
}
.link-opacity-50 {
--bs-link-opacity: 0.5;
}
.link-opacity-50-hover:hover {
--bs-link-opacity: 0.5;
}
.link-opacity-75 {
--bs-link-opacity: 0.75;
}
.link-opacity-75-hover:hover {
--bs-link-opacity: 0.75;
}
.link-opacity-100 {
--bs-link-opacity: 1;
}
.link-opacity-100-hover:hover {
--bs-link-opacity: 1;
}
.link-offset-1 {
text-underline-offset: 0.125em !important;
}
.link-offset-1-hover:hover {
text-underline-offset: 0.125em !important;
}
.link-offset-2 {
text-underline-offset: 0.25em !important;
}
.link-offset-2-hover:hover {
text-underline-offset: 0.25em !important;
}
.link-offset-3 {
text-underline-offset: 0.375em !important;
}
.link-offset-3-hover:hover {
text-underline-offset: 0.375em !important;
}
.link-underline-primary {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-secondary {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-success {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-info {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-warning {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-danger {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-light {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-dark {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-underline-opacity-0 {
--bs-link-underline-opacity: 0;
}
.link-underline-opacity-0-hover:hover {
--bs-link-underline-opacity: 0;
}
.link-underline-opacity-10 {
--bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-10-hover:hover {
--bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-25 {
--bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-25-hover:hover {
--bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-50 {
--bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-50-hover:hover {
--bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-75 {
--bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-75-hover:hover {
--bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-100 {
--bs-link-underline-opacity: 1;
}
.link-underline-opacity-100-hover:hover {
--bs-link-underline-opacity: 1;
} }
.bg-primary { .bg-primary {
@ -1928,11 +2218,6 @@
background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important; background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
} }
.bg-body-emphasis {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-emphasis-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-opacity-10 { .bg-opacity-10 {
--bs-bg-opacity: 0.1; --bs-bg-opacity: 0.1;
} }
@ -2040,7 +2325,7 @@
} }
.rounded-5 { .rounded-5 {
border-radius: var(--bs-border-radius-2xl) !important; border-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-circle { .rounded-circle {
@ -2082,8 +2367,8 @@
} }
.rounded-top-5 { .rounded-top-5 {
border-top-left-radius: var(--bs-border-radius-2xl) !important; border-top-left-radius: var(--bs-border-radius-xxl) !important;
border-top-right-radius: var(--bs-border-radius-2xl) !important; border-top-right-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-top-circle { .rounded-top-circle {
@ -2127,8 +2412,8 @@
} }
.rounded-end-5 { .rounded-end-5 {
border-top-right-radius: var(--bs-border-radius-2xl) !important; border-top-right-radius: var(--bs-border-radius-xxl) !important;
border-bottom-right-radius: var(--bs-border-radius-2xl) !important; border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-end-circle { .rounded-end-circle {
@ -2172,8 +2457,8 @@
} }
.rounded-bottom-5 { .rounded-bottom-5 {
border-bottom-right-radius: var(--bs-border-radius-2xl) !important; border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
border-bottom-left-radius: var(--bs-border-radius-2xl) !important; border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-bottom-circle { .rounded-bottom-circle {
@ -2217,8 +2502,8 @@
} }
.rounded-start-5 { .rounded-start-5 {
border-bottom-left-radius: var(--bs-border-radius-2xl) !important; border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
border-top-left-radius: var(--bs-border-radius-2xl) !important; border-top-left-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-start-circle { .rounded-start-circle {
@ -2301,6 +2586,9 @@
.d-sm-grid { .d-sm-grid {
display: grid !important; display: grid !important;
} }
.d-sm-inline-grid {
display: inline-grid !important;
}
.d-sm-table { .d-sm-table {
display: table !important; display: table !important;
} }
@ -2859,6 +3147,9 @@
.d-md-grid { .d-md-grid {
display: grid !important; display: grid !important;
} }
.d-md-inline-grid {
display: inline-grid !important;
}
.d-md-table { .d-md-table {
display: table !important; display: table !important;
} }
@ -3417,6 +3708,9 @@
.d-lg-grid { .d-lg-grid {
display: grid !important; display: grid !important;
} }
.d-lg-inline-grid {
display: inline-grid !important;
}
.d-lg-table { .d-lg-table {
display: table !important; display: table !important;
} }
@ -3975,6 +4269,9 @@
.d-xl-grid { .d-xl-grid {
display: grid !important; display: grid !important;
} }
.d-xl-inline-grid {
display: inline-grid !important;
}
.d-xl-table { .d-xl-table {
display: table !important; display: table !important;
} }
@ -4533,6 +4830,9 @@
.d-xxl-grid { .d-xxl-grid {
display: grid !important; display: grid !important;
} }
.d-xxl-inline-grid {
display: inline-grid !important;
}
.d-xxl-table { .d-xxl-table {
display: table !important; display: table !important;
} }
@ -5076,6 +5376,9 @@
.d-print-grid { .d-print-grid {
display: grid !important; display: grid !important;
} }
.d-print-inline-grid {
display: inline-grid !important;
}
.d-print-table { .d-print-table {
display: table !important; display: table !important;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap Utilities v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap Utilities v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
:root, :root,
@ -44,16 +44,16 @@
--bs-danger-rgb: 220, 53, 69; --bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250; --bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41; --bs-dark-rgb: 33, 37, 41;
--bs-primary-text: #0a58ca; --bs-primary-text-emphasis: #052c65;
--bs-secondary-text: #6c757d; --bs-secondary-text-emphasis: #2b2f32;
--bs-success-text: #146c43; --bs-success-text-emphasis: #0a3622;
--bs-info-text: #087990; --bs-info-text-emphasis: #055160;
--bs-warning-text: #997404; --bs-warning-text-emphasis: #664d03;
--bs-danger-text: #b02a37; --bs-danger-text-emphasis: #58151c;
--bs-light-text: #6c757d; --bs-light-text-emphasis: #495057;
--bs-dark-text: #495057; --bs-dark-text-emphasis: #495057;
--bs-primary-bg-subtle: #cfe2ff; --bs-primary-bg-subtle: #cfe2ff;
--bs-secondary-bg-subtle: #f8f9fa; --bs-secondary-bg-subtle: #e2e3e5;
--bs-success-bg-subtle: #d1e7dd; --bs-success-bg-subtle: #d1e7dd;
--bs-info-bg-subtle: #cff4fc; --bs-info-bg-subtle: #cff4fc;
--bs-warning-bg-subtle: #fff3cd; --bs-warning-bg-subtle: #fff3cd;
@ -61,7 +61,7 @@
--bs-light-bg-subtle: #fcfcfd; --bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da; --bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #9ec5fe; --bs-primary-border-subtle: #9ec5fe;
--bs-secondary-border-subtle: #e9ecef; --bs-secondary-border-subtle: #c4c8cb;
--bs-success-border-subtle: #a3cfbb; --bs-success-border-subtle: #a3cfbb;
--bs-info-border-subtle: #9eeaf9; --bs-info-border-subtle: #9eeaf9;
--bs-warning-border-subtle: #ffe69c; --bs-warning-border-subtle: #ffe69c;
@ -70,8 +70,6 @@
--bs-dark-border-subtle: #adb5bd; --bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255; --bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0; --bs-black-rgb: 0, 0, 0;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
@ -80,6 +78,9 @@
--bs-body-font-weight: 400; --bs-body-font-weight: 400;
--bs-body-line-height: 1.5; --bs-body-line-height: 1.5;
--bs-body-color: #212529; --bs-body-color: #212529;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg: #fff;
--bs-body-bg-rgb: 255, 255, 255;
--bs-emphasis-color: #000; --bs-emphasis-color: #000;
--bs-emphasis-color-rgb: 0, 0, 0; --bs-emphasis-color-rgb: 0, 0, 0;
--bs-secondary-color: rgba(33, 37, 41, 0.75); --bs-secondary-color: rgba(33, 37, 41, 0.75);
@ -90,14 +91,14 @@
--bs-tertiary-color-rgb: 33, 37, 41; --bs-tertiary-color-rgb: 33, 37, 41;
--bs-tertiary-bg: #f8f9fa; --bs-tertiary-bg: #f8f9fa;
--bs-tertiary-bg-rgb: 248, 249, 250; --bs-tertiary-bg-rgb: 248, 249, 250;
--bs-body-bg: #fff; --bs-heading-color: inherit;
--bs-body-bg-rgb: 255, 255, 255;
--bs-link-color: #0d6efd; --bs-link-color: #0d6efd;
--bs-link-color-rgb: 13, 110, 253; --bs-link-color-rgb: 13, 110, 253;
--bs-link-decoration: underline; --bs-link-decoration: underline;
--bs-link-hover-color: #0a58ca; --bs-link-hover-color: #0a58ca;
--bs-link-hover-color-rgb: 10, 88, 202; --bs-link-hover-color-rgb: 10, 88, 202;
--bs-code-color: #d63384; --bs-code-color: #d63384;
--bs-highlight-color: #212529;
--bs-highlight-bg: #fff3cd; --bs-highlight-bg: #fff3cd;
--bs-border-width: 1px; --bs-border-width: 1px;
--bs-border-style: solid; --bs-border-style: solid;
@ -107,50 +108,48 @@
--bs-border-radius-sm: 0.25rem; --bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem; --bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem; --bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem; --bs-border-radius-xxl: 2rem;
--bs-border-radius-2xl: var(--bs-border-radius-xxl);
--bs-border-radius-pill: 50rem; --bs-border-radius-pill: 50rem;
--bs-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075); --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175); --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
--bs-box-shadow-inset: inset 0 1px 2px rgba(var(--bs-body-color-rgb), 0.075); --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
--bs-emphasis-color: #000; --bs-focus-ring-width: 0.25rem;
--bs-form-control-bg: var(--bs-body-bg); --bs-focus-ring-opacity: 0.25;
--bs-form-control-disabled-bg: var(--bs-secondary-bg); --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
--bs-highlight-bg: #fff3cd; --bs-form-valid-color: #198754;
--bs-breakpoint-xs: 0; --bs-form-valid-border-color: #198754;
--bs-breakpoint-sm: 576px; --bs-form-invalid-color: #dc3545;
--bs-breakpoint-md: 768px; --bs-form-invalid-border-color: #dc3545;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
} }
[data-bs-theme=dark] { [data-bs-theme=dark] {
--bs-body-color: #adb5bd; color-scheme: dark;
--bs-body-color-rgb: 173, 181, 189; --bs-body-color: #dee2e6;
--bs-body-color-rgb: 222, 226, 230;
--bs-body-bg: #212529; --bs-body-bg: #212529;
--bs-body-bg-rgb: 33, 37, 41; --bs-body-bg-rgb: 33, 37, 41;
--bs-emphasis-color: #f8f9fa; --bs-emphasis-color: #fff;
--bs-emphasis-color-rgb: 248, 249, 250; --bs-emphasis-color-rgb: 255, 255, 255;
--bs-secondary-color: rgba(173, 181, 189, 0.75); --bs-secondary-color: rgba(222, 226, 230, 0.75);
--bs-secondary-color-rgb: 173, 181, 189; --bs-secondary-color-rgb: 222, 226, 230;
--bs-secondary-bg: #343a40; --bs-secondary-bg: #343a40;
--bs-secondary-bg-rgb: 52, 58, 64; --bs-secondary-bg-rgb: 52, 58, 64;
--bs-tertiary-color: rgba(173, 181, 189, 0.5); --bs-tertiary-color: rgba(222, 226, 230, 0.5);
--bs-tertiary-color-rgb: 173, 181, 189; --bs-tertiary-color-rgb: 222, 226, 230;
--bs-tertiary-bg: #2b3035; --bs-tertiary-bg: #2b3035;
--bs-tertiary-bg-rgb: 43, 48, 53; --bs-tertiary-bg-rgb: 43, 48, 53;
--bs-emphasis-color: #fff; --bs-primary-text-emphasis: #6ea8fe;
--bs-primary-text: #6ea8fe; --bs-secondary-text-emphasis: #a7acb1;
--bs-secondary-text: #dee2e6; --bs-success-text-emphasis: #75b798;
--bs-success-text: #75b798; --bs-info-text-emphasis: #6edff6;
--bs-info-text: #6edff6; --bs-warning-text-emphasis: #ffda6a;
--bs-warning-text: #ffda6a; --bs-danger-text-emphasis: #ea868f;
--bs-danger-text: #ea868f; --bs-light-text-emphasis: #f8f9fa;
--bs-light-text: #f8f9fa; --bs-dark-text-emphasis: #dee2e6;
--bs-dark-text: #dee2e6;
--bs-primary-bg-subtle: #031633; --bs-primary-bg-subtle: #031633;
--bs-secondary-bg-subtle: #212529; --bs-secondary-bg-subtle: #161719;
--bs-success-bg-subtle: #051b11; --bs-success-bg-subtle: #051b11;
--bs-info-bg-subtle: #032830; --bs-info-bg-subtle: #032830;
--bs-warning-bg-subtle: #332701; --bs-warning-bg-subtle: #332701;
@ -158,21 +157,27 @@
--bs-light-bg-subtle: #343a40; --bs-light-bg-subtle: #343a40;
--bs-dark-bg-subtle: #1a1d20; --bs-dark-bg-subtle: #1a1d20;
--bs-primary-border-subtle: #084298; --bs-primary-border-subtle: #084298;
--bs-secondary-border-subtle: #495057; --bs-secondary-border-subtle: #41464b;
--bs-success-border-subtle: #0f5132; --bs-success-border-subtle: #0f5132;
--bs-info-border-subtle: #055160; --bs-info-border-subtle: #087990;
--bs-warning-border-subtle: #664d03; --bs-warning-border-subtle: #997404;
--bs-danger-border-subtle: #842029; --bs-danger-border-subtle: #842029;
--bs-light-border-subtle: #495057; --bs-light-border-subtle: #495057;
--bs-dark-border-subtle: #343a40; --bs-dark-border-subtle: #343a40;
--bs-heading-color: #fff; --bs-heading-color: inherit;
--bs-link-color: #6ea8fe; --bs-link-color: #6ea8fe;
--bs-link-hover-color: #9ec5fe; --bs-link-hover-color: #8bb9fe;
--bs-link-color-rgb: 110, 168, 254; --bs-link-color-rgb: 110, 168, 254;
--bs-link-hover-color-rgb: 158, 197, 254; --bs-link-hover-color-rgb: 139, 185, 254;
--bs-code-color: #e685b5; --bs-code-color: #e685b5;
--bs-highlight-color: #dee2e6;
--bs-highlight-bg: #664d03;
--bs-border-color: #495057; --bs-border-color: #495057;
--bs-border-color-translucent: rgba(255, 255, 255, 0.15); --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
--bs-form-valid-color: #75b798;
--bs-form-valid-border-color: #75b798;
--bs-form-invalid-color: #ea868f;
--bs-form-invalid-border-color: #ea868f;
} }
.clearfix::after { .clearfix::after {
@ -183,98 +188,173 @@
.text-bg-primary { .text-bg-primary {
color: #fff !important; color: #fff !important;
background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-secondary { .text-bg-secondary {
color: #fff !important; color: #fff !important;
background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-success { .text-bg-success {
color: #fff !important; color: #fff !important;
background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-info { .text-bg-info {
color: #000 !important; color: #000 !important;
background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-warning { .text-bg-warning {
color: #000 !important; color: #000 !important;
background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-danger { .text-bg-danger {
color: #fff !important; color: #fff !important;
background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-light { .text-bg-light {
color: #000 !important; color: #000 !important;
background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-dark { .text-bg-dark {
color: #fff !important; color: #fff !important;
background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.link-primary { .link-primary {
color: #0d6efd !important; color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-primary:hover, .link-primary:focus { .link-primary:hover, .link-primary:focus {
color: #0a58ca !important; color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-secondary { .link-secondary {
color: #6c757d !important; color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-secondary:hover, .link-secondary:focus { .link-secondary:hover, .link-secondary:focus {
color: #565e64 !important; color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-success { .link-success {
color: #198754 !important; color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-success:hover, .link-success:focus { .link-success:hover, .link-success:focus {
color: #146c43 !important; color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-info { .link-info {
color: #0dcaf0 !important; color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-info:hover, .link-info:focus { .link-info:hover, .link-info:focus {
color: #3dd5f3 !important; color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-warning { .link-warning {
color: #ffc107 !important; color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-warning:hover, .link-warning:focus { .link-warning:hover, .link-warning:focus {
color: #ffcd39 !important; color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-danger { .link-danger {
color: #dc3545 !important; color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-danger:hover, .link-danger:focus { .link-danger:hover, .link-danger:focus {
color: #b02a37 !important; color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-light { .link-light {
color: #f8f9fa !important; color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-light:hover, .link-light:focus { .link-light:hover, .link-light:focus {
color: #f9fafb !important; color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-dark { .link-dark {
color: #212529 !important; color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-dark:hover, .link-dark:focus { .link-dark:hover, .link-dark:focus {
color: #1a1e21 !important; color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis {
color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}
.focus-ring:focus {
outline: 0;
box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}
.icon-link {
display: inline-flex;
gap: 0.375rem;
align-items: center;
-webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
text-underline-offset: 0.25em;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.icon-link > .bi {
flex-shrink: 0;
width: 1em;
height: 1em;
fill: currentcolor;
transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
.icon-link > .bi {
transition: none;
}
}
.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
transform: var(--bs-icon-link-transform, translate3d(-0.25em, 0, 0));
} }
.ratio { .ratio {
@ -426,7 +506,6 @@
.visually-hidden, .visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) { .visually-hidden-focusable:not(:focus):not(:focus-within) {
position: absolute !important;
width: 1px !important; width: 1px !important;
height: 1px !important; height: 1px !important;
padding: 0 !important; padding: 0 !important;
@ -436,6 +515,10 @@
white-space: nowrap !important; white-space: nowrap !important;
border: 0 !important; border: 0 !important;
} }
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
position: absolute !important;
}
.stretched-link::after { .stretched-link::after {
position: absolute; position: absolute;
@ -456,7 +539,7 @@
.vr { .vr {
display: inline-block; display: inline-block;
align-self: stretch; align-self: stretch;
width: 1px; width: var(--bs-border-width);
min-height: 1em; min-height: 1em;
background-color: currentcolor; background-color: currentcolor;
opacity: 0.25; opacity: 0.25;
@ -607,6 +690,10 @@
display: grid !important; display: grid !important;
} }
.d-inline-grid {
display: inline-grid !important;
}
.d-table { .d-table {
display: table !important; display: table !important;
} }
@ -632,21 +719,53 @@
} }
.shadow { .shadow {
box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15) !important; box-shadow: var(--bs-box-shadow) !important;
} }
.shadow-sm { .shadow-sm {
box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075) !important; box-shadow: var(--bs-box-shadow-sm) !important;
} }
.shadow-lg { .shadow-lg {
box-shadow: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175) !important; box-shadow: var(--bs-box-shadow-lg) !important;
} }
.shadow-none { .shadow-none {
box-shadow: none !important; box-shadow: none !important;
} }
.focus-ring-primary {
--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-secondary {
--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-success {
--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-info {
--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-warning {
--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-danger {
--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-light {
--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-dark {
--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}
.position-static { .position-static {
position: static !important; position: static !important;
} }
@ -808,6 +927,11 @@
border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
} }
.border-black {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}
.border-white { .border-white {
--bs-border-opacity: 1; --bs-border-opacity: 1;
border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
@ -846,23 +970,23 @@
} }
.border-1 { .border-1 {
--bs-border-width: 1px; border-width: 1px !important;
} }
.border-2 { .border-2 {
--bs-border-width: 2px; border-width: 2px !important;
} }
.border-3 { .border-3 {
--bs-border-width: 3px; border-width: 3px !important;
} }
.border-4 { .border-4 {
--bs-border-width: 4px; border-width: 4px !important;
} }
.border-5 { .border-5 {
--bs-border-width: 5px; border-width: 5px !important;
} }
.border-opacity-10 { .border-opacity-10 {
@ -1819,35 +1943,201 @@
} }
.text-primary-emphasis { .text-primary-emphasis {
color: var(--bs-primary-text) !important; color: var(--bs-primary-text-emphasis) !important;
} }
.text-secondary-emphasis { .text-secondary-emphasis {
color: var(--bs-secondary-text) !important; color: var(--bs-secondary-text-emphasis) !important;
} }
.text-success-emphasis { .text-success-emphasis {
color: var(--bs-success-text) !important; color: var(--bs-success-text-emphasis) !important;
} }
.text-info-emphasis { .text-info-emphasis {
color: var(--bs-info-text) !important; color: var(--bs-info-text-emphasis) !important;
} }
.text-warning-emphasis { .text-warning-emphasis {
color: var(--bs-warning-text) !important; color: var(--bs-warning-text-emphasis) !important;
} }
.text-danger-emphasis { .text-danger-emphasis {
color: var(--bs-danger-text) !important; color: var(--bs-danger-text-emphasis) !important;
} }
.text-light-emphasis { .text-light-emphasis {
color: var(--bs-light-text) !important; color: var(--bs-light-text-emphasis) !important;
} }
.text-dark-emphasis { .text-dark-emphasis {
color: var(--bs-dark-text) !important; color: var(--bs-dark-text-emphasis) !important;
}
.link-opacity-10 {
--bs-link-opacity: 0.1;
}
.link-opacity-10-hover:hover {
--bs-link-opacity: 0.1;
}
.link-opacity-25 {
--bs-link-opacity: 0.25;
}
.link-opacity-25-hover:hover {
--bs-link-opacity: 0.25;
}
.link-opacity-50 {
--bs-link-opacity: 0.5;
}
.link-opacity-50-hover:hover {
--bs-link-opacity: 0.5;
}
.link-opacity-75 {
--bs-link-opacity: 0.75;
}
.link-opacity-75-hover:hover {
--bs-link-opacity: 0.75;
}
.link-opacity-100 {
--bs-link-opacity: 1;
}
.link-opacity-100-hover:hover {
--bs-link-opacity: 1;
}
.link-offset-1 {
text-underline-offset: 0.125em !important;
}
.link-offset-1-hover:hover {
text-underline-offset: 0.125em !important;
}
.link-offset-2 {
text-underline-offset: 0.25em !important;
}
.link-offset-2-hover:hover {
text-underline-offset: 0.25em !important;
}
.link-offset-3 {
text-underline-offset: 0.375em !important;
}
.link-offset-3-hover:hover {
text-underline-offset: 0.375em !important;
}
.link-underline-primary {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-secondary {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-success {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-info {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-warning {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-danger {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-light {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-dark {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-underline-opacity-0 {
--bs-link-underline-opacity: 0;
}
.link-underline-opacity-0-hover:hover {
--bs-link-underline-opacity: 0;
}
.link-underline-opacity-10 {
--bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-10-hover:hover {
--bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-25 {
--bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-25-hover:hover {
--bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-50 {
--bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-50-hover:hover {
--bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-75 {
--bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-75-hover:hover {
--bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-100 {
--bs-link-underline-opacity: 1;
}
.link-underline-opacity-100-hover:hover {
--bs-link-underline-opacity: 1;
} }
.bg-primary { .bg-primary {
@ -1920,11 +2210,6 @@
background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important; background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
} }
.bg-body-emphasis {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-emphasis-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-opacity-10 { .bg-opacity-10 {
--bs-bg-opacity: 0.1; --bs-bg-opacity: 0.1;
} }
@ -2032,7 +2317,7 @@
} }
.rounded-5 { .rounded-5 {
border-radius: var(--bs-border-radius-2xl) !important; border-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-circle { .rounded-circle {
@ -2074,8 +2359,8 @@
} }
.rounded-top-5 { .rounded-top-5 {
border-top-right-radius: var(--bs-border-radius-2xl) !important; border-top-right-radius: var(--bs-border-radius-xxl) !important;
border-top-left-radius: var(--bs-border-radius-2xl) !important; border-top-left-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-top-circle { .rounded-top-circle {
@ -2119,8 +2404,8 @@
} }
.rounded-end-5 { .rounded-end-5 {
border-top-left-radius: var(--bs-border-radius-2xl) !important; border-top-left-radius: var(--bs-border-radius-xxl) !important;
border-bottom-left-radius: var(--bs-border-radius-2xl) !important; border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-end-circle { .rounded-end-circle {
@ -2164,8 +2449,8 @@
} }
.rounded-bottom-5 { .rounded-bottom-5 {
border-bottom-left-radius: var(--bs-border-radius-2xl) !important; border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
border-bottom-right-radius: var(--bs-border-radius-2xl) !important; border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-bottom-circle { .rounded-bottom-circle {
@ -2209,8 +2494,8 @@
} }
.rounded-start-5 { .rounded-start-5 {
border-bottom-right-radius: var(--bs-border-radius-2xl) !important; border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
border-top-right-radius: var(--bs-border-radius-2xl) !important; border-top-right-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-start-circle { .rounded-start-circle {
@ -2293,6 +2578,9 @@
.d-sm-grid { .d-sm-grid {
display: grid !important; display: grid !important;
} }
.d-sm-inline-grid {
display: inline-grid !important;
}
.d-sm-table { .d-sm-table {
display: table !important; display: table !important;
} }
@ -2851,6 +3139,9 @@
.d-md-grid { .d-md-grid {
display: grid !important; display: grid !important;
} }
.d-md-inline-grid {
display: inline-grid !important;
}
.d-md-table { .d-md-table {
display: table !important; display: table !important;
} }
@ -3409,6 +3700,9 @@
.d-lg-grid { .d-lg-grid {
display: grid !important; display: grid !important;
} }
.d-lg-inline-grid {
display: inline-grid !important;
}
.d-lg-table { .d-lg-table {
display: table !important; display: table !important;
} }
@ -3967,6 +4261,9 @@
.d-xl-grid { .d-xl-grid {
display: grid !important; display: grid !important;
} }
.d-xl-inline-grid {
display: inline-grid !important;
}
.d-xl-table { .d-xl-table {
display: table !important; display: table !important;
} }
@ -4525,6 +4822,9 @@
.d-xxl-grid { .d-xxl-grid {
display: grid !important; display: grid !important;
} }
.d-xxl-inline-grid {
display: inline-grid !important;
}
.d-xxl-table { .d-xxl-table {
display: table !important; display: table !important;
} }
@ -5068,6 +5368,9 @@
.d-print-grid { .d-print-grid {
display: grid !important; display: grid !important;
} }
.d-print-inline-grid {
display: inline-grid !important;
}
.d-print-table { .d-print-table {
display: table !important; display: table !important;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
@charset "UTF-8"; @charset "UTF-8";
/*! /*!
* Bootstrap v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
:root, :root,
@ -45,16 +45,16 @@
--bs-danger-rgb: 220, 53, 69; --bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250; --bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41; --bs-dark-rgb: 33, 37, 41;
--bs-primary-text: #0a58ca; --bs-primary-text-emphasis: #052c65;
--bs-secondary-text: #6c757d; --bs-secondary-text-emphasis: #2b2f32;
--bs-success-text: #146c43; --bs-success-text-emphasis: #0a3622;
--bs-info-text: #087990; --bs-info-text-emphasis: #055160;
--bs-warning-text: #997404; --bs-warning-text-emphasis: #664d03;
--bs-danger-text: #b02a37; --bs-danger-text-emphasis: #58151c;
--bs-light-text: #6c757d; --bs-light-text-emphasis: #495057;
--bs-dark-text: #495057; --bs-dark-text-emphasis: #495057;
--bs-primary-bg-subtle: #cfe2ff; --bs-primary-bg-subtle: #cfe2ff;
--bs-secondary-bg-subtle: #f8f9fa; --bs-secondary-bg-subtle: #e2e3e5;
--bs-success-bg-subtle: #d1e7dd; --bs-success-bg-subtle: #d1e7dd;
--bs-info-bg-subtle: #cff4fc; --bs-info-bg-subtle: #cff4fc;
--bs-warning-bg-subtle: #fff3cd; --bs-warning-bg-subtle: #fff3cd;
@ -62,7 +62,7 @@
--bs-light-bg-subtle: #fcfcfd; --bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da; --bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #9ec5fe; --bs-primary-border-subtle: #9ec5fe;
--bs-secondary-border-subtle: #e9ecef; --bs-secondary-border-subtle: #c4c8cb;
--bs-success-border-subtle: #a3cfbb; --bs-success-border-subtle: #a3cfbb;
--bs-info-border-subtle: #9eeaf9; --bs-info-border-subtle: #9eeaf9;
--bs-warning-border-subtle: #ffe69c; --bs-warning-border-subtle: #ffe69c;
@ -71,8 +71,6 @@
--bs-dark-border-subtle: #adb5bd; --bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255; --bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0; --bs-black-rgb: 0, 0, 0;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
@ -81,6 +79,9 @@
--bs-body-font-weight: 400; --bs-body-font-weight: 400;
--bs-body-line-height: 1.5; --bs-body-line-height: 1.5;
--bs-body-color: #212529; --bs-body-color: #212529;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg: #fff;
--bs-body-bg-rgb: 255, 255, 255;
--bs-emphasis-color: #000; --bs-emphasis-color: #000;
--bs-emphasis-color-rgb: 0, 0, 0; --bs-emphasis-color-rgb: 0, 0, 0;
--bs-secondary-color: rgba(33, 37, 41, 0.75); --bs-secondary-color: rgba(33, 37, 41, 0.75);
@ -91,14 +92,14 @@
--bs-tertiary-color-rgb: 33, 37, 41; --bs-tertiary-color-rgb: 33, 37, 41;
--bs-tertiary-bg: #f8f9fa; --bs-tertiary-bg: #f8f9fa;
--bs-tertiary-bg-rgb: 248, 249, 250; --bs-tertiary-bg-rgb: 248, 249, 250;
--bs-body-bg: #fff; --bs-heading-color: inherit;
--bs-body-bg-rgb: 255, 255, 255;
--bs-link-color: #0d6efd; --bs-link-color: #0d6efd;
--bs-link-color-rgb: 13, 110, 253; --bs-link-color-rgb: 13, 110, 253;
--bs-link-decoration: underline; --bs-link-decoration: underline;
--bs-link-hover-color: #0a58ca; --bs-link-hover-color: #0a58ca;
--bs-link-hover-color-rgb: 10, 88, 202; --bs-link-hover-color-rgb: 10, 88, 202;
--bs-code-color: #d63384; --bs-code-color: #d63384;
--bs-highlight-color: #212529;
--bs-highlight-bg: #fff3cd; --bs-highlight-bg: #fff3cd;
--bs-border-width: 1px; --bs-border-width: 1px;
--bs-border-style: solid; --bs-border-style: solid;
@ -108,50 +109,48 @@
--bs-border-radius-sm: 0.25rem; --bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem; --bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem; --bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem; --bs-border-radius-xxl: 2rem;
--bs-border-radius-2xl: var(--bs-border-radius-xxl);
--bs-border-radius-pill: 50rem; --bs-border-radius-pill: 50rem;
--bs-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075); --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175); --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
--bs-box-shadow-inset: inset 0 1px 2px rgba(var(--bs-body-color-rgb), 0.075); --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
--bs-emphasis-color: #000; --bs-focus-ring-width: 0.25rem;
--bs-form-control-bg: var(--bs-body-bg); --bs-focus-ring-opacity: 0.25;
--bs-form-control-disabled-bg: var(--bs-secondary-bg); --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
--bs-highlight-bg: #fff3cd; --bs-form-valid-color: #198754;
--bs-breakpoint-xs: 0; --bs-form-valid-border-color: #198754;
--bs-breakpoint-sm: 576px; --bs-form-invalid-color: #dc3545;
--bs-breakpoint-md: 768px; --bs-form-invalid-border-color: #dc3545;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
} }
[data-bs-theme=dark] { [data-bs-theme=dark] {
--bs-body-color: #adb5bd; color-scheme: dark;
--bs-body-color-rgb: 173, 181, 189; --bs-body-color: #dee2e6;
--bs-body-color-rgb: 222, 226, 230;
--bs-body-bg: #212529; --bs-body-bg: #212529;
--bs-body-bg-rgb: 33, 37, 41; --bs-body-bg-rgb: 33, 37, 41;
--bs-emphasis-color: #f8f9fa; --bs-emphasis-color: #fff;
--bs-emphasis-color-rgb: 248, 249, 250; --bs-emphasis-color-rgb: 255, 255, 255;
--bs-secondary-color: rgba(173, 181, 189, 0.75); --bs-secondary-color: rgba(222, 226, 230, 0.75);
--bs-secondary-color-rgb: 173, 181, 189; --bs-secondary-color-rgb: 222, 226, 230;
--bs-secondary-bg: #343a40; --bs-secondary-bg: #343a40;
--bs-secondary-bg-rgb: 52, 58, 64; --bs-secondary-bg-rgb: 52, 58, 64;
--bs-tertiary-color: rgba(173, 181, 189, 0.5); --bs-tertiary-color: rgba(222, 226, 230, 0.5);
--bs-tertiary-color-rgb: 173, 181, 189; --bs-tertiary-color-rgb: 222, 226, 230;
--bs-tertiary-bg: #2b3035; --bs-tertiary-bg: #2b3035;
--bs-tertiary-bg-rgb: 43, 48, 53; --bs-tertiary-bg-rgb: 43, 48, 53;
--bs-emphasis-color: #fff; --bs-primary-text-emphasis: #6ea8fe;
--bs-primary-text: #6ea8fe; --bs-secondary-text-emphasis: #a7acb1;
--bs-secondary-text: #dee2e6; --bs-success-text-emphasis: #75b798;
--bs-success-text: #75b798; --bs-info-text-emphasis: #6edff6;
--bs-info-text: #6edff6; --bs-warning-text-emphasis: #ffda6a;
--bs-warning-text: #ffda6a; --bs-danger-text-emphasis: #ea868f;
--bs-danger-text: #ea868f; --bs-light-text-emphasis: #f8f9fa;
--bs-light-text: #f8f9fa; --bs-dark-text-emphasis: #dee2e6;
--bs-dark-text: #dee2e6;
--bs-primary-bg-subtle: #031633; --bs-primary-bg-subtle: #031633;
--bs-secondary-bg-subtle: #212529; --bs-secondary-bg-subtle: #161719;
--bs-success-bg-subtle: #051b11; --bs-success-bg-subtle: #051b11;
--bs-info-bg-subtle: #032830; --bs-info-bg-subtle: #032830;
--bs-warning-bg-subtle: #332701; --bs-warning-bg-subtle: #332701;
@ -159,21 +158,27 @@
--bs-light-bg-subtle: #343a40; --bs-light-bg-subtle: #343a40;
--bs-dark-bg-subtle: #1a1d20; --bs-dark-bg-subtle: #1a1d20;
--bs-primary-border-subtle: #084298; --bs-primary-border-subtle: #084298;
--bs-secondary-border-subtle: #495057; --bs-secondary-border-subtle: #41464b;
--bs-success-border-subtle: #0f5132; --bs-success-border-subtle: #0f5132;
--bs-info-border-subtle: #055160; --bs-info-border-subtle: #087990;
--bs-warning-border-subtle: #664d03; --bs-warning-border-subtle: #997404;
--bs-danger-border-subtle: #842029; --bs-danger-border-subtle: #842029;
--bs-light-border-subtle: #495057; --bs-light-border-subtle: #495057;
--bs-dark-border-subtle: #343a40; --bs-dark-border-subtle: #343a40;
--bs-heading-color: #fff; --bs-heading-color: inherit;
--bs-link-color: #6ea8fe; --bs-link-color: #6ea8fe;
--bs-link-hover-color: #9ec5fe; --bs-link-hover-color: #8bb9fe;
--bs-link-color-rgb: 110, 168, 254; --bs-link-color-rgb: 110, 168, 254;
--bs-link-hover-color-rgb: 158, 197, 254; --bs-link-hover-color-rgb: 139, 185, 254;
--bs-code-color: #e685b5; --bs-code-color: #e685b5;
--bs-highlight-color: #dee2e6;
--bs-highlight-bg: #664d03;
--bs-border-color: #495057; --bs-border-color: #495057;
--bs-border-color-translucent: rgba(255, 255, 255, 0.15); --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
--bs-form-valid-color: #75b798;
--bs-form-valid-border-color: #75b798;
--bs-form-invalid-color: #ea868f;
--bs-form-invalid-border-color: #ea868f;
} }
*, *,
@ -214,7 +219,7 @@ h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
font-weight: 500; font-weight: 500;
line-height: 1.2; line-height: 1.2;
color: var(--bs-heading-color, inherit); color: var(--bs-heading-color);
} }
h1, .h1 { h1, .h1 {
@ -323,6 +328,7 @@ small, .small {
mark, .mark { mark, .mark {
padding: 0.1875em; padding: 0.1875em;
color: var(--bs-highlight-color);
background-color: var(--bs-highlight-bg); background-color: var(--bs-highlight-bg);
} }
@ -538,8 +544,8 @@ legend + * {
} }
[type=search] { [type=search] {
outline-offset: -2px;
-webkit-appearance: textfield; -webkit-appearance: textfield;
outline-offset: -2px;
} }
/* rtl:raw: /* rtl:raw:
@ -769,6 +775,15 @@ progress {
max-width: 1320px; max-width: 1320px;
} }
} }
:root {
--bs-breakpoint-xs: 0;
--bs-breakpoint-sm: 576px;
--bs-breakpoint-md: 768px;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
}
.row { .row {
--bs-gutter-x: 1.5rem; --bs-gutter-x: 1.5rem;
--bs-gutter-y: 0; --bs-gutter-y: 0;
@ -808,7 +823,7 @@ progress {
.row-cols-3 > * { .row-cols-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-4 > * { .row-cols-4 > * {
@ -823,7 +838,7 @@ progress {
.row-cols-6 > * { .row-cols-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-auto { .col-auto {
@ -1013,7 +1028,7 @@ progress {
} }
.row-cols-sm-3 > * { .row-cols-sm-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-sm-4 > * { .row-cols-sm-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -1025,7 +1040,7 @@ progress {
} }
.row-cols-sm-6 > * { .row-cols-sm-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-sm-auto { .col-sm-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1182,7 +1197,7 @@ progress {
} }
.row-cols-md-3 > * { .row-cols-md-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-md-4 > * { .row-cols-md-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -1194,7 +1209,7 @@ progress {
} }
.row-cols-md-6 > * { .row-cols-md-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-md-auto { .col-md-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1351,7 +1366,7 @@ progress {
} }
.row-cols-lg-3 > * { .row-cols-lg-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-lg-4 > * { .row-cols-lg-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -1363,7 +1378,7 @@ progress {
} }
.row-cols-lg-6 > * { .row-cols-lg-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-lg-auto { .col-lg-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1520,7 +1535,7 @@ progress {
} }
.row-cols-xl-3 > * { .row-cols-xl-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-xl-4 > * { .row-cols-xl-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -1532,7 +1547,7 @@ progress {
} }
.row-cols-xl-6 > * { .row-cols-xl-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-xl-auto { .col-xl-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1689,7 +1704,7 @@ progress {
} }
.row-cols-xxl-3 > * { .row-cols-xxl-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-xxl-4 > * { .row-cols-xxl-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -1701,7 +1716,7 @@ progress {
} }
.row-cols-xxl-6 > * { .row-cols-xxl-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-xxl-auto { .col-xxl-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1841,27 +1856,31 @@ progress {
} }
} }
.table { .table {
--bs-table-color: var(--bs-body-color); --bs-table-color-type: initial;
--bs-table-bg: transparent; --bs-table-bg-type: initial;
--bs-table-color-state: initial;
--bs-table-bg-state: initial;
--bs-table-color: var(--bs-emphasis-color);
--bs-table-bg: var(--bs-body-bg);
--bs-table-border-color: var(--bs-border-color); --bs-table-border-color: var(--bs-border-color);
--bs-table-accent-bg: transparent; --bs-table-accent-bg: transparent;
--bs-table-striped-color: var(--bs-body-color); --bs-table-striped-color: var(--bs-emphasis-color);
--bs-table-striped-bg: rgba(0, 0, 0, 0.05); --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
--bs-table-active-color: var(--bs-body-color); --bs-table-active-color: var(--bs-emphasis-color);
--bs-table-active-bg: rgba(0, 0, 0, 0.1); --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
--bs-table-hover-color: var(--bs-body-color); --bs-table-hover-color: var(--bs-emphasis-color);
--bs-table-hover-bg: rgba(0, 0, 0, 0.075); --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
width: 100%; width: 100%;
margin-bottom: 1rem; margin-bottom: 1rem;
color: var(--bs-table-color);
vertical-align: top; vertical-align: top;
border-color: var(--bs-table-border-color); border-color: var(--bs-table-border-color);
} }
.table > :not(caption) > * > * { .table > :not(caption) > * > * {
padding: 0.5rem 0.5rem; padding: 0.5rem 0.5rem;
color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
background-color: var(--bs-table-bg); background-color: var(--bs-table-bg);
border-bottom-width: var(--bs-border-width); border-bottom-width: var(--bs-border-width);
box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
} }
.table > tbody { .table > tbody {
vertical-align: inherit; vertical-align: inherit;
@ -1897,29 +1916,29 @@ progress {
} }
.table-striped > tbody > tr:nth-of-type(odd) > * { .table-striped > tbody > tr:nth-of-type(odd) > * {
--bs-table-accent-bg: var(--bs-table-striped-bg); --bs-table-color-type: var(--bs-table-striped-color);
color: var(--bs-table-striped-color); --bs-table-bg-type: var(--bs-table-striped-bg);
} }
.table-striped-columns > :not(caption) > tr > :nth-child(even) { .table-striped-columns > :not(caption) > tr > :nth-child(even) {
--bs-table-accent-bg: var(--bs-table-striped-bg); --bs-table-color-type: var(--bs-table-striped-color);
color: var(--bs-table-striped-color); --bs-table-bg-type: var(--bs-table-striped-bg);
} }
.table-active { .table-active {
--bs-table-accent-bg: var(--bs-table-active-bg); --bs-table-color-state: var(--bs-table-active-color);
color: var(--bs-table-active-color); --bs-table-bg-state: var(--bs-table-active-bg);
} }
.table-hover > tbody > tr:hover > * { .table-hover > tbody > tr:hover > * {
--bs-table-accent-bg: var(--bs-table-hover-bg); --bs-table-color-state: var(--bs-table-hover-color);
color: var(--bs-table-hover-color); --bs-table-bg-state: var(--bs-table-hover-bg);
} }
.table-primary { .table-primary {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #cfe2ff; --bs-table-bg: #cfe2ff;
--bs-table-border-color: #bacbe6; --bs-table-border-color: #a6b5cc;
--bs-table-striped-bg: #c5d7f2; --bs-table-striped-bg: #c5d7f2;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #bacbe6; --bs-table-active-bg: #bacbe6;
@ -1933,7 +1952,7 @@ progress {
.table-secondary { .table-secondary {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #e2e3e5; --bs-table-bg: #e2e3e5;
--bs-table-border-color: #cbccce; --bs-table-border-color: #b5b6b7;
--bs-table-striped-bg: #d7d8da; --bs-table-striped-bg: #d7d8da;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #cbccce; --bs-table-active-bg: #cbccce;
@ -1947,7 +1966,7 @@ progress {
.table-success { .table-success {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #d1e7dd; --bs-table-bg: #d1e7dd;
--bs-table-border-color: #bcd0c7; --bs-table-border-color: #a7b9b1;
--bs-table-striped-bg: #c7dbd2; --bs-table-striped-bg: #c7dbd2;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #bcd0c7; --bs-table-active-bg: #bcd0c7;
@ -1961,7 +1980,7 @@ progress {
.table-info { .table-info {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #cff4fc; --bs-table-bg: #cff4fc;
--bs-table-border-color: #badce3; --bs-table-border-color: #a6c3ca;
--bs-table-striped-bg: #c5e8ef; --bs-table-striped-bg: #c5e8ef;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #badce3; --bs-table-active-bg: #badce3;
@ -1975,7 +1994,7 @@ progress {
.table-warning { .table-warning {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #fff3cd; --bs-table-bg: #fff3cd;
--bs-table-border-color: #e6dbb9; --bs-table-border-color: #ccc2a4;
--bs-table-striped-bg: #f2e7c3; --bs-table-striped-bg: #f2e7c3;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #e6dbb9; --bs-table-active-bg: #e6dbb9;
@ -1989,7 +2008,7 @@ progress {
.table-danger { .table-danger {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #f8d7da; --bs-table-bg: #f8d7da;
--bs-table-border-color: #dfc2c4; --bs-table-border-color: #c6acae;
--bs-table-striped-bg: #eccccf; --bs-table-striped-bg: #eccccf;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #dfc2c4; --bs-table-active-bg: #dfc2c4;
@ -2003,7 +2022,7 @@ progress {
.table-light { .table-light {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #f8f9fa; --bs-table-bg: #f8f9fa;
--bs-table-border-color: #dfe0e1; --bs-table-border-color: #c6c7c8;
--bs-table-striped-bg: #ecedee; --bs-table-striped-bg: #ecedee;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #dfe0e1; --bs-table-active-bg: #dfe0e1;
@ -2017,7 +2036,7 @@ progress {
.table-dark { .table-dark {
--bs-table-color: #fff; --bs-table-color: #fff;
--bs-table-bg: #212529; --bs-table-bg: #212529;
--bs-table-border-color: #373b3e; --bs-table-border-color: #4d5154;
--bs-table-striped-bg: #2c3034; --bs-table-striped-bg: #2c3034;
--bs-table-striped-color: #fff; --bs-table-striped-color: #fff;
--bs-table-active-bg: #373b3e; --bs-table-active-bg: #373b3e;
@ -2101,13 +2120,13 @@ progress {
font-weight: 400; font-weight: 400;
line-height: 1.5; line-height: 1.5;
color: var(--bs-body-color); color: var(--bs-body-color);
background-color: var(--bs-form-control-bg);
background-clip: padding-box;
border: var(--bs-border-width) solid var(--bs-border-color);
-webkit-appearance: none; -webkit-appearance: none;
-moz-appearance: none; -moz-appearance: none;
appearance: none; appearance: none;
border-radius: 0.375rem; background-color: var(--bs-body-bg);
background-clip: padding-box;
border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
} }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
@ -2123,13 +2142,15 @@ progress {
} }
.form-control:focus { .form-control:focus {
color: var(--bs-body-color); color: var(--bs-body-color);
background-color: var(--bs-form-control-bg); background-color: var(--bs-body-bg);
border-color: #86b7fe; border-color: #86b7fe;
outline: 0; outline: 0;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
} }
.form-control::-webkit-date-and-time-value { .form-control::-webkit-date-and-time-value {
min-width: 85px;
height: 1.5em; height: 1.5em;
margin: 0;
} }
.form-control::-webkit-datetime-edit { .form-control::-webkit-datetime-edit {
display: block; display: block;
@ -2144,7 +2165,7 @@ progress {
opacity: 1; opacity: 1;
} }
.form-control:disabled { .form-control:disabled {
background-color: var(--bs-form-control-disabled-bg); background-color: var(--bs-secondary-bg);
opacity: 1; opacity: 1;
} }
.form-control::-webkit-file-upload-button { .form-control::-webkit-file-upload-button {
@ -2217,7 +2238,7 @@ progress {
min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
padding: 0.25rem 0.5rem; padding: 0.25rem 0.5rem;
font-size: 0.875rem; font-size: 0.875rem;
border-radius: 0.25rem; border-radius: var(--bs-border-radius-sm);
} }
.form-control-sm::-webkit-file-upload-button { .form-control-sm::-webkit-file-upload-button {
padding: 0.25rem 0.5rem; padding: 0.25rem 0.5rem;
@ -2236,7 +2257,7 @@ progress {
min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
font-size: 1.25rem; font-size: 1.25rem;
border-radius: 0.5rem; border-radius: var(--bs-border-radius-lg);
} }
.form-control-lg::-webkit-file-upload-button { .form-control-lg::-webkit-file-upload-button {
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
@ -2271,10 +2292,11 @@ textarea.form-control-lg {
} }
.form-control-color::-moz-color-swatch { .form-control-color::-moz-color-swatch {
border: 0 !important; border: 0 !important;
border-radius: 0.375rem; border-radius: var(--bs-border-radius);
} }
.form-control-color::-webkit-color-swatch { .form-control-color::-webkit-color-swatch {
border-radius: 0.375rem; border: 0 !important;
border-radius: var(--bs-border-radius);
} }
.form-control-color.form-control-sm { .form-control-color.form-control-sm {
height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
@ -2288,22 +2310,21 @@ textarea.form-control-lg {
display: block; display: block;
width: 100%; width: 100%;
padding: 0.375rem 2.25rem 0.375rem 0.75rem; padding: 0.375rem 2.25rem 0.375rem 0.75rem;
-moz-padding-start: calc(0.75rem - 3px);
font-size: 1rem; font-size: 1rem;
font-weight: 400; font-weight: 400;
line-height: 1.5; line-height: 1.5;
color: var(--bs-body-color); color: var(--bs-body-color);
background-color: var(--bs-form-control-bg); -webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: var(--bs-body-bg);
background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: right 0.75rem center; background-position: right 0.75rem center;
background-size: 16px 12px; background-size: 16px 12px;
border: var(--bs-border-width) solid var(--bs-border-color); border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: 0.375rem; border-radius: var(--bs-border-radius);
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
} }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
.form-select { .form-select {
@ -2320,7 +2341,7 @@ textarea.form-control-lg {
background-image: none; background-image: none;
} }
.form-select:disabled { .form-select:disabled {
background-color: var(--bs-form-control-disabled-bg); background-color: var(--bs-secondary-bg);
} }
.form-select:-moz-focusring { .form-select:-moz-focusring {
color: transparent; color: transparent;
@ -2332,7 +2353,7 @@ textarea.form-control-lg {
padding-bottom: 0.25rem; padding-bottom: 0.25rem;
padding-left: 0.5rem; padding-left: 0.5rem;
font-size: 0.875rem; font-size: 0.875rem;
border-radius: 0.25rem; border-radius: var(--bs-border-radius-sm);
} }
.form-select-lg { .form-select-lg {
@ -2340,11 +2361,11 @@ textarea.form-control-lg {
padding-bottom: 0.5rem; padding-bottom: 0.5rem;
padding-left: 1rem; padding-left: 1rem;
font-size: 1.25rem; font-size: 1.25rem;
border-radius: 0.5rem; border-radius: var(--bs-border-radius-lg);
} }
[data-bs-theme=dark] .form-select { [data-bs-theme=dark] .form-select {
--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
} }
.form-check { .form-check {
@ -2370,20 +2391,21 @@ textarea.form-control-lg {
} }
.form-check-input { .form-check-input {
--bs-form-check-bg: var(--bs-form-control-bg); --bs-form-check-bg: var(--bs-body-bg);
flex-shrink: 0;
width: 1em; width: 1em;
height: 1em; height: 1em;
margin-top: 0.25em; margin-top: 0.25em;
vertical-align: top; vertical-align: top;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: var(--bs-form-check-bg); background-color: var(--bs-form-check-bg);
background-image: var(--bs-form-check-bg-image); background-image: var(--bs-form-check-bg-image);
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
background-size: contain; background-size: contain;
border: var(--bs-border-width) solid var(--bs-border-color); border: var(--bs-border-width) solid var(--bs-border-color);
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
-webkit-print-color-adjust: exact; -webkit-print-color-adjust: exact;
color-adjust: exact; color-adjust: exact;
print-color-adjust: exact; print-color-adjust: exact;
@ -2484,10 +2506,10 @@ textarea.form-control-lg {
width: 100%; width: 100%;
height: 1.5rem; height: 1.5rem;
padding: 0; padding: 0;
background-color: transparent;
-webkit-appearance: none; -webkit-appearance: none;
-moz-appearance: none; -moz-appearance: none;
appearance: none; appearance: none;
background-color: transparent;
} }
.form-range:focus { .form-range:focus {
outline: 0; outline: 0;
@ -2505,13 +2527,13 @@ textarea.form-control-lg {
width: 1rem; width: 1rem;
height: 1rem; height: 1rem;
margin-top: -0.25rem; margin-top: -0.25rem;
-webkit-appearance: none;
appearance: none;
background-color: #0d6efd; background-color: #0d6efd;
border: 0; border: 0;
border-radius: 1rem; border-radius: 1rem;
-webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-webkit-appearance: none;
appearance: none;
} }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
.form-range::-webkit-slider-thumb { .form-range::-webkit-slider-thumb {
@ -2527,20 +2549,20 @@ textarea.form-control-lg {
height: 0.5rem; height: 0.5rem;
color: transparent; color: transparent;
cursor: pointer; cursor: pointer;
background-color: var(--bs-tertiary-bg); background-color: var(--bs-secondary-bg);
border-color: transparent; border-color: transparent;
border-radius: 1rem; border-radius: 1rem;
} }
.form-range::-moz-range-thumb { .form-range::-moz-range-thumb {
width: 1rem; width: 1rem;
height: 1rem; height: 1rem;
-moz-appearance: none;
appearance: none;
background-color: #0d6efd; background-color: #0d6efd;
border: 0; border: 0;
border-radius: 1rem; border-radius: 1rem;
-moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-moz-appearance: none;
appearance: none;
} }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
.form-range::-moz-range-thumb { .form-range::-moz-range-thumb {
@ -2556,7 +2578,7 @@ textarea.form-control-lg {
height: 0.5rem; height: 0.5rem;
color: transparent; color: transparent;
cursor: pointer; cursor: pointer;
background-color: var(--bs-tertiary-bg); background-color: var(--bs-secondary-bg);
border-color: transparent; border-color: transparent;
border-radius: 1rem; border-radius: 1rem;
} }
@ -2573,27 +2595,18 @@ textarea.form-control-lg {
.form-floating { .form-floating {
position: relative; position: relative;
} }
.form-floating::before:not(.form-control:disabled) {
position: absolute;
top: var(--bs-border-width);
left: var(--bs-border-width);
width: calc(100% - (calc(calc(0.375em + 0.1875rem) + calc(0.75em + 0.375rem))));
height: 1.875em;
content: "";
background-color: var(--bs-form-control-bg);
border-radius: 0.375rem;
}
.form-floating > .form-control, .form-floating > .form-control,
.form-floating > .form-control-plaintext, .form-floating > .form-control-plaintext,
.form-floating > .form-select { .form-floating > .form-select {
height: calc(3.5rem + calc(var(--bs-border-width) * 2)); height: calc(3.5rem + calc(var(--bs-border-width) * 2));
min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
line-height: 1.25; line-height: 1.25;
} }
.form-floating > label { .form-floating > label {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
width: 100%; z-index: 2;
height: 100%; height: 100%;
padding: 1rem 0.75rem; padding: 1rem 0.75rem;
overflow: hidden; overflow: hidden;
@ -2641,26 +2654,52 @@ textarea.form-control-lg {
padding-bottom: 0.625rem; padding-bottom: 0.625rem;
} }
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { .form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
opacity: 0.65; color: rgba(var(--bs-body-color-rgb), 0.65);
transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
} }
.form-floating > .form-control:focus ~ label, .form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label, .form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label, .form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label { .form-floating > .form-select ~ label {
opacity: 0.65; color: rgba(var(--bs-body-color-rgb), 0.65);
transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
} }
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label::after {
position: absolute;
inset: 1rem 0.375rem;
z-index: -1;
height: 1.5em;
content: "";
background-color: var(--bs-body-bg);
border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-select ~ label::after {
position: absolute;
inset: 1rem 0.375rem;
z-index: -1;
height: 1.5em;
content: "";
background-color: var(--bs-body-bg);
border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:-webkit-autofill ~ label { .form-floating > .form-control:-webkit-autofill ~ label {
opacity: 0.65; color: rgba(var(--bs-body-color-rgb), 0.65);
transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
} }
.form-floating > .form-control-plaintext ~ label { .form-floating > .form-control-plaintext ~ label {
border-width: var(--bs-border-width) 0; border-width: var(--bs-border-width) 0;
} }
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label { .form-floating > .form-control:disabled ~ label {
color: #6c757d; color: #6c757d;
} }
.form-floating > :disabled ~ label::after,
.form-floating > .form-control:disabled ~ label::after {
background-color: var(--bs-secondary-bg);
}
.input-group { .input-group {
position: relative; position: relative;
@ -2702,7 +2741,7 @@ textarea.form-control-lg {
white-space: nowrap; white-space: nowrap;
background-color: var(--bs-tertiary-bg); background-color: var(--bs-tertiary-bg);
border: var(--bs-border-width) solid var(--bs-border-color); border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: 0.375rem; border-radius: var(--bs-border-radius);
} }
.input-group-lg > .form-control, .input-group-lg > .form-control,
@ -2711,7 +2750,7 @@ textarea.form-control-lg {
.input-group-lg > .btn { .input-group-lg > .btn {
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
font-size: 1.25rem; font-size: 1.25rem;
border-radius: 0.5rem; border-radius: var(--bs-border-radius-lg);
} }
.input-group-sm > .form-control, .input-group-sm > .form-control,
@ -2720,7 +2759,7 @@ textarea.form-control-lg {
.input-group-sm > .btn { .input-group-sm > .btn {
padding: 0.25rem 0.5rem; padding: 0.25rem 0.5rem;
font-size: 0.875rem; font-size: 0.875rem;
border-radius: 0.25rem; border-radius: var(--bs-border-radius-sm);
} }
.input-group-lg > .form-select, .input-group-lg > .form-select,
@ -2758,7 +2797,7 @@ textarea.form-control-lg {
width: 100%; width: 100%;
margin-top: 0.25rem; margin-top: 0.25rem;
font-size: 0.875em; font-size: 0.875em;
color: var(--bs-success-text); color: var(--bs-form-valid-color);
} }
.valid-tooltip { .valid-tooltip {
@ -2783,7 +2822,7 @@ textarea.form-control-lg {
} }
.was-validated .form-control:valid, .form-control.is-valid { .was-validated .form-control:valid, .form-control.is-valid {
border-color: var(--bs-success); border-color: var(--bs-form-valid-border-color);
padding-right: calc(1.5em + 0.75rem); padding-right: calc(1.5em + 0.75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
background-repeat: no-repeat; background-repeat: no-repeat;
@ -2791,7 +2830,7 @@ textarea.form-control-lg {
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
} }
.was-validated .form-control:valid:focus, .form-control.is-valid:focus { .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
border-color: var(--bs-success); border-color: var(--bs-form-valid-border-color);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
} }
@ -2801,7 +2840,7 @@ textarea.form-control-lg {
} }
.was-validated .form-select:valid, .form-select.is-valid { .was-validated .form-select:valid, .form-select.is-valid {
border-color: var(--bs-success); border-color: var(--bs-form-valid-border-color);
} }
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { .was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
@ -2810,7 +2849,7 @@ textarea.form-control-lg {
background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
} }
.was-validated .form-select:valid:focus, .form-select.is-valid:focus { .was-validated .form-select:valid:focus, .form-select.is-valid:focus {
border-color: var(--bs-success); border-color: var(--bs-form-valid-border-color);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
} }
@ -2819,16 +2858,16 @@ textarea.form-control-lg {
} }
.was-validated .form-check-input:valid, .form-check-input.is-valid { .was-validated .form-check-input:valid, .form-check-input.is-valid {
border-color: var(--bs-success); border-color: var(--bs-form-valid-border-color);
} }
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
background-color: var(--bs-success-text); background-color: var(--bs-form-valid-color);
} }
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { .was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
} }
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
color: var(--bs-success-text); color: var(--bs-form-valid-color);
} }
.form-check-inline .form-check-input ~ .valid-feedback { .form-check-inline .form-check-input ~ .valid-feedback {
@ -2848,7 +2887,7 @@ textarea.form-control-lg {
width: 100%; width: 100%;
margin-top: 0.25rem; margin-top: 0.25rem;
font-size: 0.875em; font-size: 0.875em;
color: var(--bs-danger-text); color: var(--bs-form-invalid-color);
} }
.invalid-tooltip { .invalid-tooltip {
@ -2873,7 +2912,7 @@ textarea.form-control-lg {
} }
.was-validated .form-control:invalid, .form-control.is-invalid { .was-validated .form-control:invalid, .form-control.is-invalid {
border-color: var(--bs-danger); border-color: var(--bs-form-invalid-border-color);
padding-right: calc(1.5em + 0.75rem); padding-right: calc(1.5em + 0.75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
background-repeat: no-repeat; background-repeat: no-repeat;
@ -2881,7 +2920,7 @@ textarea.form-control-lg {
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
} }
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
border-color: var(--bs-danger); border-color: var(--bs-form-invalid-border-color);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
} }
@ -2891,7 +2930,7 @@ textarea.form-control-lg {
} }
.was-validated .form-select:invalid, .form-select.is-invalid { .was-validated .form-select:invalid, .form-select.is-invalid {
border-color: var(--bs-danger); border-color: var(--bs-form-invalid-border-color);
} }
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
@ -2900,7 +2939,7 @@ textarea.form-control-lg {
background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
} }
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
border-color: var(--bs-danger); border-color: var(--bs-form-invalid-border-color);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
} }
@ -2909,16 +2948,16 @@ textarea.form-control-lg {
} }
.was-validated .form-check-input:invalid, .form-check-input.is-invalid { .was-validated .form-check-input:invalid, .form-check-input.is-invalid {
border-color: var(--bs-danger); border-color: var(--bs-form-invalid-border-color);
} }
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
background-color: var(--bs-danger-text); background-color: var(--bs-form-invalid-color);
} }
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { .was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
} }
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
color: var(--bs-danger-text); color: var(--bs-form-invalid-color);
} }
.form-check-inline .form-check-input ~ .invalid-feedback { .form-check-inline .form-check-input ~ .invalid-feedback {
@ -2940,11 +2979,11 @@ textarea.form-control-lg {
--bs-btn-font-size: 1rem; --bs-btn-font-size: 1rem;
--bs-btn-font-weight: 400; --bs-btn-font-weight: 400;
--bs-btn-line-height: 1.5; --bs-btn-line-height: 1.5;
--bs-btn-color: #212529; --bs-btn-color: var(--bs-body-color);
--bs-btn-bg: transparent; --bs-btn-bg: transparent;
--bs-btn-border-width: var(--bs-border-width); --bs-btn-border-width: var(--bs-border-width);
--bs-btn-border-color: transparent; --bs-btn-border-color: transparent;
--bs-btn-border-radius: 0.375rem; --bs-btn-border-radius: var(--bs-border-radius);
--bs-btn-hover-border-color: transparent; --bs-btn-hover-border-color: transparent;
--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
--bs-btn-disabled-opacity: 0.65; --bs-btn-disabled-opacity: 0.65;
@ -3003,6 +3042,9 @@ textarea.form-control-lg {
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { .btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
box-shadow: var(--bs-btn-focus-box-shadow); box-shadow: var(--bs-btn-focus-box-shadow);
} }
.btn-check:checked:focus-visible + .btn {
box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn { .btn:disabled, .btn.disabled, fieldset:disabled .btn {
color: var(--bs-btn-disabled-color); color: var(--bs-btn-disabled-color);
pointer-events: none; pointer-events: none;
@ -3294,7 +3336,7 @@ textarea.form-control-lg {
--bs-btn-active-border-color: transparent; --bs-btn-active-border-color: transparent;
--bs-btn-disabled-color: #6c757d; --bs-btn-disabled-color: #6c757d;
--bs-btn-disabled-border-color: transparent; --bs-btn-disabled-border-color: transparent;
--bs-btn-box-shadow: none; --bs-btn-box-shadow: 0 0 0 #000;
--bs-btn-focus-shadow-rgb: 49, 132, 253; --bs-btn-focus-shadow-rgb: 49, 132, 253;
text-decoration: underline; text-decoration: underline;
} }
@ -3309,14 +3351,14 @@ textarea.form-control-lg {
--bs-btn-padding-y: 0.5rem; --bs-btn-padding-y: 0.5rem;
--bs-btn-padding-x: 1rem; --bs-btn-padding-x: 1rem;
--bs-btn-font-size: 1.25rem; --bs-btn-font-size: 1.25rem;
--bs-btn-border-radius: 0.5rem; --bs-btn-border-radius: var(--bs-border-radius-lg);
} }
.btn-sm, .btn-group-sm > .btn { .btn-sm, .btn-group-sm > .btn {
--bs-btn-padding-y: 0.25rem; --bs-btn-padding-y: 0.25rem;
--bs-btn-padding-x: 0.5rem; --bs-btn-padding-x: 0.5rem;
--bs-btn-font-size: 0.875rem; --bs-btn-font-size: 0.875rem;
--bs-btn-border-radius: 0.25rem; --bs-btn-border-radius: var(--bs-border-radius-sm);
} }
.fade { .fade {
@ -3392,18 +3434,18 @@ textarea.form-control-lg {
--bs-dropdown-color: var(--bs-body-color); --bs-dropdown-color: var(--bs-body-color);
--bs-dropdown-bg: var(--bs-body-bg); --bs-dropdown-bg: var(--bs-body-bg);
--bs-dropdown-border-color: var(--bs-border-color-translucent); --bs-dropdown-border-color: var(--bs-border-color-translucent);
--bs-dropdown-border-radius: 0.375rem; --bs-dropdown-border-radius: var(--bs-border-radius);
--bs-dropdown-border-width: var(--bs-border-width); --bs-dropdown-border-width: var(--bs-border-width);
--bs-dropdown-inner-border-radius: calc(0.375rem - var(--bs-border-width)); --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
--bs-dropdown-divider-bg: var(--bs-border-color-translucent); --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
--bs-dropdown-divider-margin-y: 0.5rem; --bs-dropdown-divider-margin-y: 0.5rem;
--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); --bs-dropdown-box-shadow: var(--bs-box-shadow);
--bs-dropdown-link-color: var(--bs-body-color); --bs-dropdown-link-color: var(--bs-body-color);
--bs-dropdown-link-hover-color: var(--bs-body-color); --bs-dropdown-link-hover-color: var(--bs-body-color);
--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg); --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
--bs-dropdown-link-active-color: #fff; --bs-dropdown-link-active-color: #fff;
--bs-dropdown-link-active-bg: #0d6efd; --bs-dropdown-link-active-bg: #0d6efd;
--bs-dropdown-link-disabled-color: #adb5bd; --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
--bs-dropdown-item-padding-x: 1rem; --bs-dropdown-item-padding-x: 1rem;
--bs-dropdown-item-padding-y: 0.25rem; --bs-dropdown-item-padding-y: 0.25rem;
--bs-dropdown-header-color: #6c757d; --bs-dropdown-header-color: #6c757d;
@ -3709,7 +3751,7 @@ textarea.form-control-lg {
} }
.btn-group { .btn-group {
border-radius: 0.375rem; border-radius: var(--bs-border-radius);
} }
.btn-group > :not(.btn-check:first-child) + .btn, .btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) { .btn-group > .btn-group:not(:first-child) {
@ -3794,6 +3836,8 @@ textarea.form-control-lg {
font-weight: var(--bs-nav-link-font-weight); font-weight: var(--bs-nav-link-font-weight);
color: var(--bs-nav-link-color); color: var(--bs-nav-link-color);
text-decoration: none; text-decoration: none;
background: none;
border: 0;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
} }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
@ -3804,7 +3848,11 @@ textarea.form-control-lg {
.nav-link:hover, .nav-link:focus { .nav-link:hover, .nav-link:focus {
color: var(--bs-nav-link-hover-color); color: var(--bs-nav-link-hover-color);
} }
.nav-link.disabled { .nav-link:focus-visible {
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
color: var(--bs-nav-link-disabled-color); color: var(--bs-nav-link-disabled-color);
pointer-events: none; pointer-events: none;
cursor: default; cursor: default;
@ -3822,7 +3870,6 @@ textarea.form-control-lg {
} }
.nav-tabs .nav-link { .nav-tabs .nav-link {
margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
background: none;
border: var(--bs-nav-tabs-border-width) solid transparent; border: var(--bs-nav-tabs-border-width) solid transparent;
border-top-left-radius: var(--bs-nav-tabs-border-radius); border-top-left-radius: var(--bs-nav-tabs-border-radius);
border-top-right-radius: var(--bs-nav-tabs-border-radius); border-top-right-radius: var(--bs-nav-tabs-border-radius);
@ -3831,11 +3878,6 @@ textarea.form-control-lg {
isolation: isolate; isolation: isolate;
border-color: var(--bs-nav-tabs-link-hover-border-color); border-color: var(--bs-nav-tabs-link-hover-border-color);
} }
.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled {
color: var(--bs-nav-link-disabled-color);
background-color: transparent;
border-color: transparent;
}
.nav-tabs .nav-link.active, .nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link { .nav-tabs .nav-item.show .nav-link {
color: var(--bs-nav-tabs-link-active-color); color: var(--bs-nav-tabs-link-active-color);
@ -3849,26 +3891,40 @@ textarea.form-control-lg {
} }
.nav-pills { .nav-pills {
--bs-nav-pills-border-radius: 0.375rem; --bs-nav-pills-border-radius: var(--bs-border-radius);
--bs-nav-pills-link-active-color: #fff; --bs-nav-pills-link-active-color: #fff;
--bs-nav-pills-link-active-bg: #0d6efd; --bs-nav-pills-link-active-bg: #0d6efd;
} }
.nav-pills .nav-link { .nav-pills .nav-link {
background: none;
border: 0;
border-radius: var(--bs-nav-pills-border-radius); border-radius: var(--bs-nav-pills-border-radius);
} }
.nav-pills .nav-link:disabled {
color: var(--bs-nav-link-disabled-color);
background-color: transparent;
border-color: transparent;
}
.nav-pills .nav-link.active, .nav-pills .nav-link.active,
.nav-pills .show > .nav-link { .nav-pills .show > .nav-link {
color: var(--bs-nav-pills-link-active-color); color: var(--bs-nav-pills-link-active-color);
background-color: var(--bs-nav-pills-link-active-bg); background-color: var(--bs-nav-pills-link-active-bg);
} }
.nav-underline {
--bs-nav-underline-gap: 1rem;
--bs-nav-underline-border-width: 0.125rem;
--bs-nav-underline-link-active-color: var(--bs-emphasis-color);
gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
padding-right: 0;
padding-left: 0;
border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
font-weight: 700;
color: var(--bs-nav-underline-link-active-color);
border-bottom-color: currentcolor;
}
.nav-fill > .nav-link, .nav-fill > .nav-link,
.nav-fill .nav-item { .nav-fill .nav-item {
flex: 1 1 auto; flex: 1 1 auto;
@ -3912,7 +3968,7 @@ textarea.form-control-lg {
--bs-navbar-toggler-font-size: 1.25rem; --bs-navbar-toggler-font-size: 1.25rem;
--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15); --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
--bs-navbar-toggler-border-radius: 0.375rem; --bs-navbar-toggler-border-radius: var(--bs-border-radius);
--bs-navbar-toggler-focus-width: 0.25rem; --bs-navbar-toggler-focus-width: 0.25rem;
--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
position: relative; position: relative;
@ -3960,8 +4016,7 @@ textarea.form-control-lg {
margin-bottom: 0; margin-bottom: 0;
list-style: none; list-style: none;
} }
.navbar-nav .show > .nav-link, .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
.navbar-nav .nav-link.active {
color: var(--bs-navbar-active-color); color: var(--bs-navbar-active-color);
} }
.navbar-nav .dropdown-menu { .navbar-nav .dropdown-menu {
@ -4306,7 +4361,8 @@ textarea.form-control-lg {
overflow-y: visible; overflow-y: visible;
} }
.navbar-dark { .navbar-dark,
.navbar[data-bs-theme=dark] {
--bs-navbar-color: rgba(255, 255, 255, 0.55); --bs-navbar-color: rgba(255, 255, 255, 0.55);
--bs-navbar-hover-color: rgba(255, 255, 255, 0.75); --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
--bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
@ -4317,7 +4373,7 @@ textarea.form-control-lg {
--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
} }
[data-bs-theme=dark] .navbar { [data-bs-theme=dark] .navbar-toggler-icon {
--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
} }
@ -4346,6 +4402,7 @@ textarea.form-control-lg {
flex-direction: column; flex-direction: column;
min-width: 0; min-width: 0;
height: var(--bs-card-height); height: var(--bs-card-height);
color: var(--bs-body-color);
word-wrap: break-word; word-wrap: break-word;
background-color: var(--bs-card-bg); background-color: var(--bs-card-bg);
background-clip: border-box; background-clip: border-box;
@ -4519,16 +4576,15 @@ textarea.form-control-lg {
--bs-accordion-btn-padding-y: 1rem; --bs-accordion-btn-padding-y: 1rem;
--bs-accordion-btn-color: var(--bs-body-color); --bs-accordion-btn-color: var(--bs-body-color);
--bs-accordion-btn-bg: var(--bs-accordion-bg); --bs-accordion-btn-bg: var(--bs-accordion-bg);
--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
--bs-accordion-btn-icon-width: 1.25rem; --bs-accordion-btn-icon-width: 1.25rem;
--bs-accordion-btn-icon-transform: rotate(-180deg); --bs-accordion-btn-icon-transform: rotate(-180deg);
--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230a58ca'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
--bs-accordion-btn-focus-border-color: #86b7fe;
--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
--bs-accordion-body-padding-x: 1.25rem; --bs-accordion-body-padding-x: 1.25rem;
--bs-accordion-body-padding-y: 1rem; --bs-accordion-body-padding-y: 1rem;
--bs-accordion-active-color: var(--bs-primary-text); --bs-accordion-active-color: var(--bs-primary-text-emphasis);
--bs-accordion-active-bg: var(--bs-primary-bg-subtle); --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
} }
@ -4582,7 +4638,6 @@ textarea.form-control-lg {
} }
.accordion-button:focus { .accordion-button:focus {
z-index: 3; z-index: 3;
border-color: var(--bs-accordion-btn-focus-border-color);
outline: 0; outline: 0;
box-shadow: var(--bs-accordion-btn-focus-box-shadow); box-shadow: var(--bs-accordion-btn-focus-box-shadow);
} }
@ -4600,7 +4655,7 @@ textarea.form-control-lg {
border-top-left-radius: var(--bs-accordion-border-radius); border-top-left-radius: var(--bs-accordion-border-radius);
border-top-right-radius: var(--bs-accordion-border-radius); border-top-right-radius: var(--bs-accordion-border-radius);
} }
.accordion-item:first-of-type .accordion-button { .accordion-item:first-of-type > .accordion-header .accordion-button {
border-top-left-radius: var(--bs-accordion-inner-border-radius); border-top-left-radius: var(--bs-accordion-inner-border-radius);
border-top-right-radius: var(--bs-accordion-inner-border-radius); border-top-right-radius: var(--bs-accordion-inner-border-radius);
} }
@ -4611,11 +4666,11 @@ textarea.form-control-lg {
border-bottom-right-radius: var(--bs-accordion-border-radius); border-bottom-right-radius: var(--bs-accordion-border-radius);
border-bottom-left-radius: var(--bs-accordion-border-radius); border-bottom-left-radius: var(--bs-accordion-border-radius);
} }
.accordion-item:last-of-type .accordion-button.collapsed { .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
border-bottom-right-radius: var(--bs-accordion-inner-border-radius); border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
border-bottom-left-radius: var(--bs-accordion-inner-border-radius); border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
} }
.accordion-item:last-of-type .accordion-collapse { .accordion-item:last-of-type > .accordion-collapse {
border-bottom-right-radius: var(--bs-accordion-border-radius); border-bottom-right-radius: var(--bs-accordion-border-radius);
border-bottom-left-radius: var(--bs-accordion-border-radius); border-bottom-left-radius: var(--bs-accordion-border-radius);
} }
@ -4624,21 +4679,21 @@ textarea.form-control-lg {
padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
} }
.accordion-flush .accordion-collapse { .accordion-flush > .accordion-item {
border-width: 0;
}
.accordion-flush .accordion-item {
border-right: 0; border-right: 0;
border-left: 0; border-left: 0;
border-radius: 0; border-radius: 0;
} }
.accordion-flush .accordion-item:first-child { .accordion-flush > .accordion-item:first-child {
border-top: 0; border-top: 0;
} }
.accordion-flush .accordion-item:last-child { .accordion-flush > .accordion-item:last-child {
border-bottom: 0; border-bottom: 0;
} }
.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed { .accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
border-radius: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse {
border-radius: 0; border-radius: 0;
} }
@ -4763,14 +4818,14 @@ textarea.form-control-lg {
--bs-pagination-padding-x: 1.5rem; --bs-pagination-padding-x: 1.5rem;
--bs-pagination-padding-y: 0.75rem; --bs-pagination-padding-y: 0.75rem;
--bs-pagination-font-size: 1.25rem; --bs-pagination-font-size: 1.25rem;
--bs-pagination-border-radius: 0.5rem; --bs-pagination-border-radius: var(--bs-border-radius-lg);
} }
.pagination-sm { .pagination-sm {
--bs-pagination-padding-x: 0.5rem; --bs-pagination-padding-x: 0.5rem;
--bs-pagination-padding-y: 0.25rem; --bs-pagination-padding-y: 0.25rem;
--bs-pagination-font-size: 0.875rem; --bs-pagination-font-size: 0.875rem;
--bs-pagination-border-radius: 0.25rem; --bs-pagination-border-radius: var(--bs-border-radius-sm);
} }
.badge { .badge {
@ -4779,7 +4834,7 @@ textarea.form-control-lg {
--bs-badge-font-size: 0.75em; --bs-badge-font-size: 0.75em;
--bs-badge-font-weight: 700; --bs-badge-font-weight: 700;
--bs-badge-color: #fff; --bs-badge-color: #fff;
--bs-badge-border-radius: 0.375rem; --bs-badge-border-radius: var(--bs-border-radius);
display: inline-block; display: inline-block;
padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
font-size: var(--bs-badge-font-size); font-size: var(--bs-badge-font-size);
@ -4808,7 +4863,7 @@ textarea.form-control-lg {
--bs-alert-color: inherit; --bs-alert-color: inherit;
--bs-alert-border-color: transparent; --bs-alert-border-color: transparent;
--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color); --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
--bs-alert-border-radius: 0.375rem; --bs-alert-border-radius: var(--bs-border-radius);
--bs-alert-link-color: inherit; --bs-alert-link-color: inherit;
position: relative; position: relative;
padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
@ -4840,59 +4895,59 @@ textarea.form-control-lg {
} }
.alert-primary { .alert-primary {
--bs-alert-color: var(--bs-primary-text); --bs-alert-color: var(--bs-primary-text-emphasis);
--bs-alert-bg: var(--bs-primary-bg-subtle); --bs-alert-bg: var(--bs-primary-bg-subtle);
--bs-alert-border-color: var(--bs-primary-border-subtle); --bs-alert-border-color: var(--bs-primary-border-subtle);
--bs-alert-link-color: var(--bs-primary-text); --bs-alert-link-color: var(--bs-primary-text-emphasis);
} }
.alert-secondary { .alert-secondary {
--bs-alert-color: var(--bs-secondary-text); --bs-alert-color: var(--bs-secondary-text-emphasis);
--bs-alert-bg: var(--bs-secondary-bg-subtle); --bs-alert-bg: var(--bs-secondary-bg-subtle);
--bs-alert-border-color: var(--bs-secondary-border-subtle); --bs-alert-border-color: var(--bs-secondary-border-subtle);
--bs-alert-link-color: var(--bs-secondary-text); --bs-alert-link-color: var(--bs-secondary-text-emphasis);
} }
.alert-success { .alert-success {
--bs-alert-color: var(--bs-success-text); --bs-alert-color: var(--bs-success-text-emphasis);
--bs-alert-bg: var(--bs-success-bg-subtle); --bs-alert-bg: var(--bs-success-bg-subtle);
--bs-alert-border-color: var(--bs-success-border-subtle); --bs-alert-border-color: var(--bs-success-border-subtle);
--bs-alert-link-color: var(--bs-success-text); --bs-alert-link-color: var(--bs-success-text-emphasis);
} }
.alert-info { .alert-info {
--bs-alert-color: var(--bs-info-text); --bs-alert-color: var(--bs-info-text-emphasis);
--bs-alert-bg: var(--bs-info-bg-subtle); --bs-alert-bg: var(--bs-info-bg-subtle);
--bs-alert-border-color: var(--bs-info-border-subtle); --bs-alert-border-color: var(--bs-info-border-subtle);
--bs-alert-link-color: var(--bs-info-text); --bs-alert-link-color: var(--bs-info-text-emphasis);
} }
.alert-warning { .alert-warning {
--bs-alert-color: var(--bs-warning-text); --bs-alert-color: var(--bs-warning-text-emphasis);
--bs-alert-bg: var(--bs-warning-bg-subtle); --bs-alert-bg: var(--bs-warning-bg-subtle);
--bs-alert-border-color: var(--bs-warning-border-subtle); --bs-alert-border-color: var(--bs-warning-border-subtle);
--bs-alert-link-color: var(--bs-warning-text); --bs-alert-link-color: var(--bs-warning-text-emphasis);
} }
.alert-danger { .alert-danger {
--bs-alert-color: var(--bs-danger-text); --bs-alert-color: var(--bs-danger-text-emphasis);
--bs-alert-bg: var(--bs-danger-bg-subtle); --bs-alert-bg: var(--bs-danger-bg-subtle);
--bs-alert-border-color: var(--bs-danger-border-subtle); --bs-alert-border-color: var(--bs-danger-border-subtle);
--bs-alert-link-color: var(--bs-danger-text); --bs-alert-link-color: var(--bs-danger-text-emphasis);
} }
.alert-light { .alert-light {
--bs-alert-color: var(--bs-light-text); --bs-alert-color: var(--bs-light-text-emphasis);
--bs-alert-bg: var(--bs-light-bg-subtle); --bs-alert-bg: var(--bs-light-bg-subtle);
--bs-alert-border-color: var(--bs-light-border-subtle); --bs-alert-border-color: var(--bs-light-border-subtle);
--bs-alert-link-color: var(--bs-light-text); --bs-alert-link-color: var(--bs-light-text-emphasis);
} }
.alert-dark { .alert-dark {
--bs-alert-color: var(--bs-dark-text); --bs-alert-color: var(--bs-dark-text-emphasis);
--bs-alert-bg: var(--bs-dark-bg-subtle); --bs-alert-bg: var(--bs-dark-bg-subtle);
--bs-alert-border-color: var(--bs-dark-border-subtle); --bs-alert-border-color: var(--bs-dark-border-subtle);
--bs-alert-link-color: var(--bs-dark-text); --bs-alert-link-color: var(--bs-dark-text-emphasis);
} }
@keyframes progress-bar-stripes { @keyframes progress-bar-stripes {
@ -5197,123 +5252,107 @@ textarea.form-control-lg {
} }
.list-group-item-primary { .list-group-item-primary {
--bs-list-group-color: var(--bs-primary-text); --bs-list-group-color: var(--bs-primary-text-emphasis);
--bs-list-group-bg: var(--bs-primary-bg-subtle); --bs-list-group-bg: var(--bs-primary-bg-subtle);
--bs-list-group-border-color: var(--bs-primary-border-subtle); --bs-list-group-border-color: var(--bs-primary-border-subtle);
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle); --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-primary.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-primary-bg-subtle);
--bs-list-group-active-bg: var(--bs-primary-text); --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
--bs-list-group-active-border-color: var(--bs-primary-text); --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
} }
.list-group-item-secondary { .list-group-item-secondary {
--bs-list-group-color: var(--bs-secondary-text); --bs-list-group-color: var(--bs-secondary-text-emphasis);
--bs-list-group-bg: var(--bs-secondary-bg-subtle); --bs-list-group-bg: var(--bs-secondary-bg-subtle);
--bs-list-group-border-color: var(--bs-secondary-border-subtle); --bs-list-group-border-color: var(--bs-secondary-border-subtle);
}
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle); --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-secondary.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
--bs-list-group-active-bg: var(--bs-secondary-text); --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
--bs-list-group-active-border-color: var(--bs-secondary-text); --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
} }
.list-group-item-success { .list-group-item-success {
--bs-list-group-color: var(--bs-success-text); --bs-list-group-color: var(--bs-success-text-emphasis);
--bs-list-group-bg: var(--bs-success-bg-subtle); --bs-list-group-bg: var(--bs-success-bg-subtle);
--bs-list-group-border-color: var(--bs-success-border-subtle); --bs-list-group-border-color: var(--bs-success-border-subtle);
}
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-success-border-subtle); --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-success.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-success-bg-subtle);
--bs-list-group-active-bg: var(--bs-success-text); --bs-list-group-active-bg: var(--bs-success-text-emphasis);
--bs-list-group-active-border-color: var(--bs-success-text); --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
} }
.list-group-item-info { .list-group-item-info {
--bs-list-group-color: var(--bs-info-text); --bs-list-group-color: var(--bs-info-text-emphasis);
--bs-list-group-bg: var(--bs-info-bg-subtle); --bs-list-group-bg: var(--bs-info-bg-subtle);
--bs-list-group-border-color: var(--bs-info-border-subtle); --bs-list-group-border-color: var(--bs-info-border-subtle);
}
.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-info-border-subtle); --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-info.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-info-bg-subtle);
--bs-list-group-active-bg: var(--bs-info-text); --bs-list-group-active-bg: var(--bs-info-text-emphasis);
--bs-list-group-active-border-color: var(--bs-info-text); --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
} }
.list-group-item-warning { .list-group-item-warning {
--bs-list-group-color: var(--bs-warning-text); --bs-list-group-color: var(--bs-warning-text-emphasis);
--bs-list-group-bg: var(--bs-warning-bg-subtle); --bs-list-group-bg: var(--bs-warning-bg-subtle);
--bs-list-group-border-color: var(--bs-warning-border-subtle); --bs-list-group-border-color: var(--bs-warning-border-subtle);
}
.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle); --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-warning.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-warning-bg-subtle);
--bs-list-group-active-bg: var(--bs-warning-text); --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
--bs-list-group-active-border-color: var(--bs-warning-text); --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
} }
.list-group-item-danger { .list-group-item-danger {
--bs-list-group-color: var(--bs-danger-text); --bs-list-group-color: var(--bs-danger-text-emphasis);
--bs-list-group-bg: var(--bs-danger-bg-subtle); --bs-list-group-bg: var(--bs-danger-bg-subtle);
--bs-list-group-border-color: var(--bs-danger-border-subtle); --bs-list-group-border-color: var(--bs-danger-border-subtle);
}
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle); --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-danger.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-danger-bg-subtle);
--bs-list-group-active-bg: var(--bs-danger-text); --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
--bs-list-group-active-border-color: var(--bs-danger-text); --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
} }
.list-group-item-light { .list-group-item-light {
--bs-list-group-color: var(--bs-light-text); --bs-list-group-color: var(--bs-light-text-emphasis);
--bs-list-group-bg: var(--bs-light-bg-subtle); --bs-list-group-bg: var(--bs-light-bg-subtle);
--bs-list-group-border-color: var(--bs-light-border-subtle); --bs-list-group-border-color: var(--bs-light-border-subtle);
}
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-light-border-subtle); --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-light.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-light-bg-subtle);
--bs-list-group-active-bg: var(--bs-light-text); --bs-list-group-active-bg: var(--bs-light-text-emphasis);
--bs-list-group-active-border-color: var(--bs-light-text); --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
} }
.list-group-item-dark { .list-group-item-dark {
--bs-list-group-color: var(--bs-dark-text); --bs-list-group-color: var(--bs-dark-text-emphasis);
--bs-list-group-bg: var(--bs-dark-bg-subtle); --bs-list-group-bg: var(--bs-dark-bg-subtle);
--bs-list-group-border-color: var(--bs-dark-border-subtle); --bs-list-group-border-color: var(--bs-dark-border-subtle);
}
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle); --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-dark.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-dark-bg-subtle);
--bs-list-group-active-bg: var(--bs-dark-text); --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
--bs-list-group-active-border-color: var(--bs-dark-text); --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
} }
.btn-close { .btn-close {
@ -5440,7 +5479,7 @@ textarea.form-control-lg {
--bs-modal-border-color: var(--bs-border-color-translucent); --bs-modal-border-color: var(--bs-border-color-translucent);
--bs-modal-border-width: var(--bs-border-width); --bs-modal-border-width: var(--bs-border-width);
--bs-modal-border-radius: var(--bs-border-radius-lg); --bs-modal-border-radius: var(--bs-border-radius-lg);
--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075); --bs-modal-box-shadow: var(--bs-box-shadow-sm);
--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width))); --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
--bs-modal-header-padding-x: 1rem; --bs-modal-header-padding-x: 1rem;
--bs-modal-header-padding-y: 1rem; --bs-modal-header-padding-y: 1rem;
@ -5540,7 +5579,6 @@ textarea.form-control-lg {
display: flex; display: flex;
flex-shrink: 0; flex-shrink: 0;
align-items: center; align-items: center;
justify-content: space-between;
padding: var(--bs-modal-header-padding); padding: var(--bs-modal-header-padding);
border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
border-top-left-radius: var(--bs-modal-inner-border-radius); border-top-left-radius: var(--bs-modal-inner-border-radius);
@ -5581,7 +5619,7 @@ textarea.form-control-lg {
@media (min-width: 576px) { @media (min-width: 576px) {
.modal { .modal {
--bs-modal-margin: 1.75rem; --bs-modal-margin: 1.75rem;
--bs-modal-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); --bs-modal-box-shadow: var(--bs-box-shadow);
} }
.modal-dialog { .modal-dialog {
max-width: var(--bs-modal-width); max-width: var(--bs-modal-width);
@ -5737,7 +5775,6 @@ textarea.form-control-lg {
--bs-tooltip-arrow-height: 0.4rem; --bs-tooltip-arrow-height: 0.4rem;
z-index: var(--bs-tooltip-zindex); z-index: var(--bs-tooltip-zindex);
display: block; display: block;
padding: var(--bs-tooltip-arrow-height);
margin: var(--bs-tooltip-margin); margin: var(--bs-tooltip-margin);
font-family: var(--bs-font-sans-serif); font-family: var(--bs-font-sans-serif);
font-style: normal; font-style: normal;
@ -5773,7 +5810,7 @@ textarea.form-control-lg {
} }
.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
bottom: 0; bottom: calc(-1 * var(--bs-tooltip-arrow-height));
} }
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
top: -1px; top: -1px;
@ -5783,7 +5820,7 @@ textarea.form-control-lg {
/* rtl:begin:ignore */ /* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
left: 0; left: calc(-1 * var(--bs-tooltip-arrow-height));
width: var(--bs-tooltip-arrow-height); width: var(--bs-tooltip-arrow-height);
height: var(--bs-tooltip-arrow-width); height: var(--bs-tooltip-arrow-width);
} }
@ -5795,7 +5832,7 @@ textarea.form-control-lg {
/* rtl:end:ignore */ /* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
top: 0; top: calc(-1 * var(--bs-tooltip-arrow-height));
} }
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
bottom: -1px; bottom: -1px;
@ -5805,7 +5842,7 @@ textarea.form-control-lg {
/* rtl:begin:ignore */ /* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
right: 0; right: calc(-1 * var(--bs-tooltip-arrow-height));
width: var(--bs-tooltip-arrow-height); width: var(--bs-tooltip-arrow-height);
height: var(--bs-tooltip-arrow-width); height: var(--bs-tooltip-arrow-width);
} }
@ -5834,11 +5871,11 @@ textarea.form-control-lg {
--bs-popover-border-color: var(--bs-border-color-translucent); --bs-popover-border-color: var(--bs-border-color-translucent);
--bs-popover-border-radius: var(--bs-border-radius-lg); --bs-popover-border-radius: var(--bs-border-radius-lg);
--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
--bs-popover-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); --bs-popover-box-shadow: var(--bs-box-shadow);
--bs-popover-header-padding-x: 1rem; --bs-popover-header-padding-x: 1rem;
--bs-popover-header-padding-y: 0.5rem; --bs-popover-header-padding-y: 0.5rem;
--bs-popover-header-font-size: 1rem; --bs-popover-header-font-size: 1rem;
--bs-popover-header-color: ; --bs-popover-header-color: inherit;
--bs-popover-header-bg: var(--bs-secondary-bg); --bs-popover-header-bg: var(--bs-secondary-bg);
--bs-popover-body-padding-x: 1rem; --bs-popover-body-padding-x: 1rem;
--bs-popover-body-padding-y: 1rem; --bs-popover-body-padding-y: 1rem;
@ -6107,20 +6144,12 @@ textarea.form-control-lg {
background-size: 100% 100%; background-size: 100% 100%;
} }
/* rtl:options: {
"autoRename": true,
"stringMap":[ {
"name" : "prev-next",
"search" : "prev",
"replace" : "next"
} ]
} */
.carousel-control-prev-icon { .carousel-control-prev-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")*/;
} }
.carousel-control-next-icon { .carousel-control-next-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")*/;
} }
.carousel-indicators { .carousel-indicators {
@ -6135,7 +6164,6 @@ textarea.form-control-lg {
margin-right: 15%; margin-right: 15%;
margin-bottom: 1rem; margin-bottom: 1rem;
margin-left: 15%; margin-left: 15%;
list-style: none;
} }
.carousel-indicators [data-bs-target] { .carousel-indicators [data-bs-target] {
box-sizing: content-box; box-sizing: content-box;
@ -6187,13 +6215,14 @@ textarea.form-control-lg {
} }
[data-bs-theme=dark] .carousel .carousel-control-prev-icon, [data-bs-theme=dark] .carousel .carousel-control-prev-icon,
[data-bs-theme=dark] .carousel .carousel-control-next-icon, [data-bs-theme=dark].carousel .carousel-control-prev-icon,
[data-bs-theme=dark].carousel .carousel-control-next-icon { [data-bs-theme=dark].carousel .carousel-control-next-icon {
filter: invert(1) grayscale(100); filter: invert(1) grayscale(100);
} }
[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target] { [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {
background-color: #000; background-color: #000;
} }
[data-bs-theme=dark] .carousel .carousel-caption { [data-bs-theme=dark] .carousel .carousel-caption, [data-bs-theme=dark].carousel .carousel-caption {
color: #000; color: #000;
} }
@ -6269,7 +6298,7 @@ textarea.form-control-lg {
--bs-offcanvas-bg: var(--bs-body-bg); --bs-offcanvas-bg: var(--bs-body-bg);
--bs-offcanvas-border-width: var(--bs-border-width); --bs-offcanvas-border-width: var(--bs-border-width);
--bs-offcanvas-border-color: var(--bs-border-color-translucent); --bs-offcanvas-border-color: var(--bs-border-color-translucent);
--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075); --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
--bs-offcanvas-transition: transform 0.3s ease-in-out; --bs-offcanvas-transition: transform 0.3s ease-in-out;
--bs-offcanvas-title-line-height: 1.5; --bs-offcanvas-title-line-height: 1.5;
} }
@ -6303,8 +6332,6 @@ textarea.form-control-lg {
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(-100%); transform: translateX(-100%);
} }
}
@media (max-width: 575.98px) {
.offcanvas-sm.offcanvas-end { .offcanvas-sm.offcanvas-end {
top: 0; top: 0;
right: 0; right: 0;
@ -6312,8 +6339,6 @@ textarea.form-control-lg {
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(100%); transform: translateX(100%);
} }
}
@media (max-width: 575.98px) {
.offcanvas-sm.offcanvas-top { .offcanvas-sm.offcanvas-top {
top: 0; top: 0;
right: 0; right: 0;
@ -6323,8 +6348,6 @@ textarea.form-control-lg {
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(-100%); transform: translateY(-100%);
} }
}
@media (max-width: 575.98px) {
.offcanvas-sm.offcanvas-bottom { .offcanvas-sm.offcanvas-bottom {
right: 0; right: 0;
left: 0; left: 0;
@ -6333,13 +6356,9 @@ textarea.form-control-lg {
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(100%); transform: translateY(100%);
} }
}
@media (max-width: 575.98px) {
.offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
transform: none; transform: none;
} }
}
@media (max-width: 575.98px) {
.offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
visibility: visible; visibility: visible;
} }
@ -6391,8 +6410,6 @@ textarea.form-control-lg {
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(-100%); transform: translateX(-100%);
} }
}
@media (max-width: 767.98px) {
.offcanvas-md.offcanvas-end { .offcanvas-md.offcanvas-end {
top: 0; top: 0;
right: 0; right: 0;
@ -6400,8 +6417,6 @@ textarea.form-control-lg {
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(100%); transform: translateX(100%);
} }
}
@media (max-width: 767.98px) {
.offcanvas-md.offcanvas-top { .offcanvas-md.offcanvas-top {
top: 0; top: 0;
right: 0; right: 0;
@ -6411,8 +6426,6 @@ textarea.form-control-lg {
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(-100%); transform: translateY(-100%);
} }
}
@media (max-width: 767.98px) {
.offcanvas-md.offcanvas-bottom { .offcanvas-md.offcanvas-bottom {
right: 0; right: 0;
left: 0; left: 0;
@ -6421,13 +6434,9 @@ textarea.form-control-lg {
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(100%); transform: translateY(100%);
} }
}
@media (max-width: 767.98px) {
.offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
transform: none; transform: none;
} }
}
@media (max-width: 767.98px) {
.offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
visibility: visible; visibility: visible;
} }
@ -6479,8 +6488,6 @@ textarea.form-control-lg {
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(-100%); transform: translateX(-100%);
} }
}
@media (max-width: 991.98px) {
.offcanvas-lg.offcanvas-end { .offcanvas-lg.offcanvas-end {
top: 0; top: 0;
right: 0; right: 0;
@ -6488,8 +6495,6 @@ textarea.form-control-lg {
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(100%); transform: translateX(100%);
} }
}
@media (max-width: 991.98px) {
.offcanvas-lg.offcanvas-top { .offcanvas-lg.offcanvas-top {
top: 0; top: 0;
right: 0; right: 0;
@ -6499,8 +6504,6 @@ textarea.form-control-lg {
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(-100%); transform: translateY(-100%);
} }
}
@media (max-width: 991.98px) {
.offcanvas-lg.offcanvas-bottom { .offcanvas-lg.offcanvas-bottom {
right: 0; right: 0;
left: 0; left: 0;
@ -6509,13 +6512,9 @@ textarea.form-control-lg {
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(100%); transform: translateY(100%);
} }
}
@media (max-width: 991.98px) {
.offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
transform: none; transform: none;
} }
}
@media (max-width: 991.98px) {
.offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
visibility: visible; visibility: visible;
} }
@ -6567,8 +6566,6 @@ textarea.form-control-lg {
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(-100%); transform: translateX(-100%);
} }
}
@media (max-width: 1199.98px) {
.offcanvas-xl.offcanvas-end { .offcanvas-xl.offcanvas-end {
top: 0; top: 0;
right: 0; right: 0;
@ -6576,8 +6573,6 @@ textarea.form-control-lg {
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(100%); transform: translateX(100%);
} }
}
@media (max-width: 1199.98px) {
.offcanvas-xl.offcanvas-top { .offcanvas-xl.offcanvas-top {
top: 0; top: 0;
right: 0; right: 0;
@ -6587,8 +6582,6 @@ textarea.form-control-lg {
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(-100%); transform: translateY(-100%);
} }
}
@media (max-width: 1199.98px) {
.offcanvas-xl.offcanvas-bottom { .offcanvas-xl.offcanvas-bottom {
right: 0; right: 0;
left: 0; left: 0;
@ -6597,13 +6590,9 @@ textarea.form-control-lg {
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(100%); transform: translateY(100%);
} }
}
@media (max-width: 1199.98px) {
.offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
transform: none; transform: none;
} }
}
@media (max-width: 1199.98px) {
.offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
visibility: visible; visibility: visible;
} }
@ -6655,8 +6644,6 @@ textarea.form-control-lg {
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(-100%); transform: translateX(-100%);
} }
}
@media (max-width: 1399.98px) {
.offcanvas-xxl.offcanvas-end { .offcanvas-xxl.offcanvas-end {
top: 0; top: 0;
right: 0; right: 0;
@ -6664,8 +6651,6 @@ textarea.form-control-lg {
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(100%); transform: translateX(100%);
} }
}
@media (max-width: 1399.98px) {
.offcanvas-xxl.offcanvas-top { .offcanvas-xxl.offcanvas-top {
top: 0; top: 0;
right: 0; right: 0;
@ -6675,8 +6660,6 @@ textarea.form-control-lg {
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(-100%); transform: translateY(-100%);
} }
}
@media (max-width: 1399.98px) {
.offcanvas-xxl.offcanvas-bottom { .offcanvas-xxl.offcanvas-bottom {
right: 0; right: 0;
left: 0; left: 0;
@ -6685,13 +6668,9 @@ textarea.form-control-lg {
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(100%); transform: translateY(100%);
} }
}
@media (max-width: 1399.98px) {
.offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
transform: none; transform: none;
} }
}
@media (max-width: 1399.98px) {
.offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
visibility: visible; visibility: visible;
} }
@ -6790,14 +6769,11 @@ textarea.form-control-lg {
.offcanvas-header { .offcanvas-header {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between;
padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
} }
.offcanvas-header .btn-close { .offcanvas-header .btn-close {
padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5); padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y)); margin: calc(-0.5 * var(--bs-offcanvas-padding-y)) calc(-0.5 * var(--bs-offcanvas-padding-x)) calc(-0.5 * var(--bs-offcanvas-padding-y)) auto;
margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
} }
.offcanvas-title { .offcanvas-title {
@ -6867,98 +6843,173 @@ textarea.form-control-lg {
.text-bg-primary { .text-bg-primary {
color: #fff !important; color: #fff !important;
background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-secondary { .text-bg-secondary {
color: #fff !important; color: #fff !important;
background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-success { .text-bg-success {
color: #fff !important; color: #fff !important;
background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-info { .text-bg-info {
color: #000 !important; color: #000 !important;
background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-warning { .text-bg-warning {
color: #000 !important; color: #000 !important;
background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-danger { .text-bg-danger {
color: #fff !important; color: #fff !important;
background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-light { .text-bg-light {
color: #000 !important; color: #000 !important;
background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-dark { .text-bg-dark {
color: #fff !important; color: #fff !important;
background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.link-primary { .link-primary {
color: #0d6efd !important; color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-primary:hover, .link-primary:focus { .link-primary:hover, .link-primary:focus {
color: #0a58ca !important; color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-secondary { .link-secondary {
color: #6c757d !important; color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-secondary:hover, .link-secondary:focus { .link-secondary:hover, .link-secondary:focus {
color: #565e64 !important; color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-success { .link-success {
color: #198754 !important; color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-success:hover, .link-success:focus { .link-success:hover, .link-success:focus {
color: #146c43 !important; color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-info { .link-info {
color: #0dcaf0 !important; color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-info:hover, .link-info:focus { .link-info:hover, .link-info:focus {
color: #3dd5f3 !important; color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-warning { .link-warning {
color: #ffc107 !important; color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-warning:hover, .link-warning:focus { .link-warning:hover, .link-warning:focus {
color: #ffcd39 !important; color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-danger { .link-danger {
color: #dc3545 !important; color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-danger:hover, .link-danger:focus { .link-danger:hover, .link-danger:focus {
color: #b02a37 !important; color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-light { .link-light {
color: #f8f9fa !important; color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-light:hover, .link-light:focus { .link-light:hover, .link-light:focus {
color: #f9fafb !important; color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-dark { .link-dark {
color: #212529 !important; color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-dark:hover, .link-dark:focus { .link-dark:hover, .link-dark:focus {
color: #1a1e21 !important; color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis {
color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}
.focus-ring:focus {
outline: 0;
box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}
.icon-link {
display: inline-flex;
gap: 0.375rem;
align-items: center;
-webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
text-underline-offset: 0.25em;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.icon-link > .bi {
flex-shrink: 0;
width: 1em;
height: 1em;
fill: currentcolor;
transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
.icon-link > .bi {
transition: none;
}
}
.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
} }
.ratio { .ratio {
@ -7110,7 +7161,6 @@ textarea.form-control-lg {
.visually-hidden, .visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) { .visually-hidden-focusable:not(:focus):not(:focus-within) {
position: absolute !important;
width: 1px !important; width: 1px !important;
height: 1px !important; height: 1px !important;
padding: 0 !important; padding: 0 !important;
@ -7120,6 +7170,10 @@ textarea.form-control-lg {
white-space: nowrap !important; white-space: nowrap !important;
border: 0 !important; border: 0 !important;
} }
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
position: absolute !important;
}
.stretched-link::after { .stretched-link::after {
position: absolute; position: absolute;
@ -7140,7 +7194,7 @@ textarea.form-control-lg {
.vr { .vr {
display: inline-block; display: inline-block;
align-self: stretch; align-self: stretch;
width: 1px; width: var(--bs-border-width);
min-height: 1em; min-height: 1em;
background-color: currentcolor; background-color: currentcolor;
opacity: 0.25; opacity: 0.25;
@ -7291,6 +7345,10 @@ textarea.form-control-lg {
display: grid !important; display: grid !important;
} }
.d-inline-grid {
display: inline-grid !important;
}
.d-table { .d-table {
display: table !important; display: table !important;
} }
@ -7316,21 +7374,53 @@ textarea.form-control-lg {
} }
.shadow { .shadow {
box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15) !important; box-shadow: var(--bs-box-shadow) !important;
} }
.shadow-sm { .shadow-sm {
box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075) !important; box-shadow: var(--bs-box-shadow-sm) !important;
} }
.shadow-lg { .shadow-lg {
box-shadow: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175) !important; box-shadow: var(--bs-box-shadow-lg) !important;
} }
.shadow-none { .shadow-none {
box-shadow: none !important; box-shadow: none !important;
} }
.focus-ring-primary {
--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-secondary {
--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-success {
--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-info {
--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-warning {
--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-danger {
--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-light {
--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-dark {
--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}
.position-static { .position-static {
position: static !important; position: static !important;
} }
@ -7492,6 +7582,11 @@ textarea.form-control-lg {
border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
} }
.border-black {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}
.border-white { .border-white {
--bs-border-opacity: 1; --bs-border-opacity: 1;
border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
@ -7530,23 +7625,23 @@ textarea.form-control-lg {
} }
.border-1 { .border-1 {
--bs-border-width: 1px; border-width: 1px !important;
} }
.border-2 { .border-2 {
--bs-border-width: 2px; border-width: 2px !important;
} }
.border-3 { .border-3 {
--bs-border-width: 3px; border-width: 3px !important;
} }
.border-4 { .border-4 {
--bs-border-width: 4px; border-width: 4px !important;
} }
.border-5 { .border-5 {
--bs-border-width: 5px; border-width: 5px !important;
} }
.border-opacity-10 { .border-opacity-10 {
@ -8511,35 +8606,201 @@ textarea.form-control-lg {
} }
.text-primary-emphasis { .text-primary-emphasis {
color: var(--bs-primary-text) !important; color: var(--bs-primary-text-emphasis) !important;
} }
.text-secondary-emphasis { .text-secondary-emphasis {
color: var(--bs-secondary-text) !important; color: var(--bs-secondary-text-emphasis) !important;
} }
.text-success-emphasis { .text-success-emphasis {
color: var(--bs-success-text) !important; color: var(--bs-success-text-emphasis) !important;
} }
.text-info-emphasis { .text-info-emphasis {
color: var(--bs-info-text) !important; color: var(--bs-info-text-emphasis) !important;
} }
.text-warning-emphasis { .text-warning-emphasis {
color: var(--bs-warning-text) !important; color: var(--bs-warning-text-emphasis) !important;
} }
.text-danger-emphasis { .text-danger-emphasis {
color: var(--bs-danger-text) !important; color: var(--bs-danger-text-emphasis) !important;
} }
.text-light-emphasis { .text-light-emphasis {
color: var(--bs-light-text) !important; color: var(--bs-light-text-emphasis) !important;
} }
.text-dark-emphasis { .text-dark-emphasis {
color: var(--bs-dark-text) !important; color: var(--bs-dark-text-emphasis) !important;
}
.link-opacity-10 {
--bs-link-opacity: 0.1;
}
.link-opacity-10-hover:hover {
--bs-link-opacity: 0.1;
}
.link-opacity-25 {
--bs-link-opacity: 0.25;
}
.link-opacity-25-hover:hover {
--bs-link-opacity: 0.25;
}
.link-opacity-50 {
--bs-link-opacity: 0.5;
}
.link-opacity-50-hover:hover {
--bs-link-opacity: 0.5;
}
.link-opacity-75 {
--bs-link-opacity: 0.75;
}
.link-opacity-75-hover:hover {
--bs-link-opacity: 0.75;
}
.link-opacity-100 {
--bs-link-opacity: 1;
}
.link-opacity-100-hover:hover {
--bs-link-opacity: 1;
}
.link-offset-1 {
text-underline-offset: 0.125em !important;
}
.link-offset-1-hover:hover {
text-underline-offset: 0.125em !important;
}
.link-offset-2 {
text-underline-offset: 0.25em !important;
}
.link-offset-2-hover:hover {
text-underline-offset: 0.25em !important;
}
.link-offset-3 {
text-underline-offset: 0.375em !important;
}
.link-offset-3-hover:hover {
text-underline-offset: 0.375em !important;
}
.link-underline-primary {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-secondary {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-success {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-info {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-warning {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-danger {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-light {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-dark {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-underline-opacity-0 {
--bs-link-underline-opacity: 0;
}
.link-underline-opacity-0-hover:hover {
--bs-link-underline-opacity: 0;
}
.link-underline-opacity-10 {
--bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-10-hover:hover {
--bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-25 {
--bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-25-hover:hover {
--bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-50 {
--bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-50-hover:hover {
--bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-75 {
--bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-75-hover:hover {
--bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-100 {
--bs-link-underline-opacity: 1;
}
.link-underline-opacity-100-hover:hover {
--bs-link-underline-opacity: 1;
} }
.bg-primary { .bg-primary {
@ -8612,11 +8873,6 @@ textarea.form-control-lg {
background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important; background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
} }
.bg-body-emphasis {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-emphasis-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-opacity-10 { .bg-opacity-10 {
--bs-bg-opacity: 0.1; --bs-bg-opacity: 0.1;
} }
@ -8724,7 +8980,7 @@ textarea.form-control-lg {
} }
.rounded-5 { .rounded-5 {
border-radius: var(--bs-border-radius-2xl) !important; border-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-circle { .rounded-circle {
@ -8766,8 +9022,8 @@ textarea.form-control-lg {
} }
.rounded-top-5 { .rounded-top-5 {
border-top-left-radius: var(--bs-border-radius-2xl) !important; border-top-left-radius: var(--bs-border-radius-xxl) !important;
border-top-right-radius: var(--bs-border-radius-2xl) !important; border-top-right-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-top-circle { .rounded-top-circle {
@ -8811,8 +9067,8 @@ textarea.form-control-lg {
} }
.rounded-end-5 { .rounded-end-5 {
border-top-right-radius: var(--bs-border-radius-2xl) !important; border-top-right-radius: var(--bs-border-radius-xxl) !important;
border-bottom-right-radius: var(--bs-border-radius-2xl) !important; border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-end-circle { .rounded-end-circle {
@ -8856,8 +9112,8 @@ textarea.form-control-lg {
} }
.rounded-bottom-5 { .rounded-bottom-5 {
border-bottom-right-radius: var(--bs-border-radius-2xl) !important; border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
border-bottom-left-radius: var(--bs-border-radius-2xl) !important; border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-bottom-circle { .rounded-bottom-circle {
@ -8901,8 +9157,8 @@ textarea.form-control-lg {
} }
.rounded-start-5 { .rounded-start-5 {
border-bottom-left-radius: var(--bs-border-radius-2xl) !important; border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
border-top-left-radius: var(--bs-border-radius-2xl) !important; border-top-left-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-start-circle { .rounded-start-circle {
@ -8985,6 +9241,9 @@ textarea.form-control-lg {
.d-sm-grid { .d-sm-grid {
display: grid !important; display: grid !important;
} }
.d-sm-inline-grid {
display: inline-grid !important;
}
.d-sm-table { .d-sm-table {
display: table !important; display: table !important;
} }
@ -9543,6 +9802,9 @@ textarea.form-control-lg {
.d-md-grid { .d-md-grid {
display: grid !important; display: grid !important;
} }
.d-md-inline-grid {
display: inline-grid !important;
}
.d-md-table { .d-md-table {
display: table !important; display: table !important;
} }
@ -10101,6 +10363,9 @@ textarea.form-control-lg {
.d-lg-grid { .d-lg-grid {
display: grid !important; display: grid !important;
} }
.d-lg-inline-grid {
display: inline-grid !important;
}
.d-lg-table { .d-lg-table {
display: table !important; display: table !important;
} }
@ -10659,6 +10924,9 @@ textarea.form-control-lg {
.d-xl-grid { .d-xl-grid {
display: grid !important; display: grid !important;
} }
.d-xl-inline-grid {
display: inline-grid !important;
}
.d-xl-table { .d-xl-table {
display: table !important; display: table !important;
} }
@ -11217,6 +11485,9 @@ textarea.form-control-lg {
.d-xxl-grid { .d-xxl-grid {
display: grid !important; display: grid !important;
} }
.d-xxl-inline-grid {
display: inline-grid !important;
}
.d-xxl-table { .d-xxl-table {
display: table !important; display: table !important;
} }
@ -11760,6 +12031,9 @@ textarea.form-control-lg {
.d-print-grid { .d-print-grid {
display: grid !important; display: grid !important;
} }
.d-print-inline-grid {
display: inline-grid !important;
}
.d-print-table { .d-print-table {
display: table !important; display: table !important;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
@charset "UTF-8"; @charset "UTF-8";
/*! /*!
* Bootstrap v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2024 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
:root, :root,
@ -45,16 +45,16 @@
--bs-danger-rgb: 220, 53, 69; --bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250; --bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41; --bs-dark-rgb: 33, 37, 41;
--bs-primary-text: #0a58ca; --bs-primary-text-emphasis: #052c65;
--bs-secondary-text: #6c757d; --bs-secondary-text-emphasis: #2b2f32;
--bs-success-text: #146c43; --bs-success-text-emphasis: #0a3622;
--bs-info-text: #087990; --bs-info-text-emphasis: #055160;
--bs-warning-text: #997404; --bs-warning-text-emphasis: #664d03;
--bs-danger-text: #b02a37; --bs-danger-text-emphasis: #58151c;
--bs-light-text: #6c757d; --bs-light-text-emphasis: #495057;
--bs-dark-text: #495057; --bs-dark-text-emphasis: #495057;
--bs-primary-bg-subtle: #cfe2ff; --bs-primary-bg-subtle: #cfe2ff;
--bs-secondary-bg-subtle: #f8f9fa; --bs-secondary-bg-subtle: #e2e3e5;
--bs-success-bg-subtle: #d1e7dd; --bs-success-bg-subtle: #d1e7dd;
--bs-info-bg-subtle: #cff4fc; --bs-info-bg-subtle: #cff4fc;
--bs-warning-bg-subtle: #fff3cd; --bs-warning-bg-subtle: #fff3cd;
@ -62,7 +62,7 @@
--bs-light-bg-subtle: #fcfcfd; --bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da; --bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #9ec5fe; --bs-primary-border-subtle: #9ec5fe;
--bs-secondary-border-subtle: #e9ecef; --bs-secondary-border-subtle: #c4c8cb;
--bs-success-border-subtle: #a3cfbb; --bs-success-border-subtle: #a3cfbb;
--bs-info-border-subtle: #9eeaf9; --bs-info-border-subtle: #9eeaf9;
--bs-warning-border-subtle: #ffe69c; --bs-warning-border-subtle: #ffe69c;
@ -71,8 +71,6 @@
--bs-dark-border-subtle: #adb5bd; --bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255; --bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0; --bs-black-rgb: 0, 0, 0;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
@ -81,6 +79,9 @@
--bs-body-font-weight: 400; --bs-body-font-weight: 400;
--bs-body-line-height: 1.5; --bs-body-line-height: 1.5;
--bs-body-color: #212529; --bs-body-color: #212529;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg: #fff;
--bs-body-bg-rgb: 255, 255, 255;
--bs-emphasis-color: #000; --bs-emphasis-color: #000;
--bs-emphasis-color-rgb: 0, 0, 0; --bs-emphasis-color-rgb: 0, 0, 0;
--bs-secondary-color: rgba(33, 37, 41, 0.75); --bs-secondary-color: rgba(33, 37, 41, 0.75);
@ -91,14 +92,14 @@
--bs-tertiary-color-rgb: 33, 37, 41; --bs-tertiary-color-rgb: 33, 37, 41;
--bs-tertiary-bg: #f8f9fa; --bs-tertiary-bg: #f8f9fa;
--bs-tertiary-bg-rgb: 248, 249, 250; --bs-tertiary-bg-rgb: 248, 249, 250;
--bs-body-bg: #fff; --bs-heading-color: inherit;
--bs-body-bg-rgb: 255, 255, 255;
--bs-link-color: #0d6efd; --bs-link-color: #0d6efd;
--bs-link-color-rgb: 13, 110, 253; --bs-link-color-rgb: 13, 110, 253;
--bs-link-decoration: underline; --bs-link-decoration: underline;
--bs-link-hover-color: #0a58ca; --bs-link-hover-color: #0a58ca;
--bs-link-hover-color-rgb: 10, 88, 202; --bs-link-hover-color-rgb: 10, 88, 202;
--bs-code-color: #d63384; --bs-code-color: #d63384;
--bs-highlight-color: #212529;
--bs-highlight-bg: #fff3cd; --bs-highlight-bg: #fff3cd;
--bs-border-width: 1px; --bs-border-width: 1px;
--bs-border-style: solid; --bs-border-style: solid;
@ -108,50 +109,48 @@
--bs-border-radius-sm: 0.25rem; --bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem; --bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem; --bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem; --bs-border-radius-xxl: 2rem;
--bs-border-radius-2xl: var(--bs-border-radius-xxl);
--bs-border-radius-pill: 50rem; --bs-border-radius-pill: 50rem;
--bs-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075); --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175); --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
--bs-box-shadow-inset: inset 0 1px 2px rgba(var(--bs-body-color-rgb), 0.075); --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
--bs-emphasis-color: #000; --bs-focus-ring-width: 0.25rem;
--bs-form-control-bg: var(--bs-body-bg); --bs-focus-ring-opacity: 0.25;
--bs-form-control-disabled-bg: var(--bs-secondary-bg); --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
--bs-highlight-bg: #fff3cd; --bs-form-valid-color: #198754;
--bs-breakpoint-xs: 0; --bs-form-valid-border-color: #198754;
--bs-breakpoint-sm: 576px; --bs-form-invalid-color: #dc3545;
--bs-breakpoint-md: 768px; --bs-form-invalid-border-color: #dc3545;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
} }
[data-bs-theme=dark] { [data-bs-theme=dark] {
--bs-body-color: #adb5bd; color-scheme: dark;
--bs-body-color-rgb: 173, 181, 189; --bs-body-color: #dee2e6;
--bs-body-color-rgb: 222, 226, 230;
--bs-body-bg: #212529; --bs-body-bg: #212529;
--bs-body-bg-rgb: 33, 37, 41; --bs-body-bg-rgb: 33, 37, 41;
--bs-emphasis-color: #f8f9fa; --bs-emphasis-color: #fff;
--bs-emphasis-color-rgb: 248, 249, 250; --bs-emphasis-color-rgb: 255, 255, 255;
--bs-secondary-color: rgba(173, 181, 189, 0.75); --bs-secondary-color: rgba(222, 226, 230, 0.75);
--bs-secondary-color-rgb: 173, 181, 189; --bs-secondary-color-rgb: 222, 226, 230;
--bs-secondary-bg: #343a40; --bs-secondary-bg: #343a40;
--bs-secondary-bg-rgb: 52, 58, 64; --bs-secondary-bg-rgb: 52, 58, 64;
--bs-tertiary-color: rgba(173, 181, 189, 0.5); --bs-tertiary-color: rgba(222, 226, 230, 0.5);
--bs-tertiary-color-rgb: 173, 181, 189; --bs-tertiary-color-rgb: 222, 226, 230;
--bs-tertiary-bg: #2b3035; --bs-tertiary-bg: #2b3035;
--bs-tertiary-bg-rgb: 43, 48, 53; --bs-tertiary-bg-rgb: 43, 48, 53;
--bs-emphasis-color: #fff; --bs-primary-text-emphasis: #6ea8fe;
--bs-primary-text: #6ea8fe; --bs-secondary-text-emphasis: #a7acb1;
--bs-secondary-text: #dee2e6; --bs-success-text-emphasis: #75b798;
--bs-success-text: #75b798; --bs-info-text-emphasis: #6edff6;
--bs-info-text: #6edff6; --bs-warning-text-emphasis: #ffda6a;
--bs-warning-text: #ffda6a; --bs-danger-text-emphasis: #ea868f;
--bs-danger-text: #ea868f; --bs-light-text-emphasis: #f8f9fa;
--bs-light-text: #f8f9fa; --bs-dark-text-emphasis: #dee2e6;
--bs-dark-text: #dee2e6;
--bs-primary-bg-subtle: #031633; --bs-primary-bg-subtle: #031633;
--bs-secondary-bg-subtle: #212529; --bs-secondary-bg-subtle: #161719;
--bs-success-bg-subtle: #051b11; --bs-success-bg-subtle: #051b11;
--bs-info-bg-subtle: #032830; --bs-info-bg-subtle: #032830;
--bs-warning-bg-subtle: #332701; --bs-warning-bg-subtle: #332701;
@ -159,21 +158,27 @@
--bs-light-bg-subtle: #343a40; --bs-light-bg-subtle: #343a40;
--bs-dark-bg-subtle: #1a1d20; --bs-dark-bg-subtle: #1a1d20;
--bs-primary-border-subtle: #084298; --bs-primary-border-subtle: #084298;
--bs-secondary-border-subtle: #495057; --bs-secondary-border-subtle: #41464b;
--bs-success-border-subtle: #0f5132; --bs-success-border-subtle: #0f5132;
--bs-info-border-subtle: #055160; --bs-info-border-subtle: #087990;
--bs-warning-border-subtle: #664d03; --bs-warning-border-subtle: #997404;
--bs-danger-border-subtle: #842029; --bs-danger-border-subtle: #842029;
--bs-light-border-subtle: #495057; --bs-light-border-subtle: #495057;
--bs-dark-border-subtle: #343a40; --bs-dark-border-subtle: #343a40;
--bs-heading-color: #fff; --bs-heading-color: inherit;
--bs-link-color: #6ea8fe; --bs-link-color: #6ea8fe;
--bs-link-hover-color: #9ec5fe; --bs-link-hover-color: #8bb9fe;
--bs-link-color-rgb: 110, 168, 254; --bs-link-color-rgb: 110, 168, 254;
--bs-link-hover-color-rgb: 158, 197, 254; --bs-link-hover-color-rgb: 139, 185, 254;
--bs-code-color: #e685b5; --bs-code-color: #e685b5;
--bs-highlight-color: #dee2e6;
--bs-highlight-bg: #664d03;
--bs-border-color: #495057; --bs-border-color: #495057;
--bs-border-color-translucent: rgba(255, 255, 255, 0.15); --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
--bs-form-valid-color: #75b798;
--bs-form-valid-border-color: #75b798;
--bs-form-invalid-color: #ea868f;
--bs-form-invalid-border-color: #ea868f;
} }
*, *,
@ -214,7 +219,7 @@ h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
font-weight: 500; font-weight: 500;
line-height: 1.2; line-height: 1.2;
color: var(--bs-heading-color, inherit); color: var(--bs-heading-color);
} }
h1, .h1 { h1, .h1 {
@ -323,6 +328,7 @@ small, .small {
mark, .mark { mark, .mark {
padding: 0.1875em; padding: 0.1875em;
color: var(--bs-highlight-color);
background-color: var(--bs-highlight-bg); background-color: var(--bs-highlight-bg);
} }
@ -538,8 +544,8 @@ legend + * {
} }
[type=search] { [type=search] {
outline-offset: -2px;
-webkit-appearance: textfield; -webkit-appearance: textfield;
outline-offset: -2px;
} }
[type="tel"], [type="tel"],
@ -767,6 +773,15 @@ progress {
max-width: 1320px; max-width: 1320px;
} }
} }
:root {
--bs-breakpoint-xs: 0;
--bs-breakpoint-sm: 576px;
--bs-breakpoint-md: 768px;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
}
.row { .row {
--bs-gutter-x: 1.5rem; --bs-gutter-x: 1.5rem;
--bs-gutter-y: 0; --bs-gutter-y: 0;
@ -806,7 +821,7 @@ progress {
.row-cols-3 > * { .row-cols-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-4 > * { .row-cols-4 > * {
@ -821,7 +836,7 @@ progress {
.row-cols-6 > * { .row-cols-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-auto { .col-auto {
@ -1011,7 +1026,7 @@ progress {
} }
.row-cols-sm-3 > * { .row-cols-sm-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-sm-4 > * { .row-cols-sm-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -1023,7 +1038,7 @@ progress {
} }
.row-cols-sm-6 > * { .row-cols-sm-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-sm-auto { .col-sm-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1180,7 +1195,7 @@ progress {
} }
.row-cols-md-3 > * { .row-cols-md-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-md-4 > * { .row-cols-md-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -1192,7 +1207,7 @@ progress {
} }
.row-cols-md-6 > * { .row-cols-md-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-md-auto { .col-md-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1349,7 +1364,7 @@ progress {
} }
.row-cols-lg-3 > * { .row-cols-lg-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-lg-4 > * { .row-cols-lg-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -1361,7 +1376,7 @@ progress {
} }
.row-cols-lg-6 > * { .row-cols-lg-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-lg-auto { .col-lg-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1518,7 +1533,7 @@ progress {
} }
.row-cols-xl-3 > * { .row-cols-xl-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-xl-4 > * { .row-cols-xl-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -1530,7 +1545,7 @@ progress {
} }
.row-cols-xl-6 > * { .row-cols-xl-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-xl-auto { .col-xl-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1687,7 +1702,7 @@ progress {
} }
.row-cols-xxl-3 > * { .row-cols-xxl-3 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 33.3333333333%; width: 33.33333333%;
} }
.row-cols-xxl-4 > * { .row-cols-xxl-4 > * {
flex: 0 0 auto; flex: 0 0 auto;
@ -1699,7 +1714,7 @@ progress {
} }
.row-cols-xxl-6 > * { .row-cols-xxl-6 > * {
flex: 0 0 auto; flex: 0 0 auto;
width: 16.6666666667%; width: 16.66666667%;
} }
.col-xxl-auto { .col-xxl-auto {
flex: 0 0 auto; flex: 0 0 auto;
@ -1839,27 +1854,31 @@ progress {
} }
} }
.table { .table {
--bs-table-color: var(--bs-body-color); --bs-table-color-type: initial;
--bs-table-bg: transparent; --bs-table-bg-type: initial;
--bs-table-color-state: initial;
--bs-table-bg-state: initial;
--bs-table-color: var(--bs-emphasis-color);
--bs-table-bg: var(--bs-body-bg);
--bs-table-border-color: var(--bs-border-color); --bs-table-border-color: var(--bs-border-color);
--bs-table-accent-bg: transparent; --bs-table-accent-bg: transparent;
--bs-table-striped-color: var(--bs-body-color); --bs-table-striped-color: var(--bs-emphasis-color);
--bs-table-striped-bg: rgba(0, 0, 0, 0.05); --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
--bs-table-active-color: var(--bs-body-color); --bs-table-active-color: var(--bs-emphasis-color);
--bs-table-active-bg: rgba(0, 0, 0, 0.1); --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
--bs-table-hover-color: var(--bs-body-color); --bs-table-hover-color: var(--bs-emphasis-color);
--bs-table-hover-bg: rgba(0, 0, 0, 0.075); --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
width: 100%; width: 100%;
margin-bottom: 1rem; margin-bottom: 1rem;
color: var(--bs-table-color);
vertical-align: top; vertical-align: top;
border-color: var(--bs-table-border-color); border-color: var(--bs-table-border-color);
} }
.table > :not(caption) > * > * { .table > :not(caption) > * > * {
padding: 0.5rem 0.5rem; padding: 0.5rem 0.5rem;
color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
background-color: var(--bs-table-bg); background-color: var(--bs-table-bg);
border-bottom-width: var(--bs-border-width); border-bottom-width: var(--bs-border-width);
box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
} }
.table > tbody { .table > tbody {
vertical-align: inherit; vertical-align: inherit;
@ -1895,29 +1914,29 @@ progress {
} }
.table-striped > tbody > tr:nth-of-type(odd) > * { .table-striped > tbody > tr:nth-of-type(odd) > * {
--bs-table-accent-bg: var(--bs-table-striped-bg); --bs-table-color-type: var(--bs-table-striped-color);
color: var(--bs-table-striped-color); --bs-table-bg-type: var(--bs-table-striped-bg);
} }
.table-striped-columns > :not(caption) > tr > :nth-child(even) { .table-striped-columns > :not(caption) > tr > :nth-child(even) {
--bs-table-accent-bg: var(--bs-table-striped-bg); --bs-table-color-type: var(--bs-table-striped-color);
color: var(--bs-table-striped-color); --bs-table-bg-type: var(--bs-table-striped-bg);
} }
.table-active { .table-active {
--bs-table-accent-bg: var(--bs-table-active-bg); --bs-table-color-state: var(--bs-table-active-color);
color: var(--bs-table-active-color); --bs-table-bg-state: var(--bs-table-active-bg);
} }
.table-hover > tbody > tr:hover > * { .table-hover > tbody > tr:hover > * {
--bs-table-accent-bg: var(--bs-table-hover-bg); --bs-table-color-state: var(--bs-table-hover-color);
color: var(--bs-table-hover-color); --bs-table-bg-state: var(--bs-table-hover-bg);
} }
.table-primary { .table-primary {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #cfe2ff; --bs-table-bg: #cfe2ff;
--bs-table-border-color: #bacbe6; --bs-table-border-color: #a6b5cc;
--bs-table-striped-bg: #c5d7f2; --bs-table-striped-bg: #c5d7f2;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #bacbe6; --bs-table-active-bg: #bacbe6;
@ -1931,7 +1950,7 @@ progress {
.table-secondary { .table-secondary {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #e2e3e5; --bs-table-bg: #e2e3e5;
--bs-table-border-color: #cbccce; --bs-table-border-color: #b5b6b7;
--bs-table-striped-bg: #d7d8da; --bs-table-striped-bg: #d7d8da;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #cbccce; --bs-table-active-bg: #cbccce;
@ -1945,7 +1964,7 @@ progress {
.table-success { .table-success {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #d1e7dd; --bs-table-bg: #d1e7dd;
--bs-table-border-color: #bcd0c7; --bs-table-border-color: #a7b9b1;
--bs-table-striped-bg: #c7dbd2; --bs-table-striped-bg: #c7dbd2;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #bcd0c7; --bs-table-active-bg: #bcd0c7;
@ -1959,7 +1978,7 @@ progress {
.table-info { .table-info {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #cff4fc; --bs-table-bg: #cff4fc;
--bs-table-border-color: #badce3; --bs-table-border-color: #a6c3ca;
--bs-table-striped-bg: #c5e8ef; --bs-table-striped-bg: #c5e8ef;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #badce3; --bs-table-active-bg: #badce3;
@ -1973,7 +1992,7 @@ progress {
.table-warning { .table-warning {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #fff3cd; --bs-table-bg: #fff3cd;
--bs-table-border-color: #e6dbb9; --bs-table-border-color: #ccc2a4;
--bs-table-striped-bg: #f2e7c3; --bs-table-striped-bg: #f2e7c3;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #e6dbb9; --bs-table-active-bg: #e6dbb9;
@ -1987,7 +2006,7 @@ progress {
.table-danger { .table-danger {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #f8d7da; --bs-table-bg: #f8d7da;
--bs-table-border-color: #dfc2c4; --bs-table-border-color: #c6acae;
--bs-table-striped-bg: #eccccf; --bs-table-striped-bg: #eccccf;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #dfc2c4; --bs-table-active-bg: #dfc2c4;
@ -2001,7 +2020,7 @@ progress {
.table-light { .table-light {
--bs-table-color: #000; --bs-table-color: #000;
--bs-table-bg: #f8f9fa; --bs-table-bg: #f8f9fa;
--bs-table-border-color: #dfe0e1; --bs-table-border-color: #c6c7c8;
--bs-table-striped-bg: #ecedee; --bs-table-striped-bg: #ecedee;
--bs-table-striped-color: #000; --bs-table-striped-color: #000;
--bs-table-active-bg: #dfe0e1; --bs-table-active-bg: #dfe0e1;
@ -2015,7 +2034,7 @@ progress {
.table-dark { .table-dark {
--bs-table-color: #fff; --bs-table-color: #fff;
--bs-table-bg: #212529; --bs-table-bg: #212529;
--bs-table-border-color: #373b3e; --bs-table-border-color: #4d5154;
--bs-table-striped-bg: #2c3034; --bs-table-striped-bg: #2c3034;
--bs-table-striped-color: #fff; --bs-table-striped-color: #fff;
--bs-table-active-bg: #373b3e; --bs-table-active-bg: #373b3e;
@ -2099,13 +2118,13 @@ progress {
font-weight: 400; font-weight: 400;
line-height: 1.5; line-height: 1.5;
color: var(--bs-body-color); color: var(--bs-body-color);
background-color: var(--bs-form-control-bg);
background-clip: padding-box;
border: var(--bs-border-width) solid var(--bs-border-color);
-webkit-appearance: none; -webkit-appearance: none;
-moz-appearance: none; -moz-appearance: none;
appearance: none; appearance: none;
border-radius: 0.375rem; background-color: var(--bs-body-bg);
background-clip: padding-box;
border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
} }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
@ -2121,13 +2140,15 @@ progress {
} }
.form-control:focus { .form-control:focus {
color: var(--bs-body-color); color: var(--bs-body-color);
background-color: var(--bs-form-control-bg); background-color: var(--bs-body-bg);
border-color: #86b7fe; border-color: #86b7fe;
outline: 0; outline: 0;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
} }
.form-control::-webkit-date-and-time-value { .form-control::-webkit-date-and-time-value {
min-width: 85px;
height: 1.5em; height: 1.5em;
margin: 0;
} }
.form-control::-webkit-datetime-edit { .form-control::-webkit-datetime-edit {
display: block; display: block;
@ -2142,7 +2163,7 @@ progress {
opacity: 1; opacity: 1;
} }
.form-control:disabled { .form-control:disabled {
background-color: var(--bs-form-control-disabled-bg); background-color: var(--bs-secondary-bg);
opacity: 1; opacity: 1;
} }
.form-control::-webkit-file-upload-button { .form-control::-webkit-file-upload-button {
@ -2215,7 +2236,7 @@ progress {
min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
padding: 0.25rem 0.5rem; padding: 0.25rem 0.5rem;
font-size: 0.875rem; font-size: 0.875rem;
border-radius: 0.25rem; border-radius: var(--bs-border-radius-sm);
} }
.form-control-sm::-webkit-file-upload-button { .form-control-sm::-webkit-file-upload-button {
padding: 0.25rem 0.5rem; padding: 0.25rem 0.5rem;
@ -2234,7 +2255,7 @@ progress {
min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
font-size: 1.25rem; font-size: 1.25rem;
border-radius: 0.5rem; border-radius: var(--bs-border-radius-lg);
} }
.form-control-lg::-webkit-file-upload-button { .form-control-lg::-webkit-file-upload-button {
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
@ -2269,10 +2290,11 @@ textarea.form-control-lg {
} }
.form-control-color::-moz-color-swatch { .form-control-color::-moz-color-swatch {
border: 0 !important; border: 0 !important;
border-radius: 0.375rem; border-radius: var(--bs-border-radius);
} }
.form-control-color::-webkit-color-swatch { .form-control-color::-webkit-color-swatch {
border-radius: 0.375rem; border: 0 !important;
border-radius: var(--bs-border-radius);
} }
.form-control-color.form-control-sm { .form-control-color.form-control-sm {
height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
@ -2286,22 +2308,21 @@ textarea.form-control-lg {
display: block; display: block;
width: 100%; width: 100%;
padding: 0.375rem 0.75rem 0.375rem 2.25rem; padding: 0.375rem 0.75rem 0.375rem 2.25rem;
-moz-padding-start: calc(0.75rem - 3px);
font-size: 1rem; font-size: 1rem;
font-weight: 400; font-weight: 400;
line-height: 1.5; line-height: 1.5;
color: var(--bs-body-color); color: var(--bs-body-color);
background-color: var(--bs-form-control-bg); -webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: var(--bs-body-bg);
background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: left 0.75rem center; background-position: left 0.75rem center;
background-size: 16px 12px; background-size: 16px 12px;
border: var(--bs-border-width) solid var(--bs-border-color); border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: 0.375rem; border-radius: var(--bs-border-radius);
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
} }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
.form-select { .form-select {
@ -2318,7 +2339,7 @@ textarea.form-control-lg {
background-image: none; background-image: none;
} }
.form-select:disabled { .form-select:disabled {
background-color: var(--bs-form-control-disabled-bg); background-color: var(--bs-secondary-bg);
} }
.form-select:-moz-focusring { .form-select:-moz-focusring {
color: transparent; color: transparent;
@ -2330,7 +2351,7 @@ textarea.form-control-lg {
padding-bottom: 0.25rem; padding-bottom: 0.25rem;
padding-right: 0.5rem; padding-right: 0.5rem;
font-size: 0.875rem; font-size: 0.875rem;
border-radius: 0.25rem; border-radius: var(--bs-border-radius-sm);
} }
.form-select-lg { .form-select-lg {
@ -2338,11 +2359,11 @@ textarea.form-control-lg {
padding-bottom: 0.5rem; padding-bottom: 0.5rem;
padding-right: 1rem; padding-right: 1rem;
font-size: 1.25rem; font-size: 1.25rem;
border-radius: 0.5rem; border-radius: var(--bs-border-radius-lg);
} }
[data-bs-theme=dark] .form-select { [data-bs-theme=dark] .form-select {
--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
} }
.form-check { .form-check {
@ -2368,20 +2389,21 @@ textarea.form-control-lg {
} }
.form-check-input { .form-check-input {
--bs-form-check-bg: var(--bs-form-control-bg); --bs-form-check-bg: var(--bs-body-bg);
flex-shrink: 0;
width: 1em; width: 1em;
height: 1em; height: 1em;
margin-top: 0.25em; margin-top: 0.25em;
vertical-align: top; vertical-align: top;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: var(--bs-form-check-bg); background-color: var(--bs-form-check-bg);
background-image: var(--bs-form-check-bg-image); background-image: var(--bs-form-check-bg-image);
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
background-size: contain; background-size: contain;
border: var(--bs-border-width) solid var(--bs-border-color); border: var(--bs-border-width) solid var(--bs-border-color);
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
-webkit-print-color-adjust: exact; -webkit-print-color-adjust: exact;
color-adjust: exact; color-adjust: exact;
print-color-adjust: exact; print-color-adjust: exact;
@ -2482,10 +2504,10 @@ textarea.form-control-lg {
width: 100%; width: 100%;
height: 1.5rem; height: 1.5rem;
padding: 0; padding: 0;
background-color: transparent;
-webkit-appearance: none; -webkit-appearance: none;
-moz-appearance: none; -moz-appearance: none;
appearance: none; appearance: none;
background-color: transparent;
} }
.form-range:focus { .form-range:focus {
outline: 0; outline: 0;
@ -2503,13 +2525,13 @@ textarea.form-control-lg {
width: 1rem; width: 1rem;
height: 1rem; height: 1rem;
margin-top: -0.25rem; margin-top: -0.25rem;
-webkit-appearance: none;
appearance: none;
background-color: #0d6efd; background-color: #0d6efd;
border: 0; border: 0;
border-radius: 1rem; border-radius: 1rem;
-webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-webkit-appearance: none;
appearance: none;
} }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
.form-range::-webkit-slider-thumb { .form-range::-webkit-slider-thumb {
@ -2525,20 +2547,20 @@ textarea.form-control-lg {
height: 0.5rem; height: 0.5rem;
color: transparent; color: transparent;
cursor: pointer; cursor: pointer;
background-color: var(--bs-tertiary-bg); background-color: var(--bs-secondary-bg);
border-color: transparent; border-color: transparent;
border-radius: 1rem; border-radius: 1rem;
} }
.form-range::-moz-range-thumb { .form-range::-moz-range-thumb {
width: 1rem; width: 1rem;
height: 1rem; height: 1rem;
-moz-appearance: none;
appearance: none;
background-color: #0d6efd; background-color: #0d6efd;
border: 0; border: 0;
border-radius: 1rem; border-radius: 1rem;
-moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-moz-appearance: none;
appearance: none;
} }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
.form-range::-moz-range-thumb { .form-range::-moz-range-thumb {
@ -2554,7 +2576,7 @@ textarea.form-control-lg {
height: 0.5rem; height: 0.5rem;
color: transparent; color: transparent;
cursor: pointer; cursor: pointer;
background-color: var(--bs-tertiary-bg); background-color: var(--bs-secondary-bg);
border-color: transparent; border-color: transparent;
border-radius: 1rem; border-radius: 1rem;
} }
@ -2571,27 +2593,18 @@ textarea.form-control-lg {
.form-floating { .form-floating {
position: relative; position: relative;
} }
.form-floating::before:not(.form-control:disabled) {
position: absolute;
top: var(--bs-border-width);
right: var(--bs-border-width);
width: calc(100% - (calc(calc(0.375em + 0.1875rem) + calc(0.75em + 0.375rem))));
height: 1.875em;
content: "";
background-color: var(--bs-form-control-bg);
border-radius: 0.375rem;
}
.form-floating > .form-control, .form-floating > .form-control,
.form-floating > .form-control-plaintext, .form-floating > .form-control-plaintext,
.form-floating > .form-select { .form-floating > .form-select {
height: calc(3.5rem + calc(var(--bs-border-width) * 2)); height: calc(3.5rem + calc(var(--bs-border-width) * 2));
min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
line-height: 1.25; line-height: 1.25;
} }
.form-floating > label { .form-floating > label {
position: absolute; position: absolute;
top: 0; top: 0;
right: 0; right: 0;
width: 100%; z-index: 2;
height: 100%; height: 100%;
padding: 1rem 0.75rem; padding: 1rem 0.75rem;
overflow: hidden; overflow: hidden;
@ -2639,26 +2652,52 @@ textarea.form-control-lg {
padding-bottom: 0.625rem; padding-bottom: 0.625rem;
} }
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { .form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
opacity: 0.65; color: rgba(var(--bs-body-color-rgb), 0.65);
transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem); transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem);
} }
.form-floating > .form-control:focus ~ label, .form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label, .form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label, .form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label { .form-floating > .form-select ~ label {
opacity: 0.65; color: rgba(var(--bs-body-color-rgb), 0.65);
transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem); transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem);
} }
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label::after {
position: absolute;
inset: 1rem 0.375rem;
z-index: -1;
height: 1.5em;
content: "";
background-color: var(--bs-body-bg);
border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-select ~ label::after {
position: absolute;
inset: 1rem 0.375rem;
z-index: -1;
height: 1.5em;
content: "";
background-color: var(--bs-body-bg);
border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:-webkit-autofill ~ label { .form-floating > .form-control:-webkit-autofill ~ label {
opacity: 0.65; color: rgba(var(--bs-body-color-rgb), 0.65);
transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem); transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem);
} }
.form-floating > .form-control-plaintext ~ label { .form-floating > .form-control-plaintext ~ label {
border-width: var(--bs-border-width) 0; border-width: var(--bs-border-width) 0;
} }
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label { .form-floating > .form-control:disabled ~ label {
color: #6c757d; color: #6c757d;
} }
.form-floating > :disabled ~ label::after,
.form-floating > .form-control:disabled ~ label::after {
background-color: var(--bs-secondary-bg);
}
.input-group { .input-group {
position: relative; position: relative;
@ -2700,7 +2739,7 @@ textarea.form-control-lg {
white-space: nowrap; white-space: nowrap;
background-color: var(--bs-tertiary-bg); background-color: var(--bs-tertiary-bg);
border: var(--bs-border-width) solid var(--bs-border-color); border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: 0.375rem; border-radius: var(--bs-border-radius);
} }
.input-group-lg > .form-control, .input-group-lg > .form-control,
@ -2709,7 +2748,7 @@ textarea.form-control-lg {
.input-group-lg > .btn { .input-group-lg > .btn {
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
font-size: 1.25rem; font-size: 1.25rem;
border-radius: 0.5rem; border-radius: var(--bs-border-radius-lg);
} }
.input-group-sm > .form-control, .input-group-sm > .form-control,
@ -2718,7 +2757,7 @@ textarea.form-control-lg {
.input-group-sm > .btn { .input-group-sm > .btn {
padding: 0.25rem 0.5rem; padding: 0.25rem 0.5rem;
font-size: 0.875rem; font-size: 0.875rem;
border-radius: 0.25rem; border-radius: var(--bs-border-radius-sm);
} }
.input-group-lg > .form-select, .input-group-lg > .form-select,
@ -2756,7 +2795,7 @@ textarea.form-control-lg {
width: 100%; width: 100%;
margin-top: 0.25rem; margin-top: 0.25rem;
font-size: 0.875em; font-size: 0.875em;
color: var(--bs-success-text); color: var(--bs-form-valid-color);
} }
.valid-tooltip { .valid-tooltip {
@ -2781,7 +2820,7 @@ textarea.form-control-lg {
} }
.was-validated .form-control:valid, .form-control.is-valid { .was-validated .form-control:valid, .form-control.is-valid {
border-color: var(--bs-success); border-color: var(--bs-form-valid-border-color);
padding-left: calc(1.5em + 0.75rem); padding-left: calc(1.5em + 0.75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
background-repeat: no-repeat; background-repeat: no-repeat;
@ -2789,7 +2828,7 @@ textarea.form-control-lg {
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
} }
.was-validated .form-control:valid:focus, .form-control.is-valid:focus { .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
border-color: var(--bs-success); border-color: var(--bs-form-valid-border-color);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
} }
@ -2799,7 +2838,7 @@ textarea.form-control-lg {
} }
.was-validated .form-select:valid, .form-select.is-valid { .was-validated .form-select:valid, .form-select.is-valid {
border-color: var(--bs-success); border-color: var(--bs-form-valid-border-color);
} }
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { .was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
@ -2808,7 +2847,7 @@ textarea.form-control-lg {
background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
} }
.was-validated .form-select:valid:focus, .form-select.is-valid:focus { .was-validated .form-select:valid:focus, .form-select.is-valid:focus {
border-color: var(--bs-success); border-color: var(--bs-form-valid-border-color);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
} }
@ -2817,16 +2856,16 @@ textarea.form-control-lg {
} }
.was-validated .form-check-input:valid, .form-check-input.is-valid { .was-validated .form-check-input:valid, .form-check-input.is-valid {
border-color: var(--bs-success); border-color: var(--bs-form-valid-border-color);
} }
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
background-color: var(--bs-success-text); background-color: var(--bs-form-valid-color);
} }
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { .was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
} }
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
color: var(--bs-success-text); color: var(--bs-form-valid-color);
} }
.form-check-inline .form-check-input ~ .valid-feedback { .form-check-inline .form-check-input ~ .valid-feedback {
@ -2846,7 +2885,7 @@ textarea.form-control-lg {
width: 100%; width: 100%;
margin-top: 0.25rem; margin-top: 0.25rem;
font-size: 0.875em; font-size: 0.875em;
color: var(--bs-danger-text); color: var(--bs-form-invalid-color);
} }
.invalid-tooltip { .invalid-tooltip {
@ -2871,7 +2910,7 @@ textarea.form-control-lg {
} }
.was-validated .form-control:invalid, .form-control.is-invalid { .was-validated .form-control:invalid, .form-control.is-invalid {
border-color: var(--bs-danger); border-color: var(--bs-form-invalid-border-color);
padding-left: calc(1.5em + 0.75rem); padding-left: calc(1.5em + 0.75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
background-repeat: no-repeat; background-repeat: no-repeat;
@ -2879,7 +2918,7 @@ textarea.form-control-lg {
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
} }
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
border-color: var(--bs-danger); border-color: var(--bs-form-invalid-border-color);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
} }
@ -2889,7 +2928,7 @@ textarea.form-control-lg {
} }
.was-validated .form-select:invalid, .form-select.is-invalid { .was-validated .form-select:invalid, .form-select.is-invalid {
border-color: var(--bs-danger); border-color: var(--bs-form-invalid-border-color);
} }
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
@ -2898,7 +2937,7 @@ textarea.form-control-lg {
background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
} }
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
border-color: var(--bs-danger); border-color: var(--bs-form-invalid-border-color);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
} }
@ -2907,16 +2946,16 @@ textarea.form-control-lg {
} }
.was-validated .form-check-input:invalid, .form-check-input.is-invalid { .was-validated .form-check-input:invalid, .form-check-input.is-invalid {
border-color: var(--bs-danger); border-color: var(--bs-form-invalid-border-color);
} }
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
background-color: var(--bs-danger-text); background-color: var(--bs-form-invalid-color);
} }
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { .was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
} }
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
color: var(--bs-danger-text); color: var(--bs-form-invalid-color);
} }
.form-check-inline .form-check-input ~ .invalid-feedback { .form-check-inline .form-check-input ~ .invalid-feedback {
@ -2938,11 +2977,11 @@ textarea.form-control-lg {
--bs-btn-font-size: 1rem; --bs-btn-font-size: 1rem;
--bs-btn-font-weight: 400; --bs-btn-font-weight: 400;
--bs-btn-line-height: 1.5; --bs-btn-line-height: 1.5;
--bs-btn-color: #212529; --bs-btn-color: var(--bs-body-color);
--bs-btn-bg: transparent; --bs-btn-bg: transparent;
--bs-btn-border-width: var(--bs-border-width); --bs-btn-border-width: var(--bs-border-width);
--bs-btn-border-color: transparent; --bs-btn-border-color: transparent;
--bs-btn-border-radius: 0.375rem; --bs-btn-border-radius: var(--bs-border-radius);
--bs-btn-hover-border-color: transparent; --bs-btn-hover-border-color: transparent;
--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
--bs-btn-disabled-opacity: 0.65; --bs-btn-disabled-opacity: 0.65;
@ -3001,6 +3040,9 @@ textarea.form-control-lg {
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { .btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
box-shadow: var(--bs-btn-focus-box-shadow); box-shadow: var(--bs-btn-focus-box-shadow);
} }
.btn-check:checked:focus-visible + .btn {
box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn { .btn:disabled, .btn.disabled, fieldset:disabled .btn {
color: var(--bs-btn-disabled-color); color: var(--bs-btn-disabled-color);
pointer-events: none; pointer-events: none;
@ -3292,7 +3334,7 @@ textarea.form-control-lg {
--bs-btn-active-border-color: transparent; --bs-btn-active-border-color: transparent;
--bs-btn-disabled-color: #6c757d; --bs-btn-disabled-color: #6c757d;
--bs-btn-disabled-border-color: transparent; --bs-btn-disabled-border-color: transparent;
--bs-btn-box-shadow: none; --bs-btn-box-shadow: 0 0 0 #000;
--bs-btn-focus-shadow-rgb: 49, 132, 253; --bs-btn-focus-shadow-rgb: 49, 132, 253;
text-decoration: underline; text-decoration: underline;
} }
@ -3307,14 +3349,14 @@ textarea.form-control-lg {
--bs-btn-padding-y: 0.5rem; --bs-btn-padding-y: 0.5rem;
--bs-btn-padding-x: 1rem; --bs-btn-padding-x: 1rem;
--bs-btn-font-size: 1.25rem; --bs-btn-font-size: 1.25rem;
--bs-btn-border-radius: 0.5rem; --bs-btn-border-radius: var(--bs-border-radius-lg);
} }
.btn-sm, .btn-group-sm > .btn { .btn-sm, .btn-group-sm > .btn {
--bs-btn-padding-y: 0.25rem; --bs-btn-padding-y: 0.25rem;
--bs-btn-padding-x: 0.5rem; --bs-btn-padding-x: 0.5rem;
--bs-btn-font-size: 0.875rem; --bs-btn-font-size: 0.875rem;
--bs-btn-border-radius: 0.25rem; --bs-btn-border-radius: var(--bs-border-radius-sm);
} }
.fade { .fade {
@ -3390,18 +3432,18 @@ textarea.form-control-lg {
--bs-dropdown-color: var(--bs-body-color); --bs-dropdown-color: var(--bs-body-color);
--bs-dropdown-bg: var(--bs-body-bg); --bs-dropdown-bg: var(--bs-body-bg);
--bs-dropdown-border-color: var(--bs-border-color-translucent); --bs-dropdown-border-color: var(--bs-border-color-translucent);
--bs-dropdown-border-radius: 0.375rem; --bs-dropdown-border-radius: var(--bs-border-radius);
--bs-dropdown-border-width: var(--bs-border-width); --bs-dropdown-border-width: var(--bs-border-width);
--bs-dropdown-inner-border-radius: calc(0.375rem - var(--bs-border-width)); --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
--bs-dropdown-divider-bg: var(--bs-border-color-translucent); --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
--bs-dropdown-divider-margin-y: 0.5rem; --bs-dropdown-divider-margin-y: 0.5rem;
--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); --bs-dropdown-box-shadow: var(--bs-box-shadow);
--bs-dropdown-link-color: var(--bs-body-color); --bs-dropdown-link-color: var(--bs-body-color);
--bs-dropdown-link-hover-color: var(--bs-body-color); --bs-dropdown-link-hover-color: var(--bs-body-color);
--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg); --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
--bs-dropdown-link-active-color: #fff; --bs-dropdown-link-active-color: #fff;
--bs-dropdown-link-active-bg: #0d6efd; --bs-dropdown-link-active-bg: #0d6efd;
--bs-dropdown-link-disabled-color: #adb5bd; --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
--bs-dropdown-item-padding-x: 1rem; --bs-dropdown-item-padding-x: 1rem;
--bs-dropdown-item-padding-y: 0.25rem; --bs-dropdown-item-padding-y: 0.25rem;
--bs-dropdown-header-color: #6c757d; --bs-dropdown-header-color: #6c757d;
@ -3707,7 +3749,7 @@ textarea.form-control-lg {
} }
.btn-group { .btn-group {
border-radius: 0.375rem; border-radius: var(--bs-border-radius);
} }
.btn-group > :not(.btn-check:first-child) + .btn, .btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) { .btn-group > .btn-group:not(:first-child) {
@ -3792,6 +3834,8 @@ textarea.form-control-lg {
font-weight: var(--bs-nav-link-font-weight); font-weight: var(--bs-nav-link-font-weight);
color: var(--bs-nav-link-color); color: var(--bs-nav-link-color);
text-decoration: none; text-decoration: none;
background: none;
border: 0;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
} }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
@ -3802,7 +3846,11 @@ textarea.form-control-lg {
.nav-link:hover, .nav-link:focus { .nav-link:hover, .nav-link:focus {
color: var(--bs-nav-link-hover-color); color: var(--bs-nav-link-hover-color);
} }
.nav-link.disabled { .nav-link:focus-visible {
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
color: var(--bs-nav-link-disabled-color); color: var(--bs-nav-link-disabled-color);
pointer-events: none; pointer-events: none;
cursor: default; cursor: default;
@ -3820,7 +3868,6 @@ textarea.form-control-lg {
} }
.nav-tabs .nav-link { .nav-tabs .nav-link {
margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
background: none;
border: var(--bs-nav-tabs-border-width) solid transparent; border: var(--bs-nav-tabs-border-width) solid transparent;
border-top-right-radius: var(--bs-nav-tabs-border-radius); border-top-right-radius: var(--bs-nav-tabs-border-radius);
border-top-left-radius: var(--bs-nav-tabs-border-radius); border-top-left-radius: var(--bs-nav-tabs-border-radius);
@ -3829,11 +3876,6 @@ textarea.form-control-lg {
isolation: isolate; isolation: isolate;
border-color: var(--bs-nav-tabs-link-hover-border-color); border-color: var(--bs-nav-tabs-link-hover-border-color);
} }
.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled {
color: var(--bs-nav-link-disabled-color);
background-color: transparent;
border-color: transparent;
}
.nav-tabs .nav-link.active, .nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link { .nav-tabs .nav-item.show .nav-link {
color: var(--bs-nav-tabs-link-active-color); color: var(--bs-nav-tabs-link-active-color);
@ -3847,26 +3889,40 @@ textarea.form-control-lg {
} }
.nav-pills { .nav-pills {
--bs-nav-pills-border-radius: 0.375rem; --bs-nav-pills-border-radius: var(--bs-border-radius);
--bs-nav-pills-link-active-color: #fff; --bs-nav-pills-link-active-color: #fff;
--bs-nav-pills-link-active-bg: #0d6efd; --bs-nav-pills-link-active-bg: #0d6efd;
} }
.nav-pills .nav-link { .nav-pills .nav-link {
background: none;
border: 0;
border-radius: var(--bs-nav-pills-border-radius); border-radius: var(--bs-nav-pills-border-radius);
} }
.nav-pills .nav-link:disabled {
color: var(--bs-nav-link-disabled-color);
background-color: transparent;
border-color: transparent;
}
.nav-pills .nav-link.active, .nav-pills .nav-link.active,
.nav-pills .show > .nav-link { .nav-pills .show > .nav-link {
color: var(--bs-nav-pills-link-active-color); color: var(--bs-nav-pills-link-active-color);
background-color: var(--bs-nav-pills-link-active-bg); background-color: var(--bs-nav-pills-link-active-bg);
} }
.nav-underline {
--bs-nav-underline-gap: 1rem;
--bs-nav-underline-border-width: 0.125rem;
--bs-nav-underline-link-active-color: var(--bs-emphasis-color);
gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
padding-left: 0;
padding-right: 0;
border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
font-weight: 700;
color: var(--bs-nav-underline-link-active-color);
border-bottom-color: currentcolor;
}
.nav-fill > .nav-link, .nav-fill > .nav-link,
.nav-fill .nav-item { .nav-fill .nav-item {
flex: 1 1 auto; flex: 1 1 auto;
@ -3910,7 +3966,7 @@ textarea.form-control-lg {
--bs-navbar-toggler-font-size: 1.25rem; --bs-navbar-toggler-font-size: 1.25rem;
--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15); --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
--bs-navbar-toggler-border-radius: 0.375rem; --bs-navbar-toggler-border-radius: var(--bs-border-radius);
--bs-navbar-toggler-focus-width: 0.25rem; --bs-navbar-toggler-focus-width: 0.25rem;
--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
position: relative; position: relative;
@ -3958,8 +4014,7 @@ textarea.form-control-lg {
margin-bottom: 0; margin-bottom: 0;
list-style: none; list-style: none;
} }
.navbar-nav .show > .nav-link, .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
.navbar-nav .nav-link.active {
color: var(--bs-navbar-active-color); color: var(--bs-navbar-active-color);
} }
.navbar-nav .dropdown-menu { .navbar-nav .dropdown-menu {
@ -4304,7 +4359,8 @@ textarea.form-control-lg {
overflow-y: visible; overflow-y: visible;
} }
.navbar-dark { .navbar-dark,
.navbar[data-bs-theme=dark] {
--bs-navbar-color: rgba(255, 255, 255, 0.55); --bs-navbar-color: rgba(255, 255, 255, 0.55);
--bs-navbar-hover-color: rgba(255, 255, 255, 0.75); --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
--bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
@ -4315,7 +4371,7 @@ textarea.form-control-lg {
--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
} }
[data-bs-theme=dark] .navbar { [data-bs-theme=dark] .navbar-toggler-icon {
--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
} }
@ -4344,6 +4400,7 @@ textarea.form-control-lg {
flex-direction: column; flex-direction: column;
min-width: 0; min-width: 0;
height: var(--bs-card-height); height: var(--bs-card-height);
color: var(--bs-body-color);
word-wrap: break-word; word-wrap: break-word;
background-color: var(--bs-card-bg); background-color: var(--bs-card-bg);
background-clip: border-box; background-clip: border-box;
@ -4517,16 +4574,15 @@ textarea.form-control-lg {
--bs-accordion-btn-padding-y: 1rem; --bs-accordion-btn-padding-y: 1rem;
--bs-accordion-btn-color: var(--bs-body-color); --bs-accordion-btn-color: var(--bs-body-color);
--bs-accordion-btn-bg: var(--bs-accordion-bg); --bs-accordion-btn-bg: var(--bs-accordion-bg);
--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
--bs-accordion-btn-icon-width: 1.25rem; --bs-accordion-btn-icon-width: 1.25rem;
--bs-accordion-btn-icon-transform: rotate(-180deg); --bs-accordion-btn-icon-transform: rotate(-180deg);
--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230a58ca'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
--bs-accordion-btn-focus-border-color: #86b7fe;
--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
--bs-accordion-body-padding-x: 1.25rem; --bs-accordion-body-padding-x: 1.25rem;
--bs-accordion-body-padding-y: 1rem; --bs-accordion-body-padding-y: 1rem;
--bs-accordion-active-color: var(--bs-primary-text); --bs-accordion-active-color: var(--bs-primary-text-emphasis);
--bs-accordion-active-bg: var(--bs-primary-bg-subtle); --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
} }
@ -4580,7 +4636,6 @@ textarea.form-control-lg {
} }
.accordion-button:focus { .accordion-button:focus {
z-index: 3; z-index: 3;
border-color: var(--bs-accordion-btn-focus-border-color);
outline: 0; outline: 0;
box-shadow: var(--bs-accordion-btn-focus-box-shadow); box-shadow: var(--bs-accordion-btn-focus-box-shadow);
} }
@ -4598,7 +4653,7 @@ textarea.form-control-lg {
border-top-right-radius: var(--bs-accordion-border-radius); border-top-right-radius: var(--bs-accordion-border-radius);
border-top-left-radius: var(--bs-accordion-border-radius); border-top-left-radius: var(--bs-accordion-border-radius);
} }
.accordion-item:first-of-type .accordion-button { .accordion-item:first-of-type > .accordion-header .accordion-button {
border-top-right-radius: var(--bs-accordion-inner-border-radius); border-top-right-radius: var(--bs-accordion-inner-border-radius);
border-top-left-radius: var(--bs-accordion-inner-border-radius); border-top-left-radius: var(--bs-accordion-inner-border-radius);
} }
@ -4609,11 +4664,11 @@ textarea.form-control-lg {
border-bottom-left-radius: var(--bs-accordion-border-radius); border-bottom-left-radius: var(--bs-accordion-border-radius);
border-bottom-right-radius: var(--bs-accordion-border-radius); border-bottom-right-radius: var(--bs-accordion-border-radius);
} }
.accordion-item:last-of-type .accordion-button.collapsed { .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
border-bottom-left-radius: var(--bs-accordion-inner-border-radius); border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
border-bottom-right-radius: var(--bs-accordion-inner-border-radius); border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
} }
.accordion-item:last-of-type .accordion-collapse { .accordion-item:last-of-type > .accordion-collapse {
border-bottom-left-radius: var(--bs-accordion-border-radius); border-bottom-left-radius: var(--bs-accordion-border-radius);
border-bottom-right-radius: var(--bs-accordion-border-radius); border-bottom-right-radius: var(--bs-accordion-border-radius);
} }
@ -4622,21 +4677,21 @@ textarea.form-control-lg {
padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
} }
.accordion-flush .accordion-collapse { .accordion-flush > .accordion-item {
border-width: 0;
}
.accordion-flush .accordion-item {
border-left: 0; border-left: 0;
border-right: 0; border-right: 0;
border-radius: 0; border-radius: 0;
} }
.accordion-flush .accordion-item:first-child { .accordion-flush > .accordion-item:first-child {
border-top: 0; border-top: 0;
} }
.accordion-flush .accordion-item:last-child { .accordion-flush > .accordion-item:last-child {
border-bottom: 0; border-bottom: 0;
} }
.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed { .accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
border-radius: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse {
border-radius: 0; border-radius: 0;
} }
@ -4761,14 +4816,14 @@ textarea.form-control-lg {
--bs-pagination-padding-x: 1.5rem; --bs-pagination-padding-x: 1.5rem;
--bs-pagination-padding-y: 0.75rem; --bs-pagination-padding-y: 0.75rem;
--bs-pagination-font-size: 1.25rem; --bs-pagination-font-size: 1.25rem;
--bs-pagination-border-radius: 0.5rem; --bs-pagination-border-radius: var(--bs-border-radius-lg);
} }
.pagination-sm { .pagination-sm {
--bs-pagination-padding-x: 0.5rem; --bs-pagination-padding-x: 0.5rem;
--bs-pagination-padding-y: 0.25rem; --bs-pagination-padding-y: 0.25rem;
--bs-pagination-font-size: 0.875rem; --bs-pagination-font-size: 0.875rem;
--bs-pagination-border-radius: 0.25rem; --bs-pagination-border-radius: var(--bs-border-radius-sm);
} }
.badge { .badge {
@ -4777,7 +4832,7 @@ textarea.form-control-lg {
--bs-badge-font-size: 0.75em; --bs-badge-font-size: 0.75em;
--bs-badge-font-weight: 700; --bs-badge-font-weight: 700;
--bs-badge-color: #fff; --bs-badge-color: #fff;
--bs-badge-border-radius: 0.375rem; --bs-badge-border-radius: var(--bs-border-radius);
display: inline-block; display: inline-block;
padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
font-size: var(--bs-badge-font-size); font-size: var(--bs-badge-font-size);
@ -4806,7 +4861,7 @@ textarea.form-control-lg {
--bs-alert-color: inherit; --bs-alert-color: inherit;
--bs-alert-border-color: transparent; --bs-alert-border-color: transparent;
--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color); --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
--bs-alert-border-radius: 0.375rem; --bs-alert-border-radius: var(--bs-border-radius);
--bs-alert-link-color: inherit; --bs-alert-link-color: inherit;
position: relative; position: relative;
padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
@ -4838,59 +4893,59 @@ textarea.form-control-lg {
} }
.alert-primary { .alert-primary {
--bs-alert-color: var(--bs-primary-text); --bs-alert-color: var(--bs-primary-text-emphasis);
--bs-alert-bg: var(--bs-primary-bg-subtle); --bs-alert-bg: var(--bs-primary-bg-subtle);
--bs-alert-border-color: var(--bs-primary-border-subtle); --bs-alert-border-color: var(--bs-primary-border-subtle);
--bs-alert-link-color: var(--bs-primary-text); --bs-alert-link-color: var(--bs-primary-text-emphasis);
} }
.alert-secondary { .alert-secondary {
--bs-alert-color: var(--bs-secondary-text); --bs-alert-color: var(--bs-secondary-text-emphasis);
--bs-alert-bg: var(--bs-secondary-bg-subtle); --bs-alert-bg: var(--bs-secondary-bg-subtle);
--bs-alert-border-color: var(--bs-secondary-border-subtle); --bs-alert-border-color: var(--bs-secondary-border-subtle);
--bs-alert-link-color: var(--bs-secondary-text); --bs-alert-link-color: var(--bs-secondary-text-emphasis);
} }
.alert-success { .alert-success {
--bs-alert-color: var(--bs-success-text); --bs-alert-color: var(--bs-success-text-emphasis);
--bs-alert-bg: var(--bs-success-bg-subtle); --bs-alert-bg: var(--bs-success-bg-subtle);
--bs-alert-border-color: var(--bs-success-border-subtle); --bs-alert-border-color: var(--bs-success-border-subtle);
--bs-alert-link-color: var(--bs-success-text); --bs-alert-link-color: var(--bs-success-text-emphasis);
} }
.alert-info { .alert-info {
--bs-alert-color: var(--bs-info-text); --bs-alert-color: var(--bs-info-text-emphasis);
--bs-alert-bg: var(--bs-info-bg-subtle); --bs-alert-bg: var(--bs-info-bg-subtle);
--bs-alert-border-color: var(--bs-info-border-subtle); --bs-alert-border-color: var(--bs-info-border-subtle);
--bs-alert-link-color: var(--bs-info-text); --bs-alert-link-color: var(--bs-info-text-emphasis);
} }
.alert-warning { .alert-warning {
--bs-alert-color: var(--bs-warning-text); --bs-alert-color: var(--bs-warning-text-emphasis);
--bs-alert-bg: var(--bs-warning-bg-subtle); --bs-alert-bg: var(--bs-warning-bg-subtle);
--bs-alert-border-color: var(--bs-warning-border-subtle); --bs-alert-border-color: var(--bs-warning-border-subtle);
--bs-alert-link-color: var(--bs-warning-text); --bs-alert-link-color: var(--bs-warning-text-emphasis);
} }
.alert-danger { .alert-danger {
--bs-alert-color: var(--bs-danger-text); --bs-alert-color: var(--bs-danger-text-emphasis);
--bs-alert-bg: var(--bs-danger-bg-subtle); --bs-alert-bg: var(--bs-danger-bg-subtle);
--bs-alert-border-color: var(--bs-danger-border-subtle); --bs-alert-border-color: var(--bs-danger-border-subtle);
--bs-alert-link-color: var(--bs-danger-text); --bs-alert-link-color: var(--bs-danger-text-emphasis);
} }
.alert-light { .alert-light {
--bs-alert-color: var(--bs-light-text); --bs-alert-color: var(--bs-light-text-emphasis);
--bs-alert-bg: var(--bs-light-bg-subtle); --bs-alert-bg: var(--bs-light-bg-subtle);
--bs-alert-border-color: var(--bs-light-border-subtle); --bs-alert-border-color: var(--bs-light-border-subtle);
--bs-alert-link-color: var(--bs-light-text); --bs-alert-link-color: var(--bs-light-text-emphasis);
} }
.alert-dark { .alert-dark {
--bs-alert-color: var(--bs-dark-text); --bs-alert-color: var(--bs-dark-text-emphasis);
--bs-alert-bg: var(--bs-dark-bg-subtle); --bs-alert-bg: var(--bs-dark-bg-subtle);
--bs-alert-border-color: var(--bs-dark-border-subtle); --bs-alert-border-color: var(--bs-dark-border-subtle);
--bs-alert-link-color: var(--bs-dark-text); --bs-alert-link-color: var(--bs-dark-text-emphasis);
} }
@keyframes progress-bar-stripes { @keyframes progress-bar-stripes {
@ -5195,123 +5250,107 @@ textarea.form-control-lg {
} }
.list-group-item-primary { .list-group-item-primary {
--bs-list-group-color: var(--bs-primary-text); --bs-list-group-color: var(--bs-primary-text-emphasis);
--bs-list-group-bg: var(--bs-primary-bg-subtle); --bs-list-group-bg: var(--bs-primary-bg-subtle);
--bs-list-group-border-color: var(--bs-primary-border-subtle); --bs-list-group-border-color: var(--bs-primary-border-subtle);
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle); --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-primary.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-primary-bg-subtle);
--bs-list-group-active-bg: var(--bs-primary-text); --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
--bs-list-group-active-border-color: var(--bs-primary-text); --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
} }
.list-group-item-secondary { .list-group-item-secondary {
--bs-list-group-color: var(--bs-secondary-text); --bs-list-group-color: var(--bs-secondary-text-emphasis);
--bs-list-group-bg: var(--bs-secondary-bg-subtle); --bs-list-group-bg: var(--bs-secondary-bg-subtle);
--bs-list-group-border-color: var(--bs-secondary-border-subtle); --bs-list-group-border-color: var(--bs-secondary-border-subtle);
}
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle); --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-secondary.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
--bs-list-group-active-bg: var(--bs-secondary-text); --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
--bs-list-group-active-border-color: var(--bs-secondary-text); --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
} }
.list-group-item-success { .list-group-item-success {
--bs-list-group-color: var(--bs-success-text); --bs-list-group-color: var(--bs-success-text-emphasis);
--bs-list-group-bg: var(--bs-success-bg-subtle); --bs-list-group-bg: var(--bs-success-bg-subtle);
--bs-list-group-border-color: var(--bs-success-border-subtle); --bs-list-group-border-color: var(--bs-success-border-subtle);
}
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-success-border-subtle); --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-success.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-success-bg-subtle);
--bs-list-group-active-bg: var(--bs-success-text); --bs-list-group-active-bg: var(--bs-success-text-emphasis);
--bs-list-group-active-border-color: var(--bs-success-text); --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
} }
.list-group-item-info { .list-group-item-info {
--bs-list-group-color: var(--bs-info-text); --bs-list-group-color: var(--bs-info-text-emphasis);
--bs-list-group-bg: var(--bs-info-bg-subtle); --bs-list-group-bg: var(--bs-info-bg-subtle);
--bs-list-group-border-color: var(--bs-info-border-subtle); --bs-list-group-border-color: var(--bs-info-border-subtle);
}
.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-info-border-subtle); --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-info.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-info-bg-subtle);
--bs-list-group-active-bg: var(--bs-info-text); --bs-list-group-active-bg: var(--bs-info-text-emphasis);
--bs-list-group-active-border-color: var(--bs-info-text); --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
} }
.list-group-item-warning { .list-group-item-warning {
--bs-list-group-color: var(--bs-warning-text); --bs-list-group-color: var(--bs-warning-text-emphasis);
--bs-list-group-bg: var(--bs-warning-bg-subtle); --bs-list-group-bg: var(--bs-warning-bg-subtle);
--bs-list-group-border-color: var(--bs-warning-border-subtle); --bs-list-group-border-color: var(--bs-warning-border-subtle);
}
.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle); --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-warning.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-warning-bg-subtle);
--bs-list-group-active-bg: var(--bs-warning-text); --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
--bs-list-group-active-border-color: var(--bs-warning-text); --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
} }
.list-group-item-danger { .list-group-item-danger {
--bs-list-group-color: var(--bs-danger-text); --bs-list-group-color: var(--bs-danger-text-emphasis);
--bs-list-group-bg: var(--bs-danger-bg-subtle); --bs-list-group-bg: var(--bs-danger-bg-subtle);
--bs-list-group-border-color: var(--bs-danger-border-subtle); --bs-list-group-border-color: var(--bs-danger-border-subtle);
}
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle); --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-danger.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-danger-bg-subtle);
--bs-list-group-active-bg: var(--bs-danger-text); --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
--bs-list-group-active-border-color: var(--bs-danger-text); --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
} }
.list-group-item-light { .list-group-item-light {
--bs-list-group-color: var(--bs-light-text); --bs-list-group-color: var(--bs-light-text-emphasis);
--bs-list-group-bg: var(--bs-light-bg-subtle); --bs-list-group-bg: var(--bs-light-bg-subtle);
--bs-list-group-border-color: var(--bs-light-border-subtle); --bs-list-group-border-color: var(--bs-light-border-subtle);
}
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-light-border-subtle); --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-light.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-light-bg-subtle);
--bs-list-group-active-bg: var(--bs-light-text); --bs-list-group-active-bg: var(--bs-light-text-emphasis);
--bs-list-group-active-border-color: var(--bs-light-text); --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
} }
.list-group-item-dark { .list-group-item-dark {
--bs-list-group-color: var(--bs-dark-text); --bs-list-group-color: var(--bs-dark-text-emphasis);
--bs-list-group-bg: var(--bs-dark-bg-subtle); --bs-list-group-bg: var(--bs-dark-bg-subtle);
--bs-list-group-border-color: var(--bs-dark-border-subtle); --bs-list-group-border-color: var(--bs-dark-border-subtle);
}
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
--bs-list-group-action-hover-color: var(--bs-emphasis-color); --bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle); --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
} --bs-list-group-action-active-color: var(--bs-emphasis-color);
.list-group-item-dark.list-group-item-action:active { --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
--bs-list-group-active-color: var(--bs-emphasis-color); --bs-list-group-active-color: var(--bs-dark-bg-subtle);
--bs-list-group-active-bg: var(--bs-dark-text); --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
--bs-list-group-active-border-color: var(--bs-dark-text); --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
} }
.btn-close { .btn-close {
@ -5438,7 +5477,7 @@ textarea.form-control-lg {
--bs-modal-border-color: var(--bs-border-color-translucent); --bs-modal-border-color: var(--bs-border-color-translucent);
--bs-modal-border-width: var(--bs-border-width); --bs-modal-border-width: var(--bs-border-width);
--bs-modal-border-radius: var(--bs-border-radius-lg); --bs-modal-border-radius: var(--bs-border-radius-lg);
--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075); --bs-modal-box-shadow: var(--bs-box-shadow-sm);
--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width))); --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
--bs-modal-header-padding-x: 1rem; --bs-modal-header-padding-x: 1rem;
--bs-modal-header-padding-y: 1rem; --bs-modal-header-padding-y: 1rem;
@ -5538,7 +5577,6 @@ textarea.form-control-lg {
display: flex; display: flex;
flex-shrink: 0; flex-shrink: 0;
align-items: center; align-items: center;
justify-content: space-between;
padding: var(--bs-modal-header-padding); padding: var(--bs-modal-header-padding);
border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
border-top-right-radius: var(--bs-modal-inner-border-radius); border-top-right-radius: var(--bs-modal-inner-border-radius);
@ -5579,7 +5617,7 @@ textarea.form-control-lg {
@media (min-width: 576px) { @media (min-width: 576px) {
.modal { .modal {
--bs-modal-margin: 1.75rem; --bs-modal-margin: 1.75rem;
--bs-modal-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); --bs-modal-box-shadow: var(--bs-box-shadow);
} }
.modal-dialog { .modal-dialog {
max-width: var(--bs-modal-width); max-width: var(--bs-modal-width);
@ -5735,7 +5773,6 @@ textarea.form-control-lg {
--bs-tooltip-arrow-height: 0.4rem; --bs-tooltip-arrow-height: 0.4rem;
z-index: var(--bs-tooltip-zindex); z-index: var(--bs-tooltip-zindex);
display: block; display: block;
padding: var(--bs-tooltip-arrow-height);
margin: var(--bs-tooltip-margin); margin: var(--bs-tooltip-margin);
font-family: var(--bs-font-sans-serif); font-family: var(--bs-font-sans-serif);
font-style: normal; font-style: normal;
@ -5771,7 +5808,7 @@ textarea.form-control-lg {
} }
.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
bottom: 0; bottom: calc(-1 * var(--bs-tooltip-arrow-height));
} }
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
top: -1px; top: -1px;
@ -5779,7 +5816,7 @@ textarea.form-control-lg {
border-top-color: var(--bs-tooltip-bg); border-top-color: var(--bs-tooltip-bg);
} }
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
left: 0; left: calc(-1 * var(--bs-tooltip-arrow-height));
width: var(--bs-tooltip-arrow-height); width: var(--bs-tooltip-arrow-height);
height: var(--bs-tooltip-arrow-width); height: var(--bs-tooltip-arrow-width);
} }
@ -5789,7 +5826,7 @@ textarea.form-control-lg {
border-right-color: var(--bs-tooltip-bg); border-right-color: var(--bs-tooltip-bg);
} }
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
top: 0; top: calc(-1 * var(--bs-tooltip-arrow-height));
} }
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
bottom: -1px; bottom: -1px;
@ -5797,7 +5834,7 @@ textarea.form-control-lg {
border-bottom-color: var(--bs-tooltip-bg); border-bottom-color: var(--bs-tooltip-bg);
} }
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
right: 0; right: calc(-1 * var(--bs-tooltip-arrow-height));
width: var(--bs-tooltip-arrow-height); width: var(--bs-tooltip-arrow-height);
height: var(--bs-tooltip-arrow-width); height: var(--bs-tooltip-arrow-width);
} }
@ -5824,11 +5861,11 @@ textarea.form-control-lg {
--bs-popover-border-color: var(--bs-border-color-translucent); --bs-popover-border-color: var(--bs-border-color-translucent);
--bs-popover-border-radius: var(--bs-border-radius-lg); --bs-popover-border-radius: var(--bs-border-radius-lg);
--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
--bs-popover-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); --bs-popover-box-shadow: var(--bs-box-shadow);
--bs-popover-header-padding-x: 1rem; --bs-popover-header-padding-x: 1rem;
--bs-popover-header-padding-y: 0.5rem; --bs-popover-header-padding-y: 0.5rem;
--bs-popover-header-font-size: 1rem; --bs-popover-header-font-size: 1rem;
--bs-popover-header-color: ; --bs-popover-header-color: inherit;
--bs-popover-header-bg: var(--bs-secondary-bg); --bs-popover-header-bg: var(--bs-secondary-bg);
--bs-popover-body-padding-x: 1rem; --bs-popover-body-padding-x: 1rem;
--bs-popover-body-padding-y: 1rem; --bs-popover-body-padding-y: 1rem;
@ -6088,14 +6125,15 @@ textarea.form-control-lg {
background-position: 50%; background-position: 50%;
background-size: 100% 100%; background-size: 100% 100%;
} }
.carousel-control-next-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
.carousel-control-prev-icon { .carousel-control-prev-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
} }
.carousel-control-next-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
.carousel-indicators { .carousel-indicators {
position: absolute; position: absolute;
left: 0; left: 0;
@ -6108,7 +6146,6 @@ textarea.form-control-lg {
margin-left: 15%; margin-left: 15%;
margin-bottom: 1rem; margin-bottom: 1rem;
margin-right: 15%; margin-right: 15%;
list-style: none;
} }
.carousel-indicators [data-bs-target] { .carousel-indicators [data-bs-target] {
box-sizing: content-box; box-sizing: content-box;
@ -6148,8 +6185,8 @@ textarea.form-control-lg {
text-align: center; text-align: center;
} }
.carousel-dark .carousel-control-next-icon, .carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-prev-icon { .carousel-dark .carousel-control-next-icon {
filter: invert(1) grayscale(100); filter: invert(1) grayscale(100);
} }
.carousel-dark .carousel-indicators [data-bs-target] { .carousel-dark .carousel-indicators [data-bs-target] {
@ -6159,14 +6196,15 @@ textarea.form-control-lg {
color: #000; color: #000;
} }
[data-bs-theme=dark] .carousel .carousel-control-next-icon, [data-bs-theme=dark] .carousel .carousel-control-prev-icon,
[data-bs-theme=dark] .carousel .carousel-control-prev-icon { [data-bs-theme=dark] .carousel .carousel-control-next-icon, [data-bs-theme=dark].carousel .carousel-control-prev-icon,
[data-bs-theme=dark].carousel .carousel-control-next-icon {
filter: invert(1) grayscale(100); filter: invert(1) grayscale(100);
} }
[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target] { [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {
background-color: #000; background-color: #000;
} }
[data-bs-theme=dark] .carousel .carousel-caption { [data-bs-theme=dark] .carousel .carousel-caption, [data-bs-theme=dark].carousel .carousel-caption {
color: #000; color: #000;
} }
@ -6242,7 +6280,7 @@ textarea.form-control-lg {
--bs-offcanvas-bg: var(--bs-body-bg); --bs-offcanvas-bg: var(--bs-body-bg);
--bs-offcanvas-border-width: var(--bs-border-width); --bs-offcanvas-border-width: var(--bs-border-width);
--bs-offcanvas-border-color: var(--bs-border-color-translucent); --bs-offcanvas-border-color: var(--bs-border-color-translucent);
--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075); --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
--bs-offcanvas-transition: transform 0.3s ease-in-out; --bs-offcanvas-transition: transform 0.3s ease-in-out;
--bs-offcanvas-title-line-height: 1.5; --bs-offcanvas-title-line-height: 1.5;
} }
@ -6276,8 +6314,6 @@ textarea.form-control-lg {
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(100%); transform: translateX(100%);
} }
}
@media (max-width: 575.98px) {
.offcanvas-sm.offcanvas-end { .offcanvas-sm.offcanvas-end {
top: 0; top: 0;
left: 0; left: 0;
@ -6285,8 +6321,6 @@ textarea.form-control-lg {
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(-100%); transform: translateX(-100%);
} }
}
@media (max-width: 575.98px) {
.offcanvas-sm.offcanvas-top { .offcanvas-sm.offcanvas-top {
top: 0; top: 0;
left: 0; left: 0;
@ -6296,8 +6330,6 @@ textarea.form-control-lg {
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(-100%); transform: translateY(-100%);
} }
}
@media (max-width: 575.98px) {
.offcanvas-sm.offcanvas-bottom { .offcanvas-sm.offcanvas-bottom {
left: 0; left: 0;
right: 0; right: 0;
@ -6306,13 +6338,9 @@ textarea.form-control-lg {
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(100%); transform: translateY(100%);
} }
}
@media (max-width: 575.98px) {
.offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
transform: none; transform: none;
} }
}
@media (max-width: 575.98px) {
.offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
visibility: visible; visibility: visible;
} }
@ -6364,8 +6392,6 @@ textarea.form-control-lg {
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(100%); transform: translateX(100%);
} }
}
@media (max-width: 767.98px) {
.offcanvas-md.offcanvas-end { .offcanvas-md.offcanvas-end {
top: 0; top: 0;
left: 0; left: 0;
@ -6373,8 +6399,6 @@ textarea.form-control-lg {
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(-100%); transform: translateX(-100%);
} }
}
@media (max-width: 767.98px) {
.offcanvas-md.offcanvas-top { .offcanvas-md.offcanvas-top {
top: 0; top: 0;
left: 0; left: 0;
@ -6384,8 +6408,6 @@ textarea.form-control-lg {
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(-100%); transform: translateY(-100%);
} }
}
@media (max-width: 767.98px) {
.offcanvas-md.offcanvas-bottom { .offcanvas-md.offcanvas-bottom {
left: 0; left: 0;
right: 0; right: 0;
@ -6394,13 +6416,9 @@ textarea.form-control-lg {
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(100%); transform: translateY(100%);
} }
}
@media (max-width: 767.98px) {
.offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
transform: none; transform: none;
} }
}
@media (max-width: 767.98px) {
.offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
visibility: visible; visibility: visible;
} }
@ -6452,8 +6470,6 @@ textarea.form-control-lg {
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(100%); transform: translateX(100%);
} }
}
@media (max-width: 991.98px) {
.offcanvas-lg.offcanvas-end { .offcanvas-lg.offcanvas-end {
top: 0; top: 0;
left: 0; left: 0;
@ -6461,8 +6477,6 @@ textarea.form-control-lg {
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(-100%); transform: translateX(-100%);
} }
}
@media (max-width: 991.98px) {
.offcanvas-lg.offcanvas-top { .offcanvas-lg.offcanvas-top {
top: 0; top: 0;
left: 0; left: 0;
@ -6472,8 +6486,6 @@ textarea.form-control-lg {
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(-100%); transform: translateY(-100%);
} }
}
@media (max-width: 991.98px) {
.offcanvas-lg.offcanvas-bottom { .offcanvas-lg.offcanvas-bottom {
left: 0; left: 0;
right: 0; right: 0;
@ -6482,13 +6494,9 @@ textarea.form-control-lg {
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(100%); transform: translateY(100%);
} }
}
@media (max-width: 991.98px) {
.offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
transform: none; transform: none;
} }
}
@media (max-width: 991.98px) {
.offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
visibility: visible; visibility: visible;
} }
@ -6540,8 +6548,6 @@ textarea.form-control-lg {
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(100%); transform: translateX(100%);
} }
}
@media (max-width: 1199.98px) {
.offcanvas-xl.offcanvas-end { .offcanvas-xl.offcanvas-end {
top: 0; top: 0;
left: 0; left: 0;
@ -6549,8 +6555,6 @@ textarea.form-control-lg {
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(-100%); transform: translateX(-100%);
} }
}
@media (max-width: 1199.98px) {
.offcanvas-xl.offcanvas-top { .offcanvas-xl.offcanvas-top {
top: 0; top: 0;
left: 0; left: 0;
@ -6560,8 +6564,6 @@ textarea.form-control-lg {
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(-100%); transform: translateY(-100%);
} }
}
@media (max-width: 1199.98px) {
.offcanvas-xl.offcanvas-bottom { .offcanvas-xl.offcanvas-bottom {
left: 0; left: 0;
right: 0; right: 0;
@ -6570,13 +6572,9 @@ textarea.form-control-lg {
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(100%); transform: translateY(100%);
} }
}
@media (max-width: 1199.98px) {
.offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
transform: none; transform: none;
} }
}
@media (max-width: 1199.98px) {
.offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
visibility: visible; visibility: visible;
} }
@ -6628,8 +6626,6 @@ textarea.form-control-lg {
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(100%); transform: translateX(100%);
} }
}
@media (max-width: 1399.98px) {
.offcanvas-xxl.offcanvas-end { .offcanvas-xxl.offcanvas-end {
top: 0; top: 0;
left: 0; left: 0;
@ -6637,8 +6633,6 @@ textarea.form-control-lg {
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateX(-100%); transform: translateX(-100%);
} }
}
@media (max-width: 1399.98px) {
.offcanvas-xxl.offcanvas-top { .offcanvas-xxl.offcanvas-top {
top: 0; top: 0;
left: 0; left: 0;
@ -6648,8 +6642,6 @@ textarea.form-control-lg {
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(-100%); transform: translateY(-100%);
} }
}
@media (max-width: 1399.98px) {
.offcanvas-xxl.offcanvas-bottom { .offcanvas-xxl.offcanvas-bottom {
left: 0; left: 0;
right: 0; right: 0;
@ -6658,13 +6650,9 @@ textarea.form-control-lg {
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(100%); transform: translateY(100%);
} }
}
@media (max-width: 1399.98px) {
.offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
transform: none; transform: none;
} }
}
@media (max-width: 1399.98px) {
.offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
visibility: visible; visibility: visible;
} }
@ -6763,14 +6751,11 @@ textarea.form-control-lg {
.offcanvas-header { .offcanvas-header {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between;
padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
} }
.offcanvas-header .btn-close { .offcanvas-header .btn-close {
padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5); padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y)); margin: calc(-0.5 * var(--bs-offcanvas-padding-y)) auto calc(-0.5 * var(--bs-offcanvas-padding-y)) calc(-0.5 * var(--bs-offcanvas-padding-x));
margin-left: calc(-0.5 * var(--bs-offcanvas-padding-x));
margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
} }
.offcanvas-title { .offcanvas-title {
@ -6840,98 +6825,173 @@ textarea.form-control-lg {
.text-bg-primary { .text-bg-primary {
color: #fff !important; color: #fff !important;
background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-secondary { .text-bg-secondary {
color: #fff !important; color: #fff !important;
background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-success { .text-bg-success {
color: #fff !important; color: #fff !important;
background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-info { .text-bg-info {
color: #000 !important; color: #000 !important;
background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-warning { .text-bg-warning {
color: #000 !important; color: #000 !important;
background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-danger { .text-bg-danger {
color: #fff !important; color: #fff !important;
background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-light { .text-bg-light {
color: #000 !important; color: #000 !important;
background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.text-bg-dark { .text-bg-dark {
color: #fff !important; color: #fff !important;
background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important; background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
} }
.link-primary { .link-primary {
color: #0d6efd !important; color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-primary:hover, .link-primary:focus { .link-primary:hover, .link-primary:focus {
color: #0a58ca !important; color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-secondary { .link-secondary {
color: #6c757d !important; color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-secondary:hover, .link-secondary:focus { .link-secondary:hover, .link-secondary:focus {
color: #565e64 !important; color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-success { .link-success {
color: #198754 !important; color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-success:hover, .link-success:focus { .link-success:hover, .link-success:focus {
color: #146c43 !important; color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-info { .link-info {
color: #0dcaf0 !important; color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-info:hover, .link-info:focus { .link-info:hover, .link-info:focus {
color: #3dd5f3 !important; color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-warning { .link-warning {
color: #ffc107 !important; color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-warning:hover, .link-warning:focus { .link-warning:hover, .link-warning:focus {
color: #ffcd39 !important; color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-danger { .link-danger {
color: #dc3545 !important; color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-danger:hover, .link-danger:focus { .link-danger:hover, .link-danger:focus {
color: #b02a37 !important; color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-light { .link-light {
color: #f8f9fa !important; color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-light:hover, .link-light:focus { .link-light:hover, .link-light:focus {
color: #f9fafb !important; color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
} }
.link-dark { .link-dark {
color: #212529 !important; color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
} }
.link-dark:hover, .link-dark:focus { .link-dark:hover, .link-dark:focus {
color: #1a1e21 !important; color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis {
color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}
.focus-ring:focus {
outline: 0;
box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}
.icon-link {
display: inline-flex;
gap: 0.375rem;
align-items: center;
-webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
text-underline-offset: 0.25em;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.icon-link > .bi {
flex-shrink: 0;
width: 1em;
height: 1em;
fill: currentcolor;
transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
.icon-link > .bi {
transition: none;
}
}
.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
transform: var(--bs-icon-link-transform, translate3d(-0.25em, 0, 0));
} }
.ratio { .ratio {
@ -7083,7 +7143,6 @@ textarea.form-control-lg {
.visually-hidden, .visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) { .visually-hidden-focusable:not(:focus):not(:focus-within) {
position: absolute !important;
width: 1px !important; width: 1px !important;
height: 1px !important; height: 1px !important;
padding: 0 !important; padding: 0 !important;
@ -7093,6 +7152,10 @@ textarea.form-control-lg {
white-space: nowrap !important; white-space: nowrap !important;
border: 0 !important; border: 0 !important;
} }
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
position: absolute !important;
}
.stretched-link::after { .stretched-link::after {
position: absolute; position: absolute;
@ -7113,7 +7176,7 @@ textarea.form-control-lg {
.vr { .vr {
display: inline-block; display: inline-block;
align-self: stretch; align-self: stretch;
width: 1px; width: var(--bs-border-width);
min-height: 1em; min-height: 1em;
background-color: currentcolor; background-color: currentcolor;
opacity: 0.25; opacity: 0.25;
@ -7264,6 +7327,10 @@ textarea.form-control-lg {
display: grid !important; display: grid !important;
} }
.d-inline-grid {
display: inline-grid !important;
}
.d-table { .d-table {
display: table !important; display: table !important;
} }
@ -7289,21 +7356,53 @@ textarea.form-control-lg {
} }
.shadow { .shadow {
box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15) !important; box-shadow: var(--bs-box-shadow) !important;
} }
.shadow-sm { .shadow-sm {
box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075) !important; box-shadow: var(--bs-box-shadow-sm) !important;
} }
.shadow-lg { .shadow-lg {
box-shadow: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175) !important; box-shadow: var(--bs-box-shadow-lg) !important;
} }
.shadow-none { .shadow-none {
box-shadow: none !important; box-shadow: none !important;
} }
.focus-ring-primary {
--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-secondary {
--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-success {
--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-info {
--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-warning {
--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-danger {
--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-light {
--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-dark {
--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}
.position-static { .position-static {
position: static !important; position: static !important;
} }
@ -7465,6 +7564,11 @@ textarea.form-control-lg {
border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
} }
.border-black {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}
.border-white { .border-white {
--bs-border-opacity: 1; --bs-border-opacity: 1;
border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
@ -7503,23 +7607,23 @@ textarea.form-control-lg {
} }
.border-1 { .border-1 {
--bs-border-width: 1px; border-width: 1px !important;
} }
.border-2 { .border-2 {
--bs-border-width: 2px; border-width: 2px !important;
} }
.border-3 { .border-3 {
--bs-border-width: 3px; border-width: 3px !important;
} }
.border-4 { .border-4 {
--bs-border-width: 4px; border-width: 4px !important;
} }
.border-5 { .border-5 {
--bs-border-width: 5px; border-width: 5px !important;
} }
.border-opacity-10 { .border-opacity-10 {
@ -8476,35 +8580,201 @@ textarea.form-control-lg {
} }
.text-primary-emphasis { .text-primary-emphasis {
color: var(--bs-primary-text) !important; color: var(--bs-primary-text-emphasis) !important;
} }
.text-secondary-emphasis { .text-secondary-emphasis {
color: var(--bs-secondary-text) !important; color: var(--bs-secondary-text-emphasis) !important;
} }
.text-success-emphasis { .text-success-emphasis {
color: var(--bs-success-text) !important; color: var(--bs-success-text-emphasis) !important;
} }
.text-info-emphasis { .text-info-emphasis {
color: var(--bs-info-text) !important; color: var(--bs-info-text-emphasis) !important;
} }
.text-warning-emphasis { .text-warning-emphasis {
color: var(--bs-warning-text) !important; color: var(--bs-warning-text-emphasis) !important;
} }
.text-danger-emphasis { .text-danger-emphasis {
color: var(--bs-danger-text) !important; color: var(--bs-danger-text-emphasis) !important;
} }
.text-light-emphasis { .text-light-emphasis {
color: var(--bs-light-text) !important; color: var(--bs-light-text-emphasis) !important;
} }
.text-dark-emphasis { .text-dark-emphasis {
color: var(--bs-dark-text) !important; color: var(--bs-dark-text-emphasis) !important;
}
.link-opacity-10 {
--bs-link-opacity: 0.1;
}
.link-opacity-10-hover:hover {
--bs-link-opacity: 0.1;
}
.link-opacity-25 {
--bs-link-opacity: 0.25;
}
.link-opacity-25-hover:hover {
--bs-link-opacity: 0.25;
}
.link-opacity-50 {
--bs-link-opacity: 0.5;
}
.link-opacity-50-hover:hover {
--bs-link-opacity: 0.5;
}
.link-opacity-75 {
--bs-link-opacity: 0.75;
}
.link-opacity-75-hover:hover {
--bs-link-opacity: 0.75;
}
.link-opacity-100 {
--bs-link-opacity: 1;
}
.link-opacity-100-hover:hover {
--bs-link-opacity: 1;
}
.link-offset-1 {
text-underline-offset: 0.125em !important;
}
.link-offset-1-hover:hover {
text-underline-offset: 0.125em !important;
}
.link-offset-2 {
text-underline-offset: 0.25em !important;
}
.link-offset-2-hover:hover {
text-underline-offset: 0.25em !important;
}
.link-offset-3 {
text-underline-offset: 0.375em !important;
}
.link-offset-3-hover:hover {
text-underline-offset: 0.375em !important;
}
.link-underline-primary {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-secondary {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-success {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-info {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-warning {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-danger {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-light {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-dark {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-underline-opacity-0 {
--bs-link-underline-opacity: 0;
}
.link-underline-opacity-0-hover:hover {
--bs-link-underline-opacity: 0;
}
.link-underline-opacity-10 {
--bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-10-hover:hover {
--bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-25 {
--bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-25-hover:hover {
--bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-50 {
--bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-50-hover:hover {
--bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-75 {
--bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-75-hover:hover {
--bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-100 {
--bs-link-underline-opacity: 1;
}
.link-underline-opacity-100-hover:hover {
--bs-link-underline-opacity: 1;
} }
.bg-primary { .bg-primary {
@ -8577,11 +8847,6 @@ textarea.form-control-lg {
background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important; background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
} }
.bg-body-emphasis {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-emphasis-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-opacity-10 { .bg-opacity-10 {
--bs-bg-opacity: 0.1; --bs-bg-opacity: 0.1;
} }
@ -8689,7 +8954,7 @@ textarea.form-control-lg {
} }
.rounded-5 { .rounded-5 {
border-radius: var(--bs-border-radius-2xl) !important; border-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-circle { .rounded-circle {
@ -8731,8 +8996,8 @@ textarea.form-control-lg {
} }
.rounded-top-5 { .rounded-top-5 {
border-top-right-radius: var(--bs-border-radius-2xl) !important; border-top-right-radius: var(--bs-border-radius-xxl) !important;
border-top-left-radius: var(--bs-border-radius-2xl) !important; border-top-left-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-top-circle { .rounded-top-circle {
@ -8776,8 +9041,8 @@ textarea.form-control-lg {
} }
.rounded-end-5 { .rounded-end-5 {
border-top-left-radius: var(--bs-border-radius-2xl) !important; border-top-left-radius: var(--bs-border-radius-xxl) !important;
border-bottom-left-radius: var(--bs-border-radius-2xl) !important; border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-end-circle { .rounded-end-circle {
@ -8821,8 +9086,8 @@ textarea.form-control-lg {
} }
.rounded-bottom-5 { .rounded-bottom-5 {
border-bottom-left-radius: var(--bs-border-radius-2xl) !important; border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
border-bottom-right-radius: var(--bs-border-radius-2xl) !important; border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-bottom-circle { .rounded-bottom-circle {
@ -8866,8 +9131,8 @@ textarea.form-control-lg {
} }
.rounded-start-5 { .rounded-start-5 {
border-bottom-right-radius: var(--bs-border-radius-2xl) !important; border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
border-top-right-radius: var(--bs-border-radius-2xl) !important; border-top-right-radius: var(--bs-border-radius-xxl) !important;
} }
.rounded-start-circle { .rounded-start-circle {
@ -8950,6 +9215,9 @@ textarea.form-control-lg {
.d-sm-grid { .d-sm-grid {
display: grid !important; display: grid !important;
} }
.d-sm-inline-grid {
display: inline-grid !important;
}
.d-sm-table { .d-sm-table {
display: table !important; display: table !important;
} }
@ -9508,6 +9776,9 @@ textarea.form-control-lg {
.d-md-grid { .d-md-grid {
display: grid !important; display: grid !important;
} }
.d-md-inline-grid {
display: inline-grid !important;
}
.d-md-table { .d-md-table {
display: table !important; display: table !important;
} }
@ -10066,6 +10337,9 @@ textarea.form-control-lg {
.d-lg-grid { .d-lg-grid {
display: grid !important; display: grid !important;
} }
.d-lg-inline-grid {
display: inline-grid !important;
}
.d-lg-table { .d-lg-table {
display: table !important; display: table !important;
} }
@ -10624,6 +10898,9 @@ textarea.form-control-lg {
.d-xl-grid { .d-xl-grid {
display: grid !important; display: grid !important;
} }
.d-xl-inline-grid {
display: inline-grid !important;
}
.d-xl-table { .d-xl-table {
display: table !important; display: table !important;
} }
@ -11182,6 +11459,9 @@ textarea.form-control-lg {
.d-xxl-grid { .d-xxl-grid {
display: grid !important; display: grid !important;
} }
.d-xxl-inline-grid {
display: inline-grid !important;
}
.d-xxl-table { .d-xxl-table {
display: table !important; display: table !important;
} }
@ -11725,6 +12005,9 @@ textarea.form-control-lg {
.d-print-grid { .d-print-grid {
display: grid !important; display: grid !important;
} }
.d-print-inline-grid {
display: inline-grid !important;
}
.d-print-table { .d-print-table {
display: table !important; display: table !important;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
@ -11,7 +11,55 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/index.js * Bootstrap dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* Constants
*/
const elementMap = new Map();
const Data = {
set(element, key, instance) {
if (!elementMap.has(element)) {
elementMap.set(element, new Map());
}
const instanceMap = elementMap.get(element);
// make it clear we only want one instance per element
// can be removed later when multiple key/instances are fine to be used
if (!instanceMap.has(key) && instanceMap.size !== 0) {
// eslint-disable-next-line no-console
console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return;
}
instanceMap.set(key, instance);
},
get(element, key) {
if (elementMap.has(element)) {
return elementMap.get(element).get(key) || null;
}
return null;
},
remove(element, key) {
if (!elementMap.has(element)) {
return;
}
const instanceMap = elementMap.get(element);
instanceMap.delete(key);
// free up element references if there are no instances left for an element
if (instanceMap.size === 0) {
elementMap.delete(element);
}
}
};
/**
* --------------------------------------------------------------------------
* Bootstrap util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -162,7 +210,6 @@
const reflow = element => { const reflow = element => {
element.offsetHeight; // eslint-disable-line no-unused-expressions element.offsetHeight; // eslint-disable-line no-unused-expressions
}; };
const getjQuery = () => { const getjQuery = () => {
if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return window.jQuery; return window.jQuery;
@ -258,11 +305,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/event-handler.js * Bootstrap dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -328,7 +376,7 @@
} }
function normalizeParameters(originalTypeEvent, handler, delegationFunction) { function normalizeParameters(originalTypeEvent, handler, delegationFunction) {
const isDelegated = typeof handler === 'string'; const isDelegated = typeof handler === 'string';
// todo: tooltip passes `false` instead of selector, so we need to check // TODO: tooltip passes `false` instead of selector, so we need to check
const callable = isDelegated ? delegationFunction : handler || delegationFunction; const callable = isDelegated ? delegationFunction : handler || delegationFunction;
let typeEvent = getTypeEvent(originalTypeEvent); let typeEvent = getTypeEvent(originalTypeEvent);
if (!nativeEvents.has(typeEvent)) { if (!nativeEvents.has(typeEvent)) {
@ -445,11 +493,10 @@
nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
defaultPrevented = jQueryEvent.isDefaultPrevented(); defaultPrevented = jQueryEvent.isDefaultPrevented();
} }
let evt = new Event(event, { const evt = hydrateObj(new Event(event, {
bubbles, bubbles,
cancelable: true cancelable: true
}); }), args);
evt = hydrateObj(evt, args);
if (defaultPrevented) { if (defaultPrevented) {
evt.preventDefault(); evt.preventDefault();
} }
@ -480,55 +527,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/data.js * Bootstrap dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* Constants
*/
const elementMap = new Map();
const Data = {
set(element, key, instance) {
if (!elementMap.has(element)) {
elementMap.set(element, new Map());
}
const instanceMap = elementMap.get(element);
// make it clear we only want one instance per element
// can be removed later when multiple key/instances are fine to be used
if (!instanceMap.has(key) && instanceMap.size !== 0) {
// eslint-disable-next-line no-console
console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return;
}
instanceMap.set(key, instance);
},
get(element, key) {
if (elementMap.has(element)) {
return elementMap.get(element).get(key) || null;
}
return null;
},
remove(element, key) {
if (!elementMap.has(element)) {
return;
}
const instanceMap = elementMap.get(element);
instanceMap.delete(key);
// free up element references if there are no instances left for an element
if (instanceMap.size === 0) {
elementMap.delete(element);
}
}
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -585,11 +584,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/config.js * Bootstrap util/config.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Class definition * Class definition
*/ */
@ -637,16 +637,17 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): base-component.js * Bootstrap base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
const VERSION = '5.3.0-alpha1'; const VERSION = '5.3.3';
/** /**
* Class definition * Class definition
@ -705,10 +706,11 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/selector-engine.js * Bootstrap dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
const getSelector = element => { const getSelector = element => {
let selector = element.getAttribute('data-bs-target'); let selector = element.getAttribute('data-bs-target');
if (!selector || selector === '#') { if (!selector || selector === '#') {
@ -728,7 +730,7 @@
} }
selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null; selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;
} }
return parseSelector(selector); return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null;
}; };
const SelectorEngine = { const SelectorEngine = {
find(selector, element = document.documentElement) { find(selector, element = document.documentElement) {
@ -793,10 +795,11 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/component-functions.js * Bootstrap util/component-functions.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
const enableDismissTrigger = (component, method = 'hide') => { const enableDismissTrigger = (component, method = 'hide') => {
const clickEvent = `click.dismiss${component.EVENT_KEY}`; const clickEvent = `click.dismiss${component.EVENT_KEY}`;
const name = component.NAME; const name = component.NAME;
@ -817,11 +820,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): alert.js * Bootstrap alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -891,11 +895,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): button.js * Bootstrap button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -954,11 +959,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/swipe.js * Bootstrap util/swipe.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -1073,11 +1079,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): carousel.js * Bootstrap carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -1333,7 +1340,7 @@
} }
if (!activeElement || !nextElement) { if (!activeElement || !nextElement) {
// Some weirdness is happening, so we bail // Some weirdness is happening, so we bail
// todo: change tests that use empty divs to avoid this check // TODO: change tests that use empty divs to avoid this check
return; return;
} }
const isCycling = Boolean(this._interval); const isCycling = Boolean(this._interval);
@ -1445,11 +1452,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): collapse.js * Bootstrap collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -1839,7 +1847,7 @@
function getUAString() { function getUAString() {
var uaData = navigator.userAgentData; var uaData = navigator.userAgentData;
if (uaData != null && uaData.brands) { if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
return uaData.brands.map(function (item) { return uaData.brands.map(function (item) {
return item.brand + "/" + item.version; return item.brand + "/" + item.version;
}).join(' '); }).join(' ');
@ -2127,7 +2135,6 @@
} }
if (!contains(state.elements.popper, arrowElement)) { if (!contains(state.elements.popper, arrowElement)) {
return; return;
} }
@ -2158,10 +2165,9 @@
// Zooming can change the DPR, but it seems to report a value that will // Zooming can change the DPR, but it seems to report a value that will
// cleanly divide the values into the appropriate subpixels. // cleanly divide the values into the appropriate subpixels.
function roundOffsetsByDPR(_ref) { function roundOffsetsByDPR(_ref, win) {
var x = _ref.x, var x = _ref.x,
y = _ref.y; y = _ref.y;
var win = window;
var dpr = win.devicePixelRatio || 1; var dpr = win.devicePixelRatio || 1;
return { return {
x: round(x * dpr) / dpr || 0, x: round(x * dpr) / dpr || 0,
@ -2244,7 +2250,7 @@
var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
x: x, x: x,
y: y y: y
}) : { }, getWindow(popper)) : {
x: x, x: x,
y: y y: y
}; };
@ -2270,7 +2276,6 @@
adaptive = _options$adaptive === void 0 ? true : _options$adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive,
_options$roundOffsets = options.roundOffsets, _options$roundOffsets = options.roundOffsets,
roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
var commonStyles = { var commonStyles = {
placement: getBasePlacement(state.placement), placement: getBasePlacement(state.placement),
variation: getVariation(state.placement), variation: getVariation(state.placement),
@ -3338,8 +3343,7 @@
state.orderedModifiers = orderedModifiers.filter(function (m) { state.orderedModifiers = orderedModifiers.filter(function (m) {
return m.enabled; return m.enabled;
}); // Validate the provided modifiers so that the consumer will get warned });
runModifierEffects(); runModifierEffects();
return instance.update(); return instance.update();
}, },
@ -3359,7 +3363,6 @@
// anymore // anymore
if (!areValidElements(reference, popper)) { if (!areValidElements(reference, popper)) {
return; return;
} // Store the reference and popper rects to be read by modifiers } // Store the reference and popper rects to be read by modifiers
@ -3384,7 +3387,6 @@
}); });
for (var index = 0; index < state.orderedModifiers.length; index++) { for (var index = 0; index < state.orderedModifiers.length; index++) {
if (state.reset === true) { if (state.reset === true) {
state.reset = false; state.reset = false;
index = -1; index = -1;
@ -3422,7 +3424,6 @@
}; };
if (!areValidElements(reference, popper)) { if (!areValidElements(reference, popper)) {
return instance; return instance;
} }
@ -3437,11 +3438,11 @@
// one. // one.
function runModifierEffects() { function runModifierEffects() {
state.orderedModifiers.forEach(function (_ref3) { state.orderedModifiers.forEach(function (_ref) {
var name = _ref3.name, var name = _ref.name,
_ref3$options = _ref3.options, _ref$options = _ref.options,
options = _ref3$options === void 0 ? {} : _ref3$options, options = _ref$options === void 0 ? {} : _ref$options,
effect = _ref3.effect; effect = _ref.effect;
if (typeof effect === 'function') { if (typeof effect === 'function') {
var cleanupFn = effect({ var cleanupFn = effect({
@ -3482,53 +3483,54 @@
const Popper = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ const Popper = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null, __proto__: null,
popperGenerator,
detectOverflow,
createPopperBase: createPopper$2,
createPopper,
createPopperLite: createPopper$1,
top,
bottom,
right,
left,
auto,
basePlacements,
start,
end,
clippingParents,
viewport,
popper,
reference,
variationPlacements,
placements,
beforeRead,
read,
afterRead,
beforeMain,
main,
afterMain, afterMain,
beforeWrite, afterRead,
write,
afterWrite, afterWrite,
modifierPhases,
applyStyles: applyStyles$1, applyStyles: applyStyles$1,
arrow: arrow$1, arrow: arrow$1,
auto,
basePlacements,
beforeMain,
beforeRead,
beforeWrite,
bottom,
clippingParents,
computeStyles: computeStyles$1, computeStyles: computeStyles$1,
createPopper,
createPopperBase: createPopper$2,
createPopperLite: createPopper$1,
detectOverflow,
end,
eventListeners, eventListeners,
flip: flip$1, flip: flip$1,
hide: hide$1, hide: hide$1,
left,
main,
modifierPhases,
offset: offset$1, offset: offset$1,
placements,
popper,
popperGenerator,
popperOffsets: popperOffsets$1, popperOffsets: popperOffsets$1,
preventOverflow: preventOverflow$1 preventOverflow: preventOverflow$1,
read,
reference,
right,
start,
top,
variationPlacements,
viewport,
write
}, Symbol.toStringTag, { value: 'Module' })); }, Symbol.toStringTag, { value: 'Module' }));
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dropdown.js * Bootstrap dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -3596,7 +3598,7 @@
super(element, config); super(element, config);
this._popper = null; this._popper = null;
this._parent = this._element.parentNode; // dropdown wrapper this._parent = this._element.parentNode; // dropdown wrapper
// todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/ // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
this._inNavbar = this._detectNavbar(); this._inNavbar = this._detectNavbar();
} }
@ -3770,7 +3772,7 @@
// Disable Popper if we have a static display or Dropdown is in Navbar // Disable Popper if we have a static display or Dropdown is in Navbar
if (this._inNavbar || this._config.display === 'static') { if (this._inNavbar || this._config.display === 'static') {
Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // TODO: v6 remove
defaultBsPopperConfig.modifiers = [{ defaultBsPopperConfig.modifiers = [{
name: 'applyStyles', name: 'applyStyles',
enabled: false enabled: false
@ -3852,7 +3854,7 @@
} }
event.preventDefault(); event.preventDefault();
// todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/ // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
const instance = Dropdown.getOrCreateInstance(getToggleButton); const instance = Dropdown.getOrCreateInstance(getToggleButton);
if (isUpOrDownEvent) { if (isUpOrDownEvent) {
@ -3891,107 +3893,11 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/scrollBar.js * Bootstrap util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/**
* Constants
*/
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
const SELECTOR_STICKY_CONTENT = '.sticky-top';
const PROPERTY_PADDING = 'padding-right';
const PROPERTY_MARGIN = 'margin-right';
/**
* Class definition
*/
class ScrollBarHelper {
constructor() {
this._element = document.body;
}
// Public
getWidth() {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
}
hide() {
const width = this.getWidth();
this._disableOverFlow();
// give padding to element to balance the hidden scrollbar width
this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
// trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);
}
reset() {
this._resetElementAttributes(this._element, 'overflow');
this._resetElementAttributes(this._element, PROPERTY_PADDING);
this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);
this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);
}
isOverflowing() {
return this.getWidth() > 0;
}
// Private
_disableOverFlow() {
this._saveInitialAttribute(this._element, 'overflow');
this._element.style.overflow = 'hidden';
}
_setElementAttributes(selector, styleProperty, callback) {
const scrollbarWidth = this.getWidth();
const manipulationCallBack = element => {
if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
this._saveInitialAttribute(element, styleProperty);
const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);
element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_saveInitialAttribute(element, styleProperty) {
const actualValue = element.style.getPropertyValue(styleProperty);
if (actualValue) {
Manipulator.setDataAttribute(element, styleProperty, actualValue);
}
}
_resetElementAttributes(selector, styleProperty) {
const manipulationCallBack = element => {
const value = Manipulator.getDataAttribute(element, styleProperty);
// We only want to remove the property if the value is `null`; the value can also be zero
if (value === null) {
element.style.removeProperty(styleProperty);
return;
}
Manipulator.removeDataAttribute(element, styleProperty);
element.style.setProperty(styleProperty, value);
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_applyManipulationCallback(selector, callBack) {
if (isElement$1(selector)) {
callBack(selector);
return;
}
for (const sel of SelectorEngine.find(selector, this._element)) {
callBack(sel);
}
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* Constants * Constants
@ -4009,7 +3915,6 @@
// if false, we use the backdrop helper without adding any element to the dom // if false, we use the backdrop helper without adding any element to the dom
rootElement: 'body' // give the choice to place backdrop under different elements rootElement: 'body' // give the choice to place backdrop under different elements
}; };
const DefaultType$8 = { const DefaultType$8 = {
className: 'string', className: 'string',
clickCallback: '(function|null)', clickCallback: '(function|null)',
@ -4112,11 +4017,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/focustrap.js * Bootstrap util/focustrap.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -4133,7 +4039,6 @@
autofocus: true, autofocus: true,
trapElement: null // The element to trap focus inside of trapElement: null // The element to trap focus inside of
}; };
const DefaultType$7 = { const DefaultType$7 = {
autofocus: 'boolean', autofocus: 'boolean',
trapElement: 'element' trapElement: 'element'
@ -4210,11 +4115,110 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): modal.js * Bootstrap util/scrollBar.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/**
* Constants
*/
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
const SELECTOR_STICKY_CONTENT = '.sticky-top';
const PROPERTY_PADDING = 'padding-right';
const PROPERTY_MARGIN = 'margin-right';
/**
* Class definition
*/
class ScrollBarHelper {
constructor() {
this._element = document.body;
}
// Public
getWidth() {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
}
hide() {
const width = this.getWidth();
this._disableOverFlow();
// give padding to element to balance the hidden scrollbar width
this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
// trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);
}
reset() {
this._resetElementAttributes(this._element, 'overflow');
this._resetElementAttributes(this._element, PROPERTY_PADDING);
this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);
this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);
}
isOverflowing() {
return this.getWidth() > 0;
}
// Private
_disableOverFlow() {
this._saveInitialAttribute(this._element, 'overflow');
this._element.style.overflow = 'hidden';
}
_setElementAttributes(selector, styleProperty, callback) {
const scrollbarWidth = this.getWidth();
const manipulationCallBack = element => {
if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
this._saveInitialAttribute(element, styleProperty);
const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);
element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_saveInitialAttribute(element, styleProperty) {
const actualValue = element.style.getPropertyValue(styleProperty);
if (actualValue) {
Manipulator.setDataAttribute(element, styleProperty, actualValue);
}
}
_resetElementAttributes(selector, styleProperty) {
const manipulationCallBack = element => {
const value = Manipulator.getDataAttribute(element, styleProperty);
// We only want to remove the property if the value is `null`; the value can also be zero
if (value === null) {
element.style.removeProperty(styleProperty);
return;
}
Manipulator.removeDataAttribute(element, styleProperty);
element.style.setProperty(styleProperty, value);
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_applyManipulationCallback(selector, callBack) {
if (isElement$1(selector)) {
callBack(selector);
return;
}
for (const sel of SelectorEngine.find(selector, this._element)) {
callBack(sel);
}
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* Constants * Constants
*/ */
@ -4316,9 +4320,8 @@
this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());
} }
dispose() { dispose() {
for (const htmlElement of [window, this._dialog]) { EventHandler.off(window, EVENT_KEY$4);
EventHandler.off(htmlElement, EVENT_KEY$4); EventHandler.off(this._dialog, EVENT_KEY$4);
}
this._backdrop.dispose(); this._backdrop.dispose();
this._focustrap.deactivate(); this._focustrap.deactivate();
super.dispose(); super.dispose();
@ -4373,7 +4376,6 @@
return; return;
} }
if (this._config.keyboard) { if (this._config.keyboard) {
event.preventDefault();
this.hide(); this.hide();
return; return;
} }
@ -4516,11 +4518,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): offcanvas.js * Bootstrap offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -4674,11 +4677,11 @@
if (event.key !== ESCAPE_KEY) { if (event.key !== ESCAPE_KEY) {
return; return;
} }
if (!this._config.keyboard) { if (this._config.keyboard) {
EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); this.hide();
return; return;
} }
this.hide(); EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
}); });
} }
@ -4746,39 +4749,13 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/sanitizer.js * Bootstrap util/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); // js-docs-start allow-list
const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
/**
* A pattern that recognizes a commonly useful subset of URLs that are safe.
*
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
*/
const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;
/**
* A pattern that matches safe data URLs. Only matches image, video and audio types.
*
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
*/
const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
const allowedAttribute = (attribute, allowedAttributeList) => {
const attributeName = attribute.nodeName.toLowerCase();
if (allowedAttributeList.includes(attributeName)) {
if (uriAttributes.has(attributeName)) {
return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue));
}
return true;
}
// Check if a regular expression validates the attribute.
return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));
};
const DefaultAllowlist = { const DefaultAllowlist = {
// Global attributes allowed on any supplied element below. // Global attributes allowed on any supplied element below.
'*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
@ -4788,7 +4765,10 @@
br: [], br: [],
col: [], col: [],
code: [], code: [],
dd: [],
div: [], div: [],
dl: [],
dt: [],
em: [], em: [],
hr: [], hr: [],
h1: [], h1: [],
@ -4812,6 +4792,30 @@
u: [], u: [],
ul: [] ul: []
}; };
// js-docs-end allow-list
const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);
/**
* A pattern that recognizes URLs that are safe wrt. XSS in URL navigation
* contexts.
*
* Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38
*/
// eslint-disable-next-line unicorn/better-regex
const SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i;
const allowedAttribute = (attribute, allowedAttributeList) => {
const attributeName = attribute.nodeName.toLowerCase();
if (allowedAttributeList.includes(attributeName)) {
if (uriAttributes.has(attributeName)) {
return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue));
}
return true;
}
// Check if a regular expression validates the attribute.
return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));
};
function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
if (!unsafeHtml.length) { if (!unsafeHtml.length) {
return unsafeHtml; return unsafeHtml;
@ -4841,11 +4845,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/template-factory.js * Bootstrap util/template-factory.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -4976,11 +4981,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): tooltip.js * Bootstrap tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -5023,7 +5029,7 @@
delay: 0, delay: 0,
fallbackPlacements: ['top', 'right', 'bottom', 'left'], fallbackPlacements: ['top', 'right', 'bottom', 'left'],
html: false, html: false,
offset: [0, 0], offset: [0, 6],
placement: 'top', placement: 'top',
popperConfig: null, popperConfig: null,
sanitize: true, sanitize: true,
@ -5136,7 +5142,7 @@
return; return;
} }
// todo v6 remove this OR make it optional // TODO: v6 remove this or make it optional
this._disposePopper(); this._disposePopper();
const tip = this._getTipElement(); const tip = this._getTipElement();
this._element.setAttribute('aria-describedby', tip.getAttribute('id')); this._element.setAttribute('aria-describedby', tip.getAttribute('id'));
@ -5222,12 +5228,12 @@
_createTipElement(content) { _createTipElement(content) {
const tip = this._getTemplateFactory(content).toHtml(); const tip = this._getTemplateFactory(content).toHtml();
// todo: remove this check on v6 // TODO: remove this check in v6
if (!tip) { if (!tip) {
return null; return null;
} }
tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2);
// todo: on v6 the following can be achieved with CSS only // TODO: v6 the following can be achieved with CSS only
tip.classList.add(`bs-${this.constructor.NAME}-auto`); tip.classList.add(`bs-${this.constructor.NAME}-auto`);
const tipId = getUID(this.constructor.NAME).toString(); const tipId = getUID(this.constructor.NAME).toString();
tip.setAttribute('id', tipId); tip.setAttribute('id', tipId);
@ -5487,11 +5493,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): popover.js * Bootstrap popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -5567,11 +5574,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): scrollspy.js * Bootstrap scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -5750,11 +5758,11 @@
if (!anchor.hash || isDisabled(anchor)) { if (!anchor.hash || isDisabled(anchor)) {
continue; continue;
} }
const observableSection = SelectorEngine.findOne(anchor.hash, this._element); const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element);
// ensure that the observableSection exists & is visible // ensure that the observableSection exists & is visible
if (isVisible(observableSection)) { if (isVisible(observableSection)) {
this._targetLinks.set(anchor.hash, anchor); this._targetLinks.set(decodeURI(anchor.hash), anchor);
this._observableSections.set(anchor.hash, observableSection); this._observableSections.set(anchor.hash, observableSection);
} }
} }
@ -5826,11 +5834,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): tab.js * Bootstrap tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -5849,17 +5858,19 @@
const ARROW_RIGHT_KEY = 'ArrowRight'; const ARROW_RIGHT_KEY = 'ArrowRight';
const ARROW_UP_KEY = 'ArrowUp'; const ARROW_UP_KEY = 'ArrowUp';
const ARROW_DOWN_KEY = 'ArrowDown'; const ARROW_DOWN_KEY = 'ArrowDown';
const HOME_KEY = 'Home';
const END_KEY = 'End';
const CLASS_NAME_ACTIVE = 'active'; const CLASS_NAME_ACTIVE = 'active';
const CLASS_NAME_FADE$1 = 'fade'; const CLASS_NAME_FADE$1 = 'fade';
const CLASS_NAME_SHOW$1 = 'show'; const CLASS_NAME_SHOW$1 = 'show';
const CLASS_DROPDOWN = 'dropdown'; const CLASS_DROPDOWN = 'dropdown';
const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
const SELECTOR_DROPDOWN_MENU = '.dropdown-menu'; const SELECTOR_DROPDOWN_MENU = '.dropdown-menu';
const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)'; const NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`;
const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
const SELECTOR_OUTER = '.nav-item, .list-group-item'; const SELECTOR_OUTER = '.nav-item, .list-group-item';
const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`; const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`;
const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // todo:v6: could be only `tab` const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // TODO: could only be `tab` in v6
const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`; const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`;
const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`; const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`;
@ -5873,7 +5884,7 @@
this._parent = this._element.closest(SELECTOR_TAB_PANEL); this._parent = this._element.closest(SELECTOR_TAB_PANEL);
if (!this._parent) { if (!this._parent) {
return; return;
// todo: should Throw exception on v6 // TODO: should throw exception in v6
// throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`) // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)
} }
@ -5955,13 +5966,19 @@
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
} }
_keydown(event) { _keydown(event) {
if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) { if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key)) {
return; return;
} }
event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page
event.preventDefault(); event.preventDefault();
const children = this._getChildren().filter(element => !isDisabled(element));
let nextActiveElement;
if ([HOME_KEY, END_KEY].includes(event.key)) {
nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1];
} else {
const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key); const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key);
const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true); nextActiveElement = getNextActiveElement(children, event.target, isNext, true);
}
if (nextActiveElement) { if (nextActiveElement) {
nextActiveElement.focus({ nextActiveElement.focus({
preventScroll: true preventScroll: true
@ -6005,7 +6022,7 @@
} }
this._setAttributeIfNotExists(target, 'role', 'tabpanel'); this._setAttributeIfNotExists(target, 'role', 'tabpanel');
if (child.id) { if (child.id) {
this._setAttributeIfNotExists(target, 'aria-labelledby', `#${child.id}`); this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`);
} }
} }
_toggleDropDown(element, open) { _toggleDropDown(element, open) {
@ -6087,11 +6104,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): toast.js * Bootstrap toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -6270,10 +6288,11 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): index.umd.js * Bootstrap index.umd.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
const index_umd = { const index_umd = {
Alert, Alert,
Button, Button,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,13 +1,61 @@
/*! /*!
* Bootstrap v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
import * as Popper from '@popperjs/core'; import * as Popper from '@popperjs/core';
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/index.js * Bootstrap dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* Constants
*/
const elementMap = new Map();
const Data = {
set(element, key, instance) {
if (!elementMap.has(element)) {
elementMap.set(element, new Map());
}
const instanceMap = elementMap.get(element);
// make it clear we only want one instance per element
// can be removed later when multiple key/instances are fine to be used
if (!instanceMap.has(key) && instanceMap.size !== 0) {
// eslint-disable-next-line no-console
console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return;
}
instanceMap.set(key, instance);
},
get(element, key) {
if (elementMap.has(element)) {
return elementMap.get(element).get(key) || null;
}
return null;
},
remove(element, key) {
if (!elementMap.has(element)) {
return;
}
const instanceMap = elementMap.get(element);
instanceMap.delete(key);
// free up element references if there are no instances left for an element
if (instanceMap.size === 0) {
elementMap.delete(element);
}
}
};
/**
* --------------------------------------------------------------------------
* Bootstrap util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -158,7 +206,6 @@ const noop = () => {};
const reflow = element => { const reflow = element => {
element.offsetHeight; // eslint-disable-line no-unused-expressions element.offsetHeight; // eslint-disable-line no-unused-expressions
}; };
const getjQuery = () => { const getjQuery = () => {
if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return window.jQuery; return window.jQuery;
@ -254,11 +301,12 @@ const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/event-handler.js * Bootstrap dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -324,7 +372,7 @@ function findHandler(events, callable, delegationSelector = null) {
} }
function normalizeParameters(originalTypeEvent, handler, delegationFunction) { function normalizeParameters(originalTypeEvent, handler, delegationFunction) {
const isDelegated = typeof handler === 'string'; const isDelegated = typeof handler === 'string';
// todo: tooltip passes `false` instead of selector, so we need to check // TODO: tooltip passes `false` instead of selector, so we need to check
const callable = isDelegated ? delegationFunction : handler || delegationFunction; const callable = isDelegated ? delegationFunction : handler || delegationFunction;
let typeEvent = getTypeEvent(originalTypeEvent); let typeEvent = getTypeEvent(originalTypeEvent);
if (!nativeEvents.has(typeEvent)) { if (!nativeEvents.has(typeEvent)) {
@ -441,11 +489,10 @@ const EventHandler = {
nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
defaultPrevented = jQueryEvent.isDefaultPrevented(); defaultPrevented = jQueryEvent.isDefaultPrevented();
} }
let evt = new Event(event, { const evt = hydrateObj(new Event(event, {
bubbles, bubbles,
cancelable: true cancelable: true
}); }), args);
evt = hydrateObj(evt, args);
if (defaultPrevented) { if (defaultPrevented) {
evt.preventDefault(); evt.preventDefault();
} }
@ -476,55 +523,7 @@ function hydrateObj(obj, meta = {}) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/data.js * Bootstrap dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* Constants
*/
const elementMap = new Map();
const Data = {
set(element, key, instance) {
if (!elementMap.has(element)) {
elementMap.set(element, new Map());
}
const instanceMap = elementMap.get(element);
// make it clear we only want one instance per element
// can be removed later when multiple key/instances are fine to be used
if (!instanceMap.has(key) && instanceMap.size !== 0) {
// eslint-disable-next-line no-console
console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return;
}
instanceMap.set(key, instance);
},
get(element, key) {
if (elementMap.has(element)) {
return elementMap.get(element).get(key) || null;
}
return null;
},
remove(element, key) {
if (!elementMap.has(element)) {
return;
}
const instanceMap = elementMap.get(element);
instanceMap.delete(key);
// free up element references if there are no instances left for an element
if (instanceMap.size === 0) {
elementMap.delete(element);
}
}
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -581,11 +580,12 @@ const Manipulator = {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/config.js * Bootstrap util/config.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Class definition * Class definition
*/ */
@ -633,16 +633,17 @@ class Config {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): base-component.js * Bootstrap base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
const VERSION = '5.3.0-alpha1'; const VERSION = '5.3.3';
/** /**
* Class definition * Class definition
@ -701,10 +702,11 @@ class BaseComponent extends Config {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/selector-engine.js * Bootstrap dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
const getSelector = element => { const getSelector = element => {
let selector = element.getAttribute('data-bs-target'); let selector = element.getAttribute('data-bs-target');
if (!selector || selector === '#') { if (!selector || selector === '#') {
@ -724,7 +726,7 @@ const getSelector = element => {
} }
selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null; selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;
} }
return parseSelector(selector); return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null;
}; };
const SelectorEngine = { const SelectorEngine = {
find(selector, element = document.documentElement) { find(selector, element = document.documentElement) {
@ -789,10 +791,11 @@ const SelectorEngine = {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/component-functions.js * Bootstrap util/component-functions.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
const enableDismissTrigger = (component, method = 'hide') => { const enableDismissTrigger = (component, method = 'hide') => {
const clickEvent = `click.dismiss${component.EVENT_KEY}`; const clickEvent = `click.dismiss${component.EVENT_KEY}`;
const name = component.NAME; const name = component.NAME;
@ -813,11 +816,12 @@ const enableDismissTrigger = (component, method = 'hide') => {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): alert.js * Bootstrap alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -887,11 +891,12 @@ defineJQueryPlugin(Alert);
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): button.js * Bootstrap button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -950,11 +955,12 @@ defineJQueryPlugin(Button);
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/swipe.js * Bootstrap util/swipe.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -1069,11 +1075,12 @@ class Swipe extends Config {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): carousel.js * Bootstrap carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -1329,7 +1336,7 @@ class Carousel extends BaseComponent {
} }
if (!activeElement || !nextElement) { if (!activeElement || !nextElement) {
// Some weirdness is happening, so we bail // Some weirdness is happening, so we bail
// todo: change tests that use empty divs to avoid this check // TODO: change tests that use empty divs to avoid this check
return; return;
} }
const isCycling = Boolean(this._interval); const isCycling = Boolean(this._interval);
@ -1441,11 +1448,12 @@ defineJQueryPlugin(Carousel);
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): collapse.js * Bootstrap collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -1674,11 +1682,12 @@ defineJQueryPlugin(Collapse);
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dropdown.js * Bootstrap dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -1746,7 +1755,7 @@ class Dropdown extends BaseComponent {
super(element, config); super(element, config);
this._popper = null; this._popper = null;
this._parent = this._element.parentNode; // dropdown wrapper this._parent = this._element.parentNode; // dropdown wrapper
// todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/ // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
this._inNavbar = this._detectNavbar(); this._inNavbar = this._detectNavbar();
} }
@ -1920,7 +1929,7 @@ class Dropdown extends BaseComponent {
// Disable Popper if we have a static display or Dropdown is in Navbar // Disable Popper if we have a static display or Dropdown is in Navbar
if (this._inNavbar || this._config.display === 'static') { if (this._inNavbar || this._config.display === 'static') {
Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // TODO: v6 remove
defaultBsPopperConfig.modifiers = [{ defaultBsPopperConfig.modifiers = [{
name: 'applyStyles', name: 'applyStyles',
enabled: false enabled: false
@ -2002,7 +2011,7 @@ class Dropdown extends BaseComponent {
} }
event.preventDefault(); event.preventDefault();
// todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/ // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
const instance = Dropdown.getOrCreateInstance(getToggleButton); const instance = Dropdown.getOrCreateInstance(getToggleButton);
if (isUpOrDownEvent) { if (isUpOrDownEvent) {
@ -2041,107 +2050,11 @@ defineJQueryPlugin(Dropdown);
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/scrollBar.js * Bootstrap util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/**
* Constants
*/
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
const SELECTOR_STICKY_CONTENT = '.sticky-top';
const PROPERTY_PADDING = 'padding-right';
const PROPERTY_MARGIN = 'margin-right';
/**
* Class definition
*/
class ScrollBarHelper {
constructor() {
this._element = document.body;
}
// Public
getWidth() {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
}
hide() {
const width = this.getWidth();
this._disableOverFlow();
// give padding to element to balance the hidden scrollbar width
this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
// trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);
}
reset() {
this._resetElementAttributes(this._element, 'overflow');
this._resetElementAttributes(this._element, PROPERTY_PADDING);
this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);
this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);
}
isOverflowing() {
return this.getWidth() > 0;
}
// Private
_disableOverFlow() {
this._saveInitialAttribute(this._element, 'overflow');
this._element.style.overflow = 'hidden';
}
_setElementAttributes(selector, styleProperty, callback) {
const scrollbarWidth = this.getWidth();
const manipulationCallBack = element => {
if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
this._saveInitialAttribute(element, styleProperty);
const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);
element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_saveInitialAttribute(element, styleProperty) {
const actualValue = element.style.getPropertyValue(styleProperty);
if (actualValue) {
Manipulator.setDataAttribute(element, styleProperty, actualValue);
}
}
_resetElementAttributes(selector, styleProperty) {
const manipulationCallBack = element => {
const value = Manipulator.getDataAttribute(element, styleProperty);
// We only want to remove the property if the value is `null`; the value can also be zero
if (value === null) {
element.style.removeProperty(styleProperty);
return;
}
Manipulator.removeDataAttribute(element, styleProperty);
element.style.setProperty(styleProperty, value);
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_applyManipulationCallback(selector, callBack) {
if (isElement(selector)) {
callBack(selector);
return;
}
for (const sel of SelectorEngine.find(selector, this._element)) {
callBack(sel);
}
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* Constants * Constants
@ -2159,7 +2072,6 @@ const Default$8 = {
// if false, we use the backdrop helper without adding any element to the dom // if false, we use the backdrop helper without adding any element to the dom
rootElement: 'body' // give the choice to place backdrop under different elements rootElement: 'body' // give the choice to place backdrop under different elements
}; };
const DefaultType$8 = { const DefaultType$8 = {
className: 'string', className: 'string',
clickCallback: '(function|null)', clickCallback: '(function|null)',
@ -2262,11 +2174,12 @@ class Backdrop extends Config {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/focustrap.js * Bootstrap util/focustrap.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -2283,7 +2196,6 @@ const Default$7 = {
autofocus: true, autofocus: true,
trapElement: null // The element to trap focus inside of trapElement: null // The element to trap focus inside of
}; };
const DefaultType$7 = { const DefaultType$7 = {
autofocus: 'boolean', autofocus: 'boolean',
trapElement: 'element' trapElement: 'element'
@ -2360,11 +2272,110 @@ class FocusTrap extends Config {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): modal.js * Bootstrap util/scrollBar.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/**
* Constants
*/
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
const SELECTOR_STICKY_CONTENT = '.sticky-top';
const PROPERTY_PADDING = 'padding-right';
const PROPERTY_MARGIN = 'margin-right';
/**
* Class definition
*/
class ScrollBarHelper {
constructor() {
this._element = document.body;
}
// Public
getWidth() {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
}
hide() {
const width = this.getWidth();
this._disableOverFlow();
// give padding to element to balance the hidden scrollbar width
this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
// trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);
}
reset() {
this._resetElementAttributes(this._element, 'overflow');
this._resetElementAttributes(this._element, PROPERTY_PADDING);
this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);
this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);
}
isOverflowing() {
return this.getWidth() > 0;
}
// Private
_disableOverFlow() {
this._saveInitialAttribute(this._element, 'overflow');
this._element.style.overflow = 'hidden';
}
_setElementAttributes(selector, styleProperty, callback) {
const scrollbarWidth = this.getWidth();
const manipulationCallBack = element => {
if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
this._saveInitialAttribute(element, styleProperty);
const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);
element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_saveInitialAttribute(element, styleProperty) {
const actualValue = element.style.getPropertyValue(styleProperty);
if (actualValue) {
Manipulator.setDataAttribute(element, styleProperty, actualValue);
}
}
_resetElementAttributes(selector, styleProperty) {
const manipulationCallBack = element => {
const value = Manipulator.getDataAttribute(element, styleProperty);
// We only want to remove the property if the value is `null`; the value can also be zero
if (value === null) {
element.style.removeProperty(styleProperty);
return;
}
Manipulator.removeDataAttribute(element, styleProperty);
element.style.setProperty(styleProperty, value);
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_applyManipulationCallback(selector, callBack) {
if (isElement(selector)) {
callBack(selector);
return;
}
for (const sel of SelectorEngine.find(selector, this._element)) {
callBack(sel);
}
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* Constants * Constants
*/ */
@ -2466,9 +2477,8 @@ class Modal extends BaseComponent {
this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());
} }
dispose() { dispose() {
for (const htmlElement of [window, this._dialog]) { EventHandler.off(window, EVENT_KEY$4);
EventHandler.off(htmlElement, EVENT_KEY$4); EventHandler.off(this._dialog, EVENT_KEY$4);
}
this._backdrop.dispose(); this._backdrop.dispose();
this._focustrap.deactivate(); this._focustrap.deactivate();
super.dispose(); super.dispose();
@ -2523,7 +2533,6 @@ class Modal extends BaseComponent {
return; return;
} }
if (this._config.keyboard) { if (this._config.keyboard) {
event.preventDefault();
this.hide(); this.hide();
return; return;
} }
@ -2666,11 +2675,12 @@ defineJQueryPlugin(Modal);
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): offcanvas.js * Bootstrap offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -2824,11 +2834,11 @@ class Offcanvas extends BaseComponent {
if (event.key !== ESCAPE_KEY) { if (event.key !== ESCAPE_KEY) {
return; return;
} }
if (!this._config.keyboard) { if (this._config.keyboard) {
EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); this.hide();
return; return;
} }
this.hide(); EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
}); });
} }
@ -2896,39 +2906,13 @@ defineJQueryPlugin(Offcanvas);
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/sanitizer.js * Bootstrap util/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); // js-docs-start allow-list
const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
/**
* A pattern that recognizes a commonly useful subset of URLs that are safe.
*
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
*/
const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;
/**
* A pattern that matches safe data URLs. Only matches image, video and audio types.
*
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
*/
const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
const allowedAttribute = (attribute, allowedAttributeList) => {
const attributeName = attribute.nodeName.toLowerCase();
if (allowedAttributeList.includes(attributeName)) {
if (uriAttributes.has(attributeName)) {
return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue));
}
return true;
}
// Check if a regular expression validates the attribute.
return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));
};
const DefaultAllowlist = { const DefaultAllowlist = {
// Global attributes allowed on any supplied element below. // Global attributes allowed on any supplied element below.
'*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
@ -2938,7 +2922,10 @@ const DefaultAllowlist = {
br: [], br: [],
col: [], col: [],
code: [], code: [],
dd: [],
div: [], div: [],
dl: [],
dt: [],
em: [], em: [],
hr: [], hr: [],
h1: [], h1: [],
@ -2962,6 +2949,30 @@ const DefaultAllowlist = {
u: [], u: [],
ul: [] ul: []
}; };
// js-docs-end allow-list
const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);
/**
* A pattern that recognizes URLs that are safe wrt. XSS in URL navigation
* contexts.
*
* Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38
*/
// eslint-disable-next-line unicorn/better-regex
const SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i;
const allowedAttribute = (attribute, allowedAttributeList) => {
const attributeName = attribute.nodeName.toLowerCase();
if (allowedAttributeList.includes(attributeName)) {
if (uriAttributes.has(attributeName)) {
return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue));
}
return true;
}
// Check if a regular expression validates the attribute.
return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));
};
function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
if (!unsafeHtml.length) { if (!unsafeHtml.length) {
return unsafeHtml; return unsafeHtml;
@ -2991,11 +3002,12 @@ function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/template-factory.js * Bootstrap util/template-factory.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -3126,11 +3138,12 @@ class TemplateFactory extends Config {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): tooltip.js * Bootstrap tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -3173,7 +3186,7 @@ const Default$3 = {
delay: 0, delay: 0,
fallbackPlacements: ['top', 'right', 'bottom', 'left'], fallbackPlacements: ['top', 'right', 'bottom', 'left'],
html: false, html: false,
offset: [0, 0], offset: [0, 6],
placement: 'top', placement: 'top',
popperConfig: null, popperConfig: null,
sanitize: true, sanitize: true,
@ -3286,7 +3299,7 @@ class Tooltip extends BaseComponent {
return; return;
} }
// todo v6 remove this OR make it optional // TODO: v6 remove this or make it optional
this._disposePopper(); this._disposePopper();
const tip = this._getTipElement(); const tip = this._getTipElement();
this._element.setAttribute('aria-describedby', tip.getAttribute('id')); this._element.setAttribute('aria-describedby', tip.getAttribute('id'));
@ -3372,12 +3385,12 @@ class Tooltip extends BaseComponent {
_createTipElement(content) { _createTipElement(content) {
const tip = this._getTemplateFactory(content).toHtml(); const tip = this._getTemplateFactory(content).toHtml();
// todo: remove this check on v6 // TODO: remove this check in v6
if (!tip) { if (!tip) {
return null; return null;
} }
tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2);
// todo: on v6 the following can be achieved with CSS only // TODO: v6 the following can be achieved with CSS only
tip.classList.add(`bs-${this.constructor.NAME}-auto`); tip.classList.add(`bs-${this.constructor.NAME}-auto`);
const tipId = getUID(this.constructor.NAME).toString(); const tipId = getUID(this.constructor.NAME).toString();
tip.setAttribute('id', tipId); tip.setAttribute('id', tipId);
@ -3637,11 +3650,12 @@ defineJQueryPlugin(Tooltip);
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): popover.js * Bootstrap popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -3717,11 +3731,12 @@ defineJQueryPlugin(Popover);
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): scrollspy.js * Bootstrap scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -3900,11 +3915,11 @@ class ScrollSpy extends BaseComponent {
if (!anchor.hash || isDisabled(anchor)) { if (!anchor.hash || isDisabled(anchor)) {
continue; continue;
} }
const observableSection = SelectorEngine.findOne(anchor.hash, this._element); const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element);
// ensure that the observableSection exists & is visible // ensure that the observableSection exists & is visible
if (isVisible(observableSection)) { if (isVisible(observableSection)) {
this._targetLinks.set(anchor.hash, anchor); this._targetLinks.set(decodeURI(anchor.hash), anchor);
this._observableSections.set(anchor.hash, observableSection); this._observableSections.set(anchor.hash, observableSection);
} }
} }
@ -3976,11 +3991,12 @@ defineJQueryPlugin(ScrollSpy);
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): tab.js * Bootstrap tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -3999,17 +4015,19 @@ const ARROW_LEFT_KEY = 'ArrowLeft';
const ARROW_RIGHT_KEY = 'ArrowRight'; const ARROW_RIGHT_KEY = 'ArrowRight';
const ARROW_UP_KEY = 'ArrowUp'; const ARROW_UP_KEY = 'ArrowUp';
const ARROW_DOWN_KEY = 'ArrowDown'; const ARROW_DOWN_KEY = 'ArrowDown';
const HOME_KEY = 'Home';
const END_KEY = 'End';
const CLASS_NAME_ACTIVE = 'active'; const CLASS_NAME_ACTIVE = 'active';
const CLASS_NAME_FADE$1 = 'fade'; const CLASS_NAME_FADE$1 = 'fade';
const CLASS_NAME_SHOW$1 = 'show'; const CLASS_NAME_SHOW$1 = 'show';
const CLASS_DROPDOWN = 'dropdown'; const CLASS_DROPDOWN = 'dropdown';
const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
const SELECTOR_DROPDOWN_MENU = '.dropdown-menu'; const SELECTOR_DROPDOWN_MENU = '.dropdown-menu';
const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)'; const NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`;
const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
const SELECTOR_OUTER = '.nav-item, .list-group-item'; const SELECTOR_OUTER = '.nav-item, .list-group-item';
const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`; const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`;
const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // todo:v6: could be only `tab` const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // TODO: could only be `tab` in v6
const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`; const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`;
const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`; const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`;
@ -4023,7 +4041,7 @@ class Tab extends BaseComponent {
this._parent = this._element.closest(SELECTOR_TAB_PANEL); this._parent = this._element.closest(SELECTOR_TAB_PANEL);
if (!this._parent) { if (!this._parent) {
return; return;
// todo: should Throw exception on v6 // TODO: should throw exception in v6
// throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`) // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)
} }
@ -4105,13 +4123,19 @@ class Tab extends BaseComponent {
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
} }
_keydown(event) { _keydown(event) {
if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) { if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key)) {
return; return;
} }
event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page
event.preventDefault(); event.preventDefault();
const children = this._getChildren().filter(element => !isDisabled(element));
let nextActiveElement;
if ([HOME_KEY, END_KEY].includes(event.key)) {
nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1];
} else {
const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key); const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key);
const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true); nextActiveElement = getNextActiveElement(children, event.target, isNext, true);
}
if (nextActiveElement) { if (nextActiveElement) {
nextActiveElement.focus({ nextActiveElement.focus({
preventScroll: true preventScroll: true
@ -4155,7 +4179,7 @@ class Tab extends BaseComponent {
} }
this._setAttributeIfNotExists(target, 'role', 'tabpanel'); this._setAttributeIfNotExists(target, 'role', 'tabpanel');
if (child.id) { if (child.id) {
this._setAttributeIfNotExists(target, 'aria-labelledby', `#${child.id}`); this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`);
} }
} }
_toggleDropDown(element, open) { _toggleDropDown(element, open) {
@ -4237,11 +4261,12 @@ defineJQueryPlugin(Tab);
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): toast.js * Bootstrap toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
@ -30,7 +30,55 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/index.js * Bootstrap dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* Constants
*/
const elementMap = new Map();
const Data = {
set(element, key, instance) {
if (!elementMap.has(element)) {
elementMap.set(element, new Map());
}
const instanceMap = elementMap.get(element);
// make it clear we only want one instance per element
// can be removed later when multiple key/instances are fine to be used
if (!instanceMap.has(key) && instanceMap.size !== 0) {
// eslint-disable-next-line no-console
console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return;
}
instanceMap.set(key, instance);
},
get(element, key) {
if (elementMap.has(element)) {
return elementMap.get(element).get(key) || null;
}
return null;
},
remove(element, key) {
if (!elementMap.has(element)) {
return;
}
const instanceMap = elementMap.get(element);
instanceMap.delete(key);
// free up element references if there are no instances left for an element
if (instanceMap.size === 0) {
elementMap.delete(element);
}
}
};
/**
* --------------------------------------------------------------------------
* Bootstrap util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -181,7 +229,6 @@
const reflow = element => { const reflow = element => {
element.offsetHeight; // eslint-disable-line no-unused-expressions element.offsetHeight; // eslint-disable-line no-unused-expressions
}; };
const getjQuery = () => { const getjQuery = () => {
if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
return window.jQuery; return window.jQuery;
@ -277,11 +324,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/event-handler.js * Bootstrap dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -347,7 +395,7 @@
} }
function normalizeParameters(originalTypeEvent, handler, delegationFunction) { function normalizeParameters(originalTypeEvent, handler, delegationFunction) {
const isDelegated = typeof handler === 'string'; const isDelegated = typeof handler === 'string';
// todo: tooltip passes `false` instead of selector, so we need to check // TODO: tooltip passes `false` instead of selector, so we need to check
const callable = isDelegated ? delegationFunction : handler || delegationFunction; const callable = isDelegated ? delegationFunction : handler || delegationFunction;
let typeEvent = getTypeEvent(originalTypeEvent); let typeEvent = getTypeEvent(originalTypeEvent);
if (!nativeEvents.has(typeEvent)) { if (!nativeEvents.has(typeEvent)) {
@ -464,11 +512,10 @@
nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
defaultPrevented = jQueryEvent.isDefaultPrevented(); defaultPrevented = jQueryEvent.isDefaultPrevented();
} }
let evt = new Event(event, { const evt = hydrateObj(new Event(event, {
bubbles, bubbles,
cancelable: true cancelable: true
}); }), args);
evt = hydrateObj(evt, args);
if (defaultPrevented) { if (defaultPrevented) {
evt.preventDefault(); evt.preventDefault();
} }
@ -499,55 +546,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/data.js * Bootstrap dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* Constants
*/
const elementMap = new Map();
const Data = {
set(element, key, instance) {
if (!elementMap.has(element)) {
elementMap.set(element, new Map());
}
const instanceMap = elementMap.get(element);
// make it clear we only want one instance per element
// can be removed later when multiple key/instances are fine to be used
if (!instanceMap.has(key) && instanceMap.size !== 0) {
// eslint-disable-next-line no-console
console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return;
}
instanceMap.set(key, instance);
},
get(element, key) {
if (elementMap.has(element)) {
return elementMap.get(element).get(key) || null;
}
return null;
},
remove(element, key) {
if (!elementMap.has(element)) {
return;
}
const instanceMap = elementMap.get(element);
instanceMap.delete(key);
// free up element references if there are no instances left for an element
if (instanceMap.size === 0) {
elementMap.delete(element);
}
}
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -604,11 +603,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/config.js * Bootstrap util/config.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Class definition * Class definition
*/ */
@ -656,16 +656,17 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): base-component.js * Bootstrap base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
const VERSION = '5.3.0-alpha1'; const VERSION = '5.3.3';
/** /**
* Class definition * Class definition
@ -724,10 +725,11 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/selector-engine.js * Bootstrap dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
const getSelector = element => { const getSelector = element => {
let selector = element.getAttribute('data-bs-target'); let selector = element.getAttribute('data-bs-target');
if (!selector || selector === '#') { if (!selector || selector === '#') {
@ -747,7 +749,7 @@
} }
selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null; selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;
} }
return parseSelector(selector); return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null;
}; };
const SelectorEngine = { const SelectorEngine = {
find(selector, element = document.documentElement) { find(selector, element = document.documentElement) {
@ -812,10 +814,11 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/component-functions.js * Bootstrap util/component-functions.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
const enableDismissTrigger = (component, method = 'hide') => { const enableDismissTrigger = (component, method = 'hide') => {
const clickEvent = `click.dismiss${component.EVENT_KEY}`; const clickEvent = `click.dismiss${component.EVENT_KEY}`;
const name = component.NAME; const name = component.NAME;
@ -836,11 +839,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): alert.js * Bootstrap alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -910,11 +914,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): button.js * Bootstrap button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -973,11 +978,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/swipe.js * Bootstrap util/swipe.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -1092,11 +1098,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): carousel.js * Bootstrap carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -1352,7 +1359,7 @@
} }
if (!activeElement || !nextElement) { if (!activeElement || !nextElement) {
// Some weirdness is happening, so we bail // Some weirdness is happening, so we bail
// todo: change tests that use empty divs to avoid this check // TODO: change tests that use empty divs to avoid this check
return; return;
} }
const isCycling = Boolean(this._interval); const isCycling = Boolean(this._interval);
@ -1464,11 +1471,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): collapse.js * Bootstrap collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -1697,11 +1705,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dropdown.js * Bootstrap dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -1769,7 +1778,7 @@
super(element, config); super(element, config);
this._popper = null; this._popper = null;
this._parent = this._element.parentNode; // dropdown wrapper this._parent = this._element.parentNode; // dropdown wrapper
// todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/ // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
this._inNavbar = this._detectNavbar(); this._inNavbar = this._detectNavbar();
} }
@ -1943,7 +1952,7 @@
// Disable Popper if we have a static display or Dropdown is in Navbar // Disable Popper if we have a static display or Dropdown is in Navbar
if (this._inNavbar || this._config.display === 'static') { if (this._inNavbar || this._config.display === 'static') {
Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // TODO: v6 remove
defaultBsPopperConfig.modifiers = [{ defaultBsPopperConfig.modifiers = [{
name: 'applyStyles', name: 'applyStyles',
enabled: false enabled: false
@ -2025,7 +2034,7 @@
} }
event.preventDefault(); event.preventDefault();
// todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/ // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
const instance = Dropdown.getOrCreateInstance(getToggleButton); const instance = Dropdown.getOrCreateInstance(getToggleButton);
if (isUpOrDownEvent) { if (isUpOrDownEvent) {
@ -2064,107 +2073,11 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/scrollBar.js * Bootstrap util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/**
* Constants
*/
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
const SELECTOR_STICKY_CONTENT = '.sticky-top';
const PROPERTY_PADDING = 'padding-right';
const PROPERTY_MARGIN = 'margin-right';
/**
* Class definition
*/
class ScrollBarHelper {
constructor() {
this._element = document.body;
}
// Public
getWidth() {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
}
hide() {
const width = this.getWidth();
this._disableOverFlow();
// give padding to element to balance the hidden scrollbar width
this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
// trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);
}
reset() {
this._resetElementAttributes(this._element, 'overflow');
this._resetElementAttributes(this._element, PROPERTY_PADDING);
this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);
this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);
}
isOverflowing() {
return this.getWidth() > 0;
}
// Private
_disableOverFlow() {
this._saveInitialAttribute(this._element, 'overflow');
this._element.style.overflow = 'hidden';
}
_setElementAttributes(selector, styleProperty, callback) {
const scrollbarWidth = this.getWidth();
const manipulationCallBack = element => {
if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
this._saveInitialAttribute(element, styleProperty);
const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);
element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_saveInitialAttribute(element, styleProperty) {
const actualValue = element.style.getPropertyValue(styleProperty);
if (actualValue) {
Manipulator.setDataAttribute(element, styleProperty, actualValue);
}
}
_resetElementAttributes(selector, styleProperty) {
const manipulationCallBack = element => {
const value = Manipulator.getDataAttribute(element, styleProperty);
// We only want to remove the property if the value is `null`; the value can also be zero
if (value === null) {
element.style.removeProperty(styleProperty);
return;
}
Manipulator.removeDataAttribute(element, styleProperty);
element.style.setProperty(styleProperty, value);
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_applyManipulationCallback(selector, callBack) {
if (isElement(selector)) {
callBack(selector);
return;
}
for (const sel of SelectorEngine.find(selector, this._element)) {
callBack(sel);
}
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* Constants * Constants
@ -2182,7 +2095,6 @@
// if false, we use the backdrop helper without adding any element to the dom // if false, we use the backdrop helper without adding any element to the dom
rootElement: 'body' // give the choice to place backdrop under different elements rootElement: 'body' // give the choice to place backdrop under different elements
}; };
const DefaultType$8 = { const DefaultType$8 = {
className: 'string', className: 'string',
clickCallback: '(function|null)', clickCallback: '(function|null)',
@ -2285,11 +2197,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/focustrap.js * Bootstrap util/focustrap.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -2306,7 +2219,6 @@
autofocus: true, autofocus: true,
trapElement: null // The element to trap focus inside of trapElement: null // The element to trap focus inside of
}; };
const DefaultType$7 = { const DefaultType$7 = {
autofocus: 'boolean', autofocus: 'boolean',
trapElement: 'element' trapElement: 'element'
@ -2383,11 +2295,110 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): modal.js * Bootstrap util/scrollBar.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/**
* Constants
*/
const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
const SELECTOR_STICKY_CONTENT = '.sticky-top';
const PROPERTY_PADDING = 'padding-right';
const PROPERTY_MARGIN = 'margin-right';
/**
* Class definition
*/
class ScrollBarHelper {
constructor() {
this._element = document.body;
}
// Public
getWidth() {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
const documentWidth = document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
}
hide() {
const width = this.getWidth();
this._disableOverFlow();
// give padding to element to balance the hidden scrollbar width
this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
// trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);
}
reset() {
this._resetElementAttributes(this._element, 'overflow');
this._resetElementAttributes(this._element, PROPERTY_PADDING);
this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);
this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);
}
isOverflowing() {
return this.getWidth() > 0;
}
// Private
_disableOverFlow() {
this._saveInitialAttribute(this._element, 'overflow');
this._element.style.overflow = 'hidden';
}
_setElementAttributes(selector, styleProperty, callback) {
const scrollbarWidth = this.getWidth();
const manipulationCallBack = element => {
if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
return;
}
this._saveInitialAttribute(element, styleProperty);
const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);
element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_saveInitialAttribute(element, styleProperty) {
const actualValue = element.style.getPropertyValue(styleProperty);
if (actualValue) {
Manipulator.setDataAttribute(element, styleProperty, actualValue);
}
}
_resetElementAttributes(selector, styleProperty) {
const manipulationCallBack = element => {
const value = Manipulator.getDataAttribute(element, styleProperty);
// We only want to remove the property if the value is `null`; the value can also be zero
if (value === null) {
element.style.removeProperty(styleProperty);
return;
}
Manipulator.removeDataAttribute(element, styleProperty);
element.style.setProperty(styleProperty, value);
};
this._applyManipulationCallback(selector, manipulationCallBack);
}
_applyManipulationCallback(selector, callBack) {
if (isElement(selector)) {
callBack(selector);
return;
}
for (const sel of SelectorEngine.find(selector, this._element)) {
callBack(sel);
}
}
}
/**
* --------------------------------------------------------------------------
* Bootstrap modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/** /**
* Constants * Constants
*/ */
@ -2489,9 +2500,8 @@
this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());
} }
dispose() { dispose() {
for (const htmlElement of [window, this._dialog]) { EventHandler.off(window, EVENT_KEY$4);
EventHandler.off(htmlElement, EVENT_KEY$4); EventHandler.off(this._dialog, EVENT_KEY$4);
}
this._backdrop.dispose(); this._backdrop.dispose();
this._focustrap.deactivate(); this._focustrap.deactivate();
super.dispose(); super.dispose();
@ -2546,7 +2556,6 @@
return; return;
} }
if (this._config.keyboard) { if (this._config.keyboard) {
event.preventDefault();
this.hide(); this.hide();
return; return;
} }
@ -2689,11 +2698,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): offcanvas.js * Bootstrap offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -2847,11 +2857,11 @@
if (event.key !== ESCAPE_KEY) { if (event.key !== ESCAPE_KEY) {
return; return;
} }
if (!this._config.keyboard) { if (this._config.keyboard) {
EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); this.hide();
return; return;
} }
this.hide(); EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
}); });
} }
@ -2919,39 +2929,13 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/sanitizer.js * Bootstrap util/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); // js-docs-start allow-list
const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
/**
* A pattern that recognizes a commonly useful subset of URLs that are safe.
*
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
*/
const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;
/**
* A pattern that matches safe data URLs. Only matches image, video and audio types.
*
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
*/
const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
const allowedAttribute = (attribute, allowedAttributeList) => {
const attributeName = attribute.nodeName.toLowerCase();
if (allowedAttributeList.includes(attributeName)) {
if (uriAttributes.has(attributeName)) {
return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue));
}
return true;
}
// Check if a regular expression validates the attribute.
return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));
};
const DefaultAllowlist = { const DefaultAllowlist = {
// Global attributes allowed on any supplied element below. // Global attributes allowed on any supplied element below.
'*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
@ -2961,7 +2945,10 @@
br: [], br: [],
col: [], col: [],
code: [], code: [],
dd: [],
div: [], div: [],
dl: [],
dt: [],
em: [], em: [],
hr: [], hr: [],
h1: [], h1: [],
@ -2985,6 +2972,30 @@
u: [], u: [],
ul: [] ul: []
}; };
// js-docs-end allow-list
const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);
/**
* A pattern that recognizes URLs that are safe wrt. XSS in URL navigation
* contexts.
*
* Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38
*/
// eslint-disable-next-line unicorn/better-regex
const SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i;
const allowedAttribute = (attribute, allowedAttributeList) => {
const attributeName = attribute.nodeName.toLowerCase();
if (allowedAttributeList.includes(attributeName)) {
if (uriAttributes.has(attributeName)) {
return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue));
}
return true;
}
// Check if a regular expression validates the attribute.
return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));
};
function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
if (!unsafeHtml.length) { if (!unsafeHtml.length) {
return unsafeHtml; return unsafeHtml;
@ -3014,11 +3025,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): util/template-factory.js * Bootstrap util/template-factory.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -3149,11 +3161,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): tooltip.js * Bootstrap tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -3196,7 +3209,7 @@
delay: 0, delay: 0,
fallbackPlacements: ['top', 'right', 'bottom', 'left'], fallbackPlacements: ['top', 'right', 'bottom', 'left'],
html: false, html: false,
offset: [0, 0], offset: [0, 6],
placement: 'top', placement: 'top',
popperConfig: null, popperConfig: null,
sanitize: true, sanitize: true,
@ -3309,7 +3322,7 @@
return; return;
} }
// todo v6 remove this OR make it optional // TODO: v6 remove this or make it optional
this._disposePopper(); this._disposePopper();
const tip = this._getTipElement(); const tip = this._getTipElement();
this._element.setAttribute('aria-describedby', tip.getAttribute('id')); this._element.setAttribute('aria-describedby', tip.getAttribute('id'));
@ -3395,12 +3408,12 @@
_createTipElement(content) { _createTipElement(content) {
const tip = this._getTemplateFactory(content).toHtml(); const tip = this._getTemplateFactory(content).toHtml();
// todo: remove this check on v6 // TODO: remove this check in v6
if (!tip) { if (!tip) {
return null; return null;
} }
tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2);
// todo: on v6 the following can be achieved with CSS only // TODO: v6 the following can be achieved with CSS only
tip.classList.add(`bs-${this.constructor.NAME}-auto`); tip.classList.add(`bs-${this.constructor.NAME}-auto`);
const tipId = getUID(this.constructor.NAME).toString(); const tipId = getUID(this.constructor.NAME).toString();
tip.setAttribute('id', tipId); tip.setAttribute('id', tipId);
@ -3660,11 +3673,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): popover.js * Bootstrap popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -3740,11 +3754,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): scrollspy.js * Bootstrap scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -3923,11 +3938,11 @@
if (!anchor.hash || isDisabled(anchor)) { if (!anchor.hash || isDisabled(anchor)) {
continue; continue;
} }
const observableSection = SelectorEngine.findOne(anchor.hash, this._element); const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element);
// ensure that the observableSection exists & is visible // ensure that the observableSection exists & is visible
if (isVisible(observableSection)) { if (isVisible(observableSection)) {
this._targetLinks.set(anchor.hash, anchor); this._targetLinks.set(decodeURI(anchor.hash), anchor);
this._observableSections.set(anchor.hash, observableSection); this._observableSections.set(anchor.hash, observableSection);
} }
} }
@ -3999,11 +4014,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): tab.js * Bootstrap tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -4022,17 +4038,19 @@
const ARROW_RIGHT_KEY = 'ArrowRight'; const ARROW_RIGHT_KEY = 'ArrowRight';
const ARROW_UP_KEY = 'ArrowUp'; const ARROW_UP_KEY = 'ArrowUp';
const ARROW_DOWN_KEY = 'ArrowDown'; const ARROW_DOWN_KEY = 'ArrowDown';
const HOME_KEY = 'Home';
const END_KEY = 'End';
const CLASS_NAME_ACTIVE = 'active'; const CLASS_NAME_ACTIVE = 'active';
const CLASS_NAME_FADE$1 = 'fade'; const CLASS_NAME_FADE$1 = 'fade';
const CLASS_NAME_SHOW$1 = 'show'; const CLASS_NAME_SHOW$1 = 'show';
const CLASS_DROPDOWN = 'dropdown'; const CLASS_DROPDOWN = 'dropdown';
const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
const SELECTOR_DROPDOWN_MENU = '.dropdown-menu'; const SELECTOR_DROPDOWN_MENU = '.dropdown-menu';
const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)'; const NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`;
const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
const SELECTOR_OUTER = '.nav-item, .list-group-item'; const SELECTOR_OUTER = '.nav-item, .list-group-item';
const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`; const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`;
const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // todo:v6: could be only `tab` const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // TODO: could only be `tab` in v6
const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`; const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`;
const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`; const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`;
@ -4046,7 +4064,7 @@
this._parent = this._element.closest(SELECTOR_TAB_PANEL); this._parent = this._element.closest(SELECTOR_TAB_PANEL);
if (!this._parent) { if (!this._parent) {
return; return;
// todo: should Throw exception on v6 // TODO: should throw exception in v6
// throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`) // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)
} }
@ -4128,13 +4146,19 @@
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
} }
_keydown(event) { _keydown(event) {
if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) { if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key)) {
return; return;
} }
event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page
event.preventDefault(); event.preventDefault();
const children = this._getChildren().filter(element => !isDisabled(element));
let nextActiveElement;
if ([HOME_KEY, END_KEY].includes(event.key)) {
nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1];
} else {
const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key); const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key);
const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true); nextActiveElement = getNextActiveElement(children, event.target, isNext, true);
}
if (nextActiveElement) { if (nextActiveElement) {
nextActiveElement.focus({ nextActiveElement.focus({
preventScroll: true preventScroll: true
@ -4178,7 +4202,7 @@
} }
this._setAttributeIfNotExists(target, 'role', 'tabpanel'); this._setAttributeIfNotExists(target, 'role', 'tabpanel');
if (child.id) { if (child.id) {
this._setAttributeIfNotExists(target, 'aria-labelledby', `#${child.id}`); this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`);
} }
} }
_toggleDropDown(element, open) { _toggleDropDown(element, open) {
@ -4260,11 +4284,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): toast.js * Bootstrap toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -4443,10 +4468,11 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): index.umd.js * Bootstrap index.umd.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
const index_umd = { const index_umd = {
Alert, Alert,
Button, Button,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,6 +8,8 @@ security:
getenv: getenv:
- ^HUGO_ - ^HUGO_
- NETLIFY - NETLIFY
gotemplates:
allowActionJSTmpl: true
markup: markup:
goldmark: goldmark:
@ -52,10 +54,10 @@ params:
description: "Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins." description: "Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."
authors: "Mark Otto, Jacob Thornton, and Bootstrap contributors" authors: "Mark Otto, Jacob Thornton, and Bootstrap contributors"
current_version: "5.3.0-alpha1" current_version: "5.3.3"
current_ruby_version: "5.3.0-alpha1" current_ruby_version: "5.3.3"
docs_version: "5.3" docs_version: "5.3"
rfs_version: "v9.0.6" rfs_version: "v10.0.0"
github_org: "https://github.com/twbs" github_org: "https://github.com/twbs"
repo: "https://github.com/twbs/bootstrap" repo: "https://github.com/twbs/bootstrap"
twitter: "getbootstrap" twitter: "getbootstrap"
@ -66,23 +68,23 @@ params:
swag: "https://cottonbureau.com/people/bootstrap" swag: "https://cottonbureau.com/people/bootstrap"
download: download:
source: "https://github.com/twbs/bootstrap/archive/v5.3.0-alpha1.zip" source: "https://github.com/twbs/bootstrap/archive/v5.3.3.zip"
dist: "https://github.com/twbs/bootstrap/releases/download/v5.3.0-alpha1/bootstrap-5.3.0-alpha1-dist.zip" dist: "https://github.com/twbs/bootstrap/releases/download/v5.3.3/bootstrap-5.3.3-dist.zip"
dist_examples: "https://github.com/twbs/bootstrap/releases/download/v5.3.0-alpha1/bootstrap-5.3.0-alpha1-examples.zip" dist_examples: "https://github.com/twbs/bootstrap/releases/download/v5.3.3/bootstrap-5.3.3-examples.zip"
cdn: cdn:
# See https://www.srihash.org for info on how to generate the hashes # See https://www.srihash.org for info on how to generate the hashes
css: "https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" css: "https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
css_hash: "sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" css_hash: "sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
css_rtl: "https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.rtl.min.css" css_rtl: "https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.rtl.min.css"
css_rtl_hash: "sha384-WJUUqfoMmnfkBLne5uxXj+na/c7sesSJ32gI7GfCk4zO4GthUKhSEGyvQ839BC51" css_rtl_hash: "sha384-dpuaG1suU0eT09tx5plTaGMLBsfDLzUCCUXOY2j/LSvXYuG6Bqs43ALlhIqAJVRb"
js: "https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.min.js" js: "https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js"
js_hash: "sha384-mQ93GR66B00ZXjt0YO5KlohRA5SY2XofN4zfuZxLkoj1gXtW8ANNCe9d5Y3eG5eD" js_hash: "sha384-0pUGZvbkm6XF6gxjEnlmuGrJXVbNuzT9qBBavbLwCsOGabYfZo0T0to5eqruptLy"
js_bundle: "https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js" js_bundle: "https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
js_bundle_hash: "sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" js_bundle_hash: "sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
popper: "https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js" popper: "https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js"
popper_hash: "sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" popper_hash: "sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r"
popper_esm: "https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/esm/popper.min.js" popper_esm: "https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/esm/popper.min.js"
anchors: anchors:
min: 2 min: 2

View File

@ -1,26 +0,0 @@
{
"extends": "../.eslintrc.json",
"env": {
"es2022": true
},
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"overrides": [
{
"files": [
"./*.js",
"./src/**/*.js"
],
"rules": {
"import/extensions": [
2,
{
"js": "always"
}
]
}
}
]
}

15
js/dist/alert.js vendored
View File

@ -1,21 +1,22 @@
/*! /*!
* Bootstrap alert.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap alert.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index.js'), require('./dom/event-handler.js'), require('./base-component.js'), require('./util/component-functions.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./util/component-functions.js'), require('./util/index.js')) :
typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './base-component', './util/component-functions'], factory) : typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './util/component-functions', './util/index'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.Index, global.EventHandler, global.BaseComponent, global.ComponentFunctions)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.BaseComponent, global.EventHandler, global.ComponentFunctions, global.Index));
})(this, (function (index_js, EventHandler, BaseComponent, componentFunctions_js) { 'use strict'; })(this, (function (BaseComponent, EventHandler, componentFunctions_js, index_js) { 'use strict';
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): alert.js * Bootstrap alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */

View File

@ -1 +1 @@
{"version":3,"file":"alert.js","sources":["../src/alert.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport BaseComponent from './base-component.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n"],"names":["NAME","DATA_KEY","EVENT_KEY","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","BaseComponent","close","closeEvent","EventHandler","trigger","_element","defaultPrevented","classList","remove","isAnimated","contains","_queueCallback","_destroyElement","dispose","jQueryInterface","config","each","data","getOrCreateInstance","undefined","startsWith","TypeError","enableDismissTrigger","defineJQueryPlugin"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAOA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,OAAO,CAAA;EACpB,MAAMC,QAAQ,GAAG,UAAU,CAAA;EAC3B,MAAMC,SAAS,GAAI,CAAGD,CAAAA,EAAAA,QAAS,CAAC,CAAA,CAAA;EAEhC,MAAME,WAAW,GAAI,CAAOD,KAAAA,EAAAA,SAAU,CAAC,CAAA,CAAA;EACvC,MAAME,YAAY,GAAI,CAAQF,MAAAA,EAAAA,SAAU,CAAC,CAAA,CAAA;EACzC,MAAMG,eAAe,GAAG,MAAM,CAAA;EAC9B,MAAMC,eAAe,GAAG,MAAM,CAAA;;EAE9B;EACA;EACA;;EAEA,MAAMC,KAAK,SAASC,aAAa,CAAC;EAChC;EACA,EAAA,WAAWR,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAI,CAAA;EACb,GAAA;;EAEA;EACAS,EAAAA,KAAK,GAAG;MACN,MAAMC,UAAU,GAAGC,YAAY,CAACC,OAAO,CAAC,IAAI,CAACC,QAAQ,EAAEV,WAAW,CAAC,CAAA;MAEnE,IAAIO,UAAU,CAACI,gBAAgB,EAAE;EAC/B,MAAA,OAAA;EACF,KAAA;MAEA,IAAI,CAACD,QAAQ,CAACE,SAAS,CAACC,MAAM,CAACV,eAAe,CAAC,CAAA;MAE/C,MAAMW,UAAU,GAAG,IAAI,CAACJ,QAAQ,CAACE,SAAS,CAACG,QAAQ,CAACb,eAAe,CAAC,CAAA;EACpE,IAAA,IAAI,CAACc,cAAc,CAAC,MAAM,IAAI,CAACC,eAAe,EAAE,EAAE,IAAI,CAACP,QAAQ,EAAEI,UAAU,CAAC,CAAA;EAC9E,GAAA;;EAEA;EACAG,EAAAA,eAAe,GAAG;EAChB,IAAA,IAAI,CAACP,QAAQ,CAACG,MAAM,EAAE,CAAA;MACtBL,YAAY,CAACC,OAAO,CAAC,IAAI,CAACC,QAAQ,EAAET,YAAY,CAAC,CAAA;MACjD,IAAI,CAACiB,OAAO,EAAE,CAAA;EAChB,GAAA;;EAEA;IACA,OAAOC,eAAe,CAACC,MAAM,EAAE;EAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAAC,YAAY;EAC3B,MAAA,MAAMC,IAAI,GAAGlB,KAAK,CAACmB,mBAAmB,CAAC,IAAI,CAAC,CAAA;EAE5C,MAAA,IAAI,OAAOH,MAAM,KAAK,QAAQ,EAAE;EAC9B,QAAA,OAAA;EACF,OAAA;EAEA,MAAA,IAAIE,IAAI,CAACF,MAAM,CAAC,KAAKI,SAAS,IAAIJ,MAAM,CAACK,UAAU,CAAC,GAAG,CAAC,IAAIL,MAAM,KAAK,aAAa,EAAE;EACpF,QAAA,MAAM,IAAIM,SAAS,CAAE,CAAmBN,iBAAAA,EAAAA,MAAO,GAAE,CAAC,CAAA;EACpD,OAAA;EAEAE,MAAAA,IAAI,CAACF,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;EACpB,KAAC,CAAC,CAAA;EACJ,GAAA;EACF,CAAA;;EAEA;EACA;EACA;;AAEAO,4CAAoB,CAACvB,KAAK,EAAE,OAAO,CAAC,CAAA;;EAEpC;EACA;EACA;;AAEAwB,6BAAkB,CAACxB,KAAK,CAAC;;;;;;;;"} {"version":3,"file":"alert.js","sources":["../src/alert.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n"],"names":["NAME","DATA_KEY","EVENT_KEY","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","BaseComponent","close","closeEvent","EventHandler","trigger","_element","defaultPrevented","classList","remove","isAnimated","contains","_queueCallback","_destroyElement","dispose","jQueryInterface","config","each","data","getOrCreateInstance","undefined","startsWith","TypeError","enableDismissTrigger","defineJQueryPlugin"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;;EAOA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,OAAO,CAAA;EACpB,MAAMC,QAAQ,GAAG,UAAU,CAAA;EAC3B,MAAMC,SAAS,GAAI,CAAGD,CAAAA,EAAAA,QAAS,CAAC,CAAA,CAAA;EAEhC,MAAME,WAAW,GAAI,CAAOD,KAAAA,EAAAA,SAAU,CAAC,CAAA,CAAA;EACvC,MAAME,YAAY,GAAI,CAAQF,MAAAA,EAAAA,SAAU,CAAC,CAAA,CAAA;EACzC,MAAMG,eAAe,GAAG,MAAM,CAAA;EAC9B,MAAMC,eAAe,GAAG,MAAM,CAAA;;EAE9B;EACA;EACA;;EAEA,MAAMC,KAAK,SAASC,aAAa,CAAC;EAChC;IACA,WAAWR,IAAIA,GAAG;EAChB,IAAA,OAAOA,IAAI,CAAA;EACb,GAAA;;EAEA;EACAS,EAAAA,KAAKA,GAAG;MACN,MAAMC,UAAU,GAAGC,YAAY,CAACC,OAAO,CAAC,IAAI,CAACC,QAAQ,EAAEV,WAAW,CAAC,CAAA;MAEnE,IAAIO,UAAU,CAACI,gBAAgB,EAAE;EAC/B,MAAA,OAAA;EACF,KAAA;MAEA,IAAI,CAACD,QAAQ,CAACE,SAAS,CAACC,MAAM,CAACV,eAAe,CAAC,CAAA;MAE/C,MAAMW,UAAU,GAAG,IAAI,CAACJ,QAAQ,CAACE,SAAS,CAACG,QAAQ,CAACb,eAAe,CAAC,CAAA;EACpE,IAAA,IAAI,CAACc,cAAc,CAAC,MAAM,IAAI,CAACC,eAAe,EAAE,EAAE,IAAI,CAACP,QAAQ,EAAEI,UAAU,CAAC,CAAA;EAC9E,GAAA;;EAEA;EACAG,EAAAA,eAAeA,GAAG;EAChB,IAAA,IAAI,CAACP,QAAQ,CAACG,MAAM,EAAE,CAAA;MACtBL,YAAY,CAACC,OAAO,CAAC,IAAI,CAACC,QAAQ,EAAET,YAAY,CAAC,CAAA;MACjD,IAAI,CAACiB,OAAO,EAAE,CAAA;EAChB,GAAA;;EAEA;IACA,OAAOC,eAAeA,CAACC,MAAM,EAAE;EAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAAC,YAAY;EAC3B,MAAA,MAAMC,IAAI,GAAGlB,KAAK,CAACmB,mBAAmB,CAAC,IAAI,CAAC,CAAA;EAE5C,MAAA,IAAI,OAAOH,MAAM,KAAK,QAAQ,EAAE;EAC9B,QAAA,OAAA;EACF,OAAA;EAEA,MAAA,IAAIE,IAAI,CAACF,MAAM,CAAC,KAAKI,SAAS,IAAIJ,MAAM,CAACK,UAAU,CAAC,GAAG,CAAC,IAAIL,MAAM,KAAK,aAAa,EAAE;EACpF,QAAA,MAAM,IAAIM,SAAS,CAAE,CAAmBN,iBAAAA,EAAAA,MAAO,GAAE,CAAC,CAAA;EACpD,OAAA;EAEAE,MAAAA,IAAI,CAACF,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;EACpB,KAAC,CAAC,CAAA;EACJ,GAAA;EACF,CAAA;;EAEA;EACA;EACA;;AAEAO,4CAAoB,CAACvB,KAAK,EAAE,OAAO,CAAC,CAAA;;EAEpC;EACA;EACA;;AAEAwB,6BAAkB,CAACxB,KAAK,CAAC;;;;;;;;"}

View File

@ -1,26 +1,27 @@
/*! /*!
* Bootstrap base-component.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap base-component.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./util/index.js'), require('./dom/event-handler.js'), require('./util/config.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./util/config.js'), require('./util/index.js')) :
typeof define === 'function' && define.amd ? define(['./dom/data', './util/index', './dom/event-handler', './util/config'], factory) : typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './util/config', './util/index'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.BaseComponent = factory(global.Data, global.Index, global.EventHandler, global.Config)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.BaseComponent = factory(global.Data, global.EventHandler, global.Config, global.Index));
})(this, (function (Data, index_js, EventHandler, Config) { 'use strict'; })(this, (function (Data, EventHandler, Config, index_js) { 'use strict';
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): base-component.js * Bootstrap base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
const VERSION = '5.3.0-alpha1'; const VERSION = '5.3.3';
/** /**
* Class definition * Class definition

View File

@ -1 +1 @@
{"version":3,"file":"base-component.js","sources":["../src/base-component.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n"],"names":["VERSION","BaseComponent","Config","constructor","element","config","getElement","_element","_config","_getConfig","Data","set","DATA_KEY","dispose","remove","EventHandler","off","EVENT_KEY","propertyName","Object","getOwnPropertyNames","_queueCallback","callback","isAnimated","executeAfterTransition","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","getInstance","get","getOrCreateInstance","NAME","eventName","name"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAOA;EACA;EACA;;EAEA,MAAMA,OAAO,GAAG,cAAc,CAAA;;EAE9B;EACA;EACA;;EAEA,MAAMC,aAAa,SAASC,MAAM,CAAC;EACjCC,EAAAA,WAAW,CAACC,OAAO,EAAEC,MAAM,EAAE;EAC3B,IAAA,KAAK,EAAE,CAAA;EAEPD,IAAAA,OAAO,GAAGE,mBAAU,CAACF,OAAO,CAAC,CAAA;MAC7B,IAAI,CAACA,OAAO,EAAE;EACZ,MAAA,OAAA;EACF,KAAA;MAEA,IAAI,CAACG,QAAQ,GAAGH,OAAO,CAAA;MACvB,IAAI,CAACI,OAAO,GAAG,IAAI,CAACC,UAAU,CAACJ,MAAM,CAAC,CAAA;EAEtCK,IAAAA,IAAI,CAACC,GAAG,CAAC,IAAI,CAACJ,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACS,QAAQ,EAAE,IAAI,CAAC,CAAA;EAC1D,GAAA;;EAEA;EACAC,EAAAA,OAAO,GAAG;EACRH,IAAAA,IAAI,CAACI,MAAM,CAAC,IAAI,CAACP,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACS,QAAQ,CAAC,CAAA;EACrDG,IAAAA,YAAY,CAACC,GAAG,CAAC,IAAI,CAACT,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACc,SAAS,CAAC,CAAA;MAE3D,KAAK,MAAMC,YAAY,IAAIC,MAAM,CAACC,mBAAmB,CAAC,IAAI,CAAC,EAAE;EAC3D,MAAA,IAAI,CAACF,YAAY,CAAC,GAAG,IAAI,CAAA;EAC3B,KAAA;EACF,GAAA;IAEAG,cAAc,CAACC,QAAQ,EAAElB,OAAO,EAAEmB,UAAU,GAAG,IAAI,EAAE;EACnDC,IAAAA,+BAAsB,CAACF,QAAQ,EAAElB,OAAO,EAAEmB,UAAU,CAAC,CAAA;EACvD,GAAA;IAEAd,UAAU,CAACJ,MAAM,EAAE;MACjBA,MAAM,GAAG,IAAI,CAACoB,eAAe,CAACpB,MAAM,EAAE,IAAI,CAACE,QAAQ,CAAC,CAAA;EACpDF,IAAAA,MAAM,GAAG,IAAI,CAACqB,iBAAiB,CAACrB,MAAM,CAAC,CAAA;EACvC,IAAA,IAAI,CAACsB,gBAAgB,CAACtB,MAAM,CAAC,CAAA;EAC7B,IAAA,OAAOA,MAAM,CAAA;EACf,GAAA;;EAEA;IACA,OAAOuB,WAAW,CAACxB,OAAO,EAAE;EAC1B,IAAA,OAAOM,IAAI,CAACmB,GAAG,CAACvB,mBAAU,CAACF,OAAO,CAAC,EAAE,IAAI,CAACQ,QAAQ,CAAC,CAAA;EACrD,GAAA;IAEA,OAAOkB,mBAAmB,CAAC1B,OAAO,EAAEC,MAAM,GAAG,EAAE,EAAE;MAC/C,OAAO,IAAI,CAACuB,WAAW,CAACxB,OAAO,CAAC,IAAI,IAAI,IAAI,CAACA,OAAO,EAAE,OAAOC,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,IAAI,CAAC,CAAA;EACnG,GAAA;EAEA,EAAA,WAAWL,OAAO,GAAG;EACnB,IAAA,OAAOA,OAAO,CAAA;EAChB,GAAA;EAEA,EAAA,WAAWY,QAAQ,GAAG;EACpB,IAAA,OAAQ,CAAK,GAAA,EAAA,IAAI,CAACmB,IAAK,CAAC,CAAA,CAAA;EAC1B,GAAA;EAEA,EAAA,WAAWd,SAAS,GAAG;EACrB,IAAA,OAAQ,CAAG,CAAA,EAAA,IAAI,CAACL,QAAS,CAAC,CAAA,CAAA;EAC5B,GAAA;IAEA,OAAOoB,SAAS,CAACC,IAAI,EAAE;EACrB,IAAA,OAAQ,GAAEA,IAAK,CAAA,EAAE,IAAI,CAAChB,SAAU,CAAC,CAAA,CAAA;EACnC,GAAA;EACF;;;;;;;;"} {"version":3,"file":"base-component.js","sources":["../src/base-component.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.3'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n"],"names":["VERSION","BaseComponent","Config","constructor","element","config","getElement","_element","_config","_getConfig","Data","set","DATA_KEY","dispose","remove","EventHandler","off","EVENT_KEY","propertyName","Object","getOwnPropertyNames","_queueCallback","callback","isAnimated","executeAfterTransition","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","getInstance","get","getOrCreateInstance","NAME","eventName","name"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;;EAOA;EACA;EACA;;EAEA,MAAMA,OAAO,GAAG,OAAO,CAAA;;EAEvB;EACA;EACA;;EAEA,MAAMC,aAAa,SAASC,MAAM,CAAC;EACjCC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,MAAM,EAAE;EAC3B,IAAA,KAAK,EAAE,CAAA;EAEPD,IAAAA,OAAO,GAAGE,mBAAU,CAACF,OAAO,CAAC,CAAA;MAC7B,IAAI,CAACA,OAAO,EAAE;EACZ,MAAA,OAAA;EACF,KAAA;MAEA,IAAI,CAACG,QAAQ,GAAGH,OAAO,CAAA;MACvB,IAAI,CAACI,OAAO,GAAG,IAAI,CAACC,UAAU,CAACJ,MAAM,CAAC,CAAA;EAEtCK,IAAAA,IAAI,CAACC,GAAG,CAAC,IAAI,CAACJ,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACS,QAAQ,EAAE,IAAI,CAAC,CAAA;EAC1D,GAAA;;EAEA;EACAC,EAAAA,OAAOA,GAAG;EACRH,IAAAA,IAAI,CAACI,MAAM,CAAC,IAAI,CAACP,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACS,QAAQ,CAAC,CAAA;EACrDG,IAAAA,YAAY,CAACC,GAAG,CAAC,IAAI,CAACT,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACc,SAAS,CAAC,CAAA;MAE3D,KAAK,MAAMC,YAAY,IAAIC,MAAM,CAACC,mBAAmB,CAAC,IAAI,CAAC,EAAE;EAC3D,MAAA,IAAI,CAACF,YAAY,CAAC,GAAG,IAAI,CAAA;EAC3B,KAAA;EACF,GAAA;IAEAG,cAAcA,CAACC,QAAQ,EAAElB,OAAO,EAAEmB,UAAU,GAAG,IAAI,EAAE;EACnDC,IAAAA,+BAAsB,CAACF,QAAQ,EAAElB,OAAO,EAAEmB,UAAU,CAAC,CAAA;EACvD,GAAA;IAEAd,UAAUA,CAACJ,MAAM,EAAE;MACjBA,MAAM,GAAG,IAAI,CAACoB,eAAe,CAACpB,MAAM,EAAE,IAAI,CAACE,QAAQ,CAAC,CAAA;EACpDF,IAAAA,MAAM,GAAG,IAAI,CAACqB,iBAAiB,CAACrB,MAAM,CAAC,CAAA;EACvC,IAAA,IAAI,CAACsB,gBAAgB,CAACtB,MAAM,CAAC,CAAA;EAC7B,IAAA,OAAOA,MAAM,CAAA;EACf,GAAA;;EAEA;IACA,OAAOuB,WAAWA,CAACxB,OAAO,EAAE;EAC1B,IAAA,OAAOM,IAAI,CAACmB,GAAG,CAACvB,mBAAU,CAACF,OAAO,CAAC,EAAE,IAAI,CAACQ,QAAQ,CAAC,CAAA;EACrD,GAAA;IAEA,OAAOkB,mBAAmBA,CAAC1B,OAAO,EAAEC,MAAM,GAAG,EAAE,EAAE;MAC/C,OAAO,IAAI,CAACuB,WAAW,CAACxB,OAAO,CAAC,IAAI,IAAI,IAAI,CAACA,OAAO,EAAE,OAAOC,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,IAAI,CAAC,CAAA;EACnG,GAAA;IAEA,WAAWL,OAAOA,GAAG;EACnB,IAAA,OAAOA,OAAO,CAAA;EAChB,GAAA;IAEA,WAAWY,QAAQA,GAAG;EACpB,IAAA,OAAQ,CAAK,GAAA,EAAA,IAAI,CAACmB,IAAK,CAAC,CAAA,CAAA;EAC1B,GAAA;IAEA,WAAWd,SAASA,GAAG;EACrB,IAAA,OAAQ,CAAG,CAAA,EAAA,IAAI,CAACL,QAAS,CAAC,CAAA,CAAA;EAC5B,GAAA;IAEA,OAAOoB,SAASA,CAACC,IAAI,EAAE;EACrB,IAAA,OAAQ,GAAEA,IAAK,CAAA,EAAE,IAAI,CAAChB,SAAU,CAAC,CAAA,CAAA;EACnC,GAAA;EACF;;;;;;;;"}

15
js/dist/button.js vendored
View File

@ -1,21 +1,22 @@
/*! /*!
* Bootstrap button.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap button.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index.js'), require('./dom/event-handler.js'), require('./base-component.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./util/index.js')) :
typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './base-component'], factory) : typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './util/index'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.Index, global.EventHandler, global.BaseComponent)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.BaseComponent, global.EventHandler, global.Index));
})(this, (function (index_js, EventHandler, BaseComponent) { 'use strict'; })(this, (function (BaseComponent, EventHandler, index_js) { 'use strict';
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): button.js * Bootstrap button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */

View File

@ -1 +1 @@
{"version":3,"file":"button.js","sources":["../src/button.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index.js'\nimport EventHandler from './dom/event-handler.js'\nimport BaseComponent from './base-component.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","BaseComponent","toggle","_element","setAttribute","classList","jQueryInterface","config","each","data","getOrCreateInstance","EventHandler","on","document","event","preventDefault","button","target","closest","defineJQueryPlugin"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAMA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,QAAQ,CAAA;EACrB,MAAMC,QAAQ,GAAG,WAAW,CAAA;EAC5B,MAAMC,SAAS,GAAI,CAAGD,CAAAA,EAAAA,QAAS,CAAC,CAAA,CAAA;EAChC,MAAME,YAAY,GAAG,WAAW,CAAA;EAEhC,MAAMC,iBAAiB,GAAG,QAAQ,CAAA;EAClC,MAAMC,oBAAoB,GAAG,2BAA2B,CAAA;EACxD,MAAMC,oBAAoB,GAAI,CAAA,KAAA,EAAOJ,SAAU,CAAA,EAAEC,YAAa,CAAC,CAAA,CAAA;;EAE/D;EACA;EACA;;EAEA,MAAMI,MAAM,SAASC,aAAa,CAAC;EACjC;EACA,EAAA,WAAWR,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAI,CAAA;EACb,GAAA;;EAEA;EACAS,EAAAA,MAAM,GAAG;EACP;EACA,IAAA,IAAI,CAACC,QAAQ,CAACC,YAAY,CAAC,cAAc,EAAE,IAAI,CAACD,QAAQ,CAACE,SAAS,CAACH,MAAM,CAACL,iBAAiB,CAAC,CAAC,CAAA;EAC/F,GAAA;;EAEA;IACA,OAAOS,eAAe,CAACC,MAAM,EAAE;EAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAAC,YAAY;EAC3B,MAAA,MAAMC,IAAI,GAAGT,MAAM,CAACU,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAE7C,IAAIH,MAAM,KAAK,QAAQ,EAAE;UACvBE,IAAI,CAACF,MAAM,CAAC,EAAE,CAAA;EAChB,OAAA;EACF,KAAC,CAAC,CAAA;EACJ,GAAA;EACF,CAAA;;EAEA;EACA;EACA;;EAEAI,YAAY,CAACC,EAAE,CAACC,QAAQ,EAAEd,oBAAoB,EAAED,oBAAoB,EAAEgB,KAAK,IAAI;IAC7EA,KAAK,CAACC,cAAc,EAAE,CAAA;IAEtB,MAAMC,MAAM,GAAGF,KAAK,CAACG,MAAM,CAACC,OAAO,CAACpB,oBAAoB,CAAC,CAAA;EACzD,EAAA,MAAMW,IAAI,GAAGT,MAAM,CAACU,mBAAmB,CAACM,MAAM,CAAC,CAAA;IAE/CP,IAAI,CAACP,MAAM,EAAE,CAAA;EACf,CAAC,CAAC,CAAA;;EAEF;EACA;EACA;;AAEAiB,6BAAkB,CAACnB,MAAM,CAAC;;;;;;;;"} {"version":3,"file":"button.js","sources":["../src/button.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","BaseComponent","toggle","_element","setAttribute","classList","jQueryInterface","config","each","data","getOrCreateInstance","EventHandler","on","document","event","preventDefault","button","target","closest","defineJQueryPlugin"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;;EAMA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,QAAQ,CAAA;EACrB,MAAMC,QAAQ,GAAG,WAAW,CAAA;EAC5B,MAAMC,SAAS,GAAI,CAAGD,CAAAA,EAAAA,QAAS,CAAC,CAAA,CAAA;EAChC,MAAME,YAAY,GAAG,WAAW,CAAA;EAEhC,MAAMC,iBAAiB,GAAG,QAAQ,CAAA;EAClC,MAAMC,oBAAoB,GAAG,2BAA2B,CAAA;EACxD,MAAMC,oBAAoB,GAAI,CAAA,KAAA,EAAOJ,SAAU,CAAA,EAAEC,YAAa,CAAC,CAAA,CAAA;;EAE/D;EACA;EACA;;EAEA,MAAMI,MAAM,SAASC,aAAa,CAAC;EACjC;IACA,WAAWR,IAAIA,GAAG;EAChB,IAAA,OAAOA,IAAI,CAAA;EACb,GAAA;;EAEA;EACAS,EAAAA,MAAMA,GAAG;EACP;EACA,IAAA,IAAI,CAACC,QAAQ,CAACC,YAAY,CAAC,cAAc,EAAE,IAAI,CAACD,QAAQ,CAACE,SAAS,CAACH,MAAM,CAACL,iBAAiB,CAAC,CAAC,CAAA;EAC/F,GAAA;;EAEA;IACA,OAAOS,eAAeA,CAACC,MAAM,EAAE;EAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAAC,YAAY;EAC3B,MAAA,MAAMC,IAAI,GAAGT,MAAM,CAACU,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAE7C,IAAIH,MAAM,KAAK,QAAQ,EAAE;EACvBE,QAAAA,IAAI,CAACF,MAAM,CAAC,EAAE,CAAA;EAChB,OAAA;EACF,KAAC,CAAC,CAAA;EACJ,GAAA;EACF,CAAA;;EAEA;EACA;EACA;;EAEAI,YAAY,CAACC,EAAE,CAACC,QAAQ,EAAEd,oBAAoB,EAAED,oBAAoB,EAAEgB,KAAK,IAAI;IAC7EA,KAAK,CAACC,cAAc,EAAE,CAAA;IAEtB,MAAMC,MAAM,GAAGF,KAAK,CAACG,MAAM,CAACC,OAAO,CAACpB,oBAAoB,CAAC,CAAA;EACzD,EAAA,MAAMW,IAAI,GAAGT,MAAM,CAACU,mBAAmB,CAACM,MAAM,CAAC,CAAA;IAE/CP,IAAI,CAACP,MAAM,EAAE,CAAA;EACf,CAAC,CAAC,CAAA;;EAEF;EACA;EACA;;AAEAiB,6BAAkB,CAACnB,MAAM,CAAC;;;;;;;;"}

17
js/dist/carousel.js vendored
View File

@ -1,21 +1,22 @@
/*! /*!
* Bootstrap carousel.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap carousel.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./util/swipe.js'), require('./base-component.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./util/index.js'), require('./util/swipe.js')) :
typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './dom/manipulator', './dom/selector-engine', './util/swipe', './base-component'], factory) : typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './dom/manipulator', './dom/selector-engine', './util/index', './util/swipe'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory(global.Index, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Swipe, global.BaseComponent)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory(global.BaseComponent, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Index, global.Swipe));
})(this, (function (index_js, EventHandler, Manipulator, SelectorEngine, Swipe, BaseComponent) { 'use strict'; })(this, (function (BaseComponent, EventHandler, Manipulator, SelectorEngine, index_js, Swipe) { 'use strict';
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): carousel.js * Bootstrap carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -271,7 +272,7 @@
} }
if (!activeElement || !nextElement) { if (!activeElement || !nextElement) {
// Some weirdness is happening, so we bail // Some weirdness is happening, so we bail
// todo: change tests that use empty divs to avoid this check // TODO: change tests that use empty divs to avoid this check
return; return;
} }
const isCycling = Boolean(this._interval); const isCycling = Boolean(this._interval);

File diff suppressed because one or more lines are too long

15
js/dist/collapse.js vendored
View File

@ -1,21 +1,22 @@
/*! /*!
* Bootstrap collapse.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap collapse.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js'), require('./base-component.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js'), require('./util/index.js')) :
typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './dom/selector-engine', './base-component'], factory) : typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './dom/selector-engine', './util/index'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.Index, global.EventHandler, global.SelectorEngine, global.BaseComponent)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.BaseComponent, global.EventHandler, global.SelectorEngine, global.Index));
})(this, (function (index_js, EventHandler, SelectorEngine, BaseComponent) { 'use strict'; })(this, (function (BaseComponent, EventHandler, SelectorEngine, index_js) { 'use strict';
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): collapse.js * Bootstrap collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */

File diff suppressed because one or more lines are too long

6
js/dist/dom/data.js vendored
View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap data.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap data.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
@ -11,7 +11,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/data.js * Bootstrap dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */

View File

@ -1 +1 @@
{"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;;EAEA,MAAMA,UAAU,GAAG,IAAIC,GAAG,EAAE,CAAA;AAE5B,eAAe;EACbC,EAAAA,GAAG,CAACC,OAAO,EAAEC,GAAG,EAAEC,QAAQ,EAAE;EAC1B,IAAA,IAAI,CAACL,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;QAC5BH,UAAU,CAACE,GAAG,CAACC,OAAO,EAAE,IAAIF,GAAG,EAAE,CAAC,CAAA;EACpC,KAAA;EAEA,IAAA,MAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC,CAAA;;EAE3C;EACA;EACA,IAAA,IAAI,CAACI,WAAW,CAACD,GAAG,CAACF,GAAG,CAAC,IAAIG,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;EACnD;EACAC,MAAAA,OAAO,CAACC,KAAK,CAAE,CAA8EC,4EAAAA,EAAAA,KAAK,CAACC,IAAI,CAACN,WAAW,CAACO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,GAAE,CAAC,CAAA;EAClI,MAAA,OAAA;EACF,KAAA;EAEAP,IAAAA,WAAW,CAACL,GAAG,CAACE,GAAG,EAAEC,QAAQ,CAAC,CAAA;KAC/B;EAEDG,EAAAA,GAAG,CAACL,OAAO,EAAEC,GAAG,EAAE;EAChB,IAAA,IAAIJ,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;EAC3B,MAAA,OAAOH,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC,CAACK,GAAG,CAACJ,GAAG,CAAC,IAAI,IAAI,CAAA;EACjD,KAAA;EAEA,IAAA,OAAO,IAAI,CAAA;KACZ;EAEDW,EAAAA,MAAM,CAACZ,OAAO,EAAEC,GAAG,EAAE;EACnB,IAAA,IAAI,CAACJ,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;EAC5B,MAAA,OAAA;EACF,KAAA;EAEA,IAAA,MAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC,CAAA;EAE3CI,IAAAA,WAAW,CAACS,MAAM,CAACZ,GAAG,CAAC,CAAA;;EAEvB;EACA,IAAA,IAAIG,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;EAC1BT,MAAAA,UAAU,CAACgB,MAAM,CAACb,OAAO,CAAC,CAAA;EAC5B,KAAA;EACF,GAAA;EACF,CAAC;;;;;;;;"} {"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;;EAEA,MAAMA,UAAU,GAAG,IAAIC,GAAG,EAAE,CAAA;AAE5B,eAAe;EACbC,EAAAA,GAAGA,CAACC,OAAO,EAAEC,GAAG,EAAEC,QAAQ,EAAE;EAC1B,IAAA,IAAI,CAACL,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;QAC5BH,UAAU,CAACE,GAAG,CAACC,OAAO,EAAE,IAAIF,GAAG,EAAE,CAAC,CAAA;EACpC,KAAA;EAEA,IAAA,MAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC,CAAA;;EAE3C;EACA;EACA,IAAA,IAAI,CAACI,WAAW,CAACD,GAAG,CAACF,GAAG,CAAC,IAAIG,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;EACnD;EACAC,MAAAA,OAAO,CAACC,KAAK,CAAE,+EAA8EC,KAAK,CAACC,IAAI,CAACN,WAAW,CAACO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,GAAE,CAAC,CAAA;EAClI,MAAA,OAAA;EACF,KAAA;EAEAP,IAAAA,WAAW,CAACL,GAAG,CAACE,GAAG,EAAEC,QAAQ,CAAC,CAAA;KAC/B;EAEDG,EAAAA,GAAGA,CAACL,OAAO,EAAEC,GAAG,EAAE;EAChB,IAAA,IAAIJ,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;EAC3B,MAAA,OAAOH,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC,CAACK,GAAG,CAACJ,GAAG,CAAC,IAAI,IAAI,CAAA;EACjD,KAAA;EAEA,IAAA,OAAO,IAAI,CAAA;KACZ;EAEDW,EAAAA,MAAMA,CAACZ,OAAO,EAAEC,GAAG,EAAE;EACnB,IAAA,IAAI,CAACJ,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;EAC5B,MAAA,OAAA;EACF,KAAA;EAEA,IAAA,MAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC,CAAA;EAE3CI,IAAAA,WAAW,CAACS,MAAM,CAACZ,GAAG,CAAC,CAAA;;EAEvB;EACA,IAAA,IAAIG,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;EAC1BT,MAAAA,UAAU,CAACgB,MAAM,CAACb,OAAO,CAAC,CAAA;EAC5B,KAAA;EACF,GAAA;EACF,CAAC;;;;;;;;"}

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap event-handler.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap event-handler.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
@ -11,11 +11,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/event-handler.js * Bootstrap dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -81,7 +82,7 @@
} }
function normalizeParameters(originalTypeEvent, handler, delegationFunction) { function normalizeParameters(originalTypeEvent, handler, delegationFunction) {
const isDelegated = typeof handler === 'string'; const isDelegated = typeof handler === 'string';
// todo: tooltip passes `false` instead of selector, so we need to check // TODO: tooltip passes `false` instead of selector, so we need to check
const callable = isDelegated ? delegationFunction : handler || delegationFunction; const callable = isDelegated ? delegationFunction : handler || delegationFunction;
let typeEvent = getTypeEvent(originalTypeEvent); let typeEvent = getTypeEvent(originalTypeEvent);
if (!nativeEvents.has(typeEvent)) { if (!nativeEvents.has(typeEvent)) {
@ -198,11 +199,10 @@
nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
defaultPrevented = jQueryEvent.isDefaultPrevented(); defaultPrevented = jQueryEvent.isDefaultPrevented();
} }
let evt = new Event(event, { const evt = hydrateObj(new Event(event, {
bubbles, bubbles,
cancelable: true cancelable: true
}); }), args);
evt = hydrateObj(evt, args);
if (defaultPrevented) { if (defaultPrevented) {
evt.preventDefault(); evt.preventDefault();
} }

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap manipulator.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap manipulator.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
@ -11,7 +11,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/manipulator.js * Bootstrap dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */

View File

@ -1 +1 @@
{"version":3,"file":"manipulator.js","sources":["../../src/dom/manipulator.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n"],"names":["normalizeData","value","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","key","replace","chr","toLowerCase","Manipulator","setDataAttribute","element","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","Object","keys","dataset","filter","startsWith","pureKey","charAt","slice","length","getDataAttribute","getAttribute"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA,SAASA,aAAa,CAACC,KAAK,EAAE;IAC5B,IAAIA,KAAK,KAAK,MAAM,EAAE;EACpB,IAAA,OAAO,IAAI,CAAA;EACb,GAAA;IAEA,IAAIA,KAAK,KAAK,OAAO,EAAE;EACrB,IAAA,OAAO,KAAK,CAAA;EACd,GAAA;IAEA,IAAIA,KAAK,KAAKC,MAAM,CAACD,KAAK,CAAC,CAACE,QAAQ,EAAE,EAAE;MACtC,OAAOD,MAAM,CAACD,KAAK,CAAC,CAAA;EACtB,GAAA;EAEA,EAAA,IAAIA,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,MAAM,EAAE;EACpC,IAAA,OAAO,IAAI,CAAA;EACb,GAAA;EAEA,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;EAC7B,IAAA,OAAOA,KAAK,CAAA;EACd,GAAA;IAEA,IAAI;MACF,OAAOG,IAAI,CAACC,KAAK,CAACC,kBAAkB,CAACL,KAAK,CAAC,CAAC,CAAA;EAC9C,GAAC,CAAC,OAAM,OAAA,EAAA;EACN,IAAA,OAAOA,KAAK,CAAA;EACd,GAAA;EACF,CAAA;EAEA,SAASM,gBAAgB,CAACC,GAAG,EAAE;EAC7B,EAAA,OAAOA,GAAG,CAACC,OAAO,CAAC,QAAQ,EAAEC,GAAG,IAAK,CAAA,CAAA,EAAGA,GAAG,CAACC,WAAW,EAAG,EAAC,CAAC,CAAA;EAC9D,CAAA;AAEA,QAAMC,WAAW,GAAG;EAClBC,EAAAA,gBAAgB,CAACC,OAAO,EAAEN,GAAG,EAAEP,KAAK,EAAE;MACpCa,OAAO,CAACC,YAAY,CAAE,CAAUR,QAAAA,EAAAA,gBAAgB,CAACC,GAAG,CAAE,CAAA,CAAC,EAAEP,KAAK,CAAC,CAAA;KAChE;EAEDe,EAAAA,mBAAmB,CAACF,OAAO,EAAEN,GAAG,EAAE;MAChCM,OAAO,CAACG,eAAe,CAAE,CAAA,QAAA,EAAUV,gBAAgB,CAACC,GAAG,CAAE,CAAA,CAAC,CAAC,CAAA;KAC5D;IAEDU,iBAAiB,CAACJ,OAAO,EAAE;MACzB,IAAI,CAACA,OAAO,EAAE;EACZ,MAAA,OAAO,EAAE,CAAA;EACX,KAAA;MAEA,MAAMK,UAAU,GAAG,EAAE,CAAA;EACrB,IAAA,MAAMC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACR,OAAO,CAACS,OAAO,CAAC,CAACC,MAAM,CAAChB,GAAG,IAAIA,GAAG,CAACiB,UAAU,CAAC,IAAI,CAAC,IAAI,CAACjB,GAAG,CAACiB,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;EAE9G,IAAA,KAAK,MAAMjB,GAAG,IAAIY,MAAM,EAAE;QACxB,IAAIM,OAAO,GAAGlB,GAAG,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACpCiB,OAAO,GAAGA,OAAO,CAACC,MAAM,CAAC,CAAC,CAAC,CAAChB,WAAW,EAAE,GAAGe,OAAO,CAACE,KAAK,CAAC,CAAC,EAAEF,OAAO,CAACG,MAAM,CAAC,CAAA;EAC5EV,MAAAA,UAAU,CAACO,OAAO,CAAC,GAAG1B,aAAa,CAACc,OAAO,CAACS,OAAO,CAACf,GAAG,CAAC,CAAC,CAAA;EAC3D,KAAA;EAEA,IAAA,OAAOW,UAAU,CAAA;KAClB;EAEDW,EAAAA,gBAAgB,CAAChB,OAAO,EAAEN,GAAG,EAAE;EAC7B,IAAA,OAAOR,aAAa,CAACc,OAAO,CAACiB,YAAY,CAAE,CAAUxB,QAAAA,EAAAA,gBAAgB,CAACC,GAAG,CAAE,CAAA,CAAC,CAAC,CAAC,CAAA;EAChF,GAAA;EACF;;;;;;;;"} {"version":3,"file":"manipulator.js","sources":["../../src/dom/manipulator.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n"],"names":["normalizeData","value","Number","toString","JSON","parse","decodeURIComponent","_unused","normalizeDataKey","key","replace","chr","toLowerCase","Manipulator","setDataAttribute","element","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","Object","keys","dataset","filter","startsWith","pureKey","charAt","slice","length","getDataAttribute","getAttribute"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA,SAASA,aAAaA,CAACC,KAAK,EAAE;IAC5B,IAAIA,KAAK,KAAK,MAAM,EAAE;EACpB,IAAA,OAAO,IAAI,CAAA;EACb,GAAA;IAEA,IAAIA,KAAK,KAAK,OAAO,EAAE;EACrB,IAAA,OAAO,KAAK,CAAA;EACd,GAAA;IAEA,IAAIA,KAAK,KAAKC,MAAM,CAACD,KAAK,CAAC,CAACE,QAAQ,EAAE,EAAE;MACtC,OAAOD,MAAM,CAACD,KAAK,CAAC,CAAA;EACtB,GAAA;EAEA,EAAA,IAAIA,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,MAAM,EAAE;EACpC,IAAA,OAAO,IAAI,CAAA;EACb,GAAA;EAEA,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;EAC7B,IAAA,OAAOA,KAAK,CAAA;EACd,GAAA;IAEA,IAAI;MACF,OAAOG,IAAI,CAACC,KAAK,CAACC,kBAAkB,CAACL,KAAK,CAAC,CAAC,CAAA;KAC7C,CAAC,OAAAM,OAAA,EAAM;EACN,IAAA,OAAON,KAAK,CAAA;EACd,GAAA;EACF,CAAA;EAEA,SAASO,gBAAgBA,CAACC,GAAG,EAAE;EAC7B,EAAA,OAAOA,GAAG,CAACC,OAAO,CAAC,QAAQ,EAAEC,GAAG,IAAK,CAAA,CAAA,EAAGA,GAAG,CAACC,WAAW,EAAG,EAAC,CAAC,CAAA;EAC9D,CAAA;AAEA,QAAMC,WAAW,GAAG;EAClBC,EAAAA,gBAAgBA,CAACC,OAAO,EAAEN,GAAG,EAAER,KAAK,EAAE;MACpCc,OAAO,CAACC,YAAY,CAAE,CAAUR,QAAAA,EAAAA,gBAAgB,CAACC,GAAG,CAAE,CAAA,CAAC,EAAER,KAAK,CAAC,CAAA;KAChE;EAEDgB,EAAAA,mBAAmBA,CAACF,OAAO,EAAEN,GAAG,EAAE;MAChCM,OAAO,CAACG,eAAe,CAAE,CAAA,QAAA,EAAUV,gBAAgB,CAACC,GAAG,CAAE,CAAA,CAAC,CAAC,CAAA;KAC5D;IAEDU,iBAAiBA,CAACJ,OAAO,EAAE;MACzB,IAAI,CAACA,OAAO,EAAE;EACZ,MAAA,OAAO,EAAE,CAAA;EACX,KAAA;MAEA,MAAMK,UAAU,GAAG,EAAE,CAAA;EACrB,IAAA,MAAMC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACR,OAAO,CAACS,OAAO,CAAC,CAACC,MAAM,CAAChB,GAAG,IAAIA,GAAG,CAACiB,UAAU,CAAC,IAAI,CAAC,IAAI,CAACjB,GAAG,CAACiB,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;EAE9G,IAAA,KAAK,MAAMjB,GAAG,IAAIY,MAAM,EAAE;QACxB,IAAIM,OAAO,GAAGlB,GAAG,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACpCiB,OAAO,GAAGA,OAAO,CAACC,MAAM,CAAC,CAAC,CAAC,CAAChB,WAAW,EAAE,GAAGe,OAAO,CAACE,KAAK,CAAC,CAAC,EAAEF,OAAO,CAACG,MAAM,CAAC,CAAA;EAC5EV,MAAAA,UAAU,CAACO,OAAO,CAAC,GAAG3B,aAAa,CAACe,OAAO,CAACS,OAAO,CAACf,GAAG,CAAC,CAAC,CAAA;EAC3D,KAAA;EAEA,IAAA,OAAOW,UAAU,CAAA;KAClB;EAEDW,EAAAA,gBAAgBA,CAAChB,OAAO,EAAEN,GAAG,EAAE;EAC7B,IAAA,OAAOT,aAAa,CAACe,OAAO,CAACiB,YAAY,CAAE,CAAUxB,QAAAA,EAAAA,gBAAgB,CAACC,GAAG,CAAE,CAAA,CAAC,CAAC,CAAC,CAAA;EAChF,GAAA;EACF;;;;;;;;"}

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap selector-engine.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap selector-engine.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
@ -11,10 +11,11 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dom/selector-engine.js * Bootstrap dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
const getSelector = element => { const getSelector = element => {
let selector = element.getAttribute('data-bs-target'); let selector = element.getAttribute('data-bs-target');
if (!selector || selector === '#') { if (!selector || selector === '#') {
@ -34,7 +35,7 @@
} }
selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null; selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;
} }
return index_js.parseSelector(selector); return selector ? selector.split(',').map(sel => index_js.parseSelector(sel)).join(',') : null;
}; };
const SelectorEngine = { const SelectorEngine = {
find(selector, element = document.documentElement) { find(selector, element = document.documentElement) {

File diff suppressed because one or more lines are too long

21
js/dist/dropdown.js vendored
View File

@ -1,13 +1,13 @@
/*! /*!
* Bootstrap dropdown.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap dropdown.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@popperjs/core'), require('./util/index.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./base-component.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@popperjs/core'), require('./base-component.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./util/index.js')) :
typeof define === 'function' && define.amd ? define(['@popperjs/core', './util/index', './dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) : typeof define === 'function' && define.amd ? define(['@popperjs/core', './base-component', './dom/event-handler', './dom/manipulator', './dom/selector-engine', './util/index'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dropdown = factory(global["@popperjs/core"], global.Index, global.EventHandler, global.Manipulator, global.SelectorEngine, global.BaseComponent)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dropdown = factory(global["@popperjs/core"], global.BaseComponent, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Index));
})(this, (function (Popper, index_js, EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict'; })(this, (function (Popper, BaseComponent, EventHandler, Manipulator, SelectorEngine, index_js) { 'use strict';
function _interopNamespaceDefault(e) { function _interopNamespaceDefault(e) {
const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } }); const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
@ -30,11 +30,12 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): dropdown.js * Bootstrap dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -102,7 +103,7 @@
super(element, config); super(element, config);
this._popper = null; this._popper = null;
this._parent = this._element.parentNode; // dropdown wrapper this._parent = this._element.parentNode; // dropdown wrapper
// todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/ // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
this._inNavbar = this._detectNavbar(); this._inNavbar = this._detectNavbar();
} }
@ -276,7 +277,7 @@
// Disable Popper if we have a static display or Dropdown is in Navbar // Disable Popper if we have a static display or Dropdown is in Navbar
if (this._inNavbar || this._config.display === 'static') { if (this._inNavbar || this._config.display === 'static') {
Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // TODO: v6 remove
defaultBsPopperConfig.modifiers = [{ defaultBsPopperConfig.modifiers = [{
name: 'applyStyles', name: 'applyStyles',
enabled: false enabled: false
@ -358,7 +359,7 @@
} }
event.preventDefault(); event.preventDefault();
// todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/ // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode); const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode);
const instance = Dropdown.getOrCreateInstance(getToggleButton); const instance = Dropdown.getOrCreateInstance(getToggleButton);
if (isUpOrDownEvent) { if (isUpOrDownEvent) {

File diff suppressed because one or more lines are too long

21
js/dist/modal.js vendored
View File

@ -1,21 +1,22 @@
/*! /*!
* Bootstrap modal.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap modal.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js'), require('./util/scrollbar.js'), require('./base-component.js'), require('./util/backdrop.js'), require('./util/focustrap.js'), require('./util/component-functions.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js'), require('./util/backdrop.js'), require('./util/component-functions.js'), require('./util/focustrap.js'), require('./util/index.js'), require('./util/scrollbar.js')) :
typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './dom/selector-engine', './util/scrollbar', './base-component', './util/backdrop', './util/focustrap', './util/component-functions'], factory) : typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './dom/selector-engine', './util/backdrop', './util/component-functions', './util/focustrap', './util/index', './util/scrollbar'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Modal = factory(global.Index, global.EventHandler, global.SelectorEngine, global.Scrollbar, global.BaseComponent, global.Backdrop, global.Focustrap, global.ComponentFunctions)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Modal = factory(global.BaseComponent, global.EventHandler, global.SelectorEngine, global.Backdrop, global.ComponentFunctions, global.Focustrap, global.Index, global.Scrollbar));
})(this, (function (index_js, EventHandler, SelectorEngine, ScrollBarHelper, BaseComponent, Backdrop, FocusTrap, componentFunctions_js) { 'use strict'; })(this, (function (BaseComponent, EventHandler, SelectorEngine, Backdrop, componentFunctions_js, FocusTrap, index_js, ScrollBarHelper) { 'use strict';
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): modal.js * Bootstrap modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -117,9 +118,8 @@
this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());
} }
dispose() { dispose() {
for (const htmlElement of [window, this._dialog]) { EventHandler.off(window, EVENT_KEY);
EventHandler.off(htmlElement, EVENT_KEY); EventHandler.off(this._dialog, EVENT_KEY);
}
this._backdrop.dispose(); this._backdrop.dispose();
this._focustrap.deactivate(); this._focustrap.deactivate();
super.dispose(); super.dispose();
@ -174,7 +174,6 @@
return; return;
} }
if (this._config.keyboard) { if (this._config.keyboard) {
event.preventDefault();
this.hide(); this.hide();
return; return;
} }

File diff suppressed because one or more lines are too long

21
js/dist/offcanvas.js vendored
View File

@ -1,21 +1,22 @@
/*! /*!
* Bootstrap offcanvas.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap offcanvas.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index.js'), require('./util/scrollbar.js'), require('./dom/event-handler.js'), require('./base-component.js'), require('./dom/selector-engine.js'), require('./util/backdrop.js'), require('./util/focustrap.js'), require('./util/component-functions.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js'), require('./util/backdrop.js'), require('./util/component-functions.js'), require('./util/focustrap.js'), require('./util/index.js'), require('./util/scrollbar.js')) :
typeof define === 'function' && define.amd ? define(['./util/index', './util/scrollbar', './dom/event-handler', './base-component', './dom/selector-engine', './util/backdrop', './util/focustrap', './util/component-functions'], factory) : typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './dom/selector-engine', './util/backdrop', './util/component-functions', './util/focustrap', './util/index', './util/scrollbar'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Offcanvas = factory(global.Index, global.Scrollbar, global.EventHandler, global.BaseComponent, global.SelectorEngine, global.Backdrop, global.Focustrap, global.ComponentFunctions)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Offcanvas = factory(global.BaseComponent, global.EventHandler, global.SelectorEngine, global.Backdrop, global.ComponentFunctions, global.Focustrap, global.Index, global.Scrollbar));
})(this, (function (index_js, ScrollBarHelper, EventHandler, BaseComponent, SelectorEngine, Backdrop, FocusTrap, componentFunctions_js) { 'use strict'; })(this, (function (BaseComponent, EventHandler, SelectorEngine, Backdrop, componentFunctions_js, FocusTrap, index_js, ScrollBarHelper) { 'use strict';
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): offcanvas.js * Bootstrap offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */
@ -169,11 +170,11 @@
if (event.key !== ESCAPE_KEY) { if (event.key !== ESCAPE_KEY) {
return; return;
} }
if (!this._config.keyboard) { if (this._config.keyboard) {
EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); this.hide();
return; return;
} }
this.hide(); EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
}); });
} }

File diff suppressed because one or more lines are too long

15
js/dist/popover.js vendored
View File

@ -1,21 +1,22 @@
/*! /*!
* Bootstrap popover.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap popover.js v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index.js'), require('./tooltip.js')) : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./tooltip.js'), require('./util/index.js')) :
typeof define === 'function' && define.amd ? define(['./util/index', './tooltip'], factory) : typeof define === 'function' && define.amd ? define(['./tooltip', './util/index'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.Index, global.Tooltip)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.Tooltip, global.Index));
})(this, (function (index_js, Tooltip) { 'use strict'; })(this, (function (Tooltip, index_js) { 'use strict';
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v5.3.0-alpha1): popover.js * Bootstrap popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/** /**
* Constants * Constants
*/ */

Some files were not shown because too many files have changed in this diff Show More