repoweaver
Version:
A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies
1 lines • 13 kB
JSON
{"ast":null,"code":"import { createTheming } from '@callstack/react-theme-provider';\nimport color from 'color';\nimport { MD2DarkTheme, MD2LightTheme, MD3DarkTheme, MD3LightTheme } from \"../styles/themes\";\nexport const DefaultTheme = MD3LightTheme;\nexport const {\n ThemeProvider,\n withTheme,\n useTheme: useAppTheme\n} = createTheming(MD3LightTheme);\nexport function useTheme(overrides) {\n return useAppTheme(overrides);\n}\nexport const useInternalTheme = themeOverrides => useAppTheme(themeOverrides);\nexport const withInternalTheme = WrappedComponent => withTheme(WrappedComponent);\nexport const defaultThemesByVersion = {\n 2: {\n light: MD2LightTheme,\n dark: MD2DarkTheme\n },\n 3: {\n light: MD3LightTheme,\n dark: MD3DarkTheme\n }\n};\nexport const getTheme = (isDark = false, isV3 = true) => {\n const themeVersion = isV3 ? 3 : 2;\n const scheme = isDark ? 'dark' : 'light';\n return defaultThemesByVersion[themeVersion][scheme];\n};\nexport function adaptNavigationTheme(themes) {\n const {\n reactNavigationLight,\n reactNavigationDark,\n materialLight,\n materialDark\n } = themes;\n const MD3Themes = {\n light: materialLight || MD3LightTheme,\n dark: materialDark || MD3DarkTheme\n };\n const result = {};\n if (reactNavigationLight) {\n result.LightTheme = getAdaptedTheme(reactNavigationLight, MD3Themes.light);\n }\n if (reactNavigationDark) {\n result.DarkTheme = getAdaptedTheme(reactNavigationDark, MD3Themes.dark);\n }\n return result;\n}\nconst getAdaptedTheme = (theme, materialTheme) => {\n const base = Object.assign({}, theme, {\n colors: Object.assign({}, theme.colors, {\n primary: materialTheme.colors.primary,\n background: materialTheme.colors.background,\n card: materialTheme.colors.elevation.level2,\n text: materialTheme.colors.onSurface,\n border: materialTheme.colors.outline,\n notification: materialTheme.colors.error\n })\n });\n if ('fonts' in theme) {\n return Object.assign({}, base, {\n fonts: {\n regular: {\n fontFamily: materialTheme.fonts.bodyMedium.fontFamily,\n fontWeight: materialTheme.fonts.bodyMedium.fontWeight,\n letterSpacing: materialTheme.fonts.bodyMedium.letterSpacing\n },\n medium: {\n fontFamily: materialTheme.fonts.titleMedium.fontFamily,\n fontWeight: materialTheme.fonts.titleMedium.fontWeight,\n letterSpacing: materialTheme.fonts.titleMedium.letterSpacing\n },\n bold: {\n fontFamily: materialTheme.fonts.headlineSmall.fontFamily,\n fontWeight: materialTheme.fonts.headlineSmall.fontWeight,\n letterSpacing: materialTheme.fonts.headlineSmall.letterSpacing\n },\n heavy: {\n fontFamily: materialTheme.fonts.headlineLarge.fontFamily,\n fontWeight: materialTheme.fonts.headlineLarge.fontWeight,\n letterSpacing: materialTheme.fonts.headlineLarge.letterSpacing\n }\n }\n });\n }\n return base;\n};\nexport const getDynamicThemeElevations = scheme => {\n const elevationValues = ['transparent', 0.05, 0.08, 0.11, 0.12, 0.14];\n return elevationValues.reduce((elevations, elevationValue, index) => {\n return Object.assign({}, elevations, {\n [`level${index}`]: index === 0 ? elevationValue : color(scheme.surface).mix(color(scheme.primary), elevationValue).rgb().string()\n });\n }, {});\n};","map":{"version":3,"names":["createTheming","color","MD2DarkTheme","MD2LightTheme","MD3DarkTheme","MD3LightTheme","DefaultTheme","ThemeProvider","withTheme","useTheme","useAppTheme","overrides","useInternalTheme","themeOverrides","withInternalTheme","WrappedComponent","defaultThemesByVersion","light","dark","getTheme","isDark","isV3","themeVersion","scheme","adaptNavigationTheme","themes","reactNavigationLight","reactNavigationDark","materialLight","materialDark","MD3Themes","result","LightTheme","getAdaptedTheme","DarkTheme","theme","materialTheme","base","Object","assign","colors","primary","background","card","elevation","level2","text","onSurface","border","outline","notification","error","fonts","regular","fontFamily","bodyMedium","fontWeight","letterSpacing","medium","titleMedium","bold","headlineSmall","heavy","headlineLarge","getDynamicThemeElevations","elevationValues","reduce","elevations","elevationValue","index","surface","mix","rgb","string"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-paper/src/core/theming.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\n\nimport { $DeepPartial, createTheming } from '@callstack/react-theme-provider';\nimport color from 'color';\n\nimport {\n MD2DarkTheme,\n MD2LightTheme,\n MD3DarkTheme,\n MD3LightTheme,\n} from '../styles/themes';\nimport type {\n InternalTheme,\n MD3Theme,\n MD3AndroidColors,\n NavigationTheme,\n} from '../types';\n\nexport const DefaultTheme = MD3LightTheme;\n\nexport const {\n ThemeProvider,\n withTheme,\n useTheme: useAppTheme,\n} = createTheming<unknown>(MD3LightTheme);\n\nexport function useTheme<T = MD3Theme>(overrides?: $DeepPartial<T>) {\n return useAppTheme<T>(overrides);\n}\n\nexport const useInternalTheme = (\n themeOverrides: $DeepPartial<InternalTheme> | undefined\n) => useAppTheme<InternalTheme>(themeOverrides);\n\nexport const withInternalTheme = <Props extends { theme: InternalTheme }, C>(\n WrappedComponent: ComponentType<Props & { theme: InternalTheme }> & C\n) => withTheme<Props, C>(WrappedComponent);\n\nexport const defaultThemesByVersion = {\n 2: {\n light: MD2LightTheme,\n dark: MD2DarkTheme,\n },\n 3: {\n light: MD3LightTheme,\n dark: MD3DarkTheme,\n },\n};\n\nexport const getTheme = <\n Scheme extends boolean = false,\n IsVersion3 extends boolean = true\n>(\n isDark: Scheme = false as Scheme,\n isV3: IsVersion3 = true as IsVersion3\n): (typeof defaultThemesByVersion)[IsVersion3 extends true\n ? 3\n : 2][Scheme extends true ? 'dark' : 'light'] => {\n const themeVersion = isV3 ? 3 : 2;\n const scheme = isDark ? 'dark' : 'light';\n\n return defaultThemesByVersion[themeVersion][scheme];\n};\n\n// eslint-disable-next-line no-redeclare\nexport function adaptNavigationTheme<T extends NavigationTheme>(themes: {\n reactNavigationLight: T;\n materialLight?: MD3Theme;\n}): {\n LightTheme: NavigationTheme;\n};\n// eslint-disable-next-line no-redeclare\nexport function adaptNavigationTheme<T extends NavigationTheme>(themes: {\n reactNavigationDark: T;\n materialDark?: MD3Theme;\n}): {\n DarkTheme: NavigationTheme;\n};\n// eslint-disable-next-line no-redeclare\nexport function adaptNavigationTheme<\n TLight extends NavigationTheme,\n TDark extends NavigationTheme\n>(themes: {\n reactNavigationLight: TLight;\n reactNavigationDark: TDark;\n materialLight?: MD3Theme;\n materialDark?: MD3Theme;\n}): { LightTheme: TLight; DarkTheme: TDark };\n// eslint-disable-next-line no-redeclare\nexport function adaptNavigationTheme(themes: any) {\n const {\n reactNavigationLight,\n reactNavigationDark,\n materialLight,\n materialDark,\n } = themes;\n\n const MD3Themes = {\n light: materialLight || MD3LightTheme,\n dark: materialDark || MD3DarkTheme,\n };\n\n const result: { LightTheme?: any; DarkTheme?: any } = {};\n\n if (reactNavigationLight) {\n result.LightTheme = getAdaptedTheme(reactNavigationLight, MD3Themes.light);\n }\n\n if (reactNavigationDark) {\n result.DarkTheme = getAdaptedTheme(reactNavigationDark, MD3Themes.dark);\n }\n\n return result;\n}\n\nconst getAdaptedTheme = <T extends NavigationTheme>(\n theme: T,\n materialTheme: MD3Theme\n): T => {\n const base = {\n ...theme,\n colors: {\n ...theme.colors,\n primary: materialTheme.colors.primary,\n background: materialTheme.colors.background,\n card: materialTheme.colors.elevation.level2,\n text: materialTheme.colors.onSurface,\n border: materialTheme.colors.outline,\n notification: materialTheme.colors.error,\n },\n };\n\n if ('fonts' in theme) {\n return {\n ...base,\n fonts: {\n regular: {\n fontFamily: materialTheme.fonts.bodyMedium.fontFamily,\n fontWeight: materialTheme.fonts.bodyMedium.fontWeight,\n letterSpacing: materialTheme.fonts.bodyMedium.letterSpacing,\n },\n medium: {\n fontFamily: materialTheme.fonts.titleMedium.fontFamily,\n fontWeight: materialTheme.fonts.titleMedium.fontWeight,\n letterSpacing: materialTheme.fonts.titleMedium.letterSpacing,\n },\n bold: {\n fontFamily: materialTheme.fonts.headlineSmall.fontFamily,\n fontWeight: materialTheme.fonts.headlineSmall.fontWeight,\n letterSpacing: materialTheme.fonts.headlineSmall.letterSpacing,\n },\n heavy: {\n fontFamily: materialTheme.fonts.headlineLarge.fontFamily,\n fontWeight: materialTheme.fonts.headlineLarge.fontWeight,\n letterSpacing: materialTheme.fonts.headlineLarge.letterSpacing,\n },\n },\n };\n }\n\n return base;\n};\n\nexport const getDynamicThemeElevations = (scheme: MD3AndroidColors) => {\n const elevationValues = ['transparent', 0.05, 0.08, 0.11, 0.12, 0.14];\n return elevationValues.reduce((elevations, elevationValue, index) => {\n return {\n ...elevations,\n [`level${index}`]:\n index === 0\n ? elevationValue\n : color(scheme.surface)\n .mix(color(scheme.primary), elevationValue as number)\n .rgb()\n .string(),\n };\n }, {});\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}