{"version":3,"sources":["../utils/time.ts"],"sourcesContent":["\"use client\";\nexport function convertToHours(value: string): string;\nexport function convertToHours(value: string, asNumber: true): number;\nexport function convertToHours(value: string, asNumber: false): string;\nexport function convertToHours(value: string, asNumber: boolean = false): string | number {\n  let result: number;\n\n  if (!value) {\n    result = 0;\n  }\n  // Check if the input is a valid number without any suffix (e.g., \"1.5\")\n  else if (!isNaN(Number(value))) {\n    result = parseFloat(value);\n  } else if (value.toLowerCase().endsWith('h')) {\n    // Check if it ends with 'h' or 'H' (hours)\n    result = parseFloat(value.slice(0, -1));\n  } else if (value.toLowerCase().endsWith('m')) {\n    // Check if it ends with 'm' or 'M' (minutes)\n    const minutes = parseFloat(value.slice(0, -1));\n    result = minutes / 60; // Convert minutes to hours\n  } else if (value.toLowerCase().endsWith('s')) {\n    // Check if it ends with 's' or 'S' (seconds)\n    const seconds = parseFloat(value.slice(0, -1));\n    result = seconds / 3600; // Convert seconds to hours\n  } else {\n    // For any other format, return 0\n    result = 0;\n  }\n\n  // Return the result either as a number or string based on the 'asNumber' option\n  return asNumber ? result : String(Number(result.toFixed(17))); // Convert to number to remove trailing zeros\n}\n\nexport function convertFromHours(value: string): string {\n  const hours = parseFloat(value);\n\n  if (isNaN(hours) || hours === 0) {\n    return '0';\n  }\n\n  if (hours >= 1) {\n    return `${hours}h`;\n  }\n\n  const minutes = hours * 60;\n  if (minutes >= 1) {\n    return `${Math.round(minutes)}m`;\n  }\n\n  const seconds = hours * 3600;\n  return `${Math.round(seconds)}s`;\n}\n\nexport function convertToWholeFromHours(value: string): string {\n  const hours = parseFloat(value);\n\n  if (isNaN(hours) || hours === 0) {\n    return '0';\n  }\n\n  // Convert to minutes if the value represents a whole number of minutes\n  const minutes = hours * 60;\n  if (Math.abs(minutes - Math.round(minutes)) < 1e-10) {\n    return `${Math.round(minutes)}m`;\n  }\n\n  // Convert to seconds if the value represents a whole number of seconds\n  const seconds = hours * 3600;\n  if (Math.abs(seconds - Math.round(seconds)) < 1e-10) {\n    return `${Math.round(seconds)}s`;\n  }\n\n  // Otherwise, return the value with the 'h' suffix for hours\n  return `${hours}h`;\n}\n"],"mappings":";AAIO,SAAS,eAAe,OAAe,WAAoB,OAAwB;AACxF,MAAI;AAEJ,MAAI,CAAC,OAAO;AACV,aAAS;AAAA,EACX,WAES,CAAC,MAAM,OAAO,KAAK,CAAC,GAAG;AAC9B,aAAS,WAAW,KAAK;AAAA,EAC3B,WAAW,MAAM,YAAY,EAAE,SAAS,GAAG,GAAG;AAE5C,aAAS,WAAW,MAAM,MAAM,GAAG,EAAE,CAAC;AAAA,EACxC,WAAW,MAAM,YAAY,EAAE,SAAS,GAAG,GAAG;AAE5C,UAAM,UAAU,WAAW,MAAM,MAAM,GAAG,EAAE,CAAC;AAC7C,aAAS,UAAU;AAAA,EACrB,WAAW,MAAM,YAAY,EAAE,SAAS,GAAG,GAAG;AAE5C,UAAM,UAAU,WAAW,MAAM,MAAM,GAAG,EAAE,CAAC;AAC7C,aAAS,UAAU;AAAA,EACrB,OAAO;AAEL,aAAS;AAAA,EACX;AAGA,SAAO,WAAW,SAAS,OAAO,OAAO,OAAO,QAAQ,EAAE,CAAC,CAAC;AAC9D;AAEO,SAAS,iBAAiB,OAAuB;AACtD,QAAM,QAAQ,WAAW,KAAK;AAE9B,MAAI,MAAM,KAAK,KAAK,UAAU,GAAG;AAC/B,WAAO;AAAA,EACT;AAEA,MAAI,SAAS,GAAG;AACd,WAAO,GAAG,KAAK;AAAA,EACjB;AAEA,QAAM,UAAU,QAAQ;AACxB,MAAI,WAAW,GAAG;AAChB,WAAO,GAAG,KAAK,MAAM,OAAO,CAAC;AAAA,EAC/B;AAEA,QAAM,UAAU,QAAQ;AACxB,SAAO,GAAG,KAAK,MAAM,OAAO,CAAC;AAC/B;AAEO,SAAS,wBAAwB,OAAuB;AAC7D,QAAM,QAAQ,WAAW,KAAK;AAE9B,MAAI,MAAM,KAAK,KAAK,UAAU,GAAG;AAC/B,WAAO;AAAA,EACT;AAGA,QAAM,UAAU,QAAQ;AACxB,MAAI,KAAK,IAAI,UAAU,KAAK,MAAM,OAAO,CAAC,IAAI,OAAO;AACnD,WAAO,GAAG,KAAK,MAAM,OAAO,CAAC;AAAA,EAC/B;AAGA,QAAM,UAAU,QAAQ;AACxB,MAAI,KAAK,IAAI,UAAU,KAAK,MAAM,OAAO,CAAC,IAAI,OAAO;AACnD,WAAO,GAAG,KAAK,MAAM,OAAO,CAAC;AAAA,EAC/B;AAGA,SAAO,GAAG,KAAK;AACjB;","names":[]}