@tamagui/web 1.22.11 → 1.23.0
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/constants/accessibilityDirectMap.js +76 -0
- package/dist/cjs/constants/accessibilityDirectMap.js.map +6 -0
- package/dist/cjs/createTamagui.js +19 -10
- package/dist/cjs/createTamagui.js.map +1 -1
- package/dist/cjs/helpers/ThemeManager.js +3 -3
- package/dist/cjs/helpers/ThemeManager.js.map +1 -1
- package/dist/cjs/helpers/accessibilityDirectMap.js +76 -0
- package/dist/cjs/helpers/accessibilityDirectMap.js.map +6 -0
- package/dist/cjs/helpers/createChainedWeakCache.js +63 -0
- package/dist/cjs/helpers/createChainedWeakCache.js.map +6 -0
- package/dist/cjs/helpers/getSplitStyles.js +46 -101
- package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
- package/dist/cjs/helpers/memoizeArgumentsWeak.js +57 -0
- package/dist/cjs/helpers/memoizeArgumentsWeak.js.map +6 -0
- package/dist/cjs/helpers/memoizeFunctionByArgumentsReference.js +1 -1
- package/dist/cjs/helpers/memoizeFunctionByArgumentsReference.js.map +1 -1
- package/dist/cjs/hooks/useTheme.js +8 -2
- package/dist/cjs/hooks/useTheme.js.map +1 -1
- package/dist/esm/constants/accessibilityDirectMap.js +52 -0
- package/dist/esm/constants/accessibilityDirectMap.js.map +6 -0
- package/dist/esm/constants/accessibilityDirectMap.mjs +52 -0
- package/dist/esm/constants/accessibilityDirectMap.mjs.map +6 -0
- package/dist/esm/createTamagui.js +19 -10
- package/dist/esm/createTamagui.js.map +1 -1
- package/dist/esm/createTamagui.mjs +19 -10
- package/dist/esm/createTamagui.mjs.map +1 -1
- package/dist/esm/helpers/ThemeManager.js +3 -3
- package/dist/esm/helpers/ThemeManager.js.map +1 -1
- package/dist/esm/helpers/ThemeManager.mjs +3 -3
- package/dist/esm/helpers/ThemeManager.mjs.map +1 -1
- package/dist/esm/helpers/accessibilityDirectMap.js +52 -0
- package/dist/esm/helpers/accessibilityDirectMap.js.map +6 -0
- package/dist/esm/helpers/accessibilityDirectMap.mjs +52 -0
- package/dist/esm/helpers/accessibilityDirectMap.mjs.map +6 -0
- package/dist/esm/helpers/createChainedWeakCache.js +39 -0
- package/dist/esm/helpers/createChainedWeakCache.js.map +6 -0
- package/dist/esm/helpers/createChainedWeakCache.mjs +39 -0
- package/dist/esm/helpers/createChainedWeakCache.mjs.map +6 -0
- package/dist/esm/helpers/getSplitStyles.js +43 -98
- package/dist/esm/helpers/getSplitStyles.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +43 -98
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/memoizeArgumentsWeak.js +33 -0
- package/dist/esm/helpers/memoizeArgumentsWeak.js.map +6 -0
- package/dist/esm/helpers/memoizeArgumentsWeak.mjs +33 -0
- package/dist/esm/helpers/memoizeArgumentsWeak.mjs.map +6 -0
- package/dist/esm/helpers/memoizeFunctionByArgumentsReference.js +1 -1
- package/dist/esm/helpers/memoizeFunctionByArgumentsReference.js.map +1 -1
- package/dist/esm/helpers/memoizeFunctionByArgumentsReference.mjs +1 -1
- package/dist/esm/helpers/memoizeFunctionByArgumentsReference.mjs.map +1 -1
- package/dist/esm/hooks/useTheme.js +8 -2
- package/dist/esm/hooks/useTheme.js.map +1 -1
- package/dist/esm/hooks/useTheme.mjs +8 -2
- package/dist/esm/hooks/useTheme.mjs.map +1 -1
- package/package.json +9 -9
- package/src/constants/accessibilityDirectMap.tsx +51 -0
- package/src/createTamagui.ts +28 -10
- package/src/helpers/ThemeManager.tsx +8 -4
- package/src/helpers/createChainedWeakCache.tsx +39 -0
- package/src/helpers/getSplitStyles.tsx +85 -114
- package/src/hooks/useTheme.tsx +10 -2
- package/src/types.tsx +9 -2
- package/types/constants/accessibilityDirectMap.d.ts +2 -0
- package/types/constants/accessibilityDirectMap.d.ts.map +1 -0
- package/types/createTamagui.d.ts.map +1 -1
- package/types/helpers/ThemeManager.d.ts +2 -2
- package/types/helpers/ThemeManager.d.ts.map +1 -1
- package/types/helpers/accessibilityDirectMap.d.ts +2 -0
- package/types/helpers/accessibilityDirectMap.d.ts.map +1 -0
- package/types/helpers/createChainedWeakCache.d.ts +5 -0
- package/types/helpers/createChainedWeakCache.d.ts.map +1 -0
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/memoizeArgumentsWeak.d.ts +5 -0
- package/types/helpers/memoizeArgumentsWeak.d.ts.map +1 -0
- package/types/helpers/memoizeFunctionByArgumentsReference.d.ts +1 -1
- package/types/helpers/memoizeFunctionByArgumentsReference.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/types.d.ts +8 -2
- package/types/types.d.ts.map +1 -1
- package/src/helpers/memoizeFunctionByArgumentsReference.ts +0 -38
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
function isObject(arg) {
|
|
2
|
+
const t = typeof arg;
|
|
3
|
+
return (t === "object" || t === "function") && arg !== null;
|
|
4
|
+
}
|
|
5
|
+
class FunctionArgumentCache {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.map = /* @__PURE__ */ new Map();
|
|
8
|
+
this.weakmap = /* @__PURE__ */ new WeakMap();
|
|
9
|
+
}
|
|
10
|
+
get(args) {
|
|
11
|
+
let cache = this;
|
|
12
|
+
for (let value of args) {
|
|
13
|
+
const map = cache[isObject(value) ? "weakmap" : "map"];
|
|
14
|
+
cache = map.get(value) || map.set(value, new FunctionArgumentCache()).get(value);
|
|
15
|
+
}
|
|
16
|
+
return cache;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function memoizeArgumentsWeak(fn) {
|
|
20
|
+
const cache = new FunctionArgumentCache();
|
|
21
|
+
return function(...args) {
|
|
22
|
+
const item = cache.get(args);
|
|
23
|
+
if (item.hasOwnProperty("value")) {
|
|
24
|
+
console.warn("cached");
|
|
25
|
+
return item.value;
|
|
26
|
+
}
|
|
27
|
+
return item.value = fn.apply(this, args);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
memoizeArgumentsWeak
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=memoizeArgumentsWeak.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/helpers/memoizeArgumentsWeak.ts"],
|
|
4
|
+
"mappings": "AAIA,SAAS,SAAS,KAAK;AACrB,QAAM,IAAI,OAAO;AACjB,UAAQ,MAAM,YAAY,MAAM,eAAe,QAAQ;AACzD;AAEA,MAAM,sBAAsB;AAAA,EAA5B;AACE,eAAM,oBAAI,IAAI;AACd,mBAAU,oBAAI,QAAQ;AAAA;AAAA,EAEtB,IAAI,MAAkB;AACpB,QAAI,QAAQ;AACZ,aAAS,SAAS,MAAM;AACtB,YAAM,MAAM,MAAM,SAAS,KAAK,IAAI,YAAY,KAAK;AACrD,cAAQ,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,sBAAsB,CAAC,EAAE,IAAI,KAAK;AAAA,IACjF;AACA,WAAO;AAAA,EACT;AACF;AAEO,SAAS,qBAA0C,IAAY;AACpE,QAAM,QAAQ,IAAI,sBAAsB;AAExC,SAAO,YAAwB,MAAa;AAE1C,UAAM,OAAO,MAAM,IAAI,IAAI;AAE3B,QAAI,KAAK,eAAe,OAAO,GAAG;AAChC,cAAQ,KAAK,QAAQ;AACrB,aAAO,KAAK;AAAA,IACd;AAEA,WAAQ,KAAK,QAAQ,GAAG,MAAM,MAAM,IAAI;AAAA,EAC1C;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
function isObject(arg) {
|
|
2
|
+
const t = typeof arg;
|
|
3
|
+
return (t === "object" || t === "function") && arg !== null;
|
|
4
|
+
}
|
|
5
|
+
class FunctionArgumentCache {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.map = /* @__PURE__ */ new Map();
|
|
8
|
+
this.weakmap = /* @__PURE__ */ new WeakMap();
|
|
9
|
+
}
|
|
10
|
+
get(args) {
|
|
11
|
+
let cache = this;
|
|
12
|
+
for (let value of args) {
|
|
13
|
+
const map = cache[isObject(value) ? "weakmap" : "map"];
|
|
14
|
+
cache = map.get(value) || map.set(value, new FunctionArgumentCache()).get(value);
|
|
15
|
+
}
|
|
16
|
+
return cache;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function memoizeArgumentsWeak(fn) {
|
|
20
|
+
const cache = new FunctionArgumentCache();
|
|
21
|
+
return function(...args) {
|
|
22
|
+
const item = cache.get(args);
|
|
23
|
+
if (item.hasOwnProperty("value")) {
|
|
24
|
+
console.warn("cached");
|
|
25
|
+
return item.value;
|
|
26
|
+
}
|
|
27
|
+
return item.value = fn.apply(this, args);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
memoizeArgumentsWeak
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=memoizeArgumentsWeak.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/helpers/memoizeArgumentsWeak.ts"],
|
|
4
|
+
"mappings": "AAIA,SAAS,SAAS,KAAK;AACrB,QAAM,IAAI,OAAO;AACjB,UAAQ,MAAM,YAAY,MAAM,eAAe,QAAQ;AACzD;AAEA,MAAM,sBAAsB;AAAA,EAA5B;AACE,eAAM,oBAAI,IAAI;AACd,mBAAU,oBAAI,QAAQ;AAAA;AAAA,EAEtB,IAAI,MAAkB;AACpB,QAAI,QAAQ;AACZ,aAAS,SAAS,MAAM;AACtB,YAAM,MAAM,MAAM,SAAS,KAAK,IAAI,YAAY,KAAK;AACrD,cAAQ,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,sBAAsB,CAAC,EAAE,IAAI,KAAK;AAAA,IACjF;AACA,WAAO;AAAA,EACT;AACF;AAEO,SAAS,qBAA0C,IAAY;AACpE,QAAM,QAAQ,IAAI,sBAAsB;AAExC,SAAO,YAAwB,MAAa;AAE1C,UAAM,OAAO,MAAM,IAAI,IAAI;AAE3B,QAAI,KAAK,eAAe,OAAO,GAAG;AAChC,cAAQ,KAAK,QAAQ;AACrB,aAAO,KAAK;AAAA,IACd;AAEA,WAAQ,KAAK,QAAQ,GAAG,MAAM,MAAM,IAAI;AAAA,EAC1C;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/memoizeFunctionByArgumentsReference.ts"],
|
|
4
|
-
"mappings": "AAIA,SAAS,SAAS,KAAK;AACrB,QAAM,IAAI,OAAO;AACjB,UAAQ,MAAM,YAAY,MAAM,eAAe,QAAQ;AACzD;AAEA,MAAM,sBAAsB;AAAA,EAA5B;AACE,eAAM,oBAAI,IAAI;AACd,mBAAU,oBAAI,QAAQ;AAAA;AAAA,EAEtB,IAAI,MAAkB;AACpB,QAAI,QAAQ;AACZ,aAAS,SAAS,MAAM;AACtB,YAAM,MAAM,MAAM,SAAS,KAAK,IAAI,YAAY,KAAK;AACrD,cAAQ,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,sBAAsB,CAAC,EAAE,IAAI,KAAK;AAAA,IACjF;AACA,WAAO;AAAA,EACT;AACF;AAEA,SAAS,
|
|
4
|
+
"mappings": "AAIA,SAAS,SAAS,KAAK;AACrB,QAAM,IAAI,OAAO;AACjB,UAAQ,MAAM,YAAY,MAAM,eAAe,QAAQ;AACzD;AAEA,MAAM,sBAAsB;AAAA,EAA5B;AACE,eAAM,oBAAI,IAAI;AACd,mBAAU,oBAAI,QAAQ;AAAA;AAAA,EAEtB,IAAI,MAAkB;AACpB,QAAI,QAAQ;AACZ,aAAS,SAAS,MAAM;AACtB,YAAM,MAAM,MAAM,SAAS,KAAK,IAAI,YAAY,KAAK;AACrD,cAAQ,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,sBAAsB,CAAC,EAAE,IAAI,KAAK;AAAA,IACjF;AACA,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qBAA0C,IAAY;AAC7D,QAAM,QAAQ,IAAI,sBAAsB;AAExC,SAAO,YAAwB,MAAa;AAE1C,UAAM,OAAO,MAAM,IAAI,IAAI;AAE3B,QAAI,KAAK,eAAe,OAAO,GAAG;AAChC,cAAQ,KAAK,QAAQ;AACrB,aAAO,KAAK;AAAA,IACd;AAEA,WAAQ,KAAK,QAAQ,GAAG,MAAM,MAAM,IAAI;AAAA,EAC1C;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/memoizeFunctionByArgumentsReference.ts"],
|
|
4
|
-
"mappings": "AAIA,SAAS,SAAS,KAAK;AACrB,QAAM,IAAI,OAAO;AACjB,UAAQ,MAAM,YAAY,MAAM,eAAe,QAAQ;AACzD;AAEA,MAAM,sBAAsB;AAAA,EAA5B;AACE,eAAM,oBAAI,IAAI;AACd,mBAAU,oBAAI,QAAQ;AAAA;AAAA,EAEtB,IAAI,MAAkB;AACpB,QAAI,QAAQ;AACZ,aAAS,SAAS,MAAM;AACtB,YAAM,MAAM,MAAM,SAAS,KAAK,IAAI,YAAY,KAAK;AACrD,cAAQ,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,sBAAsB,CAAC,EAAE,IAAI,KAAK;AAAA,IACjF;AACA,WAAO;AAAA,EACT;AACF;AAEA,SAAS,
|
|
4
|
+
"mappings": "AAIA,SAAS,SAAS,KAAK;AACrB,QAAM,IAAI,OAAO;AACjB,UAAQ,MAAM,YAAY,MAAM,eAAe,QAAQ;AACzD;AAEA,MAAM,sBAAsB;AAAA,EAA5B;AACE,eAAM,oBAAI,IAAI;AACd,mBAAU,oBAAI,QAAQ;AAAA;AAAA,EAEtB,IAAI,MAAkB;AACpB,QAAI,QAAQ;AACZ,aAAS,SAAS,MAAM;AACtB,YAAM,MAAM,MAAM,SAAS,KAAK,IAAI,YAAY,KAAK;AACrD,cAAQ,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,sBAAsB,CAAC,EAAE,IAAI,KAAK;AAAA,IACjF;AACA,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qBAA0C,IAAY;AAC7D,QAAM,QAAQ,IAAI,sBAAsB;AAExC,SAAO,YAAwB,MAAa;AAE1C,UAAM,OAAO,MAAM,IAAI,IAAI;AAE3B,QAAI,KAAK,eAAe,OAAO,GAAG;AAChC,cAAQ,KAAK,QAAQ;AACrB,aAAO,KAAK;AAAA,IACd;AAEA,WAAQ,KAAK,QAAQ,GAAG,MAAM,MAAM,IAAI;AAAA,EAC1C;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -154,6 +154,11 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
154
154
|
setThemeState(createState);
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
|
+
const selfListenerDispose = themeManager.onChangeTheme((_a, _b, forced) => {
|
|
158
|
+
if (forced) {
|
|
159
|
+
setThemeState((prev) => createState(prev, true));
|
|
160
|
+
}
|
|
161
|
+
});
|
|
157
162
|
const disposeChangeListener = parentManager == null ? void 0 : parentManager.onChangeTheme((name, manager) => {
|
|
158
163
|
const shouldUpdate = Boolean((keys == null ? void 0 : keys.length) || isNewTheme);
|
|
159
164
|
if (process.env.NODE_ENV === "development" && props.debug) {
|
|
@@ -165,6 +170,7 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
165
170
|
}
|
|
166
171
|
}, themeManager.id);
|
|
167
172
|
return () => {
|
|
173
|
+
selfListenerDispose();
|
|
168
174
|
disposeChangeListener == null ? void 0 : disposeChangeListener();
|
|
169
175
|
activeThemeManagers.delete(themeManager);
|
|
170
176
|
};
|
|
@@ -202,7 +208,7 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
202
208
|
isNewTheme,
|
|
203
209
|
themeManager
|
|
204
210
|
};
|
|
205
|
-
function createState(prev) {
|
|
211
|
+
function createState(prev, force = false) {
|
|
206
212
|
if (prev && (disableUpdate == null ? void 0 : disableUpdate())) {
|
|
207
213
|
return prev;
|
|
208
214
|
}
|
|
@@ -238,7 +244,7 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
238
244
|
if (!state2) {
|
|
239
245
|
state2 = isNewTheme2 ? { ...themeManager2.state } : { ...parentManager.state };
|
|
240
246
|
}
|
|
241
|
-
if (state2.name === (prev == null ? void 0 : prev.state.name)) {
|
|
247
|
+
if (!force && state2.name === (prev == null ? void 0 : prev.state.name)) {
|
|
242
248
|
return prev;
|
|
243
249
|
}
|
|
244
250
|
const response = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useTheme.tsx"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["_", "themeManager", "state", "isNewTheme", "mounted"]
|
|
6
6
|
}
|
|
@@ -154,6 +154,11 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
154
154
|
setThemeState(createState);
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
|
+
const selfListenerDispose = themeManager.onChangeTheme((_a, _b, forced) => {
|
|
158
|
+
if (forced) {
|
|
159
|
+
setThemeState((prev) => createState(prev, true));
|
|
160
|
+
}
|
|
161
|
+
});
|
|
157
162
|
const disposeChangeListener = parentManager == null ? void 0 : parentManager.onChangeTheme((name, manager) => {
|
|
158
163
|
const shouldUpdate = Boolean((keys == null ? void 0 : keys.length) || isNewTheme);
|
|
159
164
|
if (process.env.NODE_ENV === "development" && props.debug) {
|
|
@@ -165,6 +170,7 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
165
170
|
}
|
|
166
171
|
}, themeManager.id);
|
|
167
172
|
return () => {
|
|
173
|
+
selfListenerDispose();
|
|
168
174
|
disposeChangeListener == null ? void 0 : disposeChangeListener();
|
|
169
175
|
activeThemeManagers.delete(themeManager);
|
|
170
176
|
};
|
|
@@ -202,7 +208,7 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
202
208
|
isNewTheme,
|
|
203
209
|
themeManager
|
|
204
210
|
};
|
|
205
|
-
function createState(prev) {
|
|
211
|
+
function createState(prev, force = false) {
|
|
206
212
|
if (prev && (disableUpdate == null ? void 0 : disableUpdate())) {
|
|
207
213
|
return prev;
|
|
208
214
|
}
|
|
@@ -238,7 +244,7 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
238
244
|
if (!state2) {
|
|
239
245
|
state2 = isNewTheme2 ? { ...themeManager2.state } : { ...parentManager.state };
|
|
240
246
|
}
|
|
241
|
-
if (state2.name === (prev == null ? void 0 : prev.state.name)) {
|
|
247
|
+
if (!force && state2.name === (prev == null ? void 0 : prev.state.name)) {
|
|
242
248
|
return prev;
|
|
243
249
|
}
|
|
244
250
|
const response = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useTheme.tsx"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["_", "themeManager", "state", "isNewTheme", "mounted"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.23.0",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -27,19 +27,19 @@
|
|
|
27
27
|
"reset.css"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@tamagui/compose-refs": "1.
|
|
31
|
-
"@tamagui/constants": "1.
|
|
32
|
-
"@tamagui/helpers": "1.
|
|
33
|
-
"@tamagui/normalize-css-color": "1.
|
|
34
|
-
"@tamagui/use-did-finish-ssr": "1.
|
|
35
|
-
"@tamagui/use-event": "1.
|
|
36
|
-
"@tamagui/use-force-update": "1.
|
|
30
|
+
"@tamagui/compose-refs": "1.23.0",
|
|
31
|
+
"@tamagui/constants": "1.23.0",
|
|
32
|
+
"@tamagui/helpers": "1.23.0",
|
|
33
|
+
"@tamagui/normalize-css-color": "1.23.0",
|
|
34
|
+
"@tamagui/use-did-finish-ssr": "1.23.0",
|
|
35
|
+
"@tamagui/use-event": "1.23.0",
|
|
36
|
+
"@tamagui/use-force-update": "1.23.0"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "*"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "1.
|
|
42
|
+
"@tamagui/build": "1.23.0",
|
|
43
43
|
"@testing-library/react": "^13.4.0",
|
|
44
44
|
"csstype": "^3.0.10",
|
|
45
45
|
"react": "^18.2.0",
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// web only maps accessibility to aria props
|
|
2
|
+
export const accessibilityDirectMap: Record<string, string> = {}
|
|
3
|
+
|
|
4
|
+
if (process.env.TAMAGUI_TARGET === 'web') {
|
|
5
|
+
// bundle size shave
|
|
6
|
+
const items = {
|
|
7
|
+
Hidden: true,
|
|
8
|
+
ActiveDescendant: true,
|
|
9
|
+
Atomic: true,
|
|
10
|
+
AutoComplete: true,
|
|
11
|
+
Busy: true,
|
|
12
|
+
Checked: true,
|
|
13
|
+
ColumnCount: 'colcount',
|
|
14
|
+
ColumnIndex: 'colindex',
|
|
15
|
+
ColumnSpan: 'colspan',
|
|
16
|
+
Current: true,
|
|
17
|
+
Details: true,
|
|
18
|
+
ErrorMessage: true,
|
|
19
|
+
Expanded: true,
|
|
20
|
+
HasPopup: true,
|
|
21
|
+
Invalid: true,
|
|
22
|
+
Label: true,
|
|
23
|
+
Level: true,
|
|
24
|
+
Modal: true,
|
|
25
|
+
Multiline: true,
|
|
26
|
+
MultiSelectable: true,
|
|
27
|
+
Orientation: true,
|
|
28
|
+
Owns: true,
|
|
29
|
+
Placeholder: true,
|
|
30
|
+
PosInSet: true,
|
|
31
|
+
Pressed: true,
|
|
32
|
+
RoleDescription: true,
|
|
33
|
+
RowCount: true,
|
|
34
|
+
RowIndex: true,
|
|
35
|
+
RowSpan: true,
|
|
36
|
+
Selected: true,
|
|
37
|
+
SetSize: true,
|
|
38
|
+
Sort: true,
|
|
39
|
+
ValueMax: true,
|
|
40
|
+
ValueMin: true,
|
|
41
|
+
ValueNow: true,
|
|
42
|
+
ValueText: true,
|
|
43
|
+
}
|
|
44
|
+
for (const key in items) {
|
|
45
|
+
let val = items[key]
|
|
46
|
+
if (val === true) {
|
|
47
|
+
val = key.toLowerCase()
|
|
48
|
+
}
|
|
49
|
+
accessibilityDirectMap[`accessibility${key}`] = `aria-${val}`
|
|
50
|
+
}
|
|
51
|
+
}
|
package/src/createTamagui.ts
CHANGED
|
@@ -19,6 +19,7 @@ import { parseFont, registerFontVariables } from './insertFont'
|
|
|
19
19
|
import { Tamagui } from './Tamagui'
|
|
20
20
|
import {
|
|
21
21
|
CreateTamaguiProps,
|
|
22
|
+
GetCSS,
|
|
22
23
|
InferTamaguiConfig,
|
|
23
24
|
TamaguiInternalConfig,
|
|
24
25
|
ThemeParsed,
|
|
@@ -202,6 +203,31 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
|
|
|
202
203
|
|
|
203
204
|
const shorthands = configIn.shorthands || {}
|
|
204
205
|
|
|
206
|
+
let lastCSSInsertedRulesIndex = -1
|
|
207
|
+
|
|
208
|
+
const getCSS: GetCSS = ({ separator = '\n', sinceLastCall, excludeThemes } = {}) => {
|
|
209
|
+
if (sinceLastCall && lastCSSInsertedRulesIndex >= 0) {
|
|
210
|
+
// after first run with sinceLastCall
|
|
211
|
+
const rules = getAllRules()
|
|
212
|
+
lastCSSInsertedRulesIndex = rules.length
|
|
213
|
+
return rules.slice(lastCSSInsertedRulesIndex).join(separator)
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// set so next time getNewCSS will trigger only new rules
|
|
217
|
+
lastCSSInsertedRulesIndex = 0
|
|
218
|
+
|
|
219
|
+
// first run
|
|
220
|
+
return `._ovs-contain {overscroll-behavior:contain;}
|
|
221
|
+
.t_unmounted .t_will-mount {opacity:0;visibility:hidden;}
|
|
222
|
+
.is_Text .is_Text {display:inline-flex;}
|
|
223
|
+
._dsp_contents {display:contents;}
|
|
224
|
+
${themeConfig.cssRuleSets.join(separator)}
|
|
225
|
+
${excludeThemes ? '' : themeConfig.getThemeRulesSets().join(separator)}
|
|
226
|
+
${getAllRules().join(separator)}`
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
const getNewCSS: GetCSS = (opts) => getCSS({ ...opts, sinceLastCall: true })
|
|
230
|
+
|
|
205
231
|
const config: TamaguiInternalConfig = {
|
|
206
232
|
onlyAllowShorthands: false,
|
|
207
233
|
fontLanguages: [],
|
|
@@ -220,16 +246,8 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
|
|
|
220
246
|
themeConfig,
|
|
221
247
|
tokensParsed,
|
|
222
248
|
parsed: true,
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
._ovs-contain {overscroll-behavior:contain;}
|
|
226
|
-
.t_unmounted .t_will-mount {opacity:0;visibility:hidden;}
|
|
227
|
-
.is_Text .is_Text {display:inline-flex;}
|
|
228
|
-
._dsp_contents {display:contents;}
|
|
229
|
-
${themeConfig.cssRuleSets.join(separator)}
|
|
230
|
-
${themeConfig.getThemeRulesSets().join(separator)}
|
|
231
|
-
${getAllRules().join(separator)}`
|
|
232
|
-
},
|
|
249
|
+
getNewCSS,
|
|
250
|
+
getCSS,
|
|
233
251
|
// const tokens = [...getToken(tokens.size[0])]
|
|
234
252
|
// .spacer-sm + ._dsp_contents._dsp-sm-hidden { margin-left: -var(--${}) }
|
|
235
253
|
}
|
|
@@ -3,7 +3,11 @@ import { THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR } from '../constants/const
|
|
|
3
3
|
import { getThemeUnwrapped } from '../hooks/getThemeUnwrapped'
|
|
4
4
|
import { ThemeParsed, ThemeProps } from '../types'
|
|
5
5
|
|
|
6
|
-
type ThemeListener = (
|
|
6
|
+
type ThemeListener = (
|
|
7
|
+
name: string | null,
|
|
8
|
+
themeManager: ThemeManager,
|
|
9
|
+
forced: boolean
|
|
10
|
+
) => void
|
|
7
11
|
|
|
8
12
|
export type SetActiveThemeProps = {
|
|
9
13
|
className?: string
|
|
@@ -101,7 +105,7 @@ export class ThemeManager {
|
|
|
101
105
|
}
|
|
102
106
|
|
|
103
107
|
if (shouldNotify) {
|
|
104
|
-
this.notify()
|
|
108
|
+
this.notify(!!props.forceTheme)
|
|
105
109
|
}
|
|
106
110
|
|
|
107
111
|
return this.state
|
|
@@ -167,8 +171,8 @@ export class ThemeManager {
|
|
|
167
171
|
}
|
|
168
172
|
}
|
|
169
173
|
|
|
170
|
-
notify() {
|
|
171
|
-
this.themeListeners.forEach((cb) => cb(this.state.name, this))
|
|
174
|
+
notify(forced = false) {
|
|
175
|
+
this.themeListeners.forEach((cb) => cb(this.state.name, this, forced))
|
|
172
176
|
}
|
|
173
177
|
|
|
174
178
|
onChangeTheme(cb: ThemeListener, debugId?: number) {
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export const createChainedWeakCache = () => {
|
|
2
|
+
const baseMap = new WeakMap()
|
|
3
|
+
|
|
4
|
+
return {
|
|
5
|
+
get: (args: any[]) => {
|
|
6
|
+
let cur = baseMap
|
|
7
|
+
for (let arg of args) {
|
|
8
|
+
if (cur.has(arg)) {
|
|
9
|
+
cur = cur.get(arg)
|
|
10
|
+
} else {
|
|
11
|
+
return
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return cur
|
|
15
|
+
},
|
|
16
|
+
|
|
17
|
+
set(args: any[], result: any) {
|
|
18
|
+
const len = args.length
|
|
19
|
+
let cur = baseMap
|
|
20
|
+
|
|
21
|
+
for (let i = 0; i < len; i++) {
|
|
22
|
+
const arg = args[i]
|
|
23
|
+
const isLast = i === len - 1
|
|
24
|
+
|
|
25
|
+
if (isLast) {
|
|
26
|
+
cur!.set(arg, result)
|
|
27
|
+
} else {
|
|
28
|
+
if (cur.has(arg)) {
|
|
29
|
+
cur = cur.get(arg)
|
|
30
|
+
} else {
|
|
31
|
+
const next = new WeakMap()
|
|
32
|
+
cur.set(arg, next)
|
|
33
|
+
cur = next
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
}
|
|
39
|
+
}
|