UNPKG

@progress/kendo-react-dateinputs

Version:

React DateInput is a perfect input component for handling quick and efficient date values. KendoReact Date Inputs package

9 lines (8 loc) 2.58 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("@progress/kendo-date-math"),a=require("./models/TimePart.js"),o=require("../utils.js"),l=e=>(t,n)=>{const r=i.cloneDate(t);return r[e](n),r},g=[{type:a.TIME_PART.hour,getter:e=>e.getHours()},{type:a.TIME_PART.minute,getter:e=>e.getMinutes()},{type:a.TIME_PART.second,getter:e=>e.getSeconds()},{type:a.TIME_PART.millisecond,getter:e=>e.getMilliseconds()}],m=e=>(t,n)=>e(t),M=e=>(t,n)=>e(n),I=e=>e.reduce((t,n)=>(t[n.type]=n.type,t),{}),p=e=>t=>e[t.type]?M(t.getter):m(t.getter),D=e=>t=>e.map(p(I(t))),H=(e,t,n,r)=>s=>{const u=e(s),T=e(n);return r==="hour"?u-(u-T)%t:s.getTime()<=n.getTime()&&u!==0&&u<=T?Math.ceil(u/t)*t:u-u%t},f=e=>(t,n)=>e.map(r=>{const s=Math.floor(t[r.type]);return s?H(r.getter,s,n,r.type):r.getter}),V=D(g),y=f(g),d=e=>(t,n)=>(t.setHours(...e.map(r=>r(t,n))),t),_=e=>t=>{const n=i.cloneDate(t);return n.setHours(...e.map(r=>r(n))),n},h=l("setHours"),A=l("setMinutes"),E=l("setSeconds"),G=()=>new Date,R=(e,t,n=1)=>{const r=[];for(let s=e;s<t;s=s+n)r.push(s);return r},c=(e,t,n)=>({candidateValue:o.setTime(o.MIDNIGHT_DATE,e),maxValue:i.addDays(o.setTime(o.MIDNIGHT_DATE,n),t.getHours()<n.getHours()?0:1),minValue:o.setTime(o.MIDNIGHT_DATE,t)}),S=(e,t,n)=>{if(!e||!t||!n)return e;const{candidateValue:r,minValue:s,maxValue:u}=c(e,t,n);return r<s?o.setTime(e,t):r>u?o.setTime(e,n):e},N=(e,t,n)=>{if(!e||!t||!n)return!0;const{candidateValue:r,minValue:s,maxValue:u}=c(e,t,n);return s<=r&&r<=u},P=(e,t,n)=>{if(e===null)return!0;const{candidateValue:r,minValue:s,maxValue:u}=c(e,t,n);return s<=r&&r<=u},z=(e,t)=>{if(e===null||t===null)return!1;const n=o.setTime(o.MIDNIGHT_DATE,e),r=o.setTime(o.MIDNIGHT_DATE,t);return n.getTime()<r.getHours()},q=(e,t)=>{if(e===null||t===null)return!1;const n=o.setTime(o.MIDNIGHT_DATE,e);return o.setTime(o.MIDNIGHT_DATE,t).getTime()<n.getHours()};exports.generateGetters=V;exports.generateSnappers=y;exports.getNow=G;exports.isBiggerThanMax=q;exports.isInRange=P;exports.isInTimeRange=N;exports.isSmallerThanMin=z;exports.range=R;exports.setHours=h;exports.setMinutes=A;exports.setSeconds=E;exports.snapTime=_;exports.timeInRange=S;exports.valueMerger=d;