dothtml 5.2.12 → 6.0.0-beta.12
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/build_module/constants.d.ts +1 -0
- package/build_module/constants.js +2 -0
- package/build_module/constants.js.map +1 -0
- package/build_module/css/css.d.ts +0 -0
- package/build_module/css/css.js +1 -0
- package/build_module/css/css.js.map +1 -0
- package/build_module/decoration/component.d.ts +14 -0
- package/build_module/decoration/component.js +43 -0
- package/build_module/decoration/component.js.map +1 -0
- package/build_module/decoration/style.d.ts +0 -0
- package/build_module/decoration/style.js +1 -0
- package/build_module/decoration/style.js.map +1 -0
- package/build_module/decoration/use-styles.d.ts +14 -0
- package/build_module/decoration/use-styles.js +19 -0
- package/build_module/decoration/use-styles.js.map +1 -0
- package/build_module/dot.d.ts +3 -0
- package/build_module/dot.js +534 -0
- package/build_module/dot.js.map +1 -0
- package/build_module/helpers/render-css.d.ts +2 -0
- package/build_module/helpers/render-css.js +19 -0
- package/build_module/helpers/render-css.js.map +1 -0
- package/build_module/helpers.d.ts +2 -0
- package/build_module/helpers.js +49 -0
- package/build_module/helpers.js.map +1 -0
- package/build_module/index.d.ts +7 -0
- package/build_module/index.js +5 -0
- package/build_module/index.js.map +1 -0
- package/build_module/reactive.d.ts +37 -0
- package/build_module/reactive.js +120 -0
- package/build_module/reactive.js.map +1 -0
- package/build_module/v-dom-node.d.ts +0 -0
- package/build_module/v-dom-node.js +1 -0
- package/build_module/v-dom-node.js.map +1 -0
- package/build_module/vdom-nodes/collection-vdom.d.ts +24 -0
- package/build_module/vdom-nodes/collection-vdom.js +154 -0
- package/build_module/vdom-nodes/collection-vdom.js.map +1 -0
- package/build_module/vdom-nodes/component-vdom.d.ts +14 -0
- package/build_module/vdom-nodes/component-vdom.js +62 -0
- package/build_module/vdom-nodes/component-vdom.js.map +1 -0
- package/build_module/vdom-nodes/conditional-vdom.d.ts +14 -0
- package/build_module/vdom-nodes/conditional-vdom.js +97 -0
- package/build_module/vdom-nodes/conditional-vdom.js.map +1 -0
- package/build_module/vdom-nodes/container-vdom.d.ts +23 -0
- package/build_module/vdom-nodes/container-vdom.js +85 -0
- package/build_module/vdom-nodes/container-vdom.js.map +1 -0
- package/build_module/vdom-nodes/element-vdom.d.ts +18 -0
- package/build_module/vdom-nodes/element-vdom.js +88 -0
- package/build_module/vdom-nodes/element-vdom.js.map +1 -0
- package/build_module/vdom-nodes/html-vdom.d.ts +13 -0
- package/build_module/vdom-nodes/html-vdom.js +53 -0
- package/build_module/vdom-nodes/html-vdom.js.map +1 -0
- package/build_module/vdom-nodes/text-vdom.d.ts +11 -0
- package/build_module/vdom-nodes/text-vdom.js +37 -0
- package/build_module/vdom-nodes/text-vdom.js.map +1 -0
- package/build_module/vdom-nodes/vdom.d.ts +7 -0
- package/build_module/vdom-nodes/vdom.js +28 -0
- package/build_module/vdom-nodes/vdom.js.map +1 -0
- package/package.json +26 -19
- package/lib/arg-callback-obj.d.ts +0 -29
- package/lib/arg-callback-obj.js +0 -64
- package/lib/arg-callback-obj.js.map +0 -1
- package/lib/built-in-components/nav-link.d.ts +0 -8
- package/lib/built-in-components/nav-link.js +0 -24
- package/lib/built-in-components/nav-link.js.map +0 -1
- package/lib/built-in-components/router.d.ts +0 -57
- package/lib/built-in-components/router.js +0 -282
- package/lib/built-in-components/router.js.map +0 -1
- package/lib/component.d.ts +0 -93
- package/lib/component.js +0 -354
- package/lib/component.js.map +0 -1
- package/lib/dot-util.d.ts +0 -26
- package/lib/dot-util.js +0 -62
- package/lib/dot-util.js.map +0 -1
- package/lib/dot.d.ts +0 -5
- package/lib/dot.js +0 -1129
- package/lib/dot.js.map +0 -1
- package/lib/dothtml.d.ts +0 -29
- package/lib/dothtml.js +0 -15
- package/lib/dothtml.js.map +0 -1
- package/lib/err.d.ts +0 -2
- package/lib/err.js +0 -26
- package/lib/err.js.map +0 -1
- package/lib/event-bus.d.ts +0 -10
- package/lib/event-bus.js +0 -37
- package/lib/event-bus.js.map +0 -1
- package/lib/i-dot.d.ts +0 -689
- package/lib/i-dot.js +0 -3
- package/lib/i-dot.js.map +0 -1
- package/lib/node-polyfill.d.ts +0 -2
- package/lib/node-polyfill.js +0 -14
- package/lib/node-polyfill.js.map +0 -1
- package/lib/observable-array.d.ts +0 -49
- package/lib/observable-array.js +0 -274
- package/lib/observable-array.js.map +0 -1
- package/lib/pages/home-page.d.ts +0 -9
- package/lib/pages/home-page.js +0 -24
- package/lib/pages/home-page.js.map +0 -1
- package/lib/styling/css-types.ts/css-angle.d.ts +0 -7
- package/lib/styling/css-types.ts/css-angle.js +0 -22
- package/lib/styling/css-types.ts/css-angle.js.map +0 -1
- package/lib/styling/css-types.ts/css-color.d.ts +0 -9
- package/lib/styling/css-types.ts/css-color.js +0 -824
- package/lib/styling/css-types.ts/css-color.js.map +0 -1
- package/lib/styling/css-types.ts/css-complex.d.ts +0 -7
- package/lib/styling/css-types.ts/css-complex.js +0 -23
- package/lib/styling/css-types.ts/css-complex.js.map +0 -1
- package/lib/styling/css-types.ts/css-data-type.d.ts +0 -5
- package/lib/styling/css-types.ts/css-data-type.js +0 -9
- package/lib/styling/css-types.ts/css-data-type.js.map +0 -1
- package/lib/styling/css-types.ts/css-filter.d.ts +0 -22
- package/lib/styling/css-types.ts/css-filter.js +0 -121
- package/lib/styling/css-types.ts/css-filter.js.map +0 -1
- package/lib/styling/css-types.ts/css-length.d.ts +0 -7
- package/lib/styling/css-types.ts/css-length.js +0 -24
- package/lib/styling/css-types.ts/css-length.js.map +0 -1
- package/lib/styling/css-types.ts/css-number.d.ts +0 -6
- package/lib/styling/css-types.ts/css-number.js +0 -17
- package/lib/styling/css-types.ts/css-number.js.map +0 -1
- package/lib/styling/css-types.ts/css-percentage.d.ts +0 -5
- package/lib/styling/css-types.ts/css-percentage.js +0 -13
- package/lib/styling/css-types.ts/css-percentage.js.map +0 -1
- package/lib/styling/css-types.ts/css-transform.d.ts +0 -38
- package/lib/styling/css-types.ts/css-transform.js +0 -183
- package/lib/styling/css-types.ts/css-transform.js.map +0 -1
- package/lib/styling/css-types.ts/css-unknown.d.ts +0 -6
- package/lib/styling/css-types.ts/css-unknown.js +0 -17
- package/lib/styling/css-types.ts/css-unknown.js.map +0 -1
- package/lib/styling/css-types.ts/css-url.d.ts +0 -6
- package/lib/styling/css-types.ts/css-url.js +0 -45
- package/lib/styling/css-types.ts/css-url.js.map +0 -1
- package/lib/styling/i-dotcss.d.ts +0 -1085
- package/lib/styling/i-dotcss.js +0 -3
- package/lib/styling/i-dotcss.js.map +0 -1
- package/lib/styling/style-builder.d.ts +0 -24
- package/lib/styling/style-builder.js +0 -815
- package/lib/styling/style-builder.js.map +0 -1
- package/lib/styling/unit-function-tables.d.ts +0 -10
- package/lib/styling/unit-function-tables.js +0 -27
- package/lib/styling/unit-function-tables.js.map +0 -1
package/lib/component.js
DELETED
|
@@ -1,354 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const observable_array_1 = __importDefault(require("./observable-array"));
|
|
7
|
-
const dot_1 = __importDefault(require("./dot"));
|
|
8
|
-
const dot_util_1 = require("./dot-util");
|
|
9
|
-
const err_1 = __importDefault(require("./err"));
|
|
10
|
-
const arg_callback_obj_1 = require("./arg-callback-obj");
|
|
11
|
-
class Component {
|
|
12
|
-
/**
|
|
13
|
-
* Used internally to indicate the first time $updateStyles is called.
|
|
14
|
-
* This method is called by the static component builder when the component is created.
|
|
15
|
-
* If a prop is accessed within the style builder, the getter reads this field to mark $updateStyles as a dependency.
|
|
16
|
-
*/
|
|
17
|
-
#initializingStyles;
|
|
18
|
-
#initializingBuild;
|
|
19
|
-
// A bit messy but gets us to MVP for this feature.
|
|
20
|
-
// Ideally this should be made a singleton somehow, perhaps put in the property metadata.
|
|
21
|
-
#rebuildStylesOnPropChange;
|
|
22
|
-
#rebuildBuilderOnPropChange;
|
|
23
|
-
/**
|
|
24
|
-
* Called once per component, on the first build.
|
|
25
|
-
* TODO: this shouldn't require an instance of the component. Please experiment with fixing this.
|
|
26
|
-
* The issue with this is that simply declaring a class, it's not obvious how to run code.
|
|
27
|
-
* There are four options that come to mind:
|
|
28
|
-
* 1. We could find a way to call this upon declaration of the class (might not be possible).
|
|
29
|
-
* 2. Ignore the problem.
|
|
30
|
-
* 3. Call this per instance (possibly wasteful, but has some advantages, for instance, with polymorphic components).
|
|
31
|
-
* 4. Move to a completely different prop system that doesn't require this type of instantiation.
|
|
32
|
-
*/
|
|
33
|
-
static initializeComponent(obj) {
|
|
34
|
-
if (!obj.constructor.__dotComponentInitialized) {
|
|
35
|
-
obj.constructor.__dotComponentInitialized = true;
|
|
36
|
-
// Additional generic logic that should run once per component.
|
|
37
|
-
obj.constructor.__dotClassNumb = dot_util_1.ClassPrefix.next;
|
|
38
|
-
obj.constructor.__activePropContainer = function ActivePropContainer(obj) {
|
|
39
|
-
this.__component = obj;
|
|
40
|
-
};
|
|
41
|
-
// TODO: for polymorphic components, may need to also loop through parent props and bindings.
|
|
42
|
-
// Creating the props.
|
|
43
|
-
(0, dot_util_1.eachK)(obj.props, (k, v) => {
|
|
44
|
-
Component.createProp(obj.constructor.__activePropContainer, k);
|
|
45
|
-
});
|
|
46
|
-
// Create data bindings.
|
|
47
|
-
(0, dot_util_1.eachK)(obj.bindings, (k) => {
|
|
48
|
-
Component.createBinding(k, obj);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
static build(obj) {
|
|
53
|
-
Component.initializeComponent(obj);
|
|
54
|
-
dot_util_1.GlobalComponentStack.push(obj);
|
|
55
|
-
obj.created && obj.created(...obj.__args);
|
|
56
|
-
if (obj.__built)
|
|
57
|
-
(0, err_1.default)("CB");
|
|
58
|
-
obj.__built = true;
|
|
59
|
-
obj.__propContainer = {
|
|
60
|
-
activePropConstructor: obj.constructor.__activePropContainer,
|
|
61
|
-
rawProps: obj.props || {},
|
|
62
|
-
activeProps: new obj.constructor.__activePropContainer(obj),
|
|
63
|
-
propDependencies: {},
|
|
64
|
-
bindings: {}
|
|
65
|
-
};
|
|
66
|
-
// eachK(obj.props, (k,v) => {
|
|
67
|
-
// // Initialize it.
|
|
68
|
-
// cc.__propContainer.activeProps[k] = cc.__propContainer.rawProps[k];
|
|
69
|
-
// });
|
|
70
|
-
obj.props = obj.__propContainer.activeProps;
|
|
71
|
-
(0, dot_util_1.eachK)(obj.__propContainer.rawProps, (k, v) => {
|
|
72
|
-
obj.__propContainer.bindings[k] = [];
|
|
73
|
-
obj.props[k] = v;
|
|
74
|
-
});
|
|
75
|
-
// function ComputedContainer(){
|
|
76
|
-
// };
|
|
77
|
-
// let cc = new ComputedContainer();
|
|
78
|
-
// eachK(obj.computed, function(k, v){
|
|
79
|
-
// isF(v) ? v : ERR("XF", "computed")
|
|
80
|
-
// //createProp(k, CC);
|
|
81
|
-
// ComputedContainer.prototype[k] = v;
|
|
82
|
-
// Object.defineProperty(ComputedContainer.prototype, k, {
|
|
83
|
-
// enumerable: true,
|
|
84
|
-
// get: function(){
|
|
85
|
-
// // This was commented out pre-ts.
|
|
86
|
-
// //configureDependency(v(), this, k);
|
|
87
|
-
// return v.call(obj);
|
|
88
|
-
// }
|
|
89
|
-
// });
|
|
90
|
-
// });
|
|
91
|
-
// obj.computed = cc;
|
|
92
|
-
Component.initializeEventHandlers(obj);
|
|
93
|
-
Component.rebuild(obj);
|
|
94
|
-
// TODO: would be great to do this without a timer, once the DOM is updated.
|
|
95
|
-
// May require some type of queueing system within dot.
|
|
96
|
-
obj.ready && (0, dot_util_1.sT)(() => {
|
|
97
|
-
dot_util_1.GlobalComponentStack.push(obj);
|
|
98
|
-
obj.ready();
|
|
99
|
-
dot_util_1.GlobalComponentStack.pop();
|
|
100
|
-
}, 0);
|
|
101
|
-
dot_util_1.GlobalComponentStack.pop();
|
|
102
|
-
return obj.$el;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Called any time the component needs to be completely rebuilt.
|
|
106
|
-
*/
|
|
107
|
-
static rebuild(obj) {
|
|
108
|
-
let oldEl = obj.$el;
|
|
109
|
-
if (!obj.__eventsInitialized)
|
|
110
|
-
obj.#initializingBuild = true;
|
|
111
|
-
let ret = obj.builder(...obj.__args);
|
|
112
|
-
obj.#initializingBuild = false;
|
|
113
|
-
let lst = ret.getLast();
|
|
114
|
-
(!lst || (lst.parentNode.childNodes.length > 1)) && (0, err_1.default)("C#", obj.name || obj.constructor.name || "(unnamed obj)");
|
|
115
|
-
// Note: I don't know what the justification was for using $obj.el, but all tests pass without it.
|
|
116
|
-
// It was removed to facilitate rebuilding the component (during a prop change).
|
|
117
|
-
obj["__$el"] = /*obj.$el ||*/ lst;
|
|
118
|
-
obj.$el["__dothtml_component"] = obj;
|
|
119
|
-
if (oldEl) {
|
|
120
|
-
// Clean it up and replace it with the new element!
|
|
121
|
-
}
|
|
122
|
-
// TODO: would there be a way to not have to create obj function for each instance?
|
|
123
|
-
if (obj.style) {
|
|
124
|
-
// obj will be the officially supported way to use dothtml.
|
|
125
|
-
obj.$styleBuilder = function () {
|
|
126
|
-
// dot.css.scopeToEl(obj.$el, !obj.__stylesSet);
|
|
127
|
-
dot_1.default.css.scopeToEl(obj.$el);
|
|
128
|
-
if (!obj.__stylesSet) {
|
|
129
|
-
dot_1.default.css.cacheScopedStaticStyles(obj.$el);
|
|
130
|
-
obj.__stylesSet = true;
|
|
131
|
-
}
|
|
132
|
-
dot_1.default.css.clearDynamicStyles(obj.$el);
|
|
133
|
-
obj.style(dot_1.default.css);
|
|
134
|
-
dot_1.default.css.unscope();
|
|
135
|
-
};
|
|
136
|
-
if (!obj.__eventsInitialized)
|
|
137
|
-
obj.#initializingStyles = true;
|
|
138
|
-
obj.$updateStyles();
|
|
139
|
-
obj.#initializingStyles = false;
|
|
140
|
-
//styler();
|
|
141
|
-
}
|
|
142
|
-
obj.built && obj.built();
|
|
143
|
-
}
|
|
144
|
-
static initializeEventHandlers(obj) {
|
|
145
|
-
if (!obj.__eventsInitialized) {
|
|
146
|
-
obj.__eventsInitialized = true;
|
|
147
|
-
(0, dot_util_1.eachK)(obj.events, (k, v) => {
|
|
148
|
-
obj.events[k] = function () {
|
|
149
|
-
for (let f of obj.events[k]["__handlers"]) {
|
|
150
|
-
f.apply(this, arguments);
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
obj.events[k]["__handlers"] = [];
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
static createProp(activePropContainer, name) {
|
|
158
|
-
// var dependencies = [];
|
|
159
|
-
Object.defineProperty(activePropContainer.prototype, name, {
|
|
160
|
-
configurable: false,
|
|
161
|
-
enumerable: false,
|
|
162
|
-
get: function () {
|
|
163
|
-
dot_1.default["__lastProp"] = name;
|
|
164
|
-
dot_1.default["__lastIndex"] = null;
|
|
165
|
-
dot_1.default["__lastComponent"] = this.__component;
|
|
166
|
-
let rawProp = this.__component.__propContainer.rawProps[name];
|
|
167
|
-
Component.configureDependency(this.__component, name);
|
|
168
|
-
return rawProp;
|
|
169
|
-
},
|
|
170
|
-
set: function (value) {
|
|
171
|
-
// TODO: if this value is set, get the list of dependencies, and update them by calling their dot argument callbacks.
|
|
172
|
-
let propVal = value;
|
|
173
|
-
if (value instanceof Array) {
|
|
174
|
-
propVal = new observable_array_1.default(value);
|
|
175
|
-
propVal.addEventListener("read", e => {
|
|
176
|
-
dot_1.default["__lastIndex"] = e.index;
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
this.__component.__propContainer.rawProps[name] = propVal;
|
|
180
|
-
for (let b of this.__component.__propContainer.bindings[name]) {
|
|
181
|
-
(0, dot_1.default)(b.element).as(dot_1.default.input).setVal(propVal);
|
|
182
|
-
}
|
|
183
|
-
Component.updateProp(this.__component, name);
|
|
184
|
-
return propVal;
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
static createBinding(ref, sample) {
|
|
189
|
-
// There are loosely three requirements to this.
|
|
190
|
-
// 1. When modifying a prop, all of the bindings should be updated.
|
|
191
|
-
// This can be handled by setting some initialization flag on the component, looping through each binding, and then adding the logic on update to save updates to the inputs with the given refs.
|
|
192
|
-
// 2. Updating the input should also update the prop.
|
|
193
|
-
// Once we have 1, we can have 2 by simply giong the other way.
|
|
194
|
-
// 3. If multiple refs are bound to the same prop, they should all be updated when one elemnet is updated.
|
|
195
|
-
// This may be implicit once 1 and 2 are done. We just need to prevent infinite loops.
|
|
196
|
-
sample.constructor.__nextBinding = ref;
|
|
197
|
-
sample.bindings[ref];
|
|
198
|
-
sample.constructor.__nextBinding = undefined;
|
|
199
|
-
}
|
|
200
|
-
static configureDependency(cc, name) {
|
|
201
|
-
// TODO: verify that there is no memory leak!!
|
|
202
|
-
var cb = dot_1.default["__currentArgCallback"][dot_1.default["__currentArgCallback"].length - 1];
|
|
203
|
-
if (cb) {
|
|
204
|
-
// This means this getter is being used during the invocation of an arg callback.
|
|
205
|
-
// Add it to a collection so that when the value is set, the appropriate component will update.
|
|
206
|
-
let rawProp = cc.__propContainer.rawProps[name];
|
|
207
|
-
if (rawProp instanceof observable_array_1.default) {
|
|
208
|
-
rawProp.addEventListener("itemadded", function (e) {
|
|
209
|
-
// TODO: More test cases to create:
|
|
210
|
-
// TODO: what about rendering the list length or something?
|
|
211
|
-
// TODO: what about a computed field based on length?
|
|
212
|
-
if (cb instanceof arg_callback_obj_1.ArrayArgCallback) {
|
|
213
|
-
cb.dotTarget._appendOrCreateDocument(cb.f(e.item, e.index), undefined, e.index);
|
|
214
|
-
}
|
|
215
|
-
else if (cb) {
|
|
216
|
-
Component.updateProp(cc, name);
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
rawProp.addEventListener("itemset", function (e) {
|
|
220
|
-
if (cb instanceof arg_callback_obj_1.ArrayArgCallback) {
|
|
221
|
-
var p = cb.dotTarget.__document;
|
|
222
|
-
var el = p.childNodes[e.index];
|
|
223
|
-
p.removeChild(el);
|
|
224
|
-
cb.dotTarget._appendOrCreateDocument(cb.f(e.item, e.index), undefined, e.index);
|
|
225
|
-
}
|
|
226
|
-
else if (cb) {
|
|
227
|
-
Component.updateProp(cc, name);
|
|
228
|
-
}
|
|
229
|
-
});
|
|
230
|
-
rawProp.addEventListener("itemremoved", function (e) {
|
|
231
|
-
if (cb instanceof arg_callback_obj_1.ArrayArgCallback) {
|
|
232
|
-
cb.dotTarget.__document.removeChild(cb.dotTarget.__document.childNodes[e.index]);
|
|
233
|
-
}
|
|
234
|
-
else if (cb) {
|
|
235
|
-
Component.updateProp(cc, name);
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
}
|
|
241
|
-
var ar = cc.__propContainer.propDependencies[name];
|
|
242
|
-
if (!ar)
|
|
243
|
-
ar = cc.__propContainer.propDependencies[name] = [];
|
|
244
|
-
ar.push(cb);
|
|
245
|
-
}
|
|
246
|
-
// Again I find this a weird way to do it that kind of side-steps the above approach, but it gets the job done and is dead simple.
|
|
247
|
-
if (cc.#initializingStyles) {
|
|
248
|
-
cc.#rebuildStylesOnPropChange[name] = true;
|
|
249
|
-
}
|
|
250
|
-
if (cc.#initializingBuild) {
|
|
251
|
-
cc.#rebuildBuilderOnPropChange[name] = true;
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
static updateProp(obj, name) {
|
|
255
|
-
let ar = obj.__propContainer.propDependencies[name];
|
|
256
|
-
let value = obj.__propContainer.rawProps[name];
|
|
257
|
-
// // {f:contentCallback,startNode:startNode, endNode:endNode,condition:condition}
|
|
258
|
-
let updateStyles = false;
|
|
259
|
-
if (false && obj.#rebuildBuilderOnPropChange[name] && !obj.#initializingBuild) {
|
|
260
|
-
// Call the builder again.
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
// Maybe update specific areas.
|
|
264
|
-
// This is admittedly more efficient.
|
|
265
|
-
for (let i = 0; i < (ar || []).length; i++) {
|
|
266
|
-
let arg = ar[i];
|
|
267
|
-
// TODO: this could be used to update attributes.
|
|
268
|
-
// But right now that relies exclusively on function setters. It's a bit weird.
|
|
269
|
-
arg.updateContent(dot_1.default, value);
|
|
270
|
-
if (obj.#rebuildStylesOnPropChange[name] || (arg instanceof arg_callback_obj_1.AttrArgCallback && arg.attr == "class")) {
|
|
271
|
-
updateStyles = true;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
if (updateStyles)
|
|
276
|
-
obj.$updateStyles();
|
|
277
|
-
}
|
|
278
|
-
constructor(...args) {
|
|
279
|
-
/**
|
|
280
|
-
* Used internally to indicate the first time $updateStyles is called.
|
|
281
|
-
* This method is called by the static component builder when the component is created.
|
|
282
|
-
* If a prop is accessed within the style builder, the getter reads this field to mark $updateStyles as a dependency.
|
|
283
|
-
*/
|
|
284
|
-
this.#initializingStyles = false;
|
|
285
|
-
this.#initializingBuild = false;
|
|
286
|
-
// A bit messy but gets us to MVP for this feature.
|
|
287
|
-
// Ideally this should be made a singleton somehow, perhaps put in the property metadata.
|
|
288
|
-
this.#rebuildStylesOnPropChange = {};
|
|
289
|
-
this.#rebuildBuilderOnPropChange = {};
|
|
290
|
-
this.__built = false;
|
|
291
|
-
this.__stylesSet = false;
|
|
292
|
-
this.__eventsInitialized = false;
|
|
293
|
-
this.$refs = {};
|
|
294
|
-
this.__args = args;
|
|
295
|
-
}
|
|
296
|
-
// events: {[key: string]: (... params: Array<any>)=>void};
|
|
297
|
-
/**
|
|
298
|
-
* An optional function that gets called before the component is created, scoped to the new component object.
|
|
299
|
-
*/
|
|
300
|
-
created(...args) { }
|
|
301
|
-
/**
|
|
302
|
-
* An optional function called after the element has been added. One parameter will be provided containing the added element.
|
|
303
|
-
*/
|
|
304
|
-
ready() { }
|
|
305
|
-
/**
|
|
306
|
-
* An optional function called before the component is deleted.
|
|
307
|
-
*/
|
|
308
|
-
deleting() { }
|
|
309
|
-
/**
|
|
310
|
-
* An optional function called after the component is deleted.
|
|
311
|
-
*/
|
|
312
|
-
deleted() { }
|
|
313
|
-
/**
|
|
314
|
-
* An optional function called after the component is built.
|
|
315
|
-
*/
|
|
316
|
-
built() { }
|
|
317
|
-
on(event, handler) {
|
|
318
|
-
Component.initializeEventHandlers(this);
|
|
319
|
-
let e = this.events && this.events[event];
|
|
320
|
-
if (!e)
|
|
321
|
-
(0, err_1.default)("UE", event);
|
|
322
|
-
let handlers = e["__handlers"];
|
|
323
|
-
if (handlers.indexOf(handler) == -1) {
|
|
324
|
-
handlers.push(handler);
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
off(event, handler) {
|
|
328
|
-
let e = this.events && this.events[event];
|
|
329
|
-
if (!e)
|
|
330
|
-
(0, err_1.default)("UE", event);
|
|
331
|
-
let handlers = e["__handlers"];
|
|
332
|
-
let i = handlers.indexOf(handler);
|
|
333
|
-
if (i > -1) {
|
|
334
|
-
handlers.splice(i, 1);
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
/**
|
|
338
|
-
* The main element of this component - automatically set after the builder is called.
|
|
339
|
-
*/
|
|
340
|
-
get $el() {
|
|
341
|
-
return this.__$el;
|
|
342
|
-
}
|
|
343
|
-
$updateStyles() {
|
|
344
|
-
this.$styleBuilder && this.$styleBuilder();
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
exports.default = Component;
|
|
348
|
-
// Eventually we'd like to set this up. Might be overkill.
|
|
349
|
-
// function component<T extends { new (...args: any[]): {} }>(constructor: T) {
|
|
350
|
-
// return class extends constructor {
|
|
351
|
-
//
|
|
352
|
-
// };
|
|
353
|
-
// }
|
|
354
|
-
//# sourceMappingURL=component.js.map
|
package/lib/component.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"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"}
|
package/lib/dot-util.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type Component from "./component";
|
|
2
|
-
export declare function eachK(obj: any, cb: any): void;
|
|
3
|
-
export declare function isF(v: any): any;
|
|
4
|
-
export declare const sT: typeof setTimeout;
|
|
5
|
-
export declare function str(s: number, v?: number): string;
|
|
6
|
-
declare class _ClassPrefix {
|
|
7
|
-
private current;
|
|
8
|
-
reset(): void;
|
|
9
|
-
get next(): number;
|
|
10
|
-
}
|
|
11
|
-
export declare const ClassPrefix: _ClassPrefix;
|
|
12
|
-
export declare const GlobalComponentStack: Array<Component>;
|
|
13
|
-
export type AnimationType = "geometric" | "exponential" | "ease" | "linear";
|
|
14
|
-
export declare var floatRegex: RegExp;
|
|
15
|
-
/**
|
|
16
|
-
* Function that takes in a bunch of parameters and steps the start value toward the target based on timeRemaining and style.
|
|
17
|
-
* currentValue is the current value.
|
|
18
|
-
* targetValue is the target valaue.
|
|
19
|
-
* timeRemaining is the time remaining in ms.
|
|
20
|
-
* stepProgress is the size of this step.
|
|
21
|
-
* totalDuration is the duration of the entire animation from start to finish (not just this step).
|
|
22
|
-
* style is the type of transition (geometric=exponential, ease, linear).
|
|
23
|
-
* Returns the result.
|
|
24
|
-
*/
|
|
25
|
-
export declare function numberStep(startValue: number, targetValue: number, currentTime: number, totalDuration: number, style: AnimationType): number;
|
|
26
|
-
export {};
|
package/lib/dot-util.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Polyfill for Object.keys(...).forEach.
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.numberStep = exports.floatRegex = exports.GlobalComponentStack = exports.ClassPrefix = exports.str = exports.sT = exports.isF = exports.eachK = void 0;
|
|
5
|
-
function eachK(obj, cb) {
|
|
6
|
-
if (obj) {
|
|
7
|
-
var lst = Object.keys(obj);
|
|
8
|
-
for (var i = 0; i < lst.length; i++)
|
|
9
|
-
cb(lst[i], obj[lst[i]]);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.eachK = eachK;
|
|
13
|
-
function isF(v) {
|
|
14
|
-
return v && v.constructor && v.call && v.apply;
|
|
15
|
-
}
|
|
16
|
-
exports.isF = isF;
|
|
17
|
-
exports.sT = setTimeout;
|
|
18
|
-
function str(s, v) { return (s || "").toString(v); } // This function seems really weird.
|
|
19
|
-
exports.str = str;
|
|
20
|
-
class _ClassPrefix {
|
|
21
|
-
constructor() {
|
|
22
|
-
this.current = 0x10000;
|
|
23
|
-
}
|
|
24
|
-
reset() {
|
|
25
|
-
this.current = 0x10000;
|
|
26
|
-
}
|
|
27
|
-
get next() {
|
|
28
|
-
return this.current++;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.ClassPrefix = new _ClassPrefix();
|
|
32
|
-
exports.GlobalComponentStack = [];
|
|
33
|
-
exports.floatRegex = new RegExp("[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?", "g");
|
|
34
|
-
/**
|
|
35
|
-
* Function that takes in a bunch of parameters and steps the start value toward the target based on timeRemaining and style.
|
|
36
|
-
* currentValue is the current value.
|
|
37
|
-
* targetValue is the target valaue.
|
|
38
|
-
* timeRemaining is the time remaining in ms.
|
|
39
|
-
* stepProgress is the size of this step.
|
|
40
|
-
* totalDuration is the duration of the entire animation from start to finish (not just this step).
|
|
41
|
-
* style is the type of transition (geometric=exponential, ease, linear).
|
|
42
|
-
* Returns the result.
|
|
43
|
-
*/
|
|
44
|
-
function numberStep(startValue, targetValue, currentTime, totalDuration, style) {
|
|
45
|
-
startValue = Number(startValue);
|
|
46
|
-
targetValue = Number(targetValue);
|
|
47
|
-
var timeRemaining = totalDuration - currentTime;
|
|
48
|
-
switch (style) {
|
|
49
|
-
case "geometric":
|
|
50
|
-
case "exponential": //This is kind of stupid now that we have ease. I might come back and add it in the future. For now assume ease.
|
|
51
|
-
// var m = Math.exp(-1 / timeRemaining);
|
|
52
|
-
// return targetValue + m * (startValue - targetValue);
|
|
53
|
-
case "ease":
|
|
54
|
-
var m = (-Math.cos(Math.PI * (currentTime / totalDuration)) + 1) * 0.5;
|
|
55
|
-
return startValue + m * (targetValue - startValue);
|
|
56
|
-
case "linear":
|
|
57
|
-
default:
|
|
58
|
-
return startValue + (targetValue - startValue) * (currentTime / totalDuration);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
exports.numberStep = numberStep;
|
|
62
|
-
//# sourceMappingURL=dot-util.js.map
|
package/lib/dot-util.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dot-util.js","sourceRoot":"","sources":["../src/dot-util.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAIzC,SAAgB,KAAK,CAAC,GAAG,EAAE,EAAE;IACzB,IAAG,GAAG,EAAC;QACH,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/D;AACL,CAAC;AALD,sBAKC;AAED,SAAgB,GAAG,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC;AACnD,CAAC;AAFD,kBAEC;AAEY,QAAA,EAAE,GAAG,UAAU,CAAC;AAC7B,SAAgB,GAAG,CAAC,CAAS,EAAC,CAAS,IAAE,OAAO,CAAC,CAAC,IAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAA,CAAC,CAAC,oCAAoC;AAAzG,kBAAoE;AAEpE,MAAM,YAAY;IAAlB;QACY,YAAO,GAAW,OAAO,CAAC;IAStC,CAAC;IAPG,KAAK;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;CACJ;AAEY,QAAA,WAAW,GAAG,IAAI,YAAY,EAAE,CAAA;AAEhC,QAAA,oBAAoB,GAAqB,EAAE,CAAC;AAK9C,QAAA,UAAU,GAAG,IAAI,MAAM,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;AAErF;;;;;;;;;EASE;AACF,SAAgB,UAAU,CAAC,UAAkB,EAAE,WAAmB,EAAE,WAAmB,EAAE,aAAqB,EAAE,KAAoB;IAEnI,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAChC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAElC,IAAI,aAAa,GAAI,aAAa,GAAG,WAAW,CAAC;IAEjD,QAAO,KAAK,EAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa,CAAC,CAAA,gHAAgH;QACnI,wCAAwC;QACxC,wDAAwD;QACxD,KAAK,MAAM;YACV,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YACvE,OAAQ,UAAU,GAAG,CAAC,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;QACrD,KAAK,QAAQ,CAAC;QACd;YACC,OAAO,UAAU,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC;KAChF;AACF,CAAC;AAnBD,gCAmBC"}
|