Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: typography refactoring; #1442

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

feat: typography refactoring; #1442

wants to merge 5 commits into from

Conversation

denisx
Copy link
Contributor

@denisx denisx commented Nov 14, 2024

Опишите проблему

Рефакторинг компонента Typography:

  • Компоненты TitleDesktop и TitleMobile отделены от Title (проп device остался только в Title)
  • Компонент Title помечен как deprecated в пользу TitleDesktop и TitleMobile
  • В корневой импорт, к текущему компаунду, добавлены атомарные всех компонентов (TitleDesktop, TitleMobile, TitleResponsive, Text)
  • Вынесены коммон-переменные и типы для переиспользования в компонентах, тестах, стори
  • Более четкое разделение desktop/mobile в стилях
  • Названия "голеньких" стилей дополнены постфиксом (нельзя styles[kind], можно styles[${kind}Kind])
  • Названия стилей переведены в camelCase / snake_case
  • Фикс в типах: пропс defaultMatchMediaValue перемещён в компонент TitleResponsive (мажорка или всё же патч? )
  • В package.json добавлено sideEffects: false

Чек лист

  • Тесты
  • Документация

Внешний вид

Без изменений

Раскрыл некоторые момент

давай собьёмся по пунктам

  1. Компоненты TitleDesktop и TitleMobile отделены от Title
    вопросов нет, но нужно подтвердить общий флоу - надо ли генерировать файл-пустышки с index файлами, типа
    import {componentDesktop} from componentName/desktop

или достаточно импортов в главное index?
import {componentDesktop} from componentName

  1. ?? Компонент Title помечен как deprecated в пользу TitleDesktop и TitleMobile
    запрет использования работает только в ide как подсветка старого синтаксиса
    это несёт небольшой риск ненужных вопросов со стороны пользователей, поэтому предлагаются ещё варианты, помимо разметки в jsdoc,
    можно допилить правило в линтеры, чтобы респонсивы подсвечивались в режиме error/warning. это даст возможность использовать это только тем, кто заинтересован

  2. ?? В корневой импорт, к текущему компаунду, добавлены атомарные всех компонентов (TitleDesktop, TitleMobile, TitleResponsive, Text)
    все комментарии от п2.

  3. ?? Вынесены коммон-переменные и типы для переиспользования в компонентах, тестах, стори
    удобно для поддержания актуального состояния в стори и тестах, когда забываешь добавить какой-то кейс при изменении списка в коде.

-5) ?? Более четкое разделение desktop/mobile в стилях
нативные импорты внутри css, это нормально. в зависимости от компонента, можно вынести коммо-части и подключать их каскадно
(да, подключать vars/* нужно из каждого файла, невзирая на структуру импортов)

  1. ?? Названия "голеньких" стилей дополнены постфиксом (нельзя styles[kind], можно styles[${kind}Kind])
    нужно для того, чтобы при использовании пропсов не могли сгенерится классы типа "undefined/null" и не было понятно, откуда ноги растут.
    также, есть риск совпадения названия класса, например styles[view] и условно styles[weight] - могут сгенерировать одинаковый класс medium, что недопустимо

  2. ?? Названия стилей переведены в camelCase / snake_case
    вопросов нет (оптимизация хранения зеркала классов в js-коде)

  3. Фикс в типах: пропс defaultMatchMediaValue перемещён в компонент TitleResponsive (мажорка или всё же патч? )
    мажорка или патч ещё не выяснили. будет разобрано в отдельном пр-е

  4. В package.json добавлено sideEffects: false
    вопросов нет

Copy link

changeset-bot bot commented Nov 14, 2024

🦋 Changeset detected

Latest commit: 6045cc0

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 36 packages
Name Type
@alfalab/core-components-typography Major
@alfalab/core-components-accordion Patch
@alfalab/core-components-circular-progress-bar Patch
@alfalab/core-components-confirmation Patch
@alfalab/core-components-list Patch
@alfalab/core-components-list-header Patch
@alfalab/core-components-modal Patch
@alfalab/core-components-navigation-bar-private Patch
@alfalab/core-components-product-cover Patch
@alfalab/core-components-pure-cell Patch
@alfalab/core-components-side-panel Patch
@alfalab/core-components-tab-bar Patch
@alfalab/core-components-calendar Patch
@alfalab/core-components-chart Patch
@alfalab/core-components-comment Patch
@alfalab/core-components-gallery Patch
@alfalab/core-components-markdown Patch
@alfalab/core-components-navigation-bar Patch
@alfalab/core-components-stepped-progress-bar Patch
@alfalab/core-components-select Patch
@alfalab/core-components-bottom-sheet Patch
@alfalab/core-components-popup-sheet Patch
@alfalab/core-components-calendar-input Patch
@alfalab/core-components-calendar-range Patch
@alfalab/core-components-calendar-with-skeleton Patch
@alfalab/core-components-date-range-input Patch
@alfalab/core-components-date-time-input Patch
@alfalab/core-components-custom-picker-button Patch
@alfalab/core-components-input-autocomplete Patch
@alfalab/core-components-international-phone-input Patch
@alfalab/core-components-intl-phone-input Patch
@alfalab/core-components-picker-button Patch
@alfalab/core-components-select-with-tags Patch
@alfalab/core-components-table Patch
@alfalab/core-components-tooltip Patch
@alfalab/core-components-tabs Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@core-ds-bot
Copy link
Collaborator

Bundle size report

Entry point Size (minified)
popup-sheet/index.js 62.7 (-3.40 KB)

@coveralls
Copy link

coveralls commented Nov 14, 2024

Pull Request Test Coverage Report for Build 11840118702

Details

  • 52 of 57 (91.23%) changed or added relevant lines in 10 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.04%) to 82.548%

Changes Missing Coverage Covered Lines Changed/Added Lines %
packages/typography/src/title/index.tsx 5 10 50.0%
Totals Coverage Status
Change from base Build 11816249410: -0.04%
Covered Lines: 10398
Relevant Lines: 11519

💛 - Coveralls

@core-ds-bot
Copy link
Collaborator

Собрана новая демка.

@core-ds-bot
Copy link
Collaborator

Собрана новая демка.

@core-ds-bot
Copy link
Collaborator

Собрана новая демка.

@denisx denisx marked this pull request as ready for review November 14, 2024 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants