@stenajs-webui/calendar 20.12.0 → 20.13.1

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/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._calendar_1b766_1{--swui-calendar-day-width: 48px;--swui-calendar-day-height: 48px;--swui-calendar-day-border-radius: var(--swui-max-border-radius);--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(--modern-red);--swui-calendar-wrapper-selected-background: var(--modern-red);--swui-calendar-wrapper-range-border: var(--lhds-color-red-100);--swui-calendar-wrapper-range-background: var(--lhds-color-red-100);--swui-calendar-wrapper-today-border: var(--lhds-color-ui-200);--swui-calendar-wrapper-today-background: var(--lhds-color-ui-50);--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_1b766_1 table{border-spacing:0 4px}._calendar_1b766_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_1b766_1._weekNumberVisible_1b766_41 tr td:nth-child(2),._calendar_1b766_1:not(._weekNumberVisible_1b766_41) tr td:first-child{border-top-left-radius:var(--swui-calendar-day-border-radius);border-bottom-left-radius:var(--swui-calendar-day-border-radius)}._calendar_1b766_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}._travelDateCell_1g60o_1{position:relative;width:48px;height:48px;border-radius:var(--swui-max-border-radius)}._travelDateCell_1g60o_1:focus{outline:none}._travelDateCell_1g60o_1:focus-visible ._outline_1g60o_13{outline:var(--swui-focus-outline);outline-width:var(--swui-focus-outline-width);background:transparent;position:absolute;border-radius:var(--swui-max-border-radius);top:0;bottom:0;left:0;right:0;z-index:10}._travelDateCell_1g60o_1:focus-visible ._contentWrapper_1g60o_26._contentWrapper_1g60o_26._contentWrapper_1g60o_26{border-color:transparent}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26{cursor:pointer;border-radius:var(--swui-max-border-radius);border-width:2px;border-style:solid;border-color:transparent;background:transparent;position:absolute;display:flex;align-items:center;justify-content:center;left:0;right:0;top:0;bottom:0}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._disabled_1g60o_47{cursor:not-allowed}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._isToday_1g60o_50{border-color:var(--lhds-color-ui-400)}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._isSelectionStart_1g60o_54,._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._isSelectionEnd_1g60o_55{border-color:var(--modern-red)}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._isSelectionStart_1g60o_54{background:var(--modern-red)}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._isSelectionStart_1g60o_54 span{color:#fff}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._isSelectionEnd_1g60o_55:not(._isSelectionStart_1g60o_54){background:#fff}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._hover_1g60o_70{border-color:var(--modern-red)}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._hover_1g60o_70._startSelected_1g60o_73:not(._endSelected_1g60o_73):not(._isSelectionStart_1g60o_54){background:#fff}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._hover_1g60o_70._startSelected_1g60o_73:not(._endSelected_1g60o_73):not(._isSelectionStart_1g60o_54) span{color:var(--swui-text-primary-color)}._travelCalendar_18pjj_1{border-spacing:0 4px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}._travelCalendar_18pjj_1 td{padding:0}._travelDateRangeInput_1j7rp_1 ._overlay_1j7rp_2{transition:opacity var(--swui-animation-time-fast) ease-in-out;opacity:1}._travelDateRangeInput_1j7rp_1 ._overlay_1j7rp_2:not(._travelDateRangeInput_1j7rp_1 ._overlay_1j7rp_2._calendarVisible_1j7rp_6){opacity:0}")),document.head.appendChild(e)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),g=require("@stenajs-webui/core"),p=require("@stenajs-webui/elements"),d=require("date-fns"),Y=require("date-fns/locale"),F=require("lodash-es"),a=require("react"),Ct=require("classnames"),wt=require("@emotion/styled"),q=require("@stenajs-webui/forms"),rt=require("@stenajs-webui/tooltip"),mt=require("@stenajs-webui/theme"),ye=require("@stenajs-webui/input-mask");function be(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const It=be(a),G={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"},nt=(t={},e,n)=>{if(e&&n&&d.isAfter(n,e))return d.eachDayOfInterval({start:e,end:n}).reduce((s,o)=>{const l=d.isSameDay(o,e),c=d.isSameDay(o,n);return K(s,o,l?["selected","selectedStart","range"]:c?["selected","selectedEnd","range"]:["range"])},t);let r=t;return e&&(r=K(r,e,["selected","singleSelected"])),n&&(r=K(r,n,["selected","singleSelected"])),r},Ht=(t={},e,n,r)=>Ft(t,e,n,d.startOfMonth(r),d.endOfMonth(r)),Ft=(t={},e,n,r,s)=>e&&n?nt(t,d.max([e,d.subDays(r,1)]),d.min([n,d.addDays(s,1)])):nt(t,e,n),pe=(t,e,n)=>{const r=d.format(e,G.yearAndMonth),s=d.getISOWeek(e),o=d.getDate(e);return{...t,[r]:{...t&&t[r],[s]:{...t&&t[r]&&t[r][s],[o]:{...t&&t[r]&&t[r][s]&&t[r][s][o],...n}}}}},we=(t,e,n)=>{const r=d.format(e,G.yearAndMonth),s=d.getISOWeek(e),o=d.getDate(e);return{...t,[r]:{...t&&t[r],[s]:{...t&&t[r]&&t[r][s],[o]:{...t&&t[r]&&t[r][s]&&t[r][s][o],...n(t&&t[r]&&t[r][s]&&t[r][s][o])}}}}},K=(t,e,n)=>{const r=e.getMonth()+1,s=`${e.getFullYear()}-${r<10?"0":""}${r}`,o=d.getISOWeek(e),l=d.getDate(e),c=t&&t[s]&&t[s][o]&&t[s][o][l];return{...t,[s]:{...t&&t[s],[o]:{...t&&t[s]&&t[s][o],[l]:Et(c,n)}}}},Et=(t,e)=>({...t,highlights:[...(t==null?void 0:t.highlights)??[],...e]}),Se=(t,e,n)=>{const r=e.days[0].date,s=r.getMonth()+1,o=`${r.getFullYear()}-${s<10?"0":""}${s}`,l=e.weekNumber;let c=t;e.days.forEach(x=>{c=K(c,x.date,n)});const u=c&&c[o]?c[o][l]:void 0,f=u&&u.highlights?[...u.highlights,...n]:n,h={...u,highlights:f};return{...c,[o]:{...t&&t[o],[l]:h}}},Wt=(t,e)=>{var s;if(!e.days.length)return{...t};const n=e.days[0].date,r=(s=F.last(e.days))==null?void 0:s.date;return{...nt(t,n,r)}},ke=(t,e)=>a.useMemo(()=>t?K(e,new Date,["today"]):e,[t,e]);var Ut=(t=>(t[t.JANUARY=0]="JANUARY",t[t.FEBRUARY=1]="FEBRUARY",t[t.MARCH=2]="MARCH",t[t.APRIL=3]="APRIL",t[t.MAY=4]="MAY",t[t.JUNE=5]="JUNE",t[t.JULY=6]="JULY",t[t.AUGUST=7]="AUGUST",t[t.SEPTEMBER=8]="SEPTEMBER",t[t.OCTOBER=9]="OCTOBER",t[t.NOVEMBER=10]="NOVEMBER",t[t.DECEMBER=11]="DECEMBER",t))(Ut||{}),$t=(t=>(t[t.SUNDAY=0]="SUNDAY",t[t.MONDAY=1]="MONDAY",t[t.TUESDAY=2]="TUESDAY",t[t.WEDNESDAY=3]="WEDNESDAY",t[t.THURSDAY=4]="THURSDAY",t[t.FRIDAY=5]="FRIDAY",t[t.SATURDAY=6]="SATURDAY",t))($t||{});const Mt=(t,e,n,r)=>{const s=[];for(let o=0;o<n;o++)s.push(Dt(t,e+o,r));return s},Dt=(t,e,n)=>{if(isNaN(t)||isNaN(e))throw new Error("getMonthInYear() received NaN.");const r=t+Math.floor(e/12),s=e%12,o=new Date(r,s,1);return{monthString:d.format(o,G.yearAndMonth),name:F.startCase(d.format(o,G.fullMonthName,{locale:n})),year:r,monthInYear:s,weeks:zt(r,s,n)}},zt=(t,e,n,r=!0)=>{const s=new Date(t,e,1),o=d.startOfWeek(s,{locale:n}),l=[];for(let c=0;c<6;c++){const u=xt(d.addWeeks(o,c),n);if(c>0&&u.startMonth!==e&&!r)return l;l.push(u)}return l},xt=(t,e)=>{const n=d.getMonth(d.addDays(t,7))!==d.getMonth(t);return{weekNumber:d.getWeek(t,{locale:e}),startMonth:d.getMonth(t),startYear:d.getYear(t),endMonth:d.getMonth(d.addDays(t,6)),endYear:d.getYear(d.addDays(t,6)),days:qt(t,e),isLastWeekOfMonth:n}},vt=(t,e)=>{const n=d.getISODay(t);return{date:t,name:d.format(t,"EEE",e?{locale:e}:void 0),fullName:d.format(t,"EEEE",e?{locale:e}:void 0),dateString:d.format(d.addHours(t,12),G.fullDate),weekNumber:d.getWeek(t,{locale:e}),year:d.getYear(t),month:d.getMonth(t),dayOfMonth:d.getDate(t),dayOfWeek:n,isFirstDayOfWeek:n===1,isLastDayOfWeek:n===7,isFirstDayOfMonth:d.isSameDay(d.startOfMonth(t),t),isLastDayOfMonth:d.isSameDay(d.endOfMonth(t),t)}},qt=(t,e)=>d.eachDayOfInterval({start:t,end:d.addDays(t,6)}).map(n=>vt(n,e)),Kt=(t,e)=>e>11?{year:t+Math.floor(e/12),month:e%12}:e<0?{year:t+Math.floor(e/12),month:12+e%12}:{year:t,month:e},je="_calendar_1b766_1",Me="_weekNumberVisible_1b766_41",Pt={calendar:je,weekNumberVisible:Me},Gt=(t,e,n)=>!!(e&&e.indexOf(n)>=0||t&&t.highlights&&t.highlights.indexOf(n)>=0),v=(t,e,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 o=0;o<n.length;o++)if(typeof n[o]=="boolean"&&n[o]||typeof n[o]=="string"&&Gt(t,e,n[o]))return r[o];return s},Jt=({selectedBackground:t,todayBackground:e,rangeBackground:n,borderColor:r="transparent"})=>(s,o,l,c,u)=>({backgroundColor:v(o,s,["selected","range","today",l.month===u.monthInYear],[t,n,e,"#fff"],"transparent"),borderWidth:"1px",borderStyle:"solid",borderColor:v(o,s,["selectedStart","selectedEnd","singleSelected","range","today"],["var(--swui-calendar-wrapper-range-background)","var(--swui-calendar-wrapper-range-background)","var(--swui-calendar-wrapper-range-background)","var(--swui-calendar-wrapper-range-border)","var(--lhds-color-ui-500)"],r),borderTopLeftRadius:v(o,s,["selectedStart","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),borderBottomLeftRadius:v(o,s,["selectedStart","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),borderTopRightRadius:v(o,s,["selectedEnd","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),borderBottomRightRadius:v(o,s,["selectedEnd","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),boxSizing:"border-box"}),Qt=({selectedColor:t,disabledColor:e,inOtherMonthColor:n,rangeTextColor:r})=>(s,o,l,c,u)=>{const f=l.month!==u.monthInYear;return{color:v(o,s,[f,"selected","range","enabled","disabled"],[n,t,r,void 0,e])}},Z={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)"},WeekDay:{textColor:"var(--swui-calendar-week-day-text-color)",clickableTextColor:"var(--swui-calendar-week-day-clickable-text-color)"},CalendarDay:{tdStyle:Jt({selectedBackground:"var(--swui-calendar-wrapper-selected-background)",rangeBackground:"var(--swui-calendar-wrapper-range-background)",todayBackground:"var(--swui-calendar-wrapper-today-background)"}),textProps:Qt({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)"}},Re={...Z,width:"37px",height:"37px"},Xt=({onClickWeekDay:t,day:e,theme:n})=>{const r=i.jsx(g.Box,{width:n.width,height:n.height,justifyContent:"center",alignItems:"center",children:i.jsx(g.Text,{size:"small",color:t?n.WeekDay.clickableTextColor:n.WeekDay.textColor,children:e.name})});return t?i.jsx(g.Clickable,{borderRadius:"var(--swui-calendar-day-border-radius)",onClick:s=>t(e.dayOfWeek,s),disableFocusHighlight:!t,children:r}):r},At=function({day:e,week:n,month:r,dayState:s,userData:o,onClickDay:l,theme:c,extraDayContent:u,defaultHighlights:f}){const h=i.jsx(g.Box,{width:"100%",height:"100%",justifyContent:"center",alignItems:"center",children:i.jsx(g.Text,{...c.CalendarDay.textProps&&c.CalendarDay.textProps(f,s,e,n,r,o),children:e.dayOfMonth})}),x=wt.td({...c.CalendarDay.tdStyle&&c.CalendarDay.tdStyle(f,s,e,n,r,o)}),m=wt.div({...c.CalendarDay.innerWrapperStyle&&c.CalendarDay.innerWrapperStyle(f,s,e,n,r,o),width:"100%",height:"100%"}),D=wt.div({...c.CalendarDay.cellWrapperStyle&&c.CalendarDay.cellWrapperStyle(f,s,e,n,r,o),width:"100%",height:"100%",position:"relative"}),y=Te(f,s);return i.jsx(x,{onClick:y?void 0:j=>l==null?void 0:l(e,o,j),children:i.jsx(m,{children:i.jsx(D,{children:e.month===r.monthInYear&&i.jsxs(i.Fragment,{children:[u&&i.jsx(u,{week:n,month:r,day:e,dayState:s,theme:c,userData:o}),h]})})})})},Te=(t,e)=>!!v(e,t,["disabled"],[!0],!1),Zt=({onClickWeek:t,theme:e,week:n,background:r,backgroundColor:s,prefix:o})=>{const l=i.jsxs(g.Box,{width:e.width,height:e.height,justifyContent:"center",alignItems:"center",children:[r&&i.jsx(g.Box,{position:"absolute",children:r}),i.jsx(g.Box,{position:"absolute",children:i.jsxs(g.Text,{color:t?e.WeekNumber.clickableTextColor:e.WeekNumber.textColor,children:[o,n.weekNumber]})})]});return i.jsx(g.Box,{background:s||e.WeekNumber.backgroundColor,position:"relative",children:t?i.jsx(g.Clickable,{borderRadius:"var(--swui-calendar-day-border-radius)",onClick:c=>t(n,c),disableFocusHighlight:!t,children:l}):l})},Ce=(t,e,n)=>e&&d.isBefore(t,e)?d.isSameDay(t,e):n&&d.isAfter(t,n)?d.isSameDay(t,n):!0,Ie=function({dayComponent:e,minDate:n,maxDate:r,dayState:s,day:o,...l}){const c=a.useMemo(()=>Ce(o.date,n,r)?s:Et(s,["disabled"]),[o.date,s,r,n]);return i.jsx(e,{day:o,...l,dayState:c})};function Ee({month:t,dayComponent:e=At,statePerWeek:n,userDataPerWeek:r,minDate:s,maxDate:o,onClickDay:l,onClickWeek:c,onClickWeekDay:u,onClickMonth:f,renderWeekNumber:h,renderWeekDay:x,headerRightContent:m,theme:D=Z,extraDayContent:y,defaultHighlights:j,showWeekNumber:k}){return i.jsx(i.Fragment,{children:i.jsxs(g.Box,{alignItems:"stretch",children:[i.jsxs(g.Row,{justifyContent:m?"space-between":"center",alignItems:"center",children:[i.jsx(g.Row,{justifyContent:"center",alignItems:"center",children:f?i.jsx(p.FlatButton,{onClick:()=>f(t),label:t.name+" "+String(t.year),rightIcon:p.stenaAngleDown}):i.jsxs(g.Text,{whiteSpace:"nowrap",children:[t.name," ",t.year]})}),m&&i.jsx(g.Box,{alignItems:"center",children:m})]}),i.jsx("table",{children:i.jsxs("tbody",{children:[i.jsxs("tr",{children:[k&&i.jsx("td",{children:i.jsx(g.Box,{width:D.width,height:D.height})}),t.weeks[0].days.map(w=>i.jsx("td",{children:x?x(w.name,D,u):i.jsx(Xt,{day:w,onClickWeekDay:u,theme:D})},w.name))]}),t.weeks.map(w=>i.jsx(i.Fragment,{children:i.jsxs("tr",{children:[k&&i.jsx("td",{children:h?h(w,D,c):i.jsx(Zt,{week:w,onClickWeek:c,theme:D})}),w.days.map(S=>i.jsx(Ie,{dayComponent:e,day:S,week:w,month:t,dayState:n&&n[w.weekNumber]&&n[w.weekNumber][S.dayOfMonth],userData:r&&r[w.weekNumber]&&r[w.weekNumber][S.dayOfMonth],onClickDay:l,theme:D,extraDayContent:y,defaultHighlights:j,minDate:s,maxDate:o},S.dateString))]},w.weekNumber)}))]})})]})})}function Ae({monthRows:t,dayComponent:e=At,userDataPerMonth:n,statePerMonth:r,minDate:s,maxDate:o,onClickDay:l,onClickWeekDay:c,onClickWeek:u,onClickMonth:f,renderWeekDay:h,renderWeekNumber:x,headerRightContent:m,extraDayContent:D,defaultHighlights:y,showWeekNumber:j,theme:k=Z}){const w=a.useMemo(()=>s?d.parse(s,"yyyy-MM-dd",new Date):void 0,[s]),S=a.useMemo(()=>o?d.parse(o,"yyyy-MM-dd",new Date):void 0,[o]);return i.jsx("div",{className:Ct(Pt.calendar,j&&Pt.weekNumberVisible),children:t.map((b,M)=>i.jsx(g.Spacing,{children:i.jsx(g.Row,{gap:2,children:b.map(T=>i.jsx(Ee,{month:T,dayComponent:e,userDataPerWeek:n&&n[T.monthString],statePerWeek:r&&r[T.monthString],onClickDay:l,onClickWeekDay:c,onClickWeek:u,onClickMonth:f,theme:k,renderWeekNumber:x,renderWeekDay:h,headerRightContent:m,extraDayContent:D,defaultHighlights:y,minDate:w,maxDate:S,showWeekNumber:j??!1},T.name))})},M))})}function ft(t){const e=Be(t.year,t.month,t.date),{year:n,month:r}=Kt(e.year,e.month),s=Ne(n,r,t.locale??Y.enGB,t.numMonths,t.monthsPerRow),o=ke(t.highlightToday,t.statePerMonth);return i.jsx(Ae,{year:n,month:r,monthRows:s,...t,statePerMonth:o})}const Be=(t,e,n)=>{if(e&&t)return{month:e,year:t};if(n)return{month:d.getMonth(n),year:d.getYear(n)};const r=new Date;return{month:d.getMonth(r),year:d.getYear(r)}},Ne=(t,e,n,r,s)=>r==null?[[Dt(t,e,n)]]:s==null?[Mt(t,e,r,n)]:F.chunk(Mt(t,e,r,n),s),Vt=(t,e)=>`${t.row}-${t.column}-${e}`,Le=(t,e,n,r)=>{let s=e;for(let o=0;o<r;o++){s=Pe(s,t,r);const l=Vt(s,n);if(document.getElementById(l))return l}},Pe=(t,e,n)=>{let r=t.row,s=t.column;return e==="ArrowLeft"?s--:e==="ArrowUp"?r--:e==="ArrowRight"?s++:e==="ArrowDown"&&r++,s<0&&(s=n-1,r--),s>n-1&&(s=0,r++),{column:s,row:r}},Ye=({month:t,onClick:e,selected:n,locale:r,autoFocus:s,monthPickerId:o,position:l})=>{const c=a.useMemo(()=>F.startCase(d.format(t,"MMM",{locale:r})),[r,t]),u=a.useMemo(()=>F.startCase(d.format(t,"MMMM",{locale:r})),[r,t]),f=a.useRef(null),h=Vt(l,o);a.useEffect(()=>{var m;(m=f.current)==null||m.focus()},[]);const x=a.useCallback(m=>{var y;const D=Le(m.key,l,o,4);D&&((y=document.getElementById(D))==null||y.focus())},[o,l]);return i.jsx(g.Row,{justifyContent:"center",onKeyDown:x,children:n?i.jsx(p.PrimaryButton,{id:h,"aria-label":u,label:c,onClick:e,"aria-selected":!0,autoFocus:s,ref:f}):i.jsx(p.FlatButton,{id:h,label:c,"aria-label":u,onClick:e})})},_e=(t,e,n)=>{let r=t.getFullYear(),s=0,o=0,l=t;const c={yearOrder:[],rows:[],years:{},lastMonthColumn:-1,lastMonthRow:-1};for(let u=0;u<e;u++){if(c.years[r]==null&&(c.yearOrder.push(r),c.years[r]={year:r,rows:[]}),c.rows[s]=c.rows[s]??{columns:[],rowIndex:s},c.rows[s].columns[o]={position:{column:o,row:s},month:l},u===e-1){c.years[r].rows.push(s);break}l=d.addMonths(l,1),l.getFullYear()!==r?(c.years[r].rows.push(s),r++,o=0,s++):(o++,o>n-1&&(c.years[r].rows.push(s),o=0,s++))}return c.lastMonthColumn=o,c.lastMonthRow=s,c},te=()=>a.useMemo(()=>new Date,[]),yt=({value:t,onValueChange:e,locale:n=Y.enGB,firstMonth:r,numMonths:s,onCancel:o})=>{const l=a.useId(),c=te(),u=s>0?s:12,[f,h]=a.useState(!1),x=_e(r,u,4),m=a.useMemo(()=>d.addMonths(r,u),[u,r]);a.useEffect(()=>{h(!0)},[]);const D=a.useCallback(y=>{y.key==="Escape"&&(o==null||o(),y.preventDefault(),y.stopPropagation())},[o]);return i.jsx(g.Column,{gap:1,maxWidth:"336px",onKeyDown:D,children:x.yearOrder.map((y,j)=>{const{rows:k}=x.years[y];return i.jsxs(It.Fragment,{children:[(j!==0||y!==c.getFullYear())&&i.jsx(g.Heading,{variant:"h4",children:y}),k.map(w=>{const{columns:S}=x.rows[w];return i.jsx(g.Row,{gap:1,children:S.map(({month:b,position:M})=>i.jsx(g.Column,{width:"78px",children:i.jsx(Ye,{month:b,firstAvailableMonth:r,lastAvailableMonth:m,locale:n,selected:t?d.isSameMonth(t,b):!1,autoFocus:f,onClick:()=>e==null?void 0:e(b),monthPickerId:l,position:M})},b.getMonth()))},w)})]},y)})})},Oe=t=>[{label:"Past",presets:[{label:"Last 3 days",startDate:t,endDate:d.subDays(t,2)},{label:"Last 7 days",startDate:t,endDate:d.subDays(t,6)},{label:"Last 30 days",startDate:t,endDate:d.subDays(t,29)},{label:"Last 45 days",startDate:t,endDate:d.subDays(t,44)}]},{label:"Future",presets:[{label:"Next 3 days",startDate:t,endDate:d.addDays(t,2)},{label:"Next 7 days",startDate:t,endDate:d.addDays(t,6)},{label:"Next 30 days",startDate:t,endDate:d.addDays(t,29)},{label:"Next 45 days",startDate:t,endDate:d.addDays(t,44)}]}],ee=({onClickPreset:t})=>{const[e,n]=a.useState(0),r=a.useMemo(()=>Oe(new Date),[]),s=r[e]??r[0];return i.jsxs(g.Column,{children:[i.jsxs(g.Row,{justifyContent:"space-between",alignItems:"center",width:"200px",children:[i.jsx(p.FlatButton,{size:"small",leftIcon:p.stenaAngleLeft,disabled:e===0,onClick:()=>n(e-1)}),i.jsx(g.Text,{children:s.label}),i.jsx(p.FlatButton,{size:"small",leftIcon:p.stenaAngleRight,disabled:e===r.length-1,onClick:()=>n(e+1)})]}),i.jsx(g.Space,{}),i.jsx(g.Column,{alignItems:"center",children:s.presets.map(o=>i.jsxs(It.Fragment,{children:[i.jsx(p.PrimaryButton,{label:o.label,onClick:()=>t(o)}),i.jsx(g.Space,{})]},o.label))})]})},He=function({locale:e,dateInFocus:n,setDateInFocus:r,currentPanel:s,setCurrentPanel:o,renderMonthPicker:l,...c}){const u=a.useCallback(h=>{r&&r(h),o("calendar")},[r,o]),f=a.useCallback(()=>{o("month")},[o]);switch(s){case"calendar":return i.jsx(ft,{...c,date:n,onClickMonth:f,locale:e});case"month":return l?l({value:n,onValueChange:u,locale:e,firstMonth:new Date,numMonths:24,dateInFocus:n}):i.jsx(yt,{value:n,onValueChange:u,locale:e,firstMonth:new Date,numMonths:24});case"presets":return i.jsx(ee,{onClickPreset:()=>{}});default:return i.jsx(g.Box,{children:i.jsx(p.PrimaryButton,{label:"Show calendar",onClick:()=>o("calendar")})})}},Fe=(t,e,n,r)=>{const s=a.useCallback(()=>{const u=d.addMonths(t,n??r??1);e==null||e(u)},[e,t,n,r]),o=a.useCallback(()=>{const u=d.addYears(t,1);e==null||e(u)},[e,t]),l=a.useCallback(()=>{const u=d.subMonths(t,n??r??1);e==null||e(u)},[e,t,n,r]),c=a.useCallback(()=>{const u=d.subYears(t,1);e==null||e(u)},[e,t]);return{nextMonth:s,prevMonth:l,nextYear:o,prevYear:c}},We=({children:t,prevMonth:e,nextMonth:n,prevYear:r,nextYear:s})=>i.jsxs("div",{children:[t,i.jsx(g.Indent,{children:i.jsxs(g.Row,{gap:1,children:[i.jsx(p.SecondaryButton,{onClick:r,leftIcon:p.stenaAngleLeftDouble}),i.jsx(p.SecondaryButton,{onClick:e,leftIcon:p.stenaArrowLeft}),i.jsx(g.Indent,{num:2}),i.jsx(p.SecondaryButton,{onClick:n,leftIcon:p.stenaArrowRight}),i.jsx(p.SecondaryButton,{onClick:s,leftIcon:p.stenaAngleRightDouble})]})}),i.jsx(g.Space,{})]}),Ue=()=>{};function tt({monthSwitcherPlacement:t,theme:e=Z,dateInFocus:n,setDateInFocus:r,currentPanel:s,setCurrentPanel:o,onSelectPreset:l=Ue,renderMonthPicker:c,...u}){const{nextMonth:f,prevMonth:h,nextYear:x,prevYear:m}=Fe(n,r,u.monthsPerRow,u.numMonths);switch($e(t,u.numMonths)){case"below":return i.jsx(We,{theme:e,nextMonth:f,prevMonth:h,nextYear:x,prevYear:m,children:i.jsx(ft,{...u,theme:e,date:n})});case"header":return i.jsx(g.Column,{children:i.jsx(He,{...u,theme:e,renderMonthPicker:c,dateInFocus:n,setDateInFocus:r,currentPanel:s,setCurrentPanel:o,onSelectPreset:l,headerRightContent:i.jsxs(g.Row,{alignItems:"center",gap:1,children:[i.jsx(p.SecondaryButton,{onClick:h,leftIcon:p.stenaArrowLeft}),i.jsx(p.SecondaryButton,{onClick:f,leftIcon:p.stenaArrowRight})]})})});default:return i.jsx(ft,{...u,theme:e,date:n})}}const $e=(t,e)=>t||(e||1)>1?"below":"header",ne=t=>({startDate:t.startDate?d.format(t.startDate,"yyyy-MM-dd"):void 0,endDate:t.endDate?d.format(t.endDate,"yyyy-MM-dd"):void 0}),re=({startDate:t,endDate:e})=>{const n=new Date;return{startDate:t?d.parse(t,"yyyy-MM-dd",n):void 0,endDate:e?d.parse(e,"yyyy-MM-dd",n):void 0}},Bt=({startDate:t,endDate:e})=>!!(t&&e&&!d.isSameDay(t,e)&&d.isAfter(t,e)),Nt=t=>Bt(t)?{startDate:t.endDate,endDate:t.startDate}:t,ze=t=>t.startDate&&t.endDate?ne(Nt(re(t))):t,ve=(t,e,n,r)=>a.useCallback(s=>{const o={startDate:n==="startDate"?s.date:t==null?void 0:t.startDate,endDate:n==="endDate"?s.date:t==null?void 0:t.endDate};Bt(o)||r(n==="startDate"?"endDate":"startDate"),e==null||e(Nt(o))},[n,e,r,t==null?void 0:t.endDate,t==null?void 0:t.startDate]),bt=t=>{const[e,n]=a.useState("calendar"),r=a.useCallback(s=>{n(s),t==null||t(s)},[t]);return{currentPanel:e,setCurrentPanel:r}},se=({focusedInput:t,value:e,onValueChange:n,setFocusedInput:r,statePerMonth:s,onChangePanel:o,initialDateInFocus:l})=>{const{currentPanel:c,setCurrentPanel:u}=bt(o),[f,h]=a.useState(()=>l??new Date),x=ve(e,n,t,r),m=a.useMemo(()=>nt(s,e==null?void 0:e.startDate,e==null?void 0:e.endDate),[s,e==null?void 0:e.endDate,e==null?void 0:e.startDate]);return{onClickDay:x,statePerMonth:m,currentPanel:c,setCurrentPanel:u,setDateInFocus:h,dateInFocus:f}};function qe(t){const e=se(t);return i.jsx(tt,{...t,...e})}const Ke=()=>{const[t,e]=a.useState(),[n,r]=a.useState(),[s,o]=a.useState("startDate");return{startDate:t,setStartDate:e,endDate:n,setEndDate:r,focusedInput:s,setFocusedInput:o}},oe=({onChange:t,value:e,statePerMonth:n,onChangePanel:r})=>{const{currentPanel:s,setCurrentPanel:o}=bt(r),[l,c]=a.useState(()=>e??new Date),u=a.useCallback(h=>{t&&t(h.date)},[t]),f=a.useMemo(()=>e?K(n,e,["selected","singleSelected"]):n,[n,e]);return{onClickDay:u,statePerMonth:f,date:e,currentPanel:s,setCurrentPanel:o,dateInFocus:l,setDateInFocus:c}};function Lt(t){const e=oe(t);return i.jsx(tt,{...t,...e})}const ie=({onChange:t,value:e,statePerMonth:n,onChangePanel:r})=>{const{currentPanel:s,setCurrentPanel:o}=bt(r),[l,c]=a.useState(()=>new Date),u=a.useCallback(h=>{if(!t)return;const x=e&&e.find(m=>d.isSameDay(m,h.date));t(e&&x?e.filter(m=>!d.isSameDay(m,h.date)):[...e||[],h.date])},[t,e]),f=a.useMemo(()=>e?e.reduce((h,x)=>K(h,x,["selected"]),n):n,[n,e]);return{onClickDay:u,statePerMonth:f,currentPanel:s,setCurrentPanel:o,dateInFocus:l,setDateInFocus:c}};function Ge(t){const e=ie(t);return i.jsx(tt,{...t,...e})}const ae=({onChange:t,value:e,statePerMonth:n,onChangePanel:r,locale:s=Y.enGB})=>{const[o,l]=a.useState(()=>{const D=St(e,s);return D?D.days[0].date:new Date}),{currentPanel:c,setCurrentPanel:u}=bt(r),f=a.useCallback(D=>{t&&t(Yt(xt(D.date,s)))},[s,t]),h=a.useCallback(D=>{t&&t(Yt(D))},[t]),x=a.useMemo(()=>{const D=St(e,s);return D?Wt(n,D):n},[e,s,n]),m=a.useMemo(()=>{const D=St(e,s);return D?D.days[0].date:new Date},[s,e]);return{statePerMonth:x,date:m,dateInFocus:o,setDateInFocus:l,onClickDay:f,onClickWeek:h,currentPanel:c,setCurrentPanel:u}},Yt=t=>{if(t)return`${t.endYear}-${t.weekNumber}`},St=(t,e)=>{if(!t)return;const n=t.split("-"),r=parseInt(n[1],10),s=parseInt(n[0],10),o=new Date;o.setFullYear(s);const l=d.startOfWeek(d.setWeek(o,r),{locale:e});return xt(l,e)};function Je(t){const e=ae(t);return i.jsx(tt,{...t,...e})}const ot="bottom",ce=()=>{const[t,e]=rt.useTippyInstance();return{onChangePanel:a.useCallback(()=>{var r,s;(s=(r=e.current)==null?void 0:r.popperInstance)==null||s.update()},[e]),tippyRef:t}},Qe=(t,e,n)=>{const[r,s]=a.useState(n||!1),o=a.useCallback(()=>(s(!0),!0),[s]),l=a.useCallback(()=>{s(!1),e&&e()},[s,e]),c=a.useCallback(u=>{t&&t(u),setTimeout(l,150)},[t,l]);return{showCalendar:o,hideCalendar:l,showingCalendar:r,onSelectDate:c}},it="2999-12-31",Xe=({displayFormat:t=G.fullDate,placeholder:e="Enter date",value:n,zIndex:r=100,calendarTheme:s=Z,calendarProps:o,openOnMount:l,onClose:c,onChange:u,portalTarget:f,variant:h,width:x,minDate:m,maxDate:D=it,disabled:y})=>{const{hideCalendar:j,showingCalendar:k,onSelectDate:w,showCalendar:S}=Qe(u,c,l),{tippyRef:b,onChangePanel:M}=ce();return i.jsx(g.Box,{width:x,children:i.jsx(rt.Popover,{arrow:!1,lazy:!0,visible:k,onClickOutside:j,placement:ot,zIndex:r,appendTo:f??"parent",tippyRef:b,disabled:y,content:i.jsx(Lt,{...o,onChange:w,value:n,theme:s,onChangePanel:M,minDate:m,maxDate:D}),children:i.jsx(q.TextInput,{type:"date",onFocus:S,buttonRight:i.jsx(p.TextInputButton,{onClick:S,icon:p.stenaCalendar}),value:n?d.format(n,t):"",placeholder:e,size:9,disabled:y,autoFocus:l,variant:h,min:m,max:D})})})},Ze=(t,e)=>{const n=a.useRef(null),r=a.useRef(null),[s,o]=a.useState(!1),[l,c]=a.useState(void 0),u=a.useCallback(()=>(c("startDate"),o(!0),!0),[c,o]),f=a.useCallback(()=>(c("endDate"),o(!0),!0),[c,o]),h=a.useCallback(()=>{o(!1)},[o]),x=a.useCallback(D=>{l==="startDate"?(e==null||e({startDate:D.date,endDate:t==null?void 0:t.endDate}),t!=null&&t.endDate?setTimeout(h,150):(c("endDate"),r.current&&r.current.focus())):l==="endDate"&&(e==null||e({startDate:t==null?void 0:t.startDate,endDate:D.date}),t!=null&&t.startDate?setTimeout(h,150):(c("startDate"),n.current&&n.current.focus()))},[l,e,c,h,t]),m=a.useMemo(()=>(t==null?void 0:t.startDate)&&(t==null?void 0:t.endDate)&&d.isAfter(t.startDate,t.endDate),[t==null?void 0:t.startDate,t==null?void 0:t.endDate]);return{showingCalendar:s,hideCalendar:h,showCalendarEndDate:f,showCalendarStartDate:u,focusedInput:l,setFocusedInput:c,startDateInputRef:n,endDateInputRef:r,onClickDay:x,startDateIsAfterEnd:m}};function Ve({displayFormat:t=G.fullDate,placeholderStartDate:e="Start date",placeholderEndDate:n="End date",portalTarget:r,value:s,onValueChange:o,zIndex:l=100,width:c,calendarTheme:u=Z,calendarProps:f,minDate:h,maxDate:x=it,disabled:m}){const[D,y]=a.useState("calendar"),{hideCalendar:j,showCalendarEndDate:k,showCalendarStartDate:w,showingCalendar:S,focusedInput:b,startDateInputRef:M,endDateInputRef:T,onClickDay:C,startDateIsAfterEnd:I}=Ze(s,o),[E,A]=a.useState(()=>(b&&(s==null?void 0:s[b]))??new Date),R=a.useMemo(()=>nt(void 0,s==null?void 0:s.startDate,s==null?void 0:s.endDate),[s]);return i.jsx(rt.Popover,{arrow:!1,lazy:!0,disabled:m,visible:S,zIndex:l,placement:ot,appendTo:r??"parent",onClickOutside:j,content:i.jsx(tt,{...f,dateInFocus:E,setDateInFocus:A,statePerMonth:R,theme:u,onClickDay:C,currentPanel:D,setCurrentPanel:y,minDate:h,maxDate:x}),children:i.jsxs(g.Row,{alignItems:"center",children:[i.jsx(q.TextInput,{iconLeft:p.stenaCalendar,onFocus:w,value:s!=null&&s.startDate?d.format(s.startDate,t):"",placeholder:e,width:c,disabled:m,inputRef:M,size:9,variant:I?"error":void 0}),i.jsx(g.Space,{}),i.jsx(p.Icon,{icon:p.stenaArrowWideRight,color:mt.cssColor("--lhds-color-ui-500"),size:14}),i.jsx(g.Space,{}),i.jsx(q.TextInput,{iconLeft:p.stenaCalendar,onFocus:k,value:s!=null&&s.endDate?d.format(s.endDate,t):"",placeholder:n,width:c,disabled:m,inputRef:T,size:9,variant:I?"error":void 0})]})})}const tn=({calendarProps:t,closeOnCalendarSelectDate:e=!0,dateFormat:n=G.fullDate,disableCalender:r=!1,onValueChange:s,placeholder:o="yyyy-mm-dd",portalTarget:l,value:c,width:u="130px",zIndex:f=100,calendarTheme:h=Z,hideCalenderIcon:x=!1,minDate:m,maxDate:D=it,variant:y,...j})=>{const[k,w]=a.useState(!1),{tippyRef:S,onChangePanel:b}=ce(),M=a.useCallback(()=>{w(!k)},[w,k]),T=a.useCallback(()=>{w(!1)},[w]),C=a.useCallback(B=>{s&&s(B)},[s]),I=a.useCallback(B=>{B&&(C(d.format(B,n)),e&&setTimeout(()=>w(!k),200))},[C,n,e,w,k]),E=!!c&&!/^[-/\\.0-9]+$/.test(c),A=!!c&&d.isValid(d.parse(c,n,new Date)),P=!!c&&c.length>=n.length&&!A||E;return i.jsx(g.Box,{width:u,children:i.jsx(rt.Popover,{arrow:!1,lazy:!0,visible:k,zIndex:f,appendTo:l??"parent",placement:ot,onClickOutside:T,tippyRef:S,content:i.jsx(Lt,{...t,onChange:I,onChangePanel:b,value:c&&A?d.parse(c,n,new Date):void 0,minDate:m,maxDate:D,theme:h}),children:i.jsx(q.TextInput,{...j,variant:P?"error":y,disableContentPaddingRight:!0,contentRight:x?void 0:i.jsx(g.Row,{alignItems:"center",indent:.5,children:i.jsx(p.FlatButton,{size:"small",disabled:j.disabled||r,leftIcon:p.stenaCalendar,onClick:M})}),onValueChange:C,placeholder:o,value:c||"",min:m,max:D,size:10})})})},ht=t=>{if(t==="")return"00";const e=parseInt(t,10);if(isNaN(e))throw new Error("Hours is not a number");if(e<0||e>23)throw new Error("Hours is an invalid number");switch(t.length){case 1:return`0${e}`;case 2:return t;default:throw new Error("Invalid hour string")}},gt=t=>{if(t==="")return"00";const e=parseInt(t,10);if(isNaN(e))throw new Error("Minutes is not a number");if(e<0||e>59)throw new Error("Minutes is an invalid number");switch(t.length){case 1:return`0${e}`;case 2:return t;default:throw new Error("Invalid minute string")}},en=t=>{if(!Rt(t))return{time:t,success:!1};const e=t&&t.split(/-|:|,|;|[/]|[.]| /);if(e&&e.length===2)try{const n=ht(e[0]),r=gt(e[1]);return{time:`${n}:${r}`,success:!0}}catch{return{time:t,success:!1}}else if(e&&e.length===1){let n=0,r=0;switch(t.length){case 1:return{time:`0${t}:00`,success:!0};case 2:{const s=parseInt(e[0],10);return s>=0&&s<24?{time:`${t}:00`,success:!0}:s>=24&&s<59?{time:`00:${t}`,success:!0}:{time:t,success:!1}}case 3:return r=parseInt(t.substring(1,3),10),r>=0&&r<=59?{time:`0${t.substring(0,1)}:${t.substring(1,3)}`,success:!0}:{time:t,success:!1};case 4:return n=parseInt(t.substring(0,2),10),r=parseInt(t.substring(2,4),10),n<0||n>23?{time:t,success:!1}:r<0||r>59?{time:t,success:!1}:{time:`${t.substring(0,2)}:${t.substring(2,4)}`,success:!0};default:return{time:t,success:!1}}}return{time:t,success:!1}},Rt=t=>t?/^[-:.,/; 0-9]+$/.test(t):!0,nn=({onValueChange:t,showPlaceholder:e=!0,useIcon:n=!0,value:r,width:s="85px",variant:o,...l})=>{const[c,u]=a.useState(()=>Rt(r)),f="hh:mm",h=a.useCallback(()=>{if(r){const m=en(r);u(m.success),m.success&&t&&t(m.time)}},[r,t,u]),x=a.useCallback(m=>{const D=m.target.value,y=Rt(D);u(y&&D.length<=f.length),t&&t(D)},[t,u]);return i.jsx(q.TextInput,{...l,type:"time",variant:c?o:"error",iconLeft:n?p.stenaClock:void 0,value:r,placeholder:e?f:void 0,onChange:x,onBlur:h,width:s})},le=({autoFocusLeft:t,autoFocusRight:e,onEsc:n,onEnter:r,onValueChangeLeft:s,onValueChangeRight:o,separatorIcon:l,placeholderLeft:c,placeholderRight:u,typeLeft:f,typeRight:h,onChangeLeft:x,onChangeRight:m,valueLeft:D,valueRight:y,minLeft:j,maxLeft:k,minRight:w,maxRight:S,onClickLeft:b,onClickRight:M,onClickCalendar:T,onClickArrowDown:C,onBlurLeft:I,onBlurRight:E,onFocusLeft:A,onFocusRight:R,inputRefLeft:P,inputRefRight:B,variant:W,variantLeft:U,variantRight:J,onBlur:H,showPresets:Q,widthLeft:V,widthRight:L,disabled:_})=>{const N=a.useRef(0),O=a.useMemo(()=>F.debounce(z=>{z===0&&(H==null||H())},10),[H]),ct=a.useCallback(z=>{N.current++,O(N.current),A&&A(z)},[A,N,O]),lt=a.useCallback(z=>{N.current++,O(N.current),R&&R(z)},[R,N,O]),dt=a.useCallback(z=>{N.current--,O(N.current),I&&I(z)},[I,N,O]),xe=a.useCallback(z=>{N.current--,O(N.current),E&&E(z)},[E,N,O]);return i.jsx(g.Box,{children:i.jsxs(q.TextInputBox,{disableContentPaddingRight:!0,disabled:_,variant:W,contentRight:i.jsxs(g.Row,{alignItems:"center",children:[i.jsx(g.Indent,{num:.5,children:i.jsx(p.FlatButton,{leftIcon:p.stenaCalendar,onClick:T,disabled:_,size:"small"})}),Q?i.jsxs(i.Fragment,{children:[i.jsx(g.Row,{height:"22px",children:i.jsx(g.SeparatorLine,{vertical:!0})}),i.jsx(g.Indent,{num:.5,children:i.jsx(p.FlatButton,{leftIcon:p.stenaAngleDown,onClick:C,disabled:_,size:"small"})})]}):null]}),children:[i.jsx(g.Box,{width:V,children:i.jsx(q.TextInput,{onEsc:n,onEnter:r,onClick:b,disabled:_,hideBorder:!0,placeholder:c,value:D,onValueChange:s,onChange:x,onBlur:dt,onFocus:ct,inputRef:P,variant:U,type:f,autoFocus:t,min:j,max:k})}),i.jsx(g.Row,{indent:.5,alignItems:"center",justifyContent:"center",children:i.jsx(p.Icon,{icon:l,size:12,color:mt.cssColor("--lhds-color-ui-500")})}),i.jsx(g.Box,{width:L,children:i.jsx(q.TextInput,{onEsc:n,onEnter:r,onClick:M,disabled:_,hideBorder:!0,placeholder:u,value:y,onValueChange:o,onChange:m,onBlur:xe,onFocus:lt,inputRef:B,variant:J,type:h,autoFocus:e,min:w,max:S})})]})})},rn=t=>{if(t==null)throw new Error("Time is not set.");if(t==="")throw new Error("Time is empty.");const e=t.split(":");if(e.length!==2)throw new Error("Invalid time.");if(e[1].length!==2)throw new Error("Invalid time.");if(e[0].length<1||e[0].length>2)throw new Error("Invalid time.");const n=parseInt(e[0],10),r=parseInt(e[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},sn=t=>{try{return rn(t),!0}catch{return!1}},ut=t=>{if(t&&sn(t)){const e=t.split(":");return{hour:g.parseIntElseUndefined(e[0]),minute:g.parseIntElseUndefined(e[1])}}return{hour:void 0,minute:void 0}},on=t=>`${ht(String(t.getHours()))}:${gt(String(t.getMinutes()))}`,an="_timePicker_1w05d_1",cn="_timePickerColumn_1w05d_6",de={timePicker:an,timePickerColumn:cn},ln=({onClick:t,item:e,selected:n,columnRef:r,canScrollRef:s})=>{const o=a.useRef(null);return a.useEffect(function(){if(n&&r.current&&o.current&&s.current){const c=o.current.scrollHeight*Math.max(e-2,0);r.current.scrollTo(0,c),s.current=!1}},[r,e,n,s]),i.jsx(g.Row,{width:"64px",justifyContent:"center",spacing:.5,indent:.5,ref:o,children:n?i.jsx(p.PrimaryButton,{label:F.padStart(String(e),2,"0"),onClick:()=>t&&t(e)}):i.jsx(p.FlatButton,{label:String(e).padStart(2,"0"),onClick:()=>t&&t(e)})})},_t=({onClick:t,items:e,selectedItem:n,canScrollRef:r})=>{const s=a.useRef(null);return i.jsx(g.Column,{className:de.timePickerColumn,ref:s,children:e.map(o=>i.jsx(ln,{item:o,onClick:t,selected:o===n,columnRef:s,canScrollRef:r},o))})},dn=F.range(0,24),un=F.range(0,60),fn=({value:t,onValueChange:e})=>{const n=a.useRef(!0),[r,s]=a.useState(void 0),[o,l]=a.useState(void 0);a.useEffect(()=>{if(t){const{minute:f,hour:h}=ut(t);s(h),l(f)}},[t]);const c=a.useCallback(f=>{s(f),e==null||e(`${ht(String(f??0))}:${gt(String(o??0))}`)},[o,e]),u=a.useCallback(f=>{l(f),e==null||e(`${ht(String(r??0))}:${gt(String(f??0))}`)},[r,e]);return i.jsxs(g.Row,{className:de.timePicker,children:[i.jsx(_t,{items:dn,onClick:c,selectedItem:r,canScrollRef:n}),i.jsx(g.Indent,{}),i.jsx(_t,{items:un,onClick:u,selectedItem:o,canScrollRef:n})]})},hn=(t,e,n)=>{a.useEffect(function(){t&&e(t)},[t,e]),a.useEffect(function(){n.current&&(t?n.current.valueAsDate=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())):n.current.valueAsDate=null)},[t,n])},gn=(t,e,{setDateInFocus:n,showCalendarInternal:r,hideCalendarInternal:s,setFirstFocusedInput:o,setCurrentPanel:l,localTime:c,setLocalTime:u,localDate:f,setLocalDate:h},x)=>{const m=a.useCallback(S=>{if(!S)return;const b=new Date(S);if(t)b.setHours(t.getHours()),b.setMinutes(t.getMinutes()),e==null||e(b),h(void 0);else if(c){const{minute:M,hour:T}=ut(c);b.setHours(T??0),b.setMinutes(M??0),e==null||e(b),h(void 0)}else h(b);n(b),x.current&&(x.current.valueAsDate=new Date(Date.UTC(b.getFullYear(),b.getMonth(),b.getDate())))},[t,x,c,e,n,h]),D=a.useCallback(S=>{if(S)if(t){const b=ut(S),M=new Date(t);M.setHours(b.hour||0),M.setMinutes(b.minute||0),e==null||e(M),u(void 0)}else if(f){const b=ut(S),M=new Date(f);M.setHours(b.hour||0),M.setMinutes(b.minute||0),e==null||e(M),u(void 0)}else u(S)},[e,t,f,u]),y=a.useCallback(S=>{S.target.value[0]!=="0"&&m(S.target.valueAsDate)},[m]),j=a.useCallback(S=>D(S.target.value),[D]),k=a.useCallback(()=>{n(t||new Date),l("calendar"),r()},[t,l,r,n]),w=a.useCallback(()=>{o(void 0),s()},[o,s]);return{inputLeftChangeHandler:y,inputRightChangeHandler:j,hideCalendar:w,showCalendar:k,onChangeTime:D,onChangeDate:m}},mn=t=>{const[e,n]=a.useState(void 0),[r,s]=a.useState(void 0),[o,l,c]=g.useBoolean(!1),[u,f,h]=g.useBoolean(!1),[x,m]=a.useState(void 0),[D,y]=a.useState(()=>t??new Date),[j,k]=a.useState("calendar");return{isCalendarVisible:o,showCalendarInternal:l,hideCalendarInternal:c,firstFocusedInput:x,setFirstFocusedInput:m,dateInFocus:D,setDateInFocus:y,currentPanel:j,setCurrentPanel:k,isTimePickerVisible:u,showTimePicker:f,hideTimePicker:h,localDate:e,setLocalDate:n,localTime:r,setLocalTime:s}},Dn=(t,e,n,r,{isCalendarVisible:s,setCurrentPanel:o,showTimePicker:l,hideTimePicker:c})=>{const u=a.useCallback(()=>{s||n(),o("calendar"),c()},[c,s,o,n]),f=a.useCallback(()=>{r(),l()},[r,l]),h=a.useCallback(y=>{t(y.date),r(),l()},[t,r,l]),x=a.useCallback(()=>{o("presets"),n()},[o,n]),m=a.useCallback(()=>{var y;s?r():((y=e.current)==null||y.focus(),o("calendar"),n())},[s,r,e,o,n]),D=a.useCallback(y=>{y.key==="Escape"&&r()},[r]);return{onFocusLeft:u,onFocusRight:f,onClickDay:h,onClickArrowButton:x,onClickCalendarButton:m,onKeyDownHandler:D}},xn=({value:t,onValueChange:e,onEnter:n,onEsc:r,onBlur:s,autoFocus:o,minDate:l,widthLeft:c=128,widthRight:u=80,maxDate:f=it,variant:h,disabled:x})=>{const m=a.useRef(null),D=a.useRef(null),y=mn(t),{setCurrentPanel:j,currentPanel:k,isCalendarVisible:w,dateInFocus:S,setDateInFocus:b,isTimePickerVisible:M,hideTimePicker:T,localTime:C,localDate:I}=y,{showCalendar:E,hideCalendar:A,inputLeftChangeHandler:R,inputRightChangeHandler:P,onChangeTime:B,onChangeDate:W}=gn(t,e,y,m),{onKeyDownHandler:U,onFocusRight:J,onFocusLeft:H,onClickDay:Q,onClickCalendarButton:V,onClickArrowButton:L}=Dn(W,m,E,A,y);hn(t,b,m);const _=a.useMemo(()=>{const dt=t||I;return dt?K(void 0,dt,["singleSelected","selected"]):{}},[I,t]),N=a.useCallback(()=>{A(),T()},[A,T]),O=a.useMemo(()=>t?on(t):C,[t,C]),ct=g.useDelayedFalse(w,300),lt=g.useDelayedFalse(M,300);return i.jsx(g.Box,{onKeyDown:U,children:i.jsx(rt.Popover,{arrow:!1,lazy:!0,disabled:x,placement:ot,visible:w||M,onClickOutside:N,content:(ct||lt)&&i.jsx(g.Column,{children:ct?i.jsx(tt,{statePerMonth:_,onClickDay:Q,dateInFocus:S,setDateInFocus:b,currentPanel:k,setCurrentPanel:j,minDate:l,maxDate:f}):lt?i.jsxs(g.Column,{children:[i.jsx(g.Column,{overflow:"hidden",height:"250px",children:i.jsx(fn,{value:O??"",onValueChange:B})}),i.jsx(g.Space,{}),i.jsx(g.Row,{justifyContent:"flex-end",children:i.jsx(p.PrimaryButton,{label:"Done",onClick:T})})]}):null}),children:i.jsx(le,{autoFocusLeft:o,onEsc:r,onEnter:n,onBlur:s,disabled:x,separatorIcon:p.stenaClock,typeLeft:"date",typeRight:"time",placeholderLeft:"yyyy-mm-dd",placeholderRight:"hh:mm",onChangeLeft:R,onChangeRight:P,onClickArrowDown:L,onClickCalendar:V,onFocusLeft:H,onFocusRight:J,onClickLeft:H,onClickRight:J,inputRefLeft:m,inputRefRight:D,valueRight:O??"",widthLeft:c,widthRight:u,minLeft:l,maxLeft:f,variant:h})})})},yn=({value:t,onValueChange:e,year:n})=>{const r=String(n);return i.jsx(g.Row,{justifyContent:"center",children:t===n?i.jsx(p.PrimaryButton,{label:r,onClick:()=>e==null?void 0:e(n)}):i.jsx(p.FlatButton,{label:r,onClick:()=>e==null?void 0:e(n)})})},bn=({value:t,onValueChange:e,initialLastYear:n})=>{const[r,s]=a.useState(()=>t?t+4:n??new Date().getFullYear()+4),o=a.useMemo(()=>{const l=r-11;return F.chunk(F.range(l,r+1),3)},[r]);return a.useEffect(()=>{s(l=>pn(t,l))},[t]),i.jsxs(g.Row,{children:[i.jsx(g.Column,{justifyContent:"center",children:i.jsx(p.FlatButton,{leftIcon:p.stenaArrowLeft,onClick:()=>s(r-3)})}),i.jsx(g.Column,{gap:1,children:o.map(l=>i.jsx(g.Row,{gap:1,children:l.map(c=>i.jsx(yn,{year:c,onValueChange:e,value:t},c))},l[0]))}),i.jsx(g.Column,{justifyContent:"center",children:i.jsx(p.FlatButton,{leftIcon:p.stenaArrowRight,onClick:()=>s(r+3)})})]})},pn=(t,e)=>{if(t==null)return e;if(t>e){const r=t-e,s=r%3,o=r-s+3;return e+o}const n=e-11;if(t<n){const r=n-t,s=r%3,o=r-s+3;return e-o}return e},wn=(t,e,n,r,s)=>{a.useEffect(function(){t&&n(t)},[t,n]),a.useEffect(function(){e&&n(e)},[e,n]),a.useEffect(function(){r.current&&(t?r.current.valueAsDate=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())):r.current.valueAsDate=null)},[t,r]),a.useEffect(function(){s.current&&(e?s.current.valueAsDate=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())):s.current.valueAsDate=null)},[e,s])},Sn=(t,e,n,{setDateInFocus:r,showCalendarInternal:s,hideCalendarInternal:o,setFirstFocusedInput:l,setCurrentPanel:c})=>{const u=a.useCallback(m=>{m.target.value[0]!=="0"&&(n==null||n({startDate:m.target.valueAsDate??void 0,endDate:e}))},[n,e]),f=a.useCallback(m=>{m.target.value[0]!=="0"&&(n==null||n({startDate:t,endDate:m.target.valueAsDate??void 0}))},[n,t]),h=a.useCallback(()=>{r(t||e||new Date),c("calendar"),s()},[t,e,c,s,r]),x=a.useCallback(()=>{l(void 0),o()},[l,o]);return{inputLeftChangeHandler:u,inputRightChangeHandler:f,hideCalendar:x,setDateInFocus:r,setCurrentPanel:c,showCalendar:h}},kn=(t,e)=>{const[n,r,s]=g.useBoolean(!1),[o,l]=a.useState(void 0),[c,u]=a.useState("startDate"),[f,h]=a.useState(()=>(c==="startDate"?t:c==="endDate"?e:void 0)??new Date),[x,m]=a.useState("calendar");return{isCalendarVisible:n,showCalendarInternal:r,hideCalendarInternal:s,firstFocusedInput:o,setFirstFocusedInput:l,focusedInput:c,setFocusedInput:u,dateInFocus:f,setDateInFocus:h,currentPanel:x,setCurrentPanel:m}},jn=(t,e,n,r,s,o,l,{firstFocusedInput:c,setFirstFocusedInput:u,isCalendarVisible:f,setFocusedInput:h,focusedInput:x,setCurrentPanel:m})=>{const D=a.useCallback(()=>{c==null&&u("startDate"),h("startDate"),f||o()},[f,h,o,u,c]),y=a.useCallback(()=>{c==null&&u("endDate"),h("endDate"),f||o()},[f,h,o,u,c]),j=a.useCallback(b=>{var M,T,C,I;x==="startDate"?e!=null&&d.isAfter(b.date,e)?(n==null||n({startDate:b.date,endDate:void 0}),h("endDate"),(M=s.current)==null||M.focus()):(n==null||n({startDate:b.date,endDate:e}),c==="startDate"?(h("endDate"),(T=s.current)==null||T.focus()):setTimeout(l,50)):x==="endDate"&&(t?d.isAfter(t,b.date)?(n==null||n({startDate:b.date,endDate:void 0}),h("endDate"),(I=s.current)==null||I.focus()):(n==null||n({startDate:t,endDate:b.date}),setTimeout(l,50)):(n==null||n({startDate:t,endDate:b.date}),h("startDate"),(C=r.current)==null||C.focus()))},[x,n,e,c,h,s,l,t,r]),k=a.useCallback(()=>{m("presets"),o()},[m,o]),w=a.useCallback(()=>{var b;f?l():(h("startDate"),u("startDate"),(b=r.current)==null||b.focus(),m("calendar"),o())},[f,l,h,u,r,m,o]),S=a.useCallback(b=>{b.key==="Escape"&&l()},[l]);return{onFocusLeft:D,onFocusRight:y,onClickDay:j,onClickArrowButton:k,onClickCalendarButton:w,onKeyDownHandler:S}};function Mn({value:t,onValueChange:e,autoFocus:n,onBlur:r,onEnter:s,onEsc:o,minDate:l,maxDate:c=it,calendarProps:u,widthLeft:f=128,widthRight:h=128,variant:x,disabled:m}){const{startDate:D,endDate:y}=t||{},j=a.useRef(null),k=a.useRef(null),w=kn(D,y),{dateInFocus:S,setDateInFocus:b,isCalendarVisible:M,currentPanel:T,setCurrentPanel:C}=w,{showCalendar:I,hideCalendar:E,inputLeftChangeHandler:A,inputRightChangeHandler:R}=Sn(D,y,e,w),{onKeyDownHandler:P,onFocusRight:B,onFocusLeft:W,onClickDay:U,onClickCalendarButton:J,onClickArrowButton:H}=jn(D,y,e,j,k,I,E,w);wn(D,y,b,j,k);const Q=a.useMemo(()=>D&&y&&d.isAfter(D,y),[D,y]),V=a.useMemo(()=>Ht(u==null?void 0:u.statePerMonth,D,y,S),[u==null?void 0:u.statePerMonth,D,y,S]),L=g.useDelayedFalse(M,300);return i.jsx(g.Box,{onKeyDown:P,children:i.jsx(rt.Popover,{arrow:!1,lazy:!0,disabled:m,placement:ot,onClickOutside:E,visible:M,content:L&&i.jsx(tt,{onClickDay:U,dateInFocus:S,setDateInFocus:b,currentPanel:T,setCurrentPanel:C,minDate:l,maxDate:c,...u,statePerMonth:V}),children:i.jsx(le,{autoFocusLeft:n,onEsc:o,onEnter:s,onBlur:r,disabled:m,separatorIcon:p.stenaArrowRight,typeLeft:"date",typeRight:"date",placeholderLeft:"Start date",placeholderRight:"End date",onChangeLeft:A,onChangeRight:R,onClickArrowDown:H,onClickCalendar:J,onFocusLeft:W,onFocusRight:B,onClickLeft:W,onClickRight:B,inputRefLeft:j,inputRefRight:k,variant:Q?"error":x,widthLeft:f,widthRight:h,minLeft:l,maxLeft:c,minRight:l,maxRight:c})})})}const Ot=({onChange:t,onValueChange:e,mask:n,pipe:r,value:s,guide:o,keepCharPositions:l,placeholderChar:c,showMask:u,...f})=>{const h=a.useRef(null),{onChange:x}=ye.useMaskedInput(h,t,e,n,r,s,o,l,c,u);return i.jsx(q.LabelledTextInput,{...f,ref:h,onChange:x,width:"168px"})},Rn=[/[1-2]/,/\d/,/\d/,/\d/],Tn=[/[0-1]/,/\d/],Cn=[/[0-3]/,/\d/],In=t=>An(t).flatMap(En),En=t=>{switch(t){case"yyyy":return Rn;case"mm":case"MM":return Tn;case"dd":case"DD":return Cn;default:return[t]}},An=t=>{if(t.length===0)return[];const e=[];let n=t[0];for(let r=1;r<t.length;r++)t[r]!==t[r-1]?(e.push(n),n=t[r]):n+=t[r];return e.push(n),e},at=t=>{const n=new Intl.DateTimeFormat(t,{dateStyle:"short"}).formatToParts(new Date),r={year:"yyyy",month:"MM",day:"dd"};return n.map(s=>r[s.type]||s.value).join("")},ue={"en-US":Y.enUS,"en-GB":Y.enGB,"de-AT":Y.deAT,"de-DE":Y.de,fr:Y.fr,de:Y.de,es:Y.es,sv:Y.sv,pl:Y.pl,da:Y.da,nl:Y.nl,nb:Y.nb},pt=t=>ue[t],fe=()=>ue.sv,et=(t,e,n)=>{const r=pt(e);if(r==null)return;const s=d.parse(t,at(e),n??new Date,{locale:r});if(!isNaN(s.getTime()))return s},st=(t,e)=>d.format(t,at(e),{locale:pt(e)}),Tt=(t,e)=>{const n=et(t,e);if(n!=null)return st(n,e)},he=({value:t,onValueChange:e,localeCode:n,startDateLabel:r="From",endDateLabel:s="To",onFocus:o})=>{const{mask:l,placeholder:c}=a.useMemo(()=>{const u=at(n);return{mask:In(u),placeholder:u.toLowerCase()}},[n]);return i.jsxs(g.Row,{children:[i.jsx(Ot,{mask:l,value:t==null?void 0:t.startDate,onValueChange:u=>{e==null||e({startDate:u})},onBlur:u=>{const f=Tt(u.target.value,n);f&&f!==(t==null?void 0:t.startDate)&&(e==null||e({startDate:f}))},onFocus:o,label:r,borderRadiusVariant:"onlyLeft",placeholder:c}),i.jsx(Ot,{mask:l,value:t==null?void 0:t.endDate,onValueChange:u=>e==null?void 0:e({endDate:u}),onBlur:u=>{const f=Tt(u.target.value,n);f&&f!==(t==null?void 0:t.endDate)&&(e==null||e({endDate:f}))},onFocus:o,label:s,borderRadiusVariant:"onlyRight",placeholder:c})]})},ge=(t,e,n,r)=>{const s=pt(n)??fe(),o=a.useId(),l=te(),c=a.useRef(null),u=a.useMemo(()=>at(n),[n]),f=a.useMemo(()=>{var R;return((R=t==null?void 0:t.startDate)==null?void 0:R.length)===u.length?et(t.startDate,n):void 0},[u.length,n,t==null?void 0:t.startDate]),h=a.useMemo(()=>{var R;return((R=t==null?void 0:t.endDate)==null?void 0:R.length)===u.length?et(t.endDate,n):void 0},[u.length,n,t==null?void 0:t.endDate]),[x,m]=a.useState(r??f??new Date),D=a.useCallback(R=>{d.isSameMonth(R,l)||d.isAfter(R,l)?m(R):m(l)},[l]),y=a.useMemo(()=>Dt(x.getFullYear(),x.getMonth(),s),[s,x]),j=a.useMemo(()=>F.startCase(d.format(x,"MMMM yyyy",{locale:s})),[s,x]),k=a.useMemo(()=>d.isSameMonth(l,x),[l,x]),[w,S]=a.useState(),[b,M]=a.useState("calendar"),T=a.useCallback(R=>{var W,U;const P=((W=R==null?void 0:R.startDate)==null?void 0:W.length)===u.length?et(R.startDate,n):void 0,B=((U=R==null?void 0:R.endDate)==null?void 0:U.length)===u.length?et(R.endDate,n):void 0;P?D(P):B&&D(B),e==null||e({...t,...R})},[u.length,n,e,D,t]),C=a.useMemo(()=>d.isSameMonth(l,x)||d.isBefore(x,l),[l,x]),I=a.useMemo(()=>(f&&h&&(d.isSameDay(f,h)||d.isBefore(f,h)))??!1,[h,f]);return{isDateDisabled:a.useCallback(R=>!d.isSameDay(R,l)&&d.isBefore(R,l),[l]),onClickDate:R=>{R.getFullYear()===x.getFullYear()&&R.getMonth()===x.getMonth()&&(f&&h==null?d.isBefore(R,f)?e==null||e({startDate:st(R,n),endDate:void 0}):e==null||e({startDate:t==null?void 0:t.startDate,endDate:st(R,n)}):e==null||e({startDate:st(R,n),endDate:void 0}))},onValueChangeByInputs:T,isValidDateRange:I,prevMonthDisabled:C,monthPickerButtonRef:c,calendarId:o,monthPickerButtonLabel:j,visiblePanel:b,setVisiblePanel:M,setVisibleMonth:m,visibleMonthData:y,todayIsInVisibleMonth:k,hoverDate:w,setHoverDate:S,selectedStartDate:f,selectedEndDate:h,today:l,visibleMonth:x}},me=({previousMonthButtonAriaLabel:t,nextMonthButtonAriaLabel:e,monthPickerButtonLabel:n,visiblePanel:r,setVisiblePanel:s,monthPickerButtonRef:o,setVisibleMonth:l,visibleMonth:c,prevMonthDisabled:u})=>i.jsxs(g.Row,{alignSelf:"center",justifyContent:"space-between",width:"100%",children:[i.jsx(p.FlatButton,{"aria-live":"polite",label:n,rightIcon:r==="calendar"?p.stenaAngleDown:p.stenaAngleUp,onClick:()=>s(r==="calendar"?"month-picker":"calendar"),ref:o}),i.jsxs(g.Row,{alignItems:"center",gap:2,children:[i.jsx(p.SecondaryButton,{leftIcon:p.stenaArrowLeft,onClick:()=>l(d.subMonths(c,1)),disabled:u,"aria-label":t}),i.jsx(p.SecondaryButton,{leftIcon:p.stenaArrowRight,onClick:()=>l(d.addMonths(c,1)),"aria-label":e})]})]}),Bn="_travelDateCell_1g60o_1",Nn="_outline_1g60o_13",Ln="_contentWrapper_1g60o_26",Pn="_disabled_1g60o_47",Yn="_isToday_1g60o_50",_n="_isSelectionStart_1g60o_54",On="_isSelectionEnd_1g60o_55",Hn="_hover_1g60o_70",Fn="_startSelected_1g60o_73",Wn="_endSelected_1g60o_73",$={travelDateCell:Bn,outline:Nn,contentWrapper:Ln,disabled:Pn,isToday:Yn,isSelectionStart:_n,isSelectionEnd:On,hover:Hn,startSelected:Fn,endSelected:Wn},X=mt.cssColor("--lhds-color-red-100"),Un=(t,e,n,r,s,o)=>{if(!s)return{left:"transparent",right:"transparent"};if(e&&n&&d.isSameDay(e,n))return{left:"transparent",right:"transparent"};if(e&&n&&!o)return{left:"transparent",right:"transparent"};const l=e&&n?d.isAfter(t,e)&&d.isBefore(t,n)&&!d.isSameDay(t,e)&&!d.isSameDay(t,n):!1,c=e&&r?d.isAfter(t,e)&&d.isBefore(t,r)&&!d.isSameDay(t,e)&&!d.isSameDay(t,r):!1;if(l)return{left:X,right:X};if(e&&n)return d.isSameDay(t,e)?{left:"transparent",right:X}:d.isSameDay(t,n)?{left:X,right:"transparent"}:{left:"transparent",right:"transparent"};if(e&&r&&d.isAfter(r,e)){if(d.isSameDay(t,e))return{left:"transparent",right:X};if(d.isSameDay(t,r))return{left:X,right:"transparent"}}return c?{left:X,right:X}:{left:"transparent",right:"transparent"}},$n=(t,e)=>{switch(e){case"PageUp":return d.subMonths(t,1);case"PageDown":return d.addMonths(t,1);case"Home":return d.startOfWeek(t);case"End":return d.addDays(d.startOfWeek(t),6);case"ArrowLeft":return d.subDays(t,1);case"ArrowUp":return d.subDays(t,7);case"ArrowRight":return d.addDays(t,1);case"ArrowDown":return d.addDays(t,7);default:return}},kt=(t,e)=>d.format(d.addHours(t,12),G.fullDate)+e,zn=({onClick:t,visibleMonth:e,onChangeVisibleMonth:n,day:r,isValidDateRange:s,selectedStartDate:o,selectedEndDate:l,onStartHover:c,onEndHover:u,hoverDate:f,today:h,todayIsInVisibleMonth:x,calendarId:m,isDateDisabled:D})=>{const y=a.useCallback(async T=>{var I;const C=$n(r.date,T.key);C&&!D(C)&&(c(C),d.isSameMonth(r.date,C)?(I=document.getElementById(kt(C,m)))==null||I.focus():(n(C),setTimeout(()=>{var E;(E=document.getElementById(kt(C,m)))==null||E.focus()},10))),(T.key==="Enter"||T.code==="Space")&&t(r.date)},[m,r.date,D,n,t,c]),j=r.month===e.getMonth(),k=D(r.date),w=o?d.isSameDay(o,r.date):!1,S=l?d.isSameDay(l,r.date):!1,b=d.isSameDay(r.date,h),M=Un(r.date,o,l,f,j,s);return i.jsxs("td",{className:$.travelDateCell,onClick:k?void 0:()=>t(r.date),onMouseOver:k?void 0:()=>j&&c(r.date),onMouseOut:k?void 0:()=>j&&u(r.date),tabIndex:k?void 0:vn(r,o,b,e,x),id:k?void 0:kt(r.date,m),onKeyDown:k?void 0:y,"aria-selected":w||S,children:[i.jsx("div",{className:$.outline}),i.jsxs(g.Row,{children:[i.jsx(g.Box,{height:"48px",width:"24px",background:M.left}),i.jsx(g.Box,{height:"48px",width:"24px",background:M.right})]}),j&&i.jsx("div",{className:Ct($.contentWrapper,b?$.isToday:void 0,o?$.startSelected:void 0,l?$.endSelected:void 0,f&&d.isSameDay(f,r.date)?$.hover:void 0,w&&$.isSelectionStart,S&&$.isSelectionEnd,k&&$.disabled),children:i.jsx(g.Text,{variant:"bold",color:k?mt.cssColor("--lhds-color-ui-500"):void 0,children:r.dayOfMonth})})]})},vn=(t,e,n,r,s)=>{const o=e?d.isSameMonth(e,r):!1;return(e&&o?d.isSameDay(t.date,e):n)||!o&&!s&&t.date.getDate()===1?0:-1},qn="_travelCalendar_18pjj_1",Kn={travelCalendar:qn},De=({visibleMonthData:t,onClickDate:e,setHoverDate:n,setVisibleMonth:r,visibleMonth:s,isValidDateRange:o,selectedStartDate:l,selectedEndDate:c,hoverDate:u,today:f,calendarId:h,isDateDisabled:x,todayIsInVisibleMonth:m})=>i.jsx("table",{className:Kn.travelCalendar,children:i.jsxs("tbody",{children:[i.jsx("tr",{children:t.weeks[0].days.map(D=>i.jsx("th",{abbr:D.fullName,children:i.jsx(g.Text,{children:D.name})},D.name))}),t.weeks.map(D=>i.jsx(It.Fragment,{children:i.jsx("tr",{children:D.days.map(y=>i.jsx(zn,{onClick:j=>e(j),visibleMonth:s,onChangeVisibleMonth:r,isValidDateRange:o,day:y,onStartHover:j=>n(j),onEndHover:j=>n(k=>k&&d.isSameDay(k,j)?void 0:k),selectedStartDate:l,selectedEndDate:c,hoverDate:u,today:f,todayIsInVisibleMonth:m,calendarId:h,isDateDisabled:x},y.dateString))},D.weekNumber)},D.weekNumber))]})}),Gn="_travelDateRangeInput_1j7rp_1",Jn="_overlay_1j7rp_2",Qn="_calendarVisible_1j7rp_6",jt={travelDateRangeInput:Gn,overlay:Jn,calendarVisible:Qn},Xn=({value:t,onValueChange:e,startDateLabel:n,endDateLabel:r,localeCode:s="sv",initialMonthInFocus:o,previousMonthButtonAriaLabel:l="Previous month",nextMonthButtonAriaLabel:c="Next month",heading:u,headingLevel:f,numMonthsInMonthPicker:h=12,firstMonthInMonthPicker:x=new Date,zIndex:m=1e3,zIndexWhenClosed:D,onHideCalendar:y,renderBelowCalendar:j})=>{const[k,w]=a.useState(!1),[S,b]=a.useState(!1),[M,T]=a.useState({width:336,height:66}),C=a.useRef(!1),I=a.useCallback(()=>{C.current=!0,b(!0),setTimeout(()=>{w(!0)},10)},[]),E=a.useCallback(()=>{S&&(w(!1),C.current=!1,y==null||y(),setTimeout(()=>{C.current||b(!1)},120))},[S,y]),A=a.useRef(null),R=a.useRef(null);g.useOnClickOutside(A,E),a.useLayoutEffect(()=>{var N,O;const L=(N=R.current)==null?void 0:N.offsetWidth,_=(O=R.current)==null?void 0:O.offsetHeight;L!=null&&_!=null&&(M.height!==_||M.width!==L)&&T({width:L,height:_})},[M.height,M.width]);const P=ge(t,e,s,o),{visiblePanel:B,visibleMonth:W,onValueChangeByInputs:U,setVisibleMonth:J,setVisiblePanel:H,monthPickerButtonRef:Q}=P,V=a.useCallback(L=>{L.key==="Escape"&&E()},[E]);return i.jsxs(g.Box,{position:"relative",className:jt.travelDateRangeInput,ref:A,onKeyDown:V,height:M.height,width:M.width,children:[i.jsx(g.Box,{position:"absolute",ref:R,zIndex:S?m:D,children:i.jsx(he,{value:t,onValueChange:U,localeCode:s,startDateLabel:n,endDateLabel:r,onFocus:I})}),S&&i.jsx(g.Box,{position:"absolute",zIndex:m-1,left:"-2.4rem",top:u?"-8.0rem":"-2.4rem",className:Ct(jt.overlay,k&&jt.calendarVisible),children:i.jsx(g.Box,{background:"white",shadow:"popover",borderRadius:"var(--swui-border-radius-large)",children:i.jsxs(p.CardBody,{gap:3,children:[u&&i.jsx(g.Heading,{variant:"h2",as:f,children:u}),i.jsx(g.Box,{height:"6.8rem"}),i.jsx(me,{...P,previousMonthButtonAriaLabel:l,nextMonthButtonAriaLabel:c}),B==="calendar"&&i.jsx(De,{...P}),B==="month-picker"&&i.jsx(yt,{firstMonth:x,numMonths:h,value:W,onValueChange:L=>{var _;J(L),H("calendar"),(_=Q.current)==null||_.focus()},onCancel:()=>{var L;H("calendar"),(L=Q.current)==null||L.focus()}}),j==null?void 0:j({hideCalendar:E})]})})})]})},Zn=({value:t,onValueChange:e,startDateLabel:n,endDateLabel:r,localeCode:s="sv",initialMonthInFocus:o,previousMonthButtonAriaLabel:l="Previous month",nextMonthButtonAriaLabel:c="Next month",heading:u,headingLevel:f,numMonthsInMonthPicker:h=12,firstMonthInMonthPicker:x=new Date})=>{const m=ge(t,e,s,o),{visiblePanel:D,visibleMonth:y,onValueChangeByInputs:j,setVisibleMonth:k,setVisiblePanel:w,monthPickerButtonRef:S}=m;return i.jsxs(g.Column,{gap:3,children:[u&&i.jsx(g.Heading,{variant:"h2",as:f,children:u}),i.jsx(he,{value:t,onValueChange:j,localeCode:s,startDateLabel:n,endDateLabel:r}),i.jsx(me,{...m,previousMonthButtonAriaLabel:l,nextMonthButtonAriaLabel:c}),D==="calendar"&&i.jsx(De,{...m}),D==="month-picker"&&i.jsx(yt,{firstMonth:x,numMonths:h,value:y,onValueChange:b=>{var M;k(b),w("calendar"),(M=S.current)==null||M.focus()},onCancel:()=>{var b;w("calendar"),(b=S.current)==null||b.focus()}})]})};exports.Calendar=ft;exports.CalendarDay=At;exports.DateInput=Xe;exports.DateRangeCalendar=qe;exports.DateRangeDualTextInput=Mn;exports.DateRangeInput=Ve;exports.DateTextInput=tn;exports.DateTimeInput=xn;exports.Month=Ut;exports.MonthPicker=yt;exports.MultiDateCalendar=Ge;exports.PresetPicker=ee;exports.SingleDateCalendar=Lt;exports.SingleWeekCalendar=Je;exports.TimeTextInput=nn;exports.TravelDateRangeCalendar=Zn;exports.TravelDateRangeInput=Xn;exports.WeekDay=$t;exports.WeekDayCell=Xt;exports.WeekNumberCell=Zt;exports.YearPicker=bn;exports.addDayStateHighlights=K;exports.addDayStateHighlightsOnSingleDay=Et;exports.addWeekRangeHighlights=Wt;exports.addWeekStateHighlights=Se;exports.buildDayStateForDateRange=nt;exports.buildDayStateForRange=Ft;exports.buildDayStateForSingleMonth=Ht;exports.calculateOverflowingMonth=Kt;exports.createDay=vt;exports.dateRangeToStrings=ne;exports.dayHasHighlight=Gt;exports.dayHighlightSelect=v;exports.defaultCalendarTheme=Z;exports.defaultTextPropsProvider=Qt;exports.defaultWrapperStyleProvider=Jt;exports.extranetCalendarTheme=Re;exports.formatLocalizedDate=st;exports.getDateFormatForLocaleCode=at;exports.getDaysForWeekForDate=qt;exports.getDefaultLocaleForFormatting=fe;exports.getLocaleForLocaleCode=pt;exports.getMonthInYear=Dt;exports.getMonthsInYear=Mt;exports.getWeekForDate=xt;exports.getWeeksForMonth=zt;exports.isDateRangeInvalid=Bt;exports.parseLocalizedDateString=et;exports.reformatLocalizedDateString=Tt;exports.setDayStateValue=pe;exports.setDayStateValueFunction=we;exports.stringsToDateRange=re;exports.toggleDateStringsIfEndIsEarlierThanStart=ze;exports.toggleDatesIfEndIsEarlierThanStart=Nt;exports.useDateRangeCalendarState=Ke;exports.useDateRangeSelection=se;exports.useMultiDateSelection=ie;exports.useSingleDateSelection=oe;exports.useSingleWeekSelection=ae;
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._calendar_1b766_1{--swui-calendar-day-width: 48px;--swui-calendar-day-height: 48px;--swui-calendar-day-border-radius: var(--swui-max-border-radius);--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(--modern-red);--swui-calendar-wrapper-selected-background: var(--modern-red);--swui-calendar-wrapper-range-border: var(--lhds-color-red-100);--swui-calendar-wrapper-range-background: var(--lhds-color-red-100);--swui-calendar-wrapper-today-border: var(--lhds-color-ui-200);--swui-calendar-wrapper-today-background: var(--lhds-color-ui-50);--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_1b766_1 table{border-spacing:0 4px}._calendar_1b766_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_1b766_1._weekNumberVisible_1b766_41 tr td:nth-child(2),._calendar_1b766_1:not(._weekNumberVisible_1b766_41) tr td:first-child{border-top-left-radius:var(--swui-calendar-day-border-radius);border-bottom-left-radius:var(--swui-calendar-day-border-radius)}._calendar_1b766_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}._travelDateCell_1g60o_1{position:relative;width:48px;height:48px;border-radius:var(--swui-max-border-radius)}._travelDateCell_1g60o_1:focus{outline:none}._travelDateCell_1g60o_1:focus-visible ._outline_1g60o_13{outline:var(--swui-focus-outline);outline-width:var(--swui-focus-outline-width);background:transparent;position:absolute;border-radius:var(--swui-max-border-radius);top:0;bottom:0;left:0;right:0;z-index:10}._travelDateCell_1g60o_1:focus-visible ._contentWrapper_1g60o_26._contentWrapper_1g60o_26._contentWrapper_1g60o_26{border-color:transparent}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26{cursor:pointer;border-radius:var(--swui-max-border-radius);border-width:2px;border-style:solid;border-color:transparent;background:transparent;position:absolute;display:flex;align-items:center;justify-content:center;left:0;right:0;top:0;bottom:0}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._disabled_1g60o_47{cursor:not-allowed}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._isToday_1g60o_50{border-color:var(--lhds-color-ui-400)}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._isSelectionStart_1g60o_54,._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._isSelectionEnd_1g60o_55{border-color:var(--modern-red)}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._isSelectionStart_1g60o_54{background:var(--modern-red)}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._isSelectionStart_1g60o_54 span{color:#fff}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._isSelectionEnd_1g60o_55:not(._isSelectionStart_1g60o_54){background:#fff}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._hover_1g60o_70{border-color:var(--modern-red)}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._hover_1g60o_70._startSelected_1g60o_73:not(._endSelected_1g60o_73):not(._isSelectionStart_1g60o_54){background:#fff}._travelDateCell_1g60o_1 ._contentWrapper_1g60o_26._hover_1g60o_70._startSelected_1g60o_73:not(._endSelected_1g60o_73):not(._isSelectionStart_1g60o_54) span{color:var(--swui-text-primary-color)}._travelCalendar_18pjj_1{border-spacing:0 4px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}._travelCalendar_18pjj_1 td{padding:0}._travelDateRangeInput_1j7rp_1 ._overlay_1j7rp_2{transition:opacity var(--swui-animation-time-fast) ease-in-out;opacity:1}._travelDateRangeInput_1j7rp_1 ._overlay_1j7rp_2:not(._travelDateRangeInput_1j7rp_1 ._overlay_1j7rp_2._calendarVisible_1j7rp_6){opacity:0}._travelDateInput_hmfbf_1 ._overlay_hmfbf_2{transition:opacity var(--swui-animation-time-fast) ease-in-out;opacity:1}._travelDateInput_hmfbf_1 ._overlay_hmfbf_2:not(._travelDateInput_hmfbf_1 ._overlay_hmfbf_2._calendarVisible_hmfbf_6){opacity:0}")),document.head.appendChild(e)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),m=require("@stenajs-webui/core"),k=require("@stenajs-webui/elements"),u=require("date-fns"),F=require("date-fns/locale"),v=require("lodash-es"),a=require("react"),pt=require("classnames"),Mt=require("@emotion/styled"),J=require("@stenajs-webui/forms"),ot=require("@stenajs-webui/tooltip"),yt=require("@stenajs-webui/theme"),Se=require("@stenajs-webui/input-mask");function ke(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const Nt=ke(a),X={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"},st=(t={},e,n)=>{if(e&&n&&u.isAfter(n,e))return u.eachDayOfInterval({start:e,end:n}).reduce((s,o)=>{const c=u.isSameDay(o,e),l=u.isSameDay(o,n);return Q(s,o,c?["selected","selectedStart","range"]:l?["selected","selectedEnd","range"]:["range"])},t);let r=t;return e&&(r=Q(r,e,["selected","singleSelected"])),n&&(r=Q(r,n,["selected","singleSelected"])),r},$t=(t={},e,n,r)=>zt(t,e,n,u.startOfMonth(r),u.endOfMonth(r)),zt=(t={},e,n,r,s)=>e&&n?st(t,u.max([e,u.subDays(r,1)]),u.min([n,u.addDays(s,1)])):st(t,e,n),je=(t,e,n)=>{const r=u.format(e,X.yearAndMonth),s=u.getISOWeek(e),o=u.getDate(e);return{...t,[r]:{...t&&t[r],[s]:{...t&&t[r]&&t[r][s],[o]:{...t&&t[r]&&t[r][s]&&t[r][s][o],...n}}}}},Me=(t,e,n)=>{const r=u.format(e,X.yearAndMonth),s=u.getISOWeek(e),o=u.getDate(e);return{...t,[r]:{...t&&t[r],[s]:{...t&&t[r]&&t[r][s],[o]:{...t&&t[r]&&t[r][s]&&t[r][s][o],...n(t&&t[r]&&t[r][s]&&t[r][s][o])}}}}},Q=(t,e,n)=>{const r=e.getMonth()+1,s=`${e.getFullYear()}-${r<10?"0":""}${r}`,o=u.getISOWeek(e),c=u.getDate(e),l=t&&t[s]&&t[s][o]&&t[s][o][c];return{...t,[s]:{...t&&t[s],[o]:{...t&&t[s]&&t[s][o],[c]:Pt(l,n)}}}},Pt=(t,e)=>({...t,highlights:[...(t==null?void 0:t.highlights)??[],...e]}),Re=(t,e,n)=>{const r=e.days[0].date,s=r.getMonth()+1,o=`${r.getFullYear()}-${s<10?"0":""}${s}`,c=e.weekNumber;let l=t;e.days.forEach(x=>{l=Q(l,x.date,n)});const d=l&&l[o]?l[o][c]:void 0,f=d&&d.highlights?[...d.highlights,...n]:n,h={...d,highlights:f};return{...l,[o]:{...t&&t[o],[c]:h}}},Kt=(t,e)=>{var s;if(!e.days.length)return{...t};const n=e.days[0].date,r=(s=v.last(e.days))==null?void 0:s.date;return{...st(t,n,r)}},Ie=(t,e)=>a.useMemo(()=>t?Q(e,new Date,["today"]):e,[t,e]);var qt=(t=>(t[t.JANUARY=0]="JANUARY",t[t.FEBRUARY=1]="FEBRUARY",t[t.MARCH=2]="MARCH",t[t.APRIL=3]="APRIL",t[t.MAY=4]="MAY",t[t.JUNE=5]="JUNE",t[t.JULY=6]="JULY",t[t.AUGUST=7]="AUGUST",t[t.SEPTEMBER=8]="SEPTEMBER",t[t.OCTOBER=9]="OCTOBER",t[t.NOVEMBER=10]="NOVEMBER",t[t.DECEMBER=11]="DECEMBER",t))(qt||{}),Gt=(t=>(t[t.SUNDAY=0]="SUNDAY",t[t.MONDAY=1]="MONDAY",t[t.TUESDAY=2]="TUESDAY",t[t.WEDNESDAY=3]="WEDNESDAY",t[t.THURSDAY=4]="THURSDAY",t[t.FRIDAY=5]="FRIDAY",t[t.SATURDAY=6]="SATURDAY",t))(Gt||{});const Bt=(t,e,n,r)=>{const s=[];for(let o=0;o<n;o++)s.push(at(t,e+o,r));return s},at=(t,e,n)=>{if(isNaN(t)||isNaN(e))throw new Error("getMonthInYear() received NaN.");const r=t+Math.floor(e/12),s=e%12,o=new Date(r,s,1);return{monthString:u.format(o,X.yearAndMonth),name:v.startCase(u.format(o,X.fullMonthName,{locale:n})),year:r,monthInYear:s,weeks:Jt(r,s,n)}},Jt=(t,e,n,r=!0)=>{const s=new Date(t,e,1),o=u.startOfWeek(s,{locale:n}),c=[];for(let l=0;l<6;l++){const d=wt(u.addWeeks(o,l),n);if(l>0&&d.startMonth!==e&&!r)return c;c.push(d)}return c},wt=(t,e)=>{const n=u.getMonth(u.addDays(t,7))!==u.getMonth(t);return{weekNumber:u.getWeek(t,{locale:e}),startMonth:u.getMonth(t),startYear:u.getYear(t),endMonth:u.getMonth(u.addDays(t,6)),endYear:u.getYear(u.addDays(t,6)),days:Xt(t,e),isLastWeekOfMonth:n}},Qt=(t,e)=>{const n=u.getISODay(t);return{date:t,name:u.format(t,"EEE",e?{locale:e}:void 0),fullName:u.format(t,"EEEE",e?{locale:e}:void 0),dateString:u.format(u.addHours(t,12),X.fullDate),weekNumber:u.getWeek(t,{locale:e}),year:u.getYear(t),month:u.getMonth(t),dayOfMonth:u.getDate(t),dayOfWeek:n,isFirstDayOfWeek:n===1,isLastDayOfWeek:n===7,isFirstDayOfMonth:u.isSameDay(u.startOfMonth(t),t),isLastDayOfMonth:u.isSameDay(u.endOfMonth(t),t)}},Xt=(t,e)=>u.eachDayOfInterval({start:t,end:u.addDays(t,6)}).map(n=>Qt(n,e)),Zt=(t,e)=>e>11?{year:t+Math.floor(e/12),month:e%12}:e<0?{year:t+Math.floor(e/12),month:12+e%12}:{year:t,month:e},Te="_calendar_1b766_1",Ce="_weekNumberVisible_1b766_41",Wt={calendar:Te,weekNumberVisible:Ce},Vt=(t,e,n)=>!!(e&&e.indexOf(n)>=0||t&&t.highlights&&t.highlights.indexOf(n)>=0),G=(t,e,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 o=0;o<n.length;o++)if(typeof n[o]=="boolean"&&n[o]||typeof n[o]=="string"&&Vt(t,e,n[o]))return r[o];return s},te=({selectedBackground:t,todayBackground:e,rangeBackground:n,borderColor:r="transparent"})=>(s,o,c,l,d)=>({backgroundColor:G(o,s,["selected","range","today",c.month===d.monthInYear],[t,n,e,"#fff"],"transparent"),borderWidth:"1px",borderStyle:"solid",borderColor:G(o,s,["selectedStart","selectedEnd","singleSelected","range","today"],["var(--swui-calendar-wrapper-range-background)","var(--swui-calendar-wrapper-range-background)","var(--swui-calendar-wrapper-range-background)","var(--swui-calendar-wrapper-range-border)","var(--lhds-color-ui-500)"],r),borderTopLeftRadius:G(o,s,["selectedStart","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),borderBottomLeftRadius:G(o,s,["selectedStart","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),borderTopRightRadius:G(o,s,["selectedEnd","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),borderBottomRightRadius:G(o,s,["selectedEnd","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),boxSizing:"border-box"}),ee=({selectedColor:t,disabledColor:e,inOtherMonthColor:n,rangeTextColor:r})=>(s,o,c,l,d)=>{const f=c.month!==d.monthInYear;return{color:G(o,s,[f,"selected","range","enabled","disabled"],[n,t,r,void 0,e])}},tt={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)"},WeekDay:{textColor:"var(--swui-calendar-week-day-text-color)",clickableTextColor:"var(--swui-calendar-week-day-clickable-text-color)"},CalendarDay:{tdStyle:te({selectedBackground:"var(--swui-calendar-wrapper-selected-background)",rangeBackground:"var(--swui-calendar-wrapper-range-background)",todayBackground:"var(--swui-calendar-wrapper-today-background)"}),textProps:ee({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)"}},Be={...tt,width:"37px",height:"37px"},ne=({onClickWeekDay:t,day:e,theme:n})=>{const r=i.jsx(m.Box,{width:n.width,height:n.height,justifyContent:"center",alignItems:"center",children:i.jsx(m.Text,{size:"small",color:t?n.WeekDay.clickableTextColor:n.WeekDay.textColor,children:e.name})});return t?i.jsx(m.Clickable,{borderRadius:"var(--swui-calendar-day-border-radius)",onClick:s=>t(e.dayOfWeek,s),disableFocusHighlight:!t,children:r}):r},Lt=function({day:e,week:n,month:r,dayState:s,userData:o,onClickDay:c,theme:l,extraDayContent:d,defaultHighlights:f}){const h=i.jsx(m.Box,{width:"100%",height:"100%",justifyContent:"center",alignItems:"center",children:i.jsx(m.Text,{...l.CalendarDay.textProps&&l.CalendarDay.textProps(f,s,e,n,r,o),children:e.dayOfMonth})}),x=Mt.td({...l.CalendarDay.tdStyle&&l.CalendarDay.tdStyle(f,s,e,n,r,o)}),D=Mt.div({...l.CalendarDay.innerWrapperStyle&&l.CalendarDay.innerWrapperStyle(f,s,e,n,r,o),width:"100%",height:"100%"}),g=Mt.div({...l.CalendarDay.cellWrapperStyle&&l.CalendarDay.cellWrapperStyle(f,s,e,n,r,o),width:"100%",height:"100%",position:"relative"}),p=Ee(f,s);return i.jsx(x,{onClick:p?void 0:j=>c==null?void 0:c(e,o,j),children:i.jsx(D,{children:i.jsx(g,{children:e.month===r.monthInYear&&i.jsxs(i.Fragment,{children:[d&&i.jsx(d,{week:n,month:r,day:e,dayState:s,theme:l,userData:o}),h]})})})})},Ee=(t,e)=>!!G(e,t,["disabled"],[!0],!1),re=({onClickWeek:t,theme:e,week:n,background:r,backgroundColor:s,prefix:o})=>{const c=i.jsxs(m.Box,{width:e.width,height:e.height,justifyContent:"center",alignItems:"center",children:[r&&i.jsx(m.Box,{position:"absolute",children:r}),i.jsx(m.Box,{position:"absolute",children:i.jsxs(m.Text,{color:t?e.WeekNumber.clickableTextColor:e.WeekNumber.textColor,children:[o,n.weekNumber]})})]});return i.jsx(m.Box,{background:s||e.WeekNumber.backgroundColor,position:"relative",children:t?i.jsx(m.Clickable,{borderRadius:"var(--swui-calendar-day-border-radius)",onClick:l=>t(n,l),disableFocusHighlight:!t,children:c}):c})},Ae=(t,e,n)=>e&&u.isBefore(t,e)?u.isSameDay(t,e):n&&u.isAfter(t,n)?u.isSameDay(t,n):!0,Ne=function({dayComponent:e,minDate:n,maxDate:r,dayState:s,day:o,...c}){const l=a.useMemo(()=>Ae(o.date,n,r)?s:Pt(s,["disabled"]),[o.date,s,r,n]);return i.jsx(e,{day:o,...c,dayState:l})};function Pe({month:t,dayComponent:e=Lt,statePerWeek:n,userDataPerWeek:r,minDate:s,maxDate:o,onClickDay:c,onClickWeek:l,onClickWeekDay:d,onClickMonth:f,renderWeekNumber:h,renderWeekDay:x,headerRightContent:D,theme:g=tt,extraDayContent:p,defaultHighlights:j,showWeekNumber:S}){return i.jsx(i.Fragment,{children:i.jsxs(m.Box,{alignItems:"stretch",children:[i.jsxs(m.Row,{justifyContent:D?"space-between":"center",alignItems:"center",children:[i.jsx(m.Row,{justifyContent:"center",alignItems:"center",children:f?i.jsx(k.FlatButton,{onClick:()=>f(t),label:t.name+" "+String(t.year),rightIcon:k.stenaAngleDown}):i.jsxs(m.Text,{whiteSpace:"nowrap",children:[t.name," ",t.year]})}),D&&i.jsx(m.Box,{alignItems:"center",children:D})]}),i.jsx("table",{children:i.jsxs("tbody",{children:[i.jsxs("tr",{children:[S&&i.jsx("td",{children:i.jsx(m.Box,{width:g.width,height:g.height})}),t.weeks[0].days.map(y=>i.jsx("td",{children:x?x(y.name,g,d):i.jsx(ne,{day:y,onClickWeekDay:d,theme:g})},y.name))]}),t.weeks.map(y=>i.jsx(i.Fragment,{children:i.jsxs("tr",{children:[S&&i.jsx("td",{children:h?h(y,g,l):i.jsx(re,{week:y,onClickWeek:l,theme:g})}),y.days.map(w=>i.jsx(Ne,{dayComponent:e,day:w,week:y,month:t,dayState:n&&n[y.weekNumber]&&n[y.weekNumber][w.dayOfMonth],userData:r&&r[y.weekNumber]&&r[y.weekNumber][w.dayOfMonth],onClickDay:c,theme:g,extraDayContent:p,defaultHighlights:j,minDate:s,maxDate:o},w.dateString))]},y.weekNumber)}))]})})]})})}function Le({monthRows:t,dayComponent:e=Lt,userDataPerMonth:n,statePerMonth:r,minDate:s,maxDate:o,onClickDay:c,onClickWeekDay:l,onClickWeek:d,onClickMonth:f,renderWeekDay:h,renderWeekNumber:x,headerRightContent:D,extraDayContent:g,defaultHighlights:p,showWeekNumber:j,theme:S=tt}){const y=a.useMemo(()=>s?u.parse(s,"yyyy-MM-dd",new Date):void 0,[s]),w=a.useMemo(()=>o?u.parse(o,"yyyy-MM-dd",new Date):void 0,[o]);return i.jsx("div",{className:pt(Wt.calendar,j&&Wt.weekNumberVisible),children:t.map((b,M)=>i.jsx(m.Spacing,{children:i.jsx(m.Row,{gap:2,children:b.map(T=>i.jsx(Pe,{month:T,dayComponent:e,userDataPerWeek:n&&n[T.monthString],statePerWeek:r&&r[T.monthString],onClickDay:c,onClickWeekDay:l,onClickWeek:d,onClickMonth:f,theme:S,renderWeekNumber:x,renderWeekDay:h,headerRightContent:D,extraDayContent:g,defaultHighlights:p,minDate:y,maxDate:w,showWeekNumber:j??!1},T.name))})},M))})}function gt(t){const e=_e(t.year,t.month,t.date),{year:n,month:r}=Zt(e.year,e.month),s=Ye(n,r,t.locale??F.enGB,t.numMonths,t.monthsPerRow),o=Ie(t.highlightToday,t.statePerMonth);return i.jsx(Le,{year:n,month:r,monthRows:s,...t,statePerMonth:o})}const _e=(t,e,n)=>{if(e&&t)return{month:e,year:t};if(n)return{month:u.getMonth(n),year:u.getYear(n)};const r=new Date;return{month:u.getMonth(r),year:u.getYear(r)}},Ye=(t,e,n,r,s)=>r==null?[[at(t,e,n)]]:s==null?[Bt(t,e,r,n)]:v.chunk(Bt(t,e,r,n),s),se=(t,e)=>`${t.row}-${t.column}-${e}`,Oe=(t,e,n,r)=>{let s=e;for(let o=0;o<r;o++){s=Fe(s,t,r);const c=se(s,n);if(document.getElementById(c))return c}},Fe=(t,e,n)=>{let r=t.row,s=t.column;return e==="ArrowLeft"?s--:e==="ArrowUp"?r--:e==="ArrowRight"?s++:e==="ArrowDown"&&r++,s<0&&(s=n-1,r--),s>n-1&&(s=0,r++),{column:s,row:r}},He=({month:t,onClick:e,selected:n,locale:r,autoFocus:s,monthPickerId:o,position:c})=>{const l=a.useMemo(()=>v.startCase(u.format(t,"MMM",{locale:r})),[r,t]),d=a.useMemo(()=>v.startCase(u.format(t,"MMMM",{locale:r})),[r,t]),f=a.useRef(null),h=se(c,o);a.useEffect(()=>{var D;(D=f.current)==null||D.focus()},[]);const x=a.useCallback(D=>{var p;const g=Oe(D.key,c,o,4);g&&((p=document.getElementById(g))==null||p.focus())},[o,c]);return i.jsx(m.Row,{justifyContent:"center",onKeyDown:x,children:n?i.jsx(k.PrimaryButton,{id:h,"aria-label":d,label:l,onClick:e,"aria-selected":!0,autoFocus:s,ref:f}):i.jsx(k.FlatButton,{id:h,label:l,"aria-label":d,onClick:e})})},We=(t,e,n)=>{let r=t.getFullYear(),s=0,o=0,c=t;const l={yearOrder:[],rows:[],years:{},lastMonthColumn:-1,lastMonthRow:-1};for(let d=0;d<e;d++){if(l.years[r]==null&&(l.yearOrder.push(r),l.years[r]={year:r,rows:[]}),l.rows[s]=l.rows[s]??{columns:[],rowIndex:s},l.rows[s].columns[o]={position:{column:o,row:s},month:c},d===e-1){l.years[r].rows.push(s);break}c=u.addMonths(c,1),c.getFullYear()!==r?(l.years[r].rows.push(s),r++,o=0,s++):(o++,o>n-1&&(l.years[r].rows.push(s),o=0,s++))}return l.lastMonthColumn=o,l.lastMonthRow=s,l},_t=()=>a.useMemo(()=>new Date,[]),it=({value:t,onValueChange:e,locale:n=F.enGB,firstMonth:r,numMonths:s,onCancel:o})=>{const c=a.useId(),l=_t(),d=s>0?s:12,[f,h]=a.useState(!1),x=We(r,d,4),D=a.useMemo(()=>u.addMonths(r,d),[d,r]);a.useEffect(()=>{h(!0)},[]);const g=a.useCallback(p=>{p.key==="Escape"&&(o==null||o(),p.preventDefault(),p.stopPropagation())},[o]);return i.jsx(m.Column,{gap:1,maxWidth:"336px",onKeyDown:g,children:x.yearOrder.map((p,j)=>{const{rows:S}=x.years[p];return i.jsxs(Nt.Fragment,{children:[(j!==0||p!==l.getFullYear())&&i.jsx(m.Heading,{variant:"h4",children:p}),S.map(y=>{const{columns:w}=x.rows[y];return i.jsx(m.Row,{gap:1,children:w.map(({month:b,position:M})=>i.jsx(m.Column,{width:"78px",children:i.jsx(He,{month:b,firstAvailableMonth:r,lastAvailableMonth:D,locale:n,selected:t?u.isSameMonth(t,b):!1,autoFocus:f,onClick:()=>e==null?void 0:e(b),monthPickerId:c,position:M})},b.getMonth()))},y)})]},p)})})},ve=t=>[{label:"Past",presets:[{label:"Last 3 days",startDate:t,endDate:u.subDays(t,2)},{label:"Last 7 days",startDate:t,endDate:u.subDays(t,6)},{label:"Last 30 days",startDate:t,endDate:u.subDays(t,29)},{label:"Last 45 days",startDate:t,endDate:u.subDays(t,44)}]},{label:"Future",presets:[{label:"Next 3 days",startDate:t,endDate:u.addDays(t,2)},{label:"Next 7 days",startDate:t,endDate:u.addDays(t,6)},{label:"Next 30 days",startDate:t,endDate:u.addDays(t,29)},{label:"Next 45 days",startDate:t,endDate:u.addDays(t,44)}]}],oe=({onClickPreset:t})=>{const[e,n]=a.useState(0),r=a.useMemo(()=>ve(new Date),[]),s=r[e]??r[0];return i.jsxs(m.Column,{children:[i.jsxs(m.Row,{justifyContent:"space-between",alignItems:"center",width:"200px",children:[i.jsx(k.FlatButton,{size:"small",leftIcon:k.stenaAngleLeft,disabled:e===0,onClick:()=>n(e-1)}),i.jsx(m.Text,{children:s.label}),i.jsx(k.FlatButton,{size:"small",leftIcon:k.stenaAngleRight,disabled:e===r.length-1,onClick:()=>n(e+1)})]}),i.jsx(m.Space,{}),i.jsx(m.Column,{alignItems:"center",children:s.presets.map(o=>i.jsxs(Nt.Fragment,{children:[i.jsx(k.PrimaryButton,{label:o.label,onClick:()=>t(o)}),i.jsx(m.Space,{})]},o.label))})]})},Ue=function({locale:e,dateInFocus:n,setDateInFocus:r,currentPanel:s,setCurrentPanel:o,renderMonthPicker:c,...l}){const d=a.useCallback(h=>{r&&r(h),o("calendar")},[r,o]),f=a.useCallback(()=>{o("month")},[o]);switch(s){case"calendar":return i.jsx(gt,{...l,date:n,onClickMonth:f,locale:e});case"month":return c?c({value:n,onValueChange:d,locale:e,firstMonth:new Date,numMonths:24,dateInFocus:n}):i.jsx(it,{value:n,onValueChange:d,locale:e,firstMonth:new Date,numMonths:24});case"presets":return i.jsx(oe,{onClickPreset:()=>{}});default:return i.jsx(m.Box,{children:i.jsx(k.PrimaryButton,{label:"Show calendar",onClick:()=>o("calendar")})})}},$e=(t,e,n,r)=>{const s=a.useCallback(()=>{const d=u.addMonths(t,n??r??1);e==null||e(d)},[e,t,n,r]),o=a.useCallback(()=>{const d=u.addYears(t,1);e==null||e(d)},[e,t]),c=a.useCallback(()=>{const d=u.subMonths(t,n??r??1);e==null||e(d)},[e,t,n,r]),l=a.useCallback(()=>{const d=u.subYears(t,1);e==null||e(d)},[e,t]);return{nextMonth:s,prevMonth:c,nextYear:o,prevYear:l}},ze=({children:t,prevMonth:e,nextMonth:n,prevYear:r,nextYear:s})=>i.jsxs("div",{children:[t,i.jsx(m.Indent,{children:i.jsxs(m.Row,{gap:1,children:[i.jsx(k.SecondaryButton,{onClick:r,leftIcon:k.stenaAngleLeftDouble}),i.jsx(k.SecondaryButton,{onClick:e,leftIcon:k.stenaArrowLeft}),i.jsx(m.Indent,{num:2}),i.jsx(k.SecondaryButton,{onClick:n,leftIcon:k.stenaArrowRight}),i.jsx(k.SecondaryButton,{onClick:s,leftIcon:k.stenaAngleRightDouble})]})}),i.jsx(m.Space,{})]}),Ke=()=>{};function et({monthSwitcherPlacement:t,theme:e=tt,dateInFocus:n,setDateInFocus:r,currentPanel:s,setCurrentPanel:o,onSelectPreset:c=Ke,renderMonthPicker:l,...d}){const{nextMonth:f,prevMonth:h,nextYear:x,prevYear:D}=$e(n,r,d.monthsPerRow,d.numMonths);switch(qe(t,d.numMonths)){case"below":return i.jsx(ze,{theme:e,nextMonth:f,prevMonth:h,nextYear:x,prevYear:D,children:i.jsx(gt,{...d,theme:e,date:n})});case"header":return i.jsx(m.Column,{children:i.jsx(Ue,{...d,theme:e,renderMonthPicker:l,dateInFocus:n,setDateInFocus:r,currentPanel:s,setCurrentPanel:o,onSelectPreset:c,headerRightContent:i.jsxs(m.Row,{alignItems:"center",gap:1,children:[i.jsx(k.SecondaryButton,{onClick:h,leftIcon:k.stenaArrowLeft}),i.jsx(k.SecondaryButton,{onClick:f,leftIcon:k.stenaArrowRight})]})})});default:return i.jsx(gt,{...d,theme:e,date:n})}}const qe=(t,e)=>t||(e||1)>1?"below":"header",ie=t=>({startDate:t.startDate?u.format(t.startDate,"yyyy-MM-dd"):void 0,endDate:t.endDate?u.format(t.endDate,"yyyy-MM-dd"):void 0}),ae=({startDate:t,endDate:e})=>{const n=new Date;return{startDate:t?u.parse(t,"yyyy-MM-dd",n):void 0,endDate:e?u.parse(e,"yyyy-MM-dd",n):void 0}},Yt=({startDate:t,endDate:e})=>!!(t&&e&&!u.isSameDay(t,e)&&u.isAfter(t,e)),Ot=t=>Yt(t)?{startDate:t.endDate,endDate:t.startDate}:t,Ge=t=>t.startDate&&t.endDate?ie(Ot(ae(t))):t,Je=(t,e,n,r)=>a.useCallback(s=>{const o={startDate:n==="startDate"?s.date:t==null?void 0:t.startDate,endDate:n==="endDate"?s.date:t==null?void 0:t.endDate};Yt(o)||r(n==="startDate"?"endDate":"startDate"),e==null||e(Ot(o))},[n,e,r,t==null?void 0:t.endDate,t==null?void 0:t.startDate]),St=t=>{const[e,n]=a.useState("calendar"),r=a.useCallback(s=>{n(s),t==null||t(s)},[t]);return{currentPanel:e,setCurrentPanel:r}},ce=({focusedInput:t,value:e,onValueChange:n,setFocusedInput:r,statePerMonth:s,onChangePanel:o,initialDateInFocus:c})=>{const{currentPanel:l,setCurrentPanel:d}=St(o),[f,h]=a.useState(()=>c??new Date),x=Je(e,n,t,r),D=a.useMemo(()=>st(s,e==null?void 0:e.startDate,e==null?void 0:e.endDate),[s,e==null?void 0:e.endDate,e==null?void 0:e.startDate]);return{onClickDay:x,statePerMonth:D,currentPanel:l,setCurrentPanel:d,setDateInFocus:h,dateInFocus:f}};function Qe(t){const e=ce(t);return i.jsx(et,{...t,...e})}const Xe=()=>{const[t,e]=a.useState(),[n,r]=a.useState(),[s,o]=a.useState("startDate");return{startDate:t,setStartDate:e,endDate:n,setEndDate:r,focusedInput:s,setFocusedInput:o}},le=({onChange:t,value:e,statePerMonth:n,onChangePanel:r})=>{const{currentPanel:s,setCurrentPanel:o}=St(r),[c,l]=a.useState(()=>e??new Date),d=a.useCallback(h=>{t&&t(h.date)},[t]),f=a.useMemo(()=>e?Q(n,e,["selected","singleSelected"]):n,[n,e]);return{onClickDay:d,statePerMonth:f,date:e,currentPanel:s,setCurrentPanel:o,dateInFocus:c,setDateInFocus:l}};function Ft(t){const e=le(t);return i.jsx(et,{...t,...e})}const de=({onChange:t,value:e,statePerMonth:n,onChangePanel:r})=>{const{currentPanel:s,setCurrentPanel:o}=St(r),[c,l]=a.useState(()=>new Date),d=a.useCallback(h=>{if(!t)return;const x=e&&e.find(D=>u.isSameDay(D,h.date));t(e&&x?e.filter(D=>!u.isSameDay(D,h.date)):[...e||[],h.date])},[t,e]),f=a.useMemo(()=>e?e.reduce((h,x)=>Q(h,x,["selected"]),n):n,[n,e]);return{onClickDay:d,statePerMonth:f,currentPanel:s,setCurrentPanel:o,dateInFocus:c,setDateInFocus:l}};function Ze(t){const e=de(t);return i.jsx(et,{...t,...e})}const ue=({onChange:t,value:e,statePerMonth:n,onChangePanel:r,locale:s=F.enGB})=>{const[o,c]=a.useState(()=>{const g=Rt(e,s);return g?g.days[0].date:new Date}),{currentPanel:l,setCurrentPanel:d}=St(r),f=a.useCallback(g=>{t&&t(vt(wt(g.date,s)))},[s,t]),h=a.useCallback(g=>{t&&t(vt(g))},[t]),x=a.useMemo(()=>{const g=Rt(e,s);return g?Kt(n,g):n},[e,s,n]),D=a.useMemo(()=>{const g=Rt(e,s);return g?g.days[0].date:new Date},[s,e]);return{statePerMonth:x,date:D,dateInFocus:o,setDateInFocus:c,onClickDay:f,onClickWeek:h,currentPanel:l,setCurrentPanel:d}},vt=t=>{if(t)return`${t.endYear}-${t.weekNumber}`},Rt=(t,e)=>{if(!t)return;const n=t.split("-"),r=parseInt(n[1],10),s=parseInt(n[0],10),o=new Date;o.setFullYear(s);const c=u.startOfWeek(u.setWeek(o,r),{locale:e});return wt(c,e)};function Ve(t){const e=ue(t);return i.jsx(et,{...t,...e})}const ct="bottom",fe=()=>{const[t,e]=ot.useTippyInstance();return{onChangePanel:a.useCallback(()=>{var r,s;(s=(r=e.current)==null?void 0:r.popperInstance)==null||s.update()},[e]),tippyRef:t}},tn=(t,e,n)=>{const[r,s]=a.useState(n||!1),o=a.useCallback(()=>(s(!0),!0),[s]),c=a.useCallback(()=>{s(!1),e&&e()},[s,e]),l=a.useCallback(d=>{t&&t(d),setTimeout(c,150)},[t,c]);return{showCalendar:o,hideCalendar:c,showingCalendar:r,onSelectDate:l}},lt="2999-12-31",en=({displayFormat:t=X.fullDate,placeholder:e="Enter date",value:n,zIndex:r=100,calendarTheme:s=tt,calendarProps:o,openOnMount:c,onClose:l,onChange:d,portalTarget:f,variant:h,width:x,minDate:D,maxDate:g=lt,disabled:p})=>{const{hideCalendar:j,showingCalendar:S,onSelectDate:y,showCalendar:w}=tn(d,l,c),{tippyRef:b,onChangePanel:M}=fe();return i.jsx(m.Box,{width:x,children:i.jsx(ot.Popover,{arrow:!1,lazy:!0,visible:S,onClickOutside:j,placement:ct,zIndex:r,appendTo:f??"parent",tippyRef:b,disabled:p,content:i.jsx(Ft,{...o,onChange:y,value:n,theme:s,onChangePanel:M,minDate:D,maxDate:g}),children:i.jsx(J.TextInput,{type:"date",onFocus:w,buttonRight:i.jsx(k.TextInputButton,{onClick:w,icon:k.stenaCalendar}),value:n?u.format(n,t):"",placeholder:e,size:9,disabled:p,autoFocus:c,variant:h,min:D,max:g})})})},nn=(t,e)=>{const n=a.useRef(null),r=a.useRef(null),[s,o]=a.useState(!1),[c,l]=a.useState(void 0),d=a.useCallback(()=>(l("startDate"),o(!0),!0),[l,o]),f=a.useCallback(()=>(l("endDate"),o(!0),!0),[l,o]),h=a.useCallback(()=>{o(!1)},[o]),x=a.useCallback(g=>{c==="startDate"?(e==null||e({startDate:g.date,endDate:t==null?void 0:t.endDate}),t!=null&&t.endDate?setTimeout(h,150):(l("endDate"),r.current&&r.current.focus())):c==="endDate"&&(e==null||e({startDate:t==null?void 0:t.startDate,endDate:g.date}),t!=null&&t.startDate?setTimeout(h,150):(l("startDate"),n.current&&n.current.focus()))},[c,e,l,h,t]),D=a.useMemo(()=>(t==null?void 0:t.startDate)&&(t==null?void 0:t.endDate)&&u.isAfter(t.startDate,t.endDate),[t==null?void 0:t.startDate,t==null?void 0:t.endDate]);return{showingCalendar:s,hideCalendar:h,showCalendarEndDate:f,showCalendarStartDate:d,focusedInput:c,setFocusedInput:l,startDateInputRef:n,endDateInputRef:r,onClickDay:x,startDateIsAfterEnd:D}};function rn({displayFormat:t=X.fullDate,placeholderStartDate:e="Start date",placeholderEndDate:n="End date",portalTarget:r,value:s,onValueChange:o,zIndex:c=100,width:l,calendarTheme:d=tt,calendarProps:f,minDate:h,maxDate:x=lt,disabled:D}){const[g,p]=a.useState("calendar"),{hideCalendar:j,showCalendarEndDate:S,showCalendarStartDate:y,showingCalendar:w,focusedInput:b,startDateInputRef:M,endDateInputRef:T,onClickDay:C,startDateIsAfterEnd:B}=nn(s,o),[I,A]=a.useState(()=>(b&&(s==null?void 0:s[b]))??new Date),R=a.useMemo(()=>st(void 0,s==null?void 0:s.startDate,s==null?void 0:s.endDate),[s]);return i.jsx(ot.Popover,{arrow:!1,lazy:!0,disabled:D,visible:w,zIndex:c,placement:ct,appendTo:r??"parent",onClickOutside:j,content:i.jsx(et,{...f,dateInFocus:I,setDateInFocus:A,statePerMonth:R,theme:d,onClickDay:C,currentPanel:g,setCurrentPanel:p,minDate:h,maxDate:x}),children:i.jsxs(m.Row,{alignItems:"center",children:[i.jsx(J.TextInput,{iconLeft:k.stenaCalendar,onFocus:y,value:s!=null&&s.startDate?u.format(s.startDate,t):"",placeholder:e,width:l,disabled:D,inputRef:M,size:9,variant:B?"error":void 0}),i.jsx(m.Space,{}),i.jsx(k.Icon,{icon:k.stenaArrowWideRight,color:yt.cssColor("--lhds-color-ui-500"),size:14}),i.jsx(m.Space,{}),i.jsx(J.TextInput,{iconLeft:k.stenaCalendar,onFocus:S,value:s!=null&&s.endDate?u.format(s.endDate,t):"",placeholder:n,width:l,disabled:D,inputRef:T,size:9,variant:B?"error":void 0})]})})}const sn=({calendarProps:t,closeOnCalendarSelectDate:e=!0,dateFormat:n=X.fullDate,disableCalender:r=!1,onValueChange:s,placeholder:o="yyyy-mm-dd",portalTarget:c,value:l,width:d="130px",zIndex:f=100,calendarTheme:h=tt,hideCalenderIcon:x=!1,minDate:D,maxDate:g=lt,variant:p,...j})=>{const[S,y]=a.useState(!1),{tippyRef:w,onChangePanel:b}=fe(),M=a.useCallback(()=>{y(!S)},[y,S]),T=a.useCallback(()=>{y(!1)},[y]),C=a.useCallback(L=>{s&&s(L)},[s]),B=a.useCallback(L=>{L&&(C(u.format(L,n)),e&&setTimeout(()=>y(!S),200))},[C,n,e,y,S]),I=!!l&&!/^[-/\\.0-9]+$/.test(l),A=!!l&&u.isValid(u.parse(l,n,new Date)),_=!!l&&l.length>=n.length&&!A||I;return i.jsx(m.Box,{width:d,children:i.jsx(ot.Popover,{arrow:!1,lazy:!0,visible:S,zIndex:f,appendTo:c??"parent",placement:ct,onClickOutside:T,tippyRef:w,content:i.jsx(Ft,{...t,onChange:B,onChangePanel:b,value:l&&A?u.parse(l,n,new Date):void 0,minDate:D,maxDate:g,theme:h}),children:i.jsx(J.TextInput,{...j,variant:_?"error":p,disableContentPaddingRight:!0,contentRight:x?void 0:i.jsx(m.Row,{alignItems:"center",indent:.5,children:i.jsx(k.FlatButton,{size:"small",disabled:j.disabled||r,leftIcon:k.stenaCalendar,onClick:M})}),onValueChange:C,placeholder:o,value:l||"",min:D,max:g,size:10})})})},Dt=t=>{if(t==="")return"00";const e=parseInt(t,10);if(isNaN(e))throw new Error("Hours is not a number");if(e<0||e>23)throw new Error("Hours is an invalid number");switch(t.length){case 1:return`0${e}`;case 2:return t;default:throw new Error("Invalid hour string")}},xt=t=>{if(t==="")return"00";const e=parseInt(t,10);if(isNaN(e))throw new Error("Minutes is not a number");if(e<0||e>59)throw new Error("Minutes is an invalid number");switch(t.length){case 1:return`0${e}`;case 2:return t;default:throw new Error("Invalid minute string")}},on=t=>{if(!Et(t))return{time:t,success:!1};const e=t&&t.split(/-|:|,|;|[/]|[.]| /);if(e&&e.length===2)try{const n=Dt(e[0]),r=xt(e[1]);return{time:`${n}:${r}`,success:!0}}catch{return{time:t,success:!1}}else if(e&&e.length===1){let n=0,r=0;switch(t.length){case 1:return{time:`0${t}:00`,success:!0};case 2:{const s=parseInt(e[0],10);return s>=0&&s<24?{time:`${t}:00`,success:!0}:s>=24&&s<59?{time:`00:${t}`,success:!0}:{time:t,success:!1}}case 3:return r=parseInt(t.substring(1,3),10),r>=0&&r<=59?{time:`0${t.substring(0,1)}:${t.substring(1,3)}`,success:!0}:{time:t,success:!1};case 4:return n=parseInt(t.substring(0,2),10),r=parseInt(t.substring(2,4),10),n<0||n>23?{time:t,success:!1}:r<0||r>59?{time:t,success:!1}:{time:`${t.substring(0,2)}:${t.substring(2,4)}`,success:!0};default:return{time:t,success:!1}}}return{time:t,success:!1}},Et=t=>t?/^[-:.,/; 0-9]+$/.test(t):!0,an=({onValueChange:t,showPlaceholder:e=!0,useIcon:n=!0,value:r,width:s="85px",variant:o,...c})=>{const[l,d]=a.useState(()=>Et(r)),f="hh:mm",h=a.useCallback(()=>{if(r){const D=on(r);d(D.success),D.success&&t&&t(D.time)}},[r,t,d]),x=a.useCallback(D=>{const g=D.target.value,p=Et(g);d(p&&g.length<=f.length),t&&t(g)},[t,d]);return i.jsx(J.TextInput,{...c,type:"time",variant:l?o:"error",iconLeft:n?k.stenaClock:void 0,value:r,placeholder:e?f:void 0,onChange:x,onBlur:h,width:s})},he=({autoFocusLeft:t,autoFocusRight:e,onEsc:n,onEnter:r,onValueChangeLeft:s,onValueChangeRight:o,separatorIcon:c,placeholderLeft:l,placeholderRight:d,typeLeft:f,typeRight:h,onChangeLeft:x,onChangeRight:D,valueLeft:g,valueRight:p,minLeft:j,maxLeft:S,minRight:y,maxRight:w,onClickLeft:b,onClickRight:M,onClickCalendar:T,onClickArrowDown:C,onBlurLeft:B,onBlurRight:I,onFocusLeft:A,onFocusRight:R,inputRefLeft:_,inputRefRight:L,variant:W,variantLeft:H,variantRight:$,onBlur:O,showPresets:U,widthLeft:K,widthRight:E,disabled:N})=>{const P=a.useRef(0),Y=a.useMemo(()=>v.debounce(q=>{q===0&&(O==null||O())},10),[O]),ut=a.useCallback(q=>{P.current++,Y(P.current),A&&A(q)},[A,P,Y]),ft=a.useCallback(q=>{P.current++,Y(P.current),R&&R(q)},[R,P,Y]),ht=a.useCallback(q=>{P.current--,Y(P.current),B&&B(q)},[B,P,Y]),we=a.useCallback(q=>{P.current--,Y(P.current),I&&I(q)},[I,P,Y]);return i.jsx(m.Box,{children:i.jsxs(J.TextInputBox,{disableContentPaddingRight:!0,disabled:N,variant:W,contentRight:i.jsxs(m.Row,{alignItems:"center",children:[i.jsx(m.Indent,{num:.5,children:i.jsx(k.FlatButton,{leftIcon:k.stenaCalendar,onClick:T,disabled:N,size:"small"})}),U?i.jsxs(i.Fragment,{children:[i.jsx(m.Row,{height:"22px",children:i.jsx(m.SeparatorLine,{vertical:!0})}),i.jsx(m.Indent,{num:.5,children:i.jsx(k.FlatButton,{leftIcon:k.stenaAngleDown,onClick:C,disabled:N,size:"small"})})]}):null]}),children:[i.jsx(m.Box,{width:K,children:i.jsx(J.TextInput,{onEsc:n,onEnter:r,onClick:b,disabled:N,hideBorder:!0,placeholder:l,value:g,onValueChange:s,onChange:x,onBlur:ht,onFocus:ut,inputRef:_,variant:H,type:f,autoFocus:t,min:j,max:S})}),i.jsx(m.Row,{indent:.5,alignItems:"center",justifyContent:"center",children:i.jsx(k.Icon,{icon:c,size:12,color:yt.cssColor("--lhds-color-ui-500")})}),i.jsx(m.Box,{width:E,children:i.jsx(J.TextInput,{onEsc:n,onEnter:r,onClick:M,disabled:N,hideBorder:!0,placeholder:d,value:p,onValueChange:o,onChange:D,onBlur:we,onFocus:ft,inputRef:L,variant:$,type:h,autoFocus:e,min:y,max:w})})]})})},cn=t=>{if(t==null)throw new Error("Time is not set.");if(t==="")throw new Error("Time is empty.");const e=t.split(":");if(e.length!==2)throw new Error("Invalid time.");if(e[1].length!==2)throw new Error("Invalid time.");if(e[0].length<1||e[0].length>2)throw new Error("Invalid time.");const n=parseInt(e[0],10),r=parseInt(e[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},ln=t=>{try{return cn(t),!0}catch{return!1}},mt=t=>{if(t&&ln(t)){const e=t.split(":");return{hour:m.parseIntElseUndefined(e[0]),minute:m.parseIntElseUndefined(e[1])}}return{hour:void 0,minute:void 0}},dn=t=>`${Dt(String(t.getHours()))}:${xt(String(t.getMinutes()))}`,un="_timePicker_1w05d_1",fn="_timePickerColumn_1w05d_6",me={timePicker:un,timePickerColumn:fn},hn=({onClick:t,item:e,selected:n,columnRef:r,canScrollRef:s})=>{const o=a.useRef(null);return a.useEffect(function(){if(n&&r.current&&o.current&&s.current){const l=o.current.scrollHeight*Math.max(e-2,0);r.current.scrollTo(0,l),s.current=!1}},[r,e,n,s]),i.jsx(m.Row,{width:"64px",justifyContent:"center",spacing:.5,indent:.5,ref:o,children:n?i.jsx(k.PrimaryButton,{label:v.padStart(String(e),2,"0"),onClick:()=>t&&t(e)}):i.jsx(k.FlatButton,{label:String(e).padStart(2,"0"),onClick:()=>t&&t(e)})})},Ut=({onClick:t,items:e,selectedItem:n,canScrollRef:r})=>{const s=a.useRef(null);return i.jsx(m.Column,{className:me.timePickerColumn,ref:s,children:e.map(o=>i.jsx(hn,{item:o,onClick:t,selected:o===n,columnRef:s,canScrollRef:r},o))})},mn=v.range(0,24),gn=v.range(0,60),Dn=({value:t,onValueChange:e})=>{const n=a.useRef(!0),[r,s]=a.useState(void 0),[o,c]=a.useState(void 0);a.useEffect(()=>{if(t){const{minute:f,hour:h}=mt(t);s(h),c(f)}},[t]);const l=a.useCallback(f=>{s(f),e==null||e(`${Dt(String(f??0))}:${xt(String(o??0))}`)},[o,e]),d=a.useCallback(f=>{c(f),e==null||e(`${Dt(String(r??0))}:${xt(String(f??0))}`)},[r,e]);return i.jsxs(m.Row,{className:me.timePicker,children:[i.jsx(Ut,{items:mn,onClick:l,selectedItem:r,canScrollRef:n}),i.jsx(m.Indent,{}),i.jsx(Ut,{items:gn,onClick:d,selectedItem:o,canScrollRef:n})]})},xn=(t,e,n)=>{a.useEffect(function(){t&&e(t)},[t,e]),a.useEffect(function(){n.current&&(t?n.current.valueAsDate=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())):n.current.valueAsDate=null)},[t,n])},bn=(t,e,{setDateInFocus:n,showCalendarInternal:r,hideCalendarInternal:s,setFirstFocusedInput:o,setCurrentPanel:c,localTime:l,setLocalTime:d,localDate:f,setLocalDate:h},x)=>{const D=a.useCallback(w=>{if(!w)return;const b=new Date(w);if(t)b.setHours(t.getHours()),b.setMinutes(t.getMinutes()),e==null||e(b),h(void 0);else if(l){const{minute:M,hour:T}=mt(l);b.setHours(T??0),b.setMinutes(M??0),e==null||e(b),h(void 0)}else h(b);n(b),x.current&&(x.current.valueAsDate=new Date(Date.UTC(b.getFullYear(),b.getMonth(),b.getDate())))},[t,x,l,e,n,h]),g=a.useCallback(w=>{if(w)if(t){const b=mt(w),M=new Date(t);M.setHours(b.hour||0),M.setMinutes(b.minute||0),e==null||e(M),d(void 0)}else if(f){const b=mt(w),M=new Date(f);M.setHours(b.hour||0),M.setMinutes(b.minute||0),e==null||e(M),d(void 0)}else d(w)},[e,t,f,d]),p=a.useCallback(w=>{w.target.value[0]!=="0"&&D(w.target.valueAsDate)},[D]),j=a.useCallback(w=>g(w.target.value),[g]),S=a.useCallback(()=>{n(t||new Date),c("calendar"),r()},[t,c,r,n]),y=a.useCallback(()=>{o(void 0),s()},[o,s]);return{inputLeftChangeHandler:p,inputRightChangeHandler:j,hideCalendar:y,showCalendar:S,onChangeTime:g,onChangeDate:D}},pn=t=>{const[e,n]=a.useState(void 0),[r,s]=a.useState(void 0),[o,c,l]=m.useBoolean(!1),[d,f,h]=m.useBoolean(!1),[x,D]=a.useState(void 0),[g,p]=a.useState(()=>t??new Date),[j,S]=a.useState("calendar");return{isCalendarVisible:o,showCalendarInternal:c,hideCalendarInternal:l,firstFocusedInput:x,setFirstFocusedInput:D,dateInFocus:g,setDateInFocus:p,currentPanel:j,setCurrentPanel:S,isTimePickerVisible:d,showTimePicker:f,hideTimePicker:h,localDate:e,setLocalDate:n,localTime:r,setLocalTime:s}},yn=(t,e,n,r,{isCalendarVisible:s,setCurrentPanel:o,showTimePicker:c,hideTimePicker:l})=>{const d=a.useCallback(()=>{s||n(),o("calendar"),l()},[l,s,o,n]),f=a.useCallback(()=>{r(),c()},[r,c]),h=a.useCallback(p=>{t(p.date),r(),c()},[t,r,c]),x=a.useCallback(()=>{o("presets"),n()},[o,n]),D=a.useCallback(()=>{var p;s?r():((p=e.current)==null||p.focus(),o("calendar"),n())},[s,r,e,o,n]),g=a.useCallback(p=>{p.key==="Escape"&&r()},[r]);return{onFocusLeft:d,onFocusRight:f,onClickDay:h,onClickArrowButton:x,onClickCalendarButton:D,onKeyDownHandler:g}},wn=({value:t,onValueChange:e,onEnter:n,onEsc:r,onBlur:s,autoFocus:o,minDate:c,widthLeft:l=128,widthRight:d=80,maxDate:f=lt,variant:h,disabled:x})=>{const D=a.useRef(null),g=a.useRef(null),p=pn(t),{setCurrentPanel:j,currentPanel:S,isCalendarVisible:y,dateInFocus:w,setDateInFocus:b,isTimePickerVisible:M,hideTimePicker:T,localTime:C,localDate:B}=p,{showCalendar:I,hideCalendar:A,inputLeftChangeHandler:R,inputRightChangeHandler:_,onChangeTime:L,onChangeDate:W}=bn(t,e,p,D),{onKeyDownHandler:H,onFocusRight:$,onFocusLeft:O,onClickDay:U,onClickCalendarButton:K,onClickArrowButton:E}=yn(W,D,I,A,p);xn(t,b,D);const N=a.useMemo(()=>{const ht=t||B;return ht?Q(void 0,ht,["singleSelected","selected"]):{}},[B,t]),P=a.useCallback(()=>{A(),T()},[A,T]),Y=a.useMemo(()=>t?dn(t):C,[t,C]),ut=m.useDelayedFalse(y,300),ft=m.useDelayedFalse(M,300);return i.jsx(m.Box,{onKeyDown:H,children:i.jsx(ot.Popover,{arrow:!1,lazy:!0,disabled:x,placement:ct,visible:y||M,onClickOutside:P,content:(ut||ft)&&i.jsx(m.Column,{children:ut?i.jsx(et,{statePerMonth:N,onClickDay:U,dateInFocus:w,setDateInFocus:b,currentPanel:S,setCurrentPanel:j,minDate:c,maxDate:f}):ft?i.jsxs(m.Column,{children:[i.jsx(m.Column,{overflow:"hidden",height:"250px",children:i.jsx(Dn,{value:Y??"",onValueChange:L})}),i.jsx(m.Space,{}),i.jsx(m.Row,{justifyContent:"flex-end",children:i.jsx(k.PrimaryButton,{label:"Done",onClick:T})})]}):null}),children:i.jsx(he,{autoFocusLeft:o,onEsc:r,onEnter:n,onBlur:s,disabled:x,separatorIcon:k.stenaClock,typeLeft:"date",typeRight:"time",placeholderLeft:"yyyy-mm-dd",placeholderRight:"hh:mm",onChangeLeft:R,onChangeRight:_,onClickArrowDown:E,onClickCalendar:K,onFocusLeft:O,onFocusRight:$,onClickLeft:O,onClickRight:$,inputRefLeft:D,inputRefRight:g,valueRight:Y??"",widthLeft:l,widthRight:d,minLeft:c,maxLeft:f,variant:h})})})},Sn=({value:t,onValueChange:e,year:n})=>{const r=String(n);return i.jsx(m.Row,{justifyContent:"center",children:t===n?i.jsx(k.PrimaryButton,{label:r,onClick:()=>e==null?void 0:e(n)}):i.jsx(k.FlatButton,{label:r,onClick:()=>e==null?void 0:e(n)})})},kn=({value:t,onValueChange:e,initialLastYear:n})=>{const[r,s]=a.useState(()=>t?t+4:n??new Date().getFullYear()+4),o=a.useMemo(()=>{const c=r-11;return v.chunk(v.range(c,r+1),3)},[r]);return a.useEffect(()=>{s(c=>jn(t,c))},[t]),i.jsxs(m.Row,{children:[i.jsx(m.Column,{justifyContent:"center",children:i.jsx(k.FlatButton,{leftIcon:k.stenaArrowLeft,onClick:()=>s(r-3)})}),i.jsx(m.Column,{gap:1,children:o.map(c=>i.jsx(m.Row,{gap:1,children:c.map(l=>i.jsx(Sn,{year:l,onValueChange:e,value:t},l))},c[0]))}),i.jsx(m.Column,{justifyContent:"center",children:i.jsx(k.FlatButton,{leftIcon:k.stenaArrowRight,onClick:()=>s(r+3)})})]})},jn=(t,e)=>{if(t==null)return e;if(t>e){const r=t-e,s=r%3,o=r-s+3;return e+o}const n=e-11;if(t<n){const r=n-t,s=r%3,o=r-s+3;return e-o}return e},Mn=(t,e,n,r,s)=>{a.useEffect(function(){t&&n(t)},[t,n]),a.useEffect(function(){e&&n(e)},[e,n]),a.useEffect(function(){r.current&&(t?r.current.valueAsDate=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())):r.current.valueAsDate=null)},[t,r]),a.useEffect(function(){s.current&&(e?s.current.valueAsDate=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())):s.current.valueAsDate=null)},[e,s])},Rn=(t,e,n,{setDateInFocus:r,showCalendarInternal:s,hideCalendarInternal:o,setFirstFocusedInput:c,setCurrentPanel:l})=>{const d=a.useCallback(D=>{D.target.value[0]!=="0"&&(n==null||n({startDate:D.target.valueAsDate??void 0,endDate:e}))},[n,e]),f=a.useCallback(D=>{D.target.value[0]!=="0"&&(n==null||n({startDate:t,endDate:D.target.valueAsDate??void 0}))},[n,t]),h=a.useCallback(()=>{r(t||e||new Date),l("calendar"),s()},[t,e,l,s,r]),x=a.useCallback(()=>{c(void 0),o()},[c,o]);return{inputLeftChangeHandler:d,inputRightChangeHandler:f,hideCalendar:x,setDateInFocus:r,setCurrentPanel:l,showCalendar:h}},In=(t,e)=>{const[n,r,s]=m.useBoolean(!1),[o,c]=a.useState(void 0),[l,d]=a.useState("startDate"),[f,h]=a.useState(()=>(l==="startDate"?t:l==="endDate"?e:void 0)??new Date),[x,D]=a.useState("calendar");return{isCalendarVisible:n,showCalendarInternal:r,hideCalendarInternal:s,firstFocusedInput:o,setFirstFocusedInput:c,focusedInput:l,setFocusedInput:d,dateInFocus:f,setDateInFocus:h,currentPanel:x,setCurrentPanel:D}},Tn=(t,e,n,r,s,o,c,{firstFocusedInput:l,setFirstFocusedInput:d,isCalendarVisible:f,setFocusedInput:h,focusedInput:x,setCurrentPanel:D})=>{const g=a.useCallback(()=>{l==null&&d("startDate"),h("startDate"),f||o()},[f,h,o,d,l]),p=a.useCallback(()=>{l==null&&d("endDate"),h("endDate"),f||o()},[f,h,o,d,l]),j=a.useCallback(b=>{var M,T,C,B;x==="startDate"?e!=null&&u.isAfter(b.date,e)?(n==null||n({startDate:b.date,endDate:void 0}),h("endDate"),(M=s.current)==null||M.focus()):(n==null||n({startDate:b.date,endDate:e}),l==="startDate"?(h("endDate"),(T=s.current)==null||T.focus()):setTimeout(c,50)):x==="endDate"&&(t?u.isAfter(t,b.date)?(n==null||n({startDate:b.date,endDate:void 0}),h("endDate"),(B=s.current)==null||B.focus()):(n==null||n({startDate:t,endDate:b.date}),setTimeout(c,50)):(n==null||n({startDate:t,endDate:b.date}),h("startDate"),(C=r.current)==null||C.focus()))},[x,n,e,l,h,s,c,t,r]),S=a.useCallback(()=>{D("presets"),o()},[D,o]),y=a.useCallback(()=>{var b;f?c():(h("startDate"),d("startDate"),(b=r.current)==null||b.focus(),D("calendar"),o())},[f,c,h,d,r,D,o]),w=a.useCallback(b=>{b.key==="Escape"&&c()},[c]);return{onFocusLeft:g,onFocusRight:p,onClickDay:j,onClickArrowButton:S,onClickCalendarButton:y,onKeyDownHandler:w}};function Cn({value:t,onValueChange:e,autoFocus:n,onBlur:r,onEnter:s,onEsc:o,minDate:c,maxDate:l=lt,calendarProps:d,widthLeft:f=128,widthRight:h=128,variant:x,disabled:D}){const{startDate:g,endDate:p}=t||{},j=a.useRef(null),S=a.useRef(null),y=In(g,p),{dateInFocus:w,setDateInFocus:b,isCalendarVisible:M,currentPanel:T,setCurrentPanel:C}=y,{showCalendar:B,hideCalendar:I,inputLeftChangeHandler:A,inputRightChangeHandler:R}=Rn(g,p,e,y),{onKeyDownHandler:_,onFocusRight:L,onFocusLeft:W,onClickDay:H,onClickCalendarButton:$,onClickArrowButton:O}=Tn(g,p,e,j,S,B,I,y);Mn(g,p,b,j,S);const U=a.useMemo(()=>g&&p&&u.isAfter(g,p),[g,p]),K=a.useMemo(()=>$t(d==null?void 0:d.statePerMonth,g,p,w),[d==null?void 0:d.statePerMonth,g,p,w]),E=m.useDelayedFalse(M,300);return i.jsx(m.Box,{onKeyDown:_,children:i.jsx(ot.Popover,{arrow:!1,lazy:!0,disabled:D,placement:ct,onClickOutside:I,visible:M,content:E&&i.jsx(et,{onClickDay:H,dateInFocus:w,setDateInFocus:b,currentPanel:T,setCurrentPanel:C,minDate:c,maxDate:l,...d,statePerMonth:K}),children:i.jsx(he,{autoFocusLeft:n,onEsc:o,onEnter:s,onBlur:r,disabled:D,separatorIcon:k.stenaArrowRight,typeLeft:"date",typeRight:"date",placeholderLeft:"Start date",placeholderRight:"End date",onChangeLeft:A,onChangeRight:R,onClickArrowDown:O,onClickCalendar:$,onFocusLeft:W,onFocusRight:L,onClickLeft:W,onClickRight:L,inputRefLeft:j,inputRefRight:S,variant:U?"error":x,widthLeft:f,widthRight:h,minLeft:c,maxLeft:l,minRight:c,maxRight:l})})})}const At=({onChange:t,onValueChange:e,mask:n,pipe:r,value:s,guide:o,keepCharPositions:c,placeholderChar:l,showMask:d,...f})=>{const h=a.useRef(null),{onChange:x}=Se.useMaskedInput(h,t,e,n,r,s,o,c,l,d);return i.jsx(J.LabelledTextInput,{...f,ref:h,onChange:x,width:"168px"})},Bn=[/[1-2]/,/\d/,/\d/,/\d/],En=[/[0-1]/,/\d/],An=[/[0-3]/,/\d/],ge=t=>Pn(t).flatMap(Nn),Nn=t=>{switch(t){case"yyyy":return Bn;case"mm":case"MM":return En;case"dd":case"DD":return An;default:return[t]}},Pn=t=>{if(t.length===0)return[];const e=[];let n=t[0];for(let r=1;r<t.length;r++)t[r]!==t[r-1]?(e.push(n),n=t[r]):n+=t[r];return e.push(n),e},nt=t=>{const n=new Intl.DateTimeFormat(t,{dateStyle:"short"}).formatToParts(new Date),r={year:"yyyy",month:"MM",day:"dd"};return n.map(s=>r[s.type]||s.value).join("")},De={"en-US":F.enUS,"en-GB":F.enGB,"de-AT":F.deAT,"de-DE":F.de,fr:F.fr,de:F.de,es:F.es,sv:F.sv,pl:F.pl,da:F.da,nl:F.nl,nb:F.nb},dt=t=>De[t],Ht=()=>De.sv,V=(t,e,n)=>{const r=dt(e);if(r==null)return;const s=u.parse(t,nt(e),n??new Date,{locale:r});if(!isNaN(s.getTime()))return s},rt=(t,e)=>u.format(t,nt(e),{locale:dt(e)}),bt=(t,e)=>{const n=V(t,e);if(n!=null)return rt(n,e)},xe=({value:t,onValueChange:e,localeCode:n,startDateLabel:r="From",endDateLabel:s="To",onFocus:o})=>{const{mask:c,placeholder:l}=a.useMemo(()=>{const d=nt(n);return{mask:ge(d),placeholder:d.toLowerCase()}},[n]);return i.jsxs(m.Row,{children:[i.jsx(At,{mask:c,value:t==null?void 0:t.startDate,onValueChange:d=>{e==null||e({startDate:d})},onBlur:d=>{const f=bt(d.target.value,n);f&&f!==(t==null?void 0:t.startDate)&&(e==null||e({startDate:f}))},onFocus:o,label:r,borderRadiusVariant:"onlyLeft",placeholder:l}),i.jsx(At,{mask:c,value:t==null?void 0:t.endDate,onValueChange:d=>e==null?void 0:e({endDate:d}),onBlur:d=>{const f=bt(d.target.value,n);f&&f!==(t==null?void 0:t.endDate)&&(e==null||e({endDate:f}))},onFocus:o,label:s,borderRadiusVariant:"onlyRight",placeholder:l})]})},be=(t,e,n,r)=>{const s=dt(n)??Ht(),o=a.useId(),c=_t(),l=a.useRef(null),d=a.useMemo(()=>nt(n),[n]),f=a.useMemo(()=>{var R;return((R=t==null?void 0:t.startDate)==null?void 0:R.length)===d.length?V(t.startDate,n):void 0},[d.length,n,t==null?void 0:t.startDate]),h=a.useMemo(()=>{var R;return((R=t==null?void 0:t.endDate)==null?void 0:R.length)===d.length?V(t.endDate,n):void 0},[d.length,n,t==null?void 0:t.endDate]),[x,D]=a.useState(r??f??new Date),g=a.useCallback(R=>{u.isSameMonth(R,c)||u.isAfter(R,c)?D(R):D(c)},[c]),p=a.useMemo(()=>at(x.getFullYear(),x.getMonth(),s),[s,x]),j=a.useMemo(()=>v.startCase(u.format(x,"MMMM yyyy",{locale:s})),[s,x]),S=a.useMemo(()=>u.isSameMonth(c,x),[c,x]),[y,w]=a.useState(),[b,M]=a.useState("calendar"),T=a.useCallback(R=>{var W,H;const _=((W=R==null?void 0:R.startDate)==null?void 0:W.length)===d.length?V(R.startDate,n):void 0,L=((H=R==null?void 0:R.endDate)==null?void 0:H.length)===d.length?V(R.endDate,n):void 0;_?g(_):L&&g(L),e==null||e({...t,...R})},[d.length,n,e,g,t]),C=a.useMemo(()=>u.isSameMonth(c,x)||u.isBefore(x,c),[c,x]),B=a.useMemo(()=>(f&&h&&(u.isSameDay(f,h)||u.isBefore(f,h)))??!1,[h,f]);return{isDateDisabled:a.useCallback(R=>!u.isSameDay(R,c)&&u.isBefore(R,c),[c]),onClickDate:R=>{R.getFullYear()===x.getFullYear()&&R.getMonth()===x.getMonth()&&(f&&h==null?u.isBefore(R,f)?e==null||e({startDate:rt(R,n),endDate:void 0}):e==null||e({startDate:t==null?void 0:t.startDate,endDate:rt(R,n)}):e==null||e({startDate:rt(R,n),endDate:void 0}))},onValueChangeByInputs:T,isValidDateRange:B,prevMonthDisabled:C,monthPickerButtonRef:l,calendarId:o,monthPickerButtonLabel:j,visiblePanel:b,setVisiblePanel:M,setVisibleMonth:D,visibleMonthData:p,todayIsInVisibleMonth:S,hoverDate:y,setHoverDate:w,selectedStartDate:f,selectedEndDate:h,today:c,visibleMonth:x}},kt=({previousMonthButtonAriaLabel:t,nextMonthButtonAriaLabel:e,monthPickerButtonLabel:n,visiblePanel:r,setVisiblePanel:s,monthPickerButtonRef:o,setVisibleMonth:c,visibleMonth:l,prevMonthDisabled:d})=>i.jsxs(m.Row,{alignSelf:"center",justifyContent:"space-between",width:"100%",children:[i.jsx(k.FlatButton,{"aria-live":"polite",label:n,rightIcon:r==="calendar"?k.stenaAngleDown:k.stenaAngleUp,onClick:()=>s(r==="calendar"?"month-picker":"calendar"),ref:o}),i.jsxs(m.Row,{alignItems:"center",gap:2,children:[i.jsx(k.SecondaryButton,{leftIcon:k.stenaArrowLeft,onClick:()=>c(u.subMonths(l,1)),disabled:d,"aria-label":t}),i.jsx(k.SecondaryButton,{leftIcon:k.stenaArrowRight,onClick:()=>c(u.addMonths(l,1)),"aria-label":e})]})]}),Ln="_travelDateCell_1g60o_1",_n="_outline_1g60o_13",Yn="_contentWrapper_1g60o_26",On="_disabled_1g60o_47",Fn="_isToday_1g60o_50",Hn="_isSelectionStart_1g60o_54",Wn="_isSelectionEnd_1g60o_55",vn="_hover_1g60o_70",Un="_startSelected_1g60o_73",$n="_endSelected_1g60o_73",z={travelDateCell:Ln,outline:_n,contentWrapper:Yn,disabled:On,isToday:Fn,isSelectionStart:Hn,isSelectionEnd:Wn,hover:vn,startSelected:Un,endSelected:$n},Z=yt.cssColor("--lhds-color-red-100"),zn=(t,e,n,r,s,o)=>{if(!s)return{left:"transparent",right:"transparent"};if(e&&n&&u.isSameDay(e,n))return{left:"transparent",right:"transparent"};if(e&&n&&!o)return{left:"transparent",right:"transparent"};const c=e&&n?u.isAfter(t,e)&&u.isBefore(t,n)&&!u.isSameDay(t,e)&&!u.isSameDay(t,n):!1,l=e&&r?u.isAfter(t,e)&&u.isBefore(t,r)&&!u.isSameDay(t,e)&&!u.isSameDay(t,r):!1;if(c)return{left:Z,right:Z};if(e&&n)return u.isSameDay(t,e)?{left:"transparent",right:Z}:u.isSameDay(t,n)?{left:Z,right:"transparent"}:{left:"transparent",right:"transparent"};if(e&&r&&u.isAfter(r,e)){if(u.isSameDay(t,e))return{left:"transparent",right:Z};if(u.isSameDay(t,r))return{left:Z,right:"transparent"}}return l?{left:Z,right:Z}:{left:"transparent",right:"transparent"}},Kn=(t,e)=>{switch(e){case"PageUp":return u.subMonths(t,1);case"PageDown":return u.addMonths(t,1);case"Home":return u.startOfWeek(t);case"End":return u.addDays(u.startOfWeek(t),6);case"ArrowLeft":return u.subDays(t,1);case"ArrowUp":return u.subDays(t,7);case"ArrowRight":return u.addDays(t,1);case"ArrowDown":return u.addDays(t,7);default:return}},It=(t,e)=>u.format(u.addHours(t,12),X.fullDate)+e,qn=({onClick:t,visibleMonth:e,onChangeVisibleMonth:n,day:r,isValidDateRange:s,selectedStartDate:o,selectedEndDate:c,onStartHover:l,onEndHover:d,hoverDate:f,today:h,todayIsInVisibleMonth:x,calendarId:D,isDateDisabled:g})=>{const p=a.useCallback(async T=>{var B;const C=Kn(r.date,T.key);C&&!g(C)&&(l(C),u.isSameMonth(r.date,C)?(B=document.getElementById(It(C,D)))==null||B.focus():(n(C),setTimeout(()=>{var I;(I=document.getElementById(It(C,D)))==null||I.focus()},10))),(T.key==="Enter"||T.code==="Space")&&t(r.date)},[D,r.date,g,n,t,l]),j=r.month===e.getMonth(),S=g(r.date),y=o?u.isSameDay(o,r.date):!1,w=c?u.isSameDay(c,r.date):!1,b=u.isSameDay(r.date,h),M=zn(r.date,o,c,f,j,s);return i.jsxs("td",{className:z.travelDateCell,onClick:S?void 0:()=>t(r.date),onMouseOver:S?void 0:()=>j&&l(r.date),onMouseOut:S?void 0:()=>j&&d(r.date),tabIndex:S?void 0:Gn(r,o,b,e,x),id:S?void 0:It(r.date,D),onKeyDown:S?void 0:p,"aria-selected":y||w,children:[i.jsx("div",{className:z.outline}),i.jsxs(m.Row,{children:[i.jsx(m.Box,{height:"48px",width:"24px",background:M.left}),i.jsx(m.Box,{height:"48px",width:"24px",background:M.right})]}),j&&i.jsx("div",{className:pt(z.contentWrapper,b?z.isToday:void 0,o?z.startSelected:void 0,c?z.endSelected:void 0,f&&u.isSameDay(f,r.date)?z.hover:void 0,y&&z.isSelectionStart,w&&z.isSelectionEnd,S&&z.disabled),children:i.jsx(m.Text,{variant:"bold",color:S?yt.cssColor("--lhds-color-ui-500"):void 0,children:r.dayOfMonth})})]})},Gn=(t,e,n,r,s)=>{const o=e?u.isSameMonth(e,r):!1;return(e&&o?u.isSameDay(t.date,e):n)||!o&&!s&&t.date.getDate()===1?0:-1},Jn="_travelCalendar_18pjj_1",Qn={travelCalendar:Jn},jt=({visibleMonthData:t,onClickDate:e,setHoverDate:n,setVisibleMonth:r,visibleMonth:s,isValidDateRange:o,selectedStartDate:c,selectedEndDate:l,hoverDate:d,today:f,calendarId:h,isDateDisabled:x,todayIsInVisibleMonth:D})=>i.jsx("table",{className:Qn.travelCalendar,children:i.jsxs("tbody",{children:[i.jsx("tr",{children:t.weeks[0].days.map(g=>i.jsx("th",{abbr:g.fullName,children:i.jsx(m.Text,{children:g.name})},g.name))}),t.weeks.map(g=>i.jsx(Nt.Fragment,{children:i.jsx("tr",{children:g.days.map(p=>i.jsx(qn,{onClick:j=>e(j),visibleMonth:s,onChangeVisibleMonth:r,isValidDateRange:o,day:p,onStartHover:j=>n(j),onEndHover:j=>n(S=>S&&u.isSameDay(S,j)?void 0:S),selectedStartDate:c,selectedEndDate:l,hoverDate:d,today:f,todayIsInVisibleMonth:D,calendarId:h,isDateDisabled:x},p.dateString))},g.weekNumber)},g.weekNumber))]})}),Xn="_travelDateRangeInput_1j7rp_1",Zn="_overlay_1j7rp_2",Vn="_calendarVisible_1j7rp_6",Tt={travelDateRangeInput:Xn,overlay:Zn,calendarVisible:Vn},tr=({value:t,onValueChange:e,startDateLabel:n,endDateLabel:r,localeCode:s="sv",initialMonthInFocus:o,previousMonthButtonAriaLabel:c="Previous month",nextMonthButtonAriaLabel:l="Next month",heading:d,headingLevel:f,numMonthsInMonthPicker:h=12,firstMonthInMonthPicker:x=new Date,zIndex:D=1e3,zIndexWhenClosed:g,onHideCalendar:p,renderBelowCalendar:j})=>{const[S,y]=a.useState(!1),[w,b]=a.useState(!1),[M,T]=a.useState({width:336,height:66}),C=a.useRef(!1),B=a.useCallback(()=>{C.current=!0,b(!0),setTimeout(()=>{y(!0)},10)},[]),I=a.useCallback(()=>{w&&(y(!1),C.current=!1,p==null||p(),setTimeout(()=>{C.current||b(!1)},120))},[w,p]),A=a.useRef(null),R=a.useRef(null);m.useOnClickOutside(A,I),a.useLayoutEffect(()=>{var P,Y;const E=(P=R.current)==null?void 0:P.offsetWidth,N=(Y=R.current)==null?void 0:Y.offsetHeight;E!=null&&N!=null&&(M.height!==N||M.width!==E)&&T({width:E,height:N})},[M.height,M.width]);const _=be(t,e,s,o),{visiblePanel:L,visibleMonth:W,onValueChangeByInputs:H,setVisibleMonth:$,setVisiblePanel:O,monthPickerButtonRef:U}=_,K=a.useCallback(E=>{E.key==="Escape"&&I()},[I]);return i.jsxs(m.Box,{position:"relative",className:Tt.travelDateRangeInput,ref:A,onKeyDown:K,height:M.height,width:M.width,children:[i.jsx(m.Box,{position:"absolute",ref:R,zIndex:w?D:g,children:i.jsx(xe,{value:t,onValueChange:H,localeCode:s,startDateLabel:n,endDateLabel:r,onFocus:B})}),w&&i.jsx(m.Box,{position:"absolute",zIndex:D-1,left:"-2.4rem",top:d?"-8.0rem":"-2.4rem",className:pt(Tt.overlay,S&&Tt.calendarVisible),children:i.jsx(m.Box,{background:"white",shadow:"popover",borderRadius:"var(--swui-border-radius-large)",children:i.jsxs(k.CardBody,{gap:3,children:[d&&i.jsx(m.Heading,{variant:"h2",as:f,children:d}),i.jsx(m.Box,{height:"6.8rem"}),i.jsx(kt,{..._,previousMonthButtonAriaLabel:c,nextMonthButtonAriaLabel:l}),L==="calendar"&&i.jsx(jt,{..._}),L==="month-picker"&&i.jsx(it,{firstMonth:x,numMonths:h,value:W,onValueChange:E=>{var N;$(E),O("calendar"),(N=U.current)==null||N.focus()},onCancel:()=>{var E;O("calendar"),(E=U.current)==null||E.focus()}}),j==null?void 0:j({hideCalendar:I})]})})})]})},er="_travelDateInput_hmfbf_1",nr="_overlay_hmfbf_2",rr="_calendarVisible_hmfbf_6",Ct={travelDateInput:er,overlay:nr,calendarVisible:rr},pe=({value:t,onValueChange:e,label:n="Date",localeCode:r,onFocus:s})=>{const{mask:o,placeholder:c}=a.useMemo(()=>{const l=nt(r);return{mask:ge(l),placeholder:l.toLowerCase()}},[r]);return i.jsx(m.Row,{children:i.jsx(At,{mask:o,value:t,onValueChange:e,onBlur:l=>{const d=bt(l.target.value,r);d&&d!==t&&(e==null||e(d))},onFocus:s,label:n,placeholder:c})})},ye=(t,e,n,r)=>{const s=dt(n)??Ht(),o=a.useId(),c=_t(),l=a.useRef(null),d=a.useMemo(()=>nt(n),[n]),f=a.useMemo(()=>(t==null?void 0:t.length)===d.length?V(t,n):void 0,[d.length,n,t]),[h,x]=a.useState(r??f??new Date),D=a.useCallback(I=>{u.isSameMonth(I,c)||u.isAfter(I,c)?x(I):x(c)},[c]),g=a.useMemo(()=>at(h.getFullYear(),h.getMonth(),s),[s,h]),p=a.useMemo(()=>v.startCase(u.format(h,"MMMM yyyy",{locale:s})),[s,h]),j=a.useMemo(()=>u.isSameMonth(c,h),[c,h]),[S,y]=a.useState(),[w,b]=a.useState("calendar"),M=a.useCallback(I=>{const A=(I==null?void 0:I.length)===d.length?V(I,n):void 0;A&&D(A),e==null||e(I)},[d.length,n,e,D]),T=a.useMemo(()=>u.isSameMonth(c,h)||u.isBefore(h,c),[c,h]);return{isDateDisabled:a.useCallback(I=>!u.isSameDay(I,c)&&u.isBefore(I,c),[c]),onClickDate:I=>{e==null||e(rt(I,n))},onValueChangeByInputs:M,prevMonthDisabled:T,monthPickerButtonRef:l,calendarId:o,monthPickerButtonLabel:p,visiblePanel:w,setVisiblePanel:b,setVisibleMonth:x,visibleMonthData:g,todayIsInVisibleMonth:j,hoverDate:S,setHoverDate:y,selectedDate:f,today:c,visibleMonth:h}},sr=({value:t,onValueChange:e,label:n,localeCode:r="sv",initialMonthInFocus:s,previousMonthButtonAriaLabel:o="Previous month",nextMonthButtonAriaLabel:c="Next month",heading:l,headingLevel:d,numMonthsInMonthPicker:f=12,firstMonthInMonthPicker:h=new Date,zIndex:x=1e3,zIndexWhenClosed:D,onHideCalendar:g,renderBelowCalendar:p})=>{const[j,S]=a.useState(!1),[y,w]=a.useState(!1),[b,M]=a.useState({width:336,height:66}),T=a.useRef(!1),C=a.useCallback(()=>{T.current=!0,w(!0),setTimeout(()=>{S(!0)},10)},[]),B=a.useCallback(()=>{y&&(S(!1),T.current=!1,g==null||g(),setTimeout(()=>{T.current||w(!1)},120))},[y,g]),I=a.useRef(null),A=a.useRef(null);m.useOnClickOutside(I,B),a.useLayoutEffect(()=>{var P,Y;const E=(P=A.current)==null?void 0:P.offsetWidth,N=(Y=A.current)==null?void 0:Y.offsetHeight;E!=null&&N!=null&&(b.height!==N||b.width!==E)&&M({width:E,height:N})},[b.height,b.width]);const R=ye(t,e,r,s),{visiblePanel:_,visibleMonth:L,onValueChangeByInputs:W,selectedDate:H,setVisibleMonth:$,setVisiblePanel:O,monthPickerButtonRef:U}=R,K=a.useCallback(E=>{E.key==="Escape"&&B()},[B]);return i.jsxs(m.Box,{position:"relative",className:Ct.travelDateInput,ref:I,onKeyDown:K,height:b.height,width:b.width,children:[i.jsx(m.Box,{position:"absolute",ref:A,zIndex:y?x:D,children:i.jsx(pe,{value:t,onValueChange:W,localeCode:r,label:n,onFocus:C})}),y&&i.jsx(m.Box,{position:"absolute",zIndex:x-1,left:"-2.4rem",top:l?"-8.0rem":"-2.4rem",className:pt(Ct.overlay,j&&Ct.calendarVisible),children:i.jsx(m.Box,{background:"white",shadow:"popover",borderRadius:"var(--swui-border-radius-large)",children:i.jsxs(k.CardBody,{gap:3,children:[l&&i.jsx(m.Heading,{variant:"h2",as:d,children:l}),i.jsx(m.Box,{height:"6.8rem"}),i.jsx(kt,{...R,previousMonthButtonAriaLabel:o,nextMonthButtonAriaLabel:c}),_==="calendar"&&i.jsx(jt,{...R,isValidDateRange:!!H,selectedStartDate:H,selectedEndDate:H}),_==="month-picker"&&i.jsx(it,{firstMonth:h,numMonths:f,value:L,onValueChange:E=>{var N;$(E),O("calendar"),(N=U.current)==null||N.focus()},onCancel:()=>{var E;O("calendar"),(E=U.current)==null||E.focus()}}),p==null?void 0:p({hideCalendar:B})]})})})]})},or=({value:t,onValueChange:e,label:n,localeCode:r="sv",initialMonthInFocus:s,previousMonthButtonAriaLabel:o="Previous month",nextMonthButtonAriaLabel:c="Next month",heading:l,headingLevel:d,numMonthsInMonthPicker:f=12,firstMonthInMonthPicker:h=new Date})=>{const x=ye(t,e,r,s),{visiblePanel:D,visibleMonth:g,onValueChangeByInputs:p,setVisibleMonth:j,setVisiblePanel:S,monthPickerButtonRef:y,selectedDate:w}=x;return i.jsxs(m.Column,{gap:3,children:[l&&i.jsx(m.Heading,{variant:"h2",as:d,children:l}),i.jsx(pe,{value:t,onValueChange:p,localeCode:r,label:n}),i.jsx(kt,{...x,previousMonthButtonAriaLabel:o,nextMonthButtonAriaLabel:c}),D==="calendar"&&i.jsx(jt,{...x,selectedStartDate:w,selectedEndDate:w,isValidDateRange:!!w}),D==="month-picker"&&i.jsx(it,{firstMonth:h,numMonths:f,value:g,onValueChange:b=>{var M;j(b),S("calendar"),(M=y.current)==null||M.focus()},onCancel:()=>{var b;S("calendar"),(b=y.current)==null||b.focus()}})]})},ir=({value:t,onValueChange:e,startDateLabel:n,endDateLabel:r,localeCode:s="sv",initialMonthInFocus:o,previousMonthButtonAriaLabel:c="Previous month",nextMonthButtonAriaLabel:l="Next month",heading:d,headingLevel:f,numMonthsInMonthPicker:h=12,firstMonthInMonthPicker:x=new Date})=>{const D=be(t,e,s,o),{visiblePanel:g,visibleMonth:p,onValueChangeByInputs:j,setVisibleMonth:S,setVisiblePanel:y,monthPickerButtonRef:w}=D;return i.jsxs(m.Column,{gap:3,children:[d&&i.jsx(m.Heading,{variant:"h2",as:f,children:d}),i.jsx(xe,{value:t,onValueChange:j,localeCode:s,startDateLabel:n,endDateLabel:r}),i.jsx(kt,{...D,previousMonthButtonAriaLabel:c,nextMonthButtonAriaLabel:l}),g==="calendar"&&i.jsx(jt,{...D}),g==="month-picker"&&i.jsx(it,{firstMonth:x,numMonths:h,value:p,onValueChange:b=>{var M;S(b),y("calendar"),(M=w.current)==null||M.focus()},onCancel:()=>{var b;y("calendar"),(b=w.current)==null||b.focus()}})]})};exports.Calendar=gt;exports.CalendarDay=Lt;exports.DateInput=en;exports.DateRangeCalendar=Qe;exports.DateRangeDualTextInput=Cn;exports.DateRangeInput=rn;exports.DateTextInput=sn;exports.DateTimeInput=wn;exports.Month=qt;exports.MonthPicker=it;exports.MultiDateCalendar=Ze;exports.PresetPicker=oe;exports.SingleDateCalendar=Ft;exports.SingleWeekCalendar=Ve;exports.TimeTextInput=an;exports.TravelDateCalendar=or;exports.TravelDateInput=sr;exports.TravelDateRangeCalendar=ir;exports.TravelDateRangeInput=tr;exports.WeekDay=Gt;exports.WeekDayCell=ne;exports.WeekNumberCell=re;exports.YearPicker=kn;exports.addDayStateHighlights=Q;exports.addDayStateHighlightsOnSingleDay=Pt;exports.addWeekRangeHighlights=Kt;exports.addWeekStateHighlights=Re;exports.buildDayStateForDateRange=st;exports.buildDayStateForRange=zt;exports.buildDayStateForSingleMonth=$t;exports.calculateOverflowingMonth=Zt;exports.createDay=Qt;exports.dateRangeToStrings=ie;exports.dayHasHighlight=Vt;exports.dayHighlightSelect=G;exports.defaultCalendarTheme=tt;exports.defaultTextPropsProvider=ee;exports.defaultWrapperStyleProvider=te;exports.extranetCalendarTheme=Be;exports.formatLocalizedDate=rt;exports.getDateFormatForLocaleCode=nt;exports.getDaysForWeekForDate=Xt;exports.getDefaultLocaleForFormatting=Ht;exports.getLocaleForLocaleCode=dt;exports.getMonthInYear=at;exports.getMonthsInYear=Bt;exports.getWeekForDate=wt;exports.getWeeksForMonth=Jt;exports.isDateRangeInvalid=Yt;exports.parseLocalizedDateString=V;exports.reformatLocalizedDateString=bt;exports.setDayStateValue=je;exports.setDayStateValueFunction=Me;exports.stringsToDateRange=ae;exports.toggleDateStringsIfEndIsEarlierThanStart=Ge;exports.toggleDatesIfEndIsEarlierThanStart=Ot;exports.useDateRangeCalendarState=Xe;exports.useDateRangeSelection=ce;exports.useMultiDateSelection=de;exports.useSingleDateSelection=le;exports.useSingleWeekSelection=ue;
3
3
  //# sourceMappingURL=index.js.map