@entur/datepicker 9.4.12 → 10.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DatePicker/DateField.d.ts +12 -8
- package/dist/DatePicker/DatePicker.d.ts +3 -2
- package/dist/TimePicker/SimpleTimePicker.d.ts +2 -1
- package/dist/TimePicker/TimePicker.d.ts +3 -2
- package/dist/datepicker.cjs.development.js +114 -73
- package/dist/datepicker.cjs.development.js.map +1 -1
- package/dist/datepicker.cjs.production.min.js +1 -1
- package/dist/datepicker.cjs.production.min.js.map +1 -1
- package/dist/datepicker.esm.js +115 -74
- package/dist/datepicker.esm.js.map +1 -1
- package/dist/styles.css +62 -81
- package/package.json +8 -8
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),a=require("react"),t=require("@react-stately/datepicker"),n=require("@react-aria/datepicker"),r=require("@react-aria/i18n"),l=require("classnames"),i=require("@entur/form"),o=require("@internationalized/date"),s=require("@react-aria/calendar"),d=require("@react-stately/calendar"),c=require("@entur/icons"),u=require("@react-aria/button"),m=require("@entur/button"),p=require("@entur/a11y"),f=require("@floating-ui/react-dom"),b=require("react-focus-lock"),v=require("@entur/tokens"),g=require("@entur/modal");function k(){return k=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},k.apply(this,arguments)}function D(e,a){if(null==e)return{};var t,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a.indexOf(t=l[n])>=0||(r[t]=e[t]);return r}var h=["segment","state"],y=function(e){var t=e.segment,r=e.state,i=D(e,h),o=a.useRef(null),s=n.useDateSegment(t,r,o).segmentProps;return a.createElement("div",k({},s,{ref:o,className:l("eds-date-and-time-field__segment",{"eds-date-and-time-field__segment--placeholder":t.isPlaceholder,"eds-date-and-time-field__segment--dot-separator":"."===t.text}),tabIndex:r.isDisabled?-1:s.tabIndex},i),t.text)},C=function(e,a,t){return a?t?new o.ZonedDateTime(e.getFullYear(),e.getMonth()+1,e.getDate(),a,t,e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()):o.parseAbsolute(e.toISOString(),a):new o.CalendarDateTime(e.getFullYear(),e.getMonth()+1,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())},w=function(e){if(void 0===e&&(e="gregory"),"gregory"===e)return new o.GregorianCalendar;throw new Error("Unsupported calendar "+e)},_=function(e,a,t){return"no-no"!==a.toLowerCase()?t["aria-label"]:e},T=function(e){return o.toCalendarDateTime(e.add({days:1})).add({milliseconds:-1})},E=function(e){var a=e.value,t=e.timezone,n=void 0===t?"Europe/Oslo":t;if(null===a)return null;switch(e.type){case"CalendarDate":return"day"in a?o.toCalendarDate(a):o.today(n);case"CalendarDateTime":return"day"in a?o.toCalendarDateTime(a):o.toCalendarDateTime(o.today(n),a);case"ZonedDateTime":return o.toZoned("day"in a?a:o.toCalendarDateTime(o.today(n),a),n);case"Time":return"hour"in a?"day"in a?o.toTime(a):a:o.toTime(o.now(n));default:return a}},N=function(e,a){return(e%a+a)%a},I=function(e,a){if(e.current){var t=e.current.querySelectorAll(".eds-date-and-time-field__segment"),n=t[0],r=t[t.length-1];switch(a){case"first":return n.focus();case"last":return r.focus()}}};function F(e){if(null===e)return-1;var a=E({value:e,type:"CalendarDate"}),t=o.startOfWeek(a,"no-NO").add({days:3}),n=o.startOfYear(t);return Math.ceil((t.compare(n)+1)/7)}var S,L=["selectedDate","onChange","label","locale","showTimeZone","showTime","granularity","disabled","isDisabled","variant","feedback","validationVariant","validationFeedback","labelTooltip","minDate","maxDate","style","className","labelProps","append"],P=a.forwardRef((function(o,s){var d=o.selectedDate,c=o.onChange,u=o.label,m=o.locale,p=o.showTimeZone,f=o.showTime,b=o.granularity,v=void 0===b?"day":b,g=o.disabled,h=o.isDisabled,C=o.variant,_=o.feedback,E=o.validationVariant,N=void 0===E?"negative":E,I=o.validationFeedback,F=void 0===I?"Ugyldig dato":I,S=o.labelTooltip,P=o.minDate,x=o.maxDate,R=o.style,O=o.className,A=o.labelProps,M=o.append,V=D(o,L),Z=r.useLocale(),q=t.useDateFieldState(k({},V,{locale:null!=m?m:Z.locale,createCalendar:w,value:d,onChange:c,hideTimeZone:!p,granularity:f?"minute":v,minValue:P,maxValue:"hour"in(null!=x?x:{})?x:void 0!==x?T(x):void 0,isDisabled:h||g,shouldForceLeadingZeros:!0})),B=a.useRef(null),W=n.useDateField(k({},V,{label:u}),q,B),z=W.labelProps,H=W.fieldProps,j=e.useRandomId("datefield");return a.createElement(e.ConditionalWrapper,{condition:void 0!==m,wrapper:function(e){return a.createElement(r.I18nProvider,{locale:m},e)}},a.createElement(i.BaseFormControl,k({style:R,className:l("eds-datefield",O),labelId:j,ref:e.mergeRefs(B,s),disabled:h||g,disableLabelAnimation:!0,label:u,labelTooltip:S,labelProps:null!=A?A:z},H,{variant:null!=C?C:"invalid"===q.validationState?N:void 0,feedback:null!=_?_:"invalid"===q.validationState?F:void 0,append:M,ariaAlertOnFeedback:!0}),q.segments.map((function(e,t){return a.createElement(y,{segment:e,state:q,key:t})}))))})),x=["children","className","style"],R=function(e){var t=e.children,n=e.className,r=e.style,l=D(e,x),i=a.useRef(null),o=u.useButton(l,i);return a.createElement(m.IconButton,k({},o.buttonProps,{ref:i,className:n,style:r}),t)},O=["state","date","onSelectedCellClick","weekNumberString","classNameForDate","ariaLabelForDate"],A=function(e){var t,n,r,i,d=e.state,c=e.date,u=e.onSelectedCellClick,m=void 0===u?function(){}:u,p=e.weekNumberString,f=e.classNameForDate,b=e.ariaLabelForDate,v=D(e,O),g=a.useRef(null),h=s.useCalendarCell({date:c},d,g),y=h.cellProps,C=h.buttonProps,w=h.isSelected,_=h.isOutsideVisibleRange,T=h.isDisabled,E=h.isUnavailable,N=h.formattedDate,I=""+C["aria-label"]+p+" "+(null!=(t=null==b?void 0:b(c))?t:"");return a.createElement("td",k({},y,{className:"eds-datepicker__calendar__grid__cell__td"}),a.createElement("div",k({},C,{"aria-label":I,"aria-hidden":_,ref:g,hidden:_,className:l("eds-datepicker__calendar__grid__cell",(i={},i[null!=(n=null==f?void 0:f(c))?n:""]=!_,i["eds-datepicker__calendar__grid__cell--selected"]=w,i["eds-datepicker__calendar__grid__cell--disabled"]=T||E,i["eds-datepicker__calendar__grid__cell--outside-month"]=_,i["eds-datepicker__calendar__grid__cell--today"]=o.isEqualDay(c,o.now(null!=(r=d.timeZone)?r:o.getLocalTimeZone())),i))},v,{onClick:function(e){C.onClick&&C.onClick(e),w&&m()},onKeyDown:function(e){C.onKeyDown&&C.onKeyDown(e),"Enter"!==e.key&&" "!==e.key||w&&m()}}),N))},M=["state","navigationDescription","onSelectedCellClick","showWeekNumbers","weekNumberHeader","classNameForDate","ariaLabelForDate"],V=function(t){var n=t.state,l=t.navigationDescription,i=t.onSelectedCellClick,d=void 0===i?function(){}:i,c=t.showWeekNumbers,u=t.weekNumberHeader,m=t.classNameForDate,f=t.ariaLabelForDate,b=D(t,M),v=e.useRandomId("eds-calendar"),g=r.useLocale().locale,h=s.useCalendarGrid(b,n),y=h.gridProps,C=h.headerProps,w=h.weekDays,_=o.getWeeksInMonth(n.visibleRange.start,g),T=Array.from(Array(_).keys());return a.createElement(a.Fragment,null,a.createElement("table",k({},y,{cellSpacing:"0",className:"eds-datepicker__calendar__grid"}),a.createElement("thead",k({},C),a.createElement("tr",null,c&&a.createElement("th",{className:"eds-datepicker__calendar__grid__weeknumber-header"},u),function(){if(g.toLowerCase().includes("no"))return["ma","ti","on","to","fr","lø","sø"];if(g.toLowerCase().includes("en")){if("M"===w[0])return["Mo","Tu","We","Th","Fr","Sa","Su"];if("S"===w[0])return["Su","Mo","Tu","We","Th","Fr","Sa"]}return w.map((function(e){return e.toLowerCase()}))}().map((function(e,t){return a.createElement("th",{key:t},e)})))),a.createElement("tbody",null,T.map((function(e){var t=F(n.getDatesInWeek(e)[0]);return a.createElement("tr",{key:e},c&&a.createElement("th",{"aria-hidden":!0,className:"eds-datepicker__calendar__grid__weeknumber"},t),n.getDatesInWeek(e).map((function(e,r){return e?a.createElement(A,{key:r,state:n,date:e,"aria-describedby":v+"description",weekNumberString:c?", "+u+" "+t+",":"",onSelectedCellClick:d,classNameForDate:m,ariaLabelForDate:f}):a.createElement("td",{key:r})})))})))),a.createElement(p.VisuallyHidden,{id:v+"description"},l||(g.toLowerCase().includes("en")?"Use the arrow keys to navigate between dates":"Bruk piltastene til å navigere mellom datoer")))},Z=["locale"],q=["selectedDate","onChange","minDate","maxDate","showWeekNumbers","weekNumberHeader","style","className","navigationDescription","onSelectedCellClick","classNameForDate","ariaLabelForDate","calendarRef"],B=function(e){var t=e.locale,n=D(e,Z),l=r.useLocale();return a.createElement(r.I18nProvider,{locale:null!=t?t:l.locale},a.createElement(W,k({},n)))},W=function(e){var t=e.selectedDate,n=e.onChange,i=e.minDate,o=e.maxDate,u=e.showWeekNumbers,m=void 0!==u&&u,p=e.weekNumberHeader,f=void 0===p?"uke":p,b=e.style,v=e.className,g=e.navigationDescription,h=e.onSelectedCellClick,y=void 0===h?function(){}:h,C=e.classNameForDate,T=e.ariaLabelForDate,E=e.calendarRef,N=D(e,q),I=r.useLocale().locale,F=k({},N,{value:t,onChange:n,locale:I,createCalendar:w,minValue:i,maxValue:o}),S=d.useCalendarState(F),L=s.useCalendar(F,S),P=L.prevButtonProps,x=L.nextButtonProps,O=L.title;return a.createElement("div",k({},L.calendarProps,{ref:E,className:l("eds-datepicker__calendar",v),style:b}),a.createElement("div",{className:"eds-datepicker__calendar__header"},a.createElement(R,k({},P,{"aria-label":_("Forrige måned",I,P)}),a.createElement(c.LeftArrowIcon,{size:20})),a.createElement("h2",null,O),a.createElement(R,k({},x,{"aria-label":_("Neste måned",I,x)}),a.createElement(c.RightArrowIcon,{size:20}))),a.createElement(V,{state:S,navigationDescription:g,onSelectedCellClick:y,classNameForDate:C,ariaLabelForDate:T,showWeekNumbers:m,weekNumberHeader:f}))},z=["selectedDate","onChange","locale","disabled","showTime","showTimeZone","classNameForDate","className","style","variant","feedback","validationVariant","validationFeedback","showWeekNumbers","weekNumberHeader","disableModal","labelTooltip","navigationDescription","minDate","maxDate","modalTreshold","forcedReturnType","ariaLabelForDate"],H=["className","style","label","onChange","feedback","variant","disableLabelAnimation","prepend"],j=["onChange","variant","value"],U=a.forwardRef((function(t,n){var r=t.className,l=t.style,o=t.label,s=t.onChange,d=t.feedback,u=t.variant,m=t.disableLabelAnimation,p=t.prepend,f=void 0===p?a.createElement(c.DateIcon,{inline:!0}):p,b=D(t,H),v=e.useRandomId("eds-nativetimepicker");return a.createElement(i.BaseFormControl,{style:l,className:r,prepend:f,label:o,feedback:d,variant:u,labelId:v,disableLabelAnimation:m,isFilled:!0},a.createElement(K,k({onChange:s,"aria-labelledby":v,ref:n,variant:u},b)))})),K=a.forwardRef((function(t,n){var r=t.onChange,l=t.variant,o=t.value,s=D(t,j),d=i.useVariant(),c=l||d,u=i.useInputGroupContext(),m=u.isFilled,p=u.setFilled;return e.useOnMount((function(){p&&!m&&p(!0)})),a.useEffect((function(){o?p&&!m&&p(!0):p&&m&&p(!1)}),[o,p,m]),a.createElement("input",k({ref:n,"aria-invalid":"error"===c,type:"date",className:"eds-form-control eds-native-date-picker",onChange:function(e){i.isFilled(e.target)?p&&!m&&p(!0):p&&m&&p(!1),r&&r(e)},value:o},s))})),G=["direction","onClick","disabled","aria-label"],Y=function(e){var t=e.direction,n=e.onClick,r=e.disabled,i=e["aria-label"],o=D(e,G);return a.createElement(m.IconButton,k({className:l("eds-timepicker__arrowbutton","eds-timepicker__arrowbutton--"+t,{"eds-timepicker__arrowbutton--disabled":r}),type:"button",tabIndex:-1,onClick:n,"aria-label":i,disabled:r},o),a.createElement("left"===t?c.LeftArrowIcon:c.RightArrowIcon,null))},$=["selectedTime","onChange","disabled","className","style","label","labelTooltip","feedback","granularity","variant","locale","showTimeZone","showSeconds","minuteIncrementForArrowButtons","leftArrowButtonAriaLabel","rightArrowButtonAriaLabel","inputRef","forcedReturnType","forcedTimeZone"],J=["className","style","onChange","label","feedback","variant","prepend"],Q=["onChange","value"],X=a.forwardRef((function(t,n){var r=t.className,o=t.style,s=t.onChange,d=t.label,c=t.feedback,u=t.variant,m=t.prepend,p=D(t,J),f=e.useRandomId("eds-native-timepicker");return a.createElement(i.BaseFormControl,{style:o,className:l(r,"eds-native-timepicker"),prepend:m,label:d,feedback:c,variant:u,labelId:f,disableLabelAnimation:!0},a.createElement(ee,k({onChange:s,"aria-labelledby":f,ref:n},p)))})),ee=a.forwardRef((function(t,n){var r=t.onChange,l=t.value,o=D(t,Q),s=i.useVariant(),d=o.variant||s,c=i.useInputGroupContext(),u=c.isFilled,m=c.setFilled;return e.useOnMount((function(){m&&!u&&m(!0)})),a.useEffect((function(){l?m&&!u&&m(!0):m&&u&&m(!1)}),[l,m,u]),a.createElement("input",k({ref:n,"aria-invalid":"error"===d,type:"time",className:"eds-form-control",onChange:function(e){i.isFilled(e.target)?m&&!u&&m(!0):m&&u&&m(!1),r&&r(e)},value:l},o))})),ae=["append","className","disabled","feedback","showClockIcon","inputRef","label","labelTooltip","onChange","padding","prepend","readOnly","selectedTime","showSeconds","style","variant"],te=["onBlur","onClick","onDragStart","onFocus","onKeyDown","onKeyUp","onMouseDown","onPointerDown","onPointerUp"];!function(e){e[e.RESET_TIME=0]="RESET_TIME",e[e.INVALID=1]="INVALID"}(S||(S={})),e.warnAboutMissingStyles("datepicker","form","icons"),Object.defineProperty(exports,"CalendarDate",{enumerable:!0,get:function(){return o.CalendarDate}}),Object.defineProperty(exports,"CalendarDateTime",{enumerable:!0,get:function(){return o.CalendarDateTime}}),Object.defineProperty(exports,"Time",{enumerable:!0,get:function(){return o.Time}}),Object.defineProperty(exports,"ZonedDateTime",{enumerable:!0,get:function(){return o.ZonedDateTime}}),exports.Calendar=B,exports.DateField=P,exports.DatePicker=function(i){var o=i.selectedDate,s=i.onChange,d=i.locale,u=i.disabled,m=i.showTime,p=i.showTimeZone,h=void 0!==p&&p,y=i.classNameForDate,C=i.className,w=i.variant,_=i.feedback,N=i.validationVariant,I=i.validationFeedback,F=i.showWeekNumbers,S=i.weekNumberHeader,L=i.disableModal,x=void 0!==L&&L,O=i.labelTooltip,A=i.navigationDescription,M=i.minDate,V=i.maxDate,Z=i.modalTreshold,q=void 0===Z?1e3:Z,W=i.forcedReturnType,H=i.ariaLabelForDate,j=D(i,z),U=q,K=a.useRef(null),G=a.useRef(null),Y=e.useWindowDimensions().width,$=function(e){if(void 0!==W)return s(E({value:e,type:W,timezone:null!==e&&"timezone"in e?e.timezone:void 0}));s(e)},J=t.useDatePickerState(k({},j,{minValue:M,maxValue:"hour"in(null!=V?V:{})?V:void 0!==V?T(V):void 0,value:o,onChange:$,granularity:m?"minute":j.granularity,isDisabled:u})),Q=n.useDatePicker(k({},j),J,K),X=Q.groupProps,ee=Q.labelProps,ae=Q.fieldProps,te=Q.buttonProps,ne=Q.dialogProps,re=Q.calendarProps,le=f.useFloating({whileElementsMounted:function(e,a,t){return f.autoUpdate(e,a,t,{elementResize:!1})},placement:"bottom-start",middleware:[f.offset(v.space.extraSmall2),f.flip(),f.shift({padding:v.space.extraSmall})]}),ie=le.refs,oe=le.floatingStyles,se=le.update;e.useOnClickOutside([G],(function(){J.setOpen(!1)})),e.useOnEscape(G,(function(){J.setOpen(!1)}));var de=k({},ne,re,{disabled:u,navigationDescription:A,onSelectedCellClick:function(){return J.setOpen(!1)},selectedDate:o,onChange:$,minDate:M,maxDate:V,calendarRef:G,classNameForDate:y,ariaLabelForDate:H,showWeekNumbers:F,weekNumberHeader:S}),ce=void 0!==Y&&Y<=U&&!x,ue=a.createElement("div",{style:k({},oe,{zIndex:v.zIndexes.popover}),ref:ie.setFloating},a.createElement(b,{disabled:!J.isOpen||ce,returnFocus:!0},J.isOpen&&a.createElement(B,k({},de)))),me=a.createElement(g.Modal,{size:"small",title:"",open:J.isOpen,onDismiss:function(){return J.setOpen(!1)},className:"eds-datepicker__calendar-modal"},a.createElement(B,k({},de)));return a.createElement(e.ConditionalWrapper,{condition:void 0!==d,wrapper:function(e){return a.createElement(r.I18nProvider,{locale:d},e)}},a.createElement("div",{className:l("eds-datepicker",C)},a.createElement("div",k({},X,{ref:K,id:void 0,className:"eds-datepicker__datefield__wrapper"}),a.createElement(P,k({},ae,{selectedDate:o,onChange:$,label:j.label,labelProps:ee,disabled:u,minDate:M,maxDate:V,showTime:m,showTimeZone:h,ref:ie.setReference,variant:w,feedback:_,validationVariant:N,validationFeedback:I,labelTooltip:O,className:l("eds-datepicker__datefield",{"eds-datepicker__datefield--disabled":u})})),!u&&a.createElement(R,k({},te,{onPress:function(){J.setOpen(!J.isOpen),se()},className:"eds-datepicker__open-calendar-button"}),a.createElement(c.CalendarIcon,null)),ce?me:ue)))},exports.NativeDatePicker=U,exports.NativeTimePicker=X,exports.SimpleTimePicker=function(s){var d=s.append,u=s.disabled,m=s.feedback,p=s.showClockIcon,f=void 0===p?"right":p,b=s.inputRef,v=s.label,g=s.labelTooltip,h=s.onChange,y=s.padding,C=void 0===y?"default":y,w=s.prepend,_=s.readOnly,T=s.selectedTime,E=s.showSeconds,N=s.style,I=s.variant,F=D(s,ae),L=a.useState(""),P=L[0],x=L[1],R=a.useRef(null),O=a.useState(null),A=O[0],M=O[1],V=r.useLocale().locale,Z=t.useTimeFieldState(k({onChange:h,label:v,locale:V,value:T,hideTimeZone:!0,isDisabled:u,isReadOnly:_},F)),q=n.useTimeField(k({},F,{label:v}),Z,R),B=q.labelProps,W=q.fieldProps;a.useEffect((function(){z(),null!==T&&M(T)}),[null==T?void 0:T.toString()]);var z=function(){var e=H(T);x(e);var a=document.activeElement===(null==R?void 0:R.current);""!==e||a||j()},H=function(e){if(null===e)return"";var a="day"in e?o.toTime(e):e;return E?a.toString().slice(0,8):a.toString().slice(0,5)},j=function(){x(E?"–– : –– : ––":"–– : ––")},U=function(){var e=K();if(e===S.INVALID)return z();(null==e?void 0:e.toString())!==(null==T?void 0:T.toString())&&(null==h||h(e))},K=function(){var e=G(P),a=Y(e);return a===S.INVALID?S.INVALID:a===S.RESET_TIME?null:$(a)},G=function(e){if(0===e.length)return S.RESET_TIME;if(e.length<3||e.length>8)return S.INVALID;var a=(e.match(new RegExp(":","g"))||[]).length,t=e.length;if(2===a&&t>=7)return e.padStart(8,"0");if(1===a)return e.padStart(5,"0");if(t>6)return S.INVALID;var n,r=t%2==0,l=e.slice(0,r?2:1),i=r?e.slice(2,4):e.slice(1,3),o=""===(n=r?e.slice(4,6):e.slice(3,5))?"00":n;return l.padStart(2,"0")+":"+i+(E?":"+o:"")},Y=function(e){if(e===S.INVALID)return S.INVALID;if(e===S.RESET_TIME)return S.RESET_TIME;var a=/^\d+$/,t=e.slice(0,2),n=e.slice(3,5),r=e.slice(6,8);if(t.match(a)&&n.match(a)&&(""===r||r.match(a)))try{return o.parseTime(e)}catch(e){return S.INVALID}return S.INVALID},$=function(e){return(null!=A?A:new o.Time).set({hour:e.hour,minute:e.minute,second:e.second})},J=D(W,te);return a.createElement(r.I18nProvider,{locale:V},a.createElement(i.TextField,k({append:d||(!0===f||"right"===f?a.createElement(c.ClockIcon,{onClick:function(){var e;return null==R||null==(e=R.current)?void 0:e.focus()}}):void 0),className:l("eds-simple-timepicker",{"eds-simple-timepicker--padding-large":"large"===C,"eds-simple-timepicker--show-seconds":E,"eds-simple-timepicker--hide-clock":!f}),disabled:u,disableLabelAnimation:!0,feedback:m,label:v,labelProps:B,labelTooltip:g,onBlur:function(){U(),null===T&&j()},onChange:function(e){return x(e.target.value)},onFocus:function(){null===T&&x("")},onKeyDown:function(e){"Enter"===e.key&&U()},placeholder:E?"–– : –– : ––":"–– : ––",prepend:w||("left"===f?a.createElement(c.ClockIcon,{onClick:function(){var e;return null==R||null==(e=R.current)?void 0:e.focus()}}):void 0),readOnly:_,ref:e.mergeRefs(R,b),style:N,value:P,variant:I},J)))},exports.TimePicker=function(s){var d=s.selectedTime,c=s.onChange,u=s.disabled,m=s.className,f=s.style,b=s.label,v=s.labelTooltip,g=s.feedback,h=s.granularity,C=s.variant,w=s.locale,_=s.showTimeZone,T=s.showSeconds,F=void 0!==T&&T,S=s.minuteIncrementForArrowButtons,L=void 0===S?30:S,P=s.leftArrowButtonAriaLabel,x=void 0===P?"Trekk fra "+L+" minutter":P,R=s.rightArrowButtonAriaLabel,O=void 0===R?"Legg til "+L+" minutter":R,A=s.inputRef,M=s.forcedReturnType,V=s.forcedTimeZone,Z=D(s,$),q=r.useLocale().locale;w&&(q=w);var B=e.useRandomId("eds-timepicker"),W=null!=V?V:null!==d&&"timezone"in d?d.timezone:"Europe/Oslo",z=function(e){if(void 0!==M)return c(E({value:e,type:M,timezone:W}));c(e)},H=t.useTimeFieldState(k({onChange:z,label:b,locale:q,value:d,granularity:(null!=h?h:F)?"second":"minute",hideTimeZone:!_,isDisabled:u,shouldForceLeadingZeros:!0},Z)),j=a.useRef(null),U=n.useTimeField(k({},Z,{label:b}),H,j),K=U.labelProps,G=U.fieldProps,J=e.useRandomId("timepicker"),Q=function(e){if(null===d)return z(E({value:o.now(W),type:null!=M?M:"ZonedDateTime"}));switch(e){case"add":return z(d.add({minutes:L-N(d.minute,L)}));case"subtract":return z(d.subtract({minutes:N(d.minute-1,L)+1}))}};return a.createElement(r.I18nProvider,{locale:q},a.createElement("div",{className:l(m,"eds-timepicker__wrapper")},a.createElement(i.BaseFormControl,k({style:f,className:l("eds-timepicker",{"eds-timepicker--disabled":u}),labelId:J,label:b,labelProps:k({},K,{"aria-describedby":B+"description"}),ref:e.mergeRefs(j,A),disabled:u,disableLabelAnimation:!0,labelTooltip:v},G,{variant:C,feedback:g,ariaAlertOnFeedback:!0,"aria-describedby":B+"description",prepend:a.createElement(Y,{direction:"left",disabled:u,"aria-label":x,onClick:function(){return Q("subtract")},onFocus:function(){return I(j,"first")}}),append:a.createElement(Y,{direction:"right",disabled:u,"aria-label":O,onClick:function(){return Q("add")},onFocus:function(){return I(j,"last")}})}),H.segments.map((function(e,t){return a.createElement(y,{segment:e,state:H,key:t,"aria-describedby":B+"description"})}))),a.createElement(p.VisuallyHidden,{id:B+"description"},null!==d?"valgt tid: "+d.hour.toString().padStart(2,"0")+":"+d.minute.toString().padStart(2,"0")+(F?":"+d.second.toString().padStart(2,"0"):""):"")))},exports.ariaLabelIfNorwegian=_,exports.convertValueToType=E,exports.createCalendar=w,exports.focusSegment=I,exports.getWeekNumberForDate=F,exports.lastMillisecondOfDay=T,exports.modulo=N,exports.nativeDateToDateValue=function(e,a,t,n){return void 0===a&&(a=!1),null===e?null:a?new o.CalendarDate(e.getFullYear(),e.getMonth()+1,e.getDate()):C(e,t,n)},exports.nativeDateToTimeValue=function(e,a,t,n){return void 0===a&&(a=!1),null===e?null:a?new o.Time(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()):C(e,t,n)},exports.timeOrDateValueToNativeDate=function(e,a){if(null===e)return null;if(!("day"in e)){var t=new Date;return t.setHours(e.hour),t.setMinutes(e.minute),t.setSeconds(e.second),t.setMilliseconds(e.millisecond),t}return"hour"in e?"timeZone"in e?e.toDate():e.toDate(a||o.getLocalTimeZone()):e.toDate(null!=a?a:o.getLocalTimeZone())};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),a=require("react"),t=require("@react-stately/datepicker"),n=require("@react-aria/datepicker"),r=require("@react-aria/i18n"),l=require("classnames"),i=require("@entur/form"),o=require("@internationalized/date"),s=require("@react-aria/calendar"),d=require("@react-stately/calendar"),c=require("@entur/icons"),u=require("@react-aria/button"),m=require("@entur/button"),p=require("@entur/a11y"),f=require("@floating-ui/react-dom"),b=require("react-focus-lock"),v=require("@entur/tokens"),g=require("@entur/modal");function k(){return k=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},k.apply(this,arguments)}function h(e,a){if(null==e)return{};var t,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a.indexOf(t=l[n])>=0||(r[t]=e[t]);return r}var D=["segment","state"],y=function(e){var t=e.segment,r=e.state,i=h(e,D),o=a.useRef(null),s=n.useDateSegment(t,r,o).segmentProps;return a.createElement("div",k({},s,{ref:o,className:l("eds-date-and-time-field__segment",{"eds-date-and-time-field__segment--placeholder":t.isPlaceholder,"eds-date-and-time-field__segment--dot-separator":"."===t.text}),tabIndex:r.isDisabled?-1:s.tabIndex},i),t.text)},C=function(e,a,t){return a?t?new o.ZonedDateTime(e.getFullYear(),e.getMonth()+1,e.getDate(),a,t,e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()):o.parseAbsolute(e.toISOString(),a):new o.CalendarDateTime(e.getFullYear(),e.getMonth()+1,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())},w=function(e){if(void 0===e&&(e="gregory"),"gregory"===e)return new o.GregorianCalendar;throw new Error("Unsupported calendar "+e)},E=function(e,a,t){return"no-no"!==a.toLowerCase()?t["aria-label"]:e},T=function(e){return o.toCalendarDateTime(e.add({days:1})).add({milliseconds:-1})},_=function(e){var a=e.value,t=e.timezone,n=void 0===t?"Europe/Oslo":t;if(null===a)return null;switch(e.type){case"CalendarDate":return"day"in a?o.toCalendarDate(a):o.today(n);case"CalendarDateTime":return"day"in a?o.toCalendarDateTime(a):o.toCalendarDateTime(o.today(n),a);case"ZonedDateTime":return o.toZoned("day"in a?a:o.toCalendarDateTime(o.today(n),a),n);case"Time":return"hour"in a?"day"in a?o.toTime(a):a:o.toTime(o.now(n));default:return a}},N=function(e,a){return(e%a+a)%a},I=function(e,a){if(e.current){var t=e.current.querySelectorAll(".eds-date-and-time-field__segment"),n=t[0],r=t[t.length-1];switch(a){case"first":return n.focus();case"last":return r.focus()}}};function F(e){if(null===e)return-1;var a=_({value:e,type:"CalendarDate"}),t=o.startOfWeek(a,"no-NO").add({days:3}),n=o.startOfYear(t);return Math.ceil((t.compare(n)+1)/7)}var S,P=["selectedDate","onChange","label","locale","showTimeZone","showTime","granularity","disabled","isDisabled","variant","feedback","validationVariant","validationFeedback","labelTooltip","minDate","maxDate","style","className","labelProps","fieldProps","groupProps","append","prepend","dateFieldRef"],L=function(o){var s=o.selectedDate,d=o.onChange,c=o.label,u=o.locale,m=o.showTimeZone,p=o.showTime,f=o.granularity,b=void 0===f?"day":f,v=o.disabled,g=o.isDisabled,D=o.variant,C=o.feedback,E=o.validationVariant,_=void 0===E?"negative":E,N=o.validationFeedback,I=void 0===N?"Ugyldig dato":N,F=o.labelTooltip,S=o.minDate,L=o.maxDate,x=o.style,R=o.className,O=o.labelProps,A=o.fieldProps,M=o.groupProps,V=o.append,Z=o.prepend,q=o.dateFieldRef,B=h(o,P),W=r.useLocale(),z=t.useDateFieldState(k({},B,{locale:null!=u?u:W.locale,createCalendar:w,value:s,onChange:d,hideTimeZone:!m,granularity:p?"minute":b,minValue:S,maxValue:"hour"in(null!=L?L:{})?L:void 0!==L?T(L):void 0,isDisabled:g||v,shouldForceLeadingZeros:!0})),H=a.useRef(null),j=n.useDateField(k({},A,B,{label:c}),z,H),U=j.labelProps,K=j.fieldProps,G=e.useRandomId("datefield");return a.createElement(e.ConditionalWrapper,{condition:void 0!==u,wrapper:function(e){return a.createElement(r.I18nProvider,{locale:u},e)}},a.createElement(i.BaseFormControl,k({append:V,ariaAlertOnFeedback:!0,className:l("eds-datefield",R,{"eds-datefield--has-tooltip":void 0!==F}),disabled:g||v,disableLabelAnimation:!0,feedback:null!=C?C:"invalid"===z.validationState?I:void 0,label:c,labelId:G,labelProps:null!=O?O:U,labelTooltip:F,prepend:Z,ref:q,style:x,variant:null!=D?D:"invalid"===z.validationState?_:void 0},M),a.createElement("span",k({ref:H},K,{style:{display:"contents"}}),z.segments.map((function(e,t){return a.createElement(y,{segment:e,state:z,key:t})})))))},x=["children","className","style"],R=function(e){var t=e.children,n=e.className,r=e.style,l=h(e,x),i=a.useRef(null),o=u.useButton(l,i);return a.createElement(m.IconButton,k({},o.buttonProps,{ref:i,className:n,style:r}),t)},O=["state","date","onSelectedCellClick","weekNumberString","classNameForDate","ariaLabelForDate"],A=function(e){var t,n,r,i,d=e.state,c=e.date,u=e.onSelectedCellClick,m=void 0===u?function(){}:u,p=e.weekNumberString,f=e.classNameForDate,b=e.ariaLabelForDate,v=h(e,O),g=a.useRef(null),D=s.useCalendarCell({date:c},d,g),y=D.cellProps,C=D.buttonProps,w=D.isSelected,E=D.isOutsideVisibleRange,T=D.isDisabled,_=D.isUnavailable,N=D.formattedDate,I=""+C["aria-label"]+p+" "+(null!=(t=null==b?void 0:b(c))?t:"");return a.createElement("td",k({},y,{className:"eds-datepicker__calendar__grid__cell__td"}),a.createElement("div",k({},C,{"aria-label":I,"aria-hidden":E,ref:g,hidden:E,className:l("eds-datepicker__calendar__grid__cell",(i={},i[null!=(n=null==f?void 0:f(c))?n:""]=!E,i["eds-datepicker__calendar__grid__cell--selected"]=w,i["eds-datepicker__calendar__grid__cell--disabled"]=T||_,i["eds-datepicker__calendar__grid__cell--outside-month"]=E,i["eds-datepicker__calendar__grid__cell--today"]=o.isEqualDay(c,o.now(null!=(r=d.timeZone)?r:o.getLocalTimeZone())),i))},v,{onClick:function(e){C.onClick&&C.onClick(e),w&&m()},onKeyDown:function(e){C.onKeyDown&&C.onKeyDown(e),"Enter"!==e.key&&" "!==e.key||w&&m()}}),N))},M=["state","navigationDescription","onSelectedCellClick","showWeekNumbers","weekNumberHeader","classNameForDate","ariaLabelForDate"],V=function(t){var n=t.state,l=t.navigationDescription,i=t.onSelectedCellClick,d=void 0===i?function(){}:i,c=t.showWeekNumbers,u=t.weekNumberHeader,m=t.classNameForDate,f=t.ariaLabelForDate,b=h(t,M),v=e.useRandomId("eds-calendar"),g=r.useLocale().locale,D=s.useCalendarGrid(b,n),y=D.gridProps,C=D.headerProps,w=D.weekDays,E=o.getWeeksInMonth(n.visibleRange.start,g),T=Array.from(Array(E).keys());return a.createElement(a.Fragment,null,a.createElement("table",k({},y,{cellSpacing:"0",className:"eds-datepicker__calendar__grid"}),a.createElement("thead",k({},C),a.createElement("tr",null,c&&a.createElement("th",{className:"eds-datepicker__calendar__grid__weeknumber-header"},u),function(){if(g.toLowerCase().includes("no"))return["ma","ti","on","to","fr","lø","sø"];if(g.toLowerCase().includes("en")){if("M"===w[0])return["Mo","Tu","We","Th","Fr","Sa","Su"];if("S"===w[0])return["Su","Mo","Tu","We","Th","Fr","Sa"]}return w.map((function(e){return e.toLowerCase()}))}().map((function(e,t){return a.createElement("th",{key:t},e)})))),a.createElement("tbody",null,T.map((function(e){var t=F(n.getDatesInWeek(e)[0]);return a.createElement("tr",{key:e},c&&a.createElement("th",{"aria-hidden":!0,className:"eds-datepicker__calendar__grid__weeknumber"},t),n.getDatesInWeek(e).map((function(e,r){return e?a.createElement(A,{key:r,state:n,date:e,"aria-describedby":v+"description",weekNumberString:c?", "+u+" "+t+",":"",onSelectedCellClick:d,classNameForDate:m,ariaLabelForDate:f}):a.createElement("td",{key:r})})))})))),a.createElement(p.VisuallyHidden,{id:v+"description"},l||(g.toLowerCase().includes("en")?"Use the arrow keys to navigate between dates":"Bruk piltastene til å navigere mellom datoer")))},Z=["locale"],q=["selectedDate","onChange","minDate","maxDate","showWeekNumbers","weekNumberHeader","style","className","navigationDescription","onSelectedCellClick","classNameForDate","ariaLabelForDate","calendarRef"],B=function(e){var t=e.locale,n=h(e,Z),l=r.useLocale();return a.createElement(r.I18nProvider,{locale:null!=t?t:l.locale},a.createElement(W,k({},n)))},W=function(e){var t=e.selectedDate,n=e.onChange,i=e.minDate,o=e.maxDate,u=e.showWeekNumbers,m=void 0!==u&&u,p=e.weekNumberHeader,f=void 0===p?"uke":p,b=e.style,v=e.className,g=e.navigationDescription,D=e.onSelectedCellClick,y=void 0===D?function(){}:D,C=e.classNameForDate,T=e.ariaLabelForDate,_=e.calendarRef,N=h(e,q),I=r.useLocale().locale,F=k({},N,{value:t,onChange:n,locale:I,createCalendar:w,minValue:i,maxValue:o}),S=d.useCalendarState(F),P=s.useCalendar(F,S),L=P.prevButtonProps,x=P.nextButtonProps,O=P.title;return a.createElement("div",k({},P.calendarProps,{ref:_,className:l("eds-datepicker__calendar",v),style:b}),a.createElement("div",{className:"eds-datepicker__calendar__header"},a.createElement(R,k({},L,{"aria-label":E("Forrige måned",I,L)}),a.createElement(c.LeftArrowIcon,{size:20})),a.createElement("h2",null,O),a.createElement(R,k({},x,{"aria-label":E("Neste måned",I,x)}),a.createElement(c.RightArrowIcon,{size:20}))),a.createElement(V,{state:S,navigationDescription:g,onSelectedCellClick:y,classNameForDate:C,ariaLabelForDate:T,showWeekNumbers:m,weekNumberHeader:f}))},z=["selectedDate","onChange","locale","disabled","showTime","showTimeZone","classNameForDate","className","style","variant","feedback","validationVariant","validationFeedback","showWeekNumbers","weekNumberHeader","disableModal","labelTooltip","navigationDescription","minDate","maxDate","modalTreshold","forcedReturnType","ariaLabelForDate","append","prepend"],H=["className","style","label","onChange","feedback","variant","disableLabelAnimation","prepend"],j=["onChange","variant","value"],U=a.forwardRef((function(t,n){var r=t.className,l=t.style,o=t.label,s=t.onChange,d=t.feedback,u=t.variant,m=t.disableLabelAnimation,p=t.prepend,f=void 0===p?a.createElement(c.DateIcon,{inline:!0}):p,b=h(t,H),v=e.useRandomId("eds-nativetimepicker");return a.createElement(i.BaseFormControl,{style:l,className:r,prepend:f,label:o,feedback:d,variant:u,labelId:v,disableLabelAnimation:m,isFilled:!0},a.createElement(K,k({onChange:s,"aria-labelledby":v,ref:n,variant:u},b)))})),K=a.forwardRef((function(t,n){var r=t.onChange,l=t.variant,o=t.value,s=h(t,j),d=i.useVariant(),c=l||d,u=i.useInputGroupContext(),m=u.isFilled,p=u.setFilled;return e.useOnMount((function(){p&&!m&&p(!0)})),a.useEffect((function(){o?p&&!m&&p(!0):p&&m&&p(!1)}),[o,p,m]),a.createElement("input",k({ref:n,"aria-invalid":"error"===c,type:"date",className:"eds-form-control eds-native-date-picker",onChange:function(e){i.isFilled(e.target)?p&&!m&&p(!0):p&&m&&p(!1),r&&r(e)},value:o},s))})),G=["direction","onClick","disabled","aria-label"],Y=function(e){var t=e.direction,n=e.onClick,r=e.disabled,i=e["aria-label"],o=h(e,G);return a.createElement(m.IconButton,k({className:l("eds-timepicker__arrowbutton","eds-timepicker__arrowbutton--"+t,{"eds-timepicker__arrowbutton--disabled":r}),type:"button",tabIndex:-1,onClick:n,"aria-label":i,disabled:r},o),a.createElement("left"===t?c.LeftArrowIcon:c.RightArrowIcon,null))},$=["selectedTime","onChange","disabled","className","style","label","labelTooltip","feedback","granularity","variant","locale","showTimeZone","showSeconds","minuteIncrementForArrowButtons","leftArrowButtonAriaLabel","rightArrowButtonAriaLabel","inputRef","forcedReturnType","forcedTimeZone","append","prepend"],J=["className","style","onChange","label","feedback","variant","prepend"],Q=["onChange","value"],X=a.forwardRef((function(t,n){var r=t.className,o=t.style,s=t.onChange,d=t.label,c=t.feedback,u=t.variant,m=t.prepend,p=h(t,J),f=e.useRandomId("eds-native-timepicker");return a.createElement(i.BaseFormControl,{style:o,className:l(r,"eds-native-timepicker"),prepend:m,label:d,feedback:c,variant:u,labelId:f,disableLabelAnimation:!0},a.createElement(ee,k({onChange:s,"aria-labelledby":f,ref:n},p)))})),ee=a.forwardRef((function(t,n){var r=t.onChange,l=t.value,o=h(t,Q),s=i.useVariant(),d=o.variant||s,c=i.useInputGroupContext(),u=c.isFilled,m=c.setFilled;return e.useOnMount((function(){m&&!u&&m(!0)})),a.useEffect((function(){l?m&&!u&&m(!0):m&&u&&m(!1)}),[l,m,u]),a.createElement("input",k({ref:n,"aria-invalid":"error"===d,type:"time",className:"eds-form-control",onChange:function(e){i.isFilled(e.target)?m&&!u&&m(!0):m&&u&&m(!1),r&&r(e)},value:l},o))})),ae=["append","className","disabled","feedback","showClockIcon","inputRef","label","labelTooltip","onChange","padding","prepend","readOnly","selectedTime","showSeconds","style","variant"],te=["onBlur","onClick","onDragStart","onFocus","onKeyDown","onKeyUp","onMouseDown","onPointerDown","onPointerUp"];!function(e){e[e.RESET_TIME=0]="RESET_TIME",e[e.INVALID=1]="INVALID"}(S||(S={})),e.warnAboutMissingStyles("datepicker","form","icons"),Object.defineProperty(exports,"CalendarDate",{enumerable:!0,get:function(){return o.CalendarDate}}),Object.defineProperty(exports,"CalendarDateTime",{enumerable:!0,get:function(){return o.CalendarDateTime}}),Object.defineProperty(exports,"Time",{enumerable:!0,get:function(){return o.Time}}),Object.defineProperty(exports,"ZonedDateTime",{enumerable:!0,get:function(){return o.ZonedDateTime}}),exports.Calendar=B,exports.DateField=L,exports.DatePicker=function(i){var o=i.selectedDate,s=i.onChange,d=i.locale,u=i.disabled,m=i.showTime,p=i.showTimeZone,D=void 0!==p&&p,y=i.classNameForDate,C=i.className,w=i.style,E=i.variant,N=i.feedback,I=i.validationVariant,F=i.validationFeedback,S=i.showWeekNumbers,P=i.weekNumberHeader,x=i.disableModal,O=void 0!==x&&x,A=i.labelTooltip,M=i.navigationDescription,V=i.minDate,Z=i.maxDate,q=i.modalTreshold,W=void 0===q?1e3:q,H=i.forcedReturnType,j=i.ariaLabelForDate,U=i.append,K=i.prepend,G=h(i,z),Y=W,$=a.useRef(null),J=a.useRef(null),Q=e.useWindowDimensions().width,X=function(e){if(void 0!==H)return s(_({value:e,type:H,timezone:null!==e&&"timezone"in e?e.timezone:void 0}));s(e)},ee=t.useDatePickerState(k({},G,{minValue:V,maxValue:"hour"in(null!=Z?Z:{})?Z:void 0!==Z?T(Z):void 0,value:o,onChange:X,granularity:m?"minute":G.granularity,isDisabled:u})),ae=n.useDatePicker(k({},G),ee,$),te=ae.groupProps,ne=ae.labelProps,re=ae.fieldProps,le=ae.buttonProps,ie=ae.dialogProps,oe=ae.calendarProps,se=f.useFloating({whileElementsMounted:function(e,a,t){return f.autoUpdate(e,a,t,{elementResize:!1})},placement:"bottom-start",middleware:[f.offset(v.space.extraSmall2),f.flip(),f.shift({padding:v.space.extraSmall})]}),de=se.refs,ce=se.floatingStyles,ue=se.update;e.useOnClickOutside([J],(function(){ee.setOpen(!1)})),e.useOnEscape(J,(function(){ee.setOpen(!1)}));var me=k({},ie,oe,{disabled:u,navigationDescription:M,onSelectedCellClick:function(){return ee.setOpen(!1)},selectedDate:o,onChange:X,minDate:V,maxDate:Z,calendarRef:J,classNameForDate:y,ariaLabelForDate:j,showWeekNumbers:S,weekNumberHeader:P}),pe=void 0!==Q&&Q<=Y&&!O,fe=a.createElement("div",{style:k({},ce,{zIndex:v.zIndexes.popover}),ref:de.setFloating},a.createElement(b,{disabled:!ee.isOpen||pe,returnFocus:!0},ee.isOpen&&a.createElement(B,k({},me)))),be=a.createElement(g.Modal,{size:"small",title:"",open:ee.isOpen,onDismiss:function(){return ee.setOpen(!1)},className:"eds-datepicker__calendar-modal"},a.createElement(B,k({},me)));return a.createElement(e.ConditionalWrapper,{condition:void 0!==d,wrapper:function(e){return a.createElement(r.I18nProvider,{locale:d},e)}},a.createElement(L,{append:!u&&a.createElement("div",{style:{display:"flex",alignItems:"center"}},U,a.createElement(R,k({},le,{onPress:function(){ee.setOpen(!ee.isOpen),ue()},className:"eds-datepicker__open-calendar-button"}),a.createElement(c.CalendarIcon,null))),prepend:K,className:l("eds-datepicker",C,{"eds-datepicker--disabled":u}),disabled:u,feedback:N,fieldProps:re,groupProps:te,label:G.label,labelProps:ne,labelTooltip:A,maxDate:Z,minDate:V,onChange:X,dateFieldRef:function(e){de.setReference(e),$.current=e},selectedDate:o,showTime:m,showTimeZone:D,style:w,validationFeedback:F,validationVariant:I,variant:E}),pe?be:fe)},exports.NativeDatePicker=U,exports.NativeTimePicker=X,exports.SimpleTimePicker=function(s){var d=s.append,u=s.disabled,m=s.feedback,p=s.showClockIcon,f=void 0===p?"right":p,b=s.inputRef,v=s.label,g=s.labelTooltip,D=s.onChange,y=s.padding,C=void 0===y?"default":y,w=s.prepend,E=s.readOnly,T=s.selectedTime,_=s.showSeconds,N=s.style,I=s.variant,F=h(s,ae),P=a.useState(""),L=P[0],x=P[1],R=a.useRef(null),O=a.useState(null),A=O[0],M=O[1],V=r.useLocale().locale,Z=t.useTimeFieldState(k({onChange:D,label:v,locale:V,value:T,hideTimeZone:!0,isDisabled:u,isReadOnly:E},F)),q=n.useTimeField(k({},F,{label:v}),Z,R),B=q.labelProps,W=q.fieldProps;a.useEffect((function(){z(),null!==T&&M(T)}),[null==T?void 0:T.toString()]);var z=function(){var e=H(T);x(e);var a=document.activeElement===(null==R?void 0:R.current);""!==e||a||j()},H=function(e){if(null===e)return"";var a="day"in e?o.toTime(e):e;return _?a.toString().slice(0,8):a.toString().slice(0,5)},j=function(){x(_?"–– : –– : ––":"–– : ––")},U=function(){var e=K();if(e===S.INVALID)return z();(null==e?void 0:e.toString())!==(null==T?void 0:T.toString())&&(null==D||D(e))},K=function(){var e=G(L),a=Y(e);return a===S.INVALID?S.INVALID:a===S.RESET_TIME?null:$(a)},G=function(e){if(0===e.length)return S.RESET_TIME;if(e.length<3||e.length>8)return S.INVALID;var a=(e.match(new RegExp(":","g"))||[]).length,t=e.length;if(2===a&&t>=7)return e.padStart(8,"0");if(1===a)return e.padStart(5,"0");if(t>6)return S.INVALID;var n,r=t%2==0,l=e.slice(0,r?2:1),i=r?e.slice(2,4):e.slice(1,3),o=""===(n=r?e.slice(4,6):e.slice(3,5))?"00":n;return l.padStart(2,"0")+":"+i+(_?":"+o:"")},Y=function(e){if(e===S.INVALID)return S.INVALID;if(e===S.RESET_TIME)return S.RESET_TIME;var a=/^\d+$/,t=e.slice(0,2),n=e.slice(3,5),r=e.slice(6,8);if(t.match(a)&&n.match(a)&&(""===r||r.match(a)))try{return o.parseTime(e)}catch(e){return S.INVALID}return S.INVALID},$=function(e){return(null!=A?A:new o.Time).set({hour:e.hour,minute:e.minute,second:e.second})},J=h(W,te);return a.createElement(r.I18nProvider,{locale:V},a.createElement(i.TextField,k({append:d||(!0===f||"right"===f?a.createElement(c.ClockIcon,{onClick:function(){var e;return null==R||null==(e=R.current)?void 0:e.focus()},inline:!0}):void 0),className:l("eds-simple-timepicker",{"eds-simple-timepicker--padding-large":"large"===C,"eds-simple-timepicker--show-seconds":_,"eds-simple-timepicker--hide-clock":!f,"eds-simple-timepicker--has-tooltip":void 0!==g}),disabled:u,disableLabelAnimation:!0,feedback:m,label:v,labelProps:B,labelTooltip:g,onBlur:function(){U(),null===T&&j()},onChange:function(e){return x(e.target.value)},onFocus:function(){null===T&&x("")},onKeyDown:function(e){"Enter"===e.key&&U()},placeholder:_?"–– : –– : ––":"–– : ––",prepend:w||("left"===f?a.createElement(c.ClockIcon,{onClick:function(){var e;return null==R||null==(e=R.current)?void 0:e.focus()}}):void 0),readOnly:E,ref:e.mergeRefs(R,b),style:N,value:L,variant:I},J)))},exports.TimePicker=function(s){var d=s.selectedTime,c=s.onChange,u=s.disabled,m=s.className,f=s.style,b=s.label,v=s.labelTooltip,g=s.feedback,D=s.granularity,C=s.variant,w=s.locale,E=s.showTimeZone,T=s.showSeconds,F=void 0!==T&&T,S=s.minuteIncrementForArrowButtons,P=void 0===S?30:S,L=s.leftArrowButtonAriaLabel,x=void 0===L?"Trekk fra "+P+" minutter":L,R=s.rightArrowButtonAriaLabel,O=void 0===R?"Legg til "+P+" minutter":R,A=s.inputRef,M=s.forcedReturnType,V=s.forcedTimeZone,Z=s.append,q=s.prepend,B=h(s,$),W=r.useLocale().locale;w&&(W=w);var z=e.useRandomId("eds-timepicker"),H=null!=V?V:null!==d&&"timezone"in d?d.timezone:"Europe/Oslo",j=function(e){if(void 0!==M)return c(_({value:e,type:M,timezone:H}));c(e)},U=t.useTimeFieldState(k({onChange:j,label:b,locale:W,value:d,granularity:(null!=D?D:F)?"second":"minute",hideTimeZone:!E,isDisabled:u,shouldForceLeadingZeros:!0},B)),K=a.useRef(null),G=n.useTimeField(k({},B,{label:b}),U,K),J=G.labelProps,Q=G.fieldProps,X=e.useRandomId("timepicker"),ee=function(e){if(null===d)return j(_({value:o.now(H),type:null!=M?M:"ZonedDateTime"}));switch(e){case"add":return j(d.add({minutes:P-N(d.minute,P)}));case"subtract":return j(d.subtract({minutes:N(d.minute-1,P)+1}))}};return a.createElement(r.I18nProvider,{locale:W},a.createElement(i.BaseFormControl,{append:a.createElement("div",{style:{display:"flex",alignItems:"center"}},Z,a.createElement(Y,{direction:"right",disabled:u,"aria-label":O,onClick:function(){return ee("add")},onFocus:function(){return I(K,"last")}})),ariaAlertOnFeedback:!0,"aria-describedby":z+"description",className:l("eds-timepicker",m,{"eds-timepicker--disabled":u,"eds-timepicker--has-tooltip":void 0!==v}),disabled:u,disableLabelAnimation:!0,feedback:g,label:b,labelId:X,labelProps:k({},J,{"aria-describedby":z+"description"}),labelTooltip:v,prepend:a.createElement("div",{style:{display:"flex",alignItems:"center"}},a.createElement(Y,{direction:"left",disabled:u,"aria-label":x,onClick:function(){return ee("subtract")},onFocus:function(){return I(K,"first")}}),q),ref:A,style:f,variant:C},a.createElement("span",k({ref:K},Q,{style:{display:"contents"}}),U.segments.map((function(e,t){return a.createElement(y,{segment:e,state:U,key:t,"aria-describedby":z+"description"})}))),a.createElement(p.VisuallyHidden,{id:z+"description"},null!==d?"valgt tid: "+d.hour.toString().padStart(2,"0")+":"+d.minute.toString().padStart(2,"0")+(F?":"+d.second.toString().padStart(2,"0"):""):"")))},exports.ariaLabelIfNorwegian=E,exports.convertValueToType=_,exports.createCalendar=w,exports.focusSegment=I,exports.getWeekNumberForDate=F,exports.lastMillisecondOfDay=T,exports.modulo=N,exports.nativeDateToDateValue=function(e,a,t,n){return void 0===a&&(a=!1),null===e?null:a?new o.CalendarDate(e.getFullYear(),e.getMonth()+1,e.getDate()):C(e,t,n)},exports.nativeDateToTimeValue=function(e,a,t,n){return void 0===a&&(a=!1),null===e?null:a?new o.Time(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()):C(e,t,n)},exports.timeOrDateValueToNativeDate=function(e,a){if(null===e)return null;if(!("day"in e)){var t=new Date;return t.setHours(e.hour),t.setMinutes(e.minute),t.setSeconds(e.second),t.setMilliseconds(e.millisecond),t}return"hour"in e?"timeZone"in e?e.toDate():e.toDate(a||o.getLocalTimeZone()):e.toDate(null!=a?a:o.getLocalTimeZone())};
|
|
2
2
|
//# sourceMappingURL=datepicker.cjs.production.min.js.map
|