@1337exp/taoui 1.6.1 → 1.8.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/README.md CHANGED
@@ -28,6 +28,7 @@ change a handful of CSS variables and the whole kit follows.
28
28
  - **TaoContainer** — max-width (wide / slim / ultra-slim) and centering
29
29
  - **TaoFlex** — flexbox wrapper: justify / align / direction / wrap / gap
30
30
  - **TaoSpace** — even gap between children
31
+ - **TaoGrid** / **TaoGridItem** — tiles: `min` is a catalog (auto-fill), `cols` is bento. Item `col` / `row` span; below ~560px span resets. Not masonry
31
32
  - **TaoDivider** — `line` (hairline), `text` (line with a label), `gap` (empty space, size: small / medium / large)
32
33
  - **TaoSplit** — two panes and a gutter. `row` / `column` like Flex. `v-model` is the start size in `%` or `px`; `resizable="false"` locks the gutter. Not Divider.
33
34
  - **TaoFieldset** — grouped frame: `legend` sits on the top border, `align` is start / center / end
@@ -56,6 +57,7 @@ change a handful of CSS variables and the whole kit follows.
56
57
  - **TaoTable** — simple table: columns, empty, loading, sort via `v-model:sort`. Not a datagrid.
57
58
  - **TaoPagination** — pages with ellipsis. Clicking “…” jumps `jump` pages (5 by default)
58
59
  - **TaoEmpty** — empty list, no results, no access
60
+ - **TaoList** / **TaoListItem** — list row: icon, title, caption, hover action. Not Select, not a table
59
61
  - **TaoStages** — stage list: `wait` / `work` / `ok` / `bad`. Not a linear stepper
60
62
  - **TaoSkeleton** — loading placeholder (text / title / circle / rect)
61
63
  - **TaoCounter** — flipping digits (not an input)
@@ -91,6 +93,9 @@ Control sizes: `small` | `medium` | `large`.
91
93
  Avatar also accepts short `s` / `m` / `l`. Divider `gap` used to call the large size `big` — that is an alias of `large`.
92
94
  Container lives on another axis: `wide` / `slim` / `ultra-slim`.
93
95
 
96
+ Font size scale (primitives): `xs` 12 … `xl` 18 for controls; `2xl` 24, `3xl` 32, `4xl` 36 for titles and prose.
97
+ There is no heading component — use `h1 { font-size: var(--tao-font-size-3xl) }`.
98
+
94
99
  ## Icons
95
100
 
96
101
  `TaoIcon` does not ship its own set — it renders `icon-<name>`
@@ -329,6 +334,20 @@ The `cell-<key>` slot replaces a cell. `loading` shows an overlay; an empty list
329
334
  { key: 'pack', label: 'Packing', status: 'work' },
330
335
  { key: 'ship', label: 'Shipping', status: 'wait' },
331
336
  ]" />
337
+
338
+ <TaoList>
339
+ <TaoListItem
340
+ title="Ann Kozlova"
341
+ description="Design · Moscow"
342
+ clickable
343
+ :selected="picked === 'ann'"
344
+ @click="picked = 'ann'"
345
+ >
346
+ <template #prefix>
347
+ <TaoAvatar name="Ann Kozlova" size="small" />
348
+ </template>
349
+ </TaoListItem>
350
+ </TaoList>
332
351
  ```
333
352
 
334
353
  ```vue
@@ -461,6 +480,7 @@ document.documentElement.setAttribute('data-tao-theme', 'light')
461
480
  - `--tao-color-input-*` — fields, because input bg/text often differs from surface/text
462
481
  - `--tao-radius-control`, `--tao-radius-panel` — radii (small controls vs large panels)
463
482
  - `--tao-shadow-panel`, `--tao-shadow-overlay` — shadows
483
+ - `--tao-font-size-*` — type scale in `primitives.css`: `xs`–`xl` controls, `2xl`–`4xl` titles / prose
464
484
 
465
485
  The full list lives in `src/styles/semantic.css` — the only file worth opening
466
486
  to see the whole theming API.
package/README.ru.md CHANGED
@@ -28,6 +28,7 @@
28
28
  - **TaoContainer** — контейнер с ограничением ширины (wide/slim/ultra-slim) и авто-центровкой
29
29
  - **TaoFlex** — обёртка над flexbox с пропами justify/align/direction/wrap/gap
30
30
  - **TaoSpace** — авто-расстановка дочерних элементов с равномерным gap
31
+ - **TaoGrid** / **TaoGridItem** — плитки: `min` — каталог (auto-fill), `cols` — bento. У item `col` / `row`; уже ~560px span сбрасывается. Не masonry
31
32
  - **TaoDivider** — разделитель: line (тонкая линия), text (линия с текстом), gap (пустой отступ, size: small/medium/large)
32
33
  - **TaoSplit** — две панели и полоса. `row` / `column` как у Flex. `v-model` — размер start в `%` или `px`; `resizable="false"` фиксирует полосу. Не Divider.
33
34
  - **TaoFieldset** — рамка-группа: `legend` сидит на верхней границе, `align` — start / center / end
@@ -56,6 +57,7 @@
56
57
  - **TaoTable** — простая таблица: колонки, empty, loading, сортировка через `v-model:sort`. Не datagrid.
57
58
  - **TaoPagination** — страницы с многоточием. Клик по «…» прыгает на `jump` страниц (5 по умолчанию)
58
59
  - **TaoEmpty** — пустой список, нет результатов, нет прав
60
+ - **TaoList** / **TaoListItem** — строка списка: иконка, заголовок, подпись, действие по ховеру. Не Select и не таблица
59
61
  - **TaoStages** — список стадий: `wait` / `work` / `ok` / `bad`. Не линейный степпер
60
62
  - **TaoSkeleton** — плейсхолдер загрузки (text / title / circle / rect)
61
63
  - **TaoCounter** — витрина числа с переворотом цифр (не инпут)
@@ -91,6 +93,9 @@ Stages — это процесс, не тон: `wait` / `work` / `ok` / `bad` (`
91
93
  Avatar понимает и короткие `s` / `m` / `l`. Divider `gap` раньше называл крупный размер `big` — это алиас `large`.
92
94
  Container живёт на другой оси: `wide` / `slim` / `ultra-slim`.
93
95
 
96
+ Шкала кегля (примитивы): `xs` 12 … `xl` 18 для контролов; `2xl` 24, `3xl` 32, `4xl` 36 для заголовков и прозы.
97
+ Отдельного компонента заголовка нет — `h1 { font-size: var(--tao-font-size-3xl) }`.
98
+
94
99
  ## Иконки
95
100
 
96
101
  `TaoIcon` не поставляет собственный набор иконок — он рендерит класс `icon-<name>`
@@ -330,6 +335,20 @@ const columns = [
330
335
  { key: 'pack', label: 'Сборка', status: 'work' },
331
336
  { key: 'ship', label: 'Доставка', status: 'wait' },
332
337
  ]" />
338
+
339
+ <TaoList>
340
+ <TaoListItem
341
+ title="Анна Козлова"
342
+ description="Дизайн · Москва"
343
+ clickable
344
+ :selected="picked === 'anna'"
345
+ @click="picked = 'anna'"
346
+ >
347
+ <template #prefix>
348
+ <TaoAvatar name="Анна Козлова" size="small" />
349
+ </template>
350
+ </TaoListItem>
351
+ </TaoList>
333
352
  ```
334
353
 
335
354
  ```vue
@@ -464,6 +483,7 @@ document.documentElement.setAttribute('data-tao-theme', 'light')
464
483
  - `--tao-color-input-*` — поля ввода отдельно, т.к. фон/текст полей часто не совпадают с surface/text
465
484
  - `--tao-radius-control`, `--tao-radius-panel` — скругления (мелкие контролы vs крупные панели)
466
485
  - `--tao-shadow-panel`, `--tao-shadow-overlay` — тени
486
+ - `--tao-font-size-*` — шкала кегля в `primitives.css`: `xs`–`xl` контролы, `2xl`–`4xl` заголовки / проза
467
487
 
468
488
  Полный список — в `src/styles/semantic.css`, он же единственный файл,
469
489
  который стоит открыть, чтобы понять весь доступный API темизации.