init: the first public commit for AFFiNE

This commit is contained in:
DarkSky
2022-07-22 15:49:21 +08:00
commit e3e3741393
1451 changed files with 108124 additions and 0 deletions
@@ -0,0 +1,48 @@
import { useCallback } from 'react';
import { styled } from '../styled';
import type { FC, CSSProperties, ChangeEvent } from 'react';
/**
* WARNING: This component is about to be deprecated, use Select replace
*
* **/
const StyledSelect = styled('select')({
border: '1px solid #aaa',
});
interface Props {
value: string;
options?: Array<{ label?: string; value?: string; key?: string }>;
onChange: (value: string) => void;
extraStyle?: CSSProperties;
}
export const OldSelect: FC<Props> = ({
value,
options,
onChange,
extraStyle,
}: Props) => {
const onSelectChange = useCallback(
(e: ChangeEvent<HTMLSelectElement>) => {
onChange(e.target.value);
},
[onChange]
);
return (
<StyledSelect
style={extraStyle}
value={value}
onChange={onSelectChange}
>
{options?.map(option => {
return (
<option key={option.value} value={option.value}>
{option.label}
</option>
);
})}
</StyledSelect>
);
};