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

Merge branch 'main' into offcanvas-scroll-back

This commit is contained in:
Patrick H. Lauke 2023-07-12 11:20:21 +01:00 committed by GitHub
commit 2f7510bbb7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
387 changed files with 10822 additions and 8846 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.15 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.1 kB"
} }
], ],
"ci": { "ci": {

View File

@ -108,6 +108,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,
@ -51,17 +80,141 @@
"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": "script"
},
"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

@ -1,20 +1,5 @@
version: 2 version: 2
updates: updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: tuesday
time: "12:00"
timezone: Europe/Athens
open-pull-requests-limit: 10
reviewers:
- XhmikosR
labels:
- dependencies
- v5
versioning-strategy: increase
rebase-strategy: disabled
- package-ecosystem: "github-actions" - package-ecosystem: "github-actions"
directory: "/" directory: "/"
schedule: schedule:
@ -22,3 +7,17 @@ updates:
day: tuesday day: tuesday
time: "12:00" time: "12:00"
timezone: Europe/Athens timezone: Europe/Athens
- package-ecosystem: npm
directory: "/"
reviewers:
- XhmikosR
labels:
- dependencies
- v5
schedule:
interval: weekly
day: tuesday
time: "12:00"
timezone: Europe/Athens
versioning-strategy: increase
rebase-strategy: disabled

View File

@ -2,6 +2,9 @@ name: BrowserStack
on: on:
push: push:
branches:
- "**"
- "!dependabot/**"
workflow_dispatch: workflow_dispatch:
env: env:
@ -14,7 +17,7 @@ permissions:
jobs: jobs:
browserstack: browserstack:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository == 'twbs/bootstrap' && (!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')) if: github.repository == 'twbs/bootstrap'
timeout-minutes: 30 timeout-minutes: 30
steps: steps:

View File

@ -2,8 +2,8 @@ name: Bundlewatch
on: on:
push: push:
branches-ignore: branches:
- "dependabot/**" - main
pull_request: pull_request:
workflow_dispatch: workflow_dispatch:

View File

@ -12,7 +12,7 @@ on:
- v4-dev - v4-dev
- "!dependabot/**" - "!dependabot/**"
schedule: schedule:
- cron: "0 2 * * 5" - cron: "0 2 * * 4"
workflow_dispatch: workflow_dispatch:
jobs: jobs:
@ -20,8 +20,6 @@ jobs:
name: Analyze name: Analyze
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
actions: read
contents: read
security-events: write security-events: write
steps: steps:

View File

@ -2,8 +2,8 @@ name: cspell
on: on:
push: push:
branches-ignore: branches:
- "dependabot/**" - main
pull_request: pull_request:
workflow_dispatch: workflow_dispatch:

View File

@ -2,8 +2,8 @@ name: CSS
on: on:
push: push:
branches-ignore: branches:
- "dependabot/**" - main
pull_request: pull_request:
workflow_dispatch: workflow_dispatch:

View File

@ -2,8 +2,8 @@ name: Docs
on: on:
push: push:
branches-ignore: branches:
- "dependabot/**" - main
pull_request: pull_request:
workflow_dispatch: workflow_dispatch:

View File

@ -2,8 +2,8 @@ name: JS Tests
on: on:
push: push:
branches-ignore: branches:
- "dependabot/**" - main
pull_request: pull_request:
workflow_dispatch: workflow_dispatch:
@ -45,7 +45,7 @@ jobs:
run: npm run js-test run: npm run js-test
- name: Run Coveralls - name: Run Coveralls
uses: coverallsapp/github-action@v1.2.2 uses: coverallsapp/github-action@v2
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

@ -2,8 +2,8 @@ name: Lint
on: on:
push: push:
branches-ignore: branches:
- "dependabot/**" - main
pull_request: pull_request:
workflow_dispatch: workflow_dispatch:

View File

@ -2,8 +2,8 @@ name: CSS (node-sass)
on: on:
push: push:
branches-ignore: branches:
- "dependabot/**" - main
pull_request: pull_request:
workflow_dispatch: workflow_dispatch:
@ -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

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/

1
.npmrc Normal file
View File

@ -0,0 +1 @@
lockfile-version=2

View File

@ -1,40 +0,0 @@
{
"extends": [
"stylelint-config-twbs-bootstrap"
],
"rules": {
"declaration-property-value-disallowed-list": {
"border": "none",
"outline": "none"
},
"function-disallowed-list": [
"calc",
"lighten",
"darken"
],
"property-disallowed-list": [
"border-radius",
"border-top-left-radius",
"border-top-right-radius",
"border-bottom-right-radius",
"border-bottom-left-radius",
"transition"
],
"scss/dollar-variable-default": [
true,
{
"ignore": "local"
}
],
"scss/selector-no-union-class-name": true
},
"overrides": [
{
"files": "scss/**/*.{test,spec}.scss",
"rules": {
"scss/dollar-variable-default": null,
"declaration-no-important": null
}
}
]
}

60
.stylelintrc.json Normal file
View File

@ -0,0 +1,60 @@
{
"extends": [
"stylelint-config-twbs-bootstrap"
],
"reportInvalidScopeDisables": true,
"reportNeedlessDisables": true,
"overrides": [
{
"files": "**/*.scss",
"rules": {
"declaration-property-value-disallowed-list": {
"border": "none",
"outline": "none"
},
"function-disallowed-list": [
"calc",
"lighten",
"darken"
],
"property-disallowed-list": [
"border-radius",
"border-top-left-radius",
"border-top-right-radius",
"border-bottom-right-radius",
"border-bottom-left-radius",
"transition"
],
"scss/dollar-variable-default": [
true,
{
"ignore": "local"
}
],
"scss/selector-no-union-class-name": true
}
},
{
"files": "scss/**/*.{test,spec}.scss",
"rules": {
"scss/dollar-variable-default": null,
"declaration-no-important": null
}
},
{
"files": "site/**/*.scss",
"rules": {
"scss/dollar-variable-default": null
}
},
{
"files": "site/**/examples/**/*.css",
"rules": {
"comment-empty-line-before": null,
"property-no-vendor-prefix": null,
"selector-no-qualifying-type": null,
"value-no-vendor-prefix": null
}
}
]
}

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.0.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.0`
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@v5.3.0-alpha1` - Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@v5.3.0`
- 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.0`
- 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)

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,7 @@
'use strict' 'use strict'
const pkg = require('../package.json') const pkg = require('../package.json')
const year = new Date().getFullYear() const year = new Date().getFullYear()
function getBanner(pluginFilename) { function getBanner(pluginFilename) {

View File

@ -35,9 +35,17 @@ function regExpQuoteReplacement(string) {
async function replaceRecursively(file, oldVersion, newVersion) { async function replaceRecursively(file, oldVersion, newVersion) {
const originalString = await fs.readFile(file, 'utf8') const originalString = await fs.readFile(file, 'utf8')
const newString = originalString.replace( const newString = originalString
new RegExp(regExpQuote(oldVersion), 'g'), regExpQuoteReplacement(newVersion) .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 // No need to move any further if the strings are identical
if (originalString === newString) { if (originalString === newString) {
@ -55,22 +63,35 @@ async function replaceRecursively(file, oldVersion, newVersion) {
await fs.writeFile(file, newString, 'utf8') await fs.writeFile(file, newString, 'utf8')
} }
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) { async function main(args) {
let [oldVersion, newVersion] = args let [oldVersion, newVersion] = args
if (!oldVersion || !newVersion) { if (!oldVersion || !newVersion) {
console.error('USAGE: change-version old_version new_version [--verbose] [--dry[-run]]') showUsage(args)
console.error('Got arguments:', args)
process.exit(1)
} }
// Strip any leading `v` from arguments because otherwise we will end up with duplicate `v`s // Strip any leading `v` from arguments because
[oldVersion, newVersion] = [oldVersion, newVersion].map(arg => arg.startsWith('v') ? arg.slice(1) : arg) // 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)
}
try { try {
const files = await globby(GLOB, GLOBBY_OPTIONS) const files = await globby(GLOB, GLOBBY_OPTIONS)
await Promise.all(files.map(file => replaceRecursively(file, oldVersion, newVersion))) await Promise.all(
files.map(file => replaceRecursively(file, oldVersion, newVersion))
)
} catch (error) { } catch (error) {
console.error(error) console.error(error)
process.exit(1) process.exit(1)

View File

@ -18,11 +18,11 @@ 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,8 +46,8 @@ 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
} }
@ -56,8 +56,8 @@ for (const file of files) {
const hash = crypto.createHash(algo).update(data, 'utf8').digest('base64') const hash = crypto.createHash(algo).update(data, 'utf8').digest('base64')
const integrity = `${algo}-${hash}` const integrity = `${algo}-${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

@ -13,10 +13,13 @@ 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 +51,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

@ -34,6 +34,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 +55,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 +73,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 +92,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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2023 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;
@ -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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2023 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;
@ -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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2023 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,8 +91,7 @@
--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;
@ -107,31 +107,30 @@
--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] {
color-scheme: dark;
--bs-body-color: #adb5bd; --bs-body-color: #adb5bd;
--bs-body-color-rgb: 173, 181, 189; --bs-body-color-rgb: 173, 181, 189;
--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(173, 181, 189, 0.75);
--bs-secondary-color-rgb: 173, 181, 189; --bs-secondary-color-rgb: 173, 181, 189;
--bs-secondary-bg: #343a40; --bs-secondary-bg: #343a40;
@ -140,17 +139,16 @@
--bs-tertiary-color-rgb: 173, 181, 189; --bs-tertiary-color-rgb: 173, 181, 189;
--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 +156,25 @@
--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-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 +215,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 {

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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2023 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,8 +91,7 @@
--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;
@ -107,31 +107,30 @@
--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] {
color-scheme: dark;
--bs-body-color: #adb5bd; --bs-body-color: #adb5bd;
--bs-body-color-rgb: 173, 181, 189; --bs-body-color-rgb: 173, 181, 189;
--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(173, 181, 189, 0.75);
--bs-secondary-color-rgb: 173, 181, 189; --bs-secondary-color-rgb: 173, 181, 189;
--bs-secondary-bg: #343a40; --bs-secondary-bg: #343a40;
@ -140,17 +139,16 @@
--bs-tertiary-color-rgb: 173, 181, 189; --bs-tertiary-color-rgb: 173, 181, 189;
--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 +156,25 @@
--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-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 +215,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 {

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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2023 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,8 +91,7 @@
--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;
@ -107,31 +107,30 @@
--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] {
color-scheme: dark;
--bs-body-color: #adb5bd; --bs-body-color: #adb5bd;
--bs-body-color-rgb: 173, 181, 189; --bs-body-color-rgb: 173, 181, 189;
--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(173, 181, 189, 0.75);
--bs-secondary-color-rgb: 173, 181, 189; --bs-secondary-color-rgb: 173, 181, 189;
--bs-secondary-bg: #343a40; --bs-secondary-bg: #343a40;
@ -140,17 +139,16 @@
--bs-tertiary-color-rgb: 173, 181, 189; --bs-tertiary-color-rgb: 173, 181, 189;
--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 +156,25 @@
--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-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 {
@ -222,59 +224,134 @@
} }
.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 +503,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 +512,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;
@ -607,6 +687,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 +716,53 @@
} }
.shadow { .shadow {
box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15) !important; box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
} }
.shadow-sm { .shadow-sm {
box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075) !important; box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
} }
.shadow-lg { .shadow-lg {
box-shadow: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175) !important; box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !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 +924,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 +967,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 +1948,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 +2215,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 +2322,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 +2364,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 +2409,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 +2454,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 +2499,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 +2583,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 +3144,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 +3705,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 +4266,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 +4827,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 +5373,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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2023 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,8 +91,7 @@
--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;
@ -107,31 +107,30 @@
--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] {
color-scheme: dark;
--bs-body-color: #adb5bd; --bs-body-color: #adb5bd;
--bs-body-color-rgb: 173, 181, 189; --bs-body-color-rgb: 173, 181, 189;
--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(173, 181, 189, 0.75);
--bs-secondary-color-rgb: 173, 181, 189; --bs-secondary-color-rgb: 173, 181, 189;
--bs-secondary-bg: #343a40; --bs-secondary-bg: #343a40;
@ -140,17 +139,16 @@
--bs-tertiary-color-rgb: 173, 181, 189; --bs-tertiary-color-rgb: 173, 181, 189;
--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 +156,25 @@
--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-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 {
@ -222,59 +224,134 @@
} }
.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 +503,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 +512,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;
@ -607,6 +687,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 +716,53 @@
} }
.shadow { .shadow {
box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15) !important; box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
} }
.shadow-sm { .shadow-sm {
box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075) !important; box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
} }
.shadow-lg { .shadow-lg {
box-shadow: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175) !important; box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !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 +924,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 +967,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 +1940,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 +2207,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 +2314,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 +2356,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 +2401,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 +2446,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 +2491,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 +2575,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 +3136,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 +3697,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 +4258,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 +4819,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 +5365,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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2023 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,8 +92,7 @@
--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;
@ -108,31 +108,30 @@
--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] {
color-scheme: dark;
--bs-body-color: #adb5bd; --bs-body-color: #adb5bd;
--bs-body-color-rgb: 173, 181, 189; --bs-body-color-rgb: 173, 181, 189;
--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(173, 181, 189, 0.75);
--bs-secondary-color-rgb: 173, 181, 189; --bs-secondary-color-rgb: 173, 181, 189;
--bs-secondary-bg: #343a40; --bs-secondary-bg: #343a40;
@ -141,17 +140,16 @@
--bs-tertiary-color-rgb: 173, 181, 189; --bs-tertiary-color-rgb: 173, 181, 189;
--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 +157,25 @@
--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-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 +216,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 {
@ -769,6 +771,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;
@ -1841,8 +1852,12 @@ progress {
} }
} }
.table { .table {
--bs-table-color-type: initial;
--bs-table-bg-type: initial;
--bs-table-color-state: initial;
--bs-table-bg-state: initial;
--bs-table-color: var(--bs-body-color); --bs-table-color: var(--bs-body-color);
--bs-table-bg: transparent; --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-body-color);
@ -1853,15 +1868,15 @@ progress {
--bs-table-hover-bg: rgba(0, 0, 0, 0.075); --bs-table-hover-bg: rgba(0, 0, 0, 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,23 +1912,23 @@ 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 {
@ -2101,13 +2116,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-color: var(--bs-body-bg);
background-clip: padding-box; background-clip: padding-box;
border: var(--bs-border-width) solid var(--bs-border-color); 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; 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 +2138,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 +2161,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 +2234,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 +2253,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 +2288,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,18 +2306,17 @@ 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); 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; -webkit-appearance: none;
-moz-appearance: none; -moz-appearance: none;
@ -2320,7 +2337,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 +2349,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,7 +2357,7 @@ 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 {
@ -2370,7 +2387,7 @@ 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);
width: 1em; width: 1em;
height: 1em; height: 1em;
margin-top: 0.25em; margin-top: 0.25em;
@ -2573,27 +2590,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 +2649,50 @@ 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 > .form-control:disabled ~ label { .form-floating > :disabled ~ label {
color: #6c757d; color: #6c757d;
} }
.form-floating > :disabled ~ label::after {
background-color: var(--bs-secondary-bg);
}
.input-group { .input-group {
position: relative; position: relative;
@ -2702,7 +2734,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 +2743,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 +2752,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 +2790,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 +2815,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 +2823,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 +2833,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 +2842,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 +2851,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 +2880,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 +2905,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 +2913,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 +2923,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 +2932,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 +2941,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 +2972,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;
@ -3294,7 +3326,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 +3341,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 +3424,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: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--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 +3741,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 +3826,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,6 +3838,10 @@ 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: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;
@ -3822,7 +3860,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);
@ -3849,13 +3886,11 @@ 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 { .nav-pills .nav-link:disabled {
@ -3869,6 +3904,27 @@ textarea.form-control-lg {
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;
@ -4523,12 +4580,12 @@ textarea.form-control-lg {
--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='%23052c65'%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-focus-border-color: #86b7fe; --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);
} }
@ -4763,14 +4820,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 +4836,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 +4865,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 +4897,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 +5254,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 +5481,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: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--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;
@ -5581,7 +5622,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: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
} }
.modal-dialog { .modal-dialog {
max-width: var(--bs-modal-width); max-width: var(--bs-modal-width);
@ -5737,7 +5778,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 +5813,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 +5823,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 +5835,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 +5845,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 +5874,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: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--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;
@ -6135,7 +6175,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 +6226,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-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;
} }
@ -6269,7 +6309,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: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--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 +6343,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 +6350,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 +6359,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 +6367,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 +6421,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 +6428,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 +6437,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 +6445,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 +6499,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 +6506,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 +6515,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 +6523,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 +6577,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 +6584,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 +6593,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 +6601,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 +6655,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 +6662,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 +6671,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 +6679,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;
} }
@ -6906,59 +6896,134 @@ textarea.form-control-lg {
} }
.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 +7175,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 +7184,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;
@ -7291,6 +7359,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 +7388,53 @@ textarea.form-control-lg {
} }
.shadow { .shadow {
box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15) !important; box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
} }
.shadow-sm { .shadow-sm {
box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075) !important; box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
} }
.shadow-lg { .shadow-lg {
box-shadow: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175) !important; box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !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 +7596,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 +7639,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 +8620,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 +8887,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 +8994,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 +9036,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 +9081,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 +9126,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 +9171,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 +9255,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 +9816,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 +10377,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 +10938,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 +11499,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 +12045,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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2023 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,8 +92,7 @@
--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;
@ -108,31 +108,30 @@
--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] {
color-scheme: dark;
--bs-body-color: #adb5bd; --bs-body-color: #adb5bd;
--bs-body-color-rgb: 173, 181, 189; --bs-body-color-rgb: 173, 181, 189;
--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(173, 181, 189, 0.75);
--bs-secondary-color-rgb: 173, 181, 189; --bs-secondary-color-rgb: 173, 181, 189;
--bs-secondary-bg: #343a40; --bs-secondary-bg: #343a40;
@ -141,17 +140,16 @@
--bs-tertiary-color-rgb: 173, 181, 189; --bs-tertiary-color-rgb: 173, 181, 189;
--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 +157,25 @@
--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-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 +216,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 {
@ -767,6 +769,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;
@ -1839,8 +1850,12 @@ progress {
} }
} }
.table { .table {
--bs-table-color-type: initial;
--bs-table-bg-type: initial;
--bs-table-color-state: initial;
--bs-table-bg-state: initial;
--bs-table-color: var(--bs-body-color); --bs-table-color: var(--bs-body-color);
--bs-table-bg: transparent; --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-body-color);
@ -1851,15 +1866,15 @@ progress {
--bs-table-hover-bg: rgba(0, 0, 0, 0.075); --bs-table-hover-bg: rgba(0, 0, 0, 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,23 +1910,23 @@ 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 {
@ -2099,13 +2114,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-color: var(--bs-body-bg);
background-clip: padding-box; background-clip: padding-box;
border: var(--bs-border-width) solid var(--bs-border-color); 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; 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 +2136,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 +2159,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 +2232,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 +2251,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 +2286,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,18 +2304,17 @@ 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); 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; -webkit-appearance: none;
-moz-appearance: none; -moz-appearance: none;
@ -2318,7 +2335,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 +2347,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,7 +2355,7 @@ 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 {
@ -2368,7 +2385,7 @@ 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);
width: 1em; width: 1em;
height: 1em; height: 1em;
margin-top: 0.25em; margin-top: 0.25em;
@ -2571,27 +2588,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 +2647,50 @@ 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 > .form-control:disabled ~ label { .form-floating > :disabled ~ label {
color: #6c757d; color: #6c757d;
} }
.form-floating > :disabled ~ label::after {
background-color: var(--bs-secondary-bg);
}
.input-group { .input-group {
position: relative; position: relative;
@ -2700,7 +2732,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 +2741,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 +2750,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 +2788,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 +2813,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 +2821,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 +2831,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 +2840,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 +2849,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 +2878,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 +2903,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 +2911,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 +2921,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 +2930,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 +2939,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 +2970,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;
@ -3292,7 +3324,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 +3339,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 +3422,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: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--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 +3739,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 +3824,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,6 +3836,10 @@ 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: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;
@ -3820,7 +3858,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);
@ -3847,13 +3884,11 @@ 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 { .nav-pills .nav-link:disabled {
@ -3867,6 +3902,27 @@ textarea.form-control-lg {
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;
@ -4521,12 +4578,12 @@ textarea.form-control-lg {
--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='%23052c65'%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-focus-border-color: #86b7fe; --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);
} }
@ -4761,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 {
@ -4777,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);
@ -4806,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);
@ -4838,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 {
@ -5195,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 {
@ -5438,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: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--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;
@ -5579,7 +5620,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: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
} }
.modal-dialog { .modal-dialog {
max-width: var(--bs-modal-width); max-width: var(--bs-modal-width);
@ -5735,7 +5776,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 +5811,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 +5819,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 +5829,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 +5837,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 +5864,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: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--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;
@ -6108,7 +6148,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;
@ -6160,13 +6199,14 @@ textarea.form-control-lg {
} }
[data-bs-theme=dark] .carousel .carousel-control-next-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-prev-icon, [data-bs-theme=dark].carousel .carousel-control-next-icon,
[data-bs-theme=dark].carousel .carousel-control-prev-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 +6282,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: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--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 +6316,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 +6323,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 +6332,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 +6340,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 +6394,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 +6401,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 +6410,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 +6418,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 +6472,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 +6479,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 +6488,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 +6496,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 +6550,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 +6557,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 +6566,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 +6574,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 +6628,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 +6635,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 +6644,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 +6652,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;
} }
@ -6879,59 +6869,134 @@ textarea.form-control-lg {
} }
.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 +7148,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 +7157,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;
@ -7264,6 +7332,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 +7361,53 @@ textarea.form-control-lg {
} }
.shadow { .shadow {
box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15) !important; box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
} }
.shadow-sm { .shadow-sm {
box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075) !important; box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
} }
.shadow-lg { .shadow-lg {
box-shadow: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175) !important; box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !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 +7569,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 +7612,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 +8585,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 +8852,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 +8959,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 +9001,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 +9046,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 +9091,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 +9136,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 +9220,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 +9781,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 +10342,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 +10903,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 +11464,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 +12010,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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -258,11 +306,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 +377,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 +494,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 +528,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 +585,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 +638,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.0';
/** /**
* Class definition * Class definition
@ -705,10 +707,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 === '#') {
@ -793,10 +796,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 +821,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 +896,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 +960,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 +1080,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 +1341,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 +1453,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 +1848,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 +2136,6 @@
} }
if (!contains(state.elements.popper, arrowElement)) { if (!contains(state.elements.popper, arrowElement)) {
return; return;
} }
@ -2158,10 +2166,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 +2251,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 +2277,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 +3344,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 +3364,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 +3388,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 +3425,6 @@
}; };
if (!areValidElements(reference, popper)) { if (!areValidElements(reference, popper)) {
return instance; return instance;
} }
@ -3437,11 +3439,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 +3484,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 +3599,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 +3773,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 +3855,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 +3894,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
@ -4112,11 +4019,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
*/ */
@ -4210,11 +4118,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 +4323,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 +4379,6 @@
return; return;
} }
if (this._config.keyboard) { if (this._config.keyboard) {
event.preventDefault();
this.hide(); this.hide();
return; return;
} }
@ -4516,11 +4521,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 +4680,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 +4752,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],
@ -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
*/ */
@ -5859,7 +5868,7 @@
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 +5882,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}`)
} }
@ -6005,7 +6014,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 +6096,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 +6280,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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -254,11 +302,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 +373,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 +490,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 +524,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 +581,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 +634,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.0';
/** /**
* Class definition * Class definition
@ -701,10 +703,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 === '#') {
@ -789,10 +792,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 +817,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 +892,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 +956,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 +1076,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 +1337,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 +1449,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 +1683,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 +1756,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 +1930,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 +2012,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 +2051,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
@ -2262,11 +2176,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
*/ */
@ -2360,11 +2275,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 +2480,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 +2536,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 +2678,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 +2837,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 +2909,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],
@ -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
*/ */
@ -4009,7 +4025,7 @@ const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.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 +4039,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}`)
} }
@ -4155,7 +4171,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 +4253,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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -277,11 +325,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 +396,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 +513,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 +547,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 +604,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 +657,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.0';
/** /**
* Class definition * Class definition
@ -724,10 +726,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 === '#') {
@ -812,10 +815,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 +840,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 +915,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 +979,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 +1099,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 +1360,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 +1472,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 +1706,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 +1779,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 +1953,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 +2035,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 +2074,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
@ -2285,11 +2199,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
*/ */
@ -2383,11 +2298,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 +2503,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 +2559,6 @@
return; return;
} }
if (this._config.keyboard) { if (this._config.keyboard) {
event.preventDefault();
this.hide(); this.hide();
return; return;
} }
@ -2689,11 +2701,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 +2860,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 +2932,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],
@ -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
*/ */
@ -4032,7 +4048,7 @@
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 +4062,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}`)
} }
@ -4178,7 +4194,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 +4276,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 +4460,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.0"
current_ruby_version: "5.3.0-alpha1" current_ruby_version: "5.3.0"
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.0.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.0/bootstrap-5.3.0-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.0/bootstrap-5.3.0-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.0/dist/css/bootstrap.min.css"
css_hash: "sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" css_hash: "sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM"
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.0/dist/css/bootstrap.rtl.min.css"
css_rtl_hash: "sha384-WJUUqfoMmnfkBLne5uxXj+na/c7sesSJ32gI7GfCk4zO4GthUKhSEGyvQ839BC51" css_rtl_hash: "sha384-PJsj/BTMqILvmcej7ulplguok8ag4xFTPryRq8xevL7eBYSmpXKcbNVuy+P0RMgq"
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.0/dist/js/bootstrap.min.js"
js_hash: "sha384-mQ93GR66B00ZXjt0YO5KlohRA5SY2XofN4zfuZxLkoj1gXtW8ANNCe9d5Y3eG5eD" js_hash: "sha384-fbbOQedDUMZZ5KreZpsbe1LCZPVmfTnH7ois6mU1QK+m14rQ1l2bGBq41eYeM/fS"
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.0/dist/js/bootstrap.bundle.min.js"
js_bundle_hash: "sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" js_bundle_hash: "sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz"
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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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.0';
/** /**
* 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.0'\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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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 === '#') {

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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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
*/ */

View File

@ -1 +1 @@
{"version":3,"file":"popover.js","sources":["../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.3.0-alpha1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index.js'\nimport Tooltip from './tooltip.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n"],"names":["NAME","SELECTOR_TITLE","SELECTOR_CONTENT","Default","Tooltip","content","offset","placement","template","trigger","DefaultType","Popover","_isWithContent","_getTitle","_getContent","_getContentForTemplate","_resolvePossibleFunction","_config","jQueryInterface","config","each","data","getOrCreateInstance","TypeError","defineJQueryPlugin"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAKA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,SAAS,CAAA;EAEtB,MAAMC,cAAc,GAAG,iBAAiB,CAAA;EACxC,MAAMC,gBAAgB,GAAG,eAAe,CAAA;EAExC,MAAMC,OAAO,GAAG;IACd,GAAGC,OAAO,CAACD,OAAO;EAClBE,EAAAA,OAAO,EAAE,EAAE;EACXC,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACdC,EAAAA,SAAS,EAAE,OAAO;IAClBC,QAAQ,EAAE,sCAAsC,GAC9C,mCAAmC,GACnC,kCAAkC,GAClC,kCAAkC,GAClC,QAAQ;EACVC,EAAAA,OAAO,EAAE,OAAA;EACX,CAAC,CAAA;EAED,MAAMC,WAAW,GAAG;IAClB,GAAGN,OAAO,CAACM,WAAW;EACtBL,EAAAA,OAAO,EAAE,gCAAA;EACX,CAAC,CAAA;;EAED;EACA;EACA;;EAEA,MAAMM,OAAO,SAASP,OAAO,CAAC;EAC5B;EACA,EAAA,WAAWD,OAAO,GAAG;EACnB,IAAA,OAAOA,OAAO,CAAA;EAChB,GAAA;EAEA,EAAA,WAAWO,WAAW,GAAG;EACvB,IAAA,OAAOA,WAAW,CAAA;EACpB,GAAA;EAEA,EAAA,WAAWV,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAI,CAAA;EACb,GAAA;;EAEA;EACAY,EAAAA,cAAc,GAAG;MACf,OAAO,IAAI,CAACC,SAAS,EAAE,IAAI,IAAI,CAACC,WAAW,EAAE,CAAA;EAC/C,GAAA;;EAEA;EACAC,EAAAA,sBAAsB,GAAG;MACvB,OAAO;EACL,MAAA,CAACd,cAAc,GAAG,IAAI,CAACY,SAAS,EAAE;EAClC,MAAA,CAACX,gBAAgB,GAAG,IAAI,CAACY,WAAW,EAAA;OACrC,CAAA;EACH,GAAA;EAEAA,EAAAA,WAAW,GAAG;MACZ,OAAO,IAAI,CAACE,wBAAwB,CAAC,IAAI,CAACC,OAAO,CAACZ,OAAO,CAAC,CAAA;EAC5D,GAAA;;EAEA;IACA,OAAOa,eAAe,CAACC,MAAM,EAAE;EAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAAC,YAAY;QAC3B,MAAMC,IAAI,GAAGV,OAAO,CAACW,mBAAmB,CAAC,IAAI,EAAEH,MAAM,CAAC,CAAA;EAEtD,MAAA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;EAC9B,QAAA,OAAA;EACF,OAAA;EAEA,MAAA,IAAI,OAAOE,IAAI,CAACF,MAAM,CAAC,KAAK,WAAW,EAAE;EACvC,QAAA,MAAM,IAAII,SAAS,CAAE,CAAmBJ,iBAAAA,EAAAA,MAAO,GAAE,CAAC,CAAA;EACpD,OAAA;QAEAE,IAAI,CAACF,MAAM,CAAC,EAAE,CAAA;EAChB,KAAC,CAAC,CAAA;EACJ,GAAA;EACF,CAAA;;EAEA;EACA;EACA;;AAEAK,6BAAkB,CAACb,OAAO,CAAC;;;;;;;;"} {"version":3,"file":"popover.js","sources":["../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n"],"names":["NAME","SELECTOR_TITLE","SELECTOR_CONTENT","Default","Tooltip","content","offset","placement","template","trigger","DefaultType","Popover","_isWithContent","_getTitle","_getContent","_getContentForTemplate","_resolvePossibleFunction","_config","jQueryInterface","config","each","data","getOrCreateInstance","TypeError","defineJQueryPlugin"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;;EAKA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,SAAS,CAAA;EAEtB,MAAMC,cAAc,GAAG,iBAAiB,CAAA;EACxC,MAAMC,gBAAgB,GAAG,eAAe,CAAA;EAExC,MAAMC,OAAO,GAAG;IACd,GAAGC,OAAO,CAACD,OAAO;EAClBE,EAAAA,OAAO,EAAE,EAAE;EACXC,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACdC,EAAAA,SAAS,EAAE,OAAO;IAClBC,QAAQ,EAAE,sCAAsC,GAC9C,mCAAmC,GACnC,kCAAkC,GAClC,kCAAkC,GAClC,QAAQ;EACVC,EAAAA,OAAO,EAAE,OAAA;EACX,CAAC,CAAA;EAED,MAAMC,WAAW,GAAG;IAClB,GAAGN,OAAO,CAACM,WAAW;EACtBL,EAAAA,OAAO,EAAE,gCAAA;EACX,CAAC,CAAA;;EAED;EACA;EACA;;EAEA,MAAMM,OAAO,SAASP,OAAO,CAAC;EAC5B;IACA,WAAWD,OAAOA,GAAG;EACnB,IAAA,OAAOA,OAAO,CAAA;EAChB,GAAA;IAEA,WAAWO,WAAWA,GAAG;EACvB,IAAA,OAAOA,WAAW,CAAA;EACpB,GAAA;IAEA,WAAWV,IAAIA,GAAG;EAChB,IAAA,OAAOA,IAAI,CAAA;EACb,GAAA;;EAEA;EACAY,EAAAA,cAAcA,GAAG;MACf,OAAO,IAAI,CAACC,SAAS,EAAE,IAAI,IAAI,CAACC,WAAW,EAAE,CAAA;EAC/C,GAAA;;EAEA;EACAC,EAAAA,sBAAsBA,GAAG;MACvB,OAAO;EACL,MAAA,CAACd,cAAc,GAAG,IAAI,CAACY,SAAS,EAAE;EAClC,MAAA,CAACX,gBAAgB,GAAG,IAAI,CAACY,WAAW,EAAC;OACtC,CAAA;EACH,GAAA;EAEAA,EAAAA,WAAWA,GAAG;MACZ,OAAO,IAAI,CAACE,wBAAwB,CAAC,IAAI,CAACC,OAAO,CAACZ,OAAO,CAAC,CAAA;EAC5D,GAAA;;EAEA;IACA,OAAOa,eAAeA,CAACC,MAAM,EAAE;EAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAAC,YAAY;QAC3B,MAAMC,IAAI,GAAGV,OAAO,CAACW,mBAAmB,CAAC,IAAI,EAAEH,MAAM,CAAC,CAAA;EAEtD,MAAA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;EAC9B,QAAA,OAAA;EACF,OAAA;EAEA,MAAA,IAAI,OAAOE,IAAI,CAACF,MAAM,CAAC,KAAK,WAAW,EAAE;EACvC,QAAA,MAAM,IAAII,SAAS,CAAE,CAAmBJ,iBAAAA,EAAAA,MAAO,GAAE,CAAC,CAAA;EACpD,OAAA;EAEAE,MAAAA,IAAI,CAACF,MAAM,CAAC,EAAE,CAAA;EAChB,KAAC,CAAC,CAAA;EACJ,GAAA;EACF,CAAA;;EAEA;EACA;EACA;;AAEAK,6BAAkB,CAACb,OAAO,CAAC;;;;;;;;"}

19
js/dist/scrollspy.js vendored
View File

@ -1,21 +1,22 @@
/*! /*!
* Bootstrap scrollspy.js v5.3.0-alpha1 (https://getbootstrap.com/) * Bootstrap scrollspy.js v5.3.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2023 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.Scrollspy = factory(global.Index, global.EventHandler, global.SelectorEngine, global.BaseComponent)); (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Scrollspy = 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): 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
*/ */
@ -194,11 +195,11 @@
if (!anchor.hash || index_js.isDisabled(anchor)) { if (!anchor.hash || index_js.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 (index_js.isVisible(observableSection)) { if (index_js.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);
} }
} }

File diff suppressed because one or more lines are too long

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