diff --git a/.npmignore b/.npmignore new file mode 100644 index 00000000..2960c477 --- /dev/null +++ b/.npmignore @@ -0,0 +1,11 @@ +node_modules +examples +tests +.editorconfig +.gitattributes +.jshintrc +.npmignore +bower.json +component.json +CNAME +index.html diff --git a/CHANGELOG.md b/CHANGELOG.md index ae2e323e..49a772d9 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,28 @@ # Changelog +## 1.8.2 - 2020-10-22 + +- Properly parse date string, fixes #735 #755 #688 +- Cleaner packages, see #542 #580 +- Add space for XHTML, fixes #526 +- CSS fixes, see #431 #430 #809 #883 #237 #869 #869 #730 +- Add clear functionality, see #720 +- Use unique IDs, fixes #650 +- Bubble event on left arrow, fixes #710 +- Show week numbers based on ISO 8601 by default, fixes #388 #825 + +## 1.8.0 - 2018-10-17 + +- Remove testling because service is not running atm +- Move to github organisation Pikaday/Pikaday +- Add CSS-classes indicating position +- Remove the Moment.js optional dependency +- Add aria label text configuration + +## 1.7.0 - 2017-12-12 + +- Add keyboard input option, see #610 + ## 1.6.1 - 2017-06-06 - Fix memory leak, fixes #630 @@ -32,7 +55,7 @@ - Fix touch device support, see #374 - Add possibility to reset the max and min date to the date picker -## 1.3.3 - 2015-02-17 +## 1.3.3 - 2015-06-26 - Add theme class support, see #260 - Fix on iOS, see #101, #121 diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..1f5eee86 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +pikaday.com diff --git a/README.md b/README.md index 70529a7f..f0301480 100755 --- a/README.md +++ b/README.md @@ -5,6 +5,17 @@ Pikaday [![License][license-image]][license-url] [![Downloads][downloads-image]][downloads-url] +## ❤️ Final Update (August 2025) + +We’ve decided to archive the Pikaday repository on GitHub. The project has not been actively maintained for years. + +Pikaday was started before `` was supported in browsers and before custom elements and component frameworks. Pikaday is probably not the right choice today. + +Thank you to everyone who reported issues and contributed code :) + +* * * + +## Original README ### A refreshing JavaScript Datepicker @@ -20,8 +31,30 @@ Pikaday Also see the [changelog](CHANGELOG.md) ## Installation +You can install Pikaday as an NPM package: - npm install pikaday +```shell +npm install pikaday +``` + +Or link directly to the CDN: + +```html + +``` + +## Styles +You will also need to include Pikaday CSS file. This step depends on how Pikaday was installed. Either import from NPM: + +```css +@import './node_modules/pikaday/css/pikaday.css'; +``` + +Or link to the CDN: + +```html + +``` ## Usage @@ -89,7 +122,7 @@ You should return a string from it. Be careful, though. If the formatted string that you return cannot be correctly parsed by the `Date.parse` method (or by `moment` if it is available), then you must provide your own `parse` function in the config. This function will be passed the formatted string and the format: -`toString(dateString, format = 'YYYY-MM-DD')` +`parse(dateString, format = 'YYYY-MM-DD')` ```javascript var picker = new Pikaday({ @@ -107,8 +140,8 @@ var picker = new Pikaday({ // dateString is the result of `toString` method const parts = dateString.split('/'); const day = parseInt(parts[0], 10); - const month = parseInt(parts[1] - 1, 10); - const year = parseInt(parts[1], 10); + const month = parseInt(parts[1], 10) - 1; + const year = parseInt(parts[2], 10); return new Date(year, month, day); } }); @@ -122,6 +155,7 @@ Pikaday has many useful options: * `field` bind the datepicker to a form field * `trigger` use a different element to trigger opening the datepicker, see [trigger example][] (default to `field`) * `bound` automatically show/hide the datepicker on `field` focus (default `true` if `field` is set) +* `ariaLabel` data-attribute on the input field with an aria assistance text (only applied when `bound` is set) * `position` preferred position of the datepicker relative to the form field, e.g.: `top right`, `bottom right` **Note:** automatic adjustment may occur to avoid datepicker from being displayed outside the viewport, see [positions example][] (default to 'bottom left') * `reposition` can be set to false to not reposition datepicker within the viewport, forcing it to take the configured `position` (default: true) * `container` DOM node to render calendar into, see [container example][] (default: undefined) @@ -130,7 +164,7 @@ Pikaday has many useful options: * `toString(date, format)` function which will be used for custom formatting. This function will take precedence over `moment`. * `parse(dateString, format)` function which will be used for parsing input string and getting a date object from it. This function will take precedence over `moment`. * `defaultDate` the initial date to view when first opened -* `setDefaultDate` make the `defaultDate` the initial selected value +* `setDefaultDate` Boolean (true/false). make the `defaultDate` the initial selected value * `firstDay` first day of the week (0: Sunday, 1: Monday, etc) * `minDate` the minimum/earliest date that can be selected (this should be a native Date object - e.g. `new Date()` or `moment().toDate()`) * `maxDate` the maximum/latest date that can be selected (this should be a native Date object - e.g. `new Date()` or `moment().toDate()`) @@ -154,6 +188,18 @@ Pikaday has many useful options: * `onOpen` callback function for when the picker becomes visible * `onClose` callback function for when the picker is hidden * `onDraw` callback function for when the picker draws a new month +* `keyboardInput` enable keyboard input support (default `true`) + +### Styling + +If the `reposition` configuration-option is enabled (default), Pikaday will apply CSS-classes to the datepicker according to how it is positioned: + +* `top-aligned` +* `left-aligned` +* `right-aligned` +* `bottom-aligned` + +Note that the DOM element at any time will typically have 2 CSS-classes (eg. `top-aligned right-aligned` etc). ## jQuery Plugin @@ -177,7 +223,7 @@ $('.datepicker').eq(0).pikaday('show').pikaday('gotoYear', 2042); ## AMD support -If you use a modular script loader than Pikaday is not bound to the global object and will fit nicely in your build process. You can require Pikaday just like any other module. +If you use a modular script loader, Pikaday is not bound to the global object and will fit nicely in your build process. You can require Pikaday just like any other module. See the [AMD example][] for a full version. ```javascript @@ -244,6 +290,12 @@ Returns a [Moment.js][moment] object for the selected date (Moment must be loade Set the current selection with a [Moment.js][moment] object (see `setDate` for details). +### Clear and reset date + +`picker.clear()` + +Will clear and reset the input where picker is bound to. + ### Change current view `picker.gotoDate(new Date(2014, 1))` @@ -350,41 +402,41 @@ Also [@stas][stas] has a fork [stas/Pikaday][stas Pika], but is now quite old ## Authors -* David Bushell [http://dbushell.com][Bushell] [@dbushell][Bushell Twitter] +* David Bushell [https://dbushell.com][Bushell] [@dbushell][Bushell Twitter] * Ramiro Rikkert [GitHub][Rikkert] [@RamRik][Rikkert Twitter] Thanks to [@shoogledesigns][shoogledesigns] for the name. Copyright © 2014 David Bushell | BSD & MIT license - [Pikaday]: http://dbushell.github.com/Pikaday/ "Pikaday" + [Pikaday]: https://pikaday.com/ "Pikaday" [moment]: http://momentjs.com/ "moment.js" [browserify]: http://browserify.org/ "browserify" - [screenshot]: https://raw.github.com/dbushell/Pikaday/gh-pages/screenshot.png "Screenshot" - [issues]: https://github.com/dbushell/Pikaday/issues "Issue tracker" + [screenshot]: https://raw.github.com/Pikaday/Pikaday/master/examples/screenshot.png "Screenshot" + [issues]: https://github.com/Pikaday/Pikaday/issues "Issue tracker" [gem]: https://rubygems.org/gems/pikaday-gem "RoR gem" [mdn_date]: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date "Date" - [Bushell]: http://dbushell.com/ "dbushell.com" + [Bushell]: https://dbushell.com/ "dbushell.com" [Bushell Twitter]: https://twitter.com/dbushell "@dbushell" [Rikkert]: https://github.com/rikkert "Rikkert GitHub" [Rikkert Twitter]: https://twitter.com/ramrik "@ramrik" [shoogledesigns]: https://twitter.com/shoogledesigns/status/255209384261586944 "@shoogledesigns" - [issue1]: https://github.com/dbushell/Pikaday/issues/1 "Issue 1" - [issue18]: https://github.com/dbushell/Pikaday/issues/18 "Issue 18" + [issue1]: https://github.com/Pikaday/Pikaday/issues/1 "Issue 1" + [issue18]: https://github.com/Pikaday/Pikaday/issues/18 "Issue 18" [stas]: https://github.com/stas "@stas" [stas Pika]: https://github.com/stas/Pikaday "Pikaday" [owenmead]: https://github.com/owenmead "@owenmead" [owen Pika]: https://github.com/owenmead/Pikaday "Pikaday" [xeeali]: https://github.com/xeeali "@xeeali" [xeeali Pika]: https://github.com/xeeali/Pikaday "Pikaday" - [moment.js example]: http://dbushell.github.com/Pikaday/examples/moment.html "Pikaday w/ moment.js" - [jQuery example]: http://dbushell.github.com/Pikaday/examples/jquery.html "Pikaday w/ jQuery" - [AMD example]: http://dbushell.github.com/Pikaday/examples/amd.html "Pikaday w/ AMD" - [jQuery AMD example]: http://dbushell.github.com/Pikaday/examples/jquery-amd.html "Pikaday w/ jQuery + AMD" - [trigger example]: http://dbushell.github.com/Pikaday/examples/trigger.html "Pikaday using custom trigger" - [positions example]: http://dbushell.github.com/Pikaday/examples/positions.html "Pikaday using different position options" - [container example]: http://dbushell.github.com/Pikaday/examples/container.html "Pikaday using custom calendar container" - [theme example]: http://dbushell.github.com/Pikaday/examples/theme.html "Pikaday using multiple themes" + [moment.js example]: https://pikaday.com/examples/moment.html "Pikaday w/ moment.js" + [jQuery example]: https://pikaday.com/examples/jquery.html "Pikaday w/ jQuery" + [AMD example]: https://pikaday.com/examples/amd.html "Pikaday w/ AMD" + [jQuery AMD example]: https://pikaday.com/examples/jquery-amd.html "Pikaday w/ jQuery + AMD" + [trigger example]: https://pikaday.com/examples/trigger.html "Pikaday using custom trigger" + [positions example]: https://pikaday.com/examples/positions.html "Pikaday using different position options" + [container example]: https://pikaday.com/examples/container.html "Pikaday using custom calendar container" + [theme example]: https://pikaday.com/examples/theme.html "Pikaday using multiple themes" diff --git a/bower.json b/bower.json index 6e821cf8..e7b20083 100755 --- a/bower.json +++ b/bower.json @@ -14,15 +14,17 @@ "ignore": [ "**/.*", "node_modules", - "components" + "components", + "examples", + "tests" ], "license" : [ "0BSD", "MIT" ], - "homepage": "http://dbushell.github.io/Pikaday/", + "homepage": "https://pikaday.com", "repository": { "type": "git", - "url": "https://github.com/dbushell/Pikaday.git" + "url": "https://github.com/Pikaday/Pikaday.git" } } diff --git a/component.json b/component.json index e4f6e937..b6b9163f 100755 --- a/component.json +++ b/component.json @@ -2,7 +2,7 @@ "name": "pikaday", "repo": "dbushell/Pikaday", "description": "A refreshing JavaScript Datepicker — lightweight, no dependencies, modular CSS", - "version": "1.6.1", + "version": "1.8.2", "keywords": [ "datepicker", "calendar", @@ -12,6 +12,6 @@ "scripts": ["pikaday.js"], "styles": ["css/pikaday.css"], "dependencies": {}, - "demo": "http://dbushell.github.io/Pikaday/", + "demo": "https://pikaday.com", "license": "MIT" } diff --git a/css/pikaday.css b/css/pikaday.css index 1759061f..3dbce2a0 100755 --- a/css/pikaday.css +++ b/css/pikaday.css @@ -2,7 +2,7 @@ /*! * Pikaday - * Copyright © 2014 David Bushell | BSD & MIT license | http://dbushell.com/ + * Copyright © 2014 David Bushell | BSD & MIT license | https://dbushell.com/ */ .pika-single { @@ -26,7 +26,6 @@ http://nicolasgallagher.com/micro-clearfix-hack/ display: table; } .pika-single:after { clear: both } -.pika-single { *zoom: 1 } .pika-single.is-hidden { display: none; @@ -50,7 +49,6 @@ http://nicolasgallagher.com/micro-clearfix-hack/ .pika-label { display: inline-block; - *display: inline; position: relative; z-index: 9999; overflow: hidden; @@ -68,7 +66,6 @@ http://nicolasgallagher.com/micro-clearfix-hack/ margin: 0; left: 0; top: 5px; - filter: alpha(opacity=0); opacity: 0; } @@ -91,8 +88,6 @@ http://nicolasgallagher.com/micro-clearfix-hack/ background-repeat: no-repeat; background-size: 75% 75%; opacity: .5; - *position: absolute; - *top: 0; } .pika-prev:hover, @@ -104,14 +99,12 @@ http://nicolasgallagher.com/micro-clearfix-hack/ .is-rtl .pika-next { float: left; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg=='); - *left: 0; } .pika-next, .is-rtl .pika-prev { float: right; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII='); - *right: 0; } .pika-prev.is-disabled, @@ -122,7 +115,6 @@ http://nicolasgallagher.com/micro-clearfix-hack/ .pika-select { display: inline-block; - *display: inline; } .pika-table { @@ -159,8 +151,9 @@ http://nicolasgallagher.com/micro-clearfix-hack/ color: #666; font-size: 12px; line-height: 15px; - text-align: right; + text-align: center; background: #f5f5f5; + height: initial; } .pika-week { @@ -236,4 +229,3 @@ http://nicolasgallagher.com/micro-clearfix-hack/ border-bottom: none; cursor: help; } - diff --git a/examples/amd.html b/examples/amd.html index 74835b5c..8550df21 100755 --- a/examples/amd.html +++ b/examples/amd.html @@ -9,7 +9,7 @@ - Fork me on GitHub + Fork me on GitHub

Pikaday - AMD example

@@ -21,9 +21,9 @@

Pikaday - AMD example

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

+

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

- \ No newline at end of file + diff --git a/examples/aria-label.html b/examples/aria-label.html new file mode 100755 index 00000000..e938043d --- /dev/null +++ b/examples/aria-label.html @@ -0,0 +1,45 @@ + + + + + + Pikaday - custom trigger element example + + + + + + Fork me on GitHub + +

Pikaday - custom trigger example

+ +

A refreshing JavaScript Datepicker — lightweight, no dependencies, modular CSS.

+ + +
+ + + +

What is this?

+ +

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+ +

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

+ + + + + + diff --git a/examples/bound-container.html b/examples/bound-container.html index a9940285..d85355d7 100755 --- a/examples/bound-container.html +++ b/examples/bound-container.html @@ -9,7 +9,7 @@ - Fork me on GitHub + Fork me on GitHub

Pikaday - Container example

@@ -27,9 +27,9 @@

Pikaday - Container example

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

+

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

@@ -49,4 +49,4 @@

What is this?

- \ No newline at end of file + diff --git a/examples/calendars.html b/examples/calendars.html index b93e6651..d3e1944c 100755 --- a/examples/calendars.html +++ b/examples/calendars.html @@ -9,7 +9,7 @@ - Fork me on GitHub + Fork me on GitHub

Pikaday

@@ -23,9 +23,9 @@

Pikaday

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2013 David Bushell | BSD & MIT license | Example by MoOx

+

Copyright © 2013 David Bushell | BSD & MIT license | Example by MoOx

diff --git a/examples/container.html b/examples/container.html index d6f11c87..de98a9ed 100755 --- a/examples/container.html +++ b/examples/container.html @@ -9,7 +9,7 @@ - Fork me on GitHub + Fork me on GitHub

Pikaday - Container example

@@ -27,9 +27,9 @@

Pikaday - Container example

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

+

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

@@ -49,4 +49,4 @@

What is this?

- \ No newline at end of file + diff --git a/examples/date-fns.html b/examples/date-fns.html index a4d9dfb4..e127210a 100755 --- a/examples/date-fns.html +++ b/examples/date-fns.html @@ -9,7 +9,7 @@ - Fork me on GitHub + Fork me on GitHub

Pikaday + date-fns

@@ -23,9 +23,9 @@

Pikaday + date-fns

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

+

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

@@ -54,4 +54,4 @@

What is this?

- \ No newline at end of file + diff --git a/examples/date-range.html b/examples/date-range.html index 01e11439..e9b0b6eb 100755 --- a/examples/date-range.html +++ b/examples/date-range.html @@ -13,7 +13,7 @@

Pikaday - Date Range example

A refreshing JavaScript Datepicker — lightweight, no dependencies, modular CSS.

-

Pikaday source on GitHub

+

Pikaday source on GitHub

@@ -29,9 +29,9 @@

Pikaday - Date Range example

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license

+

Copyright © 2014 David Bushell | BSD & MIT license

@@ -80,4 +80,4 @@

What is this?

} - \ No newline at end of file + diff --git a/examples/daysInNextMonth.html b/examples/daysInNextMonth.html index e3598f4e..96d17178 100755 --- a/examples/daysInNextMonth.html +++ b/examples/daysInNextMonth.html @@ -9,7 +9,7 @@ - Fork me on GitHub + Fork me on GitHub

Pikaday - show days in next and previous month example

@@ -21,9 +21,9 @@

Pikaday - show days in next and previous month example

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

+

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

- \ No newline at end of file + diff --git a/examples/diableDayFn.html b/examples/diableDayFn.html index 81b66c23..5cdecc16 100755 --- a/examples/diableDayFn.html +++ b/examples/diableDayFn.html @@ -9,7 +9,7 @@ - Fork me on GitHub + Fork me on GitHub

Pikaday - disableDayFn example

@@ -21,9 +21,9 @@

Pikaday - disableDayFn example

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

+

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

- \ No newline at end of file + diff --git a/examples/jquery-amd.html b/examples/jquery-amd.html index 136bbf3a..09952cef 100755 --- a/examples/jquery-amd.html +++ b/examples/jquery-amd.html @@ -9,7 +9,7 @@ - Fork me on GitHub + Fork me on GitHub

Pikaday - jQuery + AMD example

@@ -21,9 +21,9 @@

Pikaday - jQuery + AMD example

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

+

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

@@ -51,4 +51,4 @@

What is this?

- \ No newline at end of file + diff --git a/examples/jquery.html b/examples/jquery.html index 33612dd0..3ffd84dc 100755 --- a/examples/jquery.html +++ b/examples/jquery.html @@ -9,7 +9,7 @@ - Fork me on GitHub + Fork me on GitHub

Pikaday - jQuery example

@@ -21,12 +21,12 @@

Pikaday - jQuery example

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

+

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

- + @@ -43,4 +43,4 @@

What is this?

- \ No newline at end of file + diff --git a/examples/moment.html b/examples/moment.html index 39777247..c73a1abe 100755 --- a/examples/moment.html +++ b/examples/moment.html @@ -9,7 +9,7 @@ - Fork me on GitHub + Fork me on GitHub

Pikaday + moment.js

@@ -23,12 +23,12 @@

Pikaday + moment.js

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

+

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

- + - \ No newline at end of file + diff --git a/examples/pick-whole-week.html b/examples/pick-whole-week.html index 901d687a..a67c4e08 100644 --- a/examples/pick-whole-week.html +++ b/examples/pick-whole-week.html @@ -9,7 +9,7 @@ - Fork me on GitHub + Fork me on GitHub

Pikaday - pickWholeWeek example

@@ -21,9 +21,9 @@

Pikaday - pickWholeWeek example

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license | Example by Lei Zhao

+

Copyright © 2014 David Bushell | BSD & MIT license | Example by Lei Zhao

- \ No newline at end of file + diff --git a/examples/position-css-classes.html b/examples/position-css-classes.html new file mode 100644 index 00000000..068a31c3 --- /dev/null +++ b/examples/position-css-classes.html @@ -0,0 +1,124 @@ + + + + + + Pikaday alignment CSS-classes example + + + + + + Fork me on GitHub + +

Pikaday alignment CSS-classes example

+ +

A refreshing JavaScript Datepicker — lightweight, no dependencies, modular CSS.

+ + + + + + + + +

What is this?

+ +

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+ +

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ruben Swieringa

+ + + + + + + + diff --git a/examples/positions.html b/examples/positions.html index ad773228..45cc9085 100755 --- a/examples/positions.html +++ b/examples/positions.html @@ -9,9 +9,9 @@ - Fork me on GitHub + Fork me on GitHub -

Pikaday alignement example

+

Pikaday alignment example

A refreshing JavaScript Datepicker — lightweight, no dependencies, modular CSS.

@@ -39,9 +39,9 @@

Pikaday alignement example

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license | Example by MoOx

+

Copyright © 2014 David Bushell | BSD & MIT license | Example by MoOx

diff --git a/examples/screenshot.png b/examples/screenshot.png new file mode 100644 index 00000000..3c5f8a05 Binary files /dev/null and b/examples/screenshot.png differ diff --git a/examples/theme.html b/examples/theme.html index 3a2b1095..930dcd58 100755 --- a/examples/theme.html +++ b/examples/theme.html @@ -11,7 +11,7 @@ - Fork me on GitHub + Fork me on GitHub

Pikaday - Theme example

@@ -27,9 +27,9 @@

Pikaday - Theme example

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

+

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

@@ -43,4 +43,4 @@

What is this?

- \ No newline at end of file + diff --git a/examples/weeknumbers.html b/examples/weeknumbers.html index 595f5acf..38e03014 100755 --- a/examples/weeknumbers.html +++ b/examples/weeknumbers.html @@ -9,7 +9,7 @@ - Fork me on GitHub + Fork me on GitHub

Pikaday - showing weeknumbers

@@ -20,9 +20,9 @@

Pikaday - showing weeknumbers

What is this?

-

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

+

Since version 1.0 Pikaday is a stable and battle tested date-picker. Feel free to use it however you like but please report any bugs or feature requests to the GitHub issue tracker, thanks!

-

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

+

Copyright © 2014 David Bushell | BSD & MIT license | Example by Ramiro Rikkert

diff --git a/package-lock.json b/package-lock.json index 2cadf68d..f1e10dfe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,150 +1,202 @@ { "name": "pikaday", - "version": "1.6.0", + "version": "1.8.2", "lockfileVersion": 1, + "requires": true, "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", "dev": true }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "astw": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz", - "integrity": "sha1-e9QXhNMkk5h66yOba04cV6hzuRc=", - "dev": true - }, - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, - "Base64": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz", - "integrity": "sha1-ujpCMHCOGGcFBl5mur3Uw1z2ACg=", + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, - "base64-js": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", - "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=", - "dev": true - }, - "bops": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/bops/-/bops-0.0.6.tgz", - "integrity": "sha1-CC0dVfoB5g29wuvC26N/ZZVUzzo=", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "dependencies": { - "base64-js": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz", - "integrity": "sha1-Ak8Pcq+iW3X5wO5zzU9V7Bvtl4Q=", - "dev": true - } + "requires": { + "color-convert": "^2.0.1" } }, - "browser-launcher": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/browser-launcher/-/browser-launcher-0.3.5.tgz", - "integrity": "sha1-2aNmP6Bk2BVQRJkcAOYdvLZzChY=", + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, - "dependencies": { - "headless": { - "version": "0.1.3", - "bundled": true, - "dev": true - } + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "browser-pack": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-2.0.1.tgz", - "integrity": "sha1-XRxSf1bFgmd0EcTbKhKGSP9r8VA=", - "dev": true - }, - "browser-resolve": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.2.4.tgz", - "integrity": "sha1-Wa54IKgpVezTL1+3xGisIcRyOAY=", + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "dependencies": { - "resolve": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", - "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=", - "dev": true - } + "requires": { + "sprintf-js": "~1.0.2" } }, - "browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, - "buffer": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-2.1.13.tgz", - "integrity": "sha1-yIg46/efMLi0pwd4hHC+qKYsI1U=", + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", "dev": true }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, - "combine-source-map": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.3.0.tgz", - "integrity": "sha1-2edPWT2c1DgHMSy12EbUUe+qnrc=", - "dev": true + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } }, - "commander": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.0.0.tgz", - "integrity": "sha1-0bhvkB+LZL2UG96tr5JFMDk76Sg=", - "dev": true + "chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } }, - "concat-stream": { + "cli": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.0.1.tgz", - "integrity": "sha1-AYsYvBx9BzotyCqkhEI0GixN158=", - "dev": true + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "^7.1.1" + } }, - "console-browserify": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.0.3.tgz", - "integrity": "sha1-04mNLDqTEC82QZf4h0tPkrUoao4=", + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "constants-browserify": { + "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz", - "integrity": "sha1-kld9tSe6bEzwpFaNhLwDH0QeIfI=", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "convert-source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", - "dev": true + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } }, "core-util-is": { "version": "1.0.2", @@ -152,17 +204,20 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "crypto-browserify": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-1.0.9.tgz", - "integrity": "sha1-zFRJaF37hesRyYKKzHy4erW7/MA=", + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", "dev": true }, "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "dev": true + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } }, "decamelize": { "version": "1.2.0", @@ -170,124 +225,83 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, - "deep-equal": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.1.2.tgz", - "integrity": "sha1-skbCuApXCkfBG+HZvRBw7IeLh84=", - "dev": true - }, - "defined": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", - "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=", - "dev": true - }, - "derequire": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/derequire/-/derequire-0.8.0.tgz", - "integrity": "sha1-wffx2izt5Ere3gRzePA/RE6cTA0=", - "dev": true - }, - "detective": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz", - "integrity": "sha1-d3gkRKt1K4jKG+Lp0KA5Xx2iXu0=", - "dev": true - }, "diff": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.0.7.tgz", - "integrity": "sha1-JLuwAcSn1VIhaefKvbLCgU7ZHPQ=", - "dev": true - }, - "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", - "dev": true - }, - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, - "ecstatic": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-0.4.13.tgz", - "integrity": "sha1-nLbq/+IRuchO+z9VPN4sMAJxeyk=", + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, "dependencies": { - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "domelementtype": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", + "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==", + "dev": true + }, + "entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", "dev": true } } }, - "ent": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ent/-/ent-0.0.7.tgz", - "integrity": "sha1-g11Of556jUkhxpLpAQ7JdtpemUk=", + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "dev": true }, - "escodegen": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz", - "integrity": "sha1-xmOSP24gqtSNDA+knzHG1PSTYM8=", + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", "dev": true, - "dependencies": { - "esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", - "dev": true - } + "requires": { + "domelementtype": "1" } }, - "escope": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/escope/-/escope-0.0.16.tgz", - "integrity": "sha1-QYx6CvynIdr+ZZGT/Zhig+dGU48=", - "dev": true - }, - "esprima-fb": { - "version": "3001.1.0-dev-harmony-fb", - "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz", - "integrity": "sha1-t303q8046gt3Qmu4vCkizmtCZBE=", - "dev": true - }, - "esrefactor": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/esrefactor/-/esrefactor-0.1.0.tgz", - "integrity": "sha1-0UJ5WigjOauB6Ta1t6IbEb8ZexM=", + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "dev": true, - "dependencies": { - "esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", - "dev": true - }, - "estraverse": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz", - "integrity": "sha1-AaCTLf7ldGhKWYr1pnw7+bZCjbI=", - "dev": true - } + "requires": { + "dom-serializer": "0", + "domelementtype": "1" } }, - "estraverse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", - "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=", + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "esutils": { + "entities": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", - "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "exit": { @@ -302,1128 +316,707 @@ "integrity": "sha1-sKWaDS7/VDdUTr8M6qYBWEHQm1s=", "dev": true }, - "glob": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.3.tgz", - "integrity": "sha1-4xPusknHr/qlxHUoaw4RW1mDlGc=", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true }, - "graceful-fs": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz", - "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA=", + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "growl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz", - "integrity": "sha1-3i1mE20ALhErpw8/EMMc98NQsto=", + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "http-browserify": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.3.2.tgz", - "integrity": "sha1-tWLDRHk0mmkNemWX30la76jGBPU=", + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, - "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "requires": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, - "inline-source-map": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.3.1.tgz", - "integrity": "sha1-pSi1FOaJ/OkNswiehw2S9Sestes=", + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "dependencies": { - "source-map": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.3.0.tgz", - "integrity": "sha1-hYb7mloAXltQHiHNGLbyG0V60fk=", - "dev": true - } + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" } }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true }, - "jade": { - "version": "0.26.3", - "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", - "integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=", + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, - "dependencies": { - "commander": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", - "integrity": "sha1-+mihT2qUXVTbvlDYzbMyDp47GgY=", - "dev": true - }, - "mkdirp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", - "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=", - "dev": true - } + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jshint": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.4.tgz", - "integrity": "sha1-XjupeEjVKQJz21FK7kf+JM9ZKTQ=", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.12.0.tgz", + "integrity": "sha512-TwuuaUDmra0JMkuqvqy+WGo2xGHSNjv1BA1nTIgtH2K5z1jHuAEeAgp7laaR+hLRmajRjcrM71+vByBDanCyYA==", "dev": true, - "dependencies": { - "cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", - "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", - "dev": true, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", - "dev": true, - "dependencies": { - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - } - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - } - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - } - } - } - } - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "dependencies": { - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - } - } - }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "dev": true, - "dependencies": { - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "dev": true - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "dependencies": { - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "dev": true, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", - "dev": true - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", - "dev": true - } - } - } - } - }, - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - } - } - }, - "lodash": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz", - "integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "dev": true, - "dependencies": { - "brace-expansion": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", - "dev": true, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - } - } - } - } - }, - "shelljs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", - "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", - "dev": true - }, - "strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", - "dev": true - } + "requires": { + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.19", + "minimatch": "~3.0.2", + "shelljs": "0.3.x", + "strip-json-comments": "1.0.x" } }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsonparse": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz", - "integrity": "sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ=", - "dev": true - }, - "JSONStream": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.6.4.tgz", - "integrity": "sha1-SyyAY/j1Enh7I3X37p22kgj6Lcs=", + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "dependencies": { - "through": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz", - "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=", - "dev": true - } + "requires": { + "p-locate": "^5.0.0" } }, - "lexical-scope": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.1.1.tgz", - "integrity": "sha1-3rrBBnQ18TWdkPz9npS8su5Hsr8=", - "dev": true - }, - "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", - "dev": true - }, - "merge": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.0.0.tgz", - "integrity": "sha1-tEOrRtg3xJHmIiBWqw95M+yzVo8=", + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", "dev": true }, - "mime": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=", - "dev": true + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { + "chalk": "^4.0.0" + } }, "minimatch": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", - "dev": true - }, - "minimist": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz", - "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY=", - "dev": true - }, - "mkdirp": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=", - "dev": true + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } }, "mocha": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-1.18.2.tgz", - "integrity": "sha1-gAhI+PeITGHu/PoqJzBLqeVEbQs=", - "dev": true - }, - "module-deps": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-2.0.6.tgz", - "integrity": "sha1-uZkyHHOsM1gPAHEsDzB1/cpCVj8=", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.0.tgz", + "integrity": "sha512-lEWEMq2LMfNJMKeuEwb5UELi+OgFDollXaytR5ggQcHpzG3NP/R7rvixAvF+9/lLsTWhWG+4yD2M70GsM06nxw==", "dev": true, + "requires": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.4.3", + "debug": "4.2.0", + "diff": "4.0.2", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.14.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.2", + "nanoid": "3.1.12", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "7.2.0", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.0.2", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "2.0.0" + }, "dependencies": { - "concat-stream": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.10.tgz", - "integrity": "sha1-rMO79WAsuMyYDGrIQPp9hgPj7zY=", - "dev": true - }, - "JSONStream": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.7.4.tgz", - "integrity": "sha1-c0KQ5BUR7qfCz+FR+/mlY6l7l4Y=", - "dev": true - }, - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "resolve": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", - "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=", - "dev": true + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } }, - "stream-combiner": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.1.0.tgz", - "integrity": "sha1-DcOJo8ID+PTVY2j5Xd5S65Jptb4=", + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true } } }, - "moment": { - "version": "2.18.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz", - "integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=", - "optional": true - }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "object-inspect": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.1.3.tgz", - "integrity": "sha1-0FplwuNP6CJdn9ouSE5OR7fi9JA=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "nanoid": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", + "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", "dev": true }, - "optimist": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.5.2.tgz", - "integrity": "sha1-hcjBRUszFeSniUfoV7HfAzRQv7w=", + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "ordered-emitter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ordered-emitter/-/ordered-emitter-0.1.1.tgz", - "integrity": "sha1-qiC9r73MFjGDSjUPaLTvjrNO7Xs=", - "dev": true + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } }, - "os-browserify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz", - "integrity": "sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ=", - "dev": true + "p-limit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", + "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } }, - "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", - "dev": true + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } }, - "parents": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/parents/-/parents-0.0.2.tgz", - "integrity": "sha1-ZxR4JuSX1AdZqvW6TJllm2A00wI=", + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "plist": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/plist/-/plist-0.2.1.tgz", - "integrity": "sha1-86PeB4hddz5m2KlngvG+wozystA=", + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "dev": true }, - "punycode": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz", - "integrity": "sha1-VACKyXKux0F13vnLpt9/qdORh0A=", - "dev": true + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } }, "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, - "dependencies": { - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, - "resolve": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.4.3.tgz", - "integrity": "sha1-3K2tIC58rMJGfjo4gAIR9C+cE98=", - "dev": true - }, - "rfile": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz", - "integrity": "sha1-WXCM+Qyh50xUw8/Fw2/bmBBDUmE=", + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dev": true, - "dependencies": { - "resolve": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz", - "integrity": "sha1-NMY0R8ZkxwWY0cmxJvxDsqJDEKQ=", - "dev": true - } + "requires": { + "picomatch": "^2.2.1" } }, - "ruglify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz", - "integrity": "sha1-3Ikw4qlUSidDAcyZcldMDQmGtnU=", - "dev": true, - "dependencies": { - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", - "dev": true - }, - "uglify-js": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz", - "integrity": "sha1-puAqcNg5eSuXgEiLe4sYTAlcmcc=", - "dev": true - } - } + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, - "sax": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/sax/-/sax-0.1.5.tgz", - "integrity": "sha1-0YKaYSD6AWZetNv/bEPyn9bWFHE=", + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "shallow-copy": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=", + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, - "shell-quote": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.3.3.tgz", - "integrity": "sha1-B7iCb0J8BSUR6LVidjnhcllujks=", + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "shelljs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", + "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", "dev": true }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "split": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/split/-/split-0.1.2.tgz", - "integrity": "sha1-8HEHRMRT1VH8cUPq2YPaYBTjNsw=", + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, - "dependencies": { - "through": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/through/-/through-1.1.2.tgz", - "integrity": "sha1-NEpUJaN3MxTKfg62US+6+vdsC/4=", - "dev": true - } + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, - "stream-browserify": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-0.1.3.tgz", - "integrity": "sha1-lc8bNpdy4nra9GNSJlFSaJxsS+k=", + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true }, - "stream-combiner": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", - "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", - "dev": true + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } }, - "string_decoder": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.0.1.tgz", - "integrity": "sha1-9UctCo0WUOyCN1LSTm/WJ7Ob8UE=", + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", "dev": true }, - "tap-finished": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tap-finished/-/tap-finished-0.0.1.tgz", - "integrity": "sha1-CLW1Q/3ASDApDGxWEnlVLnHEvWc=", - "dev": true + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } }, - "tap-parser": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-0.2.1.tgz", - "integrity": "sha1-jh6CPyEU7iHQMuLzHk+2QqKW9Qs=", + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "tape": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tape/-/tape-1.0.4.tgz", - "integrity": "sha1-4ujlxt0/AP3CpeRRT2L8Ih5Z+cQ=", + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, - "dependencies": { - "deep-equal": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz", - "integrity": "sha1-mWedO70EcVb81FDT0B7rkGhpHoM=", - "dev": true - } + "requires": { + "string-width": "^1.0.2 || 2" } }, - "testling": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/testling/-/testling-1.7.1.tgz", - "integrity": "sha1-v8+od8ixXdKNkgaSwD2NZMpHh04=", + "workerpool": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz", + "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, "dependencies": { - "acorn": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "bouncy": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/bouncy/-/bouncy-3.2.2.tgz", - "integrity": "sha1-gqtK176uBYkO7VS5rzxFOUsYXcc=", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "dependencies": { - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - } + "requires": { + "color-convert": "^1.9.0" } }, - "browserify": { - "version": "3.46.1", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-3.46.1.tgz", - "integrity": "sha1-LC5Kfy9AgXjnjCI7W1ezfCGFrY4=", + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "dependencies": { - "assert": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.1.2.tgz", - "integrity": "sha1-raoExGu1jG3R8pTaPrJuYijrbkQ=", - "dev": true - }, - "builtins": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-0.0.7.tgz", - "integrity": "sha1-NVIZzWzxjb58Acx/0tznZc/cVJo=", - "dev": true - }, - "commondir": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz", - "integrity": "sha1-ifAP3NUbUZxXhzP+xWPmptp/W+I=", - "dev": true - }, - "concat-stream": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.10.tgz", - "integrity": "sha1-rMO79WAsuMyYDGrIQPp9hgPj7zY=", - "dev": true, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - } - } - }, - "deps-sort": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-0.1.2.tgz", - "integrity": "sha1-2qL7YUoXyWN9gB4vVTOa43DzYRo=", - "dev": true, - "dependencies": { - "JSONStream": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.6.4.tgz", - "integrity": "sha1-SyyAY/j1Enh7I3X37p22kgj6Lcs=", - "dev": true, - "dependencies": { - "through": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz", - "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=", - "dev": true - } - } - }, - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - } - } - }, - "domain-browser": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", - "dev": true - }, - "events": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/events/-/events-1.0.2.tgz", - "integrity": "sha1-dYSdz+k9EPsFfDAFWv29UdBqjiQ=", - "dev": true - }, - "glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", - "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", - "dev": true - }, - "https-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", - "dev": true - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "insert-module-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-6.0.0.tgz", - "integrity": "sha1-7orrne4WgZ4zqhRYilWIJK8MFdw=", - "dev": true, - "dependencies": { - "process": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/process/-/process-0.6.0.tgz", - "integrity": "sha1-fdm+gP+q7dTLYo8YJ/HLq23AkY8=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - } - } - }, - "JSONStream": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.7.4.tgz", - "integrity": "sha1-c0KQ5BUR7qfCz+FR+/mlY6l7l4Y=", - "dev": true, - "dependencies": { - "jsonparse": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz", - "integrity": "sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - } - } - }, - "parents": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/parents/-/parents-0.0.3.tgz", - "integrity": "sha1-+iEvAk2fpjGNu2tM5nbIvkk7nEM=", - "dev": true, - "dependencies": { - "path-platform": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.0.1.tgz", - "integrity": "sha1-tVhdfDxGPYmqAGDYZhHPGv1hfio=", - "dev": true - } - } - }, - "process": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/process/-/process-0.7.0.tgz", - "integrity": "sha1-xSIIFho0rfOBI0SuhdPmFQRpOJ0=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.0.tgz", - "integrity": "sha1-w2WgimnEQ6zP6zqd6rNePwq6pHY=", - "dev": true - }, - "resolve": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", - "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=", - "dev": true - }, - "shell-quote": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz", - "integrity": "sha1-GkEZbzwDM8SCMjWT1ohuzxU92YY=", - "dev": true - }, - "subarg": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-0.0.1.tgz", - "integrity": "sha1-PVawfaz7xFu7Y/dnK0O2PkY2jjo=", - "dev": true, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - } - } - }, - "syntax-error": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.1.6.tgz", - "integrity": "sha1-tFSXBtOGzBwdx8JCPxhXm2yt5xA=", - "dev": true - }, - "through2": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", - "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", - "dev": true, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", - "dev": true - } - } - }, - "timers-browserify": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.0.3.tgz", - "integrity": "sha1-/7pwycEu7ZFv1nMY5imsbzIpVVE=", - "dev": true, - "dependencies": { - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", - "dev": true - } - } - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", - "dev": true, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - } - } - }, - "xtend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", - "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", - "dev": true - } + "requires": { + "color-name": "1.1.3" } }, - "minimatch": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", - "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "win-spawn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/win-spawn/-/win-spawn-2.0.0.tgz", - "integrity": "sha1-OXopEw7JjQqgvIa6pGITk+/9Cwc=", - "dev": true + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } } } }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "through2": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", - "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } } } }, - "to-utf8": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/to-utf8/-/to-utf8-0.0.1.tgz", - "integrity": "sha1-0Xrqcv8vujm55DYBvns/9y4ImFI=", - "dev": true - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "uglify-js": { - "version": "2.4.24", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", - "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=", + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dev": true, - "dependencies": { - "source-map": { - "version": "0.1.34", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz", - "integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=", - "dev": true - } + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true - }, - "umd": { + "yargs-unparser": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/umd/-/umd-2.0.0.tgz", - "integrity": "sha1-dJaDsNUUcorg4bYZX1d0r8CtT48=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "camelcase": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.1.0.tgz", + "integrity": "sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ==", "dev": true - } - } - }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "xhr-write-stream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/xhr-write-stream/-/xhr-write-stream-0.1.2.tgz", - "integrity": "sha1-41eEjg0Dm0Ef3Vs7+BvkfuXOJqo=", - "dev": true, - "dependencies": { - "concat-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz", - "integrity": "sha1-1/TieLkM/E8PPvd/5MA7QOs/eQA=", - "dev": true - } - } - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - }, - "yargs": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", - "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=", - "dev": true, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true } } diff --git a/package.json b/package.json index 5a21af2d..7e677486 100755 --- a/package.json +++ b/package.json @@ -1,28 +1,24 @@ { "name": "pikaday", - "version": "1.6.1", + "version": "1.8.2", "description": "A refreshing JavaScript Datepicker — lightweight, no dependencies, modular CSS", "keywords": [ "datepicker", "calendar", "date" ], - "homepage": "http://dbushell.github.io/Pikaday/", - "bugs": "https://github.com/dbushell/Pikaday/issues", + "homepage": "https://pikaday.com", + "bugs": "https://github.com/Pikaday/Pikaday/issues", "license": "(0BSD OR MIT)", "main": "pikaday.js", "repository": { "type": "git", - "url": "https://github.com/dbushell/Pikaday.git" - }, - "optionalDependencies": { - "moment": "2.x" + "url": "https://github.com/Pikaday/Pikaday.git" }, "devDependencies": { - "mocha": "~1.18.2", "expect.js": "^0.3.1", - "testling": "^1.7", - "jshint": "^2.9" + "jshint": "^2.12.0", + "mocha": "^8.2.0" }, "testling": { "harness": "mocha", diff --git a/pikaday.js b/pikaday.js index c9e39729..cede5d30 100755 --- a/pikaday.js +++ b/pikaday.js @@ -1,7 +1,7 @@ /*! * Pikaday * - * Copyright © 2014 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday + * Copyright © 2014 David Bushell | BSD & MIT license | https://github.com/Pikaday/Pikaday */ (function (root, factory) @@ -99,8 +99,8 @@ isLeapYear = function(year) { - // solution by Matti Virkkunen: http://stackoverflow.com/a/4881951 - return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0; + // solution lifted from date.js (MIT license): https://github.com/datejs/Datejs + return ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0); }, getDaysInMonth = function(year, month) @@ -183,6 +183,9 @@ // automatically show/hide the picker on `field` focus (default `true` if `field` is set) bound: undefined, + // data-attribute on the input field with an aria assistance text (only applied when `bound` is set) + ariaLabel: 'Use the arrow keys to pick a date', + // position of the datepicker, relative to the field (default to bottom & left) // ('bottom' & 'left' keywords are not used, 'top' & 'right' are modifier on the bottom/left position) position: 'bottom left', @@ -209,6 +212,10 @@ // first day of week (0: Sunday, 1: Monday etc) firstDay: 0, + // minimum number of days in the week that gets week number one + // default ISO 8601, week 01 is the week with the first Thursday (4) + firstWeekOfYearMinDays: 4, + // the default flag for moment's strict date parsing formatStrict: false, @@ -281,7 +288,10 @@ onSelect: null, onOpen: null, onClose: null, - onDraw: null + onDraw: null, + + // Enable keyboard input + keyboardInput: true }, @@ -343,11 +353,35 @@ ''; }, - renderWeek = function (d, m, y) { - // Lifted from http://javascript.about.com/library/blweekyear.htm, lightly modified. - var onejan = new Date(y, 0, 1), - weekNum = Math.ceil((((new Date(y, m, d) - onejan) / 86400000) + onejan.getDay()+1)/7); - return '' + weekNum + ''; + isoWeek = function(date, firstWeekOfYearMinDays) { + // Ensure we're at the start of the day. + date.setHours(0, 0, 0, 0); + + // Thursday in current week decides the year because January 4th + // is always in the first week according to ISO8601. + var yearDay = date.getDate(), + weekDay = date.getDay(), + dayInFirstWeek = firstWeekOfYearMinDays, + dayShift = dayInFirstWeek - 1, // counting starts at 0 + daysPerWeek = 7, + prevWeekDay = function(day) { return (day + daysPerWeek - 1) % daysPerWeek; }; + + // Adjust to Thursday in week 1 and count number of weeks from date to week 1. + date.setDate(yearDay + dayShift - prevWeekDay(weekDay)); + + var jan4th = new Date(date.getFullYear(), 0, dayInFirstWeek), + msPerDay = 24 * 60 * 60 * 1000, + daysBetween = (date.getTime() - jan4th.getTime()) / msPerDay, + weekNum = 1 + Math.round((daysBetween - dayShift + prevWeekDay(jan4th.getDay())) / daysPerWeek); + + return weekNum; + }, + + renderWeek = function (d, m, y, firstWeekOfYearMinDays) { + var date = new Date(y, m, d), + week = hasMoment ? moment(date).isoWeek() : isoWeek(date, firstWeekOfYearMinDays); + + return '' + week + ''; }, renderRow = function(days, isRTL, pickWholeWeek, isRowSelected) @@ -378,7 +412,7 @@ opts = instance._o, isMinYear = year === opts.minYear, isMaxYear = year === opts.maxYear, - html = '
', + html = '
', monthHtml, yearHtml, prev = true, @@ -387,7 +421,7 @@ for (arr = [], i = 0; i < 12; i++) { arr.push(''); } @@ -518,7 +552,6 @@ } break; case 37: - e.preventDefault(); self.adjustDate('subtract', 1); break; case 38: @@ -530,10 +563,26 @@ case 40: self.adjustDate('add', 7); break; + case 8: + case 46: + self.setDate(null); + break; } } }; + self._parseFieldValue = function() + { + if (opts.parse) { + return opts.parse(opts.field.value, opts.format); + } else if (hasMoment) { + var date = moment(opts.field.value, opts.format, opts.formatStrict); + return (date && date.isValid()) ? date.toDate() : null; + } else { + return new Date(Date.parse(opts.field.value)); + } + }; + self._onInputChange = function(e) { var date; @@ -541,15 +590,7 @@ if (e.firedBy === self) { return; } - if (opts.parse) { - date = opts.parse(opts.field.value, opts.format); - } else if (hasMoment) { - date = moment(opts.field.value, opts.format, opts.formatStrict); - date = (date && date.isValid()) ? date.toDate() : null; - } - else { - date = new Date(Date.parse(opts.field.value)); - } + date = self._parseFieldValue(); if (isDate(date)) { self.setDate(date); } @@ -618,7 +659,10 @@ addEvent(self.el, 'mousedown', self._onMouseDown, true); addEvent(self.el, 'touchend', self._onMouseDown, true); addEvent(self.el, 'change', self._onChange); - addEvent(document, 'keydown', self._onKeyChange); + + if (opts.keyboardInput) { + addEvent(document, 'keydown', self._onKeyChange); + } if (opts.field) { if (opts.container) { @@ -631,11 +675,7 @@ addEvent(opts.field, 'change', self._onInputChange); if (!opts.defaultDate) { - if (hasMoment && opts.field.value) { - opts.defaultDate = moment(opts.field.value, opts.format).toDate(); - } else { - opts.defaultDate = new Date(Date.parse(opts.field.value)); - } + opts.defaultDate = self._parseFieldValue(); opts.setDefaultDate = true; } } @@ -816,6 +856,14 @@ } }, + /** + * clear and reset the date + */ + clear: function() + { + this.setDate(null); + }, + /** * change view to a specific date */ @@ -995,9 +1043,8 @@ } } - randId = 'pika-title-' + Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 2); - for (var c = 0; c < opts.numberOfMonths; c++) { + randId = 'pika-title-' + Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 2); html += '
' + renderTitle(this, c, this.calendars[c].year, this.calendars[c].month, this.calendars[0].year, randId) + this.render(this.calendars[c].year, this.calendars[c].month, randId) + '
'; } @@ -1017,13 +1064,13 @@ if (opts.bound) { // let the screen reader user know to use arrow keys - opts.field.setAttribute('aria-label', 'Use the arrow keys to pick a date'); + opts.field.setAttribute('aria-label', opts.ariaLabel); } }, adjustPosition: function() { - var field, pEl, width, height, viewportWidth, viewportHeight, scrollTop, left, top, clientRect; + var field, pEl, width, height, viewportWidth, viewportHeight, scrollTop, left, top, clientRect, leftAligned, bottomAligned; if (this._o.container) return; @@ -1036,6 +1083,8 @@ viewportWidth = window.innerWidth || document.documentElement.clientWidth; viewportHeight = window.innerHeight || document.documentElement.clientHeight; scrollTop = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop; + leftAligned = true; + bottomAligned = true; if (typeof field.getBoundingClientRect === 'function') { clientRect = field.getBoundingClientRect(); @@ -1058,6 +1107,7 @@ ) ) { left = left - width + field.offsetWidth; + leftAligned = false; } if ((this._o.reposition && top + height > viewportHeight + scrollTop) || ( @@ -1066,10 +1116,24 @@ ) ) { top = top - height - field.offsetHeight; + bottomAligned = false; + } + + if (left < 0) { + left = 0; + } + + if (top < 0) { + top = 0; } this.el.style.left = left + 'px'; this.el.style.top = top + 'px'; + + addClass(this.el, leftAligned ? 'left-aligned' : 'right-aligned'); + addClass(this.el, bottomAligned ? 'bottom-aligned' : 'top-aligned'); + removeClass(this.el, !leftAligned ? 'left-aligned' : 'right-aligned'); + removeClass(this.el, !bottomAligned ? 'bottom-aligned' : 'top-aligned'); }, /** @@ -1156,7 +1220,7 @@ if (++r === 7) { if (opts.showWeekNumber) { - row.unshift(renderWeek(i - before, month, year)); + row.unshift(renderWeek(i - before, month, year, opts.firstWeekOfYearMinDays)); } data.push(renderRow(row, opts.isRTL, opts.pickWholeWeek, isWeekSelected)); row = []; @@ -1195,9 +1259,12 @@ if (this._o.bound) { removeEvent(document, 'click', this._onClick); } - this.el.style.position = 'static'; // reset - this.el.style.left = 'auto'; - this.el.style.top = 'auto'; + + if (!this._o.container) { + this.el.style.position = 'static'; // reset + this.el.style.left = 'auto'; + this.el.style.top = 'auto'; + } addClass(this.el, 'is-hidden'); this._v = false; if (v !== undefined && typeof this._o.onClose === 'function') { @@ -1211,17 +1278,21 @@ */ destroy: function() { + var opts = this._o; + this.hide(); removeEvent(this.el, 'mousedown', this._onMouseDown, true); removeEvent(this.el, 'touchend', this._onMouseDown, true); removeEvent(this.el, 'change', this._onChange); - removeEvent(document, 'keydown', this._onKeyChange); - if (this._o.field) { - removeEvent(this._o.field, 'change', this._onInputChange); - if (this._o.bound) { - removeEvent(this._o.trigger, 'click', this._onInputClick); - removeEvent(this._o.trigger, 'focus', this._onInputFocus); - removeEvent(this._o.trigger, 'blur', this._onInputBlur); + if (opts.keyboardInput) { + removeEvent(document, 'keydown', this._onKeyChange); + } + if (opts.field) { + removeEvent(opts.field, 'change', this._onInputChange); + if (opts.bound) { + removeEvent(opts.trigger, 'click', this._onInputClick); + removeEvent(opts.trigger, 'focus', this._onInputFocus); + removeEvent(opts.trigger, 'blur', this._onInputBlur); } } if (this.el.parentNode) { @@ -1232,5 +1303,4 @@ }; return Pikaday; - })); diff --git a/plugins/pikaday.jquery.js b/plugins/pikaday.jquery.js index 3ef70ffa..1a2d6c42 100755 --- a/plugins/pikaday.jquery.js +++ b/plugins/pikaday.jquery.js @@ -1,7 +1,7 @@ /*! * Pikaday jQuery plugin. * - * Copyright © 2013 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday + * Copyright © 2013 David Bushell | BSD & MIT license | https://github.com/Pikaday/Pikaday */ (function (root, factory) diff --git a/scss/pikaday.scss b/scss/pikaday.scss index f129aadd..5e282279 100755 --- a/scss/pikaday.scss +++ b/scss/pikaday.scss @@ -1,6 +1,6 @@ /*! * Pikaday - * Copyright © 2014 David Bushell | BSD & MIT license | http://dbushell.com/ + * Copyright © 2014 David Bushell | BSD & MIT license | https://dbushell.com/ */ // Variables @@ -26,13 +26,22 @@ $pd-day-selected-bg: #33aaff !default; $pd-day-selected-shadow: #178fe5 !default; $pd-day-disabled-color: #999 !default; $pd-week-color: #999 !default; - -// Font +$pd-inrange-color: #666 !default; +$pd-inrange-bg: #D5E9F7 !default; +$pd-startrange-color: #fff !default; +$pd-startrange-bg: #6CB31D !default; +$pd-endrange-color: #fff !default; +$pd-endrange-bg: #33aaff !default; +$pd-event-color: #fff !default; +$pd-event-bg: #33aaff !default; + +$pd-z-index: 9999 !default; $pd-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; +$pd-border-radius: 3px !default; .pika-single { - z-index: 9999; + z-index: $pd-z-index; display: block; position: relative; color: $pd-text-color; @@ -54,8 +63,6 @@ $pd-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; // clear child float (pika-lendar), using the famous micro clearfix hack // http://nicolasgallagher.com/micro-clearfix-hack/ .pika-single { - *zoom: 1; - &:before, &:after { content: " "; @@ -78,20 +85,18 @@ $pd-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; select { cursor: pointer; position: absolute; - z-index: 9998; + z-index: $pd-z-index - 1; margin: 0; left: 0; top: 5px; - filter: alpha(opacity=0); opacity: 0; } } .pika-label { display: inline-block; - *display: inline; position: relative; - z-index: 9999; + z-index: $pd-z-index; overflow: hidden; margin: 0; padding: 5px 3px; @@ -120,8 +125,6 @@ $pd-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; background-repeat: no-repeat; background-size: 75% 75%; opacity: .5; - *position: absolute; - *top: 0; &:hover { opacity: 1; @@ -137,19 +140,16 @@ $pd-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; .is-rtl .pika-next { float: left; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg=='); - *left: 0; } .pika-next, .is-rtl .pika-prev { float: right; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII='); - *right: 0; } .pika-select { display: inline-block; - *display: inline; } .pika-table { @@ -193,6 +193,12 @@ $pd-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; line-height: 15px; text-align: right; background: $pd-day-bg; + height: initial; + + .has-event & { + color: $pd-event-color; + background: $pd-event-bg; + } .is-today & { color: $pd-day-today-color; @@ -204,11 +210,11 @@ $pd-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; font-weight: bold; background: $pd-day-selected-bg; box-shadow: inset 0 1px 3px $pd-day-selected-shadow; - border-radius: 3px; + border-radius: $pd-border-radius; } .is-disabled &, - .is-outside-current-month & { + .is-outside-current-month & { color: $pd-day-disabled-color; opacity: .3; } @@ -222,7 +228,7 @@ $pd-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; color: $pd-day-hover-color; background: $pd-day-hover-bg; box-shadow: none; - border-radius: 3px; + border-radius: $pd-border-radius; } .is-selection-disabled { @@ -237,19 +243,20 @@ $pd-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default; } .is-inrange .pika-button { - background: #D5E9F7; + color: $pd-inrange-color; + background: $pd-inrange-bg; } .is-startrange .pika-button { - color: #fff; - background: #6CB31D; + color: $pd-startrange-color; + background: $pd-startrange-bg; box-shadow: none; - border-radius: 3px; + border-radius: $pd-border-radius; } .is-endrange .pika-button { - color: #fff; - background: #33aaff; + color: $pd-endrange-color; + background: $pd-endrange-bg; box-shadow: none; - border-radius: 3px; -} \ No newline at end of file + border-radius: $pd-border-radius; +} diff --git a/tests/methods.js b/tests/methods.js index 731fadaa..a4441692 100755 --- a/tests/methods.js +++ b/tests/methods.js @@ -127,4 +127,11 @@ describe('Pikaday public method', function () expect(pikaday._o.minDate).to.eql(expected); }); }); + + describe('#render()', function() { + it('starts with the correct week number according to ISO8601', function() { + var pikaday = new Pikaday({showWeekNumber: true}); + expect(pikaday.render(2016, 0)).to.contain('53'); + }); + }); });