Привет! Принесли полезные обновления для 2-го поколения Дизайн-системы
Описание работы с дизайн-токенами для разработчиков
Ранее мы добавили отображение дизайн-токенов в Storybook. Вы можете посмотреть как базовые токены, так и компонентные токены (вкладка Design Tokens у каждого компонента).
В дополнение к этому мы опубликовали инструкцию: что такое токены, как их использовать в проекте и как модифицировать тему, изменяя токены.
➡️ Читать инструкцию по дизайн-токенам
Контрибьюция в Дизайн-систему
У нас накопился позитивный опыт совместной работы с разработчиками из других команд. Если вы готовы участвовать в разработке Дизайн-системы, у вас есть наработки для нового компонента или новой функциональности – ждём вас! Давайте развивать Дизайн-систему вместе.
➡️ Читать инструкцию по контрибьюции
Роадмап Дизайн-системы на 2 квартал
Актуализируем наш роадмап. В планах выпуск новых компонентов и улучшение текущих.
➡️ Посмотреть планы развития Дизайн-системы
Описание работы с дизайн-токенами для разработчиков
Ранее мы добавили отображение дизайн-токенов в Storybook. Вы можете посмотреть как базовые токены, так и компонентные токены (вкладка Design Tokens у каждого компонента).
В дополнение к этому мы опубликовали инструкцию: что такое токены, как их использовать в проекте и как модифицировать тему, изменяя токены.
➡️ Читать инструкцию по дизайн-токенам
Контрибьюция в Дизайн-систему
У нас накопился позитивный опыт совместной работы с разработчиками из других команд. Если вы готовы участвовать в разработке Дизайн-системы, у вас есть наработки для нового компонента или новой функциональности – ждём вас! Давайте развивать Дизайн-систему вместе.
➡️ Читать инструкцию по контрибьюции
Роадмап Дизайн-системы на 2 квартал
Актуализируем наш роадмап. В планах выпуск новых компонентов и улучшение текущих.
➡️ Посмотреть планы развития Дизайн-системы
🔥5👍3
  🏕 Релиз 1.9.0 (2-е поколение, React)
Алоха! Небольшое обновление перед праздниками
Изменения:
— PickerDate: Увеличили высоту компонента. Теперь при переходе по месяцам, компонент не будет менять высоту в зависимости от количества дней
— PickerDate: По аналогии с релизом 1.7.0, дали возможность выбирать один и тот же месяц и год
— Loader: Исправили ошибку, которая появлялась при отсутствии высоты
— Box: Поправили ошибки в типах, расширили интерфейс стандартными значениями
— ToastNotification: Убрали устаревший метод
— Обновили внутренние зависимости
— DropdownMenu: Добавили
— DropdownMenu: Добавили новый пример в сторибук с кнопкой "Выбрать всё"
— Overlay/Modal/Drawer: Поправили анимацию в компонентах при открытии/закрытии
— Drawer: Добавили отдельный раздел с рецептами
Алоха! Небольшое обновление перед праздниками
Изменения:
— PickerDate: Увеличили высоту компонента. Теперь при переходе по месяцам, компонент не будет менять высоту в зависимости от количества дней
— PickerDate: По аналогии с релизом 1.7.0, дали возможность выбирать один и тот же месяц и год
— Loader: Исправили ошибку, которая появлялась при отсутствии высоты
— Box: Поправили ошибки в типах, расширили интерфейс стандартными значениями
— ToastNotification: Убрали устаревший метод
findDOMNode— Обновили внутренние зависимости
— DropdownMenu: Добавили
stopPropagation на клик по опции— DropdownMenu: Добавили новый пример в сторибук с кнопкой "Выбрать всё"
— Overlay/Modal/Drawer: Поправили анимацию в компонентах при открытии/закрытии
— Drawer: Добавили отдельный раздел с рецептами
🔥5👍2
  🫧 Релиз 1.5.0 (Vue) 
Алоха! Добавили новый компонент и немного обновлений.
Новый компонент:
— Wizard: Позволяет создавать многошаговые интерфейсы с последовательным переходом между этапами, обеспечивая удобную навигацию и управление процессом
Исправлено:
— Drawer: Добавили отдельный раздел с рецептами
— PickerDate: Увеличили высоту компонента. Теперь при переходе по месяцам, компонент не будет менять высоту в зависимости от количества дней
— PickerDate: По аналогии с Релизом 1.4.0, дали возможность выбирать один и тот же месяц и год
— DropdownMenu: Добавили
— DropdownMenu: Добавили новый пример в сторибук с кнопкой "Выбрать всё"
— Loader: Исправили ошибку, которая появлялась при отсутствии высоты
— CheckboxGroup: Исправили баг в сторибуке с кликом по
— Storybook: Исправили отображение
— Multiselect: Исправили ошибку, из-за которой иконка наезжала на выбранные теги
Алоха! Добавили новый компонент и немного обновлений.
Новый компонент:
— Wizard: Позволяет создавать многошаговые интерфейсы с последовательным переходом между этапами, обеспечивая удобную навигацию и управление процессом
Исправлено:
— Drawer: Добавили отдельный раздел с рецептами
— PickerDate: Увеличили высоту компонента. Теперь при переходе по месяцам, компонент не будет менять высоту в зависимости от количества дней
— PickerDate: По аналогии с Релизом 1.4.0, дали возможность выбирать один и тот же месяц и год
— DropdownMenu: Добавили
stopPropagation на клик по опции— DropdownMenu: Добавили новый пример в сторибук с кнопкой "Выбрать всё"
— Loader: Исправили ошибку, которая появлялась при отсутствии высоты
— CheckboxGroup: Исправили баг в сторибуке с кликом по
checkbox— Storybook: Исправили отображение
show code для сторей— Multiselect: Исправили ошибку, из-за которой иконка наезжала на выбранные теги
👍5🔥1
  💥 Релиз 2.0.0 (2-е поколение, React) 
Breaking changes!
— Input/InputCard/InputDate/Select/Multiselect/Textarea: Из стилей компонента убрана минимальная ширина в
— DropdownMenu/Tooltip/Popover: Ширина рутового элемента-обертки теперь ориентирована на ширину родителя, а не содержимого.
— DropdownMenu: Удалены
— Переработана передача таких атрибутов как
— PickerDate: удалены пропсы
Изменения:
— Сторибук обновлён до версии
— Перенесли лишние зависимости в
— Исправили инструкции в сторибуке. Добавили раздел «Как отключить визуальный фокус на компоненте» в конец
— Tabs: Добавили возможность вернуть
— Accordion: Добавили пример как можно импортировать компонент к себе в проект
Breaking changes!
— Input/InputCard/InputDate/Select/Multiselect/Textarea: Из стилей компонента убрана минимальная ширина в
280px. Теперь компонент растягивается на всю ширину контейнера. Теперь вы можете, не переопределяя стили задать width всем нашим инпутам, либо оставить их адаптивными под ширину родителя— DropdownMenu/Tooltip/Popover: Ширина рутового элемента-обертки теперь ориентирована на ширину родителя, а не содержимого.
Width: fit-content; заменён на width: 100%;— DropdownMenu: Удалены
deprecated props: onChange, value, defaultValue, controlledComponent, deselectEnabled. В параметры headerSlot и footerSlot теперь передаётся два аргумента, вместо трёх (selectedItems отчасти дублировал dropdownItems). Теперь, для того, чтобы компонент работал корректно нужно передавать актуальные items с выбранными опциями isSelected и менять их в зависимости от колбека onClickItem. С примером можно ознакомится в сторе компонента. Дефолтное значение теперь можно задать, передав в items одной или нескольким опциями isSelected: true— Переработана передача таких атрибутов как
className, style, id, /^data-/ в компоненты. Исключены ситуации, когда эти пропсы попадали не на рутовые элементы. Например, при передаче className="123″ DropdownMenu мы увидим класс 123 на самом верхнем уровне рядом с dropdown-menu-root. Если же мы хотим передать класс самому выпадающему меню, то нужно воспользоваться параметром dropdownMenuClassName— PickerDate: удалены пропсы
dayClassName и dayStyleИзменения:
— Сторибук обновлён до версии
8.6.14, что позволило нам добавить новую вкладку Code с более полным кодом компонента. Реализация вкладки требует доработки, поэтому ждём ваших предложений по улучшению!— Перенесли лишние зависимости в
devDependencies, убрали неиспользуемые— Исправили инструкции в сторибуке. Добавили раздел «Как отключить визуальный фокус на компоненте» в конец
Installation— Tabs: Добавили возможность вернуть
false в onChange, чтобы предотвратить переход на другой TabItem— Accordion: Добавили пример как можно импортировать компонент к себе в проект
🔥5👍4
  💥 Релиз 2.0.0 (Vue) 
🔸 Breaking changes!
— Input/InputCard/InputDate/Select/Multiselect/Textarea: Из стилей компонента убрана минимальная ширина в
— DropdownMenu/Tooltip/Popover: Ширина рутового элемента-обертки теперь ориентирована на ширину родителя, а не содержимого.
— DropdownMenu: Удалены
— Переработана передача таких атрибутов как
— PickerDate: удалены пропсы
— Поднята минимальная версия
🔸 Новый компонент:
— Accordion: Сворачиваемый блок, который может содержать внутри себя контент разного характера
🔸 Изменения:
— Исправили инструкции в сторибуке. Добавили раздел «Как отключить визуальный фокус на компоненте» в конец
— Tabs: Добавили возможность вернуть
— InputDate: Исправлена работа параметров
— Multiselect: Не работал параметр
— Select: Теперь
— Добавили
🔸 Breaking changes!
— Input/InputCard/InputDate/Select/Multiselect/Textarea: Из стилей компонента убрана минимальная ширина в
280px. Теперь компонент растягивается на всю ширину контейнера. Теперь вы можете, не переопределяя стили задать width всем нашим инпутам, либо оставить их адаптивными под ширину родителя— DropdownMenu/Tooltip/Popover: Ширина рутового элемента-обертки теперь ориентирована на ширину родителя, а не содержимого.
Width: fit-content; заменён на width: 100%— DropdownMenu: Удалены
deprecated props: update:modelValue, modelValue, isMultiselect, deselectEnabled. В параметры header и footer теперь передаётся два аргумента, вместо трёх (selectedItems отчасти дублировал dropdownItems). Теперь, для того, чтобы компонент работал корректно нужно передавать актуальные items с выбранными опциями isSelected и менять их в зависимости от колбека click:item. С примером можно ознакомится в сторе компонента. Дефолтное значение теперь можно задать, передав в items одной или нескольким опциями isSelected: true— Переработана передача таких атрибутов как
className, style, id, /^data-/ в компоненты. Исключены ситуации, когда эти пропсы попадали не на рутовые элементы. Например, при передаче className="123″ DropdownMenu мы увидим класс 123 на самом верхнем уровне рядом с dropdown-menu-root. Если же мы хотим передать класс самому выпадающему меню, то нужно воспользоваться параметром dropdownMenuClassName— PickerDate: удалены пропсы
dayClassName и dayStyle— Поднята минимальная версия
Vue с  «3.4»  до  «3.5.0» 🔸 Новый компонент:
— Accordion: Сворачиваемый блок, который может содержать внутри себя контент разного характера
🔸 Изменения:
— Исправили инструкции в сторибуке. Добавили раздел «Как отключить визуальный фокус на компоненте» в конец
Installation— Tabs: Добавили возможность вернуть
false в onChange, чтобы предотвратить переход на другой TabItem— InputDate: Исправлена работа параметров
transformationRule, activeDate. Также теперь locale работает не только на календарь, но и на поле ввода— Multiselect: Не работал параметр
isSelectedItemColored, исправлено— Select: Теперь
clearable работает корректно, очищая поле ввода— Добавили
atomaro/themes в зависимости👍4🔥2
  Релиз 7.14.0 (1-е поколение, React) 
Алоха! Продолжаем поддерживать первое поколение, исправили пару ошибок
Изменения:
— InputAmount: Повышена версия
— InlineNotification, Drawer, Modal: Добавлен метод обхода несовместимости с
— PickerDate: Добавлен формат для времени по умолчанию
— TabsItem: Теперь в функцию
— Добавлена инструкция по подключению иконок из второго поколения в
Алоха! Продолжаем поддерживать первое поколение, исправили пару ошибок
Изменения:
— InputAmount: Повышена версия
react-number-format до 5.4.4 для совместимости с React 19.1— InlineNotification, Drawer, Modal: Добавлен метод обхода несовместимости с
React 19.1 при использовании библиотеки react-transition-group— PickerDate: Добавлен формат для времени по умолчанию
— TabsItem: Теперь в функцию
onChange можно передать значение false, чтобы не выполнять логику выбора— Добавлена инструкция по подключению иконок из второго поколения в
Introduction❤3👍3
  Релиз 2.1.0 (2-е поколение, React) 
Алоха! Перенесли Wizard с Vue, переписали Slider, исправили ошибки
Новый компонент:
— WizardStepsHorizontal: Позволяет создавать многошаговые интерфейсы с последовательным переходом между этапами, обеспечивая удобную навигацию и управление процессом
Исправления:
— Slider: Компонент был полностью переписан с нуля и протестирован. Исправлены ошибки, было улучшено взаимодействие пользователя с компонентом
— InputDate: Выпадающее меню вызывалось по клику на
— Select: При открытии нескольких селектов подряд на странице, предыдущие не закрывались. Исправлено
— Исправлено отображение параметров в сторе
— Добавили инструкцию по подключению обнуляющих стилей на проект в инструкцию
Алоха! Перенесли Wizard с Vue, переписали Slider, исправили ошибки
Новый компонент:
— WizardStepsHorizontal: Позволяет создавать многошаговые интерфейсы с последовательным переходом между этапами, обеспечивая удобную навигацию и управление процессом
Исправления:
— Slider: Компонент был полностью переписан с нуля и протестирован. Исправлены ошибки, было улучшено взаимодействие пользователя с компонентом
— InputDate: Выпадающее меню вызывалось по клику на
hint. Исправлено— Select: При открытии нескольких селектов подряд на странице, предыдущие не закрывались. Исправлено
— Исправлено отображение параметров в сторе
Box— Добавили инструкцию по подключению обнуляющих стилей на проект в инструкцию
Installation👍8
  🛠️ Релиз 2.1.0 (Vue) 
Алоха! Мы отрефакторили Slider, добавили поддержку CommonJS, исправили пару ошибок
Изменения:
— Изменили сборку проекта, добавили поддержку
— Slider: Компонент был полностью переписан с нуля и протестирован. Исправлены ошибки, было улучшено взаимодействие пользователя с компонентом
— InputDate: Выпадающее меню вызывалось по клику на
— InputDate: Исправлена ошибка в работе валидации, из-за которой не отображались ошибки из переданного параметра
— WizardStepsHorizontal: Исправлен баг, при котором неправильно рассчитывалась ширина последнего шага
— Добавили инструкцию по подключению обнуляющих стилей на проект в инструкцию
Алоха! Мы отрефакторили Slider, добавили поддержку CommonJS, исправили пару ошибок
Изменения:
— Изменили сборку проекта, добавили поддержку
CommonJS— Slider: Компонент был полностью переписан с нуля и протестирован. Исправлены ошибки, было улучшено взаимодействие пользователя с компонентом
— InputDate: Выпадающее меню вызывалось по клику на
hint. Исправлено— InputDate: Исправлена ошибка в работе валидации, из-за которой не отображались ошибки из переданного параметра
validationRules— WizardStepsHorizontal: Исправлен баг, при котором неправильно рассчитывалась ширина последнего шага
— Добавили инструкцию по подключению обнуляющих стилей на проект в инструкцию
Installation👍3🙏2
  ‼️ Релиз 1.0.0 (TableGrid, React) 
Встречайте, таблицы второго поколения в коде!
Представляем релиз компонента Таблиц на втором поколении
В наличии:
— Полное соответствие дизайну с использованием токенов для кастомизации
— Гибкие рендер-функции: кастомизируйте ячейки под любые данные (например, с иконками или ссылками)
— Готовые примеры использования: Стори с различным использованием пропсов компонента
— Широкий набор пропсов: с описаниями, контролами в сторибуке
Пробуйте в деле! Делитесь обратной связью в чате, очень её ждём! Продолжим улучшать и дорабатывать компонент
🔸 Atomaro/tablegrid 1.0.2
— Подняли зависимость
🔸 Отличия от
— Убрали
— Теперь для внутренних компонентов (чекбоксы, фильтры и тд) используется
— TableGrid: Исправлено название параметров
— TableGrid: Добавлена рендер-функция
— TableGrid: Параметры row и column переименованы в
— TableGrid: Исправлено поведение и вид курсора при перетаскивании колонок
— Параметр
— Исправлены, обновлены и дописаны типы передаваемых параметров
— Обновлены, исправлены примеры в сторибуке
Встречайте, таблицы второго поколения в коде!
Представляем релиз компонента Таблиц на втором поколении
React. В наличии:
— Полное соответствие дизайну с использованием токенов для кастомизации
— Гибкие рендер-функции: кастомизируйте ячейки под любые данные (например, с иконками или ссылками)
— Готовые примеры использования: Стори с различным использованием пропсов компонента
— Широкий набор пропсов: с описаниями, контролами в сторибуке
Пробуйте в деле! Делитесь обратной связью в чате, очень её ждём! Продолжим улучшать и дорабатывать компонент
🔸 Atomaro/tablegrid 1.0.2
— Подняли зависимость
atomaro/ui-kit до 2.1.0🔸 Отличия от
TableGrid первого поколения:— Убрали
styled-components, остановились на чистом css и переменных. Смена темы лежит на токенах— Теперь для внутренних компонентов (чекбоксы, фильтры и тд) используется
atomaro/ui-kit— TableGrid: Исправлено название параметров
Expand: hasExpanded и expandedKeys— TableGrid: Добавлена рендер-функция
renderFirstColumnHeader в row.selection, служащая для того, например, чтобы добавить общий чекбокс для выбора строк— TableGrid: Параметры row и column переименованы в
rowConfig и columnConfig соответственно— TableGrid: Исправлено поведение и вид курсора при перетаскивании колонок
— Параметр
size принимает значения s и m— Исправлены, обновлены и дописаны типы передаваемых параметров
— Обновлены, исправлены примеры в сторибуке
🔥9👍3👏2
  Релиз 2.2.0 (2-е поколение, React) 
Алоха! У нас изменения в дизайне инпутов и техдолг по модалке
Изменения:
— Обновили зависимость
— Modal/Drawer: Добавили новые пропсы для передачи
Алоха! У нас изменения в дизайне инпутов и техдолг по модалке
Изменения:
— Обновили зависимость
atomaro/themes до 2.2.0. Увеличили отступ внутри поля ввода в Multiselect и добавили красный фон в состоянии ошибки для всех инпутов— Modal/Drawer: Добавили новые пропсы для передачи
className и style непосредственно на всплывающий элемент, а также на Overlay: modalClassName, modalStyle, drawerClassName, drawerStyle, overlayClassName, overlayStyle🔥5👍2
  📙 Релиз 1.1.1 (React Icons) 
Алоха! Засинхронизировались с дизайном и обновили пакет иконок
atomaro/icons 1.1.1
— Убрали значение по умолчанию для параметра
atomaro/icons 1.1.0
— Синхронизировались с дизайном и добавили новые иконки в пакет, обновили некоторые, а также переименовали старые. Полная история изменений иконок в дизайне находится тут
— Перестали использовать
Breaking changes
Переименованные иконки:
Алоха! Засинхронизировались с дизайном и обновили пакет иконок
atomaro/icons 1.1.1
— Убрали значение по умолчанию для параметра
fill для некоторых иконок, которые неправильно отображались в темной темеatomaro/icons 1.1.0
— Синхронизировались с дизайном и добавили новые иконки в пакет, обновили некоторые, а также переименовали старые. Полная история изменений иконок в дизайне находится тут
— Перестали использовать
styled-components, убрали из зависимостей и оптимизировали все остальные зависимостиBreaking changes
Переименованные иконки:
AlignLeft --> TextAlignLeftAlignRight --> TextAlignRightAlignCenter --> TextAlignCenterAlignJustify --> TextAlignDistanceDivider --> ObjectAlignDividerVerticalStatisticsCircular --> StatisticsCircularOldStatisticsBoard --> BoardStatisticsMailInbox --> MailNewNullAdd --> NullDeleteNullDelete --> NullAdd👍2🔥1
  Релиз 2.3.0 (2-е поколение, React) 
Алоха! Похолодало, осень, релиз. Исправили ошибки в компонентах и добавили новые параметры
— Обновили зависимость
— Select: Компонент не закрывался, находясь в
— Multiselect: Добавлен новый параметр
— Multiselect: При включённом autocomplete и срабатывании
— Tooltip: Добавлен проп
— Tooltip: Добавили
— Tabs: Тип label изменён со
— Tabs: Убрана возможность фокуса на
— Textarea: Исправили ошибку, которая возникала при передаче
— Добавили новые рецепты для модального окна. Посмотреть можно в
— Исправления сторибука
Алоха! Похолодало, осень, релиз. Исправили ошибки в компонентах и добавили новые параметры
— Обновили зависимость
atomaro/icons до 1.1.1— Select: Компонент не закрывался, находясь в
Modal, исправлено— Multiselect: Добавлен новый параметр
hideInvalidTags. При включении больше не добавляет в поле введённые через автокомплит значения, которых нет в переданных items (ранее добавлялось по умолчанию и подсвечивалось красным)— Multiselect: При включённом autocomplete и срабатывании
onBlur поле поиска очищается— Tooltip: Добавлен проп
isOpened. Если параметр передан, компонент работает в контролируемом режиме и не меняет внутреннее состояние— Tooltip: Добавили
onClose при закрытии по клику снаружи и на CloseButton— Tabs: Тип label изменён со
string на ReactNode— Tabs: Убрана возможность фокуса на
TabPanel— Textarea: Исправили ошибку, которая возникала при передаче
className при включённом autoHeight— Добавили новые рецепты для модального окна. Посмотреть можно в
Patterns & Recipes / Modal / Recipes в сторибуке— Исправления сторибука
👍5
  Релиз 2.1.2 (Vue) 
Алоха! Повысили качество работы компонентов. Обновили рецепты.
Исправления:
— Tabs: Исправили некорректный фокус по табу на контент
— Select: Исправили работу пропса
Сторибук:
— Accordion: Обновили рецепты, переработали стори
— Select: Добавили примеры с использованием слотов
— Modal: Добавили рецепты
Алоха! Повысили качество работы компонентов. Обновили рецепты.
Исправления:
— Tabs: Исправили некорректный фокус по табу на контент
— Select: Исправили работу пропса
deselectEnabledСторибук:
— Accordion: Обновили рецепты, переработали стори
— Select: Добавили примеры с использованием слотов
— Modal: Добавили рецепты
👍5
  Релиз 1.1.0 (Vue Icons) 
Алоха! Вслед за React обновляем пакет иконок на Vue
— Синхронизировались с дизайном и добавили новые иконки в пакет, обновили некоторые, а также переименовали старые. Полная история изменений иконок в дизайне находится тут
— Добавили поддержку
Breaking changes
Переименованные иконки:
Алоха! Вслед за React обновляем пакет иконок на Vue
— Синхронизировались с дизайном и добавили новые иконки в пакет, обновили некоторые, а также переименовали старые. Полная история изменений иконок в дизайне находится тут
— Добавили поддержку
CommonJSBreaking changes
Переименованные иконки:
AlignLeft --> TextAlignLeftAlignRight --> TextAlignRightAlignCenter --> TextAlignCenterAlignJustify --> TextAlignDistanceDivider --> ObjectAlignDividerVerticalStatisticsCircular --> StatisticsCircularOldStatisticsBoard --> BoardStatisticsMailInbox --> MailNewNullAdd --> NullDeleteNullDelete --> NullAdd👍5🔥2
  Релиз 7.15.0 (1-е поколение, React) 
Алоха! Пара новых фичей в старый пакет
Исправления:
— PickerDate/InputDate: Добавлена возможность выбирать один и тот же день, месяц и год в формате
— Multiselect: Добавлен новый параметр в
Алоха! Пара новых фичей в старый пакет
Исправления:
— PickerDate/InputDate: Добавлена возможность выбирать один и тот же день, месяц и год в формате
isRange— Multiselect: Добавлен новый параметр в
autocomplete clearSearchOnSelect - служит для того, чтобы поле автокомплита очищалось после выбора опции👍3🔥3
  