dothtml 5.0.4 → 5.1.1

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.
Files changed (54) hide show
  1. package/.vscode/launch.json +34 -0
  2. package/.vscode/settings.json +2 -1
  3. package/lib/component.d.ts +12 -3
  4. package/lib/dot-util.d.ts +13 -0
  5. package/lib/dothtml.d.ts +1 -1
  6. package/lib/dothtml.js +1 -1
  7. package/lib/i-dot.d.ts +4 -4
  8. package/lib/styling/css-types.ts/css-angle.d.ts +7 -0
  9. package/lib/styling/css-types.ts/css-color.d.ts +9 -0
  10. package/lib/styling/css-types.ts/css-complex.d.ts +7 -0
  11. package/lib/styling/css-types.ts/css-data-type.d.ts +5 -0
  12. package/lib/styling/css-types.ts/css-length.d.ts +7 -0
  13. package/lib/styling/css-types.ts/css-number.d.ts +6 -0
  14. package/lib/styling/css-types.ts/css-transform.d.ts +38 -0
  15. package/lib/styling/css-types.ts/css-unknown.d.ts +6 -0
  16. package/lib/styling/css-types.ts/css-url.d.ts +6 -0
  17. package/lib/{i-dotcss.d.ts → styling/i-dotcss.d.ts} +192 -42
  18. package/lib/styling/style-builder.d.ts +24 -0
  19. package/lib/styling/unit-function-tables.d.ts +10 -0
  20. package/package.json +2 -2
  21. package/src/component.ts +77 -31
  22. package/src/dot-util.ts +37 -1
  23. package/src/dot.ts +2 -2
  24. package/src/dothtml.ts +1 -1
  25. package/src/i-dot.ts +1 -1
  26. package/src/styling/css-types.ts/css-angle.ts +18 -0
  27. package/src/styling/css-types.ts/css-color.ts +229 -0
  28. package/src/styling/css-types.ts/css-complex.ts +20 -0
  29. package/src/styling/css-types.ts/css-data-type.ts +9 -0
  30. package/src/styling/css-types.ts/css-length.ts +20 -0
  31. package/src/styling/css-types.ts/css-number.ts +12 -0
  32. package/src/styling/css-types.ts/css-transform.ts +220 -0
  33. package/src/styling/css-types.ts/css-unknown.ts +13 -0
  34. package/src/styling/css-types.ts/css-url.ts +41 -0
  35. package/src/{i-dotcss.ts → styling/i-dotcss.ts} +206 -49
  36. package/src/styling/style-builder.ts +963 -0
  37. package/src/styling/unit-function-tables.ts +24 -0
  38. package/unittests/basic-functionality.test.ts +1 -1
  39. package/unittests/calc.test.ts +2 -0
  40. package/unittests/{component-decorator.-.ts → components/component-decorator.-.ts} +0 -0
  41. package/unittests/{components-data.test.ts → components/components-data.test.ts} +3 -3
  42. package/unittests/{components.test.ts → components/components.test.ts} +5 -4
  43. package/unittests/input-bindings.test.ts +6 -6
  44. package/unittests/non-function-props-rerender.test.ts +85 -0
  45. package/unittests/styling/animations.test.ts +14 -0
  46. package/unittests/styling/inline-styling.test.ts +18 -0
  47. package/unittests/styling/pseudo-selectors.test.ts +29 -0
  48. package/unittests/styling/transformations.test.ts +234 -0
  49. package/{lib/dot-component-legacy.d.ts → unittests/styling/value-interpretation.test.ts} +0 -0
  50. package/lib/dot-document.d.ts +0 -0
  51. package/lib/style-builder.d.ts +0 -3
  52. package/src/dot-component-legacy.ts +0 -79
  53. package/src/dot-document.ts +0 -0
  54. package/src/style-builder.ts +0 -1516
@@ -5,7 +5,9 @@ export declare type RelativeUnits = "em"|"ex"|"ch"|"rem"|"vw"|"vh"|"vmin"|"vmax"
5
5
  export declare type AllUnits = AbsoluteUnits|RelativeUnits;
6
6
  export declare type OptionalWhitespace = ""|" ";
7
7
  export declare type UrlType = `url('${string}')`;
8
- export declare type LengthOrDefault = number|`${number}${AllUnits}`;
8
+ export declare type NumericLength = number|`${number}${AllUnits}`;
9
+ export declare type AngleUnits = "deg"|"turn"|"rad"|"grad";
10
+ export declare type NumericAngle = number|`${number}${AngleUnits}`
9
11
 
10
12
  // ts starts complaining about the complexity of the type :(
11
13
  //export declare type DigitStr = "0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9";
@@ -15,7 +17,7 @@ export declare type LengthOrDefault = number|`${number}${AllUnits}`;
15
17
  export declare type BackgroundAttachmentValues = BasicCommonValues|"scroll"|"fixed"|"local"
16
18
  export declare type BackgroundRepeatValues = BasicCommonValues|"no-repeat"|"repeat"|"space"|"round";
17
19
  export declare type BackgroundOriginValues = BasicCommonValues|"padding-box"|"border-box"|"content-box";
18
- export declare type BackgroundSizeValues = BasicCommonValues|"auto"|LengthOrDefault|"cover"|"contain";
20
+ export declare type BackgroundSizeValues = BasicCommonValues|"auto"|NumericLength|"cover"|"contain";
19
21
  export declare type BackfaceVisibilityValues = BasicCommonValues|"visible"|"hidden";
20
22
  export declare type BorderStyles = BasicCommonValues|"dotted"|"dashed"|"solid"|"double"|"groove"|"ridge"|"inset"|"outset"|"none"|"hidden";
21
23
  export declare type ColorName = BasicCommonValues|"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";
@@ -26,7 +28,7 @@ export declare type FontVariantValues = BasicCommonValues|"normal"|"small-caps";
26
28
  export declare type FontVariantCapsValues = FontVariantValues|"all-small-caps"|"petite-caps"|"all-petite-caps"|"unicase"|"titling-caps";
27
29
  export declare type FontWeightValues = BasicCommonValues|number|"normal"|"bold"|"bolder"|"lighter";
28
30
  export declare type LengthProp = BasicCommonValues|"maxHeight"|"minHeight"|"top"|"bottom"|"height"|"maxHidth"|"minWidth"|"right"|"left"|"width"|"margin"|"marginTop"|"marginBottom"|"marginLeft"|"marginRight"|"outlineOffset"|"padding"|"paddingTop"|"paddingBottom"|"paddingLeft"|"paddingRight"|"lineHeight"|"flexBasis"|"fontSize";
29
- export declare type OutlineWidthValues = BasicCommonValues|"medium"|"thin"|"thick"|LengthOrDefault;
31
+ export declare type OutlineWidthValues = BasicCommonValues|"medium"|"thin"|"thick"|NumericLength;
30
32
  export declare type PositionNames = BasicCommonValues|"static"|"relative"|"fixed"|"absolute"|"sticky";
31
33
 
32
34
  export declare type FlexDirectionNames = BasicCommonValues|"row"|"row-reverse"|"column"|"column-reverse";
@@ -37,7 +39,7 @@ export declare type FlexWrapNames = BasicCommonValues|"nowrap"|"wrap"|"wrap-reve
37
39
  export declare type ColorFormat = BasicCommonValues|ColorName|number|`#${string}`|`rgb(${number},${OptionalWhitespace}${number},${OptionalWhitespace}${number})`|`rgba(${number},${OptionalWhitespace}${number},${OptionalWhitespace}${number},${OptionalWhitespace}${number})`|`hsl(${number},${OptionalWhitespace}${number}%,${OptionalWhitespace}${number}%)`|`hsla(${number},${OptionalWhitespace}${number}%,${OptionalWhitespace}${number}%,${OptionalWhitespace}${number})`;
38
40
 
39
41
  export declare type BackgroundRepeatValues2d = BackgroundRepeatValues|"repeat-x"|"repeat-y"|`${BackgroundRepeatValues} ${BackgroundRepeatValues}`;
40
- export declare type BorderShorthand = BasicCommonValues|`${number}${AllUnits} ${BorderStyles} ${ColorFormat}`;
42
+ export declare type BorderShorthand = BasicCommonValues|`${BorderStyles}`|`${BorderStyles} ${ColorFormat}`|`${number}${AllUnits} ${BorderStyles} ${ColorFormat}`;
41
43
  export declare type BackgroundImageFormat = BasicCommonValues|UrlType|`${UrlType}, ${UrlType}`;
42
44
  export declare type BackgroundPositionShorthand2D = BasicCommonValues|`${BasicCommonValues|number} ${BasicCommonValues|number}`|`${number}% ${number}%`|`${"left"|"right"|"center"} ${"top"|"center"|"bottom"}`;
43
45
  export declare type BackgroundShorthand = BasicCommonValues|`${ColorFormat} ${UrlType} ${BackgroundRepeatValues} ${BackgroundPositionShorthand2D}`;
@@ -116,7 +118,7 @@ export interface IDotcssProp{
116
118
  backgroundSizeVMax: IDotcssAnimatable<number>;
117
119
  backgroundSizeVMin: IDotcssAnimatable<number>;
118
120
 
119
- borderBottomLeftRadius: IDotcssAnimatable<number|string>;
121
+ borderBottomLeftRadius: IDotcssAnimatable<NumericLength>;
120
122
  borderBottomLeftRadiusCm: IDotcssAnimatable<number>;
121
123
  borderBottomLeftRadiusCh: IDotcssAnimatable<number>;
122
124
  borderBottomLeftRadiusEm: IDotcssAnimatable<number>;
@@ -133,7 +135,7 @@ export interface IDotcssProp{
133
135
  borderBottomLeftRadiusVMax: IDotcssAnimatable<number>;
134
136
  borderBottomLeftRadiusVMin: IDotcssAnimatable<number>;
135
137
 
136
- borderBottomRightRadius: IDotcssAnimatable<number|string>;
138
+ borderBottomRightRadius: IDotcssAnimatable<NumericLength>;
137
139
  borderBottomRightRadiusCm: IDotcssAnimatable<number>;
138
140
  borderBottomRightRadiusCh: IDotcssAnimatable<number>;
139
141
  borderBottomRightRadiusEm: IDotcssAnimatable<number>;
@@ -150,7 +152,7 @@ export interface IDotcssProp{
150
152
  borderBottomRightRadiusVMax: IDotcssAnimatable<number>;
151
153
  borderBottomRightRadiusVMin: IDotcssAnimatable<number>;
152
154
 
153
- borderBottomWidth: IDotcssAnimatable<number|string>;
155
+ borderBottomWidth: IDotcssAnimatable<NumericLength>;
154
156
  borderBottomWidthCm: IDotcssAnimatable<number>;
155
157
  borderBottomWidthCh: IDotcssAnimatable<number>;
156
158
  borderBottomWidthEm: IDotcssAnimatable<number>;
@@ -167,7 +169,7 @@ export interface IDotcssProp{
167
169
  borderBottomWidthVMax: IDotcssAnimatable<number>;
168
170
  borderBottomWidthVMin: IDotcssAnimatable<number>;
169
171
 
170
- borderImageWidth: IDotcssAnimatable<number|string>;
172
+ borderImageWidth: IDotcssAnimatable<NumericLength>;
171
173
  borderImageWidthCm: IDotcssAnimatable<number>;
172
174
  borderImageWidthCh: IDotcssAnimatable<number>;
173
175
  borderImageWidthEm: IDotcssAnimatable<number>;
@@ -184,7 +186,7 @@ export interface IDotcssProp{
184
186
  borderImageWidthVMax: IDotcssAnimatable<number>;
185
187
  borderImageWidthVMin: IDotcssAnimatable<number>;
186
188
 
187
- borderLeftWidth: IDotcssAnimatable<number|string>;
189
+ borderLeftWidth: IDotcssAnimatable<NumericLength>;
188
190
  borderLeftWidthCm: IDotcssAnimatable<number>;
189
191
  borderLeftWidthCh: IDotcssAnimatable<number>;
190
192
  borderLeftWidthEm: IDotcssAnimatable<number>;
@@ -201,7 +203,7 @@ export interface IDotcssProp{
201
203
  borderLeftWidthVMax: IDotcssAnimatable<number>;
202
204
  borderLeftWidthVMin: IDotcssAnimatable<number>;
203
205
 
204
- borderRadius: IDotcssAnimatable<number|string>;
206
+ borderRadius: IDotcssAnimatable<NumericLength>;
205
207
  borderRadiusCm: IDotcssAnimatable<number>;
206
208
  borderRadiusCh: IDotcssAnimatable<number>;
207
209
  borderRadiusEm: IDotcssAnimatable<number>;
@@ -218,7 +220,7 @@ export interface IDotcssProp{
218
220
  borderRadiusVMax: IDotcssAnimatable<number>;
219
221
  borderRadiusVMin: IDotcssAnimatable<number>;
220
222
 
221
- borderRightWidth: IDotcssAnimatable<number|string>;
223
+ borderRightWidth: IDotcssAnimatable<NumericLength>;
222
224
  borderRightWidthCm: IDotcssAnimatable<number>;
223
225
  borderRightWidthCh: IDotcssAnimatable<number>;
224
226
  borderRightWidthEm: IDotcssAnimatable<number>;
@@ -235,7 +237,7 @@ export interface IDotcssProp{
235
237
  borderRightWidthVMax: IDotcssAnimatable<number>;
236
238
  borderRightWidthVMin: IDotcssAnimatable<number>;
237
239
 
238
- borderTopLeftRadius: IDotcssAnimatable<number|string>;
240
+ borderTopLeftRadius: IDotcssAnimatable<NumericLength>;
239
241
  borderTopLeftRadiusCm: IDotcssAnimatable<number>;
240
242
  borderTopLeftRadiusCh: IDotcssAnimatable<number>;
241
243
  borderTopLeftRadiusEm: IDotcssAnimatable<number>;
@@ -252,7 +254,7 @@ export interface IDotcssProp{
252
254
  borderTopLeftRadiusVMax: IDotcssAnimatable<number>;
253
255
  borderTopLeftRadiusVMin: IDotcssAnimatable<number>;
254
256
 
255
- borderTopRightRadius: IDotcssAnimatable<number|string>;
257
+ borderTopRightRadius: IDotcssAnimatable<NumericLength>;
256
258
  borderTopRightRadiusCm: IDotcssAnimatable<number>;
257
259
  borderTopRightRadiusCh: IDotcssAnimatable<number>;
258
260
  borderTopRightRadiusEm: IDotcssAnimatable<number>;
@@ -269,7 +271,7 @@ export interface IDotcssProp{
269
271
  borderTopRightRadiusVMax: IDotcssAnimatable<number>;
270
272
  borderTopRightRadiusVMin: IDotcssAnimatable<number>;
271
273
 
272
- borderTopWidth: IDotcssAnimatable<number|string>;
274
+ borderTopWidth: IDotcssAnimatable<NumericLength>;
273
275
  borderTopWidthCm: IDotcssAnimatable<number>;
274
276
  borderTopWidthCh: IDotcssAnimatable<number>;
275
277
  borderTopWidthEm: IDotcssAnimatable<number>;
@@ -286,7 +288,7 @@ export interface IDotcssProp{
286
288
  borderTopWidthVMax: IDotcssAnimatable<number>;
287
289
  borderTopWidthVMin: IDotcssAnimatable<number>;
288
290
 
289
- borderWidth: IDotcssAnimatable<number|string>;
291
+ borderWidth: IDotcssAnimatable<NumericLength>;
290
292
  borderWidthCm: IDotcssAnimatable<number>;
291
293
  borderWidthCh: IDotcssAnimatable<number>;
292
294
  borderWidthEm: IDotcssAnimatable<number>;
@@ -303,7 +305,7 @@ export interface IDotcssProp{
303
305
  borderWidthVMax: IDotcssAnimatable<number>;
304
306
  borderWidthVMin: IDotcssAnimatable<number>;
305
307
 
306
- bottom: IDotcssAnimatable<number|string>;
308
+ bottom: IDotcssAnimatable<NumericLength>;
307
309
  bottomCm: IDotcssAnimatable<number>;
308
310
  bottomCh: IDotcssAnimatable<number>;
309
311
  bottomEm: IDotcssAnimatable<number>;
@@ -320,7 +322,7 @@ export interface IDotcssProp{
320
322
  bottomVMax: IDotcssAnimatable<number>;
321
323
  bottomVMin: IDotcssAnimatable<number>;
322
324
 
323
- height: IDotcssAnimatable<number|string>;
325
+ height: IDotcssAnimatable<NumericLength>;
324
326
  heightCm: IDotcssAnimatable<number>;
325
327
  heightCh: IDotcssAnimatable<number>;
326
328
  heightEm: IDotcssAnimatable<number>;
@@ -337,7 +339,7 @@ export interface IDotcssProp{
337
339
  heightVMax: IDotcssAnimatable<number>;
338
340
  heightVMin: IDotcssAnimatable<number>;
339
341
 
340
- left: IDotcssAnimatable<number|string>;
342
+ left: IDotcssAnimatable<NumericLength>;
341
343
  leftCm: IDotcssAnimatable<number>;
342
344
  leftCh: IDotcssAnimatable<number>;
343
345
  leftEm: IDotcssAnimatable<number>;
@@ -354,7 +356,7 @@ export interface IDotcssProp{
354
356
  leftVMax: IDotcssAnimatable<number>;
355
357
  leftVMin: IDotcssAnimatable<number>;
356
358
 
357
- margin: IDotcssAnimatable<number|string>;
359
+ margin: IDotcssAnimatable<NumericLength>;
358
360
  marginCm: IDotcssAnimatable<number>;
359
361
  marginCh: IDotcssAnimatable<number>;
360
362
  marginEm: IDotcssAnimatable<number>;
@@ -371,7 +373,7 @@ export interface IDotcssProp{
371
373
  marginVMax: IDotcssAnimatable<number>;
372
374
  marginVMin: IDotcssAnimatable<number>;
373
375
 
374
- marginBottom: IDotcssAnimatable<number|string>;
376
+ marginBottom: IDotcssAnimatable<NumericLength>;
375
377
  marginBottomCm: IDotcssAnimatable<number>;
376
378
  marginBottomCh: IDotcssAnimatable<number>;
377
379
  marginBottomEm: IDotcssAnimatable<number>;
@@ -388,7 +390,7 @@ export interface IDotcssProp{
388
390
  marginBottomVMax: IDotcssAnimatable<number>;
389
391
  marginBottomVMin: IDotcssAnimatable<number>;
390
392
 
391
- marginLeft: IDotcssAnimatable<number|string>;
393
+ marginLeft: IDotcssAnimatable<NumericLength>;
392
394
  marginLeftCm: IDotcssAnimatable<number>;
393
395
  marginLeftCh: IDotcssAnimatable<number>;
394
396
  marginLeftEm: IDotcssAnimatable<number>;
@@ -405,7 +407,7 @@ export interface IDotcssProp{
405
407
  marginLeftVMax: IDotcssAnimatable<number>;
406
408
  marginLeftVMin: IDotcssAnimatable<number>;
407
409
 
408
- marginRight: IDotcssAnimatable<number|string>;
410
+ marginRight: IDotcssAnimatable<NumericLength>;
409
411
  marginRightCm: IDotcssAnimatable<number>;
410
412
  marginRightCh: IDotcssAnimatable<number>;
411
413
  marginRightEm: IDotcssAnimatable<number>;
@@ -422,7 +424,7 @@ export interface IDotcssProp{
422
424
  marginRightVMax: IDotcssAnimatable<number>;
423
425
  marginRightVMin: IDotcssAnimatable<number>;
424
426
 
425
- marginTop: IDotcssAnimatable<number|string>;
427
+ marginTop: IDotcssAnimatable<NumericLength>;
426
428
  marginTopCm: IDotcssAnimatable<number>;
427
429
  marginTopCh: IDotcssAnimatable<number>;
428
430
  marginTopEm: IDotcssAnimatable<number>;
@@ -439,7 +441,7 @@ export interface IDotcssProp{
439
441
  marginTopVMax: IDotcssAnimatable<number>;
440
442
  marginTopVMin: IDotcssAnimatable<number>;
441
443
 
442
- maxHeight: IDotcssAnimatable<number|string>;
444
+ maxHeight: IDotcssAnimatable<NumericLength>;
443
445
  maxHeightCm: IDotcssAnimatable<number>;
444
446
  maxHeightCh: IDotcssAnimatable<number>;
445
447
  maxHeightEm: IDotcssAnimatable<number>;
@@ -456,7 +458,7 @@ export interface IDotcssProp{
456
458
  maxHeightVMax: IDotcssAnimatable<number>;
457
459
  maxHeightVMin: IDotcssAnimatable<number>;
458
460
 
459
- maxWidth: IDotcssAnimatable<number|string>;
461
+ maxWidth: IDotcssAnimatable<NumericLength>;
460
462
  maxWidthCm: IDotcssAnimatable<number>;
461
463
  maxWidthCh: IDotcssAnimatable<number>;
462
464
  maxWidthEm: IDotcssAnimatable<number>;
@@ -473,7 +475,7 @@ export interface IDotcssProp{
473
475
  maxWidthVMax: IDotcssAnimatable<number>;
474
476
  maxWidthVMin: IDotcssAnimatable<number>;
475
477
 
476
- minHeight: IDotcssAnimatable<number|string>;
478
+ minHeight: IDotcssAnimatable<NumericLength>;
477
479
  minHeightCm: IDotcssAnimatable<number>;
478
480
  minHeightCh: IDotcssAnimatable<number>;
479
481
  minHeightEm: IDotcssAnimatable<number>;
@@ -490,7 +492,7 @@ export interface IDotcssProp{
490
492
  minHeightVMax: IDotcssAnimatable<number>;
491
493
  minHeightVMin: IDotcssAnimatable<number>;
492
494
 
493
- minWidth: IDotcssAnimatable<number|string>;
495
+ minWidth: IDotcssAnimatable<NumericLength>;
494
496
  minWidthCm: IDotcssAnimatable<number>;
495
497
  minWidthCh: IDotcssAnimatable<number>;
496
498
  minWidthEm: IDotcssAnimatable<number>;
@@ -507,7 +509,7 @@ export interface IDotcssProp{
507
509
  minWidthVMax: IDotcssAnimatable<number>;
508
510
  minWidthVMin: IDotcssAnimatable<number>;
509
511
 
510
- outlineOffset: IDotcssAnimatable<number|string>;
512
+ outlineOffset: IDotcssAnimatable<NumericLength>;
511
513
  outlineOffsetCm: IDotcssAnimatable<number>;
512
514
  outlineOffsetCh: IDotcssAnimatable<number>;
513
515
  outlineOffsetEm: IDotcssAnimatable<number>;
@@ -524,7 +526,7 @@ export interface IDotcssProp{
524
526
  outlineOffsetVMax: IDotcssAnimatable<number>;
525
527
  outlineOffsetVMin: IDotcssAnimatable<number>;
526
528
 
527
- padding: IDotcssAnimatable<number|string>;
529
+ padding: IDotcssAnimatable<NumericLength>;
528
530
  paddingCm: IDotcssAnimatable<number>;
529
531
  paddingCh: IDotcssAnimatable<number>;
530
532
  paddingEm: IDotcssAnimatable<number>;
@@ -541,7 +543,7 @@ export interface IDotcssProp{
541
543
  paddingVMax: IDotcssAnimatable<number>;
542
544
  paddingVMin: IDotcssAnimatable<number>;
543
545
 
544
- paddingBottom: IDotcssAnimatable<number|string>;
546
+ paddingBottom: IDotcssAnimatable<NumericLength>;
545
547
  paddingBottomCm: IDotcssAnimatable<number>;
546
548
  paddingBottomCh: IDotcssAnimatable<number>;
547
549
  paddingBottomEm: IDotcssAnimatable<number>;
@@ -558,7 +560,7 @@ export interface IDotcssProp{
558
560
  paddingBottomVMax: IDotcssAnimatable<number>;
559
561
  paddingBottomVMin: IDotcssAnimatable<number>;
560
562
 
561
- paddingLeft: IDotcssAnimatable<number|string>;
563
+ paddingLeft: IDotcssAnimatable<NumericLength>;
562
564
  paddingLeftCm: IDotcssAnimatable<number>;
563
565
  paddingLeftCh: IDotcssAnimatable<number>;
564
566
  paddingLeftEm: IDotcssAnimatable<number>;
@@ -575,7 +577,7 @@ export interface IDotcssProp{
575
577
  paddingLeftVMax: IDotcssAnimatable<number>;
576
578
  paddingLeftVMin: IDotcssAnimatable<number>;
577
579
 
578
- paddingRight: IDotcssAnimatable<number|string>;
580
+ paddingRight: IDotcssAnimatable<NumericLength>;
579
581
  paddingRightCm: IDotcssAnimatable<number>;
580
582
  paddingRightCh: IDotcssAnimatable<number>;
581
583
  paddingRightEm: IDotcssAnimatable<number>;
@@ -592,7 +594,7 @@ export interface IDotcssProp{
592
594
  paddingRightVMax: IDotcssAnimatable<number>;
593
595
  paddingRightVMin: IDotcssAnimatable<number>;
594
596
 
595
- paddingTop: IDotcssAnimatable<number|string>;
597
+ paddingTop: IDotcssAnimatable<NumericLength>;
596
598
  paddingTopCm: IDotcssAnimatable<number>;
597
599
  paddingTopCh: IDotcssAnimatable<number>;
598
600
  paddingTopEm: IDotcssAnimatable<number>;
@@ -609,7 +611,7 @@ export interface IDotcssProp{
609
611
  paddingTopVMax: IDotcssAnimatable<number>;
610
612
  paddingTopVMin: IDotcssAnimatable<number>;
611
613
 
612
- right: IDotcssAnimatable<number|string>;
614
+ right: IDotcssAnimatable<NumericLength>;
613
615
  rightCm: IDotcssAnimatable<number>;
614
616
  rightCh: IDotcssAnimatable<number>;
615
617
  rightEm: IDotcssAnimatable<number>;
@@ -626,7 +628,7 @@ export interface IDotcssProp{
626
628
  rightVMax: IDotcssAnimatable<number>;
627
629
  rightVMin: IDotcssAnimatable<number>;
628
630
 
629
- top: IDotcssAnimatable<number|string>;
631
+ top: IDotcssAnimatable<NumericLength>;
630
632
  topCm: IDotcssAnimatable<number>;
631
633
  topCh: IDotcssAnimatable<number>;
632
634
  topEm: IDotcssAnimatable<number>;
@@ -643,7 +645,7 @@ export interface IDotcssProp{
643
645
  topVMax: IDotcssAnimatable<number>;
644
646
  topVMin: IDotcssAnimatable<number>;
645
647
 
646
- width: IDotcssAnimatable<number|string>;
648
+ width: IDotcssAnimatable<NumericLength>;
647
649
  widthCm: IDotcssAnimatable<number>;
648
650
  widthCh: IDotcssAnimatable<number>;
649
651
  widthEm: IDotcssAnimatable<number>;
@@ -660,7 +662,7 @@ export interface IDotcssProp{
660
662
  widthVMax: IDotcssAnimatable<number>;
661
663
  widthVMin: IDotcssAnimatable<number>;
662
664
 
663
- lineHeight: IDotcssAnimatable<number|string>;
665
+ lineHeight: IDotcssAnimatable<NumericLength>;
664
666
  lineHeightCm: IDotcssAnimatable<number>;
665
667
  lineHeightCh: IDotcssAnimatable<number>;
666
668
  lineHeightEm: IDotcssAnimatable<number>;
@@ -677,7 +679,7 @@ export interface IDotcssProp{
677
679
  lineHeightVMax: IDotcssAnimatable<number>;
678
680
  lineHeightVMin: IDotcssAnimatable<number>;
679
681
 
680
- fontSize: IDotcssAnimatable<number|string>;
682
+ fontSize: IDotcssAnimatable<NumericLength>;
681
683
  fontSizeCm: IDotcssAnimatable<number>;
682
684
  fontSizeCh: IDotcssAnimatable<number>;
683
685
  fontSizeEm: IDotcssAnimatable<number>;
@@ -694,7 +696,7 @@ export interface IDotcssProp{
694
696
  fontSizeVMax: IDotcssAnimatable<number>;
695
697
  fontSizeVMin: IDotcssAnimatable<number>;
696
698
 
697
- flexBasis: IDotcssAnimatable<number|string>;
699
+ flexBasis: IDotcssAnimatable<NumericLength>;
698
700
  flexBasisCm: IDotcssAnimatable<number>;
699
701
  flexBasisCh: IDotcssAnimatable<number>;
700
702
  flexBasisEm: IDotcssAnimatable<number>;
@@ -712,13 +714,13 @@ export interface IDotcssProp{
712
714
  flexBasisVMin: IDotcssAnimatable<number>;
713
715
 
714
716
  //url:
715
- backgroundImage: (value: BackgroundImageFormat)=>IDotcssProp
716
- borderImage: (value: BackgroundImageFormat)=>IDotcssProp
717
- listStyleImage: (value: BackgroundImageFormat)=>IDotcssProp
718
- content: (value: BasicCommonValues|UrlType)=>IDotcssProp
717
+ backgroundImage: (value: BackgroundImageFormat)=>IDotcssProp;
718
+ borderImage: (value: BackgroundImageFormat)=>IDotcssProp;
719
+ listStyleImage: (value: BackgroundImageFormat)=>IDotcssProp;
720
+ content: (value: BasicCommonValues|UrlType)=>IDotcssProp;
719
721
 
720
722
  //transformation:
721
- transformation
723
+ transform: (transformOrTransformBuilder: BasicCommonValues|TransformationBuilder)=>IDotcssProp;
722
724
 
723
725
  //misc numeric:
724
726
  opacity: IDotcssAnimatable<number|string>;
@@ -927,16 +929,15 @@ export interface IDotcssProp{
927
929
  }
928
930
 
929
931
  export default interface IDotCss extends IDotcssProp{
930
- (document?: Element|string): IDotcssProp;
932
+ (document?: Array<HTMLElement>|HTMLElement|string): IDotcssProp;
931
933
 
932
934
  version: string;
933
-
934
935
  }
935
936
 
936
937
  export interface IDotcssAnimatable<T> extends IDotcssProp{
937
938
  (value: T): IDotcssProp;
938
939
 
939
- animate(value: number, duration: number, style: "ease", complete: Function): IDotcssProp;
940
+ animate(value: number|string, duration: number, style: "ease", complete: Function): IDotcssProp;
940
941
  }
941
942
 
942
943
  export interface IDotcssAnimatableColor extends IDotcssProp{
@@ -946,13 +947,13 @@ export interface IDotcssAnimatableColor extends IDotcssProp{
946
947
  animate(value: ColorFormat|Array<number>, duration: number, style: "ease", complete: Function): IDotcssProp;
947
948
  }
948
949
 
949
-
950
950
  export interface HideParams{
951
951
  duration?: number,
952
952
  complete?: Function,
953
953
  hideStyle?: "normal"|"fade"|"shrink",
954
954
  animationStyle?: "ease",
955
955
  }
956
+
956
957
  export interface ShowParams{
957
958
  duration?: number,
958
959
  display?: DisplayValues, // TODO: potential to expand this.
@@ -962,4 +963,160 @@ export interface ShowParams{
962
963
  height?: number,
963
964
  showStyle?: "normal"|"fade"|"grow",
964
965
  animationStyle?: "ease",
965
- }
966
+ }
967
+
968
+ export interface TransformationBuilder {
969
+ (trns: ITransformationContext): ITransformationContext|string;
970
+ }
971
+
972
+ export type ITransformationContext = {
973
+ matrix: (a: number, b: number, c: number, d: number, tx: number, ty: number)=>ITransformationContext;
974
+ matrix3d: (a1:number, b1:number, c1:number, d1:number, a2:number, b2:number, c2:number, d2:number, a3:number, b3:number, c3:number, d3:number, a4:number, b4:number, c4:number, d4:number)=>ITransformationContext;
975
+
976
+ translate: (x: NumericLength, y?:NumericLength)=>ITransformationContext;
977
+ translateCm: (x: number, y?:number)=>ITransformationContext;
978
+ translateCh: (x: number, y?:number)=>ITransformationContext;
979
+ translateEm: (x: number, y?:number)=>ITransformationContext;
980
+ translateEx: (x: number, y?:number)=>ITransformationContext;
981
+ translateIn: (x: number, y?:number)=>ITransformationContext;
982
+ translateMm: (x: number, y?:number)=>ITransformationContext;
983
+ translateP: (x: number, y?:number)=>ITransformationContext;
984
+ translatePc: (x: number, y?:number)=>ITransformationContext;
985
+ translatePt: (x: number, y?:number)=>ITransformationContext;
986
+ translatePx: (x: number, y?:number)=>ITransformationContext;
987
+ translateRem: (x: number, y?:number)=>ITransformationContext;
988
+ translateVh: (x: number, y?:number)=>ITransformationContext;
989
+ translateVw: (x: number, y?:number)=>ITransformationContext;
990
+ translateVMax: (x: number, y?:number)=>ITransformationContext;
991
+ translateVMin: (x: number, y?:number)=>ITransformationContext;
992
+ translate3d: (x: NumericLength, y: NumericLength, z: NumericLength)=>ITransformationContext;
993
+ translate3dCm: (x: number, y: number, z: number)=>ITransformationContext;
994
+ translate3dCh: (x: number, y: number, z: number)=>ITransformationContext;
995
+ translate3dEm: (x: number, y: number, z: number)=>ITransformationContext;
996
+ translate3dEx: (x: number, y: number, z: number)=>ITransformationContext;
997
+ translate3dIn: (x: number, y: number, z: number)=>ITransformationContext;
998
+ translate3dMm: (x: number, y: number, z: number)=>ITransformationContext;
999
+ translate3dP: (x: number, y: number, z: number)=>ITransformationContext;
1000
+ translate3dPc: (x: number, y: number, z: number)=>ITransformationContext;
1001
+ translate3dPt: (x: number, y: number, z: number)=>ITransformationContext;
1002
+ translate3dPx: (x: number, y: number, z: number)=>ITransformationContext;
1003
+ translate3dRem: (x: number, y: number, z: number)=>ITransformationContext;
1004
+ translate3dVh: (x: number, y: number, z: number)=>ITransformationContext;
1005
+ translate3dVw: (x: number, y: number, z: number)=>ITransformationContext;
1006
+ translate3dVMax: (x: number, y: number, z: number)=>ITransformationContext;
1007
+ translate3dVMin: (x: number, y: number, z: number)=>ITransformationContext;
1008
+ translateX: (v: NumericLength)=>ITransformationContext;
1009
+ translateXCm: (v: number)=>ITransformationContext;
1010
+ translateXCh: (v: number)=>ITransformationContext;
1011
+ translateXEm: (v: number)=>ITransformationContext;
1012
+ translateXEx: (v: number)=>ITransformationContext;
1013
+ translateXIn: (v: number)=>ITransformationContext;
1014
+ translateXMm: (v: number)=>ITransformationContext;
1015
+ translateXP: (v: number)=>ITransformationContext;
1016
+ translateXPc: (v: number)=>ITransformationContext;
1017
+ translateXPt: (v: number)=>ITransformationContext;
1018
+ translateXPx: (v: number)=>ITransformationContext;
1019
+ translateXRem: (v: number)=>ITransformationContext;
1020
+ translateXVh: (v: number)=>ITransformationContext;
1021
+ translateXVw: (v: number)=>ITransformationContext;
1022
+ translateXVMax: (v: number)=>ITransformationContext;
1023
+ translateXVMin: (v: number)=>ITransformationContext;
1024
+ translateY: (v: NumericLength)=>ITransformationContext;
1025
+ translateYCm: (v: number)=>ITransformationContext;
1026
+ translateYCh: (v: number)=>ITransformationContext;
1027
+ translateYEm: (v: number)=>ITransformationContext;
1028
+ translateYEx: (v: number)=>ITransformationContext;
1029
+ translateYIn: (v: number)=>ITransformationContext;
1030
+ translateYMm: (v: number)=>ITransformationContext;
1031
+ translateYP: (v: number)=>ITransformationContext;
1032
+ translateYPc: (v: number)=>ITransformationContext;
1033
+ translateYPt: (v: number)=>ITransformationContext;
1034
+ translateYPx: (v: number)=>ITransformationContext;
1035
+ translateYRem: (v: number)=>ITransformationContext;
1036
+ translateYVh: (v: number)=>ITransformationContext;
1037
+ translateYVw: (v: number)=>ITransformationContext;
1038
+ translateYVMax: (v: number)=>ITransformationContext;
1039
+ translateYVMin: (v: number)=>ITransformationContext;
1040
+ translateZ: (v: NumericLength)=>ITransformationContext;
1041
+ translateZCm: (v: number)=>ITransformationContext;
1042
+ translateZCh: (v: number)=>ITransformationContext;
1043
+ translateZEm: (v: number)=>ITransformationContext;
1044
+ translateZEx: (v: number)=>ITransformationContext;
1045
+ translateZIn: (v: number)=>ITransformationContext;
1046
+ translateZMm: (v: number)=>ITransformationContext;
1047
+ translateZP: (v: number)=>ITransformationContext;
1048
+ translateZPc: (v: number)=>ITransformationContext;
1049
+ translateZPt: (v: number)=>ITransformationContext;
1050
+ translateZPx: (v: number)=>ITransformationContext;
1051
+ translateZRem: (v: number)=>ITransformationContext;
1052
+ translateZVh: (v: number)=>ITransformationContext;
1053
+ translateZVw: (v: number)=>ITransformationContext;
1054
+ translateZVMax: (v: number)=>ITransformationContext;
1055
+ translateZVMin: (v: number)=>ITransformationContext;
1056
+
1057
+ scale: (x: number, y?: number)=>ITransformationContext;
1058
+ scale3d: (x: number, y: number, z: number)=>ITransformationContext;
1059
+ scaleX: (v: number)=>ITransformationContext;
1060
+ scaleY: (v: number)=>ITransformationContext;
1061
+ scaleZ: (v: number)=>ITransformationContext;
1062
+
1063
+ rotate: (v: NumericAngle)=>ITransformationContext;
1064
+ rotateDeg: (v: number)=>ITransformationContext;
1065
+ rotateTurn: (v: number)=>ITransformationContext;
1066
+ rotateRad: (v: number)=>ITransformationContext;
1067
+ rotateGrad: (v: number)=>ITransformationContext;
1068
+ rotate3d: (x: number, y: number, z: number, a: NumericAngle)=>ITransformationContext;
1069
+ rotate3dDeg: (x: number, y: number, z: number, a: number)=>ITransformationContext;
1070
+ rotate3dTurn: (x: number, y: number, z: number, a: number)=>ITransformationContext;
1071
+ rotate3dRad: (x: number, y: number, z: number, a: number)=>ITransformationContext;
1072
+ rotate3dGrad: (x: number, y: number, z: number, a: number)=>ITransformationContext;
1073
+ rotateX: (v: NumericAngle)=>ITransformationContext;
1074
+ rotateXDeg: (v: number)=>ITransformationContext;
1075
+ rotateXTurn: (v: number)=>ITransformationContext;
1076
+ rotateXRad: (v: number)=>ITransformationContext;
1077
+ rotateXGrad: (v: number)=>ITransformationContext;
1078
+ rotateY: (v: NumericAngle)=>ITransformationContext;
1079
+ rotateYDeg: (v: number)=>ITransformationContext;
1080
+ rotateYTurn: (v: number)=>ITransformationContext;
1081
+ rotateYRad: (v: number)=>ITransformationContext;
1082
+ rotateYGrad: (v: number)=>ITransformationContext;
1083
+ rotateZ: (v: NumericAngle)=>ITransformationContext;
1084
+ rotateZDeg: (v: number)=>ITransformationContext;
1085
+ rotateZTurn: (v: number)=>ITransformationContext;
1086
+ rotateZRad: (v: number)=>ITransformationContext;
1087
+ rotateZGrad: (v: number)=>ITransformationContext;
1088
+
1089
+ skew: (x: NumericAngle, y?: NumericAngle)=>ITransformationContext;
1090
+ skewDeg: (x: number, y?: number)=>ITransformationContext;
1091
+ skewTurn: (x: number, y?: number)=>ITransformationContext;
1092
+ skewRad: (x: number, y?: number)=>ITransformationContext;
1093
+ skewGrad: (x: number, y?: number)=>ITransformationContext;
1094
+ skewX: (v: NumericAngle)=>ITransformationContext;
1095
+ skewXDeg: (v: number)=>ITransformationContext;
1096
+ skewXTurn: (v: number)=>ITransformationContext;
1097
+ skewXRad: (v: number)=>ITransformationContext;
1098
+ skewXGrad: (v: number)=>ITransformationContext;
1099
+ skewY: (v: NumericAngle)=>ITransformationContext;
1100
+ skewYDeg: (v: number)=>ITransformationContext;
1101
+ skewYTurn: (v: number)=>ITransformationContext;
1102
+ skewYRad: (v: number)=>ITransformationContext;
1103
+ skewYGrad: (v: number)=>ITransformationContext;
1104
+
1105
+ perspective: (v: NumericLength)=>ITransformationContext;
1106
+ perspectiveCm: (v: number)=>ITransformationContext;
1107
+ perspectiveCh: (v: number)=>ITransformationContext;
1108
+ perspectiveEm: (v: number)=>ITransformationContext;
1109
+ perspectiveEx: (v: number)=>ITransformationContext;
1110
+ perspectiveIn: (v: number)=>ITransformationContext;
1111
+ perspectiveMm: (v: number)=>ITransformationContext;
1112
+ perspectiveP: (v: number)=>ITransformationContext;
1113
+ perspectivePc: (v: number)=>ITransformationContext;
1114
+ perspectivePt: (v: number)=>ITransformationContext;
1115
+ perspectivePx: (v: number)=>ITransformationContext;
1116
+ perspectiveRem: (v: number)=>ITransformationContext;
1117
+ perspectiveVh: (v: number)=>ITransformationContext;
1118
+ perspectiveVw: (v: number)=>ITransformationContext;
1119
+ perspectiveVMax: (v: number)=>ITransformationContext;
1120
+ perspectiveVMin: (v: number)=>ITransformationContext;
1121
+ }
1122
+