{"version":3,"file":"TimeField.mjs","names":["DateTime","React","useCallback","useMemo","KeyboardTimePicker","MuiPickersUtilsProvider","DateFnsUtils","TimeField","props","$","_c","onChangeProp","other","valueProp","onChange","value","split","map","_temp","join","isValidDate","_temp2","t0","undefined","console","log","t1","fromISO","toISOString","value_0","t2","is12hTime","m","i","replace","date","Date","isNaN"],"sources":["../../../../src/UI/inputs/datetimes/TimeField.jsx"],"sourcesContent":["import { DateTime } from 'luxon';\nimport React, { useCallback, useMemo } from 'react';\nimport { KeyboardTimePicker, MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport DateFnsUtils from '@date-io/date-fns';\n// import { useIntl } from '../../../intl';\n\n/**\n * TextField for time input\n */\nexport const TimeField = props => {\n  const { onChange: onChangeProp, value: valueProp, ...other } = props;\n  // TODO: implement intl, use CPS as reference\n  // const { timeFormatString, is12hTime } = useIntl();\n  const timeFormatString = 'HH:mm';\n  const is12hTime = true;\n  // @note @material-ui/picker's built-in mask generation does not work with formats like French (Canada)'s \"HH 'h' mm\"\n  //       so for now compute the mask ourself. This may need revisiting when they release their next major version.\n  const maskChar = '_';\n  const mask =\n    timeFormatString\n      .split(/'([^']*)'/)\n      .map((m, i) => (i % 2 === 0 ? m.replace(/[a-z]/gi, maskChar) : m))\n      .join('') + 'M';\n\n  const isValidDate = date => {\n    return date instanceof Date && !isNaN(date);\n  };\n\n  const onChange = useCallback(\n    value =>\n      onChangeProp && onChangeProp(isValidDate(value) ? value : undefined),\n    [onChangeProp]\n  );\n\n  const value = useMemo(() => {\n    console.log(valueProp);\n    return isValidDate(valueProp)\n      ? DateTime.fromISO(valueProp.toISOString())\n      : null;\n  }, [valueProp]);\n\n  return (\n    <MuiPickersUtilsProvider utils={DateFnsUtils}>\n      <KeyboardTimePicker\n        // format={timeFormatString}\n        ampm={is12hTime}\n        mask=\"__:__ _M\"\n        // maskChar={maskChar}\n        variant=\"inline\"\n        autoOk\n        onChange={onChange}\n        value={value}\n        {...other}\n      />\n    </MuiPickersUtilsProvider>\n  );\n};\n"],"mappings":";;;;;;;;;AASA,MAAaO,aAAYC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAAJ,EAAA,OAAAD,OAAA;AACvB,GAAA,CAAAM,UAAAH,cAAAI,OAAAF,cAAAD,SAA+DJ;AAAMC,IAAA,KAAAD;AAAAC,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAI;QAAA;AAAAF,iBAAAF,EAAA;AAAAG,UAAAH,EAAA;AAAAI,cAAAJ,EAAA;;AAG5C,SAAOO,MAOrB,YAAY,CAAAC,IACdC,MAA6D,CAAAC,KAC5D,GAAG;CAEb,MAAAC,cAAoBC;CAElB,IAAAC;AAAA,KAAAb,EAAA,OAAAE,cAAA;AAGAW,QAAAP,UACEJ,gBAAgBA,aAAaS,YAAYL,MAA0B,GAAtCA,QAAAQ,KAAAA,EAAuC;AAAAd,IAAA,KAAAE;AAAAF,IAAA,KAAAa;OAAAA,MAAAb,EAAA;CAFxE,MAAAK,WAAiBQ;AAOfE,SAAOC,IAAKZ,UAAU;CAAA,IAAAa;AAAA,KAAAjB,EAAA,OAAAI,WAAA;AACfa,OAAAN,YAAYP,UAEX,GADJb,SAAQ2B,QAASd,UAASe,aACvB,CAAC,GAFD;AAECnB,IAAA,KAAAI;AAAAJ,IAAA,KAAAiB;OAAAA,MAAAjB,EAAA;CAJV,MAAAoB,UAEEH;CAGc,IAAAI;AAAA,KAAArB,EAAA,OAAAK,YAAAL,EAAA,OAAAG,SAAAH,EAAA,QAAAoB,SAAA;AAGdC,OAAA,sBAAA,cAAC,yBAAD,EAAgCxB,OAAAA,cAYN,EAXxB,sBAAA,cAAC,oBAAD;GAEQyB,MA/BMA;GAgCP,MAAA;GAEG,SAAA;GACR,QAAA;GACUjB;GACHC,OAAAA;GAAK,GACRH;GAER,CAAA,CAA0B;AAAAH,IAAA,KAAAK;AAAAL,IAAA,KAAAG;AAAAH,IAAA,MAAAoB;AAAApB,IAAA,MAAAqB;OAAAA,MAAArB,EAAA;AAAA,QAZ1BqB;;AAjCqB,SAAAZ,MAAAc,GAAAC,GAAA;AAAA,QAYHA,IAAI,MAAM,IAAID,EAACE,QAAS,WAJ3B,IAImD,GAAhDF;;AAZG,SAAAX,OAAAc,MAAA;AAAA,QAgBdA,gBAAgBC,QAAhB,CAAyBC,MAAMF,KAAK"}