dash-ui-kit 2.0.0-dev → 2.1.0-dev

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 (73) hide show
  1. package/dist/react/components/badge/index.cjs.js +8 -3
  2. package/dist/react/components/badge/index.cjs.js.map +1 -1
  3. package/dist/react/components/badge/index.d.ts +10 -1
  4. package/dist/react/components/badge/index.esm.js +8 -3
  5. package/dist/react/components/badge/index.esm.js.map +1 -1
  6. package/dist/react/components/button/index.cjs.js +7 -2
  7. package/dist/react/components/button/index.cjs.js.map +1 -1
  8. package/dist/react/components/button/index.d.ts +4 -0
  9. package/dist/react/components/button/index.esm.js +7 -2
  10. package/dist/react/components/button/index.esm.js.map +1 -1
  11. package/dist/react/components/heading/index.cjs.js +7 -2
  12. package/dist/react/components/heading/index.cjs.js.map +1 -1
  13. package/dist/react/components/heading/index.d.ts +4 -1
  14. package/dist/react/components/heading/index.esm.js +7 -2
  15. package/dist/react/components/heading/index.esm.js.map +1 -1
  16. package/dist/react/components/input/index.cjs.js +7 -2
  17. package/dist/react/components/input/index.cjs.js.map +1 -1
  18. package/dist/react/components/input/index.d.ts +4 -0
  19. package/dist/react/components/input/index.esm.js +7 -2
  20. package/dist/react/components/input/index.esm.js.map +1 -1
  21. package/dist/react/components/overlayMenu/index.cjs.js +69 -25
  22. package/dist/react/components/overlayMenu/index.cjs.js.map +1 -1
  23. package/dist/react/components/overlayMenu/index.d.ts +9 -10
  24. package/dist/react/components/overlayMenu/index.esm.js +69 -25
  25. package/dist/react/components/overlayMenu/index.esm.js.map +1 -1
  26. package/dist/react/components/overlaySelect/index.cjs.js +7 -2
  27. package/dist/react/components/overlaySelect/index.cjs.js.map +1 -1
  28. package/dist/react/components/overlaySelect/index.d.ts +4 -0
  29. package/dist/react/components/overlaySelect/index.esm.js +7 -2
  30. package/dist/react/components/overlaySelect/index.esm.js.map +1 -1
  31. package/dist/react/components/progressStepBar/index.cjs.js +7 -2
  32. package/dist/react/components/progressStepBar/index.cjs.js.map +1 -1
  33. package/dist/react/components/progressStepBar/index.d.ts +5 -2
  34. package/dist/react/components/progressStepBar/index.esm.js +7 -2
  35. package/dist/react/components/progressStepBar/index.esm.js.map +1 -1
  36. package/dist/react/components/select/index.cjs.js +7 -2
  37. package/dist/react/components/select/index.cjs.js.map +1 -1
  38. package/dist/react/components/select/index.d.ts +4 -0
  39. package/dist/react/components/select/index.esm.js +7 -2
  40. package/dist/react/components/select/index.esm.js.map +1 -1
  41. package/dist/react/components/text/index.cjs.js +8 -2
  42. package/dist/react/components/text/index.cjs.js.map +1 -1
  43. package/dist/react/components/text/index.d.ts +5 -0
  44. package/dist/react/components/text/index.esm.js +8 -2
  45. package/dist/react/components/text/index.esm.js.map +1 -1
  46. package/dist/react/components/textarea/index.cjs.js +9 -5
  47. package/dist/react/components/textarea/index.cjs.js.map +1 -1
  48. package/dist/react/components/textarea/index.d.ts +4 -0
  49. package/dist/react/components/textarea/index.esm.js +9 -5
  50. package/dist/react/components/textarea/index.esm.js.map +1 -1
  51. package/dist/react/components/valueCard/index.cjs.js +7 -2
  52. package/dist/react/components/valueCard/index.cjs.js.map +1 -1
  53. package/dist/react/components/valueCard/index.d.ts +4 -0
  54. package/dist/react/components/valueCard/index.esm.js +7 -2
  55. package/dist/react/components/valueCard/index.esm.js.map +1 -1
  56. package/dist/react/hooks/index.d.ts +1 -0
  57. package/dist/react/hooks/useColorScheme.cjs.js +25 -0
  58. package/dist/react/hooks/useColorScheme.cjs.js.map +1 -0
  59. package/dist/react/hooks/useColorScheme.d.ts +9 -0
  60. package/dist/react/hooks/useColorScheme.esm.js +23 -0
  61. package/dist/react/hooks/useColorScheme.esm.js.map +1 -0
  62. package/dist/react-native/components/badge/index.d.ts +12 -0
  63. package/dist/react-native/components/button/index.d.ts +6 -0
  64. package/dist/react-native/components/input/index.d.ts +6 -0
  65. package/dist/react-native/components/valueCard/index.d.ts +4 -0
  66. package/dist/react-native/index.cjs.js +39 -13
  67. package/dist/react-native/index.cjs.js.map +1 -1
  68. package/dist/react-native/index.esm.js +39 -14
  69. package/dist/react-native/index.esm.js.map +1 -1
  70. package/dist/react-native/utils/index.d.ts +1 -0
  71. package/dist/react-native/utils/resolveColorScheme.d.ts +1 -0
  72. package/dist/styles.css +1 -1
  73. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/react-native/utils/tw.ts","../../src/react-native/components/text/index.tsx","../../src/react-native/components/heading/index.tsx","../../src/react-native/components/button/index.tsx","../../src/react-native/components/icons/index.tsx","../../src/react-native/components/input/index.tsx","../../src/react-native/components/tabs/index.tsx","../../src/react-native/components/avatar/index.tsx","../../src/react-native/components/badge/index.tsx","../../src/react-native/components/bigNumber/index.tsx","../../src/react-native/utils/clipboard.ts","../../src/react-native/components/copyButton/index.tsx","../../src/react-native/components/notActive/index.tsx","../../src/react-native/components/identifier/index.tsx","../../src/react-native/components/valueCard/index.tsx","../../src/react-native/components/dashLogo/index.tsx","../../src/react-native/components/transactionStatusIcon/index.tsx","../../src/react-native/hooks/useDebounce.ts","../../src/react-native/styles/tokens.ts","../../src/react-native/styles/utils.ts"],"sourcesContent":["/**\n * Tailwind utility for React Native using twrnc\n * Converts Tailwind className strings to React Native style objects\n */\nimport { create } from 'twrnc'\n\n// Inline Tailwind config with Dash brand colors for React Native\n// Colors from src/styles/theme.pcss\nconst tailwindConfig = {\n theme: {\n extend: {\n colors: {\n // Dash brand colors - matching Web version\n 'dash-brand': '#4C7EFF', // Primary brand color\n 'dash-brand-dim': '#96A7FF', // Dimmed brand color\n 'dash-brand-dark': '#4D5895', // Dark brand color\n 'dash-brand-darkness': '#13172A', // Darkest brand color\n 'dash-mint': '#60F6D2', // Mint/teal color\n 'dash-mint-hover': '#4DD4B1', // Mint hover state\n 'dash-yellow-light': '#FEF3C7', // Light yellow\n 'dash-yellow': '#FDE68A', // Yellow\n 'dash-primary-die-subdued': '#0c1c3308', // Subdued color with alpha\n 'dash-primary-dark-blue': '#0C1C33', // Dark blue\n // State colors\n 'dash-green': '#40BF40',\n 'dash-red': '#CD2E00',\n 'dash-orange': '#F98F12',\n },\n },\n },\n}\n\n// Create a tailwind instance with React Native compatible colors\nexport const tw = create(tailwindConfig)\n\n/**\n * Helper to convert className string to React Native style object\n * @param className - Tailwind class names string\n * @returns React Native style object\n */\nexport const cn = (className: string) => tw`${className}`\n","import React from 'react'\nimport { Text as RNText, TextProps as RNTextProps, TextStyle } from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\n\nconst textStyles = cva('', {\n variants: {\n variant: {\n body: 'text-base',\n caption: 'text-sm',\n label: 'text-xs',\n },\n weight: {\n regular: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n },\n color: {\n default: 'text-gray-900 dark:text-gray-100',\n blue: 'text-dash-brand',\n red: 'text-red-700 dark:text-red-400',\n gray: 'text-gray-600 dark:text-gray-400',\n },\n italic: {\n false: '',\n true: 'italic',\n },\n underline: {\n false: '',\n true: 'underline',\n },\n lineThrough: {\n false: '',\n true: 'line-through',\n },\n transform: {\n none: '',\n uppercase: 'uppercase',\n capitalize: 'capitalize',\n },\n opacity: {\n 100: 'opacity-100',\n 80: 'opacity-80',\n 60: 'opacity-60',\n 40: 'opacity-40',\n },\n },\n defaultVariants: {\n variant: 'body',\n weight: 'regular',\n color: 'default',\n italic: false,\n underline: false,\n lineThrough: false,\n transform: 'none',\n opacity: 100,\n },\n})\n\ntype TextVariants = VariantProps<typeof textStyles>\n\nexport interface TextProps extends Omit<RNTextProps, 'style'>, TextVariants {\n /** Additional Tailwind classes for styling */\n className?: string\n /** Custom text style (overrides Tailwind classes) */\n style?: TextStyle\n /** Text children */\n children?: React.ReactNode\n}\n\n/**\n * React Native Text component with variants, weights, and styling options.\n * Uses twrnc for Tailwind-like styling converted to React Native styles.\n */\nexport const Text: React.FC<TextProps> = ({\n variant,\n weight,\n color,\n italic,\n underline,\n lineThrough,\n transform,\n opacity,\n className = '',\n style,\n children,\n ...props\n}) => {\n const classes =\n textStyles({\n variant,\n weight,\n color,\n italic,\n underline,\n lineThrough,\n transform,\n opacity,\n }) + (className ? ` ${className}` : '')\n\n // Convert Tailwind classes to React Native style object\n const textStyle = [cn(classes), style].filter(Boolean)\n\n return (\n <RNText style={textStyle} {...props}>\n {children}\n </RNText>\n )\n}\n\nexport default Text\n","import React from 'react'\nimport { Text as RNText, TextProps as RNTextProps, TextStyle } from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\n\nconst headingStyles = cva('font-bold text-gray-900 dark:text-gray-100', {\n variants: {\n level: {\n 1: 'text-4xl',\n 2: 'text-3xl',\n 3: 'text-2xl',\n 4: 'text-xl',\n 5: 'text-lg',\n 6: 'text-base',\n },\n weight: {\n normal: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n extrabold: 'font-extrabold',\n },\n color: {\n default: '',\n black: 'text-black dark:text-white',\n gray: 'text-gray-600 dark:text-gray-300',\n blue: 'text-blue-600 dark:text-blue-400',\n red: 'text-red-600 dark:text-red-400',\n green: 'text-green-600 dark:text-green-400',\n },\n },\n defaultVariants: {\n level: 1,\n weight: 'extrabold',\n color: 'default',\n },\n})\n\ntype HeadingVariants = VariantProps<typeof headingStyles>\n\nexport interface HeadingProps extends Omit<RNTextProps, 'style'>, HeadingVariants {\n /** Semantic level of the heading (1-6) */\n level?: 1 | 2 | 3 | 4 | 5 | 6\n /** Additional Tailwind classes for styling */\n className?: string\n /** Custom text style (overrides Tailwind classes) */\n style?: TextStyle\n /** Text children */\n children: React.ReactNode\n}\n\n/**\n * React Native Heading component with semantic levels and customizable styling.\n * Uses twrnc for Tailwind-like styling converted to React Native styles.\n */\nexport const Heading: React.FC<HeadingProps> = ({\n level,\n weight,\n color,\n className = '',\n style,\n children,\n ...props\n}) => {\n const classes =\n headingStyles({\n level,\n weight,\n color,\n }) + (className ? ` ${className}` : '')\n\n // Convert Tailwind classes to React Native style object\n const headingStyle = [cn(classes), style].filter(Boolean)\n\n return (\n <RNText style={headingStyle} {...props}>\n {children}\n </RNText>\n )\n}\n\nexport default Heading\n","import React from 'react'\nimport {\n Pressable,\n Text,\n ActivityIndicator,\n PressableProps,\n ViewStyle,\n TextStyle,\n} from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\n\nconst buttonStyles = cva(\n 'items-center justify-center flex-row min-h-11 transition-colors border border-transparent',\n {\n variants: {\n variant: {\n solid: '',\n outline: 'border-current bg-transparent',\n ghost: 'bg-transparent border-transparent',\n },\n colorScheme: {\n brand: '',\n mint: '',\n gray: '',\n red: '',\n lightBlue: '',\n lightGray: '',\n white: '',\n halfWhite: '',\n halfBlue: '',\n },\n size: {\n sm: 'px-3 py-2',\n md: 'px-[18px] py-3',\n lg: 'px-6 py-4',\n xl: 'px-[25px] py-5',\n },\n rounded: {\n default: '',\n full: 'rounded-full',\n },\n disabled: {\n false: '',\n true: 'opacity-50',\n },\n },\n compoundVariants: [\n // Border radius per size (when rounded is default)\n {\n size: 'sm',\n rounded: 'default',\n class: 'rounded-[10px]',\n },\n {\n size: 'md',\n rounded: 'default',\n class: 'rounded-[14px]',\n },\n {\n size: 'lg',\n rounded: 'default',\n class: 'rounded-[14px]',\n },\n {\n size: 'xl',\n rounded: 'default',\n class: 'rounded-[16px]',\n },\n // Solid variants - brand\n {\n variant: 'solid',\n colorScheme: 'brand',\n disabled: false,\n class: 'bg-dash-brand',\n },\n {\n variant: 'solid',\n colorScheme: 'mint',\n disabled: false,\n class: 'bg-dash-mint',\n },\n {\n variant: 'solid',\n colorScheme: 'gray',\n disabled: false,\n class: 'bg-gray-200 dark:bg-gray-600',\n },\n {\n variant: 'solid',\n colorScheme: 'red',\n disabled: false,\n class: 'bg-red-200 dark:bg-red-600',\n },\n {\n variant: 'solid',\n colorScheme: 'lightBlue',\n disabled: false,\n class: 'bg-dash-brand/10 dark:bg-dash-brand/20',\n },\n {\n variant: 'solid',\n colorScheme: 'lightGray',\n disabled: false,\n class: 'bg-gray-100 dark:bg-gray-700/20',\n },\n {\n variant: 'solid',\n colorScheme: 'white',\n disabled: false,\n class: 'bg-white',\n },\n {\n variant: 'solid',\n colorScheme: 'halfWhite',\n disabled: false,\n class: 'bg-white/15',\n },\n {\n variant: 'solid',\n colorScheme: 'halfBlue',\n disabled: false,\n class: 'bg-dash-brand/15',\n },\n // Outline variants\n {\n variant: 'outline',\n colorScheme: 'brand',\n class: 'border-dash-brand',\n },\n {\n variant: 'outline',\n colorScheme: 'mint',\n class: 'border-dash-mint',\n },\n {\n variant: 'outline',\n colorScheme: 'gray',\n class: 'border-gray-700 dark:border-gray-300',\n },\n {\n variant: 'outline',\n colorScheme: 'red',\n class: 'border-red-700 dark:border-red-400',\n },\n {\n variant: 'outline',\n colorScheme: 'white',\n class: 'border-white',\n },\n {\n variant: 'outline',\n colorScheme: 'halfWhite',\n class: 'border-white/50',\n },\n {\n variant: 'outline',\n colorScheme: 'halfBlue',\n class: 'border-dash-brand/50',\n },\n ],\n defaultVariants: {\n variant: 'solid',\n colorScheme: 'brand',\n size: 'md',\n rounded: 'default',\n disabled: false,\n },\n }\n)\n\nconst textStyles = cva('font-medium', {\n variants: {\n variant: {\n solid: '',\n outline: '',\n ghost: '',\n },\n colorScheme: {\n brand: '',\n mint: '',\n gray: '',\n red: '',\n lightBlue: '',\n lightGray: '',\n white: '',\n halfWhite: '',\n halfBlue: '',\n },\n size: {\n sm: 'text-sm', // 14px\n md: 'text-base', // 16px\n lg: 'text-base', // 16px\n xl: 'text-lg', // 18px\n },\n },\n compoundVariants: [\n // Solid text colors\n {\n variant: 'solid',\n colorScheme: 'brand',\n class: 'text-white',\n },\n {\n variant: 'solid',\n colorScheme: 'mint',\n class: 'text-black',\n },\n {\n variant: 'solid',\n colorScheme: 'gray',\n class: 'text-gray-700 dark:text-gray-100',\n },\n {\n variant: 'solid',\n colorScheme: 'red',\n class: 'text-red-700 dark:text-red-100',\n },\n {\n variant: 'solid',\n colorScheme: 'lightBlue',\n class: 'text-dash-brand',\n },\n {\n variant: 'solid',\n colorScheme: 'lightGray',\n class: 'text-gray-900 dark:text-gray-300',\n },\n {\n variant: 'solid',\n colorScheme: 'white',\n class: 'text-dash-brand',\n },\n {\n variant: 'solid',\n colorScheme: 'halfWhite',\n class: 'text-white',\n },\n {\n variant: 'solid',\n colorScheme: 'halfBlue',\n class: 'text-dash-brand',\n },\n // Outline text colors\n {\n variant: 'outline',\n colorScheme: 'brand',\n class: 'text-dash-brand',\n },\n {\n variant: 'outline',\n colorScheme: 'mint',\n class: 'text-dash-mint',\n },\n {\n variant: 'outline',\n colorScheme: 'gray',\n class: 'text-gray-700 dark:text-gray-300',\n },\n {\n variant: 'outline',\n colorScheme: 'red',\n class: 'text-red-700 dark:text-red-400',\n },\n {\n variant: 'outline',\n colorScheme: 'white',\n class: 'text-white',\n },\n {\n variant: 'outline',\n colorScheme: 'halfWhite',\n class: 'text-white',\n },\n {\n variant: 'outline',\n colorScheme: 'halfBlue',\n class: 'text-dash-brand',\n },\n // Ghost text colors\n {\n variant: 'ghost',\n colorScheme: 'brand',\n class: 'text-dash-brand',\n },\n ],\n defaultVariants: {\n variant: 'solid',\n colorScheme: 'brand',\n size: 'md',\n },\n})\n\ntype ButtonVariants = Omit<VariantProps<typeof buttonStyles>, 'disabled'>\n\nexport interface ButtonProps extends Omit<PressableProps, 'style'>, ButtonVariants {\n /** Solid, outline, or ghost style */\n variant?: 'solid' | 'outline' | 'ghost'\n /** Color scheme for the button */\n colorScheme?: 'brand' | 'mint' | 'gray' | 'red' | 'lightBlue' | 'lightGray' | 'white' | 'halfWhite' | 'halfBlue'\n /** Size of the button */\n size?: 'sm' | 'md' | 'lg' | 'xl'\n /** Border radius style */\n rounded?: 'default' | 'full'\n /** Whether the button is disabled */\n disabled?: boolean\n /** Whether to show loading indicator */\n loading?: boolean\n /** Additional Tailwind classes for styling */\n className?: string\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n /** Custom text style (overrides Tailwind text classes) */\n textStyle?: TextStyle\n /** Button content */\n children: React.ReactNode\n}\n\n/**\n * React Native Button component with variants, color schemes, sizes, and loading state.\n * Uses Pressable for touch interactions and twrnc for Tailwind styling.\n */\nexport const Button: React.FC<ButtonProps> = ({\n variant,\n colorScheme,\n size,\n rounded,\n disabled = false,\n loading = false,\n className = '',\n style,\n textStyle,\n children,\n onPress,\n ...props\n}) => {\n const isDisabled = disabled || loading\n\n const buttonClasses =\n buttonStyles({\n variant,\n colorScheme,\n size,\n rounded,\n disabled: isDisabled,\n }) + (className ? ` ${className}` : '')\n\n const textClasses = textStyles({\n variant,\n colorScheme,\n size,\n })\n\n // Convert Tailwind classes to React Native style objects\n const buttonStyle = [cn(buttonClasses), style].filter(Boolean)\n const textStyleMerged = [cn(textClasses), textStyle].filter(Boolean)\n\n return (\n <Pressable\n style={({ pressed }) => [\n ...buttonStyle,\n pressed && !isDisabled && { opacity: 0.7 },\n ]}\n disabled={isDisabled}\n onPress={onPress}\n {...props}\n >\n {loading ? (\n <ActivityIndicator\n size=\"small\"\n color={variant === 'solid' && colorScheme === 'brand' ? '#fff' : '#3B82F6'}\n />\n ) : typeof children === 'string' ? (\n <Text style={textStyleMerged}>{children}</Text>\n ) : (\n children\n )}\n </Pressable>\n )\n}\n\nexport default Button\n","import React from 'react'\nimport Svg, { Path, G, Rect, Circle, Defs, ClipPath, Line } from 'react-native-svg'\n\nexport interface IconProps {\n color?: string\n size?: number\n className?: string\n onPress?: () => void\n}\n\nexport const ArrowIcon: React.FC<IconProps> = ({\n color = 'white',\n size = 14,\n onPress\n}) => {\n return (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 9 14'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M7.29297 0.292893C7.68349 -0.0976311 8.31651 -0.0976311 8.70703 0.292893C9.09756 0.683418 9.09756 1.31643 8.70703 1.70696L3.41406 6.99992L8.70703 12.2929L8.77539 12.3691C9.09574 12.7618 9.07315 13.3408 8.70703 13.707C8.34092 14.0731 7.76191 14.0957 7.36914 13.7753L7.29297 13.707L0.585938 6.99992L7.29297 0.292893Z'\n fill={color}\n />\n </Svg>\n )\n}\n\nexport const CopyIcon: React.FC<IconProps> = ({\n color = 'white',\n size = 16,\n onPress\n}) => {\n return (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 16 16'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <G clipPath='url(#clip0_3876_6767)'>\n <G clipPath='url(#clip1_3876_6767)'>\n <G clipPath='url(#clip2_3876_6767)'>\n <Path\n d='M11.4512 10.5645H5.28516V1.75586H9.32335L11.4512 3.88369V10.5645ZM12.332 3.51758L9.68945 0.875H5.28516H4.4043V1.75586V10.5645V11.4453H5.28516H11.4512H12.332V10.5645V3.51758ZM0.880859 4.39844H0V5.2793V14.0879V14.9688H0.880859H7.04688H7.92773V14.0879V12.3262H7.04688V14.0879H0.880859V5.2793H3.52344V4.39844H0.880859Z'\n fill={color}\n />\n </G>\n </G>\n </G>\n <Defs>\n <ClipPath id='clip0_3876_6767'>\n <Rect width='16' height='16' fill='white' />\n </ClipPath>\n <ClipPath id='clip1_3876_6767'>\n <Rect width='16' height='14.25' fill='white' transform='translate(0 0.875)' />\n </ClipPath>\n <ClipPath id='clip2_3876_6767'>\n <Rect width='12.332' height='14.0938' fill='white' transform='translate(0 0.875)' />\n </ClipPath>\n </Defs>\n </Svg>\n )\n}\n\nexport const SuccessIcon: React.FC<IconProps> = ({\n color = '#1CC400',\n size = 18,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 18 18'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Circle cx='9' cy='9' r='9' fill={color} fillOpacity='.2' />\n <Path d='M5 8.5L8 11.5L13.5 6' stroke={color} strokeWidth='2' strokeLinecap='round' />\n </Svg>\n)\n\nexport const ErrorIcon: React.FC<IconProps> = ({\n color = '#F45858',\n size = 18,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 18 18'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Rect width='18' height='18' rx='4' fill={color} fillOpacity='.2' />\n <Path d='M9.06951 10L9.0695 4.86092' stroke={color} strokeWidth='2' strokeLinecap='round' />\n <Path d='M9.06951 13L9.06951 13.0102' stroke={color} strokeWidth='2' strokeLinecap='round' />\n </Svg>\n)\n\nexport const CheckIcon: React.FC<IconProps> = ({\n color = '#4C7EFF',\n size = 20,\n onPress\n}) => {\n return (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 20 20'\n fill='none'\n onPress={onPress}\n >\n <Circle\n cx='10'\n cy='10'\n r='10'\n fill='rgba(12, 28, 51, 0.05)'\n />\n <Path\n d='M6.33 10L8.83 12.5L13.67 7.67'\n stroke={color}\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </Svg>\n )\n}\n\nexport const CrossIcon: React.FC<IconProps> = ({\n color = '#0C1C33',\n size = 16,\n onPress\n}) => (\n <Svg\n width={size}\n height={(size * 17) / 16}\n viewBox='0 0 16 17'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M13.5693 3.40266L13.0973 2.93066L8 8.02866L2.90266 2.93066L2.43066 3.40266L7.52866 8.5L2.43066 13.5973L2.90266 14.0693L8 8.97133L13.0973 14.0693L13.5693 13.5973L8.47133 8.5L13.5693 3.40266Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const PlusIcon: React.FC<IconProps> = ({\n color = '#4C7EFF',\n size = 17,\n onPress\n}) => (\n <Svg\n width={size}\n height={(size * 16) / 17}\n viewBox='0 0 17 16'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M15.1667 7.66665H8.83337V1.33331H8.16671V7.66665H1.83337V8.33331H8.16671V14.6666H8.83337V8.33331H15.1667V7.66665Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const ChevronIcon: React.FC<IconProps> = ({\n color = '#0C1C33',\n size = 12,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 12 12'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M6 8.9395L1.65149 4.59099L2.18149 4.06049L6 7.879L9.8185 4.06049L10.3485 4.59099L6 8.9395Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const SearchIcon: React.FC<IconProps> = ({\n color = '#0C1C33',\n size = 16,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 16 16'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M14.569 14.0977L10.6623 10.191C11.5815 9.14938 12.0591 7.79092 11.9941 6.40327C11.9292 5.01564 11.3267 3.70776 10.3143 2.75659C9.30178 1.80542 7.95892 1.28563 6.56994 1.30729C5.18095 1.32895 3.85492 1.89036 2.87264 2.87264C1.89036 3.85492 1.32895 5.18095 1.30729 6.56994C1.28563 7.95892 1.80542 9.30178 2.75659 10.3143C3.70776 11.3267 5.01564 11.9292 6.40327 11.9941C7.79092 12.0591 9.14938 11.5815 10.191 10.6623L14.0977 14.569L14.569 14.0977ZM6.66665 11.3333C5.74364 11.3333 4.84138 11.0596 4.07396 10.5468C3.30653 10.0341 2.70839 9.30518 2.35518 8.45245C2.00197 7.59978 1.90956 6.66145 2.08962 5.7562C2.26968 4.85095 2.71414 4.01943 3.36678 3.36678C4.01943 2.71414 4.85095 2.26968 5.7562 2.08962C6.66145 1.90956 7.59978 2.00197 8.45245 2.35518C9.30518 2.70839 10.0341 3.30653 10.5468 4.07396C11.0596 4.84138 11.3333 5.74364 11.3333 6.66665C11.3319 7.90385 10.8398 9.09005 9.96492 9.96492C9.09005 10.8398 7.90385 11.3319 6.66665 11.3333Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const InfoCircleIcon: React.FC<IconProps> = ({\n color = '#4C7EFF',\n size = 19,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 19 19'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <G clipPath='url(#clip0_1166_258)'>\n <Path\n d='M9.5 5.5H9.51ZM9.5 8.5V13.5ZM18.5 9.5C18.5 14.4706 14.4706 18.5 9.5 18.5C4.52944 18.5 0.5 14.4706 0.5 9.5C0.5 4.52944 4.52944 0.5 9.5 0.5C14.4706 0.5 18.5 4.52944 18.5 9.5Z'\n fill={color}\n fillOpacity='0.05'\n />\n <Path\n d='M18 9.5C18 4.80558 14.1945 1 9.5 1C4.80558 1 1 4.80558 1 9.5C1 14.1945 4.80558 18 9.5 18C14.1945 18 18 14.1945 18 9.5ZM9 13.5V8.5C9 8.22386 9.22386 8 9.5 8C9.77614 8 10 8.22386 10 8.5V13.5C10 13.7761 9.77614 14 9.5 14C9.22386 14 9 13.7761 9 13.5ZM9.50977 5C9.78591 5 10.0098 5.22386 10.0098 5.5C10.0098 5.77614 9.78591 6 9.50977 6H9.5C9.22386 6 9 5.77614 9 5.5C9 5.22386 9.22386 5 9.5 5H9.50977ZM19 9.5C19 14.7467 14.7467 19 9.5 19C4.2533 19 0 14.7467 0 9.5C0 4.2533 4.2533 0 9.5 0C14.7467 0 19 4.2533 19 9.5Z'\n fill={color}\n />\n </G>\n <Defs>\n <ClipPath id='clip0_1166_258'>\n <Rect width='19' height='19' fill='white' />\n </ClipPath>\n </Defs>\n </Svg>\n)\n\nexport const EyeOpenIcon: React.FC<IconProps> = ({\n color = 'currentColor',\n size = 16,\n onPress\n}) => (\n <Svg\n width={size}\n height={(size * 10) / 16}\n viewBox='0 0 16 10'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M7.89888 0C6.24409 0.000806406 4.62351 0.471042 3.22533 1.35609C1.82715 2.24114 0.708743 3.50469 0 5C0.708092 6.49578 1.82635 7.75974 3.22468 8.64489C4.623 9.53004 6.24392 9.99999 7.89888 9.99999C9.55378 9.99999 11.1747 9.53004 12.573 8.64489C13.9713 7.75974 15.0896 6.49578 15.7977 5C15.089 3.50469 13.9706 2.24114 12.5724 1.35609C11.1742 0.471042 9.55364 0.000806406 7.89888 0ZM7.89888 8.98344C6.52084 8.97755 5.16914 8.60565 3.98212 7.90571C2.79509 7.20576 1.81538 6.20297 1.14327 5C1.81083 3.7931 2.78951 2.78709 3.97757 2.08654C5.16561 1.38601 6.51964 1.01653 7.89888 1.01653C9.27804 1.01653 10.6321 1.38601 11.8201 2.08654C13.0082 2.78709 13.9868 3.7931 14.6545 5C13.9823 6.20297 13.0026 7.20576 11.8156 7.90571C10.6285 8.60565 9.27689 8.97755 7.89888 8.98344ZM7.89888 2.51693C7.40772 2.51693 6.92767 2.66256 6.51934 2.93541C6.11101 3.20825 5.79274 3.59605 5.60481 4.0498C5.41687 4.50349 5.3677 5.00271 5.46351 5.48439C5.55932 5.96606 5.7958 6.4085 6.14306 6.7558C6.49033 7.10303 6.93275 7.33953 7.41443 7.43535C7.8961 7.53117 8.39533 7.48197 8.84909 7.29406C9.30277 7.10608 9.69059 6.78785 9.96342 6.3795C10.2362 5.97114 10.3819 5.4911 10.3819 5C10.3819 4.34146 10.1203 3.70989 9.65461 3.24421C9.189 2.77854 8.55742 2.51693 7.89888 2.51693ZM7.89888 6.46658C7.60878 6.46658 7.32525 6.38058 7.08407 6.21937C6.8429 6.05822 6.65492 5.82918 6.54392 5.56123C6.43291 5.29322 6.40387 4.99837 6.46045 4.7139C6.51704 4.42942 6.65675 4.16805 6.8618 3.96299C7.06693 3.75786 7.32823 3.61818 7.61271 3.5616C7.89726 3.50501 8.1921 3.53405 8.46011 3.64504C8.72806 3.75603 8.9571 3.94402 9.11825 4.18519C9.27939 4.42637 9.36546 4.7099 9.36546 5C9.36498 5.38884 9.21034 5.76161 8.93542 6.03654C8.66043 6.31146 8.28765 6.4661 7.89888 6.46658Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const EyeClosedIcon: React.FC<IconProps> = ({\n color = 'currentColor',\n size = 16,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 16 16'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M7.89888 3C6.24409 3.00081 4.62351 3.47104 3.22533 4.35609C1.82715 5.24114 0.708743 6.50469 0 8C0.708092 9.49578 1.82635 10.7597 3.22468 11.6449C4.623 12.53 6.24392 13 7.89888 13C9.55378 13 11.1747 12.53 12.573 11.6449C13.9713 10.7597 15.0896 9.49578 15.7977 8C15.089 6.50469 13.9706 5.24114 12.5724 4.35609C11.1742 3.47104 9.55364 3.00081 7.89888 3ZM7.89888 11.9834C6.52084 11.9776 5.16914 11.6056 3.98212 10.9057C2.79509 10.2058 1.81538 9.20297 1.14327 8C1.81083 6.7931 2.78951 5.78709 3.97757 5.08654C5.16561 4.38601 6.51964 4.01653 7.89888 4.01653C9.27804 4.01653 10.6321 4.38601 11.8201 5.08654C13.0082 5.78709 13.9868 6.7931 14.6545 8C13.9823 9.20297 13.0026 10.2058 11.8156 10.9057C10.6285 11.6056 9.27689 11.9776 7.89888 11.9834Z'\n fill={color}\n />\n <Line x1='1' y1='15' x2='15' y2='1' stroke={color} strokeWidth='1.5' strokeLinecap='round' />\n </Svg>\n)\n\nexport const AsteriskIcon: React.FC<IconProps> = ({\n color = '#0C1C33',\n size = 16,\n onPress\n}) => (\n <Svg\n width={size}\n height={(size * 17) / 16}\n viewBox='0 0 16 17'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M6.38944 0H9.61056L9.24092 8.5H6.75908L6.38944 0ZM6.38944 17L6.75908 8.5H9.24092L9.61056 17H6.38944ZM0 5.50476L1.63696 2.96825L8.60726 7.50159L7.36634 9.47143L0 5.50476ZM16 5.50476L8.63366 9.47143L7.39274 7.50159L14.363 2.96825L16 5.50476ZM16 11.4683L14.363 14.0048L7.39274 9.47143L8.63366 7.50159L16 11.4683ZM0 11.5222L7.36634 7.55556L8.60726 9.5254L1.63696 14.0587L0 11.5222Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const TopRightArrowIcon: React.FC<IconProps> = ({\n color = '#0C1C33',\n size = 25,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 25 25'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M21.3388 3.66117L21.3388 21.3388M21.3388 3.66117L3.66116 3.66117M21.3388 3.66117L3.66116 21.3388'\n stroke={color}\n strokeWidth='2'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </Svg>\n)\n\nexport const QueuedIcon: React.FC<IconProps> = ({\n color = '#F4A358',\n size = 18,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 18 18'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Rect width='18' height='18' rx='4' fill={color} fillOpacity='.2' />\n <Path\n d='M11.6756 12.6482C11.8311 12.8601 12.1306 12.9075 12.3268 12.7326C13.1311 12.0158 13.6857 11.055 13.9009 9.99071C14.1476 8.77034 13.9301 7.50182 13.2909 6.43333C12.6518 5.36484 11.637 4.57324 10.4451 4.2134C9.25315 3.85356 7.96985 3.95136 6.84622 4.48768C5.72259 5.024 4.83949 5.96024 4.36966 7.11325C3.89983 8.26626 3.87708 9.55308 4.30587 10.722C4.73466 11.8909 5.58412 12.8577 6.6881 13.4334C7.65084 13.9355 8.74673 14.1085 9.80981 13.934C10.0691 13.8914 10.2207 13.6287 10.1537 13.3746C10.0867 13.1205 9.82636 12.9718 9.56614 13.0086C8.7336 13.1262 7.88063 12.982 7.12813 12.5896C6.23429 12.1235 5.5465 11.3406 5.19933 10.3942C4.85216 9.44781 4.87057 8.40592 5.25098 7.47237C5.63138 6.53882 6.3464 5.78078 7.25616 5.34654C8.16592 4.91231 9.20497 4.83312 10.17 5.12447C11.1351 5.41582 11.9567 6.05674 12.4742 6.92186C12.9917 7.78698 13.1678 8.81405 12.9681 9.80215C12.7999 10.634 12.3756 11.3878 11.7605 11.9612C11.5683 12.1404 11.5202 12.4362 11.6756 12.6482Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const PooledIcon: React.FC<IconProps> = ({\n color = '#008DE4',\n size = 18,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 18 18'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Rect width='18' height='18' rx='4' fill={color} fillOpacity='.2' />\n <Path\n d='M14 7L12.4328 6.01491C11.4484 5.39611 10.1941 5.40565 9.21918 6.03935C8.30752 6.63193 7.14565 6.6816 6.18674 6.16899L4 5'\n stroke={color}\n strokeLinecap='round'\n />\n <Path\n d='M14 10L12.4328 9.01491C11.4484 8.39611 10.1941 8.40565 9.21918 9.03935C8.30752 9.63193 7.14565 9.6816 6.18674 9.16899L4 8'\n stroke={color}\n strokeLinecap='round'\n />\n <Path\n d='M14 13L12.4328 12.0149C11.4484 11.3961 10.1941 11.4057 9.21918 12.0393C8.30752 12.6319 7.14565 12.6816 6.18674 12.169L4 11'\n stroke={color}\n strokeLinecap='round'\n />\n </Svg>\n)\n\nexport const BroadcastedIcon: React.FC<IconProps> = ({\n color = '#008DE4',\n size = 18,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 18 18'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Rect width='18' height='18' rx='4' fill={color} fillOpacity='.2' />\n <Path\n d='M4.86093 8.74967L12.5 8.74993M12.5 8.74993L9.5 5.74993M12.5 8.74993L9.5 11.7499'\n stroke={color}\n strokeWidth='2'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </Svg>\n)\n\n// Export all icons as a collection\nexport const Icons = {\n ArrowIcon,\n CopyIcon,\n SuccessIcon,\n ErrorIcon,\n CheckIcon,\n CrossIcon,\n PlusIcon,\n ChevronIcon,\n SearchIcon,\n InfoCircleIcon,\n EyeOpenIcon,\n EyeClosedIcon,\n TopRightArrowIcon,\n QueuedIcon,\n PooledIcon,\n BroadcastedIcon,\n AsteriskIcon,\n}\n","import React, { useState } from 'react'\nimport {\n TextInput,\n View,\n TouchableOpacity,\n Text,\n TextInputProps,\n ViewStyle,\n TextStyle,\n} from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\nimport { EyeOpenIcon, EyeClosedIcon } from '../icons'\n\nconst inputStyles = cva(\n 'w-full font-normal text-sm leading-[17px]',\n {\n variants: {\n colorScheme: {\n default: '',\n brand: '',\n error: '',\n success: '',\n 'light-gray': '',\n },\n size: {\n sm: 'px-3 py-2 rounded-[10px]',\n md: 'px-4 py-3 rounded-[12px]',\n xl: 'px-4 py-[18px] rounded-[14px]',\n },\n variant: {\n outlined: 'border',\n filled: 'border-0',\n },\n disabled: {\n false: '',\n true: 'opacity-60',\n },\n },\n compoundVariants: [\n // Outlined variant colors\n {\n variant: 'outlined',\n colorScheme: 'default',\n class: 'border-[rgba(17,17,17,0.32)] bg-white',\n },\n {\n variant: 'outlined',\n colorScheme: 'brand',\n class: 'border-dash-brand/30 bg-white',\n },\n {\n variant: 'outlined',\n colorScheme: 'error',\n class: 'border-red-500 bg-white',\n },\n {\n variant: 'outlined',\n colorScheme: 'success',\n class: 'border-green-500 bg-white',\n },\n {\n variant: 'outlined',\n colorScheme: 'light-gray',\n class: 'border-gray-500/50 bg-white',\n },\n // Filled variant colors\n {\n variant: 'filled',\n colorScheme: 'default',\n class: 'bg-dash-brand/15',\n },\n {\n variant: 'filled',\n colorScheme: 'brand',\n class: 'bg-dash-brand/15',\n },\n {\n variant: 'filled',\n colorScheme: 'error',\n class: 'bg-red-500/15',\n },\n {\n variant: 'filled',\n colorScheme: 'success',\n class: 'bg-green-500/15',\n },\n {\n variant: 'filled',\n colorScheme: 'light-gray',\n class: 'bg-gray-100',\n },\n ],\n defaultVariants: {\n colorScheme: 'default',\n size: 'xl',\n variant: 'outlined',\n disabled: false,\n },\n }\n)\n\ntype InputVariants = VariantProps<typeof inputStyles>\n\nexport interface InputProps extends Omit<TextInputProps, 'editable'>, Omit<InputVariants, 'disabled'> {\n className?: string\n error?: boolean\n success?: boolean\n disabled?: boolean\n /**\n * Prefix text or React element displayed before the input content\n */\n prefix?: string | React.ReactNode\n /**\n * Style object for the prefix element\n */\n prefixStyle?: TextStyle\n /**\n * Controls visibility toggle for password inputs. When false, the eye icon is hidden.\n * Defaults to true.\n */\n showPasswordToggle?: boolean\n /**\n * Custom container style (overrides Tailwind classes)\n */\n style?: ViewStyle\n /**\n * Custom text style for input text (overrides Tailwind text classes)\n */\n textStyle?: TextStyle\n}\n\n/**\n * React Native Input component that adapts to various color schemes, sizes, variants, and states.\n * For password inputs (secureTextEntry), includes a toggleable eye icon.\n * Supports prefix text or elements before input content.\n *\n * @example\n * <Input\n * secureTextEntry\n * placeholder=\"Enter password\"\n * colorScheme=\"brand\"\n * size=\"xl\"\n * prefix=\"https://\"\n * />\n */\nexport const Input: React.FC<InputProps> = ({\n className = '',\n colorScheme,\n size,\n variant,\n error = false,\n success = false,\n disabled = false,\n secureTextEntry = false,\n prefix,\n prefixStyle,\n showPasswordToggle = true,\n style,\n textStyle,\n ...props\n}) => {\n const [showPassword, setShowPassword] = useState(false)\n\n // Determine color scheme based on state\n let finalColorScheme = colorScheme\n if (error) finalColorScheme = 'error'\n else if (success) finalColorScheme = 'success'\n\n const classes = inputStyles({\n colorScheme: finalColorScheme,\n size,\n variant,\n disabled,\n }) + (className ? ` ${className}` : '')\n\n const isPassword = secureTextEntry\n const shouldShowToggle = isPassword && showPasswordToggle\n const hasPrefix = Boolean(prefix)\n\n const togglePasswordVisibility = (): void => {\n setShowPassword(!showPassword)\n }\n\n // Convert Tailwind classes to React Native style objects\n const inputStyle = [cn(classes), style].filter(Boolean)\n const inputTextStyle = [\n {\n color: '#111111',\n fontSize: 14,\n lineHeight: 17,\n fontWeight: '300' as const,\n },\n textStyle,\n ].filter(Boolean)\n\n // Adjust padding for password toggle button and prefix\n const containerStyle: ViewStyle = {}\n if (shouldShowToggle) containerStyle.paddingRight = 40\n if (hasPrefix) containerStyle.paddingLeft = 70 // Extra space for prefix\n\n // Default prefix style\n const defaultPrefixStyle: TextStyle = {\n color: 'rgba(17, 17, 17, 0.6)',\n fontSize: 14,\n lineHeight: 17,\n }\n\n // Render prefix element\n const renderPrefix = () => {\n if (!hasPrefix) return null\n \n return (\n <View\n style={{\n position: 'absolute',\n left: 16,\n height: '100%',\n justifyContent: 'center',\n zIndex: 10,\n pointerEvents: 'none',\n }}\n >\n {typeof prefix === 'string' ? (\n <Text style={[defaultPrefixStyle, prefixStyle]}>\n {prefix}\n </Text>\n ) : (\n prefix\n )}\n </View>\n )\n }\n\n if (isPassword || hasPrefix) {\n return (\n <View style={{ position: 'relative' }}>\n {renderPrefix()}\n <TextInput\n style={[inputStyle, containerStyle, inputTextStyle]}\n editable={!disabled}\n secureTextEntry={isPassword && !showPassword}\n placeholderTextColor=\"rgba(17, 17, 17, 0.6)\"\n {...props}\n />\n {shouldShowToggle && (\n <TouchableOpacity\n style={{\n position: 'absolute',\n right: 16,\n height: '100%',\n justifyContent: 'center',\n alignItems: 'center',\n opacity: 0.5,\n }}\n onPress={togglePasswordVisibility}\n activeOpacity={0.7}\n >\n {showPassword\n ? <EyeClosedIcon size={16} color='#0C1C33' />\n : <EyeOpenIcon size={16} color='#0C1C33' />}\n </TouchableOpacity>\n )}\n </View>\n )\n }\n\n // Regular input without prefix or password\n return (\n <TextInput\n style={[inputStyle, inputTextStyle]}\n editable={!disabled}\n placeholderTextColor=\"rgba(17, 17, 17, 0.6)\"\n {...props}\n />\n )\n}\n\nexport default Input\n","import React, { useState } from 'react'\nimport {\n View,\n Text,\n ScrollView,\n TouchableOpacity,\n ViewStyle,\n TextStyle,\n} from 'react-native'\nimport { cva } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\n\nconst tabsRootStyles = cva('flex-col w-full', {\n variants: {\n theme: {\n light: '',\n dark: '',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n})\n\nconst tabsListStyles = cva('flex-row relative', {\n variants: {\n theme: {\n light: '',\n dark: '',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n})\n\nconst tabsTriggerStyles = cva(\n [\n 'flex-row items-center justify-center relative',\n 'font-light transition-all',\n ],\n {\n variants: {\n theme: {\n light: '',\n dark: '',\n },\n active: {\n true: '',\n false: '',\n },\n size: {\n sm: 'text-sm px-0 pr-3 pb-2',\n lg: 'text-xl px-0 pr-4 pb-3',\n xl: 'text-2xl px-0 pr-[14px] pb-[10px]',\n },\n },\n compoundVariants: [\n {\n theme: 'light',\n active: true,\n class: 'text-dash-primary-dark-blue',\n },\n {\n theme: 'light',\n active: false,\n class: 'text-[rgba(12,28,51,0.35)]',\n },\n {\n theme: 'dark',\n active: true,\n class: 'text-white',\n },\n {\n theme: 'dark',\n active: false,\n class: 'text-gray-400',\n },\n ],\n defaultVariants: {\n theme: 'light',\n active: false,\n size: 'xl',\n },\n }\n)\n\nconst tabsContentStyles = cva('', {\n variants: {\n theme: {\n light: '',\n dark: '',\n },\n size: {\n sm: 'mt-2',\n lg: 'mt-3',\n xl: 'mt-4',\n },\n },\n defaultVariants: {\n theme: 'light',\n size: 'xl',\n },\n})\n\nexport interface TabItem {\n /** Unique identifier for the tab */\n value: string\n /** Label text to display */\n label: string\n /** Content to render when tab is active */\n content: React.ReactNode\n /** Whether this tab is disabled */\n disabled?: boolean\n}\n\nexport interface TabsProps {\n /** Array of tab items */\n items: TabItem[]\n /** Currently active tab value (controlled) */\n value?: string\n /** Default active tab value (uncontrolled) */\n defaultValue?: string\n /** Callback when active tab changes */\n onValueChange?: (value: string) => void\n /** Size variant */\n size?: 'sm' | 'lg' | 'xl'\n /** Theme variant */\n theme?: 'light' | 'dark'\n /** Additional CSS classes for the root container */\n className?: string\n /** Additional CSS classes for the tabs list */\n listClassName?: string\n /** Additional CSS classes for tab triggers */\n triggerClassName?: string\n /** Additional CSS classes for tab content */\n contentClassName?: string\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n /** Custom tabs list style (overrides Tailwind classes) */\n listStyle?: ViewStyle\n /** Custom tab trigger style (overrides Tailwind classes) */\n triggerStyle?: ViewStyle\n /** Custom tab content style (overrides Tailwind classes) */\n contentStyle?: ViewStyle\n /** Custom tab text style (overrides Tailwind text classes) */\n textStyle?: TextStyle\n}\n\n/**\n * React Native Tabs component with sleek underline style matching Figma design.\n * Features horizontal scrolling, light/dark theme support, and touch interactions.\n */\nexport const Tabs: React.FC<TabsProps> = ({\n items,\n value,\n defaultValue,\n onValueChange,\n size = 'xl',\n theme = 'light',\n className = '',\n listClassName = '',\n triggerClassName = '',\n contentClassName = '',\n style,\n listStyle,\n triggerStyle,\n contentStyle,\n textStyle,\n}) => {\n const [internalValue, setInternalValue] = useState(\n defaultValue || items[0]?.value || ''\n )\n\n // Use controlled value if provided, otherwise use internal state\n const currentValue = value !== undefined ? value : internalValue\n\n const handleValueChange = (newValue: string) => {\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onValueChange?.(newValue)\n }\n\n const rootClasses =\n tabsRootStyles({ theme }) + (className ? ` ${className}` : '')\n const listClasses =\n tabsListStyles({ theme }) + (listClassName ? ` ${listClassName}` : '')\n const contentClasses =\n tabsContentStyles({ theme, size }) +\n (contentClassName ? ` ${contentClassName}` : '')\n\n const rootStyle = [cn(rootClasses), style].filter(Boolean)\n const listStyleCombined = [cn(listClasses), listStyle].filter(Boolean)\n const contentStyleCombined = [cn(contentClasses), contentStyle].filter(\n Boolean\n )\n\n // Border color based on theme\n const borderColor =\n theme === 'light' ? 'rgba(12, 28, 51, 0.15)' : 'rgba(156, 163, 175, 0.5)'\n const activeBorderColor = '#4C7EFF'\n\n return (\n <View style={rootStyle}>\n {/* Tabs List */}\n <View style={{ position: 'relative' }}>\n <ScrollView\n horizontal\n showsHorizontalScrollIndicator={false}\n style={listStyleCombined}\n contentContainerStyle={{ flexDirection: 'row' }}\n >\n {items.map((item) => {\n const isActive = currentValue === item.value\n const triggerClasses =\n tabsTriggerStyles({\n theme,\n active: isActive,\n size,\n }) + (triggerClassName ? ` ${triggerClassName}` : '')\n\n const triggerStyleCombined = [\n cn(triggerClasses),\n triggerStyle,\n ].filter(Boolean)\n\n // Get text size based on size prop\n let fontSize = 24 // xl\n let lineHeight = 33 // xl (1.366)\n if (size === 'sm') {\n fontSize = 14\n lineHeight = 18 // 1.25\n } else if (size === 'lg') {\n fontSize = 20\n lineHeight = 26 // 1.3\n }\n\n // Text color based on theme and active state\n let textColor = 'rgba(12, 28, 51, 0.35)' // light inactive\n if (theme === 'light' && isActive) {\n textColor = '#0C1C33' // light active\n } else if (theme === 'dark' && isActive) {\n textColor = '#FFFFFF' // dark active\n } else if (theme === 'dark' && !isActive) {\n textColor = 'rgba(156, 163, 175, 1)' // dark inactive\n }\n\n const baseTextStyle: TextStyle = {\n fontSize,\n lineHeight,\n color: textColor,\n fontWeight: isActive ? '500' : '300',\n }\n\n const finalTextStyle = [baseTextStyle, textStyle].filter(Boolean)\n\n return (\n <TouchableOpacity\n key={item.value}\n disabled={item.disabled}\n onPress={() => !item.disabled && handleValueChange(item.value)}\n activeOpacity={0.8}\n style={triggerStyleCombined}\n >\n <Text style={finalTextStyle}>{item.label}</Text>\n {/* Active indicator */}\n {isActive && (\n <View\n style={{\n position: 'absolute',\n bottom: 0,\n left: -4,\n right: size === 'sm' ? 12 : size === 'lg' ? 16 : 14,\n height: 1,\n backgroundColor: activeBorderColor,\n zIndex: 10,\n }}\n />\n )}\n </TouchableOpacity>\n )\n })}\n </ScrollView>\n {/* Bottom border */}\n <View\n style={{\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n height: 1,\n backgroundColor: borderColor,\n }}\n />\n </View>\n\n {/* Tabs Content */}\n {items.map((item) => {\n if (currentValue !== item.value) return null\n\n return (\n <View key={item.value} style={contentStyleCombined}>\n {item.content}\n </View>\n )\n })}\n </View>\n )\n}\n\nexport default Tabs\n","import React, { useMemo } from 'react'\nimport { View, ViewProps, ViewStyle } from 'react-native'\nimport { SvgXml } from 'react-native-svg'\nimport { minidenticon } from 'minidenticons'\nimport { cn } from '../../utils/tw'\n\nexport interface AvatarProps extends Omit<ViewProps, 'style'> {\n /** Username to generate identicon for */\n username: string\n /** Additional CSS class name (for NativeWind) */\n className?: string\n /** Saturation level for the identicon (0-100) */\n saturation?: number\n /** Lightness level for the identicon (0-100) */\n lightness?: number\n /** Width of the avatar (default: 40) */\n width?: number\n /** Height of the avatar (default: 40) */\n height?: number\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n}\n\n/**\n * Avatar component that creates unique identicons from usernames\n * with customizable appearance.\n * \n * This is the React Native version that uses SvgXml instead of img tag.\n */\nexport const Avatar: React.FC<AvatarProps> = ({\n username,\n className = '',\n saturation = 50,\n lightness = 50,\n width = 40,\n height = 40,\n style,\n ...props\n}) => {\n // Generate SVG string directly (no data URI needed for SvgXml)\n const svgString = useMemo(\n () => minidenticon(username, saturation, lightness),\n [username, saturation, lightness]\n )\n\n const containerClasses = `relative ${className}`.trim()\n const containerStyle = [cn(containerClasses), style].filter(Boolean)\n\n return (\n <View style={containerStyle} {...props}>\n <SvgXml \n xml={svgString} \n width={width} \n height={height}\n />\n </View>\n )\n}\n\nexport default Avatar\n","import React from 'react'\nimport { View, Text, Pressable, ViewStyle, TextStyle, PressableProps } from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\n\n/**\n * Badge component props\n */\nexport interface BadgeProps extends Omit<PressableProps, 'style'> {\n /**\n * Content of the badge\n */\n children: React.ReactNode\n\n /**\n * Visual style variant\n */\n variant?: 'default' | 'flat' | 'solid' | 'bordered'\n\n /**\n * Color theme\n */\n color?: 'blue' | 'white' | 'gray' | 'light-gray' | 'turquoise' | 'red' | 'orange'\n\n /**\n * Size of the badge\n */\n size?: 'xxs' | 'xs' | 'sm' | 'xl'\n\n /**\n * Border radius variant\n */\n borderRadius?: 'xs'\n\n /**\n * Additional Tailwind classes for styling\n */\n className?: string\n\n /**\n * Custom container style (overrides Tailwind classes)\n */\n style?: ViewStyle\n\n /**\n * Custom text style (overrides Tailwind text classes)\n */\n textStyle?: TextStyle\n\n /**\n * Press handler\n */\n onPress?: () => void\n}\n\n// Base badge container styles\nconst badgeStyles = cva(\n 'inline-flex items-center justify-center font-medium',\n {\n variants: {\n size: {\n xxs: 'px-1 py-1 text-xs rounded-full',\n xs: 'px-2 py-1 text-xs rounded-full',\n sm: 'px-[34px] py-[10px] text-xs rounded-full',\n xl: 'px-9 py-4 text-lg rounded-full',\n },\n borderRadius: {\n default: '',\n xs: 'rounded-[4px]',\n },\n // Color and variant combinations - blue\n color_variant_blue_default: {\n true: '',\n },\n color_variant_blue_flat: {\n true: 'bg-[rgba(76,126,255,0.15)]',\n },\n color_variant_blue_solid: {\n true: 'bg-[#4C7EFF]',\n },\n color_variant_blue_bordered: {\n true: 'border border-[#4C7EFF]',\n },\n // Color and variant combinations - white\n color_variant_white_default: {\n true: '',\n },\n color_variant_white_flat: {\n true: 'bg-[rgba(255,255,255,0.15)]',\n },\n color_variant_white_solid: {\n true: 'bg-white',\n },\n color_variant_white_bordered: {\n true: 'border border-white',\n },\n // Color and variant combinations - gray\n color_variant_gray_default: {\n true: '',\n },\n color_variant_gray_flat: {\n true: 'bg-[rgba(12,28,51,0.15)]',\n },\n color_variant_gray_solid: {\n true: 'bg-[#0C1C33]',\n },\n color_variant_gray_bordered: {\n true: 'border border-[#0C1C33]',\n },\n // Color and variant combinations - light-gray\n color_variant_lightgray_default: {\n true: '',\n },\n color_variant_lightgray_flat: {\n true: 'bg-[rgba(12,28,51,0.05)]',\n },\n color_variant_lightgray_solid: {\n true: 'bg-[rgba(12,28,51,0.15)]',\n },\n color_variant_lightgray_bordered: {\n true: 'border border-[#6B7280]',\n },\n // Color and variant combinations - turquoise\n color_variant_turquoise_default: {\n true: '',\n },\n color_variant_turquoise_flat: {\n true: 'bg-[rgba(96,246,210,0.15)]',\n },\n color_variant_turquoise_solid: {\n true: 'bg-[#60F6D2]',\n },\n color_variant_turquoise_bordered: {\n true: 'border border-[#60F6D2]',\n },\n // Color and variant combinations - red\n color_variant_red_default: {\n true: '',\n },\n color_variant_red_flat: {\n true: 'bg-[rgba(205,46,0,0.15)]',\n },\n color_variant_red_solid: {\n true: 'bg-[#CD2E00]',\n },\n color_variant_red_bordered: {\n true: 'border border-[#CD2E00]',\n },\n // Color and variant combinations - orange\n color_variant_orange_default: {\n true: '',\n },\n color_variant_orange_flat: {\n true: 'bg-[rgba(249,143,18,0.15)]',\n },\n color_variant_orange_solid: {\n true: 'bg-[#F98F12]',\n },\n color_variant_orange_bordered: {\n true: 'border border-[#F98F12]',\n },\n },\n defaultVariants: {\n size: 'sm',\n borderRadius: 'default',\n },\n }\n)\n\n// Text color styles\nconst textStyles = cva('font-medium', {\n variants: {\n size: {\n xxs: 'text-xs',\n xs: 'text-xs',\n sm: 'text-xs',\n xl: 'text-lg',\n },\n // Text colors for each color and variant combination\n color_variant_blue_default: {\n true: 'text-[#4C7EFF]',\n },\n color_variant_blue_flat: {\n true: 'text-[#4C7EFF]',\n },\n color_variant_blue_solid: {\n true: 'text-white',\n },\n color_variant_blue_bordered: {\n true: 'text-[#4C7EFF]',\n },\n color_variant_white_default: {\n true: 'text-white',\n },\n color_variant_white_flat: {\n true: 'text-white',\n },\n color_variant_white_solid: {\n true: 'text-[#0C1C33]',\n },\n color_variant_white_bordered: {\n true: 'text-white',\n },\n color_variant_gray_default: {\n true: 'text-[#0C1C33]',\n },\n color_variant_gray_flat: {\n true: 'text-[#0C1C33]',\n },\n color_variant_gray_solid: {\n true: 'text-white',\n },\n color_variant_gray_bordered: {\n true: 'text-[#0C1C33]',\n },\n color_variant_lightgray_default: {\n true: 'text-[#6B7280]',\n },\n color_variant_lightgray_flat: {\n true: 'text-[#0C1C33]',\n },\n color_variant_lightgray_solid: {\n true: 'text-[#0C1C33]',\n },\n color_variant_lightgray_bordered: {\n true: 'text-[#6B7280]',\n },\n color_variant_turquoise_default: {\n true: 'text-[#60F6D2]',\n },\n color_variant_turquoise_flat: {\n true: 'text-[#60F6D2]',\n },\n color_variant_turquoise_solid: {\n true: 'text-[#0C1C33]',\n },\n color_variant_turquoise_bordered: {\n true: 'text-[#60F6D2]',\n },\n color_variant_red_default: {\n true: 'text-[#CD2E00]',\n },\n color_variant_red_flat: {\n true: 'text-[#CD2E00]',\n },\n color_variant_red_solid: {\n true: 'text-white',\n },\n color_variant_red_bordered: {\n true: 'text-[#CD2E00]',\n },\n color_variant_orange_default: {\n true: 'text-[#F98F12]',\n },\n color_variant_orange_flat: {\n true: 'text-[#F98F12]',\n },\n color_variant_orange_solid: {\n true: 'text-white',\n },\n color_variant_orange_bordered: {\n true: 'text-[#F98F12]',\n },\n },\n defaultVariants: {\n size: 'sm',\n },\n})\n\n// Type for CVA variant props with dynamic color_variant keys\ntype BadgeVariantProps = VariantProps<typeof badgeStyles> & {\n [key: string]: boolean | string | undefined\n}\n\ntype TextVariantProps = VariantProps<typeof textStyles> & {\n [key: string]: boolean | string | undefined\n}\n\n// Mapping object for color key normalization (handles dashes)\nconst COLOR_KEY_MAP: Record<string, string> = {\n 'blue': 'blue',\n 'white': 'white',\n 'gray': 'gray',\n 'light-gray': 'lightgray',\n 'turquoise': 'turquoise',\n 'red': 'red',\n 'orange': 'orange',\n}\n\n/**\n * React Native Badge component with multiple variants, colors, sizes, and border radius options.\n * Uses CVA for variant management and twrnc for Tailwind styling.\n * \n * Supports 28 style combinations (7 colors × 4 variants) with 4 sizes and optional custom border radius.\n */\nexport const Badge: React.FC<BadgeProps> = ({\n children,\n variant = 'default',\n color = 'blue',\n size = 'sm',\n borderRadius,\n className = '',\n style,\n textStyle,\n onPress,\n ...props\n}) => {\n // Generate the color_variant key for CVA using explicit mapping\n const normalizedColor = COLOR_KEY_MAP[color] || color\n const colorVariantKey = `color_variant_${normalizedColor}_${variant}`\n\n // Build the badge container classes with proper typing\n const badgeVariantProps: BadgeVariantProps = {\n size,\n borderRadius: borderRadius || 'default',\n [colorVariantKey]: true,\n }\n const badgeClasses = badgeStyles(badgeVariantProps)\n\n // Build the text classes with proper typing\n const textVariantProps: TextVariantProps = {\n size,\n [colorVariantKey]: true,\n }\n const textClasses = textStyles(textVariantProps)\n\n // Convert Tailwind classes to React Native style objects\n const combinedClasses = className ? `${badgeClasses} ${className}` : badgeClasses\n const badgeStyleArray: ViewStyle[] = [cn(combinedClasses), style].filter(Boolean) as ViewStyle[]\n\n const textStyleMerged = [cn(textClasses), textStyle].filter(Boolean) as TextStyle[]\n\n // Render content (string children wrapped in Text, custom content as-is)\n const content = typeof children === 'string' ? <Text style={textStyleMerged}>{children}</Text> : children\n\n // If onPress is provided, wrap in Pressable\n if (onPress) {\n return (\n <Pressable\n style={({ pressed }) => (pressed ? [...badgeStyleArray, { opacity: 0.7 }] : badgeStyleArray)}\n onPress={onPress}\n {...props}\n >\n {content}\n </Pressable>\n )\n }\n\n // Otherwise, just render as View\n return <View style={badgeStyleArray}>{content}</View>\n}\n\nexport default Badge\n","import React from 'react'\nimport { View, Text, ViewStyle, TextStyle } from 'react-native'\nimport { cn } from '../../utils/tw'\n\nexport type BigNumberVariant = 'space' | 'comma'\n\nexport interface BigNumberProps {\n /** The numeric value (or string) to format. */\n children?: number | string | null\n /** Use non-breaking space groups or comma groups. */\n variant?: BigNumberVariant\n /** Extra class names to apply to the wrapper. Use gap-* classes for spacing between groups. */\n className?: string\n /** Horizontal spacing (in pixels) around the decimal point. Negative values reduce spacing. @default -2 */\n decimalPointSpacing?: number\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n /** Custom text style (overrides Tailwind text classes) */\n textStyle?: TextStyle\n}\n\n/**\n * Groups digits into chunks of three, right to left.\n * Used for formatting large numbers with thousand separators.\n */\nconst groupDigits = (intPart: string): string[] => {\n return intPart\n .split('')\n .reverse()\n .reduce<string[]>((acc, char, idx) => {\n if (idx % 3 === 0) acc.unshift('')\n acc[0] = char + acc[0]\n return acc\n }, [])\n}\n\n/**\n * Splits a numeric string into groups of three characters for display.\n * Supports two variants:\n * - `space`: groups separated by gap\n * - `comma`: groups separated by commas, with decimal part after `.`\n * Supports light/dark theme via dark: variants.\n */\nexport const BigNumber: React.FC<BigNumberProps> = ({ \n children, \n variant = 'space', \n className = '', \n decimalPointSpacing = -2,\n style,\n textStyle\n}) => {\n const decimalPointStyle = {\n marginLeft: decimalPointSpacing,\n marginRight: decimalPointSpacing\n }\n\n if (children === undefined || children === null) return null\n const str = children.toString()\n\n // Combine base styles with optional className\n const containerClasses = `flex-row flex-wrap gap-1 ${className || ''}`\n const textClasses = 'dark:text-gray-100'\n \n const containerStyle = [cn(containerClasses), style].filter(Boolean)\n const textStyleMerged = [cn(textClasses), textStyle].filter(Boolean)\n\n if (variant === 'space') {\n // Split into integer and decimal parts\n const [intPart, fracPart] = str.split('.')\n\n // group digits every 3, right to left (only for integer part)\n const groups = groupDigits(intPart)\n\n return (\n <View style={containerStyle}>\n {groups.map((grp, i) => (\n <Text key={i} style={textStyleMerged}>\n {grp}\n </Text>\n ))}\n {fracPart != null && (\n <>\n <Text style={[...textStyleMerged, decimalPointStyle]}>.</Text>\n <Text style={textStyleMerged}>{fracPart}</Text>\n </>\n )}\n </View>\n )\n } else {\n // comma variant\n const [intPart, fracPart] = str.split('.')\n const groups = groupDigits(intPart)\n\n return (\n <View style={containerStyle}>\n {groups.map((grp, i) => (\n <View key={i} style={cn('flex-row')}>\n <Text style={textStyleMerged}>{grp}</Text>\n {i < groups.length - 1 && <Text style={textStyleMerged}>,</Text>}\n </View>\n ))}\n {fracPart != null && (\n <>\n <Text style={[...textStyleMerged, decimalPointStyle]}>.</Text>\n <Text style={textStyleMerged}>{fracPart}</Text>\n </>\n )}\n </View>\n )\n }\n}\n\nexport default BigNumber\n","/**\n * Universal Clipboard utility for React Native and Expo\n * \n * Supports both:\n * - @react-native-clipboard/clipboard (React Native)\n * - expo-clipboard (Expo)\n * \n * Automatically detects which one is available and uses it.\n */\n\ninterface ClipboardAPI {\n setString: (text: string) => void | Promise<void>;\n getString: () => Promise<string>;\n}\n\nlet clipboardInstance: ClipboardAPI | null = null;\n\n/**\n * Get the clipboard instance\n * Tries to load expo-clipboard first, then falls back to @react-native-clipboard/clipboard\n */\nfunction getClipboard(): ClipboardAPI {\n if (clipboardInstance) {\n return clipboardInstance;\n }\n\n try {\n // Try expo-clipboard first (most common in Expo projects)\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const ExpoClipboard = require('expo-clipboard');\n if (ExpoClipboard?.setStringAsync && ExpoClipboard?.getStringAsync) {\n clipboardInstance = {\n setString: (text: string) => {\n ExpoClipboard.setStringAsync(text).catch((err: Error) => {\n console.warn('[dash-ui-kit] Failed to copy to clipboard:', err);\n });\n },\n getString: () => ExpoClipboard.getStringAsync(),\n };\n return clipboardInstance;\n }\n } catch (err) {\n // expo-clipboard not available, continue to try React Native clipboard\n }\n\n try {\n // Try @react-native-clipboard/clipboard (React Native)\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const RNClipboard = require('@react-native-clipboard/clipboard');\n if (RNClipboard?.default || RNClipboard?.Clipboard) {\n const clipboard = RNClipboard.default || RNClipboard.Clipboard;\n clipboardInstance = {\n setString: (text: string) => clipboard.setString(text),\n getString: () => clipboard.getString(),\n };\n return clipboardInstance;\n }\n } catch (err) {\n // @react-native-clipboard/clipboard not available\n }\n\n // No clipboard available - return stub\n console.warn(\n '[dash-ui-kit] No clipboard library found. Please install either:\\n' +\n ' - expo-clipboard (for Expo projects): npx expo install expo-clipboard\\n' +\n ' - @react-native-clipboard/clipboard (for React Native): npm install @react-native-clipboard/clipboard'\n );\n \n clipboardInstance = {\n setString: () => {\n console.warn('[dash-ui-kit] Clipboard not available');\n },\n getString: async () => '',\n };\n \n return clipboardInstance;\n}\n\n/**\n * Universal Clipboard object\n * Compatible with both expo-clipboard and @react-native-clipboard/clipboard\n */\nconst Clipboard = {\n /**\n * Set string to clipboard\n * @param text - Text to copy\n */\n setString: (text: string): void => {\n const clipboard = getClipboard();\n clipboard.setString(text);\n },\n\n /**\n * Get string from clipboard\n * @returns Promise with clipboard content\n */\n getString: (): Promise<string> => {\n const clipboard = getClipboard();\n return clipboard.getString();\n },\n};\n\nexport default Clipboard;\nexport { Clipboard };\n","import React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { Pressable, Text, View, ViewStyle, TextStyle } from 'react-native'\nimport { Clipboard } from '../../utils/clipboard'\nimport { cn } from '../../utils/tw'\nimport { CopyIcon } from '../icons'\n\nconst FEEDBACK_DURATION_MS = 1000\n\nexport interface CopyButtonProps {\n /** Text to copy into clipboard */\n text: string\n /** Optional callback that will be called with the copy result */\n onCopy?: (success: boolean) => void\n /** Additional Tailwind classes for styling */\n className?: string\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n /** Custom text style for \"Copied!\" text (overrides Tailwind text classes) */\n textStyle?: TextStyle\n /** Accessible label for the button */\n accessibilityLabel?: string\n}\n\n/**\n * React Native CopyButton component. Copies text to clipboard on press\n * and shows \"Copied!\" feedback briefly.\n */\nexport const CopyButton: React.FC<CopyButtonProps> = ({\n text,\n onCopy,\n className = '',\n style,\n textStyle,\n accessibilityLabel = 'Copy to clipboard',\n}) => {\n const [copied, setCopied] = useState(false)\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n const handlePress = useCallback(() => {\n Clipboard.setString(text)\n setCopied(true)\n onCopy?.(true)\n if (timeoutRef.current) clearTimeout(timeoutRef.current)\n timeoutRef.current = setTimeout(() => setCopied(false), FEEDBACK_DURATION_MS)\n }, [text, onCopy])\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current)\n }\n }, [])\n\n const buttonClasses = `p-0 flex-shrink-0 min-w-0 bg-transparent ${className}`.trim()\n const buttonStyle = [cn(buttonClasses), style].filter(Boolean)\n\n const copiedTextClasses = 'text-xs text-dash-brand font-medium'\n const copiedTextStyle = [cn(copiedTextClasses), textStyle].filter(Boolean)\n\n return (\n <Pressable\n onPress={handlePress}\n style={({ pressed }) =>\n [buttonStyle, pressed && { opacity: 0.7 }].filter(Boolean)\n }\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"button\"\n >\n {copied ? (\n <View style={cn('items-center justify-center min-w-4 min-h-4')}>\n <Text style={copiedTextStyle}>Copied!</Text>\n </View>\n ) : (\n <CopyIcon color=\"#0C1C33\" size={16} />\n )}\n </Pressable>\n )\n}\n\nexport default CopyButton\n","import React from 'react'\nimport { Text, TextProps, TextStyle } from 'react-native'\nimport { cn } from '../../utils/tw'\n\nexport interface NotActiveProps extends Omit<TextProps, 'style'> {\n children?: React.ReactNode\n className?: string\n /** Light or dark theme */\n theme?: 'light' | 'dark'\n /** Custom text style (overrides Tailwind classes) */\n style?: TextStyle\n}\n\n/**\n * NotActive component for React Native\n * Shows \"n/a\" text with theme-aware styling\n */\nexport function NotActive({ \n children, \n className = '', \n theme = 'light',\n style,\n ...props \n}: NotActiveProps): React.JSX.Element {\n const themeColor = theme === 'dark' ? 'text-gray-500' : 'text-gray-400'\n const textClasses = `text-sm ${themeColor} ${className}`.trim()\n \n return (\n <Text\n style={[cn(textClasses), style].filter(Boolean)}\n {...props}\n >\n {children ?? 'n/a'}\n </Text>\n )\n}\n\nexport default NotActive\n","import React, {\n useState,\n useCallback,\n PropsWithChildren\n} from 'react'\nimport { View, Text, ViewProps, LayoutChangeEvent, ViewStyle, TextStyle } from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\nimport { NotActive } from '../notActive'\nimport { CopyButton } from '../copyButton'\nimport { Avatar } from '../avatar'\n\n/** CVA for the root container with light/dark theme */\nconst identifier = cva(\n 'flex flex-row items-center font-dash-grotesque text-sm font-normal',\n {\n variants: {\n theme: {\n light: 'text-gray-900',\n dark: 'text-white'\n },\n ellipsis: {\n false: '',\n true: 'overflow-hidden'\n },\n highlight: {\n default: '',\n dim: '',\n highlight: '',\n first: '',\n last: '',\n both: ''\n }\n },\n defaultVariants: {\n theme: 'light',\n ellipsis: false,\n highlight: 'default'\n }\n }\n)\ntype IdentifierVariants = VariantProps<typeof identifier>\n\n/** CVA for each symbol text: inherits root color or dims */\nconst symbol = cva('flex-1', {\n variants: {\n dim: {\n false: '',\n true: 'opacity-50'\n }\n },\n defaultVariants: {\n dim: false\n }\n})\n\n/** Highlight modes configuration */\nconst highlightModes = {\n default: { first: true, middle: false, last: true },\n dim: { first: false, middle: false, last: false },\n highlight: { first: true, middle: true, last: true },\n first: { first: true, middle: false, last: false },\n last: { first: false, middle: false, last: true },\n both: { first: true, middle: false, last: true }\n} as const\ntype HighlightMode = keyof typeof highlightModes\n\nexport interface IdentifierProps extends IdentifierVariants, Omit<ViewProps, 'style'> {\n children?: string\n avatar?: boolean\n copyButton?: boolean\n maxLines?: number\n className?: string\n middleEllipsis?: boolean\n edgeChars?: number\n /** Theme to use */\n theme?: 'light' | 'dark'\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n /** Custom text style (overrides Tailwind text classes) */\n textStyle?: TextStyle\n}\n\n/**\n * HighlightedID subcomponent\n * Renders text with highlighting based on mode\n */\nconst HighlightedID: React.FC<PropsWithChildren<{ \n mode: HighlightMode\n theme?: 'light' | 'dark'\n textStyle?: TextStyle\n}>> = ({ \n children, \n mode,\n theme = 'light',\n textStyle\n}) => {\n if (children == null || children === '') return <NotActive theme={theme} />\n const text: string = String(children)\n const cfg = highlightModes[mode]\n const count = 5\n const minLength = count * 2 + 1 // 11\n if (text.length < minLength) {\n const symbolStyle = [cn(symbol({ dim: cfg.middle })), textStyle].filter(Boolean)\n return <Text style={symbolStyle}>{text}</Text>\n }\n const first: string = text.slice(0, count)\n const middle: string = text.slice(count, text.length - count)\n const last: string = text.slice(-count)\n\n const firstStyle = [cn(symbol({ dim: !cfg.first })), textStyle].filter(Boolean)\n const middleStyle = [cn(symbol({ dim: !cfg.middle })), textStyle].filter(Boolean)\n const lastStyle = [cn(symbol({ dim: !cfg.last })), textStyle].filter(Boolean)\n\n return (\n <Text>\n <Text style={firstStyle}>{first}</Text>\n <Text style={middleStyle}>{middle}</Text>\n <Text style={lastStyle}>{last}</Text>\n </Text>\n )\n}\n\n/**\n * MiddleEllipsisText subcomponent\n * Renders text with ellipsis in the middle\n */\nconst MiddleEllipsisText: React.FC<{ \n children: string\n edgeChars: number\n theme?: 'light' | 'dark'\n textStyle?: TextStyle\n}> = ({ \n children, \n edgeChars,\n theme = 'light',\n textStyle\n}) => {\n if (children == null || children === '') return <NotActive theme={theme} />\n const text: string = String(children)\n \n if (text.length <= edgeChars * 2) {\n const style = textStyle ? [textStyle] : undefined\n return <Text style={style}>{text}</Text>\n }\n \n const first: string = text.slice(0, edgeChars)\n const last: string = text.slice(-edgeChars)\n \n const ellipsisStyle = [cn('opacity-50'), textStyle].filter(Boolean)\n \n return (\n <Text>\n <Text style={textStyle}>{first}</Text>\n <Text style={ellipsisStyle}>&hellip;</Text>\n <Text style={textStyle}>{last}</Text>\n </Text>\n )\n}\n\n/**\n * Identifier component for React Native\n * Shows an ID string with optional highlighting, avatar, copy button, and ellipsis modes.\n * \n * Features:\n * - Highlight modes: default, dim, highlight, first, last, both\n * - Ellipsis modes: standard (tail), middle, maxLines\n * - Avatar integration\n * - Copy button integration\n * - Theme support (light/dark)\n * \n * @example\n * ```tsx\n * <Identifier highlight=\"both\">0x1234567890abcdef</Identifier>\n * <Identifier avatar copyButton>alice@example.com</Identifier>\n * <Identifier middleEllipsis edgeChars={6}>very-long-identifier</Identifier>\n * <Identifier maxLines={2}>Multi-line\\nidentifier\\ntext</Identifier>\n * ```\n */\nconst Identifier: React.FC<IdentifierProps> = ({\n children,\n ellipsis = false,\n highlight = undefined,\n avatar = false,\n copyButton = false,\n maxLines = 0,\n className = '',\n middleEllipsis = false,\n edgeChars = 4,\n theme = 'light',\n style,\n textStyle,\n ...props\n}) => {\n const [containerWidth, setContainerWidth] = useState(0)\n\n // Handle container layout changes\n const handleLayout = useCallback((event: LayoutChangeEvent) => {\n const { width } = event.nativeEvent.layout\n setContainerWidth(width)\n }, [])\n\n const rootClasses = `${identifier({ theme: theme as 'light' | 'dark', ellipsis, highlight })} ${className}`.trim()\n\n // Determine if we should use standard ellipsis with numberOfLines\n const useStandardEllipsis = ellipsis === true && !middleEllipsis && maxLines === 0\n const useMaxLines = maxLines > 0 && !middleEllipsis\n\n // Symbol container classes\n const symbolContainerClass = ellipsis === true\n ? 'flex-1 overflow-hidden'\n : 'flex-1'\n\n // Merge text styles\n const finalTextStyle = [cn('leading-4'), textStyle].filter(Boolean)\n\n return (\n <View \n style={[cn(rootClasses), style].filter(Boolean)} \n onLayout={handleLayout}\n {...props}\n >\n {avatar && children != null && children !== '' && (\n <Avatar \n username={children} \n className=\"mr-2\"\n width={24}\n height={24}\n />\n )}\n \n <View style={cn(symbolContainerClass)}>\n {children != null && children !== '' && middleEllipsis ? (\n <MiddleEllipsisText edgeChars={edgeChars} theme={theme} textStyle={textStyle}>\n {children}\n </MiddleEllipsisText>\n ) : children != null && children !== '' && highlight != null ? (\n <HighlightedID mode={highlight} theme={theme} textStyle={textStyle}>\n {children}\n </HighlightedID>\n ) : children != null && children !== '' ? (\n <Text\n numberOfLines={useStandardEllipsis ? 1 : useMaxLines ? maxLines : undefined}\n ellipsizeMode={useStandardEllipsis || useMaxLines ? 'tail' : undefined}\n style={finalTextStyle}\n >\n {children}\n </Text>\n ) : (\n <NotActive theme={theme} />\n )}\n </View>\n \n {copyButton && children != null && children !== '' && (\n <CopyButton className=\"ml-3\" text={children} />\n )}\n </View>\n )\n}\n\nexport default Identifier\nexport { Identifier }\n","import React from 'react'\nimport {\n View,\n Pressable,\n ActivityIndicator,\n ViewStyle,\n PressableProps,\n} from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\n\n/**\n * ValueCard CVA - twrnc-compatible classes.\n * dash-block-sm/md/xl expanded: px-3 py-2 rounded-[10px], px-[18px] py-3 rounded-[14px], px-[25px] py-5 rounded-[16px]\n * hover: classes omitted (RN uses Pressable opacity for press feedback)\n */\nconst valueCardStyles = cva(\n 'flex flex-row items-center',\n {\n variants: {\n theme: {\n light: 'border-gray-200',\n dark: 'bg-gray-800/50 border-gray-400',\n },\n colorScheme: {\n default: '',\n transparent: 'bg-transparent',\n green: 'text-green-500 bg-green-200 border-green-400',\n lightBlue: 'bg-[rgba(150,167,255,0.1)] border-[rgba(76,126,255,0.2)]',\n white: 'bg-white',\n lightGray: 'bg-[#0c1c3308]',\n yellow: 'bg-dash-yellow-light border-dash-yellow',\n },\n size: {\n xs: 'px-2 py-1 rounded',\n sm: 'px-3 py-2 rounded-[10px]',\n md: 'px-[18px] py-3 rounded-[14px]',\n xl: 'px-[25px] py-5 rounded-[16px]',\n },\n clickable: {\n false: '',\n true: '',\n },\n loading: {\n false: '',\n true: 'opacity-70',\n },\n border: {\n false: 'border-0',\n true: 'border',\n },\n },\n defaultVariants: {\n theme: 'light',\n colorScheme: 'default',\n size: 'md',\n clickable: false,\n loading: false,\n border: true,\n },\n }\n)\n\ntype ValueCardVariants = VariantProps<typeof valueCardStyles>\n\nexport interface ValueCardProps\n extends Omit<PressableProps, 'style'>,\n Omit<ValueCardVariants, 'theme'> {\n /** Theme - light or dark. Default: 'light' */\n theme?: 'light' | 'dark'\n /** Color scheme */\n colorScheme?: 'default' | 'transparent' | 'green' | 'lightBlue' | 'white' | 'lightGray' | 'yellow'\n /** Size variant */\n size?: 'xs' | 'sm' | 'md' | 'xl'\n /** Whether the card is clickable (shows press feedback) */\n clickable?: boolean\n /** Show loading state with ActivityIndicator */\n loading?: boolean\n /** Show border. Default: true */\n border?: boolean\n /** Additional Tailwind classes */\n className?: string\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n /** Card content */\n children: React.ReactNode\n}\n\n/**\n * React Native ValueCard - card container with theme, color schemes, sizes,\n * clickability, loading state, and optional border.\n */\nexport const ValueCard: React.FC<ValueCardProps> = ({\n theme = 'light',\n colorScheme = 'default',\n size = 'md',\n clickable = false,\n loading = false,\n border = true,\n className = '',\n style,\n children,\n onPress,\n ...props\n}) => {\n const isClickable = Boolean(onPress ?? clickable)\n const isDisabled = loading\n\n const classes = valueCardStyles({\n theme,\n colorScheme,\n size,\n clickable: isClickable,\n loading,\n border,\n })\n\n const combinedClasses = className ? `${classes} ${className}` : classes\n const containerStyle = [cn(combinedClasses), style].filter(Boolean) as ViewStyle[]\n\n const content = loading ? (\n <ActivityIndicator\n testID=\"value-card-loading\"\n size=\"small\"\n color={colorScheme === 'green' ? '#22c55e' : colorScheme === 'lightBlue' ? '#4C7EFF' : '#6B7280'}\n />\n ) : (\n children\n )\n\n if (isClickable && !isDisabled) {\n return (\n <Pressable\n style={({ pressed }) => [\n ...containerStyle,\n pressed && { opacity: 0.9 },\n ]}\n onPress={onPress}\n disabled={isDisabled}\n {...props}\n >\n {content}\n </Pressable>\n )\n }\n\n return (\n <View style={containerStyle} {...props}>\n {content}\n </View>\n )\n}\n\nexport default ValueCard\n","import React from 'react'\nimport { View, Pressable, ViewStyle } from 'react-native'\nimport Svg, { Path } from 'react-native-svg'\nimport { cn } from '../../utils/tw'\n\nexport interface DashLogoProps {\n color?: string\n size?: number\n width?: number\n height?: number\n className?: string\n onPress?: () => void\n containerPadding?: number\n containerSize?: number\n containerClassName?: string\n /** Custom container style (overrides Tailwind classes) */\n containerStyle?: ViewStyle\n}\n\n/**\n * Dash Logo component for React Native with customizable size and color\n * Original aspect ratio: 30:25 (1.2:1)\n * \n * Color can be set via:\n * - color prop (default: #4C7EFF)\n * \n * Container supports:\n * - containerPadding: padding around the logo\n * - containerSize: width/height of the container \n * - containerClassName: Tailwind classes for the container\n * - containerStyle: Additional style object for the container\n */\nexport const DashLogo: React.FC<DashLogoProps> = ({\n color = '#4C7EFF',\n size,\n width,\n height,\n className = '',\n onPress,\n containerPadding,\n containerSize,\n containerClassName = '',\n containerStyle\n}) => {\n const logoWidth = width || size || 30\n const logoHeight = height || (size ? (size * 25) / 30 : 25)\n\n const baseContainerClasses = 'flex justify-center items-center'\n const containerClasses = containerClassName \n ? `${baseContainerClasses} ${containerClassName}` \n : baseContainerClasses\n\n const inlineContainerStyle: ViewStyle = {\n padding: containerPadding,\n width: containerSize,\n height: containerSize,\n ...containerStyle\n }\n\n const combinedContainerStyle = [\n cn(containerClasses),\n inlineContainerStyle\n ].filter(Boolean)\n\n const logoElement = (\n <Svg\n width={logoWidth}\n height={logoHeight}\n viewBox='0 0 30 25'\n fill='none'\n >\n <Path\n d='M19.6465 0C29.2466 2.13767e-05 30.9542 5.2464 29.585 12.6006C28.6773 17.5547 26.3845 21.3391 22.5537 23.1084C20.8153 23.9084 19.1848 24.3555 15.3389 24.3555H4.44629L5.33887 19.293H14.9229C20.6921 19.3084 22.2159 16.8009 22.9697 14.6162C23.2467 13.8008 23.9084 11.2619 23.9238 9.76953C23.9699 6.84642 22.5383 5.07715 17.6768 5.07715L7.81543 5.06152L8.72363 0H19.6465Z'\n fill={color}\n />\n <Path\n d='M15.2002 9.63184C15.2002 9.63184 15.0775 10.232 14.7236 11.709C14.4621 12.8321 14.0462 14.6934 11.1846 14.6934H0C0.00327153 14.6775 0.12745 14.0734 0.476562 12.6162C0.73811 11.493 1.15435 9.63184 4.01562 9.63184H15.2002Z'\n fill={color}\n />\n </Svg>\n )\n\n if (onPress) {\n return (\n <Pressable style={combinedContainerStyle} onPress={onPress}>\n {logoElement}\n </Pressable>\n )\n }\n\n return (\n <View style={combinedContainerStyle}>\n {logoElement}\n </View>\n )\n}\n\nexport default DashLogo\n","import React from 'react'\nimport {\n SuccessIcon,\n ErrorIcon,\n QueuedIcon,\n PooledIcon,\n BroadcastedIcon,\n IconProps\n} from '../icons'\n\n/**\n * Available status keys for which an icon will be rendered.\n */\nexport type StatusKey =\n | 'SUCCESS'\n | 'FAIL'\n | 'QUEUED'\n | 'POOLED'\n | 'BROADCASTED'\n\n/**\n * Props for the TransactionStatusIcon component.\n */\nexport interface TransactionStatusIconProps extends Omit<IconProps, 'color'> {\n /** Which status icon to show. */\n status: StatusKey\n /** Optional override for icon color. */\n color?: string\n /** Theme for default color selection. */\n theme?: 'light' | 'dark'\n}\n\nconst defaultColors = {\n light: {\n SUCCESS: '#1CC400',\n FAIL: '#F45858',\n QUEUED: '#F4A358',\n POOLED: '#008DE4',\n BROADCASTED: '#008DE4'\n },\n dark: {\n SUCCESS: '#22D32E',\n FAIL: '#FF6B6B',\n QUEUED: '#FFB366',\n POOLED: '#42A5F5',\n BROADCASTED: '#42A5F5'\n }\n}\n\nconst iconMap = {\n SUCCESS: SuccessIcon,\n FAIL: ErrorIcon,\n QUEUED: QueuedIcon,\n POOLED: PooledIcon,\n BROADCASTED: BroadcastedIcon\n} as const\n\n/**\n * Renders an icon corresponding to the given `status`.\n * If `status` is not recognized, returns null.\n * Colors adapt to light/dark theme unless overridden.\n */\nexport const TransactionStatusIcon: React.FC<TransactionStatusIconProps> = ({\n status,\n color,\n theme = 'light',\n ...props\n}) => {\n const IconComponent = iconMap[status]\n if (IconComponent == null) return null\n\n const iconColor = color ?? defaultColors[theme][status]\n\n return <IconComponent color={iconColor} {...props} />\n}\n\nexport default TransactionStatusIcon\n","import { useState, useEffect, useRef, useCallback } from 'react'\n\ninterface UseDebounceOptions<T> {\n /**\n * Delay in milliseconds\n */\n delay: number\n /**\n * Callback called when debounced value changes\n */\n callback?: (value: T) => void\n /**\n * If true, the value will be set immediately on first call\n */\n immediate?: boolean\n}\n\ninterface UseDebounceReturn<T> {\n /**\n * Current debounced value\n */\n debouncedValue: T\n /**\n * Function to force flush debounce and immediately update value\n */\n flush: () => void\n /**\n * Function to cancel current pending debounce\n */\n cancel: () => void\n /**\n * Whether there's a pending change\n */\n isPending: boolean\n}\n\n/**\n * Hook for debouncing values with extended functionality\n * React Native compatible version\n * \n * @param value - Value to debounce\n * @param options - Configuration options\n * @returns Object with debounced value and control methods\n */\nconst useDebounce = <T>(\n value: T, \n options: UseDebounceOptions<T> | number\n): UseDebounceReturn<T> => {\n // Backward compatibility support - if number is passed, it's delay\n const config: UseDebounceOptions<T> = typeof options === 'number' \n ? { delay: options }\n : options\n\n const { delay, callback, immediate = false } = config\n \n const [debouncedValue, setDebouncedValue] = useState<T>(value)\n const [isPending, setIsPending] = useState(false)\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const isFirstRun = useRef(true)\n\n const cancel = useCallback(() => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = null\n setIsPending(false)\n }\n }, [])\n\n const flush = useCallback(() => {\n cancel()\n setDebouncedValue(value)\n callback?.(value)\n setIsPending(false)\n }, [value, callback, cancel])\n\n useEffect(() => {\n // If immediate === true and this is first run, set value immediately\n if (immediate && isFirstRun.current) {\n setDebouncedValue(value)\n callback?.(value)\n isFirstRun.current = false\n return\n }\n\n isFirstRun.current = false\n setIsPending(true)\n\n const handler = setTimeout(() => {\n setDebouncedValue(value)\n callback?.(value)\n setIsPending(false)\n timeoutRef.current = null\n }, delay)\n\n timeoutRef.current = handler\n\n return () => {\n clearTimeout(handler)\n setIsPending(false)\n }\n }, [value, delay, callback, immediate])\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [])\n\n return {\n debouncedValue,\n flush,\n cancel,\n isPending\n }\n}\n\n// Export for backward compatibility\nexport default useDebounce\n\n// Named export for new API\nexport { useDebounce }\n","/**\n * Design tokens for React Native\n * \n * These tokens are derived from the web theme (src/styles/theme.pcss)\n * and optimized for React Native StyleSheet usage.\n * \n * @example\n * ```typescript\n * import { colors, spacing, typography, borderRadius, shadows } from 'dash-ui-kit/react-native';\n * import { StyleSheet, Platform } from 'react-native';\n * \n * const styles = StyleSheet.create({\n * container: {\n * backgroundColor: colors.brand,\n * padding: spacing[4],\n * borderRadius: borderRadius.md,\n * ...Platform.select({\n * ios: shadows.md.ios,\n * android: shadows.md.android,\n * }),\n * },\n * title: {\n * fontSize: typography.fontSize.xl,\n * fontWeight: typography.fontWeight.semibold,\n * lineHeight: typography.lineHeight.xl,\n * },\n * });\n * ```\n */\n\n/**\n * Color palette\n * Derived from theme.pcss color variables\n */\nexport const colors = {\n // Brand colors\n brand: '#4C7EFF',\n brandDim: '#96A7FF',\n brandDark: '#4D5895',\n brandDarkness: '#13172A',\n\n // Accent colors\n mint: '#60F6D2',\n mintHover: '#4DD4B1',\n\n // Yellow variants\n yellowLight: '#fef3c7',\n yellow: '#fde68a',\n\n // Primary colors\n primaryDarkBlue: '#0C1C33',\n primaryDieSubdued: 'rgba(12, 28, 51, 0.03)',\n\n // State colors - Green\n green: '#40BF40',\n green75: 'rgba(64, 191, 64, 0.75)',\n green15: 'rgba(64, 191, 64, 0.15)',\n green5: 'rgba(64, 191, 64, 0.05)',\n\n // State colors - Red\n red: '#CD2E00',\n red75: 'rgba(205, 46, 0, 0.75)',\n red15: 'rgba(205, 46, 0, 0.15)',\n red5: 'rgba(205, 46, 0, 0.05)',\n\n // State colors - Orange\n orange: '#F98F12',\n orange75: 'rgba(249, 143, 18, 0.75)',\n orange15: 'rgba(249, 143, 18, 0.15)',\n orange5: 'rgba(249, 143, 18, 0.05)',\n\n // Common colors\n white: '#FFFFFF',\n black: '#000000',\n transparent: 'transparent',\n} as const;\n\n/**\n * Spacing scale\n * Based on 4px base unit (Tailwind-compatible)\n */\nexport const spacing = {\n 0: 0,\n 1: 4,\n 2: 8,\n 3: 12,\n 4: 16,\n 5: 20,\n 6: 24,\n 7: 28,\n 8: 32,\n 9: 36,\n 10: 40,\n 11: 44, // 2.75rem from theme\n 12: 48,\n 14: 56,\n 16: 64,\n 18: 72,\n 20: 80,\n 24: 96,\n 28: 112,\n 32: 128,\n 36: 144,\n 40: 160,\n 44: 176,\n 48: 192,\n 52: 208,\n 56: 224,\n 60: 240,\n 64: 256,\n} as const;\n\n/**\n * Typography scale\n * Font sizes, weights, and line heights\n */\nexport const typography = {\n /**\n * Font size scale\n */\n fontSize: {\n xs: 12,\n sm: 14,\n base: 16,\n lg: 18,\n xl: 20,\n '2xl': 24,\n '3xl': 30,\n '4xl': 36,\n '5xl': 48,\n '6xl': 60,\n '7xl': 72,\n '8xl': 96,\n '9xl': 128,\n },\n\n /**\n * Font weight scale\n * Values are strings for React Native compatibility\n */\n fontWeight: {\n normal: '400',\n medium: '500',\n semibold: '600',\n bold: '700',\n extrabold: '800',\n },\n\n /**\n * Line height scale (in pixels)\n * Calculated based on common typography ratios\n */\n lineHeight: {\n xs: 16, // 1.33x\n sm: 20, // 1.43x\n base: 24, // 1.5x\n lg: 28, // 1.56x\n xl: 28, // 1.4x\n '2xl': 32, // 1.33x\n '3xl': 36, // 1.2x\n '4xl': 40, // 1.11x\n '5xl': 56, // 1.17x\n '6xl': 72, // 1.2x\n '7xl': 84, // 1.17x\n '8xl': 112, // 1.17x\n '9xl': 144, // 1.13x\n },\n\n /**\n * Letter spacing (tracking)\n */\n letterSpacing: {\n tighter: -0.8,\n tight: -0.4,\n normal: 0,\n wide: 0.4,\n wider: 0.8,\n widest: 1.6,\n },\n} as const;\n\n/**\n * Border radius scale\n */\nexport const borderRadius = {\n none: 0,\n xs: 4,\n sm: 10,\n md: 12,\n lg: 14,\n xl: 16,\n '2xl': 20,\n '3xl': 24,\n full: 9999,\n} as const;\n\n/**\n * Shadow presets\n * Platform-specific implementations for iOS and Android\n * \n * @example\n * ```typescript\n * import { Platform } from 'react-native';\n * \n * const shadowStyle = Platform.select({\n * ios: shadows.md.ios,\n * android: shadows.md.android,\n * });\n * ```\n */\nexport const shadows = {\n /**\n * Small shadow - subtle elevation\n */\n sm: {\n ios: {\n shadowColor: '#000000',\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n shadowRadius: 2,\n },\n android: {\n elevation: 2,\n },\n },\n\n /**\n * Medium shadow - standard elevation\n */\n md: {\n ios: {\n shadowColor: '#000000',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.15,\n shadowRadius: 4,\n },\n android: {\n elevation: 4,\n },\n },\n\n /**\n * Large shadow - prominent elevation\n */\n lg: {\n ios: {\n shadowColor: '#000000',\n shadowOffset: { width: 0, height: 4 },\n shadowOpacity: 0.2,\n shadowRadius: 8,\n },\n android: {\n elevation: 8,\n },\n },\n\n /**\n * Extra large shadow - maximum elevation\n */\n xl: {\n ios: {\n shadowColor: '#000000',\n shadowOffset: { width: 0, height: 8 },\n shadowOpacity: 0.25,\n shadowRadius: 16,\n },\n android: {\n elevation: 12,\n },\n },\n} as const;\n\n/**\n * Border width scale\n */\nexport const borderWidth = {\n 0: 0,\n 1: 1,\n 2: 2,\n 4: 4,\n 8: 8,\n} as const;\n\n/**\n * Opacity scale\n */\nexport const opacity = {\n 0: 0,\n 5: 0.05,\n 10: 0.1,\n 15: 0.15,\n 20: 0.2,\n 25: 0.25,\n 30: 0.3,\n 40: 0.4,\n 50: 0.5,\n 60: 0.6,\n 70: 0.7,\n 75: 0.75,\n 80: 0.8,\n 90: 0.9,\n 95: 0.95,\n 100: 1,\n} as const;\n\n/**\n * Z-index scale\n */\nexport const zIndex = {\n 0: 0,\n 10: 10,\n 20: 20,\n 30: 30,\n 40: 40,\n 50: 50,\n auto: 'auto' as const,\n} as const;\n\n// Type exports for TypeScript users\nexport type Colors = typeof colors;\nexport type Spacing = typeof spacing;\nexport type Typography = typeof typography;\nexport type BorderRadius = typeof borderRadius;\nexport type Shadows = typeof shadows;\nexport type BorderWidth = typeof borderWidth;\nexport type Opacity = typeof opacity;\nexport type ZIndex = typeof zIndex;\n","/**\n * Utility functions for React Native styles\n */\n\nimport { Platform } from 'react-native';\nimport { shadows } from './tokens';\n\n/**\n * Creates an rgba color string from hex color and opacity\n * \n * @param hexColor - Hex color string (e.g., '#4C7EFF')\n * @param alpha - Opacity value between 0 and 1\n * @returns rgba color string\n * \n * @example\n * ```typescript\n * rgba('#4C7EFF', 0.5) // 'rgba(76, 126, 255, 0.5)'\n * rgba('#40BF40', 0.15) // 'rgba(64, 191, 64, 0.15)'\n * ```\n */\nexport function rgba(hexColor: string, alpha: number): string {\n const hex = hexColor.replace('#', '');\n const r = parseInt(hex.substring(0, 2), 16);\n const g = parseInt(hex.substring(2, 4), 16);\n const b = parseInt(hex.substring(4, 6), 16);\n \n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n}\n\n/**\n * Converts hex color to rgba\n * Alias for rgba() with more explicit naming\n * \n * @param hexColor - Hex color string\n * @param alpha - Opacity value between 0 and 1\n * @returns rgba color string\n */\nexport function hexToRgba(hexColor: string, alpha: number): string {\n return rgba(hexColor, alpha);\n}\n\n/**\n * Shadow style type for iOS platform\n */\ntype IOSShadowStyle = {\n shadowColor: string;\n shadowOffset: { width: number; height: number };\n shadowOpacity: number;\n shadowRadius: number;\n};\n\n/**\n * Shadow style type for Android platform\n */\ntype AndroidShadowStyle = {\n elevation: number;\n};\n\n/**\n * Gets platform-specific shadow styles\n * \n * @param size - Shadow size: 'sm' | 'md' | 'lg' | 'xl'\n * @returns Platform-specific shadow styles\n * \n * @example\n * ```typescript\n * const styles = StyleSheet.create({\n * card: {\n * ...getShadow('md'),\n * },\n * });\n * ```\n */\nexport function getShadow(\n size: 'sm' | 'md' | 'lg' | 'xl'\n): IOSShadowStyle | AndroidShadowStyle {\n if (Platform.OS === 'ios') {\n return shadows[size].ios;\n } else if (Platform.OS === 'android') {\n return shadows[size].android;\n }\n // Default to iOS shadow style for other platforms\n return shadows[size].ios;\n}\n\n/**\n * Type guard to check if value is a valid spacing key\n */\nexport function isSpacingKey(value: any): value is keyof typeof import('./tokens').spacing {\n const spacingKeys = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64];\n return spacingKeys.includes(value);\n}\n"],"names":["tailwindConfig","theme","extend","colors","tw","create","cn","className","textStyles","cva","variants","variant","body","caption","label","weight","regular","medium","semibold","bold","color","default","blue","red","gray","italic","false","true","underline","lineThrough","transform","none","uppercase","capitalize","opacity","defaultVariants","Text","_a","style","children","props","__rest","classes","textStyle","filter","Boolean","_jsx","RNText","Object","assign","headingStyles","level","normal","extrabold","black","green","Heading","headingStyle","buttonStyles","solid","outline","ghost","colorScheme","brand","mint","lightBlue","lightGray","white","halfWhite","halfBlue","size","sm","md","lg","xl","rounded","full","disabled","compoundVariants","class","Button","loading","onPress","isDisabled","buttonClasses","textClasses","buttonStyle","textStyleMerged","Pressable","pressed","ActivityIndicator","ArrowIcon","Svg","width","height","viewBox","fill","Path","d","CopyIcon","_jsxs","G","clipPath","Defs","ClipPath","id","Rect","SuccessIcon","Circle","cx","cy","r","fillOpacity","stroke","strokeWidth","strokeLinecap","ErrorIcon","rx","CheckIcon","strokeLinejoin","CrossIcon","PlusIcon","ChevronIcon","SearchIcon","InfoCircleIcon","EyeOpenIcon","EyeClosedIcon","Line","x1","y1","x2","y2","AsteriskIcon","TopRightArrowIcon","QueuedIcon","PooledIcon","BroadcastedIcon","Icons","inputStyles","error","success","outlined","filled","Input","secureTextEntry","prefix","prefixStyle","showPasswordToggle","showPassword","setShowPassword","useState","finalColorScheme","isPassword","shouldShowToggle","hasPrefix","togglePasswordVisibility","inputStyle","inputTextStyle","fontSize","lineHeight","fontWeight","containerStyle","paddingRight","paddingLeft","defaultPrefixStyle","renderPrefix","View","position","left","justifyContent","zIndex","pointerEvents","TextInput","editable","placeholderTextColor","TouchableOpacity","right","alignItems","activeOpacity","tabsRootStyles","light","dark","tabsListStyles","tabsTriggerStyles","active","tabsContentStyles","Tabs","items","value","defaultValue","onValueChange","listClassName","triggerClassName","contentClassName","listStyle","triggerStyle","contentStyle","internalValue","setInternalValue","currentValue","undefined","handleValueChange","newValue","rootClasses","listClasses","contentClasses","rootStyle","listStyleCombined","contentStyleCombined","borderColor","activeBorderColor","ScrollView","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","flexDirection","map","item","isActive","triggerClasses","triggerStyleCombined","textColor","baseTextStyle","finalTextStyle","bottom","backgroundColor","content","Avatar","username","saturation","lightness","svgString","useMemo","minidenticon","containerClasses","trim","SvgXml","xml","badgeStyles","xxs","xs","borderRadius","color_variant_blue_default","color_variant_blue_flat","color_variant_blue_solid","color_variant_blue_bordered","color_variant_white_default","color_variant_white_flat","color_variant_white_solid","color_variant_white_bordered","color_variant_gray_default","color_variant_gray_flat","color_variant_gray_solid","color_variant_gray_bordered","color_variant_lightgray_default","color_variant_lightgray_flat","color_variant_lightgray_solid","color_variant_lightgray_bordered","color_variant_turquoise_default","color_variant_turquoise_flat","color_variant_turquoise_solid","color_variant_turquoise_bordered","color_variant_red_default","color_variant_red_flat","color_variant_red_solid","color_variant_red_bordered","color_variant_orange_default","color_variant_orange_flat","color_variant_orange_solid","color_variant_orange_bordered","COLOR_KEY_MAP","Badge","normalizedColor","colorVariantKey","badgeVariantProps","badgeClasses","textVariantProps","combinedClasses","badgeStyleArray","groupDigits","intPart","split","reverse","reduce","acc","char","idx","unshift","BigNumber","decimalPointSpacing","decimalPointStyle","marginLeft","marginRight","str","toString","fracPart","groups","grp","i","_Fragment","length","clipboardInstance","getClipboard","ExpoClipboard","require","setStringAsync","getStringAsync","setString","text","catch","err","console","warn","getString","RNClipboard","Clipboard","clipboard","FEEDBACK_DURATION_MS","CopyButton","onCopy","accessibilityLabel","copied","setCopied","timeoutRef","useRef","handlePress","useCallback","current","clearTimeout","setTimeout","useEffect","copiedTextClasses","copiedTextStyle","accessibilityRole","NotActive","themeColor","identifier","ellipsis","highlight","dim","first","last","both","symbol","highlightModes","middle","HighlightedID","mode","String","cfg","count","minLength","symbolStyle","slice","firstStyle","middleStyle","lastStyle","MiddleEllipsisText","edgeChars","ellipsisStyle","Identifier","avatar","copyButton","maxLines","middleEllipsis","containerWidth","setContainerWidth","handleLayout","event","nativeEvent","layout","useStandardEllipsis","useMaxLines","symbolContainerClass","onLayout","numberOfLines","ellipsizeMode","valueCardStyles","transparent","yellow","clickable","border","ValueCard","isClickable","testID","DashLogo","containerPadding","containerSize","containerClassName","logoWidth","logoHeight","baseContainerClasses","inlineContainerStyle","padding","combinedContainerStyle","logoElement","defaultColors","SUCCESS","FAIL","QUEUED","POOLED","BROADCASTED","iconMap","TransactionStatusIcon","status","IconComponent","iconColor","useDebounce","options","config","delay","callback","immediate","debouncedValue","setDebouncedValue","isPending","setIsPending","isFirstRun","cancel","flush","handler","brandDim","brandDark","brandDarkness","mintHover","yellowLight","primaryDarkBlue","primaryDieSubdued","green75","green15","green5","red75","red15","red5","orange","orange75","orange15","orange5","spacing","typography","base","letterSpacing","tighter","tight","wide","wider","widest","shadows","ios","shadowColor","shadowOffset","shadowOpacity","shadowRadius","android","elevation","borderWidth","auto","rgba","hexColor","alpha","hex","replace","parseInt","substring","g","b","hexToRgba","getShadow","Platform","OS"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/react-native/utils/tw.ts","../../src/react-native/components/text/index.tsx","../../src/react-native/components/heading/index.tsx","../../src/react-native/utils/resolveColorScheme.ts","../../src/react-native/components/button/index.tsx","../../src/react-native/components/icons/index.tsx","../../src/react-native/components/input/index.tsx","../../src/react-native/components/tabs/index.tsx","../../src/react-native/components/avatar/index.tsx","../../src/react-native/components/badge/index.tsx","../../src/react-native/components/bigNumber/index.tsx","../../src/react-native/utils/clipboard.ts","../../src/react-native/components/copyButton/index.tsx","../../src/react-native/components/notActive/index.tsx","../../src/react-native/components/identifier/index.tsx","../../src/react-native/components/valueCard/index.tsx","../../src/react-native/components/dashLogo/index.tsx","../../src/react-native/components/transactionStatusIcon/index.tsx","../../src/react-native/hooks/useDebounce.ts","../../src/react-native/styles/tokens.ts","../../src/react-native/styles/utils.ts"],"sourcesContent":["/**\n * Tailwind utility for React Native using twrnc\n * Converts Tailwind className strings to React Native style objects\n */\nimport { create } from 'twrnc'\n\n// Inline Tailwind config with Dash brand colors for React Native\n// Colors from src/styles/theme.pcss\nconst tailwindConfig = {\n theme: {\n extend: {\n colors: {\n // Dash brand colors - matching Web version\n 'dash-brand': '#4C7EFF', // Primary brand color\n 'dash-brand-dim': '#96A7FF', // Dimmed brand color\n 'dash-brand-dark': '#4D5895', // Dark brand color\n 'dash-brand-darkness': '#13172A', // Darkest brand color\n 'dash-mint': '#60F6D2', // Mint/teal color\n 'dash-mint-hover': '#4DD4B1', // Mint hover state\n 'dash-yellow-light': '#FEF3C7', // Light yellow\n 'dash-yellow': '#FDE68A', // Yellow\n 'dash-primary-die-subdued': '#0c1c3308', // Subdued color with alpha\n 'dash-primary-dark-blue': '#0C1C33', // Dark blue\n // State colors\n 'dash-green': '#40BF40',\n 'dash-red': '#CD2E00',\n 'dash-orange': '#F98F12',\n },\n },\n },\n}\n\n// Create a tailwind instance with React Native compatible colors\nexport const tw = create(tailwindConfig)\n\n/**\n * Helper to convert className string to React Native style object\n * @param className - Tailwind class names string\n * @returns React Native style object\n */\nexport const cn = (className: string) => tw`${className}`\n","import React from 'react'\nimport { Text as RNText, TextProps as RNTextProps, TextStyle } from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\n\nconst textStyles = cva('', {\n variants: {\n variant: {\n body: 'text-base',\n caption: 'text-sm',\n label: 'text-xs',\n },\n weight: {\n regular: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n },\n color: {\n default: 'text-gray-900 dark:text-gray-100',\n blue: 'text-dash-brand',\n red: 'text-red-700 dark:text-red-400',\n gray: 'text-gray-600 dark:text-gray-400',\n },\n italic: {\n false: '',\n true: 'italic',\n },\n underline: {\n false: '',\n true: 'underline',\n },\n lineThrough: {\n false: '',\n true: 'line-through',\n },\n transform: {\n none: '',\n uppercase: 'uppercase',\n capitalize: 'capitalize',\n },\n opacity: {\n 100: 'opacity-100',\n 80: 'opacity-80',\n 60: 'opacity-60',\n 40: 'opacity-40',\n },\n },\n defaultVariants: {\n variant: 'body',\n weight: 'regular',\n color: 'default',\n italic: false,\n underline: false,\n lineThrough: false,\n transform: 'none',\n opacity: 100,\n },\n})\n\ntype TextVariants = VariantProps<typeof textStyles>\n\nexport interface TextProps extends Omit<RNTextProps, 'style'>, TextVariants {\n /** Additional Tailwind classes for styling */\n className?: string\n /** Custom text style (overrides Tailwind classes) */\n style?: TextStyle\n /** Text children */\n children?: React.ReactNode\n}\n\n/**\n * React Native Text component with variants, weights, and styling options.\n * Uses twrnc for Tailwind-like styling converted to React Native styles.\n */\nexport const Text: React.FC<TextProps> = ({\n variant,\n weight,\n color,\n italic,\n underline,\n lineThrough,\n transform,\n opacity,\n className = '',\n style,\n children,\n ...props\n}) => {\n const classes =\n textStyles({\n variant,\n weight,\n color,\n italic,\n underline,\n lineThrough,\n transform,\n opacity,\n }) + (className ? ` ${className}` : '')\n\n // Convert Tailwind classes to React Native style object\n const textStyle = [cn(classes), style].filter(Boolean)\n\n return (\n <RNText style={textStyle} {...props}>\n {children}\n </RNText>\n )\n}\n\nexport default Text\n","import React from 'react'\nimport { Text as RNText, TextProps as RNTextProps, TextStyle } from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\n\nconst headingStyles = cva('font-bold text-gray-900 dark:text-gray-100', {\n variants: {\n level: {\n 1: 'text-4xl',\n 2: 'text-3xl',\n 3: 'text-2xl',\n 4: 'text-xl',\n 5: 'text-lg',\n 6: 'text-base',\n },\n weight: {\n normal: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n extrabold: 'font-extrabold',\n },\n color: {\n default: '',\n black: 'text-black dark:text-white',\n gray: 'text-gray-600 dark:text-gray-300',\n blue: 'text-blue-600 dark:text-blue-400',\n red: 'text-red-600 dark:text-red-400',\n green: 'text-green-600 dark:text-green-400',\n },\n },\n defaultVariants: {\n level: 1,\n weight: 'extrabold',\n color: 'default',\n },\n})\n\ntype HeadingVariants = VariantProps<typeof headingStyles>\n\nexport interface HeadingProps extends Omit<RNTextProps, 'style'>, HeadingVariants {\n /** Semantic level of the heading (1-6) */\n level?: 1 | 2 | 3 | 4 | 5 | 6\n /** Additional Tailwind classes for styling */\n className?: string\n /** Custom text style (overrides Tailwind classes) */\n style?: TextStyle\n /** Text children */\n children: React.ReactNode\n}\n\n/**\n * React Native Heading component with semantic levels and customizable styling.\n * Uses twrnc for Tailwind-like styling converted to React Native styles.\n */\nexport const Heading: React.FC<HeadingProps> = ({\n level,\n weight,\n color,\n className = '',\n style,\n children,\n ...props\n}) => {\n const classes =\n headingStyles({\n level,\n weight,\n color,\n }) + (className ? ` ${className}` : '')\n\n // Convert Tailwind classes to React Native style object\n const headingStyle = [cn(classes), style].filter(Boolean)\n\n return (\n <RNText style={headingStyle} {...props}>\n {children}\n </RNText>\n )\n}\n\nexport default Heading\n","export function resolveColorScheme<T>(\n theme: 'light' | 'dark',\n colorScheme?: T,\n colorSchemeLight?: T,\n colorSchemeDark?: T\n): T | undefined {\n if (theme === 'light' && colorSchemeLight !== undefined) return colorSchemeLight\n if (theme === 'dark' && colorSchemeDark !== undefined) return colorSchemeDark\n return colorScheme\n}\n","import React from 'react'\nimport {\n Pressable,\n Text,\n ActivityIndicator,\n PressableProps,\n ViewStyle,\n TextStyle,\n} from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\nimport { resolveColorScheme } from '../../utils/resolveColorScheme'\n\nconst buttonStyles = cva(\n 'items-center justify-center flex-row min-h-11 transition-colors border border-transparent',\n {\n variants: {\n variant: {\n solid: '',\n outline: 'border-current bg-transparent',\n ghost: 'bg-transparent border-transparent',\n },\n colorScheme: {\n brand: '',\n mint: '',\n gray: '',\n red: '',\n lightBlue: '',\n lightGray: '',\n white: '',\n halfWhite: '',\n halfBlue: '',\n },\n size: {\n sm: 'px-3 py-2',\n md: 'px-[18px] py-3',\n lg: 'px-6 py-4',\n xl: 'px-[25px] py-5',\n },\n rounded: {\n default: '',\n full: 'rounded-full',\n },\n disabled: {\n false: '',\n true: 'opacity-50',\n },\n },\n compoundVariants: [\n // Border radius per size (when rounded is default)\n {\n size: 'sm',\n rounded: 'default',\n class: 'rounded-[10px]',\n },\n {\n size: 'md',\n rounded: 'default',\n class: 'rounded-[14px]',\n },\n {\n size: 'lg',\n rounded: 'default',\n class: 'rounded-[14px]',\n },\n {\n size: 'xl',\n rounded: 'default',\n class: 'rounded-[16px]',\n },\n // Solid variants - brand\n {\n variant: 'solid',\n colorScheme: 'brand',\n disabled: false,\n class: 'bg-dash-brand',\n },\n {\n variant: 'solid',\n colorScheme: 'mint',\n disabled: false,\n class: 'bg-dash-mint',\n },\n {\n variant: 'solid',\n colorScheme: 'gray',\n disabled: false,\n class: 'bg-gray-200 dark:bg-gray-600',\n },\n {\n variant: 'solid',\n colorScheme: 'red',\n disabled: false,\n class: 'bg-red-200 dark:bg-red-600',\n },\n {\n variant: 'solid',\n colorScheme: 'lightBlue',\n disabled: false,\n class: 'bg-dash-brand/10 dark:bg-dash-brand/20',\n },\n {\n variant: 'solid',\n colorScheme: 'lightGray',\n disabled: false,\n class: 'bg-gray-100 dark:bg-gray-700/20',\n },\n {\n variant: 'solid',\n colorScheme: 'white',\n disabled: false,\n class: 'bg-white',\n },\n {\n variant: 'solid',\n colorScheme: 'halfWhite',\n disabled: false,\n class: 'bg-white/15',\n },\n {\n variant: 'solid',\n colorScheme: 'halfBlue',\n disabled: false,\n class: 'bg-dash-brand/15',\n },\n // Outline variants\n {\n variant: 'outline',\n colorScheme: 'brand',\n class: 'border-dash-brand',\n },\n {\n variant: 'outline',\n colorScheme: 'mint',\n class: 'border-dash-mint',\n },\n {\n variant: 'outline',\n colorScheme: 'gray',\n class: 'border-gray-700 dark:border-gray-300',\n },\n {\n variant: 'outline',\n colorScheme: 'red',\n class: 'border-red-700 dark:border-red-400',\n },\n {\n variant: 'outline',\n colorScheme: 'white',\n class: 'border-white',\n },\n {\n variant: 'outline',\n colorScheme: 'halfWhite',\n class: 'border-white/50',\n },\n {\n variant: 'outline',\n colorScheme: 'halfBlue',\n class: 'border-dash-brand/50',\n },\n ],\n defaultVariants: {\n variant: 'solid',\n colorScheme: 'brand',\n size: 'md',\n rounded: 'default',\n disabled: false,\n },\n }\n)\n\nconst textStyles = cva('font-medium', {\n variants: {\n variant: {\n solid: '',\n outline: '',\n ghost: '',\n },\n colorScheme: {\n brand: '',\n mint: '',\n gray: '',\n red: '',\n lightBlue: '',\n lightGray: '',\n white: '',\n halfWhite: '',\n halfBlue: '',\n },\n size: {\n sm: 'text-sm', // 14px\n md: 'text-base', // 16px\n lg: 'text-base', // 16px\n xl: 'text-lg', // 18px\n },\n },\n compoundVariants: [\n // Solid text colors\n {\n variant: 'solid',\n colorScheme: 'brand',\n class: 'text-white',\n },\n {\n variant: 'solid',\n colorScheme: 'mint',\n class: 'text-black',\n },\n {\n variant: 'solid',\n colorScheme: 'gray',\n class: 'text-gray-700 dark:text-gray-100',\n },\n {\n variant: 'solid',\n colorScheme: 'red',\n class: 'text-red-700 dark:text-red-100',\n },\n {\n variant: 'solid',\n colorScheme: 'lightBlue',\n class: 'text-dash-brand',\n },\n {\n variant: 'solid',\n colorScheme: 'lightGray',\n class: 'text-gray-900 dark:text-gray-300',\n },\n {\n variant: 'solid',\n colorScheme: 'white',\n class: 'text-dash-brand',\n },\n {\n variant: 'solid',\n colorScheme: 'halfWhite',\n class: 'text-white',\n },\n {\n variant: 'solid',\n colorScheme: 'halfBlue',\n class: 'text-dash-brand',\n },\n // Outline text colors\n {\n variant: 'outline',\n colorScheme: 'brand',\n class: 'text-dash-brand',\n },\n {\n variant: 'outline',\n colorScheme: 'mint',\n class: 'text-dash-mint',\n },\n {\n variant: 'outline',\n colorScheme: 'gray',\n class: 'text-gray-700 dark:text-gray-300',\n },\n {\n variant: 'outline',\n colorScheme: 'red',\n class: 'text-red-700 dark:text-red-400',\n },\n {\n variant: 'outline',\n colorScheme: 'white',\n class: 'text-white',\n },\n {\n variant: 'outline',\n colorScheme: 'halfWhite',\n class: 'text-white',\n },\n {\n variant: 'outline',\n colorScheme: 'halfBlue',\n class: 'text-dash-brand',\n },\n // Ghost text colors\n {\n variant: 'ghost',\n colorScheme: 'brand',\n class: 'text-dash-brand',\n },\n ],\n defaultVariants: {\n variant: 'solid',\n colorScheme: 'brand',\n size: 'md',\n },\n})\n\ntype ButtonVariants = Omit<VariantProps<typeof buttonStyles>, 'disabled'>\n\nexport interface ButtonProps extends Omit<PressableProps, 'style'>, ButtonVariants {\n /** Light or dark theme */\n theme?: 'light' | 'dark'\n /** Solid, outline, or ghost style */\n variant?: 'solid' | 'outline' | 'ghost'\n /** Color scheme for the button */\n colorScheme?: 'brand' | 'mint' | 'gray' | 'red' | 'lightBlue' | 'lightGray' | 'white' | 'halfWhite' | 'halfBlue'\n /** Color scheme override for light theme */\n colorSchemeLight?: 'brand' | 'mint' | 'gray' | 'red' | 'lightBlue' | 'lightGray' | 'white' | 'halfWhite' | 'halfBlue'\n /** Color scheme override for dark theme */\n colorSchemeDark?: 'brand' | 'mint' | 'gray' | 'red' | 'lightBlue' | 'lightGray' | 'white' | 'halfWhite' | 'halfBlue'\n /** Size of the button */\n size?: 'sm' | 'md' | 'lg' | 'xl'\n /** Border radius style */\n rounded?: 'default' | 'full'\n /** Whether the button is disabled */\n disabled?: boolean\n /** Whether to show loading indicator */\n loading?: boolean\n /** Additional Tailwind classes for styling */\n className?: string\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n /** Custom text style (overrides Tailwind text classes) */\n textStyle?: TextStyle\n /** Button content */\n children: React.ReactNode\n}\n\n/**\n * React Native Button component with variants, color schemes, sizes, and loading state.\n * Uses Pressable for touch interactions and twrnc for Tailwind styling.\n */\nexport const Button: React.FC<ButtonProps> = ({\n theme = 'light',\n variant,\n colorScheme,\n colorSchemeLight,\n colorSchemeDark,\n size,\n rounded,\n disabled = false,\n loading = false,\n className = '',\n style,\n textStyle,\n children,\n onPress,\n ...props\n}) => {\n const isDisabled = disabled || loading\n const effectiveColorScheme = resolveColorScheme(theme, colorScheme, colorSchemeLight, colorSchemeDark) ?? 'brand'\n\n const buttonClasses =\n buttonStyles({\n variant,\n colorScheme: effectiveColorScheme,\n size,\n rounded,\n disabled: isDisabled,\n }) + (className ? ` ${className}` : '')\n\n const textClasses = textStyles({\n variant,\n colorScheme: effectiveColorScheme,\n size,\n })\n\n // Convert Tailwind classes to React Native style objects\n const buttonStyle = [cn(buttonClasses), style].filter(Boolean)\n const textStyleMerged = [cn(textClasses), textStyle].filter(Boolean)\n\n return (\n <Pressable\n style={({ pressed }) => [\n ...buttonStyle,\n pressed && !isDisabled && { opacity: 0.7 },\n ]}\n disabled={isDisabled}\n onPress={onPress}\n {...props}\n >\n {loading ? (\n <ActivityIndicator\n size=\"small\"\n color={variant === 'solid' && effectiveColorScheme === 'brand' ? '#fff' : '#3B82F6'}\n />\n ) : typeof children === 'string' ? (\n <Text style={textStyleMerged}>{children}</Text>\n ) : (\n children\n )}\n </Pressable>\n )\n}\n\nexport default Button\n","import React from 'react'\nimport Svg, { Path, G, Rect, Circle, Defs, ClipPath, Line } from 'react-native-svg'\n\nexport interface IconProps {\n color?: string\n size?: number\n className?: string\n onPress?: () => void\n}\n\nexport const ArrowIcon: React.FC<IconProps> = ({\n color = 'white',\n size = 14,\n onPress\n}) => {\n return (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 9 14'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M7.29297 0.292893C7.68349 -0.0976311 8.31651 -0.0976311 8.70703 0.292893C9.09756 0.683418 9.09756 1.31643 8.70703 1.70696L3.41406 6.99992L8.70703 12.2929L8.77539 12.3691C9.09574 12.7618 9.07315 13.3408 8.70703 13.707C8.34092 14.0731 7.76191 14.0957 7.36914 13.7753L7.29297 13.707L0.585938 6.99992L7.29297 0.292893Z'\n fill={color}\n />\n </Svg>\n )\n}\n\nexport const CopyIcon: React.FC<IconProps> = ({\n color = 'white',\n size = 16,\n onPress\n}) => {\n return (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 16 16'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <G clipPath='url(#clip0_3876_6767)'>\n <G clipPath='url(#clip1_3876_6767)'>\n <G clipPath='url(#clip2_3876_6767)'>\n <Path\n d='M11.4512 10.5645H5.28516V1.75586H9.32335L11.4512 3.88369V10.5645ZM12.332 3.51758L9.68945 0.875H5.28516H4.4043V1.75586V10.5645V11.4453H5.28516H11.4512H12.332V10.5645V3.51758ZM0.880859 4.39844H0V5.2793V14.0879V14.9688H0.880859H7.04688H7.92773V14.0879V12.3262H7.04688V14.0879H0.880859V5.2793H3.52344V4.39844H0.880859Z'\n fill={color}\n />\n </G>\n </G>\n </G>\n <Defs>\n <ClipPath id='clip0_3876_6767'>\n <Rect width='16' height='16' fill='white' />\n </ClipPath>\n <ClipPath id='clip1_3876_6767'>\n <Rect width='16' height='14.25' fill='white' transform='translate(0 0.875)' />\n </ClipPath>\n <ClipPath id='clip2_3876_6767'>\n <Rect width='12.332' height='14.0938' fill='white' transform='translate(0 0.875)' />\n </ClipPath>\n </Defs>\n </Svg>\n )\n}\n\nexport const SuccessIcon: React.FC<IconProps> = ({\n color = '#1CC400',\n size = 18,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 18 18'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Circle cx='9' cy='9' r='9' fill={color} fillOpacity='.2' />\n <Path d='M5 8.5L8 11.5L13.5 6' stroke={color} strokeWidth='2' strokeLinecap='round' />\n </Svg>\n)\n\nexport const ErrorIcon: React.FC<IconProps> = ({\n color = '#F45858',\n size = 18,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 18 18'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Rect width='18' height='18' rx='4' fill={color} fillOpacity='.2' />\n <Path d='M9.06951 10L9.0695 4.86092' stroke={color} strokeWidth='2' strokeLinecap='round' />\n <Path d='M9.06951 13L9.06951 13.0102' stroke={color} strokeWidth='2' strokeLinecap='round' />\n </Svg>\n)\n\nexport const CheckIcon: React.FC<IconProps> = ({\n color = '#4C7EFF',\n size = 20,\n onPress\n}) => {\n return (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 20 20'\n fill='none'\n onPress={onPress}\n >\n <Circle\n cx='10'\n cy='10'\n r='10'\n fill='rgba(12, 28, 51, 0.05)'\n />\n <Path\n d='M6.33 10L8.83 12.5L13.67 7.67'\n stroke={color}\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </Svg>\n )\n}\n\nexport const CrossIcon: React.FC<IconProps> = ({\n color = '#0C1C33',\n size = 16,\n onPress\n}) => (\n <Svg\n width={size}\n height={(size * 17) / 16}\n viewBox='0 0 16 17'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M13.5693 3.40266L13.0973 2.93066L8 8.02866L2.90266 2.93066L2.43066 3.40266L7.52866 8.5L2.43066 13.5973L2.90266 14.0693L8 8.97133L13.0973 14.0693L13.5693 13.5973L8.47133 8.5L13.5693 3.40266Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const PlusIcon: React.FC<IconProps> = ({\n color = '#4C7EFF',\n size = 17,\n onPress\n}) => (\n <Svg\n width={size}\n height={(size * 16) / 17}\n viewBox='0 0 17 16'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M15.1667 7.66665H8.83337V1.33331H8.16671V7.66665H1.83337V8.33331H8.16671V14.6666H8.83337V8.33331H15.1667V7.66665Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const ChevronIcon: React.FC<IconProps> = ({\n color = '#0C1C33',\n size = 12,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 12 12'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M6 8.9395L1.65149 4.59099L2.18149 4.06049L6 7.879L9.8185 4.06049L10.3485 4.59099L6 8.9395Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const SearchIcon: React.FC<IconProps> = ({\n color = '#0C1C33',\n size = 16,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 16 16'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M14.569 14.0977L10.6623 10.191C11.5815 9.14938 12.0591 7.79092 11.9941 6.40327C11.9292 5.01564 11.3267 3.70776 10.3143 2.75659C9.30178 1.80542 7.95892 1.28563 6.56994 1.30729C5.18095 1.32895 3.85492 1.89036 2.87264 2.87264C1.89036 3.85492 1.32895 5.18095 1.30729 6.56994C1.28563 7.95892 1.80542 9.30178 2.75659 10.3143C3.70776 11.3267 5.01564 11.9292 6.40327 11.9941C7.79092 12.0591 9.14938 11.5815 10.191 10.6623L14.0977 14.569L14.569 14.0977ZM6.66665 11.3333C5.74364 11.3333 4.84138 11.0596 4.07396 10.5468C3.30653 10.0341 2.70839 9.30518 2.35518 8.45245C2.00197 7.59978 1.90956 6.66145 2.08962 5.7562C2.26968 4.85095 2.71414 4.01943 3.36678 3.36678C4.01943 2.71414 4.85095 2.26968 5.7562 2.08962C6.66145 1.90956 7.59978 2.00197 8.45245 2.35518C9.30518 2.70839 10.0341 3.30653 10.5468 4.07396C11.0596 4.84138 11.3333 5.74364 11.3333 6.66665C11.3319 7.90385 10.8398 9.09005 9.96492 9.96492C9.09005 10.8398 7.90385 11.3319 6.66665 11.3333Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const InfoCircleIcon: React.FC<IconProps> = ({\n color = '#4C7EFF',\n size = 19,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 19 19'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <G clipPath='url(#clip0_1166_258)'>\n <Path\n d='M9.5 5.5H9.51ZM9.5 8.5V13.5ZM18.5 9.5C18.5 14.4706 14.4706 18.5 9.5 18.5C4.52944 18.5 0.5 14.4706 0.5 9.5C0.5 4.52944 4.52944 0.5 9.5 0.5C14.4706 0.5 18.5 4.52944 18.5 9.5Z'\n fill={color}\n fillOpacity='0.05'\n />\n <Path\n d='M18 9.5C18 4.80558 14.1945 1 9.5 1C4.80558 1 1 4.80558 1 9.5C1 14.1945 4.80558 18 9.5 18C14.1945 18 18 14.1945 18 9.5ZM9 13.5V8.5C9 8.22386 9.22386 8 9.5 8C9.77614 8 10 8.22386 10 8.5V13.5C10 13.7761 9.77614 14 9.5 14C9.22386 14 9 13.7761 9 13.5ZM9.50977 5C9.78591 5 10.0098 5.22386 10.0098 5.5C10.0098 5.77614 9.78591 6 9.50977 6H9.5C9.22386 6 9 5.77614 9 5.5C9 5.22386 9.22386 5 9.5 5H9.50977ZM19 9.5C19 14.7467 14.7467 19 9.5 19C4.2533 19 0 14.7467 0 9.5C0 4.2533 4.2533 0 9.5 0C14.7467 0 19 4.2533 19 9.5Z'\n fill={color}\n />\n </G>\n <Defs>\n <ClipPath id='clip0_1166_258'>\n <Rect width='19' height='19' fill='white' />\n </ClipPath>\n </Defs>\n </Svg>\n)\n\nexport const EyeOpenIcon: React.FC<IconProps> = ({\n color = 'currentColor',\n size = 16,\n onPress\n}) => (\n <Svg\n width={size}\n height={(size * 10) / 16}\n viewBox='0 0 16 10'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M7.89888 0C6.24409 0.000806406 4.62351 0.471042 3.22533 1.35609C1.82715 2.24114 0.708743 3.50469 0 5C0.708092 6.49578 1.82635 7.75974 3.22468 8.64489C4.623 9.53004 6.24392 9.99999 7.89888 9.99999C9.55378 9.99999 11.1747 9.53004 12.573 8.64489C13.9713 7.75974 15.0896 6.49578 15.7977 5C15.089 3.50469 13.9706 2.24114 12.5724 1.35609C11.1742 0.471042 9.55364 0.000806406 7.89888 0ZM7.89888 8.98344C6.52084 8.97755 5.16914 8.60565 3.98212 7.90571C2.79509 7.20576 1.81538 6.20297 1.14327 5C1.81083 3.7931 2.78951 2.78709 3.97757 2.08654C5.16561 1.38601 6.51964 1.01653 7.89888 1.01653C9.27804 1.01653 10.6321 1.38601 11.8201 2.08654C13.0082 2.78709 13.9868 3.7931 14.6545 5C13.9823 6.20297 13.0026 7.20576 11.8156 7.90571C10.6285 8.60565 9.27689 8.97755 7.89888 8.98344ZM7.89888 2.51693C7.40772 2.51693 6.92767 2.66256 6.51934 2.93541C6.11101 3.20825 5.79274 3.59605 5.60481 4.0498C5.41687 4.50349 5.3677 5.00271 5.46351 5.48439C5.55932 5.96606 5.7958 6.4085 6.14306 6.7558C6.49033 7.10303 6.93275 7.33953 7.41443 7.43535C7.8961 7.53117 8.39533 7.48197 8.84909 7.29406C9.30277 7.10608 9.69059 6.78785 9.96342 6.3795C10.2362 5.97114 10.3819 5.4911 10.3819 5C10.3819 4.34146 10.1203 3.70989 9.65461 3.24421C9.189 2.77854 8.55742 2.51693 7.89888 2.51693ZM7.89888 6.46658C7.60878 6.46658 7.32525 6.38058 7.08407 6.21937C6.8429 6.05822 6.65492 5.82918 6.54392 5.56123C6.43291 5.29322 6.40387 4.99837 6.46045 4.7139C6.51704 4.42942 6.65675 4.16805 6.8618 3.96299C7.06693 3.75786 7.32823 3.61818 7.61271 3.5616C7.89726 3.50501 8.1921 3.53405 8.46011 3.64504C8.72806 3.75603 8.9571 3.94402 9.11825 4.18519C9.27939 4.42637 9.36546 4.7099 9.36546 5C9.36498 5.38884 9.21034 5.76161 8.93542 6.03654C8.66043 6.31146 8.28765 6.4661 7.89888 6.46658Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const EyeClosedIcon: React.FC<IconProps> = ({\n color = 'currentColor',\n size = 16,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 16 16'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M7.89888 3C6.24409 3.00081 4.62351 3.47104 3.22533 4.35609C1.82715 5.24114 0.708743 6.50469 0 8C0.708092 9.49578 1.82635 10.7597 3.22468 11.6449C4.623 12.53 6.24392 13 7.89888 13C9.55378 13 11.1747 12.53 12.573 11.6449C13.9713 10.7597 15.0896 9.49578 15.7977 8C15.089 6.50469 13.9706 5.24114 12.5724 4.35609C11.1742 3.47104 9.55364 3.00081 7.89888 3ZM7.89888 11.9834C6.52084 11.9776 5.16914 11.6056 3.98212 10.9057C2.79509 10.2058 1.81538 9.20297 1.14327 8C1.81083 6.7931 2.78951 5.78709 3.97757 5.08654C5.16561 4.38601 6.51964 4.01653 7.89888 4.01653C9.27804 4.01653 10.6321 4.38601 11.8201 5.08654C13.0082 5.78709 13.9868 6.7931 14.6545 8C13.9823 9.20297 13.0026 10.2058 11.8156 10.9057C10.6285 11.6056 9.27689 11.9776 7.89888 11.9834Z'\n fill={color}\n />\n <Line x1='1' y1='15' x2='15' y2='1' stroke={color} strokeWidth='1.5' strokeLinecap='round' />\n </Svg>\n)\n\nexport const AsteriskIcon: React.FC<IconProps> = ({\n color = '#0C1C33',\n size = 16,\n onPress\n}) => (\n <Svg\n width={size}\n height={(size * 17) / 16}\n viewBox='0 0 16 17'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M6.38944 0H9.61056L9.24092 8.5H6.75908L6.38944 0ZM6.38944 17L6.75908 8.5H9.24092L9.61056 17H6.38944ZM0 5.50476L1.63696 2.96825L8.60726 7.50159L7.36634 9.47143L0 5.50476ZM16 5.50476L8.63366 9.47143L7.39274 7.50159L14.363 2.96825L16 5.50476ZM16 11.4683L14.363 14.0048L7.39274 9.47143L8.63366 7.50159L16 11.4683ZM0 11.5222L7.36634 7.55556L8.60726 9.5254L1.63696 14.0587L0 11.5222Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const TopRightArrowIcon: React.FC<IconProps> = ({\n color = '#0C1C33',\n size = 25,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 25 25'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Path\n d='M21.3388 3.66117L21.3388 21.3388M21.3388 3.66117L3.66116 3.66117M21.3388 3.66117L3.66116 21.3388'\n stroke={color}\n strokeWidth='2'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </Svg>\n)\n\nexport const QueuedIcon: React.FC<IconProps> = ({\n color = '#F4A358',\n size = 18,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 18 18'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Rect width='18' height='18' rx='4' fill={color} fillOpacity='.2' />\n <Path\n d='M11.6756 12.6482C11.8311 12.8601 12.1306 12.9075 12.3268 12.7326C13.1311 12.0158 13.6857 11.055 13.9009 9.99071C14.1476 8.77034 13.9301 7.50182 13.2909 6.43333C12.6518 5.36484 11.637 4.57324 10.4451 4.2134C9.25315 3.85356 7.96985 3.95136 6.84622 4.48768C5.72259 5.024 4.83949 5.96024 4.36966 7.11325C3.89983 8.26626 3.87708 9.55308 4.30587 10.722C4.73466 11.8909 5.58412 12.8577 6.6881 13.4334C7.65084 13.9355 8.74673 14.1085 9.80981 13.934C10.0691 13.8914 10.2207 13.6287 10.1537 13.3746C10.0867 13.1205 9.82636 12.9718 9.56614 13.0086C8.7336 13.1262 7.88063 12.982 7.12813 12.5896C6.23429 12.1235 5.5465 11.3406 5.19933 10.3942C4.85216 9.44781 4.87057 8.40592 5.25098 7.47237C5.63138 6.53882 6.3464 5.78078 7.25616 5.34654C8.16592 4.91231 9.20497 4.83312 10.17 5.12447C11.1351 5.41582 11.9567 6.05674 12.4742 6.92186C12.9917 7.78698 13.1678 8.81405 12.9681 9.80215C12.7999 10.634 12.3756 11.3878 11.7605 11.9612C11.5683 12.1404 11.5202 12.4362 11.6756 12.6482Z'\n fill={color}\n />\n </Svg>\n)\n\nexport const PooledIcon: React.FC<IconProps> = ({\n color = '#008DE4',\n size = 18,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 18 18'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Rect width='18' height='18' rx='4' fill={color} fillOpacity='.2' />\n <Path\n d='M14 7L12.4328 6.01491C11.4484 5.39611 10.1941 5.40565 9.21918 6.03935C8.30752 6.63193 7.14565 6.6816 6.18674 6.16899L4 5'\n stroke={color}\n strokeLinecap='round'\n />\n <Path\n d='M14 10L12.4328 9.01491C11.4484 8.39611 10.1941 8.40565 9.21918 9.03935C8.30752 9.63193 7.14565 9.6816 6.18674 9.16899L4 8'\n stroke={color}\n strokeLinecap='round'\n />\n <Path\n d='M14 13L12.4328 12.0149C11.4484 11.3961 10.1941 11.4057 9.21918 12.0393C8.30752 12.6319 7.14565 12.6816 6.18674 12.169L4 11'\n stroke={color}\n strokeLinecap='round'\n />\n </Svg>\n)\n\nexport const BroadcastedIcon: React.FC<IconProps> = ({\n color = '#008DE4',\n size = 18,\n onPress\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox='0 0 18 18'\n fill='none'\n onPress={onPress}\n color={color}\n >\n <Rect width='18' height='18' rx='4' fill={color} fillOpacity='.2' />\n <Path\n d='M4.86093 8.74967L12.5 8.74993M12.5 8.74993L9.5 5.74993M12.5 8.74993L9.5 11.7499'\n stroke={color}\n strokeWidth='2'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </Svg>\n)\n\n// Export all icons as a collection\nexport const Icons = {\n ArrowIcon,\n CopyIcon,\n SuccessIcon,\n ErrorIcon,\n CheckIcon,\n CrossIcon,\n PlusIcon,\n ChevronIcon,\n SearchIcon,\n InfoCircleIcon,\n EyeOpenIcon,\n EyeClosedIcon,\n TopRightArrowIcon,\n QueuedIcon,\n PooledIcon,\n BroadcastedIcon,\n AsteriskIcon,\n}\n","import React, { useState } from 'react'\nimport {\n TextInput,\n View,\n TouchableOpacity,\n Text,\n TextInputProps,\n ViewStyle,\n TextStyle,\n} from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\nimport { resolveColorScheme } from '../../utils/resolveColorScheme'\nimport { EyeOpenIcon, EyeClosedIcon } from '../icons'\n\nconst inputStyles = cva(\n 'w-full font-normal text-sm leading-[17px]',\n {\n variants: {\n colorScheme: {\n default: '',\n brand: '',\n error: '',\n success: '',\n 'light-gray': '',\n },\n size: {\n sm: 'px-3 py-2 rounded-[10px]',\n md: 'px-4 py-3 rounded-[12px]',\n xl: 'px-4 py-[18px] rounded-[14px]',\n },\n variant: {\n outlined: 'border',\n filled: 'border-0',\n },\n disabled: {\n false: '',\n true: 'opacity-60',\n },\n },\n compoundVariants: [\n // Outlined variant colors\n {\n variant: 'outlined',\n colorScheme: 'default',\n class: 'border-[rgba(17,17,17,0.32)] bg-white',\n },\n {\n variant: 'outlined',\n colorScheme: 'brand',\n class: 'border-dash-brand/30 bg-white',\n },\n {\n variant: 'outlined',\n colorScheme: 'error',\n class: 'border-red-500 bg-white',\n },\n {\n variant: 'outlined',\n colorScheme: 'success',\n class: 'border-green-500 bg-white',\n },\n {\n variant: 'outlined',\n colorScheme: 'light-gray',\n class: 'border-gray-500/50 bg-white',\n },\n // Filled variant colors\n {\n variant: 'filled',\n colorScheme: 'default',\n class: 'bg-dash-brand/15',\n },\n {\n variant: 'filled',\n colorScheme: 'brand',\n class: 'bg-dash-brand/15',\n },\n {\n variant: 'filled',\n colorScheme: 'error',\n class: 'bg-red-500/15',\n },\n {\n variant: 'filled',\n colorScheme: 'success',\n class: 'bg-green-500/15',\n },\n {\n variant: 'filled',\n colorScheme: 'light-gray',\n class: 'bg-gray-100',\n },\n ],\n defaultVariants: {\n colorScheme: 'default',\n size: 'xl',\n variant: 'outlined',\n disabled: false,\n },\n }\n)\n\ntype InputVariants = VariantProps<typeof inputStyles>\n\nexport interface InputProps extends Omit<TextInputProps, 'editable'>, Omit<InputVariants, 'disabled'> {\n /** Light or dark theme */\n theme?: 'light' | 'dark'\n /** Color scheme override for light theme */\n colorSchemeLight?: 'default' | 'brand' | 'error' | 'success' | 'light-gray'\n /** Color scheme override for dark theme */\n colorSchemeDark?: 'default' | 'brand' | 'error' | 'success' | 'light-gray'\n className?: string\n error?: boolean\n success?: boolean\n disabled?: boolean\n /**\n * Prefix text or React element displayed before the input content\n */\n prefix?: string | React.ReactNode\n /**\n * Style object for the prefix element\n */\n prefixStyle?: TextStyle\n /**\n * Controls visibility toggle for password inputs. When false, the eye icon is hidden.\n * Defaults to true.\n */\n showPasswordToggle?: boolean\n /**\n * Custom container style (overrides Tailwind classes)\n */\n style?: ViewStyle\n /**\n * Custom text style for input text (overrides Tailwind text classes)\n */\n textStyle?: TextStyle\n}\n\n/**\n * React Native Input component that adapts to various color schemes, sizes, variants, and states.\n * For password inputs (secureTextEntry), includes a toggleable eye icon.\n * Supports prefix text or elements before input content.\n *\n * @example\n * <Input\n * secureTextEntry\n * placeholder=\"Enter password\"\n * colorScheme=\"brand\"\n * size=\"xl\"\n * prefix=\"https://\"\n * />\n */\nexport const Input: React.FC<InputProps> = ({\n theme = 'light',\n className = '',\n colorScheme,\n colorSchemeLight,\n colorSchemeDark,\n size,\n variant,\n error = false,\n success = false,\n disabled = false,\n secureTextEntry = false,\n prefix,\n prefixStyle,\n showPasswordToggle = true,\n style,\n textStyle,\n ...props\n}) => {\n const [showPassword, setShowPassword] = useState(false)\n\n // Determine color scheme based on state\n const effectiveColorScheme = resolveColorScheme(theme, colorScheme, colorSchemeLight, colorSchemeDark) ?? 'default'\n let finalColorScheme: typeof effectiveColorScheme = effectiveColorScheme\n if (error) finalColorScheme = 'error'\n else if (success) finalColorScheme = 'success'\n\n const classes = inputStyles({\n colorScheme: finalColorScheme,\n size,\n variant,\n disabled,\n }) + (className ? ` ${className}` : '')\n\n const isPassword = secureTextEntry\n const shouldShowToggle = isPassword && showPasswordToggle\n const hasPrefix = Boolean(prefix)\n\n const togglePasswordVisibility = (): void => {\n setShowPassword(!showPassword)\n }\n\n // Convert Tailwind classes to React Native style objects\n const inputStyle = [cn(classes), style].filter(Boolean)\n const inputTextStyle = [\n {\n color: '#111111',\n fontSize: 14,\n lineHeight: 17,\n fontWeight: '300' as const,\n },\n textStyle,\n ].filter(Boolean)\n\n // Adjust padding for password toggle button and prefix\n const containerStyle: ViewStyle = {}\n if (shouldShowToggle) containerStyle.paddingRight = 40\n if (hasPrefix) containerStyle.paddingLeft = 70 // Extra space for prefix\n\n // Default prefix style\n const defaultPrefixStyle: TextStyle = {\n color: 'rgba(17, 17, 17, 0.6)',\n fontSize: 14,\n lineHeight: 17,\n }\n\n // Render prefix element\n const renderPrefix = () => {\n if (!hasPrefix) return null\n \n return (\n <View\n style={{\n position: 'absolute',\n left: 16,\n height: '100%',\n justifyContent: 'center',\n zIndex: 10,\n pointerEvents: 'none',\n }}\n >\n {typeof prefix === 'string' ? (\n <Text style={[defaultPrefixStyle, prefixStyle]}>\n {prefix}\n </Text>\n ) : (\n prefix\n )}\n </View>\n )\n }\n\n if (isPassword || hasPrefix) {\n return (\n <View style={{ position: 'relative' }}>\n {renderPrefix()}\n <TextInput\n style={[inputStyle, containerStyle, inputTextStyle]}\n editable={!disabled}\n secureTextEntry={isPassword && !showPassword}\n placeholderTextColor=\"rgba(17, 17, 17, 0.6)\"\n {...props}\n />\n {shouldShowToggle && (\n <TouchableOpacity\n style={{\n position: 'absolute',\n right: 16,\n height: '100%',\n justifyContent: 'center',\n alignItems: 'center',\n opacity: 0.5,\n }}\n onPress={togglePasswordVisibility}\n activeOpacity={0.7}\n >\n {showPassword\n ? <EyeClosedIcon size={16} color='#0C1C33' />\n : <EyeOpenIcon size={16} color='#0C1C33' />}\n </TouchableOpacity>\n )}\n </View>\n )\n }\n\n // Regular input without prefix or password\n return (\n <TextInput\n style={[inputStyle, inputTextStyle]}\n editable={!disabled}\n placeholderTextColor=\"rgba(17, 17, 17, 0.6)\"\n {...props}\n />\n )\n}\n\nexport default Input\n","import React, { useState } from 'react'\nimport {\n View,\n Text,\n ScrollView,\n TouchableOpacity,\n ViewStyle,\n TextStyle,\n} from 'react-native'\nimport { cva } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\n\nconst tabsRootStyles = cva('flex-col w-full', {\n variants: {\n theme: {\n light: '',\n dark: '',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n})\n\nconst tabsListStyles = cva('flex-row relative', {\n variants: {\n theme: {\n light: '',\n dark: '',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n})\n\nconst tabsTriggerStyles = cva(\n [\n 'flex-row items-center justify-center relative',\n 'font-light transition-all',\n ],\n {\n variants: {\n theme: {\n light: '',\n dark: '',\n },\n active: {\n true: '',\n false: '',\n },\n size: {\n sm: 'text-sm px-0 pr-3 pb-2',\n lg: 'text-xl px-0 pr-4 pb-3',\n xl: 'text-2xl px-0 pr-[14px] pb-[10px]',\n },\n },\n compoundVariants: [\n {\n theme: 'light',\n active: true,\n class: 'text-dash-primary-dark-blue',\n },\n {\n theme: 'light',\n active: false,\n class: 'text-[rgba(12,28,51,0.35)]',\n },\n {\n theme: 'dark',\n active: true,\n class: 'text-white',\n },\n {\n theme: 'dark',\n active: false,\n class: 'text-gray-400',\n },\n ],\n defaultVariants: {\n theme: 'light',\n active: false,\n size: 'xl',\n },\n }\n)\n\nconst tabsContentStyles = cva('', {\n variants: {\n theme: {\n light: '',\n dark: '',\n },\n size: {\n sm: 'mt-2',\n lg: 'mt-3',\n xl: 'mt-4',\n },\n },\n defaultVariants: {\n theme: 'light',\n size: 'xl',\n },\n})\n\nexport interface TabItem {\n /** Unique identifier for the tab */\n value: string\n /** Label text to display */\n label: string\n /** Content to render when tab is active */\n content: React.ReactNode\n /** Whether this tab is disabled */\n disabled?: boolean\n}\n\nexport interface TabsProps {\n /** Array of tab items */\n items: TabItem[]\n /** Currently active tab value (controlled) */\n value?: string\n /** Default active tab value (uncontrolled) */\n defaultValue?: string\n /** Callback when active tab changes */\n onValueChange?: (value: string) => void\n /** Size variant */\n size?: 'sm' | 'lg' | 'xl'\n /** Theme variant */\n theme?: 'light' | 'dark'\n /** Additional CSS classes for the root container */\n className?: string\n /** Additional CSS classes for the tabs list */\n listClassName?: string\n /** Additional CSS classes for tab triggers */\n triggerClassName?: string\n /** Additional CSS classes for tab content */\n contentClassName?: string\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n /** Custom tabs list style (overrides Tailwind classes) */\n listStyle?: ViewStyle\n /** Custom tab trigger style (overrides Tailwind classes) */\n triggerStyle?: ViewStyle\n /** Custom tab content style (overrides Tailwind classes) */\n contentStyle?: ViewStyle\n /** Custom tab text style (overrides Tailwind text classes) */\n textStyle?: TextStyle\n}\n\n/**\n * React Native Tabs component with sleek underline style matching Figma design.\n * Features horizontal scrolling, light/dark theme support, and touch interactions.\n */\nexport const Tabs: React.FC<TabsProps> = ({\n items,\n value,\n defaultValue,\n onValueChange,\n size = 'xl',\n theme = 'light',\n className = '',\n listClassName = '',\n triggerClassName = '',\n contentClassName = '',\n style,\n listStyle,\n triggerStyle,\n contentStyle,\n textStyle,\n}) => {\n const [internalValue, setInternalValue] = useState(\n defaultValue || items[0]?.value || ''\n )\n\n // Use controlled value if provided, otherwise use internal state\n const currentValue = value !== undefined ? value : internalValue\n\n const handleValueChange = (newValue: string) => {\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onValueChange?.(newValue)\n }\n\n const rootClasses =\n tabsRootStyles({ theme }) + (className ? ` ${className}` : '')\n const listClasses =\n tabsListStyles({ theme }) + (listClassName ? ` ${listClassName}` : '')\n const contentClasses =\n tabsContentStyles({ theme, size }) +\n (contentClassName ? ` ${contentClassName}` : '')\n\n const rootStyle = [cn(rootClasses), style].filter(Boolean)\n const listStyleCombined = [cn(listClasses), listStyle].filter(Boolean)\n const contentStyleCombined = [cn(contentClasses), contentStyle].filter(\n Boolean\n )\n\n // Border color based on theme\n const borderColor =\n theme === 'light' ? 'rgba(12, 28, 51, 0.15)' : 'rgba(156, 163, 175, 0.5)'\n const activeBorderColor = '#4C7EFF'\n\n return (\n <View style={rootStyle}>\n {/* Tabs List */}\n <View style={{ position: 'relative' }}>\n <ScrollView\n horizontal\n showsHorizontalScrollIndicator={false}\n style={listStyleCombined}\n contentContainerStyle={{ flexDirection: 'row' }}\n >\n {items.map((item) => {\n const isActive = currentValue === item.value\n const triggerClasses =\n tabsTriggerStyles({\n theme,\n active: isActive,\n size,\n }) + (triggerClassName ? ` ${triggerClassName}` : '')\n\n const triggerStyleCombined = [\n cn(triggerClasses),\n triggerStyle,\n ].filter(Boolean)\n\n // Get text size based on size prop\n let fontSize = 24 // xl\n let lineHeight = 33 // xl (1.366)\n if (size === 'sm') {\n fontSize = 14\n lineHeight = 18 // 1.25\n } else if (size === 'lg') {\n fontSize = 20\n lineHeight = 26 // 1.3\n }\n\n // Text color based on theme and active state\n let textColor = 'rgba(12, 28, 51, 0.35)' // light inactive\n if (theme === 'light' && isActive) {\n textColor = '#0C1C33' // light active\n } else if (theme === 'dark' && isActive) {\n textColor = '#FFFFFF' // dark active\n } else if (theme === 'dark' && !isActive) {\n textColor = 'rgba(156, 163, 175, 1)' // dark inactive\n }\n\n const baseTextStyle: TextStyle = {\n fontSize,\n lineHeight,\n color: textColor,\n fontWeight: isActive ? '500' : '300',\n }\n\n const finalTextStyle = [baseTextStyle, textStyle].filter(Boolean)\n\n return (\n <TouchableOpacity\n key={item.value}\n disabled={item.disabled}\n onPress={() => !item.disabled && handleValueChange(item.value)}\n activeOpacity={0.8}\n style={triggerStyleCombined}\n >\n <Text style={finalTextStyle}>{item.label}</Text>\n {/* Active indicator */}\n {isActive && (\n <View\n style={{\n position: 'absolute',\n bottom: 0,\n left: -4,\n right: size === 'sm' ? 12 : size === 'lg' ? 16 : 14,\n height: 1,\n backgroundColor: activeBorderColor,\n zIndex: 10,\n }}\n />\n )}\n </TouchableOpacity>\n )\n })}\n </ScrollView>\n {/* Bottom border */}\n <View\n style={{\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n height: 1,\n backgroundColor: borderColor,\n }}\n />\n </View>\n\n {/* Tabs Content */}\n {items.map((item) => {\n if (currentValue !== item.value) return null\n\n return (\n <View key={item.value} style={contentStyleCombined}>\n {item.content}\n </View>\n )\n })}\n </View>\n )\n}\n\nexport default Tabs\n","import React, { useMemo } from 'react'\nimport { View, ViewProps, ViewStyle } from 'react-native'\nimport { SvgXml } from 'react-native-svg'\nimport { minidenticon } from 'minidenticons'\nimport { cn } from '../../utils/tw'\n\nexport interface AvatarProps extends Omit<ViewProps, 'style'> {\n /** Username to generate identicon for */\n username: string\n /** Additional CSS class name (for NativeWind) */\n className?: string\n /** Saturation level for the identicon (0-100) */\n saturation?: number\n /** Lightness level for the identicon (0-100) */\n lightness?: number\n /** Width of the avatar (default: 40) */\n width?: number\n /** Height of the avatar (default: 40) */\n height?: number\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n}\n\n/**\n * Avatar component that creates unique identicons from usernames\n * with customizable appearance.\n * \n * This is the React Native version that uses SvgXml instead of img tag.\n */\nexport const Avatar: React.FC<AvatarProps> = ({\n username,\n className = '',\n saturation = 50,\n lightness = 50,\n width = 40,\n height = 40,\n style,\n ...props\n}) => {\n // Generate SVG string directly (no data URI needed for SvgXml)\n const svgString = useMemo(\n () => minidenticon(username, saturation, lightness),\n [username, saturation, lightness]\n )\n\n const containerClasses = `relative ${className}`.trim()\n const containerStyle = [cn(containerClasses), style].filter(Boolean)\n\n return (\n <View style={containerStyle} {...props}>\n <SvgXml \n xml={svgString} \n width={width} \n height={height}\n />\n </View>\n )\n}\n\nexport default Avatar\n","import React from 'react'\nimport { View, Text, Pressable, ViewStyle, TextStyle, PressableProps } from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\nimport { resolveColorScheme } from '../../utils/resolveColorScheme'\n\n/**\n * Badge component props\n */\nexport interface BadgeProps extends Omit<PressableProps, 'style'> {\n /**\n * Content of the badge\n */\n children: React.ReactNode\n\n /**\n * Visual style variant\n */\n variant?: 'default' | 'flat' | 'solid' | 'bordered'\n\n /**\n * Color theme\n */\n color?: 'blue' | 'white' | 'gray' | 'light-gray' | 'turquoise' | 'red' | 'orange'\n\n /**\n * Light or dark theme\n */\n theme?: 'light' | 'dark'\n\n /**\n * Color override for light theme\n */\n colorLight?: 'blue' | 'white' | 'gray' | 'light-gray' | 'turquoise' | 'red' | 'orange'\n\n /**\n * Color override for dark theme\n */\n colorDark?: 'blue' | 'white' | 'gray' | 'light-gray' | 'turquoise' | 'red' | 'orange'\n\n /**\n * Size of the badge\n */\n size?: 'xxs' | 'xs' | 'sm' | 'xl'\n\n /**\n * Border radius variant\n */\n borderRadius?: 'xs'\n\n /**\n * Additional Tailwind classes for styling\n */\n className?: string\n\n /**\n * Custom container style (overrides Tailwind classes)\n */\n style?: ViewStyle\n\n /**\n * Custom text style (overrides Tailwind text classes)\n */\n textStyle?: TextStyle\n\n /**\n * Press handler\n */\n onPress?: () => void\n}\n\n// Base badge container styles\nconst badgeStyles = cva(\n 'inline-flex items-center justify-center font-medium',\n {\n variants: {\n size: {\n xxs: 'px-1 py-1 text-xs rounded-full',\n xs: 'px-2 py-1 text-xs rounded-full',\n sm: 'px-[34px] py-[10px] text-xs rounded-full',\n xl: 'px-9 py-4 text-lg rounded-full',\n },\n borderRadius: {\n default: '',\n xs: 'rounded-[4px]',\n },\n // Color and variant combinations - blue\n color_variant_blue_default: {\n true: '',\n },\n color_variant_blue_flat: {\n true: 'bg-[rgba(76,126,255,0.15)]',\n },\n color_variant_blue_solid: {\n true: 'bg-[#4C7EFF]',\n },\n color_variant_blue_bordered: {\n true: 'border border-[#4C7EFF]',\n },\n // Color and variant combinations - white\n color_variant_white_default: {\n true: '',\n },\n color_variant_white_flat: {\n true: 'bg-[rgba(255,255,255,0.15)]',\n },\n color_variant_white_solid: {\n true: 'bg-white',\n },\n color_variant_white_bordered: {\n true: 'border border-white',\n },\n // Color and variant combinations - gray\n color_variant_gray_default: {\n true: '',\n },\n color_variant_gray_flat: {\n true: 'bg-[rgba(12,28,51,0.15)]',\n },\n color_variant_gray_solid: {\n true: 'bg-[#0C1C33]',\n },\n color_variant_gray_bordered: {\n true: 'border border-[#0C1C33]',\n },\n // Color and variant combinations - light-gray\n color_variant_lightgray_default: {\n true: '',\n },\n color_variant_lightgray_flat: {\n true: 'bg-[rgba(12,28,51,0.05)]',\n },\n color_variant_lightgray_solid: {\n true: 'bg-[rgba(12,28,51,0.15)]',\n },\n color_variant_lightgray_bordered: {\n true: 'border border-[#6B7280]',\n },\n // Color and variant combinations - turquoise\n color_variant_turquoise_default: {\n true: '',\n },\n color_variant_turquoise_flat: {\n true: 'bg-[rgba(96,246,210,0.15)]',\n },\n color_variant_turquoise_solid: {\n true: 'bg-[#60F6D2]',\n },\n color_variant_turquoise_bordered: {\n true: 'border border-[#60F6D2]',\n },\n // Color and variant combinations - red\n color_variant_red_default: {\n true: '',\n },\n color_variant_red_flat: {\n true: 'bg-[rgba(205,46,0,0.15)]',\n },\n color_variant_red_solid: {\n true: 'bg-[#CD2E00]',\n },\n color_variant_red_bordered: {\n true: 'border border-[#CD2E00]',\n },\n // Color and variant combinations - orange\n color_variant_orange_default: {\n true: '',\n },\n color_variant_orange_flat: {\n true: 'bg-[rgba(249,143,18,0.15)]',\n },\n color_variant_orange_solid: {\n true: 'bg-[#F98F12]',\n },\n color_variant_orange_bordered: {\n true: 'border border-[#F98F12]',\n },\n },\n defaultVariants: {\n size: 'sm',\n borderRadius: 'default',\n },\n }\n)\n\n// Text color styles\nconst textStyles = cva('font-medium', {\n variants: {\n size: {\n xxs: 'text-xs',\n xs: 'text-xs',\n sm: 'text-xs',\n xl: 'text-lg',\n },\n // Text colors for each color and variant combination\n color_variant_blue_default: {\n true: 'text-[#4C7EFF]',\n },\n color_variant_blue_flat: {\n true: 'text-[#4C7EFF]',\n },\n color_variant_blue_solid: {\n true: 'text-white',\n },\n color_variant_blue_bordered: {\n true: 'text-[#4C7EFF]',\n },\n color_variant_white_default: {\n true: 'text-white',\n },\n color_variant_white_flat: {\n true: 'text-white',\n },\n color_variant_white_solid: {\n true: 'text-[#0C1C33]',\n },\n color_variant_white_bordered: {\n true: 'text-white',\n },\n color_variant_gray_default: {\n true: 'text-[#0C1C33]',\n },\n color_variant_gray_flat: {\n true: 'text-[#0C1C33]',\n },\n color_variant_gray_solid: {\n true: 'text-white',\n },\n color_variant_gray_bordered: {\n true: 'text-[#0C1C33]',\n },\n color_variant_lightgray_default: {\n true: 'text-[#6B7280]',\n },\n color_variant_lightgray_flat: {\n true: 'text-[#0C1C33]',\n },\n color_variant_lightgray_solid: {\n true: 'text-[#0C1C33]',\n },\n color_variant_lightgray_bordered: {\n true: 'text-[#6B7280]',\n },\n color_variant_turquoise_default: {\n true: 'text-[#60F6D2]',\n },\n color_variant_turquoise_flat: {\n true: 'text-[#60F6D2]',\n },\n color_variant_turquoise_solid: {\n true: 'text-[#0C1C33]',\n },\n color_variant_turquoise_bordered: {\n true: 'text-[#60F6D2]',\n },\n color_variant_red_default: {\n true: 'text-[#CD2E00]',\n },\n color_variant_red_flat: {\n true: 'text-[#CD2E00]',\n },\n color_variant_red_solid: {\n true: 'text-white',\n },\n color_variant_red_bordered: {\n true: 'text-[#CD2E00]',\n },\n color_variant_orange_default: {\n true: 'text-[#F98F12]',\n },\n color_variant_orange_flat: {\n true: 'text-[#F98F12]',\n },\n color_variant_orange_solid: {\n true: 'text-white',\n },\n color_variant_orange_bordered: {\n true: 'text-[#F98F12]',\n },\n },\n defaultVariants: {\n size: 'sm',\n },\n})\n\n// Type for CVA variant props with dynamic color_variant keys\ntype BadgeVariantProps = VariantProps<typeof badgeStyles> & {\n [key: string]: boolean | string | undefined\n}\n\ntype TextVariantProps = VariantProps<typeof textStyles> & {\n [key: string]: boolean | string | undefined\n}\n\n// Mapping object for color key normalization (handles dashes)\nconst COLOR_KEY_MAP: Record<string, string> = {\n 'blue': 'blue',\n 'white': 'white',\n 'gray': 'gray',\n 'light-gray': 'lightgray',\n 'turquoise': 'turquoise',\n 'red': 'red',\n 'orange': 'orange',\n}\n\n/**\n * React Native Badge component with multiple variants, colors, sizes, and border radius options.\n * Uses CVA for variant management and twrnc for Tailwind styling.\n * \n * Supports 28 style combinations (7 colors × 4 variants) with 4 sizes and optional custom border radius.\n */\nexport const Badge: React.FC<BadgeProps> = ({\n children,\n theme = 'light',\n variant = 'default',\n color,\n colorLight,\n colorDark,\n size = 'sm',\n borderRadius,\n className = '',\n style,\n textStyle,\n onPress,\n ...props\n}) => {\n const effectiveColor = resolveColorScheme(theme, color, colorLight, colorDark) ?? 'blue'\n\n // Generate the color_variant key for CVA using explicit mapping\n const normalizedColor = COLOR_KEY_MAP[effectiveColor] || effectiveColor\n const colorVariantKey = `color_variant_${normalizedColor}_${variant}`\n\n // Build the badge container classes with proper typing\n const badgeVariantProps: BadgeVariantProps = {\n size,\n borderRadius: borderRadius || 'default',\n [colorVariantKey]: true,\n }\n const badgeClasses = badgeStyles(badgeVariantProps)\n\n // Build the text classes with proper typing\n const textVariantProps: TextVariantProps = {\n size,\n [colorVariantKey]: true,\n }\n const textClasses = textStyles(textVariantProps)\n\n // Convert Tailwind classes to React Native style objects\n const combinedClasses = className ? `${badgeClasses} ${className}` : badgeClasses\n const badgeStyleArray: ViewStyle[] = [cn(combinedClasses), style].filter(Boolean) as ViewStyle[]\n\n const textStyleMerged = [cn(textClasses), textStyle].filter(Boolean) as TextStyle[]\n\n // Render content (string children wrapped in Text, custom content as-is)\n const content = typeof children === 'string' ? <Text style={textStyleMerged}>{children}</Text> : children\n\n // If onPress is provided, wrap in Pressable\n if (onPress) {\n return (\n <Pressable\n style={({ pressed }) => (pressed ? [...badgeStyleArray, { opacity: 0.7 }] : badgeStyleArray)}\n onPress={onPress}\n {...props}\n >\n {content}\n </Pressable>\n )\n }\n\n // Otherwise, just render as View\n return <View style={badgeStyleArray}>{content}</View>\n}\n\nexport default Badge\n","import React from 'react'\nimport { View, Text, ViewStyle, TextStyle } from 'react-native'\nimport { cn } from '../../utils/tw'\n\nexport type BigNumberVariant = 'space' | 'comma'\n\nexport interface BigNumberProps {\n /** The numeric value (or string) to format. */\n children?: number | string | null\n /** Use non-breaking space groups or comma groups. */\n variant?: BigNumberVariant\n /** Extra class names to apply to the wrapper. Use gap-* classes for spacing between groups. */\n className?: string\n /** Horizontal spacing (in pixels) around the decimal point. Negative values reduce spacing. @default -2 */\n decimalPointSpacing?: number\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n /** Custom text style (overrides Tailwind text classes) */\n textStyle?: TextStyle\n}\n\n/**\n * Groups digits into chunks of three, right to left.\n * Used for formatting large numbers with thousand separators.\n */\nconst groupDigits = (intPart: string): string[] => {\n return intPart\n .split('')\n .reverse()\n .reduce<string[]>((acc, char, idx) => {\n if (idx % 3 === 0) acc.unshift('')\n acc[0] = char + acc[0]\n return acc\n }, [])\n}\n\n/**\n * Splits a numeric string into groups of three characters for display.\n * Supports two variants:\n * - `space`: groups separated by gap\n * - `comma`: groups separated by commas, with decimal part after `.`\n * Supports light/dark theme via dark: variants.\n */\nexport const BigNumber: React.FC<BigNumberProps> = ({ \n children, \n variant = 'space', \n className = '', \n decimalPointSpacing = -2,\n style,\n textStyle\n}) => {\n const decimalPointStyle = {\n marginLeft: decimalPointSpacing,\n marginRight: decimalPointSpacing\n }\n\n if (children === undefined || children === null) return null\n const str = children.toString()\n\n // Combine base styles with optional className\n const containerClasses = `flex-row flex-wrap gap-1 ${className || ''}`\n const textClasses = 'dark:text-gray-100'\n \n const containerStyle = [cn(containerClasses), style].filter(Boolean)\n const textStyleMerged = [cn(textClasses), textStyle].filter(Boolean)\n\n if (variant === 'space') {\n // Split into integer and decimal parts\n const [intPart, fracPart] = str.split('.')\n\n // group digits every 3, right to left (only for integer part)\n const groups = groupDigits(intPart)\n\n return (\n <View style={containerStyle}>\n {groups.map((grp, i) => (\n <Text key={i} style={textStyleMerged}>\n {grp}\n </Text>\n ))}\n {fracPart != null && (\n <>\n <Text style={[...textStyleMerged, decimalPointStyle]}>.</Text>\n <Text style={textStyleMerged}>{fracPart}</Text>\n </>\n )}\n </View>\n )\n } else {\n // comma variant\n const [intPart, fracPart] = str.split('.')\n const groups = groupDigits(intPart)\n\n return (\n <View style={containerStyle}>\n {groups.map((grp, i) => (\n <View key={i} style={cn('flex-row')}>\n <Text style={textStyleMerged}>{grp}</Text>\n {i < groups.length - 1 && <Text style={textStyleMerged}>,</Text>}\n </View>\n ))}\n {fracPart != null && (\n <>\n <Text style={[...textStyleMerged, decimalPointStyle]}>.</Text>\n <Text style={textStyleMerged}>{fracPart}</Text>\n </>\n )}\n </View>\n )\n }\n}\n\nexport default BigNumber\n","/**\n * Universal Clipboard utility for React Native and Expo\n * \n * Supports both:\n * - @react-native-clipboard/clipboard (React Native)\n * - expo-clipboard (Expo)\n * \n * Automatically detects which one is available and uses it.\n */\n\ninterface ClipboardAPI {\n setString: (text: string) => void | Promise<void>;\n getString: () => Promise<string>;\n}\n\nlet clipboardInstance: ClipboardAPI | null = null;\n\n/**\n * Get the clipboard instance\n * Tries to load expo-clipboard first, then falls back to @react-native-clipboard/clipboard\n */\nfunction getClipboard(): ClipboardAPI {\n if (clipboardInstance) {\n return clipboardInstance;\n }\n\n try {\n // Try expo-clipboard first (most common in Expo projects)\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const ExpoClipboard = require('expo-clipboard');\n if (ExpoClipboard?.setStringAsync && ExpoClipboard?.getStringAsync) {\n clipboardInstance = {\n setString: (text: string) => {\n ExpoClipboard.setStringAsync(text).catch((err: Error) => {\n console.warn('[dash-ui-kit] Failed to copy to clipboard:', err);\n });\n },\n getString: () => ExpoClipboard.getStringAsync(),\n };\n return clipboardInstance;\n }\n } catch (err) {\n // expo-clipboard not available, continue to try React Native clipboard\n }\n\n try {\n // Try @react-native-clipboard/clipboard (React Native)\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const RNClipboard = require('@react-native-clipboard/clipboard');\n if (RNClipboard?.default || RNClipboard?.Clipboard) {\n const clipboard = RNClipboard.default || RNClipboard.Clipboard;\n clipboardInstance = {\n setString: (text: string) => clipboard.setString(text),\n getString: () => clipboard.getString(),\n };\n return clipboardInstance;\n }\n } catch (err) {\n // @react-native-clipboard/clipboard not available\n }\n\n // No clipboard available - return stub\n console.warn(\n '[dash-ui-kit] No clipboard library found. Please install either:\\n' +\n ' - expo-clipboard (for Expo projects): npx expo install expo-clipboard\\n' +\n ' - @react-native-clipboard/clipboard (for React Native): npm install @react-native-clipboard/clipboard'\n );\n \n clipboardInstance = {\n setString: () => {\n console.warn('[dash-ui-kit] Clipboard not available');\n },\n getString: async () => '',\n };\n \n return clipboardInstance;\n}\n\n/**\n * Universal Clipboard object\n * Compatible with both expo-clipboard and @react-native-clipboard/clipboard\n */\nconst Clipboard = {\n /**\n * Set string to clipboard\n * @param text - Text to copy\n */\n setString: (text: string): void => {\n const clipboard = getClipboard();\n clipboard.setString(text);\n },\n\n /**\n * Get string from clipboard\n * @returns Promise with clipboard content\n */\n getString: (): Promise<string> => {\n const clipboard = getClipboard();\n return clipboard.getString();\n },\n};\n\nexport default Clipboard;\nexport { Clipboard };\n","import React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { Pressable, Text, View, ViewStyle, TextStyle } from 'react-native'\nimport { Clipboard } from '../../utils/clipboard'\nimport { cn } from '../../utils/tw'\nimport { CopyIcon } from '../icons'\n\nconst FEEDBACK_DURATION_MS = 1000\n\nexport interface CopyButtonProps {\n /** Text to copy into clipboard */\n text: string\n /** Optional callback that will be called with the copy result */\n onCopy?: (success: boolean) => void\n /** Additional Tailwind classes for styling */\n className?: string\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n /** Custom text style for \"Copied!\" text (overrides Tailwind text classes) */\n textStyle?: TextStyle\n /** Accessible label for the button */\n accessibilityLabel?: string\n}\n\n/**\n * React Native CopyButton component. Copies text to clipboard on press\n * and shows \"Copied!\" feedback briefly.\n */\nexport const CopyButton: React.FC<CopyButtonProps> = ({\n text,\n onCopy,\n className = '',\n style,\n textStyle,\n accessibilityLabel = 'Copy to clipboard',\n}) => {\n const [copied, setCopied] = useState(false)\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n const handlePress = useCallback(() => {\n Clipboard.setString(text)\n setCopied(true)\n onCopy?.(true)\n if (timeoutRef.current) clearTimeout(timeoutRef.current)\n timeoutRef.current = setTimeout(() => setCopied(false), FEEDBACK_DURATION_MS)\n }, [text, onCopy])\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current)\n }\n }, [])\n\n const buttonClasses = `p-0 flex-shrink-0 min-w-0 bg-transparent ${className}`.trim()\n const buttonStyle = [cn(buttonClasses), style].filter(Boolean)\n\n const copiedTextClasses = 'text-xs text-dash-brand font-medium'\n const copiedTextStyle = [cn(copiedTextClasses), textStyle].filter(Boolean)\n\n return (\n <Pressable\n onPress={handlePress}\n style={({ pressed }) =>\n [buttonStyle, pressed && { opacity: 0.7 }].filter(Boolean)\n }\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"button\"\n >\n {copied ? (\n <View style={cn('items-center justify-center min-w-4 min-h-4')}>\n <Text style={copiedTextStyle}>Copied!</Text>\n </View>\n ) : (\n <CopyIcon color=\"#0C1C33\" size={16} />\n )}\n </Pressable>\n )\n}\n\nexport default CopyButton\n","import React from 'react'\nimport { Text, TextProps, TextStyle } from 'react-native'\nimport { cn } from '../../utils/tw'\n\nexport interface NotActiveProps extends Omit<TextProps, 'style'> {\n children?: React.ReactNode\n className?: string\n /** Light or dark theme */\n theme?: 'light' | 'dark'\n /** Custom text style (overrides Tailwind classes) */\n style?: TextStyle\n}\n\n/**\n * NotActive component for React Native\n * Shows \"n/a\" text with theme-aware styling\n */\nexport function NotActive({ \n children, \n className = '', \n theme = 'light',\n style,\n ...props \n}: NotActiveProps): React.JSX.Element {\n const themeColor = theme === 'dark' ? 'text-gray-500' : 'text-gray-400'\n const textClasses = `text-sm ${themeColor} ${className}`.trim()\n \n return (\n <Text\n style={[cn(textClasses), style].filter(Boolean)}\n {...props}\n >\n {children ?? 'n/a'}\n </Text>\n )\n}\n\nexport default NotActive\n","import React, {\n useState,\n useCallback,\n PropsWithChildren\n} from 'react'\nimport { View, Text, ViewProps, LayoutChangeEvent, ViewStyle, TextStyle } from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\nimport { NotActive } from '../notActive'\nimport { CopyButton } from '../copyButton'\nimport { Avatar } from '../avatar'\n\n/** CVA for the root container with light/dark theme */\nconst identifier = cva(\n 'flex flex-row items-center font-dash-grotesque text-sm font-normal',\n {\n variants: {\n theme: {\n light: 'text-gray-900',\n dark: 'text-white'\n },\n ellipsis: {\n false: '',\n true: 'overflow-hidden'\n },\n highlight: {\n default: '',\n dim: '',\n highlight: '',\n first: '',\n last: '',\n both: ''\n }\n },\n defaultVariants: {\n theme: 'light',\n ellipsis: false,\n highlight: 'default'\n }\n }\n)\ntype IdentifierVariants = VariantProps<typeof identifier>\n\n/** CVA for each symbol text: inherits root color or dims */\nconst symbol = cva('flex-1', {\n variants: {\n dim: {\n false: '',\n true: 'opacity-50'\n }\n },\n defaultVariants: {\n dim: false\n }\n})\n\n/** Highlight modes configuration */\nconst highlightModes = {\n default: { first: true, middle: false, last: true },\n dim: { first: false, middle: false, last: false },\n highlight: { first: true, middle: true, last: true },\n first: { first: true, middle: false, last: false },\n last: { first: false, middle: false, last: true },\n both: { first: true, middle: false, last: true }\n} as const\ntype HighlightMode = keyof typeof highlightModes\n\nexport interface IdentifierProps extends IdentifierVariants, Omit<ViewProps, 'style'> {\n children?: string\n avatar?: boolean\n copyButton?: boolean\n maxLines?: number\n className?: string\n middleEllipsis?: boolean\n edgeChars?: number\n /** Theme to use */\n theme?: 'light' | 'dark'\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n /** Custom text style (overrides Tailwind text classes) */\n textStyle?: TextStyle\n}\n\n/**\n * HighlightedID subcomponent\n * Renders text with highlighting based on mode\n */\nconst HighlightedID: React.FC<PropsWithChildren<{ \n mode: HighlightMode\n theme?: 'light' | 'dark'\n textStyle?: TextStyle\n}>> = ({ \n children, \n mode,\n theme = 'light',\n textStyle\n}) => {\n if (children == null || children === '') return <NotActive theme={theme} />\n const text: string = String(children)\n const cfg = highlightModes[mode]\n const count = 5\n const minLength = count * 2 + 1 // 11\n if (text.length < minLength) {\n const symbolStyle = [cn(symbol({ dim: cfg.middle })), textStyle].filter(Boolean)\n return <Text style={symbolStyle}>{text}</Text>\n }\n const first: string = text.slice(0, count)\n const middle: string = text.slice(count, text.length - count)\n const last: string = text.slice(-count)\n\n const firstStyle = [cn(symbol({ dim: !cfg.first })), textStyle].filter(Boolean)\n const middleStyle = [cn(symbol({ dim: !cfg.middle })), textStyle].filter(Boolean)\n const lastStyle = [cn(symbol({ dim: !cfg.last })), textStyle].filter(Boolean)\n\n return (\n <Text>\n <Text style={firstStyle}>{first}</Text>\n <Text style={middleStyle}>{middle}</Text>\n <Text style={lastStyle}>{last}</Text>\n </Text>\n )\n}\n\n/**\n * MiddleEllipsisText subcomponent\n * Renders text with ellipsis in the middle\n */\nconst MiddleEllipsisText: React.FC<{ \n children: string\n edgeChars: number\n theme?: 'light' | 'dark'\n textStyle?: TextStyle\n}> = ({ \n children, \n edgeChars,\n theme = 'light',\n textStyle\n}) => {\n if (children == null || children === '') return <NotActive theme={theme} />\n const text: string = String(children)\n \n if (text.length <= edgeChars * 2) {\n const style = textStyle ? [textStyle] : undefined\n return <Text style={style}>{text}</Text>\n }\n \n const first: string = text.slice(0, edgeChars)\n const last: string = text.slice(-edgeChars)\n \n const ellipsisStyle = [cn('opacity-50'), textStyle].filter(Boolean)\n \n return (\n <Text>\n <Text style={textStyle}>{first}</Text>\n <Text style={ellipsisStyle}>&hellip;</Text>\n <Text style={textStyle}>{last}</Text>\n </Text>\n )\n}\n\n/**\n * Identifier component for React Native\n * Shows an ID string with optional highlighting, avatar, copy button, and ellipsis modes.\n * \n * Features:\n * - Highlight modes: default, dim, highlight, first, last, both\n * - Ellipsis modes: standard (tail), middle, maxLines\n * - Avatar integration\n * - Copy button integration\n * - Theme support (light/dark)\n * \n * @example\n * ```tsx\n * <Identifier highlight=\"both\">0x1234567890abcdef</Identifier>\n * <Identifier avatar copyButton>alice@example.com</Identifier>\n * <Identifier middleEllipsis edgeChars={6}>very-long-identifier</Identifier>\n * <Identifier maxLines={2}>Multi-line\\nidentifier\\ntext</Identifier>\n * ```\n */\nconst Identifier: React.FC<IdentifierProps> = ({\n children,\n ellipsis = false,\n highlight = undefined,\n avatar = false,\n copyButton = false,\n maxLines = 0,\n className = '',\n middleEllipsis = false,\n edgeChars = 4,\n theme = 'light',\n style,\n textStyle,\n ...props\n}) => {\n const [containerWidth, setContainerWidth] = useState(0)\n\n // Handle container layout changes\n const handleLayout = useCallback((event: LayoutChangeEvent) => {\n const { width } = event.nativeEvent.layout\n setContainerWidth(width)\n }, [])\n\n const rootClasses = `${identifier({ theme: theme as 'light' | 'dark', ellipsis, highlight })} ${className}`.trim()\n\n // Determine if we should use standard ellipsis with numberOfLines\n const useStandardEllipsis = ellipsis === true && !middleEllipsis && maxLines === 0\n const useMaxLines = maxLines > 0 && !middleEllipsis\n\n // Symbol container classes\n const symbolContainerClass = ellipsis === true\n ? 'flex-1 overflow-hidden'\n : 'flex-1'\n\n // Merge text styles\n const finalTextStyle = [cn('leading-4'), textStyle].filter(Boolean)\n\n return (\n <View \n style={[cn(rootClasses), style].filter(Boolean)} \n onLayout={handleLayout}\n {...props}\n >\n {avatar && children != null && children !== '' && (\n <Avatar \n username={children} \n className=\"mr-2\"\n width={24}\n height={24}\n />\n )}\n \n <View style={cn(symbolContainerClass)}>\n {children != null && children !== '' && middleEllipsis ? (\n <MiddleEllipsisText edgeChars={edgeChars} theme={theme} textStyle={textStyle}>\n {children}\n </MiddleEllipsisText>\n ) : children != null && children !== '' && highlight != null ? (\n <HighlightedID mode={highlight} theme={theme} textStyle={textStyle}>\n {children}\n </HighlightedID>\n ) : children != null && children !== '' ? (\n <Text\n numberOfLines={useStandardEllipsis ? 1 : useMaxLines ? maxLines : undefined}\n ellipsizeMode={useStandardEllipsis || useMaxLines ? 'tail' : undefined}\n style={finalTextStyle}\n >\n {children}\n </Text>\n ) : (\n <NotActive theme={theme} />\n )}\n </View>\n \n {copyButton && children != null && children !== '' && (\n <CopyButton className=\"ml-3\" text={children} />\n )}\n </View>\n )\n}\n\nexport default Identifier\nexport { Identifier }\n","import React from 'react'\nimport {\n View,\n Pressable,\n ActivityIndicator,\n ViewStyle,\n PressableProps,\n} from 'react-native'\nimport { cva, VariantProps } from 'class-variance-authority'\nimport { cn } from '../../utils/tw'\nimport { resolveColorScheme } from '../../utils/resolveColorScheme'\n\n/**\n * ValueCard CVA - twrnc-compatible classes.\n * dash-block-sm/md/xl expanded: px-3 py-2 rounded-[10px], px-[18px] py-3 rounded-[14px], px-[25px] py-5 rounded-[16px]\n * hover: classes omitted (RN uses Pressable opacity for press feedback)\n */\nconst valueCardStyles = cva(\n 'flex flex-row items-center',\n {\n variants: {\n theme: {\n light: 'border-gray-200',\n dark: 'bg-gray-800/50 border-gray-400',\n },\n colorScheme: {\n default: '',\n transparent: 'bg-transparent',\n green: 'text-green-500 bg-green-200 border-green-400',\n lightBlue: 'bg-[rgba(150,167,255,0.1)] border-[rgba(76,126,255,0.2)]',\n white: 'bg-white',\n lightGray: 'bg-[#0c1c3308]',\n yellow: 'bg-dash-yellow-light border-dash-yellow',\n },\n size: {\n xs: 'px-2 py-1 rounded',\n sm: 'px-3 py-2 rounded-[10px]',\n md: 'px-[18px] py-3 rounded-[14px]',\n xl: 'px-[25px] py-5 rounded-[16px]',\n },\n clickable: {\n false: '',\n true: '',\n },\n loading: {\n false: '',\n true: 'opacity-70',\n },\n border: {\n false: 'border-0',\n true: 'border',\n },\n },\n defaultVariants: {\n theme: 'light',\n colorScheme: 'default',\n size: 'md',\n clickable: false,\n loading: false,\n border: true,\n },\n }\n)\n\ntype ValueCardVariants = VariantProps<typeof valueCardStyles>\n\nexport interface ValueCardProps\n extends Omit<PressableProps, 'style'>,\n Omit<ValueCardVariants, 'theme'> {\n /** Theme - light or dark. Default: 'light' */\n theme?: 'light' | 'dark'\n /** Color scheme */\n colorScheme?: 'default' | 'transparent' | 'green' | 'lightBlue' | 'white' | 'lightGray' | 'yellow'\n /** Color scheme override for light theme */\n colorSchemeLight?: 'default' | 'transparent' | 'green' | 'lightBlue' | 'white' | 'lightGray' | 'yellow'\n /** Color scheme override for dark theme */\n colorSchemeDark?: 'default' | 'transparent' | 'green' | 'lightBlue' | 'white' | 'lightGray' | 'yellow'\n /** Size variant */\n size?: 'xs' | 'sm' | 'md' | 'xl'\n /** Whether the card is clickable (shows press feedback) */\n clickable?: boolean\n /** Show loading state with ActivityIndicator */\n loading?: boolean\n /** Show border. Default: true */\n border?: boolean\n /** Additional Tailwind classes */\n className?: string\n /** Custom container style (overrides Tailwind classes) */\n style?: ViewStyle\n /** Card content */\n children: React.ReactNode\n}\n\n/**\n * React Native ValueCard - card container with theme, color schemes, sizes,\n * clickability, loading state, and optional border.\n */\nexport const ValueCard: React.FC<ValueCardProps> = ({\n theme = 'light',\n colorScheme,\n colorSchemeLight,\n colorSchemeDark,\n size = 'md',\n clickable = false,\n loading = false,\n border = true,\n className = '',\n style,\n children,\n onPress,\n ...props\n}) => {\n const isClickable = Boolean(onPress ?? clickable)\n const isDisabled = loading\n const effectiveColorScheme = resolveColorScheme(theme, colorScheme, colorSchemeLight, colorSchemeDark) ?? 'default'\n\n const classes = valueCardStyles({\n theme,\n colorScheme: effectiveColorScheme,\n size,\n clickable: isClickable,\n loading,\n border,\n })\n\n const combinedClasses = className ? `${classes} ${className}` : classes\n const containerStyle = [cn(combinedClasses), style].filter(Boolean) as ViewStyle[]\n\n const content = loading ? (\n <ActivityIndicator\n testID=\"value-card-loading\"\n size=\"small\"\n color={effectiveColorScheme === 'green' ? '#22c55e' : effectiveColorScheme === 'lightBlue' ? '#4C7EFF' : '#6B7280'}\n />\n ) : (\n children\n )\n\n if (isClickable && !isDisabled) {\n return (\n <Pressable\n style={({ pressed }) => [\n ...containerStyle,\n pressed && { opacity: 0.9 },\n ]}\n onPress={onPress}\n disabled={isDisabled}\n {...props}\n >\n {content}\n </Pressable>\n )\n }\n\n return (\n <View style={containerStyle} {...props}>\n {content}\n </View>\n )\n}\n\nexport default ValueCard\n","import React from 'react'\nimport { View, Pressable, ViewStyle } from 'react-native'\nimport Svg, { Path } from 'react-native-svg'\nimport { cn } from '../../utils/tw'\n\nexport interface DashLogoProps {\n color?: string\n size?: number\n width?: number\n height?: number\n className?: string\n onPress?: () => void\n containerPadding?: number\n containerSize?: number\n containerClassName?: string\n /** Custom container style (overrides Tailwind classes) */\n containerStyle?: ViewStyle\n}\n\n/**\n * Dash Logo component for React Native with customizable size and color\n * Original aspect ratio: 30:25 (1.2:1)\n * \n * Color can be set via:\n * - color prop (default: #4C7EFF)\n * \n * Container supports:\n * - containerPadding: padding around the logo\n * - containerSize: width/height of the container \n * - containerClassName: Tailwind classes for the container\n * - containerStyle: Additional style object for the container\n */\nexport const DashLogo: React.FC<DashLogoProps> = ({\n color = '#4C7EFF',\n size,\n width,\n height,\n className = '',\n onPress,\n containerPadding,\n containerSize,\n containerClassName = '',\n containerStyle\n}) => {\n const logoWidth = width || size || 30\n const logoHeight = height || (size ? (size * 25) / 30 : 25)\n\n const baseContainerClasses = 'flex justify-center items-center'\n const containerClasses = containerClassName \n ? `${baseContainerClasses} ${containerClassName}` \n : baseContainerClasses\n\n const inlineContainerStyle: ViewStyle = {\n padding: containerPadding,\n width: containerSize,\n height: containerSize,\n ...containerStyle\n }\n\n const combinedContainerStyle = [\n cn(containerClasses),\n inlineContainerStyle\n ].filter(Boolean)\n\n const logoElement = (\n <Svg\n width={logoWidth}\n height={logoHeight}\n viewBox='0 0 30 25'\n fill='none'\n >\n <Path\n d='M19.6465 0C29.2466 2.13767e-05 30.9542 5.2464 29.585 12.6006C28.6773 17.5547 26.3845 21.3391 22.5537 23.1084C20.8153 23.9084 19.1848 24.3555 15.3389 24.3555H4.44629L5.33887 19.293H14.9229C20.6921 19.3084 22.2159 16.8009 22.9697 14.6162C23.2467 13.8008 23.9084 11.2619 23.9238 9.76953C23.9699 6.84642 22.5383 5.07715 17.6768 5.07715L7.81543 5.06152L8.72363 0H19.6465Z'\n fill={color}\n />\n <Path\n d='M15.2002 9.63184C15.2002 9.63184 15.0775 10.232 14.7236 11.709C14.4621 12.8321 14.0462 14.6934 11.1846 14.6934H0C0.00327153 14.6775 0.12745 14.0734 0.476562 12.6162C0.73811 11.493 1.15435 9.63184 4.01562 9.63184H15.2002Z'\n fill={color}\n />\n </Svg>\n )\n\n if (onPress) {\n return (\n <Pressable style={combinedContainerStyle} onPress={onPress}>\n {logoElement}\n </Pressable>\n )\n }\n\n return (\n <View style={combinedContainerStyle}>\n {logoElement}\n </View>\n )\n}\n\nexport default DashLogo\n","import React from 'react'\nimport {\n SuccessIcon,\n ErrorIcon,\n QueuedIcon,\n PooledIcon,\n BroadcastedIcon,\n IconProps\n} from '../icons'\n\n/**\n * Available status keys for which an icon will be rendered.\n */\nexport type StatusKey =\n | 'SUCCESS'\n | 'FAIL'\n | 'QUEUED'\n | 'POOLED'\n | 'BROADCASTED'\n\n/**\n * Props for the TransactionStatusIcon component.\n */\nexport interface TransactionStatusIconProps extends Omit<IconProps, 'color'> {\n /** Which status icon to show. */\n status: StatusKey\n /** Optional override for icon color. */\n color?: string\n /** Theme for default color selection. */\n theme?: 'light' | 'dark'\n}\n\nconst defaultColors = {\n light: {\n SUCCESS: '#1CC400',\n FAIL: '#F45858',\n QUEUED: '#F4A358',\n POOLED: '#008DE4',\n BROADCASTED: '#008DE4'\n },\n dark: {\n SUCCESS: '#22D32E',\n FAIL: '#FF6B6B',\n QUEUED: '#FFB366',\n POOLED: '#42A5F5',\n BROADCASTED: '#42A5F5'\n }\n}\n\nconst iconMap = {\n SUCCESS: SuccessIcon,\n FAIL: ErrorIcon,\n QUEUED: QueuedIcon,\n POOLED: PooledIcon,\n BROADCASTED: BroadcastedIcon\n} as const\n\n/**\n * Renders an icon corresponding to the given `status`.\n * If `status` is not recognized, returns null.\n * Colors adapt to light/dark theme unless overridden.\n */\nexport const TransactionStatusIcon: React.FC<TransactionStatusIconProps> = ({\n status,\n color,\n theme = 'light',\n ...props\n}) => {\n const IconComponent = iconMap[status]\n if (IconComponent == null) return null\n\n const iconColor = color ?? defaultColors[theme][status]\n\n return <IconComponent color={iconColor} {...props} />\n}\n\nexport default TransactionStatusIcon\n","import { useState, useEffect, useRef, useCallback } from 'react'\n\ninterface UseDebounceOptions<T> {\n /**\n * Delay in milliseconds\n */\n delay: number\n /**\n * Callback called when debounced value changes\n */\n callback?: (value: T) => void\n /**\n * If true, the value will be set immediately on first call\n */\n immediate?: boolean\n}\n\ninterface UseDebounceReturn<T> {\n /**\n * Current debounced value\n */\n debouncedValue: T\n /**\n * Function to force flush debounce and immediately update value\n */\n flush: () => void\n /**\n * Function to cancel current pending debounce\n */\n cancel: () => void\n /**\n * Whether there's a pending change\n */\n isPending: boolean\n}\n\n/**\n * Hook for debouncing values with extended functionality\n * React Native compatible version\n * \n * @param value - Value to debounce\n * @param options - Configuration options\n * @returns Object with debounced value and control methods\n */\nconst useDebounce = <T>(\n value: T, \n options: UseDebounceOptions<T> | number\n): UseDebounceReturn<T> => {\n // Backward compatibility support - if number is passed, it's delay\n const config: UseDebounceOptions<T> = typeof options === 'number' \n ? { delay: options }\n : options\n\n const { delay, callback, immediate = false } = config\n \n const [debouncedValue, setDebouncedValue] = useState<T>(value)\n const [isPending, setIsPending] = useState(false)\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const isFirstRun = useRef(true)\n\n const cancel = useCallback(() => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = null\n setIsPending(false)\n }\n }, [])\n\n const flush = useCallback(() => {\n cancel()\n setDebouncedValue(value)\n callback?.(value)\n setIsPending(false)\n }, [value, callback, cancel])\n\n useEffect(() => {\n // If immediate === true and this is first run, set value immediately\n if (immediate && isFirstRun.current) {\n setDebouncedValue(value)\n callback?.(value)\n isFirstRun.current = false\n return\n }\n\n isFirstRun.current = false\n setIsPending(true)\n\n const handler = setTimeout(() => {\n setDebouncedValue(value)\n callback?.(value)\n setIsPending(false)\n timeoutRef.current = null\n }, delay)\n\n timeoutRef.current = handler\n\n return () => {\n clearTimeout(handler)\n setIsPending(false)\n }\n }, [value, delay, callback, immediate])\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [])\n\n return {\n debouncedValue,\n flush,\n cancel,\n isPending\n }\n}\n\n// Export for backward compatibility\nexport default useDebounce\n\n// Named export for new API\nexport { useDebounce }\n","/**\n * Design tokens for React Native\n * \n * These tokens are derived from the web theme (src/styles/theme.pcss)\n * and optimized for React Native StyleSheet usage.\n * \n * @example\n * ```typescript\n * import { colors, spacing, typography, borderRadius, shadows } from 'dash-ui-kit/react-native';\n * import { StyleSheet, Platform } from 'react-native';\n * \n * const styles = StyleSheet.create({\n * container: {\n * backgroundColor: colors.brand,\n * padding: spacing[4],\n * borderRadius: borderRadius.md,\n * ...Platform.select({\n * ios: shadows.md.ios,\n * android: shadows.md.android,\n * }),\n * },\n * title: {\n * fontSize: typography.fontSize.xl,\n * fontWeight: typography.fontWeight.semibold,\n * lineHeight: typography.lineHeight.xl,\n * },\n * });\n * ```\n */\n\n/**\n * Color palette\n * Derived from theme.pcss color variables\n */\nexport const colors = {\n // Brand colors\n brand: '#4C7EFF',\n brandDim: '#96A7FF',\n brandDark: '#4D5895',\n brandDarkness: '#13172A',\n\n // Accent colors\n mint: '#60F6D2',\n mintHover: '#4DD4B1',\n\n // Yellow variants\n yellowLight: '#fef3c7',\n yellow: '#fde68a',\n\n // Primary colors\n primaryDarkBlue: '#0C1C33',\n primaryDieSubdued: 'rgba(12, 28, 51, 0.03)',\n\n // State colors - Green\n green: '#40BF40',\n green75: 'rgba(64, 191, 64, 0.75)',\n green15: 'rgba(64, 191, 64, 0.15)',\n green5: 'rgba(64, 191, 64, 0.05)',\n\n // State colors - Red\n red: '#CD2E00',\n red75: 'rgba(205, 46, 0, 0.75)',\n red15: 'rgba(205, 46, 0, 0.15)',\n red5: 'rgba(205, 46, 0, 0.05)',\n\n // State colors - Orange\n orange: '#F98F12',\n orange75: 'rgba(249, 143, 18, 0.75)',\n orange15: 'rgba(249, 143, 18, 0.15)',\n orange5: 'rgba(249, 143, 18, 0.05)',\n\n // Common colors\n white: '#FFFFFF',\n black: '#000000',\n transparent: 'transparent',\n} as const;\n\n/**\n * Spacing scale\n * Based on 4px base unit (Tailwind-compatible)\n */\nexport const spacing = {\n 0: 0,\n 1: 4,\n 2: 8,\n 3: 12,\n 4: 16,\n 5: 20,\n 6: 24,\n 7: 28,\n 8: 32,\n 9: 36,\n 10: 40,\n 11: 44, // 2.75rem from theme\n 12: 48,\n 14: 56,\n 16: 64,\n 18: 72,\n 20: 80,\n 24: 96,\n 28: 112,\n 32: 128,\n 36: 144,\n 40: 160,\n 44: 176,\n 48: 192,\n 52: 208,\n 56: 224,\n 60: 240,\n 64: 256,\n} as const;\n\n/**\n * Typography scale\n * Font sizes, weights, and line heights\n */\nexport const typography = {\n /**\n * Font size scale\n */\n fontSize: {\n xs: 12,\n sm: 14,\n base: 16,\n lg: 18,\n xl: 20,\n '2xl': 24,\n '3xl': 30,\n '4xl': 36,\n '5xl': 48,\n '6xl': 60,\n '7xl': 72,\n '8xl': 96,\n '9xl': 128,\n },\n\n /**\n * Font weight scale\n * Values are strings for React Native compatibility\n */\n fontWeight: {\n normal: '400',\n medium: '500',\n semibold: '600',\n bold: '700',\n extrabold: '800',\n },\n\n /**\n * Line height scale (in pixels)\n * Calculated based on common typography ratios\n */\n lineHeight: {\n xs: 16, // 1.33x\n sm: 20, // 1.43x\n base: 24, // 1.5x\n lg: 28, // 1.56x\n xl: 28, // 1.4x\n '2xl': 32, // 1.33x\n '3xl': 36, // 1.2x\n '4xl': 40, // 1.11x\n '5xl': 56, // 1.17x\n '6xl': 72, // 1.2x\n '7xl': 84, // 1.17x\n '8xl': 112, // 1.17x\n '9xl': 144, // 1.13x\n },\n\n /**\n * Letter spacing (tracking)\n */\n letterSpacing: {\n tighter: -0.8,\n tight: -0.4,\n normal: 0,\n wide: 0.4,\n wider: 0.8,\n widest: 1.6,\n },\n} as const;\n\n/**\n * Border radius scale\n */\nexport const borderRadius = {\n none: 0,\n xs: 4,\n sm: 10,\n md: 12,\n lg: 14,\n xl: 16,\n '2xl': 20,\n '3xl': 24,\n full: 9999,\n} as const;\n\n/**\n * Shadow presets\n * Platform-specific implementations for iOS and Android\n * \n * @example\n * ```typescript\n * import { Platform } from 'react-native';\n * \n * const shadowStyle = Platform.select({\n * ios: shadows.md.ios,\n * android: shadows.md.android,\n * });\n * ```\n */\nexport const shadows = {\n /**\n * Small shadow - subtle elevation\n */\n sm: {\n ios: {\n shadowColor: '#000000',\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n shadowRadius: 2,\n },\n android: {\n elevation: 2,\n },\n },\n\n /**\n * Medium shadow - standard elevation\n */\n md: {\n ios: {\n shadowColor: '#000000',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.15,\n shadowRadius: 4,\n },\n android: {\n elevation: 4,\n },\n },\n\n /**\n * Large shadow - prominent elevation\n */\n lg: {\n ios: {\n shadowColor: '#000000',\n shadowOffset: { width: 0, height: 4 },\n shadowOpacity: 0.2,\n shadowRadius: 8,\n },\n android: {\n elevation: 8,\n },\n },\n\n /**\n * Extra large shadow - maximum elevation\n */\n xl: {\n ios: {\n shadowColor: '#000000',\n shadowOffset: { width: 0, height: 8 },\n shadowOpacity: 0.25,\n shadowRadius: 16,\n },\n android: {\n elevation: 12,\n },\n },\n} as const;\n\n/**\n * Border width scale\n */\nexport const borderWidth = {\n 0: 0,\n 1: 1,\n 2: 2,\n 4: 4,\n 8: 8,\n} as const;\n\n/**\n * Opacity scale\n */\nexport const opacity = {\n 0: 0,\n 5: 0.05,\n 10: 0.1,\n 15: 0.15,\n 20: 0.2,\n 25: 0.25,\n 30: 0.3,\n 40: 0.4,\n 50: 0.5,\n 60: 0.6,\n 70: 0.7,\n 75: 0.75,\n 80: 0.8,\n 90: 0.9,\n 95: 0.95,\n 100: 1,\n} as const;\n\n/**\n * Z-index scale\n */\nexport const zIndex = {\n 0: 0,\n 10: 10,\n 20: 20,\n 30: 30,\n 40: 40,\n 50: 50,\n auto: 'auto' as const,\n} as const;\n\n// Type exports for TypeScript users\nexport type Colors = typeof colors;\nexport type Spacing = typeof spacing;\nexport type Typography = typeof typography;\nexport type BorderRadius = typeof borderRadius;\nexport type Shadows = typeof shadows;\nexport type BorderWidth = typeof borderWidth;\nexport type Opacity = typeof opacity;\nexport type ZIndex = typeof zIndex;\n","/**\n * Utility functions for React Native styles\n */\n\nimport { Platform } from 'react-native';\nimport { shadows } from './tokens';\n\n/**\n * Creates an rgba color string from hex color and opacity\n * \n * @param hexColor - Hex color string (e.g., '#4C7EFF')\n * @param alpha - Opacity value between 0 and 1\n * @returns rgba color string\n * \n * @example\n * ```typescript\n * rgba('#4C7EFF', 0.5) // 'rgba(76, 126, 255, 0.5)'\n * rgba('#40BF40', 0.15) // 'rgba(64, 191, 64, 0.15)'\n * ```\n */\nexport function rgba(hexColor: string, alpha: number): string {\n const hex = hexColor.replace('#', '');\n const r = parseInt(hex.substring(0, 2), 16);\n const g = parseInt(hex.substring(2, 4), 16);\n const b = parseInt(hex.substring(4, 6), 16);\n \n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n}\n\n/**\n * Converts hex color to rgba\n * Alias for rgba() with more explicit naming\n * \n * @param hexColor - Hex color string\n * @param alpha - Opacity value between 0 and 1\n * @returns rgba color string\n */\nexport function hexToRgba(hexColor: string, alpha: number): string {\n return rgba(hexColor, alpha);\n}\n\n/**\n * Shadow style type for iOS platform\n */\ntype IOSShadowStyle = {\n shadowColor: string;\n shadowOffset: { width: number; height: number };\n shadowOpacity: number;\n shadowRadius: number;\n};\n\n/**\n * Shadow style type for Android platform\n */\ntype AndroidShadowStyle = {\n elevation: number;\n};\n\n/**\n * Gets platform-specific shadow styles\n * \n * @param size - Shadow size: 'sm' | 'md' | 'lg' | 'xl'\n * @returns Platform-specific shadow styles\n * \n * @example\n * ```typescript\n * const styles = StyleSheet.create({\n * card: {\n * ...getShadow('md'),\n * },\n * });\n * ```\n */\nexport function getShadow(\n size: 'sm' | 'md' | 'lg' | 'xl'\n): IOSShadowStyle | AndroidShadowStyle {\n if (Platform.OS === 'ios') {\n return shadows[size].ios;\n } else if (Platform.OS === 'android') {\n return shadows[size].android;\n }\n // Default to iOS shadow style for other platforms\n return shadows[size].ios;\n}\n\n/**\n * Type guard to check if value is a valid spacing key\n */\nexport function isSpacingKey(value: any): value is keyof typeof import('./tokens').spacing {\n const spacingKeys = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64];\n return spacingKeys.includes(value);\n}\n"],"names":["tailwindConfig","theme","extend","colors","tw","create","cn","className","textStyles","cva","variants","variant","body","caption","label","weight","regular","medium","semibold","bold","color","default","blue","red","gray","italic","false","true","underline","lineThrough","transform","none","uppercase","capitalize","opacity","defaultVariants","Text","_a","style","children","props","__rest","classes","textStyle","filter","Boolean","_jsx","RNText","Object","assign","headingStyles","level","normal","extrabold","black","green","Heading","headingStyle","resolveColorScheme","colorScheme","colorSchemeLight","colorSchemeDark","undefined","buttonStyles","solid","outline","ghost","brand","mint","lightBlue","lightGray","white","halfWhite","halfBlue","size","sm","md","lg","xl","rounded","full","disabled","compoundVariants","class","Button","loading","onPress","isDisabled","effectiveColorScheme","_b","buttonClasses","textClasses","buttonStyle","textStyleMerged","Pressable","pressed","ActivityIndicator","ArrowIcon","Svg","width","height","viewBox","fill","Path","d","CopyIcon","_jsxs","G","clipPath","Defs","ClipPath","id","Rect","SuccessIcon","Circle","cx","cy","r","fillOpacity","stroke","strokeWidth","strokeLinecap","ErrorIcon","rx","CheckIcon","strokeLinejoin","CrossIcon","PlusIcon","ChevronIcon","SearchIcon","InfoCircleIcon","EyeOpenIcon","EyeClosedIcon","Line","x1","y1","x2","y2","AsteriskIcon","TopRightArrowIcon","QueuedIcon","PooledIcon","BroadcastedIcon","Icons","inputStyles","error","success","outlined","filled","Input","secureTextEntry","prefix","prefixStyle","showPasswordToggle","showPassword","setShowPassword","useState","finalColorScheme","isPassword","shouldShowToggle","hasPrefix","togglePasswordVisibility","inputStyle","inputTextStyle","fontSize","lineHeight","fontWeight","containerStyle","paddingRight","paddingLeft","defaultPrefixStyle","renderPrefix","View","position","left","justifyContent","zIndex","pointerEvents","TextInput","editable","placeholderTextColor","TouchableOpacity","right","alignItems","activeOpacity","tabsRootStyles","light","dark","tabsListStyles","tabsTriggerStyles","active","tabsContentStyles","Tabs","items","value","defaultValue","onValueChange","listClassName","triggerClassName","contentClassName","listStyle","triggerStyle","contentStyle","internalValue","setInternalValue","currentValue","handleValueChange","newValue","rootClasses","listClasses","contentClasses","rootStyle","listStyleCombined","contentStyleCombined","borderColor","activeBorderColor","ScrollView","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","flexDirection","map","item","isActive","triggerClasses","triggerStyleCombined","textColor","baseTextStyle","finalTextStyle","bottom","backgroundColor","content","Avatar","username","saturation","lightness","svgString","useMemo","minidenticon","containerClasses","trim","SvgXml","xml","badgeStyles","xxs","xs","borderRadius","color_variant_blue_default","color_variant_blue_flat","color_variant_blue_solid","color_variant_blue_bordered","color_variant_white_default","color_variant_white_flat","color_variant_white_solid","color_variant_white_bordered","color_variant_gray_default","color_variant_gray_flat","color_variant_gray_solid","color_variant_gray_bordered","color_variant_lightgray_default","color_variant_lightgray_flat","color_variant_lightgray_solid","color_variant_lightgray_bordered","color_variant_turquoise_default","color_variant_turquoise_flat","color_variant_turquoise_solid","color_variant_turquoise_bordered","color_variant_red_default","color_variant_red_flat","color_variant_red_solid","color_variant_red_bordered","color_variant_orange_default","color_variant_orange_flat","color_variant_orange_solid","color_variant_orange_bordered","COLOR_KEY_MAP","Badge","colorLight","colorDark","effectiveColor","normalizedColor","colorVariantKey","badgeVariantProps","badgeClasses","textVariantProps","combinedClasses","badgeStyleArray","groupDigits","intPart","split","reverse","reduce","acc","char","idx","unshift","BigNumber","decimalPointSpacing","decimalPointStyle","marginLeft","marginRight","str","toString","fracPart","groups","grp","i","_Fragment","length","clipboardInstance","getClipboard","ExpoClipboard","require","setStringAsync","getStringAsync","setString","text","catch","err","console","warn","getString","RNClipboard","Clipboard","clipboard","FEEDBACK_DURATION_MS","CopyButton","onCopy","accessibilityLabel","copied","setCopied","timeoutRef","useRef","handlePress","useCallback","current","clearTimeout","setTimeout","useEffect","copiedTextClasses","copiedTextStyle","accessibilityRole","NotActive","themeColor","identifier","ellipsis","highlight","dim","first","last","both","symbol","highlightModes","middle","HighlightedID","mode","String","cfg","count","minLength","symbolStyle","slice","firstStyle","middleStyle","lastStyle","MiddleEllipsisText","edgeChars","ellipsisStyle","Identifier","avatar","copyButton","maxLines","middleEllipsis","containerWidth","setContainerWidth","handleLayout","event","nativeEvent","layout","useStandardEllipsis","useMaxLines","symbolContainerClass","onLayout","numberOfLines","ellipsizeMode","valueCardStyles","transparent","yellow","clickable","border","ValueCard","isClickable","testID","DashLogo","containerPadding","containerSize","containerClassName","logoWidth","logoHeight","baseContainerClasses","inlineContainerStyle","padding","combinedContainerStyle","logoElement","defaultColors","SUCCESS","FAIL","QUEUED","POOLED","BROADCASTED","iconMap","TransactionStatusIcon","status","IconComponent","iconColor","useDebounce","options","config","delay","callback","immediate","debouncedValue","setDebouncedValue","isPending","setIsPending","isFirstRun","cancel","flush","handler","brandDim","brandDark","brandDarkness","mintHover","yellowLight","primaryDarkBlue","primaryDieSubdued","green75","green15","green5","red75","red15","red5","orange","orange75","orange15","orange5","spacing","typography","base","letterSpacing","tighter","tight","wide","wider","widest","shadows","ios","shadowColor","shadowOffset","shadowOpacity","shadowRadius","android","elevation","borderWidth","auto","rgba","hexColor","alpha","hex","replace","parseInt","substring","g","b","hexToRgba","getShadow","Platform","OS"],"mappings":"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"}