@tamagui/core 1.0.0-alpha.2 → 1.0.0-alpha.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.
package/dist/index.cjs CHANGED
@@ -104,7 +104,6 @@ __export(exports, {
104
104
  themeable: () => themeable,
105
105
  useConstant: () => useConstant,
106
106
  useDefaultThemeName: () => useDefaultThemeName,
107
- useForceUpdate: () => useForceUpdate,
108
107
  useIsomorphicLayoutEffect: () => useIsomorphicLayoutEffect,
109
108
  useMedia: () => useMedia,
110
109
  useTheme: () => useTheme,
@@ -113,7 +112,8 @@ __export(exports, {
113
112
 
114
113
  // src/createComponent.tsx
115
114
  var import_helpers4 = __toModule(require("@tamagui/helpers"));
116
- var import_react12 = __toModule(require("react"));
115
+ var import_use_force_update2 = __toModule(require("@tamagui/use-force-update"));
116
+ var import_react11 = __toModule(require("react"));
117
117
  var import_react_native3 = __toModule(require("react-native"));
118
118
 
119
119
  // src/constants/platform.ts
@@ -364,7 +364,8 @@ function createTamaguiProvider(themeProps) {
364
364
  __name(createTamaguiProvider, "createTamaguiProvider");
365
365
 
366
366
  // src/hooks/useMedia.tsx
367
- var import_react9 = __toModule(require("react"));
367
+ var import_use_force_update = __toModule(require("@tamagui/use-force-update"));
368
+ var import_react8 = __toModule(require("react"));
368
369
 
369
370
  // src/helpers/matchMedia.ts
370
371
  var matchMedia = typeof window !== "undefined" && window.matchMedia || /* @__PURE__ */ __name(function matchMediaFallback(query) {
@@ -377,30 +378,6 @@ var matchMedia = typeof window !== "undefined" && window.matchMedia || /* @__PUR
377
378
  };
378
379
  }, "matchMediaFallback");
379
380
 
380
- // src/hooks/useForceUpdate.tsx
381
- var import_react8 = __toModule(require("react"));
382
- function useForceUpdate() {
383
- const setState = (0, import_react8.useState)(0)[1];
384
- const internal = (0, import_react8.useRef)();
385
- if (!internal.current) {
386
- internal.current = {
387
- isMounted: true,
388
- update: () => {
389
- if (internal.current.isMounted) {
390
- setState(Math.random());
391
- }
392
- }
393
- };
394
- }
395
- (0, import_react8.useEffect)(() => {
396
- return () => {
397
- internal.current.isMounted = false;
398
- };
399
- }, []);
400
- return internal.current.update;
401
- }
402
- __name(useForceUpdate, "useForceUpdate");
403
-
404
381
  // src/hooks/useMedia.tsx
405
382
  var mediaState = {};
406
383
  var mediaQueryListeners = {};
@@ -477,8 +454,8 @@ var configureMedia = /* @__PURE__ */ __name(({
477
454
  }
478
455
  }, "configureMedia");
479
456
  var useMedia = /* @__PURE__ */ __name(() => {
480
- const forceUpdate = useForceUpdate();
481
- const state = (0, import_react9.useRef)();
457
+ const forceUpdate = (0, import_use_force_update.useForceUpdate)();
458
+ const state = (0, import_react8.useRef)();
482
459
  if (!state.current) {
483
460
  state.current = {
484
461
  selections: {},
@@ -700,7 +677,7 @@ var parseTokens = /* @__PURE__ */ __name((tokens) => {
700
677
  }, "parseTokens");
701
678
 
702
679
  // src/helpers/addStylesUsingClassname.tsx
703
- var import_react10 = __toModule(require("react"));
680
+ var import_react9 = __toModule(require("react"));
704
681
 
705
682
  // src/helpers/getStylesAtomic.ts
706
683
  var import_helpers2 = __toModule(require("@tamagui/helpers"));
@@ -817,7 +794,7 @@ __name(insertStyleRule, "insertStyleRule");
817
794
  // src/helpers/addStylesUsingClassname.tsx
818
795
  var added = new Set();
819
796
  function useStylesAsClassname(styles) {
820
- if (!import_react10.useInsertionEffect) {
797
+ if (!import_react9.useInsertionEffect) {
821
798
  return addStylesUsingClassname(styles);
822
799
  } else {
823
800
  const insertions = [];
@@ -826,7 +803,7 @@ function useStylesAsClassname(styles) {
826
803
  insertions.push(rule);
827
804
  }
828
805
  });
829
- (0, import_react10.useInsertionEffect)(() => {
806
+ (0, import_react9.useInsertionEffect)(() => {
830
807
  for (const ruleset of insertions) {
831
808
  insertStyleRule(ruleset);
832
809
  }
@@ -1225,7 +1202,7 @@ var mergeTransform = /* @__PURE__ */ __name((obj, key, val) => {
1225
1202
  }, "mergeTransform");
1226
1203
 
1227
1204
  // src/hooks/useFeatures.tsx
1228
- var import_react11 = __toModule(require("react"));
1205
+ var import_react10 = __toModule(require("react"));
1229
1206
  var createDefinition = /* @__PURE__ */ __name(({ Component, propNames }) => ({
1230
1207
  isEnabled: (props) => propNames.some((name) => !!props[name]),
1231
1208
  Component
@@ -1283,7 +1260,7 @@ var useFeatures = /* @__PURE__ */ __name((props, utils) => {
1283
1260
  const name = featureNames[i];
1284
1261
  const { isEnabled, Component } = featureDefinitions[name];
1285
1262
  if (isEnabled(props) && Component) {
1286
- features.push(/* @__PURE__ */ import_react11.default.createElement(Component, __spreadProps(__spreadValues({
1263
+ features.push(/* @__PURE__ */ import_react10.default.createElement(Component, __spreadProps(__spreadValues({
1287
1264
  key: name
1288
1265
  }, props), {
1289
1266
  _utils: utils
@@ -1325,7 +1302,7 @@ function createComponent(configIn) {
1325
1302
  let defaultsStyle;
1326
1303
  let defaultsClassName = "";
1327
1304
  let initialTheme;
1328
- const component = (0, import_react12.forwardRef)((props, forwardedRef) => {
1305
+ const component = (0, import_react11.forwardRef)((props, forwardedRef) => {
1329
1306
  var _a4;
1330
1307
  const {
1331
1308
  tag,
@@ -1362,10 +1339,10 @@ function createComponent(configIn) {
1362
1339
  onClick,
1363
1340
  onLayout
1364
1341
  } = props;
1365
- const forceUpdate = useForceUpdate();
1342
+ const forceUpdate = (0, import_use_force_update2.useForceUpdate)();
1366
1343
  const features = useFeatures(props, { forceUpdate });
1367
- const manager = (0, import_react12.useContext)(ThemeManagerContext);
1368
- const [state, set_] = (0, import_react12.useState)(() => ({
1344
+ const manager = (0, import_react11.useContext)(ThemeManagerContext);
1345
+ const [state, set_] = (0, import_react11.useState)(() => ({
1369
1346
  hover: false,
1370
1347
  press: false,
1371
1348
  pressIn: false,
@@ -1380,14 +1357,14 @@ function createComponent(configIn) {
1380
1357
  return prev;
1381
1358
  }), "set");
1382
1359
  if (process.env.NODE_ENV === "development" && !isText && isWeb) {
1383
- import_react12.Children.toArray(props.children).forEach((item) => {
1360
+ import_react11.Children.toArray(props.children).forEach((item) => {
1384
1361
  if (typeof item === "string") {
1385
1362
  console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <View>.`);
1386
1363
  }
1387
1364
  });
1388
1365
  }
1389
- const hasTextAncestor = isWeb ? (0, import_react12.useContext)(TextAncestorContext) : false;
1390
- const hostRef = (0, import_react12.useRef)(null);
1366
+ const hasTextAncestor = isWeb ? (0, import_react11.useContext)(TextAncestorContext) : false;
1367
+ const hostRef = (0, import_react11.useRef)(null);
1391
1368
  if (isWeb) {
1392
1369
  rnw.useResponderEvents(hostRef, {
1393
1370
  onMoveShouldSetResponder,
@@ -1408,15 +1385,15 @@ function createComponent(configIn) {
1408
1385
  onStartShouldSetResponderCapture
1409
1386
  });
1410
1387
  }
1411
- const isTracking = (0, import_react12.useRef)(false);
1388
+ const isTracking = (0, import_react11.useRef)(false);
1412
1389
  const { viewProps, pseudos: pseudos2, style, classNames } = getSplitStyles(props, staticConfig, manager.theme || initialTheme);
1413
- const internal = (0, import_react12.useRef)();
1390
+ const internal = (0, import_react11.useRef)();
1414
1391
  if (!internal.current) {
1415
1392
  internal.current = {
1416
1393
  isMounted: true
1417
1394
  };
1418
1395
  }
1419
- (0, import_react12.useEffect)(() => {
1396
+ (0, import_react11.useEffect)(() => {
1420
1397
  internal.current.isMounted = true;
1421
1398
  const dispose = manager == null ? void 0 : manager.onChangeTheme((name) => {
1422
1399
  if (isTracking.current) {
@@ -1489,7 +1466,7 @@ function createComponent(configIn) {
1489
1466
  if (shouldAttach) {
1490
1467
  internal.current.hasEverHadEvents = true;
1491
1468
  }
1492
- const unPress = (0, import_react12.useCallback)(() => {
1469
+ const unPress = (0, import_react11.useCallback)(() => {
1493
1470
  if (!internal.current.isMounted)
1494
1471
  return;
1495
1472
  set({
@@ -1575,13 +1552,13 @@ function createComponent(configIn) {
1575
1552
  const className = domProps.className && domProps.className !== viewProps.className ? `${domProps.className} ${viewProps.className}` : viewProps.className;
1576
1553
  Object.assign(viewProps, domProps);
1577
1554
  viewProps.className = className;
1578
- content = (0, import_react12.createElement)(ViewComponent, viewProps, childEls);
1555
+ content = (0, import_react11.createElement)(ViewComponent, viewProps, childEls);
1579
1556
  } else {
1580
- content = (0, import_react12.createElement)(ViewComponent, viewProps, childEls);
1557
+ content = (0, import_react11.createElement)(ViewComponent, viewProps, childEls);
1581
1558
  }
1582
1559
  const shouldWrapTextAncestor = isWeb && isText && !hasTextAncestor;
1583
1560
  if (shouldWrapTextAncestor) {
1584
- content = (0, import_react12.createElement)(TextAncestorContext.Provider, { value: true }, content);
1561
+ content = (0, import_react11.createElement)(TextAncestorContext.Provider, { value: true }, content);
1585
1562
  }
1586
1563
  if (process.env.NODE_ENV === "development") {
1587
1564
  if (props["debug"]) {
@@ -1595,7 +1572,7 @@ function createComponent(configIn) {
1595
1572
  }
1596
1573
  }
1597
1574
  }
1598
- return /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null, features, content);
1575
+ return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, features, content);
1599
1576
  });
1600
1577
  onConfiguredOnce((conf3) => {
1601
1578
  var _a4;
@@ -1669,7 +1646,7 @@ function spacedChildren({
1669
1646
  if (!space && !isZStack) {
1670
1647
  return children;
1671
1648
  }
1672
- const childrenList = import_react12.Children.toArray(children);
1649
+ const childrenList = import_react11.Children.toArray(children);
1673
1650
  const len = childrenList.length;
1674
1651
  if (len === 1) {
1675
1652
  return children;
@@ -1680,15 +1657,15 @@ function spacedChildren({
1680
1657
  continue;
1681
1658
  }
1682
1659
  const key = `${(child == null ? void 0 : child["key"]) ?? index}`;
1683
- next.push(/* @__PURE__ */ import_react12.default.createElement(import_react12.Fragment, {
1660
+ next.push(/* @__PURE__ */ import_react11.default.createElement(import_react11.Fragment, {
1684
1661
  key
1685
- }, isZStack ? /* @__PURE__ */ import_react12.default.createElement(Absolute, null, child) : child));
1662
+ }, isZStack ? /* @__PURE__ */ import_react11.default.createElement(Absolute, null, child) : child));
1686
1663
  if ((_a4 = child == null ? void 0 : child["type"]) == null ? void 0 : _a4["isVisuallyHidden"]) {
1687
1664
  continue;
1688
1665
  }
1689
1666
  if (index !== len - 1) {
1690
1667
  if (space) {
1691
- next.push(/* @__PURE__ */ import_react12.default.createElement(Spacer, {
1668
+ next.push(/* @__PURE__ */ import_react11.default.createElement(Spacer, {
1692
1669
  key: `${key}_spacer`,
1693
1670
  direction: flexDirection === "row" || flexDirection === "row-reverse" ? "horizontal" : "vertical",
1694
1671
  size: space
@@ -1699,7 +1676,7 @@ function spacedChildren({
1699
1676
  return next;
1700
1677
  }
1701
1678
  __name(spacedChildren, "spacedChildren");
1702
- var Absolute = /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ import_react12.default.createElement(import_react_native3.View, {
1679
+ var Absolute = /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ import_react11.default.createElement(import_react_native3.View, {
1703
1680
  style: sheet.fullscreen
1704
1681
  }, children), "Absolute");
1705
1682
  var sheet = import_react_native3.StyleSheet.create({
@@ -1792,13 +1769,14 @@ function styled(Component, options, staticExtractionOptions) {
1792
1769
  __name(styled, "styled");
1793
1770
 
1794
1771
  // src/helpers/themeable.tsx
1795
- var import_react15 = __toModule(require("react"));
1772
+ var import_react14 = __toModule(require("react"));
1796
1773
 
1797
1774
  // src/views/ThemeInverse.tsx
1798
- var import_react14 = __toModule(require("react"));
1775
+ var import_react13 = __toModule(require("react"));
1799
1776
 
1800
1777
  // src/hooks/useTheme.tsx
1801
- var import_react13 = __toModule(require("react"));
1778
+ var import_use_force_update3 = __toModule(require("@tamagui/use-force-update"));
1779
+ var import_react12 = __toModule(require("react"));
1802
1780
  var areEqualSets = /* @__PURE__ */ __name((a, b) => {
1803
1781
  if (a.size !== b.size)
1804
1782
  return false;
@@ -1810,9 +1788,9 @@ var areEqualSets = /* @__PURE__ */ __name((a, b) => {
1810
1788
  return true;
1811
1789
  }, "areEqualSets");
1812
1790
  var useThemeName = /* @__PURE__ */ __name(() => {
1813
- const parent = (0, import_react13.useContext)(ThemeManagerContext);
1814
- const [name, setName] = (0, import_react13.useState)(parent.name);
1815
- (0, import_react13.useEffect)(() => {
1791
+ const parent = (0, import_react12.useContext)(ThemeManagerContext);
1792
+ const [name, setName] = (0, import_react12.useState)(parent.name);
1793
+ (0, import_react12.useEffect)(() => {
1816
1794
  return parent.onChangeTheme((next) => {
1817
1795
  setName((prev) => {
1818
1796
  if (prev === next)
@@ -1824,13 +1802,13 @@ var useThemeName = /* @__PURE__ */ __name(() => {
1824
1802
  return name || "light";
1825
1803
  }, "useThemeName");
1826
1804
  var useDefaultThemeName = /* @__PURE__ */ __name(() => {
1827
- return (0, import_react13.useContext)(ThemeContext)[GET_DEFAULT_THEME];
1805
+ return (0, import_react12.useContext)(ThemeContext)[GET_DEFAULT_THEME];
1828
1806
  }, "useDefaultThemeName");
1829
1807
  var useTheme = /* @__PURE__ */ __name(() => {
1830
- const forceUpdate = useForceUpdate();
1831
- const manager = (0, import_react13.useContext)(ThemeManagerContext);
1832
- const themes = (0, import_react13.useContext)(ThemeContext);
1833
- const state = (0, import_react13.useRef)();
1808
+ const forceUpdate = (0, import_use_force_update3.useForceUpdate)();
1809
+ const manager = (0, import_react12.useContext)(ThemeManagerContext);
1810
+ const themes = (0, import_react12.useContext)(ThemeContext);
1811
+ const state = (0, import_react12.useRef)();
1834
1812
  if (!state.current) {
1835
1813
  state.current = {
1836
1814
  uuid: {},
@@ -1847,11 +1825,11 @@ var useTheme = /* @__PURE__ */ __name(() => {
1847
1825
  manager.track(st.uuid, st.keys);
1848
1826
  }
1849
1827
  });
1850
- (0, import_react13.useEffect)(() => {
1828
+ (0, import_react12.useEffect)(() => {
1851
1829
  return manager.onUpdate(state.current.uuid, forceUpdate);
1852
1830
  }, []);
1853
1831
  const theme = (manager.name ? themes[manager.name] : themes.light) ?? themes.light;
1854
- return (0, import_react13.useMemo)(() => {
1832
+ return (0, import_react12.useMemo)(() => {
1855
1833
  return new Proxy(theme, {
1856
1834
  get(_, key) {
1857
1835
  const name = manager.name;
@@ -1892,21 +1870,21 @@ var ThemeInverse = /* @__PURE__ */ __name((props) => {
1892
1870
  const defaultTheme = useDefaultThemeName();
1893
1871
  const name = inversions[themeName] || inversions[defaultTheme] || null;
1894
1872
  console.log("todo fixme invert", { themeName, defaultTheme, next: name });
1895
- return /* @__PURE__ */ import_react14.default.createElement(Theme, {
1873
+ return /* @__PURE__ */ import_react13.default.createElement(Theme, {
1896
1874
  name
1897
1875
  }, props.children);
1898
1876
  }, "ThemeInverse");
1899
1877
 
1900
1878
  // src/helpers/themeable.tsx
1901
1879
  var themeable = /* @__PURE__ */ __name(function graphql(component) {
1902
- const withThemeComponent = (0, import_react15.forwardRef)(/* @__PURE__ */ __name(function WithTheme(_a4, ref) {
1880
+ const withThemeComponent = (0, import_react14.forwardRef)(/* @__PURE__ */ __name(function WithTheme(_a4, ref) {
1903
1881
  var _b2 = _a4, { themeInverse } = _b2, rest = __objRest(_b2, ["themeInverse"]);
1904
- const el = import_react15.default.createElement(component, __spreadProps(__spreadValues({}, rest), { ref }));
1882
+ const el = import_react14.default.createElement(component, __spreadProps(__spreadValues({}, rest), { ref }));
1905
1883
  if (themeInverse) {
1906
- return /* @__PURE__ */ import_react15.default.createElement(ThemeInverse, null, el);
1884
+ return /* @__PURE__ */ import_react14.default.createElement(ThemeInverse, null, el);
1907
1885
  }
1908
1886
  if (rest.theme) {
1909
- return /* @__PURE__ */ import_react15.default.createElement(Theme, {
1887
+ return /* @__PURE__ */ import_react14.default.createElement(Theme, {
1910
1888
  name: rest.theme || null
1911
1889
  }, el);
1912
1890
  }
@@ -1918,7 +1896,7 @@ var themeable = /* @__PURE__ */ __name(function graphql(component) {
1918
1896
  }, "graphql");
1919
1897
 
1920
1898
  // src/views/Animated.tsx
1921
- var import_react16 = __toModule(require("react"));
1899
+ var import_react15 = __toModule(require("react"));
1922
1900
  var import_react_native4 = __toModule(require("react-native"));
1923
1901
 
1924
1902
  // src/views/Stack.tsx
@@ -1961,7 +1939,7 @@ var AnimatedStack = /* @__PURE__ */ __name((_a4) => {
1961
1939
  const driver = useConstant(() => {
1962
1940
  return new import_react_native4.Animated.Value(0);
1963
1941
  });
1964
- const animatedProps = (0, import_react16.useMemo)(() => {
1942
+ const animatedProps = (0, import_react15.useMemo)(() => {
1965
1943
  if (!animated) {
1966
1944
  return null;
1967
1945
  }
@@ -1994,8 +1972,8 @@ var AnimatedStack = /* @__PURE__ */ __name((_a4) => {
1994
1972
  toValue: animateState === "in" ? 1 : 0
1995
1973
  }).start();
1996
1974
  }, [animated, animateState]);
1997
- const childrenMemo = (0, import_react16.useMemo)(() => children, [children]);
1998
- return /* @__PURE__ */ import_react16.default.createElement(Stack, __spreadValues(__spreadValues({
1975
+ const childrenMemo = (0, import_react15.useMemo)(() => children, [children]);
1976
+ return /* @__PURE__ */ import_react15.default.createElement(Stack, __spreadValues(__spreadValues({
1999
1977
  animated
2000
1978
  }, props), animatedProps), childrenMemo);
2001
1979
  }, "AnimatedStack");
@@ -2101,7 +2079,7 @@ var Text2 = createComponent({
2101
2079
  });
2102
2080
 
2103
2081
  // src/views/SafeAreaProvider.tsx
2104
- var import_react17 = __toModule(require("react"));
2082
+ var import_react16 = __toModule(require("react"));
2105
2083
  var import_react_native5 = __toModule(require("react-native"));
2106
2084
  var import_react_native_safe_area_context = __toModule(require("react-native-safe-area-context"));
2107
2085
  var defaultMetrics = null;
@@ -2118,7 +2096,7 @@ var SafeAreaProvider = /* @__PURE__ */ __name(({
2118
2096
  default: import_react_native_safe_area_context.initialWindowMetrics
2119
2097
  });
2120
2098
  }
2121
- return /* @__PURE__ */ import_react17.default.createElement(import_react_native_safe_area_context.SafeAreaProvider, {
2099
+ return /* @__PURE__ */ import_react16.default.createElement(import_react_native_safe_area_context.SafeAreaProvider, {
2122
2100
  initialMetrics: initialWindowMetrics ?? defaultMetrics
2123
2101
  }, children);
2124
2102
  }, "SafeAreaProvider");