@tamagui/web 1.73.0 → 1.73.1
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/dist/cjs/createComponent.js +26 -21
- package/dist/cjs/createComponent.js.map +1 -1
- package/dist/cjs/createComponent.native.js +7 -2
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.js +8 -7
- package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.native.js +6 -5
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getStylesAtomic.js +16 -11
- package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
- package/dist/cjs/hooks/useTheme.js +6 -6
- package/dist/cjs/hooks/useTheme.js.map +2 -2
- package/dist/cjs/hooks/useTheme.native.js +6 -6
- package/dist/cjs/hooks/useTheme.native.js.map +2 -2
- package/dist/cjs/views/Text.js +0 -1
- package/dist/cjs/views/Text.js.map +1 -1
- package/dist/cjs/views/Text.native.js +0 -1
- package/dist/cjs/views/Text.native.js.map +1 -1
- package/dist/esm/createComponent.js +26 -21
- package/dist/esm/createComponent.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.js +14 -8
- package/dist/esm/helpers/getSplitStyles.js.map +1 -1
- package/dist/esm/helpers/getStylesAtomic.js +14 -10
- package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
- package/dist/esm/hooks/useTheme.js +4 -4
- package/dist/esm/hooks/useTheme.js.map +2 -2
- package/dist/esm/views/Text.js +0 -1
- package/dist/esm/views/Text.js.map +1 -1
- package/package.json +9 -9
- package/src/createComponent.tsx +39 -27
- package/src/helpers/getSplitStyles.tsx +26 -7
- package/src/helpers/getStylesAtomic.ts +19 -15
- package/src/hooks/useTheme.tsx +2 -2
- package/src/types.tsx +8 -5
- package/src/views/Text.tsx +0 -2
- package/types/createComponent.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getStylesAtomic.d.ts +1 -0
- package/types/helpers/getStylesAtomic.d.ts.map +1 -1
- package/types/types.d.ts +5 -3
- package/types/types.d.ts.map +1 -1
- package/types/views/Text.d.ts.map +1 -1
- package/dist/cjs/helpers/getAnimationDriver.js +0 -28
- package/dist/cjs/helpers/getAnimationDriver.js.map +0 -6
- package/dist/cjs/helpers/getAnimationDriver.native.js +0 -29
- package/dist/cjs/helpers/getAnimationDriver.native.js.map +0 -6
- package/dist/cjs/hooks/useAnimationDriver.js +0 -26
- package/dist/cjs/hooks/useAnimationDriver.js.map +0 -6
- package/dist/cjs/hooks/useAnimationDriver.native.js +0 -27
- package/dist/cjs/hooks/useAnimationDriver.native.js.map +0 -6
- package/dist/cjs/views/AnimationDriverProvider.js +0 -26
- package/dist/cjs/views/AnimationDriverProvider.js.map +0 -6
- package/dist/cjs/views/AnimationDriverProvider.native.js +0 -27
- package/dist/cjs/views/AnimationDriverProvider.native.js.map +0 -6
- package/dist/esm/helpers/getAnimationDriver.js +0 -8
- package/dist/esm/helpers/getAnimationDriver.js.map +0 -6
- package/dist/esm/hooks/useAnimationDriver.js +0 -8
- package/dist/esm/hooks/useAnimationDriver.js.map +0 -6
- package/dist/esm/views/AnimationDriverProvider.js +0 -7
- package/dist/esm/views/AnimationDriverProvider.js.map +0 -6
- package/types/helpers/getAnimationDriver.d.ts.map +0 -1
- package/types/hooks/useAnimationDriver.d.ts.map +0 -1
- package/types/views/AnimationDriverProvider.d.ts +0 -9
- package/types/views/AnimationDriverProvider.d.ts.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/getStylesAtomic.ts"],
|
|
4
|
-
"mappings": "AAKA,SAAsB,kBAAkB;AAExC,SAAS,iBAAiB;AAE1B,SAAS,qBAAqB;AAC9B,SAAS,kCAAkC;AAC3C;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AAIA,SAAS,gBAAgB,UAAgC,OAAmB;AACjF,MAAI,MAAqB,CAAC;AAC1B,aAAW,cAAc,uBAAuB;AAC9C,UAAM,cAAc,SAAS,UAAU;AACvC,IAAI,gBACF,MAAM;AAAA,MACJ,GAAG;AAAA,MACH,GAAG,qBAAqB,aAAa,sBAAsB,UAAU,CAAC;AAAA,IACxE;AAAA,EAEJ;AACA,eAAM,CAAC,GAAG,KAAK,GAAG,qBAAqB,QAAQ,CAAC,GAE5C,QAAQ,IAAI,aAAa,iBAAiB,UAAU,aAEtD,QAAQ,IAAI,8BAAuB,EAAE,UAAU,IAAI,CAAC,GAE/C;AACT;AAEA,IAAI;AAIG,MAAM,uBAAuB,CAClC,OACA,WACkB;AAClB,MAAI,CAAC;AAAO,WAAO,CAAC;AAEpB,SAAO,QAAQ,UAAU,GAEzB,WAAW,KAAK;AAEhB,QAAM,MAAqB,CAAC;AAC5B,aAAW,OAAO,OAAO;AACvB,QAAI,OAAO;AAAmB;AAC9B,QAAI,MAAM,MAAM,GAAG;AACnB,QAAI,OAAO;AAAM;AAGjB,IAAI,QAAQ,eAAe,MAAM,QAAQ,MAAM,SAAS,MACtD,
|
|
5
|
-
"names": [
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
6
|
}
|
|
@@ -41,7 +41,7 @@ const useTheme = (props = emptyProps) => {
|
|
|
41
41
|
If this is intended and you are using Tamagui without any themes, you can disable this warning by setting the environment variable TAMAGUI_DISABLE_NO_THEME_WARNING=1`
|
|
42
42
|
);
|
|
43
43
|
const themeProxied = useMemo(() => !themeManager || !state?.theme ? {} : getThemeProxied(state.theme, themeManager, keys.current, props.debug), [state, themeManager]);
|
|
44
|
-
return process.env.NODE_ENV === "development" && props.debug === "verbose" && (console.groupCollapsed(" \u{1F539} useTheme =>", name), console.log("returning state", changedThemeState, "from props", props), console.groupEnd()), [changedThemeState, themeProxied];
|
|
44
|
+
return process.env.NODE_ENV === "development" && props.debug === "verbose" && (console.groupCollapsed(" \u{1F539} useTheme =>", state?.name), console.log("returning state", changedThemeState, "from props", props), console.groupEnd()), [changedThemeState, themeProxied];
|
|
45
45
|
};
|
|
46
46
|
function getThemeProxied(theme, themeManager, keys, debug) {
|
|
47
47
|
return createProxy(theme, {
|
|
@@ -105,13 +105,13 @@ const activeThemeManagers = /* @__PURE__ */ new Set(), useChangeThemeEffect = (p
|
|
|
105
105
|
isNewTheme && themeManager && activeThemeManagers.add(themeManager), (isNewTheme || getShouldUpdateTheme(themeManager)) && setThemeState(createState);
|
|
106
106
|
const selfListenerDispose = themeManager.onChangeTheme((_a, _b, forced) => {
|
|
107
107
|
forced && setThemeState((prev) => createState(prev, !0));
|
|
108
|
-
}), disposeChangeListener = parentManager?.onChangeTheme((
|
|
108
|
+
}), disposeChangeListener = parentManager?.onChangeTheme((name, manager) => {
|
|
109
109
|
const force = shouldUpdate?.(), doUpdate = force ?? !!(keys?.length || isNewTheme);
|
|
110
110
|
process.env.NODE_ENV === "development" && props.debug && console.log(" \u{1F538} onChange", themeManager.id, {
|
|
111
111
|
force,
|
|
112
112
|
doUpdate,
|
|
113
113
|
props,
|
|
114
|
-
name
|
|
114
|
+
name,
|
|
115
115
|
manager,
|
|
116
116
|
keys
|
|
117
117
|
}), doUpdate && setThemeState(createState);
|
|
@@ -164,7 +164,7 @@ const activeThemeManagers = /* @__PURE__ */ new Set(), useChangeThemeEffect = (p
|
|
|
164
164
|
themeManager2 = getNewThemeManager(), state2 = { ...themeManager2.state };
|
|
165
165
|
}
|
|
166
166
|
const isNewTheme2 = !!(themeManager2 !== parentManager || props.inverse), mounted2 = props.inverse ? isRoot || prev?.mounted : !0;
|
|
167
|
-
if (state2 || (isNewTheme2 ? state2 = themeManager2.state : (state2 = parentManager.state, themeManager2 = parentManager)), !force && state2
|
|
167
|
+
if (state2 || (isNewTheme2 ? state2 = themeManager2.state : (state2 = parentManager.state, themeManager2 = parentManager)), !force && state2?.name === prev?.state?.name)
|
|
168
168
|
return prev;
|
|
169
169
|
const response = {
|
|
170
170
|
state: state2,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useTheme.tsx"],
|
|
4
|
-
"mappings": "AACA,SAAS,UAAU,UAAU,aAAa;AAC1C,SAAS,YAAY,WAAW,iBAAiB,SAAS,QAAQ,gBAAgB;AAElF,SAAS,iBAAiB;AAC1B,SAAmB,mBAAmB;AACtC,SAAS,mBAAmB;AAC5B;AAAA,EACE;AAAA,EAEA;AAAA,OACK;AACP,SAAS,2BAA2B;AAQpC,SAAS,yBAAyB;AASlC,MAAM,aAAa,EAAE,MAAM,KAAK;AAEhC,IAAI;AACJ,SAAS,yBAAyB;AAChC,MAAI;AAAQ,WAAO;AACnB,QAAM,SAAS,UAAU,GACnB,eAAe,OAAO,OAAO,SAAS,OAAO,OAAO,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,CAAC;AACvF,kBAAS,gBAAgB,YAAY,GAC9B;AACT;AAkBO,MAAM,WAAW,CAAC,QAAoB,eAAe;AAC1D,QAAM,CAAC,GAAG,KAAK,IAAI,kBAAkB,KAAK;AAE1C,SADY,SAAS,uBAAuB;AAE9C,GAEa,oBAAoB,CAC/B,UACwC;AACxC,QAAM,OAAO,OAAiB,CAAC,CAAC,GAE1B,oBAAoB;AAAA,IACxB;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACJ,WAiBG,SAhBA,MAAM;AACJ,YAAM,OACJ,MAAM,eAAe,MAAM,KAAK,QAAQ,SAAS,IAAI,KAAO;AAC9D,aACE,QAAQ,IAAI,aAAa,iBACzB,MAAM,SACN,MAAM,UAAU,aAGhB,QAAQ,IAAI,wCAAiC,MAAM;AAAA,QACjD,kBAAkB,MAAM,eAAe;AAAA,QACvC,MAAM,CAAC,GAAG,KAAK,OAAO;AAAA,MACxB,CAAC,GAEI;AAAA,IACT;AAAA,EAEN,GAEM,EAAE,cAAc,MAAM,IAAI;AAEhC,EAAK,OAAO,SACN,QAAQ,IAAI,aAAa,iBACvB,QAAQ,IAAI,qCAAqC,OACnD,QAAQ;AAAA,IACN,2FAA2F,KAAK;AAAA,MAC9F;AAAA,IACF,CAAC;AAAA;AAAA;AAAA,EACH;AAKN,QAAM,eAAe,QAAQ,MACvB,CAAC,gBAAgB,CAAC,OAAO,QAAc,CAAC,IACrC,gBAAgB,MAAM,OAAO,cAAc,KAAK,SAAS,MAAM,KAAK,GAC1E,CAAC,OAAO,YAAY,CAAC;AAExB,SAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM,UAAU,cAC5D,QAAQ,eAAe,2BAAoB,IAAI,
|
|
5
|
-
"names": ["_", "
|
|
4
|
+
"mappings": "AACA,SAAS,UAAU,UAAU,aAAa;AAC1C,SAAS,YAAY,WAAW,iBAAiB,SAAS,QAAQ,gBAAgB;AAElF,SAAS,iBAAiB;AAC1B,SAAmB,mBAAmB;AACtC,SAAS,mBAAmB;AAC5B;AAAA,EACE;AAAA,EAEA;AAAA,OACK;AACP,SAAS,2BAA2B;AAQpC,SAAS,yBAAyB;AASlC,MAAM,aAAa,EAAE,MAAM,KAAK;AAEhC,IAAI;AACJ,SAAS,yBAAyB;AAChC,MAAI;AAAQ,WAAO;AACnB,QAAM,SAAS,UAAU,GACnB,eAAe,OAAO,OAAO,SAAS,OAAO,OAAO,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,CAAC;AACvF,kBAAS,gBAAgB,YAAY,GAC9B;AACT;AAkBO,MAAM,WAAW,CAAC,QAAoB,eAAe;AAC1D,QAAM,CAAC,GAAG,KAAK,IAAI,kBAAkB,KAAK;AAE1C,SADY,SAAS,uBAAuB;AAE9C,GAEa,oBAAoB,CAC/B,UACwC;AACxC,QAAM,OAAO,OAAiB,CAAC,CAAC,GAE1B,oBAAoB;AAAA,IACxB;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACJ,WAiBG,SAhBA,MAAM;AACJ,YAAM,OACJ,MAAM,eAAe,MAAM,KAAK,QAAQ,SAAS,IAAI,KAAO;AAC9D,aACE,QAAQ,IAAI,aAAa,iBACzB,MAAM,SACN,MAAM,UAAU,aAGhB,QAAQ,IAAI,wCAAiC,MAAM;AAAA,QACjD,kBAAkB,MAAM,eAAe;AAAA,QACvC,MAAM,CAAC,GAAG,KAAK,OAAO;AAAA,MACxB,CAAC,GAEI;AAAA,IACT;AAAA,EAEN,GAEM,EAAE,cAAc,MAAM,IAAI;AAEhC,EAAK,OAAO,SACN,QAAQ,IAAI,aAAa,iBACvB,QAAQ,IAAI,qCAAqC,OACnD,QAAQ;AAAA,IACN,2FAA2F,KAAK;AAAA,MAC9F;AAAA,IACF,CAAC;AAAA;AAAA;AAAA,EACH;AAKN,QAAM,eAAe,QAAQ,MACvB,CAAC,gBAAgB,CAAC,OAAO,QAAc,CAAC,IACrC,gBAAgB,MAAM,OAAO,cAAc,KAAK,SAAS,MAAM,KAAK,GAC1E,CAAC,OAAO,YAAY,CAAC;AAExB,SAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM,UAAU,cAC5D,QAAQ,eAAe,2BAAoB,OAAO,IAAI,GAEtD,QAAQ,IAAI,mBAAmB,mBAAmB,cAAc,KAAK,GACrE,QAAQ,SAAS,IAGZ,CAAC,mBAAmB,YAAY;AACzC;AAEO,SAAS,gBACd,OACA,cACA,MACA,OACgB;AAChB,SAAO,YAAY,OAAO;AAAA,IACxB,IAAI,GAAG,KAAK;AACV,UAAI,QAAQ,IAAI,OAAO,GAAG;AACxB,eAAO;AAET,UAAI,OAAO,OAAQ;AACjB,eAAI,IAAI,CAAC,MAAM,QAAK,MAAM,IAAI,MAAM,CAAC,IAC9B,cAAc,QAAQ,IAAI,GAAG;AAAA,IAExC;AAAA,IACA,IAAI,GAAG,KAAK;AACV,UAAI,QAAQ;AACV,eAAO;AAET;AAAA;AAAA;AAAA,QAGE,QAAQ,eACR,OAAO,OAAQ;AAAA,QACf;AAEA,cAAM,YAAY,IAAI,CAAC,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,KAC5C,MAAM,MAAM,SAAS;AAC3B,YAAI,OAAO,OAAO,OAAQ;AAGxB,iBAAO,IAAI,MAAM,KAAY;AAAA;AAAA;AAAA,YAG3B,IAAIA,IAAG,QAAQ;AAcb,qBAZI,SAEC,WAAW,SAAU,WAAW,SAAS,CAAC,UAC3C,CAAC,KAAK,SAAS,SAAS,MAExB,KAAK,KAAK,SAAS,GACf,QAAQ,IAAI,aAAa,iBAAiB,SAE5C,QAAQ,IAAI,2CAAoC,SAAS,EAAE,IAI7D,WAAW,QACN,MAAM,YAAY,GAAG,IAEvB,QAAQ,IAAI,KAAY,MAAM;AAAA,YACvC;AAAA,UACF,CAAC;AAAA,MAEL;AAEA,aAAO,QAAQ,IAAI,GAAG,GAAG;AAAA,IAC3B;AAAA,EACF,CAAC;AACH;AAEO,MAAM,sBAAsB,oBAAI,IAAkB,GAE5C,uBAAuB,CAClC,OACA,SAAS,IACT,MACA,iBACyB;AACzB,QAAM;AAAA;AAAA,IAEJ;AAAA,EACF,IAAI,OAEE,gBAAgB,WAAW,mBAAmB;AAEpD,MAAK,CAAC,UAAU,CAAC,iBAAkB;AACjC,WAAO;AAAA,MACL,YAAY;AAAA,MACZ,OAAO,eAAe;AAAA,MACtB,cAAc;AAAA,IAChB;AAgBF,QAAM,CAAC,YAAY,aAAa,IAAI,SAA+B,WAAW,GACxE,EAAE,OAAO,SAAS,YAAY,aAAa,IAAI,YAC/C,qBAAqB,GAAQ,CAAC,WAAW,WAAW,MAAM;AAEhE,WAAS,qBACP,UAAU,cACV,WACA,YAA2C,OAC3C,oBAAoB,IACpB;AACA,UAAM,cAAc,eAAe;AACnC,QAAI,CAAC,WAAY,CAAC,qBAAqB,gBAAgB;AAAQ;AAC/D,UAAM,OAAO,aAAa,QAAQ,SAAS,OAAO,aAAa;AAC/D,QAAI;AAAmB,aAAO;AAC9B,QAAK,QACD,kBAAgB,MAAQ,CAAC,QAAQ,qBAAqB,MAAM,SAAS;AAGzE,aAAO;AAAA,EACT;AA6EA,MA3EK,aAEH,gBAAgB,MAAM;AACpB,QAAI,CAAC;AAAc;AAKnB,QAAI,MAAM,WAAW,CAAC,SAAS;AAC7B,oBAAc,EAAE,GAAG,YAAY,SAAS,GAAK,CAAC;AAC9C;AAAA,IACF;AAEA,IAAI,cAAc,gBAChB,oBAAoB,IAAI,YAAY,IAGlC,cAAc,qBAAqB,YAAY,MACjD,cAAc,WAAW;AAI3B,UAAM,sBAAsB,aAAa,cAAc,CAAC,IAAI,IAAI,WAAW;AACzE,MAAI,UACF,cAAc,CAAC,SAAS,YAAY,MAAM,EAAI,CAAC;AAAA,IAEnD,CAAC,GAEK,wBAAwB,eAAe,cAAc,CAAC,MAAM,YAAY;AAC5E,YAAM,QAAQ,eAAe,GACvB,WAAW,SAAS,GAAQ,MAAM,UAAU;AAElD,MAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM,SAElD,QAAQ,IAAI,uBAAgB,aAAa,IAAI;AAAA,QAC3C;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,GAEC,YACF,cAAc,WAAW;AAAA,IAE7B,GAAG,aAAa,EAAE;AAElB,WAAO,MAAM;AACX,0BAAoB,GACpB,wBAAwB,GACxB,oBAAoB,OAAO,YAAY;AAAA,IACzC;AAAA,EACF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN;AAAA,EACF,CAAC,GAEG,QAAQ,IAAI,aAAa,iBAAiB,MAAM,UAAU,aAC5D,UAAU,OACR,WAAW,yBAA4B,oBAAI,IAAI,GAC/C,WAAW,qBAAwB,IAAI,YAAY,GAC5C,MAAM;AACX,eAAW,qBAAwB,OAAO,YAAY;AAAA,EACxD,IACC,CAAC,YAAY,CAAC,IAIjB;AACF,WAAO;AAAA,MACL,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,OAAO;AAAA,QACL,MAAM;AAAA,QACN,GAAG,eAAe;AAAA,QAClB,WAAW;AAAA,MACb;AAAA,IACF;AAGF,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,WAAS,YAAY,MAA6B,QAAQ,IAA6B;AACrF,QAAI,QAAQ,eAAe,MAAM;AAC/B,aAAO;AAIT,QAAIC,gBAA6B,eAC7BC;AAGJ,QAF8B,yBAAyB,KAAK,GAEjC;AACzB,YAAM,qBAAqB,MAClB,IAAI,aAAa,OAAO,SAAS,SAAS,aAAa;AAGhE,UAAI,MAAM,cAAc;AACtB,QAAAD,gBAAe,KAAK;AAQpB,cAAM,cAAc,EAAQ,MAAM,QAC5B,OAAOA,cAAa,SAAS,OAAO,aAAa,GACjD,YAAY;AAAA,UAChBA;AAAA,UACA;AAAA,UACA,KAAK;AAAA,UACL;AAAA,QACF;AAEA,QAAI,aACFC,SAAQ,WAEJ,CAAC,KAAK,cAAc,CAAC,QACvBD,gBAAe,mBAAmB,IAElCA,cAAa,YAAY,SAAS,KAGhC,KAAK,cAEH,iBAAiB,CAAC,SACpBA,gBAAe;AAAA,MAIvB;AACE,QAAAA,gBAAe,mBAAmB,GAClCC,SAAQ,EAAE,GAAGD,cAAa,MAAM;AAAA,IAEpC;AAEA,UAAME,cAAa,GAAQF,kBAAiB,iBAAiB,MAAM,UAG7DG,WAAW,MAAM,UAAiB,UAAU,MAAM,UAAvB;AAWjC,QATKF,WACCC,cACFD,SAAQD,cAAa,SAErBC,SAAQ,cAAe,OACvBD,gBAAe,iBAIf,CAAC,SAASC,QAAO,SAAS,MAAM,OAAO;AACzC,aAAO;AAGT,UAAM,WAAW;AAAA,MACf,OAAAA;AAAA,MACA,cAAAD;AAAA,MACA,YAAAE;AAAA,MACA,SAAAC;AAAA,IACF;AAEA,QAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM,SAAY,UAAU;AACxE,cAAQ,eAAe,cAAOH,cAAa,EAAE,mCAAmC;AAChF,YAAM,cAAc,EAAE,GAAG,eAAe,MAAM,GACxC,WAAW,eAAe,IAC1B,oBAAoB,EAAE,GAAGA,cAAa,MAAM;AAElD,cAAQ,IAAI;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,GACD,QAAQ,SAAS;AAAA,IACnB;AAEA,WAAO;AAAA,EACT;AACF;",
|
|
5
|
+
"names": ["_", "themeManager", "state", "isNewTheme", "mounted"]
|
|
6
6
|
}
|
package/dist/esm/views/Text.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/Text.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,oBAAoB,mBAAmB;AAEhD,SAAS,uBAAuB;AAGhC,MAAM,eAAe;AAAA,EACnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AACd,GAIa,OAAO,gBAAgD;AAAA,EAClE,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EAER,cAEM;AAAA,IACE,
|
|
4
|
+
"mappings": "AAAA,SAAS,oBAAoB,mBAAmB;AAEhD,SAAS,uBAAuB;AAGhC,MAAM,eAAe;AAAA,EACnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AACd,GAIa,OAAO,gBAAgD;AAAA,EAClE,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EAER,cAEM;AAAA,IACE,SAAS;AAAA,IACT,WAAW;AAAA,IACX,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EAMN,uBAAuB,oBAAI,IAAI,CAAC,YAAY,CAAC;AAAA,EAE7C,UAAU;AAAA,IAEN,eAAe;AAAA,MACb,GAAG;AAAA,MAEH,WAAW,CAAC,kBACV,iBAAiB,IACb;AAAA,QACE,iBAAiB;AAAA,QACjB,iBAAiB;AAAA,QACjB,SAAS;AAAA,QACT,UAAU;AAAA,MACZ,IACA;AAAA,IACR;AAAA;AAAA,IAIF,eAAe;AAAA,MACb,OAAO,MAAM;AAAA,IACf;AAAA,IAGE,YAAY;AAAA,MACV,MAAM;AAAA,QACJ,YAAY;AAAA,QACZ,QAAQ;AAAA,MACV;AAAA,MACA,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IAGF,SAAS;AAAA,MACP,MAEM;AAAA,IAKR;AAAA,EACF;AAAA,EAEA,YAAY,oBAAI,IAA2C,CAAC,CAAe;AAAA,EAE3E,aAAa;AAAA,IACX,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AACF,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "1.73.
|
|
3
|
+
"version": "1.73.1",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -27,19 +27,19 @@
|
|
|
27
27
|
"reset.css"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@tamagui/compose-refs": "1.73.
|
|
31
|
-
"@tamagui/constants": "1.73.
|
|
32
|
-
"@tamagui/helpers": "1.73.
|
|
33
|
-
"@tamagui/normalize-css-color": "1.73.
|
|
34
|
-
"@tamagui/timer": "1.73.
|
|
35
|
-
"@tamagui/use-did-finish-ssr": "1.73.
|
|
36
|
-
"@tamagui/use-force-update": "1.73.
|
|
30
|
+
"@tamagui/compose-refs": "1.73.1",
|
|
31
|
+
"@tamagui/constants": "1.73.1",
|
|
32
|
+
"@tamagui/helpers": "1.73.1",
|
|
33
|
+
"@tamagui/normalize-css-color": "1.73.1",
|
|
34
|
+
"@tamagui/timer": "1.73.1",
|
|
35
|
+
"@tamagui/use-did-finish-ssr": "1.73.1",
|
|
36
|
+
"@tamagui/use-force-update": "1.73.1"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "*"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "1.73.
|
|
42
|
+
"@tamagui/build": "1.73.1",
|
|
43
43
|
"@testing-library/react": "^14.0.0",
|
|
44
44
|
"csstype": "^3.0.10",
|
|
45
45
|
"react": "^18.2.0",
|
package/src/createComponent.tsx
CHANGED
|
@@ -57,6 +57,7 @@ import {
|
|
|
57
57
|
TextProps,
|
|
58
58
|
UseAnimationHook,
|
|
59
59
|
UseAnimationProps,
|
|
60
|
+
WebOnlyPressEvents,
|
|
60
61
|
} from './types'
|
|
61
62
|
import { Slot } from './views/Slot'
|
|
62
63
|
import { useThemedChildren } from './views/Theme'
|
|
@@ -224,6 +225,7 @@ export function createComponent<
|
|
|
224
225
|
let overriddenContextProps: Object | undefined
|
|
225
226
|
let contextValue: Object | null | undefined
|
|
226
227
|
const { context } = staticConfig
|
|
228
|
+
|
|
227
229
|
if (context) {
|
|
228
230
|
contextValue = useContext(context)
|
|
229
231
|
const { inverseShorthands } = getConfig()
|
|
@@ -956,10 +958,7 @@ export function createComponent<
|
|
|
956
958
|
// check presence rather than value to prevent reparenting bugs
|
|
957
959
|
// allows for onPress={x ? function : undefined} without re-ordering dom
|
|
958
960
|
const shouldAttach = Boolean(
|
|
959
|
-
attachPress ||
|
|
960
|
-
isHoverable ||
|
|
961
|
-
(noClassNames && 'pressStyle' in props) ||
|
|
962
|
-
(isWeb && noClassNames && 'hoverStyle' in props)
|
|
961
|
+
attachPress || isHoverable || runtimePressStyle || runtimeHoverStyle
|
|
963
962
|
)
|
|
964
963
|
|
|
965
964
|
if (process.env.NODE_ENV === 'development' && time) time`events-setup`
|
|
@@ -1088,24 +1087,23 @@ export function createComponent<
|
|
|
1088
1087
|
elementType = Slot
|
|
1089
1088
|
// on native this is already merged into viewProps in hooks.useEvents
|
|
1090
1089
|
if (process.env.TAMAGUI_TARGET === 'web') {
|
|
1091
|
-
const
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
? getWebEvents(passEvents as any)
|
|
1107
|
-
: passEvents
|
|
1090
|
+
const webStyleEvents = asChild === 'web' || asChild === 'except-style-web'
|
|
1091
|
+
const passEvents = getWebEvents(
|
|
1092
|
+
{
|
|
1093
|
+
onPress,
|
|
1094
|
+
onLongPress,
|
|
1095
|
+
onPressIn,
|
|
1096
|
+
onPressOut,
|
|
1097
|
+
onHoverIn,
|
|
1098
|
+
onHoverOut,
|
|
1099
|
+
onMouseUp,
|
|
1100
|
+
onMouseDown,
|
|
1101
|
+
onMouseEnter,
|
|
1102
|
+
onMouseLeave,
|
|
1103
|
+
},
|
|
1104
|
+
webStyleEvents
|
|
1108
1105
|
)
|
|
1106
|
+
Object.assign(viewProps, passEvents)
|
|
1109
1107
|
}
|
|
1110
1108
|
}
|
|
1111
1109
|
|
|
@@ -1197,6 +1195,17 @@ export function createComponent<
|
|
|
1197
1195
|
}
|
|
1198
1196
|
}
|
|
1199
1197
|
|
|
1198
|
+
// ensure we override new context with syle resolved values
|
|
1199
|
+
if (staticConfig.context) {
|
|
1200
|
+
const contextProps = staticConfig.context.props
|
|
1201
|
+
for (const key in contextProps) {
|
|
1202
|
+
if (key in style || key in viewProps) {
|
|
1203
|
+
overriddenContextProps ||= {}
|
|
1204
|
+
overriddenContextProps[key] = style[key] ?? viewProps[key]
|
|
1205
|
+
}
|
|
1206
|
+
}
|
|
1207
|
+
}
|
|
1208
|
+
|
|
1200
1209
|
if (overriddenContextProps) {
|
|
1201
1210
|
const Provider = staticConfig.context!.Provider!
|
|
1202
1211
|
content = (
|
|
@@ -1328,11 +1337,16 @@ export function createComponent<
|
|
|
1328
1337
|
return res
|
|
1329
1338
|
}
|
|
1330
1339
|
|
|
1331
|
-
|
|
1340
|
+
type EventKeys = keyof (TamaguiComponentEvents & WebOnlyPressEvents)
|
|
1341
|
+
type EventLikeObject = {
|
|
1342
|
+
[key in EventKeys]?: any
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1345
|
+
function getWebEvents<E extends EventLikeObject>(events: E, webStyle = true) {
|
|
1332
1346
|
return {
|
|
1333
|
-
onMouseEnter: events.onMouseEnter,
|
|
1334
|
-
onMouseLeave: events.onMouseLeave,
|
|
1335
|
-
onClick: events.onPress,
|
|
1347
|
+
onMouseEnter: events.onHoverIn ?? events.onMouseEnter,
|
|
1348
|
+
onMouseLeave: events.onHoverOut ?? events.onMouseLeave,
|
|
1349
|
+
[webStyle ? 'onClick' : 'onPress']: events.onPress,
|
|
1336
1350
|
onMouseDown: events.onPressIn,
|
|
1337
1351
|
onMouseUp: events.onPressOut,
|
|
1338
1352
|
onTouchStart: events.onPressIn,
|
|
@@ -1529,8 +1543,6 @@ function isUnspaced(child: React.ReactNode) {
|
|
|
1529
1543
|
return t?.['isVisuallyHidden'] || t?.['isUnspaced']
|
|
1530
1544
|
}
|
|
1531
1545
|
|
|
1532
|
-
const DefaultProps = new Map()
|
|
1533
|
-
|
|
1534
1546
|
const AbsoluteFill: any = createComponent({
|
|
1535
1547
|
defaultProps: {
|
|
1536
1548
|
...stackDefaultStyles,
|
|
@@ -55,7 +55,12 @@ import type {
|
|
|
55
55
|
import { createMediaStyle } from './createMediaStyle'
|
|
56
56
|
import { fixStyles } from './expandStyles'
|
|
57
57
|
import { getGroupPropParts } from './getGroupPropParts'
|
|
58
|
-
import {
|
|
58
|
+
import {
|
|
59
|
+
generateAtomicStyles,
|
|
60
|
+
getStylesAtomic,
|
|
61
|
+
styleToCSS,
|
|
62
|
+
transformsToString,
|
|
63
|
+
} from './getStylesAtomic'
|
|
59
64
|
import {
|
|
60
65
|
insertStyleRules,
|
|
61
66
|
insertedTransforms,
|
|
@@ -680,10 +685,11 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
680
685
|
|
|
681
686
|
// have to run this logic again here because expansions may need to be passed down
|
|
682
687
|
// see StyledButtonVariantPseudoMerge test
|
|
683
|
-
const
|
|
684
|
-
|
|
688
|
+
const shouldPassThrough =
|
|
689
|
+
(styleProps.noExpand && isPseudo) ||
|
|
690
|
+
(isHOC && (isMediaOrPseudo || parentStaticConfig?.variants?.[keyInit]))
|
|
685
691
|
|
|
686
|
-
if (
|
|
692
|
+
if (shouldPassThrough) {
|
|
687
693
|
passDownProp(viewProps, key, val, isMediaOrPseudo)
|
|
688
694
|
if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
689
695
|
console.groupCollapsed(` - passing down prop ${key}`)
|
|
@@ -694,7 +700,6 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
694
700
|
continue
|
|
695
701
|
}
|
|
696
702
|
|
|
697
|
-
// pseudo
|
|
698
703
|
if (isPseudo) {
|
|
699
704
|
if (!val) continue
|
|
700
705
|
|
|
@@ -811,7 +816,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
811
816
|
mergeStyle(styleState, pkey, defaultVal)
|
|
812
817
|
}
|
|
813
818
|
} else {
|
|
814
|
-
const curImportance = usedKeys[
|
|
819
|
+
const curImportance = usedKeys[pkey] || 0
|
|
815
820
|
const shouldMerge = importance >= curImportance
|
|
816
821
|
|
|
817
822
|
if (shouldMerge) {
|
|
@@ -819,7 +824,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
819
824
|
pseudos[key] ||= {}
|
|
820
825
|
pseudos[key][pkey] = val
|
|
821
826
|
mergeStyle(styleState, pkey, val)
|
|
822
|
-
usedKeys[pkey]
|
|
827
|
+
usedKeys[pkey] = Math.max(usedKeys[pkey], importance)
|
|
823
828
|
}
|
|
824
829
|
|
|
825
830
|
if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
@@ -829,6 +834,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
829
834
|
curImportance,
|
|
830
835
|
pkey,
|
|
831
836
|
val,
|
|
837
|
+
transforms: { ...styleState.transforms },
|
|
832
838
|
})
|
|
833
839
|
}
|
|
834
840
|
}
|
|
@@ -1058,6 +1064,8 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1058
1064
|
// biome-ignore lint/suspicious/noConsoleLog: <explanation>
|
|
1059
1065
|
console.log('style', { ...style })
|
|
1060
1066
|
// biome-ignore lint/suspicious/noConsoleLog: <explanation>
|
|
1067
|
+
console.log('transforms', { ...transforms })
|
|
1068
|
+
// biome-ignore lint/suspicious/noConsoleLog: <explanation>
|
|
1061
1069
|
console.log('viewProps', { ...viewProps })
|
|
1062
1070
|
} catch {
|
|
1063
1071
|
// RN can run into PayloadTooLargeError: request entity too large
|
|
@@ -1102,6 +1110,17 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1102
1110
|
.forEach(([key, val]) => {
|
|
1103
1111
|
mergeTransform(style, key, val, true)
|
|
1104
1112
|
})
|
|
1113
|
+
|
|
1114
|
+
// Button for example uses disableClassName: true but renders to a 'button' element, so needs this
|
|
1115
|
+
if (process.env.TAMAGUI_TARGET === 'web') {
|
|
1116
|
+
if (
|
|
1117
|
+
!staticConfig.isReactNative &&
|
|
1118
|
+
!styleProps.isAnimated &&
|
|
1119
|
+
Array.isArray(style.transform)
|
|
1120
|
+
) {
|
|
1121
|
+
style.transform = transformsToString(style.transform) as any
|
|
1122
|
+
}
|
|
1123
|
+
}
|
|
1105
1124
|
}
|
|
1106
1125
|
|
|
1107
1126
|
// add in defaults if not set:
|
|
@@ -41,6 +41,24 @@ let conf: TamaguiInternalConfig
|
|
|
41
41
|
|
|
42
42
|
// mutates...
|
|
43
43
|
|
|
44
|
+
export function transformsToString(transforms: any[]) {
|
|
45
|
+
return transforms
|
|
46
|
+
.map(
|
|
47
|
+
// { scale: 2 } => 'scale(2)'
|
|
48
|
+
// { translateX: 20 } => 'translateX(20px)'
|
|
49
|
+
// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'
|
|
50
|
+
(transform) => {
|
|
51
|
+
const type = Object.keys(transform)[0]
|
|
52
|
+
const value = transform[type]
|
|
53
|
+
if (type === 'matrix' || type === 'matrix3d') {
|
|
54
|
+
return `${type}(${value.join(',')})`
|
|
55
|
+
}
|
|
56
|
+
return `${type}(${normalizeValueWithProperty(value, type)})`
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
.join(' ')
|
|
60
|
+
}
|
|
61
|
+
|
|
44
62
|
export const generateAtomicStyles = (
|
|
45
63
|
style: ViewStyleWithPseudos,
|
|
46
64
|
pseudo?: PseudoDescriptor
|
|
@@ -59,21 +77,7 @@ export const generateAtomicStyles = (
|
|
|
59
77
|
|
|
60
78
|
// transform
|
|
61
79
|
if (key === 'transform' && Array.isArray(style.transform)) {
|
|
62
|
-
val = (val
|
|
63
|
-
.map(
|
|
64
|
-
// { scale: 2 } => 'scale(2)'
|
|
65
|
-
// { translateX: 20 } => 'translateX(20px)'
|
|
66
|
-
// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'
|
|
67
|
-
(transform) => {
|
|
68
|
-
const type = Object.keys(transform)[0]
|
|
69
|
-
const value = transform[type]
|
|
70
|
-
if (type === 'matrix' || type === 'matrix3d') {
|
|
71
|
-
return `${type}(${value.join(',')})`
|
|
72
|
-
}
|
|
73
|
-
return `${type}(${normalizeValueWithProperty(value, type)})`
|
|
74
|
-
}
|
|
75
|
-
)
|
|
76
|
-
.join(' ')
|
|
80
|
+
val = transformsToString(val)
|
|
77
81
|
}
|
|
78
82
|
|
|
79
83
|
const value = normalizeValueWithProperty(val, key)
|
package/src/hooks/useTheme.tsx
CHANGED
|
@@ -109,7 +109,7 @@ export const useThemeWithState = (
|
|
|
109
109
|
}, [state, themeManager])
|
|
110
110
|
|
|
111
111
|
if (process.env.NODE_ENV === 'development' && props.debug === 'verbose') {
|
|
112
|
-
console.groupCollapsed(' 🔹 useTheme =>', name)
|
|
112
|
+
console.groupCollapsed(' 🔹 useTheme =>', state?.name)
|
|
113
113
|
// biome-ignore lint/suspicious/noConsoleLog: <explanation>
|
|
114
114
|
console.log('returning state', changedThemeState, 'from props', props)
|
|
115
115
|
console.groupEnd()
|
|
@@ -400,7 +400,7 @@ export const useChangeThemeEffect = (
|
|
|
400
400
|
}
|
|
401
401
|
}
|
|
402
402
|
|
|
403
|
-
if (!force && state
|
|
403
|
+
if (!force && state?.name === prev?.state?.name) {
|
|
404
404
|
return prev
|
|
405
405
|
}
|
|
406
406
|
|
package/src/types.tsx
CHANGED
|
@@ -36,7 +36,7 @@ export type TamaguiTextElement = HTMLElement | RNText
|
|
|
36
36
|
|
|
37
37
|
export type DebugProp = boolean | 'break' | 'verbose' | 'visualize' | 'profile'
|
|
38
38
|
|
|
39
|
-
export type TamaguiComponentPropsBase = {
|
|
39
|
+
export type TamaguiComponentPropsBase = WebOnlyPressEvents & {
|
|
40
40
|
target?: string
|
|
41
41
|
hitSlop?: PressableProps['hitSlop']
|
|
42
42
|
/**
|
|
@@ -127,20 +127,23 @@ export type TamaguiComponentPropsBase = {
|
|
|
127
127
|
*/
|
|
128
128
|
disableClassName?: boolean
|
|
129
129
|
|
|
130
|
+
// WEB ONLY TODO probably remove these in favor of something better
|
|
131
|
+
|
|
132
|
+
onFocus?: (event: React.FocusEvent<HTMLDivElement>) => void
|
|
133
|
+
onScroll?: (event: React.UIEvent<HTMLDivElement, UIEvent>) => void
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export type WebOnlyPressEvents = {
|
|
130
137
|
onPress?: PressableProps['onPress']
|
|
131
138
|
onLongPress?: PressableProps['onLongPress']
|
|
132
139
|
onPressIn?: PressableProps['onPress']
|
|
133
140
|
onPressOut?: PressableProps['onPress']
|
|
134
|
-
|
|
135
|
-
// WEB ONLY TODO probably remove these in favor of something better
|
|
136
141
|
onHoverIn?: DivAttributes['onMouseEnter']
|
|
137
142
|
onHoverOut?: DivAttributes['onMouseLeave']
|
|
138
143
|
onMouseEnter?: DivAttributes['onMouseEnter']
|
|
139
144
|
onMouseLeave?: DivAttributes['onMouseLeave']
|
|
140
145
|
onMouseDown?: DivAttributes['onMouseDown']
|
|
141
146
|
onMouseUp?: DivAttributes['onMouseUp']
|
|
142
|
-
onFocus?: (event: React.FocusEvent<HTMLDivElement>) => void
|
|
143
|
-
onScroll?: (event: React.UIEvent<HTMLDivElement, UIEvent>) => void
|
|
144
147
|
}
|
|
145
148
|
|
|
146
149
|
/**
|
package/src/views/Text.tsx
CHANGED
|
@@ -19,14 +19,12 @@ export const Text = createComponent<TextProps, Text, TextPropsBase>({
|
|
|
19
19
|
defaultProps:
|
|
20
20
|
process.env.TAMAGUI_TARGET === 'web'
|
|
21
21
|
? {
|
|
22
|
-
color: '$color',
|
|
23
22
|
display: 'inline',
|
|
24
23
|
boxSizing: 'border-box',
|
|
25
24
|
wordWrap: 'break-word',
|
|
26
25
|
margin: 0,
|
|
27
26
|
}
|
|
28
27
|
: {
|
|
29
|
-
color: '$color',
|
|
30
28
|
display: 'flex',
|
|
31
29
|
suppressHighlighting: true,
|
|
32
30
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAIA,OAAO,KAaN,MAAM,OAAO,CAAA;AAsBd,OAAO,EAEL,SAAS,EAKT,cAAc,EACd,UAAU,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,gBAAgB,EAGhB,cAAc,EAEd,SAAS,
|
|
1
|
+
{"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAIA,OAAO,KAaN,MAAM,OAAO,CAAA;AAsBd,OAAO,EAEL,SAAS,EAKT,cAAc,EACd,UAAU,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,gBAAgB,EAGhB,cAAc,EAEd,SAAS,EAIV,MAAM,SAAS,CAAA;AAoBhB,eAAO,MAAM,QAAQ,eAAsB,CAAA;AA6D3C,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,UAAU,GAAG,SAAS,GAAG,EAAE,EACtD,GAAG,GAAG,cAAc,EACpB,SAAS,GAAG,KAAK,EACjB,YAAY,EAAE,YAAY,4DAwqC3B;AAoBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,OAEjD;AAiBD,eAAO,MAAM,MAAM,0DAqCjB,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,mBAkGxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAEV,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAMb,eAAe,EACf,YAAY,EAEZ,qBAAqB,EAErB,cAAc,EACd,WAAW,EAEZ,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAEV,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAMb,eAAe,EACf,YAAY,EAEZ,qBAAqB,EAErB,cAAc,EACd,WAAW,EAEZ,MAAM,UAAU,CAAA;AA6BjB,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAMhE,KAAK,aAAa,GAAG,CACnB,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,qBAAqB,EACrC,UAAU,EAAE,eAAe,EAC3B,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,EACzC,OAAO,CAAC,EAAE,iBAAiB,EAE3B,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,SAAS,KACd,cAAc,CAAA;AAEnB,eAAO,MAAM,UAAU,MAAM,CAAA;AAuB7B,eAAO,MAAM,cAAc,EAAE,aAmrC5B,CAAA;AAsDD,eAAO,MAAM,WAAW,eACV,aAAa,UACjB,MAAM,WACL,MAAM,wBACO,OAAO,KAC5B,cA2BF,CAAA;AA0BD,eAAO,MAAM,cAAc,EAAE,aAQ5B,CAAA"}
|
|
@@ -6,6 +6,7 @@ import { StyleObject } from '@tamagui/helpers';
|
|
|
6
6
|
import type { DebugProp, ViewStyleWithPseudos } from '../types';
|
|
7
7
|
import { PseudoDescriptor } from './pseudoDescriptors';
|
|
8
8
|
export declare function getStylesAtomic(stylesIn: ViewStyleWithPseudos, debug?: DebugProp): StyleObject[];
|
|
9
|
+
export declare function transformsToString(transforms: any[]): string;
|
|
9
10
|
export declare const generateAtomicStyles: (style: ViewStyleWithPseudos, pseudo?: PseudoDescriptor) => StyleObject[];
|
|
10
11
|
export declare function styleToCSS(style: Record<string, any>): void;
|
|
11
12
|
//# sourceMappingURL=getStylesAtomic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStylesAtomic.d.ts","sourceRoot":"","sources":["../../src/helpers/getStylesAtomic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAA;AAG1D,OAAO,KAAK,EAAE,SAAS,EAAyB,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAGtF,OAAO,EACL,gBAAgB,EAGjB,MAAM,qBAAqB,CAAA;AAI5B,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,CAAC,EAAE,SAAS,iBAkBhF;AAMD,eAAO,MAAM,oBAAoB,UACxB,oBAAoB,WAClB,gBAAgB,KACxB,WAAW,
|
|
1
|
+
{"version":3,"file":"getStylesAtomic.d.ts","sourceRoot":"","sources":["../../src/helpers/getStylesAtomic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAA;AAG1D,OAAO,KAAK,EAAE,SAAS,EAAyB,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAGtF,OAAO,EACL,gBAAgB,EAGjB,MAAM,qBAAqB,CAAA;AAI5B,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,CAAC,EAAE,SAAS,iBAkBhF;AAMD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,EAAE,UAgBnD;AAED,eAAO,MAAM,oBAAoB,UACxB,oBAAoB,WAClB,gBAAgB,KACxB,WAAW,EAmCb,CAAA;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAgCpD"}
|
package/types/types.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export type SpaceDirection = 'vertical' | 'horizontal' | 'both';
|
|
|
13
13
|
export type TamaguiElement = HTMLElement | View;
|
|
14
14
|
export type TamaguiTextElement = HTMLElement | RNText;
|
|
15
15
|
export type DebugProp = boolean | 'break' | 'verbose' | 'visualize' | 'profile';
|
|
16
|
-
export type TamaguiComponentPropsBase = {
|
|
16
|
+
export type TamaguiComponentPropsBase = WebOnlyPressEvents & {
|
|
17
17
|
target?: string;
|
|
18
18
|
hitSlop?: PressableProps['hitSlop'];
|
|
19
19
|
/**
|
|
@@ -89,6 +89,10 @@ export type TamaguiComponentPropsBase = {
|
|
|
89
89
|
* Disables className output of styles, instead using only inline styles
|
|
90
90
|
*/
|
|
91
91
|
disableClassName?: boolean;
|
|
92
|
+
onFocus?: (event: React.FocusEvent<HTMLDivElement>) => void;
|
|
93
|
+
onScroll?: (event: React.UIEvent<HTMLDivElement, UIEvent>) => void;
|
|
94
|
+
};
|
|
95
|
+
export type WebOnlyPressEvents = {
|
|
92
96
|
onPress?: PressableProps['onPress'];
|
|
93
97
|
onLongPress?: PressableProps['onLongPress'];
|
|
94
98
|
onPressIn?: PressableProps['onPress'];
|
|
@@ -99,8 +103,6 @@ export type TamaguiComponentPropsBase = {
|
|
|
99
103
|
onMouseLeave?: DivAttributes['onMouseLeave'];
|
|
100
104
|
onMouseDown?: DivAttributes['onMouseDown'];
|
|
101
105
|
onMouseUp?: DivAttributes['onMouseUp'];
|
|
102
|
-
onFocus?: (event: React.FocusEvent<HTMLDivElement>) => void;
|
|
103
|
-
onScroll?: (event: React.UIEvent<HTMLDivElement, UIEvent>) => void;
|
|
104
106
|
};
|
|
105
107
|
/**
|
|
106
108
|
* For static / studio
|