"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // native/theme.ts var theme_exports = {}; __export(theme_exports, { createNativeTheme: () => createNativeTheme, getThemeColors: () => getThemeColors, getThemeVariants: () => getThemeVariants, isValidThemeVariant: () => isValidThemeVariant }); module.exports = __toCommonJS(theme_exports); // src/colors.ts var baseColors = { // Pure colors black: "#000000", white: "#ffffff", // Grays gray: { 50: "#f9fafb", 100: "#f3f4f6", 200: "#e5e7eb", 300: "#d1d5db", 400: "#9ca3af", 500: "#6b7280", 600: "#4b5563", 700: "#374151", 800: "#1f2937", 900: "#111827", 950: "#0a0a0a" }, // Indigo (Default primary) indigo: { 200: "#c7d2fe", 300: "#a5b4fc", 400: "#818cf8", 500: "#6366f1", 600: "#4f46e5", 700: "#4338ca", 800: "#3730a3" }, // Violet (Default secondary) violet: { 300: "#c4b5fd", 400: "#a78bfa", 500: "#8b5cf6", 600: "#7c3aed" }, // Orange (Sunset theme) orange: { 300: "#fdba74", 400: "#fb923c", 500: "#f97316", 600: "#ea580c" }, // Pink (Sunset theme) pink: { 300: "#f9a8d4", 400: "#f472b6", 500: "#ec4899", 600: "#db2777" }, // Sky (Ocean theme) sky: { 300: "#7dd3fc", 400: "#38bdf8", 500: "#0ea5e9", 600: "#0284c7" }, // Emerald (Ocean theme + status) emerald: { 300: "#6ee7b7", 400: "#34d399", 500: "#10b981", 600: "#059669" }, // Status colors red: { 500: "#ef4444", 600: "#dc2626" }, amber: { 500: "#f59e0b" }, blue: { 500: "#3b82f6" } }; var semanticColors = { /** * Dark mode colors */ dark: { // Backgrounds background: baseColors.black, surface: "#1a1a1a", elevated: "#242424", overlay: "rgba(0, 0, 0, 0.8)", // Borders & Dividers border: "#383838", divider: "#2a2a2a", // Input fields input: { background: "#1f1f1f", border: "#383838", text: baseColors.gray[100], placeholder: baseColors.gray[500] }, // Text colors text: { primary: baseColors.gray[100], secondary: baseColors.gray[300], tertiary: baseColors.gray[400], disabled: baseColors.gray[500], inverse: baseColors.black }, // Primary brand color (Indigo) primary: { default: baseColors.indigo[400], hover: baseColors.indigo[300], active: baseColors.indigo[500], light: baseColors.indigo[200], dark: baseColors.indigo[600], contrast: baseColors.white }, // Secondary accent color (Violet) secondary: { default: baseColors.violet[400], light: baseColors.violet[300], dark: baseColors.violet[500], contrast: baseColors.white }, // Status colors success: baseColors.emerald[500], warning: baseColors.amber[500], error: baseColors.red[500], info: baseColors.blue[500], // Semantic colors favorite: baseColors.red[500], like: baseColors.red[500], tag: baseColors.indigo[400], // Special UI elements skeleton: "#2a2a2a", shimmer: "#383838" }, /** * Light mode colors */ light: { // Backgrounds background: baseColors.white, surface: baseColors.gray[50], elevated: baseColors.white, overlay: "rgba(0, 0, 0, 0.5)", // Borders & Dividers border: baseColors.gray[200], divider: baseColors.gray[100], // Input fields input: { background: baseColors.white, border: baseColors.gray[300], text: baseColors.gray[900], placeholder: baseColors.gray[400] }, // Text colors text: { primary: baseColors.gray[900], secondary: baseColors.gray[700], tertiary: baseColors.gray[500], disabled: baseColors.gray[400], inverse: baseColors.white }, // Primary brand color (Indigo) primary: { default: baseColors.indigo[500], hover: baseColors.indigo[600], active: baseColors.indigo[700], light: baseColors.indigo[400], dark: baseColors.indigo[800], contrast: baseColors.white }, // Secondary accent color (Violet) secondary: { default: baseColors.violet[500], light: baseColors.violet[400], dark: baseColors.violet[600], contrast: baseColors.white }, // Status colors success: baseColors.emerald[500], warning: baseColors.amber[500], error: baseColors.red[500], info: baseColors.blue[500], // Semantic colors favorite: baseColors.red[500], like: baseColors.red[500], tag: baseColors.indigo[500], // Special UI elements skeleton: baseColors.gray[200], shimmer: baseColors.gray[100] } }; // src/shadows.ts var shadows = { dark: { sm: { shadowColor: "#000", shadowOffset: { width: 0, height: 1 }, shadowOpacity: 0.2, shadowRadius: 2, elevation: 2 // Android }, md: { shadowColor: "#000", shadowOffset: { width: 0, height: 4 }, shadowOpacity: 0.3, shadowRadius: 6, elevation: 4 }, lg: { shadowColor: "#000", shadowOffset: { width: 0, height: 10 }, shadowOpacity: 0.4, shadowRadius: 15, elevation: 8 } }, light: { sm: { shadowColor: "#000", shadowOffset: { width: 0, height: 1 }, shadowOpacity: 0.1, shadowRadius: 2, elevation: 2 }, md: { shadowColor: "#000", shadowOffset: { width: 0, height: 4 }, shadowOpacity: 0.15, shadowRadius: 6, elevation: 4 }, lg: { shadowColor: "#000", shadowOffset: { width: 0, height: 10 }, shadowOpacity: 0.2, shadowRadius: 15, elevation: 8 } } }; var opacity = { disabled: 0.5, overlay: 0.8, hover: 0.9, pressed: 0.7 }; // src/themes/default.ts var defaultTheme = { name: "default", displayName: "Indigo", colors: { light: semanticColors.light, dark: semanticColors.dark }, shadows, opacity }; // src/themes/sunset.ts var sunsetTheme = { name: "sunset", displayName: "Sunset", colors: { light: semanticColors.light, // Uses default light mode dark: { ...semanticColors.dark, // Override backgrounds for warmer tone background: "#0a0a0a", surface: "#1f1410", elevated: "#2a1f1a", // Override borders border: "#3d2f28", divider: "#2a1f1a", // Override input input: { background: "#1a1410", border: "#3d2f28", text: "#fef3c7", // amber-100 placeholder: "#92400e" // amber-800 }, // Override text colors (warmer) text: { primary: "#fef3c7", // amber-100 secondary: "#fcd34d", // amber-300 tertiary: "#f59e0b", // amber-500 disabled: "#92400e", // amber-800 inverse: "#0a0a0a" }, // Primary: Orange primary: { default: baseColors.orange[400], hover: baseColors.orange[300], active: baseColors.orange[500], light: "#fed7aa", // orange-200 dark: baseColors.orange[600], contrast: baseColors.white }, // Secondary: Pink secondary: { default: baseColors.pink[400], light: baseColors.pink[300], dark: baseColors.pink[500], contrast: baseColors.white }, // Status success: baseColors.emerald[500], warning: "#fbbf24", // amber-400 error: "#f43f5e", // rose-500 info: "#60a5fa", // blue-400 // Semantic favorite: "#f43f5e", // rose-500 like: "#f43f5e", // rose-500 tag: baseColors.orange[400], // Special skeleton: "#2a1f1a", shimmer: "#3d2f28" } }, shadows, opacity }; // src/themes/ocean.ts var oceanColors = { teal: { 200: "#99f6e4", 300: "#5eead4", 400: "#2dd4bf", 500: "#14b8a6", 600: "#0d9488" }, cyan: { 300: "#67e8f9", 400: "#22d3ee", 500: "#06b6d4" }, slate: { 700: "#334155", 800: "#1e293b", 900: "#0f172a", 950: "#020617" } }; var oceanTheme = { name: "ocean", displayName: "Ocean", colors: { light: semanticColors.light, // Uses default light mode dark: { ...semanticColors.dark, // Override backgrounds for cooler tone background: oceanColors.slate[950], surface: oceanColors.slate[900], elevated: oceanColors.slate[800], // Override borders border: oceanColors.slate[700], divider: oceanColors.slate[800], // Override input input: { background: oceanColors.slate[900], border: oceanColors.slate[700], text: "#e0f2fe", // sky-100 placeholder: "#0c4a6e" // sky-900 }, // Override text colors (cooler) text: { primary: "#e0f2fe", // sky-100 secondary: "#7dd3fc", // sky-300 tertiary: "#38bdf8", // sky-400 disabled: "#0c4a6e", // sky-900 inverse: oceanColors.slate[950] }, // Primary: Teal primary: { default: oceanColors.teal[400], hover: oceanColors.teal[300], active: oceanColors.teal[500], light: oceanColors.teal[200], dark: oceanColors.teal[600], contrast: baseColors.white }, // Secondary: Cyan secondary: { default: oceanColors.cyan[400], light: oceanColors.cyan[300], dark: oceanColors.cyan[500], contrast: baseColors.white }, // Status success: baseColors.emerald[500], warning: "#fbbf24", // amber-400 error: "#f43f5e", // rose-500 info: "#0ea5e9", // sky-500 // Semantic favorite: "#f43f5e", // rose-500 like: "#f43f5e", // rose-500 tag: oceanColors.teal[400], // Special skeleton: oceanColors.slate[800], shimmer: oceanColors.slate[700] } }, shadows, opacity }; // src/themes/index.ts var themes = { default: defaultTheme, sunset: sunsetTheme, ocean: oceanTheme }; // src/spacing.ts var spacing = { 0: 0, 1: 4, // 0.25rem 2: 8, // 0.5rem 3: 12, // 0.75rem 4: 16, // 1rem 5: 20, // 1.25rem 6: 24, // 1.5rem 7: 28, // 1.75rem 8: 32, // 2rem 9: 36, // 2.25rem 10: 40, // 2.5rem 11: 44, // 2.75rem 12: 48, // 3rem 14: 56, // 3.5rem 16: 64, // 4rem 20: 80, // 5rem 24: 96, // 6rem 28: 112, // 7rem 32: 128 // 8rem }; var borderRadius = { none: 0, sm: 4, DEFAULT: 8, md: 8, lg: 12, xl: 16, "2xl": 24, "3xl": 32, full: 9999 }; // src/typography.ts var fontSize = { xs: 12, sm: 14, base: 16, lg: 18, xl: 20, "2xl": 24, "3xl": 30, "4xl": 36, "5xl": 48, "6xl": 60, "7xl": 72, "8xl": 96 }; var fontWeight = { regular: "400", medium: "500", semibold: "600", bold: "700" }; // native/theme.ts function getThemeColors(variant = "default", mode = "dark") { const theme = themes[variant]; return theme.colors[mode]; } function createNativeTheme(variant = "default", mode = "dark") { const theme = themes[variant]; const colors = theme.colors[mode]; const shadows2 = theme.shadows[mode]; return { variant, mode, colors, spacing, borderRadius, fontSize, fontWeight, shadows: shadows2, opacity: theme.opacity }; } function getThemeVariants() { return Object.keys(themes); } function isValidThemeVariant(variant) { return variant in themes; } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { createNativeTheme, getThemeColors, getThemeVariants, isValidThemeVariant });