VKUI – это набор React-компонентов, с помощью которых можно создавать интерфейсы, внешне неотличимые от наших iOS и Android приложений.
ModalPage
/ModalCard
, если внутри модалки нет элемента, на котором уже есть фокус (#6054)renderOption
, чтобы можно было передавать опции с раширенным набором свойств (#6076)platform={undefined}
перебивала значение по умолчанию из контекста (#6044)overscroll-behavior: none
на html
при открытой модальной странице, чтобы исключить возможность появления нативного pull-to-refresh в браузерах, поддерживающих свойство overscroll-behavior
. (#6004)overscroll-behavior: none
на html
, чтобы в браузерах, поддерживающий свойство overscroll-behavior
, исключить вызов нативного pull-to-refresh. (#6004)[!IMPORTANT]
Мы приступаем к разработке v6, поэтому начиная с версииv5.10.0
будет отдаваться приоритет новой мажорной версии. По VKUI v5, по возможности, будем править только критические проблемы.
option
всегда передается в renderOption
(#5973)header
(#5966)header
, поправили доступность (#5996 by @ntvsx193)word-break: break-word
для header
и text
(#5966)getRootRef
на недостающие элементы (#5916)renderOption
(#5950)before
/after
и stretched
(#4049)looped
в связке с timeout
(#5951)mode=plain
(#5906)useNavId
для определения id панели (#5743)after
(#5828)mode: 'sheet' | 'menu'
, позволяющее переключать режим отображения (#5829)rounded
(#5648)removable
(#5745)segmented
при mode="vertical"
(#5802)height
(#5830)activated
(#5826)data-testid
там, где это раньше было невозможно (#5792):
data-testid
компонентам отечающим за действия внутри Alert через элементы actions
.data-testid
обертке вокруг основного текста ModalPageHeader
через typographyProps
.modalContentTestId
, устанавливающий data-testid
на обёртку вокруг контента ModalPage
, отвечающую за скролл внутри модального окна.looped
для возможности работы галереи в режиме карусели (#5744)aside
часть компонента для выравнивания контента (#5681)direction
возможность задать up
и down
(#5839)FloatingPlacement
(#5809)before
/after
, за счёт понижения специфичности и избавления от привязки к .vkuiIcon
классу. (#5873).HorizontalCell__content
если внутри пусто (не переданы header
/subtitle
/extraSubtitle
(#5884)font-weight: inherit
(#5902)overflow-x: hidden
у body
, так как это ломает библиотеки (react-virtualizer), реализующие виртуальные списки и вешающие обработчик события scroll
на window
. (#5890). Рекоммендуем пользователям библиотеки самим выставлять overflow-x: hidden
на body
, если это действительно нужно по какой-то причине.4.38.1
и поддержали динамические токены --vkui--size_border--regular
и --vkui--color_separator_primary
(#5783, #5791)@vkontakte/vkui
, что позволяет при переходе к определению (go to definition) направлять в .ts
файл, а не .d.ts
(#5748)header
(#5799)overlay
при достаточно быстром переключении между ModalCard
(#5805)PanelHeader
(#5851)getRootRef
на всех компонентах (#5651)ActionSheet
в ActionSheet.onClose
(#5597)noPadding
(#5600)borderRadiusMode
для возможности унаследовать радиус скругления от родителя (#5619)<b>
в типографических компонентах теперь выставляем font-weight: var(--vkui--font_weight_accent1);
(#5622)layout
, отвечающее за вид Group
(#5642)disableParentTransformForPositionFixedElements
, отключающее создания нового слоя для position: fixed
элементов при mode="embedded"
(#5692)outline-tint
(#5533)<input type="number" />
при передаче type="number"
(#5607)filterFnForSelect
(defaultFilterFn
из lib/select
) (#5601)ConfigProvider
больше не удаляет из body
добавленные другими приложениями классы при размонтировании. (#5633)hideWhenReferenceHidden
, чтобы тултип не прыгал, а сразу автоматически скрывался при исчезновении элемента, к которому тултип привязан. (#5690)Storybook
для всех компонентов (#5694)textLevel
, которого нет в интерфейсе компонента (#5736)4.35.1
до 4.36.0
(#5580)2.0.1
до 2.0.2
(#5735)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
VKUI создавался как инструмент для создания клиентской части мини-приложений ВКонтакте. В связи с этим VKUI изначально интегрирован с библиотекой VK Bridge, которая реализует общение между VK Mini Apps и официальными клиентами ВКонтакте.
Сегодня разработчики используют VKUI, чтобы создавать полноценные независимые приложения, которые никак не связаны с VK Mini Apps, но наследие остается, и иметь с ним дело приходится всем. Поэтому мы приняли решение удалить интеграцию с VK Bridge, начиная со следующей мажорной версии (v6).
В рамках этого релиза в качестве подготовки к удалению интеграции мы: