{"version":3,"file":"utils.mjs","sources":["../../../../src/_common/js/time-picker/utils.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport { EPickerCols, TIME_FORMAT } from './const';\n\ndayjs.extend(advancedFormat);\ndayjs.extend(customParseFormat);\n\n// 判断是否输入的值是合法的timepicker的值\nexport function validateInputValue(value: string, format: string) {\n  return dayjs(value, format).format(format) === value;\n}\n\n// 转换输入值为标准格式的timepicker的值\nexport function formatInputValue(value: string, format: string) {\n  return dayjs(value, format).format(format);\n}\n\n// 计算最接近的时间点\nexport function closestLookup(availableArr: Array<any>, calcVal: number, step: number) {\n  if (step <= 1) return calcVal;\n  return availableArr.sort((a, b) => Math.abs(calcVal + 1 - a) - Math.abs(calcVal + 1 - b))[0];\n}\n\nexport function getPickerCols(format: string) {\n  const renderCol: EPickerCols[] = [];\n  const { meridiem, hour, minute, second, milliSecond } = EPickerCols;\n  const match = format.match(TIME_FORMAT);\n  match.forEach((m) => {\n    switch (m) {\n      case 'H':\n      case 'HH':\n      case 'h':\n      case 'hh':\n        renderCol.push(hour);\n        break;\n      case 'a':\n      case 'A':\n        renderCol.push(meridiem);\n        break;\n      case 'm':\n      case 'mm':\n        renderCol.push(minute);\n        break;\n      case 's':\n      case 'ss':\n        renderCol.push(second);\n        break;\n      case 'SSS':\n        renderCol.push(milliSecond);\n        break;\n      default:\n        break;\n    }\n  });\n  return renderCol;\n}\n"],"names":["dayjs","extend","advancedFormat","customParseFormat","validateInputValue","value","format","formatInputValue","closestLookup","availableArr","calcVal","step","sort","a","b","Math","abs","getPickerCols","renderCol","meridiem","EPickerCols","hour","minute","second","milliSecond","match","TIME_FORMAT","forEach","m","push"],"mappings":";;;;;;;;;;;;;AAKAA,KAAA,CAAMC,OAAOC,cAAc,CAAA,CAAA;AAC3BF,KAAA,CAAMC,OAAOE,iBAAiB,CAAA,CAAA;AAGd,SAAAC,kBAAAA,CAAmBC,OAAeC,MAAgB,EAAA;AAChE,EAAA,OAAON,MAAMK,KAAO,EAAAC,MAAM,CAAE,CAAAA,MAAA,CAAOA,MAAM,CAAM,KAAAD,KAAA,CAAA;AACjD,CAAA;AAGgB,SAAAE,gBAAAA,CAAiBF,OAAeC,MAAgB,EAAA;EAC9D,OAAON,KAAM,CAAAK,KAAA,EAAOC,MAAM,CAAA,CAAEA,OAAOA,MAAM,CAAA,CAAA;AAC3C,CAAA;AAGgB,SAAAE,aAAAA,CAAcC,YAA0B,EAAAC,OAAA,EAAiBC,IAAc,EAAA;AACrF,EAAA,IAAIA,IAAQ,IAAA,CAAA,EAAU,OAAAD,OAAA,CAAA;AACtB,EAAA,OAAOD,aAAaG,IAAK,CAAA,UAACC,CAAG,EAAAC,CAAA,EAAA;IAAA,OAAMC,KAAKC,GAAI,CAAAN,OAAA,GAAU,CAAI,GAAAG,CAAC,IAAIE,IAAK,CAAAC,GAAA,CAAIN,UAAU,CAAI,GAAAI,CAAC,CAAC,CAAA;GAAE,CAAA,CAAA,CAAA,CAAA,CAAA;AAC5F,CAAA;AAEO,SAASG,cAAcX,MAAgB,EAAA;EAC5C,IAAMY,YAA2B,EAAC,CAAA;AAClC,EAAA,IAAQC,QAAU,GAAsCC,WAAA,CAAhDD,QAAU;IAAAE,IAAA,GAAsCD,WAAA,CAAtCC,IAAA;IAAMC,MAAQ,GAAwBF,WAAA,CAAhCE,MAAQ;IAAAC,MAAA,GAAwBH,WAAA,CAAxBG,MAAA;IAAQC,cAAgBJ,WAAA,CAAhBI;AAClC,EAAA,IAAAC,KAAA,GAAQnB,MAAO,CAAAmB,KAAA,CAAMC,WAAW,CAAA,CAAA;AAChCD,EAAAA,KAAA,CAAAE,OAAA,CAAQ,UAACC,CAAM,EAAA;AACX,IAAA,QAAAA,CAAA;AACD,MAAA,KAAA,GAAA,CAAA;AACA,MAAA,KAAA,IAAA,CAAA;AACA,MAAA,KAAA,GAAA,CAAA;AACA,MAAA,KAAA,IAAA;AACHV,QAAAA,SAAA,CAAUW,KAAKR,IAAI,CAAA,CAAA;AACnB,QAAA,MAAA;AACG,MAAA,KAAA,GAAA,CAAA;AACA,MAAA,KAAA,GAAA;AACHH,QAAAA,SAAA,CAAUW,KAAKV,QAAQ,CAAA,CAAA;AACvB,QAAA,MAAA;AACG,MAAA,KAAA,GAAA,CAAA;AACA,MAAA,KAAA,IAAA;AACHD,QAAAA,SAAA,CAAUW,KAAKP,MAAM,CAAA,CAAA;AACrB,QAAA,MAAA;AACG,MAAA,KAAA,GAAA,CAAA;AACA,MAAA,KAAA,IAAA;AACHJ,QAAAA,SAAA,CAAUW,KAAKN,MAAM,CAAA,CAAA;AACrB,QAAA,MAAA;AACG,MAAA,KAAA,KAAA;AACHL,QAAAA,SAAA,CAAUW,KAAKL,WAAW,CAAA,CAAA;AAC1B,QAAA,MAAA;AAAA,MAAA;AAEA,QAAA,MAAA;AAAA,KAAA;AAEN,GAAC,CAAA,CAAA;AACM,EAAA,OAAAN,SAAA,CAAA;AACT;;;;"}