{"version":3,"file":"utils.mjs","names":[],"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"],"mappings":";AAKA,MAAa,aAAa,SAA8B;CACtD,MAAM,UAAU,QAAQ,IAAI,MAAM,IAAI;AACtC,KAAI,OAAO,UAAU,GAAG;EACtB,IAAI,QAAQ,OAAO,SAAS,OAAO,IAAI,GAAG;EAC1C,MAAM,UAAU,OAAO,SAAS,OAAO,IAAI,GAAG;EAC9C,MAAM,YAAY,KAAK,aAAa;AACpC,MAAI,UAAU,SAAS,KAAK,IAAI,UAAU,GACxC,SAAQ;WACC,UAAU,SAAS,KAAK,IAAI,UAAU,GAC/C,UAAS;AAEX,SAAO;GACL;GACA;GACD;;AAGH,QAAO;;AAGT,MAAa,eAAe,OAAe,UAA0B;CACnE,MAAM,SAAS,UAAU,MAAM;AAC/B,KAAI,CAAC,OAAQ,QAAO;CACpB,MAAM,SAAS,UAAU,MAAM;AAC/B,KAAI,CAAC,OAAQ,QAAO;CACpB,MAAM,WAAW,OAAO,UAAU,OAAO,QAAQ;CACjD,MAAM,WAAW,OAAO,UAAU,OAAO,QAAQ;AACjD,KAAI,aAAa,SACf,QAAO;AAET,QAAO,WAAW,WAAW,IAAI;;AAGnC,MAAa,WAAW,SAA0B;AAChD,QAAO,GAAG,OAAO,SAAS,GAAG,IAAI;;AAEnC,MAAa,cAAc,SAAuB;AAChD,QAAO,GAAG,QAAQ,KAAK,MAAM,CAAC,GAAG,QAAQ,KAAK,QAAQ;;AAGxD,MAAa,YAAY,MAAc,SAAyB;CAC9D,MAAM,YAAY,UAAU,KAAK;AACjC,KAAI,CAAC,UAAW,QAAO;CAEvB,MAAM,YAAY,UAAU,KAAK;AACjC,KAAI,CAAC,UAAW,QAAO;CAEvB,MAAM,OAAO;EACX,OAAO,UAAU;EACjB,SAAS,UAAU;EACpB;AACD,MAAK,WAAW,UAAU;AAC1B,MAAK,SAAS,UAAU;AACxB,MAAK,SAAS,KAAK,MAAM,KAAK,UAAU,GAAG;AAC3C,MAAK,UAAU,KAAK,UAAU;AAC9B,QAAO,WAAW,KAAK"}