| // 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; |
| }; |