{"version":3,"sources":["../../src/theme/generated-colors.ts","../../src/theme/colors.ts","../../src/theme/index.ts","../../src/theme/provider.tsx"],"names":["baseColors","createTheme"],"mappings":"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","file":"provider.mjs","sourcesContent":["// Generated Color System\n// Auto-generated by generate-colors.ts\nexport const baseColors = {\n  // PRIMARY COLORS\n  // Primary brand color based on logo palette\n  orange: {\n    50: '#fff7ed', // Subtle backgrounds - HSL: 33,10000,9600\n    100: '#ffeed8', // Hover states - HSL: 34,10000,9200\n    200: '#ffdbb0', // Borders - HSL: 33,10000,8500\n    300: '#ffc888', // Icons - HSL: 32,10000,7700\n    400: '#ffb55f', // Secondary actions - HSL: 32,10000,6900\n    500: '#ff990a', // Primary actions - HSL: 35,10000,5200\n    600: '#e38607', // Hover - HSL: 35,9400,4600\n    700: '#c87304', // Active - HSL: 34,9600,4000\n    800: '#ad6102', // Dark variant - HSL: 33,9800,3400\n    900: '#935001', // Extra dark - HSL: 32,9900,2900\n    950: '#7a3f00', // Maximum contrast - HSL: 31,10000,2400\n  },\n\n  // NEUTRAL COLORS\n  // Brand neutral colors from light to dark palette\n  neutral: {\n    50: '#ececec', // Background, cards - HSL: 0,0,9300\n    100: '#e1e1e1', // Subtle backgrounds - HSL: 0,0,8800\n    200: '#cacaca', // Borders, dividers - HSL: 0,0,7900\n    300: '#b4b4b4', // Disabled states - HSL: 0,0,7100\n    400: '#9f9f9f', // Placeholder text - HSL: 0,0,6200\n    500: '#808080', // Secondary text - HSL: 0,0,5000\n    600: '#696969', // Body text - HSL: 0,0,4100\n    700: '#535353', // Headings - HSL: 0,0,3300\n    800: '#3e3e3e', // High contrast text - HSL: 0,0,2400\n    900: '#2a2a2a', // Extra high contrast - HSL: 0,0,1600\n    950: '#171717', // Maximum contrast - HSL: 0,0,900\n  },\n\n  // Grayscale for UI elements palette\n  gray: {\n    50: '#f9f9f9', // Background, cards - HSL: 0,0,9800\n    100: '#f0f0f1', // Subtle backgrounds - HSL: 240,300,9400\n    200: '#dedee1', // Borders, dividers - HSL: 240,500,8800\n    300: '#ccccd1', // Disabled states - HSL: 240,500,8100\n    400: '#bbbbc1', // Placeholder text - HSL: 240,500,7500\n    500: '#a1a1aa', // Secondary text - HSL: 240,500,6500\n    600: '#83838a', // Body text - HSL: 240,300,5300\n    700: '#66666c', // Headings - HSL: 240,300,4100\n    800: '#4a4a4f', // High contrast text - HSL: 240,300,3000\n    900: '#303034', // Extra high contrast - HSL: 240,400,2000\n    950: '#18181b', // Maximum contrast - HSL: 240,600,1000\n  },\n\n  // SEMANTIC COLORS\n  // Error and danger states palette\n  red: {\n    50: '#fef2f2', // HSL: 0,8600,9700\n    100: '#ffe2df', // HSL: 6,10000,9400\n    200: '#ffc2ba', // HSL: 7,10000,8600\n    300: '#ffa297', // HSL: 6,10000,8000\n    400: '#fb8074', // HSL: 5,9400,7200\n    500: '#ef4444', // HSL: 0,8400,6000\n    600: '#ca3738', // HSL: 360,5800,5000\n    700: '#a72b2d', // HSL: 359,5900,4100\n    800: '#842022', // HSL: 359,6100,3200\n    900: '#641517', // HSL: 358,6500,2400\n    950: '#450a0a', // HSL: 0,7500,1500\n  },\n\n  // Success states palette\n  green: {\n    50: '#f0fdf4', // HSL: 138,7600,9700\n    100: '#e0f8e5', // HSL: 133,6300,9300\n    200: '#beedc6', // HSL: 130,5700,8400\n    300: '#9be2a8', // HSL: 131,5500,7500\n    400: '#76d78b', // HSL: 133,5500,6500\n    500: '#22c55e', // HSL: 142,7100,4500\n    600: '#1ca44f', // HSL: 143,7100,3800\n    700: '#168440', // HSL: 143,7100,3000\n    800: '#106631', // HSL: 143,7300,2300\n    900: '#0a4923', // HSL: 144,7600,1600\n    950: '#052e16', // HSL: 145,8000,1000\n  },\n\n  // Warning states palette\n  yellow: {\n    50: '#fefce8', // HSL: 55,9200,9500\n    100: '#fef4d5', // HSL: 45,9500,9200\n    200: '#fde6ae', // HSL: 43,9500,8400\n    300: '#f9d788', // HSL: 42,9000,7500\n    400: '#f4c860', // HSL: 42,8700,6700\n    500: '#eab308', // HSL: 45,9300,4700\n    600: '#c6930e', // HSL: 43,8700,4200\n    700: '#a37410', // HSL: 41,8200,3500\n    800: '#81560f', // HSL: 37,7900,2800\n    900: '#613a0d', // HSL: 32,7600,2200\n    950: '#422006', // HSL: 26,8300,1400\n  },\n\n  // ACCENT COLORS\n  // Secondary brand color for accent use palette\n  blue: {\n    50: '#f0f7ff', // HSL: 212,10000,9700\n    100: '#e1ebff', // HSL: 220,10000,9400\n    200: '#c1d3ff', // HSL: 223,10000,8800\n    300: '#9fbcff', // HSL: 222,10000,8100\n    400: '#78a5ff', // HSL: 220,10000,7400\n    500: '#0a85ff', // HSL: 210,10000,5200\n    600: '#0775e3', // HSL: 210,9400,4600\n    700: '#0466c7', // HSL: 210,9600,4000\n    800: '#0257ac', // HSL: 210,9800,3400\n    900: '#014992', // HSL: 210,9900,2900\n    950: '#003b79', // HSL: 211,10000,2400\n  },\n};\n","/**\n * Color System for unich-ui-kit-web\n *\n * Design Principles:\n * 1. Hierarchical: Clear primary/secondary/accent color hierarchy\n * 2. Semantic: Colors convey meaning and function\n * 3. Accessible: WCAG 2.1 AA compliant contrast ratios\n * 4. Systematic: Consistent shade progression (50-950)\n * 5. Harmonious: Colors work together in various combinations\n */\n\n// Import generated colors\nimport { baseColors as generatedColors } from './generated-colors';\n\n// Base color palette - using generated colors from user's brand colors\nexport const baseColors = {\n  // Neutral - Brand neutral colors from light to dark\n  neutral: generatedColors.neutral,\n\n  // Primary - Brand orange from logo\n  orange: generatedColors.orange,\n\n  // Secondary - Brand blue accent color\n  blue: generatedColors.blue,\n\n  // Grayscale UI elements\n  gray: generatedColors.gray,\n\n  // Error & Danger\n  red: generatedColors.red,\n\n  // Success\n  green: generatedColors.green,\n\n  // Warning\n  yellow: generatedColors.yellow,\n};\n\n/**\n * Semantic color mappings for UI elements and states\n * Organized by function and context for intuitive usage\n */\nexport const semanticColors = {\n  // Core UI Colors\n  primary: baseColors.orange, // Main brand color from logo (#FF990A)\n  secondary: baseColors.blue, // Secondary brand color (#0A85FF)\n  tertiary: baseColors.gray, // Additional UI options\n\n  // State & Feedback\n  success: baseColors.green, // Positive actions, completion\n  info: baseColors.blue, // Information, help\n  warning: baseColors.yellow, // Caution, important notices\n  error: baseColors.red, // Errors, destructive actions\n\n  // UI Elements\n  neutral: baseColors.neutral, // Text, backgrounds, borders\n  accent: baseColors.blue, // Highlights, focus states\n\n  // Special Purpose\n  highlight: baseColors.yellow, // Attention-grabbing elements\n  link: baseColors.blue, // Interactive text\n  border: baseColors.gray, // Borders and dividers\n  background: {\n    // Background hierarchy\n    page: baseColors.neutral[50], // Light background (#ECECEC)\n    card: baseColors.neutral[100],\n    active: baseColors.neutral[200],\n    dark: baseColors.neutral[950], // Dark background (#171717)\n  },\n  text: {\n    // Text hierarchy\n    primary: baseColors.neutral[900],\n    secondary: baseColors.neutral[700],\n    tertiary: baseColors.neutral[500],\n    disabled: baseColors.neutral[400],\n    onDark: baseColors.neutral[50], // Text on dark background\n  },\n};\n\n/**\n * Export the main colors object for Mantine compatibility\n */\nexport const colors = {\n  ...baseColors,\n};\n\n// Type definitions for semantic colors\nexport interface ColorShades {\n  50: string;\n  100: string;\n  200: string;\n  300: string;\n  400: string;\n  500: string;\n  600: string;\n  700: string;\n  800: string;\n  900: string;\n  950: string;\n}\n\nexport interface BackgroundColors {\n  page: string;\n  card: string;\n  active: string;\n  dark: string;\n}\n\nexport interface TextColors {\n  primary: string;\n  secondary: string;\n  tertiary: string;\n  disabled: string;\n  onDark: string;\n}\n\nexport type SemanticColor = ColorShades | BackgroundColors | TextColors | string;\n\n/**\n * Helper function to get a specific semantic color shade\n * @param colorName - The semantic color name\n * @param shade - The shade value (50-950)\n * @returns The hex color value\n */\nexport const getSemanticColor = (\n  colorName: keyof typeof semanticColors,\n  shade: 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 950 = 500\n): string => {\n  const color = semanticColors[colorName] as SemanticColor;\n\n  // Handle direct string values\n  if (typeof color === 'string') return color;\n\n  // Handle nested objects (like background and text)\n  if (typeof color === 'object') {\n    // If it's a color palette object with shades\n    if ('50' in color) {\n      return (color as ColorShades)[shade];\n    }\n\n    // If it's a semantic object (like background or text)\n    // Just return the first property value as a fallback\n    const keys = Object.keys(color);\n    if (keys.length > 0) {\n      // Type assertion to unknown first for safety\n      return (color as unknown as Record<string, string>)[keys[0]];\n    }\n  }\n\n  return '';\n};\n","import { createTheme, MantineThemeOverride, rem } from '@mantine/core';\nimport { baseColors, semanticColors } from './colors';\nexport * from './colors';\n\n// Convert color palette objects to arrays for Mantine\nconst convertPaletteToArray = (\n  palette: Record<string, string>\n): [string, string, string, string, string, string, string, string, string, string, string] => {\n  return [\n    palette['50'] || palette['100'],\n    palette['100'],\n    palette['200'],\n    palette['300'],\n    palette['400'],\n    palette['500'],\n    palette['600'],\n    palette['700'],\n    palette['800'],\n    palette['900'],\n    palette['950'],\n  ];\n};\n\n/**\n * Default UI Kit theme with semantically organized colors\n * and standardized components based on brand colors:\n * - #FF990A (orange) as main color in logo\n * - #ECECEC (white) as light color in logo text\n * - #171717 (dark) as dark color for backgrounds\n * - #0A85FF (blue) as accent color\n */\nexport const theme: MantineThemeOverride = createTheme({\n  // Use orange as primary color (matches our main logo color)\n  primaryColor: 'orange',\n  defaultRadius: 'xs',\n  fontFamily: 'Montserrat, sans-serif',\n  fontFamilyMonospace: 'Monaco, Courier, monospace',\n  // Use shade 5 (which corresponds to 500) as default\n  primaryShade: { light: 5, dark: 5 },\n  cursorType: 'pointer',\n  autoContrast: true,\n  luminanceThreshold: 0.2,\n\n  // Enhanced typography settings\n  headings: {\n    fontFamily: 'Montserrat, sans-serif',\n    fontWeight: '600',\n    sizes: {\n      h1: { fontSize: rem(36), lineHeight: '1.4', fontWeight: '700' },\n      h2: { fontSize: rem(30), lineHeight: '1.4', fontWeight: '600' },\n      h3: { fontSize: rem(24), lineHeight: '1.4', fontWeight: '600' },\n      h4: { fontSize: rem(20), lineHeight: '1.4', fontWeight: '500' },\n      h5: { fontSize: rem(16), lineHeight: '1.4', fontWeight: '500' },\n      h6: { fontSize: rem(14), lineHeight: '1.4', fontWeight: '500' },\n    },\n  },\n\n  // Enhanced spacing system\n  spacing: {\n    xs: rem(4), // Compact elements\n    sm: rem(8), // Tight spacing\n    md: rem(16), // Standard spacing\n    lg: rem(24), // Relaxed spacing\n    xl: rem(32), // Section spacing\n    '2xl': rem(48), // Large sections\n    '3xl': rem(64), // Page sections\n  },\n\n  // Custom shadows for depth\n  shadows: {\n    xs: '0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.1)',\n    sm: '0 1px 3px rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0px 2px 4px',\n    md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',\n    lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\n    xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',\n  },\n\n  // Enhanced focus ring for better accessibility\n  focusRing: 'auto',\n\n  // Configure all the color palettes for Mantine\n  colors: {\n    // Base colors\n    neutral: convertPaletteToArray(baseColors.neutral),\n    orange: convertPaletteToArray(baseColors.orange),\n    blue: convertPaletteToArray(baseColors.blue),\n    gray: convertPaletteToArray(baseColors.gray),\n    red: convertPaletteToArray(baseColors.red),\n    yellow: convertPaletteToArray(baseColors.yellow),\n    green: convertPaletteToArray(baseColors.green),\n  },\n\n  // Component-specific styles\n  components: {\n    Button: {\n      defaultProps: {\n        radius: 'sm',\n      },\n      styles: {\n        root: {\n          transition: 'all 0.2s ease',\n          '&:hover': {\n            transform: 'translateY(-1px)',\n          },\n        },\n      },\n    },\n    Card: {\n      defaultProps: {\n        radius: 'md',\n        shadow: 'sm',\n      },\n    },\n    Alert: {\n      styles: {\n        root: {\n          borderRadius: 'var(--mantine-radius-md)',\n        },\n      },\n    },\n  },\n});\n\n/**\n * Theme variants for specific brand identities\n * or alternative color schemes\n */\nexport const themeVariants = {\n  // Brand Theme - Orange primary (logo color)\n  brand: theme,\n\n  // Dark Brand Theme - Dark background with orange primary\n  darkBrand: createTheme({\n    ...theme,\n    primaryColor: 'orange',\n    // For dark mode, handle this via MantineProvider's colorScheme prop\n    colors: {\n      ...theme.colors,\n    },\n  }),\n\n  // Blue Accent Theme - Blue primary\n  blue: createTheme({\n    ...theme,\n    primaryColor: 'blue',\n    colors: {\n      ...theme.colors,\n    },\n  }),\n\n  // Neutral Theme - Gray primary\n  gray: createTheme({\n    ...theme,\n    primaryColor: 'gray',\n    colors: {\n      ...theme.colors,\n    },\n  }),\n\n  // Legacy default theme\n  default: theme,\n};\n\n/**\n * Semantic color reference for use in custom styling\n * Example: useStyles = createStyles((theme) => ({\n *   successText: { color: getThemeColor(theme, 'success') }\n * }))\n */\nexport const getThemeColor = (\n  theme: MantineThemeOverride,\n  semantic: keyof typeof semanticColors,\n  shade: 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 950 = 500\n): string => {\n  const colorName =\n    semantic === 'primary'\n      ? theme.primaryColor || 'orange'\n      : Object.keys(semanticColors).find(key => key === semantic);\n\n  if (!colorName) return '';\n\n  // Get the matched index in the Mantine theme colors array\n  // Mantine uses index 0-10 for its color shades\n  const shadeIndex = {\n    50: 0,\n    100: 1,\n    200: 2,\n    300: 3,\n    400: 4,\n    500: 5,\n    600: 6,\n    700: 7,\n    800: 8,\n    900: 9,\n    950: 10,\n  }[shade];\n\n  return theme.colors?.[colorName as string]?.[shadeIndex] || '';\n};\n\n// Export everything\nexport { convertPaletteToArray, theme as default };\n","import React from 'react';\nimport { MantineProvider, MantineProviderProps, createTheme } from '@mantine/core';\nimport { theme, themeVariants } from './index';\n\n/**\n * Theme variant options available in the UI Kit\n */\nexport type ThemeVariant = keyof typeof themeVariants;\n\ninterface ThemeProviderProps extends Omit<MantineProviderProps, 'theme'> {\n  children: React.ReactNode;\n  /** Optional theme overrides */\n  themeOverrides?: Partial<typeof theme>;\n  /** Theme variant selection */\n  variant?: ThemeVariant;\n}\n\n/**\n * Theme provider component that applies the UI kit theme\n * and allows for easy theme customization with semantic colors\n *\n * @example\n * // Basic usage with default brand theme (orange primary)\n * <ThemeProvider>\n *   <App />\n * </ThemeProvider>\n *\n * @example\n * // With blue accent color as primary\n * <ThemeProvider variant=\"blue\">\n *   <App />\n * </ThemeProvider>\n *\n * @example\n * // With dark brand theme\n * <ThemeProvider variant=\"darkBrand\">\n *   <App />\n * </ThemeProvider>\n */\nexport function ThemeProvider({\n  children,\n  themeOverrides,\n  variant = 'brand',\n  ...otherProps\n}: ThemeProviderProps) {\n  // Validate theme variant\n  if (variant && !themeVariants[variant]) {\n    console.warn(`Invalid theme variant \"${variant}\". Falling back to \"brand\" theme.`);\n  }\n\n  // Get the selected theme variant\n  const selectedTheme = themeVariants[variant] || themeVariants.brand;\n\n  // Create the final theme with any overrides\n  const finalTheme = createTheme({\n    ...selectedTheme,\n    ...(themeOverrides || {}),\n  });\n\n  return (\n    <MantineProvider theme={finalTheme} {...otherProps}>\n      {children}\n    </MantineProvider>\n  );\n}\n\n/**\n * Create a custom theme by extending the base theme\n *\n * @example\n * const customTheme = extendTheme({\n *   primaryColor: 'orange',\n *   defaultRadius: 'lg',\n * });\n */\nexport const extendTheme = (themeOverrides: Partial<typeof theme>) => {\n  return createTheme({ ...theme, ...themeOverrides });\n};\n"]}