Skip to content

Releases: alfa-laboratory/arui-feather

v17.3.0

23 Mar 09:24
Compare
Choose a tag to compare

Features

v17.2.0

19 Mar 14:28
Compare
Choose a tag to compare

Features

v17.1.0

12 Mar 21:48
Compare
Choose a tag to compare

Bug Fixes

  • change 'bemo' on 'start' for development mode (#1094) (d2c354a)
  • radio-group: adds 'isValidElement' check for children (#1103) (71512c5)
  • test-utils: adds types for test-utils (#1085) (599c01e)

Features

  • pass SyntheticEvent as a second argument onChange handlers (#941) (fe1323b)
  • attach: update visibility modifiers (#1067) (24c05d4)
  • collapse: update visibility modifiers (#1083) (6118aab)

v17.0.0

21 Feb 15:56
Compare
Choose a tag to compare

В этом релизе мы собрали все последние изменения за последние 3 месяца

Typescript Migration

Мы полностью мигрировали на typescript то что ранее было описано в propTypes.
Это позволит в дальнейшем отказаться от кода генерации типов из javascript (https://github.com/alfa-laboratory/library-utils/blob/master/typings/stringify-component-definition.js#L4)
и упростить процесс сборки либ в целом.
Также это позволит описывать типы более качественно и получить все прелести разработки на typescript в самом arui-feather.

Важно для вас относительно предыдущих типов — мы перестали экспортить часть типов пропс.

Было

import Button, { ButtonFieldSizeType } from 'arui-feather/button';

let size: ButtonFieldSizeType;

Стало

import Button, { ButtonProps } from 'arui-feather/button';

let size: ButtonProps['size'];

Раньше эти типы генерировались, теперь так как они ровно те, которые мы написали — придется поддерживать такой нейминг. Но мы не можем доверять эту проверку людям, поэтому мы убираем такую возможность. У вас всё также остается возможность достать нужный тип того же качества, как в примере выше. Просто выглядит это чуть не так.

@cn -> bem-react-classname

Мы полностью мигрировали c cn-decorator на bem-react-classname. Это позволит перевести arui-private на bem-react-classname и далее заменить решение в приложениях. Сама мотивация bem-react-classname — это тайпскриптовая валидация внутри компонента и возможность использовать в функциональных компонентах. Мы просто разблокировали использование одного решения централизованно.

Теперь вам доступна функция, которая позволит вам получить тему из провайдера:

import { withTheme } from 'arui-feather/cn';

Неосвещенная тема:

import Button from 'arui-feater/button' // импортируется компонент обернутый в withTheme и импортируются стили
import Button from 'arui-feater/button/button' // импортируется компонент обернутый в withTheme
import { Button } from 'arui-feater/button/button' // импортируется компонент без css
import { Button } from 'arui-feater/button' // импортируется компонент c css но без withTheme

@performance больше не нужен

Много кто спрашивал что за архаизм @performance, честь же React.PureComponent. Во времена cn-decorator вам необходимо было обернуть ваш компонент декоратором @performance. Просто потому что @cn внутри использовал context.theme и перерендеривал компонент в момент изменения темы, добавляя нужные классы. Если у вас используется bem-react-classname — вам больше не нужен @performance. Используйте обычный React.PureComponent, но если вам нужно поддержать тему в компоненте — оберните ваш компонент:

import { withTheme } from 'arui-feather/cn';
...
export default withTheme(MyComponent);

В arui-feather мы избавились от @performance(), однако есть еще такая штука как @performance(true), от которой нужно избавляться более аккуратно.

@performance будет считаться как deprecated и будет удалена в следующем мажорном релизе.

Stopped Component injecting support

Поскольку мы отказались от cn-decorator, мы не используем https://github.com/alfa-laboratory/cn-decorator#di-components-. Эта функциональность не нашла поддержки у потребителей и не является более рекомендуемой.

Removed unnecessary polyfills

arui-feather поставлял полифилов больше чем нужно для работы библиотеки.
Для развития популярной библиотеки важно держать в ней только код нужный для ее работы.

Мы удалили modernizr

Modernizr вызывал у нас боли с поддержкой билд утилит и пакетов для того чтоб он работал, поэтому и отправился на покой.

@autoBind

Внутри библиотеки мы больше не используем @autoBind в угоду упрощения кода.

React 16.8+

Пока мы добавили UNSAFE, но чуть позже сделаем полноценный мигрейшн.

Contribution

Мы восстанавливаем регулярные встречи меёнтейнеров и активную работу по развитию библиотеки компонентов.

Наши ценности:

  1. Мы не любим незакрытые вопросы.
  2. Задача должна быть настолько мелкой, чтобы её можно было быстро зарелизить.
  3. Изменение должно затрагивать только то, что нужно по задаче.
  4. Уважаем тех, кто видит проблему и кидает PR.
  5. Помогаем друг другу изо всех сил.

Мы ведём задачи в issues. Для обсуждения есть чат мейнтейнеров (#arui-maintainers).

Описали процесс контрибьюта.

Огромное спасибо всем участникам подготовки релиза 👏

v16.0.5

20 Feb 09:41
Compare
Choose a tag to compare
v16.0.5 Pre-release
Pre-release

Этот релиз нестабилен. Не используйте его

v16.0.4

23 Jan 12:36
Compare
Choose a tag to compare

Bug Fixes

v16.0.3

30 Dec 18:13
Compare
Choose a tag to compare

Bug Fixes

  • tab-item: change default view prop to 'default' in TabItem (#935) (229e744)

v16.0.2

30 Dec 10:15
Compare
Choose a tag to compare

Bug Fixes

  • heading: decrease default margins specificity and use bem-react-classname (#933) (4887780)

v16.0.1

28 Dec 11:05
Compare
Choose a tag to compare

Bug Fixes

  • link: darkindigo by default (c97468f)

v16.0.0

27 Dec 13:33
Compare
Choose a tag to compare

Bug Fixes

Features