avances en plantillas

This commit is contained in:
JACS 2026-05-01 18:15:40 -05:00
parent 0f84beacf1
commit da0530d79b
2062 changed files with 598814 additions and 22 deletions

View file

@ -0,0 +1,9 @@
The MIT License (MIT)
Copyright 2019 Rinat G.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View file

@ -0,0 +1,64 @@
[![npm version](https://badge.fury.io/js/litepicker.svg)](https://www.npmjs.com/package/litepicker) [![Build Status](https://travis-ci.org/wakirin/Litepicker.svg?branch=master)](https://travis-ci.org/wakirin/Litepicker) [![license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/wakirin/Litepicker/blob/master/README.md)
Litepicker
=========
Date range picker - lightweight, no dependencies
## Features
* No dependencies
* Single date or date range
* Show multiple months
* Min/Max days for select and/or Min/Max dates for select
* Select forward/backward
* Inline mode
* Repick date range
* Lock days
* Keyboard accessibility (with plugin)
* Mobile friendly (with plugin)
* Predefined ranges (with plugin)
* Multiple select (with plugin)
See more details in docs.
# [Documentation](https://litepicker.com)
## Compatibility
##### Desktop
- IE 11 (required [polyfills](https://github.com/wakirin/litepicker-polyfills-ie11))
- Edge 17+
- Chrome 60+
- Firefox 52+
- Safari 10.1+
- Opera 48+
##### Mobile
- iOS 10+
- Safari
- Chrome
- Android 7+
- Chrome
- Firefox
- Samsung Browser
- UC Browser
## Plugins
* [keyboardnav](https://litepicker.com/docs/plugins/keyboardnav/) - adds keyboard navigation.
* [mobilefriendly](https://litepicker.com/docs/plugins/mobilefriendly/) - adds swipes (left/right) to switch months.
* [ranges](https://litepicker.com/docs/plugins/ranges/) - adds predefined ranges.
* [multiselect](https://litepicker.com/docs/plugins/multiselect/) - adds multiple selection.
## See also:
* [Drupal module](https://www.drupal.org/project/date_range_picker) by [kviolka](https://github.com/kviolka)
* [Wordpress Ninja forms](https://github.com/soderlind/date-range-ninja-forms) by [soderlind](https://github.com/soderlind)
* [ember-litepicker](https://github.com/sinankeskin/ember-litepicker) by [sinankeskin](https://github.com/sinankeskin)
## Supporting Litepicker
[![](https://github.com/wakirin/Litepicker/blob/gh-pages/assets/images/coffee.png?raw=true)](https://ko-fi.com/wakirin)
## Tested on real browsers
Tested on real browsers via BrowserStack.
Thanks to the BrowserStack for supporting the open-source projects.
[![](https://github.com/wakirin/Litepicker/blob/gh-pages/assets/images/Browserstack-logo.png?raw=true)](https://www.browserstack.com/)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,12 @@
/*!
*
* ../css/plugins/keyboardnav.js.css
* Litepicker v2.0.12 (https://github.com/wakirin/Litepicker)
* Package: litepicker (https://www.npmjs.com/package/litepicker)
* License: MIT (https://github.com/wakirin/Litepicker/blob/master/LICENCE.md)
* Copyright 2019-2021 Rinat G.
*
* Hash: fc3887e0bb19d54c36db
*
*/

View file

@ -0,0 +1,133 @@
/*!
*
* ../css/plugins/mobilefriendly.js.css
* Litepicker v2.0.12 (https://github.com/wakirin/Litepicker)
* Package: litepicker (https://www.npmjs.com/package/litepicker)
* License: MIT (https://github.com/wakirin/Litepicker/blob/master/LICENCE.md)
* Copyright 2019-2021 Rinat G.
*
* Hash: fc3887e0bb19d54c36db
*
*/
:root {
--litepicker-mobilefriendly-backdrop-color-bg: #000;
}
.litepicker-backdrop {
display: none;
background-color: var(--litepicker-mobilefriendly-backdrop-color-bg);
opacity: 0.3;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.litepicker-open {
overflow: hidden;
}
.litepicker.mobilefriendly[data-plugins*="mobilefriendly"] {
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
font-size: 1.1rem;
--litepicker-container-months-box-shadow-color: #616161;
}
.litepicker.mobilefriendly-portrait {
--litepicker-day-width: 13.5vw;
--litepicker-month-width: calc(var(--litepicker-day-width) * 7);
}
.litepicker.mobilefriendly-landscape {
--litepicker-day-width: 5.5vw;
--litepicker-month-width: calc(var(--litepicker-day-width) * 7);
}
.litepicker[data-plugins*="mobilefriendly"] .container__months {
overflow: hidden;
}
.litepicker.mobilefriendly[data-plugins*="mobilefriendly"] .container__months .month-item-header {
height: var(--litepicker-day-width);
}
.litepicker.mobilefriendly[data-plugins*="mobilefriendly"] .container__days > div {
height: var(--litepicker-day-width);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.litepicker[data-plugins*="mobilefriendly"] .container__months .month-item {
-webkit-transform-origin: center;
transform-origin: center;
}
.litepicker[data-plugins*="mobilefriendly"] .container__months .month-item.touch-target-next {
-webkit-animation-name: lp-bounce-target-next;
animation-name: lp-bounce-target-next;
-webkit-animation-duration: .5s;
animation-duration: .5s;
-webkit-animation-timing-function: ease;
animation-timing-function: ease;
}
.litepicker[data-plugins*="mobilefriendly"] .container__months .month-item.touch-target-prev {
-webkit-animation-name: lp-bounce-target-prev;
animation-name: lp-bounce-target-prev;
-webkit-animation-duration: .5s;
animation-duration: .5s;
-webkit-animation-timing-function: ease;
animation-timing-function: ease;
}
@-webkit-keyframes lp-bounce-target-next {
from {
-webkit-transform: translateX(100px) scale(0.5);
transform: translateX(100px) scale(0.5);
}
to {
-webkit-transform: translateX(0px) scale(1);
transform: translateX(0px) scale(1);
}
}
@keyframes lp-bounce-target-next {
from {
-webkit-transform: translateX(100px) scale(0.5);
transform: translateX(100px) scale(0.5);
}
to {
-webkit-transform: translateX(0px) scale(1);
transform: translateX(0px) scale(1);
}
}
@-webkit-keyframes lp-bounce-target-prev {
from {
-webkit-transform: translateX(-100px) scale(0.5);
transform: translateX(-100px) scale(0.5);
}
to {
-webkit-transform: translateX(0px) scale(1);
transform: translateX(0px) scale(1);
}
}
@keyframes lp-bounce-target-prev {
from {
-webkit-transform: translateX(-100px) scale(0.5);
transform: translateX(-100px) scale(0.5);
}
to {
-webkit-transform: translateX(0px) scale(1);
transform: translateX(0px) scale(1);
}
}

View file

@ -0,0 +1,54 @@
/*!
*
* ../css/plugins/multiselect.js.css
* Litepicker v2.0.12 (https://github.com/wakirin/Litepicker)
* Package: litepicker (https://www.npmjs.com/package/litepicker)
* License: MIT (https://github.com/wakirin/Litepicker/blob/master/LICENCE.md)
* Copyright 2019-2021 Rinat G.
*
* Hash: fc3887e0bb19d54c36db
*
*/
:root {
--litepicker-multiselect-is-selected-color-bg: #2196f3;
--litepicker-multiselect-is-selected-color: #fff;
--litepicker-multiselect-hover-color-bg: #2196f3;
--litepicker-multiselect-hover-color: #fff;
}
.litepicker[data-plugins*="multiselect"] .container__days .day-item {
position: relative;
z-index: 1;
}
.litepicker[data-plugins*="multiselect"] .container__days .day-item:not(.is-locked):after {
content: '';
position: absolute;
width: 27px;
height: 27px;
top: 50%;
left: 50%;
z-index: -1;
border-radius: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.litepicker[data-plugins*="multiselect"] .container__days .day-item:not(.is-locked):hover {
-webkit-box-shadow: none;
box-shadow: none;
color: var(--litepicker-day-color);
font-weight: bold;
}
.litepicker[data-plugins*="multiselect"] .container__days .day-item.is-selected,
.litepicker[data-plugins*="multiselect"] .container__days .day-item.is-selected:hover {
color: var(--litepicker-multiselect-is-selected-color);
}
.litepicker[data-plugins*="multiselect"] .container__days .day-item.is-selected:after {
color: var(--litepicker-multiselect-is-selected-color);
background-color: var(--litepicker-multiselect-is-selected-color-bg);
}

View file

@ -0,0 +1,81 @@
/*!
*
* ../css/plugins/ranges.js.css
* Litepicker v2.0.12 (https://github.com/wakirin/Litepicker)
* Package: litepicker (https://www.npmjs.com/package/litepicker)
* License: MIT (https://github.com/wakirin/Litepicker/blob/master/LICENCE.md)
* Copyright 2019-2021 Rinat G.
*
* Hash: fc3887e0bb19d54c36db
*
*/
.litepicker[data-plugins*="ranges"] > .container__main > .container__predefined-ranges {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
background: var(--litepicker-container-months-color-bg);
-webkit-box-shadow: -2px 0px 5px var(--litepicker-footer-box-shadow-color);
box-shadow: -2px 0px 5px var(--litepicker-footer-box-shadow-color);
border-radius: 3px;
}
.litepicker[data-plugins*="ranges"][data-ranges-position="left"] > .container__main {
/* */
}
.litepicker[data-plugins*="ranges"][data-ranges-position="right"] > .container__main{
-webkit-box-orient: horizontal;
-webkit-box-direction: reverse;
-ms-flex-direction: row-reverse;
flex-direction: row-reverse;
}
.litepicker[data-plugins*="ranges"][data-ranges-position="right"] > .container__main > .container__predefined-ranges {
-webkit-box-shadow: 2px 0px 2px var(--litepicker-footer-box-shadow-color);
box-shadow: 2px 0px 2px var(--litepicker-footer-box-shadow-color);
}
.litepicker[data-plugins*="ranges"][data-ranges-position="top"] > .container__main {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}
.litepicker[data-plugins*="ranges"][data-ranges-position="top"] > .container__main > .container__predefined-ranges {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-shadow: 2px 0px 2px var(--litepicker-footer-box-shadow-color);
box-shadow: 2px 0px 2px var(--litepicker-footer-box-shadow-color);
}
.litepicker[data-plugins*="ranges"][data-ranges-position="bottom"] > .container__main {
-webkit-box-orient: vertical;
-webkit-box-direction: reverse;
-ms-flex-direction: column-reverse;
flex-direction: column-reverse;
}
.litepicker[data-plugins*="ranges"][data-ranges-position="bottom"] > .container__main > .container__predefined-ranges {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-shadow: 2px 0px 2px var(--litepicker-footer-box-shadow-color);
box-shadow: 2px 0px 2px var(--litepicker-footer-box-shadow-color);
}
.litepicker[data-plugins*="ranges"] > .container__main > .container__predefined-ranges button {
padding: 5px;
margin: 2px 0;
}
.litepicker[data-plugins*="ranges"][data-ranges-position="left"] > .container__main > .container__predefined-ranges button,
.litepicker[data-plugins*="ranges"][data-ranges-position="right"] > .container__main > .container__predefined-ranges button{
width: 100%;
text-align: left;
}
.litepicker[data-plugins*="ranges"] > .container__main > .container__predefined-ranges button:hover {
cursor: default;
opacity: .6;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,11 @@
/*!
*
* plugins/keyboardnav.js
* Litepicker v2.0.12 (https://github.com/wakirin/Litepicker)
* Package: litepicker (https://www.npmjs.com/package/litepicker)
* License: MIT (https://github.com/wakirin/Litepicker/blob/master/LICENCE.md)
* Copyright 2019-2021 Rinat G.
*
* Hash: fc3887e0bb19d54c36db
*
*/!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t);n(1);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Litepicker.add("keyboardnav",{init:function(e){Object.defineProperties(e,{isMouseDown:{value:!1,writable:!0}});function t(t,r){if(t.classList.contains("day-item")){r.preventDefault();var o=n(e.ui,t,(function(e,t){return e===(t="ArrowLeft"===r.code?t-1:t+1)}));o?o.focus():function(t){var n=e.ui.querySelector("".concat({ArrowLeft:".button-previous-month",ArrowRight:".button-next-month"}[t.code],'[tabindex="1"]'));n&&n.dispatchEvent(new Event("click"));setTimeout((function(){var n=null;switch(t.code){case"ArrowLeft":var r=e.ui.querySelectorAll('[tabindex="2"]');n=r[r.length-1];break;case"ArrowRight":n=e.ui.querySelector('[tabindex="2"]')}n.focus()}))}(r)}}function n(e,t,n){var r=Array.from(e.querySelectorAll('.day-item[tabindex="2"]')),o=r.indexOf(t);return r.filter((function(e,t){return n(t,o)&&2===e.tabIndex}))[0]}function r(t){e.isMouseDown=!0}function i(t){e.isMouseDown?e.isMouseDown=!1:this.options.inlineMode||this.isShowning()||(this.show(t.target),this.ui.querySelector('[tabindex="'.concat(e.options.keyboardnav.firstTabIndex,'"]')).focus())}function c(e){var t=this;this.options.inlineMode||setTimeout((function(){var e=document.activeElement;t.ui.contains(e)||(t.nextFocusElement=e)}))}e.options.keyboardnav=o(o({},{firstTabIndex:1}),e.options.keyboardnav),e.ui.addEventListener("keydown",function(r){var o=this,i=r.target;switch(setTimeout((function(){o.onMouseEnter({target:document.activeElement})})),r.code){case"ArrowUp":case"ArrowDown":!function(t,r){if(t.classList.contains("day-item")){r.preventDefault();var o=n(e.ui,t,(function(e,t){return e===(t="ArrowUp"===r.code?t-7:t+7)}));o&&o.focus()}}(i,r);break;case"ArrowLeft":case"ArrowRight":t(i,r);break;case"Tab":!function(t,n){setTimeout((function(){if(!document.activeElement.closest(".litepicker")){var n=e.ui.querySelector('[tabindex="1"]');if(t===n){var r=e.ui.querySelectorAll('[tabindex="2"]');n=r[r.length-1]}n.focus()}}))}(i);break;case"Enter":case"Space":!function(t,n){t.classList.contains("day-item")&&(n.preventDefault(),document.activeElement.dispatchEvent(new Event("click")),setTimeout((function(){var t=e.ui.querySelector('.is-start-date[tabindex="2"]');t||(t=e.ui.querySelector('[tabindex="2"]')),t.focus()})))}(i,r);break;case"Escape":e.hide()}}.bind(e),!0);var u=e.options;u.element instanceof HTMLElement&&(u.element.addEventListener("mousedown",r.bind(e),!0),u.element.addEventListener("focus",i.bind(e),!0)),u.elementEnd instanceof HTMLElement&&(u.elementEnd.addEventListener("mousedown",r.bind(e),!0),u.elementEnd.addEventListener("focus",i.bind(e),!0)),u.element instanceof HTMLElement&&u.element.addEventListener("blur",c.bind(e),!0),u.elementEnd instanceof HTMLElement&&u.elementEnd.addEventListener("blur",c.bind(e),!0),e.on("render",(function(e){Array.from(e.querySelectorAll([".month-item:first-child:not(.no-previous-month) .button-previous-month",".month-item:last-child:not(.no-next-month) .button-next-month",".reset-button","select"].join(","))).forEach((function(e){return e.tabIndex=1}))})),e.on("render:day",(function(e){e.tabIndex=e.classList.contains("is-locked")?-1:2}))}})},function(e,t,n){}]);

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,11 @@
/*!
*
* plugins/multiselect.js
* Litepicker v2.0.12 (https://github.com/wakirin/Litepicker)
* Package: litepicker (https://www.npmjs.com/package/litepicker)
* License: MIT (https://github.com/wakirin/Litepicker/blob/master/LICENCE.md)
* Copyright 2019-2021 Rinat G.
*
* Hash: fc3887e0bb19d54c36db
*
*/!function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=6)}({6:function(e,t,r){"use strict";r.r(t);r(7);function n(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}Litepicker.add("multiselect",{init:function(e){Object.defineProperties(e,{multipleDates:{value:[],enumerable:!0,writable:!0},preMultipleDates:{value:[],writable:!0}});e.options.multiselect=l(l({},{max:null}),e.options.multiselect),e.options.autoApply=e.options.inlineMode,e.options.showTooltip=!1;var t=function(){var t=e.preMultipleDates.length,r=e.ui.querySelector(".preview-date-range");if(r&&t>0){var n=e.pluralSelector(t),i=e.options.tooltipText[n]?e.options.tooltipText[n]:"[".concat(n,"]"),o="".concat(t," ").concat(i);r.innerText=o}};e.on("before:show",(function(){e.preMultipleDates=n(e.multipleDates)})),e.on("show",(function(){t()})),e.on("before:click",(function(r){if(r.classList.contains("day-item")){if(e.preventClick=!0,r.classList.contains("is-locked"))return void r.blur();var n=Number(r.dataset.time);r.classList.contains("is-selected")?(e.preMultipleDates=e.preMultipleDates.filter((function(e){return e!==n})),e.emit("multiselect.deselect",e.DateTime(n))):(e.preMultipleDates[e.preMultipleDates.length]=n,e.emit("multiselect.select",e.DateTime(n))),e.options.autoApply&&e.emit("button:apply"),e.render(),t()}})),e.on("render:day",(function(t){var r=e.preMultipleDates.filter((function(e){return e===Number(t.dataset.time)})).length,n=Number(e.options.multiselect.max);r?t.classList.add("is-selected"):n&&e.preMultipleDates.length>=n&&t.classList.add("is-locked")})),e.on("button:cancel",(function(){e.preMultipleDates.length=0})),e.on("button:apply",(function(){e.multipleDates=n(e.preMultipleDates).sort((function(e,t){return e-t}))})),e.on("clear:selection",(function(){e.clearMultipleDates(),e.render()})),e.clearMultipleDates=function(){e.preMultipleDates.length=0,e.multipleDates.length=0},e.getMultipleDates=function(){return e.multipleDates.map((function(t){return e.DateTime(t)}))},e.multipleDatesToString=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"YYYY-MM-DD",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:",";return e.multipleDates.map((function(r){return e.DateTime(r).format(t)})).join(r)}}})},7:function(e,t,r){e.exports={litepicker:"litepicker",containerDays:"container__days",dayItem:"day-item",isLocked:"is-locked",isSelected:"is-selected"}}});

View file

@ -0,0 +1,11 @@
/*!
*
* plugins/ranges.js
* Litepicker v2.0.12 (https://github.com/wakirin/Litepicker)
* Package: litepicker (https://www.npmjs.com/package/litepicker)
* License: MIT (https://github.com/wakirin/Litepicker/blob/master/LICENCE.md)
* Copyright 2019-2021 Rinat G.
*
* Hash: fc3887e0bb19d54c36db
*
*/!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=4)}({4:function(e,t,n){"use strict";n.r(t);n(5);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Litepicker.add("ranges",{init:function(e){var t={position:"left",customRanges:{},customRangesLabels:["Today","Yesterday","Last 7 Days","Last 30 Days","This Month","Last Month"],force:!1,autoApply:e.options.autoApply};e.options.ranges=o(o({},t),e.options.ranges),e.options.singleMode=!1;var n=e.options.ranges;if(!Object.keys(n.customRanges).length){var r,i=e.DateTime();n.customRanges=(a(r={},n.customRangesLabels[0],[i.clone(),i.clone()]),a(r,n.customRangesLabels[1],[i.clone().subtract(1,"day"),i.clone().subtract(1,"day")]),a(r,n.customRangesLabels[2],[i.clone().subtract(6,"day"),i]),a(r,n.customRangesLabels[3],[i.clone().subtract(29,"day"),i]),a(r,n.customRangesLabels[4],function(e){var t=e.clone();return t.setDate(1),[t,new Date(e.getFullYear(),e.getMonth()+1,0)]}(i)),a(r,n.customRangesLabels[5],function(e){var t=e.clone();return t.setDate(1),t.setMonth(e.getMonth()-1),[t,new Date(e.getFullYear(),e.getMonth(),0)]}(i)),r)}e.on("render",(function(t){var r=document.createElement("div");r.className="container__predefined-ranges",e.ui.dataset.rangesPosition=n.position,Object.keys(n.customRanges).forEach((function(o){var a=n.customRanges[o],i=document.createElement("button");i.innerText=o,i.tabIndex=t.dataset.plugins.indexOf("keyboardnav")>=0?1:-1,i.dataset.start=a[0].getTime(),i.dataset.end=a[1].getTime(),i.addEventListener("click",(function(t){var r=t.target;if(r){var o=e.DateTime(Number(r.dataset.start)),a=e.DateTime(Number(r.dataset.end));n.autoApply?(e.setDateRange(o,a,n.force),e.emit("ranges.selected",o,a),e.hide()):(e.datePicked=[o,a],e.emit("ranges.preselect",o,a)),!e.options.inlineMode&&n.autoApply||e.gotoDate(o)}})),r.appendChild(i)})),t.querySelector(".container__main").prepend(r)}))}})},5:function(e,t,n){e.exports={litepicker:"litepicker",containerMain:"container__main",containerPredefinedRanges:"container__predefined-ranges"}}});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,14 @@
import { LPCore } from './core';
import { DateTime } from './datetime';
import { ILPConfiguration } from './interfaces';
export declare class Calendar extends LPCore {
constructor(options: ILPConfiguration);
protected render(): void;
protected renderMonth(date: DateTime, calendarIdx: number): HTMLDivElement;
protected renderDay(date: DateTime): HTMLDivElement;
protected renderFooter(): HTMLDivElement;
protected renderWeekNumber(date: any): HTMLDivElement;
protected renderTooltip(): HTMLDivElement;
private weekdayName;
private calcSkipDays;
}

View file

@ -0,0 +1,23 @@
/// <reference types="node" />
import { EventEmitter } from 'events';
import { DateTime } from './datetime';
import { ILPConfiguration } from './interfaces';
export declare class LPCore extends EventEmitter {
static add(name: string, data: object): void;
protected plugins: string[];
protected ui: HTMLElement;
protected datePicked: DateTime[];
protected nextFocusElement: HTMLElement;
protected calendars: DateTime[];
protected readonly pluralSelector: (arg: number) => string;
protected options: ILPConfiguration;
constructor(options: ILPConfiguration);
DateTime(date: any, format?: any): DateTime;
protected init(): void;
protected parseInput(): DateTime[];
protected isShowning(): boolean;
protected findPosition(element: any): {
left: number;
top: number;
};
}

View file

@ -0,0 +1,41 @@
export declare class DateTime {
static parseDateTime(date: Date | DateTime | string | number, format?: string, lang?: string): Date;
static convertArray(array: Array<Date | Date[] | string | string[]>, format: string): Array<DateTime | DateTime[]>;
static getDateZeroTime(date: Date): Date;
private static regex;
private static readonly MONTH_JS;
private static shortMonths;
private static longMonths;
private static formatPatterns;
protected lang: string;
private dateInstance;
constructor(date?: Date | DateTime | number | string, format?: object | string, lang?: string);
toJSDate(): Date;
toLocaleString(arg0: string, arg1: Intl.DateTimeFormatOptions): string;
toDateString(): string;
getSeconds(): number;
getDay(): number;
getTime(): number;
getDate(): number;
getMonth(): number;
getFullYear(): number;
setMonth(arg: number): number;
setHours(hours?: number, minutes?: number, seconds?: number, ms?: number): void;
setSeconds(arg: number): number;
setDate(arg: number): number;
setFullYear(arg: number): number;
getWeek(firstDay: number): number;
clone(): DateTime;
isBetween(date1: DateTime, date2: DateTime, inclusivity?: string): boolean;
isBefore(date: DateTime, unit?: string): boolean;
isSameOrBefore(date: DateTime, unit?: string): boolean;
isAfter(date: DateTime, unit?: string): boolean;
isSameOrAfter(date: DateTime, unit?: string): boolean;
isSame(date: DateTime, unit?: string): boolean;
add(duration: number, unit?: string): DateTime;
subtract(duration: number, unit?: string): DateTime;
diff(date: DateTime, unit?: string): number;
format(format: object | string, lang?: string): string;
private timestamp;
private formatTokens;
}

View file

@ -0,0 +1,4 @@
import { Litepicker } from './litepicker';
import './methods';
export { Litepicker };
export default Litepicker;

View file

@ -0,0 +1,80 @@
import { DateTime } from './datetime';
import { Litepicker } from './litepicker';
interface ILPOptionDropdowns {
minYear: number;
maxYear: number | null;
months: boolean;
years: boolean | string;
}
interface ILPOptionButtonText {
apply: string;
cancel: string;
previousMonth: string;
nextMonth: string;
reset: string;
}
interface ILPOptionTooltip {
one: string;
other: string;
many?: string;
}
export interface ILPConfiguration {
element: HTMLElement | HTMLInputElement;
elementEnd?: HTMLElement | HTMLInputElement | null;
parentEl?: HTMLElement | null;
firstDay?: number;
format?: string | object;
lang?: string;
delimiter?: string;
numberOfMonths?: number;
numberOfColumns?: number;
startDate?: DateTime | Date | string | number;
endDate?: DateTime | Date | string | number;
zIndex?: number;
minDate?: DateTime | Date | string | number;
maxDate?: DateTime | Date | string | number;
minDays?: number;
maxDays?: number;
switchingMonths?: number | null;
selectForward?: boolean;
selectBackward?: boolean;
splitView?: boolean;
inlineMode?: boolean;
singleMode?: boolean;
autoApply?: boolean;
allowRepick?: boolean;
showWeekNumbers?: boolean;
showTooltip?: boolean;
scrollToDate?: boolean;
mobileFriendly?: boolean;
resetButton?: boolean | object;
autoRefresh?: boolean;
lockDaysFormat?: string;
lockDays?: any[];
disallowLockDaysInRange?: boolean;
lockDaysInclusivity?: string;
lockDaysFilter?: (date1: DateTime | null, date2: DateTime | null, totalPicked: number) => boolean;
highlightedDaysFormat?: string;
highlightedDays?: any[];
dropdowns?: ILPOptionDropdowns;
buttonText?: ILPOptionButtonText;
tooltipText?: ILPOptionTooltip;
tooltipPluralSelector?: (arg: number) => string;
footerHTML?: string | null;
setup?: (picker: Litepicker) => void;
tooltipNumber?: (totalDays: number) => number;
plugins?: string[];
position?: string;
ranges?: {
position?: string;
customRanges?: object;
force?: boolean;
};
multiselect?: {
max?: number | null;
};
keyboardnav?: {
firstTabIndex?: number;
};
}
export {};

View file

@ -0,0 +1,25 @@
import { Calendar } from './calendar';
import { ILPConfiguration } from './interfaces';
export declare class Litepicker extends Calendar {
preventClick: boolean;
protected triggerElement: any;
protected backdrop: any;
constructor(options: ILPConfiguration);
protected scrollToDate(el: any): void;
private bindEvents;
private updateInput;
private isSamePicker;
private shouldShown;
private shouldResetDatePicked;
private shouldSwapDatePicked;
private shouldCheckLockDays;
private onClick;
private showTooltip;
private hideTooltip;
private shouldAllowMouseEnter;
private shouldAllowRepick;
private isDayItem;
private onMouseEnter;
private onMouseLeave;
private onInput;
}

View file

@ -0,0 +1,20 @@
import { DateTime } from './datetime';
declare module './litepicker' {
interface Litepicker {
show(element?: any): void;
hide(): void;
gotoDate(date: any, idx?: any): void;
clearSelection(): void;
destroy(): void;
getDate(): DateTime | null;
getStartDate(): DateTime | null;
getEndDate(): DateTime | null;
setDate(date: any): void;
setStartDate(date: any): void;
setEndDate(date: any): void;
setDateRange(date1: any, date2: any): void;
setLockDays(array: any): void;
setHighlightedDays(array: any): void;
setOptions(options: any): void;
}
}

View file

@ -0,0 +1,4 @@
import { DateTime } from './datetime';
export declare function findNestedMonthItem(monthItem: Element): number;
export declare function dateIsLocked(date: DateTime, options: any, pickedDates: DateTime[]): boolean;
export declare function rangeIsLocked(days: DateTime[], options: any): boolean;

View file

@ -0,0 +1,6 @@
declare global {
interface Window {
Litepicker: any;
}
}
export {};

View file

@ -0,0 +1,74 @@
{
"name": "litepicker",
"version": "2.0.12",
"description": "Date range picker - lightweight, no dependencies",
"main": "./dist/litepicker.umd.js",
"types": "./dist/types/index.d.ts",
"scripts": {
"prod": "webpack --config config/webpack.prod.js",
"dev": "webpack --config config/webpack.dev.js",
"nocss": "webpack --config config/webpack.nocss.js",
"plugins": "webpack --config config/webpack.plugins.js && webpack --config config/webpack.plugins.nocss.js",
"watch": "webpack -w --config config/webpack.dev.js",
"test": "jest"
},
"keywords": [
"datepicker",
"date",
"daterange",
"date",
"picker",
"range",
"lightweight",
"no-dependencies"
],
"repository": {
"type": "git",
"url": "https://github.com/wakirin/litepicker.git"
},
"author": {
"name": "Rinat G.",
"email": "litepicker@lvl.ninja",
"url": "https://lvl.ninja"
},
"homepage": "https://litepicker.com",
"bugs": {
"url": "https://github.com/wakirin/litepicker/issues"
},
"license": "MIT",
"devDependencies": {
"@babel/core": "^7.12.10",
"@babel/preset-env": "^7.12.11",
"@types/jest": "^24.0.23",
"@types/node": "^12.12.7",
"autoprefixer": "^9.7.2",
"babel-loader": "^8.2.2",
"css-loader": "^3.6.0",
"dts-css-modules-loader": "^1.0.1",
"eslint": "^7.3.1",
"eslint-plugin-compat": "^3.7.0",
"identity-obj-proxy": "^3.0.0",
"jest": "^24.9.0",
"mini-css-extract-plugin": "^0.8.2",
"parallel-webpack": "^2.6.0",
"postcss-loader": "^3.0.0",
"proxy-polyfill": "^0.3.0",
"sass": "^1.42.1",
"sass-loader": "^8.0.0",
"style-loader": "^1.0.0",
"ts-jest": "^24.2.0",
"ts-loader": "^6.2.1",
"tslint": "^5.20.1",
"tslint-config-airbnb": "^5.11.2",
"typescript": "^3.7.2",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10",
"webpack-merge": "^4.2.2"
},
"browserslist": [
"defaults",
"last 2 versions",
"not ie < 11",
"> 1%"
]
}