Download src/ink/layout/node.ts from chenbhao/codev: direct link, hf CLI and curl.
- Browser
- Download file 4.35 kB
-
https://huggingface.co/chenbhao/codev/resolve/main/src/ink/layout/node.ts
- Command line
-
hf download hf://chenbhao/codev/src/ink/layout/node.ts
-
curl -L -o node.ts https://huggingface.co/chenbhao/codev/resolve/main/src/ink/layout/node.ts
4.35 kB
| // -- | |
| // Adapter interface for the layout engine (Yoga) | |
| export const LayoutEdge = { | |
| All: 'all', | |
| Horizontal: 'horizontal', | |
| Vertical: 'vertical', | |
| Left: 'left', | |
| Right: 'right', | |
| Top: 'top', | |
| Bottom: 'bottom', | |
| Start: 'start', | |
| End: 'end', | |
| } as const | |
| export type LayoutEdge = (typeof LayoutEdge)[keyof typeof LayoutEdge] | |
| export const LayoutGutter = { | |
| All: 'all', | |
| Column: 'column', | |
| Row: 'row', | |
| } as const | |
| export type LayoutGutter = (typeof LayoutGutter)[keyof typeof LayoutGutter] | |
| export const LayoutDisplay = { | |
| Flex: 'flex', | |
| None: 'none', | |
| } as const | |
| export type LayoutDisplay = (typeof LayoutDisplay)[keyof typeof LayoutDisplay] | |
| export const LayoutFlexDirection = { | |
| Row: 'row', | |
| RowReverse: 'row-reverse', | |
| Column: 'column', | |
| ColumnReverse: 'column-reverse', | |
| } as const | |
| export type LayoutFlexDirection = | |
| (typeof LayoutFlexDirection)[keyof typeof LayoutFlexDirection] | |
| export const LayoutAlign = { | |
| Auto: 'auto', | |
| Stretch: 'stretch', | |
| FlexStart: 'flex-start', | |
| Center: 'center', | |
| FlexEnd: 'flex-end', | |
| } as const | |
| export type LayoutAlign = (typeof LayoutAlign)[keyof typeof LayoutAlign] | |
| export const LayoutJustify = { | |
| FlexStart: 'flex-start', | |
| Center: 'center', | |
| FlexEnd: 'flex-end', | |
| SpaceBetween: 'space-between', | |
| SpaceAround: 'space-around', | |
| SpaceEvenly: 'space-evenly', | |
| } as const | |
| export type LayoutJustify = (typeof LayoutJustify)[keyof typeof LayoutJustify] | |
| export const LayoutWrap = { | |
| NoWrap: 'nowrap', | |
| Wrap: 'wrap', | |
| WrapReverse: 'wrap-reverse', | |
| } as const | |
| export type LayoutWrap = (typeof LayoutWrap)[keyof typeof LayoutWrap] | |
| export const LayoutPositionType = { | |
| Relative: 'relative', | |
| Absolute: 'absolute', | |
| } as const | |
| export type LayoutPositionType = | |
| (typeof LayoutPositionType)[keyof typeof LayoutPositionType] | |
| export const LayoutOverflow = { | |
| Visible: 'visible', | |
| Hidden: 'hidden', | |
| Scroll: 'scroll', | |
| } as const | |
| export type LayoutOverflow = | |
| (typeof LayoutOverflow)[keyof typeof LayoutOverflow] | |
| export type LayoutMeasureFunc = ( | |
| width: number, | |
| widthMode: LayoutMeasureMode, | |
| ) => { width: number; height: number } | |
| export const LayoutMeasureMode = { | |
| Undefined: 'undefined', | |
| Exactly: 'exactly', | |
| AtMost: 'at-most', | |
| } as const | |
| export type LayoutMeasureMode = | |
| (typeof LayoutMeasureMode)[keyof typeof LayoutMeasureMode] | |
| export type LayoutNode = { | |
| // Tree | |
| insertChild(child: LayoutNode, index: number): void | |
| removeChild(child: LayoutNode): void | |
| getChildCount(): number | |
| getParent(): LayoutNode | null | |
| // Layout computation | |
| calculateLayout(width?: number, height?: number): void | |
| setMeasureFunc(fn: LayoutMeasureFunc): void | |
| unsetMeasureFunc(): void | |
| markDirty(): void | |
| // Layout reading (post-layout) | |
| getComputedLeft(): number | |
| getComputedTop(): number | |
| getComputedWidth(): number | |
| getComputedHeight(): number | |
| getComputedBorder(edge: LayoutEdge): number | |
| getComputedPadding(edge: LayoutEdge): number | |
| // Style setters | |
| setWidth(value: number): void | |
| setWidthPercent(value: number): void | |
| setWidthAuto(): void | |
| setHeight(value: number): void | |
| setHeightPercent(value: number): void | |
| setHeightAuto(): void | |
| setMinWidth(value: number): void | |
| setMinWidthPercent(value: number): void | |
| setMinHeight(value: number): void | |
| setMinHeightPercent(value: number): void | |
| setMaxWidth(value: number): void | |
| setMaxWidthPercent(value: number): void | |
| setMaxHeight(value: number): void | |
| setMaxHeightPercent(value: number): void | |
| setFlexDirection(dir: LayoutFlexDirection): void | |
| setFlexGrow(value: number): void | |
| setFlexShrink(value: number): void | |
| setFlexBasis(value: number): void | |
| setFlexBasisPercent(value: number): void | |
| setFlexWrap(wrap: LayoutWrap): void | |
| setAlignItems(align: LayoutAlign): void | |
| setAlignSelf(align: LayoutAlign): void | |
| setJustifyContent(justify: LayoutJustify): void | |
| setDisplay(display: LayoutDisplay): void | |
| getDisplay(): LayoutDisplay | |
| setPositionType(type: LayoutPositionType): void | |
| setPosition(edge: LayoutEdge, value: number): void | |
| setPositionPercent(edge: LayoutEdge, value: number): void | |
| setOverflow(overflow: LayoutOverflow): void | |
| setMargin(edge: LayoutEdge, value: number): void | |
| setPadding(edge: LayoutEdge, value: number): void | |
| setBorder(edge: LayoutEdge, value: number): void | |
| setGap(gutter: LayoutGutter, value: number): void | |
| // Lifecycle | |
| free(): void | |
| freeRecursive(): void | |
| } | |