j1-template 2021.2.4 → 2021.2.8
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.
- checksums.yaml +4 -4
- data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +7 -0
- data/_includes/themes/j1/modules/connectors/translators/google-translator.html +2 -1
- data/_layouts/default.html +0 -1
- data/assets/data/iso-639-language-codes-flags.json +224 -0
- data/assets/data/{translator_languages.json → iso-639-language-codes.json} +111 -142
- data/assets/data/translator.html +24 -20
- data/assets/themes/j1/adapter/js/translator.1.js +525 -0
- data/assets/themes/j1/adapter/js/translator.js +104 -181
- data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +27 -12
- data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.css +27 -12
- data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +59 -22
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
- data/assets/themes/j1/modules/lightGallery/js/modules/lg-thumbnail.js +16 -8
- data/assets/themes/j1/modules/translator/js/translator.js +208 -236
- data/assets/themes/j1/modules/translator/js/translator.min.js +2 -2
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/j1_config.yml +2 -22
- data/lib/starter_web/_data/modules/defaults/translator.yml +77 -64
- data/lib/starter_web/_data/modules/translator.yml +1 -0
- data/lib/starter_web/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +3 -3
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +5 -7
- data/assets/data/msdropdown.json +0 -155
- data/assets/themes/j1/modules/lightGallery/js/modules/lg-video.js +0 -342
- data/assets/themes/j1/modules/lightGallery/js/modules/lg-video.min.js +0 -5
- data/lib/starter_web/assets/images/pages/features/percentage_global_mobile_tr.jpg +0 -0
@@ -87,6 +87,7 @@ j1.adapter['translator'] = (function (j1, window) {
|
|
87
87
|
var user_translate = {};
|
88
88
|
var _this;
|
89
89
|
var $modal;
|
90
|
+
var domain;
|
90
91
|
var cookie_names;
|
91
92
|
var user_consent;
|
92
93
|
var logger;
|
@@ -94,7 +95,7 @@ j1.adapter['translator'] = (function (j1, window) {
|
|
94
95
|
var baseUrl;
|
95
96
|
var hostname;
|
96
97
|
var domain;
|
97
|
-
var
|
98
|
+
var cookie_sub_domains;
|
98
99
|
var secure;
|
99
100
|
var logText;
|
100
101
|
var cookie_written;
|
@@ -109,21 +110,45 @@ j1.adapter['translator'] = (function (j1, window) {
|
|
109
110
|
// ---------------------------------------------------------------------------
|
110
111
|
// helper functions
|
111
112
|
// ---------------------------------------------------------------------------
|
113
|
+
|
114
|
+
// ---------------------------------------------------------------------------
|
115
|
+
// setCookie()
|
116
|
+
// writes a flat cookie (not using an encoded JSON string)
|
117
|
+
// ---------------------------------------------------------------------------
|
112
118
|
function setCookie(options /*cName, cValue, expDays*/) {
|
113
|
-
var defaults = {
|
119
|
+
var defaults = {};
|
120
|
+
var settings;
|
121
|
+
var document_cookie;
|
122
|
+
var stringifiedAttributes = '';
|
123
|
+
|
124
|
+
defaults = {
|
114
125
|
name: '',
|
115
126
|
path: '/',
|
116
127
|
expires: 0,
|
117
|
-
domain: 'localhost'
|
128
|
+
domain: 'localhost',
|
129
|
+
samesite: 'Strict',
|
130
|
+
http_only: false,
|
131
|
+
secure: false
|
118
132
|
};
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
133
|
+
settings = $.extend(defaults, options);
|
134
|
+
|
135
|
+
stringifiedAttributes += '; ' + 'path=' + settings.path;
|
136
|
+
|
137
|
+
if (settings.expires > 0) {
|
138
|
+
date.setTime(date.getTime() + (settings.expires * 24 * 60 * 60 * 1000));
|
139
|
+
stringifiedAttributes += '; ' + 'expires=' + date.toUTCString();
|
140
|
+
}
|
141
|
+
|
142
|
+
stringifiedAttributes += '; ' + 'SameSite=' + settings.samesite;
|
143
|
+
|
144
|
+
if (settings.secure) {
|
145
|
+
stringifiedAttributes += '; ' + 'secure=' + settings.secure;
|
146
|
+
}
|
147
|
+
|
148
|
+
// document_cookie = settings.name + '=' + settings.data + '; path=' + settings.path + '; ' + 'domain=' + settings.domain + '; ' + 'SameSite=' + settings.samesite + ';';
|
149
|
+
document_cookie = settings.name + '=' + settings.data + stringifiedAttributes;
|
150
|
+
|
151
|
+
document.cookie = document_cookie;
|
127
152
|
};
|
128
153
|
|
129
154
|
// ---------------------------------------------------------------------------
|
@@ -165,6 +190,14 @@ j1.adapter['translator'] = (function (j1, window) {
|
|
165
190
|
'translationLanguage': translation_language,
|
166
191
|
};
|
167
192
|
|
193
|
+
// set sub domain settings for cookies
|
194
|
+
if(domain !== 'localhost') {
|
195
|
+
cookie_sub_domains = '.' + hostname;
|
196
|
+
} else {
|
197
|
+
cookie_sub_domains = hostname;
|
198
|
+
}
|
199
|
+
|
200
|
+
// load|initialize user translate cookie
|
168
201
|
if (j1.existsCookie(cookie_names.user_translate)) {
|
169
202
|
user_translate = j1.readCookie(cookie_names.user_translate);
|
170
203
|
} else {
|
@@ -177,13 +210,6 @@ j1.adapter['translator'] = (function (j1, window) {
|
|
177
210
|
});
|
178
211
|
}
|
179
212
|
|
180
|
-
// set domain used by cookies
|
181
|
-
if(domain !== 'localhost') {
|
182
|
-
cookie_domain = '.' + hostname;
|
183
|
-
} else {
|
184
|
-
cookie_domain = hostname;
|
185
|
-
}
|
186
|
-
|
187
213
|
// initialize state flag
|
188
214
|
_this.state = 'pending';
|
189
215
|
// _this.settings.languageList = '/assets/data/ms_select.json';
|
@@ -218,6 +244,7 @@ j1.adapter['translator'] = (function (j1, window) {
|
|
218
244
|
logger.info('\n' + 'state: ' + _this.getState());
|
219
245
|
logger.info('\n' + 'module is being initialized');
|
220
246
|
|
247
|
+
// hide the google translate element if exists
|
221
248
|
if ($('google_translate_element')) {
|
222
249
|
$('google_translate_element').hide();
|
223
250
|
}
|
@@ -249,31 +276,32 @@ j1.adapter['translator'] = (function (j1, window) {
|
|
249
276
|
});
|
250
277
|
|
251
278
|
j1.translator = new Translator({
|
252
|
-
contentURL:
|
253
|
-
cookieName:
|
254
|
-
cookieConsentName:
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
279
|
+
contentURL: moduleOptions.contentURL, // dialog content (modals) for all supported languages
|
280
|
+
cookieName: moduleOptions.cookieName, // the name of the User State Cookie (primary data)
|
281
|
+
cookieConsentName: moduleOptions.cookieConsentName, // the name of the Cookie Consent Cookie (secondary data)
|
282
|
+
disableLanguageSelector: moduleOptions.disableLanguageSelector, // disable language dropdown for translation in dialog (modal)
|
283
|
+
dialogContainerID: moduleOptions.dialogContainerID, // dest container, the dialog modal is loaded (dynamically)
|
284
|
+
dialogLanguage: moduleOptions.dialogLanguage, // language for the dialog (modal)
|
285
|
+
translationLanguage: moduleOptions.translationLanguage, // default language for translation
|
286
|
+
translationLanguages: moduleOptions.google.translationLanguages,// supported languages for translation
|
287
|
+
translationEnabled: moduleOptions.translationEnabled, // run translation enabled|disabled
|
288
|
+
translatorName: moduleOptions.translatorName, // translator used for translation
|
289
|
+
xhrDataElement: moduleOptions.xhrDataElement, // container for all language-specific dialogs (modals)
|
290
|
+
postSelectionCallback: moduleOptions.google.postSelectionCallback
|
263
291
|
});
|
264
292
|
|
293
|
+
// enable|disable translation (after callback)
|
265
294
|
if (user_consent.analysis && user_consent.personalization && user_translate.translationEnabled) {
|
266
295
|
if (moduleOptions.translatorName === 'google') {
|
267
296
|
head.appendChild(script);
|
268
|
-
$('google_translate_element')
|
297
|
+
if ($('google_translate_element')) {
|
298
|
+
$('google_translate_element').hide();
|
299
|
+
}
|
269
300
|
}
|
270
301
|
} else {
|
271
302
|
if (moduleOptions.translatorName === 'google') {
|
272
|
-
j1.removeCookie({name: 'googtrans'});
|
273
|
-
|
274
|
-
// j1.removeCookie({name: 'NID'});
|
275
|
-
// j1.removeCookie({name: 'OTZ'});
|
276
|
-
}
|
303
|
+
j1.removeCookie({name: 'googtrans', domain: domain});
|
304
|
+
}
|
277
305
|
}
|
278
306
|
|
279
307
|
_this.setState('finished');
|
@@ -328,161 +356,56 @@ j1.adapter['translator'] = (function (j1, window) {
|
|
328
356
|
}, // END getState
|
329
357
|
|
330
358
|
// -------------------------------------------------------------------------
|
331
|
-
//
|
332
|
-
//
|
333
|
-
//
|
359
|
+
// postTranslateElementInit()
|
360
|
+
// ???
|
361
|
+
// -------------------------------------------------------------------------
|
362
|
+
postTranslateElementInit: function (response) {
|
363
|
+
// code for post processing
|
364
|
+
logger.info('\n' + 'postTranslateElementInit entered');
|
365
|
+
logger.info('\n' + response.T.Dh);
|
366
|
+
return;
|
367
|
+
}, // END postTranslateElementInit
|
368
|
+
|
369
|
+
// -------------------------------------------------------------------------
|
370
|
+
// cbGoogle()
|
371
|
+
// Called by the translator CORE module after the user made the
|
372
|
+
// selection for a translation|language
|
334
373
|
// -------------------------------------------------------------------------
|
335
|
-
|
336
|
-
var
|
337
|
-
var
|
338
|
-
var
|
339
|
-
var user_translate = j1.readCookie(cookie_names.user_translate);
|
340
|
-
var head;
|
341
|
-
var script;
|
374
|
+
cbGoogle: function () {
|
375
|
+
var logger = log4javascript.getLogger('j1.adapter.translator.cbGoogle');
|
376
|
+
var msDropdown = document.getElementById('dropdownJSON').msDropdown;
|
377
|
+
var selectedTranslationLanguage;
|
342
378
|
var srcLang;
|
343
379
|
var destLang;
|
344
380
|
var transCode;
|
345
|
-
var cookie_written;
|
346
|
-
|
347
|
-
logger.info('\n' + 'entered post selection callback from google_translate');
|
348
|
-
logger.debug('\n' + 'current values from cookie consent: ' + JSON.stringify(user_consent));
|
349
|
-
logger.debug('\n' + 'current values from user state: ' + JSON.stringify(user_state));
|
350
|
-
|
351
|
-
// update cookie consent settings
|
352
|
-
user_consent.analysis = user_translate.analysis;
|
353
|
-
user_consent.personalization = user_translate.personalization;
|
354
|
-
cookie_written = j1.writeCookie({
|
355
|
-
name: cookie_names.user_consent,
|
356
|
-
data: user_consent,
|
357
|
-
samesite: 'Strict',
|
358
|
-
secure: secure,
|
359
|
-
expires: 0
|
360
|
-
});
|
361
|
-
|
362
|
-
if (user_consent.analysis && user_consent.personalization) {
|
363
|
-
|
364
|
-
// detect changes on the last element on your page, cause then
|
365
|
-
// you know all elements above is translated.
|
366
|
-
// $('#j1_footer').bind('DOMSubtreeModified', function() {
|
367
|
-
// var val = $(this);
|
368
|
-
// var strlang = "" + val[0].innerText + "";
|
369
|
-
// console.log(strlang); // print your selected language in console
|
370
|
-
// });
|
371
|
-
|
372
|
-
// $('#google_translate_element').bind('DOMSubtreeModified', function() {
|
373
|
-
// var val = $(this);
|
374
|
-
// var strlang = "" + val[0].innerText + "";
|
375
|
-
// console.log(strlang); // print your selected language in console
|
376
|
-
// });
|
377
381
|
|
378
|
-
|
379
|
-
|
382
|
+
selectedTranslationLanguage = msDropdown.value;
|
383
|
+
logger.info('\n' + 'selected translation language: ' + selectedTranslationLanguage);
|
380
384
|
|
381
|
-
|
382
|
-
|
385
|
+
// set transCode settings
|
386
|
+
srcLang = "{{site.language}}";
|
387
|
+
destLang = translation_language;
|
388
|
+
transCode = '/' + srcLang + '/' + selectedTranslationLanguage;
|
383
389
|
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
script.id = 'google-translate';
|
390
|
-
script.src = '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
|
391
|
-
|
392
|
-
if (user_translate.translationEnabled && moduleOptions.translatorName === 'google') {
|
393
|
-
head.appendChild(script);
|
394
|
-
|
395
|
-
if ($('google_translate_element')) {
|
396
|
-
$('google_translate_element').hide();
|
397
|
-
}
|
398
|
-
|
399
|
-
srcLang = "{{site.language}}";
|
400
|
-
destLang = translation_language;
|
401
|
-
transCode = '/' + srcLang + '/' + destLang;
|
402
|
-
|
403
|
-
// set language
|
404
|
-
setCookie({
|
405
|
-
name: 'googtrans',
|
406
|
-
data: transCode
|
407
|
-
});
|
408
|
-
|
409
|
-
// enable google transalate button if not visible
|
410
|
-
if ($('#quickLinksTranslateButton').css('display') === 'none') {
|
411
|
-
$('#quickLinksTranslateButton').css('display', 'block');
|
412
|
-
}
|
413
|
-
|
414
|
-
} else {
|
415
|
-
|
416
|
-
user_translate.translationEnabled = false;
|
417
|
-
cookie_written = j1.writeCookie({
|
418
|
-
name: cookie_names.user_translate,
|
419
|
-
data: user_translate,
|
420
|
-
samesite: 'Strict',
|
421
|
-
secure: secure
|
422
|
-
});
|
423
|
-
|
424
|
-
var el = document.getElementById(script.id);
|
425
|
-
|
426
|
-
if (el) { el.remove(); }
|
427
|
-
|
428
|
-
el = document.getElementById('google_translate_element');
|
429
|
-
if (el) { el.remove(); }
|
430
|
-
|
431
|
-
j1.removeCookie({name: 'googtrans'});
|
432
|
-
// j1.removeCookie({name: '1P_JAR'});
|
433
|
-
// j1.removeCookie({name: 'CONSENT'});
|
434
|
-
// j1.removeCookie({name: 'NID'});
|
435
|
-
}
|
436
|
-
|
437
|
-
}
|
438
|
-
|
439
|
-
if (!user_translate.analysis || !user_translate.personalization) {
|
440
|
-
head = document.getElementsByTagName('head')[0];
|
441
|
-
script = document.createElement('script');
|
442
|
-
script.id = 'google-translate';
|
443
|
-
// script.src = '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
|
444
|
-
|
445
|
-
var el = document.getElementById(script.id);
|
446
|
-
|
447
|
-
// update cookie consent settings
|
448
|
-
user_consent.analysis = user_translate.analysis;
|
449
|
-
user_consent.personalization = user_translate.personalization;
|
450
|
-
cookie_written = j1.writeCookie({
|
451
|
-
name: cookie_names.user_consent,
|
452
|
-
data: user_consent,
|
453
|
-
samesite: 'Strict',
|
454
|
-
secure: secure,
|
455
|
-
expires: 0
|
456
|
-
});
|
457
|
-
|
458
|
-
user_translate.translationEnabled = false;
|
459
|
-
cookie_written = j1.writeCookie({
|
460
|
-
name: cookie_names.user_translate,
|
461
|
-
data: user_consent,
|
462
|
-
samesite: 'Strict',
|
463
|
-
secure: secure,
|
464
|
-
expires: 0
|
465
|
-
});
|
466
|
-
|
467
|
-
if (el) { el.remove(); }
|
468
|
-
|
469
|
-
el = document.getElementById('google_translate_element');
|
470
|
-
if (el) { el.remove(); }
|
471
|
-
|
472
|
-
j1.removeCookie({name: 'googtrans'});
|
473
|
-
}
|
474
|
-
|
475
|
-
if (moduleOptions.reloadPageOnChange) {
|
476
|
-
// reload current page (skip cache)
|
477
|
-
location.reload(true);
|
478
|
-
}
|
390
|
+
// write the googtrans cookie
|
391
|
+
setCookie({
|
392
|
+
name: 'googtrans',
|
393
|
+
data: transCode
|
394
|
+
});
|
479
395
|
|
480
|
-
//
|
481
|
-
|
482
|
-
|
483
|
-
}
|
396
|
+
// reload current page (skip cache)
|
397
|
+
location.reload(true);
|
398
|
+
}, // END cbGoogle
|
484
399
|
|
485
|
-
|
400
|
+
// -------------------------------------------------------------------------
|
401
|
+
// cbDeepl()
|
402
|
+
// Called by the translator CORE module after the user made the
|
403
|
+
// selection for a translation language
|
404
|
+
// -------------------------------------------------------------------------
|
405
|
+
cbDeepl: function () {
|
406
|
+
var logger = log4javascript.getLogger('j1.adapter.translator.cbDeepl');
|
407
|
+
// code for post processing
|
408
|
+
} // END cbDeepl
|
486
409
|
|
487
410
|
}; // END return
|
488
411
|
})(j1, window);
|
@@ -13,7 +13,7 @@
|
|
13
13
|
# -----------------------------------------------------------------------------
|
14
14
|
*/
|
15
15
|
/*!
|
16
|
-
* Bootstrap v4.6.
|
16
|
+
* Bootstrap v4.6.1 (https://getbootstrap.com/)
|
17
17
|
* Copyright 2011-2021 The Bootstrap Authors
|
18
18
|
* Copyright 2011-2021 Twitter, Inc.
|
19
19
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
@@ -1414,9 +1414,6 @@ pre {
|
|
1414
1414
|
.form-control::-ms-expand {
|
1415
1415
|
background-color: transparent;
|
1416
1416
|
border: 0; }
|
1417
|
-
.form-control:-moz-focusring {
|
1418
|
-
color: transparent;
|
1419
|
-
text-shadow: 0 0 0 #495057; }
|
1420
1417
|
.form-control:focus {
|
1421
1418
|
color: #495057;
|
1422
1419
|
background-color: #fff;
|
@@ -1436,6 +1433,10 @@ input[type="datetime-local"].form-control,
|
|
1436
1433
|
input[type="month"].form-control {
|
1437
1434
|
appearance: none; }
|
1438
1435
|
|
1436
|
+
select.form-control:-moz-focusring {
|
1437
|
+
color: transparent;
|
1438
|
+
text-shadow: 0 0 0 #495057; }
|
1439
|
+
|
1439
1440
|
select.form-control:focus::-ms-value {
|
1440
1441
|
color: #495057;
|
1441
1442
|
background-color: #fff; }
|
@@ -1576,7 +1577,7 @@ textarea.form-control {
|
|
1576
1577
|
|
1577
1578
|
.was-validated .form-control:valid, .form-control.is-valid {
|
1578
1579
|
border-color: #28a745;
|
1579
|
-
padding-right: calc(1.5em + 0.75rem);
|
1580
|
+
padding-right: calc(1.5em + 0.75rem) !important;
|
1580
1581
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
|
1581
1582
|
background-repeat: no-repeat;
|
1582
1583
|
background-position: right calc(0.375em + 0.1875rem) center;
|
@@ -1585,13 +1586,17 @@ textarea.form-control {
|
|
1585
1586
|
border-color: #28a745;
|
1586
1587
|
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }
|
1587
1588
|
|
1589
|
+
.was-validated select.form-control:valid, select.form-control.is-valid {
|
1590
|
+
padding-right: 3rem !important;
|
1591
|
+
background-position: right 1.5rem center; }
|
1592
|
+
|
1588
1593
|
.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
|
1589
1594
|
padding-right: calc(1.5em + 0.75rem);
|
1590
1595
|
background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }
|
1591
1596
|
|
1592
1597
|
.was-validated .custom-select:valid, .custom-select.is-valid {
|
1593
1598
|
border-color: #28a745;
|
1594
|
-
padding-right: calc(0.75em + 2.3125rem);
|
1599
|
+
padding-right: calc(0.75em + 2.3125rem) !important;
|
1595
1600
|
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat; }
|
1596
1601
|
.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
|
1597
1602
|
border-color: #28a745;
|
@@ -1660,7 +1665,7 @@ textarea.form-control {
|
|
1660
1665
|
|
1661
1666
|
.was-validated .form-control:invalid, .form-control.is-invalid {
|
1662
1667
|
border-color: #dc3545;
|
1663
|
-
padding-right: calc(1.5em + 0.75rem);
|
1668
|
+
padding-right: calc(1.5em + 0.75rem) !important;
|
1664
1669
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
|
1665
1670
|
background-repeat: no-repeat;
|
1666
1671
|
background-position: right calc(0.375em + 0.1875rem) center;
|
@@ -1669,13 +1674,17 @@ textarea.form-control {
|
|
1669
1674
|
border-color: #dc3545;
|
1670
1675
|
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }
|
1671
1676
|
|
1677
|
+
.was-validated select.form-control:invalid, select.form-control.is-invalid {
|
1678
|
+
padding-right: 3rem !important;
|
1679
|
+
background-position: right 1.5rem center; }
|
1680
|
+
|
1672
1681
|
.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
|
1673
1682
|
padding-right: calc(1.5em + 0.75rem);
|
1674
1683
|
background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }
|
1675
1684
|
|
1676
1685
|
.was-validated .custom-select:invalid, .custom-select.is-invalid {
|
1677
1686
|
border-color: #dc3545;
|
1678
|
-
padding-right: calc(0.75em + 2.3125rem);
|
1687
|
+
padding-right: calc(0.75em + 2.3125rem) !important;
|
1679
1688
|
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat; }
|
1680
1689
|
.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
|
1681
1690
|
border-color: #dc3545;
|
@@ -2551,16 +2560,21 @@ input[type="button"].btn-block {
|
|
2551
2560
|
display: flex;
|
2552
2561
|
align-items: center; }
|
2553
2562
|
.input-group > .custom-file:not(:last-child) .custom-file-label,
|
2563
|
+
.input-group > .custom-file:not(:last-child) .custom-file-label::after {
|
2564
|
+
border-top-right-radius: 0;
|
2565
|
+
border-bottom-right-radius: 0; }
|
2554
2566
|
.input-group > .custom-file:not(:first-child) .custom-file-label {
|
2555
2567
|
border-top-left-radius: 0;
|
2556
2568
|
border-bottom-left-radius: 0; }
|
2557
2569
|
.input-group:not(.has-validation) > .form-control:not(:last-child),
|
2558
2570
|
.input-group:not(.has-validation) > .custom-select:not(:last-child),
|
2571
|
+
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label,
|
2559
2572
|
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
|
2560
2573
|
border-top-right-radius: 0;
|
2561
2574
|
border-bottom-right-radius: 0; }
|
2562
2575
|
.input-group.has-validation > .form-control:nth-last-child(n + 3),
|
2563
2576
|
.input-group.has-validation > .custom-select:nth-last-child(n + 3),
|
2577
|
+
.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label,
|
2564
2578
|
.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
|
2565
2579
|
border-top-right-radius: 0;
|
2566
2580
|
border-bottom-right-radius: 0; }
|
@@ -4581,8 +4595,11 @@ a.close.disabled {
|
|
4581
4595
|
align-items: center;
|
4582
4596
|
justify-content: center;
|
4583
4597
|
width: 15%;
|
4598
|
+
padding: 0;
|
4584
4599
|
color: #fff;
|
4585
4600
|
text-align: center;
|
4601
|
+
background: none;
|
4602
|
+
border: 0;
|
4586
4603
|
opacity: 0.5;
|
4587
4604
|
transition: opacity 0.15s ease; }
|
4588
4605
|
@media (prefers-reduced-motion: reduce) {
|
@@ -4668,7 +4685,7 @@ a.close.disabled {
|
|
4668
4685
|
display: inline-block;
|
4669
4686
|
width: 2rem;
|
4670
4687
|
height: 2rem;
|
4671
|
-
vertical-align:
|
4688
|
+
vertical-align: -0.125em;
|
4672
4689
|
border: 0.25em solid currentColor;
|
4673
4690
|
border-right-color: transparent;
|
4674
4691
|
border-radius: 50%;
|
@@ -4690,7 +4707,7 @@ a.close.disabled {
|
|
4690
4707
|
display: inline-block;
|
4691
4708
|
width: 2rem;
|
4692
4709
|
height: 2rem;
|
4693
|
-
vertical-align:
|
4710
|
+
vertical-align: -0.125em;
|
4694
4711
|
background-color: currentColor;
|
4695
4712
|
border-radius: 50%;
|
4696
4713
|
opacity: 0;
|
@@ -7158,8 +7175,6 @@ a.text-dark:hover, a.text-dark:focus {
|
|
7158
7175
|
blockquote {
|
7159
7176
|
border: 1px solid #adb5bd;
|
7160
7177
|
page-break-inside: avoid; }
|
7161
|
-
thead {
|
7162
|
-
display: table-header-group; }
|
7163
7178
|
tr,
|
7164
7179
|
img {
|
7165
7180
|
page-break-inside: avoid; }
|