dothtml 5.2.2 → 5.2.4
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/lib/dothtml.js +1 -1
- package/package.json +2 -1
- package/.vscode/launch.json +0 -34
- package/.vscode/settings.json +0 -6
- package/azure-pipelines.yml +0 -14
- package/babel.config.js +0 -1
- package/jest.config.ts +0 -207
- package/out.md +0 -1340
- package/src/arg-callback-obj.ts +0 -76
- package/src/built-in-components/nav-link.ts +0 -21
- package/src/built-in-components/router.ts +0 -315
- package/src/component.ts +0 -415
- package/src/dot-util.ts +0 -69
- package/src/dot.ts +0 -1147
- package/src/dothtml.ts +0 -39
- package/src/err.ts +0 -22
- package/src/event-bus.ts +0 -39
- package/src/i-dot.ts +0 -787
- package/src/node-polyfill.ts +0 -11
- package/src/observable-array.ts +0 -289
- package/src/styling/css-types.ts/css-angle.ts +0 -18
- package/src/styling/css-types.ts/css-color.ts +0 -233
- package/src/styling/css-types.ts/css-complex.ts +0 -20
- package/src/styling/css-types.ts/css-data-type.ts +0 -9
- package/src/styling/css-types.ts/css-filter.ts +0 -134
- package/src/styling/css-types.ts/css-length.ts +0 -20
- package/src/styling/css-types.ts/css-number.ts +0 -12
- package/src/styling/css-types.ts/css-percentage.ts +0 -10
- package/src/styling/css-types.ts/css-transform.ts +0 -220
- package/src/styling/css-types.ts/css-unknown.ts +0 -13
- package/src/styling/css-types.ts/css-url.ts +0 -41
- package/src/styling/i-dotcss.ts +0 -1198
- package/src/styling/style-builder.ts +0 -967
- package/src/styling/unit-function-tables.ts +0 -24
- package/tsconfig.json +0 -99
- package/unittests/advanced-bindings.test.ts +0 -421
- package/unittests/array-evaluation.test.ts +0 -7
- package/unittests/basic-functionality.test.ts +0 -88
- package/unittests/calc.test.ts +0 -6
- package/unittests/class-binding.test.ts +0 -227
- package/unittests/components/component-decorator.-.ts +0 -14
- package/unittests/components/components-data.test.ts +0 -153
- package/unittests/components/components.test.ts +0 -258
- package/unittests/computed.test.ts +0 -35
- package/unittests/core.ts +0 -66
- package/unittests/element-and-attribute-coverage.test.ts +0 -472
- package/unittests/hooks.test.ts +0 -67
- package/unittests/immutable-if.test.ts +0 -19
- package/unittests/input-bindings.test.ts +0 -166
- package/unittests/integration.test.ts +0 -5
- package/unittests/iterations.test.ts +0 -18
- package/unittests/logic.test.ts +0 -18
- package/unittests/non-function-props-rerender.test.ts +0 -86
- package/unittests/refs.test.ts +0 -36
- package/unittests/routing.-.ts +0 -56
- package/unittests/scopes.test.ts +0 -22
- package/unittests/special-tags.test.ts +0 -39
- package/unittests/styles.test.ts +0 -9
- package/unittests/styling/animations.test.ts +0 -14
- package/unittests/styling/filters.test.ts +0 -23
- package/unittests/styling/inline-styling.test.ts +0 -18
- package/unittests/styling/pseudo-selectors.test.ts +0 -33
- package/unittests/styling/transformations.test.ts +0 -234
- package/unittests/styling/value-interpretation.test.ts +0 -3
- package/unittests/testpage.ts +0 -5
- package/unittests/wait.test.ts +0 -31
- package/webpack.config.js +0 -28
package/src/node-polyfill.ts
DELETED
package/src/observable-array.ts
DELETED
|
@@ -1,289 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export default function ObservableArray(items/*, ...target: Array<any>*/) {
|
|
4
|
-
var _self = this,
|
|
5
|
-
_array = [],
|
|
6
|
-
_handlers = {
|
|
7
|
-
itemadded: [],
|
|
8
|
-
itemremoved: [],
|
|
9
|
-
itemset: [],
|
|
10
|
-
read: []
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
function defineIndexProperty(index) {
|
|
14
|
-
if (!(index in _self)) {
|
|
15
|
-
Object.defineProperty(_self, index, {
|
|
16
|
-
configurable: true,
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function() {
|
|
19
|
-
raiseEvent({
|
|
20
|
-
type: "read",
|
|
21
|
-
index: index,
|
|
22
|
-
item: _array[index]
|
|
23
|
-
});
|
|
24
|
-
return _array[index];
|
|
25
|
-
},
|
|
26
|
-
set: function(v) {
|
|
27
|
-
if(_array[index] != v){
|
|
28
|
-
_array[index] = v;
|
|
29
|
-
raiseEvent({
|
|
30
|
-
type: "itemset",
|
|
31
|
-
index: index,
|
|
32
|
-
item: v
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function raiseEvent(event) {
|
|
41
|
-
_handlers[event.type].forEach(function(h) {
|
|
42
|
-
h.call(_self, event);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
Object.defineProperty(_self, "addEventListener", {
|
|
47
|
-
configurable: false,
|
|
48
|
-
enumerable: false,
|
|
49
|
-
writable: false,
|
|
50
|
-
value: function(eventName, handler) {
|
|
51
|
-
eventName = ("" + eventName).toLowerCase();
|
|
52
|
-
if (!(eventName in _handlers)) throw new Error("Invalid event name.");
|
|
53
|
-
if (typeof handler !== "function") throw new Error("Invalid handler.");
|
|
54
|
-
_handlers[eventName].push(handler);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
Object.defineProperty(_self, "removeEventListener", {
|
|
59
|
-
configurable: false,
|
|
60
|
-
enumerable: false,
|
|
61
|
-
writable: false,
|
|
62
|
-
value: function(eventName, handler) {
|
|
63
|
-
eventName = ("" + eventName).toLowerCase();
|
|
64
|
-
if (!(eventName in _handlers)) throw new Error("Invalid event name.");
|
|
65
|
-
if (typeof handler !== "function") throw new Error("Invalid handler.");
|
|
66
|
-
var h = _handlers[eventName];
|
|
67
|
-
var ln = h.length;
|
|
68
|
-
while (--ln >= 0) {
|
|
69
|
-
if (h[ln] === handler) {
|
|
70
|
-
h.splice(ln, 1);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
Object.defineProperty(_self, "push", {
|
|
77
|
-
configurable: false,
|
|
78
|
-
enumerable: false,
|
|
79
|
-
writable: false,
|
|
80
|
-
value: function() {
|
|
81
|
-
var index;
|
|
82
|
-
for (var i = 0, ln = arguments.length; i < ln; i++) {
|
|
83
|
-
index = _array.length;
|
|
84
|
-
_array.push(arguments[i]);
|
|
85
|
-
defineIndexProperty(index);
|
|
86
|
-
raiseEvent({
|
|
87
|
-
type: "itemadded",
|
|
88
|
-
index: index,
|
|
89
|
-
item: arguments[i]
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
return _array.length;
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
Object.defineProperty(_self, "pop", {
|
|
97
|
-
configurable: false,
|
|
98
|
-
enumerable: false,
|
|
99
|
-
writable: false,
|
|
100
|
-
value: function() {
|
|
101
|
-
if (_array.length > -1) {
|
|
102
|
-
var index = _array.length - 1,
|
|
103
|
-
item = _array.pop();
|
|
104
|
-
delete _self[index];
|
|
105
|
-
raiseEvent({
|
|
106
|
-
type: "itemremoved",
|
|
107
|
-
index: index,
|
|
108
|
-
item: item
|
|
109
|
-
});
|
|
110
|
-
return item;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
Object.defineProperty(_self, "unshift", {
|
|
116
|
-
configurable: false,
|
|
117
|
-
enumerable: false,
|
|
118
|
-
writable: false,
|
|
119
|
-
value: function() {
|
|
120
|
-
for (var i = 0, ln = arguments.length; i < ln; i++) {
|
|
121
|
-
_array.splice(i, 0, arguments[i]);
|
|
122
|
-
defineIndexProperty(_array.length - 1);
|
|
123
|
-
raiseEvent({
|
|
124
|
-
type: "itemadded",
|
|
125
|
-
index: i,
|
|
126
|
-
item: arguments[i]
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
// Not sure why this was here. Nothing should be getting set.
|
|
130
|
-
// for (; i < _array.length; i++) {
|
|
131
|
-
// raiseEvent({
|
|
132
|
-
// type: "itemset",
|
|
133
|
-
// index: i,
|
|
134
|
-
// item: _array[i]
|
|
135
|
-
// });
|
|
136
|
-
// }
|
|
137
|
-
return _array.length;
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
Object.defineProperty(_self, "shift", {
|
|
142
|
-
configurable: false,
|
|
143
|
-
enumerable: false,
|
|
144
|
-
writable: false,
|
|
145
|
-
value: function() {
|
|
146
|
-
if (_array.length > -1) {
|
|
147
|
-
var item = _array.shift();
|
|
148
|
-
delete _self[_array.length];
|
|
149
|
-
raiseEvent({
|
|
150
|
-
type: "itemremoved",
|
|
151
|
-
index: 0,
|
|
152
|
-
item: item
|
|
153
|
-
});
|
|
154
|
-
return item;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
Object.defineProperty(_self, "splice", {
|
|
160
|
-
configurable: false,
|
|
161
|
-
enumerable: false,
|
|
162
|
-
writable: false,
|
|
163
|
-
value: function(index, howMany /*, element1, element2, ... */ ) {
|
|
164
|
-
var removed = [],
|
|
165
|
-
item,
|
|
166
|
-
pos;
|
|
167
|
-
|
|
168
|
-
index = index == null ? 0 : index < 0 ? _array.length + index : index;
|
|
169
|
-
|
|
170
|
-
howMany = howMany == null ? _array.length - index : howMany > 0 ? howMany : 0;
|
|
171
|
-
|
|
172
|
-
var removeEvents = [];
|
|
173
|
-
while (howMany--) {
|
|
174
|
-
item = _array.splice(index, 1)[0];
|
|
175
|
-
removed.push(item);
|
|
176
|
-
delete _self[_array.length];
|
|
177
|
-
removeEvents.push({
|
|
178
|
-
type: "itemremoved",
|
|
179
|
-
index: index + removed.length - 1,
|
|
180
|
-
item: item
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
for(var i = removeEvents.length - 1; i >= 0; i--){
|
|
184
|
-
raiseEvent(removeEvents[i]);
|
|
185
|
-
}
|
|
186
|
-
for (var i = 2, ln = arguments.length; i < ln; i++) {
|
|
187
|
-
_array.splice(index, 0, arguments[i]);
|
|
188
|
-
defineIndexProperty(_array.length - 1);
|
|
189
|
-
raiseEvent({
|
|
190
|
-
type: "itemadded",
|
|
191
|
-
index: index,
|
|
192
|
-
item: arguments[i]
|
|
193
|
-
});
|
|
194
|
-
index++;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
return removed;
|
|
198
|
-
}
|
|
199
|
-
});
|
|
200
|
-
|
|
201
|
-
Object.defineProperty(_self, "length", {
|
|
202
|
-
configurable: false,
|
|
203
|
-
enumerable: false,
|
|
204
|
-
get: function() {
|
|
205
|
-
return _array.length;
|
|
206
|
-
},
|
|
207
|
-
set: function(value) {
|
|
208
|
-
var n = Number(value);
|
|
209
|
-
var length = _array.length;
|
|
210
|
-
if (n % 1 === 0 && n >= 0) {
|
|
211
|
-
if (n < length) {
|
|
212
|
-
_self.splice(n);
|
|
213
|
-
} else if (n > length) {
|
|
214
|
-
_self.push.apply(_self, new Array(n - length));
|
|
215
|
-
}
|
|
216
|
-
} else {
|
|
217
|
-
throw new RangeError("Invalid array length");
|
|
218
|
-
}
|
|
219
|
-
_array.length = n;
|
|
220
|
-
return value;
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
|
|
224
|
-
Object.getOwnPropertyNames(Array.prototype).forEach(function(name) {
|
|
225
|
-
if (!(name in _self)) {
|
|
226
|
-
Object.defineProperty(_self, name, {
|
|
227
|
-
configurable: false,
|
|
228
|
-
enumerable: false,
|
|
229
|
-
writable: false,
|
|
230
|
-
value: Array.prototype[name]
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
|
|
235
|
-
if (items instanceof Array) {
|
|
236
|
-
_self.push.apply(_self, items);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
ObservableArray.prototype.length = 0;
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
|
|
244
|
-
(function testing() {
|
|
245
|
-
|
|
246
|
-
var x = new ObservableArray(["a", "b", "c", "d"]);
|
|
247
|
-
|
|
248
|
-
console.log("original array: %o", x.slice());
|
|
249
|
-
|
|
250
|
-
x.addEventListener("itemadded", function(e) {
|
|
251
|
-
console.log("Added %o at index %d.", e.item, e.index);
|
|
252
|
-
});
|
|
253
|
-
|
|
254
|
-
x.addEventListener("itemset", function(e) {
|
|
255
|
-
console.log("Set index %d to %o.", e.index, e.item);
|
|
256
|
-
});
|
|
257
|
-
|
|
258
|
-
x.addEventListener("itemremoved", function(e) {
|
|
259
|
-
console.log("Removed %o at index %d.", e.item, e.index);
|
|
260
|
-
});
|
|
261
|
-
|
|
262
|
-
console.log("popping and unshifting...");
|
|
263
|
-
x.unshift(x.pop());
|
|
264
|
-
|
|
265
|
-
console.log("updated array: %o", x.slice());
|
|
266
|
-
|
|
267
|
-
console.log("reversing array...");
|
|
268
|
-
console.log("updated array: %o", x.reverse().slice());
|
|
269
|
-
|
|
270
|
-
console.log("splicing...");
|
|
271
|
-
x.splice(1, 2, "x");
|
|
272
|
-
console.log("setting index 2...");
|
|
273
|
-
x[2] = "foo";
|
|
274
|
-
|
|
275
|
-
console.log("setting length to 10...");
|
|
276
|
-
x.length = 10;
|
|
277
|
-
console.log("updated array: %o", x.slice());
|
|
278
|
-
|
|
279
|
-
console.log("setting length to 2...");
|
|
280
|
-
x.length = 2;
|
|
281
|
-
|
|
282
|
-
console.log("extracting first element via shift()");
|
|
283
|
-
x.shift();
|
|
284
|
-
|
|
285
|
-
console.log("updated array: %o", x.slice());
|
|
286
|
-
|
|
287
|
-
})();
|
|
288
|
-
|
|
289
|
-
*/
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { floatRegex } from "../../dot-util";
|
|
2
|
-
import CssDataType from "./css-data-type";
|
|
3
|
-
|
|
4
|
-
export default class CssAngle extends CssDataType{
|
|
5
|
-
angle: number;
|
|
6
|
-
units: string;
|
|
7
|
-
constructor(value: string|number){
|
|
8
|
-
super("angle");
|
|
9
|
-
value = value || "0deg";
|
|
10
|
-
if(!isNaN(value as number)) value = `${Math.round(value as number)}deg`;
|
|
11
|
-
this.angle = Number((value as string).match(floatRegex)[0]);
|
|
12
|
-
this.units = (value as string).split(floatRegex)[1] || "deg";
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
toString(){
|
|
16
|
-
return this.angle + this.units;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
import CssDataType from "./css-data-type";
|
|
2
|
-
|
|
3
|
-
export default class CssColor extends CssDataType{
|
|
4
|
-
r: number;
|
|
5
|
-
g: number;
|
|
6
|
-
b: number;
|
|
7
|
-
a: number;
|
|
8
|
-
constructor(value){
|
|
9
|
-
super("color");
|
|
10
|
-
this.r = 0;
|
|
11
|
-
this.g = 0;
|
|
12
|
-
this.b = 0;
|
|
13
|
-
this.a = 1;
|
|
14
|
-
|
|
15
|
-
// This is typically the way dothtml passes in values to colors. Flatten.
|
|
16
|
-
if(Array.isArray(value) && value.length == 1) value = value[0];
|
|
17
|
-
|
|
18
|
-
if(typeof value == "number") {
|
|
19
|
-
this.b = value & 0xFF;
|
|
20
|
-
value >>= 8;
|
|
21
|
-
this.g = value & 0xFF;
|
|
22
|
-
value >>= 8;
|
|
23
|
-
this.r = value & 0xFF;
|
|
24
|
-
}
|
|
25
|
-
else if(typeof value == "string") {
|
|
26
|
-
// value = value[0];
|
|
27
|
-
if(value == "" || value == "none" || value == "initial" || value == "inherit"){} //Nothing more needs to be done.
|
|
28
|
-
else if(value[0] == "#"){
|
|
29
|
-
var cH = value.split("#")[1];
|
|
30
|
-
if(cH.length == 3){
|
|
31
|
-
this.r = Number("0x" + cH[0] + "" + cH[0]);
|
|
32
|
-
this.g = Number("0x" + cH[1] + "" + cH[1]);
|
|
33
|
-
this.b = Number("0x" + cH[2] + "" + cH[2]);
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
else if(cH.length == 6){
|
|
37
|
-
this.r = Number("0x" + cH[0] + "" + cH[1]);
|
|
38
|
-
this.g = Number("0x" + cH[2] + "" + cH[3]);
|
|
39
|
-
this.b = Number("0x" + cH[4] + "" + cH[5]);
|
|
40
|
-
}
|
|
41
|
-
//else throw value + " is not a valid color"; //or just stick with black.
|
|
42
|
-
}
|
|
43
|
-
else if(value.toLowerCase().indexOf("rgb") === 0){
|
|
44
|
-
//This also handles rgba.
|
|
45
|
-
var cData = value.split("(")[1];
|
|
46
|
-
cData = cData.split(")")[0];
|
|
47
|
-
var cDataItems = cData.split(",");
|
|
48
|
-
if(cDataItems.length == 3 || cDataItems.length == 4){
|
|
49
|
-
this.r = Number(cDataItems[0]);
|
|
50
|
-
this.g = Number(cDataItems[1]);
|
|
51
|
-
this.b = Number(cDataItems[2]);
|
|
52
|
-
this.a = Number(cDataItems[3] || 1);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
else{
|
|
56
|
-
var r = 0;
|
|
57
|
-
var g = 0;
|
|
58
|
-
var b = 0;
|
|
59
|
-
switch(value.toLowerCase()){
|
|
60
|
-
case 'aliceblue':r=0xF0;g=0xF8;b=0xFF;break;
|
|
61
|
-
case 'antiquewhite':r=0xFA;g=0xEB;b=0xD7;break;
|
|
62
|
-
case 'aqua':r=0x00;g=0xFF;b=0xFF;break;
|
|
63
|
-
case 'aquamarine':r=0x7F;g=0xFF;b=0xD4;break;
|
|
64
|
-
case 'azure':r=0xF0;g=0xFF;b=0xFF;break;
|
|
65
|
-
case 'beige':r=0xF5;g=0xF5;b=0xDC;break;
|
|
66
|
-
case 'bisque':r=0xFF;g=0xE4;b=0xC4;break;
|
|
67
|
-
case 'black':r=0x00;g=0x00;b=0x00;break;
|
|
68
|
-
case 'blanchedalmond':r=0xFF;g=0xEB;b=0xCD;break;
|
|
69
|
-
case 'blue':r=0x00;g=0x00;b=0xFF;break;
|
|
70
|
-
case 'blueviolet':r=0x8A;g=0x2B;b=0xE2;break;
|
|
71
|
-
case 'brown':r=0xA5;g=0x2A;b=0x2A;break;
|
|
72
|
-
case 'burlywood':r=0xDE;g=0xB8;b=0x87;break;
|
|
73
|
-
case 'cadetblue':r=0x5F;g=0x9E;b=0xA0;break;
|
|
74
|
-
case 'chartreuse':r=0x7F;g=0xFF;b=0x00;break;
|
|
75
|
-
case 'chocolate':r=0xD2;g=0x69;b=0x1E;break;
|
|
76
|
-
case 'coral':r=0xFF;g=0x7F;b=0x50;break;
|
|
77
|
-
case 'cornflowerblue':r=0x64;g=0x95;b=0xED;break;
|
|
78
|
-
case 'cornsilk':r=0xFF;g=0xF8;b=0xDC;break;
|
|
79
|
-
case 'crimson':r=0xDC;g=0x14;b=0x3C;break;
|
|
80
|
-
case 'cyan':r=0x00;g=0xFF;b=0xFF;break;
|
|
81
|
-
case 'darkblue':r=0x00;g=0x00;b=0x8B;break;
|
|
82
|
-
case 'darkcyan':r=0x00;g=0x8B;b=0x8B;break;
|
|
83
|
-
case 'darkgoldenrod':r=0xB8;g=0x86;b=0x0B;break;
|
|
84
|
-
case 'darkgray':r=0xA9;g=0xA9;b=0xA9;break;
|
|
85
|
-
case 'darkgrey':r=0xA9;g=0xA9;b=0xA9;break;
|
|
86
|
-
case 'darkgreen':r=0x00;g=0x64;b=0x00;break;
|
|
87
|
-
case 'darkkhaki':r=0xBD;g=0xB7;b=0x6B;break;
|
|
88
|
-
case 'darkmagenta':r=0x8B;g=0x00;b=0x8B;break;
|
|
89
|
-
case 'darkolivegreen':r=0x55;g=0x6B;b=0x2F;break;
|
|
90
|
-
case 'darkorange':r=0xFF;g=0x8C;b=0x00;break;
|
|
91
|
-
case 'darkorchid':r=0x99;g=0x32;b=0xCC;break;
|
|
92
|
-
case 'darkred':r=0x8B;g=0x00;b=0x00;break;
|
|
93
|
-
case 'darksalmon':r=0xE9;g=0x96;b=0x7A;break;
|
|
94
|
-
case 'darkseagreen':r=0x8F;g=0xBC;b=0x8F;break;
|
|
95
|
-
case 'darkslateblue':r=0x48;g=0x3D;b=0x8B;break;
|
|
96
|
-
case 'darkslategray':r=0x2F;g=0x4F;b=0x4F;break;
|
|
97
|
-
case 'darkslategrey':r=0x2F;g=0x4F;b=0x4F;break;
|
|
98
|
-
case 'darkturquoise':r=0x00;g=0xCE;b=0xD1;break;
|
|
99
|
-
case 'darkviolet':r=0x94;g=0x00;b=0xD3;break;
|
|
100
|
-
case 'deeppink':r=0xFF;g=0x14;b=0x93;break;
|
|
101
|
-
case 'deepskyblue':r=0x00;g=0xBF;b=0xFF;break;
|
|
102
|
-
case 'dimgray':r=0x69;g=0x69;b=0x69;break;
|
|
103
|
-
case 'dimgrey':r=0x69;g=0x69;b=0x69;break;
|
|
104
|
-
case 'dodgerblue':r=0x1E;g=0x90;b=0xFF;break;
|
|
105
|
-
case 'firebrick':r=0xB2;g=0x22;b=0x22;break;
|
|
106
|
-
case 'floralwhite':r=0xFF;g=0xFA;b=0xF0;break;
|
|
107
|
-
case 'forestgreen':r=0x22;g=0x8B;b=0x22;break;
|
|
108
|
-
case 'fuchsia':r=0xFF;g=0x00;b=0xFF;break;
|
|
109
|
-
case 'gainsboro':r=0xDC;g=0xDC;b=0xDC;break;
|
|
110
|
-
case 'ghostwhite':r=0xF8;g=0xF8;b=0xFF;break;
|
|
111
|
-
case 'gold':r=0xFF;g=0xD7;b=0x00;break;
|
|
112
|
-
case 'goldenrod':r=0xDA;g=0xA5;b=0x20;break;
|
|
113
|
-
case 'gray':r=0x80;g=0x80;b=0x80;break;
|
|
114
|
-
case 'grey':r=0x80;g=0x80;b=0x80;break;
|
|
115
|
-
case 'green':r=0x00;g=0x80;b=0x00;break;
|
|
116
|
-
case 'greenyellow':r=0xAD;g=0xFF;b=0x2F;break;
|
|
117
|
-
case 'honeydew':r=0xF0;g=0xFF;b=0xF0;break;
|
|
118
|
-
case 'hotpink':r=0xFF;g=0x69;b=0xB4;break;
|
|
119
|
-
case 'indianred':r=0xCD;g=0x5C;b=0x5C;break;
|
|
120
|
-
case 'indigo':r=0x4B;g=0x00;b=0x82;break;
|
|
121
|
-
case 'ivory':r=0xFF;g=0xFF;b=0xF0;break;
|
|
122
|
-
case 'khaki':r=0xF0;g=0xE6;b=0x8C;break;
|
|
123
|
-
case 'lavender':r=0xE6;g=0xE6;b=0xFA;break;
|
|
124
|
-
case 'lavenderblush':r=0xFF;g=0xF0;b=0xF5;break;
|
|
125
|
-
case 'lawngreen':r=0x7C;g=0xFC;b=0x00;break;
|
|
126
|
-
case 'lemonchiffon':r=0xFF;g=0xFA;b=0xCD;break;
|
|
127
|
-
case 'lightblue':r=0xAD;g=0xD8;b=0xE6;break;
|
|
128
|
-
case 'lightcoral':r=0xF0;g=0x80;b=0x80;break;
|
|
129
|
-
case 'lightcyan':r=0xE0;g=0xFF;b=0xFF;break;
|
|
130
|
-
case 'lightgoldenrodyellow':r=0xFA;g=0xFA;b=0xD2;break;
|
|
131
|
-
case 'lightgray':r=0xD3;g=0xD3;b=0xD3;break;
|
|
132
|
-
case 'lightgrey':r=0xD3;g=0xD3;b=0xD3;break;
|
|
133
|
-
case 'lightgreen':r=0x90;g=0xEE;b=0x90;break;
|
|
134
|
-
case 'lightpink':r=0xFF;g=0xB6;b=0xC1;break;
|
|
135
|
-
case 'lightsalmon':r=0xFF;g=0xA0;b=0x7A;break;
|
|
136
|
-
case 'lightseagreen':r=0x20;g=0xB2;b=0xAA;break;
|
|
137
|
-
case 'lightskyblue':r=0x87;g=0xCE;b=0xFA;break;
|
|
138
|
-
case 'lightslategray':r=0x77;g=0x88;b=0x99;break;
|
|
139
|
-
case 'lightslategrey':r=0x77;g=0x88;b=0x99;break;
|
|
140
|
-
case 'lightsteelblue':r=0xB0;g=0xC4;b=0xDE;break;
|
|
141
|
-
case 'lightyellow':r=0xFF;g=0xFF;b=0xE0;break;
|
|
142
|
-
case 'lime':r=0x00;g=0xFF;b=0x00;break;
|
|
143
|
-
case 'limegreen':r=0x32;g=0xCD;b=0x32;break;
|
|
144
|
-
case 'linen':r=0xFA;g=0xF0;b=0xE6;break;
|
|
145
|
-
case 'magenta':r=0xFF;g=0x00;b=0xFF;break;
|
|
146
|
-
case 'maroon':r=0x80;g=0x00;b=0x00;break;
|
|
147
|
-
case 'mediumaquamarine':r=0x66;g=0xCD;b=0xAA;break;
|
|
148
|
-
case 'mediumblue':r=0x00;g=0x00;b=0xCD;break;
|
|
149
|
-
case 'mediumorchid':r=0xBA;g=0x55;b=0xD3;break;
|
|
150
|
-
case 'mediumpurple':r=0x93;g=0x70;b=0xDB;break;
|
|
151
|
-
case 'mediumseagreen':r=0x3C;g=0xB3;b=0x71;break;
|
|
152
|
-
case 'mediumslateblue':r=0x7B;g=0x68;b=0xEE;break;
|
|
153
|
-
case 'mediumspringgreen':r=0x00;g=0xFA;b=0x9A;break;
|
|
154
|
-
case 'mediumturquoise':r=0x48;g=0xD1;b=0xCC;break;
|
|
155
|
-
case 'mediumvioletred':r=0xC7;g=0x15;b=0x85;break;
|
|
156
|
-
case 'midnightblue':r=0x19;g=0x19;b=0x70;break;
|
|
157
|
-
case 'mintcream':r=0xF5;g=0xFF;b=0xFA;break;
|
|
158
|
-
case 'mistyrose':r=0xFF;g=0xE4;b=0xE1;break;
|
|
159
|
-
case 'moccasin':r=0xFF;g=0xE4;b=0xB5;break;
|
|
160
|
-
case 'navajowhite':r=0xFF;g=0xDE;b=0xAD;break;
|
|
161
|
-
case 'navy':r=0x00;g=0x00;b=0x80;break;
|
|
162
|
-
case 'oldlace':r=0xFD;g=0xF5;b=0xE6;break;
|
|
163
|
-
case 'olive':r=0x80;g=0x80;b=0x00;break;
|
|
164
|
-
case 'olivedrab':r=0x6B;g=0x8E;b=0x23;break;
|
|
165
|
-
case 'orange':r=0xFF;g=0xA5;b=0x00;break;
|
|
166
|
-
case 'orangered':r=0xFF;g=0x45;b=0x00;break;
|
|
167
|
-
case 'orchid':r=0xDA;g=0x70;b=0xD6;break;
|
|
168
|
-
case 'palegoldenrod':r=0xEE;g=0xE8;b=0xAA;break;
|
|
169
|
-
case 'palegreen':r=0x98;g=0xFB;b=0x98;break;
|
|
170
|
-
case 'paleturquoise':r=0xAF;g=0xEE;b=0xEE;break;
|
|
171
|
-
case 'palevioletred':r=0xDB;g=0x70;b=0x93;break;
|
|
172
|
-
case 'papayawhip':r=0xFF;g=0xEF;b=0xD5;break;
|
|
173
|
-
case 'peachpuff':r=0xFF;g=0xDA;b=0xB9;break;
|
|
174
|
-
case 'peru':r=0xCD;g=0x85;b=0x3F;break;
|
|
175
|
-
case 'pink':r=0xFF;g=0xC0;b=0xCB;break;
|
|
176
|
-
case 'plum':r=0xDD;g=0xA0;b=0xDD;break;
|
|
177
|
-
case 'powderblue':r=0xB0;g=0xE0;b=0xE6;break;
|
|
178
|
-
case 'purple':r=0x80;g=0x00;b=0x80;break;
|
|
179
|
-
case 'rebeccapurple':r=0x66;g=0x33;b=0x99;break;
|
|
180
|
-
case 'red':r=0xFF;g=0x00;b=0x00;break;
|
|
181
|
-
case 'rosybrown':r=0xBC;g=0x8F;b=0x8F;break;
|
|
182
|
-
case 'royalblue':r=0x41;g=0x69;b=0xE1;break;
|
|
183
|
-
case 'saddlebrown':r=0x8B;g=0x45;b=0x13;break;
|
|
184
|
-
case 'salmon':r=0xFA;g=0x80;b=0x72;break;
|
|
185
|
-
case 'sandybrown':r=0xF4;g=0xA4;b=0x60;break;
|
|
186
|
-
case 'seagreen':r=0x2E;g=0x8B;b=0x57;break;
|
|
187
|
-
case 'seashell':r=0xFF;g=0xF5;b=0xEE;break;
|
|
188
|
-
case 'sienna':r=0xA0;g=0x52;b=0x2D;break;
|
|
189
|
-
case 'silver':r=0xC0;g=0xC0;b=0xC0;break;
|
|
190
|
-
case 'skyblue':r=0x87;g=0xCE;b=0xEB;break;
|
|
191
|
-
case 'slateblue':r=0x6A;g=0x5A;b=0xCD;break;
|
|
192
|
-
case 'slategray':r=0x70;g=0x80;b=0x90;break;
|
|
193
|
-
case 'slategrey':r=0x70;g=0x80;b=0x90;break;
|
|
194
|
-
case 'snow':r=0xFF;g=0xFA;b=0xFA;break;
|
|
195
|
-
case 'springgreen':r=0x00;g=0xFF;b=0x7F;break;
|
|
196
|
-
case 'steelblue':r=0x46;g=0x82;b=0xB4;break;
|
|
197
|
-
case 'tan':r=0xD2;g=0xB4;b=0x8C;break;
|
|
198
|
-
case 'teal':r=0x00;g=0x80;b=0x80;break;
|
|
199
|
-
case 'thistle':r=0xD8;g=0xBF;b=0xD8;break;
|
|
200
|
-
case 'tomato':r=0xFF;g=0x63;b=0x47;break;
|
|
201
|
-
case 'turquoise':r=0x40;g=0xE0;b=0xD0;break;
|
|
202
|
-
case 'violet':r=0xEE;g=0x82;b=0xEE;break;
|
|
203
|
-
case 'wheat':r=0xF5;g=0xDE;b=0xB3;break;
|
|
204
|
-
case 'white':r=0xFF;g=0xFF;b=0xFF;break;
|
|
205
|
-
case 'whitesmoke':r=0xF5;g=0xF5;b=0xF5;break;
|
|
206
|
-
case 'yellow':r=0xFF;g=0xFF;b=0x00;break;
|
|
207
|
-
case 'yellowgreen':r=0x9A;g=0xCD;b=0x32;break;
|
|
208
|
-
}
|
|
209
|
-
this.r = r;
|
|
210
|
-
this.g = g;
|
|
211
|
-
this.b = b;
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
else if(value.length == 3 || value.length == 4){
|
|
215
|
-
this.r = value[0];
|
|
216
|
-
this.g = value[1];
|
|
217
|
-
this.b = value[2];
|
|
218
|
-
if(value.length == 4){
|
|
219
|
-
this.a = value[3];
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
toString(){
|
|
225
|
-
var R = Math.round;
|
|
226
|
-
var X = Math.max;
|
|
227
|
-
var N = Math.min;
|
|
228
|
-
if(this.a == 1)
|
|
229
|
-
return "rgb(" + N(255, X(0, R(this.r))) + ", " + N(255, X(0, R(this.g))) + ", " + N(255, X(0, R(this.b))) + ")";
|
|
230
|
-
else
|
|
231
|
-
return "rgba(" + N(255, X(0, R(this.r))) + ", " + N(255, X(0, R(this.g))) + ", " + N(255, X(0, R(this.b))) + ", " + N(1, X(0, this.a)) + ")";
|
|
232
|
-
}
|
|
233
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { floatRegex } from "../../dot-util";
|
|
2
|
-
import CssDataType from "./css-data-type";
|
|
3
|
-
|
|
4
|
-
export default class CssComplex extends CssDataType{
|
|
5
|
-
parts: string[];
|
|
6
|
-
numbers: string;
|
|
7
|
-
constructor(value){
|
|
8
|
-
super("complex");
|
|
9
|
-
this.parts = (" " + value + " ").split(floatRegex);
|
|
10
|
-
this.numbers = value.match(floatRegex);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
toString(){
|
|
14
|
-
var ret = this.parts[0];
|
|
15
|
-
for(var i = 0; i < this.numbers.length; i++){
|
|
16
|
-
ret += this.numbers[i] + this.parts[i+1];
|
|
17
|
-
}
|
|
18
|
-
return ret;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare type CssDataTypeToken = "url"|"number"|"length"|"angle"|"color"|"transformation"|"filter"|"complex"|"unknown";
|
|
2
|
-
|
|
3
|
-
export default abstract class CssDataType{
|
|
4
|
-
type: CssDataTypeToken;
|
|
5
|
-
|
|
6
|
-
constructor(type: CssDataTypeToken){
|
|
7
|
-
this.type = type;
|
|
8
|
-
}
|
|
9
|
-
}
|