mobx-react 5.4.3 → 5.4.4

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/index.d.ts CHANGED
@@ -1,140 +1,140 @@
1
- /**
2
- * Turns a React component or stateless render function into a reactive component.
3
- */
4
- import * as React from "react"
5
-
6
- export type IReactComponent<P = any> =
7
- | React.StatelessComponent<P>
8
- | React.ComponentClass<P>
9
- | React.ClassicComponentClass<P>
10
-
11
- /**
12
- * Observer
13
- */
14
-
15
- // Deprecated: observer with with stores (as decorator)
16
- export function observer(stores: string[]): <T extends IReactComponent>(clazz: T) => void
17
- // Deprecated: observer with with stores
18
- export function observer<T extends IReactComponent>(stores: string[], clazz: T): T
19
- export function observer<T extends IReactComponent>(target: T): T
20
-
21
- /**
22
- * Inject
23
- */
24
- export type IValueMap = { [key: string]: any }
25
- export type IStoresToProps<
26
- S extends IValueMap = {},
27
- P extends IValueMap = {},
28
- I extends IValueMap = {},
29
- C extends IValueMap = {}
30
- > = (stores: S, nextProps: P, context: C) => I
31
-
32
- export type IWrappedComponent<P> = {
33
- wrappedComponent: IReactComponent<P>
34
- wrappedInstance: React.ReactInstance | undefined
35
- }
36
-
37
- // Ideally we would want to return React.ComponentClass<Partial<P>>,
38
- // but TS doesn't allow such things in decorators, like we do in the non-decorator version
39
- // See also #256
40
- export function inject(
41
- ...stores: string[]
42
- ): <T extends IReactComponent<any>>(
43
- target: T
44
- ) => T & (T extends IReactComponent<infer P> ? IWrappedComponent<P> : never)
45
- export function inject<S, P, I, C>(
46
- fn: IStoresToProps<S, P, I, C>
47
- ): <T extends IReactComponent>(target: T) => T & IWrappedComponent<P>
48
-
49
- // Ideal implementation:
50
- // export function inject
51
- // (
52
- // fn: IStoresToProps
53
- // ):
54
- // <P>(target: IReactComponent<P>) => IReactComponent<Partial<P>> & IWrappedComponent<IReactComponent<Partial<P>>>
55
- //
56
- // Or even better: (but that would require type inference to work other way around)
57
- // export function inject<P, I>
58
- // (
59
- // fn: IStoresToProps<any, P, I>
60
- // ):
61
- // <T extends IReactComponent<P & S>(target: T) => IReactComponent<P> & IWrappedComponent<T>
62
-
63
- /**
64
- * disposeOnUnmount
65
- */
66
- type Disposer = () => void
67
- export function disposeOnUnmount(target: React.Component<any, any>, propertyKey: string): void
68
- export function disposeOnUnmount<TF extends Disposer | Disposer[]>(
69
- target: React.Component<any, any>,
70
- fn: TF
71
- ): TF
72
-
73
- /**
74
- * Utilities
75
- */
76
- export function onError(cb: (error: Error) => void): () => void
77
-
78
- export class Provider extends React.Component<any, {}> {}
79
-
80
- export class Observer extends React.Component<
81
- {
82
- children?: () => React.ReactNode
83
- render?: () => React.ReactNode
84
- },
85
- {}
86
- > {}
87
-
88
- export function useStaticRendering(value: boolean): void
89
-
90
- /**
91
- * Enable dev tool support, makes sure that renderReport emits events.
92
- */
93
- export function trackComponents(): void
94
-
95
- export const renderReporter: RenderReporter
96
-
97
- export interface RenderReporter {
98
- on(handler: (data: IRenderEvent) => void): void
99
- }
100
-
101
- export interface IRenderEvent {
102
- event: "render" | "destroy"
103
- renderTime?: number
104
- totalTime?: number
105
- component: React.ReactElement<any> // Component instance
106
- node: any // DOMNode
107
- }
108
-
109
- /**
110
- * WeakMap DOMNode -> Component instance
111
- * @deprecated
112
- */
113
- export const componentByNodeRegistery: any
114
- /**
115
- * WeakMap DOMNode -> Component instance
116
- */
117
- export const componentByNodeRegistry: any
118
-
119
- /**
120
- * @deprecated, use PropTypes instead
121
- */
122
- export const propTypes: {
123
- observableArray: React.Requireable<any>
124
- observableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
125
- observableMap: React.Requireable<any>
126
- observableObject: React.Requireable<any>
127
- arrayOrObservableArray: React.Requireable<any>
128
- arrayOrObservableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
129
- objectOrObservableObject: React.Requireable<any>
130
- }
131
-
132
- export const PropTypes: {
133
- observableArray: React.Requireable<any>
134
- observableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
135
- observableMap: React.Requireable<any>
136
- observableObject: React.Requireable<any>
137
- arrayOrObservableArray: React.Requireable<any>
138
- arrayOrObservableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
139
- objectOrObservableObject: React.Requireable<any>
140
- }
1
+ /**
2
+ * Turns a React component or stateless render function into a reactive component.
3
+ */
4
+ import * as React from "react"
5
+
6
+ export type IReactComponent<P = any> =
7
+ | React.StatelessComponent<P>
8
+ | React.ComponentClass<P>
9
+ | React.ClassicComponentClass<P>
10
+
11
+ /**
12
+ * Observer
13
+ */
14
+
15
+ // Deprecated: observer with with stores (as decorator)
16
+ export function observer(stores: string[]): <T extends IReactComponent>(clazz: T) => void
17
+ // Deprecated: observer with with stores
18
+ export function observer<T extends IReactComponent>(stores: string[], clazz: T): T
19
+ export function observer<T extends IReactComponent>(target: T): T
20
+
21
+ /**
22
+ * Inject
23
+ */
24
+ export type IValueMap = { [key: string]: any }
25
+ export type IStoresToProps<
26
+ S extends IValueMap = {},
27
+ P extends IValueMap = {},
28
+ I extends IValueMap = {},
29
+ C extends IValueMap = {}
30
+ > = (stores: S, nextProps: P, context: C) => I
31
+
32
+ export type IWrappedComponent<P> = {
33
+ wrappedComponent: IReactComponent<P>
34
+ wrappedInstance: React.ReactInstance | undefined
35
+ }
36
+
37
+ // Ideally we would want to return React.ComponentClass<Partial<P>>,
38
+ // but TS doesn't allow such things in decorators, like we do in the non-decorator version
39
+ // See also #256
40
+ export function inject(
41
+ ...stores: string[]
42
+ ): <T extends IReactComponent<any>>(
43
+ target: T
44
+ ) => T & (T extends IReactComponent<infer P> ? IWrappedComponent<P> : never)
45
+ export function inject<S, P, I, C>(
46
+ fn: IStoresToProps<S, P, I, C>
47
+ ): <T extends IReactComponent>(target: T) => T & IWrappedComponent<P>
48
+
49
+ // Ideal implementation:
50
+ // export function inject
51
+ // (
52
+ // fn: IStoresToProps
53
+ // ):
54
+ // <P>(target: IReactComponent<P>) => IReactComponent<Partial<P>> & IWrappedComponent<IReactComponent<Partial<P>>>
55
+ //
56
+ // Or even better: (but that would require type inference to work other way around)
57
+ // export function inject<P, I>
58
+ // (
59
+ // fn: IStoresToProps<any, P, I>
60
+ // ):
61
+ // <T extends IReactComponent<P & S>(target: T) => IReactComponent<P> & IWrappedComponent<T>
62
+
63
+ /**
64
+ * disposeOnUnmount
65
+ */
66
+ type Disposer = () => void
67
+ export function disposeOnUnmount(target: React.Component<any, any>, propertyKey: string): void
68
+ export function disposeOnUnmount<TF extends Disposer | Disposer[]>(
69
+ target: React.Component<any, any>,
70
+ fn: TF
71
+ ): TF
72
+
73
+ /**
74
+ * Utilities
75
+ */
76
+ export function onError(cb: (error: Error) => void): () => void
77
+
78
+ export class Provider extends React.Component<any, {}> {}
79
+
80
+ export class Observer extends React.Component<
81
+ {
82
+ children?: () => React.ReactNode
83
+ render?: () => React.ReactNode
84
+ },
85
+ {}
86
+ > {}
87
+
88
+ export function useStaticRendering(value: boolean): void
89
+
90
+ /**
91
+ * Enable dev tool support, makes sure that renderReport emits events.
92
+ */
93
+ export function trackComponents(): void
94
+
95
+ export const renderReporter: RenderReporter
96
+
97
+ export interface RenderReporter {
98
+ on(handler: (data: IRenderEvent) => void): void
99
+ }
100
+
101
+ export interface IRenderEvent {
102
+ event: "render" | "destroy"
103
+ renderTime?: number
104
+ totalTime?: number
105
+ component: React.ReactElement<any> // Component instance
106
+ node: any // DOMNode
107
+ }
108
+
109
+ /**
110
+ * WeakMap DOMNode -> Component instance
111
+ * @deprecated
112
+ */
113
+ export const componentByNodeRegistery: any
114
+ /**
115
+ * WeakMap DOMNode -> Component instance
116
+ */
117
+ export const componentByNodeRegistry: any
118
+
119
+ /**
120
+ * @deprecated, use PropTypes instead
121
+ */
122
+ export const propTypes: {
123
+ observableArray: React.Requireable<any>
124
+ observableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
125
+ observableMap: React.Requireable<any>
126
+ observableObject: React.Requireable<any>
127
+ arrayOrObservableArray: React.Requireable<any>
128
+ arrayOrObservableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
129
+ objectOrObservableObject: React.Requireable<any>
130
+ }
131
+
132
+ export const PropTypes: {
133
+ observableArray: React.Requireable<any>
134
+ observableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
135
+ observableMap: React.Requireable<any>
136
+ observableObject: React.Requireable<any>
137
+ arrayOrObservableArray: React.Requireable<any>
138
+ arrayOrObservableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
139
+ objectOrObservableObject: React.Requireable<any>
140
+ }
package/index.js CHANGED
@@ -1,3 +1,11 @@
1
+ /** @license mobx-react v5.4.4
2
+ * index.js
3
+ *
4
+ * Copyright (c) 2015 Michel Weststrate.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
1
9
  (function (global, factory) {
2
10
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('mobx'), require('react'), require('react-dom')) :
3
11
  typeof define === 'function' && define.amd ? define(['exports', 'mobx', 'react', 'react-dom'], factory) :
@@ -446,7 +454,8 @@
446
454
  return !(component.prototype && component.prototype.render);
447
455
  }
448
456
  var symbolId = 0;
449
- function newSymbol(name) {
457
+
458
+ function createSymbol(name) {
450
459
  if (typeof Symbol === "function") {
451
460
  return Symbol(name);
452
461
  }
@@ -455,6 +464,15 @@
455
464
  symbolId++;
456
465
  return symbol;
457
466
  }
467
+
468
+ var createdSymbols = {};
469
+ function newSymbol(name) {
470
+ if (!createdSymbols[name]) {
471
+ createdSymbols[name] = createSymbol(name);
472
+ }
473
+
474
+ return createdSymbols[name];
475
+ }
458
476
  var mobxMixins = newSymbol("patchMixins");
459
477
  var mobxPatchedDefinition = newSymbol("patchedDefinition");
460
478
 
@@ -575,8 +593,8 @@
575
593
  configurable: true,
576
594
  enumerable: true
577
595
  }
578
- /**
579
- * Store Injection
596
+ /**
597
+ * Store Injection
580
598
  */
581
599
 
582
600
  };
@@ -660,11 +678,11 @@
660
678
  return nextProps;
661
679
  };
662
680
  }
663
- /**
664
- * higher order component that injects stores to a child.
665
- * takes either a varargs list of strings, which are stores read from the context,
666
- * or a function that manually maps the available stores from the context to props:
667
- * storesToProps(mobxStores, props, context) => newProps
681
+ /**
682
+ * higher order component that injects stores to a child.
683
+ * takes either a varargs list of strings, which are stores read from the context,
684
+ * or a function that manually maps the available stores from the context to props:
685
+ * storesToProps(mobxStores, props, context) => newProps
668
686
  */
669
687
 
670
688
 
@@ -702,8 +720,8 @@
702
720
 
703
721
  var mobxAdminProperty = mobx.$mobx || "$mobx";
704
722
  var mobxIsUnmounted = newSymbol("isUnmounted");
705
- /**
706
- * dev tool support
723
+ /**
724
+ * dev tool support
707
725
  */
708
726
 
709
727
  var isDevtoolsEnabled = false;
@@ -716,11 +734,11 @@
716
734
  var isForcingUpdateKey = newSymbol("isForcingUpdate"); // Using react-is had some issues (and operates on elements, not on types), see #608 / #609
717
735
 
718
736
  var ReactForwardRefSymbol = typeof React.forwardRef === "function" && React.forwardRef(function (_props, _ref) {})["$$typeof"];
719
- /**
720
- * Helper to set `prop` to `this` as non-enumerable (hidden prop)
721
- * @param target
722
- * @param prop
723
- * @param value
737
+ /**
738
+ * Helper to set `prop` to `this` as non-enumerable (hidden prop)
739
+ * @param target
740
+ * @param prop
741
+ * @param value
724
742
  */
725
743
 
726
744
  function setHiddenProp(target, prop, value) {
@@ -770,13 +788,13 @@
770
788
  function useStaticRendering(useStaticRendering) {
771
789
  isUsingStaticRendering = useStaticRendering;
772
790
  }
773
- /**
774
- * Errors reporter
791
+ /**
792
+ * Errors reporter
775
793
  */
776
794
 
777
795
  var errorsReporter = new EventEmitter();
778
- /**
779
- * Utilities
796
+ /**
797
+ * Utilities
780
798
  */
781
799
 
782
800
  function patch$1(target, funcName) {
@@ -851,15 +869,15 @@
851
869
 
852
870
  var initialName = this.displayName || this.name || this.constructor && (this.constructor.displayName || this.constructor.name) || "<component>";
853
871
  var rootNodeID = this._reactInternalInstance && this._reactInternalInstance._rootNodeID || this._reactInternalInstance && this._reactInternalInstance._debugID || this._reactInternalFiber && this._reactInternalFiber._debugID;
854
- /**
855
- * If props are shallowly modified, react will render anyway,
856
- * so atom.reportChanged() should not result in yet another re-render
872
+ /**
873
+ * If props are shallowly modified, react will render anyway,
874
+ * so atom.reportChanged() should not result in yet another re-render
857
875
  */
858
876
 
859
877
  setHiddenProp(this, skipRenderKey, false);
860
- /**
861
- * forceUpdate will re-assign this.props. We don't want that to cause a loop,
862
- * so detect these changes
878
+ /**
879
+ * forceUpdate will re-assign this.props. We don't want that to cause a loop,
880
+ * so detect these changes
863
881
  */
864
882
 
865
883
  setHiddenProp(this, isForcingUpdateKey, false); // wire up reactive render
@@ -896,8 +914,8 @@
896
914
  this.render = reactiveRender;
897
915
  return reactiveRender.call(this);
898
916
  }
899
- /**
900
- * ReactiveMixin
917
+ /**
918
+ * ReactiveMixin
901
919
  */
902
920
 
903
921
 
@@ -980,8 +998,8 @@
980
998
  }
981
999
  });
982
1000
  }
983
- /**
984
- * Observer function / decorator
1001
+ /**
1002
+ * Observer function / decorator
985
1003
  */
986
1004
 
987
1005
 
package/index.min.js CHANGED
@@ -1 +1,9 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("mobx"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","mobx","react","react-dom"],t):t(e.mobxReact={},e.mobx,e.React,e.ReactDOM)}(this,function(e,l,p,t){"use strict";var f="default"in p?p.default:p;function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function n(e,t){return(n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function o(e,t){return e(t={exports:{}},t.exports),t.exports}var i,s=o(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,a=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,c=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,p=n?Symbol.for("react.async_mode"):60111,l=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,d=n?Symbol.for("react.suspense"):60113,y=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116;function m(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case p:case l:case i:case s:case a:return e;default:switch(e=e&&e.$$typeof){case u:case f:case c:return e;default:return t}}case o:return t}}}function b(e){return m(e)===l}t.typeOf=m,t.AsyncMode=p,t.ConcurrentMode=l,t.ContextConsumer=u,t.ContextProvider=c,t.Element=r,t.ForwardRef=f,t.Fragment=i,t.Profiler=s,t.Portal=o,t.StrictMode=a,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===l||e===s||e===a||e===d||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===y||e.$$typeof===c||e.$$typeof===u||e.$$typeof===f)},t.isAsyncMode=function(e){return b(e)||m(e)===p},t.isConcurrentMode=b,t.isContextConsumer=function(e){return m(e)===u},t.isContextProvider=function(e){return m(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return m(e)===f},t.isFragment=function(e){return m(e)===i},t.isProfiler=function(e){return m(e)===s},t.isPortal=function(e){return m(e)===o},t.isStrictMode=function(e){return m(e)===a}});(i=s)&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")&&i.default;s.typeOf,s.AsyncMode,s.ConcurrentMode,s.ContextConsumer,s.ContextProvider,s.Element,s.ForwardRef,s.Fragment,s.Profiler,s.Portal,s.StrictMode,s.isValidElementType,s.isAsyncMode,s.isConcurrentMode,s.isContextConsumer,s.isContextProvider,s.isElement,s.isForwardRef,s.isFragment,s.isProfiler,s.isPortal,s.isStrictMode;var c=o(function(e){e.exports=s}),g={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},w={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},O={};O[c.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var _=Object.defineProperty,x=Object.getOwnPropertyNames,S=Object.getOwnPropertySymbols,P=Object.getOwnPropertyDescriptor,j=Object.getPrototypeOf,C=Object.prototype;var E=function e(t,n,r){if("string"==typeof n)return t;if(C){var o=j(n);o&&o!==C&&e(t,o,r)}var i=x(n);S&&(i=i.concat(S(n)));for(var a=O[t.$$typeof]||g,s=O[n.$$typeof]||g,c=0;c<i.length;++c){var u=i[c];if(!(w[u]||r&&r[u]||s&&s[u]||a&&a[u])){var p=P(n,u);try{_(t,u,p)}catch(e){}}}return t},u=function(){function e(){d(this,e),this.listeners=[]}return y(e,[{key:"on",value:function(t){var n=this;return this.listeners.push(t),function(){var e=n.listeners.indexOf(t);-1!==e&&n.listeners.splice(e,1)}}},{key:"emit",value:function(t){this.listeners.forEach(function(e){return e(t)})}}]),e}();function M(u){function e(t,n,r,o,i,a){for(var e=arguments.length,s=new Array(6<e?e-6:0),c=6;c<e;c++)s[c-6]=arguments[c];return l.untracked(function(){if(o=o||"<<anonymous>>",a=a||r,null!=n[r])return u.apply(void 0,[n,r,o,i,a].concat(s));if(t){var e=null===n[r]?"null":"undefined";return new Error("The "+i+" `"+a+"` is marked as required in `"+o+"`, but its value is `"+e+"`.")}return null})}var t=e.bind(null,!1);return t.isRequired=e.bind(null,!0),t}function U(e){var t,n=a(e);return Array.isArray(e)?"array":e instanceof RegExp?"object":(t=e,"symbol"===n||"Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol?"symbol":n)}function R(c,u){return M(function(o,i,a,e,s){return l.untracked(function(){if(c&&U(o[i])===u.toLowerCase())return null;var e;switch(u){case"Array":e=l.isObservableArray;break;case"Object":e=l.isObservableObject;break;case"Map":e=l.isObservableMap;break;default:throw new Error("Unexpected mobxType: ".concat(u))}var t=o[i];if(e(t))return null;var n=function(e){var t=U(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}(t),r=c?" or javascript `"+u.toLowerCase()+"`":"";return new Error("Invalid prop `"+s+"` of type `"+n+"` supplied to `"+a+"`, expected `mobx.Observable"+u+"`"+r+".")})})}function k(u,p){return M(function(r,o,i,a,s){for(var e=arguments.length,c=new Array(5<e?e-5:0),t=5;t<e;t++)c[t-5]=arguments[t];return l.untracked(function(){if("function"!=typeof p)return new Error("Property `"+s+"` of component `"+i+"` has invalid PropType notation.");var e=R(u,"Array")(r,o,i);if(e instanceof Error)return e;for(var t=r[o],n=0;n<t.length;n++)if((e=p.apply(void 0,[t,n,i,a,s+"["+n+"]"].concat(c)))instanceof Error)return e;return null})})}var D=R(!1,"Array"),A=k.bind(null,!1),$=R(!1,"Map"),T=R(!1,"Object"),F=R(!0,"Array"),I=k.bind(null,!0),W=R(!0,"Object"),N=Object.freeze({observableArray:D,observableArrayOf:A,observableMap:$,observableObject:T,arrayOrObservableArray:F,arrayOrObservableArrayOf:I,objectOrObservableObject:W});var B=0;function L(e){if("function"==typeof Symbol)return Symbol(e);var t="__$mobx-react ".concat(e," (").concat(B,")");return B++,t}var q=L("patchMixins"),X=L("patchedDefinition");function H(e,t){for(var n=this,r=arguments.length,o=new Array(2<r?r-2:0),i=2;i<r;i++)o[i-2]=arguments[i];t.locks++;try{var a;return null!=e&&(a=e.apply(this,o)),a}finally{t.locks--,0===t.locks&&t.methods.forEach(function(e){e.apply(n,o)})}}function V(r,o){return function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];H.call.apply(H,[this,r,o].concat(t))}}function G(e,t){for(var n,r,o,i,a=(r=t,o=(n=e)[q]=n[q]||{},(i=o[r]=o[r]||{}).locks=i.locks||0,i.methods=i.methods||[],i),s=arguments.length,c=new Array(2<s?s-2:0),u=2;u<s;u++)c[u-2]=arguments[u];for(var p=0;p<c.length;p++){var l=c[p];a.methods.indexOf(l)<0&&a.methods.push(l)}var f=Object.getOwnPropertyDescriptor(e,t);if(!f||!f[X]){var d=e[t],y=function n(r,o,i,a,e){var t;var s=V(e,a);return t={},h(t,X,!0),h(t,"get",function(){return s}),h(t,"set",function(e){if(this===r)s=V(e,a);else{var t=n(this,o,i,a,e);Object.defineProperty(this,o,t)}}),h(t,"configurable",!0),h(t,"enumerable",i),t}(e,t,f?f.enumerable:void 0,a,d);Object.defineProperty(e,t,y)}}var K={mobxStores:W};Object.seal(K);var z={contextTypes:{get:function(){return K},set:function(e){console.warn("Mobx Injector: you are trying to attach `contextTypes` on an component decorated with `inject` (or `observer`) HOC. Please specify the contextTypes on the wrapped component instead. It is accessible through the `wrappedComponent`")},configurable:!0,enumerable:!1},isMobxInjector:{value:!0,writable:!0,configurable:!0,enumerable:!0}};function Y(a,s,e){var t="inject-"+(s.displayName||s.name||s.constructor&&s.constructor.name||"Unknown");e&&(t+="-with-"+e);var n=function(e){function i(){var e,t;d(this,i);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=v(this,(e=b(i)).call.apply(e,[this].concat(r)))).storeRef=function(e){t.wrappedInstance=e},t}return m(i,p.Component),y(i,[{key:"render",value:function(){var e={};for(var t in this.props)this.props.hasOwnProperty(t)&&(e[t]=this.props[t]);var n,r=a(this.context.mobxStores||{},e,this.context)||{};for(var o in r)e[o]=r[o];return(n=s).prototype&&n.prototype.render&&(e.ref=this.storeRef),p.createElement(s,e)}}]),i}();return n.displayName=t,E(n,s),n.wrappedComponent=s,Object.defineProperties(n,z),n}function J(){var n,e;if("function"==typeof arguments[0])return n=arguments[0],function(e){var t=Y(n,e);return t.isMobxInjector=!1,(t=be(t)).isMobxInjector=!0,t};for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e=t,n=function(t,n){return e.forEach(function(e){if(!(e in n)){if(!(e in t))throw new Error("MobX injector: Store '"+e+"' is not available! Make sure it is provided by some Provider");n[e]=t[e]}}),n},function(e){return Y(n,e,t.join("-"))}}var Q=l.$mobx||"$mobx",Z=L("isUnmounted"),ee=!1,te=!1,ne=!1,re="undefined"!=typeof WeakMap?new WeakMap:void 0,oe=new u,ie=L("skipRender"),ae=L("isForcingUpdate"),se="function"==typeof p.forwardRef&&p.forwardRef(function(e,t){}).$$typeof;function ce(e,t,n){Object.hasOwnProperty.call(e,t)?e[t]=n:Object.defineProperty(e,t,{enumerable:!1,configurable:!0,writable:!0,value:n})}function ue(e){if(t.findDOMNode)try{return t.findDOMNode(e)}catch(e){return null}return null}function pe(e){var t=ue(e);t&&re&&re.set(t,e),oe.emit({event:"render",renderTime:e.__$mobRenderEnd-e.__$mobRenderStart,totalTime:Date.now()-e.__$mobRenderStart,component:e,node:t})}function le(){if("undefined"==typeof WeakMap)throw new Error("[mobx-react] tracking components is not supported in this browser.");ee||(ee=!0)}var fe=new u;function de(e,t){if(ye(e,t))return!0;if("object"!==a(e)||null===e||"object"!==a(t)||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!hasOwnProperty.call(t,n[o])||!ye(e[n[o]],t[n[o]]))return!1;return!0}function ye(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}var he={componentWillUnmount:function(){if(!0!==te&&(this.render[Q]&&this.render[Q].dispose(),this[Z]=!0,ee)){var e=ue(this);e&&re&&re.delete(e),oe.emit({event:"destroy",component:this,node:e})}},componentDidMount:function(){ee&&pe(this)},componentDidUpdate:function(){ee&&pe(this)},shouldComponentUpdate:function(e,t){return te&&console.warn("[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side."),this.state!==t||!de(this.props,e)}};function me(e,t){var n=L("reactProp_".concat(t,"_valueHolder")),r=L("reactProp_".concat(t,"_atomHolder"));function o(){return this[r]||ce(this,r,l.createAtom("reactive "+t)),this[r]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return o.call(this).reportObserved(),this[n]},set:function(e){this[ae]||de(this[n],e)?ce(this,n,e):(ce(this,n,e),ce(this,ie,!0),o.call(this).reportChanged(),ce(this,ie,!1))}})}function be(t,e){if("string"==typeof t)throw new Error("Store names should be provided as array");if(Array.isArray(t))return ne||(ne=!0,console.warn('Mobx observer: Using observer to inject stores is deprecated since 4.0. Use `@inject("store1", "store2") @observer ComponentClass` or `inject("store1", "store2")(observer(componentClass))` instead of `@observer(["store1", "store2"]) ComponentClass`')),e?J.apply(null,t)(be(e)):function(e){return be(t,e)};var n=t;if(!0===n.isMobxInjector&&console.warn("Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'"),n.__proto__===p.PureComponent&&console.warn("Mobx observer: You are using 'observer' on React.PureComponent. These two achieve two opposite goals and should not be used together"),se&&n.$$typeof===se){var r=n.render;if("function"!=typeof r)throw new Error("render property of ForwardRef was not a function");return p.forwardRef(function(){var e=arguments;return f.createElement(ve,null,function(){return r.apply(void 0,e)})})}if(!("function"!=typeof n||n.prototype&&n.prototype.render||n.isReactClass||p.Component.isPrototypeOf(n))){var o,i,a=be((i=o=function(e){function t(){return d(this,t),v(this,b(t).apply(this,arguments))}return m(t,p.Component),y(t,[{key:"render",value:function(){return n.call(this,this.props,this.context)}}]),t}(),o.displayName=n.displayName||n.name,o.contextTypes=n.contextTypes,o.propTypes=n.propTypes,o.defaultProps=n.defaultProps,i));return E(a,n),a}if(!n)throw new Error("Please pass a valid component to 'observer'");var s,c=n.prototype||n;s=c,["componentDidMount","componentWillUnmount","componentDidUpdate"].forEach(function(e){var t;G(s,t=e,he[t])}),s.shouldComponentUpdate?s.shouldComponentUpdate!==he.shouldComponentUpdate&&console.warn("Use `shouldComponentUpdate` in an `observer` based component breaks the behavior of `observer` and might lead to unexpected results. Manually implementing `sCU` should not be needed when using mobx-react."):s.shouldComponentUpdate=he.shouldComponentUpdate,n.isMobXReactObserver=!0,me(c,"props"),me(c,"state");var u=c.render;return c.render=function(){return function(e){var t=this;if(!0===te)return e.call(this);function n(){var e=this;a=!1;var t=void 0,n=void 0;if(s.track(function(){ee&&(e.__$mobRenderStart=Date.now());try{n=l._allowStateChanges(!1,i)}catch(e){t=e}ee&&(e.__$mobRenderEnd=Date.now())}),t)throw fe.emit(t),t;return n}var r=this.displayName||this.name||this.constructor&&(this.constructor.displayName||this.constructor.name)||"<component>",o=this._reactInternalInstance&&this._reactInternalInstance._rootNodeID||this._reactInternalInstance&&this._reactInternalInstance._debugID||this._reactInternalFiber&&this._reactInternalFiber._debugID;ce(this,ie,!1),ce(this,ae,!1);var i=e.bind(this),a=!1,s=new l.Reaction("".concat(r,"#").concat(o,".render()"),function(){if(!a&&(a=!0,"function"==typeof t.componentWillReact&&t.componentWillReact(),!0!==t[Z])){var e=!0;try{ce(t,ae,!0),t[ie]||p.Component.prototype.forceUpdate.call(t),e=!1}finally{ce(t,ae,!1),e&&s.dispose()}}});return s.reactComponent=this,n[Q]=s,(this.render=n).call(this)}.call(this,u)},n}var ve=be(function(e){var t=e.children,n=e.inject,r=e.render,o=t||r;if(void 0===o)return null;if(!n)return o();console.warn("<Observer inject=.../> is no longer supported. Please use inject on the enclosing component instead");var i=J(n)(o);return f.createElement(i,null)});ve.displayName="Observer";var ge=function(e,t,n,r,o){var i="children"===t?"render":"children";return"function"==typeof e[t]&&"function"==typeof e[i]?new Error("Invalid prop,do not use children and render in the same time in`"+n):"function"!=typeof e[t]&&"function"!=typeof e[i]?new Error("Invalid prop `"+o+"` of type `"+a(e[t])+"` supplied to `"+n+"`, expected `function`."):void 0};function we(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function Oe(n){this.setState(function(e){var t=this.constructor.getDerivedStateFromProps(n,e);return null!=t?t:null}.bind(this))}function _e(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}ve.propTypes={render:ge,children:ge};var xe={children:_e.__suppressDeprecationWarning=Oe.__suppressDeprecationWarning=we.__suppressDeprecationWarning=!0,key:!0,ref:!0},Se=function(e){function r(e,t){var n;return d(this,r),(n=v(this,b(r).call(this,e,t))).state={},Pe(e,n.state),n}return m(r,p.Component),y(r,[{key:"render",value:function(){return p.Children.only(this.props.children)}},{key:"getChildContext",value:function(){var e={};return Pe(this.context.mobxStores,e),Pe(this.props,e),{mobxStores:e}}}],[{key:"getDerivedStateFromProps",value:function(e,t){if(!e)return null;if(!t)return e;if(Object.keys(e).filter(je).length!==Object.keys(t).filter(je).length&&console.warn("MobX Provider: The set of provided stores has changed. Please avoid changing stores as the change might not propagate to all children"),!e.suppressChangedStoreWarning)for(var n in e)je(n)&&t[n]!==e[n]&&console.warn("MobX Provider: Provided store '"+n+"' has changed. Please avoid replacing stores as the change might not propagate to all children");return e}}]),r}();function Pe(e,t){if(e)for(var n in e)je(n)&&(t[n]=e[n])}function je(e){return!xe[e]&&"suppressChangedStoreWarning"!==e}Se.contextTypes={mobxStores:W},Se.childContextTypes={mobxStores:W.isRequired},function(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return;var n=null,r=null,o=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?r="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(r="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?o="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(o="UNSAFE_componentWillUpdate"),null!==n||null!==r||null!==o){var i=e.displayName||e.name,a="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+i+" uses "+a+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==r?"\n "+r:"")+(null!==o?"\n "+o:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=we,t.componentWillReceiveProps=Oe),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=_e;var s=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;s.call(this,e,t,r)}}}(Se);var Ce=L("disposeOnUnmount");function Ee(){var n=this;this[Ce]&&(this[Ce].forEach(function(e){var t="string"==typeof e?n[e]:e;if(null!=t){if("function"!=typeof t)throw new Error("[mobx-react] disposeOnUnmount only works on functions such as disposers returned by reactions, autorun, etc.");t()}}),this[Ce]=[])}if(!p.Component)throw new Error("mobx-react requires React to be available");if(!l.spy)throw new Error("mobx-react requires mobx to be available");"function"==typeof t.unstable_batchedUpdates&&l.configure({reactionScheduler:t.unstable_batchedUpdates});if("object"===("undefined"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__?"undefined":a(__MOBX_DEVTOOLS_GLOBAL_HOOK__))){var Me={spy:l.spy,extras:{getDebugName:l.getDebugName}},Ue={renderReporter:oe,componentByNodeRegistry:re,componentByNodeRegistery:re,trackComponents:le};__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobxReact(Ue,Me)}e.propTypes=N,e.PropTypes=N,e.onError=function(e){return fe.on(e)},e.observer=be,e.Observer=ve,e.renderReporter=oe,e.componentByNodeRegistery=re,e.componentByNodeRegistry=re,e.trackComponents=le,e.useStaticRendering=function(e){te=e},e.Provider=Se,e.inject=J,e.disposeOnUnmount=function t(n,e){if(Array.isArray(e))return e.map(function(e){return t(n,e)});if(!n instanceof p.Component)throw new Error("[mobx-react] disposeOnUnmount only works on class based React components.");if("string"!=typeof e&&"function"!=typeof e)throw new Error("[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.");var r=!!n[Ce];return(n[Ce]||(n[Ce]=[])).push(e),r||G(n,"componentWillUnmount",Ee),"string"!=typeof e?e:void 0},Object.defineProperty(e,"__esModule",{value:!0})});
1
+ /** @license mobx-react v5.4.4
2
+ * index.min.js
3
+ *
4
+ * Copyright (c) 2015 Michel Weststrate.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("mobx"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","mobx","react","react-dom"],t):t(e.mobxReact={},e.mobx,e.React,e.ReactDOM)}(this,function(e,l,p,t){"use strict";var f="default"in p?p.default:p;function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function n(e,t){return(n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function o(e,t){return e(t={exports:{}},t.exports),t.exports}var i,s=o(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,a=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,c=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,p=n?Symbol.for("react.async_mode"):60111,l=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,d=n?Symbol.for("react.suspense"):60113,y=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116;function m(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case p:case l:case i:case s:case a:return e;default:switch(e=e&&e.$$typeof){case u:case f:case c:return e;default:return t}}case o:return t}}}function b(e){return m(e)===l}t.typeOf=m,t.AsyncMode=p,t.ConcurrentMode=l,t.ContextConsumer=u,t.ContextProvider=c,t.Element=r,t.ForwardRef=f,t.Fragment=i,t.Profiler=s,t.Portal=o,t.StrictMode=a,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===l||e===s||e===a||e===d||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===y||e.$$typeof===c||e.$$typeof===u||e.$$typeof===f)},t.isAsyncMode=function(e){return b(e)||m(e)===p},t.isConcurrentMode=b,t.isContextConsumer=function(e){return m(e)===u},t.isContextProvider=function(e){return m(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return m(e)===f},t.isFragment=function(e){return m(e)===i},t.isProfiler=function(e){return m(e)===s},t.isPortal=function(e){return m(e)===o},t.isStrictMode=function(e){return m(e)===a}});(i=s)&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")&&i.default;s.typeOf,s.AsyncMode,s.ConcurrentMode,s.ContextConsumer,s.ContextProvider,s.Element,s.ForwardRef,s.Fragment,s.Profiler,s.Portal,s.StrictMode,s.isValidElementType,s.isAsyncMode,s.isConcurrentMode,s.isContextConsumer,s.isContextProvider,s.isElement,s.isForwardRef,s.isFragment,s.isProfiler,s.isPortal,s.isStrictMode;var c=o(function(e){e.exports=s}),g={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},w={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},O={};O[c.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var _=Object.defineProperty,x=Object.getOwnPropertyNames,S=Object.getOwnPropertySymbols,P=Object.getOwnPropertyDescriptor,j=Object.getPrototypeOf,C=Object.prototype;var E=function e(t,n,r){if("string"==typeof n)return t;if(C){var o=j(n);o&&o!==C&&e(t,o,r)}var i=x(n);S&&(i=i.concat(S(n)));for(var a=O[t.$$typeof]||g,s=O[n.$$typeof]||g,c=0;c<i.length;++c){var u=i[c];if(!(w[u]||r&&r[u]||s&&s[u]||a&&a[u])){var p=P(n,u);try{_(t,u,p)}catch(e){}}}return t},u=function(){function e(){d(this,e),this.listeners=[]}return y(e,[{key:"on",value:function(t){var n=this;return this.listeners.push(t),function(){var e=n.listeners.indexOf(t);-1!==e&&n.listeners.splice(e,1)}}},{key:"emit",value:function(t){this.listeners.forEach(function(e){return e(t)})}}]),e}();function M(u){function e(t,n,r,o,i,a){for(var e=arguments.length,s=new Array(6<e?e-6:0),c=6;c<e;c++)s[c-6]=arguments[c];return l.untracked(function(){if(o=o||"<<anonymous>>",a=a||r,null!=n[r])return u.apply(void 0,[n,r,o,i,a].concat(s));if(t){var e=null===n[r]?"null":"undefined";return new Error("The "+i+" `"+a+"` is marked as required in `"+o+"`, but its value is `"+e+"`.")}return null})}var t=e.bind(null,!1);return t.isRequired=e.bind(null,!0),t}function U(e){var t,n=a(e);return Array.isArray(e)?"array":e instanceof RegExp?"object":(t=e,"symbol"===n||"Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol?"symbol":n)}function R(c,u){return M(function(o,i,a,e,s){return l.untracked(function(){if(c&&U(o[i])===u.toLowerCase())return null;var e;switch(u){case"Array":e=l.isObservableArray;break;case"Object":e=l.isObservableObject;break;case"Map":e=l.isObservableMap;break;default:throw new Error("Unexpected mobxType: ".concat(u))}var t=o[i];if(e(t))return null;var n=function(e){var t=U(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}(t),r=c?" or javascript `"+u.toLowerCase()+"`":"";return new Error("Invalid prop `"+s+"` of type `"+n+"` supplied to `"+a+"`, expected `mobx.Observable"+u+"`"+r+".")})})}function k(u,p){return M(function(r,o,i,a,s){for(var e=arguments.length,c=new Array(5<e?e-5:0),t=5;t<e;t++)c[t-5]=arguments[t];return l.untracked(function(){if("function"!=typeof p)return new Error("Property `"+s+"` of component `"+i+"` has invalid PropType notation.");var e=R(u,"Array")(r,o,i);if(e instanceof Error)return e;for(var t=r[o],n=0;n<t.length;n++)if((e=p.apply(void 0,[t,n,i,a,s+"["+n+"]"].concat(c)))instanceof Error)return e;return null})})}var D=R(!1,"Array"),A=k.bind(null,!1),$=R(!1,"Map"),T=R(!1,"Object"),F=R(!0,"Array"),I=k.bind(null,!0),W=R(!0,"Object"),N=Object.freeze({observableArray:D,observableArrayOf:A,observableMap:$,observableObject:T,arrayOrObservableArray:F,arrayOrObservableArrayOf:I,objectOrObservableObject:W});var B=0;var L={};function q(e){return L[e]||(L[e]=function(e){if("function"==typeof Symbol)return Symbol(e);var t="__$mobx-react ".concat(e," (").concat(B,")");return B++,t}(e)),L[e]}var X=q("patchMixins"),H=q("patchedDefinition");function V(e,t){for(var n=this,r=arguments.length,o=new Array(2<r?r-2:0),i=2;i<r;i++)o[i-2]=arguments[i];t.locks++;try{var a;return null!=e&&(a=e.apply(this,o)),a}finally{t.locks--,0===t.locks&&t.methods.forEach(function(e){e.apply(n,o)})}}function G(r,o){return function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];V.call.apply(V,[this,r,o].concat(t))}}function K(e,t){for(var n,r,o,i,a=(r=t,o=(n=e)[X]=n[X]||{},(i=o[r]=o[r]||{}).locks=i.locks||0,i.methods=i.methods||[],i),s=arguments.length,c=new Array(2<s?s-2:0),u=2;u<s;u++)c[u-2]=arguments[u];for(var p=0;p<c.length;p++){var l=c[p];a.methods.indexOf(l)<0&&a.methods.push(l)}var f=Object.getOwnPropertyDescriptor(e,t);if(!f||!f[H]){var d=e[t],y=function n(r,o,i,a,e){var t;var s=G(e,a);return t={},h(t,H,!0),h(t,"get",function(){return s}),h(t,"set",function(e){if(this===r)s=G(e,a);else{var t=n(this,o,i,a,e);Object.defineProperty(this,o,t)}}),h(t,"configurable",!0),h(t,"enumerable",i),t}(e,t,f?f.enumerable:void 0,a,d);Object.defineProperty(e,t,y)}}var z={mobxStores:W};Object.seal(z);var Y={contextTypes:{get:function(){return z},set:function(e){console.warn("Mobx Injector: you are trying to attach `contextTypes` on an component decorated with `inject` (or `observer`) HOC. Please specify the contextTypes on the wrapped component instead. It is accessible through the `wrappedComponent`")},configurable:!0,enumerable:!1},isMobxInjector:{value:!0,writable:!0,configurable:!0,enumerable:!0}};function J(a,s,e){var t="inject-"+(s.displayName||s.name||s.constructor&&s.constructor.name||"Unknown");e&&(t+="-with-"+e);var n=function(e){function i(){var e,t;d(this,i);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=v(this,(e=b(i)).call.apply(e,[this].concat(r)))).storeRef=function(e){t.wrappedInstance=e},t}return m(i,p.Component),y(i,[{key:"render",value:function(){var e={};for(var t in this.props)this.props.hasOwnProperty(t)&&(e[t]=this.props[t]);var n,r=a(this.context.mobxStores||{},e,this.context)||{};for(var o in r)e[o]=r[o];return(n=s).prototype&&n.prototype.render&&(e.ref=this.storeRef),p.createElement(s,e)}}]),i}();return n.displayName=t,E(n,s),n.wrappedComponent=s,Object.defineProperties(n,Y),n}function Q(){var n,e;if("function"==typeof arguments[0])return n=arguments[0],function(e){var t=J(n,e);return t.isMobxInjector=!1,(t=ve(t)).isMobxInjector=!0,t};for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e=t,n=function(t,n){return e.forEach(function(e){if(!(e in n)){if(!(e in t))throw new Error("MobX injector: Store '"+e+"' is not available! Make sure it is provided by some Provider");n[e]=t[e]}}),n},function(e){return J(n,e,t.join("-"))}}var Z=l.$mobx||"$mobx",ee=q("isUnmounted"),te=!1,ne=!1,re=!1,oe="undefined"!=typeof WeakMap?new WeakMap:void 0,ie=new u,ae=q("skipRender"),se=q("isForcingUpdate"),ce="function"==typeof p.forwardRef&&p.forwardRef(function(e,t){}).$$typeof;function ue(e,t,n){Object.hasOwnProperty.call(e,t)?e[t]=n:Object.defineProperty(e,t,{enumerable:!1,configurable:!0,writable:!0,value:n})}function pe(e){if(t.findDOMNode)try{return t.findDOMNode(e)}catch(e){return null}return null}function le(e){var t=pe(e);t&&oe&&oe.set(t,e),ie.emit({event:"render",renderTime:e.__$mobRenderEnd-e.__$mobRenderStart,totalTime:Date.now()-e.__$mobRenderStart,component:e,node:t})}function fe(){if("undefined"==typeof WeakMap)throw new Error("[mobx-react] tracking components is not supported in this browser.");te||(te=!0)}var de=new u;function ye(e,t){if(he(e,t))return!0;if("object"!==a(e)||null===e||"object"!==a(t)||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!hasOwnProperty.call(t,n[o])||!he(e[n[o]],t[n[o]]))return!1;return!0}function he(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}var me={componentWillUnmount:function(){if(!0!==ne&&(this.render[Z]&&this.render[Z].dispose(),this[ee]=!0,te)){var e=pe(this);e&&oe&&oe.delete(e),ie.emit({event:"destroy",component:this,node:e})}},componentDidMount:function(){te&&le(this)},componentDidUpdate:function(){te&&le(this)},shouldComponentUpdate:function(e,t){return ne&&console.warn("[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side."),this.state!==t||!ye(this.props,e)}};function be(e,t){var n=q("reactProp_".concat(t,"_valueHolder")),r=q("reactProp_".concat(t,"_atomHolder"));function o(){return this[r]||ue(this,r,l.createAtom("reactive "+t)),this[r]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return o.call(this).reportObserved(),this[n]},set:function(e){this[se]||ye(this[n],e)?ue(this,n,e):(ue(this,n,e),ue(this,ae,!0),o.call(this).reportChanged(),ue(this,ae,!1))}})}function ve(t,e){if("string"==typeof t)throw new Error("Store names should be provided as array");if(Array.isArray(t))return re||(re=!0,console.warn('Mobx observer: Using observer to inject stores is deprecated since 4.0. Use `@inject("store1", "store2") @observer ComponentClass` or `inject("store1", "store2")(observer(componentClass))` instead of `@observer(["store1", "store2"]) ComponentClass`')),e?Q.apply(null,t)(ve(e)):function(e){return ve(t,e)};var n=t;if(!0===n.isMobxInjector&&console.warn("Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'"),n.__proto__===p.PureComponent&&console.warn("Mobx observer: You are using 'observer' on React.PureComponent. These two achieve two opposite goals and should not be used together"),ce&&n.$$typeof===ce){var r=n.render;if("function"!=typeof r)throw new Error("render property of ForwardRef was not a function");return p.forwardRef(function(){var e=arguments;return f.createElement(ge,null,function(){return r.apply(void 0,e)})})}if(!("function"!=typeof n||n.prototype&&n.prototype.render||n.isReactClass||p.Component.isPrototypeOf(n))){var o,i,a=ve((i=o=function(e){function t(){return d(this,t),v(this,b(t).apply(this,arguments))}return m(t,p.Component),y(t,[{key:"render",value:function(){return n.call(this,this.props,this.context)}}]),t}(),o.displayName=n.displayName||n.name,o.contextTypes=n.contextTypes,o.propTypes=n.propTypes,o.defaultProps=n.defaultProps,i));return E(a,n),a}if(!n)throw new Error("Please pass a valid component to 'observer'");var s,c=n.prototype||n;s=c,["componentDidMount","componentWillUnmount","componentDidUpdate"].forEach(function(e){var t;K(s,t=e,me[t])}),s.shouldComponentUpdate?s.shouldComponentUpdate!==me.shouldComponentUpdate&&console.warn("Use `shouldComponentUpdate` in an `observer` based component breaks the behavior of `observer` and might lead to unexpected results. Manually implementing `sCU` should not be needed when using mobx-react."):s.shouldComponentUpdate=me.shouldComponentUpdate,n.isMobXReactObserver=!0,be(c,"props"),be(c,"state");var u=c.render;return c.render=function(){return function(e){var t=this;if(!0===ne)return e.call(this);function n(){var e=this;a=!1;var t=void 0,n=void 0;if(s.track(function(){te&&(e.__$mobRenderStart=Date.now());try{n=l._allowStateChanges(!1,i)}catch(e){t=e}te&&(e.__$mobRenderEnd=Date.now())}),t)throw de.emit(t),t;return n}var r=this.displayName||this.name||this.constructor&&(this.constructor.displayName||this.constructor.name)||"<component>",o=this._reactInternalInstance&&this._reactInternalInstance._rootNodeID||this._reactInternalInstance&&this._reactInternalInstance._debugID||this._reactInternalFiber&&this._reactInternalFiber._debugID;ue(this,ae,!1),ue(this,se,!1);var i=e.bind(this),a=!1,s=new l.Reaction("".concat(r,"#").concat(o,".render()"),function(){if(!a&&(a=!0,"function"==typeof t.componentWillReact&&t.componentWillReact(),!0!==t[ee])){var e=!0;try{ue(t,se,!0),t[ae]||p.Component.prototype.forceUpdate.call(t),e=!1}finally{ue(t,se,!1),e&&s.dispose()}}});return s.reactComponent=this,n[Z]=s,(this.render=n).call(this)}.call(this,u)},n}var ge=ve(function(e){var t=e.children,n=e.inject,r=e.render,o=t||r;if(void 0===o)return null;if(!n)return o();console.warn("<Observer inject=.../> is no longer supported. Please use inject on the enclosing component instead");var i=Q(n)(o);return f.createElement(i,null)});ge.displayName="Observer";var we=function(e,t,n,r,o){var i="children"===t?"render":"children";return"function"==typeof e[t]&&"function"==typeof e[i]?new Error("Invalid prop,do not use children and render in the same time in`"+n):"function"!=typeof e[t]&&"function"!=typeof e[i]?new Error("Invalid prop `"+o+"` of type `"+a(e[t])+"` supplied to `"+n+"`, expected `function`."):void 0};function Oe(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function _e(n){this.setState(function(e){var t=this.constructor.getDerivedStateFromProps(n,e);return null!=t?t:null}.bind(this))}function xe(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}ge.propTypes={render:we,children:we};var Se={children:xe.__suppressDeprecationWarning=_e.__suppressDeprecationWarning=Oe.__suppressDeprecationWarning=!0,key:!0,ref:!0},Pe=function(e){function r(e,t){var n;return d(this,r),(n=v(this,b(r).call(this,e,t))).state={},je(e,n.state),n}return m(r,p.Component),y(r,[{key:"render",value:function(){return p.Children.only(this.props.children)}},{key:"getChildContext",value:function(){var e={};return je(this.context.mobxStores,e),je(this.props,e),{mobxStores:e}}}],[{key:"getDerivedStateFromProps",value:function(e,t){if(!e)return null;if(!t)return e;if(Object.keys(e).filter(Ce).length!==Object.keys(t).filter(Ce).length&&console.warn("MobX Provider: The set of provided stores has changed. Please avoid changing stores as the change might not propagate to all children"),!e.suppressChangedStoreWarning)for(var n in e)Ce(n)&&t[n]!==e[n]&&console.warn("MobX Provider: Provided store '"+n+"' has changed. Please avoid replacing stores as the change might not propagate to all children");return e}}]),r}();function je(e,t){if(e)for(var n in e)Ce(n)&&(t[n]=e[n])}function Ce(e){return!Se[e]&&"suppressChangedStoreWarning"!==e}Pe.contextTypes={mobxStores:W},Pe.childContextTypes={mobxStores:W.isRequired},function(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return;var n=null,r=null,o=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?r="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(r="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?o="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(o="UNSAFE_componentWillUpdate"),null!==n||null!==r||null!==o){var i=e.displayName||e.name,a="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+i+" uses "+a+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==r?"\n "+r:"")+(null!==o?"\n "+o:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=Oe,t.componentWillReceiveProps=_e),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=xe;var s=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;s.call(this,e,t,r)}}}(Pe);var Ee=q("disposeOnUnmount");function Me(){var n=this;this[Ee]&&(this[Ee].forEach(function(e){var t="string"==typeof e?n[e]:e;if(null!=t){if("function"!=typeof t)throw new Error("[mobx-react] disposeOnUnmount only works on functions such as disposers returned by reactions, autorun, etc.");t()}}),this[Ee]=[])}if(!p.Component)throw new Error("mobx-react requires React to be available");if(!l.spy)throw new Error("mobx-react requires mobx to be available");"function"==typeof t.unstable_batchedUpdates&&l.configure({reactionScheduler:t.unstable_batchedUpdates});if("object"===("undefined"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__?"undefined":a(__MOBX_DEVTOOLS_GLOBAL_HOOK__))){var Ue={spy:l.spy,extras:{getDebugName:l.getDebugName}},Re={renderReporter:ie,componentByNodeRegistry:oe,componentByNodeRegistery:oe,trackComponents:fe};__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobxReact(Re,Ue)}e.propTypes=N,e.PropTypes=N,e.onError=function(e){return de.on(e)},e.observer=ve,e.Observer=ge,e.renderReporter=ie,e.componentByNodeRegistery=oe,e.componentByNodeRegistry=oe,e.trackComponents=fe,e.useStaticRendering=function(e){ne=e},e.Provider=Pe,e.inject=Q,e.disposeOnUnmount=function t(n,e){if(Array.isArray(e))return e.map(function(e){return t(n,e)});if(!n instanceof p.Component)throw new Error("[mobx-react] disposeOnUnmount only works on class based React components.");if("string"!=typeof e&&"function"!=typeof e)throw new Error("[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.");var r=!!n[Ee];return(n[Ee]||(n[Ee]=[])).push(e),r||K(n,"componentWillUnmount",Me),"string"!=typeof e?e:void 0},Object.defineProperty(e,"__esModule",{value:!0})});