UNPKG

@finos/legend-application-marketplace

Version:
37 lines 2.07 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; /** * Copyright (c) 2020-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { useState } from 'react'; import { Button, InputAdornment, TextField } from '@mui/material'; import { clsx, SearchIcon } from '@finos/legend-art'; export const LegendMarketplaceSearchBar = (props) => { const { onSearch, initialValue, placeholder, onChange, className } = props; const [searchQuery, setSearchQuery] = useState(initialValue ?? ''); return (_jsxs("form", { className: clsx('legend-marketplace__search-bar', className), onSubmit: (event) => { event.preventDefault(); onSearch?.(undefined, searchQuery); }, children: [_jsx(TextField, { className: clsx('legend-marketplace__search-bar__input', { 'legend-marketplace__search-bar__input--with-button': onSearch !== undefined, }), type: "search", placeholder: placeholder ?? 'Search', fullWidth: true, value: searchQuery, onChange: (event) => { setSearchQuery(event.target.value); onChange?.(event.target.value); }, slotProps: { input: { startAdornment: (_jsx(InputAdornment, { position: "start", children: _jsx(SearchIcon, {}) })), }, } }), onSearch && (_jsx(Button, { type: "submit", variant: "contained", disabled: !searchQuery, children: "Go" }))] })); }; //# sourceMappingURL=LegendMarketplaceSearchBar.js.map