@feugene/granularity-tokens
Releases of @feugene/granularity-tokens from its CHANGELOG: the latest 8 in full, the earlier ones as a list of versions.
v2.5.02026-10-28
Added
- Темы каталога несут значения
@feugene/granularity-chrono4: подсветку, полосу периода, «сегодня», заголовок и предпросмотр периодаGrCalendar, подсветку значенияGrTimePicker. «Сланец» 1.5.0 и «Чертёж» 1.4.0 — прежний вид календаря, «Тактильная» 1.4.0 наследует его у «Сланца»; «Глина» 2.1.0 — по своему языку: «сегодня» числом глиной и полужирным без обводки, наведение — полупрозрачным графитом, как пункты списков ядра, полоса периода — 6 % чернил, день под курсором при выборе периода — обводка без заливки.targetsвсех четырёх — с chrono^4.0.0. - Темы каталога несут значения
@feugene/granularity-editor4: начертание и кегль крупных заголовков, вид цитатыGrMarkdownиGrRichText, подложку панелиGrRichText. «Сланец», «Тактильная» и «Чертёж» — прежний вид; «Глина» — заголовки и цитата антиквой (--gr-font-display), цитата цветом второго текста с плотной линией, панель редактора — на бумаге.targets— с editor^4.0.0. - Темы каталога несут значения
@feugene/granularity-code4: палитру подсветки, скругление листа, подложки диффа, выделение и активную строку редактора. «Сланец», «Тактильная» и «Чертёж» — прежний вид; «Глина» — тёплая палитра (ключевые слова глиной, типы охрой, литерал и функция своими цветами по режимам), дифф тоном на листе кода, выделение сплошным тоном вместо синего.targets— с code^4.0.0. - Темы каталога несут значения
@feugene/granularity-dashboard3: место и призрак переноса, ручки, рамку правки, подсветку каталога. «Сланец», «Тактильная» и «Чертёж» — прежний вид; «Глина» — раскладка графитом, виджет рамкой без тени и каталог списком (componentDefaultsGrDashboardItem.variant,GrDashboardPalette.appearance).targets— с dashboard^3.0.0. - Темы каталога несут новые значения
@feugene/granularity-media4: панель и дорожку плеера, прицел сканера, направляющую и отступ рамки кадра. «Сланец», «Тактильная» и «Чертёж» — прежний вид; «Глина» — медиа на тёмной плёнке: слоновая кость, тёплый графит, уголки прицела вместо рамки, рамка кадра с отступом от края окна, синий — только фокус.targets— с media^4.0.0. - Темы каталога несут новые значения
@feugene/granularity-charts4: подсказку, курсор, кисть, опорную линию, значение и цель bullet, итог моста, линию спарклайна. «Сланец», «Тактильная» и «Чертёж» — прежний вид; «Глина» — графитовый пузырь подсказки без тени, графит вокруг данных, вдвое тише заливка площади и приглушение (0.35), кисть графитом, а не глиной.targets— с charts^4.0.0. - Темы каталога несут значения заголовка
GrFormSectionядра 3.7 и формы@feugene/granularity-forms-schema3: кегль, интерлиньяж и начертание заголовка раздела, промежуток и линии между разделами, вид строки повторителя. «Сланец», «Тактильная» и «Чертёж» — прежний вид; «Глина» — заголовок раздела антиквой 20px, разделы и строки повторителя отбиты линиями.targets— с ядром^3.7.0и forms-schema^3.0.0.
v2.4.02026-10-28
Changed
- Триггер
GrColorPickerпод указателем — как поле во всех темах каталога.--gr-color-picker-trigger-hover-brdу «Сланца» 1.4.0 и «Чертежа» 1.3.0 —--gr-input-hoverвместо--gr-primary, как уже было у «Глины»; «Тактильная» 1.3.0 наследует это у «Сланца».
v2.3.12026-10-27
Fixed
- «Глина» 2.0.1: заливка
slateпод указателем и в нажатии работает и безcolor-mix. В тёмном режиме--gr-slate-solid-hoverи-activeбыли формулойcolor-mix— роль, а не производное, и фолбэка@supportsсборка темы для неё не считает: в браузере безcolor-mixроль была недействительной, а экспорт токенов в форматы дизайн-инструментов получал ссылку CSS вместо цвета. Теперь — литералы того же цвета (#575653,#53524e). ГейтroleFormulaFallbackне даёт роли быть формулой без фолбэка ни в одной теме каталога.
v2.3.02026-10-26
Минор: «Глина» целиком из темы. Новые роли и основа разводят то, что у одной темы
совпадает, а у другой — нет; у «Сланца», «Тактильной» и «Чертежа» они ссылаются на прежние
роли, и их вид не меняется. Своя тема, которая не наследует тему каталога, обязана задать
новые роли и значения новых токенов компонентов ядра 3.2 — doctor назовёт недостающие.
Added
- Роли
--gr-selected,--gr-selected-fg,--gr-selected-hover(выбранное),--gr-input-hover,--gr-input-focus-brdи--gr-control-brd-hover(отклик рамки),--gr-input-readonly-bgи--gr-input-readonly-brd(поле только для чтения),--gr-brd-strong(граница плотнее разделителя); основа--gr-font-display(шрифт заголовков компонентов),--gr-radius-overlay(скругление всплывающей панели),--gr-radius-control-{xs,sm,md,lg}(скругление поля по ступеням) и--gr-input-focus-ring-width(толщина кольца фокуса поля). Тема без своего решения ставит ссылку на прежнюю роль —var(--gr-primary),var(--gr-input),var(--gr-brd),var(--gr-font-ui),var(--gr-radius-xl).--gr-inputописан как рамка поля ввода. - Значения новых токенов компонентов ядра во всех темах каталога. «Сланец» 1.3.0, «Тактильная» и «Чертёж» 1.2.0 — вид прежний.
Changed
- «Глина» 2.0.0 — по макету «Глина · компоненты». Палитра: бумага
#faf9f5, белый лист карточки и всплывающих панелей, графит#141413, глина#d97757; рамки — графит 15 %, граница переключаемого контрола — 55 %, кольцо фокуса — синее#2a78d6; мягкие подложки тонов — 13 % тона на бумаге (18 % в тёмном режиме).azureушёл к бирюзе (#5b9fb6), чтобы не сливаться сinfo.--gr-radius-control— 8px. Кнопка: радиус по ступеням 6/8/8/10, без тени поверхности, мягкий вес — 13/19/25 % тона на бумаге. Пропсы по умолчанию: вкладки линией, меткиsemi, разделитель пути «/», ступеньsmу пагинации и шагов, аватар без автоцвета, колонка подписи списка свойств 160px, прогресс без рамки. - «Глина» — то, что раньше было зашито в ядре. Выбранное графитом с бумажным знаком, радио —
сплошным кружком; рамка поля — графит 55 %, под указателем 75 %; плотная граница — 30 %.
Заголовки карточки, окна, шторки и пустого состояния — антиква 20–22px, вес 500; подсказка —
графитовый пузырь; пункты меню и опции — нейтральная подложка; сообщение без рамки, заголовок
чернилами; шапка таблицы на листе; выбранный пункт боковой панели и заголовки групп без капса;
заглушка — бегущим бликом; окно и шторка — тенью
--gr-shadow-3, шторка скруглена по внутреннему краю. Кнопка: рамка контурной не меняется под указателем, у мягкого веса тонов рамки нет, нажатие без сжатия; у всего недоступного рамка в цвет заливки (--gr-disabled-brd). Зона загрузки — на бумаге пунктиром рамки поля, значок кругом; лента событий, аватар, пагинация, OTP — по макету; пустая звезда рейтинга — контуром. Поля: скругление 6/8/8/10 по ступеням, в фокусе — синяя рамка, только для чтения — без подложки с тонкой рамкой, кольцо фокуса — 1px. Строки выбранных файлов — плашки листа; тосты — в правом нижнем углу. Переключатель компактный — 24×14 … 36×20, с подписью состояния — 44 и 52px; под шапкой таблицы — линия 30 %, рамка первой строки под ней погашена. Пропсы: подсказка поля под полем, отмена в окнах —ghost, звёзды рейтинга — графит.
v2.2.02026-10-22
Added
- Значения графиков и медиа в темах каталога. Раздел
components/@feugene/granularity-charts/— 20 токенов видаtheme(толщины линий и прозрачности),components/@feugene/granularity-media/— маска кадраGrImageCrop. Значения — прежние литералы компонентов: вид не меняется. - Темы: «Сланец» и «Глина» 1.2.0, «Тактильная» и «Чертёж» 1.1.0;
targetsназывают@feugene/granularity-chartsи@feugene/granularity-media^3.0.0.
v2.1.02026-10-21
Темы каталога написаны под ядро 3.1: targets — { "@feugene/granularity": "^3.1.0" }.
Added
- Тема «Тактильная» (
tactile) — наследникslate: кнопка-предмет со светом сверху, тенью цвета тона, подъёмом под указателем и пружиной в отклике; прозрачные веса откликаются подложкой, недоступная кнопка — штриховкой и пунктиром. - Тема «Чертёж» (
blueprint) — копияslate: плоская кнопка без теней, линия хода по нижней кромке, угол 3px, подпись 600, ячейка иконки и загрузка бегущим отрезком (пропсы по умолчанию темы).
Changed
- «Сланец» и «Глина» 1.1.0 — значения новых токенов
GrButton, повторяющие прежний вид. theme:copyкопирует тему каталога безextendsиз исходникаthemes/<id>пакета: собранный манифест нужен только источнику сextends.
v2.0.02026-10-21
Мажор: тема — полный набор значений, включая значения компонентов. Переезд — docs/migration-3.md
ядра.
Added
- Значения компонентов в теме — раздел
components/<пакет>/<Компонент>/исходника темы (root.json,modes/<режим>.json): «Сланец» и «Глина» несут значения токенов видаthemeкомпонентов ядра.defineThemeсливает раздел наследника с родительским по токену. - Версия и целевые пакеты темы:
versionиtargetsвtheme.jsonи вgrThemeCatalog; у тем каталога —1.0.0и{ "@feugene/granularity": "^3.0.0" }.themes/<id>/theme.lock.json— версия и отпечаток итоговых данных: правка значений без подъёмаversionроняетgenerate. - Копия темы —
theme:copyв монорепо, бинарьgr-theme-copyу пакета: обёртка надcopyThemegranum, снимающая посчитанные фолбэки — их пересчитывает сборка темы.
Changed
- Исходник темы — раскладка granum, читает её загрузчик granum.
theme.jsonобъявляет режимы объектом, пропсы по умолчанию — вextensions.granularity.componentDefaults, файл режима — плоские значения, егоextends— вtheme.json. Посторонний файл — ошибка; фолбэки в исходнике — ошибка.@feugene/granum— необязательная peer-зависимостьtheme/node. - «Глина» — копия «Сланца», а не наследник: все значения свои, правки «Сланца» в неё не приходят. Значения по парам — прежние.
- У каталога нет темы по умолчанию:
defaultThemeу провайдера убран, сборка безthemes— ошибка granum со списком тем.GR_DEFAULT_THEME_ID→GR_BASE_THEME_ID— базовая тема пакета.
Fixed
- Формулы производных — под
:where(:root), [data-theme]. В CSS без слоёв (dist/themes/<id>.cssядра) голый:rootперебивал специфичностью значение, которым тема переопределяет формулу в своём режиме по умолчанию: у «Глины» на странице без атрибута наведение кнопок брало формулу реестра вместо своей.
v1.4.02026-10-21
Added
loadThemeData(id)— полные данные темы каталога по требованию, для страниц, которые показывают значения включённой сейчас темы. У каждой темы свой чанк, загружается только запрошенная; тема не из каталога — отказ со списком тем. Данные те же, что уthemes/<id>/theme.json: генератор пишет их модулямиsrc/theme-data/<id>.generated.ts, гейт--checkдержит их в синхроне с темами.
Earlier versions
The bodies of these releases are not shown: the full feed weighs more than a page is allowed to. The file in the repository is always complete.
v1.3.02026-10-21v1.2.02026-10-20v1.1.12026-10-20v1.1.02026-10-20v1.0.02026-10-19