@tamagui/web 3.0.13 → 3.0.14
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/_withNativeStyle.cjs +7 -5
- package/dist/cjs/_withNativeStyle.native.cjs +8 -5
- package/dist/cjs/_withNativeStyle.native.js +8 -5
- package/dist/cjs/_withNativeStyle.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +3 -2
- package/dist/cjs/helpers/getSplitStyles.native.cjs +5 -3
- package/dist/cjs/helpers/getSplitStyles.native.js +5 -3
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/styledDynamic.cjs +1 -4
- package/dist/cjs/helpers/styledDynamic.native.cjs +2 -4
- package/dist/cjs/helpers/styledDynamic.native.js +2 -4
- package/dist/cjs/helpers/styledDynamic.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeState.cjs +12 -5
- package/dist/cjs/hooks/useThemeState.native.cjs +16 -5
- package/dist/cjs/hooks/useThemeState.native.js +16 -5
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
- package/dist/esm/_withNativeStyle.mjs +8 -6
- package/dist/esm/_withNativeStyle.mjs.map +1 -1
- package/dist/esm/_withNativeStyle.native.js +9 -6
- package/dist/esm/_withNativeStyle.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +3 -2
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +5 -3
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/styledDynamic.mjs +1 -4
- package/dist/esm/helpers/styledDynamic.mjs.map +1 -1
- package/dist/esm/helpers/styledDynamic.native.js +2 -4
- package/dist/esm/helpers/styledDynamic.native.js.map +1 -1
- package/dist/esm/hooks/useThemeState.mjs +12 -6
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +16 -6
- package/dist/esm/hooks/useThemeState.native.js.map +1 -1
- package/package.json +17 -17
- package/src/_withNativeStyle.tsx +14 -7
- package/src/helpers/getSplitStyles.tsx +8 -3
- package/src/helpers/styledDynamic.ts +3 -5
- package/src/hooks/useThemeState.ts +17 -6
- package/types/_withNativeStyle.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/styledDynamic.d.ts +3 -1
- package/types/helpers/styledDynamic.d.ts.map +1 -1
- package/types/hooks/useThemeState.d.ts +1 -0
- package/types/hooks/useThemeState.d.ts.map +1 -1
|
@@ -12,16 +12,14 @@ import type {
|
|
|
12
12
|
} from '../types'
|
|
13
13
|
import { styledDynamicSymbol } from '../types'
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
// built per call: insertFont adds variants to the same fonts object, and a
|
|
16
|
+
// language without a variant for a font keeps that font
|
|
17
17
|
export function getFontsForLanguage(fonts: GenericFonts, language: LanguageContextType) {
|
|
18
|
-
if (fontLanguageCache.has(language)) return fontLanguageCache.get(language)
|
|
19
18
|
const next = { ...fonts }
|
|
20
19
|
for (const name in language) {
|
|
21
20
|
const lang = language[name]
|
|
22
|
-
if (lang !== 'default') next[name] = fonts[`${name}_${lang}`]
|
|
21
|
+
if (lang !== 'default') next[name] = fonts[`${name}_${lang}`] ?? fonts[name]
|
|
23
22
|
}
|
|
24
|
-
fontLanguageCache.set(language, next)
|
|
25
23
|
return next
|
|
26
24
|
}
|
|
27
25
|
|
|
@@ -43,10 +43,18 @@ export const forceUpdateThemes = () => {
|
|
|
43
43
|
export const getThemeState = (id: ID) => states.get(id)
|
|
44
44
|
|
|
45
45
|
const themeUpdateLayers = new Map<ID, ThemeUpdateState>()
|
|
46
|
-
const themeProviderParents = new Map<
|
|
46
|
+
const themeProviderParents = new Map<
|
|
47
|
+
ID,
|
|
48
|
+
{ parentId: ID; keys: MutableRefObject<Set<string> | null> }
|
|
49
|
+
>()
|
|
47
50
|
|
|
48
51
|
export const getThemeUpdateLayer = (id: ID) => themeUpdateLayers.get(id)
|
|
49
|
-
export const getThemeProviderParent = (id: ID) => themeProviderParents.get(id)
|
|
52
|
+
export const getThemeProviderParent = (id: ID) => themeProviderParents.get(id)?.parentId
|
|
53
|
+
|
|
54
|
+
// the provider chain owns this hook identity from render through cleanup,
|
|
55
|
+
// including effect replays. resolved theme states can be shared with a parent
|
|
56
|
+
// and cannot identify a scope.
|
|
57
|
+
export const getThemeProviderScope = (id: ID) => themeProviderParents.get(id)?.keys
|
|
50
58
|
|
|
51
59
|
export const getThemeProviderChainSizes = () => ({
|
|
52
60
|
layers: themeUpdateLayers.size,
|
|
@@ -56,9 +64,12 @@ export const getThemeProviderChainSizes = () => ({
|
|
|
56
64
|
const registerThemeProviderChain = (
|
|
57
65
|
id: ID,
|
|
58
66
|
parentId: ID,
|
|
59
|
-
props: UseThemeWithStateProps
|
|
67
|
+
props: UseThemeWithStateProps,
|
|
68
|
+
keys: MutableRefObject<Set<string> | null>
|
|
60
69
|
) => {
|
|
61
|
-
themeProviderParents.
|
|
70
|
+
const scope = themeProviderParents.get(id)
|
|
71
|
+
if (scope) scope.parentId = parentId
|
|
72
|
+
else themeProviderParents.set(id, { parentId, keys })
|
|
62
73
|
if (props._themeUpdate) {
|
|
63
74
|
themeUpdateLayers.set(id, props._themeUpdate)
|
|
64
75
|
} else {
|
|
@@ -114,7 +125,7 @@ export const useThemeState = (
|
|
|
114
125
|
const propsKey = `${props.name || ''}${props.forceClassName || ''}${props._themeUpdate?.key || ''}`
|
|
115
126
|
|
|
116
127
|
if (cascadeOnChange) {
|
|
117
|
-
registerThemeProviderChain(id, parentId, props)
|
|
128
|
+
registerThemeProviderChain(id, parentId, props, keys)
|
|
118
129
|
}
|
|
119
130
|
|
|
120
131
|
const ref = useRef<ThemeStateRef>(null as any)
|
|
@@ -144,7 +155,7 @@ export const useThemeState = (
|
|
|
144
155
|
}
|
|
145
156
|
|
|
146
157
|
if (cascadeOnChange && !themeProviderParents.has(r.id)) {
|
|
147
|
-
registerThemeProviderChain(r.id, r.parentId, r.props)
|
|
158
|
+
registerThemeProviderChain(r.id, r.parentId, r.props, r.keys)
|
|
148
159
|
}
|
|
149
160
|
|
|
150
161
|
if (r.unsubscribe && r.subscribedTo !== r.parentId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_withNativeStyle.d.ts","sourceRoot":"","sources":["../src/_withNativeStyle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAc,MAAM,OAAO,CAAA;AAElC,OAAO,EASL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"_withNativeStyle.d.ts","sourceRoot":"","sources":["../src/_withNativeStyle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAc,MAAM,OAAO,CAAA;AAElC,OAAO,EASL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAA;AAgBpC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,gBAAgB,cAChB,GAAG,aACH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAClB,uBAAuB,SAChC,MAAM,GAAG,MAAM;YAsJU,GAAG;sBAIA,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC;CAG3D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EAEnB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAGb,eAAe,EACf,YAAY,EAGZ,qBAAqB,EACrB,qBAAqB,EAErB,WAAW,EAGZ,MAAM,UAAU,CAAA;AAkBjB,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKlF,OAAO,EAAE,oBAAoB,EAAE,CAAA;AAqB/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAe3D,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AACvF,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAK3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAMhE,MAAM,MAAM,aAAa,GAAG,CAC1B,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,EAC3B,YAAY,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAEtC,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,KAAK,CAAC,EAAE,SAAS,EAEjB,eAAe,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAC5C,iBAAiB,CAAC,EAAE,iBAAiB,KAClC,IAAI,GAAG,cAAc,CAAA;AAiV1B,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAEhF;AAssBD,eAAO,MAAM,cAAc,EAAE,aAyuB5B,CAAA;AAoYD,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,gBAAgB,CAAC,EAAE,OAAO,EAC1B,aAAa,CAAC,EAAE,GAAG,KAChB,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EAEnB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAGb,eAAe,EACf,YAAY,EAGZ,qBAAqB,EACrB,qBAAqB,EAErB,WAAW,EAGZ,MAAM,UAAU,CAAA;AAkBjB,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKlF,OAAO,EAAE,oBAAoB,EAAE,CAAA;AAqB/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAe3D,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AACvF,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAK3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAMhE,MAAM,MAAM,aAAa,GAAG,CAC1B,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,EAC3B,YAAY,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAEtC,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,KAAK,CAAC,EAAE,SAAS,EAEjB,eAAe,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAC5C,iBAAiB,CAAC,EAAE,iBAAiB,KAClC,IAAI,GAAG,cAAc,CAAA;AAiV1B,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAEhF;AAssBD,eAAO,MAAM,cAAc,EAAE,aAyuB5B,CAAA;AAoYD,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,gBAAgB,CAAC,EAAE,OAAO,EAC1B,aAAa,CAAC,EAAE,GAAG,KAChB,IAAI,CAAA;AAy5CT,KAAK,oBAAoB,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;AAgCnF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,GAAG,IAAI,EACjC,QAAQ,SAAI,EACZ,WAAW,UAAQ,WA4OpB;AAqJD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO,QAyBlB;AAID,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,sBAgBtF;AAMD,cAAc,mBAAmB,CAAA"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { GenericFonts, GetStyleState, LanguageContextType, StyledDynamic, StyledDynamicEnv, StyledDynamicFn, StyledDynamicProp } from '../types';
|
|
2
|
-
export declare function getFontsForLanguage(fonts: GenericFonts, language: LanguageContextType):
|
|
2
|
+
export declare function getFontsForLanguage(fonts: GenericFonts, language: LanguageContextType): {
|
|
3
|
+
[x: string]: import("..").GenericFont<string | number | symbol>;
|
|
4
|
+
};
|
|
3
5
|
export declare function isStyledDynamic(value: unknown): value is StyledDynamic;
|
|
4
6
|
/**
|
|
5
7
|
* `styled.dynamic<T>()` declares a typed variant prop that is consumed by
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styledDynamic.d.ts","sourceRoot":"","sources":["../../src/helpers/styledDynamic.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EAClB,MAAM,UAAU,CAAA;AAKjB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,mBAAmB
|
|
1
|
+
{"version":3,"file":"styledDynamic.d.ts","sourceRoot":"","sources":["../../src/helpers/styledDynamic.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EAClB,MAAM,UAAU,CAAA;AAKjB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,mBAAmB;;EAOrF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAMtE;AAqGD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,KAAK,iBAAiB,CAAC,GAAG,CAAC,CAAA;AAC5D,wBAAgB,aAAa,CAAC,GAAG,EAC/B,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,GAChF,eAAe,CAAC,GAAG,CAAC,CAAA;AAQvB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,aAAa,GAAG,gBAAgB,CAoCzE"}
|
|
@@ -7,6 +7,7 @@ export declare const forceUpdateThemes: () => void;
|
|
|
7
7
|
export declare const getThemeState: (id: ID) => ThemeState | undefined;
|
|
8
8
|
export declare const getThemeUpdateLayer: (id: ID) => ThemeUpdateState | undefined;
|
|
9
9
|
export declare const getThemeProviderParent: (id: ID) => string | undefined;
|
|
10
|
+
export declare const getThemeProviderScope: (id: ID) => MutableRefObject<Set<string> | null> | undefined;
|
|
10
11
|
export declare const getThemeProviderChainSizes: () => {
|
|
11
12
|
layers: number;
|
|
12
13
|
parents: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useThemeState.d.ts","sourceRoot":"","sources":["../../src/hooks/useThemeState.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,OAAO,CAAA;AAId,OAAO,KAAK,EAGV,UAAU,EACV,sBAAsB,EACvB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAGnE,KAAK,EAAE,GAAG,MAAM,CAAA;AAEhB,eAAO,MAAM,iBAAiB,iCAAwB,CAAA;AAWtD,eAAO,MAAM,iBAAiB,YAK7B,CAAA;AAED,eAAO,MAAM,aAAa,OAAQ,EAAE,2BAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"useThemeState.d.ts","sourceRoot":"","sources":["../../src/hooks/useThemeState.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,OAAO,CAAA;AAId,OAAO,KAAK,EAGV,UAAU,EACV,sBAAsB,EACvB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAGnE,KAAK,EAAE,GAAG,MAAM,CAAA;AAEhB,eAAO,MAAM,iBAAiB,iCAAwB,CAAA;AAWtD,eAAO,MAAM,iBAAiB,YAK7B,CAAA;AAED,eAAO,MAAM,aAAa,OAAQ,EAAE,2BAAmB,CAAA;AAQvD,eAAO,MAAM,mBAAmB,OAAQ,EAAE,iCAA8B,CAAA;AACxE,eAAO,MAAM,sBAAsB,OAAQ,EAAE,uBAA2C,CAAA;AAKxF,eAAO,MAAM,qBAAqB,OAAQ,EAAE,qDAAuC,CAAA;AAEnF,eAAO,MAAM,0BAA0B;IACrC,MAAM;IACN,OAAO;CACP,CAAA;AAyBF,eAAO,MAAM,iBAAiB,yBAAuB,CAAA;AAMrD,eAAO,MAAM,aAAa,UACjB,sBAAsB,qCAEvB,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,eAC7B,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,kEAGhD,UAgIF,CAAA;AAqQD,wBAAgB,eAAe,CAC7B,UAAU,oBAAK,EACf,KAAK,EAAE,sBAAsB,EAC7B,WAAW,UAAQ,GAClB,MAAM,GAAG,IAAI,CAuBf;AAED,eAAO,MAAM,qBAAqB,cAA4B,CAAA;AAE9D,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,WAAW,UAAQ,GAClB,MAAM,GAAG,IAAI,CA0Bf;AAED,eAAO,MAAM,qBAAqB,UAAW,sBAAsB,YACM,CAAA"}
|