v7.0.0-beta.0
Pre-release
Pre-release
github-actions
released this
01 Oct 13:41
·
150 commits
to master
since this release
Tip
Чтобы упростить переход на новую мажорную версию, можно воспользоваться инструментом по автоматической миграции ваших компонентов
Подробную информацию можно найти на этой странице.
BREAKING CHANGE
- Удалена CommonJS сборка (#7611)
- Импортировать внутренности VKUI теперь запрещено на уровне свойства
exports
вpackage.json
(#7611) - Изменено внутреннее устройство названия CSS-классов – теперь за формирование класса отвечает CSS Modules (#7655)
- Типографика: теперь используется
useAccentWeight = false
по умолчанию. Когда дополнительно требуется переопределить тип начертания текста с помощью свойстваweight
-VKUI
использует токеныfontWeightBase*
. Чтобы включитьfontWeightAccent*
токены, нужно использовать свойствоuseAccentWeight
(#7633) - Header: изменен формат
size
с'regular' | 'large'
на'm' | 'l'
(#7567)- <Header mode="primary" size="large"> + <Header mode="primary" size="l"> Большой заголовок </Header>
- Spinner: изменен формат
size
с'small' | 'regular' | 'medium' | 'large'
на's' | 'm' | 'l' | 'xl'
(#7567)- <Spinner size="large" /> + <Spinner size="xl" /> - <Spinner size="medium" /> + <Spinner size="l" /> - <Spinner size="regular" /> + <Spinner size="m" /> - <Spinner size="small" /> + <Spinner size="s" />
- ScreenSpinner: удалено свойство
size
(#7523)<ScreenSpinner state="loading" - size="regular" /> <ScreenSpinner.Container> - <ScreenSpinner.Loader size="small" /> + <ScreenSpinner.Loader /> <ScreenSpinner.SwapIcon /> </ScreenSpinner.Container>
- Card: изменен тег используемый по умолчанию для ренедеринга компонента с
div
наli
(#7520) - ContentCard: изменен тег используемый по умолчанию для ренедеринга компонента с
div
наli
(#7520) - CardGrid: изменен тег используемый по умолчанию для ренедеринга компонента с
div
наul
(#7520) - CardScroll: изменен тег используемый по умолчанию для ренедеринга компонента с
div
наul
(#7520) - FormItem: у под-компонента
FormItem.TopLabel
свойствоmultiline
было удалено, теперь свойствоtopMultiline
устанавливается у компонентFormItem
(#7578)<FormItem + topMultiline top={ <FormItem.Top> - <FormItem.TopLabel htmlFor="about" multiline>Дополнительная информация</FormItem.TopLabel> + <FormItem.TopLabel htmlFor="about">Дополнительная информация</FormItem.TopLabel> <FormItem.TopAside>0/100</FormItem.TopAside> </FormItem.Top> } > <div/> </FormItem>
- Flex: изменена последовательность отступов в свойстве
gap
на[row, column]
(#7550)<Flex direction="column" - gap={[20, 10]} + gap={[10, 20]} align="center" > <div/> <div/> </Flex>
- SimpleGrid: изменена последовательность отступов в свойстве
gap
на[row, column]
(#7550)<SimpleGrid columns={2} - gap={[20, 10]} + gap={[10, 20]} align="center" > <div/> <div/> </SimpleGrid>
- HorizontalScroll: свойство
inline
удалено и теперь применяется по умолчанию. Если вы использовали дополнительные обертки, чтобы выравнивать ячейки внутри компонента, просьба пересмотреть их использование (#7582) - HorizontalCellShowMore: свойство
compensateLastCellIndent
удалено. Если вы использовали дополнительные обертки внутриHorizontalScroll
, чтобы выравнивать ячейки внутри компонента, просьба пересмотреть их использование и размещатьHorizontalCellShowMore
на том же уровне вложенности, что и остальные ячейки вHorizontalScroll
(#7582) - Spacing: удален вариант значения пропа size
3xs
, вместо него можно использовать2xs
, совпадающий по значению (#7634)- <Spacing size="3xs" /> + <Spacing size="2xs" />
- Image: у под-компонента
Image.Overlay
свойствоdisableInteractive
было удалено, вместо него теперь можно просто не прокидывать свойствоonClick
(#7628) - UsersStack: свойство
direction
заменено наavatarsPosition
со значениями'inline-start' | 'inline-end' | 'block-start'
(#7666)<UsersStack photos={['photo1', 'photo2', 'photo3']} - direction="row-reverse" + avatarsPosition="inline-end" size="s" > Иван и ещё 2 ваших друга подписаны </UsersStack>
- Button: изменен цвет компонента при
appearance="overlay"
иmode="secondary"
(#7661)
- Separator: свойство
mode
заменено наappearance
(#7687)<Separator - mode="primary" + appearance="primary" />
- CellButton: свойство
mode
заменено наappearance
со значениями'accent' | 'neutral' | 'negative'
, также дляappearance="accent"
(a.k.amode="primary"
) возвращён токен--vkui--color_text_accent
, а вот при комбинации сcentered
применяется--vkui--color_text_accent_themed
(#7684)<CellButton - mode="danger" + appearance="negative" > Создать что-нибудь </CellButton> <CellButton - mode="primary" + appearance="accent" > Создать что-нибудь </CellButton>
Улучшения
- Подняты минимальные версии браузеров (#7568)
ChromeAndroid >= 63 iOS >= 12 Chrome >= 63 Firefox >= 55 Edge >= 79 Opera >= 50 Safari >= 12 Samsung >= 8.2
- Поднята целевая версия
ECMAScript
для компиляции доes2017
(#7568) - ScreenSpinner: добавлена возможность прокинуть иконку для
state="custom"
с помощью свойстваcustomIcon
(#7523) - Checkbox: добавлена возможность передавать альтернативные иконки (#7608, спасибо @fuel-coffee ❤️)
- EllipsisText: у компонента был добавлен атрибут
title
, который отображает весь текст, переданный в компонент. Его также можно отключить, передав параметрdisableNativeTitle
(#7681) - CalendarRange: изменена логика выбора промежутка дат, теперь для сброса промежутка надо кликнуть на третью дату и можно выбрать новую дату (#7682)
Исправления
- Placeholder: при
stretched
режиме больше не выставляетсяpadding-block: inherit
(#7583) - Link: из CSS удалён зашитый отступ справа в
4px
, который выставлялся иконке. Был расчёт, что иконка всегда справа, но она может быть и слева, в этом раскладе появлялся ненужный отступ слева. Было решено отдать пользователю управлять отступами. Поэтому, если вам требуется отступ, используйте неразрывный пробел:
либо через HTML-код
,либо через сочетания клавиш ⌥ + ␣ (на MacOS) (#7579)<Link href="https://google.com" target="_blank"> - https://google.com <Icon24ExternalLinkOutline width={16} height={16} /> + https://google.com <Icon24ExternalLinkOutline width={16} height={16} /> </Link>
- Gallery: исправлена ошибка при отсутствии слайдов в режиме
looped
(#7686)
Документация
- Дополнен блок о переопределение темы через
AppearanceProvider
информацией о тонкостях работы некоторых компонентов (#7584) - Раздел CSS Modules дополнен информацией про использование пакета с
'css-loader' >= 7.0.0
(#7668)