@tamagui/core 1.0.13 → 1.0.15

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 (53) hide show
  1. package/dist/cjs/createComponent.js +13 -15
  2. package/dist/cjs/createComponent.js.map +2 -2
  3. package/dist/cjs/createFont.web.test.js +125 -0
  4. package/dist/cjs/createFont.web.test.js.map +7 -0
  5. package/dist/cjs/createTamagui.js +0 -2
  6. package/dist/cjs/createTamagui.js.map +2 -2
  7. package/dist/cjs/createTokens.web.test.js +27 -0
  8. package/dist/cjs/createTokens.web.test.js.map +7 -0
  9. package/dist/cjs/createVariable.web.test.js +7 -0
  10. package/dist/cjs/createVariable.web.test.js.map +7 -0
  11. package/dist/cjs/helpers/getSplitStyles.js +7 -7
  12. package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
  13. package/dist/cjs/helpers/getSplitStyles.test.js +19 -0
  14. package/dist/cjs/helpers/getSplitStyles.test.js.map +7 -0
  15. package/dist/cjs/helpers/getStylesAtomic.js +3 -7
  16. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  17. package/dist/cjs/views/Stack.web.test.js +31 -0
  18. package/dist/cjs/views/Stack.web.test.js.map +7 -0
  19. package/dist/esm/createComponent.js +12 -15
  20. package/dist/esm/createComponent.js.map +2 -2
  21. package/dist/esm/createFont.web.test.js +124 -0
  22. package/dist/esm/createFont.web.test.js.map +7 -0
  23. package/dist/esm/createTamagui.js +0 -2
  24. package/dist/esm/createTamagui.js.map +2 -2
  25. package/dist/esm/createTokens.web.test.js +26 -0
  26. package/dist/esm/createTokens.web.test.js.map +7 -0
  27. package/dist/esm/createVariable.web.test.js +6 -0
  28. package/dist/esm/createVariable.web.test.js.map +7 -0
  29. package/dist/esm/helpers/getSplitStyles.js +7 -7
  30. package/dist/esm/helpers/getSplitStyles.js.map +1 -1
  31. package/dist/esm/helpers/getSplitStyles.test.js +18 -0
  32. package/dist/esm/helpers/getSplitStyles.test.js.map +7 -0
  33. package/dist/esm/helpers/getStylesAtomic.js +3 -6
  34. package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
  35. package/dist/esm/views/Stack.web.test.js +30 -0
  36. package/dist/esm/views/Stack.web.test.js.map +7 -0
  37. package/package.json +14 -12
  38. package/src/__snapshots__/createTokens.web.test.tsx.snap +772 -0
  39. package/src/createComponent.tsx +13 -15
  40. package/src/{createFont.test.ts → createFont.web.test.tsx} +0 -0
  41. package/src/createTamagui.ts +0 -2
  42. package/src/{createTokens.test.ts → createTokens.web.test.tsx} +1 -1
  43. package/src/{createVariable.test.ts → createVariable.web.test.tsx} +0 -0
  44. package/src/helpers/getSplitStyles.tsx +7 -7
  45. package/src/helpers/getStylesAtomic.ts +3 -6
  46. package/src/views/{Stack.test.tsx → Stack.web.test.tsx} +0 -0
  47. package/types/createComponent.d.ts +2 -1
  48. package/types/createFont.web.test.d.ts +2 -0
  49. package/types/createTokens.web.test.d.ts +2 -0
  50. package/types/createVariable.web.test.d.ts +2 -0
  51. package/types/helpers/getSplitStyles.test.d.ts +2 -0
  52. package/types/helpers/getStylesAtomic.d.ts +0 -1
  53. package/types/views/Stack.web.test.d.ts +2 -0
@@ -77,11 +77,22 @@ import { useThemedChildren } from './views/Theme'
77
77
  // this appears to fix expo / babel not picking this up sometimes? really odd
78
78
  process.env.TAMAGUI_TARGET
79
79
 
80
+ export const defaultComponentState: TamaguiComponentState = {
81
+ hover: false,
82
+ press: false,
83
+ pressIn: false,
84
+ focus: false,
85
+ unmounted: true,
86
+ }
87
+
88
+ const defaultComponentStateMounted: TamaguiComponentState = {
89
+ ...defaultComponentState,
90
+ unmounted: false,
91
+ }
92
+
80
93
  /**
81
94
  * All things that need one-time setup after createTamagui is called
82
95
  */
83
- let defaultComponentState: TamaguiComponentState | null = null
84
- let defaultComponentStateMounted: TamaguiComponentState | null = null
85
96
  let tamaguiConfig: TamaguiInternalConfig
86
97
  let AnimatedText: any
87
98
  let AnimatedView: any
@@ -888,19 +899,6 @@ export function createComponent<
888
899
  // one time only setup
889
900
  if (!tamaguiConfig) {
890
901
  tamaguiConfig = conf
891
- if (!defaultComponentState) {
892
- defaultComponentState = {
893
- hover: false,
894
- press: false,
895
- pressIn: false,
896
- focus: false,
897
- unmounted: true,
898
- }
899
- defaultComponentStateMounted = {
900
- ...defaultComponentState,
901
- unmounted: false,
902
- }
903
- }
904
902
 
905
903
  if (tamaguiConfig.animations) {
906
904
  AnimatedText = tamaguiConfig.animations.Text
@@ -2,7 +2,6 @@ import { isRSC, isWeb } from '@tamagui/constants'
2
2
 
3
3
  import { configListeners, setConfig } from './config'
4
4
  import { createVariables, tokensKeysOrdered } from './createVariables'
5
- import { startClearStyleCacheInterval } from './helpers/getStylesAtomic'
6
5
  import { getThemeCSSRules } from './helpers/getThemeCSSRules'
7
6
  import {
8
7
  getAllRules,
@@ -49,7 +48,6 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
49
48
 
50
49
  scanAllSheets()
51
50
  listenForSheetChanges()
52
- startClearStyleCacheInterval()
53
51
 
54
52
  const fontTokens = Object.fromEntries(
55
53
  Object.entries(configIn.fonts!).map(([k, v]) => {
@@ -22,7 +22,7 @@ test('color name no dot', () => {
22
22
  key: 'yellow101a',
23
23
  name: 'color-1',
24
24
  val: 'yellow',
25
- variable: '',
25
+ variable: 'var(--color-1)',
26
26
  },
27
27
  },
28
28
  })
@@ -428,7 +428,7 @@ export const getSplitStyles: StyleSplitter = (
428
428
  } else {
429
429
  viewProps.role = accessibilityRoleToWebRole[valInit] || valInit
430
430
  }
431
- break
431
+ continue
432
432
  }
433
433
  case 'accessibilityLabelledBy':
434
434
  case 'accessibilityFlowTo':
@@ -436,17 +436,17 @@ export const getSplitStyles: StyleSplitter = (
436
436
  case 'accessibilityDescribedBy': {
437
437
  viewProps[`aria-${keyInit.replace('accessibility', '').toLowerCase()}`] =
438
438
  processIDRefList(valInit)
439
- break
439
+ continue
440
440
  }
441
441
  case 'accessibilityKeyShortcuts': {
442
442
  if (Array.isArray(valInit)) {
443
443
  viewProps['aria-keyshortcuts'] = valInit.join(' ')
444
444
  }
445
- break
445
+ continue
446
446
  }
447
447
  case 'accessibilityLiveRegion': {
448
448
  viewProps['aria-live'] = valInit === 'none' ? 'off' : valInit
449
- break
449
+ continue
450
450
  }
451
451
  case 'accessibilityReadOnly': {
452
452
  viewProps['aria-readonly'] = valInit
@@ -458,7 +458,7 @@ export const getSplitStyles: StyleSplitter = (
458
458
  ) {
459
459
  viewProps.readOnly = true
460
460
  }
461
- break
461
+ continue
462
462
  }
463
463
  case 'accessibilityRequired': {
464
464
  viewProps['aria-required'] = valInit
@@ -468,9 +468,9 @@ export const getSplitStyles: StyleSplitter = (
468
468
  elementType === 'select' ||
469
469
  elementType === 'textarea'
470
470
  ) {
471
- viewProps.required = true
471
+ viewProps.required = valInit
472
472
  }
473
- break
473
+ continue
474
474
  }
475
475
  default: {
476
476
  didUseKeyInit = false
@@ -49,12 +49,6 @@ export function getStylesAtomic(stylesIn: ViewStyleWithPseudos) {
49
49
 
50
50
  const cache = new Map()
51
51
 
52
- export const startClearStyleCacheInterval = () => {
53
- setInterval(() => {
54
- cache.clear()
55
- }, 10_000)
56
- }
57
-
58
52
  export function getAtomicStyle(
59
53
  style: ViewOrTextStyle,
60
54
  pseudo?: PseudoDescriptor
@@ -64,6 +58,9 @@ export function getAtomicStyle(
64
58
  if (cache.has(key)) {
65
59
  return cache.get(key)
66
60
  }
61
+ if (cache.size > 800) {
62
+ cache.clear()
63
+ }
67
64
  if (process.env.NODE_ENV === 'development') {
68
65
  if (!style || typeof style !== 'object') {
69
66
  throw new Error(`Wrong style type: "${typeof style}": ${style}`)
File without changes
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- import { DebugProp, SpaceDirection, SpaceTokens, SpacerProps, StaticConfig, StaticConfigParsed, StylableComponent, TamaguiComponent, TamaguiElement } from './types';
2
+ import { DebugProp, SpaceDirection, SpaceTokens, SpacerProps, StaticConfig, StaticConfigParsed, StylableComponent, TamaguiComponent, TamaguiComponentState, TamaguiElement } from './types';
3
+ export declare const defaultComponentState: TamaguiComponentState;
3
4
  export declare const mouseUps: Set<Function>;
4
5
  export declare function createComponent<ComponentPropTypes extends Object = {}, Ref = TamaguiElement, BaseProps = never>(configIn: Partial<StaticConfig> | StaticConfigParsed, ParentComponent?: StylableComponent): TamaguiComponent<ComponentPropTypes, Ref, BaseProps, {}>;
5
6
  export declare const Unspaced: {
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=createFont.web.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=createTokens.web.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=createVariable.web.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getSplitStyles.test.d.ts.map
@@ -12,7 +12,6 @@ export type ViewStyleWithPseudos = ViewOrTextStyle & {
12
12
  focusStyle?: ViewOrTextStyle;
13
13
  };
14
14
  export declare function getStylesAtomic(stylesIn: ViewStyleWithPseudos): StyleObject[];
15
- export declare const startClearStyleCacheInterval: () => void;
16
15
  export declare function getAtomicStyle(style: ViewOrTextStyle, pseudo?: PseudoDescriptor): StyleObject[];
17
16
  export declare function styleToCSS(style: Record<string, any>): void;
18
17
  export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Stack.web.test.d.ts.map