@fabio.caffarello/react-design-system 1.9.0 → 1.9.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.
Files changed (86) hide show
  1. package/dist/ui/atoms/Button/Button.d.ts +1 -0
  2. package/dist/ui/atoms/Tooltip/Tooltip.d.ts +6 -1
  3. package/dist/ui/extensions/flow/components/AddNodeButton.d.ts +0 -6
  4. package/dist/ui/extensions/flow/components/DatasetSelector.d.ts +0 -5
  5. package/dist/ui/extensions/flow/components/ExportPanel.d.ts +0 -5
  6. package/dist/ui/extensions/flow/components/FloatingEdgesCheckbox.d.ts +0 -5
  7. package/dist/ui/extensions/flow/components/HandlePositionsDropdown.d.ts +0 -5
  8. package/dist/ui/extensions/flow/components/NodesEdgesTabContent.d.ts +0 -8
  9. package/dist/ui/extensions/flow/components/PlaygroundCanvas.d.ts +0 -6
  10. package/dist/ui/extensions/flow/components/PlaygroundCanvasFooter.d.ts +0 -6
  11. package/dist/ui/extensions/flow/components/PlaygroundDevTools.d.ts +0 -5
  12. package/dist/ui/extensions/flow/components/PlaygroundHeader.d.ts +0 -6
  13. package/dist/ui/extensions/flow/components/PlaygroundLayout.d.ts +0 -9
  14. package/dist/ui/extensions/flow/components/PlaygroundSearch.d.ts +0 -5
  15. package/dist/ui/extensions/flow/components/PlaygroundSidebar.d.ts +0 -10
  16. package/dist/ui/extensions/flow/context/index.d.ts +3 -3
  17. package/dist/ui/extensions/flow/hooks/useAutoLayout.d.ts +0 -5
  18. package/dist/ui/extensions/flow/hooks/useFlowActions.d.ts +0 -5
  19. package/dist/ui/extensions/flow/hooks/useFlowEvents.d.ts +0 -5
  20. package/dist/ui/extensions/flow/hooks/useFlowPerformance.d.ts +0 -5
  21. package/dist/ui/extensions/flow/hooks/useFlowSelection.d.ts +0 -5
  22. package/dist/ui/extensions/flow/hooks/useFlowState.d.ts +0 -6
  23. package/dist/ui/extensions/flow/hooks/useFlowStyles.d.ts +0 -5
  24. package/dist/ui/extensions/flow/hooks/useFlowUtils.d.ts +0 -5
  25. package/dist/ui/extensions/flow/hooks/useFlowValidation.d.ts +0 -5
  26. package/dist/ui/extensions/flow/hooks/useFlowViewport.d.ts +0 -5
  27. package/dist/ui/extensions/flow/hooks/useFlowVirtualization.d.ts +0 -5
  28. package/dist/ui/extensions/flow/hooks/useKeyboardShortcuts.d.ts +0 -5
  29. package/dist/ui/extensions/flow/hooks/useNodeSelection.d.ts +0 -5
  30. package/dist/ui/extensions/flow/hooks/usePlaygroundHistory.d.ts +0 -5
  31. package/dist/ui/extensions/flow/hooks/usePlaygroundKeyboardNavigation.d.ts +0 -5
  32. package/dist/ui/extensions/flow/index.d.ts +1 -1
  33. package/dist/ui/extensions/flow/utils/cssUtils.d.ts +1 -1
  34. package/dist/ui/index.d.ts +1 -3
  35. package/dist/ui/molecules/Header/Header.d.ts +44 -0
  36. package/dist/ui/molecules/Header/Header.stories.d.ts +45 -0
  37. package/dist/ui/molecules/Header/components/HeaderActions.d.ts +33 -0
  38. package/dist/ui/molecules/Header/components/HeaderHamburger.d.ts +48 -0
  39. package/dist/ui/molecules/Header/components/HeaderLogo.d.ts +34 -0
  40. package/dist/ui/molecules/Header/components/HeaderMobileMenu.d.ts +36 -0
  41. package/dist/ui/molecules/Header/components/HeaderNavigation.d.ts +33 -0
  42. package/dist/ui/molecules/Header/contexts/HeaderContext.d.ts +99 -0
  43. package/dist/ui/molecules/Header/index.d.ts +20 -0
  44. package/dist/ui/molecules/Header/types.d.ts +61 -0
  45. package/dist/ui/molecules/Navigation/Navigation.d.ts +17 -0
  46. package/dist/ui/molecules/Navigation/Navigation.stories.d.ts +61 -0
  47. package/dist/ui/molecules/Navigation/hooks/useNavigationActiveState.d.ts +42 -0
  48. package/dist/ui/molecules/Navigation/index.d.ts +8 -0
  49. package/dist/ui/molecules/Navigation/types.d.ts +94 -0
  50. package/dist/ui/molecules/PageHeader/PageHeader.d.ts +28 -0
  51. package/dist/ui/molecules/PageHeader/PageHeader.stories.d.ts +46 -0
  52. package/dist/ui/molecules/PageHeader/index.d.ts +8 -0
  53. package/dist/ui/molecules/PageHeader/types.d.ts +43 -0
  54. package/dist/ui/molecules/index.d.ts +6 -0
  55. package/dist/ui/shared/validation/startComponentSchemas.d.ts +12 -12
  56. package/dist/ui/tokens/colors/index.d.ts +33 -0
  57. package/dist/ui/tokens/colors/primitives.d.ts +98 -0
  58. package/dist/ui/tokens/colors/semantic.d.ts +30 -0
  59. package/dist/ui/tokens/colors/types.d.ts +143 -0
  60. package/dist/ui/tokens/colors/utils.d.ts +61 -0
  61. package/dist/ui/tokens/colors.d.ts +7 -0
  62. package/dist/ui/tokens/index.d.ts +4 -1
  63. package/dist/ui/tokens/themes/dark.d.ts +1 -1
  64. package/dist/ui/tokens/themes/light.d.ts +1 -1
  65. package/dist/ui/tokens/tokens.factory.d.ts +1 -2
  66. package/package.json +1 -6
  67. package/src/ui/atoms/Button/Button.stories.tsx +4 -4
  68. package/src/ui/atoms/Slider/Slider.stories.tsx +4 -4
  69. package/src/ui/index.ts +0 -9
  70. package/src/ui/molecules/Autocomplete/Autocomplete.stories.tsx +3 -3
  71. package/src/ui/molecules/ColorPicker/ColorPicker.stories.tsx +4 -3
  72. package/src/ui/molecules/Drawer/Drawer.stories.tsx +3 -3
  73. package/src/ui/molecules/Menu/Menu.stories.tsx +4 -4
  74. package/src/ui/molecules/Popover/Popover.stories.tsx +5 -5
  75. package/src/ui/molecules/Rating/Rating.stories.tsx +4 -3
  76. package/src/ui/molecules/TimePicker/TimePicker.stories.tsx +4 -3
  77. package/src/ui/organisms/Dialog/Dialog.stories.tsx +3 -3
  78. package/src/ui/organisms/Modal/Modal.stories.tsx +5 -4
  79. package/src/ui/organisms/Stepper/Stepper.stories.tsx +13 -10
  80. package/src/ui/organisms/Table/TableActions/TableActions.stories.tsx +4 -3
  81. package/src/ui/organisms/Table/TableFilters/TableFilters.stories.tsx +4 -3
  82. package/src/ui/organisms/Table/TablePagination/TablePagination.stories.tsx +4 -3
  83. package/src/ui/organisms/Timeline/Timeline.stories.tsx +6 -2
  84. package/src/ui/patterns/DataTablePattern/DataTablePattern.stories.tsx +4 -3
  85. package/src/ui/templates/DashboardLayout/DashboardLayout.stories.tsx +4 -3
  86. package/src/ui/tokens/tokens.factory.ts +1 -3
@@ -49,3 +49,4 @@ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement
49
49
  */
50
50
  declare const Button: import("react").NamedExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
51
51
  export default Button;
52
+ export { Button };
@@ -5,6 +5,11 @@ export interface TooltipProps extends HTMLAttributes<HTMLDivElement> {
5
5
  position?: "top" | "bottom" | "left" | "right";
6
6
  delay?: number;
7
7
  'aria-label'?: string;
8
+ /**
9
+ * When true, the tooltip wrapper won't interfere with absolute positioning of children.
10
+ * The wrapper will use `position: static` instead of `position: relative`.
11
+ */
12
+ preservePositioning?: boolean;
8
13
  }
9
14
  /**
10
15
  * Tooltip Component
@@ -19,4 +24,4 @@ export interface TooltipProps extends HTMLAttributes<HTMLDivElement> {
19
24
  * </Tooltip>
20
25
  * ```
21
26
  */
22
- export default function Tooltip({ content, children, position, delay, className, 'aria-label': _ariaLabel, ...props }: TooltipProps): import("react/jsx-runtime").JSX.Element;
27
+ export default function Tooltip({ content, children, position, delay, className, 'aria-label': _ariaLabel, preservePositioning, ...props }: TooltipProps): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1 @@
1
- /**
2
- * Add Node Button Component
3
- *
4
- * Simple button to add new nodes to the canvas.
5
- * Opens a dropdown menu to select node type (without previews).
6
- */
7
1
  export declare function AddNodeButton(): import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1 @@
1
- /**
2
- * Dataset Selector Component
3
- *
4
- * Component for selecting and loading flow templates/datasets.
5
- */
6
1
  export declare function DatasetSelector(): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,3 @@
1
- /**
2
- * Export Panel Component
3
- *
4
- * Panel for exporting flows in multiple formats
5
- */
6
1
  export interface ExportPanelProps {
7
2
  /**
8
3
  * Custom className
@@ -1,6 +1 @@
1
- /**
2
- * Floating Edges Checkbox Component
3
- *
4
- * Checkbox to enable/disable floating edges.
5
- */
6
1
  export declare function FloatingEdgesCheckbox(): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,2 @@
1
- /**
2
- * Handle Positions Dropdown Component
3
- *
4
- * Dropdown to select default handle positions for nodes.
5
- */
6
1
  export type HandlePosition = 'top-bottom' | 'left-right' | 'all';
7
2
  export declare function HandlePositionsDropdown(): import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,3 @@
1
- /**
2
- * Nodes & Edges Tab Content Component
3
- *
4
- * Organizes content in exact sections matching the reference:
5
- * - OPTIONS: Handle Positions, Floating Edges
6
- * - NODES & EDGES: Dataset selector, Add new node button
7
- * - NODE INSPECTOR: Editor for selected node/edge or empty message
8
- */
9
1
  /**
10
2
  * Main Nodes & Edges Tab Content Component
11
3
  */
@@ -1,9 +1,3 @@
1
- /**
2
- * Playground Canvas Component
3
- *
4
- * Wrapper for the main React Flow canvas.
5
- * Manages flow state and integrates with PlaygroundContext.
6
- */
7
1
  /**
8
2
  * Main PlaygroundCanvas component
9
3
  * Wraps the inner component with FlowProvider
@@ -1,7 +1 @@
1
- /**
2
- * Playground Canvas Footer Component
3
- *
4
- * Footer with tabs for Node Inspector and Viewport Logger.
5
- * Positioned at bottom-right of the canvas.
6
- */
7
1
  export declare function PlaygroundCanvasFooter(): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,3 @@
1
- /**
2
- * Playground Dev Tools Component
3
- *
4
- * Development tools panel with debug, state inspector, profiler, and logger.
5
- */
6
1
  export interface PlaygroundDevToolsProps {
7
2
  enabled?: boolean;
8
3
  position?: 'bottom' | 'top' | 'left' | 'right';
@@ -1,7 +1 @@
1
- /**
2
- * Playground Header Component
3
- *
4
- * Professional header for the playground with Apply Changes functionality.
5
- * Uses design system tokens for consistent styling.
6
- */
7
1
  export declare function PlaygroundHeader(): import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,3 @@
1
- /**
2
- * Playground Layout Component
3
- *
4
- * Main layout component for the playground with split-view:
5
- * - Left: Tabs and Content
6
- * - Right: Canvas
7
- *
8
- * Uses design system tokens for consistent styling.
9
- */
10
1
  export interface PlaygroundLayoutProps {
11
2
  initialState?: Partial<import('../context/PlaygroundContext').PlaygroundState>;
12
3
  }
@@ -1,8 +1,3 @@
1
- /**
2
- * Enhanced Playground Search Component
3
- *
4
- * Advanced search functionality with filters, preview, and navigation.
5
- */
6
1
  export interface PlaygroundSearchProps {
7
2
  onResultSelect?: (result: {
8
3
  type: 'node' | 'edge';
@@ -1,13 +1,3 @@
1
- /**
2
- * Playground Sidebar Component
3
- *
4
- * Professional sidebar for the playground with tabs and content.
5
- * Enhanced with search, collapsible sections, and better organization.
6
- * Uses design system tokens for consistent styling.
7
- *
8
- * Refactored to use SideNavbar component from the design system.
9
- * Now uses all advanced features: collapsible, resizable, persistent, responsive.
10
- */
11
1
  import { type PlaygroundTabId } from './PlaygroundTabs';
12
2
  export interface PlaygroundSidebarProps {
13
3
  activeTab: PlaygroundTabId;
@@ -4,9 +4,9 @@
4
4
  * Context implementations for Flow components.
5
5
  */
6
6
  export { FlowContext, useFlowContext, useFlowContextOptional } from '../organisms/FlowContext';
7
- export { FlowStyleContext, FlowStyleProvider, useFlowStyleContext, useFlowStyleContextOptional } from './FlowStyleContext';
8
- export { FlowEventContext, FlowEventProvider, useFlowEventContext } from './FlowEventContext';
9
- export { FlowPerformanceContext, FlowPerformanceProvider, useFlowPerformanceContext } from './FlowPerformanceContext';
7
+ export { FlowStyleProvider, useFlowStyleContext, useFlowStyleContextOptional } from './FlowStyleContext';
8
+ export { FlowEventProvider, useFlowEventContext } from './FlowEventContext';
9
+ export { FlowPerformanceProvider, useFlowPerformanceContext } from './FlowPerformanceContext';
10
10
  export type { FlowStyleContextValue, FlowStyleProviderProps } from './FlowStyleContext';
11
11
  export type { FlowEventContextValue, FlowEventProviderProps, FlowEvent, FlowEventType, FlowEventHandler } from './FlowEventContext';
12
12
  export type { FlowPerformanceContextValue, FlowPerformanceProviderProps, PerformanceMetrics, PerformanceOptions } from './FlowPerformanceContext';
@@ -1,8 +1,3 @@
1
- /**
2
- * useAutoLayout Hook
3
- *
4
- * Hook for applying automatic layouts to flows.
5
- */
6
1
  import type { Node, Edge } from '@xyflow/react';
7
2
  import type { LayoutStrategyName, LayoutOptions, LayoutResult } from '../organisms/FlowTypes';
8
3
  /**
@@ -1,8 +1,3 @@
1
- /**
2
- * useFlowActions Hook
3
- *
4
- * Hook that uses React Flow's useReactFlow to provide actions.
5
- */
6
1
  import type { FitViewOptions, ReactFlowJsonObject } from '@xyflow/react';
7
2
  /**
8
3
  * Hook for flow actions
@@ -1,8 +1,3 @@
1
- /**
2
- * useFlowEvents Hook
3
- *
4
- * Hook for subscribing to and emitting Flow events.
5
- */
6
1
  import type { FlowEventType, FlowEvent, FlowEventHandler } from '../context/FlowEventContext';
7
2
  /**
8
3
  * Flow Events Hook Return
@@ -1,8 +1,3 @@
1
- /**
2
- * useFlowPerformance Hook
3
- *
4
- * Hook for monitoring and optimizing Flow performance.
5
- */
6
1
  import type { PerformanceMetrics, PerformanceOptions } from '../context/FlowPerformanceContext';
7
2
  /**
8
3
  * Flow Performance Hook Return
@@ -1,8 +1,3 @@
1
- /**
2
- * useFlowSelection Hook
3
- *
4
- * Hook for advanced selection management.
5
- */
6
1
  import type { Node, Edge } from '@xyflow/react';
7
2
  import type { FlowNodeData, FlowEdgeData } from '../organisms/FlowTypes';
8
3
  /**
@@ -1,9 +1,3 @@
1
- /**
2
- * useFlowState Hook
3
- *
4
- * Hook that uses React Flow's native hooks (useNodesState, useEdgesState)
5
- * and adds design system functionality.
6
- */
7
1
  import type { Node, Edge } from '@xyflow/react';
8
2
  import type { FlowNodeData, FlowEdgeData } from '../organisms/FlowTypes';
9
3
  /**
@@ -1,8 +1,3 @@
1
- /**
2
- * useFlowStyles Hook
3
- *
4
- * Hook for accessing and managing Flow CSS variables and theming.
5
- */
6
1
  import type { FlowThemeVariables, ThemeMode } from '../styles/flow-theme';
7
2
  /**
8
3
  * Flow Styles Hook Return
@@ -1,8 +1,3 @@
1
- /**
2
- * useFlowUtils Hook
3
- *
4
- * Hook for Flow utility functions (geometry, helpers, etc.).
5
- */
6
1
  import type { Node, Edge, XYPosition, Position, InternalNode } from '@xyflow/react';
7
2
  /**
8
3
  * Flow Utils Hook Return
@@ -1,8 +1,3 @@
1
- /**
2
- * useFlowValidation Hook
3
- *
4
- * Hook for validating flow using validation rules.
5
- */
6
1
  import type { ValidationResult } from '../organisms/FlowTypes';
7
2
  /**
8
3
  * Hook for flow validation
@@ -1,8 +1,3 @@
1
- /**
2
- * useFlowViewport Hook
3
- *
4
- * Hook for viewport management (zoom, pan, fit view).
5
- */
6
1
  import type { XYPosition, FitViewOptions } from '@xyflow/react';
7
2
  /**
8
3
  * Flow Viewport Hook Return
@@ -1,8 +1,3 @@
1
- /**
2
- * useFlowVirtualization Hook
3
- *
4
- * Hook for viewport-based rendering in very large flows (>1000 nodes).
5
- */
6
1
  import type { Node, Edge } from '@xyflow/react';
7
2
  /**
8
3
  * Hook for flow virtualization
@@ -1,8 +1,3 @@
1
- /**
2
- * Keyboard Shortcuts Hook
3
- *
4
- * Hook for managing keyboard shortcuts in the playground
5
- */
6
1
  export interface KeyboardShortcut {
7
2
  key: string;
8
3
  ctrl?: boolean;
@@ -1,8 +1,3 @@
1
- /**
2
- * useNodeSelection Hook
3
- *
4
- * Hook for managing node selection using React Flow's useOnSelectionChange.
5
- */
6
1
  import type { Node, Edge } from '@xyflow/react';
7
2
  /**
8
3
  * Hook for node selection
@@ -1,8 +1,3 @@
1
- /**
2
- * Playground History Hook
3
- *
4
- * Hook for managing undo/redo history in the playground
5
- */
6
1
  import type { Node, Edge } from '@xyflow/react';
7
2
  import type { FlowNodeData, FlowEdgeData } from '../organisms/FlowTypes';
8
3
  export interface HistoryState {
@@ -1,8 +1,3 @@
1
- /**
2
- * Playground Keyboard Navigation Hook
3
- *
4
- * Enhanced keyboard navigation for the playground with focus management.
5
- */
6
1
  export interface PlaygroundKeyboardNavigationOptions {
7
2
  enabled?: boolean;
8
3
  onNodeDelete?: (nodeId: string) => void;
@@ -45,6 +45,6 @@ export { NodeFactory } from './utils/nodeFactory';
45
45
  export { EdgeFactory } from './utils/edgeFactory';
46
46
  export { FlowValidator } from './utils/validation';
47
47
  export { LayoutEngine, layoutEngine, DagreLayoutStrategy, ELKLayoutStrategy, ForceDirectedLayoutStrategy } from './utils/layoutEngine';
48
- export * from './utils/cssUtils';
48
+ export { generateCSSVariables, applyFlowCSSVariables, getCSSVariable, setCSSVariable, tokenToCSSVariable } from './utils/cssUtils';
49
49
  export * from './utils/geometryUtils';
50
50
  export * from './utils/performanceUtils';
@@ -11,7 +11,7 @@ export declare function generateCSSVariables(theme: FlowThemeVariables): Record<
11
11
  /**
12
12
  * Apply CSS variables to an element
13
13
  */
14
- export declare function applyCSSVariables(element: HTMLElement | null, variables: Record<string, string>): void;
14
+ export declare function applyFlowCSSVariables(element: HTMLElement | null, variables: Record<string, string>): void;
15
15
  /**
16
16
  * Get CSS variable value
17
17
  */
@@ -12,9 +12,6 @@ export * from "./tokens/themes/dark";
12
12
  export * from "./providers";
13
13
  export * from "./themes";
14
14
  export * from "./extensions";
15
- export * from "./builders";
16
- export * from "./playgrounds";
17
- export * from "./tools";
18
15
  export { getSpacingClass, getSpacing } from "./tokens/spacing";
19
16
  export { getTypographyClasses, getTypography } from "./tokens/typography";
20
17
  export { getColorClass, getColor } from "./tokens/colors";
@@ -23,3 +20,4 @@ export { getAnimationClass, getAnimation, getTransitionClass } from "./tokens/an
23
20
  export { getZIndexClass, getZIndex } from "./tokens/z-index";
24
21
  export { getOpacityClass, getOpacity } from "./tokens/opacity";
25
22
  export { getGradientClass, getGradient } from "./tokens/gradients";
23
+ export { cn } from "./utils";
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Header Component
3
+ *
4
+ * Horizontal header component with logo, navigation, and actions slots.
5
+ * Uses compound components pattern for maximum flexibility.
6
+ *
7
+ * @see EPIC-002: Header Component (Molecule)
8
+ * @see RFC-003: Header Composition Pattern (APPROVED)
9
+ * @see ADR-002: Header + SideNavbar Compatibility (ACCEPTED)
10
+ */
11
+ import { HeaderLogo } from './components/HeaderLogo';
12
+ import { HeaderNavigation } from './components/HeaderNavigation';
13
+ import { HeaderActions } from './components/HeaderActions';
14
+ import { HeaderHamburger } from './components/HeaderHamburger';
15
+ import { HeaderMobileMenu } from './components/HeaderMobileMenu';
16
+ import type { HeaderProps } from './types';
17
+ /**
18
+ * Header Component
19
+ *
20
+ * Horizontal header with compound components pattern.
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * <Header>
25
+ * <Header.Logo href="/">MyApp</Header.Logo>
26
+ * <Header.Navigation>
27
+ * <NavLink href="/home">Home</NavLink>
28
+ * <NavLink href="/about">About</NavLink>
29
+ * </Header.Navigation>
30
+ * <Header.Actions>
31
+ * <Button>Sign In</Button>
32
+ * </Header.Actions>
33
+ * </Header>
34
+ * ```
35
+ */
36
+ export declare function Header({ children, variant, sticky, maxWidth, bare, className, ...props }: HeaderProps): import("react/jsx-runtime").JSX.Element;
37
+ export declare namespace Header {
38
+ var Logo: typeof HeaderLogo;
39
+ var Navigation: typeof HeaderNavigation;
40
+ var Actions: typeof HeaderActions;
41
+ var Hamburger: typeof HeaderHamburger;
42
+ var MobileMenu: typeof HeaderMobileMenu;
43
+ }
44
+ export default Header;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Header Stories
3
+ *
4
+ * Storybook stories for the Header component.
5
+ */
6
+ import type { Meta, StoryObj } from '@storybook/react';
7
+ import { Header } from './Header';
8
+ declare const meta: Meta<typeof Header>;
9
+ export default meta;
10
+ type Story = StoryObj<typeof Header>;
11
+ /**
12
+ * Default Header
13
+ */
14
+ export declare const Default: Story;
15
+ /**
16
+ * Header with Logo and Navigation
17
+ */
18
+ export declare const WithNavigation: Story;
19
+ /**
20
+ * Header with Logo and Actions
21
+ */
22
+ export declare const WithActions: Story;
23
+ /**
24
+ * Complete Header
25
+ */
26
+ export declare const Complete: Story;
27
+ /**
28
+ * Variants
29
+ */
30
+ export declare const Variants: Story;
31
+ /**
32
+ * Sticky Header
33
+ */
34
+ export declare const Sticky: Story;
35
+ /**
36
+ * With Mobile Menu
37
+ */
38
+ export declare const WithMobileMenu: Story;
39
+ /**
40
+ * With DashboardLayout
41
+ *
42
+ * Example of Header used with DashboardLayout.
43
+ * Uses `bare` prop to avoid duplicate header/Container wrappers.
44
+ */
45
+ export declare const WithDashboardLayout: Story;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * HeaderActions Component
3
+ *
4
+ * Actions slot component for Header (typically buttons, user menu, etc.).
5
+ *
6
+ * @see EPIC-002: Header Component (Molecule)
7
+ * @see RFC-003: Header Composition Pattern (APPROVED)
8
+ */
9
+ import { type ReactNode } from 'react';
10
+ export interface HeaderActionsProps {
11
+ /**
12
+ * Actions content (typically Button components)
13
+ */
14
+ children: ReactNode;
15
+ /**
16
+ * Additional CSS classes
17
+ */
18
+ className?: string;
19
+ }
20
+ /**
21
+ * HeaderActions Component
22
+ *
23
+ * Actions slot for Header. Typically contains Button components or user menu.
24
+ *
25
+ * @example
26
+ * ```tsx
27
+ * <Header.Actions>
28
+ * <Button variant="outline">Sign In</Button>
29
+ * <Button variant="primary">Sign Up</Button>
30
+ * </Header.Actions>
31
+ * ```
32
+ */
33
+ export declare function HeaderActions({ children, className, }: HeaderActionsProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,48 @@
1
+ /**
2
+ * HeaderHamburger Component
3
+ *
4
+ * Hamburger button for toggling mobile menu.
5
+ *
6
+ * @see EPIC-002: Header Component (Molecule)
7
+ * @see TASK-027: Hamburger Button
8
+ */
9
+ import React from 'react';
10
+ export interface HeaderHamburgerProps {
11
+ /**
12
+ * Additional CSS classes
13
+ */
14
+ className?: string;
15
+ /**
16
+ * Custom icon component
17
+ */
18
+ icon?: React.ReactNode;
19
+ /**
20
+ * Custom close icon component
21
+ */
22
+ closeIcon?: React.ReactNode;
23
+ /**
24
+ * Button variant
25
+ * @default 'ghost'
26
+ */
27
+ variant?: 'ghost' | 'outline' | 'default';
28
+ /**
29
+ * Button size
30
+ * @default 'md'
31
+ */
32
+ size?: 'sm' | 'md' | 'lg';
33
+ }
34
+ /**
35
+ * HeaderHamburger Component
36
+ *
37
+ * Hamburger button that toggles the mobile menu.
38
+ * Only visible on mobile devices.
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * <Header>
43
+ * <Header.Hamburger />
44
+ * <Header.Logo href="/">MyApp</Header.Logo>
45
+ * </Header>
46
+ * ```
47
+ */
48
+ export declare function HeaderHamburger({ className, icon, closeIcon, variant, size, }: HeaderHamburgerProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * HeaderLogo Component
3
+ *
4
+ * Logo slot component for Header.
5
+ *
6
+ * @see EPIC-002: Header Component (Molecule)
7
+ * @see RFC-003: Header Composition Pattern (APPROVED)
8
+ */
9
+ import { type ReactNode } from 'react';
10
+ import type { NavLinkProps } from '../../../atoms/NavLink';
11
+ export interface HeaderLogoProps extends Omit<NavLinkProps, 'children'> {
12
+ /**
13
+ * Logo content (text, image, or component)
14
+ */
15
+ children: ReactNode;
16
+ /**
17
+ * Additional CSS classes
18
+ */
19
+ className?: string;
20
+ }
21
+ /**
22
+ * HeaderLogo Component
23
+ *
24
+ * Logo slot for Header. Renders as a NavLink by default.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * <Header.Logo href="/">MyApp</Header.Logo>
29
+ * <Header.Logo href="/">
30
+ * <img src="/logo.png" alt="Logo" />
31
+ * </Header.Logo>
32
+ * ```
33
+ */
34
+ export declare function HeaderLogo({ children, className, ...props }: HeaderLogoProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * HeaderMobileMenu Component
3
+ *
4
+ * Mobile menu drawer for Header navigation.
5
+ *
6
+ * @see EPIC-002: Header Component (Molecule)
7
+ * @see TASK-028: Mobile Menu (Drawer)
8
+ */
9
+ import React from 'react';
10
+ export interface HeaderMobileMenuProps {
11
+ /**
12
+ * Menu content (typically navigation links)
13
+ */
14
+ children: React.ReactNode;
15
+ /**
16
+ * Additional CSS classes
17
+ */
18
+ className?: string;
19
+ }
20
+ /**
21
+ * HeaderMobileMenu Component
22
+ *
23
+ * Mobile menu drawer that slides in from the side.
24
+ * Uses Drawer component from design system.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * <Header>
29
+ * <Header.MobileMenu>
30
+ * <NavLink href="/home">Home</NavLink>
31
+ * <NavLink href="/about">About</NavLink>
32
+ * </Header.MobileMenu>
33
+ * </Header>
34
+ * ```
35
+ */
36
+ export declare function HeaderMobileMenu({ children, className, }: HeaderMobileMenuProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * HeaderNavigation Component
3
+ *
4
+ * Navigation slot component for Header.
5
+ *
6
+ * @see EPIC-002: Header Component (Molecule)
7
+ * @see RFC-003: Header Composition Pattern (APPROVED)
8
+ */
9
+ import { type ReactNode } from 'react';
10
+ export interface HeaderNavigationProps {
11
+ /**
12
+ * Navigation content (typically NavLink components)
13
+ */
14
+ children: ReactNode;
15
+ /**
16
+ * Additional CSS classes
17
+ */
18
+ className?: string;
19
+ }
20
+ /**
21
+ * HeaderNavigation Component
22
+ *
23
+ * Navigation slot for Header. Typically contains NavLink components.
24
+ *
25
+ * @example
26
+ * ```tsx
27
+ * <Header.Navigation>
28
+ * <NavLink href="/home">Home</NavLink>
29
+ * <NavLink href="/about">About</NavLink>
30
+ * </Header.Navigation>
31
+ * ```
32
+ */
33
+ export declare function HeaderNavigation({ children, className, }: HeaderNavigationProps): import("react/jsx-runtime").JSX.Element;