@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.8 → 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.
Files changed (304) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/components/ui/accessibility-demo.esm.js +30 -24
  3. package/dist/components/ui/accessibility-demo.js +30 -24
  4. package/dist/components/ui/advanced-component-architecture-demo.esm.js +235 -179
  5. package/dist/components/ui/advanced-component-architecture-demo.js +235 -179
  6. package/dist/components/ui/advanced-transition-system-demo.esm.js +110 -64
  7. package/dist/components/ui/advanced-transition-system-demo.js +110 -64
  8. package/dist/components/ui/advanced-transition-system.esm.js +166 -122
  9. package/dist/components/ui/advanced-transition-system.js +166 -122
  10. package/dist/components/ui/animation/animated-container.esm.js +52 -29
  11. package/dist/components/ui/animation/animated-container.js +52 -29
  12. package/dist/components/ui/animation/staggered-container.esm.js +18 -9
  13. package/dist/components/ui/animation/staggered-container.js +18 -9
  14. package/dist/components/ui/animation-demo.esm.js +67 -35
  15. package/dist/components/ui/animation-demo.js +67 -35
  16. package/dist/components/ui/badge.esm.js +9 -6
  17. package/dist/components/ui/badge.js +9 -6
  18. package/dist/components/ui/battery-conscious-animation-demo.esm.js +122 -87
  19. package/dist/components/ui/battery-conscious-animation-demo.js +122 -87
  20. package/dist/components/ui/border-radius-shadow-demo.esm.js +23 -12
  21. package/dist/components/ui/border-radius-shadow-demo.js +23 -12
  22. package/dist/components/ui/button.esm.js +8 -2
  23. package/dist/components/ui/button.js +8 -2
  24. package/dist/components/ui/card.esm.js +33 -8
  25. package/dist/components/ui/card.js +33 -8
  26. package/dist/components/ui/checkbox.esm.js +3 -3
  27. package/dist/components/ui/checkbox.js +3 -3
  28. package/dist/components/ui/color-preview.esm.js +68 -45
  29. package/dist/components/ui/color-preview.js +68 -45
  30. package/dist/components/ui/data-display/chart.esm.js +112 -84
  31. package/dist/components/ui/data-display/chart.js +112 -84
  32. package/dist/components/ui/data-display/data-grid-simple.esm.js +1 -1
  33. package/dist/components/ui/data-display/data-grid-simple.js +1 -1
  34. package/dist/components/ui/data-display/data-grid.esm.js +80 -67
  35. package/dist/components/ui/data-display/data-grid.js +80 -67
  36. package/dist/components/ui/data-display/list.esm.js +53 -45
  37. package/dist/components/ui/data-display/list.js +53 -45
  38. package/dist/components/ui/data-display/table.esm.js +62 -54
  39. package/dist/components/ui/data-display/table.js +62 -54
  40. package/dist/components/ui/data-display/timeline.esm.js +39 -34
  41. package/dist/components/ui/data-display/timeline.js +39 -34
  42. package/dist/components/ui/data-display/tree.esm.js +116 -84
  43. package/dist/components/ui/data-display/tree.js +116 -84
  44. package/dist/components/ui/data-display/types.esm.js +389 -364
  45. package/dist/components/ui/data-display/types.js +389 -364
  46. package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +120 -70
  47. package/dist/components/ui/enterprise-mobile-experience-demo.js +120 -70
  48. package/dist/components/ui/enterprise-mobile-experience.esm.js +124 -73
  49. package/dist/components/ui/enterprise-mobile-experience.js +124 -73
  50. package/dist/components/ui/feedback/alert.esm.js +22 -15
  51. package/dist/components/ui/feedback/alert.js +22 -15
  52. package/dist/components/ui/feedback/progress.esm.js +47 -24
  53. package/dist/components/ui/feedback/progress.js +47 -24
  54. package/dist/components/ui/feedback/skeleton.esm.js +39 -29
  55. package/dist/components/ui/feedback/skeleton.js +39 -29
  56. package/dist/components/ui/feedback/toast.esm.js +62 -38
  57. package/dist/components/ui/feedback/toast.js +62 -38
  58. package/dist/components/ui/feedback/types.esm.js +83 -83
  59. package/dist/components/ui/feedback/types.js +83 -83
  60. package/dist/components/ui/font-preview.esm.js +41 -39
  61. package/dist/components/ui/font-preview.js +41 -39
  62. package/dist/components/ui/form-demo.esm.js +150 -113
  63. package/dist/components/ui/form-demo.js +150 -113
  64. package/dist/components/ui/hardware-acceleration-demo.esm.js +137 -87
  65. package/dist/components/ui/hardware-acceleration-demo.js +137 -87
  66. package/dist/components/ui/input.esm.js +4 -1
  67. package/dist/components/ui/input.js +4 -1
  68. package/dist/components/ui/layout-demo.esm.js +81 -56
  69. package/dist/components/ui/layout-demo.js +81 -56
  70. package/dist/components/ui/layouts/adaptive-layout.esm.js +27 -8
  71. package/dist/components/ui/layouts/adaptive-layout.js +27 -8
  72. package/dist/components/ui/layouts/desktop-layout.esm.js +39 -19
  73. package/dist/components/ui/layouts/desktop-layout.js +39 -19
  74. package/dist/components/ui/layouts/mobile-layout.esm.js +19 -9
  75. package/dist/components/ui/layouts/mobile-layout.js +19 -9
  76. package/dist/components/ui/layouts/tablet-layout.esm.js +28 -14
  77. package/dist/components/ui/layouts/tablet-layout.js +28 -14
  78. package/dist/components/ui/mobile-form-validation.esm.js +120 -87
  79. package/dist/components/ui/mobile-form-validation.js +120 -87
  80. package/dist/components/ui/mobile-input-demo.esm.js +19 -13
  81. package/dist/components/ui/mobile-input-demo.js +19 -13
  82. package/dist/components/ui/mobile-input.esm.js +185 -120
  83. package/dist/components/ui/mobile-input.js +185 -120
  84. package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +128 -111
  85. package/dist/components/ui/mobile-skeleton-loading-demo.js +128 -111
  86. package/dist/components/ui/navigation/breadcrumb.esm.js +17 -14
  87. package/dist/components/ui/navigation/breadcrumb.js +17 -14
  88. package/dist/components/ui/navigation/index.esm.js +23 -1
  89. package/dist/components/ui/navigation/index.js +23 -1
  90. package/dist/components/ui/navigation/menu.esm.js +49 -35
  91. package/dist/components/ui/navigation/menu.js +49 -35
  92. package/dist/components/ui/navigation/navigation-demo.esm.js +81 -74
  93. package/dist/components/ui/navigation/navigation-demo.js +81 -74
  94. package/dist/components/ui/navigation/pagination.esm.js +62 -50
  95. package/dist/components/ui/navigation/pagination.js +62 -50
  96. package/dist/components/ui/navigation/sidebar.esm.js +56 -42
  97. package/dist/components/ui/navigation/sidebar.js +56 -42
  98. package/dist/components/ui/navigation/stepper.esm.js +34 -23
  99. package/dist/components/ui/navigation/stepper.js +34 -23
  100. package/dist/components/ui/navigation/tabs.esm.js +32 -21
  101. package/dist/components/ui/navigation/tabs.js +32 -21
  102. package/dist/components/ui/navigation/types.esm.js +196 -195
  103. package/dist/components/ui/navigation/types.js +196 -195
  104. package/dist/components/ui/overlay/backdrop.esm.js +17 -16
  105. package/dist/components/ui/overlay/backdrop.js +17 -16
  106. package/dist/components/ui/overlay/focus-manager.esm.js +21 -19
  107. package/dist/components/ui/overlay/focus-manager.js +21 -19
  108. package/dist/components/ui/overlay/index.esm.js +22 -2
  109. package/dist/components/ui/overlay/index.js +22 -2
  110. package/dist/components/ui/overlay/modal.esm.js +38 -34
  111. package/dist/components/ui/overlay/modal.js +38 -34
  112. package/dist/components/ui/overlay/overlay-manager.esm.js +25 -20
  113. package/dist/components/ui/overlay/overlay-manager.js +25 -20
  114. package/dist/components/ui/overlay/popover.esm.js +74 -58
  115. package/dist/components/ui/overlay/popover.js +74 -58
  116. package/dist/components/ui/overlay/portal.esm.js +7 -7
  117. package/dist/components/ui/overlay/portal.js +7 -7
  118. package/dist/components/ui/overlay/tooltip.esm.js +54 -39
  119. package/dist/components/ui/overlay/tooltip.js +54 -39
  120. package/dist/components/ui/overlay/types.esm.js +132 -131
  121. package/dist/components/ui/overlay/types.js +132 -131
  122. package/dist/components/ui/performance-demo.esm.js +135 -88
  123. package/dist/components/ui/performance-demo.js +135 -88
  124. package/dist/components/ui/semantic-input-system-demo.esm.js +117 -80
  125. package/dist/components/ui/semantic-input-system-demo.js +117 -80
  126. package/dist/components/ui/theme-customizer.esm.js +84 -52
  127. package/dist/components/ui/theme-customizer.js +84 -52
  128. package/dist/components/ui/theme-preview.esm.js +95 -43
  129. package/dist/components/ui/theme-preview.js +95 -43
  130. package/dist/components/ui/theme-switcher.esm.js +70 -44
  131. package/dist/components/ui/theme-switcher.js +70 -44
  132. package/dist/components/ui/theme-toggle.esm.js +3 -3
  133. package/dist/components/ui/theme-toggle.js +3 -3
  134. package/dist/components/ui/token-demo.esm.js +33 -21
  135. package/dist/components/ui/token-demo.js +33 -21
  136. package/dist/components/ui/touch-demo.esm.js +102 -73
  137. package/dist/components/ui/touch-demo.js +102 -73
  138. package/dist/components/ui/touch-friendly-interface-demo.esm.js +102 -64
  139. package/dist/components/ui/touch-friendly-interface-demo.js +102 -64
  140. package/dist/components/ui/touch-friendly-interface.esm.js +85 -61
  141. package/dist/components/ui/touch-friendly-interface.js +85 -61
  142. package/dist/hooks/use-accessibility-support.esm.js +115 -85
  143. package/dist/hooks/use-accessibility-support.js +115 -85
  144. package/dist/hooks/use-adaptive-layout.esm.js +56 -33
  145. package/dist/hooks/use-adaptive-layout.js +56 -33
  146. package/dist/hooks/use-advanced-patterns.esm.js +57 -42
  147. package/dist/hooks/use-advanced-patterns.js +57 -42
  148. package/dist/hooks/use-advanced-transition-system.esm.js +112 -71
  149. package/dist/hooks/use-advanced-transition-system.js +112 -71
  150. package/dist/hooks/use-animation-profile.esm.js +63 -34
  151. package/dist/hooks/use-animation-profile.js +63 -34
  152. package/dist/hooks/use-battery-animations.esm.js +80 -55
  153. package/dist/hooks/use-battery-animations.js +80 -55
  154. package/dist/hooks/use-battery-conscious-loading.esm.js +166 -123
  155. package/dist/hooks/use-battery-conscious-loading.js +166 -123
  156. package/dist/hooks/use-battery-optimization.esm.js +78 -55
  157. package/dist/hooks/use-battery-optimization.js +78 -55
  158. package/dist/hooks/use-battery-status.esm.js +73 -51
  159. package/dist/hooks/use-battery-status.js +73 -51
  160. package/dist/hooks/use-component-performance.esm.js +62 -47
  161. package/dist/hooks/use-component-performance.js +62 -47
  162. package/dist/hooks/use-device-loading-states.esm.js +152 -109
  163. package/dist/hooks/use-device-loading-states.js +152 -109
  164. package/dist/hooks/use-device.esm.js +25 -14
  165. package/dist/hooks/use-device.js +25 -14
  166. package/dist/hooks/use-enterprise-mobile-experience.esm.js +137 -88
  167. package/dist/hooks/use-enterprise-mobile-experience.js +137 -88
  168. package/dist/hooks/use-form-feedback.esm.js +124 -81
  169. package/dist/hooks/use-form-feedback.js +124 -81
  170. package/dist/hooks/use-form-performance.esm.js +127 -92
  171. package/dist/hooks/use-form-performance.js +127 -92
  172. package/dist/hooks/use-frame-rate.esm.js +56 -37
  173. package/dist/hooks/use-frame-rate.js +56 -37
  174. package/dist/hooks/use-gestures.esm.js +96 -72
  175. package/dist/hooks/use-gestures.js +96 -72
  176. package/dist/hooks/use-hardware-acceleration.esm.js +65 -37
  177. package/dist/hooks/use-hardware-acceleration.js +65 -37
  178. package/dist/hooks/use-input-accessibility.esm.js +157 -119
  179. package/dist/hooks/use-input-accessibility.js +157 -119
  180. package/dist/hooks/use-input-performance.esm.js +139 -104
  181. package/dist/hooks/use-input-performance.js +139 -104
  182. package/dist/hooks/use-layout-performance.esm.js +50 -29
  183. package/dist/hooks/use-layout-performance.js +50 -29
  184. package/dist/hooks/use-loading-accessibility.esm.js +209 -169
  185. package/dist/hooks/use-loading-accessibility.js +209 -169
  186. package/dist/hooks/use-loading-performance.esm.js +117 -93
  187. package/dist/hooks/use-loading-performance.js +117 -93
  188. package/dist/hooks/use-memory-usage.esm.js +57 -38
  189. package/dist/hooks/use-memory-usage.js +57 -38
  190. package/dist/hooks/use-mobile-form-layout.esm.js +111 -74
  191. package/dist/hooks/use-mobile-form-layout.js +111 -74
  192. package/dist/hooks/use-mobile-form-validation.esm.js +211 -144
  193. package/dist/hooks/use-mobile-form-validation.js +211 -144
  194. package/dist/hooks/use-mobile-keyboard-optimization.esm.js +154 -113
  195. package/dist/hooks/use-mobile-keyboard-optimization.js +154 -113
  196. package/dist/hooks/use-mobile-layout.esm.js +73 -51
  197. package/dist/hooks/use-mobile-layout.js +73 -51
  198. package/dist/hooks/use-mobile-optimization.esm.js +72 -44
  199. package/dist/hooks/use-mobile-optimization.js +72 -44
  200. package/dist/hooks/use-mobile-skeleton.esm.js +97 -64
  201. package/dist/hooks/use-mobile-skeleton.js +97 -64
  202. package/dist/hooks/use-mobile-touch.esm.js +128 -93
  203. package/dist/hooks/use-mobile-touch.js +128 -93
  204. package/dist/hooks/use-performance-throttling.esm.js +72 -48
  205. package/dist/hooks/use-performance-throttling.js +72 -48
  206. package/dist/hooks/use-performance.esm.js +90 -52
  207. package/dist/hooks/use-performance.js +90 -52
  208. package/dist/hooks/use-reusable-architecture.esm.js +94 -65
  209. package/dist/hooks/use-reusable-architecture.js +94 -65
  210. package/dist/hooks/use-semantic-input-types.esm.js +166 -124
  211. package/dist/hooks/use-semantic-input-types.js +166 -124
  212. package/dist/hooks/use-semantic-input.esm.js +178 -126
  213. package/dist/hooks/use-semantic-input.js +178 -126
  214. package/dist/hooks/use-tablet-layout.esm.js +67 -38
  215. package/dist/hooks/use-tablet-layout.js +67 -38
  216. package/dist/hooks/use-touch-friendly-input.esm.js +193 -149
  217. package/dist/hooks/use-touch-friendly-input.js +193 -149
  218. package/dist/hooks/use-touch-friendly-interface.esm.js +99 -67
  219. package/dist/hooks/use-touch-friendly-interface.js +99 -67
  220. package/dist/hooks/use-touch-optimization.esm.js +99 -72
  221. package/dist/hooks/use-touch-optimization.js +99 -72
  222. package/dist/index.esm.js +289 -280
  223. package/dist/index.js +289 -280
  224. package/dist/lib/utils.esm.js +1 -1
  225. package/dist/lib/utils.js +1 -1
  226. package/dist/plugins/theme-css-generator.esm.js +104 -55
  227. package/dist/plugins/theme-css-generator.js +104 -55
  228. package/dist/provider.esm.js +4 -4
  229. package/dist/provider.js +4 -4
  230. package/dist/styles.css +1 -1
  231. package/dist/theme.esm.js +633 -468
  232. package/dist/theme.js +633 -468
  233. package/dist/themes/ThemeContext.esm.js +15 -15
  234. package/dist/themes/ThemeContext.js +15 -15
  235. package/dist/themes/ThemeProvider.esm.js +25 -22
  236. package/dist/themes/ThemeProvider.js +25 -22
  237. package/dist/themes/accessibility.esm.js +147 -108
  238. package/dist/themes/accessibility.js +147 -108
  239. package/dist/themes/aria-patterns.esm.js +198 -162
  240. package/dist/themes/aria-patterns.js +198 -162
  241. package/dist/themes/base-themes.esm.js +14 -11
  242. package/dist/themes/base-themes.js +14 -11
  243. package/dist/themes/colorManager.esm.js +101 -83
  244. package/dist/themes/colorManager.js +101 -83
  245. package/dist/themes/examples/dark-theme.esm.js +133 -103
  246. package/dist/themes/examples/dark-theme.js +133 -103
  247. package/dist/themes/examples/minimal-theme.esm.js +83 -61
  248. package/dist/themes/examples/minimal-theme.js +83 -61
  249. package/dist/themes/focus-management.esm.js +202 -143
  250. package/dist/themes/focus-management.js +202 -143
  251. package/dist/themes/fontLoader.esm.js +28 -19
  252. package/dist/themes/fontLoader.js +28 -19
  253. package/dist/themes/high-contrast.esm.js +152 -104
  254. package/dist/themes/high-contrast.js +152 -104
  255. package/dist/themes/inheritance.esm.js +35 -27
  256. package/dist/themes/inheritance.js +35 -27
  257. package/dist/themes/keyboard-navigation.esm.js +152 -123
  258. package/dist/themes/keyboard-navigation.js +152 -123
  259. package/dist/themes/motion-reduction.esm.js +193 -133
  260. package/dist/themes/motion-reduction.js +193 -133
  261. package/dist/themes/navigation.esm.js +146 -146
  262. package/dist/themes/navigation.js +146 -146
  263. package/dist/themes/screen-reader.esm.js +159 -94
  264. package/dist/themes/screen-reader.js +159 -94
  265. package/dist/themes/systemThemeDetector.esm.js +42 -34
  266. package/dist/themes/systemThemeDetector.js +42 -34
  267. package/dist/themes/themeCSSUpdater.esm.js +21 -9
  268. package/dist/themes/themeCSSUpdater.js +21 -9
  269. package/dist/themes/themePersistence.esm.js +68 -47
  270. package/dist/themes/themePersistence.js +68 -47
  271. package/dist/themes/themes/stan-design.esm.js +633 -468
  272. package/dist/themes/themes/stan-design.js +633 -468
  273. package/dist/themes/types.esm.js +301 -287
  274. package/dist/themes/types.js +301 -287
  275. package/dist/themes/useSystemTheme.esm.js +4 -4
  276. package/dist/themes/useSystemTheme.js +4 -4
  277. package/dist/themes/useTheme.esm.js +4 -4
  278. package/dist/themes/useTheme.js +4 -4
  279. package/dist/themes/validation.esm.js +128 -77
  280. package/dist/themes/validation.js +128 -77
  281. package/dist/tokens/index.esm.js +15 -4
  282. package/dist/tokens/index.js +15 -4
  283. package/dist/tokens/tokenExporter.esm.js +87 -61
  284. package/dist/tokens/tokenExporter.js +87 -61
  285. package/dist/tokens/tokenGenerator.esm.js +86 -77
  286. package/dist/tokens/tokenGenerator.js +86 -77
  287. package/dist/tokens/tokenManager.esm.js +64 -51
  288. package/dist/tokens/tokenManager.js +64 -51
  289. package/dist/tokens/tokenValidator.esm.js +193 -147
  290. package/dist/tokens/tokenValidator.js +193 -147
  291. package/dist/tokens/types.esm.js +49 -35
  292. package/dist/tokens/types.js +49 -35
  293. package/dist/utils/bundle-analyzer.esm.js +83 -65
  294. package/dist/utils/bundle-analyzer.js +83 -65
  295. package/dist/utils/bundle-splitting.esm.js +142 -117
  296. package/dist/utils/bundle-splitting.js +142 -117
  297. package/dist/utils/lazy-loading.esm.js +132 -106
  298. package/dist/utils/lazy-loading.js +132 -106
  299. package/dist/utils/performance-monitor.esm.js +170 -129
  300. package/dist/utils/performance-monitor.js +170 -129
  301. package/dist/utils/tree-shaking.esm.js +69 -61
  302. package/dist/utils/tree-shaking.js +69 -61
  303. package/package.json +1 -1
  304. package/src/index.ts +146 -146
@@ -8,9 +8,18 @@ import { DesktopLayout } from './desktop-layout'
8
8
  export type DeviceType = 'mobile' | 'tablet' | 'desktop'
9
9
 
10
10
  export interface AdaptiveLayoutProps {
11
- children}
11
+ children: ReactNode
12
+ title?: string
13
+ description?: string
14
+ showHeader?: boolean
15
+ showSidebar?: boolean
16
+ enableTouchOptimization?: boolean
17
+ enablePerformanceMonitoring?: boolean
18
+ enableAdvancedFeatures?: boolean
19
+ className?: string
20
+ }
12
21
 
13
- export const AdaptiveLayout= ({
22
+ export const AdaptiveLayout: React.FC<AdaptiveLayoutProps> = ({
14
23
  children,
15
24
  title = 'Adaptive Layout',
16
25
  description = 'Automatically adapts to different device types with optimal layouts',
@@ -22,7 +31,7 @@ export const AdaptiveLayout= ({
22
31
  className = ''
23
32
  }) => {
24
33
  const [deviceType, setDeviceType] = useState<DeviceType>('desktop')
25
- const [screenSize, setScreenSize] = useState({ width, height})
34
+ const [screenSize, setScreenSize] = useState({ width: 0, height: 0 })
26
35
  const [orientation, setOrientation] = useState<'portrait' | 'landscape'>('landscape')
27
36
 
28
37
  // Device detection and adaptation
@@ -32,7 +41,7 @@ export const AdaptiveLayout= ({
32
41
  const height = window.innerHeight
33
42
 
34
43
  setScreenSize({ width, height })
35
- setOrientation(width > height ? 'landscape' )
44
+ setOrientation(width > height ? 'landscape' : 'portrait')
36
45
 
37
46
  // Device type detection based on screen size
38
47
  if (width < 768) {
@@ -65,7 +74,10 @@ export const AdaptiveLayout= ({
65
74
  }
66
75
 
67
76
  switch (deviceType) {
68
- case 'mobile'}
77
+ case 'mobile':
78
+ return (
79
+ <MobileLayout
80
+ {...commonProps}
69
81
  showFooter={true}
70
82
  enableTouchOptimization={enableTouchOptimization}
71
83
  >
@@ -73,7 +85,10 @@ export const AdaptiveLayout= ({
73
85
  </MobileLayout>
74
86
  )
75
87
 
76
- case 'tablet'}
88
+ case 'tablet':
89
+ return (
90
+ <TabletLayout
91
+ {...commonProps}
77
92
  showSidebar={showSidebar}
78
93
  enableTouchOptimization={enableTouchOptimization}
79
94
  >
@@ -81,7 +96,10 @@ export const AdaptiveLayout= ({
81
96
  </TabletLayout>
82
97
  )
83
98
 
84
- case 'desktop'}
99
+ case 'desktop':
100
+ return (
101
+ <DesktopLayout
102
+ {...commonProps}
85
103
  showSidebar={showSidebar}
86
104
  showTopBar={true}
87
105
  enableAdvancedFeatures={enableAdvancedFeatures}
@@ -90,7 +108,8 @@ export const AdaptiveLayout= ({
90
108
  </DesktopLayout>
91
109
  )
92
110
 
93
- default}</div>
111
+ default:
112
+ return <div>{children}</div>
94
113
  }
95
114
  }
96
115
 
@@ -4,9 +4,18 @@ import { Badge } from '../badge'
4
4
  import { Button } from '../button'
5
5
 
6
6
  export interface DesktopLayoutProps {
7
- children}
7
+ children: ReactNode
8
+ title?: string
9
+ description?: string
10
+ showHeader?: boolean
11
+ showSidebar?: boolean
12
+ showTopBar?: boolean
13
+ enablePerformanceMonitoring?: boolean
14
+ enableAdvancedFeatures?: boolean
15
+ className?: string
16
+ }
8
17
 
9
- export const DesktopLayout= ({
18
+ export const DesktopLayout: React.FC<DesktopLayoutProps> = ({
10
19
  children,
11
20
  title = 'Desktop Layout',
12
21
  description = 'Desktop-optimized layout with advanced features and performance monitoring',
@@ -18,10 +27,11 @@ export const DesktopLayout= ({
18
27
  className = ''
19
28
  }) => {
20
29
  const [performanceMetrics, setPerformanceMetrics] = useState({
21
- renderTime,
22
- memoryUsage,
23
- cpuUsage,
24
- fps})
30
+ renderTime: 0,
31
+ memoryUsage: 0,
32
+ cpuUsage: 0,
33
+ fps: 60
34
+ })
25
35
  const [sidebarCollapsed, setSidebarCollapsed] = useState(false)
26
36
 
27
37
  // Performance monitoring
@@ -39,9 +49,9 @@ export const DesktopLayout= ({
39
49
  setPerformanceMetrics(prev => ({
40
50
  ...prev,
41
51
  renderTime,
42
- memoryUsage) * 100,
43
- cpuUsage) * 50,
44
- fps) * 10
52
+ memoryUsage: Math.random() * 100,
53
+ cpuUsage: Math.random() * 50,
54
+ fps: 55 + Math.random() * 10
45
55
  }))
46
56
  }, 100)
47
57
  }
@@ -101,11 +111,13 @@ export const DesktopLayout= ({
101
111
  {/* Sidebar */}
102
112
  {showSidebar && (
103
113
  <aside className={`bg-cs-surface border-r border-cs-border transition-all duration-300 ${
104
- sidebarCollapsed ? 'w-16' }`}>
114
+ sidebarCollapsed ? 'w-16' : 'w-80'
115
+ }`}>
105
116
  <div className="p-4">
106
117
  <div className="flex items-center justify-between mb-6">
107
118
  <h3 className={`font-semibold text-cs-text-primary ${
108
- sidebarCollapsed ? 'hidden' }`}>
119
+ sidebarCollapsed ? 'hidden' : 'block'
120
+ }`}>
109
121
  Navigation
110
122
  </h3>
111
123
  <Button
@@ -114,33 +126,39 @@ export const DesktopLayout= ({
114
126
  onClick={() => setSidebarCollapsed(!sidebarCollapsed)}
115
127
  className="ml-auto"
116
128
  >
117
- {sidebarCollapsed ? '→' }
129
+ {sidebarCollapsed ? '→' : '←'}
118
130
  </Button>
119
131
  </div>
120
132
 
121
133
  <nav className="space-y-2">
122
134
  <Button variant="ghost" className={`w-full justify-start ${
123
- sidebarCollapsed ? 'px-2' }`}>
135
+ sidebarCollapsed ? 'px-2' : 'px-4'
136
+ }`}>
124
137
  🏠 {!sidebarCollapsed && 'Dashboard'}
125
138
  </Button>
126
139
  <Button variant="ghost" className={`w-full justify-start ${
127
- sidebarCollapsed ? 'px-2' }`}>
140
+ sidebarCollapsed ? 'px-2' : 'px-4'
141
+ }`}>
128
142
  🎨 {!sidebarCollapsed && 'Design System'}
129
143
  </Button>
130
144
  <Button variant="ghost" className={`w-full justify-start ${
131
- sidebarCollapsed ? 'px-2' }`}>
145
+ sidebarCollapsed ? 'px-2' : 'px-4'
146
+ }`}>
132
147
  📱 {!sidebarCollapsed && 'Mobile Features'}
133
148
  </Button>
134
149
  <Button variant="ghost" className={`w-full justify-start ${
135
- sidebarCollapsed ? 'px-2' }`}>
150
+ sidebarCollapsed ? 'px-2' : 'px-4'
151
+ }`}>
136
152
  🧪 {!sidebarCollapsed && 'Interactive Demos'}
137
153
  </Button>
138
154
  <Button variant="ghost" className={`w-full justify-start ${
139
- sidebarCollapsed ? 'px-2' }`}>
155
+ sidebarCollapsed ? 'px-2' : 'px-4'
156
+ }`}>
140
157
  📊 {!sidebarCollapsed && 'Performance'}
141
158
  </Button>
142
159
  <Button variant="ghost" className={`w-full justify-start ${
143
- sidebarCollapsed ? 'px-2' }`}>
160
+ sidebarCollapsed ? 'px-2' : 'px-4'
161
+ }`}>
144
162
  ⚙️ {!sidebarCollapsed && 'Configuration'}
145
163
  </Button>
146
164
  </nav>
@@ -163,7 +181,9 @@ export const DesktopLayout= ({
163
181
  </CardDescription>
164
182
  </CardHeader>
165
183
  <CardContent>
166
- <div className="grid grid-cols-2 xl="text-4xl font-bold text-cs-primary">
184
+ <div className="grid grid-cols-2 xl:grid-cols-4 gap-8 text-center">
185
+ <div>
186
+ <p className="text-4xl font-bold text-cs-primary">
167
187
  {performanceMetrics.renderTime.toFixed(1)}ms
168
188
  </p>
169
189
  <p className="text-base text-cs-text-secondary">Render Time</p>
@@ -4,9 +4,18 @@ import { Badge } from '../badge'
4
4
  import { Button } from '../button'
5
5
 
6
6
  export interface DesktopLayoutProps {
7
- children}
7
+ children: ReactNode
8
+ title?: string
9
+ description?: string
10
+ showHeader?: boolean
11
+ showSidebar?: boolean
12
+ showTopBar?: boolean
13
+ enablePerformanceMonitoring?: boolean
14
+ enableAdvancedFeatures?: boolean
15
+ className?: string
16
+ }
8
17
 
9
- export const DesktopLayout= ({
18
+ export const DesktopLayout: React.FC<DesktopLayoutProps> = ({
10
19
  children,
11
20
  title = 'Desktop Layout',
12
21
  description = 'Desktop-optimized layout with advanced features and performance monitoring',
@@ -18,10 +27,11 @@ export const DesktopLayout= ({
18
27
  className = ''
19
28
  }) => {
20
29
  const [performanceMetrics, setPerformanceMetrics] = useState({
21
- renderTime,
22
- memoryUsage,
23
- cpuUsage,
24
- fps})
30
+ renderTime: 0,
31
+ memoryUsage: 0,
32
+ cpuUsage: 0,
33
+ fps: 60
34
+ })
25
35
  const [sidebarCollapsed, setSidebarCollapsed] = useState(false)
26
36
 
27
37
  // Performance monitoring
@@ -39,9 +49,9 @@ export const DesktopLayout= ({
39
49
  setPerformanceMetrics(prev => ({
40
50
  ...prev,
41
51
  renderTime,
42
- memoryUsage) * 100,
43
- cpuUsage) * 50,
44
- fps) * 10
52
+ memoryUsage: Math.random() * 100,
53
+ cpuUsage: Math.random() * 50,
54
+ fps: 55 + Math.random() * 10
45
55
  }))
46
56
  }, 100)
47
57
  }
@@ -101,11 +111,13 @@ export const DesktopLayout= ({
101
111
  {/* Sidebar */}
102
112
  {showSidebar && (
103
113
  <aside className={`bg-cs-surface border-r border-cs-border transition-all duration-300 ${
104
- sidebarCollapsed ? 'w-16' }`}>
114
+ sidebarCollapsed ? 'w-16' : 'w-80'
115
+ }`}>
105
116
  <div className="p-4">
106
117
  <div className="flex items-center justify-between mb-6">
107
118
  <h3 className={`font-semibold text-cs-text-primary ${
108
- sidebarCollapsed ? 'hidden' }`}>
119
+ sidebarCollapsed ? 'hidden' : 'block'
120
+ }`}>
109
121
  Navigation
110
122
  </h3>
111
123
  <Button
@@ -114,33 +126,39 @@ export const DesktopLayout= ({
114
126
  onClick={() => setSidebarCollapsed(!sidebarCollapsed)}
115
127
  className="ml-auto"
116
128
  >
117
- {sidebarCollapsed ? '→' }
129
+ {sidebarCollapsed ? '→' : '←'}
118
130
  </Button>
119
131
  </div>
120
132
 
121
133
  <nav className="space-y-2">
122
134
  <Button variant="ghost" className={`w-full justify-start ${
123
- sidebarCollapsed ? 'px-2' }`}>
135
+ sidebarCollapsed ? 'px-2' : 'px-4'
136
+ }`}>
124
137
  🏠 {!sidebarCollapsed && 'Dashboard'}
125
138
  </Button>
126
139
  <Button variant="ghost" className={`w-full justify-start ${
127
- sidebarCollapsed ? 'px-2' }`}>
140
+ sidebarCollapsed ? 'px-2' : 'px-4'
141
+ }`}>
128
142
  🎨 {!sidebarCollapsed && 'Design System'}
129
143
  </Button>
130
144
  <Button variant="ghost" className={`w-full justify-start ${
131
- sidebarCollapsed ? 'px-2' }`}>
145
+ sidebarCollapsed ? 'px-2' : 'px-4'
146
+ }`}>
132
147
  📱 {!sidebarCollapsed && 'Mobile Features'}
133
148
  </Button>
134
149
  <Button variant="ghost" className={`w-full justify-start ${
135
- sidebarCollapsed ? 'px-2' }`}>
150
+ sidebarCollapsed ? 'px-2' : 'px-4'
151
+ }`}>
136
152
  🧪 {!sidebarCollapsed && 'Interactive Demos'}
137
153
  </Button>
138
154
  <Button variant="ghost" className={`w-full justify-start ${
139
- sidebarCollapsed ? 'px-2' }`}>
155
+ sidebarCollapsed ? 'px-2' : 'px-4'
156
+ }`}>
140
157
  📊 {!sidebarCollapsed && 'Performance'}
141
158
  </Button>
142
159
  <Button variant="ghost" className={`w-full justify-start ${
143
- sidebarCollapsed ? 'px-2' }`}>
160
+ sidebarCollapsed ? 'px-2' : 'px-4'
161
+ }`}>
144
162
  ⚙️ {!sidebarCollapsed && 'Configuration'}
145
163
  </Button>
146
164
  </nav>
@@ -163,7 +181,9 @@ export const DesktopLayout= ({
163
181
  </CardDescription>
164
182
  </CardHeader>
165
183
  <CardContent>
166
- <div className="grid grid-cols-2 xl="text-4xl font-bold text-cs-primary">
184
+ <div className="grid grid-cols-2 xl:grid-cols-4 gap-8 text-center">
185
+ <div>
186
+ <p className="text-4xl font-bold text-cs-primary">
167
187
  {performanceMetrics.renderTime.toFixed(1)}ms
168
188
  </p>
169
189
  <p className="text-base text-cs-text-secondary">Render Time</p>
@@ -3,9 +3,17 @@ import { Card, CardContent, CardHeader, CardTitle } from '../card'
3
3
  import { Badge } from '../badge'
4
4
 
5
5
  export interface MobileLayoutProps {
6
- children}
6
+ children: ReactNode
7
+ title?: string
8
+ description?: string
9
+ showHeader?: boolean
10
+ showFooter?: boolean
11
+ enableTouchOptimization?: boolean
12
+ enablePerformanceMonitoring?: boolean
13
+ className?: string
14
+ }
7
15
 
8
- export const MobileLayout= ({
16
+ export const MobileLayout: React.FC<MobileLayoutProps> = ({
9
17
  children,
10
18
  title = 'Mobile Layout',
11
19
  description = 'Touch-optimized mobile layout with performance monitoring',
@@ -17,9 +25,10 @@ export const MobileLayout= ({
17
25
  }) => {
18
26
  const [touchActive, setTouchActive] = useState(false)
19
27
  const [performanceMetrics, setPerformanceMetrics] = useState({
20
- renderTime,
21
- memoryUsage,
22
- touchResponsiveness})
28
+ renderTime: 0,
29
+ memoryUsage: 0,
30
+ touchResponsiveness: 0
31
+ })
23
32
 
24
33
  // Touch optimization
25
34
  useEffect(() => {
@@ -28,8 +37,8 @@ export const MobileLayout= ({
28
37
  const handleTouchStart = () => setTouchActive(true)
29
38
  const handleTouchEnd = () => setTouchActive(false)
30
39
 
31
- document.addEventListener('touchstart', handleTouchStart, { passive})
32
- document.addEventListener('touchend', handleTouchEnd, { passive})
40
+ document.addEventListener('touchstart', handleTouchStart, { passive: true })
41
+ document.addEventListener('touchend', handleTouchEnd, { passive: true })
33
42
 
34
43
  return () => {
35
44
  document.removeEventListener('touchstart', handleTouchStart)
@@ -52,8 +61,9 @@ export const MobileLayout= ({
52
61
  setPerformanceMetrics(prev => ({
53
62
  ...prev,
54
63
  renderTime,
55
- memoryUsage) * 100,
56
- touchResponsiveness}))
64
+ memoryUsage: Math.random() * 100,
65
+ touchResponsiveness: touchActive ? 95 : 85
66
+ }))
57
67
  }, 100)
58
68
  }
59
69
 
@@ -3,9 +3,17 @@ import { Card, CardContent, CardHeader, CardTitle } from '../card'
3
3
  import { Badge } from '../badge'
4
4
 
5
5
  export interface MobileLayoutProps {
6
- children}
6
+ children: ReactNode
7
+ title?: string
8
+ description?: string
9
+ showHeader?: boolean
10
+ showFooter?: boolean
11
+ enableTouchOptimization?: boolean
12
+ enablePerformanceMonitoring?: boolean
13
+ className?: string
14
+ }
7
15
 
8
- export const MobileLayout= ({
16
+ export const MobileLayout: React.FC<MobileLayoutProps> = ({
9
17
  children,
10
18
  title = 'Mobile Layout',
11
19
  description = 'Touch-optimized mobile layout with performance monitoring',
@@ -17,9 +25,10 @@ export const MobileLayout= ({
17
25
  }) => {
18
26
  const [touchActive, setTouchActive] = useState(false)
19
27
  const [performanceMetrics, setPerformanceMetrics] = useState({
20
- renderTime,
21
- memoryUsage,
22
- touchResponsiveness})
28
+ renderTime: 0,
29
+ memoryUsage: 0,
30
+ touchResponsiveness: 0
31
+ })
23
32
 
24
33
  // Touch optimization
25
34
  useEffect(() => {
@@ -28,8 +37,8 @@ export const MobileLayout= ({
28
37
  const handleTouchStart = () => setTouchActive(true)
29
38
  const handleTouchEnd = () => setTouchActive(false)
30
39
 
31
- document.addEventListener('touchstart', handleTouchStart, { passive})
32
- document.addEventListener('touchend', handleTouchEnd, { passive})
40
+ document.addEventListener('touchstart', handleTouchStart, { passive: true })
41
+ document.addEventListener('touchend', handleTouchEnd, { passive: true })
33
42
 
34
43
  return () => {
35
44
  document.removeEventListener('touchstart', handleTouchStart)
@@ -52,8 +61,9 @@ export const MobileLayout= ({
52
61
  setPerformanceMetrics(prev => ({
53
62
  ...prev,
54
63
  renderTime,
55
- memoryUsage) * 100,
56
- touchResponsiveness}))
64
+ memoryUsage: Math.random() * 100,
65
+ touchResponsiveness: touchActive ? 95 : 85
66
+ }))
57
67
  }, 100)
58
68
  }
59
69
 
@@ -4,9 +4,17 @@ import { Badge } from '../badge'
4
4
  import { Button } from '../button'
5
5
 
6
6
  export interface TabletLayoutProps {
7
- children}
7
+ children: ReactNode
8
+ title?: string
9
+ description?: string
10
+ showHeader?: boolean
11
+ showSidebar?: boolean
12
+ enableTouchOptimization?: boolean
13
+ enablePerformanceMonitoring?: boolean
14
+ className?: string
15
+ }
8
16
 
9
- export const TabletLayout= ({
17
+ export const TabletLayout: React.FC<TabletLayoutProps> = ({
10
18
  children,
11
19
  title = 'Tablet Layout',
12
20
  description = 'Tablet-optimized layout with touch and performance features',
@@ -18,16 +26,18 @@ export const TabletLayout= ({
18
26
  }) => {
19
27
  const [orientation, setOrientation] = useState<'portrait' | 'landscape'>('portrait')
20
28
  const [performanceMetrics, setPerformanceMetrics] = useState({
21
- renderTime,
22
- memoryUsage,
23
- touchResponsiveness,
24
- orientation})
29
+ renderTime: 0,
30
+ memoryUsage: 0,
31
+ touchResponsiveness: 0,
32
+ orientation: 'portrait'
33
+ })
25
34
 
26
35
  // Orientation detection
27
36
  useEffect(() => {
28
37
  const handleOrientationChange = () => {
29
- const newOrientation = window.innerWidth > window.innerHeight ? 'landscape' )
30
- setPerformanceMetrics(prev => ({ ...prev, orientation}))
38
+ const newOrientation = window.innerWidth > window.innerHeight ? 'landscape' : 'portrait'
39
+ setOrientation(newOrientation)
40
+ setPerformanceMetrics(prev => ({ ...prev, orientation: newOrientation }))
31
41
  }
32
42
 
33
43
  handleOrientationChange()
@@ -55,8 +65,9 @@ export const TabletLayout= ({
55
65
  setPerformanceMetrics(prev => ({
56
66
  ...prev,
57
67
  renderTime,
58
- memoryUsage) * 100,
59
- touchResponsiveness=== 'landscape' ? 90 }))
68
+ memoryUsage: Math.random() * 100,
69
+ touchResponsiveness: orientation === 'landscape' ? 90 : 95
70
+ }))
60
71
  }, 100)
61
72
  }
62
73
 
@@ -82,8 +93,8 @@ export const TabletLayout= ({
82
93
  <Badge variant="outline">
83
94
  Tablet
84
95
  </Badge>
85
- <Badge variant={orientation === 'landscape' ? 'default' }>
86
- {orientation === 'landscape' ? 'Landscape' }
96
+ <Badge variant={orientation === 'landscape' ? 'default' : 'secondary'}>
97
+ {orientation === 'landscape' ? 'Landscape' : 'Portrait'}
87
98
  </Badge>
88
99
  {enableTouchOptimization && (
89
100
  <Badge variant="default">
@@ -104,7 +115,8 @@ export const TabletLayout= ({
104
115
  <div className="flex flex-1">
105
116
  {/* Sidebar */}
106
117
  {showSidebar && (
107
- <aside className="w-64 bg-cs-surface border-r border-cs-border p-4 hidden lg="space-y-4">
118
+ <aside className="w-64 bg-cs-surface border-r border-cs-border p-4 hidden lg:block">
119
+ <div className="space-y-4">
108
120
  <h3 className="font-semibold text-cs-text-primary">Navigation</h3>
109
121
  <nav className="space-y-2">
110
122
  <Button variant="ghost" className="w-full justify-start">
@@ -142,7 +154,9 @@ export const TabletLayout= ({
142
154
  </CardDescription>
143
155
  </CardHeader>
144
156
  <CardContent>
145
- <div className="grid grid-cols-2 lg="text-3xl font-bold text-cs-primary">
157
+ <div className="grid grid-cols-2 lg:grid-cols-4 gap-6 text-center">
158
+ <div>
159
+ <p className="text-3xl font-bold text-cs-primary">
146
160
  {performanceMetrics.renderTime.toFixed(1)}ms
147
161
  </p>
148
162
  <p className="text-sm text-cs-text-secondary">Render Time</p>
@@ -4,9 +4,17 @@ import { Badge } from '../badge'
4
4
  import { Button } from '../button'
5
5
 
6
6
  export interface TabletLayoutProps {
7
- children}
7
+ children: ReactNode
8
+ title?: string
9
+ description?: string
10
+ showHeader?: boolean
11
+ showSidebar?: boolean
12
+ enableTouchOptimization?: boolean
13
+ enablePerformanceMonitoring?: boolean
14
+ className?: string
15
+ }
8
16
 
9
- export const TabletLayout= ({
17
+ export const TabletLayout: React.FC<TabletLayoutProps> = ({
10
18
  children,
11
19
  title = 'Tablet Layout',
12
20
  description = 'Tablet-optimized layout with touch and performance features',
@@ -18,16 +26,18 @@ export const TabletLayout= ({
18
26
  }) => {
19
27
  const [orientation, setOrientation] = useState<'portrait' | 'landscape'>('portrait')
20
28
  const [performanceMetrics, setPerformanceMetrics] = useState({
21
- renderTime,
22
- memoryUsage,
23
- touchResponsiveness,
24
- orientation})
29
+ renderTime: 0,
30
+ memoryUsage: 0,
31
+ touchResponsiveness: 0,
32
+ orientation: 'portrait'
33
+ })
25
34
 
26
35
  // Orientation detection
27
36
  useEffect(() => {
28
37
  const handleOrientationChange = () => {
29
- const newOrientation = window.innerWidth > window.innerHeight ? 'landscape' )
30
- setPerformanceMetrics(prev => ({ ...prev, orientation}))
38
+ const newOrientation = window.innerWidth > window.innerHeight ? 'landscape' : 'portrait'
39
+ setOrientation(newOrientation)
40
+ setPerformanceMetrics(prev => ({ ...prev, orientation: newOrientation }))
31
41
  }
32
42
 
33
43
  handleOrientationChange()
@@ -55,8 +65,9 @@ export const TabletLayout= ({
55
65
  setPerformanceMetrics(prev => ({
56
66
  ...prev,
57
67
  renderTime,
58
- memoryUsage) * 100,
59
- touchResponsiveness=== 'landscape' ? 90 }))
68
+ memoryUsage: Math.random() * 100,
69
+ touchResponsiveness: orientation === 'landscape' ? 90 : 95
70
+ }))
60
71
  }, 100)
61
72
  }
62
73
 
@@ -82,8 +93,8 @@ export const TabletLayout= ({
82
93
  <Badge variant="outline">
83
94
  Tablet
84
95
  </Badge>
85
- <Badge variant={orientation === 'landscape' ? 'default' }>
86
- {orientation === 'landscape' ? 'Landscape' }
96
+ <Badge variant={orientation === 'landscape' ? 'default' : 'secondary'}>
97
+ {orientation === 'landscape' ? 'Landscape' : 'Portrait'}
87
98
  </Badge>
88
99
  {enableTouchOptimization && (
89
100
  <Badge variant="default">
@@ -104,7 +115,8 @@ export const TabletLayout= ({
104
115
  <div className="flex flex-1">
105
116
  {/* Sidebar */}
106
117
  {showSidebar && (
107
- <aside className="w-64 bg-cs-surface border-r border-cs-border p-4 hidden lg="space-y-4">
118
+ <aside className="w-64 bg-cs-surface border-r border-cs-border p-4 hidden lg:block">
119
+ <div className="space-y-4">
108
120
  <h3 className="font-semibold text-cs-text-primary">Navigation</h3>
109
121
  <nav className="space-y-2">
110
122
  <Button variant="ghost" className="w-full justify-start">
@@ -142,7 +154,9 @@ export const TabletLayout= ({
142
154
  </CardDescription>
143
155
  </CardHeader>
144
156
  <CardContent>
145
- <div className="grid grid-cols-2 lg="text-3xl font-bold text-cs-primary">
157
+ <div className="grid grid-cols-2 lg:grid-cols-4 gap-6 text-center">
158
+ <div>
159
+ <p className="text-3xl font-bold text-cs-primary">
146
160
  {performanceMetrics.renderTime.toFixed(1)}ms
147
161
  </p>
148
162
  <p className="text-sm text-cs-text-secondary">Render Time</p>