diff --git a/dist/daterangepicker.css b/dist/daterangepicker.css
index e101357..3ca56fc 100644
--- a/dist/daterangepicker.css
+++ b/dist/daterangepicker.css
@@ -1,6 +1,6 @@
/*!
* knockout-daterangepicker
- * version: 0.0.9
+ * version: 0.1.0
* authors: Sensor Tower team
* license: MIT
* https://sensortower.github.io/daterangepicker
@@ -10,9 +10,8 @@
position: absolute;
background: white;
box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3);
- -webkit-justify-content: flex-start;
- -ms-flex-pack: start;
- justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
border-radius: 4px;
padding: 4px;
font-size: 13px;
@@ -51,7 +50,6 @@
}
.daterangepicker .periods {
- display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
margin: 0 auto 8px;
@@ -66,15 +64,12 @@
}
.daterangepicker .ranges {
- display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -webkit-flex-direction: column;
- -ms-flex-direction: column;
- flex-direction: column;
- -webkit-align-items: stretch;
- -ms-flex-align: stretch;
- align-items: stretch;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -ms-flex-align: stretch;
+ align-items: stretch;
}
.daterangepicker .ranges li {
@@ -84,7 +79,6 @@
}
.daterangepicker .custom-range-inputs {
- display: -webkit-flex;
display: -ms-flexbox;
display: flex;
margin: -3px;
@@ -94,9 +88,8 @@
.daterangepicker .custom-range-inputs input {
min-width: 50px;
width: 50px;
- -webkit-flex: 1;
- -ms-flex: 1;
- flex: 1;
+ -ms-flex: 1;
+ flex: 1;
margin: 3px;
border-radius: 4px;
border: 1px solid #ccc;
@@ -107,7 +100,6 @@
}
.daterangepicker .custom-range-buttons {
- display: -webkit-flex;
display: -ms-flexbox;
display: flex;
margin: -3px;
@@ -161,8 +153,7 @@
.daterangepicker .arrow-left:before {
border-right-width: 6px;
border-right-color: #333;
- -webkit-transform: translate(-10px, -3.5px);
- transform: translate(-10px, -3.5px);
+ transform: translate(-10px, -3.5px);
}
.daterangepicker .arrow-right {
@@ -172,8 +163,7 @@
.daterangepicker .arrow-right:before {
border-left-width: 6px;
border-left-color: #333;
- -webkit-transform: translate(6px, -3.5px);
- transform: translate(6px, -3.5px);
+ transform: translate(6px, -3.5px);
}
.daterangepicker.orientation-right:not(.standalone):before {
@@ -236,23 +226,20 @@
}
.daterangepicker select.month-select {
- -webkit-flex: 10;
- -ms-flex: 10;
- flex: 10;
+ -ms-flex: 10;
+ flex: 10;
max-width: 75%;
}
.daterangepicker select.year-select {
- -webkit-flex: 11;
- -ms-flex: 11;
- flex: 11;
+ -ms-flex: 11;
+ flex: 11;
max-width: 75%;
}
.daterangepicker select.decade-select {
- -webkit-flex: 11;
- -ms-flex: 11;
- flex: 11;
+ -ms-flex: 11;
+ flex: 11;
max-width: 75%;
}
@@ -292,33 +279,27 @@
}
.calendar .calendar-header {
- display: -webkit-flex;
display: -ms-flexbox;
display: flex;
margin: 0 6px 4px;
}
.calendar .calendar-header .calendar-selects {
- -webkit-flex: 5;
- -ms-flex: 5;
- flex: 5;
+ -ms-flex: 5;
+ flex: 5;
text-align: center;
- display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -webkit-justify-content: center;
- -ms-flex-pack: center;
- justify-content: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -ms-flex-align: center;
+ align-items: center;
padding: 2px;
}
.calendar .calendar-header .arrow {
- -webkit-flex: 1;
- -ms-flex: 1;
- flex: 1;
+ -ms-flex: 1;
+ flex: 1;
text-align: center;
}
@@ -332,42 +313,32 @@
border-radius: 4px;
overflow: hidden;
padding: 5px;
- display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -webkit-align-content: stretch;
- -ms-flex-line-pack: stretch;
- align-content: stretch;
- -webkit-justify-content: space-around;
- -ms-flex-pack: distribute;
- justify-content: space-around;
- -webkit-flex-direction: column;
- -ms-flex-direction: column;
- flex-direction: column;
+ -ms-flex-line-pack: stretch;
+ align-content: stretch;
+ -ms-flex-pack: distribute;
+ justify-content: space-around;
+ -ms-flex-direction: column;
+ flex-direction: column;
}
.calendar .calendar-table .table-row {
- display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -webkit-align-content: stretch;
- -ms-flex-line-pack: stretch;
- align-content: stretch;
- -webkit-justify-content: space-around;
- -ms-flex-pack: distribute;
- justify-content: space-around;
- -webkit-flex: 1;
- -ms-flex: 1;
- flex: 1;
+ -ms-flex-line-pack: stretch;
+ align-content: stretch;
+ -ms-flex-pack: distribute;
+ justify-content: space-around;
+ -ms-flex: 1;
+ flex: 1;
}
.calendar .calendar-table .table-row .table-col {
- display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -webkit-flex: 1;
- -ms-flex: 1;
- flex: 1;
+ -ms-flex: 1;
+ flex: 1;
text-align: center;
line-height: 1;
cursor: default;
@@ -378,21 +349,17 @@
}
.calendar .calendar-table .table-row .table-col .table-value-wrapper {
- display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -webkit-flex: 1;
- -ms-flex: 1;
- flex: 1;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ -ms-flex: 1;
+ flex: 1;
+ -ms-flex-align: center;
+ align-items: center;
}
.calendar .calendar-table .table-row .table-col .table-value-wrapper .table-value {
- -webkit-flex: 1;
- -ms-flex: 1;
- flex: 1;
+ -ms-flex: 1;
+ flex: 1;
}
.calendar .calendar-table .table-row .table-col.out-of-boundaries, .calendar .calendar-table .table-row .table-col.unavailable,
@@ -435,9 +402,8 @@
}
.calendar .calendar-table .table-row .table-col .week-day {
- -webkit-flex: 1;
- -ms-flex: 1;
- flex: 1;
+ -ms-flex: 1;
+ flex: 1;
text-align: center;
}
@@ -446,7 +412,6 @@
}
.daterangepicker.opened {
- display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
}
@@ -476,9 +441,8 @@
}
.daterangepicker.single {
- -webkit-flex-direction: column;
- -ms-flex-direction: column;
- flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
}
.daterangepicker.single .ranges,
@@ -489,12 +453,10 @@
}
.daterangepicker.single .controls {
- display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -webkit-justify-content: center;
- -ms-flex-pack: center;
- justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
}
.daterangepicker.single .controls .periods {
@@ -524,9 +486,8 @@
}
.daterangepicker.quarter-period .table-col {
- -webkit-flex-direction: column;
- -ms-flex-direction: column;
- flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
font-size: 2em;
}
@@ -536,7 +497,6 @@
}
.daterangepicker.orientation-left:not(.single) .controls {
- -webkit-order: 2;
- -ms-flex-order: 2;
- order: 2;
+ -ms-flex-order: 2;
+ order: 2;
}
diff --git a/dist/daterangepicker.js b/dist/daterangepicker.js
index 99cdf8f..721791f 100644
--- a/dist/daterangepicker.js
+++ b/dist/daterangepicker.js
@@ -1,6 +1,6 @@
/*!
* knockout-daterangepicker
- * version: 0.0.9
+ * version: 0.1.0
* authors: Sensor Tower team
* license: MIT
* https://sensortower.github.io/daterangepicker
@@ -289,6 +289,7 @@
this.firstDayOfWeek = this._firstDayOfWeek(options.firstDayOfWeek);
this.timeZone = this._timeZone(options.timeZone);
this.periods = this._periods(options.periods);
+ this.customPeriodRanges = this._customPeriodRanges(options.customPeriodRanges);
this.period = this._period(options.period);
this.single = this._single(options.single);
this.opened = this._opened(options.opened);
@@ -303,6 +304,7 @@
this.startDate = this._startDate(options.startDate);
this.endDate = this._endDate(options.endDate);
this.ranges = this._ranges(options.ranges);
+ this.isCustomPeriodRangeActive = ko.observable(false);
this.anchorElement = this._anchorElement(options.anchorElement);
this.parentElement = this._parentElement(options.parentElement);
this.callback = this._callback(options.callback);
@@ -313,10 +315,11 @@
}
Config.prototype.extend = function(obj) {
- var k, results, v;
+ var k, ref, results, v;
+ ref = this;
results = [];
- for (k in this) {
- v = this[k];
+ for (k in ref) {
+ v = ref[k];
if (this.hasOwnProperty(k) && k[0] !== '_') {
results.push(obj[k] = v);
}
@@ -336,6 +339,17 @@
return ko.observableArray(val || Period.allPeriods);
};
+ Config.prototype._customPeriodRanges = function(obj) {
+ var results, title, value;
+ obj || (obj = {});
+ results = [];
+ for (title in obj) {
+ value = obj[title];
+ results.push(this.parseRange(value, title));
+ }
+ return results;
+ };
+
Config.prototype._period = function(val) {
val || (val = this.periods()[0]);
if (val !== 'day' && val !== 'week' && val !== 'month' && val !== 'quarter' && val !== 'year') {
@@ -393,7 +407,7 @@
};
Config.prototype._ranges = function(obj) {
- var endDate, from, results, startDate, title, to, value;
+ var results, title, value;
obj || (obj = this._defaultRanges());
if (!$.isPlainObject(obj)) {
throw new Error('Invalid ranges parameter (should be a plain object)');
@@ -409,30 +423,35 @@
results.push(new CustomDateRange(title));
break;
default:
- if (!$.isArray(value)) {
- throw new Error('Value should be an array');
- }
- startDate = value[0], endDate = value[1];
- if (!startDate) {
- throw new Error('Missing start date');
- }
- if (!endDate) {
- throw new Error('Missing end date');
- }
- from = MomentUtil.tz(startDate, this.timeZone());
- to = MomentUtil.tz(endDate, this.timeZone());
- if (!from.isValid()) {
- throw new Error('Invalid start date');
- }
- if (!to.isValid()) {
- throw new Error('Invalid end date');
- }
- results.push(new DateRange(title, from, to));
+ results.push(this.parseRange(value, title));
}
}
return results;
};
+ Config.prototype.parseRange = function(value, title) {
+ var endDate, from, startDate, to;
+ if (!$.isArray(value)) {
+ throw new Error('Value should be an array');
+ }
+ startDate = value[0], endDate = value[1];
+ if (!startDate) {
+ throw new Error('Missing start date');
+ }
+ if (!endDate) {
+ throw new Error('Missing end date');
+ }
+ from = MomentUtil.tz(startDate, this.timeZone());
+ to = MomentUtil.tz(endDate, this.timeZone());
+ if (!from.isValid()) {
+ throw new Error('Invalid start date');
+ }
+ if (!to.isValid()) {
+ throw new Error('Invalid end date');
+ }
+ return new DateRange(title, from, to);
+ };
+
Config.prototype._locale = function(val) {
return $.extend({
applyButtonTitle: 'Apply',
@@ -758,6 +777,7 @@
this.locale = mainView.locale;
this.startDate = mainView.startDate;
this.endDate = mainView.endDate;
+ this.isCustomPeriodRangeActive = mainView.isCustomPeriodRangeActive;
this.type = type;
this.label = mainView.locale[type + "Label"] || '';
this.hoverDate = ko.observable(null);
@@ -919,8 +939,8 @@
"in-range": !this.single() && (inRange || onRangeEnd)
},
obj1[this.type + "-date"] = onRangeEnd,
- obj1["clickable"] = withinBoundaries,
- obj1["out-of-boundaries"] = !withinBoundaries,
+ obj1["clickable"] = withinBoundaries && !this.isCustomPeriodRangeActive(),
+ obj1["out-of-boundaries"] = !withinBoundaries || this.isCustomPeriodRangeActive(),
obj1["unavailable"] = periodIsDay && differentMonth,
obj1
);
@@ -946,6 +966,7 @@
options = {};
}
this.outsideClick = bind(this.outsideClick, this);
+ this.setCustomPeriodRange = bind(this.setCustomPeriodRange, this);
this.setDateRange = bind(this.setDateRange, this);
new Config(options).extend(this);
this.startCalendar = new CalendarView(this, this.startDate, 'start');
@@ -1024,7 +1045,7 @@
expanded: this.standalone() || this.single() || this.expanded(),
standalone: this.standalone(),
'hide-weekdays': this.hideWeekdays(),
- 'hide-periods': this.periods().length === 1,
+ 'hide-periods': (this.periods().length + this.customPeriodRanges.length) === 1,
'orientation-left': this.orientation() === 'left',
'orientation-right': this.orientation() === 'right'
};
@@ -1056,11 +1077,16 @@
}
};
+ DateRangePickerView.prototype.isActiveCustomPeriodRange = function(customPeriodRange) {
+ return this.isActiveDateRange(customPeriodRange) && this.isCustomPeriodRangeActive();
+ };
+
DateRangePickerView.prototype.inputFocus = function() {
return this.expanded(true);
};
DateRangePickerView.prototype.setPeriod = function(period) {
+ this.isCustomPeriodRangeActive(false);
this.period(period);
return this.expanded(true);
};
@@ -1078,6 +1104,11 @@
}
};
+ DateRangePickerView.prototype.setCustomPeriodRange = function(customPeriodRange) {
+ this.isCustomPeriodRangeActive(true);
+ return this.setDateRange(customPeriodRange);
+ };
+
DateRangePickerView.prototype.applyChanges = function() {
this.close();
return this.updateDateRange();
@@ -1157,7 +1188,7 @@
})();
- DateRangePickerView.template = '
';
+ DateRangePickerView.template = '';
$.extend($.fn.daterangepicker, {
ArrayUtils: ArrayUtils,
diff --git a/dist/daterangepicker.min.css b/dist/daterangepicker.min.css
index 627229b..ad0a5e3 100644
--- a/dist/daterangepicker.min.css
+++ b/dist/daterangepicker.min.css
@@ -1,7 +1,7 @@
/*!
* knockout-daterangepicker
- * version: 0.0.9
+ * version: 0.1.0
* authors: Sensor Tower team
* license: MIT
* https://sensortower.github.io/daterangepicker
- */.daterangepicker{display:none;position:absolute;background:#fff;box-shadow:0 2px 15px rgba(0,0,0,.3);-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;border-radius:4px;padding:4px;font-size:13px;font-family:sans-serif;line-height:1.5em}.daterangepicker button,.daterangepicker form,.daterangepicker li,.daterangepicker ul{padding:0;margin:0;border:0;list-style:none;outline:0}.daterangepicker .controls{min-width:180px;margin:4px}.daterangepicker .periods li,.daterangepicker .ranges li{padding:4px 9px;margin:0;background:#f5f5f5;color:#08c;cursor:pointer}.daterangepicker .periods li.active,.daterangepicker .periods li:hover,.daterangepicker .ranges li.active,.daterangepicker .ranges li:hover{background:#08c;color:#fff}.daterangepicker .periods{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;margin:0 auto 8px}.daterangepicker .periods li:first-child{border-radius:4px 0 0 4px}.daterangepicker .periods li:last-child{border-radius:0 4px 4px 0}.daterangepicker .ranges{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.daterangepicker .ranges li{border-radius:4px;margin-bottom:8px;text-align:left}.daterangepicker .custom-range-inputs{display:-webkit-flex;display:-ms-flexbox;display:flex;margin:-3px -3px 5px}.daterangepicker .custom-range-inputs input{min-width:50px;width:50px;-webkit-flex:1;-ms-flex:1;flex:1;margin:3px;border-radius:4px;border:1px solid #ccc;height:auto;padding:.5em;font-size:13px;color:#333}.daterangepicker .custom-range-buttons{display:-webkit-flex;display:-ms-flexbox;display:flex;margin:-3px}.daterangepicker .custom-range-buttons button{padding:4px 9px;margin:3px;border-radius:4px;background:#f5f5f5;color:#08c}.daterangepicker .custom-range-buttons button:hover{background:#dcdcdc}.daterangepicker .custom-range-buttons button.apply-btn{background:#38A551;color:#fff}.daterangepicker .custom-range-buttons button.apply-btn:hover{background:#2b7f3e}.daterangepicker .arrow-left,.daterangepicker .arrow-right{display:inline-block;position:relative;background-color:#333;width:7px;height:3px;margin-bottom:2px;vertical-align:middle}.daterangepicker .arrow-left:before,.daterangepicker .arrow-right:before{content:'';display:block;position:absolute;border:5px solid transparent}.daterangepicker .arrow-left{margin-left:5px}.daterangepicker .arrow-left:before{border-right-width:6px;border-right-color:#333;-webkit-transform:translate(-10px,-3.5px);transform:translate(-10px,-3.5px)}.daterangepicker .arrow-right{margin-right:5px}.daterangepicker .arrow-right:before{border-left-width:6px;border-left-color:#333;-webkit-transform:translate(6px,-3.5px);transform:translate(6px,-3.5px)}.daterangepicker.orientation-left:not(.standalone):before,.daterangepicker.orientation-right:not(.standalone):before{position:absolute;top:-7px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.2);border-left:7px solid transparent}.daterangepicker.orientation-right:not(.standalone):before{left:9px;content:''}.daterangepicker.orientation-left:not(.standalone):before{right:9px;content:''}.daterangepicker.orientation-left:not(.standalone):after,.daterangepicker.orientation-right:not(.standalone):after{position:absolute;top:-6px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.daterangepicker.orientation-right:not(.standalone):after{left:10px}.daterangepicker.orientation-left:not(.standalone):after{right:10px}.calendar,.daterangepicker select.hidden{display:none}.daterangepicker select{width:100%;box-sizing:border-box;padding:2px 7px;height:auto;font-size:13px;line-height:1.5em;text-align:center;margin:0 2px}.daterangepicker select.month-select{-webkit-flex:10;-ms-flex:10;flex:10;max-width:75%}.daterangepicker select.decade-select,.daterangepicker select.year-select{-webkit-flex:11;-ms-flex:11;flex:11;max-width:75%}.calendar{margin:4px}.calendar .calendar-header,.calendar .calendar-table{min-width:190px;margin-left:auto;margin-right:auto}.calendar .calendar-title{padding:4px 9px;margin:0 auto 8px;text-align:center;display:block}.calendar .calendar-header button{margin:0;padding:4px 0;width:100%;border-radius:4px;background:0 0}.calendar .calendar-header button:hover{background:#f5f5f5}.calendar .calendar-header{display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 6px 4px}.calendar .calendar-header .calendar-selects{-webkit-flex:5;-ms-flex:5;flex:5;text-align:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:2px}.calendar .calendar-header .arrow{-webkit-flex:1;-ms-flex:1;flex:1;text-align:center}.calendar .calendar-header .arrow.arrow-hidden{visibility:hidden}.calendar .calendar-table{height:180px;border:1px solid #f5f5f5;border-radius:4px;overflow:hidden;padding:5px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.calendar .calendar-table .table-row{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;-webkit-flex:1;-ms-flex:1;flex:1}.calendar .calendar-table .table-row .table-col{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;text-align:center;line-height:1;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.calendar .calendar-table .table-row .table-col .table-value-wrapper{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.calendar .calendar-table .table-row .table-col .table-value-wrapper .table-value{-webkit-flex:1;-ms-flex:1;flex:1}.calendar .calendar-table .table-row .table-col .week-day.unavailable,.calendar .calendar-table .table-row .table-col.out-of-boundaries,.calendar .calendar-table .table-row .table-col.unavailable{color:#bbb}.calendar .calendar-table .table-row .table-col.in-range{background:rgba(0,136,204,.1)}.calendar .calendar-table .table-row .table-col.clickable{cursor:pointer}.calendar .calendar-table .table-row .table-col.clickable:hover .table-value-wrapper{background:#eee;border-radius:4px}.calendar .calendar-table .table-row .table-col.end-date .table-value-wrapper,.calendar .calendar-table .table-row .table-col.start-date .table-value-wrapper{border-radius:4px}.calendar .calendar-table .table-row .table-col.end-date .table-value-wrapper,.calendar .calendar-table .table-row .table-col.end-date .table-value-wrapper:hover,.calendar .calendar-table .table-row .table-col.start-date .table-value-wrapper,.calendar .calendar-table .table-row .table-col.start-date .table-value-wrapper:hover{background:#08c;color:#fff}.calendar .calendar-table .table-row .table-col.end-date.out-of-boundaries .table-value-wrapper,.calendar .calendar-table .table-row .table-col.end-date.out-of-boundaries .table-value-wrapper:hover,.calendar .calendar-table .table-row .table-col.start-date.out-of-boundaries .table-value-wrapper,.calendar .calendar-table .table-row .table-col.start-date.out-of-boundaries .table-value-wrapper:hover{background:#bbb}.calendar .calendar-table .table-row .table-col.start-date{border-radius:4px 0 0 4px}.calendar .calendar-table .table-row .table-col.end-date{border-radius:0 4px 4px 0}.calendar .calendar-table .table-row .table-col .week-day{-webkit-flex:1;-ms-flex:1;flex:1;text-align:center}.calendar .calendar-table .table-row.weekdays .table-col{font-weight:700}.daterangepicker.opened{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.daterangepicker.expanded .calendar{display:block}.daterangepicker.hide-periods .calendar .calendar-title,.daterangepicker.hide-periods .periods,.daterangepicker.hide-weekdays .weekdays,.daterangepicker.single .calendar .calendar-title,.daterangepicker.single .custom-range-buttons,.daterangepicker.single .custom-range-inputs,.daterangepicker.single .ranges,.daterangepicker.standalone .custom-range-buttons{display:none}.daterangepicker.standalone{position:static}.daterangepicker.single{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.daterangepicker.single .controls{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.daterangepicker.single .controls .periods{margin-bottom:0}.daterangepicker.single .calendar .calendar-header{margin-left:0;margin-right:0}.daterangepicker.single .calendar .calendar-table{border:none;padding:0}.daterangepicker.single.hide-periods .controls{display:none}.daterangepicker.month-period .table-col,.daterangepicker.year-period .table-col{font-size:1.25em}.daterangepicker.quarter-period .table-col{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-size:2em}.daterangepicker.quarter-period .table-col .months{font-size:.5em;opacity:.75}.daterangepicker.orientation-left:not(.single) .controls{-webkit-order:2;-ms-flex-order:2;order:2}
\ No newline at end of file
+ */.daterangepicker{display:none;position:absolute;background:#fff;box-shadow:0 2px 15px rgba(0,0,0,.3);-ms-flex-pack:start;justify-content:flex-start;border-radius:4px;padding:4px;font-size:13px;font-family:sans-serif;line-height:1.5em}.daterangepicker button,.daterangepicker form,.daterangepicker li,.daterangepicker ul{padding:0;margin:0;border:0;list-style:none;outline:0}.daterangepicker .controls{min-width:180px;margin:4px}.daterangepicker .periods li,.daterangepicker .ranges li{padding:4px 9px;margin:0;background:#f5f5f5;color:#08c;cursor:pointer}.daterangepicker .periods li.active,.daterangepicker .periods li:hover,.daterangepicker .ranges li.active,.daterangepicker .ranges li:hover{background:#08c;color:#fff}.daterangepicker .periods{display:-ms-inline-flexbox;display:inline-flex;margin:0 auto 8px}.daterangepicker .periods li:first-child{border-radius:4px 0 0 4px}.daterangepicker .periods li:last-child{border-radius:0 4px 4px 0}.daterangepicker .ranges{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}.daterangepicker .ranges li{border-radius:4px;margin-bottom:8px;text-align:left}.daterangepicker .custom-range-inputs{display:-ms-flexbox;display:flex;margin:-3px -3px 5px}.daterangepicker .custom-range-inputs input{min-width:50px;width:50px;-ms-flex:1;flex:1;margin:3px;border-radius:4px;border:1px solid #ccc;height:auto;padding:.5em;font-size:13px;color:#333}.daterangepicker .custom-range-buttons{display:-ms-flexbox;display:flex;margin:-3px}.daterangepicker .custom-range-buttons button{padding:4px 9px;margin:3px;border-radius:4px;background:#f5f5f5;color:#08c}.daterangepicker .custom-range-buttons button:hover{background:#dcdcdc}.daterangepicker .custom-range-buttons button.apply-btn{background:#38A551;color:#fff}.daterangepicker .custom-range-buttons button.apply-btn:hover{background:#2b7f3e}.daterangepicker .arrow-left,.daterangepicker .arrow-right{display:inline-block;position:relative;background-color:#333;width:7px;height:3px;margin-bottom:2px;vertical-align:middle}.daterangepicker .arrow-left:before,.daterangepicker .arrow-right:before{content:'';display:block;position:absolute;border:5px solid transparent}.daterangepicker .arrow-left{margin-left:5px}.daterangepicker .arrow-left:before{border-right-width:6px;border-right-color:#333;transform:translate(-10px,-3.5px)}.daterangepicker .arrow-right{margin-right:5px}.daterangepicker .arrow-right:before{border-left-width:6px;border-left-color:#333;transform:translate(6px,-3.5px)}.daterangepicker.orientation-left:not(.standalone):before,.daterangepicker.orientation-right:not(.standalone):before{position:absolute;top:-7px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.2);border-left:7px solid transparent}.daterangepicker.orientation-right:not(.standalone):before{left:9px;content:''}.daterangepicker.orientation-left:not(.standalone):before{right:9px;content:''}.daterangepicker.orientation-left:not(.standalone):after,.daterangepicker.orientation-right:not(.standalone):after{position:absolute;top:-6px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.daterangepicker.orientation-right:not(.standalone):after{left:10px}.daterangepicker.orientation-left:not(.standalone):after{right:10px}.calendar,.daterangepicker select.hidden{display:none}.daterangepicker select{width:100%;box-sizing:border-box;padding:2px 7px;height:auto;font-size:13px;line-height:1.5em;text-align:center;margin:0 2px}.daterangepicker select.month-select{-ms-flex:10;flex:10;max-width:75%}.daterangepicker select.decade-select,.daterangepicker select.year-select{-ms-flex:11;flex:11;max-width:75%}.calendar{margin:4px}.calendar .calendar-header,.calendar .calendar-table{min-width:190px;margin-left:auto;margin-right:auto}.calendar .calendar-title{padding:4px 9px;margin:0 auto 8px;text-align:center;display:block}.calendar .calendar-header button{margin:0;padding:4px 0;width:100%;border-radius:4px;background:0 0}.calendar .calendar-header button:hover{background:#f5f5f5}.calendar .calendar-header{display:-ms-flexbox;display:flex;margin:0 6px 4px}.calendar .calendar-header .calendar-selects{-ms-flex:5;flex:5;text-align:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;padding:2px}.calendar .calendar-header .arrow{-ms-flex:1;flex:1;text-align:center}.calendar .calendar-header .arrow.arrow-hidden{visibility:hidden}.calendar .calendar-table{height:180px;border:1px solid #f5f5f5;border-radius:4px;overflow:hidden;padding:5px;display:-ms-flexbox;display:flex;-ms-flex-line-pack:stretch;align-content:stretch;-ms-flex-pack:distribute;justify-content:space-around;-ms-flex-direction:column;flex-direction:column}.calendar .calendar-table .table-row{display:-ms-flexbox;display:flex;-ms-flex-line-pack:stretch;align-content:stretch;-ms-flex-pack:distribute;justify-content:space-around;-ms-flex:1;flex:1}.calendar .calendar-table .table-row .table-col{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;text-align:center;line-height:1;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.calendar .calendar-table .table-row .table-col .table-value-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center}.calendar .calendar-table .table-row .table-col .table-value-wrapper .table-value{-ms-flex:1;flex:1}.calendar .calendar-table .table-row .table-col .week-day.unavailable,.calendar .calendar-table .table-row .table-col.out-of-boundaries,.calendar .calendar-table .table-row .table-col.unavailable{color:#bbb}.calendar .calendar-table .table-row .table-col.in-range{background:rgba(0,136,204,.1)}.calendar .calendar-table .table-row .table-col.clickable{cursor:pointer}.calendar .calendar-table .table-row .table-col.clickable:hover .table-value-wrapper{background:#eee;border-radius:4px}.calendar .calendar-table .table-row .table-col.end-date .table-value-wrapper,.calendar .calendar-table .table-row .table-col.start-date .table-value-wrapper{border-radius:4px}.calendar .calendar-table .table-row .table-col.end-date .table-value-wrapper,.calendar .calendar-table .table-row .table-col.end-date .table-value-wrapper:hover,.calendar .calendar-table .table-row .table-col.start-date .table-value-wrapper,.calendar .calendar-table .table-row .table-col.start-date .table-value-wrapper:hover{background:#08c;color:#fff}.calendar .calendar-table .table-row .table-col.end-date.out-of-boundaries .table-value-wrapper,.calendar .calendar-table .table-row .table-col.end-date.out-of-boundaries .table-value-wrapper:hover,.calendar .calendar-table .table-row .table-col.start-date.out-of-boundaries .table-value-wrapper,.calendar .calendar-table .table-row .table-col.start-date.out-of-boundaries .table-value-wrapper:hover{background:#bbb}.calendar .calendar-table .table-row .table-col.start-date{border-radius:4px 0 0 4px}.calendar .calendar-table .table-row .table-col.end-date{border-radius:0 4px 4px 0}.calendar .calendar-table .table-row .table-col .week-day{-ms-flex:1;flex:1;text-align:center}.calendar .calendar-table .table-row.weekdays .table-col{font-weight:700}.daterangepicker.opened{display:-ms-inline-flexbox;display:inline-flex}.daterangepicker.expanded .calendar{display:block}.daterangepicker.hide-periods .calendar .calendar-title,.daterangepicker.hide-periods .periods,.daterangepicker.hide-weekdays .weekdays,.daterangepicker.single .calendar .calendar-title,.daterangepicker.single .custom-range-buttons,.daterangepicker.single .custom-range-inputs,.daterangepicker.single .ranges,.daterangepicker.standalone .custom-range-buttons{display:none}.daterangepicker.standalone{position:static}.daterangepicker.single{-ms-flex-direction:column;flex-direction:column}.daterangepicker.single .controls{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.daterangepicker.single .controls .periods{margin-bottom:0}.daterangepicker.single .calendar .calendar-header{margin-left:0;margin-right:0}.daterangepicker.single .calendar .calendar-table{border:none;padding:0}.daterangepicker.single.hide-periods .controls{display:none}.daterangepicker.month-period .table-col,.daterangepicker.year-period .table-col{font-size:1.25em}.daterangepicker.quarter-period .table-col{-ms-flex-direction:column;flex-direction:column;font-size:2em}.daterangepicker.quarter-period .table-col .months{font-size:.5em;opacity:.75}.daterangepicker.orientation-left:not(.single) .controls{-ms-flex-order:2;order:2}
\ No newline at end of file
diff --git a/dist/daterangepicker.min.js b/dist/daterangepicker.min.js
index 7610d16..e97c228 100644
--- a/dist/daterangepicker.min.js
+++ b/dist/daterangepicker.min.js
@@ -1,8 +1,8 @@
/*!
* knockout-daterangepicker
- * version: 0.0.9
+ * version: 0.1.0
* authors: Sensor Tower team
* license: MIT
* https://sensortower.github.io/daterangepicker
*/
-(function(){var t,e,n,a,r,i,o,s,c,u,d,l=function(t,e){function n(){this.constructor=t}for(var a in e)h.call(e,a)&&(t[a]=e[a]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},h={}.hasOwnProperty,p=function(t,e){return function(){return t.apply(e,arguments)}};u=function(){function t(){}return t.patchCurrentLocale=function(t){return moment.locale(moment.locale(),t)},t.setFirstDayOfTheWeek=function(t){var e;return t=(t%7+7)%7,moment.localeData().firstDayOfWeek()!==t?(e=t-moment.localeData().firstDayOfWeek(),this.patchCurrentLocale({week:{dow:t,doy:moment.localeData().firstDayOfYear()}})):void 0},t.tz=function(t){var e,n;return e=Array.prototype.slice.call(arguments,0,-1),n=arguments[arguments.length-1],moment.tz?moment.tz.apply(null,e.concat([n])):n&&"utc"===n.toLowerCase()?moment.utc.apply(null,e):moment.apply(null,e)},t}(),c=function(){function t(t,e){this.date=t.clone(),this.period=e}return t.array=function(t,e,n){var a,r,i,o,s;for(r=new this(t,n),s=[],a=i=0,o=e-1;o>=0?o>=i:i>=o;a=o>=0?++i:--i)s.push(r.next());return s},t.prototype.next=function(){var t;return t=this.date,this.date=t.clone().add(1,this.period),t.clone()},t}(),e=function(){function t(){}return t.rotateArray=function(t,e){return e%=t.length,t.slice(e).concat(t.slice(0,e))},t.uniqArray=function(t){var e,n,a,r;for(r=[],n=0,a=t.length;a>n;n++)e=t[n],-1===r.indexOf(e)&&r.push(e);return r},t}(),$.fn.daterangepicker=function(t,e){return null==t&&(t={}),this.each(function(){var n;return n=$(this),n.data("daterangepicker")?void 0:(t.anchorElement=n,e&&(t.callback=e),t.callback=$.proxy(t.callback,this),n.data("daterangepicker",new s(t)))}),this},ko.bindingHandlers.stopBinding={init:function(){return{controlsDescendantBindings:!0}}},ko.virtualElements.allowedBindings.stopBinding=!0,ko.bindingHandlers.daterangepicker=function(){return $.extend(this,{_optionsKey:"daterangepickerOptions",_formatKey:"daterangepickerFormat",init:function(t,e,n){var a,r;return a=e(),r=ko.unwrap(n.get(this._optionsKey))||{},$(t).daterangepicker(r,function(t,e,n){return a([t,e])})},update:function(t,e,n){var a,r,i,o,s,c,u;return a=$(t),s=e()(),c=s[0],i=s[1],r=ko.unwrap(n.get(this._formatKey))||"MMM D, YYYY",u=moment(c).format(r),o=moment(i).format(r),ko.ignoreDependencies(function(){var t;return a.data("daterangepicker").standalone()||(t=a.data("daterangepicker").single()?u:u+" – "+o,a.val(t).text(t)),a.data("daterangepicker").startDate(c),a.data("daterangepicker").endDate(i)})}})}(),o=function(){function t(t,e,n){this.title=t,this.startDate=e,this.endDate=n}return t}(),t=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return l(e,t),e}(o),i=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return l(e,t),e}(o),d=function(){function t(){}return t.allPeriods=["day","week","month","quarter","year"],t.scale=function(t){return"day"===t||"week"===t?"month":"year"},t.showWeekDayNames=function(t){return"day"===t||"week"===t?!0:!1},t.nextPageArguments=function(t){var e,n;return e="year"===t?9:1,n=this.scale(t),[e,n]},t.format=function(t){switch(t){case"day":case"week":return"D";case"month":return"MMM";case"quarter":return"\\QQ";case"year":return"YYYY"}},t.title=function(t){switch(t){case"day":return"Day";case"week":return"Week";case"month":return"Month";case"quarter":return"Quarter";case"year":return"Year"}},t.dimentions=function(t){switch(t){case"day":return[7,6];case"week":return[1,6];case"month":return[3,4];case"quarter":return[2,2];case"year":return[3,3]}},t.methods=["scale","showWeekDayNames","nextPageArguments","format","title","dimentions"],t.extendObservable=function(e){return this.methods.forEach(function(n){return e[n]=function(){return t[n](e())}}),e},t}(),r=function(){function e(t){null==t&&(t={}),this.firstDayOfWeek=this._firstDayOfWeek(t.firstDayOfWeek),this.timeZone=this._timeZone(t.timeZone),this.periods=this._periods(t.periods),this.period=this._period(t.period),this.single=this._single(t.single),this.opened=this._opened(t.opened),this.expanded=this._expanded(t.expanded),this.standalone=this._standalone(t.standalone),this.hideWeekdays=this._hideWeekdays(t.hideWeekdays),this.locale=this._locale(t.locale),this.orientation=this._orientation(t.orientation),this.forceUpdate=t.forceUpdate,this.minDate=this._minDate(t.minDate),this.maxDate=this._maxDate(t.maxDate),this.startDate=this._startDate(t.startDate),this.endDate=this._endDate(t.endDate),this.ranges=this._ranges(t.ranges),this.anchorElement=this._anchorElement(t.anchorElement),this.parentElement=this._parentElement(t.parentElement),this.callback=this._callback(t.callback),this.firstDayOfWeek.subscribe(function(t){return u.setFirstDayOfTheWeek(t)}),u.setFirstDayOfTheWeek(this.firstDayOfWeek())}return e.prototype.extend=function(t){var e,n,a;n=[];for(e in this)a=this[e],this.hasOwnProperty(e)&&"_"!==e[0]&&n.push(t[e]=a);return n},e.prototype._firstDayOfWeek=function(t){return ko.observable(t?t:0)},e.prototype._timeZone=function(t){return ko.observable(t||"UTC")},e.prototype._periods=function(t){return ko.observableArray(t||d.allPeriods)},e.prototype._period=function(t){if(t||(t=this.periods()[0]),"day"!==t&&"week"!==t&&"month"!==t&&"quarter"!==t&&"year"!==t)throw new Error("Invalid period");return d.extendObservable(ko.observable(t))},e.prototype._single=function(t){return ko.observable(t||!1)},e.prototype._opened=function(t){return ko.observable(t||!1)},e.prototype._expanded=function(t){return ko.observable(t||!1)},e.prototype._standalone=function(t){return ko.observable(t||!1)},e.prototype._hideWeekdays=function(t){return ko.observable(t||!1)},e.prototype._minDate=function(t){var e,n;return t instanceof Array&&(n=t,t=n[0],e=n[1]),t||(t=moment().subtract(30,"years")),this._dateObservable(t,e)},e.prototype._maxDate=function(t){var e,n;return t instanceof Array&&(n=t,t=n[0],e=n[1]),t||(t=moment()),this._dateObservable(t,e,this.minDate)},e.prototype._startDate=function(t){return t||(t=moment().subtract(29,"days")),this._dateObservable(t,null,this.minDate,this.maxDate)},e.prototype._endDate=function(t){return t||(t=moment()),this._dateObservable(t,null,this.startDate,this.maxDate)},e.prototype._ranges=function(e){var n,a,r,s,c,d,l;if(e||(e=this._defaultRanges()),!$.isPlainObject(e))throw new Error("Invalid ranges parameter (should be a plain object)");r=[];for(c in e)switch(l=e[c]){case"all-time":r.push(new t(c,this.minDate().clone(),this.maxDate().clone()));break;case"custom":r.push(new i(c));break;default:if(!$.isArray(l))throw new Error("Value should be an array");if(s=l[0],n=l[1],!s)throw new Error("Missing start date");if(!n)throw new Error("Missing end date");if(a=u.tz(s,this.timeZone()),d=u.tz(n,this.timeZone()),!a.isValid())throw new Error("Invalid start date");if(!d.isValid())throw new Error("Invalid end date");r.push(new o(c,a,d))}return r},e.prototype._locale=function(t){return $.extend({applyButtonTitle:"Apply",cancelButtonTitle:"Cancel",inputFormat:"L",startLabel:"Start",endLabel:"End"},t||{})},e.prototype._orientation=function(t){if(t||(t="right"),"right"!==t&&"left"!==t)throw new Error("Invalid orientation");return ko.observable(t)},e.prototype._dateObservable=function(t,e,n,a){var r,i,o,s;return s=ko.observable(),r=ko.computed({read:function(){return s()},write:function(t){return function(t){var e;return t=r.fit(t),e=s(),e&&t.isSame(e)?void 0:s(t)}}(this)}),r.mode=e||"inclusive",o=function(t){return function(e){var a;if(n){switch(a=n(),n.mode){case"extended":a=a.clone().startOf(t.period());break;case"exclusive":a=a.clone().endOf(t.period()).add(1,"millisecond")}e=moment.max(a,e)}return e}}(this),i=function(t){return function(e){var n;if(a){switch(n=a(),a.mode){case"extended":n=n.clone().endOf(t.period());break;case"exclusive":n=n.clone().startOf(t.period()).subtract(1,"millisecond")}e=moment.min(n,e)}return e}}(this),r.fit=function(t){return function(e){return e=u.tz(e,t.timeZone()),i(o(e))}}(this),r(t),r.clone=function(t){return function(){return t._dateObservable(s(),r.mode,n,a)}}(this),r.isWithinBoundaries=function(t){return function(e){var r,i,o,s,c,d,l;return e=u.tz(e,t.timeZone()),s=n(),i=a(),r=e.isBetween(s,i,t.period()),l=e.isSame(s,t.period()),d=e.isSame(i,t.period()),c="exclusive"===n.mode,o="exclusive"===a.mode,r||!c&&l&&!(o&&d)||!o&&d&&!(c&&l)}}(this),n&&(r.minBoundary=n,n.subscribe(function(){return r(s())})),a&&(r.maxBoundary=a,a.subscribe(function(){return r(s())})),r},e.prototype._defaultRanges=function(){return{"Last 30 days":[moment().subtract(29,"days"),moment()],"Last 90 days":[moment().subtract(89,"days"),moment()],"Last Year":[moment().subtract(1,"year").add(1,"day"),moment()],"All Time":"all-time","Custom Range":"custom"}},e.prototype._anchorElement=function(t){return $(t)},e.prototype._parentElement=function(t){return $(t||(this.standalone()?this.anchorElement:"body"))},e.prototype._callback=function(t){if(t&&!$.isFunction(t))throw new Error("Invalid callback (not a function)");return t},e}(),n=function(){function t(t){this.clickNextButton=p(this.clickNextButton,this),this.clickPrevButton=p(this.clickPrevButton,this),this.currentDate=t.currentDate,this.period=t.period,this.timeZone=t.timeZone,this.firstDate=t.firstDate,this.firstYearOfDecade=t.firstYearOfDecade,this.prevDate=ko.pureComputed(function(t){return function(){var e,n,a;return a=t.period.nextPageArguments(),e=a[0],n=a[1],t.currentDate().clone().subtract(e,n)}}(this)),this.nextDate=ko.pureComputed(function(t){return function(){var e,n,a;return a=t.period.nextPageArguments(),e=a[0],n=a[1],t.currentDate().clone().add(e,n)}}(this)),this.selectedMonth=ko.computed({read:function(t){return function(){return t.currentDate().month()}}(this),write:function(t){return function(e){var n;return n=t.currentDate().clone().month(e),n.isSame(t.currentDate(),"month")?void 0:t.currentDate(n)}}(this),pure:!0}),this.selectedYear=ko.computed({read:function(t){return function(){return t.currentDate().year()}}(this),write:function(t){return function(e){var n;return n=t.currentDate().clone().year(e),n.isSame(t.currentDate(),"year")?void 0:t.currentDate(n)}}(this),pure:!0}),this.selectedDecade=ko.computed({read:function(t){return function(){return t.firstYearOfDecade(t.currentDate()).year()}}(this),write:function(t){return function(e){var n,a,r;return r=(t.currentDate().year()-t.selectedDecade())%9,a=e+r,n=t.currentDate().clone().year(a),n.isSame(t.currentDate(),"year")?void 0:t.currentDate(n)}}(this),pure:!0})}return t.prototype.clickPrevButton=function(){return this.currentDate(this.prevDate())},t.prototype.clickNextButton=function(){return this.currentDate(this.nextDate())},t.prototype.prevArrowCss=function(){var t,e;return t=this.firstDate().clone().subtract(1,"millisecond"),("day"===(e=this.period())||"week"===e)&&(t=t.endOf("month")),{"arrow-hidden":!this.currentDate.isWithinBoundaries(t)}},t.prototype.nextArrowCss=function(){var t,e,n,a,r;return n=this.period.dimentions(),t=n[0],r=n[1],e=this.firstDate().clone().add(t*r,this.period()),("day"===(a=this.period())||"week"===a)&&(e=e.startOf("month")),{"arrow-hidden":!this.currentDate.isWithinBoundaries(e)}},t.prototype.monthOptions=function(){var t,e,n;return e=this.currentDate.minBoundary().isSame(this.currentDate(),"year")?this.currentDate.minBoundary().month():0,t=this.currentDate.maxBoundary().isSame(this.currentDate(),"year")?this.currentDate.maxBoundary().month():11,function(){n=[];for(var a=e;t>=e?t>=a:a>=t;t>=e?a++:a--)n.push(a);return n}.apply(this)},t.prototype.yearOptions=function(){var t,e;return function(){e=[];for(var n=t=this.currentDate.minBoundary().year(),a=this.currentDate.maxBoundary().year();a>=t?a>=n:n>=a;a>=t?n++:n--)e.push(n);return e}.apply(this)},t.prototype.decadeOptions=function(){return e.uniqArray(this.yearOptions().map(function(t){return function(e){var n;return n=u.tz([e],t.timeZone()),t.firstYearOfDecade(n).year()}}(this)))},t.prototype.monthSelectorAvailable=function(){var t;return"day"===(t=this.period())||"week"===t},t.prototype.yearSelectorAvailable=function(){return"year"!==this.period()},t.prototype.decadeSelectorAvailable=function(){return"year"===this.period()},t.prototype.monthFormatter=function(t){return moment.utc([2015,t]).format("MMM")},t.prototype.yearFormatter=function(t){return moment.utc([t]).format("YYYY")},t.prototype.decadeFormatter=function(t){var e,n,a,r;return n=d.dimentions("year"),e=n[0],a=n[1],r=t+e*a-1,t+" – "+r},t}(),a=function(){function t(t,e,a){this.cssForDate=p(this.cssForDate,this),this.eventsForDate=p(this.eventsForDate,this),this.formatDateTemplate=p(this.formatDateTemplate,this),this.tableValues=p(this.tableValues,this),this.inRange=p(this.inRange,this),this.period=t.period,this.single=t.single,this.timeZone=t.timeZone,this.locale=t.locale,this.startDate=t.startDate,this.endDate=t.endDate,this.type=a,this.label=t.locale[a+"Label"]||"",this.hoverDate=ko.observable(null),this.activeDate=e,this.currentDate=e.clone(),this.inputDate=ko.computed({read:function(t){return function(){return(t.hoverDate()||t.activeDate()).format(t.locale.inputFormat)}}(this),write:function(t){return function(e){var n;return n=u.tz(e,t.locale.inputFormat,t.timeZone()),n.isValid()?t.activeDate(n):void 0}}(this),pure:!0}),this.firstDate=ko.pureComputed(function(t){return function(){var e,n;switch(e=t.currentDate().clone().startOf(t.period.scale()),t.period()){case"day":case"week":n=e.clone(),e.weekday(0),(e.isAfter(n)||e.isSame(n,"day"))&&e.subtract(1,"week");break;case"year":e=t.firstYearOfDecade(e)}return e}}(this)),this.activeDate.subscribe(function(t){return function(e){return t.currentDate(e)}}(this)),this.headerView=new n(this)}return t.prototype.calendar=function(){var t,e,n,a,r,i,o,s,u,d;for(i=this.period.dimentions(),e=i[0],d=i[1],a=new c(this.firstDate(),this.period()),s=[],u=r=1,o=d;o>=1?o>=r:r>=o;u=o>=1?++r:--r)s.push(function(){var r,i,o;for(o=[],t=r=1,i=e;i>=1?i>=r:r>=i;t=i>=1?++r:--r)n=a.next(),"end"===this.type?o.push(n.endOf(this.period())):o.push(n.startOf(this.period()));return o}.call(this));return s},t.prototype.weekDayNames=function(){return e.rotateArray(moment.weekdaysMin(),moment.localeData().firstDayOfWeek())},t.prototype.inRange=function(t){return t.isAfter(this.startDate(),this.period())&&t.isBefore(this.endDate(),this.period())||t.isSame(this.startDate(),this.period())||t.isSame(this.endDate(),this.period())},t.prototype.tableValues=function(t){var e,n,a;switch(e=this.period.format(),this.period()){case"day":case"month":case"year":return[{html:t.format(e)}];case"week":return t=t.clone().startOf(this.period()),c.array(t,7,"day").map(function(t){return function(n){return{html:n.format(e),css:{"week-day":!0,unavailable:t.cssForDate(n,!0).unavailable}}}}(this));case"quarter":return a=t.format(e),t=t.clone().startOf("quarter"),n=c.array(t,3,"month").map(function(t){return t.format("MMM")}),[{html:a+"
"+n.join(", ")+""}]}},t.prototype.formatDateTemplate=function(t){return{nodes:$(""+this.formatDate(t)+"
").children()}},t.prototype.eventsForDate=function(t){return{click:function(e){return function(){return e.activeDate.isWithinBoundaries(t)?e.activeDate(t):void 0}}(this),mouseenter:function(e){return function(){return e.activeDate.isWithinBoundaries(t)?e.hoverDate(e.activeDate.fit(t)):void 0}}(this),mouseleave:function(t){return function(){return t.hoverDate(null)}}(this)}},t.prototype.cssForDate=function(t,e){var n,a,r,i,o;return i=t.isSame(this.activeDate(),this.period()),o=this.activeDate.isWithinBoundaries(t),e||(e="day"===this.period()),n=!t.isSame(this.currentDate(),"month"),a=this.inRange(t),r={"in-range":!this.single()&&(a||i)},r[this.type+"-date"]=i,r.clickable=o,r["out-of-boundaries"]=!o,r.unavailable=e&&n,r},t.prototype.firstYearOfDecade=function(t){var e,n,a,r;return e=u.tz(moment(),this.timeZone()).year(),n=e-4,a=Math.floor((t.year()-n)/9),r=n+9*a,u.tz([r],this.timeZone())},t}(),s=function(){function t(t){var e,n,i,o;null==t&&(t={}),this.outsideClick=p(this.outsideClick,this),this.setDateRange=p(this.setDateRange,this),new r(t).extend(this),this.startCalendar=new a(this,this.startDate,"start"),this.endCalendar=new a(this,this.endDate,"end"),this.startDateInput=this.startCalendar.inputDate,this.endDateInput=this.endCalendar.inputDate,this.dateRange=ko.observable([this.startDate(),this.endDate()]),this.startDate.subscribe(function(t){return function(e){return t.single()?(t.endDate(e.clone().endOf(t.period())),t.updateDateRange(),t.close()):(t.endDate().isSame(e)&&t.endDate(t.endDate().clone().endOf(t.period())),t.standalone()?t.updateDateRange():void 0)}}(this)),this.style=ko.observable({}),this.callback&&(this.dateRange.subscribe(function(t){return function(e){var n,a;return a=e[0],n=e[1],t.callback(a.clone(),n.clone(),t.period())}}(this)),this.forceUpdate&&(n=this.dateRange(),i=n[0],e=n[1],this.callback(i.clone(),e.clone(),this.period()))),this.anchorElement&&(o=$('').appendTo(this.parentElement),this.containerElement=$(this.constructor.template).appendTo(o),ko.applyBindings(this,this.containerElement.get(0)),this.anchorElement.click(function(t){return function(){return t.updatePosition(),t.toggle()}}(this)),this.standalone()||$(document).on("mousedown.daterangepicker",this.outsideClick).on("touchend.daterangepicker",this.outsideClick).on("click.daterangepicker","[data-toggle=dropdown]",this.outsideClick).on("focusin.daterangepicker",this.outsideClick)),this.opened()&&this.updatePosition()}return t.prototype.periodProxy=d,t.prototype.calendars=function(){return this.single()?[this.startCalendar]:[this.startCalendar,this.endCalendar]},t.prototype.updateDateRange=function(){return this.dateRange([this.startDate(),this.endDate()])},t.prototype.cssClasses=function(){var t,e,n,a,r;for(n={single:this.single(),opened:this.standalone()||this.opened(),expanded:this.standalone()||this.single()||this.expanded(),standalone:this.standalone(),"hide-weekdays":this.hideWeekdays(),"hide-periods":1===this.periods().length,"orientation-left":"left"===this.orientation(),"orientation-right":"right"===this.orientation()},r=d.allPeriods,t=0,e=r.length;e>t;t++)a=r[t],n[a+"-period"]=a===this.period();return n},t.prototype.isActivePeriod=function(t){return this.period()===t},t.prototype.isActiveDateRange=function(t){var e,n,a,r;if(t.constructor===i){for(r=this.ranges,n=0,a=r.length;a>n;n++)if(e=r[n],e.constructor!==i&&this.isActiveDateRange(e))return!1;return!0}return this.startDate().isSame(t.startDate,"day")&&this.endDate().isSame(t.endDate,"day")},t.prototype.inputFocus=function(){return this.expanded(!0)},t.prototype.setPeriod=function(t){return this.period(t),this.expanded(!0)},t.prototype.setDateRange=function(t){return t.constructor===i?this.expanded(!0):(this.expanded(!1),this.close(),this.period("day"),this.startDate(t.startDate),this.endDate(t.endDate),this.updateDateRange())},t.prototype.applyChanges=function(){return this.close(),this.updateDateRange()},t.prototype.cancelChanges=function(){return this.close()},t.prototype.open=function(){return this.opened(!0)},t.prototype.close=function(){return this.standalone()?void 0:this.opened(!1)},t.prototype.toggle=function(){return this.opened()?this.close():this.open()},t.prototype.updatePosition=function(){var t,e,n;if(!this.standalone()){switch(t={top:0,left:0},e=$(window).width(),this.parentElement.is("body")||(t={top:this.parentElement.offset().top-this.parentElement.scrollTop(),left:this.parentElement.offset().left-this.parentElement.scrollLeft()},e=this.parentElement.get(0).clientWidth+this.parentElement.offset().left),n={top:this.anchorElement.offset().top+this.anchorElement.outerHeight()-t.top+"px",left:"auto",right:"auto"},this.orientation()){case"left":this.containerElement.offset().left<0?n.left="9px":n.right=e-this.anchorElement.offset().left-this.anchorElement.outerWidth()+"px";break;default:this.containerElement.offset().left+this.containerElement.outerWidth()>$(window).width()?n.right="0":n.left=this.anchorElement.offset().left-t.left+"px"}return this.style(n)}},t.prototype.outsideClick=function(t){var e;return e=$(t.target),"focusin"===t.type||e.closest(this.anchorElement).length||e.closest(this.containerElement).length||e.closest(".calendar").length?void 0:this.close()},t}(),s.template='',$.extend($.fn.daterangepicker,{ArrayUtils:e,MomentIterator:c,MomentUtil:u,Period:d,Config:r,DateRange:o,AllTimeDateRange:t,CustomDateRange:i,DateRangePickerView:s,CalendarView:a,CalendarHeaderView:n})}).call(this);
\ No newline at end of file
+(function(){var t,e,n,a,r,i,o,s,c,u,d,l=function(t,e){function n(){this.constructor=t}for(var a in e)h.call(e,a)&&(t[a]=e[a]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},h={}.hasOwnProperty,p=function(t,e){return function(){return t.apply(e,arguments)}};u=function(){function t(){}return t.patchCurrentLocale=function(t){return moment.locale(moment.locale(),t)},t.setFirstDayOfTheWeek=function(t){var e;if(t=(t%7+7)%7,moment.localeData().firstDayOfWeek()!==t)return e=t-moment.localeData().firstDayOfWeek(),this.patchCurrentLocale({week:{dow:t,doy:moment.localeData().firstDayOfYear()}})},t.tz=function(t){var e,n;return e=Array.prototype.slice.call(arguments,0,-1),n=arguments[arguments.length-1],moment.tz?moment.tz.apply(null,e.concat([n])):n&&"utc"===n.toLowerCase()?moment.utc.apply(null,e):moment.apply(null,e)},t}(),c=function(){function t(t,e){this.date=t.clone(),this.period=e}return t.array=function(t,e,n){var a,r,i,o,s;for(r=new this(t,n),s=[],a=i=0,o=e-1;0<=o?i<=o:i>=o;a=0<=o?++i:--i)s.push(r.next());return s},t.prototype.next=function(){var t;return t=this.date,this.date=t.clone().add(1,this.period),t.clone()},t}(),e=function(){function t(){}return t.rotateArray=function(t,e){return e%=t.length,t.slice(e).concat(t.slice(0,e))},t.uniqArray=function(t){var e,n,a,r;for(r=[],n=0,a=t.length;n=t;e<=t?a++:a--)n.push(a);return n}.apply(this)},t.prototype.yearOptions=function(){var t,e;return function(){e=[];for(var n=t=this.currentDate.minBoundary().year(),a=this.currentDate.maxBoundary().year();t<=a?n<=a:n>=a;t<=a?n++:n--)e.push(n);return e}.apply(this)},t.prototype.decadeOptions=function(){return e.uniqArray(this.yearOptions().map(function(t){return function(e){var n;return n=u.tz([e],t.timeZone()),t.firstYearOfDecade(n).year()}}(this)))},t.prototype.monthSelectorAvailable=function(){var t;return"day"===(t=this.period())||"week"===t},t.prototype.yearSelectorAvailable=function(){return"year"!==this.period()},t.prototype.decadeSelectorAvailable=function(){return"year"===this.period()},t.prototype.monthFormatter=function(t){return moment.utc([2015,t]).format("MMM")},t.prototype.yearFormatter=function(t){return moment.utc([t]).format("YYYY")},t.prototype.decadeFormatter=function(t){var e,n,a,r;return n=d.dimentions("year"),e=n[0],a=n[1],r=t+e*a-1,t+" – "+r},t}(),a=function(){function t(t,e,a){this.cssForDate=p(this.cssForDate,this),this.eventsForDate=p(this.eventsForDate,this),this.formatDateTemplate=p(this.formatDateTemplate,this),this.tableValues=p(this.tableValues,this),this.inRange=p(this.inRange,this),this.period=t.period,this.single=t.single,this.timeZone=t.timeZone,this.locale=t.locale,this.startDate=t.startDate,this.endDate=t.endDate,this.isCustomPeriodRangeActive=t.isCustomPeriodRangeActive,this.type=a,this.label=t.locale[a+"Label"]||"",this.hoverDate=ko.observable(null),this.activeDate=e,this.currentDate=e.clone(),this.inputDate=ko.computed({read:function(t){return function(){return(t.hoverDate()||t.activeDate()).format(t.locale.inputFormat)}}(this),write:function(t){return function(e){var n;if(n=u.tz(e,t.locale.inputFormat,t.timeZone()),n.isValid())return t.activeDate(n)}}(this),pure:!0}),this.firstDate=ko.pureComputed(function(t){return function(){var e,n;switch(e=t.currentDate().clone().startOf(t.period.scale()),t.period()){case"day":case"week":n=e.clone(),e.weekday(0),(e.isAfter(n)||e.isSame(n,"day"))&&e.subtract(1,"week");break;case"year":e=t.firstYearOfDecade(e)}return e}}(this)),this.activeDate.subscribe(function(t){return function(e){return t.currentDate(e)}}(this)),this.headerView=new n(this)}return t.prototype.calendar=function(){var t,e,n,a,r,i,o,s,u,d;for(i=this.period.dimentions(),e=i[0],d=i[1],a=new c(this.firstDate(),this.period()),s=[],u=r=1,o=d;1<=o?r<=o:r>=o;u=1<=o?++r:--r)s.push(function(){var r,i,o;for(o=[],t=r=1,i=e;1<=i?r<=i:r>=i;t=1<=i?++r:--r)n=a.next(),"end"===this.type?o.push(n.endOf(this.period())):o.push(n.startOf(this.period()));return o}.call(this));return s},t.prototype.weekDayNames=function(){return e.rotateArray(moment.weekdaysMin(),moment.localeData().firstDayOfWeek())},t.prototype.inRange=function(t){return t.isAfter(this.startDate(),this.period())&&t.isBefore(this.endDate(),this.period())||t.isSame(this.startDate(),this.period())||t.isSame(this.endDate(),this.period())},t.prototype.tableValues=function(t){var e,n,a;switch(e=this.period.format(),this.period()){case"day":case"month":case"year":return[{html:t.format(e)}];case"week":return t=t.clone().startOf(this.period()),c.array(t,7,"day").map(function(t){return function(n){return{html:n.format(e),css:{"week-day":!0,unavailable:t.cssForDate(n,!0).unavailable}}}}(this));case"quarter":return a=t.format(e),t=t.clone().startOf("quarter"),n=c.array(t,3,"month").map(function(t){return t.format("MMM")}),[{html:a+"
"+n.join(", ")+""}]}},t.prototype.formatDateTemplate=function(t){return{nodes:$(""+this.formatDate(t)+"
").children()}},t.prototype.eventsForDate=function(t){return{click:function(e){return function(){if(e.activeDate.isWithinBoundaries(t))return e.activeDate(t)}}(this),mouseenter:function(e){return function(){if(e.activeDate.isWithinBoundaries(t))return e.hoverDate(e.activeDate.fit(t))}}(this),mouseleave:function(t){return function(){return t.hoverDate(null)}}(this)}},t.prototype.cssForDate=function(t,e){var n,a,r,i,o;return i=t.isSame(this.activeDate(),this.period()),o=this.activeDate.isWithinBoundaries(t),e||(e="day"===this.period()),n=!t.isSame(this.currentDate(),"month"),a=this.inRange(t),r={"in-range":!this.single()&&(a||i)},r[this.type+"-date"]=i,r.clickable=o&&!this.isCustomPeriodRangeActive(),r["out-of-boundaries"]=!o||this.isCustomPeriodRangeActive(),r.unavailable=e&&n,r},t.prototype.firstYearOfDecade=function(t){var e,n,a,r;return e=u.tz(moment(),this.timeZone()).year(),n=e-4,a=Math.floor((t.year()-n)/9),r=n+9*a,u.tz([r],this.timeZone())},t}(),s=function(){function t(t){var e,n,i,o;null==t&&(t={}),this.outsideClick=p(this.outsideClick,this),this.setCustomPeriodRange=p(this.setCustomPeriodRange,this),this.setDateRange=p(this.setDateRange,this),new r(t).extend(this),this.startCalendar=new a(this,this.startDate,"start"),this.endCalendar=new a(this,this.endDate,"end"),this.startDateInput=this.startCalendar.inputDate,this.endDateInput=this.endCalendar.inputDate,this.dateRange=ko.observable([this.startDate(),this.endDate()]),this.startDate.subscribe(function(t){return function(e){return t.single()?(t.endDate(e.clone().endOf(t.period())),t.updateDateRange(),t.close()):(t.endDate().isSame(e)&&t.endDate(t.endDate().clone().endOf(t.period())),t.standalone()?t.updateDateRange():void 0)}}(this)),this.style=ko.observable({}),this.callback&&(this.dateRange.subscribe(function(t){return function(e){var n,a;return a=e[0],n=e[1],t.callback(a.clone(),n.clone(),t.period())}}(this)),this.forceUpdate&&(n=this.dateRange(),i=n[0],e=n[1],this.callback(i.clone(),e.clone(),this.period()))),this.anchorElement&&(o=$('').appendTo(this.parentElement),this.containerElement=$(this.constructor.template).appendTo(o),ko.applyBindings(this,this.containerElement.get(0)),this.anchorElement.click(function(t){return function(){return t.updatePosition(),t.toggle()}}(this)),this.standalone()||$(document).on("mousedown.daterangepicker",this.outsideClick).on("touchend.daterangepicker",this.outsideClick).on("click.daterangepicker","[data-toggle=dropdown]",this.outsideClick).on("focusin.daterangepicker",this.outsideClick)),this.opened()&&this.updatePosition()}return t.prototype.periodProxy=d,t.prototype.calendars=function(){return this.single()?[this.startCalendar]:[this.startCalendar,this.endCalendar]},t.prototype.updateDateRange=function(){return this.dateRange([this.startDate(),this.endDate()])},t.prototype.cssClasses=function(){var t,e,n,a,r;for(n={single:this.single(),opened:this.standalone()||this.opened(),expanded:this.standalone()||this.single()||this.expanded(),standalone:this.standalone(),"hide-weekdays":this.hideWeekdays(),"hide-periods":this.periods().length+this.customPeriodRanges.length===1,"orientation-left":"left"===this.orientation(),"orientation-right":"right"===this.orientation()},r=d.allPeriods,t=0,e=r.length;t$(window).width()?n.right="0":n.left=this.anchorElement.offset().left-t.left+"px"}return this.style(n)}},t.prototype.outsideClick=function(t){var e;if(e=$(t.target),!("focusin"===t.type||e.closest(this.anchorElement).length||e.closest(this.containerElement).length||e.closest(".calendar").length))return this.close()},t}(),s.template='',$.extend($.fn.daterangepicker,{ArrayUtils:e,MomentIterator:c,MomentUtil:u,Period:d,Config:r,DateRange:o,AllTimeDateRange:t,CustomDateRange:i,DateRangePickerView:s,CalendarView:a,CalendarHeaderView:n})}).call(this);
\ No newline at end of file
diff --git a/package.json b/package.json
index 31207dd..bce76cf 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "knockout-daterangepicker",
- "version": "0.0.9",
+ "version": "0.1.0",
"private": true,
"engines": {
"node": ">=0.12.0"