Theme: ← Übersicht Tokens

Teilbare Fläche (Split-Panes)

Zwei Bereiche mit ziehbarem Teiler (horizontal oder vertikal) — Maus/Touch per Pointer-Capture, Tastatur mit Pfeiltasten, Grenzen über min/max

Components v1.0.0 Desktop AppDesktop component.resizable

Beispiele

Nebeneinander (Teiler ziehen oder fokussieren + Pfeiltasten)
Navigation / Baum
Inhalt — der erste Bereich startet bei 35 % (Grenzen 20–80 %).
Übereinander (vertical)
Editor
Konsole / Vorschau

Eigenschaften

PropTypDefaultBuilder-Label
orientationstring: horizontal | vertical"horizontal"Richtung (horizontal = nebeneinander)
initialnumber50Startaufteilung erster Bereich (%)
minnumber20Minimum erster Bereich (%)
maxnumber80Maximum erster Bereich (%)
heightstring""Feste Höhe (z. B. 320px — Pflicht bei vertical)

* Pflicht-Prop

Events & Slots

Events: ⚡ resize — im Surface per on: {<event>: {action, params}} verdrahtbar.

Slot start: akzeptiert ui.*, component.*, layout.*

Slot end: akzeptiert ui.*, component.*, layout.*

Stellschrauben (Komponenten-Tokens)

Ebene 3 — aus dem CSS generiert (Registry). Umverdrahtbar per Hüllen-Komposition, ohne Markup-Eingriff; künftige Regler-Quelle des Component Builders.

TokenDefault
--resizable-dividervar(--color-border-default)
--resizable-divider-activevar(--color-action-primary)

Genutzte Design-Tokens

border.emphasisborder.hairlinecolor.action.primarycolor.border.defaultcolor.border.subtleduration.fasteasing.standardfont.family.defaultradius.fullradius.surfacesize.3size.8

LLM-Notizen

component.resizable

Zwei Bereiche mit ziehbarem Teiler (Split-Panes) — Werkzeug-Layouts (Baum + Inhalt, Editor + Vorschau). Maus/Touch per Pointer-Capture, Tastatur über den fokussierbaren Teiler (Pfeiltasten, ±2 %). Event resize {percent}.

Wichtige Props

  • orientation (horizontal = nebeneinander | vertical), initial/min/max (% des ersten Bereichs), height (geprüfter Längenwert — bei vertical Pflicht, sonst hat der Container keine Höhe).
  • Slots start + end. Stellschrauben: --resizable-divider, --resizable-divider-active.

Beispiel-Node


{
  "definition": "component.resizable",
  "props": { "initial": 30, "height": "400px" },
  "slots": { "start": [{ "definition": "component.tree", "props": { "…": "…" } }], "end": [{ "definition": "component.table", "props": { "…": "…" } }] }
}