{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/time-select/src/utils.ts"],"sourcesContent":["interface Time {\n  hours: number\n  minutes: number\n}\n\nexport const parseTime = (time: string): null | Time => {\n  const values = (time || '').split(':')\n  if (values.length >= 2) {\n    let hours = Number.parseInt(values[0], 10)\n    const minutes = Number.parseInt(values[1], 10)\n    const timeUpper = time.toUpperCase()\n    if (timeUpper.includes('AM') && hours === 12) {\n      hours = 0\n    } else if (timeUpper.includes('PM') && hours !== 12) {\n      hours += 12\n    }\n    return {\n      hours,\n      minutes,\n    }\n  }\n\n  return null\n}\n\nexport const compareTime = (time1: string, time2: string): number => {\n  const value1 = parseTime(time1)\n  if (!value1) return -1\n  const value2 = parseTime(time2)\n  if (!value2) return -1\n  const minutes1 = value1.minutes + value1.hours * 60\n  const minutes2 = value2.minutes + value2.hours * 60\n  if (minutes1 === minutes2) {\n    return 0\n  }\n  return minutes1 > minutes2 ? 1 : -1\n}\n\nexport const padTime = (time: number | string) => {\n  return `${time}`.padStart(2, '0')\n}\nexport const formatTime = (time: Time): string => {\n  return `${padTime(time.hours)}:${padTime(time.minutes)}`\n}\n\nexport const nextTime = (time: string, step: string): string => {\n  const timeValue = parseTime(time)\n  if (!timeValue) return ''\n\n  const stepValue = parseTime(step)\n  if (!stepValue) return ''\n\n  const next = {\n    hours: timeValue.hours,\n    minutes: timeValue.minutes,\n  }\n  next.minutes += stepValue.minutes\n  next.hours += stepValue.hours\n  next.hours += Math.floor(next.minutes / 60)\n  next.minutes = next.minutes % 60\n  return formatTime(next)\n}\n"],"names":[],"mappings":"AAKa,MAAA,SAAA,GAAY,CAAC,IAA8B,KAAA;AACtD,EAAA,MAAM,MAAU,GAAA,CAAA,IAAA,IAAQ,EAAI,EAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AACrC,EAAI,IAAA,MAAA,CAAO,UAAU,CAAG,EAAA;AACtB,IAAA,IAAI,KAAQ,GAAA,MAAA,CAAO,QAAS,CAAA,MAAA,CAAO,IAAI,EAAE,CAAA,CAAA;AACzC,IAAA,MAAM,OAAU,GAAA,MAAA,CAAO,QAAS,CAAA,MAAA,CAAO,IAAI,EAAE,CAAA,CAAA;AAC7C,IAAM,MAAA,SAAA,GAAY,KAAK,WAAY,EAAA,CAAA;AACnC,IAAA,IAAI,SAAU,CAAA,QAAA,CAAS,IAAI,CAAA,IAAK,UAAU,EAAI,EAAA;AAC5C,MAAQ,KAAA,GAAA,CAAA,CAAA;AAAA,eACC,SAAU,CAAA,QAAA,CAAS,IAAI,CAAA,IAAK,UAAU,EAAI,EAAA;AACnD,MAAS,KAAA,IAAA,EAAA,CAAA;AAAA,KACX;AACA,IAAO,OAAA;AAAA,MACL,KAAA;AAAA,MACA,OAAA;AAAA,KACF,CAAA;AAAA,GACF;AAEA,EAAO,OAAA,IAAA,CAAA;AACT,EAAA;AAEa,MAAA,WAAA,GAAc,CAAC,KAAA,EAAe,KAA0B,KAAA;AACnE,EAAM,MAAA,MAAA,GAAS,UAAU,KAAK,CAAA,CAAA;AAC9B,EAAA,IAAI,CAAC,MAAA;AAAQ,IAAO,OAAA,CAAA,CAAA,CAAA;AACpB,EAAM,MAAA,MAAA,GAAS,UAAU,KAAK,CAAA,CAAA;AAC9B,EAAA,IAAI,CAAC,MAAA;AAAQ,IAAO,OAAA,CAAA,CAAA,CAAA;AACpB,EAAA,MAAM,QAAW,GAAA,MAAA,CAAO,OAAU,GAAA,MAAA,CAAO,KAAQ,GAAA,EAAA,CAAA;AACjD,EAAA,MAAM,QAAW,GAAA,MAAA,CAAO,OAAU,GAAA,MAAA,CAAO,KAAQ,GAAA,EAAA,CAAA;AACjD,EAAA,IAAI,aAAa,QAAU,EAAA;AACzB,IAAO,OAAA,CAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,QAAA,GAAW,WAAW,CAAI,GAAA,CAAA,CAAA,CAAA;AACnC,EAAA;AAEa,MAAA,OAAA,GAAU,CAAC,IAA0B,KAAA;AAChD,EAAA,OAAO,CAAG,EAAA,IAAA,CAAA,CAAA,CAAO,QAAS,CAAA,CAAA,EAAG,GAAG,CAAA,CAAA;AAClC,EAAA;AACa,MAAA,UAAA,GAAa,CAAC,IAAuB,KAAA;AAChD,EAAA,OAAO,GAAG,OAAQ,CAAA,IAAA,CAAK,KAAK,CAAK,CAAA,CAAA,EAAA,OAAA,CAAQ,KAAK,OAAO,CAAA,CAAA,CAAA,CAAA;AACvD,EAAA;AAEa,MAAA,QAAA,GAAW,CAAC,IAAA,EAAc,IAAyB,KAAA;AAC9D,EAAM,MAAA,SAAA,GAAY,UAAU,IAAI,CAAA,CAAA;AAChC,EAAA,IAAI,CAAC,SAAA;AAAW,IAAO,OAAA,EAAA,CAAA;AAEvB,EAAM,MAAA,SAAA,GAAY,UAAU,IAAI,CAAA,CAAA;AAChC,EAAA,IAAI,CAAC,SAAA;AAAW,IAAO,OAAA,EAAA,CAAA;AAEvB,EAAA,MAAM,IAAO,GAAA;AAAA,IACX,OAAO,SAAU,CAAA,KAAA;AAAA,IACjB,SAAS,SAAU,CAAA,OAAA;AAAA,GACrB,CAAA;AACA,EAAA,IAAA,CAAK,WAAW,SAAU,CAAA,OAAA,CAAA;AAC1B,EAAA,IAAA,CAAK,SAAS,SAAU,CAAA,KAAA,CAAA;AACxB,EAAA,IAAA,CAAK,KAAS,IAAA,IAAA,CAAK,KAAM,CAAA,IAAA,CAAK,UAAU,EAAE,CAAA,CAAA;AAC1C,EAAK,IAAA,CAAA,OAAA,GAAU,KAAK,OAAU,GAAA,EAAA,CAAA;AAC9B,EAAA,OAAO,WAAW,IAAI,CAAA,CAAA;AACxB;;;;"}