@yandex/ui
Version:
Yandex UI components
219 lines (212 loc) • 6.32 kB
JavaScript
const ComponentsPropsHandlers = {
Button: {
action: () => {
return {
name: 'theme',
value: 'action',
};
},
size: (value) => {
if (!['head', 'ns', 'xs'].includes(value)) return;
return {
value: 's',
shouldCheck: `Размер "${value}" больше не поддерживается, используйте кастомный модификатор`,
};
},
},
Menu: {
size: (value) => {
if (value !== 'xs') return;
return {
value: 's',
shouldCheck: `Размер "${value}" больше не поддерживается, используйте кастомный модификатор`,
};
},
},
TextArea: {
size: (value) => {
if (value !== 'xs') return;
return {
value: 's',
shouldCheck: `Размер "${value}" больше не поддерживается, используйте кастомный модификатор`,
};
},
text: () => {
return {
name: 'value',
};
},
__name: () => 'Textarea',
},
TextInput: {
suggest: () => {
return {
shouldCheck: 'Свойство "suggest" больше не поддерживается',
};
},
text: () => {
return {
name: 'value',
};
},
__name: () => 'Textinput',
},
CheckBox: {
text: () => {
return {
name: 'label',
};
},
attrs: () => {
return {
removed: true,
shouldCheck: 'Свойство "attrs" больше не поддерживается',
};
},
__name: () => 'Checkbox',
},
Attach: {
attrs: () => {
return {
removed: true,
shouldCheck: 'Свойство "attrs" больше не поддерживается',
};
},
onReset: () => ({ name: 'onClearClick' }),
textWidth: () => ({ name: 'holderTextWidth' }),
holder: () => ({ name: 'hasHolder' }),
},
RadioBox: {
attrs: () => {
return {
removed: true,
shouldCheck: 'Cвойство attrs, все пропсы прокидываются в элемент Control',
};
},
__name: () => 'Radiobox',
},
Popup: {
hiding: () => {
return {
removed: true,
shouldCheck: 'Отсутствует модификатор "hiding" https://st.yandex-team.ru/ISL-7164',
};
},
target: () => {
return {
shouldCheck:
'Хвостик с модификатором _target_position больше не рассчитывает координаты для своего местоположения,' +
'для того, чтобы указать положение можно воспользоваться свойством position',
};
},
},
Link: {
url: () => {
return {
name: 'href',
};
},
icon: () => {
return {
removed: true,
shouldCheck: 'Свойство "icon" больше не поддерижвается',
};
},
iconLeft: () => {
return {
removed: true,
shouldCheck: 'Свойство "iconLeft" больше не поддерижвается',
};
},
iconRight: () => {
return {
removed: true,
shouldCheck: 'Свойство "iconRight" больше не поддерижвается',
};
},
},
Select: {
val: () => {
return {
name: 'value',
};
},
items: () => {
return {
name: 'options',
shouldCheck: 'Исправить формат данных для options',
};
},
type: () => {
return {
removed: true,
};
},
},
Modal: {
verticalAlign: () => {
return {
name: 'contentVerticalAlign',
};
},
},
};
const CommonPropsHandlers = {
cls: () => {
return {
name: 'className',
};
},
tag: () => {
return {
name: 'as',
};
},
tone: (value) => {
return {
removed: true,
shouldCheck: value !== 'default' && 'Для изменения цвета контролов необходимо использовать глобальные-темы',
};
},
mix: () => {
return {
removed: true,
shouldCheck: 'Используйте className вместо mix',
};
},
size: (value) => {
value = value === 'n' ? 'm' : value;
return {
value,
shouldCheck: 'Компонент больше не поддерживает размеры — n',
};
},
view: (value) => {
return {
removed: value === 'classic',
};
},
autocomplete: (value) => {
return {
name: 'autoComplete',
removed: value !== 'false',
value: value === 'false' && 'off',
};
},
autoclosable: () => {
return {
shouldCheck: 'используйте хок @yandex-lego/components/withOutsideClick',
removed: true,
};
},
controlAttrs: () => {
return {
shouldCheck: 'свойства из "controlAttrs" можно добавить напрямую в компонент',
removed: true,
};
},
};
module.exports = {
CommonPropsHandlers,
ComponentsPropsHandlers,
};