VKUI – это набор React-компонентов, с помощью которых можно создавать интерфейсы, внешне неотличимые от наших iOS и Android приложений.
MIT License
Bot releases are visible (Hide)
Published by ewgenius almost 4 years ago
AppRoot
: исправлено поведение overflowPublished by ArthurStam almost 4 years ago
Этот релиз в первую очередь примечателен тем, что VKUI теперь — это адаптивная библиотека
Новый корневой компонент, автоматически добавляет необходимые классы при full и embedded встраивании
Обязателен во всех случаях кроме partial
Select
читайте ниже)SimpleCell
. За счет этого избавились от дублирующих стилей и стали большеcentered
, позволяющее при желании отключать центрирование содержимогоslideIndex
, но не передан onChange
, то компонент "блокируется" аналогично controlled componentisDraggable
, контролирующее возможность свайпать галереюonEnter
и onLeave
для отслеживания hovernoSlideClick
, которое игнорирует клик после слайда по компонентуTappable
вложен в другой, то при ховере на дочернем Tappable
, с родительского эффект наведения будет убран. То же касается и эффекта состояния activehasHover
и hasActive
, позволяющие игнорировать Tappable
состояния hover и activeGroup
два типа отображения — card
и plain
. Тип выставляется автоматически в зависимости от размераmode
Group
можно вложить одну или несколько <Group mode="plain" />
.meta
и subtitle
для более сложного контентаselectable
для создания выделяемых ActionSheetItem
disabled
IOSDetections
из @vkontakte/vkjs
CardGrid
убраны лишние боковые отступы #1026Separator
: новый режим expanded
, превращающий сепаратор в толстую линиюLink
: добавлены hover/active состоянияGallery
: пофикшен баг с пустыми слайдами (fixes #1151)Search
: появился параметр before
для смены иконки #1186 (спасибо @ilyapishchulin)Epic
: Теперь состояние скролла сохраняется для всех вкладок отдельно #1225 (fixes #148)Typography
: добавили свойство Component
всем компонентам типографикиRichCell
: добавлено свойство Component
PullToRefresh
: работает даже если мало контента и свайп был за пределами PTRLink
: под капотом теперь испозует Tappable
для реализации hover и active состоянийHorizontalScroll
: появились кнопки-стрелки для прокрутки по кликуHeader
: добавлен новый mode
tertiary
FormLayoutGroup
: появилось свойство mode
, отвечающее за расположение дочерних FormItem
ConfigProvider
: появилось свойство platform
, позволяющее жестко задать платформуaddon
. <PanelHeader left={<PanelHeaderBack />} addon="Назад" />
меняется на <PanelHeader left={<PanelHeaderBack label="Назад" />} />
ModalCard
: в свойство actions
теперь нужно передавать обычные ReactNode
, а не массив объектовModalCard
: свойство caption
переименовано в subheader
ModalPageHeader
: удалено свойство noShadow
. На его месте теперь свойство separator
header
и text
FormLayout
теперь просто оборачивает children
в form
. Никакой итерации по детям внутри него нетInput
, Select
и прочие подобные элементы форм больше не нужно передавать top
, bottom
и status
.FormItem
, передавая ему эти свойства.FormLayoutGroup
так же лишен свойств top
, bottom
и status
. Он теперь предназначен только для группировки FormItem
xl
, l
и m
изменены на l
, m
и s
соответственно<Button size="l" />
больше не растягивается автоматически на всё ширину. Чтобы добиться растяжения, нужно передать свойство stretched:
size
. Теперь чтобы отрисовать Cell size="l"
нужно использовать RichCell
asideContent
переименовано в after
disabled={true}
toggleRef
(для отображения рядом target) и iosCloseItem
separator
, отвечавшее за отрисовку разделителя после шапки. Свойство перекочевало в PanelHeader
multiline
. Вместо него нужно использовать textWrap="short"
.Card
больше нет свойства size
. Теперь его нужно передавать в CardGrid и CardScroll
CustomSelect
/NativeSelect
в зависимости от наличия/отсутствия мышки соответственно<option value={value}>{title}</option>
нужно передавать массив объектов options
с обязательными полями value
и title
OS
из platform.ts переименован в Platform
Group
dist/es6
версия стала единственной и переехала в корень dist/
Banner.actions
использовалась <Button mode="tertiary" />
, то теперь этой кнопке нужно так же передатьhasHover={false}
Published by ewgenius almost 4 years ago
ChipsInput
и ChipsSelect
исправлен баг с плэйсхолдером в FireFox, и адаптированы размеры под большие экраны и vkcomPullToRefresh
: не прячется под шапку (fixes #1207)Tappable
: обновлена анимация нажатия и ховера для устройств с мышкойPublished by ArthurStam almost 4 years ago
useAdaptivity
перешли на withAdaptivity
, чтобы была возможность переопределить свойства адаптивностиHorizontalScroll
: улучшена документация.HorizontalScroll
: исправлено зацикливание анимации скролла.InfoRow
: исправлена проблема со вложенными заголовками (fixes #1153)MiniInfoCell
: поправлены стили для vkcomProgress
: обновлен дизайнSpinner
: поправлен цветFormStatus
: обновлен дизайнprocess is not defined
).viewHeight
со значениями ViewHeight = 'EXTRA_SMALL' | 'SMALL' | 'MEDIUM'
ModalPage
и ModalCard
- обновлено адаптивное поведение и добавлена внешняя кнопка закрытия для широких экрановSnackbar
: переиспользует Button
, Typography
, адаптирован под большие экраны и vkcomCell
: поправлен overflow в removable
режиме (fixes #1165)CellButton
: разрешено передавать атрибуты button (fixes #1174)ContentCard
: поправлен экспорт и типы (fixes #1176, fixes #1177)PanelHeaderContent
: все свойства помечены как необязательные (fixes #1172)PanelHeader
: поправен box-sizing, чтобы padding и height суммировались (fixes #1145)Gallery
: добавлены getRef
и getRootRef
(fixes #1135)Banner
: адаптирован под все размеры и платформыPanelSpinner
: адаптирован под все размеры и платформыCard
: адаптирован под все размеры и платформыButton
: поправлены боковые поля с учетом borderModalDismissButton
: компонент теперь экспортируется и обзавелся документациейGallery
: при слайде не вызывается onClick
(fixes #1136)Gallery
: сделали компонент контролируемым и добавили свойство isDraggable
, чтобы разрешать/запрещать пользовательское перетаскивание (fixes #894)HorizontalCell
: поправлена проблема невлезающего длинного контента (fixes #1171)Published by ArthurStam almost 4 years ago
View
: добавлено коллбэк-свойство onSwipeBackCancel
для отслеживания свайпа назад, который был отменен пользователем.Placeholder
: добавлено свойство getRootRef
.process is not defined
).Published by ewgenius almost 4 years ago
Input
, Textarea
Select
: Вернули возможность передавать свойcтва CustomSelect, типа popupDirection
Select
: Поправлен баг с опциями с одинаковыми label
(fixes #1137)PullToRefresh
: жест срабатывает, даже если пользователь его начал не с содержимого компонента (fixes #933)PanelHeader
: поправлен размер шрифта (fixes #1073)PanelHeader
: поправлено обрезание текста (fixes #951)Select
: опции больше нельзя передавать как children
. Теперь доступен только валидный массив options
. (fixes #1139)Published by ArthurStam almost 4 years ago
Ссылка на документацию: https://vkcom.github.io/VKUI/4.0.0-beta.33/
PanelHeader
для платформы vkcom
PanelHeader
добавлен флаг fixed
, позволяющий не фиксировать шапку сверху, если передан fixed={false}
FormLayoutGroup
SplitCol
и SplitLayout
разнесены по разным директориямGallery
: поправлен баг с удалением последнего элемента (fixes #1123)TABLET_SIZE
, если выбрана платформа VKCOM
Tabs
: поправлено отображение в Group
TabsItem
: реализован уход в троеточие на маленьких размерах, поправлен дизайн mode="segmented"
при sizeX="regular"
border-radius
у CustomSelect
и ChipsSelect
на ios
Select
: поправлены getRef
и getRootRef
Select
: onBlur
и onFocus
стали возвращать объекты событийSearch
для платформы vkcom
Search
, после которого не было фокуса (fixes #1082)NativeSelect
FormItem
: добавлено свойство Component
, переопределяющее тег корневого элемента (fixes #1132)Group
в режиме card
Cell
сохраняют свои размеры при длинном контенте (fixes #1121)PanelHeader
на платформе vkcom
не зафиксирована сверху, а находится в потоке с другими элементами панелиGroup
<SplitColFixed />
больше нет. Вместо него теперь <SplitCol fixed />
Select
: onChange
теперь возвращает корректный объект события change
. Это изменение делает компонент более предсказуемымCustomSelect
: CustomOptionValue
теперь идентичен типам SelectHTMLAttributes<HTMLSelectElement>['value']
, то есть boolean
туда уже не положешь. CustomSelect
— это надстройка над нативным select
, которая расширяет его возможности, но не меняет базовых принциповUsersStack
: компонент лишился внешних отступов. Теперь их нужно устанавливать в месте использования. Мы стараемся избегать предустановленных внешних отступов, чтобы улучшить компоновкуPublished by ArthurStam almost 4 years ago
Gallery
: поправлен баг с удалением последнего элемента #1123Group
: поправлен дизайн у description
Published by fedorov-xyz almost 4 years ago
Published by ArthurStam almost 4 years ago
Ссылка на документацию: https://vkcom.github.io/VKUI/4.0.0-beta.32/
ChipsInput
: в renderOption
больше не нужно разбираться с key
ChipsSelect
и CustomSelect
: поправлены высота выпадающего списка и тениPublished by ArthurStam almost 4 years ago
Ссылка на документацию: https://vkcom.github.io/VKUI/4.0.0-beta.31/
onClick
у <SimpleCell|Cell|RichCell disabled />
#1038InfoRow
#747HorizontalScroll
CellButton
под капотом теперь использует SimpleCell
. За счет этого избавились от дублирующих стилей и стали больше соответствовать дизайнуCellButton
, SimpleCell
, Cell
и RichCell
адаптированы под sizeY compactvkcom
Button
и Typography
там, где это было возможноButton
для VKCOM
платформыmode
, позволяющее явно задать стиль отображения группы (card
, plain
)ModalPage
Group
по-умолчанию рисуется в plain
стилеRadio
в vkcom
версии #1030CardGrid
убраны лишние боковые отступы #1026transform: translate
Slider
и RangeSlider
IOSDetections
из @vkontakte/vkjs
BrowserInfo
в целом, что бы не полагалось на platformBrowserInfo.platfrom
-> BrowserInfo.system
что бы путать с platform модулемBrowserInfo
, вместо userAgent
ModalCard
: в свойство actions
теперь нужно передавать обычные ReactNode
, а не массив объектов.ModalCard
: свойство caption
переименовано в subheader
.Alert
: Заголовок и текст теперь нужно передавать в свойствах header
и text
Group
: теперь для реализации вложенных, нужно рендерить <Group mode="plain" />
внутри Group
OS
из platform.ts переименован в Platform
Published by fedorov-xyz about 4 years ago
Card
: добавлено свойство getRootRef
.Header
: исправлена отрисовка subtitle
, indicator
и aside
.Published by ArthurStam about 4 years ago
Ссылка на документацию: https://vkcom.github.io/VKUI/4.0.0-beta.30/
FormItem
— базовый компонент формыSlider
и RangeSlider
переверстаны в соответствии с дизайномRadio
и Checkbox
переверстаны в соответствии с дизайномFormField
поправлено обращение к несуществующему цветовому токенуSliderSwitch
, ChipsInput
, Chip
, CustomSelect
, DatePicker
ActionSheet
и ActionSheetItem
и Switch
поддержаны тема vkcom и compact sizeYchildren
в form
. Никакой итерации по детям внутри него нет.top
, bottom
и status
. Компоненты нужно оборачивать в FormItem
, передавая ему эти свойства.FormLayoutGroup
так же лишен свойств top
, bottom
и status
. Он теперь предназначен только для группировки FormItem
.Published by fedorov-xyz about 4 years ago
Banner
: исправлен лишний z-index у иконки крестика.PromoBanner
: фиксы по дизайну и исправление в документации.Placeholder
: убран лишний фон (#967).Published by fedorov-xyz about 4 years ago
MiniInfoCell
: новые свойства textWrap
и textWrap
.PullToRefresh
: вызов события Taptic Engine через vk-brigde при обновлении жестом.Select
в некоторых случаях.head
, так и в конец body
. Раньше могли возникать ошибки из-за недоступности DOM-дерева в момент исполнения кода библиотеки.Published by ArthurStam about 4 years ago
Исправлен баг с передачей нулевого значения в CustomSelect
Published by ArthurStam about 4 years ago
<Button size="l" />
больше не растягивается автоматически на всё ширину. Чтобы добиться растяжения, нужно передать свойство stretched: <Button size="l" stretched />
Published by fedorov-xyz about 4 years ago
ModalCard
добавлено пропущенное свойство className
.Published by fedorov-xyz about 4 years ago
MiniInfoCell
для десктопа.Avatar
: добавлен размер 96.