bootstrap-italia 2.3.7 → 2.4.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/dist/bootstrap-italia.esm.js +2 -0
- package/dist/bootstrap-italia.esm.js.map +1 -1
- package/dist/css/bootstrap-italia-comuni.min.css +1 -1
- package/dist/css/bootstrap-italia.min.css +1 -1
- package/dist/css/bootstrap-italia.min.css.map +1 -1
- package/dist/js/bootstrap-italia.bundle.min.js +198 -72
- package/dist/js/bootstrap-italia.min.js +54 -47
- package/dist/plugins/accept-overlay.js +118 -0
- package/dist/plugins/accept-overlay.js.map +1 -0
- package/dist/plugins/carousel-bi.js +1 -1
- package/dist/plugins/carousel-bi.js.map +1 -1
- package/dist/plugins/dimmer.js +0 -16
- package/dist/plugins/dimmer.js.map +1 -1
- package/dist/plugins/util/cookies.js +29 -0
- package/dist/plugins/util/cookies.js.map +1 -0
- package/dist/plugins/videoplayer.js +151 -0
- package/dist/plugins/videoplayer.js.map +1 -0
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +6 -5
- package/src/js/bootstrap-italia.entry.js +6 -0
- package/src/js/bootstrap-italia.esm.js +2 -0
- package/src/js/plugins/accept-overlay.js +118 -0
- package/src/js/plugins/carousel-bi.js +1 -1
- package/src/js/plugins/dimmer.js +0 -15
- package/src/js/plugins/util/cookies.js +28 -0
- package/src/js/plugins/videoplayer.js +151 -0
- package/src/js/version.js +1 -1
- package/src/scss/_variables.scss +1 -1
- package/src/scss/bootstrap-italia.scss +2 -0
- package/src/scss/custom/_accept-overlay.scss +128 -0
- package/src/scss/custom/_alert.scss +1 -1
- package/src/scss/custom/_buttons.scss +10 -3
- package/src/scss/custom/_callout.scss +53 -10
- package/src/scss/custom/_carousel.scss +1 -1
- package/src/scss/custom/_timeline.scss +3 -0
- package/src/scss/custom/_type.scss +1 -0
- package/src/scss/custom/_version.scss +1 -1
- package/src/scss/custom/_videoplayer.scss +40 -0
- package/types/index.d.ts +2 -0
- package/types/plugins/fonts-loader.d.ts +5 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import BaseComponent from 'bootstrap/js/src/base-component.js'
|
|
2
|
+
|
|
3
|
+
import { reflow } from 'bootstrap/js/src/util'
|
|
4
|
+
import { cookies } from './util/cookies'
|
|
5
|
+
import SelectorEngine from 'bootstrap/js/src/dom/selector-engine'
|
|
6
|
+
|
|
7
|
+
const NAME = 'acceptoverlay'
|
|
8
|
+
|
|
9
|
+
const CLASS_NAME_FADE = 'fade'
|
|
10
|
+
const CLASS_NAME_SHOW = 'show'
|
|
11
|
+
|
|
12
|
+
const SELECTOR_DATA_TOGGLE = '[data-bs-accept-from]'
|
|
13
|
+
const SELECTOR_DATA_REMEMBER = '[data-bs-accept-remember]'
|
|
14
|
+
|
|
15
|
+
class AcceptOverlay extends BaseComponent {
|
|
16
|
+
constructor(element, config) {
|
|
17
|
+
const parentElement = element.closest('.acceptoverlay')
|
|
18
|
+
super(parentElement)
|
|
19
|
+
const remember = cookies.isChoiceRemembered(config.service)
|
|
20
|
+
this._isShown = true
|
|
21
|
+
this._toggleElement = element
|
|
22
|
+
if (remember) {
|
|
23
|
+
this.hide()
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
this._toggleElement.dispatchEvent(new Event('click'))
|
|
26
|
+
}, 100)
|
|
27
|
+
return
|
|
28
|
+
}
|
|
29
|
+
this._toggleElement.addEventListener('click', () => {
|
|
30
|
+
this.hide()
|
|
31
|
+
this._remember = this._toggleElement.parentElement.querySelector(SELECTOR_DATA_REMEMBER).checked
|
|
32
|
+
cookies.rememberChoice(config.service, this._remember)
|
|
33
|
+
})
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Getters
|
|
37
|
+
|
|
38
|
+
static get NAME() {
|
|
39
|
+
return NAME
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Public
|
|
43
|
+
|
|
44
|
+
show() {
|
|
45
|
+
if (this._isShown || this._isTransitioning) {
|
|
46
|
+
return
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
this._isShown = true
|
|
50
|
+
|
|
51
|
+
if (this._isAnimated()) {
|
|
52
|
+
this._isTransitioning = true
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
this._showElement()
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
hide() {
|
|
59
|
+
if (!this._isShown || this._isTransitioning) {
|
|
60
|
+
return
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
this._isShown = false
|
|
64
|
+
const isAnimated = this._isAnimated()
|
|
65
|
+
|
|
66
|
+
if (isAnimated) {
|
|
67
|
+
this._isTransitioning = true
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
this._element.classList.remove(CLASS_NAME_SHOW)
|
|
71
|
+
|
|
72
|
+
this._queueCallback(() => this._hideElement(), this._element, isAnimated)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
//Private
|
|
76
|
+
|
|
77
|
+
_isAnimated() {
|
|
78
|
+
return this._element.classList.contains(CLASS_NAME_FADE)
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
_showElement() {
|
|
82
|
+
const isAnimated = this._isAnimated()
|
|
83
|
+
|
|
84
|
+
this._element.removeAttribute('aria-hidden')
|
|
85
|
+
|
|
86
|
+
if (isAnimated) {
|
|
87
|
+
reflow(this._element)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
this._element.classList.add(CLASS_NAME_SHOW)
|
|
91
|
+
|
|
92
|
+
const transitionComplete = () => {
|
|
93
|
+
this._isTransitioning = false
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
this._queueCallback(transitionComplete, this._element, isAnimated)
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
_hideElement() {
|
|
100
|
+
this._element.setAttribute('aria-hidden', true)
|
|
101
|
+
this._isTransitioning = false
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* ------------------------------------------------------------------------
|
|
107
|
+
* Data Api implementation
|
|
108
|
+
* ------------------------------------------------------------------------
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
const acceptOverlays = SelectorEngine.find(SELECTOR_DATA_TOGGLE)
|
|
112
|
+
if (acceptOverlays.length > 0) {
|
|
113
|
+
acceptOverlays.forEach((element) => {
|
|
114
|
+
AcceptOverlay.getOrCreateInstance(element, { service: element.dataset.bsAcceptFrom })
|
|
115
|
+
})
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export default AcceptOverlay
|
package/src/js/plugins/dimmer.js
CHANGED
|
@@ -2,7 +2,6 @@ import BaseComponent from 'bootstrap/js/src/base-component.js'
|
|
|
2
2
|
|
|
3
3
|
import { reflow, getElementFromSelector } from 'bootstrap/js/src/util'
|
|
4
4
|
import EventHandler from 'bootstrap/js/src/dom/event-handler'
|
|
5
|
-
//import SelectorEngine from 'bootstrap/js/src/dom/selector-engine'
|
|
6
5
|
|
|
7
6
|
const NAME = 'dimmer'
|
|
8
7
|
const DATA_KEY = 'bs.dimmer'
|
|
@@ -10,7 +9,6 @@ const EVENT_KEY = `.${DATA_KEY}`
|
|
|
10
9
|
const DATA_API_KEY = '.data-api'
|
|
11
10
|
|
|
12
11
|
const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
|
|
13
|
-
//const EVENT_CLICK = `click${EVENT_KEY}`
|
|
14
12
|
|
|
15
13
|
const CLASS_NAME_FADE = 'fade'
|
|
16
14
|
const CLASS_NAME_SHOW = 'show'
|
|
@@ -107,19 +105,6 @@ class Dimmer extends BaseComponent {
|
|
|
107
105
|
* ------------------------------------------------------------------------
|
|
108
106
|
*/
|
|
109
107
|
|
|
110
|
-
/*SelectorEngine.find(SELECTOR_DATA_TOGGLE).forEach((toggle) => {
|
|
111
|
-
const dimmerElement = getElementFromSelector(toggle)
|
|
112
|
-
const dimmer = Dimmer.getOrCreateInstance(dimmerElement)
|
|
113
|
-
|
|
114
|
-
EventHandler.on(toggle, EVENT_CLICK, () => {
|
|
115
|
-
toggle.checked ? dimmer.show() : dimmer.hide()
|
|
116
|
-
})
|
|
117
|
-
|
|
118
|
-
if (toggle.checked) {
|
|
119
|
-
dimmer.show()
|
|
120
|
-
}
|
|
121
|
-
})*/
|
|
122
|
-
|
|
123
108
|
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function () {
|
|
124
109
|
const dimmerElement = getElementFromSelector(this)
|
|
125
110
|
const dimmer = Dimmer.getOrCreateInstance(dimmerElement)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const preferencesMap = { ck3: {} }
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
Possible choices:
|
|
5
|
+
false => Accept once
|
|
6
|
+
true => Accept always
|
|
7
|
+
*/
|
|
8
|
+
const rememberChoice = (service, remember) => {
|
|
9
|
+
preferencesMap.ck3[service] = remember
|
|
10
|
+
localStorage.setItem('bs-ck3', JSON.stringify(preferencesMap.ck3))
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const isChoiceRemembered = (service) => {
|
|
14
|
+
preferencesMap.ck3 = JSON.parse(localStorage.getItem('bs-ck3') || '{}')
|
|
15
|
+
return preferencesMap.ck3[service] || false
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const clearAllRememberedChoices = () => {
|
|
19
|
+
localStorage.removeItem('bs-ck3')
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const cookies = {
|
|
23
|
+
rememberChoice,
|
|
24
|
+
isChoiceRemembered,
|
|
25
|
+
clearAllRememberedChoices,
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { cookies }
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import BaseComponent from 'bootstrap/js/src/base-component.js'
|
|
2
|
+
|
|
3
|
+
import SelectorEngine from 'bootstrap/js/src/dom/selector-engine'
|
|
4
|
+
import Manipulator from 'bootstrap/js/src/dom/manipulator'
|
|
5
|
+
import videojs from 'video.js'
|
|
6
|
+
|
|
7
|
+
const NAME = 'videoplayer'
|
|
8
|
+
|
|
9
|
+
const SELECTOR_TOGGLE = '[data-bs-video]'
|
|
10
|
+
|
|
11
|
+
const itLang = {
|
|
12
|
+
'Audio Player': 'Lettore audio',
|
|
13
|
+
'Video Player': 'Lettore video',
|
|
14
|
+
Play: 'Play',
|
|
15
|
+
Pause: 'Pausa',
|
|
16
|
+
Replay: 'Replay',
|
|
17
|
+
'Current Time': 'Orario attuale',
|
|
18
|
+
Duration: 'Durata',
|
|
19
|
+
'Remaining Time': 'Tempo rimanente',
|
|
20
|
+
'Stream Type': 'Tipo del Streaming',
|
|
21
|
+
LIVE: 'LIVE',
|
|
22
|
+
Loaded: 'Caricato',
|
|
23
|
+
Progress: 'Stato',
|
|
24
|
+
'Progress Bar': 'Barra di avanzamento',
|
|
25
|
+
'progress bar timing: currentTime={1} duration={2}': '{1} di {2}',
|
|
26
|
+
Fullscreen: 'Schermo intero',
|
|
27
|
+
'Exit Fullscreen': 'Chiudi Schermo intero',
|
|
28
|
+
Mute: 'Muto',
|
|
29
|
+
Unmute: 'Audio',
|
|
30
|
+
'Playback Rate': 'Tasso di riproduzione',
|
|
31
|
+
Subtitles: 'Sottotitoli',
|
|
32
|
+
'subtitles off': 'Senza sottotitoli',
|
|
33
|
+
Captions: 'Sottotitoli non udenti',
|
|
34
|
+
'captions off': 'Senza sottotitoli non udenti',
|
|
35
|
+
Chapters: 'Capitolo',
|
|
36
|
+
Descriptions: 'Descrizioni',
|
|
37
|
+
'descriptions off': 'Descrizioni disattivate',
|
|
38
|
+
'Audio Track': 'Traccia audio',
|
|
39
|
+
'Volume Level': 'Livello del volume',
|
|
40
|
+
'You aborted the media playback': 'La riproduzione del filmato è stata interrotta.',
|
|
41
|
+
'A network error caused the media download to fail part-way.': 'Il download del filmato è stato interrotto a causa di un problema rete.',
|
|
42
|
+
'The media could not be loaded, either because the server or network failed or because the format is not supported.':
|
|
43
|
+
'Il filmato non può essere caricato a causa di un errore nel server o nella rete o perché il formato non viene supportato.',
|
|
44
|
+
'The media playback was aborted due to a corruption problem or because the media used features your browser did not support.':
|
|
45
|
+
'La riproduzione del filmato è stata interrotta a causa di un file danneggiato o per l’utilizzo di impostazioni non supportate dal browser.',
|
|
46
|
+
'No compatible source was found for this media.': 'Non ci sono fonti compatibili per questo filmato.',
|
|
47
|
+
'The media is encrypted and we do not have the keys to decrypt it.': 'Il contenuto multimediale è criptato e non disponiamo delle chiavi per decifrarlo.',
|
|
48
|
+
'Play Video': 'Riprduci il video',
|
|
49
|
+
Close: 'Chiudi',
|
|
50
|
+
'Close Modal Dialog': 'Chiudi la finestra di dialogo',
|
|
51
|
+
'Modal Window': 'Finestra di dialogo',
|
|
52
|
+
'This is a modal window': 'Questa è una finestra di dialogo',
|
|
53
|
+
'This modal can be closed by pressing the Escape key or activating the close button.':
|
|
54
|
+
'Questa finestra di dialogo può essere chiusa premendo sul tasto Esc o attivando il pulsante di chiusura.',
|
|
55
|
+
', opens captions settings dialog': ', aprire i parametri della trascrizione dei sottotitoli',
|
|
56
|
+
', opens subtitles settings dialog': ', aprire i parametri dei sottotitoli',
|
|
57
|
+
', opens descriptions settings dialog': ', aprire i parametri delle descrizioni',
|
|
58
|
+
', selected': ', selezionato',
|
|
59
|
+
'captions settings': 'Parametri della trascrizione dei sottotitoli',
|
|
60
|
+
'subtitles settings': 'Parametri dei sottotitoli',
|
|
61
|
+
'descriptions settings': 'Parametri delle descrizioni',
|
|
62
|
+
Text: 'Testo',
|
|
63
|
+
White: 'Bianco',
|
|
64
|
+
Black: 'Nero',
|
|
65
|
+
Red: 'Rosso',
|
|
66
|
+
Green: 'Verde',
|
|
67
|
+
Blue: 'Blu',
|
|
68
|
+
Yellow: 'Giallo',
|
|
69
|
+
Magenta: 'Magenta',
|
|
70
|
+
Cyan: 'Ciano',
|
|
71
|
+
Background: 'Sfondo',
|
|
72
|
+
Window: 'Finestra',
|
|
73
|
+
Transparent: 'Trasparente',
|
|
74
|
+
'Semi-Transparent': 'Semi-Trasparente',
|
|
75
|
+
Opaque: 'Opaco',
|
|
76
|
+
'Font Size': 'Dimensione dei caratteri',
|
|
77
|
+
'Text Edge Style': 'Stile dei bordi del testo',
|
|
78
|
+
None: 'Nessuno',
|
|
79
|
+
Uniform: 'Uniforme',
|
|
80
|
+
Dropshadow: 'Ombreggiatura',
|
|
81
|
+
'Font Family': 'Famiglia di caratteri',
|
|
82
|
+
'Proportional Sans-Serif': 'Carattere a spaziatura variabile senza grazie (Proportional Sans-Serif)',
|
|
83
|
+
'Monospace Sans-Serif': 'Carattere a spaziatura fissa senza grazie (Monospace Sans-Serif)',
|
|
84
|
+
'Proportional Serif': 'Carattere a spaziatura variabile con grazie (Proportional Serif)',
|
|
85
|
+
'Monospace Serif': 'Carattere a spaziatura fissa con grazie (Monospace Serif)',
|
|
86
|
+
'Small Caps': 'Maiuscoletto',
|
|
87
|
+
Reset: 'Reinizializza',
|
|
88
|
+
'restore all settings to the default values': 'Ripristina i valori predefiniti per tutti i parametri',
|
|
89
|
+
Done: 'Operazione completata',
|
|
90
|
+
'Caption Settings Dialog': 'Finestra di dialogo dei parametri della trascrizione dei sottotitoli',
|
|
91
|
+
'Beginning of dialog window. Escape will cancel and close the window.':
|
|
92
|
+
'Inizio della finestra di dialogo. Il tasto Esc annullerà l’operazione e chiuderà la finestra.',
|
|
93
|
+
'End of dialog window.': 'Fine della finestra di dialogo.',
|
|
94
|
+
'{1} is loading.': '{1} in fase di caricamento.',
|
|
95
|
+
'Exit Picture-in-Picture': 'Esci dalla modalità Picture-in-Picture',
|
|
96
|
+
'Picture-in-Picture': 'Picture-in-Picture',
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
const DEFAULT_CONFIG = { languages: { it: itLang }, language: 'it' }
|
|
100
|
+
|
|
101
|
+
const Default = {}
|
|
102
|
+
|
|
103
|
+
window.videojs = videojs
|
|
104
|
+
|
|
105
|
+
class VideoPlayer extends BaseComponent {
|
|
106
|
+
constructor(element, config) {
|
|
107
|
+
super(element)
|
|
108
|
+
element.classList.add('video-js', 'vjs-theme-bootstrap-italia', 'vjs-fluid', 'vjs-big-play-centered')
|
|
109
|
+
this._config = this._getConfig(config)
|
|
110
|
+
|
|
111
|
+
this.player = videojs(element, DEFAULT_CONFIG)
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// Public
|
|
115
|
+
|
|
116
|
+
setYouTubeVideo(url) {
|
|
117
|
+
this.player.tech('youtube')
|
|
118
|
+
this.player.src({ type: 'video/youtube', src: url })
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// Getters
|
|
122
|
+
|
|
123
|
+
static get NAME() {
|
|
124
|
+
return NAME
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Private
|
|
128
|
+
_getConfig(config) {
|
|
129
|
+
config = {
|
|
130
|
+
...Default,
|
|
131
|
+
...Manipulator.getDataAttributes(this._element),
|
|
132
|
+
...(typeof config === 'object' ? config : {}),
|
|
133
|
+
}
|
|
134
|
+
return config
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* ------------------------------------------------------------------------
|
|
140
|
+
* Data Api implementation
|
|
141
|
+
* ------------------------------------------------------------------------
|
|
142
|
+
*/
|
|
143
|
+
|
|
144
|
+
const players = SelectorEngine.find(SELECTOR_TOGGLE)
|
|
145
|
+
if (players.length > 0) {
|
|
146
|
+
players.forEach((player) => {
|
|
147
|
+
VideoPlayer.getOrCreateInstance(player)
|
|
148
|
+
})
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export default VideoPlayer
|
package/src/js/version.js
CHANGED
package/src/scss/_variables.scss
CHANGED
|
@@ -38,7 +38,7 @@ $font-family-sans-serif: 'Titillium Web', Geneva, Tahoma, sans-serif !default;
|
|
|
38
38
|
$font-family-monospace: 'Roboto Mono', monospace !default;
|
|
39
39
|
$font-family-base: $font-family-sans-serif;
|
|
40
40
|
$text-color: $gray-700 !default;
|
|
41
|
-
$text-muted: $
|
|
41
|
+
$text-muted: $color-text-muted !default;
|
|
42
42
|
$letter-spacing-base: 0;
|
|
43
43
|
$line-height-base: 1.5;
|
|
44
44
|
$font-weight-base: 300;
|
|
@@ -120,10 +120,12 @@
|
|
|
120
120
|
@import 'custom/gridlist';
|
|
121
121
|
@import 'custom/popover';
|
|
122
122
|
@import 'custom/tooltip';
|
|
123
|
+
@import 'custom/videoplayer';
|
|
123
124
|
@import 'custom/list';
|
|
124
125
|
@import 'custom/chips';
|
|
125
126
|
@import 'custom/rating';
|
|
126
127
|
@import 'custom/dimmer';
|
|
128
|
+
@import 'custom/accept-overlay';
|
|
127
129
|
@import 'custom/timeline';
|
|
128
130
|
@import 'custom/anchor';
|
|
129
131
|
@import 'custom/map';
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
//mobile
|
|
2
|
+
|
|
3
|
+
.acceptoverlayable {
|
|
4
|
+
position: relative;
|
|
5
|
+
min-height: 400px;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.acceptoverlay {
|
|
9
|
+
display: flex;
|
|
10
|
+
background-color: $color-background-emphasis;
|
|
11
|
+
opacity: 0.92;
|
|
12
|
+
position: absolute;
|
|
13
|
+
top: 0;
|
|
14
|
+
bottom: 0;
|
|
15
|
+
left: 0;
|
|
16
|
+
right: 0;
|
|
17
|
+
z-index: 1;
|
|
18
|
+
padding: $v-gap * 4;
|
|
19
|
+
justify-content: center;
|
|
20
|
+
flex-wrap: wrap;
|
|
21
|
+
align-items: flex-start;
|
|
22
|
+
|
|
23
|
+
label {
|
|
24
|
+
color: $white;
|
|
25
|
+
&::after {
|
|
26
|
+
border-color: $white !important;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&[aria-hidden='true'] {
|
|
31
|
+
display: none;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&.acceptoverlay-primary {
|
|
35
|
+
background-color: $primary;
|
|
36
|
+
&.show {
|
|
37
|
+
opacity: 0.9;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
h1,
|
|
42
|
+
h2,
|
|
43
|
+
h3,
|
|
44
|
+
h4,
|
|
45
|
+
h5,
|
|
46
|
+
h6,
|
|
47
|
+
p {
|
|
48
|
+
color: $white;
|
|
49
|
+
margin-bottom: 0;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
h4 {
|
|
53
|
+
text-align: center;
|
|
54
|
+
font-size: 2.222rem;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
p {
|
|
58
|
+
text-align: justify;
|
|
59
|
+
font-family: $font-family-serif;
|
|
60
|
+
font-size: 1rem;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.acceptoverlay-inner {
|
|
64
|
+
width: 100%;
|
|
65
|
+
max-width: 480px;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.acceptoverlay-icon {
|
|
69
|
+
text-align: center;
|
|
70
|
+
margin-bottom: $v-gap * 3;
|
|
71
|
+
.icon {
|
|
72
|
+
fill: $white;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.acceptoverlay-buttons {
|
|
77
|
+
background-color: transparent !important;
|
|
78
|
+
margin-top: $v-gap * 4;
|
|
79
|
+
display: flex;
|
|
80
|
+
justify-content: space-between;
|
|
81
|
+
flex-wrap: wrap;
|
|
82
|
+
button {
|
|
83
|
+
width: 100%;
|
|
84
|
+
&:last-child {
|
|
85
|
+
margin-top: $v-gap * 2;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
&.single-button {
|
|
89
|
+
button {
|
|
90
|
+
margin-top: 0;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//Tablet vertical
|
|
96
|
+
@include media-breakpoint-up(md) {
|
|
97
|
+
.acceptoverlay {
|
|
98
|
+
padding: $v-gap * 3;
|
|
99
|
+
.acceptoverlay-icon {
|
|
100
|
+
margin-bottom: $v-gap * 6;
|
|
101
|
+
}
|
|
102
|
+
.acceptoverlay-buttons {
|
|
103
|
+
flex-wrap: nowrap;
|
|
104
|
+
button {
|
|
105
|
+
width: 50%;
|
|
106
|
+
margin-top: 0 !important;
|
|
107
|
+
&:last-child {
|
|
108
|
+
margin-left: $v-gap * 3;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
&.single-button {
|
|
112
|
+
//text-align: center;
|
|
113
|
+
button {
|
|
114
|
+
width: auto;
|
|
115
|
+
min-width: 50%;
|
|
116
|
+
margin: 0 auto;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
//Tablet horizontal / small desktop
|
|
124
|
+
@include media-breakpoint-up(lg) {
|
|
125
|
+
.acceptoverlay {
|
|
126
|
+
align-items: center;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
font-size: $btn-font-size;
|
|
4
4
|
white-space: initial;
|
|
5
5
|
text-decoration: none;
|
|
6
|
+
&:not(.btn-outline-primary, .btn-outline-secondary) {
|
|
7
|
+
box-shadow: none;
|
|
8
|
+
}
|
|
6
9
|
}
|
|
7
10
|
|
|
8
11
|
.btn-me {
|
|
@@ -169,12 +172,19 @@
|
|
|
169
172
|
|
|
170
173
|
.btn-outline-secondary {
|
|
171
174
|
box-shadow: inset 0 0 0 2px $secondary;
|
|
175
|
+
&.disabled,
|
|
172
176
|
&:hover,
|
|
173
177
|
&:active {
|
|
174
178
|
box-shadow: inset 0 0 0 2px color-hover($secondary);
|
|
175
179
|
}
|
|
176
180
|
}
|
|
177
181
|
|
|
182
|
+
.btn-outline-primary {
|
|
183
|
+
&.disabled {
|
|
184
|
+
box-shadow: inset 0 0 0 2px color-hover($primary);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
178
188
|
.bg-dark {
|
|
179
189
|
.btn-link {
|
|
180
190
|
color: $white;
|
|
@@ -209,9 +219,6 @@
|
|
|
209
219
|
}
|
|
210
220
|
.btn-outline-secondary {
|
|
211
221
|
@include button-outline-variant($white, color-hover($white), transparent, color-hover($white));
|
|
212
|
-
&:hover {
|
|
213
|
-
box-shadow: none;
|
|
214
|
-
}
|
|
215
222
|
&:focus,
|
|
216
223
|
&.focus {
|
|
217
224
|
box-shadow: 0 0 0 $btn-focus-width rgba($white, 0.5);
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
.callout {
|
|
2
|
-
padding: 2.5rem 2.222rem;
|
|
3
|
-
border: 2px solid $color-border-secondary;
|
|
4
2
|
position: relative;
|
|
5
3
|
max-width: 60ch;
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
overflow: hidden;
|
|
5
|
+
|
|
6
|
+
.callout-inner {
|
|
7
|
+
padding: 1.1rem 2.222rem;
|
|
8
|
+
border: 2px solid;
|
|
9
|
+
border-top: 0;
|
|
10
|
+
border-color: $color-border-secondary;
|
|
11
|
+
margin: 1.75rem 0 1rem;
|
|
12
|
+
}
|
|
8
13
|
|
|
9
14
|
// Highlights version
|
|
10
15
|
&.callout-highlight {
|
|
@@ -12,6 +17,11 @@
|
|
|
12
17
|
border-left: 2px solid $color-border-secondary;
|
|
13
18
|
border-radius: 0;
|
|
14
19
|
padding: 0 2.222rem;
|
|
20
|
+
p {
|
|
21
|
+
&:last-child {
|
|
22
|
+
margin: 0;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
15
25
|
.callout-title {
|
|
16
26
|
margin-bottom: 1.556rem;
|
|
17
27
|
}
|
|
@@ -89,6 +99,9 @@
|
|
|
89
99
|
// color versions
|
|
90
100
|
&.success {
|
|
91
101
|
border-color: $success;
|
|
102
|
+
.callout-inner {
|
|
103
|
+
border-color: rgba($success, 1);
|
|
104
|
+
}
|
|
92
105
|
.callout-title {
|
|
93
106
|
color: $success;
|
|
94
107
|
.icon {
|
|
@@ -97,10 +110,19 @@
|
|
|
97
110
|
span {
|
|
98
111
|
border-color: $success;
|
|
99
112
|
}
|
|
113
|
+
.text:after {
|
|
114
|
+
border-color: $success;
|
|
115
|
+
}
|
|
116
|
+
&:before {
|
|
117
|
+
border-color: $success;
|
|
118
|
+
}
|
|
100
119
|
}
|
|
101
120
|
}
|
|
102
121
|
&.warning {
|
|
103
122
|
border-color: $warning;
|
|
123
|
+
.callout-inner {
|
|
124
|
+
border-color: $color-border-warning;
|
|
125
|
+
}
|
|
104
126
|
.callout-title {
|
|
105
127
|
color: $color-text-warning;
|
|
106
128
|
.icon {
|
|
@@ -113,6 +135,9 @@
|
|
|
113
135
|
}
|
|
114
136
|
&.danger {
|
|
115
137
|
border-color: $danger;
|
|
138
|
+
.callout-inner {
|
|
139
|
+
border-color: rgba($danger, 1);
|
|
140
|
+
}
|
|
116
141
|
.callout-title {
|
|
117
142
|
color: $danger;
|
|
118
143
|
.icon {
|
|
@@ -125,6 +150,9 @@
|
|
|
125
150
|
}
|
|
126
151
|
&.important {
|
|
127
152
|
border-color: $success;
|
|
153
|
+
.callout-inner {
|
|
154
|
+
border-color: $success;
|
|
155
|
+
}
|
|
128
156
|
.callout-title {
|
|
129
157
|
color: $success;
|
|
130
158
|
.icon {
|
|
@@ -137,6 +165,9 @@
|
|
|
137
165
|
}
|
|
138
166
|
&.note {
|
|
139
167
|
border-color: $primary;
|
|
168
|
+
.callout-inner {
|
|
169
|
+
border-color: $primary;
|
|
170
|
+
}
|
|
140
171
|
.callout-title {
|
|
141
172
|
color: $primary;
|
|
142
173
|
.icon {
|
|
@@ -185,11 +216,26 @@
|
|
|
185
216
|
// standard title
|
|
186
217
|
&:not(.callout-highlight):not(.callout-more) {
|
|
187
218
|
.callout-title {
|
|
188
|
-
position:
|
|
219
|
+
position: relative;
|
|
189
220
|
font-size: 1rem;
|
|
190
221
|
padding: 0 1.389rem;
|
|
191
|
-
|
|
192
|
-
|
|
222
|
+
top: -2em;
|
|
223
|
+
.text:after {
|
|
224
|
+
content: '';
|
|
225
|
+
top: 0.78em;
|
|
226
|
+
border-top: 2px solid;
|
|
227
|
+
position: absolute;
|
|
228
|
+
width: 200%;
|
|
229
|
+
margin-left: calc(10px + 0.7rem);
|
|
230
|
+
}
|
|
231
|
+
&:before {
|
|
232
|
+
content: '';
|
|
233
|
+
top: 0.78em;
|
|
234
|
+
border-top: 2px solid;
|
|
235
|
+
position: absolute;
|
|
236
|
+
width: 3.222rem;
|
|
237
|
+
left: calc(-40px - 0.7rem);
|
|
238
|
+
}
|
|
193
239
|
}
|
|
194
240
|
}
|
|
195
241
|
|
|
@@ -198,9 +244,6 @@
|
|
|
198
244
|
font-family: $font-family-serif;
|
|
199
245
|
font-size: 0.889rem;
|
|
200
246
|
color: $color-text-secondary; // UI kit
|
|
201
|
-
&:last-child {
|
|
202
|
-
margin: 0;
|
|
203
|
-
}
|
|
204
247
|
&.callout-big-text {
|
|
205
248
|
font-weight: bold;
|
|
206
249
|
font-size: 1.111rem;
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
// Landscape abstract
|
|
51
51
|
&.it-carousel-landscape-abstract {
|
|
52
52
|
.it-single-slide-wrapper {
|
|
53
|
+
background-color: $white;
|
|
53
54
|
> a {
|
|
54
55
|
position: relative;
|
|
55
56
|
display: block;
|
|
@@ -250,7 +251,6 @@
|
|
|
250
251
|
// Landscape abstract
|
|
251
252
|
&.it-carousel-landscape-abstract {
|
|
252
253
|
max-width: #{map-get($container-max-widths, xl)};
|
|
253
|
-
background-color: $white;
|
|
254
254
|
}
|
|
255
255
|
// 3 col card
|
|
256
256
|
&.it-carousel-landscape-abstract-3 {
|