dothtml 5.2.1 → 5.2.3

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 (94) hide show
  1. package/lib/dothtml.js +1 -1
  2. package/package.json +2 -1
  3. package/.vscode/launch.json +0 -34
  4. package/.vscode/settings.json +0 -6
  5. package/azure-pipelines.yml +0 -14
  6. package/babel.config.js +0 -1
  7. package/jest.config.ts +0 -207
  8. package/lib/arg-callback-obj.d.ts +0 -29
  9. package/lib/built-in-components/nav-link.d.ts +0 -8
  10. package/lib/built-in-components/router.d.ts +0 -57
  11. package/lib/component.d.ts +0 -82
  12. package/lib/dot-util.d.ts +0 -26
  13. package/lib/dot.d.ts +0 -5
  14. package/lib/dothtml.d.ts +0 -25
  15. package/lib/dothtml.js.LICENSE.txt +0 -1
  16. package/lib/err.d.ts +0 -2
  17. package/lib/event-bus.d.ts +0 -10
  18. package/lib/i-dot.d.ts +0 -674
  19. package/lib/node-polyfill.d.ts +0 -2
  20. package/lib/observable-array.d.ts +0 -49
  21. package/lib/styling/css-types.ts/css-angle.d.ts +0 -7
  22. package/lib/styling/css-types.ts/css-color.d.ts +0 -9
  23. package/lib/styling/css-types.ts/css-complex.d.ts +0 -7
  24. package/lib/styling/css-types.ts/css-data-type.d.ts +0 -5
  25. package/lib/styling/css-types.ts/css-filter.d.ts +0 -22
  26. package/lib/styling/css-types.ts/css-length.d.ts +0 -7
  27. package/lib/styling/css-types.ts/css-number.d.ts +0 -6
  28. package/lib/styling/css-types.ts/css-percentage.d.ts +0 -5
  29. package/lib/styling/css-types.ts/css-transform.d.ts +0 -38
  30. package/lib/styling/css-types.ts/css-unknown.d.ts +0 -6
  31. package/lib/styling/css-types.ts/css-url.d.ts +0 -6
  32. package/lib/styling/i-dotcss.d.ts +0 -1069
  33. package/lib/styling/style-builder.d.ts +0 -24
  34. package/lib/styling/unit-function-tables.d.ts +0 -10
  35. package/out.md +0 -1340
  36. package/src/arg-callback-obj.ts +0 -76
  37. package/src/built-in-components/nav-link.ts +0 -21
  38. package/src/built-in-components/router.ts +0 -315
  39. package/src/component.ts +0 -415
  40. package/src/dot-util.ts +0 -69
  41. package/src/dot.ts +0 -1147
  42. package/src/dothtml.ts +0 -37
  43. package/src/err.ts +0 -22
  44. package/src/event-bus.ts +0 -39
  45. package/src/i-dot.ts +0 -787
  46. package/src/node-polyfill.ts +0 -11
  47. package/src/observable-array.ts +0 -289
  48. package/src/styling/css-types.ts/css-angle.ts +0 -18
  49. package/src/styling/css-types.ts/css-color.ts +0 -233
  50. package/src/styling/css-types.ts/css-complex.ts +0 -20
  51. package/src/styling/css-types.ts/css-data-type.ts +0 -9
  52. package/src/styling/css-types.ts/css-filter.ts +0 -134
  53. package/src/styling/css-types.ts/css-length.ts +0 -20
  54. package/src/styling/css-types.ts/css-number.ts +0 -12
  55. package/src/styling/css-types.ts/css-percentage.ts +0 -10
  56. package/src/styling/css-types.ts/css-transform.ts +0 -220
  57. package/src/styling/css-types.ts/css-unknown.ts +0 -13
  58. package/src/styling/css-types.ts/css-url.ts +0 -41
  59. package/src/styling/i-dotcss.ts +0 -1181
  60. package/src/styling/style-builder.ts +0 -966
  61. package/src/styling/unit-function-tables.ts +0 -24
  62. package/tsconfig.json +0 -99
  63. package/unittests/advanced-bindings.test.ts +0 -421
  64. package/unittests/array-evaluation.test.ts +0 -7
  65. package/unittests/basic-functionality.test.ts +0 -88
  66. package/unittests/calc.test.ts +0 -6
  67. package/unittests/class-binding.test.ts +0 -227
  68. package/unittests/components/component-decorator.-.ts +0 -14
  69. package/unittests/components/components-data.test.ts +0 -153
  70. package/unittests/components/components.test.ts +0 -258
  71. package/unittests/computed.test.ts +0 -35
  72. package/unittests/core.ts +0 -66
  73. package/unittests/element-and-attribute-coverage.test.ts +0 -472
  74. package/unittests/hooks.test.ts +0 -67
  75. package/unittests/immutable-if.test.ts +0 -19
  76. package/unittests/input-bindings.test.ts +0 -166
  77. package/unittests/integration.test.ts +0 -5
  78. package/unittests/iterations.test.ts +0 -18
  79. package/unittests/logic.test.ts +0 -18
  80. package/unittests/non-function-props-rerender.test.ts +0 -86
  81. package/unittests/refs.test.ts +0 -36
  82. package/unittests/routing.-.ts +0 -56
  83. package/unittests/scopes.test.ts +0 -22
  84. package/unittests/special-tags.test.ts +0 -39
  85. package/unittests/styles.test.ts +0 -9
  86. package/unittests/styling/animations.test.ts +0 -14
  87. package/unittests/styling/filters.test.ts +0 -23
  88. package/unittests/styling/inline-styling.test.ts +0 -18
  89. package/unittests/styling/pseudo-selectors.test.ts +0 -33
  90. package/unittests/styling/transformations.test.ts +0 -234
  91. package/unittests/styling/value-interpretation.test.ts +0 -3
  92. package/unittests/testpage.ts +0 -5
  93. package/unittests/wait.test.ts +0 -31
  94. package/webpack.config.js +0 -28
package/unittests/core.ts DELETED
@@ -1,66 +0,0 @@
1
- function formatHTML(html){
2
- html = html.toLowerCase();
3
- var html2 = "";
4
- for(var i = 0; i < html.length; i++){
5
- var chr = html.charAt(i);
6
- var chrC = chr.charCodeAt(0);
7
- if(chrC >= 32 && chrC <= 126){
8
- html2 += chr;
9
- }
10
- }
11
- html = html2;
12
- html = html.split("=\"disabled\"").join("");
13
- html = html.split(" value=\"\"").join("");
14
- html = html.split(" type=submit").join("");
15
- html = html.split("\"").join("");
16
- html = html.split("\'").join("");
17
- return html;
18
- }
19
-
20
- export default function addTest(description: string, testFunc: Function, expected: string|Array<string>, testTimeout?: number){
21
- //if(description != "Conditional rendering - if true->false elseif false->true.") return;
22
- // let exception = null;
23
- // try{
24
- // }
25
- // catch(e){
26
- // exception = e;
27
- // }
28
- test(description, done => {
29
- let testResult;
30
- testResult = testFunc();
31
-
32
- // Exceptions thrown will fail the test.
33
- // if(exception) throw exception;
34
-
35
- setTimeout(function(){
36
- let resultHtml = testResult.__document ? testResult.__document.innerHTML : "";
37
-
38
- let processedResult = formatHTML(resultHtml);
39
- let testExpected = "";
40
- try{
41
- if(expected instanceof Array){
42
- let i = 0;
43
- for(i = 0; i < expected.length; i++){
44
- let testExpected = formatHTML(expected[i]);
45
- if(testExpected == processedResult) break;
46
- }
47
- // Not sure how this was supposed to work???
48
- // if(!i == expected.length) i = 0;
49
- if(i == expected.length) i = 0;
50
- expect(processedResult).toBe(formatHTML(expected[i]));
51
- }
52
- else{
53
- testExpected = formatHTML(expected);
54
- expect(processedResult).toBe(testExpected);
55
- }
56
- }
57
- catch(e){
58
- done(e);
59
- return;
60
- }
61
-
62
- done();
63
-
64
- }, testTimeout ?? 0);
65
- });
66
- }
@@ -1,472 +0,0 @@
1
- import dot from "../src/dot";
2
- import addTest from "./core";
3
- var dotDocuments = [...new Set([
4
- "as",
5
- "el",
6
- "h",
7
- "t",
8
- "iterate",
9
- "each",
10
- "remove",
11
- "getLast",
12
- "empty",
13
- "script",
14
- "when",
15
- "otherwiseWhen",
16
- "otherwise",
17
- "a",
18
- "aside",
19
- "abbr",
20
- "address",
21
- "area",
22
- "article",
23
- "audio",
24
- "b",
25
- "bdi",
26
- "bdo",
27
- "blockQuote",
28
- "body",
29
- "br",
30
- "button",
31
- "canvas",
32
- "caption",
33
- "cite",
34
- "code",
35
- "col",
36
- "colGroup",
37
- "content",
38
- "data",
39
- "dataList",
40
- "dd",
41
- "del",
42
- "details",
43
- "dfn",
44
- "dialog",
45
- "div",
46
- "dl",
47
- "dt",
48
- "em",
49
- "embed",
50
- "fieldSet",
51
- "figCaption",
52
- "figure",
53
- "footer",
54
- "form",
55
- "h1",
56
- "h2",
57
- "h3",
58
- "h4",
59
- "h5",
60
- "h6",
61
- "header",
62
- "hr",
63
- "i",
64
- "iFrame",
65
- "img",
66
- "input",
67
- "ins",
68
- "kbd",
69
- "keyGen",
70
- "label",
71
- "legend",
72
- "li",
73
- "main",
74
- "map",
75
- "mark",
76
- "menu",
77
- "meter",
78
- "nav",
79
- "object",
80
- "ol",
81
- "optGroup",
82
- "option",
83
- "output",
84
- "p",
85
- "param",
86
- "pre",
87
- "progress",
88
- "q",
89
- "rp",
90
- "rt",
91
- "ruby",
92
- "s",
93
- "samp",
94
- "section",
95
- "select",
96
- "small",
97
- "source",
98
- "span",
99
- "strong",
100
- "svg",
101
- "sub",
102
- "summary",
103
- "sup",
104
- "table",
105
- "tBody",
106
- "td",
107
- "textArea",
108
- "tFoot",
109
- "th",
110
- "tHead",
111
- "time",
112
- "tr",
113
- "track",
114
- "u",
115
- "ul",
116
- "var",
117
- "video",
118
- "wbr"
119
- ])];
120
-
121
- var dotElements = [...new Set([
122
- "attr",
123
- "scopeClass",
124
- "bgColor",
125
- "color",
126
- "aLink",
127
- "archive",
128
- "accessKey",
129
- "class",
130
- "contentEditable",
131
- "dir",
132
- "draggable",
133
- "dropZone",
134
- "hidden",
135
- "id",
136
- "itemProp",
137
- "lang",
138
- "spellCheck",
139
- "style",
140
- "tabIndex",
141
- "title",
142
- "onHashChange",
143
- "onOffline",
144
- "onOnline",
145
- "onPageHide",
146
- "onPageShow",
147
- "onPopState",
148
- "onResize",
149
- "onStorage",
150
- "onSearch",
151
- "onToggle",
152
- "onAbort",
153
- "onCantPlayThrough",
154
- "onDurationChange",
155
- "onEmptied",
156
- "onEnded",
157
- "onLoadedData",
158
- "onLoadStart",
159
- "onLoadedMetadata",
160
- "onPause",
161
- "onPlay",
162
- "onPlaying",
163
- "onProgress",
164
- "onRateChange",
165
- "onSeeked",
166
- "onSeeking",
167
- "onStalled",
168
- "onSuspend",
169
- "onTimeUpdate",
170
- "onVolumeChange",
171
- "onWaiting",
172
- "onCanPlay",
173
- "onContextMenu",
174
- "onCopy",
175
- "onCut",
176
- "onPagePaste",
177
- "onCueChange",
178
- "onDrag",
179
- "onDragEnd",
180
- "onDragStart",
181
- "onDragEnter",
182
- "onDragOver",
183
- "onDragLeave",
184
- "onDrop",
185
- "onError",
186
- "onInvalid",
187
- "onMouseWheel",
188
- "onWheel",
189
- "onBlur",
190
- "onChange",
191
- "onClick",
192
- "onDblClick",
193
- "onFocus",
194
- "onInput",
195
- "onKeyDown",
196
- "onKeyPress",
197
- "onKeyUp",
198
- "onLoad",
199
- "onMouseDown",
200
- "onMouseEnter",
201
- "onMouseMove",
202
- "onMouseOut",
203
- "onMouseOver",
204
- "onMouseUp",
205
- "onReset",
206
- "onScroll",
207
- "onSelect",
208
- "onSubmit",
209
- "onUnload",
210
- "download",
211
- "hRef",
212
- "hRefLang",
213
- "media",
214
- "ping",
215
- "rel",
216
- "rev",
217
- "target",
218
- "type",
219
- "alt",
220
- "coords",
221
- "download",
222
- "media",
223
- "noHRef",
224
- "rel",
225
- "shape",
226
- "target",
227
- "autoPlay",
228
- "buffered",
229
- "controls",
230
- "loop",
231
- "muted",
232
- "preload",
233
- "src",
234
- "pause",
235
- "play",
236
- "stop",
237
- "quoteCite",
238
- "align",
239
- "background",
240
- "clear",
241
- "autoFocus",
242
- "formAction",
243
- "disabled",
244
- "name",
245
- "type",
246
- "whichForm",
247
- "value",
248
- "height",
249
- "width",
250
- "charOff",
251
- "colSpan",
252
- "vAlign",
253
- "charOff",
254
- "colSpan",
255
- "vAlign",
256
- "dateTime",
257
- "quoteCite",
258
- "open",
259
- "height",
260
- "src",
261
- "type",
262
- "width",
263
- "disabled",
264
- "name",
265
- "whichForm",
266
- "acceptCharset",
267
- "action",
268
- "autoComplete",
269
- "encType",
270
- "method",
271
- "name",
272
- "noValidate",
273
- "rel",
274
- "target",
275
- "noShade",
276
- "height",
277
- "longDesc",
278
- "marginHeight",
279
- "marginWidth",
280
- "name",
281
- "sandbox",
282
- "scrolling",
283
- "seamless",
284
- "src",
285
- "srcDoc",
286
- "width",
287
- "alt",
288
- "height",
289
- "hSpace",
290
- "isMap",
291
- "longDesc",
292
- "sizes",
293
- "src",
294
- "srcSet",
295
- "useMap",
296
- "width",
297
- "accept",
298
- "alt",
299
- "autoComplete",
300
- "autoFocus",
301
- "checked",
302
- "dirName",
303
- "disabled",
304
- "formAction",
305
- "list",
306
- "max",
307
- "maxLength",
308
- "min",
309
- "multiple",
310
- "name",
311
- "pattern",
312
- "placeholder",
313
- "readOnly",
314
- "required",
315
- "size",
316
- "src",
317
- "step",
318
- "type",
319
- "whichForm",
320
- "value",
321
- "width",
322
- "bindTo",
323
- "getVal",
324
- "setVal",
325
- "dateTime",
326
- "quoteCite",
327
- "challenge",
328
- "keyType",
329
- "for",
330
- "whichForm",
331
- "value",
332
- "name",
333
- "type",
334
- "high",
335
- "low",
336
- "max",
337
- "min",
338
- "optimum",
339
- "whichForm",
340
- "value",
341
- "classId",
342
- "codeBase",
343
- "codeType",
344
- "objectData",
345
- "declare",
346
- "height",
347
- "name",
348
- "standby",
349
- "type",
350
- "useMap",
351
- "whichForm",
352
- "width",
353
- "reversed",
354
- "start",
355
- "disabled",
356
- "disabled",
357
- "optionLabel",
358
- "selected",
359
- "value",
360
- "bindTo",
361
- "getVal",
362
- "setVal",
363
- "for",
364
- "name",
365
- "whichForm",
366
- "name",
367
- "value",
368
- "valueType",
369
- "max",
370
- "value",
371
- "quoteCite",
372
- "autoFocus",
373
- "disabled",
374
- "multiple",
375
- "name",
376
- "required",
377
- "size",
378
- "whichForm",
379
- "bindTo",
380
- "getVal",
381
- "setVal",
382
- "media",
383
- "src",
384
- "type",
385
- "sizes",
386
- "src",
387
- "srcSet",
388
- "type",
389
- "border",
390
- "cellPadding",
391
- "cellSpacing",
392
- "frame",
393
- "rules",
394
- "tableSummary",
395
- "autoFocus",
396
- "cols",
397
- "dirName",
398
- "disabled",
399
- "maxLength",
400
- "name",
401
- "placeholder",
402
- "readOnly",
403
- "required",
404
- "rows",
405
- "whichForm",
406
- "wrap",
407
- "bindTo",
408
- "getVal",
409
- "setVal",
410
- "charOff",
411
- "vAlign",
412
- "axis",
413
- "char",
414
- "colSpan",
415
- "charOff",
416
- "headers",
417
- "nowrap",
418
- "rowSpan",
419
- "vAlign",
420
- "charOff",
421
- "vAlign",
422
- "dateTime",
423
- "axis",
424
- "colSpan",
425
- "charOff",
426
- "headers",
427
- "rowSpan",
428
- "scope",
429
- "vAlign",
430
- "charOff",
431
- "vAlign",
432
- "charOff",
433
- "vAlign",
434
- "default",
435
- "kind",
436
- "src",
437
- "srcLang",
438
- "trackLabel",
439
- "autoPlay",
440
- "buffered",
441
- "controls",
442
- "height",
443
- "loop",
444
- "muted",
445
- "poster",
446
- "preload",
447
- "src",
448
- "width",
449
- "pause",
450
- "play",
451
- "stop",
452
- ])];
453
-
454
- for(let s of dotDocuments){
455
- addTest(`${s} - core`, ()=>{
456
- return dot.t(typeof dot[s])
457
- }, "function");
458
- addTest(`${s} - query`, ()=>{
459
- return dot.t(typeof dot("body")[s])
460
- }, "function");
461
- addTest(`${s} - next`, ()=>{
462
- return dot.t(typeof dot.div()[s])
463
- }, "function");
464
- }
465
- for(let s of dotElements){
466
- addTest(`${s} - query`, ()=>{
467
- return dot.t(typeof dot("body")[s])
468
- }, "function");
469
- addTest(`${s} - next`, ()=>{
470
- return dot.t(typeof dot.div()[s])
471
- }, "function");
472
- }
@@ -1,67 +0,0 @@
1
- import addTest from "./core";
2
- import dot from "../src/dothtml";
3
- import Component from "../src/component";
4
-
5
- // Testing hooks:
6
- // class CompHooksRegister extends Component{
7
- // x: number = 0;
8
- // add: boolean = false;
9
-
10
- // register(){ this.x = (this.x || 0); this.add1(); }
11
- // builder(x, add){this.x = x||this.x; this.add = add||this.add; if(this.add)this.add1(); return dot.div(this.x) }
12
- // add1(){ this.x++ }
13
- // }
14
-
15
- class CompHooksCreate extends Component{
16
- myEl: Element;
17
- testVal: any;
18
- created(val){ this.myEl = this.$el; this.testVal = val }
19
- builder(){ return dot.div("val: " + this.testVal + ", hadEl: " + (this.myEl ? "yes" : "no")) }
20
- }
21
-
22
- class CompHooksDelete extends Component{
23
- deleteMe: boolean;
24
- addEarlyMessage: boolean;
25
- addLateMessage: boolean;
26
- messageInSibling: string;
27
- parent: ChildNode | ParentNode;
28
-
29
- created(deleteMe: boolean, addEarlyMessage: boolean, addLateMessage: boolean, messageInSibling: string){
30
- this.deleteMe = deleteMe;
31
- this.addEarlyMessage = addEarlyMessage;
32
- this.addLateMessage = addLateMessage;
33
- this.messageInSibling = messageInSibling;
34
- }
35
- builder(){ return dot.span("not deleted"); }
36
- ready(){ this.parent = this.messageInSibling ? this.$el.parentNode.nextSibling : this.$el.parentNode; if(this.deleteMe) dot(this.parent).empty(); }
37
- deleting(){
38
- if(this.addEarlyMessage) dot(this.messageInSibling ? this.$el.parentNode.nextSibling : this.$el.parentNode ).p("deleted");
39
- }
40
- deleted(){ if(this.addLateMessage) dot(this.parent).b(this.$el ? "failure" : "success"); }
41
- }
42
-
43
- // register
44
- // I guess these are no longer valid.
45
- // addTest("Register hook gets called once.", function(){return dot.h(new CompHooksRegister())}, "<div>1</div>");
46
- // addTest("Register hook gets called only once.", function(){return dot.h(new CompHooksRegister())}, "<div>1</div>");
47
- // addTest("Prototype vars set by register cook can be updated.", function(){return dot.h(new CompHooksRegister(true))}, "<div>2</div>");
48
- // addTest("Prototype vars are cloned from prototype.", function(){return dot.h(new CompHooksRegister())}, "<div>1</div>"); // Kind of a weird javascript behavior. Cool though.
49
-
50
- // create
51
- addTest("Created hook.", function(){return dot.h(new CompHooksCreate("abc"));}, "<div>val: abc, hadEl: no</div>");
52
-
53
- // delete
54
- addTest("Delete hook doesn't get called right away.", function(){return dot.div(new CompHooksDelete());}, "<div><span>not deleted</span></div>");
55
- addTest("Deleting hook.", function(){return dot.div(new CompHooksDelete(true, true));}, "<div><p>deleted</p></div>");
56
- addTest("Deleted hook.", function(){return dot.div(new CompHooksDelete(true, false, true));}, "<div><b>success</b></div>");
57
-
58
- //Ensure deletion happens for inner components when using remove.
59
- addTest("Nested deleting via remove().", function(){ return dot.h(function(){ var ret = dot.i().div(
60
- new CompHooksDelete(false, true, false, true)
61
- ); var del = ret.getLast();
62
- ret = ret.b(); setTimeout(function(){dot(del).remove() }, 0); return ret; }) }, "<i></i><b><p>deleted</p></b>");
63
-
64
- addTest("Nested deleted via remove().", function(){ return dot.h(function(){ var ret = dot.i().div(
65
- new CompHooksDelete(false, false, true, true)
66
- ); var del = ret.getLast();
67
- ret = ret.b(); setTimeout(function(){dot(del).remove() }, 0); return ret; }) }, "<i></i><b><b>success</b></b>");
@@ -1,19 +0,0 @@
1
- import addTest from "./core";
2
- import dot from "../src/dothtml";
3
-
4
- addTest("Conditional true.", function(){ return dot.h(1).when(true, dot.h("true")).h(2); }, "1true2");
5
- addTest("Conditional false.", function(){ return dot.h(1).when(false, dot.h("false")).h(2); }, "12");
6
- addTest("Conditional true true.", function(){ return dot.h(1).when(true, dot.h(2)).when(true, dot.h(3)).h(4); }, "1234");
7
-
8
- // No longer valid - use class bindings.
9
- //addTest("Conditional class.", function(){ return dot.div(1).when(true, dot["class"](2)); }, "<div class=\"2\">1</div>");
10
-
11
- //Not sure if the following two cases should be supported. They are broken as of 1.3.0, but I don't know if that matters.
12
- //addTest("Conditional deep class.", function(){ return dot.div(1).when(true, dot.when(true, dot["class"](2))); }, "<div class=\"2\">1</div>");
13
- //addTest("Conditional deep class with more confusion.", function(){ return dot.div(1).when(true, dot.when(true, dot["class"](2)).div(3)); }, "<div class=\"2\">1</div><div>3</div>");
14
-
15
- // Truthiness.
16
-
17
- // No longer valid in ts.
18
- // addTest("If null.", function(){ return dot.when(null, "if").otherwise("else"); }, "else");
19
- // addTest("If {}.", function(){ return dot.when({}, "if").otherwise("else"); }, "if");