@legendapp/state 0.19.0-next.6 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,36 @@
1
+ ## 0.19.0
2
+
3
+ This is a big one, with a breaking change to stop observing all React components automatically. See https://legendapp.com/dev/state/migrating for more details.
4
+
5
+ - Breaking: No longer observing all React components automatically. Please use `observer` or `useSelector` for observable tracking.
6
+ - Breaking: Primitives no longer have `value` - use the standard `get()` or `set()` instead
7
+ - Breaking: Removed `get(false)` in favor of `peek()`
8
+ - Deprecated: Bindable components will be phased out in favor of new reactive components. Import `{ legend }` on web or `{ Legend }` on react-native instead of Bindable.
9
+ - Feat: Added `observer` HOC component
10
+ - Feat: `reactive` components that let you pass an observable or selector to any prop [reactive-props](https://legendapp.com/dev/state/reactive-props)
11
+ - Feat: `useSelector` has options to control how often it renders and to reuse forceRender functions
12
+ - Fix: Improved types for TypeScript strict mode
13
+ - Fix: Local storage persistence removes item if undefined
14
+ - Fix: Rendering multiple obseravbles inside one element had key collision issues
15
+
16
+ ## 0.18.8
17
+ - Fix: Array move detection further improved
18
+
19
+ ## 0.18.7
20
+ - Feat: `observe` function can return false to prevent tracking
21
+ - Fix: Tracking was sometimes getting out of order with nested components and computed
22
+ - Fix: useSelector was triggering renders multiple times
23
+ - Fix: Array move detection was incorrect on inserts
24
+
25
+ ## 0.18.6
26
+ - Fix: React-specific props were creating proxies unnecessarily
27
+
28
+ ## 0.18.4
29
+ - Fix: Fast refresh issues with bindable components
30
+
31
+ ## 0.18.3
32
+ - Fix: Fast refresh issues with direct rendering
33
+
1
34
  ## 0.18.2
2
35
  - Fix: Rendering directly to JSX was not activating computeds
3
36
  - Types: Improved typing of observable and useObservable to more correctly narrow down complex types
@@ -35,7 +68,7 @@
35
68
 
36
69
  ## 0.17.0
37
70
 
38
- This is a big one, with mainly a breaking change to how primitives work, so see https://legendapp.com/dev/state/migrating for more details. We're aiming for this to be the last major change before aiming towards a 1.0.
71
+ This is a big one, with mainly a breaking change to how primitives work, so see https://legendapp.com/dev/state/migrating for more details.
39
72
 
40
73
  - Breaking: Primitives in state are now returned as observable objects like everything else, and you can use `get()` or `.value` to access/modify the value
41
74
  - Breaking: Removed `obs()` function
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@legendapp/state",
3
- "version": "0.19.0-next.6",
3
+ "version": "0.19.0",
4
4
  "description": "legend-state",
5
5
  "sideEffects": false,
6
6
  "private": false,
@@ -21,7 +21,7 @@ const Binder = function (Component) {
21
21
  onChange === null || onChange === void 0 ? void 0 : onChange(e);
22
22
  }, [onChange, bind]);
23
23
  // Get the bound value
24
- const value = (props.value = bind.get());
24
+ const value = (props.value = react.useSelector(bind));
25
25
  // Call className if it's a function
26
26
  if (state.isFunction(className)) {
27
27
  props.className = className(value);
@@ -1 +1 @@
1
- {"version":3,"file":"react-components.js","sources":["../../src/react-components/react-components.tsx"],"sourcesContent":[null],"names":["forwardRef","useCallback","isFunction","createElement","Bindable","reactive"],"mappings":";;;;;;;;AAwBA,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,MAAM,MAAM,GAAG,UAIb,SAAS,EAAA;AACP,IAAA,OAAOA,kBAAU,CAAC,SAAS,KAAK,CAC5B,EAAE,IAAI,EAAE,GAAG,KAAK,EAAgC,EAChD,GAAwB,EAAA;QAExB,IAAI,CAAC,eAAe,EAAE;YAClB,eAAe,GAAG,IAAI,CAAC;AACvB,YAAA,OAAO,CAAC,IAAI,CACR,mJAAmJ,CACtJ,CAAC;AACL,SAAA;AACD,QAAA,IAAI,IAAI,EAAE;YACN,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;;YAG7C,KAAK,CAAC,QAAQ,GAAGC,mBAAW,CACxB,CAAC,CAAgC,KAAI;gBACjC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAY,CAAC,CAAC;AAChC,gBAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAG,CAAC,CAAC,CAAC;AAClB,aAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACnB,CAAC;;AAGF,YAAA,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;;AAGzC,YAAA,IAAIC,gBAAU,CAAC,SAAS,CAAC,EAAE;AACvB,gBAAA,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AACtC,aAAA;;AAED,YAAA,IAAIA,gBAAU,CAAC,KAAK,CAAC,EAAE;AACnB,gBAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9B,aAAA;AACJ,SAAA;AAED,QAAA,OAAOC,qBAAa,CAAC,SAAgB,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;;AAE5E,KAAC,CAA0G,CAAC;AAChH,CAAC,CAAC;AAEeC,0BAgBhB;AAhBD,CAAA,UAAiB,QAAQ,EAAA;AACR,IAAA,QAAA,CAAA,KAAK,GAAG,MAAM,CAIzB,OAAO,CAAC,CAAC;AACE,IAAA,QAAA,CAAA,QAAQ,GAAG,MAAM,CAI5B,UAAU,CAAC,CAAC;AACD,IAAA,QAAA,CAAA,MAAM,GAAG,MAAM,CAI1B,QAAQ,CAAC,CAAC;AAChB,CAAC,EAhBgBA,gBAAQ,KAARA,gBAAQ,GAgBxB,EAAA,CAAA,CAAA,CAAA;AAOD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE3D,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;MAClF,MAAM,GAAG,IAAI,KAAK,CAC3B,EAAE,EACF;IACI,GAAG,CAAC,MAAM,EAAE,CAAS,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;AACZ,YAAA,MAAM,CAAC,CAAC,CAAC,GAAGC,cAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;AACzD,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KACpB;AACJ,CAAA;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"react-components.js","sources":["../../src/react-components/react-components.tsx"],"sourcesContent":[null],"names":["forwardRef","useCallback","useSelector","isFunction","createElement","Bindable","reactive"],"mappings":";;;;;;;;AAwBA,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,MAAM,MAAM,GAAG,UAIb,SAAS,EAAA;AACP,IAAA,OAAOA,kBAAU,CAAC,SAAS,KAAK,CAC5B,EAAE,IAAI,EAAE,GAAG,KAAK,EAAgC,EAChD,GAAwB,EAAA;QAExB,IAAI,CAAC,eAAe,EAAE;YAClB,eAAe,GAAG,IAAI,CAAC;AACvB,YAAA,OAAO,CAAC,IAAI,CACR,mJAAmJ,CACtJ,CAAC;AACL,SAAA;AACD,QAAA,IAAI,IAAI,EAAE;YACN,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;;YAG7C,KAAK,CAAC,QAAQ,GAAGC,mBAAW,CACxB,CAAC,CAAgC,KAAI;gBACjC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAY,CAAC,CAAC;AAChC,gBAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAG,CAAC,CAAC,CAAC;AAClB,aAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACnB,CAAC;;AAGF,YAAA,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,GAAGC,iBAAW,CAAC,IAAI,CAAC,CAAC,CAAC;;AAGhD,YAAA,IAAIC,gBAAU,CAAC,SAAS,CAAC,EAAE;AACvB,gBAAA,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AACtC,aAAA;;AAED,YAAA,IAAIA,gBAAU,CAAC,KAAK,CAAC,EAAE;AACnB,gBAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9B,aAAA;AACJ,SAAA;AAED,QAAA,OAAOC,qBAAa,CAAC,SAAgB,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;;AAE5E,KAAC,CAA0G,CAAC;AAChH,CAAC,CAAC;AAEeC,0BAgBhB;AAhBD,CAAA,UAAiB,QAAQ,EAAA;AACR,IAAA,QAAA,CAAA,KAAK,GAAG,MAAM,CAIzB,OAAO,CAAC,CAAC;AACE,IAAA,QAAA,CAAA,QAAQ,GAAG,MAAM,CAI5B,UAAU,CAAC,CAAC;AACD,IAAA,QAAA,CAAA,MAAM,GAAG,MAAM,CAI1B,QAAQ,CAAC,CAAC;AAChB,CAAC,EAhBgBA,gBAAQ,KAARA,gBAAQ,GAgBxB,EAAA,CAAA,CAAA,CAAA;AAOD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE3D,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;MAClF,MAAM,GAAG,IAAI,KAAK,CAC3B,EAAE,EACF;IACI,GAAG,CAAC,MAAM,EAAE,CAAS,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;AACZ,YAAA,MAAM,CAAC,CAAC,CAAC,GAAGC,cAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;AACzD,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KACpB;AACJ,CAAA;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { reactive } from '@legendapp/state/react';
1
+ import { reactive, useSelector } from '@legendapp/state/react';
2
2
  export { observer, reactive, reactiveObserver } from '@legendapp/state/react';
3
3
  import { isFunction } from '@legendapp/state';
4
4
  import { forwardRef, useCallback, createElement } from 'react';
@@ -18,7 +18,7 @@ const Binder = function (Component) {
18
18
  onChange === null || onChange === void 0 ? void 0 : onChange(e);
19
19
  }, [onChange, bind]);
20
20
  // Get the bound value
21
- const value = (props.value = bind.get());
21
+ const value = (props.value = useSelector(bind));
22
22
  // Call className if it's a function
23
23
  if (isFunction(className)) {
24
24
  props.className = className(value);
@@ -1 +1 @@
1
- {"version":3,"file":"react-components.mjs","sources":["../../src/react-components/react-components.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAwBA,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,MAAM,MAAM,GAAG,UAIb,SAAS,EAAA;AACP,IAAA,OAAO,UAAU,CAAC,SAAS,KAAK,CAC5B,EAAE,IAAI,EAAE,GAAG,KAAK,EAAgC,EAChD,GAAwB,EAAA;QAExB,IAAI,CAAC,eAAe,EAAE;YAClB,eAAe,GAAG,IAAI,CAAC;AACvB,YAAA,OAAO,CAAC,IAAI,CACR,mJAAmJ,CACtJ,CAAC;AACL,SAAA;AACD,QAAA,IAAI,IAAI,EAAE;YACN,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;;YAG7C,KAAK,CAAC,QAAQ,GAAG,WAAW,CACxB,CAAC,CAAgC,KAAI;gBACjC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAY,CAAC,CAAC;AAChC,gBAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAG,CAAC,CAAC,CAAC;AAClB,aAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACnB,CAAC;;AAGF,YAAA,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;;AAGzC,YAAA,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE;AACvB,gBAAA,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AACtC,aAAA;;AAED,YAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AACnB,gBAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9B,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,aAAa,CAAC,SAAgB,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;;AAE5E,KAAC,CAA0G,CAAC;AAChH,CAAC,CAAC;AAEI,IAAW,SAgBhB;AAhBD,CAAA,UAAiB,QAAQ,EAAA;AACR,IAAA,QAAA,CAAA,KAAK,GAAG,MAAM,CAIzB,OAAO,CAAC,CAAC;AACE,IAAA,QAAA,CAAA,QAAQ,GAAG,MAAM,CAI5B,UAAU,CAAC,CAAC;AACD,IAAA,QAAA,CAAA,MAAM,GAAG,MAAM,CAI1B,QAAQ,CAAC,CAAC;AAChB,CAAC,EAhBgB,QAAQ,KAAR,QAAQ,GAgBxB,EAAA,CAAA,CAAA,CAAA;AAOD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE3D,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;MAClF,MAAM,GAAG,IAAI,KAAK,CAC3B,EAAE,EACF;IACI,GAAG,CAAC,MAAM,EAAE,CAAS,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;AACZ,YAAA,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;AACzD,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KACpB;AACJ,CAAA;;;;"}
1
+ {"version":3,"file":"react-components.mjs","sources":["../../src/react-components/react-components.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAwBA,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,MAAM,MAAM,GAAG,UAIb,SAAS,EAAA;AACP,IAAA,OAAO,UAAU,CAAC,SAAS,KAAK,CAC5B,EAAE,IAAI,EAAE,GAAG,KAAK,EAAgC,EAChD,GAAwB,EAAA;QAExB,IAAI,CAAC,eAAe,EAAE;YAClB,eAAe,GAAG,IAAI,CAAC;AACvB,YAAA,OAAO,CAAC,IAAI,CACR,mJAAmJ,CACtJ,CAAC;AACL,SAAA;AACD,QAAA,IAAI,IAAI,EAAE;YACN,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;;YAG7C,KAAK,CAAC,QAAQ,GAAG,WAAW,CACxB,CAAC,CAAgC,KAAI;gBACjC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAY,CAAC,CAAC;AAChC,gBAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAG,CAAC,CAAC,CAAC;AAClB,aAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACnB,CAAC;;AAGF,YAAA,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;;AAGhD,YAAA,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE;AACvB,gBAAA,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AACtC,aAAA;;AAED,YAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AACnB,gBAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9B,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,aAAa,CAAC,SAAgB,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;;AAE5E,KAAC,CAA0G,CAAC;AAChH,CAAC,CAAC;AAEI,IAAW,SAgBhB;AAhBD,CAAA,UAAiB,QAAQ,EAAA;AACR,IAAA,QAAA,CAAA,KAAK,GAAG,MAAM,CAIzB,OAAO,CAAC,CAAC;AACE,IAAA,QAAA,CAAA,QAAQ,GAAG,MAAM,CAI5B,UAAU,CAAC,CAAC;AACD,IAAA,QAAA,CAAA,MAAM,GAAG,MAAM,CAI1B,QAAQ,CAAC,CAAC;AAChB,CAAC,EAhBgB,QAAQ,KAAR,QAAQ,GAgBxB,EAAA,CAAA,CAAA,CAAA;AAOD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE3D,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;MAClF,MAAM,GAAG,IAAI,KAAK,CAC3B,EAAE,EACF;IACI,GAAG,CAAC,MAAM,EAAE,CAAS,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;AACZ,YAAA,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;AACzD,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KACpB;AACJ,CAAA;;;;"}
@@ -26,7 +26,7 @@ const Binder = function (Component, getValue) {
26
26
  onChange === null || onChange === void 0 ? void 0 : onChange(e);
27
27
  }, [onChange, bind]);
28
28
  // Get the bound value
29
- const value = (props.value = bind.get());
29
+ const value = (props.value = react.useSelector(bind.get()));
30
30
  // Call style if it's a function
31
31
  if (state.isFunction(style)) {
32
32
  props.style = style(value);
@@ -1 +1 @@
1
- {"version":3,"file":"react-native-components.js","sources":["../../src/react-native-components/rn-components.tsx"],"sourcesContent":[null],"names":["forwardRef","useCallback","isFunction","createElement","Bindable","RNTextInput","RNSwitch","reactive","RN"],"mappings":";;;;;;;;;;;;;AAsBA,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,MAAM,MAAM,GAAG,UAKb,SAAmB,EAAE,QAA4B,EAAA;AAC/C,IAAA,OAAOA,kBAAU,CAAC,SAAS,KAAK,CAC5B,EAAE,IAAI,EAAE,GAAG,KAAK,EAAwC,EACxD,GAAwB,EAAA;QAExB,IAAI,CAAC,eAAe,EAAE;YAClB,eAAe,GAAG,IAAI,CAAC;AACvB,YAAA,OAAO,CAAC,IAAI,CACR,uJAAuJ,CAC1J,CAAC;AACL,SAAA;AAED,QAAA,IAAI,IAAI,EAAE;AACN,YAAA,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;;YAGlC,KAAK,CAAC,QAAQ,GAAGC,mBAAW,CACxB,CAAC,CAAC,KAAI;gBACF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,gBAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAG,CAAC,CAAC,CAAC;AAClB,aAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACnB,CAAC;;AAGF,YAAA,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;;AAGzC,YAAA,IAAIC,gBAAU,CAAC,KAAK,CAAC,EAAE;AACnB,gBAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9B,aAAA;AACJ,SAAA;AAED,QAAA,OAAOC,qBAAa,CAAC,SAAgB,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;;AAE5E,KAAC,CAAkH,CAAC;AACxH,CAAC,CAAC;AAEeC,0BAShB;AATD,CAAA,UAAiB,QAAQ,EAAA;AACR,IAAA,QAAA,CAAA,SAAS,GAAG,MAAM,CAC3BC,YAAW,EACX,CAAC,CAAiD,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAC5E,CAAC;AACW,IAAA,QAAA,CAAA,MAAM,GAAG,MAAM,CACxBC,SAAQ,EACR,CAAC,CAAoB,KAAK,CAAC,CAAC,KAAK,CACpC,CAAC;AACN,CAAC,EATgBF,gBAAQ,KAARA,gBAAQ,GASxB,EAAA,CAAA,CAAA,CAAA;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;AACtB,IAAA,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;IACxC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AAC7B,CAAA,CAAC,CAAC;MAEU,MAAM,GAAG,IAAI,KAAK,CAC3B,EAAE,EACF;IACI,GAAG,CAAC,MAAM,EAAE,CAAS,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;AACZ,YAAA,MAAM,CAAC,CAAC,CAAC,GAAGG,cAAQ,CAChBC,sBAAE,CAAC,CAAC,CAAC,EACL,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC/F,CAAC;AACL,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KACpB;AACJ,CAAA;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"react-native-components.js","sources":["../../src/react-native-components/rn-components.tsx"],"sourcesContent":[null],"names":["forwardRef","useCallback","useSelector","isFunction","createElement","Bindable","RNTextInput","RNSwitch","reactive","RN"],"mappings":";;;;;;;;;;;;;AAsBA,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,MAAM,MAAM,GAAG,UAKb,SAAmB,EAAE,QAA4B,EAAA;AAC/C,IAAA,OAAOA,kBAAU,CAAC,SAAS,KAAK,CAC5B,EAAE,IAAI,EAAE,GAAG,KAAK,EAAwC,EACxD,GAAwB,EAAA;QAExB,IAAI,CAAC,eAAe,EAAE;YAClB,eAAe,GAAG,IAAI,CAAC;AACvB,YAAA,OAAO,CAAC,IAAI,CACR,uJAAuJ,CAC1J,CAAC;AACL,SAAA;AAED,QAAA,IAAI,IAAI,EAAE;AACN,YAAA,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;;YAGlC,KAAK,CAAC,QAAQ,GAAGC,mBAAW,CACxB,CAAC,CAAC,KAAI;gBACF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,gBAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAG,CAAC,CAAC,CAAC;AAClB,aAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACnB,CAAC;;AAGF,YAAA,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,GAAGC,iBAAW,CAAC,IAAI,CAAC,GAAG,EAAS,CAAC,CAAC,CAAC;;AAG7D,YAAA,IAAIC,gBAAU,CAAC,KAAK,CAAC,EAAE;AACnB,gBAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9B,aAAA;AACJ,SAAA;AAED,QAAA,OAAOC,qBAAa,CAAC,SAAgB,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;;AAE5E,KAAC,CAAkH,CAAC;AACxH,CAAC,CAAC;AAEeC,0BAShB;AATD,CAAA,UAAiB,QAAQ,EAAA;AACR,IAAA,QAAA,CAAA,SAAS,GAAG,MAAM,CAC3BC,YAAW,EACX,CAAC,CAAiD,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAC5E,CAAC;AACW,IAAA,QAAA,CAAA,MAAM,GAAG,MAAM,CACxBC,SAAQ,EACR,CAAC,CAAoB,KAAK,CAAC,CAAC,KAAK,CACpC,CAAC;AACN,CAAC,EATgBF,gBAAQ,KAARA,gBAAQ,GASxB,EAAA,CAAA,CAAA,CAAA;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;AACtB,IAAA,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;IACxC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AAC7B,CAAA,CAAC,CAAC;MAEU,MAAM,GAAG,IAAI,KAAK,CAC3B,EAAE,EACF;IACI,GAAG,CAAC,MAAM,EAAE,CAAS,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;AACZ,YAAA,MAAM,CAAC,CAAC,CAAC,GAAGG,cAAQ,CAChBC,sBAAE,CAAC,CAAC,CAAC,EACL,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC/F,CAAC;AACL,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KACpB;AACJ,CAAA;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { reactive } from '@legendapp/state/react';
1
+ import { reactive, useSelector } from '@legendapp/state/react';
2
2
  export { observer, reactive, reactiveObserver } from '@legendapp/state/react';
3
3
  import { isFunction } from '@legendapp/state';
4
4
  import { forwardRef, useCallback, createElement } from 'react';
@@ -19,7 +19,7 @@ const Binder = function (Component, getValue) {
19
19
  onChange === null || onChange === void 0 ? void 0 : onChange(e);
20
20
  }, [onChange, bind]);
21
21
  // Get the bound value
22
- const value = (props.value = bind.get());
22
+ const value = (props.value = useSelector(bind.get()));
23
23
  // Call style if it's a function
24
24
  if (isFunction(style)) {
25
25
  props.style = style(value);
@@ -1 +1 @@
1
- {"version":3,"file":"react-native-components.mjs","sources":["../../src/react-native-components/rn-components.tsx"],"sourcesContent":[null],"names":["RNTextInput","RNSwitch"],"mappings":";;;;;;AAsBA,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,MAAM,MAAM,GAAG,UAKb,SAAmB,EAAE,QAA4B,EAAA;AAC/C,IAAA,OAAO,UAAU,CAAC,SAAS,KAAK,CAC5B,EAAE,IAAI,EAAE,GAAG,KAAK,EAAwC,EACxD,GAAwB,EAAA;QAExB,IAAI,CAAC,eAAe,EAAE;YAClB,eAAe,GAAG,IAAI,CAAC;AACvB,YAAA,OAAO,CAAC,IAAI,CACR,uJAAuJ,CAC1J,CAAC;AACL,SAAA;AAED,QAAA,IAAI,IAAI,EAAE;AACN,YAAA,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;;YAGlC,KAAK,CAAC,QAAQ,GAAG,WAAW,CACxB,CAAC,CAAC,KAAI;gBACF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,gBAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAG,CAAC,CAAC,CAAC;AAClB,aAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACnB,CAAC;;AAGF,YAAA,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;;AAGzC,YAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AACnB,gBAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9B,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,aAAa,CAAC,SAAgB,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;;AAE5E,KAAC,CAAkH,CAAC;AACxH,CAAC,CAAC;AAEI,IAAW,SAShB;AATD,CAAA,UAAiB,QAAQ,EAAA;AACR,IAAA,QAAA,CAAA,SAAS,GAAG,MAAM,CAC3BA,SAAW,EACX,CAAC,CAAiD,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAC5E,CAAC;AACW,IAAA,QAAA,CAAA,MAAM,GAAG,MAAM,CACxBC,MAAQ,EACR,CAAC,CAAoB,KAAK,CAAC,CAAC,KAAK,CACpC,CAAC;AACN,CAAC,EATgB,QAAQ,KAAR,QAAQ,GASxB,EAAA,CAAA,CAAA,CAAA;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;AACtB,IAAA,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;IACxC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AAC7B,CAAA,CAAC,CAAC;MAEU,MAAM,GAAG,IAAI,KAAK,CAC3B,EAAE,EACF;IACI,GAAG,CAAC,MAAM,EAAE,CAAS,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;AACZ,YAAA,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAChB,EAAE,CAAC,CAAC,CAAC,EACL,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC/F,CAAC;AACL,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KACpB;AACJ,CAAA;;;;"}
1
+ {"version":3,"file":"react-native-components.mjs","sources":["../../src/react-native-components/rn-components.tsx"],"sourcesContent":[null],"names":["RNTextInput","RNSwitch"],"mappings":";;;;;;AAsBA,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,MAAM,MAAM,GAAG,UAKb,SAAmB,EAAE,QAA4B,EAAA;AAC/C,IAAA,OAAO,UAAU,CAAC,SAAS,KAAK,CAC5B,EAAE,IAAI,EAAE,GAAG,KAAK,EAAwC,EACxD,GAAwB,EAAA;QAExB,IAAI,CAAC,eAAe,EAAE;YAClB,eAAe,GAAG,IAAI,CAAC;AACvB,YAAA,OAAO,CAAC,IAAI,CACR,uJAAuJ,CAC1J,CAAC;AACL,SAAA;AAED,QAAA,IAAI,IAAI,EAAE;AACN,YAAA,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;;YAGlC,KAAK,CAAC,QAAQ,GAAG,WAAW,CACxB,CAAC,CAAC,KAAI;gBACF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,gBAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAG,CAAC,CAAC,CAAC;AAClB,aAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACnB,CAAC;;AAGF,YAAA,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAS,CAAC,CAAC,CAAC;;AAG7D,YAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AACnB,gBAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9B,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,aAAa,CAAC,SAAgB,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;;AAE5E,KAAC,CAAkH,CAAC;AACxH,CAAC,CAAC;AAEI,IAAW,SAShB;AATD,CAAA,UAAiB,QAAQ,EAAA;AACR,IAAA,QAAA,CAAA,SAAS,GAAG,MAAM,CAC3BA,SAAW,EACX,CAAC,CAAiD,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAC5E,CAAC;AACW,IAAA,QAAA,CAAA,MAAM,GAAG,MAAM,CACxBC,MAAQ,EACR,CAAC,CAAoB,KAAK,CAAC,CAAC,KAAK,CACpC,CAAC;AACN,CAAC,EATgB,QAAQ,KAAR,QAAQ,GASxB,EAAA,CAAA,CAAA,CAAA;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;AACtB,IAAA,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;IACxC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AAC7B,CAAA,CAAC,CAAC;MAEU,MAAM,GAAG,IAAI,KAAK,CAC3B,EAAE,EACF;IACI,GAAG,CAAC,MAAM,EAAE,CAAS,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;AACZ,YAAA,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAChB,EAAE,CAAC,CAAC,CAAC,EACL,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC/F,CAAC;AACL,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KACpB;AACJ,CAAA;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { CSSProperties, DetailedHTMLProps, FC, InputHTMLAttributes, ReactElement, SelectHTMLAttributes, TextareaHTMLAttributes } from 'react';
2
- import type { NotPrimitive, ObservableFns, Primitive, Selector } from '../observableInterfaces';
2
+ import type { ObservableFns, Primitive, Selector } from '../observableInterfaces';
3
3
  declare type Props<TValue, TProps, TBind> = Omit<TProps, 'className' | 'style'> & {
4
4
  className?: string | ((value: TValue) => string);
5
5
  style?: CSSProperties | ((value: TValue) => CSSProperties);
6
- bind?: ObservableFns<TValue> & NotPrimitive<TBind>;
6
+ bind?: ObservableFns<TValue>;
7
7
  };
8
8
  export declare namespace Bindable {
9
9
  const input: <TBind extends ObservableFns<any>>(props: Props<Primitive, DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, TBind>) => ReactElement<any, string | import("react").JSXElementConstructor<any>>;
@@ -1,8 +1,8 @@
1
1
  import { ReactElement } from 'react';
2
2
  import RN, { StyleProp } from 'react-native';
3
- import type { NotPrimitive, ObservableFns, Primitive } from '../observableInterfaces';
3
+ import type { ObservableFns, Primitive } from '../observableInterfaces';
4
4
  declare type Props<TValue, TStyle, TProps, TBind> = Omit<TProps, 'style'> & {
5
- bind?: ObservableFns<TValue> & NotPrimitive<TBind>;
5
+ bind?: ObservableFns<TValue>;
6
6
  style?: StyleProp<TStyle> | ((value: TValue) => StyleProp<TStyle>);
7
7
  };
8
8
  export declare namespace Bindable {