Releases: VKCOM/VKUI
v6.7.2
Исправления
- CellButton: исправлен слишком большой отступ между иконкой в
before
и текстом в режимеcentered
(#7658) - AppRoot: мемоизируем контекст
AppRootContext
, чтобы компоненты, зависящие от него, лишний раз не ререндерелись при ререндереAppRoot
(#7667)
v6.7.1
Исправления
- Select:
disabled
для опций не прокидывалось в NativeSelect (#7622) - Gallery: Поправлен баг с переходом между двумя слайдами стрелками (#7615)
- TabsItem: исправлен отступ между элементами при использовании
href
иonClick
вместе (#7629) - Spacing: Поправлен баг с отсутствием верхнего отступа при прокидывании в
size
значение типаstring
(#7632) - CustomSelect: реверт изменений #7235 #7508 (#7619)
- Tooltip: поправлен баг с закрытием тултипа при клике на якорный элемент при прокидывании disableCloseAfterClick=true (#7657)
v6.5.4
Изменения
CustomSelect: реверт изменений #7235 #7508 (#7656)
v6.7.0
Important
Как писали ранее, мы приступили к разработке следующей мажорной версии VKUI
- v7
Это последняя запланированная минорная версия по v6
.
Далее мы будем выпускать только версии с исправлением критических багов.
Исправления
- Search: поправлен баг с опаздывающей анимацией кнопки "Отмена" в iOS (#7487)
- ModalRoot: исправлены повторные вызовы
onClosed
при определенных условиях (#7543) - Alert:
onClose
теперь вызывается послеaction
(#7546) - CustomSelect: типы не соответствовали нативным типам
<input>
(#7569) - Headline: исправлена адаптивность типа начертания шрифта (
weight
) в режимеcompact
(#7551) - Вычисляемые свойства в объектах приведены к обычным там, где они были ненужны (#7571)
Улучшения
-
Calendar: Добавлен пропс
renderDayContent
для отрисовки кастомного контента в ячейке дня. Props также был добавлен вCalendarRange
,DateInput
иDateRangeInput
(#7518) -
PanelHeaderButton: добавлена поддержка компонента
Badge
вlabel
(#7526) -
Typography: добавлено свойство
useAccentWeight
для использованияfontWeightAccent
токенов, если требуется поменять начертание текста с помощью свойстваweight
. По умолчанию в VKUIuseAccentWeight={true}
, то есть при использовании свойстваweight
применяются токеныfontWeightAccent
. Если нужно, чтобы использовались токеныfontWeightBase
необходимо явно указатьuseAccentWeight={false}
(#7549)⚠️ WarningВ
v7
useAccentWeight
по умолчанию будетfalse
. -
Text: добавлено использование
compact
токеновfontWeight/fontFamily
в режимеcompact
(#7564) -
Subhead: добавлена поддержка
compact
режима для токеновfontWeight
иfontFamily
(#7566) -
DisplayTitle: добавлена поддержка
compact
режима (#7553) -
ScreenSpinner: добавлена возможность прокидывать
caption
(#7505)
-
ToolButton: при
direction="row"
теперь применяется режимrounded
что с передачейchildren
, что без; прибивается по левому краю; имеет больший отступ справа при передачеchildren
, чтобы скомпенсировать иконку (#7488) -
- добавлено новое свойство
unlockParentHover
, которое можно использовать в ситуации когда одинTappable
вложен в другой и при на ведении на дочерний нужно, чтобы hover состояние также появлялось на родительскомTappable
. Выставляется на дочернем. По умолчанию hover состояние дочернего элемента родительскому не передаётся. (#7519) - добавлено новое свойство
hasHoverWithChildren
, которое можно использовать в ситуации когда множествоTappable
вложены в другойTappable
и нужно, чтобы при на ведении на каждый из дочернихTappable
hover состояние передавалось родительскомуTappable
. Выставляется на родительскомTappable
. В такой ситуацииunlockParentHover
на дочерних компонентах можно опустить. (#7519)
- добавлено новое свойство
Зависимости
- Обновили
@swc/helpers
с 0.5.12 до 0.5.13
v6.6.0
Important
Мы приступаем к разработке следующей мажорной версии VKUI
- v7
Это значит, что мы вскоре прекратим развитие версии v6
,
выпуская только версии с исправлением критических багов.
Если у вас есть потребность в новой функциональности,
которую вы хотите видеть в v6
, пожалуйста, отпишитесь в соответствующей issue.
Улучшения
Popover
Всплывающие окна получили возможность установки фокуса на рутовом компоненте с помощью свойства auto="root"
(#7302)
ChipsSelect
- добавлено свойство
renderDropdown
(#7303) - добавлена возможность закрыть всплывающее окно кликом на стрелочку (#7462)
RichCell
Добавлено свойство afterAlign
(#7192)
Header
Добавлены свойства before
, beforeTitle
, afterTitle
, beforeSubtitle
, afterSubtitle
(#7202)
Card/CardGrid/ContentCard
Улучшена доступность (#7238)
CardScroll
Touch
Улучшена производительность компонента (#7272)
Switch:
Уменьшен размер в компактном (sizeY="compact"
) режиме (#7440)
Tooltip
Добавлено свойство closable
(#7438)
ScreenSpinner
Добавлено свойство mode="overlay" | "shadow"
(#7484)
Group
- добавлены подкомпоненты
Group.Container
,Group.Header
,Group.Description
(#7395)<Group.Container> <Group.Header> <Header>Адреса</Header> </Group.Header> <CellButton onClick={noop}>Добавить домашний адрес</CellButton> <CellButton onClick={noop}>Добавить рабочий адрес</CellButton> <Group.Description> Для использования в мини-приложениях, Delivery Club, VK Taxi и других сервисах ВКонтакте. Эти адреса видны только Вам. </Group.Description> </Group.Container>
- добавлен подкомпонент
Group.ExpandedContent
, позволяющий игнорировать горизонтальные или вертикальные отступыGroup
(#7396)
Зависимости
- обновлён пакет @vkontakte/vkui-tokens с
4.51.0
до4.53.3
(#7501)
Документация
- Storybook: добавлены пресеты для конфигурации свойств компонента (#7389)
- изменена
CDN
для работы с @vkontakte/vkui-tokens с unpkg на jsdelivr (#7483)
Внутренние изменения
- кодовая база подготовлена для работы с React Compiler, изменения затронули следующие компоненты:
- Checkbox (#7482)
- DatePicker (#7478)
- OnboardingTooltip (#7475)
- Tooltip (#7491)
- Popover (#7472)
- Spacing (#7470)
- CustomScrollView (#7479)
- удалён мертвый код (#7490)
- ModalRoot: сделан
clean-up
кода (#7344)
Исправления
v6.5.3
Исправления
- CustomSelect: исправлена проблема с изменением позиции курсора с помощью мыши (#7508)
- Image: исправлено неверное позиционирование
children
(#7511)
v6.5.2
Исправления
- Исправлена ошибка
TypeError: Uncaught TypeError: Cannot read properties of undefined (reading 'shown')
, которая могла возникать при использовании компонентов Tooltip / Popover при переводе компонента из неконтролируемого состояния в контролируемое (#7285) - Footer: добавлена роль
role="contentinfo"
, если используется тег<footer>
, а также добавлены рекомендации по доступности (#7378) - Flex: поправлен неправильный расчёт
margin
(#7426) - Search: кнопка очистки была доступна несмотря на то, что поиск был в неактивном состоянии (#7422)
- FormLayoutGroup: удален неиспользуемый класс (#7423)
- CustomSelect / ChipsSelect: исправлены скругления границ инпута при открытии дропдауна при определённых условиях (#7419)
- Исправлена поддержка свойства
hidden
(#7430) - Input/FormField: ряд исправлений (#7425)
- исправлено изменение цвета фона и обводки при наведении в состоянии
error/valid
- в режиме
mode="plain"
и состоянииstatus="valid" | "error"
в активном состоянии появилась обводка соответствующего цвета - в режиме
mode="plain"
и состоянииstatus="valid"
фон стал соответствовать дизайн-системе (--vkui--color_background_positive_tint
)
- исправлено изменение цвета фона и обводки при наведении в состоянии
Документация
v6.5.1
Исправления
- Group: поправлено автоматическое определение
mode="card"
, когдаmode
не передан, а параметр адаптивности SizeX определяется как Regular. (#7345) - Tappable: при передаче
Component="button" | "a" | "input"
безonClick
|href
, компонент считался не кликабельным (#7390) - CustomSelect:
- DateRangeInput/DateInput/CustomSelect: из типов убрано неиспользуемое свойство
maxHeight
(#7408) - Cell: добавляем полноценную поддержку
disabled
-свойства. Раньше оно использовалось для того, что сделать ячейки неинтерактивными - теперь это решается отсутствием пропаonClick
.disabled
- помечает ячейку как недоступную (она становится серой) (#7405) - View: после двойного жеста свайпбэка интерфейс переставал быть кликабельным (#7392)
- Image:
keepAspectRatio
больше не требует явного задания ширины/высоты родителя (#7342)
Документация
- CustomScrollView: исправлено отображение заголовка в примере (#7346)
- ActionSheet: обновлен пример в режиме
selectable
вstyleguide
иstorybook
, чтобы показать правильное использование компонента (#7394) - ActionSheetItem: добавлен раздел по цифровой доступности с рекомендациями (#7394)
- WriteBar: пример в
storybook
сделан более интерактивным (#7376) - FormItem: исправлен пример с валидацией почты (#7374)
- Иконка копирования ссылки на тему на маленьких устройствах вылезала за пределы экрана (#7350)
- ModalRoot: исправлен отступ между кнопками в модальной карточке (#7348)
v5.10.2
Исправления
- Select/NativeSelect/DatePicker: убрали передачу неиспользуемых свойств из
Select
вNativeSelect
(#6666) - CalendarRange/DateRangeInput: поправлена типизация передаваемого значения в
onChange
(#6665)
source-map для CSS
После обновления PostCSS до 8.4.38 при импорте файлов со стилями из @vkontakte/vkui
:
@import 'node_modules/@vkontakte/vkui/dist/components.css';
/* или */
@import 'node_modules/@vkontakte/vkui/dist/vkui.css';
в консоль начали сыпаться предупреждения из-за не валидного source-map для CSS:
original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.
поправили их генерацию (#7354)
v6.5.0
Warning
В рамках #7280 изменились внутренние импорты.
Если вы по какой-то причине использовали внутренние импорты,
рекомендуем ознакомиться с изменениями.
Новые компоненты
SelectionControl + Checkbox / Radio
Компонент для создания ячеек из таких переключателей как Checkbox, Radio и Switch (#7119)
В рамках задачи по созданию этого компонента, <input />
элементов Checkbox и Radio вынесены в под-компоненты <Checkbox.Input />
и <Radio.Input />
, соотвественно.
Пример использования:
<Group>
<SelectionControl>
<Checkbox.Input />
<SelectionControl.Label description="Description">Title</SelectionControl.Label>
</SelectionControl>
<SelectionControl>
<Radio.Input />
<SelectionControl.Label description="Description">Title</SelectionControl.Label>
</SelectionControl>
<SelectionControl>
<SelectionControl.Label description="Description">Title</SelectionControl.Label>
<Switch />
</SelectionControl>
</Group>
Улучшения
-
Flex.Item: свойства
alignSelf
,flex
иflexBasis
теперь необязательны,flexBasis
теперь также принимает строки (#7329) -
ChipsInput: удалены значения по умолчанию для
getOptionValue
,getOptionLabel
,getNewOptionData
(#7280) -
FixedLayout/OnboardingTooltipContainer: добавлено свойство
Component
(#7237) -
CustomScrollView: добавлена поддержка горизонтального скролла (#7130)
-
CellButton: изменен акцентный цвет (#7330)
-
Удалены лишние префиксы
WebkitTransform
иWebkitTransition
(#7299) -
Добавлен экспорт хука
useOrientationChange
(#7324)
Исправления
- TextArea: исправлен некорректный скролл (#7273)
- ActionSheetItem: исправлена навигация с клавиатуры в режиме
selectable
(#7216) - ModalRoot: исправлена работа скролла в модальных окнах (#7325)
- Group: исправлена адаптивность в модальных окнах (#7284)
- Cell: удалены лишние отступы в режиме
draggable
иmode='selectable'
(#7327) - Всплывающие окна с поддержкой
autoFocus
теперь не игнорируют это свойство, когда контент внутри всплывающего окна изменяется (#7331)
Зависимости
- Обновлён пакет @vkontakte/vkui-tokens с 4.49.0 до 4.51.0 (#7297)
- Удалена внутренняя зависимость mitt за ненадобностью (#7319)
- Библиотека dayjs заменена на date-fns (#7320)
Документация
- CustomScrollView: добавлена документация (#7130)