eidotter 0.15.0 → 0.16.0
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/README.md +10 -5
- package/dist/components/Accordion/components/AccordionFill.d.ts +1 -0
- package/dist/components/Accordion/components/Section.d.ts +10 -18
- package/dist/components/Alert/components/Alert.d.ts +13 -23
- package/dist/components/Badge/components/Badge.d.ts +10 -28
- package/dist/components/Breadcrumb/components/Breadcrumb.d.ts +13 -35
- package/dist/components/Button/components/Button.d.ts +3 -43
- package/dist/components/Checkbox/components/Checkbox.d.ts +17 -27
- package/dist/components/FilterBar/components/FilterBar.d.ts +3 -13
- package/dist/components/Footer/components/Footer.d.ts +1 -5
- package/dist/components/Input/components/Input.d.ts +4 -13
- package/dist/components/Progress/components/Progress.d.ts +18 -41
- package/dist/components/Separator/components/Separator.d.ts +4 -13
- package/dist/components/Stat/components/Stat.d.ts +10 -30
- package/dist/components/Switch/components/Switch.d.ts +16 -36
- package/dist/components/Tabs/components/Tabs.d.ts +14 -45
- package/dist/components/Tag/components/Tag.d.ts +8 -18
- package/dist/components/TimelineContainer/components/TimelineContainer.d.ts +4 -3
- package/dist/components/TimelineContainer/components/TimelineEntryCard.d.ts +9 -5
- package/dist/components/TimelineContainer/components/ZoomControls.d.ts +3 -0
- package/dist/components/TimelineContainer/components/index.d.ts +1 -0
- package/dist/components/TimelineContainer/components/timelineUtils.d.ts +11 -0
- package/dist/components/TimelineContainer/components/useDrillDown.d.ts +42 -0
- package/dist/components/TimelineContainer/components/useDrillDown.test.d.ts +1 -0
- package/dist/eidotter.css +1 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.es.js +7009 -1689
- package/dist/index.umd.js +7 -10
- package/package.json +11 -1
- package/tailwind.preset.enhanced.cjs +44 -0
- package/dist/components/TimelineEntry/components/TimelineEntry.d.ts +0 -21
- package/dist/components/TimelineEntry/components/index.d.ts +0 -2
- package/dist/components/TimelineEntry/index.d.ts +0 -2
- package/dist/components/TimelineList/components/TimelineList.d.ts +0 -18
- package/dist/components/TimelineList/components/index.d.ts +0 -2
- package/dist/components/TimelineList/index.d.ts +0 -2
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ function App() {
|
|
|
30
30
|
}
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
## Available Components (v0.
|
|
33
|
+
## Available Components (v0.15.0)
|
|
34
34
|
|
|
35
35
|
| Component | Description |
|
|
36
36
|
|-----------|-------------|
|
|
@@ -40,9 +40,14 @@ function App() {
|
|
|
40
40
|
| Breadcrumb | Navigation path display |
|
|
41
41
|
| Button | DOS-style buttons with variants (primary, secondary, ghost, link) |
|
|
42
42
|
| Card | Content container with default, elevated, bordered, glow, interactive, minimal, callout variants |
|
|
43
|
+
| ChatMessage | Single chat message with role-based DOS styling and streaming cursor |
|
|
44
|
+
| ChatHistory | Scrollable message list with auto-scroll and `role="log"` |
|
|
45
|
+
| ChatInput | Multiline textarea with Enter-to-send, Shift+Enter for newlines |
|
|
46
|
+
| ChatContainer | Composes ChatHistory + ChatInput — place inside Terminal for DOS chat |
|
|
43
47
|
| Checkbox | DOS-style checkbox with [X] indicator |
|
|
44
48
|
| CommandPrompt | Interactive command-line input with blinking cursor |
|
|
45
49
|
| FilterBar | Multi-select toggle group for faceted filtering |
|
|
50
|
+
| Footer | Site footer with default legal links (Impressum + Datenschutz) |
|
|
46
51
|
| Icon | SVG icon system with DOS styling |
|
|
47
52
|
| InlineExpand | Inline disclosure widget for expanding text within prose |
|
|
48
53
|
| Input | Text input with DOS styling and error variant |
|
|
@@ -55,11 +60,11 @@ function App() {
|
|
|
55
60
|
| Switch | Toggle switch for on/off states |
|
|
56
61
|
| Tabs | Tabbed interface navigation |
|
|
57
62
|
| Tag | Interactive labels for tags, categories, and filter chips |
|
|
58
|
-
| Terminal | DOS window with title bar
|
|
63
|
+
| Terminal | DOS window with title bar and content area (controls hidden by default) |
|
|
59
64
|
| TextScramble | DOS text decode/scramble animation effect |
|
|
60
|
-
| TimelineContainer | Multi-zoom timeline with year/month/day/hour views |
|
|
61
|
-
| TimelineEntry | Individual timeline entry with icon, date, and content |
|
|
62
|
-
| TimelineList |
|
|
65
|
+
| TimelineContainer | Multi-zoom timeline with year/month/day/hour views + `mode="static"` |
|
|
66
|
+
| TimelineEntry | Individual timeline entry with icon, date, and expandable content |
|
|
67
|
+
| TimelineList | *(Deprecated)* Use `<TimelineContainer mode="static">` instead |
|
|
63
68
|
| TimelineNode | Timeline/stepper axis markers with shapes and glow |
|
|
64
69
|
|
|
65
70
|
## Component Examples
|
|
@@ -1,29 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './Section.css';
|
|
3
3
|
export interface SectionProps {
|
|
4
|
-
/**
|
|
5
|
-
* The title text of the section
|
|
6
|
-
*/
|
|
4
|
+
/** The title text of the section */
|
|
7
5
|
title: string;
|
|
8
|
-
/**
|
|
9
|
-
* The content of the section
|
|
10
|
-
*/
|
|
6
|
+
/** The content of the section */
|
|
11
7
|
children: React.ReactNode;
|
|
12
|
-
/**
|
|
13
|
-
* Whether the section is expanded by default
|
|
14
|
-
*/
|
|
8
|
+
/** Whether the section is expanded by default */
|
|
15
9
|
defaultExpanded?: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Whether the section is in a hover state
|
|
18
|
-
*/
|
|
10
|
+
/** Whether the section is in a hover state */
|
|
19
11
|
isHovered?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Whether the section is in an active state
|
|
22
|
-
*/
|
|
12
|
+
/** Whether the section is in an active state */
|
|
23
13
|
isActive?: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Optional callback when the section is toggled
|
|
26
|
-
*/
|
|
14
|
+
/** Optional callback when the section is toggled */
|
|
27
15
|
onToggle?: (isExpanded: boolean) => void;
|
|
28
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* DOS-styled collapsible section (accordion item).
|
|
19
|
+
* Pure presentational — uses CSS transitions for expand/collapse.
|
|
20
|
+
*/
|
|
29
21
|
export declare const Section: React.FC<SectionProps>;
|
|
@@ -1,33 +1,23 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './Alert.css';
|
|
3
3
|
export interface AlertProps {
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* The type of alert which determines its color and icon
|
|
10
|
-
*/
|
|
11
|
-
type?: 'info' | 'success' | 'warning' | 'error';
|
|
12
|
-
/**
|
|
13
|
-
* The title text of the alert
|
|
14
|
-
*/
|
|
4
|
+
/** The size variant */
|
|
5
|
+
size?: 'sm' | 'lg' | 'small' | 'large' | 'floating' | 'full-width';
|
|
6
|
+
/** The type determines color and icon */
|
|
7
|
+
type?: 'info' | 'success' | 'warning' | 'error' | 'default' | 'brand';
|
|
8
|
+
/** Title text */
|
|
15
9
|
title?: string;
|
|
16
|
-
/**
|
|
17
|
-
* The description text of the alert
|
|
18
|
-
*/
|
|
10
|
+
/** Description content */
|
|
19
11
|
children?: React.ReactNode;
|
|
20
|
-
/**
|
|
21
|
-
* Optional click handler for the close button
|
|
22
|
-
*/
|
|
12
|
+
/** Close handler (shows close button when provided) */
|
|
23
13
|
onClose?: () => void;
|
|
24
|
-
/**
|
|
25
|
-
* Optional click handler for the "Click here" link
|
|
26
|
-
*/
|
|
14
|
+
/** "Click here" link handler */
|
|
27
15
|
onClickHere?: () => void;
|
|
28
|
-
/**
|
|
29
|
-
* Optional CSS class name
|
|
30
|
-
*/
|
|
16
|
+
/** Optional CSS class name */
|
|
31
17
|
className?: string;
|
|
32
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* DOS-styled Alert with CRT phosphor enter/exit animations.
|
|
21
|
+
* Uses useAnimatedDismiss for smooth phosphor fade-out on close.
|
|
22
|
+
*/
|
|
33
23
|
export declare const Alert: React.FC<AlertProps>;
|
|
@@ -1,39 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './Badge.css';
|
|
3
3
|
export interface BadgeProps {
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* The size of the badge
|
|
10
|
-
*/
|
|
11
|
-
size?: 'small' | 'medium';
|
|
12
|
-
/**
|
|
13
|
-
* Show a dot indicator before the text
|
|
14
|
-
*/
|
|
4
|
+
/** The variant determines the badge's color scheme */
|
|
5
|
+
variant?: 'default' | 'success' | 'warning' | 'error' | 'info' | 'accent' | 'brand' | 'gray' | 'blue' | 'indigo' | 'purple' | 'pink' | 'orange';
|
|
6
|
+
/** The size of the badge */
|
|
7
|
+
size?: 'sm' | 'md' | 'lg' | 'small' | 'medium';
|
|
8
|
+
/** Show a dot indicator before the text */
|
|
15
9
|
dot?: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Badge content
|
|
18
|
-
*/
|
|
10
|
+
/** Badge content */
|
|
19
11
|
children: React.ReactNode;
|
|
20
|
-
/**
|
|
21
|
-
* Optional CSS class name
|
|
22
|
-
*/
|
|
12
|
+
/** Optional CSS class name */
|
|
23
13
|
className?: string;
|
|
24
|
-
/**
|
|
25
|
-
* Optional aria-label for accessibility
|
|
26
|
-
*/
|
|
14
|
+
/** Optional aria-label for accessibility */
|
|
27
15
|
'aria-label'?: string;
|
|
28
16
|
}
|
|
29
17
|
/**
|
|
30
|
-
* DOS-styled Badge
|
|
31
|
-
*
|
|
32
|
-
* Features:
|
|
33
|
-
* - Multiple color variants (default, success, warning, error, info, accent)
|
|
34
|
-
* - Two sizes (small, medium)
|
|
35
|
-
* - Optional dot indicator
|
|
36
|
-
* - DOS-authentic styling with CGA colors
|
|
37
|
-
* - WCAG 2.1 AA compliant
|
|
18
|
+
* DOS-styled Badge for status indicators, labels, and counts.
|
|
19
|
+
* Pure presentational — no React Aria needed.
|
|
38
20
|
*/
|
|
39
21
|
export declare const Badge: React.FC<BadgeProps>;
|
|
@@ -1,55 +1,33 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './Breadcrumb.css';
|
|
3
3
|
export interface BreadcrumbItem {
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
href: string;
|
|
8
|
-
/**
|
|
9
|
-
* Display label for the breadcrumb
|
|
10
|
-
*/
|
|
4
|
+
/** URL/path for the breadcrumb link */
|
|
5
|
+
href?: string;
|
|
6
|
+
/** Display label for the breadcrumb */
|
|
11
7
|
label: string;
|
|
8
|
+
/** Click handler — when provided, renders as a button instead of a link */
|
|
9
|
+
onClick?: () => void;
|
|
12
10
|
}
|
|
13
11
|
export interface BreadcrumbProps {
|
|
14
|
-
/**
|
|
15
|
-
* Array of breadcrumb items forming the trail
|
|
16
|
-
*/
|
|
12
|
+
/** Array of breadcrumb items forming the trail */
|
|
17
13
|
trail?: BreadcrumbItem[];
|
|
18
|
-
/**
|
|
19
|
-
* Current page label (not a link)
|
|
20
|
-
*/
|
|
14
|
+
/** Current page label (not a link) */
|
|
21
15
|
currentLabel: string;
|
|
22
|
-
/**
|
|
23
|
-
* Show back arrow on the last trail item
|
|
24
|
-
*/
|
|
16
|
+
/** Show back arrow on the last trail item */
|
|
25
17
|
showBackArrow?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Custom separator character
|
|
28
|
-
*/
|
|
18
|
+
/** Custom separator character */
|
|
29
19
|
separator?: string;
|
|
30
|
-
/**
|
|
31
|
-
* Custom link component (e.g., Next.js Link)
|
|
32
|
-
* If not provided, uses regular anchor tags
|
|
33
|
-
*/
|
|
20
|
+
/** Custom link component (e.g., Next.js Link) */
|
|
34
21
|
linkComponent?: React.ComponentType<{
|
|
35
22
|
href: string;
|
|
36
23
|
className?: string;
|
|
37
24
|
children: React.ReactNode;
|
|
38
25
|
}>;
|
|
39
|
-
/**
|
|
40
|
-
* Additional CSS class name
|
|
41
|
-
*/
|
|
26
|
+
/** Additional CSS class name */
|
|
42
27
|
className?: string;
|
|
43
28
|
}
|
|
44
29
|
/**
|
|
45
|
-
* DOS-styled Breadcrumb navigation component
|
|
46
|
-
*
|
|
47
|
-
* Features:
|
|
48
|
-
* - Configurable trail items
|
|
49
|
-
* - Optional back arrow on last trail item
|
|
50
|
-
* - Custom separator support
|
|
51
|
-
* - Framework-agnostic (works with any router)
|
|
52
|
-
* - WCAG 2.1 AA compliant
|
|
53
|
-
* - DOS-authentic styling with CGA colors
|
|
30
|
+
* DOS-styled Breadcrumb navigation component.
|
|
31
|
+
* Pure presentational — uses semantic HTML (nav > ol > li).
|
|
54
32
|
*/
|
|
55
33
|
export declare const Breadcrumb: React.FC<BreadcrumbProps>;
|
|
@@ -2,56 +2,16 @@ import React from 'react';
|
|
|
2
2
|
import '../../../styles/keyframes.css';
|
|
3
3
|
import './Button.css';
|
|
4
4
|
export interface ButtonProps {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
variant?: 'primary' | 'secondary' | 'ghost' | 'link';
|
|
9
|
-
/**
|
|
10
|
-
* The size of the button
|
|
11
|
-
*/
|
|
12
|
-
size?: 'small' | 'medium' | 'large';
|
|
13
|
-
/**
|
|
14
|
-
* The button type
|
|
15
|
-
*/
|
|
5
|
+
variant?: 'primary' | 'secondary' | 'tertiary' | 'destructive' | 'ghost' | 'link';
|
|
6
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'small' | 'medium' | 'large';
|
|
16
7
|
type?: 'button' | 'submit' | 'reset';
|
|
17
|
-
/**
|
|
18
|
-
* Whether the button is disabled
|
|
19
|
-
*/
|
|
20
8
|
disabled?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Whether the button is in a loading state
|
|
23
|
-
*/
|
|
24
9
|
loading?: boolean;
|
|
25
|
-
/**
|
|
26
|
-
* Button content
|
|
27
|
-
*/
|
|
28
10
|
children: React.ReactNode;
|
|
29
|
-
/**
|
|
30
|
-
* Optional click handler
|
|
31
|
-
*/
|
|
32
11
|
onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
33
|
-
/**
|
|
34
|
-
* Optional CSS class name
|
|
35
|
-
*/
|
|
36
12
|
className?: string;
|
|
37
|
-
/**
|
|
38
|
-
* Optional aria-label for accessibility
|
|
39
|
-
*/
|
|
40
13
|
'aria-label'?: string;
|
|
41
|
-
/**
|
|
42
|
-
* Full width button
|
|
43
|
-
*/
|
|
44
14
|
fullWidth?: boolean;
|
|
15
|
+
iconOnly?: boolean;
|
|
45
16
|
}
|
|
46
|
-
/**
|
|
47
|
-
* DOS-styled Button component with authentic terminal aesthetics
|
|
48
|
-
*
|
|
49
|
-
* Features:
|
|
50
|
-
* - Multiple variants (primary, secondary, ghost, link)
|
|
51
|
-
* - Three sizes (small, medium, large)
|
|
52
|
-
* - Loading and disabled states
|
|
53
|
-
* - Full TypeScript support
|
|
54
|
-
* - WCAG 2.1 AA compliant
|
|
55
|
-
* - DOS-authentic styling with CGA colors
|
|
56
|
-
*/
|
|
57
17
|
export declare const Button: React.FC<ButtonProps>;
|
|
@@ -2,41 +2,31 @@ import React from 'react';
|
|
|
2
2
|
import '../../../styles/keyframes.css';
|
|
3
3
|
import './Checkbox.css';
|
|
4
4
|
export interface CheckboxProps {
|
|
5
|
-
/**
|
|
6
|
-
* Whether the checkbox is checked
|
|
7
|
-
*/
|
|
5
|
+
/** Whether the checkbox is checked (controlled) */
|
|
8
6
|
checked?: boolean;
|
|
9
|
-
/**
|
|
10
|
-
* Default checked state for uncontrolled usage
|
|
11
|
-
*/
|
|
7
|
+
/** Default checked state (uncontrolled) */
|
|
12
8
|
defaultChecked?: boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Callback when checked state changes
|
|
15
|
-
*/
|
|
9
|
+
/** Callback when checked state changes */
|
|
16
10
|
onChange?: (checked: boolean) => void;
|
|
17
|
-
/**
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
/** Indeterminate state */
|
|
12
|
+
indeterminate?: boolean;
|
|
13
|
+
/** Label text */
|
|
20
14
|
label?: string;
|
|
21
|
-
/**
|
|
22
|
-
* Whether the checkbox is disabled
|
|
23
|
-
*/
|
|
15
|
+
/** Whether the checkbox is disabled */
|
|
24
16
|
disabled?: boolean;
|
|
25
|
-
/**
|
|
26
|
-
|
|
27
|
-
|
|
17
|
+
/** Size variant */
|
|
18
|
+
size?: 'sm' | 'md';
|
|
19
|
+
/** Name attribute for form submission */
|
|
28
20
|
name?: string;
|
|
29
|
-
/**
|
|
30
|
-
* Value attribute for form submission
|
|
31
|
-
*/
|
|
21
|
+
/** Value attribute for form submission */
|
|
32
22
|
value?: string;
|
|
33
|
-
/**
|
|
34
|
-
* Additional CSS class name
|
|
35
|
-
*/
|
|
23
|
+
/** Additional CSS class name */
|
|
36
24
|
className?: string;
|
|
37
|
-
/**
|
|
38
|
-
* Accessible label for screen readers
|
|
39
|
-
*/
|
|
25
|
+
/** Accessible label for screen readers */
|
|
40
26
|
'aria-label'?: string;
|
|
41
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* DOS-styled Checkbox with bracket text indicator [ ] / [X].
|
|
30
|
+
* Built on React Aria for accessible keyboard/focus handling.
|
|
31
|
+
*/
|
|
42
32
|
export declare const Checkbox: React.FC<CheckboxProps>;
|
|
@@ -29,7 +29,7 @@ export interface FilterBarProps {
|
|
|
29
29
|
/** Label for the "All" toggle. Default: 'All' */
|
|
30
30
|
allLabel?: string;
|
|
31
31
|
/** The size of the filter bar */
|
|
32
|
-
size?: 'small' | 'medium' | 'large';
|
|
32
|
+
size?: 'sm' | 'md' | 'lg' | 'small' | 'medium' | 'large';
|
|
33
33
|
/**
|
|
34
34
|
* Callback when selection changes.
|
|
35
35
|
* Receives the new set of active IDs.
|
|
@@ -41,17 +41,7 @@ export interface FilterBarProps {
|
|
|
41
41
|
'aria-label'?: string;
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
|
-
* DOS-styled FilterBar
|
|
45
|
-
*
|
|
46
|
-
* Features:
|
|
47
|
-
* - Multi-select (default) or single-select mode
|
|
48
|
-
* - Optional count badges on each filter item
|
|
49
|
-
* - Optional "All" toggle that selects/deselects everything
|
|
50
|
-
* - Full keyboard navigation (Arrow keys, Space, Enter, Home, End)
|
|
51
|
-
* - Controlled and uncontrolled modes
|
|
52
|
-
* - DOS-authentic styling with CGA colors
|
|
53
|
-
* - WCAG 2.1 AA compliant
|
|
54
|
-
* - prefers-reduced-motion support
|
|
55
|
-
* - prefers-contrast: high support
|
|
44
|
+
* DOS-styled FilterBar for multi-select or single-select content filtering.
|
|
45
|
+
* Pure presentational — uses CSS transitions for phosphor effects.
|
|
56
46
|
*/
|
|
57
47
|
export declare const FilterBar: React.FC<FilterBarProps>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import '../../Separator/components/Separator.css';
|
|
3
2
|
import './Footer.css';
|
|
4
3
|
export interface FooterLink {
|
|
5
4
|
/** Display text for the link */
|
|
@@ -23,9 +22,6 @@ export interface FooterProps {
|
|
|
23
22
|
export declare const defaultLegalLinks: FooterLink[];
|
|
24
23
|
/**
|
|
25
24
|
* DOS-themed footer with copyright and configurable legal/nav links.
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* When no `links` are provided, renders default legal links (Impressum + Datenschutz)
|
|
29
|
-
* for German compliance. Pass an empty array to explicitly show no links.
|
|
25
|
+
* Pure presentational — uses middle-dot separators for terminal aesthetic.
|
|
30
26
|
*/
|
|
31
27
|
export declare const Footer: React.FC<FooterProps & React.HTMLAttributes<HTMLElement>>;
|
|
@@ -1,22 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './Input.css';
|
|
3
3
|
export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
4
|
-
/**
|
|
5
|
-
* Visual variant for validation states
|
|
6
|
-
*/
|
|
4
|
+
/** Visual variant for validation states */
|
|
7
5
|
variant?: 'default' | 'error';
|
|
8
|
-
/**
|
|
9
|
-
* Optional class name
|
|
10
|
-
*/
|
|
6
|
+
/** Optional class name */
|
|
11
7
|
className?: string;
|
|
12
8
|
}
|
|
13
9
|
/**
|
|
14
|
-
* DOS-styled Input
|
|
15
|
-
*
|
|
16
|
-
* Features:
|
|
17
|
-
* - Extends native HTML input attributes
|
|
18
|
-
* - Error variant for validation states
|
|
19
|
-
* - DOS-authentic styling with CGA colors
|
|
20
|
-
* - WCAG 2.1 AA compliant focus states
|
|
10
|
+
* DOS-styled Input with phosphor focus glow.
|
|
11
|
+
* Pure presentational — extends native HTML input.
|
|
21
12
|
*/
|
|
22
13
|
export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -1,58 +1,35 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './Progress.css';
|
|
3
3
|
export interface ProgressProps {
|
|
4
|
-
/**
|
|
5
|
-
* Progress value from 0 to max
|
|
6
|
-
*/
|
|
4
|
+
/** Progress value from 0 to max */
|
|
7
5
|
value?: number;
|
|
8
|
-
/**
|
|
9
|
-
* Maximum value (default 100)
|
|
10
|
-
*/
|
|
6
|
+
/** Maximum value (default 100) */
|
|
11
7
|
max?: number;
|
|
12
|
-
/**
|
|
13
|
-
* Whether progress amount is unknown
|
|
14
|
-
*/
|
|
8
|
+
/** Whether progress amount is unknown */
|
|
15
9
|
indeterminate?: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Visual variant
|
|
18
|
-
*/
|
|
10
|
+
/** Visual variant */
|
|
19
11
|
variant?: 'default' | 'success' | 'warning' | 'error';
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
size?: 'small' | 'medium' | 'large';
|
|
24
|
-
/**
|
|
25
|
-
* Track display style
|
|
26
|
-
*/
|
|
12
|
+
/** Size of the progress bar */
|
|
13
|
+
size?: 'sm' | 'md' | 'lg' | 'small' | 'medium' | 'large';
|
|
14
|
+
/** Track display style */
|
|
27
15
|
trackStyle?: 'block' | 'bordered' | 'gradient';
|
|
28
|
-
/**
|
|
29
|
-
* Number of character cells for the bar width (default 20)
|
|
30
|
-
*/
|
|
16
|
+
/** Number of character cells for the bar width (default 20) */
|
|
31
17
|
blocks?: number;
|
|
32
|
-
/**
|
|
33
|
-
* Show percentage label
|
|
34
|
-
*/
|
|
18
|
+
/** Show percentage label */
|
|
35
19
|
showLabel?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Enable phosphor glow on filled blocks
|
|
38
|
-
*/
|
|
20
|
+
/** Enable phosphor glow on filled blocks */
|
|
39
21
|
glow?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Human-readable value text for screen readers
|
|
42
|
-
*/
|
|
22
|
+
/** Human-readable value text for screen readers */
|
|
43
23
|
valueText?: string;
|
|
44
|
-
/**
|
|
45
|
-
* Fill available container width instead of sizing by block count.
|
|
46
|
-
* The label stays adjacent to the bar.
|
|
47
|
-
*/
|
|
24
|
+
/** Fill available container width instead of sizing by block count */
|
|
48
25
|
fullWidth?: boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Additional CSS class name
|
|
51
|
-
*/
|
|
26
|
+
/** Additional CSS class name */
|
|
52
27
|
className?: string;
|
|
53
|
-
/**
|
|
54
|
-
* Accessible label for screen readers
|
|
55
|
-
*/
|
|
28
|
+
/** Accessible label for screen readers */
|
|
56
29
|
'aria-label'?: string;
|
|
57
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* DOS-styled Progress bar with block characters, phosphor glow, and track styles.
|
|
33
|
+
* Pure presentational — no React Aria needed.
|
|
34
|
+
*/
|
|
58
35
|
export declare const Progress: React.FC<ProgressProps>;
|
|
@@ -1,22 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './Separator.css';
|
|
3
3
|
export interface SeparatorProps {
|
|
4
|
-
/**
|
|
5
|
-
* Orientation of the separator line
|
|
6
|
-
*/
|
|
4
|
+
/** Orientation of the separator line */
|
|
7
5
|
orientation?: 'horizontal' | 'vertical';
|
|
8
|
-
/**
|
|
9
|
-
* Additional CSS class name
|
|
10
|
-
*/
|
|
6
|
+
/** Additional CSS class name */
|
|
11
7
|
className?: string;
|
|
12
8
|
}
|
|
13
9
|
/**
|
|
14
|
-
* DOS-styled Separator component for visual division of content
|
|
15
|
-
*
|
|
16
|
-
* Features:
|
|
17
|
-
* - Horizontal and vertical orientations
|
|
18
|
-
* - Uses semantic border color from design tokens
|
|
19
|
-
* - Decorative role (aria-hidden)
|
|
20
|
-
* - High contrast mode support
|
|
10
|
+
* DOS-styled Separator component for visual division of content.
|
|
11
|
+
* Pure presentational — no React Aria needed.
|
|
21
12
|
*/
|
|
22
13
|
export declare const Separator: React.FC<SeparatorProps>;
|
|
@@ -1,43 +1,23 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './Stat.css';
|
|
3
3
|
export interface StatProps {
|
|
4
|
-
/**
|
|
5
|
-
* The label describing the metric
|
|
6
|
-
*/
|
|
4
|
+
/** The label describing the metric */
|
|
7
5
|
label: string;
|
|
8
|
-
/**
|
|
9
|
-
* The metric value to display
|
|
10
|
-
*/
|
|
6
|
+
/** The metric value to display */
|
|
11
7
|
value: string | number;
|
|
12
|
-
/**
|
|
13
|
-
* Optional trend direction
|
|
14
|
-
*/
|
|
8
|
+
/** Optional trend direction */
|
|
15
9
|
trend?: 'up' | 'down' | 'neutral';
|
|
16
|
-
/**
|
|
17
|
-
* Optional trend value (e.g., "+5%", "-12")
|
|
18
|
-
*/
|
|
10
|
+
/** Optional trend value (e.g., "+5%", "-12") */
|
|
19
11
|
trendValue?: string;
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
size?: 'small' | 'medium' | 'large';
|
|
24
|
-
/**
|
|
25
|
-
* Whether to animate value changes with a text scramble effect
|
|
26
|
-
*/
|
|
12
|
+
/** Size variant */
|
|
13
|
+
size?: 'sm' | 'md' | 'lg' | 'small' | 'medium' | 'large';
|
|
14
|
+
/** Whether to animate value changes with a text scramble effect */
|
|
27
15
|
scramble?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Optional CSS class name
|
|
30
|
-
*/
|
|
16
|
+
/** Optional CSS class name */
|
|
31
17
|
className?: string;
|
|
32
18
|
}
|
|
33
19
|
/**
|
|
34
|
-
* DOS-styled Stat component for displaying metrics with optional trends
|
|
35
|
-
*
|
|
36
|
-
* Features:
|
|
37
|
-
* - Label and value display
|
|
38
|
-
* - Optional trend indicator (up/down/neutral)
|
|
39
|
-
* - Three sizes (small, medium, large)
|
|
40
|
-
* - DOS-authentic styling with CGA colors
|
|
41
|
-
* - WCAG 2.1 AA compliant
|
|
20
|
+
* DOS-styled Stat component for displaying metrics with optional trends.
|
|
21
|
+
* Pure presentational — no React Aria needed.
|
|
42
22
|
*/
|
|
43
23
|
export declare const Stat: React.FC<StatProps>;
|