@tamagui/use-controllable-state 1.124.7 → 1.124.9

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.
@@ -38,27 +38,24 @@ var import_use_event = require("@tamagui/use-event"),
38
38
  React = __toESM(require("react")),
39
39
  import_start_transition = require("@tamagui/start-transition");
40
40
  const emptyCallbackFn = _ => _();
41
- function useControllableState(props) {
42
- const {
43
- prop,
44
- defaultProp,
45
- onChange,
46
- strategy = "prop-wins",
47
- preventUpdate,
48
- transition
49
- } = props,
50
- [state, setState] = React.useState(prop ?? defaultProp),
41
+ function useControllableState({
42
+ prop,
43
+ defaultProp,
44
+ onChange,
45
+ strategy = "prop-wins",
46
+ preventUpdate,
47
+ transition
48
+ }) {
49
+ const [state, setState] = React.useState(prop ?? defaultProp),
51
50
  previous = React.useRef(state),
52
51
  propWins = strategy === "prop-wins" && prop !== void 0,
53
52
  value = propWins ? prop : state,
54
53
  onChangeCb = (0, import_use_event.useEvent)(onChange || idFn),
55
54
  transitionFn = transition ? import_start_transition.startTransition : emptyCallbackFn;
56
55
  React.useEffect(() => {
57
- "prop" in props && prop !== state && transitionFn(() => {
58
- setState(prev => {
59
- if (prev !== prop) return previous.current = prop, prop;
60
- });
61
- });
56
+ prop !== void 0 && (previous.current = prop, transitionFn(() => {
57
+ setState(prop);
58
+ }));
62
59
  }, [prop]), React.useEffect(() => {
63
60
  propWins || state !== previous.current && (previous.current = state, onChangeCb(state));
64
61
  }, [onChangeCb, state, propWins]);
@@ -27,22 +27,19 @@ __export(useControllableState_exports, {
27
27
  module.exports = __toCommonJS(useControllableState_exports);
28
28
  var import_use_event = require("@tamagui/use-event"), React = __toESM(require("react")), import_start_transition = require("@tamagui/start-transition");
29
29
  const emptyCallbackFn = (_) => _();
30
- function useControllableState(props) {
31
- const {
32
- prop,
33
- defaultProp,
34
- onChange,
35
- strategy = "prop-wins",
36
- preventUpdate,
37
- transition
38
- } = props, [state, setState] = React.useState(prop ?? defaultProp), previous = React.useRef(state), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state, onChangeCb = (0, import_use_event.useEvent)(onChange || idFn), transitionFn = transition ? import_start_transition.startTransition : emptyCallbackFn;
30
+ function useControllableState({
31
+ prop,
32
+ defaultProp,
33
+ onChange,
34
+ strategy = "prop-wins",
35
+ preventUpdate,
36
+ transition
37
+ }) {
38
+ const [state, setState] = React.useState(prop ?? defaultProp), previous = React.useRef(state), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state, onChangeCb = (0, import_use_event.useEvent)(onChange || idFn), transitionFn = transition ? import_start_transition.startTransition : emptyCallbackFn;
39
39
  React.useEffect(() => {
40
- "prop" in props && prop !== state && transitionFn(() => {
41
- setState((prev) => {
42
- if (prev !== prop)
43
- return previous.current = prop, prop;
44
- });
45
- });
40
+ prop !== void 0 && (previous.current = prop, transitionFn(() => {
41
+ setState(prop);
42
+ }));
46
43
  }, [prop]), React.useEffect(() => {
47
44
  propWins || state !== previous.current && (previous.current = state, onChangeCb(state));
48
45
  }, [onChangeCb, state, propWins]);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useControllableState.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAyB,+BACzB,QAAuB,2BACvB,0BAAgC;AAOhC,MAAM,kBAAkB,CAAC,MAAM,EAAE;AAE1B,SAAS,qBAAwB,OAOS;AAC/C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,EACF,IAAI,OACE,CAAC,OAAO,QAAQ,IAAI,MAAM,SAAS,QAAQ,WAAW,GACtD,WAAW,MAAM,OAAY,KAAK,GAClC,WAAW,aAAa,eAAe,SAAS,QAChD,QAAQ,WAAW,OAAO,OAC1B,iBAAa,2BAAS,YAAY,IAAI,GAEtC,eAAe,aAAa,0CAAkB;AAEpD,QAAM,UAAU,MAAM;AACpB,IAAI,UAAU,SACR,SAAS,SACX,aAAa,MAAM;AAEjB,eAAS,CAAC,SAAS;AACjB,YAAI,SAAS;AACX,0BAAS,UAAU,MACZ;AAAA,MAEX,CAAC;AAAA,IACH,CAAC;AAAA,EAGP,GAAG,CAAC,IAAI,CAAC,GAET,MAAM,UAAU,MAAM;AACpB,IAAI,YACA,UAAU,SAAS,YACrB,SAAS,UAAU,OACnB,WAAW,KAAK;AAAA,EAEpB,GAAG,CAAC,YAAY,OAAO,QAAQ,CAAC;AAEhC,QAAM,aAAS,2BAAS,CAAC,SAAS;AAChC,QAAI;AACJ,UAAI,UAAU;AACZ,cAAM,YAAY,OAAO,QAAS,aAAa,KAAK,SAAS,OAAO,IAAI;AACxE,mBAAW,SAAS;AAAA,MACtB;AACE,qBAAa,MAAM;AACjB,mBAAS,IAAI;AAAA,QACf,CAAC;AAAA,EAEL,CAAC;AAED,SAAO,CAAC,OAAY,MAAM;AAC5B;AAEA,MAAM,OAAO,MAAM;AAAC;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAyB,+BACzB,QAAuB,2BACvB,0BAAgC;AAOhC,MAAM,kBAAkB,CAAC,MAAM,EAAE;AAE1B,SAAS,qBAAwB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AACF,GAOiD;AAC/C,QAAM,CAAC,OAAO,QAAQ,IAAI,MAAM,SAAS,QAAQ,WAAW,GACtD,WAAW,MAAM,OAAY,KAAK,GAClC,WAAW,aAAa,eAAe,SAAS,QAChD,QAAQ,WAAW,OAAO,OAC1B,iBAAa,2BAAS,YAAY,IAAI,GAEtC,eAAe,aAAa,0CAAkB;AAEpD,QAAM,UAAU,MAAM;AACpB,IAAI,SAAS,WACb,SAAS,UAAU,MACnB,aAAa,MAAM;AACjB,eAAS,IAAI;AAAA,IACf,CAAC;AAAA,EACH,GAAG,CAAC,IAAI,CAAC,GAET,MAAM,UAAU,MAAM;AACpB,IAAI,YACA,UAAU,SAAS,YACrB,SAAS,UAAU,OACnB,WAAW,KAAK;AAAA,EAEpB,GAAG,CAAC,YAAY,OAAO,QAAQ,CAAC;AAEhC,QAAM,aAAS,2BAAS,CAAC,SAAS;AAChC,QAAI;AACJ,UAAI,UAAU;AACZ,cAAM,YAAY,OAAO,QAAS,aAAa,KAAK,SAAS,OAAO,IAAI;AACxE,mBAAW,SAAS;AAAA,MACtB;AACE,qBAAa,MAAM;AACjB,mBAAS,IAAI;AAAA,QACf,CAAC;AAAA,EAEL,CAAC;AAED,SAAO,CAAC,OAAY,MAAM;AAC5B;AAEA,MAAM,OAAO,MAAM;AAAC;",
5
5
  "names": []
6
6
  }
@@ -29,15 +29,12 @@ module.exports = __toCommonJS(useControllableState_exports);
29
29
  var import_use_event = require("@tamagui/use-event"), React = __toESM(require("react")), import_start_transition = require("@tamagui/start-transition"), emptyCallbackFn = function(_) {
30
30
  return _();
31
31
  };
32
- function useControllableState(props) {
33
- var { prop, defaultProp, onChange, strategy = "prop-wins", preventUpdate, transition } = props, [state, setState] = React.useState(prop ?? defaultProp), previous = React.useRef(state), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state, onChangeCb = (0, import_use_event.useEvent)(onChange || idFn), transitionFn = transition ? import_start_transition.startTransition : emptyCallbackFn;
32
+ function useControllableState(param) {
33
+ var { prop, defaultProp, onChange, strategy = "prop-wins", preventUpdate, transition } = param, [state, setState] = React.useState(prop ?? defaultProp), previous = React.useRef(state), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state, onChangeCb = (0, import_use_event.useEvent)(onChange || idFn), transitionFn = transition ? import_start_transition.startTransition : emptyCallbackFn;
34
34
  React.useEffect(function() {
35
- "prop" in props && prop !== state && transitionFn(function() {
36
- setState(function(prev) {
37
- if (prev !== prop)
38
- return previous.current = prop, prop;
39
- });
40
- });
35
+ prop !== void 0 && (previous.current = prop, transitionFn(function() {
36
+ setState(prop);
37
+ }));
41
38
  }, [
42
39
  prop
43
40
  ]), React.useEffect(function() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/code/core/use-controllable-state/src/useControllableState.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;uBAAyB,+BACzB,QAAuB,2BACvB,0BAAgC,sCAO1BA,kBAAkB,SAACC,GAAAA;SAAMA,EAAAA;;AAExB,SAASC,qBAAwBC,OAOvC;AACC,MAAM,EACJC,MACAC,aACAC,UACAC,WAAW,aACXC,eACAC,WAAU,IACRN,OACE,CAACO,OAAOC,QAAAA,IAAYC,MAAMC,SAAST,QAAQC,WAAAA,GAC3CS,WAAWF,MAAMG,OAAYL,KAAAA,GAC7BM,WAAWT,aAAa,eAAeH,SAASa,QAChDC,QAAQF,WAAWZ,OAAOM,OAC1BS,iBAAaC,2BAASd,YAAYe,IAAAA,GAElCC,eAAeb,aAAac,0CAAkBvB;AAEpDY,QAAMY,UAAU,WAAA;AACd,IAAI,UAAUrB,SACRC,SAASM,SACXY,aAAa,WAAA;AAEXX,eAAS,SAACc,MAAAA;AACR,YAAIA,SAASrB;AACXU,0BAASY,UAAUtB,MACZA;MAEX,CAAA;IACF,CAAA;EAGN,GAAG;IAACA;GAAK,GAETQ,MAAMY,UAAU,WAAA;AACd,IAAIR,YACAN,UAAUI,SAASY,YACrBZ,SAASY,UAAUhB,OACnBS,WAAWT,KAAAA;EAEf,GAAG;IAACS;IAAYT;IAAOM;GAAS;AAEhC,MAAMW,aAASP,2BAAS,SAACQ,MAAAA;AACvB,QAAIpB;AACJ,UAAIQ,UAAU;AACZ,YAAMa,YAAY,OAAOD,QAAS,aAAaA,KAAKd,SAASY,OAAO,IAAIE;AACxET,mBAAWU,SAAAA;MACb;AACEP,qBAAa,WAAA;AACXX,mBAASiB,IAAAA;QACX,CAAA;EAEJ,CAAA;AAEA,SAAO;IAACV;IAAYS;;AACtB;AAEA,IAAMN,OAAO,WAAA;AAAO;",
5
- "names": ["emptyCallbackFn", "_", "useControllableState", "props", "prop", "defaultProp", "onChange", "strategy", "preventUpdate", "transition", "state", "setState", "React", "useState", "previous", "useRef", "propWins", "undefined", "value", "onChangeCb", "useEvent", "idFn", "transitionFn", "startTransition", "useEffect", "prev", "current", "setter", "next", "nextValue"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;uBAAyB,+BACzB,QAAuB,2BACvB,0BAAgC,sCAO1BA,kBAAkB,SAACC,GAAAA;SAAMA,EAAAA;;AAExB,SAASC,qBAAwB,OAcvC;MAduC,EACtCC,MACAC,aACAC,UACAC,WAAW,aACXC,eACAC,WAAU,IAN4B,OAehC,CAACC,OAAOC,QAAAA,IAAYC,MAAMC,SAAST,QAAQC,WAAAA,GAC3CS,WAAWF,MAAMG,OAAYL,KAAAA,GAC7BM,WAAWT,aAAa,eAAeH,SAASa,QAChDC,QAAQF,WAAWZ,OAAOM,OAC1BS,iBAAaC,2BAASd,YAAYe,IAAAA,GAElCC,eAAeb,aAAac,0CAAkBtB;AAEpDW,QAAMY,UAAU,WAAA;AACd,IAAIpB,SAASa,WACbH,SAASW,UAAUrB,MACnBkB,aAAa,WAAA;AACXX,eAASP,IAAAA;IACX,CAAA;EACF,GAAG;IAACA;GAAK,GAETQ,MAAMY,UAAU,WAAA;AACd,IAAIR,YACAN,UAAUI,SAASW,YACrBX,SAASW,UAAUf,OACnBS,WAAWT,KAAAA;EAEf,GAAG;IAACS;IAAYT;IAAOM;GAAS;AAEhC,MAAMU,aAASN,2BAAS,SAACO,MAAAA;AACvB,QAAInB;AACJ,UAAIQ,UAAU;AACZ,YAAMY,YAAY,OAAOD,QAAS,aAAaA,KAAKb,SAASW,OAAO,IAAIE;AACxER,mBAAWS,SAAAA;MACb;AACEN,qBAAa,WAAA;AACXX,mBAASgB,IAAAA;QACX,CAAA;EAEJ,CAAA;AAEA,SAAO;IAACT;IAAYQ;;AACtB;AAEA,IAAML,OAAO,WAAA;AAAO;",
5
+ "names": ["emptyCallbackFn", "_", "useControllableState", "prop", "defaultProp", "onChange", "strategy", "preventUpdate", "transition", "state", "setState", "React", "useState", "previous", "useRef", "propWins", "undefined", "value", "onChangeCb", "useEvent", "idFn", "transitionFn", "startTransition", "useEffect", "current", "setter", "next", "nextValue"]
6
6
  }
@@ -2,22 +2,19 @@ import { useEvent } from "@tamagui/use-event";
2
2
  import * as React from "react";
3
3
  import { startTransition } from "@tamagui/start-transition";
4
4
  const emptyCallbackFn = (_) => _();
5
- function useControllableState(props) {
6
- const {
7
- prop,
8
- defaultProp,
9
- onChange,
10
- strategy = "prop-wins",
11
- preventUpdate,
12
- transition
13
- } = props, [state, setState] = React.useState(prop ?? defaultProp), previous = React.useRef(state), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state, onChangeCb = useEvent(onChange || idFn), transitionFn = transition ? startTransition : emptyCallbackFn;
5
+ function useControllableState({
6
+ prop,
7
+ defaultProp,
8
+ onChange,
9
+ strategy = "prop-wins",
10
+ preventUpdate,
11
+ transition
12
+ }) {
13
+ const [state, setState] = React.useState(prop ?? defaultProp), previous = React.useRef(state), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state, onChangeCb = useEvent(onChange || idFn), transitionFn = transition ? startTransition : emptyCallbackFn;
14
14
  React.useEffect(() => {
15
- "prop" in props && prop !== state && transitionFn(() => {
16
- setState((prev) => {
17
- if (prev !== prop)
18
- return previous.current = prop, prop;
19
- });
20
- });
15
+ prop !== void 0 && (previous.current = prop, transitionFn(() => {
16
+ setState(prop);
17
+ }));
21
18
  }, [prop]), React.useEffect(() => {
22
19
  propWins || state !== previous.current && (previous.current = state, onChangeCb(state));
23
20
  }, [onChangeCb, state, propWins]);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useControllableState.ts"],
4
- "mappings": "AAAA,SAAS,gBAAgB;AACzB,YAAY,WAAW;AACvB,SAAS,uBAAuB;AAOhC,MAAM,kBAAkB,CAAC,MAAM,EAAE;AAE1B,SAAS,qBAAwB,OAOS;AAC/C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,EACF,IAAI,OACE,CAAC,OAAO,QAAQ,IAAI,MAAM,SAAS,QAAQ,WAAW,GACtD,WAAW,MAAM,OAAY,KAAK,GAClC,WAAW,aAAa,eAAe,SAAS,QAChD,QAAQ,WAAW,OAAO,OAC1B,aAAa,SAAS,YAAY,IAAI,GAEtC,eAAe,aAAa,kBAAkB;AAEpD,QAAM,UAAU,MAAM;AACpB,IAAI,UAAU,SACR,SAAS,SACX,aAAa,MAAM;AAEjB,eAAS,CAAC,SAAS;AACjB,YAAI,SAAS;AACX,0BAAS,UAAU,MACZ;AAAA,MAEX,CAAC;AAAA,IACH,CAAC;AAAA,EAGP,GAAG,CAAC,IAAI,CAAC,GAET,MAAM,UAAU,MAAM;AACpB,IAAI,YACA,UAAU,SAAS,YACrB,SAAS,UAAU,OACnB,WAAW,KAAK;AAAA,EAEpB,GAAG,CAAC,YAAY,OAAO,QAAQ,CAAC;AAEhC,QAAM,SAAS,SAAS,CAAC,SAAS;AAChC,QAAI;AACJ,UAAI,UAAU;AACZ,cAAM,YAAY,OAAO,QAAS,aAAa,KAAK,SAAS,OAAO,IAAI;AACxE,mBAAW,SAAS;AAAA,MACtB;AACE,qBAAa,MAAM;AACjB,mBAAS,IAAI;AAAA,QACf,CAAC;AAAA,EAEL,CAAC;AAED,SAAO,CAAC,OAAY,MAAM;AAC5B;AAEA,MAAM,OAAO,MAAM;AAAC;",
4
+ "mappings": "AAAA,SAAS,gBAAgB;AACzB,YAAY,WAAW;AACvB,SAAS,uBAAuB;AAOhC,MAAM,kBAAkB,CAAC,MAAM,EAAE;AAE1B,SAAS,qBAAwB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AACF,GAOiD;AAC/C,QAAM,CAAC,OAAO,QAAQ,IAAI,MAAM,SAAS,QAAQ,WAAW,GACtD,WAAW,MAAM,OAAY,KAAK,GAClC,WAAW,aAAa,eAAe,SAAS,QAChD,QAAQ,WAAW,OAAO,OAC1B,aAAa,SAAS,YAAY,IAAI,GAEtC,eAAe,aAAa,kBAAkB;AAEpD,QAAM,UAAU,MAAM;AACpB,IAAI,SAAS,WACb,SAAS,UAAU,MACnB,aAAa,MAAM;AACjB,eAAS,IAAI;AAAA,IACf,CAAC;AAAA,EACH,GAAG,CAAC,IAAI,CAAC,GAET,MAAM,UAAU,MAAM;AACpB,IAAI,YACA,UAAU,SAAS,YACrB,SAAS,UAAU,OACnB,WAAW,KAAK;AAAA,EAEpB,GAAG,CAAC,YAAY,OAAO,QAAQ,CAAC;AAEhC,QAAM,SAAS,SAAS,CAAC,SAAS;AAChC,QAAI;AACJ,UAAI,UAAU;AACZ,cAAM,YAAY,OAAO,QAAS,aAAa,KAAK,SAAS,OAAO,IAAI;AACxE,mBAAW,SAAS;AAAA,MACtB;AACE,qBAAa,MAAM;AACjB,mBAAS,IAAI;AAAA,QACf,CAAC;AAAA,EAEL,CAAC;AAED,SAAO,CAAC,OAAY,MAAM;AAC5B;AAEA,MAAM,OAAO,MAAM;AAAC;",
5
5
  "names": []
6
6
  }
@@ -2,27 +2,24 @@ import { useEvent } from "@tamagui/use-event";
2
2
  import * as React from "react";
3
3
  import { startTransition } from "@tamagui/start-transition";
4
4
  const emptyCallbackFn = _ => _();
5
- function useControllableState(props) {
6
- const {
7
- prop,
8
- defaultProp,
9
- onChange,
10
- strategy = "prop-wins",
11
- preventUpdate,
12
- transition
13
- } = props,
14
- [state, setState] = React.useState(prop ?? defaultProp),
5
+ function useControllableState({
6
+ prop,
7
+ defaultProp,
8
+ onChange,
9
+ strategy = "prop-wins",
10
+ preventUpdate,
11
+ transition
12
+ }) {
13
+ const [state, setState] = React.useState(prop ?? defaultProp),
15
14
  previous = React.useRef(state),
16
15
  propWins = strategy === "prop-wins" && prop !== void 0,
17
16
  value = propWins ? prop : state,
18
17
  onChangeCb = useEvent(onChange || idFn),
19
18
  transitionFn = transition ? startTransition : emptyCallbackFn;
20
19
  React.useEffect(() => {
21
- "prop" in props && prop !== state && transitionFn(() => {
22
- setState(prev => {
23
- if (prev !== prop) return previous.current = prop, prop;
24
- });
25
- });
20
+ prop !== void 0 && (previous.current = prop, transitionFn(() => {
21
+ setState(prop);
22
+ }));
26
23
  }, [prop]), React.useEffect(() => {
27
24
  propWins || state !== previous.current && (previous.current = state, onChangeCb(state));
28
25
  }, [onChangeCb, state, propWins]);
@@ -1 +1 @@
1
- {"version":3,"names":["useEvent","React","startTransition","emptyCallbackFn","_","useControllableState","props","prop","defaultProp","onChange","strategy","preventUpdate","transition","state","setState","useState","previous","useRef","propWins","value","onChangeCb","idFn","transitionFn","useEffect","prev","current","setter","next","nextValue"],"sources":["../../src/useControllableState.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AACzB,YAAYC,KAAA,MAAW;AACvB,SAASC,eAAA,QAAuB;AAOhC,MAAMC,eAAA,GAAmBC,CAAA,IAAMA,CAAA,CAAE;AAE1B,SAASC,qBAAwBC,KAAA,EAOS;EAC/C,MAAM;MACJC,IAAA;MACAC,WAAA;MACAC,QAAA;MACAC,QAAA,GAAW;MACXC,aAAA;MACAC;IACF,IAAIN,KAAA;IACE,CAACO,KAAA,EAAOC,QAAQ,IAAIb,KAAA,CAAMc,QAAA,CAASR,IAAA,IAAQC,WAAW;IACtDQ,QAAA,GAAWf,KAAA,CAAMgB,MAAA,CAAYJ,KAAK;IAClCK,QAAA,GAAWR,QAAA,KAAa,eAAeH,IAAA,KAAS;IAChDY,KAAA,GAAQD,QAAA,GAAWX,IAAA,GAAOM,KAAA;IAC1BO,UAAA,GAAapB,QAAA,CAASS,QAAA,IAAYY,IAAI;IAEtCC,YAAA,GAAeV,UAAA,GAAaV,eAAA,GAAkBC,eAAA;EAEpDF,KAAA,CAAMsB,SAAA,CAAU,MAAM;IAChB,UAAUjB,KAAA,IACRC,IAAA,KAASM,KAAA,IACXS,YAAA,CAAa,MAAM;MAEjBR,QAAA,CAAUU,IAAA,IAAS;QACjB,IAAIA,IAAA,KAASjB,IAAA,EACX,OAAAS,QAAA,CAASS,OAAA,GAAUlB,IAAA,EACZA,IAAA;MAEX,CAAC;IACH,CAAC;EAGP,GAAG,CAACA,IAAI,CAAC,GAETN,KAAA,CAAMsB,SAAA,CAAU,MAAM;IAChBL,QAAA,IACAL,KAAA,KAAUG,QAAA,CAASS,OAAA,KACrBT,QAAA,CAASS,OAAA,GAAUZ,KAAA,EACnBO,UAAA,CAAWP,KAAK;EAEpB,GAAG,CAACO,UAAA,EAAYP,KAAA,EAAOK,QAAQ,CAAC;EAEhC,MAAMQ,MAAA,GAAS1B,QAAA,CAAU2B,IAAA,IAAS;IAChC,IAAI,CAAAhB,aAAA,EACJ,IAAIO,QAAA,EAAU;MACZ,MAAMU,SAAA,GAAY,OAAOD,IAAA,IAAS,aAAaA,IAAA,CAAKX,QAAA,CAASS,OAAO,IAAIE,IAAA;MACxEP,UAAA,CAAWQ,SAAS;IACtB,OACEN,YAAA,CAAa,MAAM;MACjBR,QAAA,CAASa,IAAI;IACf,CAAC;EAEL,CAAC;EAED,OAAO,CAACR,KAAA,EAAYO,MAAM;AAC5B;AAEA,MAAML,IAAA,GAAOA,CAAA,KAAM,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEvent","React","startTransition","emptyCallbackFn","_","useControllableState","prop","defaultProp","onChange","strategy","preventUpdate","transition","state","setState","useState","previous","useRef","propWins","value","onChangeCb","idFn","transitionFn","useEffect","current","setter","next","nextValue"],"sources":["../../src/useControllableState.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AACzB,YAAYC,KAAA,MAAW;AACvB,SAASC,eAAA,QAAuB;AAOhC,MAAMC,eAAA,GAAmBC,CAAA,IAAMA,CAAA,CAAE;AAE1B,SAASC,qBAAwB;EACtCC,IAAA;EACAC,WAAA;EACAC,QAAA;EACAC,QAAA,GAAW;EACXC,aAAA;EACAC;AACF,GAOiD;EAC/C,MAAM,CAACC,KAAA,EAAOC,QAAQ,IAAIZ,KAAA,CAAMa,QAAA,CAASR,IAAA,IAAQC,WAAW;IACtDQ,QAAA,GAAWd,KAAA,CAAMe,MAAA,CAAYJ,KAAK;IAClCK,QAAA,GAAWR,QAAA,KAAa,eAAeH,IAAA,KAAS;IAChDY,KAAA,GAAQD,QAAA,GAAWX,IAAA,GAAOM,KAAA;IAC1BO,UAAA,GAAanB,QAAA,CAASQ,QAAA,IAAYY,IAAI;IAEtCC,YAAA,GAAeV,UAAA,GAAaT,eAAA,GAAkBC,eAAA;EAEpDF,KAAA,CAAMqB,SAAA,CAAU,MAAM;IAChBhB,IAAA,KAAS,WACbS,QAAA,CAASQ,OAAA,GAAUjB,IAAA,EACnBe,YAAA,CAAa,MAAM;MACjBR,QAAA,CAASP,IAAI;IACf,CAAC;EACH,GAAG,CAACA,IAAI,CAAC,GAETL,KAAA,CAAMqB,SAAA,CAAU,MAAM;IAChBL,QAAA,IACAL,KAAA,KAAUG,QAAA,CAASQ,OAAA,KACrBR,QAAA,CAASQ,OAAA,GAAUX,KAAA,EACnBO,UAAA,CAAWP,KAAK;EAEpB,GAAG,CAACO,UAAA,EAAYP,KAAA,EAAOK,QAAQ,CAAC;EAEhC,MAAMO,MAAA,GAASxB,QAAA,CAAUyB,IAAA,IAAS;IAChC,IAAI,CAAAf,aAAA,EACJ,IAAIO,QAAA,EAAU;MACZ,MAAMS,SAAA,GAAY,OAAOD,IAAA,IAAS,aAAaA,IAAA,CAAKV,QAAA,CAASQ,OAAO,IAAIE,IAAA;MACxEN,UAAA,CAAWO,SAAS;IACtB,OACEL,YAAA,CAAa,MAAM;MACjBR,QAAA,CAASY,IAAI;IACf,CAAC;EAEL,CAAC;EAED,OAAO,CAACP,KAAA,EAAYM,MAAM;AAC5B;AAEA,MAAMJ,IAAA,GAAOA,CAAA,KAAM,CAAC","ignoreList":[]}
@@ -4,15 +4,12 @@ import { startTransition } from "@tamagui/start-transition";
4
4
  var emptyCallbackFn = function(_) {
5
5
  return _();
6
6
  };
7
- function useControllableState(props) {
8
- var { prop, defaultProp, onChange, strategy = "prop-wins", preventUpdate, transition } = props, [state, setState] = React.useState(prop ?? defaultProp), previous = React.useRef(state), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state, onChangeCb = useEvent(onChange || idFn), transitionFn = transition ? startTransition : emptyCallbackFn;
7
+ function useControllableState(param) {
8
+ var { prop, defaultProp, onChange, strategy = "prop-wins", preventUpdate, transition } = param, [state, setState] = React.useState(prop ?? defaultProp), previous = React.useRef(state), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state, onChangeCb = useEvent(onChange || idFn), transitionFn = transition ? startTransition : emptyCallbackFn;
9
9
  React.useEffect(function() {
10
- "prop" in props && prop !== state && transitionFn(function() {
11
- setState(function(prev) {
12
- if (prev !== prop)
13
- return previous.current = prop, prop;
14
- });
15
- });
10
+ prop !== void 0 && (previous.current = prop, transitionFn(function() {
11
+ setState(prop);
12
+ }));
16
13
  }, [
17
14
  prop
18
15
  ]), React.useEffect(function() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/code/core/use-controllable-state/src/useControllableState.ts"],
4
- "mappings": "AAAA,SAASA,gBAAgB;AACzB,YAAYC,WAAW;AACvB,SAASC,uBAAuB;AAOhC,IAAMC,kBAAkB,SAACC,GAAAA;SAAMA,EAAAA;;AAExB,SAASC,qBAAwBC,OAOvC;AACC,MAAM,EACJC,MACAC,aACAC,UACAC,WAAW,aACXC,eACAC,WAAU,IACRN,OACE,CAACO,OAAOC,QAAAA,IAAYb,MAAMc,SAASR,QAAQC,WAAAA,GAC3CQ,WAAWf,MAAMgB,OAAYJ,KAAAA,GAC7BK,WAAWR,aAAa,eAAeH,SAASY,QAChDC,QAAQF,WAAWX,OAAOM,OAC1BQ,aAAarB,SAASS,YAAYa,IAAAA,GAElCC,eAAeX,aAAaV,kBAAkBC;AAEpDF,QAAMuB,UAAU,WAAA;AACd,IAAI,UAAUlB,SACRC,SAASM,SACXU,aAAa,WAAA;AAEXT,eAAS,SAACW,MAAAA;AACR,YAAIA,SAASlB;AACXS,0BAASU,UAAUnB,MACZA;MAEX,CAAA;IACF,CAAA;EAGN,GAAG;IAACA;GAAK,GAETN,MAAMuB,UAAU,WAAA;AACd,IAAIN,YACAL,UAAUG,SAASU,YACrBV,SAASU,UAAUb,OACnBQ,WAAWR,KAAAA;EAEf,GAAG;IAACQ;IAAYR;IAAOK;GAAS;AAEhC,MAAMS,SAAS3B,SAAS,SAAC4B,MAAAA;AACvB,QAAIjB;AACJ,UAAIO,UAAU;AACZ,YAAMW,YAAY,OAAOD,QAAS,aAAaA,KAAKZ,SAASU,OAAO,IAAIE;AACxEP,mBAAWQ,SAAAA;MACb;AACEN,qBAAa,WAAA;AACXT,mBAASc,IAAAA;QACX,CAAA;EAEJ,CAAA;AAEA,SAAO;IAACR;IAAYO;;AACtB;AAEA,IAAML,OAAO,WAAA;AAAO;",
5
- "names": ["useEvent", "React", "startTransition", "emptyCallbackFn", "_", "useControllableState", "props", "prop", "defaultProp", "onChange", "strategy", "preventUpdate", "transition", "state", "setState", "useState", "previous", "useRef", "propWins", "undefined", "value", "onChangeCb", "idFn", "transitionFn", "useEffect", "prev", "current", "setter", "next", "nextValue"]
4
+ "mappings": "AAAA,SAASA,gBAAgB;AACzB,YAAYC,WAAW;AACvB,SAASC,uBAAuB;AAOhC,IAAMC,kBAAkB,SAACC,GAAAA;SAAMA,EAAAA;;AAExB,SAASC,qBAAwB,OAcvC;MAduC,EACtCC,MACAC,aACAC,UACAC,WAAW,aACXC,eACAC,WAAU,IAN4B,OAehC,CAACC,OAAOC,QAAAA,IAAYZ,MAAMa,SAASR,QAAQC,WAAAA,GAC3CQ,WAAWd,MAAMe,OAAYJ,KAAAA,GAC7BK,WAAWR,aAAa,eAAeH,SAASY,QAChDC,QAAQF,WAAWX,OAAOM,OAC1BQ,aAAapB,SAASQ,YAAYa,IAAAA,GAElCC,eAAeX,aAAaT,kBAAkBC;AAEpDF,QAAMsB,UAAU,WAAA;AACd,IAAIjB,SAASY,WACbH,SAASS,UAAUlB,MACnBgB,aAAa,WAAA;AACXT,eAASP,IAAAA;IACX,CAAA;EACF,GAAG;IAACA;GAAK,GAETL,MAAMsB,UAAU,WAAA;AACd,IAAIN,YACAL,UAAUG,SAASS,YACrBT,SAASS,UAAUZ,OACnBQ,WAAWR,KAAAA;EAEf,GAAG;IAACQ;IAAYR;IAAOK;GAAS;AAEhC,MAAMQ,SAASzB,SAAS,SAAC0B,MAAAA;AACvB,QAAIhB;AACJ,UAAIO,UAAU;AACZ,YAAMU,YAAY,OAAOD,QAAS,aAAaA,KAAKX,SAASS,OAAO,IAAIE;AACxEN,mBAAWO,SAAAA;MACb;AACEL,qBAAa,WAAA;AACXT,mBAASa,IAAAA;QACX,CAAA;EAEJ,CAAA;AAEA,SAAO;IAACP;IAAYM;;AACtB;AAEA,IAAMJ,OAAO,WAAA;AAAO;",
5
+ "names": ["useEvent", "React", "startTransition", "emptyCallbackFn", "_", "useControllableState", "prop", "defaultProp", "onChange", "strategy", "preventUpdate", "transition", "state", "setState", "useState", "previous", "useRef", "propWins", "undefined", "value", "onChangeCb", "idFn", "transitionFn", "useEffect", "current", "setter", "next", "nextValue"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/use-controllable-state",
3
- "version": "1.124.7",
3
+ "version": "1.124.9",
4
4
  "sideEffects": false,
5
5
  "source": "src/index.ts",
6
6
  "types": "./types/index.d.ts",
@@ -33,11 +33,11 @@
33
33
  }
34
34
  },
35
35
  "dependencies": {
36
- "@tamagui/start-transition": "1.124.7",
37
- "@tamagui/use-event": "1.124.7"
36
+ "@tamagui/start-transition": "1.124.9",
37
+ "@tamagui/use-event": "1.124.9"
38
38
  },
39
39
  "devDependencies": {
40
- "@tamagui/build": "1.124.7",
40
+ "@tamagui/build": "1.124.9",
41
41
  "react": "*"
42
42
  },
43
43
  "publishConfig": {
@@ -9,7 +9,14 @@ type ChangeCb<T> = ((next: T) => void) | React.Dispatch<React.SetStateAction<T>>
9
9
 
10
10
  const emptyCallbackFn = (_) => _()
11
11
 
12
- export function useControllableState<T>(props: {
12
+ export function useControllableState<T>({
13
+ prop,
14
+ defaultProp,
15
+ onChange,
16
+ strategy = 'prop-wins',
17
+ preventUpdate,
18
+ transition,
19
+ }: {
13
20
  prop?: T | undefined
14
21
  defaultProp: T
15
22
  onChange?: ChangeCb<T>
@@ -17,14 +24,6 @@ export function useControllableState<T>(props: {
17
24
  preventUpdate?: boolean
18
25
  transition?: boolean
19
26
  }): [T, React.Dispatch<React.SetStateAction<T>>] {
20
- const {
21
- prop,
22
- defaultProp,
23
- onChange,
24
- strategy = 'prop-wins',
25
- preventUpdate,
26
- transition,
27
- } = props
28
27
  const [state, setState] = React.useState(prop ?? defaultProp)
29
28
  const previous = React.useRef<any>(state)
30
29
  const propWins = strategy === 'prop-wins' && prop !== undefined
@@ -34,19 +33,11 @@ export function useControllableState<T>(props: {
34
33
  const transitionFn = transition ? startTransition : emptyCallbackFn
35
34
 
36
35
  React.useEffect(() => {
37
- if ('prop' in props) {
38
- if (prop !== state) {
39
- transitionFn(() => {
40
- // @ts-expect-error if user passes undefined thats on them
41
- setState((prev) => {
42
- if (prev !== prop) {
43
- previous.current = prop
44
- return prop
45
- }
46
- })
47
- })
48
- }
49
- }
36
+ if (prop === undefined) return
37
+ previous.current = prop
38
+ transitionFn(() => {
39
+ setState(prop)
40
+ })
50
41
  }, [prop])
51
42
 
52
43
  React.useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useControllableState.d.ts","sourceRoot":"","sources":["../src/useControllableState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;AAIhF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EACtC,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,QAAsB,EACtB,aAAa,EACb,UAAU,GACX,EAAE;IACD,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;IACpB,WAAW,EAAE,CAAC,CAAA;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACtB,QAAQ,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAAA;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CA0C/C"}
1
+ {"version":3,"file":"useControllableState.d.ts","sourceRoot":"","sources":["../src/useControllableState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;AAIhF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EACtC,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,QAAsB,EACtB,aAAa,EACb,UAAU,GACX,EAAE;IACD,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;IACpB,WAAW,EAAE,CAAC,CAAA;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACtB,QAAQ,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAAA;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAsC/C"}