@1337exp/taoui 1.4.0 → 1.6.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
@@ -10,7 +10,7 @@ change a handful of CSS variables and the whole kit follows.
10
10
  ### Basics
11
11
 
12
12
  - **TaoBlock** — container with padding and radius
13
- - **TaoButton** — `primary` / `secondary` / `ghost` / `danger`, sizes and states
13
+ - **TaoButton** — `primary` / `secondary` / `ghost` / `text` / `danger`. `tone` tints ghost and text (danger, success, warning, info)
14
14
  - **TaoCard** — card with cover / header / footer slots. `#cover` can be a photo or `TaoCarousel`
15
15
  - **TaoCopy** — clipboard icon. After a click, a “Copied” tooltip; if the trigger is gone, the tooltip is too
16
16
  - **TaoInput** — text field with v-model, validation, and `#prefix` / `#suffix` slots (icon or text inside the frame)
@@ -29,6 +29,7 @@ change a handful of CSS variables and the whole kit follows.
29
29
  - **TaoFlex** — flexbox wrapper: justify / align / direction / wrap / gap
30
30
  - **TaoSpace** — even gap between children
31
31
  - **TaoDivider** — `line` (hairline), `text` (line with a label), `gap` (empty space, size: small / medium / large)
32
+ - **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.
32
33
  - **TaoFieldset** — grouped frame: `legend` sits on the top border, `align` is start / center / end
33
34
  - **TaoAnimatedBorder** — rainbow border wrapper (decorative, not tied to the theme)
34
35
 
@@ -162,6 +163,23 @@ import '@1337exp/taoui/styles.css'
162
163
  </template>
163
164
  ```
164
165
 
166
+ ## Split
167
+
168
+ `TaoSplit` is two panes and a gutter. It is not `TaoDivider` (a line) and not an n-pane layout: three columns are two nested splits.
169
+
170
+ `direction` matches Flex: `row` (start | end) or `column` (start above end). Slots are `#start` / `#end`.
171
+
172
+ `v-model` is the start pane size. `unit` is `%` (default — the ratio survives a container resize) or `px` (a sidebar; the end pane takes the rest). With `px`, pass an explicit size — the default `50` is 50px. `min` / `max` apply to start; `min-end` is the other pane's floor; all three use the same unit. `resizable="false"` keeps the gutter but locks it.
173
+
174
+ The split fills the parent (`width` / `height: 100%`). Give the parent a bounded size on the split axis — a `column` split without a height has no `%` to compute. Panes use `min-width` / `min-height: 0` and `overflow: hidden`, so content cannot block shrinking. Scroll belongs on an inner wrapper (`overflow: auto; height: 100%; min-height: 0`). A nested `TaoSplit` as a direct child of a pane stretches on its own.
175
+
176
+ ```vue
177
+ <TaoSplit v-model="side" unit="px" :min="160" :max="480" :min-end="240">
178
+ <template #start>Nav</template>
179
+ <template #end>Main</template>
180
+ </TaoSplit>
181
+ ```
182
+
165
183
  ## Toast
166
184
 
167
185
  The chain runs in the same tick; `setTimeout(0)` actually shows the toast.
package/README.ru.md CHANGED
@@ -10,7 +10,7 @@
10
10
  ### Базовые
11
11
 
12
12
  - **TaoBlock** — базовый контейнер с настраиваемыми отступами и скруглением
13
- - **TaoButton** — кнопка с вариантами (primary, secondary, ghost, danger), размерами и состояниями
13
+ - **TaoButton** — кнопка: `primary` / `secondary` / `ghost` / `text` / `danger`. `tone` красит ghost и text (danger, success, warning, info)
14
14
  - **TaoCard** — карточка со слотами cover / header / footer. В `#cover` — фото или `TaoCarousel`
15
15
  - **TaoCopy** — иконка копирования в буфер. После клика сверху тултип «Скопировано»; если кнопку убрали — тултип тоже
16
16
  - **TaoInput** — поле ввода с поддержкой v-model, валидации и слотов `#prefix` / `#suffix` (иконка или текст внутри рамки)
@@ -29,6 +29,7 @@
29
29
  - **TaoFlex** — обёртка над flexbox с пропами justify/align/direction/wrap/gap
30
30
  - **TaoSpace** — авто-расстановка дочерних элементов с равномерным gap
31
31
  - **TaoDivider** — разделитель: line (тонкая линия), text (линия с текстом), gap (пустой отступ, size: small/medium/large)
32
+ - **TaoSplit** — две панели и полоса. `row` / `column` как у Flex. `v-model` — размер start в `%` или `px`; `resizable="false"` фиксирует полосу. Не Divider.
32
33
  - **TaoFieldset** — рамка-группа: `legend` сидит на верхней границе, `align` — start / center / end
33
34
  - **TaoAnimatedBorder** — контейнер с анимированной радужной рамкой (декоративный, не завязан на тему)
34
35
 
@@ -163,6 +164,23 @@ import '@1337exp/taoui/styles.css'
163
164
  </template>
164
165
  ```
165
166
 
167
+ ## Split
168
+
169
+ `TaoSplit` — две панели и полоса между ними. Это не `TaoDivider` (там только линия) и не раскладка на N панелей: три колонки — два вложенных сплита.
170
+
171
+ `direction` как у Flex: `row` (start | end) или `column` (start над end). Слоты `#start` / `#end`.
172
+
173
+ `v-model` — размер панели start. `unit` — `%` (по умолчанию, доля живёт при ресайзе контейнера) или `px` (сайдбар; вторая панель забирает остаток). Для `px` размер нужно задать явно: дефолт `50` — это 50px. `min` / `max` ограничивают start, `min-end` — минимум второй панели, все в той же единице. `resizable="false"` оставляет полосу, но без перетаскивания.
174
+
175
+ Сплит заполняет родителя (`width` / `height: 100%`). Родитель должен ограничить размер по оси сплита: у `column` без высоты не из чего считать `%`. Панели с `min-width` / `min-height: 0` и `overflow: hidden`, чтобы контент не мешал сжатию. Скролл — на внутренней обёртке (`overflow: auto; height: 100%; min-height: 0`). Вложенный `TaoSplit` прямым ребёнком панели растягивается сам.
176
+
177
+ ```vue
178
+ <TaoSplit v-model="side" unit="px" :min="160" :max="480" :min-end="240">
179
+ <template #start>Навигация</template>
180
+ <template #end>Основное</template>
181
+ </TaoSplit>
182
+ ```
183
+
166
184
  ## Toast
167
185
 
168
186
  Вызов — цепочка в одном тике, `setTimeout(0)` отправляет уведомление.