v7.0.0-beta.2
Pre-releaseBREAKING CHANGE
-
Button: изменен цвет компонента в состоянии
mode="primary"
иappearance="neutral"
, при миграции рекомендуется выставлятьmode="secondary"
приappearance="neutral"
(#7802)
Пример миграции
<Button appearance="neutral" + mode="secondary" />
-
ScreenSpinner: удалён
a11y
-текст по умолчанию, передавайте нужный текст вchildren
илиlabel
свойства. (#7821) -
PanelHeader: теперь не переопределяет цвет компонента
Spinner
, поэтому, если вы использовали компонентSpinner
внутриPanelHeader
, передавайте<Spinner noColor />
(#7820) -
FormItem: удалено свойство
topNode
, вместо него можно использовать свойствоtop
(#7837)Пример миграции
<FormItem - topNode={ + top={ <FormItem.Top> <FormItem.TopLabel htmlFor="about">Дополнительная информация</FormItem.TopLabel> <FormItem.TopAside>0/100</FormItem.TopAside> </FormItem.Top> } > <Textarea id="about" name="about" /> </FormItem>
-
DatePicker: компонент был удален, так как являлся устаревшим. На замену ему можно использовать Input, Select и DateInput. О том что лучше использовать, можно прочитать в обсуждении #7070 (#7840)
-
SimpleCell: свойство
subhead
переименовано вoverTitle
(#7861)Пример миграции
<SimpleCell onClick={() => {}} - subhead={"Subhead"} + overTitle={"Subhead"} indicator="При использовании" > Геолокация </SimpleCell>
-
Cell: свойство
subhead
переименовано вoverTitle
(#7861)Пример миграции
<Cell onClick={() => {}} - subhead={"Subhead"} + overTitle={"Subhead"} indicator="При использовании" > Геолокация </Cell>
-
CellButton: свойство
subhead
переименовано вoverTitle
(#7861)Пример миграции
<CellButton onClick={() => {}} - subhead={"Subhead"} + overTitle={"Subhead"} indicator="При использовании" > Геолокация </CellButton>
-
Header: свойство
mode
было удалено. Логика удаления свойстваmode
: (#7863)
size="l" mode="primary"
заменяется наsize="xl"
size="m" mode="primary"
заменяется наsize="m"
mode="tertiary"
заменяется наsize="m"
mode="secondary"
заменяется наsize="s"
-
Calendar: свойство
onClose
переименовано наonDoneButtonClick
(#7880) -
Select: для указания невыбранного состояния теперь необходимо использовать
null
вместоundefined
или пустой строки. То же самое относится и к CustomSelect и NativeSelect (#7822) -
Counter: изменены значения свойства
mode
(#7919)
Было'secondary' | 'primary' | 'prominent' | 'contrast' | 'inherit'
Стало'primary' | 'contrast' | 'tertiary' | 'inherit'
Логика перехода на новые значения:
Таблица миграции значений:Старое значение Новые свойства inherit mode="inherit" (без изменений) primary mode="primary" appearance="accent" secondary mode="primary" appearance="neutral" prominent mode="primary" appearance="accent-red" contrast mode="contrast" appearance="accent" -
Link: теперь для передачи иконок следует использовать параметры
before
иafter
, CSS свойства, которые через каскад задавались переданным иконкам вchildren
, удалены (#7957)Пример миграции
<Link href="#" + after={<Icon12Example />} > Текст ссылки - <Icon12Example /> </Link>
-
- у пресета
PanelHeaderClose
удалено свойствоchildren
. Теперь для прокидывания текста дляa11y
нужно прокидывать его в свойствоlabel
(#7874) - у пресета
PanelHeaderSubmit
удалено свойствоchildren
. Теперь для прокидывания текста дляa11y
нужно прокидывать его в свойствоlabel
(#7874) - у пресета
PanelHeaderEdit
удалены свойстваchildren
иlabel
. Вместоlabel
можно использовать свойстваdoneLabel
иeditLabel
. Свойствоchildren
не использовалось. (#7874) - у пресета
PanelHeaderBack
удалено свойствоchildren
. Теперь для прокидывания текста дляa11y
нужно прокидывать его в свойствоlabel
. Логика отображенияlabel
осталась как была, в отличие от других пресетов. Также для более точно настройкиlabel
были добавлены свойстваhideLabelOnVKCom
иhideLabelOnIOS
, чтобы можно было скрыватьlabel
на соответствующей платформе.
- у пресета
Улучшения
-
Header: добавлены значения для свойства size:
's'
и'xl'
(#7863) -
Select: в колбэк
onChange
помимо ChangeEvent теперь прокидывается новое значение вторым аргументом. Рекомендуется использовать именно второй аргумент. То же самое относится и к CustomSelect и NativeSelect (#7822)Пример
<Select id="select-type-select-id" value={selectType} placeholder="Не задан" options={selectTypes} - onChange={e => setSelectType(e.target.value)} + onChange={(_, newType) => setSelectType(newType)} />
-
useScrollLock: теперь при
<AppRoot scroll="global" />
в<html>
добавляетсяoverscroll-behavior: none
, чтобы избегать pull-to-refresh. (#7881) -
ChipsInput: импортированы типы
ChipOptionValue
иChipOptionLabel
(#7892) -
CustomScrollView: импортирован тип
CustomScrollViewProps
(#7892) -
CalendarRange: Добавлены свойства для установки
data-testid
у вложенных элементов (#7705) -
Popover: расширен тип свойства
restoreFocus
доboolean | 'anchor-element' | HTMLElement
для указания на какой элемент будет возвращен фокус после закрытияPopover
. Полезно для кейса сPopover
сtrigger="hover"
, при установкеrestoreFocus="anchor-element"
фокус всегда будет возвращаться в якорный элемент (#7806) -
Link: появился параметр
noUnderline
, отключающий подчеркивание при наведении (#7957) -
Spacing: добавлена возможность передать
css
-переменную вsize
(#7955) -
Separator: добавлена возможность передать
css
-переменную вsize
(#7955) -
добавлен экспорт
AppRootPortal
(#7996)
Новые компоненты
- Добавлен экспорт
FloatingArrow
, использующийся компонентамиPopover
,Tooltip
,Popper
(#7977)
Исправления
- Gallery:
- исправлено мерцание при переключении слайдов (#7842)
- не работало переключение слайдов в условиях, когда общая ширина слайдов меньше контейнера, но за счёт отступа из-за выравнивания по центру (
align="center"
) слайды немного не помещаются в контейнере. (#7862) - теперь во время
drag
происходит остановка автопереключения слайдов (#7877) - исправлена ошибка при отсутствии слайдов в режиме
looped
(#7686)
- Button: кнопка со свойством
loading
была кликабельна (#7830) - В некоторых компонентах свойство
style
имело мало приоритетности (#7854) - CustomSelect: Исправлена проблема с элементами списка у которых
value=""
issue #7696 (#7822) - Tappable:
- EllipsisText: не срабатывал параметр
Component
(#7909) - HorizontalCell: добавлено корректное вычисление ширины внутреннего контента (#7916)
- Group: исправлено отображение сепаратора на iPhone 15 (#7930)
- HorizontalScroll: исправлена проблема с отсутствием скрола при наведении на стрелки (#7882)
- DateInput: инициализируем секунды и миллисекунды (часы и минуты при вводе без времени) нулевыми значениями при ручном вводе даты (#7872)
- Исправлены ошибки в
Content Security Policy (CSP)
связанные с тем, что вCustomResizeObserver
создавалсяiframe
сsrc="javascript:void(0)"
, теперьiframe
создается без явного указанияsrc
, что позволяет браузеру самостоятельно заполнить это поле. Значение по умолчанию для браузеров:src="about:blank"
(#7933) - Search: исправлен отступ при
Group
в режимеmode="plain"
(#7962)
Сборка
package.json
:- Поправлена проблема с
Avatar.Overlay
для Next.JS (#7984)
Документация
Зависимости
- @vkonktate/vkjs обновлён с
1.3.0
до2.0.1
(#7939)