@tamagui/web 1.95.3 → 1.97.0

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.
Files changed (70) hide show
  1. package/dist/cjs/createComponent.js +4 -3
  2. package/dist/cjs/createComponent.js.map +1 -1
  3. package/dist/cjs/createComponent.native.js +3 -3
  4. package/dist/cjs/createComponent.native.js.map +2 -2
  5. package/dist/cjs/helpers/createStyledContext.js.map +1 -1
  6. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  7. package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
  8. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  9. package/dist/cjs/helpers/setElementProps.js +21 -0
  10. package/dist/cjs/helpers/setElementProps.js.map +6 -0
  11. package/dist/cjs/helpers/setElementProps.native.js +31 -0
  12. package/dist/cjs/helpers/setElementProps.native.js.map +6 -0
  13. package/dist/cjs/helpers/skipProps.js.map +1 -1
  14. package/dist/cjs/helpers/skipProps.native.js +2 -1
  15. package/dist/cjs/helpers/skipProps.native.js.map +2 -2
  16. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
  17. package/dist/cjs/views/Theme.js +8 -4
  18. package/dist/cjs/views/Theme.js.map +1 -1
  19. package/dist/cjs/views/Theme.native.js +9 -5
  20. package/dist/cjs/views/Theme.native.js.map +2 -2
  21. package/dist/esm/createComponent.js +4 -2
  22. package/dist/esm/createComponent.js.map +1 -1
  23. package/dist/esm/createComponent.mjs +3 -2
  24. package/dist/esm/createComponent.native.js +3 -2
  25. package/dist/esm/createComponent.native.js.map +2 -2
  26. package/dist/esm/helpers/createStyledContext.js +5 -1
  27. package/dist/esm/helpers/createStyledContext.js.map +1 -1
  28. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  29. package/dist/esm/helpers/getSplitStyles.js +1 -3
  30. package/dist/esm/helpers/getSplitStyles.js.map +1 -1
  31. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  32. package/dist/esm/helpers/setElementProps.js +5 -0
  33. package/dist/esm/helpers/setElementProps.js.map +6 -0
  34. package/dist/esm/helpers/setElementProps.mjs +2 -0
  35. package/dist/esm/helpers/setElementProps.native.js +10 -0
  36. package/dist/esm/helpers/setElementProps.native.js.map +6 -0
  37. package/dist/esm/helpers/skipProps.js.map +1 -1
  38. package/dist/esm/helpers/skipProps.native.js +2 -1
  39. package/dist/esm/helpers/skipProps.native.js.map +2 -2
  40. package/dist/esm/views/Theme.js +8 -4
  41. package/dist/esm/views/Theme.js.map +1 -1
  42. package/dist/esm/views/Theme.mjs +9 -6
  43. package/dist/esm/views/Theme.native.js +9 -5
  44. package/dist/esm/views/Theme.native.js.map +2 -2
  45. package/package.json +16 -13
  46. package/reset.css +1 -1
  47. package/src/createComponent.tsx +5 -4
  48. package/src/helpers/createStyledContext.tsx +15 -8
  49. package/src/helpers/getSplitStyles.tsx +2 -9
  50. package/src/helpers/setElementProps.native.tsx +9 -0
  51. package/src/helpers/setElementProps.tsx +1 -0
  52. package/src/helpers/skipProps.ts +1 -0
  53. package/src/interfaces/TamaguiComponentPropsBaseBase.tsx +2 -0
  54. package/src/types.tsx +5 -1
  55. package/src/views/Theme.tsx +17 -8
  56. package/types/createComponent.d.ts +2 -2
  57. package/types/createComponent.d.ts.map +1 -1
  58. package/types/helpers/createStyledContext.d.ts +5 -5
  59. package/types/helpers/createStyledContext.d.ts.map +1 -1
  60. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  61. package/types/helpers/setElementProps.d.ts +2 -0
  62. package/types/helpers/setElementProps.d.ts.map +1 -0
  63. package/types/helpers/setElementProps.native.d.ts +2 -0
  64. package/types/helpers/setElementProps.native.d.ts.map +1 -0
  65. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts +1 -0
  66. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts.map +1 -1
  67. package/types/types.d.ts +5 -0
  68. package/types/types.d.ts.map +1 -1
  69. package/types/views/Theme.d.ts +4 -1
  70. package/types/views/Theme.d.ts.map +1 -1
@@ -20,15 +20,19 @@ const Theme = forwardRef(function ({
20
20
  ref
21
21
  });
22
22
  } catch {}
23
- return process.env.NODE_ENV === "development" && props.debug === "visualize" && (finalChildren = /* @__PURE__ */jsx(ThemeDebug, {
23
+ process.env.NODE_ENV === "development" && props.debug === "visualize" && (finalChildren = /* @__PURE__ */jsx(ThemeDebug, {
24
24
  themeState,
25
25
  themeProps: props,
26
26
  children: finalChildren
27
- })), getThemedChildren(themeState, finalChildren, props, isRoot);
27
+ }));
28
+ const stateRef = useRef({
29
+ hasEverThemed: !1
30
+ });
31
+ return getThemedChildren(themeState, finalChildren, props, isRoot, stateRef);
28
32
  });
29
33
  Theme.displayName = "Theme";
30
34
  Theme.avoidForwardRef = !0;
31
- function getThemedChildren(themeState, children, props, isRoot = !1) {
35
+ function getThemedChildren(themeState, children, props, isRoot = !1, stateRef) {
32
36
  const {
33
37
  themeManager,
34
38
  isNewTheme
@@ -38,9 +42,8 @@ function getThemedChildren(themeState, children, props, isRoot = !1) {
38
42
  shallow,
39
43
  forceClassName
40
44
  } = props,
41
- hasEverThemed = useRef(!1),
42
- shouldRenderChildrenWithTheme = isNewTheme || props.inverse || hasEverThemed.current || forceClassName || isRoot;
43
- if (shouldRenderChildrenWithTheme && (hasEverThemed.current = !0), !shouldRenderChildrenWithTheme) return children;
45
+ shouldRenderChildrenWithTheme = isNewTheme || "inverse" in props || "theme" in props || stateRef.current.hasEverThemed || forceClassName || isRoot;
46
+ if (shouldRenderChildrenWithTheme && (stateRef.current.hasEverThemed = !0), !shouldRenderChildrenWithTheme) return children;
44
47
  let next = children;
45
48
  shallow && (next = Children.toArray(children).map(child => isValidElement(child) ? cloneElement(child, void 0, /* @__PURE__ */jsx(Theme, {
46
49
  name: themeManager.state.parentName,
@@ -48,20 +48,24 @@ var Theme = /* @__PURE__ */ forwardRef(function(_param, ref) {
48
48
  });
49
49
  } catch {
50
50
  }
51
- return process.env.NODE_ENV === "development" && props.debug === "visualize" && (finalChildren = /* @__PURE__ */ _jsx(ThemeDebug, {
51
+ process.env.NODE_ENV === "development" && props.debug === "visualize" && (finalChildren = /* @__PURE__ */ _jsx(ThemeDebug, {
52
52
  themeState,
53
53
  themeProps: props,
54
54
  children: finalChildren
55
- })), getThemedChildren(themeState, finalChildren, props, isRoot);
55
+ }));
56
+ var stateRef = useRef({
57
+ hasEverThemed: !1
58
+ });
59
+ return getThemedChildren(themeState, finalChildren, props, isRoot, stateRef);
56
60
  });
57
61
  Theme.displayName = "Theme";
58
62
  Theme.avoidForwardRef = !0;
59
63
  function getThemedChildren(themeState, children, props) {
60
- var isRoot = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1, themeManager = themeState.themeManager, isNewTheme = themeState.isNewTheme;
64
+ var isRoot = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1, stateRef = arguments.length > 4 ? arguments[4] : void 0, themeManager = themeState.themeManager, isNewTheme = themeState.isNewTheme;
61
65
  if (!themeManager)
62
66
  throw new Error(process.env.NODE_ENV === "development" ? "\u274C No theme found, either incorrect name, potential duplicate tamagui deps, or TamaguiProvider not providing themes." : "\u274C 005");
63
- var shallow = props.shallow, forceClassName = props.forceClassName, hasEverThemed = useRef(!1), shouldRenderChildrenWithTheme = isNewTheme || props.inverse || hasEverThemed.current || forceClassName || isRoot;
64
- if (shouldRenderChildrenWithTheme && (hasEverThemed.current = !0), !shouldRenderChildrenWithTheme)
67
+ var shallow = props.shallow, forceClassName = props.forceClassName, shouldRenderChildrenWithTheme = isNewTheme || "inverse" in props || "theme" in props || stateRef.current.hasEverThemed || forceClassName || isRoot;
68
+ if (shouldRenderChildrenWithTheme && (stateRef.current.hasEverThemed = !0), !shouldRenderChildrenWithTheme)
65
69
  return children;
66
70
  var next = children;
67
71
  shallow && (next = Children.toArray(children).map(function(child) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Users/n8/tamagui/packages/web/src/views/Theme.tsx"],
4
- "mappings": "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",
5
- "names": ["isWeb", "React", "Children", "cloneElement", "forwardRef", "isValidElement", "useRef", "variableToString", "ThemeManagerIDContext", "useChangeThemeEffect", "ThemeDebug", "Theme", "ref", "children", "props", "disable", "isRoot", "themeState", "disableDirectChildTheme", "finalChildren", "map", "child", "only", "process", "env", "NODE_ENV", "debug", "themeProps", "getThemedChildren", "themeManager", "isNewTheme", "Error", "shallow", "forceClassName", "hasEverThemed", "shouldRenderChildrenWithTheme", "inverse", "current", "next", "toArray", "undefined", "name", "state", "parentName", "elementsWithContext", "Provider", "value", "id", "wrapThemeElements", "inversed", "requiresExtraWrapper", "getThemeClassNameAndStyle", "className", "style", "themedChildren", "span", "inverseClassName", "startsWith", "emptyObj", "themeColor", "theme", "color", "replace"]
4
+ "mappings": "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",
5
+ "names": ["isWeb", "React", "Children", "cloneElement", "forwardRef", "isValidElement", "useRef", "variableToString", "ThemeManagerIDContext", "useChangeThemeEffect", "ThemeDebug", "Theme", "ref", "children", "props", "disable", "isRoot", "themeState", "disableDirectChildTheme", "finalChildren", "map", "child", "only", "process", "env", "NODE_ENV", "debug", "themeProps", "stateRef", "hasEverThemed", "getThemedChildren", "themeManager", "isNewTheme", "Error", "shallow", "forceClassName", "shouldRenderChildrenWithTheme", "current", "next", "toArray", "undefined", "name", "state", "parentName", "elementsWithContext", "Provider", "value", "id", "wrapThemeElements", "inverse", "inversed", "requiresExtraWrapper", "getThemeClassNameAndStyle", "className", "style", "themedChildren", "span", "inverseClassName", "startsWith", "emptyObj", "themeColor", "theme", "color", "replace"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/web",
3
- "version": "1.95.3",
3
+ "version": "1.97.0",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -27,22 +27,25 @@
27
27
  "reset.css"
28
28
  ],
29
29
  "dependencies": {
30
- "@tamagui/compose-refs": "1.95.3",
31
- "@tamagui/constants": "1.95.3",
32
- "@tamagui/helpers": "1.95.3",
33
- "@tamagui/normalize-css-color": "1.95.3",
34
- "@tamagui/timer": "1.95.3",
35
- "@tamagui/types": "1.95.3",
36
- "@tamagui/use-did-finish-ssr": "1.95.3",
37
- "@tamagui/use-event": "1.95.3",
38
- "@tamagui/use-force-update": "1.95.3",
39
- "react": "^18.2.0",
40
- "react-dom": "^18.2.0"
30
+ "@tamagui/compose-refs": "1.97.0",
31
+ "@tamagui/constants": "1.97.0",
32
+ "@tamagui/helpers": "1.97.0",
33
+ "@tamagui/normalize-css-color": "1.97.0",
34
+ "@tamagui/timer": "1.97.0",
35
+ "@tamagui/types": "1.97.0",
36
+ "@tamagui/use-did-finish-ssr": "1.97.0",
37
+ "@tamagui/use-event": "1.97.0",
38
+ "@tamagui/use-force-update": "1.97.0"
39
+ },
40
+ "peerDependencies": {
41
+ "react": "*"
41
42
  },
42
43
  "devDependencies": {
43
- "@tamagui/build": "1.95.3",
44
+ "@tamagui/build": "1.97.0",
44
45
  "@testing-library/react": "^14.0.0",
45
46
  "csstype": "^3.0.10",
47
+ "react": "^18.2.0",
48
+ "react-dom": "^18.2.0",
46
49
  "typescript": "^5.3.3",
47
50
  "vitest": "^0.34.3"
48
51
  },
package/reset.css CHANGED
@@ -35,4 +35,4 @@ p, input, textarea, button, ul, ol, li, pre, dialog {
35
35
 
36
36
  a.is_Button, .is_Anchor:has(.is_Button) {
37
37
  text-decoration: none;
38
- }
38
+ }
@@ -40,7 +40,6 @@ import { hooks } from './setupHooks'
40
40
  import type {
41
41
  ComponentContextI,
42
42
  DebugProp,
43
- DisposeFn,
44
43
  GroupState,
45
44
  GroupStateListener,
46
45
  LayoutEvent,
@@ -69,6 +68,7 @@ import { Slot } from './views/Slot'
69
68
  import { getThemedChildren } from './views/Theme'
70
69
  import { ThemeDebug } from './views/ThemeDebug'
71
70
  import { isDevTools } from './constants/isDevTools'
71
+ import { setElementProps } from './helpers/setElementProps'
72
72
 
73
73
  /**
74
74
  * All things that need one-time setup after createTamagui is called
@@ -263,7 +263,7 @@ export const useComponentState = (
263
263
  if (process.env.NODE_ENV === 'development' && props.debug === 'verbose') {
264
264
  console.warn(`Animating presence EXIT "${exv}"`)
265
265
  }
266
- props[exv] = exitVariant === enterExitVariant ? false : true
266
+ props[exv] = exitVariant !== enterExitVariant
267
267
  }
268
268
  }
269
269
 
@@ -875,7 +875,8 @@ export function createComponent<
875
875
  if (!curStateRef.composedRef) {
876
876
  curStateRef.composedRef = composeRefs<TamaguiElement>(
877
877
  (x) => (stateRef.current.host = x as TamaguiElement),
878
- forwardedRef
878
+ forwardedRef,
879
+ setElementProps
879
880
  )
880
881
  }
881
882
 
@@ -1224,7 +1225,7 @@ export function createComponent<
1224
1225
  // disable theme prop is deterministic so conditional hook ok here
1225
1226
  content = disableTheme
1226
1227
  ? content
1227
- : getThemedChildren(themeState, content, themeStateProps, false)
1228
+ : getThemedChildren(themeState, content, themeStateProps, false, stateRef)
1228
1229
 
1229
1230
  if (process.env.NODE_ENV === 'development' && time) time`themed-children`
1230
1231
 
@@ -1,16 +1,23 @@
1
- import React, { createContext, useContext, useMemo } from 'react'
1
+ import {
2
+ createContext,
3
+ useContext,
4
+ useMemo,
5
+ type Context,
6
+ type ProviderExoticComponent,
7
+ type ReactNode,
8
+ } from 'react'
2
9
 
3
10
  import { objectIdentityKey } from './objectIdentityKey'
4
11
 
5
12
  export type StyledContext<Props extends Object = any> = Omit<
6
- React.Context<Props>,
13
+ Context<Props>,
7
14
  'Provider'
8
15
  > & {
9
- context: React.Context<Props>
16
+ context: Context<Props>
10
17
  props: Object | undefined
11
- Provider: React.ProviderExoticComponent<
18
+ Provider: ProviderExoticComponent<
12
19
  Partial<Props | undefined> & {
13
- children?: React.ReactNode
20
+ children?: ReactNode
14
21
  scope?: string
15
22
  }
16
23
  >
@@ -23,13 +30,13 @@ export function createStyledContext<VariantProps extends Record<string, any>>(
23
30
  const OGContext = createContext<VariantProps | undefined>(defaultValues)
24
31
  const OGProvider = OGContext.Provider
25
32
  const Context = OGContext as any as StyledContext<VariantProps>
26
- const scopedContexts = new Map<string, React.Context<VariantProps | undefined>>()
33
+ const scopedContexts = new Map<string, Context<VariantProps | undefined>>()
27
34
 
28
35
  const Provider = ({
29
36
  children,
30
37
  scope,
31
38
  ...values
32
- }: VariantProps & { children?: React.ReactNode; scope: string }) => {
39
+ }: VariantProps & { children?: ReactNode; scope: string }) => {
33
40
  const next = useMemo(() => {
34
41
  return {
35
42
  // this ! is a workaround for ts error
@@ -58,7 +65,7 @@ export function createStyledContext<VariantProps extends Record<string, any>>(
58
65
  // @ts-ignore
59
66
  Context.Provider = Provider
60
67
  Context.props = defaultValues
61
- Context.context = OGContext as React.Context<VariantProps>
68
+ Context.context = OGContext as Context<VariantProps>
62
69
  Context.useStyledContext = useStyledContext
63
70
 
64
71
  return Context
@@ -16,13 +16,7 @@ import {
16
16
  import { useInsertionEffect } from 'react'
17
17
 
18
18
  import { getConfig, getFont } from '../config'
19
- import {
20
- accessibilityDirectMap,
21
- accessibilityWebRoleToNativeRole,
22
- nativeAccessibilityState,
23
- nativeAccessibilityValue,
24
- webToNativeAccessibilityDirectMap,
25
- } from '../constants/accessibilityDirectMap'
19
+ import { accessibilityDirectMap } from '../constants/accessibilityDirectMap'
26
20
  import { webViewFlexCompatStyles } from '../constants/constants'
27
21
  import { isDevTools } from '../constants/isDevTools'
28
22
  import {
@@ -64,7 +58,6 @@ import {
64
58
  shouldInsertStyleRules,
65
59
  updateRules,
66
60
  } from './insertStyleRule'
67
- import { isObj } from './isObj'
68
61
  import { log } from './log'
69
62
  import {
70
63
  normalizeValueWithProperty,
@@ -339,7 +332,7 @@ export const getSplitStyles: StyleSplitter = (
339
332
  // map userSelect to native prop
340
333
  if (keyInit === 'userSelect') {
341
334
  keyInit = 'selectable'
342
- valInit = valInit === 'none' ? false : true
335
+ valInit = valInit !== 'none'
343
336
  } else if (keyInit.startsWith('data-')) {
344
337
  continue
345
338
  }
@@ -0,0 +1,9 @@
1
+ export function setElementProps(element) {
2
+ if (element && !element.getBoundingClientRect) {
3
+ element.getBoundingClientRect = () => {
4
+ if (element.unstable_getBoundingClientRect != null) {
5
+ return element.unstable_getBoundingClientRect()
6
+ }
7
+ }
8
+ }
9
+ }
@@ -0,0 +1 @@
1
+ export const setElementProps = undefined as unknown as (element: HTMLElement) => void
@@ -36,6 +36,7 @@ if (process.env.TAMAGUI_TARGET === 'native') {
36
36
  outlineOffset: 1,
37
37
  outlineWidth: 1,
38
38
  outlineColor: 1,
39
+ scrollbarWidth: 1,
39
40
  })
40
41
  } else {
41
42
  if (process.env.NODE_ENV !== 'production') {
@@ -4,6 +4,8 @@ import type { DebugProp, ThemeName, GroupNames } from '../types'
4
4
  export type TamaguiComponentPropsBaseBase = {
5
5
  target?: string
6
6
 
7
+ htmlFor?: string
8
+
7
9
  /**
8
10
  * When truthy passes through all props to a single child element, and avoids rendering its own element.
9
11
  * Must pass just one child React element that will receive all the props.
package/src/types.tsx CHANGED
@@ -1275,7 +1275,10 @@ interface ExtraStyleProps {
1275
1275
  * Web-only style property. Will be omitted on native.
1276
1276
  */
1277
1277
  userSelect?: Properties['userSelect']
1278
-
1278
+ /**
1279
+ * Web-only style property. Will be omitted on native.
1280
+ */
1281
+ scrollbarWidth?: Properties['scrollbarWidth']
1279
1282
  pointerEvents?: ViewProps['pointerEvents']
1280
1283
 
1281
1284
  /**
@@ -2095,6 +2098,7 @@ export type TamaguiComponentStateRef = {
2095
2098
  hasMeasured?: boolean
2096
2099
  hasAnimated?: boolean
2097
2100
  themeShallow?: boolean
2101
+ hasEverThemed?: boolean
2098
2102
  isListeningToTheme?: boolean
2099
2103
  unPress?: Function
2100
2104
  group?: {
@@ -1,6 +1,6 @@
1
1
  import { isWeb } from '@tamagui/constants'
2
+ import type { MutableRefObject } from 'react'
2
3
  import React, { Children, cloneElement, forwardRef, isValidElement, useRef } from 'react'
3
-
4
4
  import { variableToString } from '../createVariable'
5
5
  import { ThemeManagerIDContext } from '../helpers/ThemeManagerContext'
6
6
  import type { ChangedThemeResponse } from '../hooks/useTheme'
@@ -43,7 +43,11 @@ export const Theme = forwardRef(function Theme({ children, ...props }: ThemeProp
43
43
  }
44
44
  }
45
45
 
46
- return getThemedChildren(themeState, finalChildren, props, isRoot)
46
+ const stateRef = useRef({
47
+ hasEverThemed: false,
48
+ })
49
+
50
+ return getThemedChildren(themeState, finalChildren, props, isRoot, stateRef)
47
51
  })
48
52
  Theme['displayName'] = 'Theme'
49
53
  Theme['avoidForwardRef'] = true
@@ -52,7 +56,8 @@ export function getThemedChildren(
52
56
  themeState: ChangedThemeResponse,
53
57
  children: any,
54
58
  props: ThemeProps,
55
- isRoot = false
59
+ isRoot = false,
60
+ stateRef: MutableRefObject<{ hasEverThemed?: boolean }>
56
61
  ) {
57
62
  const { themeManager, isNewTheme } = themeState
58
63
 
@@ -67,13 +72,17 @@ export function getThemedChildren(
67
72
 
68
73
  const { shallow, forceClassName } = props
69
74
 
70
- // TODO remove hook and join with the parent stateRef in createComponent
71
- const hasEverThemed = useRef(false)
72
-
75
+ // always be true if ever themed so we avoid re-parenting
73
76
  const shouldRenderChildrenWithTheme =
74
- isNewTheme || props.inverse || hasEverThemed.current || forceClassName || isRoot
77
+ isNewTheme ||
78
+ 'inverse' in props ||
79
+ 'theme' in props ||
80
+ stateRef.current.hasEverThemed ||
81
+ forceClassName ||
82
+ isRoot
83
+
75
84
  if (shouldRenderChildrenWithTheme) {
76
- hasEverThemed.current = true
85
+ stateRef.current.hasEverThemed = true
77
86
  }
78
87
 
79
88
  if (!shouldRenderChildrenWithTheme) {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { ComponentContextI, DebugProp, DisposeFn, SpaceDirection, SpaceValue, SpacerProps, SpacerStyleProps, StackNonStyleProps, StackProps, StaticConfig, TamaguiComponent, TamaguiComponentStateRef, TamaguiElement, TamaguiInternalConfig, TextProps } from './types';
2
+ import type { ComponentContextI, DebugProp, SpaceDirection, SpaceValue, SpacerProps, SpacerStyleProps, StackNonStyleProps, StackProps, StaticConfig, TamaguiComponent, TamaguiComponentStateRef, TamaguiElement, TamaguiInternalConfig, TextProps } from './types';
3
3
  import type { TamaguiComponentState } from './interfaces/TamaguiComponentState';
4
4
  type ComponentSetState = React.Dispatch<React.SetStateAction<TamaguiComponentState>>;
5
5
  export declare const componentSetStates: Set<ComponentSetState>;
@@ -49,6 +49,6 @@ export declare const subscribeToContextGroup: ({ disabled, setStateShallow, pseu
49
49
  mediaGroups?: Set<string> | undefined;
50
50
  componentContext: ComponentContextI;
51
51
  state: TamaguiComponentState;
52
- }) => DisposeFn | undefined;
52
+ }) => import("./types").DisposeFn | undefined;
53
53
  export {};
54
54
  //# sourceMappingURL=createComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAIA,OAAO,KAYN,MAAM,OAAO,CAAA;AAuBd,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,SAAS,EAKT,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,YAAY,EAEZ,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,SAAS,EAIV,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAgB/E,KAAK,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAEpF,eAAO,MAAM,kBAAkB,wBAA+B,CAAA;AAkE9D,eAAO,MAAM,iBAAiB,UACrB,UAAU,GAAG,SAAS,GAAG,OAAO,MAAM,EAAE,GAAG,CAAC,+BACtB,iBAAiB,gBAChC,YAAY,UAClB,qBAAqB;;;;;;;;;;;;;;;;;;;CAuL9B,CAAA;AAuBD,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EACnD,GAAG,SAAS,cAAc,GAAG,cAAc,EAC3C,SAAS,GAAG,KAAK,EACjB,UAAU,SAAS,MAAM,GAAG,KAAK,EACjC,YAAY,EAAE,YAAY,wEAohC3B;AAsBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,OAEjD;yBAFe,QAAQ;;;AAkBxB,eAAO,MAAM,MAAM,yFA0CjB,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,cAAc,GAAG,OAAO,CAAA;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,mBAiGxD;AAwDD,eAAO,MAAM,UAAU,UAAW,GAAG,QAQpC,CAAA;AAED,eAAO,MAAM,uBAAuB;;6BAST,QAAQ,qBAAqB,CAAC,GAAG,SAAS,KAAK,IAAI;;;sBAG1D,iBAAiB;WAC5B,qBAAqB;2BAsC7B,CAAA"}
1
+ {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAIA,OAAO,KAYN,MAAM,OAAO,CAAA;AAuBd,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EAKT,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,YAAY,EAEZ,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,SAAS,EAIV,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAiB/E,KAAK,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAEpF,eAAO,MAAM,kBAAkB,wBAA+B,CAAA;AAkE9D,eAAO,MAAM,iBAAiB,UACrB,UAAU,GAAG,SAAS,GAAG,OAAO,MAAM,EAAE,GAAG,CAAC,+BACtB,iBAAiB,gBAChC,YAAY,UAClB,qBAAqB;;;;;;;;;;;;;;;;;;;CAuL9B,CAAA;AAuBD,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EACnD,GAAG,SAAS,cAAc,GAAG,cAAc,EAC3C,SAAS,GAAG,KAAK,EACjB,UAAU,SAAS,MAAM,GAAG,KAAK,EACjC,YAAY,EAAE,YAAY,wEAqhC3B;AAsBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,OAEjD;yBAFe,QAAQ;;;AAkBxB,eAAO,MAAM,MAAM,yFA0CjB,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,cAAc,GAAG,OAAO,CAAA;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,mBAiGxD;AAwDD,eAAO,MAAM,UAAU,UAAW,GAAG,QAQpC,CAAA;AAED,eAAO,MAAM,uBAAuB;;6BAST,QAAQ,qBAAqB,CAAC,GAAG,SAAS,KAAK,IAAI;;;sBAG1D,iBAAiB;WAC5B,qBAAqB;6CAsC7B,CAAA"}
@@ -1,9 +1,9 @@
1
- import React from 'react';
2
- export type StyledContext<Props extends Object = any> = Omit<React.Context<Props>, 'Provider'> & {
3
- context: React.Context<Props>;
1
+ import { type Context, type ProviderExoticComponent, type ReactNode } from 'react';
2
+ export type StyledContext<Props extends Object = any> = Omit<Context<Props>, 'Provider'> & {
3
+ context: Context<Props>;
4
4
  props: Object | undefined;
5
- Provider: React.ProviderExoticComponent<Partial<Props | undefined> & {
6
- children?: React.ReactNode;
5
+ Provider: ProviderExoticComponent<Partial<Props | undefined> & {
6
+ children?: ReactNode;
7
7
  scope?: string;
8
8
  }>;
9
9
  useStyledContext: (scope?: string) => Props;
@@ -1 +1 @@
1
- {"version":3,"file":"createStyledContext.d.ts","sourceRoot":"","sources":["../../src/helpers/createStyledContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAA;AAIjE,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,MAAM,GAAG,GAAG,IAAI,IAAI,CAC1D,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACpB,UAAU,CACX,GAAG;IACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,QAAQ,EAAE,KAAK,CAAC,uBAAuB,CACrC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG;QAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CACF,CAAA;IACD,gBAAgB,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,KAAK,CAAA;CAC5C,CAAA;AAED,wBAAgB,mBAAmB,CAAC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1E,aAAa,CAAC,EAAE,YAAY,GAC3B,aAAa,CAAC,YAAY,CAAC,CA2C7B;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG;KAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM;CAAE,CAAA"}
1
+ {"version":3,"file":"createStyledContext.d.ts","sourceRoot":"","sources":["../../src/helpers/createStyledContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAId,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,MAAM,GAAG,GAAG,IAAI,IAAI,CAC1D,OAAO,CAAC,KAAK,CAAC,EACd,UAAU,CACX,GAAG;IACF,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,QAAQ,EAAE,uBAAuB,CAC/B,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG;QAC3B,QAAQ,CAAC,EAAE,SAAS,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CACF,CAAA;IACD,gBAAgB,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,KAAK,CAAA;CAC5C,CAAA;AAED,wBAAgB,mBAAmB,CAAC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1E,aAAa,CAAC,EAAE,YAAY,GAC3B,aAAa,CAAC,YAAY,CAAC,CA2C7B;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG;KAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM;CAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAChF,OAAO,KAAK,EAEV,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAOb,eAAe,EACf,YAAY,EAGZ,cAAc,EACd,WAAW,EAEZ,MAAM,UAAU,CAAA;AA0BjB,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAMhE,KAAK,aAAa,GAAG,CACnB,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,qBAAqB,EACrC,UAAU,EAAE,eAAe,EAC3B,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,EACzC,OAAO,CAAC,EAAE,iBAAiB,EAE3B,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,SAAS,EACjB,wBAAwB,CAAC,EAAE,OAAO,KAC/B,cAAc,CAAA;AAEnB,eAAO,MAAM,UAAU,MAAM,CAAA;AA8B7B,eAAO,MAAM,cAAc,EAAE,aAstC5B,CAAA;AAgED,eAAO,MAAM,WAAW,eACV,aAAa,UACjB,MAAM,WACL,MAAM,wBACO,OAAO,KAC5B,cA2BF,CAAA;AAQD,eAAO,MAAM,cAAc,EAAE,aAU5B,CAAA"}
1
+ {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAChF,OAAO,KAAK,EAEV,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAOb,eAAe,EACf,YAAY,EAGZ,cAAc,EACd,WAAW,EAEZ,MAAM,UAAU,CAAA;AAyBjB,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAMhE,KAAK,aAAa,GAAG,CACnB,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,qBAAqB,EACrC,UAAU,EAAE,eAAe,EAC3B,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,EACzC,OAAO,CAAC,EAAE,iBAAiB,EAE3B,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,SAAS,EACjB,wBAAwB,CAAC,EAAE,OAAO,KAC/B,cAAc,CAAA;AAEnB,eAAO,MAAM,UAAU,MAAM,CAAA;AA8B7B,eAAO,MAAM,cAAc,EAAE,aAstC5B,CAAA;AAgED,eAAO,MAAM,WAAW,eACV,aAAa,UACjB,MAAM,WACL,MAAM,wBACO,OAAO,KAC5B,cA2BF,CAAA;AAQD,eAAO,MAAM,cAAc,EAAE,aAU5B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const setElementProps: (element: HTMLElement) => void;
2
+ //# sourceMappingURL=setElementProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setElementProps.d.ts","sourceRoot":"","sources":["../../src/helpers/setElementProps.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,YAAqC,WAAW,KAAK,IAAI,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function setElementProps(element: any): void;
2
+ //# sourceMappingURL=setElementProps.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setElementProps.native.d.ts","sourceRoot":"","sources":["../../src/helpers/setElementProps.native.tsx"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,OAAO,KAAA,QAQtC"}
@@ -2,6 +2,7 @@ import type { Role } from './Role';
2
2
  import type { DebugProp, ThemeName, GroupNames } from '../types';
3
3
  export type TamaguiComponentPropsBaseBase = {
4
4
  target?: string;
5
+ htmlFor?: string;
5
6
  /**
6
7
  * When truthy passes through all props to a single child element, and avoids rendering its own element.
7
8
  * Must pass just one child React element that will receive all the props.
@@ -1 +1 @@
1
- {"version":3,"file":"TamaguiComponentPropsBaseBase.d.ts","sourceRoot":"","sources":["../../src/interfaces/TamaguiComponentPropsBaseBase.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TamaguiComponentPropsBaseBase.d.ts","sourceRoot":"","sources":["../../src/interfaces/TamaguiComponentPropsBaseBase.tsx"],"names":[],"mappings":"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"}
package/types/types.d.ts CHANGED
@@ -704,6 +704,10 @@ interface ExtraStyleProps {
704
704
  * Web-only style property. Will be omitted on native.
705
705
  */
706
706
  userSelect?: Properties['userSelect'];
707
+ /**
708
+ * Web-only style property. Will be omitted on native.
709
+ */
710
+ scrollbarWidth?: Properties['scrollbarWidth'];
707
711
  pointerEvents?: ViewProps['pointerEvents'];
708
712
  /**
709
713
  * @deprecated Use `gap`
@@ -1147,6 +1151,7 @@ export type TamaguiComponentStateRef = {
1147
1151
  hasMeasured?: boolean;
1148
1152
  hasAnimated?: boolean;
1149
1153
  themeShallow?: boolean;
1154
+ hasEverThemed?: boolean;
1150
1155
  isListeningToTheme?: boolean;
1151
1156
  unPress?: Function;
1152
1157
  group?: {