generated:catalog.entry.resizable.title
generated:catalog.entry.resizable.description
@xngui/components/resizableimport { XResizable, XResizablePanel } from '@xngui/components/resizable';chrome:demo.section
chrome:demo.preview
demo-preview:resizable.split-panels
Handle is added automatically — drag to resize, double-tap to reset.
demo-preview:resizable.primary-panel
Secondary — drag the handle or double-tap it.
demo-preview:resizable.edge-resize
VS Code–style workspace — sidebar resizes from the demo-preview:resizable.end edge.
demo-preview:resizable.resizable-demo-ts
Drag the sash on the sidebar edge. Double-tap to reset width to 280px or maximize to 480px.
import { Component } from '@angular/core';
import { XResizable, XResizablePanel } from '@xngui/components/resizable';
@Component({
selector: 'app-example',
imports: [XResizable, XResizablePanel],
templateUrl: './resizable.component.html',
})
export class ExampleComponent {}
chrome:demo.events.title
chrome:demo.events.empty
chrome:demo.api.title
[xResizable]
chrome:demo.api.col.property
chrome:demo.api.col.type
chrome:demo.api.col.default
chrome:demo.api.col.description
orientationXOrientation'horizontal'Split axis — `horizontal` places panels side by side.
edgeXPosition—Logical edge for single-element resize (`start` / `end` / `top` / `bottom`).
defaultSizenumber—Target size for `handleAction="reset"`.
minSizenumber—Minimum size in split % or element px.
maxSizenumber—Maximum size in split % or element px.
handleActionXResizableHandleAction'reset'Double-click / double-tap on the handle (VS Code–style).