alouette 16.3.0 → 17.0.3

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/createAlouetteTamagui-browser.es.js.map +1 -1
  3. package/dist/createAlouetteTamagui-node22.cjs.map +1 -1
  4. package/dist/createAlouetteTamagui-node22.mjs.map +1 -1
  5. package/dist/createAlouetteTamagui-react-native.cjs.js.map +1 -1
  6. package/dist/createAlouetteTamagui-react-native.es.js.map +1 -1
  7. package/dist/definitions/components/actions/Button.d.ts +1 -1
  8. package/dist/definitions/components/actions/IconButton.d.ts +1 -1
  9. package/dist/definitions/components/actions/IconButton.stories.d.ts +1 -0
  10. package/dist/definitions/components/actions/IconButton.stories.d.ts.map +1 -1
  11. package/dist/definitions/components/containers/Box.d.ts +3 -3
  12. package/dist/definitions/components/containers/Box.stories.d.ts +1 -1
  13. package/dist/definitions/components/containers/PressableBox.d.ts +1 -1
  14. package/dist/definitions/components/containers/PressableBox.stories.d.ts +1 -1
  15. package/dist/definitions/components/containers/variants.d.ts +1 -1
  16. package/dist/definitions/components/containers/variants.d.ts.map +1 -1
  17. package/dist/definitions/components/feedback/Message.d.ts +2 -2
  18. package/dist/definitions/components/forms/InputText.d.ts +2 -2
  19. package/dist/definitions/components/forms/InputText.stories.d.ts +1 -1
  20. package/dist/definitions/components/primitives/stacks.stories.d.ts.map +1 -1
  21. package/dist/definitions/config/themes.d.ts +2 -1
  22. package/dist/definitions/config/themes.d.ts.map +1 -1
  23. package/dist/index-browser.es.js +6 -6
  24. package/dist/index-browser.es.js.map +1 -1
  25. package/dist/index-node22.cjs +6 -6
  26. package/dist/index-node22.cjs.map +1 -1
  27. package/dist/index-node22.mjs +6 -6
  28. package/dist/index-node22.mjs.map +1 -1
  29. package/dist/index-react-native.cjs.js +6 -6
  30. package/dist/index-react-native.cjs.js.map +1 -1
  31. package/dist/index-react-native.es.js +6 -6
  32. package/dist/index-react-native.es.js.map +1 -1
  33. package/package.json +10 -10
  34. package/src/components/actions/Button.tsx +1 -1
  35. package/src/components/actions/IconButton.stories.tsx +35 -1
  36. package/src/components/actions/IconButton.tsx +1 -1
  37. package/src/components/containers/Box.stories.tsx +3 -3
  38. package/src/components/containers/variants.ts +1 -1
  39. package/src/components/feedback/Message.tsx +2 -2
  40. package/src/components/layout/GradientBackground.stories.tsx +1 -1
  41. package/src/components/primitives/stacks.stories.tsx +25 -14
  42. package/src/config/themes.ts +2 -1
  43. package/src/config/tokens.stories.tsx +2 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,41 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [17.0.3](https://github.com/christophehurpeau/alouette/compare/alouette@17.0.2...alouette@17.0.3) (2025-12-21)
7
+
8
+ Version bump for dependency: alouette-icons
9
+
10
+
11
+ ## [17.0.2](https://github.com/christophehurpeau/alouette/compare/alouette@17.0.1...alouette@17.0.2) (2025-12-21)
12
+
13
+ Version bump for dependency: alouette-icons
14
+
15
+
16
+ ## [17.0.1](https://github.com/christophehurpeau/alouette/compare/alouette@17.0.0...alouette@17.0.1) (2025-12-21)
17
+
18
+ Version bump for dependency: alouette-icons
19
+
20
+
21
+ ## [17.0.0](https://github.com/christophehurpeau/alouette/compare/alouette@16.3.0...alouette@17.0.0) (2025-12-21)
22
+
23
+ ### ⚠ BREAKING CHANGES
24
+
25
+ * rename 'centered' to 'center' for consistency across components
26
+
27
+ ### Features
28
+
29
+ * add new HStack story with flexGrow example
30
+ * rename 'centered' to 'center' for consistency across components
31
+ * update tamagui
32
+
33
+ ### Bug Fixes
34
+
35
+ * update expo-linear-gradient version to use tilde for patch updates
36
+ * update FullTheme type definition to extend ColorTheme interface
37
+
38
+ Version bump for dependency: alouette-icons
39
+
40
+
6
41
  ## [16.3.0](https://github.com/christophehurpeau/alouette/compare/alouette@16.2.1...alouette@16.3.0) (2025-11-11)
7
42
 
8
43
  ### Features
@@ -1 +1 @@
1
- {"version":3,"file":"createAlouetteTamagui-browser.es.js","sources":["../src/config/animations.web.ts","../src/config/createAlouetteFonts.ts","../src/config/Breakpoints.ts","../src/config/media.ts","../src/config/createAlouetteTokens.ts","../src/config/colorScales.ts","../src/config/utils/colorContrast.ts","../src/config/themes.ts","../src/config/defaultColorScales.ts","../src/createAlouetteTamagui.ts"],"sourcesContent":["import { createAnimations } from \"@tamagui/animations-css\";\n\nexport const animations = createAnimations({\n fast: \"ease-in 150ms\",\n medium: \"ease-in 300ms\",\n slow: \"ease-in 450ms\",\n formElement: \"ease-in 600ms\",\n});\nconsole.log(\"animations: web\");\n","import { createFont } from \"@tamagui/core\";\n\nconst defaultHeadingFontSizes = {\n xxl: 64,\n xl: 48,\n lg: 40,\n md: 32,\n sm: 24,\n xs: 18,\n};\nconst defaultBodyFontSizes = {\n xxl: 48,\n xl: 24,\n lg: 18,\n md: 16,\n sm: 14,\n xs: 12,\n};\n\nconst roundWith1Precision = (value: number): number =>\n Math.round(value * 10) / 10;\n\nexport interface AlouetteFontsOptions {\n headingFontFamily?: string;\n headingFontSizes?: typeof defaultHeadingFontSizes;\n bodyFontFamily?: string;\n bodyFontSizes?: typeof defaultBodyFontSizes;\n monospaceFontFamily?: string;\n monospaceFontSizes?: typeof defaultBodyFontSizes;\n}\n\nexport const createAlouetteFonts = ({\n headingFontFamily = \"Sora\",\n headingFontSizes = defaultHeadingFontSizes,\n bodyFontFamily = \"Sora\",\n bodyFontSizes = defaultBodyFontSizes,\n monospaceFontFamily,\n monospaceFontSizes = defaultBodyFontSizes,\n}: AlouetteFontsOptions = {}) => ({\n heading: createFont({\n family: headingFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${headingFontFamily}Regular` },\n 700: { normal: `${headingFontFamily}Bold` },\n 800: { normal: `${headingFontFamily}ExtraBold` },\n },\n size: headingFontSizes,\n lineHeight: {\n xxl: roundWith1Precision(1.1 * headingFontSizes.xxl),\n xl: roundWith1Precision(1.1 * headingFontSizes.xl),\n lg: roundWith1Precision(1.1 * headingFontSizes.lg),\n md: roundWith1Precision(1.2 * headingFontSizes.md),\n sm: roundWith1Precision(1.3 * headingFontSizes.sm),\n xs: roundWith1Precision(1.3 * headingFontSizes.xs),\n },\n }),\n body: createFont({\n family: bodyFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${bodyFontFamily}Regular` },\n 700: { normal: `${bodyFontFamily}Bold` },\n 800: { normal: `${bodyFontFamily}ExtraBold` },\n },\n size: bodyFontSizes,\n lineHeight: {\n xxl: roundWith1Precision(1.4 * bodyFontSizes.xxl),\n xl: roundWith1Precision(1.4 * bodyFontSizes.xl),\n lg: roundWith1Precision(1.4 * bodyFontSizes.lg),\n md: roundWith1Precision(1.4 * bodyFontSizes.md),\n sm: roundWith1Precision(1.4 * bodyFontSizes.sm),\n xs: roundWith1Precision(1.4 * bodyFontSizes.xs),\n },\n }),\n ...(monospaceFontFamily\n ? {\n monospace: createFont({\n family: monospaceFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${monospaceFontFamily}Regular` },\n 700: { normal: `${monospaceFontFamily}Bold` },\n 800: { normal: `${monospaceFontFamily}ExtraBold` },\n },\n size: monospaceFontSizes,\n lineHeight: {\n xxl: roundWith1Precision(1.4 * monospaceFontSizes.xxl),\n xl: roundWith1Precision(1.4 * monospaceFontSizes.xl),\n lg: roundWith1Precision(1.4 * monospaceFontSizes.lg),\n md: roundWith1Precision(1.4 * monospaceFontSizes.md),\n sm: roundWith1Precision(1.4 * monospaceFontSizes.sm),\n xs: roundWith1Precision(1.4 * monospaceFontSizes.xs),\n },\n }),\n }\n : {}),\n});\n","export const Breakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n} as const;\n\nexport type Breakpoint = (typeof Breakpoints)[keyof typeof Breakpoints];\nexport type BreakpointNames = \"base\" | \"large\" | \"medium\" | \"small\" | \"wide\";\n\nexport enum BreakpointNameEnum {\n BASE = \"base\",\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n WIDE = \"wide\",\n}\n","import { Breakpoints } from \"./Breakpoints\";\n\nexport const media = {\n small: { minWidth: Breakpoints.SMALL },\n medium: { minWidth: Breakpoints.MEDIUM },\n large: { minWidth: Breakpoints.LARGE },\n wide: { minWidth: Breakpoints.WIDE },\n} as const;\n","import { createTokens } from \"@tamagui/core\";\nimport type { IntRange } from \"type-fest\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n} from \"./colorScales\";\n\ntype AlouetteSize = IntRange<0, 64>;\ntype NegativeAlouetteSize = `-${AlouetteSize}`;\ntype AlouetteSizeRecord = Record<AlouetteSize, number>;\ntype NegativeAlouetteSizeRecord = Record<NegativeAlouetteSize, number>;\n\nconst createAlouetteSizes = <const N extends boolean>(\n spacing: number,\n negative: N,\n): N extends true ? NegativeAlouetteSizeRecord : AlouetteSizeRecord => {\n const MAX_SIZE = 64;\n const sizes: Partial<\n N extends true ? NegativeAlouetteSizeRecord : AlouetteSizeRecord\n > = {};\n for (let size = 0; size <= MAX_SIZE; size++) {\n (sizes as any)[negative ? `-${size}` : `${size}`] = size * spacing;\n }\n return sizes as N extends true\n ? NegativeAlouetteSizeRecord\n : AlouetteSizeRecord;\n};\n\ntype ColorScaleTokens<ColorScales extends AlouetteColorScales> = {\n [K in string &\n keyof ColorScales as `${K}.${AlouetteColorScaleNumber}`]: string; //(typeof colorScales)[K][AlouetteColorScaleNumber];\n};\n\nconst transformColorScalesToTokens = <ColorScales extends AlouetteColorScales>(\n colorScales: ColorScales,\n): ColorScaleTokens<ColorScales> => {\n return Object.fromEntries(\n Object.entries(colorScales).flatMap(([colorName, colorScale]) => {\n return Object.entries(colorScale).map(([scaleNumber, colorValue]) => {\n return [`${colorName}.${scaleNumber}`, colorValue];\n });\n }),\n ) as ColorScaleTokens<ColorScales>;\n};\n\nexport interface AlouetteTokensOptions {\n spacing?: number;\n}\n\nexport const createAlouetteTokens = <\n const ColorScales extends AlouetteColorScales,\n>(\n colorScales: ColorScales,\n { spacing = 4 }: AlouetteTokensOptions = {},\n) => {\n const sizes: AlouetteSizeRecord = createAlouetteSizes(spacing, false);\n const negativeSizes: NegativeAlouetteSizeRecord = createAlouetteSizes(\n -spacing,\n true,\n );\n\n return createTokens({\n color: {\n blackBackground: \"#1f1e1e\",\n whiteBackground: \"#ffffff\",\n // https://github.com/tamagui/tamagui/issues/3601 does not work at the moment\n blackBackgroundTranslucent: \"#1f1e1e77\",\n whiteBackgroundTranslucent: \"#ffffff99\",\n blackText: \"#000000\",\n whiteText: \"#fdfdfd\",\n transparent: \"transparent\",\n ...transformColorScalesToTokens(colorScales),\n },\n radius: {\n ...sizes,\n xs: spacing * 2,\n sm: spacing * 4,\n md: spacing * 8,\n },\n space: {\n ...sizes,\n ...negativeSizes,\n xs: spacing * 2,\n sm: spacing * 4,\n md: spacing * 8,\n },\n size: { ...sizes },\n zIndex: {},\n } as const);\n};\n","import type { IntRange } from \"type-fest\";\n\n// scale inspired by https://www.radix-ui.com/colors/docs/palette-composition/understanding-the-scale\n\n// LIGHT SCALE\n// 1: colored page background color\n// 2: interactive outlined background hover/focus color\n// 3: interactive contained background press color / non interactive background color\n// 4: interactive outlined background press color / non interactive shadow color\n// 5: interactive contained background hover/focus color\n// 6: interactive contained background color\n// 7: interactive border color\n// 8: interactive shadow color / text:press / interactive border hover/focus color\n// 9: text color\n// 10: text:hover/focus\n\n// DARK SCALE\n// 1: colored page background color\n// 2: interactive outlined background press color / non interactive shadow color\n// 3: interactive contained background press color / non interactive background color\n// 4: interactive outlined background hover/focus color\n// 5: interactive contained background color\n// 6: interactive contained background hover/focus color\n// 7: interactive border color\n// 8: interactive shadow color / text:press / interactive border hover/focus color\n// 9: text color\n// 10: text:hover/focus\n\n// this mapping is used to keep focus/hover colors brighter\nexport const mappingLightToDark = {\n 1: 1,\n 2: 4,\n 3: 3,\n 4: 2,\n 5: 6,\n 6: 5,\n 7: 7,\n 8: 8,\n 9: 9,\n 10: 10,\n};\n\nexport type AlouetteColorScaleNumber = IntRange<1, 11>;\n\nexport type AlouetteColorScale = Record<AlouetteColorScaleNumber, string>;\n\nexport const createColorScale = <const T extends AlouetteColorScale>(\n colorScale: T,\n): T => colorScale;\n\nexport interface AlouetteThemeNames {\n primary: \"primary\";\n info: \"info\";\n success: \"success\";\n warning: \"warning\";\n danger: \"danger\";\n grayscale: \"grayscale\";\n}\n\nexport type AlouetteColorScaleNames =\n | `${keyof AlouetteThemeNames}.dark`\n | `${keyof AlouetteThemeNames}.light`;\n\nexport type ColorScaleTokens = {\n [K in AlouetteColorScaleNames as `${K}.${AlouetteColorScaleNumber}`]: string; //(typeof colorScales)[K][AlouetteColorScaleNumber];\n};\n\nexport type AlouetteColorScales = Record<\n AlouetteColorScaleNames,\n AlouetteColorScale\n>;\n","/**\n * Calculates relative luminance of a color\n * Based on WCAG 2.0 formula: https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nconst getLuminance = (r: number, g: number, b: number) => {\n const values: [number, number, number] = [r, g, b].map((c) => {\n const s = c / 255;\n return s <= 0.039_28 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;\n }) as [number, number, number];\n\n return 0.2126 * values[0] + 0.7152 * values[1] + 0.0722 * values[2];\n};\n\n/**\n * Converts hex color to RGB values\n */\nconst hexToRgb = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (!result?.[1] || !result[2] || !result[3]) return null;\n return {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n };\n};\n\n/**\n * Calculates contrast ratio between two colors\n * Returns ratio between 1 and 21\n */\nexport const getContrastRatio = (color1: string, color2: string) => {\n const rgb1 = hexToRgb(color1);\n const rgb2 = hexToRgb(color2);\n\n if (!rgb1 || !rgb2) return 0;\n\n const l1 = getLuminance(rgb1.r, rgb1.g, rgb1.b);\n const l2 = getLuminance(rgb2.r, rgb2.g, rgb2.b);\n\n const lighter = Math.max(l1, l2);\n const darker = Math.min(l1, l2);\n\n return (lighter + 0.05) / (darker + 0.05);\n};\n\n/**\n * Checks if contrast ratio meets WCAG requirements\n */\nexport const checkContrast = (\n foreground: string,\n background: string,\n level: \"AA\" | \"AAA\" = \"AA\",\n) => {\n const ratio = getContrastRatio(foreground, background);\n const minimumRatio = level === \"AA\" ? 4.5 : 7;\n\n return {\n ratio,\n passes: ratio >= minimumRatio,\n minimumRatio,\n };\n};\n\n/**\n * Development warning for contrast issues\n */\nexport const warnOnContrastIssues = (\n themeName: string,\n textColor: string,\n backgroundColor: string,\n) => {\n if (process.env.NODE_ENV !== \"development\") return;\n\n const result = checkContrast(textColor, backgroundColor);\n\n if (!result.passes) {\n console.warn(\n `[Alouette] Contrast warning in theme \"${themeName}\":\n Text color ${textColor} on background ${backgroundColor}\n has contrast ratio of ${result.ratio.toFixed(2)}.\n Minimum required: ${result.minimumRatio}\n This may cause accessibility issues.`,\n );\n }\n};\n","/* eslint-disable complexity */\n/* eslint-disable camelcase */\nimport type { Variable } from \"@tamagui/core\";\nimport { mappingLightToDark } from \"./colorScales\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n AlouetteThemeNames,\n} from \"./colorScales\";\nimport type { createAlouetteTokens } from \"./createAlouetteTokens\";\nimport { warnOnContrastIssues } from \"./utils/colorContrast\";\n\n// export interface MinimalRootTheme {\n// backgroundColor: Variable<string>;\n// textColor: Variable<string>;\n// }\n\n// export interface RootTheme {\n// backgroundColor: Variable<string>;\n// textColor: Variable<string>;\n// }\n\nexport interface ColorTheme {\n screenBackgroundColor: Variable<string>;\n \"screenBackgroundColor.translucent\": Variable<string>;\n \"screenBackgroundColor.elevated\": Variable<string>;\n nonInteractiveBackgroundColor: Variable<string>;\n \"nonInteractiveBackgroundColor.elevated\": Variable<string>;\n\n \"gradientColor:start\": Variable<string>;\n \"gradientColor:middle\": Variable<string>;\n \"gradientColor:end\": Variable<string>;\n textColor: Variable<string>;\n \"textColor:disabled\": Variable<string>;\n accentTextColor: Variable<string>;\n borderColor: Variable<string>;\n shadowColor: Variable<string>;\n\n \"interactive.linkTextColor\": Variable<string>;\n \"interactive.linkTextColor:hover\": Variable<string>;\n \"interactive.linkTextColor:focus\": Variable<string>;\n \"interactive.linkTextColor:press\": Variable<string>;\n \"interactive.linkTextColor:disabled\": Variable<string>;\n\n \"interactive.contained.backgroundColor\": Variable<string>;\n \"interactive.elevated.backgroundColor\": Variable<string>;\n \"interactive.elevated.shadowColor\": Variable<string>;\n \"interactive.elevated.borderColor\": Variable<string>;\n \"interactive.outlined.backgroundColor\": Variable<string>;\n \"interactive.outlined.borderColor\": Variable<string>;\n\n \"interactive.contained.backgroundColor:hover\": Variable<string>;\n \"interactive.elevated.backgroundColor:hover\": Variable<string>;\n \"interactive.elevated.borderColor:hover\": Variable<string>;\n \"interactive.outlined.backgroundColor:hover\": Variable<string>;\n \"interactive.outlined.borderColor:hover\": Variable<string>;\n\n \"interactive.contained.backgroundColor:focus\": Variable<string>;\n \"interactive.elevated.backgroundColor:focus\": Variable<string>;\n \"interactive.elevated.borderColor:focus\": Variable<string>;\n \"interactive.outlined.backgroundColor:focus\": Variable<string>;\n \"interactive.outlined.borderColor:focus\": Variable<string>;\n\n \"interactive.contained.outlineColor:focus\": Variable<string>;\n \"interactive.elevated.outlineColor:focus\": Variable<string>;\n \"interactive.outlined.outlineColor:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor:press\": Variable<string>;\n \"interactive.elevated.backgroundColor:press\": Variable<string>;\n \"interactive.elevated.borderColor:press\": Variable<string>;\n \"interactive.outlined.backgroundColor:press\": Variable<string>;\n \"interactive.outlined.borderColor:press\": Variable<string>;\n\n \"interactive.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive.elevated.backgroundColor:disabled\": Variable<string>;\n \"interactive.elevated.shadowColor:disabled\": Variable<string>;\n \"interactive.elevated.borderColor:disabled\": Variable<string>;\n \"interactive.outlined.backgroundColor:disabled\": Variable<string>;\n \"interactive.outlined.borderColor:disabled\": Variable<string>;\n\n \"interactive.forms.textColor\": Variable<string>;\n \"interactive.forms.placeholderTextColor\": Variable<string>;\n \"interactive.forms.outlineColor:focus\": Variable<string>;\n \"interactive.forms.backgroundColor\": Variable<string>;\n \"interactive.forms.backgroundColor:hover\": Variable<string>;\n \"interactive.forms.backgroundColor:focus\": Variable<string>;\n \"interactive.forms.backgroundColor:press\": Variable<string>;\n \"interactive.forms.borderColor\": Variable<string>;\n \"interactive.forms.borderColor:hover\": Variable<string>;\n \"interactive.forms.borderColor:focus\": Variable<string>;\n \"interactive.forms.borderColor:press\": Variable<string>;\n \"interactive.forms.borderColor:disabled\": Variable<string>;\n}\n\n// export interface FullTheme extends ColorTheme, RootTheme {}\nexport type FullTheme = ColorTheme;\n\n// export const createRootTheme = <T extends MinimalRootTheme>(\n// theme: T,\n// ): FullTheme => {\n// return theme satisfies RootTheme as unknown as FullTheme;\n// };\n\nexport const createColorTheme = <\n const ColorTheme extends keyof AlouetteThemeNames,\n>(\n tokens: ReturnType<typeof createAlouetteTokens<AlouetteColorScales>>,\n themeName: ColorTheme,\n mode: \"dark\" | \"light\" = \"light\",\n // TODO replace by color in scale\n backgroundColor?: Variable<string>,\n textColor?: Variable<string>,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n if (!backgroundColor) {\n backgroundColor =\n mode === \"dark\"\n ? alouetteTokens.color.blackBackground\n : alouetteTokens.color.whiteBackground;\n }\n if (!textColor) {\n textColor =\n mode === \"dark\"\n ? alouetteTokens.color.whiteText\n : alouetteTokens.color.blackText;\n }\n\n const getColor = (\n scaleNumber: AlouetteColorScaleNumber,\n tint?: \"grayscale\",\n adaptForDarkMode = true,\n ) => {\n return tokens.color[\n `${tint || themeName}.${mode}.${mode === \"dark\" && adaptForDarkMode ? mappingLightToDark[scaleNumber] : scaleNumber}` as keyof typeof tokens.color\n ];\n };\n\n const theme = {\n screenBackgroundColor: getColor(1),\n \"screenBackgroundColor.elevated\": getColor(\n mode === \"dark\" ? 2 : 1,\n undefined,\n false,\n ),\n \"screenBackgroundColor.translucent\":\n mode === \"dark\"\n ? alouetteTokens.color.blackBackgroundTranslucent\n : alouetteTokens.color.whiteBackgroundTranslucent,\n nonInteractiveBackgroundColor: getColor(3),\n \"nonInteractiveBackgroundColor.elevated\": getColor(\n mode === \"dark\" ? 4 : 3,\n undefined,\n false,\n ),\n\n \"gradientColor:start\": getColor(mode === \"dark\" ? 5 : 6, undefined, false),\n \"gradientColor:middle\": getColor(mode === \"dark\" ? 6 : 7, undefined, false),\n \"gradientColor:end\": getColor(mode === \"dark\" ? 4 : 5, undefined, false),\n\n textColor,\n accentTextColor: getColor(9),\n borderColor: getColor(8),\n shadowColor:\n mode === \"dark\"\n ? alouetteTokens.color.transparent\n : getColor(8, \"grayscale\", false),\n \"textColor:disabled\": getColor(mode === \"dark\" ? 8 : 7, \"grayscale\", false),\n\n \"interactive.linkTextColor\": getColor(9),\n \"interactive.linkTextColor:hover\": getColor(10),\n \"interactive.linkTextColor:focus\": getColor(10),\n \"interactive.linkTextColor:press\": getColor(8),\n \"interactive.linkTextColor:disabled\": getColor(9, \"grayscale\"),\n\n \"interactive.contained.backgroundColor\": getColor(6),\n \"interactive.elevated.backgroundColor\":\n mode === \"dark\" ? getColor(4, \"grayscale\", false) : backgroundColor,\n \"interactive.elevated.shadowColor\":\n mode === \"dark\" ? alouetteTokens.color.transparent : getColor(8),\n \"interactive.elevated.borderColor\": getColor(mode === \"dark\" ? 7 : 1),\n \"interactive.outlined.backgroundColor\": backgroundColor,\n \"interactive.outlined.borderColor\": getColor(7),\n\n \"interactive.contained.backgroundColor:hover\": getColor(5),\n \"interactive.elevated.backgroundColor:hover\": getColor(2),\n \"interactive.elevated.borderColor:hover\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:hover\": backgroundColor,\n \"interactive.outlined.borderColor:hover\": getColor(8),\n\n \"interactive.contained.backgroundColor:focus\": getColor(5),\n \"interactive.elevated.backgroundColor:focus\": getColor(2),\n \"interactive.elevated.borderColor:focus\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:focus\": backgroundColor,\n \"interactive.outlined.borderColor:focus\": getColor(8),\n\n \"interactive.contained.outlineColor:focus\": getColor(7, undefined, false),\n \"interactive.outlined.outlineColor:focus\": getColor(7, undefined, false),\n \"interactive.elevated.outlineColor:focus\": getColor(7, undefined, false),\n\n \"interactive.contained.backgroundColor:press\": getColor(3),\n \"interactive.elevated.backgroundColor:press\": getColor(4),\n \"interactive.elevated.borderColor:press\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:press\": backgroundColor,\n \"interactive.outlined.borderColor:press\": getColor(8),\n\n \"interactive.contained.backgroundColor:disabled\": getColor(\n 4,\n \"grayscale\",\n false,\n ),\n \"interactive.elevated.backgroundColor:disabled\": backgroundColor,\n \"interactive.elevated.shadowColor:disabled\": getColor(8, \"grayscale\"),\n \"interactive.elevated.borderColor:disabled\": getColor(1, \"grayscale\"),\n \"interactive.outlined.backgroundColor:disabled\": backgroundColor,\n \"interactive.outlined.borderColor:disabled\": getColor(6, \"grayscale\"),\n\n \"interactive.forms.textColor\": textColor,\n \"interactive.forms.placeholderTextColor\": getColor(8, \"grayscale\"),\n \"interactive.forms.outlineColor:focus\": getColor(7, undefined, false),\n\n \"interactive.forms.backgroundColor\": backgroundColor,\n \"interactive.forms.backgroundColor:hover\": backgroundColor,\n \"interactive.forms.backgroundColor:focus\": getColor(2),\n \"interactive.forms.backgroundColor:press\": getColor(4),\n \"interactive.forms.borderColor\": getColor(7),\n \"interactive.forms.borderColor:disabled\": getColor(7, \"grayscale\"),\n \"interactive.forms.borderColor:hover\": getColor(\n mode === \"dark\" ? 8 : 6,\n undefined,\n false,\n ),\n \"interactive.forms.borderColor:focus\": getColor(\n mode === \"dark\" ? 8 : 6,\n undefined,\n false,\n ),\n \"interactive.forms.borderColor:press\": getColor(6),\n } satisfies FullTheme;\n\n if (process.env.NODE_ENV === \"development\") {\n // Check main text contrast\n warnOnContrastIssues(\n themeName,\n theme.textColor.val,\n theme.screenBackgroundColor.val,\n );\n }\n\n return theme;\n};\n\nexport const createAlouetteThemes = <\n const ColorScales extends AlouetteColorScales,\n>(\n tokens: ReturnType<typeof createAlouetteTokens<ColorScales>>,\n customCreateColorTheme = createColorTheme,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n return {\n light: customCreateColorTheme(alouetteTokens, \"grayscale\", \"light\"),\n light_info: customCreateColorTheme(alouetteTokens, \"info\", \"light\"),\n light_success: customCreateColorTheme(alouetteTokens, \"success\", \"light\"),\n light_warning: customCreateColorTheme(alouetteTokens, \"warning\", \"light\"),\n light_danger: customCreateColorTheme(alouetteTokens, \"danger\", \"light\"),\n light_primary: customCreateColorTheme(alouetteTokens, \"primary\", \"light\"),\n\n dark: customCreateColorTheme(alouetteTokens, \"grayscale\", \"dark\"),\n dark_info: customCreateColorTheme(alouetteTokens, \"info\", \"dark\"),\n dark_success: customCreateColorTheme(alouetteTokens, \"success\", \"dark\"),\n dark_warning: customCreateColorTheme(alouetteTokens, \"warning\", \"dark\"),\n dark_danger: customCreateColorTheme(alouetteTokens, \"danger\", \"dark\"),\n dark_primary: customCreateColorTheme(alouetteTokens, \"primary\", \"dark\"),\n } as const;\n};\n","import { createColorScale } from \"./colorScales\";\nimport type { AlouetteColorScales } from \"./colorScales\";\n\nexport const defaultColorScales: AlouetteColorScales = {\n \"grayscale.light\": createColorScale({\n 1: \"#FFFFFF\",\n 2: \"#EBEBEB\",\n 3: \"#DBDBDB\",\n 4: \"#D1D1D1\",\n 5: \"#C7C7C7\",\n 6: \"#B8B8B8\",\n 7: \"#8F8F8F\",\n 8: \"#616161\",\n 9: \"#525252\",\n 10: \"#2E2E2E\",\n }),\n \"grayscale.dark\": createColorScale({\n 1: \"#1F1F1F\",\n 2: \"#1F1F1F\",\n 3: \"#292929\",\n 4: \"#333333\",\n 5: \"#3D3D3D\",\n 6: \"#474747\",\n 7: \"#525252\",\n 8: \"#9E9E9E\",\n 9: \"#ADADAD\",\n 10: \"#D1D1D1\",\n }),\n \"primary.light\": createColorScale({\n 1: \"#EFF8FB\",\n 2: \"#DAF4FB\",\n 3: \"#BEEBF9\",\n 4: \"#ABE5F7\",\n 5: \"#99DFF5\",\n 6: \"#7DD7F2\",\n 7: \"#23C8FB\",\n 8: \"#037496\",\n 9: \"#025D78\",\n 10: \"#012732\",\n }),\n \"primary.dark\": createColorScale({\n 1: \"#02161C\",\n 2: \"#092A35\",\n 3: \"#0B3846\",\n 4: \"#0E4758\",\n 5: \"#135C72\",\n 6: \"#156A84\",\n 7: \"#0FB4E6\",\n 8: \"#49CCF3\",\n 9: \"#66D4F5\",\n 10: \"#A9E7F9\",\n }),\n \"danger.light\": createColorScale({\n 1: \"#FBEFEF\",\n 2: \"#FEF6F5\",\n 3: \"#FDDAD9\",\n 4: \"#FBC7C5\",\n 5: \"#FAB5B2\",\n 6: \"#F89996\",\n 7: \"#FB4741\",\n 8: \"#C80B04\",\n 9: \"#AA0903\",\n 10: \"#640502\",\n }),\n \"danger.dark\": createColorScale({\n 1: \"#1C0302\",\n 2: \"#4F0F0D\",\n 3: \"#601210\",\n 4: \"#721613\",\n 5: \"#8C1B17\",\n 6: \"#9E1E1A\",\n 7: \"#F12922\",\n 8: \"#F56A66\",\n 9: \"#F78682\",\n 10: \"#FBC7C5\",\n }),\n \"info.light\": createColorScale({\n 1: \"#EFF8FB\",\n 2: \"#DAF3FB\",\n 3: \"#BEEAF9\",\n 4: \"#ABE4F7\",\n 5: \"#99DEF5\",\n 6: \"#7DD5F2\",\n 7: \"#23C5FB\",\n 8: \"#037196\",\n 9: \"#025B78\",\n 10: \"#012632\",\n }),\n \"info.dark\": createColorScale({\n 1: \"#02161C\",\n 2: \"#092A35\",\n 3: \"#0B3746\",\n 4: \"#0E4558\",\n 5: \"#135A72\",\n 6: \"#156884\",\n 7: \"#0FB0E6\",\n 8: \"#49C9F3\",\n 9: \"#66D1F5\",\n 10: \"#A9E5F9\",\n }),\n \"success.light\": createColorScale({\n 1: \"#EFFBEF\",\n 2: \"#DAFBDA\",\n 3: \"#BEF9BE\",\n 4: \"#ABF7AB\",\n 5: \"#99F599\",\n 6: \"#7DF27D\",\n 7: \"#23FB23\",\n 8: \"#038203\",\n 9: \"#026402\",\n 10: \"#011E01\",\n }),\n \"success.dark\": createColorScale({\n 1: \"#021C02\",\n 2: \"#093509\",\n 3: \"#0B460B\",\n 4: \"#0E580E\",\n 5: \"#137213\",\n 6: \"#158415\",\n 7: \"#0FE60F\",\n 8: \"#49F349\",\n 9: \"#66F566\",\n 10: \"#A9F9A9\",\n }),\n \"warning.light\": createColorScale({\n 1: \"#FBF7EF\",\n 2: \"#FEF8EC\",\n 3: \"#FBEDD0\",\n 4: \"#FAE6BD\",\n 5: \"#F9DEAA\",\n 6: \"#F6D38D\",\n 7: \"#FBBA37\",\n 8: \"#825803\",\n 9: \"#644302\",\n 10: \"#1E1401\",\n }),\n \"warning.dark\": createColorScale({\n 1: \"#1C1402\",\n 2: \"#46330B\",\n 3: \"#583F0E\",\n 4: \"#694C11\",\n 5: \"#845F15\",\n 6: \"#956C18\",\n 7: \"#F0A919\",\n 8: \"#F5C25C\",\n 9: \"#F6CD79\",\n 10: \"#FBE6BC\",\n }),\n} as const;\n","import { createTamagui } from \"@tamagui/core\";\nimport { animations } from \"./config/animations\";\nimport type { AlouetteColorScales } from \"./config/colorScales\";\nimport type { AlouetteFontsOptions } from \"./config/createAlouetteFonts\";\nimport { createAlouetteFonts } from \"./config/createAlouetteFonts\";\nimport type { createAlouetteTokens } from \"./config/createAlouetteTokens\";\nimport { media } from \"./config/media\";\nimport type { createAlouetteThemes } from \"./config/themes\";\n\nexport { createAlouetteTokens } from \"./config/createAlouetteTokens\";\n\nexport interface AlouetteTamaguiOptions {\n fonts?: AlouetteFontsOptions;\n}\n\nexport {\n createColorTheme,\n createAlouetteThemes,\n type FullTheme,\n} from \"./config/themes\";\n\nexport {\n createColorScale,\n type AlouetteThemeNames,\n type AlouetteColorScales,\n type AlouetteColorScale,\n} from \"./config/colorScales\";\n\nexport { defaultColorScales } from \"./config/defaultColorScales\";\n\nexport const createAlouetteTamagui = <\n const ColorScales extends AlouetteColorScales,\n const Tokens extends ReturnType<typeof createAlouetteTokens<ColorScales>>,\n const Themes extends ReturnType<typeof createAlouetteThemes<ColorScales>>,\n>(\n tokens: Tokens,\n themes: Themes,\n options: AlouetteTamaguiOptions = {},\n) => {\n return createTamagui({\n fonts: createAlouetteFonts(options.fonts),\n tokens,\n themes,\n media,\n animations,\n settings: {\n allowedStyleValues: \"somewhat-strict-web\",\n autocompleteSpecificTokens: \"except-special\",\n },\n components: [\"alouette\"],\n } as const);\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createAlouetteTamagui-browser.es.js","sources":["../src/config/animations.web.ts","../src/config/createAlouetteFonts.ts","../src/config/Breakpoints.ts","../src/config/media.ts","../src/config/createAlouetteTokens.ts","../src/config/colorScales.ts","../src/config/utils/colorContrast.ts","../src/config/themes.ts","../src/config/defaultColorScales.ts","../src/createAlouetteTamagui.ts"],"sourcesContent":["import { createAnimations } from \"@tamagui/animations-css\";\n\nexport const animations = createAnimations({\n fast: \"ease-in 150ms\",\n medium: \"ease-in 300ms\",\n slow: \"ease-in 450ms\",\n formElement: \"ease-in 600ms\",\n});\nconsole.log(\"animations: web\");\n","import { createFont } from \"@tamagui/core\";\n\nconst defaultHeadingFontSizes = {\n xxl: 64,\n xl: 48,\n lg: 40,\n md: 32,\n sm: 24,\n xs: 18,\n};\nconst defaultBodyFontSizes = {\n xxl: 48,\n xl: 24,\n lg: 18,\n md: 16,\n sm: 14,\n xs: 12,\n};\n\nconst roundWith1Precision = (value: number): number =>\n Math.round(value * 10) / 10;\n\nexport interface AlouetteFontsOptions {\n headingFontFamily?: string;\n headingFontSizes?: typeof defaultHeadingFontSizes;\n bodyFontFamily?: string;\n bodyFontSizes?: typeof defaultBodyFontSizes;\n monospaceFontFamily?: string;\n monospaceFontSizes?: typeof defaultBodyFontSizes;\n}\n\nexport const createAlouetteFonts = ({\n headingFontFamily = \"Sora\",\n headingFontSizes = defaultHeadingFontSizes,\n bodyFontFamily = \"Sora\",\n bodyFontSizes = defaultBodyFontSizes,\n monospaceFontFamily,\n monospaceFontSizes = defaultBodyFontSizes,\n}: AlouetteFontsOptions = {}) => ({\n heading: createFont({\n family: headingFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${headingFontFamily}Regular` },\n 700: { normal: `${headingFontFamily}Bold` },\n 800: { normal: `${headingFontFamily}ExtraBold` },\n },\n size: headingFontSizes,\n lineHeight: {\n xxl: roundWith1Precision(1.1 * headingFontSizes.xxl),\n xl: roundWith1Precision(1.1 * headingFontSizes.xl),\n lg: roundWith1Precision(1.1 * headingFontSizes.lg),\n md: roundWith1Precision(1.2 * headingFontSizes.md),\n sm: roundWith1Precision(1.3 * headingFontSizes.sm),\n xs: roundWith1Precision(1.3 * headingFontSizes.xs),\n },\n }),\n body: createFont({\n family: bodyFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${bodyFontFamily}Regular` },\n 700: { normal: `${bodyFontFamily}Bold` },\n 800: { normal: `${bodyFontFamily}ExtraBold` },\n },\n size: bodyFontSizes,\n lineHeight: {\n xxl: roundWith1Precision(1.4 * bodyFontSizes.xxl),\n xl: roundWith1Precision(1.4 * bodyFontSizes.xl),\n lg: roundWith1Precision(1.4 * bodyFontSizes.lg),\n md: roundWith1Precision(1.4 * bodyFontSizes.md),\n sm: roundWith1Precision(1.4 * bodyFontSizes.sm),\n xs: roundWith1Precision(1.4 * bodyFontSizes.xs),\n },\n }),\n ...(monospaceFontFamily\n ? {\n monospace: createFont({\n family: monospaceFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${monospaceFontFamily}Regular` },\n 700: { normal: `${monospaceFontFamily}Bold` },\n 800: { normal: `${monospaceFontFamily}ExtraBold` },\n },\n size: monospaceFontSizes,\n lineHeight: {\n xxl: roundWith1Precision(1.4 * monospaceFontSizes.xxl),\n xl: roundWith1Precision(1.4 * monospaceFontSizes.xl),\n lg: roundWith1Precision(1.4 * monospaceFontSizes.lg),\n md: roundWith1Precision(1.4 * monospaceFontSizes.md),\n sm: roundWith1Precision(1.4 * monospaceFontSizes.sm),\n xs: roundWith1Precision(1.4 * monospaceFontSizes.xs),\n },\n }),\n }\n : {}),\n});\n","export const Breakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n} as const;\n\nexport type Breakpoint = (typeof Breakpoints)[keyof typeof Breakpoints];\nexport type BreakpointNames = \"base\" | \"large\" | \"medium\" | \"small\" | \"wide\";\n\nexport enum BreakpointNameEnum {\n BASE = \"base\",\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n WIDE = \"wide\",\n}\n","import { Breakpoints } from \"./Breakpoints\";\n\nexport const media = {\n small: { minWidth: Breakpoints.SMALL },\n medium: { minWidth: Breakpoints.MEDIUM },\n large: { minWidth: Breakpoints.LARGE },\n wide: { minWidth: Breakpoints.WIDE },\n} as const;\n","import { createTokens } from \"@tamagui/core\";\nimport type { IntRange } from \"type-fest\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n} from \"./colorScales\";\n\ntype AlouetteSize = IntRange<0, 64>;\ntype NegativeAlouetteSize = `-${AlouetteSize}`;\ntype AlouetteSizeRecord = Record<AlouetteSize, number>;\ntype NegativeAlouetteSizeRecord = Record<NegativeAlouetteSize, number>;\n\nconst createAlouetteSizes = <const N extends boolean>(\n spacing: number,\n negative: N,\n): N extends true ? NegativeAlouetteSizeRecord : AlouetteSizeRecord => {\n const MAX_SIZE = 64;\n const sizes: Partial<\n N extends true ? NegativeAlouetteSizeRecord : AlouetteSizeRecord\n > = {};\n for (let size = 0; size <= MAX_SIZE; size++) {\n (sizes as any)[negative ? `-${size}` : `${size}`] = size * spacing;\n }\n return sizes as N extends true\n ? NegativeAlouetteSizeRecord\n : AlouetteSizeRecord;\n};\n\ntype ColorScaleTokens<ColorScales extends AlouetteColorScales> = {\n [K in string &\n keyof ColorScales as `${K}.${AlouetteColorScaleNumber}`]: string; //(typeof colorScales)[K][AlouetteColorScaleNumber];\n};\n\nconst transformColorScalesToTokens = <ColorScales extends AlouetteColorScales>(\n colorScales: ColorScales,\n): ColorScaleTokens<ColorScales> => {\n return Object.fromEntries(\n Object.entries(colorScales).flatMap(([colorName, colorScale]) => {\n return Object.entries(colorScale).map(([scaleNumber, colorValue]) => {\n return [`${colorName}.${scaleNumber}`, colorValue];\n });\n }),\n ) as ColorScaleTokens<ColorScales>;\n};\n\nexport interface AlouetteTokensOptions {\n spacing?: number;\n}\n\nexport const createAlouetteTokens = <\n const ColorScales extends AlouetteColorScales,\n>(\n colorScales: ColorScales,\n { spacing = 4 }: AlouetteTokensOptions = {},\n) => {\n const sizes: AlouetteSizeRecord = createAlouetteSizes(spacing, false);\n const negativeSizes: NegativeAlouetteSizeRecord = createAlouetteSizes(\n -spacing,\n true,\n );\n\n return createTokens({\n color: {\n blackBackground: \"#1f1e1e\",\n whiteBackground: \"#ffffff\",\n // https://github.com/tamagui/tamagui/issues/3601 does not work at the moment\n blackBackgroundTranslucent: \"#1f1e1e77\",\n whiteBackgroundTranslucent: \"#ffffff99\",\n blackText: \"#000000\",\n whiteText: \"#fdfdfd\",\n transparent: \"transparent\",\n ...transformColorScalesToTokens(colorScales),\n },\n radius: {\n ...sizes,\n xs: spacing * 2,\n sm: spacing * 4,\n md: spacing * 8,\n },\n space: {\n ...sizes,\n ...negativeSizes,\n xs: spacing * 2,\n sm: spacing * 4,\n md: spacing * 8,\n },\n size: { ...sizes },\n zIndex: {},\n } as const);\n};\n","import type { IntRange } from \"type-fest\";\n\n// scale inspired by https://www.radix-ui.com/colors/docs/palette-composition/understanding-the-scale\n\n// LIGHT SCALE\n// 1: colored page background color\n// 2: interactive outlined background hover/focus color\n// 3: interactive contained background press color / non interactive background color\n// 4: interactive outlined background press color / non interactive shadow color\n// 5: interactive contained background hover/focus color\n// 6: interactive contained background color\n// 7: interactive border color\n// 8: interactive shadow color / text:press / interactive border hover/focus color\n// 9: text color\n// 10: text:hover/focus\n\n// DARK SCALE\n// 1: colored page background color\n// 2: interactive outlined background press color / non interactive shadow color\n// 3: interactive contained background press color / non interactive background color\n// 4: interactive outlined background hover/focus color\n// 5: interactive contained background color\n// 6: interactive contained background hover/focus color\n// 7: interactive border color\n// 8: interactive shadow color / text:press / interactive border hover/focus color\n// 9: text color\n// 10: text:hover/focus\n\n// this mapping is used to keep focus/hover colors brighter\nexport const mappingLightToDark = {\n 1: 1,\n 2: 4,\n 3: 3,\n 4: 2,\n 5: 6,\n 6: 5,\n 7: 7,\n 8: 8,\n 9: 9,\n 10: 10,\n};\n\nexport type AlouetteColorScaleNumber = IntRange<1, 11>;\n\nexport type AlouetteColorScale = Record<AlouetteColorScaleNumber, string>;\n\nexport const createColorScale = <const T extends AlouetteColorScale>(\n colorScale: T,\n): T => colorScale;\n\nexport interface AlouetteThemeNames {\n primary: \"primary\";\n info: \"info\";\n success: \"success\";\n warning: \"warning\";\n danger: \"danger\";\n grayscale: \"grayscale\";\n}\n\nexport type AlouetteColorScaleNames =\n | `${keyof AlouetteThemeNames}.dark`\n | `${keyof AlouetteThemeNames}.light`;\n\nexport type ColorScaleTokens = {\n [K in AlouetteColorScaleNames as `${K}.${AlouetteColorScaleNumber}`]: string; //(typeof colorScales)[K][AlouetteColorScaleNumber];\n};\n\nexport type AlouetteColorScales = Record<\n AlouetteColorScaleNames,\n AlouetteColorScale\n>;\n","/**\n * Calculates relative luminance of a color\n * Based on WCAG 2.0 formula: https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nconst getLuminance = (r: number, g: number, b: number) => {\n const values: [number, number, number] = [r, g, b].map((c) => {\n const s = c / 255;\n return s <= 0.039_28 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;\n }) as [number, number, number];\n\n return 0.2126 * values[0] + 0.7152 * values[1] + 0.0722 * values[2];\n};\n\n/**\n * Converts hex color to RGB values\n */\nconst hexToRgb = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (!result?.[1] || !result[2] || !result[3]) return null;\n return {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n };\n};\n\n/**\n * Calculates contrast ratio between two colors\n * Returns ratio between 1 and 21\n */\nexport const getContrastRatio = (color1: string, color2: string) => {\n const rgb1 = hexToRgb(color1);\n const rgb2 = hexToRgb(color2);\n\n if (!rgb1 || !rgb2) return 0;\n\n const l1 = getLuminance(rgb1.r, rgb1.g, rgb1.b);\n const l2 = getLuminance(rgb2.r, rgb2.g, rgb2.b);\n\n const lighter = Math.max(l1, l2);\n const darker = Math.min(l1, l2);\n\n return (lighter + 0.05) / (darker + 0.05);\n};\n\n/**\n * Checks if contrast ratio meets WCAG requirements\n */\nexport const checkContrast = (\n foreground: string,\n background: string,\n level: \"AA\" | \"AAA\" = \"AA\",\n) => {\n const ratio = getContrastRatio(foreground, background);\n const minimumRatio = level === \"AA\" ? 4.5 : 7;\n\n return {\n ratio,\n passes: ratio >= minimumRatio,\n minimumRatio,\n };\n};\n\n/**\n * Development warning for contrast issues\n */\nexport const warnOnContrastIssues = (\n themeName: string,\n textColor: string,\n backgroundColor: string,\n) => {\n if (process.env.NODE_ENV !== \"development\") return;\n\n const result = checkContrast(textColor, backgroundColor);\n\n if (!result.passes) {\n console.warn(\n `[Alouette] Contrast warning in theme \"${themeName}\":\n Text color ${textColor} on background ${backgroundColor}\n has contrast ratio of ${result.ratio.toFixed(2)}.\n Minimum required: ${result.minimumRatio}\n This may cause accessibility issues.`,\n );\n }\n};\n","/* eslint-disable complexity */\n/* eslint-disable camelcase */\nimport type { Variable } from \"@tamagui/core\";\nimport { mappingLightToDark } from \"./colorScales\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n AlouetteThemeNames,\n} from \"./colorScales\";\nimport type { createAlouetteTokens } from \"./createAlouetteTokens\";\nimport { warnOnContrastIssues } from \"./utils/colorContrast\";\n\n// export interface MinimalRootTheme {\n// backgroundColor: Variable<string>;\n// textColor: Variable<string>;\n// }\n\n// export interface RootTheme {\n// backgroundColor: Variable<string>;\n// textColor: Variable<string>;\n// }\n\nexport interface ColorTheme {\n screenBackgroundColor: Variable<string>;\n \"screenBackgroundColor.translucent\": Variable<string>;\n \"screenBackgroundColor.elevated\": Variable<string>;\n nonInteractiveBackgroundColor: Variable<string>;\n \"nonInteractiveBackgroundColor.elevated\": Variable<string>;\n\n \"gradientColor:start\": Variable<string>;\n \"gradientColor:middle\": Variable<string>;\n \"gradientColor:end\": Variable<string>;\n textColor: Variable<string>;\n \"textColor:disabled\": Variable<string>;\n accentTextColor: Variable<string>;\n borderColor: Variable<string>;\n shadowColor: Variable<string>;\n\n \"interactive.linkTextColor\": Variable<string>;\n \"interactive.linkTextColor:hover\": Variable<string>;\n \"interactive.linkTextColor:focus\": Variable<string>;\n \"interactive.linkTextColor:press\": Variable<string>;\n \"interactive.linkTextColor:disabled\": Variable<string>;\n\n \"interactive.contained.backgroundColor\": Variable<string>;\n \"interactive.elevated.backgroundColor\": Variable<string>;\n \"interactive.elevated.shadowColor\": Variable<string>;\n \"interactive.elevated.borderColor\": Variable<string>;\n \"interactive.outlined.backgroundColor\": Variable<string>;\n \"interactive.outlined.borderColor\": Variable<string>;\n\n \"interactive.contained.backgroundColor:hover\": Variable<string>;\n \"interactive.elevated.backgroundColor:hover\": Variable<string>;\n \"interactive.elevated.borderColor:hover\": Variable<string>;\n \"interactive.outlined.backgroundColor:hover\": Variable<string>;\n \"interactive.outlined.borderColor:hover\": Variable<string>;\n\n \"interactive.contained.backgroundColor:focus\": Variable<string>;\n \"interactive.elevated.backgroundColor:focus\": Variable<string>;\n \"interactive.elevated.borderColor:focus\": Variable<string>;\n \"interactive.outlined.backgroundColor:focus\": Variable<string>;\n \"interactive.outlined.borderColor:focus\": Variable<string>;\n\n \"interactive.contained.outlineColor:focus\": Variable<string>;\n \"interactive.elevated.outlineColor:focus\": Variable<string>;\n \"interactive.outlined.outlineColor:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor:press\": Variable<string>;\n \"interactive.elevated.backgroundColor:press\": Variable<string>;\n \"interactive.elevated.borderColor:press\": Variable<string>;\n \"interactive.outlined.backgroundColor:press\": Variable<string>;\n \"interactive.outlined.borderColor:press\": Variable<string>;\n\n \"interactive.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive.elevated.backgroundColor:disabled\": Variable<string>;\n \"interactive.elevated.shadowColor:disabled\": Variable<string>;\n \"interactive.elevated.borderColor:disabled\": Variable<string>;\n \"interactive.outlined.backgroundColor:disabled\": Variable<string>;\n \"interactive.outlined.borderColor:disabled\": Variable<string>;\n\n \"interactive.forms.textColor\": Variable<string>;\n \"interactive.forms.placeholderTextColor\": Variable<string>;\n \"interactive.forms.outlineColor:focus\": Variable<string>;\n \"interactive.forms.backgroundColor\": Variable<string>;\n \"interactive.forms.backgroundColor:hover\": Variable<string>;\n \"interactive.forms.backgroundColor:focus\": Variable<string>;\n \"interactive.forms.backgroundColor:press\": Variable<string>;\n \"interactive.forms.borderColor\": Variable<string>;\n \"interactive.forms.borderColor:hover\": Variable<string>;\n \"interactive.forms.borderColor:focus\": Variable<string>;\n \"interactive.forms.borderColor:press\": Variable<string>;\n \"interactive.forms.borderColor:disabled\": Variable<string>;\n}\n\n// export interface FullTheme extends ColorTheme, RootTheme {}\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface FullTheme extends ColorTheme {}\n\n// export const createRootTheme = <T extends MinimalRootTheme>(\n// theme: T,\n// ): FullTheme => {\n// return theme satisfies RootTheme as unknown as FullTheme;\n// };\n\nexport const createColorTheme = <\n const ColorTheme extends keyof AlouetteThemeNames,\n>(\n tokens: ReturnType<typeof createAlouetteTokens<AlouetteColorScales>>,\n themeName: ColorTheme,\n mode: \"dark\" | \"light\" = \"light\",\n // TODO replace by color in scale\n backgroundColor?: Variable<string>,\n textColor?: Variable<string>,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n if (!backgroundColor) {\n backgroundColor =\n mode === \"dark\"\n ? alouetteTokens.color.blackBackground\n : alouetteTokens.color.whiteBackground;\n }\n if (!textColor) {\n textColor =\n mode === \"dark\"\n ? alouetteTokens.color.whiteText\n : alouetteTokens.color.blackText;\n }\n\n const getColor = (\n scaleNumber: AlouetteColorScaleNumber,\n tint?: \"grayscale\",\n adaptForDarkMode = true,\n ) => {\n return tokens.color[\n `${tint || themeName}.${mode}.${mode === \"dark\" && adaptForDarkMode ? mappingLightToDark[scaleNumber] : scaleNumber}` as keyof typeof tokens.color\n ];\n };\n\n const theme = {\n screenBackgroundColor: getColor(1),\n \"screenBackgroundColor.elevated\": getColor(\n mode === \"dark\" ? 2 : 1,\n undefined,\n false,\n ),\n \"screenBackgroundColor.translucent\":\n mode === \"dark\"\n ? alouetteTokens.color.blackBackgroundTranslucent\n : alouetteTokens.color.whiteBackgroundTranslucent,\n nonInteractiveBackgroundColor: getColor(3),\n \"nonInteractiveBackgroundColor.elevated\": getColor(\n mode === \"dark\" ? 4 : 3,\n undefined,\n false,\n ),\n\n \"gradientColor:start\": getColor(mode === \"dark\" ? 5 : 6, undefined, false),\n \"gradientColor:middle\": getColor(mode === \"dark\" ? 6 : 7, undefined, false),\n \"gradientColor:end\": getColor(mode === \"dark\" ? 4 : 5, undefined, false),\n\n textColor,\n accentTextColor: getColor(9),\n borderColor: getColor(8),\n shadowColor:\n mode === \"dark\"\n ? alouetteTokens.color.transparent\n : getColor(8, \"grayscale\", false),\n \"textColor:disabled\": getColor(mode === \"dark\" ? 8 : 7, \"grayscale\", false),\n\n \"interactive.linkTextColor\": getColor(9),\n \"interactive.linkTextColor:hover\": getColor(10),\n \"interactive.linkTextColor:focus\": getColor(10),\n \"interactive.linkTextColor:press\": getColor(8),\n \"interactive.linkTextColor:disabled\": getColor(9, \"grayscale\"),\n\n \"interactive.contained.backgroundColor\": getColor(6),\n \"interactive.elevated.backgroundColor\":\n mode === \"dark\" ? getColor(4, \"grayscale\", false) : backgroundColor,\n \"interactive.elevated.shadowColor\":\n mode === \"dark\" ? alouetteTokens.color.transparent : getColor(8),\n \"interactive.elevated.borderColor\": getColor(mode === \"dark\" ? 7 : 1),\n \"interactive.outlined.backgroundColor\": backgroundColor,\n \"interactive.outlined.borderColor\": getColor(7),\n\n \"interactive.contained.backgroundColor:hover\": getColor(5),\n \"interactive.elevated.backgroundColor:hover\": getColor(2),\n \"interactive.elevated.borderColor:hover\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:hover\": backgroundColor,\n \"interactive.outlined.borderColor:hover\": getColor(8),\n\n \"interactive.contained.backgroundColor:focus\": getColor(5),\n \"interactive.elevated.backgroundColor:focus\": getColor(2),\n \"interactive.elevated.borderColor:focus\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:focus\": backgroundColor,\n \"interactive.outlined.borderColor:focus\": getColor(8),\n\n \"interactive.contained.outlineColor:focus\": getColor(7, undefined, false),\n \"interactive.outlined.outlineColor:focus\": getColor(7, undefined, false),\n \"interactive.elevated.outlineColor:focus\": getColor(7, undefined, false),\n\n \"interactive.contained.backgroundColor:press\": getColor(3),\n \"interactive.elevated.backgroundColor:press\": getColor(4),\n \"interactive.elevated.borderColor:press\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:press\": backgroundColor,\n \"interactive.outlined.borderColor:press\": getColor(8),\n\n \"interactive.contained.backgroundColor:disabled\": getColor(\n 4,\n \"grayscale\",\n false,\n ),\n \"interactive.elevated.backgroundColor:disabled\": backgroundColor,\n \"interactive.elevated.shadowColor:disabled\": getColor(8, \"grayscale\"),\n \"interactive.elevated.borderColor:disabled\": getColor(1, \"grayscale\"),\n \"interactive.outlined.backgroundColor:disabled\": backgroundColor,\n \"interactive.outlined.borderColor:disabled\": getColor(6, \"grayscale\"),\n\n \"interactive.forms.textColor\": textColor,\n \"interactive.forms.placeholderTextColor\": getColor(8, \"grayscale\"),\n \"interactive.forms.outlineColor:focus\": getColor(7, undefined, false),\n\n \"interactive.forms.backgroundColor\": backgroundColor,\n \"interactive.forms.backgroundColor:hover\": backgroundColor,\n \"interactive.forms.backgroundColor:focus\": getColor(2),\n \"interactive.forms.backgroundColor:press\": getColor(4),\n \"interactive.forms.borderColor\": getColor(7),\n \"interactive.forms.borderColor:disabled\": getColor(7, \"grayscale\"),\n \"interactive.forms.borderColor:hover\": getColor(\n mode === \"dark\" ? 8 : 6,\n undefined,\n false,\n ),\n \"interactive.forms.borderColor:focus\": getColor(\n mode === \"dark\" ? 8 : 6,\n undefined,\n false,\n ),\n \"interactive.forms.borderColor:press\": getColor(6),\n } satisfies FullTheme;\n\n if (process.env.NODE_ENV === \"development\") {\n // Check main text contrast\n warnOnContrastIssues(\n themeName,\n theme.textColor.val,\n theme.screenBackgroundColor.val,\n );\n }\n\n return theme;\n};\n\nexport const createAlouetteThemes = <\n const ColorScales extends AlouetteColorScales,\n>(\n tokens: ReturnType<typeof createAlouetteTokens<ColorScales>>,\n customCreateColorTheme = createColorTheme,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n return {\n light: customCreateColorTheme(alouetteTokens, \"grayscale\", \"light\"),\n light_info: customCreateColorTheme(alouetteTokens, \"info\", \"light\"),\n light_success: customCreateColorTheme(alouetteTokens, \"success\", \"light\"),\n light_warning: customCreateColorTheme(alouetteTokens, \"warning\", \"light\"),\n light_danger: customCreateColorTheme(alouetteTokens, \"danger\", \"light\"),\n light_primary: customCreateColorTheme(alouetteTokens, \"primary\", \"light\"),\n\n dark: customCreateColorTheme(alouetteTokens, \"grayscale\", \"dark\"),\n dark_info: customCreateColorTheme(alouetteTokens, \"info\", \"dark\"),\n dark_success: customCreateColorTheme(alouetteTokens, \"success\", \"dark\"),\n dark_warning: customCreateColorTheme(alouetteTokens, \"warning\", \"dark\"),\n dark_danger: customCreateColorTheme(alouetteTokens, \"danger\", \"dark\"),\n dark_primary: customCreateColorTheme(alouetteTokens, \"primary\", \"dark\"),\n } as const;\n};\n","import { createColorScale } from \"./colorScales\";\nimport type { AlouetteColorScales } from \"./colorScales\";\n\nexport const defaultColorScales: AlouetteColorScales = {\n \"grayscale.light\": createColorScale({\n 1: \"#FFFFFF\",\n 2: \"#EBEBEB\",\n 3: \"#DBDBDB\",\n 4: \"#D1D1D1\",\n 5: \"#C7C7C7\",\n 6: \"#B8B8B8\",\n 7: \"#8F8F8F\",\n 8: \"#616161\",\n 9: \"#525252\",\n 10: \"#2E2E2E\",\n }),\n \"grayscale.dark\": createColorScale({\n 1: \"#1F1F1F\",\n 2: \"#1F1F1F\",\n 3: \"#292929\",\n 4: \"#333333\",\n 5: \"#3D3D3D\",\n 6: \"#474747\",\n 7: \"#525252\",\n 8: \"#9E9E9E\",\n 9: \"#ADADAD\",\n 10: \"#D1D1D1\",\n }),\n \"primary.light\": createColorScale({\n 1: \"#EFF8FB\",\n 2: \"#DAF4FB\",\n 3: \"#BEEBF9\",\n 4: \"#ABE5F7\",\n 5: \"#99DFF5\",\n 6: \"#7DD7F2\",\n 7: \"#23C8FB\",\n 8: \"#037496\",\n 9: \"#025D78\",\n 10: \"#012732\",\n }),\n \"primary.dark\": createColorScale({\n 1: \"#02161C\",\n 2: \"#092A35\",\n 3: \"#0B3846\",\n 4: \"#0E4758\",\n 5: \"#135C72\",\n 6: \"#156A84\",\n 7: \"#0FB4E6\",\n 8: \"#49CCF3\",\n 9: \"#66D4F5\",\n 10: \"#A9E7F9\",\n }),\n \"danger.light\": createColorScale({\n 1: \"#FBEFEF\",\n 2: \"#FEF6F5\",\n 3: \"#FDDAD9\",\n 4: \"#FBC7C5\",\n 5: \"#FAB5B2\",\n 6: \"#F89996\",\n 7: \"#FB4741\",\n 8: \"#C80B04\",\n 9: \"#AA0903\",\n 10: \"#640502\",\n }),\n \"danger.dark\": createColorScale({\n 1: \"#1C0302\",\n 2: \"#4F0F0D\",\n 3: \"#601210\",\n 4: \"#721613\",\n 5: \"#8C1B17\",\n 6: \"#9E1E1A\",\n 7: \"#F12922\",\n 8: \"#F56A66\",\n 9: \"#F78682\",\n 10: \"#FBC7C5\",\n }),\n \"info.light\": createColorScale({\n 1: \"#EFF8FB\",\n 2: \"#DAF3FB\",\n 3: \"#BEEAF9\",\n 4: \"#ABE4F7\",\n 5: \"#99DEF5\",\n 6: \"#7DD5F2\",\n 7: \"#23C5FB\",\n 8: \"#037196\",\n 9: \"#025B78\",\n 10: \"#012632\",\n }),\n \"info.dark\": createColorScale({\n 1: \"#02161C\",\n 2: \"#092A35\",\n 3: \"#0B3746\",\n 4: \"#0E4558\",\n 5: \"#135A72\",\n 6: \"#156884\",\n 7: \"#0FB0E6\",\n 8: \"#49C9F3\",\n 9: \"#66D1F5\",\n 10: \"#A9E5F9\",\n }),\n \"success.light\": createColorScale({\n 1: \"#EFFBEF\",\n 2: \"#DAFBDA\",\n 3: \"#BEF9BE\",\n 4: \"#ABF7AB\",\n 5: \"#99F599\",\n 6: \"#7DF27D\",\n 7: \"#23FB23\",\n 8: \"#038203\",\n 9: \"#026402\",\n 10: \"#011E01\",\n }),\n \"success.dark\": createColorScale({\n 1: \"#021C02\",\n 2: \"#093509\",\n 3: \"#0B460B\",\n 4: \"#0E580E\",\n 5: \"#137213\",\n 6: \"#158415\",\n 7: \"#0FE60F\",\n 8: \"#49F349\",\n 9: \"#66F566\",\n 10: \"#A9F9A9\",\n }),\n \"warning.light\": createColorScale({\n 1: \"#FBF7EF\",\n 2: \"#FEF8EC\",\n 3: \"#FBEDD0\",\n 4: \"#FAE6BD\",\n 5: \"#F9DEAA\",\n 6: \"#F6D38D\",\n 7: \"#FBBA37\",\n 8: \"#825803\",\n 9: \"#644302\",\n 10: \"#1E1401\",\n }),\n \"warning.dark\": createColorScale({\n 1: \"#1C1402\",\n 2: \"#46330B\",\n 3: \"#583F0E\",\n 4: \"#694C11\",\n 5: \"#845F15\",\n 6: \"#956C18\",\n 7: \"#F0A919\",\n 8: \"#F5C25C\",\n 9: \"#F6CD79\",\n 10: \"#FBE6BC\",\n }),\n} as const;\n","import { createTamagui } from \"@tamagui/core\";\nimport { animations } from \"./config/animations\";\nimport type { AlouetteColorScales } from \"./config/colorScales\";\nimport type { AlouetteFontsOptions } from \"./config/createAlouetteFonts\";\nimport { createAlouetteFonts } from \"./config/createAlouetteFonts\";\nimport type { createAlouetteTokens } from \"./config/createAlouetteTokens\";\nimport { media } from \"./config/media\";\nimport type { createAlouetteThemes } from \"./config/themes\";\n\nexport { createAlouetteTokens } from \"./config/createAlouetteTokens\";\n\nexport interface AlouetteTamaguiOptions {\n fonts?: AlouetteFontsOptions;\n}\n\nexport {\n createColorTheme,\n createAlouetteThemes,\n type FullTheme,\n} from \"./config/themes\";\n\nexport {\n createColorScale,\n type AlouetteThemeNames,\n type AlouetteColorScales,\n type AlouetteColorScale,\n} from \"./config/colorScales\";\n\nexport { defaultColorScales } from \"./config/defaultColorScales\";\n\nexport const createAlouetteTamagui = <\n const ColorScales extends AlouetteColorScales,\n const Tokens extends ReturnType<typeof createAlouetteTokens<ColorScales>>,\n const Themes extends ReturnType<typeof createAlouetteThemes<ColorScales>>,\n>(\n tokens: Tokens,\n themes: Themes,\n options: AlouetteTamaguiOptions = {},\n) => {\n return createTamagui({\n fonts: createAlouetteFonts(options.fonts),\n tokens,\n themes,\n media,\n animations,\n settings: {\n allowedStyleValues: \"somewhat-strict-web\",\n autocompleteSpecificTokens: \"except-special\",\n },\n components: [\"alouette\"],\n } as const);\n};\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createAlouetteTamagui-node22.cjs","sources":["../src/config/animations.ts","../src/config/createAlouetteFonts.ts","../src/config/Breakpoints.ts","../src/config/media.ts","../src/config/createAlouetteTokens.ts","../src/config/colorScales.ts","../src/config/utils/colorContrast.ts","../src/config/themes.ts","../src/config/defaultColorScales.ts","../src/createAlouetteTamagui.ts"],"sourcesContent":["/* eslint-disable unicorn/prefer-global-this */\nimport { createAnimations } from \"@tamagui/animations-react-native\";\n\nexport const animations = createAnimations({\n fast: {\n type: \"timing\",\n duration: 100,\n damping: 20,\n stiffness: 250,\n },\n medium: {\n type: \"timing\",\n duration: 300,\n damping: 20,\n stiffness: 250,\n },\n slow: {\n damping: 20,\n stiffness: 60,\n },\n formElement: {\n type: \"timing\",\n duration: 600,\n damping: 20,\n stiffness: 250,\n },\n});\n\nif (\"navigator\" in global) {\n // eslint-disable-next-line n/no-unsupported-features/node-builtins\n const navigator = global.navigator as any;\n if (\n !navigator.userAgent?.startsWith(\"Node.js\") &&\n navigator.product !== \"ReactNative\"\n ) {\n throw new Error(\n `animations native is loaded in web: ${\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n navigator.appName || navigator.product || navigator.userAgent\n }`,\n );\n }\n}\n","import { createFont } from \"@tamagui/core\";\n\nconst defaultHeadingFontSizes = {\n xxl: 64,\n xl: 48,\n lg: 40,\n md: 32,\n sm: 24,\n xs: 18,\n};\nconst defaultBodyFontSizes = {\n xxl: 48,\n xl: 24,\n lg: 18,\n md: 16,\n sm: 14,\n xs: 12,\n};\n\nconst roundWith1Precision = (value: number): number =>\n Math.round(value * 10) / 10;\n\nexport interface AlouetteFontsOptions {\n headingFontFamily?: string;\n headingFontSizes?: typeof defaultHeadingFontSizes;\n bodyFontFamily?: string;\n bodyFontSizes?: typeof defaultBodyFontSizes;\n monospaceFontFamily?: string;\n monospaceFontSizes?: typeof defaultBodyFontSizes;\n}\n\nexport const createAlouetteFonts = ({\n headingFontFamily = \"Sora\",\n headingFontSizes = defaultHeadingFontSizes,\n bodyFontFamily = \"Sora\",\n bodyFontSizes = defaultBodyFontSizes,\n monospaceFontFamily,\n monospaceFontSizes = defaultBodyFontSizes,\n}: AlouetteFontsOptions = {}) => ({\n heading: createFont({\n family: headingFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${headingFontFamily}Regular` },\n 700: { normal: `${headingFontFamily}Bold` },\n 800: { normal: `${headingFontFamily}ExtraBold` },\n },\n size: headingFontSizes,\n lineHeight: {\n xxl: roundWith1Precision(1.1 * headingFontSizes.xxl),\n xl: roundWith1Precision(1.1 * headingFontSizes.xl),\n lg: roundWith1Precision(1.1 * headingFontSizes.lg),\n md: roundWith1Precision(1.2 * headingFontSizes.md),\n sm: roundWith1Precision(1.3 * headingFontSizes.sm),\n xs: roundWith1Precision(1.3 * headingFontSizes.xs),\n },\n }),\n body: createFont({\n family: bodyFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${bodyFontFamily}Regular` },\n 700: { normal: `${bodyFontFamily}Bold` },\n 800: { normal: `${bodyFontFamily}ExtraBold` },\n },\n size: bodyFontSizes,\n lineHeight: {\n xxl: roundWith1Precision(1.4 * bodyFontSizes.xxl),\n xl: roundWith1Precision(1.4 * bodyFontSizes.xl),\n lg: roundWith1Precision(1.4 * bodyFontSizes.lg),\n md: roundWith1Precision(1.4 * bodyFontSizes.md),\n sm: roundWith1Precision(1.4 * bodyFontSizes.sm),\n xs: roundWith1Precision(1.4 * bodyFontSizes.xs),\n },\n }),\n ...(monospaceFontFamily\n ? {\n monospace: createFont({\n family: monospaceFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${monospaceFontFamily}Regular` },\n 700: { normal: `${monospaceFontFamily}Bold` },\n 800: { normal: `${monospaceFontFamily}ExtraBold` },\n },\n size: monospaceFontSizes,\n lineHeight: {\n xxl: roundWith1Precision(1.4 * monospaceFontSizes.xxl),\n xl: roundWith1Precision(1.4 * monospaceFontSizes.xl),\n lg: roundWith1Precision(1.4 * monospaceFontSizes.lg),\n md: roundWith1Precision(1.4 * monospaceFontSizes.md),\n sm: roundWith1Precision(1.4 * monospaceFontSizes.sm),\n xs: roundWith1Precision(1.4 * monospaceFontSizes.xs),\n },\n }),\n }\n : {}),\n});\n","export const Breakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n} as const;\n\nexport type Breakpoint = (typeof Breakpoints)[keyof typeof Breakpoints];\nexport type BreakpointNames = \"base\" | \"large\" | \"medium\" | \"small\" | \"wide\";\n\nexport enum BreakpointNameEnum {\n BASE = \"base\",\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n WIDE = \"wide\",\n}\n","import { Breakpoints } from \"./Breakpoints\";\n\nexport const media = {\n small: { minWidth: Breakpoints.SMALL },\n medium: { minWidth: Breakpoints.MEDIUM },\n large: { minWidth: Breakpoints.LARGE },\n wide: { minWidth: Breakpoints.WIDE },\n} as const;\n","import { createTokens } from \"@tamagui/core\";\nimport type { IntRange } from \"type-fest\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n} from \"./colorScales\";\n\ntype AlouetteSize = IntRange<0, 64>;\ntype NegativeAlouetteSize = `-${AlouetteSize}`;\ntype AlouetteSizeRecord = Record<AlouetteSize, number>;\ntype NegativeAlouetteSizeRecord = Record<NegativeAlouetteSize, number>;\n\nconst createAlouetteSizes = <const N extends boolean>(\n spacing: number,\n negative: N,\n): N extends true ? NegativeAlouetteSizeRecord : AlouetteSizeRecord => {\n const MAX_SIZE = 64;\n const sizes: Partial<\n N extends true ? NegativeAlouetteSizeRecord : AlouetteSizeRecord\n > = {};\n for (let size = 0; size <= MAX_SIZE; size++) {\n (sizes as any)[negative ? `-${size}` : `${size}`] = size * spacing;\n }\n return sizes as N extends true\n ? NegativeAlouetteSizeRecord\n : AlouetteSizeRecord;\n};\n\ntype ColorScaleTokens<ColorScales extends AlouetteColorScales> = {\n [K in string &\n keyof ColorScales as `${K}.${AlouetteColorScaleNumber}`]: string; //(typeof colorScales)[K][AlouetteColorScaleNumber];\n};\n\nconst transformColorScalesToTokens = <ColorScales extends AlouetteColorScales>(\n colorScales: ColorScales,\n): ColorScaleTokens<ColorScales> => {\n return Object.fromEntries(\n Object.entries(colorScales).flatMap(([colorName, colorScale]) => {\n return Object.entries(colorScale).map(([scaleNumber, colorValue]) => {\n return [`${colorName}.${scaleNumber}`, colorValue];\n });\n }),\n ) as ColorScaleTokens<ColorScales>;\n};\n\nexport interface AlouetteTokensOptions {\n spacing?: number;\n}\n\nexport const createAlouetteTokens = <\n const ColorScales extends AlouetteColorScales,\n>(\n colorScales: ColorScales,\n { spacing = 4 }: AlouetteTokensOptions = {},\n) => {\n const sizes: AlouetteSizeRecord = createAlouetteSizes(spacing, false);\n const negativeSizes: NegativeAlouetteSizeRecord = createAlouetteSizes(\n -spacing,\n true,\n );\n\n return createTokens({\n color: {\n blackBackground: \"#1f1e1e\",\n whiteBackground: \"#ffffff\",\n // https://github.com/tamagui/tamagui/issues/3601 does not work at the moment\n blackBackgroundTranslucent: \"#1f1e1e77\",\n whiteBackgroundTranslucent: \"#ffffff99\",\n blackText: \"#000000\",\n whiteText: \"#fdfdfd\",\n transparent: \"transparent\",\n ...transformColorScalesToTokens(colorScales),\n },\n radius: {\n ...sizes,\n xs: spacing * 2,\n sm: spacing * 4,\n md: spacing * 8,\n },\n space: {\n ...sizes,\n ...negativeSizes,\n xs: spacing * 2,\n sm: spacing * 4,\n md: spacing * 8,\n },\n size: { ...sizes },\n zIndex: {},\n } as const);\n};\n","import type { IntRange } from \"type-fest\";\n\n// scale inspired by https://www.radix-ui.com/colors/docs/palette-composition/understanding-the-scale\n\n// LIGHT SCALE\n// 1: colored page background color\n// 2: interactive outlined background hover/focus color\n// 3: interactive contained background press color / non interactive background color\n// 4: interactive outlined background press color / non interactive shadow color\n// 5: interactive contained background hover/focus color\n// 6: interactive contained background color\n// 7: interactive border color\n// 8: interactive shadow color / text:press / interactive border hover/focus color\n// 9: text color\n// 10: text:hover/focus\n\n// DARK SCALE\n// 1: colored page background color\n// 2: interactive outlined background press color / non interactive shadow color\n// 3: interactive contained background press color / non interactive background color\n// 4: interactive outlined background hover/focus color\n// 5: interactive contained background color\n// 6: interactive contained background hover/focus color\n// 7: interactive border color\n// 8: interactive shadow color / text:press / interactive border hover/focus color\n// 9: text color\n// 10: text:hover/focus\n\n// this mapping is used to keep focus/hover colors brighter\nexport const mappingLightToDark = {\n 1: 1,\n 2: 4,\n 3: 3,\n 4: 2,\n 5: 6,\n 6: 5,\n 7: 7,\n 8: 8,\n 9: 9,\n 10: 10,\n};\n\nexport type AlouetteColorScaleNumber = IntRange<1, 11>;\n\nexport type AlouetteColorScale = Record<AlouetteColorScaleNumber, string>;\n\nexport const createColorScale = <const T extends AlouetteColorScale>(\n colorScale: T,\n): T => colorScale;\n\nexport interface AlouetteThemeNames {\n primary: \"primary\";\n info: \"info\";\n success: \"success\";\n warning: \"warning\";\n danger: \"danger\";\n grayscale: \"grayscale\";\n}\n\nexport type AlouetteColorScaleNames =\n | `${keyof AlouetteThemeNames}.dark`\n | `${keyof AlouetteThemeNames}.light`;\n\nexport type ColorScaleTokens = {\n [K in AlouetteColorScaleNames as `${K}.${AlouetteColorScaleNumber}`]: string; //(typeof colorScales)[K][AlouetteColorScaleNumber];\n};\n\nexport type AlouetteColorScales = Record<\n AlouetteColorScaleNames,\n AlouetteColorScale\n>;\n","/**\n * Calculates relative luminance of a color\n * Based on WCAG 2.0 formula: https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nconst getLuminance = (r: number, g: number, b: number) => {\n const values: [number, number, number] = [r, g, b].map((c) => {\n const s = c / 255;\n return s <= 0.039_28 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;\n }) as [number, number, number];\n\n return 0.2126 * values[0] + 0.7152 * values[1] + 0.0722 * values[2];\n};\n\n/**\n * Converts hex color to RGB values\n */\nconst hexToRgb = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (!result?.[1] || !result[2] || !result[3]) return null;\n return {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n };\n};\n\n/**\n * Calculates contrast ratio between two colors\n * Returns ratio between 1 and 21\n */\nexport const getContrastRatio = (color1: string, color2: string) => {\n const rgb1 = hexToRgb(color1);\n const rgb2 = hexToRgb(color2);\n\n if (!rgb1 || !rgb2) return 0;\n\n const l1 = getLuminance(rgb1.r, rgb1.g, rgb1.b);\n const l2 = getLuminance(rgb2.r, rgb2.g, rgb2.b);\n\n const lighter = Math.max(l1, l2);\n const darker = Math.min(l1, l2);\n\n return (lighter + 0.05) / (darker + 0.05);\n};\n\n/**\n * Checks if contrast ratio meets WCAG requirements\n */\nexport const checkContrast = (\n foreground: string,\n background: string,\n level: \"AA\" | \"AAA\" = \"AA\",\n) => {\n const ratio = getContrastRatio(foreground, background);\n const minimumRatio = level === \"AA\" ? 4.5 : 7;\n\n return {\n ratio,\n passes: ratio >= minimumRatio,\n minimumRatio,\n };\n};\n\n/**\n * Development warning for contrast issues\n */\nexport const warnOnContrastIssues = (\n themeName: string,\n textColor: string,\n backgroundColor: string,\n) => {\n if (process.env.NODE_ENV !== \"development\") return;\n\n const result = checkContrast(textColor, backgroundColor);\n\n if (!result.passes) {\n console.warn(\n `[Alouette] Contrast warning in theme \"${themeName}\":\n Text color ${textColor} on background ${backgroundColor}\n has contrast ratio of ${result.ratio.toFixed(2)}.\n Minimum required: ${result.minimumRatio}\n This may cause accessibility issues.`,\n );\n }\n};\n","/* eslint-disable complexity */\n/* eslint-disable camelcase */\nimport type { Variable } from \"@tamagui/core\";\nimport { mappingLightToDark } from \"./colorScales\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n AlouetteThemeNames,\n} from \"./colorScales\";\nimport type { createAlouetteTokens } from \"./createAlouetteTokens\";\nimport { warnOnContrastIssues } from \"./utils/colorContrast\";\n\n// export interface MinimalRootTheme {\n// backgroundColor: Variable<string>;\n// textColor: Variable<string>;\n// }\n\n// export interface RootTheme {\n// backgroundColor: Variable<string>;\n// textColor: Variable<string>;\n// }\n\nexport interface ColorTheme {\n screenBackgroundColor: Variable<string>;\n \"screenBackgroundColor.translucent\": Variable<string>;\n \"screenBackgroundColor.elevated\": Variable<string>;\n nonInteractiveBackgroundColor: Variable<string>;\n \"nonInteractiveBackgroundColor.elevated\": Variable<string>;\n\n \"gradientColor:start\": Variable<string>;\n \"gradientColor:middle\": Variable<string>;\n \"gradientColor:end\": Variable<string>;\n textColor: Variable<string>;\n \"textColor:disabled\": Variable<string>;\n accentTextColor: Variable<string>;\n borderColor: Variable<string>;\n shadowColor: Variable<string>;\n\n \"interactive.linkTextColor\": Variable<string>;\n \"interactive.linkTextColor:hover\": Variable<string>;\n \"interactive.linkTextColor:focus\": Variable<string>;\n \"interactive.linkTextColor:press\": Variable<string>;\n \"interactive.linkTextColor:disabled\": Variable<string>;\n\n \"interactive.contained.backgroundColor\": Variable<string>;\n \"interactive.elevated.backgroundColor\": Variable<string>;\n \"interactive.elevated.shadowColor\": Variable<string>;\n \"interactive.elevated.borderColor\": Variable<string>;\n \"interactive.outlined.backgroundColor\": Variable<string>;\n \"interactive.outlined.borderColor\": Variable<string>;\n\n \"interactive.contained.backgroundColor:hover\": Variable<string>;\n \"interactive.elevated.backgroundColor:hover\": Variable<string>;\n \"interactive.elevated.borderColor:hover\": Variable<string>;\n \"interactive.outlined.backgroundColor:hover\": Variable<string>;\n \"interactive.outlined.borderColor:hover\": Variable<string>;\n\n \"interactive.contained.backgroundColor:focus\": Variable<string>;\n \"interactive.elevated.backgroundColor:focus\": Variable<string>;\n \"interactive.elevated.borderColor:focus\": Variable<string>;\n \"interactive.outlined.backgroundColor:focus\": Variable<string>;\n \"interactive.outlined.borderColor:focus\": Variable<string>;\n\n \"interactive.contained.outlineColor:focus\": Variable<string>;\n \"interactive.elevated.outlineColor:focus\": Variable<string>;\n \"interactive.outlined.outlineColor:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor:press\": Variable<string>;\n \"interactive.elevated.backgroundColor:press\": Variable<string>;\n \"interactive.elevated.borderColor:press\": Variable<string>;\n \"interactive.outlined.backgroundColor:press\": Variable<string>;\n \"interactive.outlined.borderColor:press\": Variable<string>;\n\n \"interactive.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive.elevated.backgroundColor:disabled\": Variable<string>;\n \"interactive.elevated.shadowColor:disabled\": Variable<string>;\n \"interactive.elevated.borderColor:disabled\": Variable<string>;\n \"interactive.outlined.backgroundColor:disabled\": Variable<string>;\n \"interactive.outlined.borderColor:disabled\": Variable<string>;\n\n \"interactive.forms.textColor\": Variable<string>;\n \"interactive.forms.placeholderTextColor\": Variable<string>;\n \"interactive.forms.outlineColor:focus\": Variable<string>;\n \"interactive.forms.backgroundColor\": Variable<string>;\n \"interactive.forms.backgroundColor:hover\": Variable<string>;\n \"interactive.forms.backgroundColor:focus\": Variable<string>;\n \"interactive.forms.backgroundColor:press\": Variable<string>;\n \"interactive.forms.borderColor\": Variable<string>;\n \"interactive.forms.borderColor:hover\": Variable<string>;\n \"interactive.forms.borderColor:focus\": Variable<string>;\n \"interactive.forms.borderColor:press\": Variable<string>;\n \"interactive.forms.borderColor:disabled\": Variable<string>;\n}\n\n// export interface FullTheme extends ColorTheme, RootTheme {}\nexport type FullTheme = ColorTheme;\n\n// export const createRootTheme = <T extends MinimalRootTheme>(\n// theme: T,\n// ): FullTheme => {\n// return theme satisfies RootTheme as unknown as FullTheme;\n// };\n\nexport const createColorTheme = <\n const ColorTheme extends keyof AlouetteThemeNames,\n>(\n tokens: ReturnType<typeof createAlouetteTokens<AlouetteColorScales>>,\n themeName: ColorTheme,\n mode: \"dark\" | \"light\" = \"light\",\n // TODO replace by color in scale\n backgroundColor?: Variable<string>,\n textColor?: Variable<string>,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n if (!backgroundColor) {\n backgroundColor =\n mode === \"dark\"\n ? alouetteTokens.color.blackBackground\n : alouetteTokens.color.whiteBackground;\n }\n if (!textColor) {\n textColor =\n mode === \"dark\"\n ? alouetteTokens.color.whiteText\n : alouetteTokens.color.blackText;\n }\n\n const getColor = (\n scaleNumber: AlouetteColorScaleNumber,\n tint?: \"grayscale\",\n adaptForDarkMode = true,\n ) => {\n return tokens.color[\n `${tint || themeName}.${mode}.${mode === \"dark\" && adaptForDarkMode ? mappingLightToDark[scaleNumber] : scaleNumber}` as keyof typeof tokens.color\n ];\n };\n\n const theme = {\n screenBackgroundColor: getColor(1),\n \"screenBackgroundColor.elevated\": getColor(\n mode === \"dark\" ? 2 : 1,\n undefined,\n false,\n ),\n \"screenBackgroundColor.translucent\":\n mode === \"dark\"\n ? alouetteTokens.color.blackBackgroundTranslucent\n : alouetteTokens.color.whiteBackgroundTranslucent,\n nonInteractiveBackgroundColor: getColor(3),\n \"nonInteractiveBackgroundColor.elevated\": getColor(\n mode === \"dark\" ? 4 : 3,\n undefined,\n false,\n ),\n\n \"gradientColor:start\": getColor(mode === \"dark\" ? 5 : 6, undefined, false),\n \"gradientColor:middle\": getColor(mode === \"dark\" ? 6 : 7, undefined, false),\n \"gradientColor:end\": getColor(mode === \"dark\" ? 4 : 5, undefined, false),\n\n textColor,\n accentTextColor: getColor(9),\n borderColor: getColor(8),\n shadowColor:\n mode === \"dark\"\n ? alouetteTokens.color.transparent\n : getColor(8, \"grayscale\", false),\n \"textColor:disabled\": getColor(mode === \"dark\" ? 8 : 7, \"grayscale\", false),\n\n \"interactive.linkTextColor\": getColor(9),\n \"interactive.linkTextColor:hover\": getColor(10),\n \"interactive.linkTextColor:focus\": getColor(10),\n \"interactive.linkTextColor:press\": getColor(8),\n \"interactive.linkTextColor:disabled\": getColor(9, \"grayscale\"),\n\n \"interactive.contained.backgroundColor\": getColor(6),\n \"interactive.elevated.backgroundColor\":\n mode === \"dark\" ? getColor(4, \"grayscale\", false) : backgroundColor,\n \"interactive.elevated.shadowColor\":\n mode === \"dark\" ? alouetteTokens.color.transparent : getColor(8),\n \"interactive.elevated.borderColor\": getColor(mode === \"dark\" ? 7 : 1),\n \"interactive.outlined.backgroundColor\": backgroundColor,\n \"interactive.outlined.borderColor\": getColor(7),\n\n \"interactive.contained.backgroundColor:hover\": getColor(5),\n \"interactive.elevated.backgroundColor:hover\": getColor(2),\n \"interactive.elevated.borderColor:hover\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:hover\": backgroundColor,\n \"interactive.outlined.borderColor:hover\": getColor(8),\n\n \"interactive.contained.backgroundColor:focus\": getColor(5),\n \"interactive.elevated.backgroundColor:focus\": getColor(2),\n \"interactive.elevated.borderColor:focus\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:focus\": backgroundColor,\n \"interactive.outlined.borderColor:focus\": getColor(8),\n\n \"interactive.contained.outlineColor:focus\": getColor(7, undefined, false),\n \"interactive.outlined.outlineColor:focus\": getColor(7, undefined, false),\n \"interactive.elevated.outlineColor:focus\": getColor(7, undefined, false),\n\n \"interactive.contained.backgroundColor:press\": getColor(3),\n \"interactive.elevated.backgroundColor:press\": getColor(4),\n \"interactive.elevated.borderColor:press\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:press\": backgroundColor,\n \"interactive.outlined.borderColor:press\": getColor(8),\n\n \"interactive.contained.backgroundColor:disabled\": getColor(\n 4,\n \"grayscale\",\n false,\n ),\n \"interactive.elevated.backgroundColor:disabled\": backgroundColor,\n \"interactive.elevated.shadowColor:disabled\": getColor(8, \"grayscale\"),\n \"interactive.elevated.borderColor:disabled\": getColor(1, \"grayscale\"),\n \"interactive.outlined.backgroundColor:disabled\": backgroundColor,\n \"interactive.outlined.borderColor:disabled\": getColor(6, \"grayscale\"),\n\n \"interactive.forms.textColor\": textColor,\n \"interactive.forms.placeholderTextColor\": getColor(8, \"grayscale\"),\n \"interactive.forms.outlineColor:focus\": getColor(7, undefined, false),\n\n \"interactive.forms.backgroundColor\": backgroundColor,\n \"interactive.forms.backgroundColor:hover\": backgroundColor,\n \"interactive.forms.backgroundColor:focus\": getColor(2),\n \"interactive.forms.backgroundColor:press\": getColor(4),\n \"interactive.forms.borderColor\": getColor(7),\n \"interactive.forms.borderColor:disabled\": getColor(7, \"grayscale\"),\n \"interactive.forms.borderColor:hover\": getColor(\n mode === \"dark\" ? 8 : 6,\n undefined,\n false,\n ),\n \"interactive.forms.borderColor:focus\": getColor(\n mode === \"dark\" ? 8 : 6,\n undefined,\n false,\n ),\n \"interactive.forms.borderColor:press\": getColor(6),\n } satisfies FullTheme;\n\n if (process.env.NODE_ENV === \"development\") {\n // Check main text contrast\n warnOnContrastIssues(\n themeName,\n theme.textColor.val,\n theme.screenBackgroundColor.val,\n );\n }\n\n return theme;\n};\n\nexport const createAlouetteThemes = <\n const ColorScales extends AlouetteColorScales,\n>(\n tokens: ReturnType<typeof createAlouetteTokens<ColorScales>>,\n customCreateColorTheme = createColorTheme,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n return {\n light: customCreateColorTheme(alouetteTokens, \"grayscale\", \"light\"),\n light_info: customCreateColorTheme(alouetteTokens, \"info\", \"light\"),\n light_success: customCreateColorTheme(alouetteTokens, \"success\", \"light\"),\n light_warning: customCreateColorTheme(alouetteTokens, \"warning\", \"light\"),\n light_danger: customCreateColorTheme(alouetteTokens, \"danger\", \"light\"),\n light_primary: customCreateColorTheme(alouetteTokens, \"primary\", \"light\"),\n\n dark: customCreateColorTheme(alouetteTokens, \"grayscale\", \"dark\"),\n dark_info: customCreateColorTheme(alouetteTokens, \"info\", \"dark\"),\n dark_success: customCreateColorTheme(alouetteTokens, \"success\", \"dark\"),\n dark_warning: customCreateColorTheme(alouetteTokens, \"warning\", \"dark\"),\n dark_danger: customCreateColorTheme(alouetteTokens, \"danger\", \"dark\"),\n dark_primary: customCreateColorTheme(alouetteTokens, \"primary\", \"dark\"),\n } as const;\n};\n","import { createColorScale } from \"./colorScales\";\nimport type { AlouetteColorScales } from \"./colorScales\";\n\nexport const defaultColorScales: AlouetteColorScales = {\n \"grayscale.light\": createColorScale({\n 1: \"#FFFFFF\",\n 2: \"#EBEBEB\",\n 3: \"#DBDBDB\",\n 4: \"#D1D1D1\",\n 5: \"#C7C7C7\",\n 6: \"#B8B8B8\",\n 7: \"#8F8F8F\",\n 8: \"#616161\",\n 9: \"#525252\",\n 10: \"#2E2E2E\",\n }),\n \"grayscale.dark\": createColorScale({\n 1: \"#1F1F1F\",\n 2: \"#1F1F1F\",\n 3: \"#292929\",\n 4: \"#333333\",\n 5: \"#3D3D3D\",\n 6: \"#474747\",\n 7: \"#525252\",\n 8: \"#9E9E9E\",\n 9: \"#ADADAD\",\n 10: \"#D1D1D1\",\n }),\n \"primary.light\": createColorScale({\n 1: \"#EFF8FB\",\n 2: \"#DAF4FB\",\n 3: \"#BEEBF9\",\n 4: \"#ABE5F7\",\n 5: \"#99DFF5\",\n 6: \"#7DD7F2\",\n 7: \"#23C8FB\",\n 8: \"#037496\",\n 9: \"#025D78\",\n 10: \"#012732\",\n }),\n \"primary.dark\": createColorScale({\n 1: \"#02161C\",\n 2: \"#092A35\",\n 3: \"#0B3846\",\n 4: \"#0E4758\",\n 5: \"#135C72\",\n 6: \"#156A84\",\n 7: \"#0FB4E6\",\n 8: \"#49CCF3\",\n 9: \"#66D4F5\",\n 10: \"#A9E7F9\",\n }),\n \"danger.light\": createColorScale({\n 1: \"#FBEFEF\",\n 2: \"#FEF6F5\",\n 3: \"#FDDAD9\",\n 4: \"#FBC7C5\",\n 5: \"#FAB5B2\",\n 6: \"#F89996\",\n 7: \"#FB4741\",\n 8: \"#C80B04\",\n 9: \"#AA0903\",\n 10: \"#640502\",\n }),\n \"danger.dark\": createColorScale({\n 1: \"#1C0302\",\n 2: \"#4F0F0D\",\n 3: \"#601210\",\n 4: \"#721613\",\n 5: \"#8C1B17\",\n 6: \"#9E1E1A\",\n 7: \"#F12922\",\n 8: \"#F56A66\",\n 9: \"#F78682\",\n 10: \"#FBC7C5\",\n }),\n \"info.light\": createColorScale({\n 1: \"#EFF8FB\",\n 2: \"#DAF3FB\",\n 3: \"#BEEAF9\",\n 4: \"#ABE4F7\",\n 5: \"#99DEF5\",\n 6: \"#7DD5F2\",\n 7: \"#23C5FB\",\n 8: \"#037196\",\n 9: \"#025B78\",\n 10: \"#012632\",\n }),\n \"info.dark\": createColorScale({\n 1: \"#02161C\",\n 2: \"#092A35\",\n 3: \"#0B3746\",\n 4: \"#0E4558\",\n 5: \"#135A72\",\n 6: \"#156884\",\n 7: \"#0FB0E6\",\n 8: \"#49C9F3\",\n 9: \"#66D1F5\",\n 10: \"#A9E5F9\",\n }),\n \"success.light\": createColorScale({\n 1: \"#EFFBEF\",\n 2: \"#DAFBDA\",\n 3: \"#BEF9BE\",\n 4: \"#ABF7AB\",\n 5: \"#99F599\",\n 6: \"#7DF27D\",\n 7: \"#23FB23\",\n 8: \"#038203\",\n 9: \"#026402\",\n 10: \"#011E01\",\n }),\n \"success.dark\": createColorScale({\n 1: \"#021C02\",\n 2: \"#093509\",\n 3: \"#0B460B\",\n 4: \"#0E580E\",\n 5: \"#137213\",\n 6: \"#158415\",\n 7: \"#0FE60F\",\n 8: \"#49F349\",\n 9: \"#66F566\",\n 10: \"#A9F9A9\",\n }),\n \"warning.light\": createColorScale({\n 1: \"#FBF7EF\",\n 2: \"#FEF8EC\",\n 3: \"#FBEDD0\",\n 4: \"#FAE6BD\",\n 5: \"#F9DEAA\",\n 6: \"#F6D38D\",\n 7: \"#FBBA37\",\n 8: \"#825803\",\n 9: \"#644302\",\n 10: \"#1E1401\",\n }),\n \"warning.dark\": createColorScale({\n 1: \"#1C1402\",\n 2: \"#46330B\",\n 3: \"#583F0E\",\n 4: \"#694C11\",\n 5: \"#845F15\",\n 6: \"#956C18\",\n 7: \"#F0A919\",\n 8: \"#F5C25C\",\n 9: \"#F6CD79\",\n 10: \"#FBE6BC\",\n }),\n} as const;\n","import { createTamagui } from \"@tamagui/core\";\nimport { animations } from \"./config/animations\";\nimport type { AlouetteColorScales } from \"./config/colorScales\";\nimport type { AlouetteFontsOptions } from \"./config/createAlouetteFonts\";\nimport { createAlouetteFonts } from \"./config/createAlouetteFonts\";\nimport type { createAlouetteTokens } from \"./config/createAlouetteTokens\";\nimport { media } from \"./config/media\";\nimport type { createAlouetteThemes } from \"./config/themes\";\n\nexport { createAlouetteTokens } from \"./config/createAlouetteTokens\";\n\nexport interface AlouetteTamaguiOptions {\n fonts?: AlouetteFontsOptions;\n}\n\nexport {\n createColorTheme,\n createAlouetteThemes,\n type FullTheme,\n} from \"./config/themes\";\n\nexport {\n createColorScale,\n type AlouetteThemeNames,\n type AlouetteColorScales,\n type AlouetteColorScale,\n} from \"./config/colorScales\";\n\nexport { defaultColorScales } from \"./config/defaultColorScales\";\n\nexport const createAlouetteTamagui = <\n const ColorScales extends AlouetteColorScales,\n const Tokens extends ReturnType<typeof createAlouetteTokens<ColorScales>>,\n const Themes extends ReturnType<typeof createAlouetteThemes<ColorScales>>,\n>(\n tokens: Tokens,\n themes: Themes,\n options: AlouetteTamaguiOptions = {},\n) => {\n return createTamagui({\n fonts: createAlouetteFonts(options.fonts),\n tokens,\n themes,\n media,\n animations,\n settings: {\n allowedStyleValues: \"somewhat-strict-web\",\n autocompleteSpecificTokens: \"except-special\",\n },\n components: [\"alouette\"],\n } as const);\n};\n"],"names":["createAnimations","createFont","createTokens","createTamagui"],"mappings":"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"}
1
+ {"version":3,"file":"createAlouetteTamagui-node22.cjs","sources":["../src/config/animations.ts","../src/config/createAlouetteFonts.ts","../src/config/Breakpoints.ts","../src/config/media.ts","../src/config/createAlouetteTokens.ts","../src/config/colorScales.ts","../src/config/utils/colorContrast.ts","../src/config/themes.ts","../src/config/defaultColorScales.ts","../src/createAlouetteTamagui.ts"],"sourcesContent":["/* eslint-disable unicorn/prefer-global-this */\nimport { createAnimations } from \"@tamagui/animations-react-native\";\n\nexport const animations = createAnimations({\n fast: {\n type: \"timing\",\n duration: 100,\n damping: 20,\n stiffness: 250,\n },\n medium: {\n type: \"timing\",\n duration: 300,\n damping: 20,\n stiffness: 250,\n },\n slow: {\n damping: 20,\n stiffness: 60,\n },\n formElement: {\n type: \"timing\",\n duration: 600,\n damping: 20,\n stiffness: 250,\n },\n});\n\nif (\"navigator\" in global) {\n // eslint-disable-next-line n/no-unsupported-features/node-builtins\n const navigator = global.navigator as any;\n if (\n !navigator.userAgent?.startsWith(\"Node.js\") &&\n navigator.product !== \"ReactNative\"\n ) {\n throw new Error(\n `animations native is loaded in web: ${\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n navigator.appName || navigator.product || navigator.userAgent\n }`,\n );\n }\n}\n","import { createFont } from \"@tamagui/core\";\n\nconst defaultHeadingFontSizes = {\n xxl: 64,\n xl: 48,\n lg: 40,\n md: 32,\n sm: 24,\n xs: 18,\n};\nconst defaultBodyFontSizes = {\n xxl: 48,\n xl: 24,\n lg: 18,\n md: 16,\n sm: 14,\n xs: 12,\n};\n\nconst roundWith1Precision = (value: number): number =>\n Math.round(value * 10) / 10;\n\nexport interface AlouetteFontsOptions {\n headingFontFamily?: string;\n headingFontSizes?: typeof defaultHeadingFontSizes;\n bodyFontFamily?: string;\n bodyFontSizes?: typeof defaultBodyFontSizes;\n monospaceFontFamily?: string;\n monospaceFontSizes?: typeof defaultBodyFontSizes;\n}\n\nexport const createAlouetteFonts = ({\n headingFontFamily = \"Sora\",\n headingFontSizes = defaultHeadingFontSizes,\n bodyFontFamily = \"Sora\",\n bodyFontSizes = defaultBodyFontSizes,\n monospaceFontFamily,\n monospaceFontSizes = defaultBodyFontSizes,\n}: AlouetteFontsOptions = {}) => ({\n heading: createFont({\n family: headingFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${headingFontFamily}Regular` },\n 700: { normal: `${headingFontFamily}Bold` },\n 800: { normal: `${headingFontFamily}ExtraBold` },\n },\n size: headingFontSizes,\n lineHeight: {\n xxl: roundWith1Precision(1.1 * headingFontSizes.xxl),\n xl: roundWith1Precision(1.1 * headingFontSizes.xl),\n lg: roundWith1Precision(1.1 * headingFontSizes.lg),\n md: roundWith1Precision(1.2 * headingFontSizes.md),\n sm: roundWith1Precision(1.3 * headingFontSizes.sm),\n xs: roundWith1Precision(1.3 * headingFontSizes.xs),\n },\n }),\n body: createFont({\n family: bodyFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${bodyFontFamily}Regular` },\n 700: { normal: `${bodyFontFamily}Bold` },\n 800: { normal: `${bodyFontFamily}ExtraBold` },\n },\n size: bodyFontSizes,\n lineHeight: {\n xxl: roundWith1Precision(1.4 * bodyFontSizes.xxl),\n xl: roundWith1Precision(1.4 * bodyFontSizes.xl),\n lg: roundWith1Precision(1.4 * bodyFontSizes.lg),\n md: roundWith1Precision(1.4 * bodyFontSizes.md),\n sm: roundWith1Precision(1.4 * bodyFontSizes.sm),\n xs: roundWith1Precision(1.4 * bodyFontSizes.xs),\n },\n }),\n ...(monospaceFontFamily\n ? {\n monospace: createFont({\n family: monospaceFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${monospaceFontFamily}Regular` },\n 700: { normal: `${monospaceFontFamily}Bold` },\n 800: { normal: `${monospaceFontFamily}ExtraBold` },\n },\n size: monospaceFontSizes,\n lineHeight: {\n xxl: roundWith1Precision(1.4 * monospaceFontSizes.xxl),\n xl: roundWith1Precision(1.4 * monospaceFontSizes.xl),\n lg: roundWith1Precision(1.4 * monospaceFontSizes.lg),\n md: roundWith1Precision(1.4 * monospaceFontSizes.md),\n sm: roundWith1Precision(1.4 * monospaceFontSizes.sm),\n xs: roundWith1Precision(1.4 * monospaceFontSizes.xs),\n },\n }),\n }\n : {}),\n});\n","export const Breakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n} as const;\n\nexport type Breakpoint = (typeof Breakpoints)[keyof typeof Breakpoints];\nexport type BreakpointNames = \"base\" | \"large\" | \"medium\" | \"small\" | \"wide\";\n\nexport enum BreakpointNameEnum {\n BASE = \"base\",\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n WIDE = \"wide\",\n}\n","import { Breakpoints } from \"./Breakpoints\";\n\nexport const media = {\n small: { minWidth: Breakpoints.SMALL },\n medium: { minWidth: Breakpoints.MEDIUM },\n large: { minWidth: Breakpoints.LARGE },\n wide: { minWidth: Breakpoints.WIDE },\n} as const;\n","import { createTokens } from \"@tamagui/core\";\nimport type { IntRange } from \"type-fest\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n} from \"./colorScales\";\n\ntype AlouetteSize = IntRange<0, 64>;\ntype NegativeAlouetteSize = `-${AlouetteSize}`;\ntype AlouetteSizeRecord = Record<AlouetteSize, number>;\ntype NegativeAlouetteSizeRecord = Record<NegativeAlouetteSize, number>;\n\nconst createAlouetteSizes = <const N extends boolean>(\n spacing: number,\n negative: N,\n): N extends true ? NegativeAlouetteSizeRecord : AlouetteSizeRecord => {\n const MAX_SIZE = 64;\n const sizes: Partial<\n N extends true ? NegativeAlouetteSizeRecord : AlouetteSizeRecord\n > = {};\n for (let size = 0; size <= MAX_SIZE; size++) {\n (sizes as any)[negative ? `-${size}` : `${size}`] = size * spacing;\n }\n return sizes as N extends true\n ? NegativeAlouetteSizeRecord\n : AlouetteSizeRecord;\n};\n\ntype ColorScaleTokens<ColorScales extends AlouetteColorScales> = {\n [K in string &\n keyof ColorScales as `${K}.${AlouetteColorScaleNumber}`]: string; //(typeof colorScales)[K][AlouetteColorScaleNumber];\n};\n\nconst transformColorScalesToTokens = <ColorScales extends AlouetteColorScales>(\n colorScales: ColorScales,\n): ColorScaleTokens<ColorScales> => {\n return Object.fromEntries(\n Object.entries(colorScales).flatMap(([colorName, colorScale]) => {\n return Object.entries(colorScale).map(([scaleNumber, colorValue]) => {\n return [`${colorName}.${scaleNumber}`, colorValue];\n });\n }),\n ) as ColorScaleTokens<ColorScales>;\n};\n\nexport interface AlouetteTokensOptions {\n spacing?: number;\n}\n\nexport const createAlouetteTokens = <\n const ColorScales extends AlouetteColorScales,\n>(\n colorScales: ColorScales,\n { spacing = 4 }: AlouetteTokensOptions = {},\n) => {\n const sizes: AlouetteSizeRecord = createAlouetteSizes(spacing, false);\n const negativeSizes: NegativeAlouetteSizeRecord = createAlouetteSizes(\n -spacing,\n true,\n );\n\n return createTokens({\n color: {\n blackBackground: \"#1f1e1e\",\n whiteBackground: \"#ffffff\",\n // https://github.com/tamagui/tamagui/issues/3601 does not work at the moment\n blackBackgroundTranslucent: \"#1f1e1e77\",\n whiteBackgroundTranslucent: \"#ffffff99\",\n blackText: \"#000000\",\n whiteText: \"#fdfdfd\",\n transparent: \"transparent\",\n ...transformColorScalesToTokens(colorScales),\n },\n radius: {\n ...sizes,\n xs: spacing * 2,\n sm: spacing * 4,\n md: spacing * 8,\n },\n space: {\n ...sizes,\n ...negativeSizes,\n xs: spacing * 2,\n sm: spacing * 4,\n md: spacing * 8,\n },\n size: { ...sizes },\n zIndex: {},\n } as const);\n};\n","import type { IntRange } from \"type-fest\";\n\n// scale inspired by https://www.radix-ui.com/colors/docs/palette-composition/understanding-the-scale\n\n// LIGHT SCALE\n// 1: colored page background color\n// 2: interactive outlined background hover/focus color\n// 3: interactive contained background press color / non interactive background color\n// 4: interactive outlined background press color / non interactive shadow color\n// 5: interactive contained background hover/focus color\n// 6: interactive contained background color\n// 7: interactive border color\n// 8: interactive shadow color / text:press / interactive border hover/focus color\n// 9: text color\n// 10: text:hover/focus\n\n// DARK SCALE\n// 1: colored page background color\n// 2: interactive outlined background press color / non interactive shadow color\n// 3: interactive contained background press color / non interactive background color\n// 4: interactive outlined background hover/focus color\n// 5: interactive contained background color\n// 6: interactive contained background hover/focus color\n// 7: interactive border color\n// 8: interactive shadow color / text:press / interactive border hover/focus color\n// 9: text color\n// 10: text:hover/focus\n\n// this mapping is used to keep focus/hover colors brighter\nexport const mappingLightToDark = {\n 1: 1,\n 2: 4,\n 3: 3,\n 4: 2,\n 5: 6,\n 6: 5,\n 7: 7,\n 8: 8,\n 9: 9,\n 10: 10,\n};\n\nexport type AlouetteColorScaleNumber = IntRange<1, 11>;\n\nexport type AlouetteColorScale = Record<AlouetteColorScaleNumber, string>;\n\nexport const createColorScale = <const T extends AlouetteColorScale>(\n colorScale: T,\n): T => colorScale;\n\nexport interface AlouetteThemeNames {\n primary: \"primary\";\n info: \"info\";\n success: \"success\";\n warning: \"warning\";\n danger: \"danger\";\n grayscale: \"grayscale\";\n}\n\nexport type AlouetteColorScaleNames =\n | `${keyof AlouetteThemeNames}.dark`\n | `${keyof AlouetteThemeNames}.light`;\n\nexport type ColorScaleTokens = {\n [K in AlouetteColorScaleNames as `${K}.${AlouetteColorScaleNumber}`]: string; //(typeof colorScales)[K][AlouetteColorScaleNumber];\n};\n\nexport type AlouetteColorScales = Record<\n AlouetteColorScaleNames,\n AlouetteColorScale\n>;\n","/**\n * Calculates relative luminance of a color\n * Based on WCAG 2.0 formula: https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nconst getLuminance = (r: number, g: number, b: number) => {\n const values: [number, number, number] = [r, g, b].map((c) => {\n const s = c / 255;\n return s <= 0.039_28 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;\n }) as [number, number, number];\n\n return 0.2126 * values[0] + 0.7152 * values[1] + 0.0722 * values[2];\n};\n\n/**\n * Converts hex color to RGB values\n */\nconst hexToRgb = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (!result?.[1] || !result[2] || !result[3]) return null;\n return {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n };\n};\n\n/**\n * Calculates contrast ratio between two colors\n * Returns ratio between 1 and 21\n */\nexport const getContrastRatio = (color1: string, color2: string) => {\n const rgb1 = hexToRgb(color1);\n const rgb2 = hexToRgb(color2);\n\n if (!rgb1 || !rgb2) return 0;\n\n const l1 = getLuminance(rgb1.r, rgb1.g, rgb1.b);\n const l2 = getLuminance(rgb2.r, rgb2.g, rgb2.b);\n\n const lighter = Math.max(l1, l2);\n const darker = Math.min(l1, l2);\n\n return (lighter + 0.05) / (darker + 0.05);\n};\n\n/**\n * Checks if contrast ratio meets WCAG requirements\n */\nexport const checkContrast = (\n foreground: string,\n background: string,\n level: \"AA\" | \"AAA\" = \"AA\",\n) => {\n const ratio = getContrastRatio(foreground, background);\n const minimumRatio = level === \"AA\" ? 4.5 : 7;\n\n return {\n ratio,\n passes: ratio >= minimumRatio,\n minimumRatio,\n };\n};\n\n/**\n * Development warning for contrast issues\n */\nexport const warnOnContrastIssues = (\n themeName: string,\n textColor: string,\n backgroundColor: string,\n) => {\n if (process.env.NODE_ENV !== \"development\") return;\n\n const result = checkContrast(textColor, backgroundColor);\n\n if (!result.passes) {\n console.warn(\n `[Alouette] Contrast warning in theme \"${themeName}\":\n Text color ${textColor} on background ${backgroundColor}\n has contrast ratio of ${result.ratio.toFixed(2)}.\n Minimum required: ${result.minimumRatio}\n This may cause accessibility issues.`,\n );\n }\n};\n","/* eslint-disable complexity */\n/* eslint-disable camelcase */\nimport type { Variable } from \"@tamagui/core\";\nimport { mappingLightToDark } from \"./colorScales\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n AlouetteThemeNames,\n} from \"./colorScales\";\nimport type { createAlouetteTokens } from \"./createAlouetteTokens\";\nimport { warnOnContrastIssues } from \"./utils/colorContrast\";\n\n// export interface MinimalRootTheme {\n// backgroundColor: Variable<string>;\n// textColor: Variable<string>;\n// }\n\n// export interface RootTheme {\n// backgroundColor: Variable<string>;\n// textColor: Variable<string>;\n// }\n\nexport interface ColorTheme {\n screenBackgroundColor: Variable<string>;\n \"screenBackgroundColor.translucent\": Variable<string>;\n \"screenBackgroundColor.elevated\": Variable<string>;\n nonInteractiveBackgroundColor: Variable<string>;\n \"nonInteractiveBackgroundColor.elevated\": Variable<string>;\n\n \"gradientColor:start\": Variable<string>;\n \"gradientColor:middle\": Variable<string>;\n \"gradientColor:end\": Variable<string>;\n textColor: Variable<string>;\n \"textColor:disabled\": Variable<string>;\n accentTextColor: Variable<string>;\n borderColor: Variable<string>;\n shadowColor: Variable<string>;\n\n \"interactive.linkTextColor\": Variable<string>;\n \"interactive.linkTextColor:hover\": Variable<string>;\n \"interactive.linkTextColor:focus\": Variable<string>;\n \"interactive.linkTextColor:press\": Variable<string>;\n \"interactive.linkTextColor:disabled\": Variable<string>;\n\n \"interactive.contained.backgroundColor\": Variable<string>;\n \"interactive.elevated.backgroundColor\": Variable<string>;\n \"interactive.elevated.shadowColor\": Variable<string>;\n \"interactive.elevated.borderColor\": Variable<string>;\n \"interactive.outlined.backgroundColor\": Variable<string>;\n \"interactive.outlined.borderColor\": Variable<string>;\n\n \"interactive.contained.backgroundColor:hover\": Variable<string>;\n \"interactive.elevated.backgroundColor:hover\": Variable<string>;\n \"interactive.elevated.borderColor:hover\": Variable<string>;\n \"interactive.outlined.backgroundColor:hover\": Variable<string>;\n \"interactive.outlined.borderColor:hover\": Variable<string>;\n\n \"interactive.contained.backgroundColor:focus\": Variable<string>;\n \"interactive.elevated.backgroundColor:focus\": Variable<string>;\n \"interactive.elevated.borderColor:focus\": Variable<string>;\n \"interactive.outlined.backgroundColor:focus\": Variable<string>;\n \"interactive.outlined.borderColor:focus\": Variable<string>;\n\n \"interactive.contained.outlineColor:focus\": Variable<string>;\n \"interactive.elevated.outlineColor:focus\": Variable<string>;\n \"interactive.outlined.outlineColor:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor:press\": Variable<string>;\n \"interactive.elevated.backgroundColor:press\": Variable<string>;\n \"interactive.elevated.borderColor:press\": Variable<string>;\n \"interactive.outlined.backgroundColor:press\": Variable<string>;\n \"interactive.outlined.borderColor:press\": Variable<string>;\n\n \"interactive.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive.elevated.backgroundColor:disabled\": Variable<string>;\n \"interactive.elevated.shadowColor:disabled\": Variable<string>;\n \"interactive.elevated.borderColor:disabled\": Variable<string>;\n \"interactive.outlined.backgroundColor:disabled\": Variable<string>;\n \"interactive.outlined.borderColor:disabled\": Variable<string>;\n\n \"interactive.forms.textColor\": Variable<string>;\n \"interactive.forms.placeholderTextColor\": Variable<string>;\n \"interactive.forms.outlineColor:focus\": Variable<string>;\n \"interactive.forms.backgroundColor\": Variable<string>;\n \"interactive.forms.backgroundColor:hover\": Variable<string>;\n \"interactive.forms.backgroundColor:focus\": Variable<string>;\n \"interactive.forms.backgroundColor:press\": Variable<string>;\n \"interactive.forms.borderColor\": Variable<string>;\n \"interactive.forms.borderColor:hover\": Variable<string>;\n \"interactive.forms.borderColor:focus\": Variable<string>;\n \"interactive.forms.borderColor:press\": Variable<string>;\n \"interactive.forms.borderColor:disabled\": Variable<string>;\n}\n\n// export interface FullTheme extends ColorTheme, RootTheme {}\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface FullTheme extends ColorTheme {}\n\n// export const createRootTheme = <T extends MinimalRootTheme>(\n// theme: T,\n// ): FullTheme => {\n// return theme satisfies RootTheme as unknown as FullTheme;\n// };\n\nexport const createColorTheme = <\n const ColorTheme extends keyof AlouetteThemeNames,\n>(\n tokens: ReturnType<typeof createAlouetteTokens<AlouetteColorScales>>,\n themeName: ColorTheme,\n mode: \"dark\" | \"light\" = \"light\",\n // TODO replace by color in scale\n backgroundColor?: Variable<string>,\n textColor?: Variable<string>,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n if (!backgroundColor) {\n backgroundColor =\n mode === \"dark\"\n ? alouetteTokens.color.blackBackground\n : alouetteTokens.color.whiteBackground;\n }\n if (!textColor) {\n textColor =\n mode === \"dark\"\n ? alouetteTokens.color.whiteText\n : alouetteTokens.color.blackText;\n }\n\n const getColor = (\n scaleNumber: AlouetteColorScaleNumber,\n tint?: \"grayscale\",\n adaptForDarkMode = true,\n ) => {\n return tokens.color[\n `${tint || themeName}.${mode}.${mode === \"dark\" && adaptForDarkMode ? mappingLightToDark[scaleNumber] : scaleNumber}` as keyof typeof tokens.color\n ];\n };\n\n const theme = {\n screenBackgroundColor: getColor(1),\n \"screenBackgroundColor.elevated\": getColor(\n mode === \"dark\" ? 2 : 1,\n undefined,\n false,\n ),\n \"screenBackgroundColor.translucent\":\n mode === \"dark\"\n ? alouetteTokens.color.blackBackgroundTranslucent\n : alouetteTokens.color.whiteBackgroundTranslucent,\n nonInteractiveBackgroundColor: getColor(3),\n \"nonInteractiveBackgroundColor.elevated\": getColor(\n mode === \"dark\" ? 4 : 3,\n undefined,\n false,\n ),\n\n \"gradientColor:start\": getColor(mode === \"dark\" ? 5 : 6, undefined, false),\n \"gradientColor:middle\": getColor(mode === \"dark\" ? 6 : 7, undefined, false),\n \"gradientColor:end\": getColor(mode === \"dark\" ? 4 : 5, undefined, false),\n\n textColor,\n accentTextColor: getColor(9),\n borderColor: getColor(8),\n shadowColor:\n mode === \"dark\"\n ? alouetteTokens.color.transparent\n : getColor(8, \"grayscale\", false),\n \"textColor:disabled\": getColor(mode === \"dark\" ? 8 : 7, \"grayscale\", false),\n\n \"interactive.linkTextColor\": getColor(9),\n \"interactive.linkTextColor:hover\": getColor(10),\n \"interactive.linkTextColor:focus\": getColor(10),\n \"interactive.linkTextColor:press\": getColor(8),\n \"interactive.linkTextColor:disabled\": getColor(9, \"grayscale\"),\n\n \"interactive.contained.backgroundColor\": getColor(6),\n \"interactive.elevated.backgroundColor\":\n mode === \"dark\" ? getColor(4, \"grayscale\", false) : backgroundColor,\n \"interactive.elevated.shadowColor\":\n mode === \"dark\" ? alouetteTokens.color.transparent : getColor(8),\n \"interactive.elevated.borderColor\": getColor(mode === \"dark\" ? 7 : 1),\n \"interactive.outlined.backgroundColor\": backgroundColor,\n \"interactive.outlined.borderColor\": getColor(7),\n\n \"interactive.contained.backgroundColor:hover\": getColor(5),\n \"interactive.elevated.backgroundColor:hover\": getColor(2),\n \"interactive.elevated.borderColor:hover\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:hover\": backgroundColor,\n \"interactive.outlined.borderColor:hover\": getColor(8),\n\n \"interactive.contained.backgroundColor:focus\": getColor(5),\n \"interactive.elevated.backgroundColor:focus\": getColor(2),\n \"interactive.elevated.borderColor:focus\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:focus\": backgroundColor,\n \"interactive.outlined.borderColor:focus\": getColor(8),\n\n \"interactive.contained.outlineColor:focus\": getColor(7, undefined, false),\n \"interactive.outlined.outlineColor:focus\": getColor(7, undefined, false),\n \"interactive.elevated.outlineColor:focus\": getColor(7, undefined, false),\n\n \"interactive.contained.backgroundColor:press\": getColor(3),\n \"interactive.elevated.backgroundColor:press\": getColor(4),\n \"interactive.elevated.borderColor:press\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:press\": backgroundColor,\n \"interactive.outlined.borderColor:press\": getColor(8),\n\n \"interactive.contained.backgroundColor:disabled\": getColor(\n 4,\n \"grayscale\",\n false,\n ),\n \"interactive.elevated.backgroundColor:disabled\": backgroundColor,\n \"interactive.elevated.shadowColor:disabled\": getColor(8, \"grayscale\"),\n \"interactive.elevated.borderColor:disabled\": getColor(1, \"grayscale\"),\n \"interactive.outlined.backgroundColor:disabled\": backgroundColor,\n \"interactive.outlined.borderColor:disabled\": getColor(6, \"grayscale\"),\n\n \"interactive.forms.textColor\": textColor,\n \"interactive.forms.placeholderTextColor\": getColor(8, \"grayscale\"),\n \"interactive.forms.outlineColor:focus\": getColor(7, undefined, false),\n\n \"interactive.forms.backgroundColor\": backgroundColor,\n \"interactive.forms.backgroundColor:hover\": backgroundColor,\n \"interactive.forms.backgroundColor:focus\": getColor(2),\n \"interactive.forms.backgroundColor:press\": getColor(4),\n \"interactive.forms.borderColor\": getColor(7),\n \"interactive.forms.borderColor:disabled\": getColor(7, \"grayscale\"),\n \"interactive.forms.borderColor:hover\": getColor(\n mode === \"dark\" ? 8 : 6,\n undefined,\n false,\n ),\n \"interactive.forms.borderColor:focus\": getColor(\n mode === \"dark\" ? 8 : 6,\n undefined,\n false,\n ),\n \"interactive.forms.borderColor:press\": getColor(6),\n } satisfies FullTheme;\n\n if (process.env.NODE_ENV === \"development\") {\n // Check main text contrast\n warnOnContrastIssues(\n themeName,\n theme.textColor.val,\n theme.screenBackgroundColor.val,\n );\n }\n\n return theme;\n};\n\nexport const createAlouetteThemes = <\n const ColorScales extends AlouetteColorScales,\n>(\n tokens: ReturnType<typeof createAlouetteTokens<ColorScales>>,\n customCreateColorTheme = createColorTheme,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n return {\n light: customCreateColorTheme(alouetteTokens, \"grayscale\", \"light\"),\n light_info: customCreateColorTheme(alouetteTokens, \"info\", \"light\"),\n light_success: customCreateColorTheme(alouetteTokens, \"success\", \"light\"),\n light_warning: customCreateColorTheme(alouetteTokens, \"warning\", \"light\"),\n light_danger: customCreateColorTheme(alouetteTokens, \"danger\", \"light\"),\n light_primary: customCreateColorTheme(alouetteTokens, \"primary\", \"light\"),\n\n dark: customCreateColorTheme(alouetteTokens, \"grayscale\", \"dark\"),\n dark_info: customCreateColorTheme(alouetteTokens, \"info\", \"dark\"),\n dark_success: customCreateColorTheme(alouetteTokens, \"success\", \"dark\"),\n dark_warning: customCreateColorTheme(alouetteTokens, \"warning\", \"dark\"),\n dark_danger: customCreateColorTheme(alouetteTokens, \"danger\", \"dark\"),\n dark_primary: customCreateColorTheme(alouetteTokens, \"primary\", \"dark\"),\n } as const;\n};\n","import { createColorScale } from \"./colorScales\";\nimport type { AlouetteColorScales } from \"./colorScales\";\n\nexport const defaultColorScales: AlouetteColorScales = {\n \"grayscale.light\": createColorScale({\n 1: \"#FFFFFF\",\n 2: \"#EBEBEB\",\n 3: \"#DBDBDB\",\n 4: \"#D1D1D1\",\n 5: \"#C7C7C7\",\n 6: \"#B8B8B8\",\n 7: \"#8F8F8F\",\n 8: \"#616161\",\n 9: \"#525252\",\n 10: \"#2E2E2E\",\n }),\n \"grayscale.dark\": createColorScale({\n 1: \"#1F1F1F\",\n 2: \"#1F1F1F\",\n 3: \"#292929\",\n 4: \"#333333\",\n 5: \"#3D3D3D\",\n 6: \"#474747\",\n 7: \"#525252\",\n 8: \"#9E9E9E\",\n 9: \"#ADADAD\",\n 10: \"#D1D1D1\",\n }),\n \"primary.light\": createColorScale({\n 1: \"#EFF8FB\",\n 2: \"#DAF4FB\",\n 3: \"#BEEBF9\",\n 4: \"#ABE5F7\",\n 5: \"#99DFF5\",\n 6: \"#7DD7F2\",\n 7: \"#23C8FB\",\n 8: \"#037496\",\n 9: \"#025D78\",\n 10: \"#012732\",\n }),\n \"primary.dark\": createColorScale({\n 1: \"#02161C\",\n 2: \"#092A35\",\n 3: \"#0B3846\",\n 4: \"#0E4758\",\n 5: \"#135C72\",\n 6: \"#156A84\",\n 7: \"#0FB4E6\",\n 8: \"#49CCF3\",\n 9: \"#66D4F5\",\n 10: \"#A9E7F9\",\n }),\n \"danger.light\": createColorScale({\n 1: \"#FBEFEF\",\n 2: \"#FEF6F5\",\n 3: \"#FDDAD9\",\n 4: \"#FBC7C5\",\n 5: \"#FAB5B2\",\n 6: \"#F89996\",\n 7: \"#FB4741\",\n 8: \"#C80B04\",\n 9: \"#AA0903\",\n 10: \"#640502\",\n }),\n \"danger.dark\": createColorScale({\n 1: \"#1C0302\",\n 2: \"#4F0F0D\",\n 3: \"#601210\",\n 4: \"#721613\",\n 5: \"#8C1B17\",\n 6: \"#9E1E1A\",\n 7: \"#F12922\",\n 8: \"#F56A66\",\n 9: \"#F78682\",\n 10: \"#FBC7C5\",\n }),\n \"info.light\": createColorScale({\n 1: \"#EFF8FB\",\n 2: \"#DAF3FB\",\n 3: \"#BEEAF9\",\n 4: \"#ABE4F7\",\n 5: \"#99DEF5\",\n 6: \"#7DD5F2\",\n 7: \"#23C5FB\",\n 8: \"#037196\",\n 9: \"#025B78\",\n 10: \"#012632\",\n }),\n \"info.dark\": createColorScale({\n 1: \"#02161C\",\n 2: \"#092A35\",\n 3: \"#0B3746\",\n 4: \"#0E4558\",\n 5: \"#135A72\",\n 6: \"#156884\",\n 7: \"#0FB0E6\",\n 8: \"#49C9F3\",\n 9: \"#66D1F5\",\n 10: \"#A9E5F9\",\n }),\n \"success.light\": createColorScale({\n 1: \"#EFFBEF\",\n 2: \"#DAFBDA\",\n 3: \"#BEF9BE\",\n 4: \"#ABF7AB\",\n 5: \"#99F599\",\n 6: \"#7DF27D\",\n 7: \"#23FB23\",\n 8: \"#038203\",\n 9: \"#026402\",\n 10: \"#011E01\",\n }),\n \"success.dark\": createColorScale({\n 1: \"#021C02\",\n 2: \"#093509\",\n 3: \"#0B460B\",\n 4: \"#0E580E\",\n 5: \"#137213\",\n 6: \"#158415\",\n 7: \"#0FE60F\",\n 8: \"#49F349\",\n 9: \"#66F566\",\n 10: \"#A9F9A9\",\n }),\n \"warning.light\": createColorScale({\n 1: \"#FBF7EF\",\n 2: \"#FEF8EC\",\n 3: \"#FBEDD0\",\n 4: \"#FAE6BD\",\n 5: \"#F9DEAA\",\n 6: \"#F6D38D\",\n 7: \"#FBBA37\",\n 8: \"#825803\",\n 9: \"#644302\",\n 10: \"#1E1401\",\n }),\n \"warning.dark\": createColorScale({\n 1: \"#1C1402\",\n 2: \"#46330B\",\n 3: \"#583F0E\",\n 4: \"#694C11\",\n 5: \"#845F15\",\n 6: \"#956C18\",\n 7: \"#F0A919\",\n 8: \"#F5C25C\",\n 9: \"#F6CD79\",\n 10: \"#FBE6BC\",\n }),\n} as const;\n","import { createTamagui } from \"@tamagui/core\";\nimport { animations } from \"./config/animations\";\nimport type { AlouetteColorScales } from \"./config/colorScales\";\nimport type { AlouetteFontsOptions } from \"./config/createAlouetteFonts\";\nimport { createAlouetteFonts } from \"./config/createAlouetteFonts\";\nimport type { createAlouetteTokens } from \"./config/createAlouetteTokens\";\nimport { media } from \"./config/media\";\nimport type { createAlouetteThemes } from \"./config/themes\";\n\nexport { createAlouetteTokens } from \"./config/createAlouetteTokens\";\n\nexport interface AlouetteTamaguiOptions {\n fonts?: AlouetteFontsOptions;\n}\n\nexport {\n createColorTheme,\n createAlouetteThemes,\n type FullTheme,\n} from \"./config/themes\";\n\nexport {\n createColorScale,\n type AlouetteThemeNames,\n type AlouetteColorScales,\n type AlouetteColorScale,\n} from \"./config/colorScales\";\n\nexport { defaultColorScales } from \"./config/defaultColorScales\";\n\nexport const createAlouetteTamagui = <\n const ColorScales extends AlouetteColorScales,\n const Tokens extends ReturnType<typeof createAlouetteTokens<ColorScales>>,\n const Themes extends ReturnType<typeof createAlouetteThemes<ColorScales>>,\n>(\n tokens: Tokens,\n themes: Themes,\n options: AlouetteTamaguiOptions = {},\n) => {\n return createTamagui({\n fonts: createAlouetteFonts(options.fonts),\n tokens,\n themes,\n media,\n animations,\n settings: {\n allowedStyleValues: \"somewhat-strict-web\",\n autocompleteSpecificTokens: \"except-special\",\n },\n components: [\"alouette\"],\n } as const);\n};\n"],"names":["createAnimations","createFont","createTokens","createTamagui"],"mappings":"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"}