{"version":3,"sources":["../../../../src/lib/api-keys/api-keys-search-provider.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { useApiKeysContext } from \"./api-keys-context.js\";\n\ninterface ApiKeysSearchContextType {\n  inputRef: React.RefObject<HTMLInputElement | null>;\n  clearSearch: () => void;\n  searchValue: string;\n  setSearchValue: React.Dispatch<React.SetStateAction<string>>;\n}\n\nconst ApiKeysSearchContext = React.createContext<\n  ApiKeysSearchContextType | undefined\n>(undefined);\nApiKeysSearchContext.displayName = \"ApiKeysSearchContext\";\n\nexport const ApiKeysSearchProvider: React.FC<React.PropsWithChildren> = ({\n  children,\n}) => {\n  const inputRef = React.useRef<HTMLInputElement | null>(null);\n  const {\n    state: { searchQuery },\n    dispatch,\n  } = useApiKeysContext();\n\n  const [searchValue, setSearchValue] = React.useState(searchQuery || \"\");\n\n  const clearSearch = React.useCallback(() => {\n    flushSync(() => {\n      setSearchValue(\"\");\n      dispatch({ type: \"FILTER_BY_SEARCH\", searchQuery: \"\" });\n    });\n    inputRef.current?.focus();\n  }, [dispatch]);\n\n  return (\n    <ApiKeysSearchContext.Provider\n      value={{ inputRef, clearSearch, searchValue, setSearchValue }}\n    >\n      {children}\n    </ApiKeysSearchContext.Provider>\n  );\n};\n\nexport const useApiKeysSearchContext = () => {\n  const context = React.useContext(ApiKeysSearchContext);\n  if (!context) {\n    throw new Error(\n      \"useApiKeysSearchContext must be used within an ApiKeysSearchProvider\",\n    );\n  }\n  return context;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoCI;AApCJ,YAAuB;AACvB,uBAA0B;AAC1B,8BAAkC;AASlC,MAAM,uBAAuB,MAAM,cAEjC,MAAS;AACX,qBAAqB,cAAc;AAE5B,MAAM,wBAA2D,CAAC;AAAA,EACvE;AACF,MAAM;AACJ,QAAM,WAAW,MAAM,OAAgC,IAAI;AAC3D,QAAM;AAAA,IACJ,OAAO,EAAE,YAAY;AAAA,IACrB;AAAA,EACF,QAAI,2CAAkB;AAEtB,QAAM,CAAC,aAAa,cAAc,IAAI,MAAM,SAAS,eAAe,EAAE;AAEtE,QAAM,cAAc,MAAM,YAAY,MAAM;AAC1C,oCAAU,MAAM;AACd,qBAAe,EAAE;AACjB,eAAS,EAAE,MAAM,oBAAoB,aAAa,GAAG,CAAC;AAAA,IACxD,CAAC;AACD,aAAS,SAAS,MAAM;AAAA,EAC1B,GAAG,CAAC,QAAQ,CAAC;AAEb,SACE;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,OAAO,EAAE,UAAU,aAAa,aAAa,eAAe;AAAA,MAE3D;AAAA;AAAA,EACH;AAEJ;AAEO,MAAM,0BAA0B,MAAM;AAC3C,QAAM,UAAU,MAAM,WAAW,oBAAoB;AACrD,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;","names":[]}