@tamagui/web 1.5.19 → 1.5.20

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 (33) hide show
  1. package/dist/cjs/createComponent.js +7 -1
  2. package/dist/cjs/createComponent.js.map +2 -2
  3. package/dist/cjs/helpers/getSplitStyles.js +2 -3
  4. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  5. package/dist/cjs/helpers/withStaticProperties.js +3 -2
  6. package/dist/cjs/helpers/withStaticProperties.js.map +2 -2
  7. package/dist/cjs/styled.js +20 -7
  8. package/dist/cjs/styled.js.map +3 -3
  9. package/dist/esm/createComponent.js +7 -1
  10. package/dist/esm/createComponent.js.map +2 -2
  11. package/dist/esm/createComponent.mjs +7 -1
  12. package/dist/esm/createComponent.mjs.map +2 -2
  13. package/dist/esm/helpers/getSplitStyles.js +2 -3
  14. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  15. package/dist/esm/helpers/getSplitStyles.mjs +2 -3
  16. package/dist/esm/helpers/getSplitStyles.mjs.map +2 -2
  17. package/dist/esm/helpers/withStaticProperties.js +3 -2
  18. package/dist/esm/helpers/withStaticProperties.js.map +2 -2
  19. package/dist/esm/helpers/withStaticProperties.mjs +3 -2
  20. package/dist/esm/helpers/withStaticProperties.mjs.map +2 -2
  21. package/dist/esm/styled.js +20 -7
  22. package/dist/esm/styled.js.map +3 -3
  23. package/dist/esm/styled.mjs +20 -7
  24. package/dist/esm/styled.mjs.map +3 -3
  25. package/package.json +9 -9
  26. package/src/createComponent.tsx +11 -1
  27. package/src/helpers/getSplitStyles.tsx +6 -3
  28. package/src/helpers/withStaticProperties.tsx +4 -2
  29. package/src/styled.tsx +31 -12
  30. package/types/createComponent.d.ts.map +1 -1
  31. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  32. package/types/helpers/withStaticProperties.d.ts.map +1 -1
  33. package/types/styled.d.ts.map +1 -1
@@ -2,6 +2,8 @@ export const withStaticProperties = function <A extends Function, B>(
2
2
  component: A,
3
3
  staticProps: B
4
4
  ): A & B {
5
- Object.assign(component, staticProps)
6
- return component as any
5
+ // clone if object to stay immutable
6
+ const next = typeof component === 'function' ? component : { ...(component as any) }
7
+ Object.assign(next, staticProps)
8
+ return next as A & B
7
9
  }
package/src/styled.tsx CHANGED
@@ -1,4 +1,5 @@
1
1
  import { stylePropsAll } from '@tamagui/helpers'
2
+ import { forwardRef } from 'react'
2
3
 
3
4
  import { createComponent } from './createComponent.js'
4
5
  import { ReactNativeStaticConfigs } from './setupReactNative.js'
@@ -71,10 +72,35 @@ export function styled<
71
72
  }
72
73
  }
73
74
 
74
- const staticConfigProps = (() => {
75
- const parentStaticConfig =
76
- 'staticConfig' in Component ? (Component.staticConfig as StaticConfig) : null
75
+ const parentStaticConfig =
76
+ 'staticConfig' in Component ? (Component.staticConfig as StaticConfig) : null
77
+ const isTamagui = !!parentStaticConfig
78
+
79
+ const isReactNative = Boolean(
80
+ ReactNativeStaticConfigs.has(Component) ||
81
+ staticExtractionOptions?.isReactNative ||
82
+ ReactNativeStaticConfigs.has(parentStaticConfig?.Component) ||
83
+ parentStaticConfig?.isReactNative
84
+ )
85
+
86
+ // unrecognized, just pass through as default props
87
+ if (!isTamagui && !isReactNative) {
88
+ if (process.env.NODE_ENV === 'development') {
89
+ // TODO variants would need to work through props to support this
90
+ if (options?.variants) {
91
+ console.warn(
92
+ `Warning: wrapping a non-Tamagui element in styled() and passing variants isn't supported (yet).`
93
+ )
94
+ }
95
+ }
96
+
97
+ return forwardRef(function styled(props, ref) {
98
+ // @ts-ignore
99
+ return <Component ref={ref} {...options} {...props} />
100
+ }) as StyledComponent
101
+ }
77
102
 
103
+ const staticConfigProps = (() => {
78
104
  if (options) {
79
105
  const {
80
106
  variants,
@@ -86,17 +112,11 @@ export function styled<
86
112
  if (defaultVariants) {
87
113
  Object.assign(defaultProps, defaultVariants)
88
114
  }
89
- const isReactNative = Boolean(
90
- ReactNativeStaticConfigs.has(Component) ||
91
- ReactNativeStaticConfigs.has(parentStaticConfig?.Component) ||
92
- parentStaticConfig?.isReactNative ||
93
- staticExtractionOptions?.isReactNative
94
- )
95
- const isTamagui = !isReactNative && !!parentStaticConfig
96
115
 
97
116
  const Comp = isReactNative
98
117
  ? parentStaticConfig?.Component || Component
99
118
  : (Component as any)
119
+
100
120
  const nativeConf = (isReactNative && ReactNativeStaticConfigs.get(Comp)) || null
101
121
 
102
122
  const isText = Boolean(
@@ -128,10 +148,9 @@ export function styled<
128
148
 
129
149
  return conf
130
150
  }
131
- return {}
132
151
  })()
133
152
 
134
- const component = createComponent(staticConfigProps, Component)
153
+ const component = createComponent(staticConfigProps || {}, Component)
135
154
 
136
155
  // get parent props without pseudos and medias so we can rebuild both with new variants
137
156
  // get parent props without pseudos and medias so we can rebuild both with new variants
@@ -1 +1 @@
1
- {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAUN,MAAM,OAAO,CAAA;AAiBd,OAAO,EACL,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAEhB,qBAAqB,EAErB,cAAc,EAIf,MAAM,SAAS,CAAA;AAmBhB,eAAO,MAAM,qBAAqB,EAAE,qBAMnC,CAAA;AAeD,eAAO,MAAM,QAAQ,eAAsB,CAAA;AA8B3C,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,MAAM,GAAG,EAAE,EACtC,GAAG,GAAG,cAAc,EACpB,SAAS,GAAG,KAAK,EAEjB,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,kBAAkB,EACpD,eAAe,CAAC,EAAE,iBAAiB,4DAkwBpC;AAGD,eAAO,MAAM,QAAQ;YAAW;QAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;KAAE;;CAEjD,CAAA;AAMD,eAAO,MAAM,MAAM,0DA8CjB,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,mBAiGxD"}
1
+ {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAUN,MAAM,OAAO,CAAA;AAiBd,OAAO,EACL,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAEhB,qBAAqB,EAErB,cAAc,EAIf,MAAM,SAAS,CAAA;AAmBhB,eAAO,MAAM,qBAAqB,EAAE,qBAMnC,CAAA;AAeD,eAAO,MAAM,QAAQ,eAAsB,CAAA;AA8B3C,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,MAAM,GAAG,EAAE,EACtC,GAAG,GAAG,cAAc,EACpB,SAAS,GAAG,KAAK,EAEjB,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,kBAAkB,EACpD,eAAe,CAAC,EAAE,iBAAiB,4DAqwBpC;AAGD,eAAO,MAAM,QAAQ;YAAW;QAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;KAAE;;CAEjD,CAAA;AAMD,eAAO,MAAM,MAAM,0DA8CjB,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,mBAiGxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,cAAc,CAAA;AAWxD,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,cAAc,EAOd,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACZ,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,gCAAgC,CAAA;AAkBvC,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,YAAY,EAAE,kBAAkB,CAAA;IAChC,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,KAAK,EAAE,eAAe,CAAA;IACtB,IAAI,EAAE,qBAAqB,CAAA;IAC3B,eAAe,CAAC,EAAE,iBAAiB,CAAA;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAsFhE,KAAK,aAAa,GAAG,CACnB,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,kBAAkB,EAChC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,eAAe,EACtB,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,EACzC,eAAe,CAAC,EAAE,mBAAmB,EAErC,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,SAAS,KACd,cAAc,CAAA;AAEnB,eAAO,MAAM,UAAU,MAAM,CAAA;AAqB7B,eAAO,MAAM,cAAc,EAAE,aAuuB5B,CAAA;AA0FD,eAAO,MAAM,WAAW,eACV,aAAa,UACjB,MAAM,WACL,MAAM,sBACK,OAAO,wBACL,OAAO,KAC5B,SA6BF,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,aAI/B,CAAA;AAOD,eAAO,MAAM,cAAc,EAAE,aAU5B,CAAA;AA8BD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,cAAc,CAAA;AAWxD,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,cAAc,EAOd,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACZ,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,gCAAgC,CAAA;AAkBvC,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,YAAY,EAAE,kBAAkB,CAAA;IAChC,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,KAAK,EAAE,eAAe,CAAA;IACtB,IAAI,EAAE,qBAAqB,CAAA;IAC3B,eAAe,CAAC,EAAE,iBAAiB,CAAA;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAsFhE,KAAK,aAAa,GAAG,CACnB,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,kBAAkB,EAChC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,eAAe,EACtB,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,EACzC,eAAe,CAAC,EAAE,mBAAmB,EAErC,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,SAAS,KACd,cAAc,CAAA;AAEnB,eAAO,MAAM,UAAU,MAAM,CAAA;AAqB7B,eAAO,MAAM,cAAc,EAAE,aA0uB5B,CAAA;AA0FD,eAAO,MAAM,WAAW,eACV,aAAa,UACjB,MAAM,WACL,MAAM,sBACK,OAAO,wBACL,OAAO,KAC5B,SA6BF,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,aAI/B,CAAA;AAOD,eAAO,MAAM,cAAc,EAAE,aAU5B,CAAA;AA8BD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"withStaticProperties.d.ts","sourceRoot":"","sources":["../../src/helpers/withStaticProperties.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,gEAMhC,CAAA"}
1
+ {"version":3,"file":"withStaticProperties.d.ts","sourceRoot":"","sources":["../../src/helpers/withStaticProperties.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,gEAQhC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../src/styled.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAGnB,MAAM,MAAM,aAAa,CAAC,eAAe,SAAS,iBAAiB,IACjE,QAAQ,CAAC,eAAe,CAAC,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,GAAG,SAAS,CAAA;IAC1D,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CACzC,CAAA;AAEH,KAAK,YAAY,CAAC,CAAC,SAAS,iBAAiB,IAAI,CAAC,SAAS,gBAAgB,CACzE,GAAG,EACH,GAAG,EACH,MAAM,CAAC,CACR,GACG,CAAC,GACD,QAAQ,CAAC,CAAC,CAAC,CAAA;AAEf,KAAK,eAAe,CAAC,CAAC,SAAS,iBAAiB,IAAI,CAAC,SAAS,gBAAgB,CAC5E,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,CAAC,CACR,GACG,CAAC,GACD,EAAE,CAAA;AAEN,wBAAgB,MAAM,CACpB,eAAe,SAAS,iBAAiB,EACzC,QAAQ,SAAS,kBAAkB,CAAC,eAAe,CAAC,GAAG,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,GAAG,IAAI,EAExG,SAAS,EAAE,eAAe,EAE1B,OAAO,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAE/B,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,EACD,uBAAuB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,qrDAoHhD"}
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../src/styled.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAGnB,MAAM,MAAM,aAAa,CAAC,eAAe,SAAS,iBAAiB,IACjE,QAAQ,CAAC,eAAe,CAAC,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,GAAG,SAAS,CAAA;IAC1D,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CACzC,CAAA;AAEH,KAAK,YAAY,CAAC,CAAC,SAAS,iBAAiB,IAAI,CAAC,SAAS,gBAAgB,CACzE,GAAG,EACH,GAAG,EACH,MAAM,CAAC,CACR,GACG,CAAC,GACD,QAAQ,CAAC,CAAC,CAAC,CAAA;AAEf,KAAK,eAAe,CAAC,CAAC,SAAS,iBAAiB,IAAI,CAAC,SAAS,gBAAgB,CAC5E,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,CAAC,CACR,GACG,CAAC,GACD,EAAE,CAAA;AAEN,wBAAgB,MAAM,CACpB,eAAe,SAAS,iBAAiB,EACzC,QAAQ,SAAS,kBAAkB,CAAC,eAAe,CAAC,GAAG,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,GAAG,IAAI,EAExG,SAAS,EAAE,eAAe,EAE1B,OAAO,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAE/B,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,EACD,uBAAuB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,qrDAsIhD"}