aberdeen 0.2.3 → 0.4.0
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/README.md +47 -44
- package/dist/aberdeen.d.ts +297 -269
- package/dist/aberdeen.js +708 -452
- package/dist/aberdeen.js.map +1 -1
- package/dist/prediction.js +1 -1
- package/dist/prediction.js.map +1 -1
- package/dist/route.d.ts +18 -4
- package/dist/route.js +121 -58
- package/dist/route.js.map +1 -1
- package/dist/transitions.d.ts +2 -2
- package/dist/transitions.js +40 -33
- package/dist/transitions.js.map +1 -1
- package/dist-min/aberdeen.d.ts +297 -269
- package/dist-min/aberdeen.js +1 -1
- package/dist-min/aberdeen.js.map +1 -1
- package/dist-min/prediction.js +1 -1
- package/dist-min/prediction.js.map +1 -1
- package/dist-min/route.d.ts +18 -4
- package/dist-min/route.js +1 -1
- package/dist-min/route.js.map +1 -1
- package/dist-min/transitions.d.ts +2 -2
- package/dist-min/transitions.js +1 -1
- package/dist-min/transitions.js.map +1 -1
- package/package.json +1 -1
- package/src/aberdeen.ts +724 -568
- package/src/prediction.ts +1 -1
- package/src/route.ts +127 -54
- package/src/transitions.ts +38 -42
package/dist/transitions.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { DOM_READ_PHASE, DOM_WRITE_PHASE } from './aberdeen.js';
|
|
2
11
|
const FADE_TIME = 400;
|
|
3
12
|
const GROW_SHRINK_TRANSITION = `margin ${FADE_TIME}ms ease-out, transform ${FADE_TIME}ms ease-out`;
|
|
4
13
|
function getGrowShrinkProps(el) {
|
|
@@ -17,31 +26,26 @@ function getGrowShrinkProps(el) {
|
|
|
17
26
|
* for other specific cases as well.
|
|
18
27
|
*/
|
|
19
28
|
export function grow(el) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// This causes a browser layout, as we're querying el.offset<>.
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
// Wait until all DOM updates have been done. Then get info from the computed layout.
|
|
31
|
+
yield DOM_READ_PHASE;
|
|
24
32
|
let props = getGrowShrinkProps(el);
|
|
25
|
-
//
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}, FADE_TIME);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
});
|
|
33
|
+
// In the write phase, make the element size 0 using transforms and negative margins.
|
|
34
|
+
yield DOM_WRITE_PHASE;
|
|
35
|
+
Object.assign(el.style, props);
|
|
36
|
+
// Await read phase, to combine multiple transitions into a single browser layout
|
|
37
|
+
yield DOM_READ_PHASE;
|
|
38
|
+
// Make sure the layouting has been performed, to cause transitions to trigger
|
|
39
|
+
el.offsetHeight;
|
|
40
|
+
// In the next write phase, do the transitions
|
|
41
|
+
yield DOM_WRITE_PHASE;
|
|
42
|
+
el.style.transition = GROW_SHRINK_TRANSITION;
|
|
43
|
+
for (let prop in props)
|
|
44
|
+
el.style[prop] = '';
|
|
45
|
+
setTimeout(() => {
|
|
46
|
+
// Disable transitions.
|
|
47
|
+
el.style.transition = '';
|
|
48
|
+
}, FADE_TIME);
|
|
45
49
|
});
|
|
46
50
|
}
|
|
47
51
|
/** Do a shrink transition for the given element, and remove it from the DOM
|
|
@@ -53,15 +57,18 @@ export function grow(el) {
|
|
|
53
57
|
* for other specific cases as well.
|
|
54
58
|
*/
|
|
55
59
|
export function shrink(el) {
|
|
56
|
-
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
// Wait until all DOM updates have been done. Then get info from the computed layout.
|
|
62
|
+
yield DOM_READ_PHASE;
|
|
57
63
|
const props = getGrowShrinkProps(el);
|
|
58
|
-
//
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
// Batch starting transitions in the write phase.
|
|
65
|
+
yield DOM_WRITE_PHASE;
|
|
66
|
+
el.style.transition = GROW_SHRINK_TRANSITION;
|
|
67
|
+
Object.assign(el.style, props);
|
|
68
|
+
// Remove the element after the transition is done.
|
|
69
|
+
setTimeout(() => {
|
|
70
|
+
el.remove();
|
|
71
|
+
}, FADE_TIME);
|
|
65
72
|
});
|
|
66
73
|
}
|
|
67
74
|
//# sourceMappingURL=transitions.js.map
|
package/dist/transitions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitions.js","sourceRoot":"","sources":["../src/transitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"transitions.js","sourceRoot":"","sources":["../src/transitions.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,cAAc,EAAE,eAAe,EAAC,MAAM,eAAe,CAAA;AAE7D,MAAM,SAAS,GAAG,GAAG,CAAA;AACrB,MAAM,sBAAsB,GAAG,UAAU,SAAS,0BAA0B,SAAS,aAAa,CAAA;AAElG,SAAS,kBAAkB,CAAC,EAAe;IAC1C,MAAM,WAAW,GAAQ,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACnF,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,IAAE,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACxG,OAAO,YAAY,CAAC,CAAC;QACpB,EAAC,UAAU,EAAE,IAAI,EAAE,CAAC,WAAW,GAAC,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,WAAW,GAAC,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAC,CAAC,CAAC;QACvG,EAAC,YAAY,EAAE,IAAI,EAAE,CAAC,YAAY,GAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,YAAY,GAAC,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAC,CAAA;AAEzG,CAAC;AAED;;;;;;;EAOE;AACF,MAAM,UAAgB,IAAI,CAAC,EAAe;;QACzC,qFAAqF;QACrF,MAAM,cAAc,CAAA;QACpB,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;QAElC,qFAAqF;QACrF,MAAM,eAAe,CAAA;QACrB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAE9B,iFAAiF;QACjF,MAAM,cAAc,CAAA;QACpB,8EAA8E;QAC9E,EAAE,CAAC,YAAY,CAAA;QAEf,8CAA8C;QAC9C,MAAM,eAAe,CAAA;QACrB,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,sBAAsB,CAAA;QAC5C,KAAI,IAAI,IAAI,IAAI,KAAK;YAAE,EAAE,CAAC,KAAK,CAAC,IAAW,CAAC,GAAG,EAAE,CAAA;QACjD,UAAU,CAAC,GAAG,EAAE;YACf,uBAAuB;YACvB,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAA;QACzB,CAAC,EAAE,SAAS,CAAC,CAAA;IACd,CAAC;CAAA;AAED;;;;;;;EAOE;AACF,MAAM,UAAgB,MAAM,CAAC,EAAe;;QAC3C,qFAAqF;QACrF,MAAM,cAAc,CAAA;QACpB,MAAM,KAAK,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;QAEpC,iDAAiD;QACjD,MAAM,eAAe,CAAA;QACrB,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,sBAAsB,CAAA;QAC5C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAE9B,mDAAmD;QACnD,UAAU,CAAC,GAAG,EAAE;YACf,EAAE,CAAC,MAAM,EAAE,CAAA;QACZ,CAAC,EAAE,SAAS,CAAC,CAAA;IACd,CAAC;CAAA"}
|