@openeuropa/bcl-theme-default 1.10.7 → 1.10.9
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/css/color-scheme.min.css +1 -1
- package/css/color-scheme.min.css.map +1 -1
- package/css/oe-bcl-ckeditor5.min.css +1 -1
- package/css/oe-bcl-ckeditor5.min.css.map +1 -1
- package/css/oe-bcl-default.css +315 -174
- package/css/oe-bcl-default.css.map +1 -1
- package/css/oe-bcl-default.min.css +1 -1
- package/css/oe-bcl-default.min.css.map +1 -1
- package/icons/bcl-default-icons.svg +1 -1
- package/icons/bootstrap-icons.svg +1 -1
- package/js/oe-bcl-default.bundle.js +86 -14
- package/js/oe-bcl-default.bundle.js.map +1 -1
- package/js/oe-bcl-default.bundle.min.js +1 -1
- package/js/oe-bcl-default.bundle.min.js.map +1 -1
- package/js/oe-bcl-default.esm.js +85 -14
- package/js/oe-bcl-default.esm.js.map +1 -1
- package/js/oe-bcl-default.esm.min.js +1 -1
- package/js/oe-bcl-default.esm.min.js.map +1 -1
- package/js/oe-bcl-default.umd.js +86 -14
- package/js/oe-bcl-default.umd.js.map +1 -1
- package/js/oe-bcl-default.umd.min.js +1 -1
- package/js/oe-bcl-default.umd.min.js.map +1 -1
- package/package.json +7 -7
- package/src/icons/icons.js +2 -0
- package/src/js/accordion-toggle/accordion-toggle.js +24 -9
- package/src/js/header/header.js +91 -0
- package/src/js/index.esm.js +2 -0
- package/src/js/index.umd.js +2 -0
- package/src/scss/_header.scss +27 -82
- package/src/scss/_input.scss +72 -31
- package/src/scss/_mega-menu.scss +50 -61
- package/src/scss/_multiselect-2.scss +33 -11
- package/src/scss/_pagination-v2.scss +86 -0
- package/src/scss/_pagination.scss +1 -0
- package/src/scss/_search-form.scss +4 -0
- package/src/scss/base/_mixins.scss +21 -0
- package/src/scss/base/_utilities.scss +8 -0
- package/src/scss/base/_variables.scss +3 -0
- package/src/scss/oe-bcl-default.scss +1 -0
- package/templates/bcl-base-templates/listing-page.html.twig +17 -19
- package/templates/bcl-contact-form/contact-form.html.twig +3 -3
- package/templates/bcl-content-banner/content-banner.html.twig +3 -0
- package/templates/bcl-dropdown/dropdown.html.twig +12 -7
- package/templates/bcl-event/event.html.twig +5 -5
- package/templates/bcl-file/file.html.twig +1 -1
- package/templates/bcl-glossary/glossary-detail.html.twig +4 -5
- package/templates/bcl-glossary/glossary-listing.html.twig +5 -5
- package/templates/bcl-group/group-landing.html.twig +5 -5
- package/templates/bcl-group/group.html.twig +3 -3
- package/templates/bcl-header/header.html.twig +43 -50
- package/templates/bcl-landing-page/landing-page.html.twig +5 -8
- package/templates/bcl-language-list/language-list-modal.html.twig +58 -5
- package/templates/bcl-links-block/links-block.html.twig +1 -1
- package/templates/bcl-mega-menu/mega-menu-submenu.html.twig +10 -7
- package/templates/bcl-modal/modal.html.twig +20 -7
- package/templates/bcl-navigation/navigation.html.twig +8 -0
- package/templates/bcl-page/page.html.twig +5 -5
- package/templates/bcl-pagination-v2/pagination-item.html.twig +90 -0
- package/templates/bcl-pagination-v2/pagination.html.twig +213 -0
- package/templates/bcl-person/person.html.twig +5 -5
- package/templates/bcl-project/project.html.twig +7 -7
- package/templates/bcl-project-status/project-contributions.html.twig +1 -1
- package/templates/bcl-search/search.html.twig +3 -3
- package/templates/bcl-subscription/subscription.html.twig +5 -5
- package/templates/{bcl-toast → bcl-toasts}/toasts.html.twig +17 -8
- package/templates/bcl-user/user-terms.html.twig +3 -3
- package/templates/bcl-user/user.html.twig +3 -3
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@openeuropa/bcl-theme-default",
|
|
3
3
|
"author": "European Commission",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
|
-
"version": "1.10.
|
|
5
|
+
"version": "1.10.9",
|
|
6
6
|
"description": "OE - BCL theme default",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"align-templates": "lerna --scope \"@openeuropa/bcl-twig-templates\" run prepublish",
|
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
"@ecl/resources-ec-logo": "3.7.1",
|
|
23
23
|
"@ecl/resources-eu-logo": "3.7.1",
|
|
24
24
|
"@ecl/resources-flag-icons": "3.7.1",
|
|
25
|
-
"@openeuropa/bcl-bootstrap": "^1.10.
|
|
26
|
-
"@openeuropa/bcl-builder": "^1.10.
|
|
27
|
-
"@openeuropa/bcl-twig-templates": "^1.10.
|
|
25
|
+
"@openeuropa/bcl-bootstrap": "^1.10.9",
|
|
26
|
+
"@openeuropa/bcl-builder": "^1.10.9",
|
|
27
|
+
"@openeuropa/bcl-twig-templates": "^1.10.9",
|
|
28
28
|
"@rollup/plugin-replace": "6.0.2",
|
|
29
29
|
"copyfiles": "2.4.1",
|
|
30
|
-
"cross-env": "
|
|
30
|
+
"cross-env": "10.1.0",
|
|
31
31
|
"flag-icons": "6.9.2",
|
|
32
|
-
"glob": "11.0.
|
|
32
|
+
"glob": "11.0.3",
|
|
33
33
|
"npm-run-all": "4.1.5",
|
|
34
34
|
"slim-select": "1.27.1",
|
|
35
35
|
"slim-select-2": "github:tibi2303/slim-select#master"
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"design-system",
|
|
52
52
|
"twig"
|
|
53
53
|
],
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "cb9864341bfc98404071520d61568bd18e17e1fe"
|
|
55
55
|
}
|
package/src/icons/icons.js
CHANGED
|
@@ -56,6 +56,7 @@ module.exports = [
|
|
|
56
56
|
"exclamation-lg.svg",
|
|
57
57
|
"question-lg.svg",
|
|
58
58
|
"info-lg.svg",
|
|
59
|
+
"x.svg",
|
|
59
60
|
"x-lg.svg",
|
|
60
61
|
"plus-lg.svg",
|
|
61
62
|
"dash-lg.svg",
|
|
@@ -115,6 +116,7 @@ module.exports = [
|
|
|
115
116
|
"trash.svg",
|
|
116
117
|
"trash-fill.svg",
|
|
117
118
|
"link.svg",
|
|
119
|
+
"list.svg",
|
|
118
120
|
|
|
119
121
|
// Social.svg
|
|
120
122
|
"skype.svg",
|
|
@@ -3,8 +3,6 @@ import EventHandler from "@openeuropa/bcl-bootstrap/js/src/dom/event-handler";
|
|
|
3
3
|
import SelectorEngine from "@openeuropa/bcl-bootstrap/js/src/dom/selector-engine";
|
|
4
4
|
|
|
5
5
|
class AccordionToggle {
|
|
6
|
-
static isInitialized = false;
|
|
7
|
-
|
|
8
6
|
constructor(buttonElement) {
|
|
9
7
|
this.buttonElement = buttonElement;
|
|
10
8
|
this.targetAccordionId = buttonElement.getAttribute("data-target");
|
|
@@ -36,16 +34,33 @@ class AccordionToggle {
|
|
|
36
34
|
});
|
|
37
35
|
}
|
|
38
36
|
|
|
39
|
-
static init() {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
static init(root = document.documentElement) {
|
|
38
|
+
const context = root instanceof Document ? root.documentElement : root;
|
|
39
|
+
|
|
40
|
+
const toggleButtons =
|
|
41
|
+
context instanceof Element
|
|
42
|
+
? SelectorEngine.find('[data-action][data-target]', context)
|
|
43
|
+
: context && typeof context.querySelectorAll === "function"
|
|
44
|
+
? Array.from(context.querySelectorAll('[data-action][data-target]'))
|
|
45
|
+
: SelectorEngine.find('[data-action][data-target]');
|
|
43
46
|
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
toggleButtons.forEach((buttonElement) => {
|
|
48
|
+
if (buttonElement.dataset.accordionToggleInitialized === "true") {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
46
51
|
|
|
47
|
-
|
|
52
|
+
new AccordionToggle(buttonElement);
|
|
53
|
+
buttonElement.dataset.accordionToggleInitialized = "true";
|
|
54
|
+
});
|
|
48
55
|
}
|
|
49
56
|
}
|
|
50
57
|
|
|
58
|
+
const initializeAccordionToggle = () => AccordionToggle.init();
|
|
59
|
+
|
|
60
|
+
if (document.readyState === "loading") {
|
|
61
|
+
document.addEventListener("DOMContentLoaded", initializeAccordionToggle);
|
|
62
|
+
} else {
|
|
63
|
+
initializeAccordionToggle();
|
|
64
|
+
}
|
|
65
|
+
|
|
51
66
|
export default AccordionToggle;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import EventHandler from "@openeuropa/bcl-bootstrap/js/src/dom/event-handler";
|
|
2
|
+
import SelectorEngine from "@openeuropa/bcl-bootstrap/js/src/dom/selector-engine";
|
|
3
|
+
|
|
4
|
+
const HEADER_SELECTOR = ".bcl-header";
|
|
5
|
+
const TOGGLER_SELECTOR = ".bcl-navbar-toggler";
|
|
6
|
+
const OFFSET_VARIABLE = "--oel-mega-menu-offset-top";
|
|
7
|
+
|
|
8
|
+
class Header {
|
|
9
|
+
scheduleUpdate = () => {
|
|
10
|
+
if (this.frameRequest) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
this.frameRequest = window.requestAnimationFrame(() => {
|
|
15
|
+
this.frameRequest = null;
|
|
16
|
+
this.updateOffset();
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
constructor(element) {
|
|
21
|
+
this.element = element;
|
|
22
|
+
this.frameRequest = null;
|
|
23
|
+
this.resizeObserver = null;
|
|
24
|
+
|
|
25
|
+
this.init();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
init() {
|
|
29
|
+
this.updateOffset();
|
|
30
|
+
|
|
31
|
+
EventHandler.on(window, "resize", this.scheduleUpdate);
|
|
32
|
+
EventHandler.on(window, "orientationchange", this.scheduleUpdate);
|
|
33
|
+
|
|
34
|
+
const togglers = SelectorEngine.find(TOGGLER_SELECTOR, this.element);
|
|
35
|
+
togglers.forEach((toggler) => {
|
|
36
|
+
// Some layouts move the header when the nav toggler expands; keep offset in sync.
|
|
37
|
+
EventHandler.on(toggler, "click", this.scheduleUpdate);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
updateOffset() {
|
|
42
|
+
if (!this.element) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const rect = this.element.getBoundingClientRect();
|
|
47
|
+
const offset = Math.max(0, rect.top);
|
|
48
|
+
const value = `${offset}px`;
|
|
49
|
+
|
|
50
|
+
if (this.element.style.getPropertyValue(OFFSET_VARIABLE) === value) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
this.element.style.setProperty(OFFSET_VARIABLE, value);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static init(root) {
|
|
58
|
+
if (typeof document === "undefined" || typeof window === "undefined") {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const resolvedRoot = root || document;
|
|
63
|
+
const context =
|
|
64
|
+
resolvedRoot instanceof Element
|
|
65
|
+
? resolvedRoot
|
|
66
|
+
: resolvedRoot.documentElement || document.documentElement;
|
|
67
|
+
|
|
68
|
+
const headers = SelectorEngine.find(HEADER_SELECTOR, context);
|
|
69
|
+
|
|
70
|
+
headers.forEach((headerElement) => {
|
|
71
|
+
if (headerElement.dataset.headerOffsetInitialized === "true") {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
headerElement.dataset.headerOffsetInitialized = "true";
|
|
76
|
+
new Header(headerElement);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (typeof document !== "undefined") {
|
|
82
|
+
const initializeHeaderOffset = () => Header.init();
|
|
83
|
+
|
|
84
|
+
if (document.readyState === "loading") {
|
|
85
|
+
document.addEventListener("DOMContentLoaded", initializeHeaderOffset);
|
|
86
|
+
} else {
|
|
87
|
+
initializeHeaderOffset();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export default Header;
|
package/src/js/index.esm.js
CHANGED
|
@@ -23,6 +23,7 @@ import Tooltip from "@openeuropa/bcl-bootstrap/js/src/tooltip";
|
|
|
23
23
|
import Gallery from "@openeuropa/bcl-theme-default/src/js/gallery/gallery";
|
|
24
24
|
import AccordionToggle from "@openeuropa/bcl-theme-default/src/js/accordion-toggle/accordion-toggle";
|
|
25
25
|
import AccessibleToggle from "@openeuropa/bcl-theme-default/src/js/accessible-toggle/accessible-toggle";
|
|
26
|
+
import Header from "@openeuropa/bcl-theme-default/src/js/header/header";
|
|
26
27
|
|
|
27
28
|
export {
|
|
28
29
|
Alert,
|
|
@@ -43,4 +44,5 @@ export {
|
|
|
43
44
|
Gallery,
|
|
44
45
|
AccessibleToggle,
|
|
45
46
|
AccordionToggle,
|
|
47
|
+
Header,
|
|
46
48
|
};
|
package/src/js/index.umd.js
CHANGED
|
@@ -23,6 +23,7 @@ import Tooltip from "@openeuropa/bcl-bootstrap/js/src/tooltip";
|
|
|
23
23
|
import AccordionToggle from "@openeuropa/bcl-theme-default/src/js/accordion-toggle/accordion-toggle";
|
|
24
24
|
import Gallery from "@openeuropa/bcl-theme-default/src/js/gallery/gallery";
|
|
25
25
|
import AccessibleToggle from "@openeuropa/bcl-theme-default/src/js/accessible-toggle/accessible-toggle";
|
|
26
|
+
import Header from "@openeuropa/bcl-theme-default/src/js/header/header";
|
|
26
27
|
|
|
27
28
|
export default {
|
|
28
29
|
Alert,
|
|
@@ -43,4 +44,5 @@ export default {
|
|
|
43
44
|
Gallery,
|
|
44
45
|
AccessibleToggle,
|
|
45
46
|
AccordionToggle,
|
|
47
|
+
Header,
|
|
46
48
|
};
|
package/src/scss/_header.scss
CHANGED
|
@@ -4,25 +4,37 @@ $header-background-start: #039 !default;
|
|
|
4
4
|
$header-background-end: #1b4ac3 !default;
|
|
5
5
|
$header-link-active-background: #003776 !default;
|
|
6
6
|
|
|
7
|
-
.bcl-header__project {
|
|
8
|
-
background: linear-gradient(
|
|
9
|
-
90deg,
|
|
10
|
-
$header-background-start 0%,
|
|
11
|
-
$header-background-end 100%
|
|
12
|
-
);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
7
|
.bcl-header .nav-link {
|
|
16
8
|
color: $eu-blue;
|
|
17
9
|
display: flex;
|
|
18
10
|
align-items: center;
|
|
19
11
|
}
|
|
20
12
|
|
|
13
|
+
.bcl-navbar-toggler {
|
|
14
|
+
background: transparent;
|
|
15
|
+
border: none;
|
|
16
|
+
border-radius: var(--bs-border-radius-sm);
|
|
17
|
+
padding: map-get($spacers, "1-5") map-get($spacers, "2-5");
|
|
18
|
+
color: $link-color;
|
|
19
|
+
line-height: 1;
|
|
20
|
+
@extend .rounded-2;
|
|
21
|
+
.active-icon {
|
|
22
|
+
display: none;
|
|
23
|
+
}
|
|
24
|
+
&[aria-expanded="true"] {
|
|
25
|
+
background-color: $primary;
|
|
26
|
+
color: $white;
|
|
27
|
+
.active-icon {
|
|
28
|
+
display: block;
|
|
29
|
+
}
|
|
30
|
+
.default-icon {
|
|
31
|
+
display: none;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
21
36
|
.bcl-header--ec,
|
|
22
37
|
.ec__header {
|
|
23
|
-
.bcl-header__project {
|
|
24
|
-
background: $header-background;
|
|
25
|
-
}
|
|
26
38
|
/* stylelint-disable-next-line no-descending-specificity */
|
|
27
39
|
.nav-link {
|
|
28
40
|
color: $ec-blue;
|
|
@@ -33,21 +45,8 @@ $header-link-active-background: #003776 !default;
|
|
|
33
45
|
align-items: flex-end;
|
|
34
46
|
}
|
|
35
47
|
|
|
36
|
-
.bcl-header--neutral {
|
|
37
|
-
.bcl-header__project {
|
|
38
|
-
background: $gray-700;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.bcl-header:not(.bcl-header--neutral) .bcl-header__project {
|
|
43
|
-
padding-top: map-get($spacers, 3);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
48
|
.bcl-header {
|
|
47
|
-
|
|
48
|
-
width: 100px;
|
|
49
|
-
}
|
|
50
|
-
|
|
49
|
+
--oel-mega-menu-offset-top: 0px;
|
|
51
50
|
.notification {
|
|
52
51
|
position: relative;
|
|
53
52
|
padding-right: 0;
|
|
@@ -64,16 +63,6 @@ $header-link-active-background: #003776 !default;
|
|
|
64
63
|
}
|
|
65
64
|
}
|
|
66
65
|
|
|
67
|
-
.bcl-header__project .bcl-header__site-name {
|
|
68
|
-
display: inline-block;
|
|
69
|
-
margin-bottom: 0;
|
|
70
|
-
font-size: 1.3rem;
|
|
71
|
-
font-weight: 300;
|
|
72
|
-
color: $white;
|
|
73
|
-
vertical-align: middle;
|
|
74
|
-
max-width: 80%;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
66
|
.bcl-header__navbar.navbar {
|
|
78
67
|
padding: 0;
|
|
79
68
|
.dropdown-toggle,
|
|
@@ -87,12 +76,6 @@ $header-link-active-background: #003776 !default;
|
|
|
87
76
|
}
|
|
88
77
|
}
|
|
89
78
|
|
|
90
|
-
@media only screen and (max-width: 400px) {
|
|
91
|
-
.bcl-header--neutral .bcl-header__project-logo {
|
|
92
|
-
display: none;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
79
|
@include media-breakpoint-up(md) {
|
|
97
80
|
.bcl-header--ec,
|
|
98
81
|
.ec__header {
|
|
@@ -114,33 +97,17 @@ $header-link-active-background: #003776 !default;
|
|
|
114
97
|
header:has(.bcl-header__navbar #main-navbar.show),
|
|
115
98
|
header:has(.bcl-header__navbar.collapsing),
|
|
116
99
|
header:has(.bcl-header__navbar.show) {
|
|
117
|
-
height: 100vh;
|
|
100
|
+
height: calc(100vh - var(--oel-mega-menu-offset-top, 0px));
|
|
118
101
|
display: flex;
|
|
119
102
|
flex-flow: column;
|
|
120
|
-
overflow: auto;
|
|
121
103
|
|
|
122
104
|
> div:has(.breadcrumb) {
|
|
123
105
|
display: none;
|
|
124
106
|
}
|
|
125
107
|
}
|
|
126
108
|
|
|
127
|
-
.bcl-header__project {
|
|
128
|
-
padding: map-get($spacers, 3) 0;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
109
|
.bcl-header {
|
|
132
|
-
|
|
133
|
-
z-index: 1040; // Make sure project bar is above the mega menu
|
|
134
|
-
position: relative;
|
|
135
|
-
box-shadow: var(--bs-box-shadow);
|
|
136
|
-
flex-shrink: 0;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
.bcl-header:not(:has(.bcl-header__project)) {
|
|
141
|
-
> .navbar:first-child {
|
|
142
|
-
box-shadow: var(--bs-box-shadow);
|
|
143
|
-
}
|
|
110
|
+
box-shadow: var(--bs-box-shadow);
|
|
144
111
|
}
|
|
145
112
|
|
|
146
113
|
.bcl-header nav + nav {
|
|
@@ -160,6 +127,7 @@ $header-link-active-background: #003776 !default;
|
|
|
160
127
|
z-index: 1030;
|
|
161
128
|
width: 100%;
|
|
162
129
|
align-items: flex-start;
|
|
130
|
+
overflow: auto;
|
|
163
131
|
.navbar-nav {
|
|
164
132
|
width: 100%;
|
|
165
133
|
margin-top: 1rem;
|
|
@@ -225,12 +193,6 @@ $header-link-active-background: #003776 !default;
|
|
|
225
193
|
}
|
|
226
194
|
|
|
227
195
|
@include media-breakpoint-up(lg) {
|
|
228
|
-
.bcl-header__project.light,
|
|
229
|
-
.bcl-header--ec .bcl-header__project.light,
|
|
230
|
-
.ec__header .bcl-header__project.light {
|
|
231
|
-
background: $white;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
196
|
.bcl-header__navbar {
|
|
235
197
|
background: linear-gradient(
|
|
236
198
|
90deg,
|
|
@@ -256,33 +218,16 @@ $header-link-active-background: #003776 !default;
|
|
|
256
218
|
}
|
|
257
219
|
}
|
|
258
220
|
|
|
259
|
-
.bcl-header__site-name {
|
|
260
|
-
margin-left: map-get($spacers, 4);
|
|
261
|
-
font-weight: 500;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
.bcl-header__project.light .bcl-header__site-name {
|
|
265
|
-
color: $black;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
221
|
.bcl-header .navbar-toggler {
|
|
269
222
|
position: relative;
|
|
270
223
|
right: 0;
|
|
271
224
|
bottom: 0;
|
|
272
225
|
}
|
|
273
226
|
|
|
274
|
-
.bcl-header .navbar-brand img {
|
|
275
|
-
width: auto;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
227
|
.bcl-header__navbar .bcl-mega-menu {
|
|
279
228
|
--bcl-mega-menu-zindex: 1050; // Make sure dropdown overlaps the search offcanvas
|
|
280
229
|
}
|
|
281
230
|
|
|
282
|
-
.bcl-header:not(.bcl-header--neutral) .bcl-header__project {
|
|
283
|
-
padding-bottom: map-get($spacers, 3);
|
|
284
|
-
}
|
|
285
|
-
|
|
286
231
|
.bcl-header__navbar.collapse {
|
|
287
232
|
display: block;
|
|
288
233
|
}
|
package/src/scss/_input.scss
CHANGED
|
@@ -1,15 +1,57 @@
|
|
|
1
1
|
/* stylelint-disable no-duplicate-selectors, selector-no-qualifying-type, no-descending-specificity */
|
|
2
2
|
|
|
3
|
+
$default-border-color: $gray-600;
|
|
4
|
+
|
|
3
5
|
.form-select {
|
|
4
6
|
padding-top: $input-padding-y-lg;
|
|
5
7
|
padding-bottom: $input-padding-y-lg;
|
|
6
8
|
padding-left: $input-padding-x-lg;
|
|
7
9
|
font-size: $form-font-size-lg;
|
|
10
|
+
border-color: $default-border-color;
|
|
11
|
+
&:focus-visible {
|
|
12
|
+
border-color: $default-border-color;
|
|
13
|
+
box-shadow: none;
|
|
14
|
+
@include form-focus-ring();
|
|
15
|
+
&.is-valid {
|
|
16
|
+
outline-color: $success;
|
|
17
|
+
&:focus {
|
|
18
|
+
box-shadow: none;
|
|
19
|
+
border-color: $default-border-color;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
&.is-invalid {
|
|
23
|
+
outline-color: $danger;
|
|
24
|
+
&:focus {
|
|
25
|
+
box-shadow: none;
|
|
26
|
+
border-color: $default-border-color;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
&:focus {
|
|
31
|
+
box-shadow: none;
|
|
32
|
+
border-color: $default-border-color;
|
|
33
|
+
}
|
|
34
|
+
&.is-valid,
|
|
35
|
+
&.is-invalid {
|
|
36
|
+
&:focus {
|
|
37
|
+
box-shadow: none;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.form-check-input {
|
|
43
|
+
border-color: $primary;
|
|
8
44
|
&:focus-visible {
|
|
9
|
-
|
|
45
|
+
&[type="radio"] {
|
|
46
|
+
border-radius: 50%;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
&:focus {
|
|
50
|
+
border-color: $primary;
|
|
10
51
|
box-shadow: none;
|
|
11
|
-
|
|
12
|
-
|
|
52
|
+
}
|
|
53
|
+
&:focus-visible {
|
|
54
|
+
@include form-focus-ring(1px);
|
|
13
55
|
}
|
|
14
56
|
}
|
|
15
57
|
|
|
@@ -18,16 +60,35 @@
|
|
|
18
60
|
padding: $input-padding-y-lg $input-padding-x-lg;
|
|
19
61
|
font-size: $form-font-size-lg;
|
|
20
62
|
border-radius: 0.3rem;
|
|
63
|
+
border-color: $default-border-color;
|
|
21
64
|
&::file-selector-button {
|
|
22
65
|
padding: $input-padding-y-lg $input-padding-x-lg;
|
|
23
66
|
margin: (-$input-padding-y-lg) $input-padding-x-lg (-$input-padding-y-lg)
|
|
24
67
|
(-$input-padding-x-lg);
|
|
25
68
|
}
|
|
26
|
-
&:focus-visible {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
69
|
+
&:focus:focus-visible {
|
|
70
|
+
border-color: $default-border-color;
|
|
71
|
+
@include form-focus-ring();
|
|
72
|
+
}
|
|
73
|
+
&.is-valid,
|
|
74
|
+
&.is-invalid {
|
|
75
|
+
&:focus {
|
|
76
|
+
box-shadow: none;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
&.is-valid {
|
|
80
|
+
&:focus:focus-visible {
|
|
81
|
+
transition: none;
|
|
82
|
+
border-color: $default-border-color;
|
|
83
|
+
@include form-focus-ring($outline-color: $success);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
&.is-invalid {
|
|
87
|
+
&:focus:focus-visible {
|
|
88
|
+
transition: none;
|
|
89
|
+
border-color: $default-border-color;
|
|
90
|
+
@include form-focus-ring($outline-color: $danger);
|
|
91
|
+
}
|
|
31
92
|
}
|
|
32
93
|
}
|
|
33
94
|
.form-check:not(.form-switch) {
|
|
@@ -41,20 +102,6 @@
|
|
|
41
102
|
margin-top: 0.15rem;
|
|
42
103
|
}
|
|
43
104
|
}
|
|
44
|
-
.form-check-input {
|
|
45
|
-
&:focus-visible {
|
|
46
|
-
outline: 4px solid $primary;
|
|
47
|
-
box-shadow: none;
|
|
48
|
-
border-radius: 4px;
|
|
49
|
-
outline-offset: 0;
|
|
50
|
-
&[type="radio"] {
|
|
51
|
-
border-radius: 50%;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
&:checked:focus-visible {
|
|
55
|
-
border-color: $white;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
105
|
|
|
59
106
|
@include media-breakpoint-up(md) {
|
|
60
107
|
.form-check:not(.form-switch) {
|
|
@@ -90,24 +137,18 @@
|
|
|
90
137
|
textarea.form-control,
|
|
91
138
|
.form-control {
|
|
92
139
|
&.is-invalid {
|
|
93
|
-
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM8 4C7.46459 4 7.04623 4.46229 7.0995 4.99504L7.45025 8.50248C7.47849 8.78492 7.71616 9 8 9C8.28384 9 8.52151 8.78492 8.54975 8.50248L8.9005 4.99504C8.95377 4.46228 8.53541 4 8 4ZM8.00154 10C7.44926 10 7.00154 10.4477 7.00154 11C7.00154 11.5523 7.44926 12 8.00154 12C8.55383 12 9.00154 11.5523 9.00154 11C9.00154 10.4477 8.55383 10 8.00154 10Z' fill='%
|
|
140
|
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM8 4C7.46459 4 7.04623 4.46229 7.0995 4.99504L7.45025 8.50248C7.47849 8.78492 7.71616 9 8 9C8.28384 9 8.52151 8.78492 8.54975 8.50248L8.9005 4.99504C8.95377 4.46228 8.53541 4 8 4ZM8.00154 10C7.44926 10 7.00154 10.4477 7.00154 11C7.00154 11.5523 7.44926 12 8.00154 12C8.55383 12 9.00154 11.5523 9.00154 11C9.00154 10.4477 8.55383 10 8.00154 10Z' fill='%23A51F2C'/%3E%3C/svg%3E%0A");
|
|
94
141
|
}
|
|
95
142
|
&.is-valid {
|
|
96
143
|
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM12.0303 4.96967C11.7374 4.67678 11.2626 4.67678 10.9697 4.96967C10.9626 4.97674 10.9559 4.98424 10.9498 4.9921L7.4774 9.41674L5.38388 7.32322C5.09098 7.03033 4.61611 7.03033 4.32322 7.32322C4.03032 7.61612 4.03032 8.09099 4.32322 8.38388L6.96966 11.0303C7.26256 11.3232 7.73743 11.3232 8.03032 11.0303C8.03685 11.0238 8.043 11.0169 8.04876 11.0097L12.041 6.01947C12.3232 5.72582 12.3196 5.25897 12.0303 4.96967Z' fill='%2328A745'/%3E%3C/svg%3E%0A");
|
|
97
144
|
}
|
|
98
145
|
}
|
|
99
146
|
|
|
100
|
-
.form-select:not([multiple]):not([size]) {
|
|
101
|
-
&:focus-visible {
|
|
102
|
-
outline: 2px solid $primary;
|
|
103
|
-
box-shadow: none;
|
|
104
|
-
border-radius: 4px;
|
|
105
|
-
outline-offset: -1px;
|
|
106
|
-
}
|
|
147
|
+
select.form-select:not([multiple]):not([size]) {
|
|
107
148
|
&.is-invalid {
|
|
108
149
|
background-image:
|
|
109
150
|
url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"),
|
|
110
|
-
url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM8 4C7.46459 4 7.04623 4.46229 7.0995 4.99504L7.45025 8.50248C7.47849 8.78492 7.71616 9 8 9C8.28384 9 8.52151 8.78492 8.54975 8.50248L8.9005 4.99504C8.95377 4.46228 8.53541 4 8 4ZM8.00154 10C7.44926 10 7.00154 10.4477 7.00154 11C7.00154 11.5523 7.44926 12 8.00154 12C8.55383 12 9.00154 11.5523 9.00154 11C9.00154 10.4477 8.55383 10 8.00154 10Z' fill='%
|
|
151
|
+
url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM8 4C7.46459 4 7.04623 4.46229 7.0995 4.99504L7.45025 8.50248C7.47849 8.78492 7.71616 9 8 9C8.28384 9 8.52151 8.78492 8.54975 8.50248L8.9005 4.99504C8.95377 4.46228 8.53541 4 8 4ZM8.00154 10C7.44926 10 7.00154 10.4477 7.00154 11C7.00154 11.5523 7.44926 12 8.00154 12C8.55383 12 9.00154 11.5523 9.00154 11C9.00154 10.4477 8.55383 10 8.00154 10Z' fill='%23A51F2C'/%3E%3C/svg%3E%0A");
|
|
111
152
|
}
|
|
112
153
|
&.is-valid {
|
|
113
154
|
background-image:
|