v5.8.0
Улучшения
- Поддержали
getRootRef
на всех компонентах (#5651) - ActionSheet: добавили информацию об инициаторе закрытия
ActionSheet
вActionSheet.onClose
(#5597) - Slider: добавили возможность включения тултипа при наведении/фокусе показывающего значение слайдера (#5472)
- FormItem: добавили возможность отключения внешних отступов с помощью пропа
noPadding
(#5600) - Tappable: добавили свойство
borderRadiusMode
для возможности унаследовать радиус скругления от родителя (#5619) - useNavDirection(): добавили хук для определение типа перехода (вперёд/назад), с которым была отрисована панель (#5567)
- Typography: для тега
<b>
в типографических компонентах теперь выставляемfont-weight: var(--vkui--font_weight_accent1);
(#5622) - Placeholder: добавили подкомпоненты (#5629)
- AppRoot:
- Group: изменили вид карточек в мобильной версии (#5720)
- Card: добавили режим отображения
outline-tint
(#5533) - Input: отключили нативные элементы для
<input type="number" />
при передачеtype="number"
(#5607) - ChipsSelect/CustomSelect: экспортировали
filterFnForSelect
(defaultFilterFn
изlib/select
) (#5601)
Исправления
- ConfigProvider:
ConfigProvider
больше не удаляет изbody
добавленные другими приложениями классы при размонтировании. (#5633) - ModalPage: скролл внутри модальной страницы теперь заканчивается на границе с ios env bottom inset. (#5715)
- TextTooltip/Popper: добавили проп
hideWhenReferenceHidden
, чтобы тултип не прыгал, а сразу автоматически скрывался при исчезновении элемента, к которому тултип привязан. (#5690) - Checkbox, Root: исправили классы (#5737)
- ChipsInput/ChipsSelect: привели типографику к дизайн-системе (#5695)
- Удалили font-smoothing (#5739)
Документация
- Добавили ссылки на
Storybook
для всех компонентов (#5694) - MiniInfoCell: убрали из документации свойство
textLevel
, которого нет в интерфейсе компонента (#5736)
Internal
- Обновили @vkontakte/vkui-tokens с
4.35.1
до4.36.0
(#5580) - Обновили @floating-ui/react-dom с
2.0.1
до2.0.2
(#5735) - Перенесли @vkontakte/icons в прямые зависимости (#5718)
Important
В связи с переносом @vkontakte/icons в прямые зависимости вы можете столкнуться с дублированием зависимостей. Если это случилось, не паникуйте: на помощь придет дедупликация.
Как ее сделать?
npm
Команда npm dedupe
npm dedupe
Yarn Classic
Утилита yarn-deduplicate
npx yarn-deduplicate --packages @vkontakte/icons
Yarn Modern
Команда yarn dedupe
yarn dedupe @vkontakte/icons
pnpm
Команда pnpm dedupe
pnpm dedupe
Подготовка к удалению интеграции с VK Bridge (#5496)
VKUI создавался как инструмент для создания клиентской части мини-приложений ВКонтакте. В связи с этим VKUI изначально интегрирован с библиотекой VK Bridge, которая реализует общение между VK Mini Apps и официальными клиентами ВКонтакте.
Сегодня разработчики используют VKUI, чтобы создавать полноценные независимые приложения, которые никак не связаны с VK Mini Apps, но наследие остается, и иметь с ним дело приходится всем. Поэтому мы приняли решение удалить интеграцию с VK Bridge, начиная со следующей мажорной версии (v6).
В рамках этого релиза в качестве подготовки к удалению интеграции мы:
- добавили советы по подготовке к обновлению на v6 в документации и в предупреждениях в консоли разработчика (☝️ если вы не разработчик VK Mini Apps, просто игнорируйте эти советы);
- создали страницу Интеграция с VK Mini Apps, которая содержит всю информацию об интеграции VKUI с VK Mini Apps в новых реалиях.