synkra-ds 0.1.1
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.
- package/dist/index.cjs +1440 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +521 -0
- package/dist/index.d.ts +521 -0
- package/dist/index.js +1341 -0
- package/dist/index.js.map +1 -0
- package/package.json +111 -0
- package/src/assets/logos/index.ts +74 -0
- package/src/assets/logos/payment/Size=large, Payment method=AMEX.svg +5 -0
- package/src/assets/logos/payment/Size=large, Payment method=Alipay.svg +13 -0
- package/src/assets/logos/payment/Size=large, Payment method=Amazon.svg +6 -0
- package/src/assets/logos/payment/Size=large, Payment method=ApplePay.svg +5 -0
- package/src/assets/logos/payment/Size=large, Payment method=Bitcoin.svg +5 -0
- package/src/assets/logos/payment/Size=large, Payment method=Etherium.svg +11 -0
- package/src/assets/logos/payment/Size=large, Payment method=GooglePay.svg +9 -0
- package/src/assets/logos/payment/Size=large, Payment method=Maestro.svg +7 -0
- package/src/assets/logos/payment/Size=large, Payment method=Mastercard.svg +7 -0
- package/src/assets/logos/payment/Size=large, Payment method=PayPal.svg +8 -0
- package/src/assets/logos/payment/Size=large, Payment method=Stripe.svg +5 -0
- package/src/assets/logos/payment/Size=large, Payment method=Visa.svg +5 -0
- package/src/assets/logos/social/black/Discord.svg +15 -0
- package/src/assets/logos/social/black/Facebook.svg +20 -0
- package/src/assets/logos/social/black/GitHub.svg +10 -0
- package/src/assets/logos/social/black/Google.svg +13 -0
- package/src/assets/logos/social/black/Instagram.svg +10 -0
- package/src/assets/logos/social/black/LinkedIn.svg +6 -0
- package/src/assets/logos/social/black/Messenger.svg +10 -0
- package/src/assets/logos/social/black/MidJourney.svg +7 -0
- package/src/assets/logos/social/black/OpenAI.svg +4 -0
- package/src/assets/logos/social/black/Pinterest.svg +10 -0
- package/src/assets/logos/social/black/Reddit.svg +11 -0
- package/src/assets/logos/social/black/Skype.svg +16 -0
- package/src/assets/logos/social/black/Snapchat.svg +4 -0
- package/src/assets/logos/social/black/SoundCloud.svg +24 -0
- package/src/assets/logos/social/black/Spotify.svg +10 -0
- package/src/assets/logos/social/black/Steam.svg +4 -0
- package/src/assets/logos/social/black/TeamViewer.svg +11 -0
- package/src/assets/logos/social/black/Telegram.svg +15 -0
- package/src/assets/logos/social/black/Threads.svg +3 -0
- package/src/assets/logos/social/black/TikTok.svg +5 -0
- package/src/assets/logos/social/black/Tinder.svg +3 -0
- package/src/assets/logos/social/black/Trello.svg +12 -0
- package/src/assets/logos/social/black/Tumblr.svg +11 -0
- package/src/assets/logos/social/black/Twitch.svg +3 -0
- package/src/assets/logos/social/black/Vine.svg +3 -0
- package/src/assets/logos/social/black/WhatsApp.svg +12 -0
- package/src/assets/logos/social/black/X.svg +3 -0
- package/src/assets/logos/social/black/YouTube.svg +11 -0
- package/src/assets/logos/social/color/Discord.svg +15 -0
- package/src/assets/logos/social/color/Facebook.svg +20 -0
- package/src/assets/logos/social/color/GitHub.svg +10 -0
- package/src/assets/logos/social/color/Google.svg +13 -0
- package/src/assets/logos/social/color/Instagram.svg +10 -0
- package/src/assets/logos/social/color/LinkedIn.svg +6 -0
- package/src/assets/logos/social/color/Messenger.svg +10 -0
- package/src/assets/logos/social/color/MidJourney.svg +7 -0
- package/src/assets/logos/social/color/OpenAI.svg +4 -0
- package/src/assets/logos/social/color/Pinterest.svg +10 -0
- package/src/assets/logos/social/color/Reddit.svg +11 -0
- package/src/assets/logos/social/color/Skype.svg +16 -0
- package/src/assets/logos/social/color/Snapchat.svg +4 -0
- package/src/assets/logos/social/color/SoundCloud.svg +24 -0
- package/src/assets/logos/social/color/Spotify.svg +10 -0
- package/src/assets/logos/social/color/Steam.svg +14 -0
- package/src/assets/logos/social/color/TeamViewer.svg +19 -0
- package/src/assets/logos/social/color/Telegram.svg +15 -0
- package/src/assets/logos/social/color/Threads.svg +3 -0
- package/src/assets/logos/social/color/TikTok.svg +5 -0
- package/src/assets/logos/social/color/Tinder.svg +9 -0
- package/src/assets/logos/social/color/Trello.svg +16 -0
- package/src/assets/logos/social/color/Tumblr.svg +11 -0
- package/src/assets/logos/social/color/Twitch.svg +3 -0
- package/src/assets/logos/social/color/Vine.svg +3 -0
- package/src/assets/logos/social/color/WhatsApp.svg +16 -0
- package/src/assets/logos/social/color/X.svg +3 -0
- package/src/assets/logos/social/color/YouTube.svg +11 -0
- package/src/assets/logos/social/white/Discord.svg +15 -0
- package/src/assets/logos/social/white/Facebook.svg +20 -0
- package/src/assets/logos/social/white/GitHub.svg +10 -0
- package/src/assets/logos/social/white/Google.svg +13 -0
- package/src/assets/logos/social/white/Instagram.svg +10 -0
- package/src/assets/logos/social/white/LinkedIn.svg +6 -0
- package/src/assets/logos/social/white/Messenger.svg +10 -0
- package/src/assets/logos/social/white/MidJourney.svg +7 -0
- package/src/assets/logos/social/white/OpenAI.svg +4 -0
- package/src/assets/logos/social/white/Pinterest.svg +10 -0
- package/src/assets/logos/social/white/Reddit.svg +11 -0
- package/src/assets/logos/social/white/Skype.svg +16 -0
- package/src/assets/logos/social/white/Snapchat.svg +4 -0
- package/src/assets/logos/social/white/SoundCloud.svg +24 -0
- package/src/assets/logos/social/white/Spotify.svg +10 -0
- package/src/assets/logos/social/white/Steam.svg +4 -0
- package/src/assets/logos/social/white/StumbleUpon.svg +0 -0
- package/src/assets/logos/social/white/TeamViewer.svg +11 -0
- package/src/assets/logos/social/white/Telegram.svg +15 -0
- package/src/assets/logos/social/white/Threads.svg +3 -0
- package/src/assets/logos/social/white/TikTok.svg +5 -0
- package/src/assets/logos/social/white/Tinder.svg +3 -0
- package/src/assets/logos/social/white/Trello.svg +12 -0
- package/src/assets/logos/social/white/Tumblr.svg +4 -0
- package/src/assets/logos/social/white/Twitch.svg +3 -0
- package/src/assets/logos/social/white/Vine.svg +3 -0
- package/src/assets/logos/social/white/WhatsApp.svg +11 -0
- package/src/assets/logos/social/white/X.svg +3 -0
- package/src/assets/logos/social/white/YouTube.svg +11 -0
- package/src/styles/globals.css +174 -0
- package/src/tokens/palette-extended.css +119 -0
- package/src/tokens/tokens.css +122 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tokens/palette-extended.ts","../src/tokens/index.ts","../src/assets/logos/index.ts","../src/assets/icons/index.ts","../src/lib/utils.ts","../src/atoms/button/Button.tsx","../src/atoms/input/Input.tsx","../src/atoms/checkbox/Checkbox.tsx","../src/atoms/card/Card.tsx","../src/atoms/switch/Switch.tsx","../src/atoms/badge/Badge.tsx","../src/atoms/select/Select.tsx","../src/atoms/textarea/Textarea.tsx","../src/atoms/avatar/Avatar.tsx","../src/molecules/form-field/FormField.tsx","../src/organisms/sidebar/Sidebar.tsx","../src/organisms/login-form/LoginForm.tsx","../src/organisms/dialog/Dialog.tsx","../src/organisms/toast/Toast.tsx","../src/templates/dashboard-layout/DashboardLayout.tsx"],"names":["twMerge","clsx","cva","React","Slot","jsx","jsxs","Fragment","React2","React3","CheckboxPrimitive","React4","React5","SwitchPrimitive","SelectPrimitive","React6","React7","React8","AvatarPrimitive","Label","React9","LabelPrimitive","React10","React11","DialogPrimitive","React12","ToastPrimitive","React13","React14"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Synkra DS - Extended Color Palette (watchOS)\n * Source: assets/Cores/design-tokens-colors.css\n * Usage: Charts, badges, tags, data visualization, accent colors\n */\n\nexport const paletteExtended = {\n reds: {\n red: \"#df1125\",\n neonPink: \"#fb212f\",\n electricPink: \"#fc3644\",\n hibiscus: \"#fb0049\",\n pink: \"#fd4154\",\n pinkCitrus: \"#ea383a\",\n pomegranate: \"#d80e4f\",\n dragonFruit: \"#f12e6d\",\n camellia: \"#bf3138\",\n redRose: \"#ab1438\",\n plum: \"#81323d\",\n },\n oranges: {\n orange: \"#fc4e12\",\n clementine: \"#fd513b\",\n apricot: \"#fc5c42\",\n papaya: \"#fd7036\",\n kumquat: \"#fd7441\",\n lightOrange: \"#fd820b\",\n peach: \"#e0694e\",\n flamingo: \"#ca6f59\",\n roseGold: \"#e99475\",\n pinkSand: \"#feb69c\",\n vintageRose: \"#f29c98\",\n grapefruit: \"#fda27e\",\n },\n yellows: {\n cream: \"#ffe0ab\",\n mellowYellow: \"#f7f6af\",\n canaryYellow: \"#ffda3a\",\n pollen: \"#e8c511\",\n flashLight: \"#faed0b\",\n lemonCream: \"#ffeb6d\",\n flash: \"#dff81e\",\n },\n greens: {\n green: \"#80e220\",\n spearmint: \"#77ea7e\",\n mint: \"#a2ec8e\",\n beryl: \"#d0f2b1\",\n seaFoam: \"#cff1d6\",\n turquoise: \"#91cec2\",\n },\n blues: {\n blue: \"#1ea5fc\",\n lightBlue: \"#5ebad9\",\n cerulean: \"#87b9e7\",\n surfBlue: \"#1871ac\",\n pacificGreen: \"#0f6d8e\",\n blueCobalt: \"#3a6b8e\",\n darkTeal: \"#2c6184\",\n blueHorizon: \"#1e538f\",\n denimBlue: \"#4b709a\",\n linenBlue: \"#455785\",\n deepNavy: \"#3a4565\",\n midnightBlue: \"#383b65\",\n },\n purples: {\n purple: \"#8962f8\",\n ultraViolet: \"#5f41b2\",\n lilac: \"#a990dd\",\n oceanBlue: \"#6273bd\",\n delftBlue: \"#4662b2\",\n indigo: \"#474e95\",\n lavenderGray: \"#757397\",\n lavender: \"#a58998\",\n },\n neutrals: {\n mistBlue: \"#a7ab99\",\n stormGray: \"#578887\",\n cactus: \"#5b7971\",\n pineGreen: \"#4e6c54\",\n cyprusGreen: \"#525d49\",\n northernBlue: \"#638a8d\",\n azure: \"#788991\",\n alaskanBlue: \"#525c73\",\n },\n earths: {\n khaki: \"#7a6e49\",\n darkOlive: \"#7c7a66\",\n softWhite: \"#d8c9af\",\n antiqueWhite: \"#cda986\",\n yellowGold: \"#cc996d\",\n gold: \"#b08053\",\n camel: \"#a97d4f\",\n walnut: \"#a17455\",\n stone: \"#a28872\",\n pebble: \"#9f8d7e\",\n cocoa: \"#8b7d7d\",\n coastalGray: \"#715d50\",\n },\n} as const;\n\n/** 10 colors optimized for charts and data visualization */\nexport const chartPalette = [\n \"#1ea5fc\", // blue\n \"#D4AF37\", // gold (brand)\n \"#22C55E\", // green\n \"#8962f8\", // purple\n \"#fc4e12\", // orange\n \"#fb0049\", // hibiscus\n \"#91cec2\", // turquoise\n \"#f7f6af\", // yellow\n \"#a990dd\", // lilac\n \"#fd820b\", // light orange\n] as const;\n\n/** Gradient presets */\nexport const gradients = {\n badge: \"linear-gradient(82.44deg, #ff3b57 0%, #ffda1a 100%)\",\n purpleBlue: \"linear-gradient(135deg, #8962f8, #1ea5fc)\",\n hibiscusDragon: \"linear-gradient(135deg, #fb0049, #f12e6d)\",\n greenMint: \"linear-gradient(135deg, #80e220, #a2ec8e)\",\n goldSunset: \"linear-gradient(135deg, #D4AF37, #fc4e12)\",\n} as const;\n\nexport type PaletteCategory = keyof typeof paletteExtended;\nexport type ChartColor = (typeof chartPalette)[number];\nexport type GradientName = keyof typeof gradients;\n","/**\n * Synkra DS - Design Token Types & Exports\n * Auto-generated from tokens.yaml - DO NOT edit manually\n */\n\n// ============================================================================\n// COLOR TOKENS\n// ============================================================================\n\nexport const colors = {\n primary: {\n gold: \"#D4AF37\",\n \"gold-dark\": \"#B8962E\",\n \"gold-light\": \"#E4C84A\",\n },\n background: {\n base: \"#0A0A0F\",\n elevated: \"#111116\",\n surface: \"#1a1a1f\",\n overlay: \"rgba(0, 0, 0, 0.8)\",\n },\n text: {\n primary: \"#FFFFFF\",\n secondary: \"#A1A1AA\",\n muted: \"#71717A\",\n inverse: \"#0A0A0F\",\n },\n semantic: {\n success: \"#22C55E\",\n warning: \"#F59E0B\",\n error: \"#EF4444\",\n info: \"#3B82F6\",\n },\n border: {\n default: \"rgba(255, 255, 255, 0.1)\",\n subtle: \"rgba(255, 255, 255, 0.05)\",\n emphasis: \"rgba(212, 175, 55, 0.3)\",\n },\n} as const;\n\n// ============================================================================\n// TYPOGRAPHY TOKENS\n// ============================================================================\n\nexport const typography = {\n families: {\n sans: \"'Inter', sans-serif\",\n serif: \"'Source Serif 4', serif\",\n display: \"'Rajdhani', sans-serif\",\n mono: \"'JetBrains Mono', monospace\",\n },\n sizes: {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n base: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"1.875rem\",\n \"4xl\": \"2.25rem\",\n \"5xl\": \"3rem\",\n },\n lineHeights: {\n xs: \"1rem\",\n sm: \"1.25rem\",\n base: \"1.5rem\",\n lg: \"1.75rem\",\n xl: \"1.75rem\",\n \"2xl\": \"2rem\",\n \"3xl\": \"2.25rem\",\n \"4xl\": \"2.5rem\",\n \"5xl\": \"1\",\n },\n weights: {\n normal: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n} as const;\n\n// ============================================================================\n// SPACING TOKENS\n// ============================================================================\n\nexport const spacing = {\n 0: \"0\",\n px: \"1px\",\n 0.5: \"0.125rem\",\n 1: \"0.25rem\",\n 2: \"0.5rem\",\n 3: \"0.75rem\",\n 4: \"1rem\",\n 5: \"1.25rem\",\n 6: \"1.5rem\",\n 8: \"2rem\",\n 10: \"2.5rem\",\n 12: \"3rem\",\n 16: \"4rem\",\n 20: \"5rem\",\n 24: \"6rem\",\n} as const;\n\n// ============================================================================\n// RADIUS TOKENS\n// ============================================================================\n\nexport const radius = {\n none: \"0\",\n sm: \"0.25rem\",\n md: \"0.375rem\",\n lg: \"0.5rem\",\n xl: \"0.75rem\",\n \"2xl\": \"1rem\",\n full: \"9999px\",\n} as const;\n\n// ============================================================================\n// SHADOW TOKENS\n// ============================================================================\n\nexport const shadows = {\n none: \"none\",\n sm: \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n md: \"0 4px 6px -1px rgba(0, 0, 0, 0.1)\",\n lg: \"0 10px 15px -3px rgba(0, 0, 0, 0.1)\",\n xl: \"0 20px 25px -5px rgba(0, 0, 0, 0.1)\",\n glow: \"0 0 20px rgba(212, 175, 55, 0.3)\",\n} as const;\n\n// ============================================================================\n// MOTION TOKENS\n// ============================================================================\n\nexport const motion = {\n duration: {\n instant: \"0ms\",\n fast: \"100ms\",\n normal: \"200ms\",\n slow: \"300ms\",\n slower: \"500ms\",\n },\n easing: {\n linear: \"cubic-bezier(0, 0, 1, 1)\",\n easeIn: \"cubic-bezier(0.4, 0, 1, 1)\",\n easeOut: \"cubic-bezier(0, 0, 0.2, 1)\",\n easeInOut: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n} as const;\n\n// ============================================================================\n// Z-INDEX TOKENS\n// ============================================================================\n\nexport const zIndex = {\n dropdown: 50,\n sticky: 100,\n modal: 200,\n popover: 300,\n tooltip: 400,\n} as const;\n\n// ============================================================================\n// TYPE EXPORTS\n// ============================================================================\n\nexport type ColorToken = typeof colors;\nexport type TypographyToken = typeof typography;\nexport type SpacingToken = typeof spacing;\nexport type RadiusToken = typeof radius;\nexport type ShadowToken = typeof shadows;\nexport type MotionToken = typeof motion;\nexport type ZIndexToken = typeof zIndex;\n\nexport type DesignTokens = {\n colors: ColorToken;\n typography: TypographyToken;\n spacing: SpacingToken;\n radius: RadiusToken;\n shadows: ShadowToken;\n motion: MotionToken;\n zIndex: ZIndexToken;\n};\n\nexport const tokens: DesignTokens = {\n colors,\n typography,\n spacing,\n radius,\n shadows,\n motion,\n zIndex,\n};\n\n// Extended palette & charts (from watchOS palette)\nexport {\n paletteExtended,\n chartPalette,\n gradients,\n type PaletteCategory,\n type ChartColor,\n type GradientName,\n} from \"./palette-extended\";\n","/**\n * Synkra DS - Logo & Brand Icon Registry\n * Social media and payment method logos in SVG format\n */\n\nexport const socialLogos = [\n \"Discord\",\n \"Facebook\",\n \"GitHub\",\n \"Google\",\n \"Instagram\",\n \"LinkedIn\",\n \"Messenger\",\n \"MidJourney\",\n \"OpenAI\",\n \"Pinterest\",\n \"Reddit\",\n \"Skype\",\n \"Snapchat\",\n \"SoundCloud\",\n \"Spotify\",\n \"Steam\",\n \"TeamViewer\",\n \"Telegram\",\n \"Threads\",\n \"TikTok\",\n \"Tinder\",\n \"Trello\",\n \"Tumblr\",\n \"Twitch\",\n \"Vine\",\n \"WhatsApp\",\n \"X\",\n \"YouTube\",\n] as const;\n\nexport const paymentLogos = [\n \"AMEX\",\n \"Alipay\",\n \"Amazon\",\n \"ApplePay\",\n \"Bitcoin\",\n \"Etherium\",\n \"GooglePay\",\n \"Maestro\",\n \"Mastercard\",\n \"PayPal\",\n \"Stripe\",\n \"Visa\",\n] as const;\n\nexport type SocialLogoName = (typeof socialLogos)[number];\nexport type PaymentLogoName = (typeof paymentLogos)[number];\nexport type LogoVariant = \"color\" | \"white\" | \"black\";\n\n/**\n * Get the path to a social media logo SVG\n * @param name - Logo name (e.g., \"Discord\", \"GitHub\")\n * @param variant - Color variant: \"color\", \"white\", or \"black\"\n */\nexport function getSocialLogoPath(\n name: SocialLogoName,\n variant: LogoVariant = \"color\",\n): string {\n return `@synkra-ds/assets/logos/social/${variant}/${name}.svg`;\n}\n\n/**\n * Get the path to a payment method logo SVG\n * @param name - Payment method (e.g., \"Visa\", \"Mastercard\")\n */\nexport function getPaymentLogoPath(name: PaymentLogoName): string {\n return `@synkra-ds/assets/logos/payment/Size=large, Payment method=${name}.svg`;\n}\n","/**\n * Synkra DS - Icon System\n *\n * Primary: lucide-react (installed, tree-shakeable)\n * Extended: assets/icons/ (10,000+ SVGs from Figma libraries)\n *\n * Usage:\n * import { Home, Settings, User } from \"lucide-react\";\n * <Home size={24} className=\"text-text-secondary\" />\n *\n * For icons not in lucide-react, reference the Figma libraries:\n * - 10,000 Free Icons (16 categories, see assets/icons/README-ICONS.md)\n * - 6,000+ UI Icons for Modern Interfaces\n * - Iconly V3.0 (6 styles: Linear, Bold, Bulk, Broken, TwoTone, Light)\n * - Xicons (Social, Crypto, Payment)\n * - Vuesax (6,150+ icons, 6 styles)\n *\n * Total available: 24,000+ icons across 5 Figma libraries\n * See: assets/icons/figma-bibliotecas.md for links and docs\n */\n\n/** Icon size presets matching the design system */\nexport const iconSizes = {\n xs: 12,\n sm: 16,\n md: 20,\n lg: 24,\n xl: 32,\n} as const;\n\nexport type IconSize = keyof typeof iconSizes;\n\n/** Icon categories available in the 10K library */\nexport const iconCategories = [\n \"Artificial-Intelligence-Machine-Learning\",\n \"Computer-Devices\",\n \"Culture\",\n \"Entertainment\",\n \"Food-drink\",\n \"Health\",\n \"Images-Photography\",\n \"Interface-Essential\",\n \"Mail\",\n \"Map-Travel\",\n \"Money-Shopping\",\n \"Nature-Ecology\",\n \"Phone\",\n \"Programming\",\n \"Shipping\",\n \"Work-Education\",\n] as const;\n\nexport type IconCategory = (typeof iconCategories)[number];\n","import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n/**\n * Merge Tailwind classes with clsx.\n * Handles conditional classes and deduplication.\n *\n * Usage:\n * cn(\"px-4 py-2\", isActive && \"bg-primary\", className)\n */\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst buttonVariants = cva(\n [\n \"inline-flex items-center justify-center gap-2\",\n \"whitespace-nowrap rounded-md text-sm font-medium\",\n \"transition-colors duration-fast ease-in-out\",\n \"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0\",\n ].join(\" \"),\n {\n variants: {\n variant: {\n primary:\n \"bg-primary text-text-inverse hover:bg-primary-dark active:bg-primary-dark shadow-sm\",\n secondary:\n \"bg-bg-surface text-text-primary border border-border hover:bg-bg-elevated active:bg-bg-elevated\",\n outline:\n \"border border-border-emphasis text-primary bg-transparent hover:bg-primary/10 active:bg-primary/15\",\n ghost:\n \"text-text-secondary bg-transparent hover:bg-border-subtle hover:text-text-primary active:bg-border\",\n destructive:\n \"bg-error text-white hover:bg-error/90 active:bg-error/80 shadow-sm\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n sm: \"h-8 px-3 text-xs\",\n md: \"h-10 px-5 text-sm\",\n lg: \"h-12 px-6 text-base\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n /** Render as child element (Radix Slot pattern) */\n asChild?: boolean;\n /** Show loading spinner and disable interaction */\n loading?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n loading = false,\n disabled,\n children,\n ...props\n },\n ref,\n ) => {\n const Comp = asChild ? Slot : \"button\";\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n disabled={disabled || loading}\n aria-disabled={disabled || loading}\n aria-busy={loading}\n {...props}\n >\n {loading ? (\n <>\n <svg\n className=\"animate-spin h-4 w-4\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z\"\n />\n </svg>\n {children}\n </>\n ) : (\n children\n )}\n </Comp>\n );\n },\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\nimport { cn } from \"../../lib/utils\";\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n /** Visual error state */\n error?: boolean;\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type = \"text\", error, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-md border bg-bg-surface px-3 py-2\",\n \"text-sm text-text-primary placeholder:text-text-muted\",\n \"border-border\",\n \"transition-colors duration-fast ease-in-out\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-emphasis focus-visible:border-primary\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-text-primary\",\n error && \"border-error focus-visible:ring-error/30\",\n className,\n )}\n ref={ref}\n aria-invalid={error || undefined}\n {...props}\n />\n );\n },\n);\n\nInput.displayName = \"Input\";\n\nexport { Input };\n","import * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { cn } from \"../../lib/utils\";\n\nexport interface CheckboxProps\n extends React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {\n /** Visual error state */\n error?: boolean;\n}\n\nconst Checkbox = React.forwardRef<\n React.ComponentRef<typeof CheckboxPrimitive.Root>,\n CheckboxProps\n>(({ className, error, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-5 w-5 shrink-0 rounded-sm border\",\n \"border-border bg-bg-surface\",\n \"transition-colors duration-fast ease-in-out\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-emphasis focus-visible:ring-offset-2 focus-visible:ring-offset-bg-base\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-text-inverse\",\n \"data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-text-inverse\",\n error && \"border-error\",\n className,\n )}\n aria-invalid={error || undefined}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n >\n {props.checked === \"indeterminate\" ? (\n <svg\n width=\"10\"\n height=\"2\"\n viewBox=\"0 0 10 2\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M1 1H9\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n </svg>\n ) : (\n <svg\n width=\"10\"\n height=\"8\"\n viewBox=\"0 0 10 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M1 4L3.5 6.5L9 1\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\n\nCheckbox.displayName = \"Checkbox\";\n\nexport { Checkbox };\n","import * as React from \"react\";\nimport { cn } from \"../../lib/utils\";\n\n/* ── Card Root ─────────────────────────────────────────────────────────── */\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-xl border border-border bg-bg-elevated text-text-primary shadow-md\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\n/* ── Card Header ───────────────────────────────────────────────────────── */\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col gap-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\n/* ── Card Title ────────────────────────────────────────────────────────── */\n\nconst CardTitle = React.forwardRef<\n HTMLHeadingElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight font-display\",\n className,\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\n/* ── Card Description ──────────────────────────────────────────────────── */\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-text-secondary\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\n/* ── Card Content ──────────────────────────────────────────────────────── */\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\n/* ── Card Footer ───────────────────────────────────────────────────────── */\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter };\n","import * as React from \"react\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\nimport { cn } from \"../../lib/utils\";\n\nexport interface SwitchProps\n extends React.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root> {\n /** Visual size */\n size?: \"sm\" | \"md\";\n}\n\nconst Switch = React.forwardRef<\n React.ComponentRef<typeof SwitchPrimitive.Root>,\n SwitchProps\n>(({ className, size = \"md\", ...props }, ref) => (\n <SwitchPrimitive.Root\n className={cn(\n \"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent\",\n \"transition-colors duration-fast ease-in-out\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-emphasis focus-visible:ring-offset-2 focus-visible:ring-offset-bg-base\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"data-[state=checked]:bg-primary data-[state=unchecked]:bg-border\",\n size === \"sm\" ? \"h-5 w-9\" : \"h-6 w-11\",\n className,\n )}\n ref={ref}\n {...props}\n >\n <SwitchPrimitive.Thumb\n className={cn(\n \"pointer-events-none block rounded-full bg-text-primary shadow-sm\",\n \"transition-transform duration-fast ease-in-out\",\n size === \"sm\"\n ? \"h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0\"\n : \"h-5 w-5 data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\",\n )}\n />\n </SwitchPrimitive.Root>\n));\n\nSwitch.displayName = \"Switch\";\n\nexport { Switch };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none\",\n {\n variants: {\n variant: {\n default: \"border-transparent bg-primary text-text-inverse\",\n secondary: \"border-transparent bg-bg-surface text-text-secondary\",\n outline: \"border-border text-text-primary\",\n success: \"border-transparent bg-success/15 text-success\",\n warning: \"border-transparent bg-warning/15 text-warning\",\n error: \"border-transparent bg-error/15 text-error\",\n info: \"border-transparent bg-info/15 text-info\",\n gradient: \"border-transparent text-white\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {\n /** Gradient name (only used with variant=\"gradient\") */\n gradient?: \"badge\" | \"purple-blue\" | \"hibiscus\" | \"green-mint\" | \"gold-sunset\";\n}\n\nconst gradientMap = {\n badge: \"linear-gradient(82.44deg, #ff3b57 0%, #ffda1a 100%)\",\n \"purple-blue\": \"linear-gradient(135deg, #8962f8, #1ea5fc)\",\n hibiscus: \"linear-gradient(135deg, #fb0049, #f12e6d)\",\n \"green-mint\": \"linear-gradient(135deg, #80e220, #a2ec8e)\",\n \"gold-sunset\": \"linear-gradient(135deg, #D4AF37, #fc4e12)\",\n} as const;\n\nfunction Badge({\n className,\n variant,\n gradient = \"badge\",\n style,\n ...props\n}: BadgeProps) {\n const gradientStyle =\n variant === \"gradient\"\n ? { ...style, background: gradientMap[gradient] }\n : style;\n\n return (\n <div\n className={cn(badgeVariants({ variant }), className)}\n style={gradientStyle}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n","import * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cn } from \"../../lib/utils\";\n\n/* ── Select Root ─────────────────────────────────────────────────────── */\n\nconst Select = SelectPrimitive.Root;\nconst SelectGroup = SelectPrimitive.Group;\nconst SelectValue = SelectPrimitive.Value;\n\n/* ── Trigger ─────────────────────────────────────────────────────────── */\n\nexport interface SelectTriggerProps\n extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> {\n error?: boolean;\n}\n\nconst SelectTrigger = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Trigger>,\n SelectTriggerProps\n>(({ className, children, error, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-lg border bg-bg-elevated px-3 py-2\",\n \"text-sm text-text-primary placeholder:text-text-muted\",\n \"focus:outline-none focus:ring-2 focus:ring-border-emphasis focus:ring-offset-2 focus:ring-offset-bg-base\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n error ? \"border-error\" : \"border-border\",\n className,\n )}\n aria-invalid={error || undefined}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <svg\n className=\"h-4 w-4 opacity-50\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = \"SelectTrigger\";\n\n/* ── Content ─────────────────────────────────────────────────────────── */\n\nconst SelectContent = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-60 min-w-[8rem] overflow-hidden rounded-lg border border-border bg-bg-elevated shadow-lg\",\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = \"SelectContent\";\n\n/* ── Label ───────────────────────────────────────────────────────────── */\n\nconst SelectLabel = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"px-2 py-1.5 text-xs font-semibold text-text-muted\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = \"SelectLabel\";\n\n/* ── Item ────────────────────────────────────────────────────────────── */\n\nconst SelectItem = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-pointer select-none items-center rounded-md py-2 pl-8 pr-2\",\n \"text-sm text-text-primary outline-none\",\n \"focus:bg-bg-surface focus:text-text-primary\",\n \"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-4 w-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <svg\n className=\"h-4 w-4 text-primary\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = \"SelectItem\";\n\n/* ── Separator ───────────────────────────────────────────────────────── */\n\nconst SelectSeparator = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = \"SelectSeparator\";\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n};\n","import * as React from \"react\";\nimport { cn } from \"../../lib/utils\";\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n /** Error visual state */\n error?: boolean;\n}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, error, ...props }, ref) => (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-lg border bg-bg-elevated px-3 py-2\",\n \"text-sm text-text-primary placeholder:text-text-muted\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-emphasis focus-visible:ring-offset-2 focus-visible:ring-offset-bg-base\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"resize-y\",\n error ? \"border-error\" : \"border-border\",\n className,\n )}\n ref={ref}\n aria-invalid={error || undefined}\n {...props}\n />\n ),\n);\n\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","import * as React from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport { cn } from \"../../lib/utils\";\n\n/* ── Avatar Root ─────────────────────────────────────────────────────── */\n\nexport interface AvatarProps\n extends React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> {\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\";\n}\n\nconst sizeClasses = {\n sm: \"h-8 w-8\",\n md: \"h-10 w-10\",\n lg: \"h-12 w-12\",\n xl: \"h-16 w-16\",\n} as const;\n\nconst Avatar = React.forwardRef<\n React.ComponentRef<typeof AvatarPrimitive.Root>,\n AvatarProps\n>(({ className, size = \"md\", ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex shrink-0 overflow-hidden rounded-full\",\n sizeClasses[size],\n className,\n )}\n data-size={size}\n {...props}\n />\n));\nAvatar.displayName = \"Avatar\";\n\n/* ── Avatar Image ────────────────────────────────────────────────────── */\n\nconst AvatarImage = React.forwardRef<\n React.ComponentRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn(\"aspect-square h-full w-full object-cover\", className)}\n {...props}\n />\n));\nAvatarImage.displayName = \"AvatarImage\";\n\n/* ── Avatar Fallback ─────────────────────────────────────────────────── */\n\nconst AvatarFallback = React.forwardRef<\n React.ComponentRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full\",\n \"bg-bg-surface text-text-secondary font-medium text-sm\",\n className,\n )}\n {...props}\n />\n));\nAvatarFallback.displayName = \"AvatarFallback\";\n\nexport { Avatar, AvatarImage, AvatarFallback };\n","import * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cn } from \"../../lib/utils\";\nimport { Input, type InputProps } from \"../../atoms/input\";\n\n/* ── Label ─────────────────────────────────────────────────────────────── */\n\nexport interface LabelProps\n extends React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> {\n /** Mark as required field */\n required?: boolean;\n}\n\nconst Label = React.forwardRef<\n React.ComponentRef<typeof LabelPrimitive.Root>,\n LabelProps\n>(({ className, required, children, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(\n \"text-sm font-medium text-text-primary leading-none\",\n \"peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n className,\n )}\n {...props}\n >\n {children}\n {required && (\n <span className=\"text-error ml-1\" aria-hidden=\"true\">\n *\n </span>\n )}\n </LabelPrimitive.Root>\n));\nLabel.displayName = \"Label\";\n\n/* ── FormField (Molecule) ──────────────────────────────────────────────── */\n\nexport interface FormFieldProps {\n /** Unique field ID (used for label-input association) */\n id: string;\n /** Label text */\n label: string;\n /** Helper text shown below the input */\n helperText?: string;\n /** Error message (replaces helperText, triggers error state) */\n error?: string;\n /** Mark as required */\n required?: boolean;\n /** Disable the field */\n disabled?: boolean;\n /** Additional class names for the wrapper */\n className?: string;\n /** Input props (passed through to Input atom) */\n inputProps?: Omit<InputProps, \"id\" | \"error\" | \"disabled\" | \"required\">;\n}\n\nconst FormField = React.forwardRef<HTMLInputElement, FormFieldProps>(\n (\n {\n id,\n label,\n helperText,\n error,\n required = false,\n disabled = false,\n className,\n inputProps,\n },\n ref,\n ) => {\n const hasError = Boolean(error);\n const descriptionId = helperText || error ? `${id}-description` : undefined;\n\n return (\n <div className={cn(\"flex flex-col gap-2\", className)}>\n <Label htmlFor={id} required={required}>\n {label}\n </Label>\n <Input\n ref={ref}\n id={id}\n error={hasError}\n disabled={disabled}\n required={required}\n aria-describedby={descriptionId}\n {...inputProps}\n />\n {(error || helperText) && (\n <p\n id={descriptionId}\n className={cn(\n \"text-xs\",\n hasError ? \"text-error\" : \"text-text-muted\",\n )}\n role={hasError ? \"alert\" : undefined}\n >\n {error || helperText}\n </p>\n )}\n </div>\n );\n },\n);\n\nFormField.displayName = \"FormField\";\n\nexport { Label, FormField };\n","import * as React from \"react\";\nimport { cn } from \"../../lib/utils\";\n\n/* ── Sidebar Root ──────────────────────────────────────────────────────── */\n\nexport interface SidebarProps extends React.HTMLAttributes<HTMLElement> {\n /** Collapsed state (icon-only) */\n collapsed?: boolean;\n}\n\nconst Sidebar = React.forwardRef<HTMLElement, SidebarProps>(\n ({ className, collapsed = false, children, ...props }, ref) => (\n <aside\n ref={ref}\n className={cn(\n \"flex h-full flex-col border-r border-border bg-bg-elevated\",\n \"transition-all duration-slow ease-in-out\",\n collapsed ? \"w-16\" : \"w-64\",\n className,\n )}\n data-collapsed={collapsed}\n {...props}\n >\n {children}\n </aside>\n ),\n);\nSidebar.displayName = \"Sidebar\";\n\n/* ── Sidebar Header ────────────────────────────────────────────────────── */\n\nconst SidebarHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center gap-3 border-b border-border px-4 py-4\", className)}\n {...props}\n />\n));\nSidebarHeader.displayName = \"SidebarHeader\";\n\n/* ── Sidebar Content ───────────────────────────────────────────────────── */\n\nconst SidebarContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex-1 overflow-y-auto px-3 py-4\", className)}\n {...props}\n />\n));\nSidebarContent.displayName = \"SidebarContent\";\n\n/* ── Sidebar Group ─────────────────────────────────────────────────────── */\n\nexport interface SidebarGroupProps extends React.HTMLAttributes<HTMLDivElement> {\n label?: string;\n}\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, SidebarGroupProps>(\n ({ className, label, children, ...props }, ref) => (\n <div ref={ref} className={cn(\"mb-4\", className)} {...props}>\n {label && (\n <p className=\"mb-2 px-2 text-xs font-semibold uppercase tracking-wider text-text-muted\">\n {label}\n </p>\n )}\n <nav className=\"flex flex-col gap-1\">{children}</nav>\n </div>\n ),\n);\nSidebarGroup.displayName = \"SidebarGroup\";\n\n/* ── Sidebar Item ──────────────────────────────────────────────────────── */\n\nexport interface SidebarItemProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** Active/selected state */\n active?: boolean;\n /** Icon element (left slot) */\n icon?: React.ReactNode;\n}\n\nconst SidebarItem = React.forwardRef<HTMLButtonElement, SidebarItemProps>(\n ({ className, active = false, icon, children, ...props }, ref) => (\n <button\n ref={ref}\n type=\"button\"\n className={cn(\n \"flex w-full items-center gap-3 rounded-lg px-3 py-2 text-sm font-medium\",\n \"transition-colors duration-fast ease-in-out\",\n \"hover:bg-bg-surface hover:text-text-primary\",\n active\n ? \"bg-primary/10 text-primary\"\n : \"text-text-secondary\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-emphasis\",\n className,\n )}\n data-active={active}\n aria-current={active ? \"page\" : undefined}\n {...props}\n >\n {icon && <span className=\"flex shrink-0 h-5 w-5 items-center justify-center\">{icon}</span>}\n <span className=\"truncate\">{children}</span>\n </button>\n ),\n);\nSidebarItem.displayName = \"SidebarItem\";\n\n/* ── Sidebar Footer ────────────────────────────────────────────────────── */\n\nconst SidebarFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"mt-auto border-t border-border px-4 py-4\",\n className,\n )}\n {...props}\n />\n));\nSidebarFooter.displayName = \"SidebarFooter\";\n\nexport {\n Sidebar,\n SidebarHeader,\n SidebarContent,\n SidebarGroup,\n SidebarItem,\n SidebarFooter,\n};\n","import * as React from \"react\";\nimport { cn } from \"../../lib/utils\";\nimport {\n Card,\n CardHeader,\n CardTitle,\n CardDescription,\n CardContent,\n CardFooter,\n} from \"../../atoms/card\";\nimport { Button } from \"../../atoms/button\";\nimport { FormField } from \"../../molecules/form-field\";\n\n/* ── LoginForm ─────────────────────────────────────────────────────────── */\n\nexport interface LoginFormProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onSubmit\"> {\n /** Card title */\n title?: string;\n /** Card description */\n description?: string;\n /** Submit button label */\n submitLabel?: string;\n /** Loading state */\n loading?: boolean;\n /** Error message shown at the top */\n error?: string;\n /** Called with email and password on submit */\n onSubmit?: (data: { email: string; password: string }) => void;\n /** Show \"forgot password\" link */\n showForgotPassword?: boolean;\n /** Called when forgot password is clicked */\n onForgotPassword?: () => void;\n /** Footer content (e.g., \"Don't have an account? Sign up\") */\n footer?: React.ReactNode;\n}\n\nconst LoginForm = React.forwardRef<HTMLDivElement, LoginFormProps>(\n (\n {\n className,\n title = \"Welcome back\",\n description = \"Enter your credentials to access your account\",\n submitLabel = \"Sign in\",\n loading = false,\n error,\n onSubmit,\n showForgotPassword = true,\n onForgotPassword,\n footer,\n ...props\n },\n ref,\n ) => {\n const [email, setEmail] = React.useState(\"\");\n const [password, setPassword] = React.useState(\"\");\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n onSubmit?.({ email, password });\n };\n\n return (\n <Card\n ref={ref}\n className={cn(\"w-full max-w-sm\", className)}\n {...props}\n >\n <form onSubmit={handleSubmit}>\n <CardHeader className=\"text-center\">\n <CardTitle>{title}</CardTitle>\n <CardDescription>{description}</CardDescription>\n </CardHeader>\n <CardContent className=\"flex flex-col gap-4\">\n {error && (\n <div\n className=\"rounded-md bg-error/10 border border-error/20 px-3 py-2 text-sm text-error\"\n role=\"alert\"\n >\n {error}\n </div>\n )}\n <FormField\n id=\"login-email\"\n label=\"Email\"\n required\n inputProps={{\n type: \"email\",\n placeholder: \"you@example.com\",\n autoComplete: \"email\",\n value: email,\n onChange: (e) => setEmail(e.target.value),\n }}\n />\n <FormField\n id=\"login-password\"\n label=\"Password\"\n required\n inputProps={{\n type: \"password\",\n placeholder: \"Enter your password\",\n autoComplete: \"current-password\",\n value: password,\n onChange: (e) => setPassword(e.target.value),\n }}\n />\n {showForgotPassword && (\n <Button\n type=\"button\"\n variant=\"link\"\n size=\"sm\"\n className=\"self-end -mt-1 h-auto p-0 text-xs\"\n onClick={onForgotPassword}\n >\n Forgot password?\n </Button>\n )}\n </CardContent>\n <CardFooter className=\"flex-col gap-3\">\n <Button\n type=\"submit\"\n className=\"w-full\"\n loading={loading}\n >\n {submitLabel}\n </Button>\n {footer}\n </CardFooter>\n </form>\n </Card>\n );\n },\n);\n\nLoginForm.displayName = \"LoginForm\";\n\nexport { LoginForm };\n","import * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { cn } from \"../../lib/utils\";\n\n/* ── Dialog Root ─────────────────────────────────────────────────────── */\n\nconst Dialog = DialogPrimitive.Root;\nconst DialogTrigger = DialogPrimitive.Trigger;\nconst DialogClose = DialogPrimitive.Close;\nconst DialogPortal = DialogPrimitive.Portal;\n\n/* ── Overlay ─────────────────────────────────────────────────────────── */\n\nconst DialogOverlay = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm\",\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0\",\n \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = \"DialogOverlay\";\n\n/* ── Content ─────────────────────────────────────────────────────────── */\n\nconst DialogContent = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-1/2 top-1/2 z-50 w-full max-w-lg -translate-x-1/2 -translate-y-1/2\",\n \"rounded-xl border border-border bg-bg-elevated p-6 shadow-lg\",\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n \"focus:outline-none\",\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n className={cn(\n \"absolute right-4 top-4 rounded-sm opacity-70 transition-opacity\",\n \"hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-border-emphasis\",\n \"disabled:pointer-events-none\",\n )}\n >\n <svg\n className=\"h-4 w-4 text-text-secondary\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = \"DialogContent\";\n\n/* ── Header ──────────────────────────────────────────────────────────── */\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"flex flex-col gap-1.5 text-center sm:text-left\", className)}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\n/* ── Footer ──────────────────────────────────────────────────────────── */\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:gap-2 mt-6\",\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\n/* ── Title ───────────────────────────────────────────────────────────── */\n\nconst DialogTitle = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold text-text-primary\", className)}\n {...props}\n />\n));\nDialogTitle.displayName = \"DialogTitle\";\n\n/* ── Description ─────────────────────────────────────────────────────── */\n\nconst DialogDescription = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-text-secondary\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = \"DialogDescription\";\n\nexport {\n Dialog,\n DialogTrigger,\n DialogClose,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","import * as React from \"react\";\nimport * as ToastPrimitive from \"@radix-ui/react-toast\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\n/* ── Toast Provider ──────────────────────────────────────────────────── */\n\nconst ToastProvider = ToastPrimitive.Provider;\n\n/* ── Viewport ────────────────────────────────────────────────────────── */\n\nconst ToastViewport = React.forwardRef<\n React.ComponentRef<typeof ToastPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitive.Viewport\n ref={ref}\n className={cn(\n \"fixed top-0 right-0 z-[100] flex max-h-screen w-full flex-col-reverse gap-2 p-4 sm:max-w-[420px]\",\n className,\n )}\n {...props}\n />\n));\nToastViewport.displayName = \"ToastViewport\";\n\n/* ── Toast ───────────────────────────────────────────────────────────── */\n\nconst toastVariants = cva(\n [\n \"group pointer-events-auto relative flex w-full items-center gap-3 overflow-hidden rounded-lg border p-4 shadow-lg\",\n \"transition-all\",\n \"data-[state=open]:animate-in data-[state=open]:slide-in-from-top-full data-[state=open]:fade-in-0\",\n \"data-[state=closed]:animate-out data-[state=closed]:slide-out-to-right-full data-[state=closed]:fade-out-0\",\n \"data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)]\",\n \"data-[swipe=cancel]:translate-x-0 data-[swipe=cancel]:transition-transform\",\n \"data-[swipe=end]:animate-out data-[swipe=end]:slide-out-to-right-full\",\n ].join(\" \"),\n {\n variants: {\n variant: {\n default: \"border-border bg-bg-elevated text-text-primary\",\n success: \"border-success/30 bg-success/10 text-success\",\n error: \"border-error/30 bg-error/10 text-error\",\n warning: \"border-warning/30 bg-warning/10 text-warning\",\n info: \"border-info/30 bg-info/10 text-info\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nexport interface ToastProps\n extends React.ComponentPropsWithoutRef<typeof ToastPrimitive.Root>,\n VariantProps<typeof toastVariants> {}\n\nconst Toast = React.forwardRef<\n React.ComponentRef<typeof ToastPrimitive.Root>,\n ToastProps\n>(({ className, variant, ...props }, ref) => (\n <ToastPrimitive.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n));\nToast.displayName = \"Toast\";\n\n/* ── Action ──────────────────────────────────────────────────────────── */\n\nconst ToastAction = React.forwardRef<\n React.ComponentRef<typeof ToastPrimitive.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitive.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitive.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border border-border bg-transparent px-3\",\n \"text-sm font-medium transition-colors\",\n \"hover:bg-bg-surface focus:outline-none focus:ring-2 focus:ring-border-emphasis\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"group-[.border-error\\\\/30]:border-error/30 group-[.border-error\\\\/30]:hover:border-error group-[.border-error\\\\/30]:hover:bg-error/10\",\n className,\n )}\n {...props}\n />\n));\nToastAction.displayName = \"ToastAction\";\n\n/* ── Close ───────────────────────────────────────────────────────────── */\n\nconst ToastClose = React.forwardRef<\n React.ComponentRef<typeof ToastPrimitive.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitive.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitive.Close\n ref={ref}\n className={cn(\n \"absolute right-2 top-2 rounded-md p-1 opacity-0 transition-opacity\",\n \"hover:opacity-100 focus:opacity-100 group-hover:opacity-100\",\n \"focus:outline-none focus:ring-2 focus:ring-border-emphasis\",\n className,\n )}\n toast-close=\"\"\n {...props}\n >\n <svg\n className=\"h-4 w-4\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </ToastPrimitive.Close>\n));\nToastClose.displayName = \"ToastClose\";\n\n/* ── Title ───────────────────────────────────────────────────────────── */\n\nconst ToastTitle = React.forwardRef<\n React.ComponentRef<typeof ToastPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitive.Title\n ref={ref}\n className={cn(\"text-sm font-semibold\", className)}\n {...props}\n />\n));\nToastTitle.displayName = \"ToastTitle\";\n\n/* ── Description ─────────────────────────────────────────────────────── */\n\nconst ToastDescription = React.forwardRef<\n React.ComponentRef<typeof ToastPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitive.Description\n ref={ref}\n className={cn(\"text-sm opacity-90\", className)}\n {...props}\n />\n));\nToastDescription.displayName = \"ToastDescription\";\n\nexport {\n ToastProvider,\n ToastViewport,\n Toast,\n ToastAction,\n ToastClose,\n ToastTitle,\n ToastDescription,\n toastVariants,\n};\n","import * as React from \"react\";\nimport { cn } from \"../../lib/utils\";\nimport {\n Sidebar,\n SidebarHeader,\n SidebarContent,\n SidebarFooter,\n} from \"../../organisms/sidebar\";\n\n/* ── DashboardLayout ─────────────────────────────────────────────────── */\n\nexport interface DashboardLayoutProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Sidebar collapsed state */\n sidebarCollapsed?: boolean;\n /** Sidebar header content */\n sidebarHeader?: React.ReactNode;\n /** Sidebar navigation content */\n sidebarContent?: React.ReactNode;\n /** Sidebar footer content */\n sidebarFooter?: React.ReactNode;\n /** Top bar content (right side of header) */\n headerContent?: React.ReactNode;\n /** Page title shown in header */\n pageTitle?: string;\n}\n\nconst DashboardLayout = React.forwardRef<HTMLDivElement, DashboardLayoutProps>(\n (\n {\n className,\n sidebarCollapsed = false,\n sidebarHeader,\n sidebarContent,\n sidebarFooter,\n headerContent,\n pageTitle,\n children,\n ...props\n },\n ref,\n ) => (\n <div\n ref={ref}\n className={cn(\"flex h-screen overflow-hidden bg-bg-base\", className)}\n {...props}\n >\n {/* Sidebar */}\n <Sidebar collapsed={sidebarCollapsed}>\n {sidebarHeader && <SidebarHeader>{sidebarHeader}</SidebarHeader>}\n <SidebarContent>{sidebarContent}</SidebarContent>\n {sidebarFooter && <SidebarFooter>{sidebarFooter}</SidebarFooter>}\n </Sidebar>\n\n {/* Main area */}\n <div className=\"flex flex-1 flex-col overflow-hidden\">\n {/* Top header bar */}\n <header className=\"flex h-14 shrink-0 items-center justify-between border-b border-border bg-bg-elevated px-6\">\n {pageTitle && (\n <h1 className=\"text-lg font-semibold text-text-primary\">{pageTitle}</h1>\n )}\n {!pageTitle && <div />}\n {headerContent && (\n <div className=\"flex items-center gap-3\">{headerContent}</div>\n )}\n </header>\n\n {/* Main content */}\n <main className=\"flex-1 overflow-y-auto p-6\">{children}</main>\n </div>\n </div>\n ),\n);\n\nDashboardLayout.displayName = \"DashboardLayout\";\n\nexport { DashboardLayout };\n"]}
|