{"version":3,"sources":["../src/components/FourThreeOneNav.tsx"],"names":["cn","classes","BirhausButton","children","variant","size","disabled","loading","onClick","className","baseClasses","variantClasses","sizeClasses","jsxs","jsx","BirhausBadge","FourThreeOneNav","navigationItems","contextualActions","primaryAction","logo","logoHref","onLogoClick","searchPlaceholder","onSearchClick","showSearch","showCommandPalette","onCommandPaletteToggle","commandPaletteShortcut","mobileBreakpoint","collapsible","menuLabel","closeMenuLabel","searchLabel","commandPaletteLabel","overflowBehavior","overflowLabel","isMobileMenuOpen","setIsMobileMenuOpen","useState","activeSubmenu","setActiveSubmenu","useEffect","visibleNavItems","overflowNavItems","hasOverflow","visibleContextualActions","bp","handleNavItemClick","item","handleKeyDown","ChevronDown","subitem","Search","Command","action","X","Menu","useFourThreeOneNav","activeItem","setActiveItem","itemId","prev"],"mappings":"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","file":"index.mjs","sourcesContent":["'use client'\n\nimport { useState, ReactNode, useEffect } from 'react'\nimport { ChevronDown, Menu, X, Search, Command } from 'lucide-react'\n\n/**\n * BIRHAUS FourThreeOneNav Component\n * \n * Implements BIRHAUS principle #1: \"Form serves flow\" with 4-3-1 cognitive rule:\n * - Maximum 4 primary navigation items (Miller's Law: 7±2, optimized for 4)\n * - Maximum 3 contextual actions per view\n * - 1 primary action (clearly highlighted)\n * \n * Features:\n * - Spanish-first internationalization\n * - Mobile-first responsive design\n * - Progressive disclosure for overflow items\n * - WCAG AA+ accessibility compliance\n * - Command palette integration (⌘K)\n */\n\n// BIRHAUS: Utility function (replaces @/lib/utils cn)\nfunction cn(...classes: (string | undefined | null | false)[]): string {\n  return classes.filter(Boolean).join(' ')\n}\n\nexport interface NavigationItem {\n  id: string\n  label: string\n  labelEn?: string // Optional English translation\n  icon?: ReactNode\n  href?: string\n  onClick?: () => void\n  active?: boolean\n  disabled?: boolean\n  badge?: string | number // Notification count/label\n  submenu?: NavigationItem[]\n}\n\nexport interface ContextualAction {\n  id: string\n  label: string\n  labelEn?: string\n  icon?: ReactNode\n  onClick: () => void\n  variant?: 'default' | 'secondary' | 'destructive'\n  disabled?: boolean\n  loading?: boolean\n}\n\nexport interface PrimaryAction {\n  label: string\n  labelEn?: string\n  icon?: ReactNode\n  onClick: () => void\n  disabled?: boolean\n  loading?: boolean\n}\n\nexport interface FourThreeOneNavProps {\n  // BIRHAUS: Maximum 4 navigation items\n  navigationItems: NavigationItem[]\n  \n  // BIRHAUS: Maximum 3 contextual actions  \n  contextualActions?: ContextualAction[]\n  \n  // BIRHAUS: 1 primary action\n  primaryAction?: PrimaryAction\n  \n  // Logo/Brand\n  logo?: ReactNode\n  logoHref?: string\n  onLogoClick?: () => void\n  \n  // Search integration\n  searchPlaceholder?: string\n  onSearchClick?: () => void\n  showSearch?: boolean\n  \n  // Command palette\n  showCommandPalette?: boolean\n  onCommandPaletteToggle?: () => void\n  commandPaletteShortcut?: string\n  \n  // Mobile behavior\n  mobileBreakpoint?: 'sm' | 'md' | 'lg'\n  collapsible?: boolean\n  \n  // Spanish-first labels\n  menuLabel?: string\n  closeMenuLabel?: string\n  searchLabel?: string\n  commandPaletteLabel?: string\n  \n  // Styling\n  className?: string\n  variant?: 'default' | 'minimal' | 'elevated'\n  \n  // Overflow behavior (when > 4 nav items)\n  overflowBehavior?: 'hide' | 'collapse' | 'scroll'\n  overflowLabel?: string\n}\n\n// BIRHAUS: Self-contained Button component\nfunction BirhausButton({\n  children,\n  variant = 'default',\n  size = 'default',\n  disabled = false,\n  loading = false,\n  onClick,\n  className = ''\n}: {\n  children: ReactNode\n  variant?: 'default' | 'secondary' | 'destructive' | 'ghost' | 'primary'\n  size?: 'sm' | 'default' | 'lg'\n  disabled?: boolean\n  loading?: boolean\n  onClick?: () => void\n  className?: string\n}) {\n  const baseClasses = \"inline-flex items-center justify-center font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\"\n  \n  const variantClasses = {\n    default: \"bg-white border border-gray-300 text-gray-900 hover:bg-gray-50 focus-visible:ring-blue-500\",\n    secondary: \"bg-gray-100 text-gray-900 hover:bg-gray-200 focus-visible:ring-gray-500\",\n    destructive: \"bg-red-600 text-white hover:bg-red-700 focus-visible:ring-red-500\",\n    ghost: \"text-gray-600 hover:text-gray-900 hover:bg-gray-100 focus-visible:ring-gray-500\",\n    primary: \"bg-blue-600 text-white hover:bg-blue-700 focus-visible:ring-blue-500\"\n  }\n  \n  const sizeClasses = {\n    sm: \"h-8 px-3 text-sm rounded-md\",\n    default: \"h-10 px-4 py-2 text-sm rounded-md\", \n    lg: \"h-12 px-6 text-base rounded-lg\"\n  }\n  \n  return (\n    <button\n      onClick={onClick}\n      disabled={disabled || loading}\n      className={cn(baseClasses, variantClasses[variant], sizeClasses[size], className)}\n    >\n      {loading ? (\n        <div className=\"animate-spin rounded-full h-4 w-4 border-b-2 border-current mr-2\"></div>\n      ) : null}\n      {children}\n    </button>\n  )\n}\n\n// BIRHAUS: Self-contained Badge component\nfunction BirhausBadge({\n  children,\n  variant = 'default',\n  className = ''\n}: {\n  children: ReactNode\n  variant?: 'default' | 'secondary' | 'destructive'\n  className?: string\n}) {\n  const baseClasses = \"inline-flex items-center rounded-full px-2 py-1 text-xs font-medium\"\n  \n  const variantClasses = {\n    default: \"bg-blue-100 text-blue-800\",\n    secondary: \"bg-gray-100 text-gray-800\",\n    destructive: \"bg-red-100 text-red-800\"\n  }\n  \n  return (\n    <span className={cn(baseClasses, variantClasses[variant], className)}>\n      {children}\n    </span>\n  )\n}\n\nexport function FourThreeOneNav({\n  navigationItems,\n  contextualActions = [],\n  primaryAction,\n  logo,\n  logoHref,\n  onLogoClick,\n  searchPlaceholder = 'Buscar...',\n  onSearchClick,\n  showSearch = true,\n  showCommandPalette = true,\n  onCommandPaletteToggle,\n  commandPaletteShortcut = '⌘K',\n  mobileBreakpoint = 'md',\n  collapsible = true,\n  menuLabel = 'Menú',\n  closeMenuLabel = 'Cerrar menú',\n  searchLabel = 'Buscar',\n  commandPaletteLabel = 'Abrir paleta de comandos',\n  className = '',\n  variant = 'default',\n  overflowBehavior = 'collapse',\n  overflowLabel = 'Más opciones'\n}: FourThreeOneNavProps) {\n  \n  const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false)\n  const [activeSubmenu, setActiveSubmenu] = useState<string | null>(null)\n  \n  // BIRHAUS: Enforce 4-3-1 rule with warnings\n  useEffect(() => {\n    if (navigationItems.length > 4) {\n      console.warn(\n        `BIRHAUS 4-3-1 Rule Violation: Navigation has ${navigationItems.length} items (max 4). ` +\n        `Consider using overflowBehavior to handle excess items.`\n      )\n    }\n    \n    if (contextualActions.length > 3) {\n      console.warn(\n        `BIRHAUS 4-3-1 Rule Violation: ${contextualActions.length} contextual actions (max 3). ` +\n        `Reduce cognitive load by consolidating actions.`\n      )\n    }\n  }, [navigationItems.length, contextualActions.length])\n  \n  // BIRHAUS: Handle overflow navigation items\n  const visibleNavItems = navigationItems.slice(0, 4)\n  const overflowNavItems = navigationItems.slice(4)\n  const hasOverflow = overflowNavItems.length > 0\n  \n  // BIRHAUS: Limit contextual actions to 3\n  const visibleContextualActions = contextualActions.slice(0, 3)\n  \n  const breakpointClasses = {\n    sm: 'sm',\n    md: 'md', \n    lg: 'lg'\n  }\n  const bp = breakpointClasses[mobileBreakpoint]\n  \n  const variantClasses = {\n    default: 'bg-white border-b border-gray-200',\n    minimal: 'bg-transparent',\n    elevated: 'bg-white shadow-sm border-b border-gray-200'\n  }\n  \n  const handleNavItemClick = (item: NavigationItem) => {\n    if (item.disabled) return\n    \n    if (item.submenu && item.submenu.length > 0) {\n      setActiveSubmenu(activeSubmenu === item.id ? null : item.id)\n    } else {\n      item.onClick?.()\n      setIsMobileMenuOpen(false)\n    }\n  }\n  \n  const handleKeyDown = (e: KeyboardEvent) => {\n    // Command palette shortcut\n    if ((e.metaKey || e.ctrlKey) && e.key === 'k' && showCommandPalette) {\n      e.preventDefault()\n      onCommandPaletteToggle?.()\n    }\n  }\n  \n  useEffect(() => {\n    document.addEventListener('keydown', handleKeyDown)\n    return () => document.removeEventListener('keydown', handleKeyDown)\n  }, [showCommandPalette, onCommandPaletteToggle])\n  \n  return (\n    <nav \n      className={cn(\n        'relative w-full',\n        variantClasses[variant],\n        className\n      )}\n      data-birhaus-component=\"four-three-one-nav\"\n      aria-label=\"Navegación principal\"\n    >\n      <div className=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8\">\n        <div className=\"flex items-center justify-between h-16\">\n          \n          {/* Logo/Brand */}\n          <div className=\"flex-shrink-0\">\n            {logo && (\n              <div className=\"flex items-center\">\n                {logoHref ? (\n                  <a href={logoHref} className=\"flex items-center\">\n                    {logo}\n                  </a>\n                ) : (\n                  <button \n                    onClick={onLogoClick}\n                    className=\"flex items-center focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 rounded\"\n                  >\n                    {logo}\n                  </button>\n                )}\n              </div>\n            )}\n          </div>\n          \n          {/* BIRHAUS: Desktop Navigation (max 4 items) */}\n          <div className={cn('hidden', `${bp}:flex`, 'items-center space-x-8')}>\n            {visibleNavItems.map((item) => (\n              <div key={item.id} className=\"relative\">\n                <button\n                  onClick={() => handleNavItemClick(item)}\n                  disabled={item.disabled}\n                  className={cn(\n                    \"flex items-center space-x-1 px-3 py-2 rounded-md text-sm font-medium transition-colors\",\n                    \"focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500\",\n                    item.active \n                      ? \"text-blue-700 bg-blue-50\"\n                      : \"text-gray-700 hover:text-gray-900 hover:bg-gray-50\",\n                    item.disabled && \"opacity-50 cursor-not-allowed\"\n                  )}\n                  aria-current={item.active ? 'page' : undefined}\n                  aria-expanded={item.submenu ? activeSubmenu === item.id : undefined}\n                >\n                  {item.icon && <span className=\"flex-shrink-0\">{item.icon}</span>}\n                  <span>{item.label}</span>\n                  {item.badge && (\n                    <BirhausBadge variant=\"default\" className=\"ml-1\">\n                      {item.badge}\n                    </BirhausBadge>\n                  )}\n                  {item.submenu && (\n                    <ChevronDown className=\"ml-1 h-4 w-4 flex-shrink-0\" />\n                  )}\n                </button>\n                \n                {/* Submenu */}\n                {item.submenu && activeSubmenu === item.id && (\n                  <div className=\"absolute top-full left-0 mt-1 w-64 bg-white border border-gray-200 rounded-md shadow-lg z-50\">\n                    <div className=\"py-1\">\n                      {item.submenu.map((subitem) => (\n                        <button\n                          key={subitem.id}\n                          onClick={() => {\n                            subitem.onClick?.()\n                            setActiveSubmenu(null)\n                          }}\n                          disabled={subitem.disabled}\n                          className={cn(\n                            \"w-full text-left px-4 py-2 text-sm transition-colors\",\n                            \"hover:bg-gray-50 focus:outline-none focus:bg-gray-50\",\n                            subitem.active && \"text-blue-700 bg-blue-50\",\n                            subitem.disabled && \"opacity-50 cursor-not-allowed\"\n                          )}\n                        >\n                          <div className=\"flex items-center space-x-2\">\n                            {subitem.icon && <span className=\"flex-shrink-0\">{subitem.icon}</span>}\n                            <span>{subitem.label}</span>\n                            {subitem.badge && (\n                              <BirhausBadge variant=\"secondary\" className=\"ml-auto\">\n                                {subitem.badge}\n                              </BirhausBadge>\n                            )}\n                          </div>\n                        </button>\n                      ))}\n                    </div>\n                  </div>\n                )}\n              </div>\n            ))}\n            \n            {/* BIRHAUS: Overflow menu for items > 4 */}\n            {hasOverflow && overflowBehavior === 'collapse' && (\n              <div className=\"relative\">\n                <button\n                  onClick={() => setActiveSubmenu(activeSubmenu === 'overflow' ? null : 'overflow')}\n                  className=\"flex items-center space-x-1 px-3 py-2 rounded-md text-sm font-medium text-gray-700 hover:text-gray-900 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500\"\n                >\n                  <span>{overflowLabel}</span>\n                  <ChevronDown className=\"ml-1 h-4 w-4\" />\n                </button>\n                \n                {activeSubmenu === 'overflow' && (\n                  <div className=\"absolute top-full right-0 mt-1 w-64 bg-white border border-gray-200 rounded-md shadow-lg z-50\">\n                    <div className=\"py-1\">\n                      {overflowNavItems.map((item) => (\n                        <button\n                          key={item.id}\n                          onClick={() => {\n                            handleNavItemClick(item)\n                            setActiveSubmenu(null)\n                          }}\n                          disabled={item.disabled}\n                          className={cn(\n                            \"w-full text-left px-4 py-2 text-sm transition-colors\",\n                            \"hover:bg-gray-50 focus:outline-none focus:bg-gray-50\",\n                            item.active && \"text-blue-700 bg-blue-50\",\n                            item.disabled && \"opacity-50 cursor-not-allowed\"\n                          )}\n                        >\n                          <div className=\"flex items-center space-x-2\">\n                            {item.icon && <span className=\"flex-shrink-0\">{item.icon}</span>}\n                            <span>{item.label}</span>\n                            {item.badge && (\n                              <BirhausBadge variant=\"secondary\" className=\"ml-auto\">\n                                {item.badge}\n                              </BirhausBadge>\n                            )}\n                          </div>\n                        </button>\n                      ))}\n                    </div>\n                  </div>\n                )}\n              </div>\n            )}\n          </div>\n          \n          {/* BIRHAUS: Actions Section (Search + 3 contextual + 1 primary) */}\n          <div className=\"flex items-center space-x-3\">\n            \n            {/* Search */}\n            {showSearch && (\n              <button\n                onClick={onSearchClick}\n                className=\"p-2 text-gray-400 hover:text-gray-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 rounded\"\n                aria-label={searchLabel}\n              >\n                <Search className=\"h-5 w-5\" />\n              </button>\n            )}\n            \n            {/* Command Palette */}\n            {showCommandPalette && (\n              <button\n                onClick={onCommandPaletteToggle}\n                className={cn(\n                  'hidden', `${bp}:flex`,\n                  'items-center space-x-2 px-3 py-1 text-sm text-gray-600 bg-gray-50 hover:bg-gray-100 rounded-md transition-colors',\n                  'focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500'\n                )}\n                aria-label={commandPaletteLabel}\n              >\n                <Command className=\"h-4 w-4\" />\n                <span className=\"text-xs\">{commandPaletteShortcut}</span>\n              </button>\n            )}\n            \n            {/* BIRHAUS: Contextual Actions (max 3) */}\n            <div className={cn('hidden', `${bp}:flex`, 'items-center space-x-2')}>\n              {visibleContextualActions.map((action) => (\n                <BirhausButton\n                  key={action.id}\n                  onClick={action.onClick}\n                  variant={action.variant === 'destructive' ? 'destructive' : 'ghost'}\n                  disabled={action.disabled}\n                  loading={action.loading}\n                  size=\"sm\"\n                >\n                  {action.icon && <span className=\"mr-1\">{action.icon}</span>}\n                  {action.label}\n                </BirhausButton>\n              ))}\n            </div>\n            \n            {/* BIRHAUS: Primary Action */}\n            {primaryAction && (\n              <BirhausButton\n                onClick={primaryAction.onClick}\n                variant=\"primary\"\n                disabled={primaryAction.disabled}\n                loading={primaryAction.loading}\n                className={cn('hidden', `${bp}:inline-flex`)}\n              >\n                {primaryAction.icon && <span className=\"mr-2\">{primaryAction.icon}</span>}\n                {primaryAction.label}\n              </BirhausButton>\n            )}\n            \n            {/* Mobile menu button */}\n            {collapsible && (\n              <button\n                onClick={() => setIsMobileMenuOpen(!isMobileMenuOpen)}\n                className={cn(\n                  `${bp}:hidden`,\n                  'p-2 text-gray-400 hover:text-gray-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 rounded'\n                )}\n                aria-expanded={isMobileMenuOpen}\n                aria-label={isMobileMenuOpen ? closeMenuLabel : menuLabel}\n              >\n                {isMobileMenuOpen ? (\n                  <X className=\"h-6 w-6\" />\n                ) : (\n                  <Menu className=\"h-6 w-6\" />\n                )}\n              </button>\n            )}\n          </div>\n        </div>\n        \n        {/* BIRHAUS: Mobile Navigation */}\n        {collapsible && isMobileMenuOpen && (\n          <div className={cn(`${bp}:hidden`, 'border-t border-gray-200 pt-4 pb-4')}>\n            <div className=\"space-y-1\">\n              {navigationItems.map((item) => (\n                <button\n                  key={item.id}\n                  onClick={() => handleNavItemClick(item)}\n                  disabled={item.disabled}\n                  className={cn(\n                    \"w-full text-left flex items-center space-x-3 px-3 py-2 rounded-md text-base font-medium transition-colors\",\n                    \"focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500\",\n                    item.active \n                      ? \"text-blue-700 bg-blue-50\"\n                      : \"text-gray-700 hover:text-gray-900 hover:bg-gray-50\",\n                    item.disabled && \"opacity-50 cursor-not-allowed\"\n                  )}\n                  aria-current={item.active ? 'page' : undefined}\n                >\n                  {item.icon && <span className=\"flex-shrink-0\">{item.icon}</span>}\n                  <span className=\"flex-1\">{item.label}</span>\n                  {item.badge && (\n                    <BirhausBadge variant=\"default\">\n                      {item.badge}\n                    </BirhausBadge>\n                  )}\n                </button>\n              ))}\n            </div>\n            \n            {/* Mobile Actions */}\n            {(visibleContextualActions.length > 0 || primaryAction) && (\n              <div className=\"mt-4 pt-4 border-t border-gray-200 space-y-2\">\n                {visibleContextualActions.map((action) => (\n                  <BirhausButton\n                    key={action.id}\n                    onClick={() => {\n                      action.onClick()\n                      setIsMobileMenuOpen(false)\n                    }}\n                    variant={action.variant === 'destructive' ? 'destructive' : 'secondary'}\n                    disabled={action.disabled}\n                    loading={action.loading}\n                    className=\"w-full justify-center\"\n                  >\n                    {action.icon && <span className=\"mr-2\">{action.icon}</span>}\n                    {action.label}\n                  </BirhausButton>\n                ))}\n                \n                {primaryAction && (\n                  <BirhausButton\n                    onClick={() => {\n                      primaryAction.onClick()\n                      setIsMobileMenuOpen(false)\n                    }}\n                    variant=\"primary\"\n                    disabled={primaryAction.disabled}\n                    loading={primaryAction.loading}\n                    className=\"w-full justify-center\"\n                  >\n                    {primaryAction.icon && <span className=\"mr-2\">{primaryAction.icon}</span>}\n                    {primaryAction.label}\n                  </BirhausButton>\n                )}\n              </div>\n            )}\n          </div>\n        )}\n      </div>\n    </nav>\n  )\n}\n\n// BIRHAUS: Hook for managing navigation state\nexport function useFourThreeOneNav() {\n  const [activeItem, setActiveItem] = useState<string | null>(null)\n  const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false)\n  \n  const activateItem = (itemId: string) => {\n    setActiveItem(itemId)\n    setIsMobileMenuOpen(false)\n  }\n  \n  const toggleMobileMenu = () => {\n    setIsMobileMenuOpen(prev => !prev)\n  }\n  \n  const closeMobileMenu = () => {\n    setIsMobileMenuOpen(false)\n  }\n  \n  return {\n    activeItem,\n    isMobileMenuOpen,\n    activateItem,\n    toggleMobileMenu,\n    closeMobileMenu,\n    setActiveItem\n  }\n}\n\n// Components and hooks are exported via individual export declarations above"]}