@tamagui/web 2.3.3 → 2.4.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.
Files changed (86) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cjs/createComponent.native.js +1 -1
  3. package/dist/cjs/createComponent.native.js.map +1 -1
  4. package/dist/cjs/helpers/getSplitStyles.cjs +5 -0
  5. package/dist/cjs/helpers/getSplitStyles.native.js +9 -0
  6. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  7. package/dist/cjs/helpers/pointerEvents.native.js +26 -20
  8. package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
  9. package/dist/cjs/hooks/useComponentState.cjs +25 -1
  10. package/dist/cjs/hooks/useComponentState.native.js +25 -1
  11. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  12. package/dist/cjs/hooks/useMedia.cjs +107 -42
  13. package/dist/cjs/hooks/useMedia.native.js +149 -60
  14. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  15. package/dist/cjs/hooks/useTheme.cjs +17 -4
  16. package/dist/cjs/hooks/useTheme.native.js +18 -4
  17. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  18. package/dist/cjs/hooks/useThemeState.cjs +132 -67
  19. package/dist/cjs/hooks/useThemeState.native.js +144 -70
  20. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  21. package/dist/cjs/index.cjs +2 -0
  22. package/dist/cjs/index.native.js +2 -0
  23. package/dist/cjs/index.native.js.map +1 -1
  24. package/dist/cjs/views/Theme.cjs +1 -1
  25. package/dist/cjs/views/Theme.native.js +1 -1
  26. package/dist/cjs/views/Theme.native.js.map +1 -1
  27. package/dist/esm/createComponent.native.js +2 -2
  28. package/dist/esm/createComponent.native.js.map +1 -1
  29. package/dist/esm/helpers/getSplitStyles.mjs +5 -0
  30. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  31. package/dist/esm/helpers/getSplitStyles.native.js +9 -0
  32. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  33. package/dist/esm/helpers/pointerEvents.native.js +26 -20
  34. package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
  35. package/dist/esm/hooks/useComponentState.mjs +26 -2
  36. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  37. package/dist/esm/hooks/useComponentState.native.js +26 -2
  38. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  39. package/dist/esm/hooks/useMedia.mjs +108 -43
  40. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  41. package/dist/esm/hooks/useMedia.native.js +150 -61
  42. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  43. package/dist/esm/hooks/useTheme.mjs +17 -4
  44. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  45. package/dist/esm/hooks/useTheme.native.js +18 -4
  46. package/dist/esm/hooks/useTheme.native.js.map +1 -1
  47. package/dist/esm/hooks/useThemeState.mjs +133 -68
  48. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  49. package/dist/esm/hooks/useThemeState.native.js +145 -71
  50. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  51. package/dist/esm/index.js +3 -3
  52. package/dist/esm/index.js.map +1 -1
  53. package/dist/esm/index.mjs +3 -3
  54. package/dist/esm/index.mjs.map +1 -1
  55. package/dist/esm/index.native.js +3 -3
  56. package/dist/esm/index.native.js.map +1 -1
  57. package/dist/esm/views/Theme.mjs +1 -1
  58. package/dist/esm/views/Theme.mjs.map +1 -1
  59. package/dist/esm/views/Theme.native.js +1 -1
  60. package/dist/esm/views/Theme.native.js.map +1 -1
  61. package/package.json +13 -13
  62. package/src/createComponent.tsx +8 -2
  63. package/src/helpers/getSplitStyles.tsx +33 -0
  64. package/src/helpers/pointerEvents.native.ts +26 -19
  65. package/src/hooks/useComponentState.ts +39 -2
  66. package/src/hooks/useMedia.tsx +147 -42
  67. package/src/hooks/useTheme.tsx +27 -5
  68. package/src/hooks/useThemeState.ts +263 -137
  69. package/src/index.ts +7 -1
  70. package/src/types.tsx +53 -5
  71. package/src/views/Theme.tsx +4 -1
  72. package/types/createComponent.d.ts.map +1 -1
  73. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  74. package/types/helpers/pointerEvents.native.d.ts.map +1 -1
  75. package/types/hooks/useComponentState.d.ts +1 -1
  76. package/types/hooks/useComponentState.d.ts.map +1 -1
  77. package/types/hooks/useMedia.d.ts.map +1 -1
  78. package/types/hooks/useTheme.d.ts +1 -1
  79. package/types/hooks/useTheme.d.ts.map +1 -1
  80. package/types/hooks/useThemeState.d.ts +1 -1
  81. package/types/hooks/useThemeState.d.ts.map +1 -1
  82. package/types/index.d.ts +2 -2
  83. package/types/index.d.ts.map +1 -1
  84. package/types/types.d.ts +3 -1
  85. package/types/types.d.ts.map +1 -1
  86. package/types/views/Theme.d.ts.map +1 -1
@@ -39,13 +39,19 @@ function usePointerEvents(props, viewProps) {
39
39
  onPointerLeave
40
40
  } = props;
41
41
  var hasPointerEvents = onPointerDown || onPointerUp || onPointerMove || onPointerCancel || onPointerEnter || onPointerLeave;
42
- var isInsideRef = (0, import_react.useRef)(false);
43
- var layoutRef = (0, import_react.useRef)({
44
- width: 0,
45
- height: 0
46
- });
47
- var isCapturedRef = (0, import_react.useRef)(false);
42
+ var ref = (0, import_react.useRef)(null);
43
+ if (!ref.current) {
44
+ ref.current = {
45
+ isInside: false,
46
+ layout: {
47
+ width: 0,
48
+ height: 0
49
+ },
50
+ isCaptured: false
51
+ };
52
+ }
48
53
  if (!hasPointerEvents) return;
54
+ var bag = ref.current;
49
55
  var createNormalizedEvent = function (e) {
50
56
  var touch = e.nativeEvent;
51
57
  var _touch_identifier;
@@ -62,10 +68,10 @@ function usePointerEvents(props, viewProps) {
62
68
  nativeEvent: touch,
63
69
  target: {
64
70
  setPointerCapture: function (_pointerId) {
65
- isCapturedRef.current = true;
71
+ bag.isCaptured = true;
66
72
  },
67
73
  releasePointerCapture: function (_pointerId) {
68
- isCapturedRef.current = false;
74
+ bag.isCaptured = false;
69
75
  }
70
76
  }
71
77
  };
@@ -78,7 +84,7 @@ function usePointerEvents(props, viewProps) {
78
84
  }
79
85
  if (onPointerUp) {
80
86
  viewProps.onTouchEnd = (0, import_helpers.composeEventHandlers)(viewProps.onTouchEnd, function (e) {
81
- isCapturedRef.current = false;
87
+ bag.isCaptured = false;
82
88
  onPointerUp(createNormalizedEvent(e));
83
89
  });
84
90
  }
@@ -91,22 +97,22 @@ function usePointerEvents(props, viewProps) {
91
97
  var {
92
98
  width,
93
99
  height
94
- } = layoutRef.current;
100
+ } = bag.layout;
95
101
  var isInBounds = locationX >= 0 && locationX <= width && locationY >= 0 && locationY <= height;
96
- if (isCapturedRef.current || isInBounds) {
102
+ if (bag.isCaptured || isInBounds) {
97
103
  onPointerMove(createNormalizedEvent(e));
98
104
  }
99
105
  });
100
106
  }
101
107
  if (onPointerCancel) {
102
108
  viewProps.onTouchCancel = (0, import_helpers.composeEventHandlers)(viewProps.onTouchCancel, function (e) {
103
- isCapturedRef.current = false;
109
+ bag.isCaptured = false;
104
110
  onPointerCancel(createNormalizedEvent(e));
105
111
  });
106
112
  }
107
113
  if (onPointerEnter || onPointerLeave || onPointerMove) {
108
114
  viewProps.onLayout = (0, import_helpers.composeEventHandlers)(viewProps.onLayout, function (e) {
109
- layoutRef.current = {
115
+ bag.layout = {
110
116
  width: e.nativeEvent.layout.width,
111
117
  height: e.nativeEvent.layout.height
112
118
  };
@@ -121,9 +127,9 @@ function usePointerEvents(props, viewProps) {
121
127
  var {
122
128
  width,
123
129
  height
124
- } = layoutRef.current;
130
+ } = bag.layout;
125
131
  if (locationX >= 0 && locationX <= width && locationY >= 0 && locationY <= height) {
126
- isInsideRef.current = true;
132
+ bag.isInside = true;
127
133
  onPointerEnter(createNormalizedEvent(e));
128
134
  }
129
135
  });
@@ -137,16 +143,16 @@ function usePointerEvents(props, viewProps) {
137
143
  var {
138
144
  width,
139
145
  height
140
- } = layoutRef.current;
146
+ } = bag.layout;
141
147
  var isInside = locationX >= 0 && locationX <= width && locationY >= 0 && locationY <= height;
142
- if (isInsideRef.current && !isInside) {
143
- isInsideRef.current = false;
148
+ if (bag.isInside && !isInside) {
149
+ bag.isInside = false;
144
150
  onPointerLeave(createNormalizedEvent(e));
145
151
  }
146
152
  });
147
153
  viewProps.onTouchEnd = (0, import_helpers.composeEventHandlers)(viewProps.onTouchEnd, function (e) {
148
- if (isInsideRef.current) {
149
- isInsideRef.current = false;
154
+ if (bag.isInside) {
155
+ bag.isInside = false;
150
156
  onPointerLeave(createNormalizedEvent(e));
151
157
  }
152
158
  });
@@ -1 +1 @@
1
- {"version":3,"names":["pointerEvents_native_exports","__export","usePointerEvents","module","exports","__toCommonJS","import_react","require","import_helpers","props","viewProps","onPointerDown","onPointerUp","onPointerMove","onPointerCancel","onPointerEnter","onPointerLeave","hasPointerEvents","isInsideRef","useRef","layoutRef","width","height","isCapturedRef","createNormalizedEvent","e","touch","nativeEvent","_touch_identifier","normalized","clientX","pageX","clientY","pageY","offsetX","locationX","offsetY","locationY","pointerType","pointerId","identifier","target","setPointerCapture","_pointerId","current","releasePointerCapture","onTouchStart","composeEventHandlers","onTouchEnd","onTouchMove","isInBounds","onTouchCancel","onLayout","layout","isInside"],"sources":["../../../src/helpers/pointerEvents.native.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["pointerEvents_native_exports","__export","usePointerEvents","module","exports","__toCommonJS","import_react","require","import_helpers","props","viewProps","onPointerDown","onPointerUp","onPointerMove","onPointerCancel","onPointerEnter","onPointerLeave","hasPointerEvents","ref","useRef","current","isInside","layout","width","height","isCaptured","bag","createNormalizedEvent","e","touch","nativeEvent","_touch_identifier","normalized","clientX","pageX","clientY","pageY","offsetX","locationX","offsetY","locationY","pointerType","pointerId","identifier","target","setPointerCapture","_pointerId","releasePointerCapture","onTouchStart","composeEventHandlers","onTouchEnd","onTouchMove","isInBounds","onTouchCancel","onLayout"],"sources":["../../../src/helpers/pointerEvents.native.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,4BAAA;AAAAC,QAAA,CAAAD,4BAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAL,4BAAA;AAKI,IAAAM,YAAA,GAAuBC,OAAA;AAC3B,IAAAC,cAAA,GAAqCD,OAAA;AAC9B,SAASL,iBAAiBO,KAAA,EAAOC,SAAA,EAAW;EAC/C,IAAI;IAAEC,aAAA;IAAeC,WAAA;IAAaC,aAAA;IAAeC,eAAA;IAAiBC,cAAA;IAAgBC;EAAe,IAAIP,KAAA;EACrG,IAAIQ,gBAAA,GAAmBN,aAAA,IAAiBC,WAAA,IAAeC,aAAA,IAAiBC,eAAA,IAAmBC,cAAA,IAAkBC,cAAA;EAI7G,IAAIE,GAAA,OAAMZ,YAAA,CAAAa,MAAA,EAAO,IAAI;EACrB,IAAI,CAACD,GAAA,CAAIE,OAAA,EAAS;IACdF,GAAA,CAAIE,OAAA,GAAU;MACVC,QAAA,EAAU;MACVC,MAAA,EAAQ;QACJC,KAAA,EAAO;QACPC,MAAA,EAAQ;MACZ;MACAC,UAAA,EAAY;IAChB;EACJ;EACA,IAAI,CAACR,gBAAA,EAAkB;EACvB,IAAIS,GAAA,GAAMR,GAAA,CAAIE,OAAA;EAEd,IAAIO,qBAAA,GAAwB,SAAAA,CAASC,CAAA,EAAG;IACpC,IAAIC,KAAA,GAAQD,CAAA,CAAEE,WAAA;IACd,IAAIC,iBAAA;IACJ,IAAIC,UAAA,GAAa;MACb,GAAGJ,CAAA;MACHK,OAAA,EAASJ,KAAA,CAAMK,KAAA;MACfC,OAAA,EAASN,KAAA,CAAMO,KAAA;MACfF,KAAA,EAAOL,KAAA,CAAMK,KAAA;MACbE,KAAA,EAAOP,KAAA,CAAMO,KAAA;MACbC,OAAA,EAASR,KAAA,CAAMS,SAAA;MACfC,OAAA,EAASV,KAAA,CAAMW,SAAA;MACfC,WAAA,EAAa;MACbC,SAAA,GAAYX,iBAAA,GAAoBF,KAAA,CAAMc,UAAA,MAAgB,QAAQZ,iBAAA,KAAsB,SAASA,iBAAA,GAAoB;MACjHD,WAAA,EAAaD,KAAA;MACbe,MAAA,EAAQ;QACJC,iBAAA,EAAmB,SAAAA,CAASC,UAAA,EAAY;UACpCpB,GAAA,CAAID,UAAA,GAAa;QACrB;QACAsB,qBAAA,EAAuB,SAAAA,CAASD,UAAA,EAAY;UACxCpB,GAAA,CAAID,UAAA,GAAa;QACrB;MACJ;IACJ;IACA,OAAOO,UAAA;EACX;EAEA,IAAIrB,aAAA,EAAe;IACfD,SAAA,CAAUsC,YAAA,OAAexC,cAAA,CAAAyC,oBAAA,EAAqBvC,SAAA,CAAUsC,YAAA,EAAc,UAASpB,CAAA,EAAG;MAC9EjB,aAAA,CAAcgB,qBAAA,CAAsBC,CAAC,CAAC;IAC1C,CAAC;EACL;EAEA,IAAIhB,WAAA,EAAa;IACbF,SAAA,CAAUwC,UAAA,OAAa1C,cAAA,CAAAyC,oBAAA,EAAqBvC,SAAA,CAAUwC,UAAA,EAAY,UAAStB,CAAA,EAAG;MAC1EF,GAAA,CAAID,UAAA,GAAa;MAEjBb,WAAA,CAAYe,qBAAA,CAAsBC,CAAC,CAAC;IACxC,CAAC;EACL;EAEA,IAAIf,aAAA,EAAe;IACfH,SAAA,CAAUyC,WAAA,OAAc3C,cAAA,CAAAyC,oBAAA,EAAqBvC,SAAA,CAAUyC,WAAA,EAAa,UAASvB,CAAA,EAAG;MAC5E,IAAI;QAAEU,SAAA;QAAWE;MAAU,IAAIZ,CAAA,CAAEE,WAAA;MACjC,IAAI;QAAEP,KAAA;QAAOC;MAAO,IAAIE,GAAA,CAAIJ,MAAA;MAC5B,IAAI8B,UAAA,GAAad,SAAA,IAAa,KAAKA,SAAA,IAAaf,KAAA,IAASiB,SAAA,IAAa,KAAKA,SAAA,IAAahB,MAAA;MAExF,IAAIE,GAAA,CAAID,UAAA,IAAc2B,UAAA,EAAY;QAC9BvC,aAAA,CAAcc,qBAAA,CAAsBC,CAAC,CAAC;MAC1C;IACJ,CAAC;EACL;EAEA,IAAId,eAAA,EAAiB;IACjBJ,SAAA,CAAU2C,aAAA,OAAgB7C,cAAA,CAAAyC,oBAAA,EAAqBvC,SAAA,CAAU2C,aAAA,EAAe,UAASzB,CAAA,EAAG;MAChFF,GAAA,CAAID,UAAA,GAAa;MACjBX,eAAA,CAAgBa,qBAAA,CAAsBC,CAAC,CAAC;IAC5C,CAAC;EACL;EAEA,IAAIb,cAAA,IAAkBC,cAAA,IAAkBH,aAAA,EAAe;IAEnDH,SAAA,CAAU4C,QAAA,OAAW9C,cAAA,CAAAyC,oBAAA,EAAqBvC,SAAA,CAAU4C,QAAA,EAAU,UAAS1B,CAAA,EAAG;MACtEF,GAAA,CAAIJ,MAAA,GAAS;QACTC,KAAA,EAAOK,CAAA,CAAEE,WAAA,CAAYR,MAAA,CAAOC,KAAA;QAC5BC,MAAA,EAAQI,CAAA,CAAEE,WAAA,CAAYR,MAAA,CAAOE;MACjC;IACJ,CAAC;EACL;EAEA,IAAIT,cAAA,EAAgB;IAChBL,SAAA,CAAUsC,YAAA,OAAexC,cAAA,CAAAyC,oBAAA,EAAqBvC,SAAA,CAAUsC,YAAA,EAAc,UAASpB,CAAA,EAAG;MAC9E,IAAI;QAAEU,SAAA;QAAWE;MAAU,IAAIZ,CAAA,CAAEE,WAAA;MACjC,IAAI;QAAEP,KAAA;QAAOC;MAAO,IAAIE,GAAA,CAAIJ,MAAA;MAC5B,IAAIgB,SAAA,IAAa,KAAKA,SAAA,IAAaf,KAAA,IAASiB,SAAA,IAAa,KAAKA,SAAA,IAAahB,MAAA,EAAQ;QAC/EE,GAAA,CAAIL,QAAA,GAAW;QACfN,cAAA,CAAeY,qBAAA,CAAsBC,CAAC,CAAC;MAC3C;IACJ,CAAC;EACL;EAEA,IAAIZ,cAAA,EAAgB;IAChBN,SAAA,CAAUyC,WAAA,OAAc3C,cAAA,CAAAyC,oBAAA,EAAqBvC,SAAA,CAAUyC,WAAA,EAAa,UAASvB,CAAA,EAAG;MAC5E,IAAI;QAAEU,SAAA;QAAWE;MAAU,IAAIZ,CAAA,CAAEE,WAAA;MACjC,IAAI;QAAEP,KAAA;QAAOC;MAAO,IAAIE,GAAA,CAAIJ,MAAA;MAC5B,IAAID,QAAA,GAAWiB,SAAA,IAAa,KAAKA,SAAA,IAAaf,KAAA,IAASiB,SAAA,IAAa,KAAKA,SAAA,IAAahB,MAAA;MACtF,IAAIE,GAAA,CAAIL,QAAA,IAAY,CAACA,QAAA,EAAU;QAC3BK,GAAA,CAAIL,QAAA,GAAW;QACfL,cAAA,CAAeW,qBAAA,CAAsBC,CAAC,CAAC;MAC3C;IACJ,CAAC;IACDlB,SAAA,CAAUwC,UAAA,OAAa1C,cAAA,CAAAyC,oBAAA,EAAqBvC,SAAA,CAAUwC,UAAA,EAAY,UAAStB,CAAA,EAAG;MAC1E,IAAIF,GAAA,CAAIL,QAAA,EAAU;QACdK,GAAA,CAAIL,QAAA,GAAW;QACfL,cAAA,CAAeW,qBAAA,CAAsBC,CAAC,CAAC;MAC3C;IACJ,CAAC;EACL;AACJ","ignoreList":[]}
@@ -112,7 +112,31 @@ const useComponentState = (props, animationDriver, staticConfig, config) => {
112
112
  }));
113
113
  }
114
114
  const groupName = props.group;
115
- const setStateShallow = (0, import_is_equal_shallow.useCreateShallowSetState)(setState, props.debug);
115
+ if (!stateRef.current.baseSetStateShallow) {
116
+ const r = stateRef.current;
117
+ r.baseSetStateShallow = stateOrGetState => {
118
+ setState(prev => {
119
+ const next = typeof stateOrGetState === "function" ? stateOrGetState(prev) : stateOrGetState;
120
+ const update = (0, import_is_equal_shallow.mergeIfNotShallowEqual)(prev, next);
121
+ if (process.env.NODE_ENV === "development") {
122
+ const dbg = r.__debug;
123
+ if (dbg && update !== prev) {
124
+ console.groupCollapsed(`setStateShallow CHANGE`, "=>", update);
125
+ console.info(`previously`, prev);
126
+ console.trace();
127
+ console.groupEnd();
128
+ }
129
+ }
130
+ return update;
131
+ });
132
+ };
133
+ }
134
+ if (process.env.NODE_ENV === "development") {
135
+ ;
136
+ stateRef.current.__debug = props.debug;
137
+ }
138
+ const setStateShallow = stateRef.current.baseSetStateShallow;
139
+ if (process.env.NODE_ENV === "development" && globalThis.time) globalThis.time`state-useCreateShallowSetState`;
116
140
  if (presenceState && isAnimated && isHydrated && staticConfig.variants) {
117
141
  if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
118
142
  console.warn(`has presenceState ${JSON.stringify(presenceState)}`);
@@ -124,7 +124,31 @@ var useComponentState = function (props, animationDriver, staticConfig, config)
124
124
  });
125
125
  }
126
126
  var groupName = props.group;
127
- var setStateShallow = (0, import_is_equal_shallow.useCreateShallowSetState)(setState, props.debug);
127
+ if (!stateRef.current.baseSetStateShallow) {
128
+ var r = stateRef.current;
129
+ r.baseSetStateShallow = function (stateOrGetState) {
130
+ setState(function (prev) {
131
+ var next = typeof stateOrGetState === "function" ? stateOrGetState(prev) : stateOrGetState;
132
+ var update = (0, import_is_equal_shallow.mergeIfNotShallowEqual)(prev, next);
133
+ if (process.env.NODE_ENV === "development") {
134
+ var dbg = r.__debug;
135
+ if (dbg && update !== prev) {
136
+ console.groupCollapsed(`setStateShallow CHANGE`, "=>", update);
137
+ console.info(`previously`, prev);
138
+ console.trace();
139
+ console.groupEnd();
140
+ }
141
+ }
142
+ return update;
143
+ });
144
+ };
145
+ }
146
+ if (process.env.NODE_ENV === "development") {
147
+ ;
148
+ stateRef.current.__debug = props.debug;
149
+ }
150
+ var setStateShallow = stateRef.current.baseSetStateShallow;
151
+ if (process.env.NODE_ENV === "development" && globalThis.time) globalThis.time`state-useCreateShallowSetState`;
128
152
  if (presenceState && isAnimated && isHydrated && staticConfig.variants) {
129
153
  if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
130
154
  console.warn(`has presenceState ${JSON.stringify(presenceState)}`);
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useComponentState_exports","__export","useComponentState","module","exports","import_constants","require","import_is_equal_shallow","import_use_did_finish_ssr","import_react","import_config","import_defaultComponentState","import_isObj","import_log","_type_of","obj","Symbol","constructor","props","animationDriver","staticConfig","config","_getPlatformDriver","_animationDriver_usePresence","isHydrated","useDidFinishSSR","needsHydration","useIsClientOnly","useAnimations","isStub","isHOC","stateRef","useRef","current","startedUnhydrated","hasAnimationProp","Boolean","style","hasAnimatedStyleValue","_animationDriver_inputStyle","inputStyle","_animationDriver_outputStyle","outputStyle","curStateRef","hasAnimated","platformPseudo","avoidReRenders","getPlatformDriver","pseudo","willBeAnimatedClient","next","willBeAnimated","isServer","disableClassName","presence","usePresence","call","presenceState","isExiting","isPresent","isEntering","initial","hasEnterStyle","enterStyle","hasAnimationThatNeedsHydrate","isReactNative","canImmediatelyEnter","shouldEnter","initialState","defaultComponentStateShouldEnter","defaultComponentState","defaultComponentStateMounted","disabled","isDisabled","states","useState","state","forceStyle","setState","isAnimated","isWeb","willHydrate","Object","assign","_","groupName","group","setStateShallow","useCreateShallowSetState","debug","variants","process","env","NODE_ENV","console","warn","JSON","stringify","enterVariant","exitVariant","enterExitVariant","custom","isObj","exv","unmounted","noClass","isAnimatedAndHydrated","isClassNameDisabled","acceptsClassName","getSetting","isDisabledManually","log"],"sources":["../../../src/hooks/useComponentState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useComponentState_exports","__export","useComponentState","module","exports","import_constants","require","import_is_equal_shallow","import_use_did_finish_ssr","import_react","import_config","import_defaultComponentState","import_isObj","import_log","_type_of","obj","Symbol","constructor","props","animationDriver","staticConfig","config","_getPlatformDriver","_animationDriver_usePresence","isHydrated","useDidFinishSSR","needsHydration","useIsClientOnly","useAnimations","isStub","isHOC","stateRef","useRef","current","startedUnhydrated","hasAnimationProp","Boolean","style","hasAnimatedStyleValue","_animationDriver_inputStyle","inputStyle","_animationDriver_outputStyle","outputStyle","curStateRef","hasAnimated","platformPseudo","avoidReRenders","getPlatformDriver","pseudo","willBeAnimatedClient","next","willBeAnimated","isServer","disableClassName","presence","usePresence","call","presenceState","isExiting","isPresent","isEntering","initial","hasEnterStyle","enterStyle","hasAnimationThatNeedsHydrate","isReactNative","canImmediatelyEnter","shouldEnter","initialState","defaultComponentStateShouldEnter","defaultComponentState","defaultComponentStateMounted","disabled","isDisabled","states","useState","state","forceStyle","setState","isAnimated","isWeb","willHydrate","Object","assign","_","groupName","group","baseSetStateShallow","r","stateOrGetState","prev","update","mergeIfNotShallowEqual","process","env","NODE_ENV","dbg","__debug","console","groupCollapsed","info","trace","groupEnd","debug","setStateShallow","globalThis","time","variants","warn","JSON","stringify","enterVariant","exitVariant","enterExitVariant","custom","isObj","exv","unmounted","noClass","isAnimatedAndHydrated","isClassNameDisabled","acceptsClassName","getSetting","isDisabledManually","log"],"sources":["../../../src/hooks/useComponentState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -77,6 +77,7 @@ const configureMedia = config => {
77
77
  if (!media) return;
78
78
  mediaVersion++;
79
79
  (0, import_createMediaStyle.resetMediaStyleCache)();
80
+ resetMediaTouchTracker();
80
81
  for (const key in media) {
81
82
  (0, import_mediaState.getMedia)()[key] = mediaQueryDefaultActive?.[key] || false;
82
83
  import_mediaState.mediaKeys.add(`$${key}`);
@@ -127,6 +128,33 @@ function updateMediaListeners() {
127
128
  listeners.forEach(cb => cb((0, import_mediaState.getMedia)()));
128
129
  }
129
130
  const States = /* @__PURE__ */new WeakMap();
131
+ let touchTrackerProto = null;
132
+ const refSlot = /* @__PURE__ */Symbol("mediaRefSlot");
133
+ function buildTouchTrackerProto() {
134
+ const proto = {};
135
+ for (const fullKey of import_mediaState.mediaKeys) {
136
+ const key = fullKey[0] === "$" ? fullKey.slice(1) : fullKey;
137
+ proto[key] = {
138
+ enumerable: true,
139
+ configurable: true,
140
+ get() {
141
+ const slot = this[refSlot];
142
+ if (!disableMediaTouch) {
143
+ slot.keys.add(key);
144
+ }
145
+ return slot.proxyTarget[key];
146
+ }
147
+ };
148
+ }
149
+ return Object.create(null, proto);
150
+ }
151
+ function getTouchTrackerProto() {
152
+ if (!touchTrackerProto) touchTrackerProto = buildTouchTrackerProto();
153
+ return touchTrackerProto;
154
+ }
155
+ function resetMediaTouchTracker() {
156
+ touchTrackerProto = null;
157
+ }
130
158
  function setMediaShouldUpdate(ref, enabled, keys) {
131
159
  const cur = States.get(ref);
132
160
  if (!cur || cur.enabled !== enabled || keys) {
@@ -146,60 +174,97 @@ function subscribe(subscriber) {
146
174
  function useMedia(componentContext, debug) {
147
175
  "use no memo";
148
176
 
149
- const componentState = componentContext ? States.get(componentContext) : null;
150
177
  const internalRef = (0, import_react.useRef)(null);
151
178
  if (!internalRef.current) {
152
- internalRef.current = {
179
+ const initial = (0, import_mediaState.getMedia)();
180
+ const r = {
153
181
  keys: /* @__PURE__ */new Set(),
154
- lastState: (0, import_mediaState.getMedia)()
182
+ lastState: initial,
183
+ renderVersion: 0,
184
+ proxyTarget: initial,
185
+ proxy: void 0,
186
+ getSnapshot: void 0,
187
+ componentContext,
188
+ debug
189
+ };
190
+ const tracker = Object.create(getTouchTrackerProto());
191
+ tracker[refSlot] = {
192
+ proxyTarget: initial,
193
+ keys: r.keys
194
+ };
195
+ r.proxy = tracker;
196
+ r.getSnapshot = () => {
197
+ const curKeys = r.componentContext ? States.get(r.componentContext)?.keys || r.keys : r.keys;
198
+ const {
199
+ lastState,
200
+ pendingState
201
+ } = r;
202
+ if (!curKeys.size) {
203
+ return lastState;
204
+ }
205
+ const ms = (0, import_mediaState.getMedia)();
206
+ for (const key of curKeys) {
207
+ if (ms[key] !== (pendingState || lastState)[key]) {
208
+ if (process.env.NODE_ENV === "development" && r.debug) {
209
+ console.warn(`useMedia() \u270D\uFE0F`, key, lastState[key], "=>", ms[key]);
210
+ }
211
+ if (r.componentContext?.mediaEmit) {
212
+ r.componentContext.mediaEmit(ms);
213
+ r.pendingState = ms;
214
+ return lastState;
215
+ }
216
+ r.lastState = ms;
217
+ return ms;
218
+ }
219
+ }
220
+ return lastState;
155
221
  };
222
+ internalRef.current = r;
223
+ } else {
224
+ internalRef.current.componentContext = componentContext;
225
+ internalRef.current.debug = debug;
156
226
  }
157
- if (internalRef.current.pendingState) {
158
- internalRef.current.lastState = internalRef.current.pendingState;
159
- internalRef.current.pendingState = void 0;
227
+ const ref = internalRef.current;
228
+ ref.renderVersion++;
229
+ if (ref.pendingState) {
230
+ ref.lastState = ref.pendingState;
231
+ ref.pendingState = void 0;
160
232
  }
161
- const {
162
- keys
163
- } = internalRef.current;
164
- if (keys.size) {
165
- keys.clear();
233
+ if (ref.keys.size) {
234
+ ref.keys.clear();
166
235
  }
167
- const state = (0, import_react.useSyncExternalStore)(subscribe, () => {
168
- const curKeys = componentState?.keys || keys;
169
- const {
170
- lastState,
171
- pendingState
172
- } = internalRef.current;
173
- if (!curKeys.size) {
174
- return lastState;
175
- }
176
- const ms = (0, import_mediaState.getMedia)();
177
- for (const key of curKeys) {
178
- if (ms[key] !== (pendingState || lastState)[key]) {
179
- if (process.env.NODE_ENV === "development" && debug) {
180
- console.warn(`useMedia() \u270D\uFE0F`, key, lastState[key], "=>", ms[key]);
181
- }
182
- if (componentContext?.mediaEmit) {
183
- componentContext.mediaEmit(ms);
184
- internalRef.current.pendingState = ms;
185
- return lastState;
186
- }
187
- internalRef.current.lastState = ms;
188
- return ms;
236
+ const [, forceUpdate] = (0, import_react.useReducer)(incReducer, 0);
237
+ const state = import_constants.isServer ? initState : ref.getSnapshot();
238
+ ref.proxyTarget = state;
239
+ ref.proxy[refSlot].proxyTarget = state;
240
+ (0, import_react.useEffect)(() => {
241
+ const renderVersion = ref.renderVersion;
242
+ const shouldSubscribe = !ref.componentContext || !!States.get(ref.componentContext)?.enabled;
243
+ if (shouldSubscribe) {
244
+ if (!ref.unsubscribe) {
245
+ ref.unsubscribe = subscribe(() => {
246
+ const next = ref.getSnapshot();
247
+ if (next !== ref.proxyTarget) {
248
+ ref.proxyTarget = next;
249
+ ref.proxy[refSlot].proxyTarget = next;
250
+ forceUpdate();
251
+ }
252
+ });
189
253
  }
254
+ } else if (ref.unsubscribe) {
255
+ ref.unsubscribe();
256
+ ref.unsubscribe = void 0;
190
257
  }
191
- return lastState;
192
- }, getServerSnapshot);
193
- return new Proxy(state, {
194
- get(_, key) {
195
- if (!disableMediaTouch && typeof key === "string") {
196
- keys.add(key);
258
+ return () => {
259
+ if (ref.renderVersion === renderVersion) {
260
+ ref.unsubscribe?.();
261
+ ref.unsubscribe = void 0;
197
262
  }
198
- return Reflect.get(state, key);
199
- }
263
+ };
200
264
  });
265
+ return ref.proxy;
201
266
  }
202
- const getServerSnapshot = () => initState;
267
+ const incReducer = c => c + 1;
203
268
  let disableMediaTouch = false;
204
269
  function _disableMediaTouch(val) {
205
270
  disableMediaTouch = val;