@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 2.04 kB
Source Map (JSON)
{"version":3,"file":"get-index.cjs","names":[],"sources":["../../../../../src/components/Combobox/use-combobox/get-index/get-index.ts"],"sourcesContent":["export function getPreviousIndex(\n currentIndex: number,\n elements: NodeListOf<HTMLDivElement> | HTMLDivElement[],\n loop: boolean\n) {\n for (let i = currentIndex - 1; i >= 0; i -= 1) {\n if (!elements[i].hasAttribute('data-combobox-disabled')) {\n return i;\n }\n }\n\n if (loop) {\n for (let i = elements.length - 1; i > -1; i -= 1) {\n if (!elements[i].hasAttribute('data-combobox-disabled')) {\n return i;\n }\n }\n }\n\n return currentIndex;\n}\n\nexport function getNextIndex(\n currentIndex: number,\n elements: NodeListOf<HTMLDivElement> | HTMLDivElement[],\n loop: boolean\n) {\n for (let i = currentIndex + 1; i < elements.length; i += 1) {\n if (!elements[i].hasAttribute('data-combobox-disabled')) {\n return i;\n }\n }\n\n if (loop) {\n for (let i = 0; i < elements.length; i += 1) {\n if (!elements[i].hasAttribute('data-combobox-disabled')) {\n return i;\n }\n }\n }\n\n return currentIndex;\n}\n\nexport function getFirstIndex(elements: NodeListOf<HTMLDivElement> | HTMLDivElement[]) {\n for (let i = 0; i < elements.length; i += 1) {\n if (!elements[i].hasAttribute('data-combobox-disabled')) {\n return i;\n }\n }\n\n return -1;\n}\n"],"mappings":";;AAAA,SAAgB,iBACd,cACA,UACA,MACA;AACA,MAAK,IAAI,IAAI,eAAe,GAAG,KAAK,GAAG,KAAK,EAC1C,KAAI,CAAC,SAAS,GAAG,aAAa,yBAAyB,CACrD,QAAO;AAIX,KAAI;OACG,IAAI,IAAI,SAAS,SAAS,GAAG,IAAI,IAAI,KAAK,EAC7C,KAAI,CAAC,SAAS,GAAG,aAAa,yBAAyB,CACrD,QAAO;;AAKb,QAAO;;AAGT,SAAgB,aACd,cACA,UACA,MACA;AACA,MAAK,IAAI,IAAI,eAAe,GAAG,IAAI,SAAS,QAAQ,KAAK,EACvD,KAAI,CAAC,SAAS,GAAG,aAAa,yBAAyB,CACrD,QAAO;AAIX,KAAI;OACG,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK,EACxC,KAAI,CAAC,SAAS,GAAG,aAAa,yBAAyB,CACrD,QAAO;;AAKb,QAAO;;AAGT,SAAgB,cAAc,UAAyD;AACrF,MAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK,EACxC,KAAI,CAAC,SAAS,GAAG,aAAa,yBAAyB,CACrD,QAAO;AAIX,QAAO"}