dothtml-interfaces 0.2.3 → 0.2.5
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 +11 -1
- package/src/i-dot-css.d.ts +26 -24
- package/src/i-dot.d.ts +13 -10
package/package.json
CHANGED
package/src/i-component.d.ts
CHANGED
|
@@ -26,13 +26,23 @@ export interface FrameworkItems {
|
|
|
26
26
|
// html: IDotGenericElement;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
export type ComponentArgs<TProps extends Array<string>, TEvents extends Array<string>> = {
|
|
30
|
+
[key in TProps[number]]: any;
|
|
31
|
+
} & {
|
|
32
|
+
[key in TEvents[number]]: (...args: any[]) => void;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
29
36
|
// TODO: there's a weird problem where if a constructor is not provided, it's not possible have a custom builder.
|
|
30
37
|
// It should be the contsructor that depends on the builder, not the other way around. If we can't get this working,
|
|
31
38
|
// it might just be better to rethink how stuff gets passed into components.
|
|
32
|
-
export default interface IComponent {
|
|
39
|
+
export default interface IComponent<TProps extends Array<string> = [], TEvents extends Array<string> = []> {
|
|
33
40
|
|
|
34
41
|
readonly _?: FrameworkItems;
|
|
35
42
|
|
|
43
|
+
new (attrs: ComponentArgs<TProps, TEvents>): IComponent<TProps, TEvents>;
|
|
44
|
+
new (): IComponent<TProps, TEvents>;
|
|
45
|
+
|
|
36
46
|
// Lifecycle hooks
|
|
37
47
|
|
|
38
48
|
/**
|
package/src/i-dot-css.d.ts
CHANGED
|
@@ -116,30 +116,32 @@ type HueInterpolationMethod = `${"shorter"|"longer"|"increasing"|"decreasing"} h
|
|
|
116
116
|
type ColorInterpolationMethod = RectangularColorSpace|PolarColorSpace|`${PolarColorSpace} ${HueInterpolationMethod}`;
|
|
117
117
|
|
|
118
118
|
// Color
|
|
119
|
-
type NamedColor = "aliceblue"|"antiquewhite"|"aqua"|"aquamarine"|"azure"|"beige"|"bisque"|"black"|"blanchedalmond"|"blue"|"blueviolet"|"brown"|"burlywood"|"cadetblue"|"chartreuse"|"chocolate"|"coral"|"cornflowerblue"|"cornsilk"|"crimson"|"cyan"|"darkblue"|"darkcyan"|"darkgoldenrod"|"darkgray"|"darkgrey"|"darkgreen"|"darkkhaki"|"darkmagenta"|"darkolivegreen"|"darkorange"|"darkorchid"|"darkred"|"darksalmon"|"darkseagreen"|"darkslateblue"|"darkslategray"|"darkslategrey"|"darkturquoise"|"darkviolet"|"deeppink"|"deepskyblue"|"dimgray"|"dimgrey"|"dodgerblue"|"firebrick"|"floralwhite"|"forestgreen"|"fuchsia"|"gainsboro"|"ghostwhite"|"gold"|"goldenrod"|"gray"|"grey"|"green"|"greenyellow"|"honeydew"|"hotpink"|"indianred"|"indigo"|"ivory"|"khaki"|"lavender"|"lavenderblush"|"lawngreen"|"lemonchiffon"|"lightblue"|"lightcoral"|"lightcyan"|"lightgoldenrodyellow"|"lightgray"|"lightgrey"|"lightgreen"|"lightpink"|"lightsalmon"|"lightseagreen"|"lightskyblue"|"lightslategray"|"lightslategrey"|"lightsteelblue"|"lightyellow"|"lime"|"limegreen"|"linen"|"magenta"|"maroon"|"mediumaquamarine"|"mediumblue"|"mediumorchid"|"mediumpurple"|"mediumseagreen"|"mediumslateblue"|"mediumspringgreen"|"mediumturquoise"|"mediumvioletred"|"midnightblue"|"mintcream"|"mistyrose"|"moccasin"|"navajowhite"|"navy"|"oldlace"|"olive"|"olivedrab"|"orange"|"orangered"|"orchid"|"palegoldenrod"|"palegreen"|"paleturquoise"|"palevioletred"|"papayawhip"|"peachpuff"|"peru"|"pink"|"plum"|"powderblue"|"purple"|"rebeccapurple"|"red"|"rosybrown"|"royalblue"|"saddlebrown"|"salmon"|"sandybrown"|"seagreen"|"seashell"|"sienna"|"silver"|"skyblue"|"slateblue"|"slategray"|"slategrey"|"snow"|"springgreen"|"steelblue"|"tan"|"teal"|"thistle"|"tomato"|"turquoise"|"violet"|"wheat"|"white"|"whitesmoke"|"yellow"|"yellowgreen";
|
|
120
|
-
type SystemColor = "AccentColor"|"AccentColorText"|"ActiveText"|"ButtonBorder"|"ButtonFace"|"ButtonText"|"Canvas"|"CanvasText"|"Field"|"FieldText"|"GrayText"|"Highlight"|"HighlightText"|"LinkText"|"Mark"|"MarkText"|"SelectedItem"|"SelectedItemText"|"VisitedText";
|
|
121
|
-
type Hue = number|Angle;
|
|
122
|
-
type PredefinedRgb = "srgb"|"srgb-linear"|"display-p3"|"a98-rgb"|"prophoto-rgb"|"rec2020";
|
|
123
|
-
type XyzSpace = "xyz"|"xyz-d50"|"xyz-d65";
|
|
124
|
-
type XyzParams = `${XyzSpace} ${number|Percentage|"none"} ${number|Percentage|"none"} ${number|Percentage|"none"}`
|
|
125
|
-
type PredefinedRgbParams = `${PredefinedRgb} ${number|Percentage|"none"} ${number|Percentage|"none"} ${number|Percentage|"none"}`
|
|
126
|
-
type ColorspaceParams = PredefinedRgbParams|XyzParams;
|
|
127
|
-
|
|
128
|
-
type LRgba<T extends number|AlphaValue> = `rgb(${T}, ${T}, ${T})` | `rgba(${T}, ${T}, ${T}, ${AlphaValue})`;
|
|
129
|
-
type MRgba = `rgb(${number|Percentage|"none"} ${number|Percentage|"none"} ${number|Percentage|"none"})` | `rgba(${number|Percentage|"none"} ${number|Percentage|"none"} ${number|Percentage|"none"} / ${AlphaValue})`;
|
|
130
|
-
type Rgba = LRgba<number|AlphaValue>|MRgba;
|
|
131
|
-
type LHsla = `hsl(${Hue}, ${Percentage}, ${Percentage})` | `hsla(${Hue}, ${Percentage}, ${Percentage}, ${AlphaValue})`;
|
|
132
|
-
type MHsla = `hsl(${Hue|"none"} ${Percentage|number|"none"} ${Percentage|number|"none"})` | `hsla(${Hue|"none"} ${Percentage|number|"none"} ${Percentage|number|"none"} / ${AlphaValue|"none"})`;
|
|
133
|
-
type Hsla = LHsla|MHsla;
|
|
134
|
-
type Hwb = `hwb(${Hue|"none"} ${Percentage|number|"none"} ${Percentage|number|"none"})` | `hwb(${Hue|"none"} ${Percentage|number|"none"} ${Percentage|number|"none"} / ${AlphaValue|"none"})`;
|
|
135
|
-
type Lab = `${"lab"|"oklab"}(${number|Percentage|"none"} ${number|Percentage|"none"} ${number|Percentage|"none"})` | `${"lab"|"oklab"}(${number|Percentage|"none"} ${number|Percentage|"none"} ${number|Percentage|"none"} / ${AlphaValue|"none"})`;
|
|
136
|
-
type Lch = `${"lch"|"oklch"}(${number|Percentage|"none"} ${number|Percentage|"none"} ${Hue|"none"})` | `${"lch"|"oklch"}(${number|Percentage|"none"} ${number|Percentage|"none"} ${Hue|"none"} / ${AlphaValue|"none"})`;
|
|
137
|
-
type ColorFunc = `color(${ColorspaceParams})`| `color(${ColorspaceParams} / ${AlphaValue|"none"})`;
|
|
138
|
-
type AbsoluteColorFunction = Rgba|Hsla|Hwb|Lab|Lch|ColorFunc;
|
|
139
|
-
|
|
140
|
-
type AbsoluteColorBase = HexColor|AbsoluteColorFunction|NamedColor|"transparent";
|
|
141
|
-
type Color = AbsoluteColorBase|SystemColor|"currentcolor";
|
|
142
|
-
type SimpleColor = HexColor|`${"rgb"|"rgba"|"hsl"|"hsla"|"hwb"|"lab"|"lch"|"oklab"|"oklch"|"color"}(${ComplexType})`|NamedColor|SystemColor|"currentcolor";
|
|
119
|
+
// type NamedColor = "aliceblue"|"antiquewhite"|"aqua"|"aquamarine"|"azure"|"beige"|"bisque"|"black"|"blanchedalmond"|"blue"|"blueviolet"|"brown"|"burlywood"|"cadetblue"|"chartreuse"|"chocolate"|"coral"|"cornflowerblue"|"cornsilk"|"crimson"|"cyan"|"darkblue"|"darkcyan"|"darkgoldenrod"|"darkgray"|"darkgrey"|"darkgreen"|"darkkhaki"|"darkmagenta"|"darkolivegreen"|"darkorange"|"darkorchid"|"darkred"|"darksalmon"|"darkseagreen"|"darkslateblue"|"darkslategray"|"darkslategrey"|"darkturquoise"|"darkviolet"|"deeppink"|"deepskyblue"|"dimgray"|"dimgrey"|"dodgerblue"|"firebrick"|"floralwhite"|"forestgreen"|"fuchsia"|"gainsboro"|"ghostwhite"|"gold"|"goldenrod"|"gray"|"grey"|"green"|"greenyellow"|"honeydew"|"hotpink"|"indianred"|"indigo"|"ivory"|"khaki"|"lavender"|"lavenderblush"|"lawngreen"|"lemonchiffon"|"lightblue"|"lightcoral"|"lightcyan"|"lightgoldenrodyellow"|"lightgray"|"lightgrey"|"lightgreen"|"lightpink"|"lightsalmon"|"lightseagreen"|"lightskyblue"|"lightslategray"|"lightslategrey"|"lightsteelblue"|"lightyellow"|"lime"|"limegreen"|"linen"|"magenta"|"maroon"|"mediumaquamarine"|"mediumblue"|"mediumorchid"|"mediumpurple"|"mediumseagreen"|"mediumslateblue"|"mediumspringgreen"|"mediumturquoise"|"mediumvioletred"|"midnightblue"|"mintcream"|"mistyrose"|"moccasin"|"navajowhite"|"navy"|"oldlace"|"olive"|"olivedrab"|"orange"|"orangered"|"orchid"|"palegoldenrod"|"palegreen"|"paleturquoise"|"palevioletred"|"papayawhip"|"peachpuff"|"peru"|"pink"|"plum"|"powderblue"|"purple"|"rebeccapurple"|"red"|"rosybrown"|"royalblue"|"saddlebrown"|"salmon"|"sandybrown"|"seagreen"|"seashell"|"sienna"|"silver"|"skyblue"|"slateblue"|"slategray"|"slategrey"|"snow"|"springgreen"|"steelblue"|"tan"|"teal"|"thistle"|"tomato"|"turquoise"|"violet"|"wheat"|"white"|"whitesmoke"|"yellow"|"yellowgreen";
|
|
120
|
+
// type SystemColor = "AccentColor"|"AccentColorText"|"ActiveText"|"ButtonBorder"|"ButtonFace"|"ButtonText"|"Canvas"|"CanvasText"|"Field"|"FieldText"|"GrayText"|"Highlight"|"HighlightText"|"LinkText"|"Mark"|"MarkText"|"SelectedItem"|"SelectedItemText"|"VisitedText";
|
|
121
|
+
// type Hue = number|Angle;
|
|
122
|
+
// type PredefinedRgb = "srgb"|"srgb-linear"|"display-p3"|"a98-rgb"|"prophoto-rgb"|"rec2020";
|
|
123
|
+
// type XyzSpace = "xyz"|"xyz-d50"|"xyz-d65";
|
|
124
|
+
// type XyzParams = `${XyzSpace} ${number|Percentage|"none"} ${number|Percentage|"none"} ${number|Percentage|"none"}`
|
|
125
|
+
// type PredefinedRgbParams = `${PredefinedRgb} ${number|Percentage|"none"} ${number|Percentage|"none"} ${number|Percentage|"none"}`
|
|
126
|
+
// type ColorspaceParams = PredefinedRgbParams|XyzParams;
|
|
127
|
+
|
|
128
|
+
// type LRgba<T extends number|AlphaValue> = `rgb(${T}, ${T}, ${T})` | `rgba(${T}, ${T}, ${T}, ${AlphaValue})`;
|
|
129
|
+
// type MRgba = `rgb(${number|Percentage|"none"} ${number|Percentage|"none"} ${number|Percentage|"none"})` | `rgba(${number|Percentage|"none"} ${number|Percentage|"none"} ${number|Percentage|"none"} / ${AlphaValue})`;
|
|
130
|
+
// type Rgba = LRgba<number|AlphaValue>|MRgba;
|
|
131
|
+
// type LHsla = `hsl(${Hue}, ${Percentage}, ${Percentage})` | `hsla(${Hue}, ${Percentage}, ${Percentage}, ${AlphaValue})`;
|
|
132
|
+
// type MHsla = `hsl(${Hue|"none"} ${Percentage|number|"none"} ${Percentage|number|"none"})` | `hsla(${Hue|"none"} ${Percentage|number|"none"} ${Percentage|number|"none"} / ${AlphaValue|"none"})`;
|
|
133
|
+
// type Hsla = LHsla|MHsla;
|
|
134
|
+
// type Hwb = `hwb(${Hue|"none"} ${Percentage|number|"none"} ${Percentage|number|"none"})` | `hwb(${Hue|"none"} ${Percentage|number|"none"} ${Percentage|number|"none"} / ${AlphaValue|"none"})`;
|
|
135
|
+
// type Lab = `${"lab"|"oklab"}(${number|Percentage|"none"} ${number|Percentage|"none"} ${number|Percentage|"none"})` | `${"lab"|"oklab"}(${number|Percentage|"none"} ${number|Percentage|"none"} ${number|Percentage|"none"} / ${AlphaValue|"none"})`;
|
|
136
|
+
// type Lch = `${"lch"|"oklch"}(${number|Percentage|"none"} ${number|Percentage|"none"} ${Hue|"none"})` | `${"lch"|"oklch"}(${number|Percentage|"none"} ${number|Percentage|"none"} ${Hue|"none"} / ${AlphaValue|"none"})`;
|
|
137
|
+
// type ColorFunc = `color(${ColorspaceParams})`| `color(${ColorspaceParams} / ${AlphaValue|"none"})`;
|
|
138
|
+
// type AbsoluteColorFunction = Rgba|Hsla|Hwb|Lab|Lch|ColorFunc;
|
|
139
|
+
|
|
140
|
+
// type AbsoluteColorBase = HexColor|AbsoluteColorFunction|NamedColor|"transparent";
|
|
141
|
+
// type Color = AbsoluteColorBase|SystemColor|"currentcolor";
|
|
142
|
+
// type SimpleColor = HexColor|`${"rgb"|"rgba"|"hsl"|"hsla"|"hwb"|"lab"|"lch"|"oklab"|"oklch"|"color"}(${ComplexType})`|NamedColor|SystemColor|"currentcolor";
|
|
143
|
+
|
|
144
|
+
type Color = string;
|
|
143
145
|
|
|
144
146
|
// Display List Item
|
|
145
147
|
|
package/src/i-dot.d.ts
CHANGED
|
@@ -54,8 +54,8 @@ export interface IDotDocument {
|
|
|
54
54
|
* Mounts a component.
|
|
55
55
|
* TODO: add second arg.
|
|
56
56
|
*/
|
|
57
|
-
mount<T extends IComponent>(component: T
|
|
58
|
-
mount<T extends IComponent>(init: (c: IMountedComponent<T>) => IMountedComponent<T> | void, component: T): IDotDocument;
|
|
57
|
+
mount<T extends IComponent>(component: T): IDotDocument;
|
|
58
|
+
// mount<T extends IComponent>(init: (c: IMountedComponent<T>) => IMountedComponent<T> | void, component: T): IDotDocument;
|
|
59
59
|
// mount(component: IComponent, init: (init=>IMountedComponent): IMountedComponent|void): IDotDocument;
|
|
60
60
|
/**
|
|
61
61
|
* Iterates n times, appending the result of each iteration to the VDBO.
|
|
@@ -336,12 +336,15 @@ export interface IDotDocument {
|
|
|
336
336
|
|
|
337
337
|
type Styles = string | IDotcssProp;
|
|
338
338
|
interface IComponentFactory {
|
|
339
|
-
<
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
prop(target: any, propertyKey: string): void;
|
|
339
|
+
<TProps extends Array<string>, TEvents extends Array<string>, T extends IComponent<TProps, TEvents>>(
|
|
340
|
+
Base: new () => T, styles?: Styles | Styles[]
|
|
341
|
+
): new () => T;
|
|
343
342
|
}
|
|
344
343
|
|
|
344
|
+
// useStyles<T extends IComponent>(styles: Styles | Styles[]): (Base: new () => T) => new () => T;
|
|
345
|
+
// hasEvents<T extends IComponent>(styles: Styles | Styles[]): (Base: new () => T) => new () => T;
|
|
346
|
+
// prop(target: any, propertyKey: string): void;
|
|
347
|
+
|
|
345
348
|
|
|
346
349
|
/**
|
|
347
350
|
* Interface for the dot object.
|
|
@@ -509,10 +512,10 @@ export interface IDotGlobalAttrs {
|
|
|
509
512
|
|
|
510
513
|
// Interface for specific elements:
|
|
511
514
|
|
|
512
|
-
interface IMountedComponent<T extends IComponent> {
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
}
|
|
515
|
+
// interface IMountedComponent<T extends IComponent> {
|
|
516
|
+
// on(event: string, callback: (...args: Array<any>) => void): IMountedComponent<T>;
|
|
517
|
+
// prop(name: string, value: any): IMountedComponent<T>;
|
|
518
|
+
// }
|
|
516
519
|
|
|
517
520
|
interface IDotA extends IDotGlobalAttrs {
|
|
518
521
|
download?: AttrVal<boolean>;
|