{"version":3,"file":"useMultiInputAutoSize.cjs","sources":["../../../../src/components/Combobox/useMultiInputAutoSize.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState } from 'react';\n\nimport { measureText } from '../../utils/measureText';\n\nexport function useMultiInputAutoSize(inputValue: string) {\n  const inputRef = useRef<HTMLInputElement>(null);\n  const initialInputWidth = useRef<number>(0); // Store initial width to prevent resizing on backspace\n  const [inputWidth, setInputWidth] = useState<string>('');\n\n  useLayoutEffect(() => {\n    if (inputRef.current && inputValue == null && initialInputWidth.current === 0) {\n      initialInputWidth.current = inputRef?.current.getBoundingClientRect().width;\n    }\n\n    if (!inputRef.current || inputValue == null) {\n      setInputWidth('');\n      return;\n    }\n\n    const fontSize = window.getComputedStyle(inputRef.current).fontSize;\n    const textWidth = measureText(inputRef.current.value || '', parseInt(fontSize, 10)).width;\n\n    if (textWidth < initialInputWidth.current) {\n      // Let input fill all space before resizing\n      setInputWidth('');\n    } else {\n      // Add pixels to prevent clipping\n      setInputWidth(`${textWidth + 5}px`);\n    }\n  }, [inputValue]);\n\n  return { inputRef, inputWidth };\n}\n"],"names":["useRef","useState","useLayoutEffect","measureText"],"mappings":";;;;;;;;AAIO,SAAS,sBAAsB,UAAA,EAAoB;AACxD,EAAA,MAAM,QAAA,GAAWA,aAAyB,IAAI,CAAA;AAC9C,EAAA,MAAM,iBAAA,GAAoBA,aAAe,CAAC,CAAA;AAC1C,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIC,eAAiB,EAAE,CAAA;AAEvD,EAAAC,qBAAA,CAAgB,MAAM;AACpB,IAAA,IAAI,SAAS,OAAA,IAAW,UAAA,IAAc,IAAA,IAAQ,iBAAA,CAAkB,YAAY,CAAA,EAAG;AAC7E,MAAA,iBAAA,CAAkB,OAAA,GAAU,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAU,OAAA,CAAQ,qBAAA,EAAA,CAAwB,KAAA;AAAA,IACxE;AAEA,IAAA,IAAI,CAAC,QAAA,CAAS,OAAA,IAAW,UAAA,IAAc,IAAA,EAAM;AAC3C,MAAA,aAAA,CAAc,EAAE,CAAA;AAChB,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,QAAA,GAAW,MAAA,CAAO,gBAAA,CAAiB,QAAA,CAAS,OAAO,CAAA,CAAE,QAAA;AAC3D,IAAA,MAAM,SAAA,GAAYC,uBAAA,CAAY,QAAA,CAAS,OAAA,CAAQ,KAAA,IAAS,IAAI,QAAA,CAAS,QAAA,EAAU,EAAE,CAAC,CAAA,CAAE,KAAA;AAEpF,IAAA,IAAI,SAAA,GAAY,kBAAkB,OAAA,EAAS;AAEzC,MAAA,aAAA,CAAc,EAAE,CAAA;AAAA,IAClB,CAAA,MAAO;AAEL,MAAA,aAAA,CAAc,CAAA,EAAG,SAAA,GAAY,CAAC,CAAA,EAAA,CAAI,CAAA;AAAA,IACpC;AAAA,EACF,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,OAAO,EAAE,UAAU,UAAA,EAAW;AAChC;;;;"}