bootstrap-sass 3.4.0 → 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '07850cc5ac85a4f204ab4cbe524fc42449a1762ca221683251cfeb3081157f9d'
4
- data.tar.gz: a66f6e021f0448cb037cedd5ab7aff7b86eb094f5cd77e4e57008d7e900b4223
3
+ metadata.gz: 58feea8410ac26aa16a8887d49c39915f01053fac4d547549f22ad09cca903a2
4
+ data.tar.gz: ab2888314daa99c23c67034bb52e89cab7ad5c80fc94cafa2aa000964e6ac4a6
5
5
  SHA512:
6
- metadata.gz: f5d1ed2c991b539000b7f50542c112b6269552c57a778eb07c14a48924107acd915a35805ee6c7764a2702b927974d00f31d71dc8b56cbb25e1ef3c66a535493
7
- data.tar.gz: 9c0ef034d7059f44b7daa5579f70bfd33a7b4bccb3114f32cc626e97ee5b40e56514a20ba0b846742eaa557d133ec64d8918b338e3f921be572fb88844ed5175
6
+ metadata.gz: 524b345c929bbd2013145b9d0efff1e9a9ae40dd92bf10084bbed4d00f1cd4a629258d337d497131be7d386badf3a512951a82670a6e6e1fc82ff34a1d6002ca
7
+ data.tar.gz: cf05215a71378dcd0f25293cd32095d947b7b748113c3e89c1d65c6f5030dc50ad6b5ecc2817695f8d530ba0ec7ef388e819c4b232c68ad2d03a564718896051
data/README.md CHANGED
@@ -23,8 +23,8 @@ Please see the appropriate guide for your environment of choice:
23
23
  In your Gemfile you need to add the `bootstrap-sass` gem, and ensure that the `sass-rails` gem is present - it is added to new Rails applications by default.
24
24
 
25
25
  ```ruby
26
- gem 'bootstrap-sass', '~> 3.4.0'
27
- gem 'sassc-rails', '>= 2.0.0'
26
+ gem 'bootstrap-sass', '~> 3.4.1'
27
+ gem 'sassc-rails', '>= 2.1.0'
28
28
  ```
29
29
 
30
30
  `bundle install` and restart your server to make the files available through the pipeline.
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ require 'bundler/gem_tasks'
2
+
1
3
  lib_path = File.join(__dir__, 'lib')
2
4
  $:.unshift(lib_path) unless $:.include?(lib_path)
3
5
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap v3.4.0 (https://getbootstrap.com/)
3
- * Copyright 2011-2018 Twitter, Inc.
2
+ * Bootstrap v3.4.1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2019 Twitter, Inc.
4
4
  * Licensed under the MIT license
5
5
  */
6
6
 
@@ -17,10 +17,10 @@ if (typeof jQuery === 'undefined') {
17
17
  }(jQuery);
18
18
 
19
19
  /* ========================================================================
20
- * Bootstrap: transition.js v3.4.0
20
+ * Bootstrap: transition.js v3.4.1
21
21
  * https://getbootstrap.com/docs/3.4/javascript/#transitions
22
22
  * ========================================================================
23
- * Copyright 2011-2018 Twitter, Inc.
23
+ * Copyright 2011-2019 Twitter, Inc.
24
24
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
25
25
  * ======================================================================== */
26
26
 
@@ -77,10 +77,10 @@ if (typeof jQuery === 'undefined') {
77
77
  }(jQuery);
78
78
 
79
79
  /* ========================================================================
80
- * Bootstrap: alert.js v3.4.0
80
+ * Bootstrap: alert.js v3.4.1
81
81
  * https://getbootstrap.com/docs/3.4/javascript/#alerts
82
82
  * ========================================================================
83
- * Copyright 2011-2018 Twitter, Inc.
83
+ * Copyright 2011-2019 Twitter, Inc.
84
84
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
85
85
  * ======================================================================== */
86
86
 
@@ -96,7 +96,7 @@ if (typeof jQuery === 'undefined') {
96
96
  $(el).on('click', dismiss, this.close)
97
97
  }
98
98
 
99
- Alert.VERSION = '3.4.0'
99
+ Alert.VERSION = '3.4.1'
100
100
 
101
101
  Alert.TRANSITION_DURATION = 150
102
102
 
@@ -173,10 +173,10 @@ if (typeof jQuery === 'undefined') {
173
173
  }(jQuery);
174
174
 
175
175
  /* ========================================================================
176
- * Bootstrap: button.js v3.4.0
176
+ * Bootstrap: button.js v3.4.1
177
177
  * https://getbootstrap.com/docs/3.4/javascript/#buttons
178
178
  * ========================================================================
179
- * Copyright 2011-2018 Twitter, Inc.
179
+ * Copyright 2011-2019 Twitter, Inc.
180
180
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
181
181
  * ======================================================================== */
182
182
 
@@ -193,7 +193,7 @@ if (typeof jQuery === 'undefined') {
193
193
  this.isLoading = false
194
194
  }
195
195
 
196
- Button.VERSION = '3.4.0'
196
+ Button.VERSION = '3.4.1'
197
197
 
198
198
  Button.DEFAULTS = {
199
199
  loadingText: 'loading...'
@@ -299,10 +299,10 @@ if (typeof jQuery === 'undefined') {
299
299
  }(jQuery);
300
300
 
301
301
  /* ========================================================================
302
- * Bootstrap: carousel.js v3.4.0
302
+ * Bootstrap: carousel.js v3.4.1
303
303
  * https://getbootstrap.com/docs/3.4/javascript/#carousel
304
304
  * ========================================================================
305
- * Copyright 2011-2018 Twitter, Inc.
305
+ * Copyright 2011-2019 Twitter, Inc.
306
306
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
307
307
  * ======================================================================== */
308
308
 
@@ -330,7 +330,7 @@ if (typeof jQuery === 'undefined') {
330
330
  .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
331
331
  }
332
332
 
333
- Carousel.VERSION = '3.4.0'
333
+ Carousel.VERSION = '3.4.1'
334
334
 
335
335
  Carousel.TRANSITION_DURATION = 600
336
336
 
@@ -546,10 +546,10 @@ if (typeof jQuery === 'undefined') {
546
546
  }(jQuery);
547
547
 
548
548
  /* ========================================================================
549
- * Bootstrap: collapse.js v3.4.0
549
+ * Bootstrap: collapse.js v3.4.1
550
550
  * https://getbootstrap.com/docs/3.4/javascript/#collapse
551
551
  * ========================================================================
552
- * Copyright 2011-2018 Twitter, Inc.
552
+ * Copyright 2011-2019 Twitter, Inc.
553
553
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
554
554
  * ======================================================================== */
555
555
 
@@ -577,7 +577,7 @@ if (typeof jQuery === 'undefined') {
577
577
  if (this.options.toggle) this.toggle()
578
578
  }
579
579
 
580
- Collapse.VERSION = '3.4.0'
580
+ Collapse.VERSION = '3.4.1'
581
581
 
582
582
  Collapse.TRANSITION_DURATION = 350
583
583
 
@@ -759,10 +759,10 @@ if (typeof jQuery === 'undefined') {
759
759
  }(jQuery);
760
760
 
761
761
  /* ========================================================================
762
- * Bootstrap: dropdown.js v3.4.0
762
+ * Bootstrap: dropdown.js v3.4.1
763
763
  * https://getbootstrap.com/docs/3.4/javascript/#dropdowns
764
764
  * ========================================================================
765
- * Copyright 2011-2018 Twitter, Inc.
765
+ * Copyright 2011-2019 Twitter, Inc.
766
766
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
767
767
  * ======================================================================== */
768
768
 
@@ -779,7 +779,7 @@ if (typeof jQuery === 'undefined') {
779
779
  $(element).on('click.bs.dropdown', this.toggle)
780
780
  }
781
781
 
782
- Dropdown.VERSION = '3.4.0'
782
+ Dropdown.VERSION = '3.4.1'
783
783
 
784
784
  function getParent($this) {
785
785
  var selector = $this.attr('data-target')
@@ -789,7 +789,7 @@ if (typeof jQuery === 'undefined') {
789
789
  selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
790
790
  }
791
791
 
792
- var $parent = selector && $(document).find(selector)
792
+ var $parent = selector !== '#' ? $(document).find(selector) : null
793
793
 
794
794
  return $parent && $parent.length ? $parent : $this.parent()
795
795
  }
@@ -925,10 +925,10 @@ if (typeof jQuery === 'undefined') {
925
925
  }(jQuery);
926
926
 
927
927
  /* ========================================================================
928
- * Bootstrap: modal.js v3.4.0
928
+ * Bootstrap: modal.js v3.4.1
929
929
  * https://getbootstrap.com/docs/3.4/javascript/#modals
930
930
  * ========================================================================
931
- * Copyright 2011-2018 Twitter, Inc.
931
+ * Copyright 2011-2019 Twitter, Inc.
932
932
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
933
933
  * ======================================================================== */
934
934
 
@@ -960,7 +960,7 @@ if (typeof jQuery === 'undefined') {
960
960
  }
961
961
  }
962
962
 
963
- Modal.VERSION = '3.4.0'
963
+ Modal.VERSION = '3.4.1'
964
964
 
965
965
  Modal.TRANSITION_DURATION = 300
966
966
  Modal.BACKDROP_TRANSITION_DURATION = 150
@@ -1284,18 +1284,148 @@ if (typeof jQuery === 'undefined') {
1284
1284
  }(jQuery);
1285
1285
 
1286
1286
  /* ========================================================================
1287
- * Bootstrap: tooltip.js v3.4.0
1287
+ * Bootstrap: tooltip.js v3.4.1
1288
1288
  * https://getbootstrap.com/docs/3.4/javascript/#tooltip
1289
1289
  * Inspired by the original jQuery.tipsy by Jason Frame
1290
1290
  * ========================================================================
1291
- * Copyright 2011-2018 Twitter, Inc.
1291
+ * Copyright 2011-2019 Twitter, Inc.
1292
1292
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1293
1293
  * ======================================================================== */
1294
1294
 
1295
-
1296
1295
  +function ($) {
1297
1296
  'use strict';
1298
1297
 
1298
+ var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']
1299
+
1300
+ var uriAttrs = [
1301
+ 'background',
1302
+ 'cite',
1303
+ 'href',
1304
+ 'itemtype',
1305
+ 'longdesc',
1306
+ 'poster',
1307
+ 'src',
1308
+ 'xlink:href'
1309
+ ]
1310
+
1311
+ var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i
1312
+
1313
+ var DefaultWhitelist = {
1314
+ // Global attributes allowed on any supplied element below.
1315
+ '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
1316
+ a: ['target', 'href', 'title', 'rel'],
1317
+ area: [],
1318
+ b: [],
1319
+ br: [],
1320
+ col: [],
1321
+ code: [],
1322
+ div: [],
1323
+ em: [],
1324
+ hr: [],
1325
+ h1: [],
1326
+ h2: [],
1327
+ h3: [],
1328
+ h4: [],
1329
+ h5: [],
1330
+ h6: [],
1331
+ i: [],
1332
+ img: ['src', 'alt', 'title', 'width', 'height'],
1333
+ li: [],
1334
+ ol: [],
1335
+ p: [],
1336
+ pre: [],
1337
+ s: [],
1338
+ small: [],
1339
+ span: [],
1340
+ sub: [],
1341
+ sup: [],
1342
+ strong: [],
1343
+ u: [],
1344
+ ul: []
1345
+ }
1346
+
1347
+ /**
1348
+ * A pattern that recognizes a commonly useful subset of URLs that are safe.
1349
+ *
1350
+ * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
1351
+ */
1352
+ var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi
1353
+
1354
+ /**
1355
+ * A pattern that matches safe data URLs. Only matches image, video and audio types.
1356
+ *
1357
+ * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
1358
+ */
1359
+ var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i
1360
+
1361
+ function allowedAttribute(attr, allowedAttributeList) {
1362
+ var attrName = attr.nodeName.toLowerCase()
1363
+
1364
+ if ($.inArray(attrName, allowedAttributeList) !== -1) {
1365
+ if ($.inArray(attrName, uriAttrs) !== -1) {
1366
+ return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))
1367
+ }
1368
+
1369
+ return true
1370
+ }
1371
+
1372
+ var regExp = $(allowedAttributeList).filter(function (index, value) {
1373
+ return value instanceof RegExp
1374
+ })
1375
+
1376
+ // Check if a regular expression validates the attribute.
1377
+ for (var i = 0, l = regExp.length; i < l; i++) {
1378
+ if (attrName.match(regExp[i])) {
1379
+ return true
1380
+ }
1381
+ }
1382
+
1383
+ return false
1384
+ }
1385
+
1386
+ function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
1387
+ if (unsafeHtml.length === 0) {
1388
+ return unsafeHtml
1389
+ }
1390
+
1391
+ if (sanitizeFn && typeof sanitizeFn === 'function') {
1392
+ return sanitizeFn(unsafeHtml)
1393
+ }
1394
+
1395
+ // IE 8 and below don't support createHTMLDocument
1396
+ if (!document.implementation || !document.implementation.createHTMLDocument) {
1397
+ return unsafeHtml
1398
+ }
1399
+
1400
+ var createdDocument = document.implementation.createHTMLDocument('sanitization')
1401
+ createdDocument.body.innerHTML = unsafeHtml
1402
+
1403
+ var whitelistKeys = $.map(whiteList, function (el, i) { return i })
1404
+ var elements = $(createdDocument.body).find('*')
1405
+
1406
+ for (var i = 0, len = elements.length; i < len; i++) {
1407
+ var el = elements[i]
1408
+ var elName = el.nodeName.toLowerCase()
1409
+
1410
+ if ($.inArray(elName, whitelistKeys) === -1) {
1411
+ el.parentNode.removeChild(el)
1412
+
1413
+ continue
1414
+ }
1415
+
1416
+ var attributeList = $.map(el.attributes, function (el) { return el })
1417
+ var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])
1418
+
1419
+ for (var j = 0, len2 = attributeList.length; j < len2; j++) {
1420
+ if (!allowedAttribute(attributeList[j], whitelistedAttributes)) {
1421
+ el.removeAttribute(attributeList[j].nodeName)
1422
+ }
1423
+ }
1424
+ }
1425
+
1426
+ return createdDocument.body.innerHTML
1427
+ }
1428
+
1299
1429
  // TOOLTIP PUBLIC CLASS DEFINITION
1300
1430
  // ===============================
1301
1431
 
@@ -1311,7 +1441,7 @@ if (typeof jQuery === 'undefined') {
1311
1441
  this.init('tooltip', element, options)
1312
1442
  }
1313
1443
 
1314
- Tooltip.VERSION = '3.4.0'
1444
+ Tooltip.VERSION = '3.4.1'
1315
1445
 
1316
1446
  Tooltip.TRANSITION_DURATION = 150
1317
1447
 
@@ -1328,7 +1458,10 @@ if (typeof jQuery === 'undefined') {
1328
1458
  viewport: {
1329
1459
  selector: 'body',
1330
1460
  padding: 0
1331
- }
1461
+ },
1462
+ sanitize : true,
1463
+ sanitizeFn : null,
1464
+ whiteList : DefaultWhitelist
1332
1465
  }
1333
1466
 
1334
1467
  Tooltip.prototype.init = function (type, element, options) {
@@ -1369,7 +1502,15 @@ if (typeof jQuery === 'undefined') {
1369
1502
  }
1370
1503
 
1371
1504
  Tooltip.prototype.getOptions = function (options) {
1372
- options = $.extend({}, this.getDefaults(), this.$element.data(), options)
1505
+ var dataAttributes = this.$element.data()
1506
+
1507
+ for (var dataAttr in dataAttributes) {
1508
+ if (dataAttributes.hasOwnProperty(dataAttr) && $.inArray(dataAttr, DISALLOWED_ATTRIBUTES) !== -1) {
1509
+ delete dataAttributes[dataAttr]
1510
+ }
1511
+ }
1512
+
1513
+ options = $.extend({}, this.getDefaults(), dataAttributes, options)
1373
1514
 
1374
1515
  if (options.delay && typeof options.delay == 'number') {
1375
1516
  options.delay = {
@@ -1378,6 +1519,10 @@ if (typeof jQuery === 'undefined') {
1378
1519
  }
1379
1520
  }
1380
1521
 
1522
+ if (options.sanitize) {
1523
+ options.template = sanitizeHtml(options.template, options.whiteList, options.sanitizeFn)
1524
+ }
1525
+
1381
1526
  return options
1382
1527
  }
1383
1528
 
@@ -1591,7 +1736,16 @@ if (typeof jQuery === 'undefined') {
1591
1736
  var $tip = this.tip()
1592
1737
  var title = this.getTitle()
1593
1738
 
1594
- $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
1739
+ if (this.options.html) {
1740
+ if (this.options.sanitize) {
1741
+ title = sanitizeHtml(title, this.options.whiteList, this.options.sanitizeFn)
1742
+ }
1743
+
1744
+ $tip.find('.tooltip-inner').html(title)
1745
+ } else {
1746
+ $tip.find('.tooltip-inner').text(title)
1747
+ }
1748
+
1595
1749
  $tip.removeClass('fade in top bottom left right')
1596
1750
  }
1597
1751
 
@@ -1772,6 +1926,9 @@ if (typeof jQuery === 'undefined') {
1772
1926
  })
1773
1927
  }
1774
1928
 
1929
+ Tooltip.prototype.sanitizeHtml = function (unsafeHtml) {
1930
+ return sanitizeHtml(unsafeHtml, this.options.whiteList, this.options.sanitizeFn)
1931
+ }
1775
1932
 
1776
1933
  // TOOLTIP PLUGIN DEFINITION
1777
1934
  // =========================
@@ -1805,10 +1962,10 @@ if (typeof jQuery === 'undefined') {
1805
1962
  }(jQuery);
1806
1963
 
1807
1964
  /* ========================================================================
1808
- * Bootstrap: popover.js v3.4.0
1965
+ * Bootstrap: popover.js v3.4.1
1809
1966
  * https://getbootstrap.com/docs/3.4/javascript/#popovers
1810
1967
  * ========================================================================
1811
- * Copyright 2011-2018 Twitter, Inc.
1968
+ * Copyright 2011-2019 Twitter, Inc.
1812
1969
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1813
1970
  * ======================================================================== */
1814
1971
 
@@ -1825,7 +1982,7 @@ if (typeof jQuery === 'undefined') {
1825
1982
 
1826
1983
  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
1827
1984
 
1828
- Popover.VERSION = '3.4.0'
1985
+ Popover.VERSION = '3.4.1'
1829
1986
 
1830
1987
  Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
1831
1988
  placement: 'right',
@@ -1851,10 +2008,25 @@ if (typeof jQuery === 'undefined') {
1851
2008
  var title = this.getTitle()
1852
2009
  var content = this.getContent()
1853
2010
 
1854
- $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
1855
- $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
1856
- this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
1857
- ](content)
2011
+ if (this.options.html) {
2012
+ var typeContent = typeof content
2013
+
2014
+ if (this.options.sanitize) {
2015
+ title = this.sanitizeHtml(title)
2016
+
2017
+ if (typeContent === 'string') {
2018
+ content = this.sanitizeHtml(content)
2019
+ }
2020
+ }
2021
+
2022
+ $tip.find('.popover-title').html(title)
2023
+ $tip.find('.popover-content').children().detach().end()[
2024
+ typeContent === 'string' ? 'html' : 'append'
2025
+ ](content)
2026
+ } else {
2027
+ $tip.find('.popover-title').text(title)
2028
+ $tip.find('.popover-content').children().detach().end().text(content)
2029
+ }
1858
2030
 
1859
2031
  $tip.removeClass('fade top bottom left right in')
1860
2032
 
@@ -1914,10 +2086,10 @@ if (typeof jQuery === 'undefined') {
1914
2086
  }(jQuery);
1915
2087
 
1916
2088
  /* ========================================================================
1917
- * Bootstrap: scrollspy.js v3.4.0
2089
+ * Bootstrap: scrollspy.js v3.4.1
1918
2090
  * https://getbootstrap.com/docs/3.4/javascript/#scrollspy
1919
2091
  * ========================================================================
1920
- * Copyright 2011-2018 Twitter, Inc.
2092
+ * Copyright 2011-2019 Twitter, Inc.
1921
2093
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1922
2094
  * ======================================================================== */
1923
2095
 
@@ -1943,7 +2115,7 @@ if (typeof jQuery === 'undefined') {
1943
2115
  this.process()
1944
2116
  }
1945
2117
 
1946
- ScrollSpy.VERSION = '3.4.0'
2118
+ ScrollSpy.VERSION = '3.4.1'
1947
2119
 
1948
2120
  ScrollSpy.DEFAULTS = {
1949
2121
  offset: 10
@@ -2087,10 +2259,10 @@ if (typeof jQuery === 'undefined') {
2087
2259
  }(jQuery);
2088
2260
 
2089
2261
  /* ========================================================================
2090
- * Bootstrap: tab.js v3.4.0
2262
+ * Bootstrap: tab.js v3.4.1
2091
2263
  * https://getbootstrap.com/docs/3.4/javascript/#tabs
2092
2264
  * ========================================================================
2093
- * Copyright 2011-2018 Twitter, Inc.
2265
+ * Copyright 2011-2019 Twitter, Inc.
2094
2266
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2095
2267
  * ======================================================================== */
2096
2268
 
@@ -2107,7 +2279,7 @@ if (typeof jQuery === 'undefined') {
2107
2279
  // jscs:enable requireDollarBeforejQueryAssignment
2108
2280
  }
2109
2281
 
2110
- Tab.VERSION = '3.4.0'
2282
+ Tab.VERSION = '3.4.1'
2111
2283
 
2112
2284
  Tab.TRANSITION_DURATION = 150
2113
2285
 
@@ -2243,10 +2415,10 @@ if (typeof jQuery === 'undefined') {
2243
2415
  }(jQuery);
2244
2416
 
2245
2417
  /* ========================================================================
2246
- * Bootstrap: affix.js v3.4.0
2418
+ * Bootstrap: affix.js v3.4.1
2247
2419
  * https://getbootstrap.com/docs/3.4/javascript/#affix
2248
2420
  * ========================================================================
2249
- * Copyright 2011-2018 Twitter, Inc.
2421
+ * Copyright 2011-2019 Twitter, Inc.
2250
2422
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2251
2423
  * ======================================================================== */
2252
2424
 
@@ -2274,7 +2446,7 @@ if (typeof jQuery === 'undefined') {
2274
2446
  this.checkPosition()
2275
2447
  }
2276
2448
 
2277
- Affix.VERSION = '3.4.0'
2449
+ Affix.VERSION = '3.4.1'
2278
2450
 
2279
2451
  Affix.RESET = 'affix affix-top affix-bottom'
2280
2452