grainjs 0.1.0 → 1.0.2
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 +54 -9
- package/dist/cjs/index.d.ts +6 -2
- package/dist/cjs/index.js +24 -17
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/PriorityQueue.d.ts +1 -1
- package/dist/cjs/lib/PriorityQueue.js +1 -0
- package/dist/cjs/lib/PriorityQueue.js.map +1 -1
- package/dist/cjs/lib/_computed_queue.d.ts +18 -0
- package/dist/cjs/lib/_computed_queue.js +6 -1
- package/dist/cjs/lib/_computed_queue.js.map +1 -1
- package/dist/cjs/lib/binding.d.ts +16 -10
- package/dist/cjs/lib/binding.js +22 -27
- package/dist/cjs/lib/binding.js.map +1 -1
- package/dist/cjs/lib/browserGlobals.d.ts +4 -1
- package/dist/cjs/lib/browserGlobals.js +2 -0
- package/dist/cjs/lib/browserGlobals.js.map +1 -1
- package/dist/cjs/lib/computed.d.ts +11 -7
- package/dist/cjs/lib/computed.js +16 -0
- package/dist/cjs/lib/computed.js.map +1 -1
- package/dist/cjs/lib/dispose.d.ts +106 -14
- package/dist/cjs/lib/dispose.js +76 -11
- package/dist/cjs/lib/dispose.js.map +1 -1
- package/dist/cjs/lib/dom.d.ts +21 -17
- package/dist/cjs/lib/dom.js +33 -26
- package/dist/cjs/lib/dom.js.map +1 -1
- package/dist/cjs/lib/domComponent.d.ts +71 -0
- package/dist/cjs/lib/domComponent.js +15 -0
- package/dist/cjs/lib/domComponent.js.map +1 -0
- package/dist/cjs/lib/domComputed.d.ts +89 -0
- package/dist/cjs/lib/domComputed.js +92 -0
- package/dist/cjs/lib/domComputed.js.map +1 -0
- package/dist/cjs/lib/{_domDispose.d.ts → domDispose.d.ts} +12 -2
- package/dist/cjs/lib/{_domDispose.js → domDispose.js} +21 -8
- package/dist/cjs/lib/domDispose.js.map +1 -0
- package/dist/cjs/lib/{_domForEach.d.ts → domForEach.d.ts} +2 -2
- package/dist/cjs/lib/domForEach.js +72 -0
- package/dist/cjs/lib/domForEach.js.map +1 -0
- package/dist/cjs/lib/{_domImpl.d.ts → domImpl.d.ts} +15 -12
- package/dist/cjs/lib/{_domImpl.js → domImpl.js} +23 -6
- package/dist/cjs/lib/domImpl.js.map +1 -0
- package/dist/cjs/lib/{_domMethods.d.ts → domMethods.d.ts} +27 -62
- package/dist/cjs/lib/{_domMethods.js → domMethods.js} +21 -76
- package/dist/cjs/lib/domMethods.js.map +1 -0
- package/dist/cjs/lib/domevent.d.ts +32 -21
- package/dist/cjs/lib/domevent.js +33 -12
- package/dist/cjs/lib/domevent.js.map +1 -1
- package/dist/cjs/lib/emit.d.ts +25 -2
- package/dist/cjs/lib/emit.js +3 -1
- package/dist/cjs/lib/emit.js.map +1 -1
- package/dist/cjs/lib/kowrap.d.ts +45 -3
- package/dist/cjs/lib/kowrap.js +93 -10
- package/dist/cjs/lib/kowrap.js.map +1 -1
- package/dist/cjs/lib/obsArray.d.ts +8 -8
- package/dist/cjs/lib/obsArray.js +1 -0
- package/dist/cjs/lib/obsArray.js.map +1 -1
- package/dist/cjs/lib/observable.d.ts +6 -1
- package/dist/cjs/lib/observable.js +11 -2
- package/dist/cjs/lib/observable.js.map +1 -1
- package/dist/cjs/lib/pureComputed.d.ts +3 -3
- package/dist/cjs/lib/pureComputed.js +2 -1
- package/dist/cjs/lib/pureComputed.js.map +1 -1
- package/dist/cjs/lib/styled.d.ts +76 -11
- package/dist/cjs/lib/styled.js +55 -23
- package/dist/cjs/lib/styled.js.map +1 -1
- package/dist/cjs/lib/subscribe.d.ts +15 -6
- package/dist/cjs/lib/subscribe.js +6 -2
- package/dist/cjs/lib/subscribe.js.map +1 -1
- package/dist/cjs/lib/util.js +1 -0
- package/dist/cjs/lib/util.js.map +1 -1
- package/dist/cjs/lib/widgets/input.d.ts +2 -2
- package/dist/cjs/lib/widgets/input.js +2 -2
- package/dist/cjs/lib/widgets/input.js.map +1 -1
- package/dist/cjs/lib/widgets/select.d.ts +1 -1
- package/dist/cjs/lib/widgets/select.js +1 -0
- package/dist/cjs/lib/widgets/select.js.map +1 -1
- package/dist/esm/index.js +6 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/PriorityQueue.js.map +1 -1
- package/dist/esm/lib/_computed_queue.js +5 -1
- package/dist/esm/lib/_computed_queue.js.map +1 -1
- package/dist/esm/lib/binding.js +20 -27
- package/dist/esm/lib/binding.js.map +1 -1
- package/dist/esm/lib/browserGlobals.js +1 -0
- package/dist/esm/lib/browserGlobals.js.map +1 -1
- package/dist/esm/lib/computed.js +15 -0
- package/dist/esm/lib/computed.js.map +1 -1
- package/dist/esm/lib/dispose.js +74 -11
- package/dist/esm/lib/dispose.js.map +1 -1
- package/dist/esm/lib/dom.js +21 -17
- package/dist/esm/lib/dom.js.map +1 -1
- package/dist/esm/lib/domComponent.js +11 -0
- package/dist/esm/lib/domComponent.js.map +1 -0
- package/dist/esm/lib/domComputed.js +84 -0
- package/dist/esm/lib/domComputed.js.map +1 -0
- package/dist/esm/lib/{_domDispose.js → domDispose.js} +19 -8
- package/dist/esm/lib/domDispose.js.map +1 -0
- package/dist/esm/lib/domForEach.js +68 -0
- package/dist/esm/lib/domForEach.js.map +1 -0
- package/dist/esm/lib/{_domImpl.js → domImpl.js} +20 -4
- package/dist/esm/lib/domImpl.js.map +1 -0
- package/dist/esm/lib/{_domMethods.js → domMethods.js} +8 -63
- package/dist/esm/lib/domMethods.js.map +1 -0
- package/dist/esm/lib/domevent.js +30 -11
- package/dist/esm/lib/domevent.js.map +1 -1
- package/dist/esm/lib/emit.js +2 -1
- package/dist/esm/lib/emit.js.map +1 -1
- package/dist/esm/lib/kowrap.js +90 -10
- package/dist/esm/lib/kowrap.js.map +1 -1
- package/dist/esm/lib/obsArray.js.map +1 -1
- package/dist/esm/lib/observable.js +9 -1
- package/dist/esm/lib/observable.js.map +1 -1
- package/dist/esm/lib/pureComputed.js +1 -1
- package/dist/esm/lib/pureComputed.js.map +1 -1
- package/dist/esm/lib/styled.js +52 -22
- package/dist/esm/lib/styled.js.map +1 -1
- package/dist/esm/lib/subscribe.js +5 -2
- package/dist/esm/lib/subscribe.js.map +1 -1
- package/dist/esm/lib/util.js.map +1 -1
- package/dist/esm/lib/widgets/input.js +1 -2
- package/dist/esm/lib/widgets/input.js.map +1 -1
- package/dist/esm/lib/widgets/select.js.map +1 -1
- package/dist/grain-full.debug.js +1627 -1222
- package/dist/grain-full.min.js +1 -1
- package/dist/grain-full.min.js.map +1 -1
- package/index.ts +6 -2
- package/lib/_computed_queue.ts +7 -1
- package/lib/binding.ts +33 -28
- package/lib/browserGlobals.ts +3 -1
- package/lib/computed.ts +37 -7
- package/lib/dispose.ts +81 -33
- package/lib/dom.ts +24 -18
- package/lib/domComponent.ts +89 -0
- package/lib/domComputed.ts +146 -0
- package/lib/{_domDispose.ts → domDispose.ts} +26 -8
- package/lib/{_domForEach.ts → domForEach.ts} +12 -11
- package/lib/{_domImpl.ts → domImpl.ts} +36 -30
- package/lib/{_domMethods.ts → domMethods.ts} +33 -103
- package/lib/domevent.ts +59 -22
- package/lib/emit.ts +2 -1
- package/lib/kowrap.ts +109 -11
- package/lib/obsArray.ts +2 -2
- package/lib/observable.ts +10 -2
- package/lib/pureComputed.ts +7 -6
- package/lib/styled.ts +65 -39
- package/lib/subscribe.ts +24 -8
- package/lib/widgets/input.ts +9 -7
- package/lib/widgets/select.ts +3 -3
- package/package.json +41 -42
- package/dist/cjs/lib/_domComponent.d.ts +0 -84
- package/dist/cjs/lib/_domComponent.js +0 -160
- package/dist/cjs/lib/_domComponent.js.map +0 -1
- package/dist/cjs/lib/_domDispose.js.map +0 -1
- package/dist/cjs/lib/_domForEach.js +0 -71
- package/dist/cjs/lib/_domForEach.js.map +0 -1
- package/dist/cjs/lib/_domImpl.js.map +0 -1
- package/dist/cjs/lib/_domMethods.js.map +0 -1
- package/dist/esm/lib/_domComponent.js +0 -155
- package/dist/esm/lib/_domComponent.js.map +0 -1
- package/dist/esm/lib/_domDispose.js.map +0 -1
- package/dist/esm/lib/_domForEach.js +0 -68
- package/dist/esm/lib/_domForEach.js.map +0 -1
- package/dist/esm/lib/_domImpl.js.map +0 -1
- package/dist/esm/lib/_domMethods.js.map +0 -1
- package/lib/_domComponent.ts +0 -167
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kowrap.js","sourceRoot":"","sources":["../../../lib/kowrap.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"kowrap.js","sourceRoot":"","sources":["../../../lib/kowrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
* Note that only the pattern above works: obsArray (or compArray) may only be used to take
|
|
31
31
|
* ownership of those disposables that are added to it as array elements.
|
|
32
32
|
*/
|
|
33
|
-
import { IDisposable,
|
|
33
|
+
import { IDisposable, IDisposableOwnerT } from './dispose';
|
|
34
34
|
import { Listener } from './emit';
|
|
35
35
|
import { BaseObservable, Observable } from './observable';
|
|
36
36
|
/**
|
|
@@ -89,11 +89,11 @@ export declare class ComputedArray<T, U> extends ObsArray<U> {
|
|
|
89
89
|
private _lastSplice?;
|
|
90
90
|
constructor(obsArr: BaseObservable<T[]> | Observable<BaseObservable<T[]>>, _mapper: (item: T, index: number, arr: ComputedArray<T, U>) => U);
|
|
91
91
|
dispose(): void;
|
|
92
|
-
private _syncMap
|
|
93
|
-
private _unsync
|
|
94
|
-
private _rebuild
|
|
95
|
-
private _applySplice
|
|
96
|
-
private _recordChange
|
|
92
|
+
private _syncMap;
|
|
93
|
+
private _unsync;
|
|
94
|
+
private _rebuild;
|
|
95
|
+
private _applySplice;
|
|
96
|
+
private _recordChange;
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
99
|
* Returns an ObsArray that maps all elements of the passed-in ObsArray through a mapper function.
|
|
@@ -127,7 +127,7 @@ export declare function computedArray<T, U>(obsArr: BaseObservable<T[]> | Observ
|
|
|
127
127
|
* The returned observable has an additional .setLive(bool) method. While set to false, the
|
|
128
128
|
* observable will not be adjusted as the array changes, except to keep it valid.
|
|
129
129
|
*/
|
|
130
|
-
export declare function makeLiveIndex<T>(owner:
|
|
130
|
+
export declare function makeLiveIndex<T>(owner: IDisposableOwnerT<LiveIndex> | null, obsArr: ObsArray<T>, initialIndex?: number): LiveIndex;
|
|
131
131
|
export declare class LiveIndex extends Observable<number | null> {
|
|
132
132
|
private _obsArray;
|
|
133
133
|
private _listener;
|
|
@@ -136,5 +136,5 @@ export declare class LiveIndex extends Observable<number | null> {
|
|
|
136
136
|
set(index: number | null): void;
|
|
137
137
|
setLive(value: boolean): void;
|
|
138
138
|
dispose(): void;
|
|
139
|
-
private _onArrayChange
|
|
139
|
+
private _onArrayChange;
|
|
140
140
|
}
|
package/dist/cjs/lib/obsArray.js
CHANGED
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
* ownership of those disposables that are added to it as array elements.
|
|
33
33
|
*/
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.LiveIndex = exports.makeLiveIndex = exports.computedArray = exports.ComputedArray = exports.obsArray = exports.MutableObsArray = exports.ObsArray = void 0;
|
|
35
36
|
const dispose_1 = require("./dispose");
|
|
36
37
|
const observable_1 = require("./observable");
|
|
37
38
|
const subscribe_1 = require("./subscribe");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"obsArray.js","sourceRoot":"","sources":["../../../lib/obsArray.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG
|
|
1
|
+
{"version":3,"file":"obsArray.js","sourceRoot":"","sources":["../../../lib/obsArray.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,7 +63,8 @@ export declare class BaseObservable<T> {
|
|
|
63
63
|
* previously-set such callback.
|
|
64
64
|
* @param {Function} changeCB(hasListeners): Function to call after a listener is added or
|
|
65
65
|
* removed. It's called with a boolean indicating whether this observable has any listeners.
|
|
66
|
-
* Pass in `null` to unset the callback.
|
|
66
|
+
* Pass in `null` to unset the callback. Note that it can be called multiple times in a row
|
|
67
|
+
* with hasListeners `true`.
|
|
67
68
|
*/
|
|
68
69
|
setListenerChangeCB(changeCB: (hasListeners: boolean) => void, optContext?: any): void;
|
|
69
70
|
/**
|
|
@@ -88,6 +89,10 @@ export declare class BaseObservable<T> {
|
|
|
88
89
|
}
|
|
89
90
|
export declare class Observable<T> extends BaseObservable<T> implements IDisposableOwnerT<T & IDisposable> {
|
|
90
91
|
static holder<T>(value: T & IDisposable): Observable<T>;
|
|
92
|
+
/**
|
|
93
|
+
* Creates a new Observable with the given initial value, and owned by owner.
|
|
94
|
+
*/
|
|
95
|
+
static create<T>(owner: IDisposableOwnerT<Observable<T>> | null, value: T): Observable<T>;
|
|
91
96
|
private _owned?;
|
|
92
97
|
/**
|
|
93
98
|
* The use an observable for a disposable object, use it a DisposableOwner:
|
|
@@ -22,10 +22,12 @@
|
|
|
22
22
|
* dependency is created, and which observables the dependency connects.
|
|
23
23
|
*/
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.obsHolder = exports.observable = exports.Observable = exports.BaseObservable = exports.bundleChanges = void 0;
|
|
25
26
|
const _computed_queue_1 = require("./_computed_queue");
|
|
27
|
+
const dispose_1 = require("./dispose");
|
|
26
28
|
const emit_1 = require("./emit");
|
|
27
29
|
var _computed_queue_2 = require("./_computed_queue");
|
|
28
|
-
exports
|
|
30
|
+
Object.defineProperty(exports, "bundleChanges", { enumerable: true, get: function () { return _computed_queue_2.bundleChanges; } });
|
|
29
31
|
class BaseObservable {
|
|
30
32
|
/**
|
|
31
33
|
* Internal constructor for an Observable. You should use observable() function instead.
|
|
@@ -80,7 +82,8 @@ class BaseObservable {
|
|
|
80
82
|
* previously-set such callback.
|
|
81
83
|
* @param {Function} changeCB(hasListeners): Function to call after a listener is added or
|
|
82
84
|
* removed. It's called with a boolean indicating whether this observable has any listeners.
|
|
83
|
-
* Pass in `null` to unset the callback.
|
|
85
|
+
* Pass in `null` to unset the callback. Note that it can be called multiple times in a row
|
|
86
|
+
* with hasListeners `true`.
|
|
84
87
|
*/
|
|
85
88
|
setListenerChangeCB(changeCB, optContext) {
|
|
86
89
|
this._onChange.setChangeCB(changeCB, optContext);
|
|
@@ -131,6 +134,12 @@ class Observable extends BaseObservable {
|
|
|
131
134
|
obs._owned = value;
|
|
132
135
|
return obs;
|
|
133
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Creates a new Observable with the given initial value, and owned by owner.
|
|
139
|
+
*/
|
|
140
|
+
static create(owner, value) {
|
|
141
|
+
return dispose_1.setDisposeOwner(owner, new Observable(value));
|
|
142
|
+
}
|
|
134
143
|
/**
|
|
135
144
|
* The use an observable for a disposable object, use it a DisposableOwner:
|
|
136
145
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.js","sourceRoot":"","sources":["../../../lib/observable.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG
|
|
1
|
+
{"version":3,"file":"observable.js","sourceRoot":"","sources":["../../../lib/observable.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAEH,uDAAmD;AACnD,uCAA0E;AAC1E,iCAAyC;AAEzC,qDAAgD;AAAxC,gHAAA,aAAa,OAAA;AAErB,MAAa,cAAc;IAIzB;;OAEG;IACH,YAAY,KAAQ;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,cAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACI,GAAG,KAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC;;;;OAIG;IACI,GAAG,CAAC,KAAQ;QACjB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE;YACzB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC3B;IACH,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,KAAQ;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,yBAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,QAAmC,EAAE,UAAmB;QACzE,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACI,mBAAmB,CAAC,QAAyC,EAAE,UAAgB;QACpF,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,MAAc,GAAG,SAAS,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAES,aAAa,CAAC,GAAS,IAAe,CAAC;IAEjD;;;OAGG;IACO,WAAW,CAAC,KAAQ,EAAE,GAAQ;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACxB,yBAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA3GD,wCA2GC;AAED,MAAa,UAAc,SAAQ,cAAiB;IAApD;;QAeU,WAAM,GAAqB,SAAS,CAAC;IAuB/C,CAAC;IArCC,8DAA8D;IACvD,MAAM,CAAC,MAAM,CAAI,KAAsB;QAC5C,MAAM,GAAG,GAAG,IAAI,UAAU,CAAI,KAAK,CAAC,CAAC;QACrC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,MAAM,CAAI,KAA4C,EAAE,KAAQ;QAC5E,OAAO,yBAAe,CAAC,KAAK,EAAE,IAAI,UAAU,CAAI,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAID;;;;;;;;OAQG;IACI,WAAW,CAAC,KAAsB;QACvC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAES,aAAa;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;SACzB;IACH,CAAC;CACF;AAtCD,gCAsCC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAI,KAAQ;IACpC,OAAO,IAAI,UAAU,CAAI,KAAK,CAAC,CAAC;AAClC,CAAC;AAFD,gCAEC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,SAAS,CAAI,KAAsB;IACjD,OAAO,UAAU,CAAC,MAAM,CAAI,KAAK,CAAC,CAAC;AACrC,CAAC;AAFD,8BAEC"}
|
|
@@ -39,9 +39,9 @@ export declare class PureComputed<T> extends Observable<T> {
|
|
|
39
39
|
* Disposes the pureComputed, unsubscribing it from all observables it depends on.
|
|
40
40
|
*/
|
|
41
41
|
dispose(): void;
|
|
42
|
-
private _activate
|
|
43
|
-
private _onListenerChange
|
|
44
|
-
private _read
|
|
42
|
+
private _activate;
|
|
43
|
+
private _onListenerChange;
|
|
44
|
+
private _read;
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
47
|
* This is the type-checking interface for pureComputed(), which allows TypeScript to do helpful
|
|
@@ -11,13 +11,14 @@
|
|
|
11
11
|
* unused (since it's not registered with dependencies), so it is not necessary to dispose it.
|
|
12
12
|
*/
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.pureComputed = exports.PureComputed = void 0;
|
|
14
15
|
const observable_1 = require("./observable");
|
|
15
16
|
const subscribe_1 = require("./subscribe");
|
|
16
17
|
function _noWrite() {
|
|
17
18
|
throw new Error("Can't write to non-writable pureComputed");
|
|
18
19
|
}
|
|
19
20
|
function _useFunc(obs) {
|
|
20
|
-
return obs.get();
|
|
21
|
+
return ('get' in obs) ? obs.get() : obs.peek();
|
|
21
22
|
}
|
|
22
23
|
// Constant empty array, which we use to avoid allocating new read-only empty arrays.
|
|
23
24
|
const emptyArray = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pureComputed.js","sourceRoot":"","sources":["../../../lib/pureComputed.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG
|
|
1
|
+
{"version":3,"file":"pureComputed.js","sourceRoot":"","sources":["../../../lib/pureComputed.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/lib/styled.d.ts
CHANGED
|
@@ -1,14 +1,79 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* In-code styling for DOM components, inspired by Reacts Styled Components.
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* const title = styled('h1', `
|
|
6
|
+
* font-size: 1.5em;
|
|
7
|
+
* text-align: center;
|
|
8
|
+
* color: palevioletred;
|
|
9
|
+
* `);
|
|
10
|
+
*
|
|
11
|
+
* const wrapper = styled('section', `
|
|
12
|
+
* padding: 4em;
|
|
13
|
+
* background: papayawhip;
|
|
14
|
+
* `);
|
|
15
|
+
*
|
|
16
|
+
* wrapper(title('Hello world'))
|
|
17
|
+
*
|
|
18
|
+
* This generates class names for title and wrapper, adds the styles to the document on first use,
|
|
19
|
+
* and the result is equivalent to:
|
|
20
|
+
*
|
|
21
|
+
* dom(`section.${wrapper.className}`, dom(`h1.${title.className}`, 'Hello world'));
|
|
22
|
+
*
|
|
23
|
+
* Calls to styled() should happen at the top level, at import time, in order to register all
|
|
24
|
+
* styles upfront. Actual work happens the first time a style is needed to create an element.
|
|
25
|
+
* Calling styled() elsewhere than at top level is wasteful and bad for performance.
|
|
26
|
+
*
|
|
27
|
+
* You may create a style that modifies an existing styled() or other component, e.g.
|
|
28
|
+
*
|
|
29
|
+
* const title2 = styled(title, `font-size: 1rem; color: red;`);
|
|
30
|
+
*
|
|
31
|
+
* Calling title2('Foo') becomes equivalent to dom(`h1.${title.className}.${title2.className}`).
|
|
32
|
+
*
|
|
33
|
+
* Styles may incorporate other related styles by nesting them under the main one as follows:
|
|
34
|
+
*
|
|
35
|
+
* const myButton = styled('button', `
|
|
36
|
+
* border-radius: 0.5rem;
|
|
37
|
+
* border: 1px solid grey;
|
|
38
|
+
* font-size: 1rem;
|
|
39
|
+
*
|
|
40
|
+
* &:active {
|
|
41
|
+
* background: lightblue;
|
|
42
|
+
* }
|
|
43
|
+
* &-small {
|
|
44
|
+
* font-size: 0.6rem;
|
|
45
|
+
* }
|
|
46
|
+
* `);
|
|
47
|
+
*
|
|
48
|
+
* In nested styles, ampersand (&) gets replaced with the generated .className of the main element.
|
|
49
|
+
*
|
|
50
|
+
* The resulting styled component provides a .cls() helper to simplify using prefixed classes. It
|
|
51
|
+
* behaves as dom.cls(), but prefixes the class names with the generated className of the main
|
|
52
|
+
* element. E.g. for the example above,
|
|
53
|
+
*
|
|
54
|
+
* myButton(myButton.cls('-small'), 'Test')
|
|
55
|
+
*
|
|
56
|
+
* creates a button with both the myButton style above, and the style specified under "&-small".
|
|
57
|
+
*
|
|
58
|
+
* Animations with @keyframes may be created with a unique name by using the keyframes() helper:
|
|
59
|
+
*
|
|
60
|
+
* const rotate360 = keyframes(`
|
|
61
|
+
* from { transform: rotate(0deg); }
|
|
62
|
+
* to { transform: rotate(360deg); }
|
|
63
|
+
* `);
|
|
64
|
+
*
|
|
65
|
+
* const Rotate = styled('div', `
|
|
66
|
+
* display: inline-block;
|
|
67
|
+
* animation: ${rotate360} 2s linear infinite;
|
|
68
|
+
* `);
|
|
69
|
+
*/
|
|
70
|
+
import { IDomArgs, TagElem, TagName } from './domImpl';
|
|
71
|
+
import { cls } from './domMethods';
|
|
6
72
|
export interface IClsName {
|
|
7
73
|
className: string;
|
|
8
|
-
cls: typeof
|
|
74
|
+
cls: typeof cls;
|
|
9
75
|
}
|
|
10
|
-
export declare
|
|
11
|
-
export declare function styled<
|
|
12
|
-
export declare function styled<
|
|
13
|
-
export declare function
|
|
14
|
-
export declare function styled<R, T, U, W>(creator: DomCreateFunc3<R, T, U, W>, styles: string): DomCreateFunc3<R, T, U, W> & IClsName;
|
|
76
|
+
export declare type DomCreateFunc<R, Args extends IDomArgs<R> = IDomArgs<R>> = (...args: Args) => R;
|
|
77
|
+
export declare function styled<Tag extends TagName>(tag: Tag, styles: string): DomCreateFunc<TagElem<Tag>> & IClsName;
|
|
78
|
+
export declare function styled<Args extends any[], R extends Element>(creator: (...args: Args) => R, styles: string): typeof creator & IClsName;
|
|
79
|
+
export declare function keyframes(styles: string): string;
|
package/dist/cjs/lib/styled.js
CHANGED
|
@@ -55,11 +55,25 @@
|
|
|
55
55
|
* myButton(myButton.cls('-small'), 'Test')
|
|
56
56
|
*
|
|
57
57
|
* creates a button with both the myButton style above, and the style specified under "&-small".
|
|
58
|
+
*
|
|
59
|
+
* Animations with @keyframes may be created with a unique name by using the keyframes() helper:
|
|
60
|
+
*
|
|
61
|
+
* const rotate360 = keyframes(`
|
|
62
|
+
* from { transform: rotate(0deg); }
|
|
63
|
+
* to { transform: rotate(360deg); }
|
|
64
|
+
* `);
|
|
65
|
+
*
|
|
66
|
+
* const Rotate = styled('div', `
|
|
67
|
+
* display: inline-block;
|
|
68
|
+
* animation: ${rotate360} 2s linear infinite;
|
|
69
|
+
* `);
|
|
58
70
|
*/
|
|
59
71
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
72
|
+
exports.keyframes = exports.styled = void 0;
|
|
60
73
|
// Use the browser globals in a way that allows replacing them with mocks in tests.
|
|
61
74
|
const browserGlobals_1 = require("./browserGlobals");
|
|
62
|
-
const
|
|
75
|
+
const domImpl_1 = require("./domImpl");
|
|
76
|
+
const domMethods_1 = require("./domMethods");
|
|
63
77
|
function styled(creator, styles) {
|
|
64
78
|
// Note that we intentionally minimize the work done when styled() is called; it's better to do
|
|
65
79
|
// any needed work on first use. That's when we will actually build the css rules.
|
|
@@ -67,25 +81,37 @@ function styled(creator, styles) {
|
|
|
67
81
|
// Creator function reflects the input, with only the addition of style.use() at the end. Note
|
|
68
82
|
// that it needs to be at the end because creator() might take special initial arguments.
|
|
69
83
|
const newCreator = (typeof creator === 'string') ?
|
|
70
|
-
(...args) =>
|
|
71
|
-
(...args) => creator(...args
|
|
84
|
+
(...args) => style.addToElem(domImpl_1.dom(creator, ...args)) :
|
|
85
|
+
(...args) => style.addToElem(creator(...args));
|
|
72
86
|
return Object.assign(newCreator, {
|
|
73
87
|
className: style.className,
|
|
74
|
-
cls:
|
|
88
|
+
cls: domMethods_1.clsPrefix.bind(null, style.className),
|
|
75
89
|
});
|
|
76
90
|
}
|
|
77
91
|
exports.styled = styled;
|
|
92
|
+
// Keyframes produces simply a string with the generated name. Note that these does not support
|
|
93
|
+
// nesting or ampersand (&) handling, since these would be difficult and are entirely unneeded.
|
|
94
|
+
function keyframes(styles) {
|
|
95
|
+
return (new KeyframePiece(styles)).className;
|
|
96
|
+
}
|
|
97
|
+
exports.keyframes = keyframes;
|
|
78
98
|
function createCssRules(className, styles) {
|
|
79
|
-
|
|
80
|
-
//
|
|
81
|
-
|
|
82
|
-
const mainRules = styles.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
99
|
+
// The first time we encounter a nested section, we know which are the "main" rules, and can
|
|
100
|
+
// wrap them appropriately.
|
|
101
|
+
const nestedStart = styles.search(/[^;]*\{/);
|
|
102
|
+
const mainRules = nestedStart < 0 ? styles : styles.slice(0, nestedStart);
|
|
103
|
+
const nestedRules = nestedStart < 0 ? "" : styles.slice(nestedStart);
|
|
104
|
+
// At the end, replace all occurrences of & with ".className".
|
|
105
|
+
return `& {${mainRules}\n}\n${nestedRules}`.replace(/&/g, className);
|
|
106
|
+
}
|
|
107
|
+
// Used by getNextStyleNum when running without a global window object (e.g. in tests).
|
|
108
|
+
const _global = {};
|
|
109
|
+
// Keep the counter for next class attached to the global window object rather than be a library
|
|
110
|
+
// global. This way if by some chance multiple instance of grainjs are loaded into the page, it
|
|
111
|
+
// still works without overwriting class names (which would be extremely confusing).
|
|
112
|
+
function getNextStyleNum() {
|
|
113
|
+
const g = browserGlobals_1.G.window || _global;
|
|
114
|
+
return g._grainNextStyleNum = (g._grainNextStyleNum || 0) + 1;
|
|
89
115
|
}
|
|
90
116
|
class StylePiece {
|
|
91
117
|
constructor(_styles) {
|
|
@@ -94,27 +120,33 @@ class StylePiece {
|
|
|
94
120
|
this.className = StylePiece._nextClassName();
|
|
95
121
|
StylePiece._unmounted.add(this);
|
|
96
122
|
}
|
|
97
|
-
// Generate a new css class name.
|
|
98
|
-
static _nextClassName() { return `_grain${
|
|
123
|
+
// Generate a new css class name. The suffix ensures that names like "&2" can't cause a conflict.
|
|
124
|
+
static _nextClassName() { return `_grain${getNextStyleNum()}_`; }
|
|
99
125
|
// Mount all unmounted StylePieces, and clear the _unmounted map.
|
|
100
126
|
static _mountAll() {
|
|
101
|
-
const sheet = Array.from(this._unmounted, (p) =>
|
|
102
|
-
|
|
103
|
-
browserGlobals_1.G.document.head.appendChild(dom_1.dom('style', sheet));
|
|
127
|
+
const sheet = Array.from(this._unmounted, (p) => p._createRules()).join("\n\n");
|
|
128
|
+
browserGlobals_1.G.document.head.appendChild(domImpl_1.dom('style', sheet));
|
|
104
129
|
for (const piece of this._unmounted) {
|
|
105
130
|
piece._mounted = true;
|
|
106
131
|
}
|
|
107
132
|
this._unmounted.clear();
|
|
108
133
|
}
|
|
109
|
-
|
|
134
|
+
addToElem(elem) {
|
|
110
135
|
if (!this._mounted) {
|
|
111
136
|
StylePiece._mountAll();
|
|
112
137
|
}
|
|
113
|
-
|
|
138
|
+
elem.classList.add(this.className);
|
|
139
|
+
return elem;
|
|
140
|
+
}
|
|
141
|
+
_createRules() {
|
|
142
|
+
return createCssRules('.' + this.className, this._styles);
|
|
114
143
|
}
|
|
115
144
|
}
|
|
116
|
-
// Index of next auto-generated css class name.
|
|
117
|
-
StylePiece._next = 1;
|
|
118
145
|
// Set of all StylePieces created but not yet mounted.
|
|
119
146
|
StylePiece._unmounted = new Set();
|
|
147
|
+
class KeyframePiece extends StylePiece {
|
|
148
|
+
_createRules() {
|
|
149
|
+
return `@keyframes ${this.className} {${this._styles}}`;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
120
152
|
//# sourceMappingURL=styled.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../lib/styled.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../lib/styled.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,14 +18,23 @@
|
|
|
18
18
|
* subscribe(...deps, ((use, ...depValues) => READ_CALLBACK));
|
|
19
19
|
*/
|
|
20
20
|
import { DepItem } from './_computed_queue';
|
|
21
|
+
import { IDisposableOwner } from './dispose';
|
|
21
22
|
import { Listener } from './emit';
|
|
23
|
+
import { IKnockoutReadObservable } from './kowrap';
|
|
22
24
|
import { BaseObservable as Obs } from './observable';
|
|
23
|
-
export interface
|
|
25
|
+
export interface ISubscribableObs {
|
|
24
26
|
_getDepItem(): DepItem | null;
|
|
25
27
|
addListener(callback: (val: any, prev: any) => void, optContext?: object): Listener;
|
|
26
28
|
get(): any;
|
|
27
29
|
}
|
|
28
|
-
export declare type
|
|
30
|
+
export declare type ISubscribable = ISubscribableObs | IKnockoutReadObservable<any>;
|
|
31
|
+
export declare type InferUseType<TObs extends Obs<any> | IKnockoutReadObservable<any>> = TObs extends Obs<infer T> ? T : TObs extends {
|
|
32
|
+
peek(): infer U;
|
|
33
|
+
} ? U : never;
|
|
34
|
+
export declare type UseCB = <TObs extends Obs<any> | IKnockoutReadObservable<any>>(obs: TObs) => InferUseType<TObs>;
|
|
35
|
+
export interface UseCBOwner extends UseCB {
|
|
36
|
+
owner: IDisposableOwner;
|
|
37
|
+
}
|
|
29
38
|
export declare class Subscription {
|
|
30
39
|
private readonly _depItem;
|
|
31
40
|
private readonly _dependencies;
|
|
@@ -53,25 +62,25 @@ export declare class Subscription {
|
|
|
53
62
|
* subscription to `obs` if one doesn't yet exist.
|
|
54
63
|
* @param {Observable} obs: The observable being used as a dependency.
|
|
55
64
|
*/
|
|
56
|
-
private _useDependency
|
|
65
|
+
private _useDependency;
|
|
57
66
|
/**
|
|
58
67
|
* @private
|
|
59
68
|
* Calls the callback() with appropriate args, and updates subscriptions when it is done.
|
|
60
69
|
* I.e. adds dynamic subscriptions created via `use(obs)`, and disposes those no longer used.
|
|
61
70
|
*/
|
|
62
|
-
private _evaluate
|
|
71
|
+
private _evaluate;
|
|
63
72
|
/**
|
|
64
73
|
* @private
|
|
65
74
|
* Subscribes this computed to another observable that it depends on.
|
|
66
75
|
* @param {Observable} obs: The observable to subscribe to.
|
|
67
76
|
* @returns {Listener} Listener object.
|
|
68
77
|
*/
|
|
69
|
-
private _subscribeTo
|
|
78
|
+
private _subscribeTo;
|
|
70
79
|
/**
|
|
71
80
|
* @private
|
|
72
81
|
* Adds this item to the recompute queue.
|
|
73
82
|
*/
|
|
74
|
-
private _enqueue
|
|
83
|
+
private _enqueue;
|
|
75
84
|
}
|
|
76
85
|
/**
|
|
77
86
|
* This is the type-checking interface for subscribe(), which allows TypeScript to do helpful
|
|
@@ -19,7 +19,9 @@
|
|
|
19
19
|
* subscribe(...deps, ((use, ...depValues) => READ_CALLBACK));
|
|
20
20
|
*/
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.subscribe = exports.Subscription = void 0;
|
|
22
23
|
const _computed_queue_1 = require("./_computed_queue");
|
|
24
|
+
const kowrap_1 = require("./kowrap");
|
|
23
25
|
// Constant empty array, which we use to avoid allocating new read-only empty arrays.
|
|
24
26
|
const emptyArray = [];
|
|
25
27
|
class Subscription {
|
|
@@ -62,7 +64,8 @@ class Subscription {
|
|
|
62
64
|
* subscription to `obs` if one doesn't yet exist.
|
|
63
65
|
* @param {Observable} obs: The observable being used as a dependency.
|
|
64
66
|
*/
|
|
65
|
-
_useDependency(
|
|
67
|
+
_useDependency(_obs) {
|
|
68
|
+
const obs = ('_getDepItem' in _obs) ? _obs : kowrap_1.fromKo(_obs);
|
|
66
69
|
let listener = this._dynDeps.get(obs);
|
|
67
70
|
if (!listener) {
|
|
68
71
|
listener = this._subscribeTo(obs);
|
|
@@ -108,7 +111,8 @@ class Subscription {
|
|
|
108
111
|
* @param {Observable} obs: The observable to subscribe to.
|
|
109
112
|
* @returns {Listener} Listener object.
|
|
110
113
|
*/
|
|
111
|
-
_subscribeTo(
|
|
114
|
+
_subscribeTo(_obs) {
|
|
115
|
+
const obs = ('_getDepItem' in _obs) ? _obs : kowrap_1.fromKo(_obs);
|
|
112
116
|
return obs.addListener(this._enqueue, this);
|
|
113
117
|
}
|
|
114
118
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../lib/subscribe.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG
|
|
1
|
+
{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../lib/subscribe.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/lib/util.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bindBU = exports.bindUB = exports.bindB = void 0;
|
|
3
4
|
/**
|
|
4
5
|
* Returns f such that f() calls func(...boundArgs), i.e. optimizes `() => func(...boundArgs)`.
|
|
5
6
|
* It is faster on node6 by 57-92%.
|
package/dist/cjs/lib/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../lib/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../lib/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* General INPUT widget.
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { IDomArgs, Observable } from '../../index';
|
|
5
5
|
export interface IInputOptions {
|
|
6
6
|
onInput?: boolean;
|
|
7
7
|
isValid?: Observable<boolean>;
|
|
@@ -22,4 +22,4 @@ export interface IInputOptions {
|
|
|
22
22
|
* input(obs, {isValid: isValidObs}, {type: 'email', placeholder: 'Your email...'});
|
|
23
23
|
* input(obs, {onInput: true}, {type: 'text'});
|
|
24
24
|
*/
|
|
25
|
-
export declare function input(obs: Observable<string>, options: IInputOptions, ...args:
|
|
25
|
+
export declare function input(obs: Observable<string>, options: IInputOptions, ...args: IDomArgs<HTMLInputElement>): HTMLInputElement;
|