/*--------------------------------------------------------------------------------------------- * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ import { SvgCloseSmall, SvgSearch } from "@itwin/itwinui-icons-react"; import { IconButton, LabeledInput } from "@itwin/itwinui-react"; import React, { useState } from "react"; import "./SearchBar.scss"; interface SearchBarProps { searchValue: string; setSearchValue: React.Dispatch>; disabled?: boolean; } export const SearchBar = ({ searchValue, setSearchValue, disabled }: SearchBarProps) => { const [searchBarOpen, setSearchBarOpened] = useState(false); const [searchBarClosing, setSearchBarClosing] = useState(false); return searchBarOpen || searchValue ? (
{ if (searchBarClosing) { setSearchBarClosing(false); setSearchBarOpened(false); setSearchValue(""); } }} > setSearchBarClosing(true)} styleType="borderless" title="Clear Search"> } iconDisplayStyle="inline" value={searchValue} onChange={(e) => setSearchValue(e.target.value)} disabled={disabled} />{" "}
) : ( setSearchBarOpened(true)}> ); };