UNPKG

1.24 kBTypeScriptView Raw
1import { Syringe } from 'mana-syringe';
2import { LayoutObject } from './LayoutObject';
3import { LayoutContext } from './LayoutContext';
4import type { LayoutFragment } from './LayoutFragment';
5export declare const FragmentResultFactory: Syringe.DefinedToken;
6export interface FragmentResultFactory {
7 (options: FragmentResultOptions): FragmentResult;
8}
9/**
10 * The web developer defined layout method can return either a FragmentResultOptions or a FragmentResult.
11 */
12export declare const FragmentResultOptions: Syringe.DefinedToken;
13export interface FragmentResultOptions<T = void> {
14 inlineSize: number;
15 blockSize: number;
16 autoBlockSize: number;
17 childFragments: LayoutFragment[];
18 data: T;
19}
20export declare const ContextNode: Syringe.DefinedToken;
21export declare class FragmentResult<T = void> {
22 protected readonly _layoutContext: LayoutContext;
23 protected readonly _node: LayoutObject;
24 protected readonly options: FragmentResultOptions<T>;
25 private layoutContext;
26 readonly inlineSize: number;
27 readonly blockSize: number;
28 private node;
29 childFragments: LayoutFragment[];
30 data: T;
31 constructor(_layoutContext: LayoutContext, _node: LayoutObject, options: FragmentResultOptions<T>);
32}