Skip to content

v0.30.0

tagged this 22 Aug 22:23
Четыре пункта отчёта потребителя `@efureev/ft-extra-granularity`.

**`GrDropdownMenu`: модель умеет то же, что композиция.** Пункт получил `as`
и `align`, группа — `titleAlign`, `dividers`, `uppercase`. Решает это `as`:
без него пункт-ссылка из `items` оставался обычным `<a>`, то есть в SPA
переход шёл перезагрузкой, и обойти было нечем — модель разворачивается в
пропы внутри компонента, слота на пункт нет.

**`GrSelect`: опция несёт свой тон чипа.** `tone` и `dark` у опции
перекрывают общие `tagTone`/`tagDark`. Без этого потребитель уходил рисовать
выбранное в слот `#value` и терял ровно то, ради чего берут `tags`: чипы
снаружи `role="combobox"`, снятие крестиком, «+N» и клавиатуру.

**`GrCard`: слот `#actions` в собственной шапке.** Третьего случая не было —
либо заголовок из пропов, либо `#header` целиком; любая кнопка заставляла
забрать слот и переписать заголовок, его уровень и отступы. К этому обходу
независимо пришли `GrDashboardItem` в кольце и обёртки потребителей.
`GrDashboardItem` остаётся на `#header`: у него левее заголовка ручка
перетаскивания, а её `#actions` не выражает.

**`GrBadge`/`GrChip`: dev-предупреждение о снятом `variant`.** Переименование
в `tone` проходило молча — Vue сажает незнакомый атрибут на корневой узел, и
не падают ни типы, ни рантайм, компонент просто рисуется дефолтом. Алиас
заводить не стали: после 1.0 он остался бы навсегда.

`granularity-chrono` 0.9.1: докблок называл блок `gr` вместо `grChrono` —
потребитель, поверивший ему, регистрировал не тот блок и оставался без
переводов, причём частично: сетку календаря даёт `Intl`.

README ядра больше не требует `@headlessui/vue`: он снят в 0.15.0 и в
peer-зависимостях его нет.
Assets 2
Loading