@tamagui/web 1.100.6 → 1.101.1
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/createComponent.js +24 -16
- package/dist/cjs/createComponent.js.map +1 -1
- package/dist/cjs/createComponent.native.js +14 -11
- package/dist/cjs/createComponent.native.js.map +2 -2
- package/dist/cjs/createTokens.js.map +1 -1
- package/dist/cjs/createTokens.native.js.map +1 -1
- package/dist/cjs/helpers/createMediaStyle.js +2 -6
- package/dist/cjs/helpers/createMediaStyle.js.map +1 -1
- package/dist/cjs/helpers/createMediaStyle.native.js +51 -7
- package/dist/cjs/helpers/createMediaStyle.native.js.map +2 -2
- package/dist/cjs/helpers/expandStyles.js.map +1 -1
- package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.js +77 -60
- package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.native.js +55 -42
- package/dist/cjs/helpers/getSplitStyles.native.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.js +7 -6
- package/dist/cjs/helpers/getStylesAtomic.js.map +1 -1
- package/dist/cjs/helpers/insertStyleRule.js +17 -14
- package/dist/cjs/helpers/insertStyleRule.js.map +1 -1
- package/dist/cjs/helpers/insertStyleRule.native.js +4 -3
- package/dist/cjs/helpers/insertStyleRule.native.js.map +2 -2
- package/dist/cjs/helpers/propMapper.js +1 -1
- package/dist/cjs/helpers/propMapper.js.map +1 -1
- package/dist/cjs/helpers/propMapper.native.js +1 -1
- package/dist/cjs/helpers/propMapper.native.js.map +2 -2
- package/dist/cjs/hooks/useDidHydrateOnce.js +6 -4
- package/dist/cjs/hooks/useDidHydrateOnce.js.map +1 -1
- package/dist/cjs/hooks/useDidHydrateOnce.native.js +11 -1
- package/dist/cjs/hooks/useDidHydrateOnce.native.js.map +2 -2
- package/dist/cjs/hooks/useMedia.js +18 -14
- package/dist/cjs/hooks/useMedia.js.map +1 -1
- package/dist/cjs/hooks/useMedia.native.js +20 -13
- package/dist/cjs/hooks/useMedia.native.js.map +2 -2
- package/dist/cjs/views/TamaguiProvider.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/esm/createComponent.js +30 -17
- package/dist/esm/createComponent.js.map +1 -1
- package/dist/esm/createComponent.mjs +19 -17
- package/dist/esm/createComponent.native.js +15 -12
- package/dist/esm/createComponent.native.js.map +2 -2
- package/dist/esm/createTokens.js.map +1 -1
- package/dist/esm/createTokens.native.js.map +1 -1
- package/dist/esm/helpers/createMediaStyle.js +2 -6
- package/dist/esm/helpers/createMediaStyle.js.map +1 -1
- package/dist/esm/helpers/createMediaStyle.mjs +2 -10
- package/dist/esm/helpers/createMediaStyle.native.js +49 -6
- package/dist/esm/helpers/createMediaStyle.native.js.map +2 -2
- package/dist/esm/helpers/expandStyles.js.map +1 -1
- package/dist/esm/helpers/expandStyles.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.js +81 -60
- package/dist/esm/helpers/getSplitStyles.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +83 -64
- package/dist/esm/helpers/getSplitStyles.native.js +56 -43
- package/dist/esm/helpers/getSplitStyles.native.js.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.js +7 -6
- package/dist/esm/helpers/getStylesAtomic.js.map +1 -1
- package/dist/esm/helpers/getStylesAtomic.mjs +3 -7
- package/dist/esm/helpers/insertStyleRule.js +17 -13
- package/dist/esm/helpers/insertStyleRule.js.map +1 -1
- package/dist/esm/helpers/insertStyleRule.mjs +6 -5
- package/dist/esm/helpers/insertStyleRule.native.js +4 -2
- package/dist/esm/helpers/insertStyleRule.native.js.map +2 -2
- package/dist/esm/helpers/propMapper.js +1 -1
- package/dist/esm/helpers/propMapper.js.map +1 -1
- package/dist/esm/helpers/propMapper.mjs +1 -2
- package/dist/esm/helpers/propMapper.native.js +1 -1
- package/dist/esm/helpers/propMapper.native.js.map +2 -2
- package/dist/esm/hooks/useDidHydrateOnce.js +7 -5
- package/dist/esm/hooks/useDidHydrateOnce.js.map +1 -1
- package/dist/esm/hooks/useDidHydrateOnce.mjs +9 -5
- package/dist/esm/hooks/useDidHydrateOnce.native.js +12 -2
- package/dist/esm/hooks/useDidHydrateOnce.native.js.map +2 -2
- package/dist/esm/hooks/useMedia.js +18 -14
- package/dist/esm/hooks/useMedia.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +22 -14
- package/dist/esm/hooks/useMedia.native.js +20 -13
- package/dist/esm/hooks/useMedia.native.js.map +2 -2
- package/dist/esm/views/TamaguiProvider.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
- package/package.json +12 -12
- package/src/createComponent.tsx +39 -22
- package/src/createTokens.ts +1 -21
- package/src/helpers/createMediaStyle.ts +2 -6
- package/src/helpers/expandStyles.ts +2 -1
- package/src/helpers/getSplitStyles.tsx +116 -88
- package/src/helpers/getStylesAtomic.ts +7 -5
- package/src/helpers/insertStyleRule.tsx +6 -3
- package/src/helpers/propMapper.ts +1 -2
- package/src/hooks/useDidHydrateOnce.tsx +22 -17
- package/src/hooks/useMedia.tsx +31 -24
- package/src/types.tsx +12 -2
- package/src/views/TamaguiProvider.tsx +0 -1
- package/types/_withStableStyle.d.ts +0 -1
- package/types/_withStableStyle.d.ts.map +1 -1
- package/types/config.d.ts +1 -1
- package/types/constants/accessibilityDirectMap.d.ts.map +1 -1
- package/types/constants/webToNativeProps.native.d.ts.map +1 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/createFont.d.ts.map +1 -1
- package/types/createTheme.d.ts.map +1 -1
- package/types/createTokens.d.ts +1 -1
- package/types/createTokens.d.ts.map +1 -1
- package/types/createVariable.d.ts +1 -1
- package/types/createVariable.d.ts.map +1 -1
- package/types/createVariables.d.ts +1 -1
- package/types/createVariables.d.ts.map +1 -1
- package/types/helpers/ThemeManagerContext.d.ts +0 -1
- package/types/helpers/ThemeManagerContext.d.ts.map +1 -1
- package/types/helpers/createMediaStyle.d.ts.map +1 -1
- package/types/helpers/createShallowSetState.d.ts.map +1 -1
- package/types/helpers/expandStyles.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getStylesAtomic.d.ts.map +1 -1
- package/types/helpers/insertStyleRule.d.ts.map +1 -1
- package/types/helpers/isTamaguiElement.d.ts +1 -2
- package/types/helpers/isTamaguiElement.d.ts.map +1 -1
- package/types/helpers/propMapper.d.ts.map +1 -1
- package/types/helpers/setElementProps.d.ts.map +1 -1
- package/types/helpers/themeable.d.ts.map +1 -1
- package/types/hooks/useConfiguration.d.ts +50 -52
- package/types/hooks/useConfiguration.d.ts.map +1 -1
- package/types/hooks/useDidHydrateOnce.d.ts +1 -1
- package/types/hooks/useDidHydrateOnce.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts +3 -4
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/styled.d.ts.map +1 -1
- package/types/types.d.ts +3 -2
- package/types/types.d.ts.map +1 -1
- package/types/views/Configuration.d.ts +0 -1
- package/types/views/Configuration.d.ts.map +1 -1
- package/types/views/TamaguiProvider.d.ts.map +1 -1
- package/dist/esm/constants/accessibilityDirectMap.native.mjs +0 -6
- package/dist/esm/constants/webToNativeProps.native.mjs +0 -77
- package/dist/esm/helpers/getStylesAtomic.native.mjs +0 -7
- package/dist/esm/helpers/getThemeCSSRules.native.mjs +0 -4
- package/dist/esm/helpers/matchMedia.native.mjs +0 -14
- package/dist/esm/helpers/normalizeStylePropKeys.native.mjs +0 -13
- package/dist/esm/helpers/setElementProps.native.mjs +0 -6
- package/dist/esm/helpers/webPropsToSkip.native.mjs +0 -55
- package/dist/esm/views/FontLanguage.native.mjs +0 -15
- package/dist/esm/views/ThemeDebug.native.mjs +0 -9
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
import { useEffect } from "react";
|
|
1
|
+
import { useEffect, useSyncExternalStore } from "react";
|
|
2
2
|
let didHydrateOnce = !1;
|
|
3
3
|
function useDidHydrateOnceRoot() {
|
|
4
|
-
process.env.TAMAGUI_DISABLE_HYDRATION_OPTIMIZATION || useEffect(() => {
|
|
4
|
+
return process.env.TAMAGUI_REACT_19 && (process.env.TAMAGUI_DISABLE_HYDRATION_OPTIMIZATION || useEffect(() => {
|
|
5
5
|
const tm = setInterval(() => {
|
|
6
|
-
Date.now() - last >
|
|
6
|
+
Date.now() - last > 50 && (didHydrateOnce = !0, clearInterval(tm));
|
|
7
7
|
}, 16);
|
|
8
8
|
return () => {
|
|
9
9
|
clearInterval(tm);
|
|
10
10
|
};
|
|
11
|
-
}, []);
|
|
11
|
+
}, [])), !0;
|
|
12
12
|
}
|
|
13
13
|
let last = Date.now();
|
|
14
14
|
function useDidHydrateOnce() {
|
|
15
|
-
return process.env.
|
|
15
|
+
return process.env.TAMAGUI_REACT_19 ? (didHydrateOnce || (last = Date.now()), didHydrateOnce) : useDidHydrateSync();
|
|
16
16
|
}
|
|
17
|
+
const emptySubscribe = () => () => {},
|
|
18
|
+
getClientSnapshot = () => !0,
|
|
19
|
+
getServerSnapshot = () => !1,
|
|
20
|
+
useDidHydrateSync = () => useSyncExternalStore(emptySubscribe, getClientSnapshot, getServerSnapshot);
|
|
17
21
|
export { useDidHydrateOnce, useDidHydrateOnceRoot };
|
|
@@ -1,12 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useSyncExternalStore } from "react";
|
|
2
2
|
var didHydrateOnce = !1;
|
|
3
3
|
function useDidHydrateOnceRoot() {
|
|
4
|
-
return !0;
|
|
4
|
+
return process.env.TAMAGUI_REACT_19, !0;
|
|
5
5
|
}
|
|
6
6
|
var last = Date.now();
|
|
7
7
|
function useDidHydrateOnce() {
|
|
8
8
|
return !0;
|
|
9
9
|
}
|
|
10
|
+
var emptySubscribe = function() {
|
|
11
|
+
return function() {
|
|
12
|
+
};
|
|
13
|
+
}, getClientSnapshot = function() {
|
|
14
|
+
return !0;
|
|
15
|
+
}, getServerSnapshot = function() {
|
|
16
|
+
return !1;
|
|
17
|
+
}, useDidHydrateSync = function() {
|
|
18
|
+
return useSyncExternalStore(emptySubscribe, getClientSnapshot, getServerSnapshot);
|
|
19
|
+
};
|
|
10
20
|
export {
|
|
11
21
|
useDidHydrateOnce,
|
|
12
22
|
useDidHydrateOnceRoot
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/Users/n8/tamagui/packages/web/src/hooks/useDidHydrateOnce.tsx"],
|
|
4
|
-
"mappings": "AAAA,
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "AAAA,SAAoBA,4BAA4B;AAEhD,IAAIC,iBAAiB;AAEd,SAASC,wBAAAA;AACVC,iBAAQC,IAAIC,kBAeT;AACT;AAEA,IAAIC,OAAOC,KAAKC,IAAG;AAEZ,SAASC,oBAAAA;AAEZ,SAAO;AASX;AAEA,IAAMC,iBAAiB,WAAA;SAAM,WAAA;EAAO;GAC9BC,oBAAoB,WAAA;SAAM;GAC1BC,oBAAoB,WAAA;SAAM;GAC1BC,oBAAoB,WAAA;SACxBb,qBAAqBU,gBAAgBC,mBAAmBC,iBAAAA;;",
|
|
5
|
+
"names": ["useSyncExternalStore", "didHydrateOnce", "useDidHydrateOnceRoot", "process", "env", "TAMAGUI_REACT_19", "last", "Date", "now", "useDidHydrateOnce", "emptySubscribe", "getClientSnapshot", "getServerSnapshot", "useDidHydrateSync"]
|
|
6
6
|
}
|
|
@@ -3,8 +3,8 @@ import { useRef, useState } from "react";
|
|
|
3
3
|
import { getConfig } from "../config";
|
|
4
4
|
import { matchMedia } from "../helpers/matchMedia";
|
|
5
5
|
import { pseudoDescriptors } from "../helpers/pseudoDescriptors";
|
|
6
|
-
import { getDisableSSR } from "./useDisableSSR";
|
|
7
6
|
import { useDidHydrateOnce } from "./useDidHydrateOnce";
|
|
7
|
+
import { getDisableSSR } from "./useDisableSSR";
|
|
8
8
|
let mediaState = (
|
|
9
9
|
// development only safeguard
|
|
10
10
|
process.env.NODE_ENV === "development" ? new Proxy(
|
|
@@ -19,12 +19,11 @@ let mediaState = (
|
|
|
19
19
|
}
|
|
20
20
|
) : {}
|
|
21
21
|
);
|
|
22
|
-
const mediaQueryConfig = {}, getMedia = () => mediaState, mediaKeys = /* @__PURE__ */ new Set(), isMediaKey = (key) => {
|
|
22
|
+
const mediaQueryConfig = {}, getMedia = () => mediaState, mediaKeys = /* @__PURE__ */ new Set(), mediaKeyRegex = /\$(platform|theme|group)-/, isMediaKey = (key) => {
|
|
23
23
|
if (mediaKeys.has(key)) return !0;
|
|
24
24
|
if (key[0] === "$") {
|
|
25
|
-
|
|
26
|
-
if (
|
|
27
|
-
if (key.startsWith("$group-")) return "group";
|
|
25
|
+
const match = key.match(mediaKeyRegex);
|
|
26
|
+
if (match) return match[1];
|
|
28
27
|
}
|
|
29
28
|
return !1;
|
|
30
29
|
};
|
|
@@ -81,21 +80,26 @@ function setMediaShouldUpdate(ref, props) {
|
|
|
81
80
|
...props
|
|
82
81
|
});
|
|
83
82
|
}
|
|
84
|
-
function getSnapshot({ touched, prev, enabled
|
|
85
|
-
|
|
86
|
-
return prev;
|
|
87
|
-
const testKeys = keys || touched ? [...keys || [], ...touched || []] : null;
|
|
88
|
-
return !testKeys || testKeys?.every((key) => mediaState[key] === prev[key]) ? prev : mediaState;
|
|
83
|
+
function getSnapshot({ touched, prev, enabled }) {
|
|
84
|
+
return enabled === !1 || !touched || touched.every((key) => mediaState[key] === prev[key]) ? prev : mediaState;
|
|
89
85
|
}
|
|
90
|
-
function useMedia(uidIn, componentContext) {
|
|
86
|
+
function useMedia(uidIn, componentContext, debug = !1) {
|
|
91
87
|
const uid = uidIn ?? useRef(), hasHydrated = useDidHydrateOnce(), initialState = !isWeb || getDisableSSR(componentContext) || hasHydrated ? mediaState : initState;
|
|
92
88
|
let componentState = States.get(uid);
|
|
93
|
-
componentState || (componentState = { prev: initialState }, States.set(uid, componentState))
|
|
89
|
+
componentState || (componentState = { prev: initialState }, States.set(uid, componentState));
|
|
94
90
|
const [state, setState] = useState(initialState);
|
|
95
91
|
return useIsomorphicLayoutEffect(() => {
|
|
96
92
|
function update() {
|
|
97
93
|
setState((prev) => {
|
|
98
|
-
const componentState2 = States.get(uid)
|
|
94
|
+
const componentState2 = States.get(uid);
|
|
95
|
+
process.env.NODE_ENV === "development" && debug && console.info("useMedia() update?", getSnapshot(componentState2) !== prev, {
|
|
96
|
+
componentState: componentState2,
|
|
97
|
+
touched: [...componentState2.touched || []],
|
|
98
|
+
prev: { ...componentState2.prev },
|
|
99
|
+
next: getSnapshot(componentState2),
|
|
100
|
+
mediaState: { ...mediaState }
|
|
101
|
+
});
|
|
102
|
+
const next = getSnapshot(componentState2);
|
|
99
103
|
return next !== prev ? (componentState2.prev = next, next) : prev;
|
|
100
104
|
});
|
|
101
105
|
}
|
|
@@ -104,7 +108,7 @@ function useMedia(uidIn, componentContext) {
|
|
|
104
108
|
};
|
|
105
109
|
}, [uid]), new Proxy(state, {
|
|
106
110
|
get(_, key) {
|
|
107
|
-
return typeof key == "string" && (componentState.touched ||=
|
|
111
|
+
return typeof key == "string" && (componentState.touched ||= [], componentState.touched.includes(key) || componentState.touched.push(key), process.env.NODE_ENV === "development" && debug && console.info("useMedia() TOUCH", key)), Reflect.get(state, key);
|
|
108
112
|
}
|
|
109
113
|
});
|
|
110
114
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useMedia.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,UAAU,OAAO,iCAAiC;AAC3D,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["componentState"]
|
|
6
6
|
}
|
|
@@ -3,8 +3,8 @@ import { useRef, useState } from "react";
|
|
|
3
3
|
import { getConfig } from "../config.mjs";
|
|
4
4
|
import { matchMedia } from "../helpers/matchMedia.mjs";
|
|
5
5
|
import { pseudoDescriptors } from "../helpers/pseudoDescriptors.mjs";
|
|
6
|
-
import { getDisableSSR } from "./useDisableSSR.mjs";
|
|
7
6
|
import { useDidHydrateOnce } from "./useDidHydrateOnce.mjs";
|
|
7
|
+
import { getDisableSSR } from "./useDisableSSR.mjs";
|
|
8
8
|
let mediaState =
|
|
9
9
|
// development only safeguard
|
|
10
10
|
process.env.NODE_ENV === "development" ? new Proxy({}, {
|
|
@@ -18,12 +18,12 @@ process.env.NODE_ENV === "development" ? new Proxy({}, {
|
|
|
18
18
|
const mediaQueryConfig = {},
|
|
19
19
|
getMedia = () => mediaState,
|
|
20
20
|
mediaKeys = /* @__PURE__ */new Set(),
|
|
21
|
+
mediaKeyRegex = /\$(platform|theme|group)-/,
|
|
21
22
|
isMediaKey = key => {
|
|
22
23
|
if (mediaKeys.has(key)) return !0;
|
|
23
24
|
if (key[0] === "$") {
|
|
24
|
-
|
|
25
|
-
if (
|
|
26
|
-
if (key.startsWith("$group-")) return "group";
|
|
25
|
+
const match = key.match(mediaKeyRegex);
|
|
26
|
+
if (match) return match[1];
|
|
27
27
|
}
|
|
28
28
|
return !1;
|
|
29
29
|
};
|
|
@@ -92,27 +92,35 @@ function setMediaShouldUpdate(ref, props) {
|
|
|
92
92
|
function getSnapshot({
|
|
93
93
|
touched,
|
|
94
94
|
prev,
|
|
95
|
-
enabled
|
|
96
|
-
keys
|
|
95
|
+
enabled
|
|
97
96
|
}) {
|
|
98
|
-
|
|
99
|
-
const testKeys = keys || touched ? [...(keys || []), ...(touched || [])] : null;
|
|
100
|
-
return !testKeys || testKeys?.every(key => mediaState[key] === prev[key]) ? prev : mediaState;
|
|
97
|
+
return enabled === !1 || !touched || touched.every(key => mediaState[key] === prev[key]) ? prev : mediaState;
|
|
101
98
|
}
|
|
102
|
-
function useMedia(uidIn, componentContext) {
|
|
99
|
+
function useMedia(uidIn, componentContext, debug = !1) {
|
|
103
100
|
const uid = uidIn ?? useRef(),
|
|
104
101
|
hasHydrated = useDidHydrateOnce(),
|
|
105
102
|
initialState = !isWeb || getDisableSSR(componentContext) || hasHydrated ? mediaState : initState;
|
|
106
103
|
let componentState = States.get(uid);
|
|
107
104
|
componentState || (componentState = {
|
|
108
105
|
prev: initialState
|
|
109
|
-
}, States.set(uid, componentState))
|
|
106
|
+
}, States.set(uid, componentState));
|
|
110
107
|
const [state, setState] = useState(initialState);
|
|
111
108
|
return useIsomorphicLayoutEffect(() => {
|
|
112
109
|
function update() {
|
|
113
110
|
setState(prev => {
|
|
114
|
-
const componentState2 = States.get(uid)
|
|
115
|
-
|
|
111
|
+
const componentState2 = States.get(uid);
|
|
112
|
+
process.env.NODE_ENV === "development" && debug && console.info("useMedia() update?", getSnapshot(componentState2) !== prev, {
|
|
113
|
+
componentState: componentState2,
|
|
114
|
+
touched: [...(componentState2.touched || [])],
|
|
115
|
+
prev: {
|
|
116
|
+
...componentState2.prev
|
|
117
|
+
},
|
|
118
|
+
next: getSnapshot(componentState2),
|
|
119
|
+
mediaState: {
|
|
120
|
+
...mediaState
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
const next = getSnapshot(componentState2);
|
|
116
124
|
return next !== prev ? (componentState2.prev = next, next) : prev;
|
|
117
125
|
});
|
|
118
126
|
}
|
|
@@ -121,7 +129,7 @@ function useMedia(uidIn, componentContext) {
|
|
|
121
129
|
};
|
|
122
130
|
}, [uid]), new Proxy(state, {
|
|
123
131
|
get(_, key) {
|
|
124
|
-
return typeof key == "string" && (componentState.touched ||=
|
|
132
|
+
return typeof key == "string" && (componentState.touched ||= [], componentState.touched.includes(key) || componentState.touched.push(key), process.env.NODE_ENV === "development" && debug && console.info("useMedia() TOUCH", key)), Reflect.get(state, key);
|
|
125
133
|
}
|
|
126
134
|
});
|
|
127
135
|
}
|
|
@@ -3,8 +3,8 @@ import { useRef, useState } from "react";
|
|
|
3
3
|
import { getConfig } from "../config";
|
|
4
4
|
import { matchMedia } from "../helpers/matchMedia";
|
|
5
5
|
import { pseudoDescriptors } from "../helpers/pseudoDescriptors";
|
|
6
|
-
import { getDisableSSR } from "./useDisableSSR";
|
|
7
6
|
import { useDidHydrateOnce } from "./useDidHydrateOnce";
|
|
7
|
+
import { getDisableSSR } from "./useDisableSSR";
|
|
8
8
|
function _array_like_to_array(arr, len) {
|
|
9
9
|
(len == null || len > arr.length) && (len = arr.length);
|
|
10
10
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
@@ -104,12 +104,11 @@ var mediaState = (
|
|
|
104
104
|
}) : {}
|
|
105
105
|
), mediaQueryConfig = {}, getMedia = function() {
|
|
106
106
|
return mediaState;
|
|
107
|
-
}, mediaKeys = /* @__PURE__ */ new Set(), isMediaKey = function(key) {
|
|
107
|
+
}, mediaKeys = /* @__PURE__ */ new Set(), mediaKeyRegex = /\$(platform|theme|group)-/, isMediaKey = function(key) {
|
|
108
108
|
if (mediaKeys.has(key)) return !0;
|
|
109
109
|
if (key[0] === "$") {
|
|
110
|
-
|
|
111
|
-
if (
|
|
112
|
-
if (key.startsWith("$group-")) return "group";
|
|
110
|
+
var match = key.match(mediaKeyRegex);
|
|
111
|
+
if (match) return match[1];
|
|
113
112
|
}
|
|
114
113
|
return !1;
|
|
115
114
|
}, initState, defaultMediaImportance = Object.keys(pseudoDescriptors).length, mediaKeysOrdered, getMediaKeyImportance = function(key) {
|
|
@@ -164,24 +163,32 @@ function setMediaShouldUpdate(ref, props) {
|
|
|
164
163
|
return States.set(ref, _object_spread({}, States.get(ref), props));
|
|
165
164
|
}
|
|
166
165
|
function getSnapshot(param) {
|
|
167
|
-
var touched = param.touched, prev = param.prev, enabled = param.enabled
|
|
168
|
-
if (
|
|
166
|
+
var touched = param.touched, prev = param.prev, enabled = param.enabled;
|
|
167
|
+
if (enabled === !1)
|
|
169
168
|
return prev;
|
|
170
|
-
var
|
|
169
|
+
var hasntUpdated = !touched || touched.every(function(key) {
|
|
171
170
|
return mediaState[key] === prev[key];
|
|
172
|
-
})
|
|
171
|
+
});
|
|
173
172
|
return hasntUpdated ? prev : mediaState;
|
|
174
173
|
}
|
|
175
174
|
function useMedia(uidIn, componentContext) {
|
|
176
|
-
var uid = uidIn ?? useRef(), hasHydrated = useDidHydrateOnce(), isHydrated = !isWeb || getDisableSSR(componentContext) || hasHydrated, initialState = isHydrated ? mediaState : initState, componentState = States.get(uid);
|
|
175
|
+
var debug = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, uid = uidIn ?? useRef(), hasHydrated = useDidHydrateOnce(), isHydrated = !isWeb || getDisableSSR(componentContext) || hasHydrated, initialState = isHydrated ? mediaState : initState, componentState = States.get(uid);
|
|
177
176
|
componentState || (componentState = {
|
|
178
177
|
prev: initialState
|
|
179
|
-
}, States.set(uid, componentState))
|
|
178
|
+
}, States.set(uid, componentState));
|
|
180
179
|
var _useState = _sliced_to_array(useState(initialState), 2), state = _useState[0], setState = _useState[1];
|
|
181
180
|
return useIsomorphicLayoutEffect(function() {
|
|
182
181
|
var update = function() {
|
|
183
182
|
setState(function(prev) {
|
|
184
|
-
var componentState2 = States.get(uid)
|
|
183
|
+
var componentState2 = States.get(uid);
|
|
184
|
+
process.env.NODE_ENV === "development" && debug && console.info("useMedia() update?", getSnapshot(componentState2) !== prev, {
|
|
185
|
+
componentState: componentState2,
|
|
186
|
+
touched: _to_consumable_array(componentState2.touched || []),
|
|
187
|
+
prev: _object_spread({}, componentState2.prev),
|
|
188
|
+
next: getSnapshot(componentState2),
|
|
189
|
+
mediaState: _object_spread({}, mediaState)
|
|
190
|
+
});
|
|
191
|
+
var next = getSnapshot(componentState2);
|
|
185
192
|
return next !== prev ? (componentState2.prev = next, next) : prev;
|
|
186
193
|
});
|
|
187
194
|
};
|
|
@@ -194,7 +201,7 @@ function useMedia(uidIn, componentContext) {
|
|
|
194
201
|
get: function(_, key) {
|
|
195
202
|
if (typeof key == "string") {
|
|
196
203
|
var _componentState;
|
|
197
|
-
(_componentState = componentState).touched || (_componentState.touched =
|
|
204
|
+
(_componentState = componentState).touched || (_componentState.touched = []), componentState.touched.includes(key) || componentState.touched.push(key), process.env.NODE_ENV === "development" && debug && console.info("useMedia() TOUCH", key);
|
|
198
205
|
}
|
|
199
206
|
return Reflect.get(state, key);
|
|
200
207
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/Users/n8/tamagui/packages/web/src/hooks/useMedia.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAASA,UAAUC,OAAOC,iCAAiC;AAC3D,
|
|
5
|
-
"names": ["isServer", "isWeb", "useIsomorphicLayoutEffect", "useRef", "useState", "getConfig", "matchMedia", "pseudoDescriptors", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["isServer", "isWeb", "useIsomorphicLayoutEffect", "useRef", "useState", "getConfig", "matchMedia", "pseudoDescriptors", "useDidHydrateOnce", "getDisableSSR", "mediaState", "process", "env", "NODE_ENV", "Proxy", "get", "target", "key", "Error", "Reflect", "mediaQueryConfig", "getMedia", "mediaKeys", "Set", "mediaKeyRegex", "isMediaKey", "has", "match", "initState", "defaultMediaImportance", "Object", "keys", "length", "mediaKeysOrdered", "getMediaKeyImportance", "conf", "settings", "mediaPropOrder", "indexOf", "dispose", "mediaVersion", "configureMedia", "config", "media", "mediaQueryDefaultActive", "add", "assign", "disableSSR", "setupMediaListeners", "updateCurrentState", "unlisten", "forEach", "cb", "clear", "setupVersion", "update", "next", "getMatch", "matches", "str", "mediaObjectToString", "addListener", "removeListener", "listeners", "flushing", "flushVersion", "Promise", "resolve", "then", "States", "WeakMap", "setMediaShouldUpdate", "ref", "props", "set", "getSnapshot", "touched", "prev", "enabled", "hasntUpdated", "every", "useMedia", "uidIn", "componentContext", "debug", "uid", "hasHydrated", "isHydrated", "initialState", "componentState", "state", "setState", "console", "info", "delete", "_", "includes", "push", "getMediaImportanceIfMoreImportant", "mediaKey", "importancesUsed", "isSizeMedia", "importance", "camelToHyphen", "replace", "m", "toLowerCase", "cache", "cachedMediaKeyToQuery", "query", "res", "entries", "map", "feature", "value", "test", "join", "mediaKeyToQuery", "mediaKeyMatch", "dimensions", "mediaQueries", "result", "expectedVal", "isMax", "startsWith", "isWidth", "endsWith", "givenVal"]
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/TamaguiProvider.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,gBAAgB;AACzB,YAAY,WAAW;AAEvB,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAEpC,SAAS,qBAAqB;AAC9B,SAAS,6BAA6B;
|
|
4
|
+
"mappings": "AAAA,SAAS,gBAAgB;AACzB,YAAY,WAAW;AAEvB,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAEpC,SAAS,qBAAqB;AAC9B,SAAS,6BAA6B;AAqChC;AAnCC,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyB;AACvB,6BAAoB,GAEhB,aAEF,sBAAsB,GAEtB,MAAM,mBAAmB,MAAM;AAC7B,QAAK,WACA,OAAO,cAGN,SAAS,gBAAgB,UAAU,SAAS,aAAa,KAC3D,SAAS,gBAAgB,UAAU,OAAO,aAAa,GAIvD,CAAC,mBAAkB;AACrB,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,mBAAM,YAAY,SAAS,eAAe,OAAO,OAAO,CAAC,CAAC,GAC1D,SAAS,KAAK,YAAY,KAAK,GACxB,MAAM;AACX,iBAAS,KAAK,YAAY,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,gBAAgB,CAAC,IAI7B,oBAAC,iBAAiB,UAAjB,EAA0B,iBAAiB,QAAQ,YAClD;AAAA,IAAC;AAAA;AAAA,MACC,sBAAsB,QAAQ;AAAA,MAC9B,uBAAuB,QAAQ;AAAA,MAC9B,GAAG;AAAA,MACJ,cACE,mBAAmB,iBAAiB,SAAS,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,IAAI;AAAA,MAG9E;AAAA;AAAA,EACH,GACF;AAEJ;AAEA,gBAAgB,cAAiB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/Users/n8/tamagui/packages/web/src/views/TamaguiProvider.tsx"],
|
|
4
|
-
"mappings": ";AAAA,SAASA,gBAAgB;AACzB,YAAYC,WAAW;AAEvB,SAASC,wBAAwB;AACjC,SAASC,2BAA2B;AAEpC,SAASC,qBAAqB;AAC9B,SAASC,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE/B,SAASC,gBAAgB,QAAA;MAC9BC,WAD8B,OAC9BA,UACAC,mBAF8B,OAE9BA,kBACAC,SAH8B,OAG9BA,QACGC,qBAAAA,2BAJ2B,QAAA;IAC9BH;IACAC;IACAC;;AAGAN,sBAAAA,GAEIH,
|
|
4
|
+
"mappings": ";AAAA,SAASA,gBAAgB;AACzB,YAAYC,WAAW;AAEvB,SAASC,wBAAwB;AACjC,SAASC,2BAA2B;AAEpC,SAASC,qBAAqB;AAC9B,SAASC,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE/B,SAASC,gBAAgB,QAAA;MAC9BC,WAD8B,OAC9BA,UACAC,mBAF8B,OAE9BA,kBACAC,SAH8B,OAG9BA,QACGC,qBAAAA,2BAJ2B,QAAA;IAC9BH;IACAC;IACAC;;AAGAN,sBAAAA,GAEIH,aAEFK,sBAAAA,GAEAJ,MAAMU,mBAAmB,WAAA;AACvB,QAAKF,WACAA,OAAOG,cAGNC,SAASC,gBAAgBC,UAAUC,SAAS,aAAA,KAC9CH,SAASC,gBAAgBC,UAAUE,OAAO,aAAA,GAI1C,CAACT,mBAAkB;AACrB,UAAMU,QAAQL,SAASM,cAAc,OAAA;AACrCD,mBAAME,YAAYP,SAASQ,eAAeZ,OAAOa,OAAM,CAAA,CAAA,GACvDT,SAASU,KAAKH,YAAYF,KAAAA,GACnB,WAAA;AACLL,iBAASU,KAAKC,YAAYN,KAAAA;MAC5B;IACF;EACF,GAAG;IAACT;IAAQD;GAAiB;MAUvBE;AAPR,SACE,qBAACR,iBAAiBuB,UAAQ;IAACC,iBAAiBjB,UAAAA,OAAAA,SAAAA,OAAQkB;cAClD,qBAACvB,eAAAA,qBAAAA,eAAAA;MACCwB,sBAAsBnB,UAAAA,OAAAA,SAAAA,OAAQmB;MAC9BC,uBAAuBpB,UAAAA,OAAAA,SAAAA,OAAQoB;OAC3BnB,kBAAAA,GAAAA;MACJoB,eACEpB,mCAAAA,mBAAmBoB,kBAAY,QAA/BpB,qCAAAA,SAAAA,mCAAoCD,SAASsB,OAAOC,KAAKvB,OAAOwB,MAAM,EAAE,CAAA,IAAK;;;;AAOvF;AAEA3B,gBAAgB,cAAiB;",
|
|
5
5
|
"names": ["isClient", "React", "ComponentContext", "setupMediaListeners", "ThemeProvider", "useDidHydrateOnceRoot", "TamaguiProvider", "children", "disableInjectCSS", "config", "themePropsProvider", "useInsertionEffect", "disableSSR", "document", "documentElement", "classList", "contains", "remove", "style", "createElement", "appendChild", "createTextNode", "getCSS", "head", "removeChild", "Provider", "animationDriver", "animations", "themeClassNameOnRoot", "disableRootThemeClass", "defaultTheme", "Object", "keys", "themes"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.101.1",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -27,23 +27,23 @@
|
|
|
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/timer": "1.
|
|
35
|
-
"@tamagui/types": "1.
|
|
36
|
-
"@tamagui/use-did-finish-ssr": "1.
|
|
37
|
-
"@tamagui/use-event": "1.
|
|
38
|
-
"@tamagui/use-force-update": "1.
|
|
30
|
+
"@tamagui/compose-refs": "1.101.1",
|
|
31
|
+
"@tamagui/constants": "1.101.1",
|
|
32
|
+
"@tamagui/helpers": "1.101.1",
|
|
33
|
+
"@tamagui/normalize-css-color": "1.101.1",
|
|
34
|
+
"@tamagui/timer": "1.101.1",
|
|
35
|
+
"@tamagui/types": "1.101.1",
|
|
36
|
+
"@tamagui/use-did-finish-ssr": "1.101.1",
|
|
37
|
+
"@tamagui/use-event": "1.101.1",
|
|
38
|
+
"@tamagui/use-force-update": "1.101.1"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@tamagui/build": "1.
|
|
41
|
+
"@tamagui/build": "1.101.1",
|
|
42
42
|
"@testing-library/react": "^14.0.0",
|
|
43
43
|
"csstype": "^3.0.10",
|
|
44
44
|
"react": "^18.2.0",
|
|
45
45
|
"react-dom": "^18.2.0",
|
|
46
|
-
"typescript": "^5.
|
|
46
|
+
"typescript": "^5.5.2",
|
|
47
47
|
"vitest": "^0.34.3"
|
|
48
48
|
},
|
|
49
49
|
"exports": {
|
package/src/createComponent.tsx
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { composeRefs } from '@tamagui/compose-refs'
|
|
2
2
|
import { isClient, isServer, isWeb } from '@tamagui/constants'
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
StyleObjectIdentifier,
|
|
5
|
+
StyleObjectRules,
|
|
6
|
+
composeEventHandlers,
|
|
7
|
+
validStyles,
|
|
8
|
+
} from '@tamagui/helpers'
|
|
4
9
|
import React, {
|
|
5
10
|
Children,
|
|
6
11
|
Fragment,
|
|
@@ -10,7 +15,6 @@ import React, {
|
|
|
10
15
|
useContext,
|
|
11
16
|
useEffect,
|
|
12
17
|
useId,
|
|
13
|
-
useLayoutEffect,
|
|
14
18
|
useMemo,
|
|
15
19
|
useRef,
|
|
16
20
|
useState,
|
|
@@ -36,6 +40,7 @@ import { log } from './helpers/log'
|
|
|
36
40
|
import { mergeProps } from './helpers/mergeProps'
|
|
37
41
|
import { setElementProps } from './helpers/setElementProps'
|
|
38
42
|
import { themeable } from './helpers/themeable'
|
|
43
|
+
import { useDidHydrateOnce } from './hooks/useDidHydrateOnce'
|
|
39
44
|
import { mediaKeyMatch, setMediaShouldUpdate, useMedia } from './hooks/useMedia'
|
|
40
45
|
import { useThemeWithState } from './hooks/useTheme'
|
|
41
46
|
import type { TamaguiComponentEvents } from './interfaces/TamaguiComponentEvents'
|
|
@@ -69,7 +74,6 @@ import type {
|
|
|
69
74
|
import { Slot } from './views/Slot'
|
|
70
75
|
import { getThemedChildren } from './views/Theme'
|
|
71
76
|
import { ThemeDebug } from './views/ThemeDebug'
|
|
72
|
-
import { useDidHydrateOnce } from './hooks/useDidHydrateOnce'
|
|
73
77
|
|
|
74
78
|
/**
|
|
75
79
|
* All things that need one-time setup after createTamagui is called
|
|
@@ -156,7 +160,12 @@ export const useComponentState = (
|
|
|
156
160
|
) => {
|
|
157
161
|
const useAnimations = animationDriver?.useAnimations as UseAnimationHook | undefined
|
|
158
162
|
|
|
159
|
-
const stateRef = useRef<TamaguiComponentStateRef>(
|
|
163
|
+
const stateRef = useRef<TamaguiComponentStateRef>(
|
|
164
|
+
undefined as any as TamaguiComponentStateRef
|
|
165
|
+
)
|
|
166
|
+
if (!stateRef.current) {
|
|
167
|
+
stateRef.current = {}
|
|
168
|
+
}
|
|
160
169
|
|
|
161
170
|
// after we get states mount we need to turn off isAnimated for server side
|
|
162
171
|
const hasAnimationProp = Boolean(
|
|
@@ -197,19 +206,21 @@ export const useComponentState = (
|
|
|
197
206
|
|
|
198
207
|
const hasEnterState = hasEnterStyle || isEntering
|
|
199
208
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
const
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
209
|
+
// this can be conditional because its only ever needed with animations
|
|
210
|
+
const didHydrateOnce = willBeAnimated ? useDidHydrateOnce() : true
|
|
211
|
+
const shouldEnter = hasEnterState || (!didHydrateOnce && hasRNAnimation)
|
|
212
|
+
const shouldEnterFromUnhydrated = isWeb && !didHydrateOnce
|
|
213
|
+
|
|
214
|
+
const initialState = shouldEnter
|
|
215
|
+
? // on the very first render we switch all spring animation drivers to css rendering
|
|
216
|
+
// this is because we need to use css variables, which they don't support to do proper SSR
|
|
217
|
+
// without flickers of the wrong colors.
|
|
218
|
+
// but once we do that initial hydration and we are in client side rendering mode,
|
|
219
|
+
// we can avoid the extra re-render on mount
|
|
220
|
+
shouldEnterFromUnhydrated
|
|
221
|
+
? defaultComponentState
|
|
222
|
+
: defaultComponentStateShouldEnter
|
|
223
|
+
: defaultComponentStateMounted
|
|
213
224
|
|
|
214
225
|
// will be nice to deprecate half of these:
|
|
215
226
|
const disabled = isDisabled(props)
|
|
@@ -706,7 +717,7 @@ export function createComponent<
|
|
|
706
717
|
if (process.env.NODE_ENV === 'development' && time) time`theme`
|
|
707
718
|
|
|
708
719
|
// HOOK 14 (-1 if no animation, -1 if disableSSR, -1 if no context, -1 if production)
|
|
709
|
-
const mediaState = useMedia(stateRef, componentContext)
|
|
720
|
+
const mediaState = useMedia(stateRef, componentContext, debugProp)
|
|
710
721
|
|
|
711
722
|
setDidGetVariableValue(false)
|
|
712
723
|
|
|
@@ -725,6 +736,7 @@ export function createComponent<
|
|
|
725
736
|
resolveValues,
|
|
726
737
|
isExiting,
|
|
727
738
|
isAnimated,
|
|
739
|
+
willBeAnimated,
|
|
728
740
|
} as const
|
|
729
741
|
|
|
730
742
|
// HOOK 15 (-1 if no animation, -1 if disableSSR, -1 if no context, -1 if production)
|
|
@@ -758,11 +770,15 @@ export function createComponent<
|
|
|
758
770
|
didGetVariableValue() ||
|
|
759
771
|
isMediaArray ||
|
|
760
772
|
(noClassNames && splitStyles.hasMedia === true)
|
|
761
|
-
|
|
773
|
+
|
|
774
|
+
const mediaListeningKeys = isMediaArray ? (splitStyles.hasMedia as string[]) : null
|
|
775
|
+
if (process.env.NODE_ENV === 'development' && debugProp) {
|
|
776
|
+
console.info(`useMedia() createComponent`, shouldListenForMedia, mediaListeningKeys)
|
|
777
|
+
}
|
|
762
778
|
|
|
763
779
|
setMediaShouldUpdate(stateRef, {
|
|
764
780
|
enabled: shouldListenForMedia,
|
|
765
|
-
|
|
781
|
+
touched: mediaListeningKeys,
|
|
766
782
|
})
|
|
767
783
|
|
|
768
784
|
const {
|
|
@@ -1296,7 +1312,8 @@ export function createComponent<
|
|
|
1296
1312
|
<>
|
|
1297
1313
|
{content}
|
|
1298
1314
|
{/* lets see if we can put a single style tag per rule for optimal de-duping */}
|
|
1299
|
-
{splitStyles.rulesToInsert.map((
|
|
1315
|
+
{splitStyles.rulesToInsert.map((styleObject) => {
|
|
1316
|
+
const identifier = styleObject[StyleObjectIdentifier]
|
|
1300
1317
|
return (
|
|
1301
1318
|
<style
|
|
1302
1319
|
key={identifier}
|
|
@@ -1305,7 +1322,7 @@ export function createComponent<
|
|
|
1305
1322
|
// @ts-ignore
|
|
1306
1323
|
precedence="default"
|
|
1307
1324
|
>
|
|
1308
|
-
{
|
|
1325
|
+
{styleObject[StyleObjectRules].join('\n')}
|
|
1309
1326
|
</style>
|
|
1310
1327
|
)
|
|
1311
1328
|
})}
|
package/src/createTokens.ts
CHANGED
|
@@ -2,20 +2,14 @@ import type { Variable } from './createVariable'
|
|
|
2
2
|
import { createVariables } from './createVariables'
|
|
3
3
|
import type { CreateTokens } from './types'
|
|
4
4
|
|
|
5
|
-
// tokens.color.dark.red ===> { var: `color-dark-red`, val: '' }
|
|
6
5
|
export function createTokens<T extends CreateTokens>(tokens: T): MakeTokens<T> {
|
|
7
6
|
return createVariables(tokens) as any
|
|
8
7
|
}
|
|
9
8
|
|
|
10
9
|
type NormalizeTokens<A, Type = A[keyof A]> = {
|
|
11
|
-
|
|
12
|
-
// which is important because Chrome re-orders numerical-seeming keys :/
|
|
13
|
-
[Key in keyof A extends `$${infer X}` ? X : keyof A]: Variable<Type>
|
|
10
|
+
[Key in keyof A extends number ? `${keyof A}` : keyof A]: Variable<Type>
|
|
14
11
|
}
|
|
15
12
|
|
|
16
|
-
// verbose but gives us nice types...
|
|
17
|
-
// removes $ prefix allowing for defining either as $1: or 1:,
|
|
18
|
-
// which is important because Chrome re-orders numerical-seeming keys :/
|
|
19
13
|
type MakeTokens<T extends CreateTokens> = T extends {
|
|
20
14
|
color?: infer E
|
|
21
15
|
space?: infer F
|
|
@@ -36,17 +30,3 @@ type MakeTokens<T extends CreateTokens> = T extends {
|
|
|
36
30
|
'color' | 'space' | 'size' | 'radius' | 'zIndex'
|
|
37
31
|
>
|
|
38
32
|
: never
|
|
39
|
-
|
|
40
|
-
// // test
|
|
41
|
-
// // TODO move to tests
|
|
42
|
-
// const tokens = createTokens({
|
|
43
|
-
// size: { 0: 1 },
|
|
44
|
-
// space: { 0: 1 },
|
|
45
|
-
// radius: { 0: 1 },
|
|
46
|
-
// zIndex: { 0: 1 },
|
|
47
|
-
// color: { 0: 'hi' },
|
|
48
|
-
// arbitrary: { abc: '123' },
|
|
49
|
-
// })
|
|
50
|
-
|
|
51
|
-
// tokens.arbitrary.abc
|
|
52
|
-
// tokens.size['0']
|