alouette 18.5.0 → 18.6.0

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 (61) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/createAlouetteTamagui-browser.es.js +2 -1
  3. package/dist/createAlouetteTamagui-browser.es.js.map +1 -1
  4. package/dist/createAlouetteTamagui-node22.cjs +2 -1
  5. package/dist/createAlouetteTamagui-node22.cjs.map +1 -1
  6. package/dist/createAlouetteTamagui-node22.mjs +2 -1
  7. package/dist/createAlouetteTamagui-node22.mjs.map +1 -1
  8. package/dist/createAlouetteTamagui-react-native.cjs.js +2 -1
  9. package/dist/createAlouetteTamagui-react-native.cjs.js.map +1 -1
  10. package/dist/createAlouetteTamagui-react-native.es.js +2 -1
  11. package/dist/createAlouetteTamagui-react-native.es.js.map +1 -1
  12. package/dist/definitions/config/createAlouetteTokens.d.ts +2 -0
  13. package/dist/definitions/config/createAlouetteTokens.d.ts.map +1 -1
  14. package/dist/definitions/core/AlouetteDecorator.d.ts +1 -1
  15. package/dist/definitions/core/AlouetteDecorator.d.ts.map +1 -1
  16. package/dist/definitions/createAlouetteTamagui.d.ts +1 -1
  17. package/dist/definitions/createAlouetteTamagui.d.ts.map +1 -1
  18. package/dist/definitions/index.d.ts +1 -1
  19. package/dist/definitions/index.d.ts.map +1 -1
  20. package/dist/definitions/ui/feedback/Message.d.ts +8 -1
  21. package/dist/definitions/ui/feedback/Message.d.ts.map +1 -1
  22. package/dist/definitions/ui/inputs/InputText.d.ts +2 -2
  23. package/dist/definitions/ui/inputs/InputText.d.ts.map +1 -1
  24. package/dist/definitions/ui/inputs/InputText.stories.d.ts +5 -0
  25. package/dist/definitions/ui/inputs/InputText.stories.d.ts.map +1 -1
  26. package/dist/definitions/ui/inputs/Switch.d.ts +1 -1
  27. package/dist/definitions/ui/inputs/Switch.d.ts.map +1 -1
  28. package/dist/definitions/ui/inputs/Switch.stories.d.ts +1 -0
  29. package/dist/definitions/ui/inputs/Switch.stories.d.ts.map +1 -1
  30. package/dist/definitions/ui/inputs/Switch.web.d.ts.map +1 -1
  31. package/dist/definitions/ui/primitives/LinkText.d.ts +2 -5
  32. package/dist/definitions/ui/primitives/LinkText.d.ts.map +1 -1
  33. package/dist/definitions/ui/primitives/LinkText.stories.d.ts +9 -1
  34. package/dist/definitions/ui/primitives/LinkText.stories.d.ts.map +1 -1
  35. package/dist/definitions/ui/primitives/Text.d.ts +4 -8
  36. package/dist/definitions/ui/primitives/Text.d.ts.map +1 -1
  37. package/dist/definitions/ui/primitives/Text.stories.d.ts +9 -1
  38. package/dist/definitions/ui/primitives/Text.stories.d.ts.map +1 -1
  39. package/dist/definitions/ui/story-components/StoryTitle.d.ts +7 -1
  40. package/dist/definitions/ui/story-components/StoryTitle.d.ts.map +1 -1
  41. package/dist/index-browser.es.js +17 -8
  42. package/dist/index-browser.es.js.map +1 -1
  43. package/dist/index-node22.cjs +17 -7
  44. package/dist/index-node22.cjs.map +1 -1
  45. package/dist/index-node22.mjs +15 -8
  46. package/dist/index-node22.mjs.map +1 -1
  47. package/dist/index-react-native.cjs.js +17 -7
  48. package/dist/index-react-native.cjs.js.map +1 -1
  49. package/dist/index-react-native.es.js +15 -8
  50. package/dist/index-react-native.es.js.map +1 -1
  51. package/package.json +4 -4
  52. package/src/config/createAlouetteTokens.ts +1 -0
  53. package/src/index.ts +6 -1
  54. package/src/ui/inputs/InputText.stories.tsx +48 -0
  55. package/src/ui/inputs/InputText.tsx +2 -0
  56. package/src/ui/inputs/Switch.stories.tsx +56 -0
  57. package/src/ui/inputs/Switch.tsx +1 -1
  58. package/src/ui/inputs/Switch.web.tsx +2 -0
  59. package/src/ui/primitives/LinkText.tsx +3 -9
  60. package/src/ui/primitives/Text.stories.tsx +21 -0
  61. package/src/ui/primitives/Text.tsx +4 -23
package/CHANGELOG.md CHANGED
@@ -3,6 +3,19 @@
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
+ ## [18.6.0](https://github.com/christophehurpeau/alouette/compare/alouette@18.5.0...alouette@18.6.0) (2026-03-12)
7
+
8
+ ### Features
9
+
10
+ * add spacing $8.0
11
+ * expose semantic messages
12
+ * **input:** add maxlength
13
+
14
+ ### Bug Fixes
15
+
16
+ * **deps:** update tamagui to v2.0.0-rc.22 ([#302](https://github.com/christophehurpeau/alouette/issues/302))
17
+ * switch button type
18
+
6
19
  ## [18.5.0](https://github.com/christophehurpeau/alouette/compare/alouette@18.4.0...alouette@18.5.0) (2026-02-27)
7
20
 
8
21
  ### Features
@@ -178,8 +178,9 @@ const createAlouetteTokens = (colorScales, { spacing = 16 } = {}) => {
178
178
  // previous $8 or $md
179
179
  "3.0": spacing * 3,
180
180
  // previous $12
181
- "4.0": spacing * 4
181
+ "4.0": spacing * 4,
182
182
  // previous $16 or $lg
183
+ "8.0": spacing * 8
183
184
  },
184
185
  // size: { ...sizes },
185
186
  size: {},
@@ -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/utils/colorContrast.ts","../src/config/themes.ts","../src/config/colorScales.ts","../src/config/defaultColorScales.ts","../src/createAlouetteTamagui.ts"],"sourcesContent":["import { createAnimations } from \"@tamagui/animations-css\";\nimport { Platform } from \"react-native\";\n\nexport const animations = createAnimations({\n fast: \"ease-in 150ms\",\n medium: \"ease-in 300ms\",\n slow: \"ease-in 450ms\",\n formElement: \"ease-in 200ms\",\n});\n\nif (Platform.OS !== \"web\") {\n throw new Error(`animations web is loaded in native: ${Platform.OS}`);\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 \"body-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\";\n// import type { IntRange } from \"type-fest\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n} from \"./colorScales\";\n\n// type AlouetteSize = IntRange<0, 64>;\n// type NegativeAlouetteSize = `-${AlouetteSize}`;\n// type AlouetteSizeRecord = Record<AlouetteSize, number>;\n// type NegativeAlouetteSizeRecord = Record<NegativeAlouetteSize, number>;\n\n// const 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 = 16 }: 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: \"#1f1e1e55\",\n whiteBackgroundTranslucent: \"#ffffff66\",\n blackText: \"#000000\",\n whiteText: \"#fdfdfd\",\n transparent: \"transparent\",\n ...transformColorScalesToTokens(colorScales),\n },\n radius: {\n xs: spacing / 2,\n sm: spacing,\n md: spacing * 2,\n lg: spacing * 3,\n },\n space: {\n \"-1.0\": -spacing,\n \"0.25\": spacing / 4,\n \"0.5\": spacing / 2, // previous $sm or $2\n \"0.75\": spacing * 0.75, // previous $3\n \"1.0\": spacing, // previous $md or $4\n \"1.25\": spacing * 1.25, // previous $5\n \"1.5\": spacing * 1.5, // previous $6\n \"2.0\": spacing * 2, // previous $8 or $md\n \"3.0\": spacing * 3, // previous $12\n \"4.0\": spacing * 4, // previous $16 or $lg\n },\n // size: { ...sizes },\n size: {},\n zIndex: {},\n opacity: {\n disabled: 0.7,\n },\n } as const);\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 camelcase */\nimport type { Variable } from \"@tamagui/core\";\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 \"bg-screen\": Variable<string>;\n \"bg-surface\": Variable<string>;\n \"bg-highlight\": Variable<string>;\n \"bg-highlight-accent\": Variable<string>;\n \"bg-lowered\": Variable<string>;\n \"bg-translucent\": Variable<string>;\n \"bg-screen-gradient-start\": Variable<string>;\n \"bg-screen-gradient-middle\": Variable<string>;\n \"bg-screen-gradient-end\": Variable<string>;\n\n \"text-sharp\": Variable<string>;\n \"text-muted\": Variable<string>;\n \"text-accent\": Variable<string>;\n \"text-accent-muted\": Variable<string>;\n \"text-onAccent\": Variable<string>;\n \"text-onAccent-muted\": Variable<string>;\n \"text-disabled-sharp\": Variable<string>;\n \"text-disabled-muted\": Variable<string>;\n\n \"border-sharp\": Variable<string>;\n \"border-muted\": Variable<string>;\n\n selectionBackgroundColor: 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 \"interactive.link.outline:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor\": Variable<string>;\n \"interactive-accent.contained.backgroundColor\": Variable<string>;\n \"interactive.outlined.borderColor\": Variable<string>;\n \"interactive-accent.outlined.borderColor\": Variable<string>;\n\n \"interactive.contained.backgroundColor:hover\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:hover\": Variable<string>;\n \"interactive.outlined.borderColor:hover\": Variable<string>;\n \"interactive-accent.outlined.borderColor:hover\": Variable<string>;\n\n \"interactive.contained.backgroundColor:focus\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:focus\": Variable<string>;\n \"interactive.outlined.borderColor:focus\": Variable<string>;\n \"interactive-accent.outlined.borderColor:focus\": Variable<string>;\n\n \"interactive.contained.outlineColor:focus\": Variable<string>;\n \"interactive-accent.contained.outlineColor:focus\": Variable<string>;\n \"interactive.outlined.outlineColor:focus\": Variable<string>;\n \"interactive-accent.outlined.outlineColor:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor:press\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:press\": Variable<string>;\n \"interactive.outlined.borderColor:press\": Variable<string>;\n \"interactive-accent.outlined.borderColor:press\": Variable<string>;\n\n \"interactive.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive.outlined.borderColor:disabled\": Variable<string>;\n \"interactive-accent.outlined.borderColor:disabled\": Variable<string>;\n\n \"interactive.forms.placeholderText\": Variable<string>;\n \"interactive.forms.disabledText\": Variable<string>;\n\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.backgroundColor:disabled\": Variable<string>;\n\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 \"interactive.forms.outlineColor:focus\": 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 textColor?: Variable<string>,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n if (!textColor) {\n textColor =\n mode === \"dark\"\n ? alouetteTokens.color.whiteText\n : alouetteTokens.color.blackText;\n }\n\n const getSpecificColor = (\n scaleNumberDarkMode: AlouetteColorScaleNumber,\n scaleNumberLightMode: AlouetteColorScaleNumber,\n ) => {\n return tokens.color[\n `${themeName}.${mode}.${mode === \"dark\" ? scaleNumberDarkMode : scaleNumberLightMode}` as keyof typeof tokens.color\n ];\n };\n const getSpecificGrayScaleColor = (\n scaleNumberDarkMode: AlouetteColorScaleNumber,\n scaleNumberLightMode: AlouetteColorScaleNumber,\n ) => {\n return tokens.color[\n `grayscale.${mode}.${mode === \"dark\" ? scaleNumberDarkMode : scaleNumberLightMode}` as keyof typeof tokens.color\n ];\n };\n\n const bgScreen = getSpecificColor(2, 3); // bottom dark = 6% light = 92/86%\n const bgSurface = getSpecificColor(3, 2); // middle dark = 12% light = 96/92%\n const bgHighlight = getSpecificColor(4, 1); // top or raised dark = 16% light = 100/96%\n\n const theme = {\n // NEW\n \"bg-screen\": bgScreen,\n \"bg-surface\": bgSurface,\n \"bg-highlight\": bgHighlight,\n \"bg-highlight-accent\": getSpecificColor(4, 4),\n\n \"bg-lowered\": getSpecificColor(1, 4), // deep, combine with deep shadow dark = 0% light = 82%\n \"bg-translucent\":\n mode === \"dark\"\n ? alouetteTokens.color.blackBackgroundTranslucent\n : alouetteTokens.color.whiteBackgroundTranslucent,\n \"bg-screen-gradient-start\": getSpecificColor(3, 4),\n \"bg-screen-gradient-middle\": getSpecificColor(2, 5),\n \"bg-screen-gradient-end\": getSpecificColor(1, 6),\n\n \"text-sharp\": getSpecificColor(11, 11), // headings, buttons, and important text dark = 96% light = 5%\n \"text-muted\": getSpecificGrayScaleColor(9, 9), // rest dark = 68% light = 30%\n\n \"text-accent\":\n themeName === \"grayscale\"\n ? getSpecificColor(11, 11)\n : getSpecificColor(9, 9), // same as sharp in default theme, same as muted in colored themes\n \"text-accent-muted\": getSpecificColor(9, 8),\n \"text-onAccent\":\n themeName === \"grayscale\"\n ? getSpecificColor(11, 11)\n : getSpecificColor(11, 9),\n \"text-onAccent-muted\":\n themeName === \"grayscale\"\n ? getSpecificColor(9, 8)\n : getSpecificColor(9, 6),\n\n \"text-disabled-muted\": getSpecificGrayScaleColor(8, 7),\n \"text-disabled-sharp\": getSpecificGrayScaleColor(8, 8),\n\n \"border-sharp\": getSpecificColor(8, 8),\n \"border-muted\": getSpecificColor(7, 7),\n\n selectionBackgroundColor: `${getSpecificColor(9, 9).val}40`,\n\n // shadowTop: `${getSpecificColor(1, 1).val}40`,\n // shadow2: `${getSpecificColor(11, 11).val}40`,\n // shadow3: `${getSpecificColor(11, 11).val}20`,\n\n // shadowLowered1: `${getSpecificColor(11, 11).val}40`,\n // shadowLowered2: `${getSpecificColor(1, 1).val}40`,\n // shadowLowered3: `${getSpecificColor(1, 1).val}20`,\n\n // \"shadowinset\":\n // mode === \"dark\"\n // ? alouetteTokens.color.transparent\n // : getColor(8, \"grayscale\", false),\n\n \"interactive.linkTextColor\": getSpecificColor(9, 9),\n \"interactive.linkTextColor:hover\": getSpecificColor(10, 10),\n \"interactive.linkTextColor:focus\": getSpecificColor(10, 10),\n \"interactive.linkTextColor:press\": getSpecificColor(8, 8),\n \"interactive.linkTextColor:disabled\": getSpecificGrayScaleColor(9, 9),\n \"interactive.link.outline:focus\": getSpecificColor(7, 7),\n\n \"interactive.forms.placeholderText\": getSpecificGrayScaleColor(8, 8),\n \"interactive.forms.disabledText\": getSpecificGrayScaleColor(9, 9),\n\n // identical to \"surface\"\n \"interactive.forms.backgroundColor\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:hover\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:focus\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:press\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:disabled\": getSpecificGrayScaleColor(\n 4,\n 4,\n ),\n\n \"interactive.forms.borderColor\": getSpecificColor(7, 7),\n \"interactive.forms.borderColor:disabled\": getSpecificGrayScaleColor(7, 6),\n \"interactive.forms.borderColor:hover\": getSpecificColor(8, 8),\n \"interactive.forms.borderColor:focus\": getSpecificColor(8, 8),\n \"interactive.forms.borderColor:press\": getSpecificColor(8, 8),\n\n \"interactive.forms.outlineColor:focus\": getSpecificColor(8, 8),\n\n // TODO\n\n // borderColor: ,// same as backgroundBaseColor for light mode\n // highlightBorder: \"hsl(0 0 100%)\", // dark = 60% light = 100%\n\n // TODO interactive.background linear gradient 0 surface 5% raised\n // TODO interactive.background:hover linear gradient 0 surface (100%?) raised\n // TODO shadow 0 2px 2px hsla(0, 0, 0, 0.07), 0 4px 4px hsla(0, 0, 0, 0.15)\n\n // LEGACY\n\n \"interactive.contained.backgroundColor\": getSpecificColor(4, 1),\n // interactive-accent should be used for interactive elements in accent color themes.\n \"interactive-accent.contained.backgroundColor\": getSpecificColor(6, 3),\n \"interactive.contained.backgroundColor:hover\": getSpecificColor(6, 4),\n \"interactive-accent.contained.backgroundColor:hover\": getSpecificColor(\n 7,\n 2,\n ),\n \"interactive.contained.backgroundColor:focus\": getSpecificColor(6, 4),\n \"interactive-accent.contained.backgroundColor:focus\": getSpecificColor(\n 7,\n 2,\n ),\n \"interactive.contained.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive-accent.contained.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive.contained.backgroundColor:press\": getSpecificColor(6, 5),\n \"interactive-accent.contained.backgroundColor:press\": getSpecificColor(\n 7,\n 2,\n ),\n \"interactive.contained.backgroundColor:disabled\": getSpecificGrayScaleColor(\n 5,\n 5,\n ),\n \"interactive-accent.contained.backgroundColor:disabled\":\n getSpecificGrayScaleColor(5, 3),\n\n \"interactive.outlined.borderColor\": getSpecificColor(7, 7),\n \"interactive-accent.outlined.borderColor\": getSpecificColor(7, 7),\n \"interactive.outlined.borderColor:hover\": getSpecificColor(8, 8),\n \"interactive-accent.outlined.borderColor:hover\": getSpecificColor(8, 8),\n \"interactive.outlined.borderColor:focus\": getSpecificColor(8, 8),\n \"interactive-accent.outlined.borderColor:focus\": getSpecificColor(8, 8),\n \"interactive.outlined.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive-accent.outlined.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive.outlined.borderColor:press\": getSpecificColor(8, 8),\n \"interactive-accent.outlined.borderColor:press\": getSpecificColor(8, 8),\n \"interactive.outlined.borderColor:disabled\": getSpecificGrayScaleColor(\n 6,\n 6,\n ),\n \"interactive-accent.outlined.borderColor:disabled\":\n getSpecificGrayScaleColor(6, 6),\n } satisfies FullTheme;\n\n if (process.env.NODE_ENV === \"development\") {\n // Check main text contrast\n warnOnContrastIssues(\n themeName,\n theme[\"text-sharp\"].val,\n theme[\"bg-screen\"].val,\n );\n warnOnContrastIssues(\n themeName,\n theme[\"text-sharp\"].val,\n theme[\"bg-surface\"].val,\n );\n warnOnContrastIssues(\n themeName,\n theme[\"text-muted\"].val,\n theme[\"bg-surface\"].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 dark: customCreateColorTheme(alouetteTokens, \"grayscale\", \"dark\"),\n light: customCreateColorTheme(alouetteTokens, \"grayscale\", \"light\"),\n\n dark_brand: customCreateColorTheme(alouetteTokens, \"brand\", \"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\n light_brand: customCreateColorTheme(alouetteTokens, \"brand\", \"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 } 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\nexport type AlouetteColorScaleNumber = IntRange<1, 12>;\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 brand: \"brand\";\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","import { createColorScale } from \"./colorScales\";\nimport type { AlouetteColorScales } from \"./colorScales\";\n\nexport const defaultColorScales: AlouetteColorScales = {\n \"grayscale.light\": createColorScale({\n 1: \"#FFFFFF\",\n 2: \"#F5F5F5\",\n 3: \"#EBEBEB\",\n 4: \"#E0E0E0\",\n 5: \"#C7C7C7\",\n 6: \"#B8B8B8\",\n 7: \"#8F8F8F\",\n 8: \"#616161\",\n 9: \"#474747\",\n 10: \"#2E2E2E\",\n 11: \"#141414\",\n }),\n \"grayscale.dark\": createColorScale({\n 1: \"#0F0F0F\",\n 2: \"#1F1F1F\",\n 3: \"#292929\",\n 4: \"#333333\",\n 5: \"#3D3D3D\",\n 6: \"#474747\",\n 7: \"#525252\",\n 8: \"#A8A8A8\",\n 9: \"#C2C2C2\",\n 10: \"#DBDBDB\",\n 11: \"#F5F5F5\",\n }),\n \"brand.light\": createColorScale({\n 1: \"#F7FBFD\",\n 2: \"#EFF8FB\",\n 3: \"#DFF1F6\",\n 4: \"#C7EEF9\",\n 5: \"#99DFF5\",\n 6: \"#7DD7F2\",\n 7: \"#23C8FB\",\n 8: \"#0493BE\",\n 9: \"#024D64\",\n 10: \"#012732\",\n 11: \"#011F28\",\n }),\n \"brand.dark\": createColorScale({\n 1: \"#071418\",\n 2: \"#0D2830\",\n 3: \"#123540\",\n 4: \"#104E60\",\n 5: \"#135C72\",\n 6: \"#156A84\",\n 7: \"#1E94B8\",\n 8: \"#5CD1F5\",\n 9: \"#8CDFF8\",\n 10: \"#BCECFB\",\n 11: \"#D9F4FD\",\n }),\n \"danger.light\": createColorScale({\n 1: \"#FDF7F7\",\n 2: \"#FBEFEF\",\n 3: \"#F6E0DF\",\n 4: \"#FBD2D0\",\n 5: \"#F7A4A1\",\n 6: \"#F48985\",\n 7: \"#FB342D\",\n 8: \"#C80B04\",\n 9: \"#6E0602\",\n 10: \"#3C0301\",\n 11: \"#280201\",\n }),\n \"danger.dark\": createColorScale({\n 1: \"#180707\",\n 2: \"#300F0D\",\n 3: \"#401312\",\n 4: \"#691411\",\n 5: \"#7B1714\",\n 6: \"#8C1B17\",\n 7: \"#C1251F\",\n 8: \"#F56A66\",\n 9: \"#F89996\",\n 10: \"#FBC7C5\",\n 11: \"#FDDAD9\",\n }),\n \"info.light\": createColorScale({\n 1: \"#F7FBFD\",\n 2: \"#EFF8FB\",\n 3: \"#DFF0F6\",\n 4: \"#C7EDF9\",\n 5: \"#99DEF5\",\n 6: \"#7DD5F2\",\n 7: \"#23C5FB\",\n 8: \"#048FBE\",\n 9: \"#024B64\",\n 10: \"#012632\",\n 11: \"#011E28\",\n }),\n \"info.dark\": createColorScale({\n 1: \"#071418\",\n 2: \"#0D2730\",\n 3: \"#123440\",\n 4: \"#104C60\",\n 5: \"#135A72\",\n 6: \"#156884\",\n 7: \"#1E92B8\",\n 8: \"#5CCEF5\",\n 9: \"#8CDDF8\",\n 10: \"#BCEBFB\",\n 11: \"#D9F4FD\",\n }),\n \"success.light\": createColorScale({\n 1: \"#F7FDF7\",\n 2: \"#EFFBEF\",\n 3: \"#DFF6DF\",\n 4: \"#C7F9C7\",\n 5: \"#99F599\",\n 6: \"#7DF27D\",\n 7: \"#23FB23\",\n 8: \"#04BE04\",\n 9: \"#025002\",\n 10: \"#011E01\",\n 11: \"#012801\",\n }),\n \"success.dark\": createColorScale({\n 1: \"#071807\",\n 2: \"#0D300D\",\n 3: \"#124012\",\n 4: \"#106010\",\n 5: \"#137213\",\n 6: \"#158415\",\n 7: \"#1EB81E\",\n 8: \"#5CF55C\",\n 9: \"#8CF88C\",\n 10: \"#BCFBBC\",\n 11: \"#D9FDD9\",\n }),\n \"warning.light\": createColorScale({\n 1: \"#FDFBF7\",\n 2: \"#FBF7EF\",\n 3: \"#F6EEDF\",\n 4: \"#F6E1B6\",\n 5: \"#F0CE89\",\n 6: \"#EDC36E\",\n 7: \"#FAAC0F\",\n 8: \"#AA7203\",\n 9: \"#281B01\",\n 10: \"#F6F900\",\n 11: \"#281B01\",\n }),\n \"warning.dark\": createColorScale({\n 1: \"#181207\",\n 2: \"#30240D\",\n 3: \"#403012\",\n 4: \"#4F390D\",\n 5: \"#604610\",\n 6: \"#725213\",\n 7: \"#A7781B\",\n 8: \"#F3BB49\",\n 9: \"#F6CD79\",\n 10: \"#F9DFA9\",\n 11: \"#FDF1D9\",\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 selectionStyles: (theme) => {\n return {\n backgroundColor: theme.selectionBackgroundColor,\n };\n },\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/utils/colorContrast.ts","../src/config/themes.ts","../src/config/colorScales.ts","../src/config/defaultColorScales.ts","../src/createAlouetteTamagui.ts"],"sourcesContent":["import { createAnimations } from \"@tamagui/animations-css\";\nimport { Platform } from \"react-native\";\n\nexport const animations = createAnimations({\n fast: \"ease-in 150ms\",\n medium: \"ease-in 300ms\",\n slow: \"ease-in 450ms\",\n formElement: \"ease-in 200ms\",\n});\n\nif (Platform.OS !== \"web\") {\n throw new Error(`animations web is loaded in native: ${Platform.OS}`);\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 \"body-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\";\n// import type { IntRange } from \"type-fest\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n} from \"./colorScales\";\n\n// type AlouetteSize = IntRange<0, 64>;\n// type NegativeAlouetteSize = `-${AlouetteSize}`;\n// type AlouetteSizeRecord = Record<AlouetteSize, number>;\n// type NegativeAlouetteSizeRecord = Record<NegativeAlouetteSize, number>;\n\n// const 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 = 16 }: 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: \"#1f1e1e55\",\n whiteBackgroundTranslucent: \"#ffffff66\",\n blackText: \"#000000\",\n whiteText: \"#fdfdfd\",\n transparent: \"transparent\",\n ...transformColorScalesToTokens(colorScales),\n },\n radius: {\n xs: spacing / 2,\n sm: spacing,\n md: spacing * 2,\n lg: spacing * 3,\n },\n space: {\n \"-1.0\": -spacing,\n \"0.25\": spacing / 4,\n \"0.5\": spacing / 2, // previous $sm or $2\n \"0.75\": spacing * 0.75, // previous $3\n \"1.0\": spacing, // previous $md or $4\n \"1.25\": spacing * 1.25, // previous $5\n \"1.5\": spacing * 1.5, // previous $6\n \"2.0\": spacing * 2, // previous $8 or $md\n \"3.0\": spacing * 3, // previous $12\n \"4.0\": spacing * 4, // previous $16 or $lg\n \"8.0\": spacing * 8,\n },\n // size: { ...sizes },\n size: {},\n zIndex: {},\n opacity: {\n disabled: 0.7,\n },\n } as const);\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 camelcase */\nimport type { Variable } from \"@tamagui/core\";\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 \"bg-screen\": Variable<string>;\n \"bg-surface\": Variable<string>;\n \"bg-highlight\": Variable<string>;\n \"bg-highlight-accent\": Variable<string>;\n \"bg-lowered\": Variable<string>;\n \"bg-translucent\": Variable<string>;\n \"bg-screen-gradient-start\": Variable<string>;\n \"bg-screen-gradient-middle\": Variable<string>;\n \"bg-screen-gradient-end\": Variable<string>;\n\n \"text-sharp\": Variable<string>;\n \"text-muted\": Variable<string>;\n \"text-accent\": Variable<string>;\n \"text-accent-muted\": Variable<string>;\n \"text-onAccent\": Variable<string>;\n \"text-onAccent-muted\": Variable<string>;\n \"text-disabled-sharp\": Variable<string>;\n \"text-disabled-muted\": Variable<string>;\n\n \"border-sharp\": Variable<string>;\n \"border-muted\": Variable<string>;\n\n selectionBackgroundColor: 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 \"interactive.link.outline:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor\": Variable<string>;\n \"interactive-accent.contained.backgroundColor\": Variable<string>;\n \"interactive.outlined.borderColor\": Variable<string>;\n \"interactive-accent.outlined.borderColor\": Variable<string>;\n\n \"interactive.contained.backgroundColor:hover\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:hover\": Variable<string>;\n \"interactive.outlined.borderColor:hover\": Variable<string>;\n \"interactive-accent.outlined.borderColor:hover\": Variable<string>;\n\n \"interactive.contained.backgroundColor:focus\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:focus\": Variable<string>;\n \"interactive.outlined.borderColor:focus\": Variable<string>;\n \"interactive-accent.outlined.borderColor:focus\": Variable<string>;\n\n \"interactive.contained.outlineColor:focus\": Variable<string>;\n \"interactive-accent.contained.outlineColor:focus\": Variable<string>;\n \"interactive.outlined.outlineColor:focus\": Variable<string>;\n \"interactive-accent.outlined.outlineColor:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor:press\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:press\": Variable<string>;\n \"interactive.outlined.borderColor:press\": Variable<string>;\n \"interactive-accent.outlined.borderColor:press\": Variable<string>;\n\n \"interactive.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive.outlined.borderColor:disabled\": Variable<string>;\n \"interactive-accent.outlined.borderColor:disabled\": Variable<string>;\n\n \"interactive.forms.placeholderText\": Variable<string>;\n \"interactive.forms.disabledText\": Variable<string>;\n\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.backgroundColor:disabled\": Variable<string>;\n\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 \"interactive.forms.outlineColor:focus\": 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 textColor?: Variable<string>,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n if (!textColor) {\n textColor =\n mode === \"dark\"\n ? alouetteTokens.color.whiteText\n : alouetteTokens.color.blackText;\n }\n\n const getSpecificColor = (\n scaleNumberDarkMode: AlouetteColorScaleNumber,\n scaleNumberLightMode: AlouetteColorScaleNumber,\n ) => {\n return tokens.color[\n `${themeName}.${mode}.${mode === \"dark\" ? scaleNumberDarkMode : scaleNumberLightMode}` as keyof typeof tokens.color\n ];\n };\n const getSpecificGrayScaleColor = (\n scaleNumberDarkMode: AlouetteColorScaleNumber,\n scaleNumberLightMode: AlouetteColorScaleNumber,\n ) => {\n return tokens.color[\n `grayscale.${mode}.${mode === \"dark\" ? scaleNumberDarkMode : scaleNumberLightMode}` as keyof typeof tokens.color\n ];\n };\n\n const bgScreen = getSpecificColor(2, 3); // bottom dark = 6% light = 92/86%\n const bgSurface = getSpecificColor(3, 2); // middle dark = 12% light = 96/92%\n const bgHighlight = getSpecificColor(4, 1); // top or raised dark = 16% light = 100/96%\n\n const theme = {\n // NEW\n \"bg-screen\": bgScreen,\n \"bg-surface\": bgSurface,\n \"bg-highlight\": bgHighlight,\n \"bg-highlight-accent\": getSpecificColor(4, 4),\n\n \"bg-lowered\": getSpecificColor(1, 4), // deep, combine with deep shadow dark = 0% light = 82%\n \"bg-translucent\":\n mode === \"dark\"\n ? alouetteTokens.color.blackBackgroundTranslucent\n : alouetteTokens.color.whiteBackgroundTranslucent,\n \"bg-screen-gradient-start\": getSpecificColor(3, 4),\n \"bg-screen-gradient-middle\": getSpecificColor(2, 5),\n \"bg-screen-gradient-end\": getSpecificColor(1, 6),\n\n \"text-sharp\": getSpecificColor(11, 11), // headings, buttons, and important text dark = 96% light = 5%\n \"text-muted\": getSpecificGrayScaleColor(9, 9), // rest dark = 68% light = 30%\n\n \"text-accent\":\n themeName === \"grayscale\"\n ? getSpecificColor(11, 11)\n : getSpecificColor(9, 9), // same as sharp in default theme, same as muted in colored themes\n \"text-accent-muted\": getSpecificColor(9, 8),\n \"text-onAccent\":\n themeName === \"grayscale\"\n ? getSpecificColor(11, 11)\n : getSpecificColor(11, 9),\n \"text-onAccent-muted\":\n themeName === \"grayscale\"\n ? getSpecificColor(9, 8)\n : getSpecificColor(9, 6),\n\n \"text-disabled-muted\": getSpecificGrayScaleColor(8, 7),\n \"text-disabled-sharp\": getSpecificGrayScaleColor(8, 8),\n\n \"border-sharp\": getSpecificColor(8, 8),\n \"border-muted\": getSpecificColor(7, 7),\n\n selectionBackgroundColor: `${getSpecificColor(9, 9).val}40`,\n\n // shadowTop: `${getSpecificColor(1, 1).val}40`,\n // shadow2: `${getSpecificColor(11, 11).val}40`,\n // shadow3: `${getSpecificColor(11, 11).val}20`,\n\n // shadowLowered1: `${getSpecificColor(11, 11).val}40`,\n // shadowLowered2: `${getSpecificColor(1, 1).val}40`,\n // shadowLowered3: `${getSpecificColor(1, 1).val}20`,\n\n // \"shadowinset\":\n // mode === \"dark\"\n // ? alouetteTokens.color.transparent\n // : getColor(8, \"grayscale\", false),\n\n \"interactive.linkTextColor\": getSpecificColor(9, 9),\n \"interactive.linkTextColor:hover\": getSpecificColor(10, 10),\n \"interactive.linkTextColor:focus\": getSpecificColor(10, 10),\n \"interactive.linkTextColor:press\": getSpecificColor(8, 8),\n \"interactive.linkTextColor:disabled\": getSpecificGrayScaleColor(9, 9),\n \"interactive.link.outline:focus\": getSpecificColor(7, 7),\n\n \"interactive.forms.placeholderText\": getSpecificGrayScaleColor(8, 8),\n \"interactive.forms.disabledText\": getSpecificGrayScaleColor(9, 9),\n\n // identical to \"surface\"\n \"interactive.forms.backgroundColor\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:hover\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:focus\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:press\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:disabled\": getSpecificGrayScaleColor(\n 4,\n 4,\n ),\n\n \"interactive.forms.borderColor\": getSpecificColor(7, 7),\n \"interactive.forms.borderColor:disabled\": getSpecificGrayScaleColor(7, 6),\n \"interactive.forms.borderColor:hover\": getSpecificColor(8, 8),\n \"interactive.forms.borderColor:focus\": getSpecificColor(8, 8),\n \"interactive.forms.borderColor:press\": getSpecificColor(8, 8),\n\n \"interactive.forms.outlineColor:focus\": getSpecificColor(8, 8),\n\n // TODO\n\n // borderColor: ,// same as backgroundBaseColor for light mode\n // highlightBorder: \"hsl(0 0 100%)\", // dark = 60% light = 100%\n\n // TODO interactive.background linear gradient 0 surface 5% raised\n // TODO interactive.background:hover linear gradient 0 surface (100%?) raised\n // TODO shadow 0 2px 2px hsla(0, 0, 0, 0.07), 0 4px 4px hsla(0, 0, 0, 0.15)\n\n // LEGACY\n\n \"interactive.contained.backgroundColor\": getSpecificColor(4, 1),\n // interactive-accent should be used for interactive elements in accent color themes.\n \"interactive-accent.contained.backgroundColor\": getSpecificColor(6, 3),\n \"interactive.contained.backgroundColor:hover\": getSpecificColor(6, 4),\n \"interactive-accent.contained.backgroundColor:hover\": getSpecificColor(\n 7,\n 2,\n ),\n \"interactive.contained.backgroundColor:focus\": getSpecificColor(6, 4),\n \"interactive-accent.contained.backgroundColor:focus\": getSpecificColor(\n 7,\n 2,\n ),\n \"interactive.contained.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive-accent.contained.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive.contained.backgroundColor:press\": getSpecificColor(6, 5),\n \"interactive-accent.contained.backgroundColor:press\": getSpecificColor(\n 7,\n 2,\n ),\n \"interactive.contained.backgroundColor:disabled\": getSpecificGrayScaleColor(\n 5,\n 5,\n ),\n \"interactive-accent.contained.backgroundColor:disabled\":\n getSpecificGrayScaleColor(5, 3),\n\n \"interactive.outlined.borderColor\": getSpecificColor(7, 7),\n \"interactive-accent.outlined.borderColor\": getSpecificColor(7, 7),\n \"interactive.outlined.borderColor:hover\": getSpecificColor(8, 8),\n \"interactive-accent.outlined.borderColor:hover\": getSpecificColor(8, 8),\n \"interactive.outlined.borderColor:focus\": getSpecificColor(8, 8),\n \"interactive-accent.outlined.borderColor:focus\": getSpecificColor(8, 8),\n \"interactive.outlined.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive-accent.outlined.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive.outlined.borderColor:press\": getSpecificColor(8, 8),\n \"interactive-accent.outlined.borderColor:press\": getSpecificColor(8, 8),\n \"interactive.outlined.borderColor:disabled\": getSpecificGrayScaleColor(\n 6,\n 6,\n ),\n \"interactive-accent.outlined.borderColor:disabled\":\n getSpecificGrayScaleColor(6, 6),\n } satisfies FullTheme;\n\n if (process.env.NODE_ENV === \"development\") {\n // Check main text contrast\n warnOnContrastIssues(\n themeName,\n theme[\"text-sharp\"].val,\n theme[\"bg-screen\"].val,\n );\n warnOnContrastIssues(\n themeName,\n theme[\"text-sharp\"].val,\n theme[\"bg-surface\"].val,\n );\n warnOnContrastIssues(\n themeName,\n theme[\"text-muted\"].val,\n theme[\"bg-surface\"].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 dark: customCreateColorTheme(alouetteTokens, \"grayscale\", \"dark\"),\n light: customCreateColorTheme(alouetteTokens, \"grayscale\", \"light\"),\n\n dark_brand: customCreateColorTheme(alouetteTokens, \"brand\", \"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\n light_brand: customCreateColorTheme(alouetteTokens, \"brand\", \"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 } 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\nexport type AlouetteColorScaleNumber = IntRange<1, 12>;\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 brand: \"brand\";\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","import { createColorScale } from \"./colorScales\";\nimport type { AlouetteColorScales } from \"./colorScales\";\n\nexport const defaultColorScales: AlouetteColorScales = {\n \"grayscale.light\": createColorScale({\n 1: \"#FFFFFF\",\n 2: \"#F5F5F5\",\n 3: \"#EBEBEB\",\n 4: \"#E0E0E0\",\n 5: \"#C7C7C7\",\n 6: \"#B8B8B8\",\n 7: \"#8F8F8F\",\n 8: \"#616161\",\n 9: \"#474747\",\n 10: \"#2E2E2E\",\n 11: \"#141414\",\n }),\n \"grayscale.dark\": createColorScale({\n 1: \"#0F0F0F\",\n 2: \"#1F1F1F\",\n 3: \"#292929\",\n 4: \"#333333\",\n 5: \"#3D3D3D\",\n 6: \"#474747\",\n 7: \"#525252\",\n 8: \"#A8A8A8\",\n 9: \"#C2C2C2\",\n 10: \"#DBDBDB\",\n 11: \"#F5F5F5\",\n }),\n \"brand.light\": createColorScale({\n 1: \"#F7FBFD\",\n 2: \"#EFF8FB\",\n 3: \"#DFF1F6\",\n 4: \"#C7EEF9\",\n 5: \"#99DFF5\",\n 6: \"#7DD7F2\",\n 7: \"#23C8FB\",\n 8: \"#0493BE\",\n 9: \"#024D64\",\n 10: \"#012732\",\n 11: \"#011F28\",\n }),\n \"brand.dark\": createColorScale({\n 1: \"#071418\",\n 2: \"#0D2830\",\n 3: \"#123540\",\n 4: \"#104E60\",\n 5: \"#135C72\",\n 6: \"#156A84\",\n 7: \"#1E94B8\",\n 8: \"#5CD1F5\",\n 9: \"#8CDFF8\",\n 10: \"#BCECFB\",\n 11: \"#D9F4FD\",\n }),\n \"danger.light\": createColorScale({\n 1: \"#FDF7F7\",\n 2: \"#FBEFEF\",\n 3: \"#F6E0DF\",\n 4: \"#FBD2D0\",\n 5: \"#F7A4A1\",\n 6: \"#F48985\",\n 7: \"#FB342D\",\n 8: \"#C80B04\",\n 9: \"#6E0602\",\n 10: \"#3C0301\",\n 11: \"#280201\",\n }),\n \"danger.dark\": createColorScale({\n 1: \"#180707\",\n 2: \"#300F0D\",\n 3: \"#401312\",\n 4: \"#691411\",\n 5: \"#7B1714\",\n 6: \"#8C1B17\",\n 7: \"#C1251F\",\n 8: \"#F56A66\",\n 9: \"#F89996\",\n 10: \"#FBC7C5\",\n 11: \"#FDDAD9\",\n }),\n \"info.light\": createColorScale({\n 1: \"#F7FBFD\",\n 2: \"#EFF8FB\",\n 3: \"#DFF0F6\",\n 4: \"#C7EDF9\",\n 5: \"#99DEF5\",\n 6: \"#7DD5F2\",\n 7: \"#23C5FB\",\n 8: \"#048FBE\",\n 9: \"#024B64\",\n 10: \"#012632\",\n 11: \"#011E28\",\n }),\n \"info.dark\": createColorScale({\n 1: \"#071418\",\n 2: \"#0D2730\",\n 3: \"#123440\",\n 4: \"#104C60\",\n 5: \"#135A72\",\n 6: \"#156884\",\n 7: \"#1E92B8\",\n 8: \"#5CCEF5\",\n 9: \"#8CDDF8\",\n 10: \"#BCEBFB\",\n 11: \"#D9F4FD\",\n }),\n \"success.light\": createColorScale({\n 1: \"#F7FDF7\",\n 2: \"#EFFBEF\",\n 3: \"#DFF6DF\",\n 4: \"#C7F9C7\",\n 5: \"#99F599\",\n 6: \"#7DF27D\",\n 7: \"#23FB23\",\n 8: \"#04BE04\",\n 9: \"#025002\",\n 10: \"#011E01\",\n 11: \"#012801\",\n }),\n \"success.dark\": createColorScale({\n 1: \"#071807\",\n 2: \"#0D300D\",\n 3: \"#124012\",\n 4: \"#106010\",\n 5: \"#137213\",\n 6: \"#158415\",\n 7: \"#1EB81E\",\n 8: \"#5CF55C\",\n 9: \"#8CF88C\",\n 10: \"#BCFBBC\",\n 11: \"#D9FDD9\",\n }),\n \"warning.light\": createColorScale({\n 1: \"#FDFBF7\",\n 2: \"#FBF7EF\",\n 3: \"#F6EEDF\",\n 4: \"#F6E1B6\",\n 5: \"#F0CE89\",\n 6: \"#EDC36E\",\n 7: \"#FAAC0F\",\n 8: \"#AA7203\",\n 9: \"#281B01\",\n 10: \"#F6F900\",\n 11: \"#281B01\",\n }),\n \"warning.dark\": createColorScale({\n 1: \"#181207\",\n 2: \"#30240D\",\n 3: \"#403012\",\n 4: \"#4F390D\",\n 5: \"#604610\",\n 6: \"#725213\",\n 7: \"#A7781B\",\n 8: \"#F3BB49\",\n 9: \"#F6CD79\",\n 10: \"#F9DFA9\",\n 11: \"#FDF1D9\",\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 selectionStyles: (theme) => {\n return {\n backgroundColor: theme.selectionBackgroundColor,\n };\n },\n },\n components: [\"alouette\"],\n } as const);\n};\n"],"names":[],"mappings":"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"}
@@ -206,8 +206,9 @@ const createAlouetteTokens = (colorScales, { spacing = 16 } = {}) => {
206
206
  // previous $8 or $md
207
207
  "3.0": spacing * 3,
208
208
  // previous $12
209
- "4.0": spacing * 4
209
+ "4.0": spacing * 4,
210
210
  // previous $16 or $lg
211
+ "8.0": spacing * 8
211
212
  },
212
213
  // size: { ...sizes },
213
214
  size: {},
@@ -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/utils/colorContrast.ts","../src/config/themes.ts","../src/config/colorScales.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 duration: 450,\n damping: 20,\n stiffness: 60,\n },\n formElement: {\n type: \"timing\",\n duration: 200,\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 \"body-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\";\n// import type { IntRange } from \"type-fest\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n} from \"./colorScales\";\n\n// type AlouetteSize = IntRange<0, 64>;\n// type NegativeAlouetteSize = `-${AlouetteSize}`;\n// type AlouetteSizeRecord = Record<AlouetteSize, number>;\n// type NegativeAlouetteSizeRecord = Record<NegativeAlouetteSize, number>;\n\n// const 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 = 16 }: 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: \"#1f1e1e55\",\n whiteBackgroundTranslucent: \"#ffffff66\",\n blackText: \"#000000\",\n whiteText: \"#fdfdfd\",\n transparent: \"transparent\",\n ...transformColorScalesToTokens(colorScales),\n },\n radius: {\n xs: spacing / 2,\n sm: spacing,\n md: spacing * 2,\n lg: spacing * 3,\n },\n space: {\n \"-1.0\": -spacing,\n \"0.25\": spacing / 4,\n \"0.5\": spacing / 2, // previous $sm or $2\n \"0.75\": spacing * 0.75, // previous $3\n \"1.0\": spacing, // previous $md or $4\n \"1.25\": spacing * 1.25, // previous $5\n \"1.5\": spacing * 1.5, // previous $6\n \"2.0\": spacing * 2, // previous $8 or $md\n \"3.0\": spacing * 3, // previous $12\n \"4.0\": spacing * 4, // previous $16 or $lg\n },\n // size: { ...sizes },\n size: {},\n zIndex: {},\n opacity: {\n disabled: 0.7,\n },\n } as const);\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 camelcase */\nimport type { Variable } from \"@tamagui/core\";\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 \"bg-screen\": Variable<string>;\n \"bg-surface\": Variable<string>;\n \"bg-highlight\": Variable<string>;\n \"bg-highlight-accent\": Variable<string>;\n \"bg-lowered\": Variable<string>;\n \"bg-translucent\": Variable<string>;\n \"bg-screen-gradient-start\": Variable<string>;\n \"bg-screen-gradient-middle\": Variable<string>;\n \"bg-screen-gradient-end\": Variable<string>;\n\n \"text-sharp\": Variable<string>;\n \"text-muted\": Variable<string>;\n \"text-accent\": Variable<string>;\n \"text-accent-muted\": Variable<string>;\n \"text-onAccent\": Variable<string>;\n \"text-onAccent-muted\": Variable<string>;\n \"text-disabled-sharp\": Variable<string>;\n \"text-disabled-muted\": Variable<string>;\n\n \"border-sharp\": Variable<string>;\n \"border-muted\": Variable<string>;\n\n selectionBackgroundColor: 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 \"interactive.link.outline:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor\": Variable<string>;\n \"interactive-accent.contained.backgroundColor\": Variable<string>;\n \"interactive.outlined.borderColor\": Variable<string>;\n \"interactive-accent.outlined.borderColor\": Variable<string>;\n\n \"interactive.contained.backgroundColor:hover\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:hover\": Variable<string>;\n \"interactive.outlined.borderColor:hover\": Variable<string>;\n \"interactive-accent.outlined.borderColor:hover\": Variable<string>;\n\n \"interactive.contained.backgroundColor:focus\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:focus\": Variable<string>;\n \"interactive.outlined.borderColor:focus\": Variable<string>;\n \"interactive-accent.outlined.borderColor:focus\": Variable<string>;\n\n \"interactive.contained.outlineColor:focus\": Variable<string>;\n \"interactive-accent.contained.outlineColor:focus\": Variable<string>;\n \"interactive.outlined.outlineColor:focus\": Variable<string>;\n \"interactive-accent.outlined.outlineColor:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor:press\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:press\": Variable<string>;\n \"interactive.outlined.borderColor:press\": Variable<string>;\n \"interactive-accent.outlined.borderColor:press\": Variable<string>;\n\n \"interactive.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive.outlined.borderColor:disabled\": Variable<string>;\n \"interactive-accent.outlined.borderColor:disabled\": Variable<string>;\n\n \"interactive.forms.placeholderText\": Variable<string>;\n \"interactive.forms.disabledText\": Variable<string>;\n\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.backgroundColor:disabled\": Variable<string>;\n\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 \"interactive.forms.outlineColor:focus\": 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 textColor?: Variable<string>,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n if (!textColor) {\n textColor =\n mode === \"dark\"\n ? alouetteTokens.color.whiteText\n : alouetteTokens.color.blackText;\n }\n\n const getSpecificColor = (\n scaleNumberDarkMode: AlouetteColorScaleNumber,\n scaleNumberLightMode: AlouetteColorScaleNumber,\n ) => {\n return tokens.color[\n `${themeName}.${mode}.${mode === \"dark\" ? scaleNumberDarkMode : scaleNumberLightMode}` as keyof typeof tokens.color\n ];\n };\n const getSpecificGrayScaleColor = (\n scaleNumberDarkMode: AlouetteColorScaleNumber,\n scaleNumberLightMode: AlouetteColorScaleNumber,\n ) => {\n return tokens.color[\n `grayscale.${mode}.${mode === \"dark\" ? scaleNumberDarkMode : scaleNumberLightMode}` as keyof typeof tokens.color\n ];\n };\n\n const bgScreen = getSpecificColor(2, 3); // bottom dark = 6% light = 92/86%\n const bgSurface = getSpecificColor(3, 2); // middle dark = 12% light = 96/92%\n const bgHighlight = getSpecificColor(4, 1); // top or raised dark = 16% light = 100/96%\n\n const theme = {\n // NEW\n \"bg-screen\": bgScreen,\n \"bg-surface\": bgSurface,\n \"bg-highlight\": bgHighlight,\n \"bg-highlight-accent\": getSpecificColor(4, 4),\n\n \"bg-lowered\": getSpecificColor(1, 4), // deep, combine with deep shadow dark = 0% light = 82%\n \"bg-translucent\":\n mode === \"dark\"\n ? alouetteTokens.color.blackBackgroundTranslucent\n : alouetteTokens.color.whiteBackgroundTranslucent,\n \"bg-screen-gradient-start\": getSpecificColor(3, 4),\n \"bg-screen-gradient-middle\": getSpecificColor(2, 5),\n \"bg-screen-gradient-end\": getSpecificColor(1, 6),\n\n \"text-sharp\": getSpecificColor(11, 11), // headings, buttons, and important text dark = 96% light = 5%\n \"text-muted\": getSpecificGrayScaleColor(9, 9), // rest dark = 68% light = 30%\n\n \"text-accent\":\n themeName === \"grayscale\"\n ? getSpecificColor(11, 11)\n : getSpecificColor(9, 9), // same as sharp in default theme, same as muted in colored themes\n \"text-accent-muted\": getSpecificColor(9, 8),\n \"text-onAccent\":\n themeName === \"grayscale\"\n ? getSpecificColor(11, 11)\n : getSpecificColor(11, 9),\n \"text-onAccent-muted\":\n themeName === \"grayscale\"\n ? getSpecificColor(9, 8)\n : getSpecificColor(9, 6),\n\n \"text-disabled-muted\": getSpecificGrayScaleColor(8, 7),\n \"text-disabled-sharp\": getSpecificGrayScaleColor(8, 8),\n\n \"border-sharp\": getSpecificColor(8, 8),\n \"border-muted\": getSpecificColor(7, 7),\n\n selectionBackgroundColor: `${getSpecificColor(9, 9).val}40`,\n\n // shadowTop: `${getSpecificColor(1, 1).val}40`,\n // shadow2: `${getSpecificColor(11, 11).val}40`,\n // shadow3: `${getSpecificColor(11, 11).val}20`,\n\n // shadowLowered1: `${getSpecificColor(11, 11).val}40`,\n // shadowLowered2: `${getSpecificColor(1, 1).val}40`,\n // shadowLowered3: `${getSpecificColor(1, 1).val}20`,\n\n // \"shadowinset\":\n // mode === \"dark\"\n // ? alouetteTokens.color.transparent\n // : getColor(8, \"grayscale\", false),\n\n \"interactive.linkTextColor\": getSpecificColor(9, 9),\n \"interactive.linkTextColor:hover\": getSpecificColor(10, 10),\n \"interactive.linkTextColor:focus\": getSpecificColor(10, 10),\n \"interactive.linkTextColor:press\": getSpecificColor(8, 8),\n \"interactive.linkTextColor:disabled\": getSpecificGrayScaleColor(9, 9),\n \"interactive.link.outline:focus\": getSpecificColor(7, 7),\n\n \"interactive.forms.placeholderText\": getSpecificGrayScaleColor(8, 8),\n \"interactive.forms.disabledText\": getSpecificGrayScaleColor(9, 9),\n\n // identical to \"surface\"\n \"interactive.forms.backgroundColor\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:hover\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:focus\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:press\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:disabled\": getSpecificGrayScaleColor(\n 4,\n 4,\n ),\n\n \"interactive.forms.borderColor\": getSpecificColor(7, 7),\n \"interactive.forms.borderColor:disabled\": getSpecificGrayScaleColor(7, 6),\n \"interactive.forms.borderColor:hover\": getSpecificColor(8, 8),\n \"interactive.forms.borderColor:focus\": getSpecificColor(8, 8),\n \"interactive.forms.borderColor:press\": getSpecificColor(8, 8),\n\n \"interactive.forms.outlineColor:focus\": getSpecificColor(8, 8),\n\n // TODO\n\n // borderColor: ,// same as backgroundBaseColor for light mode\n // highlightBorder: \"hsl(0 0 100%)\", // dark = 60% light = 100%\n\n // TODO interactive.background linear gradient 0 surface 5% raised\n // TODO interactive.background:hover linear gradient 0 surface (100%?) raised\n // TODO shadow 0 2px 2px hsla(0, 0, 0, 0.07), 0 4px 4px hsla(0, 0, 0, 0.15)\n\n // LEGACY\n\n \"interactive.contained.backgroundColor\": getSpecificColor(4, 1),\n // interactive-accent should be used for interactive elements in accent color themes.\n \"interactive-accent.contained.backgroundColor\": getSpecificColor(6, 3),\n \"interactive.contained.backgroundColor:hover\": getSpecificColor(6, 4),\n \"interactive-accent.contained.backgroundColor:hover\": getSpecificColor(\n 7,\n 2,\n ),\n \"interactive.contained.backgroundColor:focus\": getSpecificColor(6, 4),\n \"interactive-accent.contained.backgroundColor:focus\": getSpecificColor(\n 7,\n 2,\n ),\n \"interactive.contained.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive-accent.contained.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive.contained.backgroundColor:press\": getSpecificColor(6, 5),\n \"interactive-accent.contained.backgroundColor:press\": getSpecificColor(\n 7,\n 2,\n ),\n \"interactive.contained.backgroundColor:disabled\": getSpecificGrayScaleColor(\n 5,\n 5,\n ),\n \"interactive-accent.contained.backgroundColor:disabled\":\n getSpecificGrayScaleColor(5, 3),\n\n \"interactive.outlined.borderColor\": getSpecificColor(7, 7),\n \"interactive-accent.outlined.borderColor\": getSpecificColor(7, 7),\n \"interactive.outlined.borderColor:hover\": getSpecificColor(8, 8),\n \"interactive-accent.outlined.borderColor:hover\": getSpecificColor(8, 8),\n \"interactive.outlined.borderColor:focus\": getSpecificColor(8, 8),\n \"interactive-accent.outlined.borderColor:focus\": getSpecificColor(8, 8),\n \"interactive.outlined.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive-accent.outlined.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive.outlined.borderColor:press\": getSpecificColor(8, 8),\n \"interactive-accent.outlined.borderColor:press\": getSpecificColor(8, 8),\n \"interactive.outlined.borderColor:disabled\": getSpecificGrayScaleColor(\n 6,\n 6,\n ),\n \"interactive-accent.outlined.borderColor:disabled\":\n getSpecificGrayScaleColor(6, 6),\n } satisfies FullTheme;\n\n if (process.env.NODE_ENV === \"development\") {\n // Check main text contrast\n warnOnContrastIssues(\n themeName,\n theme[\"text-sharp\"].val,\n theme[\"bg-screen\"].val,\n );\n warnOnContrastIssues(\n themeName,\n theme[\"text-sharp\"].val,\n theme[\"bg-surface\"].val,\n );\n warnOnContrastIssues(\n themeName,\n theme[\"text-muted\"].val,\n theme[\"bg-surface\"].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 dark: customCreateColorTheme(alouetteTokens, \"grayscale\", \"dark\"),\n light: customCreateColorTheme(alouetteTokens, \"grayscale\", \"light\"),\n\n dark_brand: customCreateColorTheme(alouetteTokens, \"brand\", \"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\n light_brand: customCreateColorTheme(alouetteTokens, \"brand\", \"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 } 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\nexport type AlouetteColorScaleNumber = IntRange<1, 12>;\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 brand: \"brand\";\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","import { createColorScale } from \"./colorScales\";\nimport type { AlouetteColorScales } from \"./colorScales\";\n\nexport const defaultColorScales: AlouetteColorScales = {\n \"grayscale.light\": createColorScale({\n 1: \"#FFFFFF\",\n 2: \"#F5F5F5\",\n 3: \"#EBEBEB\",\n 4: \"#E0E0E0\",\n 5: \"#C7C7C7\",\n 6: \"#B8B8B8\",\n 7: \"#8F8F8F\",\n 8: \"#616161\",\n 9: \"#474747\",\n 10: \"#2E2E2E\",\n 11: \"#141414\",\n }),\n \"grayscale.dark\": createColorScale({\n 1: \"#0F0F0F\",\n 2: \"#1F1F1F\",\n 3: \"#292929\",\n 4: \"#333333\",\n 5: \"#3D3D3D\",\n 6: \"#474747\",\n 7: \"#525252\",\n 8: \"#A8A8A8\",\n 9: \"#C2C2C2\",\n 10: \"#DBDBDB\",\n 11: \"#F5F5F5\",\n }),\n \"brand.light\": createColorScale({\n 1: \"#F7FBFD\",\n 2: \"#EFF8FB\",\n 3: \"#DFF1F6\",\n 4: \"#C7EEF9\",\n 5: \"#99DFF5\",\n 6: \"#7DD7F2\",\n 7: \"#23C8FB\",\n 8: \"#0493BE\",\n 9: \"#024D64\",\n 10: \"#012732\",\n 11: \"#011F28\",\n }),\n \"brand.dark\": createColorScale({\n 1: \"#071418\",\n 2: \"#0D2830\",\n 3: \"#123540\",\n 4: \"#104E60\",\n 5: \"#135C72\",\n 6: \"#156A84\",\n 7: \"#1E94B8\",\n 8: \"#5CD1F5\",\n 9: \"#8CDFF8\",\n 10: \"#BCECFB\",\n 11: \"#D9F4FD\",\n }),\n \"danger.light\": createColorScale({\n 1: \"#FDF7F7\",\n 2: \"#FBEFEF\",\n 3: \"#F6E0DF\",\n 4: \"#FBD2D0\",\n 5: \"#F7A4A1\",\n 6: \"#F48985\",\n 7: \"#FB342D\",\n 8: \"#C80B04\",\n 9: \"#6E0602\",\n 10: \"#3C0301\",\n 11: \"#280201\",\n }),\n \"danger.dark\": createColorScale({\n 1: \"#180707\",\n 2: \"#300F0D\",\n 3: \"#401312\",\n 4: \"#691411\",\n 5: \"#7B1714\",\n 6: \"#8C1B17\",\n 7: \"#C1251F\",\n 8: \"#F56A66\",\n 9: \"#F89996\",\n 10: \"#FBC7C5\",\n 11: \"#FDDAD9\",\n }),\n \"info.light\": createColorScale({\n 1: \"#F7FBFD\",\n 2: \"#EFF8FB\",\n 3: \"#DFF0F6\",\n 4: \"#C7EDF9\",\n 5: \"#99DEF5\",\n 6: \"#7DD5F2\",\n 7: \"#23C5FB\",\n 8: \"#048FBE\",\n 9: \"#024B64\",\n 10: \"#012632\",\n 11: \"#011E28\",\n }),\n \"info.dark\": createColorScale({\n 1: \"#071418\",\n 2: \"#0D2730\",\n 3: \"#123440\",\n 4: \"#104C60\",\n 5: \"#135A72\",\n 6: \"#156884\",\n 7: \"#1E92B8\",\n 8: \"#5CCEF5\",\n 9: \"#8CDDF8\",\n 10: \"#BCEBFB\",\n 11: \"#D9F4FD\",\n }),\n \"success.light\": createColorScale({\n 1: \"#F7FDF7\",\n 2: \"#EFFBEF\",\n 3: \"#DFF6DF\",\n 4: \"#C7F9C7\",\n 5: \"#99F599\",\n 6: \"#7DF27D\",\n 7: \"#23FB23\",\n 8: \"#04BE04\",\n 9: \"#025002\",\n 10: \"#011E01\",\n 11: \"#012801\",\n }),\n \"success.dark\": createColorScale({\n 1: \"#071807\",\n 2: \"#0D300D\",\n 3: \"#124012\",\n 4: \"#106010\",\n 5: \"#137213\",\n 6: \"#158415\",\n 7: \"#1EB81E\",\n 8: \"#5CF55C\",\n 9: \"#8CF88C\",\n 10: \"#BCFBBC\",\n 11: \"#D9FDD9\",\n }),\n \"warning.light\": createColorScale({\n 1: \"#FDFBF7\",\n 2: \"#FBF7EF\",\n 3: \"#F6EEDF\",\n 4: \"#F6E1B6\",\n 5: \"#F0CE89\",\n 6: \"#EDC36E\",\n 7: \"#FAAC0F\",\n 8: \"#AA7203\",\n 9: \"#281B01\",\n 10: \"#F6F900\",\n 11: \"#281B01\",\n }),\n \"warning.dark\": createColorScale({\n 1: \"#181207\",\n 2: \"#30240D\",\n 3: \"#403012\",\n 4: \"#4F390D\",\n 5: \"#604610\",\n 6: \"#725213\",\n 7: \"#A7781B\",\n 8: \"#F3BB49\",\n 9: \"#F6CD79\",\n 10: \"#F9DFA9\",\n 11: \"#FDF1D9\",\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 selectionStyles: (theme) => {\n return {\n backgroundColor: theme.selectionBackgroundColor,\n };\n },\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/utils/colorContrast.ts","../src/config/themes.ts","../src/config/colorScales.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 duration: 450,\n damping: 20,\n stiffness: 60,\n },\n formElement: {\n type: \"timing\",\n duration: 200,\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 \"body-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\";\n// import type { IntRange } from \"type-fest\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n} from \"./colorScales\";\n\n// type AlouetteSize = IntRange<0, 64>;\n// type NegativeAlouetteSize = `-${AlouetteSize}`;\n// type AlouetteSizeRecord = Record<AlouetteSize, number>;\n// type NegativeAlouetteSizeRecord = Record<NegativeAlouetteSize, number>;\n\n// const 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 = 16 }: 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: \"#1f1e1e55\",\n whiteBackgroundTranslucent: \"#ffffff66\",\n blackText: \"#000000\",\n whiteText: \"#fdfdfd\",\n transparent: \"transparent\",\n ...transformColorScalesToTokens(colorScales),\n },\n radius: {\n xs: spacing / 2,\n sm: spacing,\n md: spacing * 2,\n lg: spacing * 3,\n },\n space: {\n \"-1.0\": -spacing,\n \"0.25\": spacing / 4,\n \"0.5\": spacing / 2, // previous $sm or $2\n \"0.75\": spacing * 0.75, // previous $3\n \"1.0\": spacing, // previous $md or $4\n \"1.25\": spacing * 1.25, // previous $5\n \"1.5\": spacing * 1.5, // previous $6\n \"2.0\": spacing * 2, // previous $8 or $md\n \"3.0\": spacing * 3, // previous $12\n \"4.0\": spacing * 4, // previous $16 or $lg\n \"8.0\": spacing * 8,\n },\n // size: { ...sizes },\n size: {},\n zIndex: {},\n opacity: {\n disabled: 0.7,\n },\n } as const);\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 camelcase */\nimport type { Variable } from \"@tamagui/core\";\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 \"bg-screen\": Variable<string>;\n \"bg-surface\": Variable<string>;\n \"bg-highlight\": Variable<string>;\n \"bg-highlight-accent\": Variable<string>;\n \"bg-lowered\": Variable<string>;\n \"bg-translucent\": Variable<string>;\n \"bg-screen-gradient-start\": Variable<string>;\n \"bg-screen-gradient-middle\": Variable<string>;\n \"bg-screen-gradient-end\": Variable<string>;\n\n \"text-sharp\": Variable<string>;\n \"text-muted\": Variable<string>;\n \"text-accent\": Variable<string>;\n \"text-accent-muted\": Variable<string>;\n \"text-onAccent\": Variable<string>;\n \"text-onAccent-muted\": Variable<string>;\n \"text-disabled-sharp\": Variable<string>;\n \"text-disabled-muted\": Variable<string>;\n\n \"border-sharp\": Variable<string>;\n \"border-muted\": Variable<string>;\n\n selectionBackgroundColor: 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 \"interactive.link.outline:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor\": Variable<string>;\n \"interactive-accent.contained.backgroundColor\": Variable<string>;\n \"interactive.outlined.borderColor\": Variable<string>;\n \"interactive-accent.outlined.borderColor\": Variable<string>;\n\n \"interactive.contained.backgroundColor:hover\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:hover\": Variable<string>;\n \"interactive.outlined.borderColor:hover\": Variable<string>;\n \"interactive-accent.outlined.borderColor:hover\": Variable<string>;\n\n \"interactive.contained.backgroundColor:focus\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:focus\": Variable<string>;\n \"interactive.outlined.borderColor:focus\": Variable<string>;\n \"interactive-accent.outlined.borderColor:focus\": Variable<string>;\n\n \"interactive.contained.outlineColor:focus\": Variable<string>;\n \"interactive-accent.contained.outlineColor:focus\": Variable<string>;\n \"interactive.outlined.outlineColor:focus\": Variable<string>;\n \"interactive-accent.outlined.outlineColor:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor:press\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:press\": Variable<string>;\n \"interactive.outlined.borderColor:press\": Variable<string>;\n \"interactive-accent.outlined.borderColor:press\": Variable<string>;\n\n \"interactive.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive-accent.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive.outlined.borderColor:disabled\": Variable<string>;\n \"interactive-accent.outlined.borderColor:disabled\": Variable<string>;\n\n \"interactive.forms.placeholderText\": Variable<string>;\n \"interactive.forms.disabledText\": Variable<string>;\n\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.backgroundColor:disabled\": Variable<string>;\n\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 \"interactive.forms.outlineColor:focus\": 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 textColor?: Variable<string>,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n if (!textColor) {\n textColor =\n mode === \"dark\"\n ? alouetteTokens.color.whiteText\n : alouetteTokens.color.blackText;\n }\n\n const getSpecificColor = (\n scaleNumberDarkMode: AlouetteColorScaleNumber,\n scaleNumberLightMode: AlouetteColorScaleNumber,\n ) => {\n return tokens.color[\n `${themeName}.${mode}.${mode === \"dark\" ? scaleNumberDarkMode : scaleNumberLightMode}` as keyof typeof tokens.color\n ];\n };\n const getSpecificGrayScaleColor = (\n scaleNumberDarkMode: AlouetteColorScaleNumber,\n scaleNumberLightMode: AlouetteColorScaleNumber,\n ) => {\n return tokens.color[\n `grayscale.${mode}.${mode === \"dark\" ? scaleNumberDarkMode : scaleNumberLightMode}` as keyof typeof tokens.color\n ];\n };\n\n const bgScreen = getSpecificColor(2, 3); // bottom dark = 6% light = 92/86%\n const bgSurface = getSpecificColor(3, 2); // middle dark = 12% light = 96/92%\n const bgHighlight = getSpecificColor(4, 1); // top or raised dark = 16% light = 100/96%\n\n const theme = {\n // NEW\n \"bg-screen\": bgScreen,\n \"bg-surface\": bgSurface,\n \"bg-highlight\": bgHighlight,\n \"bg-highlight-accent\": getSpecificColor(4, 4),\n\n \"bg-lowered\": getSpecificColor(1, 4), // deep, combine with deep shadow dark = 0% light = 82%\n \"bg-translucent\":\n mode === \"dark\"\n ? alouetteTokens.color.blackBackgroundTranslucent\n : alouetteTokens.color.whiteBackgroundTranslucent,\n \"bg-screen-gradient-start\": getSpecificColor(3, 4),\n \"bg-screen-gradient-middle\": getSpecificColor(2, 5),\n \"bg-screen-gradient-end\": getSpecificColor(1, 6),\n\n \"text-sharp\": getSpecificColor(11, 11), // headings, buttons, and important text dark = 96% light = 5%\n \"text-muted\": getSpecificGrayScaleColor(9, 9), // rest dark = 68% light = 30%\n\n \"text-accent\":\n themeName === \"grayscale\"\n ? getSpecificColor(11, 11)\n : getSpecificColor(9, 9), // same as sharp in default theme, same as muted in colored themes\n \"text-accent-muted\": getSpecificColor(9, 8),\n \"text-onAccent\":\n themeName === \"grayscale\"\n ? getSpecificColor(11, 11)\n : getSpecificColor(11, 9),\n \"text-onAccent-muted\":\n themeName === \"grayscale\"\n ? getSpecificColor(9, 8)\n : getSpecificColor(9, 6),\n\n \"text-disabled-muted\": getSpecificGrayScaleColor(8, 7),\n \"text-disabled-sharp\": getSpecificGrayScaleColor(8, 8),\n\n \"border-sharp\": getSpecificColor(8, 8),\n \"border-muted\": getSpecificColor(7, 7),\n\n selectionBackgroundColor: `${getSpecificColor(9, 9).val}40`,\n\n // shadowTop: `${getSpecificColor(1, 1).val}40`,\n // shadow2: `${getSpecificColor(11, 11).val}40`,\n // shadow3: `${getSpecificColor(11, 11).val}20`,\n\n // shadowLowered1: `${getSpecificColor(11, 11).val}40`,\n // shadowLowered2: `${getSpecificColor(1, 1).val}40`,\n // shadowLowered3: `${getSpecificColor(1, 1).val}20`,\n\n // \"shadowinset\":\n // mode === \"dark\"\n // ? alouetteTokens.color.transparent\n // : getColor(8, \"grayscale\", false),\n\n \"interactive.linkTextColor\": getSpecificColor(9, 9),\n \"interactive.linkTextColor:hover\": getSpecificColor(10, 10),\n \"interactive.linkTextColor:focus\": getSpecificColor(10, 10),\n \"interactive.linkTextColor:press\": getSpecificColor(8, 8),\n \"interactive.linkTextColor:disabled\": getSpecificGrayScaleColor(9, 9),\n \"interactive.link.outline:focus\": getSpecificColor(7, 7),\n\n \"interactive.forms.placeholderText\": getSpecificGrayScaleColor(8, 8),\n \"interactive.forms.disabledText\": getSpecificGrayScaleColor(9, 9),\n\n // identical to \"surface\"\n \"interactive.forms.backgroundColor\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:hover\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:focus\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:press\": getSpecificGrayScaleColor(3, 1),\n \"interactive.forms.backgroundColor:disabled\": getSpecificGrayScaleColor(\n 4,\n 4,\n ),\n\n \"interactive.forms.borderColor\": getSpecificColor(7, 7),\n \"interactive.forms.borderColor:disabled\": getSpecificGrayScaleColor(7, 6),\n \"interactive.forms.borderColor:hover\": getSpecificColor(8, 8),\n \"interactive.forms.borderColor:focus\": getSpecificColor(8, 8),\n \"interactive.forms.borderColor:press\": getSpecificColor(8, 8),\n\n \"interactive.forms.outlineColor:focus\": getSpecificColor(8, 8),\n\n // TODO\n\n // borderColor: ,// same as backgroundBaseColor for light mode\n // highlightBorder: \"hsl(0 0 100%)\", // dark = 60% light = 100%\n\n // TODO interactive.background linear gradient 0 surface 5% raised\n // TODO interactive.background:hover linear gradient 0 surface (100%?) raised\n // TODO shadow 0 2px 2px hsla(0, 0, 0, 0.07), 0 4px 4px hsla(0, 0, 0, 0.15)\n\n // LEGACY\n\n \"interactive.contained.backgroundColor\": getSpecificColor(4, 1),\n // interactive-accent should be used for interactive elements in accent color themes.\n \"interactive-accent.contained.backgroundColor\": getSpecificColor(6, 3),\n \"interactive.contained.backgroundColor:hover\": getSpecificColor(6, 4),\n \"interactive-accent.contained.backgroundColor:hover\": getSpecificColor(\n 7,\n 2,\n ),\n \"interactive.contained.backgroundColor:focus\": getSpecificColor(6, 4),\n \"interactive-accent.contained.backgroundColor:focus\": getSpecificColor(\n 7,\n 2,\n ),\n \"interactive.contained.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive-accent.contained.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive.contained.backgroundColor:press\": getSpecificColor(6, 5),\n \"interactive-accent.contained.backgroundColor:press\": getSpecificColor(\n 7,\n 2,\n ),\n \"interactive.contained.backgroundColor:disabled\": getSpecificGrayScaleColor(\n 5,\n 5,\n ),\n \"interactive-accent.contained.backgroundColor:disabled\":\n getSpecificGrayScaleColor(5, 3),\n\n \"interactive.outlined.borderColor\": getSpecificColor(7, 7),\n \"interactive-accent.outlined.borderColor\": getSpecificColor(7, 7),\n \"interactive.outlined.borderColor:hover\": getSpecificColor(8, 8),\n \"interactive-accent.outlined.borderColor:hover\": getSpecificColor(8, 8),\n \"interactive.outlined.borderColor:focus\": getSpecificColor(8, 8),\n \"interactive-accent.outlined.borderColor:focus\": getSpecificColor(8, 8),\n \"interactive.outlined.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive-accent.outlined.outlineColor:focus\": getSpecificColor(7, 7),\n \"interactive.outlined.borderColor:press\": getSpecificColor(8, 8),\n \"interactive-accent.outlined.borderColor:press\": getSpecificColor(8, 8),\n \"interactive.outlined.borderColor:disabled\": getSpecificGrayScaleColor(\n 6,\n 6,\n ),\n \"interactive-accent.outlined.borderColor:disabled\":\n getSpecificGrayScaleColor(6, 6),\n } satisfies FullTheme;\n\n if (process.env.NODE_ENV === \"development\") {\n // Check main text contrast\n warnOnContrastIssues(\n themeName,\n theme[\"text-sharp\"].val,\n theme[\"bg-screen\"].val,\n );\n warnOnContrastIssues(\n themeName,\n theme[\"text-sharp\"].val,\n theme[\"bg-surface\"].val,\n );\n warnOnContrastIssues(\n themeName,\n theme[\"text-muted\"].val,\n theme[\"bg-surface\"].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 dark: customCreateColorTheme(alouetteTokens, \"grayscale\", \"dark\"),\n light: customCreateColorTheme(alouetteTokens, \"grayscale\", \"light\"),\n\n dark_brand: customCreateColorTheme(alouetteTokens, \"brand\", \"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\n light_brand: customCreateColorTheme(alouetteTokens, \"brand\", \"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 } 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\nexport type AlouetteColorScaleNumber = IntRange<1, 12>;\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 brand: \"brand\";\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","import { createColorScale } from \"./colorScales\";\nimport type { AlouetteColorScales } from \"./colorScales\";\n\nexport const defaultColorScales: AlouetteColorScales = {\n \"grayscale.light\": createColorScale({\n 1: \"#FFFFFF\",\n 2: \"#F5F5F5\",\n 3: \"#EBEBEB\",\n 4: \"#E0E0E0\",\n 5: \"#C7C7C7\",\n 6: \"#B8B8B8\",\n 7: \"#8F8F8F\",\n 8: \"#616161\",\n 9: \"#474747\",\n 10: \"#2E2E2E\",\n 11: \"#141414\",\n }),\n \"grayscale.dark\": createColorScale({\n 1: \"#0F0F0F\",\n 2: \"#1F1F1F\",\n 3: \"#292929\",\n 4: \"#333333\",\n 5: \"#3D3D3D\",\n 6: \"#474747\",\n 7: \"#525252\",\n 8: \"#A8A8A8\",\n 9: \"#C2C2C2\",\n 10: \"#DBDBDB\",\n 11: \"#F5F5F5\",\n }),\n \"brand.light\": createColorScale({\n 1: \"#F7FBFD\",\n 2: \"#EFF8FB\",\n 3: \"#DFF1F6\",\n 4: \"#C7EEF9\",\n 5: \"#99DFF5\",\n 6: \"#7DD7F2\",\n 7: \"#23C8FB\",\n 8: \"#0493BE\",\n 9: \"#024D64\",\n 10: \"#012732\",\n 11: \"#011F28\",\n }),\n \"brand.dark\": createColorScale({\n 1: \"#071418\",\n 2: \"#0D2830\",\n 3: \"#123540\",\n 4: \"#104E60\",\n 5: \"#135C72\",\n 6: \"#156A84\",\n 7: \"#1E94B8\",\n 8: \"#5CD1F5\",\n 9: \"#8CDFF8\",\n 10: \"#BCECFB\",\n 11: \"#D9F4FD\",\n }),\n \"danger.light\": createColorScale({\n 1: \"#FDF7F7\",\n 2: \"#FBEFEF\",\n 3: \"#F6E0DF\",\n 4: \"#FBD2D0\",\n 5: \"#F7A4A1\",\n 6: \"#F48985\",\n 7: \"#FB342D\",\n 8: \"#C80B04\",\n 9: \"#6E0602\",\n 10: \"#3C0301\",\n 11: \"#280201\",\n }),\n \"danger.dark\": createColorScale({\n 1: \"#180707\",\n 2: \"#300F0D\",\n 3: \"#401312\",\n 4: \"#691411\",\n 5: \"#7B1714\",\n 6: \"#8C1B17\",\n 7: \"#C1251F\",\n 8: \"#F56A66\",\n 9: \"#F89996\",\n 10: \"#FBC7C5\",\n 11: \"#FDDAD9\",\n }),\n \"info.light\": createColorScale({\n 1: \"#F7FBFD\",\n 2: \"#EFF8FB\",\n 3: \"#DFF0F6\",\n 4: \"#C7EDF9\",\n 5: \"#99DEF5\",\n 6: \"#7DD5F2\",\n 7: \"#23C5FB\",\n 8: \"#048FBE\",\n 9: \"#024B64\",\n 10: \"#012632\",\n 11: \"#011E28\",\n }),\n \"info.dark\": createColorScale({\n 1: \"#071418\",\n 2: \"#0D2730\",\n 3: \"#123440\",\n 4: \"#104C60\",\n 5: \"#135A72\",\n 6: \"#156884\",\n 7: \"#1E92B8\",\n 8: \"#5CCEF5\",\n 9: \"#8CDDF8\",\n 10: \"#BCEBFB\",\n 11: \"#D9F4FD\",\n }),\n \"success.light\": createColorScale({\n 1: \"#F7FDF7\",\n 2: \"#EFFBEF\",\n 3: \"#DFF6DF\",\n 4: \"#C7F9C7\",\n 5: \"#99F599\",\n 6: \"#7DF27D\",\n 7: \"#23FB23\",\n 8: \"#04BE04\",\n 9: \"#025002\",\n 10: \"#011E01\",\n 11: \"#012801\",\n }),\n \"success.dark\": createColorScale({\n 1: \"#071807\",\n 2: \"#0D300D\",\n 3: \"#124012\",\n 4: \"#106010\",\n 5: \"#137213\",\n 6: \"#158415\",\n 7: \"#1EB81E\",\n 8: \"#5CF55C\",\n 9: \"#8CF88C\",\n 10: \"#BCFBBC\",\n 11: \"#D9FDD9\",\n }),\n \"warning.light\": createColorScale({\n 1: \"#FDFBF7\",\n 2: \"#FBF7EF\",\n 3: \"#F6EEDF\",\n 4: \"#F6E1B6\",\n 5: \"#F0CE89\",\n 6: \"#EDC36E\",\n 7: \"#FAAC0F\",\n 8: \"#AA7203\",\n 9: \"#281B01\",\n 10: \"#F6F900\",\n 11: \"#281B01\",\n }),\n \"warning.dark\": createColorScale({\n 1: \"#181207\",\n 2: \"#30240D\",\n 3: \"#403012\",\n 4: \"#4F390D\",\n 5: \"#604610\",\n 6: \"#725213\",\n 7: \"#A7781B\",\n 8: \"#F3BB49\",\n 9: \"#F6CD79\",\n 10: \"#F9DFA9\",\n 11: \"#FDF1D9\",\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 selectionStyles: (theme) => {\n return {\n backgroundColor: theme.selectionBackgroundColor,\n };\n },\n },\n components: [\"alouette\"],\n } as const);\n};\n"],"names":["createAnimations","createFont","createTokens","createTamagui"],"mappings":"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"}
@@ -202,8 +202,9 @@ const createAlouetteTokens = (colorScales, { spacing = 16 } = {}) => {
202
202
  // previous $8 or $md
203
203
  "3.0": spacing * 3,
204
204
  // previous $12
205
- "4.0": spacing * 4
205
+ "4.0": spacing * 4,
206
206
  // previous $16 or $lg
207
+ "8.0": spacing * 8
207
208
  },
208
209
  // size: { ...sizes },
209
210
  size: {},