UNPKG

react-multi-date-picker

Version:

A simple React datepicker component for working with gregorian, persian, arabic and indian calendars with the ability to select the date by single, multiple, range and multiple range pickers.

2 lines (1 loc) 6.1 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("react-date-object");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=t(e),a=t(r);function n(){return n=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},n.apply(this,arguments)}function l(e,r){if(null==e)return{};var t,o,a=function(e,r){if(null==e)return{};var t,o,a={},n=Object.keys(e);for(o=0;o<n.length;o++)t=n[o],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)t=n[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}function d(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,a,n,l,d=[],c=!0,i=!1;try{if(n=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;c=!1}else for(;!(c=(o=n.call(t)).done)&&(d.push(o.value),d.length!==r);c=!0);}catch(e){i=!0,a=e}finally{try{if(!c&&null!=t.return&&(l=t.return(),Object(l)!==l))return}finally{if(i)throw a}}return d}}(e,r)||function(e,r){if(!e)return;if("string"==typeof e)return c(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return c(e,r)}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,o=new Array(r);t<r;t++)o[t]=e[t];return o}function i(e,r){var t=[];return["left","right"].includes(e)?(r.left&&t.push("rmdp-border-left"),r.right&&t.push("rmdp-border-right")):(r.top&&t.push("rmdp-border-top"),r.bottom&&t.push("rmdp-border-bottom")),t.join(" ")}var s=["state","setState","position","registerListener","calendarProps","datePickerProps","handleChange","nodes","Calendar","DatePicker","handlePropsChange","handleFocusedDate","minDate","maxDate"];!function(e,r){void 0===r&&(r={});var t=r.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}(".rmdp-colors{display:flex;justify-content:space-around;padding:8px 0}.rmdp-colors.left,.rmdp-colors.right{flex-direction:column;padding:0 8px}.rmdp-color{border-radius:50%;cursor:pointer;height:20px;width:20px}.left .rmdp-color,.right .rmdp-color{margin:auto}.rmdp-blue{background-color:#0074d9}.rmdp-red{background-color:#ea0034}.rmdp-green{background-color:#009688}.rmdp-yellow{background-color:#fad817}.rmdp-color.active{box-shadow:0 0 4px 1px #8798ad}.rmdp-day:not(.rmdp-disabled):not(.rmdp-day-hidden) .highlight-blue:hover{background-color:#7ea6f0}.rmdp-day:not(.rmdp-deactive) .highlight-blue{color:#4ca6f5}.rmdp-day.rmdp-deactive .highlight-blue{color:#7b98ce}.rmdp-day.rmdp-selected .highlight-blue{background-color:#0074d9;color:#fff}.rmdp-day.rmdp-deactive.rmdp-selected .highlight-blue{background-color:#aec0e0;color:#fff}.rmdp-day:not(.rmdp-disabled):not(.rmdp-day-hidden) .highlight-yellow:hover{background-color:#ffeb3b}.rmdp-day:not(.rmdp-deactive) .highlight-yellow{color:#f7da37}.rmdp-day.rmdp-deactive .highlight-yellow{color:#c0b025}.rmdp-day.rmdp-selected .highlight-yellow{background-color:#fad817;color:#fff}.rmdp-day.rmdp-deactive.rmdp-selected .highlight-yellow{background-color:#dfdd61;color:#fff}.hover-red:hover{background-color:#ff6687!important}.hover-green:hover{background-color:#4db6ac!important}.hover-yellow:hover{background-color:#ffeb3b!important}");var u=["state","position","colors","defaultColor","nodes","calendarProps","registerListener","className","handlePropsChange"];function f(e,r,t,o){return function(n){var l,d=n.date;if(!r){if(e&&!Array.isArray(e)&&d.format()===e.format()&&(l=o),Array.isArray(e)){var c=new a.default(d).setLocale(void 0).format("YYYYMMDD");t.current.stringValues.includes(c)&&(l=t.current.colors[c])}return{className:l?"highlight highlight-".concat(l):"hover-".concat(o)}}}}exports.default=function(r){var t=r.state,c=r.position,p=r.colors,h=void 0===p?["blue","red","green","yellow"]:p,m=r.defaultColor,g=void 0===m?h[0]:m,y=r.nodes,b=r.calendarProps,v=r.registerListener,D=r.className,C=void 0===D?"":D,k=r.handlePropsChange,P=l(r,u),w=d(e.useState(b.activeColor||g),2),x=w[0],j=w[1],O=["rmdp-colors",c,i(c,y)],A=e.useRef({});return A.current.handlePropsChange=k,e.useEffect((function(){if(Array.isArray(t.selectedDate)){for(var e=[],r={},o=0;o<t.selectedDate.length;o++){var n=t.selectedDate[o],l=new a.default(n).setLocale(void 0).format("YYYYMMDD"),d=n.color||x;n.color||(t.selectedDate[o].color=d),r[l]=d,e.push(l)}var c=JSON.stringify(e);if(c===A.current.stringValues)return;A.current.stringValues=c,A.current.colors=r}A.current.handlePropsChange({mapDays:f(t.selectedDate,t.range,A,x),value:t.selectedDate,activeColor:x})}),[t.selectedDate,t.range,x]),v("change",(function(e){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r].color||(e[r].color=x);else e&&(e.color=x)})),o.default.createElement("div",n({className:"".concat(O.join(" ")," ").concat(C)},function(e){return e.state,e.setState,e.position,e.registerListener,e.calendarProps,e.datePickerProps,e.handleChange,e.nodes,e.Calendar,e.DatePicker,e.handlePropsChange,e.handleFocusedDate,e.minDate,e.maxDate,l(e,s)}(P)),h.map((function(e,r){return o.default.createElement("div",{key:r,className:"rmdp-color rmdp-".concat(e," ").concat(x===e?"active":""),onClick:function(){return function(e){j(e);var r=t.selectedDate,o=t.range;r&&!Array.isArray(r)&&(r.color=e);var a={activeColor:e,value:r,mapDays:f(r,o,A,e)};k(a)}(e)}})})))};