@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.
- package/dist/ui/atoms/Button/Button.d.ts +1 -0
- package/dist/ui/atoms/Tooltip/Tooltip.d.ts +6 -1
- package/dist/ui/extensions/flow/components/AddNodeButton.d.ts +0 -6
- package/dist/ui/extensions/flow/components/DatasetSelector.d.ts +0 -5
- package/dist/ui/extensions/flow/components/ExportPanel.d.ts +0 -5
- package/dist/ui/extensions/flow/components/FloatingEdgesCheckbox.d.ts +0 -5
- package/dist/ui/extensions/flow/components/HandlePositionsDropdown.d.ts +0 -5
- package/dist/ui/extensions/flow/components/NodesEdgesTabContent.d.ts +0 -8
- package/dist/ui/extensions/flow/components/PlaygroundCanvas.d.ts +0 -6
- package/dist/ui/extensions/flow/components/PlaygroundCanvasFooter.d.ts +0 -6
- package/dist/ui/extensions/flow/components/PlaygroundDevTools.d.ts +0 -5
- package/dist/ui/extensions/flow/components/PlaygroundHeader.d.ts +0 -6
- package/dist/ui/extensions/flow/components/PlaygroundLayout.d.ts +0 -9
- package/dist/ui/extensions/flow/components/PlaygroundSearch.d.ts +0 -5
- package/dist/ui/extensions/flow/components/PlaygroundSidebar.d.ts +0 -10
- package/dist/ui/extensions/flow/context/index.d.ts +3 -3
- package/dist/ui/extensions/flow/hooks/useAutoLayout.d.ts +0 -5
- package/dist/ui/extensions/flow/hooks/useFlowActions.d.ts +0 -5
- package/dist/ui/extensions/flow/hooks/useFlowEvents.d.ts +0 -5
- package/dist/ui/extensions/flow/hooks/useFlowPerformance.d.ts +0 -5
- package/dist/ui/extensions/flow/hooks/useFlowSelection.d.ts +0 -5
- package/dist/ui/extensions/flow/hooks/useFlowState.d.ts +0 -6
- package/dist/ui/extensions/flow/hooks/useFlowStyles.d.ts +0 -5
- package/dist/ui/extensions/flow/hooks/useFlowUtils.d.ts +0 -5
- package/dist/ui/extensions/flow/hooks/useFlowValidation.d.ts +0 -5
- package/dist/ui/extensions/flow/hooks/useFlowViewport.d.ts +0 -5
- package/dist/ui/extensions/flow/hooks/useFlowVirtualization.d.ts +0 -5
- package/dist/ui/extensions/flow/hooks/useKeyboardShortcuts.d.ts +0 -5
- package/dist/ui/extensions/flow/hooks/useNodeSelection.d.ts +0 -5
- package/dist/ui/extensions/flow/hooks/usePlaygroundHistory.d.ts +0 -5
- package/dist/ui/extensions/flow/hooks/usePlaygroundKeyboardNavigation.d.ts +0 -5
- package/dist/ui/extensions/flow/index.d.ts +1 -1
- package/dist/ui/extensions/flow/utils/cssUtils.d.ts +1 -1
- package/dist/ui/index.d.ts +1 -3
- package/dist/ui/molecules/Header/Header.d.ts +44 -0
- package/dist/ui/molecules/Header/Header.stories.d.ts +45 -0
- package/dist/ui/molecules/Header/components/HeaderActions.d.ts +33 -0
- package/dist/ui/molecules/Header/components/HeaderHamburger.d.ts +48 -0
- package/dist/ui/molecules/Header/components/HeaderLogo.d.ts +34 -0
- package/dist/ui/molecules/Header/components/HeaderMobileMenu.d.ts +36 -0
- package/dist/ui/molecules/Header/components/HeaderNavigation.d.ts +33 -0
- package/dist/ui/molecules/Header/contexts/HeaderContext.d.ts +99 -0
- package/dist/ui/molecules/Header/index.d.ts +20 -0
- package/dist/ui/molecules/Header/types.d.ts +61 -0
- package/dist/ui/molecules/Navigation/Navigation.d.ts +17 -0
- package/dist/ui/molecules/Navigation/Navigation.stories.d.ts +61 -0
- package/dist/ui/molecules/Navigation/hooks/useNavigationActiveState.d.ts +42 -0
- package/dist/ui/molecules/Navigation/index.d.ts +8 -0
- package/dist/ui/molecules/Navigation/types.d.ts +94 -0
- package/dist/ui/molecules/PageHeader/PageHeader.d.ts +28 -0
- package/dist/ui/molecules/PageHeader/PageHeader.stories.d.ts +46 -0
- package/dist/ui/molecules/PageHeader/index.d.ts +8 -0
- package/dist/ui/molecules/PageHeader/types.d.ts +43 -0
- package/dist/ui/molecules/index.d.ts +6 -0
- package/dist/ui/shared/validation/startComponentSchemas.d.ts +12 -12
- package/dist/ui/tokens/colors/index.d.ts +33 -0
- package/dist/ui/tokens/colors/primitives.d.ts +98 -0
- package/dist/ui/tokens/colors/semantic.d.ts +30 -0
- package/dist/ui/tokens/colors/types.d.ts +143 -0
- package/dist/ui/tokens/colors/utils.d.ts +61 -0
- package/dist/ui/tokens/colors.d.ts +7 -0
- package/dist/ui/tokens/index.d.ts +4 -1
- package/dist/ui/tokens/themes/dark.d.ts +1 -1
- package/dist/ui/tokens/themes/light.d.ts +1 -1
- package/dist/ui/tokens/tokens.factory.d.ts +1 -2
- package/package.json +1 -6
- package/src/ui/atoms/Button/Button.stories.tsx +4 -4
- package/src/ui/atoms/Slider/Slider.stories.tsx +4 -4
- package/src/ui/index.ts +0 -9
- package/src/ui/molecules/Autocomplete/Autocomplete.stories.tsx +3 -3
- package/src/ui/molecules/ColorPicker/ColorPicker.stories.tsx +4 -3
- package/src/ui/molecules/Drawer/Drawer.stories.tsx +3 -3
- package/src/ui/molecules/Menu/Menu.stories.tsx +4 -4
- package/src/ui/molecules/Popover/Popover.stories.tsx +5 -5
- package/src/ui/molecules/Rating/Rating.stories.tsx +4 -3
- package/src/ui/molecules/TimePicker/TimePicker.stories.tsx +4 -3
- package/src/ui/organisms/Dialog/Dialog.stories.tsx +3 -3
- package/src/ui/organisms/Modal/Modal.stories.tsx +5 -4
- package/src/ui/organisms/Stepper/Stepper.stories.tsx +13 -10
- package/src/ui/organisms/Table/TableActions/TableActions.stories.tsx +4 -3
- package/src/ui/organisms/Table/TableFilters/TableFilters.stories.tsx +4 -3
- package/src/ui/organisms/Table/TablePagination/TablePagination.stories.tsx +4 -3
- package/src/ui/organisms/Timeline/Timeline.stories.tsx +6 -2
- package/src/ui/patterns/DataTablePattern/DataTablePattern.stories.tsx +4 -3
- package/src/ui/templates/DashboardLayout/DashboardLayout.stories.tsx +4 -3
- package/src/ui/tokens/tokens.factory.ts +1 -3
|
@@ -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,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,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,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 {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
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,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
|
/**
|
|
@@ -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
|
|
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
|
|
14
|
+
export declare function applyFlowCSSVariables(element: HTMLElement | null, variables: Record<string, string>): void;
|
|
15
15
|
/**
|
|
16
16
|
* Get CSS variable value
|
|
17
17
|
*/
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -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;
|