1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
// 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;
};
|