diff options
| author | Gijs Boddeus <[email protected]> | 2017-10-04 11:03:20 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-10-04 11:03:20 +0200 |
| commit | 3d5b1c004ac0d6e3758164e5bbba9f493579f3d3 (patch) | |
| tree | 6bafbfa7d36d4ed458c4147b254f8fd6161932a6 | |
| parent | df6a8f7d813a5327f999ebcbed7c7015ad4dd80a (diff) | |
| parent | 1207048319c3efb635131a9c8bb1149aee51cad3 (diff) | |
| download | bootstrap-3d5b1c004ac0d6e3758164e5bbba9f493579f3d3.tar.xz bootstrap-3d5b1c004ac0d6e3758164e5bbba9f493579f3d3.zip | |
Merge branch 'v4-dev' into yiq-function-update
| -rw-r--r-- | docs/4.0/examples/index.md | 41 | ||||
| -rw-r--r-- | docs/4.0/examples/navbar-bottom/index.html | 60 | ||||
| -rw-r--r-- | docs/4.0/examples/screenshots/navbar-bottom.jpg | bin | 0 -> 27921 bytes | |||
| -rw-r--r-- | js/src/alert.js | 2 | ||||
| -rw-r--r-- | js/src/button.js | 2 | ||||
| -rw-r--r-- | js/src/carousel.js | 2 | ||||
| -rw-r--r-- | js/src/collapse.js | 2 | ||||
| -rw-r--r-- | js/src/dropdown.js | 2 | ||||
| -rw-r--r-- | js/src/index.js | 4 | ||||
| -rw-r--r-- | js/src/modal.js | 2 | ||||
| -rw-r--r-- | js/src/popover.js | 2 | ||||
| -rw-r--r-- | js/src/scrollspy.js | 2 | ||||
| -rw-r--r-- | js/src/tab.js | 2 | ||||
| -rw-r--r-- | js/src/tooltip.js | 2 | ||||
| -rw-r--r-- | js/src/util.js | 2 | ||||
| -rw-r--r-- | package-lock.json | 562 | ||||
| -rw-r--r-- | scss/_navbar.scss | 19 |
17 files changed, 411 insertions, 297 deletions
diff --git a/docs/4.0/examples/index.md b/docs/4.0/examples/index.md index 344d5be30..8546a8698 100644 --- a/docs/4.0/examples/index.md +++ b/docs/4.0/examples/index.md @@ -14,14 +14,14 @@ Examples that focus on implementing uses of built-in components provided by Boot <div class="row bd-examples"> <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/starter-template/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/starter-template.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/starter-template.jpg" alt="" width="800" height="600"> <h4>Starter template</h4> </a> <p>Nothing but the basics: compiled CSS and JavaScript.</p> </div> <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/grid/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/grid.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/grid.jpg" alt="" width="800" height="600"> <h4>Grids</h4> </a> <p>Multiple examples of grid layouts with all four tiers, nesting, and more.</p> @@ -30,14 +30,14 @@ Examples that focus on implementing uses of built-in components provided by Boot <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/jumbotron/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/jumbotron.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/jumbotron.jpg" alt="" width="800" height="600"> <h4>Jumbotron</h4> </a> <p>Build around the jumbotron with a navbar and some basic grid columns.</p> </div> <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/narrow-jumbotron/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/jumbotron-narrow.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/jumbotron-narrow.jpg" alt="" width="800" height="600"> <h4>Narrow jumbotron</h4> </a> <p>Build a more custom page by narrowing the default container and jumbotron.</p> @@ -51,14 +51,14 @@ Taking the default navbar component and showing how it can be moved, placed, and <div class="row bd-examples"> <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/navbars/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/navbar.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/navbar.jpg" alt="" width="800" height="600"> <h4>Navbar</h4> </a> <p>Super basic template that includes the navbar along with some additional content.</p> </div> <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/navbar-top/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/navbar-static.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/navbar-static.jpg" alt="" width="800" height="600"> <h4>Static top navbar</h4> </a> <p>Super basic template with a static top navbar along with some additional content.</p> @@ -67,11 +67,18 @@ Taking the default navbar component and showing how it can be moved, placed, and <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/navbar-top-fixed/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/navbar-fixed.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/navbar-fixed.jpg" alt="" width="800" height="600"> <h4>Fixed navbar</h4> </a> <p>Super basic template with a fixed top navbar along with some additional content.</p> </div> + <div class="col-6 col-md-4"> + <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/navbar-bottom/"> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/navbar-bottom.jpg" alt=""> + <h4>Bottom navbar</h4> + </a> + <p>Super basic template with a bottom navbar along with some additional content.</p> + </div> </div> ## Custom components @@ -81,14 +88,14 @@ Brand new components and templates to help folks quickly get started with Bootst <div class="row bd-examples"> <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/album/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/album.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/album.jpg" alt="" width="800" height="600"> <h4>Album</h4> </a> <p>Simple one-page template for photo galleries, portfolios, and more.</p> </div> <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/cover/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/cover.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/cover.jpg" alt="" width="800" height="600"> <h4>Cover</h4> </a> <p>A one-page template for building simple and beautiful home pages.</p> @@ -97,14 +104,14 @@ Brand new components and templates to help folks quickly get started with Bootst <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/carousel/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/carousel.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/carousel.jpg" alt="" width="800" height="600"> <h4>Carousel</h4> </a> <p>Customize the navbar and carousel, then add some new components.</p> </div> <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/blog/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/blog.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/blog.jpg" alt="" width="800" height="600"> <h4>Blog</h4> </a> <p>Simple two-column blog layout with custom navigation, header, and type.</p> @@ -113,14 +120,14 @@ Brand new components and templates to help folks quickly get started with Bootst <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/dashboard/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/dashboard.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/dashboard.jpg" alt="" width="800" height="600"> <h4>Dashboard</h4> </a> <p>Basic admin dashboard shell with fixed sidebar and navbar.</p> </div> <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/signin/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/sign-in.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/sign-in.jpg" alt="" width="800" height="600"> <h4>Sign-in page</h4> </a> <p>Custom form layout and design for a simple sign in form.</p> @@ -129,14 +136,14 @@ Brand new components and templates to help folks quickly get started with Bootst <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/justified-nav/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/justified-nav.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/justified-nav.jpg" alt="" width="800" height="600"> <h4>Justified nav</h4> </a> <p>Create a custom navbar with justified links. Heads up! Not too Safari friendly.</p> </div> <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/sticky-footer/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/sticky-footer.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/sticky-footer.jpg" alt="" width="800" height="600"> <h4>Sticky footer</h4> </a> <p>Attach a footer to the bottom of the viewport when the content is shorter than it.</p> @@ -145,7 +152,7 @@ Brand new components and templates to help folks quickly get started with Bootst <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/sticky-footer-navbar/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/sticky-footer-navbar.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/sticky-footer-navbar.jpg" alt="" width="800" height="600"> <h4>Sticky footer w/ navbar</h4> </a> <p>Attach a footer to the bottom of the viewport with a fixed top navbar.</p> @@ -159,7 +166,7 @@ Examples that focus on future-friendly features or techniques. <div class="row bd-examples"> <div class="col-6 col-md-4"> <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/offcanvas/"> - <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/offcanvas.jpg" alt=""> + <img class="img-thumbnail" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/offcanvas.jpg" alt="" width="800" height="600"> <h4>Offcanvas</h4> </a> <p>Build a toggleable off-canvas navigation menu for use with Bootstrap.</p> diff --git a/docs/4.0/examples/navbar-bottom/index.html b/docs/4.0/examples/navbar-bottom/index.html new file mode 100644 index 000000000..3046f9b9b --- /dev/null +++ b/docs/4.0/examples/navbar-bottom/index.html @@ -0,0 +1,60 @@ +<!doctype html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="../../../../favicon.ico"> + + <title>Bottom navbar example for Bootstrap</title> + + <!-- Bootstrap core CSS --> + <link href="../../../../dist/css/bootstrap.min.css" rel="stylesheet"> + </head> + + <body> + <div class="container"> + <div class="jumbotron mt-3"> + <h1>Bottom Navbar example</h1> + <p class="lead">This example is a quick exercise to illustrate how the bottom navbar works.</p> + <a class="btn btn-lg btn-primary" href="../../components/navbar/" role="button">View navbar docs »</a> + </div> + </div> + <nav class="navbar fixed-bottom navbar-expand navbar-dark bg-dark"> + <a class="navbar-brand" href="#">Bottom navbar</a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse" id="navbarCollapse"> + <ul class="navbar-nav mr-auto"> + <li class="nav-item active"> + <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> + </li> + <li class="nav-item"> + <a class="nav-link" href="#">Link</a> + </li> + <li class="nav-item"> + <a class="nav-link disabled" href="#">Disabled</a> + </li> + <li class="nav-item dropup"> + <a class="nav-link dropdown-toggle" href="https://getbootstrap.com" id="dropdown10" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropup</a> + <div class="dropdown-menu" aria-labelledby="dropdown10"> + <a class="dropdown-item" href="#">Action</a> + <a class="dropdown-item" href="#">Another action</a> + <a class="dropdown-item" href="#">Something else here</a> + </div> + </li> + </ul> + </div> + </nav> + + <!-- Bootstrap core JavaScript + ================================================== --> + <!-- Placed at the end of the document so the pages load faster --> + <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> + <script>window.jQuery || document.write('<script src="../../../../assets/js/vendor/jquery.min.js"><\/script>')</script> + <script src="../../../../assets/js/vendor/popper.min.js"></script> + <script src="../../../../dist/js/bootstrap.min.js"></script> + </body> +</html> diff --git a/docs/4.0/examples/screenshots/navbar-bottom.jpg b/docs/4.0/examples/screenshots/navbar-bottom.jpg Binary files differnew file mode 100644 index 000000000..c25c2f89c --- /dev/null +++ b/docs/4.0/examples/screenshots/navbar-bottom.jpg diff --git a/js/src/alert.js b/js/src/alert.js index 9fcf088b1..9d6c498b9 100644 --- a/js/src/alert.js +++ b/js/src/alert.js @@ -189,6 +189,6 @@ const Alert = (() => { return Alert -})(jQuery) +})($) export default Alert diff --git a/js/src/button.js b/js/src/button.js index a121b8e13..7bf5e87dd 100644 --- a/js/src/button.js +++ b/js/src/button.js @@ -182,6 +182,6 @@ const Button = (() => { return Button -})(jQuery) +})($) export default Button diff --git a/js/src/carousel.js b/js/src/carousel.js index a5ad02541..3a6d7a4bc 100644 --- a/js/src/carousel.js +++ b/js/src/carousel.js @@ -519,6 +519,6 @@ const Carousel = (() => { return Carousel -})(jQuery) +})($) export default Carousel diff --git a/js/src/collapse.js b/js/src/collapse.js index fa082f133..d29e48722 100644 --- a/js/src/collapse.js +++ b/js/src/collapse.js @@ -404,6 +404,6 @@ const Collapse = (() => { return Collapse -})(jQuery) +})($) export default Collapse diff --git a/js/src/dropdown.js b/js/src/dropdown.js index 6681df668..3a910996b 100644 --- a/js/src/dropdown.js +++ b/js/src/dropdown.js @@ -445,6 +445,6 @@ const Dropdown = (() => { return Dropdown -})(jQuery, Popper) +})($, Popper) export default Dropdown diff --git a/js/src/index.js b/js/src/index.js index 84a27880e..2629e507f 100644 --- a/js/src/index.js +++ b/js/src/index.js @@ -19,7 +19,7 @@ import Util from './util' */ (() => { - if (typeof jQuery === 'undefined') { + if (typeof $ === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.') } @@ -29,7 +29,7 @@ import Util from './util' if (version[0] < min || version[0] >= max) { throw new Error('Bootstrap\'s JavaScript requires at least jQuery v3.0.0 but less than v4.0.0') } -})(jQuery) +})($) export { Util, diff --git a/js/src/modal.js b/js/src/modal.js index 689e93bc1..fb787208d 100644 --- a/js/src/modal.js +++ b/js/src/modal.js @@ -585,6 +585,6 @@ const Modal = (() => { return Modal -})(jQuery) +})($) export default Modal diff --git a/js/src/popover.js b/js/src/popover.js index aeccdf750..89c78f4fe 100644 --- a/js/src/popover.js +++ b/js/src/popover.js @@ -189,6 +189,6 @@ const Popover = (() => { return Popover -})(jQuery) +})($) export default Popover diff --git a/js/src/scrollspy.js b/js/src/scrollspy.js index e8f0d3101..c844bd530 100644 --- a/js/src/scrollspy.js +++ b/js/src/scrollspy.js @@ -335,6 +335,6 @@ const ScrollSpy = (() => { return ScrollSpy -})(jQuery) +})($) export default ScrollSpy diff --git a/js/src/tab.js b/js/src/tab.js index 2a554c287..17699dfbe 100644 --- a/js/src/tab.js +++ b/js/src/tab.js @@ -282,6 +282,6 @@ const Tab = (() => { return Tab -})(jQuery) +})($) export default Tab diff --git a/js/src/tooltip.js b/js/src/tooltip.js index ca7e52b14..8d262f4ad 100644 --- a/js/src/tooltip.js +++ b/js/src/tooltip.js @@ -728,6 +728,6 @@ const Tooltip = (() => { return Tooltip -})(jQuery, Popper) +})($, Popper) export default Tooltip diff --git a/js/src/util.js b/js/src/util.js index 7eb25de55..a75660014 100644 --- a/js/src/util.js +++ b/js/src/util.js @@ -161,6 +161,6 @@ const Util = (() => { return Util -})(jQuery) +})($) export default Util diff --git a/package-lock.json b/package-lock.json index 7bcfbf507..4fec5a068 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,9 +5,9 @@ "requires": true, "dependencies": { "abbrev": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, "acorn": { @@ -243,7 +243,7 @@ "dev": true, "requires": { "browserslist": "2.4.0", - "caniuse-lite": "1.0.30000738", + "caniuse-lite": "1.0.30000743", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "6.0.12", @@ -1221,8 +1221,8 @@ "integrity": "sha512-aM2Gt4x9bVlCUteADBS6JP0F+2tMWKM1jQzUulVROtdFWFIcIVvY76AJbr7GDqy0eDhn+PcnpzzivGxY4qiaKQ==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000738", - "electron-to-chromium": "1.3.22" + "caniuse-lite": "1.0.30000743", + "electron-to-chromium": "1.3.24" } }, "builtin-modules": { @@ -1255,56 +1255,6 @@ "gzip-size": "3.0.0", "prettycli": "1.4.3", "read-pkg-up": "2.0.0" - }, - "dependencies": { - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } } }, "bytes": { @@ -1329,9 +1279,9 @@ "dev": true }, "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", "dev": true }, "camelcase-keys": { @@ -1342,6 +1292,14 @@ "requires": { "camelcase": "2.1.1", "map-obj": "1.0.1" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } } }, "caniuse-db": { @@ -1351,9 +1309,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30000738", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000738.tgz", - "integrity": "sha1-GCDDya25oRfjEaW9yh0lvDQojro=", + "version": "1.0.30000743", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000743.tgz", + "integrity": "sha1-9PXGdQZ2/49hROpARWw3KdU0F2k=", "dev": true }, "capture-stack-trace": { @@ -1879,9 +1837,9 @@ } }, "electron-to-chromium": { - "version": "1.3.22", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.22.tgz", - "integrity": "sha1-QyLVLBUUBuPq73StAmdog+hBZBg=", + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.24.tgz", + "integrity": "sha1-m3uIuwXOufoBahd4M8wt3jiPIbY=", "dev": true }, "ensure-posix-path": { @@ -1906,9 +1864,9 @@ } }, "es-abstract": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.8.2.tgz", - "integrity": "sha512-dvhwFL3yjQxNNsOWx6exMlaDrRHCRGMQlnx5lsXDCZ/J7G/frgIIl94zhZSp/galVAYp7VzPi1OrAHta89/yGQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", + "integrity": "sha512-kk3IJoKo7A3pWJc0OV8yZ/VEX2oSUytfekrJiqoxBlKJMFAJVJVpGdHClCCTdv+Fn2zHfpDHHIelMFhZVfef3Q==", "dev": true, "requires": { "es-to-primitive": "1.1.1", @@ -1948,9 +1906,9 @@ "dev": true }, "eslint": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.7.2.tgz", - "integrity": "sha1-/29fUZOEiifum2J74+c/ucteZi4=", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.8.0.tgz", + "integrity": "sha1-Ip7w41Tg5h2DfHqA/fuoJeGZgV4=", "dev": true, "requires": { "ajv": "5.2.3", @@ -2065,8 +2023,8 @@ "integrity": "sha1-zFJq9KExK30uBWU+VtDIq3DA4FM=", "dev": true, "requires": { - "caniuse-lite": "1.0.30000738", - "electron-to-chromium": "1.3.22" + "caniuse-lite": "1.0.30000743", + "electron-to-chromium": "1.3.24" } } } @@ -2366,6 +2324,18 @@ "locate-path": "2.0.0" } }, + "findup-sync": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz", + "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=", + "dev": true, + "requires": { + "detect-file": "0.1.0", + "is-glob": "2.0.1", + "micromatch": "2.3.11", + "resolve-dir": "0.1.1" + } + }, "fined": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", @@ -3556,9 +3526,9 @@ } }, "jsunitsaucelabs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/jsunitsaucelabs/-/jsunitsaucelabs-1.2.0.tgz", - "integrity": "sha512-Jgqe0+XRvnkF4r6fmfwsEC8DC38EgsCU7XCGGJ8Y+G1ze38isLmzTlCSNwyG/NNJuYivbABauwCk53KAne1cLQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jsunitsaucelabs/-/jsunitsaucelabs-1.2.1.tgz", + "integrity": "sha512-CvNOB5PFg1EMmBjd1EeLSDjq+YLhn6v6n2BUtqWnh0l/ivAbbbBGQQ0mxgz0TJdMQHJGhmtACLHIFXKPSKKg4A==", "dev": true, "requires": { "sauce-tunnel": "2.5.0" @@ -3637,33 +3607,18 @@ "lodash.mapvalues": "4.6.0", "rechoir": "0.6.2", "resolve": "1.4.0" - }, - "dependencies": { - "findup-sync": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz", - "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=", - "dev": true, - "requires": { - "detect-file": "0.1.0", - "is-glob": "2.0.1", - "micromatch": "2.3.11", - "resolve-dir": "0.1.1" - } - } } }, "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { "graceful-fs": "4.1.11", "parse-json": "2.2.0", "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "strip-bom": "3.0.0" } }, "locate-path": { @@ -4024,11 +3979,84 @@ "trim-newlines": "1.0.0" }, "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } } } }, @@ -4264,7 +4292,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1.1.0" + "abbrev": "1.1.1" } }, "normalize-package-data": { @@ -4315,46 +4343,6 @@ "read-pkg": "2.0.0", "shell-quote": "1.6.1", "string.prototype.padend": "3.0.0" - }, - "dependencies": { - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } } }, "npm-run-path": { @@ -4703,14 +4691,12 @@ "dev": true }, "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "pify": "2.3.0" } }, "pause-stream": { @@ -5049,18 +5035,6 @@ "graceful-fs": "4.1.11" } }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", @@ -5072,42 +5046,6 @@ "mem": "1.1.0" } }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -5147,9 +5085,9 @@ } }, "postcss-less": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-1.1.0.tgz", - "integrity": "sha1-vcx2vmTEMk2HP7xc2foueZ5DBfo=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-1.1.1.tgz", + "integrity": "sha512-zl0EEqq8Urh37Ppdv9zzhpZpLHrgkxmt6e3O4ftRa7/b8Uq2LV+/KBVM8/KuzmHNu+mthhOArg1lxbfqQ3NUdg==", "dev": true, "requires": { "postcss": "5.2.17" @@ -5465,18 +5403,6 @@ "graceful-readlink": "1.0.1" } }, - "findup-sync": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz", - "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=", - "dev": true, - "requires": { - "detect-file": "0.1.0", - "is-glob": "2.0.1", - "micromatch": "2.3.11", - "resolve-dir": "0.1.1" - } - }, "resolve": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.2.tgz", @@ -5559,45 +5485,24 @@ } }, "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "1.1.0", + "load-json-file": "2.0.0", "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "path-type": "2.0.0" } }, "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - } + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "readable-stream": { @@ -5986,11 +5891,15 @@ "yargs": "7.1.0" }, "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } }, "is-fullwidth-code-point": { "version": "1.0.0", @@ -6001,6 +5910,60 @@ "number-is-nan": "1.0.1" } }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -6021,6 +5984,15 @@ "ansi-regex": "2.1.1" } }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, "yargs": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", @@ -6352,7 +6324,7 @@ "dev": true, "requires": { "define-properties": "1.1.2", - "es-abstract": "1.8.2", + "es-abstract": "1.9.0", "function-bind": "1.1.1" } }, @@ -6380,13 +6352,10 @@ } }, "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true }, "strip-eof": { "version": "1.0.0", @@ -6443,7 +6412,7 @@ "normalize-selector": "0.2.0", "pify": "3.0.0", "postcss": "6.0.12", - "postcss-less": "1.1.0", + "postcss-less": "1.1.1", "postcss-media-query-parser": "0.2.3", "postcss-reporter": "5.0.0", "postcss-resolve-nested-selector": "0.1.1", @@ -6669,7 +6638,7 @@ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", "dev": true, "requires": { - "abbrev": "1.1.0" + "abbrev": "1.1.1" } } } @@ -6733,9 +6702,9 @@ "dev": true }, "uglify-js": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.2.tgz", - "integrity": "sha512-kKJ8zg7Ivw3DG9Ytgp4+iiSHq3HaHjEQMvyT2x2Bs8kSUwVemj6bPGFp6YWL81f5NAIOLVUKPxBSvqLRGXMpdw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.3.tgz", + "integrity": "sha512-5ZUOgufCHjN2mBBLfz63UtWTP6va2sSzBpNCM+/iqI6RnPzEhANmB0EKiKBYdQbc3v7KeomXJ2DJx0Xq9gvUvA==", "dev": true, "requires": { "commander": "2.11.0", @@ -7196,11 +7165,15 @@ "yargs-parser": "4.2.1" }, "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } }, "is-fullwidth-code-point": { "version": "1.0.0", @@ -7211,6 +7184,60 @@ "number-is-nan": "1.0.1" } }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -7230,6 +7257,15 @@ "requires": { "ansi-regex": "2.1.1" } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } } } }, @@ -7240,14 +7276,6 @@ "dev": true, "requires": { "camelcase": "3.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - } } }, "yauzl": { diff --git a/scss/_navbar.scss b/scss/_navbar.scss index 1398400c0..a0ccc06fb 100644 --- a/scss/_navbar.scss +++ b/scss/_navbar.scss @@ -74,6 +74,13 @@ position: static; float: none; } + + .dropdown-toggle { + &::after { + border-top: $caret-width solid; + border-bottom: 0; + } + } } @@ -144,6 +151,18 @@ padding-right: 0; padding-left: 0; } + + .dropup { + .dropdown-menu { + position: absolute; + top: auto; + bottom: 100%; + } + + .dropdown-toggle { + @include caret(up); + } + } } @include media-breakpoint-up($next) { |
