Skip to content

Latest commit

 

History

History
165 lines (107 loc) · 14.1 KB

CHANGELOG.OLD.md

File metadata and controls

165 lines (107 loc) · 14.1 KB

CHANGELOG (Архивная версия)

4.0.0

  • Перешли на релизы через GitHub. Все следующие релизы будут описываться там!

BREAKING CHANGES

  • Провели рефакторинг дизайн-системы в рамках объединения VKUI и Paradigm: удалили ненужные, добавили новые, поменяли названия старых. Изменения можно найти в таблице

  • Изменили формат описания адаптивных токенов: теперь идём не от viewport (touch,desktop), а от состояний самого токена: regular, compact, large и т.д. Указывать состояния, отличные от regular нужно указывать тогда, и только тогда, когда они действительно отличаются.

    Для проектов использующих уже медиаквери и вьюпорты (paradigm-проекты) при генерации сделан маппинг с помощью переменной breakpoints.

  • Переписали старую генерацию scss, css, less, styl форматов с нуля. Теперь покрыли это автотестами: можно зайти в тесты и посмотреть как в каждом формате обробатывается каждый вид переменной цвет, групповая переменная (шрифты), адаптивная, медиа и так далее. Теперь поддержка будет прозрачнее и добавление новых конструкций в процессоры не будет проблемой.

    Важно: во время переписи и из-за того, что формат адаптивных переменных сильно поменялся, то подход с ними в процессорах css тоже. Теперь везде, кроме нативного css, переменные не переопределяются автоматически через @media-query. Чтобы эту мехнику получить — нужно css файлы из themes/${themName}/cssVars/declarations.

  • Сделали единый базовый интерфейс дизайн-системы и описали в нём тему для paradigm (светлый и тёмный) и vk (пока только светлый).

  • Сделали расширение базового интерфейса для Paradigm тем и портальной специфики.

  • Порефакторили подход к генерации форматов:

    • Экспортируем в пакете в папку build все функции с помощью которых можно собрать любой вид темы. Теперь можно по описанию темы собрать её где-то в своём проекте, а не пользоваться только готовыми отсюда
    • Сделали так, чтобы любой формат темы можно было собрать хоть из одной переменной. Теперь можно легко иметь в проекте локальные переменные не связанные с дизайн-системой, но в привычном формате.
  • Изменили файловую структуру при экспорте библиотеки — теперь вместо того чтобы все собранные темы попадали в root , они попадают в root/themes. Это важно, поскольку теперь в экспорте ещё есть разные полезные функции помимо тем.

  • Поработали над тёмной темой сделали основную базовую тёмную тему и отдельно темные цвета

  • Удалили flat темы

  • Удалили subthemes везде

  • название пакета @vkontakte/vkui-tokens

3.2.0

  • Добавили темы octaviusDark и homeDark
  • Сделали правки в типографике в calendar
  • Добавили экспорт объявления цветов css-vars в js и в виде строки.

3.1.0

  • Обновили тему otvet, добавили тёмный вариант otvetDark
  • Аккуратно поправили вывод в генерации стилей (убрали ненужные строчки)

3.0.0

  • Добавили новый вид темы cssVars она объявляет переменные как нативные css-custom-properties в cssVars/${themeName}/declarations/index.css. Там сразу сделаны изменения переменных по breakpoints, а также добавлены специальные классы для форсированного включения нужного брейкпоинта. Демо можно найти тут;
  • Также сделали компиляцию объекта темы (в cssVars/${themeName}/theme/index) (ts, js, json форматы) в где каждая переменная представлена как {name: '--paradigm--x1', value: 'var(--paradigm--x1, 4px)'}
  • Добавили тестирование снапшотами на каждую тему (теперь любое изменение в теме вызовет падение тестов с полным дифом каждой переменной, нужно будет апрувить изменения, обновляя снапшоты (npm t -- -u))
  • Добавили расчёт тестового покрытия (coverage) в репозитории
  • Для удобной миграции на cssVars тему в ${themeName}/cssVars/theme/fallbacks добавлены темы, процессоров, которые ссылаются на уже нативные CSS-переменные. То есть $size-base: 4px -> $size-base: var(--paradigm--size_base, 4px)
  • js,json,ts добавили поле themeType: 'root' | 'flat' | 'pixelify' | 'cssVars', чтобы в runtime понимать, с каким видом темы сейчас работаем
  • В ${themeName}/cssVars/declarations помимо index.css есть также файлы onlyRoot.css (только рутовое определение переменных без, адаптивности), а также modern.css (используются нативные mixin ы в css (читай про @apply))
  • BREAKING CHANGES: удалили генерацию css файлов во всех (они были невалидные, поэтому врятли кто-то ими польовался), кроме cssVars видах тем. Теперь чистый нативный css можно заимпортить тут: cssVars/${themeName}/declarations/index.css.
  • BREAKING CHANGES: в темах, в адаптивных переменных больше нет default состояния, вместо этого теперь там указан конкретный viewport (например, touch или desktopS). Это было сделано, так как default был по-сути алисом на touch viewport, что вызывало неконсистентые состояния, при использовании темы без touch брейкпоинта. Это нам дало следующие возможности: теперь можно создавать темы с любым подножеством брейкпоинтов, например: ['desktopS, 'desktopM'] - будет тема из двух десктопных брейкпоинтов. На самом деле это должно затронуть только описание тем, а также типы и ts, js, json форматы. Выходные файлы других форматов не изменились. flat темы всех форматов остались прежними.
  • BREAKING CHANGES: подняли мажор csstype (единственная prod зависимость для npm у токенов). Теперь 3.0.7. (Может вызывать нюансы в типах при обновлении).

2.6.1

  • Для календарной темы обновили thumbnailColor

2.6.0

  • В основные темы перенесены переменные из subthemes - colorBgPlaceholder (цвет подложки) и colorIconAccent (цвет акцентированной иконки)
  • Добавлен токен colorBgPromo для задания цвета фона промо элементов и панелей (плашек)

2.5.0

  • добавили переменную sizeControlCheckBorderRadiusРадиус скругления чекбоксов
  • исправили наследование calendar темы от octavius (больше не попадают переменные из подтем)
  • удалили подтемы из календарной темы, вместо этого создали новую тему calendarDark с корректным интерфейсом

2.4.0

  • добавили тему для Облака cloud
  • добавили переменные (и их описания) во все темы fontFamilyAccent, fontWeightAccent, fontWeightAccentBold
  • сделали чуть более корректное наследование тем от octavius (чтобы не попадали в тему переменные subthemes, которые deprecated)
  • Исправили генерацию customMedia (убрали перекрытие breakpoints)

2.3.1

  • Изменили скругление кнопок до 8px для календарных тем

2.3.0

  • Добавляeтся токен "checkBoxBorderColor" для задания цвета у чекбоксов

2.2.1

  • Добавляются токен "sizePromoArrowWidth" для корректного отображения стрелки в 2kit

2.2.0

  • Добавляются токен на размер стрелки тултипа и токен для цвета новостного метатреда

2.1.0

  • Добавляется генерация мапки со всеми переменными после миксина для SASS-файлов.

2.0.0

  • имя пакета теперь снова @paradigm/tokens . @paradigm/themes больше никогда публиковаться не будет.
  • Добавлен общий интерфейс темы, от которой отнаследованы все остальные темы.
  • Добавлен общий интерфейс ОПИСАНИЯ темы. (Теперь создавая тему у вас будет тип, с которым невозможно будет забыть указать что-либо). Непонятно почему недостаточно предыдущего пункта? — скорее всего вы никогда не работали в токенах.
  • Процесс преобразования описания темы в полноценную тему полностью выводится из типов. И покрыт автотестами.
  • Добавили и настроили линтер
  • Настроили CI (проверяем линтер, jest и сборку)
  • Добавили функцию хелпер getStateFunctions, которая добавит к теме функции, позволяющие динамически создавать hover, active состояния.

1.18.0

  • Обновили цвет вк по их брендбуку

1.17.0

  • Добавили тему Задач Mail.ru
  • Добавили темную тему для календаря

1.16.1

  • Поправили размеры шрифта в теме calendar

1.16.0

  • Добавили переменные sizeBadge[XS|S|M|L|XL]

1.15.0

  • добавили переменную paddingControlSelectIcon

1.14.0

  • добавили переменную colorButtonContrastBg
  • добавили переменную colorCategoryToMyself в тему октавиуса

1.13.0

  • Обновили цвета с оттенками серого во всех темах
  • Обновили тему home (Относледовали от octavius и добавили токенов)

1.12.0

  • Добавили в тему календаря шрифт MailSans

1.11.0

  • Обновили значение переменной colorBgHighlight #FFF1AD
  • Настроили корректные тайпинги для этой переменной

1.10.0

  • Добавили переменные для ширины и высоты больших кнопок (описание)
  • Добавили тему calls

1.9.0

  • Минорное обновление цветов ошибки и саксеса. Утверждено с дизайнерами

1.8.0

  • Добавили переменную paddingPopupBase (описание)
  • Добавили переменную paddingPopupHeader (описание)
  • Исправили SCSS сборку темы. Заменили классы на mixin, корректно обрабатывает desktop/mobile статические переменные.