@openeuropa/bcl-bootstrap 0.26.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/js/dist/alert.js +1 -1
- package/js/dist/alert.js.map +1 -1
- package/js/dist/base-component.js +2 -2
- package/js/dist/base-component.js.map +1 -1
- package/js/dist/button.js +1 -1
- package/js/dist/button.js.map +1 -1
- package/js/dist/carousel.js +1 -1
- package/js/dist/carousel.js.map +1 -1
- package/js/dist/collapse.js +1 -1
- package/js/dist/collapse.js.map +1 -1
- package/js/dist/dom/data.js +1 -1
- package/js/dist/dom/data.js.map +1 -1
- package/js/dist/dom/event-handler.js +1 -1
- package/js/dist/dom/event-handler.js.map +1 -1
- package/js/dist/dom/manipulator.js +1 -1
- package/js/dist/dom/manipulator.js.map +1 -1
- package/js/dist/dom/selector-engine.js +1 -1
- package/js/dist/dom/selector-engine.js.map +1 -1
- package/js/dist/dropdown.js +6 -4
- package/js/dist/dropdown.js.map +1 -1
- package/js/dist/modal.js +15 -12
- package/js/dist/modal.js.map +1 -1
- package/js/dist/offcanvas.js +1 -1
- package/js/dist/offcanvas.js.map +1 -1
- package/js/dist/popover.js +1 -1
- package/js/dist/popover.js.map +1 -1
- package/js/dist/scrollspy.js +15 -11
- package/js/dist/scrollspy.js.map +1 -1
- package/js/dist/tab.js +1 -1
- package/js/dist/tab.js.map +1 -1
- package/js/dist/toast.js +1 -1
- package/js/dist/toast.js.map +1 -1
- package/js/dist/tooltip.js +10 -6
- package/js/dist/tooltip.js.map +1 -1
- package/js/dist/util/backdrop.js +1 -1
- package/js/dist/util/backdrop.js.map +1 -1
- package/js/dist/util/component-functions.js +1 -1
- package/js/dist/util/component-functions.js.map +1 -1
- package/js/dist/util/config.js +1 -1
- package/js/dist/util/config.js.map +1 -1
- package/js/dist/util/focustrap.js +1 -1
- package/js/dist/util/focustrap.js.map +1 -1
- package/js/dist/util/index.js +1 -1
- package/js/dist/util/index.js.map +1 -1
- package/js/dist/util/sanitizer.js +1 -1
- package/js/dist/util/sanitizer.js.map +1 -1
- package/js/dist/util/scrollbar.js +1 -1
- package/js/dist/util/scrollbar.js.map +1 -1
- package/js/dist/util/swipe.js +1 -1
- package/js/dist/util/swipe.js.map +1 -1
- package/js/dist/util/template-factory.js +1 -1
- package/js/dist/util/template-factory.js.map +1 -1
- package/js/src/alert.js +1 -1
- package/js/src/base-component.js +2 -2
- package/js/src/button.js +1 -1
- package/js/src/carousel.js +1 -1
- package/js/src/collapse.js +1 -1
- package/js/src/dom/data.js +1 -1
- package/js/src/dom/event-handler.js +1 -1
- package/js/src/dom/manipulator.js +1 -1
- package/js/src/dom/selector-engine.js +1 -1
- package/js/src/dropdown.js +5 -3
- package/js/src/modal.js +17 -13
- package/js/src/offcanvas.js +1 -1
- package/js/src/popover.js +1 -1
- package/js/src/scrollspy.js +14 -10
- package/js/src/tab.js +1 -1
- package/js/src/toast.js +1 -1
- package/js/src/tooltip.js +10 -7
- package/js/src/util/backdrop.js +1 -1
- package/js/src/util/component-functions.js +1 -1
- package/js/src/util/config.js +1 -1
- package/js/src/util/focustrap.js +1 -1
- package/js/src/util/index.js +1 -1
- package/js/src/util/sanitizer.js +1 -1
- package/js/src/util/scrollbar.js +1 -1
- package/js/src/util/swipe.js +1 -1
- package/js/src/util/template-factory.js +1 -1
- package/package.json +3 -3
- package/scss/_accordion.scss +7 -4
- package/scss/_button-group.scss +1 -1
- package/scss/_buttons.scss +23 -8
- package/scss/_dropdown.scss +2 -1
- package/scss/_functions.scss +1 -1
- package/scss/_list-group.scss +6 -5
- package/scss/_modal.scss +1 -1
- package/scss/_nav.scss +2 -2
- package/scss/_navbar.scss +2 -0
- package/scss/_offcanvas.scss +5 -4
- package/scss/_pagination.scss +1 -1
- package/scss/_popover.scss +5 -5
- package/scss/_toasts.scss +3 -2
- package/scss/_variables.scss +17 -16
- package/scss/forms/_floating-labels.scss +1 -0
- package/scss/forms/_input-group.scss +7 -4
- package/scss/mixins/_banner.scss +2 -2
- package/scss/mixins/_forms.scss +10 -10
- package/scss/mixins/_utilities.scss +1 -1
package/js/src/offcanvas.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): offcanvas.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
package/js/src/popover.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): popover.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
package/js/src/scrollspy.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): scrollspy.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
|
@@ -40,14 +40,16 @@ const Default = {
|
|
|
40
40
|
offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons
|
|
41
41
|
rootMargin: '0px 0px -25%',
|
|
42
42
|
smoothScroll: false,
|
|
43
|
-
target: null
|
|
43
|
+
target: null,
|
|
44
|
+
threshold: [0.1, 0.5, 1]
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
const DefaultType = {
|
|
47
48
|
offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons
|
|
48
49
|
rootMargin: 'string',
|
|
49
50
|
smoothScroll: 'boolean',
|
|
50
|
-
target: 'element'
|
|
51
|
+
target: 'element',
|
|
52
|
+
threshold: 'array'
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
/**
|
|
@@ -110,6 +112,13 @@ class ScrollSpy extends BaseComponent {
|
|
|
110
112
|
// TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case
|
|
111
113
|
config.target = getElement(config.target) || document.body
|
|
112
114
|
|
|
115
|
+
// TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
|
|
116
|
+
config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin
|
|
117
|
+
|
|
118
|
+
if (typeof config.threshold === 'string') {
|
|
119
|
+
config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))
|
|
120
|
+
}
|
|
121
|
+
|
|
113
122
|
return config
|
|
114
123
|
}
|
|
115
124
|
|
|
@@ -141,8 +150,8 @@ class ScrollSpy extends BaseComponent {
|
|
|
141
150
|
_getNewObserver() {
|
|
142
151
|
const options = {
|
|
143
152
|
root: this._rootElement,
|
|
144
|
-
threshold:
|
|
145
|
-
rootMargin: this.
|
|
153
|
+
threshold: this._config.threshold,
|
|
154
|
+
rootMargin: this._config.rootMargin
|
|
146
155
|
}
|
|
147
156
|
|
|
148
157
|
return new IntersectionObserver(entries => this._observerCallback(entries), options)
|
|
@@ -187,11 +196,6 @@ class ScrollSpy extends BaseComponent {
|
|
|
187
196
|
}
|
|
188
197
|
}
|
|
189
198
|
|
|
190
|
-
// TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
|
|
191
|
-
_getRootMargin() {
|
|
192
|
-
return this._config.offset ? `${this._config.offset}px 0px -30%` : this._config.rootMargin
|
|
193
|
-
}
|
|
194
|
-
|
|
195
199
|
_initializeTargetsAndObservables() {
|
|
196
200
|
this._targetLinks = new Map()
|
|
197
201
|
this._observableSections = new Map()
|
package/js/src/tab.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): tab.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
package/js/src/toast.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): toast.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
package/js/src/tooltip.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): tooltip.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
|
@@ -111,7 +111,7 @@ class Tooltip extends BaseComponent {
|
|
|
111
111
|
// Private
|
|
112
112
|
this._isEnabled = true
|
|
113
113
|
this._timeout = 0
|
|
114
|
-
this._isHovered =
|
|
114
|
+
this._isHovered = null
|
|
115
115
|
this._activeTrigger = {}
|
|
116
116
|
this._popper = null
|
|
117
117
|
this._templateFactory = null
|
|
@@ -185,6 +185,10 @@ class Tooltip extends BaseComponent {
|
|
|
185
185
|
this.tip.remove()
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
+
if (this._config.originalTitle) {
|
|
189
|
+
this._element.setAttribute('title', this._config.originalTitle)
|
|
190
|
+
}
|
|
191
|
+
|
|
188
192
|
this._disposePopper()
|
|
189
193
|
super.dispose()
|
|
190
194
|
}
|
|
@@ -242,14 +246,13 @@ class Tooltip extends BaseComponent {
|
|
|
242
246
|
}
|
|
243
247
|
|
|
244
248
|
const complete = () => {
|
|
245
|
-
const previousHoverState = this._isHovered
|
|
246
|
-
|
|
247
|
-
this._isHovered = false
|
|
248
249
|
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))
|
|
249
250
|
|
|
250
|
-
if (
|
|
251
|
+
if (this._isHovered === false) {
|
|
251
252
|
this._leave()
|
|
252
253
|
}
|
|
254
|
+
|
|
255
|
+
this._isHovered = false
|
|
253
256
|
}
|
|
254
257
|
|
|
255
258
|
this._queueCallback(complete, this.tip, this._isAnimated())
|
|
@@ -279,7 +282,7 @@ class Tooltip extends BaseComponent {
|
|
|
279
282
|
this._activeTrigger[TRIGGER_CLICK] = false
|
|
280
283
|
this._activeTrigger[TRIGGER_FOCUS] = false
|
|
281
284
|
this._activeTrigger[TRIGGER_HOVER] = false
|
|
282
|
-
this._isHovered =
|
|
285
|
+
this._isHovered = null // it is a trick to support manual triggering
|
|
283
286
|
|
|
284
287
|
const complete = () => {
|
|
285
288
|
if (this._isWithActiveTrigger()) {
|
package/js/src/util/backdrop.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): util/backdrop.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): util/component-functions.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
package/js/src/util/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): util/config.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
package/js/src/util/focustrap.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): util/focustrap.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
package/js/src/util/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): util/index.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
package/js/src/util/sanitizer.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): util/sanitizer.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
package/js/src/util/scrollbar.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): util/scrollBar.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
package/js/src/util/swipe.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): util/swipe.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* --------------------------------------------------------------------------
|
|
3
|
-
* Bootstrap (v5.2.
|
|
3
|
+
* Bootstrap (v5.2.1): util/template-factory.js
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
* --------------------------------------------------------------------------
|
|
6
6
|
*/
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@openeuropa/bcl-bootstrap",
|
|
3
3
|
"author": "European Commission",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.28.0",
|
|
6
6
|
"description": "OE - BCL bootstrap 5 sources",
|
|
7
7
|
"bin": {
|
|
8
8
|
"plugins-builder": "./bin/build-plugins.js"
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@rollup/plugin-babel": "5.3.1",
|
|
21
|
-
"bootstrap": "5.2.
|
|
21
|
+
"bootstrap": "5.2.1",
|
|
22
22
|
"bootstrap-icons": "1.9.1",
|
|
23
23
|
"copyfiles": "2.4.1",
|
|
24
24
|
"npm-run-all": "4.1.5",
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"design-system",
|
|
42
42
|
"twig"
|
|
43
43
|
],
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "9ceb916258c8c7331f37bbb7c4380a2121440e12"
|
|
45
45
|
}
|
package/scss/_accordion.scss
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
.accordion {
|
|
6
6
|
// scss-docs-start accordion-css-vars
|
|
7
|
-
--#{$prefix}accordion-color: #{
|
|
7
|
+
--#{$prefix}accordion-color: #{$accordion-color};
|
|
8
8
|
--#{$prefix}accordion-bg: #{$accordion-bg};
|
|
9
9
|
--#{$prefix}accordion-transition: #{$accordion-transition};
|
|
10
10
|
--#{$prefix}accordion-border-color: #{$accordion-border-color};
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
--#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius};
|
|
14
14
|
--#{$prefix}accordion-btn-padding-x: #{$accordion-button-padding-x};
|
|
15
15
|
--#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y};
|
|
16
|
-
--#{$prefix}accordion-btn-color: #{$accordion-color};
|
|
16
|
+
--#{$prefix}accordion-btn-color: #{$accordion-button-color};
|
|
17
17
|
--#{$prefix}accordion-btn-bg: #{$accordion-button-bg};
|
|
18
18
|
--#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon)};
|
|
19
19
|
--#{$prefix}accordion-btn-icon-width: #{$accordion-icon-width};
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
&:not(.collapsed) {
|
|
48
48
|
color: var(--#{$prefix}accordion-active-color);
|
|
49
49
|
background-color: var(--#{$prefix}accordion-active-bg);
|
|
50
|
-
box-shadow: inset 0 calc(var(--#{$prefix}accordion-border-width)
|
|
50
|
+
box-shadow: inset 0 calc(-1 * var(--#{$prefix}accordion-border-width)) 0 var(--#{$prefix}accordion-border-color); // stylelint-disable-line function-disallowed-list
|
|
51
51
|
|
|
52
52
|
&::after {
|
|
53
53
|
background-image: var(--#{$prefix}accordion-btn-active-icon);
|
|
@@ -140,7 +140,10 @@
|
|
|
140
140
|
&:last-child { border-bottom: 0; }
|
|
141
141
|
|
|
142
142
|
.accordion-button {
|
|
143
|
-
|
|
143
|
+
&,
|
|
144
|
+
&.collapsed {
|
|
145
|
+
@include border-radius(0);
|
|
146
|
+
}
|
|
144
147
|
}
|
|
145
148
|
}
|
|
146
149
|
}
|
package/scss/_button-group.scss
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
@include border-radius($btn-border-radius);
|
|
38
38
|
|
|
39
39
|
// Prevent double borders when buttons are next to each other
|
|
40
|
-
>
|
|
40
|
+
> :not(.btn-check:first-child) + .btn,
|
|
41
41
|
> .btn-group:not(:first-child) {
|
|
42
42
|
margin-left: -$btn-border-width;
|
|
43
43
|
}
|
package/scss/_buttons.scss
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
--#{$prefix}btn-border-width: #{$btn-border-width};
|
|
16
16
|
--#{$prefix}btn-border-color: transparent;
|
|
17
17
|
--#{$prefix}btn-border-radius: #{$btn-border-radius};
|
|
18
|
+
--#{$prefix}btn-hover-border-color: transparent;
|
|
18
19
|
--#{$prefix}btn-box-shadow: #{$btn-box-shadow};
|
|
19
20
|
--#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};
|
|
20
21
|
--#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5);
|
|
@@ -39,15 +40,15 @@
|
|
|
39
40
|
@include box-shadow(var(--#{$prefix}btn-box-shadow));
|
|
40
41
|
@include transition($btn-transition);
|
|
41
42
|
|
|
42
|
-
&:hover
|
|
43
|
+
:not(.btn-check) + &:hover,
|
|
44
|
+
&:first-child:hover {
|
|
43
45
|
color: var(--#{$prefix}btn-hover-color);
|
|
44
46
|
text-decoration: if($link-hover-decoration == underline, none, null);
|
|
45
47
|
background-color: var(--#{$prefix}btn-hover-bg);
|
|
46
48
|
border-color: var(--#{$prefix}btn-hover-border-color);
|
|
47
49
|
}
|
|
48
50
|
|
|
49
|
-
|
|
50
|
-
&:focus {
|
|
51
|
+
&:focus-visible {
|
|
51
52
|
color: var(--#{$prefix}btn-hover-color);
|
|
52
53
|
@include gradient-bg(var(--#{$prefix}btn-hover-bg));
|
|
53
54
|
border-color: var(--#{$prefix}btn-hover-border-color);
|
|
@@ -60,9 +61,20 @@
|
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
63
|
|
|
64
|
+
.btn-check:focus-visible + & {
|
|
65
|
+
border-color: var(--#{$prefix}btn-hover-border-color);
|
|
66
|
+
outline: 0;
|
|
67
|
+
// Avoid using mixin so we can pass custom focus shadow properly
|
|
68
|
+
@if $enable-shadows {
|
|
69
|
+
box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);
|
|
70
|
+
} @else {
|
|
71
|
+
box-shadow: var(--#{$prefix}btn-focus-box-shadow);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
63
75
|
.btn-check:checked + &,
|
|
64
|
-
.btn-check
|
|
65
|
-
&:active,
|
|
76
|
+
:not(.btn-check) + &:active,
|
|
77
|
+
&:first-child:active,
|
|
66
78
|
&.active,
|
|
67
79
|
&.show {
|
|
68
80
|
color: var(--#{$prefix}btn-active-color);
|
|
@@ -72,7 +84,7 @@
|
|
|
72
84
|
border-color: var(--#{$prefix}btn-active-border-color);
|
|
73
85
|
@include box-shadow(var(--#{$prefix}btn-active-shadow));
|
|
74
86
|
|
|
75
|
-
&:focus {
|
|
87
|
+
&:focus-visible {
|
|
76
88
|
// Avoid using mixin so we can pass custom focus shadow properly
|
|
77
89
|
@if $enable-shadows {
|
|
78
90
|
box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
|
|
@@ -155,13 +167,16 @@
|
|
|
155
167
|
--#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix(color-contrast($primary), $primary, 15%))};
|
|
156
168
|
|
|
157
169
|
text-decoration: $link-decoration;
|
|
170
|
+
@if $enable-gradients {
|
|
171
|
+
background-image: none;
|
|
172
|
+
}
|
|
158
173
|
|
|
159
174
|
&:hover,
|
|
160
|
-
&:focus {
|
|
175
|
+
&:focus-visible {
|
|
161
176
|
text-decoration: $link-hover-decoration;
|
|
162
177
|
}
|
|
163
178
|
|
|
164
|
-
&:focus {
|
|
179
|
+
&:focus-visible {
|
|
165
180
|
color: var(--#{$prefix}btn-color);
|
|
166
181
|
}
|
|
167
182
|
|
package/scss/_dropdown.scss
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
// The dropdown menu
|
|
19
19
|
.dropdown-menu {
|
|
20
20
|
// scss-docs-start dropdown-css-vars
|
|
21
|
+
--#{$prefix}dropdown-zindex: #{$zindex-dropdown};
|
|
21
22
|
--#{$prefix}dropdown-min-width: #{$dropdown-min-width};
|
|
22
23
|
--#{$prefix}dropdown-padding-x: #{$dropdown-padding-x};
|
|
23
24
|
--#{$prefix}dropdown-padding-y: #{$dropdown-padding-y};
|
|
@@ -46,7 +47,7 @@
|
|
|
46
47
|
// scss-docs-end dropdown-css-vars
|
|
47
48
|
|
|
48
49
|
position: absolute;
|
|
49
|
-
z-index: $zindex
|
|
50
|
+
z-index: var(--#{$prefix}dropdown-zindex);
|
|
50
51
|
display: none; // none by default, but block on "open" of the menu
|
|
51
52
|
min-width: var(--#{$prefix}dropdown-min-width);
|
|
52
53
|
padding: var(--#{$prefix}dropdown-padding-y) var(--#{$prefix}dropdown-padding-x);
|
package/scss/_functions.scss
CHANGED
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
// Replace `$search` with `$replace` in `$string`
|
|
110
110
|
// Used on our SVG icon backgrounds for custom forms.
|
|
111
111
|
//
|
|
112
|
-
// @author
|
|
112
|
+
// @author Kitty Giraudel
|
|
113
113
|
// @param {String} $string - Initial string
|
|
114
114
|
// @param {String} $search - Substring to replace
|
|
115
115
|
// @param {String} $replace ('') - New value
|
package/scss/_list-group.scss
CHANGED
|
@@ -104,11 +104,12 @@
|
|
|
104
104
|
border-color: var(--#{$prefix}list-group-active-border-color);
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
// stylelint-disable-next-line scss/selector-no-redundant-nesting-selector
|
|
108
|
+
& + .list-group-item {
|
|
108
109
|
border-top-width: 0;
|
|
109
110
|
|
|
110
111
|
&.active {
|
|
111
|
-
margin-top: calc(var(--#{$prefix}list-group-border-width)
|
|
112
|
+
margin-top: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list
|
|
112
113
|
border-top-width: var(--#{$prefix}list-group-border-width);
|
|
113
114
|
}
|
|
114
115
|
}
|
|
@@ -126,12 +127,12 @@
|
|
|
126
127
|
flex-direction: row;
|
|
127
128
|
|
|
128
129
|
> .list-group-item {
|
|
129
|
-
&:first-child {
|
|
130
|
+
&:first-child:not(:last-child) {
|
|
130
131
|
@include border-bottom-start-radius(var(--#{$prefix}list-group-border-radius));
|
|
131
132
|
@include border-top-end-radius(0);
|
|
132
133
|
}
|
|
133
134
|
|
|
134
|
-
&:last-child {
|
|
135
|
+
&:last-child:not(:first-child) {
|
|
135
136
|
@include border-top-end-radius(var(--#{$prefix}list-group-border-radius));
|
|
136
137
|
@include border-bottom-start-radius(0);
|
|
137
138
|
}
|
|
@@ -145,7 +146,7 @@
|
|
|
145
146
|
border-left-width: 0;
|
|
146
147
|
|
|
147
148
|
&.active {
|
|
148
|
-
margin-left: calc(var(--#{$prefix}list-group-border-width)
|
|
149
|
+
margin-left: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list
|
|
149
150
|
border-left-width: var(--#{$prefix}list-group-border-width);
|
|
150
151
|
}
|
|
151
152
|
}
|
package/scss/_modal.scss
CHANGED
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
|
|
134
134
|
.btn-close {
|
|
135
135
|
padding: calc(var(--#{$prefix}modal-header-padding-y) * .5) calc(var(--#{$prefix}modal-header-padding-x) * .5);
|
|
136
|
-
margin: calc(var(--#{$prefix}modal-header-padding-y)
|
|
136
|
+
margin: calc(-.5 * var(--#{$prefix}modal-header-padding-y)) calc(-.5 * var(--#{$prefix}modal-header-padding-x)) calc(-.5 * var(--#{$prefix}modal-header-padding-y)) auto;
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
|
package/scss/_nav.scss
CHANGED
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
border-bottom: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);
|
|
63
63
|
|
|
64
64
|
.nav-link {
|
|
65
|
-
margin-bottom: calc(var(--#{$prefix}nav-tabs-border-width)
|
|
65
|
+
margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list
|
|
66
66
|
background: none;
|
|
67
67
|
border: var(--#{$prefix}nav-tabs-border-width) solid transparent;
|
|
68
68
|
@include border-top-radius(var(--#{$prefix}nav-tabs-border-radius));
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
|
|
92
92
|
.dropdown-menu {
|
|
93
93
|
// Make dropdown border overlap tab border
|
|
94
|
-
margin-top: calc(var(--#{$prefix}nav-tabs-border-width)
|
|
94
|
+
margin-top: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list
|
|
95
95
|
// Remove the top rounded corners here since there is a hard edge above the menu
|
|
96
96
|
@include border-top-radius(0);
|
|
97
97
|
}
|
package/scss/_navbar.scss
CHANGED
|
@@ -265,6 +265,7 @@
|
|
|
265
265
|
}
|
|
266
266
|
|
|
267
267
|
.navbar-dark {
|
|
268
|
+
// scss-docs-start navbar-dark-css-vars
|
|
268
269
|
--#{$prefix}navbar-color: #{$navbar-dark-color};
|
|
269
270
|
--#{$prefix}navbar-hover-color: #{$navbar-dark-hover-color};
|
|
270
271
|
--#{$prefix}navbar-disabled-color: #{$navbar-dark-disabled-color};
|
|
@@ -273,4 +274,5 @@
|
|
|
273
274
|
--#{$prefix}navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};
|
|
274
275
|
--#{$prefix}navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};
|
|
275
276
|
--#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};
|
|
277
|
+
// scss-docs-end navbar-dark-css-vars
|
|
276
278
|
}
|
package/scss/_offcanvas.scss
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
%offcanvas-css-vars {
|
|
4
4
|
// scss-docs-start offcanvas-css-vars
|
|
5
|
+
--#{$prefix}offcanvas-zindex: #{$zindex-offcanvas};
|
|
5
6
|
--#{$prefix}offcanvas-width: #{$offcanvas-horizontal-width};
|
|
6
7
|
--#{$prefix}offcanvas-height: #{$offcanvas-vertical-height};
|
|
7
8
|
--#{$prefix}offcanvas-padding-x: #{$offcanvas-padding-x};
|
|
@@ -31,7 +32,7 @@
|
|
|
31
32
|
@include media-breakpoint-down($next) {
|
|
32
33
|
position: fixed;
|
|
33
34
|
bottom: 0;
|
|
34
|
-
z-index: $zindex
|
|
35
|
+
z-index: var(--#{$prefix}offcanvas-zindex);
|
|
35
36
|
display: flex;
|
|
36
37
|
flex-direction: column;
|
|
37
38
|
max-width: 100%;
|
|
@@ -125,9 +126,9 @@
|
|
|
125
126
|
|
|
126
127
|
.btn-close {
|
|
127
128
|
padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5);
|
|
128
|
-
margin-top: calc(var(--#{$prefix}offcanvas-padding-y)
|
|
129
|
-
margin-right: calc(var(--#{$prefix}offcanvas-padding-x)
|
|
130
|
-
margin-bottom: calc(var(--#{$prefix}offcanvas-padding-y)
|
|
129
|
+
margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
|
|
130
|
+
margin-right: calc(-.5 * var(--#{$prefix}offcanvas-padding-x));
|
|
131
|
+
margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
134
|
|
package/scss/_pagination.scss
CHANGED
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
margin-left: $pagination-margin-start;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
@if $pagination-margin-start == (
|
|
78
|
+
@if $pagination-margin-start == ($pagination-border-width * -1) {
|
|
79
79
|
&:first-child {
|
|
80
80
|
.page-link {
|
|
81
81
|
@include border-start-radius(var(--#{$prefix}pagination-border-radius));
|
package/scss/_popover.scss
CHANGED
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
|
|
57
57
|
.bs-popover-top {
|
|
58
58
|
> .popover-arrow {
|
|
59
|
-
bottom: calc((var(--#{$prefix}popover-arrow-height)
|
|
59
|
+
bottom: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list
|
|
60
60
|
|
|
61
61
|
&::before,
|
|
62
62
|
&::after {
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
/* rtl:begin:ignore */
|
|
79
79
|
.bs-popover-end {
|
|
80
80
|
> .popover-arrow {
|
|
81
|
-
left: calc((var(--#{$prefix}popover-arrow-height)
|
|
81
|
+
left: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list
|
|
82
82
|
width: var(--#{$prefix}popover-arrow-height);
|
|
83
83
|
height: var(--#{$prefix}popover-arrow-width);
|
|
84
84
|
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
|
|
104
104
|
.bs-popover-bottom {
|
|
105
105
|
> .popover-arrow {
|
|
106
|
-
top: calc((var(--#{$prefix}popover-arrow-height)
|
|
106
|
+
top: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list
|
|
107
107
|
|
|
108
108
|
&::before,
|
|
109
109
|
&::after {
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
left: 50%;
|
|
129
129
|
display: block;
|
|
130
130
|
width: var(--#{$prefix}popover-arrow-width);
|
|
131
|
-
margin-left: calc(var(--#{$prefix}popover-arrow-width)
|
|
131
|
+
margin-left: calc(-.5 * var(--#{$prefix}popover-arrow-width)); // stylelint-disable-line function-disallowed-list
|
|
132
132
|
content: "";
|
|
133
133
|
border-bottom: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-header-bg);
|
|
134
134
|
}
|
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
/* rtl:begin:ignore */
|
|
138
138
|
.bs-popover-start {
|
|
139
139
|
> .popover-arrow {
|
|
140
|
-
right: calc((var(--#{$prefix}popover-arrow-height)
|
|
140
|
+
right: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list
|
|
141
141
|
width: var(--#{$prefix}popover-arrow-height);
|
|
142
142
|
height: var(--#{$prefix}popover-arrow-width);
|
|
143
143
|
|
package/scss/_toasts.scss
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
.toast {
|
|
2
2
|
// scss-docs-start toast-css-vars
|
|
3
|
+
--#{$prefix}toast-zindex: #{$zindex-toast};
|
|
3
4
|
--#{$prefix}toast-padding-x: #{$toast-padding-x};
|
|
4
5
|
--#{$prefix}toast-padding-y: #{$toast-padding-y};
|
|
5
6
|
--#{$prefix}toast-spacing: #{$toast-spacing};
|
|
@@ -38,7 +39,7 @@
|
|
|
38
39
|
|
|
39
40
|
.toast-container {
|
|
40
41
|
position: absolute;
|
|
41
|
-
z-index: $zindex
|
|
42
|
+
z-index: var(--#{$prefix}toast-zindex);
|
|
42
43
|
width: max-content;
|
|
43
44
|
max-width: 100%;
|
|
44
45
|
pointer-events: none;
|
|
@@ -59,7 +60,7 @@
|
|
|
59
60
|
@include border-top-radius(calc(var(--#{$prefix}toast-border-radius) - var(--#{$prefix}toast-border-width)));
|
|
60
61
|
|
|
61
62
|
.btn-close {
|
|
62
|
-
margin-right: calc(var(--#{$prefix}toast-padding-x)
|
|
63
|
+
margin-right: calc(-.5 * var(--#{$prefix}toast-padding-x)); // stylelint-disable-line function-disallowed-list
|
|
63
64
|
margin-left: var(--#{$prefix}toast-padding-x);
|
|
64
65
|
}
|
|
65
66
|
}
|