@tamagui/web 1.105.0 → 1.105.2

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 (180) hide show
  1. package/dist/cjs/config.js +7 -1
  2. package/dist/cjs/config.js.map +1 -1
  3. package/dist/cjs/config.native.js +11 -1
  4. package/dist/cjs/config.native.js.map +2 -2
  5. package/dist/cjs/createComponent.js +18 -27
  6. package/dist/cjs/createComponent.js.map +1 -1
  7. package/dist/cjs/createComponent.native.js +20 -46
  8. package/dist/cjs/createComponent.native.js.map +2 -2
  9. package/dist/cjs/createTamagui.js +3 -3
  10. package/dist/cjs/createTamagui.js.map +1 -1
  11. package/dist/cjs/createTamagui.native.js +4 -3
  12. package/dist/cjs/createTamagui.native.js.map +2 -2
  13. package/dist/cjs/helpers/createMediaStyle.js +1 -1
  14. package/dist/cjs/helpers/createMediaStyle.js.map +1 -1
  15. package/dist/cjs/helpers/createMediaStyle.native.js +1 -1
  16. package/dist/cjs/helpers/createMediaStyle.native.js.map +2 -2
  17. package/dist/cjs/helpers/createShallowSetState.js +1 -1
  18. package/dist/cjs/helpers/createShallowSetState.native.js +1 -1
  19. package/dist/cjs/helpers/createShallowSetState.native.js.map +1 -1
  20. package/dist/cjs/helpers/getSplitStyles.js +35 -18
  21. package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
  22. package/dist/cjs/helpers/getSplitStyles.native.js +25 -17
  23. package/dist/cjs/helpers/getSplitStyles.native.js.map +2 -2
  24. package/dist/cjs/helpers/getThemeCSSRules.js +7 -6
  25. package/dist/cjs/helpers/getThemeCSSRules.js.map +1 -1
  26. package/dist/cjs/helpers/log.js +9 -2
  27. package/dist/cjs/helpers/log.js.map +1 -1
  28. package/dist/cjs/helpers/log.native.js +10 -4
  29. package/dist/cjs/helpers/log.native.js.map +2 -2
  30. package/dist/cjs/helpers/propMapper.js +4 -3
  31. package/dist/cjs/helpers/propMapper.js.map +1 -1
  32. package/dist/cjs/helpers/propMapper.native.js +4 -3
  33. package/dist/cjs/helpers/propMapper.native.js.map +2 -2
  34. package/dist/cjs/hooks/useDisableSSR.js +1 -1
  35. package/dist/cjs/hooks/useDisableSSR.js.map +1 -1
  36. package/dist/cjs/hooks/useDisableSSR.native.js +1 -1
  37. package/dist/cjs/hooks/useDisableSSR.native.js.map +2 -2
  38. package/dist/cjs/hooks/useMedia.js +22 -3
  39. package/dist/cjs/hooks/useMedia.js.map +1 -1
  40. package/dist/cjs/hooks/useMedia.native.js +43 -6
  41. package/dist/cjs/hooks/useMedia.native.js.map +2 -2
  42. package/dist/cjs/hooks/useTheme.js +12 -5
  43. package/dist/cjs/hooks/useTheme.js.map +1 -1
  44. package/dist/cjs/hooks/useTheme.native.js +19 -8
  45. package/dist/cjs/hooks/useTheme.native.js.map +2 -2
  46. package/dist/cjs/views/TamaguiProvider.js +3 -3
  47. package/dist/cjs/views/TamaguiProvider.js.map +1 -1
  48. package/dist/cjs/views/TamaguiProvider.native.js +3 -3
  49. package/dist/cjs/views/TamaguiProvider.native.js.map +2 -2
  50. package/dist/cjs/views/ThemeProvider.js +2 -2
  51. package/dist/cjs/views/ThemeProvider.js.map +1 -1
  52. package/dist/cjs/views/ThemeProvider.native.js +2 -2
  53. package/dist/cjs/views/ThemeProvider.native.js.map +2 -2
  54. package/dist/cjs/views/html.js +1 -0
  55. package/dist/cjs/views/html.js.map +6 -0
  56. package/dist/cjs/views/html.native.js +2 -0
  57. package/dist/cjs/views/html.native.js.map +6 -0
  58. package/dist/esm/config.js +7 -1
  59. package/dist/esm/config.js.map +1 -1
  60. package/dist/esm/config.mjs +8 -2
  61. package/dist/esm/config.mjs.map +1 -1
  62. package/dist/esm/config.native.js +10 -1
  63. package/dist/esm/config.native.js.map +2 -2
  64. package/dist/esm/createComponent.js +22 -27
  65. package/dist/esm/createComponent.js.map +1 -1
  66. package/dist/esm/createComponent.mjs +18 -21
  67. package/dist/esm/createComponent.mjs.map +1 -1
  68. package/dist/esm/createComponent.native.js +22 -48
  69. package/dist/esm/createComponent.native.js.map +2 -2
  70. package/dist/esm/createTamagui.js +3 -3
  71. package/dist/esm/createTamagui.js.map +1 -1
  72. package/dist/esm/createTamagui.mjs +3 -3
  73. package/dist/esm/createTamagui.mjs.map +1 -1
  74. package/dist/esm/createTamagui.native.js +4 -3
  75. package/dist/esm/createTamagui.native.js.map +2 -2
  76. package/dist/esm/helpers/createMediaStyle.js +2 -2
  77. package/dist/esm/helpers/createMediaStyle.js.map +1 -1
  78. package/dist/esm/helpers/createMediaStyle.mjs +2 -2
  79. package/dist/esm/helpers/createMediaStyle.mjs.map +1 -1
  80. package/dist/esm/helpers/createMediaStyle.native.js +2 -2
  81. package/dist/esm/helpers/createMediaStyle.native.js.map +2 -2
  82. package/dist/esm/helpers/createShallowSetState.js +1 -1
  83. package/dist/esm/helpers/createShallowSetState.mjs +1 -1
  84. package/dist/esm/helpers/createShallowSetState.mjs.map +1 -1
  85. package/dist/esm/helpers/createShallowSetState.native.js +1 -1
  86. package/dist/esm/helpers/createShallowSetState.native.js.map +1 -1
  87. package/dist/esm/helpers/getSplitStyles.js +35 -18
  88. package/dist/esm/helpers/getSplitStyles.js.map +1 -1
  89. package/dist/esm/helpers/getSplitStyles.mjs +29 -19
  90. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  91. package/dist/esm/helpers/getSplitStyles.native.js +25 -17
  92. package/dist/esm/helpers/getSplitStyles.native.js.map +2 -2
  93. package/dist/esm/helpers/getThemeCSSRules.js +7 -5
  94. package/dist/esm/helpers/getThemeCSSRules.js.map +1 -1
  95. package/dist/esm/helpers/getThemeCSSRules.mjs +7 -5
  96. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  97. package/dist/esm/helpers/log.js +9 -2
  98. package/dist/esm/helpers/log.js.map +1 -1
  99. package/dist/esm/helpers/log.mjs +9 -1
  100. package/dist/esm/helpers/log.mjs.map +1 -1
  101. package/dist/esm/helpers/log.native.js +10 -4
  102. package/dist/esm/helpers/log.native.js.map +2 -2
  103. package/dist/esm/helpers/propMapper.js +4 -3
  104. package/dist/esm/helpers/propMapper.js.map +1 -1
  105. package/dist/esm/helpers/propMapper.mjs +8 -8
  106. package/dist/esm/helpers/propMapper.mjs.map +1 -1
  107. package/dist/esm/helpers/propMapper.native.js +4 -3
  108. package/dist/esm/helpers/propMapper.native.js.map +2 -2
  109. package/dist/esm/hooks/useDisableSSR.js +2 -2
  110. package/dist/esm/hooks/useDisableSSR.js.map +1 -1
  111. package/dist/esm/hooks/useDisableSSR.mjs +2 -2
  112. package/dist/esm/hooks/useDisableSSR.mjs.map +1 -1
  113. package/dist/esm/hooks/useDisableSSR.native.js +2 -2
  114. package/dist/esm/hooks/useDisableSSR.native.js.map +2 -2
  115. package/dist/esm/hooks/useMedia.js +23 -4
  116. package/dist/esm/hooks/useMedia.js.map +1 -1
  117. package/dist/esm/hooks/useMedia.mjs +21 -8
  118. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  119. package/dist/esm/hooks/useMedia.native.js +42 -7
  120. package/dist/esm/hooks/useMedia.native.js.map +2 -2
  121. package/dist/esm/hooks/useTheme.js +13 -6
  122. package/dist/esm/hooks/useTheme.js.map +1 -1
  123. package/dist/esm/hooks/useTheme.mjs +12 -5
  124. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  125. package/dist/esm/hooks/useTheme.native.js +20 -9
  126. package/dist/esm/hooks/useTheme.native.js.map +2 -2
  127. package/dist/esm/views/TamaguiProvider.js +3 -2
  128. package/dist/esm/views/TamaguiProvider.js.map +1 -1
  129. package/dist/esm/views/TamaguiProvider.mjs +3 -2
  130. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  131. package/dist/esm/views/TamaguiProvider.native.js +3 -2
  132. package/dist/esm/views/TamaguiProvider.native.js.map +2 -2
  133. package/dist/esm/views/ThemeProvider.js +2 -1
  134. package/dist/esm/views/ThemeProvider.js.map +1 -1
  135. package/dist/esm/views/ThemeProvider.mjs +2 -1
  136. package/dist/esm/views/ThemeProvider.mjs.map +1 -1
  137. package/dist/esm/views/ThemeProvider.native.js +2 -1
  138. package/dist/esm/views/ThemeProvider.native.js.map +2 -2
  139. package/dist/esm/views/html.js +1 -0
  140. package/dist/esm/views/html.js.map +6 -0
  141. package/dist/esm/views/html.mjs +2 -0
  142. package/dist/esm/views/html.mjs.map +1 -0
  143. package/dist/esm/views/html.native.js +1 -0
  144. package/dist/esm/views/html.native.js.map +6 -0
  145. package/package.json +11 -11
  146. package/src/config.ts +14 -0
  147. package/src/createComponent.tsx +36 -43
  148. package/src/createTamagui.ts +5 -3
  149. package/src/helpers/createMediaStyle.ts +2 -2
  150. package/src/helpers/createShallowSetState.tsx +1 -1
  151. package/src/helpers/getSplitStyles.tsx +45 -15
  152. package/src/helpers/getThemeCSSRules.ts +7 -5
  153. package/src/helpers/log.ts +12 -5
  154. package/src/helpers/propMapper.ts +4 -3
  155. package/src/hooks/useDisableSSR.tsx +2 -2
  156. package/src/hooks/useMedia.tsx +30 -4
  157. package/src/hooks/useTheme.tsx +21 -4
  158. package/src/types.tsx +92 -15
  159. package/src/views/TamaguiProvider.tsx +7 -2
  160. package/src/views/ThemeProvider.tsx +6 -1
  161. package/types/config.d.ts +2 -1
  162. package/types/config.d.ts.map +1 -1
  163. package/types/createComponent.d.ts.map +1 -1
  164. package/types/createTamagui.d.ts.map +1 -1
  165. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  166. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  167. package/types/helpers/log.d.ts.map +1 -1
  168. package/types/helpers/propMapper.d.ts.map +1 -1
  169. package/types/hooks/useConfiguration.d.ts +2 -41
  170. package/types/hooks/useConfiguration.d.ts.map +1 -1
  171. package/types/hooks/useMedia.d.ts +3 -1
  172. package/types/hooks/useMedia.d.ts.map +1 -1
  173. package/types/hooks/useTheme.d.ts.map +1 -1
  174. package/types/types.d.ts +82 -12
  175. package/types/types.d.ts.map +1 -1
  176. package/types/views/TamaguiProvider.d.ts.map +1 -1
  177. package/types/views/ThemeProvider.d.ts +1 -0
  178. package/types/views/ThemeProvider.d.ts.map +1 -1
  179. package/types/views/html.d.ts +1 -0
  180. package/types/views/html.d.ts.map +1 -0
@@ -1,7 +1,7 @@
1
1
  import { isClient, isIos, isServer, isWeb } from '@tamagui/constants'
2
2
  import { useContext, useEffect, useMemo, useRef, useState } from 'react'
3
3
 
4
- import { getConfig } from '../config'
4
+ import { getConfig, getSetting } from '../config'
5
5
  import type { Variable } from '../createVariable'
6
6
  import { getVariable } from '../createVariable'
7
7
  import type { ThemeManagerState } from '../helpers/ThemeManager'
@@ -130,7 +130,7 @@ export const useThemeWithState = (
130
130
  if (process.env.NODE_ENV === 'development') {
131
131
  if (!state?.theme) {
132
132
  if (process.env.TAMAGUI_DISABLE_NO_THEME_WARNING !== '1') {
133
- console.warn(
133
+ console.error(
134
134
  `[tamagui] No theme found, this could be due to an invalid theme name (given theme props ${JSON.stringify(
135
135
  props
136
136
  )}).\n\nIf 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`
@@ -217,7 +217,7 @@ export function getThemeProxied(
217
217
  platform !== 'web' &&
218
218
  isIos &&
219
219
  !deopt &&
220
- config.settings.fastSchemeChange &&
220
+ getSetting('fastSchemeChange') &&
221
221
  !someParentIsInversed(themeManager)
222
222
  ) {
223
223
  if (scheme) {
@@ -300,6 +300,19 @@ const registerThemeManager = (t: ThemeManager) => {
300
300
  }
301
301
  }
302
302
 
303
+ const ogLog = console.error
304
+ const preventWarnSetState =
305
+ process.env.NODE_ENV === 'production'
306
+ ? ogLog
307
+ : // temporary fix for logs, they are harmless in that i've tried to rewrite this
308
+ // a few times using the "right" ways, but they are always slower. maybe skill issue
309
+ (a?: any, ...args: any[]) => {
310
+ if (typeof a === 'string' && a.includes('Cannot update a component')) {
311
+ return
312
+ }
313
+ return ogLog(a, ...args)
314
+ }
315
+
303
316
  export const useChangeThemeEffect = (
304
317
  props: UseThemeWithStateProps,
305
318
  isRoot = false,
@@ -379,7 +392,9 @@ export const useChangeThemeEffect = (
379
392
  // for updateTheme/replaceTheme
380
393
  const selfListenerDispose = themeManager.onChangeTheme((_a, _b, forced) => {
381
394
  if (forced) {
395
+ console.error = preventWarnSetState
382
396
  setThemeState((prev) => createState(prev, true))
397
+ console.error = ogLog
383
398
  }
384
399
  })
385
400
 
@@ -409,7 +424,9 @@ export const useChangeThemeEffect = (
409
424
  }
410
425
 
411
426
  if (shouldTryUpdate) {
427
+ console.error = preventWarnSetState
412
428
  setThemeState((prev) => createState(prev, force))
429
+ console.error = ogLog
413
430
  }
414
431
  },
415
432
  themeManager.id
@@ -525,7 +542,7 @@ export const useChangeThemeEffect = (
525
542
  registerThemeManager(themeManager)
526
543
  }
527
544
 
528
- const isWebSSR = isWeb ? !getConfig().disableSSR : false
545
+ const isWebSSR = isWeb ? !getSetting('disableSSR') : false
529
546
  const mounted = isWebSSR ? isRoot || prev?.mounted : true
530
547
 
531
548
  if (!state) {
package/src/types.tsx CHANGED
@@ -264,8 +264,7 @@ export type CreateTamaguiConfig<
264
264
  E extends GenericAnimations = GenericAnimations,
265
265
  F extends GenericFonts = GenericFonts,
266
266
  G extends OnlyAllowShorthandsSetting = OnlyAllowShorthandsSetting,
267
- H extends DefaultFontSetting = DefaultFontSetting,
268
- I extends GenericTamaguiSettings = GenericTamaguiSettings,
267
+ H extends GenericTamaguiSettings = GenericTamaguiSettings,
269
268
  > = {
270
269
  fonts: RemoveLanguagePostfixes<F>
271
270
  fontLanguages: GetLanguagePostfixes<F> extends never
@@ -282,8 +281,7 @@ export type CreateTamaguiConfig<
282
281
  media: D
283
282
  animations: AnimationDriver<E>
284
283
  onlyAllowShorthands: G
285
- defaultFont: H
286
- settings: I
284
+ settings: H
287
285
  }
288
286
 
289
287
  type GetLanguagePostfix<Set> = Set extends string
@@ -310,7 +308,7 @@ type GetLanguagePostfixes<F extends GenericFonts> = GetLanguagePostfix<keyof F>
310
308
  // body_en: any
311
309
  // }>['fonts']
312
310
 
313
- type ConfProps<A, B, C, D, E, F, G, H, I> = {
311
+ type ConfProps<A, B, C, D, E, F, G, I> = {
314
312
  tokens?: A
315
313
  themes?: B
316
314
  shorthands?: C
@@ -318,7 +316,6 @@ type ConfProps<A, B, C, D, E, F, G, H, I> = {
318
316
  animations?: E extends AnimationConfig ? AnimationDriver<E> : undefined
319
317
  fonts?: F
320
318
  onlyAllowShorthands?: G
321
- defaultFont?: H
322
319
  settings?: I
323
320
  }
324
321
 
@@ -348,8 +345,7 @@ export type InferTamaguiConfig<Conf> = Conf extends ConfProps<
348
345
  infer E,
349
346
  infer F,
350
347
  infer G,
351
- infer H,
352
- infer I
348
+ infer H
353
349
  >
354
350
  ? TamaguiInternalConfig<
355
351
  A extends GenericTokens ? A : EmptyTokens,
@@ -359,8 +355,7 @@ export type InferTamaguiConfig<Conf> = Conf extends ConfProps<
359
355
  E extends GenericAnimations ? E : EmptyAnimations,
360
356
  F extends GenericFonts ? F : EmptyFonts,
361
357
  G extends OnlyAllowShorthandsSetting ? G : OnlyAllowShorthandsSetting,
362
- H extends DefaultFontSetting ? H : DefaultFontSetting,
363
- I extends GenericTamaguiSettings ? I : EmptyTamaguiSettings
358
+ H extends GenericTamaguiSettings ? H : EmptyTamaguiSettings
364
359
  >
365
360
  : unknown
366
361
 
@@ -490,7 +485,7 @@ type AllowedStyleValuesSetting =
490
485
 
491
486
  type AutocompleteSpecificTokensSetting = boolean | 'except-special'
492
487
 
493
- type GenericTamaguiSettings = {
488
+ export interface GenericTamaguiSettings {
494
489
  /**
495
490
  * When true, flexBasis will be set to 0 when flex is positive. This will be
496
491
  * the default in v2 of Tamagui alongside an alternative mode for web compat.
@@ -597,6 +592,81 @@ type GenericTamaguiSettings = {
597
592
  | 'revert'
598
593
  | 'revert-layer'
599
594
  | 'unset'
595
+
596
+ /**
597
+ * Only allow shorthands when enabled. Recommended to be true to avoid having
598
+ * two ways to style the same property.
599
+ */
600
+ onlyAllowShorthands?: OnlyAllowShorthandsSetting
601
+
602
+ /**
603
+ * Define a default font, for better types and default font on Text
604
+ */
605
+ defaultFont?: string
606
+
607
+ /**
608
+ * Web-only: define CSS text-selection styles
609
+ */
610
+ selectionStyles?: (theme: Record<string, string>) => null | {
611
+ backgroundColor?: any
612
+ color?: any
613
+ }
614
+
615
+ /**
616
+ * If building a non-server rendered app, set this to true.
617
+ *
618
+ * For SSR compatibility on the web, Tamagui will render once with the settings
619
+ * from `mediaQueryDefaultActive` set for all media queries. Then, it will render
620
+ * again after the initial render using the proper media query values. This is so that
621
+ * hydration will match perfectly with the server.
622
+ *
623
+ * Setting disableSSR will avoid this second render by setting the media query state
624
+ * to the actual browser dimensions on initial load. This is only useful for client-only
625
+ * apps.
626
+ *
627
+ */
628
+ disableSSR?: boolean
629
+
630
+ /**
631
+ * Disable inserting a theme class in the DOM or context, allowing you to manually place it higher.
632
+ * For custom use cases like integration with next-theme.
633
+ */
634
+ disableRootThemeClass?: boolean
635
+
636
+ /**
637
+ * For the first render, determines which media queries are true, this only
638
+ * affects things on native or on web if you disableSSR, as otherwise Tamagui
639
+ * relies on CSS to avoid the need for re-rendering on first render.
640
+ */
641
+ mediaQueryDefaultActive?: Record<string, boolean>
642
+
643
+ /**
644
+ * What's between each CSS style rule, set to "\n" to be easier to read
645
+ * @default "\n" when NODE_ENV=development, "" otherwise
646
+ */
647
+ cssStyleSeparator?: string
648
+
649
+ /**
650
+ * (Advanced) on the web, tamagui treats `dark` and `light` themes as special
651
+ * and generates extra CSS to avoid having to re-render the entire page. this
652
+ * CSS relies on specificity hacks that multiply by your sub-themes. this sets
653
+ * the maxiumum number of nested dark/light themes you can do defaults to 3
654
+ * for a balance, but can be higher if you nest them deeply.
655
+ */
656
+ maxDarkLightNesting?: number
657
+
658
+ /**
659
+ * Adds @media(prefers-color-scheme) media queries for dark/light, must be set
660
+ * true if you are supporting system preference for light and dark mode themes
661
+ */
662
+ shouldAddPrefersColorThemes?: boolean
663
+
664
+ /**
665
+ * If you want to style your <body> tag to use themes, you must place the
666
+ * theme className onto the body element. This will do so. Otherwise, Tamagui
667
+ * will place the className onto the element rendered by the TamaguiProvider
668
+ */
669
+ themeClassNameOnRoot?: boolean
600
670
  }
601
671
 
602
672
  export type TamaguiSettings = TamaguiConfig['settings']
@@ -626,6 +696,7 @@ export type CreateTamaguiProps = {
626
696
  /**
627
697
  * Define a default font, for better types and default font on Text
628
698
  */
699
+ /** @deprecated moved into settings sub-object */
629
700
  defaultFont?: string
630
701
 
631
702
  /**
@@ -649,12 +720,14 @@ export type CreateTamaguiProps = {
649
720
  * apps.
650
721
  *
651
722
  */
723
+ /** @deprecated moved into settings sub-object */
652
724
  disableSSR?: boolean
653
725
 
654
726
  /**
655
727
  * Disable inserting a theme class in the DOM or context, allowing you to manually place it higher.
656
728
  * For custom use cases like integration with next-theme.
657
729
  */
730
+ /** @deprecated moved into settings sub-object */
658
731
  disableRootThemeClass?: boolean
659
732
 
660
733
  defaultProps?: Record<string, any> & {
@@ -665,10 +738,12 @@ export type CreateTamaguiProps = {
665
738
 
666
739
  // for the first render, determines which media queries are true
667
740
  // useful for SSR
741
+ /** @deprecated moved into settings sub-object */
668
742
  mediaQueryDefaultActive?: Record<string, boolean>
669
743
 
670
744
  // what's between each CSS style rule, set to "\n" to be easier to read
671
745
  // defaults: "\n" when NODE_ENV=development, "" otherwise
746
+ /** @deprecated moved into settings sub-object */
672
747
  cssStyleSeparator?: string
673
748
 
674
749
  // (Advanced)
@@ -677,17 +752,21 @@ export type CreateTamaguiProps = {
677
752
  // this CSS relies on specificity hacks that multiply by your sub-themes.
678
753
  // this sets the maxiumum number of nested dark/light themes you can do
679
754
  // defaults to 3 for a balance, but can be higher if you nest them deeply.
755
+ /** @deprecated moved into settings sub-object */
680
756
  maxDarkLightNesting?: number
681
757
 
682
758
  // adds @media(prefers-color-scheme) media queries for dark/light
759
+ /** @deprecated moved into settings sub-object */
683
760
  shouldAddPrefersColorThemes?: boolean
684
761
 
685
762
  // only if you put the theme classname on the html element we have to generate diff
763
+ /** @deprecated moved into settings sub-object */
686
764
  themeClassNameOnRoot?: boolean
687
765
 
688
766
  /**
689
767
  * Only allow shorthands when enabled
690
768
  */
769
+ /** @deprecated moved into settings sub-object */
691
770
  onlyAllowShorthands?: OnlyAllowShorthandsSetting
692
771
  }
693
772
 
@@ -706,10 +785,9 @@ export type TamaguiInternalConfig<
706
785
  E extends GenericAnimations = GenericAnimations,
707
786
  F extends GenericFonts = GenericFonts,
708
787
  G extends OnlyAllowShorthandsSetting = OnlyAllowShorthandsSetting,
709
- H extends DefaultFontSetting = DefaultFontSetting,
710
788
  I extends GenericTamaguiSettings = GenericTamaguiSettings,
711
789
  > = Omit<CreateTamaguiProps, keyof GenericTamaguiConfig> &
712
- Omit<CreateTamaguiConfig<A, B, C, D, E, F, G, H, I>, 'tokens'> & {
790
+ Omit<CreateTamaguiConfig<A, B, C, D, E, F, G, I>, 'tokens'> & {
713
791
  // TODO need to make it this but this breaks types, revisit
714
792
  // animations: E //AnimationDriver<E>
715
793
  // with $ prefixes for fast lookups (one time cost at startup vs every render)
@@ -722,7 +800,6 @@ export type TamaguiInternalConfig<
722
800
  parsed: boolean
723
801
  inverseShorthands: Record<string, string>
724
802
  reactNative?: any
725
- defaultFont?: H
726
803
  fontSizeTokens: Set<string>
727
804
  specificTokens: Record<string, Variable>
728
805
  settings: Omit<GenericTamaguiSettings, keyof I> & I
@@ -1045,7 +1122,7 @@ export type Token =
1045
1122
  export type ColorStyleProp = ThemeValueFallbackColor | ColorTokens
1046
1123
 
1047
1124
  // fonts
1048
- type DefaultFont = TamaguiConfig['defaultFont']
1125
+ type DefaultFont = TamaguiSettings['defaultFont']
1049
1126
 
1050
1127
  export type Fonts = DefaultFont extends string
1051
1128
  ? TamaguiConfig['fonts'][DefaultFont]
@@ -5,6 +5,7 @@ import { useDidHydrateOnceRoot } from '../hooks/useDidHydrateOnce'
5
5
  import { setupMediaListeners } from '../hooks/useMedia'
6
6
  import type { TamaguiProviderProps } from '../types'
7
7
  import { ThemeProvider } from './ThemeProvider'
8
+ import { getSetting } from '../config'
8
9
 
9
10
  export function TamaguiProvider({
10
11
  children,
@@ -39,8 +40,12 @@ export function TamaguiProvider({
39
40
  <UnmountedClassName>
40
41
  <ComponentContext.Provider animationDriver={config?.animations}>
41
42
  <ThemeProvider
42
- themeClassNameOnRoot={themeClassNameOnRoot ?? config?.themeClassNameOnRoot}
43
- disableRootThemeClass={disableRootThemeClass ?? config?.disableRootThemeClass}
43
+ themeClassNameOnRoot={
44
+ themeClassNameOnRoot ?? getSetting('themeClassNameOnRoot')
45
+ }
46
+ disableRootThemeClass={
47
+ disableRootThemeClass ?? getSetting('disableRootThemeClass')
48
+ }
44
49
  defaultTheme={defaultTheme ?? (config ? Object.keys(config.themes)[0] : '')}
45
50
  reset={reset}
46
51
  className={className}
@@ -3,11 +3,13 @@ import { useLayoutEffect } from 'react'
3
3
 
4
4
  import { THEME_CLASSNAME_PREFIX } from '../constants/constants'
5
5
  import { Theme } from './Theme'
6
+ import { getSetting } from '../config'
6
7
 
7
8
  export type ThemeProviderProps = {
8
9
  className?: string
9
10
  defaultTheme: string
10
11
  disableRootThemeClass?: boolean
12
+ /** @deprecated moved to createTamagui({ settings: { disableRootThemeClass } }) */
11
13
  themeClassNameOnRoot?: boolean
12
14
  children?: any
13
15
  reset?: boolean
@@ -19,7 +21,10 @@ export const ThemeProvider = (props: ThemeProviderProps) => {
19
21
  useLayoutEffect(() => {
20
22
  if (props.disableRootThemeClass) return
21
23
  const cn = `${THEME_CLASSNAME_PREFIX}${props.defaultTheme}`
22
- const target = props.themeClassNameOnRoot ? document.documentElement : document.body
24
+ const target =
25
+ props.themeClassNameOnRoot ?? getSetting('themeClassNameOnRoot')
26
+ ? document.documentElement
27
+ : document.body
23
28
  target.classList.add(cn)
24
29
  return () => {
25
30
  target.classList.remove(cn)
package/types/config.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import type { ConfigListener, TamaguiInternalConfig, Token, Tokens, TokensMerged } from './types';
1
+ import type { ConfigListener, GenericTamaguiSettings, TamaguiInternalConfig, Token, Tokens, TokensMerged } from './types';
2
+ export declare const getSetting: <Key extends keyof GenericTamaguiSettings>(key: Key) => GenericTamaguiSettings[Key];
2
3
  export declare const setConfig: (next: TamaguiInternalConfig) => void;
3
4
  export declare const setConfigFont: (name: string, font: any, fontParsed: any) => void;
4
5
  export declare const getConfig: () => TamaguiInternalConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,KAAK,EACL,MAAM,EACN,YAAY,EACb,MAAM,SAAS,CAAA;AAIhB,eAAO,MAAM,SAAS,SAAU,qBAAqB,SAEpD,CAAA;AAED,eAAO,MAAM,aAAa,SAAU,MAAM,QAAQ,GAAG,cAAc,GAAG,SAMrE,CAAA;AAED,eAAO,MAAM,SAAS,6BASrB,CAAA;AAGD,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,QAExC;AAED,eAAO,MAAM,SAAS,mBAEnB;IACD;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAQ,YAQR,CAAA;AAED,eAAO,MAAM,cAAc,UAAW,KAAK,UAAU,MAAM,MAAM,6CAShE,CAAA;AAED,eAAO,MAAM,QAAQ,UAAW,KAAK,UAAU,MAAM,MAAM,+BAG1D,CAAA;AAED,eAAO,MAAM,aAAa,UAAW,KAAK,GAAG,OAAO,GAAG,MAAM,UAAU,MAAM,MAAM,QAGlF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,mBAvCnB;IACD;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAQ,YAkCyB,CAAA;AAElC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;CAAqB,CAAA;AAE3C,eAAO,MAAM,eAAe,qBAA4B,CAAA;AAExD,eAAO,MAAM,gBAAgB,OAAQ,cAAc,SAMlD,CAAA;AAED,eAAO,MAAM,YAAY,QAAS,MAAM,SAAS,GAAG,SAGnD,CAAA;AAGD,eAAO,MAAM,OAAO,SAAU,MAAM,4DAQnC,CAAA;AAED,KAAK,SAAS,GAAG;IACf,UAAU,CAAC,EACP,OAAO,GACP;QACE,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;CACN,CAAA;AAED,eAAO,IAAI,SAAS,EAAE,SAAS,GAAG,SAAS,CAAA;AAE3C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,QAIvC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,EACL,MAAM,EACN,YAAY,EACb,MAAM,SAAS,CAAA;AAIhB,eAAO,MAAM,UAAU,GAAI,GAAG,SAAS,MAAM,sBAAsB,OAC5D,GAAG,KACP,sBAAsB,CAAC,GAAG,CAS5B,CAAA;AAED,eAAO,MAAM,SAAS,SAAU,qBAAqB,SAEpD,CAAA;AAED,eAAO,MAAM,aAAa,SAAU,MAAM,QAAQ,GAAG,cAAc,GAAG,SAMrE,CAAA;AAED,eAAO,MAAM,SAAS,6BASrB,CAAA;AAGD,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,QAExC;AAED,eAAO,MAAM,SAAS,mBAEnB;IACD;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAQ,YAQR,CAAA;AAED,eAAO,MAAM,cAAc,UAAW,KAAK,UAAU,MAAM,MAAM,6CAShE,CAAA;AAED,eAAO,MAAM,QAAQ,UAAW,KAAK,UAAU,MAAM,MAAM,+BAG1D,CAAA;AAED,eAAO,MAAM,aAAa,UAAW,KAAK,GAAG,OAAO,GAAG,MAAM,UAAU,MAAM,MAAM,QAGlF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,mBAvCnB;IACD;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAQ,YAkCyB,CAAA;AAElC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;CAAqB,CAAA;AAE3C,eAAO,MAAM,eAAe,qBAA4B,CAAA;AAExD,eAAO,MAAM,gBAAgB,OAAQ,cAAc,SAMlD,CAAA;AAED,eAAO,MAAM,YAAY,QAAS,MAAM,SAAS,GAAG,SAGnD,CAAA;AAGD,eAAO,MAAM,OAAO,SAAU,MAAM,4DAQnC,CAAA;AAED,KAAK,SAAS,GAAG;IACf,UAAU,CAAC,EACP,OAAO,GACP;QACE,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;CACN,CAAA;AAED,eAAO,IAAI,SAAS,EAAE,SAAS,GAAG,SAAS,CAAA;AAE3C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,QAIvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAQA,OAAO,KAYN,MAAM,OAAO,CAAA;AA0Bd,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAG/E,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;AAchB,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,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,+BACtB,iBAAiB,gBAChC,YAAY,UAClB,qBAAqB;;;;;;;;;;;;;;;;;;;CA+N9B,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,wEAglC3B;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,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,mBA+FxD;AAwDD,eAAO,MAAM,UAAU,UAAW,GAAG,QAQpC,CAAA;AAED,eAAO,MAAM,uBAAuB,uFAOjC;IACD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,SAAS,KAAK,IAAI,CAAA;IAC5E,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB,gBAAgB,EAAE,iBAAiB,CAAA;IACnC,KAAK,EAAE,qBAAqB,CAAA;CAC7B,4CAqCA,CAAA"}
1
+ {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAQA,OAAO,KAYN,MAAM,OAAO,CAAA;AA+Bd,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAG/E,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;AAchB,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,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,+BACtB,iBAAiB,gBAChC,YAAY,UAClB,qBAAqB;;;;;;;;;;;;;;;;;;;CA+M9B,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,wEA+lC3B;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,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,mBA+FxD;AA6CD,eAAO,MAAM,UAAU,UAAW,GAAG,QAQpC,CAAA;AAED,eAAO,MAAM,uBAAuB,uFAOjC;IACD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,SAAS,KAAK,IAAI,CAAA;IAC5E,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB,gBAAgB,EAAE,iBAAiB,CAAA;IACnC,KAAK,EAAE,qBAAqB,CAAA;CAC7B,4CAqCA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createTamagui.d.ts","sourceRoot":"","sources":["../src/createTamagui.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,kBAAkB,EAKlB,kBAAkB,EAMnB,MAAM,SAAS,CAAA;AAKhB,wBAAgB,aAAa,CAAC,IAAI,SAAS,kBAAkB,EAC3D,QAAQ,EAAE,IAAI,GACb,kBAAkB,CAAC,IAAI,CAAC,CAwQ1B"}
1
+ {"version":3,"file":"createTamagui.d.ts","sourceRoot":"","sources":["../src/createTamagui.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,kBAAkB,EAKlB,kBAAkB,EAMnB,MAAM,SAAS,CAAA;AAKhB,wBAAgB,aAAa,CAAC,IAAI,SAAS,kBAAkB,EAC3D,QAAQ,EAAE,IAAI,GACb,kBAAkB,CAAC,IAAI,CAAC,CA0Q1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAChF,OAAO,KAAK,EAEV,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAOb,eAAe,EACf,YAAY,EAGZ,SAAS,EACT,WAAW,EAEZ,MAAM,UAAU,CAAA;AAsBjB,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,aA+uC5B,CAAA;AAgED,eAAO,MAAM,WAAW,eACV,aAAa,UACjB,MAAM,WACL,MAAM,wBACO,OAAO,KAC5B,SA2BF,CAAA;AAQD,eAAO,MAAM,cAAc,EAAE,aAa5B,CAAA"}
1
+ {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAChF,OAAO,KAAK,EAEV,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAOb,eAAe,EACf,YAAY,EAGZ,SAAS,EACT,WAAW,EAEZ,MAAM,UAAU,CAAA;AAwBjB,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,aAuvC5B,CAAA;AAgED,eAAO,MAAM,WAAW,eACV,aAAa,UACjB,MAAM,WACL,MAAM,wBACO,OAAO,KAC5B,SA2BF,CAAA;AAQD,eAAO,MAAM,cAAc,EAAE,aAa5B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getThemeCSSRules.d.ts","sourceRoot":"","sources":["../../src/helpers/getThemeCSSRules.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,YAkKA"}
1
+ {"version":3,"file":"getThemeCSSRules.d.ts","sourceRoot":"","sources":["../../src/helpers/getThemeCSSRules.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAI/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,YAmKA"}
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/helpers/log.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,QAQjC"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/helpers/log.ts"],"names":[],"mappings":"AAEA,wBAAgB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,QAajC"}
@@ -1 +1 @@
1
- {"version":3,"file":"propMapper.d.ts","sourceRoot":"","sources":["../../src/helpers/propMapper.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,EAEjB,qBAAqB,EAEtB,MAAM,UAAU,CAAA;AAQjB,eAAO,MAAM,UAAU,EAAE,UAiFxB,CAAA;AAgGD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,sBAkBtF;AAMD,eAAO,MAAM,uBAAuB,cAAe,GAAG,QAErD,CAAA;AAoJD,eAAO,MAAM,cAAc,QACpB,MAAM,SACJ,MAAM,aACF,iBAAiB,0BAChB,OAAO,CAAC,aAAa,CAAC,QAqGnC,CAAA"}
1
+ {"version":3,"file":"propMapper.d.ts","sourceRoot":"","sources":["../../src/helpers/propMapper.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,EAEjB,qBAAqB,EAEtB,MAAM,UAAU,CAAA;AAQjB,eAAO,MAAM,UAAU,EAAE,UAkFxB,CAAA;AAgGD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,sBAkBtF;AAMD,eAAO,MAAM,uBAAuB,cAAe,GAAG,QAErD,CAAA;AAoJD,eAAO,MAAM,cAAc,QACpB,MAAM,SACJ,MAAM,aACF,iBAAiB,0BAChB,OAAO,CAAC,aAAa,CAAC,QAqGnC,CAAA"}
@@ -7,6 +7,7 @@ export declare const useConfiguration: () => {
7
7
  language: import("../views/FontLanguage.types").LanguageContextType | null;
8
8
  unset?: import("..").BaseStyleProps;
9
9
  reactNative?: any;
10
+ defaultFont?: string;
10
11
  selectionStyles?: (theme: Record<string, string>) => null | {
11
12
  backgroundColor?: any;
12
13
  color?: any;
@@ -54,47 +55,7 @@ export declare const useConfiguration: () => {
54
55
  };
55
56
  };
56
57
  onlyAllowShorthands: boolean | undefined;
57
- defaultFont: string | undefined;
58
- settings: {
59
- styleCompat?: "react-native";
60
- allowedStyleValues?: (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web") | {
61
- space?: "number" | (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web") | "percent";
62
- size?: "number" | (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web") | "percent";
63
- radius?: "number" | (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web");
64
- zIndex?: "number" | (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web");
65
- color?: (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web") | "named";
66
- };
67
- autocompleteSpecificTokens?: boolean | "except-special";
68
- mediaPropOrder?: boolean;
69
- fastSchemeChange?: boolean;
70
- webContainerType?: "normal" | "size" | "inline-size" | "inherit" | "initial" | "revert" | "revert-layer" | "unset";
71
- } & Omit<{
72
- styleCompat?: "react-native";
73
- allowedStyleValues?: (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web") | {
74
- space?: "number" | (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web") | "percent";
75
- size?: "number" | (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web") | "percent";
76
- radius?: "number" | (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web");
77
- zIndex?: "number" | (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web");
78
- color?: (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web") | "named";
79
- };
80
- autocompleteSpecificTokens?: boolean | "except-special";
81
- mediaPropOrder?: boolean;
82
- fastSchemeChange?: boolean;
83
- webContainerType?: "normal" | "size" | "inline-size" | "inherit" | "initial" | "revert" | "revert-layer" | "unset";
84
- }, keyof {
85
- styleCompat?: "react-native";
86
- allowedStyleValues?: (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web") | {
87
- space?: "number" | (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web") | "percent";
88
- size?: "number" | (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web") | "percent";
89
- radius?: "number" | (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web");
90
- zIndex?: "number" | (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web");
91
- color?: (boolean | "strict" | "somewhat-strict" | "strict-web" | "somewhat-strict-web") | "named";
92
- };
93
- autocompleteSpecificTokens?: boolean | "except-special";
94
- mediaPropOrder?: boolean;
95
- fastSchemeChange?: boolean;
96
- webContainerType?: "normal" | "size" | "inline-size" | "inherit" | "initial" | "revert" | "revert-layer" | "unset";
97
- }>;
58
+ settings: import("..").GenericTamaguiSettings & Omit<import("..").GenericTamaguiSettings, keyof import("..").GenericTamaguiSettings>;
98
59
  tokens: Omit<{
99
60
  [x: string]: {
100
61
  [x: string]: import("..").Variable<any> | import("..").Variable<string> | import("..").Variable<number> | import("..").Variable<import("..").VariableValGeneric>;
@@ -1 +1 @@
1
- {"version":3,"file":"useConfiguration.d.ts","sourceRoot":"","sources":["../../src/hooks/useConfiguration.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB;;;;;;;;;;uBASgwiB,CAAC;aAAe,CAAC;;;;aAA43B,CAAC;YAAqB,CAAC;cAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CADvtkB,CAAA"}
1
+ {"version":3,"file":"useConfiguration.d.ts","sourceRoot":"","sources":["../../src/hooks/useConfiguration.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB;;;;;;;;;;;uBAS4wnB,CAAC;aAAe,CAAC;;;;aAAo+B,CAAC;YAAqB,CAAC;cAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAD30pB,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { ComponentContextI, DebugProp, IsMediaType, MediaQueries, MediaQueryObject, MediaQueryState, TamaguiInternalConfig, UseMediaState } from '../types';
1
+ import type { ComponentContextI, DebugProp, IsMediaType, LayoutEvent, MediaQueries, MediaQueryObject, MediaQueryState, TamaguiInternalConfig, UseMediaState } from '../types';
2
2
  export declare let mediaState: MediaQueryState;
3
3
  export declare const mediaQueryConfig: MediaQueries;
4
4
  export declare const getMedia: () => MediaQueryState;
@@ -17,6 +17,8 @@ type MediaState = {
17
17
  };
18
18
  export declare function setMediaShouldUpdate(ref: any, props: MediaState): WeakMap<any, MediaState>;
19
19
  export declare function useMedia(uidIn?: any, componentContext?: ComponentContextI, debug?: DebugProp): UseMediaState;
20
+ export declare function _dmt(val: boolean): void;
21
+ export declare function getMediaState(mediaGroups: Set<string>, layout: LayoutEvent['nativeEvent']['layout']): Record<string, boolean>;
20
22
  export declare const getMediaImportanceIfMoreImportant: (mediaKey: string, key: string, importancesUsed: Record<string, number>, isSizeMedia: boolean) => number | null;
21
23
  export declare function mediaObjectToString(query: string | MediaQueryObject, key?: string): string;
22
24
  export declare function mediaKeyToQuery(key: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"useMedia.d.ts","sourceRoot":"","sources":["../../src/hooks/useMedia.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACd,MAAM,UAAU,CAAA;AAGjB,eAAO,IAAI,UAAU,EAAE,eAmBN,CAAA;AAEjB,eAAO,MAAM,gBAAgB,EAAE,YAAiB,CAAA;AAEhD,eAAO,MAAM,QAAQ,uBAAmB,CAAA;AAExC,eAAO,MAAM,SAAS,aAAoB,CAAA;AAI1C,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,WAOxC,CAAA;AAUD,eAAO,MAAM,qBAAqB,QAAS,MAAM,WAchD,CAAA;AAMD,eAAO,MAAM,cAAc,WAAY,qBAAqB,SAiB3D,CAAA;AAaD,wBAAgB,mBAAmB,SAiClC;AAkBD,KAAK,cAAc,GAAG;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAAA;AAED,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACtC,CAAA;AAID,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,4BAK/D;AAcD,wBAAgB,QAAQ,CACtB,KAAK,CAAC,EAAE,GAAG,EACX,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,KAAK,CAAC,EAAE,SAAS,GAChB,aAAa,CA6Ef;AAED,eAAO,MAAM,iCAAiC,aAClC,MAAM,OACX,MAAM,mBACM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,eAC1B,OAAO,kBAQrB,CAAA;AASD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,GAAG,CAAC,EAAE,MAAM,UAwBjF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,UAE1C;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,WAY9C"}
1
+ {"version":3,"file":"useMedia.d.ts","sourceRoot":"","sources":["../../src/hooks/useMedia.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACd,MAAM,UAAU,CAAA;AAGjB,eAAO,IAAI,UAAU,EAAE,eAmBN,CAAA;AAEjB,eAAO,MAAM,gBAAgB,EAAE,YAAiB,CAAA;AAEhD,eAAO,MAAM,QAAQ,uBAAmB,CAAA;AAExC,eAAO,MAAM,SAAS,aAAoB,CAAA;AAI1C,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,WAOxC,CAAA;AAUD,eAAO,MAAM,qBAAqB,QAAS,MAAM,WAchD,CAAA;AAMD,eAAO,MAAM,cAAc,WAAY,qBAAqB,SAkB3D,CAAA;AAaD,wBAAgB,mBAAmB,SAiClC;AAkBD,KAAK,cAAc,GAAG;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAAA;AAED,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACtC,CAAA;AAID,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,4BAK/D;AAcD,wBAAgB,QAAQ,CACtB,KAAK,CAAC,EAAE,GAAG,EACX,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,KAAK,CAAC,EAAE,SAAS,GAChB,aAAa,CA8Ef;AAID,wBAAgB,IAAI,CAAC,GAAG,EAAE,OAAO,QAEhC;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,2BAc7C;AAED,eAAO,MAAM,iCAAiC,aAClC,MAAM,OACX,MAAM,mBACM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,eAC1B,OAAO,kBAOrB,CAAA;AASD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,GAAG,CAAC,EAAE,MAAM,UAwBjF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,UAE1C;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,WAY9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/hooks/useTheme.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,YAAY,EAA4B,MAAM,yBAAyB,CAAA;AAGhF,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,MAAM,EACN,sBAAsB,EACtB,WAAW,EACX,kBAAkB,EACnB,MAAM,UAAU,CAAA;AAEjB,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAClC,UAAU,EAAE,OAAO,CAAA;IAGnB,QAAQ,CAAC,EAAE,IAAI,GAAG,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAcD,MAAM,MAAM,aAAa,CAAC,GAAG,IAAI,GAAG,GAAG;IACrC;;;;;;;;;OASG;IACH,GAAG,EAAE,CACH,QAAQ,CAAC,EAAE,KAAK,KAEd,MAAM,GACN,CAAC,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,GAC1B,CAAC,SAAS,kBAAkB,GAC1B,GAAG,GACH,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,GACtB,GAAG,SAAS,WAAW,GACrB,MAAM,GAAG,MAAM,GACf,OAAO,CAAC,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;KAC1B,GAAG,IAAI,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,aAAa,CAC/D,GAAG,SAAS,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CACjE;CACF,GAAG;KAED,GAAG,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;CACpD,CAAA;AAYD,eAAO,MAAM,QAAQ,WAAW,UAAU,KAG1B,cACf,CAAA;AAED,eAAO,MAAM,iBAAiB,UACrB,sBAAsB,KAC5B,CAAC,oBAAoB,EAAE,WAAW,CA8DpC,CAAA;AAED,wBAAgB,eAAe,CAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAC1C,KAAK,UAAQ,EACb,YAAY,CAAC,EAAE,YAAY,EAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,KAAK,CAAC,EAAE,SAAS,GAChB,cAAc,CA0GhB;AAeD,eAAO,MAAM,mBAAmB,mBAA0B,CAAA;AAO1D,eAAO,MAAM,eAAe,OAAQ,MAAM,6BAEzC,CAAA;AASD,eAAO,MAAM,oBAAoB,UACxB,sBAAsB,2BAEtB,MAAM,EAAE,iBACA,MAAM,OAAO,GAAG,SAAS,KACvC,oBA8RF,CAAA"}
1
+ {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/hooks/useTheme.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,YAAY,EAA4B,MAAM,yBAAyB,CAAA;AAGhF,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,MAAM,EACN,sBAAsB,EACtB,WAAW,EACX,kBAAkB,EACnB,MAAM,UAAU,CAAA;AAEjB,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAClC,UAAU,EAAE,OAAO,CAAA;IAGnB,QAAQ,CAAC,EAAE,IAAI,GAAG,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAcD,MAAM,MAAM,aAAa,CAAC,GAAG,IAAI,GAAG,GAAG;IACrC;;;;;;;;;OASG;IACH,GAAG,EAAE,CACH,QAAQ,CAAC,EAAE,KAAK,KAEd,MAAM,GACN,CAAC,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,GAC1B,CAAC,SAAS,kBAAkB,GAC1B,GAAG,GACH,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,GACtB,GAAG,SAAS,WAAW,GACrB,MAAM,GAAG,MAAM,GACf,OAAO,CAAC,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;KAC1B,GAAG,IAAI,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,aAAa,CAC/D,GAAG,SAAS,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CACjE;CACF,GAAG;KAED,GAAG,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;CACpD,CAAA;AAYD,eAAO,MAAM,QAAQ,WAAW,UAAU,KAG1B,cACf,CAAA;AAED,eAAO,MAAM,iBAAiB,UACrB,sBAAsB,KAC5B,CAAC,oBAAoB,EAAE,WAAW,CA8DpC,CAAA;AAED,wBAAgB,eAAe,CAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAC1C,KAAK,UAAQ,EACb,YAAY,CAAC,EAAE,YAAY,EAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,KAAK,CAAC,EAAE,SAAS,GAChB,cAAc,CA0GhB;AAeD,eAAO,MAAM,mBAAmB,mBAA0B,CAAA;AAO1D,eAAO,MAAM,eAAe,OAAQ,MAAM,6BAEzC,CAAA;AAsBD,eAAO,MAAM,oBAAoB,UACxB,sBAAsB,2BAEtB,MAAM,EAAE,iBACA,MAAM,OAAO,GAAG,SAAS,KACvC,oBAkSF,CAAA"}