mirror of
https://github.com/twbs/bootstrap.git
synced 2025-08-10 00:03:45 -04:00
Compare commits
9 Commits
52cc9342cb
...
4e35f64fdc
Author | SHA1 | Date | |
---|---|---|---|
|
4e35f64fdc | ||
|
409fd23d92 | ||
|
5010e8d73e | ||
|
d85a84b7b1 | ||
|
e4d8f149ab | ||
|
40c6d8a4bc | ||
|
4e94fb54d4 | ||
|
4a7f538847 | ||
|
aaa8e6c8a5 |
@ -51,6 +51,7 @@
|
|||||||
"SwitchCase": 1
|
"SwitchCase": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"logical-assignment-operators": "off",
|
||||||
"max-params": [
|
"max-params": [
|
||||||
"warn",
|
"warn",
|
||||||
5
|
5
|
||||||
@ -75,6 +76,7 @@
|
|||||||
"error",
|
"error",
|
||||||
"after"
|
"after"
|
||||||
],
|
],
|
||||||
|
"prefer-object-has-own": "off",
|
||||||
"prefer-template": "error",
|
"prefer-template": "error",
|
||||||
"semi": [
|
"semi": [
|
||||||
"error",
|
"error",
|
||||||
|
2
.github/workflows/release-notes.yml
vendored
2
.github/workflows/release-notes.yml
vendored
@ -18,6 +18,6 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: github.repository == 'twbs/bootstrap'
|
if: github.repository == 'twbs/bootstrap'
|
||||||
steps:
|
steps:
|
||||||
- uses: release-drafter/release-drafter@v5
|
- uses: release-drafter/release-drafter@v6
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
@ -11,7 +11,9 @@ import SelectorEngine from './dom/selector-engine.js'
|
|||||||
import Backdrop from './util/backdrop.js'
|
import Backdrop from './util/backdrop.js'
|
||||||
import { enableDismissTrigger } from './util/component-functions.js'
|
import { enableDismissTrigger } from './util/component-functions.js'
|
||||||
import FocusTrap from './util/focustrap.js'
|
import FocusTrap from './util/focustrap.js'
|
||||||
import { defineJQueryPlugin, isRTL, isVisible, reflow } from './util/index.js'
|
import {
|
||||||
|
defineJQueryPlugin, isRTL, isVisible, reflow
|
||||||
|
} from './util/index.js'
|
||||||
import ScrollBarHelper from './util/scrollbar.js'
|
import ScrollBarHelper from './util/scrollbar.js'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -8,7 +8,9 @@
|
|||||||
import BaseComponent from './base-component.js'
|
import BaseComponent from './base-component.js'
|
||||||
import EventHandler from './dom/event-handler.js'
|
import EventHandler from './dom/event-handler.js'
|
||||||
import SelectorEngine from './dom/selector-engine.js'
|
import SelectorEngine from './dom/selector-engine.js'
|
||||||
import { defineJQueryPlugin, getElement, isDisabled, isVisible } from './util/index.js'
|
import {
|
||||||
|
defineJQueryPlugin, getElement, isDisabled, isVisible
|
||||||
|
} from './util/index.js'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constants
|
* Constants
|
||||||
|
@ -9,7 +9,9 @@ import * as Popper from '@popperjs/core'
|
|||||||
import BaseComponent from './base-component.js'
|
import BaseComponent from './base-component.js'
|
||||||
import EventHandler from './dom/event-handler.js'
|
import EventHandler from './dom/event-handler.js'
|
||||||
import Manipulator from './dom/manipulator.js'
|
import Manipulator from './dom/manipulator.js'
|
||||||
import { defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index.js'
|
import {
|
||||||
|
defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop
|
||||||
|
} from './util/index.js'
|
||||||
import { DefaultAllowlist } from './util/sanitizer.js'
|
import { DefaultAllowlist } from './util/sanitizer.js'
|
||||||
import TemplateFactory from './util/template-factory.js'
|
import TemplateFactory from './util/template-factory.js'
|
||||||
|
|
||||||
|
@ -7,7 +7,9 @@
|
|||||||
|
|
||||||
import EventHandler from '../dom/event-handler.js'
|
import EventHandler from '../dom/event-handler.js'
|
||||||
import Config from './config.js'
|
import Config from './config.js'
|
||||||
import { execute, executeAfterTransition, getElement, reflow } from './index.js'
|
import {
|
||||||
|
execute, executeAfterTransition, getElement, reflow
|
||||||
|
} from './index.js'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constants
|
* Constants
|
||||||
|
@ -2,7 +2,9 @@ import Carousel from '../../src/carousel.js'
|
|||||||
import EventHandler from '../../src/dom/event-handler.js'
|
import EventHandler from '../../src/dom/event-handler.js'
|
||||||
import { isRTL, noop } from '../../src/util/index.js'
|
import { isRTL, noop } from '../../src/util/index.js'
|
||||||
import Swipe from '../../src/util/swipe.js'
|
import Swipe from '../../src/util/swipe.js'
|
||||||
import { clearFixture, createEvent, getFixture, jQueryMock } from '../helpers/fixture.js'
|
import {
|
||||||
|
clearFixture, createEvent, getFixture, jQueryMock
|
||||||
|
} from '../helpers/fixture.js'
|
||||||
|
|
||||||
describe('Carousel', () => {
|
describe('Carousel', () => {
|
||||||
const { Simulator, PointerEvent } = window
|
const { Simulator, PointerEvent } = window
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
import EventHandler from '../../src/dom/event-handler.js'
|
import EventHandler from '../../src/dom/event-handler.js'
|
||||||
import Dropdown from '../../src/dropdown.js'
|
import Dropdown from '../../src/dropdown.js'
|
||||||
import { noop } from '../../src/util/index.js'
|
import { noop } from '../../src/util/index.js'
|
||||||
import { clearFixture, createEvent, getFixture, jQueryMock } from '../helpers/fixture.js'
|
import {
|
||||||
|
clearFixture, createEvent, getFixture, jQueryMock
|
||||||
|
} from '../helpers/fixture.js'
|
||||||
|
|
||||||
describe('Dropdown', () => {
|
describe('Dropdown', () => {
|
||||||
let fixtureEl
|
let fixtureEl
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
import EventHandler from '../../src/dom/event-handler.js'
|
import EventHandler from '../../src/dom/event-handler.js'
|
||||||
import Modal from '../../src/modal.js'
|
import Modal from '../../src/modal.js'
|
||||||
import ScrollBarHelper from '../../src/util/scrollbar.js'
|
import ScrollBarHelper from '../../src/util/scrollbar.js'
|
||||||
import { clearBodyAndDocument, clearFixture, createEvent, getFixture, jQueryMock } from '../helpers/fixture.js'
|
import {
|
||||||
|
clearBodyAndDocument, clearFixture, createEvent, getFixture, jQueryMock
|
||||||
|
} from '../helpers/fixture.js'
|
||||||
|
|
||||||
describe('Modal', () => {
|
describe('Modal', () => {
|
||||||
let fixtureEl
|
let fixtureEl
|
||||||
|
@ -2,7 +2,9 @@ import EventHandler from '../../src/dom/event-handler.js'
|
|||||||
import Offcanvas from '../../src/offcanvas.js'
|
import Offcanvas from '../../src/offcanvas.js'
|
||||||
import { isVisible } from '../../src/util/index.js'
|
import { isVisible } from '../../src/util/index.js'
|
||||||
import ScrollBarHelper from '../../src/util/scrollbar.js'
|
import ScrollBarHelper from '../../src/util/scrollbar.js'
|
||||||
import { clearBodyAndDocument, clearFixture, createEvent, getFixture, jQueryMock } from '../helpers/fixture.js'
|
import {
|
||||||
|
clearBodyAndDocument, clearFixture, createEvent, getFixture, jQueryMock
|
||||||
|
} from '../helpers/fixture.js'
|
||||||
|
|
||||||
describe('Offcanvas', () => {
|
describe('Offcanvas', () => {
|
||||||
let fixtureEl
|
let fixtureEl
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
import EventHandler from '../../src/dom/event-handler.js'
|
import EventHandler from '../../src/dom/event-handler.js'
|
||||||
import ScrollSpy from '../../src/scrollspy.js'
|
import ScrollSpy from '../../src/scrollspy.js'
|
||||||
import { clearFixture, createEvent, getFixture, jQueryMock } from '../helpers/fixture.js'
|
import {
|
||||||
|
clearFixture, createEvent, getFixture, jQueryMock
|
||||||
|
} from '../helpers/fixture.js'
|
||||||
|
|
||||||
describe('ScrollSpy', () => {
|
describe('ScrollSpy', () => {
|
||||||
let fixtureEl
|
let fixtureEl
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import Tab from '../../src/tab.js'
|
import Tab from '../../src/tab.js'
|
||||||
import { clearFixture, createEvent, getFixture, jQueryMock } from '../helpers/fixture.js'
|
import {
|
||||||
|
clearFixture, createEvent, getFixture, jQueryMock
|
||||||
|
} from '../helpers/fixture.js'
|
||||||
|
|
||||||
describe('Tab', () => {
|
describe('Tab', () => {
|
||||||
let fixtureEl
|
let fixtureEl
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import Toast from '../../src/toast.js'
|
import Toast from '../../src/toast.js'
|
||||||
import { clearFixture, createEvent, getFixture, jQueryMock } from '../helpers/fixture.js'
|
import {
|
||||||
|
clearFixture, createEvent, getFixture, jQueryMock
|
||||||
|
} from '../helpers/fixture.js'
|
||||||
|
|
||||||
describe('Toast', () => {
|
describe('Toast', () => {
|
||||||
let fixtureEl
|
let fixtureEl
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
import EventHandler from '../../src/dom/event-handler.js'
|
import EventHandler from '../../src/dom/event-handler.js'
|
||||||
import Tooltip from '../../src/tooltip.js'
|
import Tooltip from '../../src/tooltip.js'
|
||||||
import { noop } from '../../src/util/index.js'
|
import { noop } from '../../src/util/index.js'
|
||||||
import { clearFixture, createEvent, getFixture, jQueryMock } from '../helpers/fixture.js'
|
import {
|
||||||
|
clearFixture, createEvent, getFixture, jQueryMock
|
||||||
|
} from '../helpers/fixture.js'
|
||||||
|
|
||||||
describe('Tooltip', () => {
|
describe('Tooltip', () => {
|
||||||
let fixtureEl
|
let fixtureEl
|
||||||
|
1378
package-lock.json
generated
1378
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
10
package.json
10
package.json
@ -116,17 +116,17 @@
|
|||||||
"clean-css-cli": "^5.6.3",
|
"clean-css-cli": "^5.6.3",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"eslint": "^8.56.0",
|
"eslint": "^8.56.0",
|
||||||
"eslint-config-xo": "^0.43.1",
|
"eslint-config-xo": "^0.44.0",
|
||||||
"eslint-plugin-html": "^7.1.0",
|
"eslint-plugin-html": "^7.1.0",
|
||||||
"eslint-plugin-import": "^2.29.1",
|
"eslint-plugin-import": "^2.29.1",
|
||||||
"eslint-plugin-markdown": "^3.0.1",
|
"eslint-plugin-markdown": "^3.0.1",
|
||||||
"eslint-plugin-unicorn": "^50.0.1",
|
"eslint-plugin-unicorn": "^51.0.0",
|
||||||
"find-unused-sass-variables": "^5.0.0",
|
"find-unused-sass-variables": "^5.0.0",
|
||||||
"globby": "^11.1.0",
|
"globby": "^11.1.0",
|
||||||
"hammer-simulator": "0.0.1",
|
"hammer-simulator": "0.0.1",
|
||||||
"hugo-bin": "^0.119.0",
|
"hugo-bin": "^0.119.0",
|
||||||
"ip": "^2.0.0",
|
"ip": "^2.0.0",
|
||||||
"jasmine": "^4.6.0",
|
"jasmine": "^5.1.0",
|
||||||
"jquery": "^3.7.1",
|
"jquery": "^3.7.1",
|
||||||
"karma": "^6.4.2",
|
"karma": "^6.4.2",
|
||||||
"karma-browserstack-launcher": "1.4.0",
|
"karma-browserstack-launcher": "1.4.0",
|
||||||
@ -140,7 +140,7 @@
|
|||||||
"lockfile-lint": "^4.12.1",
|
"lockfile-lint": "^4.12.1",
|
||||||
"nodemon": "^3.0.3",
|
"nodemon": "^3.0.3",
|
||||||
"npm-run-all2": "^6.1.2",
|
"npm-run-all2": "^6.1.2",
|
||||||
"postcss": "^8.4.33",
|
"postcss": "^8.4.34",
|
||||||
"postcss-cli": "^11.0.0",
|
"postcss-cli": "^11.0.0",
|
||||||
"rollup": "^4.9.6",
|
"rollup": "^4.9.6",
|
||||||
"rollup-plugin-istanbul": "^5.0.0",
|
"rollup-plugin-istanbul": "^5.0.0",
|
||||||
@ -149,7 +149,7 @@
|
|||||||
"sass-true": "^7.0.1",
|
"sass-true": "^7.0.1",
|
||||||
"shelljs": "^0.8.5",
|
"shelljs": "^0.8.5",
|
||||||
"stylelint": "^16.2.1",
|
"stylelint": "^16.2.1",
|
||||||
"stylelint-config-twbs-bootstrap": "^13.0.0",
|
"stylelint-config-twbs-bootstrap": "^14.0.0",
|
||||||
"terser": "^5.27.0",
|
"terser": "^5.27.0",
|
||||||
"vnu-jar": "23.4.11"
|
"vnu-jar": "23.4.11"
|
||||||
},
|
},
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
--#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};
|
--#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};
|
||||||
--#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};
|
--#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};
|
||||||
--#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)};
|
--#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)};
|
||||||
--#{$prefix}accordion-btn-focus-border-color: #{$accordion-button-focus-border-color};
|
|
||||||
--#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};
|
--#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};
|
||||||
--#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};
|
--#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};
|
||||||
--#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};
|
--#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};
|
||||||
@ -74,7 +73,6 @@
|
|||||||
|
|
||||||
&:focus {
|
&:focus {
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
border-color: var(--#{$prefix}accordion-btn-focus-border-color);
|
|
||||||
outline: 0;
|
outline: 0;
|
||||||
box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);
|
box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);
|
||||||
}
|
}
|
||||||
|
@ -100,6 +100,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.btn-check:checked:focus-visible + & {
|
||||||
|
// Avoid using mixin so we can pass custom focus shadow properly
|
||||||
|
@if $enable-shadows {
|
||||||
|
box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
|
||||||
|
} @else {
|
||||||
|
box-shadow: var(--#{$prefix}btn-focus-box-shadow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&:disabled,
|
&:disabled,
|
||||||
&.disabled,
|
&.disabled,
|
||||||
fieldset:disabled & {
|
fieldset:disabled & {
|
||||||
|
@ -132,19 +132,11 @@
|
|||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* rtl:options: {
|
|
||||||
"autoRename": true,
|
|
||||||
"stringMap":[ {
|
|
||||||
"name" : "prev-next",
|
|
||||||
"search" : "prev",
|
|
||||||
"replace" : "next"
|
|
||||||
} ]
|
|
||||||
} */
|
|
||||||
.carousel-control-prev-icon {
|
.carousel-control-prev-icon {
|
||||||
background-image: escape-svg($carousel-control-prev-icon-bg);
|
background-image: escape-svg($carousel-control-prev-icon-bg) #{"/*rtl:" + escape-svg($carousel-control-next-icon-bg) + "*/"};
|
||||||
}
|
}
|
||||||
.carousel-control-next-icon {
|
.carousel-control-next-icon {
|
||||||
background-image: escape-svg($carousel-control-next-icon-bg);
|
background-image: escape-svg($carousel-control-next-icon-bg) #{"/*rtl:" + escape-svg($carousel-control-prev-icon-bg) + "*/"};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Optional indicator pips/controls
|
// Optional indicator pips/controls
|
||||||
|
@ -1383,7 +1383,9 @@ $accordion-transition: $btn-transition, border-radius .15s ea
|
|||||||
$accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;
|
$accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;
|
||||||
$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;
|
$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;
|
||||||
|
|
||||||
$accordion-button-focus-border-color: $input-focus-border-color !default;
|
// fusv-disable
|
||||||
|
$accordion-button-focus-border-color: $input-focus-border-color !default; // Deprecated in v5.3.3
|
||||||
|
// fusv-enable
|
||||||
$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;
|
$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;
|
||||||
|
|
||||||
$accordion-icon-width: 1.25rem !default;
|
$accordion-icon-width: 1.25rem !default;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user