Arui Feather Versions Save

v17.3.0

4 years ago

Features

v17.2.0

4 years ago

Features

v17.1.0

4 years ago

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

4 years ago

В этом релизе мы собрали все последние изменения за последние 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

4 years ago

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

v16.0.4

4 years ago

Bug Fixes

v16.0.3

4 years ago

Bug Fixes

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

v16.0.2

4 years ago

Bug Fixes

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

v16.0.1

4 years ago

Bug Fixes

  • link: darkindigo by default (c97468f)

v16.0.0

4 years ago

Bug Fixes

Features