react-ui-basics 0.0.213 → 0.0.215
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/Checkbox.d.ts +2 -2
- package/DropFileInput.d.ts +2 -2
- package/Dropzone.d.ts +18 -0
- package/Dropzone.js +71 -108
- package/Dropzone.js.map +1 -1
- package/bundle.css +741 -741
- package/package.json +1 -1
- package/src/Checkbox.tsx +2 -2
- package/src/DropFileInput.tsx +1 -1
- package/src/{Dropzone.js → Dropzone.tsx} +33 -33
- package/src/store/ProxyTools.ts +55 -39
- package/src/store/Store.ts +5 -5
- package/store/ProxyTools.js +53 -33
- package/store/ProxyTools.js.map +1 -1
- package/store/Store.d.ts +2 -2
- package/store/Store.js +3 -2
- package/store/Store.js.map +1 -1
package/package.json
CHANGED
package/src/Checkbox.tsx
CHANGED
|
@@ -6,8 +6,8 @@ import {PureComponent, render, propsGetter} from "./ReactConstants";
|
|
|
6
6
|
|
|
7
7
|
export interface CheckboxProps {
|
|
8
8
|
value: boolean,
|
|
9
|
-
onChange: ChangeEventHandler
|
|
10
|
-
label
|
|
9
|
+
onChange: ChangeEventHandler<HTMLInputElement>,
|
|
10
|
+
label?: string | ReactElement,
|
|
11
11
|
name?: string,
|
|
12
12
|
id?: string | number,
|
|
13
13
|
disabled?: boolean,
|
package/src/DropFileInput.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React, {ReactElement, ReactNode} from 'react';
|
|
2
2
|
import PropTypes from "prop-types";
|
|
3
3
|
import ReactCreateElement from './ReactCreateElement';
|
|
4
4
|
import './Dropzone.css'
|
|
@@ -10,7 +10,7 @@ const toArray = (o) => {
|
|
|
10
10
|
return o;
|
|
11
11
|
|
|
12
12
|
const l = [];
|
|
13
|
-
for (let i = 0; i <
|
|
13
|
+
for (let i = 0; i < o.length; i++) {
|
|
14
14
|
l.push(o[i])
|
|
15
15
|
}
|
|
16
16
|
return l;
|
|
@@ -30,7 +30,19 @@ const ignoredTypes = setOf([
|
|
|
30
30
|
|
|
31
31
|
const ignore = dt => dt && (!dt.types[0] || ignoredTypes[dt.types[0]]);
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
export interface DropzoneProps {
|
|
34
|
+
onDrop: (files: File[]) => void,
|
|
35
|
+
className?: string,
|
|
36
|
+
overlayLabel?: string | ReactElement,
|
|
37
|
+
clickable?: boolean,
|
|
38
|
+
droppable?: boolean,
|
|
39
|
+
multiple?: boolean,
|
|
40
|
+
disabled?: boolean,
|
|
41
|
+
accept?: string,
|
|
42
|
+
children?: ReactNode
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
class Dropzone extends PureComponent<DropzoneProps> {
|
|
34
46
|
|
|
35
47
|
constructor(properties) {
|
|
36
48
|
super(properties);
|
|
@@ -40,11 +52,11 @@ class Dropzone extends PureComponent {
|
|
|
40
52
|
let entries = [];
|
|
41
53
|
|
|
42
54
|
const props = propsGetter(that);
|
|
43
|
-
const isDragging = stateGS(that);
|
|
55
|
+
const isDragging = stateGS<boolean>(that);
|
|
44
56
|
|
|
45
57
|
const onDrop = (e) => {
|
|
46
58
|
const dt = e.dataTransfer;
|
|
47
|
-
const files = toArray(dt && dt.files ||
|
|
59
|
+
const files = toArray(dt && dt.files || e.target.files);
|
|
48
60
|
props().onDrop(files);
|
|
49
61
|
isDragging(false);
|
|
50
62
|
entries = [];
|
|
@@ -61,8 +73,9 @@ class Dropzone extends PureComponent {
|
|
|
61
73
|
const onDragEnter = (e) => {
|
|
62
74
|
const dt = e.dataTransfer;
|
|
63
75
|
if (ignore(dt)) return;
|
|
64
|
-
|
|
65
|
-
|
|
76
|
+
|
|
77
|
+
if (entries.indexOf(e.target) === -1) {
|
|
78
|
+
entries.push(e.target)
|
|
66
79
|
}
|
|
67
80
|
|
|
68
81
|
dt && (dt.dropEffect = 'copy');
|
|
@@ -70,9 +83,9 @@ class Dropzone extends PureComponent {
|
|
|
70
83
|
prevent(e);
|
|
71
84
|
};
|
|
72
85
|
const onDragLeave = (e) => {
|
|
73
|
-
entries = entries.filter(el => el !==
|
|
86
|
+
entries = entries.filter(el => el !== e.target);
|
|
74
87
|
|
|
75
|
-
if (
|
|
88
|
+
if (entries.length === 0)
|
|
76
89
|
isDragging(false);
|
|
77
90
|
|
|
78
91
|
prevent(e)
|
|
@@ -80,8 +93,17 @@ class Dropzone extends PureComponent {
|
|
|
80
93
|
|
|
81
94
|
const inputRef = createRef()
|
|
82
95
|
|
|
83
|
-
that[
|
|
84
|
-
const {
|
|
96
|
+
that[render] = () => {
|
|
97
|
+
const {
|
|
98
|
+
children,
|
|
99
|
+
className,
|
|
100
|
+
disabled,
|
|
101
|
+
clickable = true,
|
|
102
|
+
multiple = true,
|
|
103
|
+
droppable = true,
|
|
104
|
+
overlayLabel,
|
|
105
|
+
accept
|
|
106
|
+
} = props();
|
|
85
107
|
|
|
86
108
|
return <div className={classNames('Dropzone', className, isDragging() && 'dragging')}
|
|
87
109
|
onDragLeave={!disabled && droppable && onDragLeave || UNDEFINED}
|
|
@@ -109,26 +131,4 @@ class Dropzone extends PureComponent {
|
|
|
109
131
|
}
|
|
110
132
|
}
|
|
111
133
|
|
|
112
|
-
Dropzone.defaultProps = {
|
|
113
|
-
clickable: true,
|
|
114
|
-
multiple: true,
|
|
115
|
-
droppable: true,
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
119
|
-
Dropzone.propTypes = {
|
|
120
|
-
[ReactConstants[5]]: PropTypes.string,
|
|
121
|
-
overlayLabel: PropTypes.oneOfType([
|
|
122
|
-
PropTypes.string,
|
|
123
|
-
PropTypes.element
|
|
124
|
-
]),
|
|
125
|
-
clickable: PropTypes.bool,
|
|
126
|
-
droppable: PropTypes.bool,
|
|
127
|
-
multiple: PropTypes.bool,
|
|
128
|
-
disabled: PropTypes.bool,
|
|
129
|
-
onDrop: PropTypes.func.isRequired,
|
|
130
|
-
accept: PropTypes.string,
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
|
|
134
134
|
export default Dropzone;
|
package/src/store/ProxyTools.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {UNDEFINED, isObject, deleteKey} from "../Tools";
|
|
2
2
|
|
|
3
|
-
const FIELD_CHANGED =
|
|
3
|
+
const FIELD_CHANGED = Symbol();
|
|
4
4
|
const FIELD_BAKE = 'bake';
|
|
5
5
|
|
|
6
6
|
export const createProxy = <T extends object>(target: T) => {
|
|
@@ -14,46 +14,62 @@ export const createProxy = <T extends object>(target: T) => {
|
|
|
14
14
|
const initChangedValue = (target) => {
|
|
15
15
|
!changedValue && (changedValue = Array.isArray(target) ? [...target] : {...target})
|
|
16
16
|
};
|
|
17
|
+
const compile = (changedValue, innerProxies) => {
|
|
18
|
+
let result = changedValue || (Array.isArray(target) ? [...target] : {...target});
|
|
19
|
+
for (let key in innerProxies) {
|
|
20
|
+
result[key] = innerProxies[key][FIELD_BAKE]()
|
|
21
|
+
}
|
|
22
|
+
return result
|
|
23
|
+
}
|
|
17
24
|
return new Proxy<T>(target, {
|
|
25
|
+
// get: (target: T, prop: string | symbol) => {
|
|
26
|
+
// if (prop === FIELD_CHANGED)
|
|
27
|
+
// return isChanged();
|
|
28
|
+
// if (prop === FIELD_BAKE) {
|
|
29
|
+
// return () =>
|
|
30
|
+
// !isChanged() ? target : (
|
|
31
|
+
// changedValue && !innerProxies ?
|
|
32
|
+
// changedValue :
|
|
33
|
+
// compile(changedValue, innerProxies)
|
|
34
|
+
// )
|
|
35
|
+
// }
|
|
36
|
+
//
|
|
37
|
+
// // console.log('get', {target, prop})
|
|
38
|
+
// const innerProxy = innerProxies && innerProxies[prop];
|
|
39
|
+
// if (innerProxy)
|
|
40
|
+
// return innerProxy
|
|
41
|
+
//
|
|
42
|
+
// const changed = changedValue && changedValue[prop]
|
|
43
|
+
// if (changed !== UNDEFINED)
|
|
44
|
+
// return changed
|
|
45
|
+
//
|
|
46
|
+
// if (deletedKeys && deletedKeys[prop])
|
|
47
|
+
// return UNDEFINED
|
|
48
|
+
//
|
|
49
|
+
// const value = target[prop];
|
|
50
|
+
// if (value && isObject(value)) {
|
|
51
|
+
// !innerProxies && (innerProxies = {})
|
|
52
|
+
// return innerProxies[prop] = createProxy(value)
|
|
53
|
+
// }
|
|
54
|
+
//
|
|
55
|
+
// return value;
|
|
56
|
+
// },
|
|
18
57
|
get: (target: T, prop: string | symbol) => {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return result
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// console.log('get', {target, prop})
|
|
39
|
-
const innerProxy = innerProxies && innerProxies[prop];
|
|
40
|
-
if (innerProxy)
|
|
41
|
-
return innerProxy
|
|
42
|
-
|
|
43
|
-
const changed = changedValue && changedValue[prop]
|
|
44
|
-
if (changed !== UNDEFINED)
|
|
45
|
-
return changed
|
|
46
|
-
|
|
47
|
-
if (deletedKeys && deletedKeys[prop])
|
|
48
|
-
return UNDEFINED
|
|
49
|
-
|
|
50
|
-
const value = target[prop];
|
|
51
|
-
if (value && isObject(value)) {
|
|
52
|
-
!innerProxies && (innerProxies = {})
|
|
53
|
-
return innerProxies[prop] = createProxy(value)
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return value;
|
|
58
|
+
let value;
|
|
59
|
+
return prop === FIELD_CHANGED ? isChanged() : prop === FIELD_BAKE ? (() => !isChanged() ? target : (
|
|
60
|
+
changedValue && !innerProxies ?
|
|
61
|
+
changedValue :
|
|
62
|
+
compile(changedValue, innerProxies)
|
|
63
|
+
)) : (value = innerProxies && innerProxies[prop]) ?
|
|
64
|
+
value
|
|
65
|
+
: (value = changedValue && changedValue[prop]) !== UNDEFINED ?
|
|
66
|
+
value
|
|
67
|
+
: deletedKeys && deletedKeys[prop] ?
|
|
68
|
+
UNDEFINED
|
|
69
|
+
: ((value = target[prop]) && isObject(value) ?
|
|
70
|
+
(!innerProxies && (innerProxies = {}), innerProxies[prop] = createProxy(value))
|
|
71
|
+
: value
|
|
72
|
+
);
|
|
57
73
|
},
|
|
58
74
|
set: (target: T, prop, newval) => {
|
|
59
75
|
// console.log('set', {target, prop, newval})
|
package/src/store/Store.ts
CHANGED
|
@@ -91,9 +91,9 @@ export type Selector<T, R> = (t: T) => R;
|
|
|
91
91
|
|
|
92
92
|
export const defaultSelector = <T>(store: T): T => store;
|
|
93
93
|
|
|
94
|
-
export function useStore<T, R>(store: Store<T>, selector: Selector<T, R>): R
|
|
95
|
-
export function useStore<T>(store: Store<T>, selector?: undefined): T
|
|
96
|
-
export function useStore<T, R>(store: Store<T>, selector?: Selector<T, R>): R {
|
|
94
|
+
export function useStore<T, R>(store: Store<T>, selector: Selector<T, R>, selectorDependencies: ReadonlyArray<any>): R
|
|
95
|
+
export function useStore<T>(store: Store<T>, selector?: undefined, selectorDependencies?: undefined): T
|
|
96
|
+
export function useStore<T, R>(store: Store<T>, selector?: Selector<T, R>, selectorDependencies: ReadonlyArray<any> = []): R {
|
|
97
97
|
if (!selector)
|
|
98
98
|
selector = (defaultSelector as Selector<T, R>)
|
|
99
99
|
|
|
@@ -103,12 +103,12 @@ export function useStore<T, R>(store: Store<T>, selector?: Selector<T, R>): R {
|
|
|
103
103
|
const updateState = () => {
|
|
104
104
|
setState(selector(store.get()))
|
|
105
105
|
};
|
|
106
|
-
|
|
106
|
+
updateState()
|
|
107
107
|
store.subscribe(updateState)
|
|
108
108
|
return () => {
|
|
109
109
|
store.unsubscribe(updateState);
|
|
110
110
|
}
|
|
111
|
-
},
|
|
111
|
+
}, selectorDependencies)
|
|
112
112
|
|
|
113
113
|
return state
|
|
114
114
|
}
|
package/store/ProxyTools.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
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
|
|
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, isObject, deleteKey } from '../Tools.js';
|
|
2
2
|
|
|
3
|
-
const FIELD_CHANGED =
|
|
3
|
+
const FIELD_CHANGED = Symbol();
|
|
4
4
|
const FIELD_BAKE = 'bake';
|
|
5
5
|
const createProxy = (target) => {
|
|
6
6
|
if (!target)
|
|
@@ -12,39 +12,59 @@ const createProxy = (target) => {
|
|
|
12
12
|
const initChangedValue = (target) => {
|
|
13
13
|
!changedValue && (changedValue = Array.isArray(target) ? [...target] : __extends({}, target));
|
|
14
14
|
};
|
|
15
|
+
const compile = (changedValue, innerProxies) => {
|
|
16
|
+
let result = changedValue || (Array.isArray(target) ? [...target] : __extends({}, target));
|
|
17
|
+
for (let key in innerProxies) {
|
|
18
|
+
result[key] = innerProxies[key][FIELD_BAKE]();
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
};
|
|
15
22
|
return new Proxy(target, {
|
|
23
|
+
// get: (target: T, prop: string | symbol) => {
|
|
24
|
+
// if (prop === FIELD_CHANGED)
|
|
25
|
+
// return isChanged();
|
|
26
|
+
// if (prop === FIELD_BAKE) {
|
|
27
|
+
// return () =>
|
|
28
|
+
// !isChanged() ? target : (
|
|
29
|
+
// changedValue && !innerProxies ?
|
|
30
|
+
// changedValue :
|
|
31
|
+
// compile(changedValue, innerProxies)
|
|
32
|
+
// )
|
|
33
|
+
// }
|
|
34
|
+
//
|
|
35
|
+
// // console.log('get', {target, prop})
|
|
36
|
+
// const innerProxy = innerProxies && innerProxies[prop];
|
|
37
|
+
// if (innerProxy)
|
|
38
|
+
// return innerProxy
|
|
39
|
+
//
|
|
40
|
+
// const changed = changedValue && changedValue[prop]
|
|
41
|
+
// if (changed !== UNDEFINED)
|
|
42
|
+
// return changed
|
|
43
|
+
//
|
|
44
|
+
// if (deletedKeys && deletedKeys[prop])
|
|
45
|
+
// return UNDEFINED
|
|
46
|
+
//
|
|
47
|
+
// const value = target[prop];
|
|
48
|
+
// if (value && isObject(value)) {
|
|
49
|
+
// !innerProxies && (innerProxies = {})
|
|
50
|
+
// return innerProxies[prop] = createProxy(value)
|
|
51
|
+
// }
|
|
52
|
+
//
|
|
53
|
+
// return value;
|
|
54
|
+
// },
|
|
16
55
|
get: (target, prop) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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;
|
|
56
|
+
let value;
|
|
57
|
+
return prop === FIELD_CHANGED ? isChanged() : prop === FIELD_BAKE ? (() => !isChanged() ? target : (changedValue && !innerProxies ?
|
|
58
|
+
changedValue :
|
|
59
|
+
compile(changedValue, innerProxies))) : (value = innerProxies && innerProxies[prop]) ?
|
|
60
|
+
value
|
|
61
|
+
: (value = changedValue && changedValue[prop]) !== UNDEFINED ?
|
|
62
|
+
value
|
|
63
|
+
: deletedKeys && deletedKeys[prop] ?
|
|
64
|
+
UNDEFINED
|
|
65
|
+
: ((value = target[prop]) && isObject(value) ?
|
|
66
|
+
(!innerProxies && (innerProxies = {}), innerProxies[prop] = createProxy(value))
|
|
67
|
+
: value);
|
|
48
68
|
},
|
|
49
69
|
set: (target, prop, newval) => {
|
|
50
70
|
// console.log('set', {target, prop, newval})
|
package/store/ProxyTools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyTools.js","sources":["../src/store/ProxyTools.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"ProxyTools.js","sources":["../src/store/ProxyTools.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/store/Store.d.ts
CHANGED
|
@@ -19,5 +19,5 @@ export declare function resetGlobalState(): void;
|
|
|
19
19
|
export declare function replaceGlobalState(state: any): void;
|
|
20
20
|
export declare type Selector<T, R> = (t: T) => R;
|
|
21
21
|
export declare const defaultSelector: <T>(store: T) => T;
|
|
22
|
-
export declare function useStore<T, R>(store: Store<T>, selector: Selector<T, R>): R;
|
|
23
|
-
export declare function useStore<T>(store: Store<T>, selector?: undefined): T;
|
|
22
|
+
export declare function useStore<T, R>(store: Store<T>, selector: Selector<T, R>, selectorDependencies: ReadonlyArray<any>): R;
|
|
23
|
+
export declare function useStore<T>(store: Store<T>, selector?: undefined, selectorDependencies?: undefined): T;
|
package/store/Store.js
CHANGED
|
@@ -62,7 +62,7 @@ function replaceGlobalState(state) {
|
|
|
62
62
|
STORES = state;
|
|
63
63
|
}
|
|
64
64
|
const defaultSelector = (store) => store;
|
|
65
|
-
function useStore(store, selector) {
|
|
65
|
+
function useStore(store, selector, selectorDependencies = []) {
|
|
66
66
|
if (!selector)
|
|
67
67
|
selector = defaultSelector;
|
|
68
68
|
const [state, setState] = useState(() => selector(store.get()));
|
|
@@ -70,11 +70,12 @@ function useStore(store, selector) {
|
|
|
70
70
|
const updateState = () => {
|
|
71
71
|
setState(selector(store.get()));
|
|
72
72
|
};
|
|
73
|
+
updateState();
|
|
73
74
|
store.subscribe(updateState);
|
|
74
75
|
return () => {
|
|
75
76
|
store.unsubscribe(updateState);
|
|
76
77
|
};
|
|
77
|
-
},
|
|
78
|
+
}, selectorDependencies);
|
|
78
79
|
return state;
|
|
79
80
|
}
|
|
80
81
|
|
package/store/Store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.js","sources":["../src/store/Store.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAQA,IAAI,MAAM,GAAW,EAAE,CAAA;AACvB,IAAI,OAAO,GAAG,CAAC,CAAA;AAIf,MAAe,aAAa,CAAA;AAO3B,CAAA;AAEK,MAAO,KAAS,SAAQ,aAAgB,CAAA;IAE1C,WAAY,CAAA,YAAe,EAAE,IAAa,EAAA;AACtC,QAAA,KAAK,EAAE,CAAA;QACP,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,SAAS,GAAsB,EAAE,CAAA;AACrC,QAAA,IAAI,KAAK,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAC3B,IAAI,YAAY,GAAG,MAAK;YACpB,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;AACjC,SAAC,CAAC;AAEF,QAAA,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,CAAA;AAE5B,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,EAAc,KAAI;YAClC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AAC7B,YAAA,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;AAC9B,YAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;gBACR,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBACpC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAClC,aAAA;AACL,SAAC,CAAA;QACD,IAAI,CAAC,GAAG,GAAG,MAAS,MAAM,CAAC,KAAK,CAAC,CAAA;AACjC,QAAA,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,KAAI;AAClB,YAAA,IAAI,MAAM,CAAC;AACX,YAAA,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;gBACpB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACzC,gBAAA,MAAM,GAAI,MAAoB,CAAC,KAAK,CAAC,CAAC;AACtC,gBAAA,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK;AAC3B,oBAAA,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;AAC5B,aAAA;AAAM,iBAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACzB,MAAM,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAO,MAAM,CAAC,KAAK,CAAC,CAAK,EAAA,MAAM,CAAC,CAAA;AACzC,aAAA;AAAM,iBAAA;gBACH,MAAM,GAAG,MAAM,CAAA;AAClB,aAAA;AAED,YAAA,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;AACtB,YAAA,YAAY,EAAE,CAAC;AACnB,SAAC,CAAA;AAED,QAAA,IAAI,CAAC,KAAK,GAAG,MAAK;AACd,YAAA,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,CAAA;AAC5B,YAAA,YAAY,EAAE,CAAC;AACnB,SAAC,CAAA;AAED,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,EAAc,KAAI;AAChC,YAAA,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACtB,SAAC,CAAA;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAc,IAAI,CAAC;KACtC;AACJ,CAAA;SAIe,cAAc,GAAA;AAC1B,IAAA,OAAO,MAAM,CAAA;AACjB,CAAC;SAEe,gBAAgB,GAAA;IAC5B,MAAM,GAAG,EAAE,CAAA;AACf,CAAC;AAEK,SAAU,kBAAkB,CAAC,KAAK,EAAA;IACpC,MAAM,GAAG,KAAK,CAAA;AAClB,CAAC;AAKY,MAAA,eAAe,GAAG,CAAI,KAAQ,KAAQ,MAAM;
|
|
1
|
+
{"version":3,"file":"Store.js","sources":["../src/store/Store.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|