@tamagui/core 1.72.3 → 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/native.js CHANGED
@@ -1612,6 +1612,152 @@ var require_pseudoDescriptors_native = __commonJS({
1612
1612
  }
1613
1613
  });
1614
1614
 
1615
+ // ../web/dist/cjs/helpers/objectIdentityKey.native.js
1616
+ var require_objectIdentityKey_native = __commonJS({
1617
+ "../web/dist/cjs/helpers/objectIdentityKey.native.js"(exports, module2) {
1618
+ "use strict";
1619
+ var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = (target, all) => {
1620
+ for (var name in all)
1621
+ __defProp2(target, name, { get: all[name], enumerable: !0 });
1622
+ }, __copyProps2 = (to, from, except, desc) => {
1623
+ if (from && typeof from == "object" || typeof from == "function")
1624
+ for (let key of __getOwnPropNames2(from))
1625
+ !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
1626
+ return to;
1627
+ }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), objectIdentityKey_exports = {};
1628
+ __export2(objectIdentityKey_exports, {
1629
+ objectIdentityKey: () => objectIdentityKey
1630
+ });
1631
+ module2.exports = __toCommonJS2(objectIdentityKey_exports);
1632
+ function objectIdentityKey(obj) {
1633
+ let k = "";
1634
+ for (let key in obj) {
1635
+ k += key;
1636
+ let arg = obj[key], type = typeof arg;
1637
+ if (!arg || type !== "object")
1638
+ k += type + arg;
1639
+ else if (cache.has(arg))
1640
+ k += cache.get(arg);
1641
+ else {
1642
+ let v = Math.random();
1643
+ cache.set(arg, v), k += v;
1644
+ }
1645
+ }
1646
+ return k;
1647
+ }
1648
+ var cache = /* @__PURE__ */ new WeakMap();
1649
+ }
1650
+ });
1651
+
1652
+ // ../web/dist/cjs/helpers/createStyledContext.native.js
1653
+ var require_createStyledContext_native = __commonJS({
1654
+ "../web/dist/cjs/helpers/createStyledContext.native.js"(exports, module2) {
1655
+ "use strict";
1656
+ var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = (target, all) => {
1657
+ for (var name in all)
1658
+ __defProp2(target, name, { get: all[name], enumerable: !0 });
1659
+ }, __copyProps2 = (to, from, except, desc) => {
1660
+ if (from && typeof from == "object" || typeof from == "function")
1661
+ for (let key of __getOwnPropNames2(from))
1662
+ !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
1663
+ return to;
1664
+ }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), createStyledContext_exports = {};
1665
+ __export2(createStyledContext_exports, {
1666
+ createStyledContext: () => createStyledContext
1667
+ });
1668
+ module2.exports = __toCommonJS2(createStyledContext_exports);
1669
+ var import_react = require("react"), import_objectIdentityKey = require_objectIdentityKey_native(), import_jsx_runtime = require("react/jsx-runtime");
1670
+ function createStyledContext(defaultValues) {
1671
+ let OGContext = (0, import_react.createContext)(defaultValues), OGProvider = OGContext.Provider, Context = OGContext, scopedContexts = /* @__PURE__ */ new Map(), Provider = ({
1672
+ children,
1673
+ scope,
1674
+ ...values
1675
+ }) => {
1676
+ let value = (0, import_react.useMemo)(() => ({
1677
+ // this ! is a workaround for ts error
1678
+ ...defaultValues,
1679
+ ...values
1680
+ }), [(0, import_objectIdentityKey.objectIdentityKey)(values)]), Provider2 = OGProvider;
1681
+ if (scope) {
1682
+ let ScopedContext = scopedContexts.get(scope);
1683
+ ScopedContext || (ScopedContext = (0, import_react.createContext)(defaultValues), scopedContexts.set(scope, ScopedContext)), Provider2 = ScopedContext.Provider;
1684
+ }
1685
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Provider2, { value, children });
1686
+ }, useStyledContext = (scope) => {
1687
+ let context = scope ? scopedContexts.get(scope) : OGContext;
1688
+ return (0, import_react.useContext)(context);
1689
+ };
1690
+ return Context.Provider = Provider, Context.props = defaultValues, Context.context = OGContext, Context.useStyledContext = useStyledContext, Context;
1691
+ }
1692
+ }
1693
+ });
1694
+
1695
+ // ../web/dist/cjs/contexts/ComponentContext.native.js
1696
+ var require_ComponentContext_native = __commonJS({
1697
+ "../web/dist/cjs/contexts/ComponentContext.native.js"(exports, module2) {
1698
+ "use strict";
1699
+ var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = (target, all) => {
1700
+ for (var name in all)
1701
+ __defProp2(target, name, { get: all[name], enumerable: !0 });
1702
+ }, __copyProps2 = (to, from, except, desc) => {
1703
+ if (from && typeof from == "object" || typeof from == "function")
1704
+ for (let key of __getOwnPropNames2(from))
1705
+ !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
1706
+ return to;
1707
+ }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), ComponentContext_exports = {};
1708
+ __export2(ComponentContext_exports, {
1709
+ ComponentContext: () => ComponentContext
1710
+ });
1711
+ module2.exports = __toCommonJS2(ComponentContext_exports);
1712
+ var import_createStyledContext = require_createStyledContext_native(), listeners = /* @__PURE__ */ new Set(), ComponentContext = (0, import_createStyledContext.createStyledContext)({
1713
+ disableSSR: void 0,
1714
+ inText: !1,
1715
+ language: null,
1716
+ animationDriver: null,
1717
+ groups: {
1718
+ emit: (name, state) => {
1719
+ listeners.forEach((l) => l(name, state));
1720
+ },
1721
+ subscribe(cb) {
1722
+ return listeners.add(cb), () => {
1723
+ listeners.delete(cb);
1724
+ };
1725
+ },
1726
+ state: {}
1727
+ }
1728
+ });
1729
+ }
1730
+ });
1731
+
1732
+ // ../web/dist/cjs/hooks/useDisableSSR.native.js
1733
+ var require_useDisableSSR_native = __commonJS({
1734
+ "../web/dist/cjs/hooks/useDisableSSR.native.js"(exports, module2) {
1735
+ "use strict";
1736
+ var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = (target, all) => {
1737
+ for (var name in all)
1738
+ __defProp2(target, name, { get: all[name], enumerable: !0 });
1739
+ }, __copyProps2 = (to, from, except, desc) => {
1740
+ if (from && typeof from == "object" || typeof from == "function")
1741
+ for (let key of __getOwnPropNames2(from))
1742
+ !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
1743
+ return to;
1744
+ }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), useDisableSSR_exports = {};
1745
+ __export2(useDisableSSR_exports, {
1746
+ getDisableSSR: () => getDisableSSR,
1747
+ useDisableSSR: () => useDisableSSR
1748
+ });
1749
+ module2.exports = __toCommonJS2(useDisableSSR_exports);
1750
+ var import_react = require("react"), import_config = require_config_native(), import_ComponentContext = require_ComponentContext_native();
1751
+ function useDisableSSR() {
1752
+ let componentContext = (0, import_react.useContext)(import_ComponentContext.ComponentContext);
1753
+ return getDisableSSR(componentContext);
1754
+ }
1755
+ function getDisableSSR(componentContext) {
1756
+ return componentContext.disableSSR ?? (0, import_config.getConfig)().disableSSR;
1757
+ }
1758
+ }
1759
+ });
1760
+
1615
1761
  // ../web/dist/cjs/hooks/useMedia.native.js
1616
1762
  var require_useMedia_native = __commonJS({
1617
1763
  "../web/dist/cjs/hooks/useMedia.native.js"(exports, module2) {
@@ -1627,7 +1773,6 @@ var require_useMedia_native = __commonJS({
1627
1773
  }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), useMedia_exports = {};
1628
1774
  __export2(useMedia_exports, {
1629
1775
  configureMedia: () => configureMedia2,
1630
- getInitialMediaState: () => getInitialMediaState,
1631
1776
  getMedia: () => getMedia2,
1632
1777
  getMediaImportanceIfMoreImportant: () => getMediaImportanceIfMoreImportant,
1633
1778
  getMediaKeyImportance: () => getMediaKeyImportance,
@@ -1645,7 +1790,7 @@ var require_useMedia_native = __commonJS({
1645
1790
  useMediaListeners: () => useMediaListeners
1646
1791
  });
1647
1792
  module2.exports = __toCommonJS2(useMedia_exports);
1648
- var import_constants2 = require_index_native2(), import_react = require("react"), import_config = require_config_native(), import_createProxy = require_createProxy_native(), import_matchMedia = require_matchMedia_native(), import_pseudoDescriptors = require_pseudoDescriptors_native(), mediaState2 = (
1793
+ var import_constants2 = require_index_native2(), import_react = require("react"), import_config = require_config_native(), import_createProxy = require_createProxy_native(), import_matchMedia = require_matchMedia_native(), import_pseudoDescriptors = require_pseudoDescriptors_native(), import_useDisableSSR = require_useDisableSSR_native(), mediaState2 = (
1649
1794
  // development only safeguard
1650
1795
  process.env.NODE_ENV === "development" ? (0, import_createProxy.createProxy)(
1651
1796
  {},
@@ -1658,7 +1803,7 @@ var require_useMedia_native = __commonJS({
1658
1803
  }
1659
1804
  }
1660
1805
  ) : {}
1661
- ), mediaQueryConfig2 = {}, getMedia2 = () => mediaState2, mediaKeys = /* @__PURE__ */ new Set(), isMediaKey = (key) => mediaKeys.has(key) || key[0] === "$" && (key.startsWith("$platform-") || key.startsWith("$theme-") || key.startsWith("$group-")), initState, getInitialMediaState = () => ((0, import_config.getConfig)().disableSSR ? mediaState2 : initState) || {}, defaultMediaImportance = Object.keys(import_pseudoDescriptors.pseudoDescriptors).length, mediaKeysOrdered, getMediaKeyImportance = (key) => {
1806
+ ), mediaQueryConfig2 = {}, getMedia2 = () => mediaState2, mediaKeys = /* @__PURE__ */ new Set(), isMediaKey = (key) => mediaKeys.has(key) || key[0] === "$" && (key.startsWith("$platform-") || key.startsWith("$theme-") || key.startsWith("$group-")), initState, defaultMediaImportance = Object.keys(import_pseudoDescriptors.pseudoDescriptors).length, mediaKeysOrdered, getMediaKeyImportance = (key) => {
1662
1807
  if (process.env.NODE_ENV === "development" && key[0] === "$")
1663
1808
  throw new Error("use short key");
1664
1809
  return (0, import_config.getConfig)().settings.mediaPropOrder ? defaultMediaImportance : mediaKeysOrdered.indexOf(key) + 100;
@@ -1711,23 +1856,23 @@ var require_useMedia_native = __commonJS({
1711
1856
  function subscribe(subscriber) {
1712
1857
  return listeners.add(subscriber), () => listeners.delete(subscriber);
1713
1858
  }
1714
- function useMedia2(uid) {
1715
- let internal = (0, import_react.useRef)(), state = (0, import_react.useSyncExternalStore)(
1859
+ function useMedia2(uid, componentContext) {
1860
+ let internal = (0, import_react.useRef)(), initialState = ((componentContext ? (0, import_useDisableSSR.getDisableSSR)(componentContext) : (0, import_useDisableSSR.useDisableSSR)()) ? mediaState2 : initState) || {}, state = (0, import_react.useSyncExternalStore)(
1716
1861
  subscribe,
1717
1862
  () => {
1718
1863
  if (!internal.current)
1719
- return initState;
1864
+ return initialState;
1720
1865
  let { touched, prev } = internal.current, componentState = uid ? shouldUpdate.get(uid) : void 0;
1721
1866
  if (componentState && componentState.enabled === !1)
1722
1867
  return prev;
1723
1868
  let testKeys = (componentState == null ? void 0 : componentState.keys) ?? ((!componentState || componentState.enabled) && touched ? [...touched] : null);
1724
1869
  return !testKeys || testKeys != null && testKeys.every((key) => mediaState2[key] === prev[key]) ? prev : (internal.current.prev = mediaState2, mediaState2);
1725
1870
  },
1726
- () => initState
1871
+ () => initialState
1727
1872
  );
1728
1873
  return new Proxy(state, {
1729
1874
  get(_, key) {
1730
- return typeof key == "string" && (internal.current ||= { prev: initState }, internal.current.touched ||= /* @__PURE__ */ new Set(), internal.current.touched.add(key)), Reflect.get(state, key);
1875
+ return typeof key == "string" && (internal.current ||= { prev: initialState }, internal.current.touched ||= /* @__PURE__ */ new Set(), internal.current.touched.add(key)), Reflect.get(state, key);
1731
1876
  }
1732
1877
  });
1733
1878
  }
@@ -1929,122 +2074,6 @@ var require_constants_native = __commonJS({
1929
2074
  }
1930
2075
  });
1931
2076
 
1932
- // ../web/dist/cjs/helpers/objectIdentityKey.native.js
1933
- var require_objectIdentityKey_native = __commonJS({
1934
- "../web/dist/cjs/helpers/objectIdentityKey.native.js"(exports, module2) {
1935
- "use strict";
1936
- var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = (target, all) => {
1937
- for (var name in all)
1938
- __defProp2(target, name, { get: all[name], enumerable: !0 });
1939
- }, __copyProps2 = (to, from, except, desc) => {
1940
- if (from && typeof from == "object" || typeof from == "function")
1941
- for (let key of __getOwnPropNames2(from))
1942
- !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
1943
- return to;
1944
- }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), objectIdentityKey_exports = {};
1945
- __export2(objectIdentityKey_exports, {
1946
- objectIdentityKey: () => objectIdentityKey
1947
- });
1948
- module2.exports = __toCommonJS2(objectIdentityKey_exports);
1949
- function objectIdentityKey(obj) {
1950
- let k = "";
1951
- for (let key in obj) {
1952
- k += key;
1953
- let arg = obj[key], type = typeof arg;
1954
- if (!arg || type !== "object")
1955
- k += type + arg;
1956
- else if (cache.has(arg))
1957
- k += cache.get(arg);
1958
- else {
1959
- let v = Math.random();
1960
- cache.set(arg, v), k += v;
1961
- }
1962
- }
1963
- return k;
1964
- }
1965
- var cache = /* @__PURE__ */ new WeakMap();
1966
- }
1967
- });
1968
-
1969
- // ../web/dist/cjs/helpers/createStyledContext.native.js
1970
- var require_createStyledContext_native = __commonJS({
1971
- "../web/dist/cjs/helpers/createStyledContext.native.js"(exports, module2) {
1972
- "use strict";
1973
- var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = (target, all) => {
1974
- for (var name in all)
1975
- __defProp2(target, name, { get: all[name], enumerable: !0 });
1976
- }, __copyProps2 = (to, from, except, desc) => {
1977
- if (from && typeof from == "object" || typeof from == "function")
1978
- for (let key of __getOwnPropNames2(from))
1979
- !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
1980
- return to;
1981
- }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), createStyledContext_exports = {};
1982
- __export2(createStyledContext_exports, {
1983
- createStyledContext: () => createStyledContext
1984
- });
1985
- module2.exports = __toCommonJS2(createStyledContext_exports);
1986
- var import_react = require("react"), import_objectIdentityKey = require_objectIdentityKey_native(), import_jsx_runtime = require("react/jsx-runtime");
1987
- function createStyledContext(defaultValues) {
1988
- let OGContext = (0, import_react.createContext)(defaultValues), OGProvider = OGContext.Provider, Context = OGContext, scopedContexts = /* @__PURE__ */ new Map(), Provider = ({
1989
- children,
1990
- scope,
1991
- ...values
1992
- }) => {
1993
- let value = (0, import_react.useMemo)(() => ({
1994
- // this ! is a workaround for ts error
1995
- ...defaultValues,
1996
- ...values
1997
- }), [(0, import_objectIdentityKey.objectIdentityKey)(values)]), Provider2 = OGProvider;
1998
- if (scope) {
1999
- let ScopedContext = scopedContexts.get(scope);
2000
- ScopedContext || (ScopedContext = (0, import_react.createContext)(defaultValues), scopedContexts.set(scope, ScopedContext)), Provider2 = ScopedContext.Provider;
2001
- }
2002
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Provider2, { value, children });
2003
- }, useStyledContext = (scope) => {
2004
- let context = scope ? scopedContexts.get(scope) : OGContext;
2005
- return (0, import_react.useContext)(context);
2006
- };
2007
- return Context.Provider = Provider, Context.props = defaultValues, Context.context = OGContext, Context.useStyledContext = useStyledContext, Context;
2008
- }
2009
- }
2010
- });
2011
-
2012
- // ../web/dist/cjs/contexts/ComponentContext.native.js
2013
- var require_ComponentContext_native = __commonJS({
2014
- "../web/dist/cjs/contexts/ComponentContext.native.js"(exports, module2) {
2015
- "use strict";
2016
- var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = (target, all) => {
2017
- for (var name in all)
2018
- __defProp2(target, name, { get: all[name], enumerable: !0 });
2019
- }, __copyProps2 = (to, from, except, desc) => {
2020
- if (from && typeof from == "object" || typeof from == "function")
2021
- for (let key of __getOwnPropNames2(from))
2022
- !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
2023
- return to;
2024
- }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), ComponentContext_exports = {};
2025
- __export2(ComponentContext_exports, {
2026
- ComponentContext: () => ComponentContext
2027
- });
2028
- module2.exports = __toCommonJS2(ComponentContext_exports);
2029
- var import_createStyledContext = require_createStyledContext_native(), listeners = /* @__PURE__ */ new Set(), ComponentContext = (0, import_createStyledContext.createStyledContext)({
2030
- inText: !1,
2031
- language: null,
2032
- animationDriver: null,
2033
- groups: {
2034
- emit: (name, state) => {
2035
- listeners.forEach((l) => l(name, state));
2036
- },
2037
- subscribe(cb) {
2038
- return listeners.add(cb), () => {
2039
- listeners.delete(cb);
2040
- };
2041
- },
2042
- state: {}
2043
- }
2044
- });
2045
- }
2046
- });
2047
-
2048
2077
  // ../web/dist/cjs/defaultComponentState.native.js
2049
2078
  var require_defaultComponentState_native = __commonJS({
2050
2079
  "../web/dist/cjs/defaultComponentState.native.js"(exports, module2) {
@@ -3192,7 +3221,7 @@ var require_propMapper_native = __commonJS({
3192
3221
  let { staticConfig, conf, debug } = styleState, { variants } = staticConfig;
3193
3222
  if (!variants)
3194
3223
  return;
3195
- let variantValue = getVariantDefinition(variants[key], key, value, conf);
3224
+ let variantValue = getVariantDefinition(variants[key], value, conf);
3196
3225
  if (process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed(`\u2666\uFE0F\u2666\uFE0F\u2666\uFE0F resolve variant ${key}`), console.log({
3197
3226
  key,
3198
3227
  value,
@@ -3285,17 +3314,22 @@ var require_propMapper_native = __commonJS({
3285
3314
  name,
3286
3315
  spreadName: `...${name}`
3287
3316
  }));
3288
- function getVariantDefinition(variant, key, value, conf) {
3317
+ function getVariantDefinition(variant, value, conf) {
3289
3318
  if (typeof variant == "function")
3290
3319
  return variant;
3291
- if (variant[value])
3292
- return variant[value];
3293
- let { tokensParsed } = conf;
3294
- for (let { name, spreadName } of tokenCats)
3295
- if (spreadName in variant && value in tokensParsed[name])
3296
- return variant[spreadName];
3297
- let fontSizeVariant = variant["...fontSize"];
3298
- return fontSizeVariant && conf.fontSizeTokens.has(value) ? fontSizeVariant : variant[`:${typeof value}`] || variant["..."] || variant["...size"];
3320
+ let exact = variant[value];
3321
+ if (exact)
3322
+ return exact;
3323
+ if (value != null) {
3324
+ let { tokensParsed } = conf;
3325
+ for (let { name, spreadName } of tokenCats)
3326
+ if (spreadName in variant && value in tokensParsed[name])
3327
+ return variant[spreadName];
3328
+ let fontSizeVariant = variant["...fontSize"];
3329
+ if (fontSizeVariant && conf.fontSizeTokens.has(value))
3330
+ return fontSizeVariant;
3331
+ }
3332
+ return variant[`:${typeof value}`] || variant["..."];
3299
3333
  }
3300
3334
  var fontShorthand = {
3301
3335
  fontSize: "size",
@@ -3501,7 +3535,7 @@ current`, {
3501
3535
  if (expanded) {
3502
3536
  for (let [key, val] of expanded)
3503
3537
  if (!(val == null || key in usedKeys)) {
3504
- if (isPseudo = key in import_helpers.validPseudoKeys, isMedia = !isPseudo && !isValidStyleKeyInit && (0, import_useMedia.isMediaKey)(key), isMediaOrPseudo = isMedia || isPseudo, isVariant = variants && key in variants, (inlineProps != null && inlineProps.has(key) || IS_STATIC && inlineWhenUnflattened != null && inlineWhenUnflattened.has(key)) && (viewProps[key] = props[key] ?? val), isHOC && (isMediaOrPseudo || ((_b = parentStaticConfig == null ? void 0 : parentStaticConfig.variants) == null ? void 0 : _b[keyInit]))) {
3538
+ if (isPseudo = key in import_helpers.validPseudoKeys, isMedia = !isPseudo && !isValidStyleKeyInit && (0, import_useMedia.isMediaKey)(key), isMediaOrPseudo = isMedia || isPseudo, isVariant = variants && key in variants, (inlineProps != null && inlineProps.has(key) || IS_STATIC && inlineWhenUnflattened != null && inlineWhenUnflattened.has(key)) && (viewProps[key] = props[key] ?? val), styleProps.noExpand && isPseudo || isHOC && (isMediaOrPseudo || ((_b = parentStaticConfig == null ? void 0 : parentStaticConfig.variants) == null ? void 0 : _b[keyInit]))) {
3505
3539
  passDownProp(viewProps, key, val, isMediaOrPseudo), process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed(` - passing down prop ${key}`), console.log({ val, after: { ...viewProps[key] } }), console.groupEnd());
3506
3540
  continue;
3507
3541
  }
@@ -3546,12 +3580,13 @@ current`, {
3546
3580
  mergeStyle(styleState, pkey, defaultVal);
3547
3581
  }
3548
3582
  } else {
3549
- let curImportance = usedKeys[importance] || 0, shouldMerge = importance >= curImportance;
3550
- shouldMerge && (pseudos ||= {}, pseudos[key] ||= {}, pseudos[key][pkey] = val2, mergeStyle(styleState, pkey, val2), usedKeys[pkey] ||= 1), process.env.NODE_ENV === "development" && debug === "verbose" && console.log(" subKey", pkey, shouldMerge, {
3583
+ let curImportance = usedKeys[pkey] || 0, shouldMerge = importance >= curImportance;
3584
+ shouldMerge && (pseudos ||= {}, pseudos[key] ||= {}, pseudos[key][pkey] = val2, mergeStyle(styleState, pkey, val2), usedKeys[pkey] = Math.max(usedKeys[pkey], importance)), process.env.NODE_ENV === "development" && debug === "verbose" && console.log(" subKey", pkey, shouldMerge, {
3551
3585
  importance,
3552
3586
  curImportance,
3553
3587
  pkey,
3554
- val: val2
3588
+ val: val2,
3589
+ transforms: { ...styleState.transforms }
3555
3590
  });
3556
3591
  }
3557
3592
  }
@@ -3684,7 +3719,7 @@ current`, {
3684
3719
  if (process.env.NODE_ENV === "development" && debug === "verbose") {
3685
3720
  console.groupCollapsed(" \u2714\uFE0F expand complete", keyInit);
3686
3721
  try {
3687
- console.log("style", { ...style }), console.log("viewProps", { ...viewProps });
3722
+ console.log("style", { ...style }), console.log("transforms", { ...transforms }), console.log("viewProps", { ...viewProps });
3688
3723
  } catch {
3689
3724
  }
3690
3725
  console.groupEnd();
@@ -4161,15 +4196,16 @@ var require_useTheme_native = __commonJS({
4161
4196
  keys: [...keys.current]
4162
4197
  }), next;
4163
4198
  }
4164
- ), { themeManager, state } = changedThemeState, { theme, name, className } = state;
4165
- if (!theme)
4166
- throw process.env.NODE_ENV === "development" ? new Error(
4167
- `No theme found given props ${JSON.stringify(
4168
- props
4169
- )}. Themes given to tamagui are: ${Object.keys((0, import_config.getConfig)().themes)}`
4170
- ) : "\u274C 1";
4171
- let themeProxied = (0, import_react.useMemo)(() => getThemeProxied(theme, themeManager, keys.current, props.debug), [theme, name, className, themeManager]);
4172
- 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];
4199
+ ), { themeManager, state } = changedThemeState;
4200
+ state != null && state.theme || process.env.NODE_ENV === "development" && process.env.TAMAGUI_DISABLE_NO_THEME_WARNING !== "1" && console.warn(
4201
+ `[tamagui] No theme found, this could be due to an invalid theme name (given theme props ${JSON.stringify(
4202
+ props
4203
+ )}).
4204
+
4205
+ 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`
4206
+ );
4207
+ let themeProxied = (0, import_react.useMemo)(() => !themeManager || !(state != null && state.theme) ? {} : getThemeProxied(state.theme, themeManager, keys.current, props.debug), [state, themeManager]);
4208
+ return process.env.NODE_ENV === "development" && props.debug === "verbose" && (console.groupCollapsed(" \u{1F539} useTheme =>", state == null ? void 0 : state.name), console.log("returning state", changedThemeState, "from props", props), console.groupEnd()), [changedThemeState, themeProxied];
4173
4209
  };
4174
4210
  function getThemeProxied(theme, themeManager, keys, debug) {
4175
4211
  return (0, import_createProxy.createProxy)(theme, {
@@ -4201,30 +4237,29 @@ var require_useTheme_native = __commonJS({
4201
4237
  }
4202
4238
  });
4203
4239
  }
4204
- var activeThemeManagers = /* @__PURE__ */ new Set(), useChangeThemeEffect = (props, root = !1, keys, shouldUpdate) => {
4240
+ var activeThemeManagers = /* @__PURE__ */ new Set(), useChangeThemeEffect = (props, isRoot = !1, keys, shouldUpdate) => {
4205
4241
  let {
4206
4242
  // @ts-expect-error internal use only
4207
4243
  disable
4208
4244
  } = props, parentManager = (0, import_react.useContext)(import_ThemeManagerContext.ThemeManagerContext);
4209
- if (disable) {
4210
- if (!parentManager)
4211
- throw "\u274C 2";
4245
+ if (!isRoot && !parentManager || disable)
4212
4246
  return {
4213
4247
  isNewTheme: !1,
4214
- state: parentManager.state,
4248
+ state: parentManager == null ? void 0 : parentManager.state,
4215
4249
  themeManager: parentManager
4216
4250
  };
4217
- }
4218
4251
  let [themeState, setThemeState] = (0, import_react.useState)(createState), { state, mounted, isNewTheme, themeManager } = themeState, isInversingOnMount = !!(!themeState.mounted && props.inverse);
4219
4252
  function getShouldUpdateTheme(manager = themeManager, nextState, prevState = state, forceShouldChange = !1) {
4220
4253
  let forceUpdate = shouldUpdate == null ? void 0 : shouldUpdate();
4221
- if (!forceShouldChange && forceUpdate === !1)
4254
+ if (!manager || !forceShouldChange && forceUpdate === !1)
4222
4255
  return;
4223
4256
  let next = nextState || manager.getState(props, parentManager);
4224
4257
  if (forceShouldChange || next && !(forceUpdate !== !0 && !manager.getStateShouldChange(next, prevState)))
4225
4258
  return next;
4226
4259
  }
4227
4260
  if (import_constants2.isServer || ((0, import_react.useLayoutEffect)(() => {
4261
+ if (!themeManager)
4262
+ return;
4228
4263
  if (props.inverse && !mounted) {
4229
4264
  setThemeState({ ...themeState, mounted: !0 });
4230
4265
  return;
@@ -4257,29 +4292,28 @@ var require_useTheme_native = __commonJS({
4257
4292
  mounted
4258
4293
  ]), process.env.NODE_ENV === "development" && props.debug !== "profile" && (0, import_react.useEffect)(() => (globalThis.TamaguiThemeManagers ??= /* @__PURE__ */ new Set(), globalThis.TamaguiThemeManagers.add(themeManager), () => {
4259
4294
  globalThis.TamaguiThemeManagers.delete(themeManager);
4260
- }), [themeManager])), isInversingOnMount) {
4261
- if (!parentManager)
4262
- throw "\u274C 3";
4295
+ }), [themeManager])), isInversingOnMount)
4263
4296
  return {
4264
4297
  isNewTheme: !1,
4265
4298
  themeManager: parentManager,
4266
4299
  state: {
4267
- ...parentManager.state,
4300
+ name: "",
4301
+ ...parentManager == null ? void 0 : parentManager.state,
4268
4302
  className: ""
4269
4303
  }
4270
4304
  };
4271
- }
4272
4305
  return {
4273
4306
  state,
4274
4307
  isNewTheme,
4275
4308
  themeManager
4276
4309
  };
4277
4310
  function createState(prev, force = !1) {
4311
+ var _a;
4278
4312
  if (prev && (shouldUpdate == null ? void 0 : shouldUpdate()) === !1)
4279
4313
  return prev;
4280
4314
  let themeManager2 = parentManager, state2;
4281
4315
  if ((0, import_ThemeManager.getHasThemeUpdatingProps)(props)) {
4282
- let getNewThemeManager = () => new import_ThemeManager.ThemeManager(props, root ? "root" : parentManager);
4316
+ let getNewThemeManager = () => new import_ThemeManager.ThemeManager(props, isRoot ? "root" : parentManager);
4283
4317
  if (prev != null && prev.themeManager) {
4284
4318
  themeManager2 = prev.themeManager;
4285
4319
  let forceChange = !!(keys != null && keys.length), next = themeManager2.getState(props, parentManager), nextState = getShouldUpdateTheme(
@@ -4292,8 +4326,8 @@ var require_useTheme_native = __commonJS({
4292
4326
  } else
4293
4327
  themeManager2 = getNewThemeManager(), state2 = { ...themeManager2.state };
4294
4328
  }
4295
- let isNewTheme2 = !!(themeManager2 !== parentManager || props.inverse), mounted2 = props.inverse ? root || (prev == null ? void 0 : prev.mounted) : !0;
4296
- if (state2 || (isNewTheme2 ? state2 = themeManager2.state : (state2 = parentManager.state, themeManager2 = parentManager)), !force && state2.name === (prev == null ? void 0 : prev.state.name))
4329
+ let isNewTheme2 = !!(themeManager2 !== parentManager || props.inverse), mounted2 = props.inverse ? isRoot || (prev == null ? void 0 : prev.mounted) : !0;
4330
+ if (state2 || (isNewTheme2 ? state2 = themeManager2.state : (state2 = parentManager.state, themeManager2 = parentManager)), !force && (state2 == null ? void 0 : state2.name) === ((_a = prev == null ? void 0 : prev.state) == null ? void 0 : _a.name))
4297
4331
  return prev;
4298
4332
  let response = {
4299
4333
  state: state2,
@@ -4401,7 +4435,7 @@ var require_Theme_native = __commonJS({
4401
4435
  void 0,
4402
4436
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Theme, { name: themeManager.state.parentName, children: child.props.children })
4403
4437
  ) : child));
4404
- let elementsWithContext = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ThemeManagerContext.ThemeManagerContext.Provider, { value: themeManager, children: next });
4438
+ let elementsWithContext = themeManager ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ThemeManagerContext.ThemeManagerContext.Provider, { value: themeManager, children: next }) : next;
4405
4439
  return forceClassName === !1 ? elementsWithContext : import_constants2.isWeb ? wrapThemeElements({
4406
4440
  children: elementsWithContext,
4407
4441
  themeState,
@@ -4415,23 +4449,28 @@ var require_Theme_native = __commonJS({
4415
4449
  forceClassName,
4416
4450
  isRoot
4417
4451
  }) {
4452
+ var _a, _b, _c, _d;
4418
4453
  if (isRoot && forceClassName === !1)
4419
4454
  return children;
4420
- let inverse = themeState.state.inverse;
4455
+ let inverse = (_a = themeState.state) == null ? void 0 : _a.inverse;
4421
4456
  if (!themeState.isNewTheme && !inverse && !forceClassName)
4422
4457
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "_dsp_contents is_Theme", children });
4423
- let themeColor = themeState.state.theme && themeState.isNewTheme ? (0, import_createVariable.variableToString)(themeState.state.theme.color) : "", colorStyle = themeColor ? {
4458
+ let themeColor = (_b = themeState.state) != null && _b.theme && themeState.isNewTheme ? (0, import_createVariable.variableToString)(themeState.state.theme.color) : "", colorStyle = themeColor ? {
4424
4459
  color: themeColor
4425
- } : void 0, className = themeState.state.className || "";
4460
+ } : void 0, className = ((_c = themeState.state) == null ? void 0 : _c.className) || "";
4426
4461
  isRoot && (className = className.replace("t_sub_theme", ""));
4427
4462
  let themedChildren = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `${className} _dsp_contents is_Theme`, style: colorStyle, children });
4428
- return (inverse != null || forceClassName) && (themedChildren = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
4429
- "span",
4430
- {
4431
- className: `${themeState.state.name.startsWith("light") ? "t_light" : themeState.state.name.startsWith("dark") ? "t_dark" : ""} _dsp_contents ${inverse ? "is_inversed" : ""}`,
4432
- children: themedChildren
4433
- }
4434
- )), themedChildren;
4463
+ if (inverse != null || forceClassName) {
4464
+ let name = ((_d = themeState.state) == null ? void 0 : _d.name) || "";
4465
+ themedChildren = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
4466
+ "span",
4467
+ {
4468
+ className: `${name.startsWith("light") ? "t_light" : name.startsWith("dark") ? "t_dark" : ""} _dsp_contents ${inverse ? "is_inversed" : ""}`,
4469
+ children: themedChildren
4470
+ }
4471
+ );
4472
+ }
4473
+ return themedChildren;
4435
4474
  }
4436
4475
  }
4437
4476
  });
@@ -4641,7 +4680,7 @@ var require_createComponent_native = __commonJS({
4641
4680
  defaultPropsKeyOrder: defaultProps ? Object.keys(defaultProps) : []
4642
4681
  });
4643
4682
  let component = (0, import_react.forwardRef)((propsIn, forwardedRef) => {
4644
- var _a2, _b, _c, _d, _g, _h, _i, _j, _k;
4683
+ var _a2, _b, _c, _d, _e, _f, _i, _j, _k, _l, _m;
4645
4684
  if (process.env.NODE_ENV === "development" && startVisualizer && (startVisualizer(), startVisualizer = void 0), !hasSetupBaseViews) {
4646
4685
  hasSetupBaseViews = !0;
4647
4686
  let baseViews = (_b = (_a2 = import_setupHooks.hooks).getBaseViews) == null ? void 0 : _b.call(_a2);
@@ -4763,11 +4802,7 @@ var require_createComponent_native = __commonJS({
4763
4802
  elementType = Component || elementType;
4764
4803
  let isStringElement = typeof elementType == "string";
4765
4804
  process.env.NODE_ENV === "development" && time && time`theme`;
4766
- let mediaState2 = (0, import_useMedia.useMedia)(
4767
- // @ts-ignore, we just pass a stable object so we can get it later with
4768
- // should match to the one used in `setMediaShouldUpdate` below
4769
- stateRef
4770
- );
4805
+ let mediaState2 = (0, import_useMedia.useMedia)(stateRef, componentContext);
4771
4806
  process.env.NODE_ENV === "development" && time && time`media`, (0, import_createVariable.setDidGetVariableValue)(!1);
4772
4807
  let resolveValues = (
4773
4808
  // if HOC + mounted + has animation prop, resolve as value so it passes non-variable to child
@@ -4783,7 +4818,7 @@ var require_createComponent_native = __commonJS({
4783
4818
  props,
4784
4819
  staticConfig,
4785
4820
  theme,
4786
- themeState.state.name,
4821
+ ((_d = themeState == null ? void 0 : themeState.state) == null ? void 0 : _d.name) || "",
4787
4822
  state,
4788
4823
  styleProps,
4789
4824
  null,
@@ -4823,7 +4858,7 @@ var require_createComponent_native = __commonJS({
4823
4858
  presence,
4824
4859
  componentState: state,
4825
4860
  styleProps,
4826
- theme: themeState.state.theme,
4861
+ theme: (_e = themeState.state) == null ? void 0 : _e.theme,
4827
4862
  pseudos: pseudos || null,
4828
4863
  hostRef,
4829
4864
  staticConfig
@@ -4861,7 +4896,7 @@ var require_createComponent_native = __commonJS({
4861
4896
 
4862
4897
  If you meant to do this, you can disable this warning - either change untilMeasured and group at the same time, or do group={conditional ? 'name' : undefined}`
4863
4898
  ), process.env.NODE_ENV === "development" && time && time`destructure`;
4864
- let disabled = ((_d = props.accessibilityState) == null ? void 0 : _d.disabled) || // @ts-expect-error (comes from core)
4899
+ let disabled = ((_f = props.accessibilityState) == null ? void 0 : _f.disabled) || // @ts-expect-error (comes from core)
4865
4900
  props.accessibilityDisabled, viewProps = nonTamaguiProps;
4866
4901
  isHOC && _themeProp && (viewProps.theme = _themeProp), groupName && (nonTamaguiProps.onLayout = (0, import_helpers.composeEventHandlers)(
4867
4902
  nonTamaguiProps.onLayout,
@@ -4925,11 +4960,11 @@ If you meant to do this, you can disable this warning - either change untilMeasu
4925
4960
  pseudoGroups ? Object.keys([...pseudoGroups]).join("") : 0,
4926
4961
  mediaGroups ? Object.keys([...mediaGroups]).join("") : 0
4927
4962
  ]);
4928
- let avoidAnimationStyle = keepStyleSSR && state.unmounted === !0, fontFamily = isText ? splitStyles.fontFamily || ((_g = staticConfig.defaultProps) == null ? void 0 : _g.fontFamily) : null;
4963
+ let avoidAnimationStyle = keepStyleSSR && state.unmounted === !0, fontFamily = isText ? splitStyles.fontFamily || ((_i = staticConfig.defaultProps) == null ? void 0 : _i.fontFamily) : null;
4929
4964
  fontFamily && fontFamily[0] === "$" && (fontFamily = fontFamily.slice(1));
4930
4965
  let fontFamilyClassName = fontFamily ? `font_${fontFamily}` : "", style = avoidAnimationStyle ? splitStyles.style : animationStyles || splitStyles.style, className;
4931
4966
  viewProps.style = style;
4932
- let runtimePressStyle = !disabled && noClassNames && (pseudos == null ? void 0 : pseudos.pressStyle), attachPress = !!(groupName || runtimePressStyle || onPress || onPressOut || onPressIn || onLongPress || onClick), needsHoverState = !disabled && noClassNames && (pseudos == null ? void 0 : pseudos.hoverStyle) || onHoverIn || onHoverOut, isHoverable = import_constants2.isWeb && !!(groupName || needsHoverState || onMouseEnter || onMouseLeave), handlesPressEvents = !(import_constants2.isWeb || asChild), shouldAttach = !!(attachPress || isHoverable || noClassNames && "pressStyle" in props || import_constants2.isWeb && noClassNames && "hoverStyle" in props);
4967
+ let runtimePressStyle = !disabled && noClassNames && (pseudos == null ? void 0 : pseudos.pressStyle), attachPress = !!(groupName || runtimePressStyle || onPress || onPressOut || onPressIn || onLongPress || onClick), runtimeHoverStyle = !disabled && noClassNames && (pseudos == null ? void 0 : pseudos.hoverStyle), needsHoverState = runtimeHoverStyle || onHoverIn || onHoverOut, isHoverable = import_constants2.isWeb && !!(groupName || needsHoverState || onMouseEnter || onMouseLeave), handlesPressEvents = !(import_constants2.isWeb || asChild), shouldAttach = !!(attachPress || isHoverable || runtimePressStyle || runtimeHoverStyle);
4933
4968
  process.env.NODE_ENV === "development" && time && time`events-setup`;
4934
4969
  let events = shouldAttach && !isDisabled && !props.asChild ? {
4935
4970
  onPressOut: attachPress ? (e) => {
@@ -4967,7 +5002,7 @@ If you meant to do this, you can disable this warning - either change untilMeasu
4967
5002
  delayPressOut: viewProps.delayPressOut,
4968
5003
  focusable: viewProps.focusable ?? !0,
4969
5004
  minPressDuration: 0
4970
- }), process.env.NODE_ENV === "development" && time && time`events`, process.env.NODE_ENV === "development" && debugProp === "verbose" && console.log("events", { events, isHoverable, attachPress }), (_i = (_h = import_setupHooks.hooks).useEvents) == null || _i.call(_h, viewProps, events, splitStyles, setStateShallow);
5005
+ }), process.env.NODE_ENV === "development" && time && time`events`, process.env.NODE_ENV === "development" && debugProp === "verbose" && console.log("events", { events, isHoverable, attachPress }), (_k = (_j = import_setupHooks.hooks).useEvents) == null || _k.call(_j, viewProps, events, splitStyles, setStateShallow);
4971
5006
  let direction = props.spaceDirection || "both";
4972
5007
  process.env.NODE_ENV === "development" && time && time`hooks`;
4973
5008
  let content = !children || asChild ? children : spacedChildren({
@@ -5002,7 +5037,12 @@ If you meant to do this, you can disable this warning - either change untilMeasu
5002
5037
  }
5003
5038
  };
5004
5039
  }, [groupName]);
5005
- if (groupName && subGroupContext && (content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, { groups: subGroupContext, children: content })), process.env.NODE_ENV === "development" && time && time`group-context`, content = disableThemeProp ? content : (0, import_Theme.useThemedChildren)(themeState, content, themeStateProps), process.env.NODE_ENV === "development" && time && time`themed-children`, process.env.NODE_ENV === "development" && props.debug === "visualize" && (content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ThemeDebug.ThemeDebug, { themeState, themeProps: props, children: content })), overriddenContextProps) {
5040
+ if (groupName && subGroupContext && (content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, { groups: subGroupContext, children: content })), process.env.NODE_ENV === "development" && time && time`group-context`, content = disableThemeProp ? content : (0, import_Theme.useThemedChildren)(themeState, content, themeStateProps), process.env.NODE_ENV === "development" && time && time`themed-children`, process.env.NODE_ENV === "development" && props.debug === "visualize" && (content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ThemeDebug.ThemeDebug, { themeState, themeProps: props, children: content })), staticConfig.context) {
5041
+ let contextProps = staticConfig.context.props;
5042
+ for (let key in contextProps)
5043
+ (key in style || key in viewProps) && (overriddenContextProps ||= {}, overriddenContextProps[key] = style[key] ?? viewProps[key]);
5044
+ }
5045
+ if (overriddenContextProps) {
5006
5046
  let Provider = staticConfig.context.Provider;
5007
5047
  content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Provider, { ...contextValue, ...overriddenContextProps, children: content });
5008
5048
  }
@@ -5025,8 +5065,8 @@ If you meant to do this, you can disable this warning - either change untilMeasu
5025
5065
  handlesPressEvents,
5026
5066
  willBeAnimated,
5027
5067
  isStringElement,
5028
- classNamesIn: (_j = props.className) == null ? void 0 : _j.split(" "),
5029
- classNamesOut: (_k = viewProps.className) == null ? void 0 : _k.split(" "),
5068
+ classNamesIn: (_l = props.className) == null ? void 0 : _l.split(" "),
5069
+ classNamesOut: (_m = viewProps.className) == null ? void 0 : _m.split(" "),
5030
5070
  events,
5031
5071
  shouldAttach,
5032
5072
  pseudos,
@@ -5078,7 +5118,16 @@ If you meant to do this, you can disable this warning - either change untilMeasu
5078
5118
  return props.children;
5079
5119
  }
5080
5120
  Unspaced.isUnspaced = !0;
5081
- var Spacer = createComponent({
5121
+ var getSpacerSize = (size, { tokens }) => {
5122
+ size = size === !0 ? "$true" : size;
5123
+ let sizePx = tokens.space[size] ?? size;
5124
+ return {
5125
+ width: sizePx,
5126
+ height: sizePx,
5127
+ minWidth: sizePx,
5128
+ minHeight: sizePx
5129
+ };
5130
+ }, Spacer = createComponent({
5082
5131
  acceptsClassName: !0,
5083
5132
  memo: !0,
5084
5133
  componentName: "Spacer",
@@ -5092,16 +5141,7 @@ If you meant to do this, you can disable this warning - either change untilMeasu
5092
5141
  },
5093
5142
  variants: {
5094
5143
  size: {
5095
- "...size": (size, { tokens }) => {
5096
- size = size === !0 ? "$true" : size;
5097
- let sizePx = tokens.space[size] ?? size;
5098
- return {
5099
- width: sizePx,
5100
- height: sizePx,
5101
- minWidth: sizePx,
5102
- minHeight: sizePx
5103
- };
5104
- }
5144
+ "...": getSpacerSize
5105
5145
  },
5106
5146
  flex: {
5107
5147
  true: {
@@ -5575,36 +5615,40 @@ var require_createTamagui_native = __commonJS({
5575
5615
  var _a;
5576
5616
  if (createdConfigs.has(configIn))
5577
5617
  return configIn;
5578
- if (process.env.NODE_ENV === "development") {
5579
- if (!configIn.tokens)
5580
- throw new Error("Must define tokens");
5581
- if (!configIn.themes)
5582
- throw new Error("Must define themes");
5583
- if (!configIn.fonts)
5584
- throw new Error("Must define fonts");
5585
- }
5586
- let tokens = (0, import_createVariables.createVariables)(configIn.tokens), tokensParsed = {}, tokensMerged = {};
5587
- for (let cat in tokens) {
5588
- tokensParsed[cat] = {}, tokensMerged[cat] = {};
5589
- let tokenCat = tokens[cat];
5590
- for (let key in tokenCat) {
5591
- let val = tokenCat[key], prefixedKey = `$${key}`;
5592
- tokensParsed[cat][prefixedKey] = val, tokensMerged[cat][prefixedKey] = val, tokensMerged[cat][key] = val;
5618
+ let tokensParsed = {}, tokens = (0, import_createVariables.createVariables)(configIn.tokens || {});
5619
+ if (configIn.tokens) {
5620
+ let tokensMerged = {};
5621
+ for (let cat in tokens) {
5622
+ tokensParsed[cat] = {}, tokensMerged[cat] = {};
5623
+ let tokenCat = tokens[cat];
5624
+ for (let key in tokenCat) {
5625
+ let val = tokenCat[key], prefixedKey = `$${key}`;
5626
+ tokensParsed[cat][prefixedKey] = val, tokensMerged[cat][prefixedKey] = val, tokensMerged[cat][key] = val;
5627
+ }
5593
5628
  }
5629
+ (0, import_config.setTokens)(tokensMerged);
5630
+ }
5631
+ let foundThemes;
5632
+ if (configIn.themes) {
5633
+ let noThemes = Object.keys(configIn.themes).length === 0;
5634
+ foundThemes = (0, import_insertStyleRule.scanAllSheets)(noThemes, tokensParsed);
5594
5635
  }
5595
- (0, import_config.setTokens)(tokensMerged);
5596
- let noThemes = Object.keys(configIn.themes).length === 0, foundThemes = (0, import_insertStyleRule.scanAllSheets)(noThemes, tokensParsed);
5597
5636
  (0, import_insertStyleRule.listenForSheetChanges)();
5598
- let fontTokens = Object.fromEntries(
5599
- Object.entries(configIn.fonts).map(([k, v]) => [k, (0, import_createVariables.createVariables)(v, "f", !0)])
5600
- ), fontSizeTokens = null, fontsParsed = (() => {
5601
- let res = {};
5602
- for (let familyName in fontTokens) {
5603
- let font = fontTokens[familyName], fontParsed = (0, import_insertFont.parseFont)(font);
5604
- res[`$${familyName}`] = fontParsed, !fontSizeTokens && fontParsed.size && (fontSizeTokens = new Set(Object.keys(fontParsed.size)));
5605
- }
5606
- return res;
5607
- })(), specificTokens = {}, themeConfig = (() => {
5637
+ let fontSizeTokens = null, fontsParsed;
5638
+ if (configIn.fonts) {
5639
+ let fontTokens = Object.fromEntries(
5640
+ Object.entries(configIn.fonts).map(([k, v]) => [k, (0, import_createVariables.createVariables)(v, "f", !0)])
5641
+ );
5642
+ fontsParsed = (() => {
5643
+ let res = {};
5644
+ for (let familyName in fontTokens) {
5645
+ let font = fontTokens[familyName], fontParsed = (0, import_insertFont.parseFont)(font);
5646
+ res[`$${familyName}`] = fontParsed, !fontSizeTokens && fontParsed.size && (fontSizeTokens = new Set(Object.keys(fontParsed.size)));
5647
+ }
5648
+ return res;
5649
+ })();
5650
+ }
5651
+ let specificTokens = {}, themeConfig = (() => {
5608
5652
  let cssRuleSets = [];
5609
5653
  if (process.env.TAMAGUI_DOES_SSR_CSS !== "true" && // we can leave this out if mutating, only need the js for getThemeCSSRules
5610
5654
  process.env.TAMAGUI_DOES_SSR_CSS !== "mutates-themes") {
@@ -5678,9 +5722,10 @@ ${themeConfig.cssRuleSets.join(separator)}`}
5678
5722
  ${exclude ? "" : themeConfig.getThemeRulesSets().join(separator)}
5679
5723
  ${runtimeStyles}`;
5680
5724
  }, getNewCSS = (opts) => getCSS({ ...opts, sinceLastCall: !0 }), defaultFontName = configIn.defaultFont || // uses font named "body" if present for compat
5681
- ("body" in configIn.fonts ? "body" : "");
5682
- !defaultFontName && configIn.fonts && (defaultFontName = Object.keys(configIn.fonts)[0]), defaultFontName[0] === "$" && (defaultFontName = defaultFontName.slice(1));
5725
+ configIn.fonts && ("body" in configIn.fonts ? "body" : "");
5726
+ !defaultFontName && configIn.fonts && (defaultFontName = Object.keys(configIn.fonts)[0]), (defaultFontName == null ? void 0 : defaultFontName[0]) === "$" && (defaultFontName = defaultFontName.slice(1));
5683
5727
  let defaultFont = `$${defaultFontName}`, config = {
5728
+ fonts: {},
5684
5729
  groupNames: [],
5685
5730
  settings: {},
5686
5731
  onlyAllowShorthands: !1,
@@ -5693,7 +5738,7 @@ ${runtimeStyles}`;
5693
5738
  shorthands,
5694
5739
  inverseShorthands: shorthands ? Object.fromEntries(Object.entries(shorthands).map(([k, v]) => [v, k])) : {},
5695
5740
  themes: themeConfig.themes,
5696
- fontsParsed,
5741
+ fontsParsed: fontsParsed || {},
5697
5742
  themeConfig,
5698
5743
  tokensParsed,
5699
5744
  parsed: !0,
@@ -5938,30 +5983,6 @@ var require_GetRef_native = __commonJS({
5938
5983
  }
5939
5984
  });
5940
5985
 
5941
- // ../web/dist/cjs/helpers/getAnimationDriver.native.js
5942
- var require_getAnimationDriver_native = __commonJS({
5943
- "../web/dist/cjs/helpers/getAnimationDriver.native.js"(exports, module2) {
5944
- "use strict";
5945
- var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = (target, all) => {
5946
- for (var name in all)
5947
- __defProp2(target, name, { get: all[name], enumerable: !0 });
5948
- }, __copyProps2 = (to, from, except, desc) => {
5949
- if (from && typeof from == "object" || typeof from == "function")
5950
- for (let key of __getOwnPropNames2(from))
5951
- !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
5952
- return to;
5953
- }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), getAnimationDriver_exports = {};
5954
- __export2(getAnimationDriver_exports, {
5955
- getAnimationDriver: () => getAnimationDriver
5956
- });
5957
- module2.exports = __toCommonJS2(getAnimationDriver_exports);
5958
- var import_config = require_config_native();
5959
- function getAnimationDriver() {
5960
- return (0, import_config.getConfig)().animations;
5961
- }
5962
- }
5963
- });
5964
-
5965
5986
  // ../web/dist/cjs/helpers/getExpandedShorthands.native.js
5966
5987
  var require_getExpandedShorthands_native = __commonJS({
5967
5988
  "../web/dist/cjs/helpers/getExpandedShorthands.native.js"(exports, module2) {
@@ -6103,9 +6124,9 @@ var require_useThemeName_native = __commonJS({
6103
6124
  }
6104
6125
  });
6105
6126
 
6106
- // ../web/dist/cjs/hooks/useAnimationDriver.native.js
6107
- var require_useAnimationDriver_native = __commonJS({
6108
- "../web/dist/cjs/hooks/useAnimationDriver.native.js"(exports, module2) {
6127
+ // ../web/dist/cjs/hooks/useConfiguration.native.js
6128
+ var require_useConfiguration_native = __commonJS({
6129
+ "../web/dist/cjs/hooks/useConfiguration.native.js"(exports, module2) {
6109
6130
  "use strict";
6110
6131
  var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = (target, all) => {
6111
6132
  for (var name in all)
@@ -6115,12 +6136,19 @@ var require_useAnimationDriver_native = __commonJS({
6115
6136
  for (let key of __getOwnPropNames2(from))
6116
6137
  !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
6117
6138
  return to;
6118
- }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), useAnimationDriver_exports = {};
6119
- __export2(useAnimationDriver_exports, {
6120
- useAnimationDriver: () => useAnimationDriver
6139
+ }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), useConfiguration_exports = {};
6140
+ __export2(useConfiguration_exports, {
6141
+ useConfiguration: () => useConfiguration
6121
6142
  });
6122
- module2.exports = __toCommonJS2(useAnimationDriver_exports);
6123
- var import_react = require("react"), import_ComponentContext = require_ComponentContext_native(), import_getAnimationDriver = require_getAnimationDriver_native(), useAnimationDriver = () => (0, import_react.useContext)(import_ComponentContext.ComponentContext).animationDriver ?? (0, import_getAnimationDriver.getAnimationDriver)();
6143
+ module2.exports = __toCommonJS2(useConfiguration_exports);
6144
+ var import_react = require("react"), import_config = require_config_native(), import_ComponentContext = require_ComponentContext_native(), useConfiguration = () => {
6145
+ let { groups, animationDriver, ...restComponentConfig } = (0, import_react.useContext)(import_ComponentContext.ComponentContext), { animations, ...restConfig } = (0, import_config.getConfig)();
6146
+ return {
6147
+ ...restConfig,
6148
+ ...restComponentConfig,
6149
+ animationDriver: animationDriver ?? (0, import_config.getConfig)().animations
6150
+ };
6151
+ };
6124
6152
  }
6125
6153
  });
6126
6154
 
@@ -6206,14 +6234,14 @@ var require_useProps_native = __commonJS({
6206
6234
  return usePropsAndStyle(props, opts)[1];
6207
6235
  }
6208
6236
  function usePropsAndStyle(props, opts) {
6209
- var _a;
6237
+ var _a, _b;
6210
6238
  let staticConfig = ((_a = opts == null ? void 0 : opts.forComponent) == null ? void 0 : _a.staticConfig) ?? import_Stack.Stack.staticConfig, [themeState, theme] = (0, import_useTheme.useThemeWithState)({
6211
6239
  componentName: staticConfig.componentName
6212
6240
  }), componentContext = (0, import_react.useContext)(import_ComponentContext.ComponentContext), media = (0, import_useMedia.useMedia)(), splitStyles = (0, import_getSplitStyles.useSplitStyles)(
6213
6241
  props,
6214
6242
  staticConfig,
6215
6243
  theme,
6216
- themeState.state.name,
6244
+ ((_b = themeState.state) == null ? void 0 : _b.name) || "",
6217
6245
  import_defaultComponentState.defaultComponentStateMounted,
6218
6246
  {
6219
6247
  isAnimated: !1,
@@ -6278,7 +6306,6 @@ var require_Text_native = __commonJS({
6278
6306
  acceptsClassName: !0,
6279
6307
  isText: !0,
6280
6308
  defaultProps: {
6281
- color: "$color",
6282
6309
  display: "flex",
6283
6310
  suppressHighlighting: !0
6284
6311
  },
@@ -6417,9 +6444,9 @@ var require_TamaguiProvider_native = __commonJS({
6417
6444
  }
6418
6445
  });
6419
6446
 
6420
- // ../web/dist/cjs/views/AnimationDriverProvider.native.js
6421
- var require_AnimationDriverProvider_native = __commonJS({
6422
- "../web/dist/cjs/views/AnimationDriverProvider.native.js"(exports, module2) {
6447
+ // ../web/dist/cjs/views/Configuration.native.js
6448
+ var require_Configuration_native = __commonJS({
6449
+ "../web/dist/cjs/views/Configuration.native.js"(exports, module2) {
6423
6450
  "use strict";
6424
6451
  var __defProp2 = Object.defineProperty, __getOwnPropDesc2 = Object.getOwnPropertyDescriptor, __getOwnPropNames2 = Object.getOwnPropertyNames, __hasOwnProp2 = Object.prototype.hasOwnProperty, __export2 = (target, all) => {
6425
6452
  for (var name in all)
@@ -6429,12 +6456,12 @@ var require_AnimationDriverProvider_native = __commonJS({
6429
6456
  for (let key of __getOwnPropNames2(from))
6430
6457
  !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
6431
6458
  return to;
6432
- }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), AnimationDriverProvider_exports = {};
6433
- __export2(AnimationDriverProvider_exports, {
6434
- AnimationDriverProvider: () => AnimationDriverProvider
6459
+ }, __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: !0 }), mod), Configuration_exports = {};
6460
+ __export2(Configuration_exports, {
6461
+ Configuration: () => Configuration
6435
6462
  });
6436
- module2.exports = __toCommonJS2(AnimationDriverProvider_exports);
6437
- var import_ComponentContext = require_ComponentContext_native(), import_jsx_runtime = require("react/jsx-runtime"), AnimationDriverProvider = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, { animationDriver: props.driver, children: props.children });
6463
+ module2.exports = __toCommonJS2(Configuration_exports);
6464
+ var import_ComponentContext = require_ComponentContext_native(), import_jsx_runtime = require("react/jsx-runtime"), Configuration = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, { ...props });
6438
6465
  }
6439
6466
  });
6440
6467
 
@@ -6563,7 +6590,6 @@ var require_index_native9 = __commonJS({
6563
6590
  __reExport2(src_exports2, require_createStyledContext_native(), module2.exports);
6564
6591
  __reExport2(src_exports2, require_expandStyles_native(), module2.exports);
6565
6592
  __reExport2(src_exports2, require_propMapper_native(), module2.exports);
6566
- __reExport2(src_exports2, require_getAnimationDriver_native(), module2.exports);
6567
6593
  __reExport2(src_exports2, require_getExpandedShorthands_native(), module2.exports);
6568
6594
  __reExport2(src_exports2, require_getSplitStyles_native(), module2.exports);
6569
6595
  __reExport2(src_exports2, require_getStylesAtomic_native(), module2.exports);
@@ -6584,9 +6610,10 @@ var require_index_native9 = __commonJS({
6584
6610
  var import_useMedia = require_useMedia_native();
6585
6611
  __reExport2(src_exports2, require_useTheme_native(), module2.exports);
6586
6612
  __reExport2(src_exports2, require_useThemeName_native(), module2.exports);
6587
- __reExport2(src_exports2, require_useAnimationDriver_native(), module2.exports);
6613
+ __reExport2(src_exports2, require_useConfiguration_native(), module2.exports);
6588
6614
  __reExport2(src_exports2, require_useIsTouchDevice_native(), module2.exports);
6589
6615
  __reExport2(src_exports2, require_useProps_native(), module2.exports);
6616
+ __reExport2(src_exports2, require_useConfiguration_native(), module2.exports);
6590
6617
  __reExport2(src_exports2, require_Slot_native(), module2.exports);
6591
6618
  __reExport2(src_exports2, require_Stack_native(), module2.exports);
6592
6619
  __reExport2(src_exports2, require_View_native(), module2.exports);
@@ -6595,7 +6622,7 @@ var require_index_native9 = __commonJS({
6595
6622
  __reExport2(src_exports2, require_ThemeProvider_native(), module2.exports);
6596
6623
  __reExport2(src_exports2, require_FontLanguage_native(), module2.exports);
6597
6624
  __reExport2(src_exports2, require_TamaguiProvider_native(), module2.exports);
6598
- __reExport2(src_exports2, require_AnimationDriverProvider_native(), module2.exports);
6625
+ __reExport2(src_exports2, require_Configuration_native(), module2.exports);
6599
6626
  __reExport2(src_exports2, require_index_native6(), module2.exports);
6600
6627
  __reExport2(src_exports2, require_index_native8(), module2.exports);
6601
6628
  __reExport2(src_exports2, require_index_native5(), module2.exports);