@tamagui/web 1.116.0 → 1.116.2
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/Tamagui.js +63 -0
- package/dist/cjs/_withStableStyle.js +33 -0
- package/dist/cjs/config.js +97 -0
- package/dist/cjs/constants/accessibilityDirectMap.js +70 -0
- package/dist/cjs/constants/constants.js +36 -0
- package/dist/cjs/constants/isDevTools.js +28 -0
- package/dist/cjs/constants/webToNativeProps.js +22 -0
- package/dist/cjs/contexts/ComponentContext.js +32 -0
- package/dist/cjs/createComponent.js +670 -0
- package/dist/cjs/createFont.js +53 -0
- package/dist/cjs/createShorthands.js +23 -0
- package/dist/cjs/createTamagui.js +189 -0
- package/dist/cjs/createTheme.js +21 -0
- package/dist/cjs/createTokens.js +24 -0
- package/dist/cjs/createVariable.js +82 -0
- package/dist/cjs/createVariables.js +47 -0
- package/dist/cjs/defaultComponentState.js +33 -0
- package/dist/cjs/helpers/ThemeManager.js +166 -0
- package/dist/cjs/helpers/ThemeManagerContext.js +30 -0
- package/dist/cjs/helpers/createMediaStyle.js +74 -0
- package/dist/cjs/helpers/createShallowSetState.js +44 -0
- package/dist/cjs/helpers/createStyledContext.js +53 -0
- package/dist/cjs/helpers/defaultOffset.js +21 -0
- package/dist/cjs/helpers/expandStyle.js +73 -0
- package/dist/cjs/helpers/expandStyles.js +34 -0
- package/dist/cjs/helpers/getExpandedShorthands.js +29 -0
- package/dist/cjs/helpers/getFontLanguage.js +21 -0
- package/dist/cjs/helpers/getGroupPropParts.js +27 -0
- package/dist/cjs/helpers/getSplitStyles.js +685 -0
- package/dist/cjs/helpers/getStylesAtomic.js +152 -0
- package/dist/cjs/helpers/getThemeCSSRules.js +89 -0
- package/dist/cjs/helpers/getVariantExtras.js +58 -0
- package/dist/cjs/helpers/insertStyleRule.js +231 -0
- package/dist/cjs/helpers/isActivePlatform.js +31 -0
- package/dist/cjs/helpers/isActiveTheme.js +24 -0
- package/dist/cjs/helpers/isObj.js +21 -0
- package/dist/cjs/helpers/isTamaguiComponent.js +24 -0
- package/dist/cjs/helpers/isTamaguiElement.js +30 -0
- package/dist/cjs/helpers/log.js +31 -0
- package/dist/cjs/helpers/matchMedia.js +34 -0
- package/dist/cjs/helpers/matchMedia.native.js +2 -2
- package/dist/cjs/helpers/matchMedia.native.js.map +2 -2
- package/dist/cjs/helpers/mergeProps.js +41 -0
- package/dist/cjs/helpers/mergeVariants.js +38 -0
- package/dist/cjs/helpers/normalizeColor.js +43 -0
- package/dist/cjs/helpers/normalizeShadow.js +38 -0
- package/dist/cjs/helpers/normalizeStyle.js +36 -0
- package/dist/cjs/helpers/normalizeStylePropKeys.js +21 -0
- package/dist/cjs/helpers/normalizeValueWithProperty.js +54 -0
- package/dist/cjs/helpers/objectIdentityKey.js +38 -0
- package/dist/cjs/helpers/propMapper.js +238 -0
- package/dist/cjs/helpers/proxyThemeToParents.js +52 -0
- package/dist/cjs/helpers/proxyThemeVariables.js +31 -0
- package/dist/cjs/helpers/pseudoDescriptors.js +65 -0
- package/dist/cjs/helpers/registerCSSVariable.js +29 -0
- package/dist/cjs/helpers/setElementProps.js +24 -0
- package/dist/cjs/helpers/skipProps.js +68 -0
- package/dist/cjs/helpers/sortString.js +21 -0
- package/dist/cjs/helpers/subscribeToContextGroup.js +53 -0
- package/dist/cjs/helpers/themeable.js +55 -0
- package/dist/cjs/helpers/themes.js +33 -0
- package/dist/cjs/helpers/timer.js +27 -0
- package/dist/cjs/helpers/transformsToString.js +32 -0
- package/dist/cjs/helpers/webPropsToSkip.js +21 -0
- package/dist/cjs/helpers/wrapStyleTags.js +39 -0
- package/dist/cjs/hooks/useComponentState.js +115 -0
- package/dist/cjs/hooks/useConfiguration.js +37 -0
- package/dist/cjs/hooks/useDisableSSR.js +24 -0
- package/dist/cjs/hooks/useIsTouchDevice.js +22 -0
- package/dist/cjs/hooks/useMedia.cjs +1 -1
- package/dist/cjs/hooks/useMedia.js +207 -0
- package/dist/cjs/hooks/useMedia.js.map +6 -0
- package/dist/cjs/hooks/useMedia.native.js +1 -1
- package/dist/cjs/hooks/useMedia.native.js.map +2 -2
- package/dist/cjs/hooks/useProps.js +95 -0
- package/dist/cjs/hooks/useTheme.js +263 -0
- package/dist/cjs/hooks/useThemeName.js +39 -0
- package/dist/cjs/index.js +100 -0
- package/dist/cjs/inject-styles.js +28 -0
- package/dist/cjs/insertFont.js +65 -0
- package/dist/cjs/interfaces/CSSColorNames.js +14 -0
- package/dist/cjs/interfaces/GetRef.js +14 -0
- package/dist/cjs/interfaces/KeyTypes.js +14 -0
- package/dist/cjs/interfaces/RNExclusiveTypes.js +14 -0
- package/dist/cjs/interfaces/Role.js +14 -0
- package/dist/cjs/interfaces/TamaguiComponentEvents.js +14 -0
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.js +14 -0
- package/dist/cjs/interfaces/TamaguiComponentState.js +14 -0
- package/dist/cjs/interfaces/WebOnlyPressEvents.js +14 -0
- package/dist/cjs/setupHooks.js +25 -0
- package/dist/cjs/setupReactNative.js +46 -0
- package/dist/cjs/styled.js +74 -0
- package/dist/cjs/type-utils.js +14 -0
- package/dist/cjs/types.js +16 -0
- package/dist/cjs/views/Configuration.js +34 -0
- package/dist/cjs/views/FontLanguage.js +32 -0
- package/dist/cjs/views/FontLanguage.types.js +14 -0
- package/dist/cjs/views/Slot.js +59 -0
- package/dist/cjs/views/Stack.js +27 -0
- package/dist/cjs/views/TamaguiProvider.js +76 -0
- package/dist/cjs/views/Text.js +77 -0
- package/dist/cjs/views/Theme.js +103 -0
- package/dist/cjs/views/ThemeDebug.js +94 -0
- package/dist/cjs/views/ThemeProvider.js +45 -0
- package/dist/cjs/views/View.js +26 -0
- package/dist/esm/helpers/matchMedia.native.js +2 -2
- package/dist/esm/helpers/matchMedia.native.js.map +2 -2
- package/dist/esm/hooks/useMedia.js +1 -1
- package/dist/esm/hooks/useMedia.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +1 -1
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +1 -1
- package/dist/esm/hooks/useMedia.native.js.map +2 -2
- package/package.json +11 -11
- package/src/helpers/matchMedia.native.ts +12 -1
- package/src/hooks/useMedia.tsx +1 -0
- package/types/helpers/matchMedia.native.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/dist/cjs/constants/accessibilityDirectMap.native.cjs +0 -34
- package/dist/cjs/constants/accessibilityDirectMap.native.cjs.map +0 -6
- package/dist/cjs/constants/webToNativeProps.native.cjs +0 -102
- package/dist/cjs/constants/webToNativeProps.native.cjs.map +0 -6
- package/dist/cjs/helpers/getStylesAtomic.native.cjs +0 -33
- package/dist/cjs/helpers/getStylesAtomic.native.cjs.map +0 -6
- package/dist/cjs/helpers/getThemeCSSRules.native.cjs +0 -28
- package/dist/cjs/helpers/getThemeCSSRules.native.cjs.map +0 -6
- package/dist/cjs/helpers/matchMedia.native.cjs +0 -39
- package/dist/cjs/helpers/matchMedia.native.cjs.map +0 -6
- package/dist/cjs/helpers/normalizeStylePropKeys.native.cjs +0 -37
- package/dist/cjs/helpers/normalizeStylePropKeys.native.cjs.map +0 -6
- package/dist/cjs/helpers/setElementProps.native.cjs +0 -30
- package/dist/cjs/helpers/setElementProps.native.cjs.map +0 -6
- package/dist/cjs/helpers/webPropsToSkip.native.cjs +0 -79
- package/dist/cjs/helpers/webPropsToSkip.native.cjs.map +0 -6
- package/dist/cjs/hooks/useMedia.cjs.map +0 -6
- package/dist/cjs/views/FontLanguage.native.cjs +0 -50
- package/dist/cjs/views/FontLanguage.native.cjs.map +0 -6
- package/dist/cjs/views/ThemeDebug.native.cjs +0 -33
- package/dist/cjs/views/ThemeDebug.native.cjs.map +0 -6
- /package/dist/cjs/{Tamagui.cjs.map → Tamagui.js.map} +0 -0
- /package/dist/cjs/{_withStableStyle.cjs.map → _withStableStyle.js.map} +0 -0
- /package/dist/cjs/{config.cjs.map → config.js.map} +0 -0
- /package/dist/cjs/constants/{accessibilityDirectMap.cjs.map → accessibilityDirectMap.js.map} +0 -0
- /package/dist/cjs/constants/{constants.cjs.map → constants.js.map} +0 -0
- /package/dist/cjs/constants/{isDevTools.cjs.map → isDevTools.js.map} +0 -0
- /package/dist/cjs/constants/{webToNativeProps.cjs.map → webToNativeProps.js.map} +0 -0
- /package/dist/cjs/contexts/{ComponentContext.cjs.map → ComponentContext.js.map} +0 -0
- /package/dist/cjs/{createComponent.cjs.map → createComponent.js.map} +0 -0
- /package/dist/cjs/{createFont.cjs.map → createFont.js.map} +0 -0
- /package/dist/cjs/{createShorthands.cjs.map → createShorthands.js.map} +0 -0
- /package/dist/cjs/{createTamagui.cjs.map → createTamagui.js.map} +0 -0
- /package/dist/cjs/{createTheme.cjs.map → createTheme.js.map} +0 -0
- /package/dist/cjs/{createTokens.cjs.map → createTokens.js.map} +0 -0
- /package/dist/cjs/{createVariable.cjs.map → createVariable.js.map} +0 -0
- /package/dist/cjs/{createVariables.cjs.map → createVariables.js.map} +0 -0
- /package/dist/cjs/{defaultComponentState.cjs.map → defaultComponentState.js.map} +0 -0
- /package/dist/cjs/helpers/{ThemeManager.cjs.map → ThemeManager.js.map} +0 -0
- /package/dist/cjs/helpers/{ThemeManagerContext.cjs.map → ThemeManagerContext.js.map} +0 -0
- /package/dist/cjs/helpers/{createMediaStyle.cjs.map → createMediaStyle.js.map} +0 -0
- /package/dist/cjs/helpers/{createShallowSetState.cjs.map → createShallowSetState.js.map} +0 -0
- /package/dist/cjs/helpers/{createStyledContext.cjs.map → createStyledContext.js.map} +0 -0
- /package/dist/cjs/helpers/{defaultOffset.cjs.map → defaultOffset.js.map} +0 -0
- /package/dist/cjs/helpers/{expandStyle.cjs.map → expandStyle.js.map} +0 -0
- /package/dist/cjs/helpers/{expandStyles.cjs.map → expandStyles.js.map} +0 -0
- /package/dist/cjs/helpers/{getExpandedShorthands.cjs.map → getExpandedShorthands.js.map} +0 -0
- /package/dist/cjs/helpers/{getFontLanguage.cjs.map → getFontLanguage.js.map} +0 -0
- /package/dist/cjs/helpers/{getGroupPropParts.cjs.map → getGroupPropParts.js.map} +0 -0
- /package/dist/cjs/helpers/{getSplitStyles.cjs.map → getSplitStyles.js.map} +0 -0
- /package/dist/cjs/helpers/{getStylesAtomic.cjs.map → getStylesAtomic.js.map} +0 -0
- /package/dist/cjs/helpers/{getThemeCSSRules.cjs.map → getThemeCSSRules.js.map} +0 -0
- /package/dist/cjs/helpers/{getVariantExtras.cjs.map → getVariantExtras.js.map} +0 -0
- /package/dist/cjs/helpers/{insertStyleRule.cjs.map → insertStyleRule.js.map} +0 -0
- /package/dist/cjs/helpers/{isActivePlatform.cjs.map → isActivePlatform.js.map} +0 -0
- /package/dist/cjs/helpers/{isActiveTheme.cjs.map → isActiveTheme.js.map} +0 -0
- /package/dist/cjs/helpers/{isObj.cjs.map → isObj.js.map} +0 -0
- /package/dist/cjs/helpers/{isTamaguiComponent.cjs.map → isTamaguiComponent.js.map} +0 -0
- /package/dist/cjs/helpers/{isTamaguiElement.cjs.map → isTamaguiElement.js.map} +0 -0
- /package/dist/cjs/helpers/{log.cjs.map → log.js.map} +0 -0
- /package/dist/cjs/helpers/{matchMedia.cjs.map → matchMedia.js.map} +0 -0
- /package/dist/cjs/helpers/{mergeProps.cjs.map → mergeProps.js.map} +0 -0
- /package/dist/cjs/helpers/{mergeVariants.cjs.map → mergeVariants.js.map} +0 -0
- /package/dist/cjs/helpers/{normalizeColor.cjs.map → normalizeColor.js.map} +0 -0
- /package/dist/cjs/helpers/{normalizeShadow.cjs.map → normalizeShadow.js.map} +0 -0
- /package/dist/cjs/helpers/{normalizeStyle.cjs.map → normalizeStyle.js.map} +0 -0
- /package/dist/cjs/helpers/{normalizeStylePropKeys.cjs.map → normalizeStylePropKeys.js.map} +0 -0
- /package/dist/cjs/helpers/{normalizeValueWithProperty.cjs.map → normalizeValueWithProperty.js.map} +0 -0
- /package/dist/cjs/helpers/{objectIdentityKey.cjs.map → objectIdentityKey.js.map} +0 -0
- /package/dist/cjs/helpers/{propMapper.cjs.map → propMapper.js.map} +0 -0
- /package/dist/cjs/helpers/{proxyThemeToParents.cjs.map → proxyThemeToParents.js.map} +0 -0
- /package/dist/cjs/helpers/{proxyThemeVariables.cjs.map → proxyThemeVariables.js.map} +0 -0
- /package/dist/cjs/helpers/{pseudoDescriptors.cjs.map → pseudoDescriptors.js.map} +0 -0
- /package/dist/cjs/helpers/{registerCSSVariable.cjs.map → registerCSSVariable.js.map} +0 -0
- /package/dist/cjs/helpers/{setElementProps.cjs.map → setElementProps.js.map} +0 -0
- /package/dist/cjs/helpers/{skipProps.cjs.map → skipProps.js.map} +0 -0
- /package/dist/cjs/helpers/{sortString.cjs.map → sortString.js.map} +0 -0
- /package/dist/cjs/helpers/{subscribeToContextGroup.cjs.map → subscribeToContextGroup.js.map} +0 -0
- /package/dist/cjs/helpers/{themeable.cjs.map → themeable.js.map} +0 -0
- /package/dist/cjs/helpers/{themes.cjs.map → themes.js.map} +0 -0
- /package/dist/cjs/helpers/{timer.cjs.map → timer.js.map} +0 -0
- /package/dist/cjs/helpers/{transformsToString.cjs.map → transformsToString.js.map} +0 -0
- /package/dist/cjs/helpers/{webPropsToSkip.cjs.map → webPropsToSkip.js.map} +0 -0
- /package/dist/cjs/helpers/{wrapStyleTags.cjs.map → wrapStyleTags.js.map} +0 -0
- /package/dist/cjs/hooks/{useComponentState.cjs.map → useComponentState.js.map} +0 -0
- /package/dist/cjs/hooks/{useConfiguration.cjs.map → useConfiguration.js.map} +0 -0
- /package/dist/cjs/hooks/{useDisableSSR.cjs.map → useDisableSSR.js.map} +0 -0
- /package/dist/cjs/hooks/{useIsTouchDevice.cjs.map → useIsTouchDevice.js.map} +0 -0
- /package/dist/cjs/hooks/{useProps.cjs.map → useProps.js.map} +0 -0
- /package/dist/cjs/hooks/{useTheme.cjs.map → useTheme.js.map} +0 -0
- /package/dist/cjs/hooks/{useThemeName.cjs.map → useThemeName.js.map} +0 -0
- /package/dist/cjs/{index.cjs.map → index.js.map} +0 -0
- /package/dist/cjs/{inject-styles.cjs.map → inject-styles.js.map} +0 -0
- /package/dist/cjs/{insertFont.cjs.map → insertFont.js.map} +0 -0
- /package/dist/cjs/interfaces/{CSSColorNames.cjs.map → CSSColorNames.js.map} +0 -0
- /package/dist/cjs/interfaces/{GetRef.cjs.map → GetRef.js.map} +0 -0
- /package/dist/cjs/interfaces/{KeyTypes.cjs.map → KeyTypes.js.map} +0 -0
- /package/dist/cjs/interfaces/{RNExclusiveTypes.cjs.map → RNExclusiveTypes.js.map} +0 -0
- /package/dist/cjs/interfaces/{Role.cjs.map → Role.js.map} +0 -0
- /package/dist/cjs/interfaces/{TamaguiComponentEvents.cjs.map → TamaguiComponentEvents.js.map} +0 -0
- /package/dist/cjs/interfaces/{TamaguiComponentPropsBaseBase.cjs.map → TamaguiComponentPropsBaseBase.js.map} +0 -0
- /package/dist/cjs/interfaces/{TamaguiComponentState.cjs.map → TamaguiComponentState.js.map} +0 -0
- /package/dist/cjs/interfaces/{WebOnlyPressEvents.cjs.map → WebOnlyPressEvents.js.map} +0 -0
- /package/dist/cjs/{setupHooks.cjs.map → setupHooks.js.map} +0 -0
- /package/dist/cjs/{setupReactNative.cjs.map → setupReactNative.js.map} +0 -0
- /package/dist/cjs/{styled.cjs.map → styled.js.map} +0 -0
- /package/dist/cjs/{type-utils.cjs.map → type-utils.js.map} +0 -0
- /package/dist/cjs/{types.cjs.map → types.js.map} +0 -0
- /package/dist/cjs/views/{Configuration.cjs.map → Configuration.js.map} +0 -0
- /package/dist/cjs/views/{FontLanguage.cjs.map → FontLanguage.js.map} +0 -0
- /package/dist/cjs/views/{FontLanguage.types.cjs.map → FontLanguage.types.js.map} +0 -0
- /package/dist/cjs/views/{Slot.cjs.map → Slot.js.map} +0 -0
- /package/dist/cjs/views/{Stack.cjs.map → Stack.js.map} +0 -0
- /package/dist/cjs/views/{TamaguiProvider.cjs.map → TamaguiProvider.js.map} +0 -0
- /package/dist/cjs/views/{Text.cjs.map → Text.js.map} +0 -0
- /package/dist/cjs/views/{Theme.cjs.map → Theme.js.map} +0 -0
- /package/dist/cjs/views/{ThemeDebug.cjs.map → ThemeDebug.js.map} +0 -0
- /package/dist/cjs/views/{ThemeProvider.cjs.map → ThemeProvider.js.map} +0 -0
- /package/dist/cjs/views/{View.cjs.map → View.js.map} +0 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var createFont_exports = {};
|
|
16
|
+
__export(createFont_exports, {
|
|
17
|
+
createFont: () => createFont
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(createFont_exports);
|
|
20
|
+
const fontWeights = [
|
|
21
|
+
"100",
|
|
22
|
+
"200",
|
|
23
|
+
"300",
|
|
24
|
+
"400",
|
|
25
|
+
"500",
|
|
26
|
+
"600",
|
|
27
|
+
"700",
|
|
28
|
+
"800",
|
|
29
|
+
"900"
|
|
30
|
+
], processSection = (section, keys, defaultValue) => {
|
|
31
|
+
if (typeof section == "string") return section;
|
|
32
|
+
const sectionKeys = Object.keys(section);
|
|
33
|
+
let fillValue = section[sectionKeys[0]];
|
|
34
|
+
return Object.fromEntries(
|
|
35
|
+
[.../* @__PURE__ */ new Set([...keys, ...sectionKeys])].map((key) => {
|
|
36
|
+
const value = section[key] ?? defaultValue ?? fillValue;
|
|
37
|
+
return fillValue = value, defaultValue = value, [key, value];
|
|
38
|
+
})
|
|
39
|
+
);
|
|
40
|
+
}, createFont = (font) => {
|
|
41
|
+
const sizeKeys = Object.keys(font.size), processedFont = Object.fromEntries(
|
|
42
|
+
Object.entries(font).map(([key, section]) => [
|
|
43
|
+
key,
|
|
44
|
+
processSection(
|
|
45
|
+
section,
|
|
46
|
+
key === "face" ? fontWeights : sizeKeys,
|
|
47
|
+
key === "face" ? { normal: font.family } : void 0
|
|
48
|
+
)
|
|
49
|
+
])
|
|
50
|
+
);
|
|
51
|
+
return Object.freeze(processedFont);
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=createFont.js.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var createShorthands_exports = {};
|
|
16
|
+
__export(createShorthands_exports, {
|
|
17
|
+
createShorthands: () => createShorthands
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(createShorthands_exports);
|
|
20
|
+
function createShorthands(shorthands) {
|
|
21
|
+
return Object.freeze(shorthands);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=createShorthands.js.map
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var createTamagui_exports = {};
|
|
16
|
+
__export(createTamagui_exports, {
|
|
17
|
+
createTamagui: () => createTamagui
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(createTamagui_exports);
|
|
20
|
+
var import_constants = require("@tamagui/constants"), import_config = require("./config"), import_createVariables = require("./createVariables"), import_getThemeCSSRules = require("./helpers/getThemeCSSRules"), import_insertStyleRule = require("./helpers/insertStyleRule"), import_proxyThemeToParents = require("./helpers/proxyThemeToParents"), import_registerCSSVariable = require("./helpers/registerCSSVariable"), import_themes = require("./helpers/themes"), import_useMedia = require("./hooks/useMedia"), import_insertFont = require("./insertFont"), import_Tamagui = require("./Tamagui");
|
|
21
|
+
const createdConfigs = /* @__PURE__ */ new WeakMap();
|
|
22
|
+
function createTamagui(configIn) {
|
|
23
|
+
if (createdConfigs.has(configIn))
|
|
24
|
+
return configIn;
|
|
25
|
+
const tokensParsed = {}, tokens = (0, import_createVariables.createVariables)(configIn.tokens || {});
|
|
26
|
+
if (configIn.tokens) {
|
|
27
|
+
const tokensMerged = {};
|
|
28
|
+
for (const cat in tokens) {
|
|
29
|
+
tokensParsed[cat] = {}, tokensMerged[cat] = {};
|
|
30
|
+
const tokenCat = tokens[cat];
|
|
31
|
+
for (const key in tokenCat) {
|
|
32
|
+
const val = tokenCat[key], prefixedKey = `$${key}`;
|
|
33
|
+
tokensParsed[cat][prefixedKey] = val, tokensMerged[cat][prefixedKey] = val, tokensMerged[cat][key] = val;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
(0, import_config.setTokens)(tokensMerged);
|
|
37
|
+
}
|
|
38
|
+
let foundThemes;
|
|
39
|
+
if (configIn.themes) {
|
|
40
|
+
const noThemes = Object.keys(configIn.themes).length === 0;
|
|
41
|
+
noThemes && (foundThemes = (0, import_insertStyleRule.scanAllSheets)(noThemes, tokensParsed)), process.env.TAMAGUI_REACT_19 && process.env.TAMAGUI_SKIP_THEME_OPTIMIZATION || noThemes && (0, import_insertStyleRule.listenForSheetChanges)();
|
|
42
|
+
}
|
|
43
|
+
let fontSizeTokens = null, fontsParsed;
|
|
44
|
+
if (configIn.fonts) {
|
|
45
|
+
const fontTokens = Object.fromEntries(
|
|
46
|
+
Object.entries(configIn.fonts).map(([k, v]) => [k, (0, import_createVariables.createVariables)(v, "f", !0)])
|
|
47
|
+
);
|
|
48
|
+
fontsParsed = (() => {
|
|
49
|
+
const res = {};
|
|
50
|
+
for (const familyName in fontTokens) {
|
|
51
|
+
const font = fontTokens[familyName], fontParsed = (0, import_insertFont.parseFont)(font);
|
|
52
|
+
res[`$${familyName}`] = fontParsed, !fontSizeTokens && fontParsed.size && (fontSizeTokens = new Set(Object.keys(fontParsed.size)));
|
|
53
|
+
}
|
|
54
|
+
return res;
|
|
55
|
+
})();
|
|
56
|
+
}
|
|
57
|
+
const specificTokens = {}, themeConfig = (() => {
|
|
58
|
+
const cssRuleSets = [], declarations = [], fontDeclarations = {};
|
|
59
|
+
for (const key in tokens)
|
|
60
|
+
for (const skey in tokens[key]) {
|
|
61
|
+
const variable = tokens[key][skey];
|
|
62
|
+
if (specificTokens[`$${key}.${skey}`] = variable, process.env.NODE_ENV === "development" && typeof variable > "u")
|
|
63
|
+
throw new Error(
|
|
64
|
+
`No value for tokens.${key}.${skey}:
|
|
65
|
+
${JSON.stringify(variable, null, 2)}`
|
|
66
|
+
);
|
|
67
|
+
import_constants.isWeb && ((0, import_registerCSSVariable.registerCSSVariable)(variable), declarations.push((0, import_registerCSSVariable.variableToCSS)(variable, key === "zIndex")));
|
|
68
|
+
}
|
|
69
|
+
if (import_constants.isWeb) {
|
|
70
|
+
let declarationsToRuleSet = function(decs, selector = "") {
|
|
71
|
+
return `:root${selector} {${sep}${[...decs].join(`;${sep}`)}${sep}}`;
|
|
72
|
+
};
|
|
73
|
+
for (const key in fontsParsed) {
|
|
74
|
+
const fontParsed = fontsParsed[key], [name, language] = key.includes("_") ? key.split("_") : [key], fontVars = (0, import_insertFont.registerFontVariables)(fontParsed);
|
|
75
|
+
fontDeclarations[key] = {
|
|
76
|
+
name: name.slice(1),
|
|
77
|
+
declarations: fontVars,
|
|
78
|
+
language
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const sep = configIn.cssStyleSeparator || "";
|
|
82
|
+
if (cssRuleSets.push(declarationsToRuleSet(declarations)), fontDeclarations)
|
|
83
|
+
for (const key in fontDeclarations) {
|
|
84
|
+
const { name, declarations: declarations2, language = "default" } = fontDeclarations[key], fontSelector = `.font_${name}`, langSelector = `:root .t_lang-${name}-${language} ${fontSelector}`, selectors = language === "default" ? ` ${fontSelector}, ${langSelector}` : langSelector, specificRuleSet = declarationsToRuleSet(declarations2, selectors);
|
|
85
|
+
cssRuleSets.push(specificRuleSet);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
const themesIn = configIn.themes, dedupedThemes = foundThemes ?? getThemesDeduped(themesIn);
|
|
89
|
+
return {
|
|
90
|
+
themes: (0, import_proxyThemeToParents.proxyThemesToParents)(dedupedThemes),
|
|
91
|
+
cssRuleSets,
|
|
92
|
+
getThemeRulesSets() {
|
|
93
|
+
let themeRuleSets = [];
|
|
94
|
+
if (import_constants.isWeb)
|
|
95
|
+
for (const { names, theme } of dedupedThemes) {
|
|
96
|
+
const nextRules = (0, import_getThemeCSSRules.getThemeCSSRules)({
|
|
97
|
+
config: configIn,
|
|
98
|
+
themeName: names[0],
|
|
99
|
+
names,
|
|
100
|
+
theme
|
|
101
|
+
});
|
|
102
|
+
themeRuleSets = [...themeRuleSets, ...nextRules];
|
|
103
|
+
}
|
|
104
|
+
return themeRuleSets;
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
})(), shorthands = configIn.shorthands || {};
|
|
108
|
+
let lastCSSInsertedRulesIndex = -1;
|
|
109
|
+
const getCSS = (opts = {}) => {
|
|
110
|
+
const { separator = `
|
|
111
|
+
`, sinceLastCall, exclude } = opts;
|
|
112
|
+
if (sinceLastCall && lastCSSInsertedRulesIndex >= 0) {
|
|
113
|
+
const rules = (0, import_insertStyleRule.getAllRules)();
|
|
114
|
+
return lastCSSInsertedRulesIndex = rules.length, rules.slice(lastCSSInsertedRulesIndex).join(separator);
|
|
115
|
+
}
|
|
116
|
+
lastCSSInsertedRulesIndex = 0;
|
|
117
|
+
const runtimeStyles = (0, import_insertStyleRule.getAllRules)().join(separator);
|
|
118
|
+
return exclude === "design-system" ? runtimeStyles : `${`._ovs-contain {overscroll-behavior:contain;}
|
|
119
|
+
.is_Text .is_Text {display:inline-flex;}
|
|
120
|
+
._dsp_contents {display:contents;}
|
|
121
|
+
${themeConfig.cssRuleSets.join(separator)}`}
|
|
122
|
+
${exclude ? "" : themeConfig.getThemeRulesSets().join(separator)}
|
|
123
|
+
${runtimeStyles}`;
|
|
124
|
+
}, getNewCSS = (opts) => getCSS({ ...opts, sinceLastCall: !0 }), defaultFontSetting = configIn.settings?.defaultFont ?? configIn.defaultFont, defaultFont = (() => {
|
|
125
|
+
let val = defaultFontSetting;
|
|
126
|
+
return val?.[0] === "$" && (val = val.slice(1)), val;
|
|
127
|
+
})(), defaultFontToken = defaultFont ? `$${defaultFont}` : "", unset = { ...configIn.unset };
|
|
128
|
+
!unset.fontFamily && defaultFont && (unset.fontFamily = defaultFontToken);
|
|
129
|
+
const config = {
|
|
130
|
+
fonts: {},
|
|
131
|
+
onlyAllowShorthands: !1,
|
|
132
|
+
fontLanguages: [],
|
|
133
|
+
animations: {},
|
|
134
|
+
media: {},
|
|
135
|
+
...configIn,
|
|
136
|
+
unset,
|
|
137
|
+
settings: {
|
|
138
|
+
// move deprecated settings here so we can reference them all using `getSetting`
|
|
139
|
+
// TODO remove this on v2
|
|
140
|
+
disableSSR: configIn.disableSSR,
|
|
141
|
+
defaultFont: configIn.defaultFont,
|
|
142
|
+
disableRootThemeClass: configIn.disableRootThemeClass,
|
|
143
|
+
onlyAllowShorthands: configIn.onlyAllowShorthands,
|
|
144
|
+
mediaQueryDefaultActive: configIn.mediaQueryDefaultActive,
|
|
145
|
+
themeClassNameOnRoot: configIn.themeClassNameOnRoot,
|
|
146
|
+
cssStyleSeparator: configIn.cssStyleSeparator,
|
|
147
|
+
webContainerType: "inline-size",
|
|
148
|
+
...configIn.settings
|
|
149
|
+
},
|
|
150
|
+
tokens,
|
|
151
|
+
// vite made this into a function if it wasn't set
|
|
152
|
+
shorthands,
|
|
153
|
+
inverseShorthands: shorthands ? Object.fromEntries(Object.entries(shorthands).map(([k, v]) => [v, k])) : {},
|
|
154
|
+
themes: themeConfig.themes,
|
|
155
|
+
fontsParsed: fontsParsed || {},
|
|
156
|
+
themeConfig,
|
|
157
|
+
tokensParsed,
|
|
158
|
+
parsed: !0,
|
|
159
|
+
getNewCSS,
|
|
160
|
+
getCSS,
|
|
161
|
+
defaultFont,
|
|
162
|
+
fontSizeTokens: fontSizeTokens || /* @__PURE__ */ new Set(),
|
|
163
|
+
specificTokens,
|
|
164
|
+
defaultFontToken
|
|
165
|
+
// const tokens = [...getToken(tokens.size[0])]
|
|
166
|
+
// .spacer-sm + ._dsp_contents._dsp-sm-hidden { margin-left: -var(--${}) }
|
|
167
|
+
};
|
|
168
|
+
return (0, import_config.setConfig)(config), (0, import_useMedia.configureMedia)(config), createdConfigs.set(config, !0), import_config.configListeners.size && (import_config.configListeners.forEach((cb) => cb(config)), import_config.configListeners.clear()), process.env.NODE_ENV === "development" && (process.env.DEBUG?.startsWith("tamagui") && console.info("Tamagui config:", config), globalThis.Tamagui || (globalThis.Tamagui = import_Tamagui.Tamagui)), config;
|
|
169
|
+
}
|
|
170
|
+
function getThemesDeduped(themes) {
|
|
171
|
+
const dedupedThemes = [], existing = /* @__PURE__ */ new Map();
|
|
172
|
+
for (const themeName in themes) {
|
|
173
|
+
const darkOrLightSpecificPrefix = themeName.startsWith("dark") ? "dark" : themeName.startsWith("light") ? "light" : "", rawTheme = themes[themeName], key = darkOrLightSpecificPrefix + JSON.stringify(rawTheme);
|
|
174
|
+
if (existing.has(key)) {
|
|
175
|
+
existing.get(key).names.push(themeName);
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
const theme = { ...rawTheme };
|
|
179
|
+
for (const key2 in theme)
|
|
180
|
+
(0, import_themes.ensureThemeVariable)(theme, key2);
|
|
181
|
+
const deduped = {
|
|
182
|
+
names: [themeName],
|
|
183
|
+
theme
|
|
184
|
+
};
|
|
185
|
+
dedupedThemes.push(deduped), existing.set(key, deduped);
|
|
186
|
+
}
|
|
187
|
+
return dedupedThemes;
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=createTamagui.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var createTheme_exports = {};
|
|
16
|
+
__export(createTheme_exports, {
|
|
17
|
+
createTheme: () => createTheme
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(createTheme_exports);
|
|
20
|
+
const createTheme = (theme) => theme;
|
|
21
|
+
//# sourceMappingURL=createTheme.js.map
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var createTokens_exports = {};
|
|
16
|
+
__export(createTokens_exports, {
|
|
17
|
+
createTokens: () => createTokens
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(createTokens_exports);
|
|
20
|
+
var import_createVariables = require("./createVariables");
|
|
21
|
+
function createTokens(tokens) {
|
|
22
|
+
return (0, import_createVariables.createVariables)(tokens, process.env.TAMAGUI_TOKEN_PREFIX ?? "t");
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=createTokens.js.map
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var createVariable_exports = {};
|
|
16
|
+
__export(createVariable_exports, {
|
|
17
|
+
createCSSVariable: () => createCSSVariable,
|
|
18
|
+
createVariable: () => createVariable,
|
|
19
|
+
didGetVariableValue: () => didGetVariableValue,
|
|
20
|
+
getVariable: () => getVariable,
|
|
21
|
+
getVariableName: () => getVariableName,
|
|
22
|
+
getVariableValue: () => getVariableValue,
|
|
23
|
+
getVariableVariable: () => getVariableVariable,
|
|
24
|
+
isVariable: () => isVariable,
|
|
25
|
+
setDidGetVariableValue: () => setDidGetVariableValue,
|
|
26
|
+
variableToString: () => variableToString
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(createVariable_exports);
|
|
29
|
+
var import_constants = require("@tamagui/constants"), import_helpers = require("@tamagui/helpers"), import_config = require("./config");
|
|
30
|
+
function constructCSSVariableName(name) {
|
|
31
|
+
return `var(--${process.env.TAMAGUI_CSS_VARIABLE_PREFIX || ""}${name})`;
|
|
32
|
+
}
|
|
33
|
+
const createVariable = (props, skipHash = !1) => {
|
|
34
|
+
if (!skipHash && isVariable(props)) return props;
|
|
35
|
+
const { key, name, val } = props;
|
|
36
|
+
return {
|
|
37
|
+
isVar: !0,
|
|
38
|
+
key,
|
|
39
|
+
name: skipHash ? name : (0, import_helpers.simpleHash)(name, 40),
|
|
40
|
+
val,
|
|
41
|
+
variable: import_constants.isWeb ? skipHash ? constructCSSVariableName(name) : createCSSVariable(name) : ""
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
function variableToString(vrble, getValue = !1) {
|
|
45
|
+
return isVariable(vrble) ? !getValue && import_constants.isWeb && vrble.variable ? vrble.variable : `${vrble.val}` : `${vrble || ""}`;
|
|
46
|
+
}
|
|
47
|
+
function isVariable(v) {
|
|
48
|
+
return v && typeof v == "object" && "isVar" in v;
|
|
49
|
+
}
|
|
50
|
+
function getVariable(nameOrVariable, group = "size") {
|
|
51
|
+
if (nameOrVariable?.dynamic)
|
|
52
|
+
return nameOrVariable;
|
|
53
|
+
if (setDidGetVariableValue(!0), isVariable(nameOrVariable))
|
|
54
|
+
return variableToString(nameOrVariable);
|
|
55
|
+
const tokens = (0, import_config.getConfig)().tokensParsed;
|
|
56
|
+
return variableToString(tokens[group]?.[nameOrVariable] ?? nameOrVariable);
|
|
57
|
+
}
|
|
58
|
+
let accessed = !1;
|
|
59
|
+
const setDidGetVariableValue = (val) => accessed = val, didGetVariableValue = () => accessed;
|
|
60
|
+
function getVariableValue(v, group) {
|
|
61
|
+
if (isVariable(v))
|
|
62
|
+
return setDidGetVariableValue(!0), v.val;
|
|
63
|
+
if (group) {
|
|
64
|
+
const token = (0, import_config.getConfig)().tokensParsed[group]?.[v];
|
|
65
|
+
if (token)
|
|
66
|
+
return setDidGetVariableValue(!0), token.val;
|
|
67
|
+
}
|
|
68
|
+
return v;
|
|
69
|
+
}
|
|
70
|
+
function getVariableName(v) {
|
|
71
|
+
return isVariable(v) ? v.name : v;
|
|
72
|
+
}
|
|
73
|
+
function getVariableVariable(v) {
|
|
74
|
+
return isVariable(v) ? v.variable : v;
|
|
75
|
+
}
|
|
76
|
+
const createCSSVariable = (nameProp, includeVar = !0) => {
|
|
77
|
+
if (process.env.NODE_ENV === "development" && (!nameProp || typeof nameProp != "string"))
|
|
78
|
+
throw new Error(`createCSSVariable expected string, got: ${nameProp}`);
|
|
79
|
+
const name = (0, import_helpers.simpleHash)(nameProp, 60);
|
|
80
|
+
return includeVar ? constructCSSVariableName(name) : name;
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=createVariable.js.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var createVariables_exports = {};
|
|
16
|
+
__export(createVariables_exports, {
|
|
17
|
+
createVariables: () => createVariables
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(createVariables_exports);
|
|
20
|
+
var import_helpers = require("@tamagui/helpers"), import_createVariable = require("./createVariable");
|
|
21
|
+
const cache = /* @__PURE__ */ new WeakMap(), createVariables = (tokens, parentPath = "", isFont = !1) => {
|
|
22
|
+
if (cache.has(tokens)) return tokens;
|
|
23
|
+
const res = {};
|
|
24
|
+
let i = 0;
|
|
25
|
+
for (let keyIn in tokens) {
|
|
26
|
+
i++;
|
|
27
|
+
const val = tokens[keyIn], isPrefixed = keyIn[0] === "$", keyWithPrefix = isPrefixed ? keyIn : `$${keyIn}`, key = isPrefixed ? keyWithPrefix.slice(1) : keyIn;
|
|
28
|
+
if ((0, import_createVariable.isVariable)(val)) {
|
|
29
|
+
res[key] = val;
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
const niceKey = (0, import_helpers.simpleHash)(key, 1e3), name = parentPath && parentPath !== "t-color" ? `${parentPath}-${niceKey}` : `c-${niceKey}`;
|
|
33
|
+
if (val && typeof val == "object") {
|
|
34
|
+
res[key] = createVariables(
|
|
35
|
+
tokens[key],
|
|
36
|
+
name,
|
|
37
|
+
!1
|
|
38
|
+
/* note: don't pass isFont down, we want to avoid it past the first level */
|
|
39
|
+
);
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
const finalValue = (0, import_createVariable.isVariable)(val) ? val : (0, import_createVariable.createVariable)({ val, name, key: keyWithPrefix });
|
|
43
|
+
res[key] = finalValue;
|
|
44
|
+
}
|
|
45
|
+
return cache.set(res, !0), res;
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=createVariables.js.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var defaultComponentState_exports = {};
|
|
16
|
+
__export(defaultComponentState_exports, {
|
|
17
|
+
defaultComponentState: () => defaultComponentState,
|
|
18
|
+
defaultComponentStateMounted: () => defaultComponentStateMounted
|
|
19
|
+
});
|
|
20
|
+
module.exports = __toCommonJS(defaultComponentState_exports);
|
|
21
|
+
const defaultComponentState = {
|
|
22
|
+
hover: !1,
|
|
23
|
+
press: !1,
|
|
24
|
+
pressIn: !1,
|
|
25
|
+
focus: !1,
|
|
26
|
+
focusVisible: !1,
|
|
27
|
+
unmounted: !0,
|
|
28
|
+
disabled: !1
|
|
29
|
+
}, defaultComponentStateMounted = {
|
|
30
|
+
...defaultComponentState,
|
|
31
|
+
unmounted: !1
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=defaultComponentState.js.map
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var ThemeManager_exports = {};
|
|
16
|
+
__export(ThemeManager_exports, {
|
|
17
|
+
ThemeManager: () => ThemeManager,
|
|
18
|
+
getHasThemeUpdatingProps: () => getHasThemeUpdatingProps,
|
|
19
|
+
getManagers: () => getManagers
|
|
20
|
+
});
|
|
21
|
+
module.exports = __toCommonJS(ThemeManager_exports);
|
|
22
|
+
var import_constants = require("@tamagui/constants"), import_config = require("../config"), import_constants2 = require("../constants/constants");
|
|
23
|
+
const emptyState = { name: "" };
|
|
24
|
+
function getHasThemeUpdatingProps(props) {
|
|
25
|
+
return !!(props.name || props.componentName || props.inverse || props.reset);
|
|
26
|
+
}
|
|
27
|
+
let uid = 0;
|
|
28
|
+
class ThemeManager {
|
|
29
|
+
constructor(props = {}, parentManager) {
|
|
30
|
+
this.props = props;
|
|
31
|
+
if (uid = (uid + 1) % Number.MAX_VALUE, this.id = uid, parentManager === "root") {
|
|
32
|
+
this.updateStateFromProps(props, !1);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (!parentManager)
|
|
36
|
+
throw process.env.NODE_ENV !== "production" ? new Error(
|
|
37
|
+
"No parent manager given, this is likely due to duplicated Tamagui dependencies. Check your lockfile for mis-matched versions. It could also be from an error somewhere else in your stack causing Tamagui to recieve undefined context, you can try putting some ErrorBoundary components around other areas of your app, or a Suspense boundary."
|
|
38
|
+
) : "\u274C 000";
|
|
39
|
+
if (this.parentManager = parentManager, !this.updateStateFromProps(props, !1))
|
|
40
|
+
return parentManager;
|
|
41
|
+
}
|
|
42
|
+
id = 0;
|
|
43
|
+
themeListeners = /* @__PURE__ */ new Set();
|
|
44
|
+
parentManager = null;
|
|
45
|
+
state = emptyState;
|
|
46
|
+
updateStateFromProps(props = this.props || {}, shouldNotify = !0) {
|
|
47
|
+
if (this.props = props, props.forceTheme)
|
|
48
|
+
return this.state.theme = props.forceTheme, this.state.name = props.name || "", this.updateState(this.state, !0), this.state;
|
|
49
|
+
const nextState = this.getStateIfChanged(props);
|
|
50
|
+
if (nextState)
|
|
51
|
+
return this.updateState(nextState, shouldNotify), nextState;
|
|
52
|
+
}
|
|
53
|
+
updateState(nextState, shouldNotify = !0) {
|
|
54
|
+
this.state = nextState, this._allKeys = null;
|
|
55
|
+
}
|
|
56
|
+
getStateIfChanged(props = this.props, state = this.state, parentManager = this.parentManager) {
|
|
57
|
+
const _ = this.getState(props, parentManager);
|
|
58
|
+
if (state && state !== emptyState && !_)
|
|
59
|
+
return parentManager?.state;
|
|
60
|
+
if (this.getStateShouldChange(_, state))
|
|
61
|
+
return _;
|
|
62
|
+
}
|
|
63
|
+
getStateShouldChange(nextState, state = this.state) {
|
|
64
|
+
return !(!nextState?.theme || nextState.theme === state?.theme);
|
|
65
|
+
}
|
|
66
|
+
getState(props = this.props, parentManager = this.parentManager) {
|
|
67
|
+
return getState(props, parentManager) || null;
|
|
68
|
+
}
|
|
69
|
+
_allKeys = null;
|
|
70
|
+
get allKeys() {
|
|
71
|
+
return this._allKeys ||= /* @__PURE__ */ new Set([
|
|
72
|
+
...this.parentManager?.allKeys || [],
|
|
73
|
+
...Object.keys(this.state.theme || {})
|
|
74
|
+
]), this._allKeys;
|
|
75
|
+
}
|
|
76
|
+
notify(forced = !1) {
|
|
77
|
+
this.themeListeners.forEach((cb) => cb(this.state.name, this, forced)), process.env.NODE_ENV !== "production" && (this._numChangeEventsSent ??= 0, this._numChangeEventsSent++);
|
|
78
|
+
}
|
|
79
|
+
_selfListener;
|
|
80
|
+
selfUpdate() {
|
|
81
|
+
this._selfListener?.(this.state.name, this, "self");
|
|
82
|
+
}
|
|
83
|
+
onChangeTheme(cb, debugId) {
|
|
84
|
+
return process.env.NODE_ENV !== "production" && debugId && (this._listeningIds ??= /* @__PURE__ */ new Set(), this._listeningIds.add(debugId)), debugId === !0 && (this._selfListener = cb), this.themeListeners.add(cb), () => {
|
|
85
|
+
this.themeListeners.delete(cb);
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function getState(props, manager) {
|
|
90
|
+
if (props.name && props.reset)
|
|
91
|
+
throw new Error(
|
|
92
|
+
process.env.NODE_ENV === "production" ? "\u274C004" : "Cannot reset and set a new name at the same time."
|
|
93
|
+
);
|
|
94
|
+
if (!getHasThemeUpdatingProps(props))
|
|
95
|
+
return null;
|
|
96
|
+
const themes = (0, import_config.getThemes)(), [allManagers, componentManagers] = getManagers(manager), isDirectParentAComponentTheme = !!manager?.state.isComponent, startIndex = props.reset && !isDirectParentAComponentTheme ? 1 : 0;
|
|
97
|
+
let baseManager = allManagers[startIndex], parentManager = allManagers[startIndex + 1];
|
|
98
|
+
if (!baseManager && props.reset)
|
|
99
|
+
return process.env.NODE_ENV !== "production" && console.warn("Cannot reset, no parent theme exists"), null;
|
|
100
|
+
const { componentName } = props;
|
|
101
|
+
let result = null, baseName = baseManager?.state.name || "";
|
|
102
|
+
baseManager?.state.isComponent && (baseName = baseName.replace(/_[A-Z][A-Za-z]+/, ""));
|
|
103
|
+
const nextName = props.reset ? baseName : props.name || "", allComponentThemes = componentManagers.map((x) => x?.state.name || "");
|
|
104
|
+
isDirectParentAComponentTheme && allComponentThemes.shift();
|
|
105
|
+
const base = baseName.split(import_constants2.THEME_NAME_SEPARATOR), max = base.length, min = props.componentName && !nextName ? max : 0;
|
|
106
|
+
for (let i = max; i >= min; i--) {
|
|
107
|
+
let prefix = base.slice(0, i).join(import_constants2.THEME_NAME_SEPARATOR);
|
|
108
|
+
props.inverse && (prefix = inverseThemeName(prefix));
|
|
109
|
+
let potentials = [];
|
|
110
|
+
if (prefix && prefix !== baseName && prefix.includes(nextName) && potentials.push(prefix), nextName && potentials.unshift(prefix ? `${prefix}_${nextName}` : nextName), i === 1) {
|
|
111
|
+
const lastSegment = potentials.findIndex((x) => !x.includes("_"));
|
|
112
|
+
lastSegment > 0 && potentials.splice(lastSegment, 0, nextName);
|
|
113
|
+
}
|
|
114
|
+
if (componentName && !props.reset) {
|
|
115
|
+
const baseLen = base.length;
|
|
116
|
+
let componentPotentials = [];
|
|
117
|
+
if (nextName && baseLen > 1) {
|
|
118
|
+
const beforeSeparator = base[0];
|
|
119
|
+
componentPotentials.push(`${beforeSeparator}_${nextName}_${componentName}`);
|
|
120
|
+
}
|
|
121
|
+
if (componentPotentials.push(`${prefix}_${componentName}`), nextName) {
|
|
122
|
+
if (i > baseLen) {
|
|
123
|
+
const prefixLessOne = base.slice(0, i - 1).join(import_constants2.THEME_NAME_SEPARATOR);
|
|
124
|
+
if (prefixLessOne) {
|
|
125
|
+
const lessSpecific = `${prefixLessOne}_${nextName}_${componentName}`;
|
|
126
|
+
componentPotentials.unshift(lessSpecific);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const moreSpecific = `${prefix}_${nextName}_${componentName}`;
|
|
130
|
+
componentPotentials.unshift(moreSpecific);
|
|
131
|
+
}
|
|
132
|
+
potentials = [...componentPotentials, ...potentials, ...allComponentThemes];
|
|
133
|
+
}
|
|
134
|
+
const found = potentials.find((t) => t in themes);
|
|
135
|
+
if (process.env.NODE_ENV !== "production" && typeof props.debug == "string" && import_constants.isClient && console.info(` \u{1F537} [${manager?.id}] getState`, {
|
|
136
|
+
props,
|
|
137
|
+
found,
|
|
138
|
+
potentials,
|
|
139
|
+
baseManager,
|
|
140
|
+
nextName,
|
|
141
|
+
baseName,
|
|
142
|
+
prefix
|
|
143
|
+
}), found) {
|
|
144
|
+
const names = found.split("_"), [firstName, ...restNames] = names, lastName = names[names.length - 1], isComponent = lastName[0] === lastName[0].toUpperCase(), scheme = firstName === "light" ? "light" : firstName === "dark" ? "dark" : void 0, pre = import_constants2.THEME_CLASSNAME_PREFIX, className = import_constants.isWeb ? `${pre}sub_theme ${pre}${!scheme || !restNames.length ? firstName : restNames.join("_")}` : "", parentName = (baseManager || parentManager)?.state?.name;
|
|
145
|
+
result = {
|
|
146
|
+
name: found,
|
|
147
|
+
parentName,
|
|
148
|
+
theme: themes[found],
|
|
149
|
+
className,
|
|
150
|
+
isComponent,
|
|
151
|
+
scheme
|
|
152
|
+
};
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return process.env.NODE_ENV !== "production" && props.debug === "verbose" && import_constants.isClient && (console.groupCollapsed("ThemeManager.getState()"), console.info({ props, baseName, base, min, max }), console.warn("result", { result }), console.trace(), console.groupEnd()), result;
|
|
157
|
+
}
|
|
158
|
+
const inverseThemeName = (themeName) => themeName.startsWith("light") ? themeName.replace(/^light/, "dark") : themeName.replace(/^dark/, "light");
|
|
159
|
+
function getManagers(themeManager) {
|
|
160
|
+
const comp = [], all = [];
|
|
161
|
+
let cur = themeManager;
|
|
162
|
+
for (; cur; )
|
|
163
|
+
all.push(cur), cur.state.isComponent && comp.push(cur), cur = cur.parentManager;
|
|
164
|
+
return [all, comp];
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=ThemeManager.js.map
|