{"version":3,"file":"useTimePicker.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/useTimePicker.ts"],"sourcesContent":["import { ref, watch } from 'vue'\n\nimport type { Dayjs } from 'dayjs'\n\nconst makeList = (total, method, methodFunc) => {\n  const arr = []\n  const disabledArr = method && methodFunc()\n  for (let i = 0; i < total; i++) {\n    arr[i] = disabledArr ? disabledArr.includes(i) : false\n  }\n  return arr\n}\n\nconst makeAvailableArr = (list) => {\n  return list.map((_, index) => (!_ ? index : _)).filter((_) => _ !== true)\n}\n\nexport const getTimeLists = (\n  disabledHours,\n  disabledMinutes,\n  disabledSeconds\n) => {\n  const getHoursList = (role, compare?) => {\n    return makeList(24, disabledHours, () => disabledHours(role, compare))\n  }\n\n  const getMinutesList = (hour, role, compare?) => {\n    return makeList(60, disabledMinutes, () =>\n      disabledMinutes(hour, role, compare)\n    )\n  }\n\n  const getSecondsList = (hour, minute, role, compare?) => {\n    return makeList(60, disabledSeconds, () =>\n      disabledSeconds(hour, minute, role, compare)\n    )\n  }\n\n  return {\n    getHoursList,\n    getMinutesList,\n    getSecondsList,\n  }\n}\n\nexport const getAvailableArrs = (\n  disabledHours,\n  disabledMinutes,\n  disabledSeconds\n) => {\n  const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n    disabledHours,\n    disabledMinutes,\n    disabledSeconds\n  )\n\n  const getAvailableHours = (role, compare?) => {\n    return makeAvailableArr(getHoursList(role, compare))\n  }\n\n  const getAvailableMinutes = (hour, role, compare?) => {\n    return makeAvailableArr(getMinutesList(hour, role, compare))\n  }\n\n  const getAvailableSeconds = (hour, minute, role, compare?) => {\n    return makeAvailableArr(getSecondsList(hour, minute, role, compare))\n  }\n\n  return {\n    getAvailableHours,\n    getAvailableMinutes,\n    getAvailableSeconds,\n  }\n}\n\nexport const useOldValue = (props: {\n  parsedValue?: string | Dayjs | Dayjs[]\n  visible: boolean\n}) => {\n  const oldValue = ref(props.parsedValue)\n\n  watch(\n    () => props.visible,\n    (val) => {\n      if (!val) {\n        oldValue.value = props.parsedValue\n      }\n    }\n  )\n\n  return oldValue\n}\n"],"names":[],"mappings":";;AAIA,MAAM,WAAW,CAAC,OAAO,QAAQ,eAAe;AAC9C,QAAM,MAAM;AACZ,QAAM,cAAc,UAAU;AAC9B,WAAS,IAAI,GAAG,IAAI,OAAO,KAAK;AAC9B,QAAI,KAAK,cAAc,YAAY,SAAS,KAAK;AAAA;AAEnD,SAAO;AAAA;AAGT,MAAM,mBAAmB,CAAC,SAAS;AACjC,SAAO,KAAK,IAAI,CAAC,GAAG,UAAW,CAAC,IAAI,QAAQ,GAAI,OAAO,CAAC,MAAM,MAAM;AAAA;MAGzD,eAAe,CAC1B,eACA,iBACA,oBACG;AACH,QAAM,eAAe,CAAC,MAAM,YAAa;AACvC,WAAO,SAAS,IAAI,eAAe,MAAM,cAAc,MAAM;AAAA;AAG/D,QAAM,iBAAiB,CAAC,MAAM,MAAM,YAAa;AAC/C,WAAO,SAAS,IAAI,iBAAiB,MACnC,gBAAgB,MAAM,MAAM;AAAA;AAIhC,QAAM,iBAAiB,CAAC,MAAM,QAAQ,MAAM,YAAa;AACvD,WAAO,SAAS,IAAI,iBAAiB,MACnC,gBAAgB,MAAM,QAAQ,MAAM;AAAA;AAIxC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA;AAAA;MAIS,mBAAmB,CAC9B,eACA,iBACA,oBACG;AACH,QAAM,EAAE,cAAc,gBAAgB,mBAAmB,aACvD,eACA,iBACA;AAGF,QAAM,oBAAoB,CAAC,MAAM,YAAa;AAC5C,WAAO,iBAAiB,aAAa,MAAM;AAAA;AAG7C,QAAM,sBAAsB,CAAC,MAAM,MAAM,YAAa;AACpD,WAAO,iBAAiB,eAAe,MAAM,MAAM;AAAA;AAGrD,QAAM,sBAAsB,CAAC,MAAM,QAAQ,MAAM,YAAa;AAC5D,WAAO,iBAAiB,eAAe,MAAM,QAAQ,MAAM;AAAA;AAG7D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA;AAAA;MAIS,cAAc,CAAC,UAGtB;AACJ,QAAM,WAAW,IAAI,MAAM;AAE3B,QACE,MAAM,MAAM,SACZ,CAAC,QAAQ;AACP,QAAI,CAAC,KAAK;AACR,eAAS,QAAQ,MAAM;AAAA;AAAA;AAK7B,SAAO;AAAA;;;;"}