Selector

import { Selector } from '@megafon/ui-core';

Состояние переключателя

Светлая тема на темном фоне

Типы переключения

Код DemoSelectorWrapper
export const DemoSelectorWrapper = ({ children }) => {
const [selectedOption, setSelectedOption] = React.useState('');
const handleChange = (value) => {
setSelectedOption(value);
}
return (
<>
<p style={{textAlign: 'center', marginTop: 0}}><b>Value:</b> {selectedOption || undefined}</p>
<div style={flexStyle}>
{children({
onChange: handleChange,
selectedOption: selectedOption,
})}
</div>
</>
);
}

Контролируемое

Value:

Неконтролируемое

Value:

Выбор нескольких элементов

Код DemoMultipleSelectorWrapper
export const DemoMultipleSelectorWrapper = ({ children }: ISelectorProps) => {
const [selectedOption, setSelectedOption] = React.useState<string[]>([]);
const handleChange = (values: string[]): void => {
setSelectedOption(values);
};
return (
<>
<p style={{ textAlign: 'center', marginTop: 0 }}>
<b>Value:</b> {selectedOption.join(', ') || undefined};
</p>
<div style={flexStyle}>
{children({
onChange: handleChange,
selectedOption,
})}
</div>
</>
);
};

Value:

Позиционирование элемента

Код customInput class
.top-right {
position: absolute;
top: 10px;
right: 10px;
}
.center {
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
.bottom-left {
position: absolute;
bottom: 10px;
left: 10px;
}

Value: