UNPKG

monday-ui-react-core

Version:

Official monday.com UI resources for application development in React.js

3 lines (2 loc) 3.5 kB
import{slicedToArray as e,defineProperty as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import n,{forwardRef as a,useState as r,useCallback as i}from"react";import o from"classnames";import s from"moment";import"react-dates/initialize";import{DayPickerRangeController as d,DayPickerSingleDateController as l}from"react-dates";import c from"./DatePickerHeader/DatePickerHeader.js";import m from"./DateNavigationItem/DateNavigationItem.js";import u from"./YearPicker/YearPicker.js";import{WEEK_FIRST_DAY as f,DAY_SIZE as D}from"./constants.js";import{FocusInput as v,Direction as h}from"./types.js";import{getTestId as k}from"../../tests/testIds.js";import{ComponentDefaultTestId as E}from"../../tests/constants.js";import{NOOP as p}from"../../utils/function-utils.js";import y from"./DatePicker.module.scss.js";import"./external_datepicker.scss.js";var g=a((function(a,g){var P=a.id,b=a.className,N=a.firstDayOfWeek,j=void 0===N?f:N,O=a.daySize,C=void 0===O?D:O,M=a.range,S=void 0!==M&&M,Y=a.shouldBlockDay,I=a.shouldBlockYear,W=a.numberOfMonths,B=void 0===W?1:W,K=a.hideNavigationKeys,R=void 0!==K&&K,x=a.date,A=a.endDate,T=a.onPickDate,_=a.enableOutsideDays,z=void 0!==_&&_,H=a.showWeekNumber,F=void 0!==H&&H,w=a.shouldBlockRange,V=a["data-testid"],L=r(v.startDate),q=e(L,2),G=q[0],J=q[1],Q=r(!1),U=e(Q,2),X=U[0],Z=U[1],$=r(null),ee=e($,2),te=ee[0],ne=ee[1],ae=r(null),re=e(ae,2),ie=re[0],oe=re[1],se=i((function(e){var t=e.month,a=e.onYearSelect;return!ie&&a&&oe((function(){return a})),n.createElement(c,{"data-testid":V||k(E.DATEPICKER_HEADER,P),currentDate:t||s(),isMonthYearSelection:X,onToggleMonthYearPicker:function(){return Z((function(e){return!e}))},hideNavigationKeys:R})}),[X,V,P,R,ie]),de=i((function(e){var t=0===j?e.clone().add(1,"d").isoWeek():e.isoWeek();return n.createElement(n.Fragment,null,n.createElement("span",{className:y.calendarDayWeekNumber},t)," ",e.format("D"))}),[j]),le=i((function(e){var t=te||x;ne(e),Z(!1),ie(t,s(e).year())}),[te,x,ie]),ce=i((function(){return n.createElement(u,{"data-testid":V||k(E.DATEPICKER_YEAR_SELECTION,P),selectedDate:x,isYearBlocked:I,changeCurrentDate:le})}),[V,P,te,x,I,le]),me=i((function(e){T&&T(G===v.startDate?Object.assign(Object.assign({},e),{endDate:null}):e)}),[G,T]),ue=i((function(e){J(e||v.startDate)}),[]),fe=!R&&!X;return n.createElement("div",{"data-testid":V||k(E.DATEPICKER,P),ref:g,id:P,className:o(y.datepickerContainer,b,t(t(t({},y.withWeekNumber,F),y.rangePickerMode,S),y.monthYearSelection,X))},S?n.createElement(d,{renderDayContents:F?de:void 0,firstDayOfWeek:j,hideKeyboardShortcutsPanel:!0,startDate:x,endDate:A,onDatesChange:me,focusedInput:G,minimumNights:0,onFocusChange:ue,navPrev:fe?n.createElement(m,{kind:h.prev}):n.createElement("div",null),navNext:fe?n.createElement(m,{kind:h.next}):n.createElement("div",null),daySize:C,isOutsideRange:w,isDayBlocked:Y,renderMonthElement:se,enableOutsideDays:z||F,numberOfMonths:B,initialVisibleMonth:function(){return te||x||s()}}):n.createElement(l,{renderDayContents:F?de:void 0,firstDayOfWeek:j,hideKeyboardShortcutsPanel:!0,onFocusChange:p,numberOfMonths:B,date:x,onDateChange:function(e){return T(e)},navPrev:fe?n.createElement(m,{kind:h.prev}):n.createElement("div",null),navNext:fe?n.createElement(m,{kind:h.next}):n.createElement("div",null),focused:!0,renderMonthElement:se,enableOutsideDays:z||F,daySize:C,isDayBlocked:Y,initialVisibleMonth:function(){return te||x||s()}}),X&&ce())}));export{g as default}; //# sourceMappingURL=DatePicker.js.map