Abdullah Almsaeed 8 rokov pred
rodič
commit
945211f777
100 zmenil súbory, kde vykonal 9068 pridanie a 14265 odobranie
  1. 3 3
      bower.json
  2. 0 44
      bower_components/bootstrap/.bower.json
  3. 1 1
      bower_components/bootstrap/CHANGELOG.md
  4. 0 12
      bower_components/bootstrap/Gemfile
  5. 0 52
      bower_components/bootstrap/Gemfile.lock
  6. 66 210
      bower_components/bootstrap/Gruntfile.js
  7. 2 1
      bower_components/bootstrap/LICENSE
  8. 24 19
      bower_components/bootstrap/README.md
  9. 0 34
      bower_components/bootstrap/bower.json
  10. 1779 1482
      bower_components/bootstrap/dist/css/bootstrap.css
  11. 1 1
      bower_components/bootstrap/dist/css/bootstrap.css.map
  12. 4 3
      bower_components/bootstrap/dist/css/bootstrap.min.css
  13. 1 1
      bower_components/bootstrap/dist/css/bootstrap.min.css.map
  14. 1640 1770
      bower_components/bootstrap/dist/js/bootstrap.js
  15. 4 4
      bower_components/bootstrap/dist/js/bootstrap.min.js
  16. 0 12
      bower_components/bootstrap/dist/js/npm.js
  17. 0 211
      bower_components/bootstrap/dist/js/umd/alert.js
  18. 0 187
      bower_components/bootstrap/dist/js/umd/button.js
  19. 0 497
      bower_components/bootstrap/dist/js/umd/carousel.js
  20. 0 383
      bower_components/bootstrap/dist/js/umd/collapse.js
  21. 0 312
      bower_components/bootstrap/dist/js/umd/dropdown.js
  22. 0 555
      bower_components/bootstrap/dist/js/umd/modal.js
  23. 0 220
      bower_components/bootstrap/dist/js/umd/popover.js
  24. 0 339
      bower_components/bootstrap/dist/js/umd/scrollspy.js
  25. 0 282
      bower_components/bootstrap/dist/js/umd/tab.js
  26. 0 638
      bower_components/bootstrap/dist/js/umd/tooltip.js
  27. 0 172
      bower_components/bootstrap/dist/js/umd/util.js
  28. 0 29
      bower_components/bootstrap/grunt/bs-commonjs-generator.js
  29. 2 1
      bower_components/bootstrap/grunt/bs-sass-compile/libsass.js
  30. 2 1
      bower_components/bootstrap/grunt/bs-sass-compile/sass.js
  31. 16 15
      bower_components/bootstrap/grunt/change-version.js
  32. 4 4
      bower_components/bootstrap/grunt/configBridge.json
  33. 2994 2987
      bower_components/bootstrap/grunt/npm-shrinkwrap.json
  34. 26 18
      bower_components/bootstrap/grunt/sauce_browsers.yml
  35. 0 181
      bower_components/bootstrap/js/.eslintrc
  36. 0 44
      bower_components/bootstrap/js/.jscsrc
  37. 83 96
      bower_components/bootstrap/js/dist/alert.js
  38. 0 1
      bower_components/bootstrap/js/dist/alert.js.map
  39. 61 66
      bower_components/bootstrap/js/dist/button.js
  40. 0 1
      bower_components/bootstrap/js/dist/button.js.map
  41. 252 268
      bower_components/bootstrap/js/dist/carousel.js
  42. 0 1
      bower_components/bootstrap/js/dist/carousel.js.map
  43. 175 189
      bower_components/bootstrap/js/dist/collapse.js
  44. 0 1
      bower_components/bootstrap/js/dist/collapse.js.map
  45. 147 155
      bower_components/bootstrap/js/dist/dropdown.js
  46. 0 1
      bower_components/bootstrap/js/dist/dropdown.js.map
  47. 287 314
      bower_components/bootstrap/js/dist/modal.js
  48. 0 1
      bower_components/bootstrap/js/dist/modal.js.map
  49. 61 69
      bower_components/bootstrap/js/dist/popover.js
  50. 0 1
      bower_components/bootstrap/js/dist/popover.js.map
  51. 145 156
      bower_components/bootstrap/js/dist/scrollspy.js
  52. 0 1
      bower_components/bootstrap/js/dist/scrollspy.js.map
  53. 122 132
      bower_components/bootstrap/js/dist/tab.js
  54. 0 1
      bower_components/bootstrap/js/dist/tab.js.map
  55. 313 341
      bower_components/bootstrap/js/dist/tooltip.js
  56. 0 1
      bower_components/bootstrap/js/dist/tooltip.js.map
  57. 15 17
      bower_components/bootstrap/js/dist/util.js
  58. 0 1
      bower_components/bootstrap/js/dist/util.js.map
  59. 2 2
      bower_components/bootstrap/js/src/alert.js
  60. 5 2
      bower_components/bootstrap/js/src/button.js
  61. 12 5
      bower_components/bootstrap/js/src/carousel.js
  62. 4 4
      bower_components/bootstrap/js/src/collapse.js
  63. 18 14
      bower_components/bootstrap/js/src/dropdown.js
  64. 11 13
      bower_components/bootstrap/js/src/modal.js
  65. 3 5
      bower_components/bootstrap/js/src/popover.js
  66. 4 3
      bower_components/bootstrap/js/src/scrollspy.js
  67. 2 2
      bower_components/bootstrap/js/src/tab.js
  68. 5 6
      bower_components/bootstrap/js/src/tooltip.js
  69. 8 3
      bower_components/bootstrap/js/src/util.js
  70. 0 8
      bower_components/bootstrap/nuget/MyGet.ps1
  71. 0 27
      bower_components/bootstrap/nuget/bootstrap.nuspec
  72. 0 27
      bower_components/bootstrap/nuget/bootstrap.sass.nuspec
  73. 0 19
      bower_components/bootstrap/package.js
  74. 138 67
      bower_components/bootstrap/package.json
  75. 0 5
      bower_components/bootstrap/sache.json
  76. 0 304
      bower_components/bootstrap/scss/.csscomb.json
  77. 0 461
      bower_components/bootstrap/scss/.scss-lint.yml
  78. 3 12
      bower_components/bootstrap/scss/_alert.scss
  79. 12 3
      bower_components/bootstrap/scss/_animation.scss
  80. 25 10
      bower_components/bootstrap/scss/_breadcrumb.scss
  81. 23 12
      bower_components/bootstrap/scss/_button-group.scss
  82. 14 11
      bower_components/bootstrap/scss/_buttons.scss
  83. 62 32
      bower_components/bootstrap/scss/_card.scss
  84. 25 24
      bower_components/bootstrap/scss/_carousel.scss
  85. 3 0
      bower_components/bootstrap/scss/_close.scss
  86. 6 7
      bower_components/bootstrap/scss/_code.scss
  87. 149 113
      bower_components/bootstrap/scss/_custom-forms.scss
  88. 11 24
      bower_components/bootstrap/scss/_dropdown.scss
  89. 112 190
      bower_components/bootstrap/scss/_forms.scss
  90. 9 46
      bower_components/bootstrap/scss/_grid.scss
  91. 5 15
      bower_components/bootstrap/scss/_images.scss
  92. 28 29
      bower_components/bootstrap/scss/_input-group.scss
  93. 0 77
      bower_components/bootstrap/scss/_labels.scss
  94. 35 50
      bower_components/bootstrap/scss/_list-group.scss
  95. 3 12
      bower_components/bootstrap/scss/_media.scss
  96. 2 3
      bower_components/bootstrap/scss/_mixins.scss
  97. 17 29
      bower_components/bootstrap/scss/_modal.scss
  98. 18 23
      bower_components/bootstrap/scss/_nav.scss
  99. 64 27
      bower_components/bootstrap/scss/_navbar.scss
  100. 0 0
      bower_components/bootstrap/scss/_normalize.scss

+ 3 - 3
bower.json

@@ -11,10 +11,10 @@
     "dist/js/app.js"
   ],
   "dependencies": {
-    "jquery": "1.9.1 - 2",
-    "bootstrap": "https://github.com/twbs/bootstrap.git#v4.0.0-alpha.2",
+    "jquery": "^3",
+    "bootstrap": "https://github.com/twbs/bootstrap.git#v4-dev",
     "font-awesome": "^4",
-    "tether": "https://github.com/HubSpot/tether.git#v1.1.1"
+    "tether": "https://github.com/HubSpot/tether.git#v1.3.7"
   },
   "keywords": [
     "css",

+ 0 - 44
bower_components/bootstrap/.bower.json

@@ -1,44 +0,0 @@
-{
-  "name": "bootstrap",
-  "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
-  "keywords": [
-    "css",
-    "js",
-    "sass",
-    "mobile-first",
-    "responsive",
-    "front-end",
-    "framework",
-    "web"
-  ],
-  "homepage": "http://getbootstrap.com",
-  "license": "MIT",
-  "moduleType": "globals",
-  "main": [
-    "scss/bootstrap.scss",
-    "dist/js/bootstrap.js"
-  ],
-  "ignore": [
-    "/.*",
-    "_config.yml",
-    "CNAME",
-    "composer.json",
-    "CONTRIBUTING.md",
-    "docs",
-    "js/tests",
-    "test-infra"
-  ],
-  "dependencies": {
-    "jquery": "1.9.1 - 2"
-  },
-  "version": "4.0.0-alpha.2",
-  "_release": "4.0.0-alpha.2",
-  "_resolution": {
-    "type": "version",
-    "tag": "v4.0.0-alpha.2",
-    "commit": "48938155eb24b4ccdde09426066869504c6dab3c"
-  },
-  "_source": "https://github.com/twbs/bootstrap.git",
-  "_target": "v4.0.0-alpha.2",
-  "_originalSource": "https://github.com/twbs/bootstrap.git"
-}

+ 1 - 1
bower_components/bootstrap/CHANGELOG.md

@@ -2,4 +2,4 @@ Bootstrap uses [GitHub's Releases feature](https://github.com/blog/1547-release-
 
 See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap.
 
-Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release.
+Release announcement posts on [the official Bootstrap blog](https://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release.

+ 0 - 12
bower_components/bootstrap/Gemfile

@@ -1,12 +0,0 @@
-# Ruby Gems for building and testing Bootstrap
-# Run `grunt update-gemfile-lock` to update to the latest compatible versions
-
-source 'https://rubygems.org'
-
-group :development, :test do
-  gem 'jekyll', '~> 3.0.1'
-  gem 'jekyll-redirect-from', '~> 0.9.0'
-  gem 'jekyll-sitemap', '~> 0.9.0'
-  gem 'sass', '~> 3.4.19'
-  gem 'scss_lint', '~> 0.43'
-end

+ 0 - 52
bower_components/bootstrap/Gemfile.lock

@@ -1,52 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    colorator (0.1)
-    ffi (1.9.10)
-    ffi (1.9.10-x64-mingw32)
-    jekyll (3.0.1)
-      colorator (~> 0.1)
-      jekyll-sass-converter (~> 1.0)
-      jekyll-watch (~> 1.1)
-      kramdown (~> 1.3)
-      liquid (~> 3.0)
-      mercenary (~> 0.3.3)
-      rouge (~> 1.7)
-      safe_yaml (~> 1.0)
-    jekyll-redirect-from (0.9.0)
-      jekyll (>= 2.0)
-    jekyll-sass-converter (1.3.0)
-      sass (~> 3.2)
-    jekyll-sitemap (0.9.0)
-    jekyll-watch (1.3.0)
-      listen (~> 3.0)
-    kramdown (1.9.0)
-    liquid (3.0.6)
-    listen (3.0.5)
-      rb-fsevent (>= 0.9.3)
-      rb-inotify (>= 0.9)
-    mercenary (0.3.5)
-    rainbow (2.0.0)
-    rb-fsevent (0.9.6)
-    rb-inotify (0.9.5)
-      ffi (>= 0.5.0)
-    rouge (1.10.1)
-    safe_yaml (1.0.4)
-    sass (3.4.19)
-    scss_lint (0.43.2)
-      rainbow (~> 2.0)
-      sass (~> 3.4.15)
-
-PLATFORMS
-  ruby
-  x64-mingw32
-
-DEPENDENCIES
-  jekyll (~> 3.0.1)
-  jekyll-redirect-from (~> 0.9.0)
-  jekyll-sitemap (~> 0.9.0)
-  sass (~> 3.4.19)
-  scss_lint (~> 0.43)
-
-BUNDLED WITH
-   1.10.6

+ 66 - 210
bower_components/bootstrap/Gruntfile.js

@@ -1,7 +1,8 @@
 /*!
  * Bootstrap's Gruntfile
- * http://getbootstrap.com
- * Copyright 2013-2015 Twitter, Inc.
+ * https://getbootstrap.com
+ * Copyright 2013-2016 The Bootstrap Authors
+ * Copyright 2013-2016 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  */
 
@@ -17,48 +18,13 @@ module.exports = function (grunt) {
 
   var fs = require('fs');
   var path = require('path');
-  var glob = require('glob');
   var isTravis = require('is-travis');
-  var npmShrinkwrap = require('npm-shrinkwrap');
-  var mq4HoverShim = require('mq4-hover-shim');
-  var autoprefixer = require('autoprefixer')({
-    browsers: [
-      //
-      // Official browser support policy:
-      // http://v4-alpha.getbootstrap.com/getting-started/browsers-devices/#supported-browsers
-      //
-      'Chrome >= 35', // Exact version number here is kinda arbitrary
-      // Rather than using Autoprefixer's native "Firefox ESR" version specifier string,
-      // we deliberately hardcode the number. This is to avoid unwittingly severely breaking the previous ESR in the event that:
-      // (a) we happen to ship a new Bootstrap release soon after the release of a new ESR,
-      //     such that folks haven't yet had a reasonable amount of time to upgrade; and
-      // (b) the new ESR has unprefixed CSS properties/values whose absence would severely break webpages
-      //     (e.g. `box-sizing`, as opposed to `background: linear-gradient(...)`).
-      //     Since they've been unprefixed, Autoprefixer will stop prefixing them,
-      //     thus causing them to not work in the previous ESR (where the prefixes were required).
-      'Firefox >= 31', // Current Firefox Extended Support Release (ESR)
-      // Note: Edge versions in Autoprefixer & Can I Use refer to the EdgeHTML rendering engine version,
-      // NOT the Edge app version shown in Edge's "About" screen.
-      // For example, at the time of writing, Edge 20 on an up-to-date system uses EdgeHTML 12.
-      // See also https://github.com/Fyrd/caniuse/issues/1928
-      'Edge >= 12',
-      'Explorer >= 9',
-      // Out of leniency, we prefix these 1 version further back than the official policy.
-      'iOS >= 8',
-      'Safari >= 8',
-      // The following remain NOT officially supported, but we're lenient and include their prefixes to avoid severely breaking in them.
-      'Android 2.3',
-      'Android >= 4',
-      'Opera >= 12'
-    ]
-  });
 
-  var generateCommonJSModule = require('./grunt/bs-commonjs-generator.js');
   var configBridge = grunt.file.readJSON('./grunt/configBridge.json', { encoding: 'utf8' });
 
   Object.keys(configBridge.paths).forEach(function (key) {
     configBridge.paths[key].forEach(function (val, i, arr) {
-      arr[i] = path.join('./docs/assets', val);
+      arr[i] = path.join('./docs', val);
     });
   });
 
@@ -77,8 +43,8 @@ module.exports = function (grunt) {
                  '}\n',
     jqueryVersionCheck: '+function ($) {\n' +
                         '  var version = $.fn.jquery.split(\' \')[0].split(\'.\')\n' +
-                        '  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 3)) {\n' +
-                        '    throw new Error(\'Bootstrap\\\'s JavaScript requires at least jQuery v1.9.1 but less than v3.0.0\')\n' +
+                        '  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {\n' +
+                        '    throw new Error(\'Bootstrap\\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0\')\n' +
                         '  }\n' +
                         '}(jQuery);\n\n',
 
@@ -89,22 +55,10 @@ module.exports = function (grunt) {
     },
 
     // JS build configuration
-    lineremover: {
-      es6Import: {
-        files: {
-          '<%= concat.bootstrap.dest %>': '<%= concat.bootstrap.dest %>'
-        },
-        options: {
-          exclusionPattern: /^(import|export)/g
-        }
-      }
-    },
-
     babel: {
       dev: {
         options: {
-          sourceMap: true,
-          modules: 'ignore'
+          sourceMap: true
         },
         files: {
           'js/dist/util.js'      : 'js/src/util.js',
@@ -122,64 +76,18 @@ module.exports = function (grunt) {
       },
       dist: {
         options: {
-          modules: 'ignore'
+          extends: '../../js/.babelrc'
         },
         files: {
           '<%= concat.bootstrap.dest %>' : '<%= concat.bootstrap.dest %>'
         }
-      },
-      umd: {
-        options: {
-          modules: 'umd'
-        },
-        files: {
-          'dist/js/umd/util.js'      : 'js/src/util.js',
-          'dist/js/umd/alert.js'     : 'js/src/alert.js',
-          'dist/js/umd/button.js'    : 'js/src/button.js',
-          'dist/js/umd/carousel.js'  : 'js/src/carousel.js',
-          'dist/js/umd/collapse.js'  : 'js/src/collapse.js',
-          'dist/js/umd/dropdown.js'  : 'js/src/dropdown.js',
-          'dist/js/umd/modal.js'     : 'js/src/modal.js',
-          'dist/js/umd/scrollspy.js' : 'js/src/scrollspy.js',
-          'dist/js/umd/tab.js'       : 'js/src/tab.js',
-          'dist/js/umd/tooltip.js'   : 'js/src/tooltip.js',
-          'dist/js/umd/popover.js'   : 'js/src/popover.js'
-        }
-      }
-    },
-
-    eslint: {
-      options: {
-        configFile: 'js/.eslintrc'
-      },
-      target: 'js/src/*.js'
-    },
-
-    jscs: {
-      options: {
-        config: 'js/.jscsrc'
-      },
-      grunt: {
-        src: ['Gruntfile.js', 'grunt/*.js']
-      },
-      core: {
-        src: 'js/src/*.js'
-      },
-      test: {
-        src: 'js/tests/unit/*.js'
-      },
-      assets: {
-        options: {
-          requireCamelCaseOrUpperCaseIdentifiers: null
-        },
-        src: ['docs/assets/js/src/*.js', 'docs/assets/js/*.js', '!docs/assets/js/*.min.js']
       }
     },
 
     stamp: {
       options: {
-        banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>\n+function ($) {\n',
-        footer: '\n}(jQuery);'
+        banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>\n+function () {\n',
+        footer: '\n}();'
       },
       bootstrap: {
         files: {
@@ -190,7 +98,10 @@ module.exports = function (grunt) {
 
     concat: {
       options: {
-        stripBanners: false
+        // Custom function to remove all export and import statements
+        process: function (src) {
+          return src.replace(/^(export|import).*/gm, '');
+        }
       },
       bootstrap: {
         src: [
@@ -242,48 +153,19 @@ module.exports = function (grunt) {
         config: 'scss/.scss-lint.yml',
         reporterOutput: null
       },
-      src: ['scss/*.scss', '!scss/_normalize.scss']
-    },
-
-    postcss: {
       core: {
-        options: {
-          map: true,
-          processors: [
-            mq4HoverShim.postprocessorFor({ hoverSelectorPrefix: '.bs-true-hover ' }),
-            autoprefixer
-          ]
-        },
-        src: 'dist/css/*.css'
+        src: ['scss/*.scss', '!scss/_normalize.scss']
       },
       docs: {
-        options: {
-          processors: [
-            autoprefixer
-          ]
-        },
-        src: 'docs/assets/css/docs.min.css'
-      },
-      examples: {
-        options: {
-          processors: [
-            autoprefixer
-          ]
-        },
-        expand: true,
-        cwd: 'docs/examples/',
-        src: ['**/*.css'],
-        dest: 'docs/examples/'
+        src: ['docs/assets/scss/*.scss', '!docs/assets/scss/docs.scss']
       }
     },
 
     cssmin: {
       options: {
-        // TODO: disable `zeroUnits` optimization once clean-css 3.2 is released
-        //    and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly
-        compatibility: 'ie9',
-        keepSpecialComments: '*',
+        compatibility: 'ie9,-properties.zeroUnits',
         sourceMap: true,
+        // sourceMapInlineSources: true,
         advanced: false
       },
       core: {
@@ -298,30 +180,15 @@ module.exports = function (grunt) {
         ]
       },
       docs: {
-        src: 'docs/assets/css/docs.min.css',
-        dest: 'docs/assets/css/docs.min.css'
-      }
-    },
-
-    csscomb: {
-      options: {
-        config: 'scss/.csscomb.json'
-      },
-      dist: {
-        expand: true,
-        cwd: 'dist/css/',
-        src: ['*.css', '!*.min.css'],
-        dest: 'dist/css/'
-      },
-      examples: {
-        expand: true,
-        cwd: 'docs/examples/',
-        src: '**/*.css',
-        dest: 'docs/examples/'
-      },
-      docs: {
-        src: 'docs/assets/css/src/docs.css',
-        dest: 'docs/assets/css/src/docs.css'
+        files: [
+          {
+            expand: true,
+            cwd: 'docs/assets/css',
+            src: ['*.css', '!*.min.css'],
+            dest: 'docs/assets/css',
+            ext: '.min.css'
+          }
+        ]
       }
     },
 
@@ -362,12 +229,18 @@ module.exports = function (grunt) {
     htmllint: {
       options: {
         ignore: [
-          'Element “img” is missing required attribute “src”.',
-          'Attribute “autocomplete” is only allowed when the input type is “color”, “date”, “datetime”, “datetime-local”, “email”, “month”, “number”, “password”, “range”, “search”, “tel”, “text”, “time”, “url”, or “week”.',
+          'Attribute “autocomplete” is only allowed when the input type is “color”, “date”, “datetime”, “datetime-local”, “email”, “hidden”, “month”, “number”, “password”, “range”, “search”, “tel”, “text”, “time”, “url”, or “week”.',
           'Attribute “autocomplete” not allowed on element “button” at this point.',
-          'Element “div” not allowed as child of element “progress” in this context. (Suppressing further errors from this subtree.)',
           'Consider using the “h1” element as a top-level heading only (all “h1” elements are treated as top-level headings by many screen readers and other tools).',
-          'The “datetime” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.'
+          'Element “div” not allowed as child of element “progress” in this context. (Suppressing further errors from this subtree.)',
+          'Element “img” is missing required attribute “src”.',
+          'The “color” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
+          'The “date” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
+          'The “datetime” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
+          'The “datetime-local” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
+          'The “month” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
+          'The “time” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
+          'The “week” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.'
         ]
       },
       src: ['_gh_pages/**/*.html', 'js/tests/visual/*.html']
@@ -375,7 +248,7 @@ module.exports = function (grunt) {
 
     watch: {
       src: {
-        files: '<%= jscs.core.src %>',
+        files: '<%= concat.bootstrap.src %>',
         tasks: ['babel:dev']
       },
       sass: {
@@ -402,8 +275,17 @@ module.exports = function (grunt) {
     },
 
     exec: {
-      npmUpdate: {
-        command: 'npm update'
+      postcss: {
+        command: 'npm run postcss'
+      },
+      'postcss-docs': {
+        command: 'npm run postcss-docs'
+      },
+      htmlhint: {
+        command: 'npm run htmlhint'
+      },
+      'upload-preview': {
+        command: './grunt/upload-preview.sh'
       }
     },
 
@@ -451,7 +333,7 @@ module.exports = function (grunt) {
   require('time-grunt')(grunt);
 
   // Docs HTML validation task
-  grunt.registerTask('validate-html', ['jekyll:docs', 'htmllint']);
+  grunt.registerTask('validate-html', ['jekyll:docs', 'htmllint', 'exec:htmlhint']);
 
   var runSubset = function (subset) {
     return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset;
@@ -466,7 +348,7 @@ module.exports = function (grunt) {
   if (runSubset('core') &&
     // Skip core tests if this is a Savage build
     process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') {
-    testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'test-scss', 'test-js', 'docs']);
+    testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'test-scss', 'qunit', 'docs']);
   }
   // Skip HTML validation if running a different subset of the test suite
   if (runSubset('validate-html') &&
@@ -478,20 +360,20 @@ module.exports = function (grunt) {
   // Only run Sauce Labs tests if there's a Sauce access key
   if (typeof process.env.SAUCE_ACCESS_KEY !== 'undefined' &&
       // Skip Sauce if running a different subset of the test suite
-      runSubset('sauce-js-unit') &&
-      // Skip Sauce on Travis when [skip sauce] is in the commit message
-      isUndefOrNonZero(process.env.TWBS_DO_SAUCE)) {
-    testSubtasks.push('babel:dev');
-    testSubtasks.push('connect');
-    testSubtasks.push('saucelabs-qunit');
+      runSubset('sauce-js-unit')) {
+    testSubtasks = testSubtasks.concat(['dist', 'docs-css', 'docs-js', 'clean:docs', 'copy:docs', 'exec:upload-preview']);
+    // Skip Sauce on Travis when [skip sauce] is in the commit message
+    if (isUndefOrNonZero(process.env.TWBS_DO_SAUCE)) {
+      testSubtasks.push('connect');
+      testSubtasks.push('saucelabs-qunit');
+    }
   }
   grunt.registerTask('test', testSubtasks);
-  grunt.registerTask('test-js', ['eslint', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']);
 
   // JS distribution task.
-  grunt.registerTask('dist-js', ['babel:dev', 'concat', 'lineremover', 'babel:dist', 'stamp', 'uglify:core', 'commonjs']);
+  grunt.registerTask('dist-js', ['babel:dev', 'concat', 'babel:dist', 'stamp', 'uglify:core']);
 
-  grunt.registerTask('test-scss', ['scsslint']);
+  grunt.registerTask('test-scss', ['scsslint:core']);
 
   // CSS distribution task.
   // Supported Compilers: sass (Ruby) and libsass.
@@ -499,9 +381,9 @@ module.exports = function (grunt) {
     require('./grunt/bs-sass-compile/' + sassCompilerName + '.js')(grunt);
   })(process.env.TWBS_SASS || 'libsass');
   // grunt.registerTask('sass-compile', ['sass:core', 'sass:extras', 'sass:docs']);
-  grunt.registerTask('sass-compile', ['sass:core', 'sass:docs']);
+  grunt.registerTask('sass-compile', ['sass:core', 'sass:extras', 'sass:docs']);
 
-  grunt.registerTask('dist-css', ['sass-compile', 'postcss:core', 'csscomb:dist', 'cssmin:core', 'cssmin:docs']);
+  grunt.registerTask('dist-css', ['sass-compile', 'exec:postcss', 'cssmin:core', 'cssmin:docs']);
 
   // Full distribution task.
   grunt.registerTask('dist', ['clean:dist', 'dist-css', 'dist-js']);
@@ -509,41 +391,15 @@ module.exports = function (grunt) {
   // Default task.
   grunt.registerTask('default', ['clean:dist', 'test']);
 
-  grunt.registerTask('commonjs', ['babel:umd', 'npm-js']);
-
-  grunt.registerTask('npm-js', 'Generate npm-js entrypoint module in dist dir.', function () {
-    var srcFiles = Object.keys(grunt.config.get('babel.umd.files')).map(function (filename) {
-      return './' + path.join('umd', path.basename(filename))
-    })
-    var destFilepath = 'dist/js/npm.js';
-    generateCommonJSModule(grunt, srcFiles, destFilepath);
-  });
-
   // Docs task.
-  grunt.registerTask('docs-css', ['postcss:docs', 'postcss:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']);
+  grunt.registerTask('docs-css', ['cssmin:docs', 'exec:postcss-docs']);
+  grunt.registerTask('lint-docs-css', ['scsslint:docs']);
   grunt.registerTask('docs-js', ['uglify:docsJs']);
-  grunt.registerTask('lint-docs-js', ['jscs:assets']);
-  grunt.registerTask('docs', ['docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs']);
-  grunt.registerTask('docs-github', ['jekyll:github', 'htmlmin']);
+  grunt.registerTask('docs', ['lint-docs-css', 'docs-css', 'docs-js', 'clean:docs', 'copy:docs']);
+  grunt.registerTask('docs-github', ['jekyll:github']);
 
   grunt.registerTask('prep-release', ['dist', 'docs', 'docs-github', 'compress']);
 
   // Publish to GitHub
   grunt.registerTask('publish', ['buildcontrol:pages']);
-
-  // Task for updating the cached npm packages used by the Travis build (which are controlled by test-infra/npm-shrinkwrap.json).
-  // This task should be run and the updated file should be committed whenever Bootstrap's dependencies change.
-  grunt.registerTask('update-shrinkwrap', ['exec:npmUpdate', '_update-shrinkwrap']);
-  grunt.registerTask('_update-shrinkwrap', function () {
-    var done = this.async();
-    npmShrinkwrap({ dev: true, dirname: __dirname }, function (err) {
-      if (err) {
-        grunt.fail.warn(err);
-      }
-      var dest = 'grunt/npm-shrinkwrap.json';
-      fs.renameSync('npm-shrinkwrap.json', dest);
-      grunt.log.writeln('File ' + dest.cyan + ' updated.');
-      done();
-    });
-  });
 };

+ 2 - 1
bower_components/bootstrap/LICENSE

@@ -1,6 +1,7 @@
 The MIT License (MIT)
 
-Copyright (c) 2011-2015 Twitter, Inc
+Copyright (c) 2011-2016 Twitter, Inc.
+Copyright (c) 2011-2016 The Bootstrap Authors
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

+ 24 - 19
bower_components/bootstrap/README.md

@@ -1,16 +1,20 @@
-# [Bootstrap](http://getbootstrap.com)
+# [Bootstrap](https://getbootstrap.com)
 
 [![Slack](https://bootstrap-slack.herokuapp.com/badge.svg)](https://bootstrap-slack.herokuapp.com)
 ![Bower version](https://img.shields.io/bower/v/bootstrap.svg)
 [![npm version](https://img.shields.io/npm/v/bootstrap.svg)](https://www.npmjs.com/package/bootstrap)
+[![Gem version](https://img.shields.io/gem/v/bootstrap.svg)](https://rubygems.org/gems/bootstrap)
 [![Build Status](https://img.shields.io/travis/twbs/bootstrap/master.svg)](https://travis-ci.org/twbs/bootstrap)
-[![devDependency Status](https://img.shields.io/david/dev/twbs/bootstrap.svg)](https://david-dm.org/twbs/bootstrap#info=devDependencies)
-[![NuGet](https://img.shields.io/nuget/vpre/bootstrap.svg)](https://www.nuget.org/packages/bootstrap/4.0.0-alpha)
+[![devDependency Status](https://img.shields.io/david/dev/twbs/bootstrap.svg)](https://david-dm.org/twbs/bootstrap?type=dev)
+[![Meteor Atmosphere](https://img.shields.io/badge/meteor-twbs%3Abootstrap-blue.svg)](https://atmospherejs.com/twbs/bootstrap)
+[![Packagist Prerelease](https://img.shields.io/packagist/vpre/twbs/bootstrap.svg)](https://packagist.org/packages/twbs/bootstrap)
+[![NuGet](https://img.shields.io/nuget/vpre/bootstrap.svg)](https://www.nuget.org/packages/bootstrap/4.0.0-alpha4)
+
 [![Selenium Test Status](https://saucelabs.com/browser-matrix/bootstrap.svg)](https://saucelabs.com/u/bootstrap)
 
 Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thornton](https://twitter.com/fat), and maintained by the [core team](https://github.com/orgs/twbs/people) with the massive support and involvement of the community.
 
-To get started, check out <http://getbootstrap.com>!
+To get started, check out <https://getbootstrap.com>!
 
 ## Table of contents
 
@@ -27,15 +31,15 @@ To get started, check out <http://getbootstrap.com>!
 
 Several quick start options are available:
 
-- [Download the latest release](https://github.com/twbs/bootstrap/archive/v4.0.0-alpha.2.zip).
-- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`.
-- Install with [Bower](http://bower.io): `bower install bootstrap`.
-- Install with [npm](https://www.npmjs.com): `npm install bootstrap`.
-- Install with [Meteor](https://www.meteor.com): `meteor add twbs:bootstrap`.
-- Install with [Composer](https://getcomposer.org): `composer require twbs/bootstrap`.
+- [Download the latest release.](https://github.com/twbs/bootstrap/archive/v4.0.0-alpha.4.zip)
+- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`
+- Install with [npm](https://www.npmjs.com): `npm install bootstrap@4.0.0-alpha.4`
+- Install with [Meteor](https://www.meteor.com): `meteor add twbs:bootstrap@=4.0.0-alpha.4`
+- Install with [Composer](https://getcomposer.org): `composer require twbs/bootstrap`
+- Install with [Bower](https://bower.io): `bower install bootstrap#v4.0.0-alpha.4`
 - Install with [NuGet](https://www.nuget.org): CSS: `Install-Package bootstrap -Pre` Sass: `Install-Package bootstrap.sass -Pre` (`-Pre` is only required until Bootstrap v4 has a stable release).
 
-Read the [Getting started page](http://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more.
+Read the [Getting started page](https://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more.
 
 ### What's included
 
@@ -63,19 +67,20 @@ Have a bug or a feature request? Please first read the [issue guidelines](https:
 
 ## Documentation
 
-Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](http://jekyllrb.com) and publicly hosted on GitHub Pages at <http://getbootstrap.com>. The docs may also be run locally.
+Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](https://jekyllrb.com) and publicly hosted on GitHub Pages at <https://getbootstrap.com>. The docs may also be run locally.
 
 ### Running documentation locally
 
 1. Run through the [tooling setup](https://github.com/twbs/bootstrap/blob/v4-dev/docs/getting-started/build-tools.md#tooling-setup) to install Jekyll (the site builder) and other Ruby dependencies with `bundle install`.
-2. From the root `/bootstrap` directory, run `bundle exec jekyll serve` in the command line.
-3. Open <http://localhost:9001> in your browser, and voilà.
+2. Run `grunt` (or a specific set of Grunt tasks) to rebuild distributed CSS and JavaScript files, as well as our docs assets.
+3. From the root `/bootstrap` directory, run `bundle exec jekyll serve` in the command line.
+4. Open <http://localhost:9001> in your browser, and voilà.
 
-Learn more about using Jekyll by reading its [documentation](http://jekyllrb.com/docs/home/).
+Learn more about using Jekyll by reading its [documentation](https://jekyllrb.com/docs/home/).
 
 ### Documentation for previous releases
 
-Documentation for v2.3.2 has been made available for the time being at <http://getbootstrap.com/2.3.2/> while folks transition to Bootstrap 3.
+Documentation for v2.3.2 has been made available for the time being at <https://getbootstrap.com/2.3.2/> while folks transition to Bootstrap 3.
 
 [Previous releases](https://github.com/twbs/bootstrap/releases) and their documentation are also available for download.
 
@@ -96,7 +101,7 @@ Editor preferences are available in the [editor config](https://github.com/twbs/
 Get updates on Bootstrap's development and chat with the project maintainers and community members.
 
 - Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap).
-- Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com).
+- Read and subscribe to [The Official Bootstrap Blog](https://blog.getbootstrap.com).
 - Join [the official Slack room](https://bootstrap-slack.herokuapp.com).
 - Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel.
 - Implementation help may be found at Stack Overflow (tagged [`bootstrap-4`](https://stackoverflow.com/questions/tagged/bootstrap-4)).
@@ -108,7 +113,7 @@ Get updates on Bootstrap's development and chat with the project maintainers and
 
 For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under [the Semantic Versioning guidelines](http://semver.org/). Sometimes we screw up, but we'll adhere to those rules whenever possible.
 
-See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release.
+See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. Release announcement posts on [the official Bootstrap blog](https://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release.
 
 
 ## Creators
@@ -127,4 +132,4 @@ See [the Releases section of our GitHub project](https://github.com/twbs/bootstr
 
 ## Copyright and license
 
-Code and documentation copyright 2011-2015 Twitter, Inc. Code released under [the MIT license](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE).
+Code and documentation copyright 2011-2016 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors) and [Twitter, Inc.](https://twitter.com) Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE).

+ 0 - 34
bower_components/bootstrap/bower.json

@@ -1,34 +0,0 @@
-{
-  "name": "bootstrap",
-  "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
-  "keywords": [
-    "css",
-    "js",
-    "sass",
-    "mobile-first",
-    "responsive",
-    "front-end",
-    "framework",
-    "web"
-  ],
-  "homepage": "http://getbootstrap.com",
-  "license": "MIT",
-  "moduleType": "globals",
-  "main": [
-    "scss/bootstrap.scss",
-    "dist/js/bootstrap.js"
-  ],
-  "ignore": [
-    "/.*",
-    "_config.yml",
-    "CNAME",
-    "composer.json",
-    "CONTRIBUTING.md",
-    "docs",
-    "js/tests",
-    "test-infra"
-  ],
-  "dependencies": {
-    "jquery": "1.9.1 - 2"
-  }
-}

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1779 - 1482
bower_components/bootstrap/dist/css/bootstrap.css


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
bower_components/bootstrap/dist/css/bootstrap.css.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 4 - 3
bower_components/bootstrap/dist/css/bootstrap.min.css


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
bower_components/bootstrap/dist/css/bootstrap.min.css.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1640 - 1770
bower_components/bootstrap/dist/js/bootstrap.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 4 - 4
bower_components/bootstrap/dist/js/bootstrap.min.js


+ 0 - 12
bower_components/bootstrap/dist/js/npm.js

@@ -1,12 +0,0 @@
-// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
-require('./umd/util.js')
-require('./umd/alert.js')
-require('./umd/button.js')
-require('./umd/carousel.js')
-require('./umd/collapse.js')
-require('./umd/dropdown.js')
-require('./umd/modal.js')
-require('./umd/scrollspy.js')
-require('./umd/tab.js')
-require('./umd/tooltip.js')
-require('./umd/popover.js')

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 211
bower_components/bootstrap/dist/js/umd/alert.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 187
bower_components/bootstrap/dist/js/umd/button.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 497
bower_components/bootstrap/dist/js/umd/carousel.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 383
bower_components/bootstrap/dist/js/umd/collapse.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 312
bower_components/bootstrap/dist/js/umd/dropdown.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 555
bower_components/bootstrap/dist/js/umd/modal.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 220
bower_components/bootstrap/dist/js/umd/popover.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 339
bower_components/bootstrap/dist/js/umd/scrollspy.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 282
bower_components/bootstrap/dist/js/umd/tab.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 638
bower_components/bootstrap/dist/js/umd/tooltip.js


+ 0 - 172
bower_components/bootstrap/dist/js/umd/util.js

@@ -1,172 +0,0 @@
-(function (global, factory) {
-  if (typeof define === 'function' && define.amd) {
-    define(['exports', 'module'], factory);
-  } else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
-    factory(exports, module);
-  } else {
-    var mod = {
-      exports: {}
-    };
-    factory(mod.exports, mod);
-    global.util = mod.exports;
-  }
-})(this, function (exports, module) {
-  /**
-   * --------------------------------------------------------------------------
-   * Bootstrap (v4.0.0-alpha.2): util.js
-   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
-   * --------------------------------------------------------------------------
-   */
-
-  'use strict';
-
-  var Util = (function ($) {
-
-    /**
-     * ------------------------------------------------------------------------
-     * Private TransitionEnd Helpers
-     * ------------------------------------------------------------------------
-     */
-
-    var transition = false;
-
-    var TransitionEndEvent = {
-      WebkitTransition: 'webkitTransitionEnd',
-      MozTransition: 'transitionend',
-      OTransition: 'oTransitionEnd otransitionend',
-      transition: 'transitionend'
-    };
-
-    // shoutout AngusCroll (https://goo.gl/pxwQGp)
-    function toType(obj) {
-      return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
-    }
-
-    function isElement(obj) {
-      return (obj[0] || obj).nodeType;
-    }
-
-    function getSpecialTransitionEndEvent() {
-      return {
-        bindType: transition.end,
-        delegateType: transition.end,
-        handle: function handle(event) {
-          if ($(event.target).is(this)) {
-            return event.handleObj.handler.apply(this, arguments);
-          }
-        }
-      };
-    }
-
-    function transitionEndTest() {
-      if (window.QUnit) {
-        return false;
-      }
-
-      var el = document.createElement('bootstrap');
-
-      for (var _name in TransitionEndEvent) {
-        if (el.style[_name] !== undefined) {
-          return { end: TransitionEndEvent[_name] };
-        }
-      }
-
-      return false;
-    }
-
-    function transitionEndEmulator(duration) {
-      var _this = this;
-
-      var called = false;
-
-      $(this).one(Util.TRANSITION_END, function () {
-        called = true;
-      });
-
-      setTimeout(function () {
-        if (!called) {
-          Util.triggerTransitionEnd(_this);
-        }
-      }, duration);
-
-      return this;
-    }
-
-    function setTransitionEndSupport() {
-      transition = transitionEndTest();
-
-      $.fn.emulateTransitionEnd = transitionEndEmulator;
-
-      if (Util.supportsTransitionEnd()) {
-        $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
-      }
-    }
-
-    /**
-     * --------------------------------------------------------------------------
-     * Public Util Api
-     * --------------------------------------------------------------------------
-     */
-
-    var Util = {
-
-      TRANSITION_END: 'bsTransitionEnd',
-
-      getUID: function getUID(prefix) {
-        do {
-          prefix += ~ ~(Math.random() * 1000000); // "~~" acts like a faster Math.floor() here
-        } while (document.getElementById(prefix));
-        return prefix;
-      },
-
-      getSelectorFromElement: function getSelectorFromElement(element) {
-        var selector = element.getAttribute('data-target');
-
-        if (!selector) {
-          selector = element.getAttribute('href') || '';
-          selector = /^#[a-z]/i.test(selector) ? selector : null;
-        }
-
-        return selector;
-      },
-
-      reflow: function reflow(element) {
-        new Function('bs', 'return bs')(element.offsetHeight);
-      },
-
-      triggerTransitionEnd: function triggerTransitionEnd(element) {
-        $(element).trigger(transition.end);
-      },
-
-      supportsTransitionEnd: function supportsTransitionEnd() {
-        return Boolean(transition);
-      },
-
-      typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
-        for (var property in configTypes) {
-          if (configTypes.hasOwnProperty(property)) {
-            var expectedTypes = configTypes[property];
-            var value = config[property];
-            var valueType = undefined;
-
-            if (value && isElement(value)) {
-              valueType = 'element';
-            } else {
-              valueType = toType(value);
-            }
-
-            if (!new RegExp(expectedTypes).test(valueType)) {
-              throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
-            }
-          }
-        }
-      }
-    };
-
-    setTransitionEndSupport();
-
-    return Util;
-  })(jQuery);
-
-  module.exports = Util;
-});

+ 0 - 29
bower_components/bootstrap/grunt/bs-commonjs-generator.js

@@ -1,29 +0,0 @@
-/*!
- * Bootstrap Grunt task for the CommonJS module generation
- * http://getbootstrap.com
- * Copyright 2014-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-
-'use strict';
-
-var fs = require('fs');
-var path = require('path');
-
-var COMMONJS_BANNER = '// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.\n';
-
-module.exports = function generateCommonJSModule(grunt, srcFiles, destFilepath) {
-  var destDir = path.dirname(destFilepath);
-
-  function srcPathToDestRequire(srcFilepath) {
-    return 'require(\'' + srcFilepath.replace(/\\/g, '/') + '\')';
-  }
-
-  var moduleOutputJs = COMMONJS_BANNER + srcFiles.map(srcPathToDestRequire).join('\n');
-  try {
-    fs.writeFileSync(destFilepath, moduleOutputJs);
-  } catch (err) {
-    grunt.fail.warn(err);
-  }
-  grunt.log.writeln('File ' + destFilepath.cyan + ' created.');
-};

+ 2 - 1
bower_components/bootstrap/grunt/bs-sass-compile/libsass.js

@@ -25,7 +25,8 @@ module.exports = function configureLibsass(grunt) {
       },
       docs: {
         files: {
-          'docs/assets/css/docs.min.css': 'docs/assets/scss/docs.scss'
+          'docs/assets/css/docs.min.css': 'docs/assets/scss/docs.scss',
+          'docs/assets/css/docs-flexbox.min.css': 'docs/assets/scss/flex-grid.scss'
         }
       }
     }

+ 2 - 1
bower_components/bootstrap/grunt/bs-sass-compile/sass.js

@@ -29,7 +29,8 @@ module.exports = function configureRubySass(grunt) {
       docs: {
         options: options,
         files: {
-          'docs/assets/css/docs.min.css': 'docs/assets/scss/docs.scss'
+          'docs/assets/css/docs.min.css': 'docs/assets/scss/docs.scss',
+          'docs/assets/css/docs-flexbox.min.css': 'docs/assets/scss/flex-grid.scss'
         }
       }
     }

+ 16 - 15
bower_components/bootstrap/grunt/change-version.js

@@ -3,6 +3,7 @@
 
 /*!
  * Script to update version number references in the project.
+ * Copyright 2015 The Bootstrap Authors
  * Copyright 2015 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  */
@@ -55,20 +56,20 @@ function walkAsync(directory, excludedDirectories, fileCallback, errback) {
 function replaceRecursively(directory, excludedDirectories, allowedExtensions, original, replacement) {
   original = new RegExp(RegExp.quote(original), 'g');
   replacement = RegExp.quoteReplacement(replacement);
-  var updateFile = !DRY_RUN ? (function (filepath) {
-      if (allowedExtensions.has(path.parse(filepath).ext)) {
-        sed('-i', original, replacement, filepath);
-      }
-    }) : (function (filepath) {
-      if (allowedExtensions.has(path.parse(filepath).ext)) {
-        console.log('FILE: ' + filepath);
-      }
-      else {
-        console.log('EXCLUDED:' + filepath);
-      }
-    });
-  walkAsync('.', excludedDirectories, updateFile, function (err) {
-    console.error('ERROR while traversing directory!:')
+  var updateFile = !DRY_RUN ? function (filepath) {
+    if (allowedExtensions.has(path.parse(filepath).ext)) {
+      sed('-i', original, replacement, filepath);
+    }
+  } : function (filepath) {
+    if (allowedExtensions.has(path.parse(filepath).ext)) {
+      console.log('FILE: ' + filepath);
+    }
+    else {
+      console.log('EXCLUDED:' + filepath);
+    }
+  };
+  walkAsync(directory, excludedDirectories, updateFile, function (err) {
+    console.error('ERROR while traversing directory!:');
     console.error(err);
     process.exit(1);
   });
@@ -100,6 +101,6 @@ function main(args) {
     '.yml'
   ]);
   replaceRecursively('.', EXCLUDED_DIRS, INCLUDED_EXTENSIONS, oldVersion, newVersion);
-};
+}
 
 main(process.argv.slice(2));

+ 4 - 4
bower_components/bootstrap/grunt/configBridge.json

@@ -1,10 +1,10 @@
 {
   "paths": {
     "docsJs": [
-      "../assets/js/vendor/anchor.min.js",
-      "../assets/js/vendor/clipboard.min.js",
-      "../assets/js/vendor/holder.min.js",
-      "../assets/js/src/application.js"
+      "assets/js/vendor/anchor.min.js",
+      "assets/js/vendor/clipboard.min.js",
+      "assets/js/vendor/holder.min.js",
+      "assets/js/src/application.js"
     ]
   }
 }

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 2994 - 2987
bower_components/bootstrap/grunt/npm-shrinkwrap.json


+ 26 - 18
bower_components/bootstrap/grunt/sauce_browsers.yml

@@ -1,24 +1,27 @@
 [
-  # Docs: https://saucelabs.com/docs/platforms/webdriver
+  # Docs: https://wiki.saucelabs.com/display/DOCS/Platform+Configurator
 
   {
     browserName: "safari",
-    platform: "OS X 10.10"
+    platform: "OS X 10.11"
   },
   {
     browserName: "chrome",
-    platform: "OS X 10.10"
+    platform: "OS X 10.11",
+    version: "latest"
   },
   {
     browserName: "firefox",
-    platform: "OS X 10.10"
+    platform: "OS X 10.11",
+    version: "latest"
   },
 
   # Mac Opera not currently supported by Sauce Labs
 
   {
     browserName: "MicrosoftEdge",
-    platform: "Windows 10"
+    platform: "Windows 10",
+    version: "latest"
   },
   {
     browserName: "internet explorer",
@@ -38,11 +41,13 @@
 
   {
     browserName: "chrome",
-    platform: "Windows 8.1"
+    platform: "Windows 10",
+    version: "latest"
   },
   {
     browserName: "firefox",
-    platform: "Windows 8.1"
+    platform: "Windows 10",
+    version: "latest"
   },
 
   # Win Opera 15+ not currently supported by Sauce Labs
@@ -50,7 +55,7 @@
   {
     browserName: "iphone",
     platform: "OS X 10.10",
-    version: "9.1"
+    version: "latest"
   },
 
   # iOS Chrome not currently supported by Sauce Labs
@@ -58,18 +63,21 @@
   # Linux (unofficial)
   {
     browserName: "chrome",
-    platform: "Linux"
+    platform: "Linux",
+    version: "latest"
   },
   {
     browserName: "firefox",
-    platform: "Linux"
-  }
+    platform: "Linux",
+    version: "latest"
+  },
 
-  # Android Chrome not currently supported by Sauce Labs
-  # Android v5.0+ not currently supported by Sauce Labs
-  # { # Android Browser
-  #   browserName: "android",
-  #   version: "5.0",
-  #   platform: "Linux"
-  # }
+  # Android
+  {
+    platform: "Linux",
+    browserName: "android",
+    deviceName: "Android Emulator",
+    version: "latest",
+    deviceType: "phone"
+  }
 ]

+ 0 - 181
bower_components/bootstrap/js/.eslintrc

@@ -1,181 +0,0 @@
-{
-    "root": true,
-    "parser": "babel-eslint",
-    "env": {
-        "browser": true,
-        "jquery": true
-    },
-    "rules": {
-
-        // Possible Errors
-        "comma-dangle": [2, "never"],
-        "handle-callback-err": 2,
-        "no-bitwise": 0,
-        "no-cond-assign": 2,
-        "no-console": 2,
-        "no-constant-condition": 2,
-        "no-control-regex": 2,
-        "no-debugger": 2,
-        "no-dupe-args": 2,
-        "no-dupe-keys": 2,
-        "no-duplicate-case": 2,
-        "no-empty": 2,
-        "no-empty-character-class": 2,
-        "no-ex-assign": 2,
-        "no-extra-boolean-cast": 2,
-        "no-extra-parens": 0,
-        "no-extra-semi": 2,
-        "no-func-assign": 2,
-        "no-inner-declarations": 2,
-        "no-invalid-regexp": 2,
-        "no-irregular-whitespace": 2,
-        "no-negated-in-lhs": 2,
-        "no-obj-calls": 2,
-        "no-regex-spaces": 2,
-        "no-sparse-arrays": 2,
-        "no-unexpected-multiline": 2,
-        "no-unreachable": 2,
-        "use-isnan": 2,
-        "valid-jsdoc": 0,
-        "valid-typeof": 2,
-
-        //Best Practices
-        "accessor-pairs": 2,
-        "block-scoped-var": 2,
-        "consistent-return": 2,
-        "curly": 2,
-        "default-case": 2,
-        "dot-location": 0,
-        "dot-notation": 0,
-        "eqeqeq": 2,
-        "guard-for-in": 2,
-        "no-alert": 2,
-        "no-caller": 2,
-        "no-div-regex": 2,
-        "no-else-return": 2,
-        "no-empty-label": 2,
-        "no-eq-null": 2,
-        "no-eval": 2,
-        "no-extend-native": 2,
-        "no-extra-bind": 2,
-        "no-fallthrough": 2,
-        "no-floating-decimal": 2,
-        "no-implicit-coercion": 2,
-        "no-implied-eval": 2,
-        "no-invalid-this": 0,
-        "no-iterator": 2,
-        "no-labels": 2,
-        "no-lone-blocks": 2,
-        "no-loop-func": 2,
-        "no-multi-spaces": 0,
-        "no-multi-str": 2,
-        "no-native-reassign": 2,
-        "no-new": 2,
-        "no-new-func": 0,
-        "no-new-wrappers": 2,
-        "no-octal": 2,
-        "no-octal-escape": 2,
-        "no-param-reassign": 0,
-        "no-process-env": 2,
-        "no-proto": 2,
-        "no-redeclare": 2,
-        "no-return-assign": 2,
-        "no-script-url": 2,
-        "no-self-compare": 2,
-        "no-sequences": 2,
-        "no-throw-literal": 2,
-        "no-unused-expressions": 2,
-        "no-useless-call": 2,
-        "no-useless-concat": 2,
-        "no-void": 2,
-        "no-warning-comments": 0,
-        "no-with": 2,
-        "radix": 2,
-        "vars-on-top": 0,
-        "wrap-iife": 2,
-        "yoda": 2,
-
-        // Variables
-        "init-declarations": 0,
-        "no-catch-shadow": 2,
-        "no-delete-var": 2,
-        "no-label-var": 2,
-        "no-shadow": 0,
-        "no-shadow-restricted-names": 2,
-        "no-undef": 2,
-        "no-undefined": 0,
-        "no-undef-init": 2,
-        "no-unused-vars": 2,
-        "no-use-before-define": 0,
-
-        // Stylistic
-        "array-bracket-spacing": 2,
-        "block-spacing": 2,
-        "brace-style": 2,
-        "camelcase": 2,
-        "comma-spacing": 2,
-        "comma-style": 2,
-        "computed-property-spacing": 2,
-        "consistent-this": 2,
-        "eol-last": 2,
-        "func-names": 0,
-        "func-style": 0,
-        "indent": [2, 2, {"SwitchCase": 1}],
-        "key-spacing": 0,
-        "linebreak-style": 2,
-        "lines-around-comment": 0,
-        "new-cap": 0,
-        "newline-after-var": 0,
-        "new-parens": 2,
-        "no-array-constructor": 2,
-        "no-continue": 0,
-        "no-inline-comments": 0,
-        "no-lonely-if": 2,
-        "no-mixed-spaces-and-tabs": 2,
-        "no-multiple-empty-lines": 2,
-        "no-nested-ternary": 0,
-        "no-new-object": 2,
-        "no-spaced-func": 2,
-        "no-ternary": 0,
-        "no-trailing-spaces": 2,
-        "no-underscore-dangle": 0,
-        "no-unneeded-ternary": 2,
-        "object-curly-spacing": [1, "always"],
-        "one-var": 0,
-        "operator-assignment": 2,
-        "operator-linebreak": 0,
-        "padded-blocks": 0,
-        "quote-props": [2, "as-needed"],
-        "quotes": [2, "single"],
-        "semi": [2, "never"],
-        "semi-spacing": 2,
-        "sort-vars": 2,
-        "space-after-keywords": 2,
-        "space-before-blocks": 2,
-        "space-before-function-paren": 0,
-        "spaced-comment": 2,
-        "space-infix-ops": 2,
-        "space-in-parens": 2,
-        "space-return-throw-case": 2,
-        "space-unary-ops": 2,
-
-        // es6
-        "arrow-parens": 2,
-        "arrow-spacing": 2,
-        "constructor-super": 2,
-        "generator-star-spacing": 2,
-        "no-class-assign": 2,
-        "no-const-assign": 2,
-        "no-dupe-class-members": 2,
-        "no-this-before-super": 2,
-        "no-var": 2,
-        "object-shorthand": 2,
-        "prefer-arrow-callback": 2,
-        "prefer-const": 0,
-        "prefer-reflect": 0,
-        "prefer-spread": 2,
-        "prefer-template": 2,
-        "require-yield": 2
-
-    }
-}

+ 0 - 44
bower_components/bootstrap/js/.jscsrc

@@ -1,44 +0,0 @@
-{
-  "esnext": true,
-  "verbose": true,
-  "disallowEmptyBlocks": true,
-  "disallowKeywords": ["with"],
-  "disallowMixedSpacesAndTabs": true,
-  "disallowMultipleLineStrings": true,
-  "disallowMultipleVarDecl": true,
-  "disallowQuotedKeysInObjects": "allButReserved",
-  "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
-  "disallowSpaceBeforeBinaryOperators": [","],
-  "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
-  "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
-  "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
-  "disallowSpacesInsideArrayBrackets": true,
-  "disallowSpacesInsideParentheses": true,
-  "disallowTrailingComma": true,
-  "disallowTrailingWhitespace": true,
-  "requireCamelCaseOrUpperCaseIdentifiers": true,
-  "requireCapitalizedConstructors": true,
-  "requireCommaBeforeLineBreak": true,
-  "requireDollarBeforejQueryAssignment": true,
-  "requireDotNotation": true,
-  "requireLineFeedAtFileEnd": true,
-  "requirePaddingNewLinesAfterUseStrict": true,
-  "requirePaddingNewLinesBeforeExport": true,
-  "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
-  "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
-  "requireSpaceAfterLineComment": true,
-  "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
-  "requireSpaceBetweenArguments": true,
-  "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningCurlyBrace": true, "beforeOpeningRoundBrace": true, "allExcept": ["shorthand"] },
-  "requireSpacesInConditionalExpression": true,
-  "requireSpacesInForStatement": true,
-  "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
-  "requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true },
-  "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
-  "requireSpacesInsideObjectBrackets": "allButNested",
-  "validateAlignedFunctionParameters": true,
-  "validateIndentation": 2,
-  "validateLineBreaks": "LF",
-  "validateNewlineAfterArrayElements": true,
-  "validateQuoteMarks": "'"
-}

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 83 - 96
bower_components/bootstrap/js/dist/alert.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 1
bower_components/bootstrap/js/dist/alert.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 61 - 66
bower_components/bootstrap/js/dist/button.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 1
bower_components/bootstrap/js/dist/button.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 252 - 268
bower_components/bootstrap/js/dist/carousel.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 1
bower_components/bootstrap/js/dist/carousel.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 175 - 189
bower_components/bootstrap/js/dist/collapse.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 1
bower_components/bootstrap/js/dist/collapse.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 147 - 155
bower_components/bootstrap/js/dist/dropdown.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 1
bower_components/bootstrap/js/dist/dropdown.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 287 - 314
bower_components/bootstrap/js/dist/modal.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 1
bower_components/bootstrap/js/dist/modal.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 61 - 69
bower_components/bootstrap/js/dist/popover.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 1
bower_components/bootstrap/js/dist/popover.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 145 - 156
bower_components/bootstrap/js/dist/scrollspy.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 1
bower_components/bootstrap/js/dist/scrollspy.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 122 - 132
bower_components/bootstrap/js/dist/tab.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 1
bower_components/bootstrap/js/dist/tab.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 313 - 341
bower_components/bootstrap/js/dist/tooltip.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 1
bower_components/bootstrap/js/dist/tooltip.js.map


+ 15 - 17
bower_components/bootstrap/js/dist/util.js

@@ -1,13 +1,11 @@
 /**
  * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.2): util.js
+ * Bootstrap (v4.0.0-alpha.4): util.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * --------------------------------------------------------------------------
  */
 
-'use strict';
-
-var Util = (function ($) {
+var Util = function ($) {
 
   /**
    * ------------------------------------------------------------------------
@@ -17,6 +15,8 @@ var Util = (function ($) {
 
   var transition = false;
 
+  var MAX_UID = 1000000;
+
   var TransitionEndEvent = {
     WebkitTransition: 'webkitTransitionEnd',
     MozTransition: 'transitionend',
@@ -26,7 +26,7 @@ var Util = (function ($) {
 
   // shoutout AngusCroll (https://goo.gl/pxwQGp)
   function toType(obj) {
-    return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
+    return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
   }
 
   function isElement(obj) {
@@ -39,8 +39,9 @@ var Util = (function ($) {
       delegateType: transition.end,
       handle: function handle(event) {
         if ($(event.target).is(this)) {
-          return event.handleObj.handler.apply(this, arguments);
+          return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
         }
+        return undefined;
       }
     };
   }
@@ -52,9 +53,9 @@ var Util = (function ($) {
 
     var el = document.createElement('bootstrap');
 
-    for (var _name in TransitionEndEvent) {
-      if (el.style[_name] !== undefined) {
-        return { end: TransitionEndEvent[_name] };
+    for (var name in TransitionEndEvent) {
+      if (el.style[name] !== undefined) {
+        return { end: TransitionEndEvent[name] };
       }
     }
 
@@ -101,11 +102,12 @@ var Util = (function ($) {
 
     getUID: function getUID(prefix) {
       do {
-        prefix += ~ ~(Math.random() * 1000000); // "~~" acts like a faster Math.floor() here
+        /* eslint-disable no-bitwise */
+        prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
+        /* eslint-enable no-bitwise */
       } while (document.getElementById(prefix));
       return prefix;
     },
-
     getSelectorFromElement: function getSelectorFromElement(element) {
       var selector = element.getAttribute('data-target');
 
@@ -116,25 +118,21 @@ var Util = (function ($) {
 
       return selector;
     },
-
     reflow: function reflow(element) {
       new Function('bs', 'return bs')(element.offsetHeight);
     },
-
     triggerTransitionEnd: function triggerTransitionEnd(element) {
       $(element).trigger(transition.end);
     },
-
     supportsTransitionEnd: function supportsTransitionEnd() {
       return Boolean(transition);
     },
-
     typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
       for (var property in configTypes) {
         if (configTypes.hasOwnProperty(property)) {
           var expectedTypes = configTypes[property];
           var value = config[property];
-          var valueType = undefined;
+          var valueType = void 0;
 
           if (value && isElement(value)) {
             valueType = 'element';
@@ -153,5 +151,5 @@ var Util = (function ($) {
   setTransitionEndSupport();
 
   return Util;
-})(jQuery);
+}(jQuery);
 //# sourceMappingURL=util.js.map

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 1
bower_components/bootstrap/js/dist/util.js.map


+ 2 - 2
bower_components/bootstrap/js/src/alert.js

@@ -3,7 +3,7 @@ import Util from './util'
 
 /**
  * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.2): alert.js
+ * Bootstrap (v4.0.0-alpha.4): alert.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -18,7 +18,7 @@ const Alert = (($) => {
    */
 
   const NAME                = 'alert'
-  const VERSION             = '4.0.0-alpha'
+  const VERSION             = '4.0.0-alpha.4'
   const DATA_KEY            = 'bs.alert'
   const EVENT_KEY           = `.${DATA_KEY}`
   const DATA_API_KEY        = '.data-api'

+ 5 - 2
bower_components/bootstrap/js/src/button.js

@@ -1,6 +1,6 @@
 /**
  * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.2): button.js
+ * Bootstrap (v4.0.0-alpha.4): button.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -15,7 +15,7 @@ const Button = (($) => {
    */
 
   const NAME                = 'button'
-  const VERSION             = '4.0.0-alpha'
+  const VERSION             = '4.0.0-alpha.4'
   const DATA_KEY            = 'bs.button'
   const EVENT_KEY           = `.${DATA_KEY}`
   const DATA_API_KEY        = '.data-api'
@@ -92,7 +92,10 @@ const Button = (($) => {
             input.checked = !$(this._element).hasClass(ClassName.ACTIVE)
             $(this._element).trigger('change')
           }
+
+          input.focus()
         }
+
       } else {
         this._element.setAttribute('aria-pressed',
           !$(this._element).hasClass(ClassName.ACTIVE))

+ 12 - 5
bower_components/bootstrap/js/src/carousel.js

@@ -3,7 +3,7 @@ import Util from './util'
 
 /**
  * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.2): carousel.js
+ * Bootstrap (v4.0.0-alpha.4): carousel.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -18,12 +18,14 @@ const Carousel = (($) => {
    */
 
   const NAME                = 'carousel'
-  const VERSION             = '4.0.0-alpha'
+  const VERSION             = '4.0.0-alpha.4'
   const DATA_KEY            = 'bs.carousel'
   const EVENT_KEY           = `.${DATA_KEY}`
   const DATA_API_KEY        = '.data-api'
   const JQUERY_NO_CONFLICT  = $.fn[NAME]
   const TRANSITION_DURATION = 600
+  const ARROW_LEFT_KEYCODE  = 37 // KeyboardEvent.which value for left arrow key
+  const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key
 
   const Default = {
     interval : 5000,
@@ -236,9 +238,14 @@ const Carousel = (($) => {
       }
 
       switch (event.which) {
-        case 37: this.prev(); break
-        case 39: this.next(); break
-        default: return
+        case ARROW_LEFT_KEYCODE:
+          this.prev()
+          break
+        case ARROW_RIGHT_KEYCODE:
+          this.next()
+          break
+        default:
+          return
       }
     }
 

+ 4 - 4
bower_components/bootstrap/js/src/collapse.js

@@ -3,7 +3,7 @@ import Util from './util'
 
 /**
  * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.2): collapse.js
+ * Bootstrap (v4.0.0-alpha.4): collapse.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -18,7 +18,7 @@ const Collapse = (($) => {
    */
 
   const NAME                = 'collapse'
-  const VERSION             = '4.0.0-alpha'
+  const VERSION             = '4.0.0-alpha.4'
   const DATA_KEY            = 'bs.collapse'
   const EVENT_KEY           = `.${DATA_KEY}`
   const DATA_API_KEY        = '.data-api'
@@ -56,7 +56,7 @@ const Collapse = (($) => {
   }
 
   const Selector = {
-    ACTIVES     : '.panel > .in, .panel > .collapsing',
+    ACTIVES     : '.card > .in, .card > .collapsing',
     DATA_TOGGLE : '[data-toggle="collapse"]'
   }
 
@@ -235,7 +235,7 @@ const Collapse = (($) => {
           .trigger(Event.HIDDEN)
       }
 
-      this._element.style[dimension] = 0
+      this._element.style[dimension] = ''
 
       if (!Util.supportsTransitionEnd()) {
         complete()

+ 18 - 14
bower_components/bootstrap/js/src/dropdown.js

@@ -3,7 +3,7 @@ import Util from './util'
 
 /**
  * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.2): dropdown.js
+ * Bootstrap (v4.0.0-alpha.4): dropdown.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -17,12 +17,16 @@ const Dropdown = (($) => {
    * ------------------------------------------------------------------------
    */
 
-  const NAME                = 'dropdown'
-  const VERSION             = '4.0.0-alpha'
-  const DATA_KEY            = 'bs.dropdown'
-  const EVENT_KEY           = `.${DATA_KEY}`
-  const DATA_API_KEY        = '.data-api'
-  const JQUERY_NO_CONFLICT  = $.fn[NAME]
+  const NAME                     = 'dropdown'
+  const VERSION                  = '4.0.0-alpha.4'
+  const DATA_KEY                 = 'bs.dropdown'
+  const EVENT_KEY                = `.${DATA_KEY}`
+  const DATA_API_KEY             = '.data-api'
+  const JQUERY_NO_CONFLICT       = $.fn[NAME]
+  const ESCAPE_KEYCODE           = 27 // KeyboardEvent.which value for Escape (Esc) key
+  const ARROW_UP_KEYCODE         = 38 // KeyboardEvent.which value for up arrow key
+  const ARROW_DOWN_KEYCODE       = 40 // KeyboardEvent.which value for down arrow key
+  const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)
 
   const Event = {
     HIDE             : `hide${EVENT_KEY}`,
@@ -152,7 +156,7 @@ const Dropdown = (($) => {
     }
 
     static _clearMenus(event) {
-      if (event && event.which === 3) {
+      if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
         return
       }
 
@@ -218,10 +222,10 @@ const Dropdown = (($) => {
       let parent   = Dropdown._getParentFromElement(this)
       let isActive = $(parent).hasClass(ClassName.OPEN)
 
-      if ((!isActive && event.which !== 27) ||
-           (isActive && event.which === 27)) {
+      if ((!isActive && event.which !== ESCAPE_KEYCODE) ||
+           (isActive && event.which === ESCAPE_KEYCODE)) {
 
-        if (event.which === 27) {
+        if (event.which === ESCAPE_KEYCODE) {
           let toggle = $(parent).find(Selector.DATA_TOGGLE)[0]
           $(toggle).trigger('focus')
         }
@@ -242,15 +246,15 @@ const Dropdown = (($) => {
 
       let index = items.indexOf(event.target)
 
-      if (event.which === 38 && index > 0) { // up
+      if (event.which === ARROW_UP_KEYCODE && index > 0) { // up
         index--
       }
 
-      if (event.which === 40 && index < items.length - 1) { // down
+      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // down
         index++
       }
 
-      if (!~index) {
+      if (index < 0) {
         index = 0
       }
 

+ 11 - 13
bower_components/bootstrap/js/src/modal.js

@@ -3,7 +3,7 @@ import Util from './util'
 
 /**
  * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.2): modal.js
+ * Bootstrap (v4.0.0-alpha.4): modal.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -18,13 +18,14 @@ const Modal = (($) => {
    */
 
   const NAME                         = 'modal'
-  const VERSION                      = '4.0.0-alpha'
+  const VERSION                      = '4.0.0-alpha.4'
   const DATA_KEY                     = 'bs.modal'
   const EVENT_KEY                    = `.${DATA_KEY}`
   const DATA_API_KEY                 = '.data-api'
   const JQUERY_NO_CONFLICT           = $.fn[NAME]
   const TRANSITION_DURATION          = 300
   const BACKDROP_TRANSITION_DURATION = 150
+  const ESCAPE_KEYCODE               = 27 // KeyboardEvent.which value for Escape (Esc) key
 
   const Default = {
     backdrop : true,
@@ -223,6 +224,7 @@ const Modal = (($) => {
       }
 
       this._element.style.display = 'block'
+      this._element.removeAttribute('aria-hidden')
       this._element.scrollTop = 0
 
       if (transition) {
@@ -259,8 +261,9 @@ const Modal = (($) => {
       $(document)
         .off(Event.FOCUSIN) // guard against infinite focus loop
         .on(Event.FOCUSIN, (event) => {
-          if (this._element !== event.target &&
-             (!$(this._element).has(event.target).length)) {
+          if (document !== event.target &&
+              this._element !== event.target &&
+              (!$(this._element).has(event.target).length)) {
             this._element.focus()
           }
         })
@@ -269,7 +272,7 @@ const Modal = (($) => {
     _setEscapeEvent() {
       if (this._isShown && this._config.keyboard) {
         $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {
-          if (event.which === 27) {
+          if (event.which === ESCAPE_KEYCODE) {
             this.hide()
           }
         })
@@ -289,6 +292,7 @@ const Modal = (($) => {
 
     _hideModal() {
       this._element.style.display = 'none'
+      this._element.setAttribute('aria-hidden', 'true')
       this._showBackdrop(() => {
         $(document.body).removeClass(ClassName.OPEN)
         this._resetAdjustments()
@@ -397,7 +401,7 @@ const Modal = (($) => {
       }
 
       if (this._isBodyOverflowing && !isModalOverflowing) {
-        this._element.style.paddingRight = `${this._scrollbarWidth}px~`
+        this._element.style.paddingRight = `${this._scrollbarWidth}px`
       }
     }
 
@@ -407,13 +411,7 @@ const Modal = (($) => {
     }
 
     _checkScrollbar() {
-      let fullWindowWidth = window.innerWidth
-      if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
-        let documentElementRect = document.documentElement.getBoundingClientRect()
-        fullWindowWidth =
-          documentElementRect.right - Math.abs(documentElementRect.left)
-      }
-      this._isBodyOverflowing = document.body.clientWidth < fullWindowWidth
+      this._isBodyOverflowing = document.body.clientWidth < window.innerWidth
       this._scrollbarWidth = this._getScrollbarWidth()
     }
 

+ 3 - 5
bower_components/bootstrap/js/src/popover.js

@@ -3,7 +3,7 @@ import Tooltip from './tooltip'
 
 /**
  * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.2): popover.js
+ * Bootstrap (v4.0.0-alpha.4): popover.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -18,7 +18,7 @@ const Popover = (($) => {
    */
 
   const NAME                = 'popover'
-  const VERSION             = '4.0.0-alpha'
+  const VERSION             = '4.0.0-alpha.4'
   const DATA_KEY            = 'bs.popover'
   const EVENT_KEY           = `.${DATA_KEY}`
   const JQUERY_NO_CONFLICT  = $.fn[NAME]
@@ -28,7 +28,6 @@ const Popover = (($) => {
     trigger   : 'click',
     content   : '',
     template  : '<div class="popover" role="tooltip">'
-              + '<div class="popover-arrow"></div>'
               + '<h3 class="popover-title"></h3>'
               + '<div class="popover-content"></div></div>'
   })
@@ -44,8 +43,7 @@ const Popover = (($) => {
 
   const Selector = {
     TITLE   : '.popover-title',
-    CONTENT : '.popover-content',
-    ARROW   : '.popover-arrow'
+    CONTENT : '.popover-content'
   }
 
   const Event = {

+ 4 - 3
bower_components/bootstrap/js/src/scrollspy.js

@@ -3,7 +3,7 @@ import Util from './util'
 
 /**
  * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.2): scrollspy.js
+ * Bootstrap (v4.0.0-alpha.4): scrollspy.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -18,7 +18,7 @@ const ScrollSpy = (($) => {
    */
 
   const NAME               = 'scrollspy'
-  const VERSION            = '4.0.0-alpha'
+  const VERSION            = '4.0.0-alpha.4'
   const DATA_KEY           = 'bs.scrollspy'
   const EVENT_KEY          = `.${DATA_KEY}`
   const DATA_API_KEY       = '.data-api'
@@ -140,6 +140,7 @@ const ScrollSpy = (($) => {
               targetSelector
             ]
           }
+          return null
         })
         .filter((item)  => item)
         .sort((a, b)    => a[0] - b[0])
@@ -249,7 +250,7 @@ const ScrollSpy = (($) => {
         $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)
         $link.addClass(ClassName.ACTIVE)
       } else {
-        // todo (fat) this is kinda sus
+        // todo (fat) this is kinda sus...
         // recursively add actives to tested nav-links
         $link.parents(Selector.LI).find(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)
       }

+ 2 - 2
bower_components/bootstrap/js/src/tab.js

@@ -3,7 +3,7 @@ import Util from './util'
 
 /**
  * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.2): tab.js
+ * Bootstrap (v4.0.0-alpha.4): tab.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -18,7 +18,7 @@ const Tab = (($) => {
    */
 
   const NAME                = 'tab'
-  const VERSION             = '4.0.0-alpha'
+  const VERSION             = '4.0.0-alpha.4'
   const DATA_KEY            = 'bs.tab'
   const EVENT_KEY           = `.${DATA_KEY}`
   const DATA_API_KEY        = '.data-api'

+ 5 - 6
bower_components/bootstrap/js/src/tooltip.js

@@ -5,7 +5,7 @@ import Util from './util'
 
 /**
  * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.2): tooltip.js
+ * Bootstrap (v4.0.0-alpha.4): tooltip.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -14,10 +14,10 @@ const Tooltip = (($) => {
 
   /**
    * Check for Tether dependency
-   * Tether - http://github.hubspot.com/tether/
+   * Tether - http://tether.io/
    */
   if (window.Tether === undefined) {
-    throw new Error('Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)')
+    throw new Error('Bootstrap tooltips require Tether (http://tether.io/)')
   }
 
 
@@ -28,7 +28,7 @@ const Tooltip = (($) => {
    */
 
   const NAME                = 'tooltip'
-  const VERSION             = '4.0.0-alpha'
+  const VERSION             = '4.0.0-alpha.4'
   const DATA_KEY            = 'bs.tooltip'
   const EVENT_KEY           = `.${DATA_KEY}`
   const JQUERY_NO_CONFLICT  = $.fn[NAME]
@@ -38,7 +38,6 @@ const Tooltip = (($) => {
   const Default = {
     animation   : true,
     template    : '<div class="tooltip" role="tooltip">'
-                + '<div class="tooltip-arrow"></div>'
                 + '<div class="tooltip-inner"></div></div>',
     trigger     : 'hover focus',
     title       : '',
@@ -611,7 +610,7 @@ const Tooltip = (($) => {
         let _config = typeof config === 'object' ?
           config : null
 
-        if (!data && /destroy|hide/.test(config)) {
+        if (!data && /dispose|hide/.test(config)) {
           return
         }
 

+ 8 - 3
bower_components/bootstrap/js/src/util.js

@@ -1,6 +1,6 @@
 /**
  * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.2): util.js
+ * Bootstrap (v4.0.0-alpha.4): util.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -16,6 +16,8 @@ const Util = (($) => {
 
   let transition = false
 
+  const MAX_UID = 1000000
+
   const TransitionEndEvent = {
     WebkitTransition : 'webkitTransitionEnd',
     MozTransition    : 'transitionend',
@@ -38,8 +40,9 @@ const Util = (($) => {
       delegateType: transition.end,
       handle(event) {
         if ($(event.target).is(this)) {
-          return event.handleObj.handler.apply(this, arguments)
+          return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params
         }
+        return undefined
       }
     }
   }
@@ -99,7 +102,9 @@ const Util = (($) => {
 
     getUID(prefix) {
       do {
-        prefix += ~~(Math.random() * 1000000) // "~~" acts like a faster Math.floor() here
+        /* eslint-disable no-bitwise */
+        prefix += ~~(Math.random() * MAX_UID) // "~~" acts like a faster Math.floor() here
+        /* eslint-enable no-bitwise */
       } while (document.getElementById(prefix))
       return prefix
     },

+ 0 - 8
bower_components/bootstrap/nuget/MyGet.ps1

@@ -1,8 +0,0 @@
-$nuget = $env:NuGet
-
-#parse the version number out of package.json
-$bsversion = ((Get-Content $env:SourcesPath\package.json) -join "`n" | ConvertFrom-Json).version
-
-#create packages
-& $nuget pack "nuget\bootstrap.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion
-& $nuget pack "nuget\bootstrap.less.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion

+ 0 - 27
bower_components/bootstrap/nuget/bootstrap.nuspec

@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
-  <metadata>
-    <id>bootstrap</id>
-    <version>4.0.0-alpha</version>
-    <title>Bootstrap CSS</title>
-    <authors>Twitter, Inc.</authors>
-    <owners>bootstrap</owners>
-	<description>The most popular front-end framework for developing responsive, mobile first projects on the web.</description>
-	<releaseNotes>http://blog.getbootstrap.com</releaseNotes>
-	<summary>Bootstrap framework in CSS. Includes fonts and JavaScript</summary>
-	<language>en-us</language>
-	<projectUrl>http://getbootstrap.com</projectUrl>
-    <iconUrl>http://getbootstrap.com/apple-touch-icon.png</iconUrl>
-	<licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl>
-    <copyright>Copyright 2015</copyright>
-    <requireLicenseAcceptance>false</requireLicenseAcceptance>
-    <dependencies>
-      <dependency id="jQuery" version="2.0.0" />
-    </dependencies>
-	<tags>css js less mobile-first responsive front-end framework web</tags>
-  </metadata>
-  <files>
-    <file src="dist\css\*.*" target="content\Content" />
-    <file src="dist\js\bootstrap*.js" target="content\Scripts" />
-  </files>
-</package>

+ 0 - 27
bower_components/bootstrap/nuget/bootstrap.sass.nuspec

@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
-  <metadata>
-    <id>bootstrap.sass</id>
-    <version>4.0.0-alpha</version>
-    <title>Bootstrap Sass</title>
-    <authors>Twitter, Inc.</authors>
-    <owners>bootstrap</owners>
-	<description>The most popular front-end framework for developing responsive, mobile first projects on the web.</description>
-    <releaseNotes>http://blog.getbootstrap.com</releaseNotes>
-	<summary>Bootstrap framework in Sass. Includes fonts and JavaScript</summary>
-	<language>en-us</language>
-	<projectUrl>http://getbootstrap.com</projectUrl>
-    <iconUrl>http://getbootstrap.com/apple-touch-icon.png</iconUrl>
-	<licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl>
-    <copyright>Copyright 2015</copyright>
-    <requireLicenseAcceptance>false</requireLicenseAcceptance>
-    <dependencies>
-      <dependency id="jQuery" version="2.0.0" />
-    </dependencies>
-	<tags>css js less mobile-first responsive front-end framework web</tags>
-  </metadata>
-  <files>
-    <file src="scss\**\*.scss" target="content\Content\bootstrap" />
-    <file src="dist\js\bootstrap*.js" target="content\Scripts" />
-  </files>
-</package>

+ 0 - 19
bower_components/bootstrap/package.js

@@ -1,19 +0,0 @@
-// package metadata file for Meteor.js
-
-/* global Package:true */
-
-Package.describe({
-  name: 'twbs:bootstrap',  // http://atmospherejs.com/twbs/bootstrap
-  summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.',
-  version: '4.0.0-alpha',
-  git: 'https://github.com/twbs/bootstrap.git'
-});
-
-Package.onUse(function (api) {
-  api.versionsFrom('METEOR@1.0');
-  api.use('jquery', 'client');
-  api.addFiles([
-    'dist/css/bootstrap.css',
-    'dist/js/bootstrap.js'
-  ], 'client');
-});

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 138 - 67
bower_components/bootstrap/package.json


+ 0 - 5
bower_components/bootstrap/sache.json

@@ -1,5 +0,0 @@
-{
-  "name": "bootstrap",
-  "description": "The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.",
-  "tags": ["bootstrap", "grid", "typography", "buttons", "ui", "responsive-web-design"]
-}

+ 0 - 304
bower_components/bootstrap/scss/.csscomb.json

@@ -1,304 +0,0 @@
-{
-  "always-semicolon": true,
-  "block-indent": 2,
-  "color-case": "lower",
-  "color-shorthand": true,
-  "element-case": "lower",
-  "eof-newline": true,
-  "leading-zero": false,
-  "remove-empty-rulesets": true,
-  "space-after-colon": 1,
-  "space-after-combinator": 1,
-  "space-before-selector-delimiter": 0,
-  "space-between-declarations": "\n",
-  "space-after-opening-brace": "\n",
-  "space-before-closing-brace": "\n",
-  "space-before-colon": 0,
-  "space-before-combinator": 1,
-  "space-before-opening-brace": 1,
-  "strip-spaces": true,
-  "unitless-zero": true,
-  "vendor-prefix-align": true,
-  "sort-order": [
-    [
-      "position",
-      "top",
-      "right",
-      "bottom",
-      "left",
-      "z-index",
-      "display",
-      "float",
-      "width",
-      "min-width",
-      "max-width",
-      "height",
-      "min-height",
-      "max-height",
-      "-webkit-box-sizing",
-      "-moz-box-sizing",
-      "box-sizing",
-      "-webkit-appearance",
-      "padding",
-      "padding-top",
-      "padding-right",
-      "padding-bottom",
-      "padding-left",
-      "margin",
-      "margin-top",
-      "margin-right",
-      "margin-bottom",
-      "margin-left",
-      "overflow",
-      "overflow-x",
-      "overflow-y",
-      "-webkit-overflow-scrolling",
-      "-ms-overflow-x",
-      "-ms-overflow-y",
-      "-ms-overflow-style",
-      "clip",
-      "clear",
-      "font",
-      "font-family",
-      "font-size",
-      "font-style",
-      "font-weight",
-      "font-variant",
-      "font-size-adjust",
-      "font-stretch",
-      "font-effect",
-      "font-emphasize",
-      "font-emphasize-position",
-      "font-emphasize-style",
-      "font-smooth",
-      "-webkit-hyphens",
-      "-moz-hyphens",
-      "hyphens",
-      "line-height",
-      "color",
-      "text-align",
-      "-webkit-text-align-last",
-      "-moz-text-align-last",
-      "-ms-text-align-last",
-      "text-align-last",
-      "text-emphasis",
-      "text-emphasis-color",
-      "text-emphasis-style",
-      "text-emphasis-position",
-      "text-decoration",
-      "text-indent",
-      "text-justify",
-      "text-outline",
-      "-ms-text-overflow",
-      "text-overflow",
-      "text-overflow-ellipsis",
-      "text-overflow-mode",
-      "text-shadow",
-      "text-transform",
-      "text-wrap",
-      "-webkit-text-size-adjust",
-      "-ms-text-size-adjust",
-      "letter-spacing",
-      "-ms-word-break",
-      "word-break",
-      "word-spacing",
-      "-ms-word-wrap",
-      "word-wrap",
-      "-moz-tab-size",
-      "-o-tab-size",
-      "tab-size",
-      "white-space",
-      "vertical-align",
-      "list-style",
-      "list-style-position",
-      "list-style-type",
-      "list-style-image",
-      "pointer-events",
-      "-ms-touch-action",
-      "touch-action",
-      "cursor",
-      "visibility",
-      "zoom",
-      "flex-direction",
-      "flex-order",
-      "flex-pack",
-      "flex-align",
-      "table-layout",
-      "empty-cells",
-      "caption-side",
-      "border-spacing",
-      "border-collapse",
-      "content",
-      "quotes",
-      "counter-reset",
-      "counter-increment",
-      "resize",
-      "-webkit-user-select",
-      "-moz-user-select",
-      "-ms-user-select",
-      "-o-user-select",
-      "user-select",
-      "nav-index",
-      "nav-up",
-      "nav-right",
-      "nav-down",
-      "nav-left",
-      "background",
-      "background-color",
-      "background-image",
-      "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
-      "filter:progid:DXImageTransform.Microsoft.gradient",
-      "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
-      "filter",
-      "background-repeat",
-      "background-attachment",
-      "background-position",
-      "background-position-x",
-      "background-position-y",
-      "-webkit-background-clip",
-      "-moz-background-clip",
-      "background-clip",
-      "background-origin",
-      "-webkit-background-size",
-      "-moz-background-size",
-      "-o-background-size",
-      "background-size",
-      "border",
-      "border-color",
-      "border-style",
-      "border-width",
-      "border-top",
-      "border-top-color",
-      "border-top-style",
-      "border-top-width",
-      "border-right",
-      "border-right-color",
-      "border-right-style",
-      "border-right-width",
-      "border-bottom",
-      "border-bottom-color",
-      "border-bottom-style",
-      "border-bottom-width",
-      "border-left",
-      "border-left-color",
-      "border-left-style",
-      "border-left-width",
-      "border-radius",
-      "border-top-left-radius",
-      "border-top-right-radius",
-      "border-bottom-right-radius",
-      "border-bottom-left-radius",
-      "-webkit-border-image",
-      "-moz-border-image",
-      "-o-border-image",
-      "border-image",
-      "-webkit-border-image-source",
-      "-moz-border-image-source",
-      "-o-border-image-source",
-      "border-image-source",
-      "-webkit-border-image-slice",
-      "-moz-border-image-slice",
-      "-o-border-image-slice",
-      "border-image-slice",
-      "-webkit-border-image-width",
-      "-moz-border-image-width",
-      "-o-border-image-width",
-      "border-image-width",
-      "-webkit-border-image-outset",
-      "-moz-border-image-outset",
-      "-o-border-image-outset",
-      "border-image-outset",
-      "-webkit-border-image-repeat",
-      "-moz-border-image-repeat",
-      "-o-border-image-repeat",
-      "border-image-repeat",
-      "outline",
-      "outline-width",
-      "outline-style",
-      "outline-color",
-      "outline-offset",
-      "-webkit-box-shadow",
-      "-moz-box-shadow",
-      "box-shadow",
-      "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity",
-      "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha",
-      "opacity",
-      "-ms-interpolation-mode",
-      "-webkit-transition",
-      "-moz-transition",
-      "-ms-transition",
-      "-o-transition",
-      "transition",
-      "-webkit-transition-delay",
-      "-moz-transition-delay",
-      "-ms-transition-delay",
-      "-o-transition-delay",
-      "transition-delay",
-      "-webkit-transition-timing-function",
-      "-moz-transition-timing-function",
-      "-ms-transition-timing-function",
-      "-o-transition-timing-function",
-      "transition-timing-function",
-      "-webkit-transition-duration",
-      "-moz-transition-duration",
-      "-ms-transition-duration",
-      "-o-transition-duration",
-      "transition-duration",
-      "-webkit-transition-property",
-      "-moz-transition-property",
-      "-ms-transition-property",
-      "-o-transition-property",
-      "transition-property",
-      "-webkit-transform",
-      "-moz-transform",
-      "-ms-transform",
-      "-o-transform",
-      "transform",
-      "-webkit-transform-origin",
-      "-moz-transform-origin",
-      "-ms-transform-origin",
-      "-o-transform-origin",
-      "transform-origin",
-      "-webkit-animation",
-      "-moz-animation",
-      "-ms-animation",
-      "-o-animation",
-      "animation",
-      "-webkit-animation-name",
-      "-moz-animation-name",
-      "-ms-animation-name",
-      "-o-animation-name",
-      "animation-name",
-      "-webkit-animation-duration",
-      "-moz-animation-duration",
-      "-ms-animation-duration",
-      "-o-animation-duration",
-      "animation-duration",
-      "-webkit-animation-play-state",
-      "-moz-animation-play-state",
-      "-ms-animation-play-state",
-      "-o-animation-play-state",
-      "animation-play-state",
-      "-webkit-animation-timing-function",
-      "-moz-animation-timing-function",
-      "-ms-animation-timing-function",
-      "-o-animation-timing-function",
-      "animation-timing-function",
-      "-webkit-animation-delay",
-      "-moz-animation-delay",
-      "-ms-animation-delay",
-      "-o-animation-delay",
-      "animation-delay",
-      "-webkit-animation-iteration-count",
-      "-moz-animation-iteration-count",
-      "-ms-animation-iteration-count",
-      "-o-animation-iteration-count",
-      "animation-iteration-count",
-      "-webkit-animation-direction",
-      "-moz-animation-direction",
-      "-ms-animation-direction",
-      "-o-animation-direction",
-      "animation-direction"
-    ]
-  ]
-}

+ 0 - 461
bower_components/bootstrap/scss/.scss-lint.yml

@@ -1,461 +0,0 @@
-scss_files: "scss/*.scss"
-
-linters:
-  BangFormat:
-    enabled: true
-    space_before_bang: true
-    space_after_bang: false
-
-  BorderZero:
-    enabled: true
-
-  ColorKeyword:
-    enabled: true
-
-  ColorVariable:
-    enabled: false
-
-  Comment:
-    enabled: true
-    exclude: ['_normalize.scss', 'bootstrap.scss']
-
-  DebugStatement:
-    enabled: true
-
-  DeclarationOrder:
-    enabled: false
-
-  DuplicateProperty:
-    enabled: true
-    exclude: ['mixins/_tab-focus.scss', '_reboot.scss']
-
-  ElsePlacement:
-    enabled: true
-    style: same_line # or 'new_line'
-
-  EmptyLineBetweenBlocks:
-    enabled: false
-    ignore_single_line_blocks: true
-
-  EmptyRule:
-    enabled: true
-
-  FinalNewline:
-    enabled: true
-    present: true
-
-  HexLength:
-    enabled: true
-    style: short # or 'long'
-
-  HexNotation:
-    enabled: true
-    style: lowercase # or 'uppercase'
-
-  HexValidation:
-    enabled: true
-
-  IdSelector:
-    enabled: true
-
-  ImportantRule:
-    enabled: false
-
-  ImportPath:
-    enabled: true
-    leading_underscore: false
-    filename_extension: false
-
-  Indentation:
-    enabled: true
-    character: space # or 'tab'
-    width: 2
-
-  LeadingZero:
-    enabled: false
-    style: exclude_zero # or 'include_zero'
-
-  MergeableSelector:
-    enabled: false
-    force_nesting: true
-
-  NameFormat:
-    enabled: true
-    allow_leading_underscore: true
-    convention: hyphenated_lowercase # or 'BEM', or a regex pattern
-
-  NestingDepth:
-    enabled: false
-
-  PlaceholderInExtend:
-    enabled: false
-
-  PropertySortOrder:
-    enabled: true
-    ignore_unspecified: false
-    severity: warning
-    exclude: ['_normalize.scss']
-    order: [
-      "position",
-      "top",
-      "right",
-      "bottom",
-      "left",
-      "z-index",
-      "-webkit-box-sizing",
-      "-moz-box-sizing",
-      "box-sizing",
-      "display",
-      "float",
-      "width",
-      "min-width",
-      "max-width",
-      "height",
-      "min-height",
-      "max-height",
-      "flex",
-      "flex-direction",
-      "flex-flow",
-      "flex-order",
-      "flex-pack",
-      "flex-align",
-      "padding",
-      "padding-top",
-      "padding-right",
-      "padding-bottom",
-      "padding-left",
-      "margin",
-      "margin-top",
-      "margin-right",
-      "margin-bottom",
-      "margin-left",
-      "overflow",
-      "overflow-x",
-      "overflow-y",
-      "-webkit-overflow-scrolling",
-      "-ms-overflow-x",
-      "-ms-overflow-y",
-      "-ms-overflow-style",
-      "clip",
-      "clear",
-      "font",
-      "font-family",
-      "font-size",
-      "font-style",
-      "font-weight",
-      "font-variant",
-      "font-size-adjust",
-      "font-stretch",
-      "font-effect",
-      "font-emphasize",
-      "font-emphasize-position",
-      "font-emphasize-style",
-      "font-smooth",
-      "-webkit-hyphens",
-      "-moz-hyphens",
-      "hyphens",
-      "line-height",
-      "color",
-      "text-align",
-      "-webkit-text-align-last",
-      "-moz-text-align-last",
-      "-ms-text-align-last",
-      "text-align-last",
-      "text-emphasis",
-      "text-emphasis-color",
-      "text-emphasis-style",
-      "text-emphasis-position",
-      "text-decoration",
-      "text-indent",
-      "text-justify",
-      "text-outline",
-      "-ms-text-overflow",
-      "text-overflow",
-      "text-overflow-ellipsis",
-      "text-overflow-mode",
-      "text-shadow",
-      "text-transform",
-      "text-wrap",
-      "-webkit-text-size-adjust",
-      "-ms-text-size-adjust",
-      "letter-spacing",
-      "-ms-word-break",
-      "word-break",
-      "word-spacing",
-      "-ms-word-wrap",
-      "word-wrap",
-      "-moz-tab-size",
-      "-o-tab-size",
-      "tab-size",
-      "white-space",
-      "vertical-align",
-      "list-style",
-      "list-style-position",
-      "list-style-type",
-      "list-style-image",
-      "pointer-events",
-      "-ms-touch-action",
-      "touch-action",
-      "cursor",
-      "visibility",
-      "zoom",
-      "table-layout",
-      "empty-cells",
-      "caption-side",
-      "border-spacing",
-      "border-collapse",
-      "content",
-      "quotes",
-      "counter-reset",
-      "counter-increment",
-      "resize",
-      "-webkit-user-select",
-      "-moz-user-select",
-      "-ms-user-select",
-      "-o-user-select",
-      "user-select",
-      "nav-index",
-      "nav-up",
-      "nav-right",
-      "nav-down",
-      "nav-left",
-      "background",
-      "background-color",
-      "background-image",
-      "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
-      "filter:progid:DXImageTransform.Microsoft.gradient",
-      "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
-      "filter",
-      "background-repeat",
-      "background-attachment",
-      "background-position",
-      "background-position-x",
-      "background-position-y",
-      "-webkit-background-clip",
-      "-moz-background-clip",
-      "background-clip",
-      "background-origin",
-      "-webkit-background-size",
-      "-moz-background-size",
-      "-o-background-size",
-      "background-size",
-      "border",
-      "border-color",
-      "border-style",
-      "border-width",
-      "border-top",
-      "border-top-color",
-      "border-top-style",
-      "border-top-width",
-      "border-right",
-      "border-right-color",
-      "border-right-style",
-      "border-right-width",
-      "border-bottom",
-      "border-bottom-color",
-      "border-bottom-style",
-      "border-bottom-width",
-      "border-left",
-      "border-left-color",
-      "border-left-style",
-      "border-left-width",
-      "border-radius",
-      "border-top-left-radius",
-      "border-top-right-radius",
-      "border-bottom-right-radius",
-      "border-bottom-left-radius",
-      "-webkit-border-image",
-      "-moz-border-image",
-      "-o-border-image",
-      "border-image",
-      "-webkit-border-image-source",
-      "-moz-border-image-source",
-      "-o-border-image-source",
-      "border-image-source",
-      "-webkit-border-image-slice",
-      "-moz-border-image-slice",
-      "-o-border-image-slice",
-      "border-image-slice",
-      "-webkit-border-image-width",
-      "-moz-border-image-width",
-      "-o-border-image-width",
-      "border-image-width",
-      "-webkit-border-image-outset",
-      "-moz-border-image-outset",
-      "-o-border-image-outset",
-      "border-image-outset",
-      "-webkit-border-image-repeat",
-      "-moz-border-image-repeat",
-      "-o-border-image-repeat",
-      "border-image-repeat",
-      "outline",
-      "outline-width",
-      "outline-style",
-      "outline-color",
-      "outline-offset",
-      "-webkit-box-shadow",
-      "-moz-box-shadow",
-      "box-shadow",
-      "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity",
-      "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha",
-      "opacity",
-      "-ms-interpolation-mode",
-      "-webkit-transition",
-      "-moz-transition",
-      "-ms-transition",
-      "-o-transition",
-      "transition",
-      "-webkit-transition-delay",
-      "-moz-transition-delay",
-      "-ms-transition-delay",
-      "-o-transition-delay",
-      "transition-delay",
-      "-webkit-transition-timing-function",
-      "-moz-transition-timing-function",
-      "-ms-transition-timing-function",
-      "-o-transition-timing-function",
-      "transition-timing-function",
-      "-webkit-transition-duration",
-      "-moz-transition-duration",
-      "-ms-transition-duration",
-      "-o-transition-duration",
-      "transition-duration",
-      "-webkit-transition-property",
-      "-moz-transition-property",
-      "-ms-transition-property",
-      "-o-transition-property",
-      "transition-property",
-      "-webkit-transform",
-      "-moz-transform",
-      "-ms-transform",
-      "-o-transform",
-      "transform",
-      "-webkit-transform-origin",
-      "-moz-transform-origin",
-      "-ms-transform-origin",
-      "-o-transform-origin",
-      "transform-origin",
-      "-webkit-animation",
-      "-moz-animation",
-      "-ms-animation",
-      "-o-animation",
-      "animation",
-      "-webkit-animation-name",
-      "-moz-animation-name",
-      "-ms-animation-name",
-      "-o-animation-name",
-      "animation-name",
-      "-webkit-animation-duration",
-      "-moz-animation-duration",
-      "-ms-animation-duration",
-      "-o-animation-duration",
-      "animation-duration",
-      "-webkit-animation-play-state",
-      "-moz-animation-play-state",
-      "-ms-animation-play-state",
-      "-o-animation-play-state",
-      "animation-play-state",
-      "-webkit-animation-timing-function",
-      "-moz-animation-timing-function",
-      "-ms-animation-timing-function",
-      "-o-animation-timing-function",
-      "animation-timing-function",
-      "-webkit-animation-delay",
-      "-moz-animation-delay",
-      "-ms-animation-delay",
-      "-o-animation-delay",
-      "animation-delay",
-      "-webkit-animation-iteration-count",
-      "-moz-animation-iteration-count",
-      "-ms-animation-iteration-count",
-      "-o-animation-iteration-count",
-      "animation-iteration-count",
-      "-webkit-animation-direction",
-      "-moz-animation-direction",
-      "-ms-animation-direction",
-      "-o-animation-direction",
-      "animation-direction"
-    ]
-
-  PropertySpelling:
-    enabled: true
-    extra_properties: []
-
-  PseudoElement:
-    enabled: true
-
-  QualifyingElement:
-    enabled: false
-    allow_element_with_attribute: false
-    allow_element_with_class: false
-    allow_element_with_id: false
-
-  SelectorDepth:
-    enabled: false
-
-  SelectorFormat:
-    enabled: true
-    convention: hyphenated_lowercase # or 'BEM', or 'snake_case', or 'camel_case', or a regex pattern
-
-  Shorthand:
-    enabled: true
-
-  SingleLinePerProperty:
-    enabled: true
-    allow_single_line_rule_sets: true
-
-  SingleLinePerSelector:
-    enabled: false
-
-  SpaceAfterComma:
-    enabled: false
-
-  SpaceAfterPropertyColon:
-    enabled: true
-    style: at_least_one_space # or 'no_space', or 'at_least_one_space', or 'aligned'
-
-  SpaceAfterPropertyName:
-    enabled: true
-
-  SpaceBeforeBrace:
-    enabled: true
-    style: space
-    allow_single_line_padding: true
-
-  SpaceBetweenParens:
-    enabled: true
-    spaces: 0
-
-  StringQuotes:
-    enabled: true
-    style: double_quotes
-
-  TrailingSemicolon:
-    enabled: true
-
-  TrailingZero:
-    enabled: false
-
-  UnnecessaryMantissa:
-    enabled: true
-
-  UnnecessaryParentReference:
-    enabled: true
-
-  UrlFormat:
-    enabled: true
-
-  UrlQuotes:
-    enabled: true
-
-  VendorPrefixes:
-    enabled: true
-    identifier_list: base
-    include: []
-    exclude: ['_normalize.scss']
-
-  ZeroUnit:
-    enabled: true
-
-  Compass::*:
-    enabled: false

+ 3 - 12
bower_components/bootstrap/scss/_alert.scss

@@ -7,15 +7,6 @@
   margin-bottom: $spacer-y;
   border: $alert-border-width solid transparent;
   @include border-radius($alert-border-radius);
-
-  // Improve alignment and spacing of inner content
-  > p,
-  > ul {
-    margin-bottom: 0;
-  }
-  > p + p {
-    margin-top: 5px;
-  }
 }
 
 // Headings for larger alerts
@@ -35,13 +26,13 @@
 // Expand the right padding and account for the close button's positioning.
 
 .alert-dismissible {
-  padding-right: ($alert-padding + 20);
+  padding-right: ($alert-padding * 2);
 
   // Adjust close link position
   .close {
     position: relative;
-    top: -2px;
-    right: -21px;
+    top: -.125rem;
+    right: -$alert-padding;
     color: inherit;
   }
 }

+ 12 - 3
bower_components/bootstrap/scss/_animation.scss

@@ -9,12 +9,21 @@
 
 .collapse {
   display: none;
-
   &.in {
     display: block;
   }
-  // tr&.in    { display: table-row; }
-  // tbody&.in { display: table-row-group; }
+}
+
+tr {
+  &.collapse.in {
+    display: table-row;
+  }
+}
+
+tbody {
+  &.collapse.in {
+    display: table-row-group;
+  }
 }
 
 .collapsing {

+ 25 - 10
bower_components/bootstrap/scss/_breadcrumb.scss

@@ -1,23 +1,38 @@
 .breadcrumb {
-  padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal;
+  padding: $breadcrumb-padding-y $breadcrumb-padding-x;
   margin-bottom: $spacer-y;
   list-style: none;
   background-color: $breadcrumb-bg;
   @include border-radius($border-radius);
   @include clearfix;
+}
+
+.breadcrumb-item {
+  float: left;
 
-  > li {
-    float: left;
+  // The separator between breadcrumbs (by default, a forward-slash: "/")
+  + .breadcrumb-item::before {
+    display: inline-block; // Suppress underlining of the separator in modern browsers
+    padding-right: $breadcrumb-item-padding;
+    padding-left: $breadcrumb-item-padding;
+    color: $breadcrumb-divider-color;
+    content: "#{$breadcrumb-divider}";
+  }
 
-    + li::before {
-      padding-right: .5rem;
-      padding-left: .5rem;
-      color: $breadcrumb-divider-color;
-      content: "#{$breadcrumb-divider}";
-    }
+  // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built
+  // without `<ul>`s. The `::before` pseudo-element generates an element
+  // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.
+  //
+  // To trick IE into suppressing the underline, we give the pseudo-element an
+  // underline and then immediately remove it.
+  + .breadcrumb-item:hover::before {
+    text-decoration: underline;
+  }
+  + .breadcrumb-item:hover::before {
+    text-decoration: none;
   }
 
-  > .active {
+  &.active {
     color: $breadcrumb-active-color;
   }
 }

+ 23 - 12
bower_components/bootstrap/scss/_button-group.scss

@@ -1,3 +1,5 @@
+// scss-lint:disable QualifyingElement
+
 // Make the div behave like a button
 .btn-group,
 .btn-group-vertical {
@@ -8,6 +10,7 @@
   > .btn {
     position: relative;
     float: left;
+    margin-bottom: 0;
 
     // Bring the "active" button to the front
     &:focus,
@@ -33,7 +36,7 @@
 
 // Optional: Group multiple button groups together for a toolbar
 .btn-toolbar {
-  margin-left: -5px; // Offset the first child's margin
+  margin-left: -$btn-toolbar-margin; // Offset the first child's margin
   @include clearfix();
 
   .btn-group,
@@ -44,7 +47,7 @@
   > .btn,
   > .btn-group,
   > .input-group {
-    margin-left: 5px;
+    margin-left: $btn-toolbar-margin;
   }
 }
 
@@ -102,20 +105,30 @@
 // Split button dropdowns
 //
 
-// Give the line between buttons some depth
-.btn-group > .btn + .dropdown-toggle {
-  padding-right: 8px;
-  padding-left: 8px;
+.btn + .dropdown-toggle-split {
+  padding-right: $btn-padding-x * .75;
+  padding-left: $btn-padding-x * .75;
+
+  &::after {
+    margin-left: 0;
+  }
+}
+
+.btn-sm + .dropdown-toggle-split {
+  padding-right: $btn-padding-x-sm * .75;
+  padding-left: $btn-padding-x-sm * .75;
 }
-.btn-group > .btn-lg + .dropdown-toggle {
-  padding-right: 12px;
-  padding-left: 12px;
+
+.btn-lg + .dropdown-toggle-split {
+  padding-right: $btn-padding-x-lg * .75;
+  padding-left: $btn-padding-x-lg * .75;
 }
 
+
 // The clickable button for toggling the menu
 // Remove the gradient and set the same inset shadow as the :active state
 .btn-group.open .dropdown-toggle {
-  @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
+  @include box-shadow($btn-active-box-shadow);
 
   // Show no shadow for `.btn-link` since it has no other button styles.
   &.btn-link {
@@ -177,11 +190,9 @@
     border-radius: 0;
   }
   &:first-child:not(:last-child) {
-    border-top-right-radius: $btn-border-radius;
     @include border-bottom-radius(0);
   }
   &:last-child:not(:first-child) {
-    border-bottom-left-radius: $btn-border-radius;
     @include border-top-radius(0);
   }
 }

+ 14 - 11
bower_components/bootstrap/scss/_buttons.scss

@@ -1,3 +1,5 @@
+// scss-lint:disable QualifyingElement
+
 //
 // Base styles
 //
@@ -5,13 +7,14 @@
 .btn {
   display: inline-block;
   font-weight: $btn-font-weight;
+  line-height: $btn-line-height;
   text-align: center;
   white-space: nowrap;
   vertical-align: middle;
   cursor: pointer;
   user-select: none;
   border: $input-btn-border-width solid transparent;
-  @include button-size($btn-padding-y, $btn-padding-x, $font-size-base, $line-height, $btn-border-radius);
+  @include button-size($btn-padding-y, $btn-padding-x, $font-size-base, $btn-border-radius);
   @include transition(all .2s ease-in-out);
 
   &,
@@ -34,7 +37,7 @@
   &.active {
     background-image: none;
     outline: 0;
-    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
+    @include box-shadow($btn-active-box-shadow);
   }
 
   &.disabled,
@@ -76,22 +79,22 @@ fieldset[disabled] a.btn {
 }
 
 // Remove all backgrounds
-.btn-primary-outline {
+.btn-outline-primary {
   @include button-outline-variant($btn-primary-bg);
 }
-.btn-secondary-outline {
+.btn-outline-secondary {
   @include button-outline-variant($btn-secondary-border);
 }
-.btn-info-outline {
+.btn-outline-info {
   @include button-outline-variant($btn-info-bg);
 }
-.btn-success-outline {
+.btn-outline-success {
   @include button-outline-variant($btn-success-bg);
 }
-.btn-warning-outline {
+.btn-outline-warning {
   @include button-outline-variant($btn-warning-bg);
 }
-.btn-danger-outline {
+.btn-outline-danger {
   @include button-outline-variant($btn-danger-bg);
 }
 
@@ -141,11 +144,11 @@ fieldset[disabled] a.btn {
 
 .btn-lg {
   // line-height: ensure even-numbered height of button next to large input
-  @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $font-size-lg, $line-height-lg, $btn-border-radius-lg);
+  @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $font-size-lg, $btn-border-radius-lg);
 }
 .btn-sm {
   // line-height: ensure proper height of button next to small input
-  @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $font-size-sm, $line-height-sm, $btn-border-radius-sm);
+  @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $font-size-sm, $btn-border-radius-sm);
 }
 
 
@@ -160,7 +163,7 @@ fieldset[disabled] a.btn {
 
 // Vertically space out multiple block buttons
 .btn-block + .btn-block {
-  margin-top: 5px;
+  margin-top: $btn-block-spacing-y;
 }
 
 // Specificity overrides

+ 62 - 32
bower_components/bootstrap/scss/_card.scss

@@ -7,11 +7,13 @@
   display: block;
   margin-bottom: $card-spacer-y;
   background-color: $card-bg;
-  border: $card-border-width solid $card-border-color;
+  // border: $card-border-width solid $card-border-color;
   @include border-radius($card-border-radius);
+  border: $card-border-width solid $card-border-color;
 }
 
 .card-block {
+  @include clearfix;
   padding: $card-spacer-x;
 }
 
@@ -46,18 +48,16 @@
   }
 }
 
-@if $enable-rounded {
-  .card {
-    > .list-group:first-child {
-      .list-group-item:first-child {
-        border-radius: $card-border-radius $card-border-radius 0 0;
-      }
+.card {
+  > .list-group:first-child {
+    .list-group-item:first-child {
+      @include border-top-radius($card-border-radius);
     }
+  }
 
-    > .list-group:last-child {
-      .list-group-item:last-child {
-        border-radius: 0 0 $card-border-radius $card-border-radius;
-      }
+  > .list-group:last-child {
+    .list-group-item:last-child {
+      @include border-bottom-radius($card-border-radius);
     }
   }
 }
@@ -68,7 +68,9 @@
 //
 
 .card-header {
+  @include clearfix;
   padding: $card-spacer-y $card-spacer-x;
+  margin-bottom: 0; // Removes the default margin-bottom of <hN>
   background-color: $card-cap-bg;
   border-bottom: $card-border-width solid $card-border-color;
 
@@ -78,6 +80,7 @@
 }
 
 .card-footer {
+  @include clearfix;
   padding: $card-spacer-y $card-spacer-x;
   background-color: $card-cap-bg;
   border-top: $card-border-width solid $card-border-color;
@@ -89,6 +92,23 @@
 
 
 //
+// Header navs
+//
+
+.card-header-tabs {
+  margin-right: -($card-spacer-x / 2);
+  margin-bottom: -$card-spacer-y;
+  margin-left: -($card-spacer-x / 2);
+  border-bottom: 0;
+}
+
+.card-header-pills {
+  margin-right: -($card-spacer-x / 2);
+  margin-left: -($card-spacer-x / 2);
+}
+
+
+//
 // Background variations
 //
 
@@ -109,22 +129,22 @@
 }
 
 // Remove all backgrounds
-.card-primary-outline {
+.card-outline-primary {
   @include card-outline-variant($btn-primary-bg);
 }
-.card-secondary-outline {
+.card-outline-secondary {
   @include card-outline-variant($btn-secondary-border);
 }
-.card-info-outline {
+.card-outline-info {
   @include card-outline-variant($btn-info-bg);
 }
-.card-success-outline {
+.card-outline-success {
   @include card-outline-variant($btn-success-bg);
 }
-.card-warning-outline {
+.card-outline-warning {
   @include card-outline-variant($btn-warning-bg);
 }
-.card-danger-outline {
+.card-outline-danger {
   @include card-outline-variant($btn-danger-bg);
 }
 
@@ -149,7 +169,7 @@
 // Card image
 .card-img {
   // margin: -1.325rem;
-  @include border-radius(.25rem);
+  @include border-radius($card-border-radius-inner);
 }
 .card-img-overlay {
   position: absolute;
@@ -157,55 +177,65 @@
   right: 0;
   bottom: 0;
   left: 0;
-  padding: 1.25rem;
+  padding: $card-img-overlay-padding;
 }
 
 
 
 // Card image caps
 .card-img-top {
-  @include border-radius($card-border-radius-inner $card-border-radius-inner 0 0);
+  @include border-top-radius($card-border-radius-inner);
 }
 .card-img-bottom {
-  @include border-radius(0 0 $card-border-radius-inner $card-border-radius-inner);
+  @include border-bottom-radius($card-border-radius-inner);
 }
 
 
-//
 // Card set
 //
+// Heads up! We do some funky style resetting here for margins across our two
+// variations (one flex, one table). Individual cards have margin-bottom by
+// default, but they're ignored due to table styles. For a consistent design,
+// we've done the same to the flex variation.
+//
+// Those changes are noted by `// Margin balancing`.
 
 @if $enable-flex {
   @include media-breakpoint-up(sm) {
     .card-deck {
       display: flex;
       flex-flow: row wrap;
-      margin-right: -.625rem;
-      margin-left: -.625rem;
+      margin-right: -$card-deck-margin;
+      margin-bottom: $card-spacer-y; // Margin balancing
+      margin-left: -$card-deck-margin;
 
       .card {
         flex: 1 0 0;
-        margin-right: .625rem;
-        margin-left: .625rem;
+        margin-right: $card-deck-margin;
+        margin-bottom: 0; // Margin balancing
+        margin-left: $card-deck-margin;
       }
     }
   }
 } @else {
   @include media-breakpoint-up(sm) {
+    $space-between-cards: (2 * $card-deck-margin);
     .card-deck {
       display: table;
+      width: 100%;
+      margin-bottom: $card-spacer-y; // Margin balancing
       table-layout: fixed;
-      border-spacing: 1.25rem 0;
+      border-spacing: $space-between-cards 0;
 
       .card {
         display: table-cell;
-        width: 1%;
+        margin-bottom: 0; // Margin balancing
         vertical-align: top;
       }
     }
     .card-deck-wrapper {
-      margin-right: -1.25rem;
-      margin-left: -1.25rem;
+      margin-right: (-$space-between-cards);
+      margin-left: (-$space-between-cards);
     }
   }
 }
@@ -282,10 +312,10 @@
 @include media-breakpoint-up(sm) {
   .card-columns {
     column-count: 3;
-    column-gap: 1.25rem;
+    column-gap: $card-columns-sm-up-column-gap;
 
     .card {
-      display: inline-block;
+      display: inline-block; // Don't let them vertically span multiple columns
       width: 100%; // Don't let them exceed the column width
     }
   }

+ 25 - 24
bower_components/bootstrap/scss/_carousel.scss

@@ -102,12 +102,12 @@
 
   // Set gradients for backgrounds
   &.left {
-    @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001));
+    @include gradient-x($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001));
   }
   &.right {
     right: 0;
     left: auto;
-    @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5));
+    @include gradient-x($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5));
   }
 
   // Hover/focus state
@@ -125,19 +125,19 @@
     top: 50%;
     z-index: 5;
     display: inline-block;
-    width: 20px;
-    height: 20px;
-    margin-top: -10px;
+    width: $carousel-icon-width;
+    height: $carousel-icon-width;
+    margin-top: -($carousel-icon-width / 2);
     font-family: serif;
     line-height: 1;
   }
   .icon-prev {
     left: 50%;
-    margin-left: -10px;
+    margin-left: -($carousel-icon-width / 2);
   }
   .icon-next {
     right: 50%;
-    margin-right: -10px;
+    margin-right: -($carousel-icon-width / 2);
   }
 
   .icon-prev {
@@ -163,16 +163,16 @@
   bottom: 10px;
   left: 50%;
   z-index: 15;
-  width: 60%;
+  width: $carousel-indicators-width;
   padding-left: 0;
-  margin-left: -30%;
+  margin-left: -($carousel-indicators-width / 2);
   text-align: center;
   list-style: none;
 
   li {
     display: inline-block;
-    width: 10px;
-    height: 10px;
+    width: $carousel-indicator-size;
+    height: $carousel-indicator-size;
     margin: 1px;
     text-indent: -999px;
     cursor: pointer;
@@ -183,11 +183,12 @@
     // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer
     background-color: rgba(0,0,0,0); // IE9
     border: 1px solid $carousel-indicator-border-color;
-    border-radius: 10px;
+    border-radius: $carousel-indicator-size;
   }
+
   .active {
-    width: 12px;
-    height: 12px;
+    width: $carousel-indicator-active-size;
+    height: $carousel-indicator-active-size;
     margin: 0;
     background-color: $carousel-indicator-active-bg;
   }
@@ -200,9 +201,9 @@
 
 .carousel-caption {
   position: absolute;
-  right: 15%;
+  right: ((100% - $carousel-caption-width) / 2);
   bottom: 20px;
-  left: 15%;
+  left: ((100% - $carousel-caption-width) / 2);
   z-index: 10;
   padding-top: 20px;
   padding-bottom: 20px;
@@ -225,23 +226,23 @@
   .carousel-control {
     .icon-prev,
     .icon-next {
-      width: 30px;
-      height: 30px;
-      margin-top: -15px;
-      font-size: 30px;
+      width: $carousel-control-sm-up-size;
+      height: $carousel-control-sm-up-size;
+      margin-top: -($carousel-control-sm-up-size / 2);
+      font-size: $carousel-control-sm-up-size;
     }
     .icon-prev {
-      margin-left: -15px;
+      margin-left: -($carousel-control-sm-up-size / 2);
     }
     .icon-next {
-      margin-right: -15px;
+      margin-right: -($carousel-control-sm-up-size / 2);
     }
   }
 
   // Show and left align the captions
   .carousel-caption {
-    right: 20%;
-    left: 20%;
+    right: ((100% - $carousel-caption-sm-up-width) / 2);
+    left: ((100% - $carousel-caption-sm-up-width) / 2);
     padding-bottom: 30px;
   }
 

+ 3 - 0
bower_components/bootstrap/scss/_close.scss

@@ -19,6 +19,8 @@
 // iOS requires the button element instead of an anchor tag.
 // If you want the anchor version, it requires `href="#"`.
 // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
+
+// scss-lint:disable QualifyingElement
 button.close {
   padding: 0;
   cursor: pointer;
@@ -26,3 +28,4 @@ button.close {
   border: 0;
   -webkit-appearance: none;
 }
+// scss-lint:enable QualifyingElement

+ 6 - 7
bower_components/bootstrap/scss/_code.scss

@@ -8,8 +8,8 @@ samp {
 
 // Inline code
 code {
-  padding: .2rem .4rem;
-  font-size: 90%;
+  padding: $code-padding-y $code-padding-x;
+  font-size: $code-font-size;
   color: $code-color;
   background-color: $code-bg;
   @include border-radius($border-radius);
@@ -17,12 +17,12 @@ code {
 
 // User input typically entered via keyboard
 kbd {
-  padding: .2rem .4rem;
-  font-size: 90%;
+  padding: $code-padding-y $code-padding-x;
+  font-size: $code-font-size;
   color: $kbd-color;
   background-color: $kbd-bg;
   @include border-radius($border-radius-sm);
-  @include box-shadow(inset 0 -.1rem 0 rgba(0,0,0,.25));
+  @include box-shadow($kbd-box-shadow);
 
   kbd {
     padding: 0;
@@ -37,8 +37,7 @@ pre {
   display: block;
   margin-top: 0;
   margin-bottom: 1rem;
-  font-size: 90%;
-  line-height: $line-height;
+  font-size: $code-font-size;
   color: $pre-color;
 
   // Account for some code outputs that place code tags in pre tags

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 149 - 113
bower_components/bootstrap/scss/_custom-forms.scss


+ 11 - 24
bower_components/bootstrap/scss/_dropdown.scss

@@ -10,8 +10,7 @@
     display: inline-block;
     width: 0;
     height: 0;
-    margin-right: .25rem;
-    margin-left: .25rem;
+    margin-left: $caret-width;
     vertical-align: middle;
     content: "";
     border-top: $caret-width solid;
@@ -42,9 +41,9 @@
   z-index: $zindex-dropdown;
   display: none; // none by default, but block on "open" of the menu
   float: left;
-  min-width: 160px;
-  padding: 5px 0;
-  margin: 2px 0 0; // override default ul
+  min-width: $dropdown-min-width;
+  padding: $dropdown-padding-y 0;
+  margin: $dropdown-margin-top 0 0; // override default ul
   font-size: $font-size-base;
   color: $body-color;
   text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
@@ -53,7 +52,7 @@
   background-clip: padding-box;
   border: $dropdown-border-width solid $dropdown-border-color;
   @include border-radius($border-radius);
-  @include box-shadow(0 6px 12px rgba(0,0,0,.175));
+  @include box-shadow($dropdown-box-shadow);
 }
 
 // Dividers (basically an `<hr>`) within the dropdown
@@ -67,10 +66,9 @@
 .dropdown-item {
   display: block;
   width: 100%; // For `<button>`s
-  padding: 3px 20px;
+  padding: 3px $dropdown-item-padding-x;
   clear: both;
   font-weight: normal;
-  line-height: $line-height;
   color: $dropdown-link-color;
   text-align: inherit; // For `<button>`s
   white-space: nowrap; // prevent links from randomly breaking onto new lines
@@ -133,12 +131,7 @@
   right: 0;
   left: auto; // Reset the default from `.dropdown-menu`
 }
-// With v3, we enabled auto-flipping if you have a dropdown within a right
-// aligned nav component. To enable the undoing of that, we provide an override
-// to restore the default dropdown menu alignment.
-//
-// This is only for left-aligning a dropdown menu within a `.navbar-right` or
-// `.pull-right` nav component.
+
 .dropdown-menu-left {
   right: auto;
   left: 0;
@@ -147,9 +140,9 @@
 // Dropdown section headers
 .dropdown-header {
   display: block;
-  padding: 3px 20px;
+  padding: $dropdown-padding-y $dropdown-item-padding-x;
+  margin-bottom: 0; // for use with heading elements
   font-size: $font-size-sm;
-  line-height: $line-height;
   color: $dropdown-header-color;
   white-space: nowrap; // as with > li > a
 }
@@ -161,13 +154,7 @@
   right: 0;
   bottom: 0;
   left: 0;
-  z-index: ($zindex-dropdown - 10);
-}
-
-// Right aligned dropdowns
-.pull-right > .dropdown-menu {
-  right: 0;
-  left: auto;
+  z-index: $zindex-dropdown-backdrop;
 }
 
 // Allow for dropdowns to go bottom up (aka, dropup-menu)
@@ -188,6 +175,6 @@
   .dropdown-menu {
     top: auto;
     bottom: 100%;
-    margin-bottom: 2px;
+    margin-bottom: $dropdown-margin-top;
   }
 }

+ 112 - 190
bower_components/bootstrap/scss/_forms.scss

@@ -1,3 +1,5 @@
+// scss-lint:disable QualifyingElement
+
 //
 // Textual form controls
 //
@@ -9,25 +11,26 @@
   // height: $input-height;
   padding: $input-padding-y $input-padding-x;
   font-size: $font-size-base;
-  line-height: $line-height;
+  line-height: $input-line-height;
   color: $input-color;
   background-color: $input-bg;
   // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214.
   background-image: none;
+  background-clip: padding-box;
   border: $input-btn-border-width solid $input-border-color;
+
   // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
-  @include border-radius($input-border-radius);
+  @if $enable-rounded {
+    // Manually use the if/else instead of the mixin to account for iOS override
+    border-radius: $input-border-radius;
+  } @else {
+    // Otherwise undo the iOS default
+    border-radius: 0;
+  }
+
   @include box-shadow($input-box-shadow);
   @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);
 
-  // Make inputs at least the height of their button counterpart (base line-height + padding + border).
-  // Only apply the height to textual inputs and some selects.
-  // &:not(textarea),
-  // &:not(select[size]),
-  // &:not(select[multiple]) {
-  //   height: $input-height;
-  // }
-
   // Unstyle the caret on `<select>`s in IE10+.
   &::-ms-expand {
     background-color: transparent;
@@ -61,6 +64,22 @@
   }
 }
 
+select.form-control {
+  &:not([size]):not([multiple]) {
+    $select-border-width: ($border-width * 2);
+    height: calc(#{$input-height} - #{$select-border-width});
+  }
+
+  &:focus::-ms-value {
+    // Suppress the nested default white text on blue background highlight given to
+    // the selected option text when the (still closed) <select> receives focus
+    // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to
+    // match the appearance of the native widget.
+    // See https://github.com/twbs/bootstrap/issues/19398.
+    color: $input-color;
+    background-color: $input-bg;
+  }
+}
 
 // Make file inputs better match text inputs by forcing them to new lines.
 .form-control-file,
@@ -75,42 +94,36 @@
 
 // For use with horizontal and inline forms, when you need the label text to
 // align with the form controls.
-.form-control-label {
-  padding: $input-padding-y $input-padding-x;
+.col-form-label {
+  padding-top: $input-padding-y;
+  padding-bottom: $input-padding-y;
   margin-bottom: 0; // Override the `<label>` default
 }
 
+.col-form-label-lg {
+  padding-top: $input-padding-y-lg;
+  padding-bottom: $input-padding-y-lg;
+  font-size: $font-size-lg;
+}
+
+.col-form-label-sm {
+  padding-top: $input-padding-y-sm;
+  padding-bottom: $input-padding-y-sm;
+  font-size: $font-size-sm;
+}
 
-// Todo: clear this up
 
-// Special styles for iOS temporal inputs
 //
-// In Mobile Safari, setting `display: block` on temporal inputs causes the
-// text within the input to become vertically misaligned. As a workaround, we
-// set a pixel line-height that matches the given height of the input, but only
-// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
+// Legends
 //
-// Note that as of 8.3, iOS doesn't support `datetime` or `week`.
-
-@media screen and (-webkit-min-device-pixel-ratio: 0) {
-  input[type="date"],
-  input[type="time"],
-  input[type="datetime-local"],
-  input[type="month"] {
-    &.form-control {
-      line-height: $input-height;
-    }
-
-    &.input-sm,
-    .input-group-sm &.form-control {
-      line-height: $input-height-sm;
-    }
 
-    &.input-lg,
-    .input-group-lg &.form-control {
-      line-height: $input-height-lg;
-    }
-  }
+// For use with horizontal and inline forms, when you need the legend text to
+// be the same size as regular labels, and to align with the form controls.
+.col-form-legend {
+  padding-top: $input-padding-y;
+  padding-bottom: $input-padding-y;
+  margin-bottom: 0;
+  font-size: $font-size-base;
 }
 
 
@@ -120,12 +133,11 @@
 // horizontal form layout.
 
 .form-control-static {
-  min-height: $input-height;
-  // Size it appropriately next to real form controls
   padding-top: $input-padding-y;
   padding-bottom: $input-padding-y;
-  // Remove default margin from `p`
-  margin-bottom: 0;
+  line-height: $input-line-height;
+  border: solid transparent;
+  border-width: 1px 0;
 
   &.form-control-sm,
   &.form-control-lg {
@@ -144,21 +156,29 @@
 // issue documented in https://github.com/twbs/bootstrap/issues/15074.
 
 .form-control-sm {
-  // height: $input-height-sm;
   padding: $input-padding-y-sm $input-padding-x-sm;
   font-size: $font-size-sm;
-  line-height: $line-height-sm;
   @include border-radius($input-border-radius-sm);
 }
 
+select.form-control-sm {
+  &:not([size]):not([multiple]) {
+    height: $input-height-sm;
+  }
+}
+
 .form-control-lg {
-  // height: $input-height-lg;
   padding: $input-padding-y-lg $input-padding-x-lg;
   font-size: $font-size-lg;
-  line-height: $line-height-lg;
   @include border-radius($input-border-radius-lg);
 }
 
+select.form-control-lg {
+  &:not([size]):not([multiple]) {
+    height: $input-height-lg;
+  }
+}
+
 
 // Form groups
 //
@@ -169,103 +189,85 @@
   margin-bottom: $form-group-margin-bottom;
 }
 
+.form-text {
+  display: block;
+  margin-top: ($spacer * .25);
+}
+
 
 // Checkboxes and radios
 //
 // Indent the labels to position radios/checkboxes as hanging controls.
 
-.radio,
-.checkbox {
+.form-check {
   position: relative;
   display: block;
-  // margin-top:    ($spacer * .75);
   margin-bottom: ($spacer * .75);
 
-  label {
-    padding-left: 1.25rem;
-    margin-bottom: 0;
-    font-weight: normal;
-    cursor: pointer;
+  // Move up sibling radios or checkboxes for tighter spacing
+  + .form-check {
+    margin-top: -.25rem;
+  }
 
-    // When there's no labels, don't position the input.
-    input:only-child {
-      position: static;
+  &.disabled {
+    .form-check-label {
+      color: $text-muted;
+      cursor: $cursor-disabled;
     }
   }
 }
-.radio input[type="radio"],
-.radio-inline input[type="radio"],
-.checkbox input[type="checkbox"],
-.checkbox-inline input[type="checkbox"] {
+
+.form-check-label {
+  padding-left: 1.25rem;
+  margin-bottom: 0; // Override default `<label>` bottom margin
+  cursor: pointer;
+}
+
+.form-check-input {
   position: absolute;
   margin-top: .25rem;
-  // margin-top: 4px \9;
   margin-left: -1.25rem;
-}
 
-.radio + .radio,
-.checkbox + .checkbox {
-  // Move up sibling radios or checkboxes for tighter spacing
-  margin-top: -.25rem;
+  &:only-child {
+    position: static;
+  }
 }
 
 // Radios and checkboxes on same line
-.radio-inline,
-.checkbox-inline {
+.form-check-inline {
   position: relative;
   display: inline-block;
   padding-left: 1.25rem;
-  margin-bottom: 0;
-  font-weight: normal;
+  margin-bottom: 0; // Override default `<label>` bottom margin
   vertical-align: middle;
   cursor: pointer;
-}
-.radio-inline + .radio-inline,
-.checkbox-inline + .checkbox-inline {
-  margin-top: 0;
-  margin-left: .75rem;
-}
 
-// Apply same disabled cursor tweak as for inputs
-// Some special care is needed because <label>s don't inherit their parent's `cursor`.
-//
-// Note: Neither radios nor checkboxes can be readonly.
-input[type="radio"],
-input[type="checkbox"] {
-  &:disabled,
-  &.disabled {
-    cursor: $cursor-disabled;
+  + .form-check-inline {
+    margin-left: .75rem;
   }
-}
-// These classes are used directly on <label>s
-.radio-inline,
-.checkbox-inline {
+
   &.disabled {
+    color: $text-muted;
     cursor: $cursor-disabled;
   }
 }
-// These classes are used on elements with <label> descendants
-.radio,
-.checkbox {
-  &.disabled {
-    label {
-      cursor: $cursor-disabled;
-    }
-  }
-}
 
 
 // Form control feedback states
 //
 // Apply contextual and semantic states to individual form controls.
 
+.form-control-feedback {
+  margin-top: ($spacer * .25);
+}
+
 .form-control-success,
 .form-control-warning,
 .form-control-danger {
   padding-right: ($input-padding-x * 3);
   background-repeat: no-repeat;
-  background-position: center right ($input-height * .25);
-  background-size: ($input-height * .65) ($input-height * .65);
+  background-position: center right ($input-height / 4);
+  background-size: ($input-height / 2) ($input-height / 2);
 }
 
 // Form validation states
@@ -273,7 +275,7 @@ input[type="checkbox"] {
   @include form-control-validation($brand-success);
 
   .form-control-success {
-    background-image: url($form-icon-success);
+    background-image: $form-icon-success;
   }
 }
 
@@ -281,7 +283,7 @@ input[type="checkbox"] {
   @include form-control-validation($brand-warning);
 
   .form-control-warning {
-    background-image: url($form-icon-warning);
+    background-image: $form-icon-warning;
   }
 }
 
@@ -289,89 +291,11 @@ input[type="checkbox"] {
   @include form-control-validation($brand-danger);
 
   .form-control-danger {
-    background-image: url($form-icon-danger);
+    background-image: $form-icon-danger;
   }
 }
 
 
-
-
-// .form-control-success {
-//   background-image: url("#{$form-icon-success}");
-//   border-color: $brand-success;
-// }
-//
-// .form-control-warning {
-//   background-image: url("#{$form-icon-warning}");
-//   border-color: $brand-warning;
-// }
-//
-// .form-control-error {
-//   background-image: url("#{$form-icon-danger}");
-//   border-color: $brand-danger;
-// }
-
-
-// .has-feedback {
-//   // Enable absolute positioning
-//   position: relative;
-//
-//   // Ensure icons don't overlap text
-//   .form-control {
-//     padding-right: ($input-height * 1.25);
-//   }
-// }
-// // Feedback icon
-// .form-control-feedback {
-//   position: absolute;
-//   top: 0;
-//   right: 0;
-//   z-index: 2; // Ensure icon is above input groups
-//   display: block;
-//   width: $input-height;
-//   height: $input-height;
-//   line-height: $input-height;
-//   text-align: center;
-//   pointer-events: none;
-// }
-// .input-lg + .form-control-feedback,
-// .input-group-lg + .form-control-feedback {
-//   width: $input-height-lg;
-//   height: $input-height-lg;
-//   line-height: $input-height-lg;
-// }
-// .input-sm + .form-control-feedback,
-// .input-group-sm + .form-control-feedback {
-//   width: $input-height-sm;
-//   height: $input-height-sm;
-//   line-height: $input-height-sm;
-// }
-//
-// // Form validation states
-// .has-success {
-//   @include form-control-validation($state-success-text, $state-success-text, $state-success-bg);
-// }
-// .has-warning {
-//   @include form-control-validation($state-warning-text, $state-warning-text, $state-warning-bg);
-// }
-// .has-danger {
-//   @include form-control-validation($state-danger-text, $state-danger-text, $state-danger-bg);
-// }
-//
-// // Reposition feedback icon if input has visible label above
-// .has-feedback label {
-//
-//   ~ .form-control-feedback {
-//     // TODO: redo this since we nuked the `$line-height-computed`
-//     top: 0; // Height of the `label` and its margin
-//   }
-//
-//   &.sr-only ~ .form-control-feedback {
-//     top: 0;
-//   }
-// }
-
-
 // Inline forms
 //
 // Make forms appear inline(-block) by adding the `.form-inline` class. Inline
@@ -406,6 +330,7 @@ input[type="checkbox"] {
 
     .input-group {
       display: inline-table;
+      width: auto;
       vertical-align: middle;
 
       .input-group-addon,
@@ -427,19 +352,16 @@ input[type="checkbox"] {
 
     // Remove default margin on radios/checkboxes that were used for stacking, and
     // then undo the floating of radios and checkboxes to match.
-    .radio,
-    .checkbox {
+    .form-check {
       display: inline-block;
       margin-top: 0;
       margin-bottom: 0;
       vertical-align: middle;
-
-      label {
-        padding-left: 0;
-      }
     }
-    .radio input[type="radio"],
-    .checkbox input[type="checkbox"] {
+    .form-check-label {
+      padding-left: 0;
+    }
+    .form-check-input {
       position: relative;
       margin-left: 0;
     }

+ 9 - 46
bower_components/bootstrap/scss/_grid.scss

@@ -2,23 +2,24 @@
 //
 // Set the container width, and override it for fixed navbars in media queries.
 
-.container {
-  @include make-container();
-  @include make-container-max-widths();
-
+@if $enable-grid-classes {
+  .container {
+    @include make-container();
+    @include make-container-max-widths();
+  }
 }
 
-
 // Fluid container
 //
 // Utilizes the mixin meant for fixed width containers, but without any defined
 // width for fluid, full width layouts.
 
-.container-fluid {
-  @include make-container();
+@if $enable-grid-classes {
+  .container-fluid {
+    @include make-container();
+  }
 }
 
-
 // Row
 //
 // Rows contain and clear the floats of your columns.
@@ -29,7 +30,6 @@
   }
 }
 
-
 // Columns
 //
 // Common styles for small and large grid columns
@@ -37,40 +37,3 @@
 @if $enable-grid-classes {
   @include make-grid-columns();
 }
-
-
-// Flex variation
-//
-// Custom styles for additional flex alignment options.
-
-@if $enable-flex and $enable-grid-classes {
-
-  // Flex column reordering
-
-  @each $breakpoint in map-keys($grid-breakpoints) {
-    @include media-breakpoint-up($breakpoint) {
-      .col-#{$breakpoint}-first { order: -1; }
-      .col-#{$breakpoint}-last  { order: 1; }
-    }
-  }
-
-  // Alignment for every column in row
-
-  @each $breakpoint in map-keys($grid-breakpoints) {
-    @include media-breakpoint-up($breakpoint) {
-      .row-#{$breakpoint}-top    { align-items: flex-start; }
-      .row-#{$breakpoint}-center { align-items: center; }
-      .row-#{$breakpoint}-bottom { align-items: flex-end; }
-    }
-  }
-
-  // Alignment per column
-
-  @each $breakpoint in map-keys($grid-breakpoints) {
-    @include media-breakpoint-up($breakpoint) {
-      .col-#{$breakpoint}-top    { align-self: flex-start; }
-      .col-#{$breakpoint}-center { align-self: center; }
-      .col-#{$breakpoint}-bottom { align-self: flex-end; }
-    }
-  }
-}

+ 5 - 15
bower_components/bootstrap/scss/_images.scss

@@ -6,31 +6,21 @@
 // which weren't expecting the images within themselves to be involuntarily resized.
 // See also https://github.com/twbs/bootstrap/issues/18178
 .img-fluid {
-  @include img-fluid();
+  @include img-fluid;
 }
 
-// Rounded corners
-.img-rounded {
-  @include border-radius($border-radius-lg);
-}
 
 // Image thumbnails
 .img-thumbnail {
   padding: $thumbnail-padding;
-  line-height: $line-height;
   background-color: $thumbnail-bg;
   border: $thumbnail-border-width solid $thumbnail-border-color;
-  border-radius: $thumbnail-border-radius;
+  @include border-radius($thumbnail-border-radius);
   transition: all .2s ease-in-out;
-  @include box-shadow(0 1px 2px rgba(0,0,0,.075));
+  @include box-shadow($thumbnail-box-shadow);
 
   // Keep them at most 100% wide
-  @include img-fluid(inline-block);
-}
-
-// Perfect circle
-.img-circle {
-  border-radius: 50%;
+  @include img-fluid;
 }
 
 //
@@ -48,6 +38,6 @@
 }
 
 .figure-caption {
-  font-size: 90%;
+  font-size: $figure-caption-font-size;
   color: $gray-light;
 }

+ 28 - 29
bower_components/bootstrap/scss/_input-group.scss

@@ -4,6 +4,7 @@
 
 .input-group {
   position: relative;
+  width: 100%;
 
   @if $enable-flex {
     display: flex;
@@ -39,9 +40,7 @@
 .input-group-addon,
 .input-group-btn,
 .input-group .form-control {
-  @if $enable-flex {
-    // do nothing
-  } @else {
+  @if not $enable-flex {
     display: table-cell;
   }
 
@@ -52,9 +51,7 @@
 
 .input-group-addon,
 .input-group-btn {
-  @if $enable-flex {
-    // do nothing
-  } @else {
+  @if not $enable-flex {
     width: 1%;
   }
   white-space: nowrap;
@@ -85,32 +82,35 @@
 
 .input-group-addon {
   padding: $input-padding-y $input-padding-x;
+  margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
   font-size: $font-size-base;
   font-weight: normal;
-  line-height: 1;
+  line-height: $input-line-height;
   color: $input-color;
   text-align: center;
   background-color: $input-group-addon-bg;
   border: $input-btn-border-width solid $input-group-addon-border-color;
-  @include border-radius($border-radius);
+  @include border-radius($input-border-radius);
 
   // Sizing
   &.form-control-sm {
     padding: $input-padding-y-sm $input-padding-x-sm;
     font-size: $font-size-sm;
-    @include border-radius($border-radius-sm);
+    @include border-radius($input-border-radius-sm);
   }
   &.form-control-lg {
     padding: $input-padding-y-lg $input-padding-x-lg;
     font-size: $font-size-lg;
-    @include border-radius($border-radius-lg);
+    @include border-radius($input-border-radius-lg);
   }
 
+  // scss-lint:disable QualifyingElement
   // Nuke default margins from checkboxes and radios to vertically center within.
   input[type="radio"],
   input[type="checkbox"] {
     margin-top: 0;
   }
+  // scss-lint:enable QualifyingElement
 }
 
 
@@ -118,32 +118,31 @@
 // Reset rounded corners
 //
 
-.input-group .form-control:first-child,
-.input-group-addon:first-child,
-.input-group-btn:first-child > .btn,
-.input-group-btn:first-child > .btn-group > .btn,
-.input-group-btn:first-child > .dropdown-toggle,
-.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
-.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
+.input-group .form-control:not(:last-child),
+.input-group-addon:not(:last-child),
+.input-group-btn:not(:last-child) > .btn,
+.input-group-btn:not(:last-child) > .btn-group > .btn,
+.input-group-btn:not(:last-child) > .dropdown-toggle,
+.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),
+.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {
   @include border-right-radius(0);
 }
-.input-group-addon:first-child {
+.input-group-addon:not(:last-child) {
   border-right: 0;
 }
-.input-group .form-control:last-child,
-.input-group-addon:last-child,
-.input-group-btn:last-child > .btn,
-.input-group-btn:last-child > .btn-group > .btn,
-.input-group-btn:last-child > .dropdown-toggle,
-.input-group-btn:first-child > .btn:not(:first-child),
-.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
+.input-group .form-control:not(:first-child),
+.input-group-addon:not(:first-child),
+.input-group-btn:not(:first-child) > .btn,
+.input-group-btn:not(:first-child) > .btn-group > .btn,
+.input-group-btn:not(:first-child) > .dropdown-toggle,
+.input-group-btn:not(:last-child) > .btn:not(:first-child),
+.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {
   @include border-left-radius(0);
 }
-.input-group-addon:last-child {
+.form-control + .input-group-addon:not(:first-child) {
   border-left: 0;
 }
 
-
 //
 // Button input groups
 //
@@ -169,13 +168,13 @@
   }
 
   // Negative margin to only have a single, shared border between the two
-  &:first-child {
+  &:not(:last-child) {
     > .btn,
     > .btn-group {
       margin-right: (-$input-btn-border-width);
     }
   }
-  &:last-child {
+  &:not(:first-child) {
     > .btn,
     > .btn-group {
       z-index: 2;

+ 0 - 77
bower_components/bootstrap/scss/_labels.scss

@@ -1,77 +0,0 @@
-// Base class
-//
-// Requires one of the contextual, color modifier classes for `color` and
-// `background-color`.
-
-.label {
-  display: inline-block;
-  padding: .25em .4em;
-  font-size: 75%;
-  font-weight: $label-font-weight;
-  line-height: 1;
-  color: $label-color;
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: baseline;
-  @include border-radius();
-
-  // Empty labels collapse automatically
-  &:empty {
-    display: none;
-  }
-}
-
-// Quick fix for labels in buttons
-.btn .label {
-  position: relative;
-  top: -1px;
-}
-
-// Add hover effects, but only for links
-a.label {
-  @include hover-focus {
-    color: $label-link-hover-color;
-    text-decoration: none;
-    cursor: pointer;
-  }
-}
-
-// Pill labels
-//
-// Make them extra rounded with a modifier to replace v3's badges.
-
-.label-pill {
-  padding-right: .6em;
-  padding-left: .6em;
-  // Use a higher than normal value to ensure completely rounded edges when
-  // customizing padding or font-size on labels.
-  @include border-radius(10rem);
-}
-
-// Colors
-//
-// Contextual variations (linked labels get darker on :hover).
-
-.label-default {
-  @include label-variant($label-default-bg);
-}
-
-.label-primary {
-  @include label-variant($label-primary-bg);
-}
-
-.label-success {
-  @include label-variant($label-success-bg);
-}
-
-.label-info {
-  @include label-variant($label-info-bg);
-}
-
-.label-warning {
-  @include label-variant($label-warning-bg);
-}
-
-.label-danger {
-  @include label-variant($label-danger-bg);
-}

+ 35 - 50
bower_components/bootstrap/scss/_list-group.scss

@@ -16,67 +16,21 @@
 .list-group-item {
   position: relative;
   display: block;
-  padding: .75rem 1.25rem;
+  padding: $list-group-item-padding-y $list-group-item-padding-x;
   // Place the border on the list items and negative margin up for better styling
   margin-bottom: -$list-group-border-width;
   background-color: $list-group-bg;
   border: $list-group-border-width solid $list-group-border-color;
 
-  // Round the first and last items
   &:first-child {
     @include border-top-radius($list-group-border-radius);
   }
+
   &:last-child {
     margin-bottom: 0;
     @include border-bottom-radius($list-group-border-radius);
   }
-}
-
-.list-group-flush {
-  .list-group-item {
-    border-width: $list-group-border-width 0;
-    border-radius: 0;
-  }
-
-  &:first-child {
-    .list-group-item:first-child {
-      border-top: 0;
-    }
-  }
-
-  &:last-child {
-    .list-group-item:last-child {
-      border-bottom: 0;
-    }
-  }
-}
-
-
-// Interactive list items
-//
-// Use anchor or button elements instead of `li`s or `div`s to create interactive
-// list items. Includes an extra `.active` modifier class for selected items.
-
-a.list-group-item,
-button.list-group-item {
-  width: 100%;
-  color: $list-group-link-color;
-  text-align: inherit;
-
-  .list-group-item-heading {
-    color: $list-group-link-heading-color;
-  }
 
-  // Hover state
-  @include hover-focus {
-    color: $list-group-link-hover-color;
-    text-decoration: none;
-    background-color: $list-group-hover-bg;
-  }
-}
-
-.list-group-item {
-  // Disabled state
   &.disabled {
     @include plain-hover-focus {
       color: $list-group-disabled-color;
@@ -93,11 +47,11 @@ button.list-group-item {
     }
   }
 
-  // Active class on item itself, not parent
   &.active {
     @include plain-hover-focus {
       z-index: 2; // Place active items above their siblings for proper border styling
       color: $list-group-active-color;
+      text-decoration: none; // Repeat here because it inherits global a:hover otherwise
       background-color: $list-group-active-bg;
       border-color: $list-group-active-border;
 
@@ -114,6 +68,37 @@ button.list-group-item {
   }
 }
 
+.list-group-flush {
+  .list-group-item {
+    border-right: 0;
+    border-left: 0;
+    border-radius: 0;
+  }
+}
+
+
+// Interactive list items
+//
+// Use anchor or button elements instead of `li`s or `div`s to create interactive
+// list items. Includes an extra `.active` modifier class for selected items.
+
+.list-group-item-action {
+  width: 100%; // For `<button>`s (anchors become 100% by default though)
+  color: $list-group-link-color;
+  text-align: inherit; // For `<button>`s (anchors inherit)
+
+  .list-group-item-heading {
+    color: $list-group-link-heading-color;
+  }
+
+  // Hover state
+  @include hover-focus {
+    color: $list-group-link-hover-color;
+    text-decoration: none;
+    background-color: $list-group-hover-bg;
+  }
+}
+
 
 // Contextual variants
 //
@@ -132,7 +117,7 @@ button.list-group-item {
 
 .list-group-item-heading {
   margin-top: 0;
-  margin-bottom: 5px;
+  margin-bottom: $list-group-item-heading-margin-bottom;
 }
 .list-group-item-text {
   margin-bottom: 0;

+ 3 - 12
bower_components/bootstrap/scss/_media.scss

@@ -1,7 +1,6 @@
 @if $enable-flex {
   .media {
     display: flex;
-    margin-bottom: $spacer;
   }
   .media-body {
     flex: 1;
@@ -13,17 +12,9 @@
     align-self: flex-end;
   }
 } @else {
-  .media {
-    margin-top: 15px;
-
-    &:first-child {
-      margin-top: 0;
-    }
-  }
   .media,
   .media-body {
     overflow: hidden;
-    zoom: 1;
   }
   .media-body {
     width: 10000px;
@@ -62,11 +53,11 @@
 //
 
 .media-right {
-  padding-left: 10px;
+  padding-left: $media-alignment-padding-x;
 }
 
 .media-left {
-  padding-right: 10px;
+  padding-right: $media-alignment-padding-x;
 }
 
 
@@ -76,7 +67,7 @@
 
 .media-heading {
   margin-top: 0;
-  margin-bottom: 5px;
+  margin-bottom: $media-heading-margin-bottom;
 }
 
 

+ 2 - 3
bower_components/bootstrap/scss/_mixins.scss

@@ -18,7 +18,7 @@
 @import "mixins/breakpoints";
 @import "mixins/hover";
 @import "mixins/image";
-@import "mixins/label";
+@import "mixins/tag";
 @import "mixins/reset-filter";
 @import "mixins/resize";
 @import "mixins/screen-reader";
@@ -48,8 +48,7 @@
 
 // // Layout
 @import "mixins/clearfix";
-@import "mixins/center-block";
 // @import "mixins/navbar-align";
 @import "mixins/grid-framework";
 @import "mixins/grid";
-@import "mixins/pulls";
+@import "mixins/float";

+ 17 - 29
bower_components/bootstrap/scss/_modal.scss

@@ -1,7 +1,7 @@
 // .modal-open      - body class for killing the scroll
 // .modal           - container to scroll within
 // .modal-dialog    - positioning shell for the actual modal
-// .modal-content   - actual modal w/ bg and corners and shit
+// .modal-content   - actual modal w/ bg and corners and stuff
 
 
 // Kill the scroll on the body
@@ -22,7 +22,9 @@
   // Prevent Chrome on Windows from adding a focus outline. For details, see
   // https://github.com/twbs/bootstrap/pull/10951.
   outline: 0;
-  -webkit-overflow-scrolling: touch;
+  // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a
+  // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342
+  // See also https://github.com/twbs/bootstrap/issues/17695
 
   // When fading in the modal, animate it to slide down
   &.fade .modal-dialog {
@@ -40,7 +42,7 @@
 .modal-dialog {
   position: relative;
   width: auto;
-  margin: 10px;
+  margin: $modal-dialog-margin;
 }
 
 // Actual modal
@@ -48,9 +50,9 @@
   position: relative;
   background-color: $modal-content-bg;
   background-clip: padding-box;
-  border: 1px solid $modal-content-border-color;
-  border-radius: $border-radius-lg;
-  @include box-shadow(0 3px 9px rgba(0,0,0,.5));
+  border: $modal-content-border-width solid $modal-content-border-color;
+  @include border-radius($border-radius-lg);
+  @include box-shadow($modal-content-xs-box-shadow);
   // Remove focus outline from opened modal
   outline: 0;
 }
@@ -74,7 +76,7 @@
 // Top section of the modal w/ title and dismiss
 .modal-header {
   padding: $modal-title-padding;
-  border-bottom: 1px solid $modal-header-border-color;
+  border-bottom: $modal-header-border-width solid $modal-header-border-color;
   @include clearfix;
 }
 // Close icon
@@ -99,22 +101,8 @@
 .modal-footer {
   padding: $modal-inner-padding;
   text-align: right; // right align buttons
-  border-top: 1px solid $modal-footer-border-color;
+  border-top: $modal-footer-border-width solid $modal-footer-border-color;
   @include clearfix(); // clear it in case folks use .pull-* classes on buttons
-
-  // Properly space out buttons
-  .btn + .btn {
-    margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
-    margin-left: 5px;
-  }
-  // but override that for button groups
-  .btn-group .btn + .btn {
-    margin-left: -1px;
-  }
-  // and override it for block buttons as well
-  .btn-block + .btn-block {
-    margin-left: 0;
-  }
 }
 
 // Measure scrollbar width for padding body during modal show/hide
@@ -130,17 +118,17 @@
 @include media-breakpoint-up(sm) {
   // Automatically set modal's width for larger viewports
   .modal-dialog {
-    width: $modal-md;
-    margin: 30px auto;
+    max-width: $modal-md;
+    margin: $modal-dialog-sm-up-margin-y auto;
   }
+
   .modal-content {
-    @include box-shadow(0 5px 15px rgba(0,0,0,.5));
+    @include box-shadow($modal-content-sm-up-box-shadow);
   }
 
-  // Modal sizes
-  .modal-sm { width: $modal-sm; }
+  .modal-sm { max-width: $modal-sm; }
 }
 
-@include media-breakpoint-up(md) {
-  .modal-lg { width: $modal-lg; }
+@include media-breakpoint-up(lg) {
+  .modal-lg { max-width: $modal-lg; }
 }

+ 18 - 23
bower_components/bootstrap/scss/_nav.scss

@@ -23,7 +23,7 @@
     @include plain-hover-focus {
       color: $nav-disabled-link-hover-color;
       cursor: $cursor-disabled;
-      background-color: transparent;
+      background-color: $nav-disabled-link-hover-bg;
     }
   }
 }
@@ -38,7 +38,7 @@
 
   .nav-item + .nav-item,
   .nav-link + .nav-link {
-    margin-left: 1rem;
+    margin-left: $nav-item-inline-spacer;
   }
 }
 
@@ -48,24 +48,24 @@
 //
 
 .nav-tabs {
-  border-bottom: 1px solid $nav-tabs-border-color;
+  border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;
   @include clearfix();
 
   .nav-item {
     float: left;
     // Make the list-items overlay the bottom border
-    margin-bottom: -1px;
+    margin-bottom: -$nav-tabs-border-width;
 
     + .nav-item {
-      margin-left: .2rem;
+      margin-left: $nav-item-margin;
     }
   }
 
   .nav-link {
     display: block;
     padding: $nav-link-padding;
-    border: $nav-tabs-link-border-width solid transparent;
-    @include border-radius($border-radius $border-radius 0 0);
+    border: $nav-tabs-border-width solid transparent;
+    @include border-top-radius($nav-tabs-border-radius);
 
     @include hover-focus {
       border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color;
@@ -88,6 +88,13 @@
       border-color: $nav-tabs-active-link-hover-border-color $nav-tabs-active-link-hover-border-color transparent;
     }
   }
+
+  .dropdown-menu {
+    // Make dropdown border overlap tab border
+    margin-top: -$nav-tabs-border-width;
+    // Remove the top rounded corners here since there is a hard edge above the menu
+    @include border-top-radius(0);
+  }
 }
 
 
@@ -102,7 +109,7 @@
     float: left;
 
     + .nav-item {
-      margin-left: .2rem;
+      margin-left: $nav-item-margin;
     }
   }
 
@@ -115,9 +122,9 @@
   .nav-link.active,
   .nav-item.open .nav-link {
     @include plain-hover-focus {
-      color: $component-active-color;
+      color: $nav-pills-active-link-color;
       cursor: default;
-      background-color: $component-active-bg;
+      background-color: $nav-pills-active-link-bg;
     }
   }
 }
@@ -128,7 +135,7 @@
     float: none;
 
     + .nav-item {
-      margin-top: .2rem;
+      margin-top: $nav-item-margin;
       margin-left: 0;
     }
   }
@@ -148,15 +155,3 @@
     display: block;
   }
 }
-
-
-//
-// Dropdowns
-//
-
-.nav-tabs .dropdown-menu {
-  // Make dropdown border overlap tab border
-  margin-top: -1px;
-  // Remove the top rounded corners here since there is a hard edge above the menu
-  @include border-top-radius(0);
-}

+ 64 - 27
bower_components/bootstrap/scss/_navbar.scss

@@ -5,7 +5,7 @@
 
 .navbar {
   position: relative;
-  padding: $navbar-padding-vertical $navbar-padding-horizontal;
+  padding: $navbar-padding-y $navbar-padding-x;
   @include clearfix;
 
   @include media-breakpoint-up(sm) {
@@ -69,8 +69,8 @@
 
 .navbar-brand {
   float: left;
-  padding-top:    .25rem;
-  padding-bottom: .25rem;
+  padding-top:    $navbar-brand-padding-y;
+  padding-bottom: $navbar-brand-padding-y;
   margin-right: 1rem;
   font-size: $font-size-lg;
 
@@ -86,11 +86,11 @@
 
 .navbar-divider {
   float: left;
-  width: 1px;
+  width: $border-width;
   padding-top: .425rem;
   padding-bottom: .425rem;
-  margin-right: $navbar-padding-horizontal;
-  margin-left:  $navbar-padding-horizontal;
+  margin-right: $navbar-padding-x;
+  margin-left:  $navbar-padding-x;
   overflow: hidden;
 
   &::before {
@@ -105,10 +105,13 @@
 // Bootstrap JavaScript plugin.
 
 .navbar-toggler {
+  width: 2.5em;
+  height: 2em;
   padding: .5rem .75rem;
   font-size: $font-size-lg;
   line-height: 1;
-  background: none;
+  background: transparent no-repeat center center;
+  background-size: 24px 24px;
   border: $border-width solid transparent;
   @include border-radius($btn-border-radius);
 
@@ -117,26 +120,6 @@
   }
 }
 
-// Custom override for
-.navbar-toggleable {
-  &-xs {
-    @include media-breakpoint-up(sm) {
-      display: block !important;
-    }
-  }
-  &-sm {
-    @include media-breakpoint-up(md) {
-      display: block !important;
-    }
-  }
-  &-md {
-    @include media-breakpoint-up(lg) {
-      display: block !important;
-    }
-  }
-}
-
-
 // Navigation
 //
 // Custom navbar navigation built on the base `.nav` styles.
@@ -190,6 +173,10 @@
     }
   }
 
+  .navbar-toggler {
+    background-image: $navbar-light-toggler-bg;
+  }
+
   .navbar-divider {
     background-color: rgba(0,0,0,.075);
   }
@@ -224,7 +211,57 @@
     }
   }
 
+  .navbar-toggler {
+    background-image: $navbar-dark-toggler-bg;
+  }
+
   .navbar-divider {
     background-color: rgba(255,255,255,.075);
   }
 }
+
+
+// Navbar toggleable
+//
+// Custom override for collapse plugin in navbar.
+
+.navbar-toggleable {
+  &-xs {
+    @include clearfix;
+    @include media-breakpoint-down(xs) {
+      .navbar-nav .nav-item {
+        float: none;
+        margin-left: 0;
+      }
+    }
+    @include media-breakpoint-up(sm) {
+      display: block !important;
+    }
+  }
+
+  &-sm {
+    @include clearfix;
+    @include media-breakpoint-down(sm) {
+      .navbar-nav .nav-item {
+        float: none;
+        margin-left: 0;
+      }
+    }
+    @include media-breakpoint-up(md) {
+      display: block !important;
+    }
+  }
+
+  &-md {
+    @include clearfix;
+    @include media-breakpoint-down(md) {
+      .navbar-nav .nav-item {
+        float: none;
+        margin-left: 0;
+      }
+    }
+    @include media-breakpoint-up(lg) {
+      display: block !important;
+    }
+  }
+}

+ 0 - 0
bower_components/bootstrap/scss/_normalize.scss


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov