react-ui-basics 0.0.211 → 0.0.213

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 (50) hide show
  1. package/Animated.js +2 -6
  2. package/Animated.js.map +1 -1
  3. package/AutocompleteSelect.js +1 -5
  4. package/AutocompleteSelect.js.map +1 -1
  5. package/Button.js +1 -15
  6. package/Button.js.map +1 -1
  7. package/CalendarMonthView.d.ts +0 -1
  8. package/CircleProgress.d.ts +0 -1
  9. package/Dialog.js +1 -13
  10. package/Dialog.js.map +1 -1
  11. package/Dropzone.js +1 -13
  12. package/Dropzone.js.map +1 -1
  13. package/FormUploadProgress.js +1 -12
  14. package/FormUploadProgress.js.map +1 -1
  15. package/ImageGallery.js +7 -7
  16. package/ImageGallery.js.map +1 -1
  17. package/MaterialIcon.d.ts +0 -1
  18. package/Modal.js +1 -8
  19. package/Modal.js.map +1 -1
  20. package/Scrollable.js +2 -14
  21. package/Scrollable.js.map +1 -1
  22. package/Size.d.ts +0 -1
  23. package/SpinningProgress.d.ts +0 -1
  24. package/TextField.js +1 -23
  25. package/TextField.js.map +1 -1
  26. package/Tools.d.ts +1 -0
  27. package/Tools.js +2 -1
  28. package/Tools.js.map +1 -1
  29. package/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  30. package/bundle.css +736 -736
  31. package/package.json +3 -1
  32. package/router/Link.js +1 -6
  33. package/router/Link.js.map +1 -1
  34. package/router/NavLink.js +0 -3
  35. package/router/NavLink.js.map +1 -1
  36. package/router/Route.js +1 -8
  37. package/router/Route.js.map +1 -1
  38. package/src/Tools.ts +2 -0
  39. package/src/store/{ProxyTools.test.js → ProxyTools.test.ts} +11 -1
  40. package/src/store/ProxyTools.ts +85 -0
  41. package/src/store/Store.test.js +86 -0
  42. package/src/store/Store.ts +55 -33
  43. package/store/ProxyTools.d.ts +1 -0
  44. package/store/ProxyTools.js +72 -61
  45. package/store/ProxyTools.js.map +1 -1
  46. package/store/ProxyTools.test.d.ts +1 -0
  47. package/store/Store.d.ts +6 -7
  48. package/store/Store.js +44 -26
  49. package/store/Store.js.map +1 -1
  50. package/src/store/ProxyTools.js +0 -89
@@ -1,66 +1,77 @@
1
- import ReactConstants from "./../ReactConstants"; import {clientHeight as __clientHeight, clientWidth as __clientWidth, createAccessor as __createAccessor, data as __data, height as __height, left as __left, length as __length, pageX as __pageX, pageY as __pageY, props as __props, scrollLeft as __scrollLeft, scrollTop as __scrollTop, state as __state, style as __style, target as __target, top as __top, value as __value, width as __width} from "./../CommonFields"; import {toConsumableArray as __toConsumableArray} from "./../_virtual/_rollupPluginBabelHelpers"; import {extends as __extends} from "./../_virtual/_rollupPluginBabelHelpers"; import {inherits as __inherits} from "./../_virtual/_rollupPluginBabelHelpers"; import { typeof as _typeof, toConsumableArray as _toConsumableArray, objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import { UNDEFINED } from '../Tools.js';
1
+ import ReactConstants from "./../ReactConstants"; import {clientHeight as __clientHeight, clientWidth as __clientWidth, createAccessor as __createAccessor, data as __data, height as __height, left as __left, length as __length, pageX as __pageX, pageY as __pageY, props as __props, scrollLeft as __scrollLeft, scrollTop as __scrollTop, state as __state, style as __style, target as __target, top as __top, value as __value, width as __width} from "./../CommonFields"; import {toConsumableArray as __toConsumableArray} from "./../_virtual/_rollupPluginBabelHelpers"; import {extends as __extends} from "./../_virtual/_rollupPluginBabelHelpers"; import {inherits as __inherits} from "./../_virtual/_rollupPluginBabelHelpers"; import { isObject, deleteKey, UNDEFINED } from '../Tools.js';
3
2
 
4
- var createProxy = function createProxy(target) {
5
- if (!target) return target;
6
- if (target.__isProxy) return target;
7
- var changedValue = UNDEFINED;
8
- var deletedKeys = UNDEFINED;
9
- var innerProxies = UNDEFINED;
10
- var isChanged = function isChanged() {
11
- return changedValue || innerProxies && Object.values(innerProxies).some(function (it) {
12
- return it.__changed;
13
- });
14
- };
15
- return new Proxy(target, {
16
- get: function get(target, prop) {
17
- if (prop === '__isProxy') return true;
18
- if (prop === '__changed') return isChanged();
19
- if (prop === 'bake') return function () {
20
- if (!isChanged()) return target;
21
- if (changedValue && !innerProxies) return changedValue;
22
- if (innerProxies) {
23
- var result = changedValue || (Array.isArray(target) ? _toConsumableArray(target) : _objectSpread2({}, target));
24
- for (var key in innerProxies) {
25
- result[key] = innerProxies[key].bake();
26
- }
27
- return result;
3
+ const FIELD_CHANGED = '__changed';
4
+ const FIELD_BAKE = 'bake';
5
+ const createProxy = (target) => {
6
+ if (!target)
7
+ return target;
8
+ let changedValue = UNDEFINED;
9
+ let deletedKeys = UNDEFINED;
10
+ let innerProxies = UNDEFINED;
11
+ const isChanged = () => changedValue || (innerProxies && Object.values(innerProxies).some(it => it[FIELD_CHANGED]));
12
+ const initChangedValue = (target) => {
13
+ !changedValue && (changedValue = Array.isArray(target) ? [...target] : __extends({}, target));
14
+ };
15
+ return new Proxy(target, {
16
+ get: (target, prop) => {
17
+ if (prop === FIELD_CHANGED)
18
+ return isChanged();
19
+ if (prop === FIELD_BAKE) {
20
+ return () => {
21
+ // console.log('bake', changedValue, innerProxies)
22
+ if (!isChanged())
23
+ return target;
24
+ if (changedValue && !innerProxies)
25
+ return changedValue;
26
+ let result = changedValue || (Array.isArray(target) ? [...target] : __extends({}, target));
27
+ for (let key in innerProxies) {
28
+ result[key] = innerProxies[key][FIELD_BAKE]();
29
+ }
30
+ return result;
31
+ };
32
+ }
33
+ // console.log('get', {target, prop})
34
+ const innerProxy = innerProxies && innerProxies[prop];
35
+ if (innerProxy)
36
+ return innerProxy;
37
+ const changed = changedValue && changedValue[prop];
38
+ if (changed !== UNDEFINED)
39
+ return changed;
40
+ if (deletedKeys && deletedKeys[prop])
41
+ return UNDEFINED;
42
+ const value = target[prop];
43
+ if (value && isObject(value)) {
44
+ !innerProxies && (innerProxies = {});
45
+ return innerProxies[prop] = createProxy(value);
46
+ }
47
+ return value;
48
+ },
49
+ set: (target, prop, newval) => {
50
+ // console.log('set', {target, prop, newval})
51
+ initChangedValue(target);
52
+ if (newval && isObject(newval)) {
53
+ !innerProxies && (innerProxies = {});
54
+ innerProxies[prop] = newval = createProxy(newval);
55
+ }
56
+ else {
57
+ innerProxies && deleteKey(innerProxies, prop);
58
+ }
59
+ changedValue[prop] = newval;
60
+ // console.log('changedValue', changedValue)
61
+ return true;
62
+ },
63
+ deleteProperty: (target, prop) => {
64
+ // console.log('delete', {target, prop})
65
+ initChangedValue(target);
66
+ if (prop in changedValue) {
67
+ deleteKey(changedValue, prop);
68
+ innerProxies && deleteKey(innerProxies, prop);
69
+ !deletedKeys && (deletedKeys = {});
70
+ deletedKeys[prop] = true;
71
+ }
72
+ return true;
28
73
  }
29
- throw new Error('state not implemented yet');
30
- };
31
- var innerProxy = innerProxies && innerProxies[prop];
32
- if (innerProxy) return innerProxy;
33
- var changed = changedValue && changedValue[prop];
34
- if (changed !== UNDEFINED) return changed;
35
- if (deletedKeys && deletedKeys[prop]) return null;
36
- var value = target[prop];
37
- if (value && _typeof(value) === 'object') {
38
- !innerProxies && (innerProxies = {});
39
- return innerProxies[prop] = createProxy(value);
40
- }
41
- return value;
42
- },
43
- set: function set(target, prop, newval) {
44
- if (!changedValue) changedValue = Array.isArray(target) ? _toConsumableArray(target) : _objectSpread2({}, target);
45
- if (newval && _typeof(newval) === 'object') {
46
- !innerProxies && (innerProxies = {});
47
- innerProxies[prop] = newval = createProxy(newval);
48
- } else {
49
- innerProxies && delete innerProxies[prop];
50
- }
51
- changedValue[prop] = newval;
52
- return true;
53
- },
54
- deleteProperty: function deleteProperty(target, prop) {
55
- !changedValue && (changedValue = Array.isArray(target) ? _toConsumableArray(target) : _objectSpread2({}, target));
56
- if (!prop in changedValue) return false;
57
- delete changedValue[prop];
58
- innerProxies && delete innerProxies[prop];
59
- !deletedKeys && (deletedKeys = {});
60
- deletedKeys[prop] = true;
61
- return true;
62
- }
63
- });
74
+ });
64
75
  };
65
76
 
66
77
  export { createProxy };
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyTools.js","sources":["../src/store/ProxyTools.js"],"sourcesContent":["import {UNDEFINED} from \"../Tools\";\n\nexport const createProxy = (target) => {\n if(!target)\n return target\n if (target.__isProxy)\n return target;\n\n let changedValue = UNDEFINED;\n let deletedKeys = UNDEFINED;\n let innerProxies = UNDEFINED\n const isChanged = () => changedValue || (innerProxies && Object.values(innerProxies).some(it => it.__changed));\n\n return new Proxy(target, {\n get: function (target, prop) {\n if (prop === '__isProxy')\n return true\n if (prop === '__changed')\n return isChanged();\n if (prop === 'bake')\n return () => {\n // console.log('bake', changedValue, innerProxies)\n if (!isChanged())\n return target\n\n if (changedValue && !innerProxies)\n return changedValue\n\n if (innerProxies) {\n const result = changedValue || (Array.isArray(target) ? [...target] : {...target});\n\n for (let key in innerProxies) {\n result[key] = innerProxies[key].bake()\n }\n return result\n }\n\n throw new Error('state not implemented yet')\n }\n\n // console.log('get', {target, prop})\n const innerProxy = innerProxies && innerProxies[prop];\n if (innerProxy)\n return innerProxy\n\n const changed = changedValue && changedValue[prop]\n if (changed !== UNDEFINED)\n return changed\n\n if (deletedKeys && deletedKeys[prop])\n return null\n\n const value = target[prop];\n if (value && typeof value === 'object') {\n !innerProxies && (innerProxies = {})\n return innerProxies[prop] = createProxy(value)\n }\n\n return value;\n },\n set: function (target, prop, newval) {\n // console.log('set', {target, prop, newval})\n if (!changedValue) changedValue = Array.isArray(target) ? [...target] : {...target}\n\n if (newval && typeof newval === 'object') {\n !innerProxies && (innerProxies = {})\n innerProxies[prop] = newval = createProxy(newval)\n } else {\n innerProxies && (delete innerProxies[prop])\n }\n changedValue[prop] = newval\n // console.log('changedValue', changedValue)\n return true;\n },\n deleteProperty: function (target, prop) {\n // console.log('delete', {target, prop})\n !changedValue && (changedValue = Array.isArray(target) ? [...target] : {...target})\n\n if (!prop in changedValue)\n return false;\n\n delete changedValue[prop]\n innerProxies && delete innerProxies[prop]\n !deletedKeys && (deletedKeys = {})\n deletedKeys[prop] = true;\n return true;\n }\n })\n}\n"],"names":["createProxy","target","__isProxy","changedValue","UNDEFINED","deletedKeys","innerProxies","isChanged","Object","values","some","it","__changed","Proxy","get","prop","result","Array","isArray","_toConsumableArray","_objectSpread","key","bake","Error","innerProxy","changed","value","_typeof","set","newval","deleteProperty"],"mappings":"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"}
1
+ {"version":3,"file":"ProxyTools.js","sources":["../src/store/ProxyTools.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
package/store/Store.d.ts CHANGED
@@ -1,19 +1,18 @@
1
1
  interface Stores {
2
2
  [index: number]: any;
3
3
  }
4
- export declare class Store<T> {
5
- private name;
6
- private listeners;
7
- private initialState;
8
- private index;
9
- constructor(initialState: T, name?: string);
4
+ declare type Setter<T> = (oldState: T) => T | void;
5
+ declare abstract class AbstractStore<T> {
10
6
  get: () => T;
11
- set: (mutator: (oldState: T) => T | void) => void;
7
+ set: (setter: T | Partial<T> | (Setter<T>)) => void;
12
8
  reset: () => void;
13
9
  subscribe: (fn: () => void) => void;
14
10
  unsubscribe: (fn: () => void) => void;
15
11
  toString: () => string;
16
12
  }
13
+ export declare class Store<T> extends AbstractStore<T> {
14
+ constructor(initialState: T, name?: string);
15
+ }
17
16
  export default Store;
18
17
  export declare function getGlobalState(): Stores;
19
18
  export declare function resetGlobalState(): void;
package/store/Store.js CHANGED
@@ -1,37 +1,55 @@
1
1
  import ReactConstants from "./../ReactConstants"; import {clientHeight as __clientHeight, clientWidth as __clientWidth, createAccessor as __createAccessor, data as __data, height as __height, left as __left, length as __length, pageX as __pageX, pageY as __pageY, props as __props, scrollLeft as __scrollLeft, scrollTop as __scrollTop, state as __state, style as __style, target as __target, top as __top, value as __value, width as __width} from "./../CommonFields"; import {toConsumableArray as __toConsumableArray} from "./../_virtual/_rollupPluginBabelHelpers"; import {extends as __extends} from "./../_virtual/_rollupPluginBabelHelpers"; import {inherits as __inherits} from "./../_virtual/_rollupPluginBabelHelpers"; import { useState, useEffect } from 'react';
2
2
  import { createProxy } from './ProxyTools.js';
3
+ import { isFunction, isObject } from '../Tools.js';
3
4
 
4
5
  let STORES = {};
5
6
  let COUNTER = 0;
6
- class Store {
7
+ class AbstractStore {
8
+ }
9
+ class Store extends AbstractStore {
7
10
  constructor(initialState, name) {
8
- this.listeners = [];
9
- this.get = () => STORES[this.index];
10
- this.set = (mutator) => {
11
- const proxy = createProxy(STORES[this.index]);
12
- const result = mutator(proxy);
13
- if (!result || result === proxy)
14
- STORES[this.index] = proxy.bake();
15
- else
16
- STORES[this.index] = result;
17
- this.listeners.forEach(fn => fn());
11
+ super();
12
+ let that = this;
13
+ let listeners = [];
14
+ let index = '' + COUNTER++;
15
+ let runListeners = () => {
16
+ listeners.forEach(fn => fn());
17
+ };
18
+ STORES[index] = initialState;
19
+ that.unsubscribe = (fn) => {
20
+ let i = listeners.indexOf(fn);
21
+ let length = __length(listeners);
22
+ if (i > -1) {
23
+ listeners[i] = listeners[length - 1];
24
+ listeners.splice(length - 1, 1);
25
+ }
18
26
  };
19
- this.reset = () => {
20
- STORES[this.index] = this.initialState;
27
+ that.get = () => STORES[index];
28
+ that.set = (setter) => {
29
+ let result;
30
+ if (isFunction(setter)) {
31
+ const proxy = createProxy(STORES[index]);
32
+ result = setter(proxy);
33
+ if (!result || result === proxy)
34
+ result = proxy.bake();
35
+ }
36
+ else if (isObject(setter)) {
37
+ result = __extends(__extends({}, STORES[index]), setter);
38
+ }
39
+ else {
40
+ result = setter;
41
+ }
42
+ STORES[index] = result;
43
+ runListeners();
21
44
  };
22
- this.subscribe = (fn) => {
23
- this.listeners.push(fn);
45
+ that.reset = () => {
46
+ STORES[index] = initialState;
47
+ runListeners();
24
48
  };
25
- this.unsubscribe = (fn) => {
26
- this.listeners = this.listeners.filter(f => f !== fn);
49
+ that.subscribe = (fn) => {
50
+ listeners.push(fn);
27
51
  };
28
- this.toString = () => this.name;
29
- let that = this;
30
- that.name = name;
31
- that.initialState = initialState;
32
- const index = COUNTER++;
33
- that.index = index;
34
- STORES[index] = initialState;
52
+ that.toString = () => name;
35
53
  }
36
54
  }
37
55
  function getGlobalState() {
@@ -47,7 +65,7 @@ const defaultSelector = (store) => store;
47
65
  function useStore(store, selector) {
48
66
  if (!selector)
49
67
  selector = defaultSelector;
50
- const [state, setState] = useState(selector(store.get()));
68
+ const [state, setState] = useState(() => selector(store.get()));
51
69
  useEffect(() => {
52
70
  const updateState = () => {
53
71
  setState(selector(store.get()));
@@ -56,7 +74,7 @@ function useStore(store, selector) {
56
74
  return () => {
57
75
  store.unsubscribe(updateState);
58
76
  };
59
- }, [selector]);
77
+ }, []);
60
78
  return state;
61
79
  }
62
80
 
@@ -1 +1 @@
1
- {"version":3,"file":"Store.js","sources":["../src/store/Store.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Store.js","sources":["../src/store/Store.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,89 +0,0 @@
1
- import ReactConstants from "./ReactConstants"; import {clientHeight as __clientHeight, clientWidth as __clientWidth, createAccessor as __createAccessor, data as __data, height as __height, left as __left, length as __length, pageX as __pageX, pageY as __pageY, props as __props, scrollLeft as __scrollLeft, scrollTop as __scrollTop, state as __state, style as __style, target as __target, top as __top, value as __value, width as __width} from "./CommonFields"; import {toConsumableArray as __toConsumableArray} from "./_virtual/_rollupPluginBabelHelpers"; import {extends as __extends} from "./_virtual/_rollupPluginBabelHelpers"; import {inherits as __inherits} from "./_virtual/_rollupPluginBabelHelpers"; import {UNDEFINED} from "../Tools";
2
-
3
- export const createProxy = (target) => {
4
- if(!target)
5
- return target
6
- if (target.__isProxy)
7
- return target;
8
-
9
- let changedValue = UNDEFINED;
10
- let deletedKeys = UNDEFINED;
11
- let innerProxies = UNDEFINED
12
- const isChanged = () => changedValue || (innerProxies && Object.values(innerProxies).some(it => it.__changed));
13
-
14
- return new Proxy(target, {
15
- get: function (target, prop) {
16
- if (prop === '__isProxy')
17
- return true
18
- if (prop === '__changed')
19
- return isChanged();
20
- if (prop === 'bake')
21
- return () => {
22
- // console.log('bake', changedValue, innerProxies)
23
- if (!isChanged())
24
- return target
25
-
26
- if (changedValue && !innerProxies)
27
- return changedValue
28
-
29
- if (innerProxies) {
30
- const result = changedValue || (Array.isArray(target) ? [...target] : {...target});
31
-
32
- for (let key in innerProxies) {
33
- result[key] = innerProxies[key].bake()
34
- }
35
- return result
36
- }
37
-
38
- throw new Error('state not implemented yet')
39
- }
40
-
41
- // console.log('get', {target, prop})
42
- const innerProxy = innerProxies && innerProxies[prop];
43
- if (innerProxy)
44
- return innerProxy
45
-
46
- const changed = changedValue && changedValue[prop]
47
- if (changed !== UNDEFINED)
48
- return changed
49
-
50
- if (deletedKeys && deletedKeys[prop])
51
- return null
52
-
53
- const value = target[prop];
54
- if (value && typeof value === 'object') {
55
- !innerProxies && (innerProxies = {})
56
- return innerProxies[prop] = createProxy(value)
57
- }
58
-
59
- return value;
60
- },
61
- set: function (target, prop, newval) {
62
- // console.log('set', {target, prop, newval})
63
- if (!changedValue) changedValue = Array.isArray(target) ? [...target] : {...target}
64
-
65
- if (newval && typeof newval === 'object') {
66
- !innerProxies && (innerProxies = {})
67
- innerProxies[prop] = newval = createProxy(newval)
68
- } else {
69
- innerProxies && (delete innerProxies[prop])
70
- }
71
- changedValue[prop] = newval
72
- // console.log('changedValue', changedValue)
73
- return true;
74
- },
75
- deleteProperty: function (target, prop) {
76
- // console.log('delete', {target, prop})
77
- !changedValue && (changedValue = Array.isArray(target) ? [...target] : {...target})
78
-
79
- if (!prop in changedValue)
80
- return false;
81
-
82
- delete changedValue[prop]
83
- innerProxies && delete innerProxies[prop]
84
- !deletedKeys && (deletedKeys = {})
85
- deletedKeys[prop] = true;
86
- return true;
87
- }
88
- })
89
- }