@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.9 â 0.2.10
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/CHANGELOG.md +1 -1
- package/dist/components/ui/accessibility-demo.esm.js +30 -24
- package/dist/components/ui/accessibility-demo.js +30 -24
- package/dist/components/ui/advanced-component-architecture-demo.esm.js +235 -179
- package/dist/components/ui/advanced-component-architecture-demo.js +235 -179
- package/dist/components/ui/advanced-transition-system-demo.esm.js +110 -64
- package/dist/components/ui/advanced-transition-system-demo.js +110 -64
- package/dist/components/ui/advanced-transition-system.esm.js +166 -122
- package/dist/components/ui/advanced-transition-system.js +166 -122
- package/dist/components/ui/animation/animated-container.esm.js +52 -29
- package/dist/components/ui/animation/animated-container.js +52 -29
- package/dist/components/ui/animation/staggered-container.esm.js +18 -9
- package/dist/components/ui/animation/staggered-container.js +18 -9
- package/dist/components/ui/animation-demo.esm.js +67 -35
- package/dist/components/ui/animation-demo.js +67 -35
- package/dist/components/ui/badge.esm.js +9 -6
- package/dist/components/ui/badge.js +9 -6
- package/dist/components/ui/battery-conscious-animation-demo.esm.js +122 -87
- package/dist/components/ui/battery-conscious-animation-demo.js +122 -87
- package/dist/components/ui/border-radius-shadow-demo.esm.js +23 -12
- package/dist/components/ui/border-radius-shadow-demo.js +23 -12
- package/dist/components/ui/button.esm.js +8 -2
- package/dist/components/ui/button.js +8 -2
- package/dist/components/ui/card.esm.js +33 -8
- package/dist/components/ui/card.js +33 -8
- package/dist/components/ui/checkbox.esm.js +3 -3
- package/dist/components/ui/checkbox.js +3 -3
- package/dist/components/ui/color-preview.esm.js +68 -45
- package/dist/components/ui/color-preview.js +68 -45
- package/dist/components/ui/data-display/chart.esm.js +112 -84
- package/dist/components/ui/data-display/chart.js +112 -84
- package/dist/components/ui/data-display/data-grid-simple.esm.js +1 -1
- package/dist/components/ui/data-display/data-grid-simple.js +1 -1
- package/dist/components/ui/data-display/data-grid.esm.js +80 -67
- package/dist/components/ui/data-display/data-grid.js +80 -67
- package/dist/components/ui/data-display/list.esm.js +53 -45
- package/dist/components/ui/data-display/list.js +53 -45
- package/dist/components/ui/data-display/table.esm.js +62 -54
- package/dist/components/ui/data-display/table.js +62 -54
- package/dist/components/ui/data-display/timeline.esm.js +39 -34
- package/dist/components/ui/data-display/timeline.js +39 -34
- package/dist/components/ui/data-display/tree.esm.js +116 -84
- package/dist/components/ui/data-display/tree.js +116 -84
- package/dist/components/ui/data-display/types.esm.js +389 -364
- package/dist/components/ui/data-display/types.js +389 -364
- package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +120 -70
- package/dist/components/ui/enterprise-mobile-experience-demo.js +120 -70
- package/dist/components/ui/enterprise-mobile-experience.esm.js +124 -73
- package/dist/components/ui/enterprise-mobile-experience.js +124 -73
- package/dist/components/ui/feedback/alert.esm.js +22 -15
- package/dist/components/ui/feedback/alert.js +22 -15
- package/dist/components/ui/feedback/progress.esm.js +47 -24
- package/dist/components/ui/feedback/progress.js +47 -24
- package/dist/components/ui/feedback/skeleton.esm.js +39 -29
- package/dist/components/ui/feedback/skeleton.js +39 -29
- package/dist/components/ui/feedback/toast.esm.js +62 -38
- package/dist/components/ui/feedback/toast.js +62 -38
- package/dist/components/ui/feedback/types.esm.js +83 -83
- package/dist/components/ui/feedback/types.js +83 -83
- package/dist/components/ui/font-preview.esm.js +41 -39
- package/dist/components/ui/font-preview.js +41 -39
- package/dist/components/ui/form-demo.esm.js +150 -113
- package/dist/components/ui/form-demo.js +150 -113
- package/dist/components/ui/hardware-acceleration-demo.esm.js +137 -87
- package/dist/components/ui/hardware-acceleration-demo.js +137 -87
- package/dist/components/ui/input.esm.js +4 -1
- package/dist/components/ui/input.js +4 -1
- package/dist/components/ui/layout-demo.esm.js +81 -56
- package/dist/components/ui/layout-demo.js +81 -56
- package/dist/components/ui/layouts/adaptive-layout.esm.js +27 -8
- package/dist/components/ui/layouts/adaptive-layout.js +27 -8
- package/dist/components/ui/layouts/desktop-layout.esm.js +39 -19
- package/dist/components/ui/layouts/desktop-layout.js +39 -19
- package/dist/components/ui/layouts/mobile-layout.esm.js +19 -9
- package/dist/components/ui/layouts/mobile-layout.js +19 -9
- package/dist/components/ui/layouts/tablet-layout.esm.js +28 -14
- package/dist/components/ui/layouts/tablet-layout.js +28 -14
- package/dist/components/ui/mobile-form-validation.esm.js +120 -87
- package/dist/components/ui/mobile-form-validation.js +120 -87
- package/dist/components/ui/mobile-input-demo.esm.js +19 -13
- package/dist/components/ui/mobile-input-demo.js +19 -13
- package/dist/components/ui/mobile-input.esm.js +185 -120
- package/dist/components/ui/mobile-input.js +185 -120
- package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +128 -111
- package/dist/components/ui/mobile-skeleton-loading-demo.js +128 -111
- package/dist/components/ui/navigation/breadcrumb.esm.js +17 -14
- package/dist/components/ui/navigation/breadcrumb.js +17 -14
- package/dist/components/ui/navigation/index.esm.js +23 -1
- package/dist/components/ui/navigation/index.js +23 -1
- package/dist/components/ui/navigation/menu.esm.js +49 -35
- package/dist/components/ui/navigation/menu.js +49 -35
- package/dist/components/ui/navigation/navigation-demo.esm.js +81 -74
- package/dist/components/ui/navigation/navigation-demo.js +81 -74
- package/dist/components/ui/navigation/pagination.esm.js +62 -50
- package/dist/components/ui/navigation/pagination.js +62 -50
- package/dist/components/ui/navigation/sidebar.esm.js +56 -42
- package/dist/components/ui/navigation/sidebar.js +56 -42
- package/dist/components/ui/navigation/stepper.esm.js +34 -23
- package/dist/components/ui/navigation/stepper.js +34 -23
- package/dist/components/ui/navigation/tabs.esm.js +32 -21
- package/dist/components/ui/navigation/tabs.js +32 -21
- package/dist/components/ui/navigation/types.esm.js +196 -195
- package/dist/components/ui/navigation/types.js +196 -195
- package/dist/components/ui/overlay/backdrop.esm.js +17 -16
- package/dist/components/ui/overlay/backdrop.js +17 -16
- package/dist/components/ui/overlay/focus-manager.esm.js +21 -19
- package/dist/components/ui/overlay/focus-manager.js +21 -19
- package/dist/components/ui/overlay/index.esm.js +22 -2
- package/dist/components/ui/overlay/index.js +22 -2
- package/dist/components/ui/overlay/modal.esm.js +38 -34
- package/dist/components/ui/overlay/modal.js +38 -34
- package/dist/components/ui/overlay/overlay-manager.esm.js +25 -20
- package/dist/components/ui/overlay/overlay-manager.js +25 -20
- package/dist/components/ui/overlay/popover.esm.js +74 -58
- package/dist/components/ui/overlay/popover.js +74 -58
- package/dist/components/ui/overlay/portal.esm.js +7 -7
- package/dist/components/ui/overlay/portal.js +7 -7
- package/dist/components/ui/overlay/tooltip.esm.js +54 -39
- package/dist/components/ui/overlay/tooltip.js +54 -39
- package/dist/components/ui/overlay/types.esm.js +132 -131
- package/dist/components/ui/overlay/types.js +132 -131
- package/dist/components/ui/performance-demo.esm.js +135 -88
- package/dist/components/ui/performance-demo.js +135 -88
- package/dist/components/ui/semantic-input-system-demo.esm.js +117 -80
- package/dist/components/ui/semantic-input-system-demo.js +117 -80
- package/dist/components/ui/theme-customizer.esm.js +84 -52
- package/dist/components/ui/theme-customizer.js +84 -52
- package/dist/components/ui/theme-preview.esm.js +95 -43
- package/dist/components/ui/theme-preview.js +95 -43
- package/dist/components/ui/theme-switcher.esm.js +70 -44
- package/dist/components/ui/theme-switcher.js +70 -44
- package/dist/components/ui/theme-toggle.esm.js +3 -3
- package/dist/components/ui/theme-toggle.js +3 -3
- package/dist/components/ui/token-demo.esm.js +33 -21
- package/dist/components/ui/token-demo.js +33 -21
- package/dist/components/ui/touch-demo.esm.js +102 -73
- package/dist/components/ui/touch-demo.js +102 -73
- package/dist/components/ui/touch-friendly-interface-demo.esm.js +102 -64
- package/dist/components/ui/touch-friendly-interface-demo.js +102 -64
- package/dist/components/ui/touch-friendly-interface.esm.js +85 -61
- package/dist/components/ui/touch-friendly-interface.js +85 -61
- package/dist/hooks/use-accessibility-support.esm.js +115 -85
- package/dist/hooks/use-accessibility-support.js +115 -85
- package/dist/hooks/use-adaptive-layout.esm.js +56 -33
- package/dist/hooks/use-adaptive-layout.js +56 -33
- package/dist/hooks/use-advanced-patterns.esm.js +57 -42
- package/dist/hooks/use-advanced-patterns.js +57 -42
- package/dist/hooks/use-advanced-transition-system.esm.js +112 -71
- package/dist/hooks/use-advanced-transition-system.js +112 -71
- package/dist/hooks/use-animation-profile.esm.js +63 -34
- package/dist/hooks/use-animation-profile.js +63 -34
- package/dist/hooks/use-battery-animations.esm.js +80 -55
- package/dist/hooks/use-battery-animations.js +80 -55
- package/dist/hooks/use-battery-conscious-loading.esm.js +166 -123
- package/dist/hooks/use-battery-conscious-loading.js +166 -123
- package/dist/hooks/use-battery-optimization.esm.js +78 -55
- package/dist/hooks/use-battery-optimization.js +78 -55
- package/dist/hooks/use-battery-status.esm.js +73 -51
- package/dist/hooks/use-battery-status.js +73 -51
- package/dist/hooks/use-component-performance.esm.js +62 -47
- package/dist/hooks/use-component-performance.js +62 -47
- package/dist/hooks/use-device-loading-states.esm.js +152 -109
- package/dist/hooks/use-device-loading-states.js +152 -109
- package/dist/hooks/use-device.esm.js +25 -14
- package/dist/hooks/use-device.js +25 -14
- package/dist/hooks/use-enterprise-mobile-experience.esm.js +137 -88
- package/dist/hooks/use-enterprise-mobile-experience.js +137 -88
- package/dist/hooks/use-form-feedback.esm.js +124 -81
- package/dist/hooks/use-form-feedback.js +124 -81
- package/dist/hooks/use-form-performance.esm.js +127 -92
- package/dist/hooks/use-form-performance.js +127 -92
- package/dist/hooks/use-frame-rate.esm.js +56 -37
- package/dist/hooks/use-frame-rate.js +56 -37
- package/dist/hooks/use-gestures.esm.js +96 -72
- package/dist/hooks/use-gestures.js +96 -72
- package/dist/hooks/use-hardware-acceleration.esm.js +65 -37
- package/dist/hooks/use-hardware-acceleration.js +65 -37
- package/dist/hooks/use-input-accessibility.esm.js +157 -119
- package/dist/hooks/use-input-accessibility.js +157 -119
- package/dist/hooks/use-input-performance.esm.js +139 -104
- package/dist/hooks/use-input-performance.js +139 -104
- package/dist/hooks/use-layout-performance.esm.js +50 -29
- package/dist/hooks/use-layout-performance.js +50 -29
- package/dist/hooks/use-loading-accessibility.esm.js +209 -169
- package/dist/hooks/use-loading-accessibility.js +209 -169
- package/dist/hooks/use-loading-performance.esm.js +117 -93
- package/dist/hooks/use-loading-performance.js +117 -93
- package/dist/hooks/use-memory-usage.esm.js +57 -38
- package/dist/hooks/use-memory-usage.js +57 -38
- package/dist/hooks/use-mobile-form-layout.esm.js +111 -74
- package/dist/hooks/use-mobile-form-layout.js +111 -74
- package/dist/hooks/use-mobile-form-validation.esm.js +211 -144
- package/dist/hooks/use-mobile-form-validation.js +211 -144
- package/dist/hooks/use-mobile-keyboard-optimization.esm.js +154 -113
- package/dist/hooks/use-mobile-keyboard-optimization.js +154 -113
- package/dist/hooks/use-mobile-layout.esm.js +73 -51
- package/dist/hooks/use-mobile-layout.js +73 -51
- package/dist/hooks/use-mobile-optimization.esm.js +72 -44
- package/dist/hooks/use-mobile-optimization.js +72 -44
- package/dist/hooks/use-mobile-skeleton.esm.js +97 -64
- package/dist/hooks/use-mobile-skeleton.js +97 -64
- package/dist/hooks/use-mobile-touch.esm.js +128 -93
- package/dist/hooks/use-mobile-touch.js +128 -93
- package/dist/hooks/use-performance-throttling.esm.js +72 -48
- package/dist/hooks/use-performance-throttling.js +72 -48
- package/dist/hooks/use-performance.esm.js +90 -52
- package/dist/hooks/use-performance.js +90 -52
- package/dist/hooks/use-reusable-architecture.esm.js +94 -65
- package/dist/hooks/use-reusable-architecture.js +94 -65
- package/dist/hooks/use-semantic-input-types.esm.js +166 -124
- package/dist/hooks/use-semantic-input-types.js +166 -124
- package/dist/hooks/use-semantic-input.esm.js +178 -126
- package/dist/hooks/use-semantic-input.js +178 -126
- package/dist/hooks/use-tablet-layout.esm.js +67 -38
- package/dist/hooks/use-tablet-layout.js +67 -38
- package/dist/hooks/use-touch-friendly-input.esm.js +193 -149
- package/dist/hooks/use-touch-friendly-input.js +193 -149
- package/dist/hooks/use-touch-friendly-interface.esm.js +99 -67
- package/dist/hooks/use-touch-friendly-interface.js +99 -67
- package/dist/hooks/use-touch-optimization.esm.js +99 -72
- package/dist/hooks/use-touch-optimization.js +99 -72
- package/dist/index.esm.js +289 -280
- package/dist/index.js +289 -280
- package/dist/lib/utils.esm.js +1 -1
- package/dist/lib/utils.js +1 -1
- package/dist/plugins/theme-css-generator.esm.js +104 -55
- package/dist/plugins/theme-css-generator.js +104 -55
- package/dist/provider.esm.js +4 -4
- package/dist/provider.js +4 -4
- package/dist/styles.css +1 -1
- package/dist/theme.esm.js +633 -468
- package/dist/theme.js +633 -468
- package/dist/themes/ThemeContext.esm.js +15 -15
- package/dist/themes/ThemeContext.js +15 -15
- package/dist/themes/ThemeProvider.esm.js +25 -22
- package/dist/themes/ThemeProvider.js +25 -22
- package/dist/themes/accessibility.esm.js +147 -108
- package/dist/themes/accessibility.js +147 -108
- package/dist/themes/aria-patterns.esm.js +198 -162
- package/dist/themes/aria-patterns.js +198 -162
- package/dist/themes/base-themes.esm.js +14 -11
- package/dist/themes/base-themes.js +14 -11
- package/dist/themes/colorManager.esm.js +101 -83
- package/dist/themes/colorManager.js +101 -83
- package/dist/themes/examples/dark-theme.esm.js +133 -103
- package/dist/themes/examples/dark-theme.js +133 -103
- package/dist/themes/examples/minimal-theme.esm.js +83 -61
- package/dist/themes/examples/minimal-theme.js +83 -61
- package/dist/themes/focus-management.esm.js +202 -143
- package/dist/themes/focus-management.js +202 -143
- package/dist/themes/fontLoader.esm.js +28 -19
- package/dist/themes/fontLoader.js +28 -19
- package/dist/themes/high-contrast.esm.js +152 -104
- package/dist/themes/high-contrast.js +152 -104
- package/dist/themes/inheritance.esm.js +35 -27
- package/dist/themes/inheritance.js +35 -27
- package/dist/themes/keyboard-navigation.esm.js +152 -123
- package/dist/themes/keyboard-navigation.js +152 -123
- package/dist/themes/motion-reduction.esm.js +193 -133
- package/dist/themes/motion-reduction.js +193 -133
- package/dist/themes/navigation.esm.js +146 -146
- package/dist/themes/navigation.js +146 -146
- package/dist/themes/screen-reader.esm.js +159 -94
- package/dist/themes/screen-reader.js +159 -94
- package/dist/themes/systemThemeDetector.esm.js +42 -34
- package/dist/themes/systemThemeDetector.js +42 -34
- package/dist/themes/themeCSSUpdater.esm.js +21 -9
- package/dist/themes/themeCSSUpdater.js +21 -9
- package/dist/themes/themePersistence.esm.js +68 -47
- package/dist/themes/themePersistence.js +68 -47
- package/dist/themes/themes/stan-design.esm.js +633 -468
- package/dist/themes/themes/stan-design.js +633 -468
- package/dist/themes/types.esm.js +301 -287
- package/dist/themes/types.js +301 -287
- package/dist/themes/useSystemTheme.esm.js +4 -4
- package/dist/themes/useSystemTheme.js +4 -4
- package/dist/themes/useTheme.esm.js +4 -4
- package/dist/themes/useTheme.js +4 -4
- package/dist/themes/validation.esm.js +128 -77
- package/dist/themes/validation.js +128 -77
- package/dist/tokens/index.esm.js +15 -4
- package/dist/tokens/index.js +15 -4
- package/dist/tokens/tokenExporter.esm.js +87 -61
- package/dist/tokens/tokenExporter.js +87 -61
- package/dist/tokens/tokenGenerator.esm.js +86 -77
- package/dist/tokens/tokenGenerator.js +86 -77
- package/dist/tokens/tokenManager.esm.js +64 -51
- package/dist/tokens/tokenManager.js +64 -51
- package/dist/tokens/tokenValidator.esm.js +193 -147
- package/dist/tokens/tokenValidator.js +193 -147
- package/dist/tokens/types.esm.js +49 -35
- package/dist/tokens/types.js +49 -35
- package/dist/utils/bundle-analyzer.esm.js +83 -65
- package/dist/utils/bundle-analyzer.js +83 -65
- package/dist/utils/bundle-splitting.esm.js +142 -117
- package/dist/utils/bundle-splitting.js +142 -117
- package/dist/utils/lazy-loading.esm.js +132 -106
- package/dist/utils/lazy-loading.js +132 -106
- package/dist/utils/performance-monitor.esm.js +170 -129
- package/dist/utils/performance-monitor.js +170 -129
- package/dist/utils/tree-shaking.esm.js +69 -61
- package/dist/utils/tree-shaking.js +69 -61
- package/package.json +1 -1
- package/src/index.ts +146 -146
|
@@ -3,7 +3,11 @@ import { cn } from '../../lib/utils'
|
|
|
3
3
|
|
|
4
4
|
// Enterprise Button Component
|
|
5
5
|
export interface EnterpriseButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
6
|
-
variant
|
|
6
|
+
variant?: 'default' | 'secondary' | 'outline' | 'ghost' | 'premium'
|
|
7
|
+
size?: 'sm' | 'default' | 'lg' | 'xl'
|
|
8
|
+
loading?: boolean
|
|
9
|
+
children: React.ReactNode
|
|
10
|
+
}
|
|
7
11
|
|
|
8
12
|
export const EnterpriseButton = forwardRef<HTMLButtonElement, EnterpriseButtonProps>(
|
|
9
13
|
({ className, variant = 'default', size = 'default', loading = false, children, ...props }, ref) => {
|
|
@@ -12,17 +16,18 @@ export const EnterpriseButton = forwardRef<HTMLButtonElement, EnterpriseButtonPr
|
|
|
12
16
|
const baseClasses = 'enterprise-button enterprise-mobile-optimized enterprise-interaction-refined'
|
|
13
17
|
|
|
14
18
|
const variantClasses = {
|
|
15
|
-
default,
|
|
16
|
-
secondary,
|
|
17
|
-
outline,
|
|
18
|
-
ghost,
|
|
19
|
-
premium
|
|
19
|
+
default: 'enterprise-button',
|
|
20
|
+
secondary: 'enterprise-button-secondary',
|
|
21
|
+
outline: 'enterprise-button-outline',
|
|
22
|
+
ghost: 'enterprise-button-ghost',
|
|
23
|
+
premium: 'enterprise-button enterprise-interaction-premium'
|
|
24
|
+
}
|
|
20
25
|
|
|
21
26
|
const sizeClasses = {
|
|
22
|
-
sm] min-w-[40px]',
|
|
23
|
-
default] min-w-[48px]',
|
|
24
|
-
lg] min-w-[56px]',
|
|
25
|
-
xl] min-w-[64px]'
|
|
27
|
+
sm: 'px-4 py-2 text-sm min-h-[40px] min-w-[40px]',
|
|
28
|
+
default: 'px-6 py-3 text-base min-h-[48px] min-w-[48px]',
|
|
29
|
+
lg: 'px-8 py-4 text-lg min-h-[56px] min-w-[56px]',
|
|
30
|
+
xl: 'px-10 py-5 text-xl min-h-[64px] min-w-[64px]'
|
|
26
31
|
}
|
|
27
32
|
|
|
28
33
|
const handleMouseDown = () => setIsPressed(true)
|
|
@@ -59,17 +64,20 @@ EnterpriseButton.displayName = 'EnterpriseButton'
|
|
|
59
64
|
|
|
60
65
|
// Enterprise Card Component
|
|
61
66
|
export interface EnterpriseCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
62
|
-
variant
|
|
67
|
+
variant?: 'default' | 'interactive' | 'premium' | 'featured'
|
|
68
|
+
children: React.ReactNode
|
|
69
|
+
}
|
|
63
70
|
|
|
64
71
|
export const EnterpriseCard = forwardRef<HTMLDivElement, EnterpriseCardProps>(
|
|
65
72
|
({ className, variant = 'default', children, ...props }, ref) => {
|
|
66
73
|
const baseClasses = 'enterprise-card enterprise-visual-refined'
|
|
67
74
|
|
|
68
75
|
const variantClasses = {
|
|
69
|
-
default,
|
|
70
|
-
interactive,
|
|
71
|
-
premium,
|
|
72
|
-
featured
|
|
76
|
+
default: '',
|
|
77
|
+
interactive: 'enterprise-card-interactive enterprise-interaction-refined',
|
|
78
|
+
premium: 'enterprise-card-premium enterprise-interaction-premium',
|
|
79
|
+
featured: 'enterprise-card-premium enterprise-interaction-premium border-2 border-cs-accent'
|
|
80
|
+
}
|
|
73
81
|
|
|
74
82
|
return (
|
|
75
83
|
<div
|
|
@@ -91,7 +99,11 @@ EnterpriseCard.displayName = 'EnterpriseCard'
|
|
|
91
99
|
|
|
92
100
|
// Enterprise Input Component
|
|
93
101
|
export interface EnterpriseInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
94
|
-
variant
|
|
102
|
+
variant?: 'default' | 'success' | 'error' | 'warning'
|
|
103
|
+
label?: string
|
|
104
|
+
required?: boolean
|
|
105
|
+
children?: React.ReactNode
|
|
106
|
+
}
|
|
95
107
|
|
|
96
108
|
export const EnterpriseInput = forwardRef<HTMLInputElement, EnterpriseInputProps>(
|
|
97
109
|
({ className, variant = 'default', label, required = false, children, ...props }, ref) => {
|
|
@@ -100,10 +112,11 @@ export const EnterpriseInput = forwardRef<HTMLInputElement, EnterpriseInputProps
|
|
|
100
112
|
const baseClasses = 'enterprise-input enterprise-mobile-optimized enterprise-accessibility'
|
|
101
113
|
|
|
102
114
|
const variantClasses = {
|
|
103
|
-
default,
|
|
104
|
-
success,
|
|
105
|
-
error,
|
|
106
|
-
warning
|
|
115
|
+
default: '',
|
|
116
|
+
success: 'enterprise-input-success',
|
|
117
|
+
error: 'enterprise-input-error',
|
|
118
|
+
warning: 'enterprise-input-warning'
|
|
119
|
+
}
|
|
107
120
|
|
|
108
121
|
const handleFocus = () => setIsFocused(true)
|
|
109
122
|
const handleBlur = () => setIsFocused(false)
|
|
@@ -142,9 +155,15 @@ EnterpriseInput.displayName = 'EnterpriseInput'
|
|
|
142
155
|
|
|
143
156
|
// Enterprise Progress Component
|
|
144
157
|
export interface EnterpriseProgressProps {
|
|
145
|
-
value
|
|
158
|
+
value: number
|
|
159
|
+
max?: number
|
|
160
|
+
variant?: 'default' | 'success' | 'warning' | 'error'
|
|
161
|
+
size?: 'sm' | 'default' | 'lg'
|
|
162
|
+
showLabel?: boolean
|
|
163
|
+
className?: string
|
|
164
|
+
}
|
|
146
165
|
|
|
147
|
-
export const EnterpriseProgress= ({
|
|
166
|
+
export const EnterpriseProgress: React.FC<EnterpriseProgressProps> = ({
|
|
148
167
|
value,
|
|
149
168
|
max = 100,
|
|
150
169
|
variant = 'default',
|
|
@@ -157,15 +176,17 @@ export const EnterpriseProgress= ({
|
|
|
157
176
|
const baseClasses = 'enterprise-progress enterprise-performance'
|
|
158
177
|
|
|
159
178
|
const sizeClasses = {
|
|
160
|
-
sm,
|
|
161
|
-
default,
|
|
162
|
-
lg
|
|
179
|
+
sm: 'h-1',
|
|
180
|
+
default: 'h-2',
|
|
181
|
+
lg: 'h-3'
|
|
182
|
+
}
|
|
163
183
|
|
|
164
184
|
const variantClasses = {
|
|
165
|
-
default,
|
|
166
|
-
success,
|
|
167
|
-
warning,
|
|
168
|
-
error
|
|
185
|
+
default: 'enterprise-progress-bar',
|
|
186
|
+
success: 'enterprise-progress-bar bg-gradient-to-r from-cs-success to-cs-success/80',
|
|
187
|
+
warning: 'enterprise-progress-bar bg-gradient-to-r from-cs-warning to-cs-warning/80',
|
|
188
|
+
error: 'enterprise-progress-bar bg-gradient-to-r from-cs-error to-cs-error/80'
|
|
189
|
+
}
|
|
169
190
|
|
|
170
191
|
return (
|
|
171
192
|
<div className={cn('space-y-2', className)}>
|
|
@@ -178,7 +199,7 @@ export const EnterpriseProgress= ({
|
|
|
178
199
|
<div className={cn(baseClasses, sizeClasses[size])}>
|
|
179
200
|
<div
|
|
180
201
|
className={cn(variantClasses[variant])}
|
|
181
|
-
style={{ width}%` }}
|
|
202
|
+
style={{ width: `${percentage}%` }}
|
|
182
203
|
/>
|
|
183
204
|
</div>
|
|
184
205
|
</div>
|
|
@@ -187,9 +208,14 @@ export const EnterpriseProgress= ({
|
|
|
187
208
|
|
|
188
209
|
// Enterprise Quality Metric Component
|
|
189
210
|
export interface EnterpriseQualityMetricProps {
|
|
190
|
-
score
|
|
211
|
+
score: number
|
|
212
|
+
label: string
|
|
213
|
+
description?: string
|
|
214
|
+
variant?: 'default' | 'excellent' | 'good' | 'needs-improvement'
|
|
215
|
+
className?: string
|
|
216
|
+
}
|
|
191
217
|
|
|
192
|
-
export const EnterpriseQualityMetric= ({
|
|
218
|
+
export const EnterpriseQualityMetric: React.FC<EnterpriseQualityMetricProps> = ({
|
|
193
219
|
score,
|
|
194
220
|
label,
|
|
195
221
|
description,
|
|
@@ -228,28 +254,33 @@ export const EnterpriseQualityMetric= ({
|
|
|
228
254
|
|
|
229
255
|
// Enterprise Status Component
|
|
230
256
|
export interface EnterpriseStatusProps {
|
|
231
|
-
phase
|
|
257
|
+
phase: 'initializing' | 'optimizing' | 'polishing' | 'verifying' | 'complete' | 'enterprise-ready'
|
|
258
|
+
children: React.ReactNode
|
|
259
|
+
className?: string
|
|
260
|
+
}
|
|
232
261
|
|
|
233
|
-
export const EnterpriseStatus= ({
|
|
262
|
+
export const EnterpriseStatus: React.FC<EnterpriseStatusProps> = ({
|
|
234
263
|
phase,
|
|
235
264
|
children,
|
|
236
265
|
className
|
|
237
266
|
}) => {
|
|
238
267
|
const phaseClasses = {
|
|
239
|
-
initializing,
|
|
240
|
-
optimizing,
|
|
241
|
-
polishing,
|
|
242
|
-
verifying,
|
|
243
|
-
complete,
|
|
244
|
-
'enterprise-ready'
|
|
268
|
+
initializing: 'enterprise-status-initializing',
|
|
269
|
+
optimizing: 'enterprise-status-optimizing',
|
|
270
|
+
polishing: 'enterprise-status-polishing',
|
|
271
|
+
verifying: 'enterprise-status-verifying',
|
|
272
|
+
complete: 'enterprise-status-complete',
|
|
273
|
+
'enterprise-ready': 'enterprise-status-enterprise-ready'
|
|
274
|
+
}
|
|
245
275
|
|
|
246
276
|
const phaseIcons = {
|
|
247
|
-
initializing,
|
|
248
|
-
optimizing,
|
|
249
|
-
polishing,
|
|
250
|
-
verifying,
|
|
251
|
-
complete,
|
|
252
|
-
'enterprise-ready'
|
|
277
|
+
initializing: 'đ',
|
|
278
|
+
optimizing: 'âĄ',
|
|
279
|
+
polishing: 'â¨',
|
|
280
|
+
verifying: 'đ',
|
|
281
|
+
complete: 'â
',
|
|
282
|
+
'enterprise-ready': 'đ'
|
|
283
|
+
}
|
|
253
284
|
|
|
254
285
|
return (
|
|
255
286
|
<span className={cn('enterprise-status', phaseClasses[phase], className)}>
|
|
@@ -261,9 +292,10 @@ export const EnterpriseStatus= ({
|
|
|
261
292
|
|
|
262
293
|
// Enterprise Container Component
|
|
263
294
|
export interface EnterpriseContainerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
264
|
-
children
|
|
295
|
+
children: React.ReactNode
|
|
296
|
+
}
|
|
265
297
|
|
|
266
|
-
export const EnterpriseContainer= ({
|
|
298
|
+
export const EnterpriseContainer: React.FC<EnterpriseContainerProps> = ({
|
|
267
299
|
className,
|
|
268
300
|
children,
|
|
269
301
|
...props
|
|
@@ -280,9 +312,10 @@ export const EnterpriseContainer= ({
|
|
|
280
312
|
|
|
281
313
|
// Enterprise Section Component
|
|
282
314
|
export interface EnterpriseSectionProps extends React.HTMLAttributes<HTMLElement> {
|
|
283
|
-
children
|
|
315
|
+
children: React.ReactNode
|
|
316
|
+
}
|
|
284
317
|
|
|
285
|
-
export const EnterpriseSection= ({
|
|
318
|
+
export const EnterpriseSection: React.FC<EnterpriseSectionProps> = ({
|
|
286
319
|
className,
|
|
287
320
|
children,
|
|
288
321
|
...props
|
|
@@ -299,19 +332,22 @@ export const EnterpriseSection= ({
|
|
|
299
332
|
|
|
300
333
|
// Enterprise Grid Component
|
|
301
334
|
export interface EnterpriseGridProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
302
|
-
cols
|
|
335
|
+
cols?: 1 | 2 | 3 | 4
|
|
336
|
+
children: React.ReactNode
|
|
337
|
+
}
|
|
303
338
|
|
|
304
|
-
export const EnterpriseGrid= ({
|
|
339
|
+
export const EnterpriseGrid: React.FC<EnterpriseGridProps> = ({
|
|
305
340
|
cols = 1,
|
|
306
341
|
className,
|
|
307
342
|
children,
|
|
308
343
|
...props
|
|
309
344
|
}) => {
|
|
310
345
|
const colsClasses = {
|
|
311
|
-
1,
|
|
312
|
-
2,
|
|
313
|
-
3,
|
|
314
|
-
4
|
|
346
|
+
1: 'enterprise-grid-cols-1',
|
|
347
|
+
2: 'enterprise-grid-cols-2',
|
|
348
|
+
3: 'enterprise-grid-cols-3',
|
|
349
|
+
4: 'enterprise-grid-cols-4'
|
|
350
|
+
}
|
|
315
351
|
|
|
316
352
|
return (
|
|
317
353
|
<div
|
|
@@ -325,17 +361,21 @@ export const EnterpriseGrid= ({
|
|
|
325
361
|
|
|
326
362
|
// Enterprise Loading Component
|
|
327
363
|
export interface EnterpriseLoadingProps {
|
|
328
|
-
size
|
|
364
|
+
size?: 'sm' | 'default' | 'lg'
|
|
365
|
+
text?: string
|
|
366
|
+
className?: string
|
|
367
|
+
}
|
|
329
368
|
|
|
330
|
-
export const EnterpriseLoading= ({
|
|
369
|
+
export const EnterpriseLoading: React.FC<EnterpriseLoadingProps> = ({
|
|
331
370
|
size = 'default',
|
|
332
371
|
text = 'Loading...',
|
|
333
372
|
className
|
|
334
373
|
}) => {
|
|
335
374
|
const sizeClasses = {
|
|
336
|
-
sm,
|
|
337
|
-
default,
|
|
338
|
-
lg
|
|
375
|
+
sm: 'w-4 h-4',
|
|
376
|
+
default: 'w-6 h-6',
|
|
377
|
+
lg: 'w-8 h-8'
|
|
378
|
+
}
|
|
339
379
|
|
|
340
380
|
return (
|
|
341
381
|
<div className={cn('flex items-center justify-center space-x-2', className)}>
|
|
@@ -351,10 +391,15 @@ export const EnterpriseLoading= ({
|
|
|
351
391
|
|
|
352
392
|
// Enterprise Notification Component
|
|
353
393
|
export interface EnterpriseNotificationProps {
|
|
354
|
-
type
|
|
355
|
-
|
|
394
|
+
type: 'success' | 'warning' | 'error' | 'info'
|
|
395
|
+
title: string
|
|
396
|
+
message?: string
|
|
397
|
+
onClose?: () => void
|
|
398
|
+
duration?: number
|
|
399
|
+
className?: string
|
|
400
|
+
}
|
|
356
401
|
|
|
357
|
-
export const EnterpriseNotification= ({
|
|
402
|
+
export const EnterpriseNotification: React.FC<EnterpriseNotificationProps> = ({
|
|
358
403
|
type,
|
|
359
404
|
title,
|
|
360
405
|
message,
|
|
@@ -376,16 +421,18 @@ export const EnterpriseNotification= ({
|
|
|
376
421
|
}, [duration, onClose])
|
|
377
422
|
|
|
378
423
|
const typeClasses = {
|
|
379
|
-
success,
|
|
380
|
-
warning,
|
|
381
|
-
error,
|
|
382
|
-
info
|
|
424
|
+
success: 'enterprise-notification-success',
|
|
425
|
+
warning: 'enterprise-notification-warning',
|
|
426
|
+
error: 'enterprise-notification-error',
|
|
427
|
+
info: 'enterprise-notification-info'
|
|
428
|
+
}
|
|
383
429
|
|
|
384
430
|
const typeIcons = {
|
|
385
|
-
success,
|
|
386
|
-
warning,
|
|
387
|
-
error,
|
|
388
|
-
info
|
|
431
|
+
success: 'â
',
|
|
432
|
+
warning: 'â ī¸',
|
|
433
|
+
error: 'â',
|
|
434
|
+
info: 'âšī¸'
|
|
435
|
+
}
|
|
389
436
|
|
|
390
437
|
if (!isVisible) return null
|
|
391
438
|
|
|
@@ -406,7 +453,11 @@ export const EnterpriseNotification= ({
|
|
|
406
453
|
{onClose && (
|
|
407
454
|
<button
|
|
408
455
|
onClick={onClose}
|
|
409
|
-
className="text-cs-text-secondary hover
|
|
456
|
+
className="text-cs-text-secondary hover:text-cs-text-primary transition-colors"
|
|
457
|
+
>
|
|
458
|
+
â
|
|
459
|
+
</button>
|
|
460
|
+
)}
|
|
410
461
|
</div>
|
|
411
462
|
</div>
|
|
412
463
|
)
|
|
@@ -3,7 +3,11 @@ import { cn } from '../../lib/utils'
|
|
|
3
3
|
|
|
4
4
|
// Enterprise Button Component
|
|
5
5
|
export interface EnterpriseButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
6
|
-
variant
|
|
6
|
+
variant?: 'default' | 'secondary' | 'outline' | 'ghost' | 'premium'
|
|
7
|
+
size?: 'sm' | 'default' | 'lg' | 'xl'
|
|
8
|
+
loading?: boolean
|
|
9
|
+
children: React.ReactNode
|
|
10
|
+
}
|
|
7
11
|
|
|
8
12
|
export const EnterpriseButton = forwardRef<HTMLButtonElement, EnterpriseButtonProps>(
|
|
9
13
|
({ className, variant = 'default', size = 'default', loading = false, children, ...props }, ref) => {
|
|
@@ -12,17 +16,18 @@ export const EnterpriseButton = forwardRef<HTMLButtonElement, EnterpriseButtonPr
|
|
|
12
16
|
const baseClasses = 'enterprise-button enterprise-mobile-optimized enterprise-interaction-refined'
|
|
13
17
|
|
|
14
18
|
const variantClasses = {
|
|
15
|
-
default,
|
|
16
|
-
secondary,
|
|
17
|
-
outline,
|
|
18
|
-
ghost,
|
|
19
|
-
premium
|
|
19
|
+
default: 'enterprise-button',
|
|
20
|
+
secondary: 'enterprise-button-secondary',
|
|
21
|
+
outline: 'enterprise-button-outline',
|
|
22
|
+
ghost: 'enterprise-button-ghost',
|
|
23
|
+
premium: 'enterprise-button enterprise-interaction-premium'
|
|
24
|
+
}
|
|
20
25
|
|
|
21
26
|
const sizeClasses = {
|
|
22
|
-
sm] min-w-[40px]',
|
|
23
|
-
default] min-w-[48px]',
|
|
24
|
-
lg] min-w-[56px]',
|
|
25
|
-
xl] min-w-[64px]'
|
|
27
|
+
sm: 'px-4 py-2 text-sm min-h-[40px] min-w-[40px]',
|
|
28
|
+
default: 'px-6 py-3 text-base min-h-[48px] min-w-[48px]',
|
|
29
|
+
lg: 'px-8 py-4 text-lg min-h-[56px] min-w-[56px]',
|
|
30
|
+
xl: 'px-10 py-5 text-xl min-h-[64px] min-w-[64px]'
|
|
26
31
|
}
|
|
27
32
|
|
|
28
33
|
const handleMouseDown = () => setIsPressed(true)
|
|
@@ -59,17 +64,20 @@ EnterpriseButton.displayName = 'EnterpriseButton'
|
|
|
59
64
|
|
|
60
65
|
// Enterprise Card Component
|
|
61
66
|
export interface EnterpriseCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
62
|
-
variant
|
|
67
|
+
variant?: 'default' | 'interactive' | 'premium' | 'featured'
|
|
68
|
+
children: React.ReactNode
|
|
69
|
+
}
|
|
63
70
|
|
|
64
71
|
export const EnterpriseCard = forwardRef<HTMLDivElement, EnterpriseCardProps>(
|
|
65
72
|
({ className, variant = 'default', children, ...props }, ref) => {
|
|
66
73
|
const baseClasses = 'enterprise-card enterprise-visual-refined'
|
|
67
74
|
|
|
68
75
|
const variantClasses = {
|
|
69
|
-
default,
|
|
70
|
-
interactive,
|
|
71
|
-
premium,
|
|
72
|
-
featured
|
|
76
|
+
default: '',
|
|
77
|
+
interactive: 'enterprise-card-interactive enterprise-interaction-refined',
|
|
78
|
+
premium: 'enterprise-card-premium enterprise-interaction-premium',
|
|
79
|
+
featured: 'enterprise-card-premium enterprise-interaction-premium border-2 border-cs-accent'
|
|
80
|
+
}
|
|
73
81
|
|
|
74
82
|
return (
|
|
75
83
|
<div
|
|
@@ -91,7 +99,11 @@ EnterpriseCard.displayName = 'EnterpriseCard'
|
|
|
91
99
|
|
|
92
100
|
// Enterprise Input Component
|
|
93
101
|
export interface EnterpriseInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
94
|
-
variant
|
|
102
|
+
variant?: 'default' | 'success' | 'error' | 'warning'
|
|
103
|
+
label?: string
|
|
104
|
+
required?: boolean
|
|
105
|
+
children?: React.ReactNode
|
|
106
|
+
}
|
|
95
107
|
|
|
96
108
|
export const EnterpriseInput = forwardRef<HTMLInputElement, EnterpriseInputProps>(
|
|
97
109
|
({ className, variant = 'default', label, required = false, children, ...props }, ref) => {
|
|
@@ -100,10 +112,11 @@ export const EnterpriseInput = forwardRef<HTMLInputElement, EnterpriseInputProps
|
|
|
100
112
|
const baseClasses = 'enterprise-input enterprise-mobile-optimized enterprise-accessibility'
|
|
101
113
|
|
|
102
114
|
const variantClasses = {
|
|
103
|
-
default,
|
|
104
|
-
success,
|
|
105
|
-
error,
|
|
106
|
-
warning
|
|
115
|
+
default: '',
|
|
116
|
+
success: 'enterprise-input-success',
|
|
117
|
+
error: 'enterprise-input-error',
|
|
118
|
+
warning: 'enterprise-input-warning'
|
|
119
|
+
}
|
|
107
120
|
|
|
108
121
|
const handleFocus = () => setIsFocused(true)
|
|
109
122
|
const handleBlur = () => setIsFocused(false)
|
|
@@ -142,9 +155,15 @@ EnterpriseInput.displayName = 'EnterpriseInput'
|
|
|
142
155
|
|
|
143
156
|
// Enterprise Progress Component
|
|
144
157
|
export interface EnterpriseProgressProps {
|
|
145
|
-
value
|
|
158
|
+
value: number
|
|
159
|
+
max?: number
|
|
160
|
+
variant?: 'default' | 'success' | 'warning' | 'error'
|
|
161
|
+
size?: 'sm' | 'default' | 'lg'
|
|
162
|
+
showLabel?: boolean
|
|
163
|
+
className?: string
|
|
164
|
+
}
|
|
146
165
|
|
|
147
|
-
export const EnterpriseProgress= ({
|
|
166
|
+
export const EnterpriseProgress: React.FC<EnterpriseProgressProps> = ({
|
|
148
167
|
value,
|
|
149
168
|
max = 100,
|
|
150
169
|
variant = 'default',
|
|
@@ -157,15 +176,17 @@ export const EnterpriseProgress= ({
|
|
|
157
176
|
const baseClasses = 'enterprise-progress enterprise-performance'
|
|
158
177
|
|
|
159
178
|
const sizeClasses = {
|
|
160
|
-
sm,
|
|
161
|
-
default,
|
|
162
|
-
lg
|
|
179
|
+
sm: 'h-1',
|
|
180
|
+
default: 'h-2',
|
|
181
|
+
lg: 'h-3'
|
|
182
|
+
}
|
|
163
183
|
|
|
164
184
|
const variantClasses = {
|
|
165
|
-
default,
|
|
166
|
-
success,
|
|
167
|
-
warning,
|
|
168
|
-
error
|
|
185
|
+
default: 'enterprise-progress-bar',
|
|
186
|
+
success: 'enterprise-progress-bar bg-gradient-to-r from-cs-success to-cs-success/80',
|
|
187
|
+
warning: 'enterprise-progress-bar bg-gradient-to-r from-cs-warning to-cs-warning/80',
|
|
188
|
+
error: 'enterprise-progress-bar bg-gradient-to-r from-cs-error to-cs-error/80'
|
|
189
|
+
}
|
|
169
190
|
|
|
170
191
|
return (
|
|
171
192
|
<div className={cn('space-y-2', className)}>
|
|
@@ -178,7 +199,7 @@ export const EnterpriseProgress= ({
|
|
|
178
199
|
<div className={cn(baseClasses, sizeClasses[size])}>
|
|
179
200
|
<div
|
|
180
201
|
className={cn(variantClasses[variant])}
|
|
181
|
-
style={{ width}%` }}
|
|
202
|
+
style={{ width: `${percentage}%` }}
|
|
182
203
|
/>
|
|
183
204
|
</div>
|
|
184
205
|
</div>
|
|
@@ -187,9 +208,14 @@ export const EnterpriseProgress= ({
|
|
|
187
208
|
|
|
188
209
|
// Enterprise Quality Metric Component
|
|
189
210
|
export interface EnterpriseQualityMetricProps {
|
|
190
|
-
score
|
|
211
|
+
score: number
|
|
212
|
+
label: string
|
|
213
|
+
description?: string
|
|
214
|
+
variant?: 'default' | 'excellent' | 'good' | 'needs-improvement'
|
|
215
|
+
className?: string
|
|
216
|
+
}
|
|
191
217
|
|
|
192
|
-
export const EnterpriseQualityMetric= ({
|
|
218
|
+
export const EnterpriseQualityMetric: React.FC<EnterpriseQualityMetricProps> = ({
|
|
193
219
|
score,
|
|
194
220
|
label,
|
|
195
221
|
description,
|
|
@@ -228,28 +254,33 @@ export const EnterpriseQualityMetric= ({
|
|
|
228
254
|
|
|
229
255
|
// Enterprise Status Component
|
|
230
256
|
export interface EnterpriseStatusProps {
|
|
231
|
-
phase
|
|
257
|
+
phase: 'initializing' | 'optimizing' | 'polishing' | 'verifying' | 'complete' | 'enterprise-ready'
|
|
258
|
+
children: React.ReactNode
|
|
259
|
+
className?: string
|
|
260
|
+
}
|
|
232
261
|
|
|
233
|
-
export const EnterpriseStatus= ({
|
|
262
|
+
export const EnterpriseStatus: React.FC<EnterpriseStatusProps> = ({
|
|
234
263
|
phase,
|
|
235
264
|
children,
|
|
236
265
|
className
|
|
237
266
|
}) => {
|
|
238
267
|
const phaseClasses = {
|
|
239
|
-
initializing,
|
|
240
|
-
optimizing,
|
|
241
|
-
polishing,
|
|
242
|
-
verifying,
|
|
243
|
-
complete,
|
|
244
|
-
'enterprise-ready'
|
|
268
|
+
initializing: 'enterprise-status-initializing',
|
|
269
|
+
optimizing: 'enterprise-status-optimizing',
|
|
270
|
+
polishing: 'enterprise-status-polishing',
|
|
271
|
+
verifying: 'enterprise-status-verifying',
|
|
272
|
+
complete: 'enterprise-status-complete',
|
|
273
|
+
'enterprise-ready': 'enterprise-status-enterprise-ready'
|
|
274
|
+
}
|
|
245
275
|
|
|
246
276
|
const phaseIcons = {
|
|
247
|
-
initializing,
|
|
248
|
-
optimizing,
|
|
249
|
-
polishing,
|
|
250
|
-
verifying,
|
|
251
|
-
complete,
|
|
252
|
-
'enterprise-ready'
|
|
277
|
+
initializing: 'đ',
|
|
278
|
+
optimizing: 'âĄ',
|
|
279
|
+
polishing: 'â¨',
|
|
280
|
+
verifying: 'đ',
|
|
281
|
+
complete: 'â
',
|
|
282
|
+
'enterprise-ready': 'đ'
|
|
283
|
+
}
|
|
253
284
|
|
|
254
285
|
return (
|
|
255
286
|
<span className={cn('enterprise-status', phaseClasses[phase], className)}>
|
|
@@ -261,9 +292,10 @@ export const EnterpriseStatus= ({
|
|
|
261
292
|
|
|
262
293
|
// Enterprise Container Component
|
|
263
294
|
export interface EnterpriseContainerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
264
|
-
children
|
|
295
|
+
children: React.ReactNode
|
|
296
|
+
}
|
|
265
297
|
|
|
266
|
-
export const EnterpriseContainer= ({
|
|
298
|
+
export const EnterpriseContainer: React.FC<EnterpriseContainerProps> = ({
|
|
267
299
|
className,
|
|
268
300
|
children,
|
|
269
301
|
...props
|
|
@@ -280,9 +312,10 @@ export const EnterpriseContainer= ({
|
|
|
280
312
|
|
|
281
313
|
// Enterprise Section Component
|
|
282
314
|
export interface EnterpriseSectionProps extends React.HTMLAttributes<HTMLElement> {
|
|
283
|
-
children
|
|
315
|
+
children: React.ReactNode
|
|
316
|
+
}
|
|
284
317
|
|
|
285
|
-
export const EnterpriseSection= ({
|
|
318
|
+
export const EnterpriseSection: React.FC<EnterpriseSectionProps> = ({
|
|
286
319
|
className,
|
|
287
320
|
children,
|
|
288
321
|
...props
|
|
@@ -299,19 +332,22 @@ export const EnterpriseSection= ({
|
|
|
299
332
|
|
|
300
333
|
// Enterprise Grid Component
|
|
301
334
|
export interface EnterpriseGridProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
302
|
-
cols
|
|
335
|
+
cols?: 1 | 2 | 3 | 4
|
|
336
|
+
children: React.ReactNode
|
|
337
|
+
}
|
|
303
338
|
|
|
304
|
-
export const EnterpriseGrid= ({
|
|
339
|
+
export const EnterpriseGrid: React.FC<EnterpriseGridProps> = ({
|
|
305
340
|
cols = 1,
|
|
306
341
|
className,
|
|
307
342
|
children,
|
|
308
343
|
...props
|
|
309
344
|
}) => {
|
|
310
345
|
const colsClasses = {
|
|
311
|
-
1,
|
|
312
|
-
2,
|
|
313
|
-
3,
|
|
314
|
-
4
|
|
346
|
+
1: 'enterprise-grid-cols-1',
|
|
347
|
+
2: 'enterprise-grid-cols-2',
|
|
348
|
+
3: 'enterprise-grid-cols-3',
|
|
349
|
+
4: 'enterprise-grid-cols-4'
|
|
350
|
+
}
|
|
315
351
|
|
|
316
352
|
return (
|
|
317
353
|
<div
|
|
@@ -325,17 +361,21 @@ export const EnterpriseGrid= ({
|
|
|
325
361
|
|
|
326
362
|
// Enterprise Loading Component
|
|
327
363
|
export interface EnterpriseLoadingProps {
|
|
328
|
-
size
|
|
364
|
+
size?: 'sm' | 'default' | 'lg'
|
|
365
|
+
text?: string
|
|
366
|
+
className?: string
|
|
367
|
+
}
|
|
329
368
|
|
|
330
|
-
export const EnterpriseLoading= ({
|
|
369
|
+
export const EnterpriseLoading: React.FC<EnterpriseLoadingProps> = ({
|
|
331
370
|
size = 'default',
|
|
332
371
|
text = 'Loading...',
|
|
333
372
|
className
|
|
334
373
|
}) => {
|
|
335
374
|
const sizeClasses = {
|
|
336
|
-
sm,
|
|
337
|
-
default,
|
|
338
|
-
lg
|
|
375
|
+
sm: 'w-4 h-4',
|
|
376
|
+
default: 'w-6 h-6',
|
|
377
|
+
lg: 'w-8 h-8'
|
|
378
|
+
}
|
|
339
379
|
|
|
340
380
|
return (
|
|
341
381
|
<div className={cn('flex items-center justify-center space-x-2', className)}>
|
|
@@ -351,10 +391,15 @@ export const EnterpriseLoading= ({
|
|
|
351
391
|
|
|
352
392
|
// Enterprise Notification Component
|
|
353
393
|
export interface EnterpriseNotificationProps {
|
|
354
|
-
type
|
|
355
|
-
|
|
394
|
+
type: 'success' | 'warning' | 'error' | 'info'
|
|
395
|
+
title: string
|
|
396
|
+
message?: string
|
|
397
|
+
onClose?: () => void
|
|
398
|
+
duration?: number
|
|
399
|
+
className?: string
|
|
400
|
+
}
|
|
356
401
|
|
|
357
|
-
export const EnterpriseNotification= ({
|
|
402
|
+
export const EnterpriseNotification: React.FC<EnterpriseNotificationProps> = ({
|
|
358
403
|
type,
|
|
359
404
|
title,
|
|
360
405
|
message,
|
|
@@ -376,16 +421,18 @@ export const EnterpriseNotification= ({
|
|
|
376
421
|
}, [duration, onClose])
|
|
377
422
|
|
|
378
423
|
const typeClasses = {
|
|
379
|
-
success,
|
|
380
|
-
warning,
|
|
381
|
-
error,
|
|
382
|
-
info
|
|
424
|
+
success: 'enterprise-notification-success',
|
|
425
|
+
warning: 'enterprise-notification-warning',
|
|
426
|
+
error: 'enterprise-notification-error',
|
|
427
|
+
info: 'enterprise-notification-info'
|
|
428
|
+
}
|
|
383
429
|
|
|
384
430
|
const typeIcons = {
|
|
385
|
-
success,
|
|
386
|
-
warning,
|
|
387
|
-
error,
|
|
388
|
-
info
|
|
431
|
+
success: 'â
',
|
|
432
|
+
warning: 'â ī¸',
|
|
433
|
+
error: 'â',
|
|
434
|
+
info: 'âšī¸'
|
|
435
|
+
}
|
|
389
436
|
|
|
390
437
|
if (!isVisible) return null
|
|
391
438
|
|
|
@@ -406,7 +453,11 @@ export const EnterpriseNotification= ({
|
|
|
406
453
|
{onClose && (
|
|
407
454
|
<button
|
|
408
455
|
onClick={onClose}
|
|
409
|
-
className="text-cs-text-secondary hover
|
|
456
|
+
className="text-cs-text-secondary hover:text-cs-text-primary transition-colors"
|
|
457
|
+
>
|
|
458
|
+
â
|
|
459
|
+
</button>
|
|
460
|
+
)}
|
|
410
461
|
</div>
|
|
411
462
|
</div>
|
|
412
463
|
)
|