@tamagui/web 1.112.3 → 1.112.4

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.
@@ -36,24 +36,35 @@ function TamaguiProvider({
36
36
  reset,
37
37
  themeClassNameOnRoot
38
38
  }) {
39
- return (0, import_useMedia.setupMediaListeners)(), import_constants.isClient && (0, import_constants.useIsomorphicLayoutEffect)(() => {
39
+ return (0, import_useMedia.setupMediaListeners)(), process.env.TAMAGUI_REACT_19 || import_constants.isClient && (0, import_constants.useIsomorphicLayoutEffect)(() => {
40
40
  if (config && !disableInjectCSS) {
41
41
  const style = document.createElement("style");
42
42
  return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), () => {
43
43
  document.head.removeChild(style);
44
44
  };
45
45
  }
46
- }, [config, disableInjectCSS]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UnmountedClassName, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, { animationDriver: config?.animations, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
47
- import_ThemeProvider.ThemeProvider,
48
- {
49
- themeClassNameOnRoot: themeClassNameOnRoot ?? (0, import_config.getSetting)("themeClassNameOnRoot"),
50
- disableRootThemeClass: disableRootThemeClass ?? (0, import_config.getSetting)("disableRootThemeClass"),
51
- defaultTheme: defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
52
- reset,
53
- className,
54
- children
55
- }
56
- ) }) });
46
+ }, [config, disableInjectCSS]), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
47
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UnmountedClassName, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, { animationDriver: config?.animations, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
48
+ import_ThemeProvider.ThemeProvider,
49
+ {
50
+ themeClassNameOnRoot: themeClassNameOnRoot ?? (0, import_config.getSetting)("themeClassNameOnRoot"),
51
+ disableRootThemeClass: disableRootThemeClass ?? (0, import_config.getSetting)("disableRootThemeClass"),
52
+ defaultTheme: defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
53
+ reset,
54
+ className,
55
+ children
56
+ }
57
+ ) }) }),
58
+ process.env.TAMAGUI_REACT_19 && config && !disableInjectCSS && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
59
+ "style",
60
+ {
61
+ precedence: "default",
62
+ href: "tamagui-css",
63
+ children: config.getCSS()
64
+ },
65
+ "tamagui-css"
66
+ )
67
+ ] });
57
68
  }
58
69
  function UnmountedClassName(props) {
59
70
  const [mounted, setMounted] = import_react.default.useState(!1);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/TamaguiProvider.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA2D,+BAC3D,eAAkB,2BAElB,gBAA2B,sBAC3B,0BAAiC,yCACjC,kBAAoC,8BAEpC,uBAA8B,4BAgCtB;AA9BD,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,kDAAoB,GAEhB,iCAEF,4CAA0B,MAAM;AAC9B,QAAK,UACD,CAAC,kBAAkB;AACrB,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,mBAAM,YAAY,SAAS,eAAe,OAAO,OAAO,CAAC,CAAC,GAC1D,SAAS,KAAK,YAAY,KAAK,GACxB,MAAM;AACX,iBAAS,KAAK,YAAY,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,gBAAgB,CAAC,GAI7B,4CAAC,sBACC,sDAAC,yCAAiB,UAAjB,EAA0B,iBAAiB,QAAQ,YAClD;AAAA,IAAC;AAAA;AAAA,MACC,sBACE,4BAAwB,0BAAW,sBAAsB;AAAA,MAE3D,uBACE,6BAAyB,0BAAW,uBAAuB;AAAA,MAE7D,cAAc,iBAAiB,SAAS,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,IAAI;AAAA,MACxE;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,EACH,GACF,GACF;AAEJ;AAGA,SAAS,mBAAmB,OAAsC;AAChE,QAAM,CAAC,SAAS,UAAU,IAAI,aAAAA,QAAM,SAAS,EAAK;AAMlD,SAJA,aAAAA,QAAM,UAAU,MAAM;AACpB,eAAW,EAAI;AAAA,EACjB,GAAG,CAAC,CAAC,GAEA,yBAKH,4CAAC,UAAK,OAAO,EAAE,SAAS,WAAW,GAAG,WAAW,UAAU,KAAK,eAC7D,gBAAM,UACT,IANO,MAAM;AAQjB;AAEA,gBAAgB,cAAiB;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA2D,+BAC3D,eAAkB,2BAElB,gBAA2B,sBAC3B,0BAAiC,yCACjC,kBAAoC,8BAEpC,uBAA8B,4BAgC1B;AA9BG,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,kDAAoB,GAEf,QAAQ,IAAI,oBACX,iCAEF,4CAA0B,MAAM;AAC9B,QAAK,UACD,CAAC,kBAAkB;AACrB,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,mBAAM,YAAY,SAAS,eAAe,OAAO,OAAO,CAAC,CAAC,GAC1D,SAAS,KAAK,YAAY,KAAK,GACxB,MAAM;AACX,iBAAS,KAAK,YAAY,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,gBAAgB,CAAC,GAK/B,4EACE;AAAA,gDAAC,sBACC,sDAAC,yCAAiB,UAAjB,EAA0B,iBAAiB,QAAQ,YAClD;AAAA,MAAC;AAAA;AAAA,QACC,sBACE,4BAAwB,0BAAW,sBAAsB;AAAA,QAE3D,uBACE,6BAAyB,0BAAW,uBAAuB;AAAA,QAE7D,cAAc,iBAAiB,SAAS,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,IAAI;AAAA,QACxE;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,IACH,GACF,GACF;AAAA,IAEC,QAAQ,IAAI,oBAAoB,UAAU,CAAC,oBAC1C;AAAA,MAAC;AAAA;AAAA,QAIC,YAAW;AAAA,QACX,MAAK;AAAA,QAGJ,iBAAO,OAAO;AAAA;AAAA,MAFX;AAAA,IAGN;AAAA,KAEJ;AAEJ;AAGA,SAAS,mBAAmB,OAAsC;AAChE,QAAM,CAAC,SAAS,UAAU,IAAI,aAAAA,QAAM,SAAS,EAAK;AAMlD,SAJA,aAAAA,QAAM,UAAU,MAAM;AACpB,eAAW,EAAI;AAAA,EACjB,GAAG,CAAC,CAAC,GAEA,yBAKH,4CAAC,UAAK,OAAO,EAAE,SAAS,WAAW,GAAG,WAAW,UAAU,KAAK,eAC7D,gBAAM,UACT,IANO,MAAM;AAQjB;AAEA,gBAAgB,cAAiB;",
5
5
  "names": ["React"]
6
6
  }
@@ -29,7 +29,7 @@ module.exports = __toCommonJS(TamaguiProvider_exports);
29
29
  var import_jsx_runtime = require("react/jsx-runtime"), import_constants = require("@tamagui/constants"), import_react = __toESM(require("react")), import_config = require("../config"), import_ComponentContext = require("../contexts/ComponentContext"), import_useMedia = require("../hooks/useMedia"), import_ThemeProvider = require("./ThemeProvider");
30
30
  function TamaguiProvider(param) {
31
31
  var { children, disableInjectCSS, config, className, defaultTheme, disableRootThemeClass, reset, themeClassNameOnRoot } = param;
32
- return (0, import_useMedia.setupMediaListeners)(), import_constants.isClient && (0, import_constants.useIsomorphicLayoutEffect)(function() {
32
+ return (0, import_useMedia.setupMediaListeners)(), process.env.TAMAGUI_REACT_19 || import_constants.isClient && (0, import_constants.useIsomorphicLayoutEffect)(function() {
33
33
  if (config && !disableInjectCSS) {
34
34
  var style = document.createElement("style");
35
35
  return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), function() {
@@ -39,18 +39,30 @@ function TamaguiProvider(param) {
39
39
  }, [
40
40
  config,
41
41
  disableInjectCSS
42
- ]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UnmountedClassName, {
43
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
44
- animationDriver: config == null ? void 0 : config.animations,
45
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ThemeProvider.ThemeProvider, {
46
- themeClassNameOnRoot: themeClassNameOnRoot ?? (0, import_config.getSetting)("themeClassNameOnRoot"),
47
- disableRootThemeClass: disableRootThemeClass ?? (0, import_config.getSetting)("disableRootThemeClass"),
48
- defaultTheme: defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
49
- reset,
50
- className,
51
- children
52
- })
53
- })
42
+ ]), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
43
+ children: [
44
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UnmountedClassName, {
45
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
46
+ animationDriver: config == null ? void 0 : config.animations,
47
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ThemeProvider.ThemeProvider, {
48
+ themeClassNameOnRoot: themeClassNameOnRoot ?? (0, import_config.getSetting)("themeClassNameOnRoot"),
49
+ disableRootThemeClass: disableRootThemeClass ?? (0, import_config.getSetting)("disableRootThemeClass"),
50
+ defaultTheme: defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
51
+ reset,
52
+ className,
53
+ children
54
+ })
55
+ })
56
+ }),
57
+ process.env.TAMAGUI_REACT_19 && config && !disableInjectCSS && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("style", {
58
+ // react 19 feature to hoist style tags to header:
59
+ // https://react.dev/reference/react-dom/components/style
60
+ // @ts-ignore
61
+ precedence: "default",
62
+ href: "tamagui-css",
63
+ children: config.getCSS()
64
+ }, "tamagui-css")
65
+ ]
54
66
  });
55
67
  }
56
68
  function UnmountedClassName(props) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Users/n8/tamagui/code/core/web/src/views/TamaguiProvider.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAAA,mBAA2D,+BAC3D,eAAkB,2BAElB,gBAA2B,sBAC3B,0BAAiC,yCACjC,kBAAoC,8BAEpC,uBAA8B;AAEvB,SAASA,gBAAgB,OAST;MATS,EAC9BC,UACAC,kBACAC,QACAC,WACAC,cACAC,uBACAC,OACAC,qBAAoB,IARU;AAU9BC,kDAAAA,GAEIC,iCAEFC,4CAA0B,WAAA;AACxB,QAAKR,UACD,CAACD,kBAAkB;AACrB,UAAMU,QAAQC,SAASC,cAAc,OAAA;AACrCF,mBAAMG,YAAYF,SAASG,eAAeb,OAAOc,OAAM,CAAA,CAAA,GACvDJ,SAASK,KAAKH,YAAYH,KAAAA,GACnB,WAAA;AACLC,iBAASK,KAAKC,YAAYP,KAAAA;MAC5B;IACF;EACF,GAAG;IAACT;IAAQD;GAAiB,GAI7B,uCAAAkB,KAACC,oBAAAA;cACC,uCAAAD,KAACE,yCAAiBC,UAAQ;MAACC,iBAAiBrB,UAAAA,OAAAA,SAAAA,OAAQsB;gBAClD,uCAAAL,KAACM,oCAAAA;QACClB,sBACEA,4BAAwBmB,0BAAW,sBAAA;QAErCrB,uBACEA,6BAAyBqB,0BAAW,uBAAA;QAEtCtB,cAAcA,iBAAiBF,SAASyB,OAAOC,KAAK1B,OAAO2B,MAAM,EAAE,CAAA,IAAK;QACxEvB;QACAH;;;;;AAOV;AAGA,SAASiB,mBAAmBU,OAAoC;AAC9D,MAAM,CAACC,SAASC,UAAAA,IAAcC,aAAAA,QAAMC,SAAS,EAAA;AAM7C,SAJAD,aAAAA,QAAME,UAAU,WAAA;AACdH,eAAW,EAAA;EACb,GAAG,CAAA,CAAE,GAEAI,yBAKH,uCAAAjB,KAACkB,QAAAA;IAAK1B,OAAO;MAAE2B,SAAS;IAAW;IAAGnC,WAAW4B,UAAU,KAAK;cAC7DD,MAAM9B;OALF8B,MAAM9B;AAQjB;AAEAD,gBAAgB,cAAiB;",
5
- "names": ["TamaguiProvider", "children", "disableInjectCSS", "config", "className", "defaultTheme", "disableRootThemeClass", "reset", "themeClassNameOnRoot", "setupMediaListeners", "isClient", "useIsomorphicLayoutEffect", "style", "document", "createElement", "appendChild", "createTextNode", "getCSS", "head", "removeChild", "_jsx", "UnmountedClassName", "ComponentContext", "Provider", "animationDriver", "animations", "ThemeProvider", "getSetting", "Object", "keys", "themes", "props", "mounted", "setMounted", "React", "useState", "useEffect", "isWeb", "span", "display"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAAA,mBAA2D,+BAC3D,eAAkB,2BAElB,gBAA2B,sBAC3B,0BAAiC,yCACjC,kBAAoC,8BAEpC,uBAA8B;AAEvB,SAASA,gBAAgB,OAST;MATS,EAC9BC,UACAC,kBACAC,QACAC,WACAC,cACAC,uBACAC,OACAC,qBAAoB,IARU;AAU9BC,kDAAAA,GAEKC,QAAQC,IAAIC,oBACXC,iCAEFC,4CAA0B,WAAA;AACxB,QAAKX,UACD,CAACD,kBAAkB;AACrB,UAAMa,QAAQC,SAASC,cAAc,OAAA;AACrCF,mBAAMG,YAAYF,SAASG,eAAehB,OAAOiB,OAAM,CAAA,CAAA,GACvDJ,SAASK,KAAKH,YAAYH,KAAAA,GACnB,WAAA;AACLC,iBAASK,KAAKC,YAAYP,KAAAA;MAC5B;IACF;EACF,GAAG;IAACZ;IAAQD;GAAiB,GAK/B,uCAAAqB,MAAA,mBAAAC,UAAA;;MACE,uCAAAC,KAACC,oBAAAA;kBACC,uCAAAD,KAACE,yCAAiBC,UAAQ;UAACC,iBAAiB1B,UAAAA,OAAAA,SAAAA,OAAQ2B;oBAClD,uCAAAL,KAACM,oCAAAA;YACCvB,sBACEA,4BAAwBwB,0BAAW,sBAAA;YAErC1B,uBACEA,6BAAyB0B,0BAAW,uBAAA;YAEtC3B,cAAcA,iBAAiBF,SAAS8B,OAAOC,KAAK/B,OAAOgC,MAAM,EAAE,CAAA,IAAK;YACxE5B;YACAH;;;;;MAOLM,QAAQC,IAAIC,oBAAoBT,UAAU,CAACD,oBAC1C,uCAAAuB,KAACV,SAAAA;;;;QAICqB,YAAW;QACXC,MAAK;kBAGJlC,OAAOiB,OAAM;SAFV,aAAA;;;AAOd;AAGA,SAASM,mBAAmBY,OAAoC;AAC9D,MAAM,CAACC,SAASC,UAAAA,IAAcC,aAAAA,QAAMC,SAAS,EAAA;AAM7C,SAJAD,aAAAA,QAAME,UAAU,WAAA;AACdH,eAAW,EAAA;EACb,GAAG,CAAA,CAAE,GAEAI,yBAKH,uCAAAnB,KAACoB,QAAAA;IAAK9B,OAAO;MAAE+B,SAAS;IAAW;IAAG1C,WAAWmC,UAAU,KAAK;cAC7DD,MAAMrC;OALFqC,MAAMrC;AAQjB;AAEAD,gBAAgB,cAAiB;",
5
+ "names": ["TamaguiProvider", "children", "disableInjectCSS", "config", "className", "defaultTheme", "disableRootThemeClass", "reset", "themeClassNameOnRoot", "setupMediaListeners", "process", "env", "TAMAGUI_REACT_19", "isClient", "useIsomorphicLayoutEffect", "style", "document", "createElement", "appendChild", "createTextNode", "getCSS", "head", "removeChild", "_jsxs", "_Fragment", "_jsx", "UnmountedClassName", "ComponentContext", "Provider", "animationDriver", "animations", "ThemeProvider", "getSetting", "Object", "keys", "themes", "precedence", "href", "props", "mounted", "setMounted", "React", "useState", "useEffect", "isWeb", "span", "display"]
6
6
  }
@@ -4,7 +4,7 @@ import { getSetting } from "../config";
4
4
  import { ComponentContext } from "../contexts/ComponentContext";
5
5
  import { setupMediaListeners } from "../hooks/useMedia";
6
6
  import { ThemeProvider } from "./ThemeProvider";
7
- import { jsx } from "react/jsx-runtime";
7
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
8
  function TamaguiProvider({
9
9
  children,
10
10
  disableInjectCSS,
@@ -15,24 +15,35 @@ function TamaguiProvider({
15
15
  reset,
16
16
  themeClassNameOnRoot
17
17
  }) {
18
- return setupMediaListeners(), isClient && useIsomorphicLayoutEffect(() => {
18
+ return setupMediaListeners(), process.env.TAMAGUI_REACT_19 || isClient && useIsomorphicLayoutEffect(() => {
19
19
  if (config && !disableInjectCSS) {
20
20
  const style = document.createElement("style");
21
21
  return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), () => {
22
22
  document.head.removeChild(style);
23
23
  };
24
24
  }
25
- }, [config, disableInjectCSS]), /* @__PURE__ */ jsx(UnmountedClassName, { children: /* @__PURE__ */ jsx(ComponentContext.Provider, { animationDriver: config?.animations, children: /* @__PURE__ */ jsx(
26
- ThemeProvider,
27
- {
28
- themeClassNameOnRoot: themeClassNameOnRoot ?? getSetting("themeClassNameOnRoot"),
29
- disableRootThemeClass: disableRootThemeClass ?? getSetting("disableRootThemeClass"),
30
- defaultTheme: defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
31
- reset,
32
- className,
33
- children
34
- }
35
- ) }) });
25
+ }, [config, disableInjectCSS]), /* @__PURE__ */ jsxs(Fragment, { children: [
26
+ /* @__PURE__ */ jsx(UnmountedClassName, { children: /* @__PURE__ */ jsx(ComponentContext.Provider, { animationDriver: config?.animations, children: /* @__PURE__ */ jsx(
27
+ ThemeProvider,
28
+ {
29
+ themeClassNameOnRoot: themeClassNameOnRoot ?? getSetting("themeClassNameOnRoot"),
30
+ disableRootThemeClass: disableRootThemeClass ?? getSetting("disableRootThemeClass"),
31
+ defaultTheme: defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
32
+ reset,
33
+ className,
34
+ children
35
+ }
36
+ ) }) }),
37
+ process.env.TAMAGUI_REACT_19 && config && !disableInjectCSS && /* @__PURE__ */ jsx(
38
+ "style",
39
+ {
40
+ precedence: "default",
41
+ href: "tamagui-css",
42
+ children: config.getCSS()
43
+ },
44
+ "tamagui-css"
45
+ )
46
+ ] });
36
47
  }
37
48
  function UnmountedClassName(props) {
38
49
  const [mounted, setMounted] = React.useState(!1);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/TamaguiProvider.tsx"],
4
- "mappings": "AAAA,SAAS,UAAU,OAAO,iCAAiC;AAC3D,OAAO,WAAW;AAElB,SAAS,kBAAkB;AAC3B,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAEpC,SAAS,qBAAqB;AAgCtB;AA9BD,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,6BAAoB,GAEhB,YAEF,0BAA0B,MAAM;AAC9B,QAAK,UACD,CAAC,kBAAkB;AACrB,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,mBAAM,YAAY,SAAS,eAAe,OAAO,OAAO,CAAC,CAAC,GAC1D,SAAS,KAAK,YAAY,KAAK,GACxB,MAAM;AACX,iBAAS,KAAK,YAAY,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,gBAAgB,CAAC,GAI7B,oBAAC,sBACC,8BAAC,iBAAiB,UAAjB,EAA0B,iBAAiB,QAAQ,YAClD;AAAA,IAAC;AAAA;AAAA,MACC,sBACE,wBAAwB,WAAW,sBAAsB;AAAA,MAE3D,uBACE,yBAAyB,WAAW,uBAAuB;AAAA,MAE7D,cAAc,iBAAiB,SAAS,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,IAAI;AAAA,MACxE;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,EACH,GACF,GACF;AAEJ;AAGA,SAAS,mBAAmB,OAAsC;AAChE,QAAM,CAAC,SAAS,UAAU,IAAI,MAAM,SAAS,EAAK;AAMlD,SAJA,MAAM,UAAU,MAAM;AACpB,eAAW,EAAI;AAAA,EACjB,GAAG,CAAC,CAAC,GAEA,QAKH,oBAAC,UAAK,OAAO,EAAE,SAAS,WAAW,GAAG,WAAW,UAAU,KAAK,eAC7D,gBAAM,UACT,IANO,MAAM;AAQjB;AAEA,gBAAgB,cAAiB;",
4
+ "mappings": "AAAA,SAAS,UAAU,OAAO,iCAAiC;AAC3D,OAAO,WAAW;AAElB,SAAS,kBAAkB;AAC3B,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAEpC,SAAS,qBAAqB;AAgC1B,mBAGM,KAHN;AA9BG,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,6BAAoB,GAEf,QAAQ,IAAI,oBACX,YAEF,0BAA0B,MAAM;AAC9B,QAAK,UACD,CAAC,kBAAkB;AACrB,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,mBAAM,YAAY,SAAS,eAAe,OAAO,OAAO,CAAC,CAAC,GAC1D,SAAS,KAAK,YAAY,KAAK,GACxB,MAAM;AACX,iBAAS,KAAK,YAAY,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,gBAAgB,CAAC,GAK/B,iCACE;AAAA,wBAAC,sBACC,8BAAC,iBAAiB,UAAjB,EAA0B,iBAAiB,QAAQ,YAClD;AAAA,MAAC;AAAA;AAAA,QACC,sBACE,wBAAwB,WAAW,sBAAsB;AAAA,QAE3D,uBACE,yBAAyB,WAAW,uBAAuB;AAAA,QAE7D,cAAc,iBAAiB,SAAS,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,IAAI;AAAA,QACxE;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,IACH,GACF,GACF;AAAA,IAEC,QAAQ,IAAI,oBAAoB,UAAU,CAAC,oBAC1C;AAAA,MAAC;AAAA;AAAA,QAIC,YAAW;AAAA,QACX,MAAK;AAAA,QAGJ,iBAAO,OAAO;AAAA;AAAA,MAFX;AAAA,IAGN;AAAA,KAEJ;AAEJ;AAGA,SAAS,mBAAmB,OAAsC;AAChE,QAAM,CAAC,SAAS,UAAU,IAAI,MAAM,SAAS,EAAK;AAMlD,SAJA,MAAM,UAAU,MAAM;AACpB,eAAW,EAAI;AAAA,EACjB,GAAG,CAAC,CAAC,GAEA,QAKH,oBAAC,UAAK,OAAO,EAAE,SAAS,WAAW,GAAG,WAAW,UAAU,KAAK,eAC7D,gBAAM,UACT,IANO,MAAM;AAQjB;AAEA,gBAAgB,cAAiB;",
5
5
  "names": []
6
6
  }
@@ -4,7 +4,7 @@ import { getSetting } from "../config.mjs";
4
4
  import { ComponentContext } from "../contexts/ComponentContext.mjs";
5
5
  import { setupMediaListeners } from "../hooks/useMedia.mjs";
6
6
  import { ThemeProvider } from "./ThemeProvider.mjs";
7
- import { jsx } from "react/jsx-runtime";
7
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
8
  function TamaguiProvider({
9
9
  children,
10
10
  disableInjectCSS,
@@ -15,25 +15,31 @@ function TamaguiProvider({
15
15
  reset,
16
16
  themeClassNameOnRoot
17
17
  }) {
18
- return setupMediaListeners(), isClient && useIsomorphicLayoutEffect(() => {
18
+ return setupMediaListeners(), process.env.TAMAGUI_REACT_19 || isClient && useIsomorphicLayoutEffect(() => {
19
19
  if (config && !disableInjectCSS) {
20
20
  const style = document.createElement("style");
21
21
  return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), () => {
22
22
  document.head.removeChild(style);
23
23
  };
24
24
  }
25
- }, [config, disableInjectCSS]), /* @__PURE__ */jsx(UnmountedClassName, {
26
- children: /* @__PURE__ */jsx(ComponentContext.Provider, {
27
- animationDriver: config?.animations,
28
- children: /* @__PURE__ */jsx(ThemeProvider, {
29
- themeClassNameOnRoot: themeClassNameOnRoot ?? getSetting("themeClassNameOnRoot"),
30
- disableRootThemeClass: disableRootThemeClass ?? getSetting("disableRootThemeClass"),
31
- defaultTheme: defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
32
- reset,
33
- className,
34
- children
25
+ }, [config, disableInjectCSS]), /* @__PURE__ */jsxs(Fragment, {
26
+ children: [/* @__PURE__ */jsx(UnmountedClassName, {
27
+ children: /* @__PURE__ */jsx(ComponentContext.Provider, {
28
+ animationDriver: config?.animations,
29
+ children: /* @__PURE__ */jsx(ThemeProvider, {
30
+ themeClassNameOnRoot: themeClassNameOnRoot ?? getSetting("themeClassNameOnRoot"),
31
+ disableRootThemeClass: disableRootThemeClass ?? getSetting("disableRootThemeClass"),
32
+ defaultTheme: defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
33
+ reset,
34
+ className,
35
+ children
36
+ })
35
37
  })
36
- })
38
+ }), process.env.TAMAGUI_REACT_19 && config && !disableInjectCSS && /* @__PURE__ */jsx("style", {
39
+ precedence: "default",
40
+ href: "tamagui-css",
41
+ children: config.getCSS()
42
+ }, "tamagui-css")]
37
43
  });
38
44
  }
39
45
  function UnmountedClassName(props) {
@@ -1 +1 @@
1
- {"version":3,"names":["isClient","isWeb","useIsomorphicLayoutEffect","React","getSetting","ComponentContext","setupMediaListeners","ThemeProvider","jsx","TamaguiProvider","children","disableInjectCSS","config","className","defaultTheme","disableRootThemeClass","reset","themeClassNameOnRoot","style","document","createElement","appendChild","createTextNode","getCSS","head","removeChild","UnmountedClassName","Provider","animationDriver","animations","Object","keys","themes","props","mounted","setMounted","useState","useEffect","display","displayName"],"sources":["../../../src/views/TamaguiProvider.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,KAAA,EAAOC,yBAAA,QAAiC;AAC3D,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAA,QAAkB;AAC3B,SAASC,gBAAA,QAAwB;AACjC,SAASC,mBAAA,QAA2B;AAEpC,SAASC,aAAA,QAAqB;AAgCtB,SAAAC,GAAA;AA9BD,SAASC,gBAAgB;EAC9BC,QAAA;EACAC,gBAAA;EACAC,MAAA;EACAC,SAAA;EACAC,YAAA;EACAC,qBAAA;EACAC,KAAA;EACAC;AACF,GAAyB;EACvB,OAAAX,mBAAA,CAAoB,GAEhBN,QAAA,IAEFE,yBAAA,CAA0B,MAAM;IAC9B,IAAKU,MAAA,IACD,CAACD,gBAAA,EAAkB;MACrB,MAAMO,KAAA,GAAQC,QAAA,CAASC,aAAA,CAAc,OAAO;MAC5C,OAAAF,KAAA,CAAMG,WAAA,CAAYF,QAAA,CAASG,cAAA,CAAeV,MAAA,CAAOW,MAAA,CAAO,CAAC,CAAC,GAC1DJ,QAAA,CAASK,IAAA,CAAKH,WAAA,CAAYH,KAAK,GACxB,MAAM;QACXC,QAAA,CAASK,IAAA,CAAKC,WAAA,CAAYP,KAAK;MACjC;IACF;EACF,GAAG,CAACN,MAAA,EAAQD,gBAAgB,CAAC,GAI7B,eAAAH,GAAA,CAACkB,kBAAA;IACChB,QAAA,iBAAAF,GAAA,CAACH,gBAAA,CAAiBsB,QAAA,EAAjB;MAA0BC,eAAA,EAAiBhB,MAAA,EAAQiB,UAAA;MAClDnB,QAAA,iBAAAF,GAAA,CAACD,aAAA;QACCU,oBAAA,EACEA,oBAAA,IAAwBb,UAAA,CAAW,sBAAsB;QAE3DW,qBAAA,EACEA,qBAAA,IAAyBX,UAAA,CAAW,uBAAuB;QAE7DU,YAAA,EAAcA,YAAA,KAAiBF,MAAA,GAASkB,MAAA,CAAOC,IAAA,CAAKnB,MAAA,CAAOoB,MAAM,EAAE,CAAC,IAAI;QACxEhB,KAAA;QACAH,SAAA;QAECH;MAAA,CACH;IAAA,CACF;EAAA,CACF;AAEJ;AAGA,SAASgB,mBAAmBO,KAAA,EAAsC;EAChE,MAAM,CAACC,OAAA,EAASC,UAAU,IAAIhC,KAAA,CAAMiC,QAAA,CAAS,EAAK;EAMlD,OAJAjC,KAAA,CAAMkC,SAAA,CAAU,MAAM;IACpBF,UAAA,CAAW,EAAI;EACjB,GAAG,EAAE,GAEAlC,KAAA,GAKH,eAAAO,GAAA,CAAC;IAAKU,KAAA,EAAO;MAAEoB,OAAA,EAAS;IAAW;IAAGzB,SAAA,EAAWqB,OAAA,GAAU,KAAK;IAC7DxB,QAAA,EAAAuB,KAAA,CAAMvB;EAAA,CACT,IANOuB,KAAA,CAAMvB,QAAA;AAQjB;AAEAD,eAAA,CAAgB8B,WAAA,GAAiB","ignoreList":[]}
1
+ {"version":3,"names":["isClient","isWeb","useIsomorphicLayoutEffect","React","getSetting","ComponentContext","setupMediaListeners","ThemeProvider","Fragment","jsx","jsxs","TamaguiProvider","children","disableInjectCSS","config","className","defaultTheme","disableRootThemeClass","reset","themeClassNameOnRoot","process","env","TAMAGUI_REACT_19","style","document","createElement","appendChild","createTextNode","getCSS","head","removeChild","UnmountedClassName","Provider","animationDriver","animations","Object","keys","themes","precedence","href","props","mounted","setMounted","useState","useEffect","display","displayName"],"sources":["../../../src/views/TamaguiProvider.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,KAAA,EAAOC,yBAAA,QAAiC;AAC3D,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAA,QAAkB;AAC3B,SAASC,gBAAA,QAAwB;AACjC,SAASC,mBAAA,QAA2B;AAEpC,SAASC,aAAA,QAAqB;AAgC1B,SAAAC,QAAA,EAGMC,GAAA,EAHNC,IAAA;AA9BG,SAASC,gBAAgB;EAC9BC,QAAA;EACAC,gBAAA;EACAC,MAAA;EACAC,SAAA;EACAC,YAAA;EACAC,qBAAA;EACAC,KAAA;EACAC;AACF,GAAyB;EACvB,OAAAb,mBAAA,CAAoB,GAEfc,OAAA,CAAQC,GAAA,CAAIC,gBAAA,IACXtB,QAAA,IAEFE,yBAAA,CAA0B,MAAM;IAC9B,IAAKY,MAAA,IACD,CAACD,gBAAA,EAAkB;MACrB,MAAMU,KAAA,GAAQC,QAAA,CAASC,aAAA,CAAc,OAAO;MAC5C,OAAAF,KAAA,CAAMG,WAAA,CAAYF,QAAA,CAASG,cAAA,CAAeb,MAAA,CAAOc,MAAA,CAAO,CAAC,CAAC,GAC1DJ,QAAA,CAASK,IAAA,CAAKH,WAAA,CAAYH,KAAK,GACxB,MAAM;QACXC,QAAA,CAASK,IAAA,CAAKC,WAAA,CAAYP,KAAK;MACjC;IACF;EACF,GAAG,CAACT,MAAA,EAAQD,gBAAgB,CAAC,GAK/B,eAAAH,IAAA,CAAAF,QAAA;IACEI,QAAA,kBAAAH,GAAA,CAACsB,kBAAA;MACCnB,QAAA,iBAAAH,GAAA,CAACJ,gBAAA,CAAiB2B,QAAA,EAAjB;QAA0BC,eAAA,EAAiBnB,MAAA,EAAQoB,UAAA;QAClDtB,QAAA,iBAAAH,GAAA,CAACF,aAAA;UACCY,oBAAA,EACEA,oBAAA,IAAwBf,UAAA,CAAW,sBAAsB;UAE3Da,qBAAA,EACEA,qBAAA,IAAyBb,UAAA,CAAW,uBAAuB;UAE7DY,YAAA,EAAcA,YAAA,KAAiBF,MAAA,GAASqB,MAAA,CAAOC,IAAA,CAAKtB,MAAA,CAAOuB,MAAM,EAAE,CAAC,IAAI;UACxEnB,KAAA;UACAH,SAAA;UAECH;QAAA,CACH;MAAA,CACF;IAAA,CACF,GAECQ,OAAA,CAAQC,GAAA,CAAIC,gBAAA,IAAoBR,MAAA,IAAU,CAACD,gBAAA,IAC1C,eAAAJ,GAAA,CAAC;MAIC6B,UAAA,EAAW;MACXC,IAAA,EAAK;MAGJ3B,QAAA,EAAAE,MAAA,CAAOc,MAAA,CAAO;IAAA,GAFX,aAGN;EAAA,CAEJ;AAEJ;AAGA,SAASG,mBAAmBS,KAAA,EAAsC;EAChE,MAAM,CAACC,OAAA,EAASC,UAAU,IAAIvC,KAAA,CAAMwC,QAAA,CAAS,EAAK;EAMlD,OAJAxC,KAAA,CAAMyC,SAAA,CAAU,MAAM;IACpBF,UAAA,CAAW,EAAI;EACjB,GAAG,EAAE,GAEAzC,KAAA,GAKH,eAAAQ,GAAA,CAAC;IAAKc,KAAA,EAAO;MAAEsB,OAAA,EAAS;IAAW;IAAG9B,SAAA,EAAW0B,OAAA,GAAU,KAAK;IAC7D7B,QAAA,EAAA4B,KAAA,CAAM5B;EAAA,CACT,IANO4B,KAAA,CAAM5B,QAAA;AAQjB;AAEAD,eAAA,CAAgBmC,WAAA,GAAiB","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { isClient, isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
3
3
  import React from "react";
4
4
  import { getSetting } from "../config.native.js";
@@ -16,25 +16,34 @@ function TamaguiProvider(param) {
16
16
  reset,
17
17
  themeClassNameOnRoot
18
18
  } = param;
19
- return setupMediaListeners(), isClient && useIsomorphicLayoutEffect(function () {
19
+ return setupMediaListeners(), process.env.TAMAGUI_REACT_19 || isClient && useIsomorphicLayoutEffect(function () {
20
20
  if (config && !disableInjectCSS) {
21
21
  var style = document.createElement("style");
22
22
  return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), function () {
23
23
  document.head.removeChild(style);
24
24
  };
25
25
  }
26
- }, [config, disableInjectCSS]), /* @__PURE__ */_jsx(UnmountedClassName, {
27
- children: /* @__PURE__ */_jsx(ComponentContext.Provider, {
28
- animationDriver: config?.animations,
29
- children: /* @__PURE__ */_jsx(ThemeProvider, {
30
- themeClassNameOnRoot: themeClassNameOnRoot ?? getSetting("themeClassNameOnRoot"),
31
- disableRootThemeClass: disableRootThemeClass ?? getSetting("disableRootThemeClass"),
32
- defaultTheme: defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
33
- reset,
34
- className,
35
- children
26
+ }, [config, disableInjectCSS]), /* @__PURE__ */_jsxs(_Fragment, {
27
+ children: [/* @__PURE__ */_jsx(UnmountedClassName, {
28
+ children: /* @__PURE__ */_jsx(ComponentContext.Provider, {
29
+ animationDriver: config?.animations,
30
+ children: /* @__PURE__ */_jsx(ThemeProvider, {
31
+ themeClassNameOnRoot: themeClassNameOnRoot ?? getSetting("themeClassNameOnRoot"),
32
+ disableRootThemeClass: disableRootThemeClass ?? getSetting("disableRootThemeClass"),
33
+ defaultTheme: defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
34
+ reset,
35
+ className,
36
+ children
37
+ })
36
38
  })
37
- })
39
+ }), process.env.TAMAGUI_REACT_19 && config && !disableInjectCSS && /* @__PURE__ */_jsx("style", {
40
+ // react 19 feature to hoist style tags to header:
41
+ // https://react.dev/reference/react-dom/components/style
42
+ // @ts-ignore
43
+ precedence: "default",
44
+ href: "tamagui-css",
45
+ children: config.getCSS()
46
+ }, "tamagui-css")]
38
47
  });
39
48
  }
40
49
  function UnmountedClassName(props) {
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","isClient","isWeb","useIsomorphicLayoutEffect","React","getSetting","ComponentContext","setupMediaListeners","ThemeProvider","TamaguiProvider","param","children","disableInjectCSS","config","className","defaultTheme","disableRootThemeClass","reset","themeClassNameOnRoot","style","document","createElement","appendChild","createTextNode","getCSS","head","removeChild","UnmountedClassName","Provider","animationDriver","animations","Object","keys","themes","props","mounted","setMounted","useState","useEffect","display"],"sources":["../../../src/views/TamaguiProvider.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAU,QAAO;AAC1B,SAAOC,QAAA,EAAWC,KAAA,EAAAC,yBAAA;AAElB,OAAAC,KAAS;AACT,SAASC,UAAA,6BAAwB;AACjC,SAASC,gBAAA,gDAA2B;AAEpC,SAASC,mBAAA,QAAqB;AAgCtB,SAAAC,aAAA;AA9BD,SAASC,gBAAgBC,KAAA;EAC9B;IAAAC,QAAA;IAAAC,gBAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC,YAAA;IAAAC,qBAAA;IAAAC,KAAA;IAAAC;EAAA,IAAAR,KAAA;EACA,OAAAH,mBAAA,IAAAN,QAAA,IAAAE,yBAAA;IACA,IAAAU,MAAA,KAAAD,gBAAA;MACA,IAAAO,KAAA,GAAAC,QAAA,CAAAC,aAAA;MACA,OAAAF,KAAA,CAAAG,WAAA,CAAAF,QAAA,CAAAG,cAAA,CAAAV,MAAA,CAAAW,MAAA,MAAAJ,QAAA,CAAAK,IAAA,CAAAH,WAAA,CAAAH,KAAA;QACAC,QAAA,CAAAK,IAAA,CAAAC,WAAA,CAAAP,KAAA;MACA;IACA;EACF,CAAyB,GACvBN,MAAA,EAKID,gBACK,CACH,kBAAcZ,IAAA,CAAA2B,kBAAuB;IACrChB,QAAA,iBAAMX,IAAY,CAAAM,gBAAS,CAAAsB,QAAe,EAAO;MAG/CC,eAAS,EAAKhB,MAAA,EAAAiB,UAAiB;MACjCnB,QAAA,iBAAAX,IAAA,CAAAQ,aAAA;QACFU,oBAAA,EAAAA,oBAAA,IAAAb,UAAA;QACEW,qBAAQ,EAAiBA,qBAI7B,IAACX,UAAA,wBACC;QACGU,YAAA,EAAAA,YAAA,KAAAF,MAAA,GAAAkB,MAAA,CAAAC,IAAA,CAAAnB,MAAA,CAAAoB,MAAA;QAAAhB,KAAA;QACCH,SAAA;QAGAH;MAGA;IAAwE;EACxE;AACA;AAEC,SAAAgB,mBAAAO,KAAA;EACH,IACF,CAAAC,OACF,EAAAC,UAAA,IAAAhC,KAAA,CAAAiC,QAAA;EAEJ,OAAAjC,KAAA,CAAAkC,SAAA;IAGAF,UAAS;EACP,MAAM,EAAClC,KAAA,GAAS,eAAcF,IAAM,SAAS;IAM7CmB,KAJA;MACEoB,OAAA,EAAW;IACb,CAAG;IAWLzB,SAAA,EAAAqB,OAAA;IAEAxB,QAAA,EAAAuB,KAAgB,CAAAvB","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","isClient","isWeb","useIsomorphicLayoutEffect","React","getSetting","ComponentContext","setupMediaListeners","ThemeProvider","TamaguiProvider","param","children","disableInjectCSS","config","className","defaultTheme","disableRootThemeClass","reset","themeClassNameOnRoot","process","env","TAMAGUI_REACT_19","style","document","createElement","appendChild","createTextNode","getCSS","head","removeChild","UnmountedClassName","Provider","animationDriver","animations","Object","keys","themes","precedence","href","props","mounted","setMounted","useState","useEffect","display"],"sources":["../../../src/views/TamaguiProvider.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAU,EAAAC,IAAO,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA,QAAiC;AAC3D,SAAOC,QAAA,EAAWC,KAAA,EAAAC,yBAAA;AAElB,OAAAC,KAAS;AACT,SAASC,UAAA,6BAAwB;AACjC,SAASC,gBAAA,gDAA2B;AAEpC,SAASC,mBAAA,QAAqB;AAgC1B,SAAAC,aAGM,QAHN;AA9BG,SAASC,gBAAgBC,KAAA;EAC9B;IAAAC,QAAA;IAAAC,gBAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC,YAAA;IAAAC,qBAAA;IAAAC,KAAA;IAAAC;EAAA,IAAAR,KAAA;EACA,OAAAH,mBAAA,IAAAY,OAAA,CAAAC,GAAA,CAAAC,gBAAA,IAAApB,QAAA,IAAAE,yBAAA;IACA,IAAAU,MAAA,KAAAD,gBAAA;MACA,IAAAU,KAAA,GAAAC,QAAA,CAAAC,aAAA;MACA,OAAAF,KAAA,CAAAG,WAAA,CAAAF,QAAA,CAAAG,cAAA,CAAAb,MAAA,CAAAc,MAAA,MAAAJ,QAAA,CAAAK,IAAA,CAAAH,WAAA,CAAAH,KAAA;QACAC,QAAA,CAAAK,IAAA,CAAAC,WAAA,CAAAP,KAAA;MACA;IACA;EACF,CAAyB,GACvBT,MAAA,EAMMD,gBACK,CACH,kBAAcd,KAAA,CAAAE,SAAS;IACvBW,QAAA,GAGE,eAAcf,IAAA,CAAAkC,kBAAiB;MACjCnB,QAAA,iBAAAf,IAAA,CAAAU,gBAAA,CAAAyB,QAAA;QACFC,eAAA,EAAAnB,MAAA,EAAAoB,UAAA;QACEtB,QAAQ,iBAKdf,IAAA,CAAAY,aAAA;UACEU,oBAAC,EAAAA,oBACC,IAAAb,UAAA,uBAAC;UACEW,qBAAA,EAAAA,qBAAA,IAAAX,UAAA;UAAAU,YAAA,EAAAA,YAAA,KAAAF,MAAA,GAAAqB,MAAA,CAAAC,IAAA,CAAAtB,MAAA,CAAAuB,MAAA;UACCnB,KAAA;UAGAH,SAAA;UAGAH;QACA;MACA;IAAA,EAEC,EAAAQ,OAAA,CAAAC,GAAA,CAAAC,gBAAA,IAAAR,MAAA,KAAAD,gBAAA,mBAAAhB,IAAA;MAEL;MAGD;MACE;MAAAyC,UAAA;MAICC,IAAA,eAAW;MACX3B,QAAK,EAAAE,MAAA,CAAAc,MAAA;IAAA,GAGJ;EAAc;AAFX;AAGN,SAEJG,mBAAAS,KAAA;EAEJ,KAAAC,OAAA,EAAAC,UAAA,IAAArC,KAAA,CAAAsC,QAAA;EAGA,OAAStC,KAAA,CAAAuC,SAAA,aAAyD;IAChEF,UAAO,IAAS;EAMhB,QAJAvC,KAAM,kBAAgBN,IAAA;IACpB0B,KAAA;MACEsB,OAEC;IASP;IAEA9B,SAAA,EAAA0B,OAAgB,QAAiB","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/web",
3
- "version": "1.112.3",
3
+ "version": "1.112.4",
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.112.3",
31
- "@tamagui/constants": "1.112.3",
32
- "@tamagui/helpers": "1.112.3",
33
- "@tamagui/normalize-css-color": "1.112.3",
34
- "@tamagui/timer": "1.112.3",
35
- "@tamagui/types": "1.112.3",
36
- "@tamagui/use-did-finish-ssr": "1.112.3",
37
- "@tamagui/use-event": "1.112.3",
38
- "@tamagui/use-force-update": "1.112.3"
30
+ "@tamagui/compose-refs": "1.112.4",
31
+ "@tamagui/constants": "1.112.4",
32
+ "@tamagui/helpers": "1.112.4",
33
+ "@tamagui/normalize-css-color": "1.112.4",
34
+ "@tamagui/timer": "1.112.4",
35
+ "@tamagui/types": "1.112.4",
36
+ "@tamagui/use-did-finish-ssr": "1.112.4",
37
+ "@tamagui/use-event": "1.112.4",
38
+ "@tamagui/use-force-update": "1.112.4"
39
39
  },
40
40
  "devDependencies": {
41
- "@tamagui/build": "1.112.3",
41
+ "@tamagui/build": "1.112.4",
42
42
  "@testing-library/react": "^16.0.0",
43
43
  "csstype": "^3.0.10",
44
44
  "typescript": "^5.5.2",
@@ -19,39 +19,56 @@ export function TamaguiProvider({
19
19
  }: TamaguiProviderProps) {
20
20
  setupMediaListeners()
21
21
 
22
- if (isClient) {
23
- // inject CSS if asked to (not SSR compliant)
24
- useIsomorphicLayoutEffect(() => {
25
- if (!config) return
26
- if (!disableInjectCSS) {
27
- const style = document.createElement('style')
28
- style.appendChild(document.createTextNode(config.getCSS()))
29
- document.head.appendChild(style)
30
- return () => {
31
- document.head.removeChild(style)
22
+ if (!process.env.TAMAGUI_REACT_19) {
23
+ if (isClient) {
24
+ // inject CSS if asked to (not SSR compliant)
25
+ useIsomorphicLayoutEffect(() => {
26
+ if (!config) return
27
+ if (!disableInjectCSS) {
28
+ const style = document.createElement('style')
29
+ style.appendChild(document.createTextNode(config.getCSS()))
30
+ document.head.appendChild(style)
31
+ return () => {
32
+ document.head.removeChild(style)
33
+ }
32
34
  }
33
- }
34
- }, [config, disableInjectCSS])
35
+ }, [config, disableInjectCSS])
36
+ }
35
37
  }
36
38
 
37
39
  return (
38
- <UnmountedClassName>
39
- <ComponentContext.Provider animationDriver={config?.animations}>
40
- <ThemeProvider
41
- themeClassNameOnRoot={
42
- themeClassNameOnRoot ?? getSetting('themeClassNameOnRoot')
43
- }
44
- disableRootThemeClass={
45
- disableRootThemeClass ?? getSetting('disableRootThemeClass')
46
- }
47
- defaultTheme={defaultTheme ?? (config ? Object.keys(config.themes)[0] : '')}
48
- reset={reset}
49
- className={className}
40
+ <>
41
+ <UnmountedClassName>
42
+ <ComponentContext.Provider animationDriver={config?.animations}>
43
+ <ThemeProvider
44
+ themeClassNameOnRoot={
45
+ themeClassNameOnRoot ?? getSetting('themeClassNameOnRoot')
46
+ }
47
+ disableRootThemeClass={
48
+ disableRootThemeClass ?? getSetting('disableRootThemeClass')
49
+ }
50
+ defaultTheme={defaultTheme ?? (config ? Object.keys(config.themes)[0] : '')}
51
+ reset={reset}
52
+ className={className}
53
+ >
54
+ {children}
55
+ </ThemeProvider>
56
+ </ComponentContext.Provider>
57
+ </UnmountedClassName>
58
+
59
+ {process.env.TAMAGUI_REACT_19 && config && !disableInjectCSS && (
60
+ <style
61
+ // react 19 feature to hoist style tags to header:
62
+ // https://react.dev/reference/react-dom/components/style
63
+ // @ts-ignore
64
+ precedence="default"
65
+ href="tamagui-css"
66
+ key="tamagui-css"
50
67
  >
51
- {children}
52
- </ThemeProvider>
53
- </ComponentContext.Provider>
54
- </UnmountedClassName>
68
+ {config.getCSS()}
69
+ </style>
70
+ )}
71
+ </>
55
72
  )
56
73
  }
57
74
 
@@ -1 +1 @@
1
- {"version":3,"file":"TamaguiProvider.d.ts","sourceRoot":"","sources":["../../src/views/TamaguiProvider.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAGpD,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,KAAK,EACL,oBAAoB,GACrB,EAAE,oBAAoB,2CAqCtB;yBA9Ce,eAAe"}
1
+ {"version":3,"file":"TamaguiProvider.d.ts","sourceRoot":"","sources":["../../src/views/TamaguiProvider.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAGpD,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,KAAK,EACL,oBAAoB,GACrB,EAAE,oBAAoB,2CAsDtB;yBA/De,eAAe"}