diff --git a/dist/css/datepicker.css b/dist/css/datepicker.css
index feb6153..f3cf705 100644
--- a/dist/css/datepicker.css
+++ b/dist/css/datepicker.css
@@ -49,6 +49,38 @@
.datepicker--content {
padding: 2px; }
+.datepicker--pointer {
+ position: absolute;
+ background: #fff;
+ border-top: 1px solid #ddd;
+ border-right: 1px solid #ddd;
+ width: 10px;
+ height: 10px; }
+ .-top-left- .datepicker--pointer, .-top-center- .datepicker--pointer, .-top-right- .datepicker--pointer {
+ top: calc(100% - 4px);
+ transform: rotate(135deg); }
+ .-right-top- .datepicker--pointer, .-right-center- .datepicker--pointer, .-right-bottom- .datepicker--pointer {
+ right: calc(100% - 4px);
+ transform: rotate(225deg); }
+ .-bottom-left- .datepicker--pointer, .-bottom-center- .datepicker--pointer, .-bottom-right- .datepicker--pointer {
+ bottom: calc(100% - 4px);
+ transform: rotate(315deg); }
+ .-left-top- .datepicker--pointer, .-left-center- .datepicker--pointer, .-left-bottom- .datepicker--pointer {
+ left: calc(100% - 4px);
+ transform: rotate(45deg); }
+ .-top-left- .datepicker--pointer, .-bottom-left- .datepicker--pointer {
+ left: 8px; }
+ .-top-right- .datepicker--pointer, .-bottom-right- .datepicker--pointer {
+ right: 8px; }
+ .-top-center- .datepicker--pointer, .-bottom-center- .datepicker--pointer {
+ left: calc(50% - 10px / 2); }
+ .-left-top- .datepicker--pointer, .-right-top- .datepicker--pointer {
+ top: 8px; }
+ .-left-bottom- .datepicker--pointer, .-right-bottom- .datepicker--pointer {
+ bottom: 8px; }
+ .-left-center- .datepicker--pointer, .-right-center- .datepicker--pointer {
+ top: calc(50% - 10px / 2); }
+
.datepicker--body {
display: none; }
.datepicker--body.active {
diff --git a/dist/js/datepicker.js b/dist/js/datepicker.js
index 97b36a8..66ca486 100644
--- a/dist/js/datepicker.js
+++ b/dist/js/datepicker.js
@@ -6,6 +6,7 @@ var Datepicker;
containerBuilt = false,
baseTemplate = '' +
'
',
@@ -19,7 +20,7 @@ var Datepicker;
toggleSelected: true,
position: 'bottom left',
- offset: 8,
+ offset: 12,
view: 'days',
minView: 'days',
@@ -602,6 +603,7 @@ var Datepicker;
if (this.opts.onChangeView) {
this.opts.onChangeView(val)
}
+ this.setPosition(this.opts.position)
}
return val
diff --git a/index.html b/index.html
index 620acbf..e78d36e 100644
--- a/index.html
+++ b/index.html
@@ -11,12 +11,29 @@
@@ -32,6 +49,7 @@
}
})
$end.datepicker({
+ position: 'right top',
onSelect: function (format, date) {
$start.data('datepicker')
.update('maxDate', date)
diff --git a/js/datepicker/datepicker.js b/js/datepicker/datepicker.js
index 135ff55..61e6997 100644
--- a/js/datepicker/datepicker.js
+++ b/js/datepicker/datepicker.js
@@ -6,6 +6,7 @@ var Datepicker;
containerBuilt = false,
baseTemplate = '' +
'',
@@ -19,7 +20,7 @@ var Datepicker;
toggleSelected: true,
position: 'bottom left',
- offset: 8,
+ offset: 12,
view: 'days',
minView: 'days',
@@ -602,6 +603,7 @@ var Datepicker;
if (this.opts.onChangeView) {
this.opts.onChangeView(val)
}
+ this.setPosition(this.opts.position)
}
return val
diff --git a/sass/datepicker/_datepicker.scss b/sass/datepicker/_datepicker.scss
index af8a978..3489fd6 100644
--- a/sass/datepicker/_datepicker.scss
+++ b/sass/datepicker/_datepicker.scss
@@ -12,7 +12,7 @@
.datepicker {
background: #fff;
- border: 1px solid $colorGrey;
+ border: 1px solid $borderColor;
border-radius: $datepickerBorderRadius;
box-sizing: content-box;
width: $datepickerWidth;
@@ -56,6 +56,66 @@
padding: $datepickerPadding;
}
+// Pointer
+// -------------------------------------------------
+$pointerHalfSize: $pointerSize / 2 - 1;
+
+.datepicker--pointer {
+ position: absolute;
+ background: #fff;
+ border-top: 1px solid $borderColor;
+ border-right: 1px solid $borderColor;
+ width: $pointerSize;
+ height: $pointerSize;
+
+ // Main axis
+ // -------------------------
+
+ .-top-left- &, .-top-center- &, .-top-right- & {
+ top: calc(100% - #{$pointerHalfSize});
+ transform: rotate(135deg);
+ }
+
+ .-right-top- &, .-right-center- &, .-right-bottom- & {
+ right: calc(100% - #{$pointerHalfSize});
+ transform: rotate(225deg);
+ }
+
+ .-bottom-left- &, .-bottom-center- &, .-bottom-right- & {
+ bottom: calc(100% - #{$pointerHalfSize});
+ transform: rotate(315deg);
+ }
+
+ .-left-top- &, .-left-center- &, .-left-bottom- & {
+ left: calc(100% - #{$pointerHalfSize});
+ transform: rotate(45deg);
+ }
+
+ // Secondary axis
+ // -------------------------
+
+ .-top-left- &, .-bottom-left- & {
+ left: $pointerOffset;
+ }
+ .-top-right- &, .-bottom-right- & {
+ right: $pointerOffset;
+ }
+ .-top-center- &, .-bottom-center- & {
+ left: calc(50% - #{$pointerSize} / 2);
+ }
+
+ .-left-top- &, .-right-top- & {
+ top: $pointerOffset;
+ }
+ .-left-bottom- &, .-right-bottom- & {
+ bottom: $pointerOffset;
+ }
+ .-left-center- &, .-right-center- & {
+ top: calc(50% - #{$pointerSize} / 2);
+ }
+
+}
+
// Body
// -------------------------------------------------
diff --git a/sass/datepicker/datepicker-config.scss b/sass/datepicker/datepicker-config.scss
index eb74ae5..79a1199 100644
--- a/sass/datepicker/datepicker-config.scss
+++ b/sass/datepicker/datepicker-config.scss
@@ -8,14 +8,17 @@ $textColor: #333;
$navigationHeight: 32px;
$navigationButtonsOffset: 1px;
+$pointerSize: 10px;
+$pointerOffset: 8px;
+
// Colors
$colorGrey: #ddd;
-
$colorAnotherMonth: #ddd;
$colorCellHover: #eee;
$colorCellCurrent: #60C4F5;
$colorCellSelected: skyblue;
$colorCellWeekend: '';
+$borderColor: $colorGrey;
$bgButton: #f2f2f2;
$bgButtonHover: darken($bgButton, 3);