// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("exports ../../intl ../../core/has ../../core/Error ../../core/mathUtils ../../core/maybe ../../intl/date ../../time/timeZoneUtils ./dataUtils ../../chunks/datetime ../../intl/locale".split(" "),function(c,I,J,O,P,Q,k,K,r,g,R){function l(a){return{locale:R.getLocale(),numberingSystem:"latn",zone:a??S}}function A(a,b){return null===a?null:g.DateTime.fromMillis(a,l(b))}function L(a,b){if(null==a||!r.isString(a)||""===a)return b?(a=g.DateTime.local({zone:b}),{date:null,time:null,timeZoneOffset:a.isValid? a.offset.toString():null}):B;a=g.DateTime.fromISO(a,{setZone:!0});return{date:a.toFormat("yyyy-MM-dd",l()),time:a.toFormat(c.TimeStampOffsetPattern.HMS_MS,l()),timeZoneOffset:a.offset.toString()}}function x(a,b){if(null==a?.value||Array.isArray(a.value))return null;let d=null;d="valueAsDate"in a?g.DateTime.fromFormat(a.value,"yyyy-MM-dd",l(b)):t(a.value);return d?.isValid?d:null}function C(a){const {max:b,min:d,value:e}=a;return isNaN(e)||null!=b&&e>b||null!=d&&eb?b:null!=d&&eb.length)throw new O("invalid time-only field",`Cannot parse valid time-only field value from ${a}`);a=b.split(":");b=Array(3);for(let d=0;3>d;d++){const e=a.at(d)??"";b[d]=e.padStart(2,"0")}return b.join(":")}function y(a){if(!a||!r.isString(a))return null;a=g.DateTime.fromFormat(a,"yyyy-MM-dd");return a.isValid?a:null}function t(a){return a&&r.isString(a)? Q.mappedFind(N,b=>{b=g.DateTime.fromFormat(a,b);return b.isValid?b:null})??null:null}function z(a){if(!a||!r.isString(a))return null;a=g.DateTime.fromISO(a);return a.isValid?a:null}const S=K.utc,B={date:null,time:null,timeZoneOffset:null};I=new Map([["hours",3600],["minutes",60],["seconds",1],["deciseconds",.1],["centiseconds",.01],["milliseconds",.001]]);c.TimeStampOffsetPattern=void 0;(function(a){a.HM="HH:mm";a.HMS="HH:mm:ss";a.HMS_MS="HH:mm:ss.SSS"})(c.TimeStampOffsetPattern||(c.TimeStampOffsetPattern= {}));const N=[c.TimeStampOffsetPattern.HMS_MS,c.TimeStampOffsetPattern.HMS,c.TimeStampOffsetPattern.HM,"TT"];J=new Set(["date-only","time-only","timestamp-offset"]);c.arcadeDateToFieldValue=function(a,b){switch(b){case "date":return a.getTime();case "date-only":return a.toISODate();case "time-only":return M(a.toISOTime(!0,!1));case "timestamp-offset":return a.toISOString(!1);default:return null}};c.clampValueToRange=D;c.createDateTimeFromFieldValue=A;c.dateFieldsWithStringFieldValue=J;c.dateOnlyToDateTime= y;c.dateTimeIsInRange=function(a){const {type:b,range:d,value:e}=a;if(null==e||!d||e===d.min||e===d.max)return!0;if("date"===b)return C({value:e,min:d.min,max:d.max});const {rawMax:h,rawMin:m}=d;let n=a=null,f=null;switch(b){case "date-only":a=y(h);n=y(m);f=y(e);break;case "time-only":a=t(h);n=t(m);f=t(e);break;case "timestamp-offset":a=z(h),n=z(m),f=z(e)}return f?C({value:f.valueOf(),min:n?.valueOf(),max:a?.valueOf()}):!0};c.dateTimeToFieldValue=function(a){return a?.isValid?a.toMillis():null};c.defaultDatePattern= "yyyy-MM-dd";c.defaultTimePattern="TT";c.getDefaultLocaleOptions=l;c.getISOFieldValueFromDateComponents=function(a){const {dateComponent:b,defaultTimeZone:d,timeComponent:e,timeZoneComponent:h,oldValue:m}=a;if(!b?.value||!e?.value)return null;const {year:n,month:f,day:p}=g.DateTime.fromFormat(b.value,"yyyy-MM-dd"),{hour:q,minute:u,second:v,millisecond:w}=x(e,K.utc)??g.DateTime.now();a=L(m,d);a=null!=h?.value?parseInt(h.value,10):null!=a.timeZoneOffset?parseInt(a.timeZoneOffset,10):(new Date).getTimezoneOffset(); a=g.FixedOffsetZone.instance(a);a=g.DateTime.fromObject({year:n,month:f,day:p,hour:q,minute:u,second:v,millisecond:w},{zone:a});return a.isValid?a.toISO({includeOffset:!0}):null};c.getIntlOptionsForField=function(a){switch(a.type){case "date":return k.convertDateFormatToIntlOptions("short-date-short-time");case "date-only":return k.convertDateFormatToIntlOptions("short-date");case "time-only":return k.convertDateFormatToIntlOptions("short-time");case "timestamp-offset":return{...k.convertDateFormatToIntlOptions("short-date-short-time"), timeZone:void 0,timeZoneName:"short"};default:return k.convertDateFormatToIntlOptions("short-date-short-time")}};c.getLabelForDateFieldValue=function(a,b,d){if(!a||null==b)return null;switch(a.type){case "date":return k.formatDate(b,d);case "date-only":return k.formatDateOnly(b,d);case "time-only":return k.formatTimeOnly(b,d);case "timestamp-offset":return k.formatTimestamp(b,d);default:return null}};c.getLocalDateTimeFromComponent=x;c.getUnixFieldValueFromDateComponents=function(a){const {dateComponent:b, timeComponent:d,timeZone:e,max:h,min:m,oldValue:n}=a;var f=x(b,e);a=!!a.applyRange;if(!f)return null;var p=null;if(null!=d?.value){p=x(d,e);var q=Date.now();q=g.DateTime.fromMillis(null!=h&&h"valueAsDate"in a;c.isInDST=function(a,b="system"){return g.DateTime.fromJSDate(a,{zone:b}).isInDST};c.normalizeTimeOnlyString=M;c.numberingSystem="latn";c.prepareISOFieldValueForDateComponents=L;c.prepareUnixFieldValueForDateComponents= function(a,b){return null==a||!r.isNumber(a)||isNaN(a)?B:(a=A(a,b))?{date:a.toFormat("yyyy-MM-dd",l(b)),time:a.toFormat("TT",l(b))}:B};c.supportedTimeFormats=N;c.timeOnlyToDateTime=t;c.timeResolutionToStepMap=I;c.timestampOffsetToDateTime=z;c.valueIsInRange=C;Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});