diff --git a/dist/datepickk.css b/dist/datepickk.css index 5455fff..7b68d4a 100644 --- a/dist/datepickk.css +++ b/dist/datepickk.css @@ -3,7 +3,7 @@ .d-noscroll { overflow: hidden; } -#Datepickk { +.Datepickk { position: fixed; top: 0; left: 0; @@ -25,29 +25,29 @@ -ms-user-select: none; user-select: none; } -#Datepickk.MSIE:not(.wrapped):not(.inline) .d-calendar { +.Datepickk.MSIE:not(.wrapped):not(.inline) .d-calendar { height: 560px; } -#Datepickk.d-show .d-overlay { +.Datepickk.d-show .d-overlay { animation-name: show; animation-duration: .2s; animation-timing-function: ease-out; animation-fill-mode: both; } -#Datepickk.d-hide > * { +.Datepickk.d-hide > * { animation-name: DatepickkHide; animation-duration: .2s; animation-timing-function: linear; animation-fill-mode: both; } -#Datepickk.d-hide .d-overlay { +.Datepickk.d-hide .d-overlay { animation-name: show; animation-duration: .15s; animation-timing-function: ease-out; animation-fill-mode: both; animation-direction: reverse; } -#Datepickk .d-overlay { +.Datepickk .d-overlay { position: absolute; top: 0; left: 0; @@ -56,7 +56,7 @@ background-color: rgba(55, 58, 71, 0.95); z-index: 1; } -#Datepickk .d-title { +.Datepickk .d-title { color: white; text-align: center; position: relative; @@ -64,7 +64,7 @@ margin: 25px 0; z-index: 2; } -#Datepickk .d-confirm { +.Datepickk .d-confirm { border: none; position: relative; background-color: transparent; @@ -78,76 +78,69 @@ padding: 0; z-index: 2; } -#Datepickk .d-title:empty, -#Datepickk .d-confirm:empty { +.Datepickk .d-title:empty, +.Datepickk .d-confirm:empty { display: none; } @media (max-height: 528px) { - #Datepickk .d-title, - #Datepickk .d-confirm { + .Datepickk .d-title, + .Datepickk .d-confirm { font-size: 20px; margin: 15px 0; } - #Datepickk .d-calendar { + .Datepickk .d-calendar { font-size: 20px; } } -#Datepickk.multi .d-calendar, -#Datepickk.multi .d-legend { - max-width: 800px; -} -#Datepickk.multi .d-table { - position: relative; - padding-top: 35px; -} -#Datepickk.multi .d-table:before { +.Datepickk.multi .d-month:after { content: attr(data-month); - text-align: right; - width: 100%; + display: block; + text-align: center; font-size: 1em; padding: 5px 10px 5px 0; box-sizing: border-box; color: #CCC; - position: absolute; - left: 0; - top: 0; } -#Datepickk.inline.d-show .d-calendar { +.Datepickk.inline.d-show .d-calendar { animation: none; } -#Datepickk.inline, -#Datepickk.wrapped { +.Datepickk.inline, +.Datepickk.wrapped { position: static; z-index: 0; } -#Datepickk.inline .d-calendar, -#Datepickk.wrapped .d-calendar { +.Datepickk.inline .d-calendar, +.Datepickk.wrapped .d-calendar { box-shadow: none; z-index: 0; max-width: none; max-height: none; } -#Datepickk.inline .d-confirm, -#Datepickk.wrapped .d-confirm, -#Datepickk.inline .d-title, -#Datepickk.wrapped .d-title { +.Datepickk.inline .d-title, +.Datepickk.wrapped .d-title { color: #222; } -#Datepickk.inline .d-overlay, -#Datepickk.wrapped .d-overlay { +.Datepickk.inline .d-confirm, +.Datepickk.wrapped .d-confirm { + background-color: #7DD076; + color: white; + padding: 5px 10px; +} +.Datepickk.inline .d-overlay, +.Datepickk.wrapped .d-overlay { display: none; } -#Datepickk.inline .d-legend, -#Datepickk.wrapped .d-legend { +.Datepickk.inline .d-legend, +.Datepickk.wrapped .d-legend { color: #222!important; max-width: none; max-height: none; } -#Datepickk.fullscreen .d-calendar { +.Datepickk.fullscreen .d-calendar { max-width: none; max-height: none; } -#Datepickk.fullscreen .d-calendar input + label { +.Datepickk.fullscreen .d-calendar input + label { outline: 1px solid #eaeaea; box-sizing: border-box; -ms-flex-align: start !important; @@ -155,13 +148,13 @@ -ms-flex-pack: end !important; justify-content: flex-end !important; } -#Datepickk.fullscreen .d-calendar input + label text { +.Datepickk.fullscreen .d-calendar input + label text { padding: 5px 10px 0 0; } -#Datepickk.fullscreen .d-legend { +.Datepickk.fullscreen .d-legend { max-width: none; } -#Datepickk .d-legend { +.Datepickk .d-legend { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; @@ -175,10 +168,10 @@ position: relative; color: white; } -#Datepickk .d-legend:empty { +.Datepickk .d-legend:empty { height: 0; } -#Datepickk .d-legend p { +.Datepickk .d-legend p { backface-visibility: visible !important; animation-name: DatepickfadeInUp; animation-duration: .5s; @@ -189,10 +182,10 @@ cursor: pointer; color: #1B353F; } -#Datepickk .d-legend p:after { +.Datepickk .d-legend p:after { content: attr(data-legend); } -#Datepickk .d-legend p span { +.Datepickk .d-legend p span { width: 20px; height: 20px; border-radius: 100%; @@ -200,7 +193,7 @@ display: inline-block; margin-right: 10px; } -#Datepickk .d-calendar { +.Datepickk .d-calendar { margin: 0; background-color: white; box-shadow: 0px 2px 10px -2px rgba(0, 0, 0, 0.6); @@ -219,17 +212,17 @@ flex-grow: 1; z-index: 2; } -#Datepickk .d-header { +.Datepickk .d-header { position: relative; background-color: #1B363F; color: white; font-size: 1.5em; } -#Datepickk .d-header p { +.Datepickk .d-header p { margin: .5em 0; text-align: center; } -#Datepickk .d-header i { +.Datepickk .d-header i { position: absolute; top: 50%; width: 30px; @@ -240,67 +233,67 @@ transition: background-color 0.2s ease; transform: translateY(-50%); } -#Datepickk .d-header i:before, -#Datepickk .d-header i:after { +.Datepickk .d-header i:before, +.Datepickk .d-header i:after { content: ''; width: 0; height: 0; position: absolute; } -#Datepickk .d-header i:before { +.Datepickk .d-header i:before { border-top: 10px solid rgba(0, 0, 0, 0); border-bottom: 10px solid rgba(0, 0, 0, 0); } -#Datepickk .d-header i:after { +.Datepickk .d-header i:after { border-top: 7px solid rgba(0, 0, 0, 0); border-bottom: 7px solid rgba(0, 0, 0, 0); transition: border-color 0.2s ease; } -#Datepickk .d-header i#d-previous { +.Datepickk .d-header i#d-previous { left: 20px; } -#Datepickk .d-header i#d-previous:before { +.Datepickk .d-header i#d-previous:before { border-right: 10px solid #FFF; top: 5px; left: 7px; } -#Datepickk .d-header i#d-previous:after { +.Datepickk .d-header i#d-previous:after { border-right: 7px solid #1B363F; top: 8px; left: 10px; } -#Datepickk .d-header i#d-next { +.Datepickk .d-header i#d-next { right: 20px; } -#Datepickk .d-header i#d-next:before { +.Datepickk .d-header i#d-next:before { border-left: 10px solid #FFF; top: 5px; left: 12px; } -#Datepickk .d-header i#d-next:after { +.Datepickk .d-header i#d-next:after { border-left: 7px solid #1B363F; top: 8px; left: 12px; } -#Datepickk .d-header i:hover { +.Datepickk .d-header i:hover { background-color: #5E7178; } -#Datepickk .d-header i:hover:after { +.Datepickk .d-header i:hover:after { border-left-color: #5E7178!important; border-right-color: #5E7178!important; } -#Datepickk .d-month { +.Datepickk .d-month { cursor: pointer; white-space: nowrap; } -#Datepickk .d-year { +.Datepickk .d-year { margin-left: 10px; cursor: pointer; } -#Datepickk .d-year:before { +.Datepickk .d-year:before { content: ""; } -#Datepickk .d-month-picker { +.Datepickk .d-month-picker { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; @@ -311,27 +304,27 @@ pointer-events: none; transition: height .2s ease; } -#Datepickk .d-month-picker.d-show { +.Datepickk .d-month-picker.d-show { height: 44px; pointer-events: auto; } -#Datepickk .d-month-picker > div { +.Datepickk .d-month-picker > div { width: calc(100% / 12); text-align: center; line-height: 44px; color: white; cursor: pointer; } -#Datepickk .d-month-picker > div:hover, -#Datepickk .d-month-picker > div:focus { +.Datepickk .d-month-picker > div:hover, +.Datepickk .d-month-picker > div:focus { background-color: #e32d2d; color: white; } -#Datepickk .d-month-picker > div.current { +.Datepickk .d-month-picker > div.current { background-color: #e9965a; color: white; } -#Datepickk .d-year-picker { +.Datepickk .d-year-picker { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; @@ -342,54 +335,70 @@ pointer-events: none; transition: height .2s ease; } -#Datepickk .d-year-picker.d-show { +.Datepickk .d-year-picker.d-show { height: 44px; pointer-events: auto; } -#Datepickk .d-year-picker > div { +.Datepickk .d-year-picker > div { width: calc(100% / 11); text-align: center; line-height: 44px; color: white; cursor: pointer; } -#Datepickk .d-year-picker > div:hover, -#Datepickk .d-year-picker > div:focus { +.Datepickk .d-year-picker > div:hover, +.Datepickk .d-year-picker > div:focus { background-color: #e32d2d; color: white; } -#Datepickk .d-year-picker > div.current { +.Datepickk .d-year-picker > div.current { background-color: #e9965a; color: white; } -#Datepickk .d-weekdays { +.Datepickk .d-weekdays { display: -ms-flexbox; display: flex; } -#Datepickk .d-week { +.Datepickk .d-week { background-color: #E95A5A; color: white; display: -ms-flexbox; display: flex; width: 100%; } -#Datepickk .d-week + .d-week { +.Datepickk .d-week + .d-week { border-left: 1px solid rgba(255, 255, 255, 0.05); } -#Datepickk .d-week > div { +.Datepickk .d-week > div { -ms-flex-preferred-size: calc(100% / 7); flex-basis: calc(100% / 7); text-align: center; } -#Datepickk .d-week > div p { +.Datepickk .d-week > div p { margin: .8em 0; } @media (max-height: 540px) { - #Datepickk .d-week { + .Datepickk .d-week { display: none; } } -#Datepickk .d-table { +.Datepickk .d-table-container { + position: relative; +} +.Datepickk .d-table-container:after { + content: ""; + display: block; + padding-bottom: 85.71%; + /* 7:6 */ +} +.Datepickk .d-table-container .d-table { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.Datepickk .d-table { width: 100%; display: -ms-flexbox; display: flex; @@ -398,25 +407,16 @@ -ms-flex: 1; flex: 1; } -#Datepickk .d-table:first-child:nth-last-child(n + 3), -#Datepickk .d-table:first-child:nth-last-child(n + 3) ~ div { - -ms-flex: 0; - flex: 0; - -ms-flex-preferred-size: calc(100% / 3 - 1px); - flex-basis: calc(100% / 3 - 1px); - /*-1px due to browser render*/ - border-bottom: 1px solid rgba(0, 0, 0, 0.05); -} -#Datepickk .d-table label:nth-of-type(7n) .d-date-legends { +.Datepickk .d-table label:nth-of-type(7n) .d-date-legends { padding-right: 0; } -#Datepickk .d-table label:nth-last-of-type(-n + 7) .d-date-legends { +.Datepickk .d-table label:nth-last-of-type(-n + 7) .d-date-legends { padding-bottom: 0; } -#Datepickk .d-table input { +.Datepickk .d-table input { display: none; } -#Datepickk .d-table input + label { +.Datepickk .d-table input + label { flex-basis: calc(100% / 7); -ms-flex-preferred-size: 14.28%; /*Keep -> IE render fail*/ @@ -432,15 +432,15 @@ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); box-sizing: border-box; } -#Datepickk .d-table input + label text { +.Datepickk .d-table input + label text { z-index: 9; pointer-events: none; position: relative; } -#Datepickk .d-table input + label[style*="linear-gradient"] text { +.Datepickk .d-table input + label[style*="linear-gradient"] text { text-shadow: 0 0 20px black; } -#Datepickk .d-table input + label.today text:before { +.Datepickk .d-table input + label.today text:before { content: ''; width: 100%; height: 2px; @@ -449,7 +449,7 @@ bottom: -5px; left: 0; } -#Datepickk .d-table input + label:before { +.Datepickk .d-table input + label:before { content: ''; position: absolute; top: 12.5%; @@ -457,12 +457,11 @@ width: 75%; height: 75%; border-radius: 5px; - background-color: #7DD076; transition: transform 0.1s ease-out; transform: scaleX(0); transform-origin: left; } -#Datepickk .d-table input + label.legend-hover { +.Datepickk .d-table input + label.legend-hover { animation: legendhover 1s infinite; z-index: 10; } @@ -477,11 +476,11 @@ transform: translate(0, 0px); } } -#Datepickk .d-table input + label.next, -#Datepickk .d-table input + label.prev { +.Datepickk .d-table input + label.next, +.Datepickk .d-table input + label.prev { color: #ccc; } -#Datepickk .d-table input + label [data-tooltip]:after { +.Datepickk .d-table input + label [data-tooltip]:after { content: ''; border-radius: 100%; background-color: #1B363F; @@ -491,7 +490,7 @@ top: 0; right: -10px; } -#Datepickk .d-table input + label .d-tooltip { +.Datepickk .d-table input + label .d-tooltip { position: absolute; background-color: #1B363F; color: #FFF; @@ -504,7 +503,7 @@ transform: translate(-50%, -5px); display: none; } -#Datepickk .d-table input + label .d-tooltip:before { +.Datepickk .d-table input + label .d-tooltip:before { content: ''; border-bottom: 7px solid #1B363F; border-left: 5px solid rgba(0, 0, 0, 0); @@ -514,22 +513,23 @@ position: absolute; margin-left: -5px; } -#Datepickk .d-table input + label .d-tooltip:empty { +.Datepickk .d-table input + label .d-tooltip:empty { display: none!important; } -#Datepickk .d-table input + label:hover .d-tooltip { +.Datepickk .d-table input + label:hover .d-tooltip { display: block; } -#Datepickk .d-table input:checked + label { - color: white; +.Datepickk .d-table input:checked + label { + color: white !important; } -#Datepickk .d-table input:checked + label:before { - transform: scaleX(1); +.Datepickk .d-table input:checked + label:before { + background-color: #7DD076 !important; + transform: scaleX(1) !important; } -#Datepickk .d-table input:disabled + label { +.Datepickk .d-table input:disabled + label:not(.d-hidden) { cursor: not-allowed; } -#Datepickk .d-table input:disabled + label:after { +.Datepickk .d-table input:disabled + label:not(.d-hidden):after { content: ''; position: absolute; top: 50%; @@ -541,16 +541,13 @@ transform-origin: center; transform: rotate(-25deg); } -#Datepickk .d-table input + label.d-hidden { +.Datepickk .d-table input + label.d-hidden { + color: #ccc; + background: #f0f0f0; cursor: default; - color: #ccc!important; - background: #f0f0f0!important; text-decoration: line-through; } -#Datepickk .d-table input + label.d-hidden:after { - content: none; -} -#Datepickk .d-tables { +.Datepickk .d-tables { display: -ms-flexbox; display: flex; -ms-flex: 1; @@ -558,72 +555,86 @@ -ms-flex-wrap: wrap; flex-wrap: wrap; } -#Datepickk .d-tables:not(.locked) input:not(:checked) + label:not(.hidden):hover { +.Datepickk .d-tables > * { + min-width: 320px; + -ms-flex: 1 1 0; + flex: 1 1 0; +} +.Datepickk .d-tables:not(.locked) input + label:not(.d-hidden):hover { color: #222; background-color: #eaeaea; } -#Datepickk .d-tables.locked label { +.Datepickk .d-tables.locked label { cursor: default; } -#Datepickk .d-tables.range:not(.before) input:not(.single):checked + label { - color: white; -} -#Datepickk .d-tables.range:not(.before) input:not(.single):checked + label ~ label:not(.hidden) { - color: white; -} -#Datepickk .d-tables.range:not(.before) input:not(.single):checked + label ~ label:not(.hidden):before { - transform: scaleX(1); - background-color: rgba(125, 208, 118, 0.5); +.Datepickk .d-tables.range input.d-start:not(.d-end):checked + label:before { + border-radius: 9px 5px 5px 9px; + transform: scaleX(0.8) translateX(20%) !important; } -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:hover ~ label, -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:focus ~ label { - color: #666; +.Datepickk .d-tables.range input.d-end:not(.d-start):checked + label:before { + border-radius: 5px 9px 9px 5px; + transform: scaleX(0.85) !important; } -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:hover ~ label:before, -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:focus ~ label:before { - transform: scaleX(0); -} -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:hover ~ label.next, -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:focus ~ label.next, -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:hover ~ label.prev, -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:focus ~ label.prev { - color: #ccc; -} -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ input:checked + label { +.Datepickk .d-tables.range .d-start input:checked + label ~ label:not(.d-hidden), +.Datepickk .d-tables.range .d-start ~ .d-table-head input + label:not(.d-hidden), +.Datepickk .d-tables.range .d-cont input + label:not(.d-hidden), +.Datepickk .d-tables.range .d-cont ~ .d-table-head input + label:not(.d-hidden) { color: white; } -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ input:checked + label:before { +.Datepickk .d-tables.range .d-start input:checked + label ~ label:not(.d-hidden):before, +.Datepickk .d-tables.range .d-start ~ .d-table-head input + label:not(.d-hidden):before, +.Datepickk .d-tables.range .d-cont input + label:not(.d-hidden):before, +.Datepickk .d-tables.range .d-cont ~ .d-table-head input + label:not(.d-hidden):before { transform: scaleX(1); - background-color: #7DD076; + background-color: rgba(125, 208, 118, 0.5); } -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ input:checked + label ~ label { - color: inherit; +.Datepickk .d-tables.range .d-start input:checked + label ~ label:not(.d-hidden).prev:before, +.Datepickk .d-tables.range .d-start ~ .d-table-head input + label:not(.d-hidden).prev:before, +.Datepickk .d-tables.range .d-cont input + label:not(.d-hidden).prev:before, +.Datepickk .d-tables.range .d-cont ~ .d-table-head input + label:not(.d-hidden).prev:before, +.Datepickk .d-tables.range .d-start input:checked + label ~ label:not(.d-hidden).next:before, +.Datepickk .d-tables.range .d-start ~ .d-table-head input + label:not(.d-hidden).next:before, +.Datepickk .d-tables.range .d-cont input + label:not(.d-hidden).next:before, +.Datepickk .d-tables.range .d-cont ~ .d-table-head input + label:not(.d-hidden).next:before { + background-color: rgba(125, 208, 118, 0.25); +} +.Datepickk .d-tables.range .d-end.d-start input:checked ~ input:checked + label ~ label:not(.d-hidden), +.Datepickk .d-tables.range .d-end:not(.d-start) input:checked + label ~ label:not(.d-hidden), +.Datepickk .d-tables.range .d-end ~ .d-table-head input + label:not(.d-hidden) { + color: #222; } -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ input:checked + label ~ label.next, -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ input:checked + label ~ label.prev { +.Datepickk .d-tables.range .d-end.d-start input:checked ~ input:checked + label ~ label:not(.d-hidden).prev, +.Datepickk .d-tables.range .d-end:not(.d-start) input:checked + label ~ label:not(.d-hidden).prev, +.Datepickk .d-tables.range .d-end ~ .d-table-head input + label:not(.d-hidden).prev, +.Datepickk .d-tables.range .d-end.d-start input:checked ~ input:checked + label ~ label:not(.d-hidden).next, +.Datepickk .d-tables.range .d-end:not(.d-start) input:checked + label ~ label:not(.d-hidden).next, +.Datepickk .d-tables.range .d-end ~ .d-table-head input + label:not(.d-hidden).next { color: #ccc; } -#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ input:checked + label ~ label:before { +.Datepickk .d-tables.range .d-end.d-start input:checked ~ input:checked + label ~ label:not(.d-hidden):before, +.Datepickk .d-tables.range .d-end:not(.d-start) input:checked + label ~ label:not(.d-hidden):before, +.Datepickk .d-tables.range .d-end ~ .d-table-head input + label:not(.d-hidden):before { transform: scaleX(0); } -#Datepickk .d-tables.range.before input:not(.single):not(:checked) + label { - color: white; -} -#Datepickk .d-tables.range.before input:not(.single):not(:checked) + label:before { - transform: scaleX(1); - background-color: rgba(233, 90, 126, 0.3); -} -#Datepickk .d-tables.range.before input:not(.single):checked + label ~ label { - color: inherit; +.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover ~ .d-table-head input + label:not(.d-hidden), +.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:hover ~ input + label:not(.d-hidden), +.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:focus ~ input + label:not(.d-hidden) { + color: #222; } -#Datepickk .d-tables.range.before input:not(.single):checked + label ~ label.next, -#Datepickk .d-tables.range.before input:not(.single):checked + label ~ label.prev { +.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover ~ .d-table-head input + label:not(.d-hidden).prev, +.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:hover ~ input + label:not(.d-hidden).prev, +.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:focus ~ input + label:not(.d-hidden).prev, +.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover ~ .d-table-head input + label:not(.d-hidden).next, +.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:hover ~ input + label:not(.d-hidden).next, +.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:focus ~ input + label:not(.d-hidden).next { color: #ccc; } -#Datepickk .d-tables.range.before input:not(.single):checked + label ~ label:before { +.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover ~ .d-table-head input + label:not(.d-hidden):before, +.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:hover ~ input + label:not(.d-hidden):before, +.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:focus ~ input + label:not(.d-hidden):before { transform: scaleX(0); } -#Datepickk .d-fadeInUp { +.Datepickk .d-fadeInUp { backface-visibility: visible !important; animation-name: DatepickfadeInUp; animation-duration: .5s; diff --git a/dist/datepickk.js b/dist/datepickk.js index fd2a7df..cccb9ea 100644 --- a/dist/datepickk.js +++ b/dist/datepickk.js @@ -1,7 +1,7 @@ /*! * Datepickk * Docs & License: https://crsten.github.com/datepickk - * (c) 2016 Carsten Jacobsen + * (c) 2016-17 Carsten Jacobsen */ (function(){ @@ -74,57 +74,65 @@ var locked = false; function generateDaynames(){ - that.el.days.innerHTML = ''; - var ws = (weekStart !== null) ? weekStart : languages[lang].weekStart; - if(daynames){ - for(var x = 0;x languages[lang].dayNames.length - 1) ? i + ws - languages[lang].dayNames.length : i + ws; - var dayEl = document.createElement('div'); var dayTextEl = document.createElement('p'); dayTextEl.innerHTML = languages[lang].dayNames[dayNameIndex]; - dayEl.appendChild(dayTextEl); weekEl.appendChild(dayEl); } - - that.el.days.appendChild(weekEl); } - } + }); } function generateYears(){ [].slice.call(that.el.yearPicker.childNodes).forEach(function(node,index) { node.innerHTML = "'" + (currentYear + parseInt(node.getAttribute('data-year'))).toString().substring(2,4); - }) + }); } function generateInputs(){ that.el.tables.innerHTML = ''; for(var x = 0;x start){ @@ -186,7 +211,7 @@ var legendItem = document.createElement('p'); legendItem.setAttribute('class','d-legend-item'); legendItem.setAttribute('data-legend',_highlights[l].legend); - legendItem.setAttribute('data-legend-id',highlight.indexOf(_highlights[l])); + legendItem.setAttribute('data-legend-id', _highlights[l].id); legendItem.setAttribute('data-color',_highlights[l].backgroundColor); var legendItemPoint = document.createElement('span'); legendItemPoint.setAttribute('style','background-color:' + _highlights[l].backgroundColor); @@ -226,22 +251,22 @@ } function generateDates(year,month){ - var monthElements = that.el.querySelectorAll('.d-table'); + var months = that.el.querySelectorAll('.d-table-head').length; var ws = (weekStart !== null) ? weekStart : languages[lang].weekStart; - [].slice.call(that.el.querySelectorAll('.d-table')).forEach(function(element, index) { + [].slice.call(that.el.querySelectorAll('.d-table-head')).forEach(function(element, index) { + var date = new Date(Date.UTC(year, month + index - 1, 1)); var days = new Date(year,month + index,0).getDate(); var daysLast = new Date(year,month + index - 1,0).getDate(); var startDay = new Date(year,month + index - 1,1).getDay(); - var startDate = null; - var endDate = null; if(startDay - ws < 0){ startDay = 7 - ws; }else{ startDay -= ws; } + element.setAttribute('data-ym', date.toJSON().substr(0, 7)); var monthText = languages[lang].monthNames[parseMonth(month - 1 + index)]; - element.setAttribute('data-month',monthText); + element.childNodes[element.childNodes.length - 2].setAttribute('data-month', monthText); [].slice.call(element.querySelectorAll('.d-table input')).forEach(function(inputEl,i) { var labelEl = inputEl.nextSibling; @@ -269,7 +294,7 @@ labelEl.className = ''; }else{ labelEl.childNodes[0].innerHTML = i - days - startDay + 1; - if(index == monthElements.length-1){ + if(index == months-1){ date = new Date(year,month + index,i - days - startDay + 1); labelEl.className = 'next'; }else{ @@ -287,9 +312,8 @@ } if((minDate && date < minDate) || (maxDate && date > maxDate)){ - inputEl.setAttribute('disabled',true); labelEl.className = 'd-hidden'; - + inputEl.setAttribute('disabled',true); } if(today && date.getTime() == new Date().setHours(0,0,0,0)){ @@ -324,8 +348,7 @@ var percent = Math.round(100 / _highlights.length); bgColor = 'background: linear-gradient(-45deg,'; for(var z = 0;z < _highlights.length;z++){ - legendIds += highlight.indexOf(_highlights[z]); - if(z !== _highlights.length -1){legendIds += ' ';} + legendIds += _highlights[z].id + ' '; bgColor += _highlights[z].backgroundColor + ' ' + (percent*z) + '%'; if(z != _highlights.length - 1){ bgColor += ','; @@ -335,7 +358,7 @@ bgColor += ');'; }else{ bgColor = (_highlights[0].backgroundColor)?'background:'+ _highlights[0].backgroundColor + ';':''; - legendIds += highlight.indexOf(_highlights[0]); + legendIds += _highlights[0].id + ' '; } var Color = (_highlights[0].color)?'color:'+ _highlights[0].color + ';':''; labelEl.setAttribute('style',bgColor + Color); @@ -349,7 +372,7 @@ }; function setDate(){ - if(!that.el.tables.childNodes.length || !that.el.tables.childNodes[0].childNodes.length) return; + if(!that.el.tables.childNodes.length) return; resetCalendar(); @@ -423,16 +446,7 @@ el.checked = true; } }); - - that.el.tables.classList.remove('before'); - if(range && selectedDates.length > 1){ - var currentDate = new Date(currentYear,currentMonth-1,1); - var sorted = selectedDates.sort(function(a,b){return a.getTime()-b.getTime()}); - var first = that.el.querySelector('[data-date="'+ sorted[0].toJSON() +'"]'); - if(!first && currentDate >= new Date(sorted[0].getFullYear(),sorted[0].getMonth(),1) && currentDate <= new Date(sorted[1].getFullYear(),sorted[1].getMonth(),1)){ - that.el.tables.classList.add('before'); - } - } + updateRange(); }; function resetCalendar(){ @@ -459,89 +473,144 @@ setDate(); }; - function selectDate(date,ignoreOnSelect){ + function selectDate(date, ignoreOnSelect) { date = new Date(date); - date.setHours(0,0,0,0); - var el = that.el.querySelector('[data-date="'+ date.toJSON() +'"]'); + date.setHours(0, 0, 0, 0); - if(range && el && el.checked) { - el.classList.add('single'); - } - - if(el && !el.checked){ - el.checked = true; + var el = that.el.querySelector('[data-date="' + date.toJSON() + '"]'); + if (el) { + if (range) { + el.classList.add(selectedDates.length > 0 ? 'd-end' : 'd-start'); + } + if (! el.checked) { + el.checked = true; + } } - selectedDates.push(date); - if(onSelect && !ignoreOnSelect){ - onSelect.apply(date,[true]); + if (onSelect && !ignoreOnSelect) { + onSelect.apply(date, [true]); } }; - function unselectDate(date,ignoreOnSelect){ + function unselectDate(date, ignoreOnSelect) { date = new Date(date); - date.setHours(0,0,0,0); - var el = that.el.querySelector('[data-date="'+ date.toJSON() +'"]'); - if(el){ - el.classList.remove('single'); - if(el.checked){el.checked = false;} + date.setHours(0, 0, 0, 0); + + var el = that.el.querySelector('[data-date="' + date.toJSON() + '"]'); + if (el) { + if (range) { + el.classList.remove('d-start'); + el.classList.remove('d-end'); + } + if (el.checked) { + el.checked = false; + } } - selectedDates = selectedDates.filter(function(x){return x.getTime() != date.getTime()}); + selectedDates = selectedDates.filter(function (x) { + return x.getTime() != date.getTime(); + }); - if(onSelect && !ignoreOnSelect){ - onSelect.call(date,false); + if (onSelect && !ignoreOnSelect) { + onSelect.call(date, false); } }; function unselectAll(ignoreOnSelect){ - selectedDates.forEach(function(date) { - unselectDate(date,ignoreOnSelect); - }); - }; - - function inputChange(e){ - var input = this; - var date = new Date(input.getAttribute('data-date')); - input.classList.remove('single'); - if(locked){return;} - if(range){ - that.el.tables.classList.remove('before'); + while (selectedDates.length > 0) { + unselectDate(selectedDates[0], ignoreOnSelect); } - if(input.checked){ - if(maxSelections && selectedDates.length > maxSelections-1){ - var length = selectedDates.length; - for(length; length > maxSelections-1; length --){ - unselectDate(selectedDates[0]); - } + }; + function updateRange() { + var startObj = null; + var endObj = null; + if (range) { + if (selectedDates.length > 1) { + startObj = selectedDates[1].getTime() > selectedDates[0].getTime() ? selectedDates[0] : selectedDates[1]; + endObj = selectedDates[1].getTime() > selectedDates[0].getTime() ? selectedDates[1] : selectedDates[0]; + } else if (selectedDates.length > 0) { + startObj = selectedDates[0]; } + } + var start = startObj ? startObj.toJSON().substr(0, 7) : null; + var end = endObj ? endObj.toJSON().substr(0, 7) : null; + if (startObj) startObj = that.el.querySelector('[data-date="' + startObj.toJSON() + '"]'); + if (endObj) endObj = that.el.querySelector('[data-date="' + endObj.toJSON() + '"]'); + if (startObj) startObj = startObj.parentNode.parentNode.parentNode; + if (endObj) endObj = endObj.parentNode.parentNode.parentNode; + + if (start && end) { + that.el.tables.classList.add('d-selected'); + } else { + that.el.tables.classList.remove('d-selected'); + } - if(range && selectedDates.length){ - var first = that.el.querySelector('[data-date="'+ selectedDates[0].toJSON() +'"]'); - if(!first && date > selectedDates[0]){ - that.el.tables.classList.add('before'); + var bContinued = false; + [].slice.call(that.el.querySelectorAll('.d-table-head')).forEach(function (tableHead, index) { + var year_month = tableHead.getAttribute('data-ym'); + tableHead.classList.remove('d-start'); + tableHead.classList.remove('d-cont'); + tableHead.classList.remove('d-end'); + if (start) { + if (end) { + // special case for single date selection + if (tableHead === startObj && selectedDates[1].getTime() !== selectedDates[0].getTime()) { + tableHead.classList.add('d-start'); + bContinued = true; + } + if (tableHead === endObj) { + tableHead.classList.add('d-end'); + } + } else { + if (tableHead === startObj) { + tableHead.classList.add('d-start'); + bContinued = true; + } + } + if (! bContinued) { + bContinued = true; + if (start < year_month && (! end || year_month <= end)) tableHead.classList.add('d-cont'); } } + }); + } - selectedDates.push(date); + function inputChange(e){ + if (locked) { + return; + } + var input = this; + var date = new Date(input.getAttribute('data-date')); - if(closeOnSelect){ - that.hide(); + if (range) { + if (selectedDates.length > 1) { + while (selectedDates.length > 0) { + unselectDate(selectedDates[0]); + } } - }else{ - if(range && selectedDates.length == 1 && selectedDates[0].getTime() == date.getTime()){ + selectDate(date); + + } else { + if (input.checked) { + if (maxSelections && selectedDates.length > maxSelections - 1) { + var length = selectedDates.length; + for (length; length > maxSelections - 1; length--) { + unselectDate(selectedDates[0]); + } + } selectDate(date); - input.classList.add('single'); - }else{ - selectedDates = selectedDates.filter(function(x){return x.getTime() != date.getTime()}) + } else { + unselectDate(date); } } - if(onSelect){ - onSelect.call(date,input.checked); + updateRange(); + + if (closeOnSelect) { + that.hide(); } }; @@ -583,7 +652,7 @@ onClose.apply(that); } that.el.removeEventListener(whichAnimationEvent(),handler); - } + }; that.el.addEventListener(whichAnimationEvent(),handler); that.el.classList.add('d-hide'); }; @@ -630,7 +699,7 @@ setDate(); that.el.yearPicker.classList.remove('d-show'); }); - }) + }); var startX = 0; var distance = 0; @@ -664,7 +733,7 @@ function init(){ that.el = document.createElement('div'); - that.el.id = 'Datepickk'; + that.el.className = 'Datepickk'; that.el.classList.add(getBrowserVersion().type); that.el.innerHTML = template; that.el.calendar = that.el.childNodes[1]; @@ -673,15 +742,13 @@ that.el.header = that.el.calendar.childNodes[0]; that.el.monthPicker = that.el.calendar.childNodes[1]; that.el.yearPicker = that.el.calendar.childNodes[2]; - that.el.tables = that.el.calendar.childNodes[4]; - that.el.days = that.el.calendar.childNodes[3]; + that.el.tables = that.el.calendar.childNodes[3]; that.el.overlay = that.el.childNodes[4]; that.el.legend = that.el.childNodes[2]; setArgs(args); generateInputs(); - generateDaynames(); bindEvents(); if(inline){ @@ -785,7 +852,6 @@ set: function(x){ if(typeof x == 'number' && x > 0){ months = x; - generateDaynames(); generateInputs(); setDate(); @@ -859,6 +925,13 @@ return highlight; }, set: function(x){ + var nextId = 0; + var idList = {}; + highlight.forEach(function(hl) { + const key = (hl.legend || '') + '|' + (hl.backgroundColor || '') + '|' + (hl.color || ''); + idList[key] = hl.id; + if (hl.id >= nextId) nextId = hl.id + 1; + }); if(x instanceof Array){ x.forEach(function(hl) { if(hl instanceof Object){ @@ -876,12 +949,15 @@ start: new Date(hlDate.start.getFullYear(),hlDate.start.getMonth(),hlDate.start.getDate()), end: ('end' in hlDate)?new Date(hlDate.end.getFullYear(),hlDate.end.getMonth(),hlDate.end.getDate()):new Date(hlDate.start.getFullYear(),hlDate.start.getMonth(),hlDate.start.getDate()) }); - }) + }); } highlightObj.color = hl.color; highlightObj.backgroundColor = hl.backgroundColor; highlightObj.legend = ('legend' in hl)?hl.legend:null; + const key = (highlightObj.legend || '') + '|' + (highlightObj.backgroundColor || '') + '|' + (highlightObj.color || ''); + highlightObj.id = (key in idList ? idList[key] : nextId++); + idList[key] = highlightObj.id; highlight.push(highlightObj); } @@ -907,6 +983,9 @@ highlightObj.color = x.color; highlightObj.backgroundColor = x.backgroundColor; highlightObj.legend = ('legend' in x)?x.legend:null; + const key = (highlightObj.legend || '') + '|' + (highlightObj.backgroundColor || '') + '|' + (highlightObj.color || ''); + highlightObj.id = (key in idList ? idList[key] : nextId++); + idList[key] = highlightObj.id; highlight.push(highlightObj); }else if(!x){ @@ -1028,7 +1107,7 @@ "tooltips": { get: function(){ var ret = []; - for(key in tooltips){ + for(var key in tooltips){ ret.push({ date: new Date(parseInt(key)), text: tooltips[key] @@ -1147,21 +1226,21 @@ }; function whichAnimationEvent(){ - var t; - var el = document.createElement('fakeelement'); - var transitions = { - 'animation':'animationend', - 'OAnimation':'oanimationend', - 'MozAnimation':'animationend', - 'WebkitAnimation':'webkitAnimationEnd', - '':'MSAnimationEnd' - }; - - for(t in transitions){ - if( el.style[t] !== undefined ){ - return transitions[t]; - } - } + var t; + var el = document.createElement('fakeelement'); + var transitions = { + 'animation':'animationend', + 'OAnimation':'oanimationend', + 'MozAnimation':'animationend', + 'WebkitAnimation':'webkitAnimationEnd', + '':'MSAnimationEnd' + }; + + for(t in transitions){ + if( el.style[t] !== undefined ){ + return transitions[t]; + } + } } var template = '
' + @@ -1198,7 +1277,6 @@ '
' + '
' + '' + - '
' + '
' + '' + '
' + @@ -1209,34 +1287,34 @@ var browser = { type: null, version: null - } + }; var ua= navigator.userAgent, tem, ios, - M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || []; - ios = ua.match(/(iphone|ipad)\s+OS\s+([\d+_]+\d+)/i) || []; - if(/trident/i.test(M[1])){ - tem= /\brv[ :]+(\d+)/g.exec(ua) || []; - browser.type = 'MSIE'; - browser.version = parseInt(tem[1]); - return browser; - } - if(M[1]=== 'Chrome'){ - tem= ua.match(/\bOPR\/(\d+)/) - if(tem!= null) return 'Opera '+tem[1]; - } - if(ios[1]){ - return browser = { - type: 'iOS', - version: ios[2] - }; - } - M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?']; - if((tem= ua.match(/version\/(\d+)/i))!= null) M.splice(1, 1, tem[1]); - browser.type = M[0]; - browser.version = parseInt(M[1]); - - return browser; - } + M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || []; + ios = ua.match(/(iphone|ipad)\s+OS\s+([\d+_]+\d+)/i) || []; + if(/trident/i.test(M[1])){ + tem= /\brv[ :]+(\d+)/g.exec(ua) || []; + browser.type = 'MSIE'; + browser.version = parseInt(tem[1]); + return browser; + } + if(M[1]=== 'Chrome'){ + tem= ua.match(/\bOPR\/(\d+)/); + if(tem!= null) return 'Opera '+tem[1]; + } + if(ios[1]){ + return browser = { + type: 'iOS', + version: ios[2] + }; + } + M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?']; + if((tem= ua.match(/version\/(\d+)/i))!= null) M.splice(1, 1, tem[1]); + browser.type = M[0]; + browser.version = parseInt(M[1]); + + return browser; + }; /* Spread it to the world! */ if ( typeof define === 'function' && define.amd ) define('Datepickk', Datepickk); diff --git a/dist/datepickk.min.css b/dist/datepickk.min.css index e859cd0..f803633 100644 --- a/dist/datepickk.min.css +++ b/dist/datepickk.min.css @@ -1,2 +1,2 @@ -.d-noscroll{overflow:hidden}#Datepickk{position:fixed;top:0;left:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;z-index:6;width:100%;height:100%;font-family:Raleway,Open Sans,Arial;color:#333;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#Datepickk.MSIE:not(.wrapped):not(.inline) .d-calendar{height:560px}#Datepickk.d-show .d-overlay{animation-name:show;animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:both}#Datepickk.d-hide>*{animation-name:d;animation-duration:.2s;animation-timing-function:linear;animation-fill-mode:both}#Datepickk.d-hide .d-overlay{animation-name:show;animation-duration:.15s;animation-timing-function:ease-out;animation-fill-mode:both;animation-direction:reverse}#Datepickk .d-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(55,58,71,.95);z-index:1}#Datepickk .d-title{text-align:center}#Datepickk .d-confirm,#Datepickk .d-title{color:#fff;position:relative;font-size:30px;margin:25px 0;z-index:2}#Datepickk .d-confirm{border:none;background-color:transparent;outline:none;font-family:inherit;font-weight:500;cursor:pointer;padding:0}#Datepickk .d-confirm:empty,#Datepickk .d-title:empty{display:none}@media (max-height:528px){#Datepickk .d-confirm,#Datepickk .d-title{font-size:20px;margin:15px 0}#Datepickk .d-calendar{font-size:20px}}#Datepickk.multi .d-calendar,#Datepickk.multi .d-legend{max-width:800px}#Datepickk.multi .d-table{position:relative;padding-top:35px}#Datepickk.multi .d-table:before{content:attr(data-month);text-align:right;width:100%;font-size:1em;padding:5px 10px 5px 0;box-sizing:border-box;color:#ccc;position:absolute;left:0;top:0}#Datepickk.inline.d-show .d-calendar{animation:none}#Datepickk.inline,#Datepickk.wrapped{position:static;z-index:0}#Datepickk.inline .d-calendar,#Datepickk.wrapped .d-calendar{box-shadow:none;z-index:0;max-width:none;max-height:none}#Datepickk.inline .d-confirm,#Datepickk.inline .d-title,#Datepickk.wrapped .d-confirm,#Datepickk.wrapped .d-title{color:#222}#Datepickk.inline .d-overlay,#Datepickk.wrapped .d-overlay{display:none}#Datepickk.inline .d-legend,#Datepickk.wrapped .d-legend{color:#222!important;max-width:none;max-height:none}#Datepickk.fullscreen .d-calendar{max-width:none;max-height:none}#Datepickk.fullscreen .d-calendar input+label{outline:1px solid #eaeaea;box-sizing:border-box;-ms-flex-align:start!important;align-items:flex-start!important;-ms-flex-pack:end!important;justify-content:flex-end!important}#Datepickk.fullscreen .d-calendar input+label text{padding:5px 10px 0 0}#Datepickk.fullscreen .d-legend{max-width:none}#Datepickk .d-legend{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;width:100%;z-index:2;background-color:#f5f5f5;max-width:500px;position:relative;color:#fff}#Datepickk .d-legend:empty{height:0}#Datepickk .d-legend p{backface-visibility:visible!important;animation-name:b;animation-duration:.5s;animation-fill-mode:both;margin:0;padding:15px;transition:background-color .2s ease;cursor:pointer;color:#1b353f}#Datepickk .d-legend p:after{content:attr(data-legend)}#Datepickk .d-legend p span{width:20px;height:20px;border-radius:100%;vertical-align:bottom;display:inline-block;margin-right:10px}#Datepickk .d-calendar{margin:0;background-color:#fff;box-shadow:0 2px 10px -2px rgba(0,0,0,.6);font-size:20px;width:100%;position:relative;max-width:500px;max-height:560px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-positive:1;flex-grow:1;z-index:2}#Datepickk .d-header{position:relative;background-color:#1b363f;color:#fff;font-size:1.5em}#Datepickk .d-header p{margin:.5em 0;text-align:center}#Datepickk .d-header i{position:absolute;top:50%;width:30px;height:30px;cursor:pointer;text-align:center;border-radius:100%;transition:background-color .2s ease;transform:translateY(-50%)}#Datepickk .d-header i:after,#Datepickk .d-header i:before{content:"";width:0;height:0;position:absolute}#Datepickk .d-header i:before{border-top:10px solid transparent;border-bottom:10px solid transparent}#Datepickk .d-header i:after{border-top:7px solid transparent;border-bottom:7px solid transparent;transition:border-color .2s ease}#Datepickk .d-header i#d-previous{left:20px}#Datepickk .d-header i#d-previous:before{border-right:10px solid #fff;top:5px;left:7px}#Datepickk .d-header i#d-previous:after{border-right:7px solid #1b363f;top:8px;left:10px}#Datepickk .d-header i#d-next{right:20px}#Datepickk .d-header i#d-next:before{border-left:10px solid #fff;top:5px;left:12px}#Datepickk .d-header i#d-next:after{border-left:7px solid #1b363f;top:8px;left:12px}#Datepickk .d-header i:hover{background-color:#5e7178}#Datepickk .d-header i:hover:after{border-left-color:#5e7178!important;border-right-color:#5e7178!important}#Datepickk .d-month{cursor:pointer;white-space:nowrap}#Datepickk .d-year{margin-left:10px;cursor:pointer}#Datepickk .d-year:before{content:""}#Datepickk .d-month-picker{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;background-color:rgba(27,54,63,.9);height:0;overflow:hidden;pointer-events:none;transition:height .2s ease}#Datepickk .d-month-picker.d-show{height:44px;pointer-events:auto}#Datepickk .d-month-picker>div{width:8.33333%;text-align:center;line-height:44px;color:#fff;cursor:pointer}#Datepickk .d-month-picker>div:focus,#Datepickk .d-month-picker>div:hover{background-color:#e32d2d;color:#fff}#Datepickk .d-month-picker>div.current{background-color:#e9965a;color:#fff}#Datepickk .d-year-picker{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;background-color:rgba(27,54,63,.9);height:0;overflow:hidden;pointer-events:none;transition:height .2s ease}#Datepickk .d-year-picker.d-show{height:44px;pointer-events:auto}#Datepickk .d-year-picker>div{width:9.09091%;text-align:center;line-height:44px;color:#fff;cursor:pointer}#Datepickk .d-year-picker>div:focus,#Datepickk .d-year-picker>div:hover{background-color:#e32d2d;color:#fff}#Datepickk .d-year-picker>div.current{background-color:#e9965a;color:#fff}#Datepickk .d-week,#Datepickk .d-weekdays{display:-ms-flexbox;display:flex}#Datepickk .d-week{background-color:#e95a5a;color:#fff;width:100%}#Datepickk .d-week+.d-week{border-left:1px solid hsla(0,0%,100%,.05)}#Datepickk .d-week>div{-ms-flex-preferred-size:14.28571%;flex-basis:14.28571%;text-align:center}#Datepickk .d-week>div p{margin:.8em 0}@media (max-height:540px){#Datepickk .d-week{display:none}}#Datepickk .d-table{width:100%;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex:1;flex:1}#Datepickk .d-table:first-child:nth-last-child(n+3),#Datepickk .d-table:first-child:nth-last-child(n+3)~div{-ms-flex:0;flex:0;-ms-flex-preferred-size:calc(100% / 3 - 1px);flex-basis:calc(100% / 3 - 1px);border-bottom:1px solid rgba(0,0,0,.05)}#Datepickk .d-table label:nth-of-type(7n) .d-date-legends{padding-right:0}#Datepickk .d-table label:nth-last-of-type(-n+7) .d-date-legends{padding-bottom:0}#Datepickk .d-table input{display:none}#Datepickk .d-table input+label{flex-basis:14.28571%;-ms-flex-preferred-size:14.28%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,background .2s ease,color .2s ease;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing:border-box}#Datepickk .d-table input+label text{z-index:3;pointer-events:none;position:relative}#Datepickk .d-table input+label[style*=linear-gradient] text{text-shadow:0 0 20px #000}#Datepickk .d-table input+label.today text:before{content:"";width:100%;height:2px;background-color:#e95a5a;position:absolute;bottom:-5px;left:0}#Datepickk .d-table input+label:before{content:"";position:absolute;top:12.5%;left:12.5%;width:75%;height:75%;border-radius:5px;background-color:#7dd076;transition:transform .1s ease-out;transform:scaleX(0);transform-origin:left}#Datepickk .d-table input+label.legend-hover{animation:a 1s infinite;z-index:4}@keyframes a{0%{transform:translate(0)}50%{transform:translateY(-5px)}to{transform:translate(0)}}#Datepickk .d-table input+label.next,#Datepickk .d-table input+label.prev{color:#ccc}#Datepickk .d-table input+label [data-tooltip]:after{content:"";border-radius:100%;background-color:#1b363f;width:5px;height:5px;position:absolute;top:0;right:-10px}#Datepickk .d-table input+label .d-tooltip{position:absolute;background-color:#1b363f;color:#fff;padding:7px;font-size:.7em;z-index:5;text-align:center;top:100%;left:50%;transform:translate(-50%,-5px);display:none}#Datepickk .d-table input+label .d-tooltip:before{content:"";border-bottom:7px solid #1b363f;border-left:5px solid transparent;border-right:5px solid transparent;top:-7px;left:50%;position:absolute;margin-left:-5px}#Datepickk .d-table input+label .d-tooltip:empty{display:none!important}#Datepickk .d-table input+label:hover .d-tooltip{display:block}#Datepickk .d-table input:checked+label{color:#fff}#Datepickk .d-table input:checked+label:before{transform:scaleX(1)}#Datepickk .d-table input:disabled+label{cursor:not-allowed}#Datepickk .d-table input:disabled+label:after{content:"";position:absolute;top:50%;left:20%;width:60%;height:2px;z-index:4;background-color:#c60000;transform-origin:center;transform:rotate(-25deg)}#Datepickk .d-table input+label.d-hidden{cursor:default;color:#ccc!important;background:#f0f0f0!important;text-decoration:line-through}#Datepickk .d-table input+label.d-hidden:after{content:none}#Datepickk .d-tables{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}#Datepickk .d-tables:not(.locked) input:not(:checked)+label:not(.hidden):hover{color:#222;background-color:#eaeaea}#Datepickk .d-tables.locked label{cursor:default}#Datepickk .d-tables.range:not(.before) input:not(.single):checked+label,#Datepickk .d-tables.range:not(.before) input:not(.single):checked+label~label:not(.hidden){color:#fff}#Datepickk .d-tables.range:not(.before) input:not(.single):checked+label~label:not(.hidden):before{transform:scaleX(1);background-color:rgba(125,208,118,.5)}#Datepickk .d-tables.range:not(.before) input:not(.single):checked~label:focus~label,#Datepickk .d-tables.range:not(.before) input:not(.single):checked~label:hover~label{color:#666}#Datepickk .d-tables.range:not(.before) input:not(.single):checked~label:focus~label:before,#Datepickk .d-tables.range:not(.before) input:not(.single):checked~label:hover~label:before{transform:scaleX(0)}#Datepickk .d-tables.range:not(.before) input:not(.single):checked~label:focus~label.next,#Datepickk .d-tables.range:not(.before) input:not(.single):checked~label:focus~label.prev,#Datepickk .d-tables.range:not(.before) input:not(.single):checked~label:hover~label.next,#Datepickk .d-tables.range:not(.before) input:not(.single):checked~label:hover~label.prev{color:#ccc}#Datepickk .d-tables.range:not(.before) input:not(.single):checked~input:checked+label{color:#fff}#Datepickk .d-tables.range:not(.before) input:not(.single):checked~input:checked+label:before{transform:scaleX(1);background-color:#7dd076}#Datepickk .d-tables.range:not(.before) input:not(.single):checked~input:checked+label~label{color:inherit}#Datepickk .d-tables.range:not(.before) input:not(.single):checked~input:checked+label~label.next,#Datepickk .d-tables.range:not(.before) input:not(.single):checked~input:checked+label~label.prev{color:#ccc}#Datepickk .d-tables.range:not(.before) input:not(.single):checked~input:checked+label~label:before{transform:scaleX(0)}#Datepickk .d-tables.range.before input:not(.single):not(:checked)+label{color:#fff}#Datepickk .d-tables.range.before input:not(.single):not(:checked)+label:before{transform:scaleX(1);background-color:rgba(233,90,126,.3)}#Datepickk .d-tables.range.before input:not(.single):checked+label~label{color:inherit}#Datepickk .d-tables.range.before input:not(.single):checked+label~label.next,#Datepickk .d-tables.range.before input:not(.single):checked+label~label.prev{color:#ccc}#Datepickk .d-tables.range.before input:not(.single):checked+label~label:before{transform:scaleX(0)}#Datepickk .d-fadeInUp{backface-visibility:visible!important;animation-name:b;animation-duration:.5s;animation-fill-mode:both}@keyframes b{0%{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}.d-fadeInUp{animation-name:b}#Datepickk.d-show>*{animation-name:c;animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:both}@keyframes c{0%{opacity:0;transform:translateY(-50px)}}@keyframes d{to{opacity:0;transform:translateY(50px)}} +.d-noscroll{overflow:hidden}.Datepickk{position:fixed;top:0;left:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;z-index:6;width:100%;height:100%;font-family:Raleway,Open Sans,Arial;color:#333;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.Datepickk.MSIE:not(.wrapped):not(.inline) .d-calendar{height:560px}.Datepickk.d-show .d-overlay{animation-name:show;animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:both}.Datepickk.d-hide>*{animation-name:d;animation-duration:.2s;animation-timing-function:linear;animation-fill-mode:both}.Datepickk.d-hide .d-overlay{animation-name:show;animation-duration:.15s;animation-timing-function:ease-out;animation-fill-mode:both;animation-direction:reverse}.Datepickk .d-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(55,58,71,.95);z-index:1}.Datepickk .d-title{text-align:center}.Datepickk .d-confirm,.Datepickk .d-title{color:#fff;position:relative;font-size:30px;margin:25px 0;z-index:2}.Datepickk .d-confirm{border:none;background-color:transparent;outline:none;font-family:inherit;font-weight:500;cursor:pointer;padding:0}.Datepickk .d-confirm:empty,.Datepickk .d-title:empty{display:none}@media (max-height:528px){.Datepickk .d-confirm,.Datepickk .d-title{font-size:20px;margin:15px 0}.Datepickk .d-calendar{font-size:20px}}.Datepickk.multi .d-month:after{content:attr(data-month);display:block;text-align:center;font-size:1em;padding:5px 10px 5px 0;box-sizing:border-box;color:#ccc}.Datepickk.inline.d-show .d-calendar{animation:none}.Datepickk.inline,.Datepickk.wrapped{position:static;z-index:0}.Datepickk.inline .d-calendar,.Datepickk.wrapped .d-calendar{box-shadow:none;z-index:0;max-width:none;max-height:none}.Datepickk.inline .d-title,.Datepickk.wrapped .d-title{color:#222}.Datepickk.inline .d-confirm,.Datepickk.wrapped .d-confirm{background-color:#7dd076;color:#fff;padding:5px 10px}.Datepickk.inline .d-overlay,.Datepickk.wrapped .d-overlay{display:none}.Datepickk.inline .d-legend,.Datepickk.wrapped .d-legend{color:#222!important;max-width:none;max-height:none}.Datepickk.fullscreen .d-calendar{max-width:none;max-height:none}.Datepickk.fullscreen .d-calendar input+label{outline:1px solid #eaeaea;box-sizing:border-box;-ms-flex-align:start!important;align-items:flex-start!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.Datepickk.fullscreen .d-calendar input+label text{padding:5px 10px 0 0}.Datepickk.fullscreen .d-legend{max-width:none}.Datepickk .d-legend{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;width:100%;z-index:2;background-color:#f5f5f5;max-width:500px;position:relative;color:#fff}.Datepickk .d-legend:empty{height:0}.Datepickk .d-legend p{backface-visibility:visible!important;animation-name:b;animation-duration:.5s;animation-fill-mode:both;margin:0;padding:15px;transition:background-color .2s ease;cursor:pointer;color:#1b353f}.Datepickk .d-legend p:after{content:attr(data-legend)}.Datepickk .d-legend p span{width:20px;height:20px;border-radius:100%;vertical-align:bottom;display:inline-block;margin-right:10px}.Datepickk .d-calendar{margin:0;background-color:#fff;box-shadow:0 2px 10px -2px rgba(0,0,0,.6);font-size:20px;width:100%;position:relative;max-width:500px;max-height:560px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-positive:1;flex-grow:1;z-index:2}.Datepickk .d-header{position:relative;background-color:#1b363f;color:#fff;font-size:1.5em}.Datepickk .d-header p{margin:.5em 0;text-align:center}.Datepickk .d-header i{position:absolute;top:50%;width:30px;height:30px;cursor:pointer;text-align:center;border-radius:100%;transition:background-color .2s ease;transform:translateY(-50%)}.Datepickk .d-header i:after,.Datepickk .d-header i:before{content:"";width:0;height:0;position:absolute}.Datepickk .d-header i:before{border-top:10px solid transparent;border-bottom:10px solid transparent}.Datepickk .d-header i:after{border-top:7px solid transparent;border-bottom:7px solid transparent;transition:border-color .2s ease}.Datepickk .d-header i#d-previous{left:20px}.Datepickk .d-header i#d-previous:before{border-right:10px solid #fff;top:5px;left:7px}.Datepickk .d-header i#d-previous:after{border-right:7px solid #1b363f;top:8px;left:10px}.Datepickk .d-header i#d-next{right:20px}.Datepickk .d-header i#d-next:before{border-left:10px solid #fff;top:5px;left:12px}.Datepickk .d-header i#d-next:after{border-left:7px solid #1b363f;top:8px;left:12px}.Datepickk .d-header i:hover{background-color:#5e7178}.Datepickk .d-header i:hover:after{border-left-color:#5e7178!important;border-right-color:#5e7178!important}.Datepickk .d-month{cursor:pointer;white-space:nowrap}.Datepickk .d-year{margin-left:10px;cursor:pointer}.Datepickk .d-year:before{content:""}.Datepickk .d-month-picker{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;background-color:rgba(27,54,63,.9);height:0;overflow:hidden;pointer-events:none;transition:height .2s ease}.Datepickk .d-month-picker.d-show{height:44px;pointer-events:auto}.Datepickk .d-month-picker>div{width:8.33333%;text-align:center;line-height:44px;color:#fff;cursor:pointer}.Datepickk .d-month-picker>div:focus,.Datepickk .d-month-picker>div:hover{background-color:#e32d2d;color:#fff}.Datepickk .d-month-picker>div.current{background-color:#e9965a;color:#fff}.Datepickk .d-year-picker{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;background-color:rgba(27,54,63,.9);height:0;overflow:hidden;pointer-events:none;transition:height .2s ease}.Datepickk .d-year-picker.d-show{height:44px;pointer-events:auto}.Datepickk .d-year-picker>div{width:9.09091%;text-align:center;line-height:44px;color:#fff;cursor:pointer}.Datepickk .d-year-picker>div:focus,.Datepickk .d-year-picker>div:hover{background-color:#e32d2d;color:#fff}.Datepickk .d-year-picker>div.current{background-color:#e9965a;color:#fff}.Datepickk .d-week,.Datepickk .d-weekdays{display:-ms-flexbox;display:flex}.Datepickk .d-week{background-color:#e95a5a;color:#fff;width:100%}.Datepickk .d-week+.d-week{border-left:1px solid hsla(0,0%,100%,.05)}.Datepickk .d-week>div{-ms-flex-preferred-size:14.28571%;flex-basis:14.28571%;text-align:center}.Datepickk .d-week>div p{margin:.8em 0}@media (max-height:540px){.Datepickk .d-week{display:none}}.Datepickk .d-table-container{position:relative}.Datepickk .d-table-container:after{content:"";display:block;padding-bottom:85.71%}.Datepickk .d-table-container .d-table{position:absolute;top:0;bottom:0;left:0;right:0}.Datepickk .d-table{width:100%;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex:1;flex:1}.Datepickk .d-table label:nth-of-type(7n) .d-date-legends{padding-right:0}.Datepickk .d-table label:nth-last-of-type(-n+7) .d-date-legends{padding-bottom:0}.Datepickk .d-table input{display:none}.Datepickk .d-table input+label{flex-basis:14.28571%;-ms-flex-preferred-size:14.28%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,background .2s ease,color .2s ease;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing:border-box}.Datepickk .d-table input+label text{z-index:3;pointer-events:none;position:relative}.Datepickk .d-table input+label[style*=linear-gradient] text{text-shadow:0 0 20px #000}.Datepickk .d-table input+label.today text:before{content:"";width:100%;height:2px;background-color:#e95a5a;position:absolute;bottom:-5px;left:0}.Datepickk .d-table input+label:before{content:"";position:absolute;top:12.5%;left:12.5%;width:75%;height:75%;border-radius:5px;transition:transform .1s ease-out;transform:scaleX(0);transform-origin:left}.Datepickk .d-table input+label.legend-hover{animation:a 1s infinite;z-index:4}@keyframes a{0%{transform:translate(0)}50%{transform:translateY(-5px)}to{transform:translate(0)}}.Datepickk .d-table input+label.next,.Datepickk .d-table input+label.prev{color:#ccc}.Datepickk .d-table input+label [data-tooltip]:after{content:"";border-radius:100%;background-color:#1b363f;width:5px;height:5px;position:absolute;top:0;right:-10px}.Datepickk .d-table input+label .d-tooltip{position:absolute;background-color:#1b363f;color:#fff;padding:7px;font-size:.7em;z-index:5;text-align:center;top:100%;left:50%;transform:translate(-50%,-5px);display:none}.Datepickk .d-table input+label .d-tooltip:before{content:"";border-bottom:7px solid #1b363f;border-left:5px solid transparent;border-right:5px solid transparent;top:-7px;left:50%;position:absolute;margin-left:-5px}.Datepickk .d-table input+label .d-tooltip:empty{display:none!important}.Datepickk .d-table input+label:hover .d-tooltip{display:block}.Datepickk .d-table input:checked+label{color:#fff!important}.Datepickk .d-table input:checked+label:before{background-color:#7dd076!important;transform:scaleX(1)!important}.Datepickk .d-table input:disabled+label:not(.d-hidden){cursor:not-allowed}.Datepickk .d-table input:disabled+label:not(.d-hidden):after{content:"";position:absolute;top:50%;left:20%;width:60%;height:2px;z-index:4;background-color:#c60000;transform-origin:center;transform:rotate(-25deg)}.Datepickk .d-table input+label.d-hidden{color:#ccc;background:#f0f0f0;cursor:default;text-decoration:line-through}.Datepickk .d-tables{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.Datepickk .d-tables>*{min-width:320px;-ms-flex:1 1 0;flex:1 1 0}.Datepickk .d-tables:not(.locked) input+label:not(.d-hidden):hover{color:#222;background-color:#eaeaea}.Datepickk .d-tables.locked label{cursor:default}.Datepickk .d-tables.range input.d-start:not(.d-end):checked+label:before{border-radius:9px 5px 5px 9px;transform:scaleX(.8) translateX(20%)!important}.Datepickk .d-tables.range input.d-end:not(.d-start):checked+label:before{border-radius:5px 9px 9px 5px;transform:scaleX(.85)!important}.Datepickk .d-tables.range .d-cont input+label:not(.d-hidden),.Datepickk .d-tables.range .d-cont~.d-table-head input+label:not(.d-hidden),.Datepickk .d-tables.range .d-start input:checked+label~label:not(.d-hidden),.Datepickk .d-tables.range .d-start~.d-table-head input+label:not(.d-hidden){color:#fff}.Datepickk .d-tables.range .d-cont input+label:not(.d-hidden):before,.Datepickk .d-tables.range .d-cont~.d-table-head input+label:not(.d-hidden):before,.Datepickk .d-tables.range .d-start input:checked+label~label:not(.d-hidden):before,.Datepickk .d-tables.range .d-start~.d-table-head input+label:not(.d-hidden):before{transform:scaleX(1);background-color:rgba(125,208,118,.5)}.Datepickk .d-tables.range .d-cont input+label:not(.d-hidden).next:before,.Datepickk .d-tables.range .d-cont input+label:not(.d-hidden).prev:before,.Datepickk .d-tables.range .d-cont~.d-table-head input+label:not(.d-hidden).next:before,.Datepickk .d-tables.range .d-cont~.d-table-head input+label:not(.d-hidden).prev:before,.Datepickk .d-tables.range .d-start input:checked+label~label:not(.d-hidden).next:before,.Datepickk .d-tables.range .d-start input:checked+label~label:not(.d-hidden).prev:before,.Datepickk .d-tables.range .d-start~.d-table-head input+label:not(.d-hidden).next:before,.Datepickk .d-tables.range .d-start~.d-table-head input+label:not(.d-hidden).prev:before{background-color:rgba(125,208,118,.25)}.Datepickk .d-tables.range .d-end.d-start input:checked~input:checked+label~label:not(.d-hidden),.Datepickk .d-tables.range .d-end:not(.d-start) input:checked+label~label:not(.d-hidden),.Datepickk .d-tables.range .d-end~.d-table-head input+label:not(.d-hidden){color:#222}.Datepickk .d-tables.range .d-end.d-start input:checked~input:checked+label~label:not(.d-hidden).next,.Datepickk .d-tables.range .d-end.d-start input:checked~input:checked+label~label:not(.d-hidden).prev,.Datepickk .d-tables.range .d-end:not(.d-start) input:checked+label~label:not(.d-hidden).next,.Datepickk .d-tables.range .d-end:not(.d-start) input:checked+label~label:not(.d-hidden).prev,.Datepickk .d-tables.range .d-end~.d-table-head input+label:not(.d-hidden).next,.Datepickk .d-tables.range .d-end~.d-table-head input+label:not(.d-hidden).prev{color:#ccc}.Datepickk .d-tables.range .d-end.d-start input:checked~input:checked+label~label:not(.d-hidden):before,.Datepickk .d-tables.range .d-end:not(.d-start) input:checked+label~label:not(.d-hidden):before,.Datepickk .d-tables.range .d-end~.d-table-head input+label:not(.d-hidden):before{transform:scaleX(0)}.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:focus~input+label:not(.d-hidden),.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:hover~input+label:not(.d-hidden),.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover~.d-table-head input+label:not(.d-hidden){color:#222}.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:focus~input+label:not(.d-hidden).next,.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:focus~input+label:not(.d-hidden).prev,.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:hover~input+label:not(.d-hidden).next,.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:hover~input+label:not(.d-hidden).prev,.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover~.d-table-head input+label:not(.d-hidden).next,.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover~.d-table-head input+label:not(.d-hidden).prev{color:#ccc}.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:focus~input+label:not(.d-hidden):before,.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:hover~input+label:not(.d-hidden):before,.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover~.d-table-head input+label:not(.d-hidden):before{transform:scaleX(0)}.Datepickk .d-fadeInUp{backface-visibility:visible!important;animation-name:b;animation-duration:.5s;animation-fill-mode:both}@keyframes b{0%{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}.d-fadeInUp{animation-name:b}#Datepickk.d-show>*{animation-name:c;animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:both}@keyframes c{0%{opacity:0;transform:translateY(-50px)}}@keyframes d{to{opacity:0;transform:translateY(50px)}} /*# sourceMappingURL=datepickk.min.css.map */ diff --git a/dist/datepickk.min.css.map b/dist/datepickk.min.css.map index b53ad91..ba7b389 100644 --- a/dist/datepickk.min.css.map +++ b/dist/datepickk.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["datepickk.css"],"names":[],"mappings":"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","file":"datepickk.min.css","sourcesContent":["/*Main color*/\n/*Datepickk*/\n.d-noscroll {\n overflow: hidden;\n}\n#Datepickk {\n position: fixed;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n z-index: 999;\n width: 100%;\n height: 100%;\n font-family: 'Raleway', 'Open Sans', Arial;\n color: #333;\n user-select: none;\n}\n#Datepickk.MSIE:not(.wrapped):not(.inline) .d-calendar {\n height: 560px;\n}\n#Datepickk.d-show .d-overlay {\n animation-name: show;\n animation-duration: .2s;\n animation-timing-function: ease-out;\n animation-fill-mode: both;\n}\n#Datepickk.d-hide > * {\n animation-name: DatepickkHide;\n animation-duration: .2s;\n animation-timing-function: linear;\n animation-fill-mode: both;\n}\n#Datepickk.d-hide .d-overlay {\n animation-name: show;\n animation-duration: .15s;\n animation-timing-function: ease-out;\n animation-fill-mode: both;\n animation-direction: reverse;\n}\n#Datepickk .d-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(55, 58, 71, 0.95);\n z-index: 1;\n}\n#Datepickk .d-title {\n color: white;\n text-align: center;\n position: relative;\n font-size: 30px;\n margin: 25px 0;\n z-index: 2;\n}\n#Datepickk .d-confirm {\n border: none;\n position: relative;\n background-color: transparent;\n outline: none;\n font-family: inherit;\n font-size: 30px;\n font-weight: 500;\n color: white;\n margin: 25px 0;\n cursor: pointer;\n padding: 0;\n z-index: 2;\n}\n#Datepickk .d-title:empty,\n#Datepickk .d-confirm:empty {\n display: none;\n}\n@media (max-height: 528px) {\n #Datepickk .d-title,\n #Datepickk .d-confirm {\n font-size: 20px;\n margin: 15px 0;\n }\n #Datepickk .d-calendar {\n font-size: 20px;\n }\n}\n#Datepickk.multi .d-calendar,\n#Datepickk.multi .d-legend {\n max-width: 800px;\n}\n#Datepickk.multi .d-table {\n position: relative;\n padding-top: 35px;\n}\n#Datepickk.multi .d-table:before {\n content: attr(data-month);\n text-align: right;\n width: 100%;\n font-size: 1em;\n padding: 5px 10px 5px 0;\n box-sizing: border-box;\n color: #CCC;\n position: absolute;\n left: 0;\n top: 0;\n}\n#Datepickk.inline.d-show .d-calendar {\n animation: none;\n}\n#Datepickk.inline,\n#Datepickk.wrapped {\n position: static;\n z-index: 0;\n}\n#Datepickk.inline .d-calendar,\n#Datepickk.wrapped .d-calendar {\n box-shadow: none;\n z-index: 0;\n max-width: none;\n max-height: none;\n}\n#Datepickk.inline .d-confirm,\n#Datepickk.wrapped .d-confirm,\n#Datepickk.inline .d-title,\n#Datepickk.wrapped .d-title {\n color: #222;\n}\n#Datepickk.inline .d-overlay,\n#Datepickk.wrapped .d-overlay {\n display: none;\n}\n#Datepickk.inline .d-legend,\n#Datepickk.wrapped .d-legend {\n color: #222!important;\n max-width: none;\n max-height: none;\n}\n#Datepickk.fullscreen .d-calendar {\n max-width: none;\n max-height: none;\n}\n#Datepickk.fullscreen .d-calendar input + label {\n outline: 1px solid #eaeaea;\n box-sizing: border-box;\n align-items: flex-start !important;\n justify-content: flex-end !important;\n}\n#Datepickk.fullscreen .d-calendar input + label text {\n padding: 5px 10px 0 0;\n}\n#Datepickk.fullscreen .d-legend {\n max-width: none;\n}\n#Datepickk .d-legend {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n width: 100%;\n z-index: 2;\n background-color: whitesmoke;\n max-width: 500px;\n position: relative;\n color: white;\n}\n#Datepickk .d-legend:empty {\n height: 0;\n}\n#Datepickk .d-legend p {\n backface-visibility: visible !important;\n animation-name: DatepickfadeInUp;\n animation-duration: .5s;\n animation-fill-mode: both;\n margin: 0;\n padding: 15px;\n transition: background-color 0.2s ease;\n cursor: pointer;\n color: #1B353F;\n}\n#Datepickk .d-legend p:after {\n content: attr(data-legend);\n}\n#Datepickk .d-legend p span {\n width: 20px;\n height: 20px;\n border-radius: 100%;\n vertical-align: bottom;\n display: inline-block;\n margin-right: 10px;\n}\n#Datepickk .d-calendar {\n margin: 0;\n background-color: white;\n box-shadow: 0px 2px 10px -2px rgba(0, 0, 0, 0.6);\n font-size: 20px;\n width: 100%;\n position: relative;\n max-width: 500px;\n max-height: 560px;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n flex-grow: 1;\n z-index: 2;\n}\n#Datepickk .d-header {\n position: relative;\n background-color: #1B363F;\n color: white;\n font-size: 1.5em;\n}\n#Datepickk .d-header p {\n margin: .5em 0;\n text-align: center;\n}\n#Datepickk .d-header i {\n position: absolute;\n top: 50%;\n width: 30px;\n height: 30px;\n cursor: pointer;\n text-align: center;\n border-radius: 100%;\n transition: background-color 0.2s ease;\n transform: translateY(-50%);\n}\n#Datepickk .d-header i:before,\n#Datepickk .d-header i:after {\n content: '';\n width: 0;\n height: 0;\n position: absolute;\n}\n#Datepickk .d-header i:before {\n border-top: 10px solid rgba(0, 0, 0, 0);\n border-bottom: 10px solid rgba(0, 0, 0, 0);\n}\n#Datepickk .d-header i:after {\n border-top: 7px solid rgba(0, 0, 0, 0);\n border-bottom: 7px solid rgba(0, 0, 0, 0);\n transition: border-color 0.2s ease;\n}\n#Datepickk .d-header i#d-previous {\n left: 20px;\n}\n#Datepickk .d-header i#d-previous:before {\n border-right: 10px solid #FFF;\n top: 5px;\n left: 7px;\n}\n#Datepickk .d-header i#d-previous:after {\n border-right: 7px solid #1B363F;\n top: 8px;\n left: 10px;\n}\n#Datepickk .d-header i#d-next {\n right: 20px;\n}\n#Datepickk .d-header i#d-next:before {\n border-left: 10px solid #FFF;\n top: 5px;\n left: 12px;\n}\n#Datepickk .d-header i#d-next:after {\n border-left: 7px solid #1B363F;\n top: 8px;\n left: 12px;\n}\n#Datepickk .d-header i:hover {\n background-color: #5E7178;\n}\n#Datepickk .d-header i:hover:after {\n border-left-color: #5E7178!important;\n border-right-color: #5E7178!important;\n}\n#Datepickk .d-month {\n cursor: pointer;\n white-space: nowrap;\n}\n#Datepickk .d-year {\n margin-left: 10px;\n cursor: pointer;\n}\n#Datepickk .d-year:before {\n content: \"\";\n}\n#Datepickk .d-month-picker {\n display: flex;\n justify-content: space-between;\n background-color: rgba(27, 54, 63, 0.9);\n height: 0;\n overflow: hidden;\n pointer-events: none;\n transition: height .2s ease;\n}\n#Datepickk .d-month-picker.d-show {\n height: 44px;\n pointer-events: auto;\n}\n#Datepickk .d-month-picker > div {\n width: calc(100% / 12);\n text-align: center;\n line-height: 44px;\n color: white;\n cursor: pointer;\n}\n#Datepickk .d-month-picker > div:hover,\n#Datepickk .d-month-picker > div:focus {\n background-color: #e32d2d;\n color: white;\n}\n#Datepickk .d-month-picker > div.current {\n background-color: #e9965a;\n color: white;\n}\n#Datepickk .d-year-picker {\n display: flex;\n justify-content: space-between;\n background-color: rgba(27, 54, 63, 0.9);\n height: 0;\n overflow: hidden;\n pointer-events: none;\n transition: height .2s ease;\n}\n#Datepickk .d-year-picker.d-show {\n height: 44px;\n pointer-events: auto;\n}\n#Datepickk .d-year-picker > div {\n width: calc(100% / 11);\n text-align: center;\n line-height: 44px;\n color: white;\n cursor: pointer;\n}\n#Datepickk .d-year-picker > div:hover,\n#Datepickk .d-year-picker > div:focus {\n background-color: #e32d2d;\n color: white;\n}\n#Datepickk .d-year-picker > div.current {\n background-color: #e9965a;\n color: white;\n}\n#Datepickk .d-weekdays {\n display: flex;\n}\n#Datepickk .d-week {\n background-color: #E95A5A;\n color: white;\n display: flex;\n width: 100%;\n}\n#Datepickk .d-week + .d-week {\n border-left: 1px solid rgba(255, 255, 255, 0.05);\n}\n#Datepickk .d-week > div {\n flex-basis: calc(100% / 7);\n text-align: center;\n}\n#Datepickk .d-week > div p {\n margin: .8em 0;\n}\n@media (max-height: 540px) {\n #Datepickk .d-week {\n display: none;\n }\n}\n#Datepickk .d-table {\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n}\n#Datepickk .d-table:first-child:nth-last-child(n + 3),\n#Datepickk .d-table:first-child:nth-last-child(n + 3) ~ div {\n flex: 0;\n flex-basis: calc(100% / 3 - 1px);\n /*-1px due to browser render*/\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n#Datepickk .d-table label:nth-of-type(7n) .d-date-legends {\n padding-right: 0;\n}\n#Datepickk .d-table label:nth-last-of-type(-n + 7) .d-date-legends {\n padding-bottom: 0;\n}\n#Datepickk .d-table input {\n display: none;\n}\n#Datepickk .d-table input + label {\n flex-basis: calc(100% / 7);\n -ms-flex-preferred-size: 14.28%;\n /*Keep -> IE render fail*/\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: background-color 0.2s ease, background 0.2s ease, color 0.2s ease;\n position: relative;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n box-sizing: border-box;\n}\n#Datepickk .d-table input + label text {\n z-index: 9;\n pointer-events: none;\n position: relative;\n}\n#Datepickk .d-table input + label[style*=\"linear-gradient\"] text {\n text-shadow: 0 0 20px black;\n}\n#Datepickk .d-table input + label.today text:before {\n content: '';\n width: 100%;\n height: 2px;\n background-color: #E95A5A;\n position: absolute;\n bottom: -5px;\n left: 0;\n}\n#Datepickk .d-table input + label:before {\n content: '';\n position: absolute;\n top: 12.5%;\n left: 12.5%;\n width: 75%;\n height: 75%;\n border-radius: 5px;\n background-color: #7DD076;\n transition: transform 0.1s ease-out;\n transform: scaleX(0);\n transform-origin: left;\n}\n#Datepickk .d-table input + label.legend-hover {\n animation: legendhover 1s infinite;\n z-index: 10;\n}\n@keyframes legendhover {\n 0% {\n transform: translate(0, 0px);\n }\n 50% {\n transform: translate(0, -5px);\n }\n 100% {\n transform: translate(0, 0px);\n }\n}\n#Datepickk .d-table input + label.next,\n#Datepickk .d-table input + label.prev {\n color: #ccc;\n}\n#Datepickk .d-table input + label [data-tooltip]:after {\n content: '';\n border-radius: 100%;\n background-color: #1B363F;\n width: 5px;\n height: 5px;\n position: absolute;\n top: 0;\n right: -10px;\n}\n#Datepickk .d-table input + label .d-tooltip {\n position: absolute;\n background-color: #1B363F;\n color: #FFF;\n padding: 7px;\n font-size: .7em;\n z-index: 13;\n text-align: center;\n top: 100%;\n left: 50%;\n transform: translate(-50%, -5px);\n display: none;\n}\n#Datepickk .d-table input + label .d-tooltip:before {\n content: '';\n border-bottom: 7px solid #1B363F;\n border-left: 5px solid rgba(0, 0, 0, 0);\n border-right: 5px solid rgba(0, 0, 0, 0);\n top: -7px;\n left: 50%;\n position: absolute;\n margin-left: -5px;\n}\n#Datepickk .d-table input + label .d-tooltip:empty {\n display: none!important;\n}\n#Datepickk .d-table input + label:hover .d-tooltip {\n display: block;\n}\n#Datepickk .d-table input:checked + label {\n color: white;\n}\n#Datepickk .d-table input:checked + label:before {\n transform: scaleX(1);\n}\n#Datepickk .d-table input:disabled + label {\n cursor: not-allowed;\n}\n#Datepickk .d-table input:disabled + label:after {\n content: '';\n position: absolute;\n top: 50%;\n left: 20%;\n width: 60%;\n height: 2px;\n z-index: 10;\n background-color: #c60000;\n transform-origin: center;\n transform: rotate(-25deg);\n}\n#Datepickk .d-table input + label.d-hidden {\n cursor: default;\n color: #ccc!important;\n background: #f0f0f0!important;\n text-decoration: line-through;\n}\n#Datepickk .d-table input + label.d-hidden:after {\n content: none;\n}\n#Datepickk .d-tables {\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n}\n#Datepickk .d-tables:not(.locked) input:not(:checked) + label:not(.hidden):hover {\n color: #222;\n background-color: #eaeaea;\n}\n#Datepickk .d-tables.locked label {\n cursor: default;\n}\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked + label {\n color: white;\n}\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked + label ~ label:not(.hidden) {\n color: white;\n}\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked + label ~ label:not(.hidden):before {\n transform: scaleX(1);\n background-color: rgba(125, 208, 118, 0.5);\n}\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:hover ~ label,\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:focus ~ label {\n color: #666;\n}\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:hover ~ label:before,\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:focus ~ label:before {\n transform: scaleX(0);\n}\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:hover ~ label.next,\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:focus ~ label.next,\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:hover ~ label.prev,\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ label:focus ~ label.prev {\n color: #ccc;\n}\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ input:checked + label {\n color: white;\n}\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ input:checked + label:before {\n transform: scaleX(1);\n background-color: #7DD076;\n}\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ input:checked + label ~ label {\n color: inherit;\n}\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ input:checked + label ~ label.next,\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ input:checked + label ~ label.prev {\n color: #ccc;\n}\n#Datepickk .d-tables.range:not(.before) input:not(.single):checked ~ input:checked + label ~ label:before {\n transform: scaleX(0);\n}\n#Datepickk .d-tables.range.before input:not(.single):not(:checked) + label {\n color: white;\n}\n#Datepickk .d-tables.range.before input:not(.single):not(:checked) + label:before {\n transform: scaleX(1);\n background-color: rgba(233, 90, 126, 0.3);\n}\n#Datepickk .d-tables.range.before input:not(.single):checked + label ~ label {\n color: inherit;\n}\n#Datepickk .d-tables.range.before input:not(.single):checked + label ~ label.next,\n#Datepickk .d-tables.range.before input:not(.single):checked + label ~ label.prev {\n color: #ccc;\n}\n#Datepickk .d-tables.range.before input:not(.single):checked + label ~ label:before {\n transform: scaleX(0);\n}\n#Datepickk .d-fadeInUp {\n backface-visibility: visible !important;\n animation-name: DatepickfadeInUp;\n animation-duration: .5s;\n animation-fill-mode: both;\n}\n@keyframes DatepickBGShow {\n from {\n opacity: 0;\n }\n}\n@keyframes DatepickfadeInUp {\n 0% {\n opacity: 0;\n transform: translate3d(0, 100%, 0);\n }\n 100% {\n opacity: 1;\n transform: none;\n }\n}\n.d-fadeInUp {\n animation-name: DatepickfadeInUp;\n}\n#Datepickk.d-show > * {\n animation-name: DatepickkShow;\n animation-duration: .2s;\n animation-timing-function: ease-out;\n animation-fill-mode: both;\n}\n@keyframes DatepickkShow {\n from {\n opacity: 0;\n transform: translateY(-50px);\n }\n}\n@keyframes DatepickkHide {\n to {\n opacity: 0;\n transform: translateY(50px);\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["datepickk.css"],"names":[],"mappings":"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","file":"datepickk.min.css","sourcesContent":["/*Main color*/\n/*Datepickk*/\n.d-noscroll {\n overflow: hidden;\n}\n.Datepickk {\n position: fixed;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n z-index: 999;\n width: 100%;\n height: 100%;\n font-family: 'Raleway', 'Open Sans', Arial;\n color: #333;\n user-select: none;\n}\n.Datepickk.MSIE:not(.wrapped):not(.inline) .d-calendar {\n height: 560px;\n}\n.Datepickk.d-show .d-overlay {\n animation-name: show;\n animation-duration: .2s;\n animation-timing-function: ease-out;\n animation-fill-mode: both;\n}\n.Datepickk.d-hide > * {\n animation-name: DatepickkHide;\n animation-duration: .2s;\n animation-timing-function: linear;\n animation-fill-mode: both;\n}\n.Datepickk.d-hide .d-overlay {\n animation-name: show;\n animation-duration: .15s;\n animation-timing-function: ease-out;\n animation-fill-mode: both;\n animation-direction: reverse;\n}\n.Datepickk .d-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(55, 58, 71, 0.95);\n z-index: 1;\n}\n.Datepickk .d-title {\n color: white;\n text-align: center;\n position: relative;\n font-size: 30px;\n margin: 25px 0;\n z-index: 2;\n}\n.Datepickk .d-confirm {\n border: none;\n position: relative;\n background-color: transparent;\n outline: none;\n font-family: inherit;\n font-size: 30px;\n font-weight: 500;\n color: white;\n margin: 25px 0;\n cursor: pointer;\n padding: 0;\n z-index: 2;\n}\n.Datepickk .d-title:empty,\n.Datepickk .d-confirm:empty {\n display: none;\n}\n@media (max-height: 528px) {\n .Datepickk .d-title,\n .Datepickk .d-confirm {\n font-size: 20px;\n margin: 15px 0;\n }\n .Datepickk .d-calendar {\n font-size: 20px;\n }\n}\n.Datepickk.multi .d-month:after {\n content: attr(data-month);\n display: block;\n text-align: center;\n font-size: 1em;\n padding: 5px 10px 5px 0;\n box-sizing: border-box;\n color: #CCC;\n}\n.Datepickk.inline.d-show .d-calendar {\n animation: none;\n}\n.Datepickk.inline,\n.Datepickk.wrapped {\n position: static;\n z-index: 0;\n}\n.Datepickk.inline .d-calendar,\n.Datepickk.wrapped .d-calendar {\n box-shadow: none;\n z-index: 0;\n max-width: none;\n max-height: none;\n}\n.Datepickk.inline .d-title,\n.Datepickk.wrapped .d-title {\n color: #222;\n}\n.Datepickk.inline .d-confirm,\n.Datepickk.wrapped .d-confirm {\n background-color: #7DD076;\n color: white;\n padding: 5px 10px;\n}\n.Datepickk.inline .d-overlay,\n.Datepickk.wrapped .d-overlay {\n display: none;\n}\n.Datepickk.inline .d-legend,\n.Datepickk.wrapped .d-legend {\n color: #222!important;\n max-width: none;\n max-height: none;\n}\n.Datepickk.fullscreen .d-calendar {\n max-width: none;\n max-height: none;\n}\n.Datepickk.fullscreen .d-calendar input + label {\n outline: 1px solid #eaeaea;\n box-sizing: border-box;\n align-items: flex-start !important;\n justify-content: flex-end !important;\n}\n.Datepickk.fullscreen .d-calendar input + label text {\n padding: 5px 10px 0 0;\n}\n.Datepickk.fullscreen .d-legend {\n max-width: none;\n}\n.Datepickk .d-legend {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n width: 100%;\n z-index: 2;\n background-color: whitesmoke;\n max-width: 500px;\n position: relative;\n color: white;\n}\n.Datepickk .d-legend:empty {\n height: 0;\n}\n.Datepickk .d-legend p {\n backface-visibility: visible !important;\n animation-name: DatepickfadeInUp;\n animation-duration: .5s;\n animation-fill-mode: both;\n margin: 0;\n padding: 15px;\n transition: background-color 0.2s ease;\n cursor: pointer;\n color: #1B353F;\n}\n.Datepickk .d-legend p:after {\n content: attr(data-legend);\n}\n.Datepickk .d-legend p span {\n width: 20px;\n height: 20px;\n border-radius: 100%;\n vertical-align: bottom;\n display: inline-block;\n margin-right: 10px;\n}\n.Datepickk .d-calendar {\n margin: 0;\n background-color: white;\n box-shadow: 0px 2px 10px -2px rgba(0, 0, 0, 0.6);\n font-size: 20px;\n width: 100%;\n position: relative;\n max-width: 500px;\n max-height: 560px;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n flex-grow: 1;\n z-index: 2;\n}\n.Datepickk .d-header {\n position: relative;\n background-color: #1B363F;\n color: white;\n font-size: 1.5em;\n}\n.Datepickk .d-header p {\n margin: .5em 0;\n text-align: center;\n}\n.Datepickk .d-header i {\n position: absolute;\n top: 50%;\n width: 30px;\n height: 30px;\n cursor: pointer;\n text-align: center;\n border-radius: 100%;\n transition: background-color 0.2s ease;\n transform: translateY(-50%);\n}\n.Datepickk .d-header i:before,\n.Datepickk .d-header i:after {\n content: '';\n width: 0;\n height: 0;\n position: absolute;\n}\n.Datepickk .d-header i:before {\n border-top: 10px solid rgba(0, 0, 0, 0);\n border-bottom: 10px solid rgba(0, 0, 0, 0);\n}\n.Datepickk .d-header i:after {\n border-top: 7px solid rgba(0, 0, 0, 0);\n border-bottom: 7px solid rgba(0, 0, 0, 0);\n transition: border-color 0.2s ease;\n}\n.Datepickk .d-header i#d-previous {\n left: 20px;\n}\n.Datepickk .d-header i#d-previous:before {\n border-right: 10px solid #FFF;\n top: 5px;\n left: 7px;\n}\n.Datepickk .d-header i#d-previous:after {\n border-right: 7px solid #1B363F;\n top: 8px;\n left: 10px;\n}\n.Datepickk .d-header i#d-next {\n right: 20px;\n}\n.Datepickk .d-header i#d-next:before {\n border-left: 10px solid #FFF;\n top: 5px;\n left: 12px;\n}\n.Datepickk .d-header i#d-next:after {\n border-left: 7px solid #1B363F;\n top: 8px;\n left: 12px;\n}\n.Datepickk .d-header i:hover {\n background-color: #5E7178;\n}\n.Datepickk .d-header i:hover:after {\n border-left-color: #5E7178!important;\n border-right-color: #5E7178!important;\n}\n.Datepickk .d-month {\n cursor: pointer;\n white-space: nowrap;\n}\n.Datepickk .d-year {\n margin-left: 10px;\n cursor: pointer;\n}\n.Datepickk .d-year:before {\n content: \"\";\n}\n.Datepickk .d-month-picker {\n display: flex;\n justify-content: space-between;\n background-color: rgba(27, 54, 63, 0.9);\n height: 0;\n overflow: hidden;\n pointer-events: none;\n transition: height .2s ease;\n}\n.Datepickk .d-month-picker.d-show {\n height: 44px;\n pointer-events: auto;\n}\n.Datepickk .d-month-picker > div {\n width: calc(100% / 12);\n text-align: center;\n line-height: 44px;\n color: white;\n cursor: pointer;\n}\n.Datepickk .d-month-picker > div:hover,\n.Datepickk .d-month-picker > div:focus {\n background-color: #e32d2d;\n color: white;\n}\n.Datepickk .d-month-picker > div.current {\n background-color: #e9965a;\n color: white;\n}\n.Datepickk .d-year-picker {\n display: flex;\n justify-content: space-between;\n background-color: rgba(27, 54, 63, 0.9);\n height: 0;\n overflow: hidden;\n pointer-events: none;\n transition: height .2s ease;\n}\n.Datepickk .d-year-picker.d-show {\n height: 44px;\n pointer-events: auto;\n}\n.Datepickk .d-year-picker > div {\n width: calc(100% / 11);\n text-align: center;\n line-height: 44px;\n color: white;\n cursor: pointer;\n}\n.Datepickk .d-year-picker > div:hover,\n.Datepickk .d-year-picker > div:focus {\n background-color: #e32d2d;\n color: white;\n}\n.Datepickk .d-year-picker > div.current {\n background-color: #e9965a;\n color: white;\n}\n.Datepickk .d-weekdays {\n display: flex;\n}\n.Datepickk .d-week {\n background-color: #E95A5A;\n color: white;\n display: flex;\n width: 100%;\n}\n.Datepickk .d-week + .d-week {\n border-left: 1px solid rgba(255, 255, 255, 0.05);\n}\n.Datepickk .d-week > div {\n flex-basis: calc(100% / 7);\n text-align: center;\n}\n.Datepickk .d-week > div p {\n margin: .8em 0;\n}\n@media (max-height: 540px) {\n .Datepickk .d-week {\n display: none;\n }\n}\n.Datepickk .d-table-container {\n position: relative;\n}\n.Datepickk .d-table-container:after {\n content: \"\";\n display: block;\n padding-bottom: 85.71%;\n /* 7:6 */\n}\n.Datepickk .d-table-container .d-table {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n.Datepickk .d-table {\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n}\n.Datepickk .d-table label:nth-of-type(7n) .d-date-legends {\n padding-right: 0;\n}\n.Datepickk .d-table label:nth-last-of-type(-n + 7) .d-date-legends {\n padding-bottom: 0;\n}\n.Datepickk .d-table input {\n display: none;\n}\n.Datepickk .d-table input + label {\n flex-basis: calc(100% / 7);\n -ms-flex-preferred-size: 14.28%;\n /*Keep -> IE render fail*/\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: background-color 0.2s ease, background 0.2s ease, color 0.2s ease;\n position: relative;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n box-sizing: border-box;\n}\n.Datepickk .d-table input + label text {\n z-index: 9;\n pointer-events: none;\n position: relative;\n}\n.Datepickk .d-table input + label[style*=\"linear-gradient\"] text {\n text-shadow: 0 0 20px black;\n}\n.Datepickk .d-table input + label.today text:before {\n content: '';\n width: 100%;\n height: 2px;\n background-color: #E95A5A;\n position: absolute;\n bottom: -5px;\n left: 0;\n}\n.Datepickk .d-table input + label:before {\n content: '';\n position: absolute;\n top: 12.5%;\n left: 12.5%;\n width: 75%;\n height: 75%;\n border-radius: 5px;\n transition: transform 0.1s ease-out;\n transform: scaleX(0);\n transform-origin: left;\n}\n.Datepickk .d-table input + label.legend-hover {\n animation: legendhover 1s infinite;\n z-index: 10;\n}\n@keyframes legendhover {\n 0% {\n transform: translate(0, 0px);\n }\n 50% {\n transform: translate(0, -5px);\n }\n 100% {\n transform: translate(0, 0px);\n }\n}\n.Datepickk .d-table input + label.next,\n.Datepickk .d-table input + label.prev {\n color: #ccc;\n}\n.Datepickk .d-table input + label [data-tooltip]:after {\n content: '';\n border-radius: 100%;\n background-color: #1B363F;\n width: 5px;\n height: 5px;\n position: absolute;\n top: 0;\n right: -10px;\n}\n.Datepickk .d-table input + label .d-tooltip {\n position: absolute;\n background-color: #1B363F;\n color: #FFF;\n padding: 7px;\n font-size: .7em;\n z-index: 13;\n text-align: center;\n top: 100%;\n left: 50%;\n transform: translate(-50%, -5px);\n display: none;\n}\n.Datepickk .d-table input + label .d-tooltip:before {\n content: '';\n border-bottom: 7px solid #1B363F;\n border-left: 5px solid rgba(0, 0, 0, 0);\n border-right: 5px solid rgba(0, 0, 0, 0);\n top: -7px;\n left: 50%;\n position: absolute;\n margin-left: -5px;\n}\n.Datepickk .d-table input + label .d-tooltip:empty {\n display: none!important;\n}\n.Datepickk .d-table input + label:hover .d-tooltip {\n display: block;\n}\n.Datepickk .d-table input:checked + label {\n color: white !important;\n}\n.Datepickk .d-table input:checked + label:before {\n background-color: #7DD076 !important;\n transform: scaleX(1) !important;\n}\n.Datepickk .d-table input:disabled + label:not(.d-hidden) {\n cursor: not-allowed;\n}\n.Datepickk .d-table input:disabled + label:not(.d-hidden):after {\n content: '';\n position: absolute;\n top: 50%;\n left: 20%;\n width: 60%;\n height: 2px;\n z-index: 10;\n background-color: #c60000;\n transform-origin: center;\n transform: rotate(-25deg);\n}\n.Datepickk .d-table input + label.d-hidden {\n color: #ccc;\n background: #f0f0f0;\n cursor: default;\n text-decoration: line-through;\n}\n.Datepickk .d-tables {\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n}\n.Datepickk .d-tables > * {\n min-width: 320px;\n flex: 1 1 0;\n}\n.Datepickk .d-tables:not(.locked) input + label:not(.d-hidden):hover {\n color: #222;\n background-color: #eaeaea;\n}\n.Datepickk .d-tables.locked label {\n cursor: default;\n}\n.Datepickk .d-tables.range input.d-start:not(.d-end):checked + label:before {\n border-radius: 9px 5px 5px 9px;\n transform: scaleX(0.8) translateX(20%) !important;\n}\n.Datepickk .d-tables.range input.d-end:not(.d-start):checked + label:before {\n border-radius: 5px 9px 9px 5px;\n transform: scaleX(0.85) !important;\n}\n.Datepickk .d-tables.range .d-start input:checked + label ~ label:not(.d-hidden),\n.Datepickk .d-tables.range .d-start ~ .d-table-head input + label:not(.d-hidden),\n.Datepickk .d-tables.range .d-cont input + label:not(.d-hidden),\n.Datepickk .d-tables.range .d-cont ~ .d-table-head input + label:not(.d-hidden) {\n color: white;\n}\n.Datepickk .d-tables.range .d-start input:checked + label ~ label:not(.d-hidden):before,\n.Datepickk .d-tables.range .d-start ~ .d-table-head input + label:not(.d-hidden):before,\n.Datepickk .d-tables.range .d-cont input + label:not(.d-hidden):before,\n.Datepickk .d-tables.range .d-cont ~ .d-table-head input + label:not(.d-hidden):before {\n transform: scaleX(1);\n background-color: rgba(125, 208, 118, 0.5);\n}\n.Datepickk .d-tables.range .d-start input:checked + label ~ label:not(.d-hidden).prev:before,\n.Datepickk .d-tables.range .d-start ~ .d-table-head input + label:not(.d-hidden).prev:before,\n.Datepickk .d-tables.range .d-cont input + label:not(.d-hidden).prev:before,\n.Datepickk .d-tables.range .d-cont ~ .d-table-head input + label:not(.d-hidden).prev:before,\n.Datepickk .d-tables.range .d-start input:checked + label ~ label:not(.d-hidden).next:before,\n.Datepickk .d-tables.range .d-start ~ .d-table-head input + label:not(.d-hidden).next:before,\n.Datepickk .d-tables.range .d-cont input + label:not(.d-hidden).next:before,\n.Datepickk .d-tables.range .d-cont ~ .d-table-head input + label:not(.d-hidden).next:before {\n background-color: rgba(125, 208, 118, 0.25);\n}\n.Datepickk .d-tables.range .d-end.d-start input:checked ~ input:checked + label ~ label:not(.d-hidden),\n.Datepickk .d-tables.range .d-end:not(.d-start) input:checked + label ~ label:not(.d-hidden),\n.Datepickk .d-tables.range .d-end ~ .d-table-head input + label:not(.d-hidden) {\n color: #222;\n}\n.Datepickk .d-tables.range .d-end.d-start input:checked ~ input:checked + label ~ label:not(.d-hidden).prev,\n.Datepickk .d-tables.range .d-end:not(.d-start) input:checked + label ~ label:not(.d-hidden).prev,\n.Datepickk .d-tables.range .d-end ~ .d-table-head input + label:not(.d-hidden).prev,\n.Datepickk .d-tables.range .d-end.d-start input:checked ~ input:checked + label ~ label:not(.d-hidden).next,\n.Datepickk .d-tables.range .d-end:not(.d-start) input:checked + label ~ label:not(.d-hidden).next,\n.Datepickk .d-tables.range .d-end ~ .d-table-head input + label:not(.d-hidden).next {\n color: #ccc;\n}\n.Datepickk .d-tables.range .d-end.d-start input:checked ~ input:checked + label ~ label:not(.d-hidden):before,\n.Datepickk .d-tables.range .d-end:not(.d-start) input:checked + label ~ label:not(.d-hidden):before,\n.Datepickk .d-tables.range .d-end ~ .d-table-head input + label:not(.d-hidden):before {\n transform: scaleX(0);\n}\n.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover ~ .d-table-head input + label:not(.d-hidden),\n.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:hover ~ input + label:not(.d-hidden),\n.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:focus ~ input + label:not(.d-hidden) {\n color: #222;\n}\n.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover ~ .d-table-head input + label:not(.d-hidden).prev,\n.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:hover ~ input + label:not(.d-hidden).prev,\n.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:focus ~ input + label:not(.d-hidden).prev,\n.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover ~ .d-table-head input + label:not(.d-hidden).next,\n.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:hover ~ input + label:not(.d-hidden).next,\n.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:focus ~ input + label:not(.d-hidden).next {\n color: #ccc;\n}\n.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover ~ .d-table-head input + label:not(.d-hidden):before,\n.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:hover ~ input + label:not(.d-hidden):before,\n.Datepickk .d-tables.range:not(.locked):not(.d-selected) .d-table-head:hover label:focus ~ input + label:not(.d-hidden):before {\n transform: scaleX(0);\n}\n.Datepickk .d-fadeInUp {\n backface-visibility: visible !important;\n animation-name: DatepickfadeInUp;\n animation-duration: .5s;\n animation-fill-mode: both;\n}\n@keyframes DatepickBGShow {\n from {\n opacity: 0;\n }\n}\n@keyframes DatepickfadeInUp {\n 0% {\n opacity: 0;\n transform: translate3d(0, 100%, 0);\n }\n 100% {\n opacity: 1;\n transform: none;\n }\n}\n.d-fadeInUp {\n animation-name: DatepickfadeInUp;\n}\n#Datepickk.d-show > * {\n animation-name: DatepickkShow;\n animation-duration: .2s;\n animation-timing-function: ease-out;\n animation-fill-mode: both;\n}\n@keyframes DatepickkShow {\n from {\n opacity: 0;\n transform: translateY(-50px);\n }\n}\n@keyframes DatepickkHide {\n to {\n opacity: 0;\n transform: translateY(50px);\n }\n}\n"]} \ No newline at end of file diff --git a/dist/datepickk.min.js b/dist/datepickk.min.js index c9fce95..3804989 100644 --- a/dist/datepickk.min.js +++ b/dist/datepickk.min.js @@ -1,2 +1,2 @@ -!function(){function e(r){function i(){M.el.days.innerHTML="";var e=null!==re?re:O[$].weekStart;if(Z)for(var t=0;tO[$].dayNames.length-1?a+e-O[$].dayNames.length:a+e,i=document.createElement("div"),l=document.createElement("p");l.innerHTML=O[$].dayNames[r],i.appendChild(l),n.appendChild(i)}M.el.days.appendChild(n)}}function l(){[].slice.call(M.el.yearPicker.childNodes).forEach(function(e,t){e.innerHTML="'"+(F+parseInt(e.getAttribute("data-year"))).toString().substring(2,4)})}function d(){function t(e){function t(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}if("LABEL"===e.target.nodeName){var n=e.target.getAttribute("data-legend-id")?e.target.getAttribute("data-legend-id").split(" "):[];n.length&&n.forEach(function(n){var a=M.el.legend.querySelector('[data-legend-id="'+n+'"]');if("mouseover"==e.type&&a){var r=a.getAttribute("data-color")?t(a.getAttribute("data-color")):null;a.setAttribute("style","background-color:rgba("+r.r+","+r.g+","+r.b+",0.35);")}else a&&a.removeAttribute("style")})}}M.el.tables.innerHTML="";for(var n=0;nt)return!0;return!1}),r=[],i=0;i11?e-=12:e<0&&(e+=12),e}function c(e,t){var n=M.el.querySelectorAll(".d-table"),a=null!==re?re:O[$].weekStart;[].slice.call(M.el.querySelectorAll(".d-table")).forEach(function(r,i){var l=new Date(e,t+i,0).getDate(),d=new Date(e,t+i-1,0).getDate(),s=new Date(e,t+i-1,1).getDay();s-a<0?s=7-a:s-=a;var c=O[$].monthNames[o(t-1+i)];r.setAttribute("data-month",c),[].slice.call(r.querySelectorAll(".d-table input")).forEach(function(a,r){var o=a.nextSibling;a.checked=!1,a.removeAttribute("disabled"),o.removeAttribute("style"),o.removeAttribute("data-legend-id"),o.className="";var c=null;if(rae)&&(a.setAttribute("disabled",!0),o.className="d-hidden"),ee&&c.getTime()==(new Date).setHours(0,0,0,0)?o.classList.add("today"):o.classList.remove("today"),U[c.getTime()]?(o.childNodes[0].setAttribute("data-tooltip",!0),o.childNodes[1].innerHTML=U[c.getTime()]):(o.childNodes[0].removeAttribute("data-tooltip"),o.childNodes[1].innerHTML="");var u=Q.filter(function(e){for(var t=0;t=e.dates[t].start.getTime()&&c.getTime()<=e.dates[t].end.getTime())return!0;return!1});if(u.length>0){var h="",f="";if(u.length>1){var g=Math.round(100/u.length);h="background: linear-gradient(-45deg,";for(var m=0;m12||x<1)&&(x>12?(F+=1,x-=12):(F-=1,x+=12)),ae&&new Date(F,x-1+I-1,1)>=new Date(ae).setDate(1)?(F=ae.getFullYear(),x=ae.getMonth()+1-I+1,M.el.header.childNodes[2].setAttribute("style","visibility:hidden")):M.el.header.childNodes[2].removeAttribute("style"),ne&&new Date(F,x-1,1)<=new Date(ne).setDate(1)?(F=ne.getFullYear(),x=ne.getMonth()+1,M.el.header.childNodes[0].setAttribute("style","visibility:hidden")):M.el.header.childNodes[0].removeAttribute("style");for(var e=0;e11?t-=12:t<0&&(t+=12),M.el.monthPicker.childNodes[t].classList.add("current")}c(F,x),l();var n=O[$].monthNames[x-1],a="";if(I>1){a+=" - ";var r=x-1+I-1;r>11?r-=12:r<0&&(r+=12),a+=O[$].monthNames[r]}var i=x-1+I-1>11?F.toString().substring(2,4)+"/"+(F+1).toString().substring(2,4):F.toString().substring(2,4);M.el.header.childNodes[1].childNodes[0].innerHTML=n+a,M.el.header.childNodes[1].childNodes[1].innerHTML=i,M.el.yearPicker.querySelector('[data-year="0"]').classList.add("current"),x-1+I-1>11&&M.el.yearPicker.querySelector('[data-year="1"]').classList.add("current"),h(),X&&X.call(M)}}function h(){if(C.forEach(function(e){var t=M.el.querySelector('[data-date="'+e.toJSON()+'"]');t&&(t.checked=!0)}),M.el.tables.classList.remove("before"),Y&&C.length>1){var e=new Date(F,x-1,1),t=C.sort(function(e,t){return e.getTime()-t.getTime()}),n=M.el.querySelector('[data-date="'+t[0].toJSON()+'"]');!n&&e>=new Date(t[0].getFullYear(),t[0].getMonth(),1)&&e<=new Date(t[1].getFullYear(),t[1].getMonth(),1)&&M.el.tables.classList.add("before")}}function f(){[].slice.call(M.el.querySelectorAll(".d-table input")).forEach(function(e){e.checked=!1}),[].slice.call(M.el.monthPicker.querySelectorAll(".current")).forEach(function(e){e.classList.remove("current")}),[].slice.call(M.el.yearPicker.querySelectorAll(".current")).forEach(function(e){e.classList.remove("current")})}function g(){x+=I,u()}function m(){x-=I,u()}function v(e,t){e=new Date(e),e.setHours(0,0,0,0);var n=M.el.querySelector('[data-date="'+e.toJSON()+'"]');Y&&n&&n.checked&&n.classList.add("single"),n&&!n.checked&&(n.checked=!0),C.push(e),_&&!t&&_.apply(e,[!0])}function b(e,t){e=new Date(e),e.setHours(0,0,0,0);var n=M.el.querySelector('[data-date="'+e.toJSON()+'"]');n&&(n.classList.remove("single"),n.checked&&(n.checked=!1)),C=C.filter(function(t){return t.getTime()!=e.getTime()}),_&&!t&&_.call(e,!1)}function p(e){C.forEach(function(t){b(t,e)})}function y(e){var t=this,n=new Date(t.getAttribute("data-date"));if(t.classList.remove("single"),!ie){if(Y&&M.el.tables.classList.remove("before"),t.checked){if(P&&C.length>P-1){var a=C.length;for(a;a>P-1;a--)b(C[0])}if(Y&&C.length){var r=M.el.querySelector('[data-date="'+C[0].toJSON()+'"]');!r&&n>C[0]&&M.el.tables.classList.add("before")}C.push(n),j&&M.hide()}else Y&&1==C.length&&C[0].getTime()==n.getTime()?(v(n),t.classList.add("single")):C=C.filter(function(e){return e.getTime()!=n.getTime()});_&&_.call(n,t.checked)}}function D(e){e?(Y=!0,M.el.tables.classList.add("range")):(Y=!1,M.el.tables.classList.remove("range"))}function L(e){M.inline||M.container!==document.body||document.body.classList.add("d-noscroll"),N(e);var n=function(){M.el.classList.remove("d-show"),M.el.calendar.removeEventListener(t(),n)};M.el.calendar.addEventListener(t(),n),M.el.classList.add("d-show"),q.appendChild(M.el),H=!0,te&&(x=te.getMonth()+1,F=te.getFullYear()),u()}function k(){document.body.classList.remove("d-noscroll");var e=function(){M.el.parentNode.removeChild(M.el),H=!1,M.el.classList.remove("d-hide"),"function"==typeof B&&B.apply(M),M.el.removeEventListener(t(),e)};M.el.addEventListener(t(),e),M.el.classList.add("d-hide")}function w(){M.el.header.childNodes[0].addEventListener(T,m),M.el.header.childNodes[2].addEventListener(T,g),M.el.header.childNodes[1].childNodes[0].addEventListener(T,function(){M.el.monthPicker.classList.contains("d-show")?M.el.monthPicker.classList.remove("d-show"):M.el.monthPicker.classList.add("d-show"),M.el.yearPicker.classList.remove("d-show")}),M.el.header.childNodes[1].childNodes[1].addEventListener(T,function(){l(),M.el.yearPicker.classList.contains("d-show")?M.el.yearPicker.classList.remove("d-show"):M.el.yearPicker.classList.add("d-show"),M.el.monthPicker.classList.remove("d-show")}),M.el.button.addEventListener(T,k),M.el.overlay.addEventListener(T,function(){V&&M.hide()}),[].slice.call(M.el.monthPicker.childNodes).forEach(function(e){e.addEventListener(T,function(){x=parseInt(this.getAttribute("data-month")),u(),M.el.monthPicker.classList.remove("d-show")})}),[].slice.call(M.el.yearPicker.childNodes).forEach(function(e){e.addEventListener(T,function(){F+=parseInt(this.getAttribute("data-year")),u(),M.el.yearPicker.classList.remove("d-show")})});var e=0,t=0;M.el.calendar.addEventListener("touchstart",function(t){e=t.changedTouches[0].clientX||t.originalEvent.changedTouches[0].clientX}),M.el.calendar.addEventListener("touchmove",function(n){t=n.changedTouches[0].clientX-e||n.originalEvent.changedTouches[0].clientX-e,n.preventDefault()}),M.el.calendar.addEventListener("touchend",function(e){t>50?m():t<-50&&g(),t=0})}function N(e){for(var t in e)t in M&&(M[t]=e[t])}function A(){M.el=document.createElement("div"),M.el.id="Datepickk",M.el.classList.add(a().type),M.el.innerHTML=n,M.el.calendar=M.el.childNodes[1],M.el.titleBox=M.el.childNodes[0],M.el.button=M.el.childNodes[3],M.el.header=M.el.calendar.childNodes[0],M.el.monthPicker=M.el.calendar.childNodes[1],M.el.yearPicker=M.el.calendar.childNodes[2],M.el.tables=M.el.calendar.childNodes[4],M.el.days=M.el.calendar.childNodes[3],M.el.overlay=M.el.childNodes[4],M.el.legend=M.el.childNodes[2],N(r),d(),i(),w(),W&&L(),null!=window.FastClick&&FastClick.attach(M.el)}function E(){return new Date(F,x-1,1)}function S(e){e=new Date(e),x=e.getMonth()+1,F=e.getFullYear(),u()}e.numInstances=(e.numInstances||0)+1;var M=this,T="click",C=[],F=(new Date).getFullYear(),x=(new Date).getMonth()+1,O={no:{monthNames:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],dayNames:["sø","ma","ti","on","to","fr","lø"],weekStart:1},se:{monthNames:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],dayNames:["sö","må","ti","on","to","fr","lö"],weekStart:1},ru:{monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],dayNames:["вс","пн","вт","ср","чт","пт","сб"],weekStart:1},en:{monthNames:["january","february","march","april","may","june","july","august","september","october","november","december"],dayNames:["su","mo","tu","we","th","fr","sa"],weekStart:0},de:{monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],dayNames:["So","Mo","Di","Mi","Do","Fr","Sa"],weekStart:1}};O.nb=O.no,O.nn=O.no;var Y=!1,P=null,q=document.body,H=!1,I=1,j=!1,J=null,z=null,X=null,B=null,R=null,V=!0,W=!1,$="en",_=null,G=[],K=[],Q=[],U={},Z=!0,ee=!0,te=null,ne=null,ae=null,re=null,ie=!1;return M.show=L,M.hide=k,M.selectDate=v,M.unselectAll=p,M.unselectDate=b,Object.defineProperties(M,{selectedDates:{get:function(){return C.sort(function(e,t){return e.getTime()-t.getTime()})}},range:{get:function(){return Y},set:function(e){D(e),e&&(P=2)}},button:{get:function(){return J},set:function(e){J="string"==typeof e?e:null,M.el.button.innerHTML=J?J:""}},title:{get:function(){return z},set:function(e){z="string"==typeof e?e:null,M.el.titleBox.innerText=z?z:""}},lang:{get:function(){return $},set:function(e){e in O?($=e,i(),u()):console.error("Language not found")}},weekStart:{get:function(){return null!==re?re:O[$].weekStart},set:function(e){"number"==typeof e&&e>-1&&e<7?(re=e,i(),u()):console.error("weekStart must be a number between 0 and 6")}},months:{get:function(){return I},set:function(e){"number"==typeof e&&e>0?(I=e,i(),d(),u(),1==I?M.el.classList.remove("multi"):M.el.classList.add("multi")):console.error("months must be a number > 0")}},isOpen:{get:function(){return H}},closeOnSelect:{get:function(){return j},set:function(e){j=!!e}},disabledDays:{get:function(){return K},set:function(e){if(e instanceof Array)for(var t=0;tP[W].dayNames.length-1?l+r-P[W].dayNames.length:l+r,i=document.createElement("div"),s=document.createElement("p");s.innerHTML=P[W].dayNames[d],i.appendChild(s),a.appendChild(i)}})}function d(){[].slice.call(T.el.yearPicker.childNodes).forEach(function(e,t){e.innerHTML="'"+(O+parseInt(e.getAttribute("data-year"))).toString().substring(2,4)})}function i(){function t(e){function t(e){if(7===e.length){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}if(4===e.length){var n=/^#?([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);return n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}:null}return null}if("LABEL"===e.target.nodeName){var n=e.target.getAttribute("data-legend-id")?e.target.getAttribute("data-legend-id").split(" "):[];n.length&&n.forEach(function(n){var a=T.el.legend.querySelector('[data-legend-id="'+n+'"]');if("mouseover"==e.type&&a){var r=a.getAttribute("data-color")?t(a.getAttribute("data-color")):null;r&&a.setAttribute("style","background-color:rgba("+r.r+","+r.g+","+r.b+",0.35);")}else a&&a.removeAttribute("style")})}}T.el.tables.innerHTML="";for(var n=0;nn)return!0;return!1}),l=[],d=0;d11?e-=12:e<0&&(e+=12),e}function c(e,t){var n=T.el.querySelectorAll(".d-table-head").length,a=null!==le?le:P[W].weekStart;[].slice.call(T.el.querySelectorAll(".d-table-head")).forEach(function(r,l){var d=new Date(Date.UTC(e,t+l-1,1)),i=new Date(e,t+l,0).getDate(),s=new Date(e,t+l-1,0).getDate(),c=new Date(e,t+l-1,1).getDay();c-a<0?c=7-a:c-=a,r.setAttribute("data-ym",d.toJSON().substr(0,7));var u=P[W].monthNames[o(t-1+l)];r.childNodes[r.childNodes.length-2].setAttribute("data-month",u),[].slice.call(r.querySelectorAll(".d-table input")).forEach(function(a,r){var d=a.nextSibling;a.checked=!1,a.removeAttribute("disabled"),d.removeAttribute("style"),d.removeAttribute("data-legend-id"),d.className="";var o=null;if(rre)&&(d.className="d-hidden",a.setAttribute("disabled",!0)),te&&o.getTime()==(new Date).setHours(0,0,0,0)?d.classList.add("today"):d.classList.remove("today"),Z[o.getTime()]?(d.childNodes[0].setAttribute("data-tooltip",!0),d.childNodes[1].innerHTML=Z[o.getTime()]):(d.childNodes[0].removeAttribute("data-tooltip"),d.childNodes[1].innerHTML="");var u=Q.filter(function(e){for(var t=0;t=e.dates[t].start.getTime()&&o.getTime()<=e.dates[t].end.getTime())return!0;return!1});if(u.length>0){var h="",g="";if(u.length>1){var f=Math.round(100/u.length);h="background: linear-gradient(-45deg,";for(var m=0;m12||x<1)&&(x>12?(O+=1,x-=12):(O-=1,x+=12)),re&&new Date(O,x-1+J-1,1)>=new Date(re).setDate(1)?(O=re.getFullYear(),x=re.getMonth()+1-J+1,T.el.header.childNodes[2].setAttribute("style","visibility:hidden")):T.el.header.childNodes[2].removeAttribute("style"),ae&&new Date(O,x-1,1)<=new Date(ae).setDate(1)?(O=ae.getFullYear(),x=ae.getMonth()+1,T.el.header.childNodes[0].setAttribute("style","visibility:hidden")):T.el.header.childNodes[0].removeAttribute("style");for(var e=0;e11?t-=12:t<0&&(t+=12),T.el.monthPicker.childNodes[t].classList.add("current")}c(O,x),d();var n=P[W].monthNames[x-1],a="";if(J>1){a+=" - ";var r=x-1+J-1;r>11?r-=12:r<0&&(r+=12),a+=P[W].monthNames[r]}var l=x-1+J-1>11?O.toString().substring(2,4)+"/"+(O+1).toString().substring(2,4):O.toString().substring(2,4);T.el.header.childNodes[1].childNodes[0].innerHTML=n+a,T.el.header.childNodes[1].childNodes[1].innerHTML=l,T.el.yearPicker.querySelector('[data-year="0"]').classList.add("current"),x-1+J-1>11&&T.el.yearPicker.querySelector('[data-year="1"]').classList.add("current"),h(),X&&X.call(T)}}function h(){F.forEach(function(e){var t=T.el.querySelector('[data-date="'+e.toJSON()+'"]');t&&(t.checked=!0)}),y()}function g(){[].slice.call(T.el.querySelectorAll(".d-table input")).forEach(function(e){e.checked=!1}),[].slice.call(T.el.monthPicker.querySelectorAll(".current")).forEach(function(e){e.classList.remove("current")}),[].slice.call(T.el.yearPicker.querySelectorAll(".current")).forEach(function(e){e.classList.remove("current")})}function f(){x+=J,u()}function m(){x-=J,u()}function v(e,t){e=new Date(e),e.setHours(0,0,0,0);var n=T.el.querySelector('[data-date="'+e.toJSON()+'"]');n&&(Y&&n.classList.add(F.length>0?"d-end":"d-start"),n.checked||(n.checked=!0)),F.push(e),_&&!t&&_.apply(e,[!0])}function b(e,t){e=new Date(e),e.setHours(0,0,0,0);var n=T.el.querySelector('[data-date="'+e.toJSON()+'"]');n&&(Y&&(n.classList.remove("d-start"),n.classList.remove("d-end")),n.checked&&(n.checked=!1)),F=F.filter(function(t){return t.getTime()!=e.getTime()}),_&&!t&&_.call(e,!1)}function p(e){for(;F.length>0;)b(F[0],e)}function y(){var e=null,t=null;Y&&(F.length>1?(e=F[1].getTime()>F[0].getTime()?F[0]:F[1],t=F[1].getTime()>F[0].getTime()?F[1]:F[0]):F.length>0&&(e=F[0]));var n=e?e.toJSON().substr(0,7):null,a=t?t.toJSON().substr(0,7):null;e&&(e=T.el.querySelector('[data-date="'+e.toJSON()+'"]')),t&&(t=T.el.querySelector('[data-date="'+t.toJSON()+'"]')),e&&(e=e.parentNode.parentNode.parentNode),t&&(t=t.parentNode.parentNode.parentNode),n&&a?T.el.tables.classList.add("d-selected"):T.el.tables.classList.remove("d-selected");var r=!1;[].slice.call(T.el.querySelectorAll(".d-table-head")).forEach(function(l,d){var i=l.getAttribute("data-ym");l.classList.remove("d-start"),l.classList.remove("d-cont"),l.classList.remove("d-end"),n&&(a?(l===e&&F[1].getTime()!==F[0].getTime()&&(l.classList.add("d-start"),r=!0),l===t&&l.classList.add("d-end")):l===e&&(l.classList.add("d-start"),r=!0),r||(r=!0,n1)for(;F.length>0;)b(F[0]);v(n)}else if(t.checked){if(q&&F.length>q-1){var a=F.length;for(a;a>q-1;a--)b(F[0])}v(n)}else b(n);y(),j&&T.hide()}}function N(e){e?(Y=!0,T.el.tables.classList.add("range")):(Y=!1,T.el.tables.classList.remove("range"))}function D(e){T.inline||T.container!==document.body||document.body.classList.add("d-noscroll"),A(e);var n=function(){T.el.classList.remove("d-show"),T.el.calendar.removeEventListener(t(),n)};T.el.calendar.addEventListener(t(),n),T.el.classList.add("d-show"),I.appendChild(T.el),H=!0,ne&&(x=ne.getMonth()+1,O=ne.getFullYear()),u()}function k(){document.body.classList.remove("d-noscroll");var e=function(){T.el.parentNode.removeChild(T.el),H=!1,T.el.classList.remove("d-hide"),"function"==typeof $&&$.apply(T),T.el.removeEventListener(t(),e)};T.el.addEventListener(t(),e),T.el.classList.add("d-hide")}function w(){T.el.header.childNodes[0].addEventListener(C,m),T.el.header.childNodes[2].addEventListener(C,f),T.el.header.childNodes[1].childNodes[0].addEventListener(C,function(){T.el.monthPicker.classList.contains("d-show")?T.el.monthPicker.classList.remove("d-show"):T.el.monthPicker.classList.add("d-show"),T.el.yearPicker.classList.remove("d-show")}),T.el.header.childNodes[1].childNodes[1].addEventListener(C,function(){d(),T.el.yearPicker.classList.contains("d-show")?T.el.yearPicker.classList.remove("d-show"):T.el.yearPicker.classList.add("d-show"),T.el.monthPicker.classList.remove("d-show")}),T.el.button.addEventListener(C,k),T.el.overlay.addEventListener(C,function(){U&&T.hide()}),[].slice.call(T.el.monthPicker.childNodes).forEach(function(e){e.addEventListener(C,function(){x=parseInt(this.getAttribute("data-month")),u(),T.el.monthPicker.classList.remove("d-show")})}),[].slice.call(T.el.yearPicker.childNodes).forEach(function(e){e.addEventListener(C,function(){O+=parseInt(this.getAttribute("data-year")),u(),T.el.yearPicker.classList.remove("d-show")})});var e=0,t=0;T.el.calendar.addEventListener("touchstart",function(t){e=t.changedTouches[0].clientX||t.originalEvent.changedTouches[0].clientX}),T.el.calendar.addEventListener("touchmove",function(n){t=n.changedTouches[0].clientX-e||n.originalEvent.changedTouches[0].clientX-e,n.preventDefault()}),T.el.calendar.addEventListener("touchend",function(e){t>50?m():t<-50&&f(),t=0})}function A(e){for(var t in e)t in T&&(T[t]=e[t])}function E(){T.el=document.createElement("div"),T.el.className="Datepickk",T.el.classList.add(a().type),T.el.innerHTML=n,T.el.calendar=T.el.childNodes[1],T.el.titleBox=T.el.childNodes[0],T.el.button=T.el.childNodes[3],T.el.header=T.el.calendar.childNodes[0],T.el.monthPicker=T.el.calendar.childNodes[1],T.el.yearPicker=T.el.calendar.childNodes[2],T.el.tables=T.el.calendar.childNodes[3],T.el.overlay=T.el.childNodes[4],T.el.legend=T.el.childNodes[2],A(r),i(),w(),V&&D(),null!=window.FastClick&&FastClick.attach(T.el)}function S(){return new Date(O,x-1,1)}function M(e){e=new Date(e),x=e.getMonth()+1,O=e.getFullYear(),u()}e.numInstances=(e.numInstances||0)+1;var T=this,C="click",F=[],O=(new Date).getFullYear(),x=(new Date).getMonth()+1,P={no:{monthNames:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],dayNames:["sø","ma","ti","on","to","fr","lø"],weekStart:1},se:{monthNames:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],dayNames:["sö","må","ti","on","to","fr","lö"],weekStart:1},ru:{monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],dayNames:["вс","пн","вт","ср","чт","пт","сб"],weekStart:1},en:{monthNames:["january","february","march","april","may","june","july","august","september","october","november","december"],dayNames:["su","mo","tu","we","th","fr","sa"],weekStart:0},de:{monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],dayNames:["So","Mo","Di","Mi","Do","Fr","Sa"],weekStart:1}};P.nb=P.no,P.nn=P.no;var Y=!1,q=null,I=document.body,H=!1,J=1,j=!1,B=null,z=null,X=null,$=null,R=null,U=!0,V=!1,W="en",_=null,G=[],K=[],Q=[],Z={},ee=!0,te=!0,ne=null,ae=null,re=null,le=null,de=!1;return T.show=D,T.hide=k,T.selectDate=v,T.unselectAll=p,T.unselectDate=b,Object.defineProperties(T,{selectedDates:{get:function(){return F.sort(function(e,t){return e.getTime()-t.getTime()})}},range:{get:function(){return Y},set:function(e){N(e),e&&(q=2)}},button:{get:function(){return B},set:function(e){B="string"==typeof e?e:null,T.el.button.innerHTML=B?B:""}},title:{get:function(){return z},set:function(e){z="string"==typeof e?e:null,T.el.titleBox.innerText=z?z:""}},lang:{get:function(){return W},set:function(e){e in P?(W=e,l(),u()):console.error("Language not found")}},weekStart:{get:function(){return null!==le?le:P[W].weekStart},set:function(e){"number"==typeof e&&e>-1&&e<7?(le=e,l(),u()):console.error("weekStart must be a number between 0 and 6")}},months:{get:function(){return J},set:function(e){"number"==typeof e&&e>0?(J=e,i(),u(),1==J?T.el.classList.remove("multi"):T.el.classList.add("multi")):console.error("months must be a number > 0")}},isOpen:{get:function(){return H}},closeOnSelect:{get:function(){return j},set:function(e){j=!!e}},disabledDays:{get:function(){return K},set:function(e){if(e instanceof Array)for(var t=0;t=t&&(t=e.id+1)}),e instanceof Array)e.forEach(function(e){if(e instanceof Object){var a={};a.dates=[],"start"in e?a.dates.push({start:new Date(e.start.getFullYear(),e.start.getMonth(),e.start.getDate()),end:"end"in e?new Date(e.end.getFullYear(),e.end.getMonth(),e.end.getDate()):new Date(e.start.getFullYear(),e.start.getMonth(),e.start.getDate())}):"dates"in e&&e.dates instanceof Array&&e.dates.forEach(function(e){a.dates.push({start:new Date(e.start.getFullYear(),e.start.getMonth(),e.start.getDate()),end:"end"in e?new Date(e.end.getFullYear(),e.end.getMonth(),e.end.getDate()):new Date(e.start.getFullYear(),e.start.getMonth(),e.start.getDate())})}),a.color=e.color,a.backgroundColor=e.backgroundColor,a.legend="legend"in e?e.legend:null;const r=(a.legend||"")+"|"+(a.backgroundColor||"")+"|"+(a.color||"");a.id=r in n?n[r]:t++,n[r]=a.id,Q.push(a)}});else if(e instanceof Object){var a={};a.dates=[],"start"in e?a.dates.push({start:new Date(e.start.getFullYear(),e.start.getMonth(),e.start.getDate()),end:"end"in e?new Date(e.end.getFullYear(),e.end.getMonth(),e.end.getDate()):new Date(e.start.getFullYear(),e.start.getMonth(),e.start.getDate())}):"dates"in e&&e.dates instanceof Array&&e.dates.forEach(function(e){a.dates.push({start:new Date(e.start.getFullYear(),e.start.getMonth(),e.start.getDate()),end:"end"in e?new Date(e.end.getFullYear(),e.end.getMonth(),e.end.getDate()):new Date(e.start.getFullYear(),e.start.getMonth(),e.start.getDate())})}),a.color=e.color,a.backgroundColor=e.backgroundColor,a.legend="legend"in e?e.legend:null;const r=(a.legend||"")+"|"+(a.backgroundColor||"")+"|"+(a.color||"");a.id=r in n?n[r]:t++,n[r]=a.id,Q.push(a)}else e||(Q=[]);u()}},onClose:{set:function(e){$=e}},onSelect:{set:function(e){_=e}},today:{get:function(){return te},set:function(e){te=!!e}},daynames:{get:function(){return ee},set:function(e){ee=!!e,l()}},fullscreen:{get:function(){return T.el.classList.contains("fullscreen")},set:function(e){e?T.el.classList.add("fullscreen"):T.el.classList.remove("fullscreen")}},locked:{get:function(){return de},set:function(e){e?(de=!0,T.el.tables.classList.add("locked")):(de=!1,T.el.tables.classList.remove("locked"))}},maxSelections:{get:function(){return q},set:function(e){q="number"!=typeof e||Y?Y?2:null:e}},onConfirm:{set:function(e){"function"==typeof e?(R=e.bind(T),T.el.button.addEventListener(C,R)):e||(T.el.button.removeEventListener(C,R),R=null)}},onNavigation:{set:function(e){"function"==typeof e?X=e.bind(T):e||(X=null)}},closeOnClick:{get:function(){return U},set:function(e){U=!!e}},tooltips:{get:function(){var e=[];for(var t in Z)e.push({date:new Date(parseInt(t)),text:Z[t]});return e},set:function(e){e instanceof Array?e.forEach(function(e){e.date&&e.text&&e.date instanceof Date&&(Z[new Date(e.date.getFullYear(),e.date.getMonth(),e.date.getDate()).getTime()]=e.text)}):e instanceof Object?e.date&&e.text&&e.date instanceof Date&&(Z[new Date(e.date.getFullYear(),e.date.getMonth(),e.date.getDate()).getTime()]=e.text):e||(Z=[]),u()}},currentDate:{get:S,set:M},setDate:{set:M},startDate:{get:function(){return ne},set:function(e){e?ne=new Date(e):(ne=null,O=(new Date).getFullYear(),x=(new Date).getMonth()+1),u()}},minDate:{get:function(){return ae},set:function(e){ae=e?new Date(e):null,u()}},maxDate:{get:function(){return re},set:function(e){re=e?new Date(e):null,u()}},container:{get:function(){return I},set:function(e){if(e instanceof String){var t=document.querySelector(e);t?(I=t,I!=document.body?T.el.classList.add("wrapped"):T.el.classList.remove("wrapped")):console.error("Container doesn't exist")}else e instanceof HTMLElement?(I=e,I!=document.body?T.el.classList.add("wrapped"):T.el.classList.remove("wrapped")):console.error("Invalid type")}},inline:{get:function(){return V},set:function(e){e?(V=!0,T.el.classList.add("inline")):(V=!1,T.el.classList.remove("inline"))}}}),E(),u(),Object.freeze(T)}function t(){var e,t=document.createElement("fakeelement"),n={animation:"animationend",OAnimation:"oanimationend",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd","":"MSAnimationEnd"};for(e in n)if(void 0!==t.style[e])return n[e]}var n='

1
2
3
4
5
6
7
8
9
10
11
12
',a=function(){var e,t,n={type:null,version:null},a=navigator.userAgent,r=a.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];return t=a.match(/(iphone|ipad)\s+OS\s+([\d+_]+\d+)/i)||[],/trident/i.test(r[1])?(e=/\brv[ :]+(\d+)/g.exec(a)||[],n.type="MSIE",n.version=parseInt(e[1]),n):"Chrome"===r[1]&&(e=a.match(/\bOPR\/(\d+)/),null!=e)?"Opera "+e[1]:t[1]?n={type:"iOS",version:t[2]}:(r=r[2]?[r[1],r[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(e=a.match(/version\/(\d+)/i))&&r.splice(1,1,e[1]),n.type=r[0],n.version=parseInt(r[1]),n)};"function"==typeof define&&define.amd?define("Datepickk",e):"object"==typeof exports?module.exports=e:window.Datepickk=e}(); //# sourceMappingURL=datepickk.min.js.map diff --git a/dist/datepickk.min.js.map b/dist/datepickk.min.js.map index e52b895..8f82abe 100644 --- a/dist/datepickk.min.js.map +++ b/dist/datepickk.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["datepickk.js"],"names":["Datepickk","args","generateDaynames","that","el","days","innerHTML","ws","weekStart","languages","lang","daynames","x","months","weekEl","document","createElement","setAttribute","i","dayNameIndex","dayNames","length","dayEl","dayTextEl","appendChild","generateYears","slice","call","yearPicker","childNodes","forEach","node","index","currentYear","parseInt","getAttribute","toString","substring","generateInputs","highlightLegend","e","hexToRgb","hex","result","exec","r","g","b","target","nodeName","legendIds","split","legendId","element","legend","querySelector","type","color","removeAttribute","tables","container","input","id","numInstances","label","text","tooltip","addEventListener","eventName","event","locked","preventDefault","inputChange","generateLegends","hoverLegend","querySelectorAll","this","classList","add","remove","start","Date","end","_highlights","highlight","filter","m","dates","legends","l","oldLegend","backgroundColor","legendItem","indexOf","legendItemPoint","push","item","removeEventListener","removeChild","parseMonth","month","generateDates","year","monthElements","getDate","daysLast","startDay","getDay","monthText","monthNames","inputEl","labelEl","nextSibling","checked","className","date","toJSON","disabledDates","getTime","disabledDays","minDate","maxDate","today","setHours","tooltips","bgColor","percent","Math","round","z","Color","setDate","resetCalendar","currentMonth","getFullYear","getMonth","header","c","monthPicker","startmonth","endmonth","monthint","yearname","renderSelectedDates","onNavigation","selectedDates","range","currentDate","sorted","sort","a","first","monthPickEl","yearPickEl","nextMonth","prevMonth","selectDate","ignoreOnSelect","onSelect","apply","unselectDate","unselectAll","maxSelections","closeOnSelect","hide","setRange","val","show","properties","inline","body","setArgs","handler","calendar","whichAnimationEvent","opened","startDate","parentNode","onClose","bindEvents","contains","button","overlay","closeOnClick","startX","distance","changedTouches","clientX","originalEvent","key","init","getBrowserVersion","template","titleBox","window","FastClick","attach","currentDateGetter","currentDateSetter","no","se","ru","en","de","nb","nn","title","onConfirm","Object","defineProperties","get","set","innerText","console","error","isOpen","Array","map","hl","highlightObj","hlDate","callback","fullscreen","bind","ret","String","y","HTMLElement","freeze","t","transitions","animation","OAnimation","MozAnimation","WebkitAnimation","","undefined","style","tem","ios","browser","version","ua","navigator","userAgent","M","match","test","appName","appVersion","splice","define","amd","exports","module"],"mappings":"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","file":"datepickk.min.js","sourcesContent":["/*!\r\n * Datepickk\r\n * Docs & License: https://crsten.github.com/datepickk\r\n * (c) 2016 Carsten Jacobsen\r\n */\r\n(function(){\r\n\r\n\tfunction Datepickk(args){\r\n\t\tDatepickk.numInstances = (Datepickk.numInstances || 0) + 1;\r\n\t\tvar that = this;\r\n\t\tvar eventName = 'click';\r\n\t\tvar selectedDates = [];\r\n\r\n\t\tvar currentYear = new Date().getFullYear();\r\n\t\tvar currentMonth = new Date().getMonth() + 1;\r\n\r\n\t\tvar languages = {\r\n\t\t\tno: {\r\n\t\t\t\tmonthNames:['Januar','Februar','Mars','April','Mai','Juni','Juli','August','September','Oktober','November','Desember'],\r\n\t\t\t\tdayNames:['sø','ma','ti','on','to','fr','lø'],\r\n\t\t\t\tweekStart:1\r\n\t\t\t},\r\n\t\t\tse: {\r\n\t\t\t\tmonthNames:['januari','februari','mars','april','maj','juni','juli','augusti','september','oktober','november','december'],\r\n\t\t\t\tdayNames:['sö','må','ti','on','to','fr','lö'],\r\n\t\t\t\tweekStart:1\r\n\t\t\t},\r\n\t\t\tru: {\r\n\t\t\t\tmonthNames:['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],\r\n\t\t\t\tdayNames:['вс','пн','вт','ср','чт','пт','сб'],\r\n\t\t\t\tweekStart:1\r\n\t\t\t},\r\n\t\t\ten: {\r\n\t\t\t\tmonthNames:['january','february','march','april','may','june','july','august','september','october','november','december'],\r\n\t\t\t\tdayNames:['su','mo','tu','we','th','fr','sa'],\r\n\t\t\t\tweekStart:0\r\n\t\t\t},\r\n\t\t\tde: {\r\n\t\t\t\tmonthNames:['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],\r\n\t\t\t\tdayNames:['So','Mo','Di','Mi','Do','Fr','Sa'],\r\n\t\t\t\tweekStart:1\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t/*Language aliases*/\r\n\t\tlanguages.nb = languages.no;\r\n\t\tlanguages.nn = languages.no;\r\n\r\n\t\tvar range = false;\r\n\t\tvar maxSelections = null;\r\n\t\tvar container = document.body;\r\n\t\tvar opened = false;\r\n\t\tvar months = 1;\r\n\t\tvar closeOnSelect = false;\r\n\t\tvar button = null;\r\n\t\tvar title = null;\r\n\t\tvar onNavigation = null;\r\n\t\tvar onClose = null;\r\n\t\tvar onConfirm = null;\r\n\t\tvar closeOnClick = true;\r\n\t\tvar inline = false;\r\n\t\tvar lang = 'en';\r\n\t\tvar onSelect = null;\r\n\t\tvar disabledDates = [];\r\n\t\tvar disabledDays = [];\r\n\t\tvar highlight = [];\r\n\t\tvar tooltips = {};\r\n\t\tvar daynames = true;\r\n\t\tvar today = true;\r\n\t\tvar startDate = null;\r\n\t\tvar minDate = null;\r\n\t\tvar maxDate = null;\r\n\t\tvar weekStart = null;\r\n\t\tvar locked = false;\r\n\r\n\t\tfunction generateDaynames(){\r\n\t\t\tthat.el.days.innerHTML = '';\r\n\t\t\tvar ws = (weekStart !== null) ? weekStart : languages[lang].weekStart;\r\n\t\t\tif(daynames){\r\n\t\t\t\tfor(var x = 0;x languages[lang].dayNames.length - 1) ? i + ws - languages[lang].dayNames.length : i + ws;\r\n\r\n\t\t\t\t\t\tvar dayEl = document.createElement('div');\r\n\t\t\t\t\t\tvar\tdayTextEl = document.createElement('p');\r\n\t\t\t\t\t\t\tdayTextEl.innerHTML = languages[lang].dayNames[dayNameIndex];\r\n\r\n\t\t\t\t\t\t\tdayEl.appendChild(dayTextEl);\r\n\t\t\t\t\t\t\tweekEl.appendChild(dayEl);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthat.el.days.appendChild(weekEl);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction generateYears(){\r\n\t\t\t[].slice.call(that.el.yearPicker.childNodes).forEach(function(node,index) {\r\n\t\t\t\tnode.innerHTML = \"'\" + (currentYear + parseInt(node.getAttribute('data-year'))).toString().substring(2,4);\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tfunction generateInputs(){\r\n\t\t\tthat.el.tables.innerHTML = '';\r\n\t\t\tfor(var x = 0;x start){\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t});\r\n\t\t\tvar legends = [];\r\n\t\t\tfor(var l = 0;l<_highlights.length;l++){\r\n\t\t\t\tif('legend' in _highlights[l] && _highlights[l].legend){\r\n\t\t\t\t\tvar oldLegend = container.querySelector('.d-legend-item[data-legend=\"' + _highlights[l].legend + '\"][data-color=\"' + _highlights[l].backgroundColor + '\"]');\r\n\t\t\t\t\tif(oldLegend == null){\r\n\t\t\t\t\t\tvar legendItem = document.createElement('p');\r\n\t\t\t\t\t\t\tlegendItem.setAttribute('class','d-legend-item');\r\n\t\t\t\t\t\t\tlegendItem.setAttribute('data-legend',_highlights[l].legend);\r\n\t\t\t\t\t\t\tlegendItem.setAttribute('data-legend-id',highlight.indexOf(_highlights[l]));\r\n\t\t\t\t\t\t\tlegendItem.setAttribute('data-color',_highlights[l].backgroundColor);\r\n\t\t\t\t\t\tvar legendItemPoint = document.createElement('span');\r\n\t\t\t\t\t\t\tlegendItemPoint.setAttribute('style','background-color:' + _highlights[l].backgroundColor);\r\n\r\n\t\t\t\t\t\tlegendItem.appendChild(legendItemPoint);\r\n\r\n\t\t\t\t\t\tthat.el.legend.appendChild(legendItem);\r\n\t\t\t\t\t\tlegendItem.addEventListener('mouseover',hoverLegend);\r\n\t\t\t\t\t\tlegendItem.addEventListener('mouseout',hoverLegend);\r\n\t\t\t\t\t\tlegends.push(legendItem);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tlegends.push(oldLegend);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t[].slice.call(that.el.legend.querySelectorAll('.d-legend-item')).forEach(function(item) {\r\n\t\t\t\tif(legends.indexOf(item) < 0){\r\n\t\t\t\t\titem.removeEventListener('mouseover',hoverLegend);\r\n\t\t\t\t\titem.removeEventListener('mouseout',hoverLegend);\r\n\t\t\t\t\tthat.el.legend.removeChild(item);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tfunction hoverLegend(e){\r\n\t\t\t\t[].slice.call(that.el.tables.querySelectorAll('[data-legend-id*=\"' + this.getAttribute('data-legend-id') + '\"]')).forEach(function(element) {\r\n\t\t\t\t\tif(e.type == 'mouseover') element.classList.add('legend-hover');\r\n\t\t\t\t\telse element.classList.remove('legend-hover');\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction parseMonth(month){\r\n\t\t\tif(month > 11) month -= 12;\r\n\t\t\telse if(month < 0) month += 12;\r\n\t\t\treturn month;\r\n\t\t}\r\n\r\n\t\tfunction generateDates(year,month){\r\n\t\t\tvar monthElements = that.el.querySelectorAll('.d-table');\r\n\t\t\tvar ws = (weekStart !== null) ? weekStart : languages[lang].weekStart;\r\n\r\n\t\t\t[].slice.call(that.el.querySelectorAll('.d-table')).forEach(function(element, index) {\r\n\t\t\t\tvar days = new Date(year,month + index,0).getDate();\r\n\t\t\t\tvar daysLast = new Date(year,month + index - 1,0).getDate();\r\n\t\t\t\tvar startDay = new Date(year,month + index - 1,1).getDay();\r\n\t\t\t\tvar startDate = null;\r\n\t\t\t\tvar endDate = null;\r\n\t\t\t\tif(startDay - ws < 0){\r\n\t\t\t\t\tstartDay = 7 - ws;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tstartDay -= ws;\r\n\t\t\t\t}\r\n\t\t\t\tvar monthText = languages[lang].monthNames[parseMonth(month - 1 + index)];\r\n\t\t\t\telement.setAttribute('data-month',monthText);\r\n\r\n\t\t\t\t[].slice.call(element.querySelectorAll('.d-table input')).forEach(function(inputEl,i) {\r\n\t\t\t\t\tvar labelEl = inputEl.nextSibling;\r\n\r\n\t\t\t\t\tinputEl.checked = false;\r\n\t\t\t\t\tinputEl.removeAttribute('disabled');\r\n\t\t\t\t\tlabelEl.removeAttribute('style');\r\n\t\t\t\t\tlabelEl.removeAttribute('data-legend-id');\r\n\t\t\t\t\tlabelEl.className = '';\r\n\r\n\t\t\t\t\tvar date = null;\r\n\t\t\t\t\tif(i < startDay){\r\n\t\t\t\t\t\tlabelEl.childNodes[0].innerHTML = daysLast - (startDay - i - 1);\r\n\t\t\t\t\t\tif(index == 0){\r\n\t\t\t\t\t\t\tdate = new Date(year,month + index - 2,daysLast - (startDay - i - 1));\r\n\t\t\t\t\t\t\tlabelEl.className = 'prev';\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tdate = '';\r\n\t\t\t\t\t\t\tlabelEl.className = 'd-hidden';\r\n\t\t\t\t\t\t\tinputEl.setAttribute('disabled',true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if(i < days + startDay){\r\n\t\t\t\t\t\tdate = new Date(year,month + index - 1,i - startDay+1);\r\n\t\t\t\t\t\tlabelEl.childNodes[0].innerHTML = i - startDay + 1;\r\n\t\t\t\t\t\tlabelEl.className = '';\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tlabelEl.childNodes[0].innerHTML = i - days - startDay + 1;\r\n\t\t\t\t\t\tif(index == monthElements.length-1){\r\n\t\t\t\t\t\t\tdate = new Date(year,month + index,i - days - startDay + 1);\r\n\t\t\t\t\t\t\tlabelEl.className = 'next';\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tdate = '';\r\n\t\t\t\t\t\t\tlabelEl.className = 'd-hidden';\r\n\t\t\t\t\t\t\tinputEl.setAttribute('disabled',true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(date instanceof Date){\r\n\t\t\t\t\t\tinputEl.setAttribute('data-date',date.toJSON());\r\n\r\n\t\t\t\t\t\tif(disabledDates.indexOf(date.getTime()) != -1 || disabledDays.indexOf(date.getDay()) != -1){\r\n\t\t\t\t\t\t\tinputEl.setAttribute('disabled',true);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif((minDate && date < minDate) || (maxDate && date > maxDate)){\r\n\t\t\t\t\t\t\tinputEl.setAttribute('disabled',true);\r\n\t\t\t\t\t\t\tlabelEl.className = 'd-hidden';\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif(today && date.getTime() == new Date().setHours(0,0,0,0)){\r\n\t\t\t\t\t\t\tlabelEl.classList.add('today');\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tlabelEl.classList.remove('today');\r\n\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t\tif(tooltips[date.getTime()]){\r\n\t\t\t\t\t\t\tlabelEl.childNodes[0].setAttribute('data-tooltip',true);\r\n\t\t\t\t\t\t\tlabelEl.childNodes[1].innerHTML = tooltips[date.getTime()];\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tlabelEl.childNodes[0].removeAttribute('data-tooltip');\r\n\t\t\t\t\t\t\tlabelEl.childNodes[1].innerHTML = '';\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tvar _highlights = highlight.filter(function(x){\r\n\t\t\t\t\t\t\tfor(var m = 0;m < x.dates.length;m++){\r\n\t\t\t\t\t\t\t\tif(date.getTime() >= x.dates[m].start.getTime() && date.getTime() <= x.dates[m].end.getTime()){\r\n\t\t\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tif(_highlights.length > 0){\r\n\t\t\t\t\t\t\tvar bgColor = '';\r\n\t\t\t\t\t\t\tvar legendIds = '';\r\n\r\n\t\t\t\t\t\t\tif(_highlights.length > 1){\r\n\t\t\t\t\t\t\t\tvar percent = Math.round(100 / _highlights.length);\r\n\t\t\t\t\t\t\t\tbgColor = 'background: linear-gradient(-45deg,';\r\n\t\t\t\t\t\t\t\tfor(var z = 0;z < _highlights.length;z++){\r\n\t\t\t\t\t\t\t\t\tlegendIds += highlight.indexOf(_highlights[z]);\r\n\t\t\t\t\t\t\t\t\tif(z !== _highlights.length -1){legendIds += ' ';}\r\n\t\t\t\t\t\t\t\t\tbgColor += _highlights[z].backgroundColor + ' ' + (percent*z) + '%';\r\n\t\t\t\t\t\t\t\t\tif(z != _highlights.length - 1){\r\n\t\t\t\t\t\t\t\t\t\tbgColor += ',';\r\n\t\t\t\t\t\t\t\t\t\tbgColor += _highlights[z].backgroundColor + ' ' + (percent*(z+1)) + '%,';\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbgColor += ');';\r\n\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\tbgColor = (_highlights[0].backgroundColor)?'background:'+ _highlights[0].backgroundColor + ';':'';\r\n\t\t\t\t\t\t\t\tlegendIds += highlight.indexOf(_highlights[0]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvar Color = (_highlights[0].color)?'color:'+ _highlights[0].color + ';':'';\r\n\t\t\t\t\t\t\tlabelEl.setAttribute('style',bgColor + Color);\r\n\t\t\t\t\t\t\tlabelEl.setAttribute('data-legend-id',legendIds);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tgenerateLegends();\r\n\t\t};\r\n\r\n\t\tfunction setDate(){\r\n\t\t\tif(!that.el.tables.childNodes.length || !that.el.tables.childNodes[0].childNodes.length) return;\r\n\r\n\t\t\tresetCalendar();\r\n\r\n\t\t\tif(currentMonth > 12 || currentMonth < 1){\r\n\t\t\t\tif(currentMonth > 12){\r\n\t\t\t\t\tcurrentYear += 1;\r\n\t\t\t\t\tcurrentMonth -= 12;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tcurrentYear -= 1;\r\n\t\t\t\t\tcurrentMonth += 12;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(maxDate && new Date(currentYear,currentMonth-1+months-1,1) >= new Date(maxDate).setDate(1)){\r\n\t\t\t\tcurrentYear = maxDate.getFullYear();\r\n\t\t\t\tcurrentMonth = maxDate.getMonth() + 1 - months + 1;\r\n\t\t\t\tthat.el.header.childNodes[2].setAttribute('style','visibility:hidden');\r\n\t\t\t}else{\r\n\t\t\t\tthat.el.header.childNodes[2].removeAttribute('style');\r\n\t\t\t}\r\n\t\t\tif(minDate && new Date(currentYear,currentMonth -1,1) <= new Date(minDate).setDate(1)){\r\n\t\t\t\tcurrentYear = minDate.getFullYear();\r\n\t\t\t\tcurrentMonth = minDate.getMonth() + 1;\r\n\t\t\t\tthat.el.header.childNodes[0].setAttribute('style','visibility:hidden');\r\n\t\t\t}else{\r\n\t\t\t\tthat.el.header.childNodes[0].removeAttribute('style');\r\n\t\t\t}\r\n\r\n\t\t\tfor(var c = 0;c < months;c++){\r\n\t\t\t\tvar index = currentMonth-1+c;\r\n\t\t\t\tif(index > 11){\r\n\t\t\t\t\tindex -= 12;\r\n\t\t\t\t}else if(index < 0){\r\n\t\t\t\t\tindex += 12;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthat.el.monthPicker.childNodes[index].classList.add('current');\r\n\t\t\t}\r\n\r\n\t\t\tgenerateDates(currentYear,currentMonth);\r\n\t\t\tgenerateYears();\r\n\t\t\tvar startmonth = languages[lang].monthNames[currentMonth-1];\r\n\t\t\tvar endmonth = '';\r\n\t\t\tif(months > 1){\r\n\t\t\t\tendmonth += ' - ';\r\n\t\t\t\tvar monthint = currentMonth-1+months-1;\r\n\t\t\t\tif(monthint > 11){\r\n\t\t\t\t\tmonthint -= 12;\r\n\t\t\t\t}else if(monthint < 0){\r\n\t\t\t\t\tmonthint += 12;\r\n\t\t\t\t}\r\n\t\t\t\tendmonth += languages[lang].monthNames[monthint];\r\n\t\t\t}\r\n\t\t\tvar yearname = (currentMonth-1+months-1 > 11)?currentYear.toString().substring(2,4) + '/' + (currentYear + 1).toString().substring(2,4):currentYear.toString().substring(2,4);\r\n\t\t\tthat.el.header.childNodes[1].childNodes[0].innerHTML = startmonth + endmonth;\r\n\t\t\tthat.el.header.childNodes[1].childNodes[1].innerHTML = yearname;\r\n\r\n\t\t\tthat.el.yearPicker.querySelector('[data-year=\"0\"]').classList.add('current');\r\n\t\t\tif(currentMonth-1+months-1>11){\r\n\t\t\t\tthat.el.yearPicker.querySelector('[data-year=\"1\"]').classList.add('current');\r\n\t\t\t}\r\n\r\n\t\t\trenderSelectedDates();\r\n\t\t\tif(onNavigation) onNavigation.call(that);\r\n\t\t};\r\n\r\n\t\tfunction renderSelectedDates(){\r\n\t\t\tselectedDates.forEach(function(date) {\r\n\t\t\t\tvar el = that.el.querySelector('[data-date=\"' + date.toJSON() + '\"]');\r\n\t\t\t\tif(el){\r\n\t\t\t\t\tel.checked = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tthat.el.tables.classList.remove('before');\r\n\t\t\tif(range && selectedDates.length > 1){\r\n\t\t\t\tvar currentDate = new Date(currentYear,currentMonth-1,1);\r\n\t\t\t\tvar sorted = selectedDates.sort(function(a,b){return a.getTime()-b.getTime()});\r\n\t\t\t\tvar first = that.el.querySelector('[data-date=\"'+ sorted[0].toJSON() +'\"]');\r\n\t\t\t\tif(!first && currentDate >= new Date(sorted[0].getFullYear(),sorted[0].getMonth(),1) && currentDate <= new Date(sorted[1].getFullYear(),sorted[1].getMonth(),1)){\r\n\t\t\t\t\tthat.el.tables.classList.add('before');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction resetCalendar(){\r\n\t\t\t[].slice.call(that.el.querySelectorAll('.d-table input')).forEach(function(inputEl) {\r\n\t\t\t\tinputEl.checked = false;\r\n\t\t\t});\r\n\r\n\t\t\t[].slice.call(that.el.monthPicker.querySelectorAll('.current')).forEach(function(monthPickEl) {\r\n\t\t\t\tmonthPickEl.classList.remove('current');\r\n\t\t\t});\r\n\r\n\t\t\t[].slice.call(that.el.yearPicker.querySelectorAll('.current')).forEach(function(yearPickEl) {\r\n\t\t\t\tyearPickEl.classList.remove('current');\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction nextMonth(){\r\n\t\t\tcurrentMonth += months;\r\n\t\t\tsetDate();\r\n\t\t};\r\n\r\n\t\tfunction prevMonth(){\r\n\t\t\tcurrentMonth -= months;\r\n\t\t\tsetDate();\r\n\t\t};\r\n\r\n\t\tfunction selectDate(date,ignoreOnSelect){\r\n\t\t\tdate = new Date(date);\r\n\t\t\tdate.setHours(0,0,0,0);\r\n\t\t\tvar el = that.el.querySelector('[data-date=\"'+ date.toJSON() +'\"]');\r\n\r\n\t\t\tif(range && el && el.checked) {\r\n\t\t\t\tel.classList.add('single');\r\n\t\t\t}\r\n\r\n\t\t\tif(el && !el.checked){\r\n\t\t\t\tel.checked = true;\r\n\t\t\t}\r\n\r\n\r\n\t\t\tselectedDates.push(date);\r\n\r\n\t\t\tif(onSelect && !ignoreOnSelect){\r\n\t\t\t\tonSelect.apply(date,[true]);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction unselectDate(date,ignoreOnSelect){\r\n\t\t\tdate = new Date(date);\r\n\t\t\tdate.setHours(0,0,0,0);\r\n\t\t\tvar el = that.el.querySelector('[data-date=\"'+ date.toJSON() +'\"]');\r\n\t\t\tif(el){\r\n\t\t\t\tel.classList.remove('single');\r\n\t\t\t\tif(el.checked){el.checked = false;}\r\n\t\t\t}\r\n\r\n\t\t\tselectedDates = selectedDates.filter(function(x){return x.getTime() != date.getTime()});\r\n\r\n\t\t\tif(onSelect && !ignoreOnSelect){\r\n\t\t\t\tonSelect.call(date,false);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction unselectAll(ignoreOnSelect){\r\n\t\t\tselectedDates.forEach(function(date) {\r\n\t\t\t\tunselectDate(date,ignoreOnSelect);\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction inputChange(e){\r\n\t\t\tvar input = this;\r\n\t\t\tvar date = new Date(input.getAttribute('data-date'));\r\n\t\t\tinput.classList.remove('single');\r\n\t\t\tif(locked){return;}\r\n\t\t\tif(range){\r\n\t\t\t\tthat.el.tables.classList.remove('before');\r\n\t\t\t}\r\n\t\t\tif(input.checked){\r\n\t\t\t\tif(maxSelections && selectedDates.length > maxSelections-1){\r\n\t\t\t\t\tvar length = selectedDates.length;\r\n\t\t\t\t\tfor(length; length > maxSelections-1; length --){\r\n\t\t\t\t\t\tunselectDate(selectedDates[0]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(range && selectedDates.length){\r\n\t\t\t\t\tvar first = that.el.querySelector('[data-date=\"'+ selectedDates[0].toJSON() +'\"]');\r\n\t\t\t\t\tif(!first && date > selectedDates[0]){\r\n\t\t\t\t\t\tthat.el.tables.classList.add('before');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tselectedDates.push(date);\r\n\r\n\t\t\t\tif(closeOnSelect){\r\n\t\t\t\t\tthat.hide();\r\n\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\tif(range && selectedDates.length == 1 && selectedDates[0].getTime() == date.getTime()){\r\n\t\t\t\t\tselectDate(date);\r\n\t\t\t\t\tinput.classList.add('single');\r\n\t\t\t\t}else{\r\n\t\t\t\t\tselectedDates = selectedDates.filter(function(x){return x.getTime() != date.getTime()})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(onSelect){\r\n\t\t\t\tonSelect.call(date,input.checked);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction setRange(val){\r\n\t\t\tif(val){\r\n\t\t\t\trange = true;\r\n\t\t\t\tthat.el.tables.classList.add('range');\r\n\t\t\t}else{\r\n\t\t\t\trange = false;\r\n\t\t\t\tthat.el.tables.classList.remove('range');\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction show(properties){\r\n\t\t\tif(!that.inline && that.container === document.body){document.body.classList.add('d-noscroll');}\r\n\t\t\tsetArgs(properties);\r\n\t\t\tvar handler = function(){\r\n\t\t\t\tthat.el.classList.remove('d-show');\r\n\t\t\t\tthat.el.calendar.removeEventListener(whichAnimationEvent(),handler);\r\n\t\t\t};\r\n\t\t\tthat.el.calendar.addEventListener(whichAnimationEvent(),handler);\r\n\t\t\tthat.el.classList.add('d-show');\r\n\t\t\tcontainer.appendChild(that.el);\r\n\t\t\topened = true;\r\n\t\t\tif(startDate){\r\n\t\t\t\tcurrentMonth = startDate.getMonth() + 1;\r\n\t\t\t\tcurrentYear = startDate.getFullYear();\r\n\t\t\t}\r\n\t\t\tsetDate();\r\n\t\t};\r\n\r\n\t\tfunction hide(){\r\n\t\t\tdocument.body.classList.remove('d-noscroll');\r\n\t\t\tvar handler = function(){\r\n\t\t\t\tthat.el.parentNode.removeChild(that.el);\r\n\t\t\t\topened = false;\r\n\t\t\t\tthat.el.classList.remove('d-hide');\r\n\t\t\t\tif(typeof onClose == 'function'){\r\n\t\t\t\t\tonClose.apply(that);\r\n\t\t\t\t}\r\n\t\t\t\tthat.el.removeEventListener(whichAnimationEvent(),handler);\r\n\t\t\t}\r\n\t\t\tthat.el.addEventListener(whichAnimationEvent(),handler);\r\n\t\t\tthat.el.classList.add('d-hide');\r\n\t\t};\r\n\r\n\t\tfunction bindEvents(){\r\n\t\t\tthat.el.header.childNodes[0].addEventListener(eventName,prevMonth);\r\n\t\t\tthat.el.header.childNodes[2].addEventListener(eventName,nextMonth);\r\n\t\t\tthat.el.header.childNodes[1].childNodes[0].addEventListener(eventName,function(){\r\n\t\t\t\tif(that.el.monthPicker.classList.contains('d-show')){\r\n\t\t\t\t\tthat.el.monthPicker.classList.remove('d-show');\r\n\t\t\t\t}else{\r\n\t\t\t\t\tthat.el.monthPicker.classList.add('d-show');\r\n\t\t\t\t}\r\n\t\t\t\tthat.el.yearPicker.classList.remove('d-show');\r\n\t\t\t});\r\n\t\t\tthat.el.header.childNodes[1].childNodes[1].addEventListener(eventName,function(){\r\n\t\t\t\tgenerateYears();\r\n\t\t\t\tif(that.el.yearPicker.classList.contains('d-show')){\r\n\t\t\t\t\tthat.el.yearPicker.classList.remove('d-show');\r\n\t\t\t\t}else{\r\n\t\t\t\t\tthat.el.yearPicker.classList.add('d-show');\r\n\t\t\t\t}\r\n\t\t\t\tthat.el.monthPicker.classList.remove('d-show');\r\n\t\t\t});\r\n\t\t\tthat.el.button.addEventListener(eventName,hide);\r\n\r\n\t\t\tthat.el.overlay.addEventListener(eventName,function(){\r\n\t\t\t\tif(closeOnClick){\r\n\t\t\t\t\tthat.hide();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t[].slice.call(that.el.monthPicker.childNodes).forEach(function(monthPicker) {\r\n\t\t\t\tmonthPicker.addEventListener(eventName,function(){\r\n\t\t\t\t\tcurrentMonth = parseInt(this.getAttribute('data-month'));\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t\tthat.el.monthPicker.classList.remove('d-show');\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\t[].slice.call(that.el.yearPicker.childNodes).forEach(function(yearPicker) {\r\n\t\t\t\tyearPicker.addEventListener(eventName,function(){\r\n\t\t\t\t\tcurrentYear += parseInt(this.getAttribute('data-year'));\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t\tthat.el.yearPicker.classList.remove('d-show');\r\n\t\t\t\t});\r\n\t\t\t})\r\n\r\n\t\t\tvar startX = 0;\r\n\t\t\tvar distance = 0;\r\n\t\t\tthat.el.calendar.addEventListener('touchstart',function(e){\r\n\t\t\t\tstartX = e.changedTouches[0].clientX || e.originalEvent.changedTouches[0].clientX;\r\n\t\t\t\t//e.preventDefault();\r\n\t\t\t});\r\n\r\n\t\t\tthat.el.calendar.addEventListener('touchmove',function(e){\r\n\t\t\t\tdistance = e.changedTouches[0].clientX - startX || e.originalEvent.changedTouches[0].clientX - startX;\r\n\t\t\t\te.preventDefault();\r\n\t\t\t});\r\n\r\n\t\t\tthat.el.calendar.addEventListener('touchend',function(e){\r\n\t\t\t\tif(distance > 50){\r\n\t\t\t\t\tprevMonth();\r\n\t\t\t\t}else if(distance < -50){\r\n\t\t\t\t\tnextMonth();\r\n\t\t\t\t}\r\n\t\t\t\tdistance = 0;\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction setArgs(x){\r\n\t\t\tfor(var key in x){\r\n\t\t\t\tif(key in that){\r\n\t\t\t\t\tthat[key] = x[key];\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\tfunction init(){\r\n\t\t\tthat.el = document.createElement('div');\r\n\t\t\tthat.el.id = 'Datepickk';\r\n\t\t\tthat.el.classList.add(getBrowserVersion().type);\r\n\t\t\tthat.el.innerHTML = template;\r\n\t\t\tthat.el.calendar = that.el.childNodes[1];\r\n\t\t\tthat.el.titleBox = that.el.childNodes[0];\r\n\t\t\tthat.el.button = that.el.childNodes[3];\r\n\t\t\tthat.el.header = that.el.calendar.childNodes[0];\r\n\t\t\tthat.el.monthPicker = that.el.calendar.childNodes[1];\r\n\t\t\tthat.el.yearPicker = that.el.calendar.childNodes[2];\r\n\t\t\tthat.el.tables = that.el.calendar.childNodes[4];\r\n\t\t\tthat.el.days = that.el.calendar.childNodes[3];\r\n\t\t\tthat.el.overlay = that.el.childNodes[4];\r\n\t\t\tthat.el.legend = that.el.childNodes[2];\r\n\r\n\t\t\tsetArgs(args);\r\n\r\n\t\t\tgenerateInputs();\r\n\t\t\tgenerateDaynames();\r\n\t\t\tbindEvents();\r\n\r\n\t\t\tif(inline){\r\n\t\t\t\tshow();\r\n\t\t\t}\r\n\r\n\t\t\tif(window.FastClick != null){\r\n\t\t\t\tFastClick.attach(that.el);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthat.show = show;\r\n\t\tthat.hide = hide;\r\n\t\tthat.selectDate = selectDate;\r\n\t\tthat.unselectAll = unselectAll;\r\n\t\tthat.unselectDate = unselectDate;\r\n\r\n\t\tfunction currentDateGetter(){\r\n\t\t\treturn new Date(currentYear,currentMonth-1,1);\r\n\t\t}\r\n\t\tfunction currentDateSetter(x){\r\n\t\t\tx = new Date(x);\r\n\t\t\tcurrentMonth = x.getMonth() + 1;\r\n\t\t\tcurrentYear = x.getFullYear();\r\n\t\t\tsetDate();\r\n\t\t}\r\n\r\n\t\tObject.defineProperties(that,{\r\n\t\t\t\"selectedDates\": {\r\n\t\t\t\tget: function () {\r\n\t\t\t\t\treturn selectedDates.sort(function(a,b){return a.getTime() - b.getTime();});\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"range\": {\r\n\t\t\t\tget: function() {\r\n\t\t\t\t\treturn range;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x) {\r\n\t\t\t\t\tsetRange(x);\r\n\t\t\t\t\tif(x){maxSelections = 2;}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"button\": {\r\n\t\t\t\tget: function() {\r\n\t\t\t\t\treturn button;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(typeof x == 'string'){\r\n\t\t\t\t\t\tbutton = x;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tbutton = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthat.el.button.innerHTML = (button)?button:'';\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"title\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn title;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(typeof x == 'string'){\r\n\t\t\t\t\t\ttitle = x;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\ttitle = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthat.el.titleBox.innerText = (title)?title:'';\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"lang\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn lang;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x in languages){\r\n\t\t\t\t\t\tlang = x;\r\n\t\t\t\t\t\tgenerateDaynames();\r\n\t\t\t\t\t\tsetDate();\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tconsole.error('Language not found');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"weekStart\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn (weekStart !== null) ? weekStart : languages[lang].weekStart;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(typeof x == 'number' && x > -1 && x < 7){\r\n\t\t\t\t\t\tweekStart = x;\r\n\t\t\t\t\t\tgenerateDaynames();\r\n\t\t\t\t\t\tsetDate();\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tconsole.error('weekStart must be a number between 0 and 6');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"months\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn months;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(typeof x == 'number' && x > 0){\r\n\t\t\t\t\t\tmonths = x;\r\n\t\t\t\t\t\tgenerateDaynames();\r\n\t\t\t\t\t\tgenerateInputs();\r\n\t\t\t\t\t\tsetDate();\r\n\r\n\t\t\t\t\t\tif(months == 1){\r\n\t\t\t\t\t\t\tthat.el.classList.remove('multi');\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tthat.el.classList.add('multi');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tconsole.error('months must be a number > 0');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"isOpen\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn opened;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"closeOnSelect\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn closeOnSelect;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tcloseOnSelect = true;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tcloseOnSelect = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"disabledDays\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn disabledDays;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x instanceof Array){\r\n\t\t\t\t\t\tfor(var i = 0;i < x.length;i++){\r\n\t\t\t\t\t\t\tif(typeof x[i] == 'number'){\r\n\t\t\t\t\t\t\t\tdisabledDays.push(x[i]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if(typeof x == 'number'){\r\n\t\t\t\t\t\tdisabledDays = [x];\r\n\t\t\t\t\t}else if(!x){\r\n\t\t\t\t\t\tdisabledDays = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"disabledDates\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn disabledDates.map(function(x){return new Date(x);});\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x instanceof Array){\r\n\t\t\t\t\t\tx.forEach(function(date) {\r\n\t\t\t\t\t\t\tif(date instanceof Date){\r\n\t\t\t\t\t\t\t\tdisabledDates.push(new Date(date.getFullYear(),date.getMonth(),date.getDate()).getTime());\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}else if(x instanceof Date){\r\n\t\t\t\t\t\tdisabledDates = [new Date(x.getFullYear(),x.getMonth(),x.getDate()).getTime()];\r\n\t\t\t\t\t}else if(!x){\r\n\t\t\t\t\t\tdisabledDates = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"highlight\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn highlight;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x instanceof Array){\r\n\t\t\t\t\t\tx.forEach(function(hl) {\r\n\t\t\t\t\t\t\tif(hl instanceof Object){\r\n\t\t\t\t\t\t\t\tvar highlightObj = {};\r\n\t\t\t\t\t\t\t\t\thighlightObj.dates = [];\r\n\r\n\t\t\t\t\t\t\t\tif('start' in hl){\r\n\t\t\t\t\t\t\t\t\thighlightObj.dates.push({\r\n\t\t\t\t\t\t\t\t\t\tstart: new Date(hl.start.getFullYear(),hl.start.getMonth(),hl.start.getDate()),\r\n\t\t\t\t\t\t\t\t\t\tend: ('end' in hl)?new Date(hl.end.getFullYear(),hl.end.getMonth(),hl.end.getDate()):new Date(hl.start.getFullYear(),hl.start.getMonth(),hl.start.getDate())\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}else if('dates' in hl && hl.dates instanceof Array){\r\n\t\t\t\t\t\t\t\t\thl.dates.forEach(function(hlDate) {\r\n\t\t\t\t\t\t\t\t\t\thighlightObj.dates.push({\r\n\t\t\t\t\t\t\t\t\t\t\tstart: new Date(hlDate.start.getFullYear(),hlDate.start.getMonth(),hlDate.start.getDate()),\r\n\t\t\t\t\t\t\t\t\t\t\tend: ('end' in hlDate)?new Date(hlDate.end.getFullYear(),hlDate.end.getMonth(),hlDate.end.getDate()):new Date(hlDate.start.getFullYear(),hlDate.start.getMonth(),hlDate.start.getDate())\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\thighlightObj.color \t\t\t\t= hl.color;\r\n\t\t\t\t\t\t\t\thighlightObj.backgroundColor \t= hl.backgroundColor;\r\n\t\t\t\t\t\t\t\thighlightObj.legend\t\t\t\t= ('legend' in hl)?hl.legend:null;\r\n\r\n\t\t\t\t\t\t\t\thighlight.push(highlightObj);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}else if(x instanceof Object){\r\n\t\t\t\t\t\tvar highlightObj = {};\r\n\t\t\t\t\t\thighlightObj.dates = [];\r\n\r\n\t\t\t\t\t\tif('start' in x){\r\n\t\t\t\t\t\t\thighlightObj.dates.push({\r\n\t\t\t\t\t\t\t\tstart: new Date(x.start.getFullYear(),x.start.getMonth(),x.start.getDate()),\r\n\t\t\t\t\t\t\t\tend: ('end' in x)?new Date(x.end.getFullYear(),x.end.getMonth(),x.end.getDate()):new Date(x.start.getFullYear(),x.start.getMonth(),x.start.getDate())\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}else if('dates' in x && x.dates instanceof Array){\r\n\t\t\t\t\t\t\tx.dates.forEach(function(hlDate) {\r\n\t\t\t\t\t\t\t\thighlightObj.dates.push({\r\n\t\t\t\t\t\t\t\t\tstart: new Date(hlDate.start.getFullYear(),hlDate.start.getMonth(),hlDate.start.getDate()),\r\n\t\t\t\t\t\t\t\t\tend: ('end' in hlDate)?new Date(hlDate.end.getFullYear(),hlDate.end.getMonth(),hlDate.end.getDate()):new Date(hlDate.start.getFullYear(),hlDate.start.getMonth(),hlDate.start.getDate())\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\thighlightObj.color \t\t\t\t= x.color;\r\n\t\t\t\t\t\thighlightObj.backgroundColor \t= x.backgroundColor;\r\n\t\t\t\t\t\thighlightObj.legend\t\t\t\t= ('legend' in x)?x.legend:null;\r\n\r\n\t\t\t\t\t\thighlight.push(highlightObj);\r\n\t\t\t\t\t}else if(!x){\r\n\t\t\t\t\t\thighlight = [];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"onClose\": {\r\n\t\t\t\tset: function(callback){\r\n\t\t\t\t\tonClose = callback;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"onSelect\": {\r\n\t\t\t\tset: function(callback){\r\n\t\t\t\t\tonSelect = callback;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"today\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn today;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\ttoday = true;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\ttoday = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"daynames\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn daynames;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tdaynames = true;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tdaynames = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tgenerateDaynames();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"fullscreen\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn that.el.classList.contains('fullscreen');\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tthat.el.classList.add('fullscreen');\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tthat.el.classList.remove('fullscreen');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"locked\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn locked;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tlocked = true;\r\n\t\t\t\t\t\tthat.el.tables.classList.add('locked');\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tlocked = false;\r\n\t\t\t\t\t\tthat.el.tables.classList.remove('locked');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"maxSelections\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn maxSelections;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(typeof x == 'number' && !range){\r\n\t\t\t\t\t\tmaxSelections = x;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tif(range){\r\n\t\t\t\t\t\t\tmaxSelections = 2;\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tmaxSelections = null;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"onConfirm\": {\r\n\t\t\t\tset: function(callback){\r\n\t\t\t\t\tif(typeof callback == 'function'){\r\n\t\t\t\t\t\tonConfirm = callback.bind(that);\r\n\t\t\t\t\t\tthat.el.button.addEventListener(eventName,onConfirm);\r\n\t\t\t\t\t}else if(!callback){\r\n\t\t\t\t\t\tthat.el.button.removeEventListener(eventName,onConfirm);\r\n\t\t\t\t\t\tonConfirm = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"onNavigation\": {\r\n\t\t\t\tset: function(callback){\r\n\t\t\t\t\tif(typeof callback == 'function'){\r\n\t\t\t\t\t\tonNavigation = callback.bind(that);\r\n\t\t\t\t\t}else if(!callback){\r\n\t\t\t\t\t\tonNavigation = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"closeOnClick\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn closeOnClick;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tcloseOnClick = true;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tcloseOnClick = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"tooltips\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\tvar ret = [];\r\n\t\t\t\t\tfor(key in tooltips){\r\n\t\t\t\t\t\tret.push({\r\n\t\t\t\t\t\t\tdate: new Date(parseInt(key)),\r\n\t\t\t\t\t\t\ttext: tooltips[key]\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn ret;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x instanceof Array){\r\n\t\t\t\t\t\tx.forEach(function(item) {\r\n\t\t\t\t\t\t\tif(item.date && item.text && item.date instanceof Date){\r\n\t\t\t\t\t\t\t\ttooltips[new Date(item.date.getFullYear(),item.date.getMonth(),item.date.getDate()).getTime()] = item.text;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}else if(x instanceof Object){\r\n\t\t\t\t\t\tif(x.date && x.text && x.date instanceof Date){\r\n\t\t\t\t\t\t\ttooltips[new Date(x.date.getFullYear(),x.date.getMonth(),x.date.getDate()).getTime()] = x.text;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if(!x){\r\n\t\t\t\t\t\ttooltips = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"currentDate\": {\r\n\t\t\t\tget: currentDateGetter,\r\n\t\t\t\tset: currentDateSetter\r\n\t\t\t},\r\n\t\t\t\"setDate\": {\r\n\t\t\t\tset: currentDateSetter\r\n\t\t\t},\r\n\t\t\t\"startDate\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn startDate;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tstartDate = new Date(x);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tstartDate = null;\r\n\t\t\t\t\t\tcurrentYear = new Date().getFullYear();\r\n\t\t\t\t\t\tcurrentMonth = new Date().getMonth() + 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"minDate\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn minDate;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tminDate = (x) ? new Date(x) : null ;\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"maxDate\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn maxDate;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tmaxDate = (x) ? new Date(x) : null ;\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"container\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn container;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x instanceof String){\r\n\t\t\t\t\t\tvar y = document.querySelector(x);\r\n\t\t\t\t\t\tif(y){\r\n\t\t\t\t\t\t\tcontainer = y;\r\n\t\t\t\t\t\t\tif(container != document.body){\r\n\t\t\t\t\t\t\t\tthat.el.classList.add('wrapped');\r\n\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\tthat.el.classList.remove('wrapped');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tconsole.error(\"Container doesn't exist\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if(x instanceof HTMLElement){\r\n\t\t\t\t\t\tcontainer = x;\r\n\t\t\t\t\t\tif(container != document.body){\r\n\t\t\t\t\t\t\tthat.el.classList.add('wrapped');\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tthat.el.classList.remove('wrapped');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tconsole.error(\"Invalid type\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"inline\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn inline;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tinline = true;\r\n\t\t\t\t\t\tthat.el.classList.add('inline');\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tinline = false;\r\n\t\t\t\t\t\tthat.el.classList.remove('inline');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\r\n\t\t});\r\n\r\n\t\tinit();\r\n\t\tsetDate();\r\n\r\n\t\treturn Object.freeze(that);\r\n\t};\r\n\r\n\tfunction whichAnimationEvent(){\r\n\t var t;\r\n\t var el = document.createElement('fakeelement');\r\n\t var transitions = {\r\n\t 'animation':'animationend',\r\n\t 'OAnimation':'oanimationend',\r\n\t 'MozAnimation':'animationend',\r\n\t 'WebkitAnimation':'webkitAnimationEnd',\r\n\t '':'MSAnimationEnd'\r\n\t };\r\n\r\n\t for(t in transitions){\r\n\t if( el.style[t] !== undefined ){\r\n\t return transitions[t];\r\n\t }\r\n\t }\r\n\t}\r\n\r\n\tvar template = \t'
' +\r\n\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t\t'

' +\r\n\t\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
1
' +\r\n\t\t\t\t\t\t\t'
2
' +\r\n\t\t\t\t\t\t\t'
3
' +\r\n\t\t\t\t\t\t\t'
4
' +\r\n\t\t\t\t\t\t\t'
5
' +\r\n\t\t\t\t\t\t\t'
6
' +\r\n\t\t\t\t\t\t\t'
7
' +\r\n\t\t\t\t\t\t\t'
8
' +\r\n\t\t\t\t\t\t\t'
9
' +\r\n\t\t\t\t\t\t\t'
10
' +\r\n\t\t\t\t\t\t\t'
11
' +\r\n\t\t\t\t\t\t\t'
12
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t'
' +\r\n\t\t\t\t\t'
' +\r\n\t\t\t\t\t'' +\r\n\t\t\t\t\t'
';\r\n\r\n\tvar getBrowserVersion = function(){\r\n\t\tvar browser = {\r\n\t\t\ttype: null,\r\n\t\t\tversion: null\r\n\t\t}\r\n\r\n\t\tvar ua= navigator.userAgent, tem, ios,\r\n\t M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n\t ios = ua.match(/(iphone|ipad)\\s+OS\\s+([\\d+_]+\\d+)/i) || [];\r\n\t if(/trident/i.test(M[1])){\r\n\t tem= /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n\t browser.type = 'MSIE';\r\n\t browser.version = parseInt(tem[1]);\r\n\t return browser;\r\n\t }\r\n\t if(M[1]=== 'Chrome'){\r\n\t tem= ua.match(/\\bOPR\\/(\\d+)/)\r\n\t if(tem!= null) return 'Opera '+tem[1];\r\n\t }\r\n\t if(ios[1]){\r\n\t \treturn browser = {\r\n\t \t\ttype: 'iOS',\r\n\t \t\tversion: ios[2]\r\n\t \t};\r\n\t }\r\n\t M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];\r\n\t if((tem= ua.match(/version\\/(\\d+)/i))!= null) M.splice(1, 1, tem[1]);\r\n\t browser.type = M[0];\r\n\t browser.version = parseInt(M[1]);\r\n\r\n\t return browser;\r\n\t}\r\n\r\n\t/* Spread it to the world! */\r\n\tif ( typeof define === 'function' && define.amd ) define('Datepickk', Datepickk);\r\n\telse if ( typeof exports === 'object' ) module.exports = Datepickk;\r\n\telse window.Datepickk = Datepickk;\r\n})();\r\n"]} \ No newline at end of file +{"version":3,"sources":["datepickk.js"],"names":["Datepickk","args","generateDaynames","aTables","slice","call","that","el","tables","getElementsByClassName","forEach","parent","weeks","length","document","createElement","setAttribute","appendChild","weekEl","innerHTML","ws","weekStart","languages","lang","daynames","i","dayNameIndex","dayNames","dayEl","dayTextEl","generateYears","yearPicker","childNodes","node","index","currentYear","parseInt","getAttribute","toString","substring","generateInputs","highlightLegend","e","hexToRgb","hex","result","exec","r","g","b","result2","target","nodeName","legendIds","split","legendId","element","legend","querySelector","type","color","removeAttribute","x","months","l1","month","l2","container","input","id","numInstances","label","text","tooltip","addEventListener","eventName","event","locked","preventDefault","inputChange","y","filler","className","generateLegends","hoverLegend","querySelectorAll","this","classList","add","remove","idx","start","Date","end","_highlights","highlight","filter","m","dates","legends","l","oldLegend","backgroundColor","legendItem","legendItemPoint","push","item","indexOf","removeEventListener","removeChild","parseMonth","generateDates","year","date","UTC","days","getDate","daysLast","startDay","getDay","toJSON","substr","monthText","monthNames","inputEl","labelEl","nextSibling","checked","disabledDates","getTime","disabledDays","minDate","maxDate","today","setHours","tooltips","bgColor","percent","Math","round","z","Color","setDate","resetCalendar","currentMonth","getFullYear","getMonth","header","c","monthPicker","startmonth","endmonth","monthint","yearname","renderSelectedDates","onNavigation","selectedDates","updateRange","monthPickEl","yearPickEl","nextMonth","prevMonth","selectDate","ignoreOnSelect","range","onSelect","apply","unselectDate","unselectAll","startObj","endObj","parentNode","bContinued","tableHead","year_month","maxSelections","closeOnSelect","hide","setRange","val","show","properties","inline","body","setArgs","handler","calendar","whichAnimationEvent","opened","startDate","onClose","bindEvents","contains","button","overlay","closeOnClick","startX","distance","changedTouches","clientX","originalEvent","key","init","getBrowserVersion","template","titleBox","window","FastClick","attach","currentDateGetter","currentDateSetter","no","se","ru","en","de","nb","nn","title","onConfirm","Object","defineProperties","get","sort","a","set","innerText","console","error","isOpen","Array","map","nextId","idList","hl","highlightObj","hlDate","callback","fullscreen","bind","ret","currentDate","String","HTMLElement","freeze","t","transitions","animation","OAnimation","MozAnimation","WebkitAnimation","","undefined","style","tem","ios","browser","version","ua","navigator","userAgent","M","match","test","appName","appVersion","splice","define","amd","exports","module"],"mappings":"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","file":"datepickk.min.js","sourcesContent":["/*!\r\n * Datepickk\r\n * Docs & License: https://crsten.github.com/datepickk\r\n * (c) 2016-17 Carsten Jacobsen\r\n */\r\n(function(){\r\n\r\n\tfunction Datepickk(args){\r\n\t\tDatepickk.numInstances = (Datepickk.numInstances || 0) + 1;\r\n\t\tvar that = this;\r\n\t\tvar eventName = 'click';\r\n\t\tvar selectedDates = [];\r\n\r\n\t\tvar currentYear = new Date().getFullYear();\r\n\t\tvar currentMonth = new Date().getMonth() + 1;\r\n\r\n\t\tvar languages = {\r\n\t\t\tno: {\r\n\t\t\t\tmonthNames:['Januar','Februar','Mars','April','Mai','Juni','Juli','August','September','Oktober','November','Desember'],\r\n\t\t\t\tdayNames:['sø','ma','ti','on','to','fr','lø'],\r\n\t\t\t\tweekStart:1\r\n\t\t\t},\r\n\t\t\tse: {\r\n\t\t\t\tmonthNames:['januari','februari','mars','april','maj','juni','juli','augusti','september','oktober','november','december'],\r\n\t\t\t\tdayNames:['sö','må','ti','on','to','fr','lö'],\r\n\t\t\t\tweekStart:1\r\n\t\t\t},\r\n\t\t\tru: {\r\n\t\t\t\tmonthNames:['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],\r\n\t\t\t\tdayNames:['вс','пн','вт','ср','чт','пт','сб'],\r\n\t\t\t\tweekStart:1\r\n\t\t\t},\r\n\t\t\ten: {\r\n\t\t\t\tmonthNames:['january','february','march','april','may','june','july','august','september','october','november','december'],\r\n\t\t\t\tdayNames:['su','mo','tu','we','th','fr','sa'],\r\n\t\t\t\tweekStart:0\r\n\t\t\t},\r\n\t\t\tde: {\r\n\t\t\t\tmonthNames:['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],\r\n\t\t\t\tdayNames:['So','Mo','Di','Mi','Do','Fr','Sa'],\r\n\t\t\t\tweekStart:1\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t/*Language aliases*/\r\n\t\tlanguages.nb = languages.no;\r\n\t\tlanguages.nn = languages.no;\r\n\r\n\t\tvar range = false;\r\n\t\tvar maxSelections = null;\r\n\t\tvar container = document.body;\r\n\t\tvar opened = false;\r\n\t\tvar months = 1;\r\n\t\tvar closeOnSelect = false;\r\n\t\tvar button = null;\r\n\t\tvar title = null;\r\n\t\tvar onNavigation = null;\r\n\t\tvar onClose = null;\r\n\t\tvar onConfirm = null;\r\n\t\tvar closeOnClick = true;\r\n\t\tvar inline = false;\r\n\t\tvar lang = 'en';\r\n\t\tvar onSelect = null;\r\n\t\tvar disabledDates = [];\r\n\t\tvar disabledDays = [];\r\n\t\tvar highlight = [];\r\n\t\tvar tooltips = {};\r\n\t\tvar daynames = true;\r\n\t\tvar today = true;\r\n\t\tvar startDate = null;\r\n\t\tvar minDate = null;\r\n\t\tvar maxDate = null;\r\n\t\tvar weekStart = null;\r\n\t\tvar locked = false;\r\n\r\n\t\tfunction generateDaynames(){\r\n\t\t\tvar aTables = [].slice.call(that.el.tables.getElementsByClassName('d-table-head'));\r\n\t\t\taTables.forEach(function(parent) {\r\n\t\t\t\tvar weeks = parent.getElementsByClassName(\"d-week\");\r\n\t\t\t\tif (! weeks.length) {\r\n\t\t\t\t\tvar el = document.createElement('div');\r\n\t\t\t\t\tel.setAttribute('class', 'd-week');\r\n\t\t\t\t\tparent.appendChild(el);\r\n\t\t\t\t}\r\n\t\t\t\tvar weekEl = weeks[0];\r\n\t\t\t\tweekEl.innerHTML = '';\r\n\t\t\t\tvar ws = (weekStart !== null) ? weekStart : languages[lang].weekStart;\r\n\t\t\t\tif(daynames){\r\n\t\t\t\t\tfor(var i = 0; i < 7;i++){\r\n\t\t\t\t\t\tvar dayNameIndex = (i + ws > languages[lang].dayNames.length - 1) ? i + ws - languages[lang].dayNames.length : i + ws;\r\n\t\t\t\t\t\tvar dayEl = document.createElement('div');\r\n\t\t\t\t\t\tvar\tdayTextEl = document.createElement('p');\r\n\t\t\t\t\t\t\tdayTextEl.innerHTML = languages[lang].dayNames[dayNameIndex];\r\n\t\t\t\t\t\t\tdayEl.appendChild(dayTextEl);\r\n\t\t\t\t\t\t\tweekEl.appendChild(dayEl);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction generateYears(){\r\n\t\t\t[].slice.call(that.el.yearPicker.childNodes).forEach(function(node,index) {\r\n\t\t\t\tnode.innerHTML = \"'\" + (currentYear + parseInt(node.getAttribute('data-year'))).toString().substring(2,4);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction generateInputs(){\r\n\t\t\tthat.el.tables.innerHTML = '';\r\n\t\t\tfor(var x = 0;x start){\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t});\r\n\t\t\tvar legends = [];\r\n\t\t\tfor(var l = 0;l<_highlights.length;l++){\r\n\t\t\t\tif('legend' in _highlights[l] && _highlights[l].legend){\r\n\t\t\t\t\tvar oldLegend = container.querySelector('.d-legend-item[data-legend=\"' + _highlights[l].legend + '\"][data-color=\"' + _highlights[l].backgroundColor + '\"]');\r\n\t\t\t\t\tif(oldLegend == null){\r\n\t\t\t\t\t\tvar legendItem = document.createElement('p');\r\n\t\t\t\t\t\t\tlegendItem.setAttribute('class','d-legend-item');\r\n\t\t\t\t\t\t\tlegendItem.setAttribute('data-legend',_highlights[l].legend);\r\n\t\t\t\t\t\t\tlegendItem.setAttribute('data-legend-id', _highlights[l].id);\r\n\t\t\t\t\t\t\tlegendItem.setAttribute('data-color',_highlights[l].backgroundColor);\r\n\t\t\t\t\t\tvar legendItemPoint = document.createElement('span');\r\n\t\t\t\t\t\t\tlegendItemPoint.setAttribute('style','background-color:' + _highlights[l].backgroundColor);\r\n\r\n\t\t\t\t\t\tlegendItem.appendChild(legendItemPoint);\r\n\r\n\t\t\t\t\t\tthat.el.legend.appendChild(legendItem);\r\n\t\t\t\t\t\tlegendItem.addEventListener('mouseover',hoverLegend);\r\n\t\t\t\t\t\tlegendItem.addEventListener('mouseout',hoverLegend);\r\n\t\t\t\t\t\tlegends.push(legendItem);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tlegends.push(oldLegend);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t[].slice.call(that.el.legend.querySelectorAll('.d-legend-item')).forEach(function(item) {\r\n\t\t\t\tif(legends.indexOf(item) < 0){\r\n\t\t\t\t\titem.removeEventListener('mouseover',hoverLegend);\r\n\t\t\t\t\titem.removeEventListener('mouseout',hoverLegend);\r\n\t\t\t\t\tthat.el.legend.removeChild(item);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tfunction hoverLegend(e){\r\n\t\t\t\t[].slice.call(that.el.tables.querySelectorAll('[data-legend-id*=\"' + this.getAttribute('data-legend-id') + '\"]')).forEach(function(element) {\r\n\t\t\t\t\tif(e.type == 'mouseover') element.classList.add('legend-hover');\r\n\t\t\t\t\telse element.classList.remove('legend-hover');\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction parseMonth(month){\r\n\t\t\tif(month > 11) month -= 12;\r\n\t\t\telse if(month < 0) month += 12;\r\n\t\t\treturn month;\r\n\t\t}\r\n\r\n\t\tfunction generateDates(year,month){\r\n\t\t\tvar months = that.el.querySelectorAll('.d-table-head').length;\r\n\t\t\tvar ws = (weekStart !== null) ? weekStart : languages[lang].weekStart;\r\n\r\n\t\t\t[].slice.call(that.el.querySelectorAll('.d-table-head')).forEach(function(element, index) {\r\n\t\t\t\tvar date = new Date(Date.UTC(year, month + index - 1, 1));\r\n\t\t\t\tvar days = new Date(year,month + index,0).getDate();\r\n\t\t\t\tvar daysLast = new Date(year,month + index - 1,0).getDate();\r\n\t\t\t\tvar startDay = new Date(year,month + index - 1,1).getDay();\r\n\t\t\t\tif(startDay - ws < 0){\r\n\t\t\t\t\tstartDay = 7 - ws;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tstartDay -= ws;\r\n\t\t\t\t}\r\n\t\t\t\telement.setAttribute('data-ym', date.toJSON().substr(0, 7));\r\n\t\t\t\tvar monthText = languages[lang].monthNames[parseMonth(month - 1 + index)];\r\n\t\t\t\telement.childNodes[element.childNodes.length - 2].setAttribute('data-month', monthText);\r\n\r\n\t\t\t\t[].slice.call(element.querySelectorAll('.d-table input')).forEach(function(inputEl,i) {\r\n\t\t\t\t\tvar labelEl = inputEl.nextSibling;\r\n\r\n\t\t\t\t\tinputEl.checked = false;\r\n\t\t\t\t\tinputEl.removeAttribute('disabled');\r\n\t\t\t\t\tlabelEl.removeAttribute('style');\r\n\t\t\t\t\tlabelEl.removeAttribute('data-legend-id');\r\n\t\t\t\t\tlabelEl.className = '';\r\n\r\n\t\t\t\t\tvar date = null;\r\n\t\t\t\t\tif(i < startDay){\r\n\t\t\t\t\t\tlabelEl.childNodes[0].innerHTML = daysLast - (startDay - i - 1);\r\n\t\t\t\t\t\tif(index == 0){\r\n\t\t\t\t\t\t\tdate = new Date(year,month + index - 2,daysLast - (startDay - i - 1));\r\n\t\t\t\t\t\t\tlabelEl.className = 'prev';\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tdate = '';\r\n\t\t\t\t\t\t\tlabelEl.className = 'd-hidden';\r\n\t\t\t\t\t\t\tinputEl.setAttribute('disabled',true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if(i < days + startDay){\r\n\t\t\t\t\t\tdate = new Date(year,month + index - 1,i - startDay+1);\r\n\t\t\t\t\t\tlabelEl.childNodes[0].innerHTML = i - startDay + 1;\r\n\t\t\t\t\t\tlabelEl.className = '';\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tlabelEl.childNodes[0].innerHTML = i - days - startDay + 1;\r\n\t\t\t\t\t\tif(index == months-1){\r\n\t\t\t\t\t\t\tdate = new Date(year,month + index,i - days - startDay + 1);\r\n\t\t\t\t\t\t\tlabelEl.className = 'next';\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tdate = '';\r\n\t\t\t\t\t\t\tlabelEl.className = 'd-hidden';\r\n\t\t\t\t\t\t\tinputEl.setAttribute('disabled',true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(date instanceof Date){\r\n\t\t\t\t\t\tinputEl.setAttribute('data-date',date.toJSON());\r\n\r\n\t\t\t\t\t\tif(disabledDates.indexOf(date.getTime()) != -1 || disabledDays.indexOf(date.getDay()) != -1){\r\n\t\t\t\t\t\t\tinputEl.setAttribute('disabled',true);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif((minDate && date < minDate) || (maxDate && date > maxDate)){\r\n\t\t\t\t\t\t\tlabelEl.className = 'd-hidden';\r\n\t\t\t\t\t\t\tinputEl.setAttribute('disabled',true);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif(today && date.getTime() == new Date().setHours(0,0,0,0)){\r\n\t\t\t\t\t\t\tlabelEl.classList.add('today');\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tlabelEl.classList.remove('today');\r\n\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t\tif(tooltips[date.getTime()]){\r\n\t\t\t\t\t\t\tlabelEl.childNodes[0].setAttribute('data-tooltip',true);\r\n\t\t\t\t\t\t\tlabelEl.childNodes[1].innerHTML = tooltips[date.getTime()];\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tlabelEl.childNodes[0].removeAttribute('data-tooltip');\r\n\t\t\t\t\t\t\tlabelEl.childNodes[1].innerHTML = '';\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tvar _highlights = highlight.filter(function(x){\r\n\t\t\t\t\t\t\tfor(var m = 0;m < x.dates.length;m++){\r\n\t\t\t\t\t\t\t\tif(date.getTime() >= x.dates[m].start.getTime() && date.getTime() <= x.dates[m].end.getTime()){\r\n\t\t\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tif(_highlights.length > 0){\r\n\t\t\t\t\t\t\tvar bgColor = '';\r\n\t\t\t\t\t\t\tvar legendIds = '';\r\n\r\n\t\t\t\t\t\t\tif(_highlights.length > 1){\r\n\t\t\t\t\t\t\t\tvar percent = Math.round(100 / _highlights.length);\r\n\t\t\t\t\t\t\t\tbgColor = 'background: linear-gradient(-45deg,';\r\n\t\t\t\t\t\t\t\tfor(var z = 0;z < _highlights.length;z++){\r\n\t\t\t\t\t\t\t\t\tlegendIds += _highlights[z].id + ' ';\r\n\t\t\t\t\t\t\t\t\tbgColor += _highlights[z].backgroundColor + ' ' + (percent*z) + '%';\r\n\t\t\t\t\t\t\t\t\tif(z != _highlights.length - 1){\r\n\t\t\t\t\t\t\t\t\t\tbgColor += ',';\r\n\t\t\t\t\t\t\t\t\t\tbgColor += _highlights[z].backgroundColor + ' ' + (percent*(z+1)) + '%,';\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbgColor += ');';\r\n\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\tbgColor = (_highlights[0].backgroundColor)?'background:'+ _highlights[0].backgroundColor + ';':'';\r\n\t\t\t\t\t\t\t\tlegendIds += _highlights[0].id + ' ';\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvar Color = (_highlights[0].color)?'color:'+ _highlights[0].color + ';':'';\r\n\t\t\t\t\t\t\tlabelEl.setAttribute('style',bgColor + Color);\r\n\t\t\t\t\t\t\tlabelEl.setAttribute('data-legend-id',legendIds);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tgenerateLegends();\r\n\t\t};\r\n\r\n\t\tfunction setDate(){\r\n\t\t\tif(!that.el.tables.childNodes.length) return;\r\n\r\n\t\t\tresetCalendar();\r\n\r\n\t\t\tif(currentMonth > 12 || currentMonth < 1){\r\n\t\t\t\tif(currentMonth > 12){\r\n\t\t\t\t\tcurrentYear += 1;\r\n\t\t\t\t\tcurrentMonth -= 12;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tcurrentYear -= 1;\r\n\t\t\t\t\tcurrentMonth += 12;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(maxDate && new Date(currentYear,currentMonth-1+months-1,1) >= new Date(maxDate).setDate(1)){\r\n\t\t\t\tcurrentYear = maxDate.getFullYear();\r\n\t\t\t\tcurrentMonth = maxDate.getMonth() + 1 - months + 1;\r\n\t\t\t\tthat.el.header.childNodes[2].setAttribute('style','visibility:hidden');\r\n\t\t\t}else{\r\n\t\t\t\tthat.el.header.childNodes[2].removeAttribute('style');\r\n\t\t\t}\r\n\t\t\tif(minDate && new Date(currentYear,currentMonth -1,1) <= new Date(minDate).setDate(1)){\r\n\t\t\t\tcurrentYear = minDate.getFullYear();\r\n\t\t\t\tcurrentMonth = minDate.getMonth() + 1;\r\n\t\t\t\tthat.el.header.childNodes[0].setAttribute('style','visibility:hidden');\r\n\t\t\t}else{\r\n\t\t\t\tthat.el.header.childNodes[0].removeAttribute('style');\r\n\t\t\t}\r\n\r\n\t\t\tfor(var c = 0;c < months;c++){\r\n\t\t\t\tvar index = currentMonth-1+c;\r\n\t\t\t\tif(index > 11){\r\n\t\t\t\t\tindex -= 12;\r\n\t\t\t\t}else if(index < 0){\r\n\t\t\t\t\tindex += 12;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthat.el.monthPicker.childNodes[index].classList.add('current');\r\n\t\t\t}\r\n\r\n\t\t\tgenerateDates(currentYear,currentMonth);\r\n\t\t\tgenerateYears();\r\n\t\t\tvar startmonth = languages[lang].monthNames[currentMonth-1];\r\n\t\t\tvar endmonth = '';\r\n\t\t\tif(months > 1){\r\n\t\t\t\tendmonth += ' - ';\r\n\t\t\t\tvar monthint = currentMonth-1+months-1;\r\n\t\t\t\tif(monthint > 11){\r\n\t\t\t\t\tmonthint -= 12;\r\n\t\t\t\t}else if(monthint < 0){\r\n\t\t\t\t\tmonthint += 12;\r\n\t\t\t\t}\r\n\t\t\t\tendmonth += languages[lang].monthNames[monthint];\r\n\t\t\t}\r\n\t\t\tvar yearname = (currentMonth-1+months-1 > 11)?currentYear.toString().substring(2,4) + '/' + (currentYear + 1).toString().substring(2,4):currentYear.toString().substring(2,4);\r\n\t\t\tthat.el.header.childNodes[1].childNodes[0].innerHTML = startmonth + endmonth;\r\n\t\t\tthat.el.header.childNodes[1].childNodes[1].innerHTML = yearname;\r\n\r\n\t\t\tthat.el.yearPicker.querySelector('[data-year=\"0\"]').classList.add('current');\r\n\t\t\tif(currentMonth-1+months-1>11){\r\n\t\t\t\tthat.el.yearPicker.querySelector('[data-year=\"1\"]').classList.add('current');\r\n\t\t\t}\r\n\r\n\t\t\trenderSelectedDates();\r\n\t\t\tif(onNavigation) onNavigation.call(that);\r\n\t\t};\r\n\r\n\t\tfunction renderSelectedDates(){\r\n\t\t\tselectedDates.forEach(function(date) {\r\n\t\t\t\tvar el = that.el.querySelector('[data-date=\"' + date.toJSON() + '\"]');\r\n\t\t\t\tif(el){\r\n\t\t\t\t\tel.checked = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tupdateRange();\r\n\t\t};\r\n\r\n\t\tfunction resetCalendar(){\r\n\t\t\t[].slice.call(that.el.querySelectorAll('.d-table input')).forEach(function(inputEl) {\r\n\t\t\t\tinputEl.checked = false;\r\n\t\t\t});\r\n\r\n\t\t\t[].slice.call(that.el.monthPicker.querySelectorAll('.current')).forEach(function(monthPickEl) {\r\n\t\t\t\tmonthPickEl.classList.remove('current');\r\n\t\t\t});\r\n\r\n\t\t\t[].slice.call(that.el.yearPicker.querySelectorAll('.current')).forEach(function(yearPickEl) {\r\n\t\t\t\tyearPickEl.classList.remove('current');\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction nextMonth(){\r\n\t\t\tcurrentMonth += months;\r\n\t\t\tsetDate();\r\n\t\t};\r\n\r\n\t\tfunction prevMonth(){\r\n\t\t\tcurrentMonth -= months;\r\n\t\t\tsetDate();\r\n\t\t};\r\n\r\n\t\tfunction selectDate(date, ignoreOnSelect) {\r\n\t\t\tdate = new Date(date);\r\n\t\t\tdate.setHours(0, 0, 0, 0);\r\n\r\n\t\t\tvar el = that.el.querySelector('[data-date=\"' + date.toJSON() + '\"]');\r\n\t\t\tif (el) {\r\n\t\t\t\tif (range) {\r\n\t\t\t\t\tel.classList.add(selectedDates.length > 0 ? 'd-end' : 'd-start');\r\n\t\t\t\t}\r\n\t\t\t\tif (! el.checked) {\r\n\t\t\t\t\tel.checked = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tselectedDates.push(date);\r\n\r\n\t\t\tif (onSelect && !ignoreOnSelect) {\r\n\t\t\t\tonSelect.apply(date, [true]);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction unselectDate(date, ignoreOnSelect) {\r\n\t\t\tdate = new Date(date);\r\n\t\t\tdate.setHours(0, 0, 0, 0);\r\n\r\n\t\t\tvar el = that.el.querySelector('[data-date=\"' + date.toJSON() + '\"]');\r\n\t\t\tif (el) {\r\n\t\t\t\tif (range) {\r\n\t\t\t\t\tel.classList.remove('d-start');\r\n\t\t\t\t\tel.classList.remove('d-end');\r\n\t\t\t\t}\r\n\t\t\t\tif (el.checked) {\r\n\t\t\t\t\tel.checked = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tselectedDates = selectedDates.filter(function (x) {\r\n\t\t\t\treturn x.getTime() != date.getTime();\r\n\t\t\t});\r\n\r\n\t\t\tif (onSelect && !ignoreOnSelect) {\r\n\t\t\t\tonSelect.call(date, false);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction unselectAll(ignoreOnSelect){\r\n\t\t\twhile (selectedDates.length > 0) {\r\n\t\t\t\tunselectDate(selectedDates[0], ignoreOnSelect);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction updateRange() {\r\n\t\t\tvar startObj = null;\r\n\t\t\tvar endObj = null;\r\n\t\t\tif (range) {\r\n\t\t\t\tif (selectedDates.length > 1) {\r\n\t\t\t\t\tstartObj = selectedDates[1].getTime() > selectedDates[0].getTime() ? selectedDates[0] : selectedDates[1];\r\n\t\t\t\t\tendObj = selectedDates[1].getTime() > selectedDates[0].getTime() ? selectedDates[1] : selectedDates[0];\r\n\t\t\t\t} else if (selectedDates.length > 0) {\r\n\t\t\t\t\tstartObj = selectedDates[0];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar start = startObj ? startObj.toJSON().substr(0, 7) : null;\r\n\t\t\tvar end = endObj ? endObj.toJSON().substr(0, 7) : null;\r\n\t\t\tif (startObj) startObj = that.el.querySelector('[data-date=\"' + startObj.toJSON() + '\"]');\r\n\t\t\tif (endObj) endObj = that.el.querySelector('[data-date=\"' + endObj.toJSON() + '\"]');\r\n\t\t\tif (startObj) startObj = startObj.parentNode.parentNode.parentNode;\r\n\t\t\tif (endObj) endObj = endObj.parentNode.parentNode.parentNode;\r\n\r\n\t\t\tif (start && end) {\r\n\t\t\t\tthat.el.tables.classList.add('d-selected');\r\n\t\t\t} else {\r\n\t\t\t\tthat.el.tables.classList.remove('d-selected');\r\n\t\t\t}\r\n\r\n\t\t\tvar bContinued = false;\r\n\t\t\t[].slice.call(that.el.querySelectorAll('.d-table-head')).forEach(function (tableHead, index) {\r\n\t\t\t\tvar year_month = tableHead.getAttribute('data-ym');\r\n\t\t\t\ttableHead.classList.remove('d-start');\r\n\t\t\t\ttableHead.classList.remove('d-cont');\r\n\t\t\t\ttableHead.classList.remove('d-end');\r\n\t\t\t\tif (start) {\r\n\t\t\t\t\tif (end) {\r\n\t\t\t\t\t\t// special case for single date selection\r\n\t\t\t\t\t\tif (tableHead === startObj && selectedDates[1].getTime() !== selectedDates[0].getTime()) {\r\n\t\t\t\t\t\t\ttableHead.classList.add('d-start');\r\n\t\t\t\t\t\t\tbContinued = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (tableHead === endObj) {\r\n\t\t\t\t\t\t\ttableHead.classList.add('d-end');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (tableHead === startObj) {\r\n\t\t\t\t\t\t\ttableHead.classList.add('d-start');\r\n\t\t\t\t\t\t\tbContinued = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (! bContinued) {\r\n\t\t\t\t\t\tbContinued = true;\r\n\t\t\t\t\t\tif (start < year_month && (! end || year_month <= end)) tableHead.classList.add('d-cont');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction inputChange(e){\r\n\t\t\tif (locked) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar input = this;\r\n\t\t\tvar date = new Date(input.getAttribute('data-date'));\r\n\r\n\t\t\tif (range) {\r\n\t\t\t\tif (selectedDates.length > 1) {\r\n\t\t\t\t\twhile (selectedDates.length > 0) {\r\n\t\t\t\t\t\tunselectDate(selectedDates[0]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tselectDate(date);\r\n\r\n\t\t\t} else {\r\n\t\t\t\tif (input.checked) {\r\n\t\t\t\t\tif (maxSelections && selectedDates.length > maxSelections - 1) {\r\n\t\t\t\t\t\tvar length = selectedDates.length;\r\n\t\t\t\t\t\tfor (length; length > maxSelections - 1; length--) {\r\n\t\t\t\t\t\t\tunselectDate(selectedDates[0]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tselectDate(date);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tunselectDate(date);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tupdateRange();\r\n\r\n\t\t\tif (closeOnSelect) {\r\n\t\t\t\tthat.hide();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction setRange(val){\r\n\t\t\tif(val){\r\n\t\t\t\trange = true;\r\n\t\t\t\tthat.el.tables.classList.add('range');\r\n\t\t\t}else{\r\n\t\t\t\trange = false;\r\n\t\t\t\tthat.el.tables.classList.remove('range');\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction show(properties){\r\n\t\t\tif(!that.inline && that.container === document.body){document.body.classList.add('d-noscroll');}\r\n\t\t\tsetArgs(properties);\r\n\t\t\tvar handler = function(){\r\n\t\t\t\tthat.el.classList.remove('d-show');\r\n\t\t\t\tthat.el.calendar.removeEventListener(whichAnimationEvent(),handler);\r\n\t\t\t};\r\n\t\t\tthat.el.calendar.addEventListener(whichAnimationEvent(),handler);\r\n\t\t\tthat.el.classList.add('d-show');\r\n\t\t\tcontainer.appendChild(that.el);\r\n\t\t\topened = true;\r\n\t\t\tif(startDate){\r\n\t\t\t\tcurrentMonth = startDate.getMonth() + 1;\r\n\t\t\t\tcurrentYear = startDate.getFullYear();\r\n\t\t\t}\r\n\t\t\tsetDate();\r\n\t\t};\r\n\r\n\t\tfunction hide(){\r\n\t\t\tdocument.body.classList.remove('d-noscroll');\r\n\t\t\tvar handler = function(){\r\n\t\t\t\tthat.el.parentNode.removeChild(that.el);\r\n\t\t\t\topened = false;\r\n\t\t\t\tthat.el.classList.remove('d-hide');\r\n\t\t\t\tif(typeof onClose == 'function'){\r\n\t\t\t\t\tonClose.apply(that);\r\n\t\t\t\t}\r\n\t\t\t\tthat.el.removeEventListener(whichAnimationEvent(),handler);\r\n\t\t\t};\r\n\t\t\tthat.el.addEventListener(whichAnimationEvent(),handler);\r\n\t\t\tthat.el.classList.add('d-hide');\r\n\t\t};\r\n\r\n\t\tfunction bindEvents(){\r\n\t\t\tthat.el.header.childNodes[0].addEventListener(eventName,prevMonth);\r\n\t\t\tthat.el.header.childNodes[2].addEventListener(eventName,nextMonth);\r\n\t\t\tthat.el.header.childNodes[1].childNodes[0].addEventListener(eventName,function(){\r\n\t\t\t\tif(that.el.monthPicker.classList.contains('d-show')){\r\n\t\t\t\t\tthat.el.monthPicker.classList.remove('d-show');\r\n\t\t\t\t}else{\r\n\t\t\t\t\tthat.el.monthPicker.classList.add('d-show');\r\n\t\t\t\t}\r\n\t\t\t\tthat.el.yearPicker.classList.remove('d-show');\r\n\t\t\t});\r\n\t\t\tthat.el.header.childNodes[1].childNodes[1].addEventListener(eventName,function(){\r\n\t\t\t\tgenerateYears();\r\n\t\t\t\tif(that.el.yearPicker.classList.contains('d-show')){\r\n\t\t\t\t\tthat.el.yearPicker.classList.remove('d-show');\r\n\t\t\t\t}else{\r\n\t\t\t\t\tthat.el.yearPicker.classList.add('d-show');\r\n\t\t\t\t}\r\n\t\t\t\tthat.el.monthPicker.classList.remove('d-show');\r\n\t\t\t});\r\n\t\t\tthat.el.button.addEventListener(eventName,hide);\r\n\r\n\t\t\tthat.el.overlay.addEventListener(eventName,function(){\r\n\t\t\t\tif(closeOnClick){\r\n\t\t\t\t\tthat.hide();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t[].slice.call(that.el.monthPicker.childNodes).forEach(function(monthPicker) {\r\n\t\t\t\tmonthPicker.addEventListener(eventName,function(){\r\n\t\t\t\t\tcurrentMonth = parseInt(this.getAttribute('data-month'));\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t\tthat.el.monthPicker.classList.remove('d-show');\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\t[].slice.call(that.el.yearPicker.childNodes).forEach(function(yearPicker) {\r\n\t\t\t\tyearPicker.addEventListener(eventName,function(){\r\n\t\t\t\t\tcurrentYear += parseInt(this.getAttribute('data-year'));\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t\tthat.el.yearPicker.classList.remove('d-show');\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tvar startX = 0;\r\n\t\t\tvar distance = 0;\r\n\t\t\tthat.el.calendar.addEventListener('touchstart',function(e){\r\n\t\t\t\tstartX = e.changedTouches[0].clientX || e.originalEvent.changedTouches[0].clientX;\r\n\t\t\t\t//e.preventDefault();\r\n\t\t\t});\r\n\r\n\t\t\tthat.el.calendar.addEventListener('touchmove',function(e){\r\n\t\t\t\tdistance = e.changedTouches[0].clientX - startX || e.originalEvent.changedTouches[0].clientX - startX;\r\n\t\t\t\te.preventDefault();\r\n\t\t\t});\r\n\r\n\t\t\tthat.el.calendar.addEventListener('touchend',function(e){\r\n\t\t\t\tif(distance > 50){\r\n\t\t\t\t\tprevMonth();\r\n\t\t\t\t}else if(distance < -50){\r\n\t\t\t\t\tnextMonth();\r\n\t\t\t\t}\r\n\t\t\t\tdistance = 0;\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction setArgs(x){\r\n\t\t\tfor(var key in x){\r\n\t\t\t\tif(key in that){\r\n\t\t\t\t\tthat[key] = x[key];\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\tfunction init(){\r\n\t\t\tthat.el = document.createElement('div');\r\n\t\t\tthat.el.className = 'Datepickk';\r\n\t\t\tthat.el.classList.add(getBrowserVersion().type);\r\n\t\t\tthat.el.innerHTML = template;\r\n\t\t\tthat.el.calendar = that.el.childNodes[1];\r\n\t\t\tthat.el.titleBox = that.el.childNodes[0];\r\n\t\t\tthat.el.button = that.el.childNodes[3];\r\n\t\t\tthat.el.header = that.el.calendar.childNodes[0];\r\n\t\t\tthat.el.monthPicker = that.el.calendar.childNodes[1];\r\n\t\t\tthat.el.yearPicker = that.el.calendar.childNodes[2];\r\n\t\t\tthat.el.tables = that.el.calendar.childNodes[3];\r\n\t\t\tthat.el.overlay = that.el.childNodes[4];\r\n\t\t\tthat.el.legend = that.el.childNodes[2];\r\n\r\n\t\t\tsetArgs(args);\r\n\r\n\t\t\tgenerateInputs();\r\n\t\t\tbindEvents();\r\n\r\n\t\t\tif(inline){\r\n\t\t\t\tshow();\r\n\t\t\t}\r\n\r\n\t\t\tif(window.FastClick != null){\r\n\t\t\t\tFastClick.attach(that.el);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthat.show = show;\r\n\t\tthat.hide = hide;\r\n\t\tthat.selectDate = selectDate;\r\n\t\tthat.unselectAll = unselectAll;\r\n\t\tthat.unselectDate = unselectDate;\r\n\r\n\t\tfunction currentDateGetter(){\r\n\t\t\treturn new Date(currentYear,currentMonth-1,1);\r\n\t\t}\r\n\t\tfunction currentDateSetter(x){\r\n\t\t\tx = new Date(x);\r\n\t\t\tcurrentMonth = x.getMonth() + 1;\r\n\t\t\tcurrentYear = x.getFullYear();\r\n\t\t\tsetDate();\r\n\t\t}\r\n\r\n\t\tObject.defineProperties(that,{\r\n\t\t\t\"selectedDates\": {\r\n\t\t\t\tget: function () {\r\n\t\t\t\t\treturn selectedDates.sort(function(a,b){return a.getTime() - b.getTime();});\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"range\": {\r\n\t\t\t\tget: function() {\r\n\t\t\t\t\treturn range;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x) {\r\n\t\t\t\t\tsetRange(x);\r\n\t\t\t\t\tif(x){maxSelections = 2;}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"button\": {\r\n\t\t\t\tget: function() {\r\n\t\t\t\t\treturn button;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(typeof x == 'string'){\r\n\t\t\t\t\t\tbutton = x;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tbutton = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthat.el.button.innerHTML = (button)?button:'';\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"title\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn title;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(typeof x == 'string'){\r\n\t\t\t\t\t\ttitle = x;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\ttitle = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthat.el.titleBox.innerText = (title)?title:'';\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"lang\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn lang;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x in languages){\r\n\t\t\t\t\t\tlang = x;\r\n\t\t\t\t\t\tgenerateDaynames();\r\n\t\t\t\t\t\tsetDate();\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tconsole.error('Language not found');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"weekStart\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn (weekStart !== null) ? weekStart : languages[lang].weekStart;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(typeof x == 'number' && x > -1 && x < 7){\r\n\t\t\t\t\t\tweekStart = x;\r\n\t\t\t\t\t\tgenerateDaynames();\r\n\t\t\t\t\t\tsetDate();\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tconsole.error('weekStart must be a number between 0 and 6');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"months\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn months;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(typeof x == 'number' && x > 0){\r\n\t\t\t\t\t\tmonths = x;\r\n\t\t\t\t\t\tgenerateInputs();\r\n\t\t\t\t\t\tsetDate();\r\n\r\n\t\t\t\t\t\tif(months == 1){\r\n\t\t\t\t\t\t\tthat.el.classList.remove('multi');\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tthat.el.classList.add('multi');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tconsole.error('months must be a number > 0');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"isOpen\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn opened;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"closeOnSelect\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn closeOnSelect;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tcloseOnSelect = true;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tcloseOnSelect = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"disabledDays\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn disabledDays;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x instanceof Array){\r\n\t\t\t\t\t\tfor(var i = 0;i < x.length;i++){\r\n\t\t\t\t\t\t\tif(typeof x[i] == 'number'){\r\n\t\t\t\t\t\t\t\tdisabledDays.push(x[i]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if(typeof x == 'number'){\r\n\t\t\t\t\t\tdisabledDays = [x];\r\n\t\t\t\t\t}else if(!x){\r\n\t\t\t\t\t\tdisabledDays = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"disabledDates\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn disabledDates.map(function(x){return new Date(x);});\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x instanceof Array){\r\n\t\t\t\t\t\tx.forEach(function(date) {\r\n\t\t\t\t\t\t\tif(date instanceof Date){\r\n\t\t\t\t\t\t\t\tdisabledDates.push(new Date(date.getFullYear(),date.getMonth(),date.getDate()).getTime());\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}else if(x instanceof Date){\r\n\t\t\t\t\t\tdisabledDates = [new Date(x.getFullYear(),x.getMonth(),x.getDate()).getTime()];\r\n\t\t\t\t\t}else if(!x){\r\n\t\t\t\t\t\tdisabledDates = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"highlight\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn highlight;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tvar nextId = 0;\r\n\t\t\t\t\tvar idList = {};\r\n\t\t\t\t\thighlight.forEach(function(hl) {\r\n\t\t\t\t\t\tconst key = (hl.legend || '') + '|' + (hl.backgroundColor || '') + '|' + (hl.color || '');\r\n\t\t\t\t\t\tidList[key] = hl.id;\r\n\t\t\t\t\t\tif (hl.id >= nextId) nextId = hl.id + 1;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif(x instanceof Array){\r\n\t\t\t\t\t\tx.forEach(function(hl) {\r\n\t\t\t\t\t\t\tif(hl instanceof Object){\r\n\t\t\t\t\t\t\t\tvar highlightObj = {};\r\n\t\t\t\t\t\t\t\t\thighlightObj.dates = [];\r\n\r\n\t\t\t\t\t\t\t\tif('start' in hl){\r\n\t\t\t\t\t\t\t\t\thighlightObj.dates.push({\r\n\t\t\t\t\t\t\t\t\t\tstart: new Date(hl.start.getFullYear(),hl.start.getMonth(),hl.start.getDate()),\r\n\t\t\t\t\t\t\t\t\t\tend: ('end' in hl)?new Date(hl.end.getFullYear(),hl.end.getMonth(),hl.end.getDate()):new Date(hl.start.getFullYear(),hl.start.getMonth(),hl.start.getDate())\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}else if('dates' in hl && hl.dates instanceof Array){\r\n\t\t\t\t\t\t\t\t\thl.dates.forEach(function(hlDate) {\r\n\t\t\t\t\t\t\t\t\t\thighlightObj.dates.push({\r\n\t\t\t\t\t\t\t\t\t\t\tstart: new Date(hlDate.start.getFullYear(),hlDate.start.getMonth(),hlDate.start.getDate()),\r\n\t\t\t\t\t\t\t\t\t\t\tend: ('end' in hlDate)?new Date(hlDate.end.getFullYear(),hlDate.end.getMonth(),hlDate.end.getDate()):new Date(hlDate.start.getFullYear(),hlDate.start.getMonth(),hlDate.start.getDate())\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\thighlightObj.color \t\t\t\t= hl.color;\r\n\t\t\t\t\t\t\t\thighlightObj.backgroundColor \t= hl.backgroundColor;\r\n\t\t\t\t\t\t\t\thighlightObj.legend\t\t\t\t= ('legend' in hl)?hl.legend:null;\r\n\t\t\t\t\t\t\t\tconst key = (highlightObj.legend || '') + '|' + (highlightObj.backgroundColor || '') + '|' + (highlightObj.color || '');\r\n\t\t\t\t\t\t\t\thighlightObj.id = (key in idList ? idList[key] : nextId++);\r\n\t\t\t\t\t\t\t\tidList[key] = highlightObj.id;\r\n\r\n\t\t\t\t\t\t\t\thighlight.push(highlightObj);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}else if(x instanceof Object){\r\n\t\t\t\t\t\tvar highlightObj = {};\r\n\t\t\t\t\t\thighlightObj.dates = [];\r\n\r\n\t\t\t\t\t\tif('start' in x){\r\n\t\t\t\t\t\t\thighlightObj.dates.push({\r\n\t\t\t\t\t\t\t\tstart: new Date(x.start.getFullYear(),x.start.getMonth(),x.start.getDate()),\r\n\t\t\t\t\t\t\t\tend: ('end' in x)?new Date(x.end.getFullYear(),x.end.getMonth(),x.end.getDate()):new Date(x.start.getFullYear(),x.start.getMonth(),x.start.getDate())\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}else if('dates' in x && x.dates instanceof Array){\r\n\t\t\t\t\t\t\tx.dates.forEach(function(hlDate) {\r\n\t\t\t\t\t\t\t\thighlightObj.dates.push({\r\n\t\t\t\t\t\t\t\t\tstart: new Date(hlDate.start.getFullYear(),hlDate.start.getMonth(),hlDate.start.getDate()),\r\n\t\t\t\t\t\t\t\t\tend: ('end' in hlDate)?new Date(hlDate.end.getFullYear(),hlDate.end.getMonth(),hlDate.end.getDate()):new Date(hlDate.start.getFullYear(),hlDate.start.getMonth(),hlDate.start.getDate())\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\thighlightObj.color \t\t\t\t= x.color;\r\n\t\t\t\t\t\thighlightObj.backgroundColor \t= x.backgroundColor;\r\n\t\t\t\t\t\thighlightObj.legend\t\t\t\t= ('legend' in x)?x.legend:null;\r\n\t\t\t\t\t\tconst key = (highlightObj.legend || '') + '|' + (highlightObj.backgroundColor || '') + '|' + (highlightObj.color || '');\r\n\t\t\t\t\t\thighlightObj.id = (key in idList ? idList[key] : nextId++);\r\n\t\t\t\t\t\tidList[key] = highlightObj.id;\r\n\r\n\t\t\t\t\t\thighlight.push(highlightObj);\r\n\t\t\t\t\t}else if(!x){\r\n\t\t\t\t\t\thighlight = [];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"onClose\": {\r\n\t\t\t\tset: function(callback){\r\n\t\t\t\t\tonClose = callback;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"onSelect\": {\r\n\t\t\t\tset: function(callback){\r\n\t\t\t\t\tonSelect = callback;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"today\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn today;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\ttoday = true;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\ttoday = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"daynames\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn daynames;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tdaynames = true;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tdaynames = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tgenerateDaynames();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"fullscreen\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn that.el.classList.contains('fullscreen');\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tthat.el.classList.add('fullscreen');\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tthat.el.classList.remove('fullscreen');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"locked\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn locked;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tlocked = true;\r\n\t\t\t\t\t\tthat.el.tables.classList.add('locked');\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tlocked = false;\r\n\t\t\t\t\t\tthat.el.tables.classList.remove('locked');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"maxSelections\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn maxSelections;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(typeof x == 'number' && !range){\r\n\t\t\t\t\t\tmaxSelections = x;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tif(range){\r\n\t\t\t\t\t\t\tmaxSelections = 2;\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tmaxSelections = null;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"onConfirm\": {\r\n\t\t\t\tset: function(callback){\r\n\t\t\t\t\tif(typeof callback == 'function'){\r\n\t\t\t\t\t\tonConfirm = callback.bind(that);\r\n\t\t\t\t\t\tthat.el.button.addEventListener(eventName,onConfirm);\r\n\t\t\t\t\t}else if(!callback){\r\n\t\t\t\t\t\tthat.el.button.removeEventListener(eventName,onConfirm);\r\n\t\t\t\t\t\tonConfirm = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"onNavigation\": {\r\n\t\t\t\tset: function(callback){\r\n\t\t\t\t\tif(typeof callback == 'function'){\r\n\t\t\t\t\t\tonNavigation = callback.bind(that);\r\n\t\t\t\t\t}else if(!callback){\r\n\t\t\t\t\t\tonNavigation = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"closeOnClick\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn closeOnClick;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tcloseOnClick = true;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tcloseOnClick = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"tooltips\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\tvar ret = [];\r\n\t\t\t\t\tfor(var key in tooltips){\r\n\t\t\t\t\t\tret.push({\r\n\t\t\t\t\t\t\tdate: new Date(parseInt(key)),\r\n\t\t\t\t\t\t\ttext: tooltips[key]\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn ret;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x instanceof Array){\r\n\t\t\t\t\t\tx.forEach(function(item) {\r\n\t\t\t\t\t\t\tif(item.date && item.text && item.date instanceof Date){\r\n\t\t\t\t\t\t\t\ttooltips[new Date(item.date.getFullYear(),item.date.getMonth(),item.date.getDate()).getTime()] = item.text;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}else if(x instanceof Object){\r\n\t\t\t\t\t\tif(x.date && x.text && x.date instanceof Date){\r\n\t\t\t\t\t\t\ttooltips[new Date(x.date.getFullYear(),x.date.getMonth(),x.date.getDate()).getTime()] = x.text;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if(!x){\r\n\t\t\t\t\t\ttooltips = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"currentDate\": {\r\n\t\t\t\tget: currentDateGetter,\r\n\t\t\t\tset: currentDateSetter\r\n\t\t\t},\r\n\t\t\t\"setDate\": {\r\n\t\t\t\tset: currentDateSetter\r\n\t\t\t},\r\n\t\t\t\"startDate\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn startDate;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tstartDate = new Date(x);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tstartDate = null;\r\n\t\t\t\t\t\tcurrentYear = new Date().getFullYear();\r\n\t\t\t\t\t\tcurrentMonth = new Date().getMonth() + 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"minDate\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn minDate;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tminDate = (x) ? new Date(x) : null ;\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"maxDate\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn maxDate;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tmaxDate = (x) ? new Date(x) : null ;\r\n\t\t\t\t\tsetDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"container\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn container;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x instanceof String){\r\n\t\t\t\t\t\tvar y = document.querySelector(x);\r\n\t\t\t\t\t\tif(y){\r\n\t\t\t\t\t\t\tcontainer = y;\r\n\t\t\t\t\t\t\tif(container != document.body){\r\n\t\t\t\t\t\t\t\tthat.el.classList.add('wrapped');\r\n\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\tthat.el.classList.remove('wrapped');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tconsole.error(\"Container doesn't exist\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if(x instanceof HTMLElement){\r\n\t\t\t\t\t\tcontainer = x;\r\n\t\t\t\t\t\tif(container != document.body){\r\n\t\t\t\t\t\t\tthat.el.classList.add('wrapped');\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tthat.el.classList.remove('wrapped');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tconsole.error(\"Invalid type\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"inline\": {\r\n\t\t\t\tget: function(){\r\n\t\t\t\t\treturn inline;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(x){\r\n\t\t\t\t\tif(x){\r\n\t\t\t\t\t\tinline = true;\r\n\t\t\t\t\t\tthat.el.classList.add('inline');\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tinline = false;\r\n\t\t\t\t\t\tthat.el.classList.remove('inline');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\r\n\t\t});\r\n\r\n\t\tinit();\r\n\t\tsetDate();\r\n\r\n\t\treturn Object.freeze(that);\r\n\t};\r\n\r\n\tfunction whichAnimationEvent(){\r\n\t\t\tvar t;\r\n\t\t\tvar el = document.createElement('fakeelement');\r\n\t\t\tvar transitions = {\r\n\t\t\t\t'animation':'animationend',\r\n\t\t\t\t'OAnimation':'oanimationend',\r\n\t\t\t\t'MozAnimation':'animationend',\r\n\t\t\t\t'WebkitAnimation':'webkitAnimationEnd',\r\n\t\t\t\t'':'MSAnimationEnd'\r\n\t\t\t};\r\n\r\n\t\t\tfor(t in transitions){\r\n\t\t\t\t\tif( el.style[t] !== undefined ){\r\n\t\t\t\t\t\t\treturn transitions[t];\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t}\r\n\r\n\tvar template = \t'
' +\r\n\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t\t'

' +\r\n\t\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
1
' +\r\n\t\t\t\t\t\t\t'
2
' +\r\n\t\t\t\t\t\t\t'
3
' +\r\n\t\t\t\t\t\t\t'
4
' +\r\n\t\t\t\t\t\t\t'
5
' +\r\n\t\t\t\t\t\t\t'
6
' +\r\n\t\t\t\t\t\t\t'
7
' +\r\n\t\t\t\t\t\t\t'
8
' +\r\n\t\t\t\t\t\t\t'
9
' +\r\n\t\t\t\t\t\t\t'
10
' +\r\n\t\t\t\t\t\t\t'
11
' +\r\n\t\t\t\t\t\t\t'
12
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t\t'
' +\r\n\t\t\t\t\t'
' +\r\n\t\t\t\t\t'
' +\r\n\t\t\t\t\t'' +\r\n\t\t\t\t\t'
';\r\n\r\n\tvar getBrowserVersion = function(){\r\n\t\tvar browser = {\r\n\t\t\ttype: null,\r\n\t\t\tversion: null\r\n\t\t};\r\n\r\n\t\tvar ua= navigator.userAgent, tem, ios,\r\n\t\t\tM= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n\t\t\tios = ua.match(/(iphone|ipad)\\s+OS\\s+([\\d+_]+\\d+)/i) || [];\r\n\t\t\tif(/trident/i.test(M[1])){\r\n\t\t\t\t\ttem= /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n\t\t\t\t\tbrowser.type = 'MSIE';\r\n\t\t\t\t\tbrowser.version = parseInt(tem[1]);\r\n\t\t\t\t\treturn browser;\r\n\t\t\t}\r\n\t\t\tif(M[1]=== 'Chrome'){\r\n\t\t\t\t\ttem= ua.match(/\\bOPR\\/(\\d+)/);\r\n\t\t\t\t\tif(tem!= null) return 'Opera '+tem[1];\r\n\t\t\t}\r\n\t\t\tif(ios[1]){\r\n\t\t\t\treturn browser = {\r\n\t\t\t\t\ttype: 'iOS',\r\n\t\t\t\t\tversion: ios[2]\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tM= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];\r\n\t\t\tif((tem= ua.match(/version\\/(\\d+)/i))!= null) M.splice(1, 1, tem[1]);\r\n\t\t\tbrowser.type = M[0];\r\n\t\t\tbrowser.version = parseInt(M[1]);\r\n\r\n\t\t\treturn browser;\r\n\t};\r\n\r\n\t/* Spread it to the world! */\r\n\tif ( typeof define === 'function' && define.amd ) define('Datepickk', Datepickk);\r\n\telse if ( typeof exports === 'object' ) module.exports = Datepickk;\r\n\telse window.Datepickk = Datepickk;\r\n})();\r\n"]} \ No newline at end of file diff --git a/src/css/datepickk.less b/src/css/datepickk.less index 9842fde..7b2722c 100644 --- a/src/css/datepickk.less +++ b/src/css/datepickk.less @@ -10,7 +10,7 @@ overflow:hidden; } -#Datepickk{ +.Datepickk{ position: fixed; top: 0; left: 0; @@ -25,13 +25,13 @@ font-family: 'Raleway','Open Sans',Arial; color: #333; - user-select: none; + user-select: none; - &.MSIE:not(.wrapped):not(.inline) .d-calendar{ - height:560px; - } + &.MSIE:not(.wrapped):not(.inline) .d-calendar{ + height:560px; + } - &.d-show{ + &.d-show{ .d-overlay{ animation-name: show; animation-duration: .2s; @@ -44,16 +44,16 @@ & > *{ animation-name: DatepickkHide; - animation-duration: .2s; - animation-timing-function: linear; - animation-fill-mode: both; + animation-duration: .2s; + animation-timing-function: linear; + animation-fill-mode: both; } .d-overlay{ animation-name: show; - animation-duration: .15s; - animation-timing-function: ease-out; - animation-fill-mode: both; + animation-duration: .15s; + animation-timing-function: ease-out; + animation-fill-mode: both; animation-direction: reverse; } } @@ -107,26 +107,14 @@ } &.multi{ - .d-calendar,.d-legend{ - max-width: 800px; - } - - .d-table{ - position: relative; - padding-top:35px; - - &:before{ - content: attr(data-month); - text-align: right; - width: 100%; - font-size: 1em; - padding: 5px 10px 5px 0; - box-sizing: border-box; - color: #CCC; - position: absolute; - left: 0; - top: 0; - } + .d-month:after{ + content: attr(data-month); + display: block; + text-align: center; + font-size: 1em; + padding: 5px 10px 5px 0; + box-sizing: border-box; + color: #CCC; } } @@ -147,10 +135,16 @@ max-height: none; } - .d-confirm,.d-title{ + .d-title{ color:#222; } + .d-confirm { + background-color: @green; + color: white; + padding: 5px 10px; + } + .d-overlay{ display: none; } @@ -164,19 +158,19 @@ &.fullscreen{ .d-calendar{ - max-width: none; - max-height: none; + max-width: none; + max-height: none; - input + label{ - outline: 1px solid #eaeaea; - box-sizing: border-box; - align-items:flex-start!important; - justify-content: flex-end!important; + input + label{ + outline: 1px solid #eaeaea; + box-sizing: border-box; + align-items:flex-start!important; + justify-content: flex-end!important; - text{ - padding:5px 10px 0 0; - } + text{ + padding:5px 10px 0 0; } + } } .d-legend{ @@ -244,78 +238,78 @@ color: white; font-size: 1.5em; - p{ - margin: .5em 0; - text-align: center; - } - - i{ - position: absolute; - top: 50%; - width: 30px; - height:30px; - cursor:pointer; - text-align: center; - border-radius: 100%; - transition: background-color .2s ease; - transform:translateY(-50%); - - &:before,&:after{ - content: ''; - width: 0; - height: 0; - position: absolute; + p{ + margin: .5em 0; + text-align: center; } - &:before{ - border-top: 10px solid rgba(0, 0, 0, 0); - border-bottom: 10px solid rgba(0, 0, 0, 0); - } + i{ + position: absolute; + top: 50%; + width: 30px; + height:30px; + cursor:pointer; + text-align: center; + border-radius: 100%; + transition: background-color .2s ease; + transform:translateY(-50%); - &:after{ - border-top: 7px solid rgba(0, 0, 0, 0); - border-bottom: 7px solid rgba(0, 0, 0, 0); - transition: border-color .2s ease; - } + &:before,&:after{ + content: ''; + width: 0; + height: 0; + position: absolute; + } - &#d-previous{ - left:20px; &:before{ - border-right: 10px solid #FFF; - top: 5px; - left: 7px; + border-top: 10px solid rgba(0, 0, 0, 0); + border-bottom: 10px solid rgba(0, 0, 0, 0); } &:after{ - border-right: 7px solid #1B363F; - top: 8px; - left: 10px; + border-top: 7px solid rgba(0, 0, 0, 0); + border-bottom: 7px solid rgba(0, 0, 0, 0); + transition: border-color .2s ease; } - } - &#d-next{ - right:20px; - &:before{ - border-left: 10px solid #FFF; - top: 5px; - left: 12px; + &#d-previous{ + left:20px; + &:before{ + border-right: 10px solid #FFF; + top: 5px; + left: 7px; + } + + &:after{ + border-right: 7px solid #1B363F; + top: 8px; + left: 10px; + } } - &:after{ - border-left: 7px solid #1B363F; - top: 8px; - left: 12px; + + &#d-next{ + right:20px; + &:before{ + border-left: 10px solid #FFF; + top: 5px; + left: 12px; + } + &:after{ + border-left: 7px solid #1B363F; + top: 8px; + left: 12px; + } } - } - &:hover{ + &:hover{ background-color: #5E7178; &:after{ border-left-color: #5E7178!important; border-right-color: #5E7178!important; } - } - } + } + } } .d-month{ @@ -404,50 +398,60 @@ .d-week{ background-color:@color; color:contrast(@color,black,white); - display: flex; - width: 100%; + display: flex; + width: 100%; + + & + .d-week{ + border-left:1px solid rgba(255,255,255,0.05); + } - & + .d-week{ - border-left:1px solid rgba(255,255,255,0.05); - } + & > div{ + flex-basis: calc(100% ~"/" 7); + text-align: center; + + p{ + margin:.8em 0; + } + } + + @media(max-height: 540px){ + display: none; + } + } - & > div{ - flex-basis: calc(100% ~"/" 7); - text-align: center; + .d-table-container { + position: relative; - p{ - margin:.8em 0; - } - } + &:after { + content: ""; + display: block; + padding-bottom: 85.71%; /* 7:6 */ + } - @media(max-height: 540px){ - display: none; - } + .d-table { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + } } .d-table{ width: 100%; - display: flex; - flex-wrap: wrap; - flex: 1; - - &:first-child:nth-last-child(n + 3),&:first-child:nth-last-child(n + 3) ~ div{ - flex:0; - flex-basis: calc(100% ~"/" 3 ~"-" 1px);/*-1px due to browser render*/ - - border-bottom:1px solid rgba(0,0,0,0.05); - } + display: flex; + flex-wrap: wrap; + flex: 1; - label:nth-of-type(7n) .d-date-legends{ + label:nth-of-type(7n) .d-date-legends{ padding-right:0; - } + } - label:nth-last-of-type(-n + 7) .d-date-legends{ - padding-bottom:0; - } + label:nth-last-of-type(-n + 7) .d-date-legends{ + padding-bottom:0; + } input{ - display: none; & + label{ @@ -460,27 +464,27 @@ transition: background-color .2s ease,background .2s ease,color .2s ease; position: relative; -webkit-tap-highlight-color: rgba(0,0,0,0); - box-sizing: border-box; + box-sizing: border-box; - text{ - z-index: 9; - pointer-events: none; - position: relative; - } + text{ + z-index: 9; + pointer-events: none; + position: relative; + } - &[style*="linear-gradient"] text{ - text-shadow: 0 0 20px black; - } + &[style*="linear-gradient"] text{ + text-shadow: 0 0 20px black; + } - &.today text:before{ - content: ''; - width: 100%; - height: 2px; - background-color: @color; - position: absolute; - bottom: -5px; - left: 0; - } + &.today text:before{ + content: ''; + width: 100%; + height: 2px; + background-color: @color; + position: absolute; + bottom: -5px; + left: 0; + } &:before{ content: ''; @@ -490,7 +494,6 @@ width: 75%; height: 75%; border-radius: 5px; - background-color: @green; transition: transform 0.1s ease-out; transform: scaleX(0); transform-origin: left; @@ -517,8 +520,8 @@ color:#ccc; } - [data-tooltip]{ - &:after{ + [data-tooltip]{ + &:after{ content: ''; border-radius: 100%; background-color: #1B363F; @@ -528,10 +531,10 @@ top: 0; right: -10px; } - } + } - .d-tooltip{ + .d-tooltip{ position: absolute; background-color: #1B363F; color: #FFF; @@ -555,29 +558,30 @@ margin-left: -5px; } - &:empty{ - display: none!important; - } - } + &:empty{ + display: none!important; + } + } - &:hover { - .d-tooltip{ - display: block; - } - } + &:hover { + .d-tooltip{ + display: block; + } + } } &:checked { & + label{ - color:contrast(@color,white,#666); + color:contrast(@green,#222,white,60%) !important; &:before{ - transform:scaleX(1); + background-color: @green !important; + transform:scaleX(1) !important; } } } - &:disabled + label{ + &:disabled + label:not(.d-hidden){ cursor:not-allowed; &:after{ @@ -589,21 +593,16 @@ height: 2px; z-index: 10; background-color: #c60000; - transform-origin: center; - transform: rotate(-25deg); + transform-origin: center; + transform: rotate(-25deg); } - } - & + label.d-hidden{ + & + label.d-hidden { + color: #ccc; + background: #f0f0f0; cursor:default; - color: #ccc!important; - background: #f0f0f0!important; text-decoration: line-through; - - &:after{ - content:none; - } } } } @@ -613,10 +612,15 @@ flex:1; flex-wrap:wrap; + & > * { + min-width: 320px; + flex: 1 1 0; + } + &:not(.locked){ - input:not(:checked) + label:not(.hidden):hover{ - color: #222; - background-color:#eaeaea; + input + label:not(.d-hidden):hover{ + color: #222; + background-color:#eaeaea; } } @@ -625,76 +629,67 @@ } &.range{ - &:not(.before) input:not(.single){ - &:checked { - & + label{ - color:contrast(@color,white,#222); - - & ~ label:not(.hidden){ - color:contrast(@color,white,#222); - &:before{ - transform:scaleX(1); - background-color: fade(@green,50%); - } - } + input.d-start:not(.d-end):checked + label:before { + border-radius: 9px 5px 5px 9px; + transform: scaleX(.80) translateX(20%) !important; + } - } + input.d-end:not(.d-start):checked + label:before { + border-radius: 5px 9px 9px 5px; + transform: scaleX(.85) !important; + } - & ~ label:hover ~ label,& ~ label:focus ~ label{ - &:before{ - transform:scaleX(0); - } - color:#666; + .d-start input:checked + label ~ label, + .d-start ~ .d-table-head input + label, + .d-cont input + label, /* caution: selection path must be long enough */ + .d-cont ~ .d-table-head input + label { + &:not(.d-hidden) { + color:contrast(@green,#222,white,60%); - &.next,&.prev{ - color: contrast(@color,#ccc,#222); - } + &:before { + transform:scaleX(1); + background-color: fade(@green,50%); } - & ~ input:checked + label{ - - color:contrast(@color,white,#666); - - &:before{ - transform:scaleX(1); - background-color: @green; - } - - & ~ label{ - color:inherit; - - &.next,&.prev{ - color: contrast(@color,#ccc,#222); - } - - &:before{ - transform:scaleX(0); - } - } + &.prev:before, &.next:before { + background-color: fade(@green,25%); } } } - &.before input:not(.single){ - &:not(:checked) + label{ - color:contrast(spin(@color,@spin),white,#666); + .d-end.d-start input:checked ~ input:checked + label ~ label, + .d-end:not(.d-start) input:checked + label ~ label, + .d-end ~ .d-table-head input + label { + &:not(.d-hidden) { + color: #222; - &:before{ - transform:scaleX(1); - background-color: fade(spin(@color,@spin),30%); + &.prev, &.next { + color: #ccc; + } + + &:before { + transform: scaleX(0); } } + } - &:checked + label ~ label{ - color:inherit; + &:not(.locked) { + &:not(.d-selected) { + .d-table-head:hover ~ .d-table-head input + label, + .d-table-head:hover label:hover ~ input + label, + .d-table-head:hover label:focus ~ input + label { + &:not(.d-hidden) { + color: #222; - &.next,&.prev{ - color: contrast(@color,#ccc,#222); - } + &.prev, &.next { + color: #ccc; + } - &:before{ - transform:scaleX(0); + &:before { + transform: scaleX(0); + } + } } } } @@ -702,10 +697,10 @@ } .d-fadeInUp { - backface-visibility: visible !important; - animation-name: DatepickfadeInUp; - animation-duration: .5s; - animation-fill-mode: both; + backface-visibility: visible !important; + animation-name: DatepickfadeInUp; + animation-duration: .5s; + animation-fill-mode: both; } } @@ -716,19 +711,19 @@ } @keyframes DatepickfadeInUp { - 0% { - opacity: 0; - transform: translate3d(0, 100%, 0); - } - - 100% { - opacity: 1; - transform: none; - } + 0% { + opacity: 0; + transform: translate3d(0, 100%, 0); + } + + 100% { + opacity: 1; + transform: none; + } } .d-fadeInUp { - animation-name: DatepickfadeInUp; + animation-name: DatepickfadeInUp; } #Datepickk.d-show > *{ diff --git a/src/js/datepickk.js b/src/js/datepickk.js index fd2a7df..cccb9ea 100644 --- a/src/js/datepickk.js +++ b/src/js/datepickk.js @@ -1,7 +1,7 @@ /*! * Datepickk * Docs & License: https://crsten.github.com/datepickk - * (c) 2016 Carsten Jacobsen + * (c) 2016-17 Carsten Jacobsen */ (function(){ @@ -74,57 +74,65 @@ var locked = false; function generateDaynames(){ - that.el.days.innerHTML = ''; - var ws = (weekStart !== null) ? weekStart : languages[lang].weekStart; - if(daynames){ - for(var x = 0;x languages[lang].dayNames.length - 1) ? i + ws - languages[lang].dayNames.length : i + ws; - var dayEl = document.createElement('div'); var dayTextEl = document.createElement('p'); dayTextEl.innerHTML = languages[lang].dayNames[dayNameIndex]; - dayEl.appendChild(dayTextEl); weekEl.appendChild(dayEl); } - - that.el.days.appendChild(weekEl); } - } + }); } function generateYears(){ [].slice.call(that.el.yearPicker.childNodes).forEach(function(node,index) { node.innerHTML = "'" + (currentYear + parseInt(node.getAttribute('data-year'))).toString().substring(2,4); - }) + }); } function generateInputs(){ that.el.tables.innerHTML = ''; for(var x = 0;x start){ @@ -186,7 +211,7 @@ var legendItem = document.createElement('p'); legendItem.setAttribute('class','d-legend-item'); legendItem.setAttribute('data-legend',_highlights[l].legend); - legendItem.setAttribute('data-legend-id',highlight.indexOf(_highlights[l])); + legendItem.setAttribute('data-legend-id', _highlights[l].id); legendItem.setAttribute('data-color',_highlights[l].backgroundColor); var legendItemPoint = document.createElement('span'); legendItemPoint.setAttribute('style','background-color:' + _highlights[l].backgroundColor); @@ -226,22 +251,22 @@ } function generateDates(year,month){ - var monthElements = that.el.querySelectorAll('.d-table'); + var months = that.el.querySelectorAll('.d-table-head').length; var ws = (weekStart !== null) ? weekStart : languages[lang].weekStart; - [].slice.call(that.el.querySelectorAll('.d-table')).forEach(function(element, index) { + [].slice.call(that.el.querySelectorAll('.d-table-head')).forEach(function(element, index) { + var date = new Date(Date.UTC(year, month + index - 1, 1)); var days = new Date(year,month + index,0).getDate(); var daysLast = new Date(year,month + index - 1,0).getDate(); var startDay = new Date(year,month + index - 1,1).getDay(); - var startDate = null; - var endDate = null; if(startDay - ws < 0){ startDay = 7 - ws; }else{ startDay -= ws; } + element.setAttribute('data-ym', date.toJSON().substr(0, 7)); var monthText = languages[lang].monthNames[parseMonth(month - 1 + index)]; - element.setAttribute('data-month',monthText); + element.childNodes[element.childNodes.length - 2].setAttribute('data-month', monthText); [].slice.call(element.querySelectorAll('.d-table input')).forEach(function(inputEl,i) { var labelEl = inputEl.nextSibling; @@ -269,7 +294,7 @@ labelEl.className = ''; }else{ labelEl.childNodes[0].innerHTML = i - days - startDay + 1; - if(index == monthElements.length-1){ + if(index == months-1){ date = new Date(year,month + index,i - days - startDay + 1); labelEl.className = 'next'; }else{ @@ -287,9 +312,8 @@ } if((minDate && date < minDate) || (maxDate && date > maxDate)){ - inputEl.setAttribute('disabled',true); labelEl.className = 'd-hidden'; - + inputEl.setAttribute('disabled',true); } if(today && date.getTime() == new Date().setHours(0,0,0,0)){ @@ -324,8 +348,7 @@ var percent = Math.round(100 / _highlights.length); bgColor = 'background: linear-gradient(-45deg,'; for(var z = 0;z < _highlights.length;z++){ - legendIds += highlight.indexOf(_highlights[z]); - if(z !== _highlights.length -1){legendIds += ' ';} + legendIds += _highlights[z].id + ' '; bgColor += _highlights[z].backgroundColor + ' ' + (percent*z) + '%'; if(z != _highlights.length - 1){ bgColor += ','; @@ -335,7 +358,7 @@ bgColor += ');'; }else{ bgColor = (_highlights[0].backgroundColor)?'background:'+ _highlights[0].backgroundColor + ';':''; - legendIds += highlight.indexOf(_highlights[0]); + legendIds += _highlights[0].id + ' '; } var Color = (_highlights[0].color)?'color:'+ _highlights[0].color + ';':''; labelEl.setAttribute('style',bgColor + Color); @@ -349,7 +372,7 @@ }; function setDate(){ - if(!that.el.tables.childNodes.length || !that.el.tables.childNodes[0].childNodes.length) return; + if(!that.el.tables.childNodes.length) return; resetCalendar(); @@ -423,16 +446,7 @@ el.checked = true; } }); - - that.el.tables.classList.remove('before'); - if(range && selectedDates.length > 1){ - var currentDate = new Date(currentYear,currentMonth-1,1); - var sorted = selectedDates.sort(function(a,b){return a.getTime()-b.getTime()}); - var first = that.el.querySelector('[data-date="'+ sorted[0].toJSON() +'"]'); - if(!first && currentDate >= new Date(sorted[0].getFullYear(),sorted[0].getMonth(),1) && currentDate <= new Date(sorted[1].getFullYear(),sorted[1].getMonth(),1)){ - that.el.tables.classList.add('before'); - } - } + updateRange(); }; function resetCalendar(){ @@ -459,89 +473,144 @@ setDate(); }; - function selectDate(date,ignoreOnSelect){ + function selectDate(date, ignoreOnSelect) { date = new Date(date); - date.setHours(0,0,0,0); - var el = that.el.querySelector('[data-date="'+ date.toJSON() +'"]'); + date.setHours(0, 0, 0, 0); - if(range && el && el.checked) { - el.classList.add('single'); - } - - if(el && !el.checked){ - el.checked = true; + var el = that.el.querySelector('[data-date="' + date.toJSON() + '"]'); + if (el) { + if (range) { + el.classList.add(selectedDates.length > 0 ? 'd-end' : 'd-start'); + } + if (! el.checked) { + el.checked = true; + } } - selectedDates.push(date); - if(onSelect && !ignoreOnSelect){ - onSelect.apply(date,[true]); + if (onSelect && !ignoreOnSelect) { + onSelect.apply(date, [true]); } }; - function unselectDate(date,ignoreOnSelect){ + function unselectDate(date, ignoreOnSelect) { date = new Date(date); - date.setHours(0,0,0,0); - var el = that.el.querySelector('[data-date="'+ date.toJSON() +'"]'); - if(el){ - el.classList.remove('single'); - if(el.checked){el.checked = false;} + date.setHours(0, 0, 0, 0); + + var el = that.el.querySelector('[data-date="' + date.toJSON() + '"]'); + if (el) { + if (range) { + el.classList.remove('d-start'); + el.classList.remove('d-end'); + } + if (el.checked) { + el.checked = false; + } } - selectedDates = selectedDates.filter(function(x){return x.getTime() != date.getTime()}); + selectedDates = selectedDates.filter(function (x) { + return x.getTime() != date.getTime(); + }); - if(onSelect && !ignoreOnSelect){ - onSelect.call(date,false); + if (onSelect && !ignoreOnSelect) { + onSelect.call(date, false); } }; function unselectAll(ignoreOnSelect){ - selectedDates.forEach(function(date) { - unselectDate(date,ignoreOnSelect); - }); - }; - - function inputChange(e){ - var input = this; - var date = new Date(input.getAttribute('data-date')); - input.classList.remove('single'); - if(locked){return;} - if(range){ - that.el.tables.classList.remove('before'); + while (selectedDates.length > 0) { + unselectDate(selectedDates[0], ignoreOnSelect); } - if(input.checked){ - if(maxSelections && selectedDates.length > maxSelections-1){ - var length = selectedDates.length; - for(length; length > maxSelections-1; length --){ - unselectDate(selectedDates[0]); - } + }; + function updateRange() { + var startObj = null; + var endObj = null; + if (range) { + if (selectedDates.length > 1) { + startObj = selectedDates[1].getTime() > selectedDates[0].getTime() ? selectedDates[0] : selectedDates[1]; + endObj = selectedDates[1].getTime() > selectedDates[0].getTime() ? selectedDates[1] : selectedDates[0]; + } else if (selectedDates.length > 0) { + startObj = selectedDates[0]; } + } + var start = startObj ? startObj.toJSON().substr(0, 7) : null; + var end = endObj ? endObj.toJSON().substr(0, 7) : null; + if (startObj) startObj = that.el.querySelector('[data-date="' + startObj.toJSON() + '"]'); + if (endObj) endObj = that.el.querySelector('[data-date="' + endObj.toJSON() + '"]'); + if (startObj) startObj = startObj.parentNode.parentNode.parentNode; + if (endObj) endObj = endObj.parentNode.parentNode.parentNode; + + if (start && end) { + that.el.tables.classList.add('d-selected'); + } else { + that.el.tables.classList.remove('d-selected'); + } - if(range && selectedDates.length){ - var first = that.el.querySelector('[data-date="'+ selectedDates[0].toJSON() +'"]'); - if(!first && date > selectedDates[0]){ - that.el.tables.classList.add('before'); + var bContinued = false; + [].slice.call(that.el.querySelectorAll('.d-table-head')).forEach(function (tableHead, index) { + var year_month = tableHead.getAttribute('data-ym'); + tableHead.classList.remove('d-start'); + tableHead.classList.remove('d-cont'); + tableHead.classList.remove('d-end'); + if (start) { + if (end) { + // special case for single date selection + if (tableHead === startObj && selectedDates[1].getTime() !== selectedDates[0].getTime()) { + tableHead.classList.add('d-start'); + bContinued = true; + } + if (tableHead === endObj) { + tableHead.classList.add('d-end'); + } + } else { + if (tableHead === startObj) { + tableHead.classList.add('d-start'); + bContinued = true; + } + } + if (! bContinued) { + bContinued = true; + if (start < year_month && (! end || year_month <= end)) tableHead.classList.add('d-cont'); } } + }); + } - selectedDates.push(date); + function inputChange(e){ + if (locked) { + return; + } + var input = this; + var date = new Date(input.getAttribute('data-date')); - if(closeOnSelect){ - that.hide(); + if (range) { + if (selectedDates.length > 1) { + while (selectedDates.length > 0) { + unselectDate(selectedDates[0]); + } } - }else{ - if(range && selectedDates.length == 1 && selectedDates[0].getTime() == date.getTime()){ + selectDate(date); + + } else { + if (input.checked) { + if (maxSelections && selectedDates.length > maxSelections - 1) { + var length = selectedDates.length; + for (length; length > maxSelections - 1; length--) { + unselectDate(selectedDates[0]); + } + } selectDate(date); - input.classList.add('single'); - }else{ - selectedDates = selectedDates.filter(function(x){return x.getTime() != date.getTime()}) + } else { + unselectDate(date); } } - if(onSelect){ - onSelect.call(date,input.checked); + updateRange(); + + if (closeOnSelect) { + that.hide(); } }; @@ -583,7 +652,7 @@ onClose.apply(that); } that.el.removeEventListener(whichAnimationEvent(),handler); - } + }; that.el.addEventListener(whichAnimationEvent(),handler); that.el.classList.add('d-hide'); }; @@ -630,7 +699,7 @@ setDate(); that.el.yearPicker.classList.remove('d-show'); }); - }) + }); var startX = 0; var distance = 0; @@ -664,7 +733,7 @@ function init(){ that.el = document.createElement('div'); - that.el.id = 'Datepickk'; + that.el.className = 'Datepickk'; that.el.classList.add(getBrowserVersion().type); that.el.innerHTML = template; that.el.calendar = that.el.childNodes[1]; @@ -673,15 +742,13 @@ that.el.header = that.el.calendar.childNodes[0]; that.el.monthPicker = that.el.calendar.childNodes[1]; that.el.yearPicker = that.el.calendar.childNodes[2]; - that.el.tables = that.el.calendar.childNodes[4]; - that.el.days = that.el.calendar.childNodes[3]; + that.el.tables = that.el.calendar.childNodes[3]; that.el.overlay = that.el.childNodes[4]; that.el.legend = that.el.childNodes[2]; setArgs(args); generateInputs(); - generateDaynames(); bindEvents(); if(inline){ @@ -785,7 +852,6 @@ set: function(x){ if(typeof x == 'number' && x > 0){ months = x; - generateDaynames(); generateInputs(); setDate(); @@ -859,6 +925,13 @@ return highlight; }, set: function(x){ + var nextId = 0; + var idList = {}; + highlight.forEach(function(hl) { + const key = (hl.legend || '') + '|' + (hl.backgroundColor || '') + '|' + (hl.color || ''); + idList[key] = hl.id; + if (hl.id >= nextId) nextId = hl.id + 1; + }); if(x instanceof Array){ x.forEach(function(hl) { if(hl instanceof Object){ @@ -876,12 +949,15 @@ start: new Date(hlDate.start.getFullYear(),hlDate.start.getMonth(),hlDate.start.getDate()), end: ('end' in hlDate)?new Date(hlDate.end.getFullYear(),hlDate.end.getMonth(),hlDate.end.getDate()):new Date(hlDate.start.getFullYear(),hlDate.start.getMonth(),hlDate.start.getDate()) }); - }) + }); } highlightObj.color = hl.color; highlightObj.backgroundColor = hl.backgroundColor; highlightObj.legend = ('legend' in hl)?hl.legend:null; + const key = (highlightObj.legend || '') + '|' + (highlightObj.backgroundColor || '') + '|' + (highlightObj.color || ''); + highlightObj.id = (key in idList ? idList[key] : nextId++); + idList[key] = highlightObj.id; highlight.push(highlightObj); } @@ -907,6 +983,9 @@ highlightObj.color = x.color; highlightObj.backgroundColor = x.backgroundColor; highlightObj.legend = ('legend' in x)?x.legend:null; + const key = (highlightObj.legend || '') + '|' + (highlightObj.backgroundColor || '') + '|' + (highlightObj.color || ''); + highlightObj.id = (key in idList ? idList[key] : nextId++); + idList[key] = highlightObj.id; highlight.push(highlightObj); }else if(!x){ @@ -1028,7 +1107,7 @@ "tooltips": { get: function(){ var ret = []; - for(key in tooltips){ + for(var key in tooltips){ ret.push({ date: new Date(parseInt(key)), text: tooltips[key] @@ -1147,21 +1226,21 @@ }; function whichAnimationEvent(){ - var t; - var el = document.createElement('fakeelement'); - var transitions = { - 'animation':'animationend', - 'OAnimation':'oanimationend', - 'MozAnimation':'animationend', - 'WebkitAnimation':'webkitAnimationEnd', - '':'MSAnimationEnd' - }; - - for(t in transitions){ - if( el.style[t] !== undefined ){ - return transitions[t]; - } - } + var t; + var el = document.createElement('fakeelement'); + var transitions = { + 'animation':'animationend', + 'OAnimation':'oanimationend', + 'MozAnimation':'animationend', + 'WebkitAnimation':'webkitAnimationEnd', + '':'MSAnimationEnd' + }; + + for(t in transitions){ + if( el.style[t] !== undefined ){ + return transitions[t]; + } + } } var template = '
' + @@ -1198,7 +1277,6 @@ '
' + '
' + '' + - '
' + '
' + '' + '
' + @@ -1209,34 +1287,34 @@ var browser = { type: null, version: null - } + }; var ua= navigator.userAgent, tem, ios, - M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || []; - ios = ua.match(/(iphone|ipad)\s+OS\s+([\d+_]+\d+)/i) || []; - if(/trident/i.test(M[1])){ - tem= /\brv[ :]+(\d+)/g.exec(ua) || []; - browser.type = 'MSIE'; - browser.version = parseInt(tem[1]); - return browser; - } - if(M[1]=== 'Chrome'){ - tem= ua.match(/\bOPR\/(\d+)/) - if(tem!= null) return 'Opera '+tem[1]; - } - if(ios[1]){ - return browser = { - type: 'iOS', - version: ios[2] - }; - } - M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?']; - if((tem= ua.match(/version\/(\d+)/i))!= null) M.splice(1, 1, tem[1]); - browser.type = M[0]; - browser.version = parseInt(M[1]); - - return browser; - } + M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || []; + ios = ua.match(/(iphone|ipad)\s+OS\s+([\d+_]+\d+)/i) || []; + if(/trident/i.test(M[1])){ + tem= /\brv[ :]+(\d+)/g.exec(ua) || []; + browser.type = 'MSIE'; + browser.version = parseInt(tem[1]); + return browser; + } + if(M[1]=== 'Chrome'){ + tem= ua.match(/\bOPR\/(\d+)/); + if(tem!= null) return 'Opera '+tem[1]; + } + if(ios[1]){ + return browser = { + type: 'iOS', + version: ios[2] + }; + } + M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?']; + if((tem= ua.match(/version\/(\d+)/i))!= null) M.splice(1, 1, tem[1]); + browser.type = M[0]; + browser.version = parseInt(M[1]); + + return browser; + }; /* Spread it to the world! */ if ( typeof define === 'function' && define.amd ) define('Datepickk', Datepickk);