dothtml-interfaces 0.2.7 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/i-component.d.ts +1 -1
- package/src/i-dot.d.ts +8 -8
- package/src/i-reactive.d.ts +6 -2
- package/src/index.d.ts +4 -10
- package/src/styles/at-rules/i-at-color-profile-builder.d.ts +5 -0
- package/src/styles/at-rules/i-at-counter-style-builder.d.ts +15 -0
- package/src/styles/at-rules/i-at-font-family-builder.d.ts +19 -0
- package/src/styles/at-rules/i-at-font-palette-values.d.ts +6 -0
- package/src/styles/at-rules/i-at-keyframes-builder.d.ts +8 -0
- package/src/styles/at-rules/i-at-page-builder.d.ts +20 -0
- package/src/styles/css-types.d.ts +141 -0
- package/src/styles/i-css-prop.d.ts +295 -0
- package/src/styles/i-dot-css.d.ts +221 -0
- package/src/styles/i-filter-prop.d.ts +20 -0
- package/src/styles/i-shadow-prop.d.ts +12 -0
- package/src/styles/i-transformation-prop.d.ts +31 -0
- package/src/styles/mapped-types/angle-prop.d.ts +16 -0
- package/src/styles/mapped-types/color-props.d.ts +60 -0
- package/src/styles/mapped-types/length-prop.d.ts +18 -0
- package/src/i-dot-css.d.ts +0 -1484
package/package.json
CHANGED
package/src/i-component.d.ts
CHANGED
package/src/i-dot.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
import IComponent, { FrameworkItems } from "./i-component";
|
|
3
|
-
import IDotCss, { IDotcssProp } from "./i-dot-css";
|
|
3
|
+
import IDotCss, { IDotcssProp } from "./styles/i-dot-css";
|
|
4
4
|
import IEventBus from "./i-event-bus";
|
|
5
|
-
import IReactive from "./i-reactive";
|
|
5
|
+
import {IReactive} from "./i-reactive";
|
|
6
6
|
|
|
7
7
|
type DotContentPrimitive = string | number | boolean;
|
|
8
8
|
type DotContentBasic = DotContentPrimitive | Node | Element | NodeList | IComponent | IDotDocument//typeof DotDocument;
|
|
@@ -351,11 +351,11 @@ type Styles = string | IDotcssProp;
|
|
|
351
351
|
// hasEvents<T extends IComponent>(styles: Styles | Styles[]): (Base: new () => T) => new () => T;
|
|
352
352
|
// prop(target: any, propertyKey: string): void;
|
|
353
353
|
|
|
354
|
-
export type ComponentArgs<TProps extends Array<string
|
|
355
|
-
|
|
356
|
-
} & {
|
|
357
|
-
|
|
358
|
-
}
|
|
354
|
+
export type ComponentArgs<TProps extends Array<string> = [], TEvents extends Array<string> = []> = {
|
|
355
|
+
[key in TProps[number]]?: any;
|
|
356
|
+
} & Partial<{
|
|
357
|
+
[key in TEvents[number]]?: (...args: any[]) => void;
|
|
358
|
+
}>;
|
|
359
359
|
|
|
360
360
|
/**
|
|
361
361
|
* Interface for the dot object.
|
|
@@ -441,7 +441,7 @@ export interface IDotGlobalAttrs {
|
|
|
441
441
|
areaChecked?: AttrVal<string>;
|
|
442
442
|
areaSelected?: AttrVal<boolean>;
|
|
443
443
|
accessKey?: AttrVal<string>; // This could potentially be enumerated. But care should be taken as these types are already quite complex.
|
|
444
|
-
class?: AttrVal<string> | Array<AttrVal<string>> | AttrVal<Array<string>> | Record<string, AttrVal<
|
|
444
|
+
class?: AttrVal<string> | Array<AttrVal<string>> | AttrVal<Array<string>> | Record<string, AttrVal<boolean>>; // Space-separated. TODO: need tests.
|
|
445
445
|
contentEditable?: AttrVal<"true"> | AttrVal<"false"> | AttrVal<"plaintext-only">;
|
|
446
446
|
contextMenu?: AttrVal<string>;
|
|
447
447
|
dir?: AttrVal<string>;
|
package/src/i-reactive.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
export
|
|
2
|
+
export interface IReactive<Ti = any, To = Ti>{
|
|
3
3
|
// The untransformed value.
|
|
4
4
|
_value: Ti;
|
|
5
5
|
// Get the value.
|
|
@@ -12,10 +12,14 @@ export default interface IReactive<Ti = any, To = Ti>{
|
|
|
12
12
|
// If a key is not provided, identification is done automatically by the framework by comparing object references.
|
|
13
13
|
key: string;
|
|
14
14
|
// Optional transformer that can transform the input.
|
|
15
|
-
|
|
15
|
+
transform?: (input: Ti)=>To;
|
|
16
16
|
// subscribeNode(node: Node): number;
|
|
17
17
|
// subscribeAttr(node: HTMLElement, attributeName: string): number;
|
|
18
18
|
subscribeCallback(callback: (value: To)=>void): number;
|
|
19
19
|
detachBinding(id: number);
|
|
20
20
|
updateObservers(): void;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface IReactiveWatcher<T = any>{
|
|
24
|
+
observerUpdate(value: T, obsreverId: number): void;
|
|
21
25
|
}
|
package/src/index.d.ts
CHANGED
|
@@ -2,17 +2,11 @@ import { IDotCore } from "./i-dot";
|
|
|
2
2
|
|
|
3
3
|
export * from "./i-dot";
|
|
4
4
|
|
|
5
|
-
export { default as IDotCss } from "./i-dot-css";
|
|
6
|
-
export * from "./i-dot-css";
|
|
5
|
+
export { default as IDotCss } from "./styles/i-dot-css";
|
|
6
|
+
export * from "./styles/i-dot-css";
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
export { default as IComponent, FrameworkItems } from "./i-component";
|
|
10
10
|
|
|
11
|
-
export {
|
|
12
|
-
export { default as IEventBus } from "./i-event-bus";
|
|
13
|
-
|
|
14
|
-
declare global {
|
|
15
|
-
interface Window {
|
|
16
|
-
dot: IDotCore;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
11
|
+
export { IReactive, IReactiveWatcher } from "./i-reactive";
|
|
12
|
+
export { default as IEventBus } from "./i-event-bus";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type SystemValue = "cyclic"|"numeric"|"alphabetic"|"symbolic"|"additive"|`fixed ${number}`|`extends ${string}`;
|
|
2
|
+
export default interface IAtCounterStyleBuilder{
|
|
3
|
+
|
|
4
|
+
// TODO: need a testcase on this.
|
|
5
|
+
system?: SystemValue|["fixed", number]|["extends", string];
|
|
6
|
+
|
|
7
|
+
symbols?: string;
|
|
8
|
+
additiveSymbols?: string;
|
|
9
|
+
negative?: string;
|
|
10
|
+
prefix?: string;
|
|
11
|
+
suffix?: string;
|
|
12
|
+
range?: string;
|
|
13
|
+
pad?: string;
|
|
14
|
+
speakAs?: string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
type NormalOrPercentage = "normal" | number | `${string}%`;
|
|
3
|
+
type StretchValues = `${number}%`|number|"ultra-condensed"|"extra-condensed"|"condensed"|"semi-condensed"|"normal"|"semi-expanded"|"expanded"|"extra-expanded"|"ultra-expanded";
|
|
4
|
+
|
|
5
|
+
export default interface IAtFontFamilyBuilder{
|
|
6
|
+
ascentOverride?: string;
|
|
7
|
+
descentOverride?: NormalOrPercentage | [NormalOrPercentage] | [NormalOrPercentage, NormalOrPercentage];
|
|
8
|
+
fontDisplay?: "auto"|"block"|"swap"|"fallback"|"optional";
|
|
9
|
+
fontFamily: string;
|
|
10
|
+
fontStretch?: StretchValues | [StretchValues] | [StretchValues, StretchValues];
|
|
11
|
+
fontStyle?: "normal"|"italic"|"auto"|"oblique"|`oblique ${string}`;
|
|
12
|
+
fontWeight?: "normal"|"bold"|number|`${number}`;
|
|
13
|
+
fontFeatureSettings?: string;
|
|
14
|
+
fontVariationSettings?: string|string[];
|
|
15
|
+
lineGapOverride?: NormalOrPercentage | [NormalOrPercentage] | [NormalOrPercentage, NormalOrPercentage];
|
|
16
|
+
sizeAdjust?: `${number}%`|number;
|
|
17
|
+
src?: string;
|
|
18
|
+
unicodeRange?: string;
|
|
19
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import IDotcssProp from "../i-css-prop";
|
|
2
|
+
|
|
3
|
+
export default interface IAtPageBuilder extends IDotcssProp{
|
|
4
|
+
topLeftCorner: IDotcssProp;
|
|
5
|
+
topLeft: IDotcssProp;
|
|
6
|
+
topCenter: IDotcssProp;
|
|
7
|
+
topRight: IDotcssProp;
|
|
8
|
+
topRightCorner: IDotcssProp;
|
|
9
|
+
bottomLeftCorner: IDotcssProp;
|
|
10
|
+
bottomLeft: IDotcssProp;
|
|
11
|
+
bottomCenter: IDotcssProp;
|
|
12
|
+
bottomRight: IDotcssProp;
|
|
13
|
+
bottomRightCorner: IDotcssProp;
|
|
14
|
+
leftTop: IDotcssProp;
|
|
15
|
+
leftMiddle: IDotcssProp;
|
|
16
|
+
leftBottom: IDotcssProp;
|
|
17
|
+
rightTop: IDotcssProp;
|
|
18
|
+
rightMiddle: IDotcssProp;
|
|
19
|
+
rightBottom: IDotcssProp;
|
|
20
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { IReactive } from "../i-reactive";
|
|
2
|
+
|
|
3
|
+
// Global keyword values.
|
|
4
|
+
export type GKV = IReactive<string>|"inherit"|"initial"|"unset"|"revert"|"revert-layer";
|
|
5
|
+
|
|
6
|
+
export type ComplexType = string;
|
|
7
|
+
|
|
8
|
+
export type ValueOrReactive<T> = T|IReactive<T>;
|
|
9
|
+
|
|
10
|
+
// BASIC TYPES
|
|
11
|
+
export type Str = `"${string|""}"`|`'${string|""}'`; // TODO: wherever str is required, we could just inject quotes...
|
|
12
|
+
export type Int = number;
|
|
13
|
+
export type Percentage = `${number}%`;
|
|
14
|
+
export type AlphaValue = number | Percentage; // Number should be interpreted as a decimal (x/1);
|
|
15
|
+
export type Ratio = number|`${number}/${number}`;
|
|
16
|
+
|
|
17
|
+
// export type DigitStr = "0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9";
|
|
18
|
+
// export type HexStr = DigitStr|"A"|"B"|"C"|"D"|"E"|"F"|"a"|"b"|"c"|"d"|"e"|"f";
|
|
19
|
+
// export type Hex2 = `${HexStr}${HexStr}`;
|
|
20
|
+
// export type Hex3 = `${Hex2}${HexStr}`;
|
|
21
|
+
// export type Hex4 = `${Hex3}${HexStr}`;
|
|
22
|
+
// export type Hex5 = `${Hex4}${HexStr}`;
|
|
23
|
+
// export type Hex6 = `${Hex5}${HexStr}`;
|
|
24
|
+
// export type HexColor = `#${Hex3|Hex6}`;
|
|
25
|
+
export type HexColor = `#${ComplexType}`;
|
|
26
|
+
|
|
27
|
+
// LENGTH
|
|
28
|
+
// export type AbsoluteUnits = "cm"|"mm"|"in"|"px"|"pt"|"pc"|"Q";
|
|
29
|
+
// export type RelativeUnits = "cap"|"ch"|"em"|"ex"|"ic"|"lh"|"rem"|"rlh"
|
|
30
|
+
// |"vh"|"vw"|"vmin"|"vmax"|"vb"|"vi"
|
|
31
|
+
// |"cqw"|"cqh"|"cqi"|"cqb"|"cqmin"|"cqmax"
|
|
32
|
+
// |"%";
|
|
33
|
+
// export type AllLengthUnits = AbsoluteUnits|RelativeUnits;
|
|
34
|
+
// export type NumericLength = number|`${number}${AllLengthUnits}`;
|
|
35
|
+
// export type LengthPercentage = NumericLength|Percentage;
|
|
36
|
+
|
|
37
|
+
// TIME & FREQUENCY
|
|
38
|
+
export type Time = `${number}${"s"|"ms"}`;
|
|
39
|
+
export type TimePercentage = Time|Percentage;
|
|
40
|
+
export type Frequency = `${number}${"Hz"|"kHz"}`;
|
|
41
|
+
export type FrequencyPercentage = Frequency|Percentage;
|
|
42
|
+
|
|
43
|
+
// RESOLUTION
|
|
44
|
+
export type Resolution = `${number}${"dpi"|"dpcm"|"dppx"|"x"}`;
|
|
45
|
+
|
|
46
|
+
// MISC ENUM TYPES
|
|
47
|
+
export type AbsoluteSize = "xx-small"|"x-small"|"small"|"medium"|"large"|"x-large"|"xx-large"|"xxx-large";
|
|
48
|
+
export type BlendMode = "normal"|"multiply"|"screen"|"overlay"|"darken"|"lighten"|"color-dodge"|"color-burn"|"hard-light"|"soft-light"|"difference"|"exclusion"|"hue"|"saturation"|"color"|"luminosity";
|
|
49
|
+
export type LineStyle = "none"|"hidden"|"dotted"|"dashed"|"solid"|"double"|"groove"|"ridge"|"inset"|"outset";
|
|
50
|
+
export type DisplayBox = "contents"|"none"
|
|
51
|
+
export type DisplayInside = "flow"|"flow-root"|"table"|"flex"|"grid"|"ruby";
|
|
52
|
+
export type DisplayInternal = "table-row-group"|"table-header-group"|"table-footer-group"|"table-row"|"table-cell"|"table-column-group"|"table-column"|"table-caption"|"ruby-base"|"ruby-text"|"ruby-base-container"|"ruby-text-container";
|
|
53
|
+
export type DisplayLegacy = "inline-block"|"inline-table"|"inline-flex"|"inline-grid";
|
|
54
|
+
export type DisplayOutside = "block"|"inline"|"run-in";
|
|
55
|
+
export type DisplayFlow = "flow"|"flow-root";
|
|
56
|
+
export type Overflow = "visible"|"hidden"|"clip"|"scroll";
|
|
57
|
+
export type RelativeSize = "smaller"|"larger";
|
|
58
|
+
|
|
59
|
+
// BASIC SHAPE
|
|
60
|
+
// TODO need a builder.
|
|
61
|
+
// Most of these are too complex to represent as a typescript type.
|
|
62
|
+
// Realistically they should just be constructed usign a builder rather than setting the strings.
|
|
63
|
+
// https://developer.mozilla.org/en-US/docs/Web/CSS/basic-shape
|
|
64
|
+
export type InsetFunction = `inset(${ComplexType})`;
|
|
65
|
+
export type RectFunction = `rect(${ComplexType})`;
|
|
66
|
+
export type XywhFunction = `xywh(${ComplexType})`;
|
|
67
|
+
export type CircleFunction = `circle(${ComplexType})`;
|
|
68
|
+
export type EllipseFunction = `ellipse(${ComplexType})`;
|
|
69
|
+
export type PolygonFunction = `polygon(${ComplexType})`;
|
|
70
|
+
export type PathFunction = `path(${ComplexType})`;
|
|
71
|
+
export type BasicShape = InsetFunction|RectFunction|XywhFunction|CircleFunction|EllipseFunction|PolygonFunction|PathFunction;
|
|
72
|
+
|
|
73
|
+
// ANGLES
|
|
74
|
+
export type AngleUnits = "deg"|"turn"|"rad"|"grad";
|
|
75
|
+
export type Angle = number | `${number}${AngleUnits}`; // Pure number should be interpreted as degrees.
|
|
76
|
+
export type AnglePercentage = number | Angle | Percentage; // Number should be interpreted as a decimal (x/1);
|
|
77
|
+
|
|
78
|
+
// ADVANCED TYPES
|
|
79
|
+
// Box.
|
|
80
|
+
export type VisualBox = "content-box" | "padding-box" | "border-box"; // the three <box> values
|
|
81
|
+
export type RayoutBox = VisualBox | "margin-box" // the <shape-box> values
|
|
82
|
+
export type PaintBox = VisualBox | "fill-box" | "stroke-box"
|
|
83
|
+
export type CoordBox = VisualBox | "fill-box" | "stroke-box" | "view-box"
|
|
84
|
+
export type GeometryBox = RayoutBox | "fill-box" | "stroke-box" | "view-box"
|
|
85
|
+
export type BoxEdge = VisualBox | RayoutBox | PaintBox | CoordBox | GeometryBox;
|
|
86
|
+
|
|
87
|
+
// DIMENSION
|
|
88
|
+
// export type Dimension = Angle|Time|Frequency|NumericLength;
|
|
89
|
+
|
|
90
|
+
// Calc.
|
|
91
|
+
export type Calc = ComplexType;
|
|
92
|
+
|
|
93
|
+
// It's difficult to compose calc types because they're too complex. See below.
|
|
94
|
+
// May consider adding a builder for this, but not sure what it will look like.
|
|
95
|
+
|
|
96
|
+
/*
|
|
97
|
+
// Can't get this working because the types get too complex for TS.
|
|
98
|
+
// export type Decrement = [
|
|
99
|
+
// never, 0, 1, 2, 3, 4, 5, 6, 7
|
|
100
|
+
// ];
|
|
101
|
+
// export type CalcConstant = "e"|"-e"|"E"|"pi"|"-pi"|"infinity"|"-infinity"|"NaN"; // Defined on a different page. Not sure what it's for.
|
|
102
|
+
// export type CalcKeyword = 'e' | 'pi' | 'infinity' | '-infinity' | 'NaN';
|
|
103
|
+
// export type CalcValue = number | Percentage | Dimension | CalcKeyword;// | CalcSum;
|
|
104
|
+
// export type CalcProductSuffix<T extends CalcValue, Depth extends number> = Depth extends 0 ? string : `${"*"|"/"}${T}${CalcProductSuffix<T, Decrement[Depth]>}`;
|
|
105
|
+
// export type CalcSumSuffix<T extends CalcValue, Depth extends number> = Depth extends 0 ? string : `${"+"|"-"}${T}${CalcProductSuffix<T, 8>}`;
|
|
106
|
+
// // TODO: optional space can go here.
|
|
107
|
+
// export type CalcProduct<T extends CalcValue> = T|`${T}${CalcProductSuffix<T, 8>}`;
|
|
108
|
+
// export type CalcSum<T extends CalcValue> = CalcProduct<T>|`${CalcProduct<T>}${"+"|"-"}${CalcProduct<T>}`
|
|
109
|
+
// CalcValue export type definition
|
|
110
|
+
// Helper types for CalcProduct and CalcSum
|
|
111
|
+
// export type CalcOperation = '+' | '-' | '*' | '/';
|
|
112
|
+
// export type CalcProductPart = CalcValue | [CalcOperation, CalcValue];
|
|
113
|
+
*/
|
|
114
|
+
|
|
115
|
+
// Color Interpolation.
|
|
116
|
+
export type RectangularColorSpace = "srgb"|"srgb-linear"|"display-p3"|"a98-rgb"|"prophoto-rgb"|"rec2020"|"lab"|"oklab"|"xyz"|"xyz-d50"|"xyz-d65";
|
|
117
|
+
export type PolarColorSpace = "hsl"|"hwb"|"lch"|"oklch";
|
|
118
|
+
export type HueInterpolationMethod = `${"shorter"|"longer"|"increasing"|"decreasing"} hue`
|
|
119
|
+
export type ColorInterpolationMethod = RectangularColorSpace|PolarColorSpace|`${PolarColorSpace} ${HueInterpolationMethod}`;
|
|
120
|
+
|
|
121
|
+
export type Color = string;
|
|
122
|
+
|
|
123
|
+
// Display List Item
|
|
124
|
+
|
|
125
|
+
export type DisplayListItem =
|
|
126
|
+
| 'list-item'
|
|
127
|
+
| `${DisplayOutside} list-item`
|
|
128
|
+
| `list-item ${DisplayOutside}`
|
|
129
|
+
| `${DisplayFlow} list-item`
|
|
130
|
+
| `list-item ${DisplayFlow}`
|
|
131
|
+
| `${DisplayOutside} ${DisplayFlow} list-item`
|
|
132
|
+
| `${DisplayOutside} list-item ${DisplayFlow}`
|
|
133
|
+
| `${DisplayFlow} ${DisplayOutside} list-item`
|
|
134
|
+
| `${DisplayFlow} list-item ${DisplayOutside}`
|
|
135
|
+
| `list-item ${DisplayOutside} ${DisplayFlow}`
|
|
136
|
+
| `list-item ${DisplayFlow} ${DisplayOutside}`;
|
|
137
|
+
|
|
138
|
+
// ID
|
|
139
|
+
export type Ident = string;
|
|
140
|
+
export type CustomIdent = string;
|
|
141
|
+
export type DashedIdent = `--${string}`;
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
|
|
2
|
+
import { IReactive } from "../i-reactive";
|
|
3
|
+
import { GKV, ValueOrReactive } from "./css-types";
|
|
4
|
+
import IFilterProp from "./i-filter-prop";
|
|
5
|
+
import IShadowProp from "./i-shadow-prop";
|
|
6
|
+
import { ITransformationProp } from "./i-transformation-prop";
|
|
7
|
+
import ColorProp from "./mapped-types/color-props";
|
|
8
|
+
import LengthProp from "./mapped-types/length-prop";
|
|
9
|
+
|
|
10
|
+
type BackgroundPositionShorthand2D = string;
|
|
11
|
+
type BackgroundRepeatValues2d = "no-repeat"|"repeat"|"space"|"round";
|
|
12
|
+
type BorderShorthand = string;
|
|
13
|
+
type BorderStyles = "dotted"|"dashed"|"solid"|"double"|"groove"|"ridge"|"inset"|"outset"|"none"|"hidden";
|
|
14
|
+
type FlexShorthand = string;
|
|
15
|
+
type FlexFlowShorthand = string;
|
|
16
|
+
|
|
17
|
+
// This needs to be built in pieces. There's only so much I can do at once.
|
|
18
|
+
// Some of this was generated using AI. Each item needs to be manually checked.
|
|
19
|
+
// Once it's checked, we can add a ✔️ to the end of the line.
|
|
20
|
+
export default interface IDotcssProp extends
|
|
21
|
+
LengthProp<"blockSize"> ,
|
|
22
|
+
LengthProp<"borderBottomLeftRadius">,
|
|
23
|
+
LengthProp<"borderBottomRightRadius">,
|
|
24
|
+
LengthProp<"borderBottomWidth">,
|
|
25
|
+
LengthProp<"borderLeftWidth">,
|
|
26
|
+
LengthProp<"borderRightWidth">,
|
|
27
|
+
LengthProp<"borderTopLeftRadius">,
|
|
28
|
+
LengthProp<"borderTopRightRadius">,
|
|
29
|
+
LengthProp<"borderTopWidth">,
|
|
30
|
+
LengthProp<"bottom">,
|
|
31
|
+
LengthProp<"height">,
|
|
32
|
+
LengthProp<"left">,
|
|
33
|
+
LengthProp<"marginBottom">,
|
|
34
|
+
LengthProp<"marginLeft">,
|
|
35
|
+
LengthProp<"marginRight">,
|
|
36
|
+
LengthProp<"marginTop">,
|
|
37
|
+
LengthProp<"maxHeight">,
|
|
38
|
+
LengthProp<"maxWidth">,
|
|
39
|
+
LengthProp<"minHeight">,
|
|
40
|
+
LengthProp<"minWidth">,
|
|
41
|
+
LengthProp<"outlineOffset">,
|
|
42
|
+
LengthProp<"outlineWidth", 1, "medium"|"thin"|"thick">,
|
|
43
|
+
LengthProp<"paddingBottom">,
|
|
44
|
+
LengthProp<"paddingLeft">,
|
|
45
|
+
LengthProp<"paddingRight">,
|
|
46
|
+
LengthProp<"paddingTop">,
|
|
47
|
+
LengthProp<"right">,
|
|
48
|
+
LengthProp<"textIndent">,
|
|
49
|
+
LengthProp<"top">,
|
|
50
|
+
LengthProp<"width">,
|
|
51
|
+
LengthProp<"lineHeight">,
|
|
52
|
+
LengthProp<"fontSize">,
|
|
53
|
+
LengthProp<"flexBasis">,
|
|
54
|
+
LengthProp<"wordSpacing", 1, "normal">,
|
|
55
|
+
LengthProp<"borderImageWidth", 1|2|3|4>,
|
|
56
|
+
LengthProp<"borderRadius", 1|2|3|4>,
|
|
57
|
+
LengthProp<"borderWidth", 1|2|3|4>,
|
|
58
|
+
LengthProp<"margin", 1|2|3|4>,
|
|
59
|
+
LengthProp<"padding", 1|2|3|4>,
|
|
60
|
+
LengthProp<"backgroundSize", 1|2, "contain"|"cover"|"auto">,
|
|
61
|
+
LengthProp<"gap", 1|2>,
|
|
62
|
+
|
|
63
|
+
ColorProp<"color">,
|
|
64
|
+
ColorProp<"backgroundColor">,
|
|
65
|
+
ColorProp<"borderBottomColor">,
|
|
66
|
+
ColorProp<"borderColor">,
|
|
67
|
+
ColorProp<"borderLeftColor">,
|
|
68
|
+
ColorProp<"borderRightColor">,
|
|
69
|
+
ColorProp<"borderTopColor">,
|
|
70
|
+
ColorProp<"textDecorationColor">,
|
|
71
|
+
ColorProp<"outlineColor">,
|
|
72
|
+
ColorProp<"columnRuleColor">
|
|
73
|
+
{
|
|
74
|
+
|
|
75
|
+
//url:
|
|
76
|
+
backgroundImage?: ValueOrReactive<string>;
|
|
77
|
+
borderImage?: ValueOrReactive<string>;
|
|
78
|
+
listStyleImage?: ValueOrReactive<string>;
|
|
79
|
+
content?: ValueOrReactive<string>;
|
|
80
|
+
|
|
81
|
+
//complex:
|
|
82
|
+
transform?: ValueOrReactive<string>|ITransformationProp;
|
|
83
|
+
filter?: ValueOrReactive<string>|IFilterProp;
|
|
84
|
+
backdropFilter?: ValueOrReactive<string>|IFilterProp;
|
|
85
|
+
|
|
86
|
+
//misc numeric:
|
|
87
|
+
opacity?: ValueOrReactive<number|string>;
|
|
88
|
+
|
|
89
|
+
//misc:
|
|
90
|
+
all?: GKV;
|
|
91
|
+
appearance?: GKV|"none"|"menulist-button"|"textfield"|"button"|"searchfield"|"textarea"|"push-button"|"slider-horizontal"|"checkbox"|"radio"|"square-button"|"menulist"|"listbox"|"meter"|"progress-bar"|"scrollbarbutton-up"|"button-bevel"|"media-mute-button"|"caret"; // ✔️
|
|
92
|
+
aspectRatio?: ValueOrReactive<string>|{auto?:ValueOrReactive<boolean>, ratio: [ValueOrReactive<number>, ValueOrReactive<number>]|ValueOrReactive<number>}; // TODO: test case.
|
|
93
|
+
|
|
94
|
+
background?: GKV|string; // TODO: shorthand. Requires advanced typing.
|
|
95
|
+
backgroundAttachment?: GKV|"scroll"|"fixed"|"local"; // ✔️
|
|
96
|
+
backgroundBlendMode?: GKV|Array<IReactive<string>|"darken"|"luminocity"|"normal">; // ✔️
|
|
97
|
+
backgroundPosition?: GKV|BackgroundPositionShorthand2D;
|
|
98
|
+
backgroundRepeat?: GKV|BackgroundRepeatValues2d;
|
|
99
|
+
backgroundClip?: GKV|string;
|
|
100
|
+
backgroundOrigin?: GKV|"padding-box"|"border-box"|"content-box";
|
|
101
|
+
|
|
102
|
+
borderImageOutset?: GKV|string;
|
|
103
|
+
borderImageRepeat?: GKV|BackgroundRepeatValues2d;
|
|
104
|
+
borderImageSlice?: GKV|string;
|
|
105
|
+
borderImageSource?: GKV|string;
|
|
106
|
+
|
|
107
|
+
// TODO: probably should break this down better.
|
|
108
|
+
border?: GKV|BorderShorthand;
|
|
109
|
+
borderBottom?: GKV|BorderShorthand;
|
|
110
|
+
borderLeft?: GKV|BorderShorthand;
|
|
111
|
+
borderRight?: GKV|BorderShorthand;
|
|
112
|
+
borderTop?: GKV|BorderShorthand;
|
|
113
|
+
|
|
114
|
+
borderBottomStyle?: GKV|BorderStyles;
|
|
115
|
+
borderLeftStyle?: GKV|BorderStyles;
|
|
116
|
+
borderRightStyle?: GKV|BorderStyles;
|
|
117
|
+
borderStyle?: GKV|BorderStyles;
|
|
118
|
+
borderTopStyle?: GKV|BorderStyles;
|
|
119
|
+
|
|
120
|
+
boxDecorationBreak?: GKV|string;
|
|
121
|
+
boxShadow?: GKV|Array<IShadowProp>; // TODO tests.
|
|
122
|
+
clear?: GKV|string;
|
|
123
|
+
clip?: GKV|string;
|
|
124
|
+
display?: GKV|"inline"|"block"|"contents"|"flex"|"grid"|"inline-block"|"inline-flex"|"inline-grid"|"inline-table"|"list-item"|"run-in"|"table"|"table-caption"|"table-column-group"|"table-header-group"|"table-footer-group"|"table-row-group"|"table-cell"|"table-column"|"table-row"|"none"; // ✔️
|
|
125
|
+
float?: GKV|"left"|"right"|"none"|"inline-start"|"inline-end"; // ✔️
|
|
126
|
+
box?: GKV|string; // Can't find docs on this on MSDN.
|
|
127
|
+
overflow?: GKV|"visible"|"hidden"|"clip"|"scroll"|"auto"; // ✔️
|
|
128
|
+
overflowX?: GKV|"visible"|"hidden"|"clip"|"scroll"|"auto"; // ✔️
|
|
129
|
+
overflowY?: GKV|"visible"|"hidden"|"clip"|"scroll"|"auto"; // ✔️
|
|
130
|
+
position?: GKV|"static"|"relative"|"fixed"|"absolute"|"sticky"; // ✔️
|
|
131
|
+
visibility?: GKV|string;
|
|
132
|
+
verticalAlign?: GKV|string;
|
|
133
|
+
zIndex?: ValueOrReactive<number>;
|
|
134
|
+
alignContent?: GKV|string;
|
|
135
|
+
alignItems?: GKV|string;
|
|
136
|
+
alignSelf?: GKV|string;
|
|
137
|
+
flex?: GKV|FlexShorthand;
|
|
138
|
+
//flexBasis?: BasicCommonValues|FlexBasisNames;
|
|
139
|
+
flexDirection?: GKV|"row"|"row-reverse"|"column"|"column-reverse"; // ✔️
|
|
140
|
+
flexFlow?: GKV|FlexFlowShorthand;
|
|
141
|
+
flexGrow?: GKV|ValueOrReactive<number>; // ✔️
|
|
142
|
+
flexShrink?: GKV|ValueOrReactive<number>; // ✔️
|
|
143
|
+
flexWrap?: GKV|"nowrap"|"wrap"|"wrap-reverse"; // ✔️
|
|
144
|
+
grid?: GKV|string;
|
|
145
|
+
gridArea?: GKV|string;
|
|
146
|
+
gridAutoColumns?: GKV|string;
|
|
147
|
+
gridautoRows?: GKV|string;
|
|
148
|
+
gridColumn?: GKV|string;
|
|
149
|
+
gridColumnEnd?: GKV|string;
|
|
150
|
+
gridColumnGap?: GKV|string;
|
|
151
|
+
gridColumnStart?: GKV|string;
|
|
152
|
+
gridGap?: GKV|string;
|
|
153
|
+
gridRow?: GKV|string;
|
|
154
|
+
gridRowEnd?: GKV|string;
|
|
155
|
+
gridRowGap?: GKV|string;
|
|
156
|
+
gridRowStart?: GKV|string;
|
|
157
|
+
gridTemplate?: GKV|string;
|
|
158
|
+
gridTemplateAreas?: GKV|string;
|
|
159
|
+
gridTemplateColumns?: GKV|string;
|
|
160
|
+
gridTemplateRows?: GKV|string;
|
|
161
|
+
imageOrientation?: GKV|"from-image"|"none"|"flip"|string; // Note: flip may optionally be accompanied with an angle. This is a complex type.
|
|
162
|
+
justifyContent?: GKV|"flex-start"|"flex-end"|"center"|"space-between"|"space-around"|"space-evenly"|"start"|"end"|"left"|"right"|"safe flex-start"|"safe flex-end"|"safe center"|"safe space-between"|"safe space-around"|"safe space-evenly"|"unsafe flex-start"|"unsafe flex-end"|"unsafe center"|"unsafe space-between"|"unsafe space-around"|"unsafe space-evenly";
|
|
163
|
+
order?: GKV|number; // ✔️
|
|
164
|
+
hangingPunctuation?: GKV|"none"|"first"|"last"|"allow-end"|"force-end";
|
|
165
|
+
hyphens?: GKV|"none"|"manual"|"auto";
|
|
166
|
+
letterSpacing?: GKV|"normal"|"initial";
|
|
167
|
+
lineBreak?: GKV|"auto"|"loose"|"normal"|"strict"|"anywhere";
|
|
168
|
+
overflowWrap?: GKV|"normal"|"break-word"|"anywhere";
|
|
169
|
+
tabSize?: GKV|"auto";
|
|
170
|
+
textAlign?: GKV|"left"|"right"|"center"|"justify"|"start"|"end"|"match-parent";
|
|
171
|
+
textAlignLast?: GKV|"auto"|"left"|"right"|"center"|"justify"|"start"|"end"|"match-parent";
|
|
172
|
+
textCombineUpright?: GKV|"none"|"all"|"digits"|"upright";
|
|
173
|
+
textJustify?: GKV|"auto"|"inter-word"|"inter-character"|"none";
|
|
174
|
+
textTransform?: GKV|"none"|"capitalize"|"uppercase"|"lowercase"|"full-width"|"full-size-kana";
|
|
175
|
+
whiteSpace?: GKV|"normal"|"nowrap"|"pre"|"pre-wrap"|"pre-line"|"break-spaces";
|
|
176
|
+
wordBreak?: GKV|"normal"|"break-all"|"keep-all"|"break-word";
|
|
177
|
+
wordWrap?: GKV|"normal"|"break-word"|"anywhere";
|
|
178
|
+
textDecoration?: GKV|"none"|"underline"|"overline"|"line-through"|"blink";
|
|
179
|
+
textDecorationLine?: GKV|"none"|"underline"|"overline"|"line-through"|"blink";
|
|
180
|
+
textDecorationStyle?: GKV|"solid"|"double"|"dotted"|"dashed"|"wavy";
|
|
181
|
+
textShadow?: GKV|string; // Complex.
|
|
182
|
+
textUnderlinePosition?: GKV|"auto"|"under"|"left"|"right";
|
|
183
|
+
font?: GKV|string;
|
|
184
|
+
fontFamily?: GKV|string;
|
|
185
|
+
fontFeatureSettings?: GKV|"normal";
|
|
186
|
+
fontKerning?: GKV|"auto"|"normal"|"none";
|
|
187
|
+
fontLanguageOverride?: GKV|"normal";
|
|
188
|
+
fontSizeAdjust?: GKV|"none"|"auto";
|
|
189
|
+
fontStretch?: GKV|ValueOrReactive<number>|`${string}%`|"normal"|"ultra-condensed"|"extra-condensed"|"condensed"|"semi-condensed"|"semi-expanded"|"expanded"|"extra-expanded"|"ultra-expanded";
|
|
190
|
+
fontStyle?: GKV|"normal"|"italic"|"oblique";
|
|
191
|
+
fontSynthesis?: GKV|string;
|
|
192
|
+
fontVariant?: GKV|"normal"|"small-caps";
|
|
193
|
+
fontVariantAlternates?: GKV|string;
|
|
194
|
+
fontVariantCaps?: GKV|"all-small-caps"|"petite-caps"|"all-petite-caps"|"unicase"|"titling-caps";
|
|
195
|
+
fontVariantEastAsian?: GKV|string;
|
|
196
|
+
fontVariantLigatures?: GKV|string;
|
|
197
|
+
fontVariantNumeric?: GKV|string;
|
|
198
|
+
fontVariantPosition?: GKV|string;
|
|
199
|
+
fontWeight?: GKV|ValueOrReactive<number>|"normal"|"bold"|"bolder"|"lighter";
|
|
200
|
+
direction?: GKV|"ltr"|"rtl";
|
|
201
|
+
textOrientation?: GKV|string;
|
|
202
|
+
unicodeBidi?: GKV|string;
|
|
203
|
+
userSelect?: GKV|string;
|
|
204
|
+
writingMode?: GKV|string;
|
|
205
|
+
borderCollapse?: GKV|string;
|
|
206
|
+
borderSpacing?: GKV|string;
|
|
207
|
+
captionSide?: GKV|string;
|
|
208
|
+
emptyCells?: GKV|string;
|
|
209
|
+
tableLayout?: GKV|string;
|
|
210
|
+
counterIncrement?: GKV|string;
|
|
211
|
+
counterReset?: GKV|string;
|
|
212
|
+
listStyle?: GKV|string;
|
|
213
|
+
listStylePosition?: GKV|string;
|
|
214
|
+
listStyleType?: GKV|string;
|
|
215
|
+
animation?: GKV|string;
|
|
216
|
+
animationDelay?: GKV|string;
|
|
217
|
+
animationDirection?: GKV|string;
|
|
218
|
+
animationDuration?: GKV|string;
|
|
219
|
+
animationFillMode?: GKV|string;
|
|
220
|
+
animationIterationCount?: GKV|string;
|
|
221
|
+
animationName?: GKV|string;
|
|
222
|
+
animationPlayState?: GKV|string;
|
|
223
|
+
animationTimingFunction?: GKV|string;
|
|
224
|
+
backfaceVisibility?: GKV|"visible"|"hidden";
|
|
225
|
+
perspective2d?: GKV|string;
|
|
226
|
+
perspectiveOrigin?: GKV|string;
|
|
227
|
+
transformOrigin?: GKV|string;
|
|
228
|
+
transformStyle?: GKV|string;
|
|
229
|
+
transition?: GKV|string;
|
|
230
|
+
transitionProperty?: GKV|string;
|
|
231
|
+
transitionDuration?: GKV|string;
|
|
232
|
+
transitionTimingFunction?: GKV|string;
|
|
233
|
+
transitionDelay?: GKV|string;
|
|
234
|
+
boxSizing?: GKV|string;
|
|
235
|
+
cursor?: GKV|string;
|
|
236
|
+
imeMode?: GKV|string;
|
|
237
|
+
navDown?: GKV|string;
|
|
238
|
+
navIndex?: GKV|string;
|
|
239
|
+
navLeft?: GKV|string;
|
|
240
|
+
navRight?: GKV|string;
|
|
241
|
+
navUp?: GKV|string;
|
|
242
|
+
outline?: GKV|BorderShorthand;
|
|
243
|
+
//outlineOffset?: BasicCommonValues|string; // Now animated.
|
|
244
|
+
outlineStyle?: GKV|BorderStyles;
|
|
245
|
+
resize?: GKV|string;
|
|
246
|
+
textOverflow?: GKV|"clip"|"ellipsis";
|
|
247
|
+
breakAfter?: GKV|"auto"|"avoid"|"always"|"all"|"avoid-page"|"page"|"left"|"right"|"recto"|"verso";
|
|
248
|
+
breakBefore?: GKV|"auto"|"avoid"|"always"|"all"|"avoid-page"|"page"|"left"|"right"|"recto"|"verso";
|
|
249
|
+
breakInside?: GKV|"auto"|"avoid"|"avoid-page"|"avoid-column"|"avoid-region";
|
|
250
|
+
columnCount?: GKV|"auto"|"initial"|"inherit"|"unset"|"balance"|"auto-fill"|"auto-fit";
|
|
251
|
+
columnFill?: GKV|"auto"|"balance"|"balance-all"|"balance-none";
|
|
252
|
+
columnGap?: GKV|string;
|
|
253
|
+
columnRule?: GKV|string;
|
|
254
|
+
columnRuleStyle?: GKV|string;
|
|
255
|
+
columnRuleWidth?: GKV|string;
|
|
256
|
+
columnSpan?: GKV|string;
|
|
257
|
+
columnWidth?: GKV|string;
|
|
258
|
+
columns?: GKV|string;
|
|
259
|
+
widows?: GKV|string;
|
|
260
|
+
orphans?: GKV|string;
|
|
261
|
+
pageBreakAfter?: GKV|string;
|
|
262
|
+
pageBreakBefore?: GKV|string;
|
|
263
|
+
pageBreakInside?: GKV|string;
|
|
264
|
+
marks?: GKV|string;
|
|
265
|
+
quotes?: GKV|string;
|
|
266
|
+
imageRendering?: GKV|string;
|
|
267
|
+
imageResolution?: GKV|string;
|
|
268
|
+
objectFit?: GKV|string;
|
|
269
|
+
objectPosition?: GKV|string;
|
|
270
|
+
mask?: GKV|string;
|
|
271
|
+
maskType?: GKV|string;
|
|
272
|
+
mark?: GKV|string;
|
|
273
|
+
markAfter?: GKV|string;
|
|
274
|
+
markBefore?: GKV|string;
|
|
275
|
+
phonemes?: GKV|string;
|
|
276
|
+
rest?: GKV|string;
|
|
277
|
+
restAfter?: GKV|string;
|
|
278
|
+
restBefore?: GKV|string;
|
|
279
|
+
voiceBalance?: GKV|string;
|
|
280
|
+
voiceDuration?: GKV|string;
|
|
281
|
+
voicePitch?: GKV|string;
|
|
282
|
+
voicePitchRange?: GKV|string;
|
|
283
|
+
voiceRate?: GKV|string;
|
|
284
|
+
voiceStress?: GKV|string;
|
|
285
|
+
voiceVolume?: GKV|string;
|
|
286
|
+
pointerEvents?: GKV|"auto"|"none";
|
|
287
|
+
|
|
288
|
+
// Deprecated.
|
|
289
|
+
// marqueeDirection?: "up"|"down"|"left"|"right"|BasicCommonValues;
|
|
290
|
+
// marqueePlayCount?: ValueOrReactive<number>|BasicCommonValues;
|
|
291
|
+
// marqueeSpeed?: "slow"|"normal"|"fast"|BasicCommonValues;
|
|
292
|
+
// marqueeStyle?: BasicCommonValues|string;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
// export default IDotcssProp;
|