Модульный UI Kit на React с поддержкой темизации.
- Слить Pull Request с увеличением версии пакета в файле
package.json
в веткеmaster
-
yarn build
локально из веткиmaster
-
npm publish
локально из веткиmaster
- Добавить тег с версией в гите
-
FlexibleTableCell: Добавляет
onCellClick
вconfig
-
Select: Запрещает открывать
SelectList
приisReadonly
- IUiKitTheme: Удалено поле name
- ListItem: Добавляет экспорт ListItem
-
FlexibleTable: новая пропса
shouldRenderHeader
-
Toaster: Пропы
title
иtext
заменёны наReactNode
-
Toaster: Обработан случай бесконечного
timeout
(напр. Infinity)
- FlexibleTableCell: Кастомизирована проверка необходимости отрисовки
-
FlexibleTable: Поведение пропсы
position
стало таким же какisFirstColumnSticky
-
WithPopup: Пропсы триггера разделены на
referenceProps
(для тегов) иtriggerProps
(для компонентов) -
WithPopup: Для
isActive
триггера добавлен классactive
-
WithPopup: Для
flip
добавленfallbackAxisSideDirection
- ICommonProps: Разделены на составляющие (чтоб не пикать/омитить)
-
Notification: Добавлен проп
icon
-
Notification: В проп
type
добавлен вариантcustom
-
FlexibleTable: Добавлен экспорт
IFlexibleTableRowConfig
-
WithPopup: Добавлен проп
shouldStopPropagation
для изменения поведения при onClick - WithPopup: Исправлено поведение всплытия при нажатии на триггер
-
Select: Убирает
isActive
изOmit
-
FlexibleTableRow Убрана зависимость от
activeRows
, добавлен пропisActive
-
FlexibleTableRow Добавлен проп
isFocusable
для контроля ререндера строки при ховере -
FlexibleTableCell Добавлен проп
isActiveRow
-
FlexibleTable Значения
renderMode
собраны вTableRenders
-
FlexibleTable Значения добавлен проп
isRowFocusable
- FilterWrapper: Поправлено взаимодействие с WithPopup
-
List: Фикс
testId
у айтемов -
WithPopup: Фикс рендера пропсы
isDisabled
-
List:
shouldDrawSpacerBelow
иshouldDrawSpacerAbove
теперь не рендерятся первыми и последними в списке
-
ListItem:
onClick
стал опциональным. При отсутствии - базовыйonClick
List вызван не будет
- Поднята версия
true-react-platform-helpers
(требуетсяnode:20
) - Подняты версии
jss
иreact-jss
(можно избавляться отresolutions
) -
transformToKebab и addDataAttributes: помечены как
deprecated
- useTweakStyles: усилен тип ClassName
-
FlexibleTable:
IValueComponent
иITitleComponent
заменены наIValueComponentProps
иITitleComponentProps
-
FlexibleTable:
title
иcomponent
переписаны наIRenderNode
,titleComponent
удален -
FlexibleTable: добавлена типизация для
uniqueField
и соответствующихonRowClick
иonRowHover
-
FlexibleTable: добавлена типизация для
headerContent
иtitleComponent
title
- List: Фикс стилей отступов
- List: Добавлена поддержка вложенных пунктов меню
-
IListItem: Новое свойство
nestedItems
для рендера вложенных пунктов меню
-
Input: Исправлен баг с позиционированием
label
приshouldAlwaysShowPlaceholder
- WithPopup: Компонент переписан в соответствии с документацией
-
WithPopup: Изменены сигнатуры
trigger
иchildren
-
WithPopup: Новое свойство
isTriggerWrapped
- должен ли WithPopup рендерить свой div-wrapper в качестве триггера -
WithPopup:
onToggle
- добавлен event вторым параметром -
WithPopup:
shouldRenderInBody
- дефолтное значение теперьtrue
-
Button: Добавлено наследование от
IDomInteractions
для поддержки всех событий пробрасываемых WithPopup
- NumberInput: Фикс бага с неправильным поведением каретки
-
Select: Добавлена поддержка проп
header
иfooter
-
Select: Исправлено отображение дропдауна в случае, если у поля есть
errorMessage
-
Select: Добавлен
tabIndex
для списка, с целью корректной работы для Keyboard-focusable scroll containers
-
Select: Исправлен каст типа
Styles
наCSSProperties
-
Select: Удалён type guard для проверки
isMultiSelect
-
SelectList: Исправлены проверки на
isMultiSelect
-
TextWithTooltip: Исправлен каст типа
Styles
наCSSProperties
- Фикс бага с перерендером внутренних компонентов таблицы
- Добавлены компоненты: FileInput, FileItem
-
DatePicker: добавлена пропса
excludeScrollbar
-
DatePicker: добавлена пропса
fixedHeight
-
DatePicker: добавлена пропса
highlightDates
-
TextArea: убран дефолтный цвет
invalidLabel
-
TextArea: добавлена пропса
shouldAlwaysShowPlaceholder
- Select: добавлен синхронный вызов onType при debounceTime = 0
- WithPopup: добавлены классы для анимации
- FilterWrapper: анимация вынесена в темы
- FlexibleTable: добавлена пропса shouldRenderDataId для config, включающая рендер data-id={columnName} для ячеек
- FiltersPane: добавлены tweakStyles для FilterWrapper
- FilterWrapper + Filter: переписан с использованием WithPopup
- FilterSelect: добавлено свойство onClose
- WithPopup: добавлена поддержка transition
- NewMoreMenu: добавлен свойство onToggle
- TextArea: исправлен scrollPadding
- TextArea: добавлен scrollPadding
- TextArea: багфикс опечатки в имени класса
-
MultiSelectList: исправлено отображение фильтра с
not found
, если есть выбранные элементы
- TextArea: рефакторинг ресайза и добавление свойства isAutoSizeable
- Selector: исправлены стили задизейбленной опции
- WithPopup: исправлен баг с невозможностью закрытия popup при нажатии на элемент
-
WithPopup: добавлена пропса
canBeFlipped
для автоматического позиционирования -
NewMoreMenu: добавлена пропса
canBeFlipped
- Багфикс warning в стилях IconButton
- Депрекейт
buttons
внутри Modal - Добавляет
footer
для Modal
- Удаляет
isSelected
внутри Checkbox - Добавляет поддержку
isInvalid
для Checkbox - Делает опциональным
value
для Checkbox - Иконка
check-big
стала deprecated - Иконки
check
,check-all
иminus
обновлены до актуальных из Figma UI Kit'а
- Добавляет animations.defaultTransition
- Добавлен компонент IconButton
- Компонент CloseButton стал deprecated
- Modal использует IconButton вместо CloseButton
- Toaster использует IconButton вместо CloseButton
- Поднялись версии storybook
-
WithPopup для
trigger
добавленtestId
-
Select:
- Добавлена поддержка для
readonly
опций - Добавлена типизация для
event
вonChange
- Добавлена поддержка для
-
WithPopup: добавлен
z-index: 5
для дропдауна - NewMoreMenu: добавлены твикстайлс для List и WithPopup
-
WithPopup и NewMoreMenu добавлена пропса
shouldHideOnScroll
- Добавлены компоненты WithPopup и NewMoreMenu (
floating-ui
) - MoreMenu deprecated
-
Подключен плагин
eslint-plugin-react-hooks
для линтера -
FlexibleTable:
- Улучшение код-стайла
- Добавлена пропса
isExpandableRowComponentInitiallyOpen
-
FlexibleTableCell: Добавлены классы
loading
иskeleton
для отрисовки скелетона
-
FlexibleTable:
- Удалены типы
ITextAlignment
,IVerticalAlignment
иIPosition
- Удалены классы
skeletonRow
иskeleton
- Удалены типы
- FlexibleTable: Исправлен баг, когда при отрисовка скелетона первая колонка таблицы не была sticky
-
Select: Добавлена возможность передавать
defaultOptionLabel
какReactNode
- Исправлена ошибка порядка вызова хуков при добавлении/удалении
tweakStyles
во время жизни компонента
- Input: Добавляет пропс onInput
- Улучшение кодстайла
-
FlexibleTable FlexibleTableCell FlexibleTableRow Добавляет прорс
renderMode
: 'table' | 'divs';
- Status фикс цветов
- Добавлены компоненты Selector Status TextButton
-
Функции isDateValid / parseStringToDate / и константа DATE_FORMAT -> удалены
-
isInt -> isNumberInteger -> (TE_Helpers)
-
isNotEmpty -> Проверяет только null и undefined (как и должна) -> (TE_Helpers)
-
isEmpty / isStringNotEmpty / addDataTestId / getTestId / getSelectKeyHandler / addClickHandler / createFilter -> (TE_Helpers)
-
В очень многих местах где были ReactNode проперти усилена проверка (теперь не допускаются false и пустые строки)
-
commonTheme -> common
-
Подключение провайдера темы теперь через
-
Tooltip - добавлены классы .error .info (вместо использования стилевых переменных)
-
Notification - добавлены классы .error .info .warning .ok .not-ok (вместо использования стилевых переменных)
-
AccountInfo, MultiSelectList, FilterSelect так же лишились стилевых переменных (bye bye width)
-
DatePicker - topPosition / leftPosition - используйте tweakStyles для .popper (marginTop, marginLeft)
-
Checkbox - alignItems / size / textMargin удалены. отступы через марджин заменены на gap (перепроверьте чекбоксы!)
-
Все типы переименованы по паттерну I{TypeName} (все стилевые типы, а так же связанные с темизацией)
-
ThemedPreloader (изменены tweakStyles -> tweakSvgPreloader + tweakDotsPreloader)
-
FilterWithPeriod -> tweakSelect -> tweakFilterSelect
-
FlexibleTable - чайлдовые компоненты переименованы в FlexibleTableRow и FlexibleTableCell. Теперь у них свои tweakStyles: tweakTableRow / tweakTableCell (чайлд для FlexibleTableRow) Классы - root + active + editable / root + sticky + second .row БОЛЬШЕ НЕ РАСПРОСТРАНЯЕТСЯ на .headerRow (раньше они были вместе) classes.horizontallyScrolled - удален. заменено на [data-scrolled] рендер теперь зависит от конфига, а не от первого ряда. т.е. используется не Object.keys(content[0]) а Object.entries(config)
-
ComponentStyles -> ITweakStyles
-
Проверьте все места 'as Styles', возможно там больше это не нужно
- ListItem: вынесен компонент для отрисовки пункта из списка List
- Icon: добавлены иконки folder, folder-add, presentation
-
Input: изменен тип пропса
label
на ReactNode
-
DatePicker: добавлен тип для стилей
IDatePickerStyleProps
-
Input: добавлена пропса
shouldAlwaysShowPlaceholder
- Изменения по файловой структуре проекта
- Modal: исправляет баг с закрытием модалки по Esc
- Обновление версии @true-engineering/true-react-platform-helpers@0.0.5 и функции isNotEmpty
- Modal: расширяет свойства модального окна свойствами для CSSTransition
-
Modal: удалена пропса
onCompletelyHidden
. Вместо неё нужно использоватьonExited
- Подключена @true-engineering/true-react-platform-helpers
-
DatePicker: добавлена пропса
strictParsing
- Сохранение JSDoc в
*.d.ts
файлах
-
Switch: удалена пропса
label
. Вместо неё нужно использоватьchildren
- Select: исправлено выделение активной опции в списке
PhoneInput. Теперь компонент принимает в качестве аргумента объект с информацией о номере телефона IPhoneValue, а не строку.
PhoneInputCountryList. Стили компонента переписаны под актуальный дизайн.
Для удобной работы в других проектах добавлены общие хелперы для номера телефона и экспорт справочника телефонных кодов стран.