cyberui-2045 1.3.3 → 1.4.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/AGENT.md CHANGED
@@ -39,6 +39,12 @@ import "cyberui-2045/styles.css";
39
39
  | `Skeleton` | Loading placeholder. |
40
40
  | `Image` | Image with cyberpunk frame/effects. |
41
41
  | `Carousel` | Image carousel. |
42
+ | `Checkbox` | Neon-styled checkbox with SVG icons. |
43
+ | `Divider` | Gradient/solid/dashed content separator. |
44
+ | `GradientText` | Text with cyberpunk gradient effects. |
45
+ | `SectionTitle` | Title with decorative gradient line. |
46
+ | `Steps` | Multi-step progress indicator. |
47
+ | `Timeline` | Vertical event history display. |
42
48
 
43
49
  ## 4. Usage Patterns (Few-Shot)
44
50
 
@@ -0,0 +1,48 @@
1
+ import { default as React } from 'react';
2
+ import { ResponsiveValue } from '../utils/responsive';
3
+ /**
4
+ * A cyberpunk-styled checkbox with neon glow effects.
5
+ *
6
+ * Features a custom SVG checkbox with a cut corner design, matching the cyberpunk aesthetic.
7
+ * Supports both controlled and uncontrolled modes.
8
+ *
9
+ * @example
10
+ * // Basic checkbox
11
+ * <Checkbox label="Accept terms" />
12
+ *
13
+ * @example
14
+ * // Controlled checkbox
15
+ * <Checkbox
16
+ * label="Enable notifications"
17
+ * checked={isEnabled}
18
+ * onChange={(e) => setIsEnabled(e.target.checked)}
19
+ * />
20
+ *
21
+ * @example
22
+ * // With error message
23
+ * <Checkbox
24
+ * label="Required field"
25
+ * error="This field is required"
26
+ * />
27
+ */
28
+ export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
29
+ /**
30
+ * Label text displayed next to the checkbox.
31
+ */
32
+ label?: string;
33
+ /**
34
+ * Error message to display below the checkbox.
35
+ */
36
+ error?: string;
37
+ /**
38
+ * Size of the checkbox. Supports responsive values.
39
+ * @default 'md'
40
+ */
41
+ size?: ResponsiveValue<'sm' | 'md' | 'lg'>;
42
+ /**
43
+ * Additional CSS classes.
44
+ */
45
+ className?: string;
46
+ }
47
+ declare const Checkbox: React.FC<CheckboxProps>;
48
+ export default Checkbox;
@@ -0,0 +1,43 @@
1
+ import { default as React } from 'react';
2
+ /**
3
+ * A decorative divider with cyberpunk styling.
4
+ *
5
+ * Supports multiple visual variants and both horizontal and vertical orientations.
6
+ *
7
+ * @example
8
+ * // Gradient divider (default)
9
+ * <Divider />
10
+ *
11
+ * @example
12
+ * // Solid divider
13
+ * <Divider variant="solid" />
14
+ *
15
+ * @example
16
+ * // Dashed divider
17
+ * <Divider variant="dashed" />
18
+ *
19
+ * @example
20
+ * // Vertical divider
21
+ * <Divider orientation="vertical" className="h-8" />
22
+ */
23
+ export interface DividerProps {
24
+ /**
25
+ * Visual style of the divider.
26
+ * - `gradient`: Gradient fade from center (default).
27
+ * - `solid`: Solid semi-transparent line.
28
+ * - `dashed`: Dashed border style.
29
+ * @default 'gradient'
30
+ */
31
+ variant?: 'gradient' | 'solid' | 'dashed';
32
+ /**
33
+ * Orientation of the divider.
34
+ * @default 'horizontal'
35
+ */
36
+ orientation?: 'horizontal' | 'vertical';
37
+ /**
38
+ * Additional CSS classes.
39
+ */
40
+ className?: string;
41
+ }
42
+ declare const Divider: React.FC<DividerProps>;
43
+ export default Divider;
@@ -0,0 +1,47 @@
1
+ import { default as React } from 'react';
2
+ /**
3
+ * A component for rendering text with a neon gradient effect.
4
+ *
5
+ * @example
6
+ * // Default cyan-purple gradient
7
+ * <GradientText as="h1" className="text-4xl font-bold">
8
+ * CyberUI 2045
9
+ * </GradientText>
10
+ *
11
+ * @example
12
+ * // Secondary pink-purple gradient
13
+ * <GradientText variant="secondary">
14
+ * System Critical
15
+ * </GradientText>
16
+ *
17
+ * @example
18
+ * // Accent gradient for warnings
19
+ * <GradientText variant="accent" as="p">
20
+ * Warning Level
21
+ * </GradientText>
22
+ */
23
+ export interface GradientTextProps {
24
+ /**
25
+ * The text content to render.
26
+ */
27
+ children: React.ReactNode;
28
+ /**
29
+ * Visual style of the gradient.
30
+ * - `primary`: Cyan to pink gradient (secondary → primary).
31
+ * - `secondary`: Pink to yellow gradient (primary → accent).
32
+ * - `accent`: Yellow to cyan gradient (accent → secondary).
33
+ * @default 'primary'
34
+ */
35
+ variant?: 'primary' | 'secondary' | 'accent';
36
+ /**
37
+ * The HTML element to render as.
38
+ * @default 'span'
39
+ */
40
+ as?: 'span' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'div';
41
+ /**
42
+ * Additional CSS classes.
43
+ */
44
+ className?: string;
45
+ }
46
+ declare const GradientText: React.FC<GradientTextProps>;
47
+ export default GradientText;
@@ -0,0 +1,41 @@
1
+ import { default as React } from 'react';
2
+ import { ResponsiveValue } from '../utils/responsive';
3
+ /**
4
+ * A standardized section title with cyberpunk styling.
5
+ *
6
+ * Features uppercase text, wide letter spacing, and an optional decorative gradient line.
7
+ *
8
+ * @example
9
+ * // Standard title with gradient line
10
+ * <SectionTitle>System Status</SectionTitle>
11
+ *
12
+ * @example
13
+ * // Title without decorative line
14
+ * <SectionTitle showLine={false}>Heading Only</SectionTitle>
15
+ *
16
+ * @example
17
+ * // With custom styling
18
+ * <SectionTitle className="mb-8">Custom Spacing</SectionTitle>
19
+ */
20
+ export interface SectionTitleProps {
21
+ /**
22
+ * The title text content.
23
+ */
24
+ children: React.ReactNode;
25
+ /**
26
+ * Whether to show a decorative gradient line after the title.
27
+ * @default true
28
+ */
29
+ showLine?: boolean;
30
+ /**
31
+ * Size of the section title. Supports responsive values.
32
+ * @default 'md'
33
+ */
34
+ size?: ResponsiveValue<'sm' | 'md' | 'lg'>;
35
+ /**
36
+ * Additional CSS classes.
37
+ */
38
+ className?: string;
39
+ }
40
+ declare const SectionTitle: React.FC<SectionTitleProps>;
41
+ export default SectionTitle;
@@ -0,0 +1,75 @@
1
+ import { default as React } from 'react';
2
+ import { ResponsiveValue } from '../utils/responsive';
3
+ /**
4
+ * Individual step item data.
5
+ */
6
+ export interface StepItem {
7
+ /**
8
+ * Step title.
9
+ */
10
+ title: string;
11
+ /**
12
+ * Optional step description.
13
+ */
14
+ description?: string;
15
+ /**
16
+ * Step status for explicit control. If not provided, status is derived from `current` prop.
17
+ */
18
+ status?: 'pending' | 'current' | 'completed' | 'error';
19
+ }
20
+ /**
21
+ * A horizontal stepper component for multi-step processes.
22
+ *
23
+ * Styled with half-diamond indicators for current step, gradient underlines for completed steps,
24
+ * and animated chevron separators.
25
+ *
26
+ * @example
27
+ * // Basic steps with current index
28
+ * <Steps
29
+ * current={1}
30
+ * items={[
31
+ * { title: "Login" },
32
+ * { title: "Verify" },
33
+ * { title: "Complete" }
34
+ * ]}
35
+ * />
36
+ *
37
+ * @example
38
+ * // With descriptions and explicit status
39
+ * <Steps
40
+ * items={[
41
+ * { title: "Login", description: "Enter credentials", status: "completed" },
42
+ * { title: "Verify", description: "2FA authentication", status: "current" },
43
+ * { title: "Complete", description: "Access granted", status: "pending" }
44
+ * ]}
45
+ * />
46
+ *
47
+ * @example
48
+ * // Responsive orientation (vertical on mobile, horizontal on desktop)
49
+ * <Steps
50
+ * orientation={{ base: 'vertical', md: 'horizontal' }}
51
+ * items={[...]}
52
+ * />
53
+ */
54
+ export interface StepsProps {
55
+ /**
56
+ * Array of step items to display.
57
+ */
58
+ items: StepItem[];
59
+ /**
60
+ * Current active step index (0-based). Used to derive status when individual step status is not set.
61
+ * @default 0
62
+ */
63
+ current?: number;
64
+ /**
65
+ * Layout orientation. Supports responsive values.
66
+ * @default { base: 'vertical', md: 'horizontal' }
67
+ */
68
+ orientation?: ResponsiveValue<'horizontal' | 'vertical'>;
69
+ /**
70
+ * Additional CSS classes.
71
+ */
72
+ className?: string;
73
+ }
74
+ declare const Steps: React.FC<StepsProps>;
75
+ export default Steps;
@@ -0,0 +1,70 @@
1
+ import { default as React } from 'react';
2
+ import { ResponsiveValue } from '../utils/responsive';
3
+ /**
4
+ * Individual timeline event data.
5
+ */
6
+ export interface TimelineEvent {
7
+ /**
8
+ * Event title.
9
+ */
10
+ title: string;
11
+ /**
12
+ * Optional event description.
13
+ */
14
+ description?: string;
15
+ /**
16
+ * Event timestamp display string.
17
+ */
18
+ time: string;
19
+ /**
20
+ * Event status/type for visual styling.
21
+ * @default 'info'
22
+ */
23
+ status?: 'success' | 'error' | 'warning' | 'info';
24
+ }
25
+ /**
26
+ * A vertical timeline component for displaying activity feeds or event logs.
27
+ *
28
+ * Features diamond-shaped status indicators with neon glow effects.
29
+ *
30
+ * @example
31
+ * // Basic timeline
32
+ * <Timeline events={[
33
+ * {
34
+ * title: "System Initialized",
35
+ * description: "All modules loaded successfully",
36
+ * time: "2 min ago",
37
+ * status: "success"
38
+ * },
39
+ * {
40
+ * title: "Warning Detected",
41
+ * time: "5 min ago",
42
+ * status: "warning"
43
+ * }
44
+ * ]} />
45
+ *
46
+ * @example
47
+ * // Mixed status events
48
+ * <Timeline events={[
49
+ * { title: "Connected", time: "Now", status: "success" },
50
+ * { title: "High Memory", time: "1m ago", status: "warning" },
51
+ * { title: "Connection Lost", time: "5m ago", status: "error" }
52
+ * ]} />
53
+ */
54
+ export interface TimelineProps {
55
+ /**
56
+ * Array of timeline events to display.
57
+ */
58
+ events: TimelineEvent[];
59
+ /**
60
+ * Size of the timeline. Supports responsive values.
61
+ * @default 'md'
62
+ */
63
+ size?: ResponsiveValue<'sm' | 'md' | 'lg'>;
64
+ /**
65
+ * Additional CSS classes.
66
+ */
67
+ className?: string;
68
+ }
69
+ declare const Timeline: React.FC<TimelineProps>;
70
+ export default Timeline;
@@ -1,7 +1,3 @@
1
- export { default as HomeTab } from './tabs/HomeTab';
2
- export { default as InteractiveTab } from './tabs/InteractiveTab';
3
- export { default as ElementsTab } from './tabs/ElementsTab';
4
- export { default as FeedbackTab } from './tabs/FeedbackTab';
5
1
  export { default as TabNavigation } from './TabNavigation';
6
2
  export { default as CircularProgress } from './CircularProgress';
7
3
  export { default as SegmentedProgress } from './SegmentedProgress';
@@ -17,6 +13,12 @@ export { default as Skeleton } from './Skeleton';
17
13
  export { default as Image } from './Image';
18
14
  export { default as Carousel } from './Carousel';
19
15
  export { default as Modal } from './Modal';
16
+ export { default as GradientText } from './GradientText';
17
+ export { default as SectionTitle } from './SectionTitle';
18
+ export { default as Timeline } from './Timeline';
19
+ export { default as Steps } from './Steps';
20
+ export { default as Divider } from './Divider';
21
+ export { default as Checkbox } from './Checkbox';
20
22
  export type { CircularProgressProps } from './CircularProgress';
21
23
  export type { NotificationProps } from './Notification';
22
24
  export type { SegmentedProgressProps } from './SegmentedProgress';
@@ -32,6 +34,12 @@ export type { SkeletonProps } from './Skeleton';
32
34
  export type { ImageProps } from './Image';
33
35
  export type { CarouselProps, CarouselImageData } from './Carousel';
34
36
  export type { ModalProps, ModalAnimationConfig, ModalCallbacks } from './Modal';
37
+ export type { GradientTextProps } from './GradientText';
38
+ export type { SectionTitleProps } from './SectionTitle';
39
+ export type { TimelineProps, TimelineEvent } from './Timeline';
40
+ export type { StepsProps, StepItem } from './Steps';
41
+ export type { DividerProps } from './Divider';
42
+ export type { CheckboxProps } from './Checkbox';
35
43
  export type { ResponsiveValue, Breakpoint } from '../utils/responsive';
36
44
  export { getResponsiveClasses, combineResponsiveClasses, RESPONSIVE_SIZE_MAPS } from '../utils/responsive';
37
45
  export { useCyberScrollbar } from '../hooks/useCyberScrollbar';