@1337exp/taoui 1.1.0 → 1.2.2

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/README.md CHANGED
@@ -9,13 +9,13 @@
9
9
 
10
10
  - **TaoBlock** — базовый контейнер с настраиваемыми отступами и скруглением
11
11
  - **TaoButton** — кнопка с вариантами (primary, secondary, ghost, danger), размерами и состояниями
12
- - **TaoCard** — карточка с поддержкой слотов (cover, headerTitle, header/headerSecondary, title/sub, footer)
12
+ - **TaoCard** — карточка со слотами cover / header / footer. В `#cover` — фото или `TaoCarousel`
13
13
  - **TaoCopy** — кнопка копирования текста в буфер обмена
14
14
  - **TaoInput** — поле ввода с поддержкой v-model, валидации и слотов `#prefix` / `#suffix` (иконка или текст внутри рамки)
15
15
  - **TaoInputGroup** — склейка снаружи: `#before` | поле | `#after` (протокол, единица, кнопка)
16
16
  - **TaoModal** — модальное окно с анимацией и слотами
17
17
  - **TaoDrawer** — боковая панель (фильтры, настройки). Esc, клик по фону, ловушка фокуса — как у модалки
18
- - **TaoSpoiler** — раскрывающийся блок (аккордеон)
18
+ - **TaoSpoiler** — раскрывающийся блок. `v-model` и `aria-expanded`; несколько подряд — не exclusive-аккордеон
19
19
  - **TaoTabs** — вкладки для переключения между секциями контента
20
20
  - **TaoTooltip** — всплывающая подсказка при наведении
21
21
 
@@ -24,22 +24,23 @@
24
24
  - **TaoContainer** — контейнер с ограничением ширины (wide/slim/ultra-slim) и авто-центровкой
25
25
  - **TaoFlex** — обёртка над flexbox с пропами justify/align/direction/wrap/gap
26
26
  - **TaoSpace** — авто-расстановка дочерних элементов с равномерным gap
27
- - **TaoDivider** — разделитель: line (тонкая линия), text (линия с текстом), gap (пустой отступ)
27
+ - **TaoDivider** — разделитель: line (тонкая линия), text (линия с текстом), gap (пустой отступ, size: small/medium/large)
28
28
  - **TaoAnimatedBorder** — контейнер с анимированной радужной рамкой (декоративный, не завязан на тему)
29
29
 
30
30
  ### Формы и ввод
31
31
 
32
- - **TaoCheckbox** — чекбокс с поддержкой v-model и слотов pre/post
32
+ - **TaoCheckbox** — чекбокс с v-model, слотами pre/post и `indeterminate` (частично выбран)
33
33
  - **TaoSwitch** — переключатель для булевых настроек (`role="switch"`)
34
34
  - **TaoRadio** / **TaoRadioGroup** — взаимоисключающий выбор из 2–5 вариантов
35
- - **TaoSelect** — выпадающий список с клавиатурой, тот же визуал, что у Input
35
+ - **TaoSelect** — выпадающий список с клавиатурой, тот же визуал, что у Input. Сброс — «Очистить» в списке или Delete
36
+ - **TaoCombobox** — Select с полем: фильтр по вводу, `allow-create` пишет своё в `v-model`, `create` — чтобы родитель дополнил список
36
37
  - **TaoDate** — один день: `YYYY-MM-DD`, без часов и пояса. Календарь как у Select
37
38
  - **TaoFormField** — общие label / hint / error для полей формы
38
39
  - **TaoInputNumber** — число с min/max/step и кнопками ± справа. Пустое значение — `null`
39
40
  - **TaoQuantity** — количество в корзине: `− | поле | +`, целые штуки, сток, минус на минимуме может убрать строку
40
- - **TaoTextarea** — многострочное поле с авто-высотой и модификаторами (noBorder, noBackground, textCenter, submitOnEnter)
41
- - **TaoPinCode** — пин-код из N полей с авто-переходом фокуса между ними
42
- - **TaoSlider** — интерактивный слайдер (drag + клик), с опциональным точным вводом значения по правому клику
41
+ - **TaoTextarea** — многострочное поле с авто-высотой. `maxlength` ограничивает ввод, `count` показывает «введено / максимум»
42
+ - **TaoPinCode** — пин-код из N полей. По умолчанию клик стирает ячейку и все справа (`clear-on="focus"`); `clear-on="input"` заменяет цифру только при вводе. Последняя ячейка снимает фокус и эмитит `complete`
43
+ - **TaoSlider** — слайдер: мышь, тач и стрелки. Опциональный точный ввод по правому клику
43
44
  - **TaoFileDrop** — зона загрузки файлов (drag & drop + клик). Текст внутри — слот
44
45
 
45
46
  ### Отображение данных
@@ -51,10 +52,10 @@
51
52
  - **TaoSkeleton** — плейсхолдер загрузки (text / title / circle / rect)
52
53
  - **TaoCounter** — витрина числа с переворотом цифр (не инпут)
53
54
  - **TaoCarousel** — лента: целый слайд с `autoplay`, карточка с `peek`, полоса с `per-view`. Стрелки через `controls` или `#prev` / `#next`, точки — `dots`
54
- - **TaoAvatar** — фото или инициалы
55
+ - **TaoAvatar** — фото или инициалы, размеры `small` / `medium` / `large`. Точка `dot` и счётчик `count`
55
56
  - **TaoTag** — тег/бейдж со статусами (neutral, success, danger, warning, info)
56
57
  - **TaoAlert** — инлайн-баннер страницы или ошибки формы (success / error / warning / info)
57
- - **TaoProgress** — статичная полоса прогресса, опционально с shimmer-анимацией
58
+ - **TaoProgress** — статичная полоса (`progress` в %). Проценты сверху по центру или `showPercentage="right"` справа; слоты `#left` / `#right` — подписи, тогда процент справа в скобках. `false` прячет. Ширина — `minWidth` / `maxWidth`, не диапазон значения
58
59
  - **TaoLoader** — анимированный лоадер (четыре точки)
59
60
  - **TaoImage** — обёртка над `<img>` с плавным fade-in при загрузке и плейсхолдером
60
61
  - **TaoIcon** — обёртка для icon-шрифта (см. раздел «Иконки» ниже)
@@ -64,7 +65,7 @@
64
65
  - **TaoLink** — ссылка, использующая `<NuxtLink>` в Nuxt-проекте и обычный `<a>` вне его — без дополнительной настройки
65
66
  - **TaoBreadcrumb** — крошки: последний пункт — текущая страница
66
67
  - **TaoDropdownMenu** — выпадающее меню с авто-позиционированием у края экрана
67
- - **TaoScrollTop** — плавающая кнопка «наверх» с ripple-эффектом, появляется при обратном скролле
68
+ - **TaoScrollTop** — плавающая кнопка «наверх» с ripple. Появляется при обратном скролле после `boundary`
68
69
 
69
70
  ### Обратная связь
70
71
 
@@ -72,6 +73,16 @@
72
73
  - **confirm()** — вопрос с оверлеем: тот же fluent + `await`. Не тост — ждёт ответ, не исчезает сам.
73
74
  - **TaoToastViewport** / **TaoConfirmHost** — контейнеры; если их нет в разметке, первый вызов сам монтирует их в `body`
74
75
 
76
+ ## Соглашения
77
+
78
+ Тоны визуала: `success` | `danger` | `warning` | `info` | `neutral`.
79
+ `error` у Alert, Tag и `toast()` — синоним `danger`. Button уже `danger`.
80
+ Stages — это процесс, не тон: `wait` / `work` / `ok` / `bad` (`danger` принимается как `bad`).
81
+
82
+ Размеры контролов: `small` | `medium` | `large`.
83
+ Avatar понимает и короткие `s` / `m` / `l`. Divider `gap` раньше называл крупный размер `big` — это алиас `large`.
84
+ Container живёт на другой оси: `wide` / `slim` / `ultra-slim`.
85
+
75
86
  ## Иконки
76
87
 
77
88
  `TaoIcon` не поставляет собственный набор иконок — он рендерит класс `icon-<name>`
@@ -215,7 +226,11 @@ confirm.defaults({ ok: 'Yes', cancel: 'No' })
215
226
  <TaoAlert type="warning" title="Черновик">Сохраните, прежде чем уйти.</TaoAlert>
216
227
  ```
217
228
 
218
- `TaoSelect` открывается с клавиатуры (стрелки, Enter, Esc), список переворачивается у края экрана.
229
+ `TaoSelect` открывается с клавиатуры (стрелки, Enter, Esc), список переворачивается у края экрана. Delete или «Очистить» внизу списка сбрасывает значение в `null`.
230
+
231
+ `TaoCombobox` — то же меню, но с полем. Печатаете — варианты режутся. `allow-create` пишет введённое в `v-model`, если точного совпадения нет. Список сам не меняется: слушайте `create` и добавьте option снаружи.
232
+
233
+ `TaoFormField` также оборачивает `TaoTextarea` и `TaoCheckbox` — id, hint и error прокидываются сами.
219
234
 
220
235
  ## Таблица и пагинация
221
236
 
@@ -388,6 +403,8 @@ document.documentElement.setAttribute('data-tao-theme', 'light')
388
403
  ### Ключевые группы токенов
389
404
 
390
405
  - `--tao-color-accent*` — акцентный/брендовый цвет (кнопки primary, активные вкладки, ссылки)
406
+ - `--tao-color-on-accent` — текст на акцентном фоне (`--tao-color-text-on-accent` — алиас)
407
+ - `--tao-color-selection`, `--tao-color-selection-text` — выделение текста (`::selection`)
391
408
  - `--tao-color-surface*` — фоны контейнеров (обычный / приподнятый / утопленный / hover)
392
409
  - `--tao-color-border*` — границы
393
410
  - `--tao-color-text*` — текст (обычный / усиленный / приглушённый / disabled)