144 lines
3.8 KiB
Text
144 lines
3.8 KiB
Text
// GENERATED CONTENT - DO NOT EDIT
|
|
// Content was automatically extracted by Reffy into webref
|
|
// (https://github.com/w3c/webref)
|
|
// Source: CSS Layout API Level 1 (https://drafts.css-houdini.org/css-layout-api-1/)
|
|
|
|
partial namespace CSS {
|
|
[SameObject] readonly attribute Worklet layoutWorklet;
|
|
};
|
|
|
|
[Global=(Worklet,LayoutWorklet),Exposed=LayoutWorklet]
|
|
interface LayoutWorkletGlobalScope : WorkletGlobalScope {
|
|
undefined registerLayout(DOMString name, VoidFunction layoutCtor);
|
|
};
|
|
|
|
dictionary LayoutOptions {
|
|
ChildDisplayType childDisplay = "block";
|
|
LayoutSizingMode sizing = "block-like";
|
|
};
|
|
|
|
enum ChildDisplayType {
|
|
"block", // default - "blockifies" the child boxes.
|
|
"normal",
|
|
};
|
|
|
|
enum LayoutSizingMode {
|
|
"block-like", // default - Sizing behaves like block containers.
|
|
"manual", // Sizing is specified by the web developer.
|
|
};
|
|
|
|
[Exposed=LayoutWorklet]
|
|
interface LayoutChild {
|
|
readonly attribute StylePropertyMapReadOnly styleMap;
|
|
|
|
Promise<IntrinsicSizes> intrinsicSizes();
|
|
Promise<LayoutFragment> layoutNextFragment(LayoutConstraintsOptions constraints, ChildBreakToken breakToken);
|
|
};
|
|
|
|
[Exposed=LayoutWorklet]
|
|
interface LayoutFragment {
|
|
readonly attribute double inlineSize;
|
|
readonly attribute double blockSize;
|
|
|
|
attribute double inlineOffset;
|
|
attribute double blockOffset;
|
|
|
|
readonly attribute any data;
|
|
|
|
readonly attribute ChildBreakToken? breakToken;
|
|
};
|
|
|
|
[Exposed=LayoutWorklet]
|
|
interface IntrinsicSizes {
|
|
readonly attribute double minContentSize;
|
|
readonly attribute double maxContentSize;
|
|
};
|
|
|
|
[Exposed=LayoutWorklet]
|
|
interface LayoutConstraints {
|
|
readonly attribute double availableInlineSize;
|
|
readonly attribute double availableBlockSize;
|
|
|
|
readonly attribute double? fixedInlineSize;
|
|
readonly attribute double? fixedBlockSize;
|
|
|
|
readonly attribute double percentageInlineSize;
|
|
readonly attribute double percentageBlockSize;
|
|
|
|
readonly attribute double? blockFragmentationOffset;
|
|
readonly attribute BlockFragmentationType blockFragmentationType;
|
|
|
|
readonly attribute any data;
|
|
};
|
|
|
|
enum BlockFragmentationType { "none", "page", "column", "region" };
|
|
|
|
dictionary LayoutConstraintsOptions {
|
|
double availableInlineSize;
|
|
double availableBlockSize;
|
|
|
|
double fixedInlineSize;
|
|
double fixedBlockSize;
|
|
|
|
double percentageInlineSize;
|
|
double percentageBlockSize;
|
|
|
|
double blockFragmentationOffset;
|
|
BlockFragmentationType blockFragmentationType = "none";
|
|
|
|
any data;
|
|
};
|
|
|
|
[Exposed=LayoutWorklet]
|
|
interface ChildBreakToken {
|
|
readonly attribute BreakType breakType;
|
|
readonly attribute LayoutChild child;
|
|
};
|
|
|
|
[Exposed=LayoutWorklet]
|
|
interface BreakToken {
|
|
readonly attribute FrozenArray<ChildBreakToken> childBreakTokens;
|
|
readonly attribute any data;
|
|
};
|
|
|
|
dictionary BreakTokenOptions {
|
|
sequence<ChildBreakToken> childBreakTokens;
|
|
any data = null;
|
|
};
|
|
|
|
enum BreakType { "none", "line", "column", "page", "region" };
|
|
|
|
[Exposed=LayoutWorklet]
|
|
interface LayoutEdges {
|
|
readonly attribute double inlineStart;
|
|
readonly attribute double inlineEnd;
|
|
|
|
readonly attribute double blockStart;
|
|
readonly attribute double blockEnd;
|
|
|
|
// Convenience attributes for the sum in one direction.
|
|
readonly attribute double inline;
|
|
readonly attribute double block;
|
|
};
|
|
|
|
// This is the final return value from the author defined layout() method.
|
|
dictionary FragmentResultOptions {
|
|
double inlineSize = 0;
|
|
double blockSize = 0;
|
|
double autoBlockSize = 0;
|
|
sequence<LayoutFragment> childFragments = [];
|
|
any data = null;
|
|
BreakTokenOptions breakToken = null;
|
|
};
|
|
|
|
[Exposed=LayoutWorklet]
|
|
interface FragmentResult {
|
|
constructor(optional FragmentResultOptions options = {});
|
|
readonly attribute double inlineSize;
|
|
readonly attribute double blockSize;
|
|
};
|
|
|
|
dictionary IntrinsicSizesResultOptions {
|
|
double maxContentSize;
|
|
double minContentSize;
|
|
};
|