vsn 0.1.123 → 0.1.125
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/demo/demo.html +4 -1
- package/demo/examples/cascading-function-sheets.html +28 -0
- package/demo/resources/xhr-animations.html +24 -0
- package/demo/resources/xhr-cfs.html +1 -0
- package/demo/resources/xhr-lazy.html +10 -1
- package/demo/service.html +3 -3
- package/demo/silly-animations.html +12 -24
- package/demo/vsn.js +2 -2
- package/dist/AST/ArrayNode.js +70 -18
- package/dist/AST/ArrayNode.js.map +1 -1
- package/dist/AST/AssignmentNode.js +92 -35
- package/dist/AST/AssignmentNode.js.map +1 -1
- package/dist/AST/BlockNode.js +17 -1
- package/dist/AST/BlockNode.js.map +1 -1
- package/dist/AST/ClassNode.js +231 -90
- package/dist/AST/ClassNode.js.map +1 -1
- package/dist/AST/DispatchEventNode.d.ts +3 -1
- package/dist/AST/DispatchEventNode.js +48 -14
- package/dist/AST/DispatchEventNode.js.map +1 -1
- package/dist/AST/ElementAttributeNode.js +55 -29
- package/dist/AST/ElementAttributeNode.js.map +1 -1
- package/dist/AST/ElementStyleNode.js +48 -22
- package/dist/AST/ElementStyleNode.js.map +1 -1
- package/dist/AST/FunctionArgumentNode.js +57 -15
- package/dist/AST/FunctionArgumentNode.js.map +1 -1
- package/dist/AST/FunctionCallNode.js +120 -52
- package/dist/AST/FunctionCallNode.js.map +1 -1
- package/dist/AST/FunctionNode.js +57 -14
- package/dist/AST/FunctionNode.js.map +1 -1
- package/dist/AST/IfStatementNode.js +52 -12
- package/dist/AST/IfStatementNode.js.map +1 -1
- package/dist/AST/IndexNode.js +24 -3
- package/dist/AST/IndexNode.js.map +1 -1
- package/dist/AST/ModifierNode.js +1 -1
- package/dist/AST/ModifierNode.js.map +1 -1
- package/dist/AST/Node.d.ts +3 -2
- package/dist/AST/Node.js +132 -39
- package/dist/AST/Node.js.map +1 -1
- package/dist/AST/ObjectNode.js +17 -1
- package/dist/AST/ObjectNode.js.map +1 -1
- package/dist/AST/OnNode.js +23 -2
- package/dist/AST/OnNode.js.map +1 -1
- package/dist/AST/ScopeMemberNode.js +44 -16
- package/dist/AST/ScopeMemberNode.js.map +1 -1
- package/dist/AST/ScopeNodeAbstract.js +29 -8
- package/dist/AST/ScopeNodeAbstract.js.map +1 -1
- package/dist/AST/StringFormatNode.js +42 -5
- package/dist/AST/StringFormatNode.js.map +1 -1
- package/dist/AST/WASM/Function.js +20 -4
- package/dist/AST/WASM/Function.js.map +1 -1
- package/dist/AST/WASM.js +26 -10
- package/dist/AST/WASM.js.map +1 -1
- package/dist/AST/WithNode.js +81 -41
- package/dist/AST/WithNode.js.map +1 -1
- package/dist/AST.js +91 -37
- package/dist/AST.js.map +1 -1
- package/dist/Attribute.d.ts +3 -0
- package/dist/Attribute.js +43 -19
- package/dist/Attribute.js.map +1 -1
- package/dist/Bencmark.js +77 -20
- package/dist/Bencmark.js.map +1 -1
- package/dist/Component.js +49 -15
- package/dist/Component.js.map +1 -1
- package/dist/DOM/DOMObject.d.ts +6 -1
- package/dist/DOM/DOMObject.js +22 -1
- package/dist/DOM/DOMObject.js.map +1 -1
- package/dist/DOM.js +450 -193
- package/dist/DOM.js.map +1 -1
- package/dist/EventDispatcher.js +153 -39
- package/dist/EventDispatcher.js.map +1 -1
- package/dist/MessageList.js +37 -6
- package/dist/MessageList.js.map +1 -1
- package/dist/Model.js +27 -6
- package/dist/Model.js.map +1 -1
- package/dist/Modifiers.d.ts +17 -0
- package/dist/Modifiers.js +100 -0
- package/dist/Modifiers.js.map +1 -0
- package/dist/Scope/DynamicScopeData.js +38 -7
- package/dist/Scope/DynamicScopeData.js.map +1 -1
- package/dist/Scope/ObjectAccessor.d.ts +7 -0
- package/dist/Scope/ObjectAccessor.js +40 -0
- package/dist/Scope/ObjectAccessor.js.map +1 -0
- package/dist/Scope/ScopeAbstract.d.ts +9 -0
- package/dist/Scope/ScopeAbstract.js +28 -0
- package/dist/Scope/ScopeAbstract.js.map +1 -0
- package/dist/Scope/ScopeData.js +29 -8
- package/dist/Scope/ScopeData.js.map +1 -1
- package/dist/Scope/ScopeDataAbstract.js +103 -27
- package/dist/Scope/ScopeDataAbstract.js.map +1 -1
- package/dist/Scope/WrappedArray.js +112 -26
- package/dist/Scope/WrappedArray.js.map +1 -1
- package/dist/Scope/properties/ArrayProperty.js +17 -1
- package/dist/Scope/properties/ArrayProperty.js.map +1 -1
- package/dist/Scope/properties/Property.js +38 -7
- package/dist/Scope/properties/Property.js.map +1 -1
- package/dist/Scope.d.ts +3 -2
- package/dist/Scope.js +98 -14
- package/dist/Scope.js.map +1 -1
- package/dist/SimplePromise.js +71 -30
- package/dist/SimplePromise.js.map +1 -1
- package/dist/Tag/TagList.js +22 -1
- package/dist/Tag/TagList.js.map +1 -1
- package/dist/Tag.d.ts +5 -9
- package/dist/Tag.js +512 -195
- package/dist/Tag.js.map +1 -1
- package/dist/attributes/KeyAbstract.js +1 -1
- package/dist/attributes/KeyAbstract.js.map +1 -1
- package/dist/attributes/KeyDown.js +1 -1
- package/dist/attributes/KeyDown.js.map +1 -1
- package/dist/attributes/KeyUp.js +1 -1
- package/dist/attributes/KeyUp.js.map +1 -1
- package/dist/attributes/LazyAttribute.js +4 -2
- package/dist/attributes/LazyAttribute.js.map +1 -1
- package/dist/attributes/List.js +77 -30
- package/dist/attributes/List.js.map +1 -1
- package/dist/attributes/On.d.ts +1 -1
- package/dist/attributes/On.js +10 -10
- package/dist/attributes/On.js.map +1 -1
- package/dist/attributes/RootAttribute.js +29 -8
- package/dist/attributes/RootAttribute.js.map +1 -1
- package/dist/attributes/ScopeAttribute.js +30 -9
- package/dist/attributes/ScopeAttribute.js.map +1 -1
- package/dist/attributes/SetAttribute.js +32 -11
- package/dist/attributes/SetAttribute.js.map +1 -1
- package/dist/attributes/StyleAttribute.js +27 -6
- package/dist/attributes/StyleAttribute.js.map +1 -1
- package/dist/attributes/XHRAttribute.js +28 -7
- package/dist/attributes/XHRAttribute.js.map +1 -1
- package/dist/helpers/ElementHelper.js +25 -4
- package/dist/helpers/ElementHelper.js.map +1 -1
- package/dist/helpers/decorators.js +22 -1
- package/dist/helpers/decorators.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/vsn.js +1 -2
- package/dist/vsn.js.map +1 -1
- package/package.json +1 -1
- package/src/AST/ClassNode.ts +6 -3
- package/src/AST/DispatchEventNode.ts +19 -11
- package/src/AST/FunctionNode.ts +2 -0
- package/src/AST/ModifierNode.ts +1 -1
- package/src/AST/Node.ts +10 -5
- package/src/AST/OnNode.ts +1 -1
- package/src/AST/ScopeMemberNode.ts +4 -0
- package/src/AST/ScopeNodeAbstract.ts +3 -3
- package/src/AST.ts +1 -1
- package/src/Attribute.ts +19 -8
- package/src/DOM/DOMObject.ts +4 -1
- package/src/Modifiers.ts +54 -0
- package/src/Scope/ObjectAccessor.ts +21 -0
- package/src/Scope/ScopeAbstract.ts +11 -0
- package/src/Scope.ts +14 -1
- package/src/Tag.ts +66 -37
- package/src/attributes/KeyAbstract.ts +1 -1
- package/src/attributes/KeyDown.ts +1 -1
- package/src/attributes/KeyUp.ts +1 -1
- package/src/attributes/LazyAttribute.ts +6 -2
- package/src/attributes/On.ts +10 -9
- package/src/attributes/XHRAttribute.ts +2 -2
- package/src/version.ts +1 -1
- package/src/vsn.ts +1 -2
- package/test/AST/ClassNode.spec.ts +22 -0
- package/tsconfig.base.json +2 -1
package/demo/demo.html
CHANGED
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
function TestItem(name = null, age = null) {
|
|
33
33
|
this.name = name;
|
|
34
34
|
this.age = age;
|
|
35
|
+
console.log('TestItem created', name, age);
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
TestItem.prototype.reset = function () {
|
|
@@ -113,6 +114,8 @@
|
|
|
113
114
|
<span vsn-bind="toggle.show"></span>
|
|
114
115
|
</div>
|
|
115
116
|
<a id="click-test" vsn-on:click="if(@text != @clicktext){@text=@clicktext}else{@text='Click Me'}" clicktext="Clicked!">Click Me</a>
|
|
117
|
+
<br />
|
|
118
|
+
<a vsn-on:click|debounce,500="log('debounced')">Debounce</a>
|
|
116
119
|
|
|
117
120
|
<h2>? Operator</h2>
|
|
118
121
|
<p>Add/remove class to list of elements on click.</p>
|
|
@@ -225,7 +228,7 @@ class .testing-class {
|
|
|
225
228
|
@text = 'Hovered!';
|
|
226
229
|
}
|
|
227
230
|
|
|
228
|
-
on mouseleave() {
|
|
231
|
+
on mouseleave|debounce,50() {
|
|
229
232
|
@text = 'Mouse left';
|
|
230
233
|
}
|
|
231
234
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<title>Events</title>
|
|
6
|
+
|
|
7
|
+
<style></style>
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<script type="text/javascript" src="../vsn.js"></script>
|
|
12
|
+
<script type="text/vsn" vsn-script>
|
|
13
|
+
class .btn {
|
|
14
|
+
func construct() {
|
|
15
|
+
log('btn construct');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
on click() {
|
|
19
|
+
log('btn click');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<div id="html-container"></div>
|
|
25
|
+
<a href="../resources/xhr-cfs.html" vsn-xhr="#html-container.@html = response;?(#html-header).$color='yellow';" class="btn">XHR</a>
|
|
26
|
+
|
|
27
|
+
</body>
|
|
28
|
+
</html>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<script type="text/vsn" vsn-script>
|
|
2
|
+
stack animations {
|
|
3
|
+
?(.testing-stuff).@html += '<li>Testing 2</li>';
|
|
4
|
+
with ?(.test) {
|
|
5
|
+
$opacity = 0;
|
|
6
|
+
wait(1);
|
|
7
|
+
$opacity = 1;
|
|
8
|
+
wait(1);
|
|
9
|
+
$opacity = 0.5;
|
|
10
|
+
}
|
|
11
|
+
wait(1);
|
|
12
|
+
with|sequential ?(.test) {
|
|
13
|
+
$opacity = 0;
|
|
14
|
+
wait(0.25);
|
|
15
|
+
$opacity = 1;
|
|
16
|
+
}
|
|
17
|
+
a = {'b':1};
|
|
18
|
+
with a {
|
|
19
|
+
log(b);
|
|
20
|
+
}
|
|
21
|
+
?(.testing-stuff).@html = '<li>Testing Reset</li>';
|
|
22
|
+
wait(1);
|
|
23
|
+
}
|
|
24
|
+
</script>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<a class="btn" href="#">New Button</a>
|
|
@@ -39,12 +39,21 @@
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
+
|
|
43
|
+
class input[type=button] {
|
|
44
|
+
on click|throttle,5000() {
|
|
45
|
+
log('button clicked');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
42
48
|
}
|
|
43
49
|
</script>
|
|
44
50
|
<div class="simple">
|
|
45
51
|
<label>Simple Input</label>
|
|
46
52
|
<input type="text" />
|
|
47
53
|
</div>
|
|
48
|
-
<div class="simple"
|
|
54
|
+
<div class="simple">
|
|
55
|
+
<label style="display: block;">Simple Button</label>
|
|
56
|
+
<input type="button" />
|
|
57
|
+
</div>
|
|
49
58
|
<button vsn-on:click="?(.simple)[0].@class -= 'simple'">Remove</button>
|
|
50
59
|
</div>
|
package/demo/service.html
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
</head>
|
|
7
7
|
<body>
|
|
8
8
|
|
|
9
|
-
<div id="testing" vsn-service:demo="ServiceDemo">
|
|
10
|
-
<button vsn-on:click="demo.add(1)">Add</button>
|
|
9
|
+
<div id="testing" vsn-service:demo="ServiceDemo" vsn-on:set-value="log('value', $event.detail.value);demo.count = $event.detail.value">
|
|
10
|
+
<button vsn-on:click="demo.add(1)" id="add-button">Add</button>
|
|
11
11
|
<span vsn-bind="demo.count"></span>
|
|
12
|
-
<span vsn-
|
|
12
|
+
<span vsn-on:click="#testing.demo.count = 0">Reset</span>
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
15
|
<div vsn-service:demo2="ServiceDemo">
|
|
@@ -10,30 +10,18 @@
|
|
|
10
10
|
</style>
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
</
|
|
13
|
+
<div id="include"></div>
|
|
14
|
+
<div class="animations-container">
|
|
15
|
+
<ul class="animations">
|
|
16
|
+
<li class="test test-1" id="test-1">Test 1</li>
|
|
17
|
+
<li class="test test-2">Test 2</li>
|
|
18
|
+
<li class="test test-1">Test 3</li>
|
|
19
|
+
</ul>
|
|
20
|
+
<ul class="testing-stuff">
|
|
21
|
+
<li>Testing</li>
|
|
22
|
+
</ul>
|
|
23
|
+
</div>
|
|
24
|
+
<a href="./resources/xhr-animations.html" vsn-xhr="#include.@html = response">GO</a>
|
|
18
25
|
<script type="text/javascript" src="vsn.js"></script>
|
|
19
|
-
<script type="text/vsn" vsn-script|defer>
|
|
20
|
-
with ?(.test) {
|
|
21
|
-
$opacity = 0;
|
|
22
|
-
wait(1);
|
|
23
|
-
$opacity = 1;
|
|
24
|
-
wait(1);
|
|
25
|
-
$opacity = 0.5;
|
|
26
|
-
}
|
|
27
|
-
wait(1);
|
|
28
|
-
with|sequential ?(.test) {
|
|
29
|
-
$opacity = 0;
|
|
30
|
-
wait(0.25);
|
|
31
|
-
$opacity = 1;
|
|
32
|
-
}
|
|
33
|
-
a = {'b':1};
|
|
34
|
-
with a {
|
|
35
|
-
log(b);
|
|
36
|
-
}
|
|
37
|
-
</script>
|
|
38
26
|
</body>
|
|
39
27
|
</html>
|