gavia-ui 0.8.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +87 -0
- package/README.md +144 -43
- package/dist/components/WlAccordion.vue.d.ts +31 -6
- package/dist/components/WlAlert.vue.d.ts +30 -5
- package/dist/components/WlAutocomplete.vue.d.ts +45 -9
- package/dist/components/WlAvatar.vue.d.ts +23 -2
- package/dist/components/WlBadge.vue.d.ts +25 -2
- package/dist/components/WlBreadcrumbs.vue.d.ts +23 -2
- package/dist/components/WlButton.vue.d.ts +38 -5
- package/dist/components/WlButtonGroup.vue.d.ts +18 -1
- package/dist/components/WlCalendar.vue.d.ts +27 -8
- package/dist/components/WlCard.vue.d.ts +23 -2
- package/dist/components/WlCheckbox.vue.d.ts +30 -5
- package/dist/components/WlChip.vue.d.ts +29 -6
- package/dist/components/WlColorPicker.vue.d.ts +38 -5
- package/dist/components/WlCommandPalette.vue.d.ts +58 -16
- package/dist/components/WlConfirmDialog.vue.d.ts +23 -2
- package/dist/components/WlDatePicker.vue.d.ts +32 -31
- package/dist/components/WlDialog.vue.d.ts +41 -12
- package/dist/components/WlDivider.vue.d.ts +10 -1
- package/dist/components/WlDrawer.vue.d.ts +39 -10
- package/dist/components/WlEmpty.vue.d.ts +18 -1
- package/dist/components/WlField.vue.d.ts +23 -2
- package/dist/components/WlFilePicker.vue.d.ts +36 -9
- package/dist/components/WlFileUpload.vue.d.ts +36 -9
- package/dist/components/WlFilterBar.vue.d.ts +52 -13
- package/dist/components/WlIcon.vue.d.ts +23 -2
- package/dist/components/WlIconButton.vue.d.ts +34 -5
- package/dist/components/WlInput.vue.d.ts +34 -5
- package/dist/components/WlMenu.vue.d.ts +33 -10
- package/dist/components/WlMultiSelect.vue.d.ts +40 -9
- package/dist/components/WlNavItem.vue.d.ts +30 -5
- package/dist/components/WlNumberInput.vue.d.ts +42 -5
- package/dist/components/WlPageHeader.vue.d.ts +33 -2
- package/dist/components/WlPagination.vue.d.ts +32 -5
- package/dist/components/WlPasswordInput.vue.d.ts +34 -5
- package/dist/components/WlPill.vue.d.ts +23 -2
- package/dist/components/WlPopover.vue.d.ts +33 -10
- package/dist/components/WlProgress.vue.d.ts +29 -2
- package/dist/components/WlRadio.vue.d.ts +28 -5
- package/dist/components/WlSegmented.vue.d.ts +28 -5
- package/dist/components/WlSelect.vue.d.ts +36 -8
- package/dist/components/WlSidebar.vue.d.ts +50 -11
- package/dist/components/WlSkeleton.vue.d.ts +27 -2
- package/dist/components/WlSlider.vue.d.ts +32 -5
- package/dist/components/WlSpinner.vue.d.ts +27 -2
- package/dist/components/WlStatCard.vue.d.ts +24 -3
- package/dist/components/WlSteps.vue.d.ts +25 -2
- package/dist/components/WlSwitch.vue.d.ts +30 -5
- package/dist/components/WlTable.vue.d.ts +29 -2
- package/dist/components/WlTabs.vue.d.ts +26 -5
- package/dist/components/WlTag.vue.d.ts +30 -5
- package/dist/components/WlTextarea.vue.d.ts +32 -7
- package/dist/components/WlTimePicker.vue.d.ts +32 -7
- package/dist/components/WlToast.vue.d.ts +23 -2
- package/dist/composables/useNativeFilePicker.d.ts +1 -1
- package/dist/design-system/tokens.generated.d.ts +1185 -15
- package/dist/design-system/types.d.ts +3 -2
- package/dist/design-tokens.json +1484 -195
- package/dist/index.js +4315 -2885
- package/dist/manifest.json +26 -4
- package/dist/theme.d.ts +1 -0
- package/dist/types.d.ts +6 -1
- package/dist/utils/templateTeleport.vue.d.ts +1 -0
- package/dist/utils/templateTransition.vue.d.ts +1 -0
- package/dist/utils/useWlId.d.ts +2 -0
- package/fonts/gavia/FONTLOG.txt +17 -0
- package/fonts/gavia/Gavia-Bold.ttf +0 -0
- package/fonts/gavia/Gavia-Bold.woff2 +0 -0
- package/fonts/gavia/Gavia-BoldItalic.ttf +0 -0
- package/fonts/gavia/Gavia-BoldItalic.woff2 +0 -0
- package/fonts/gavia/Gavia-Light.ttf +0 -0
- package/fonts/gavia/Gavia-Light.woff2 +0 -0
- package/fonts/gavia/Gavia-LightItalic.ttf +0 -0
- package/fonts/gavia/Gavia-LightItalic.woff2 +0 -0
- package/fonts/gavia/Gavia-Medium.ttf +0 -0
- package/fonts/gavia/Gavia-Medium.woff2 +0 -0
- package/fonts/gavia/Gavia-MediumItalic.ttf +0 -0
- package/fonts/gavia/Gavia-MediumItalic.woff2 +0 -0
- package/fonts/gavia/Gavia-Regular.ttf +0 -0
- package/fonts/gavia/Gavia-Regular.woff2 +0 -0
- package/fonts/gavia/Gavia-RegularItalic.ttf +0 -0
- package/fonts/gavia/Gavia-RegularItalic.woff2 +0 -0
- package/fonts/gavia/Gavia-SemiBold.ttf +0 -0
- package/fonts/gavia/Gavia-SemiBold.woff2 +0 -0
- package/fonts/gavia/Gavia-SemiBoldItalic.ttf +0 -0
- package/fonts/gavia/Gavia-SemiBoldItalic.woff2 +0 -0
- package/fonts/gavia/Gavia-Thin.ttf +0 -0
- package/fonts/gavia/Gavia-Thin.woff2 +0 -0
- package/fonts/gavia/Gavia-ThinItalic.ttf +0 -0
- package/fonts/gavia/Gavia-ThinItalic.woff2 +0 -0
- package/fonts/gavia/OFL.txt +94 -0
- package/fonts/gavia/Onest-OFL.txt +93 -0
- package/fonts/gavia/manifest.json +225 -0
- package/fonts/gavia/qa-report.json +3919 -0
- package/package.json +8 -4
- package/styles/base.css +156 -35
- package/styles/fonts/gavia.css +197 -0
- package/styles/primitives.css +8 -2
- package/styles/reset.css +1 -1
- package/themes/gavia-dark.css +463 -0
- package/themes/gavia.css +463 -0
- package/themes/graphite.css +33 -1
- package/themes/newspaper.css +32 -0
- package/themes/white.css +33 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,93 @@
|
|
|
6
6
|
|
|
7
7
|
## Не выпущено
|
|
8
8
|
|
|
9
|
+
## 0.10.0 — 2026-10-08
|
|
10
|
+
|
|
11
|
+
### Темы
|
|
12
|
+
|
|
13
|
+
- README выделяет Gavia / Gavia Dark как основные темы и Classic / Classic Dark / Newspaper как дополнительные; для каждой указаны идентификатор и явный CSS-импорт.
|
|
14
|
+
- В правом верхнем углу hero добавлена компактная ghost-кнопка солнца/луны на WlIconButton: цветная иконка 32 px, активная область 44 × 44 px, без фоновой коробки в обычном состоянии; клавиатурный фокус выделяет обводка. Gavia ↔ Gavia Dark, Classic ↔ Classic Dark; Newspaper переключается в Classic Dark и возвращается при повторном нажатии.
|
|
15
|
+
- Дневной и ночной фон hero загружаются заранее и остаются двумя слоями одной композиции: светлые темы используют дневной, обе тёмные — ночной. При поддержке View Transitions API смена темы использует один временный переход всей страницы; в остальных браузерах сохраняется crossfade hero. Ночной слой появляется после загрузки; prefers-reduced-motion отключает переходы.
|
|
16
|
+
- Лес и колоски в информационных карточках главной различимы в тёмных темах; карточки сохраняют тёмный фон. Ссылки на документы, Issues и руководство GitHub в этих карточках открываются в новой вкладке и отмечены иконкой внешнего перехода.
|
|
17
|
+
- Gavia Dark получила ночной фон hero с луной на месте исходного солнца, лёгким голубоватым светом и той же гагарой; поверхности получили мягкий холодно-серый, слегка синеватый подтон, основной бирюзовый акцент стал насыщеннее и чуть ближе к голубому; блок установки сохраняет цветную границу и использует тёмный бирюзовый акцентный фон.
|
|
18
|
+
- Холодный подтон уточнён только в шести фоновых заливках Gavia Dark: фон страницы, поднятая и вторичная поверхности, hover и два мягких акцентных фона.
|
|
19
|
+
- Заголовок «Ясность в каждой детали» на странице шрифта следует гарнитуре выбранной темы; образцы Gavia Sans сохраняют свой шрифт.
|
|
20
|
+
- Узкие WlAlert с действием и закрытием сохраняют читаемую ширину текста; действия переносятся по доступной ширине компонента.
|
|
21
|
+
- Добавлена Gavia Dark (`gavia-dark`, `themes/gavia-dark.css`) с Gavia Sans; каталог содержит пять тем.
|
|
22
|
+
- White / Graphite отображаются как Classic / Classic Dark. Идентификаторы `white` / `graphite`, CSS-пути, значения прежних тем и позиции каталога сохранены.
|
|
23
|
+
- `wlDesignThemes` расширен с четырёх до пяти элементов; literal labels изменены. Используйте `WlDesignTheme` / `WlThemeName` и `name`, не фиксируйте старую длину tuple или подпись. [Миграция тем](https://github.com/whitewolf06/gavia-ui/blob/main/docs/migration-themes.md).
|
|
24
|
+
|
|
25
|
+
### Проверки и совместимость
|
|
26
|
+
|
|
27
|
+
- Фактический публичный TypeScript/CSS/pt-контракт защищён снимком 0.9.1; проверяется прежний Vue-потребитель.
|
|
28
|
+
- Добавлены визуальные эталоны Gavia с настоящим Gavia Sans и axe-проверки WCAG 2.2 AA.
|
|
29
|
+
- Архив запускается в браузере на desktop/mobile; Node import, SSR/hydration и размер WlButton проверяются отдельно.
|
|
30
|
+
- Исправлена поддержка Vue 3.4: declarations и SSR-идентификаторы совместимы с минимальным peer; Vue 3.5 сохраняет нативные идентификаторы.
|
|
31
|
+
- Select/MultiSelect/Autocomplete связывают контролы и именованные списки через ARIA.
|
|
32
|
+
- Добавлены --wl-text-accent/--wl-text-accent-hover и foundation-значение для контрастного текста; Graphite сохраняет прежний цвет основного действия.
|
|
33
|
+
- Из сборки одной кнопки исключены неиспользуемые каталоги токенов/компонентов; публичные экспорты сохранены.
|
|
34
|
+
- Coverage измеряется в CI с порогами по базовому результату; добавлены проверки отмены закрытия оверлея.
|
|
35
|
+
- В playground добавлен раздел «Качество и совместимость», сводка на главной и ссылки из поиска/футера. Покрытие, дата и источник измерения формируются из реального отчёта; бейдж README использует сохранённый снимок репозитория, опубликованный playground — отчёт своей CI-сборки.
|
|
36
|
+
- Подписи WlStatCard используют контрастный текстовый токен темы.
|
|
37
|
+
- Покрытие в playground показано процентными полосами WlProgress со шкалой 0–100%; цвета, радиусы и анимация наследуются от темы.
|
|
38
|
+
- Подготовка версий выполняется Changesets, prerelease использует npm next; витрины теговых выпусков сохраняются отдельно.
|
|
39
|
+
- Установка через pnpm, npm и Bun доступна в playground и README; добавлены шаблоны Issues и политика браузеров/версий.
|
|
40
|
+
|
|
41
|
+
### Changesets
|
|
42
|
+
|
|
43
|
+
Add Gavia Dark with Gavia Sans, matching Gavia geometry, an accessible dark lake palette, and explicit themes/gavia-dark.css import. Rename display labels White and Graphite to Classic and Classic Dark while preserving the white/graphite identifiers, CSS paths and original catalogue positions. The public theme catalogue now contains five entries; see docs/migration-themes.md for literal tuple and label consumers.
|
|
44
|
+
|
|
45
|
+
Use a subtly blue moonlit night version of the original lake hero in both Gavia Dark and Classic Dark, keeping the moon at the original sun position. In Gavia Dark, use cool-gray dark backgrounds at comparable luminance, with a soft, slightly blue undertone for neutral surfaces. Strengthen the turquoise brand accent and shift it slightly toward blue for primary actions, links, the logo and focus while preserving status colors. Give the installation card a muted dark turquoise accent fill with a distinct turquoise border, matching the role of the light Gavia accent surface.
|
|
46
|
+
|
|
47
|
+
Refine only six Gavia Dark background fills: `--wl-bg` #18191b, `--wl-bg-raised` #222325, `--wl-bg-soft` #2c2d30, `--wl-bg-hover` #3c3d41, `--wl-accent-soft` #293c3f and `--wl-accent-soft-hover` #33484c.
|
|
48
|
+
|
|
49
|
+
Keep the home forest and reeds illustrations visible on dark surfaces using theme-aware image blending. Mark the project-card GitHub documentation and contribution links as external and open them in a new tab.
|
|
50
|
+
|
|
51
|
+
Keep narrow WlAlert messages readable by wrapping actions when an icon, action and close control share the available width.
|
|
52
|
+
|
|
53
|
+
Add a ghost sun/moon WlIconButton in the hero’s upper right corner, with a tinted 32 px icon, a 44 × 44 px interaction area and no boxed background in its normal state, for Gavia ↔ Gavia Dark and Classic ↔ Classic Dark; Newspaper switches to Classic Dark and back to Newspaper. Keep both day/night images mounted and preloaded with the same composition: all light themes use day and both dark themes use night. Use one temporary full-page transition when View Transitions API is available, with hero crossfade as the fallback. Show the night layer once loaded; prefers-reduced-motion disables the transitions.
|
|
54
|
+
|
|
55
|
+
Проверки совместимости API 0.9.1, визуальные эталоны Gavia Sans, доступность WCAG 2.2 AA,
|
|
56
|
+
браузерный запуск установленного архива, SSR/hydration, контроль размера и покрытия.
|
|
57
|
+
Публичные имена и схема подключения сохранены.
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
Исправлена поддержка Vue 3.4: declarations и SSR-идентификаторы совместимы
|
|
61
|
+
с минимальным peer. Списки получили доступные имена и связи ARIA. В Graphite
|
|
62
|
+
акцентный текст стал контрастнее; цвет primary-кнопок сохранён. Сборка
|
|
63
|
+
приложения с одной кнопкой больше не удерживает неиспользуемые каталоги.
|
|
64
|
+
Установка через npm и Bun добавлена в playground и проверяется из архива.
|
|
65
|
+
|
|
66
|
+
## 0.9.1 — 2026-10-07
|
|
67
|
+
|
|
68
|
+
Выпуск включает изменения ветки 0.9 и исправленные браузерные проверки.
|
|
69
|
+
Версия 0.9.0 не была опубликована в npm; переход выполняется с 0.8.1 сразу на 0.9.1.
|
|
70
|
+
|
|
71
|
+
### Добавлено
|
|
72
|
+
|
|
73
|
+
- Gavia Sans 0.6: кириллица и латиница, 6 весов, 12 прямых/наклонных начертаний, TTF/WOFF2. Явные exports для шрифтового CSS и файлов; лицензия SIL OFL 1.1. Прежнее CSS-семейство Gavia и пути импорта сохранены.
|
|
74
|
+
- Тема Gavia с тёплым фоном, основным цветом #294451 и danger #ab4448. Gavia Sans используется только в Gavia; White, Graphite и Newspaper сохраняют свою типографику. Базовая тема библиотеки остаётся White.
|
|
75
|
+
- Страница шрифта в playground: русский/английский текст, числа, все веса и проба собственного текста. Скачивание Gavia-Sans-0.6.zip со страницы и из футера: 12 TTF, 12 WOFF2, CSS и лицензии.
|
|
76
|
+
- Подбор темы: 8 ключевых цветов, живые компоненты, проверка контраста, локальный черновик и экспорт JSON/CSS.
|
|
77
|
+
- Полные руководства по 53 компонентам: интерактивные настройки, копируемые SFC, API, доступность и версия добавления. Иконки и темы собраны в документации; прежние URL галереи сохраняют переходы.
|
|
78
|
+
- WlDatePicker: необязательный selectionMode="range" с ISO-диапазоном и общим календарём. Одиночный режим и строковая модель остаются прежними.
|
|
79
|
+
- Документация основ: типографика, layout, тексты и адаптивность с рабочими примерами. CSS-примитивы дополнены вариантами контейнера, разделителем, локальной прокруткой и изоляцией слоёв.
|
|
80
|
+
- Общие верхние блоки страниц на WlPageHeader/WlBreadcrumbs; фотографическая главная с установкой, метриками, разделами и автором. README с актуальным логотипом, графической шапкой и кратким подключением.
|
|
81
|
+
|
|
82
|
+
### Исправлено
|
|
83
|
+
|
|
84
|
+
- В Gavia и образцах шрифта сохранена точная ширина табличных цифр в Linux Chromium; настройка рендеринга вынесена в токены темы. Утверждённые файлы шрифта не изменялись.
|
|
85
|
+
- Браузерные проверки документации ждут завершения перестройки мобильного меню; установка зависимостей предпочитает Ubuntu archive и имеет отдельный лимит времени.
|
|
86
|
+
|
|
87
|
+
- Браузерный CI распределён по четырём заданиям; крупные проверки SVG разделены по темам с сохранением всех состояний. Тест чисел проверяет ширину набора и загрузку шрифта; исходные файлы Gavia Sans не менялись.
|
|
88
|
+
|
|
89
|
+
- Главная наследует шрифты, цвета, радиусы и состояния выбранной темы; изображения и расположение остаются общими. Установка и метрики 2×2 используют единую сетку и адаптивные отступы.
|
|
90
|
+
- Шапка: название 20 px, выравнивание логотипа, разные иконки дизайн-системы и подбора темы, favicon в основном цвете Gavia. Компактное меню поддерживает клавиатуру и возврат фокуса.
|
|
91
|
+
- Короткие вкладки API и «Доступность» больше не растягиваются по высоте sidebar. Боковой каталог закреплён под шапкой; иконки, категории и интервалы пунктов выровнены.
|
|
92
|
+
- Активный подпункт оглавления отмечается небольшим шевроном и плавным сдвигом на 8 px; настройка уменьшения анимации учитывается, прокрутка не меняет адрес.
|
|
93
|
+
- В примерах WlPopover разделены элементы управления и значения вложенного диалога; копируемый SFC сохраняет те же отступы. Фокус DatePicker охватывает поле вместе с календарной кнопкой.
|
|
94
|
+
- Страница шрифта использует актуальные компоненты UI-кита; прежние версии, сравнения, дублирующая проба текста и глобальный перехват Ctrl+S убраны из презентации.
|
|
95
|
+
|
|
9
96
|
## 0.8.1 — 2026-10-06
|
|
10
97
|
|
|
11
98
|
Выпуск включает изменения ветки 0.8 и исправление вложенных оверлеев.
|
package/README.md
CHANGED
|
@@ -1,50 +1,128 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/whitewolf06/gavia-ui/main/docs/brand/gavia-ui-mark-lake.svg" alt="Гагара — знак Gavia UI" width="64" height="64">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
1
5
|
# Gavia UI
|
|
2
6
|
|
|
3
|
-
[](https://github.com/whitewolf06/gavia-ui/blob/main/apps/playground/src/project/quality-report.generated.json)
|
|
8
|
+
|
|
9
|
+
Бесплатная библиотека компонентов и дизайн-система для **Vue 3 + TypeScript**.
|
|
10
|
+
В составе: **53 компонента, 113 SVG-иконок, 447 дизайн-токенов, пять тем:
|
|
11
|
+
Gavia, Gavia Dark, Classic, Classic Dark, Newspaper и гарнитура Gavia Sans 0.6**.
|
|
12
|
+
Runtime-зависимостей нет; Vue 3 — единственный
|
|
13
|
+
обязательный peer. Стили подключаются явно.
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
<a href="https://whitewolf06.github.io/gavia-ui/"><img src="https://raw.githubusercontent.com/whitewolf06/gavia-ui/main/docs/brand/playground-button.svg" alt="Открыть Playground" width="230" height="44"></a><br>
|
|
17
|
+
· <a href="https://whitewolf06.github.io/gavia-ui/?view=docs">Документация</a>
|
|
18
|
+
· <a href="https://whitewolf06.github.io/gavia-ui/?view=font">Gavia Sans</a>
|
|
19
|
+
· <a href="https://github.com/whitewolf06/gavia-ui">GitHub</a>
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
[Качество и совместимость](https://whitewolf06.github.io/gavia-ui/?view=docs§ion=quality):
|
|
23
|
+
unit-тесты, покрытие Vitest/V8, браузеры, доступность, SSR и проверка установленного пакета.
|
|
24
|
+
Доля успешных unit-тестов и покрытие показаны процентными шкалами 0–100%; это измерение, а не статус CI.
|
|
25
|
+
Бейдж — сохранённый снимок покрытия строк в репозитории. Его дата, версия и источник —
|
|
26
|
+
[в JSON-отчёте](https://github.com/whitewolf06/gavia-ui/blob/main/apps/playground/src/project/quality-report.generated.json). Страница качества показывает измерение
|
|
27
|
+
из CI последней опубликованной сборки Playground; оно может отличаться от снимка.
|
|
28
|
+
[Текущие запуски CI](https://github.com/whitewolf06/gavia-ui/actions).
|
|
29
|
+
|
|
30
|
+
Версия **0.10.0**. [История изменений](CHANGELOG.md) ·
|
|
31
|
+
[Миграция 0.10](https://github.com/whitewolf06/gavia-ui/blob/main/docs/migration-0.10.0.md) ·
|
|
32
|
+
[История ребрендинга](https://github.com/whitewolf06/gavia-ui/blob/main/docs/migration-gavia.md).
|
|
33
|
+
Код UI Kit — [MIT](LICENSE), файлы шрифта —
|
|
34
|
+
[SIL OFL 1.1](https://github.com/whitewolf06/gavia-ui/blob/main/packages/ui-kit/fonts/gavia/OFL.txt).
|
|
35
|
+
|
|
36
|
+
## Темы
|
|
37
|
+
|
|
38
|
+
### Основные
|
|
39
|
+
|
|
40
|
+
**Gavia** и **Gavia Dark** — фирменные светлая и тёмная темы Gavia UI:
|
|
41
|
+
бирюзовый акцент, общая геометрия компонентов и шрифт **Gavia Sans**.
|
|
4
42
|
|
|
5
|
-
|
|
6
|
-
|
|
43
|
+
| Тема | Режим | `data-wl-theme` | CSS из пакета |
|
|
44
|
+
| --- | --- | --- | --- |
|
|
45
|
+
| **Gavia** | Светлая | `gavia` | `gavia-ui/themes/gavia.css` |
|
|
46
|
+
| **Gavia Dark** | Тёмная | `gavia-dark` | `gavia-ui/themes/gavia-dark.css` |
|
|
7
47
|
|
|
8
|
-
|
|
48
|
+
Gavia Dark добавлена в 0.10.0.
|
|
9
49
|
|
|
10
|
-
|
|
11
|
-
Витрина в репозитории включает живые примеры, страницу об авторе и полный changelog;
|
|
12
|
-
[публикация документации](https://github.com/whitewolf06/gavia-ui/blob/main/docs/hosting.md).
|
|
50
|
+
### Дополнительные
|
|
13
51
|
|
|
14
|
-
|
|
52
|
+
Альтернативное оформление тех же компонентов: Classic и Classic Dark используют
|
|
53
|
+
системный sans, Newspaper — системный основной текст и заголовки с засечками.
|
|
15
54
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
55
|
+
| Тема | Оформление | `data-wl-theme` | CSS из пакета |
|
|
56
|
+
| --- | --- | --- | --- |
|
|
57
|
+
| **Classic** | Светлая нейтральная | `white` | `gavia-ui/themes/white.css` |
|
|
58
|
+
| **Classic Dark** | Тёмная нейтральная | `graphite` | `gavia-ui/themes/graphite.css` |
|
|
59
|
+
| **Newspaper** | Бумажная, с редакционной типографикой | `newspaper` | `gavia-ui/themes/newspaper.css` |
|
|
19
60
|
|
|
20
|
-
|
|
61
|
+
Выберите CSS темы и её идентификатор из таблицы. Для обеих основных тем также
|
|
62
|
+
подключите `gavia-ui/styles/fonts/gavia.css`. Без явного выбора темы библиотека
|
|
63
|
+
использует Classic (`white`).
|
|
64
|
+
|
|
65
|
+
## Быстрый старт
|
|
21
66
|
|
|
22
67
|
```bash
|
|
23
|
-
pnpm add gavia-ui vue
|
|
68
|
+
pnpm add gavia-ui@0.10.0 vue
|
|
69
|
+
# либо
|
|
70
|
+
npm install gavia-ui@0.10.0 vue
|
|
71
|
+
# либо
|
|
72
|
+
bun add gavia-ui@0.10.0 vue
|
|
24
73
|
```
|
|
25
74
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
75
|
+
```ts
|
|
76
|
+
// main.ts
|
|
77
|
+
import { createApp } from "vue";
|
|
78
|
+
import "gavia-ui/styles/reset.css";
|
|
79
|
+
import "gavia-ui/styles/fonts/gavia.css";
|
|
80
|
+
import "gavia-ui/styles/base.css";
|
|
81
|
+
import "gavia-ui/styles/primitives.css"; // необязательные классы компоновки и типографики
|
|
82
|
+
import "gavia-ui/themes/gavia.css";
|
|
83
|
+
import App from "./App.vue";
|
|
30
84
|
|
|
31
|
-
|
|
32
|
-
#
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
85
|
+
document.documentElement.dataset.wlTheme = "gavia";
|
|
86
|
+
createApp(App).mount("#app");
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
```vue
|
|
90
|
+
<script setup lang="ts">
|
|
91
|
+
import { WlButton } from "gavia-ui";
|
|
92
|
+
</script>
|
|
93
|
+
|
|
94
|
+
<template>
|
|
95
|
+
<WlButton>Создать проект</WlButton>
|
|
96
|
+
</template>
|
|
37
97
|
```
|
|
38
98
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
99
|
+
Вместо строки `dataset.wlTheme` можно указать `<html data-wl-theme="gavia">`
|
|
100
|
+
в `index.html`. Обе Gavia используют Gavia Sans; без шрифтового CSS доступен
|
|
101
|
+
системный fallback. Gavia Dark подключается через `gavia-ui/themes/gavia-dark.css`
|
|
102
|
+
и `data-wl-theme="gavia-dark"`. Без выбора темы библиотека сохраняет Classic (`white`).
|
|
103
|
+
Classic / Classic Dark / Newspaper используют `themes/white.css` / `themes/graphite.css` /
|
|
104
|
+
`themes/newspaper.css` и идентификаторы `white` / `graphite` / `newspaper`.
|
|
105
|
+
[Названия тем и совместимость](https://github.com/whitewolf06/gavia-ui/blob/main/docs/migration-themes.md).
|
|
106
|
+
`WlConfig` для базового подключения не требуется.
|
|
107
|
+
|
|
108
|
+
## Шрифт Gavia Sans
|
|
109
|
+
|
|
110
|
+
Gavia Sans 0.6 входит в пакет: кириллица и латиница, шесть весов
|
|
111
|
+
100 / 300 / 400 / 500 / 600 / 700 с прямым и наклонным начертанием, WOFF2 и TTF.
|
|
112
|
+
Она служит основным шрифтом **тем Gavia и Gavia Dark**; Classic, Classic Dark и Newspaper
|
|
113
|
+
сохраняют свою типографику. Подключение явное: `import "gavia-ui/styles/fonts/gavia.css";`.
|
|
114
|
+
|
|
115
|
+
Файлы доступны через `gavia-ui/fonts/gavia/<file>` и применимы без Vue.
|
|
116
|
+
[Образцы и скачивание Gavia-Sans-0.6.zip](https://whitewolf06.github.io/gavia-ui/?view=font) ·
|
|
117
|
+
[Подключение и лицензия](https://github.com/whitewolf06/gavia-ui/blob/main/docs/font-gavia.md).
|
|
118
|
+
Старое CSS-имя `Gavia` зарегистрировано как совместимый алиас; пути импорта
|
|
119
|
+
и имена файлов `Gavia-*.ttf` / `Gavia-*.woff2` сохранены.
|
|
42
120
|
|
|
43
121
|
## Дизайн-система
|
|
44
122
|
|
|
45
123
|
Общие роли типографики, шкала расстояний, поверхности, состояния и UI-паттерны
|
|
46
124
|
описаны в [руководстве](https://github.com/whitewolf06/gavia-ui/blob/main/docs/design-system.md). Playground `?view=system`
|
|
47
|
-
показывает
|
|
125
|
+
показывает 447 токенов, пять тем и контракты 53 компонентов.
|
|
48
126
|
|
|
49
127
|
Опциональная компоновка и типографика: явный импорт
|
|
50
128
|
`gavia-ui/styles/primitives.css`. Экспорты `wlDesignTokens`,
|
|
@@ -69,20 +147,25 @@ primary/danger используют новые роли `--wl-action-primary-*`
|
|
|
69
147
|
| ------------ | ------ | -------------------------- |
|
|
70
148
|
| `vue` | ^3.4 | обязательный peer |
|
|
71
149
|
|
|
72
|
-
##
|
|
150
|
+
## Необязательная конфигурация
|
|
151
|
+
|
|
152
|
+
WlConfig задаёт глобальные pt, локаль и анимацию. Сервисы подключайте, если
|
|
153
|
+
используете уведомления или диалог подтверждения:
|
|
73
154
|
|
|
74
155
|
```ts
|
|
75
156
|
// main.ts
|
|
76
157
|
import { createApp } from "vue";
|
|
77
158
|
import { WlConfig, WlToastService, WlConfirmationService, wlLocaleRu } from "gavia-ui";
|
|
78
159
|
|
|
79
|
-
// Стили подключаются явно: reset → base → тема
|
|
160
|
+
// Стили подключаются явно: reset → шрифт → base → тема
|
|
80
161
|
import "gavia-ui/styles/reset.css";
|
|
162
|
+
import "gavia-ui/styles/fonts/gavia.css";
|
|
81
163
|
import "gavia-ui/styles/base.css";
|
|
82
|
-
import "gavia-ui/themes/
|
|
164
|
+
import "gavia-ui/themes/gavia.css";
|
|
83
165
|
|
|
84
166
|
import App from "./App.vue";
|
|
85
167
|
|
|
168
|
+
document.documentElement.dataset.wlTheme = "gavia";
|
|
86
169
|
const app = createApp(App);
|
|
87
170
|
app.use(WlConfig, { locale: wlLocaleRu });
|
|
88
171
|
app.use(WlToastService);
|
|
@@ -111,12 +194,18 @@ const text = ref("");
|
|
|
111
194
|
|
|
112
195
|
## Exports
|
|
113
196
|
|
|
114
|
-
| Subpath
|
|
115
|
-
|
|
|
116
|
-
| `gavia-ui`
|
|
117
|
-
| `gavia-ui/styles/reset.css`
|
|
118
|
-
| `gavia-ui/styles/base.css`
|
|
119
|
-
| `gavia-ui/
|
|
197
|
+
| Subpath | Содержимое |
|
|
198
|
+
| --- | --- |
|
|
199
|
+
| `gavia-ui` | ESM + `.d.ts`: компоненты, типы, `createWlPt`, `WlTooltip`, manifest и токены |
|
|
200
|
+
| `gavia-ui/styles/reset.css` | минимальный reset (слой `wl.reset`) |
|
|
201
|
+
| `gavia-ui/styles/base.css` | токены + стили компонентов (`wl.tokens`, `wl.components`) |
|
|
202
|
+
| `gavia-ui/styles/primitives.css` | необязательные классы компоновки и типографики |
|
|
203
|
+
| `gavia-ui/styles/fonts/gavia.css` | явное подключение Gavia Sans и совместимого CSS-алиаса `Gavia` |
|
|
204
|
+
| `gavia-ui/fonts/gavia/<file>` | WOFF2, TTF и лицензии шрифта |
|
|
205
|
+
| `gavia-ui/themes/<theme>.css` | `gavia`, `white`, `graphite` или `newspaper` |
|
|
206
|
+
| `gavia-ui/manifest.json` | JSON-контракты всех 53 компонентов |
|
|
207
|
+
| `gavia-ui/design-tokens.json` | JSON-каталог токенов, тем, типографики и шкал |
|
|
208
|
+
| `gavia-ui/package.json` | метаданные пакета |
|
|
120
209
|
|
|
121
210
|
## Токены и темы
|
|
122
211
|
|
|
@@ -136,7 +225,7 @@ const text = ref("");
|
|
|
136
225
|
<html data-wl-theme="graphite">
|
|
137
226
|
```
|
|
138
227
|
|
|
139
|
-
|
|
228
|
+
Если используете одну тему, импортируйте её CSS и установите соответствующий атрибут:
|
|
140
229
|
|
|
141
230
|
```ts
|
|
142
231
|
import "gavia-ui/themes/newspaper.css";
|
|
@@ -246,11 +335,20 @@ app.use(WlConfig, {
|
|
|
246
335
|
|
|
247
336
|
## Компоненты
|
|
248
337
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
`
|
|
252
|
-
`
|
|
253
|
-
`
|
|
338
|
+
| Группа | Компоненты |
|
|
339
|
+
| --- | --- |
|
|
340
|
+
| Действия | `WlButton`, `WlIconButton`, `WlButtonGroup`, `WlSegmented`, `WlMenu`, `WlNavItem` |
|
|
341
|
+
| Ввод данных | `WlTimePicker`, `WlFilePicker`, `WlInput`, `WlPasswordInput`, `WlNumberInput`, `WlTextarea`, `WlSelect`, `WlMultiSelect`, `WlAutocomplete`, `WlCheckbox`, `WlRadio`, `WlSwitch`, `WlSlider`, `WlDatePicker`, `WlCalendar`, `WlColorPicker`, `WlFileUpload` |
|
|
342
|
+
| Данные | `WlTable`, `WlPagination`, `WlBadge`, `WlTag`, `WlChip`, `WlPill`, `WlAvatar`, `WlStatCard`, `WlProgress`, `WlSkeleton`, `WlEmpty` |
|
|
343
|
+
| Контейнеры | `WlCard`, `WlAccordion`, `WlTabs`, `WlDialog`, `WlDrawer`, `WlPopover`, `WlDivider` |
|
|
344
|
+
| Составные элементы | `WlPageHeader`, `WlFilterBar`, `WlSidebar`, `WlCommandPalette` |
|
|
345
|
+
| Навигация | `WlBreadcrumbs`, `WlSteps` |
|
|
346
|
+
| Обратная связь | `WlAlert`, `WlToast`, `WlConfirmDialog`, `WlSpinner` |
|
|
347
|
+
| Дополнительно | `WlField`, `WlIcon` |
|
|
348
|
+
|
|
349
|
+
У каждого компонента есть [руководство в playground](https://whitewolf06.github.io/gavia-ui/?view=docs):
|
|
350
|
+
живой пример, настройки, копируемый Vue-код, API, доступность и версия первой поставки.
|
|
351
|
+
Дополнительно экспортируются директива `WlTooltip`, `createWlPt` и типы
|
|
254
352
|
(`WlSize`, `WlDensity`, `WlButtonVariant`, `WlTabItem`, …).
|
|
255
353
|
|
|
256
354
|
### Подтверждения: WlConfirmDialog + useWlConfirm
|
|
@@ -312,7 +410,7 @@ import manifest from "gavia-ui/manifest.json";
|
|
|
312
410
|
|
|
313
411
|
Типы: `WlComponentManifest`, `WlPropManifest`, `WlSlotManifest`, `WlEmitManifest`,
|
|
314
412
|
`WlModelManifest`, `WlManifestCategory`, `WlManifestPropType`. Категории:
|
|
315
|
-
`actions`, `inputs`, `data`, `containers`, `navigation`, `feedback`, `misc`.
|
|
413
|
+
`actions`, `inputs`, `data`, `containers`, `composites`, `navigation`, `feedback`, `misc`.
|
|
316
414
|
Пропсы типа `icon` принимают значения из `WlIconName`, тип `object` — это
|
|
317
415
|
pass-through (`pt`) или сложные объекты вроде `locale`.
|
|
318
416
|
|
|
@@ -329,3 +427,6 @@ pnpm tokens:check
|
|
|
329
427
|
pnpm verify:package
|
|
330
428
|
pnpm verify:dependencies
|
|
331
429
|
```
|
|
430
|
+
|
|
431
|
+
[Совместимость, браузеры, доступность и проверки](https://github.com/whitewolf06/gavia-ui/blob/main/docs/quality.md).
|
|
432
|
+
Потребители могут использовать pnpm, npm и Bun; разработка репозитория — pnpm.
|
|
@@ -16,19 +16,44 @@ declare function __VLS_template(): {
|
|
|
16
16
|
rootEl: HTMLDivElement;
|
|
17
17
|
};
|
|
18
18
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
19
|
-
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
20
|
+
items: () => never[];
|
|
21
|
+
single: boolean;
|
|
22
|
+
openKeys: undefined;
|
|
23
|
+
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
24
|
+
"update:openKeys": (value: string[]) => void;
|
|
25
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
26
|
+
items: () => never[];
|
|
27
|
+
single: boolean;
|
|
28
|
+
openKeys: undefined;
|
|
29
|
+
}>>> & {
|
|
22
30
|
"onUpdate:openKeys"?: ((value: string[]) => any) | undefined;
|
|
23
|
-
}
|
|
24
|
-
items: WlAccordionItem[];
|
|
31
|
+
}, {
|
|
25
32
|
single: boolean;
|
|
33
|
+
items: WlAccordionItem[];
|
|
26
34
|
openKeys: string[];
|
|
27
|
-
}, {}
|
|
35
|
+
}, {}>;
|
|
28
36
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
29
37
|
export default _default;
|
|
38
|
+
type __VLS_WithDefaults<P, D> = {
|
|
39
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
40
|
+
default: D[K];
|
|
41
|
+
}> : P[K];
|
|
42
|
+
};
|
|
43
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
44
|
+
type __VLS_TypePropsToOption<T> = {
|
|
45
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
46
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
47
|
+
} : {
|
|
48
|
+
type: import('vue').PropType<T[K]>;
|
|
49
|
+
required: true;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
30
52
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
31
53
|
new (): {
|
|
32
54
|
$slots: S;
|
|
33
55
|
};
|
|
34
56
|
};
|
|
57
|
+
type __VLS_PrettifyLocal<T> = {
|
|
58
|
+
[K in keyof T]: T[K];
|
|
59
|
+
} & {};
|
|
@@ -15,19 +15,44 @@ declare function __VLS_template(): {
|
|
|
15
15
|
rootEl: HTMLDivElement;
|
|
16
16
|
};
|
|
17
17
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
18
|
-
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
19
|
+
variant: string;
|
|
20
|
+
closable: boolean;
|
|
21
|
+
closeLabel: string;
|
|
22
|
+
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
23
|
+
close: (event: MouseEvent) => void;
|
|
24
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
25
|
+
variant: string;
|
|
26
|
+
closable: boolean;
|
|
27
|
+
closeLabel: string;
|
|
28
|
+
}>>> & {
|
|
21
29
|
onClose?: ((event: MouseEvent) => any) | undefined;
|
|
22
|
-
}
|
|
30
|
+
}, {
|
|
23
31
|
variant: WlAlertVariant;
|
|
24
32
|
closable: boolean;
|
|
25
33
|
closeLabel: string;
|
|
26
|
-
}, {}
|
|
34
|
+
}, {}>;
|
|
27
35
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
28
36
|
export default _default;
|
|
37
|
+
type __VLS_WithDefaults<P, D> = {
|
|
38
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
39
|
+
default: D[K];
|
|
40
|
+
}> : P[K];
|
|
41
|
+
};
|
|
42
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
43
|
+
type __VLS_TypePropsToOption<T> = {
|
|
44
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
45
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
46
|
+
} : {
|
|
47
|
+
type: import('vue').PropType<T[K]>;
|
|
48
|
+
required: true;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
29
51
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
30
52
|
new (): {
|
|
31
53
|
$slots: S;
|
|
32
54
|
};
|
|
33
55
|
};
|
|
56
|
+
type __VLS_PrettifyLocal<T> = {
|
|
57
|
+
[K in keyof T]: T[K];
|
|
58
|
+
} & {};
|
|
@@ -21,13 +21,35 @@ type __VLS_Props = {
|
|
|
21
21
|
type __VLS_PublicProps = {
|
|
22
22
|
modelValue?: unknown;
|
|
23
23
|
} & __VLS_Props;
|
|
24
|
-
declare const _default: import('vue').DefineComponent<__VLS_PublicProps
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
declare const _default: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_PublicProps>, {
|
|
25
|
+
suggestions: () => never[];
|
|
26
|
+
invalid: boolean;
|
|
27
|
+
disabled: boolean;
|
|
28
|
+
size: string;
|
|
29
|
+
density: string;
|
|
30
|
+
multiple: boolean;
|
|
31
|
+
dropdown: boolean;
|
|
32
|
+
dropdownLabel: string;
|
|
33
|
+
minLength: number;
|
|
34
|
+
motion: undefined;
|
|
35
|
+
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
36
|
+
complete: (event: WlAutocompleteCompleteEvent) => void;
|
|
37
|
+
"update:modelValue": (value: unknown) => void;
|
|
38
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_PublicProps>, {
|
|
39
|
+
suggestions: () => never[];
|
|
40
|
+
invalid: boolean;
|
|
41
|
+
disabled: boolean;
|
|
42
|
+
size: string;
|
|
43
|
+
density: string;
|
|
44
|
+
multiple: boolean;
|
|
45
|
+
dropdown: boolean;
|
|
46
|
+
dropdownLabel: string;
|
|
47
|
+
minLength: number;
|
|
48
|
+
motion: undefined;
|
|
49
|
+
}>>> & {
|
|
28
50
|
onComplete?: ((event: WlAutocompleteCompleteEvent) => any) | undefined;
|
|
29
51
|
"onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
|
|
30
|
-
}
|
|
52
|
+
}, {
|
|
31
53
|
size: WlSizeSm;
|
|
32
54
|
disabled: boolean;
|
|
33
55
|
dropdown: boolean;
|
|
@@ -38,8 +60,22 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {},
|
|
|
38
60
|
dropdownLabel: string;
|
|
39
61
|
minLength: number;
|
|
40
62
|
motion: boolean;
|
|
41
|
-
}, {}
|
|
42
|
-
control: HTMLInputElement;
|
|
43
|
-
panel: HTMLDivElement;
|
|
44
|
-
}, any>;
|
|
63
|
+
}, {}>;
|
|
45
64
|
export default _default;
|
|
65
|
+
type __VLS_WithDefaults<P, D> = {
|
|
66
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
67
|
+
default: D[K];
|
|
68
|
+
}> : P[K];
|
|
69
|
+
};
|
|
70
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
71
|
+
type __VLS_TypePropsToOption<T> = {
|
|
72
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
73
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
74
|
+
} : {
|
|
75
|
+
type: import('vue').PropType<T[K]>;
|
|
76
|
+
required: true;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
type __VLS_PrettifyLocal<T> = {
|
|
80
|
+
[K in keyof T]: T[K];
|
|
81
|
+
} & {};
|
|
@@ -15,13 +15,34 @@ declare function __VLS_template(): {
|
|
|
15
15
|
rootEl: HTMLSpanElement;
|
|
16
16
|
};
|
|
17
17
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
18
|
-
declare const __VLS_component: import('vue').DefineComponent<
|
|
18
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
19
|
+
size: number;
|
|
20
|
+
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
21
|
+
size: number;
|
|
22
|
+
}>>>, {
|
|
19
23
|
size: WlAvatarSize;
|
|
20
|
-
}, {}
|
|
24
|
+
}, {}>;
|
|
21
25
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
22
26
|
export default _default;
|
|
27
|
+
type __VLS_WithDefaults<P, D> = {
|
|
28
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
29
|
+
default: D[K];
|
|
30
|
+
}> : P[K];
|
|
31
|
+
};
|
|
32
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
33
|
+
type __VLS_TypePropsToOption<T> = {
|
|
34
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
35
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
36
|
+
} : {
|
|
37
|
+
type: import('vue').PropType<T[K]>;
|
|
38
|
+
required: true;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
23
41
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
24
42
|
new (): {
|
|
25
43
|
$slots: S;
|
|
26
44
|
};
|
|
27
45
|
};
|
|
46
|
+
type __VLS_PrettifyLocal<T> = {
|
|
47
|
+
[K in keyof T]: T[K];
|
|
48
|
+
} & {};
|
|
@@ -5,8 +5,31 @@ type __VLS_Props = {
|
|
|
5
5
|
dot?: boolean;
|
|
6
6
|
pt?: Record<string, unknown>;
|
|
7
7
|
};
|
|
8
|
-
declare const _default: import('vue').DefineComponent<
|
|
8
|
+
declare const _default: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
9
|
+
variant: string;
|
|
10
|
+
dot: boolean;
|
|
11
|
+
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
12
|
+
variant: string;
|
|
13
|
+
dot: boolean;
|
|
14
|
+
}>>>, {
|
|
9
15
|
variant: WlBadgeVariant;
|
|
10
16
|
dot: boolean;
|
|
11
|
-
}, {}
|
|
17
|
+
}, {}>;
|
|
12
18
|
export default _default;
|
|
19
|
+
type __VLS_WithDefaults<P, D> = {
|
|
20
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
21
|
+
default: D[K];
|
|
22
|
+
}> : P[K];
|
|
23
|
+
};
|
|
24
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
25
|
+
type __VLS_TypePropsToOption<T> = {
|
|
26
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
27
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
28
|
+
} : {
|
|
29
|
+
type: import('vue').PropType<T[K]>;
|
|
30
|
+
required: true;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
type __VLS_PrettifyLocal<T> = {
|
|
34
|
+
[K in keyof T]: T[K];
|
|
35
|
+
} & {};
|