gavia-ui 0.9.1 → 0.11.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 +93 -0
- package/README.md +60 -10
- package/dist/components/WlAccordion.vue.d.ts +22 -32
- package/dist/components/WlAlert.vue.d.ts +30 -5
- package/dist/components/WlAutocomplete.vue.d.ts +38 -42
- package/dist/components/WlAvatar.vue.d.ts +25 -3
- package/dist/components/WlBadge.vue.d.ts +27 -3
- package/dist/components/WlBreadcrumbs.vue.d.ts +27 -5
- package/dist/components/WlButton.vue.d.ts +43 -9
- package/dist/components/WlButtonGroup.vue.d.ts +18 -1
- package/dist/components/WlCalendar.vue.d.ts +34 -10
- package/dist/components/WlCard.vue.d.ts +25 -3
- package/dist/components/WlCheckbox.vue.d.ts +35 -6
- package/dist/components/WlChip.vue.d.ts +29 -6
- package/dist/components/WlColorPicker.vue.d.ts +41 -8
- package/dist/components/WlCommandPalette.vue.d.ts +84 -85
- package/dist/components/WlConfirmDialog.vue.d.ts +38 -3
- package/dist/components/WlDatePicker.vue.d.ts +9 -3
- package/dist/components/WlDialog.vue.d.ts +55 -18
- package/dist/components/WlDivider.vue.d.ts +12 -2
- package/dist/components/WlDrawer.vue.d.ts +52 -15
- package/dist/components/WlEmpty.vue.d.ts +18 -1
- package/dist/components/WlField.vue.d.ts +28 -11
- package/dist/components/WlFilePicker.vue.d.ts +41 -13
- package/dist/components/WlFileUpload.vue.d.ts +39 -9
- package/dist/components/WlFilterBar.vue.d.ts +58 -34
- package/dist/components/WlIcon.vue.d.ts +23 -2
- package/dist/components/WlIconButton.vue.d.ts +38 -8
- package/dist/components/WlInput.vue.d.ts +41 -8
- package/dist/components/WlMenu.vue.d.ts +30 -25
- package/dist/components/WlMultiSelect.vue.d.ts +36 -35
- package/dist/components/WlNavItem.vue.d.ts +30 -5
- package/dist/components/WlNumberInput.vue.d.ts +46 -6
- package/dist/components/WlPageHeader.vue.d.ts +34 -3
- package/dist/components/WlPagination.vue.d.ts +35 -7
- package/dist/components/WlPasswordInput.vue.d.ts +39 -7
- package/dist/components/WlPill.vue.d.ts +23 -2
- package/dist/components/WlPopover.vue.d.ts +39 -13
- package/dist/components/WlProgress.vue.d.ts +45 -4
- package/dist/components/WlRadio.vue.d.ts +26 -29
- package/dist/components/WlSegmented.vue.d.ts +25 -15
- package/dist/components/WlSelect.vue.d.ts +33 -29
- package/dist/components/WlSidebar.vue.d.ts +84 -76
- package/dist/components/WlSkeleton.vue.d.ts +29 -3
- package/dist/components/WlSlider.vue.d.ts +35 -5
- package/dist/components/WlSpinner.vue.d.ts +28 -3
- package/dist/components/WlStatCard.vue.d.ts +30 -6
- package/dist/components/WlSteps.vue.d.ts +27 -4
- package/dist/components/WlSwitch.vue.d.ts +36 -7
- package/dist/components/WlTable.vue.d.ts +27 -32
- package/dist/components/WlTabs.vue.d.ts +31 -29
- package/dist/components/WlTag.vue.d.ts +32 -6
- package/dist/components/WlTextarea.vue.d.ts +38 -9
- package/dist/components/WlTimePicker.vue.d.ts +38 -9
- package/dist/components/WlToast.vue.d.ts +38 -3
- package/dist/components/generic-contracts.d.ts +107 -0
- package/dist/components/index.d.ts +53 -53
- package/dist/components/native-contracts.d.ts +106 -0
- package/dist/composables/useNativeFilePicker.d.ts +1 -1
- package/dist/composables/useWlConfirm.d.ts +8 -3
- package/dist/composables/useWlToast.d.ts +10 -3
- package/dist/config.d.ts +4 -4
- package/dist/design-system/tokens.generated.d.ts +551 -8
- package/dist/design-tokens.json +704 -114
- package/dist/directives/tooltip.d.ts +4 -4
- package/dist/field-types.d.ts +9 -0
- package/dist/index.d.ts +12 -3
- package/dist/index.js +5061 -4329
- package/dist/input-expose-types.d.ts +5 -0
- package/dist/locale-types.d.ts +56 -0
- package/dist/locale.d.ts +5 -12
- package/dist/manifest.json +16 -16
- package/dist/model-types.d.ts +12 -0
- package/dist/native-types.d.ts +28 -0
- package/dist/navigation-types.d.ts +85 -0
- package/dist/overlay-types.d.ts +21 -0
- package/dist/pt-types.d.ts +318 -0
- package/dist/selection-types.d.ts +19 -0
- package/dist/services/confirmation.d.ts +3 -0
- package/dist/services/toast.d.ts +2 -0
- package/dist/table-types.d.ts +33 -0
- package/dist/theme.d.ts +3 -18
- package/dist/types.d.ts +8 -77
- package/dist/utils/options.d.ts +4 -3
- 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/package.json +4 -3
- package/styles/base.css +29 -24
- package/themes/gavia-dark.css +463 -0
- package/themes/gavia.css +3 -0
- package/themes/graphite.css +4 -1
- package/themes/newspaper.css +3 -0
- package/themes/white.css +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,99 @@
|
|
|
6
6
|
|
|
7
7
|
## Не выпущено
|
|
8
8
|
|
|
9
|
+
## 0.11.0 — подготовлено
|
|
10
|
+
|
|
11
|
+
### Типизация публичного API
|
|
12
|
+
|
|
13
|
+
- Select/MultiSelect связывают options, optionValue, модель и update-событие generics; any в резолверах убран, readonly-списки поддерживаются.
|
|
14
|
+
- Autocomplete различает свободный single-ввод и массив подсказок; исправлены потеря текста при option-label с ключом и неочищенное поле после внешнего сброса null/undefined.
|
|
15
|
+
- Table выводит Row из value и проверяет обычные колонки по ключам строки; виртуальные колонки требуют kind: "virtual". Cell-слоты сохраняют тип поля.
|
|
16
|
+
- pt получает подсказки секций и контекстов; WlPtStrict / WlPtConfigStrict выявляют опечатки через satisfies без закрытия динамических настроек.
|
|
17
|
+
- Radio/Segmented/Tabs связывают модель с доменом; Sidebar/CommandPalette сохраняют тип item/data в событиях и слотах. Добавлены Expose-типы методов ref и WlTooltipValue.
|
|
18
|
+
- Публичные generic-экспорты требуют фактический resolver/mode prop при явно заданном non-default generic, включая DatePicker range.
|
|
19
|
+
- Menu/Accordion связывают callbacks, ключи и slots с полным item; Sidebar/CommandPalette сохраняют дополнительные поля групп. Коллекции описаний принимают readonly.
|
|
20
|
+
- DOM-атрибуты/events типизированы без новых runtime props; Field scoped-slot и ref-методы Menu/Popover/FilePicker/FilterBar получили публичные контракты.
|
|
21
|
+
- Модели описывают модификаторы: trim только у текстовых полей и query CommandPalette. Locale нормализуется безопасно; известные ключи больше не unknown.
|
|
22
|
+
- Confirm/Toast получили scoped group helpers; attrs Teleport-компонентов передаются на DOM. FilterBar использует SSR id.
|
|
23
|
+
- Исправлены single FileUpload, сохранение выбора при отклонённой замене, обход disabled и NaN/Infinity в числовых UI.
|
|
24
|
+
- Положительные и отрицательные API fixtures проверены в исходниках и устанавливаемом архиве на Vue 3.4 / TypeScript 5.4 и Vue 3.5; локальные результаты и границы проверок — в [документации качества](https://github.com/whitewolf06/gavia-ui/blob/main/docs/quality.md).
|
|
25
|
+
|
|
26
|
+
### Breaking changes — подготовлено для 0.11.0
|
|
27
|
+
|
|
28
|
+
- Unknown-модели и callback label без обработки свободного текста требуют явного типа данных. Коллекции навигационных описаний readonly; generic SFC могут потребовать замены InstanceType на Expose-контракт.
|
|
29
|
+
- Явный generic range DatePicker требует фактический selectionMode="range"; остальные модели и обработчики сохраняются.
|
|
30
|
+
- Виртуальные колонки помечаются явно; Menu/Accordion/Sidebar ключи и callbacks проверяются по данным. Для новых деклараций требуется TypeScript 5.4+.
|
|
31
|
+
- Исторический fixture 0.9.1 сохраняется неизменным. Для 0.11 оформлен точечный контракт согласованной миграции; новые потери API продолжают блокировать gate. Minor Changeset применён: версии корня и пакета 0.11.0. Публикация этой ветки не выполнялась. [Миграция 0.11](https://github.com/whitewolf06/gavia-ui/blob/main/docs/migration-0.11.0.md).
|
|
32
|
+
|
|
33
|
+
### Changesets
|
|
34
|
+
|
|
35
|
+
Уточнить публичные TypeScript-контракты всех компонентов: связанные модели выбора,
|
|
36
|
+
ключи таблицы, payload/slots, нативные attrs/events, pt и exposed refs. Добавить
|
|
37
|
+
безопасную нормализацию входных значений и проверки отключённых контролов.
|
|
38
|
+
|
|
39
|
+
Breaking changes: TypeScript 5.4+, доменные модели вместо unknown, обработка
|
|
40
|
+
свободной строки Autocomplete, явные virtual columns, readonly коллекции
|
|
41
|
+
навигационных описаний, явный selectionMode для range DatePicker и проверка
|
|
42
|
+
поддерживаемых v-model modifiers. Руководство
|
|
43
|
+
перехода: [миграция 0.11](https://github.com/whitewolf06/gavia-ui/blob/main/docs/migration-0.11.0.md).
|
|
44
|
+
|
|
45
|
+
## 0.10.0 — 2026-10-08
|
|
46
|
+
|
|
47
|
+
### Темы
|
|
48
|
+
|
|
49
|
+
- README выделяет Gavia / Gavia Dark как основные темы и Classic / Classic Dark / Newspaper как дополнительные; для каждой указаны идентификатор и явный CSS-импорт.
|
|
50
|
+
- В правом верхнем углу hero добавлена компактная ghost-кнопка солнца/луны на WlIconButton: цветная иконка 32 px, активная область 44 × 44 px, без фоновой коробки в обычном состоянии; клавиатурный фокус выделяет обводка. Gavia ↔ Gavia Dark, Classic ↔ Classic Dark; Newspaper переключается в Classic Dark и возвращается при повторном нажатии.
|
|
51
|
+
- Дневной и ночной фон hero загружаются заранее и остаются двумя слоями одной композиции: светлые темы используют дневной, обе тёмные — ночной. При поддержке View Transitions API смена темы использует один временный переход всей страницы; в остальных браузерах сохраняется crossfade hero. Ночной слой появляется после загрузки; prefers-reduced-motion отключает переходы.
|
|
52
|
+
- Лес и колоски в информационных карточках главной различимы в тёмных темах; карточки сохраняют тёмный фон. Ссылки на документы, Issues и руководство GitHub в этих карточках открываются в новой вкладке и отмечены иконкой внешнего перехода.
|
|
53
|
+
- Gavia Dark получила ночной фон hero с луной на месте исходного солнца, лёгким голубоватым светом и той же гагарой; поверхности получили мягкий холодно-серый, слегка синеватый подтон, основной бирюзовый акцент стал насыщеннее и чуть ближе к голубому; блок установки сохраняет цветную границу и использует тёмный бирюзовый акцентный фон.
|
|
54
|
+
- Холодный подтон уточнён только в шести фоновых заливках Gavia Dark: фон страницы, поднятая и вторичная поверхности, hover и два мягких акцентных фона.
|
|
55
|
+
- Заголовок «Ясность в каждой детали» на странице шрифта следует гарнитуре выбранной темы; образцы Gavia Sans сохраняют свой шрифт.
|
|
56
|
+
- Узкие WlAlert с действием и закрытием сохраняют читаемую ширину текста; действия переносятся по доступной ширине компонента.
|
|
57
|
+
- Добавлена Gavia Dark (`gavia-dark`, `themes/gavia-dark.css`) с Gavia Sans; каталог содержит пять тем.
|
|
58
|
+
- White / Graphite отображаются как Classic / Classic Dark. Идентификаторы `white` / `graphite`, CSS-пути, значения прежних тем и позиции каталога сохранены.
|
|
59
|
+
- `wlDesignThemes` расширен с четырёх до пяти элементов; literal labels изменены. Используйте `WlDesignTheme` / `WlThemeName` и `name`, не фиксируйте старую длину tuple или подпись. [Миграция тем](https://github.com/whitewolf06/gavia-ui/blob/main/docs/migration-themes.md).
|
|
60
|
+
|
|
61
|
+
### Проверки и совместимость
|
|
62
|
+
|
|
63
|
+
- Фактический публичный TypeScript/CSS/pt-контракт защищён снимком 0.9.1; проверяется прежний Vue-потребитель.
|
|
64
|
+
- Добавлены визуальные эталоны Gavia с настоящим Gavia Sans и axe-проверки WCAG 2.2 AA.
|
|
65
|
+
- Архив запускается в браузере на desktop/mobile; Node import, SSR/hydration и размер WlButton проверяются отдельно.
|
|
66
|
+
- Исправлена поддержка Vue 3.4: declarations и SSR-идентификаторы совместимы с минимальным peer; Vue 3.5 сохраняет нативные идентификаторы.
|
|
67
|
+
- Select/MultiSelect/Autocomplete связывают контролы и именованные списки через ARIA.
|
|
68
|
+
- Добавлены --wl-text-accent/--wl-text-accent-hover и foundation-значение для контрастного текста; Graphite сохраняет прежний цвет основного действия.
|
|
69
|
+
- Из сборки одной кнопки исключены неиспользуемые каталоги токенов/компонентов; публичные экспорты сохранены.
|
|
70
|
+
- Coverage измеряется в CI с порогами по базовому результату; добавлены проверки отмены закрытия оверлея.
|
|
71
|
+
- В playground добавлен раздел «Качество и совместимость», сводка на главной и ссылки из поиска/футера. Покрытие, дата и источник измерения формируются из реального отчёта; бейдж README использует сохранённый снимок репозитория, опубликованный playground — отчёт своей CI-сборки.
|
|
72
|
+
- Подписи WlStatCard используют контрастный текстовый токен темы.
|
|
73
|
+
- Покрытие в playground показано процентными полосами WlProgress со шкалой 0–100%; цвета, радиусы и анимация наследуются от темы.
|
|
74
|
+
- Подготовка версий выполняется Changesets, prerelease использует npm next; витрины теговых выпусков сохраняются отдельно.
|
|
75
|
+
- Установка через pnpm, npm и Bun доступна в playground и README; добавлены шаблоны Issues и политика браузеров/версий.
|
|
76
|
+
|
|
77
|
+
### Changesets
|
|
78
|
+
|
|
79
|
+
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.
|
|
80
|
+
|
|
81
|
+
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.
|
|
82
|
+
|
|
83
|
+
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.
|
|
84
|
+
|
|
85
|
+
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.
|
|
86
|
+
|
|
87
|
+
Keep narrow WlAlert messages readable by wrapping actions when an icon, action and close control share the available width.
|
|
88
|
+
|
|
89
|
+
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.
|
|
90
|
+
|
|
91
|
+
Проверки совместимости API 0.9.1, визуальные эталоны Gavia Sans, доступность WCAG 2.2 AA,
|
|
92
|
+
браузерный запуск установленного архива, SSR/hydration, контроль размера и покрытия.
|
|
93
|
+
Публичные имена и схема подключения сохранены.
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
Исправлена поддержка Vue 3.4: declarations и SSR-идентификаторы совместимы
|
|
97
|
+
с минимальным peer. Списки получили доступные имена и связи ARIA. В Graphite
|
|
98
|
+
акцентный текст стал контрастнее; цвет primary-кнопок сохранён. Сборка
|
|
99
|
+
приложения с одной кнопкой больше не удерживает неиспользуемые каталоги.
|
|
100
|
+
Установка через npm и Bun добавлена в playground и проверяется из архива.
|
|
101
|
+
|
|
9
102
|
## 0.9.1 — 2026-10-07
|
|
10
103
|
|
|
11
104
|
Выпуск включает изменения ветки 0.9 и исправленные браузерные проверки.
|
package/README.md
CHANGED
|
@@ -4,9 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
# Gavia UI
|
|
6
6
|
|
|
7
|
+
[](https://github.com/whitewolf06/gavia-ui/blob/main/apps/playground/src/project/quality-report.generated.json)
|
|
8
|
+
|
|
7
9
|
Бесплатная библиотека компонентов и дизайн-система для **Vue 3 + TypeScript**.
|
|
8
|
-
В составе: **53 компонента, 113 SVG-иконок,
|
|
9
|
-
и гарнитура Gavia Sans 0.6**.
|
|
10
|
+
В составе: **53 компонента, 113 SVG-иконок, 447 дизайн-токенов, пять тем:
|
|
11
|
+
Gavia, Gavia Dark, Classic, Classic Dark, Newspaper и гарнитура Gavia Sans 0.6**.
|
|
12
|
+
Runtime-зависимостей нет; Vue 3 — единственный
|
|
10
13
|
обязательный peer. Стили подключаются явно.
|
|
11
14
|
|
|
12
15
|
<p align="center">
|
|
@@ -16,16 +19,57 @@
|
|
|
16
19
|
· <a href="https://github.com/whitewolf06/gavia-ui">GitHub</a>
|
|
17
20
|
</p>
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
|
|
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) ·
|
|
21
32
|
[История ребрендинга](https://github.com/whitewolf06/gavia-ui/blob/main/docs/migration-gavia.md).
|
|
22
33
|
Код UI Kit — [MIT](LICENSE), файлы шрифта —
|
|
23
34
|
[SIL OFL 1.1](https://github.com/whitewolf06/gavia-ui/blob/main/packages/ui-kit/fonts/gavia/OFL.txt).
|
|
24
35
|
|
|
36
|
+
## Темы
|
|
37
|
+
|
|
38
|
+
### Основные
|
|
39
|
+
|
|
40
|
+
**Gavia** и **Gavia Dark** — фирменные светлая и тёмная темы Gavia UI:
|
|
41
|
+
бирюзовый акцент, общая геометрия компонентов и шрифт **Gavia Sans**.
|
|
42
|
+
|
|
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` |
|
|
47
|
+
|
|
48
|
+
Gavia Dark добавлена в 0.10.0.
|
|
49
|
+
|
|
50
|
+
### Дополнительные
|
|
51
|
+
|
|
52
|
+
Альтернативное оформление тех же компонентов: Classic и Classic Dark используют
|
|
53
|
+
системный sans, Newspaper — системный основной текст и заголовки с засечками.
|
|
54
|
+
|
|
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` |
|
|
60
|
+
|
|
61
|
+
Выберите CSS темы и её идентификатор из таблицы. Для обеих основных тем также
|
|
62
|
+
подключите `gavia-ui/styles/fonts/gavia.css`. Без явного выбора темы библиотека
|
|
63
|
+
использует Classic (`white`).
|
|
64
|
+
|
|
25
65
|
## Быстрый старт
|
|
26
66
|
|
|
27
67
|
```bash
|
|
28
|
-
pnpm add gavia-ui@0.
|
|
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
|
|
29
73
|
```
|
|
30
74
|
|
|
31
75
|
```ts
|
|
@@ -53,16 +97,19 @@ import { WlButton } from "gavia-ui";
|
|
|
53
97
|
```
|
|
54
98
|
|
|
55
99
|
Вместо строки `dataset.wlTheme` можно указать `<html data-wl-theme="gavia">`
|
|
56
|
-
в `index.html`. Gavia
|
|
57
|
-
fallback.
|
|
58
|
-
|
|
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).
|
|
59
106
|
`WlConfig` для базового подключения не требуется.
|
|
60
107
|
|
|
61
108
|
## Шрифт Gavia Sans
|
|
62
109
|
|
|
63
110
|
Gavia Sans 0.6 входит в пакет: кириллица и латиница, шесть весов
|
|
64
111
|
100 / 300 / 400 / 500 / 600 / 700 с прямым и наклонным начертанием, WOFF2 и TTF.
|
|
65
|
-
Она служит основным шрифтом
|
|
112
|
+
Она служит основным шрифтом **тем Gavia и Gavia Dark**; Classic, Classic Dark и Newspaper
|
|
66
113
|
сохраняют свою типографику. Подключение явное: `import "gavia-ui/styles/fonts/gavia.css";`.
|
|
67
114
|
|
|
68
115
|
Файлы доступны через `gavia-ui/fonts/gavia/<file>` и применимы без Vue.
|
|
@@ -75,7 +122,7 @@ Gavia Sans 0.6 входит в пакет: кириллица и латиниц
|
|
|
75
122
|
|
|
76
123
|
Общие роли типографики, шкала расстояний, поверхности, состояния и UI-паттерны
|
|
77
124
|
описаны в [руководстве](https://github.com/whitewolf06/gavia-ui/blob/main/docs/design-system.md). Playground `?view=system`
|
|
78
|
-
показывает
|
|
125
|
+
показывает 447 токенов, пять тем и контракты 53 компонентов.
|
|
79
126
|
|
|
80
127
|
Опциональная компоновка и типографика: явный импорт
|
|
81
128
|
`gavia-ui/styles/primitives.css`. Экспорты `wlDesignTokens`,
|
|
@@ -380,3 +427,6 @@ pnpm tokens:check
|
|
|
380
427
|
pnpm verify:package
|
|
381
428
|
pnpm verify:dependencies
|
|
382
429
|
```
|
|
430
|
+
|
|
431
|
+
[Совместимость, браузеры, доступность и проверки](https://github.com/whitewolf06/gavia-ui/blob/main/docs/quality.md).
|
|
432
|
+
Потребители могут использовать pnpm, npm и Bun; разработка репозитория — pnpm.
|
|
@@ -1,34 +1,24 @@
|
|
|
1
|
-
import { WlAccordionItem } from '../types';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { WlAccordionItem, WlAccordionSlots } from '../navigation-types';
|
|
2
|
+
import { WlNoModelModifiers } from '../model-types';
|
|
3
|
+
declare const _default: <Item extends WlAccordionItem = WlAccordionItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
4
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
5
|
+
"onUpdate:openKeys"?: ((value: Item["key"][]) => any) | undefined;
|
|
6
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & Readonly<import('vue').ExtractPropTypes<{}>> & {
|
|
7
|
+
"onUpdate:openKeys"?: ((value: Item["key"][]) => any) | undefined;
|
|
8
|
+
}, never>, "onUpdate:openKeys"> & {
|
|
9
|
+
items?: readonly Item[];
|
|
10
|
+
single?: boolean;
|
|
11
|
+
openKeys?: readonly NoInfer<Item["key"]>[];
|
|
12
|
+
openKeysModifiers?: WlNoModelModifiers;
|
|
13
|
+
} & Partial<{}>> & import('vue').PublicProps;
|
|
14
|
+
expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
|
|
15
|
+
attrs: any;
|
|
16
|
+
slots: Readonly<WlAccordionSlots<Item>> & WlAccordionSlots<Item>;
|
|
17
|
+
emit: (e: "update:openKeys", value: Item["key"][]) => void;
|
|
18
|
+
}>) => import('vue').VNode & {
|
|
19
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
6
20
|
};
|
|
7
|
-
declare function __VLS_template(): {
|
|
8
|
-
attrs: Partial<{}>;
|
|
9
|
-
slots: {
|
|
10
|
-
item?(_: {
|
|
11
|
-
item: WlAccordionItem;
|
|
12
|
-
open: boolean;
|
|
13
|
-
}): any;
|
|
14
|
-
};
|
|
15
|
-
refs: {};
|
|
16
|
-
rootEl: HTMLDivElement;
|
|
17
|
-
};
|
|
18
|
-
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
19
|
-
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
20
|
-
"update:openKeys": (value: string[]) => any;
|
|
21
|
-
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
22
|
-
"onUpdate:openKeys"?: ((value: string[]) => any) | undefined;
|
|
23
|
-
}>, {
|
|
24
|
-
single: boolean;
|
|
25
|
-
items: WlAccordionItem[];
|
|
26
|
-
openKeys: string[];
|
|
27
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
28
|
-
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
29
21
|
export default _default;
|
|
30
|
-
type
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
34
|
-
};
|
|
22
|
+
type __VLS_PrettifyLocal<T> = {
|
|
23
|
+
[K in keyof T]: T[K];
|
|
24
|
+
} & {};
|
|
@@ -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
|
+
} & {};
|
|
@@ -1,45 +1,41 @@
|
|
|
1
|
+
import { WlPt } from '../pt-types';
|
|
2
|
+
import { WlNoModelModifiers } from '../model-types';
|
|
1
3
|
import { WlDensity, WlSizeSm } from '../types';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
4
|
+
import { WlAutocompleteCompleteEvent, WlAutocompleteModel, WlAutocompleteOptionLabel } from '../selection-types';
|
|
5
|
+
declare const _default: <TOption = unknown, TMultiple extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
6
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
7
|
+
"onUpdate:modelValue"?: ((value: WlAutocompleteModel<NoInfer<TOption>, NoInfer<TMultiple>>) => any) | undefined;
|
|
8
|
+
onComplete?: ((event: WlAutocompleteCompleteEvent) => any) | undefined;
|
|
9
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & Readonly<import('vue').ExtractPropTypes<{}>> & {
|
|
10
|
+
"onUpdate:modelValue"?: ((value: WlAutocompleteModel<NoInfer<TOption>, NoInfer<TMultiple>>) => any) | undefined;
|
|
11
|
+
onComplete?: ((event: WlAutocompleteCompleteEvent) => any) | undefined;
|
|
12
|
+
}, never>, "onUpdate:modelValue" | "onComplete"> & ({
|
|
13
|
+
modelValue?: WlAutocompleteModel<NoInfer<TOption>, NoInfer<TMultiple>>;
|
|
14
|
+
modelModifiers?: Partial<Record<never, true>>;
|
|
15
|
+
} & {
|
|
16
|
+
modelModifiers?: WlNoModelModifiers;
|
|
17
|
+
suggestions?: readonly TOption[];
|
|
18
|
+
optionLabel?: WlAutocompleteOptionLabel<NoInfer<TOption>, NoInfer<TMultiple>>;
|
|
19
|
+
placeholder?: string;
|
|
20
|
+
invalid?: boolean;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
size?: WlSizeSm;
|
|
23
|
+
density?: WlDensity;
|
|
24
|
+
multiple?: TMultiple & boolean;
|
|
25
|
+
dropdown?: boolean;
|
|
26
|
+
dropdownLabel?: string;
|
|
27
|
+
minLength?: number;
|
|
28
|
+
motion?: boolean;
|
|
29
|
+
pt?: WlPt<"autocomplete">;
|
|
30
|
+
}) & Partial<{}>> & import('vue').PublicProps;
|
|
31
|
+
expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
|
|
32
|
+
attrs: any;
|
|
33
|
+
slots: Readonly<{}>;
|
|
34
|
+
emit: ((evt: "complete", event: WlAutocompleteCompleteEvent) => void) & ((evt: "update:modelValue", value: WlAutocompleteModel<NoInfer<TOption>, NoInfer<TMultiple>>) => void);
|
|
35
|
+
}>) => import('vue').VNode & {
|
|
36
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
20
37
|
};
|
|
21
|
-
type __VLS_PublicProps = {
|
|
22
|
-
modelValue?: unknown;
|
|
23
|
-
} & __VLS_Props;
|
|
24
|
-
declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
25
|
-
complete: (event: WlAutocompleteCompleteEvent) => any;
|
|
26
|
-
"update:modelValue": (value: unknown) => any;
|
|
27
|
-
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
28
|
-
onComplete?: ((event: WlAutocompleteCompleteEvent) => any) | undefined;
|
|
29
|
-
"onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
|
|
30
|
-
}>, {
|
|
31
|
-
size: WlSizeSm;
|
|
32
|
-
disabled: boolean;
|
|
33
|
-
dropdown: boolean;
|
|
34
|
-
multiple: boolean;
|
|
35
|
-
invalid: boolean;
|
|
36
|
-
suggestions: unknown[];
|
|
37
|
-
density: WlDensity;
|
|
38
|
-
dropdownLabel: string;
|
|
39
|
-
minLength: number;
|
|
40
|
-
motion: boolean;
|
|
41
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
42
|
-
control: HTMLInputElement;
|
|
43
|
-
panel: HTMLDivElement;
|
|
44
|
-
}, any>;
|
|
45
38
|
export default _default;
|
|
39
|
+
type __VLS_PrettifyLocal<T> = {
|
|
40
|
+
[K in keyof T]: T[K];
|
|
41
|
+
} & {};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { WlPt } from '../pt-types';
|
|
1
2
|
import { WlAvatarPresence, WlAvatarSize } from '../types';
|
|
2
3
|
type __VLS_Props = {
|
|
3
4
|
label?: string;
|
|
4
5
|
image?: string;
|
|
5
6
|
size?: WlAvatarSize;
|
|
6
7
|
presence?: WlAvatarPresence;
|
|
7
|
-
pt?:
|
|
8
|
+
pt?: WlPt<"avatar">;
|
|
8
9
|
};
|
|
9
10
|
declare function __VLS_template(): {
|
|
10
11
|
attrs: Partial<{}>;
|
|
@@ -15,13 +16,34 @@ declare function __VLS_template(): {
|
|
|
15
16
|
rootEl: HTMLSpanElement;
|
|
16
17
|
};
|
|
17
18
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
18
|
-
declare const __VLS_component: import('vue').DefineComponent<
|
|
19
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
20
|
+
size: number;
|
|
21
|
+
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
22
|
+
size: number;
|
|
23
|
+
}>>>, {
|
|
19
24
|
size: WlAvatarSize;
|
|
20
|
-
}, {}
|
|
25
|
+
}, {}>;
|
|
21
26
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
22
27
|
export default _default;
|
|
28
|
+
type __VLS_WithDefaults<P, D> = {
|
|
29
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
30
|
+
default: D[K];
|
|
31
|
+
}> : P[K];
|
|
32
|
+
};
|
|
33
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
34
|
+
type __VLS_TypePropsToOption<T> = {
|
|
35
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
36
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
37
|
+
} : {
|
|
38
|
+
type: import('vue').PropType<T[K]>;
|
|
39
|
+
required: true;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
23
42
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
24
43
|
new (): {
|
|
25
44
|
$slots: S;
|
|
26
45
|
};
|
|
27
46
|
};
|
|
47
|
+
type __VLS_PrettifyLocal<T> = {
|
|
48
|
+
[K in keyof T]: T[K];
|
|
49
|
+
} & {};
|
|
@@ -1,12 +1,36 @@
|
|
|
1
|
+
import { WlPt } from '../pt-types';
|
|
1
2
|
import { WlBadgeVariant } from '../types';
|
|
2
3
|
type __VLS_Props = {
|
|
3
4
|
value?: string | number;
|
|
4
5
|
variant?: WlBadgeVariant;
|
|
5
6
|
dot?: boolean;
|
|
6
|
-
pt?:
|
|
7
|
+
pt?: WlPt<"badge">;
|
|
7
8
|
};
|
|
8
|
-
declare const _default: import('vue').DefineComponent<
|
|
9
|
+
declare const _default: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
10
|
+
variant: string;
|
|
11
|
+
dot: boolean;
|
|
12
|
+
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
13
|
+
variant: string;
|
|
14
|
+
dot: boolean;
|
|
15
|
+
}>>>, {
|
|
9
16
|
variant: WlBadgeVariant;
|
|
10
17
|
dot: boolean;
|
|
11
|
-
}, {}
|
|
18
|
+
}, {}>;
|
|
12
19
|
export default _default;
|
|
20
|
+
type __VLS_WithDefaults<P, D> = {
|
|
21
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
22
|
+
default: D[K];
|
|
23
|
+
}> : P[K];
|
|
24
|
+
};
|
|
25
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
26
|
+
type __VLS_TypePropsToOption<T> = {
|
|
27
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
28
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
29
|
+
} : {
|
|
30
|
+
type: import('vue').PropType<T[K]>;
|
|
31
|
+
required: true;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
type __VLS_PrettifyLocal<T> = {
|
|
35
|
+
[K in keyof T]: T[K];
|
|
36
|
+
} & {};
|
|
@@ -1,9 +1,31 @@
|
|
|
1
|
+
import { WlPt } from '../pt-types';
|
|
1
2
|
import { WlBreadcrumbItem } from '../types';
|
|
2
3
|
type __VLS_Props = {
|
|
3
|
-
items?: WlBreadcrumbItem[];
|
|
4
|
-
pt?:
|
|
4
|
+
items?: readonly WlBreadcrumbItem[];
|
|
5
|
+
pt?: WlPt<"breadcrumb">;
|
|
5
6
|
};
|
|
6
|
-
declare const _default: import('vue').DefineComponent<
|
|
7
|
-
items:
|
|
8
|
-
}, {}, {}, {}, string, import('vue').
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
8
|
+
items: () => never[];
|
|
9
|
+
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
10
|
+
items: () => never[];
|
|
11
|
+
}>>>, {
|
|
12
|
+
items: readonly WlBreadcrumbItem[];
|
|
13
|
+
}, {}>;
|
|
9
14
|
export default _default;
|
|
15
|
+
type __VLS_WithDefaults<P, D> = {
|
|
16
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
17
|
+
default: D[K];
|
|
18
|
+
}> : P[K];
|
|
19
|
+
};
|
|
20
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
21
|
+
type __VLS_TypePropsToOption<T> = {
|
|
22
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
23
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
24
|
+
} : {
|
|
25
|
+
type: import('vue').PropType<T[K]>;
|
|
26
|
+
required: true;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
type __VLS_PrettifyLocal<T> = {
|
|
30
|
+
[K in keyof T]: T[K];
|
|
31
|
+
} & {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { WlPt } from '../pt-types';
|
|
1
2
|
import { WlButtonVariant, WlDensity, WlSize } from '../types';
|
|
2
3
|
type __VLS_Props = {
|
|
3
4
|
variant?: WlButtonVariant;
|
|
@@ -7,7 +8,7 @@ type __VLS_Props = {
|
|
|
7
8
|
disabled?: boolean;
|
|
8
9
|
block?: boolean;
|
|
9
10
|
type?: "button" | "submit" | "reset";
|
|
10
|
-
pt?:
|
|
11
|
+
pt?: WlPt<"button">;
|
|
11
12
|
};
|
|
12
13
|
declare function __VLS_template(): {
|
|
13
14
|
attrs: Partial<{}>;
|
|
@@ -19,23 +20,56 @@ declare function __VLS_template(): {
|
|
|
19
20
|
rootEl: HTMLButtonElement;
|
|
20
21
|
};
|
|
21
22
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
22
|
-
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
24
|
+
variant: string;
|
|
25
|
+
size: string;
|
|
26
|
+
density: string;
|
|
27
|
+
loading: boolean;
|
|
28
|
+
disabled: boolean;
|
|
29
|
+
block: boolean;
|
|
30
|
+
type: string;
|
|
31
|
+
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
32
|
+
click: (event: MouseEvent) => void;
|
|
33
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
34
|
+
variant: string;
|
|
35
|
+
size: string;
|
|
36
|
+
density: string;
|
|
37
|
+
loading: boolean;
|
|
38
|
+
disabled: boolean;
|
|
39
|
+
block: boolean;
|
|
40
|
+
type: string;
|
|
41
|
+
}>>> & {
|
|
25
42
|
onClick?: ((event: MouseEvent) => any) | undefined;
|
|
26
|
-
}
|
|
27
|
-
size: WlSize;
|
|
28
|
-
type: "button" | "submit" | "reset";
|
|
29
|
-
variant: WlButtonVariant;
|
|
43
|
+
}, {
|
|
30
44
|
disabled: boolean;
|
|
45
|
+
type: "button" | "submit" | "reset";
|
|
46
|
+
size: WlSize;
|
|
31
47
|
density: WlDensity;
|
|
32
48
|
loading: boolean;
|
|
33
49
|
block: boolean;
|
|
34
|
-
|
|
50
|
+
variant: WlButtonVariant;
|
|
51
|
+
}, {}>;
|
|
35
52
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
36
53
|
export default _default;
|
|
54
|
+
type __VLS_WithDefaults<P, D> = {
|
|
55
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
56
|
+
default: D[K];
|
|
57
|
+
}> : P[K];
|
|
58
|
+
};
|
|
59
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
60
|
+
type __VLS_TypePropsToOption<T> = {
|
|
61
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
62
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
63
|
+
} : {
|
|
64
|
+
type: import('vue').PropType<T[K]>;
|
|
65
|
+
required: true;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
37
68
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
38
69
|
new (): {
|
|
39
70
|
$slots: S;
|
|
40
71
|
};
|
|
41
72
|
};
|
|
73
|
+
type __VLS_PrettifyLocal<T> = {
|
|
74
|
+
[K in keyof T]: T[K];
|
|
75
|
+
} & {};
|