@tamagui/web 1.105.1 → 1.105.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/config.js +7 -1
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/config.native.js +11 -1
- package/dist/cjs/config.native.js.map +2 -2
- package/dist/cjs/createComponent.js +16 -11
- package/dist/cjs/createComponent.js.map +1 -1
- package/dist/cjs/createComponent.native.js +16 -14
- package/dist/cjs/createComponent.native.js.map +2 -2
- package/dist/cjs/createTamagui.js +3 -3
- package/dist/cjs/createTamagui.js.map +1 -1
- package/dist/cjs/createTamagui.native.js +4 -3
- package/dist/cjs/createTamagui.native.js.map +2 -2
- package/dist/cjs/helpers/createMediaStyle.js +1 -1
- package/dist/cjs/helpers/createMediaStyle.js.map +1 -1
- package/dist/cjs/helpers/createMediaStyle.native.js +1 -1
- package/dist/cjs/helpers/createMediaStyle.native.js.map +2 -2
- package/dist/cjs/helpers/createShallowSetState.js +1 -1
- package/dist/cjs/helpers/createShallowSetState.native.js +1 -1
- package/dist/cjs/helpers/createShallowSetState.native.js.map +1 -1
- package/dist/cjs/helpers/expandStyle.js +2 -2
- package/dist/cjs/helpers/expandStyle.js.map +1 -1
- package/dist/cjs/helpers/expandStyle.native.js +1 -1
- package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.js +35 -18
- package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.native.js +25 -17
- package/dist/cjs/helpers/getSplitStyles.native.js.map +2 -2
- package/dist/cjs/helpers/getThemeCSSRules.js +7 -6
- package/dist/cjs/helpers/getThemeCSSRules.js.map +1 -1
- package/dist/cjs/helpers/log.js +9 -2
- package/dist/cjs/helpers/log.js.map +1 -1
- package/dist/cjs/helpers/log.native.js +10 -4
- package/dist/cjs/helpers/log.native.js.map +2 -2
- package/dist/cjs/helpers/propMapper.js +4 -3
- package/dist/cjs/helpers/propMapper.js.map +1 -1
- package/dist/cjs/helpers/propMapper.native.js +4 -3
- package/dist/cjs/helpers/propMapper.native.js.map +2 -2
- package/dist/cjs/hooks/useDisableSSR.js +1 -1
- package/dist/cjs/hooks/useDisableSSR.js.map +1 -1
- package/dist/cjs/hooks/useDisableSSR.native.js +1 -1
- package/dist/cjs/hooks/useDisableSSR.native.js.map +2 -2
- package/dist/cjs/hooks/useMedia.js +23 -7
- package/dist/cjs/hooks/useMedia.js.map +1 -1
- package/dist/cjs/hooks/useMedia.native.js +44 -7
- package/dist/cjs/hooks/useMedia.native.js.map +2 -2
- package/dist/cjs/hooks/useTheme.js +12 -5
- package/dist/cjs/hooks/useTheme.js.map +1 -1
- package/dist/cjs/hooks/useTheme.native.js +19 -8
- package/dist/cjs/hooks/useTheme.native.js.map +2 -2
- package/dist/cjs/views/TamaguiProvider.js +3 -3
- package/dist/cjs/views/TamaguiProvider.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.native.js +3 -3
- package/dist/cjs/views/TamaguiProvider.native.js.map +2 -2
- package/dist/cjs/views/ThemeProvider.js +2 -2
- package/dist/cjs/views/ThemeProvider.js.map +1 -1
- package/dist/cjs/views/ThemeProvider.native.js +2 -2
- package/dist/cjs/views/ThemeProvider.native.js.map +2 -2
- package/dist/cjs/views/html.js +1 -0
- package/dist/cjs/views/html.js.map +6 -0
- package/dist/cjs/views/html.native.js +2 -0
- package/dist/cjs/views/html.native.js.map +6 -0
- package/dist/esm/config.js +7 -1
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/config.mjs +8 -2
- package/dist/esm/config.mjs.map +1 -1
- package/dist/esm/config.native.js +10 -1
- package/dist/esm/config.native.js.map +2 -2
- package/dist/esm/createComponent.js +20 -11
- package/dist/esm/createComponent.js.map +1 -1
- package/dist/esm/createComponent.mjs +16 -10
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +16 -14
- package/dist/esm/createComponent.native.js.map +2 -2
- package/dist/esm/createTamagui.js +3 -3
- package/dist/esm/createTamagui.js.map +1 -1
- package/dist/esm/createTamagui.mjs +3 -3
- package/dist/esm/createTamagui.mjs.map +1 -1
- package/dist/esm/createTamagui.native.js +4 -3
- package/dist/esm/createTamagui.native.js.map +2 -2
- package/dist/esm/helpers/createMediaStyle.js +2 -2
- package/dist/esm/helpers/createMediaStyle.js.map +1 -1
- package/dist/esm/helpers/createMediaStyle.mjs +2 -2
- package/dist/esm/helpers/createMediaStyle.mjs.map +1 -1
- package/dist/esm/helpers/createMediaStyle.native.js +2 -2
- package/dist/esm/helpers/createMediaStyle.native.js.map +2 -2
- package/dist/esm/helpers/createShallowSetState.js +1 -1
- package/dist/esm/helpers/createShallowSetState.mjs +1 -1
- package/dist/esm/helpers/createShallowSetState.mjs.map +1 -1
- package/dist/esm/helpers/createShallowSetState.native.js +1 -1
- package/dist/esm/helpers/createShallowSetState.native.js.map +1 -1
- package/dist/esm/helpers/expandStyle.js +2 -2
- package/dist/esm/helpers/expandStyle.js.map +1 -1
- package/dist/esm/helpers/expandStyle.mjs +2 -2
- package/dist/esm/helpers/expandStyle.mjs.map +1 -1
- package/dist/esm/helpers/expandStyle.native.js +1 -1
- package/dist/esm/helpers/expandStyle.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.js +35 -18
- package/dist/esm/helpers/getSplitStyles.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +29 -19
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +25 -17
- package/dist/esm/helpers/getSplitStyles.native.js.map +2 -2
- package/dist/esm/helpers/getThemeCSSRules.js +7 -5
- package/dist/esm/helpers/getThemeCSSRules.js.map +1 -1
- package/dist/esm/helpers/getThemeCSSRules.mjs +7 -5
- package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
- package/dist/esm/helpers/log.js +9 -2
- package/dist/esm/helpers/log.js.map +1 -1
- package/dist/esm/helpers/log.mjs +9 -1
- package/dist/esm/helpers/log.mjs.map +1 -1
- package/dist/esm/helpers/log.native.js +10 -4
- package/dist/esm/helpers/log.native.js.map +2 -2
- package/dist/esm/helpers/propMapper.js +4 -3
- package/dist/esm/helpers/propMapper.js.map +1 -1
- package/dist/esm/helpers/propMapper.mjs +8 -8
- package/dist/esm/helpers/propMapper.mjs.map +1 -1
- package/dist/esm/helpers/propMapper.native.js +4 -3
- package/dist/esm/helpers/propMapper.native.js.map +2 -2
- package/dist/esm/hooks/useDisableSSR.js +2 -2
- package/dist/esm/hooks/useDisableSSR.js.map +1 -1
- package/dist/esm/hooks/useDisableSSR.mjs +2 -2
- package/dist/esm/hooks/useDisableSSR.mjs.map +1 -1
- package/dist/esm/hooks/useDisableSSR.native.js +2 -2
- package/dist/esm/hooks/useDisableSSR.native.js.map +2 -2
- package/dist/esm/hooks/useMedia.js +24 -8
- package/dist/esm/hooks/useMedia.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +22 -11
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +43 -8
- package/dist/esm/hooks/useMedia.native.js.map +2 -2
- package/dist/esm/hooks/useTheme.js +13 -6
- package/dist/esm/hooks/useTheme.js.map +1 -1
- package/dist/esm/hooks/useTheme.mjs +12 -5
- package/dist/esm/hooks/useTheme.mjs.map +1 -1
- package/dist/esm/hooks/useTheme.native.js +20 -9
- package/dist/esm/hooks/useTheme.native.js.map +2 -2
- package/dist/esm/views/TamaguiProvider.js +3 -2
- package/dist/esm/views/TamaguiProvider.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.mjs +3 -2
- package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js +3 -2
- package/dist/esm/views/TamaguiProvider.native.js.map +2 -2
- package/dist/esm/views/ThemeProvider.js +2 -1
- package/dist/esm/views/ThemeProvider.js.map +1 -1
- package/dist/esm/views/ThemeProvider.mjs +2 -1
- package/dist/esm/views/ThemeProvider.mjs.map +1 -1
- package/dist/esm/views/ThemeProvider.native.js +2 -1
- package/dist/esm/views/ThemeProvider.native.js.map +2 -2
- package/dist/esm/views/html.js +1 -0
- package/dist/esm/views/html.js.map +6 -0
- package/dist/esm/views/html.mjs +2 -0
- package/dist/esm/views/html.mjs.map +1 -0
- package/dist/esm/views/html.native.js +1 -0
- package/dist/esm/views/html.native.js.map +6 -0
- package/package.json +11 -11
- package/src/config.ts +14 -0
- package/src/createComponent.tsx +25 -19
- package/src/createTamagui.ts +5 -3
- package/src/helpers/createMediaStyle.ts +2 -2
- package/src/helpers/createShallowSetState.tsx +1 -1
- package/src/helpers/expandStyle.ts +3 -3
- package/src/helpers/getSplitStyles.tsx +45 -15
- package/src/helpers/getThemeCSSRules.ts +7 -5
- package/src/helpers/log.ts +12 -5
- package/src/helpers/propMapper.ts +4 -3
- package/src/hooks/useDisableSSR.tsx +2 -2
- package/src/hooks/useMedia.tsx +32 -7
- package/src/hooks/useTheme.tsx +21 -4
- package/src/types.tsx +92 -15
- package/src/views/TamaguiProvider.tsx +7 -2
- package/src/views/ThemeProvider.tsx +6 -1
- package/types/config.d.ts +2 -1
- package/types/config.d.ts.map +1 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/createTamagui.d.ts.map +1 -1
- package/types/helpers/expandStyle.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
- package/types/helpers/log.d.ts.map +1 -1
- package/types/helpers/propMapper.d.ts.map +1 -1
- package/types/hooks/useConfiguration.d.ts +2 -41
- package/types/hooks/useConfiguration.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts +3 -1
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/types.d.ts +82 -12
- package/types/types.d.ts.map +1 -1
- package/types/views/TamaguiProvider.d.ts.map +1 -1
- package/types/views/ThemeProvider.d.ts +1 -0
- package/types/views/ThemeProvider.d.ts.map +1 -1
- package/types/views/html.d.ts +1 -0
- package/types/views/html.d.ts.map +1 -0
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
|
|
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
|
-
|
|
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,
|
|
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
|
|
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
|
-
|
|
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,
|
|
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 =
|
|
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={
|
|
43
|
-
|
|
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 =
|
|
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;
|
package/types/config.d.ts.map
CHANGED
|
@@ -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;
|
|
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,
|
|
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":"expandStyle.d.ts","sourceRoot":"","sources":["../../src/helpers/expandStyle.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"expandStyle.d.ts","sourceRoot":"","sources":["../../src/helpers/expandStyle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAQ/C,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,eAAe,CA+CpE"}
|
|
@@ -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;
|
|
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;
|
|
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":"
|
|
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,
|
|
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
|
-
|
|
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
|
|
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,
|
|
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,CA6Ef;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;
|
|
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"}
|
package/types/types.d.ts
CHANGED
|
@@ -170,8 +170,7 @@ export interface TamaguiCustomConfig {
|
|
|
170
170
|
export interface TamaguiConfig extends Omit<GenericTamaguiConfig, keyof TamaguiCustomConfig>, TamaguiCustomConfig {
|
|
171
171
|
}
|
|
172
172
|
type OnlyAllowShorthandsSetting = boolean | undefined;
|
|
173
|
-
type
|
|
174
|
-
export type CreateTamaguiConfig<A extends GenericTokens, B extends GenericThemes, C extends GenericShorthands = GenericShorthands, D extends GenericMedia = GenericMedia, E extends GenericAnimations = GenericAnimations, F extends GenericFonts = GenericFonts, G extends OnlyAllowShorthandsSetting = OnlyAllowShorthandsSetting, H extends DefaultFontSetting = DefaultFontSetting, I extends GenericTamaguiSettings = GenericTamaguiSettings> = {
|
|
173
|
+
export type CreateTamaguiConfig<A extends GenericTokens, B extends GenericThemes, C extends GenericShorthands = GenericShorthands, D extends GenericMedia = GenericMedia, E extends GenericAnimations = GenericAnimations, F extends GenericFonts = GenericFonts, G extends OnlyAllowShorthandsSetting = OnlyAllowShorthandsSetting, H extends GenericTamaguiSettings = GenericTamaguiSettings> = {
|
|
175
174
|
fonts: RemoveLanguagePostfixes<F>;
|
|
176
175
|
fontLanguages: GetLanguagePostfixes<F> extends never ? string[] : GetLanguagePostfixes<F>[];
|
|
177
176
|
tokens: A;
|
|
@@ -184,8 +183,7 @@ export type CreateTamaguiConfig<A extends GenericTokens, B extends GenericThemes
|
|
|
184
183
|
media: D;
|
|
185
184
|
animations: AnimationDriver<E>;
|
|
186
185
|
onlyAllowShorthands: G;
|
|
187
|
-
|
|
188
|
-
settings: I;
|
|
186
|
+
settings: H;
|
|
189
187
|
};
|
|
190
188
|
type GetLanguagePostfix<Set> = Set extends string ? Set extends `${string}_${infer Postfix}` ? Postfix : never : never;
|
|
191
189
|
type OmitLanguagePostfix<Set> = Set extends string ? Set extends `${infer Prefix}_${string}` ? Prefix : Set : never;
|
|
@@ -193,7 +191,7 @@ type RemoveLanguagePostfixes<F extends GenericFonts> = {
|
|
|
193
191
|
[Key in OmitLanguagePostfix<keyof F>]: F[Key];
|
|
194
192
|
};
|
|
195
193
|
type GetLanguagePostfixes<F extends GenericFonts> = GetLanguagePostfix<keyof F>;
|
|
196
|
-
type ConfProps<A, B, C, D, E, F, G,
|
|
194
|
+
type ConfProps<A, B, C, D, E, F, G, I> = {
|
|
197
195
|
tokens?: A;
|
|
198
196
|
themes?: B;
|
|
199
197
|
shorthands?: C;
|
|
@@ -201,7 +199,6 @@ type ConfProps<A, B, C, D, E, F, G, H, I> = {
|
|
|
201
199
|
animations?: E extends AnimationConfig ? AnimationDriver<E> : undefined;
|
|
202
200
|
fonts?: F;
|
|
203
201
|
onlyAllowShorthands?: G;
|
|
204
|
-
defaultFont?: H;
|
|
205
202
|
settings?: I;
|
|
206
203
|
};
|
|
207
204
|
type EmptyTokens = {
|
|
@@ -220,7 +217,7 @@ type EmptyTamaguiSettings = {
|
|
|
220
217
|
allowedStyleValues: false;
|
|
221
218
|
autocompleteSpecificTokens: 'except-special';
|
|
222
219
|
};
|
|
223
|
-
export type InferTamaguiConfig<Conf> = Conf extends ConfProps<infer A, infer B, infer C, infer D, infer E, infer F, infer G, infer H
|
|
220
|
+
export type InferTamaguiConfig<Conf> = Conf extends ConfProps<infer A, infer B, infer C, infer D, infer E, infer F, infer G, infer H> ? TamaguiInternalConfig<A extends GenericTokens ? A : EmptyTokens, B extends GenericThemes ? B : EmptyThemes, C extends GenericShorthands ? C : EmptyShorthands, D extends GenericMedia ? D : EmptyMedia, E extends GenericAnimations ? E : EmptyAnimations, F extends GenericFonts ? F : EmptyFonts, G extends OnlyAllowShorthandsSetting ? G : OnlyAllowShorthandsSetting, H extends GenericTamaguiSettings ? H : EmptyTamaguiSettings> : unknown;
|
|
224
221
|
export type GenericTamaguiConfig = CreateTamaguiConfig<GenericTokens, GenericThemes, GenericShorthands, GenericMedia, GenericAnimations, GenericFonts>;
|
|
225
222
|
type NonSubThemeNames<A extends string | number> = A extends `${string}_${string}` ? never : A;
|
|
226
223
|
type BaseThemeDefinitions = TamaguiConfig['themes'][NonSubThemeNames<keyof TamaguiConfig['themes']>];
|
|
@@ -288,7 +285,7 @@ type AllowedStyleValuesSettingPerCategory = {
|
|
|
288
285
|
};
|
|
289
286
|
type AllowedStyleValuesSetting = AllowedValueSettingBase | AllowedStyleValuesSettingPerCategory;
|
|
290
287
|
type AutocompleteSpecificTokensSetting = boolean | 'except-special';
|
|
291
|
-
|
|
288
|
+
export interface GenericTamaguiSettings {
|
|
292
289
|
/**
|
|
293
290
|
* When true, flexBasis will be set to 0 when flex is positive. This will be
|
|
294
291
|
* the default in v2 of Tamagui alongside an alternative mode for web compat.
|
|
@@ -379,7 +376,72 @@ type GenericTamaguiSettings = {
|
|
|
379
376
|
* default uses `container-type: inline-size`.
|
|
380
377
|
*/
|
|
381
378
|
webContainerType?: 'normal' | 'size' | 'inline-size' | 'inherit' | 'initial' | 'revert' | 'revert-layer' | 'unset';
|
|
382
|
-
|
|
379
|
+
/**
|
|
380
|
+
* Only allow shorthands when enabled. Recommended to be true to avoid having
|
|
381
|
+
* two ways to style the same property.
|
|
382
|
+
*/
|
|
383
|
+
onlyAllowShorthands?: OnlyAllowShorthandsSetting;
|
|
384
|
+
/**
|
|
385
|
+
* Define a default font, for better types and default font on Text
|
|
386
|
+
*/
|
|
387
|
+
defaultFont?: string;
|
|
388
|
+
/**
|
|
389
|
+
* Web-only: define CSS text-selection styles
|
|
390
|
+
*/
|
|
391
|
+
selectionStyles?: (theme: Record<string, string>) => null | {
|
|
392
|
+
backgroundColor?: any;
|
|
393
|
+
color?: any;
|
|
394
|
+
};
|
|
395
|
+
/**
|
|
396
|
+
* If building a non-server rendered app, set this to true.
|
|
397
|
+
*
|
|
398
|
+
* For SSR compatibility on the web, Tamagui will render once with the settings
|
|
399
|
+
* from `mediaQueryDefaultActive` set for all media queries. Then, it will render
|
|
400
|
+
* again after the initial render using the proper media query values. This is so that
|
|
401
|
+
* hydration will match perfectly with the server.
|
|
402
|
+
*
|
|
403
|
+
* Setting disableSSR will avoid this second render by setting the media query state
|
|
404
|
+
* to the actual browser dimensions on initial load. This is only useful for client-only
|
|
405
|
+
* apps.
|
|
406
|
+
*
|
|
407
|
+
*/
|
|
408
|
+
disableSSR?: boolean;
|
|
409
|
+
/**
|
|
410
|
+
* Disable inserting a theme class in the DOM or context, allowing you to manually place it higher.
|
|
411
|
+
* For custom use cases like integration with next-theme.
|
|
412
|
+
*/
|
|
413
|
+
disableRootThemeClass?: boolean;
|
|
414
|
+
/**
|
|
415
|
+
* For the first render, determines which media queries are true, this only
|
|
416
|
+
* affects things on native or on web if you disableSSR, as otherwise Tamagui
|
|
417
|
+
* relies on CSS to avoid the need for re-rendering on first render.
|
|
418
|
+
*/
|
|
419
|
+
mediaQueryDefaultActive?: Record<string, boolean>;
|
|
420
|
+
/**
|
|
421
|
+
* What's between each CSS style rule, set to "\n" to be easier to read
|
|
422
|
+
* @default "\n" when NODE_ENV=development, "" otherwise
|
|
423
|
+
*/
|
|
424
|
+
cssStyleSeparator?: string;
|
|
425
|
+
/**
|
|
426
|
+
* (Advanced) on the web, tamagui treats `dark` and `light` themes as special
|
|
427
|
+
* and generates extra CSS to avoid having to re-render the entire page. this
|
|
428
|
+
* CSS relies on specificity hacks that multiply by your sub-themes. this sets
|
|
429
|
+
* the maxiumum number of nested dark/light themes you can do defaults to 3
|
|
430
|
+
* for a balance, but can be higher if you nest them deeply.
|
|
431
|
+
*/
|
|
432
|
+
maxDarkLightNesting?: number;
|
|
433
|
+
/**
|
|
434
|
+
* Adds @media(prefers-color-scheme) media queries for dark/light, must be set
|
|
435
|
+
* true if you are supporting system preference for light and dark mode themes
|
|
436
|
+
*/
|
|
437
|
+
shouldAddPrefersColorThemes?: boolean;
|
|
438
|
+
/**
|
|
439
|
+
* If you want to style your <body> tag to use themes, you must place the
|
|
440
|
+
* theme className onto the body element. This will do so. Otherwise, Tamagui
|
|
441
|
+
* will place the className onto the element rendered by the TamaguiProvider
|
|
442
|
+
*/
|
|
443
|
+
themeClassNameOnRoot?: boolean;
|
|
444
|
+
}
|
|
383
445
|
export type TamaguiSettings = TamaguiConfig['settings'];
|
|
384
446
|
export type BaseStyleProps = {
|
|
385
447
|
[Key in keyof TextStylePropsBase]?: TextStyle[Key] | GetThemeValueForKey<Key>;
|
|
@@ -403,6 +465,7 @@ export type CreateTamaguiProps = {
|
|
|
403
465
|
/**
|
|
404
466
|
* Define a default font, for better types and default font on Text
|
|
405
467
|
*/
|
|
468
|
+
/** @deprecated moved into settings sub-object */
|
|
406
469
|
defaultFont?: string;
|
|
407
470
|
/**
|
|
408
471
|
* Web-only: define text-selection CSS
|
|
@@ -424,25 +487,33 @@ export type CreateTamaguiProps = {
|
|
|
424
487
|
* apps.
|
|
425
488
|
*
|
|
426
489
|
*/
|
|
490
|
+
/** @deprecated moved into settings sub-object */
|
|
427
491
|
disableSSR?: boolean;
|
|
428
492
|
/**
|
|
429
493
|
* Disable inserting a theme class in the DOM or context, allowing you to manually place it higher.
|
|
430
494
|
* For custom use cases like integration with next-theme.
|
|
431
495
|
*/
|
|
496
|
+
/** @deprecated moved into settings sub-object */
|
|
432
497
|
disableRootThemeClass?: boolean;
|
|
433
498
|
defaultProps?: Record<string, any> & {
|
|
434
499
|
Stack?: StackProps;
|
|
435
500
|
Text?: TextProps;
|
|
436
501
|
Spacer?: SpacerProps;
|
|
437
502
|
};
|
|
503
|
+
/** @deprecated moved into settings sub-object */
|
|
438
504
|
mediaQueryDefaultActive?: Record<string, boolean>;
|
|
505
|
+
/** @deprecated moved into settings sub-object */
|
|
439
506
|
cssStyleSeparator?: string;
|
|
507
|
+
/** @deprecated moved into settings sub-object */
|
|
440
508
|
maxDarkLightNesting?: number;
|
|
509
|
+
/** @deprecated moved into settings sub-object */
|
|
441
510
|
shouldAddPrefersColorThemes?: boolean;
|
|
511
|
+
/** @deprecated moved into settings sub-object */
|
|
442
512
|
themeClassNameOnRoot?: boolean;
|
|
443
513
|
/**
|
|
444
514
|
* Only allow shorthands when enabled
|
|
445
515
|
*/
|
|
516
|
+
/** @deprecated moved into settings sub-object */
|
|
446
517
|
onlyAllowShorthands?: OnlyAllowShorthandsSetting;
|
|
447
518
|
};
|
|
448
519
|
export type GetCSS = (opts?: {
|
|
@@ -450,7 +521,7 @@ export type GetCSS = (opts?: {
|
|
|
450
521
|
exclude?: 'themes' | 'design-system' | null;
|
|
451
522
|
sinceLastCall?: boolean;
|
|
452
523
|
}) => string;
|
|
453
|
-
export type TamaguiInternalConfig<A extends GenericTokens = GenericTokens, B extends GenericThemes = GenericThemes, C extends GenericShorthands = GenericShorthands, D extends GenericMedia = GenericMedia, E extends GenericAnimations = GenericAnimations, F extends GenericFonts = GenericFonts, G extends OnlyAllowShorthandsSetting = OnlyAllowShorthandsSetting,
|
|
524
|
+
export type TamaguiInternalConfig<A extends GenericTokens = GenericTokens, B extends GenericThemes = GenericThemes, C extends GenericShorthands = GenericShorthands, D extends GenericMedia = GenericMedia, E extends GenericAnimations = GenericAnimations, F extends GenericFonts = GenericFonts, G extends OnlyAllowShorthandsSetting = OnlyAllowShorthandsSetting, I extends GenericTamaguiSettings = GenericTamaguiSettings> = Omit<CreateTamaguiProps, keyof GenericTamaguiConfig> & Omit<CreateTamaguiConfig<A, B, C, D, E, F, G, I>, 'tokens'> & {
|
|
454
525
|
tokens: Tokenify<A>;
|
|
455
526
|
tokensParsed: Tokenify<A>;
|
|
456
527
|
themeConfig: any;
|
|
@@ -460,7 +531,6 @@ export type TamaguiInternalConfig<A extends GenericTokens = GenericTokens, B ext
|
|
|
460
531
|
parsed: boolean;
|
|
461
532
|
inverseShorthands: Record<string, string>;
|
|
462
533
|
reactNative?: any;
|
|
463
|
-
defaultFont?: H;
|
|
464
534
|
fontSizeTokens: Set<string>;
|
|
465
535
|
specificTokens: Record<string, Variable>;
|
|
466
536
|
settings: Omit<GenericTamaguiSettings, keyof I> & I;
|
|
@@ -592,7 +662,7 @@ export type Token = NonSpecificTokens | (TamaguiSettings extends {
|
|
|
592
662
|
autocompleteSpecificTokens: false;
|
|
593
663
|
} ? never : SpecificTokens);
|
|
594
664
|
export type ColorStyleProp = ThemeValueFallbackColor | ColorTokens;
|
|
595
|
-
type DefaultFont =
|
|
665
|
+
type DefaultFont = TamaguiSettings['defaultFont'];
|
|
596
666
|
export type Fonts = DefaultFont extends string ? TamaguiConfig['fonts'][DefaultFont] : never;
|
|
597
667
|
export type Font = ParseFont<Fonts>;
|
|
598
668
|
export type GetTokenFontKeysFor<A extends 'size' | 'weight' | 'letterSpacing' | 'family' | 'lineHeight' | 'transform' | 'style' | 'color'> = keyof TamaguiConfig['fonts']['body'][A];
|