@stenajs-webui/calendar 23.13.1 → 23.13.2

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
1
  (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._calendar_5yxz4_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(--core-blue);--swui-calendar-wrapper-selected-background: var(--core-blue);--swui-calendar-wrapper-range-border: var(--lhds-color-blue-100);--swui-calendar-wrapper-range-background: var(--lhds-color-blue-100);--swui-calendar-wrapper-today-border: var(--lhds-color-ui-200);--swui-calendar-wrapper-today-background: var(--lhds-color-ui-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_5yxz4_1 table{border-spacing:0 4px}._calendar_5yxz4_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_5yxz4_1._weekNumberVisible_5yxz4_41 tr td:nth-child(2),._calendar_5yxz4_1:not(._weekNumberVisible_5yxz4_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_5yxz4_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_1t2af_1{position:relative}._travelDateCell_1t2af_1._smaller_1t2af_4{width:40px;height:40px}._travelDateCell_1t2af_1._small_1t2af_4{width:44px;height:44px}._travelDateCell_1t2af_1._medium_1t2af_14{width:48px;height:48px}._travelDateCell_1t2af_1._large_1t2af_19{width:56px;height:28px}._travelDateCell_1t2af_1{border-radius:var(--swui-max-border-radius)}._travelDateCell_1t2af_1:focus{outline:none}._travelDateCell_1t2af_1:focus-visible ._outline_1t2af_31{outline:var(--swui-focus-outline);outline-width:var(--swui-focus-outline-width);background:transparent;position:absolute;border-radius:var(--swui-max-border-radius);inset:0;z-index:10}._travelDateCell_1t2af_1:focus-visible ._contentWrapper_1t2af_44._contentWrapper_1t2af_44._contentWrapper_1t2af_44{border-color:transparent}._travelDateCell_1t2af_1 ._contentWrapper_1t2af_44{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;inset:0}._travelDateCell_1t2af_1 ._contentWrapper_1t2af_44._disabled_1t2af_65{cursor:not-allowed}._travelDateCell_1t2af_1 ._contentWrapper_1t2af_44._isToday_1t2af_68{border-color:var(--lhds-color-ui-400)}._travelDateCell_1t2af_1 ._contentWrapper_1t2af_44._isSelectionStart_1t2af_72,._travelDateCell_1t2af_1 ._contentWrapper_1t2af_44._isSelectionEnd_1t2af_73{border-color:var(--selection-background-color)}._travelDateCell_1t2af_1 ._contentWrapper_1t2af_44._isSelectionStart_1t2af_72{background:var(--selection-background-color)}._travelDateCell_1t2af_1 ._contentWrapper_1t2af_44._isSelectionStart_1t2af_72 span{color:#fff}._travelDateCell_1t2af_1 ._contentWrapper_1t2af_44._isSelectionEnd_1t2af_73:not(._isSelectionStart_1t2af_72){background:#fff}._travelDateCell_1t2af_1 ._contentWrapper_1t2af_44._hover_1t2af_88{border-color:var(--selection-background-color)}._travelDateCell_1t2af_1 ._contentWrapper_1t2af_44._hover_1t2af_88._startSelected_1t2af_91:not(._endSelected_1t2af_91):not(._isSelectionStart_1t2af_72){background:#fff}._travelDateCell_1t2af_1 ._contentWrapper_1t2af_44._hover_1t2af_88._startSelected_1t2af_91:not(._endSelected_1t2af_91):not(._isSelectionStart_1t2af_72) span{color:var(--swui-text-primary-color)}._travelDateCellBackground_45q5d_1._smaller_45q5d_2{width:20px;height:40px}._travelDateCellBackground_45q5d_1._small_45q5d_2{width:22px;height:44px}._travelDateCellBackground_45q5d_1._medium_45q5d_12{width:24px;height:48px}._travelDateCellBackground_45q5d_1._large_45q5d_17{width:28px;height:56px}._travelCalendar_167ir_1{border-spacing:0 4px;width:-webkit-fit-content;width:fit-content;--selection-background-color: var( --travel-calendar-selection-background-color, var(--core-blue) );--selection-range-background-color: var( --travel-calendar-selection-range-background-color, var(--himmel) )}._travelCalendar_167ir_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(a){console.error("vite-plugin-css-injected-by-js",a)}})();
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),g=require("@stenajs-webui/core"),C=require("@stenajs-webui/elements"),u=require("date-fns"),T=require("date-fns/locale"),le=require("lodash-es"),l=require("react"),K=require("classnames"),Pe=require("@emotion/styled"),ee=require("@stenajs-webui/forms"),ye=require("@stenajs-webui/tooltip"),qe=require("@stenajs-webui/theme"),qt=require("@stenajs-webui/input-mask"),Ce=require("react-responsive");function Kt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const Ke=Kt(l),ae={yearAndMonth:"yyyy-MM",fullDate:"yyyy-MM-dd",fullMonthName:"LLLL"},ge=(e={},t,r)=>{if(t&&r&&u.isAfter(r,t))return u.eachDayOfInterval({start:t,end:r}).reduce((a,s)=>{const i=u.isSameDay(s,t),c=u.isSameDay(s,r);return ne(a,s,i?["selected","selectedStart","range"]:c?["selected","selectedEnd","range"]:["range"])},e);let n=e;return t&&(n=ne(n,t,["selected","singleSelected"])),r&&(n=ne(n,r,["selected","singleSelected"])),n},ft=(e={},t,r,n)=>_t(e,t,r,u.startOfMonth(n),u.endOfMonth(n)),_t=(e={},t,r,n,a)=>t&&r?ge(e,u.max([t,u.subDays(n,1)]),u.min([r,u.addDays(a,1)])):ge(e,t,r),Gt=(e,t,r)=>{const n=u.format(t,ae.yearAndMonth),a=u.getISOWeek(t),s=u.getDate(t);return{...e,[n]:{...e&&e[n],[a]:{...e&&e[n]&&e[n][a],[s]:{...e&&e[n]&&e[n][a]&&e[n][a][s],...r}}}}},Jt=(e,t,r)=>{const n=u.format(t,ae.yearAndMonth),a=u.getISOWeek(t),s=u.getDate(t);return{...e,[n]:{...e&&e[n],[a]:{...e&&e[n]&&e[n][a],[s]:{...e&&e[n]&&e[n][a]&&e[n][a][s],...r(e&&e[n]&&e[n][a]&&e[n][a][s])}}}}},ne=(e,t,r)=>{const n=t.getMonth()+1,a=`${t.getFullYear()}-${n<10?"0":""}${n}`,s=u.getISOWeek(t),i=u.getDate(t),c=e&&e[a]&&e[a][s]&&e[a][s][i];return{...e,[a]:{...e&&e[a],[s]:{...e&&e[a]&&e[a][s],[i]:Ge(c,r)}}}},Ge=(e,t)=>({...e,highlights:[...e?.highlights??[],...t]}),Qt=(e,t,r)=>{const n=t.days[0].date,a=n.getMonth()+1,s=`${n.getFullYear()}-${a<10?"0":""}${a}`,i=t.weekNumber;let c=e;t.days.forEach(p=>{c=ne(c,p.date,r)});const d=c&&c[s]?c[s][i]:void 0,f=d&&d.highlights?[...d.highlights,...r]:r,_={...d,highlights:f};return{...c,[s]:{...e&&e[s],[i]:_}}},gt=(e,t)=>{if(!t.days.length)return{...e};const r=t.days[0].date,n=le.last(t.days)?.date;return{...ge(e,r,n)}},Zt=(e,t)=>l.useMemo(()=>e?ne(t,new Date,["today"]):t,[e,t]),Te=e=>e.length===0?e:e.length===1?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1);var ht=(e=>(e[e.JANUARY=0]="JANUARY",e[e.FEBRUARY=1]="FEBRUARY",e[e.MARCH=2]="MARCH",e[e.APRIL=3]="APRIL",e[e.MAY=4]="MAY",e[e.JUNE=5]="JUNE",e[e.JULY=6]="JULY",e[e.AUGUST=7]="AUGUST",e[e.SEPTEMBER=8]="SEPTEMBER",e[e.OCTOBER=9]="OCTOBER",e[e.NOVEMBER=10]="NOVEMBER",e[e.DECEMBER=11]="DECEMBER",e))(ht||{}),pt=(e=>(e[e.SUNDAY=0]="SUNDAY",e[e.MONDAY=1]="MONDAY",e[e.TUESDAY=2]="TUESDAY",e[e.WEDNESDAY=3]="WEDNESDAY",e[e.THURSDAY=4]="THURSDAY",e[e.FRIDAY=5]="FRIDAY",e[e.SATURDAY=6]="SATURDAY",e))(pt||{});const ze=(e,t,r,n)=>{const a=[];for(let s=0;s<r;s++)a.push(ve(e,t+s,n));return a},ve=(e,t,r)=>{if(isNaN(e)||isNaN(t))throw new Error("getMonthInYear() received NaN.");const n=e+Math.floor(t/12),a=t%12,s=new Date(n,a,1);return{monthString:u.format(s,ae.yearAndMonth),name:Te(u.format(s,ae.fullMonthName,{locale:r})),year:n,monthInYear:a,weeks:mt(n,a,r)}},mt=(e,t,r,n=!0)=>{const a=new Date(e,t,1),s=u.startOfWeek(a,{locale:r}),i=[];for(let c=0;c<6;c++){const d=Ne(u.addWeeks(s,c),r);if(c>0&&d.startMonth!==t&&!n)return i;i.push(d)}return i},Ne=(e,t)=>{const r=u.getMonth(u.addDays(e,7))!==u.getMonth(e);return{weekNumber:u.getWeek(e,{locale:t}),startMonth:u.getMonth(e),startYear:u.getYear(e),endMonth:u.getMonth(u.addDays(e,6)),endYear:u.getYear(u.addDays(e,6)),days:yt(e,t),isLastWeekOfMonth:r}},bt=(e,t)=>{const r=u.getISODay(e);return{date:e,name:u.format(e,"EEE",t?{locale:t}:void 0),fullName:u.format(e,"EEEE",t?{locale:t}:void 0),dateString:u.format(u.addHours(e,12),ae.fullDate),weekNumber:u.getWeek(e,{locale:t}),year:u.getYear(e),month:u.getMonth(e),dayOfMonth:u.getDate(e),dayOfWeek:r,isFirstDayOfWeek:r===1,isLastDayOfWeek:r===7,isFirstDayOfMonth:u.isSameDay(u.startOfMonth(e),e),isLastDayOfMonth:u.isSameDay(u.endOfMonth(e),e)}},yt=(e,t)=>u.eachDayOfInterval({start:e,end:u.addDays(e,6)}).map(r=>bt(r,t)),vt=(e,t)=>t>11?{year:e+Math.floor(t/12),month:t%12}:t<0?{year:e+Math.floor(t/12),month:12+t%12}:{year:e,month:t},Xt="_calendar_5yxz4_1",er="_weekNumberVisible_5yxz4_41",at={calendar:Xt,weekNumberVisible:er},xt=(e,t,r)=>!!(t&&t.indexOf(r)>=0||e&&e.highlights&&e.highlights.indexOf(r)>=0),re=(e,t,r,n,a)=>{if(r.length!==n.length)throw new Error("Select highlight failed, number of values do not equal number of highlights.");if(r.length===0)return a;for(let s=0;s<r.length;s++)if(typeof r[s]=="boolean"&&r[s]||typeof r[s]=="string"&&xt(e,t,r[s]))return n[s];return a},wt=({selectedBackground:e,todayBackground:t,rangeBackground:r,borderColor:n="transparent"})=>(a,s,i,c,d)=>({backgroundColor:re(s,a,["selected","range","today",i.month===d.monthInYear],[e,r,t,"#fff"],"transparent"),borderWidth:"1px",borderStyle:"solid",borderColor:re(s,a,["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)"],n),borderTopLeftRadius:re(s,a,["selectedStart","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),borderBottomLeftRadius:re(s,a,["selectedStart","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),borderTopRightRadius:re(s,a,["selectedEnd","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),borderBottomRightRadius:re(s,a,["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"}),Dt=({selectedColor:e,disabledColor:t,inOtherMonthColor:r,rangeTextColor:n})=>(a,s,i,c,d)=>{const f=i.month!==d.monthInYear;return{color:re(s,a,[f,"selected","range","enabled","disabled"],[r,e,n,void 0,t])}},ie={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:wt({selectedBackground:"var(--swui-calendar-wrapper-selected-background)",rangeBackground:"var(--swui-calendar-wrapper-range-background)",todayBackground:"var(--swui-calendar-wrapper-today-background)"}),textProps:Dt({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)"}},tr={...ie,width:"37px",height:"37px"},kt=({onClickWeekDay:e,day:t,theme:r})=>{const n=o.jsx(g.Box,{width:r.width,height:r.height,justifyContent:"center",alignItems:"center",children:o.jsx(g.Text,{size:"small",color:e?r.WeekDay.clickableTextColor:r.WeekDay.textColor,children:t.name})});return e?o.jsx(g.Clickable,{borderRadius:"var(--swui-calendar-day-border-radius)",onClick:a=>e(t.dayOfWeek,a),disableFocusHighlight:!e,children:n}):n},Je=function({day:t,week:r,month:n,dayState:a,userData:s,onClickDay:i,theme:c,extraDayContent:d,defaultHighlights:f,showDatesInOtherMonths:_}){const p=o.jsx(g.Box,{width:"100%",height:"100%",justifyContent:"center",alignItems:"center",children:o.jsx(g.Text,{...c.CalendarDay.textProps&&c.CalendarDay.textProps(f,a,t,r,n,s),children:t.dayOfMonth})}),m=Pe.td({...c.CalendarDay.tdStyle&&c.CalendarDay.tdStyle(f,a,t,r,n,s)}),h=Pe.div({...c.CalendarDay.innerWrapperStyle&&c.CalendarDay.innerWrapperStyle(f,a,t,r,n,s),width:"100%",height:"100%"}),y=Pe.div({...c.CalendarDay.cellWrapperStyle&&c.CalendarDay.cellWrapperStyle(f,a,t,r,n,s),width:"100%",height:"100%",position:"relative"}),w=rr(f,a);return o.jsx(m,{onClick:w?void 0:D=>i?.(t,s,D),children:o.jsx(h,{children:o.jsx(y,{children:(t.month===n.monthInYear||_)&&o.jsxs(o.Fragment,{children:[d&&o.jsx(d,{week:r,month:n,day:t,dayState:a,theme:c,userData:s}),p]})})})})},rr=(e,t)=>!!re(t,e,["enabled","disabled"],[!1,!0],!1),Ct=({onClickWeek:e,theme:t,week:r,background:n,backgroundColor:a,prefix:s})=>{const i=o.jsxs(g.Box,{width:t.width,height:t.height,justifyContent:"center",alignItems:"center",children:[n&&o.jsx(g.Box,{position:"absolute",children:n}),o.jsx(g.Box,{position:"absolute",children:o.jsxs(g.Text,{color:e?t.WeekNumber.clickableTextColor:t.WeekNumber.textColor,children:[s,r.weekNumber]})})]});return o.jsx(g.Box,{background:a||t.WeekNumber.backgroundColor,position:"relative",children:e?o.jsx(g.Clickable,{borderRadius:"var(--swui-calendar-day-border-radius)",onClick:c=>e(r,c),disableFocusHighlight:!e,children:i}):i})},nr=(e,t,r)=>t&&u.isBefore(e,t)?u.isSameDay(e,t):r&&u.isAfter(e,r)?u.isSameDay(e,r):!0,ar=function({dayComponent:t,minDate:r,maxDate:n,dayState:a,day:s,...i}){const c=l.useMemo(()=>nr(s.date,r,n)?a:Ge(a,["disabled"]),[s.date,a,n,r]);return o.jsx(t,{day:s,...i,dayState:c})};function sr({month:e,dayComponent:t=Je,statePerWeek:r,userDataPerWeek:n,minDate:a,maxDate:s,onClickDay:i,onClickWeek:c,onClickWeekDay:d,onClickMonth:f,renderWeekNumber:_,renderWeekDay:p,headerRightContent:m,theme:h=ie,extraDayContent:y,defaultHighlights:w,showWeekNumber:D}){return o.jsx(o.Fragment,{children:o.jsxs(g.Box,{alignItems:"stretch",children:[o.jsxs(g.Row,{justifyContent:m?"space-between":"center",alignItems:"center",children:[o.jsx(g.Row,{justifyContent:"center",alignItems:"center",children:f?o.jsx(C.FlatButton,{onClick:()=>f(e),label:e.name+" "+String(e.year),rightIcon:C.stenaAngleDown}):o.jsxs(g.Text,{whiteSpace:"nowrap",children:[e.name," ",e.year]})}),m&&o.jsx(g.Box,{alignItems:"center",children:m})]}),o.jsx("table",{children:o.jsxs("tbody",{children:[o.jsxs("tr",{children:[D&&o.jsx("td",{children:o.jsx(g.Box,{width:h.width,height:h.height})}),e.weeks[0].days.map(k=>o.jsx("td",{children:p?p(k.name,h,d):o.jsx(kt,{day:k,onClickWeekDay:d,theme:h})},k.name))]}),e.weeks.map(k=>o.jsxs("tr",{children:[D&&o.jsx("td",{children:_?_(k,h,c):o.jsx(Ct,{week:k,onClickWeek:c,theme:h})}),k.days.map(b=>o.jsx(ar,{dayComponent:t,day:b,week:k,month:e,dayState:r&&r[k.weekNumber]&&r[k.weekNumber][b.dayOfMonth],userData:n&&n[k.weekNumber]&&n[k.weekNumber][b.dayOfMonth],onClickDay:i,theme:h,extraDayContent:y,defaultHighlights:w,minDate:a,maxDate:s},b.dateString))]},k.weekNumber))]})})]})})}function or({monthRows:e,dayComponent:t=Je,userDataPerMonth:r,statePerMonth:n,minDate:a,maxDate:s,onClickDay:i,onClickWeekDay:c,onClickWeek:d,onClickMonth:f,renderWeekDay:_,renderWeekNumber:p,headerRightContent:m,extraDayContent:h,defaultHighlights:y,showWeekNumber:w,theme:D=ie}){const k=l.useMemo(()=>a?u.parse(a,"yyyy-MM-dd",new Date):void 0,[a]),b=l.useMemo(()=>s?u.parse(s,"yyyy-MM-dd",new Date):void 0,[s]);return o.jsx("div",{className:K(at.calendar,w&&at.weekNumberVisible),children:e.map((x,v)=>o.jsx(g.Spacing,{children:o.jsx(g.Row,{gap:2,children:x.map(S=>o.jsx(sr,{month:S,dayComponent:t,userDataPerWeek:r&&r[S.monthString],statePerWeek:n&&n[S.monthString],onClickDay:i,onClickWeekDay:c,onClickWeek:d,onClickMonth:f,theme:D,renderWeekNumber:p,renderWeekDay:_,headerRightContent:m,extraDayContent:h,defaultHighlights:y,minDate:k,maxDate:b,showWeekNumber:w??!1},S.name))})},v))})}function Me(e){const t=lr(e.year,e.month,e.date),{year:r,month:n}=vt(t.year,t.month),a=ir(r,n,e.locale??T.enGB,e.numMonths,e.monthsPerRow),s=Zt(e.highlightToday,e.statePerMonth);return o.jsx(or,{year:r,month:n,monthRows:a,...e,statePerMonth:s})}const lr=(e,t,r)=>{if(t&&e)return{month:t,year:e};if(r)return{month:u.getMonth(r),year:u.getYear(r)};const n=new Date;return{month:u.getMonth(n),year:u.getYear(n)}},ir=(e,t,r,n,a)=>n==null?[[ve(e,t,r)]]:a==null?[ze(e,t,n,r)]:le.chunk(ze(e,t,n,r),a),St=(e,t)=>`${e.row}-${e.column}-${t}`,cr=(e,t,r,n)=>{let a=t;for(let s=0;s<n;s++){a=ur(a,e,n);const i=St(a,r);if(document.getElementById(i))return i}},ur=(e,t,r)=>{let n=e.row,a=e.column;return t==="ArrowLeft"?a--:t==="ArrowUp"?n--:t==="ArrowRight"?a++:t==="ArrowDown"&&n++,a<0&&(a=r-1,n--),a>r-1&&(a=0,n++),{column:a,row:n}},he={en:T.enGB,"en-US":T.enUS,"en-GB":T.enGB,"en-IE":T.enIE,"de-AT":T.deAT,"nl-BE":T.nlBE,"nl-NL":T.nl,"de-DE":T.de,"nb-NO":T.nb,"sv-SE":T.sv,"da-DK":T.da,"lv-LV":T.lv,"lt-LT":T.lt,"it-IT":T.it,"et-EE":T.et,"fi-FI":T.fi,"cs-CZ":T.cs,"es-ES":T.es,"fr-FR":T.fr,"pl-PL":T.pl,nl:T.nl,de:T.de,nb:T.nb,sv:T.sv,da:T.da,lv:T.lv,lt:T.lt,it:T.it,et:T.et,fi:T.fi,cs:T.cs,es:T.es,fr:T.fr,pl:T.pl},Qe="en-GB",dr="sv",Ze=(e,t,r)=>{if(he[e])return e;if(t){const n=jt(e);if(n)return n}return r},ue=e=>he[e],jt=e=>{const[t]=e.split("-"),r=Object.keys(he);for(const n of r)if(n.startsWith(t))return n},fr=()=>he.sv,Mt=e=>{const t=Object.keys(he);for(const r of t)if(he[r].code===e.code)return r},_r=({month:e,onClick:t,selected:r,localeCode:n,autoFocus:a,monthPickerId:s,position:i,size:c})=>{const d=l.useMemo(()=>ue(n)??ue("en-GB"),[n]),f=l.useMemo(()=>Te(u.format(e,"LLL",{locale:d})),[d,e]),_=l.useMemo(()=>u.format(e,"LLLL",{locale:d}),[d,e]),p=l.useRef(null),m=St(i,s),h=r?0:-1;l.useEffect(()=>{p.current?.focus()},[]);const y=l.useCallback(w=>{const D=cr(w.key,i,s,4);D&&document.getElementById(D)?.focus()},[s,i]);return o.jsx(g.Row,{justifyContent:"center",onKeyDown:y,children:r?o.jsx(C.PrimaryButton,{id:m,"aria-label":_,label:f,onClick:t,"aria-selected":!0,autoFocus:a,ref:p,size:c==="large"?"large":"medium",tabIndex:h}):o.jsx(C.FlatButton,{id:m,label:f,"aria-label":_,onClick:t,size:c==="large"?"large":"medium",tabIndex:h})})},gr=(e,t,r)=>{let n=e.getFullYear(),a=0,s=0,i=e;const c={yearOrder:[],rows:[],years:{},lastMonthColumn:-1,lastMonthRow:-1};for(let d=0;d<t;d++){if(c.years[n]==null&&(c.yearOrder.push(n),c.years[n]={year:n,rows:[]}),c.rows[a]=c.rows[a]??{columns:[],rowIndex:a},c.rows[a].columns[s]={position:{column:s,row:a},month:i},d===t-1){c.years[n].rows.push(a);break}i=u.addMonths(i,1),i.getFullYear()!==n?(c.years[n].rows.push(a),n++,s=0,a++):(s++,s>r-1&&(c.years[n].rows.push(a),s=0,a++))}return c.lastMonthColumn=s,c.lastMonthRow=a,c},pe=({value:e,onValueChange:t,firstMonth:r,localeCode:n,numMonths:a,onCancel:s,size:i="medium"})=>{const c=l.useId(),d=g.useToday(),f=a>0?a:12,[_,p]=l.useState(!1),m=gr(r,f,pr(i)),h=l.useMemo(()=>u.addMonths(r,f),[f,r]);l.useEffect(()=>{p(!0)},[]);const y=l.useCallback(w=>{w.key==="Escape"&&(s?.(),w.preventDefault(),w.stopPropagation())},[s]);return o.jsx(g.Column,{gap:1,maxWidth:hr(i),onKeyDown:y,children:m.yearOrder.map((w,D)=>{const{rows:k}=m.years[w];return o.jsxs(Ke.Fragment,{children:[(D!==0||w!==d.getFullYear())&&o.jsx(g.Heading,{variant:"h4",children:w}),o.jsx("table",{style:{borderSpacing:"0 8px"},children:o.jsx("tbody",{children:k.map(b=>{const{columns:x}=m.rows[b];return o.jsx("tr",{children:x.map(({month:v,position:S})=>o.jsx("td",{children:o.jsx(_r,{month:v,firstAvailableMonth:r,lastAvailableMonth:h,localeCode:n,selected:e?u.isSameMonth(e,v):!1,autoFocus:_,onClick:()=>t?.(v),monthPickerId:c,position:S,size:i})},v.getMonth()))},b)})})})]},w)})})},hr=e=>{switch(e){case"smaller":return"280px";case"small":return"308px";case"medium":return"336px";case"large":return"448px";default:return g.exhaustSwitchCase(e,"336px")}},pr=e=>{switch(e){case"smaller":case"small":return 3;case"medium":case"large":return 4;default:return g.exhaustSwitchCase(e,4)}},mr=e=>[{label:"Past",presets:[{label:"Last 3 days",startDate:e,endDate:u.subDays(e,2)},{label:"Last 7 days",startDate:e,endDate:u.subDays(e,6)},{label:"Last 30 days",startDate:e,endDate:u.subDays(e,29)},{label:"Last 45 days",startDate:e,endDate:u.subDays(e,44)}]},{label:"Future",presets:[{label:"Next 3 days",startDate:e,endDate:u.addDays(e,2)},{label:"Next 7 days",startDate:e,endDate:u.addDays(e,6)},{label:"Next 30 days",startDate:e,endDate:u.addDays(e,29)},{label:"Next 45 days",startDate:e,endDate:u.addDays(e,44)}]}],Bt=({onClickPreset:e})=>{const[t,r]=l.useState(0),n=l.useMemo(()=>mr(new Date),[]),a=n[t]??n[0];return o.jsxs(g.Column,{children:[o.jsxs(g.Row,{justifyContent:"space-between",alignItems:"center",width:"200px",children:[o.jsx(C.FlatButton,{size:"small",leftIcon:C.stenaAngleLeft,disabled:t===0,onClick:()=>r(t-1)}),o.jsx(g.Text,{children:a.label}),o.jsx(C.FlatButton,{size:"small",leftIcon:C.stenaAngleRight,disabled:t===n.length-1,onClick:()=>r(t+1)})]}),o.jsx(g.Space,{}),o.jsx(g.Column,{alignItems:"center",children:a.presets.map(s=>o.jsxs(Ke.Fragment,{children:[o.jsx(C.PrimaryButton,{label:s.label,onClick:()=>e(s)}),o.jsx(g.Space,{})]},s.label))})]})},br=function({locale:t,dateInFocus:r,setDateInFocus:n,currentPanel:a,setCurrentPanel:s,renderMonthPicker:i,firstMonthInMonthPicker:c,numMonthsInMonthPicker:d,...f}){const _=l.useMemo(()=>t==null?"en-GB":Mt(t)??"en-GB",[t]),p=g.useToday(),m=l.useCallback(y=>{n&&n(y),s("calendar")},[n,s]),h=l.useCallback(()=>{s("month")},[s]);switch(a){case"calendar":return o.jsx(Me,{...f,date:r,onClickMonth:h,locale:t});case"month":return i?i({value:r,onValueChange:m,locale:t,firstMonth:c??p,numMonths:d??24,dateInFocus:r}):o.jsx(pe,{value:r,onValueChange:m,localeCode:_,firstMonth:c??p,numMonths:d??24});case"presets":return o.jsx(Bt,{onClickPreset:()=>{}});default:return o.jsx(g.Box,{children:o.jsx(C.PrimaryButton,{label:"Show calendar",onClick:()=>s("calendar")})})}},yr=(e,t,r,n)=>{const a=l.useCallback(()=>{const d=u.addMonths(e,r??n??1);t?.(d)},[t,e,r,n]),s=l.useCallback(()=>{const d=u.addYears(e,1);t?.(d)},[t,e]),i=l.useCallback(()=>{const d=u.subMonths(e,r??n??1);t?.(d)},[t,e,r,n]),c=l.useCallback(()=>{const d=u.subYears(e,1);t?.(d)},[t,e]);return{nextMonth:a,prevMonth:i,nextYear:s,prevYear:c}},vr=({children:e,prevMonth:t,nextMonth:r,prevYear:n,nextYear:a})=>o.jsxs("div",{children:[e,o.jsx(g.Indent,{children:o.jsxs(g.Row,{gap:1,children:[o.jsx(C.SecondaryButton,{onClick:n,leftIcon:C.stenaAngleLeftDouble}),o.jsx(C.SecondaryButton,{onClick:t,leftIcon:C.stenaArrowLeft}),o.jsx(g.Indent,{num:2}),o.jsx(C.SecondaryButton,{onClick:r,leftIcon:C.stenaArrowRight}),o.jsx(C.SecondaryButton,{onClick:a,leftIcon:C.stenaAngleRightDouble})]})}),o.jsx(g.Space,{})]}),xr=()=>{};function de({monthSwitcherPlacement:e,theme:t=ie,dateInFocus:r,setDateInFocus:n,currentPanel:a,setCurrentPanel:s,onSelectPreset:i=xr,renderMonthPicker:c,firstMonthInMonthPicker:d,numMonthsInMonthPicker:f,..._}){const{nextMonth:p,prevMonth:m,nextYear:h,prevYear:y}=yr(r,n,_.monthsPerRow,_.numMonths);switch(wr(e,_.numMonths)){case"below":return o.jsx(vr,{theme:t,nextMonth:p,prevMonth:m,nextYear:h,prevYear:y,children:o.jsx(Me,{..._,theme:t,date:r})});case"header":return o.jsx(g.Column,{children:o.jsx(br,{..._,theme:t,renderMonthPicker:c,dateInFocus:r,setDateInFocus:n,currentPanel:a,setCurrentPanel:s,onSelectPreset:i,firstMonthInMonthPicker:d,numMonthsInMonthPicker:f,headerRightContent:o.jsxs(g.Row,{alignItems:"center",gap:1,children:[o.jsx(C.SecondaryButton,{onClick:m,leftIcon:C.stenaArrowLeft}),o.jsx(C.SecondaryButton,{onClick:p,leftIcon:C.stenaArrowRight})]})})});default:return o.jsx(Me,{..._,theme:t,date:r})}}const wr=(e,t)=>e||(t||1)>1?"below":"header",Rt=e=>({startDate:e.startDate?u.format(e.startDate,"yyyy-MM-dd"):void 0,endDate:e.endDate?u.format(e.endDate,"yyyy-MM-dd"):void 0}),It=({startDate:e,endDate:t})=>{const r=new Date;return{startDate:e?u.parse(e,"yyyy-MM-dd",r):void 0,endDate:t?u.parse(t,"yyyy-MM-dd",r):void 0}},Xe=({startDate:e,endDate:t})=>!!(e&&t&&!u.isSameDay(e,t)&&u.isAfter(e,t)),et=e=>Xe(e)?{startDate:e.endDate,endDate:e.startDate}:e,Dr=e=>e.startDate&&e.endDate?Rt(et(It(e))):e,kr=(e,t,r,n)=>l.useCallback(a=>{const s={startDate:r==="startDate"?a.date:e?.startDate,endDate:r==="endDate"?a.date:e?.endDate};Xe(s)||n(r==="startDate"?"endDate":"startDate"),t?.(et(s))},[r,t,n,e?.endDate,e?.startDate]),Ee=e=>{const[t,r]=l.useState("calendar"),n=l.useCallback(a=>{r(a),e?.(a)},[e]);return{currentPanel:t,setCurrentPanel:n}},Tt=({focusedInput:e,value:t,onValueChange:r,setFocusedInput:n,statePerMonth:a,onChangePanel:s,initialDateInFocus:i})=>{const{currentPanel:c,setCurrentPanel:d}=Ee(s),[f,_]=l.useState(()=>i??new Date),p=kr(t,r,e,n),m=l.useMemo(()=>ge(a,t?.startDate,t?.endDate),[a,t?.endDate,t?.startDate]);return{onClickDay:p,statePerMonth:m,currentPanel:c,setCurrentPanel:d,setDateInFocus:_,dateInFocus:f}};function Cr(e){const t=Tt(e);return o.jsx(de,{...e,...t})}const Sr=()=>{const[e,t]=l.useState(),[r,n]=l.useState(),[a,s]=l.useState("startDate");return{startDate:e,setStartDate:t,endDate:r,setEndDate:n,focusedInput:a,setFocusedInput:s}},Nt=({onChange:e,value:t,statePerMonth:r,onChangePanel:n})=>{const{currentPanel:a,setCurrentPanel:s}=Ee(n),[i,c]=l.useState(()=>t??new Date),d=l.useCallback(_=>{e&&e(_.date)},[e]),f=l.useMemo(()=>t?ne(r,t,["selected","singleSelected"]):r,[r,t]);return{onClickDay:d,statePerMonth:f,date:t,currentPanel:a,setCurrentPanel:s,dateInFocus:i,setDateInFocus:c}};function tt(e){const t=Nt(e);return o.jsx(de,{...e,...t})}const Et=({onChange:e,value:t,statePerMonth:r,onChangePanel:n,initialDateInFocus:a})=>{const{currentPanel:s,setCurrentPanel:i}=Ee(n),[c,d]=l.useState(a??new Date),f=l.useCallback(p=>{if(!e)return;const m=t&&t.find(h=>u.isSameDay(h,p.date));e(t&&m?t.filter(h=>!u.isSameDay(h,p.date)):[...t||[],p.date])},[e,t]),_=l.useMemo(()=>t?t.reduce((p,m)=>ne(p,m,["selected"]),r):r,[r,t]);return{onClickDay:f,statePerMonth:_,currentPanel:s,setCurrentPanel:i,dateInFocus:c,setDateInFocus:d}};function jr(e){const t=Et(e);return o.jsx(de,{...e,...t})}const Ft=({onChange:e,value:t,statePerMonth:r,onChangePanel:n,locale:a=T.enGB})=>{const[s,i]=l.useState(()=>{const h=We(t,a);return h?h.days[0].date:new Date}),{currentPanel:c,setCurrentPanel:d}=Ee(n),f=l.useCallback(h=>{e&&e(st(Ne(h.date,a)))},[a,e]),_=l.useCallback(h=>{e&&e(st(h))},[e]),p=l.useMemo(()=>{const h=We(t,a);return h?gt(r,h):r},[t,a,r]),m=l.useMemo(()=>{const h=We(t,a);return h?h.days[0].date:new Date},[a,t]);return{statePerMonth:p,date:m,dateInFocus:s,setDateInFocus:i,onClickDay:f,onClickWeek:_,currentPanel:c,setCurrentPanel:d}},st=e=>{if(e)return`${e.endYear}-${e.weekNumber}`},We=(e,t)=>{if(!e)return;const r=e.split("-"),n=parseInt(r[1],10),a=parseInt(r[0],10),s=new Date;s.setFullYear(a);const i=u.startOfWeek(u.setWeek(s,n),{locale:t});return Ne(i,t)};function Mr(e){const t=Ft(e);return o.jsx(de,{...e,...t})}const xe="bottom",Br=(e,t,r)=>{const[n,a]=l.useState(r||!1),s=l.useCallback(()=>(a(!0),!0),[a]),i=l.useCallback(()=>{a(!1),t&&t()},[a,t]),c=l.useCallback(d=>{e&&e(d),setTimeout(i,150)},[e,i]);return{showCalendar:s,hideCalendar:i,showingCalendar:n,onSelectDate:c}},we="2999-12-31",Rr=({displayFormat:e=ae.fullDate,placeholder:t="Enter date",value:r,calendarTheme:n=ie,calendarProps:a,openOnMount:s,onClose:i,onChange:c,variant:d,width:f,minDate:_,maxDate:p=we,disabled:m,portalTarget:h,zIndex:y})=>{const{hideCalendar:w,showingCalendar:D,onSelectDate:k,showCalendar:b}=Br(c,i,s);return o.jsx(g.Box,{width:f,children:o.jsx(ye.ControlledPopover,{hideArrow:!0,open:D,onRequestClose:w,appendTo:h,zIndex:y,renderTrigger:x=>o.jsx(g.Box,{...x,children:o.jsx(ee.TextInput,{type:"date",onFocus:b,buttonRight:o.jsx(C.TextInputButton,{onClick:b,icon:C.stenaCalendar}),value:r?u.format(r,e):"",placeholder:t,size:9,disabled:m,autoFocus:s,variant:d,min:_,max:p})}),placement:xe,children:o.jsx(tt,{...a,onChange:k,value:r,theme:n,minDate:_,maxDate:p})})})},Ir=(e,t)=>{const r=l.useRef(null),n=l.useRef(null),[a,s]=l.useState(!1),[i,c]=l.useState(void 0),d=l.useCallback(()=>(c("startDate"),s(!0),!0),[c,s]),f=l.useCallback(()=>(c("endDate"),s(!0),!0),[c,s]),_=l.useCallback(()=>{s(!1)},[s]),p=l.useCallback(h=>{i==="startDate"?(t?.({startDate:h.date,endDate:e?.endDate}),e?.endDate?setTimeout(_,150):(c("endDate"),n.current?.focus())):i==="endDate"&&(t?.({startDate:e?.startDate,endDate:h.date}),e?.startDate?setTimeout(_,150):(c("startDate"),r.current?.focus()))},[i,t,c,_,e]),m=l.useMemo(()=>e?.startDate&&e?.endDate&&u.isAfter(e.startDate,e.endDate),[e?.startDate,e?.endDate]);return{showingCalendar:a,hideCalendar:_,showCalendarEndDate:f,showCalendarStartDate:d,focusedInput:i,setFocusedInput:c,startDateInputRef:r,endDateInputRef:n,onClickDay:p,startDateIsAfterEnd:m}};function Tr({displayFormat:e=ae.fullDate,placeholderStartDate:t="Start date",placeholderEndDate:r="End date",value:n,onValueChange:a,width:s,calendarTheme:i=ie,calendarProps:c,minDate:d,maxDate:f=we,disabled:_,portalTarget:p,zIndex:m}){const[h,y]=l.useState("calendar"),{hideCalendar:w,showCalendarEndDate:D,showCalendarStartDate:k,showingCalendar:b,focusedInput:x,startDateInputRef:v,endDateInputRef:S,onClickDay:j,startDateIsAfterEnd:M}=Ir(n,a),[N,B]=l.useState(()=>(x&&n?.[x])??new Date),I=l.useMemo(()=>ge(void 0,n?.startDate,n?.endDate),[n]);return o.jsx(ye.ControlledPopover,{hideArrow:!0,appendTo:p,zIndex:m,renderTrigger:F=>o.jsxs(g.Row,{alignItems:"center",...F,children:[o.jsx(ee.TextInput,{iconLeft:C.stenaCalendar,onFocus:k,value:n?.startDate?u.format(n.startDate,e):"",placeholder:t,width:s,disabled:_,inputRef:v,size:9,variant:M?"error":void 0}),o.jsx(g.Space,{}),o.jsx(C.Icon,{icon:C.stenaArrowWideRight,color:qe.cssColor("--lhds-color-ui-500"),size:14}),o.jsx(g.Space,{}),o.jsx(ee.TextInput,{iconLeft:C.stenaCalendar,onFocus:D,value:n?.endDate?u.format(n.endDate,e):"",placeholder:r,width:s,disabled:_,inputRef:S,size:9,variant:M?"error":void 0})]}),open:b,placement:xe,onRequestClose:w,children:o.jsx(de,{...c,dateInFocus:N,setDateInFocus:B,statePerMonth:I,theme:i,onClickDay:j,currentPanel:h,setCurrentPanel:y,minDate:d,maxDate:f})})}const Nr=({calendarProps:e,closeOnCalendarSelectDate:t=!0,dateFormat:r=ae.fullDate,disableCalender:n=!1,onValueChange:a,placeholder:s="yyyy-mm-dd",value:i,width:c="130px",calendarTheme:d=ie,hideCalenderIcon:f=!1,minDate:_,maxDate:p=we,variant:m,portalTarget:h,zIndex:y,...w})=>{const[D,k]=l.useState(!1),b=l.useCallback(()=>{k(!D)},[k,D]),x=l.useCallback(()=>{k(!1)},[k]),v=l.useCallback(I=>{a&&a(I)},[a]),S=l.useCallback(I=>{I&&(v(u.format(I,r)),t&&setTimeout(()=>k(!D),200))},[v,r,t,k,D]),j=!!i&&!/^[-/\\.0-9]+$/.test(i),M=!!i&&u.isValid(u.parse(i,r,new Date)),B=!!i&&i.length>=r.length&&!M||j;return o.jsx(g.Box,{width:c,children:o.jsx(ye.ControlledPopover,{appendTo:h,zIndex:y,renderTrigger:({ref:I,...F})=>o.jsx(ee.TextInput,{...w,variant:B?"error":m,disableContentPaddingRight:!0,contentRight:f?void 0:o.jsx(g.Row,{alignItems:"center",indent:.5,children:o.jsx(C.FlatButton,{size:"small",disabled:w.disabled||n,leftIcon:C.stenaCalendar,onClick:b})}),onValueChange:v,placeholder:s,value:i||"",min:_,max:p,size:10,inputRef:I,...F}),hideArrow:!0,open:D,placement:xe,onRequestClose:x,children:o.jsx(tt,{...e,onChange:S,value:i&&M?u.parse(i,r,new Date):void 0,minDate:_,maxDate:p,theme:d})})})},Be=e=>{if(e==="")return"00";const t=parseInt(e,10);if(isNaN(t))throw new Error("Hours is not a number");if(t<0||t>23)throw new Error("Hours is an invalid number");switch(e.length){case 1:return`0${t}`;case 2:return e;default:throw new Error("Invalid hour string")}},Re=e=>{if(e==="")return"00";const t=parseInt(e,10);if(isNaN(t))throw new Error("Minutes is not a number");if(t<0||t>59)throw new Error("Minutes is an invalid number");switch(e.length){case 1:return`0${t}`;case 2:return e;default:throw new Error("Invalid minute string")}},Er=e=>{if(!Ue(e))return{time:e,success:!1};const t=e&&e.split(/-|:|,|;|[/]|[.]| /);if(t&&t.length===2)try{const r=Be(t[0]),n=Re(t[1]);return{time:`${r}:${n}`,success:!0}}catch{return{time:e,success:!1}}else if(t&&t.length===1){let r=0,n=0;switch(e.length){case 1:return{time:`0${e}:00`,success:!0};case 2:{const a=parseInt(t[0],10);return a>=0&&a<24?{time:`${e}:00`,success:!0}:a>=24&&a<59?{time:`00:${e}`,success:!0}:{time:e,success:!1}}case 3:return n=parseInt(e.substring(1,3),10),n>=0&&n<=59?{time:`0${e.substring(0,1)}:${e.substring(1,3)}`,success:!0}:{time:e,success:!1};case 4:return r=parseInt(e.substring(0,2),10),n=parseInt(e.substring(2,4),10),r<0||r>23?{time:e,success:!1}:n<0||n>59?{time:e,success:!1}:{time:`${e.substring(0,2)}:${e.substring(2,4)}`,success:!0};default:return{time:e,success:!1}}}return{time:e,success:!1}},Ue=e=>e?/^[-:.,/; 0-9]+$/.test(e):!0,Fr=({onValueChange:e,showPlaceholder:t=!0,useIcon:r=!0,value:n,width:a="85px",variant:s,...i})=>{const[c,d]=l.useState(()=>Ue(n)),f="hh:mm",_=l.useCallback(()=>{if(n){const m=Er(n);d(m.success),m.success&&e&&e(m.time)}},[n,e,d]),p=l.useCallback(m=>{const h=m.target.value,y=Ue(h);d(y&&h.length<=f.length),e&&e(h)},[e,d]);return o.jsx(ee.TextInput,{...i,type:"time",variant:c?s:"error",iconLeft:r?C.stenaClock:void 0,value:n,placeholder:t?f:void 0,onChange:p,onBlur:_,width:a})},Lt=({autoFocusLeft:e,autoFocusRight:t,onEsc:r,onEnter:n,onValueChangeLeft:a,onValueChangeRight:s,separatorIcon:i,placeholderLeft:c,placeholderRight:d,typeLeft:f,typeRight:_,onChangeLeft:p,onChangeRight:m,valueLeft:h,valueRight:y,minLeft:w,maxLeft:D,minRight:k,maxRight:b,onClickLeft:x,onClickRight:v,onClickCalendar:S,onClickArrowDown:j,onBlurLeft:M,onBlurRight:N,onFocusLeft:B,onFocusRight:I,inputRefLeft:F,inputRefRight:P,variant:E,variantLeft:L,variantRight:U,onBlur:$,showPresets:R,widthLeft:z,widthRight:O,disabled:Y})=>{const W=l.useRef(0),A=l.useMemo(()=>le.debounce(H=>{H===0&&$?.()},10),[$]),V=l.useCallback(H=>{W.current++,A(W.current),B&&B(H)},[B,W,A]),G=l.useCallback(H=>{W.current++,A(W.current),I&&I(H)},[I,W,A]),Q=l.useCallback(H=>{W.current--,A(W.current),M&&M(H)},[M,W,A]),se=l.useCallback(H=>{W.current--,A(W.current),N&&N(H)},[N,W,A]);return o.jsx(g.Box,{children:o.jsxs(ee.TextInputBox,{disableContentPaddingRight:!0,disabled:Y,variant:E,contentRight:o.jsxs(g.Row,{alignItems:"center",children:[o.jsx(g.Indent,{num:.5,children:o.jsx(C.FlatButton,{leftIcon:C.stenaCalendar,onClick:S,disabled:Y,size:"small"})}),R?o.jsxs(o.Fragment,{children:[o.jsx(g.Row,{height:"22px",children:o.jsx(g.SeparatorLine,{vertical:!0})}),o.jsx(g.Indent,{num:.5,children:o.jsx(C.FlatButton,{leftIcon:C.stenaAngleDown,onClick:j,disabled:Y,size:"small"})})]}):null]}),children:[o.jsx(g.Box,{width:z,children:o.jsx(ee.TextInput,{onEsc:r,onEnter:n,onClick:x,disabled:Y,hideBorder:!0,placeholder:c,value:h,onValueChange:a,onChange:p,onBlur:Q,onFocus:V,inputRef:F,variant:L,type:f,autoFocus:e,min:w,max:D})}),o.jsx(g.Row,{indent:.5,alignItems:"center",justifyContent:"center",children:o.jsx(C.Icon,{icon:i,size:12,color:qe.cssColor("--lhds-color-ui-500")})}),o.jsx(g.Box,{width:O,children:o.jsx(ee.TextInput,{onEsc:r,onEnter:n,onClick:v,disabled:Y,hideBorder:!0,placeholder:d,value:y,onValueChange:s,onChange:m,onBlur:se,onFocus:G,inputRef:P,variant:U,type:_,autoFocus:t,min:k,max:b})})]})})},Lr=e=>{if(e==null)throw new Error("Time is not set.");if(e==="")throw new Error("Time is empty.");const t=e.split(":");if(t.length!==2)throw new Error("Invalid time.");if(t[1].length!==2)throw new Error("Invalid time.");if(t[0].length<1||t[0].length>2)throw new Error("Invalid time.");const r=parseInt(t[0],10),n=parseInt(t[1],10);if(isNaN(r))throw new Error("Invalid time.");if(isNaN(n))throw new Error("Invalid time.");if(r<0||r>23)throw new Error("Invalid time.");if(n<0||n>59)throw new Error("Invalid time.");return r*100+n},Ar=e=>{try{return Lr(e),!0}catch{return!1}},je=e=>{if(e&&Ar(e)){const t=e.split(":");return{hour:g.parseIntElseUndefined(t[0]),minute:g.parseIntElseUndefined(t[1])}}return{hour:void 0,minute:void 0}},Pr=e=>`${Be(String(e.getHours()))}:${Re(String(e.getMinutes()))}`,Wr="_timePicker_1w05d_1",Hr="_timePickerColumn_1w05d_6",At={timePicker:Wr,timePickerColumn:Hr},Or=({onClick:e,item:t,selected:r,columnRef:n,canScrollRef:a})=>{const s=l.useRef(null);return l.useEffect(function(){if(r&&n.current&&s.current&&a.current){const c=s.current.scrollHeight*Math.max(t-2,0);n.current.scrollTo(0,c),a.current=!1}},[n,t,r,a]),o.jsx(g.Row,{width:"64px",justifyContent:"center",spacing:.5,indent:.5,ref:s,children:r?o.jsx(C.PrimaryButton,{label:le.padStart(String(t),2,"0"),onClick:()=>e&&e(t)}):o.jsx(C.FlatButton,{label:String(t).padStart(2,"0"),onClick:()=>e&&e(t)})})},ot=({onClick:e,items:t,selectedItem:r,canScrollRef:n})=>{const a=l.useRef(null);return o.jsx(g.Column,{className:At.timePickerColumn,ref:a,children:t.map(s=>o.jsx(Or,{item:s,onClick:e,selected:s===r,columnRef:a,canScrollRef:n},s))})},Yr=le.range(0,24),zr=le.range(0,60),Ur=({value:e,onValueChange:t})=>{const r=l.useRef(!0),[n,a]=l.useState(void 0),[s,i]=l.useState(void 0);l.useEffect(()=>{if(e){const{minute:f,hour:_}=je(e);a(_),i(f)}},[e]);const c=l.useCallback(f=>{a(f),t?.(`${Be(String(f??0))}:${Re(String(s??0))}`)},[s,t]),d=l.useCallback(f=>{i(f),t?.(`${Be(String(n??0))}:${Re(String(f??0))}`)},[n,t]);return o.jsxs(g.Row,{className:At.timePicker,children:[o.jsx(ot,{items:Yr,onClick:c,selectedItem:n,canScrollRef:r}),o.jsx(g.Indent,{}),o.jsx(ot,{items:zr,onClick:d,selectedItem:s,canScrollRef:r})]})},$r=(e,t,r)=>{l.useEffect(function(){e&&t(e)},[e,t]),l.useEffect(function(){r.current&&(e?r.current.valueAsDate=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())):r.current.valueAsDate=null)},[e,r])},Vr=(e,t,{setDateInFocus:r,showCalendarInternal:n,hideCalendarInternal:a,setFirstFocusedInput:s,setCurrentPanel:i,localTime:c,setLocalTime:d,localDate:f,setLocalDate:_},p)=>{const m=l.useCallback(b=>{if(!b)return;const x=new Date(b);if(e)x.setHours(e.getHours()),x.setMinutes(e.getMinutes()),t?.(x),_(void 0);else if(c){const{minute:v,hour:S}=je(c);x.setHours(S??0),x.setMinutes(v??0),t?.(x),_(void 0)}else _(x);r(x),p.current&&(p.current.valueAsDate=new Date(Date.UTC(x.getFullYear(),x.getMonth(),x.getDate())))},[e,p,c,t,r,_]),h=l.useCallback(b=>{if(b)if(e){const x=je(b),v=new Date(e);v.setHours(x.hour||0),v.setMinutes(x.minute||0),t?.(v),d(void 0)}else if(f){const x=je(b),v=new Date(f);v.setHours(x.hour||0),v.setMinutes(x.minute||0),t?.(v),d(void 0)}else d(b)},[t,e,f,d]),y=l.useCallback(b=>{b.target.value[0]!=="0"&&m(b.target.valueAsDate)},[m]),w=l.useCallback(b=>h(b.target.value),[h]),D=l.useCallback(()=>{r(e||new Date),i("calendar"),n()},[e,i,n,r]),k=l.useCallback(()=>{s(void 0),a()},[s,a]);return{inputLeftChangeHandler:y,inputRightChangeHandler:w,hideCalendar:k,showCalendar:D,onChangeTime:h,onChangeDate:m}},qr=e=>{const[t,r]=l.useState(void 0),[n,a]=l.useState(void 0),[s,i,c]=g.useBoolean(!1),[d,f,_]=g.useBoolean(!1),[p,m]=l.useState(void 0),[h,y]=l.useState(()=>e??new Date),[w,D]=l.useState("calendar");return{isCalendarVisible:s,showCalendarInternal:i,hideCalendarInternal:c,firstFocusedInput:p,setFirstFocusedInput:m,dateInFocus:h,setDateInFocus:y,currentPanel:w,setCurrentPanel:D,isTimePickerVisible:d,showTimePicker:f,hideTimePicker:_,localDate:t,setLocalDate:r,localTime:n,setLocalTime:a}},Kr=(e,t,r,n,{isCalendarVisible:a,setCurrentPanel:s,showTimePicker:i,hideTimePicker:c})=>{const d=l.useCallback(()=>{a||r(),s("calendar"),c()},[c,a,s,r]),f=l.useCallback(()=>{n(),i()},[n,i]),_=l.useCallback(y=>{e(y.date),n(),i()},[e,n,i]),p=l.useCallback(()=>{s("presets"),r()},[s,r]),m=l.useCallback(()=>{a?n():(t.current?.focus(),s("calendar"),r())},[a,n,t,s,r]),h=l.useCallback(y=>{y.key==="Escape"&&n()},[n]);return{onFocusLeft:d,onFocusRight:f,onClickDay:_,onClickArrowButton:p,onClickCalendarButton:m,onKeyDownHandler:h}},Gr=({value:e,onValueChange:t,onEnter:r,onEsc:n,onBlur:a,autoFocus:s,minDate:i,widthLeft:c=128,widthRight:d=80,maxDate:f=we,variant:_,disabled:p,zIndex:m,appendTo:h})=>{const y=l.useRef(null),w=l.useRef(null),D=qr(e),{setCurrentPanel:k,currentPanel:b,isCalendarVisible:x,dateInFocus:v,setDateInFocus:S,isTimePickerVisible:j,hideTimePicker:M,localTime:N,localDate:B}=D,{showCalendar:I,hideCalendar:F,inputLeftChangeHandler:P,inputRightChangeHandler:E,onChangeTime:L,onChangeDate:U}=Vr(e,t,D,y),{onKeyDownHandler:$,onFocusRight:R,onFocusLeft:z,onClickDay:O,onClickCalendarButton:Y,onClickArrowButton:W}=Kr(U,y,I,F,D);$r(e,S,y);const A=l.useMemo(()=>{const H=e||B;return H?ne(void 0,H,["singleSelected","selected"]):{}},[B,e]),V=l.useCallback(()=>{F(),M()},[F,M]),G=l.useMemo(()=>e?Pr(e):N,[e,N]),Q=g.useDelayedFalse(x,300),se=g.useDelayedFalse(j,300);return o.jsx(g.Box,{onKeyDown:$,children:o.jsx(ye.ControlledPopover,{hideArrow:!0,zIndex:m,appendTo:h,renderTrigger:H=>o.jsx(g.Box,{...H,children:o.jsx(Lt,{autoFocusLeft:s,onEsc:n,onEnter:r,onBlur:a,disabled:p,separatorIcon:C.stenaClock,typeLeft:"date",typeRight:"time",placeholderLeft:"yyyy-mm-dd",placeholderRight:"hh:mm",onChangeLeft:P,onChangeRight:E,onClickArrowDown:W,onClickCalendar:Y,onFocusLeft:z,onFocusRight:R,onClickLeft:z,onClickRight:R,inputRefLeft:y,inputRefRight:w,valueRight:G??"",widthLeft:c,widthRight:d,minLeft:i,maxLeft:f,variant:_})}),placement:xe,open:x||j,onRequestClose:V,children:(Q||se)&&o.jsx(g.Column,{children:Q?o.jsx(de,{statePerMonth:A,onClickDay:O,dateInFocus:v,setDateInFocus:S,currentPanel:b,setCurrentPanel:k,minDate:i,maxDate:f}):se?o.jsxs(g.Column,{children:[o.jsx(g.Column,{overflow:"hidden",height:"250px",children:o.jsx(Ur,{value:G??"",onValueChange:L})}),o.jsx(g.Space,{}),o.jsx(g.Row,{justifyContent:"flex-end",children:o.jsx(C.PrimaryButton,{label:"Done",onClick:M})})]}):null})})})},Jr=({value:e,onValueChange:t,year:r})=>{const n=String(r);return o.jsx(g.Row,{justifyContent:"center",children:e===r?o.jsx(C.PrimaryButton,{label:n,onClick:()=>t?.(r)}):o.jsx(C.FlatButton,{label:n,onClick:()=>t?.(r)})})},Qr=({value:e,onValueChange:t,initialLastYear:r})=>{const[n,a]=l.useState(()=>e?e+4:r??new Date().getFullYear()+4),s=l.useMemo(()=>{const i=n-11;return le.chunk(le.range(i,n+1),3)},[n]);return l.useEffect(()=>{a(i=>Zr(e,i))},[e]),o.jsxs(g.Row,{children:[o.jsx(g.Column,{justifyContent:"center",children:o.jsx(C.FlatButton,{leftIcon:C.stenaArrowLeft,onClick:()=>a(n-3)})}),o.jsx(g.Column,{gap:1,children:s.map(i=>o.jsx(g.Row,{gap:1,children:i.map(c=>o.jsx(Jr,{year:c,onValueChange:t,value:e},c))},i[0]))}),o.jsx(g.Column,{justifyContent:"center",children:o.jsx(C.FlatButton,{leftIcon:C.stenaArrowRight,onClick:()=>a(n+3)})})]})},Zr=(e,t)=>{if(e==null)return t;if(e>t){const n=e-t,a=n%3,s=n-a+3;return t+s}const r=t-11;if(e<r){const n=r-e,a=n%3,s=n-a+3;return t-s}return t},Xr=(e,t,r,n,a)=>{l.useEffect(function(){e&&r(e)},[e,r]),l.useEffect(function(){t&&r(t)},[t,r]),l.useEffect(function(){n.current&&(e?n.current.valueAsDate=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())):n.current.valueAsDate=null)},[e,n]),l.useEffect(function(){a.current&&(t?a.current.valueAsDate=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())):a.current.valueAsDate=null)},[t,a])},en=(e,t,r,{setDateInFocus:n,showCalendarInternal:a,hideCalendarInternal:s,setFirstFocusedInput:i,setCurrentPanel:c})=>{const d=l.useCallback(m=>{m.target.value[0]!=="0"&&r?.({startDate:m.target.valueAsDate??void 0,endDate:t})},[r,t]),f=l.useCallback(m=>{m.target.value[0]!=="0"&&r?.({startDate:e,endDate:m.target.valueAsDate??void 0})},[r,e]),_=l.useCallback(m=>{m!=null?n(m):n(e||t||new Date),c("calendar"),a()},[e,t,c,a,n]),p=l.useCallback(()=>{i(void 0),s()},[i,s]);return{inputLeftChangeHandler:d,inputRightChangeHandler:f,hideCalendar:p,setDateInFocus:n,setCurrentPanel:c,showCalendar:_}},tn=(e,t)=>{const[r,n,a]=g.useBoolean(!1),[s,i]=l.useState(void 0),[c,d]=l.useState("startDate"),[f,_]=l.useState(()=>(c==="startDate"?e:c==="endDate"?t:void 0)??new Date),[p,m]=l.useState("calendar");return{isCalendarVisible:r,showCalendarInternal:n,hideCalendarInternal:a,firstFocusedInput:s,setFirstFocusedInput:i,focusedInput:c,setFocusedInput:d,dateInFocus:f,setDateInFocus:_,currentPanel:p,setCurrentPanel:m}},rn=(e,t,r,n,a,s,i,{firstFocusedInput:c,setFirstFocusedInput:d,isCalendarVisible:f,setFocusedInput:_,focusedInput:p,setCurrentPanel:m,setDateInFocus:h})=>{const y=l.useCallback(()=>{c==null&&d("startDate"),_("startDate"),f?e!=null&&h(e):s(e)},[c,_,f,e,d,s,h]),w=l.useCallback(()=>{c==null&&d("endDate"),_("endDate"),f?t!=null&&h(t):s(t)},[c,_,f,t,d,s,h]),D=l.useCallback(v=>{p==="startDate"?t!=null&&u.isAfter(v.date,t)?(r?.({startDate:v.date,endDate:void 0}),_("endDate"),a.current?.focus()):(r?.({startDate:v.date,endDate:t}),c==="startDate"?(_("endDate"),a.current?.focus()):setTimeout(i,50)):p==="endDate"&&(e?u.isAfter(e,v.date)?(r?.({startDate:v.date,endDate:void 0}),_("endDate"),a.current?.focus()):(r?.({startDate:e,endDate:v.date}),setTimeout(i,50)):(r?.({startDate:e,endDate:v.date}),_("startDate"),n.current?.focus()))},[p,r,t,c,_,a,i,e,n]),k=l.useCallback(()=>{m("presets"),s()},[m,s]),b=l.useCallback(()=>{f?i():(_("startDate"),d("startDate"),n.current?.focus(),m("calendar"),s())},[f,i,_,d,n,m,s]),x=l.useCallback(v=>{v.key==="Escape"&&i()},[i]);return{onFocusLeft:y,onFocusRight:w,onClickDay:D,onClickArrowButton:k,onClickCalendarButton:b,onKeyDownHandler:x}};function nn({value:e,onValueChange:t,autoFocus:r,onBlur:n,onEnter:a,onEsc:s,minDate:i,maxDate:c=we,calendarProps:d,widthLeft:f=128,widthRight:_=128,firstMonthInMonthPicker:p,numMonthsInMonthPicker:m,variant:h,disabled:y,zIndex:w,appendTo:D,renderBelowCalendar:k}){const{startDate:b,endDate:x}=e||{},v=l.useRef(null),S=l.useRef(null),j=tn(b,x),{dateInFocus:M,setDateInFocus:N,isCalendarVisible:B,currentPanel:I,setCurrentPanel:F}=j,{showCalendar:P,hideCalendar:E,inputLeftChangeHandler:L,inputRightChangeHandler:U}=en(b,x,t,j),{onKeyDownHandler:$,onFocusRight:R,onFocusLeft:z,onClickDay:O,onClickCalendarButton:Y,onClickArrowButton:W}=rn(b,x,t,v,S,P,E,j);Xr(b,x,N,v,S);const A=l.useMemo(()=>b&&x&&u.isAfter(b,x),[b,x]),V=l.useMemo(()=>ft(d?.statePerMonth,b,x,M),[d?.statePerMonth,b,x,M]);return o.jsx(g.Box,{onKeyDown:$,children:o.jsx(ye.ControlledPopover,{hideArrow:!0,restoreFocus:!1,returnFocus:!1,zIndex:w,appendTo:D,renderTrigger:G=>o.jsx(g.Box,{...G,children:o.jsx(Lt,{autoFocusLeft:r,onEsc:s,onEnter:a,onBlur:n,disabled:y,separatorIcon:C.stenaArrowRight,typeLeft:"date",typeRight:"date",placeholderLeft:"Start date",placeholderRight:"End date",onChangeLeft:L,onChangeRight:U,onClickArrowDown:W,onClickCalendar:Y,onFocusLeft:z,onFocusRight:R,onClickLeft:z,onClickRight:R,inputRefLeft:v,inputRefRight:S,variant:A?"error":h,widthLeft:f,widthRight:_,minLeft:i,maxLeft:c,minRight:i,maxRight:c})}),placement:xe,onRequestClose:E,open:B,children:o.jsxs(g.Column,{children:[o.jsx(de,{onClickDay:O,dateInFocus:M,firstMonthInMonthPicker:p,numMonthsInMonthPicker:m,setDateInFocus:N,currentPanel:I,setCurrentPanel:F,minDate:i,maxDate:c,...d,statePerMonth:V}),I==="calendar"&&k]})})})}const $e=({onChange:e,onValueChange:t,readOnly:r,mask:n,ref:a,pipe:s,value:i,guide:c,keepCharPositions:d,placeholderChar:f,showMask:_,calendarSize:p,onFocus:m,onBlur:h,placeholderWhenBlurred:y,placeholder:w,valueWhenBlurred:D,label:k,variant:b,autoFocus:x,...v})=>{const S=l.useRef(null),[j,M]=l.useState(!1),N=a??S,{onChange:B}=qt.useMaskedInput(N,e,t,n,s,i,c,d,f,_,j),I=l.useCallback(E=>{m?.(E),M(!0)},[m]),F=l.useCallback(E=>{h?.(E),M(!1)},[h]),P=j?w:y??w;return b==="standard"?o.jsx(C.Label,{text:k??"",children:o.jsx(ee.TextInput,{...v,autoFocus:x,readOnly:r,inputMode:"numeric","aria-live":"polite",value:(j?i:D)??"",inputRef:N,placeholder:P,onFocus:I,onBlur:F,onChange:B,width:lt(p),alwaysShowPlaceholder:!0})}):o.jsx(ee.LabelledTextInput,{...v,autoFocus:x,readOnly:r,inputMode:"numeric",label:k,"aria-live":"polite",value:(j?i:D)??"",ref:N,placeholder:P,onFocus:I,onBlur:F,onChange:B,width:lt(p),size:p==="large"?"large":"medium"})},lt=e=>{switch(e){case"smaller":return"140px";case"small":return"154px";case"medium":return"168px";case"large":return"196px";default:return g.exhaustSwitchCase(e,"168px")}},an=[/[1-2]/,/\d/,/\d/,/\d/],sn=[/[0-1]/,/\d/],on=[/[0-3]/,/\d/],Pt=e=>cn(e).flatMap(ln),ln=e=>{switch(e){case"yyyy":return an;case"mm":case"MM":return sn;case"dd":case"DD":return on;default:return[e]}},cn=e=>{if(e.length===0)return[];const t=[];let r=e[0];for(let n=1;n<e.length;n++)e[n]!==e[n-1]?(t.push(r),r=e[n]):r+=e[n];return t.push(r),t},fe=e=>{const r=new Intl.DateTimeFormat(e,{dateStyle:"short"}).formatToParts(new Date),n={year:"yyyy",month:"MM",day:"dd"};return r.map(a=>n[a.type]||a.value).join("")},Z=(e,t,r)=>{const n=Ze(t,r?.matchLanguage??!1,r?.fallbackLocaleCode??Qe),a=ue(n);if(a==null)return;const s=u.parse(e,fe(n),r?.referenceDate??new Date,{locale:a});if(!isNaN(s.getTime()))return s},oe=(e,t,r)=>{const n=Ze(t,r?.matchLanguage??!1,r?.fallbackLocaleCode??Qe);return u.format(e,fe(n),{locale:ue(n)})},Ie=(e,t)=>{const r=Z(e,t);if(r!=null)return oe(r,t)};(function(){try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._navBar_kzibd_1{--swui-navbar-background-color: var(--lhds-color-ui-50);--swui-navbar-item-background-color-hover: var(--lhds-color-blue-700);--swui-navbar-item-background-color-selected: var(--lhds-color-blue-600);--swui-navbar-item-background-color-selected-hover: var( --lhds-color-blue-700 );--swui-nav-bar-height: 48px;background-color:var(--swui-navbar-background-color);height:var(--swui-nav-bar-height);min-height:var(--swui-nav-bar-height)}._navBarButton_b3x3w_1:hover{background:var(--lhds-color-ui-100)}._navBarButton_b3x3w_1:focus-visible{background:var(--lhds-color-ui-200)}._navBarButton_b3x3w_1:active{background:var(--lhds-color-ui-200)}._navBarButton_b3x3w_1._selected_b3x3w_14{background:var(--lhds-color-blue-200)}._navBarButton_b3x3w_1._selected_b3x3w_14:hover{background:var(--lhds-color-blue-100)}._navBarButton_b3x3w_1._selected_b3x3w_14:focus-visible{background:var(--lhds-color-blue-300)}._navBarButton_b3x3w_1._selected_b3x3w_14:active{background:var(--lhds-color-blue-200)}._nav-bar-link_14nt6_1{box-sizing:border-box;min-height:var(--swui-button-height-medium);height:var(--swui-button-height-medium);letter-spacing:var(--swui-field-letter-spacing);text-decoration:none;padding:var(--swui-button-padding-vertical, 6px) var(--swui-button-padding-horizontal, 16px);border-radius:var(--swui-max-border-radius);outline:none;font-size:var(--swui-font-size-medium);line-height:var(--swui-line-height);font-weight:var(--swui-font-weight-text-bold);font-family:var(--swui-font-buttons);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;color:var(--swui-text-action-color);background:transparent;border:1px solid transparent}._nav-bar-link_14nt6_1:hover{background:var(--lhds-color-ui-100)}._nav-bar-link_14nt6_1:focus-visible{outline:var(--swui-focus-outline);background:var(--lhds-color-ui-200)}._nav-bar-link_14nt6_1:active{background:var(--lhds-color-ui-200)}._nav-bar-link_14nt6_1._selected_14nt6_38{background:var(--lhds-color-blue-200)}._nav-bar-link_14nt6_1._selected_14nt6_38:hover{background:var(--lhds-color-blue-100)}._nav-bar-link_14nt6_1._selected_14nt6_38:focus-visible{background:var(--lhds-color-blue-300)}._nav-bar-link_14nt6_1._selected_14nt6_38:active{background:var(--lhds-color-blue-200)}._navBarNotificationButton_1nfdy_1{--current-background-color: var(--lhds-color-ui-400);--current-outline-color: var(--core-blue);background-color:var(--current-background-color);border-color:transparent;color:var(--lhds-color-ui-50);--swui-nav-bar-notification-shake-count: 3;transition:.5s width}._navBarNotificationButton_1nfdy_1:hover{--current-background-color: var(--lhds-color-red-500);--current-outline-color: var(--lhds-color-red-500)}._navBarNotificationButton_1nfdy_1:active{--current-background-color: var(--lhds-color-red-600);--current-outline-color: var(--lhds-color-red-600)}._navBarNotificationButton_1nfdy_1._unread_1nfdy_23 ._icon_1nfdy_23{transform-origin:top center;animation:_shake_1nfdy_1 1.5s ease-in-out var(--swui-nav-bar-notification-shake-count)}._navBarNotificationButton_1nfdy_1._unread_1nfdy_23{--current-background-color: var(--lhds-color-red-500);--current-outline-color: var(--lhds-color-red-500)}._navBarNotificationButton_1nfdy_1._unread_1nfdy_23:hover{--current-background-color: var(--lhds-color-red-600);--current-outline-color: var(--lhds-color-red-600)}._navBarNotificationButton_1nfdy_1._unread_1nfdy_23:active{--current-background-color: var(--lhds-color-red-700);--current-outline-color: var(--lhds-color-red-700)}._navBarNotificationButton_1nfdy_1:focus-visible{outline:var(--swui-focus-outline);outline-color:var(--current-outline-color);outline-offset:var(--swui-focus-outline-width)}@keyframes _shake_1nfdy_1{0%{transform:rotate(0)}7%{transform:rotate(20deg)}15%{transform:rotate(-20deg)}22%{transform:rotate(16deg)}30%{transform:rotate(-16deg)}38%{transform:rotate(6deg)}42%{transform:rotate(-6deg)}46%{transform:rotate(2deg)}to{transform:rotate(0)}}._navBarSearchFieldInput_1rp8g_1._navBarSearchFieldInput_1rp8g_1{line-height:2.7rem;color:var(--lhds-color-ui-800)}._navBarSearchFieldInput_1rp8g_1._navBarSearchFieldInput_1rp8g_1::placeholder{color:var(--lhds-color-blue-600)}._navBarSearchFieldInput_1rp8g_1._navBarSearchFieldInput_1rp8g_1{padding:0 var(--swui-metrics-indent)}._navBarSearchFieldWrapper_1rp8g_12._navBarSearchFieldWrapper_1rp8g_12{background:var(--lhds-color-ui-200);border-color:transparent}._navBarSearchFieldWrapper_1rp8g_12._navBarSearchFieldWrapper_1rp8g_12:hover{border-color:transparent}._navBarSearchFieldWrapper_1rp8g_12._navBarSearchFieldWrapper_1rp8g_12{padding:0 var(--swui-metrics-indent);border-radius:var(--swui-max-border-radius)}._navBarSearchFieldWrapper_1rp8g_12._navBarSearchFieldWrapper_1rp8g_12._withButton_1rp8g_24{padding-right:1px}._navBarSearchFieldWrapper_1rp8g_12._navBarSearchFieldWrapper_1rp8g_12:focus-within{color:var(--lhds-color-ui-800);background:var(--lhds-color-ui-50)}._navBarSearchFieldWrapper_1rp8g_12._navBarSearchFieldWrapper_1rp8g_12 ._clearButton_1rp8g_33{border-radius:var(--swui-max-border-radius)}._navBarUserButton_10f9z_1:hover{background:var(--lhds-color-ui-100)}._navBarUserButton_10f9z_1:focus-visible{background:var(--lhds-color-ui-200)}._navBarUserButton_10f9z_1:active{background:var(--lhds-color-ui-200)}._sidebarMenuCollapsibleGroupBox_ikek9_1{background:var(--lhds-color-ui-200);border-radius:var(--swui-border-radius);gap:var(--swui-metrics-space);display:flex;flex-direction:column;padding:var(--swui-metrics-space);--current-text-size: var(--swui-font-size-small)}._selectionRow_1njaw_1{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:calc(var(--swui-metrics-space) * 2)}@media (max-width: 370px){._iconColumn_1njaw_9{display:none}}._sidebarMenu_1bx5w_1{--swui-sidebar-menu-separator-color: var(--swui-white);--swui-sidebar-menu-text-color: var(--lhds-color-ui-900);--swui-sidebar-menu-icon-color: var(--lhds-color-ui-900);--swui-sidebar-menu-background-color: transparent;--swui-sidebar-menu-background-color-hover: var(--lhds-color-ui-400);--swui-sidebar-menu-background-color-focus: var(--lhds-color-ui-400);--swui-sidebar-menu-background-color-active: var(--lhds-color-ui-300);--swui-sidebar-menu-background-selected: var(--lhds-color-blue-100);--swui-sidebar-menu-background-selected-hover: var(--lhds-color-blue-200);--swui-sidebar-menu-background-selected-focus: var(--lhds-color-blue-200);--swui-sidebar-menu-background-selected-active: var(--lhds-color-blue-100);--current-background-color: var(--swui-sidebar-menu-background-color);--current-background-color-hover: var( --swui-sidebar-menu-background-color-hover );--current-background-color-focus: var( --swui-sidebar-menu-background-color-focus );--current-background-color-active: var( --swui-sidebar-menu-background-color-active );--current-background-selected: var(--swui-sidebar-menu-background-selected);--current-background-selected-hover: var( --swui-sidebar-menu-background-selected-hover );--current-background-selected-focus: var( --swui-sidebar-menu-background-selected-focus );--current-background-selected-active: var( --swui-sidebar-menu-background-selected-active )}._sidebarMenu_1bx5w_1 ._sidebarItems_1bx5w_38{--current-separator-color: var(--swui-sidebar-menu-separator-color);--current-text-color: var(--swui-sidebar-menu-text-color);--current-icon-color: var(--swui-sidebar-menu-icon-color)}._sidebarMenu_1bx5w_1{background-color:var(--current-background-color);height:100dvh}._sidebarMenu_1bx5w_1 ._scrollContainer_1bx5w_48{background:var(--current-background-color);height:100%;overflow:auto}._stenaFlag_108h7_1{height:32px}._productCard_19x6b_1{max-width:560px}@media (max-width: 768px){._productCard_19x6b_1{max-width:unset}}._productSummaryCardImage_1knc7_1{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{inset:0;opacity:0;overflow:hidden;position:fixed;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));inset:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translate(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{display:flex;justify-content:flex-end;inset:0 0 auto auto;padding:var(--yarl__toolbar_padding,8px);position:absolute}[dir=rtl] .yarl__toolbar{inset:0 auto auto 0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}.yarl__counter{bottom:var(--yarl__counter_bottom,unset);color:var(--yarl__counter_color,var(--yarl__color_button,hsla(0,0%,100%,.8)));filter:var(--yarl__counter_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));left:var(--yarl__counter_left,0);line-height:var(--yarl__counter_line_height,var(--yarl__icon_size,32px));margin:var(--yarl__counter_margin,var(--yarl__toolbar_padding,8px));padding:var(--yarl__counter_padding,var(--yarl__button_padding,8px));position:var(--yarl__counter_position,absolute);right:var(--yarl__counter_right,unset);top:var(--yarl__counter_top,0);-webkit-user-select:var(--yarl__counter_user_select,none);user-select:var(--yarl__counter_user_select,none)}.yarl__slide_captions_container{background:var(--yarl__slide_captions_container_background,rgba(0,0,0,.5));left:var(--yarl__slide_captions_container_left,0);padding:var(--yarl__slide_captions_container_padding,16px);position:absolute;right:var(--yarl__slide_captions_container_right,0);-webkit-transform:translateZ(0)}.yarl__slide_title{color:var(--yarl__slide_title_color,#fff);font-size:var(--yarl__slide_title_font_size,125%);font-weight:var(--yarl__slide_title_font_weight,bolder);max-width:calc(100% - var(--yarl__toolbar_width, 0px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yarl__slide_title_container{top:var(--yarl__slide_title_container_top,0)}.yarl__slide_description{display:-webkit-box;-webkit-hyphens:auto;hyphens:auto;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:var(--yarl__slide_description_max_lines,3);color:var(--yarl__slide_description_color,#fff);text-align:var(--yarl__slide_description_text_align,start)}.yarl__slide_description_container{bottom:var(--yarl__slide_description_container_bottom,0)}.yarl__slide_title.yarl__slide_title.yarl__slide_title{font-family:var(--swui-font-primary);font-size:var(--swui-font-size-large);font-weight:var(--swui-font-weight-text)}.yarl__slide_title_container.yarl__slide_title_container.yarl__slide_title_container{height:48px;margin:calc(var(--swui-metrics-space) * 1);padding:0;display:flex;align-items:center;padding-left:calc(var(--swui-metrics-space) * 10)}.yarl__slide_description.yarl__slide_description.yarl__slide_description{font-family:var(--swui-font-primary);font-size:var(--swui-font-size-large);font-weight:var(--swui-font-weight-text)}.yarl__slide_description_container.yarl__slide_description_container.yarl__slide_description_container{display:flex;align-items:center;padding-left:calc(var(--swui-metrics-space) * 3);padding-bottom:calc(var(--swui-metrics-space) * 4)}.yarl__counter.yarl__counter{height:48px;margin:calc(var(--swui-metrics-space) * 1);display:flex;align-items:center;padding:0;padding-left:calc(var(--swui-metrics-space) * 1);font-family:var(--swui-font-primary);font-size:var(--swui-font-size-large);font-weight:var(--swui-font-weight-text)}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();const un="_navBarButton_b3x3w_1",dn="_selected_b3x3w_14",it={navBarButton:un,selected:dn};l.forwardRef(function({selected:e,className:t,...r},n){return o.jsx(C.FlatButton,{...r,ref:n,className:K(it.navBarButton,e&&it.selected,t)})});const fn="_selected_14nt6_38",ct={"nav-bar-link":"_nav-bar-link_14nt6_1",selected:fn};l.forwardRef(function({selected:e,asChild:t,className:r,...n},a){return o.jsx(t?g.Slot:"a",{ref:a,className:K(ct["nav-bar-link"],{[ct.selected]:e},r),...n})});const _n="_navBarNotificationButton_1nfdy_1",gn="_unread_1nfdy_23",hn="_icon_1nfdy_23",be={navBarNotificationButton:_n,unread:gn,icon:hn};l.forwardRef(function({count:e,unread:t=!1,className:r,labelClassName:n,iconClassName:a,icon:s=C.stenaBellFilled,...i},c){const d=e>1;return o.jsx(C.BaseButton,{...i,ref:c,leftIcon:s,className:K(be.navBarNotificationButton,t&&be.unread,d&&be.hasCount,r),label:d?String(e):void 0,labelClassName:K(n,be.label),iconClassName:K(a,be.icon)})});l.forwardRef(({contentLeft:e,contentRight:t,collapsed:r=!1,...n},a)=>o.jsx(C.MenuButton,{ref:a,expandable:!0,expanded:!r,selected:!r,left:e,right:t,...n}));l.createContext(!1);const ut=["small-mobile","mobile","tablet","tablet-wide","desktop"],Wt=()=>{const e=Ce.useMediaQuery({query:"(max-width: 768px)"}),t=Ce.useMediaQuery({query:"(max-width: 395px)"}),r=Ce.useMediaQuery({query:"(max-width: 1024px)"}),n=Ce.useMediaQuery({query:"(max-width: 1160px)"});return{deviceSize:t?"small-mobile":e?"mobile":r?"tablet":n?"tablet-wide":"desktop"}},Ht=(e,t)=>e===t||ut.indexOf(e)>ut.indexOf(t),Ot=({value:e,onValueChange:t,localeCode:r,startDateLabel:n="From",endDateLabel:a="To",onFocus:s,onBlur:i,calendarSize:c,startDateRef:d,endDateRef:f,placeholderWhenBlurredStartDate:_,placeholderWhenBlurredEndDate:p,valueWhenBlurredStartDate:m,valueWhenBlurredEndDate:h,variant:y,readOnlyOnMobile:w,autoFocusStartDate:D,autoFocusEndDate:k})=>{const{deviceSize:b}=Wt(),x=w&&!Ht(b,"tablet"),{mask:v,placeholder:S}=l.useMemo(()=>{const j=fe(r);return{mask:Pt(j),placeholder:j.toLowerCase()}},[r]);return o.jsxs(g.Row,{children:[o.jsx($e,{mask:v,ref:d,value:e?.startDate,onValueChange:j=>{t?.({startDate:j})},onBlur:j=>{const M=Ie(j.target.value,r);M&&M!==e?.startDate&&t?.({startDate:M}),i?.()},onFocus:()=>s?.("startDate"),autoFocus:D,label:n,borderRadiusVariant:"onlyLeft",placeholder:S,placeholderWhenBlurred:_,valueWhenBlurred:m,calendarSize:c,variant:y,readOnly:x}),o.jsx($e,{mask:v,ref:f,value:e?.endDate,onValueChange:j=>t?.({endDate:j}),onBlur:j=>{const M=Ie(j.target.value,r);M&&M!==e?.endDate&&t?.({endDate:M}),i?.()},onFocus:()=>s?.("endDate"),autoFocus:k,label:a,borderRadiusVariant:"onlyRight",placeholder:S,placeholderWhenBlurred:p,valueWhenBlurred:h,calendarSize:c,variant:y,readOnly:x})]})},Ve=(e,t,r)=>{const n=u.isSameYear(e,t)?"":" y";return r.code.startsWith("en")?u.format(e,"eee MMM d"+n,{locale:r}).replace(".",""):u.format(e,"eee d MMM"+n,{locale:r}).replace(".","")};function pn(e,t,r){if(!e||!t||!r)return!1;const n=r(e),a=r(t);return!n||!a||Number.isNaN(n.getTime())||Number.isNaN(a.getTime())||u.isSameDay(n,a)?!1:u.isAfter(n,a)}function mn(e,t,r){const{startDate:n,endDate:a}=e;return pn(n,a,t)?r==="startDate"?{...e,startDate:n,endDate:n}:{...e,startDate:a,endDate:a}:e}const Yt=(e,t,r,n,a,s,i,c,d)=>{const f=ue(n),_=l.useId(),p=g.useToday(),m=l.useRef(null),h=l.useMemo(()=>fe(r),[r]),y=l.useMemo(()=>e?.startDate?.length===h.length?Z(e.startDate,r):void 0,[h.length,r,e?.startDate]),w=l.useMemo(()=>e?.endDate?.length===h.length?Z(e.endDate,r):void 0,[h.length,r,e?.endDate]),D=l.useMemo(()=>y!=null?Ve(y,p,f):void 0,[f,y,p]),k=l.useMemo(()=>w!=null?Ve(w,p,f):void 0,[f,w,p]),[b,x]=l.useState(a??y??new Date),v=l.useCallback(R=>{u.isSameMonth(R,p)||u.isAfter(R,p)?x(R):x(p)},[p]),S=l.useMemo(()=>ve(b.getFullYear(),b.getMonth(),f),[f,b]),j=l.useMemo(()=>Te(u.intlFormat(b,{month:"long",year:"numeric"},{locale:f.code})),[f,b]),M=l.useMemo(()=>u.isSameMonth(p,b),[p,b]),[N,B]=l.useState(),[I,F]=l.useState("calendar"),P=l.useCallback(R=>{const z=R?.startDate?.length===h.length?Z(R.startDate,r):void 0,O=R?.endDate?.length===h.length?Z(R.endDate,r):void 0;z?v(z):O&&v(O),t?.({...e,...R})},[h.length,r,t,v,e]),E=l.useMemo(()=>y&&w?u.isAfter(w,y)||u.isSameDay(w,y):!1,[w,y]),L=l.useMemo(()=>{const R=s==="startDate"?e?.endDate:e?.startDate;return R?Z(R,r):void 0},[s,r,e?.endDate,e?.startDate]),U=l.useMemo(()=>{if(N&&L){if(s==="endDate")return"right";if(s==="startDate")return"left"}},[s,L,N]);return{onClickDate:R=>{if(!(R.getFullYear()===b.getFullYear()&&R.getMonth()===b.getMonth()))return;const O=(Y,W)=>t?.(mn(Y,A=>Z(A,r),W));s==="startDate"?(O({startDate:oe(R,r),endDate:e?.endDate},"startDate"),e?.endDate?(d?.(),i(void 0),B(void 0)):c("endDate")):s==="endDate"?(O({startDate:e?.startDate,endDate:oe(R,r)},"endDate"),d?.(),i(void 0),B(void 0)):y&&w==null?u.isBefore(R,y)?(t?.({startDate:oe(R,r),endDate:void 0}),c("endDate")):(t?.({startDate:e?.startDate,endDate:oe(R,r)}),d?.(),i(void 0),B(void 0)):(O({startDate:oe(R,r),endDate:void 0},"startDate"),c("endDate"))},onValueChangeByInputs:P,isValidDateRange:E,monthPickerButtonRef:m,calendarId:_,monthPickerButtonLabel:j,visiblePanel:I,setVisiblePanel:F,setVisibleMonth:x,visibleMonthData:S,todayIsInVisibleMonth:M,hoverDate:N,setHoverDate:B,hoverAnchor:L,hoverHighlightDirection:U,selectedStartDate:y,selectedEndDate:w,today:p,visibleMonth:b,valueWhenBlurredStartDate:D,valueWhenBlurredEndDate:k}},Fe=({previousMonthButtonAriaLabel:e,nextMonthButtonAriaLabel:t,monthPickerButtonLabel:r,visiblePanel:n,setVisiblePanel:a,monthPickerButtonRef:s,setVisibleMonth:i,visibleMonth:c,prevMonthDisabled:d,nextMonthDisabled:f,calendarSize:_,previousMonthButtonTestId:p,nextMonthButtonTestId:m})=>{const h=_==="smaller"||_==="small"?"medium":"large";return o.jsxs(g.Row,{alignSelf:"center",justifyContent:"space-between",width:"100%",children:[o.jsx(C.FlatButton,{"aria-live":"polite",label:r,rightIcon:n==="calendar"?C.stenaAngleDown:C.stenaAngleUp,onClick:()=>a(n==="calendar"?"month-picker":"calendar"),ref:s,size:h}),o.jsxs(g.Row,{alignItems:"center",gap:2,children:[o.jsx(C.SecondaryButton,{leftIcon:C.stenaArrowLeft,onClick:()=>i(u.subMonths(c,1)),disabled:d?.(c),"aria-label":e,size:h,"data-testid":p}),o.jsx(C.SecondaryButton,{leftIcon:C.stenaArrowRight,onClick:()=>i(u.addMonths(c,1)),disabled:f?.(c),"aria-label":t,size:h,"data-testid":m})]})]})},bn="_travelDateCell_1t2af_1",yn="_smaller_1t2af_4",vn="_small_1t2af_4",xn="_medium_1t2af_14",wn="_large_1t2af_19",Dn="_outline_1t2af_31",kn="_contentWrapper_1t2af_44",Cn="_disabled_1t2af_65",Sn="_isToday_1t2af_68",jn="_isSelectionStart_1t2af_72",Mn="_isSelectionEnd_1t2af_73",Bn="_hover_1t2af_88",Rn="_startSelected_1t2af_91",In="_endSelected_1t2af_91",J={travelDateCell:bn,smaller:yn,small:vn,medium:xn,large:wn,outline:Dn,contentWrapper:kn,disabled:Cn,isToday:Sn,isSelectionStart:jn,isSelectionEnd:Mn,hover:Bn,startSelected:Rn,endSelected:In},X="var(--selection-range-background-color)",Tn=(e,t,r,n,a,s,i,c)=>i?t&&r&&!c?{left:"transparent",right:"transparent"}:a&&s&&n?En(e,n,a,s):a?{left:"transparent",right:"transparent"}:Nn(e,t,r,a):{left:"transparent",right:"transparent"},Nn=(e,t,r,n)=>{if(t&&r&&u.isSameDay(t,r))return{left:"transparent",right:"transparent"};if(t&&r?u.isAfter(e,t)&&u.isBefore(e,r)&&!u.isSameDay(e,t)&&!u.isSameDay(e,r):!1)return{left:X,right:X};if(t&&r)return u.isSameDay(e,t)?{left:"transparent",right:X}:u.isSameDay(e,r)?{left:X,right:"transparent"}:{left:"transparent",right:"transparent"};if(t&&n&&u.isAfter(n,t)){if(u.isSameDay(e,t))return{left:"transparent",right:X};if(u.isSameDay(e,n))return{left:X,right:"transparent"}}return{left:"transparent",right:"transparent"}},En=(e,t,r,n)=>{const a=u.isAfter(r,n),s=u.isWithinInterval(e,{start:u.min([r,n]),end:u.max([r,n])}),i=u.isSameDay(e,r),c=u.isSameDay(e,n);return t==="right"&&u.isBefore(r,n)?{left:"transparent",right:"transparent"}:t==="left"&&u.isAfter(r,n)?{left:"transparent",right:"transparent"}:i&&c?{left:"transparent",right:"transparent"}:i?dt(a,{left:"transparent",right:X}):c?dt(a,{left:X,right:"transparent"}):s?{left:X,right:X}:{left:"transparent",right:"transparent"}},dt=(e,{left:t,right:r})=>e?{left:r,right:t}:{left:t,right:r},Fn=(e,t)=>{switch(t){case"PageUp":return u.subMonths(e,1);case"PageDown":return u.addMonths(e,1);case"Home":return u.startOfWeek(e);case"End":return u.addDays(u.startOfWeek(e),6);case"ArrowLeft":return u.subDays(e,1);case"ArrowUp":return u.subDays(e,7);case"ArrowRight":return u.addDays(e,1);case"ArrowDown":return u.addDays(e,7);default:return}},He=(e,t)=>u.format(u.addHours(e,12),ae.fullDate)+t,Ln="_travelDateCellBackground_45q5d_1",An="_smaller_45q5d_2",Pn="_small_45q5d_2",Wn="_medium_45q5d_12",Hn="_large_45q5d_17",Se={travelDateCellBackground:Ln,smaller:An,small:Pn,medium:Wn,large:Hn},On=({calendarSize:e,bgColorLeft:t,bgColorRight:r})=>o.jsxs(g.Row,{children:[o.jsx(g.Box,{className:K(Se.travelDateCellBackground,Se[e]),background:t}),o.jsx(g.Box,{className:K(Se.travelDateCellBackground,Se[e]),background:r})]}),Yn=({onClick:e,visibleMonth:t,onChangeVisibleMonth:r,day:n,isValidDateRange:a,selectedStartDate:s,selectedEndDate:i,onStartHover:c,onEndHover:d,hoverDate:f,hoverAnchor:_,today:p,todayIsInVisibleMonth:m,calendarId:h,isDateDisabled:y,size:w,dateTestId:D,hoverHighlightDirection:k})=>{const b=l.useCallback(async P=>{const E=Fn(n.date,P.key),L=(E&&y?.(E))??!1;E&&!L&&(c(E),u.isSameMonth(n.date,E)?document.getElementById(He(E,h))?.focus():(r(E),setTimeout(()=>{document.getElementById(He(E,h))?.focus()},10))),(P.key==="Enter"||P.code==="Space")&&e(n.date)},[h,n.date,y,r,e,c]),x=n.month===t.getMonth(),v=y?.(n.date)??!1,S=f&&_?u.isAfter(f,_):!1,j=f&&_?u.isSameDay(S?_:f,n.date):!1,M=f&&_?u.isSameDay(S?f:_,n.date):!1,N=!f&&s?u.isSameDay(s,n.date):!1,B=!f&&i?u.isSameDay(i,n.date):!1,I=u.isSameDay(n.date,p),F=Tn(n.date,s,i,k,f,_,x,a);return o.jsxs("td",{className:K(J.travelDateCell,J[w]),onClick:v?void 0:()=>e(n.date),onMouseOver:v?void 0:()=>x&&c(n.date),onMouseOut:v?void 0:()=>x&&d(n.date),tabIndex:v?void 0:zn(n,s,I,t,m),id:v?void 0:He(n.date,h),onKeyDown:v?void 0:b,...v?void 0:{"aria-selected":N||B},"data-testid":D?.(n.date),children:[o.jsx("div",{className:J.outline}),o.jsx(On,{calendarSize:w,bgColorLeft:F.left,bgColorRight:F.right}),x&&o.jsx("div",{className:K(J.contentWrapper,I?J.isToday:void 0,s?J.startSelected:void 0,i?J.endSelected:void 0,f&&u.isSameDay(f,n.date)?J.hover:void 0,(N||j)&&J.isSelectionStart,(B||M)&&J.isSelectionEnd,v&&J.disabled),children:o.jsx(g.Text,{variant:"bold",color:v?qe.cssColor("--lhds-color-ui-500"):void 0,children:n.dayOfMonth})})]})},zn=(e,t,r,n,a)=>{const s=t?u.isSameMonth(t,n):!1;return(t&&s?u.isSameDay(e.date,t):r)||!s&&!a&&e.date.getDate()===1?0:-1},Un="_travelCalendar_167ir_1",$n={travelCalendar:Un},Le=({visibleMonthData:e,onClickDate:t,setHoverDate:r,setVisibleMonth:n,visibleMonth:a,isValidDateRange:s,selectedStartDate:i,selectedEndDate:c,hoverDate:d,hoverAnchor:f,today:_,calendarId:p,isDateDisabled:m,todayIsInVisibleMonth:h,size:y="medium",multiSelectable:w,dateTestId:D,hoverHighlightDirection:k})=>o.jsx("table",{className:$n.travelCalendar,role:"grid",...w?{"aria-multiselectable":!0}:void 0,children:o.jsxs("tbody",{children:[o.jsx("tr",{children:e.weeks[0].days.map(b=>o.jsx("th",{abbr:b.fullName,children:o.jsx(g.Text,{children:b.name})},b.name))}),e.weeks.map(b=>o.jsx(Ke.Fragment,{children:o.jsx("tr",{children:b.days.map(x=>o.jsx(Yn,{size:y,onClick:v=>t(v),visibleMonth:a,onChangeVisibleMonth:n,isValidDateRange:s,day:x,onStartHover:v=>r(v),onEndHover:v=>r(S=>S&&u.isSameDay(S,v)?void 0:S),selectedStartDate:i,selectedEndDate:c,hoverDate:d,hoverAnchor:f,today:_,todayIsInVisibleMonth:h,calendarId:p,isDateDisabled:m,dateTestId:D,hoverHighlightDirection:k},x.dateString))},b.weekNumber)},b.weekNumber))]})}),Vn="_travelDateRangeInput_1j7rp_1",qn="_overlay_1j7rp_2",Kn="_calendarVisible_1j7rp_6",Oe={travelDateRangeInput:Vn,overlay:qn,calendarVisible:Kn},Gn=({value:e,onValueChange:t,startDateLabel:r,endDateLabel:n,localeCode:a="sv",languageLocaleCode:s=a,initialMonthInFocus:i,previousMonthButtonAriaLabel:c="Previous month",nextMonthButtonAriaLabel:d="Next month",placeholderWhenBlurredStartDate:f,placeholderWhenBlurredEndDate:_,heading:p,headingLevel:m,numMonthsInMonthPicker:h=12,isDateDisabled:y,prevMonthDisabled:w,nextMonthDisabled:D,firstMonthInMonthPicker:k=new Date,zIndex:b=1e3,zIndexWhenClosed:x,onHideCalendar:v,renderBelowCalendar:S,size:j="medium",dateTestId:M,previousMonthButtonTestId:N,nextMonthButtonTestId:B,textInputVariant:I="standard",autoFocusStartDate:F,autoFocusEndDate:P})=>{const[E,L]=l.useState(!1),[U,$]=l.useState(!1),[R,z]=l.useState({width:336,height:66}),[O,Y]=l.useState(void 0),W=l.useRef(null),A=l.useRef(null),V=q=>{q==="startDate"?W.current?.focus():q==="endDate"&&A.current?.focus()},G=j==="large"?"8.8rem":"6.6rem",Q=l.useRef(!1),se=l.useCallback(q=>{Y(q),Q.current=!0,$(!0),setTimeout(()=>{L(!0)},10)},[]),H=l.useCallback(()=>{U&&(L(!1),Q.current=!1,v?.(),setTimeout(()=>{Q.current||$(!1)},120))},[U,v]),De=l.useRef(null),_e=l.useRef(null);g.useOnClickOutside(De,H),l.useLayoutEffect(()=>{const q=_e.current?.offsetWidth,Ae=_e.current?.offsetHeight;q!=null&&Ae!=null&&(R.height!==Ae||R.width!==q)&&z({width:q,height:Ae})},[R.height,R.width]);const ce=Yt(e,t,a,s,i,O,Y,V,H),{visiblePanel:ke,visibleMonth:te,onValueChangeByInputs:me,setVisibleMonth:$t,setVisiblePanel:rt,monthPickerButtonRef:nt}=ce,Vt=l.useCallback(q=>{q.key==="Escape"&&H()},[H]);return o.jsxs(g.Box,{position:"relative",className:Oe.travelDateRangeInput,ref:De,onKeyDown:Vt,height:R.height,width:R.width,children:[o.jsx(g.Box,{position:"absolute",ref:_e,zIndex:U?b:x,children:o.jsx(Ot,{...ce,value:e,onValueChange:me,startDateRef:W,endDateRef:A,localeCode:a,startDateLabel:r,endDateLabel:n,onFocus:se,calendarSize:j,placeholderWhenBlurredStartDate:f,placeholderWhenBlurredEndDate:_,variant:I,autoFocusStartDate:F,autoFocusEndDate:P,readOnlyOnMobile:!0})}),U&&o.jsx(g.Box,{position:"absolute",zIndex:b-1,left:"-2.4rem",top:p?"-8.0rem":"-2.4rem",className:K(Oe.overlay,E&&Oe.calendarVisible),children:o.jsx(g.Box,{background:"white",shadow:"popover",borderRadius:"var(--swui-border-radius-large)",children:o.jsxs(C.CardBody,{gap:3,children:[p&&o.jsx(g.Heading,{variant:"h2",as:m,children:p}),o.jsx(g.Box,{height:G}),o.jsx(Fe,{...ce,previousMonthButtonAriaLabel:c,nextMonthButtonAriaLabel:d,calendarSize:j,prevMonthDisabled:w,nextMonthDisabled:D,previousMonthButtonTestId:N,nextMonthButtonTestId:B}),ke==="calendar"&&o.jsx(Le,{...ce,size:j,multiSelectable:!0,isDateDisabled:y,dateTestId:M}),ke==="month-picker"&&o.jsx(pe,{firstMonth:k,numMonths:h,value:te,size:j,localeCode:s,onValueChange:q=>{$t(q),rt("calendar"),nt.current?.focus()},onCancel:()=>{rt("calendar"),nt.current?.focus()}}),S?.({hideCalendar:H})]})})})]})},Jn="_travelDateInput_hmfbf_1",Qn="_overlay_hmfbf_2",Zn="_calendarVisible_hmfbf_6",Ye={travelDateInput:Jn,overlay:Qn,calendarVisible:Zn},zt=({value:e,onValueChange:t,label:r="Date",localeCode:n,autoFocus:a,onFocus:s,calendarSize:i,placeholderWhenBlurred:c,valueWhenBlurred:d,variant:f,readOnlyOnMobile:_})=>{const{deviceSize:p}=Wt(),m=_&&!Ht(p,"tablet"),{mask:h,placeholder:y}=l.useMemo(()=>{const w=fe(n);return{mask:Pt(w),placeholder:w.toLowerCase()}},[n]);return o.jsx(g.Row,{children:o.jsx($e,{mask:h,value:e,onValueChange:t,onBlur:w=>{const D=Ie(w.target.value,n);D&&D!==e&&t?.(D)},readOnly:m,onFocus:s,autoFocus:a,label:r,placeholder:y,calendarSize:i,placeholderWhenBlurred:c,valueWhenBlurred:d,variant:f})})},Ut=(e,t,r,n,a,s)=>{const i=ue(n),c=l.useId(),d=g.useToday(),f=l.useRef(null),_=l.useMemo(()=>fe(r),[r]),p=l.useMemo(()=>e?.length===_.length?Z(e,r):void 0,[_.length,r,e]),m=l.useMemo(()=>p!=null?Ve(p,d,i):void 0,[i,p,d]),[h,y]=l.useState(a??p??new Date),w=l.useCallback(B=>{u.isSameMonth(B,d)||u.isAfter(B,d)?y(B):y(d)},[d]),D=l.useMemo(()=>ve(h.getFullYear(),h.getMonth(),i),[i,h]),k=l.useMemo(()=>Te(u.intlFormat(h,{month:"long",year:"numeric"},{locale:i.code})),[i,h]),b=l.useMemo(()=>u.isSameMonth(d,h),[d,h]),[x,v]=l.useState(),[S,j]=l.useState("calendar"),M=l.useCallback(B=>{const I=B?.length===_.length?Z(B,r):void 0;I&&w(I),t?.(B)},[_.length,r,t,w]);return{onClickDate:B=>{t?.(oe(B,r)),s?.(B)},onValueChangeByInputs:M,monthPickerButtonRef:f,calendarId:c,monthPickerButtonLabel:k,visiblePanel:S,setVisiblePanel:j,setVisibleMonth:y,visibleMonthData:D,todayIsInVisibleMonth:b,hoverDate:x,hoverAnchor:void 0,setHoverDate:v,selectedDate:p,today:d,visibleMonth:h,valueWhenBlurred:m}},Xn=({value:e,onValueChange:t,label:r,localeCode:n="sv",languageLocaleCode:a=n,initialMonthInFocus:s,previousMonthButtonAriaLabel:i="Previous month",nextMonthButtonAriaLabel:c="Next month",placeholderWhenBlurred:d,autoFocus:f,heading:_,headingLevel:p,numMonthsInMonthPicker:m=12,isDateDisabled:h,prevMonthDisabled:y,nextMonthDisabled:w,firstMonthInMonthPicker:D=new Date,zIndex:k=1e3,zIndexWhenClosed:b,onHideCalendar:x,renderBelowCalendar:v,size:S="medium",dateTestId:j,previousMonthButtonTestId:M,nextMonthButtonTestId:N,textInputVariant:B="standard"})=>{const[I,F]=l.useState(!1),[P,E]=l.useState(!1),[L,U]=l.useState({width:336,height:66}),$=S==="large"?"8.8rem":"6.6rem",R=l.useRef(!1),z=l.useCallback(()=>{R.current=!0,E(!0),setTimeout(()=>{F(!0)},10)},[]),O=l.useCallback(()=>{P&&(F(!1),R.current=!1,x?.(),setTimeout(()=>{R.current||E(!1)},120))},[P,x]),Y=l.useCallback(()=>{setTimeout(()=>{O()},250)},[O]),W=l.useRef(null),A=l.useRef(null);g.useOnClickOutside(W,O),l.useLayoutEffect(()=>{const te=A.current?.offsetWidth,me=A.current?.offsetHeight;te!=null&&me!=null&&(L.height!==me||L.width!==te)&&U({width:te,height:me})},[L.height,L.width]);const V=Ut(e,t,n,a,s,Y),{visiblePanel:G,visibleMonth:Q,onValueChangeByInputs:se,selectedDate:H,setVisibleMonth:De,setVisiblePanel:_e,monthPickerButtonRef:ce}=V,ke=l.useCallback(te=>{te.key==="Escape"&&O()},[O]);return o.jsxs(g.Box,{position:"relative",className:Ye.travelDateInput,ref:W,onKeyDown:ke,height:L.height,width:L.width,children:[o.jsx(g.Box,{position:"absolute",ref:A,zIndex:P?k:b,children:o.jsx(zt,{...V,autoFocus:f,value:e,onValueChange:se,localeCode:n,label:r,onFocus:z,calendarSize:S,placeholderWhenBlurred:d,variant:B,readOnlyOnMobile:!0})}),P&&o.jsx(g.Box,{position:"absolute",zIndex:k-1,left:"-2.4rem",top:_?"-8.0rem":"-2.4rem",className:K(Ye.overlay,I&&Ye.calendarVisible),children:o.jsx(g.Box,{background:"white",shadow:"popover",borderRadius:"var(--swui-border-radius-large)",children:o.jsxs(C.CardBody,{gap:3,children:[_&&o.jsx(g.Heading,{variant:"h2",as:p,children:_}),o.jsx(g.Box,{height:$}),o.jsx(Fe,{...V,previousMonthButtonAriaLabel:i,nextMonthButtonAriaLabel:c,calendarSize:S,prevMonthDisabled:y,nextMonthDisabled:w,previousMonthButtonTestId:M,nextMonthButtonTestId:N}),G==="calendar"&&o.jsx(Le,{...V,size:S,isValidDateRange:!!H,selectedStartDate:H,selectedEndDate:H,multiSelectable:!1,isDateDisabled:h,dateTestId:j,hoverHighlightDirection:void 0}),G==="month-picker"&&o.jsx(pe,{firstMonth:D,numMonths:m,value:Q,size:S,localeCode:n,onValueChange:te=>{De(te),_e("calendar"),ce.current?.focus()},onCancel:()=>{_e("calendar"),ce.current?.focus()}}),v?.({hideCalendar:O})]})})})]})},ea=({value:e,onValueChange:t,label:r,localeCode:n="sv",languageLocaleCode:a=n,initialMonthInFocus:s,previousMonthButtonAriaLabel:i="Previous month",nextMonthButtonAriaLabel:c="Next month",placeholderWhenBlurred:d,heading:f,headingLevel:_,numMonthsInMonthPicker:p=12,isDateDisabled:m,prevMonthDisabled:h,nextMonthDisabled:y,firstMonthInMonthPicker:w=new Date,dateTestId:D,size:k="medium",previousMonthButtonTestId:b,nextMonthButtonTestId:x,textInputVariant:v="standard",autoFocus:S})=>{const j=Ut(e,t,n,a,s),{visiblePanel:M,visibleMonth:N,onValueChangeByInputs:B,setVisibleMonth:I,setVisiblePanel:F,monthPickerButtonRef:P,selectedDate:E}=j;return o.jsxs(g.Column,{gap:3,children:[f&&o.jsx(g.Heading,{variant:"h2",as:_,children:f}),o.jsx(zt,{...j,value:e,onValueChange:B,localeCode:n,label:r,calendarSize:k,placeholderWhenBlurred:d,variant:v,readOnlyOnMobile:!1,autoFocus:S}),o.jsx(Fe,{...j,previousMonthButtonAriaLabel:i,nextMonthButtonAriaLabel:c,calendarSize:k,prevMonthDisabled:h,nextMonthDisabled:y,previousMonthButtonTestId:b,nextMonthButtonTestId:x}),M==="calendar"&&o.jsx(Le,{...j,size:k,selectedStartDate:E,selectedEndDate:E,isValidDateRange:!!E,isDateDisabled:m,multiSelectable:!1,dateTestId:D,hoverHighlightDirection:void 0}),M==="month-picker"&&o.jsx(pe,{firstMonth:w,numMonths:p,value:N,localeCode:a,size:k,onValueChange:L=>{I(L),F("calendar"),P.current?.focus()},onCancel:()=>{F("calendar"),P.current?.focus()}})]})},ta=({value:e,onValueChange:t,startDateLabel:r,endDateLabel:n,localeCode:a="sv",languageLocaleCode:s=a,initialMonthInFocus:i,previousMonthButtonAriaLabel:c="Previous month",nextMonthButtonAriaLabel:d="Next month",heading:f,headingLevel:_,numMonthsInMonthPicker:p=12,isDateDisabled:m,prevMonthDisabled:h,nextMonthDisabled:y,firstMonthInMonthPicker:w=new Date,size:D="medium",dateTestId:k,previousMonthButtonTestId:b,nextMonthButtonTestId:x,placeholderWhenBlurredStartDate:v,placeholderWhenBlurredEndDate:S,textInputVariant:j="standard",autoFocusStartDate:M,autoFocusEndDate:N})=>{const[B,I]=l.useState(void 0),F=l.useRef(null),P=l.useRef(null),E=l.useCallback(A=>{A==="startDate"?F.current?.focus():A==="endDate"&&P.current?.focus()},[]),L=Yt(e,t,a,s,i,B,I,E,void 0),U=l.useCallback(A=>{I(A)},[]),{visiblePanel:$,visibleMonth:R,onValueChangeByInputs:z,setVisibleMonth:O,setVisiblePanel:Y,monthPickerButtonRef:W}=L;return o.jsxs(g.Column,{gap:3,children:[f&&o.jsx(g.Heading,{variant:"h2",as:_,children:f}),o.jsx(Ot,{...L,value:e,onValueChange:z,startDateRef:F,endDateRef:P,localeCode:a,startDateLabel:r,endDateLabel:n,onFocus:U,calendarSize:D,placeholderWhenBlurredStartDate:v,placeholderWhenBlurredEndDate:S,variant:j,autoFocusStartDate:M,autoFocusEndDate:N,readOnlyOnMobile:!1}),o.jsx(Fe,{...L,previousMonthButtonAriaLabel:c,nextMonthButtonAriaLabel:d,calendarSize:D,prevMonthDisabled:h,nextMonthDisabled:y,previousMonthButtonTestId:b,nextMonthButtonTestId:x}),$==="calendar"&&o.jsx(Le,{...L,size:D,multiSelectable:!0,isDateDisabled:m,dateTestId:k}),$==="month-picker"&&o.jsx(pe,{firstMonth:w,numMonths:p,value:R,size:D,localeCode:s,onValueChange:A=>{O(A),Y("calendar"),W.current?.focus()},onCancel:()=>{Y("calendar"),W.current?.focus()}})]})},ra=()=>{const e=g.useToday();return l.useCallback(t=>!u.isSameDay(t,e)&&u.isBefore(t,e),[e])},na=()=>{const e=g.useToday();return l.useCallback(t=>u.isSameMonth(e,t)||u.isBefore(t,e),[e])};exports.Calendar=Me;exports.CalendarDay=Je;exports.DateInput=Rr;exports.DateRangeCalendar=Cr;exports.DateRangeDualTextInput=nn;exports.DateRangeInput=Tr;exports.DateTextInput=Nr;exports.DateTimeInput=Gr;exports.Month=ht;exports.MonthPicker=pe;exports.MultiDateCalendar=jr;exports.PresetPicker=Bt;exports.SingleDateCalendar=tt;exports.SingleWeekCalendar=Mr;exports.TimeTextInput=Fr;exports.TravelDateCalendar=ea;exports.TravelDateInput=Xn;exports.TravelDateRangeCalendar=ta;exports.TravelDateRangeInput=Gn;exports.WeekDay=pt;exports.WeekDayCell=kt;exports.WeekNumberCell=Ct;exports.YearPicker=Qr;exports.addDayStateHighlights=ne;exports.addDayStateHighlightsOnSingleDay=Ge;exports.addWeekRangeHighlights=gt;exports.addWeekStateHighlights=Qt;exports.buildDayStateForDateRange=ge;exports.buildDayStateForRange=_t;exports.buildDayStateForSingleMonth=ft;exports.calculateOverflowingMonth=vt;exports.createDay=bt;exports.dateRangeToStrings=Rt;exports.dayHasHighlight=xt;exports.dayHighlightSelect=re;exports.defaultCalendarTheme=ie;exports.defaultTextPropsProvider=Dt;exports.defaultWrapperStyleProvider=wt;exports.extranetCalendarTheme=tr;exports.fallbackLocaleCode=Qe;exports.fallbackLocaleCodeForFormatting=dr;exports.formatLocalizedDate=oe;exports.getDateFormatForLocaleCode=fe;exports.getDaysForWeekForDate=yt;exports.getDefaultLocaleForFormatting=fr;exports.getLocaleCodeForLocale=Mt;exports.getLocaleForLocaleCode=ue;exports.getMonthInYear=ve;exports.getMonthsInYear=ze;exports.getSupportedLocaleCode=Ze;exports.getSupportedLocaleCodeMatchingLanguage=jt;exports.getWeekForDate=Ne;exports.getWeeksForMonth=mt;exports.isDateRangeInvalid=Xe;exports.parseLocalizedDateString=Z;exports.reformatLocalizedDateString=Ie;exports.setDayStateValue=Gt;exports.setDayStateValueFunction=Jt;exports.stringsToDateRange=It;exports.toggleDateStringsIfEndIsEarlierThanStart=Dr;exports.toggleDatesIfEndIsEarlierThanStart=et;exports.useDateRangeCalendarState=Sr;exports.useDateRangeSelection=Tt;exports.useDisabledBeforeToday=ra;exports.useMultiDateSelection=Et;exports.usePrevMonthDisabledBeforeToday=na;exports.useSingleDateSelection=Nt;exports.useSingleWeekSelection=Ft;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),g=require("@stenajs-webui/core"),C=require("@stenajs-webui/elements"),u=require("date-fns"),T=require("date-fns/locale"),le=require("lodash-es"),l=require("react"),K=require("classnames"),Pe=require("@emotion/styled"),ee=require("@stenajs-webui/forms"),ye=require("@stenajs-webui/tooltip"),qe=require("@stenajs-webui/theme"),qt=require("@stenajs-webui/input-mask"),Ce=require("react-responsive");function Kt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const Ke=Kt(l),ae={yearAndMonth:"yyyy-MM",fullDate:"yyyy-MM-dd",fullMonthName:"LLLL"},ge=(e={},t,r)=>{if(t&&r&&u.isAfter(r,t))return u.eachDayOfInterval({start:t,end:r}).reduce((a,s)=>{const i=u.isSameDay(s,t),c=u.isSameDay(s,r);return ne(a,s,i?["selected","selectedStart","range"]:c?["selected","selectedEnd","range"]:["range"])},e);let n=e;return t&&(n=ne(n,t,["selected","singleSelected"])),r&&(n=ne(n,r,["selected","singleSelected"])),n},ft=(e={},t,r,n)=>_t(e,t,r,u.startOfMonth(n),u.endOfMonth(n)),_t=(e={},t,r,n,a)=>t&&r?ge(e,u.max([t,u.subDays(n,1)]),u.min([r,u.addDays(a,1)])):ge(e,t,r),Gt=(e,t,r)=>{const n=u.format(t,ae.yearAndMonth),a=u.getISOWeek(t),s=u.getDate(t);return{...e,[n]:{...e&&e[n],[a]:{...e&&e[n]&&e[n][a],[s]:{...e&&e[n]&&e[n][a]&&e[n][a][s],...r}}}}},Jt=(e,t,r)=>{const n=u.format(t,ae.yearAndMonth),a=u.getISOWeek(t),s=u.getDate(t);return{...e,[n]:{...e&&e[n],[a]:{...e&&e[n]&&e[n][a],[s]:{...e&&e[n]&&e[n][a]&&e[n][a][s],...r(e&&e[n]&&e[n][a]&&e[n][a][s])}}}}},ne=(e,t,r)=>{const n=t.getMonth()+1,a=`${t.getFullYear()}-${n<10?"0":""}${n}`,s=u.getISOWeek(t),i=u.getDate(t),c=e&&e[a]&&e[a][s]&&e[a][s][i];return{...e,[a]:{...e&&e[a],[s]:{...e&&e[a]&&e[a][s],[i]:Ge(c,r)}}}},Ge=(e,t)=>({...e,highlights:[...e?.highlights??[],...t]}),Qt=(e,t,r)=>{const n=t.days[0].date,a=n.getMonth()+1,s=`${n.getFullYear()}-${a<10?"0":""}${a}`,i=t.weekNumber;let c=e;t.days.forEach(p=>{c=ne(c,p.date,r)});const d=c&&c[s]?c[s][i]:void 0,f=d&&d.highlights?[...d.highlights,...r]:r,_={...d,highlights:f};return{...c,[s]:{...e&&e[s],[i]:_}}},gt=(e,t)=>{if(!t.days.length)return{...e};const r=t.days[0].date,n=le.last(t.days)?.date;return{...ge(e,r,n)}},Zt=(e,t)=>l.useMemo(()=>e?ne(t,new Date,["today"]):t,[e,t]),Te=e=>e.length===0?e:e.length===1?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1);var ht=(e=>(e[e.JANUARY=0]="JANUARY",e[e.FEBRUARY=1]="FEBRUARY",e[e.MARCH=2]="MARCH",e[e.APRIL=3]="APRIL",e[e.MAY=4]="MAY",e[e.JUNE=5]="JUNE",e[e.JULY=6]="JULY",e[e.AUGUST=7]="AUGUST",e[e.SEPTEMBER=8]="SEPTEMBER",e[e.OCTOBER=9]="OCTOBER",e[e.NOVEMBER=10]="NOVEMBER",e[e.DECEMBER=11]="DECEMBER",e))(ht||{}),pt=(e=>(e[e.SUNDAY=0]="SUNDAY",e[e.MONDAY=1]="MONDAY",e[e.TUESDAY=2]="TUESDAY",e[e.WEDNESDAY=3]="WEDNESDAY",e[e.THURSDAY=4]="THURSDAY",e[e.FRIDAY=5]="FRIDAY",e[e.SATURDAY=6]="SATURDAY",e))(pt||{});const Ue=(e,t,r,n)=>{const a=[];for(let s=0;s<r;s++)a.push(ve(e,t+s,n));return a},ve=(e,t,r)=>{if(isNaN(e)||isNaN(t))throw new Error("getMonthInYear() received NaN.");const n=e+Math.floor(t/12),a=t%12,s=new Date(n,a,1);return{monthString:u.format(s,ae.yearAndMonth),name:Te(u.format(s,ae.fullMonthName,{locale:r})),year:n,monthInYear:a,weeks:mt(n,a,r)}},mt=(e,t,r,n=!0)=>{const a=new Date(e,t,1),s=u.startOfWeek(a,{locale:r}),i=[];for(let c=0;c<6;c++){const d=Le(u.addWeeks(s,c),r);if(c>0&&d.startMonth!==t&&!n)return i;i.push(d)}return i},Le=(e,t)=>{const r=u.getMonth(u.addDays(e,7))!==u.getMonth(e);return{weekNumber:u.getWeek(e,{locale:t}),startMonth:u.getMonth(e),startYear:u.getYear(e),endMonth:u.getMonth(u.addDays(e,6)),endYear:u.getYear(u.addDays(e,6)),days:yt(e,t),isLastWeekOfMonth:r}},bt=(e,t)=>{const r=u.getISODay(e);return{date:e,name:u.format(e,"EEE",t?{locale:t}:void 0),fullName:u.format(e,"EEEE",t?{locale:t}:void 0),dateString:u.format(u.addHours(e,12),ae.fullDate),weekNumber:u.getWeek(e,{locale:t}),year:u.getYear(e),month:u.getMonth(e),dayOfMonth:u.getDate(e),dayOfWeek:r,isFirstDayOfWeek:r===1,isLastDayOfWeek:r===7,isFirstDayOfMonth:u.isSameDay(u.startOfMonth(e),e),isLastDayOfMonth:u.isSameDay(u.endOfMonth(e),e)}},yt=(e,t)=>u.eachDayOfInterval({start:e,end:u.addDays(e,6)}).map(r=>bt(r,t)),vt=(e,t)=>t>11?{year:e+Math.floor(t/12),month:t%12}:t<0?{year:e+Math.floor(t/12),month:12+t%12}:{year:e,month:t},Xt="_calendar_5yxz4_1",er="_weekNumberVisible_5yxz4_41",at={calendar:Xt,weekNumberVisible:er},xt=(e,t,r)=>!!(t&&t.indexOf(r)>=0||e&&e.highlights&&e.highlights.indexOf(r)>=0),re=(e,t,r,n,a)=>{if(r.length!==n.length)throw new Error("Select highlight failed, number of values do not equal number of highlights.");if(r.length===0)return a;for(let s=0;s<r.length;s++)if(typeof r[s]=="boolean"&&r[s]||typeof r[s]=="string"&&xt(e,t,r[s]))return n[s];return a},wt=({selectedBackground:e,todayBackground:t,rangeBackground:r,borderColor:n="transparent"})=>(a,s,i,c,d)=>({backgroundColor:re(s,a,["selected","range","today",i.month===d.monthInYear],[e,r,t,"#fff"],"transparent"),borderWidth:"1px",borderStyle:"solid",borderColor:re(s,a,["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)"],n),borderTopLeftRadius:re(s,a,["selectedStart","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),borderBottomLeftRadius:re(s,a,["selectedStart","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),borderTopRightRadius:re(s,a,["selectedEnd","singleSelected","today"],["var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)","var(--swui-calendar-day-border-radius)"],"unset"),borderBottomRightRadius:re(s,a,["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"}),Dt=({selectedColor:e,disabledColor:t,inOtherMonthColor:r,rangeTextColor:n})=>(a,s,i,c,d)=>{const f=i.month!==d.monthInYear;return{color:re(s,a,[f,"selected","range","enabled","disabled"],[r,e,n,void 0,t])}},ie={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:wt({selectedBackground:"var(--swui-calendar-wrapper-selected-background)",rangeBackground:"var(--swui-calendar-wrapper-range-background)",todayBackground:"var(--swui-calendar-wrapper-today-background)"}),textProps:Dt({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)"}},tr={...ie,width:"37px",height:"37px"},kt=({onClickWeekDay:e,day:t,theme:r})=>{const n=o.jsx(g.Box,{width:r.width,height:r.height,justifyContent:"center",alignItems:"center",children:o.jsx(g.Text,{size:"small",color:e?r.WeekDay.clickableTextColor:r.WeekDay.textColor,children:t.name})});return e?o.jsx(g.Clickable,{borderRadius:"var(--swui-calendar-day-border-radius)",onClick:a=>e(t.dayOfWeek,a),disableFocusHighlight:!e,children:n}):n},Je=function({day:t,week:r,month:n,dayState:a,userData:s,onClickDay:i,theme:c,extraDayContent:d,defaultHighlights:f,showDatesInOtherMonths:_}){const p=o.jsx(g.Box,{width:"100%",height:"100%",justifyContent:"center",alignItems:"center",children:o.jsx(g.Text,{...c.CalendarDay.textProps&&c.CalendarDay.textProps(f,a,t,r,n,s),children:t.dayOfMonth})}),m=Pe.td({...c.CalendarDay.tdStyle&&c.CalendarDay.tdStyle(f,a,t,r,n,s)}),h=Pe.div({...c.CalendarDay.innerWrapperStyle&&c.CalendarDay.innerWrapperStyle(f,a,t,r,n,s),width:"100%",height:"100%"}),y=Pe.div({...c.CalendarDay.cellWrapperStyle&&c.CalendarDay.cellWrapperStyle(f,a,t,r,n,s),width:"100%",height:"100%",position:"relative"}),w=rr(f,a);return o.jsx(m,{onClick:w?void 0:D=>i?.(t,s,D),children:o.jsx(h,{children:o.jsx(y,{children:(t.month===n.monthInYear||_)&&o.jsxs(o.Fragment,{children:[d&&o.jsx(d,{week:r,month:n,day:t,dayState:a,theme:c,userData:s}),p]})})})})},rr=(e,t)=>!!re(t,e,["enabled","disabled"],[!1,!0],!1),Ct=({onClickWeek:e,theme:t,week:r,background:n,backgroundColor:a,prefix:s})=>{const i=o.jsxs(g.Box,{width:t.width,height:t.height,justifyContent:"center",alignItems:"center",children:[n&&o.jsx(g.Box,{position:"absolute",children:n}),o.jsx(g.Box,{position:"absolute",children:o.jsxs(g.Text,{color:e?t.WeekNumber.clickableTextColor:t.WeekNumber.textColor,children:[s,r.weekNumber]})})]});return o.jsx(g.Box,{background:a||t.WeekNumber.backgroundColor,position:"relative",children:e?o.jsx(g.Clickable,{borderRadius:"var(--swui-calendar-day-border-radius)",onClick:c=>e(r,c),disableFocusHighlight:!e,children:i}):i})},nr=(e,t,r)=>t&&u.isBefore(e,t)?u.isSameDay(e,t):r&&u.isAfter(e,r)?u.isSameDay(e,r):!0,ar=function({dayComponent:t,minDate:r,maxDate:n,dayState:a,day:s,...i}){const c=l.useMemo(()=>nr(s.date,r,n)?a:Ge(a,["disabled"]),[s.date,a,n,r]);return o.jsx(t,{day:s,...i,dayState:c})};function sr({month:e,dayComponent:t=Je,statePerWeek:r,userDataPerWeek:n,minDate:a,maxDate:s,onClickDay:i,onClickWeek:c,onClickWeekDay:d,onClickMonth:f,renderWeekNumber:_,renderWeekDay:p,headerRightContent:m,theme:h=ie,extraDayContent:y,defaultHighlights:w,showWeekNumber:D}){return o.jsx(o.Fragment,{children:o.jsxs(g.Box,{alignItems:"stretch",children:[o.jsxs(g.Row,{justifyContent:m?"space-between":"center",alignItems:"center",children:[o.jsx(g.Row,{justifyContent:"center",alignItems:"center",children:f?o.jsx(C.FlatButton,{onClick:()=>f(e),label:e.name+" "+String(e.year),rightIcon:C.stenaAngleDown}):o.jsxs(g.Text,{whiteSpace:"nowrap",children:[e.name," ",e.year]})}),m&&o.jsx(g.Box,{alignItems:"center",children:m})]}),o.jsx("table",{children:o.jsxs("tbody",{children:[o.jsxs("tr",{children:[D&&o.jsx("td",{children:o.jsx(g.Box,{width:h.width,height:h.height})}),e.weeks[0].days.map(k=>o.jsx("td",{children:p?p(k.name,h,d):o.jsx(kt,{day:k,onClickWeekDay:d,theme:h})},k.name))]}),e.weeks.map(k=>o.jsxs("tr",{children:[D&&o.jsx("td",{children:_?_(k,h,c):o.jsx(Ct,{week:k,onClickWeek:c,theme:h})}),k.days.map(b=>o.jsx(ar,{dayComponent:t,day:b,week:k,month:e,dayState:r&&r[k.weekNumber]&&r[k.weekNumber][b.dayOfMonth],userData:n&&n[k.weekNumber]&&n[k.weekNumber][b.dayOfMonth],onClickDay:i,theme:h,extraDayContent:y,defaultHighlights:w,minDate:a,maxDate:s},b.dateString))]},k.weekNumber))]})})]})})}function or({monthRows:e,dayComponent:t=Je,userDataPerMonth:r,statePerMonth:n,minDate:a,maxDate:s,onClickDay:i,onClickWeekDay:c,onClickWeek:d,onClickMonth:f,renderWeekDay:_,renderWeekNumber:p,headerRightContent:m,extraDayContent:h,defaultHighlights:y,showWeekNumber:w,theme:D=ie}){const k=l.useMemo(()=>a?u.parse(a,"yyyy-MM-dd",new Date):void 0,[a]),b=l.useMemo(()=>s?u.parse(s,"yyyy-MM-dd",new Date):void 0,[s]);return o.jsx("div",{className:K(at.calendar,w&&at.weekNumberVisible),children:e.map((x,v)=>o.jsx(g.Spacing,{children:o.jsx(g.Row,{gap:2,children:x.map(S=>o.jsx(sr,{month:S,dayComponent:t,userDataPerWeek:r&&r[S.monthString],statePerWeek:n&&n[S.monthString],onClickDay:i,onClickWeekDay:c,onClickWeek:d,onClickMonth:f,theme:D,renderWeekNumber:p,renderWeekDay:_,headerRightContent:m,extraDayContent:h,defaultHighlights:y,minDate:k,maxDate:b,showWeekNumber:w??!1},S.name))})},v))})}function Be(e){const t=lr(e.year,e.month,e.date),{year:r,month:n}=vt(t.year,t.month),a=ir(r,n,e.locale??T.enGB,e.numMonths,e.monthsPerRow),s=Zt(e.highlightToday,e.statePerMonth);return o.jsx(or,{year:r,month:n,monthRows:a,...e,statePerMonth:s})}const lr=(e,t,r)=>{if(t&&e)return{month:t,year:e};if(r)return{month:u.getMonth(r),year:u.getYear(r)};const n=new Date;return{month:u.getMonth(n),year:u.getYear(n)}},ir=(e,t,r,n,a)=>n==null?[[ve(e,t,r)]]:a==null?[Ue(e,t,n,r)]:le.chunk(Ue(e,t,n,r),a),St=(e,t)=>`${e.row}-${e.column}-${t}`,cr=(e,t,r,n)=>{let a=t;for(let s=0;s<n;s++){a=ur(a,e,n);const i=St(a,r);if(document.getElementById(i))return i}},ur=(e,t,r)=>{let n=e.row,a=e.column;return t==="ArrowLeft"?a--:t==="ArrowUp"?n--:t==="ArrowRight"?a++:t==="ArrowDown"&&n++,a<0&&(a=r-1,n--),a>r-1&&(a=0,n++),{column:a,row:n}},he={en:T.enGB,"en-US":T.enUS,"en-GB":T.enGB,"en-IE":T.enIE,"de-AT":T.deAT,"nl-BE":T.nlBE,"nl-NL":T.nl,"de-DE":T.de,"nb-NO":T.nb,"sv-SE":T.sv,"da-DK":T.da,"lv-LV":T.lv,"lt-LT":T.lt,"it-IT":T.it,"et-EE":T.et,"fi-FI":T.fi,"cs-CZ":T.cs,"es-ES":T.es,"fr-FR":T.fr,"pl-PL":T.pl,nl:T.nl,de:T.de,nb:T.nb,sv:T.sv,da:T.da,lv:T.lv,lt:T.lt,it:T.it,et:T.et,fi:T.fi,cs:T.cs,es:T.es,fr:T.fr,pl:T.pl},Qe="en-GB",dr="sv",Ze=(e,t,r)=>{if(he[e])return e;if(t){const n=jt(e);if(n)return n}return r},ue=e=>he[e],jt=e=>{const[t]=e.split("-"),r=Object.keys(he);for(const n of r)if(n.startsWith(t))return n},fr=()=>he.sv,Bt=e=>{const t=Object.keys(he);for(const r of t)if(he[r].code===e.code)return r},_r=({month:e,onClick:t,selected:r,localeCode:n,autoFocus:a,monthPickerId:s,position:i,size:c})=>{const d=l.useMemo(()=>ue(n)??ue("en-GB"),[n]),f=l.useMemo(()=>Te(u.format(e,"LLL",{locale:d})),[d,e]),_=l.useMemo(()=>u.format(e,"LLLL",{locale:d}),[d,e]),p=l.useRef(null),m=St(i,s),h=r?0:-1;l.useEffect(()=>{p.current?.focus()},[]);const y=l.useCallback(w=>{const D=cr(w.key,i,s,4);D&&document.getElementById(D)?.focus()},[s,i]);return o.jsx(g.Row,{justifyContent:"center",onKeyDown:y,children:r?o.jsx(C.PrimaryButton,{id:m,"aria-label":_,label:f,onClick:t,"aria-selected":!0,autoFocus:a,ref:p,size:c==="large"?"large":"medium",tabIndex:h}):o.jsx(C.FlatButton,{id:m,label:f,"aria-label":_,onClick:t,size:c==="large"?"large":"medium",tabIndex:h})})},gr=(e,t,r)=>{let n=e.getFullYear(),a=0,s=0,i=e;const c={yearOrder:[],rows:[],years:{},lastMonthColumn:-1,lastMonthRow:-1};for(let d=0;d<t;d++){if(c.years[n]==null&&(c.yearOrder.push(n),c.years[n]={year:n,rows:[]}),c.rows[a]=c.rows[a]??{columns:[],rowIndex:a},c.rows[a].columns[s]={position:{column:s,row:a},month:i},d===t-1){c.years[n].rows.push(a);break}i=u.addMonths(i,1),i.getFullYear()!==n?(c.years[n].rows.push(a),n++,s=0,a++):(s++,s>r-1&&(c.years[n].rows.push(a),s=0,a++))}return c.lastMonthColumn=s,c.lastMonthRow=a,c},pe=({value:e,onValueChange:t,firstMonth:r,localeCode:n,numMonths:a,onCancel:s,size:i="medium"})=>{const c=l.useId(),d=g.useToday(),f=a>0?a:12,[_,p]=l.useState(!1),m=gr(r,f,pr(i)),h=l.useMemo(()=>u.addMonths(r,f),[f,r]);l.useEffect(()=>{p(!0)},[]);const y=l.useCallback(w=>{w.key==="Escape"&&(s?.(),w.preventDefault(),w.stopPropagation())},[s]);return o.jsx(g.Column,{gap:1,maxWidth:hr(i),onKeyDown:y,children:m.yearOrder.map((w,D)=>{const{rows:k}=m.years[w];return o.jsxs(Ke.Fragment,{children:[(D!==0||w!==d.getFullYear())&&o.jsx(g.Heading,{variant:"h4",children:w}),o.jsx("table",{style:{borderSpacing:"0 8px"},children:o.jsx("tbody",{children:k.map(b=>{const{columns:x}=m.rows[b];return o.jsx("tr",{children:x.map(({month:v,position:S})=>o.jsx("td",{children:o.jsx(_r,{month:v,firstAvailableMonth:r,lastAvailableMonth:h,localeCode:n,selected:e?u.isSameMonth(e,v):!1,autoFocus:_,onClick:()=>t?.(v),monthPickerId:c,position:S,size:i})},v.getMonth()))},b)})})})]},w)})})},hr=e=>{switch(e){case"smaller":return"280px";case"small":return"308px";case"medium":return"336px";case"large":return"448px";default:return g.exhaustSwitchCase(e,"336px")}},pr=e=>{switch(e){case"smaller":case"small":return 3;case"medium":case"large":return 4;default:return g.exhaustSwitchCase(e,4)}},mr=e=>[{label:"Past",presets:[{label:"Last 3 days",startDate:e,endDate:u.subDays(e,2)},{label:"Last 7 days",startDate:e,endDate:u.subDays(e,6)},{label:"Last 30 days",startDate:e,endDate:u.subDays(e,29)},{label:"Last 45 days",startDate:e,endDate:u.subDays(e,44)}]},{label:"Future",presets:[{label:"Next 3 days",startDate:e,endDate:u.addDays(e,2)},{label:"Next 7 days",startDate:e,endDate:u.addDays(e,6)},{label:"Next 30 days",startDate:e,endDate:u.addDays(e,29)},{label:"Next 45 days",startDate:e,endDate:u.addDays(e,44)}]}],Mt=({onClickPreset:e})=>{const[t,r]=l.useState(0),n=l.useMemo(()=>mr(new Date),[]),a=n[t]??n[0];return o.jsxs(g.Column,{children:[o.jsxs(g.Row,{justifyContent:"space-between",alignItems:"center",width:"200px",children:[o.jsx(C.FlatButton,{size:"small",leftIcon:C.stenaAngleLeft,disabled:t===0,onClick:()=>r(t-1)}),o.jsx(g.Text,{children:a.label}),o.jsx(C.FlatButton,{size:"small",leftIcon:C.stenaAngleRight,disabled:t===n.length-1,onClick:()=>r(t+1)})]}),o.jsx(g.Space,{}),o.jsx(g.Column,{alignItems:"center",children:a.presets.map(s=>o.jsxs(Ke.Fragment,{children:[o.jsx(C.PrimaryButton,{label:s.label,onClick:()=>e(s)}),o.jsx(g.Space,{})]},s.label))})]})},br=function({locale:t,dateInFocus:r,setDateInFocus:n,currentPanel:a,setCurrentPanel:s,renderMonthPicker:i,firstMonthInMonthPicker:c,numMonthsInMonthPicker:d,...f}){const _=l.useMemo(()=>t==null?"en-GB":Bt(t)??"en-GB",[t]),p=g.useToday(),m=l.useCallback(y=>{n&&n(y),s("calendar")},[n,s]),h=l.useCallback(()=>{s("month")},[s]);switch(a){case"calendar":return o.jsx(Be,{...f,date:r,onClickMonth:h,locale:t});case"month":return i?i({value:r,onValueChange:m,locale:t,firstMonth:c??p,numMonths:d??24,dateInFocus:r}):o.jsx(pe,{value:r,onValueChange:m,localeCode:_,firstMonth:c??p,numMonths:d??24});case"presets":return o.jsx(Mt,{onClickPreset:()=>{}});default:return o.jsx(g.Box,{children:o.jsx(C.PrimaryButton,{label:"Show calendar",onClick:()=>s("calendar")})})}},yr=(e,t,r,n)=>{const a=l.useCallback(()=>{const d=u.addMonths(e,r??n??1);t?.(d)},[t,e,r,n]),s=l.useCallback(()=>{const d=u.addYears(e,1);t?.(d)},[t,e]),i=l.useCallback(()=>{const d=u.subMonths(e,r??n??1);t?.(d)},[t,e,r,n]),c=l.useCallback(()=>{const d=u.subYears(e,1);t?.(d)},[t,e]);return{nextMonth:a,prevMonth:i,nextYear:s,prevYear:c}},vr=({children:e,prevMonth:t,nextMonth:r,prevYear:n,nextYear:a})=>o.jsxs("div",{children:[e,o.jsx(g.Indent,{children:o.jsxs(g.Row,{gap:1,children:[o.jsx(C.SecondaryButton,{onClick:n,leftIcon:C.stenaAngleLeftDouble}),o.jsx(C.SecondaryButton,{onClick:t,leftIcon:C.stenaArrowLeft}),o.jsx(g.Indent,{num:2}),o.jsx(C.SecondaryButton,{onClick:r,leftIcon:C.stenaArrowRight}),o.jsx(C.SecondaryButton,{onClick:a,leftIcon:C.stenaAngleRightDouble})]})}),o.jsx(g.Space,{})]}),xr=()=>{};function de({monthSwitcherPlacement:e,theme:t=ie,dateInFocus:r,setDateInFocus:n,currentPanel:a,setCurrentPanel:s,onSelectPreset:i=xr,renderMonthPicker:c,firstMonthInMonthPicker:d,numMonthsInMonthPicker:f,..._}){const{nextMonth:p,prevMonth:m,nextYear:h,prevYear:y}=yr(r,n,_.monthsPerRow,_.numMonths);switch(wr(e,_.numMonths)){case"below":return o.jsx(vr,{theme:t,nextMonth:p,prevMonth:m,nextYear:h,prevYear:y,children:o.jsx(Be,{..._,theme:t,date:r})});case"header":return o.jsx(g.Column,{children:o.jsx(br,{..._,theme:t,renderMonthPicker:c,dateInFocus:r,setDateInFocus:n,currentPanel:a,setCurrentPanel:s,onSelectPreset:i,firstMonthInMonthPicker:d,numMonthsInMonthPicker:f,headerRightContent:o.jsxs(g.Row,{alignItems:"center",gap:1,children:[o.jsx(C.SecondaryButton,{onClick:m,leftIcon:C.stenaArrowLeft}),o.jsx(C.SecondaryButton,{onClick:p,leftIcon:C.stenaArrowRight})]})})});default:return o.jsx(Be,{..._,theme:t,date:r})}}const wr=(e,t)=>e||(t||1)>1?"below":"header",Rt=e=>({startDate:e.startDate?u.format(e.startDate,"yyyy-MM-dd"):void 0,endDate:e.endDate?u.format(e.endDate,"yyyy-MM-dd"):void 0}),It=({startDate:e,endDate:t})=>{const r=new Date;return{startDate:e?u.parse(e,"yyyy-MM-dd",r):void 0,endDate:t?u.parse(t,"yyyy-MM-dd",r):void 0}},Xe=({startDate:e,endDate:t})=>!!(e&&t&&!u.isSameDay(e,t)&&u.isAfter(e,t)),et=e=>Xe(e)?{startDate:e.endDate,endDate:e.startDate}:e,Dr=e=>e.startDate&&e.endDate?Rt(et(It(e))):e,kr=(e,t,r,n)=>l.useCallback(a=>{const s={startDate:r==="startDate"?a.date:e?.startDate,endDate:r==="endDate"?a.date:e?.endDate};Xe(s)||n(r==="startDate"?"endDate":"startDate"),t?.(et(s))},[r,t,n,e?.endDate,e?.startDate]),Ne=e=>{const[t,r]=l.useState("calendar"),n=l.useCallback(a=>{r(a),e?.(a)},[e]);return{currentPanel:t,setCurrentPanel:n}},Tt=({focusedInput:e,value:t,onValueChange:r,setFocusedInput:n,statePerMonth:a,onChangePanel:s,initialDateInFocus:i})=>{const{currentPanel:c,setCurrentPanel:d}=Ne(s),[f,_]=l.useState(()=>i??new Date),p=kr(t,r,e,n),m=l.useMemo(()=>ge(a,t?.startDate,t?.endDate),[a,t?.endDate,t?.startDate]);return{onClickDay:p,statePerMonth:m,currentPanel:c,setCurrentPanel:d,setDateInFocus:_,dateInFocus:f}};function Cr(e){const t=Tt(e);return o.jsx(de,{...e,...t})}const Sr=()=>{const[e,t]=l.useState(),[r,n]=l.useState(),[a,s]=l.useState("startDate");return{startDate:e,setStartDate:t,endDate:r,setEndDate:n,focusedInput:a,setFocusedInput:s}},Lt=({onChange:e,value:t,statePerMonth:r,onChangePanel:n})=>{const{currentPanel:a,setCurrentPanel:s}=Ne(n),[i,c]=l.useState(()=>t??new Date),d=l.useCallback(_=>{e&&e(_.date)},[e]),f=l.useMemo(()=>t?ne(r,t,["selected","singleSelected"]):r,[r,t]);return{onClickDay:d,statePerMonth:f,date:t,currentPanel:a,setCurrentPanel:s,dateInFocus:i,setDateInFocus:c}};function tt(e){const t=Lt(e);return o.jsx(de,{...e,...t})}const Nt=({onChange:e,value:t,statePerMonth:r,onChangePanel:n,initialDateInFocus:a})=>{const{currentPanel:s,setCurrentPanel:i}=Ne(n),[c,d]=l.useState(a??new Date),f=l.useCallback(p=>{if(!e)return;const m=t&&t.find(h=>u.isSameDay(h,p.date));e(t&&m?t.filter(h=>!u.isSameDay(h,p.date)):[...t||[],p.date])},[e,t]),_=l.useMemo(()=>t?t.reduce((p,m)=>ne(p,m,["selected"]),r):r,[r,t]);return{onClickDay:f,statePerMonth:_,currentPanel:s,setCurrentPanel:i,dateInFocus:c,setDateInFocus:d}};function jr(e){const t=Nt(e);return o.jsx(de,{...e,...t})}const Et=({onChange:e,value:t,statePerMonth:r,onChangePanel:n,locale:a=T.enGB})=>{const[s,i]=l.useState(()=>{const h=We(t,a);return h?h.days[0].date:new Date}),{currentPanel:c,setCurrentPanel:d}=Ne(n),f=l.useCallback(h=>{e&&e(st(Le(h.date,a)))},[a,e]),_=l.useCallback(h=>{e&&e(st(h))},[e]),p=l.useMemo(()=>{const h=We(t,a);return h?gt(r,h):r},[t,a,r]),m=l.useMemo(()=>{const h=We(t,a);return h?h.days[0].date:new Date},[a,t]);return{statePerMonth:p,date:m,dateInFocus:s,setDateInFocus:i,onClickDay:f,onClickWeek:_,currentPanel:c,setCurrentPanel:d}},st=e=>{if(e)return`${e.endYear}-${e.weekNumber}`},We=(e,t)=>{if(!e)return;const r=e.split("-"),n=parseInt(r[1],10),a=parseInt(r[0],10),s=new Date;s.setFullYear(a);const i=u.startOfWeek(u.setWeek(s,n),{locale:t});return Le(i,t)};function Br(e){const t=Et(e);return o.jsx(de,{...e,...t})}const xe="bottom",Mr=(e,t,r)=>{const[n,a]=l.useState(r||!1),s=l.useCallback(()=>(a(!0),!0),[a]),i=l.useCallback(()=>{a(!1),t&&t()},[a,t]),c=l.useCallback(d=>{e&&e(d),setTimeout(i,150)},[e,i]);return{showCalendar:s,hideCalendar:i,showingCalendar:n,onSelectDate:c}},we="2999-12-31",Rr=({displayFormat:e=ae.fullDate,placeholder:t="Enter date",value:r,calendarTheme:n=ie,calendarProps:a,openOnMount:s,onClose:i,onChange:c,variant:d,width:f,minDate:_,maxDate:p=we,disabled:m,portalTarget:h,zIndex:y})=>{const{hideCalendar:w,showingCalendar:D,onSelectDate:k,showCalendar:b}=Mr(c,i,s);return o.jsx(g.Box,{width:f,children:o.jsx(ye.ControlledPopover,{hideArrow:!0,open:D,onRequestClose:w,appendTo:h,zIndex:y,renderTrigger:x=>o.jsx(g.Box,{...x,children:o.jsx(ee.TextInput,{type:"date",onFocus:b,buttonRight:o.jsx(C.TextInputButton,{onClick:b,icon:C.stenaCalendar}),value:r?u.format(r,e):"",placeholder:t,size:9,disabled:m,autoFocus:s,variant:d,min:_,max:p})}),placement:xe,children:o.jsx(tt,{...a,onChange:k,value:r,theme:n,minDate:_,maxDate:p})})})},Ir=(e,t)=>{const r=l.useRef(null),n=l.useRef(null),[a,s]=l.useState(!1),[i,c]=l.useState(void 0),d=l.useCallback(()=>(c("startDate"),s(!0),!0),[c,s]),f=l.useCallback(()=>(c("endDate"),s(!0),!0),[c,s]),_=l.useCallback(()=>{s(!1)},[s]),p=l.useCallback(h=>{i==="startDate"?(t?.({startDate:h.date,endDate:e?.endDate}),e?.endDate?setTimeout(_,150):(c("endDate"),n.current?.focus())):i==="endDate"&&(t?.({startDate:e?.startDate,endDate:h.date}),e?.startDate?setTimeout(_,150):(c("startDate"),r.current?.focus()))},[i,t,c,_,e]),m=l.useMemo(()=>e?.startDate&&e?.endDate&&u.isAfter(e.startDate,e.endDate),[e?.startDate,e?.endDate]);return{showingCalendar:a,hideCalendar:_,showCalendarEndDate:f,showCalendarStartDate:d,focusedInput:i,setFocusedInput:c,startDateInputRef:r,endDateInputRef:n,onClickDay:p,startDateIsAfterEnd:m}};function Tr({displayFormat:e=ae.fullDate,placeholderStartDate:t="Start date",placeholderEndDate:r="End date",value:n,onValueChange:a,width:s,calendarTheme:i=ie,calendarProps:c,minDate:d,maxDate:f=we,disabled:_,portalTarget:p,zIndex:m}){const[h,y]=l.useState("calendar"),{hideCalendar:w,showCalendarEndDate:D,showCalendarStartDate:k,showingCalendar:b,focusedInput:x,startDateInputRef:v,endDateInputRef:S,onClickDay:j,startDateIsAfterEnd:B}=Ir(n,a),[L,M]=l.useState(()=>(x&&n?.[x])??new Date),I=l.useMemo(()=>ge(void 0,n?.startDate,n?.endDate),[n]);return o.jsx(ye.ControlledPopover,{hideArrow:!0,appendTo:p,zIndex:m,renderTrigger:E=>o.jsxs(g.Row,{alignItems:"center",...E,children:[o.jsx(ee.TextInput,{iconLeft:C.stenaCalendar,onFocus:k,value:n?.startDate?u.format(n.startDate,e):"",placeholder:t,width:s,disabled:_,inputRef:v,size:9,variant:B?"error":void 0}),o.jsx(g.Space,{}),o.jsx(C.Icon,{icon:C.stenaArrowWideRight,color:qe.cssColor("--lhds-color-ui-500"),size:14}),o.jsx(g.Space,{}),o.jsx(ee.TextInput,{iconLeft:C.stenaCalendar,onFocus:D,value:n?.endDate?u.format(n.endDate,e):"",placeholder:r,width:s,disabled:_,inputRef:S,size:9,variant:B?"error":void 0})]}),open:b,placement:xe,onRequestClose:w,children:o.jsx(de,{...c,dateInFocus:L,setDateInFocus:M,statePerMonth:I,theme:i,onClickDay:j,currentPanel:h,setCurrentPanel:y,minDate:d,maxDate:f})})}const Lr=({calendarProps:e,closeOnCalendarSelectDate:t=!0,dateFormat:r=ae.fullDate,disableCalender:n=!1,onValueChange:a,placeholder:s="yyyy-mm-dd",value:i,width:c="130px",calendarTheme:d=ie,hideCalenderIcon:f=!1,minDate:_,maxDate:p=we,variant:m,portalTarget:h,zIndex:y,...w})=>{const[D,k]=l.useState(!1),b=l.useCallback(()=>{k(!D)},[k,D]),x=l.useCallback(()=>{k(!1)},[k]),v=l.useCallback(I=>{a&&a(I)},[a]),S=l.useCallback(I=>{I&&(v(u.format(I,r)),t&&setTimeout(()=>k(!D),200))},[v,r,t,k,D]),j=!!i&&!/^[-/\\.0-9]+$/.test(i),B=!!i&&u.isValid(u.parse(i,r,new Date)),M=!!i&&i.length>=r.length&&!B||j;return o.jsx(g.Box,{width:c,children:o.jsx(ye.ControlledPopover,{appendTo:h,zIndex:y,renderTrigger:({ref:I,...E})=>o.jsx(ee.TextInput,{...w,variant:M?"error":m,disableContentPaddingRight:!0,contentRight:f?void 0:o.jsx(g.Row,{alignItems:"center",indent:.5,children:o.jsx(C.FlatButton,{size:"small",disabled:w.disabled||n,leftIcon:C.stenaCalendar,onClick:b})}),onValueChange:v,placeholder:s,value:i||"",min:_,max:p,size:10,inputRef:I,...E}),hideArrow:!0,open:D,placement:xe,onRequestClose:x,children:o.jsx(tt,{...e,onChange:S,value:i&&B?u.parse(i,r,new Date):void 0,minDate:_,maxDate:p,theme:d})})})},Me=e=>{if(e==="")return"00";const t=parseInt(e,10);if(isNaN(t))throw new Error("Hours is not a number");if(t<0||t>23)throw new Error("Hours is an invalid number");switch(e.length){case 1:return`0${t}`;case 2:return e;default:throw new Error("Invalid hour string")}},Re=e=>{if(e==="")return"00";const t=parseInt(e,10);if(isNaN(t))throw new Error("Minutes is not a number");if(t<0||t>59)throw new Error("Minutes is an invalid number");switch(e.length){case 1:return`0${t}`;case 2:return e;default:throw new Error("Invalid minute string")}},Nr=e=>{if(!ze(e))return{time:e,success:!1};const t=e&&e.split(/-|:|,|;|[/]|[.]| /);if(t&&t.length===2)try{const r=Me(t[0]),n=Re(t[1]);return{time:`${r}:${n}`,success:!0}}catch{return{time:e,success:!1}}else if(t&&t.length===1){let r=0,n=0;switch(e.length){case 1:return{time:`0${e}:00`,success:!0};case 2:{const a=parseInt(t[0],10);return a>=0&&a<24?{time:`${e}:00`,success:!0}:a>=24&&a<59?{time:`00:${e}`,success:!0}:{time:e,success:!1}}case 3:return n=parseInt(e.substring(1,3),10),n>=0&&n<=59?{time:`0${e.substring(0,1)}:${e.substring(1,3)}`,success:!0}:{time:e,success:!1};case 4:return r=parseInt(e.substring(0,2),10),n=parseInt(e.substring(2,4),10),r<0||r>23?{time:e,success:!1}:n<0||n>59?{time:e,success:!1}:{time:`${e.substring(0,2)}:${e.substring(2,4)}`,success:!0};default:return{time:e,success:!1}}}return{time:e,success:!1}},ze=e=>e?/^[-:.,/; 0-9]+$/.test(e):!0,Er=({onValueChange:e,showPlaceholder:t=!0,useIcon:r=!0,value:n,width:a="85px",variant:s,...i})=>{const[c,d]=l.useState(()=>ze(n)),f="hh:mm",_=l.useCallback(()=>{if(n){const m=Nr(n);d(m.success),m.success&&e&&e(m.time)}},[n,e,d]),p=l.useCallback(m=>{const h=m.target.value,y=ze(h);d(y&&h.length<=f.length),e&&e(h)},[e,d]);return o.jsx(ee.TextInput,{...i,type:"time",variant:c?s:"error",iconLeft:r?C.stenaClock:void 0,value:n,placeholder:t?f:void 0,onChange:p,onBlur:_,width:a})},Ft=({autoFocusLeft:e,autoFocusRight:t,onEsc:r,onEnter:n,onValueChangeLeft:a,onValueChangeRight:s,separatorIcon:i,placeholderLeft:c,placeholderRight:d,typeLeft:f,typeRight:_,onChangeLeft:p,onChangeRight:m,valueLeft:h,valueRight:y,minLeft:w,maxLeft:D,minRight:k,maxRight:b,onClickLeft:x,onClickRight:v,onClickCalendar:S,onClickArrowDown:j,onBlurLeft:B,onBlurRight:L,onFocusLeft:M,onFocusRight:I,inputRefLeft:E,inputRefRight:P,variant:N,variantLeft:F,variantRight:z,onBlur:$,showPresets:R,widthLeft:U,widthRight:O,disabled:Y})=>{const W=l.useRef(0),A=l.useMemo(()=>le.debounce(H=>{H===0&&$?.()},10),[$]),V=l.useCallback(H=>{W.current++,A(W.current),M&&M(H)},[M,W,A]),G=l.useCallback(H=>{W.current++,A(W.current),I&&I(H)},[I,W,A]),Q=l.useCallback(H=>{W.current--,A(W.current),B&&B(H)},[B,W,A]),se=l.useCallback(H=>{W.current--,A(W.current),L&&L(H)},[L,W,A]);return o.jsx(g.Box,{children:o.jsxs(ee.TextInputBox,{disableContentPaddingRight:!0,disabled:Y,variant:N,contentRight:o.jsxs(g.Row,{alignItems:"center",children:[o.jsx(g.Indent,{num:.5,children:o.jsx(C.FlatButton,{leftIcon:C.stenaCalendar,onClick:S,disabled:Y,size:"small"})}),R?o.jsxs(o.Fragment,{children:[o.jsx(g.Row,{height:"22px",children:o.jsx(g.SeparatorLine,{vertical:!0})}),o.jsx(g.Indent,{num:.5,children:o.jsx(C.FlatButton,{leftIcon:C.stenaAngleDown,onClick:j,disabled:Y,size:"small"})})]}):null]}),children:[o.jsx(g.Box,{width:U,children:o.jsx(ee.TextInput,{onEsc:r,onEnter:n,onClick:x,disabled:Y,hideBorder:!0,placeholder:c,value:h,onValueChange:a,onChange:p,onBlur:Q,onFocus:V,inputRef:E,variant:F,type:f,autoFocus:e,min:w,max:D})}),o.jsx(g.Row,{indent:.5,alignItems:"center",justifyContent:"center",children:o.jsx(C.Icon,{icon:i,size:12,color:qe.cssColor("--lhds-color-ui-500")})}),o.jsx(g.Box,{width:O,children:o.jsx(ee.TextInput,{onEsc:r,onEnter:n,onClick:v,disabled:Y,hideBorder:!0,placeholder:d,value:y,onValueChange:s,onChange:m,onBlur:se,onFocus:G,inputRef:P,variant:z,type:_,autoFocus:t,min:k,max:b})})]})})},Fr=e=>{if(e==null)throw new Error("Time is not set.");if(e==="")throw new Error("Time is empty.");const t=e.split(":");if(t.length!==2)throw new Error("Invalid time.");if(t[1].length!==2)throw new Error("Invalid time.");if(t[0].length<1||t[0].length>2)throw new Error("Invalid time.");const r=parseInt(t[0],10),n=parseInt(t[1],10);if(isNaN(r))throw new Error("Invalid time.");if(isNaN(n))throw new Error("Invalid time.");if(r<0||r>23)throw new Error("Invalid time.");if(n<0||n>59)throw new Error("Invalid time.");return r*100+n},Ar=e=>{try{return Fr(e),!0}catch{return!1}},je=e=>{if(e&&Ar(e)){const t=e.split(":");return{hour:g.parseIntElseUndefined(t[0]),minute:g.parseIntElseUndefined(t[1])}}return{hour:void 0,minute:void 0}},Pr=e=>`${Me(String(e.getHours()))}:${Re(String(e.getMinutes()))}`,Wr="_timePicker_1w05d_1",Hr="_timePickerColumn_1w05d_6",At={timePicker:Wr,timePickerColumn:Hr},Or=({onClick:e,item:t,selected:r,columnRef:n,canScrollRef:a})=>{const s=l.useRef(null);return l.useEffect(function(){if(r&&n.current&&s.current&&a.current){const c=s.current.scrollHeight*Math.max(t-2,0);n.current.scrollTo(0,c),a.current=!1}},[n,t,r,a]),o.jsx(g.Row,{width:"64px",justifyContent:"center",spacing:.5,indent:.5,ref:s,children:r?o.jsx(C.PrimaryButton,{label:le.padStart(String(t),2,"0"),onClick:()=>e&&e(t)}):o.jsx(C.FlatButton,{label:String(t).padStart(2,"0"),onClick:()=>e&&e(t)})})},ot=({onClick:e,items:t,selectedItem:r,canScrollRef:n})=>{const a=l.useRef(null);return o.jsx(g.Column,{className:At.timePickerColumn,ref:a,children:t.map(s=>o.jsx(Or,{item:s,onClick:e,selected:s===r,columnRef:a,canScrollRef:n},s))})},Yr=le.range(0,24),Ur=le.range(0,60),zr=({value:e,onValueChange:t})=>{const r=l.useRef(!0),[n,a]=l.useState(void 0),[s,i]=l.useState(void 0);l.useEffect(()=>{if(e){const{minute:f,hour:_}=je(e);a(_),i(f)}},[e]);const c=l.useCallback(f=>{a(f),t?.(`${Me(String(f??0))}:${Re(String(s??0))}`)},[s,t]),d=l.useCallback(f=>{i(f),t?.(`${Me(String(n??0))}:${Re(String(f??0))}`)},[n,t]);return o.jsxs(g.Row,{className:At.timePicker,children:[o.jsx(ot,{items:Yr,onClick:c,selectedItem:n,canScrollRef:r}),o.jsx(g.Indent,{}),o.jsx(ot,{items:Ur,onClick:d,selectedItem:s,canScrollRef:r})]})},$r=(e,t,r)=>{l.useEffect(function(){e&&t(e)},[e,t]),l.useEffect(function(){r.current&&(e?r.current.valueAsDate=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())):r.current.valueAsDate=null)},[e,r])},Vr=(e,t,{setDateInFocus:r,showCalendarInternal:n,hideCalendarInternal:a,setFirstFocusedInput:s,setCurrentPanel:i,localTime:c,setLocalTime:d,localDate:f,setLocalDate:_},p)=>{const m=l.useCallback(b=>{if(!b)return;const x=new Date(b);if(e)x.setHours(e.getHours()),x.setMinutes(e.getMinutes()),t?.(x),_(void 0);else if(c){const{minute:v,hour:S}=je(c);x.setHours(S??0),x.setMinutes(v??0),t?.(x),_(void 0)}else _(x);r(x),p.current&&(p.current.valueAsDate=new Date(Date.UTC(x.getFullYear(),x.getMonth(),x.getDate())))},[e,p,c,t,r,_]),h=l.useCallback(b=>{if(b)if(e){const x=je(b),v=new Date(e);v.setHours(x.hour||0),v.setMinutes(x.minute||0),t?.(v),d(void 0)}else if(f){const x=je(b),v=new Date(f);v.setHours(x.hour||0),v.setMinutes(x.minute||0),t?.(v),d(void 0)}else d(b)},[t,e,f,d]),y=l.useCallback(b=>{b.target.value[0]!=="0"&&m(b.target.valueAsDate)},[m]),w=l.useCallback(b=>h(b.target.value),[h]),D=l.useCallback(()=>{r(e||new Date),i("calendar"),n()},[e,i,n,r]),k=l.useCallback(()=>{s(void 0),a()},[s,a]);return{inputLeftChangeHandler:y,inputRightChangeHandler:w,hideCalendar:k,showCalendar:D,onChangeTime:h,onChangeDate:m}},qr=e=>{const[t,r]=l.useState(void 0),[n,a]=l.useState(void 0),[s,i,c]=g.useBoolean(!1),[d,f,_]=g.useBoolean(!1),[p,m]=l.useState(void 0),[h,y]=l.useState(()=>e??new Date),[w,D]=l.useState("calendar");return{isCalendarVisible:s,showCalendarInternal:i,hideCalendarInternal:c,firstFocusedInput:p,setFirstFocusedInput:m,dateInFocus:h,setDateInFocus:y,currentPanel:w,setCurrentPanel:D,isTimePickerVisible:d,showTimePicker:f,hideTimePicker:_,localDate:t,setLocalDate:r,localTime:n,setLocalTime:a}},Kr=(e,t,r,n,{isCalendarVisible:a,setCurrentPanel:s,showTimePicker:i,hideTimePicker:c})=>{const d=l.useCallback(()=>{a||r(),s("calendar"),c()},[c,a,s,r]),f=l.useCallback(()=>{n(),i()},[n,i]),_=l.useCallback(y=>{e(y.date),n(),i()},[e,n,i]),p=l.useCallback(()=>{s("presets"),r()},[s,r]),m=l.useCallback(()=>{a?n():(t.current?.focus(),s("calendar"),r())},[a,n,t,s,r]),h=l.useCallback(y=>{y.key==="Escape"&&n()},[n]);return{onFocusLeft:d,onFocusRight:f,onClickDay:_,onClickArrowButton:p,onClickCalendarButton:m,onKeyDownHandler:h}},Gr=({value:e,onValueChange:t,onEnter:r,onEsc:n,onBlur:a,autoFocus:s,minDate:i,widthLeft:c=128,widthRight:d=80,maxDate:f=we,variant:_,disabled:p,zIndex:m,appendTo:h})=>{const y=l.useRef(null),w=l.useRef(null),D=qr(e),{setCurrentPanel:k,currentPanel:b,isCalendarVisible:x,dateInFocus:v,setDateInFocus:S,isTimePickerVisible:j,hideTimePicker:B,localTime:L,localDate:M}=D,{showCalendar:I,hideCalendar:E,inputLeftChangeHandler:P,inputRightChangeHandler:N,onChangeTime:F,onChangeDate:z}=Vr(e,t,D,y),{onKeyDownHandler:$,onFocusRight:R,onFocusLeft:U,onClickDay:O,onClickCalendarButton:Y,onClickArrowButton:W}=Kr(z,y,I,E,D);$r(e,S,y);const A=l.useMemo(()=>{const H=e||M;return H?ne(void 0,H,["singleSelected","selected"]):{}},[M,e]),V=l.useCallback(()=>{E(),B()},[E,B]),G=l.useMemo(()=>e?Pr(e):L,[e,L]),Q=g.useDelayedFalse(x,300),se=g.useDelayedFalse(j,300);return o.jsx(g.Box,{onKeyDown:$,children:o.jsx(ye.ControlledPopover,{hideArrow:!0,zIndex:m,appendTo:h,renderTrigger:H=>o.jsx(g.Box,{...H,children:o.jsx(Ft,{autoFocusLeft:s,onEsc:n,onEnter:r,onBlur:a,disabled:p,separatorIcon:C.stenaClock,typeLeft:"date",typeRight:"time",placeholderLeft:"yyyy-mm-dd",placeholderRight:"hh:mm",onChangeLeft:P,onChangeRight:N,onClickArrowDown:W,onClickCalendar:Y,onFocusLeft:U,onFocusRight:R,onClickLeft:U,onClickRight:R,inputRefLeft:y,inputRefRight:w,valueRight:G??"",widthLeft:c,widthRight:d,minLeft:i,maxLeft:f,variant:_})}),placement:xe,open:x||j,onRequestClose:V,children:(Q||se)&&o.jsx(g.Column,{children:Q?o.jsx(de,{statePerMonth:A,onClickDay:O,dateInFocus:v,setDateInFocus:S,currentPanel:b,setCurrentPanel:k,minDate:i,maxDate:f}):se?o.jsxs(g.Column,{children:[o.jsx(g.Column,{overflow:"hidden",height:"250px",children:o.jsx(zr,{value:G??"",onValueChange:F})}),o.jsx(g.Space,{}),o.jsx(g.Row,{justifyContent:"flex-end",children:o.jsx(C.PrimaryButton,{label:"Done",onClick:B})})]}):null})})})},Jr=({value:e,onValueChange:t,year:r})=>{const n=String(r);return o.jsx(g.Row,{justifyContent:"center",children:e===r?o.jsx(C.PrimaryButton,{label:n,onClick:()=>t?.(r)}):o.jsx(C.FlatButton,{label:n,onClick:()=>t?.(r)})})},Qr=({value:e,onValueChange:t,initialLastYear:r})=>{const[n,a]=l.useState(()=>e?e+4:r??new Date().getFullYear()+4),s=l.useMemo(()=>{const i=n-11;return le.chunk(le.range(i,n+1),3)},[n]);return l.useEffect(()=>{a(i=>Zr(e,i))},[e]),o.jsxs(g.Row,{children:[o.jsx(g.Column,{justifyContent:"center",children:o.jsx(C.FlatButton,{leftIcon:C.stenaArrowLeft,onClick:()=>a(n-3)})}),o.jsx(g.Column,{gap:1,children:s.map(i=>o.jsx(g.Row,{gap:1,children:i.map(c=>o.jsx(Jr,{year:c,onValueChange:t,value:e},c))},i[0]))}),o.jsx(g.Column,{justifyContent:"center",children:o.jsx(C.FlatButton,{leftIcon:C.stenaArrowRight,onClick:()=>a(n+3)})})]})},Zr=(e,t)=>{if(e==null)return t;if(e>t){const n=e-t,a=n%3,s=n-a+3;return t+s}const r=t-11;if(e<r){const n=r-e,a=n%3,s=n-a+3;return t-s}return t},Xr=(e,t,r,n,a)=>{l.useEffect(function(){e&&r(e)},[e,r]),l.useEffect(function(){t&&r(t)},[t,r]),l.useEffect(function(){n.current&&(e?n.current.valueAsDate=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())):n.current.valueAsDate=null)},[e,n]),l.useEffect(function(){a.current&&(t?a.current.valueAsDate=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())):a.current.valueAsDate=null)},[t,a])},en=(e,t,r,{setDateInFocus:n,showCalendarInternal:a,hideCalendarInternal:s,setFirstFocusedInput:i,setCurrentPanel:c})=>{const d=l.useCallback(m=>{m.target.value[0]!=="0"&&r?.({startDate:m.target.valueAsDate??void 0,endDate:t})},[r,t]),f=l.useCallback(m=>{m.target.value[0]!=="0"&&r?.({startDate:e,endDate:m.target.valueAsDate??void 0})},[r,e]),_=l.useCallback(m=>{m!=null?n(m):n(e||t||new Date),c("calendar"),a()},[e,t,c,a,n]),p=l.useCallback(()=>{i(void 0),s()},[i,s]);return{inputLeftChangeHandler:d,inputRightChangeHandler:f,hideCalendar:p,setDateInFocus:n,setCurrentPanel:c,showCalendar:_}},tn=(e,t)=>{const[r,n,a]=g.useBoolean(!1),[s,i]=l.useState(void 0),[c,d]=l.useState("startDate"),[f,_]=l.useState(()=>(c==="startDate"?e:c==="endDate"?t:void 0)??new Date),[p,m]=l.useState("calendar");return{isCalendarVisible:r,showCalendarInternal:n,hideCalendarInternal:a,firstFocusedInput:s,setFirstFocusedInput:i,focusedInput:c,setFocusedInput:d,dateInFocus:f,setDateInFocus:_,currentPanel:p,setCurrentPanel:m}},rn=(e,t,r,n,a,s,i,{firstFocusedInput:c,setFirstFocusedInput:d,isCalendarVisible:f,setFocusedInput:_,focusedInput:p,setCurrentPanel:m,setDateInFocus:h})=>{const y=l.useCallback(()=>{c==null&&d("startDate"),_("startDate"),f?e!=null&&h(e):s(e)},[c,_,f,e,d,s,h]),w=l.useCallback(()=>{c==null&&d("endDate"),_("endDate"),f?t!=null&&h(t):s(t)},[c,_,f,t,d,s,h]),D=l.useCallback(v=>{p==="startDate"?t!=null&&u.isAfter(v.date,t)?(r?.({startDate:v.date,endDate:void 0}),_("endDate"),a.current?.focus()):(r?.({startDate:v.date,endDate:t}),c==="startDate"?(_("endDate"),a.current?.focus()):setTimeout(i,50)):p==="endDate"&&(e?u.isAfter(e,v.date)?(r?.({startDate:v.date,endDate:void 0}),_("endDate"),a.current?.focus()):(r?.({startDate:e,endDate:v.date}),setTimeout(i,50)):(r?.({startDate:e,endDate:v.date}),_("startDate"),n.current?.focus()))},[p,r,t,c,_,a,i,e,n]),k=l.useCallback(()=>{m("presets"),s()},[m,s]),b=l.useCallback(()=>{f?i():(_("startDate"),d("startDate"),n.current?.focus(),m("calendar"),s())},[f,i,_,d,n,m,s]),x=l.useCallback(v=>{v.key==="Escape"&&i()},[i]);return{onFocusLeft:y,onFocusRight:w,onClickDay:D,onClickArrowButton:k,onClickCalendarButton:b,onKeyDownHandler:x}};function nn({value:e,onValueChange:t,autoFocus:r,onBlur:n,onEnter:a,onEsc:s,minDate:i,maxDate:c=we,calendarProps:d,widthLeft:f=128,widthRight:_=128,firstMonthInMonthPicker:p,numMonthsInMonthPicker:m,variant:h,disabled:y,zIndex:w,appendTo:D,renderBelowCalendar:k}){const{startDate:b,endDate:x}=e||{},v=l.useRef(null),S=l.useRef(null),j=tn(b,x),{dateInFocus:B,setDateInFocus:L,isCalendarVisible:M,currentPanel:I,setCurrentPanel:E}=j,{showCalendar:P,hideCalendar:N,inputLeftChangeHandler:F,inputRightChangeHandler:z}=en(b,x,t,j),{onKeyDownHandler:$,onFocusRight:R,onFocusLeft:U,onClickDay:O,onClickCalendarButton:Y,onClickArrowButton:W}=rn(b,x,t,v,S,P,N,j);Xr(b,x,L,v,S);const A=l.useMemo(()=>b&&x&&u.isAfter(b,x),[b,x]),V=l.useMemo(()=>ft(d?.statePerMonth,b,x,B),[d?.statePerMonth,b,x,B]);return o.jsx(g.Box,{onKeyDown:$,children:o.jsx(ye.ControlledPopover,{hideArrow:!0,restoreFocus:!1,returnFocus:!1,zIndex:w,appendTo:D,renderTrigger:G=>o.jsx(g.Box,{...G,children:o.jsx(Ft,{autoFocusLeft:r,onEsc:s,onEnter:a,onBlur:n,disabled:y,separatorIcon:C.stenaArrowRight,typeLeft:"date",typeRight:"date",placeholderLeft:"Start date",placeholderRight:"End date",onChangeLeft:F,onChangeRight:z,onClickArrowDown:W,onClickCalendar:Y,onFocusLeft:U,onFocusRight:R,onClickLeft:U,onClickRight:R,inputRefLeft:v,inputRefRight:S,variant:A?"error":h,widthLeft:f,widthRight:_,minLeft:i,maxLeft:c,minRight:i,maxRight:c})}),placement:xe,onRequestClose:N,open:M,children:o.jsxs(g.Column,{children:[o.jsx(de,{onClickDay:O,dateInFocus:B,firstMonthInMonthPicker:p,numMonthsInMonthPicker:m,setDateInFocus:L,currentPanel:I,setCurrentPanel:E,minDate:i,maxDate:c,...d,statePerMonth:V}),I==="calendar"&&k]})})})}const $e=({onChange:e,onValueChange:t,readOnly:r,mask:n,ref:a,pipe:s,value:i,guide:c,keepCharPositions:d,placeholderChar:f,showMask:_,calendarSize:p,onFocus:m,onBlur:h,placeholderWhenBlurred:y,placeholder:w,valueWhenBlurred:D,label:k,variant:b,autoFocus:x,...v})=>{const S=l.useRef(null),[j,B]=l.useState(!1),L=a??S,{onChange:M}=qt.useMaskedInput(L,e,t,n,s,i,c,d,f,_,j),I=l.useCallback(N=>{m?.(N),B(!0)},[m]),E=l.useCallback(N=>{h?.(N),B(!1)},[h]),P=j?w:y??w;return b==="standard"?o.jsx(C.Label,{text:k??"",children:o.jsx(ee.TextInput,{...v,autoFocus:x,readOnly:r,inputMode:"numeric","aria-live":"polite",value:(j?i:D)??"",inputRef:L,placeholder:P,onFocus:I,onBlur:E,onChange:M,width:lt(p),alwaysShowPlaceholder:!0})}):o.jsx(ee.LabelledTextInput,{...v,autoFocus:x,readOnly:r,inputMode:"numeric",label:k,"aria-live":"polite",value:(j?i:D)??"",ref:L,placeholder:P,onFocus:I,onBlur:E,onChange:M,width:lt(p),size:p==="large"?"large":"medium"})},lt=e=>{switch(e){case"smaller":return"140px";case"small":return"154px";case"medium":return"168px";case"large":return"196px";default:return g.exhaustSwitchCase(e,"168px")}},an=[/[1-2]/,/\d/,/\d/,/\d/],sn=[/[0-1]/,/\d/],on=[/[0-3]/,/\d/],Pt=e=>cn(e).flatMap(ln),ln=e=>{switch(e){case"yyyy":return an;case"mm":case"MM":return sn;case"dd":case"DD":return on;default:return[e]}},cn=e=>{if(e.length===0)return[];const t=[];let r=e[0];for(let n=1;n<e.length;n++)e[n]!==e[n-1]?(t.push(r),r=e[n]):r+=e[n];return t.push(r),t},fe=e=>{const r=new Intl.DateTimeFormat(e,{dateStyle:"short"}).formatToParts(new Date),n={year:"yyyy",month:"MM",day:"dd"};return r.map(a=>n[a.type]||a.value).join("")},Z=(e,t,r)=>{const n=Ze(t,r?.matchLanguage??!1,r?.fallbackLocaleCode??Qe),a=ue(n);if(a==null)return;const s=u.parse(e,fe(n),r?.referenceDate??new Date,{locale:a});if(!isNaN(s.getTime()))return s},oe=(e,t,r)=>{const n=Ze(t,r?.matchLanguage??!1,r?.fallbackLocaleCode??Qe);return u.format(e,fe(n),{locale:ue(n)})},Ie=(e,t)=>{const r=Z(e,t);if(r!=null)return oe(r,t)};(function(){try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._navBar_kzibd_1{--swui-navbar-background-color: var(--lhds-color-ui-50);--swui-navbar-item-background-color-hover: var(--lhds-color-blue-700);--swui-navbar-item-background-color-selected: var(--lhds-color-blue-600);--swui-navbar-item-background-color-selected-hover: var( --lhds-color-blue-700 );--swui-nav-bar-height: 48px;background-color:var(--swui-navbar-background-color);height:var(--swui-nav-bar-height);min-height:var(--swui-nav-bar-height)}._navBarButton_b3x3w_1:hover{background:var(--lhds-color-ui-100)}._navBarButton_b3x3w_1:focus-visible{background:var(--lhds-color-ui-200)}._navBarButton_b3x3w_1:active{background:var(--lhds-color-ui-200)}._navBarButton_b3x3w_1._selected_b3x3w_14{background:var(--lhds-color-blue-200)}._navBarButton_b3x3w_1._selected_b3x3w_14:hover{background:var(--lhds-color-blue-100)}._navBarButton_b3x3w_1._selected_b3x3w_14:focus-visible{background:var(--lhds-color-blue-300)}._navBarButton_b3x3w_1._selected_b3x3w_14:active{background:var(--lhds-color-blue-200)}._navBarLink_1u1b2_1:hover{background:var(--lhds-color-ui-100)}._navBarLink_1u1b2_1:focus-visible{background:var(--lhds-color-ui-200)}._navBarLink_1u1b2_1:active{background:var(--lhds-color-ui-200)}._navBarLink_1u1b2_1._selected_1u1b2_14{background:var(--lhds-color-blue-200)}._navBarLink_1u1b2_1._selected_1u1b2_14:hover{background:var(--lhds-color-blue-100)}._navBarLink_1u1b2_1._selected_1u1b2_14:focus-visible{background:var(--lhds-color-blue-300)}._navBarLink_1u1b2_1._selected_1u1b2_14:active{background:var(--lhds-color-blue-200)}._navBarNotificationButton_1nfdy_1{--current-background-color: var(--lhds-color-ui-400);--current-outline-color: var(--core-blue);background-color:var(--current-background-color);border-color:transparent;color:var(--lhds-color-ui-50);--swui-nav-bar-notification-shake-count: 3;transition:.5s width}._navBarNotificationButton_1nfdy_1:hover{--current-background-color: var(--lhds-color-red-500);--current-outline-color: var(--lhds-color-red-500)}._navBarNotificationButton_1nfdy_1:active{--current-background-color: var(--lhds-color-red-600);--current-outline-color: var(--lhds-color-red-600)}._navBarNotificationButton_1nfdy_1._unread_1nfdy_23 ._icon_1nfdy_23{transform-origin:top center;animation:_shake_1nfdy_1 1.5s ease-in-out var(--swui-nav-bar-notification-shake-count)}._navBarNotificationButton_1nfdy_1._unread_1nfdy_23{--current-background-color: var(--lhds-color-red-500);--current-outline-color: var(--lhds-color-red-500)}._navBarNotificationButton_1nfdy_1._unread_1nfdy_23:hover{--current-background-color: var(--lhds-color-red-600);--current-outline-color: var(--lhds-color-red-600)}._navBarNotificationButton_1nfdy_1._unread_1nfdy_23:active{--current-background-color: var(--lhds-color-red-700);--current-outline-color: var(--lhds-color-red-700)}._navBarNotificationButton_1nfdy_1:focus-visible{outline:var(--swui-focus-outline);outline-color:var(--current-outline-color);outline-offset:var(--swui-focus-outline-width)}@keyframes _shake_1nfdy_1{0%{transform:rotate(0)}7%{transform:rotate(20deg)}15%{transform:rotate(-20deg)}22%{transform:rotate(16deg)}30%{transform:rotate(-16deg)}38%{transform:rotate(6deg)}42%{transform:rotate(-6deg)}46%{transform:rotate(2deg)}to{transform:rotate(0)}}._navBarSearchFieldInput_1rp8g_1._navBarSearchFieldInput_1rp8g_1{line-height:2.7rem;color:var(--lhds-color-ui-800)}._navBarSearchFieldInput_1rp8g_1._navBarSearchFieldInput_1rp8g_1::placeholder{color:var(--lhds-color-blue-600)}._navBarSearchFieldInput_1rp8g_1._navBarSearchFieldInput_1rp8g_1{padding:0 var(--swui-metrics-indent)}._navBarSearchFieldWrapper_1rp8g_12._navBarSearchFieldWrapper_1rp8g_12{background:var(--lhds-color-ui-200);border-color:transparent}._navBarSearchFieldWrapper_1rp8g_12._navBarSearchFieldWrapper_1rp8g_12:hover{border-color:transparent}._navBarSearchFieldWrapper_1rp8g_12._navBarSearchFieldWrapper_1rp8g_12{padding:0 var(--swui-metrics-indent);border-radius:var(--swui-max-border-radius)}._navBarSearchFieldWrapper_1rp8g_12._navBarSearchFieldWrapper_1rp8g_12._withButton_1rp8g_24{padding-right:1px}._navBarSearchFieldWrapper_1rp8g_12._navBarSearchFieldWrapper_1rp8g_12:focus-within{color:var(--lhds-color-ui-800);background:var(--lhds-color-ui-50)}._navBarSearchFieldWrapper_1rp8g_12._navBarSearchFieldWrapper_1rp8g_12 ._clearButton_1rp8g_33{border-radius:var(--swui-max-border-radius)}._navBarUserButton_10f9z_1:hover{background:var(--lhds-color-ui-100)}._navBarUserButton_10f9z_1:focus-visible{background:var(--lhds-color-ui-200)}._navBarUserButton_10f9z_1:active{background:var(--lhds-color-ui-200)}._sidebarMenuCollapsibleGroupBox_ikek9_1{background:var(--lhds-color-ui-200);border-radius:var(--swui-border-radius);gap:var(--swui-metrics-space);display:flex;flex-direction:column;padding:var(--swui-metrics-space);--current-text-size: var(--swui-font-size-small)}._selectionRow_1njaw_1{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:calc(var(--swui-metrics-space) * 2)}@media (max-width: 370px){._iconColumn_1njaw_9{display:none}}._sidebarMenu_1bx5w_1{--swui-sidebar-menu-separator-color: var(--swui-white);--swui-sidebar-menu-text-color: var(--lhds-color-ui-900);--swui-sidebar-menu-icon-color: var(--lhds-color-ui-900);--swui-sidebar-menu-background-color: transparent;--swui-sidebar-menu-background-color-hover: var(--lhds-color-ui-400);--swui-sidebar-menu-background-color-focus: var(--lhds-color-ui-400);--swui-sidebar-menu-background-color-active: var(--lhds-color-ui-300);--swui-sidebar-menu-background-selected: var(--lhds-color-blue-100);--swui-sidebar-menu-background-selected-hover: var(--lhds-color-blue-200);--swui-sidebar-menu-background-selected-focus: var(--lhds-color-blue-200);--swui-sidebar-menu-background-selected-active: var(--lhds-color-blue-100);--current-background-color: var(--swui-sidebar-menu-background-color);--current-background-color-hover: var( --swui-sidebar-menu-background-color-hover );--current-background-color-focus: var( --swui-sidebar-menu-background-color-focus );--current-background-color-active: var( --swui-sidebar-menu-background-color-active );--current-background-selected: var(--swui-sidebar-menu-background-selected);--current-background-selected-hover: var( --swui-sidebar-menu-background-selected-hover );--current-background-selected-focus: var( --swui-sidebar-menu-background-selected-focus );--current-background-selected-active: var( --swui-sidebar-menu-background-selected-active )}._sidebarMenu_1bx5w_1 ._sidebarItems_1bx5w_38{--current-separator-color: var(--swui-sidebar-menu-separator-color);--current-text-color: var(--swui-sidebar-menu-text-color);--current-icon-color: var(--swui-sidebar-menu-icon-color)}._sidebarMenu_1bx5w_1{background-color:var(--current-background-color);height:100dvh}._sidebarMenu_1bx5w_1 ._scrollContainer_1bx5w_48{background:var(--current-background-color);height:100%;overflow:auto}._stenaFlag_108h7_1{height:32px}._productCard_19x6b_1{max-width:560px}@media (max-width: 768px){._productCard_19x6b_1{max-width:unset}}._productSummaryCardImage_1knc7_1{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{inset:0;opacity:0;overflow:hidden;position:fixed;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));inset:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translate(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{display:flex;justify-content:flex-end;inset:0 0 auto auto;padding:var(--yarl__toolbar_padding,8px);position:absolute}[dir=rtl] .yarl__toolbar{inset:0 auto auto 0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}.yarl__counter{bottom:var(--yarl__counter_bottom,unset);color:var(--yarl__counter_color,var(--yarl__color_button,hsla(0,0%,100%,.8)));filter:var(--yarl__counter_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));left:var(--yarl__counter_left,0);line-height:var(--yarl__counter_line_height,var(--yarl__icon_size,32px));margin:var(--yarl__counter_margin,var(--yarl__toolbar_padding,8px));padding:var(--yarl__counter_padding,var(--yarl__button_padding,8px));position:var(--yarl__counter_position,absolute);right:var(--yarl__counter_right,unset);top:var(--yarl__counter_top,0);-webkit-user-select:var(--yarl__counter_user_select,none);user-select:var(--yarl__counter_user_select,none)}.yarl__slide_captions_container{background:var(--yarl__slide_captions_container_background,rgba(0,0,0,.5));left:var(--yarl__slide_captions_container_left,0);padding:var(--yarl__slide_captions_container_padding,16px);position:absolute;right:var(--yarl__slide_captions_container_right,0);-webkit-transform:translateZ(0)}.yarl__slide_title{color:var(--yarl__slide_title_color,#fff);font-size:var(--yarl__slide_title_font_size,125%);font-weight:var(--yarl__slide_title_font_weight,bolder);max-width:calc(100% - var(--yarl__toolbar_width, 0px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yarl__slide_title_container{top:var(--yarl__slide_title_container_top,0)}.yarl__slide_description{display:-webkit-box;-webkit-hyphens:auto;hyphens:auto;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:var(--yarl__slide_description_max_lines,3);color:var(--yarl__slide_description_color,#fff);text-align:var(--yarl__slide_description_text_align,start)}.yarl__slide_description_container{bottom:var(--yarl__slide_description_container_bottom,0)}.yarl__slide_title.yarl__slide_title.yarl__slide_title{font-family:var(--swui-font-primary);font-size:var(--swui-font-size-large);font-weight:var(--swui-font-weight-text)}.yarl__slide_title_container.yarl__slide_title_container.yarl__slide_title_container{height:48px;margin:calc(var(--swui-metrics-space) * 1);padding:0;display:flex;align-items:center;padding-left:calc(var(--swui-metrics-space) * 10)}.yarl__slide_description.yarl__slide_description.yarl__slide_description{font-family:var(--swui-font-primary);font-size:var(--swui-font-size-large);font-weight:var(--swui-font-weight-text)}.yarl__slide_description_container.yarl__slide_description_container.yarl__slide_description_container{display:flex;align-items:center;padding-left:calc(var(--swui-metrics-space) * 3);padding-bottom:calc(var(--swui-metrics-space) * 4)}.yarl__counter.yarl__counter{height:48px;margin:calc(var(--swui-metrics-space) * 1);display:flex;align-items:center;padding:0;padding-left:calc(var(--swui-metrics-space) * 1);font-family:var(--swui-font-primary);font-size:var(--swui-font-size-large);font-weight:var(--swui-font-weight-text)}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();const un="_navBarButton_b3x3w_1",dn="_selected_b3x3w_14",it={navBarButton:un,selected:dn};l.forwardRef(function({selected:e,className:t,...r},n){return o.jsx(C.FlatButton,{...r,ref:n,className:K(it.navBarButton,e&&it.selected,t)})});const fn="_navBarLink_1u1b2_1",_n="_selected_1u1b2_14",ct={navBarLink:fn,selected:_n};l.forwardRef(function({selected:e,className:t,...r},n){return o.jsx(C.FlatButtonLink,{...r,ref:n,className:K(ct.navBarLink,e&&ct.selected,t)})});const gn="_navBarNotificationButton_1nfdy_1",hn="_unread_1nfdy_23",pn="_icon_1nfdy_23",be={navBarNotificationButton:gn,unread:hn,icon:pn};l.forwardRef(function({count:e,unread:t=!1,className:r,labelClassName:n,iconClassName:a,icon:s=C.stenaBellFilled,...i},c){const d=e>1;return o.jsx(C.BaseButton,{...i,ref:c,leftIcon:s,className:K(be.navBarNotificationButton,t&&be.unread,d&&be.hasCount,r),label:d?String(e):void 0,labelClassName:K(n,be.label),iconClassName:K(a,be.icon)})});l.forwardRef(({contentLeft:e,contentRight:t,collapsed:r=!1,...n},a)=>o.jsx(C.MenuButton,{ref:a,expandable:!0,expanded:!r,selected:!r,left:e,right:t,...n}));l.createContext(!1);const ut=["small-mobile","mobile","tablet","tablet-wide","desktop"],Wt=()=>{const e=Ce.useMediaQuery({query:"(max-width: 768px)"}),t=Ce.useMediaQuery({query:"(max-width: 395px)"}),r=Ce.useMediaQuery({query:"(max-width: 1024px)"}),n=Ce.useMediaQuery({query:"(max-width: 1160px)"});return{deviceSize:t?"small-mobile":e?"mobile":r?"tablet":n?"tablet-wide":"desktop"}},Ht=(e,t)=>e===t||ut.indexOf(e)>ut.indexOf(t),Ot=({value:e,onValueChange:t,localeCode:r,startDateLabel:n="From",endDateLabel:a="To",onFocus:s,onBlur:i,calendarSize:c,startDateRef:d,endDateRef:f,placeholderWhenBlurredStartDate:_,placeholderWhenBlurredEndDate:p,valueWhenBlurredStartDate:m,valueWhenBlurredEndDate:h,variant:y,readOnlyOnMobile:w,autoFocusStartDate:D,autoFocusEndDate:k})=>{const{deviceSize:b}=Wt(),x=w&&!Ht(b,"tablet"),{mask:v,placeholder:S}=l.useMemo(()=>{const j=fe(r);return{mask:Pt(j),placeholder:j.toLowerCase()}},[r]);return o.jsxs(g.Row,{children:[o.jsx($e,{mask:v,ref:d,value:e?.startDate,onValueChange:j=>{t?.({startDate:j})},onBlur:j=>{const B=Ie(j.target.value,r);B&&B!==e?.startDate&&t?.({startDate:B}),i?.()},onFocus:()=>s?.("startDate"),autoFocus:D,label:n,borderRadiusVariant:"onlyLeft",placeholder:S,placeholderWhenBlurred:_,valueWhenBlurred:m,calendarSize:c,variant:y,readOnly:x}),o.jsx($e,{mask:v,ref:f,value:e?.endDate,onValueChange:j=>t?.({endDate:j}),onBlur:j=>{const B=Ie(j.target.value,r);B&&B!==e?.endDate&&t?.({endDate:B}),i?.()},onFocus:()=>s?.("endDate"),autoFocus:k,label:a,borderRadiusVariant:"onlyRight",placeholder:S,placeholderWhenBlurred:p,valueWhenBlurred:h,calendarSize:c,variant:y,readOnly:x})]})},Ve=(e,t,r)=>{const n=u.isSameYear(e,t)?"":" y";return r.code.startsWith("en")?u.format(e,"eee MMM d"+n,{locale:r}).replace(".",""):u.format(e,"eee d MMM"+n,{locale:r}).replace(".","")};function mn(e,t,r){if(!e||!t||!r)return!1;const n=r(e),a=r(t);return!n||!a||Number.isNaN(n.getTime())||Number.isNaN(a.getTime())||u.isSameDay(n,a)?!1:u.isAfter(n,a)}function bn(e,t,r){const{startDate:n,endDate:a}=e;return mn(n,a,t)?r==="startDate"?{...e,startDate:n,endDate:n}:{...e,startDate:a,endDate:a}:e}const Yt=(e,t,r,n,a,s,i,c,d)=>{const f=ue(n),_=l.useId(),p=g.useToday(),m=l.useRef(null),h=l.useMemo(()=>fe(r),[r]),y=l.useMemo(()=>e?.startDate?.length===h.length?Z(e.startDate,r):void 0,[h.length,r,e?.startDate]),w=l.useMemo(()=>e?.endDate?.length===h.length?Z(e.endDate,r):void 0,[h.length,r,e?.endDate]),D=l.useMemo(()=>y!=null?Ve(y,p,f):void 0,[f,y,p]),k=l.useMemo(()=>w!=null?Ve(w,p,f):void 0,[f,w,p]),[b,x]=l.useState(a??y??new Date),v=l.useCallback(R=>{u.isSameMonth(R,p)||u.isAfter(R,p)?x(R):x(p)},[p]),S=l.useMemo(()=>ve(b.getFullYear(),b.getMonth(),f),[f,b]),j=l.useMemo(()=>Te(u.intlFormat(b,{month:"long",year:"numeric"},{locale:f.code})),[f,b]),B=l.useMemo(()=>u.isSameMonth(p,b),[p,b]),[L,M]=l.useState(),[I,E]=l.useState("calendar"),P=l.useCallback(R=>{const U=R?.startDate?.length===h.length?Z(R.startDate,r):void 0,O=R?.endDate?.length===h.length?Z(R.endDate,r):void 0;U?v(U):O&&v(O),t?.({...e,...R})},[h.length,r,t,v,e]),N=l.useMemo(()=>y&&w?u.isAfter(w,y)||u.isSameDay(w,y):!1,[w,y]),F=l.useMemo(()=>{const R=s==="startDate"?e?.endDate:e?.startDate;return R?Z(R,r):void 0},[s,r,e?.endDate,e?.startDate]),z=l.useMemo(()=>{if(L&&F){if(s==="endDate")return"right";if(s==="startDate")return"left"}},[s,F,L]);return{onClickDate:R=>{if(!(R.getFullYear()===b.getFullYear()&&R.getMonth()===b.getMonth()))return;const O=(Y,W)=>t?.(bn(Y,A=>Z(A,r),W));s==="startDate"?(O({startDate:oe(R,r),endDate:e?.endDate},"startDate"),e?.endDate?(d?.(),i(void 0),M(void 0)):c("endDate")):s==="endDate"?(O({startDate:e?.startDate,endDate:oe(R,r)},"endDate"),d?.(),i(void 0),M(void 0)):y&&w==null?u.isBefore(R,y)?(t?.({startDate:oe(R,r),endDate:void 0}),c("endDate")):(t?.({startDate:e?.startDate,endDate:oe(R,r)}),d?.(),i(void 0),M(void 0)):(O({startDate:oe(R,r),endDate:void 0},"startDate"),c("endDate"))},onValueChangeByInputs:P,isValidDateRange:N,monthPickerButtonRef:m,calendarId:_,monthPickerButtonLabel:j,visiblePanel:I,setVisiblePanel:E,setVisibleMonth:x,visibleMonthData:S,todayIsInVisibleMonth:B,hoverDate:L,setHoverDate:M,hoverAnchor:F,hoverHighlightDirection:z,selectedStartDate:y,selectedEndDate:w,today:p,visibleMonth:b,valueWhenBlurredStartDate:D,valueWhenBlurredEndDate:k}},Ee=({previousMonthButtonAriaLabel:e,nextMonthButtonAriaLabel:t,monthPickerButtonLabel:r,visiblePanel:n,setVisiblePanel:a,monthPickerButtonRef:s,setVisibleMonth:i,visibleMonth:c,prevMonthDisabled:d,nextMonthDisabled:f,calendarSize:_,previousMonthButtonTestId:p,nextMonthButtonTestId:m})=>{const h=_==="smaller"||_==="small"?"medium":"large";return o.jsxs(g.Row,{alignSelf:"center",justifyContent:"space-between",width:"100%",children:[o.jsx(C.FlatButton,{"aria-live":"polite",label:r,rightIcon:n==="calendar"?C.stenaAngleDown:C.stenaAngleUp,onClick:()=>a(n==="calendar"?"month-picker":"calendar"),ref:s,size:h}),o.jsxs(g.Row,{alignItems:"center",gap:2,children:[o.jsx(C.SecondaryButton,{leftIcon:C.stenaArrowLeft,onClick:()=>i(u.subMonths(c,1)),disabled:d?.(c),"aria-label":e,size:h,"data-testid":p}),o.jsx(C.SecondaryButton,{leftIcon:C.stenaArrowRight,onClick:()=>i(u.addMonths(c,1)),disabled:f?.(c),"aria-label":t,size:h,"data-testid":m})]})]})},yn="_travelDateCell_1t2af_1",vn="_smaller_1t2af_4",xn="_small_1t2af_4",wn="_medium_1t2af_14",Dn="_large_1t2af_19",kn="_outline_1t2af_31",Cn="_contentWrapper_1t2af_44",Sn="_disabled_1t2af_65",jn="_isToday_1t2af_68",Bn="_isSelectionStart_1t2af_72",Mn="_isSelectionEnd_1t2af_73",Rn="_hover_1t2af_88",In="_startSelected_1t2af_91",Tn="_endSelected_1t2af_91",J={travelDateCell:yn,smaller:vn,small:xn,medium:wn,large:Dn,outline:kn,contentWrapper:Cn,disabled:Sn,isToday:jn,isSelectionStart:Bn,isSelectionEnd:Mn,hover:Rn,startSelected:In,endSelected:Tn},X="var(--selection-range-background-color)",Ln=(e,t,r,n,a,s,i,c)=>i?t&&r&&!c?{left:"transparent",right:"transparent"}:a&&s&&n?En(e,n,a,s):a?{left:"transparent",right:"transparent"}:Nn(e,t,r,a):{left:"transparent",right:"transparent"},Nn=(e,t,r,n)=>{if(t&&r&&u.isSameDay(t,r))return{left:"transparent",right:"transparent"};if(t&&r?u.isAfter(e,t)&&u.isBefore(e,r)&&!u.isSameDay(e,t)&&!u.isSameDay(e,r):!1)return{left:X,right:X};if(t&&r)return u.isSameDay(e,t)?{left:"transparent",right:X}:u.isSameDay(e,r)?{left:X,right:"transparent"}:{left:"transparent",right:"transparent"};if(t&&n&&u.isAfter(n,t)){if(u.isSameDay(e,t))return{left:"transparent",right:X};if(u.isSameDay(e,n))return{left:X,right:"transparent"}}return{left:"transparent",right:"transparent"}},En=(e,t,r,n)=>{const a=u.isAfter(r,n),s=u.isWithinInterval(e,{start:u.min([r,n]),end:u.max([r,n])}),i=u.isSameDay(e,r),c=u.isSameDay(e,n);return t==="right"&&u.isBefore(r,n)?{left:"transparent",right:"transparent"}:t==="left"&&u.isAfter(r,n)?{left:"transparent",right:"transparent"}:i&&c?{left:"transparent",right:"transparent"}:i?dt(a,{left:"transparent",right:X}):c?dt(a,{left:X,right:"transparent"}):s?{left:X,right:X}:{left:"transparent",right:"transparent"}},dt=(e,{left:t,right:r})=>e?{left:r,right:t}:{left:t,right:r},Fn=(e,t)=>{switch(t){case"PageUp":return u.subMonths(e,1);case"PageDown":return u.addMonths(e,1);case"Home":return u.startOfWeek(e);case"End":return u.addDays(u.startOfWeek(e),6);case"ArrowLeft":return u.subDays(e,1);case"ArrowUp":return u.subDays(e,7);case"ArrowRight":return u.addDays(e,1);case"ArrowDown":return u.addDays(e,7);default:return}},He=(e,t)=>u.format(u.addHours(e,12),ae.fullDate)+t,An="_travelDateCellBackground_45q5d_1",Pn="_smaller_45q5d_2",Wn="_small_45q5d_2",Hn="_medium_45q5d_12",On="_large_45q5d_17",Se={travelDateCellBackground:An,smaller:Pn,small:Wn,medium:Hn,large:On},Yn=({calendarSize:e,bgColorLeft:t,bgColorRight:r})=>o.jsxs(g.Row,{children:[o.jsx(g.Box,{className:K(Se.travelDateCellBackground,Se[e]),background:t}),o.jsx(g.Box,{className:K(Se.travelDateCellBackground,Se[e]),background:r})]}),Un=({onClick:e,visibleMonth:t,onChangeVisibleMonth:r,day:n,isValidDateRange:a,selectedStartDate:s,selectedEndDate:i,onStartHover:c,onEndHover:d,hoverDate:f,hoverAnchor:_,today:p,todayIsInVisibleMonth:m,calendarId:h,isDateDisabled:y,size:w,dateTestId:D,hoverHighlightDirection:k})=>{const b=l.useCallback(async P=>{const N=Fn(n.date,P.key),F=(N&&y?.(N))??!1;N&&!F&&(c(N),u.isSameMonth(n.date,N)?document.getElementById(He(N,h))?.focus():(r(N),setTimeout(()=>{document.getElementById(He(N,h))?.focus()},10))),(P.key==="Enter"||P.code==="Space")&&e(n.date)},[h,n.date,y,r,e,c]),x=n.month===t.getMonth(),v=y?.(n.date)??!1,S=f&&_?u.isAfter(f,_):!1,j=f&&_?u.isSameDay(S?_:f,n.date):!1,B=f&&_?u.isSameDay(S?f:_,n.date):!1,L=!f&&s?u.isSameDay(s,n.date):!1,M=!f&&i?u.isSameDay(i,n.date):!1,I=u.isSameDay(n.date,p),E=Ln(n.date,s,i,k,f,_,x,a);return o.jsxs("td",{className:K(J.travelDateCell,J[w]),onClick:v?void 0:()=>e(n.date),onMouseOver:v?void 0:()=>x&&c(n.date),onMouseOut:v?void 0:()=>x&&d(n.date),tabIndex:v?void 0:zn(n,s,I,t,m),id:v?void 0:He(n.date,h),onKeyDown:v?void 0:b,...v?void 0:{"aria-selected":L||M},"data-testid":D?.(n.date),children:[o.jsx("div",{className:J.outline}),o.jsx(Yn,{calendarSize:w,bgColorLeft:E.left,bgColorRight:E.right}),x&&o.jsx("div",{className:K(J.contentWrapper,I?J.isToday:void 0,s?J.startSelected:void 0,i?J.endSelected:void 0,f&&u.isSameDay(f,n.date)?J.hover:void 0,(L||j)&&J.isSelectionStart,(M||B)&&J.isSelectionEnd,v&&J.disabled),children:o.jsx(g.Text,{variant:"bold",color:v?qe.cssColor("--lhds-color-ui-500"):void 0,children:n.dayOfMonth})})]})},zn=(e,t,r,n,a)=>{const s=t?u.isSameMonth(t,n):!1;return(t&&s?u.isSameDay(e.date,t):r)||!s&&!a&&e.date.getDate()===1?0:-1},$n="_travelCalendar_167ir_1",Vn={travelCalendar:$n},Fe=({visibleMonthData:e,onClickDate:t,setHoverDate:r,setVisibleMonth:n,visibleMonth:a,isValidDateRange:s,selectedStartDate:i,selectedEndDate:c,hoverDate:d,hoverAnchor:f,today:_,calendarId:p,isDateDisabled:m,todayIsInVisibleMonth:h,size:y="medium",multiSelectable:w,dateTestId:D,hoverHighlightDirection:k})=>o.jsx("table",{className:Vn.travelCalendar,role:"grid",...w?{"aria-multiselectable":!0}:void 0,children:o.jsxs("tbody",{children:[o.jsx("tr",{children:e.weeks[0].days.map(b=>o.jsx("th",{abbr:b.fullName,children:o.jsx(g.Text,{children:b.name})},b.name))}),e.weeks.map(b=>o.jsx(Ke.Fragment,{children:o.jsx("tr",{children:b.days.map(x=>o.jsx(Un,{size:y,onClick:v=>t(v),visibleMonth:a,onChangeVisibleMonth:n,isValidDateRange:s,day:x,onStartHover:v=>r(v),onEndHover:v=>r(S=>S&&u.isSameDay(S,v)?void 0:S),selectedStartDate:i,selectedEndDate:c,hoverDate:d,hoverAnchor:f,today:_,todayIsInVisibleMonth:h,calendarId:p,isDateDisabled:m,dateTestId:D,hoverHighlightDirection:k},x.dateString))},b.weekNumber)},b.weekNumber))]})}),qn="_travelDateRangeInput_1j7rp_1",Kn="_overlay_1j7rp_2",Gn="_calendarVisible_1j7rp_6",Oe={travelDateRangeInput:qn,overlay:Kn,calendarVisible:Gn},Jn=({value:e,onValueChange:t,startDateLabel:r,endDateLabel:n,localeCode:a="sv",languageLocaleCode:s=a,initialMonthInFocus:i,previousMonthButtonAriaLabel:c="Previous month",nextMonthButtonAriaLabel:d="Next month",placeholderWhenBlurredStartDate:f,placeholderWhenBlurredEndDate:_,heading:p,headingLevel:m,numMonthsInMonthPicker:h=12,isDateDisabled:y,prevMonthDisabled:w,nextMonthDisabled:D,firstMonthInMonthPicker:k=new Date,zIndex:b=1e3,zIndexWhenClosed:x,onHideCalendar:v,renderBelowCalendar:S,size:j="medium",dateTestId:B,previousMonthButtonTestId:L,nextMonthButtonTestId:M,textInputVariant:I="standard",autoFocusStartDate:E,autoFocusEndDate:P})=>{const[N,F]=l.useState(!1),[z,$]=l.useState(!1),[R,U]=l.useState({width:336,height:66}),[O,Y]=l.useState(void 0),W=l.useRef(null),A=l.useRef(null),V=q=>{q==="startDate"?W.current?.focus():q==="endDate"&&A.current?.focus()},G=j==="large"?"8.8rem":"6.6rem",Q=l.useRef(!1),se=l.useCallback(q=>{Y(q),Q.current=!0,$(!0),setTimeout(()=>{F(!0)},10)},[]),H=l.useCallback(()=>{z&&(F(!1),Q.current=!1,v?.(),setTimeout(()=>{Q.current||$(!1)},120))},[z,v]),De=l.useRef(null),_e=l.useRef(null);g.useOnClickOutside(De,H),l.useLayoutEffect(()=>{const q=_e.current?.offsetWidth,Ae=_e.current?.offsetHeight;q!=null&&Ae!=null&&(R.height!==Ae||R.width!==q)&&U({width:q,height:Ae})},[R.height,R.width]);const ce=Yt(e,t,a,s,i,O,Y,V,H),{visiblePanel:ke,visibleMonth:te,onValueChangeByInputs:me,setVisibleMonth:$t,setVisiblePanel:rt,monthPickerButtonRef:nt}=ce,Vt=l.useCallback(q=>{q.key==="Escape"&&H()},[H]);return o.jsxs(g.Box,{position:"relative",className:Oe.travelDateRangeInput,ref:De,onKeyDown:Vt,height:R.height,width:R.width,children:[o.jsx(g.Box,{position:"absolute",ref:_e,zIndex:z?b:x,children:o.jsx(Ot,{...ce,value:e,onValueChange:me,startDateRef:W,endDateRef:A,localeCode:a,startDateLabel:r,endDateLabel:n,onFocus:se,calendarSize:j,placeholderWhenBlurredStartDate:f,placeholderWhenBlurredEndDate:_,variant:I,autoFocusStartDate:E,autoFocusEndDate:P,readOnlyOnMobile:!0})}),z&&o.jsx(g.Box,{position:"absolute",zIndex:b-1,left:"-2.4rem",top:p?"-8.0rem":"-2.4rem",className:K(Oe.overlay,N&&Oe.calendarVisible),children:o.jsx(g.Box,{background:"white",shadow:"popover",borderRadius:"var(--swui-border-radius-large)",children:o.jsxs(C.CardBody,{gap:3,children:[p&&o.jsx(g.Heading,{variant:"h2",as:m,children:p}),o.jsx(g.Box,{height:G}),o.jsx(Ee,{...ce,previousMonthButtonAriaLabel:c,nextMonthButtonAriaLabel:d,calendarSize:j,prevMonthDisabled:w,nextMonthDisabled:D,previousMonthButtonTestId:L,nextMonthButtonTestId:M}),ke==="calendar"&&o.jsx(Fe,{...ce,size:j,multiSelectable:!0,isDateDisabled:y,dateTestId:B}),ke==="month-picker"&&o.jsx(pe,{firstMonth:k,numMonths:h,value:te,size:j,localeCode:s,onValueChange:q=>{$t(q),rt("calendar"),nt.current?.focus()},onCancel:()=>{rt("calendar"),nt.current?.focus()}}),S?.({hideCalendar:H})]})})})]})},Qn="_travelDateInput_hmfbf_1",Zn="_overlay_hmfbf_2",Xn="_calendarVisible_hmfbf_6",Ye={travelDateInput:Qn,overlay:Zn,calendarVisible:Xn},Ut=({value:e,onValueChange:t,label:r="Date",localeCode:n,autoFocus:a,onFocus:s,calendarSize:i,placeholderWhenBlurred:c,valueWhenBlurred:d,variant:f,readOnlyOnMobile:_})=>{const{deviceSize:p}=Wt(),m=_&&!Ht(p,"tablet"),{mask:h,placeholder:y}=l.useMemo(()=>{const w=fe(n);return{mask:Pt(w),placeholder:w.toLowerCase()}},[n]);return o.jsx(g.Row,{children:o.jsx($e,{mask:h,value:e,onValueChange:t,onBlur:w=>{const D=Ie(w.target.value,n);D&&D!==e&&t?.(D)},readOnly:m,onFocus:s,autoFocus:a,label:r,placeholder:y,calendarSize:i,placeholderWhenBlurred:c,valueWhenBlurred:d,variant:f})})},zt=(e,t,r,n,a,s)=>{const i=ue(n),c=l.useId(),d=g.useToday(),f=l.useRef(null),_=l.useMemo(()=>fe(r),[r]),p=l.useMemo(()=>e?.length===_.length?Z(e,r):void 0,[_.length,r,e]),m=l.useMemo(()=>p!=null?Ve(p,d,i):void 0,[i,p,d]),[h,y]=l.useState(a??p??new Date),w=l.useCallback(M=>{u.isSameMonth(M,d)||u.isAfter(M,d)?y(M):y(d)},[d]),D=l.useMemo(()=>ve(h.getFullYear(),h.getMonth(),i),[i,h]),k=l.useMemo(()=>Te(u.intlFormat(h,{month:"long",year:"numeric"},{locale:i.code})),[i,h]),b=l.useMemo(()=>u.isSameMonth(d,h),[d,h]),[x,v]=l.useState(),[S,j]=l.useState("calendar"),B=l.useCallback(M=>{const I=M?.length===_.length?Z(M,r):void 0;I&&w(I),t?.(M)},[_.length,r,t,w]);return{onClickDate:M=>{t?.(oe(M,r)),s?.(M)},onValueChangeByInputs:B,monthPickerButtonRef:f,calendarId:c,monthPickerButtonLabel:k,visiblePanel:S,setVisiblePanel:j,setVisibleMonth:y,visibleMonthData:D,todayIsInVisibleMonth:b,hoverDate:x,hoverAnchor:void 0,setHoverDate:v,selectedDate:p,today:d,visibleMonth:h,valueWhenBlurred:m}},ea=({value:e,onValueChange:t,label:r,localeCode:n="sv",languageLocaleCode:a=n,initialMonthInFocus:s,previousMonthButtonAriaLabel:i="Previous month",nextMonthButtonAriaLabel:c="Next month",placeholderWhenBlurred:d,autoFocus:f,heading:_,headingLevel:p,numMonthsInMonthPicker:m=12,isDateDisabled:h,prevMonthDisabled:y,nextMonthDisabled:w,firstMonthInMonthPicker:D=new Date,zIndex:k=1e3,zIndexWhenClosed:b,onHideCalendar:x,renderBelowCalendar:v,size:S="medium",dateTestId:j,previousMonthButtonTestId:B,nextMonthButtonTestId:L,textInputVariant:M="standard"})=>{const[I,E]=l.useState(!1),[P,N]=l.useState(!1),[F,z]=l.useState({width:336,height:66}),$=S==="large"?"8.8rem":"6.6rem",R=l.useRef(!1),U=l.useCallback(()=>{R.current=!0,N(!0),setTimeout(()=>{E(!0)},10)},[]),O=l.useCallback(()=>{P&&(E(!1),R.current=!1,x?.(),setTimeout(()=>{R.current||N(!1)},120))},[P,x]),Y=l.useCallback(()=>{setTimeout(()=>{O()},250)},[O]),W=l.useRef(null),A=l.useRef(null);g.useOnClickOutside(W,O),l.useLayoutEffect(()=>{const te=A.current?.offsetWidth,me=A.current?.offsetHeight;te!=null&&me!=null&&(F.height!==me||F.width!==te)&&z({width:te,height:me})},[F.height,F.width]);const V=zt(e,t,n,a,s,Y),{visiblePanel:G,visibleMonth:Q,onValueChangeByInputs:se,selectedDate:H,setVisibleMonth:De,setVisiblePanel:_e,monthPickerButtonRef:ce}=V,ke=l.useCallback(te=>{te.key==="Escape"&&O()},[O]);return o.jsxs(g.Box,{position:"relative",className:Ye.travelDateInput,ref:W,onKeyDown:ke,height:F.height,width:F.width,children:[o.jsx(g.Box,{position:"absolute",ref:A,zIndex:P?k:b,children:o.jsx(Ut,{...V,autoFocus:f,value:e,onValueChange:se,localeCode:n,label:r,onFocus:U,calendarSize:S,placeholderWhenBlurred:d,variant:M,readOnlyOnMobile:!0})}),P&&o.jsx(g.Box,{position:"absolute",zIndex:k-1,left:"-2.4rem",top:_?"-8.0rem":"-2.4rem",className:K(Ye.overlay,I&&Ye.calendarVisible),children:o.jsx(g.Box,{background:"white",shadow:"popover",borderRadius:"var(--swui-border-radius-large)",children:o.jsxs(C.CardBody,{gap:3,children:[_&&o.jsx(g.Heading,{variant:"h2",as:p,children:_}),o.jsx(g.Box,{height:$}),o.jsx(Ee,{...V,previousMonthButtonAriaLabel:i,nextMonthButtonAriaLabel:c,calendarSize:S,prevMonthDisabled:y,nextMonthDisabled:w,previousMonthButtonTestId:B,nextMonthButtonTestId:L}),G==="calendar"&&o.jsx(Fe,{...V,size:S,isValidDateRange:!!H,selectedStartDate:H,selectedEndDate:H,multiSelectable:!1,isDateDisabled:h,dateTestId:j,hoverHighlightDirection:void 0}),G==="month-picker"&&o.jsx(pe,{firstMonth:D,numMonths:m,value:Q,size:S,localeCode:n,onValueChange:te=>{De(te),_e("calendar"),ce.current?.focus()},onCancel:()=>{_e("calendar"),ce.current?.focus()}}),v?.({hideCalendar:O})]})})})]})},ta=({value:e,onValueChange:t,label:r,localeCode:n="sv",languageLocaleCode:a=n,initialMonthInFocus:s,previousMonthButtonAriaLabel:i="Previous month",nextMonthButtonAriaLabel:c="Next month",placeholderWhenBlurred:d,heading:f,headingLevel:_,numMonthsInMonthPicker:p=12,isDateDisabled:m,prevMonthDisabled:h,nextMonthDisabled:y,firstMonthInMonthPicker:w=new Date,dateTestId:D,size:k="medium",previousMonthButtonTestId:b,nextMonthButtonTestId:x,textInputVariant:v="standard",autoFocus:S})=>{const j=zt(e,t,n,a,s),{visiblePanel:B,visibleMonth:L,onValueChangeByInputs:M,setVisibleMonth:I,setVisiblePanel:E,monthPickerButtonRef:P,selectedDate:N}=j;return o.jsxs(g.Column,{gap:3,children:[f&&o.jsx(g.Heading,{variant:"h2",as:_,children:f}),o.jsx(Ut,{...j,value:e,onValueChange:M,localeCode:n,label:r,calendarSize:k,placeholderWhenBlurred:d,variant:v,readOnlyOnMobile:!1,autoFocus:S}),o.jsx(Ee,{...j,previousMonthButtonAriaLabel:i,nextMonthButtonAriaLabel:c,calendarSize:k,prevMonthDisabled:h,nextMonthDisabled:y,previousMonthButtonTestId:b,nextMonthButtonTestId:x}),B==="calendar"&&o.jsx(Fe,{...j,size:k,selectedStartDate:N,selectedEndDate:N,isValidDateRange:!!N,isDateDisabled:m,multiSelectable:!1,dateTestId:D,hoverHighlightDirection:void 0}),B==="month-picker"&&o.jsx(pe,{firstMonth:w,numMonths:p,value:L,localeCode:a,size:k,onValueChange:F=>{I(F),E("calendar"),P.current?.focus()},onCancel:()=>{E("calendar"),P.current?.focus()}})]})},ra=({value:e,onValueChange:t,startDateLabel:r,endDateLabel:n,localeCode:a="sv",languageLocaleCode:s=a,initialMonthInFocus:i,previousMonthButtonAriaLabel:c="Previous month",nextMonthButtonAriaLabel:d="Next month",heading:f,headingLevel:_,numMonthsInMonthPicker:p=12,isDateDisabled:m,prevMonthDisabled:h,nextMonthDisabled:y,firstMonthInMonthPicker:w=new Date,size:D="medium",dateTestId:k,previousMonthButtonTestId:b,nextMonthButtonTestId:x,placeholderWhenBlurredStartDate:v,placeholderWhenBlurredEndDate:S,textInputVariant:j="standard",autoFocusStartDate:B,autoFocusEndDate:L})=>{const[M,I]=l.useState(void 0),E=l.useRef(null),P=l.useRef(null),N=l.useCallback(A=>{A==="startDate"?E.current?.focus():A==="endDate"&&P.current?.focus()},[]),F=Yt(e,t,a,s,i,M,I,N,void 0),z=l.useCallback(A=>{I(A)},[]),{visiblePanel:$,visibleMonth:R,onValueChangeByInputs:U,setVisibleMonth:O,setVisiblePanel:Y,monthPickerButtonRef:W}=F;return o.jsxs(g.Column,{gap:3,children:[f&&o.jsx(g.Heading,{variant:"h2",as:_,children:f}),o.jsx(Ot,{...F,value:e,onValueChange:U,startDateRef:E,endDateRef:P,localeCode:a,startDateLabel:r,endDateLabel:n,onFocus:z,calendarSize:D,placeholderWhenBlurredStartDate:v,placeholderWhenBlurredEndDate:S,variant:j,autoFocusStartDate:B,autoFocusEndDate:L,readOnlyOnMobile:!1}),o.jsx(Ee,{...F,previousMonthButtonAriaLabel:c,nextMonthButtonAriaLabel:d,calendarSize:D,prevMonthDisabled:h,nextMonthDisabled:y,previousMonthButtonTestId:b,nextMonthButtonTestId:x}),$==="calendar"&&o.jsx(Fe,{...F,size:D,multiSelectable:!0,isDateDisabled:m,dateTestId:k}),$==="month-picker"&&o.jsx(pe,{firstMonth:w,numMonths:p,value:R,size:D,localeCode:s,onValueChange:A=>{O(A),Y("calendar"),W.current?.focus()},onCancel:()=>{Y("calendar"),W.current?.focus()}})]})},na=()=>{const e=g.useToday();return l.useCallback(t=>!u.isSameDay(t,e)&&u.isBefore(t,e),[e])},aa=()=>{const e=g.useToday();return l.useCallback(t=>u.isSameMonth(e,t)||u.isBefore(t,e),[e])};exports.Calendar=Be;exports.CalendarDay=Je;exports.DateInput=Rr;exports.DateRangeCalendar=Cr;exports.DateRangeDualTextInput=nn;exports.DateRangeInput=Tr;exports.DateTextInput=Lr;exports.DateTimeInput=Gr;exports.Month=ht;exports.MonthPicker=pe;exports.MultiDateCalendar=jr;exports.PresetPicker=Mt;exports.SingleDateCalendar=tt;exports.SingleWeekCalendar=Br;exports.TimeTextInput=Er;exports.TravelDateCalendar=ta;exports.TravelDateInput=ea;exports.TravelDateRangeCalendar=ra;exports.TravelDateRangeInput=Jn;exports.WeekDay=pt;exports.WeekDayCell=kt;exports.WeekNumberCell=Ct;exports.YearPicker=Qr;exports.addDayStateHighlights=ne;exports.addDayStateHighlightsOnSingleDay=Ge;exports.addWeekRangeHighlights=gt;exports.addWeekStateHighlights=Qt;exports.buildDayStateForDateRange=ge;exports.buildDayStateForRange=_t;exports.buildDayStateForSingleMonth=ft;exports.calculateOverflowingMonth=vt;exports.createDay=bt;exports.dateRangeToStrings=Rt;exports.dayHasHighlight=xt;exports.dayHighlightSelect=re;exports.defaultCalendarTheme=ie;exports.defaultTextPropsProvider=Dt;exports.defaultWrapperStyleProvider=wt;exports.extranetCalendarTheme=tr;exports.fallbackLocaleCode=Qe;exports.fallbackLocaleCodeForFormatting=dr;exports.formatLocalizedDate=oe;exports.getDateFormatForLocaleCode=fe;exports.getDaysForWeekForDate=yt;exports.getDefaultLocaleForFormatting=fr;exports.getLocaleCodeForLocale=Bt;exports.getLocaleForLocaleCode=ue;exports.getMonthInYear=ve;exports.getMonthsInYear=Ue;exports.getSupportedLocaleCode=Ze;exports.getSupportedLocaleCodeMatchingLanguage=jt;exports.getWeekForDate=Le;exports.getWeeksForMonth=mt;exports.isDateRangeInvalid=Xe;exports.parseLocalizedDateString=Z;exports.reformatLocalizedDateString=Ie;exports.setDayStateValue=Gt;exports.setDayStateValueFunction=Jt;exports.stringsToDateRange=It;exports.toggleDateStringsIfEndIsEarlierThanStart=Dr;exports.toggleDatesIfEndIsEarlierThanStart=et;exports.useDateRangeCalendarState=Sr;exports.useDateRangeSelection=Tt;exports.useDisabledBeforeToday=na;exports.useMultiDateSelection=Nt;exports.usePrevMonthDisabledBeforeToday=aa;exports.useSingleDateSelection=Lt;exports.useSingleWeekSelection=Et;
3
3
  //# sourceMappingURL=index.js.map