{"version":3,"file":"get-virtualized-index.cjs","names":[],"sources":["../../../../../src/components/Combobox/use-combobox/get-index/get-virtualized-index.ts"],"sourcesContent":["interface GetIndexProps {\n  currentIndex: number;\n  isOptionDisabled: (index: number) => boolean;\n  totalOptionsCount: number;\n  loop: boolean;\n}\n\nexport function getPreviousIndex({\n  currentIndex,\n  isOptionDisabled,\n  totalOptionsCount,\n  loop,\n}: GetIndexProps) {\n  for (let i = currentIndex - 1; i >= 0; i -= 1) {\n    if (!isOptionDisabled(i)) {\n      return i;\n    }\n  }\n\n  if (loop) {\n    for (let i = totalOptionsCount - 1; i > -1; i -= 1) {\n      if (!isOptionDisabled(i)) {\n        return i;\n      }\n    }\n  }\n\n  return currentIndex;\n}\n\nexport function getNextIndex({\n  currentIndex,\n  isOptionDisabled,\n  totalOptionsCount,\n  loop,\n}: GetIndexProps) {\n  for (let i = currentIndex + 1; i < totalOptionsCount; i += 1) {\n    if (!isOptionDisabled(i)) {\n      return i;\n    }\n  }\n\n  if (loop) {\n    for (let i = 0; i < totalOptionsCount; i += 1) {\n      if (!isOptionDisabled(i)) {\n        return i;\n      }\n    }\n  }\n\n  return currentIndex;\n}\n\ninterface GetFirstIndexOptions {\n  totalOptionsCount: number;\n  isOptionDisabled: (index: number) => boolean;\n}\n\nexport function getFirstIndex({ totalOptionsCount, isOptionDisabled }: GetFirstIndexOptions) {\n  for (let i = 0; i < totalOptionsCount; i += 1) {\n    if (!isOptionDisabled(i)) {\n      return i;\n    }\n  }\n\n  return -1;\n}\n"],"mappings":";;AAOA,SAAgB,iBAAiB,EAC/B,cACA,kBACA,mBACA,QACgB;AAChB,MAAK,IAAI,IAAI,eAAe,GAAG,KAAK,GAAG,KAAK,EAC1C,KAAI,CAAC,iBAAiB,EAAE,CACtB,QAAO;AAIX,KAAI;OACG,IAAI,IAAI,oBAAoB,GAAG,IAAI,IAAI,KAAK,EAC/C,KAAI,CAAC,iBAAiB,EAAE,CACtB,QAAO;;AAKb,QAAO;;AAGT,SAAgB,aAAa,EAC3B,cACA,kBACA,mBACA,QACgB;AAChB,MAAK,IAAI,IAAI,eAAe,GAAG,IAAI,mBAAmB,KAAK,EACzD,KAAI,CAAC,iBAAiB,EAAE,CACtB,QAAO;AAIX,KAAI;OACG,IAAI,IAAI,GAAG,IAAI,mBAAmB,KAAK,EAC1C,KAAI,CAAC,iBAAiB,EAAE,CACtB,QAAO;;AAKb,QAAO;;AAQT,SAAgB,cAAc,EAAE,mBAAmB,oBAA0C;AAC3F,MAAK,IAAI,IAAI,GAAG,IAAI,mBAAmB,KAAK,EAC1C,KAAI,CAAC,iBAAiB,EAAE,CACtB,QAAO;AAIX,QAAO"}