@tamagui/web 2.3.3 → 2.4.0-1783099846627
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/.turbo/turbo-build.log +1 -1
- package/dist/cjs/createComponent.cjs +4 -3
- package/dist/cjs/createComponent.native.js +7 -6
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/eventHandling.cjs +1 -1
- package/dist/cjs/eventHandling.native.js +12 -36
- package/dist/cjs/eventHandling.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +5 -0
- package/dist/cjs/helpers/getSplitStyles.native.js +9 -0
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/mainThreadPressEvents.native.js +20 -3
- package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/cjs/helpers/pointerEvents.native.js +26 -20
- package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
- package/dist/cjs/hooks/useComponentState.cjs +25 -1
- package/dist/cjs/hooks/useComponentState.native.js +25 -1
- package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
- package/dist/cjs/hooks/useMedia.cjs +107 -42
- package/dist/cjs/hooks/useMedia.native.js +149 -60
- package/dist/cjs/hooks/useMedia.native.js.map +1 -1
- package/dist/cjs/hooks/useTheme.cjs +17 -4
- package/dist/cjs/hooks/useTheme.native.js +18 -4
- package/dist/cjs/hooks/useTheme.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeState.cjs +132 -67
- package/dist/cjs/hooks/useThemeState.native.js +144 -70
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.native.js +2 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/views/Theme.cjs +1 -1
- package/dist/cjs/views/Theme.native.js +1 -1
- package/dist/cjs/views/Theme.native.js.map +1 -1
- package/dist/esm/createComponent.mjs +4 -3
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +10 -8
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/eventHandling.mjs +1 -1
- package/dist/esm/eventHandling.mjs.map +1 -1
- package/dist/esm/eventHandling.native.js +12 -36
- package/dist/esm/eventHandling.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +5 -0
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +9 -0
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.native.js +20 -3
- package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/esm/helpers/pointerEvents.native.js +26 -20
- package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
- package/dist/esm/hooks/useComponentState.mjs +26 -2
- package/dist/esm/hooks/useComponentState.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.native.js +26 -2
- package/dist/esm/hooks/useComponentState.native.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +108 -43
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +150 -61
- package/dist/esm/hooks/useMedia.native.js.map +1 -1
- package/dist/esm/hooks/useTheme.mjs +17 -4
- package/dist/esm/hooks/useTheme.mjs.map +1 -1
- package/dist/esm/hooks/useTheme.native.js +18 -4
- package/dist/esm/hooks/useTheme.native.js.map +1 -1
- package/dist/esm/hooks/useThemeState.mjs +133 -68
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +145 -71
- package/dist/esm/hooks/useThemeState.native.js.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +3 -3
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -3
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/views/Theme.mjs +1 -1
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +1 -1
- package/dist/esm/views/Theme.native.js.map +1 -1
- package/package.json +13 -13
- package/src/createComponent.tsx +18 -7
- package/src/eventHandling.native.ts +28 -40
- package/src/eventHandling.ts +2 -1
- package/src/helpers/getSplitStyles.tsx +33 -0
- package/src/helpers/mainThreadPressEvents.native.ts +25 -3
- package/src/helpers/pointerEvents.native.ts +26 -19
- package/src/hooks/useComponentState.ts +39 -2
- package/src/hooks/useMedia.tsx +147 -42
- package/src/hooks/useTheme.tsx +27 -5
- package/src/hooks/useThemeState.ts +263 -137
- package/src/index.ts +7 -1
- package/src/types.tsx +53 -5
- package/src/views/Theme.tsx +4 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/eventHandling.d.ts +1 -1
- package/types/eventHandling.d.ts.map +1 -1
- package/types/eventHandling.native.d.ts +2 -2
- package/types/eventHandling.native.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/mainThreadPressEvents.native.d.ts.map +1 -1
- package/types/helpers/pointerEvents.native.d.ts.map +1 -1
- package/types/hooks/useComponentState.d.ts +1 -1
- package/types/hooks/useComponentState.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/hooks/useThemeState.d.ts +1 -1
- package/types/hooks/useThemeState.d.ts.map +1 -1
- package/types/index.d.ts +2 -2
- package/types/index.d.ts.map +1 -1
- package/types/types.d.ts +3 -1
- package/types/types.d.ts.map +1 -1
- package/types/views/Theme.d.ts.map +1 -1
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["autoVariables","mutatedAutoVariables","insertStyleRules","getConfig","getSetting","getStyleCompat","getThemes","getToken","getTokens","getTokenValue","loadAnimationDriver","setConfig","setupDev","updateConfig","setNonce","_disableMediaTouch","configureMedia","mediaKeyMatch","useMedia","mediaObjectToString","getMedia","mediaQueryConfig","mediaState","forceUpdateThemes"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,aAAA,EAAeC,oBAAA,QAA4B;AACpD,SAASC,gBAAA,QAAwB;AACjC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,cAAc;AAEd,SACEC,SAAA,EACAC,UAAA,EACAC,cAAA,EACAC,SAAA,EACAC,QAAA,EACAC,SAAA,EACAC,aAAA,EACAC,mBAAA,EACAC,SAAA,EACAC,QAAA,EACAC,YAAA,QAEK;AAEP,SAASC,QAAA,QAAgB;AAEzB,cAAc;AAEd,cAAc;AACd,SACEC,kBAAA,EACAC,cAAA,EACAC,aAAA,EACAC,QAAA,QACK;AACP,SAASC,mBAAA,QAA2B;AACpC,
|
|
1
|
+
{"version":3,"names":["autoVariables","mutatedAutoVariables","insertStyleRules","getConfig","getSetting","getStyleCompat","getThemes","getToken","getTokens","getTokenValue","loadAnimationDriver","setConfig","setupDev","updateConfig","setNonce","_disableMediaTouch","configureMedia","mediaKeyMatch","updateMediaListeners","useMedia","mediaObjectToString","getMedia","mediaQueryConfig","mediaState","setMediaState","forceUpdateThemes"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,aAAA,EAAeC,oBAAA,QAA4B;AACpD,SAASC,gBAAA,QAAwB;AACjC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,cAAc;AAEd,SACEC,SAAA,EACAC,UAAA,EACAC,cAAA,EACAC,SAAA,EACAC,QAAA,EACAC,SAAA,EACAC,aAAA,EACAC,mBAAA,EACAC,SAAA,EACAC,QAAA,EACAC,YAAA,QAEK;AAEP,SAASC,QAAA,QAAgB;AAEzB,cAAc;AAEd,cAAc;AACd,SACEC,kBAAA,EACAC,cAAA,EACAC,aAAA,EACAC,oBAAA,EACAC,QAAA,QACK;AACP,SAASC,mBAAA,QAA2B;AACpC,SACEC,QAAA,EACAC,gBAAA,EACAC,UAAA,EACAC,aAAA,QACK;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,iBAAA,QAAyB;AAElC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc","ignoreList":[]}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -48,9 +48,9 @@ import { getConfig, getSetting, getStyleCompat, getThemes, getToken, getTokens,
|
|
|
48
48
|
import { setNonce } from "./helpers/insertStyleRule.mjs";
|
|
49
49
|
export * from "./constants/constants.mjs";
|
|
50
50
|
export * from "./hooks/useIsTouchDevice.mjs";
|
|
51
|
-
import { _disableMediaTouch, configureMedia, mediaKeyMatch, useMedia } from "./hooks/useMedia.mjs";
|
|
51
|
+
import { _disableMediaTouch, configureMedia, mediaKeyMatch, updateMediaListeners, useMedia } from "./hooks/useMedia.mjs";
|
|
52
52
|
import { mediaObjectToString } from "./helpers/mediaObjectToString.mjs";
|
|
53
|
-
import { getMedia, mediaQueryConfig, mediaState } from "./helpers/mediaState.mjs";
|
|
53
|
+
import { getMedia, mediaQueryConfig, mediaState, setMediaState } from "./helpers/mediaState.mjs";
|
|
54
54
|
export * from "./hooks/useProps.mjs";
|
|
55
55
|
export * from "./hooks/useTheme.mjs";
|
|
56
56
|
export * from "./hooks/useThemeName.mjs";
|
|
@@ -70,5 +70,5 @@ export * from "@tamagui/helpers";
|
|
|
70
70
|
export * from "@tamagui/use-did-finish-ssr";
|
|
71
71
|
export * from "@tamagui/use-event";
|
|
72
72
|
export * from "./setupHooks.mjs";
|
|
73
|
-
export { _disableMediaTouch, autoVariables, configureMedia, forceUpdateThemes, getConfig, getMedia, getSetting, getStyleCompat, getThemes, getToken, getTokenValue, getTokens, insertStyleRules, loadAnimationDriver, mediaKeyMatch, mediaObjectToString, mediaQueryConfig, mediaState, mutatedAutoVariables, setConfig, setNonce, setupDev, updateConfig, useMedia };
|
|
73
|
+
export { _disableMediaTouch, autoVariables, configureMedia, forceUpdateThemes, getConfig, getMedia, getSetting, getStyleCompat, getThemes, getToken, getTokenValue, getTokens, insertStyleRules, loadAnimationDriver, mediaKeyMatch, mediaObjectToString, mediaQueryConfig, mediaState, mutatedAutoVariables, setConfig, setMediaState, setNonce, setupDev, updateConfig, updateMediaListeners, useMedia };
|
|
74
74
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["autoVariables","mutatedAutoVariables","insertStyleRules","getConfig","getSetting","getStyleCompat","getThemes","getToken","getTokens","getTokenValue","loadAnimationDriver","setConfig","setupDev","updateConfig","setNonce","_disableMediaTouch","configureMedia","mediaKeyMatch","useMedia","mediaObjectToString","getMedia","mediaQueryConfig","mediaState","forceUpdateThemes"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,aAAA,EAAeC,oBAAA,QAA4B;AACpD,SAASC,gBAAA,QAAwB;AACjC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,cAAc;AAEd,SACEC,SAAA,EACAC,UAAA,EACAC,cAAA,EACAC,SAAA,EACAC,QAAA,EACAC,SAAA,EACAC,aAAA,EACAC,mBAAA,EACAC,SAAA,EACAC,QAAA,EACAC,YAAA,QAEK;AAEP,SAASC,QAAA,QAAgB;AAEzB,cAAc;AAEd,cAAc;AACd,SACEC,kBAAA,EACAC,cAAA,EACAC,aAAA,EACAC,QAAA,QACK;AACP,SAASC,mBAAA,QAA2B;AACpC,
|
|
1
|
+
{"version":3,"names":["autoVariables","mutatedAutoVariables","insertStyleRules","getConfig","getSetting","getStyleCompat","getThemes","getToken","getTokens","getTokenValue","loadAnimationDriver","setConfig","setupDev","updateConfig","setNonce","_disableMediaTouch","configureMedia","mediaKeyMatch","updateMediaListeners","useMedia","mediaObjectToString","getMedia","mediaQueryConfig","mediaState","setMediaState","forceUpdateThemes"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,aAAA,EAAeC,oBAAA,QAA4B;AACpD,SAASC,gBAAA,QAAwB;AACjC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,cAAc;AAEd,SACEC,SAAA,EACAC,UAAA,EACAC,cAAA,EACAC,SAAA,EACAC,QAAA,EACAC,SAAA,EACAC,aAAA,EACAC,mBAAA,EACAC,SAAA,EACAC,QAAA,EACAC,YAAA,QAEK;AAEP,SAASC,QAAA,QAAgB;AAEzB,cAAc;AAEd,cAAc;AACd,SACEC,kBAAA,EACAC,cAAA,EACAC,aAAA,EACAC,oBAAA,EACAC,QAAA,QACK;AACP,SAASC,mBAAA,QAA2B;AACpC,SACEC,QAAA,EACAC,gBAAA,EACAC,UAAA,EACAC,aAAA,QACK;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,iBAAA,QAAyB;AAElC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc","ignoreList":[]}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -48,9 +48,9 @@ import { getConfig, getSetting, getStyleCompat, getThemes, getToken, getTokens,
|
|
|
48
48
|
import { setNonce } from "./helpers/insertStyleRule.native.js";
|
|
49
49
|
export * from "./constants/constants.native.js";
|
|
50
50
|
export * from "./hooks/useIsTouchDevice.native.js";
|
|
51
|
-
import { _disableMediaTouch, configureMedia, mediaKeyMatch, useMedia } from "./hooks/useMedia.native.js";
|
|
51
|
+
import { _disableMediaTouch, configureMedia, mediaKeyMatch, updateMediaListeners, useMedia } from "./hooks/useMedia.native.js";
|
|
52
52
|
import { mediaObjectToString } from "./helpers/mediaObjectToString.native.js";
|
|
53
|
-
import { getMedia, mediaQueryConfig, mediaState } from "./helpers/mediaState.native.js";
|
|
53
|
+
import { getMedia, mediaQueryConfig, mediaState, setMediaState } from "./helpers/mediaState.native.js";
|
|
54
54
|
export * from "./hooks/useProps.native.js";
|
|
55
55
|
export * from "./hooks/useTheme.native.js";
|
|
56
56
|
export * from "./hooks/useThemeName.native.js";
|
|
@@ -70,5 +70,5 @@ export * from "@tamagui/helpers";
|
|
|
70
70
|
export * from "@tamagui/use-did-finish-ssr";
|
|
71
71
|
export * from "@tamagui/use-event";
|
|
72
72
|
export * from "./setupHooks.native.js";
|
|
73
|
-
export { _disableMediaTouch, autoVariables, configureMedia, forceUpdateThemes, getConfig, getMedia, getSetting, getStyleCompat, getThemes, getToken, getTokenValue, getTokens, insertStyleRules, loadAnimationDriver, mediaKeyMatch, mediaObjectToString, mediaQueryConfig, mediaState, mutatedAutoVariables, setConfig, setNonce, setupDev, updateConfig, useMedia };
|
|
73
|
+
export { _disableMediaTouch, autoVariables, configureMedia, forceUpdateThemes, getConfig, getMedia, getSetting, getStyleCompat, getThemes, getToken, getTokenValue, getTokens, insertStyleRules, loadAnimationDriver, mediaKeyMatch, mediaObjectToString, mediaQueryConfig, mediaState, mutatedAutoVariables, setConfig, setMediaState, setNonce, setupDev, updateConfig, updateMediaListeners, useMedia };
|
|
74
74
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["autoVariables","mutatedAutoVariables","insertStyleRules","getConfig","getSetting","getStyleCompat","getThemes","getToken","getTokens","getTokenValue","loadAnimationDriver","setConfig","setupDev","updateConfig","setNonce","_disableMediaTouch","configureMedia","mediaKeyMatch","useMedia","mediaObjectToString","getMedia","mediaQueryConfig","mediaState","forceUpdateThemes"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,aAAA,EAAeC,oBAAA,QAA4B;AACpD,SAASC,gBAAA,QAAwB;AACjC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,cAAc;AAEd,SAAAC,SAAA,EAAAC,UAAA,EAAAC,cAAA,EAAAC,SAAA,EAAAC,QAAA,EAAAC,SAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,SAAA,EAAAC,QAAA,EAAAC,YAAA;AAAA,SACEC,QAAA;AAAA,cACA;AAAA,cACA;AAAA,SACAC,kBAAA,EAAAC,cAAA,EAAAC,aAAA,EAAAC,QAAA;AAAA,SACAC,mBAAA;AAAA,SACAC,QAAA,EAAAC,gBAAA,EAAAC,UAAA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,SACAC,iBAAA;AAAA,cACA;AAAA,cAEK;AAEP,cAAS,gCAAgB;AAEzB,cAAc;AAEd,cAAc;AACd;AAAA,cACE;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACK;AACP,cAAS
|
|
1
|
+
{"version":3,"names":["autoVariables","mutatedAutoVariables","insertStyleRules","getConfig","getSetting","getStyleCompat","getThemes","getToken","getTokens","getTokenValue","loadAnimationDriver","setConfig","setupDev","updateConfig","setNonce","_disableMediaTouch","configureMedia","mediaKeyMatch","updateMediaListeners","useMedia","mediaObjectToString","getMedia","mediaQueryConfig","mediaState","setMediaState","forceUpdateThemes"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,aAAA,EAAeC,oBAAA,QAA4B;AACpD,SAASC,gBAAA,QAAwB;AACjC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,cAAc;AAEd,SAAAC,SAAA,EAAAC,UAAA,EAAAC,cAAA,EAAAC,SAAA,EAAAC,QAAA,EAAAC,SAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,SAAA,EAAAC,QAAA,EAAAC,YAAA;AAAA,SACEC,QAAA;AAAA,cACA;AAAA,cACA;AAAA,SACAC,kBAAA,EAAAC,cAAA,EAAAC,aAAA,EAAAC,oBAAA,EAAAC,QAAA;AAAA,SACAC,mBAAA;AAAA,SACAC,QAAA,EAAAC,gBAAA,EAAAC,UAAA,EAAAC,aAAA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,SACAC,iBAAA;AAAA,cACA;AAAA,cAEK;AAEP,cAAS,gCAAgB;AAEzB,cAAc;AAEd,cAAc;AACd;AAAA,cACE;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACK;AACP,cAAS,6BAA2B;AACpC;AAAA,cACE;AAAA,SAEAV,kBAAA,EACAf,aAAA,EAAAgB,cACK,EACPS,iBAAc,EACdtB,SAAA,EACAkB,QAAA,EACAjB,UAAS,EAETC,cAAc,EACdC,SAAA,EACAC,QAAA,EACAE,aAAc,EACdD,SAAA,EACAN,gBAAc,EACdQ,mBAAc,EACdO,aAAc,EACdG,mBAAc,EAEdE,gBAAc,EACdC,UAAA,EACAtB,oBAAc,EACdU,SAAA,EACAa,aAAc,EAEdV,QAAA,E","ignoreList":[]}
|
package/dist/esm/views/Theme.mjs
CHANGED
|
@@ -15,7 +15,7 @@ const Theme = forwardRef(function Theme2(props, ref) {
|
|
|
15
15
|
passThrough
|
|
16
16
|
} = props;
|
|
17
17
|
const isRoot = !!props["_isRoot"];
|
|
18
|
-
const [_, themeState] = useThemeWithState(props, isRoot);
|
|
18
|
+
const [_, themeState] = useThemeWithState(props, isRoot, true);
|
|
19
19
|
const disableDirectChildTheme = props["disable-child-theme"];
|
|
20
20
|
let finalChildren = disableDirectChildTheme ? Children.map(props.children, child => passThrough || !isValidElement(child) ? child : cloneElement(child, {
|
|
21
21
|
["data-disable-theme"]: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isWeb","React","Children","cloneElement","forwardRef","isValidElement","useRef","variableToString","useThemeWithState","getThemeState","hasThemeUpdatingProps","ThemeStateContext","ThemeDebug","jsx","Theme","Theme2","props","ref","disable","children","passThrough","isRoot","_","themeState","disableDirectChildTheme","finalChildren","map","child","only","stateRef","hasEverThemed","getThemedChildren","shallow","forceClassName","state","current","shouldRenderChildrenWithTheme","isNew","process","env","NODE_ENV","debug","themeProps","Provider","value","id","isInverse","name","requiresExtraWrapper","parentId","parentState","Error","toArray","console","warn","themeSpanProps","getThemeClassNameAndColor","baseStyle","contain","inertContainedStyle","inertStyle","className","color","style","startsWith","className2","display","empty","themeColor","theme","themeClassName","replace","schemePrefix","themeNameParts","split","themeClasses","length","hierarchyClasses","i","push","slice","join"],"sources":["../../../src/views/Theme.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAEtB,OAAOC,KAAA,IAASC,QAAA,EAAUC,YAAA,EAAcC,UAAA,EAAYC,cAAA,EAAgBC,MAAA,QAAc;AAElF,SAASC,gBAAA,QAAwB;AACjC,SAASC,iBAAA,QAAyB;AAClC,SACEC,aAAA,EACAC,qBAAA,EACAC,iBAAA,QACK;AAEP,SAASC,UAAA,QAAkB;
|
|
1
|
+
{"version":3,"names":["isWeb","React","Children","cloneElement","forwardRef","isValidElement","useRef","variableToString","useThemeWithState","getThemeState","hasThemeUpdatingProps","ThemeStateContext","ThemeDebug","jsx","Theme","Theme2","props","ref","disable","children","passThrough","isRoot","_","themeState","disableDirectChildTheme","finalChildren","map","child","only","stateRef","hasEverThemed","getThemedChildren","shallow","forceClassName","state","current","shouldRenderChildrenWithTheme","isNew","process","env","NODE_ENV","debug","themeProps","Provider","value","id","isInverse","name","requiresExtraWrapper","parentId","parentState","Error","toArray","console","warn","themeSpanProps","getThemeClassNameAndColor","baseStyle","contain","inertContainedStyle","inertStyle","className","color","style","startsWith","className2","display","empty","themeColor","theme","themeClassName","replace","schemePrefix","themeNameParts","split","themeClasses","length","hierarchyClasses","i","push","slice","join"],"sources":["../../../src/views/Theme.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -15,7 +15,7 @@ var Theme = /* @__PURE__ */forwardRef(function Theme2(props, ref) {
|
|
|
15
15
|
passThrough
|
|
16
16
|
} = props;
|
|
17
17
|
var isRoot = !!props["_isRoot"];
|
|
18
|
-
var [_, themeState] = useThemeWithState(props, isRoot);
|
|
18
|
+
var [_, themeState] = useThemeWithState(props, isRoot, true);
|
|
19
19
|
var disableDirectChildTheme = props["disable-child-theme"];
|
|
20
20
|
var finalChildren = disableDirectChildTheme ? Children.map(props.children, function (child) {
|
|
21
21
|
return passThrough || ! /* @__PURE__ */isValidElement(child) ? child : /* @__PURE__ */cloneElement(child, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","isWeb","React","Children","cloneElement","forwardRef","isValidElement","useRef","variableToString","useThemeWithState","getThemeState","hasThemeUpdatingProps","ThemeStateContext","ThemeDebug","Theme","Theme2","props","ref","disable","children","passThrough","isRoot","_","themeState","disableDirectChildTheme","finalChildren","map","child","only","e","stateRef","hasEverThemed","getThemedChildren","arguments","length","shallow","forceClassName","state","current","shouldRenderChildrenWithTheme","isNew","process","env","NODE_ENV","debug","themeProps","Provider","value","id","isInverse","name","requiresExtraWrapper","parentId","parentState","Error","toArray","console","warn","themeSpanProps","getThemeClassNameAndColor","baseStyle","contain","inertContainedStyle","inertStyle","className","color","style","className1","startsWith","display","empty","themeColor","theme","themeClassName","replace","schemePrefix","themeNameParts","split","themeClasses","hierarchyClasses","i","push","slice","join"],"sources":["../../../src/views/Theme.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,QAAa;AAEtB,SAAOC,KAAA,QAAS,oBAAwB;AAExC,OAAAC,KAAS,IAAAC,QAAA,EAAAC,YAAwB,EAAAC,UAAA,EAAAC,cAAA,EAAAC,MAAA;AACjC,SAASC,gBAAA,qCAAyB;AAClC,SAAAC,iBAAA;AAAA,SACEC,aAAA,EAAAC,qBAAA,EAAAC,iBAAA;AAAA,SACAC,UAAA;AAAA,IACAC,KAAA,kBAAAT,UAAA,UAAAU,OAAAC,KAAA,EAAAC,GAAA;EAAA,aACK;;EAEP,IAAAD,KAAS,CAAAE,OAAA;
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","isWeb","React","Children","cloneElement","forwardRef","isValidElement","useRef","variableToString","useThemeWithState","getThemeState","hasThemeUpdatingProps","ThemeStateContext","ThemeDebug","Theme","Theme2","props","ref","disable","children","passThrough","isRoot","_","themeState","disableDirectChildTheme","finalChildren","map","child","only","e","stateRef","hasEverThemed","getThemedChildren","arguments","length","shallow","forceClassName","state","current","shouldRenderChildrenWithTheme","isNew","process","env","NODE_ENV","debug","themeProps","Provider","value","id","isInverse","name","requiresExtraWrapper","parentId","parentState","Error","toArray","console","warn","themeSpanProps","getThemeClassNameAndColor","baseStyle","contain","inertContainedStyle","inertStyle","className","color","style","className1","startsWith","display","empty","themeColor","theme","themeClassName","replace","schemePrefix","themeNameParts","split","themeClasses","hierarchyClasses","i","push","slice","join"],"sources":["../../../src/views/Theme.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0-1783099846627",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Nate Wienert"
|
|
@@ -51,20 +51,20 @@
|
|
|
51
51
|
"test:web": "vitest --typecheck --run"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@tamagui/compose-refs": "2.
|
|
55
|
-
"@tamagui/constants": "2.
|
|
56
|
-
"@tamagui/helpers": "2.
|
|
57
|
-
"@tamagui/is-equal-shallow": "2.
|
|
58
|
-
"@tamagui/native": "2.
|
|
59
|
-
"@tamagui/normalize-css-color": "2.
|
|
60
|
-
"@tamagui/timer": "2.
|
|
61
|
-
"@tamagui/types": "2.
|
|
62
|
-
"@tamagui/use-did-finish-ssr": "2.
|
|
63
|
-
"@tamagui/use-event": "2.
|
|
64
|
-
"@tamagui/use-force-update": "2.
|
|
54
|
+
"@tamagui/compose-refs": "2.4.0-1783099846627",
|
|
55
|
+
"@tamagui/constants": "2.4.0-1783099846627",
|
|
56
|
+
"@tamagui/helpers": "2.4.0-1783099846627",
|
|
57
|
+
"@tamagui/is-equal-shallow": "2.4.0-1783099846627",
|
|
58
|
+
"@tamagui/native": "2.4.0-1783099846627",
|
|
59
|
+
"@tamagui/normalize-css-color": "2.4.0-1783099846627",
|
|
60
|
+
"@tamagui/timer": "2.4.0-1783099846627",
|
|
61
|
+
"@tamagui/types": "2.4.0-1783099846627",
|
|
62
|
+
"@tamagui/use-did-finish-ssr": "2.4.0-1783099846627",
|
|
63
|
+
"@tamagui/use-event": "2.4.0-1783099846627",
|
|
64
|
+
"@tamagui/use-force-update": "2.4.0-1783099846627"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"@tamagui/build": "2.
|
|
67
|
+
"@tamagui/build": "2.4.0-1783099846627",
|
|
68
68
|
"@testing-library/react": "^16.1.0",
|
|
69
69
|
"csstype": "^3.0.10",
|
|
70
70
|
"react": ">=19",
|
package/src/createComponent.tsx
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { composeRefs } from '@tamagui/compose-refs'
|
|
2
2
|
import {
|
|
3
3
|
getPlatformDriver,
|
|
4
|
+
isAndroid,
|
|
4
5
|
isClient,
|
|
5
6
|
isNativeDesktop,
|
|
6
7
|
isServer,
|
|
@@ -279,10 +280,14 @@ export function createComponent<
|
|
|
279
280
|
|
|
280
281
|
// test only
|
|
281
282
|
if (process.env.NODE_ENV === 'test') {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
283
|
+
const testRenderCount = propsIn['data-test-renders']
|
|
284
|
+
if (
|
|
285
|
+
testRenderCount &&
|
|
286
|
+
typeof testRenderCount === 'object' &&
|
|
287
|
+
!Object.isFrozen(testRenderCount)
|
|
288
|
+
) {
|
|
289
|
+
testRenderCount.current = testRenderCount.current ?? 0
|
|
290
|
+
testRenderCount.current += 1
|
|
286
291
|
}
|
|
287
292
|
}
|
|
288
293
|
|
|
@@ -302,9 +307,14 @@ export function createComponent<
|
|
|
302
307
|
// On Android, skip RNGH GestureDetector inside native menus (zeego) and use
|
|
303
308
|
// direct press events instead — GestureDetector consumes touches before they
|
|
304
309
|
// reach MenuView's native handler, preventing the menu from opening
|
|
310
|
+
// NativeMenuContext only affects Android RNGH press arbitration inside zeego
|
|
311
|
+
// menus (see eventHandling.native.ts:182). isAndroid is constant for the whole
|
|
312
|
+
// app run, so on iOS we skip this context read for every component — the branch
|
|
313
|
+
// never flips at runtime, so hook order stays stable (rules-of-hooks safe).
|
|
305
314
|
const isInsideNativeMenu =
|
|
306
|
-
process.env.TAMAGUI_TARGET === 'native'
|
|
307
|
-
?
|
|
315
|
+
process.env.TAMAGUI_TARGET === 'native' && isAndroid
|
|
316
|
+
? // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
317
|
+
React.useContext(NativeMenuContext)
|
|
308
318
|
: false
|
|
309
319
|
|
|
310
320
|
if (
|
|
@@ -1623,7 +1633,8 @@ export function createComponent<
|
|
|
1623
1633
|
pressGesture,
|
|
1624
1634
|
stateRef,
|
|
1625
1635
|
isHOC,
|
|
1626
|
-
isCompositeComponent
|
|
1636
|
+
isCompositeComponent,
|
|
1637
|
+
hasRealPressEvents
|
|
1627
1638
|
)
|
|
1628
1639
|
}
|
|
1629
1640
|
|
|
@@ -153,15 +153,20 @@ export function useEvents(
|
|
|
153
153
|
const callbacksRef = useRef<any>(isUsingRNGH ? {} : null)
|
|
154
154
|
const gestureRef = useRef<any>(null)
|
|
155
155
|
|
|
156
|
+
// Real press handlers use the responder system for delivery even when RNGH
|
|
157
|
+
// is configured. RNGH Tap begin/end ordering is not stable enough for
|
|
158
|
+
// nested Tamagui press arbitration, and Fabric can mount a stale Tap that
|
|
159
|
+
// claims responder but never finalizes. The responder path is the source of
|
|
160
|
+
// truth RN already uses for innermost press ownership.
|
|
161
|
+
//
|
|
156
162
|
// Android pressStyle-only fallback: wire synthesized press handlers to the
|
|
157
163
|
// responder system on viewProps instead of an RNGH Manual observer (which
|
|
158
164
|
// freezes Android — see top-of-file isAndroid comment). Hook is called
|
|
159
165
|
// unconditionally here for stable hooks order; useMainThreadPressEvents
|
|
160
166
|
// no-ops when enabled is false.
|
|
161
167
|
const useResponderFallback =
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
Boolean(hasPressEvents)
|
|
168
|
+
!isInsideNativeMenu &&
|
|
169
|
+
Boolean(hasRealPressEvents || (getIsAndroid() && hasPressEvents))
|
|
165
170
|
useMainThreadPressEvents(events, viewProps, useResponderFallback, debugName)
|
|
166
171
|
|
|
167
172
|
if (everEnabled) {
|
|
@@ -175,6 +180,14 @@ export function useEvents(
|
|
|
175
180
|
}
|
|
176
181
|
: {}
|
|
177
182
|
|
|
183
|
+
if (hasRealPressEvents && !isInsideNativeMenu) {
|
|
184
|
+
// Real handlers are delivered by useMainThreadPressEvents above. Clear
|
|
185
|
+
// any cached pressStyle observer from an earlier render so it cannot
|
|
186
|
+
// double-fire after onPress appears dynamically.
|
|
187
|
+
gestureRef.current = null
|
|
188
|
+
return null
|
|
189
|
+
}
|
|
190
|
+
|
|
178
191
|
// only create gesture once, callbacks are read from ref
|
|
179
192
|
if (!gestureRef.current) {
|
|
180
193
|
const { Gesture } = gh.state
|
|
@@ -197,19 +210,6 @@ export function useEvents(
|
|
|
197
210
|
callbacksRef.current.onPressOut?.({})
|
|
198
211
|
})
|
|
199
212
|
gestureRef.current = manual
|
|
200
|
-
} else if (hasRealPressEvents || stateRef.current.hasRealPressEvents) {
|
|
201
|
-
// real user handler: full PressGesture, participates in the press
|
|
202
|
-
// ownership token system so nested real-handler children win
|
|
203
|
-
// arbitration (NestedPressExclusive semantics).
|
|
204
|
-
gestureRef.current = gh.createPressGesture({
|
|
205
|
-
debugName,
|
|
206
|
-
onPressIn: (e: any) => callbacksRef.current.onPressIn?.(e),
|
|
207
|
-
onPressOut: (e: any) => callbacksRef.current.onPressOut?.(e),
|
|
208
|
-
onPress: (e: any) => callbacksRef.current.onPress?.(e),
|
|
209
|
-
onLongPress: (e: any) => callbacksRef.current.onLongPress?.(e),
|
|
210
|
-
delayLongPress: events?.delayLongPress,
|
|
211
|
-
hitSlop: viewProps.hitSlop,
|
|
212
|
-
})
|
|
213
213
|
} else if (!getIsAndroid()) {
|
|
214
214
|
// pressStyle-only (events.onPress was synthesized to drive pressStyle
|
|
215
215
|
// visuals, no user handler): use Manual + manualActivation. Touch
|
|
@@ -249,9 +249,10 @@ export function useEvents(
|
|
|
249
249
|
export function wrapWithGestureDetector(
|
|
250
250
|
content: any,
|
|
251
251
|
gesture: any,
|
|
252
|
-
|
|
252
|
+
_stateRef: { current: TamaguiComponentStateRef },
|
|
253
253
|
isHOC?: boolean,
|
|
254
|
-
isCompositeComponent?: boolean
|
|
254
|
+
isCompositeComponent?: boolean,
|
|
255
|
+
hasRealPressEvents?: boolean
|
|
255
256
|
) {
|
|
256
257
|
// Skip wrapping for HOC and composite components - they pass press events
|
|
257
258
|
// to the inner component via props instead of using GestureDetector
|
|
@@ -260,25 +261,12 @@ export function wrapWithGestureDetector(
|
|
|
260
261
|
}
|
|
261
262
|
|
|
262
263
|
const gh = getGestureHandler()
|
|
263
|
-
const { GestureDetector
|
|
264
|
-
|
|
265
|
-
// wrap whenever any press gesture was attached (real handler OR
|
|
266
|
-
// synthesized pressStyle observer). only the real-handler path claims
|
|
267
|
-
// the responder on Paper — observers must not preempt parents.
|
|
268
|
-
// On Android we skip the observer gesture entirely (see top-of-file
|
|
269
|
-
// isAndroid comment), so the wrap is real-handlers-only there.
|
|
270
|
-
const shouldWrap = getIsAndroid()
|
|
271
|
-
? stateRef.current.hasRealPressEvents
|
|
272
|
-
: stateRef.current.hasHadEvents
|
|
273
|
-
|
|
274
|
-
if (!GestureDetector || !shouldWrap) {
|
|
275
|
-
return content
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
// use actual gesture or no-op Manual gesture to maintain tree structure
|
|
279
|
-
const gestureToUse = gesture || Gesture?.Manual()
|
|
264
|
+
const { GestureDetector } = gh.state
|
|
280
265
|
|
|
281
|
-
|
|
266
|
+
// Only wrap when useEvents actually produced an RNGH gesture. Real press
|
|
267
|
+
// handlers are responder-delivered; wrapping them in a no-op GestureDetector
|
|
268
|
+
// recreates the same stale Tap/dead-zone failure mode this path avoids.
|
|
269
|
+
if (!GestureDetector || !gesture) {
|
|
282
270
|
return content
|
|
283
271
|
}
|
|
284
272
|
|
|
@@ -288,8 +276,8 @@ export function wrapWithGestureDetector(
|
|
|
288
276
|
// where the View carries the merged navigate handler and the inner Button
|
|
289
277
|
// has only pressStyle). The Manual gesture observes touches on the UI thread
|
|
290
278
|
// for fast pressStyle visuals without participating in arbitration.
|
|
291
|
-
if (!
|
|
292
|
-
return React.createElement(GestureDetector, { gesture
|
|
279
|
+
if (!hasRealPressEvents) {
|
|
280
|
+
return React.createElement(GestureDetector, { gesture }, content)
|
|
293
281
|
}
|
|
294
282
|
|
|
295
283
|
if (isFabric) {
|
|
@@ -310,7 +298,7 @@ export function wrapWithGestureDetector(
|
|
|
310
298
|
const claimed = React.cloneElement(content, {
|
|
311
299
|
onStartShouldSetResponder: responderClaim,
|
|
312
300
|
})
|
|
313
|
-
return React.createElement(GestureDetector, { gesture
|
|
301
|
+
return React.createElement(GestureDetector, { gesture }, claimed)
|
|
314
302
|
}
|
|
315
303
|
|
|
316
304
|
// Paper: keep the hoisted display:contents wrapper. claiming on the gesture
|
|
@@ -325,6 +313,6 @@ export function wrapWithGestureDetector(
|
|
|
325
313
|
style: responderWrapperStyle,
|
|
326
314
|
onStartShouldSetResponder: responderClaim,
|
|
327
315
|
},
|
|
328
|
-
React.createElement(GestureDetector, { gesture
|
|
316
|
+
React.createElement(GestureDetector, { gesture }, content)
|
|
329
317
|
)
|
|
330
318
|
}
|
package/src/eventHandling.ts
CHANGED
|
@@ -153,6 +153,15 @@ function isValidStyleKey(
|
|
|
153
153
|
return key in validStyles ? true : accept && key in accept
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
+
function shouldSkipNativeHoverProp(key: string, isMedia: false | boolean | string) {
|
|
157
|
+
if (process.env.TAMAGUI_TARGET !== 'native') return false
|
|
158
|
+
if (key === 'hoverStyle') return true
|
|
159
|
+
if (isMedia === 'group') {
|
|
160
|
+
return getGroupPropParts(key.slice(1)).pseudo === 'hover'
|
|
161
|
+
}
|
|
162
|
+
return false
|
|
163
|
+
}
|
|
164
|
+
|
|
156
165
|
export const getSplitStyles: StyleSplitter = (
|
|
157
166
|
props,
|
|
158
167
|
staticConfig,
|
|
@@ -305,6 +314,18 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
305
314
|
continue
|
|
306
315
|
}
|
|
307
316
|
|
|
317
|
+
// native: data-* attributes never become native props (they're stripped
|
|
318
|
+
// further down anyway), and the compiler-emitted data-disable-theme/-media
|
|
319
|
+
// flags are already consumed in createComponent. skip them before any per-prop
|
|
320
|
+
// work so they don't pay the isValidStyleKey + handling cost on the hot path.
|
|
321
|
+
if (
|
|
322
|
+
process.env.TAMAGUI_TARGET === 'native' &&
|
|
323
|
+
keyInit[0] === 'd' &&
|
|
324
|
+
keyInit.startsWith('data-')
|
|
325
|
+
) {
|
|
326
|
+
continue
|
|
327
|
+
}
|
|
328
|
+
|
|
308
329
|
if (
|
|
309
330
|
process.env.NODE_ENV === 'development' &&
|
|
310
331
|
(debug === 'profile' || (globalThis as any).time)
|
|
@@ -481,6 +502,10 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
481
502
|
|
|
482
503
|
const isStyleProp = isValidStyleKeyInit || isMediaOrPseudo || (isVariant && !noExpand)
|
|
483
504
|
|
|
505
|
+
if (shouldSkipNativeHoverProp(keyInit, isMedia)) {
|
|
506
|
+
continue
|
|
507
|
+
}
|
|
508
|
+
|
|
484
509
|
if (isStyleProp && (asChild === 'except-style' || asChild === 'except-style-web')) {
|
|
485
510
|
continue
|
|
486
511
|
}
|
|
@@ -625,6 +650,10 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
625
650
|
key = normalizeGroupKey(key, groupContext)
|
|
626
651
|
}
|
|
627
652
|
|
|
653
|
+
if (shouldSkipNativeHoverProp(key, isMedia)) {
|
|
654
|
+
return
|
|
655
|
+
}
|
|
656
|
+
|
|
628
657
|
if (
|
|
629
658
|
inlineProps?.has(key) ||
|
|
630
659
|
(process.env.IS_STATIC === 'is_static' && inlineWhenUnflattened?.has(key))
|
|
@@ -948,6 +977,10 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
948
977
|
const groupPseudoKey = groupInfo.pseudo
|
|
949
978
|
const groupMediaKey = groupInfo.media
|
|
950
979
|
|
|
980
|
+
if (process.env.TAMAGUI_TARGET === 'native' && groupPseudoKey === 'hover') {
|
|
981
|
+
return
|
|
982
|
+
}
|
|
983
|
+
|
|
951
984
|
if (!groupState) {
|
|
952
985
|
if (process.env.NODE_ENV === 'development' && debug) {
|
|
953
986
|
log(`No parent with group prop, skipping styles: ${groupName}`)
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* long press, cancellation, and min press duration.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import { unstable_hasExternalPressOwnership } from '@tamagui/native'
|
|
9
10
|
import { useRef } from 'react'
|
|
10
11
|
|
|
11
12
|
type PressState =
|
|
@@ -20,6 +21,7 @@ interface PressRef {
|
|
|
20
21
|
pressOutTimer: ReturnType<typeof setTimeout> | null
|
|
21
22
|
longPressTimer: ReturnType<typeof setTimeout> | null
|
|
22
23
|
activateTime: number
|
|
24
|
+
blockedByExternalOwnership: boolean
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
const DEFAULT_LONG_PRESS_DELAY = 500
|
|
@@ -39,6 +41,7 @@ export function useMainThreadPressEvents(
|
|
|
39
41
|
pressOutTimer: null,
|
|
40
42
|
longPressTimer: null,
|
|
41
43
|
activateTime: 0,
|
|
44
|
+
blockedByExternalOwnership: false,
|
|
42
45
|
}
|
|
43
46
|
}
|
|
44
47
|
|
|
@@ -92,12 +95,22 @@ export function useMainThreadPressEvents(
|
|
|
92
95
|
const userTerminationRequest = viewProps.onResponderTerminationRequest
|
|
93
96
|
const userMove = viewProps.onResponderMove
|
|
94
97
|
|
|
95
|
-
viewProps.onStartShouldSetResponder = (e: any) =>
|
|
96
|
-
|
|
98
|
+
viewProps.onStartShouldSetResponder = (e: any) => {
|
|
99
|
+
if (userStartShouldSet?.(e)) return true
|
|
100
|
+
return !events.disabled && !unstable_hasExternalPressOwnership()
|
|
101
|
+
}
|
|
97
102
|
|
|
98
103
|
viewProps.onResponderGrant = (e: any) => {
|
|
99
|
-
userGrant?.(e)
|
|
100
104
|
cleanup()
|
|
105
|
+
|
|
106
|
+
if (unstable_hasExternalPressOwnership()) {
|
|
107
|
+
ref.current.state = 'idle'
|
|
108
|
+
ref.current.blockedByExternalOwnership = true
|
|
109
|
+
return
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
userGrant?.(e)
|
|
113
|
+
ref.current.blockedByExternalOwnership = false
|
|
101
114
|
ref.current.state = 'pressing'
|
|
102
115
|
|
|
103
116
|
if (delayPressIn > 0) {
|
|
@@ -117,6 +130,13 @@ export function useMainThreadPressEvents(
|
|
|
117
130
|
}
|
|
118
131
|
|
|
119
132
|
viewProps.onResponderRelease = (e: any) => {
|
|
133
|
+
if (ref.current.blockedByExternalOwnership || unstable_hasExternalPressOwnership()) {
|
|
134
|
+
cleanup()
|
|
135
|
+
ref.current.blockedByExternalOwnership = false
|
|
136
|
+
ref.current.state = 'idle'
|
|
137
|
+
return
|
|
138
|
+
}
|
|
139
|
+
|
|
120
140
|
userRelease?.(e)
|
|
121
141
|
const wasLongPressed = ref.current.state === 'longPressed'
|
|
122
142
|
cleanup()
|
|
@@ -132,6 +152,7 @@ export function useMainThreadPressEvents(
|
|
|
132
152
|
|
|
133
153
|
deactivate(e)
|
|
134
154
|
ref.current.state = 'idle'
|
|
155
|
+
ref.current.blockedByExternalOwnership = false
|
|
135
156
|
}
|
|
136
157
|
|
|
137
158
|
viewProps.onResponderTerminate = (e: any) => {
|
|
@@ -141,6 +162,7 @@ export function useMainThreadPressEvents(
|
|
|
141
162
|
deactivate(e)
|
|
142
163
|
}
|
|
143
164
|
ref.current.state = 'idle'
|
|
165
|
+
ref.current.blockedByExternalOwnership = false
|
|
144
166
|
}
|
|
145
167
|
|
|
146
168
|
viewProps.onResponderTerminationRequest = (e: any) => {
|