@tamagui/web 1.88.13 → 1.88.15
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/LICENSE +21 -0
- package/dist/cjs/createComponent.js +2 -2
- package/dist/cjs/createComponent.js.map +1 -1
- package/dist/cjs/createComponent.native.js +1 -1
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/createTamagui.js.map +1 -1
- package/dist/cjs/createTamagui.native.js.map +1 -1
- package/dist/cjs/createVariables.js.map +1 -1
- package/dist/cjs/createVariables.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.js +15 -19
- package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.native.js +12 -18
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getStylesAtomic.js.map +1 -1
- package/dist/cjs/helpers/getThemeCSSRules.js.map +1 -1
- package/dist/cjs/helpers/insertStyleRule.js +3 -3
- package/dist/cjs/helpers/insertStyleRule.js.map +1 -1
- package/dist/cjs/helpers/insertStyleRule.native.js +3 -3
- package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/cjs/helpers/propMapper.js.map +1 -1
- package/dist/cjs/helpers/propMapper.native.js.map +1 -1
- package/dist/cjs/helpers/registerCSSVariable.js.map +1 -1
- package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
- package/dist/cjs/hooks/getThemeProxied.js +66 -0
- package/dist/cjs/hooks/getThemeProxied.js.map +6 -0
- package/dist/cjs/hooks/getThemeProxied.native.js +100 -0
- package/dist/cjs/hooks/getThemeProxied.native.js.map +6 -0
- package/dist/cjs/hooks/useTheme.js.map +1 -1
- package/dist/cjs/hooks/useTheme.native.js.map +1 -1
- package/dist/cjs/insertFont.js.map +1 -1
- package/dist/cjs/insertFont.native.js.map +1 -1
- package/dist/cjs/setupHooks.js.map +1 -1
- package/dist/cjs/setupHooks.native.js.map +1 -1
- package/dist/cjs/views/FontLanguage.native.js.map +1 -1
- package/dist/cjs/views/Slot.js.map +1 -1
- package/dist/cjs/views/Slot.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.js +5 -5
- package/dist/cjs/views/TamaguiProvider.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.native.js +5 -5
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/cjs/views/Theme.js.map +1 -1
- package/dist/cjs/views/Theme.native.js.map +1 -1
- package/dist/esm/Tamagui.mjs +43 -0
- package/dist/esm/config.mjs +51 -0
- package/dist/esm/constants/accessibilityDirectMap.mjs +50 -0
- package/dist/esm/constants/constants.mjs +16 -0
- package/dist/esm/constants/isDevTools.mjs +7 -0
- package/dist/esm/contexts/ComponentContext.mjs +13 -0
- package/dist/esm/createComponent.js +2 -2
- package/dist/esm/createComponent.js.map +1 -1
- package/dist/esm/createComponent.mjs +771 -0
- package/dist/esm/createComponent.native.js +1 -1
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/createFont.mjs +18 -0
- package/dist/esm/createShorthands.mjs +4 -0
- package/dist/esm/createTamagui.js.map +1 -1
- package/dist/esm/createTamagui.mjs +206 -0
- package/dist/esm/createTamagui.native.js.map +1 -1
- package/dist/esm/createTheme.mjs +2 -0
- package/dist/esm/createTokens.mjs +5 -0
- package/dist/esm/createVariable.mjs +48 -0
- package/dist/esm/createVariables.js.map +1 -1
- package/dist/esm/createVariables.mjs +35 -0
- package/dist/esm/createVariables.native.js.map +1 -1
- package/dist/esm/defaultComponentState.mjs +16 -0
- package/dist/esm/helpers/ThemeManager.mjs +156 -0
- package/dist/esm/helpers/ThemeManagerContext.mjs +3 -0
- package/dist/esm/helpers/createMediaStyle.mjs +71 -0
- package/dist/esm/helpers/createShallowSetState.mjs +17 -0
- package/dist/esm/helpers/createStyledContext.mjs +35 -0
- package/dist/esm/helpers/defaultOffset.mjs +5 -0
- package/dist/esm/helpers/expandStyle.mjs +38 -0
- package/dist/esm/helpers/expandStyles.mjs +15 -0
- package/dist/esm/helpers/getExpandedShorthands.mjs +9 -0
- package/dist/esm/helpers/getFontLanguage.mjs +2 -0
- package/dist/esm/helpers/getGroupPropParts.mjs +13 -0
- package/dist/esm/helpers/getSplitStyles.js +15 -18
- package/dist/esm/helpers/getSplitStyles.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +638 -0
- package/dist/esm/helpers/getSplitStyles.native.js +12 -18
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/getStylesAtomic.js +1 -4
- package/dist/esm/helpers/getStylesAtomic.js.map +1 -1
- package/dist/esm/helpers/getStylesAtomic.mjs +150 -0
- package/dist/esm/helpers/getThemeCSSRules.js.map +1 -1
- package/dist/esm/helpers/getThemeCSSRules.mjs +87 -0
- package/dist/esm/helpers/getVariantExtras.mjs +43 -0
- package/dist/esm/helpers/insertStyleRule.js +3 -3
- package/dist/esm/helpers/insertStyleRule.js.map +1 -1
- package/dist/esm/helpers/insertStyleRule.mjs +177 -0
- package/dist/esm/helpers/insertStyleRule.native.js +3 -3
- package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/esm/helpers/isObj.mjs +2 -0
- package/dist/esm/helpers/isTamaguiComponent.mjs +5 -0
- package/dist/esm/helpers/isTamaguiElement.mjs +4 -0
- package/dist/esm/helpers/log.mjs +4 -0
- package/dist/esm/helpers/matchMedia.mjs +11 -0
- package/dist/esm/helpers/mergeProps.mjs +21 -0
- package/dist/esm/helpers/mergeVariants.mjs +16 -0
- package/dist/esm/helpers/normalizeColor.mjs +17 -0
- package/dist/esm/helpers/normalizeShadow.mjs +23 -0
- package/dist/esm/helpers/normalizeStyle.mjs +23 -0
- package/dist/esm/helpers/normalizeStylePropKeys.mjs +2 -0
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +32 -0
- package/dist/esm/helpers/objectIdentityKey.mjs +15 -0
- package/dist/esm/helpers/propMapper.js.map +1 -1
- package/dist/esm/helpers/propMapper.mjs +239 -0
- package/dist/esm/helpers/propMapper.native.js.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.mjs +36 -0
- package/dist/esm/helpers/proxyThemeVariables.mjs +12 -0
- package/dist/esm/helpers/pseudoDescriptors.mjs +34 -0
- package/dist/esm/helpers/registerCSSVariable.js.map +1 -1
- package/dist/esm/helpers/registerCSSVariable.mjs +7 -0
- package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
- package/dist/esm/helpers/themeable.mjs +33 -0
- package/dist/esm/helpers/themes.mjs +14 -0
- package/dist/esm/helpers/timer.mjs +8 -0
- package/dist/esm/hooks/getThemeProxied.js +52 -0
- package/dist/esm/hooks/getThemeProxied.js.map +6 -0
- package/dist/esm/hooks/getThemeProxied.mjs +41 -0
- package/dist/esm/hooks/getThemeProxied.native.js +100 -0
- package/dist/esm/hooks/getThemeProxied.native.js.map +6 -0
- package/dist/esm/hooks/useConfiguration.mjs +20 -0
- package/dist/esm/hooks/useDisableSSR.mjs +5 -0
- package/dist/esm/hooks/useIsTouchDevice.mjs +4 -0
- package/dist/esm/hooks/useMedia.mjs +146 -0
- package/dist/esm/hooks/useProps.mjs +40 -0
- package/dist/esm/hooks/useTheme.js +1 -4
- package/dist/esm/hooks/useTheme.js.map +1 -1
- package/dist/esm/hooks/useTheme.mjs +222 -0
- package/dist/esm/hooks/useTheme.native.js.map +1 -1
- package/dist/esm/hooks/useThemeName.mjs +15 -0
- package/dist/esm/index.mjs +61 -0
- package/dist/esm/inject-styles.mjs +13 -0
- package/dist/esm/insertFont.js.map +1 -1
- package/dist/esm/insertFont.mjs +44 -0
- package/dist/esm/insertFont.native.js.map +1 -1
- package/dist/esm/interfaces/CSSColorNames.mjs +0 -0
- package/dist/esm/interfaces/GetRef.mjs +0 -0
- package/dist/esm/interfaces/KeyTypes.mjs +0 -0
- package/dist/esm/interfaces/RNExclusiveTypes.mjs +0 -0
- package/dist/esm/interfaces/Role.mjs +0 -0
- package/dist/esm/interfaces/TamaguiComponentEvents.mjs +0 -0
- package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs +0 -0
- package/dist/esm/interfaces/TamaguiComponentState.mjs +0 -0
- package/dist/esm/interfaces/WebOnlyPressEvents.mjs +0 -0
- package/dist/esm/internalWithTheme.mjs +14 -0
- package/dist/esm/setupHooks.js.map +1 -1
- package/dist/esm/setupHooks.mjs +5 -0
- package/dist/esm/setupHooks.native.js.map +1 -1
- package/dist/esm/setupReactNative.mjs +24 -0
- package/dist/esm/styled.mjs +56 -0
- package/dist/esm/type-utils.mjs +0 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/views/Configuration.mjs +12 -0
- package/dist/esm/views/FontLanguage.mjs +13 -0
- package/dist/esm/views/FontLanguage.native.js.map +1 -1
- package/dist/esm/views/FontLanguage.types.mjs +0 -0
- package/dist/esm/views/Slot.js.map +1 -1
- package/dist/esm/views/Slot.mjs +53 -0
- package/dist/esm/views/Slot.native.js.map +1 -1
- package/dist/esm/views/Stack.mjs +10 -0
- package/dist/esm/views/TamaguiProvider.js +5 -5
- package/dist/esm/views/TamaguiProvider.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.mjs +32 -0
- package/dist/esm/views/TamaguiProvider.native.js +5 -5
- package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
- package/dist/esm/views/Text.mjs +64 -0
- package/dist/esm/views/Theme.js.map +1 -1
- package/dist/esm/views/Theme.mjs +104 -0
- package/dist/esm/views/Theme.native.js.map +1 -1
- package/dist/esm/views/ThemeDebug.mjs +57 -0
- package/dist/esm/views/ThemeProvider.mjs +20 -0
- package/dist/esm/views/View.mjs +9 -0
- package/package.json +11 -11
- package/src/config.ts +1 -1
- package/src/contexts/ComponentContext.tsx +1 -1
- package/src/createComponent.tsx +7 -5
- package/src/createFont.ts +1 -1
- package/src/createShorthands.ts +1 -1
- package/src/createTamagui.ts +4 -3
- package/src/createTokens.ts +2 -2
- package/src/createVariables.ts +2 -1
- package/src/defaultComponentState.tsx +1 -1
- package/src/helpers/ThemeManager.tsx +1 -1
- package/src/helpers/createShallowSetState.tsx +2 -2
- package/src/helpers/expandStyle.ts +1 -1
- package/src/helpers/getExpandedShorthands.ts +1 -1
- package/src/helpers/getSplitStyles.tsx +33 -26
- package/src/helpers/getStylesAtomic.ts +4 -6
- package/src/helpers/getThemeCSSRules.ts +2 -1
- package/src/helpers/getVariantExtras.tsx +2 -2
- package/src/helpers/insertStyleRule.tsx +8 -3
- package/src/helpers/isTamaguiComponent.tsx +1 -1
- package/src/helpers/isTamaguiElement.tsx +1 -1
- package/src/helpers/matchMedia.native.ts +1 -1
- package/src/helpers/matchMedia.ts +1 -1
- package/src/helpers/propMapper.ts +2 -1
- package/src/helpers/proxyThemeToParents.ts +1 -1
- package/src/helpers/registerCSSVariable.ts +3 -2
- package/src/helpers/themeable.tsx +1 -1
- package/src/hooks/useDisableSSR.tsx +1 -1
- package/src/hooks/useProps.tsx +1 -1
- package/src/hooks/useTheme.tsx +4 -6
- package/src/hooks/useThemeName.tsx +1 -1
- package/src/insertFont.ts +4 -3
- package/src/interfaces/GetRef.tsx +2 -2
- package/src/interfaces/TamaguiComponentPropsBaseBase.tsx +2 -2
- package/src/interfaces/TamaguiComponentState.tsx +1 -1
- package/src/interfaces/WebOnlyPressEvents.tsx +1 -1
- package/src/setupHooks.ts +4 -8
- package/src/setupReactNative.ts +1 -1
- package/src/styled.tsx +1 -1
- package/src/types.tsx +9 -9
- package/src/views/FontLanguage.native.tsx +0 -1
- package/src/views/FontLanguage.types.ts +2 -2
- package/src/views/Slot.tsx +2 -1
- package/src/views/TamaguiProvider.tsx +8 -5
- package/src/views/Text.tsx +1 -1
- package/src/views/Theme.tsx +2 -1
- package/src/views/ThemeDebug.native.tsx +2 -2
- package/src/views/ThemeDebug.tsx +2 -2
- package/types/config.d.ts +1 -1
- package/types/config.d.ts.map +1 -1
- package/types/contexts/ComponentContext.d.ts +1 -1
- package/types/contexts/ComponentContext.d.ts.map +1 -1
- package/types/createComponent.d.ts +1 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/createFont.d.ts +1 -1
- package/types/createFont.d.ts.map +1 -1
- package/types/createShorthands.d.ts +1 -1
- package/types/createShorthands.d.ts.map +1 -1
- package/types/createTamagui.d.ts +1 -1
- package/types/createTamagui.d.ts.map +1 -1
- package/types/createTokens.d.ts +2 -2
- package/types/createTokens.d.ts.map +1 -1
- package/types/createVariables.d.ts +1 -1
- package/types/createVariables.d.ts.map +1 -1
- package/types/defaultComponentState.d.ts +1 -1
- package/types/defaultComponentState.d.ts.map +1 -1
- package/types/helpers/ThemeManager.d.ts +1 -1
- package/types/helpers/ThemeManager.d.ts.map +1 -1
- package/types/helpers/createShallowSetState.d.ts +2 -2
- package/types/helpers/createShallowSetState.d.ts.map +1 -1
- package/types/helpers/expandStyle.d.ts +1 -1
- package/types/helpers/expandStyle.d.ts.map +1 -1
- package/types/helpers/getExpandedShorthands.d.ts +1 -1
- package/types/helpers/getExpandedShorthands.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getStylesAtomic.d.ts +2 -2
- package/types/helpers/getStylesAtomic.d.ts.map +1 -1
- package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
- package/types/helpers/getVariantExtras.d.ts +2 -2
- package/types/helpers/getVariantExtras.d.ts.map +1 -1
- package/types/helpers/insertStyleRule.d.ts.map +1 -1
- package/types/helpers/isTamaguiComponent.d.ts +1 -1
- package/types/helpers/isTamaguiComponent.d.ts.map +1 -1
- package/types/helpers/isTamaguiElement.d.ts +1 -1
- package/types/helpers/isTamaguiElement.d.ts.map +1 -1
- package/types/helpers/matchMedia.d.ts +1 -1
- package/types/helpers/matchMedia.d.ts.map +1 -1
- package/types/helpers/matchMedia.native.d.ts +1 -1
- package/types/helpers/matchMedia.native.d.ts.map +1 -1
- package/types/helpers/propMapper.d.ts.map +1 -1
- package/types/helpers/proxyThemeToParents.d.ts +1 -1
- package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
- package/types/helpers/registerCSSVariable.d.ts +2 -2
- package/types/helpers/registerCSSVariable.d.ts.map +1 -1
- package/types/helpers/themeable.d.ts +1 -1
- package/types/helpers/themeable.d.ts.map +1 -1
- package/types/hooks/getThemeProxied.d.ts.map +1 -0
- package/types/hooks/useDisableSSR.d.ts +1 -1
- package/types/hooks/useDisableSSR.d.ts.map +1 -1
- package/types/hooks/useProps.d.ts +1 -1
- package/types/hooks/useProps.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts +3 -2
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/hooks/useThemeName.d.ts +1 -1
- package/types/hooks/useThemeName.d.ts.map +1 -1
- package/types/insertFont.d.ts +2 -2
- package/types/insertFont.d.ts.map +1 -1
- package/types/interfaces/GetRef.d.ts +2 -2
- package/types/interfaces/GetRef.d.ts.map +1 -1
- package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts +2 -2
- package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts.map +1 -1
- package/types/interfaces/TamaguiComponentState.d.ts +1 -1
- package/types/interfaces/TamaguiComponentState.d.ts.map +1 -1
- package/types/interfaces/WebOnlyPressEvents.d.ts +1 -1
- package/types/interfaces/WebOnlyPressEvents.d.ts.map +1 -1
- package/types/setupHooks.d.ts +3 -3
- package/types/setupHooks.d.ts.map +1 -1
- package/types/setupReactNative.d.ts +1 -1
- package/types/setupReactNative.d.ts.map +1 -1
- package/types/styled.d.ts +1 -1
- package/types/styled.d.ts.map +1 -1
- package/types/types.d.ts +9 -9
- package/types/types.d.ts.map +1 -1
- package/types/views/FontLanguage.native.d.ts.map +1 -1
- package/types/views/FontLanguage.types.d.ts +2 -2
- package/types/views/FontLanguage.types.d.ts.map +1 -1
- package/types/views/Slot.d.ts +1 -1
- package/types/views/Slot.d.ts.map +1 -1
- package/types/views/TamaguiProvider.d.ts.map +1 -1
- package/types/views/Text.d.ts +1 -1
- package/types/views/Text.d.ts.map +1 -1
- package/types/views/Theme.d.ts +1 -1
- package/types/views/Theme.d.ts.map +1 -1
- package/types/views/ThemeDebug.d.ts +2 -2
- package/types/views/ThemeDebug.d.ts.map +1 -1
- package/types/views/ThemeDebug.native.d.ts +2 -2
- package/types/views/ThemeDebug.native.d.ts.map +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { setConfigFont } from "./config.mjs";
|
|
2
|
+
import { createFont } from "./createFont.mjs";
|
|
3
|
+
import { createVariables } from "./createVariables.mjs";
|
|
4
|
+
import { registerCSSVariable, variableToCSS } from "./helpers/registerCSSVariable.mjs";
|
|
5
|
+
function insertFont(name, fontIn) {
|
|
6
|
+
const font = createFont(fontIn),
|
|
7
|
+
tokened = createVariables(font, name),
|
|
8
|
+
parsed = parseFont(tokened);
|
|
9
|
+
if (typeof document < "u") {
|
|
10
|
+
const fontVars = registerFontVariables(parsed),
|
|
11
|
+
style = document.createElement("style");
|
|
12
|
+
style.innerText = `:root .font_${name} {${fontVars.join(";")}}`, style.setAttribute("data-tamagui-font", name), document.head.appendChild(style);
|
|
13
|
+
}
|
|
14
|
+
return setConfigFont(name, tokened, parsed), parsed;
|
|
15
|
+
}
|
|
16
|
+
const updateFont = insertFont;
|
|
17
|
+
function parseFont(definition) {
|
|
18
|
+
const parsed = {};
|
|
19
|
+
for (const attrKey in definition) {
|
|
20
|
+
const attr = definition[attrKey];
|
|
21
|
+
if (attrKey === "family" || attrKey === "face") parsed[attrKey] = attr;else {
|
|
22
|
+
parsed[attrKey] = {};
|
|
23
|
+
for (const key in attr) {
|
|
24
|
+
let val = attr[key];
|
|
25
|
+
val.val?.[0] === "$" && (val = val.val), parsed[attrKey][`$${key}`] = val;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return parsed;
|
|
30
|
+
}
|
|
31
|
+
function registerFontVariables(parsedFont) {
|
|
32
|
+
const response = [];
|
|
33
|
+
for (const fkey in parsedFont) if (fkey !== "face") {
|
|
34
|
+
if (fkey === "family") {
|
|
35
|
+
const val = parsedFont[fkey];
|
|
36
|
+
registerCSSVariable(val), response.push(variableToCSS(val));
|
|
37
|
+
} else for (const fskey in parsedFont[fkey]) if (typeof parsedFont[fkey][fskey] != "string") {
|
|
38
|
+
const val = parsedFont[fkey][fskey];
|
|
39
|
+
registerCSSVariable(val), response.push(variableToCSS(val));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return response;
|
|
43
|
+
}
|
|
44
|
+
export { insertFont, parseFont, registerFontVariables, updateFont };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/insertFont.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA8B,qBAC9B,oBAA2B,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA8B,qBAC9B,oBAA2B,yBAG3B,yBAAgC,8BAChC,6BAAmD;AAM5C,SAAS,WACd,MACA,QACuB;AACvB,QAAM,WAAO,8BAAW,MAAM,GACxB,cAAU,wCAAgB,MAAM,IAAI,GACpC,SAAS,UAAU,OAAO;AAQhC,0CAAc,MAAM,SAAS,MAAM,GAC5B;AACT;AAEO,MAAM,aAAa;AAEnB,SAAS,UAAiC,YAAsC;AA/BvF;AAgCE,QAAM,SAAc,CAAC;AACrB,aAAW,WAAW,YAAY;AAChC,UAAM,OAAO,WAAW,OAAO;AAC/B,QAAI,YAAY,YAAY,YAAY;AACtC,aAAO,OAAO,IAAI;AAAA,SACb;AACL,aAAO,OAAO,IAAI,CAAC;AACnB,iBAAW,OAAO,MAAM;AACtB,YAAI,MAAM,KAAK,GAAG;AAElB,UAAI,SAAI,QAAJ,mBAAU,QAAO,QACnB,MAAM,IAAI,MAEZ,OAAO,OAAO,EAAE,IAAI,GAAG,EAAE,IAAI;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,sBAAsB,YAAiB;AACrD,QAAM,WAAqB,CAAC;AAE5B,aAAW,QAAQ;AACjB,QAAI,SAAS;AACb,UAAI,SAAS,UAAU;AACrB,cAAM,MAAM,WAAW,IAAI;AAC3B,4DAAoB,GAAG,GACvB,SAAS,SAAK,0CAAc,GAAG,CAAC;AAAA,MAClC;AACE,mBAAW,SAAS,WAAW,IAAI;AAEjC,cAAI,OADS,WAAW,IAAI,EAAE,KAAK,KACf,UAEb;AACL,kBAAM,MAAM,WAAW,IAAI,EAAE,KAAK;AAClC,gEAAoB,GAAG,GACvB,SAAS,SAAK,0CAAc,GAAG,CAAC;AAAA,UAClC;AAAA;AAIN,SAAO;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useTheme } from "./hooks/useTheme.mjs";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
const internalWithTheme = (Component, styleProvider) => props => {
|
|
4
|
+
const {
|
|
5
|
+
expressions,
|
|
6
|
+
...rest
|
|
7
|
+
} = props,
|
|
8
|
+
theme = useTheme();
|
|
9
|
+
return /* @__PURE__ */jsx(Component, {
|
|
10
|
+
style: styleProvider(theme, expressions),
|
|
11
|
+
...rest
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
export { internalWithTheme };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/setupHooks.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,MAAM,QAAuB,CAAC;AAG9B,SAAS,WAAW,MAAqB;AAC9C,SAAO,OAAO,OAAO,IAAI;AAC3B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const ReactNativeStaticConfigs = /* @__PURE__ */new WeakMap();
|
|
2
|
+
function getReactNativeConfig(Component) {
|
|
3
|
+
if (Component) return Component.getSize && Component.prefetch ? RNConfigs.Image : Component.displayName === "Text" && Component.render ? RNConfigs.Text : Component.render && (Component.displayName === "ScrollView" || Component.displayName === "View") ? RNConfigs.default : Component.State?.blurTextInput ? RNConfigs.TextInput : ReactNativeStaticConfigs.get(Component);
|
|
4
|
+
}
|
|
5
|
+
const RNConfigs = {
|
|
6
|
+
Image: {
|
|
7
|
+
isReactNative: !0,
|
|
8
|
+
inlineProps: /* @__PURE__ */new Set(["src", "width", "height"])
|
|
9
|
+
},
|
|
10
|
+
Text: {
|
|
11
|
+
isReactNative: !0,
|
|
12
|
+
isText: !0
|
|
13
|
+
},
|
|
14
|
+
TextInput: {
|
|
15
|
+
isReactNative: !0,
|
|
16
|
+
isInput: !0,
|
|
17
|
+
isText: !0
|
|
18
|
+
},
|
|
19
|
+
default: {
|
|
20
|
+
isReactNative: !0
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
function setupReactNative(rnExports) {}
|
|
24
|
+
export { getReactNativeConfig, setupReactNative };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { createComponent } from "./createComponent.mjs";
|
|
2
|
+
import { mergeVariants } from "./helpers/mergeVariants.mjs";
|
|
3
|
+
import { getReactNativeConfig } from "./setupReactNative.mjs";
|
|
4
|
+
function styled(ComponentIn, options, staticExtractionOptions) {
|
|
5
|
+
if (process.env.NODE_ENV !== "production" && !ComponentIn) throw new Error("No component given to styled()");
|
|
6
|
+
const parentStaticConfig = ComponentIn.staticConfig,
|
|
7
|
+
isPlainStyledComponent = !!parentStaticConfig && !(parentStaticConfig.isReactNative || parentStaticConfig.isHOC);
|
|
8
|
+
let Component = parentStaticConfig?.isHOC && !parentStaticConfig?.isStyledHOC || isPlainStyledComponent ? ComponentIn : parentStaticConfig?.Component || ComponentIn;
|
|
9
|
+
const reactNativeConfig = parentStaticConfig ? void 0 : getReactNativeConfig(Component),
|
|
10
|
+
isReactNative = !!(reactNativeConfig || staticExtractionOptions?.isReactNative || parentStaticConfig?.isReactNative),
|
|
11
|
+
staticConfigProps = (() => {
|
|
12
|
+
if (options) {
|
|
13
|
+
let {
|
|
14
|
+
variants,
|
|
15
|
+
name,
|
|
16
|
+
defaultVariants,
|
|
17
|
+
acceptsClassName: acceptsClassNameProp,
|
|
18
|
+
context,
|
|
19
|
+
...defaultProps
|
|
20
|
+
} = options;
|
|
21
|
+
defaultVariants && (defaultProps = {
|
|
22
|
+
...defaultVariants,
|
|
23
|
+
...defaultProps
|
|
24
|
+
}), parentStaticConfig && (parentStaticConfig.isHOC && !parentStaticConfig.isStyledHOC || (defaultProps = {
|
|
25
|
+
...parentStaticConfig.defaultProps,
|
|
26
|
+
...defaultProps
|
|
27
|
+
}, parentStaticConfig.variants && (variants = mergeVariants(parentStaticConfig.variants, variants)))), parentStaticConfig?.isHOC && name && (defaultProps.componentName = name);
|
|
28
|
+
const isText = !!(staticExtractionOptions?.isText || parentStaticConfig?.isText),
|
|
29
|
+
acceptsClassName = acceptsClassNameProp ?? (isPlainStyledComponent || isReactNative || parentStaticConfig?.isHOC && parentStaticConfig?.acceptsClassName),
|
|
30
|
+
conf = {
|
|
31
|
+
...parentStaticConfig,
|
|
32
|
+
...staticExtractionOptions,
|
|
33
|
+
...(!isPlainStyledComponent && {
|
|
34
|
+
Component
|
|
35
|
+
}),
|
|
36
|
+
// @ts-expect-error
|
|
37
|
+
variants,
|
|
38
|
+
defaultProps,
|
|
39
|
+
defaultVariants,
|
|
40
|
+
componentName: name || parentStaticConfig?.componentName,
|
|
41
|
+
isReactNative,
|
|
42
|
+
isText,
|
|
43
|
+
acceptsClassName,
|
|
44
|
+
context,
|
|
45
|
+
...reactNativeConfig,
|
|
46
|
+
isStyledHOC: !!parentStaticConfig?.isHOC,
|
|
47
|
+
parentStaticConfig
|
|
48
|
+
};
|
|
49
|
+
return (defaultProps.children || !acceptsClassName || context) && (conf.neverFlatten = !0), conf;
|
|
50
|
+
}
|
|
51
|
+
})(),
|
|
52
|
+
component = createComponent(staticConfigProps || {});
|
|
53
|
+
for (const key in ComponentIn) key in component || (component[key] = ComponentIn[key]);
|
|
54
|
+
return component;
|
|
55
|
+
}
|
|
56
|
+
export { styled };
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useContext } from "react";
|
|
2
|
+
import { ComponentContext } from "../contexts/ComponentContext.mjs";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
const Configuration = props => {
|
|
5
|
+
const current = useContext(ComponentContext);
|
|
6
|
+
return /* @__PURE__ */jsx(ComponentContext.Provider, {
|
|
7
|
+
...current,
|
|
8
|
+
...props
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Configuration.displayName = "Configuration";
|
|
12
|
+
export { Configuration };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
const FontLanguage = ({
|
|
3
|
+
children,
|
|
4
|
+
...props
|
|
5
|
+
}) => /* @__PURE__ */jsx("div", {
|
|
6
|
+
style: {
|
|
7
|
+
display: "contents"
|
|
8
|
+
},
|
|
9
|
+
className: Object.entries(props).map(([name, language]) => `t_lang-${name}-${language}`).join(" "),
|
|
10
|
+
children
|
|
11
|
+
});
|
|
12
|
+
FontLanguage.displayName = "FontLanguage";
|
|
13
|
+
export { FontLanguage };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/FontLanguage.native.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwB,kBAExB,0BAAiC,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwB,kBAExB,0BAAiC,yCAM7B;AAHG,MAAM,eAAe,CAAC,EAAE,UAAU,GAAG,MAAM,MAAyB;AACzE,QAAM,eAAW,sBAAQ,MAAM,OAAO,CAAC,KAAK,UAAU,KAAK,CAAC,CAAC;AAC7D,SACE,4CAAC,yCAAiB,UAAjB,EAA0B,UAAqB,UAAS;AAE7D;AAEA,aAAa,cAAiB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/Slot.tsx"],
|
|
4
|
-
"mappings": "AAEA,SAAS,mBAAmB;AAC5B,SAAS,aAAa;AACtB,SAAS,4BAA4B;
|
|
4
|
+
"mappings": "AAEA,SAAS,mBAAmB;AAC5B,SAAS,aAAa;AACtB,SAAS,4BAA4B;AAErC,SAAS,UAAU,cAAc,YAAY,sBAAsB;AAoC1D;AA1BF,MAAM,OAAO,WAA2B,SAAc,OAAO,cAAc;AAChF,QAAM,EAAE,UAAU,GAAG,UAAU,IAAI;AAEnC,MAAI,eAAe,QAAQ,GAAG;AAC5B,UAAM,cAAc,eAAe,UAAU,SAAS;AACtD,WAAO;AAAA,MACL;AAAA,MACA,SAAS,KAAK,kBACV,cACA;AAAA,QACE,GAAG;AAAA,QACH,KAAK,YAAY,cAAe,SAAiB,GAAG;AAAA,MACtD;AAAA,IACN;AAAA,EACF;AAEA,SAAO,SAAS,MAAM,QAAQ,IAAI,IAAI,SAAS,KAAK,IAAI,IAAI;AAC9D,CAAC;AAED,KAAK,cAAiB;AAMf,MAAM,YAAY,CAAC,EAAE,SAAS,MAC5B,gCAAG,UAAS;AAGrB,UAAU,cAAiB;AAI3B,MAAM,WAAW,QACb;AAAA,EACE,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AACb,IACA,CAAC;AAEL,SAAS,eAAe,OAAY,WAAgC;AAClE,QAAM,aAAa,MAAM,OAGnB,gBAAgB,EAAE,GAAG,WAAW,GAChC,cAAc,OAAO,MAAM,QAAS;AAE1C,MAAI;AACF,eAAW,OAAO;AAChB,MAAI,OAAO,cACT,UAAU,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,GACxC,OAAO,UAAU,GAAG;AAK1B,WAAS,YAAY,YAAY;AAC/B,UAAM,gBAAgB,UAAU,QAAQ,GAClC,iBAAiB,WAAW,QAAQ;AAE1C,IAAI,eAAe,YAAY,aAC7B,WAAW,SAAS,QAAQ,GAC5B,OAAO,cAAc,QAAQ,IAGb,YAAY,KAAK,QAAQ,IAGzC,cAAc,QAAQ,IAAI,qBAAqB,gBAAgB,aAAa,IAGrE,aAAa,UACpB,cAAc,QAAQ,IAAI,EAAE,GAAG,eAAe,GAAG,eAAe,IACvD,aAAa,gBACtB,cAAc,QAAQ,IAAI,CAAC,eAAe,cAAc,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,EAEtF;AAEA,SAAO,EAAE,GAAG,WAAW,GAAG,cAAc;AAC1C;AAEA,MAAM,cAAc;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { composeRefs } from "@tamagui/compose-refs";
|
|
2
|
+
import { isWeb } from "@tamagui/constants";
|
|
3
|
+
import { composeEventHandlers } from "@tamagui/helpers";
|
|
4
|
+
import { Children, cloneElement, forwardRef, isValidElement } from "react";
|
|
5
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
6
|
+
const Slot = forwardRef(function (props, forwardedRef) {
|
|
7
|
+
const {
|
|
8
|
+
children,
|
|
9
|
+
...slotProps
|
|
10
|
+
} = props;
|
|
11
|
+
if (isValidElement(children)) {
|
|
12
|
+
const mergedProps = mergeSlotProps(children, slotProps);
|
|
13
|
+
return cloneElement(children, children.type.avoidForwardRef ? mergedProps : {
|
|
14
|
+
...mergedProps,
|
|
15
|
+
ref: composeRefs(forwardedRef, children.ref)
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return Children.count(children) > 1 ? Children.only(null) : null;
|
|
19
|
+
});
|
|
20
|
+
Slot.displayName = "Slot";
|
|
21
|
+
const Slottable = ({
|
|
22
|
+
children
|
|
23
|
+
}) => /* @__PURE__ */jsx(Fragment, {
|
|
24
|
+
children
|
|
25
|
+
});
|
|
26
|
+
Slottable.displayName = "Slottable";
|
|
27
|
+
const pressMap = isWeb ? {
|
|
28
|
+
onPress: "onClick",
|
|
29
|
+
onPressOut: "onMouseUp",
|
|
30
|
+
onPressIn: "onMouseDown"
|
|
31
|
+
} : {};
|
|
32
|
+
function mergeSlotProps(child, slotProps) {
|
|
33
|
+
const childProps = child.props,
|
|
34
|
+
overrideProps = {
|
|
35
|
+
...childProps
|
|
36
|
+
},
|
|
37
|
+
isHTMLChild = typeof child.type == "string";
|
|
38
|
+
if (isHTMLChild) for (const key in pressMap) key in slotProps && (slotProps[pressMap[key]] = slotProps[key], delete slotProps[key]);
|
|
39
|
+
for (let propName in childProps) {
|
|
40
|
+
const slotPropValue = slotProps[propName],
|
|
41
|
+
childPropValue = childProps[propName];
|
|
42
|
+
isHTMLChild && propName in pressMap && (propName = pressMap[propName], delete overrideProps[propName]), handleRegex.test(propName) ? overrideProps[propName] = composeEventHandlers(childPropValue, slotPropValue) : propName === "style" ? overrideProps[propName] = {
|
|
43
|
+
...slotPropValue,
|
|
44
|
+
...childPropValue
|
|
45
|
+
} : propName === "className" && (overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" "));
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
...slotProps,
|
|
49
|
+
...overrideProps
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const handleRegex = /^on[A-Z]/;
|
|
53
|
+
export { Slot, Slottable };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/Slot.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,0BAA4B,kCAC5B,mBAAsB,+BACtB,iBAAqC,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,0BAA4B,kCAC5B,mBAAsB,+BACtB,iBAAqC,6BAErC,eAAmE,kBAoC1D;AA1BF,MAAM,WAAO,yBAA2B,SAAc,OAAO,cAAc;AAChF,QAAM,EAAE,UAAU,GAAG,UAAU,IAAI;AAEnC,UAAI,6BAAe,QAAQ,GAAG;AAC5B,UAAM,cAAc,eAAe,UAAU,SAAS;AACtD,eAAO;AAAA,MACL;AAAA,MACA,SAAS,KAAK,kBACV,cACA;AAAA,QACE,GAAG;AAAA,QACH,SAAK,iCAAY,cAAe,SAAiB,GAAG;AAAA,MACtD;AAAA,IACN;AAAA,EACF;AAEA,SAAO,sBAAS,MAAM,QAAQ,IAAI,IAAI,sBAAS,KAAK,IAAI,IAAI;AAC9D,CAAC;AAED,KAAK,cAAiB;AAMf,MAAM,YAAY,CAAC,EAAE,SAAS,MAC5B,2EAAG,UAAS;AAGrB,UAAU,cAAiB;AAI3B,MAAM,WAAW,yBACb;AAAA,EACE,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AACb,IACA,CAAC;AAEL,SAAS,eAAe,OAAY,WAAgC;AAClE,QAAM,aAAa,MAAM,OAGnB,gBAAgB,EAAE,GAAG,WAAW,GAChC,cAAc,OAAO,MAAM,QAAS;AAE1C,MAAI;AACF,eAAW,OAAO;AAChB,MAAI,OAAO,cACT,UAAU,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,GACxC,OAAO,UAAU,GAAG;AAK1B,WAAS,YAAY,YAAY;AAC/B,UAAM,gBAAgB,UAAU,QAAQ,GAClC,iBAAiB,WAAW,QAAQ;AAE1C,IAAI,eAAe,YAAY,aAC7B,WAAW,SAAS,QAAQ,GAC5B,OAAO,cAAc,QAAQ,IAGb,YAAY,KAAK,QAAQ,IAGzC,cAAc,QAAQ,QAAI,qCAAqB,gBAAgB,aAAa,IAGrE,aAAa,UACpB,cAAc,QAAQ,IAAI,EAAE,GAAG,eAAe,GAAG,eAAe,IACvD,aAAa,gBACtB,cAAc,QAAQ,IAAI,CAAC,eAAe,cAAc,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,EAEtF;AAEA,SAAO,EAAE,GAAG,WAAW,GAAG,cAAc;AAC1C;AAEA,MAAM,cAAc;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { validStyles } from "@tamagui/helpers";
|
|
2
|
+
import { stackDefaultStyles } from "../constants/constants.mjs";
|
|
3
|
+
import { createComponent } from "../createComponent.mjs";
|
|
4
|
+
const Stack = createComponent({
|
|
5
|
+
acceptsClassName: !0,
|
|
6
|
+
defaultProps: stackDefaultStyles,
|
|
7
|
+
validStyles
|
|
8
|
+
});
|
|
9
|
+
Stack.displayName = "Stack";
|
|
10
|
+
export { Stack };
|
|
@@ -11,19 +11,19 @@ function TamaguiProvider({
|
|
|
11
11
|
...themePropsProvider
|
|
12
12
|
}) {
|
|
13
13
|
return setupMediaListeners(), isClient && React.useLayoutEffect(() => {
|
|
14
|
-
if (config.disableSSR || document.documentElement.classList.contains("t_unmounted") && document.documentElement.classList.remove("t_unmounted"), !disableInjectCSS) {
|
|
14
|
+
if (config && (config.disableSSR || document.documentElement.classList.contains("t_unmounted") && document.documentElement.classList.remove("t_unmounted"), !disableInjectCSS)) {
|
|
15
15
|
const style = document.createElement("style");
|
|
16
16
|
return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), () => {
|
|
17
17
|
document.head.removeChild(style);
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
}, [config, disableInjectCSS]), /* @__PURE__ */ jsx(ComponentContext.Provider, { animationDriver: config
|
|
20
|
+
}, [config, disableInjectCSS]), /* @__PURE__ */ jsx(ComponentContext.Provider, { animationDriver: config?.animations, children: /* @__PURE__ */ jsx(
|
|
21
21
|
ThemeProvider,
|
|
22
22
|
{
|
|
23
|
-
themeClassNameOnRoot: config
|
|
24
|
-
disableRootThemeClass: config
|
|
23
|
+
themeClassNameOnRoot: config?.themeClassNameOnRoot,
|
|
24
|
+
disableRootThemeClass: config?.disableRootThemeClass,
|
|
25
25
|
...themePropsProvider,
|
|
26
|
-
defaultTheme: themePropsProvider.defaultTheme ?? Object.keys(config.themes)[0],
|
|
26
|
+
defaultTheme: themePropsProvider.defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
|
|
27
27
|
children
|
|
28
28
|
}
|
|
29
29
|
) });
|
|
@@ -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;
|
|
4
|
+
"mappings": "AAAA,SAAS,gBAAgB;AACzB,YAAY,WAAW;AAEvB,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAEpC,SAAS,qBAAqB;AAoCxB;AAlCC,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyB;AACvB,6BAAoB,GAEhB,YAGF,MAAM,gBAAgB,MAAM;AAC1B,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,GAI7B,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
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { isClient } from "@tamagui/constants";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { ComponentContext } from "../contexts/ComponentContext.mjs";
|
|
4
|
+
import { setupMediaListeners } from "../hooks/useMedia.mjs";
|
|
5
|
+
import { ThemeProvider } from "./ThemeProvider.mjs";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
function TamaguiProvider({
|
|
8
|
+
children,
|
|
9
|
+
disableInjectCSS,
|
|
10
|
+
config,
|
|
11
|
+
...themePropsProvider
|
|
12
|
+
}) {
|
|
13
|
+
return setupMediaListeners(), isClient && React.useLayoutEffect(() => {
|
|
14
|
+
if (config && (config.disableSSR || document.documentElement.classList.contains("t_unmounted") && document.documentElement.classList.remove("t_unmounted"), !disableInjectCSS)) {
|
|
15
|
+
const style = document.createElement("style");
|
|
16
|
+
return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), () => {
|
|
17
|
+
document.head.removeChild(style);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}, [config, disableInjectCSS]), /* @__PURE__ */jsx(ComponentContext.Provider, {
|
|
21
|
+
animationDriver: config?.animations,
|
|
22
|
+
children: /* @__PURE__ */jsx(ThemeProvider, {
|
|
23
|
+
themeClassNameOnRoot: config?.themeClassNameOnRoot,
|
|
24
|
+
disableRootThemeClass: config?.disableRootThemeClass,
|
|
25
|
+
...themePropsProvider,
|
|
26
|
+
defaultTheme: themePropsProvider.defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
|
|
27
|
+
children
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
TamaguiProvider.displayName = "TamaguiProvider";
|
|
32
|
+
export { TamaguiProvider };
|
|
@@ -34,19 +34,19 @@ function TamaguiProvider({
|
|
|
34
34
|
...themePropsProvider
|
|
35
35
|
}) {
|
|
36
36
|
return (0, import_useMedia.setupMediaListeners)(), import_constants.isClient && React.useLayoutEffect(() => {
|
|
37
|
-
if (config.disableSSR || document.documentElement.classList.contains("t_unmounted") && document.documentElement.classList.remove("t_unmounted"), !disableInjectCSS) {
|
|
37
|
+
if (config && (config.disableSSR || document.documentElement.classList.contains("t_unmounted") && document.documentElement.classList.remove("t_unmounted"), !disableInjectCSS)) {
|
|
38
38
|
const style = document.createElement("style");
|
|
39
39
|
return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), () => {
|
|
40
40
|
document.head.removeChild(style);
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
-
}, [config, disableInjectCSS]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, { animationDriver: config.animations, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
43
|
+
}, [config, disableInjectCSS]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, { animationDriver: config == null ? void 0 : config.animations, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
44
44
|
import_ThemeProvider.ThemeProvider,
|
|
45
45
|
{
|
|
46
|
-
themeClassNameOnRoot: config.themeClassNameOnRoot,
|
|
47
|
-
disableRootThemeClass: config.disableRootThemeClass,
|
|
46
|
+
themeClassNameOnRoot: config == null ? void 0 : config.themeClassNameOnRoot,
|
|
47
|
+
disableRootThemeClass: config == null ? void 0 : config.disableRootThemeClass,
|
|
48
48
|
...themePropsProvider,
|
|
49
|
-
defaultTheme: themePropsProvider.defaultTheme ?? Object.keys(config.themes)[0],
|
|
49
|
+
defaultTheme: themePropsProvider.defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
|
|
50
50
|
children
|
|
51
51
|
}
|
|
52
52
|
) });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/TamaguiProvider.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAyB,+BACzB,QAAuB,2BAEvB,0BAAiC,yCACjC,kBAAoC,8BAEpC,uBAA8B,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAyB,+BACzB,QAAuB,2BAEvB,0BAAiC,yCACjC,kBAAoC,8BAEpC,uBAA8B,4BAoCxB;AAlCC,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyB;AACvB,kDAAoB,GAEhB,6BAGF,MAAM,gBAAgB,MAAM;AAC1B,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,GAI7B,4CAAC,yCAAiB,UAAjB,EAA0B,iBAAiB,iCAAQ,YAClD;AAAA,IAAC;AAAA;AAAA,MACC,sBAAsB,iCAAQ;AAAA,MAC9B,uBAAuB,iCAAQ;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
|
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { stylePropsTextOnly, validStyles } from "@tamagui/helpers";
|
|
2
|
+
import { createComponent } from "../createComponent.mjs";
|
|
3
|
+
const ellipseStyle = {
|
|
4
|
+
maxWidth: "100%",
|
|
5
|
+
overflow: "hidden",
|
|
6
|
+
textOverflow: "ellipsis",
|
|
7
|
+
whiteSpace: "nowrap"
|
|
8
|
+
},
|
|
9
|
+
defaultWebStyle = {
|
|
10
|
+
display: "inline",
|
|
11
|
+
boxSizing: "border-box",
|
|
12
|
+
wordWrap: "break-word",
|
|
13
|
+
margin: 0
|
|
14
|
+
},
|
|
15
|
+
ellipsisStyle = ellipseStyle,
|
|
16
|
+
Text = createComponent({
|
|
17
|
+
acceptsClassName: !0,
|
|
18
|
+
isText: !0,
|
|
19
|
+
defaultProps: {
|
|
20
|
+
fontFamily: "unset",
|
|
21
|
+
...defaultWebStyle
|
|
22
|
+
},
|
|
23
|
+
inlineWhenUnflattened: /* @__PURE__ */new Set(["fontFamily"]),
|
|
24
|
+
variants: {
|
|
25
|
+
numberOfLines: {
|
|
26
|
+
1: ellipseStyle,
|
|
27
|
+
":number": numberOfLines => numberOfLines >= 1 ? {
|
|
28
|
+
WebkitLineClamp: numberOfLines,
|
|
29
|
+
WebkitBoxOrient: "vertical",
|
|
30
|
+
display: "-webkit-box",
|
|
31
|
+
overflow: "hidden"
|
|
32
|
+
} : null
|
|
33
|
+
},
|
|
34
|
+
// ??
|
|
35
|
+
ellipsizeMode: {
|
|
36
|
+
"...": () => null
|
|
37
|
+
},
|
|
38
|
+
selectable: {
|
|
39
|
+
true: {
|
|
40
|
+
userSelect: "text",
|
|
41
|
+
cursor: "text"
|
|
42
|
+
},
|
|
43
|
+
false: {
|
|
44
|
+
userSelect: "none",
|
|
45
|
+
cursor: "default"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
/**
|
|
49
|
+
* @deprecated Use ellipsis instead
|
|
50
|
+
*/
|
|
51
|
+
ellipse: {
|
|
52
|
+
true: ellipsisStyle
|
|
53
|
+
},
|
|
54
|
+
ellipsis: {
|
|
55
|
+
true: ellipsisStyle
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
validStyles: {
|
|
59
|
+
...validStyles,
|
|
60
|
+
...stylePropsTextOnly
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
Text.displayName = "Text";
|
|
64
|
+
export { Text };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/Theme.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,aAAa;AACtB,OAAO,SAAS,UAAU,cAAc,YAAY,gBAAgB,cAAc;AAElF,SAAS,wBAAwB;AACjC,SAAS,6BAA6B;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { isWeb } from "@tamagui/constants";
|
|
2
|
+
import React, { Children, cloneElement, forwardRef, isValidElement, useRef } from "react";
|
|
3
|
+
import { variableToString } from "../createVariable.mjs";
|
|
4
|
+
import { ThemeManagerIDContext } from "../helpers/ThemeManagerContext.mjs";
|
|
5
|
+
import { useChangeThemeEffect } from "../hooks/useTheme.mjs";
|
|
6
|
+
import { ThemeDebug } from "./ThemeDebug.mjs";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
const Theme = forwardRef(function ({
|
|
9
|
+
children,
|
|
10
|
+
...props
|
|
11
|
+
}, ref) {
|
|
12
|
+
if (props.disable) return children;
|
|
13
|
+
const isRoot = !!props._isRoot,
|
|
14
|
+
themeState = useChangeThemeEffect(props, isRoot);
|
|
15
|
+
let finalChildren = props["disable-child-theme"] ? Children.map(children, child => cloneElement(child, {
|
|
16
|
+
"data-disable-theme": !0
|
|
17
|
+
})) : children;
|
|
18
|
+
if (ref) try {
|
|
19
|
+
React.Children.only(finalChildren), finalChildren = cloneElement(finalChildren, {
|
|
20
|
+
ref
|
|
21
|
+
});
|
|
22
|
+
} catch {}
|
|
23
|
+
return process.env.NODE_ENV === "development" && props.debug === "visualize" && (finalChildren = /* @__PURE__ */jsx(ThemeDebug, {
|
|
24
|
+
themeState,
|
|
25
|
+
themeProps: props,
|
|
26
|
+
children: finalChildren
|
|
27
|
+
})), getThemedChildren(themeState, finalChildren, props, isRoot);
|
|
28
|
+
});
|
|
29
|
+
Theme.displayName = "Theme";
|
|
30
|
+
Theme.avoidForwardRef = !0;
|
|
31
|
+
function getThemedChildren(themeState, children, props, isRoot = !1) {
|
|
32
|
+
const {
|
|
33
|
+
themeManager,
|
|
34
|
+
isNewTheme
|
|
35
|
+
} = themeState;
|
|
36
|
+
if (!themeManager) throw new Error(process.env.NODE_ENV === "development" ? "\u274C No theme found, either incorrect name, potential duplicate tamagui deps, or TamaguiProvider not providing themes." : "\u274C 005");
|
|
37
|
+
const {
|
|
38
|
+
shallow,
|
|
39
|
+
forceClassName
|
|
40
|
+
} = props,
|
|
41
|
+
hasEverThemed = useRef(!1),
|
|
42
|
+
shouldRenderChildrenWithTheme = isNewTheme || props.inverse || hasEverThemed.current || forceClassName || isRoot;
|
|
43
|
+
if (shouldRenderChildrenWithTheme && (hasEverThemed.current = !0), !shouldRenderChildrenWithTheme) return children;
|
|
44
|
+
let next = children;
|
|
45
|
+
shallow && (next = Children.toArray(children).map(child => isValidElement(child) ? cloneElement(child, void 0, /* @__PURE__ */jsx(Theme, {
|
|
46
|
+
name: themeManager.state.parentName,
|
|
47
|
+
children: child.props.children
|
|
48
|
+
})) : child));
|
|
49
|
+
const elementsWithContext = /* @__PURE__ */jsx(ThemeManagerIDContext.Provider, {
|
|
50
|
+
value: themeManager.id,
|
|
51
|
+
children: next
|
|
52
|
+
});
|
|
53
|
+
return forceClassName === !1 ? elementsWithContext : isWeb ? wrapThemeElements({
|
|
54
|
+
children: elementsWithContext,
|
|
55
|
+
themeState,
|
|
56
|
+
forceClassName,
|
|
57
|
+
isRoot
|
|
58
|
+
}) : elementsWithContext;
|
|
59
|
+
}
|
|
60
|
+
function wrapThemeElements({
|
|
61
|
+
children,
|
|
62
|
+
themeState,
|
|
63
|
+
forceClassName,
|
|
64
|
+
isRoot
|
|
65
|
+
}) {
|
|
66
|
+
if (isRoot && forceClassName === !1) return children;
|
|
67
|
+
const inverse = themeState.inversed,
|
|
68
|
+
requiresExtraWrapper = inverse != null || forceClassName,
|
|
69
|
+
{
|
|
70
|
+
className,
|
|
71
|
+
style
|
|
72
|
+
} = getThemeClassNameAndStyle(themeState, isRoot);
|
|
73
|
+
let themedChildren = /* @__PURE__ */jsx("span", {
|
|
74
|
+
className: `${className} _dsp_contents is_Theme`,
|
|
75
|
+
style,
|
|
76
|
+
children
|
|
77
|
+
});
|
|
78
|
+
if (requiresExtraWrapper) {
|
|
79
|
+
const name = themeState.state?.name || "",
|
|
80
|
+
inverseClassName = name.startsWith("light") ? "t_light is_inversed" : name.startsWith("dark") ? "t_dark is_inversed" : "";
|
|
81
|
+
themedChildren = /* @__PURE__ */jsx("span", {
|
|
82
|
+
className: `${inverse ? inverseClassName : ""} _dsp_contents`,
|
|
83
|
+
children: themedChildren
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return themedChildren;
|
|
87
|
+
}
|
|
88
|
+
const emptyObj = {};
|
|
89
|
+
function getThemeClassNameAndStyle(themeState, isRoot = !1) {
|
|
90
|
+
if (!themeState.isNewTheme) return {
|
|
91
|
+
className: "",
|
|
92
|
+
style: emptyObj
|
|
93
|
+
};
|
|
94
|
+
const themeColor = themeState.state?.theme && themeState.isNewTheme ? variableToString(themeState.state.theme.color) : "",
|
|
95
|
+
style = themeColor ? {
|
|
96
|
+
color: themeColor
|
|
97
|
+
} : void 0;
|
|
98
|
+
let className = themeState.state?.className || "";
|
|
99
|
+
return isRoot && (className = className.replace("t_sub_theme", "")), {
|
|
100
|
+
style,
|
|
101
|
+
className
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
export { Theme, getThemedChildren };
|