@stenajs-webui/calendar 17.33.0 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/index.es.js +1 -1
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
(function(){"use strict";try{var r=document.createElement("style");r.appendChild(document.createTextNode("._calendar_1w0de_1{--swui-calendar-day-width: 40px;--swui-calendar-day-height: 38px;--swui-calendar-day-border-radius: 4px;--swui-calendar-week-number-bg-color: transparent;--swui-calendar-week-number-text-color: var(--lhds-color-ui-500);--swui-calendar-week-number-clickable-text-color: var(--lhds-color-ui-500);--swui-calendar-week-day-text-color: var(--lhds-color-ui-500);--swui-calendar-week-day-clickable-text-color: var(--lhds-color-ui-500);--swui-calendar-wrapper-selected-border: var(--swui-primary-action-color);--swui-calendar-wrapper-selected-background: var(--swui-primary-action-color);--swui-calendar-wrapper-range-border: var(--lhds-color-blue-100);--swui-calendar-wrapper-range-background: var(--lhds-color-blue-100);--swui-calendar-wrapper-today-border: var(--lhds-color-ui-200);--swui-calendar-wrapper-today-background: var(--lhds-color-ui-200);--swui-calendar-text-selected-color: #fff;--swui-calendar-text-disabled-color: var(--swui-text-disabled-color);--swui-calendar-text-in-other-month-color: var(--swui-text-disabled-color)}._calendar_1w0de_1 table{border-spacing:0 4px}._calendar_1w0de_1 span{line-height:100%}._calendar_1w0de_1 tr td:last-child{border-top-right-radius:var(--swui-calendar-day-border-radius);border-bottom-right-radius:var(--swui-calendar-day-border-radius)}._calendar_1w0de_1 tr td:nth-child(2){border-top-left-radius:var(--swui-calendar-day-border-radius);border-bottom-left-radius:var(--swui-calendar-day-border-radius)}._calendar_1w0de_1 td{padding:0;width:var(--swui-calendar-day-width);height:var(--swui-calendar-day-height)}._timePicker_1w05d_1{overflow:hidden;width:180px}._timePickerColumn_1w05d_6{overflow-y:hidden;flex:1}._timePickerColumn_1w05d_6:hover{overflow-y:scroll}")),document.head.appendChild(r)}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
|
|
2
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const D=require("@stenajs-webui/core"),j=require("@stenajs-webui/elements"),f=require("date-fns"),he=require("date-fns/locale"),U=require("lodash"),o=require("react"),c=require("react/jsx-runtime"),tt=require("@emotion/styled"),nt=require("@fortawesome/free-solid-svg-icons/faCaretLeft"),rt=require("@fortawesome/free-solid-svg-icons/faCaretRight"),st=require("@fortawesome/free-solid-svg-icons/faAngleDoubleLeft"),ct=require("@fortawesome/free-solid-svg-icons/faAngleDoubleRight"),$=require("@stenajs-webui/forms"),X=require("@stenajs-webui/tooltip"),Ce=require("@stenajs-webui/theme"),it=require("@fortawesome/free-solid-svg-icons/faLongArrowAltRight"),ot=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function at(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const Me=at(o),fe=ot(tt),z={yearAndMonth:"yyyy-MM",fullDate:"yyyy-MM-dd",fullMonthName:"LLLL",fullDateAndTime:"yyyy-MM-dd HH:mm",fullDateAndTimeSystem:"yyyy-MM-ddTHH:MM",weekDayName:"EEEE",weekDayNameShort:"EEE",dateAndMonth:"d MMM",monthAndDate:"MMM do"},Q=(e={},t,n)=>{if(t&&n&&f.isAfter(n,t))return f.eachDayOfInterval({start:t,end:n}).reduce((s,i)=>{const l=f.isSameDay(i,t),a=f.isSameDay(i,n);return P(s,i,l?["selected","selectedStart","range"]:a?["selected","selectedEnd","range"]:["range"])},e);let r=e;return t&&(r=P(r,t,["selected","singleSelected"])),n&&(r=P(r,n,["selected","singleSelected"])),r},Re=(e={},t,n,r)=>Ee(e,t,n,f.startOfMonth(r),f.endOfMonth(r)),Ee=(e={},t,n,r,s)=>t&&n?Q(e,f.max([t,f.subDays(r,1)]),f.min([n,f.addDays(s,1)])):Q(e,t,n),lt=(e,t,n)=>{const r=f.format(t,z.yearAndMonth),s=f.getISOWeek(t),i=f.getDate(t);return{...e,[r]:{...e&&e[r],[s]:{...e&&e[r]&&e[r][s],[i]:{...e&&e[r]&&e[r][s]&&e[r][s][i],...n}}}}},dt=(e,t,n)=>{const r=f.format(t,z.yearAndMonth),s=f.getISOWeek(t),i=f.getDate(t);return{...e,[r]:{...e&&e[r],[s]:{...e&&e[r]&&e[r][s],[i]:{...e&&e[r]&&e[r][s]&&e[r][s][i],...n(e&&e[r]&&e[r][s]&&e[r][s][i])}}}}},P=(e,t,n)=>{const r=t.getMonth()+1,s=`${t.getFullYear()}-${r<10?"0":""}${r}`,i=f.getISOWeek(t),l=f.getDate(t),a=e&&e[s]&&e[s][i]&&e[s][i][l];return{...e,[s]:{...e&&e[s],[i]:{...e&&e[s]&&e[s][i],[l]:ye(a,n)}}}},ye=(e,t)=>{var n;return{...e,highlights:[...(n=e==null?void 0:e.highlights)!=null?n:[],...t]}},ut=(e,t,n)=>{const r=t.days[0].date,s=r.getMonth()+1,i=`${r.getFullYear()}-${s<10?"0":""}${s}`,l=t.weekNumber;let a=e;t.days.forEach(y=>{a=P(a,y.date,n)});const d=a&&a[i]?a[i][l]:void 0,u=d&&d.highlights?[...d.highlights,...n]:n,x={...d,highlights:u};return{...a,[i]:{...e&&e[i],[l]:x}}},Ae=(e,t)=>{var s;if(!t.days.length)return{...e};const n=t.days[0].date,r=(s=U.last(t.days))==null?void 0:s.date;return{...Q(e,n,r)}},ft=(e,t)=>o.useMemo(()=>e?P(t,new Date,["today"]):t,[e,t]);var B=(e=>(e[e.JANUARY=0]="JANUARY",e[e.FEBRUARY=1]="FEBRUARY",e[e.MARCH=2]="MARCH",e[e.APRIL=3]="APRIL",e[e.MAY=4]="MAY",e[e.JUNE=5]="JUNE",e[e.JULY=6]="JULY",e[e.AUGUST=7]="AUGUST",e[e.SEPTEMBER=8]="SEPTEMBER",e[e.OCTOBER=9]="OCTOBER",e[e.NOVEMBER=10]="NOVEMBER",e[e.DECEMBER=11]="DECEMBER",e))(B||{}),Te=(e=>(e[e.SUNDAY=0]="SUNDAY",e[e.MONDAY=1]="MONDAY",e[e.TUESDAY=2]="TUESDAY",e[e.WEDNESDAY=3]="WEDNESDAY",e[e.THURSDAY=4]="THURSDAY",e[e.FRIDAY=5]="FRIDAY",e[e.SATURDAY=6]="SATURDAY",e))(Te||{});const xe=(e,t,n,r)=>{const s=[];for(let i=0;i<n;i++)s.push(be(e,t+i,r));return s},be=(e,t,n)=>{const r=e+Math.floor(t/12),s=t%12,i=new Date(r,s,1);return{monthString:f.format(i,z.yearAndMonth),name:U.startCase(f.format(i,z.fullMonthName,{locale:n})),year:r,monthInYear:s,weeks:Ie(r,s,n)}},Ie=(e,t,n,r=!0)=>{const s=new Date(e,t,1),i=f.startOfWeek(s,{locale:n}),l=[];for(let a=0;a<6;a++){const d=ue(f.addWeeks(i,a),n);if(a>0&&d.startMonth!==t&&!r)return l;l.push(d)}return l},ue=(e,t)=>{const n=f.getMonth(f.addDays(e,7))!==f.getMonth(e);return{weekNumber:f.getWeek(e,{locale:t}),startMonth:f.getMonth(e),startYear:f.getYear(e),endMonth:f.getMonth(f.addDays(e,6)),endYear:f.getYear(f.addDays(e,6)),days:Ne(e,t),isLastWeekOfMonth:n}},Be=(e,t)=>{const n=f.getISODay(e);return{date:e,name:f.format(e,"EEE",t?{locale:t}:void 0),dateString:f.format(f.addHours(e,12),z.fullDate),weekNumber:f.getWeek(e,{locale:t}),year:f.getYear(e),month:f.getMonth(e),dayOfMonth:f.getDate(e),dayOfWeek:n,isFirstDayOfWeek:n===1,isLastDayOfWeek:n===7,isFirstDayOfMonth:f.isSameDay(f.startOfMonth(e),e),isLastDayOfMonth:f.isSameDay(f.endOfMonth(e),e)}},Ne=(e,t)=>f.eachDayOfInterval({start:e,end:f.addDays(e,6)}).map(n=>Be(n,t)),He=(e,t)=>t>11?{year:e+Math.floor(t/12),month:t%12}:t<0?{year:e+Math.floor(t/12),month:12+t%12}:{year:e,month:t},Dt="_calendar_1w0de_1",xt={calendar:Dt},Ye=(e,t,n)=>!!(t&&t.indexOf(n)>=0||e&&e.highlights&&e.highlights.indexOf(n)>=0),F=(e,t,n,r,s)=>{if(n.length!==r.length)throw new Error("Select highlight failed, number of values do not equal number of highlights.");if(n.length===0)return s;for(let i=0;i<n.length;i++)if(typeof n[i]=="boolean"&&n[i]||typeof n[i]=="string"&&Ye(e,t,n[i]))return r[i];return s},Le=({selectedBackground:e,todayBackground:t,rangeBackground:n,borderColor:r="transparent"})=>(s,i,l,a,d)=>{let u={};const x=F(i,s,["selected","range","today",l.month===d.monthInYear],[e,n,t,"#fff"],"transparent");return{...u,backgroundColor:x,borderTopLeftRadius:F(i,s,["selectedStart","singleSelected"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],r),borderBottomLeftRadius:F(i,s,["selectedStart","singleSelected"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],r),borderTopRightRadius:F(i,s,["selectedEnd","singleSelected"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],r),borderBottomRightRadius:F(i,s,["selectedEnd","singleSelected"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],r),boxSizing:"border-box"}},Pe=({selectedColor:e,disabledColor:t,inOtherMonthColor:n,rangeTextColor:r})=>(s,i,l,a,d)=>{const u=l.month!==d.monthInYear;return{color:F(i,s,[u,"selected","range","enabled","disabled"],[n,e,r,void 0,t])}},_={width:"var(--swui-calendar-day-width)",height:"var(--swui-calendar-day-height)",WeekNumber:{backgroundColor:"var(--swui-calendar-week-number-bg-color)",textColor:"var(--swui-calendar-week-number-text-color)",clickableTextColor:"var(--swui-calendar-week-number-clickable-text-color)",show:!0},WeekDay:{textColor:"var(--swui-calendar-week-day-text-color)",clickableTextColor:"var(--swui-calendar-week-day-clickable-text-color)"},CalendarDay:{tdStyle:Le({selectedBackground:"var(--swui-calendar-wrapper-selected-background)",rangeBackground:"var(--swui-calendar-wrapper-range-background)",todayBackground:"var(--swui-calendar-wrapper-today-background)"}),textProps:Pe({selectedColor:"var(--swui-calendar-text-selected-color)",disabledColor:"var(--swui-calendar-text-disabled-color)",inOtherMonthColor:"var(--swui-calendar-text-in-other-month-color)"})},CalendarMonth:{headerTextColor:"var(--swui-calendar-week-day-text-color)"}},gt={..._,width:"37px",height:"37px"},ht=(e,t,n)=>t&&f.isBefore(e,t)?f.isSameDay(e,t):n&&f.isAfter(e,n)?f.isSameDay(e,n):!0,yt=function({dayComponent:t,minDate:n,maxDate:r,dayState:s,day:i,...l}){const a=o.useMemo(()=>ht(i.date,n,r)?s:ye(s,["disabled"]),[i.date,s,r,n]);return c.jsx(t,{day:i,...l,dayState:a})},We=({onClickWeek:e,theme:t,week:n,background:r,backgroundColor:s,prefix:i})=>{const l=c.jsxs(D.Box,{width:t.width,height:t.height,justifyContent:"center",alignItems:"center",children:[r&&c.jsx(D.Box,{position:"absolute",children:r}),c.jsx(D.Box,{position:"absolute",children:c.jsxs(D.Text,{color:e?t.WeekNumber.clickableTextColor:t.WeekNumber.textColor,children:[i,n.weekNumber]})})]});return c.jsx(D.Box,{background:s||t.WeekNumber.backgroundColor,position:"relative",children:e?c.jsx(D.Clickable,{borderRadius:"var(--swui-calendar-day-border-radius)",onClick:a=>e(n,a),disableFocusHighlight:!e,children:l}):l})};function bt({week:e,month:t,dayComponent:n,statePerWeekDay:r,userDataPerWeekDay:s,minDate:i,maxDate:l,onClickWeek:a,onClickDay:d,theme:u,renderWeekNumber:x,extraDayContent:y,defaultHighlights:h}){return c.jsxs("tr",{children:[u.WeekNumber.show&&c.jsx("td",{children:x?x(e,u,a):c.jsx(We,{week:e,onClickWeek:a,theme:u})}),e.days.map(g=>c.jsx(yt,{dayComponent:n,day:g,week:e,month:t,dayState:r&&r[g.dayOfMonth],userData:s&&s[g.dayOfMonth],onClickDay:d,theme:u,extraDayContent:y,defaultHighlights:h,minDate:i,maxDate:l},g.dateString))]},e.weekNumber)}const Oe=({onClickWeekDay:e,day:t,theme:n})=>{const r=c.jsx(D.Box,{width:n.width,height:n.height,justifyContent:"center",alignItems:"center",children:c.jsx(D.Text,{size:"small",color:e?n.WeekDay.clickableTextColor:n.WeekDay.textColor,children:t.name})});return e?c.jsx(D.Clickable,{borderRadius:"var(--swui-calendar-day-border-radius)",onClick:s=>e(t.dayOfWeek,s),disableFocusHighlight:!e,children:r}):r},me=function({day:t,week:n,month:r,dayState:s,userData:i,onClickDay:l,theme:a,extraDayContent:d,defaultHighlights:u}){const x=c.jsx(D.Box,{width:"100%",height:"100%",justifyContent:"center",alignItems:"center",children:c.jsx(D.Text,{...a.CalendarDay.textProps&&a.CalendarDay.textProps(u,s,t,n,r,i),children:t.dayOfMonth})}),y=fe.default.td({...a.CalendarDay.tdStyle&&a.CalendarDay.tdStyle(u,s,t,n,r,i)}),h=fe.default.div({...a.CalendarDay.innerWrapperStyle&&a.CalendarDay.innerWrapperStyle(u,s,t,n,r,i),width:"100%",height:"100%"}),g=fe.default.div({...a.CalendarDay.cellWrapperStyle&&a.CalendarDay.cellWrapperStyle(u,s,t,n,r,i),width:"100%",height:"100%",position:"relative"});return c.jsx(y,{children:c.jsx(h,{children:c.jsx(g,{children:t.month===r.monthInYear&&c.jsxs(c.Fragment,{children:[d&&c.jsx(d,{week:n,month:r,day:t,dayState:s,theme:a,userData:i}),l&&mt(u,s)?c.jsx(D.Clickable,{onClick:m=>l(t,i,m),style:{width:"100%",height:"100%"},borderRadius:"var(--swui-calendar-day-border-radius)",children:x}):c.jsx(c.Fragment,{children:x})]})})})})},mt=(e,t)=>!!F(t,e,["enabled","disabled"],[!0,!1],!0);function jt({month:e,dayComponent:t=me,statePerWeek:n,userDataPerWeek:r,minDate:s,maxDate:i,onClickDay:l,onClickWeek:a,onClickWeekDay:d,onClickMonth:u,onClickYear:x,renderWeekNumber:y,renderWeekDay:h,headerLeftContent:g,headerRightContent:m,theme:p=_,extraDayContent:w,defaultHighlights:S}){const k=p.WeekNumber.show;return c.jsx(c.Fragment,{children:c.jsxs(D.Box,{alignItems:"stretch",children:[c.jsxs(D.Row,{justifyContent:"space-between",alignItems:"center",height:"32px",children:[c.jsx(D.Box,{alignItems:"center",children:g}),c.jsxs(D.Row,{alignItems:"center",children:[c.jsx(D.Row,{width:"104px",justifyContent:"center",children:u?c.jsx(j.FlatButton,{onClick:()=>u(e),label:e.name}):c.jsx(D.Text,{children:e.name})}),c.jsx(D.Space,{}),c.jsx(D.Row,{width:"64px",justifyContent:"center",children:x?c.jsx(j.FlatButton,{onClick:()=>x(e.year),label:String(e.year)}):c.jsx(D.Text,{children:e.year})})]}),c.jsx(D.Box,{alignItems:"center",children:m})]}),c.jsx("table",{children:c.jsxs("tbody",{children:[c.jsxs("tr",{children:[k&&c.jsx("td",{children:c.jsx(D.Box,{width:p.width,height:p.height})}),e.weeks[0].days.map(b=>c.jsx("td",{children:h?h(b.name,p,d):c.jsx(Oe,{day:b,onClickWeekDay:d,theme:p})},b.name))]}),e.weeks.map(b=>c.jsx(bt,{month:e,week:b,dayComponent:t,statePerWeekDay:n&&n[b.weekNumber],userDataPerWeekDay:r&&r[b.weekNumber],onClickDay:l,onClickWeek:a,theme:p,renderWeekNumber:y,extraDayContent:w,defaultHighlights:S,minDate:s,maxDate:i},b.weekNumber))]})})]})})}function kt({monthRows:e,dayComponent:t=me,userDataPerMonth:n,statePerMonth:r,minDate:s,maxDate:i,onClickDay:l,onClickWeekDay:a,onClickWeek:d,onClickMonth:u,onClickYear:x,renderWeekDay:y,renderWeekNumber:h,headerLeftContent:g,headerRightContent:m,extraDayContent:p,defaultHighlights:w,theme:S=_}){const k=o.useMemo(()=>s?f.parse(s,"yyyy-MM-dd",new Date):void 0,[s]),b=o.useMemo(()=>i?f.parse(i,"yyyy-MM-dd",new Date):void 0,[i]);return c.jsx("div",{className:xt.calendar,children:e.map((C,M)=>c.jsx(D.Spacing,{children:c.jsx(D.Row,{children:C.map((R,E)=>c.jsxs(Me.Fragment,{children:[E>0&&c.jsx(D.Space,{}),c.jsx(jt,{month:R,dayComponent:t,userDataPerWeek:n&&n[R.monthString],statePerWeek:r&&r[R.monthString],onClickDay:l,onClickWeekDay:a,onClickWeek:d,onClickMonth:u,onClickYear:x,theme:S,renderWeekNumber:h,renderWeekDay:y,headerLeftContent:g,headerRightContent:m,extraDayContent:p,defaultHighlights:w,minDate:k,maxDate:b})]},R.name))})},M))})}function ae(e){var l;const t=wt(e.year,e.month,e.date),{year:n,month:r}=He(t.year,t.month),s=St(n,r,(l=e.locale)!=null?l:he.enGB,e.numMonths,e.monthsPerRow),i=ft(e.highlightToday,e.statePerMonth);return c.jsx(kt,{year:n,month:r,monthRows:s,...e,statePerMonth:i})}const wt=(e,t,n)=>{if(t&&e)return{month:t,year:e};if(n)return{month:f.getMonth(n),year:f.getYear(n)};const r=new Date;return{month:f.getMonth(r),year:f.getYear(r)}},St=(e,t,n,r,s)=>r==null?[[be(e,t,n)]]:s==null?[xe(e,t,r,n)]:U.chunk(xe(e,t,r,n),s),pt=({value:e,onValueChange:t,month:n,locale:r})=>{const s=o.useMemo(()=>{const i=new Date(2e3,n,1);return U.startCase(f.format(i,"MMM",{locale:r}))},[r,n]);return c.jsx(D.Row,{width:"64px",justifyContent:"center",spacing:.5,indent:.5,children:e===n?c.jsx(j.PrimaryButton,{label:s,onClick:()=>t&&t(n)}):c.jsx(j.FlatButton,{label:s,onClick:()=>t&&t(n)})})},Ct=[[B.JANUARY,B.FEBRUARY,B.MARCH],[B.APRIL,B.MAY,B.JUNE],[B.JULY,B.AUGUST,B.SEPTEMBER],[B.OCTOBER,B.NOVEMBER,B.DECEMBER]],Ue=({value:e,onValueChange:t,locale:n=he.enGB})=>c.jsx(D.Column,{children:Ct.map(r=>c.jsx(D.Row,{children:r.map(s=>c.jsx(pt,{month:s,onValueChange:t,value:e,locale:n},s))},r[0]))}),Mt=e=>[{label:"Past",presets:[{label:"Last 3 days",startDate:e,endDate:f.subDays(e,2)},{label:"Last 7 days",startDate:e,endDate:f.subDays(e,6)},{label:"Last 30 days",startDate:e,endDate:f.subDays(e,29)},{label:"Last 45 days",startDate:e,endDate:f.subDays(e,44)}]},{label:"Future",presets:[{label:"Next 3 days",startDate:e,endDate:f.addDays(e,2)},{label:"Next 7 days",startDate:e,endDate:f.addDays(e,6)},{label:"Next 30 days",startDate:e,endDate:f.addDays(e,29)},{label:"Next 45 days",startDate:e,endDate:f.addDays(e,44)}]}],Fe=({onClickPreset:e})=>{var i;const[t,n]=o.useState(0),r=o.useMemo(()=>Mt(new Date),[]),s=(i=r[t])!=null?i:r[0];return c.jsxs(D.Column,{children:[c.jsxs(D.Row,{justifyContent:"space-between",alignItems:"center",width:"200px",children:[c.jsx(j.FlatButton,{size:"small",leftIcon:j.stenaAngleLeft,disabled:t===0,onClick:()=>n(t-1)}),c.jsx(D.Text,{children:s.label}),c.jsx(j.FlatButton,{size:"small",leftIcon:j.stenaAngleRight,disabled:t===r.length-1,onClick:()=>n(t+1)})]}),c.jsx(D.Space,{}),c.jsx(D.Column,{alignItems:"center",children:s.presets.map(l=>c.jsxs(Me.Fragment,{children:[c.jsx(j.PrimaryButton,{label:l.label,onClick:()=>e(l)}),c.jsx(D.Space,{})]},l.label))})]})},Rt=({value:e,onValueChange:t,year:n})=>{const r=String(n);return c.jsx(D.Row,{width:"64px",justifyContent:"center",spacing:.5,indent:.5,children:e===n?c.jsx(j.PrimaryButton,{label:r,onClick:()=>t==null?void 0:t(n)}):c.jsx(j.FlatButton,{label:r,onClick:()=>t==null?void 0:t(n)})})},$e=({value:e,onValueChange:t,initialLastYear:n})=>{const[r,s]=o.useState(()=>e?e+4:n!=null?n:new Date().getFullYear()+4),i=o.useMemo(()=>{const l=r-11;return U.chunk(U.range(l,r+1),3)},[r]);return o.useEffect(()=>{s(l=>Et(e,l))},[e]),c.jsxs(D.Row,{children:[c.jsx(D.Column,{justifyContent:"center",children:c.jsx(j.FlatButton,{leftIcon:nt.faCaretLeft,onClick:()=>s(r-3)})}),c.jsx(D.Column,{children:i.map(l=>c.jsx(D.Row,{children:l.map(a=>c.jsx(Rt,{year:a,onValueChange:t,value:e},a))},l[0]))}),c.jsx(D.Column,{justifyContent:"center",children:c.jsx(j.FlatButton,{leftIcon:rt.faCaretRight,onClick:()=>s(r+3)})})]})},Et=(e,t)=>{if(e==null)return t;if(e>t){const r=e-t,s=r%3,i=r-s+3;return t+i}const n=t-11;if(e<n){const r=n-e,s=r%3,i=r-s+3;return t-i}return t},At=function({locale:t,dateInFocus:n,setDateInFocus:r,currentPanel:s,setCurrentPanel:i,...l}){const a=o.useCallback(y=>{const h=n?new Date(n):new Date;h.setMonth(y),r&&r(h),i("calendar")},[n,r,i]),d=o.useCallback(y=>{const h=n?new Date(n):new Date;h.setFullYear(y),r&&r(h),i("calendar")},[n,r,i]),u=o.useCallback(()=>{i("year")},[i]),x=o.useCallback(()=>{i("month")},[i]);switch(s){case"calendar":return c.jsx(c.Fragment,{children:c.jsx(ae,{...l,date:n,onClickYear:u,onClickMonth:x,locale:t})});case"month":return c.jsx(Ue,{value:n.getMonth(),onValueChange:a,locale:t});case"year":return c.jsx($e,{value:n.getFullYear(),onValueChange:d});case"presets":return c.jsx(Fe,{onClickPreset:()=>{}});default:return c.jsx(D.Box,{children:c.jsx(j.PrimaryButton,{label:"Show calendar",onClick:()=>i("calendar")})})}},Tt=(e,t,n,r)=>{const s=o.useCallback(()=>{var u;const d=f.addMonths(e,(u=n!=null?n:r)!=null?u:1);t==null||t(d)},[t,e,n,r]),i=o.useCallback(()=>{const d=f.addYears(e,1);t==null||t(d)},[t,e]),l=o.useCallback(()=>{var u;const d=f.subMonths(e,(u=n!=null?n:r)!=null?u:1);t==null||t(d)},[t,e,n,r]),a=o.useCallback(()=>{const d=f.subYears(e,1);t==null||t(d)},[t,e]);return{nextMonth:s,prevMonth:l,nextYear:i,prevYear:a}},It=({children:e,prevMonth:t,nextMonth:n,prevYear:r,nextYear:s})=>c.jsxs("div",{children:[e,c.jsx(D.Indent,{children:c.jsxs(D.Row,{children:[c.jsx(j.FlatButton,{onClick:r,leftIcon:st.faAngleDoubleLeft}),c.jsx(D.Space,{}),c.jsx(j.FlatButton,{onClick:t,leftIcon:j.stenaAngleLeft}),c.jsx(D.Indent,{num:2}),c.jsx(j.FlatButton,{onClick:n,leftIcon:j.stenaAngleRight}),c.jsx(D.Space,{}),c.jsx(j.FlatButton,{onClick:s,leftIcon:ct.faAngleDoubleRight})]})}),c.jsx(D.Space,{})]}),Bt=()=>{};function q({monthSwitcherPlacement:e,theme:t=_,dateInFocus:n,setDateInFocus:r,currentPanel:s,setCurrentPanel:i,onSelectPreset:l=Bt,hideYearPagination:a=!1,...d}){const{nextMonth:u,prevMonth:x,nextYear:y,prevYear:h}=Tt(n,r,d.monthsPerRow,d.numMonths);switch(Nt(e,d.numMonths)){case"below":return c.jsx(It,{theme:t,nextMonth:u,prevMonth:x,nextYear:y,prevYear:h,children:c.jsx(ae,{...d,theme:t,date:n})});case"header":return c.jsx(D.Column,{children:c.jsx(At,{...d,theme:t,dateInFocus:n,setDateInFocus:r,currentPanel:s,setCurrentPanel:i,onSelectPreset:l,headerLeftContent:c.jsxs(D.Row,{alignItems:"center",children:[!a&&c.jsx(j.FlatButton,{size:"small",onClick:h,leftIcon:j.stenaAngleLeftDouble}),c.jsx(D.Space,{}),c.jsx(j.FlatButton,{size:"small",onClick:x,leftIcon:j.stenaAngleLeft})]}),headerRightContent:c.jsxs(D.Row,{alignItems:"center",children:[c.jsx(j.FlatButton,{size:"small",onClick:u,leftIcon:j.stenaAngleRight}),c.jsx(D.Space,{}),!a&&c.jsx(j.FlatButton,{size:"small",onClick:y,leftIcon:j.stenaAngleRightDouble})]})})});default:return c.jsx(ae,{...d,theme:t,date:n})}}const Nt=(e,t)=>e||(t||1)>1?"below":"header",ze=e=>({startDate:e.startDate?f.format(e.startDate,"yyyy-MM-dd"):void 0,endDate:e.endDate?f.format(e.endDate,"yyyy-MM-dd"):void 0}),_e=({startDate:e,endDate:t})=>{const n=new Date;return{startDate:e?f.parse(e,"yyyy-MM-dd",n):void 0,endDate:t?f.parse(t,"yyyy-MM-dd",n):void 0}},je=({startDate:e,endDate:t})=>Boolean(e&&t&&!f.isSameDay(e,t)&&f.isAfter(e,t)),ke=e=>je(e)?{startDate:e.endDate,endDate:e.startDate}:e,Ht=e=>e.startDate&&e.endDate?ze(ke(_e(e))):e,qe=(e,t,n,r)=>o.useCallback(s=>{const i={startDate:n==="startDate"?s.date:e==null?void 0:e.startDate,endDate:n==="endDate"?s.date:e==null?void 0:e.endDate};je(i)||r(n==="startDate"?"endDate":"startDate"),t==null||t(ke(i))},[n,t,r,e==null?void 0:e.endDate,e==null?void 0:e.startDate]),te=e=>{const[t,n]=o.useState("calendar"),r=o.useCallback(s=>{n(s),e==null||e(s)},[e]);return{currentPanel:t,setCurrentPanel:r}},Je=({focusedInput:e,value:t,onValueChange:n,setFocusedInput:r,statePerMonth:s,onChangePanel:i})=>{const{currentPanel:l,setCurrentPanel:a}=te(i),[d,u]=o.useState(()=>new Date),x=qe(t,n,e,r),y=o.useMemo(()=>Q(s,t==null?void 0:t.startDate,t==null?void 0:t.endDate),[s,t==null?void 0:t.endDate,t==null?void 0:t.startDate]);return{onClickDay:x,statePerMonth:y,currentPanel:l,setCurrentPanel:a,setDateInFocus:u,dateInFocus:d}};function Yt(e){const t=Je(e);return c.jsx(q,{...e,...t})}const Lt=()=>{const[e,t]=o.useState(),[n,r]=o.useState(),[s,i]=o.useState("startDate");return{startDate:e,setStartDate:t,endDate:n,setEndDate:r,focusedInput:s,setFocusedInput:i}},Ke=({onChange:e,value:t,statePerMonth:n,onChangePanel:r})=>{const{currentPanel:s,setCurrentPanel:i}=te(r),[l,a]=o.useState(()=>t!=null?t:new Date),d=o.useCallback(x=>{e&&e(x.date)},[e]),u=o.useMemo(()=>t?P(n,t,["selected","singleSelected"]):n,[n,t]);return{onClickDay:d,statePerMonth:u,date:t,currentPanel:s,setCurrentPanel:i,dateInFocus:l,setDateInFocus:a}};function we(e){const t=Ke(e);return c.jsx(q,{...e,...t})}const Ge=({onChange:e,value:t,statePerMonth:n,onChangePanel:r})=>{const{currentPanel:s,setCurrentPanel:i}=te(r),[l,a]=o.useState(()=>new Date),d=o.useCallback(x=>{if(!e)return;const y=t&&t.find(h=>f.isSameDay(h,x.date));e(t&&y?t.filter(h=>!f.isSameDay(h,x.date)):[...t||[],x.date])},[e,t]),u=o.useMemo(()=>t?t.reduce((x,y)=>P(x,y,["selected"]),n):n,[n,t]);return{onClickDay:d,statePerMonth:u,currentPanel:s,setCurrentPanel:i,dateInFocus:l,setDateInFocus:a}};function Pt(e){const t=Ge(e);return c.jsx(q,{...e,...t})}const Qe=({onChange:e,value:t,statePerMonth:n,onChangePanel:r,locale:s=he.enGB})=>{const[i,l]=o.useState(()=>{const g=De(t,s);return g?g.days[0].date:new Date}),{currentPanel:a,setCurrentPanel:d}=te(r),u=o.useCallback(g=>{e&&e(Se(ue(g.date,s)))},[s,e]),x=o.useCallback(g=>{e&&e(Se(g))},[e]),y=o.useMemo(()=>{const g=De(t,s);return g?Ae(n,g):n},[t,s,n]),h=o.useMemo(()=>{const g=De(t,s);return g?g.days[0].date:new Date},[s,t]);return{statePerMonth:y,date:h,dateInFocus:i,setDateInFocus:l,onClickDay:u,onClickWeek:x,currentPanel:a,setCurrentPanel:d}},Se=e=>{if(!!e)return`${e.endYear}-${e.weekNumber}`},De=(e,t)=>{if(!e)return;const n=e.split("-"),r=parseInt(n[1],10),s=parseInt(n[0],10),i=new Date;i.setFullYear(s);const l=f.startOfWeek(f.setWeek(i,r),{locale:t});return ue(l,t)};function Wt(e){const t=Qe(e);return c.jsx(q,{...e,...t})}const Ot=(e,t)=>e.filter(n=>!f.isSameDay(n,t)),Ut=(e,t)=>!!e.find(n=>f.isSameDay(n,t)),Xe=({value:e,onValueChange:t,statePerMonth:n,onChangePanel:r})=>{const[s,i]=o.useState(),[l,a]=o.useState("startDate"),{currentPanel:d,setCurrentPanel:u}=te(r),[x,y]=o.useState(()=>{var w;return(w=l&&(e==null?void 0:e[l]))!=null?w:new Date}),h=o.useCallback(w=>{i(w);const{startDate:S,endDate:k}=w;if(t)if(S&&k){const b=f.eachDayOfInterval({start:S,end:k});t(b)}else S?t([S]):k&&t([k])},[t]),g=qe(s,h,l,a),m=o.useCallback((w,S,k)=>{t&&(k.ctrlKey||k.metaKey?e?Ut(e,w.date)?t(Ot(e,w.date)):t([...e,w.date]):t([w.date]):g(w,S,k))},[t,g,e]),p=o.useMemo(()=>Ft(n,e),[n,e]);return{onClickDay:m,statePerMonth:p,currentPanel:d,setCurrentPanel:u,dateInFocus:x,setDateInFocus:y}},Ft=(e,t)=>t?t.reduce((n,r)=>P(n,r,["selected"]),e):e;function $t(e){const t=Xe(e);return c.jsx(q,{...e,...t})}const ne="bottom",Ze=()=>{const[e,t]=X.useTippyInstance();return{onChangePanel:o.useCallback(()=>{var r,s;(s=(r=t.current)==null?void 0:r.popperInstance)==null||s.update()},[t]),tippyRef:e}},zt=(e,t,n)=>{const[r,s]=o.useState(n||!1),i=o.useCallback(()=>(s(!0),!0),[s]),l=o.useCallback(()=>{s(!1),t&&t()},[s,t]),a=o.useCallback(d=>{e&&e(d),setTimeout(l,150)},[e,l]);return{showCalendar:i,hideCalendar:l,showingCalendar:r,onSelectDate:a}},re="2999-12-31",_t=({displayFormat:e=z.fullDate,placeholder:t="Enter date",value:n,zIndex:r=100,calendarTheme:s=_,calendarProps:i,openOnMount:l,onClose:a,onChange:d,portalTarget:u,variant:x,width:y,minDate:h,maxDate:g=re,disabled:m})=>{const{hideCalendar:p,showingCalendar:w,onSelectDate:S,showCalendar:k}=zt(d,a,l),{tippyRef:b,onChangePanel:C}=Ze();return c.jsx(D.Box,{width:y,children:c.jsx(X.Popover,{arrow:!1,lazy:!0,visible:w,onClickOutside:p,placement:ne,zIndex:r,appendTo:u!=null?u:"parent",tippyRef:b,disabled:m,content:c.jsx(we,{...i,onChange:S,value:n,theme:s,onChangePanel:C,minDate:h,maxDate:g}),children:c.jsx($.TextInput,{type:"date",contentRight:c.jsx(D.Row,{alignItems:"center",children:c.jsx(j.FlatButton,{size:"small",disabled:m,leftIcon:j.stenaCalendar,onClick:k})}),onFocus:k,onClickRight:k,value:n?f.format(n,e):"",placeholder:t,size:9,disabled:m,autoFocus:l,variant:x,min:h,max:g})})})},qt=(e,t)=>{const n=o.useRef(null),r=o.useRef(null),[s,i]=o.useState(!1),[l,a]=o.useState(void 0),d=o.useCallback(()=>(a("startDate"),i(!0),!0),[a,i]),u=o.useCallback(()=>(a("endDate"),i(!0),!0),[a,i]),x=o.useCallback(()=>{i(!1)},[i]),y=o.useCallback(g=>{l==="startDate"?(t==null||t({startDate:g.date,endDate:e==null?void 0:e.endDate}),e!=null&&e.endDate?setTimeout(x,150):(a("endDate"),r.current&&r.current.focus())):l==="endDate"&&(t==null||t({startDate:e==null?void 0:e.startDate,endDate:g.date}),e!=null&&e.startDate?setTimeout(x,150):(a("startDate"),n.current&&n.current.focus()))},[l,t,a,x,e]),h=o.useMemo(()=>(e==null?void 0:e.startDate)&&(e==null?void 0:e.endDate)&&f.isAfter(e.startDate,e.endDate),[e==null?void 0:e.startDate,e==null?void 0:e.endDate]);return{showingCalendar:s,hideCalendar:x,showCalendarEndDate:u,showCalendarStartDate:d,focusedInput:l,setFocusedInput:a,startDateInputRef:n,endDateInputRef:r,onClickDay:y,startDateIsAfterEnd:h}};function Jt({displayFormat:e=z.fullDate,placeholderStartDate:t="Start date",placeholderEndDate:n="End date",portalTarget:r,value:s,onValueChange:i,zIndex:l=100,width:a,calendarTheme:d=_,calendarProps:u,minDate:x,maxDate:y=re,disabled:h}){const[g,m]=o.useState("calendar"),{hideCalendar:p,showCalendarEndDate:w,showCalendarStartDate:S,showingCalendar:k,focusedInput:b,startDateInputRef:C,endDateInputRef:M,onClickDay:R,startDateIsAfterEnd:E}=qt(s,i),[N,T]=o.useState(()=>{var L;return(L=b&&(s==null?void 0:s[b]))!=null?L:new Date}),Y=o.useMemo(()=>Q(void 0,s==null?void 0:s.startDate,s==null?void 0:s.endDate),[s]);return c.jsx(X.Popover,{arrow:!1,lazy:!0,disabled:h,visible:k,zIndex:l,placement:ne,appendTo:r!=null?r:"parent",onClickOutside:p,content:c.jsx(q,{...u,dateInFocus:N,setDateInFocus:T,statePerMonth:Y,theme:d,onClickDay:R,currentPanel:g,setCurrentPanel:m,minDate:x,maxDate:y}),children:c.jsxs(D.Row,{alignItems:"center",children:[c.jsx($.TextInput,{iconLeft:j.stenaCalendar,onFocus:S,value:s!=null&&s.startDate?f.format(s.startDate,e):"",placeholder:t,width:a,disabled:h,inputRef:C,size:9,variant:E?"error":void 0}),c.jsx(D.Space,{}),c.jsx(j.Icon,{icon:it.faLongArrowAltRight,color:Ce.cssColor("--lhds-color-ui-500"),size:14}),c.jsx(D.Space,{}),c.jsx($.TextInput,{iconLeft:j.stenaCalendar,onFocus:w,value:s!=null&&s.endDate?f.format(s.endDate,e):"",placeholder:n,width:a,disabled:h,inputRef:M,size:9,variant:E?"error":void 0})]})})}const Kt=({calendarProps:e,closeOnCalendarSelectDate:t=!0,dateFormat:n=z.fullDate,disableCalender:r=!1,onValueChange:s,placeholder:i="yyyy-mm-dd",portalTarget:l,value:a,width:d="130px",zIndex:u=100,calendarTheme:x=_,hideCalenderIcon:y=!1,minDate:h,maxDate:g=re,variant:m,...p})=>{const[w,S]=o.useState(!1),{tippyRef:k,onChangePanel:b}=Ze(),C=o.useCallback(()=>{S(!w)},[S,w]),M=o.useCallback(()=>{S(!1)},[S]),R=o.useCallback(H=>{s&&s(H)},[s]),E=o.useCallback(H=>{H&&(R(f.format(H,n)),t&&setTimeout(()=>S(!w),200))},[R,n,t,S,w]),N=!!a&&!/^[-/\\.0-9]+$/.test(a),T=!!a&&f.isValid(f.parse(a,n,new Date)),L=!!a&&a.length>=n.length&&!T||N;return c.jsx(D.Box,{width:d,children:c.jsx(X.Popover,{arrow:!1,lazy:!0,visible:w,zIndex:u,appendTo:l!=null?l:"parent",placement:ne,onClickOutside:M,tippyRef:k,content:c.jsx(we,{...e,onChange:E,onChangePanel:b,value:a&&T?f.parse(a,n,new Date):void 0,minDate:h,maxDate:g,theme:x}),children:c.jsx($.TextInput,{...p,variant:L?"error":m,disableContentPaddingRight:!0,contentRight:y?void 0:c.jsx(D.Row,{alignItems:"center",indent:.5,children:c.jsx(j.FlatButton,{size:"small",disabled:p.disabled,leftIcon:j.stenaCalendar,onClick:C})}),onValueChange:R,placeholder:i,value:a||"",min:h,max:g,size:10})})})},le=e=>{if(e==="")return"00";const t=parseInt(e,10);if(isNaN(t))throw new Error("Hours is not a number");if(t<0||t>23)throw new Error("Hours is an invalid number");switch(e.length){case 1:return`0${t}`;case 2:return e;default:throw new Error("Invalid hour string")}},de=e=>{if(e==="")return"00";const t=parseInt(e,10);if(isNaN(t))throw new Error("Minutes is not a number");if(t<0||t>59)throw new Error("Minutes is an invalid number");switch(e.length){case 1:return`0${t}`;case 2:return e;default:throw new Error("Invalid minute string")}},Gt=e=>{if(!ge(e))return{time:e,success:!1};const t=e&&e.split(/-|:|,|;|[/]|[.]| /);if(t&&t.length===2)try{const n=le(t[0]),r=de(t[1]);return{time:`${n}:${r}`,success:!0}}catch{return{time:e,success:!1}}else if(t&&t.length===1){let n=0,r=0;switch(e.length){case 1:return{time:`0${e}:00`,success:!0};case 2:const s=parseInt(t[0],10);return s>=0&&s<24?{time:`${e}:00`,success:!0}:s>=24&&s<59?{time:`00:${e}`,success:!0}:{time:e,success:!1};case 3:return r=parseInt(e.substr(1,2),10),r>=0&&r<=59?{time:`0${e.substr(0,1)}:${e.substr(1,2)}`,success:!0}:{time:e,success:!1};case 4:return n=parseInt(e.substr(0,2),10),r=parseInt(e.substr(2,2),10),n<0||n>23?{time:e,success:!1}:r<0||r>59?{time:e,success:!1}:{time:`${e.substr(0,2)}:${e.substr(2,2)}`,success:!0};default:return{time:e,success:!1}}}return{time:e,success:!1}},ge=e=>e?/^[-:.,/; 0-9]+$/.test(e):!0,Qt=({onValueChange:e,showPlaceholder:t=!0,useIcon:n=!0,value:r,width:s="85px",variant:i,...l})=>{const[a,d]=o.useState(()=>ge(r)),u="hh:mm",x=o.useCallback(()=>{if(r){const h=Gt(r);d(h.success),h.success&&e&&e(h.time)}},[r,e,d]),y=o.useCallback(h=>{const g=h.target.value,m=ge(g);d(m&&g.length<=u.length),e&&e(g)},[e,d]);return c.jsx($.TextInput,{...l,type:"time",variant:a?i:"error",iconLeft:n?j.stenaClock:void 0,value:r,placeholder:t?u:void 0,onChange:y,onBlur:x,width:s})},ve=({autoFocusLeft:e,autoFocusRight:t,onEsc:n,onEnter:r,onValueChangeLeft:s,onValueChangeRight:i,separatorIcon:l,placeholderLeft:a,placeholderRight:d,typeLeft:u,typeRight:x,onChangeLeft:y,onChangeRight:h,valueLeft:g,valueRight:m,minLeft:p,maxLeft:w,minRight:S,maxRight:k,onClickLeft:b,onClickRight:C,onClickCalendar:M,onClickArrowDown:R,onBlurLeft:E,onBlurRight:N,onFocusLeft:T,onFocusRight:Y,inputRefLeft:L,inputRefRight:H,variant:K,variantLeft:Z,variantRight:G,onBlur:W,showPresets:v,widthLeft:V,widthRight:ee,disabled:J})=>{const I=o.useRef(0),A=o.useMemo(()=>U.debounce(O=>{O===0&&(W==null||W())},10),[W]),se=o.useCallback(O=>{I.current++,A(I.current),T&&T(O)},[T,I,A]),ce=o.useCallback(O=>{I.current++,A(I.current),Y&&Y(O)},[Y,I,A]),ie=o.useCallback(O=>{I.current--,A(I.current),E&&E(O)},[E,I,A]),et=o.useCallback(O=>{I.current--,A(I.current),N&&N(O)},[N,I,A]);return c.jsx(D.Box,{children:c.jsxs($.TextInputBox,{disableContentPaddingRight:!0,disabled:J,variant:K,contentRight:c.jsxs(D.Row,{alignItems:"center",children:[c.jsx(D.Indent,{num:.5,children:c.jsx(j.FlatButton,{leftIcon:j.stenaCalendar,onClick:M,disabled:J,size:"small"})}),v?c.jsxs(c.Fragment,{children:[c.jsx(D.Row,{height:"22px",children:c.jsx(D.SeparatorLine,{vertical:!0})}),c.jsx(D.Indent,{num:.5,children:c.jsx(j.FlatButton,{leftIcon:j.stenaAngleDown,onClick:R,disabled:J,size:"small"})})]}):null]}),children:[c.jsx(D.Box,{width:V,children:c.jsx($.TextInput,{onEsc:n,onEnter:r,onClick:b,disabled:J,hideBorder:!0,placeholder:a,value:g,onValueChange:s,onChange:y,onBlur:ie,onFocus:se,inputRef:L,variant:Z,type:u,autoFocus:e,min:p,max:w})}),c.jsx(D.Row,{indent:.5,alignItems:"center",justifyContent:"center",children:c.jsx(j.Icon,{icon:l,size:12,color:Ce.cssColor("--lhds-color-ui-500")})}),c.jsx(D.Box,{width:ee,children:c.jsx($.TextInput,{onEsc:n,onEnter:r,onClick:C,disabled:J,hideBorder:!0,placeholder:d,value:m,onValueChange:i,onChange:h,onBlur:et,onFocus:ce,inputRef:H,variant:G,type:x,autoFocus:t,min:S,max:k})})]})})},Xt=e=>{if(e==null)throw new Error("Time is not set.");if(e==="")throw new Error("Time is empty.");const t=e.split(":");if(t.length!==2)throw new Error("Invalid time.");if(t[1].length!==2)throw new Error("Invalid time.");if(t[0].length<1||t[0].length>2)throw new Error("Invalid time.");const n=parseInt(t[0],10),r=parseInt(t[1],10);if(isNaN(n))throw new Error("Invalid time.");if(isNaN(r))throw new Error("Invalid time.");if(n<0||n>23)throw new Error("Invalid time.");if(r<0||r>59)throw new Error("Invalid time.");return n*100+r},Zt=e=>{try{return Xt(e),!0}catch{return!1}},oe=e=>{if(e&&Zt(e)){const t=e.split(":");return{hour:D.parseIntElseUndefined(t[0]),minute:D.parseIntElseUndefined(t[1])}}return{hour:void 0,minute:void 0}},vt=e=>`${le(String(e.getHours()))}:${de(String(e.getMinutes()))}`,Vt="_timePicker_1w05d_1",en="_timePickerColumn_1w05d_6",Ve={timePicker:Vt,timePickerColumn:en},tn=({onClick:e,item:t,selected:n,columnRef:r,canScrollRef:s})=>{const i=o.useRef(null);return o.useEffect(function(){if(n&&r.current&&i.current&&s.current){const a=i.current.scrollHeight*Math.max(t-2,0);r.current.scrollTo(0,a),s.current=!1}},[r,t,n,s]),c.jsx(D.Row,{width:"64px",justifyContent:"center",spacing:.5,indent:.5,ref:i,children:n?c.jsx(j.PrimaryButton,{label:String(t),onClick:()=>e&&e(t)}):c.jsx(j.FlatButton,{label:String(t),onClick:()=>e&&e(t)})})},pe=({onClick:e,items:t,selectedItem:n,canScrollRef:r})=>{const s=o.useRef(null);return c.jsx(D.Column,{className:Ve.timePickerColumn,ref:s,children:t.map(i=>c.jsx(tn,{item:i,onClick:e,selected:i===n,columnRef:s,canScrollRef:r},i))})},nn=U.range(0,24),rn=U.range(0,60),sn=({value:e,onValueChange:t})=>{const n=o.useRef(!0),[r,s]=o.useState(void 0),[i,l]=o.useState(void 0);o.useEffect(()=>{if(e){const{minute:u,hour:x}=oe(e);s(x),l(u)}},[e]);const a=o.useCallback(u=>{s(u),t==null||t(`${le(String(u!=null?u:0))}:${de(String(i!=null?i:0))}`)},[i,t]),d=o.useCallback(u=>{l(u),t==null||t(`${le(String(r!=null?r:0))}:${de(String(u!=null?u:0))}`)},[r,t]);return c.jsxs(D.Row,{className:Ve.timePicker,children:[c.jsx(pe,{items:nn,onClick:a,selectedItem:r,canScrollRef:n}),c.jsx(D.Indent,{}),c.jsx(pe,{items:rn,onClick:d,selectedItem:i,canScrollRef:n})]})},cn=(e,t,n)=>{o.useEffect(function(){e&&t(e)},[e,t]),o.useEffect(function(){n.current&&(e?n.current.valueAsDate=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())):n.current.valueAsDate=null)},[e,n])},on=(e,t,{setDateInFocus:n,showCalendarInternal:r,hideCalendarInternal:s,setFirstFocusedInput:i,setCurrentPanel:l,localTime:a,setLocalTime:d,localDate:u,setLocalDate:x},y)=>{const h=o.useCallback(k=>{if(!k)return;const b=new Date(k);if(e)b.setHours(e.getHours()),b.setMinutes(e.getMinutes()),t==null||t(b),x(void 0);else if(a){const{minute:C,hour:M}=oe(a);b.setHours(M!=null?M:0),b.setMinutes(C!=null?C:0),t==null||t(b),x(void 0)}else x(b);n(b),y.current&&(y.current.valueAsDate=new Date(Date.UTC(b.getFullYear(),b.getMonth(),b.getDate())))},[e,y,a,t,n,x]),g=o.useCallback(k=>{if(!!k)if(e){const b=oe(k),C=new Date(e);C.setHours(b.hour||0),C.setMinutes(b.minute||0),t==null||t(C),d(void 0)}else if(u){const b=oe(k),C=new Date(u);C.setHours(b.hour||0),C.setMinutes(b.minute||0),t==null||t(C),d(void 0)}else d(k)},[t,e,u,d]),m=o.useCallback(k=>{k.target.value[0]!=="0"&&h(k.target.valueAsDate)},[h]),p=o.useCallback(k=>g(k.target.value),[g]),w=o.useCallback(()=>{n(e||new Date),l("calendar"),r()},[e,l,r,n]),S=o.useCallback(()=>{i(void 0),s()},[i,s]);return{inputLeftChangeHandler:m,inputRightChangeHandler:p,hideCalendar:S,showCalendar:w,onChangeTime:g,onChangeDate:h}},an=e=>{const[t,n]=o.useState(void 0),[r,s]=o.useState(void 0),[i,l,a]=D.useBoolean(!1),[d,u,x]=D.useBoolean(!1),[y,h]=o.useState(void 0),[g,m]=o.useState(()=>e!=null?e:new Date),[p,w]=o.useState("calendar");return{isCalendarVisible:i,showCalendarInternal:l,hideCalendarInternal:a,firstFocusedInput:y,setFirstFocusedInput:h,dateInFocus:g,setDateInFocus:m,currentPanel:p,setCurrentPanel:w,isTimePickerVisible:d,showTimePicker:u,hideTimePicker:x,localDate:t,setLocalDate:n,localTime:r,setLocalTime:s}},ln=(e,t,n,r,{isCalendarVisible:s,setCurrentPanel:i,showTimePicker:l,hideTimePicker:a})=>{const d=o.useCallback(()=>{s||n(),i("calendar"),a()},[a,s,i,n]),u=o.useCallback(()=>{r(),l()},[r,l]),x=o.useCallback(m=>{e(m.date),r(),l()},[e,r,l]),y=o.useCallback(()=>{i("presets"),n()},[i,n]),h=o.useCallback(()=>{var m;s?r():((m=t.current)==null||m.focus(),i("calendar"),n())},[s,r,t,i,n]),g=o.useCallback(m=>{m.key==="Escape"&&r()},[r]);return{onFocusLeft:d,onFocusRight:u,onClickDay:x,onClickArrowButton:y,onClickCalendarButton:h,onKeyDownHandler:g}},dn=({value:e,onValueChange:t,onEnter:n,onEsc:r,onBlur:s,autoFocus:i,minDate:l,widthLeft:a=128,widthRight:d=80,maxDate:u=re,variant:x,disabled:y})=>{const h=o.useRef(null),g=o.useRef(null),m=an(e),{setCurrentPanel:p,currentPanel:w,isCalendarVisible:S,dateInFocus:k,setDateInFocus:b,isTimePickerVisible:C,hideTimePicker:M,localTime:R,localDate:E}=m,{showCalendar:N,hideCalendar:T,inputLeftChangeHandler:Y,inputRightChangeHandler:L,onChangeTime:H,onChangeDate:K}=on(e,t,m,h),{onKeyDownHandler:Z,onFocusRight:G,onFocusLeft:W,onClickDay:v,onClickCalendarButton:V,onClickArrowButton:ee}=ln(K,h,N,T,m);cn(e,b,h);const J=o.useMemo(()=>{const ie=e||E;return ie?P(void 0,ie,["singleSelected","selected"]):{}},[E,e]),I=o.useCallback(()=>{T(),M()},[T,M]),A=o.useMemo(()=>e?vt(e):R,[e,R]),se=D.useDelayedFalse(S,300),ce=D.useDelayedFalse(C,300);return c.jsx(D.Box,{onKeyDown:Z,children:c.jsx(X.Popover,{arrow:!1,lazy:!0,disabled:y,placement:ne,visible:S||C,onClickOutside:I,content:(se||ce)&&c.jsx(D.Column,{children:se?c.jsx(q,{statePerMonth:J,onClickDay:v,dateInFocus:k,setDateInFocus:b,currentPanel:w,setCurrentPanel:p,minDate:l,maxDate:u}):ce?c.jsxs(D.Column,{children:[c.jsx(D.Column,{overflow:"hidden",height:"250px",children:c.jsx(sn,{value:A!=null?A:"",onValueChange:H})}),c.jsx(D.Space,{}),c.jsx(D.Row,{justifyContent:"flex-end",children:c.jsx(j.PrimaryButton,{label:"Done",onClick:M})})]}):null}),children:c.jsx(ve,{autoFocusLeft:i,onEsc:r,onEnter:n,onBlur:s,disabled:y,separatorIcon:j.stenaClock,typeLeft:"date",typeRight:"time",placeholderLeft:"yyyy-mm-dd",placeholderRight:"hh:mm",onChangeLeft:Y,onChangeRight:L,onClickArrowDown:ee,onClickCalendar:V,onFocusLeft:W,onFocusRight:G,onClickLeft:W,onClickRight:G,inputRefLeft:h,inputRefRight:g,valueRight:A!=null?A:"",widthLeft:a,widthRight:d,minLeft:l,maxLeft:u,variant:x})})})},un=(e,t,n,r,s)=>{o.useEffect(function(){e&&n(e)},[e,n]),o.useEffect(function(){t&&n(t)},[t,n]),o.useEffect(function(){r.current&&(e?r.current.valueAsDate=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())):r.current.valueAsDate=null)},[e,r]),o.useEffect(function(){s.current&&(t?s.current.valueAsDate=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())):s.current.valueAsDate=null)},[t,s])},fn=(e,t,n,{setDateInFocus:r,showCalendarInternal:s,hideCalendarInternal:i,setFirstFocusedInput:l,setCurrentPanel:a})=>{const d=o.useCallback(h=>{var g;h.target.value[0]!=="0"&&(n==null||n({startDate:(g=h.target.valueAsDate)!=null?g:void 0,endDate:t}))},[n,t]),u=o.useCallback(h=>{var g;h.target.value[0]!=="0"&&(n==null||n({startDate:e,endDate:(g=h.target.valueAsDate)!=null?g:void 0}))},[n,e]),x=o.useCallback(()=>{r(e||t||new Date),a("calendar"),s()},[e,t,a,s,r]),y=o.useCallback(()=>{l(void 0),i()},[l,i]);return{inputLeftChangeHandler:d,inputRightChangeHandler:u,hideCalendar:y,setDateInFocus:r,setCurrentPanel:a,showCalendar:x}},Dn=(e,t)=>{const[n,r,s]=D.useBoolean(!1),[i,l]=o.useState(void 0),[a,d]=o.useState("startDate"),[u,x]=o.useState(()=>{const g=a==="startDate"?e:a==="endDate"?t:void 0;return g!=null?g:new Date}),[y,h]=o.useState("calendar");return{isCalendarVisible:n,showCalendarInternal:r,hideCalendarInternal:s,firstFocusedInput:i,setFirstFocusedInput:l,focusedInput:a,setFocusedInput:d,dateInFocus:u,setDateInFocus:x,currentPanel:y,setCurrentPanel:h}},xn=(e,t,n,r,s,i,l,{firstFocusedInput:a,setFirstFocusedInput:d,isCalendarVisible:u,setFocusedInput:x,focusedInput:y,setCurrentPanel:h})=>{const g=o.useCallback(()=>{a==null&&d("startDate"),x("startDate"),u||i()},[u,x,i,d,a]),m=o.useCallback(()=>{a==null&&d("endDate"),x("endDate"),u||i()},[u,x,i,d,a]),p=o.useCallback(b=>{var C,M,R,E;y==="startDate"?t!=null&&f.isAfter(b.date,t)?(n==null||n({startDate:b.date,endDate:void 0}),x("endDate"),(C=s.current)==null||C.focus()):(n==null||n({startDate:b.date,endDate:t}),a==="startDate"?(x("endDate"),(M=s.current)==null||M.focus()):setTimeout(l,50)):y==="endDate"&&(e?f.isAfter(e,b.date)?(n==null||n({startDate:b.date,endDate:void 0}),x("endDate"),(E=s.current)==null||E.focus()):(n==null||n({startDate:e,endDate:b.date}),setTimeout(l,50)):(n==null||n({startDate:e,endDate:b.date}),x("startDate"),(R=r.current)==null||R.focus()))},[y,n,t,a,x,s,l,e,r]),w=o.useCallback(()=>{h("presets"),i()},[h,i]),S=o.useCallback(()=>{var b;u?l():(x("startDate"),d("startDate"),(b=r.current)==null||b.focus(),h("calendar"),i())},[u,l,x,d,r,h,i]),k=o.useCallback(b=>{b.key==="Escape"&&l()},[l]);return{onFocusLeft:g,onFocusRight:m,onClickDay:p,onClickArrowButton:w,onClickCalendarButton:S,onKeyDownHandler:k}};function gn({value:e,onValueChange:t,autoFocus:n,onBlur:r,onEnter:s,onEsc:i,minDate:l,maxDate:a=re,calendarProps:d,widthLeft:u=128,widthRight:x=128,variant:y,disabled:h}){const{startDate:g,endDate:m}=e||{},p=o.useRef(null),w=o.useRef(null),S=Dn(g,m),{dateInFocus:k,setDateInFocus:b,isCalendarVisible:C,currentPanel:M,setCurrentPanel:R}=S,{showCalendar:E,hideCalendar:N,inputLeftChangeHandler:T,inputRightChangeHandler:Y}=fn(g,m,t,S),{onKeyDownHandler:L,onFocusRight:H,onFocusLeft:K,onClickDay:Z,onClickCalendarButton:G,onClickArrowButton:W}=xn(g,m,t,p,w,E,N,S);un(g,m,b,p,w);const v=o.useMemo(()=>g&&m&&f.isAfter(g,m),[g,m]),V=o.useMemo(()=>Re(d==null?void 0:d.statePerMonth,g,m,k),[d==null?void 0:d.statePerMonth,g,m,k]),ee=D.useDelayedFalse(C,300);return c.jsx(D.Box,{onKeyDown:L,children:c.jsx(X.Popover,{arrow:!1,lazy:!0,disabled:h,placement:ne,onClickOutside:N,visible:C,content:ee&&c.jsx(q,{onClickDay:Z,dateInFocus:k,setDateInFocus:b,currentPanel:M,setCurrentPanel:R,minDate:l,maxDate:a,...d,statePerMonth:V}),children:c.jsx(ve,{autoFocusLeft:n,onEsc:i,onEnter:s,onBlur:r,disabled:h,separatorIcon:j.stenaArrowRight,typeLeft:"date",typeRight:"date",placeholderLeft:"Start date",placeholderRight:"End date",onChangeLeft:T,onChangeRight:Y,onClickArrowDown:W,onClickCalendar:G,onFocusLeft:K,onFocusRight:H,onClickLeft:K,onClickRight:H,inputRefLeft:p,inputRefRight:w,variant:v?"error":y,widthLeft:u,widthRight:x,minLeft:l,maxLeft:a,minRight:l,maxRight:a})})})}exports.Calendar=ae;exports.CalendarDay=me;exports.DateInput=_t;exports.DateRangeCalendar=Yt;exports.DateRangeDualTextInput=gn;exports.DateRangeExclusionCalendar=$t;exports.DateRangeInput=Jt;exports.DateTextInput=Kt;exports.DateTimeInput=dn;exports.Month=B;exports.MonthPicker=Ue;exports.MultiDateCalendar=Pt;exports.PresetPicker=Fe;exports.SingleDateCalendar=we;exports.SingleWeekCalendar=Wt;exports.TimeTextInput=Qt;exports.WeekDay=Te;exports.WeekDayCell=Oe;exports.WeekNumberCell=We;exports.YearPicker=$e;exports.addDayStateHighlights=P;exports.addDayStateHighlightsOnSingleDay=ye;exports.addWeekRangeHighlights=Ae;exports.addWeekStateHighlights=ut;exports.buildDayStateForDateRange=Q;exports.buildDayStateForRange=Ee;exports.buildDayStateForSingleMonth=Re;exports.calculateOverflowingMonth=He;exports.createDay=Be;exports.dateRangeToStrings=ze;exports.dayHasHighlight=Ye;exports.dayHighlightSelect=F;exports.defaultCalendarTheme=_;exports.defaultTextPropsProvider=Pe;exports.defaultWrapperStyleProvider=Le;exports.extranetCalendarTheme=gt;exports.getDaysForWeekForDate=Ne;exports.getMonthInYear=be;exports.getMonthsInYear=xe;exports.getWeekForDate=ue;exports.getWeeksForMonth=Ie;exports.isDateRangeInvalid=je;exports.setDayStateValue=lt;exports.setDayStateValueFunction=dt;exports.stringsToDateRange=_e;exports.toggleDateStringsIfEndIsEarlierThanStart=Ht;exports.toggleDatesIfEndIsEarlierThanStart=ke;exports.useDateRangeCalendarState=Lt;exports.useDateRangeExclusionSelection=Xe;exports.useDateRangeSelection=Je;exports.useMultiDateSelection=Ge;exports.useSingleDateSelection=Ke;exports.useSingleWeekSelection=Qe;
|
|
2
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const D=require("@stenajs-webui/core"),j=require("@stenajs-webui/elements"),f=require("date-fns"),he=require("date-fns/locale"),U=require("lodash"),o=require("react"),c=require("react/jsx-runtime"),tt=require("@emotion/styled"),nt=require("@fortawesome/free-solid-svg-icons/faCaretLeft"),rt=require("@fortawesome/free-solid-svg-icons/faCaretRight"),st=require("@fortawesome/free-solid-svg-icons/faAngleDoubleLeft"),ct=require("@fortawesome/free-solid-svg-icons/faAngleDoubleRight"),$=require("@stenajs-webui/forms"),X=require("@stenajs-webui/tooltip"),Ce=require("@stenajs-webui/theme"),it=require("@fortawesome/free-solid-svg-icons/faLongArrowAltRight"),ot=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function at(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const Me=at(o),fe=ot(tt),z={yearAndMonth:"yyyy-MM",fullDate:"yyyy-MM-dd",fullMonthName:"LLLL",fullDateAndTime:"yyyy-MM-dd HH:mm",fullDateAndTimeSystem:"yyyy-MM-ddTHH:MM",weekDayName:"EEEE",weekDayNameShort:"EEE",dateAndMonth:"d MMM",monthAndDate:"MMM do"},Q=(e={},t,n)=>{if(t&&n&&f.isAfter(n,t))return f.eachDayOfInterval({start:t,end:n}).reduce((s,i)=>{const l=f.isSameDay(i,t),a=f.isSameDay(i,n);return P(s,i,l?["selected","selectedStart","range"]:a?["selected","selectedEnd","range"]:["range"])},e);let r=e;return t&&(r=P(r,t,["selected","singleSelected"])),n&&(r=P(r,n,["selected","singleSelected"])),r},Re=(e={},t,n,r)=>Ee(e,t,n,f.startOfMonth(r),f.endOfMonth(r)),Ee=(e={},t,n,r,s)=>t&&n?Q(e,f.max([t,f.subDays(r,1)]),f.min([n,f.addDays(s,1)])):Q(e,t,n),lt=(e,t,n)=>{const r=f.format(t,z.yearAndMonth),s=f.getISOWeek(t),i=f.getDate(t);return{...e,[r]:{...e&&e[r],[s]:{...e&&e[r]&&e[r][s],[i]:{...e&&e[r]&&e[r][s]&&e[r][s][i],...n}}}}},dt=(e,t,n)=>{const r=f.format(t,z.yearAndMonth),s=f.getISOWeek(t),i=f.getDate(t);return{...e,[r]:{...e&&e[r],[s]:{...e&&e[r]&&e[r][s],[i]:{...e&&e[r]&&e[r][s]&&e[r][s][i],...n(e&&e[r]&&e[r][s]&&e[r][s][i])}}}}},P=(e,t,n)=>{const r=t.getMonth()+1,s=`${t.getFullYear()}-${r<10?"0":""}${r}`,i=f.getISOWeek(t),l=f.getDate(t),a=e&&e[s]&&e[s][i]&&e[s][i][l];return{...e,[s]:{...e&&e[s],[i]:{...e&&e[s]&&e[s][i],[l]:ye(a,n)}}}},ye=(e,t)=>{var n;return{...e,highlights:[...(n=e==null?void 0:e.highlights)!=null?n:[],...t]}},ut=(e,t,n)=>{const r=t.days[0].date,s=r.getMonth()+1,i=`${r.getFullYear()}-${s<10?"0":""}${s}`,l=t.weekNumber;let a=e;t.days.forEach(y=>{a=P(a,y.date,n)});const d=a&&a[i]?a[i][l]:void 0,u=d&&d.highlights?[...d.highlights,...n]:n,x={...d,highlights:u};return{...a,[i]:{...e&&e[i],[l]:x}}},Ae=(e,t)=>{var s;if(!t.days.length)return{...e};const n=t.days[0].date,r=(s=U.last(t.days))==null?void 0:s.date;return{...Q(e,n,r)}},ft=(e,t)=>o.useMemo(()=>e?P(t,new Date,["today"]):t,[e,t]);var B=(e=>(e[e.JANUARY=0]="JANUARY",e[e.FEBRUARY=1]="FEBRUARY",e[e.MARCH=2]="MARCH",e[e.APRIL=3]="APRIL",e[e.MAY=4]="MAY",e[e.JUNE=5]="JUNE",e[e.JULY=6]="JULY",e[e.AUGUST=7]="AUGUST",e[e.SEPTEMBER=8]="SEPTEMBER",e[e.OCTOBER=9]="OCTOBER",e[e.NOVEMBER=10]="NOVEMBER",e[e.DECEMBER=11]="DECEMBER",e))(B||{}),Te=(e=>(e[e.SUNDAY=0]="SUNDAY",e[e.MONDAY=1]="MONDAY",e[e.TUESDAY=2]="TUESDAY",e[e.WEDNESDAY=3]="WEDNESDAY",e[e.THURSDAY=4]="THURSDAY",e[e.FRIDAY=5]="FRIDAY",e[e.SATURDAY=6]="SATURDAY",e))(Te||{});const xe=(e,t,n,r)=>{const s=[];for(let i=0;i<n;i++)s.push(be(e,t+i,r));return s},be=(e,t,n)=>{const r=e+Math.floor(t/12),s=t%12,i=new Date(r,s,1);return{monthString:f.format(i,z.yearAndMonth),name:U.startCase(f.format(i,z.fullMonthName,{locale:n})),year:r,monthInYear:s,weeks:Ie(r,s,n)}},Ie=(e,t,n,r=!0)=>{const s=new Date(e,t,1),i=f.startOfWeek(s,{locale:n}),l=[];for(let a=0;a<6;a++){const d=ue(f.addWeeks(i,a),n);if(a>0&&d.startMonth!==t&&!r)return l;l.push(d)}return l},ue=(e,t)=>{const n=f.getMonth(f.addDays(e,7))!==f.getMonth(e);return{weekNumber:f.getWeek(e,{locale:t}),startMonth:f.getMonth(e),startYear:f.getYear(e),endMonth:f.getMonth(f.addDays(e,6)),endYear:f.getYear(f.addDays(e,6)),days:Ne(e,t),isLastWeekOfMonth:n}},Be=(e,t)=>{const n=f.getISODay(e);return{date:e,name:f.format(e,"EEE",t?{locale:t}:void 0),dateString:f.format(f.addHours(e,12),z.fullDate),weekNumber:f.getWeek(e,{locale:t}),year:f.getYear(e),month:f.getMonth(e),dayOfMonth:f.getDate(e),dayOfWeek:n,isFirstDayOfWeek:n===1,isLastDayOfWeek:n===7,isFirstDayOfMonth:f.isSameDay(f.startOfMonth(e),e),isLastDayOfMonth:f.isSameDay(f.endOfMonth(e),e)}},Ne=(e,t)=>f.eachDayOfInterval({start:e,end:f.addDays(e,6)}).map(n=>Be(n,t)),He=(e,t)=>t>11?{year:e+Math.floor(t/12),month:t%12}:t<0?{year:e+Math.floor(t/12),month:12+t%12}:{year:e,month:t},Dt="_calendar_1w0de_1",xt={calendar:Dt},Ye=(e,t,n)=>!!(t&&t.indexOf(n)>=0||e&&e.highlights&&e.highlights.indexOf(n)>=0),F=(e,t,n,r,s)=>{if(n.length!==r.length)throw new Error("Select highlight failed, number of values do not equal number of highlights.");if(n.length===0)return s;for(let i=0;i<n.length;i++)if(typeof n[i]=="boolean"&&n[i]||typeof n[i]=="string"&&Ye(e,t,n[i]))return r[i];return s},Le=({selectedBackground:e,todayBackground:t,rangeBackground:n,borderColor:r="transparent"})=>(s,i,l,a,d)=>{let u={};const x=F(i,s,["selected","range","today",l.month===d.monthInYear],[e,n,t,"#fff"],"transparent");return{...u,backgroundColor:x,borderTopLeftRadius:F(i,s,["selectedStart","singleSelected"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],r),borderBottomLeftRadius:F(i,s,["selectedStart","singleSelected"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],r),borderTopRightRadius:F(i,s,["selectedEnd","singleSelected"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],r),borderBottomRightRadius:F(i,s,["selectedEnd","singleSelected"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],r),boxSizing:"border-box"}},Pe=({selectedColor:e,disabledColor:t,inOtherMonthColor:n,rangeTextColor:r})=>(s,i,l,a,d)=>{const u=l.month!==d.monthInYear;return{color:F(i,s,[u,"selected","range","enabled","disabled"],[n,e,r,void 0,t])}},_={width:"var(--swui-calendar-day-width)",height:"var(--swui-calendar-day-height)",WeekNumber:{backgroundColor:"var(--swui-calendar-week-number-bg-color)",textColor:"var(--swui-calendar-week-number-text-color)",clickableTextColor:"var(--swui-calendar-week-number-clickable-text-color)",show:!0},WeekDay:{textColor:"var(--swui-calendar-week-day-text-color)",clickableTextColor:"var(--swui-calendar-week-day-clickable-text-color)"},CalendarDay:{tdStyle:Le({selectedBackground:"var(--swui-calendar-wrapper-selected-background)",rangeBackground:"var(--swui-calendar-wrapper-range-background)",todayBackground:"var(--swui-calendar-wrapper-today-background)"}),textProps:Pe({selectedColor:"var(--swui-calendar-text-selected-color)",disabledColor:"var(--swui-calendar-text-disabled-color)",inOtherMonthColor:"var(--swui-calendar-text-in-other-month-color)"})},CalendarMonth:{headerTextColor:"var(--swui-calendar-week-day-text-color)"}},gt={..._,width:"37px",height:"37px"},ht=(e,t,n)=>t&&f.isBefore(e,t)?f.isSameDay(e,t):n&&f.isAfter(e,n)?f.isSameDay(e,n):!0,yt=function({dayComponent:t,minDate:n,maxDate:r,dayState:s,day:i,...l}){const a=o.useMemo(()=>ht(i.date,n,r)?s:ye(s,["disabled"]),[i.date,s,r,n]);return c.jsx(t,{day:i,...l,dayState:a})},We=({onClickWeek:e,theme:t,week:n,background:r,backgroundColor:s,prefix:i})=>{const l=c.jsxs(D.Box,{width:t.width,height:t.height,justifyContent:"center",alignItems:"center",children:[r&&c.jsx(D.Box,{position:"absolute",children:r}),c.jsx(D.Box,{position:"absolute",children:c.jsxs(D.Text,{color:e?t.WeekNumber.clickableTextColor:t.WeekNumber.textColor,children:[i,n.weekNumber]})})]});return c.jsx(D.Box,{background:s||t.WeekNumber.backgroundColor,position:"relative",children:e?c.jsx(D.Clickable,{borderRadius:"var(--swui-calendar-day-border-radius)",onClick:a=>e(n,a),disableFocusHighlight:!e,children:l}):l})};function bt({week:e,month:t,dayComponent:n,statePerWeekDay:r,userDataPerWeekDay:s,minDate:i,maxDate:l,onClickWeek:a,onClickDay:d,theme:u,renderWeekNumber:x,extraDayContent:y,defaultHighlights:h}){return c.jsxs("tr",{children:[u.WeekNumber.show&&c.jsx("td",{children:x?x(e,u,a):c.jsx(We,{week:e,onClickWeek:a,theme:u})}),e.days.map(g=>c.jsx(yt,{dayComponent:n,day:g,week:e,month:t,dayState:r&&r[g.dayOfMonth],userData:s&&s[g.dayOfMonth],onClickDay:d,theme:u,extraDayContent:y,defaultHighlights:h,minDate:i,maxDate:l},g.dateString))]},e.weekNumber)}const Oe=({onClickWeekDay:e,day:t,theme:n})=>{const r=c.jsx(D.Box,{width:n.width,height:n.height,justifyContent:"center",alignItems:"center",children:c.jsx(D.Text,{size:"small",color:e?n.WeekDay.clickableTextColor:n.WeekDay.textColor,children:t.name})});return e?c.jsx(D.Clickable,{borderRadius:"var(--swui-calendar-day-border-radius)",onClick:s=>e(t.dayOfWeek,s),disableFocusHighlight:!e,children:r}):r},me=function({day:t,week:n,month:r,dayState:s,userData:i,onClickDay:l,theme:a,extraDayContent:d,defaultHighlights:u}){const x=c.jsx(D.Box,{width:"100%",height:"100%",justifyContent:"center",alignItems:"center",children:c.jsx(D.Text,{...a.CalendarDay.textProps&&a.CalendarDay.textProps(u,s,t,n,r,i),children:t.dayOfMonth})}),y=fe.default.td({...a.CalendarDay.tdStyle&&a.CalendarDay.tdStyle(u,s,t,n,r,i)}),h=fe.default.div({...a.CalendarDay.innerWrapperStyle&&a.CalendarDay.innerWrapperStyle(u,s,t,n,r,i),width:"100%",height:"100%"}),g=fe.default.div({...a.CalendarDay.cellWrapperStyle&&a.CalendarDay.cellWrapperStyle(u,s,t,n,r,i),width:"100%",height:"100%",position:"relative"});return c.jsx(y,{children:c.jsx(h,{children:c.jsx(g,{children:t.month===r.monthInYear&&c.jsxs(c.Fragment,{children:[d&&c.jsx(d,{week:n,month:r,day:t,dayState:s,theme:a,userData:i}),l&&mt(u,s)?c.jsx(D.Clickable,{onClick:m=>l(t,i,m),style:{width:"100%",height:"100%"},borderRadius:"var(--swui-calendar-day-border-radius)",children:x}):c.jsx(c.Fragment,{children:x})]})})})})},mt=(e,t)=>!!F(t,e,["enabled","disabled"],[!0,!1],!0);function jt({month:e,dayComponent:t=me,statePerWeek:n,userDataPerWeek:r,minDate:s,maxDate:i,onClickDay:l,onClickWeek:a,onClickWeekDay:d,onClickMonth:u,onClickYear:x,renderWeekNumber:y,renderWeekDay:h,headerLeftContent:g,headerRightContent:m,theme:p=_,extraDayContent:w,defaultHighlights:S}){const k=p.WeekNumber.show;return c.jsx(c.Fragment,{children:c.jsxs(D.Box,{alignItems:"stretch",children:[c.jsxs(D.Row,{justifyContent:"space-between",alignItems:"center",height:"32px",children:[c.jsx(D.Box,{alignItems:"center",children:g}),c.jsxs(D.Row,{alignItems:"center",children:[c.jsx(D.Row,{width:"104px",justifyContent:"center",children:u?c.jsx(j.FlatButton,{onClick:()=>u(e),label:e.name}):c.jsx(D.Text,{children:e.name})}),c.jsx(D.Space,{}),c.jsx(D.Row,{width:"64px",justifyContent:"center",children:x?c.jsx(j.FlatButton,{onClick:()=>x(e.year),label:String(e.year)}):c.jsx(D.Text,{children:e.year})})]}),c.jsx(D.Box,{alignItems:"center",children:m})]}),c.jsx("table",{children:c.jsxs("tbody",{children:[c.jsxs("tr",{children:[k&&c.jsx("td",{children:c.jsx(D.Box,{width:p.width,height:p.height})}),e.weeks[0].days.map(b=>c.jsx("td",{children:h?h(b.name,p,d):c.jsx(Oe,{day:b,onClickWeekDay:d,theme:p})},b.name))]}),e.weeks.map(b=>c.jsx(bt,{month:e,week:b,dayComponent:t,statePerWeekDay:n&&n[b.weekNumber],userDataPerWeekDay:r&&r[b.weekNumber],onClickDay:l,onClickWeek:a,theme:p,renderWeekNumber:y,extraDayContent:w,defaultHighlights:S,minDate:s,maxDate:i},b.weekNumber))]})})]})})}function kt({monthRows:e,dayComponent:t=me,userDataPerMonth:n,statePerMonth:r,minDate:s,maxDate:i,onClickDay:l,onClickWeekDay:a,onClickWeek:d,onClickMonth:u,onClickYear:x,renderWeekDay:y,renderWeekNumber:h,headerLeftContent:g,headerRightContent:m,extraDayContent:p,defaultHighlights:w,theme:S=_}){const k=o.useMemo(()=>s?f.parse(s,"yyyy-MM-dd",new Date):void 0,[s]),b=o.useMemo(()=>i?f.parse(i,"yyyy-MM-dd",new Date):void 0,[i]);return c.jsx("div",{className:xt.calendar,children:e.map((C,M)=>c.jsx(D.Spacing,{children:c.jsx(D.Row,{children:C.map((R,E)=>c.jsxs(Me.Fragment,{children:[E>0&&c.jsx(D.Space,{}),c.jsx(jt,{month:R,dayComponent:t,userDataPerWeek:n&&n[R.monthString],statePerWeek:r&&r[R.monthString],onClickDay:l,onClickWeekDay:a,onClickWeek:d,onClickMonth:u,onClickYear:x,theme:S,renderWeekNumber:h,renderWeekDay:y,headerLeftContent:g,headerRightContent:m,extraDayContent:p,defaultHighlights:w,minDate:k,maxDate:b})]},R.name))})},M))})}function ae(e){var l;const t=wt(e.year,e.month,e.date),{year:n,month:r}=He(t.year,t.month),s=St(n,r,(l=e.locale)!=null?l:he.enGB,e.numMonths,e.monthsPerRow),i=ft(e.highlightToday,e.statePerMonth);return c.jsx(kt,{year:n,month:r,monthRows:s,...e,statePerMonth:i})}const wt=(e,t,n)=>{if(t&&e)return{month:t,year:e};if(n)return{month:f.getMonth(n),year:f.getYear(n)};const r=new Date;return{month:f.getMonth(r),year:f.getYear(r)}},St=(e,t,n,r,s)=>r==null?[[be(e,t,n)]]:s==null?[xe(e,t,r,n)]:U.chunk(xe(e,t,r,n),s),pt=({value:e,onValueChange:t,month:n,locale:r})=>{const s=o.useMemo(()=>{const i=new Date(2e3,n,1);return U.startCase(f.format(i,"MMM",{locale:r}))},[r,n]);return c.jsx(D.Row,{width:"64px",justifyContent:"center",spacing:.5,indent:.5,children:e===n?c.jsx(j.PrimaryButton,{label:s,onClick:()=>t&&t(n)}):c.jsx(j.FlatButton,{label:s,onClick:()=>t&&t(n)})})},Ct=[[B.JANUARY,B.FEBRUARY,B.MARCH],[B.APRIL,B.MAY,B.JUNE],[B.JULY,B.AUGUST,B.SEPTEMBER],[B.OCTOBER,B.NOVEMBER,B.DECEMBER]],Ue=({value:e,onValueChange:t,locale:n=he.enGB})=>c.jsx(D.Column,{children:Ct.map(r=>c.jsx(D.Row,{children:r.map(s=>c.jsx(pt,{month:s,onValueChange:t,value:e,locale:n},s))},r[0]))}),Mt=e=>[{label:"Past",presets:[{label:"Last 3 days",startDate:e,endDate:f.subDays(e,2)},{label:"Last 7 days",startDate:e,endDate:f.subDays(e,6)},{label:"Last 30 days",startDate:e,endDate:f.subDays(e,29)},{label:"Last 45 days",startDate:e,endDate:f.subDays(e,44)}]},{label:"Future",presets:[{label:"Next 3 days",startDate:e,endDate:f.addDays(e,2)},{label:"Next 7 days",startDate:e,endDate:f.addDays(e,6)},{label:"Next 30 days",startDate:e,endDate:f.addDays(e,29)},{label:"Next 45 days",startDate:e,endDate:f.addDays(e,44)}]}],Fe=({onClickPreset:e})=>{var i;const[t,n]=o.useState(0),r=o.useMemo(()=>Mt(new Date),[]),s=(i=r[t])!=null?i:r[0];return c.jsxs(D.Column,{children:[c.jsxs(D.Row,{justifyContent:"space-between",alignItems:"center",width:"200px",children:[c.jsx(j.FlatButton,{size:"small",leftIcon:j.stenaAngleLeft,disabled:t===0,onClick:()=>n(t-1)}),c.jsx(D.Text,{children:s.label}),c.jsx(j.FlatButton,{size:"small",leftIcon:j.stenaAngleRight,disabled:t===r.length-1,onClick:()=>n(t+1)})]}),c.jsx(D.Space,{}),c.jsx(D.Column,{alignItems:"center",children:s.presets.map(l=>c.jsxs(Me.Fragment,{children:[c.jsx(j.PrimaryButton,{label:l.label,onClick:()=>e(l)}),c.jsx(D.Space,{})]},l.label))})]})},Rt=({value:e,onValueChange:t,year:n})=>{const r=String(n);return c.jsx(D.Row,{width:"64px",justifyContent:"center",spacing:.5,indent:.5,children:e===n?c.jsx(j.PrimaryButton,{label:r,onClick:()=>t==null?void 0:t(n)}):c.jsx(j.FlatButton,{label:r,onClick:()=>t==null?void 0:t(n)})})},$e=({value:e,onValueChange:t,initialLastYear:n})=>{const[r,s]=o.useState(()=>e?e+4:n!=null?n:new Date().getFullYear()+4),i=o.useMemo(()=>{const l=r-11;return U.chunk(U.range(l,r+1),3)},[r]);return o.useEffect(()=>{s(l=>Et(e,l))},[e]),c.jsxs(D.Row,{children:[c.jsx(D.Column,{justifyContent:"center",children:c.jsx(j.FlatButton,{leftIcon:nt.faCaretLeft,onClick:()=>s(r-3)})}),c.jsx(D.Column,{children:i.map(l=>c.jsx(D.Row,{children:l.map(a=>c.jsx(Rt,{year:a,onValueChange:t,value:e},a))},l[0]))}),c.jsx(D.Column,{justifyContent:"center",children:c.jsx(j.FlatButton,{leftIcon:rt.faCaretRight,onClick:()=>s(r+3)})})]})},Et=(e,t)=>{if(e==null)return t;if(e>t){const r=e-t,s=r%3,i=r-s+3;return t+i}const n=t-11;if(e<n){const r=n-e,s=r%3,i=r-s+3;return t-i}return t},At=function({locale:t,dateInFocus:n,setDateInFocus:r,currentPanel:s,setCurrentPanel:i,...l}){const a=o.useCallback(y=>{const h=n?new Date(n):new Date;h.setMonth(y),r&&r(h),i("calendar")},[n,r,i]),d=o.useCallback(y=>{const h=n?new Date(n):new Date;h.setFullYear(y),r&&r(h),i("calendar")},[n,r,i]),u=o.useCallback(()=>{i("year")},[i]),x=o.useCallback(()=>{i("month")},[i]);switch(s){case"calendar":return c.jsx(c.Fragment,{children:c.jsx(ae,{...l,date:n,onClickYear:u,onClickMonth:x,locale:t})});case"month":return c.jsx(Ue,{value:n.getMonth(),onValueChange:a,locale:t});case"year":return c.jsx($e,{value:n.getFullYear(),onValueChange:d});case"presets":return c.jsx(Fe,{onClickPreset:()=>{}});default:return c.jsx(D.Box,{children:c.jsx(j.PrimaryButton,{label:"Show calendar",onClick:()=>i("calendar")})})}},Tt=(e,t,n,r)=>{const s=o.useCallback(()=>{var u;const d=f.addMonths(e,(u=n!=null?n:r)!=null?u:1);t==null||t(d)},[t,e,n,r]),i=o.useCallback(()=>{const d=f.addYears(e,1);t==null||t(d)},[t,e]),l=o.useCallback(()=>{var u;const d=f.subMonths(e,(u=n!=null?n:r)!=null?u:1);t==null||t(d)},[t,e,n,r]),a=o.useCallback(()=>{const d=f.subYears(e,1);t==null||t(d)},[t,e]);return{nextMonth:s,prevMonth:l,nextYear:i,prevYear:a}},It=({children:e,prevMonth:t,nextMonth:n,prevYear:r,nextYear:s})=>c.jsxs("div",{children:[e,c.jsx(D.Indent,{children:c.jsxs(D.Row,{children:[c.jsx(j.FlatButton,{onClick:r,leftIcon:st.faAngleDoubleLeft}),c.jsx(D.Space,{}),c.jsx(j.FlatButton,{onClick:t,leftIcon:j.stenaAngleLeft}),c.jsx(D.Indent,{num:2}),c.jsx(j.FlatButton,{onClick:n,leftIcon:j.stenaAngleRight}),c.jsx(D.Space,{}),c.jsx(j.FlatButton,{onClick:s,leftIcon:ct.faAngleDoubleRight})]})}),c.jsx(D.Space,{})]}),Bt=()=>{};function q({monthSwitcherPlacement:e,theme:t=_,dateInFocus:n,setDateInFocus:r,currentPanel:s,setCurrentPanel:i,onSelectPreset:l=Bt,hideYearPagination:a=!1,...d}){const{nextMonth:u,prevMonth:x,nextYear:y,prevYear:h}=Tt(n,r,d.monthsPerRow,d.numMonths);switch(Nt(e,d.numMonths)){case"below":return c.jsx(It,{theme:t,nextMonth:u,prevMonth:x,nextYear:y,prevYear:h,children:c.jsx(ae,{...d,theme:t,date:n})});case"header":return c.jsx(D.Column,{children:c.jsx(At,{...d,theme:t,dateInFocus:n,setDateInFocus:r,currentPanel:s,setCurrentPanel:i,onSelectPreset:l,headerLeftContent:c.jsxs(D.Row,{alignItems:"center",children:[!a&&c.jsx(j.FlatButton,{size:"small",onClick:h,leftIcon:j.stenaAngleLeftDouble}),c.jsx(D.Space,{}),c.jsx(j.FlatButton,{size:"small",onClick:x,leftIcon:j.stenaAngleLeft})]}),headerRightContent:c.jsxs(D.Row,{alignItems:"center",children:[c.jsx(j.FlatButton,{size:"small",onClick:u,leftIcon:j.stenaAngleRight}),c.jsx(D.Space,{}),!a&&c.jsx(j.FlatButton,{size:"small",onClick:y,leftIcon:j.stenaAngleRightDouble})]})})});default:return c.jsx(ae,{...d,theme:t,date:n})}}const Nt=(e,t)=>e||(t||1)>1?"below":"header",ze=e=>({startDate:e.startDate?f.format(e.startDate,"yyyy-MM-dd"):void 0,endDate:e.endDate?f.format(e.endDate,"yyyy-MM-dd"):void 0}),_e=({startDate:e,endDate:t})=>{const n=new Date;return{startDate:e?f.parse(e,"yyyy-MM-dd",n):void 0,endDate:t?f.parse(t,"yyyy-MM-dd",n):void 0}},je=({startDate:e,endDate:t})=>Boolean(e&&t&&!f.isSameDay(e,t)&&f.isAfter(e,t)),ke=e=>je(e)?{startDate:e.endDate,endDate:e.startDate}:e,Ht=e=>e.startDate&&e.endDate?ze(ke(_e(e))):e,qe=(e,t,n,r)=>o.useCallback(s=>{const i={startDate:n==="startDate"?s.date:e==null?void 0:e.startDate,endDate:n==="endDate"?s.date:e==null?void 0:e.endDate};je(i)||r(n==="startDate"?"endDate":"startDate"),t==null||t(ke(i))},[n,t,r,e==null?void 0:e.endDate,e==null?void 0:e.startDate]),te=e=>{const[t,n]=o.useState("calendar"),r=o.useCallback(s=>{n(s),e==null||e(s)},[e]);return{currentPanel:t,setCurrentPanel:r}},Je=({focusedInput:e,value:t,onValueChange:n,setFocusedInput:r,statePerMonth:s,onChangePanel:i})=>{const{currentPanel:l,setCurrentPanel:a}=te(i),[d,u]=o.useState(()=>new Date),x=qe(t,n,e,r),y=o.useMemo(()=>Q(s,t==null?void 0:t.startDate,t==null?void 0:t.endDate),[s,t==null?void 0:t.endDate,t==null?void 0:t.startDate]);return{onClickDay:x,statePerMonth:y,currentPanel:l,setCurrentPanel:a,setDateInFocus:u,dateInFocus:d}};function Yt(e){const t=Je(e);return c.jsx(q,{...e,...t})}const Lt=()=>{const[e,t]=o.useState(),[n,r]=o.useState(),[s,i]=o.useState("startDate");return{startDate:e,setStartDate:t,endDate:n,setEndDate:r,focusedInput:s,setFocusedInput:i}},Ke=({onChange:e,value:t,statePerMonth:n,onChangePanel:r})=>{const{currentPanel:s,setCurrentPanel:i}=te(r),[l,a]=o.useState(()=>t!=null?t:new Date),d=o.useCallback(x=>{e&&e(x.date)},[e]),u=o.useMemo(()=>t?P(n,t,["selected","singleSelected"]):n,[n,t]);return{onClickDay:d,statePerMonth:u,date:t,currentPanel:s,setCurrentPanel:i,dateInFocus:l,setDateInFocus:a}};function we(e){const t=Ke(e);return c.jsx(q,{...e,...t})}const Ge=({onChange:e,value:t,statePerMonth:n,onChangePanel:r})=>{const{currentPanel:s,setCurrentPanel:i}=te(r),[l,a]=o.useState(()=>new Date),d=o.useCallback(x=>{if(!e)return;const y=t&&t.find(h=>f.isSameDay(h,x.date));e(t&&y?t.filter(h=>!f.isSameDay(h,x.date)):[...t||[],x.date])},[e,t]),u=o.useMemo(()=>t?t.reduce((x,y)=>P(x,y,["selected"]),n):n,[n,t]);return{onClickDay:d,statePerMonth:u,currentPanel:s,setCurrentPanel:i,dateInFocus:l,setDateInFocus:a}};function Pt(e){const t=Ge(e);return c.jsx(q,{...e,...t})}const Qe=({onChange:e,value:t,statePerMonth:n,onChangePanel:r,locale:s=he.enGB})=>{const[i,l]=o.useState(()=>{const g=De(t,s);return g?g.days[0].date:new Date}),{currentPanel:a,setCurrentPanel:d}=te(r),u=o.useCallback(g=>{e&&e(Se(ue(g.date,s)))},[s,e]),x=o.useCallback(g=>{e&&e(Se(g))},[e]),y=o.useMemo(()=>{const g=De(t,s);return g?Ae(n,g):n},[t,s,n]),h=o.useMemo(()=>{const g=De(t,s);return g?g.days[0].date:new Date},[s,t]);return{statePerMonth:y,date:h,dateInFocus:i,setDateInFocus:l,onClickDay:u,onClickWeek:x,currentPanel:a,setCurrentPanel:d}},Se=e=>{if(!!e)return`${e.endYear}-${e.weekNumber}`},De=(e,t)=>{if(!e)return;const n=e.split("-"),r=parseInt(n[1],10),s=parseInt(n[0],10),i=new Date;i.setFullYear(s);const l=f.startOfWeek(f.setWeek(i,r),{locale:t});return ue(l,t)};function Wt(e){const t=Qe(e);return c.jsx(q,{...e,...t})}const Ot=(e,t)=>e.filter(n=>!f.isSameDay(n,t)),Ut=(e,t)=>!!e.find(n=>f.isSameDay(n,t)),Xe=({value:e,onValueChange:t,statePerMonth:n,onChangePanel:r})=>{const[s,i]=o.useState(),[l,a]=o.useState("startDate"),{currentPanel:d,setCurrentPanel:u}=te(r),[x,y]=o.useState(()=>{var w;return(w=l&&(e==null?void 0:e[l]))!=null?w:new Date}),h=o.useCallback(w=>{i(w);const{startDate:S,endDate:k}=w;if(t)if(S&&k){const b=f.eachDayOfInterval({start:S,end:k});t(b)}else S?t([S]):k&&t([k])},[t]),g=qe(s,h,l,a),m=o.useCallback((w,S,k)=>{t&&(k.ctrlKey||k.metaKey?e?Ut(e,w.date)?t(Ot(e,w.date)):t([...e,w.date]):t([w.date]):g(w,S,k))},[t,g,e]),p=o.useMemo(()=>Ft(n,e),[n,e]);return{onClickDay:m,statePerMonth:p,currentPanel:d,setCurrentPanel:u,dateInFocus:x,setDateInFocus:y}},Ft=(e,t)=>t?t.reduce((n,r)=>P(n,r,["selected"]),e):e;function $t(e){const t=Xe(e);return c.jsx(q,{...e,...t})}const ne="bottom",Ze=()=>{const[e,t]=X.useTippyInstance();return{onChangePanel:o.useCallback(()=>{var r,s;(s=(r=t.current)==null?void 0:r.popperInstance)==null||s.update()},[t]),tippyRef:e}},zt=(e,t,n)=>{const[r,s]=o.useState(n||!1),i=o.useCallback(()=>(s(!0),!0),[s]),l=o.useCallback(()=>{s(!1),t&&t()},[s,t]),a=o.useCallback(d=>{e&&e(d),setTimeout(l,150)},[e,l]);return{showCalendar:i,hideCalendar:l,showingCalendar:r,onSelectDate:a}},re="2999-12-31",_t=({displayFormat:e=z.fullDate,placeholder:t="Enter date",value:n,zIndex:r=100,calendarTheme:s=_,calendarProps:i,openOnMount:l,onClose:a,onChange:d,portalTarget:u,variant:x,width:y,minDate:h,maxDate:g=re,disabled:m})=>{const{hideCalendar:p,showingCalendar:w,onSelectDate:S,showCalendar:k}=zt(d,a,l),{tippyRef:b,onChangePanel:C}=Ze();return c.jsx(D.Box,{width:y,children:c.jsx(X.Popover,{arrow:!1,lazy:!0,visible:w,onClickOutside:p,placement:ne,zIndex:r,appendTo:u!=null?u:"parent",tippyRef:b,disabled:m,content:c.jsx(we,{...i,onChange:S,value:n,theme:s,onChangePanel:C,minDate:h,maxDate:g}),children:c.jsx($.TextInput,{type:"date",contentRight:c.jsx(D.Row,{alignItems:"center",children:c.jsx(j.FlatButton,{size:"small",disabled:m,leftIcon:j.stenaCalendar,onClick:k})}),onFocus:k,onClickRight:k,value:n?f.format(n,e):"",placeholder:t,size:9,disabled:m,autoFocus:l,variant:x,min:h,max:g})})})},qt=(e,t)=>{const n=o.useRef(null),r=o.useRef(null),[s,i]=o.useState(!1),[l,a]=o.useState(void 0),d=o.useCallback(()=>(a("startDate"),i(!0),!0),[a,i]),u=o.useCallback(()=>(a("endDate"),i(!0),!0),[a,i]),x=o.useCallback(()=>{i(!1)},[i]),y=o.useCallback(g=>{l==="startDate"?(t==null||t({startDate:g.date,endDate:e==null?void 0:e.endDate}),e!=null&&e.endDate?setTimeout(x,150):(a("endDate"),r.current&&r.current.focus())):l==="endDate"&&(t==null||t({startDate:e==null?void 0:e.startDate,endDate:g.date}),e!=null&&e.startDate?setTimeout(x,150):(a("startDate"),n.current&&n.current.focus()))},[l,t,a,x,e]),h=o.useMemo(()=>(e==null?void 0:e.startDate)&&(e==null?void 0:e.endDate)&&f.isAfter(e.startDate,e.endDate),[e==null?void 0:e.startDate,e==null?void 0:e.endDate]);return{showingCalendar:s,hideCalendar:x,showCalendarEndDate:u,showCalendarStartDate:d,focusedInput:l,setFocusedInput:a,startDateInputRef:n,endDateInputRef:r,onClickDay:y,startDateIsAfterEnd:h}};function Jt({displayFormat:e=z.fullDate,placeholderStartDate:t="Start date",placeholderEndDate:n="End date",portalTarget:r,value:s,onValueChange:i,zIndex:l=100,width:a,calendarTheme:d=_,calendarProps:u,minDate:x,maxDate:y=re,disabled:h}){const[g,m]=o.useState("calendar"),{hideCalendar:p,showCalendarEndDate:w,showCalendarStartDate:S,showingCalendar:k,focusedInput:b,startDateInputRef:C,endDateInputRef:M,onClickDay:R,startDateIsAfterEnd:E}=qt(s,i),[N,T]=o.useState(()=>{var L;return(L=b&&(s==null?void 0:s[b]))!=null?L:new Date}),Y=o.useMemo(()=>Q(void 0,s==null?void 0:s.startDate,s==null?void 0:s.endDate),[s]);return c.jsx(X.Popover,{arrow:!1,lazy:!0,disabled:h,visible:k,zIndex:l,placement:ne,appendTo:r!=null?r:"parent",onClickOutside:p,content:c.jsx(q,{...u,dateInFocus:N,setDateInFocus:T,statePerMonth:Y,theme:d,onClickDay:R,currentPanel:g,setCurrentPanel:m,minDate:x,maxDate:y}),children:c.jsxs(D.Row,{alignItems:"center",children:[c.jsx($.TextInput,{iconLeft:j.stenaCalendar,onFocus:S,value:s!=null&&s.startDate?f.format(s.startDate,e):"",placeholder:t,width:a,disabled:h,inputRef:C,size:9,variant:E?"error":void 0}),c.jsx(D.Space,{}),c.jsx(j.Icon,{icon:it.faLongArrowAltRight,color:Ce.cssColor("--lhds-color-ui-500"),size:14}),c.jsx(D.Space,{}),c.jsx($.TextInput,{iconLeft:j.stenaCalendar,onFocus:w,value:s!=null&&s.endDate?f.format(s.endDate,e):"",placeholder:n,width:a,disabled:h,inputRef:M,size:9,variant:E?"error":void 0})]})})}const Kt=({calendarProps:e,closeOnCalendarSelectDate:t=!0,dateFormat:n=z.fullDate,disableCalender:r=!1,onValueChange:s,placeholder:i="yyyy-mm-dd",portalTarget:l,value:a,width:d="130px",zIndex:u=100,calendarTheme:x=_,hideCalenderIcon:y=!1,minDate:h,maxDate:g=re,variant:m,...p})=>{const[w,S]=o.useState(!1),{tippyRef:k,onChangePanel:b}=Ze(),C=o.useCallback(()=>{S(!w)},[S,w]),M=o.useCallback(()=>{S(!1)},[S]),R=o.useCallback(H=>{s&&s(H)},[s]),E=o.useCallback(H=>{H&&(R(f.format(H,n)),t&&setTimeout(()=>S(!w),200))},[R,n,t,S,w]),N=!!a&&!/^[-/\\.0-9]+$/.test(a),T=!!a&&f.isValid(f.parse(a,n,new Date)),L=!!a&&a.length>=n.length&&!T||N;return c.jsx(D.Box,{width:d,children:c.jsx(X.Popover,{arrow:!1,lazy:!0,visible:w,zIndex:u,appendTo:l!=null?l:"parent",placement:ne,onClickOutside:M,tippyRef:k,content:c.jsx(we,{...e,onChange:E,onChangePanel:b,value:a&&T?f.parse(a,n,new Date):void 0,minDate:h,maxDate:g,theme:x}),children:c.jsx($.TextInput,{...p,variant:L?"error":m,disableContentPaddingRight:!0,contentRight:y?void 0:c.jsx(D.Row,{alignItems:"center",indent:.5,children:c.jsx(j.FlatButton,{size:"small",disabled:p.disabled||r,leftIcon:j.stenaCalendar,onClick:C})}),onValueChange:R,placeholder:i,value:a||"",min:h,max:g,size:10})})})},le=e=>{if(e==="")return"00";const t=parseInt(e,10);if(isNaN(t))throw new Error("Hours is not a number");if(t<0||t>23)throw new Error("Hours is an invalid number");switch(e.length){case 1:return`0${t}`;case 2:return e;default:throw new Error("Invalid hour string")}},de=e=>{if(e==="")return"00";const t=parseInt(e,10);if(isNaN(t))throw new Error("Minutes is not a number");if(t<0||t>59)throw new Error("Minutes is an invalid number");switch(e.length){case 1:return`0${t}`;case 2:return e;default:throw new Error("Invalid minute string")}},Gt=e=>{if(!ge(e))return{time:e,success:!1};const t=e&&e.split(/-|:|,|;|[/]|[.]| /);if(t&&t.length===2)try{const n=le(t[0]),r=de(t[1]);return{time:`${n}:${r}`,success:!0}}catch{return{time:e,success:!1}}else if(t&&t.length===1){let n=0,r=0;switch(e.length){case 1:return{time:`0${e}:00`,success:!0};case 2:const s=parseInt(t[0],10);return s>=0&&s<24?{time:`${e}:00`,success:!0}:s>=24&&s<59?{time:`00:${e}`,success:!0}:{time:e,success:!1};case 3:return r=parseInt(e.substr(1,2),10),r>=0&&r<=59?{time:`0${e.substr(0,1)}:${e.substr(1,2)}`,success:!0}:{time:e,success:!1};case 4:return n=parseInt(e.substr(0,2),10),r=parseInt(e.substr(2,2),10),n<0||n>23?{time:e,success:!1}:r<0||r>59?{time:e,success:!1}:{time:`${e.substr(0,2)}:${e.substr(2,2)}`,success:!0};default:return{time:e,success:!1}}}return{time:e,success:!1}},ge=e=>e?/^[-:.,/; 0-9]+$/.test(e):!0,Qt=({onValueChange:e,showPlaceholder:t=!0,useIcon:n=!0,value:r,width:s="85px",variant:i,...l})=>{const[a,d]=o.useState(()=>ge(r)),u="hh:mm",x=o.useCallback(()=>{if(r){const h=Gt(r);d(h.success),h.success&&e&&e(h.time)}},[r,e,d]),y=o.useCallback(h=>{const g=h.target.value,m=ge(g);d(m&&g.length<=u.length),e&&e(g)},[e,d]);return c.jsx($.TextInput,{...l,type:"time",variant:a?i:"error",iconLeft:n?j.stenaClock:void 0,value:r,placeholder:t?u:void 0,onChange:y,onBlur:x,width:s})},ve=({autoFocusLeft:e,autoFocusRight:t,onEsc:n,onEnter:r,onValueChangeLeft:s,onValueChangeRight:i,separatorIcon:l,placeholderLeft:a,placeholderRight:d,typeLeft:u,typeRight:x,onChangeLeft:y,onChangeRight:h,valueLeft:g,valueRight:m,minLeft:p,maxLeft:w,minRight:S,maxRight:k,onClickLeft:b,onClickRight:C,onClickCalendar:M,onClickArrowDown:R,onBlurLeft:E,onBlurRight:N,onFocusLeft:T,onFocusRight:Y,inputRefLeft:L,inputRefRight:H,variant:K,variantLeft:Z,variantRight:G,onBlur:W,showPresets:v,widthLeft:V,widthRight:ee,disabled:J})=>{const I=o.useRef(0),A=o.useMemo(()=>U.debounce(O=>{O===0&&(W==null||W())},10),[W]),se=o.useCallback(O=>{I.current++,A(I.current),T&&T(O)},[T,I,A]),ce=o.useCallback(O=>{I.current++,A(I.current),Y&&Y(O)},[Y,I,A]),ie=o.useCallback(O=>{I.current--,A(I.current),E&&E(O)},[E,I,A]),et=o.useCallback(O=>{I.current--,A(I.current),N&&N(O)},[N,I,A]);return c.jsx(D.Box,{children:c.jsxs($.TextInputBox,{disableContentPaddingRight:!0,disabled:J,variant:K,contentRight:c.jsxs(D.Row,{alignItems:"center",children:[c.jsx(D.Indent,{num:.5,children:c.jsx(j.FlatButton,{leftIcon:j.stenaCalendar,onClick:M,disabled:J,size:"small"})}),v?c.jsxs(c.Fragment,{children:[c.jsx(D.Row,{height:"22px",children:c.jsx(D.SeparatorLine,{vertical:!0})}),c.jsx(D.Indent,{num:.5,children:c.jsx(j.FlatButton,{leftIcon:j.stenaAngleDown,onClick:R,disabled:J,size:"small"})})]}):null]}),children:[c.jsx(D.Box,{width:V,children:c.jsx($.TextInput,{onEsc:n,onEnter:r,onClick:b,disabled:J,hideBorder:!0,placeholder:a,value:g,onValueChange:s,onChange:y,onBlur:ie,onFocus:se,inputRef:L,variant:Z,type:u,autoFocus:e,min:p,max:w})}),c.jsx(D.Row,{indent:.5,alignItems:"center",justifyContent:"center",children:c.jsx(j.Icon,{icon:l,size:12,color:Ce.cssColor("--lhds-color-ui-500")})}),c.jsx(D.Box,{width:ee,children:c.jsx($.TextInput,{onEsc:n,onEnter:r,onClick:C,disabled:J,hideBorder:!0,placeholder:d,value:m,onValueChange:i,onChange:h,onBlur:et,onFocus:ce,inputRef:H,variant:G,type:x,autoFocus:t,min:S,max:k})})]})})},Xt=e=>{if(e==null)throw new Error("Time is not set.");if(e==="")throw new Error("Time is empty.");const t=e.split(":");if(t.length!==2)throw new Error("Invalid time.");if(t[1].length!==2)throw new Error("Invalid time.");if(t[0].length<1||t[0].length>2)throw new Error("Invalid time.");const n=parseInt(t[0],10),r=parseInt(t[1],10);if(isNaN(n))throw new Error("Invalid time.");if(isNaN(r))throw new Error("Invalid time.");if(n<0||n>23)throw new Error("Invalid time.");if(r<0||r>59)throw new Error("Invalid time.");return n*100+r},Zt=e=>{try{return Xt(e),!0}catch{return!1}},oe=e=>{if(e&&Zt(e)){const t=e.split(":");return{hour:D.parseIntElseUndefined(t[0]),minute:D.parseIntElseUndefined(t[1])}}return{hour:void 0,minute:void 0}},vt=e=>`${le(String(e.getHours()))}:${de(String(e.getMinutes()))}`,Vt="_timePicker_1w05d_1",en="_timePickerColumn_1w05d_6",Ve={timePicker:Vt,timePickerColumn:en},tn=({onClick:e,item:t,selected:n,columnRef:r,canScrollRef:s})=>{const i=o.useRef(null);return o.useEffect(function(){if(n&&r.current&&i.current&&s.current){const a=i.current.scrollHeight*Math.max(t-2,0);r.current.scrollTo(0,a),s.current=!1}},[r,t,n,s]),c.jsx(D.Row,{width:"64px",justifyContent:"center",spacing:.5,indent:.5,ref:i,children:n?c.jsx(j.PrimaryButton,{label:String(t),onClick:()=>e&&e(t)}):c.jsx(j.FlatButton,{label:String(t),onClick:()=>e&&e(t)})})},pe=({onClick:e,items:t,selectedItem:n,canScrollRef:r})=>{const s=o.useRef(null);return c.jsx(D.Column,{className:Ve.timePickerColumn,ref:s,children:t.map(i=>c.jsx(tn,{item:i,onClick:e,selected:i===n,columnRef:s,canScrollRef:r},i))})},nn=U.range(0,24),rn=U.range(0,60),sn=({value:e,onValueChange:t})=>{const n=o.useRef(!0),[r,s]=o.useState(void 0),[i,l]=o.useState(void 0);o.useEffect(()=>{if(e){const{minute:u,hour:x}=oe(e);s(x),l(u)}},[e]);const a=o.useCallback(u=>{s(u),t==null||t(`${le(String(u!=null?u:0))}:${de(String(i!=null?i:0))}`)},[i,t]),d=o.useCallback(u=>{l(u),t==null||t(`${le(String(r!=null?r:0))}:${de(String(u!=null?u:0))}`)},[r,t]);return c.jsxs(D.Row,{className:Ve.timePicker,children:[c.jsx(pe,{items:nn,onClick:a,selectedItem:r,canScrollRef:n}),c.jsx(D.Indent,{}),c.jsx(pe,{items:rn,onClick:d,selectedItem:i,canScrollRef:n})]})},cn=(e,t,n)=>{o.useEffect(function(){e&&t(e)},[e,t]),o.useEffect(function(){n.current&&(e?n.current.valueAsDate=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())):n.current.valueAsDate=null)},[e,n])},on=(e,t,{setDateInFocus:n,showCalendarInternal:r,hideCalendarInternal:s,setFirstFocusedInput:i,setCurrentPanel:l,localTime:a,setLocalTime:d,localDate:u,setLocalDate:x},y)=>{const h=o.useCallback(k=>{if(!k)return;const b=new Date(k);if(e)b.setHours(e.getHours()),b.setMinutes(e.getMinutes()),t==null||t(b),x(void 0);else if(a){const{minute:C,hour:M}=oe(a);b.setHours(M!=null?M:0),b.setMinutes(C!=null?C:0),t==null||t(b),x(void 0)}else x(b);n(b),y.current&&(y.current.valueAsDate=new Date(Date.UTC(b.getFullYear(),b.getMonth(),b.getDate())))},[e,y,a,t,n,x]),g=o.useCallback(k=>{if(!!k)if(e){const b=oe(k),C=new Date(e);C.setHours(b.hour||0),C.setMinutes(b.minute||0),t==null||t(C),d(void 0)}else if(u){const b=oe(k),C=new Date(u);C.setHours(b.hour||0),C.setMinutes(b.minute||0),t==null||t(C),d(void 0)}else d(k)},[t,e,u,d]),m=o.useCallback(k=>{k.target.value[0]!=="0"&&h(k.target.valueAsDate)},[h]),p=o.useCallback(k=>g(k.target.value),[g]),w=o.useCallback(()=>{n(e||new Date),l("calendar"),r()},[e,l,r,n]),S=o.useCallback(()=>{i(void 0),s()},[i,s]);return{inputLeftChangeHandler:m,inputRightChangeHandler:p,hideCalendar:S,showCalendar:w,onChangeTime:g,onChangeDate:h}},an=e=>{const[t,n]=o.useState(void 0),[r,s]=o.useState(void 0),[i,l,a]=D.useBoolean(!1),[d,u,x]=D.useBoolean(!1),[y,h]=o.useState(void 0),[g,m]=o.useState(()=>e!=null?e:new Date),[p,w]=o.useState("calendar");return{isCalendarVisible:i,showCalendarInternal:l,hideCalendarInternal:a,firstFocusedInput:y,setFirstFocusedInput:h,dateInFocus:g,setDateInFocus:m,currentPanel:p,setCurrentPanel:w,isTimePickerVisible:d,showTimePicker:u,hideTimePicker:x,localDate:t,setLocalDate:n,localTime:r,setLocalTime:s}},ln=(e,t,n,r,{isCalendarVisible:s,setCurrentPanel:i,showTimePicker:l,hideTimePicker:a})=>{const d=o.useCallback(()=>{s||n(),i("calendar"),a()},[a,s,i,n]),u=o.useCallback(()=>{r(),l()},[r,l]),x=o.useCallback(m=>{e(m.date),r(),l()},[e,r,l]),y=o.useCallback(()=>{i("presets"),n()},[i,n]),h=o.useCallback(()=>{var m;s?r():((m=t.current)==null||m.focus(),i("calendar"),n())},[s,r,t,i,n]),g=o.useCallback(m=>{m.key==="Escape"&&r()},[r]);return{onFocusLeft:d,onFocusRight:u,onClickDay:x,onClickArrowButton:y,onClickCalendarButton:h,onKeyDownHandler:g}},dn=({value:e,onValueChange:t,onEnter:n,onEsc:r,onBlur:s,autoFocus:i,minDate:l,widthLeft:a=128,widthRight:d=80,maxDate:u=re,variant:x,disabled:y})=>{const h=o.useRef(null),g=o.useRef(null),m=an(e),{setCurrentPanel:p,currentPanel:w,isCalendarVisible:S,dateInFocus:k,setDateInFocus:b,isTimePickerVisible:C,hideTimePicker:M,localTime:R,localDate:E}=m,{showCalendar:N,hideCalendar:T,inputLeftChangeHandler:Y,inputRightChangeHandler:L,onChangeTime:H,onChangeDate:K}=on(e,t,m,h),{onKeyDownHandler:Z,onFocusRight:G,onFocusLeft:W,onClickDay:v,onClickCalendarButton:V,onClickArrowButton:ee}=ln(K,h,N,T,m);cn(e,b,h);const J=o.useMemo(()=>{const ie=e||E;return ie?P(void 0,ie,["singleSelected","selected"]):{}},[E,e]),I=o.useCallback(()=>{T(),M()},[T,M]),A=o.useMemo(()=>e?vt(e):R,[e,R]),se=D.useDelayedFalse(S,300),ce=D.useDelayedFalse(C,300);return c.jsx(D.Box,{onKeyDown:Z,children:c.jsx(X.Popover,{arrow:!1,lazy:!0,disabled:y,placement:ne,visible:S||C,onClickOutside:I,content:(se||ce)&&c.jsx(D.Column,{children:se?c.jsx(q,{statePerMonth:J,onClickDay:v,dateInFocus:k,setDateInFocus:b,currentPanel:w,setCurrentPanel:p,minDate:l,maxDate:u}):ce?c.jsxs(D.Column,{children:[c.jsx(D.Column,{overflow:"hidden",height:"250px",children:c.jsx(sn,{value:A!=null?A:"",onValueChange:H})}),c.jsx(D.Space,{}),c.jsx(D.Row,{justifyContent:"flex-end",children:c.jsx(j.PrimaryButton,{label:"Done",onClick:M})})]}):null}),children:c.jsx(ve,{autoFocusLeft:i,onEsc:r,onEnter:n,onBlur:s,disabled:y,separatorIcon:j.stenaClock,typeLeft:"date",typeRight:"time",placeholderLeft:"yyyy-mm-dd",placeholderRight:"hh:mm",onChangeLeft:Y,onChangeRight:L,onClickArrowDown:ee,onClickCalendar:V,onFocusLeft:W,onFocusRight:G,onClickLeft:W,onClickRight:G,inputRefLeft:h,inputRefRight:g,valueRight:A!=null?A:"",widthLeft:a,widthRight:d,minLeft:l,maxLeft:u,variant:x})})})},un=(e,t,n,r,s)=>{o.useEffect(function(){e&&n(e)},[e,n]),o.useEffect(function(){t&&n(t)},[t,n]),o.useEffect(function(){r.current&&(e?r.current.valueAsDate=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())):r.current.valueAsDate=null)},[e,r]),o.useEffect(function(){s.current&&(t?s.current.valueAsDate=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())):s.current.valueAsDate=null)},[t,s])},fn=(e,t,n,{setDateInFocus:r,showCalendarInternal:s,hideCalendarInternal:i,setFirstFocusedInput:l,setCurrentPanel:a})=>{const d=o.useCallback(h=>{var g;h.target.value[0]!=="0"&&(n==null||n({startDate:(g=h.target.valueAsDate)!=null?g:void 0,endDate:t}))},[n,t]),u=o.useCallback(h=>{var g;h.target.value[0]!=="0"&&(n==null||n({startDate:e,endDate:(g=h.target.valueAsDate)!=null?g:void 0}))},[n,e]),x=o.useCallback(()=>{r(e||t||new Date),a("calendar"),s()},[e,t,a,s,r]),y=o.useCallback(()=>{l(void 0),i()},[l,i]);return{inputLeftChangeHandler:d,inputRightChangeHandler:u,hideCalendar:y,setDateInFocus:r,setCurrentPanel:a,showCalendar:x}},Dn=(e,t)=>{const[n,r,s]=D.useBoolean(!1),[i,l]=o.useState(void 0),[a,d]=o.useState("startDate"),[u,x]=o.useState(()=>{const g=a==="startDate"?e:a==="endDate"?t:void 0;return g!=null?g:new Date}),[y,h]=o.useState("calendar");return{isCalendarVisible:n,showCalendarInternal:r,hideCalendarInternal:s,firstFocusedInput:i,setFirstFocusedInput:l,focusedInput:a,setFocusedInput:d,dateInFocus:u,setDateInFocus:x,currentPanel:y,setCurrentPanel:h}},xn=(e,t,n,r,s,i,l,{firstFocusedInput:a,setFirstFocusedInput:d,isCalendarVisible:u,setFocusedInput:x,focusedInput:y,setCurrentPanel:h})=>{const g=o.useCallback(()=>{a==null&&d("startDate"),x("startDate"),u||i()},[u,x,i,d,a]),m=o.useCallback(()=>{a==null&&d("endDate"),x("endDate"),u||i()},[u,x,i,d,a]),p=o.useCallback(b=>{var C,M,R,E;y==="startDate"?t!=null&&f.isAfter(b.date,t)?(n==null||n({startDate:b.date,endDate:void 0}),x("endDate"),(C=s.current)==null||C.focus()):(n==null||n({startDate:b.date,endDate:t}),a==="startDate"?(x("endDate"),(M=s.current)==null||M.focus()):setTimeout(l,50)):y==="endDate"&&(e?f.isAfter(e,b.date)?(n==null||n({startDate:b.date,endDate:void 0}),x("endDate"),(E=s.current)==null||E.focus()):(n==null||n({startDate:e,endDate:b.date}),setTimeout(l,50)):(n==null||n({startDate:e,endDate:b.date}),x("startDate"),(R=r.current)==null||R.focus()))},[y,n,t,a,x,s,l,e,r]),w=o.useCallback(()=>{h("presets"),i()},[h,i]),S=o.useCallback(()=>{var b;u?l():(x("startDate"),d("startDate"),(b=r.current)==null||b.focus(),h("calendar"),i())},[u,l,x,d,r,h,i]),k=o.useCallback(b=>{b.key==="Escape"&&l()},[l]);return{onFocusLeft:g,onFocusRight:m,onClickDay:p,onClickArrowButton:w,onClickCalendarButton:S,onKeyDownHandler:k}};function gn({value:e,onValueChange:t,autoFocus:n,onBlur:r,onEnter:s,onEsc:i,minDate:l,maxDate:a=re,calendarProps:d,widthLeft:u=128,widthRight:x=128,variant:y,disabled:h}){const{startDate:g,endDate:m}=e||{},p=o.useRef(null),w=o.useRef(null),S=Dn(g,m),{dateInFocus:k,setDateInFocus:b,isCalendarVisible:C,currentPanel:M,setCurrentPanel:R}=S,{showCalendar:E,hideCalendar:N,inputLeftChangeHandler:T,inputRightChangeHandler:Y}=fn(g,m,t,S),{onKeyDownHandler:L,onFocusRight:H,onFocusLeft:K,onClickDay:Z,onClickCalendarButton:G,onClickArrowButton:W}=xn(g,m,t,p,w,E,N,S);un(g,m,b,p,w);const v=o.useMemo(()=>g&&m&&f.isAfter(g,m),[g,m]),V=o.useMemo(()=>Re(d==null?void 0:d.statePerMonth,g,m,k),[d==null?void 0:d.statePerMonth,g,m,k]),ee=D.useDelayedFalse(C,300);return c.jsx(D.Box,{onKeyDown:L,children:c.jsx(X.Popover,{arrow:!1,lazy:!0,disabled:h,placement:ne,onClickOutside:N,visible:C,content:ee&&c.jsx(q,{onClickDay:Z,dateInFocus:k,setDateInFocus:b,currentPanel:M,setCurrentPanel:R,minDate:l,maxDate:a,...d,statePerMonth:V}),children:c.jsx(ve,{autoFocusLeft:n,onEsc:i,onEnter:s,onBlur:r,disabled:h,separatorIcon:j.stenaArrowRight,typeLeft:"date",typeRight:"date",placeholderLeft:"Start date",placeholderRight:"End date",onChangeLeft:T,onChangeRight:Y,onClickArrowDown:W,onClickCalendar:G,onFocusLeft:K,onFocusRight:H,onClickLeft:K,onClickRight:H,inputRefLeft:p,inputRefRight:w,variant:v?"error":y,widthLeft:u,widthRight:x,minLeft:l,maxLeft:a,minRight:l,maxRight:a})})})}exports.Calendar=ae;exports.CalendarDay=me;exports.DateInput=_t;exports.DateRangeCalendar=Yt;exports.DateRangeDualTextInput=gn;exports.DateRangeExclusionCalendar=$t;exports.DateRangeInput=Jt;exports.DateTextInput=Kt;exports.DateTimeInput=dn;exports.Month=B;exports.MonthPicker=Ue;exports.MultiDateCalendar=Pt;exports.PresetPicker=Fe;exports.SingleDateCalendar=we;exports.SingleWeekCalendar=Wt;exports.TimeTextInput=Qt;exports.WeekDay=Te;exports.WeekDayCell=Oe;exports.WeekNumberCell=We;exports.YearPicker=$e;exports.addDayStateHighlights=P;exports.addDayStateHighlightsOnSingleDay=ye;exports.addWeekRangeHighlights=Ae;exports.addWeekStateHighlights=ut;exports.buildDayStateForDateRange=Q;exports.buildDayStateForRange=Ee;exports.buildDayStateForSingleMonth=Re;exports.calculateOverflowingMonth=He;exports.createDay=Be;exports.dateRangeToStrings=ze;exports.dayHasHighlight=Ye;exports.dayHighlightSelect=F;exports.defaultCalendarTheme=_;exports.defaultTextPropsProvider=Pe;exports.defaultWrapperStyleProvider=Le;exports.extranetCalendarTheme=gt;exports.getDaysForWeekForDate=Ne;exports.getMonthInYear=be;exports.getMonthsInYear=xe;exports.getWeekForDate=ue;exports.getWeeksForMonth=Ie;exports.isDateRangeInvalid=je;exports.setDayStateValue=lt;exports.setDayStateValueFunction=dt;exports.stringsToDateRange=_e;exports.toggleDateStringsIfEndIsEarlierThanStart=Ht;exports.toggleDatesIfEndIsEarlierThanStart=ke;exports.useDateRangeCalendarState=Lt;exports.useDateRangeExclusionSelection=Xe;exports.useDateRangeSelection=Je;exports.useMultiDateSelection=Ge;exports.useSingleDateSelection=Ke;exports.useSingleWeekSelection=Qe;
|
|
3
3
|
//# sourceMappingURL=index.js.map
|