@tamagui/web 1.101.1 → 1.101.2

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 (33) hide show
  1. package/dist/cjs/createComponent.js +1 -1
  2. package/dist/cjs/createComponent.js.map +1 -1
  3. package/dist/cjs/createComponent.native.js +1 -1
  4. package/dist/cjs/createComponent.native.js.map +2 -2
  5. package/dist/cjs/hooks/useDidHydrateOnce.js +2 -10
  6. package/dist/cjs/hooks/useDidHydrateOnce.js.map +1 -1
  7. package/dist/cjs/hooks/useDidHydrateOnce.native.js +2 -2
  8. package/dist/cjs/hooks/useDidHydrateOnce.native.js.map +2 -2
  9. package/dist/cjs/hooks/useMedia.js +35 -27
  10. package/dist/cjs/hooks/useMedia.js.map +2 -2
  11. package/dist/cjs/hooks/useMedia.native.js +34 -47
  12. package/dist/cjs/hooks/useMedia.native.js.map +2 -2
  13. package/dist/esm/createComponent.js +1 -1
  14. package/dist/esm/createComponent.js.map +1 -1
  15. package/dist/esm/createComponent.mjs +1 -1
  16. package/dist/esm/createComponent.native.js +1 -1
  17. package/dist/esm/createComponent.native.js.map +2 -2
  18. package/dist/esm/hooks/useDidHydrateOnce.js +3 -11
  19. package/dist/esm/hooks/useDidHydrateOnce.js.map +1 -1
  20. package/dist/esm/hooks/useDidHydrateOnce.mjs +3 -11
  21. package/dist/esm/hooks/useDidHydrateOnce.native.js +1 -2
  22. package/dist/esm/hooks/useDidHydrateOnce.native.js.map +2 -2
  23. package/dist/esm/hooks/useMedia.js +35 -28
  24. package/dist/esm/hooks/useMedia.js.map +2 -2
  25. package/dist/esm/hooks/useMedia.mjs +30 -37
  26. package/dist/esm/hooks/useMedia.native.js +34 -48
  27. package/dist/esm/hooks/useMedia.native.js.map +2 -2
  28. package/package.json +11 -11
  29. package/src/createComponent.tsx +1 -1
  30. package/src/hooks/useDidHydrateOnce.tsx +21 -21
  31. package/src/hooks/useMedia.tsx +69 -56
  32. package/types/hooks/useMedia.d.ts +5 -5
  33. package/types/hooks/useMedia.d.ts.map +1 -1
@@ -1,9 +1,8 @@
1
1
  import { isServer, isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
2
- import { useRef, useState } from "react";
2
+ import { useRef, useState, useSyncExternalStore } from "react";
3
3
  import { getConfig } from "../config";
4
4
  import { matchMedia } from "../helpers/matchMedia";
5
5
  import { pseudoDescriptors } from "../helpers/pseudoDescriptors";
6
- import { useDidHydrateOnce } from "./useDidHydrateOnce";
7
6
  import { getDisableSSR } from "./useDisableSSR";
8
7
  let mediaState = (
9
8
  // development only safeguard
@@ -51,7 +50,7 @@ function unlisten() {
51
50
  let setupVersion = -1;
52
51
  function setupMediaListeners() {
53
52
  if (!(isWeb && isServer) && setupVersion !== mediaVersion) {
54
- setupVersion = mediaVersion, process.env.NODE_ENV === "development" && unlisten();
53
+ setupVersion = mediaVersion, unlisten();
55
54
  for (const key in mediaQueryConfig) {
56
55
  let update = function() {
57
56
  const next = !!getMatch().matches;
@@ -80,35 +79,43 @@ function setMediaShouldUpdate(ref, props) {
80
79
  ...props
81
80
  });
82
81
  }
83
- function getSnapshot({ touched, prev, enabled }) {
84
- return enabled === !1 || !touched || touched.every((key) => mediaState[key] === prev[key]) ? prev : mediaState;
82
+ function subscribe(subscriber) {
83
+ return listeners.add(subscriber), () => {
84
+ listeners.delete(subscriber);
85
+ };
85
86
  }
86
- function useMedia(uidIn, componentContext, debug = !1) {
87
- const uid = uidIn ?? useRef(), hasHydrated = useDidHydrateOnce(), initialState = !isWeb || getDisableSSR(componentContext) || hasHydrated ? mediaState : initState;
87
+ function useMedia(uidIn, componentContext, debug) {
88
+ const uid = uidIn ?? useRef(), initialState = (getDisableSSR(componentContext) || !isWeb ? mediaState : initState) || {};
88
89
  let componentState = States.get(uid);
89
90
  componentState || (componentState = { prev: initialState }, States.set(uid, componentState));
90
- const [state, setState] = useState(initialState);
91
- return useIsomorphicLayoutEffect(() => {
92
- function update() {
93
- setState((prev) => {
94
- const componentState2 = States.get(uid);
95
- process.env.NODE_ENV === "development" && debug && console.info("useMedia() update?", getSnapshot(componentState2) !== prev, {
96
- componentState: componentState2,
97
- touched: [...componentState2.touched || []],
98
- prev: { ...componentState2.prev },
99
- next: getSnapshot(componentState2),
100
- mediaState: { ...mediaState }
101
- });
102
- const next = getSnapshot(componentState2);
103
- return next !== prev ? (componentState2.prev = next, next) : prev;
104
- });
105
- }
106
- return update(), listeners.add(update), () => {
107
- listeners.delete(update);
108
- };
109
- }, [uid]), new Proxy(state, {
91
+ const getSnapshot = () => {
92
+ if (!componentState)
93
+ return initialState;
94
+ const { keys, prev = initialState } = componentState;
95
+ if (componentState && componentState.enabled === !1)
96
+ return prev;
97
+ const testKeys = componentState?.keys ?? ((!componentState || componentState.enabled) && keys) ?? null;
98
+ return !testKeys || testKeys?.every((key) => mediaState[key] === prev[key]) ? prev : (componentState.prev = mediaState, mediaState);
99
+ };
100
+ let state;
101
+ if (process.env.TAMAGUI_SYNC_MEDIA_QUERY)
102
+ state = useSyncExternalStore(
103
+ subscribe,
104
+ getSnapshot,
105
+ () => initialState
106
+ );
107
+ else {
108
+ const [internalState, setState] = useState(initialState);
109
+ state = internalState, useIsomorphicLayoutEffect(() => {
110
+ function update() {
111
+ setState(getSnapshot);
112
+ }
113
+ return update(), subscribe(update);
114
+ }, []);
115
+ }
116
+ return new Proxy(state, {
110
117
  get(_, key) {
111
- return typeof key == "string" && (componentState.touched ||= [], componentState.touched.includes(key) || componentState.touched.push(key), process.env.NODE_ENV === "development" && debug && console.info("useMedia() TOUCH", key)), Reflect.get(state, key);
118
+ return typeof key == "string" && (componentState.keys ||= [], componentState.keys.includes(key) || componentState.keys.push(key), process.env.NODE_ENV === "development" && debug && console.info("useMedia() TOUCH", key)), Reflect.get(state, key);
112
119
  }
113
120
  });
114
121
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useMedia.tsx"],
4
- "mappings": "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",
5
- "names": ["componentState"]
4
+ "mappings": "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",
5
+ "names": []
6
6
  }
@@ -1,9 +1,8 @@
1
1
  import { isServer, isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
2
- import { useRef, useState } from "react";
2
+ import { useRef, useState, useSyncExternalStore } from "react";
3
3
  import { getConfig } from "../config.mjs";
4
4
  import { matchMedia } from "../helpers/matchMedia.mjs";
5
5
  import { pseudoDescriptors } from "../helpers/pseudoDescriptors.mjs";
6
- import { useDidHydrateOnce } from "./useDidHydrateOnce.mjs";
7
6
  import { getDisableSSR } from "./useDisableSSR.mjs";
8
7
  let mediaState =
9
8
  // development only safeguard
@@ -55,7 +54,7 @@ function unlisten() {
55
54
  let setupVersion = -1;
56
55
  function setupMediaListeners() {
57
56
  if (!(isWeb && isServer) && setupVersion !== mediaVersion) {
58
- setupVersion = mediaVersion, process.env.NODE_ENV === "development" && unlisten();
57
+ setupVersion = mediaVersion, unlisten();
59
58
  for (const key in mediaQueryConfig) {
60
59
  let update = function () {
61
60
  const next = !!getMatch().matches;
@@ -89,47 +88,41 @@ function setMediaShouldUpdate(ref, props) {
89
88
  ...props
90
89
  });
91
90
  }
92
- function getSnapshot({
93
- touched,
94
- prev,
95
- enabled
96
- }) {
97
- return enabled === !1 || !touched || touched.every(key => mediaState[key] === prev[key]) ? prev : mediaState;
91
+ function subscribe(subscriber) {
92
+ return listeners.add(subscriber), () => {
93
+ listeners.delete(subscriber);
94
+ };
98
95
  }
99
- function useMedia(uidIn, componentContext, debug = !1) {
96
+ function useMedia(uidIn, componentContext, debug) {
100
97
  const uid = uidIn ?? useRef(),
101
- hasHydrated = useDidHydrateOnce(),
102
- initialState = !isWeb || getDisableSSR(componentContext) || hasHydrated ? mediaState : initState;
98
+ initialState = (getDisableSSR(componentContext) || !isWeb ? mediaState : initState) || {};
103
99
  let componentState = States.get(uid);
104
100
  componentState || (componentState = {
105
101
  prev: initialState
106
102
  }, States.set(uid, componentState));
107
- const [state, setState] = useState(initialState);
108
- return useIsomorphicLayoutEffect(() => {
109
- function update() {
110
- setState(prev => {
111
- const componentState2 = States.get(uid);
112
- process.env.NODE_ENV === "development" && debug && console.info("useMedia() update?", getSnapshot(componentState2) !== prev, {
113
- componentState: componentState2,
114
- touched: [...(componentState2.touched || [])],
115
- prev: {
116
- ...componentState2.prev
117
- },
118
- next: getSnapshot(componentState2),
119
- mediaState: {
120
- ...mediaState
121
- }
122
- });
123
- const next = getSnapshot(componentState2);
124
- return next !== prev ? (componentState2.prev = next, next) : prev;
125
- });
126
- }
127
- return update(), listeners.add(update), () => {
128
- listeners.delete(update);
129
- };
130
- }, [uid]), new Proxy(state, {
103
+ const getSnapshot = () => {
104
+ if (!componentState) return initialState;
105
+ const {
106
+ keys,
107
+ prev = initialState
108
+ } = componentState;
109
+ if (componentState && componentState.enabled === !1) return prev;
110
+ const testKeys = componentState?.keys ?? ((!componentState || componentState.enabled) && keys) ?? null;
111
+ return !testKeys || testKeys?.every(key => mediaState[key] === prev[key]) ? prev : (componentState.prev = mediaState, mediaState);
112
+ };
113
+ let state;
114
+ if (process.env.TAMAGUI_SYNC_MEDIA_QUERY) state = useSyncExternalStore(subscribe, getSnapshot, () => initialState);else {
115
+ const [internalState, setState] = useState(initialState);
116
+ state = internalState, useIsomorphicLayoutEffect(() => {
117
+ function update() {
118
+ setState(getSnapshot);
119
+ }
120
+ return update(), subscribe(update);
121
+ }, []);
122
+ }
123
+ return new Proxy(state, {
131
124
  get(_, key) {
132
- return typeof key == "string" && (componentState.touched ||= [], componentState.touched.includes(key) || componentState.touched.push(key), process.env.NODE_ENV === "development" && debug && console.info("useMedia() TOUCH", key)), Reflect.get(state, key);
125
+ return typeof key == "string" && (componentState.keys ||= [], componentState.keys.includes(key) || componentState.keys.push(key), process.env.NODE_ENV === "development" && debug && console.info("useMedia() TOUCH", key)), Reflect.get(state, key);
133
126
  }
134
127
  });
135
128
  }
@@ -1,9 +1,8 @@
1
1
  import { isServer, isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
2
- import { useRef, useState } from "react";
2
+ import { useRef, useState, useSyncExternalStore } from "react";
3
3
  import { getConfig } from "../config";
4
4
  import { matchMedia } from "../helpers/matchMedia";
5
5
  import { pseudoDescriptors } from "../helpers/pseudoDescriptors";
6
- import { useDidHydrateOnce } from "./useDidHydrateOnce";
7
6
  import { getDisableSSR } from "./useDisableSSR";
8
7
  function _array_like_to_array(arr, len) {
9
8
  (len == null || len > arr.length) && (len = arr.length);
@@ -13,9 +12,6 @@ function _array_like_to_array(arr, len) {
13
12
  function _array_with_holes(arr) {
14
13
  if (Array.isArray(arr)) return arr;
15
14
  }
16
- function _array_without_holes(arr) {
17
- if (Array.isArray(arr)) return _array_like_to_array(arr);
18
- }
19
15
  function _define_property(obj, key, value) {
20
16
  return key in obj ? Object.defineProperty(obj, key, {
21
17
  value,
@@ -24,9 +20,6 @@ function _define_property(obj, key, value) {
24
20
  writable: !0
25
21
  }) : obj[key] = value, obj;
26
22
  }
27
- function _iterable_to_array(iter) {
28
- if (typeof Symbol < "u" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
29
- }
30
23
  function _iterable_to_array_limit(arr, i) {
31
24
  var _i = arr == null ? null : typeof Symbol < "u" && arr[Symbol.iterator] || arr["@@iterator"];
32
25
  if (_i != null) {
@@ -49,9 +42,6 @@ function _iterable_to_array_limit(arr, i) {
49
42
  function _non_iterable_rest() {
50
43
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
51
44
  }
52
- function _non_iterable_spread() {
53
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
54
- }
55
45
  function _object_spread(target) {
56
46
  for (var i = 1; i < arguments.length; i++) {
57
47
  var source = arguments[i] != null ? arguments[i] : {}, ownKeys2 = Object.keys(source);
@@ -81,9 +71,6 @@ function _object_spread_props(target, source) {
81
71
  function _sliced_to_array(arr, i) {
82
72
  return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
83
73
  }
84
- function _to_consumable_array(arr) {
85
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
86
- }
87
74
  function _unsupported_iterable_to_array(o, minLen) {
88
75
  if (o) {
89
76
  if (typeof o == "string") return _array_like_to_array(o, minLen);
@@ -146,7 +133,7 @@ function setupMediaListeners() {
146
133
  }), update();
147
134
  };
148
135
  if (!(isWeb && isServer) && setupVersion !== mediaVersion) {
149
- setupVersion = mediaVersion, process.env.NODE_ENV === "development" && unlisten();
136
+ setupVersion = mediaVersion, unlisten();
150
137
  for (var key in mediaQueryConfig) _loop(key);
151
138
  }
152
139
  }
@@ -162,46 +149,45 @@ var States = /* @__PURE__ */ new WeakMap();
162
149
  function setMediaShouldUpdate(ref, props) {
163
150
  return States.set(ref, _object_spread({}, States.get(ref), props));
164
151
  }
165
- function getSnapshot(param) {
166
- var touched = param.touched, prev = param.prev, enabled = param.enabled;
167
- if (enabled === !1)
168
- return prev;
169
- var hasntUpdated = !touched || touched.every(function(key) {
170
- return mediaState[key] === prev[key];
171
- });
172
- return hasntUpdated ? prev : mediaState;
152
+ function subscribe(subscriber) {
153
+ return listeners.add(subscriber), function() {
154
+ listeners.delete(subscriber);
155
+ };
173
156
  }
174
- function useMedia(uidIn, componentContext) {
175
- var debug = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, uid = uidIn ?? useRef(), hasHydrated = useDidHydrateOnce(), isHydrated = !isWeb || getDisableSSR(componentContext) || hasHydrated, initialState = isHydrated ? mediaState : initState, componentState = States.get(uid);
157
+ function useMedia(uidIn, componentContext, debug) {
158
+ var uid = uidIn ?? useRef(), disableSSR = getDisableSSR(componentContext), initialState = (disableSSR || !isWeb ? mediaState : initState) || {}, componentState = States.get(uid);
176
159
  componentState || (componentState = {
177
160
  prev: initialState
178
161
  }, States.set(uid, componentState));
179
- var _useState = _sliced_to_array(useState(initialState), 2), state = _useState[0], setState = _useState[1];
180
- return useIsomorphicLayoutEffect(function() {
181
- var update = function() {
182
- setState(function(prev) {
183
- var componentState2 = States.get(uid);
184
- process.env.NODE_ENV === "development" && debug && console.info("useMedia() update?", getSnapshot(componentState2) !== prev, {
185
- componentState: componentState2,
186
- touched: _to_consumable_array(componentState2.touched || []),
187
- prev: _object_spread({}, componentState2.prev),
188
- next: getSnapshot(componentState2),
189
- mediaState: _object_spread({}, mediaState)
190
- });
191
- var next = getSnapshot(componentState2);
192
- return next !== prev ? (componentState2.prev = next, next) : prev;
193
- });
194
- };
195
- return update(), listeners.add(update), function() {
196
- listeners.delete(update);
197
- };
198
- }, [
199
- uid
200
- ]), new Proxy(state, {
162
+ var getSnapshot = function() {
163
+ if (!componentState)
164
+ return initialState;
165
+ var keys = componentState.keys, _componentState_prev = componentState.prev, prev = _componentState_prev === void 0 ? initialState : _componentState_prev;
166
+ if (componentState && componentState.enabled === !1)
167
+ return prev;
168
+ var _componentState_keys, _ref, testKeys = (_ref = (_componentState_keys = componentState == null ? void 0 : componentState.keys) !== null && _componentState_keys !== void 0 ? _componentState_keys : (!componentState || componentState.enabled) && keys) !== null && _ref !== void 0 ? _ref : null, hasntUpdated = !testKeys || (testKeys == null ? void 0 : testKeys.every(function(key) {
169
+ return mediaState[key] === prev[key];
170
+ }));
171
+ return hasntUpdated ? prev : (componentState.prev = mediaState, mediaState);
172
+ }, state;
173
+ if (process.env.TAMAGUI_SYNC_MEDIA_QUERY)
174
+ state = useSyncExternalStore(subscribe, getSnapshot, function() {
175
+ return initialState;
176
+ });
177
+ else {
178
+ var _useState = _sliced_to_array(useState(initialState), 2), internalState = _useState[0], setState = _useState[1];
179
+ state = internalState, useIsomorphicLayoutEffect(function() {
180
+ var update = function() {
181
+ setState(getSnapshot);
182
+ };
183
+ return update(), subscribe(update);
184
+ }, []);
185
+ }
186
+ return new Proxy(state, {
201
187
  get: function(_, key) {
202
188
  if (typeof key == "string") {
203
189
  var _componentState;
204
- (_componentState = componentState).touched || (_componentState.touched = []), componentState.touched.includes(key) || componentState.touched.push(key), process.env.NODE_ENV === "development" && debug && console.info("useMedia() TOUCH", key);
190
+ (_componentState = componentState).keys || (_componentState.keys = []), componentState.keys.includes(key) || componentState.keys.push(key), process.env.NODE_ENV === "development" && debug && console.info("useMedia() TOUCH", key);
205
191
  }
206
192
  return Reflect.get(state, key);
207
193
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/Users/n8/tamagui/packages/web/src/hooks/useMedia.tsx"],
4
- "mappings": "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",
5
- "names": ["isServer", "isWeb", "useIsomorphicLayoutEffect", "useRef", "useState", "getConfig", "matchMedia", "pseudoDescriptors", "useDidHydrateOnce", "getDisableSSR", "mediaState", "process", "env", "NODE_ENV", "Proxy", "get", "target", "key", "Error", "Reflect", "mediaQueryConfig", "getMedia", "mediaKeys", "Set", "mediaKeyRegex", "isMediaKey", "has", "match", "initState", "defaultMediaImportance", "Object", "keys", "length", "mediaKeysOrdered", "getMediaKeyImportance", "conf", "settings", "mediaPropOrder", "indexOf", "dispose", "mediaVersion", "configureMedia", "config", "media", "mediaQueryDefaultActive", "add", "assign", "disableSSR", "setupMediaListeners", "updateCurrentState", "unlisten", "forEach", "cb", "clear", "setupVersion", "update", "next", "getMatch", "matches", "str", "mediaObjectToString", "addListener", "removeListener", "listeners", "flushing", "flushVersion", "Promise", "resolve", "then", "States", "WeakMap", "setMediaShouldUpdate", "ref", "props", "set", "getSnapshot", "touched", "prev", "enabled", "hasntUpdated", "every", "useMedia", "uidIn", "componentContext", "debug", "uid", "hasHydrated", "isHydrated", "initialState", "componentState", "state", "setState", "console", "info", "delete", "_", "includes", "push", "getMediaImportanceIfMoreImportant", "mediaKey", "importancesUsed", "isSizeMedia", "importance", "camelToHyphen", "replace", "m", "toLowerCase", "cache", "cachedMediaKeyToQuery", "query", "res", "entries", "map", "feature", "value", "test", "join", "mediaKeyToQuery", "mediaKeyMatch", "dimensions", "mediaQueries", "result", "expectedVal", "isMax", "startsWith", "isWidth", "endsWith", "givenVal"]
4
+ "mappings": "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",
5
+ "names": ["isServer", "isWeb", "useIsomorphicLayoutEffect", "useRef", "useState", "useSyncExternalStore", "getConfig", "matchMedia", "pseudoDescriptors", "getDisableSSR", "mediaState", "process", "env", "NODE_ENV", "Proxy", "get", "target", "key", "Error", "Reflect", "mediaQueryConfig", "getMedia", "mediaKeys", "Set", "mediaKeyRegex", "isMediaKey", "has", "match", "initState", "defaultMediaImportance", "Object", "keys", "length", "mediaKeysOrdered", "getMediaKeyImportance", "conf", "settings", "mediaPropOrder", "indexOf", "dispose", "mediaVersion", "configureMedia", "config", "media", "mediaQueryDefaultActive", "add", "assign", "disableSSR", "setupMediaListeners", "updateCurrentState", "unlisten", "forEach", "cb", "clear", "setupVersion", "update", "next", "getMatch", "matches", "str", "mediaObjectToString", "addListener", "removeListener", "listeners", "flushing", "flushVersion", "Promise", "resolve", "then", "States", "WeakMap", "setMediaShouldUpdate", "ref", "props", "set", "subscribe", "subscriber", "delete", "useMedia", "uidIn", "componentContext", "debug", "uid", "initialState", "componentState", "prev", "getSnapshot", "enabled", "testKeys", "hasntUpdated", "every", "state", "TAMAGUI_SYNC_MEDIA_QUERY", "internalState", "setState", "_", "includes", "push", "console", "info", "getMediaImportanceIfMoreImportant", "mediaKey", "importancesUsed", "isSizeMedia", "importance", "camelToHyphen", "replace", "m", "toLowerCase", "cache", "cachedMediaKeyToQuery", "query", "res", "entries", "map", "feature", "value", "test", "join", "mediaKeyToQuery", "mediaKeyMatch", "dimensions", "mediaQueries", "result", "expectedVal", "isMax", "startsWith", "isWidth", "endsWith", "givenVal"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/web",
3
- "version": "1.101.1",
3
+ "version": "1.101.2",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -27,18 +27,18 @@
27
27
  "reset.css"
28
28
  ],
29
29
  "dependencies": {
30
- "@tamagui/compose-refs": "1.101.1",
31
- "@tamagui/constants": "1.101.1",
32
- "@tamagui/helpers": "1.101.1",
33
- "@tamagui/normalize-css-color": "1.101.1",
34
- "@tamagui/timer": "1.101.1",
35
- "@tamagui/types": "1.101.1",
36
- "@tamagui/use-did-finish-ssr": "1.101.1",
37
- "@tamagui/use-event": "1.101.1",
38
- "@tamagui/use-force-update": "1.101.1"
30
+ "@tamagui/compose-refs": "1.101.2",
31
+ "@tamagui/constants": "1.101.2",
32
+ "@tamagui/helpers": "1.101.2",
33
+ "@tamagui/normalize-css-color": "1.101.2",
34
+ "@tamagui/timer": "1.101.2",
35
+ "@tamagui/types": "1.101.2",
36
+ "@tamagui/use-did-finish-ssr": "1.101.2",
37
+ "@tamagui/use-event": "1.101.2",
38
+ "@tamagui/use-force-update": "1.101.2"
39
39
  },
40
40
  "devDependencies": {
41
- "@tamagui/build": "1.101.1",
41
+ "@tamagui/build": "1.101.2",
42
42
  "@testing-library/react": "^14.0.0",
43
43
  "csstype": "^3.0.10",
44
44
  "react": "^18.2.0",
@@ -778,7 +778,7 @@ export function createComponent<
778
778
 
779
779
  setMediaShouldUpdate(stateRef, {
780
780
  enabled: shouldListenForMedia,
781
- touched: mediaListeningKeys,
781
+ keys: mediaListeningKeys,
782
782
  })
783
783
 
784
784
  const {
@@ -3,21 +3,21 @@ import { useEffect, useSyncExternalStore } from 'react'
3
3
  let didHydrateOnce = false
4
4
 
5
5
  export function useDidHydrateOnceRoot() {
6
- if (process.env.TAMAGUI_REACT_19 && process.env.TAMAGUI_TARGET === 'web') {
7
- if (!process.env.TAMAGUI_DISABLE_HYDRATION_OPTIMIZATION) {
8
- useEffect(() => {
9
- const tm = setInterval(() => {
10
- if (Date.now() - last > 50) {
11
- didHydrateOnce = true
12
- clearInterval(tm)
13
- }
14
- }, 16)
15
- return () => {
16
- clearInterval(tm)
17
- }
18
- }, [])
19
- }
20
- }
6
+ // if (process.env.TAMAGUI_REACT_19 && process.env.TAMAGUI_TARGET === 'web') {
7
+ // if (!process.env.TAMAGUI_DISABLE_HYDRATION_OPTIMIZATION) {
8
+ // useEffect(() => {
9
+ // const tm = setInterval(() => {
10
+ // if (Date.now() - last > 50) {
11
+ // didHydrateOnce = true
12
+ // clearInterval(tm)
13
+ // }
14
+ // }, 16)
15
+ // return () => {
16
+ // clearInterval(tm)
17
+ // }
18
+ // }, [])
19
+ // }
20
+ // }
21
21
  return true
22
22
  }
23
23
 
@@ -27,12 +27,12 @@ export function useDidHydrateOnce() {
27
27
  if (process.env.TAMAGUI_TARGET !== 'web') {
28
28
  return true
29
29
  }
30
- if (process.env.TAMAGUI_REACT_19) {
31
- if (!didHydrateOnce) {
32
- last = Date.now()
33
- }
34
- return didHydrateOnce
35
- }
30
+ // if (process.env.TAMAGUI_REACT_19) {
31
+ // if (!didHydrateOnce) {
32
+ // last = Date.now()
33
+ // }
34
+ // return didHydrateOnce
35
+ // }
36
36
  return useDidHydrateSync()
37
37
  }
38
38