Merge pull request #417 from syrk4web/dev

change classes for global case + change float pos + new datepicker + new svg + fix checkbox + show one mult group
This commit is contained in:
Théophile Diot 2023-02-14 14:31:04 +01:00 committed by GitHub
commit 5ac64758e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
211 changed files with 5287 additions and 6551 deletions

View File

@ -823,6 +823,10 @@ h6 {
top: 4rem;
}
.top-\[60px\] {
top: 60px;
}
.z-100 {
z-index: 100;
}
@ -1157,28 +1161,28 @@ h6 {
height: 3rem;
}
.h-4 {
height: 1rem;
.h-6 {
height: 1.5rem;
}
.h-8 {
height: 2rem;
}
.h-6 {
height: 1.5rem;
}
.h-10 {
height: 2.5rem;
}
.h-48 {
height: 12rem;
}
.h-5 {
height: 1.25rem;
}
.h-48 {
height: 12rem;
.h-4 {
height: 1rem;
}
.h-3 {
@ -1297,14 +1301,14 @@ h6 {
width: 1rem;
}
.w-8 {
width: 2rem;
}
.w-6 {
width: 1.5rem;
}
.w-8 {
width: 2rem;
}
.w-10 {
width: 2.5rem;
}
@ -1405,23 +1409,8 @@ h6 {
flex-basis: 100%;
}
.translate-x-3 {
--tw-translate-x: 0.75rem;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-2 {
--tw-translate-y: 0.5rem;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-2 {
--tw-translate-x: 0.5rem;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-2 {
--tw-translate-x: -0.5rem;
.-translate-x-1 {
--tw-translate-x: -0.25rem;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@ -1440,6 +1429,11 @@ h6 {
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-2 {
--tw-translate-x: 0.5rem;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-90 {
--tw-translate-x: 22.5rem;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@ -1475,6 +1469,11 @@ h6 {
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-2 {
--tw-translate-y: 0.5rem;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-full {
--tw-translate-x: -100%;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@ -1490,16 +1489,6 @@ h6 {
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-6 {
--tw-translate-y: 1.5rem;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-12 {
--tw-translate-y: -3rem;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-12 {
--tw-rotate: 12deg;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@ -1684,10 +1673,6 @@ h6 {
border-radius: 0.25rem;
}
.rounded-full {
border-radius: 9999px;
}
.rounded-none {
border-radius: 0px;
}
@ -1696,6 +1681,10 @@ h6 {
border-radius: 50%;
}
.rounded-full {
border-radius: 9999px;
}
.rounded-1\.4 {
border-radius: 0.35rem;
}
@ -1742,10 +1731,6 @@ h6 {
border-bottom-left-radius: 0.25rem;
}
.border-2 {
border-width: 2px;
}
.border {
border-width: 1px;
}
@ -1754,6 +1739,10 @@ h6 {
border-width: 0px;
}
.border-2 {
border-width: 2px;
}
.border-t {
border-top-width: 1px;
}
@ -1782,11 +1771,6 @@ h6 {
border-style: dashed;
}
.border-white {
--tw-border-opacity: 1;
border-color: rgb(255 255 255 / var(--tw-border-opacity));
}
.border-gray-300 {
--tw-border-opacity: 1;
border-color: rgb(210 214 218 / var(--tw-border-opacity));
@ -1937,10 +1921,6 @@ h6 {
background-repeat: no-repeat;
}
.fill-gray-600 {
fill: #6c757d;
}
.fill-primary {
fill: #085577;
}
@ -1949,26 +1929,14 @@ h6 {
fill: #fff;
}
.fill-green-700 {
fill: #15803d;
}
.fill-orange-500 {
fill: #fb6340;
}
.fill-sky-500 {
fill: #0ea5e9;
}
.fill-red-500 {
fill: #f53939;
}
.fill-yellow-500 {
fill: #fbb140;
}
.fill-gray-600 {
fill: #6c757d;
}
.fill-gray-500 {
fill: #adb5bd;
}
@ -1977,20 +1945,12 @@ h6 {
fill: #22c55e;
}
.fill-blue-400 {
fill: #60a5fa;
.fill-red-500 {
fill: #f53939;
}
.fill-blue-500 {
fill: #5e72e4;
}
.fill-pink-600 {
fill: #db2777;
}
.fill-emerald-600 {
fill: #059669;
.fill-sky-500 {
fill: #0ea5e9;
}
.fill-amber-500 {
@ -2001,6 +1961,54 @@ h6 {
fill: #3a416f;
}
.fill-blue-500 {
fill: #5e72e4;
}
.stroke-gray-100 {
stroke: #ebeff4;
}
.stroke-green-700 {
stroke: #15803d;
}
.stroke-orange-500 {
stroke: #fb6340;
}
.stroke-sky-500 {
stroke: #0ea5e9;
}
.stroke-red-500 {
stroke: #f53939;
}
.stroke-blue-400 {
stroke: #60a5fa;
}
.stroke-blue-500 {
stroke: #5e72e4;
}
.stroke-yellow-500 {
stroke: #fbb140;
}
.stroke-pink-600 {
stroke: #db2777;
}
.stroke-gray-600 {
stroke: #6c757d;
}
.stroke-emerald-600 {
stroke: #059669;
}
.stroke-0 {
stroke-width: 0;
}
@ -2841,11 +2849,6 @@ h6 {
display: none;
}
.dark .dark\:border-slate-850 {
--tw-border-opacity: 1;
border-color: rgb(17 28 68 / var(--tw-border-opacity));
}
.dark .dark\:border-slate-600 {
--tw-border-opacity: 1;
border-color: rgb(98 117 148 / var(--tw-border-opacity));
@ -2917,10 +2920,6 @@ h6 {
--tw-gradient-to: transparent;
}
.dark .dark\:fill-gray-600 {
fill: #6c757d;
}
.dark .dark\:fill-gray-300 {
fill: #d2d6da;
}
@ -3043,11 +3042,6 @@ h6 {
background-color: rgb(8 85 119 / 0.2);
}
.dark .dark\:hover\:brightness-90:hover {
--tw-brightness: brightness(.9);
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.dark .dark\:hover\:brightness-100:hover {
--tw-brightness: brightness(1);
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
@ -3058,6 +3052,11 @@ h6 {
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.dark .dark\:hover\:brightness-90:hover {
--tw-brightness: brightness(.9);
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.dark .dark\:hover\:brightness-95:hover {
--tw-brightness: brightness(.95);
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
@ -3083,12 +3082,16 @@ h6 {
top: 0.75rem;
}
.sm\:right-20 {
right: 5rem;
.sm\:right-24 {
right: 6rem;
}
.sm\:right-4 {
right: 1rem;
.sm\:right-6 {
right: 1.5rem;
}
.sm\:right-40 {
right: 10rem;
}
.sm\:col-span-6 {
@ -3413,16 +3416,16 @@ h6 {
}
@media (min-width: 1200px) {
.xl\:right-20 {
right: 5rem;
.xl\:right-24 {
right: 6rem;
}
.xl\:left-0 {
left: 0px;
}
.xl\:right-4 {
right: 1rem;
.xl\:right-6 {
right: 1.5rem;
}
.xl\:mx-4 {
@ -3442,14 +3445,6 @@ h6 {
display: none;
}
.xl\:h-6 {
height: 1.5rem;
}
.xl\:w-6 {
width: 1.5rem;
}
.xl\:translate-x-0 {
--tw-translate-x: 0px;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));

View File

@ -0,0 +1,814 @@
.flatpickr-calendar {
background: transparent;
opacity: 0;
display: none;
text-align: center;
visibility: hidden;
padding: 0;
-webkit-animation: none;
animation: none;
direction: ltr;
border: 0;
font-size: 14px;
line-height: 24px;
border-radius: 5px;
position: absolute;
width: 307.875px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
-ms-touch-action: manipulation;
touch-action: manipulation;
-webkit-box-shadow: 0 3px 13px rgba(0, 0, 0, 0.08);
box-shadow: 0 3px 13px rgba(0, 0, 0, 0.08);
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
opacity: 1;
max-height: 640px;
visibility: visible;
}
.flatpickr-calendar.open {
display: inline-block;
z-index: 99999;
}
.flatpickr-calendar.animate.open {
-webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.flatpickr-calendar.inline {
display: block;
position: relative;
top: 2px;
}
.flatpickr-calendar.static {
position: absolute;
top: calc(100% + 2px);
}
.flatpickr-calendar.static.open {
z-index: 999;
display: block;
}
.flatpickr-calendar.multiMonth
.flatpickr-days
.dayContainer:nth-child(n + 1)
.flatpickr-day.inRange:nth-child(7n + 7) {
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
.flatpickr-calendar.multiMonth
.flatpickr-days
.dayContainer:nth-child(n + 2)
.flatpickr-day.inRange:nth-child(7n + 1) {
-webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
border-bottom: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.flatpickr-calendar .hasWeeks .dayContainer {
border-left: 0;
}
.flatpickr-calendar.hasTime .flatpickr-time {
height: 40px;
border-top: 1px solid rgba(72, 72, 72, 0.2);
}
.flatpickr-calendar.hasTime .flatpickr-innerContainer {
border-bottom: 0;
}
.flatpickr-calendar.hasTime .flatpickr-time {
border: 1px solid rgba(72, 72, 72, 0.2);
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
height: auto;
}
.flatpickr-calendar:before,
.flatpickr-calendar:after {
position: absolute;
display: block;
pointer-events: none;
border: solid transparent;
content: "";
height: 0;
width: 0;
left: 22px;
}
.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
left: auto;
right: 22px;
}
.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
left: 50%;
right: 50%;
}
.flatpickr-calendar:before {
border-width: 5px;
margin: 0 -5px;
}
.flatpickr-calendar:after {
border-width: 4px;
margin: 0 -4px;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {
border-bottom-color: rgba(72, 72, 72, 0.2);
}
.flatpickr-calendar.arrowTop:after {
border-bottom-color: #085577;
}
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
top: 100%;
}
.flatpickr-calendar.arrowBottom:before {
border-top-color: rgba(72, 72, 72, 0.2);
}
.flatpickr-calendar.arrowBottom:after {
border-top-color: #085577;
}
.flatpickr-calendar:focus {
outline: 0;
}
.flatpickr-wrapper {
position: relative;
display: inline-block;
}
.flatpickr-months {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.flatpickr-months .flatpickr-month {
border-radius: 5px 5px 0 0;
background: #085577;
color: #fff;
fill: #fff;
height: 34px;
line-height: 1;
text-align: center;
position: relative;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
overflow: hidden;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
text-decoration: none;
cursor: pointer;
position: absolute;
top: 0;
height: 34px;
padding: 10px;
z-index: 3;
color: #fff;
fill: #fff;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
display: none;
}
.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
position: relative;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
/*
/*rtl:begin:ignore*/
/*
*/
left: 0;
/*
/*rtl:end:ignore*/
/*
*/
}
/*
/*rtl:begin:ignore*/
/*
/*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
/*
/*rtl:begin:ignore*/
/*
*/
right: 0;
/*
/*rtl:end:ignore*/
/*
*/
}
/*
/*rtl:begin:ignore*/
/*
/*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
color: #bbb;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
fill: #40bb6b;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
width: 14px;
height: 14px;
}
.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
-webkit-transition: fill 0.1s;
transition: fill 0.1s;
fill: inherit;
}
.numInputWrapper {
position: relative;
height: auto;
}
.numInputWrapper input,
.numInputWrapper span {
display: inline-block;
}
.numInputWrapper input {
width: 100%;
}
.numInputWrapper input::-ms-clear {
display: none;
}
.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
}
.numInputWrapper span {
position: absolute;
right: 0;
width: 14px;
padding: 0 4px 0 2px;
height: 50%;
line-height: 50%;
opacity: 0;
cursor: pointer;
border: 1px solid rgba(72, 72, 72, 0.15);
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.numInputWrapper span:hover {
background: rgba(0, 0, 0, 0.1);
}
.numInputWrapper span:active {
background: rgba(0, 0, 0, 0.2);
}
.numInputWrapper span:after {
display: block;
content: "";
position: absolute;
}
.numInputWrapper span.arrowUp {
top: 0;
border-bottom: 0;
}
.numInputWrapper span.arrowUp:after {
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-bottom: 4px solid rgba(72, 72, 72, 0.6);
top: 26%;
}
.numInputWrapper span.arrowDown {
top: 50%;
}
.numInputWrapper span.arrowDown:after {
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 4px solid rgba(72, 72, 72, 0.6);
top: 40%;
}
.numInputWrapper span svg {
width: inherit;
height: auto;
}
.numInputWrapper span svg path {
fill: rgba(255, 255, 255, 0.5);
}
.numInputWrapper:hover {
background: rgba(0, 0, 0, 0.05);
}
.numInputWrapper:hover span {
opacity: 1;
}
.flatpickr-current-month {
font-size: 135%;
line-height: inherit;
font-weight: 300;
color: inherit;
position: absolute;
width: 75%;
left: 12.5%;
padding: 7.48px 0 0 0;
line-height: 1;
height: 34px;
display: inline-block;
text-align: center;
-webkit-transform: translate3d(0px, 0px, 0px);
transform: translate3d(0px, 0px, 0px);
}
.flatpickr-current-month span.cur-month {
font-family: inherit;
font-weight: 700;
color: inherit;
display: inline-block;
margin-left: 0.5ch;
padding: 0;
}
.flatpickr-current-month span.cur-month:hover {
background: rgba(0, 0, 0, 0.05);
}
.flatpickr-current-month .numInputWrapper {
width: 6ch;
width: 7ch\0;
display: inline-block;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
border-bottom-color: #fff;
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
border-top-color: #fff;
}
.flatpickr-current-month input.cur-year {
background: transparent;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: inherit;
cursor: text;
padding: 0 0 0 0.5ch;
margin: 0;
display: inline-block;
font-size: inherit;
font-family: inherit;
font-weight: 300;
line-height: inherit;
height: auto;
border: 0;
border-radius: 0;
vertical-align: initial;
-webkit-appearance: textfield;
-moz-appearance: textfield;
appearance: textfield;
}
.flatpickr-current-month input.cur-year:focus {
outline: 0;
}
.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
font-size: 100%;
color: rgba(255, 255, 255, 0.5);
background: transparent;
pointer-events: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
appearance: menulist;
background: #085577;
border: none;
border-radius: 0;
box-sizing: border-box;
color: inherit;
cursor: pointer;
font-size: inherit;
font-family: inherit;
font-weight: 300;
height: auto;
line-height: inherit;
margin: -1px 0 0 0;
outline: none;
padding: 0 0 0 0.5ch;
position: relative;
vertical-align: initial;
-webkit-box-sizing: border-box;
-webkit-appearance: menulist;
-moz-appearance: menulist;
width: auto;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
outline: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
background: rgba(0, 0, 0, 0.05);
}
.flatpickr-current-month
.flatpickr-monthDropdown-months
.flatpickr-monthDropdown-month {
background-color: #085577;
outline: none;
padding: 0;
}
.flatpickr-weekdays {
background: #085577;
text-align: center;
overflow: hidden;
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
height: 28px;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
span.flatpickr-weekday {
cursor: default;
font-size: 90%;
background: #085577;
color: white;
line-height: 1;
margin: 0;
text-align: center;
display: block;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
font-weight: bolder;
}
.dayContainer,
.flatpickr-weeks {
padding: 1px 0 0 0;
}
.flatpickr-days {
position: relative;
overflow: hidden;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
width: 307.875px;
border-left: 1px solid rgba(72, 72, 72, 0.2);
border-right: 1px solid rgba(72, 72, 72, 0.2);
}
.flatpickr-days:focus {
outline: 0;
}
.dayContainer {
padding: 0;
outline: 0;
text-align: left;
width: 307.875px;
min-width: 307.875px;
max-width: 307.875px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
display: inline-block;
display: -ms-flexbox;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-ms-flex-wrap: wrap;
-ms-flex-pack: justify;
-webkit-justify-content: space-around;
justify-content: space-around;
-webkit-transform: translate3d(0px, 0px, 0px);
transform: translate3d(0px, 0px, 0px);
opacity: 1;
}
.dayContainer + .dayContainer {
-webkit-box-shadow: -1px 0 0 rgba(72, 72, 72, 0.2);
box-shadow: -1px 0 0 rgba(72, 72, 72, 0.2);
}
.flatpickr-day {
background: none;
border: 1px solid transparent;
border-radius: 150px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: #484848;
cursor: pointer;
font-weight: 400;
width: 14.2857143%;
-webkit-flex-basis: 14.2857143%;
-ms-flex-preferred-size: 14.2857143%;
flex-basis: 14.2857143%;
max-width: 39px;
height: 39px;
line-height: 39px;
margin: 0;
display: inline-block;
position: relative;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
text-align: center;
}
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
cursor: pointer;
outline: 0;
background: #e2e2e2;
border-color: #e2e2e2;
}
.flatpickr-day.today {
border-color: #bbb;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
border-color: #bbb;
background: #bbb;
color: #fff;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
background: #40bb6b;
-webkit-box-shadow: none;
box-shadow: none;
color: #fff;
border-color: #40bb6b;
}
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n + 1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n + 1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n + 1)) {
-webkit-box-shadow: -10px 0 0 #085577;
box-shadow: -10px 0 0 #085577;
}
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
border-radius: 50px;
}
.flatpickr-day.inRange {
border-radius: 0;
-webkit-box-shadow: -5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2;
box-shadow: -5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
color: rgba(72, 72, 72, 0.3);
background: transparent;
border-color: transparent;
cursor: default;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
cursor: not-allowed;
color: rgba(72, 72, 72, 0.1);
}
.flatpickr-day.week.selected {
border-radius: 0;
-webkit-box-shadow: -5px 0 0 #085577, 5px 0 0 #085577;
box-shadow: -5px 0 0 #085577, 5px 0 0 #085577;
}
.flatpickr-day.hidden {
visibility: hidden;
}
.rangeMode .flatpickr-day {
margin-top: 1px;
}
.flatpickr-weekwrapper {
float: left;
}
.flatpickr-weekwrapper .flatpickr-weeks {
padding: 0 12px;
border-left: 1px solid rgba(72, 72, 72, 0.2);
}
.flatpickr-weekwrapper .flatpickr-weekday {
float: none;
width: 100%;
line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
display: block;
width: 100%;
max-width: none;
color: rgba(72, 72, 72, 0.3);
background: transparent;
cursor: default;
border: none;
}
.flatpickr-innerContainer {
display: block;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
background: #fff;
border-bottom: 1px solid rgba(72, 72, 72, 0.2);
}
.flatpickr-rContainer {
display: inline-block;
padding: 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.flatpickr-time {
text-align: center;
outline: 0;
display: block;
height: 0;
line-height: 40px;
max-height: 40px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
background: #fff;
border-radius: 0 0 5px 5px;
}
.flatpickr-time:after {
content: "";
display: table;
clear: both;
}
.flatpickr-time .numInputWrapper {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
width: 40%;
height: 40px;
float: left;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
border-bottom-color: #484848;
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
border-top-color: #484848;
}
.flatpickr-time.hasSeconds .numInputWrapper {
width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
width: 49%;
}
.flatpickr-time input {
background: transparent;
-webkit-box-shadow: none;
box-shadow: none;
border: 0;
border-radius: 0;
text-align: center;
margin: 0;
padding: 0;
height: inherit;
line-height: inherit;
color: #484848;
font-size: 14px;
position: relative;
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-appearance: textfield;
-moz-appearance: textfield;
appearance: textfield;
}
.flatpickr-time input.flatpickr-hour {
font-weight: bold;
}
.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
font-weight: 400;
}
.flatpickr-time input:focus {
outline: 0;
border: 0;
}
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
height: inherit;
float: left;
line-height: inherit;
color: #484848;
font-weight: bold;
width: 2%;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-align-self: center;
-ms-flex-item-align: center;
align-self: center;
}
.flatpickr-time .flatpickr-am-pm {
outline: 0;
width: 18%;
cursor: pointer;
text-align: center;
font-weight: 400;
}
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
background: #eaeaea;
}
.flatpickr-input[readonly] {
cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
from {
opacity: 0;
-webkit-transform: translate3d(0, -20px, 0);
transform: translate3d(0, -20px, 0);
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}
@keyframes fpFadeInDown {
from {
opacity: 0;
-webkit-transform: translate3d(0, -20px, 0);
transform: translate3d(0, -20px, 0);
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}

View File

@ -0,0 +1,816 @@
.dark .flatpickr-calendar {
background: transparent;
opacity: 0;
display: none;
text-align: center;
visibility: hidden;
padding: 0;
-webkit-animation: none;
animation: none;
direction: ltr;
border: 0;
font-size: 14px;
line-height: 24px;
border-radius: 5px;
position: absolute;
width: 307.875px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
-ms-touch-action: manipulation;
touch-action: manipulation;
background: #3f4458;
-webkit-box-shadow: 1px 0 0 #20222c, -1px 0 0 #20222c, 0 1px 0 #20222c,
0 -1px 0 #20222c, 0 3px 13px rgba(0, 0, 0, 0.08);
box-shadow: 1px 0 0 #20222c, -1px 0 0 #20222c, 0 1px 0 #20222c,
0 -1px 0 #20222c, 0 3px 13px rgba(0, 0, 0, 0.08);
}
.dark .flatpickr-calendar.open,
.dark .flatpickr-calendar.inline {
opacity: 1;
max-height: 640px;
visibility: visible;
}
.dark .flatpickr-calendar.open {
display: inline-block;
z-index: 99999;
}
.dark .flatpickr-calendar.animate.open {
-webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.dark .flatpickr-calendar.inline {
display: block;
position: relative;
top: 2px;
}
.dark .flatpickr-calendar.static {
position: absolute;
top: calc(100% + 2px);
}
.dark .flatpickr-calendar.static.open {
z-index: 999;
display: block;
}
.dark
.flatpickr-calendar.multiMonth
.flatpickr-days
.dayContainer:nth-child(n + 1)
.flatpickr-day.inRange:nth-child(7n + 7) {
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
.dark
.flatpickr-calendar.multiMonth
.flatpickr-days
.dayContainer:nth-child(n + 2)
.flatpickr-day.inRange:nth-child(7n + 1) {
-webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.dark .flatpickr-calendar .hasWeeks .dayContainer,
.dark .flatpickr-calendar .hasTime .dayContainer {
border-bottom: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.dark .flatpickr-calendar .hasWeeks .dayContainer {
border-left: 0;
}
.dark .flatpickr-calendar.hasTime .flatpickr-time {
height: 40px;
border-top: 1px solid #20222c;
}
.dark .flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
height: auto;
}
.dark .flatpickr-calendar:before,
.dark .flatpickr-calendar:after {
position: absolute;
display: block;
pointer-events: none;
border: solid transparent;
content: "";
height: 0;
width: 0;
left: 22px;
}
.dark .flatpickr-calendar.rightMost:before,
.dark .flatpickr-calendar.arrowRight:before,
.dark .flatpickr-calendar.rightMost:after,
.dark .flatpickr-calendar.arrowRight:after {
left: auto;
right: 22px;
}
.dark .flatpickr-calendar.arrowCenter:before,
.dark .flatpickr-calendar.arrowCenter:after {
left: 50%;
right: 50%;
}
.dark .flatpickr-calendar:before {
border-width: 5px;
margin: 0 -5px;
}
.dark .flatpickr-calendar:after {
border-width: 4px;
margin: 0 -4px;
}
.dark .flatpickr-calendar.arrowTop:before,
.dark .flatpickr-calendar.arrowTop:after {
bottom: 100%;
}
.dark .flatpickr-calendar.arrowTop:before {
border-bottom-color: #20222c;
}
.dark .flatpickr-calendar.arrowTop:after {
border-bottom-color: #3f4458;
}
.dark .flatpickr-calendar.arrowBottom:before,
.dark .flatpickr-calendar.arrowBottom:after {
top: 100%;
}
.dark .flatpickr-calendar.arrowBottom:before {
border-top-color: #20222c;
}
.dark .flatpickr-calendar.arrowBottom:after {
border-top-color: #3f4458;
}
.dark .flatpickr-calendar:focus {
outline: 0;
}
.dark .flatpickr-wrapper {
position: relative;
display: inline-block;
}
.dark .flatpickr-months {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.dark .flatpickr-months .flatpickr-month {
background: #085577;
color: #fff;
fill: #fff;
height: 34px;
line-height: 1;
text-align: center;
position: relative;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
overflow: hidden;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.dark .flatpickr-months .flatpickr-prev-month,
.dark .flatpickr-months .flatpickr-next-month {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
text-decoration: none;
cursor: pointer;
position: absolute;
top: 0;
height: 34px;
padding: 10px;
z-index: 3;
color: #fff;
fill: #fff;
}
.dark .flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.dark .flatpickr-months .flatpickr-next-month.flatpickr-disabled {
display: none;
}
.dark .flatpickr-months .flatpickr-prev-month i,
.dark .flatpickr-months .flatpickr-next-month i {
position: relative;
}
.dark .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.dark .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
/*
/*rtl:begin:ignore*/
/*
*/
left: 0;
/*
/*rtl:end:ignore*/
/*
*/
}
/*
/*rtl:begin:ignore*/
/*
/*rtl:end:ignore*/
.dark .flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.dark .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
/*
/*rtl:begin:ignore*/
/*
*/
right: 0;
/*
/*rtl:end:ignore*/
/*
*/
}
/*
/*rtl:begin:ignore*/
/*
/*rtl:end:ignore*/
.dark .flatpickr-months .flatpickr-prev-month:hover,
.dark .flatpickr-months .flatpickr-next-month:hover {
color: #eee;
}
.dark .flatpickr-months .flatpickr-prev-month:hover svg,
.dark.flatpickr-months .flatpickr-next-month:hover svg {
fill: #40bb6b;
}
.dark .flatpickr-months .flatpickr-prev-month svg,
.dark .flatpickr-months .flatpickr-next-month svg {
width: 14px;
height: 14px;
}
.dark .flatpickr-months .flatpickr-prev-month svg path,
.dark .flatpickr-months .flatpickr-next-month svg path {
-webkit-transition: fill 0.1s;
transition: fill 0.1s;
fill: inherit;
}
.dark .numInputWrapper {
position: relative;
height: auto;
}
.dark .numInputWrapper input,
.dark .numInputWrapper span {
display: inline-block;
}
.dark .numInputWrapper input {
width: 100%;
}
.dark .numInputWrapper input::-ms-clear {
display: none;
}
.dark .numInputWrapper input::-webkit-outer-spin-button,
.dark .numInputWrapper input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
}
.dark .numInputWrapper span {
position: absolute;
right: 0;
width: 14px;
padding: 0 4px 0 2px;
height: 50%;
line-height: 50%;
opacity: 0;
cursor: pointer;
border: 1px solid rgba(255, 255, 255, 0.15);
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.dark .numInputWrapper span:hover {
background: rgba(192, 187, 167, 0.1);
}
.dark .numInputWrapper span:active {
background: rgba(192, 187, 167, 0.2);
}
.dark .numInputWrapper span:after {
display: block;
content: "";
position: absolute;
}
.dark .numInputWrapper span.arrowUp {
top: 0;
border-bottom: 0;
}
.dark .numInputWrapper span.arrowUp:after {
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-bottom: 4px solid rgba(255, 255, 255, 0.6);
top: 26%;
}
.dark .numInputWrapper span.arrowDown {
top: 50%;
}
.dark .numInputWrapper span.arrowDown:after {
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 4px solid rgba(255, 255, 255, 0.6);
top: 40%;
}
.dark .numInputWrapper span svg {
width: inherit;
height: auto;
}
.dark .numInputWrapper span svg path {
fill: rgba(255, 255, 255, 0.5);
}
.dark .numInputWrapper:hover {
background: rgba(192, 187, 167, 0.05);
}
.dark .numInputWrapper:hover span {
opacity: 1;
}
.dark .flatpickr-current-month {
font-size: 135%;
line-height: inherit;
font-weight: 300;
color: inherit;
position: absolute;
width: 75%;
left: 12.5%;
padding: 7.48px 0 0 0;
line-height: 1;
height: 34px;
display: inline-block;
text-align: center;
-webkit-transform: translate3d(0px, 0px, 0px);
transform: translate3d(0px, 0px, 0px);
}
.dark .flatpickr-current-month span.cur-month {
font-family: inherit;
font-weight: 700;
color: inherit;
display: inline-block;
margin-left: 0.5ch;
padding: 0;
}
.dark .flatpickr-current-month span.cur-month:hover {
background: rgba(192, 187, 167, 0.05);
}
.dark .flatpickr-current-month .numInputWrapper {
width: 6ch;
width: 7ch\0;
display: inline-block;
}
.dark .flatpickr-current-month .numInputWrapper span.arrowUp:after {
border-bottom-color: #fff;
}
.dark .flatpickr-current-month .numInputWrapper span.arrowDown:after {
border-top-color: #fff;
}
.dark .flatpickr-current-month input.cur-year {
background: transparent;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: inherit;
cursor: text;
padding: 0 0 0 0.5ch;
margin: 0;
display: inline-block;
font-size: inherit;
font-family: inherit;
font-weight: 300;
line-height: inherit;
height: auto;
border: 0;
border-radius: 0;
vertical-align: initial;
-webkit-appearance: textfield;
-moz-appearance: textfield;
appearance: textfield;
}
.dark .flatpickr-current-month input.cur-year:focus {
outline: 0;
}
.dark .flatpickr-current-month input.cur-year[disabled],
.dark .flatpickr-current-month input.cur-year[disabled]:hover {
font-size: 100%;
color: rgba(255, 255, 255, 0.5);
background: transparent;
pointer-events: none;
}
.dark .flatpickr-current-month .flatpickr-monthDropdown-months {
appearance: menulist;
background: #085577;
border: none;
border-radius: 0;
box-sizing: border-box;
color: inherit;
cursor: pointer;
font-size: inherit;
font-family: inherit;
font-weight: 300;
height: auto;
line-height: inherit;
margin: -1px 0 0 0;
outline: none;
padding: 0 0 0 0.5ch;
position: relative;
vertical-align: initial;
-webkit-box-sizing: border-box;
-webkit-appearance: menulist;
-moz-appearance: menulist;
width: auto;
}
.dark .flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.dark .flatpickr-current-month .flatpickr-monthDropdown-months:active {
outline: none;
}
.dark .flatpickr-current-month .flatpickr-monthDropdown-months:hover {
background: rgba(192, 187, 167, 0.05);
}
.dark
.flatpickr-current-month
.flatpickr-monthDropdown-months
.flatpickr-monthDropdown-month {
background-color: #085577;
outline: none;
padding: 0;
}
.dark .flatpickr-weekdays {
background: #085577;
text-align: center;
overflow: hidden;
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
height: 28px;
}
.dark .flatpickr-weekdays .flatpickr-weekdaycontainer {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.dark span.flatpickr-weekday {
cursor: default;
font-size: 90%;
background: #085577;
color: #fff;
line-height: 1;
margin: 0;
text-align: center;
display: block;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
font-weight: bolder;
}
.dark .dayContainer {
background: #1e3969;
}
.dark .dayContainer,
.flatpickr-weeks {
padding: 1px 0 0 0;
}
.dark .flatpickr-days {
position: relative;
overflow: hidden;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
width: 307.875px;
border: none;
}
.dark .flatpickr-days:focus {
outline: 0;
}
.dark .dayContainer {
padding: 0;
outline: 0;
text-align: left;
width: 307.875px;
min-width: 307.875px;
max-width: 307.875px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
display: inline-block;
display: -ms-flexbox;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-ms-flex-wrap: wrap;
-ms-flex-pack: justify;
-webkit-justify-content: space-around;
justify-content: space-around;
-webkit-transform: translate3d(0px, 0px, 0px);
transform: translate3d(0px, 0px, 0px);
opacity: 1;
}
.dark .dayContainer + .dark .dayContainer {
-webkit-box-shadow: -1px 0 0 #20222c;
box-shadow: -1px 0 0 #20222c;
}
.dark .flatpickr-day {
background: none;
border: 1px solid transparent;
border-radius: 150px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: rgba(255, 255, 255, 0.95);
cursor: pointer;
font-weight: 400;
width: 14.2857143%;
-webkit-flex-basis: 14.2857143%;
-ms-flex-preferred-size: 14.2857143%;
flex-basis: 14.2857143%;
max-width: 39px;
height: 39px;
line-height: 39px;
margin: 0;
display: inline-block;
position: relative;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
text-align: center;
}
.dark .flatpickr-day.inRange,
.dark .flatpickr-day.prevMonthDay.inRange,
.dark .flatpickr-day.nextMonthDay.inRange,
.dark .flatpickr-day.today.inRange,
.dark .flatpickr-day.prevMonthDay.today.inRange,
.dark .flatpickr-day.nextMonthDay.today.inRange,
.dark .flatpickr-day:hover,
.dark .flatpickr-day.prevMonthDay:hover,
.dark .flatpickr-day.nextMonthDay:hover,
.dark .flatpickr-day:focus,
.dark .flatpickr-day.prevMonthDay:focus,
.dark .flatpickr-day.nextMonthDay:focus {
cursor: pointer;
outline: 0;
background: #646c8c;
border-color: #646c8c;
}
.dark .flatpickr-day.today {
border-color: #eee;
}
.dark .flatpickr-day.today:hover,
.dark .flatpickr-day.today:focus {
border-color: #eee;
background: #eee;
color: #3f4458;
}
.dark .flatpickr-day.selected,
.dark .flatpickr-day.startRange,
.dark .flatpickr-day.endRange,
.dark .flatpickr-day.selected.inRange,
.dark .flatpickr-day.startRange.inRange,
.dark .flatpickr-day.endRange.inRange,
.dark .flatpickr-day.selected:focus,
.dark .flatpickr-day.startRange:focus,
.dark .flatpickr-day.endRange:focus,
.dark .flatpickr-day.selected:hover,
.dark .flatpickr-day.startRange:hover,
.dark .flatpickr-day.endRange:hover,
.dark .flatpickr-day.selected.prevMonthDay,
.dark .flatpickr-day.startRange.prevMonthDay,
.dark .flatpickr-day.endRange.prevMonthDay,
.dark .flatpickr-day.selected.nextMonthDay,
.dark .flatpickr-day.startRange.nextMonthDay,
.dark .flatpickr-day.endRange.nextMonthDay {
background: #40bb6b;
-webkit-box-shadow: none;
box-shadow: none;
color: #fff;
border-color: #40bb6b;
}
.dark .flatpickr-day.selected.startRange,
.dark .flatpickr-day.startRange.startRange,
.dark .flatpickr-day.endRange.startRange {
border-radius: 50px 0 0 50px;
}
.dark .flatpickr-day.selected.endRange,
.dark .flatpickr-day.startRange.endRange,
.dark .flatpickr-day.endRange.endRange {
border-radius: 0 50px 50px 0;
}
.dark .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n + 1)),
.dark .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n + 1)),
.dark .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n + 1)) {
-webkit-box-shadow: -10px 0 0 #80cbc4;
box-shadow: -10px 0 0 #80cbc4;
}
.dark .flatpickr-day.selected.startRange.endRange,
.dark .flatpickr-day.startRange.startRange.endRange,
.dark .flatpickr-day.endRange.startRange.endRange {
border-radius: 50px;
}
.dark .flatpickr-day.inRange {
border-radius: 0;
-webkit-box-shadow: -5px 0 0 #646c8c, 5px 0 0 #646c8c;
box-shadow: -5px 0 0 #646c8c, 5px 0 0 #646c8c;
}
.dark .flatpickr-day.flatpickr-disabled,
.dark .flatpickr-day.flatpickr-disabled:hover,
.dark .flatpickr-day.prevMonthDay,
.dark .flatpickr-day.nextMonthDay,
.dark .flatpickr-day.notAllowed,
.dark .flatpickr-day.notAllowed.prevMonthDay,
.dark .flatpickr-day.notAllowed.nextMonthDay {
color: rgba(255, 255, 255, 0.3);
background: transparent;
border-color: transparent;
cursor: default;
}
.dark .flatpickr-day.flatpickr-disabled,
.dark .flatpickr-day.flatpickr-disabled:hover {
cursor: not-allowed;
color: rgba(255, 255, 255, 0.1);
}
.dark .flatpickr-day.week.selected {
border-radius: 0;
-webkit-box-shadow: -5px 0 0 #80cbc4, 5px 0 0 #80cbc4;
box-shadow: -5px 0 0 #80cbc4, 5px 0 0 #80cbc4;
}
.dark .flatpickr-day.hidden {
visibility: hidden;
}
.dark .rangeMode .flatpickr-day {
margin-top: 1px;
}
.dark .flatpickr-weekwrapper {
float: left;
}
.dark .flatpickr-weekwrapper .flatpickr-weeks {
padding: 0 12px;
-webkit-box-shadow: 1px 0 0 #20222c;
box-shadow: 1px 0 0 #20222c;
}
.dark .flatpickr-weekwrapper .flatpickr-weekday {
float: none;
width: 100%;
line-height: 28px;
}
.dark .flatpickr-weekwrapper span.flatpickr-day,
.dark .flatpickr-weekwrapper span.flatpickr-day:hover {
display: block;
width: 100%;
max-width: none;
color: rgba(255, 255, 255, 0.3);
background: transparent;
cursor: default;
border: none;
}
.dark .flatpickr-innerContainer {
display: block;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
border-bottom: none;
}
.dark .flatpickr-rContainer {
display: inline-block;
padding: 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.dark .flatpickr-time {
text-align: center;
outline: 0;
display: block;
height: 0;
line-height: 40px;
max-height: 40px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.dark .flatpickr-time:after {
content: "";
display: table;
clear: both;
}
.dark .flatpickr-time .numInputWrapper {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
width: 40%;
height: 40px;
float: left;
}
.dark .flatpickr-time .numInputWrapper span.arrowUp:after {
border-bottom-color: rgba(255, 255, 255, 0.95);
}
.dark .flatpickr-time .numInputWrapper span.arrowDown:after {
border-top-color: rgba(255, 255, 255, 0.95);
}
.dark .flatpickr-time.hasSeconds .numInputWrapper {
width: 26%;
}
.dark .flatpickr-time.time24hr .numInputWrapper {
width: 49%;
}
.dark .flatpickr-time input {
background: transparent;
-webkit-box-shadow: none;
box-shadow: none;
border: 0;
border-radius: 0;
text-align: center;
margin: 0;
padding: 0;
height: inherit;
line-height: inherit;
color: rgba(255, 255, 255, 0.95);
font-size: 14px;
position: relative;
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-appearance: textfield;
-moz-appearance: textfield;
appearance: textfield;
}
.dark .flatpickr-time input.flatpickr-hour {
font-weight: bold;
}
.dark .flatpickr-time input.flatpickr-minute,
.dark .flatpickr-time input.flatpickr-second {
font-weight: 400;
}
.dark .flatpickr-time input:focus {
outline: 0;
border: 0;
}
.dark .flatpickr-time .flatpickr-time-separator,
.dark .flatpickr-time .flatpickr-am-pm {
height: inherit;
float: left;
line-height: inherit;
color: rgba(255, 255, 255, 0.95);
font-weight: bold;
width: 2%;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-align-self: center;
-ms-flex-item-align: center;
align-self: center;
}
.dark .flatpickr-time .flatpickr-am-pm {
outline: 0;
width: 18%;
cursor: pointer;
text-align: center;
font-weight: 400;
}
.dark .flatpickr-time input:hover,
.dark .flatpickr-time .flatpickr-am-pm:hover,
.dark .flatpickr-time input:focus,
.dark .flatpickr-time .flatpickr-am-pm:focus {
background: #6a7395;
}
.dark .flatpickr-input[readonly] {
cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
from {
opacity: 0;
-webkit-transform: translate3d(0, -20px, 0);
transform: translate3d(0, -20px, 0);
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}
@keyframes fpFadeInDown {
from {
opacity: 0;
-webkit-transform: translate3d(0, -20px, 0);
transform: translate3d(0, -20px, 0);
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}

View File

@ -5,7 +5,38 @@ import {
FolderDropdown,
} from "./utils/file.manager.js";
class Download {
constructor(prefix = "cache") {
this.prefix = prefix;
this.listContainer = document.querySelector(`[cache-container]`);
this.init();
}
init() {
this.listContainer.addEventListener("click", (e) => {
try {
if (
e.target.closest("button").hasAttribute(`${this.prefix}-download`)
) {
const btnEl = e.target.closest("button");
const jobName = btnEl.getAttribute("cache-download");
const fileName = btnEl.getAttribute("cache-file");
this.sendFileToDL(jobName, fileName);
}
} catch (err) {}
});
}
async sendFileToDL(jobName, fileName) {
window.open(
`${location.href}/download?job_name=${jobName}&file_name=${fileName}`
);
}
}
const setModal = new FolderModal("cache");
const setEditor = new FolderEditor();
const setFolderNav = new FolderNav("cache");
const setDropdown = new FolderDropdown("cache");
const setDownload = new Download();

View File

@ -1,210 +0,0 @@
import {registerListeners, unregisterListeners} from './lib/event.js';
import {formatDate} from './lib/date-format.js';
import Datepicker from './datepicker.js';
// filter out the config options inapproprite to pass to Datepicker
function filterOptions(options) {
const newOpts = Object.assign({}, options);
delete newOpts.inputs;
delete newOpts.allowOneSidedRange;
delete newOpts.maxNumberOfDates; // to ensure each datepicker handles a single date
return newOpts;
}
function setupDatepicker(rangepicker, changeDateListener, el, options) {
registerListeners(rangepicker, [
[el, 'changeDate', changeDateListener],
]);
new Datepicker(el, options, rangepicker);
}
function onChangeDate(rangepicker, ev) {
// to prevent both datepickers trigger the other side's update each other
if (rangepicker._updating) {
return;
}
rangepicker._updating = true;
const target = ev.target;
if (target.datepicker === undefined) {
return;
}
const datepickers = rangepicker.datepickers;
const setDateOptions = {render: false};
const changedSide = rangepicker.inputs.indexOf(target);
const otherSide = changedSide === 0 ? 1 : 0;
const changedDate = datepickers[changedSide].dates[0];
const otherDate = datepickers[otherSide].dates[0];
if (changedDate !== undefined && otherDate !== undefined) {
// if the start of the range > the end, swap them
if (changedSide === 0 && changedDate > otherDate) {
datepickers[0].setDate(otherDate, setDateOptions);
datepickers[1].setDate(changedDate, setDateOptions);
} else if (changedSide === 1 && changedDate < otherDate) {
datepickers[0].setDate(changedDate, setDateOptions);
datepickers[1].setDate(otherDate, setDateOptions);
}
} else if (!rangepicker.allowOneSidedRange) {
// to prevent the range from becoming one-sided, copy changed side's
// selection (no matter if it's empty) to the other side
if (changedDate !== undefined || otherDate !== undefined) {
setDateOptions.clear = true;
datepickers[otherSide].setDate(datepickers[changedSide].dates, setDateOptions);
}
}
datepickers[0].picker.update().render();
datepickers[1].picker.update().render();
delete rangepicker._updating;
}
/**
* Class representing a date range picker
*/
export default class DateRangePicker {
/**
* Create a date range picker
* @param {Element} element - element to bind a date range picker
* @param {Object} [options] - config options
*/
constructor(element, options = {}) {
const inputs = Array.isArray(options.inputs)
? options.inputs
: Array.from(element.querySelectorAll('input'));
if (inputs.length < 2) {
return;
}
element.rangepicker = this;
this.element = element;
this.inputs = inputs.slice(0, 2);
this.allowOneSidedRange = !!options.allowOneSidedRange;
const changeDateListener = onChangeDate.bind(null, this);
const cleanOptions = filterOptions(options);
// in order for initial date setup to work right when pcicLvel > 0,
// let Datepicker constructor add the instance to the rangepicker
const datepickers = [];
Object.defineProperty(this, 'datepickers', {
get() {
return datepickers;
},
});
setupDatepicker(this, changeDateListener, this.inputs[0], cleanOptions);
setupDatepicker(this, changeDateListener, this.inputs[1], cleanOptions);
Object.freeze(datepickers);
// normalize the range if inital dates are given
if (datepickers[0].dates.length > 0) {
onChangeDate(this, {target: this.inputs[0]});
} else if (datepickers[1].dates.length > 0) {
onChangeDate(this, {target: this.inputs[1]});
}
}
/**
* @type {Array} - selected date of the linked date pickers
*/
get dates() {
return this.datepickers.length === 2
? [
this.datepickers[0].dates[0],
this.datepickers[1].dates[0],
]
: undefined;
}
/**
* Set new values to the config options
* @param {Object} options - config options to update
*/
setOptions(options) {
this.allowOneSidedRange = !!options.allowOneSidedRange;
const cleanOptions = filterOptions(options);
this.datepickers[0].setOptions(cleanOptions);
this.datepickers[1].setOptions(cleanOptions);
}
/**
* Destroy the DateRangePicker instance
* @return {DateRangePicker} - the instance destroyed
*/
destroy() {
this.datepickers[0].destroy();
this.datepickers[1].destroy();
unregisterListeners(this);
delete this.element.rangepicker;
}
/**
* Get the start and end dates of the date range
*
* The method returns Date objects by default. If format string is passed,
* it returns date strings formatted in given format.
* The result array always contains 2 items (start date/end date) and
* undefined is used for unselected side. (e.g. If none is selected,
* the result will be [undefined, undefined]. If only the end date is set
* when allowOneSidedRange config option is true, [undefined, endDate] will
* be returned.)
*
* @param {String} [format] - Format string to stringify the dates
* @return {Array} - Start and end dates
*/
getDates(format = undefined) {
const callback = format
? date => formatDate(date, format, this.datepickers[0].config.locale)
: date => new Date(date);
return this.dates.map(date => date === undefined ? date : callback(date));
}
/**
* Set the start and end dates of the date range
*
* The method calls datepicker.setDate() internally using each of the
* arguments in startend order.
*
* When a clear: true option object is passed instead of a date, the method
* clears the date.
*
* If an invalid date, the same date as the current one or an option object
* without clear: true is passed, the method considers that argument as an
* "ineffective" argument because calling datepicker.setDate() with those
* values makes no changes to the date selection.
*
* When the allowOneSidedRange config option is false, passing {clear: true}
* to clear the range works only when it is done to the last effective
* argument (in other words, passed to rangeEnd or to rangeStart along with
* ineffective rangeEnd). This is because when the date range is changed,
* it gets normalized based on the last change at the end of the changing
* process.
*
* @param {Date|Number|String|Object} rangeStart - Start date of the range
* or {clear: true} to clear the date
* @param {Date|Number|String|Object} rangeEnd - End date of the range
* or {clear: true} to clear the date
*/
setDates(rangeStart, rangeEnd) {
const [datepicker0, datepicker1] = this.datepickers;
const origDates = this.dates;
// If range normalization runs on every change, we can't set a new range
// that starts after the end of the current range correctly because the
// normalization process swaps start↔end right after setting the new start
// date. To prevent this, the normalization process needs to run once after
// both of the new dates are set.
this._updating = true;
datepicker0.setDate(rangeStart);
datepicker1.setDate(rangeEnd);
delete this._updating;
if (datepicker1.dates[0] !== origDates[1]) {
onChangeDate(this, {target: this.inputs[1]});
} else if (datepicker0.dates[0] !== origDates[0]) {
onChangeDate(this, {target: this.inputs[0]});
}
}
}

View File

@ -1,5 +0,0 @@
import Datepicker from './datepicker.js';
import DateRangePicker from './dateRangePicker.js';
window.Datepicker = Datepicker;
window.DateRangePicker = DateRangePicker;

File diff suppressed because one or more lines are too long

View File

@ -1,502 +0,0 @@
import {lastItemOf, stringToArray, isInRange} from './lib/utils.js';
import {today, regularizeDate} from './lib/date.js';
import {parseDate, formatDate} from './lib/date-format.js';
import {isActiveElement} from './lib/dom.js';
import {registerListeners, unregisterListeners} from './lib/event.js';
import {locales} from './i18n/base-locales.js';
import defaultOptions from './options/defaultOptions.js';
import processOptions from './options/processOptions.js';
import Picker from './picker/Picker.js';
import {triggerDatepickerEvent} from './events/functions.js';
import {onKeydown, onFocus, onMousedown, onClickInput, onPaste} from './events/inputFieldListeners.js';
import {onClickOutside} from './events/otherListeners.js';
function stringifyDates(dates, config) {
return dates
.map(dt => formatDate(dt, config.format, config.locale))
.join(config.dateDelimiter);
}
// parse input dates and create an array of time values for selection
// returns undefined if there are no valid dates in inputDates
// when origDates (current selection) is passed, the function works to mix
// the input dates into the current selection
function processInputDates(datepicker, inputDates, clear = false) {
// const {config, dates: origDates, rangepicker} = datepicker;
const {config, dates: origDates, rangeSideIndex} = datepicker;
if (inputDates.length === 0) {
// empty input is considered valid unless origiDates is passed
return clear ? [] : undefined;
}
// const rangeEnd = rangepicker && datepicker === rangepicker.datepickers[1];
let newDates = inputDates.reduce((dates, dt) => {
let date = parseDate(dt, config.format, config.locale);
if (date === undefined) {
return dates;
}
// adjust to 1st of the month/Jan 1st of the year
// or to the last day of the monh/Dec 31st of the year if the datepicker
// is the range-end picker of a rangepicker
date = regularizeDate(date, config.pickLevel, rangeSideIndex);
if (
isInRange(date, config.minDate, config.maxDate)
&& !dates.includes(date)
&& !config.datesDisabled.includes(date)
&& (config.pickLevel > 0 || !config.daysOfWeekDisabled.includes(new Date(date).getDay()))
) {
dates.push(date);
}
return dates;
}, []);
if (newDates.length === 0) {
return;
}
if (config.multidate && !clear) {
// get the synmetric difference between origDates and newDates
newDates = newDates.reduce((dates, date) => {
if (!origDates.includes(date)) {
dates.push(date);
}
return dates;
}, origDates.filter(date => !newDates.includes(date)));
}
// do length check always because user can input multiple dates regardless of the mode
return config.maxNumberOfDates && newDates.length > config.maxNumberOfDates
? newDates.slice(config.maxNumberOfDates * -1)
: newDates;
}
// refresh the UI elements
// modes: 1: input only, 2, picker only, 3 both
function refreshUI(datepicker, mode = 3, quickRender = true) {
const {config, picker, inputField} = datepicker;
if (mode & 2) {
const newView = picker.active ? config.pickLevel : config.startView;
picker.update().changeView(newView).render(quickRender);
}
if (mode & 1 && inputField) {
inputField.value = stringifyDates(datepicker.dates, config);
}
}
function setDate(datepicker, inputDates, options) {
let {clear, render, autohide, revert} = options;
if (render === undefined) {
render = true;
}
if (!render) {
autohide = false;
} else if (autohide === undefined) {
autohide = datepicker.config.autohide;
}
const newDates = processInputDates(datepicker, inputDates, clear);
if (!newDates && !revert) {
return;
}
if (newDates && newDates.toString() !== datepicker.dates.toString()) {
datepicker.dates = newDates;
refreshUI(datepicker, render ? 3 : 1);
triggerDatepickerEvent(datepicker, 'changeDate');
} else {
refreshUI(datepicker, 1);
}
if (autohide) {
datepicker.hide();
}
}
/**
* Class representing a date picker
*/
export default class Datepicker {
/**
* Create a date picker
* @param {Element} element - element to bind a date picker
* @param {Object} [options] - config options
* @param {DateRangePicker} [rangepicker] - DateRangePicker instance the
* date picker belongs to. Use this only when creating date picker as a part
* of date range picker
*/
constructor(element, options = {}, rangepicker = undefined) {
element.datepicker = this;
this.element = element;
const config = this.config = Object.assign({
buttonClass: (options.buttonClass && String(options.buttonClass)) || 'button',
container: null,
defaultViewDate: today(),
maxDate: undefined,
minDate: undefined,
}, processOptions(defaultOptions, this));
// configure by type
const inline = this.inline = element.tagName !== 'INPUT';
let inputField;
if (inline) {
config.container = element;
} else {
if (options.container) {
// omit string type check because it doesn't guarantee to avoid errors
// (invalid selector string causes abend with sytax error)
config.container = options.container instanceof HTMLElement
? options.container
: document.querySelector(options.container);
}
inputField = this.inputField = element;
inputField.classList.add('datepicker-input');
}
if (rangepicker) {
// check validiry
const index = rangepicker.inputs.indexOf(inputField);
const datepickers = rangepicker.datepickers;
if (index < 0 || index > 1 || !Array.isArray(datepickers)) {
throw Error('Invalid rangepicker object.');
}
// attach itaelf to the rangepicker here so that processInputDates() can
// determine if this is the range-end picker of the rangepicker while
// setting inital values when pickLevel > 0
datepickers[index] = this;
// add getter for rangepicker
Object.defineProperty(this, 'rangepicker', {
get() {
return rangepicker;
},
});
Object.defineProperty(this, 'rangeSideIndex', {
get() {
return index;
},
});
}
// set up config
this._options = options;
Object.assign(config, processOptions(options, this));
// set initial dates
let initialDates;
if (inline) {
initialDates = stringToArray(element.dataset.date, config.dateDelimiter);
delete element.dataset.date;
} else {
initialDates = stringToArray(inputField.value, config.dateDelimiter);
}
this.dates = [];
// process initial value
const inputDateValues = processInputDates(this, initialDates);
if (inputDateValues && inputDateValues.length > 0) {
this.dates = inputDateValues;
}
if (inputField) {
inputField.value = stringifyDates(this.dates, config);
}
const picker = this.picker = new Picker(this);
if (inline) {
this.show();
} else {
// set up event listeners in other modes
const onMousedownDocument = onClickOutside.bind(null, this);
const listeners = [
[inputField, 'keydown', onKeydown.bind(null, this)],
[inputField, 'focus', onFocus.bind(null, this)],
[inputField, 'mousedown', onMousedown.bind(null, this)],
[inputField, 'click', onClickInput.bind(null, this)],
[inputField, 'paste', onPaste.bind(null, this)],
[document, 'mousedown', onMousedownDocument],
[document, 'touchstart', onMousedownDocument],
[window, 'resize', picker.place.bind(picker)]
];
registerListeners(this, listeners);
}
}
/**
* Format Date object or time value in given format and language
* @param {Date|Number} date - date or time value to format
* @param {String|Object} format - format string or object that contains
* toDisplay() custom formatter, whose signature is
* - args:
* - date: {Date} - Date instance of the date passed to the method
* - format: {Object} - the format object passed to the method
* - locale: {Object} - locale for the language specified by `lang`
* - return:
* {String} formatted date
* @param {String} [lang=en] - language code for the locale to use
* @return {String} formatted date
*/
static formatDate(date, format, lang) {
return formatDate(date, format, lang && locales[lang] || locales.en);
}
/**
* Parse date string
* @param {String|Date|Number} dateStr - date string, Date object or time
* value to parse
* @param {String|Object} format - format string or object that contains
* toValue() custom parser, whose signature is
* - args:
* - dateStr: {String|Date|Number} - the dateStr passed to the method
* - format: {Object} - the format object passed to the method
* - locale: {Object} - locale for the language specified by `lang`
* - return:
* {Date|Number} parsed date or its time value
* @param {String} [lang=en] - language code for the locale to use
* @return {Number} time value of parsed date
*/
static parseDate(dateStr, format, lang) {
return parseDate(dateStr, format, lang && locales[lang] || locales.en);
}
/**
* @type {Object} - Installed locales in `[languageCode]: localeObject` format
* en`:_English (US)_ is pre-installed.
*/
static get locales() {
return locales;
}
/**
* @type {Boolean} - Whether the picker element is shown. `true` whne shown
*/
get active() {
return !!(this.picker && this.picker.active);
}
/**
* @type {HTMLDivElement} - DOM object of picker element
*/
get pickerElement() {
return this.picker ? this.picker.element : undefined;
}
/**
* Set new values to the config options
* @param {Object} options - config options to update
*/
setOptions(options) {
const picker = this.picker;
const newOptions = processOptions(options, this);
Object.assign(this._options, options);
Object.assign(this.config, newOptions);
picker.setOptions(newOptions);
refreshUI(this, 3);
}
/**
* Show the picker element
*/
show() {
if (this.inputField) {
if (this.inputField.disabled) {
return;
}
if (!isActiveElement(this.inputField) && !this.config.disableTouchKeyboard) {
this._showing = true;
this.inputField.focus();
delete this._showing;
}
}
this.picker.show();
}
/**
* Hide the picker element
* Not available on inline picker
*/
hide() {
if (this.inline) {
return;
}
this.picker.hide();
this.picker.update().changeView(this.config.startView).render();
}
/**
* Destroy the Datepicker instance
* @return {Detepicker} - the instance destroyed
*/
destroy() {
this.hide();
unregisterListeners(this);
this.picker.detach();
if (!this.inline) {
this.inputField.classList.remove('datepicker-input');
}
delete this.element.datepicker;
return this;
}
/**
* Get the selected date(s)
*
* The method returns a Date object of selected date by default, and returns
* an array of selected dates in multidate mode. If format string is passed,
* it returns date string(s) formatted in given format.
*
* @param {String} [format] - Format string to stringify the date(s)
* @return {Date|String|Date[]|String[]} - selected date(s), or if none is
* selected, empty array in multidate mode and untitled in sigledate mode
*/
getDate(format = undefined) {
const callback = format
? date => formatDate(date, format, this.config.locale)
: date => new Date(date);
if (this.config.multidate) {
return this.dates.map(callback);
}
if (this.dates.length > 0) {
return callback(this.dates[0]);
}
}
/**
* Set selected date(s)
*
* In multidate mode, you can pass multiple dates as a series of arguments
* or an array. (Since each date is parsed individually, the type of the
* dates doesn't have to be the same.)
* The given dates are used to toggle the select status of each date. The
* number of selected dates is kept from exceeding the length set to
* maxNumberOfDates.
*
* With clear: true option, the method can be used to clear the selection
* and to replace the selection instead of toggling in multidate mode.
* If the option is passed with no date arguments or an empty dates array,
* it works as "clear" (clear the selection then set nothing), and if the
* option is passed with new dates to select, it works as "replace" (clear
* the selection then set the given dates)
*
* When render: false option is used, the method omits re-rendering the
* picker element. In this case, you need to call refresh() method later in
* order for the picker element to reflect the changes. The input field is
* refreshed always regardless of this option.
*
* When invalid (unparsable, repeated, disabled or out-of-range) dates are
* passed, the method ignores them and applies only valid ones. In the case
* that all the given dates are invalid, which is distinguished from passing
* no dates, the method considers it as an error and leaves the selection
* untouched. (The input field also remains untouched unless revert: true
* option is used.)
*
* @param {...(Date|Number|String)|Array} [dates] - Date strings, Date
* objects, time values or mix of those for new selection
* @param {Object} [options] - function options
* - clear: {boolean} - Whether to clear the existing selection
* defualt: false
* - render: {boolean} - Whether to re-render the picker element
* default: true
* - autohide: {boolean} - Whether to hide the picker element after re-render
* Ignored when used with render: false
* default: config.autohide
* - revert: {boolean} - Whether to refresh the input field when all the
* passed dates are invalid
* default: false
*/
setDate(...args) {
const dates = [...args];
const opts = {};
const lastArg = lastItemOf(args);
if (
typeof lastArg === 'object'
&& !Array.isArray(lastArg)
&& !(lastArg instanceof Date)
&& lastArg
) {
Object.assign(opts, dates.pop());
}
const inputDates = Array.isArray(dates[0]) ? dates[0] : dates;
setDate(this, inputDates, opts);
}
/**
* Update the selected date(s) with input field's value
* Not available on inline picker
*
* The input field will be refreshed with properly formatted date string.
*
* In the case that all the entered dates are invalid (unparsable, repeated,
* disabled or out-of-range), whixh is distinguished from empty input field,
* the method leaves the input field untouched as well as the selection by
* default. If revert: true option is used in this case, the input field is
* refreshed with the existing selection.
*
* @param {Object} [options] - function options
* - autohide: {boolean} - whether to hide the picker element after refresh
* default: false
* - revert: {boolean} - Whether to refresh the input field when all the
* passed dates are invalid
* default: false
*/
update(options = undefined) {
if (this.inline) {
return;
}
const opts = Object.assign(options || {}, {clear: true, render: true});
const inputDates = stringToArray(this.inputField.value, this.config.dateDelimiter);
setDate(this, inputDates, opts);
}
/**
* Refresh the picker element and the associated input field
* @param {String} [target] - target item when refreshing one item only
* 'picker' or 'input'
* @param {Boolean} [forceRender] - whether to re-render the picker element
* regardless of its state instead of optimized refresh
*/
refresh(target = undefined, forceRender = false) {
if (target && typeof target !== 'string') {
forceRender = target;
target = undefined;
}
let mode;
if (target === 'picker') {
mode = 2;
} else if (target === 'input') {
mode = 1;
} else {
mode = 3;
}
refreshUI(this, mode, !forceRender);
}
/**
* Enter edit mode
* Not available on inline picker or when the picker element is hidden
*/
enterEditMode() {
if (this.inline || !this.picker.active || this.editMode) {
return;
}
this.editMode = true;
this.inputField.classList.add('in-edit');
}
/**
* Exit from edit mode
* Not available on inline picker
* @param {Object} [options] - function options
* - update: {boolean} - whether to call update() after exiting
* If false, input field is revert to the existing selection
* default: false
*/
exitEditMode(options = undefined) {
if (this.inline || !this.editMode) {
return;
}
const opts = Object.assign({update: false}, options);
delete this.editMode;
this.inputField.classList.remove('in-edit');
if (opts.update) {
this.update(opts);
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -1,48 +0,0 @@
import {limitToRange} from '../lib/utils.js';
import {addMonths, addYears} from '../lib/date.js';
export function triggerDatepickerEvent(datepicker, type) {
const detail = {
date: datepicker.getDate(),
viewDate: new Date(datepicker.picker.viewDate),
viewId: datepicker.picker.currentView.id,
datepicker,
};
datepicker.element.dispatchEvent(new CustomEvent(type, {detail}));
}
// direction: -1 (to previous), 1 (to next)
export function goToPrevOrNext(datepicker, direction) {
const {minDate, maxDate} = datepicker.config;
const {currentView, viewDate} = datepicker.picker;
let newViewDate;
switch (currentView.id) {
case 0:
newViewDate = addMonths(viewDate, direction);
break;
case 1:
newViewDate = addYears(viewDate, direction);
break;
default:
newViewDate = addYears(viewDate, direction * currentView.navStep);
}
newViewDate = limitToRange(newViewDate, minDate, maxDate);
datepicker.picker.changeFocus(newViewDate).render();
}
export function switchView(datepicker) {
const viewId = datepicker.picker.currentView.id;
if (viewId === datepicker.config.maxView) {
return;
}
datepicker.picker.changeView(viewId + 1).render();
}
export function unfocus(datepicker) {
if (datepicker.config.updateOnBlur) {
datepicker.update({revert: true});
} else {
datepicker.refresh('input');
}
datepicker.hide();
}

View File

@ -1,195 +0,0 @@
import {isInRange} from '../lib/utils.js';
import {isActiveElement} from '../lib/dom.js';
import {addDays, addMonths, addYears, startOfYearPeriod} from '../lib/date.js';
import {goToPrevOrNext, switchView, unfocus} from './functions.js';
// Find the closest date that doesn't meet the condition for unavailable date
// Returns undefined if no available date is found
// addFn: function to calculate the next date
// - args: time value, amount
// increase: amount to pass to addFn
// testFn: function to test the unavailablity of the date
// - args: time value; retun: true if unavailable
function findNextAvailableOne(date, addFn, increase, testFn, min, max) {
if (!isInRange(date, min, max)) {
return;
}
if (testFn(date)) {
const newDate = addFn(date, increase);
return findNextAvailableOne(newDate, addFn, increase, testFn, min, max);
}
return date;
}
// direction: -1 (left/up), 1 (right/down)
// vertical: true for up/down, false for left/right
function moveByArrowKey(datepicker, ev, direction, vertical) {
const picker = datepicker.picker;
const currentView = picker.currentView;
const step = currentView.step || 1;
let viewDate = picker.viewDate;
let addFn;
let testFn;
switch (currentView.id) {
case 0:
if (vertical) {
viewDate = addDays(viewDate, direction * 7);
} else if (ev.ctrlKey || ev.metaKey) {
viewDate = addYears(viewDate, direction);
} else {
viewDate = addDays(viewDate, direction);
}
addFn = addDays;
testFn = (date) => currentView.disabled.includes(date);
break;
case 1:
viewDate = addMonths(viewDate, vertical ? direction * 4 : direction);
addFn = addMonths;
testFn = (date) => {
const dt = new Date(date);
const {year, disabled} = currentView;
return dt.getFullYear() === year && disabled.includes(dt.getMonth());
};
break;
default:
viewDate = addYears(viewDate, direction * (vertical ? 4 : 1) * step);
addFn = addYears;
testFn = date => currentView.disabled.includes(startOfYearPeriod(date, step));
}
viewDate = findNextAvailableOne(
viewDate,
addFn,
direction < 0 ? -step : step,
testFn,
currentView.minDate,
currentView.maxDate
);
if (viewDate !== undefined) {
picker.changeFocus(viewDate).render();
}
}
export function onKeydown(datepicker, ev) {
const key = ev.key;
if (key === 'Tab') {
unfocus(datepicker);
return;
}
const picker = datepicker.picker;
const {id, isMinView} = picker.currentView;
if (!picker.active) {
if (key === 'ArrowDown') {
picker.show();
} else {
if (key === 'Enter') {
datepicker.update();
} else if (key === 'Escape') {
picker.show();
}
return;
}
} else if (datepicker.editMode) {
if (key === 'Enter') {
datepicker.exitEditMode({update: true, autohide: datepicker.config.autohide});
} else if (key === 'Escape') {
picker.hide();
}
return;
} else {
if (key === 'ArrowLeft') {
if (ev.ctrlKey || ev.metaKey) {
goToPrevOrNext(datepicker, -1);
} else if (ev.shiftKey) {
datepicker.enterEditMode();
return;
} else {
moveByArrowKey(datepicker, ev, -1, false);
}
} else if (key === 'ArrowRight') {
if (ev.ctrlKey || ev.metaKey) {
goToPrevOrNext(datepicker, 1);
} else if (ev.shiftKey) {
datepicker.enterEditMode();
return;
} else {
moveByArrowKey(datepicker, ev, 1, false);
}
} else if (key === 'ArrowUp') {
if (ev.ctrlKey || ev.metaKey) {
switchView(datepicker);
} else if (ev.shiftKey) {
datepicker.enterEditMode();
return;
} else {
moveByArrowKey(datepicker, ev, -1, true);
}
} else if (key === 'ArrowDown') {
if (ev.shiftKey && !ev.ctrlKey && !ev.metaKey) {
datepicker.enterEditMode();
return;
}
moveByArrowKey(datepicker, ev, 1, true);
} else if (key === 'Enter') {
if (isMinView) {
datepicker.setDate(picker.viewDate);
return;
}
picker.changeView(id - 1).render();
} else {
if (key === 'Escape') {
picker.hide();
} else if (
key === 'Backspace'
|| key === 'Delete'
|| (key.length === 1 && !ev.ctrlKey && !ev.metaKey)
) {
datepicker.enterEditMode();
}
return;
}
}
ev.preventDefault();
}
export function onFocus(datepicker) {
if (datepicker.config.showOnFocus && !datepicker._showing) {
datepicker.show();
}
}
// for the prevention for entering edit mode while getting focus on click
export function onMousedown(datepicker, ev) {
const el = ev.target;
if (datepicker.picker.active || datepicker.config.showOnClick) {
el._active = isActiveElement(el);
el._clicking = setTimeout(() => {
delete el._active;
delete el._clicking;
}, 2000);
}
}
export function onClickInput(datepicker, ev) {
const el = ev.target;
if (!el._clicking) {
return;
}
clearTimeout(el._clicking);
delete el._clicking;
if (el._active) {
datepicker.enterEditMode();
}
delete el._active;
if (datepicker.config.showOnClick) {
datepicker.show();
}
}
export function onPaste(datepicker, ev) {
if (ev.clipboardData.types.includes('text/plain')) {
datepicker.enterEditMode();
}
}

View File

@ -1,20 +0,0 @@
import {isActiveElement} from '../lib/dom.js';
import {findElementInEventPath} from '../lib/event.js';
import {unfocus} from './functions.js';
// for the `document` to delegate the events from outside the picker/input field
export function onClickOutside(datepicker, ev) {
const {element, picker} = datepicker;
// check both picker's and input's activeness to make updateOnBlur work in
// the cases where...
// - picker is hidden by ESC key press → input stays focused
// - input is unfocused by closing mobile keyboard → piker is kept shown
if (!picker.active && !isActiveElement(element)) {
return;
}
const pickerElem = picker.element;
if (findElementInEventPath(ev, el => el === element || el === pickerElem)) {
return;
}
unfocus(datepicker);
}

View File

@ -1,68 +0,0 @@
import {today, addMonths, addYears} from '../lib/date.js';
import {findElementInEventPath} from '../lib/event.js';
import {goToPrevOrNext, switchView} from './functions.js';
function goToSelectedMonthOrYear(datepicker, selection) {
const picker = datepicker.picker;
const viewDate = new Date(picker.viewDate);
const viewId = picker.currentView.id;
const newDate = viewId === 1
? addMonths(viewDate, selection - viewDate.getMonth())
: addYears(viewDate, selection - viewDate.getFullYear());
picker.changeFocus(newDate).changeView(viewId - 1).render();
}
export function onClickTodayBtn(datepicker) {
const picker = datepicker.picker;
const currentDate = today();
if (datepicker.config.todayBtnMode === 1) {
if (datepicker.config.autohide) {
datepicker.setDate(currentDate);
return;
}
datepicker.setDate(currentDate, {render: false});
picker.update();
}
if (picker.viewDate !== currentDate) {
picker.changeFocus(currentDate);
}
picker.changeView(0).render();
}
export function onClickClearBtn(datepicker) {
datepicker.setDate({clear: true});
}
export function onClickViewSwitch(datepicker) {
switchView(datepicker);
}
export function onClickPrevBtn(datepicker) {
goToPrevOrNext(datepicker, -1);
}
export function onClickNextBtn(datepicker) {
goToPrevOrNext(datepicker, 1);
}
// For the picker's main block to delegete the events from `datepicker-cell`s
export function onClickView(datepicker, ev) {
const target = findElementInEventPath(ev, '.datepicker-cell');
if (!target || target.classList.contains('disabled')) {
return;
}
const {id, isMinView} = datepicker.picker.currentView;
if (isMinView) {
datepicker.setDate(Number(target.dataset.date));
} else if (id === 1) {
goToSelectedMonthOrYear(datepicker, Number(target.dataset.month));
} else {
goToSelectedMonthOrYear(datepicker, Number(target.dataset.year));
}
}
export function onMousedownPicker(ev) {
ev.preventDefault();
}

View File

@ -1,13 +0,0 @@
// default locales
export const locales = {
en: {
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
today: "Today",
clear: "Clear",
titleFormat: "MM y"
}
};

View File

@ -1,19 +0,0 @@
/**
* Arabic-Algeria translation for bootstrap-datepicker
* Rabah Saadi <infosrabah@gmail.com>
*/
export default {
'ar-DZ': {
days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"],
daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"],
daysMin: ["ح", "ن", "ث", "ع", "خ", "ج", "س", "ح"],
months: ["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],
monthsShort: ["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],
today: "هذا اليوم",
rtl: true,
monthsTitle: "أشهر",
clear: "إزالة",
format: "yyyy/mm/dd",
weekStart: 0
}
};

View File

@ -1,15 +0,0 @@
/**
* Arabic-Tunisia translation for bootstrap-datepicker
* Souhaieb Besbes <besbes.souhaieb@gmail.com>
*/
export default {
'ar-tn': {
days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"],
daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"],
daysMin: ["ح", "ن", "ث", "ع", "خ", "ج", "س", "ح"],
months: ["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],
monthsShort: ["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],
today: "هذا اليوم",
rtl: true
}
};

View File

@ -1,15 +0,0 @@
/**
* Arabic translation for bootstrap-datepicker
* Mohammed Alshehri <alshehri866@gmail.com>
*/
export default {
ar: {
days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"],
daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"],
daysMin: ["ح", "ن", "ث", "ع", "خ", "ج", "س", "ح"],
months: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"],
monthsShort: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"],
today: "هذا اليوم",
rtl: true
}
};

View File

@ -1,14 +0,0 @@
// Azerbaijani
export default {
az: {
days: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə"],
daysShort: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş."],
daysMin: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş."],
months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"],
monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"],
today: "Bu gün",
weekStart: 1,
clear: "Təmizlə",
monthsTitle: 'Aylar'
}
};

View File

@ -1,14 +0,0 @@
/**
* Bulgarian translation for bootstrap-datepicker
* Apostol Apostolov <apostol.s.apostolov@gmail.com>
*/
export default {
bg: {
days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота"],
daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб"],
daysMin: ["Н", "П", "В", "С", "Ч", "П", "С"],
months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"],
monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"],
today: "днес"
}
};

View File

@ -1,18 +0,0 @@
/**
* Bamanankan (bm) translation for bootstrap-datepicker
* Fatou Fall <fatou@medicmobile.org>
*/
export default {
bm: {
days: ["Kari","Ntɛnɛn","Tarata","Araba","Alamisa","Juma","Sibiri"],
daysShort: ["Kar","Ntɛ","Tar","Ara","Ala","Jum","Sib"],
daysMin: ["Ka","Nt","Ta","Ar","Al","Ju","Si"],
months: ["Zanwuyekalo","Fewuruyekalo","Marisikalo","Awirilikalo","Mɛkalo","Zuwɛnkalo","Zuluyekalo","Utikalo","Sɛtanburukalo","ɔkutɔburukalo","Nowanburukalo","Desanburukalo"],
monthsShort: ["Zan","Few","Mar","Awi","Mɛ","Zuw","Zul","Uti","Sɛt","ɔku","Now","Des"],
today: "Bi",
monthsTitle: "Kalo",
clear: "Ka jɔsi",
weekStart: 1,
format: "dd/mm/yyyy"
}
};

View File

@ -1,19 +0,0 @@
/**
* Bengali (Bangla) translation for bootstrap-datepicker
* Karim Khan <kkhancse91@gmail.com>
* Orif N. Jr. <orif.zade@gmail.com>
*/
export default {
bn: {
days: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],
daysShort: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],
daysMin: ["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],
months: ["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],
monthsShort: ["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],
today: "আজ",
monthsTitle: "মাস",
clear: "পরিষ্কার",
weekStart: 0,
format: "mm/dd/yyyy"
}
};

View File

@ -1,18 +0,0 @@
/**
* Breton translation for bootstrap-datepicker
* Gwenn Meynier <tornoz@laposte.net>
*/
export default {
br: {
days: ["Sul", "Lun", "Meurzh", "Merc'her", "Yaou", "Gwener", "Sadorn"],
daysShort: ["Sul", "Lun", "Meu.", "Mer.", "Yao.", "Gwe.", "Sad."],
daysMin: ["Su", "L", "Meu", "Mer", "Y", "G", "Sa"],
months: ["Genver", "C'hwevrer", "Meurzh", "Ebrel", "Mae", "Mezheven", "Gouere", "Eost", "Gwengolo", "Here", "Du", "Kerzu"],
monthsShort: ["Genv.", "C'hw.", "Meur.", "Ebre.", "Mae", "Mezh.", "Goue.", "Eost", "Gwen.", "Here", "Du", "Kerz."],
today: "Hiziv",
monthsTitle: "Miz",
clear: "Dilemel",
weekStart: 1,
format: "dd/mm/yyyy"
}
};

View File

@ -1,15 +0,0 @@
/**
* Bosnian translation for bootstrap-datepicker
*/
export default {
bs: {
days: ["Nedjelja","Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota"],
daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"],
daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su"],
months: ["Januar", "Februar", "Mart", "April", "Maj", "Juni", "Juli", "August", "Septembar", "Oktobar", "Novembar", "Decembar"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
today: "Danas",
weekStart: 1,
format: "dd.mm.yyyy"
}
};

View File

@ -1,18 +0,0 @@
/**
* Catalan translation for bootstrap-datepicker
* J. Garcia <jogaco.en@gmail.com>
*/
export default {
ca: {
days: ["diumenge", "dilluns", "dimarts", "dimecres", "dijous", "divendres", "dissabte"],
daysShort: ["dg.", "dl.", "dt.", "dc.", "dj.", "dv.", "ds."],
daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds"],
months: ["gener", "febrer", "març", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre", "desembre"],
monthsShort: ["gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."],
today: "Avui",
monthsTitle: "Mesos",
clear: "Esborra",
weekStart: 1,
format: "dd/mm/yyyy"
}
};

View File

@ -1,19 +0,0 @@
/**
* Czech translation for bootstrap-datepicker
* Matěj Koubík <matej@koubik.name>
* Fixes by Michal Remiš <michal.remis@gmail.com>
*/
export default {
cs: {
days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"],
daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob"],
daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"],
months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"],
monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"],
today: "Dnes",
clear: "Vymazat",
monthsTitle: "Měsíc",
weekStart: 1,
format: "dd.mm.yyyy"
}
};

View File

@ -1,14 +0,0 @@
/**
* Welsh translation for bootstrap-datepicker
* S. Morris <s.morris@bangor.ac.uk>
*/
export default {
cy: {
days: ["Sul", "Llun", "Mawrth", "Mercher", "Iau", "Gwener", "Sadwrn"],
daysShort: ["Sul", "Llu", "Maw", "Mer", "Iau", "Gwe", "Sad"],
daysMin: ["Su", "Ll", "Ma", "Me", "Ia", "Gwe", "Sa"],
months: ["Ionawr", "Chewfror", "Mawrth", "Ebrill", "Mai", "Mehefin", "Gorfennaf", "Awst", "Medi", "Hydref", "Tachwedd", "Rhagfyr"],
monthsShort: ["Ion", "Chw", "Maw", "Ebr", "Mai", "Meh", "Gor", "Aws", "Med", "Hyd", "Tach", "Rha"],
today: "Heddiw"
}
};

View File

@ -1,19 +0,0 @@
/**
* Danish translation for bootstrap-datepicker
* Christian Pedersen <https: //github.com/chripede>
* Ivan Mylyanyk <https: //github.com/imylyanyk>
*/
export default {
da: {
days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"],
daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"],
daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø"],
months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
today: "I Dag",
weekStart: 1,
clear: "Nulstil",
format: "dd/mm/yyyy",
monthsTitle: "Måneder"
}
};

View File

@ -1,18 +0,0 @@
/**
* German translation for bootstrap-datepicker
* Sam Zurcher <sam@orelias.ch>
*/
export default {
de: {
days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"],
daysShort: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"],
today: "Heute",
monthsTitle: "Monate",
clear: "Löschen",
weekStart: 1,
format: "dd.mm.yyyy"
}
};

View File

@ -1,16 +0,0 @@
/**
* Greek translation for bootstrap-datepicker
*/
export default {
el: {
days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"],
daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ"],
daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα"],
months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"],
monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"],
today: "Σήμερα",
clear: "Καθαρισμός",
weekStart: 1,
format: "d/m/yyyy"
}
};

View File

@ -1,18 +0,0 @@
/**
* Australian English translation for bootstrap-datepicker
* Steve Chapman <steven.p.chapman@gmail.com>
*/
export default {
'en-AU': {
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
today: "Today",
monthsTitle: "Months",
clear: "Clear",
weekStart: 1,
format: "d/mm/yyyy"
}
};

View File

@ -1,18 +0,0 @@
/**
* Canadian English translation for bootstrap-datepicker
* Mike Nacey <mnacey@gmail.com>
*/
export default {
'en-CA': {
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
today: "Today",
monthsTitle: "Months",
clear: "Clear",
weekStart: 0,
format: "yyyy-mm-dd"
}
};

View File

@ -1,18 +0,0 @@
/**
* British English translation for bootstrap-datepicker
* Xavier Dutreilh <xavier@dutreilh.com>
*/
export default {
'en-GB': {
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
today: "Today",
monthsTitle: "Months",
clear: "Clear",
weekStart: 1,
format: "dd/mm/yyyy"
}
};

View File

@ -1,17 +0,0 @@
/**
* Irish English translation for bootstrap-datepicker
*/
export default {
'en-IE': {
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
today: "Today",
monthsTitle: "Months",
clear: "Clear",
weekStart: 1,
format: "dd/mm/yyyy"
}
};

View File

@ -1,17 +0,0 @@
/**
* New Zealand English translation for bootstrap-datepicker
*/
export default {
'en-NZ': {
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
today: "Today",
monthsTitle: "Months",
clear: "Clear",
weekStart: 1,
format: "d/mm/yyyy"
}
};

View File

@ -1,17 +0,0 @@
/**
* South African English translation for bootstrap-datepicker
*/
export default {
'en-ZA': {
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
today: "Today",
monthsTitle: "Months",
clear: "Clear",
weekStart: 1,
format: "yyyy/mm/d"
}
};

View File

@ -1,17 +0,0 @@
/**
* Esperanto translation for bootstrap-datepicker
* Emmanuel Debanne <https: //github.com/debanne>
*/
export default {
eo: {
days: ["dimanĉo", "lundo", "mardo", "merkredo", "ĵaŭdo", "vendredo", "sabato"],
daysShort: ["dim.", "lun.", "mar.", "mer.", "ĵaŭ.", "ven.", "sam."],
daysMin: ["d", "l", "ma", "me", "ĵ", "v", "s"],
months: ["januaro", "februaro", "marto", "aprilo", "majo", "junio", "julio", "aŭgusto", "septembro", "oktobro", "novembro", "decembro"],
monthsShort: ["jan.", "feb.", "mar.", "apr.", "majo", "jun.", "jul.", "aŭg.", "sep.", "okt.", "nov.", "dec."],
today: "Hodiaŭ",
clear: "Nuligi",
weekStart: 1,
format: "yyyy-mm-dd"
}
};

View File

@ -1,18 +0,0 @@
/**
* Spanish translation for bootstrap-datepicker
* Bruno Bonamin <bruno.bonamin@gmail.com>
*/
export default {
es: {
days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"],
daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"],
daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"],
months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
today: "Hoy",
monthsTitle: "Meses",
clear: "Borrar",
weekStart: 1,
format: "dd/mm/yyyy"
}
};

View File

@ -1,18 +0,0 @@
/**
* Estonian translation for bootstrap-datepicker
* Ando Roots <https: //github.com/anroots>
* Fixes by Illimar Tambek <<https: //github.com/ragulka>
*/
export default {
et: {
days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev"],
daysShort: ["Pühap", "Esmasp", "Teisip", "Kolmap", "Neljap", "Reede", "Laup"],
daysMin: ["P", "E", "T", "K", "N", "R", "L"],
months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"],
monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"],
today: "Täna",
clear: "Tühjenda",
weekStart: 1,
format: "dd.mm.yyyy"
}
};

View File

@ -1,18 +0,0 @@
/**
* Basque translation for bootstrap-datepicker
* Arkaitz Etxeberria <kondi80@gmail.com>
*/
export default {
eu: {
days: ['Igandea', 'Astelehena', 'Asteartea', 'Asteazkena', 'Osteguna', 'Ostirala', 'Larunbata'],
daysShort: ['Ig', 'Al', 'Ar', 'Az', 'Og', 'Ol', 'Lr'],
daysMin: ['Ig', 'Al', 'Ar', 'Az', 'Og', 'Ol', 'Lr'],
months: ['Urtarrila', 'Otsaila', 'Martxoa', 'Apirila', 'Maiatza', 'Ekaina', 'Uztaila', 'Abuztua', 'Iraila', 'Urria', 'Azaroa', 'Abendua'],
monthsShort: ['Urt', 'Ots', 'Mar', 'Api', 'Mai', 'Eka', 'Uzt', 'Abu', 'Ira', 'Urr', 'Aza', 'Abe'],
today: "Gaur",
monthsTitle: "Hilabeteak",
clear: "Ezabatu",
weekStart: 1,
format: "yyyy/mm/dd"
}
};

View File

@ -1,17 +0,0 @@
/**
* Persian translation for bootstrap-datepicker
* Mostafa Rokooie <mostafa.rokooie@gmail.com>
*/
export default {
fa: {
days: ["یک‌شنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه", "یک‌شنبه"],
daysShort: ["یک", "دو", "سه", "چهار", "پنج", "جمعه", "شنبه", "یک"],
daysMin: ["ی", "د", "س", "چ", "پ", "ج", "ش", "ی"],
months: ["ژانویه", "فوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"],
monthsShort: ["ژان", "فور", "مار", "آور", "مه", "ژون", "ژوی", "اوت", "سپت", "اکت", "نوا", "دسا"],
today: "امروز",
clear: "پاک کن",
weekStart: 1,
format: "yyyy/mm/dd"
}
};

View File

@ -1,17 +0,0 @@
/**
* Finnish translation for bootstrap-datepicker
* Jaakko Salonen <https: //github.com/jsalonen>
*/
export default {
fi: {
days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai"],
daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau"],
daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la"],
months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"],
monthsShort: ["tammi", "helmi", "maalis", "huhti", "touko", "kesä", "heinä", "elo", "syys", "loka", "marras", "joulu"],
today: "tänään",
clear: "Tyhjennä",
weekStart: 1,
format: "d.m.yyyy"
}
};

View File

@ -1,15 +0,0 @@
/**
* Faroese translation for bootstrap-datepicker
* Theodor Johannesen <https: //github.com/theodorjohannesen>
*/
export default {
fo: {
days: ["Sunnudagur", "Mánadagur", "Týsdagur", "Mikudagur", "Hósdagur", "Fríggjadagur", "Leygardagur"],
daysShort: ["Sun", "Mán", "Týs", "Mik", "Hós", "Frí", "Ley"],
daysMin: ["Su", "Má", "Tý", "Mi", "Hó", "Fr", "Le"],
months: ["Januar", "Februar", "Marts", "Apríl", "Mei", "Juni", "Juli", "August", "Septembur", "Oktobur", "Novembur", "Desembur"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"],
today: "Í Dag",
clear: "Reinsa"
}
};

View File

@ -1,21 +0,0 @@
/**
* French (Switzerland) translation for bootstrap-datepicker
* Christoph Jossi <c.jossi@ascami.ch>
* Based on
* French translation for bootstrap-datepicker
* Nico Mollet <nico.mollet@gmail.com>
*/
export default {
'fr-CH': {
days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"],
daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"],
daysMin: ["D", "L", "Ma", "Me", "J", "V", "S"],
months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
monthsShort: ["Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Déc"],
today: "Aujourd'hui",
monthsTitle: "Mois",
clear: "Effacer",
weekStart: 1,
format: "dd.mm.yyyy"
}
};

View File

@ -1,18 +0,0 @@
/**
* French translation for bootstrap-datepicker
* Nico Mollet <nico.mollet@gmail.com>
*/
export default {
fr: {
days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"],
daysShort: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."],
daysMin: ["d", "l", "ma", "me", "j", "v", "s"],
months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"],
monthsShort: ["janv.", "févr.", "mars", "avril", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."],
today: "Aujourd'hui",
monthsTitle: "Mois",
clear: "Effacer",
weekStart: 1,
format: "dd/mm/yyyy"
}
};

View File

@ -1,16 +0,0 @@
/**
* Galician translation
*/
export default {
gl: {
days: ["Domingo", "Luns", "Martes", "Mércores", "Xoves", "Venres", "Sábado"],
daysShort: ["Dom", "Lun", "Mar", "Mér", "Xov", "Ven", "Sáb"],
daysMin: ["Do", "Lu", "Ma", "Me", "Xo", "Ve", "Sa"],
months: ["Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xuño", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro"],
monthsShort: ["Xan", "Feb", "Mar", "Abr", "Mai", "Xun", "Xul", "Ago", "Sep", "Out", "Nov", "Dec"],
today: "Hoxe",
clear: "Limpar",
weekStart: 1,
format: "dd/mm/yyyy"
}
};

View File

@ -1,15 +0,0 @@
/**
* Hebrew translation for bootstrap-datepicker
* Sagie Maoz <sagie@maoz.info>
*/
export default {
he: {
days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"],
daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"],
daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"],
months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"],
monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"],
today: "היום",
rtl: true
}
};

View File

@ -1,18 +0,0 @@
/**
* Hindi translation for bootstrap-datepicker
* Visar Uruqi <visar.uruqi@gmail.com>
*/
export default {
hi: {
days: ["रविवार", "सोमवार", "मंगलवार", "बुधवार", "गुरुवार", "शुक्रवार", "शनिवार"],
daysShort: ["सूर्य", "सोम", "मंगल", "बुध", "गुरु", "शुक्र", "शनि"],
daysMin: ["र", "सो", "मं", "बु", "गु", "शु", "श"],
months: ["जनवरी", "फ़रवरी", "मार्च", "अप्रैल", "मई", "जून", "जुलाई", "अगस्त", "सितम्बर", "अक्टूबर", "नवंबर", "दिसम्बर"],
monthsShort: ["जन", "फ़रवरी", "मार्च", "अप्रैल", "मई", "जून", "जुलाई", "अगस्त", "सितं", "अक्टूबर", "नवं", "दिसम्बर"],
today: "आज",
monthsTitle: "महीने",
clear: "साफ",
weekStart: 1,
format: "dd / mm / yyyy"
}
};

View File

@ -1,13 +0,0 @@
/**
* Croatian localisation
*/
export default {
hr: {
days: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota"],
daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"],
daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su"],
months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"],
monthsShort: ["Sij", "Velj", "Ožu", "Tra", "Svi", "Lip", "Srp", "Kol", "Ruj", "Lis", "Stu", "Pro"],
today: "Danas"
}
};

View File

@ -1,18 +0,0 @@
/**
* Hungarian translation for bootstrap-datepicker
* Sotus László <lacisan@gmail.com>
*/
export default {
hu: {
days: ["vasárnap", "hétfő", "kedd", "szerda", "csütörtök", "péntek", "szombat"],
daysShort: ["vas", "hét", "ked", "sze", "csü", "pén", "szo"],
daysMin: ["V", "H", "K", "Sze", "Cs", "P", "Szo"],
months: ["január", "február", "március", "április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december"],
monthsShort: ["jan", "feb", "már", "ápr", "máj", "jún", "júl", "aug", "sze", "okt", "nov", "dec"],
today: "ma",
weekStart: 1,
clear: "töröl",
titleFormat: "y. MM",
format: "yyyy.mm.dd"
}
};

View File

@ -1,18 +0,0 @@
/**
* Armenian translation for bootstrap-datepicker
* Hayk Chamyan <hamshen@gmail.com>
*/
export default {
hy: {
days: ["Կիրակի", "Երկուշաբթի", "Երեքշաբթի", "Չորեքշաբթի", "Հինգշաբթի", "Ուրբաթ", "Շաբաթ"],
daysShort: ["Կիր", "Երկ", "Երե", "Չոր", "Հին", "Ուրբ", "Շաբ"],
daysMin: ["Կի", "Եկ", "Եք", "Չո", "Հի", "Ու", "Շա"],
months: ["Հունվար", "Փետրվար", "Մարտ", "Ապրիլ", "Մայիս", "Հունիս", "Հուլիս", "Օգոստոս", "Սեպտեմբեր", "Հոկտեմբեր", "Նոյեմբեր", "Դեկտեմբեր"],
monthsShort: ["Հնվ", "Փետ", "Մար", "Ապր", "Մայ", "Հուն", "Հուլ", "Օգս", "Սեպ", "Հոկ", "Նոյ", "Դեկ"],
today: "Այսօր",
clear: "Ջնջել",
format: "dd.mm.yyyy",
weekStart: 1,
monthsTitle: 'Ամիսնէր'
}
};

View File

@ -1,19 +0,0 @@
/**
* Bahasa translation for bootstrap-datepicker
* Azwar Akbar <azwar.akbar@gmail.com>
* Ardeman <mail@ardeman.com>
*/
export default {
id: {
days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"],
daysShort: ["Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"],
daysMin: ["Mg", "Sn", "Sl", "Rb", "Km", "Jm", "Sb"],
months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agt", "Sep", "Okt", "Nov", "Des"],
today: "Hari Ini",
monthsTitle: "Bulan",
clear: "Kosongkan",
weekStart: 0,
format: "dd-mm-yyyy"
}
};

View File

@ -1,14 +0,0 @@
/**
* Icelandic translation for bootstrap-datepicker
* Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
*/
export default {
is: {
days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur"],
daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau"],
daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La"],
months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"],
today: "Í Dag"
}
};

View File

@ -1,20 +0,0 @@
/**
* Italian (Switzerland) translation for bootstrap-datepicker
* Christoph Jossi <c.jossi@ascami.ch>
* Based on
* Italian translation for bootstrap-datepicker
* Enrico Rubboli <rubboli@gmail.com>
*/
export default {
'it-CH': {
days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"],
daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"],
daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa"],
months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"],
monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"],
today: "Oggi",
clear: "Cancella",
weekStart: 1,
format: "dd.mm.yyyy"
}
};

View File

@ -1,18 +0,0 @@
/**
* Italian translation for bootstrap-datepicker
* Enrico Rubboli <rubboli@gmail.com>
*/
export default {
it: {
days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"],
daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"],
daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa"],
months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"],
monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"],
today: "Oggi",
monthsTitle: "Mesi",
clear: "Cancella",
weekStart: 1,
format: "dd/mm/yyyy"
}
};

View File

@ -1,17 +0,0 @@
/**
* Japanese translation for bootstrap-datepicker
* Norio Suzuki <https: //github.com/suzuki/>
*/
export default {
ja: {
days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜"],
daysShort: ["日", "月", "火", "水", "木", "金", "土"],
daysMin: ["日", "月", "火", "水", "木", "金", "土"],
months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
today: "今日",
format: "yyyy/mm/dd",
titleFormat: "y年mm月",
clear: "クリア"
}
};

View File

@ -1,17 +0,0 @@
/**
* Georgian translation for bootstrap-datepicker
* Levan Melikishvili <levani0101@yahoo.com>
*/
export default {
ka: {
days: ["კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი"],
daysShort: ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ"],
daysMin: ["კვ", "ორ", "სა", "ოთ", "ხუ", "პა", "შა"],
months: ["იანვარი", "თებერვალი", "მარტი", "აპრილი", "მაისი", "ივნისი", "ივლისი", "აგვისტო", "სექტემბერი", "ოქტომბერი", "ნოემბერი", "დეკემბერი"],
monthsShort: ["იან", "თებ", "მარ", "აპრ", "მაი", "ივნ", "ივლ", "აგვ", "სექ", "ოქტ", "ნოე", "დეკ"],
today: "დღეს",
clear: "გასუფთავება",
weekStart: 1,
format: "dd.mm.yyyy"
}
};

View File

@ -1,15 +0,0 @@
/**
* Kazakh translation for bootstrap-datepicker
* Yerzhan Tolekov <era.tolekov@gmail.com>
*/
export default {
kk: {
days: ["Жексенбі", "Дүйсенбі", "Сейсенбі", "Сәрсенбі", "Бейсенбі", "Жұма", "Сенбі"],
daysShort: ["Жек", "Дүй", "Сей", "Сәр", "Бей", "Жұм", "Сен"],
daysMin: ["Жк", "Дс", "Сс", "Ср", "Бс", "Жм", "Сн"],
months: ["Қаңтар", "Ақпан", "Наурыз", "Сәуір", "Мамыр", "Маусым", "Шілде", "Тамыз", "Қыркүйек", "Қазан", "Қараша", "Желтоқсан"],
monthsShort: ["Қаң", "Ақп", "Нау", "Сәу", "Мам", "Мау", "Шіл", "Там", "Қыр", "Қаз", "Қар", "Жел"],
today: "Бүгін",
weekStart: 1
}
};

View File

@ -1,15 +0,0 @@
/**
* Khmer translation for bootstrap-datepicker
* This is the Updated Version of: https: //github.com/uxsolutions/bootstrap-datepicker/blob/71308d42cce9524284c50c6fac50422d1790ac0f/js/locales/bootstrap-datepicker.kh.js
*/
export default {
km: {
days: ["អាទិត្យ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍"],
daysShort: ["អា.ទិ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រ.ហ", "សុក្រ", "សៅរ៍"],
daysMin: ["អា.ទិ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រ.ហ", "សុក្រ", "សៅរ៍"],
months: ["មករា", "កុម្ភះ", "មិនា", "មេសា", "ឧសភា", "មិថុនា", "កក្កដា", "សីហា", "កញ្ញា", "តុលា", "វិច្ឆិកា", "ធ្នូ"],
monthsShort: ["មករា", "កុម្ភះ", "មិនា", "មេសា", "ឧសភា", "មិថុនា", "កក្កដា", "សីហា", "កញ្ញា", "តុលា", "វិច្ឆិកា", "ធ្នូ"],
today: "ថ្ងៃនេះ",
clear: "សំអាត"
}
};

View File

@ -1,18 +0,0 @@
/**
* Korean translation for bootstrap-datepicker
* This is a port from https: //github.com/moment/moment/blob/develop/src/locale/ko.js
*/
export default {
ko: {
days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"],
daysShort: ["일", "월", "화", "수", "목", "금", "토"],
daysMin: ["일", "월", "화", "수", "목", "금", "토"],
months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
today: "오늘",
clear: "삭제",
format: "yyyy-mm-dd",
titleFormat: "y년mm월",
weekStart: 0
}
};

View File

@ -1,19 +0,0 @@
/**
* Lithuanian translation for bootstrap-datepicker
* Šarūnas Gliebus <ssharunas@yahoo.co.uk>
*/
export default {
lt: {
days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis"],
daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š"],
daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št"],
months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"],
monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"],
today: "Šiandien",
monthsTitle: "Mėnesiai",
clear: "Išvalyti",
weekStart: 1,
format: "yyyy-mm-dd"
}
};

View File

@ -1,18 +0,0 @@
/**
* Latvian translation for bootstrap-datepicker
* Artis Avotins <artis@apit.lv>
*/
export default {
lv: {
days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena"],
daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S"],
daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "Se"],
months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec"],
monthsTitle: "Mēneši",
today: "Šodien",
clear: "Nodzēst",
weekStart: 1
}
};

View File

@ -1,17 +0,0 @@
/**
* Montenegrin translation for bootstrap-datepicker
* Miodrag Nikač <miodrag@restartit.me>
*/
export default {
me: {
days: ["Nedjelja","Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota"],
daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"],
daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su"],
months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"],
today: "Danas",
weekStart: 1,
clear: "Izbriši",
format: "dd.mm.yyyy"
}
};

View File

@ -1,15 +0,0 @@
/**
* Macedonian translation for bootstrap-datepicker
* Marko Aleksic <psybaron@gmail.com>
*/
export default {
mk: {
days: ["Недела", "Понеделник", "Вторник", "Среда", "Четврток", "Петок", "Сабота"],
daysShort: ["Нед", "Пон", "Вто", "Сре", "Чет", "Пет", "Саб"],
daysMin: ["Не", "По", "Вт", "Ср", "Че", "Пе", "Са"],
months: ["Јануари", "Февруари", "Март", "Април", "Мај", "Јуни", "Јули", "Август", "Септември", "Октомври", "Ноември", "Декември"],
monthsShort: ["Јан", "Фев", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Ное", "Дек"],
today: "Денес",
format: "dd.mm.yyyy"
}
};

View File

@ -1,17 +0,0 @@
/**
* Mongolian translation for bootstrap-datepicker
* Andrey Torsunov <andrey.torsunov@gmail.com>
*/
export default {
mn: {
days: ["Ням", "Даваа", "Мягмар", "Лхагва", "Пүрэв", "Баасан", "Бямба"],
daysShort: ["Ням", "Дав", "Мяг", "Лха", "Пүр", "Баа", "Бям"],
daysMin: ["Ня", "Да", "Мя", "Лх", "Пү", "Ба", "Бя"],
months: ["Хулгана", "Үхэр", "Бар", "Туулай", "Луу", "Могой", "Морь", "Хонь", "Бич", "Тахиа", "Нохой", "Гахай"],
monthsShort: ["Хул", "Үхэ", "Бар", "Туу", "Луу", "Мог", "Мор", "Хон", "Бич", "Тах", "Нох", "Гах"],
today: "Өнөөдөр",
clear: "Тодорхой",
format: "yyyy.mm.dd",
weekStart: 1
}
};

View File

@ -1,18 +0,0 @@
/**
* Marathi translation for bootstrap-datepicker
* Sushant Pimple <pimplesushant@gmail.com>
*/
export default {
mr: {
days: ["रविवार", "सोमवार", "मंगळवार", "बुधवार", "गुरुवार", "शुक्रवार", "शनिवार"],
daysShort: ["रवि", "सोम", "मंगळ", "बुध", "गुरु", "शुक्र", "शनि"],
daysMin: ["र", "सो", "मं", "बु", "गु", "शु", "श"],
months: ["जानेवारी", "फेब्रुवारी", "मार्च", "एप्रिल", "मे", "जून", "जुलै", "ऑगस्ट", "सप्टेंबर", "ऑक्टोबर", "नोव्हेंबर", "डिसेंबर"],
monthsShort: ["जाने.", "फेब्रु.", "मार्च", "एप्रिल", "मे", "जून", "जुलै", "ऑगस्ट", "सप्टें.", "ऑक्टो.", "नोव्हें.", "डिसें."],
today: "आज",
monthsTitle: "महीने",
clear: "हटवा",
weekStart: 1,
format: "dd / mm / yyyy"
}
};

View File

@ -1,15 +0,0 @@
/**
* Malay translation for bootstrap-datepicker
* Ateman Faiz <noorulfaiz@gmail.com>
*/
export default {
ms: {
days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu"],
daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab"],
daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa"],
months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"],
today: "Hari Ini",
clear: "Bersihkan"
}
};

View File

@ -1,18 +0,0 @@
/**
* Belgium-Dutch translation for bootstrap-datepicker
* Julien Poulin <poulin_julien@hotmail.com>
*/
export default {
'nl-BE': {
days: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"],
daysShort: ["zo", "ma", "di", "wo", "do", "vr", "za"],
daysMin: ["zo", "ma", "di", "wo", "do", "vr", "za"],
months: ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"],
monthsShort: ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"],
today: "Vandaag",
monthsTitle: "Maanden",
clear: "Leegmaken",
weekStart: 1,
format: "dd/mm/yyyy"
}
};

View File

@ -1,18 +0,0 @@
/**
* Dutch translation for bootstrap-datepicker
* Reinier Goltstein <mrgoltstein@gmail.com>
*/
export default {
nl: {
days: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"],
daysShort: ["zo", "ma", "di", "wo", "do", "vr", "za"],
daysMin: ["zo", "ma", "di", "wo", "do", "vr", "za"],
months: ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"],
monthsShort: ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"],
today: "Vandaag",
monthsTitle: "Maanden",
clear: "Wissen",
weekStart: 1,
format: "dd-mm-yyyy"
}
};

View File

@ -1,18 +0,0 @@
/**
* Norwegian translation for bootstrap-datepicker
* George Gooding <george@nettsentrisk.no>
*/
export default {
no: {
days: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'],
daysShort: ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'],
daysMin: ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'],
months: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'],
monthsShort: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'],
today: 'i dag',
monthsTitle: 'Måneder',
clear: 'Nullstill',
weekStart: 1,
format: 'dd.mm.yyyy'
}
};

View File

@ -1,17 +0,0 @@
/**
* Occitan translation for bootstrap-datepicker
*/
export default {
oc: {
days: ["Dimenge", "Diluns", "Dimars", "Dimècres", "Dijòus", "Divendres", "Dissabte"],
daysShort: ["Dim", "Dil", "Dmr", "Dmc", "Dij", "Div", "Dis"],
daysMin: ["dg", "dl", "dr", "dc", "dj", "dv", "ds"],
months: ["Genièr", "Febrièr", "Març", "Abrial", "Mai", "Junh", "Julhet", "Agost", "Setembre", "Octobre", "Novembre", "Decembre"],
monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Dec"],
today: "Uèi",
monthsTitle: "Meses",
clear: "Escafar",
weekStart: 1,
format: "dd/mm/yyyy"
}
};

View File

@ -1,17 +0,0 @@
/**
* Polish translation for bootstrap-datepicker
* Robert <rtpm@gazeta.pl>
*/
export default {
pl: {
days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"],
daysShort: ["Niedz.", "Pon.", "Wt.", "Śr.", "Czw.", "Piąt.", "Sob."],
daysMin: ["Ndz.", "Pn.", "Wt.", "Śr.", "Czw.", "Pt.", "Sob."],
months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"],
monthsShort: ["Sty.", "Lut.", "Mar.", "Kwi.", "Maj", "Cze.", "Lip.", "Sie.", "Wrz.", "Paź.", "Lis.", "Gru."],
today: "Dzisiaj",
weekStart: 1,
clear: "Wyczyść",
format: "dd.mm.yyyy"
}
};

View File

@ -1,17 +0,0 @@
/**
* Brazilian translation for bootstrap-datepicker
* Cauan Cabral <cauan@radig.com.br>
*/
export default {
'pt-BR': {
days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"],
daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"],
daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa"],
months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"],
monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"],
today: "Hoje",
monthsTitle: "Meses",
clear: "Limpar",
format: "dd/mm/yyyy"
}
};

View File

@ -1,18 +0,0 @@
/**
* Portuguese translation for bootstrap-datepicker
* Original code: Cauan Cabral <cauan@radig.com.br>
* Tiago Melo <tiago.blackcode@gmail.com>
*/
export default {
pt: {
days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"],
daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"],
daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa"],
months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"],
monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"],
today: "Hoje",
monthsTitle: "Meses",
clear: "Limpar",
format: "dd/mm/yyyy"
}
};

View File

@ -1,17 +0,0 @@
/**
* Romanian translation for bootstrap-datepicker
* Cristian Vasile <cristi.mie@gmail.com>
*/
export default {
ro: {
days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă"],
daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm"],
daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ"],
months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"],
monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"],
today: "Astăzi",
clear: "Șterge",
weekStart: 1,
format: "dd/mm/yyyy"
}
};

View File

@ -1,18 +0,0 @@
/**
* Russian translation for bootstrap-datepicker
* Victor Taranenko <darwin@snowdale.com>
*/
export default {
ru: {
days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"],
daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб"],
daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"],
monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"],
today: "Сегодня",
clear: "Очистить",
format: "dd.mm.yyyy",
weekStart: 1,
monthsTitle: 'Месяцы'
}
};

View File

@ -1,18 +0,0 @@
/**
* Sinhala translation for bootstrap-datepicker
* Chanaka Fernando <chanaka.fernando@hotmail.com>
*/
export default {
si: {
days: ["ඉරිදා", "සඳුදා", "අඟහරුවාදා", "බදාදා", "බ්‍රහස්පතින්දා", "සිකුරාදා", "සෙනසුරාදා"],
daysShort: ["ඉරි", "සඳු", "අඟ", "බදා", "බ්‍රහ", "සිකු", "සෙන"],
daysMin: ["ඉ", "ස", "අ", "බ", "බ්‍ර", "සි", "සෙ"],
months: ["ජනවාරි", "පෙබරවාරි", "මාර්තු", "අප්‍රේල්", "මැයි", "ජුනි", "ජූලි", "අගෝස්තු", "සැප්තැම්බර්", "ඔක්තෝබර්", "නොවැම්බර්", "දෙසැම්බර්"],
monthsShort: ["ජන", "පෙබ", "මාර්", "අප්‍රේ", "මැයි", "ජුනි", "ජූලි", "අගෝ", "සැප්", "ඔක්", "නොවැ", "දෙසැ"],
today: "අද",
monthsTitle: "මාස",
clear: "මකන්න",
weekStart: 0,
format: "yyyy-mm-dd"
}
};

View File

@ -1,18 +0,0 @@
/**
* Slovak translation for bootstrap-datepicker
* Marek Lichtner <marek@licht.sk>
* Fixes by Michal Remiš <michal.remis@gmail.com>
*/
export default {
sk: {
days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"],
daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob"],
daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pia", "So"],
months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"],
today: "Dnes",
clear: "Vymazať",
weekStart: 1,
format: "d.m.yyyy"
}
};

View File

@ -1,15 +0,0 @@
/**
* Slovene translation for bootstrap-datepicker
* Gregor Rudolf <gregor.rudolf@gmail.com>
*/
export default {
sl: {
days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"],
daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob"],
daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So"],
months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"],
today: "Danes",
weekStart: 1
}
};

View File

@ -1,18 +0,0 @@
/**
* Albanian translation for bootstrap-datepicker
* Tomor Pupovci <https: //www.github.com/ttomor>
*/
export default {
sq: {
days: ["E Diel", "E Hënë", "E Martē", "E Mërkurë", "E Enjte", "E Premte", "E Shtunë"],
daysShort: ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Shtu"],
daysMin: ["Di", "Hë", "Ma", "Më", "En", "Pr", "Sht"],
months: ["Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor"],
monthsShort: ["Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Korr", "Gu", "Sht", "Tet", "Nën", "Dhjet"],
monthsTitle: "Muaj",
today: "Sot",
weekStart: 1,
format: "dd/mm/yyyy",
clear: "Pastro"
}
};

View File

@ -1,16 +0,0 @@
/**
* Serbian latin translation for bootstrap-datepicker
* Bojan Milosavlević <milboj@gmail.com>
*/
export default {
'sr-latn': {
days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota"],
daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub"],
daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su"],
months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"],
today: "Danas",
weekStart: 1,
format: "dd.mm.yyyy"
}
};

View File

@ -1,16 +0,0 @@
/**
* Serbian cyrillic translation for bootstrap-datepicker
* Bojan Milosavlević <milboj@gmail.com>
*/
export default {
sr: {
days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота"],
daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб"],
daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су"],
months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"],
monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"],
today: "Данас",
weekStart: 1,
format: "dd.mm.yyyy"
}
};

View File

@ -1,17 +0,0 @@
/**
* Swedish translation for bootstrap-datepicker
* Patrik Ragnarsson <patrik@starkast.net>
*/
export default {
sv: {
days: ["söndag", "måndag", "tisdag", "onsdag", "torsdag", "fredag", "lördag"],
daysShort: ["sön", "mån", "tis", "ons", "tor", "fre", "lör"],
daysMin: ["sö", "må", "ti", "on", "to", "fr", "lö"],
months: ["januari", "februari", "mars", "april", "maj", "juni", "juli", "augusti", "september", "oktober", "november", "december"],
monthsShort: ["jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"],
today: "Idag",
format: "yyyy-mm-dd",
weekStart: 1,
clear: "Rensa"
}
};

View File

@ -1,15 +0,0 @@
/**
* Swahili translation for bootstrap-datepicker
* Edwin Mugendi <https: //github.com/edwinmugendi>
* Source: http: //scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku
*/
export default {
sw: {
days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi"],
daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1"],
daysMin: ["2", "3", "4", "5", "A", "I", "1"],
months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"],
monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"],
today: "Leo"
}
};

View File

@ -1,18 +0,0 @@
/**
* Tamil translation for bootstrap-datepicker
* Abubacker Siddik A <abuabdul86@hotmail.com>
*/
export default {
ta: {
days: ["ஞாயிறு", "திங்கள்", "செவ்வாய்", "புதன்", "வியாழன்", "வெள்ளி", "சனி"],
daysShort: ["ஞாயி", "திங்", "செவ்", "புத", "வியா", "வெள்", "சனி"],
daysMin: ["ஞா", "தி", "செ", "பு", "வி", "வெ", "ச"],
months: ["ஜனவரி", "பிப்ரவரி", "மார்ச்", "ஏப்ரல்", "மே", "ஜூன்", "ஜூலை", "ஆகஸ்டு", "செப்டம்பர்", "அக்டோபர்", "நவம்பர்", "டிசம்பர்"],
monthsShort: ["ஜன", "பிப்", "மார்", "ஏப்", "மே", "ஜூன்", "ஜூலை", "ஆக", "செப்", "அக்", "நவ", "டிச"],
today: "இன்று",
monthsTitle: "மாதங்கள்",
clear: "நீக்கு",
weekStart: 1,
format: "dd/mm/yyyy"
}
};

View File

@ -1,19 +0,0 @@
/**
* Tajik (cyrillic) translation for bootstrap-datepicker
* Bakhtiyor Bahritidinov <i@bakhtiyor.tj>
* Orif N. Jr. <orif.zade@gmail.com>
*/
export default {
tg: {
days: ["Якшанбе", "Душанбе", "Сешанбе", "Чоршанбе", "Панҷшанбе", "Ҷумъа", "Шанбе"],
daysShort: ["Яшб", "Дшб", "Сшб", "Чшб", "Пшб", "Ҷум", "Шнб"],
daysMin: ["Яш", "Дш", "Сш", "Чш", "Пш", "Ҷм", "Шб"],
months: ["Январ", "Феврал", "Март", "Апрел", "Май", "Июн", "Июл", "Август", "Сентябр", "Октябр", "Ноябр", "Декабр"],
monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"],
today: "Имрӯз",
monthsTitle: "Моҳҳо",
clear: "Тоза намудан",
weekStart: 1,
format: "dd.mm.yyyy"
}
};

View File

@ -1,14 +0,0 @@
/**
* Thai translation for bootstrap-datepicker
* Suchau Jiraprapot <seroz24@gmail.com>
*/
export default {
th: {
days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"],
daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"],
daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"],
months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"],
monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."],
today: "วันนี้"
}
};

View File

@ -1,18 +0,0 @@
/**
* Turkmen translation for bootstrap-datepicker
* N'Bayramberdiyev <nbayramberdiyev@outlook.com>
*/
export default {
tk: {
days: ["Ýekşenbe", "Duşenbe", "Sişenbe", "Çarşenbe", "Penşenbe", "Anna", "Şenbe"],
daysShort: ["Ýek", "Duş", "Siş", "Çar", "Pen", "Ann", "Şen"],
daysMin: ["Ýe", "Du", "Si", "Ça", "Pe", "An", "Şe"],
months: ["Ýanwar", "Fewral", "Mart", "Aprel", "Maý", "Iýun", "Iýul", "Awgust", "Sentýabr", "Oktýabr", "Noýabr", "Dekabr"],
monthsShort: ["Ýan", "Few", "Mar", "Apr", "Maý", "Iýn", "Iýl", "Awg", "Sen", "Okt", "Noý", "Dek"],
today: "Bu gün",
monthsTitle: "Aýlar",
clear: "Aýyr",
weekStart: 1,
format: "dd.mm.yyyy"
}
};

View File

@ -1,17 +0,0 @@
/**
* Turkish translation for bootstrap-datepicker
* Serkan Algur <kaisercrazy_2@hotmail.com>
*/
export default {
tr: {
days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"],
daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts"],
daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct"],
months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"],
monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"],
today: "Bugün",
clear: "Temizle",
weekStart: 1,
format: "dd.mm.yyyy"
}
};

View File

@ -1,17 +0,0 @@
/**
* Ukrainian translation for bootstrap-datepicker
* Igor Polynets
*/
export default {
uk: {
days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота"],
daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб"],
daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"],
monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"],
today: "Сьогодні",
clear: "Очистити",
format: "dd.mm.yyyy",
weekStart: 1
}
};

View File

@ -1,18 +0,0 @@
/**
* Uzbek cyrillic translation for bootstrap-datepicker
* Kakhramonov Javlonbek <kakjavlon@gmail.com>
*/
export default {
'uz-cyrl': {
days: ["Якшанба", "Душанба", "Сешанба", "Чоршанба", "Пайшанба", "Жума", "Шанба"],
daysShort: ["Якш", "Ду", "Се", "Чор", "Пай", "Жу", "Ша"],
daysMin: ["Як", "Ду", "Се", "Чо", "Па", "Жу", "Ша"],
months: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],
monthsShort: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],
today: "Бугун",
clear: "Ўчириш",
format: "dd.mm.yyyy",
weekStart: 1,
monthsTitle: 'Ойлар'
}
};

View File

@ -1,18 +0,0 @@
/**
* Uzbek latin translation for bootstrap-datepicker
* Kakhramonov Javlonbek <kakjavlon@gmail.com>
*/
export default {
'uz-latn': {
days: ["Yakshanba", "Dushanba", "Seshanba", "Chorshanba", "Payshanba", "Juma", "Shanba"],
daysShort: ["Yak", "Du", "Se", "Chor", "Pay", "Ju", "Sha"],
daysMin: ["Ya", "Du", "Se", "Cho", "Pa", "Ju", "Sha"],
months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "Iyun", "Iyul", "Avgust", "Sentabr", "Oktabr", "Noyabr", "Dekabr"],
monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "Iyn", "Iyl", "Avg", "Sen", "Okt", "Noy", "Dek"],
today: "Bugun",
clear: "O'chirish",
format: "dd.mm.yyyy",
weekStart: 1,
monthsTitle: 'Oylar'
}
};

View File

@ -1,16 +0,0 @@
/**
* Vietnamese translation for bootstrap-datepicker
* An Vo <https: //github.com/anvoz/>
*/
export default {
vi: {
days: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy"],
daysShort: ["CN", "Thứ 2", "Thứ 3", "Thứ 4", "Thứ 5", "Thứ 6", "Thứ 7"],
daysMin: ["CN", "T2", "T3", "T4", "T5", "T6", "T7"],
months: ["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"],
monthsShort: ["Th1", "Th2", "Th3", "Th4", "Th5", "Th6", "Th7", "Th8", "Th9", "Th10", "Th11", "Th12"],
today: "Hôm nay",
clear: "Xóa",
format: "dd/mm/yyyy"
}
};

View File

@ -1,19 +0,0 @@
/**
* Simplified Chinese translation for bootstrap-datepicker
* Yuan Cheung <advanimal@gmail.com>
*/
export default {
'zh-CN': {
days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
daysMin: ["日", "一", "二", "三", "四", "五", "六"],
months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
today: "今天",
monthsTitle: "选择月份",
clear: "清除",
format: "yyyy-mm-dd",
titleFormat: "y年mm月",
weekStart: 1
}
};

View File

@ -1,20 +0,0 @@
/**
* Traditional Chinese translation for bootstrap-datepicker
* Rung-Sheng Jang <daniel@i-trend.co.cc>
* FrankWu <frankwu100@gmail.com> Fix more appropriate use of Traditional Chinese habit
*/
export default {
'zh-TW': {
days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
daysShort: ["週日", "週一", "週二", "週三", "週四", "週五", "週六"],
daysMin: ["日", "一", "二", "三", "四", "五", "六"],
months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
today: "今天",
monthsTitle: "月份",
format: "yyyy/mm/dd",
weekStart: 0,
titleFormat: "y年mm月",
clear: "清除"
}
};

View File

@ -1,185 +0,0 @@
import {stripTime, today} from './date.js';
import {lastItemOf} from './utils.js';
// pattern for format parts
export const reFormatTokens = /dd?|DD?|mm?|MM?|yy?(?:yy)?/;
// pattern for non date parts
export const reNonDateParts = /[\s!-/:-@[-`{-~年月日]+/;
// cache for persed formats
let knownFormats = {};
// parse funtions for date parts
const parseFns = {
y(date, year) {
return new Date(date).setFullYear(parseInt(year, 10));
},
m(date, month, locale) {
const newDate = new Date(date);
let monthIndex = parseInt(month, 10) - 1;
if (isNaN(monthIndex)) {
if (!month) {
return NaN;
}
const monthName = month.toLowerCase();
const compareNames = name => name.toLowerCase().startsWith(monthName);
// compare with both short and full names because some locales have periods
// in the short names (not equal to the first X letters of the full names)
monthIndex = locale.monthsShort.findIndex(compareNames);
if (monthIndex < 0) {
monthIndex = locale.months.findIndex(compareNames);
}
if (monthIndex < 0) {
return NaN;
}
}
newDate.setMonth(monthIndex);
return newDate.getMonth() !== normalizeMonth(monthIndex)
? newDate.setDate(0)
: newDate.getTime();
},
d(date, day) {
return new Date(date).setDate(parseInt(day, 10));
},
};
// format functions for date parts
const formatFns = {
d(date) {
return date.getDate();
},
dd(date) {
return padZero(date.getDate(), 2);
},
D(date, locale) {
return locale.daysShort[date.getDay()];
},
DD(date, locale) {
return locale.days[date.getDay()];
},
m(date) {
return date.getMonth() + 1;
},
mm(date) {
return padZero(date.getMonth() + 1, 2);
},
M(date, locale) {
return locale.monthsShort[date.getMonth()];
},
MM(date, locale) {
return locale.months[date.getMonth()];
},
y(date) {
return date.getFullYear();
},
yy(date) {
return padZero(date.getFullYear(), 2).slice(-2);
},
yyyy(date) {
return padZero(date.getFullYear(), 4);
},
};
// get month index in normal range (0 - 11) from any number
function normalizeMonth(monthIndex) {
return monthIndex > -1 ? monthIndex % 12 : normalizeMonth(monthIndex + 12);
}
function padZero(num, length) {
return num.toString().padStart(length, '0');
}
function parseFormatString(format) {
if (typeof format !== 'string') {
throw new Error("Invalid date format.");
}
if (format in knownFormats) {
return knownFormats[format];
}
// sprit the format string into parts and seprators
const separators = format.split(reFormatTokens);
const parts = format.match(new RegExp(reFormatTokens, 'g'));
if (separators.length === 0 || !parts) {
throw new Error("Invalid date format.");
}
// collect format functions used in the format
const partFormatters = parts.map(token => formatFns[token]);
// collect parse function keys used in the format
// iterate over parseFns' keys in order to keep the order of the keys.
const partParserKeys = Object.keys(parseFns).reduce((keys, key) => {
const token = parts.find(part => part[0] !== 'D' && part[0].toLowerCase() === key);
if (token) {
keys.push(key);
}
return keys;
}, []);
return knownFormats[format] = {
parser(dateStr, locale) {
const dateParts = dateStr.split(reNonDateParts).reduce((dtParts, part, index) => {
if (part.length > 0 && parts[index]) {
const token = parts[index][0];
if (token === 'M') {
dtParts.m = part;
} else if (token !== 'D') {
dtParts[token] = part;
}
}
return dtParts;
}, {});
// iterate over partParserkeys so that the parsing is made in the oder
// of year, month and day to prevent the day parser from correcting last
// day of month wrongly
return partParserKeys.reduce((origDate, key) => {
const newDate = parseFns[key](origDate, dateParts[key], locale);
// ingnore the part failed to parse
return isNaN(newDate) ? origDate : newDate;
}, today());
},
formatter(date, locale) {
let dateStr = partFormatters.reduce((str, fn, index) => {
return str += `${separators[index]}${fn(date, locale)}`;
}, '');
// separators' length is always parts' length + 1,
return dateStr += lastItemOf(separators);
},
};
}
export function parseDate(dateStr, format, locale) {
if (dateStr instanceof Date || typeof dateStr === 'number') {
const date = stripTime(dateStr);
return isNaN(date) ? undefined : date;
}
if (!dateStr) {
return undefined;
}
if (dateStr === 'today') {
return today();
}
if (format && format.toValue) {
const date = format.toValue(dateStr, format, locale);
return isNaN(date) ? undefined : stripTime(date);
}
return parseFormatString(format).parser(dateStr, locale);
}
export function formatDate(date, format, locale) {
if (isNaN(date) || (!date && date !== 0)) {
return '';
}
const dateObj = typeof date === 'number' ? new Date(date) : date;
if (format.toDisplay) {
return format.toDisplay(dateObj, format, locale);
}
return parseFormatString(format).formatter(dateObj, locale);
}

View File

@ -1,100 +0,0 @@
export function stripTime(timeValue) {
return new Date(timeValue).setHours(0, 0, 0, 0);
}
export function today() {
return new Date().setHours(0, 0, 0, 0);
}
// Get the time value of the start of given date or year, month and day
export function dateValue(...args) {
switch (args.length) {
case 0:
return today();
case 1:
return stripTime(args[0]);
}
// use setFullYear() to keep 2-digit year from being mapped to 1900-1999
const newDate = new Date(0);
newDate.setFullYear(...args);
return newDate.setHours(0, 0, 0, 0);
}
export function addDays(date, amount) {
const newDate = new Date(date);
return newDate.setDate(newDate.getDate() + amount);
}
export function addWeeks(date, amount) {
return addDays(date, amount * 7);
}
export function addMonths(date, amount) {
// If the day of the date is not in the new month, the last day of the new
// month will be returned. e.g. Jan 31 + 1 month → Feb 28 (not Mar 03)
const newDate = new Date(date);
const monthsToSet = newDate.getMonth() + amount;
let expectedMonth = monthsToSet % 12;
if (expectedMonth < 0) {
expectedMonth += 12;
}
const time = newDate.setMonth(monthsToSet);
return newDate.getMonth() !== expectedMonth ? newDate.setDate(0) : time;
}
export function addYears(date, amount) {
// If the date is Feb 29 and the new year is not a leap year, Feb 28 of the
// new year will be returned.
const newDate = new Date(date);
const expectedMonth = newDate.getMonth();
const time = newDate.setFullYear(newDate.getFullYear() + amount);
return expectedMonth === 1 && newDate.getMonth() === 2 ? newDate.setDate(0) : time;
}
// Calculate the distance bettwen 2 days of the week
function dayDiff(day, from) {
return (day - from + 7) % 7;
}
// Get the date of the specified day of the week of given base date
export function dayOfTheWeekOf(baseDate, dayOfWeek, weekStart = 0) {
const baseDay = new Date(baseDate).getDay();
return addDays(baseDate, dayDiff(dayOfWeek, weekStart) - dayDiff(baseDay, weekStart));
}
// Get the ISO week of a date
export function getWeek(date) {
// start of ISO week is Monday
const thuOfTheWeek = dayOfTheWeekOf(date, 4, 1);
// 1st week == the week where the 4th of January is in
const firstThu = dayOfTheWeekOf(new Date(thuOfTheWeek).setMonth(0, 4), 4, 1);
return Math.round((thuOfTheWeek - firstThu) / 604800000) + 1;
}
// Get the start year of the period of years that includes given date
// years: length of the year period
export function startOfYearPeriod(date, years) {
/* @see https://en.wikipedia.org/wiki/Year_zero#ISO_8601 */
const year = new Date(date).getFullYear();
return Math.floor(year / years) * years;
}
// Convert date to the first/last date of the month/year of the date
export function regularizeDate(date, timeSpan, useLastDate) {
if (timeSpan !== 1 && timeSpan !== 2) {
return date;
}
const newDate = new Date(date);
if (timeSpan === 1) {
useLastDate
? newDate.setMonth(newDate.getMonth() + 1, 0)
: newDate.setDate(1);
} else {
useLastDate
? newDate.setFullYear(newDate.getFullYear() + 1, 0, 0)
: newDate.setMonth(0, 1);
}
return newDate.setHours(0, 0, 0, 0);
}

View File

@ -1,63 +0,0 @@
const range = document.createRange();
export function parseHTML(html) {
return range.createContextualFragment(html);
}
export function getParent(el) {
return el.parentElement
|| (el.parentNode instanceof ShadowRoot ? el.parentNode.host : undefined);
}
export function isActiveElement(el) {
return el.getRootNode().activeElement === el;
}
// equivalent to jQuery's :visble
export function isVisible(el) {
return !!(el.offsetWidth || el.offsetHeight || el.getClientRects().length);
}
export function hideElement(el) {
if (el.style.display === 'none') {
return;
}
// back up the existing display setting in data-style-display
if (el.style.display) {
el.dataset.styleDisplay = el.style.display;
}
el.style.display = 'none';
}
export function showElement(el) {
if (el.style.display !== 'none') {
return;
}
if (el.dataset.styleDisplay) {
// restore backed-up dispay property
el.style.display = el.dataset.styleDisplay;
delete el.dataset.styleDisplay;
} else {
el.style.display = '';
}
}
export function emptyChildNodes(el) {
if (el.firstChild) {
el.removeChild(el.firstChild);
emptyChildNodes(el);
}
}
export function replaceChildNodes(el, newChildNodes) {
emptyChildNodes(el);
if (newChildNodes instanceof DocumentFragment) {
el.appendChild(newChildNodes);
} else if (typeof newChildNodes === 'string') {
el.appendChild(parseHTML(newChildNodes));
} else if (typeof newChildNodes.forEach === 'function') {
newChildNodes.forEach((node) => {
el.appendChild(node);
});
}
}

View File

@ -1,71 +0,0 @@
const listenerRegistry = new WeakMap();
const {addEventListener, removeEventListener} = EventTarget.prototype;
// Register event listeners to a key object
// listeners: array of listener definitions;
// - each definition must be a flat array of event target and the arguments
// used to call addEventListener() on the target
export function registerListeners(keyObj, listeners) {
let registered = listenerRegistry.get(keyObj);
if (!registered) {
registered = [];
listenerRegistry.set(keyObj, registered);
}
listeners.forEach((listener) => {
addEventListener.call(...listener);
registered.push(listener);
});
}
export function unregisterListeners(keyObj) {
let listeners = listenerRegistry.get(keyObj);
if (!listeners) {
return;
}
listeners.forEach((listener) => {
removeEventListener.call(...listener);
});
listenerRegistry.delete(keyObj);
}
// Event.composedPath() polyfill for Edge
// based on https://gist.github.com/kleinfreund/e9787d73776c0e3750dcfcdc89f100ec
if (!Event.prototype.composedPath) {
const getComposedPath = (node, path = []) => {
path.push(node);
let parent;
if (node.parentNode) {
parent = node.parentNode;
} else if (node.host) { // ShadowRoot
parent = node.host;
} else if (node.defaultView) { // Document
parent = node.defaultView;
}
return parent ? getComposedPath(parent, path) : path;
};
Event.prototype.composedPath = function () {
return getComposedPath(this.target);
};
}
function findFromPath(path, criteria, currentTarget) {
const [node, ...rest] = path;
if (criteria(node)) {
return node;
}
if (node === currentTarget || node.tagName === 'HTML' || rest.length === 0) {
// stop when reaching currentTarget or <html>
return;
}
return findFromPath(rest, criteria, currentTarget);
}
// Search for the actual target of a delegated event
export function findElementInEventPath(ev, selector) {
const criteria = typeof selector === 'function'
? selector
: el => el instanceof Element && el.matches(selector);
return findFromPath(ev.composedPath(), criteria, ev.currentTarget);
}

View File

@ -1,61 +0,0 @@
export function hasProperty(obj, prop) {
return Object.prototype.hasOwnProperty.call(obj, prop);
}
export function lastItemOf(arr) {
return arr[arr.length - 1];
}
// push only the items not included in the array
export function pushUnique(arr, ...items) {
items.forEach((item) => {
if (arr.includes(item)) {
return;
}
arr.push(item);
});
return arr;
}
export function stringToArray(str, separator) {
// convert empty string to an empty array
return str ? str.split(separator) : [];
}
export function isInRange(testVal, min, max) {
const minOK = min === undefined || testVal >= min;
const maxOK = max === undefined || testVal <= max;
return minOK && maxOK;
}
export function limitToRange(val, min, max) {
if (val < min) {
return min;
}
if (val > max) {
return max;
}
return val;
}
export function createTagRepeat(tagName, repeat, attributes = {}, index = 0, html = '') {
const openTagSrc = Object.keys(attributes).reduce((src, attr) => {
let val = attributes[attr];
if (typeof val === 'function') {
val = val(index);
}
return `${src} ${attr}="${val}"`;
}, tagName);
html += `<${openTagSrc}></${tagName}>`;
const next = index + 1;
return next < repeat
? createTagRepeat(tagName, repeat, attributes, next, html)
: html;
}
// Remove the spacing surrounding tags for HTML parser not to create text nodes
// before/after elements
export function optimizeTemplateHTML(html) {
return html.replace(/>\s+/g, '>').replace(/\s+</, '<');
}

View File

@ -1,19 +0,0 @@
/**
* Arabic-Algeria translation for bootstrap-datepicker
* Rabah Saadi <infosrabah@gmail.com>
*/
(function () {
Datepicker.locales['ar-DZ'] = {
days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"],
daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"],
daysMin: ["ح", "ن", "ث", "ع", "خ", "ج", "س", "ح"],
months: ["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],
monthsShort: ["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],
today: "هذا اليوم",
rtl: true,
monthsTitle: "أشهر",
clear: "إزالة",
format: "yyyy/mm/dd",
weekStart: 0
};
}());

Some files were not shown because too many files have changed in this diff Show More