@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.7 โ†’ 0.2.9

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 (462) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/components/ui/accessibility-demo.d.ts +259 -0
  3. package/dist/components/ui/accessibility-demo.esm.js +265 -0
  4. package/dist/components/ui/accessibility-demo.js +265 -0
  5. package/dist/components/ui/advanced-component-architecture-demo.d.ts +718 -0
  6. package/dist/components/ui/advanced-component-architecture-demo.esm.js +860 -0
  7. package/dist/components/ui/advanced-component-architecture-demo.js +860 -0
  8. package/dist/components/ui/advanced-transition-system-demo.d.ts +660 -0
  9. package/dist/components/ui/advanced-transition-system-demo.esm.js +624 -0
  10. package/dist/components/ui/advanced-transition-system-demo.js +624 -0
  11. package/dist/components/ui/advanced-transition-system.d.ts +391 -0
  12. package/dist/components/ui/advanced-transition-system.esm.js +351 -0
  13. package/dist/components/ui/advanced-transition-system.js +351 -0
  14. package/dist/components/ui/animation/animated-container.d.ts +162 -0
  15. package/dist/components/ui/animation/animated-container.esm.js +143 -0
  16. package/dist/components/ui/animation/animated-container.js +143 -0
  17. package/dist/components/ui/animation/index.d.ts +9 -0
  18. package/dist/components/ui/animation/index.esm.js +19 -0
  19. package/dist/components/ui/animation/index.js +19 -0
  20. package/dist/components/ui/animation/staggered-container.d.ts +64 -0
  21. package/dist/components/ui/animation/staggered-container.esm.js +59 -0
  22. package/dist/components/ui/animation/staggered-container.js +59 -0
  23. package/dist/components/ui/animation-demo.d.ts +238 -0
  24. package/dist/components/ui/animation-demo.esm.js +218 -0
  25. package/dist/components/ui/animation-demo.js +218 -0
  26. package/dist/components/ui/badge.d.ts +28 -0
  27. package/dist/components/ui/badge.esm.js +30 -0
  28. package/dist/components/ui/badge.js +30 -0
  29. package/dist/components/ui/battery-conscious-animation-demo.d.ts +561 -0
  30. package/dist/components/ui/battery-conscious-animation-demo.esm.js +533 -0
  31. package/dist/components/ui/battery-conscious-animation-demo.js +533 -0
  32. package/dist/components/ui/border-radius-shadow-demo.d.ts +183 -0
  33. package/dist/components/ui/border-radius-shadow-demo.esm.js +176 -0
  34. package/dist/components/ui/border-radius-shadow-demo.js +176 -0
  35. package/dist/components/ui/button.d.ts +33 -0
  36. package/dist/components/ui/button.esm.js +30 -0
  37. package/dist/components/ui/button.js +30 -0
  38. package/dist/components/ui/card.d.ts +205 -0
  39. package/dist/components/ui/card.esm.js +182 -0
  40. package/dist/components/ui/card.js +182 -0
  41. package/dist/components/ui/checkbox.d.ts +26 -0
  42. package/dist/components/ui/checkbox.esm.js +30 -0
  43. package/dist/components/ui/checkbox.js +30 -0
  44. package/dist/components/ui/color-preview.d.ts +402 -0
  45. package/dist/components/ui/color-preview.esm.js +388 -0
  46. package/dist/components/ui/color-preview.js +388 -0
  47. package/dist/components/ui/data-display/chart.d.ts +646 -0
  48. package/dist/components/ui/data-display/chart.esm.js +625 -0
  49. package/dist/components/ui/data-display/chart.js +625 -0
  50. package/dist/components/ui/data-display/data-grid-simple.d.ts +73 -0
  51. package/dist/components/ui/data-display/data-grid-simple.esm.js +76 -0
  52. package/dist/components/ui/data-display/data-grid-simple.js +76 -0
  53. package/dist/components/ui/data-display/data-grid.d.ts +670 -0
  54. package/dist/components/ui/data-display/data-grid.esm.js +667 -0
  55. package/dist/components/ui/data-display/data-grid.js +667 -0
  56. package/dist/components/ui/data-display/list.d.ts +448 -0
  57. package/dist/components/ui/data-display/list.esm.js +448 -0
  58. package/dist/components/ui/data-display/list.js +448 -0
  59. package/dist/components/ui/data-display/table.d.ts +472 -0
  60. package/dist/components/ui/data-display/table.esm.js +474 -0
  61. package/dist/components/ui/data-display/table.js +474 -0
  62. package/dist/components/ui/data-display/timeline.d.ts +433 -0
  63. package/dist/components/ui/data-display/timeline.esm.js +436 -0
  64. package/dist/components/ui/data-display/timeline.js +436 -0
  65. package/dist/components/ui/data-display/tree.d.ts +594 -0
  66. package/dist/components/ui/data-display/tree.esm.js +570 -0
  67. package/dist/components/ui/data-display/tree.js +570 -0
  68. package/dist/components/ui/data-display/types.d.ts +534 -0
  69. package/dist/components/ui/data-display/types.esm.js +511 -0
  70. package/dist/components/ui/data-display/types.js +511 -0
  71. package/dist/components/ui/enterprise-mobile-experience-demo.d.ts +735 -0
  72. package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +699 -0
  73. package/dist/components/ui/enterprise-mobile-experience-demo.js +699 -0
  74. package/dist/components/ui/enterprise-mobile-experience.d.ts +461 -0
  75. package/dist/components/ui/enterprise-mobile-experience.esm.js +413 -0
  76. package/dist/components/ui/enterprise-mobile-experience.js +413 -0
  77. package/dist/components/ui/feedback/alert.d.ts +154 -0
  78. package/dist/components/ui/feedback/alert.esm.js +150 -0
  79. package/dist/components/ui/feedback/alert.js +150 -0
  80. package/dist/components/ui/feedback/progress.d.ts +288 -0
  81. package/dist/components/ui/feedback/progress.esm.js +269 -0
  82. package/dist/components/ui/feedback/progress.js +269 -0
  83. package/dist/components/ui/feedback/skeleton.d.ts +182 -0
  84. package/dist/components/ui/feedback/skeleton.esm.js +175 -0
  85. package/dist/components/ui/feedback/skeleton.js +175 -0
  86. package/dist/components/ui/feedback/toast.d.ts +277 -0
  87. package/dist/components/ui/feedback/toast.esm.js +256 -0
  88. package/dist/components/ui/feedback/toast.js +256 -0
  89. package/dist/components/ui/feedback/types.d.ts +123 -0
  90. package/dist/components/ui/feedback/types.esm.js +125 -0
  91. package/dist/components/ui/feedback/types.js +125 -0
  92. package/dist/components/ui/font-preview.d.ts +282 -0
  93. package/dist/components/ui/font-preview.esm.js +286 -0
  94. package/dist/components/ui/font-preview.js +286 -0
  95. package/dist/components/ui/form-demo.d.ts +544 -0
  96. package/dist/components/ui/form-demo.esm.js +516 -0
  97. package/dist/components/ui/form-demo.js +516 -0
  98. package/dist/components/ui/hardware-acceleration-demo.d.ts +540 -0
  99. package/dist/components/ui/hardware-acceleration-demo.esm.js +497 -0
  100. package/dist/components/ui/hardware-acceleration-demo.js +497 -0
  101. package/dist/components/ui/input.d.ts +33 -0
  102. package/dist/components/ui/input.esm.js +32 -0
  103. package/dist/components/ui/input.js +32 -0
  104. package/dist/components/ui/label.d.ts +13 -0
  105. package/dist/components/ui/label.esm.js +16 -0
  106. package/dist/components/ui/label.js +16 -0
  107. package/dist/components/ui/layout-demo.d.ts +352 -0
  108. package/dist/components/ui/layout-demo.esm.js +342 -0
  109. package/dist/components/ui/layout-demo.js +342 -0
  110. package/dist/components/ui/layouts/adaptive-layout.d.ts +132 -0
  111. package/dist/components/ui/layouts/adaptive-layout.esm.js +120 -0
  112. package/dist/components/ui/layouts/adaptive-layout.js +120 -0
  113. package/dist/components/ui/layouts/desktop-layout.d.ts +219 -0
  114. package/dist/components/ui/layouts/desktop-layout.esm.js +204 -0
  115. package/dist/components/ui/layouts/desktop-layout.js +204 -0
  116. package/dist/components/ui/layouts/index.d.ts +5 -0
  117. package/dist/components/ui/layouts/index.esm.js +10 -0
  118. package/dist/components/ui/layouts/index.js +10 -0
  119. package/dist/components/ui/layouts/mobile-layout.d.ts +158 -0
  120. package/dist/components/ui/layouts/mobile-layout.esm.js +152 -0
  121. package/dist/components/ui/layouts/mobile-layout.js +152 -0
  122. package/dist/components/ui/layouts/tablet-layout.d.ts +192 -0
  123. package/dist/components/ui/layouts/tablet-layout.esm.js +183 -0
  124. package/dist/components/ui/layouts/tablet-layout.js +183 -0
  125. package/dist/components/ui/mobile-form-validation.d.ts +439 -0
  126. package/dist/components/ui/mobile-form-validation.esm.js +418 -0
  127. package/dist/components/ui/mobile-form-validation.js +418 -0
  128. package/dist/components/ui/mobile-input-demo.d.ts +197 -0
  129. package/dist/components/ui/mobile-input-demo.esm.js +195 -0
  130. package/dist/components/ui/mobile-input-demo.js +195 -0
  131. package/dist/components/ui/mobile-input.d.ts +273 -0
  132. package/dist/components/ui/mobile-input.esm.js +216 -0
  133. package/dist/components/ui/mobile-input.js +216 -0
  134. package/dist/components/ui/mobile-skeleton-loading-demo.d.ts +628 -0
  135. package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +621 -0
  136. package/dist/components/ui/mobile-skeleton-loading-demo.js +621 -0
  137. package/dist/components/ui/navigation/breadcrumb.d.ts +149 -0
  138. package/dist/components/ui/navigation/breadcrumb.esm.js +155 -0
  139. package/dist/components/ui/navigation/breadcrumb.js +155 -0
  140. package/dist/components/ui/navigation/index.d.ts +25 -0
  141. package/dist/components/ui/navigation/index.esm.js +14 -0
  142. package/dist/components/ui/navigation/index.js +14 -0
  143. package/dist/components/ui/navigation/menu.d.ts +366 -0
  144. package/dist/components/ui/navigation/menu.esm.js +360 -0
  145. package/dist/components/ui/navigation/menu.js +360 -0
  146. package/dist/components/ui/navigation/navigation-demo.d.ts +169 -0
  147. package/dist/components/ui/navigation/navigation-demo.esm.js +317 -0
  148. package/dist/components/ui/navigation/navigation-demo.js +317 -0
  149. package/dist/components/ui/navigation/pagination.d.ts +261 -0
  150. package/dist/components/ui/navigation/pagination.esm.js +260 -0
  151. package/dist/components/ui/navigation/pagination.js +260 -0
  152. package/dist/components/ui/navigation/sidebar.d.ts +375 -0
  153. package/dist/components/ui/navigation/sidebar.esm.js +369 -0
  154. package/dist/components/ui/navigation/sidebar.js +369 -0
  155. package/dist/components/ui/navigation/stepper.d.ts +294 -0
  156. package/dist/components/ui/navigation/stepper.esm.js +292 -0
  157. package/dist/components/ui/navigation/stepper.js +292 -0
  158. package/dist/components/ui/navigation/tabs.d.ts +196 -0
  159. package/dist/components/ui/navigation/tabs.esm.js +194 -0
  160. package/dist/components/ui/navigation/tabs.js +194 -0
  161. package/dist/components/ui/navigation/types.d.ts +293 -0
  162. package/dist/components/ui/navigation/types.esm.js +298 -0
  163. package/dist/components/ui/navigation/types.js +298 -0
  164. package/dist/components/ui/overlay/backdrop.d.ts +79 -0
  165. package/dist/components/ui/overlay/backdrop.esm.js +80 -0
  166. package/dist/components/ui/overlay/backdrop.js +80 -0
  167. package/dist/components/ui/overlay/focus-manager.d.ts +141 -0
  168. package/dist/components/ui/overlay/focus-manager.esm.js +141 -0
  169. package/dist/components/ui/overlay/focus-manager.js +141 -0
  170. package/dist/components/ui/overlay/index.d.ts +27 -0
  171. package/dist/components/ui/overlay/index.esm.js +16 -0
  172. package/dist/components/ui/overlay/index.js +16 -0
  173. package/dist/components/ui/overlay/modal.d.ts +262 -0
  174. package/dist/components/ui/overlay/modal.esm.js +266 -0
  175. package/dist/components/ui/overlay/modal.js +266 -0
  176. package/dist/components/ui/overlay/overlay-manager.d.ts +107 -0
  177. package/dist/components/ui/overlay/overlay-manager.esm.js +105 -0
  178. package/dist/components/ui/overlay/overlay-manager.js +105 -0
  179. package/dist/components/ui/overlay/popover.d.ts +450 -0
  180. package/dist/components/ui/overlay/popover.esm.js +446 -0
  181. package/dist/components/ui/overlay/popover.js +446 -0
  182. package/dist/components/ui/overlay/portal.d.ts +75 -0
  183. package/dist/components/ui/overlay/portal.esm.js +79 -0
  184. package/dist/components/ui/overlay/portal.js +79 -0
  185. package/dist/components/ui/overlay/tooltip.d.ts +298 -0
  186. package/dist/components/ui/overlay/tooltip.esm.js +288 -0
  187. package/dist/components/ui/overlay/tooltip.js +288 -0
  188. package/dist/components/ui/overlay/types.d.ts +194 -0
  189. package/dist/components/ui/overlay/types.esm.js +195 -0
  190. package/dist/components/ui/overlay/types.js +195 -0
  191. package/dist/components/ui/performance-demo.d.ts +583 -0
  192. package/dist/components/ui/performance-demo.esm.js +549 -0
  193. package/dist/components/ui/performance-demo.js +549 -0
  194. package/dist/components/ui/semantic-input-system-demo.d.ts +490 -0
  195. package/dist/components/ui/semantic-input-system-demo.esm.js +465 -0
  196. package/dist/components/ui/semantic-input-system-demo.js +465 -0
  197. package/dist/components/ui/theme-customizer.d.ts +378 -0
  198. package/dist/components/ui/theme-customizer.esm.js +354 -0
  199. package/dist/components/ui/theme-customizer.js +354 -0
  200. package/dist/components/ui/theme-preview.d.ts +305 -0
  201. package/dist/components/ui/theme-preview.esm.js +258 -0
  202. package/dist/components/ui/theme-preview.js +258 -0
  203. package/dist/components/ui/theme-switcher.d.ts +259 -0
  204. package/dist/components/ui/theme-switcher.esm.js +238 -0
  205. package/dist/components/ui/theme-switcher.js +238 -0
  206. package/dist/components/ui/theme-toggle.d.ts +34 -0
  207. package/dist/components/ui/theme-toggle.esm.js +38 -0
  208. package/dist/components/ui/theme-toggle.js +38 -0
  209. package/dist/components/ui/token-demo.d.ts +188 -0
  210. package/dist/components/ui/token-demo.esm.js +183 -0
  211. package/dist/components/ui/token-demo.js +183 -0
  212. package/dist/components/ui/touch-demo.d.ts +455 -0
  213. package/dist/components/ui/touch-demo.esm.js +433 -0
  214. package/dist/components/ui/touch-demo.js +433 -0
  215. package/dist/components/ui/touch-friendly-interface-demo.d.ts +512 -0
  216. package/dist/components/ui/touch-friendly-interface-demo.esm.js +481 -0
  217. package/dist/components/ui/touch-friendly-interface-demo.js +481 -0
  218. package/dist/components/ui/touch-friendly-interface.d.ts +292 -0
  219. package/dist/components/ui/touch-friendly-interface.esm.js +272 -0
  220. package/dist/components/ui/touch-friendly-interface.js +272 -0
  221. package/dist/hooks/index.d.ts +161 -0
  222. package/dist/hooks/index.esm.js +190 -0
  223. package/dist/hooks/index.js +190 -0
  224. package/dist/hooks/use-accessibility-support.d.ts +516 -0
  225. package/dist/hooks/use-accessibility-support.esm.js +488 -0
  226. package/dist/hooks/use-accessibility-support.js +488 -0
  227. package/dist/hooks/use-adaptive-layout.d.ts +287 -0
  228. package/dist/hooks/use-adaptive-layout.esm.js +266 -0
  229. package/dist/hooks/use-adaptive-layout.js +266 -0
  230. package/dist/hooks/use-advanced-patterns.d.ts +292 -0
  231. package/dist/hooks/use-advanced-patterns.esm.js +279 -0
  232. package/dist/hooks/use-advanced-patterns.js +279 -0
  233. package/dist/hooks/use-advanced-transition-system.d.ts +390 -0
  234. package/dist/hooks/use-advanced-transition-system.esm.js +352 -0
  235. package/dist/hooks/use-advanced-transition-system.js +352 -0
  236. package/dist/hooks/use-animation-profile.d.ts +285 -0
  237. package/dist/hooks/use-animation-profile.esm.js +259 -0
  238. package/dist/hooks/use-animation-profile.js +259 -0
  239. package/dist/hooks/use-battery-animations.d.ts +382 -0
  240. package/dist/hooks/use-battery-animations.esm.js +359 -0
  241. package/dist/hooks/use-battery-animations.js +359 -0
  242. package/dist/hooks/use-battery-conscious-loading.d.ts +473 -0
  243. package/dist/hooks/use-battery-conscious-loading.esm.js +432 -0
  244. package/dist/hooks/use-battery-conscious-loading.js +432 -0
  245. package/dist/hooks/use-battery-optimization.d.ts +328 -0
  246. package/dist/hooks/use-battery-optimization.esm.js +307 -0
  247. package/dist/hooks/use-battery-optimization.js +307 -0
  248. package/dist/hooks/use-battery-status.d.ts +297 -0
  249. package/dist/hooks/use-battery-status.esm.js +277 -0
  250. package/dist/hooks/use-battery-status.js +277 -0
  251. package/dist/hooks/use-component-performance.d.ts +342 -0
  252. package/dist/hooks/use-component-performance.esm.js +329 -0
  253. package/dist/hooks/use-component-performance.js +329 -0
  254. package/dist/hooks/use-device-loading-states.d.ts +456 -0
  255. package/dist/hooks/use-device-loading-states.esm.js +416 -0
  256. package/dist/hooks/use-device-loading-states.js +416 -0
  257. package/dist/hooks/use-device.d.ts +104 -0
  258. package/dist/hooks/use-device.esm.js +99 -0
  259. package/dist/hooks/use-device.js +99 -0
  260. package/dist/hooks/use-enterprise-mobile-experience.d.ts +486 -0
  261. package/dist/hooks/use-enterprise-mobile-experience.esm.js +439 -0
  262. package/dist/hooks/use-enterprise-mobile-experience.js +439 -0
  263. package/dist/hooks/use-form-feedback.d.ts +401 -0
  264. package/dist/hooks/use-form-feedback.esm.js +360 -0
  265. package/dist/hooks/use-form-feedback.js +360 -0
  266. package/dist/hooks/use-form-performance.d.ts +511 -0
  267. package/dist/hooks/use-form-performance.esm.js +478 -0
  268. package/dist/hooks/use-form-performance.js +478 -0
  269. package/dist/hooks/use-frame-rate.d.ts +249 -0
  270. package/dist/hooks/use-frame-rate.esm.js +232 -0
  271. package/dist/hooks/use-frame-rate.js +232 -0
  272. package/dist/hooks/use-gestures.d.ts +336 -0
  273. package/dist/hooks/use-gestures.esm.js +314 -0
  274. package/dist/hooks/use-gestures.js +314 -0
  275. package/dist/hooks/use-hardware-acceleration.d.ts +339 -0
  276. package/dist/hooks/use-hardware-acceleration.esm.js +313 -0
  277. package/dist/hooks/use-hardware-acceleration.js +313 -0
  278. package/dist/hooks/use-input-accessibility.d.ts +451 -0
  279. package/dist/hooks/use-input-accessibility.esm.js +417 -0
  280. package/dist/hooks/use-input-accessibility.js +417 -0
  281. package/dist/hooks/use-input-performance.d.ts +503 -0
  282. package/dist/hooks/use-input-performance.esm.js +471 -0
  283. package/dist/hooks/use-input-performance.js +471 -0
  284. package/dist/hooks/use-layout-performance.d.ts +317 -0
  285. package/dist/hooks/use-layout-performance.esm.js +298 -0
  286. package/dist/hooks/use-layout-performance.js +298 -0
  287. package/dist/hooks/use-loading-accessibility.d.ts +532 -0
  288. package/dist/hooks/use-loading-accessibility.esm.js +495 -0
  289. package/dist/hooks/use-loading-accessibility.js +495 -0
  290. package/dist/hooks/use-loading-performance.d.ts +471 -0
  291. package/dist/hooks/use-loading-performance.esm.js +449 -0
  292. package/dist/hooks/use-loading-performance.js +449 -0
  293. package/dist/hooks/use-memory-usage.d.ts +285 -0
  294. package/dist/hooks/use-memory-usage.esm.js +268 -0
  295. package/dist/hooks/use-memory-usage.js +268 -0
  296. package/dist/hooks/use-mobile-form-layout.d.ts +462 -0
  297. package/dist/hooks/use-mobile-form-layout.esm.js +427 -0
  298. package/dist/hooks/use-mobile-form-layout.js +427 -0
  299. package/dist/hooks/use-mobile-form-validation.d.ts +516 -0
  300. package/dist/hooks/use-mobile-form-validation.esm.js +451 -0
  301. package/dist/hooks/use-mobile-form-validation.js +451 -0
  302. package/dist/hooks/use-mobile-keyboard-optimization.d.ts +469 -0
  303. package/dist/hooks/use-mobile-keyboard-optimization.esm.js +431 -0
  304. package/dist/hooks/use-mobile-keyboard-optimization.js +431 -0
  305. package/dist/hooks/use-mobile-layout.d.ts +300 -0
  306. package/dist/hooks/use-mobile-layout.esm.js +280 -0
  307. package/dist/hooks/use-mobile-layout.js +280 -0
  308. package/dist/hooks/use-mobile-optimization.d.ts +404 -0
  309. package/dist/hooks/use-mobile-optimization.esm.js +378 -0
  310. package/dist/hooks/use-mobile-optimization.js +378 -0
  311. package/dist/hooks/use-mobile-skeleton.d.ts +399 -0
  312. package/dist/hooks/use-mobile-skeleton.esm.js +369 -0
  313. package/dist/hooks/use-mobile-skeleton.js +369 -0
  314. package/dist/hooks/use-mobile-touch.d.ts +412 -0
  315. package/dist/hooks/use-mobile-touch.esm.js +379 -0
  316. package/dist/hooks/use-mobile-touch.js +379 -0
  317. package/dist/hooks/use-performance-throttling.d.ts +346 -0
  318. package/dist/hooks/use-performance-throttling.esm.js +324 -0
  319. package/dist/hooks/use-performance-throttling.js +324 -0
  320. package/dist/hooks/use-performance.d.ts +314 -0
  321. package/dist/hooks/use-performance.esm.js +278 -0
  322. package/dist/hooks/use-performance.js +278 -0
  323. package/dist/hooks/use-reusable-architecture.d.ts +412 -0
  324. package/dist/hooks/use-reusable-architecture.esm.js +385 -0
  325. package/dist/hooks/use-reusable-architecture.js +385 -0
  326. package/dist/hooks/use-semantic-input-types.d.ts +354 -0
  327. package/dist/hooks/use-semantic-input-types.esm.js +315 -0
  328. package/dist/hooks/use-semantic-input-types.js +315 -0
  329. package/dist/hooks/use-semantic-input.d.ts +563 -0
  330. package/dist/hooks/use-semantic-input.esm.js +513 -0
  331. package/dist/hooks/use-semantic-input.js +513 -0
  332. package/dist/hooks/use-tablet-layout.d.ts +382 -0
  333. package/dist/hooks/use-tablet-layout.esm.js +355 -0
  334. package/dist/hooks/use-tablet-layout.js +355 -0
  335. package/dist/hooks/use-touch-friendly-input.d.ts +520 -0
  336. package/dist/hooks/use-touch-friendly-input.esm.js +480 -0
  337. package/dist/hooks/use-touch-friendly-input.js +480 -0
  338. package/dist/hooks/use-touch-friendly-interface.d.ts +329 -0
  339. package/dist/hooks/use-touch-friendly-interface.esm.js +299 -0
  340. package/dist/hooks/use-touch-friendly-interface.js +299 -0
  341. package/dist/hooks/use-touch-optimization.d.ts +373 -0
  342. package/dist/hooks/use-touch-optimization.esm.js +348 -0
  343. package/dist/hooks/use-touch-optimization.js +348 -0
  344. package/dist/lib/utils.d.ts +3 -0
  345. package/dist/lib/utils.esm.js +6 -0
  346. package/dist/lib/utils.js +6 -0
  347. package/dist/plugins/theme-css-generator.d.ts +345 -0
  348. package/dist/plugins/theme-css-generator.esm.js +305 -0
  349. package/dist/plugins/theme-css-generator.js +305 -0
  350. package/dist/styles.css +1 -1
  351. package/dist/themes/ThemeContext.d.ts +27 -0
  352. package/dist/themes/ThemeContext.esm.js +31 -0
  353. package/dist/themes/ThemeContext.js +31 -0
  354. package/dist/themes/ThemeProvider.d.ts +222 -0
  355. package/dist/themes/ThemeProvider.esm.js +229 -0
  356. package/dist/themes/ThemeProvider.js +229 -0
  357. package/dist/themes/accessibility/index.d.ts +7 -0
  358. package/dist/themes/accessibility/index.esm.js +27 -0
  359. package/dist/themes/accessibility/index.js +27 -0
  360. package/dist/themes/accessibility.d.ts +259 -0
  361. package/dist/themes/accessibility.esm.js +220 -0
  362. package/dist/themes/accessibility.js +220 -0
  363. package/dist/themes/aria-patterns.d.ts +418 -0
  364. package/dist/themes/aria-patterns.esm.js +384 -0
  365. package/dist/themes/aria-patterns.js +384 -0
  366. package/dist/themes/base-themes.d.ts +34 -0
  367. package/dist/themes/base-themes.esm.js +52 -0
  368. package/dist/themes/base-themes.js +52 -0
  369. package/dist/themes/colorManager.d.ts +327 -0
  370. package/dist/themes/colorManager.esm.js +362 -0
  371. package/dist/themes/colorManager.js +362 -0
  372. package/dist/themes/examples/dark-theme.d.ts +139 -0
  373. package/dist/themes/examples/dark-theme.esm.js +124 -0
  374. package/dist/themes/examples/dark-theme.js +124 -0
  375. package/dist/themes/examples/minimal-theme.d.ts +93 -0
  376. package/dist/themes/examples/minimal-theme.esm.js +86 -0
  377. package/dist/themes/examples/minimal-theme.js +86 -0
  378. package/dist/themes/focus-management.d.ts +699 -0
  379. package/dist/themes/focus-management.esm.js +642 -0
  380. package/dist/themes/focus-management.js +642 -0
  381. package/dist/themes/fontLoader.d.ts +163 -0
  382. package/dist/themes/fontLoader.esm.js +192 -0
  383. package/dist/themes/fontLoader.js +192 -0
  384. package/dist/themes/high-contrast.d.ts +619 -0
  385. package/dist/themes/high-contrast.esm.js +573 -0
  386. package/dist/themes/high-contrast.js +573 -0
  387. package/dist/themes/index.d.ts +11 -0
  388. package/dist/themes/index.esm.js +19 -0
  389. package/dist/themes/index.js +19 -0
  390. package/dist/themes/inheritance.d.ts +160 -0
  391. package/dist/themes/inheritance.esm.js +219 -0
  392. package/dist/themes/inheritance.js +219 -0
  393. package/dist/themes/keyboard-navigation.d.ts +550 -0
  394. package/dist/themes/keyboard-navigation.esm.js +521 -0
  395. package/dist/themes/keyboard-navigation.js +521 -0
  396. package/dist/themes/motion-reduction.d.ts +660 -0
  397. package/dist/themes/motion-reduction.esm.js +602 -0
  398. package/dist/themes/motion-reduction.js +602 -0
  399. package/dist/themes/navigation.d.ts +232 -0
  400. package/dist/themes/navigation.esm.js +238 -0
  401. package/dist/themes/navigation.js +238 -0
  402. package/dist/themes/screen-reader.d.ts +645 -0
  403. package/dist/themes/screen-reader.esm.js +580 -0
  404. package/dist/themes/screen-reader.js +580 -0
  405. package/dist/themes/systemThemeDetector.d.ts +148 -0
  406. package/dist/themes/systemThemeDetector.esm.js +174 -0
  407. package/dist/themes/systemThemeDetector.js +174 -0
  408. package/dist/themes/themeCSSUpdater.d.ts +229 -0
  409. package/dist/themes/themeCSSUpdater.esm.js +250 -0
  410. package/dist/themes/themeCSSUpdater.js +250 -0
  411. package/dist/themes/themePersistence.d.ts +192 -0
  412. package/dist/themes/themePersistence.esm.js +217 -0
  413. package/dist/themes/themePersistence.js +217 -0
  414. package/dist/themes/themes/stan-design.d.ts +678 -0
  415. package/dist/themes/themes/stan-design.esm.js +518 -0
  416. package/dist/themes/themes/stan-design.js +518 -0
  417. package/dist/themes/types.d.ts +454 -0
  418. package/dist/themes/types.esm.js +446 -0
  419. package/dist/themes/types.js +446 -0
  420. package/dist/themes/useSystemTheme.d.ts +43 -0
  421. package/dist/themes/useSystemTheme.esm.js +48 -0
  422. package/dist/themes/useSystemTheme.js +48 -0
  423. package/dist/themes/useTheme.d.ts +20 -0
  424. package/dist/themes/useTheme.esm.js +87 -0
  425. package/dist/themes/useTheme.js +87 -0
  426. package/dist/themes/validation.d.ts +406 -0
  427. package/dist/themes/validation.esm.js +411 -0
  428. package/dist/themes/validation.js +411 -0
  429. package/dist/tokens/index.d.ts +25 -0
  430. package/dist/tokens/index.esm.js +23 -0
  431. package/dist/tokens/index.js +23 -0
  432. package/dist/tokens/tokenExporter.d.ts +336 -0
  433. package/dist/tokens/tokenExporter.esm.js +371 -0
  434. package/dist/tokens/tokenExporter.js +371 -0
  435. package/dist/tokens/tokenGenerator.d.ts +250 -0
  436. package/dist/tokens/tokenGenerator.esm.js +267 -0
  437. package/dist/tokens/tokenGenerator.js +267 -0
  438. package/dist/tokens/tokenManager.d.ts +194 -0
  439. package/dist/tokens/tokenManager.esm.js +235 -0
  440. package/dist/tokens/tokenManager.js +235 -0
  441. package/dist/tokens/tokenValidator.d.ts +488 -0
  442. package/dist/tokens/tokenValidator.esm.js +497 -0
  443. package/dist/tokens/tokenValidator.js +497 -0
  444. package/dist/tokens/types.d.ts +78 -0
  445. package/dist/tokens/types.esm.js +64 -0
  446. package/dist/tokens/types.js +64 -0
  447. package/dist/utils/bundle-analyzer.d.ts +260 -0
  448. package/dist/utils/bundle-analyzer.esm.js +242 -0
  449. package/dist/utils/bundle-analyzer.js +242 -0
  450. package/dist/utils/bundle-splitting.d.ts +483 -0
  451. package/dist/utils/bundle-splitting.esm.js +458 -0
  452. package/dist/utils/bundle-splitting.js +458 -0
  453. package/dist/utils/lazy-loading.d.ts +437 -0
  454. package/dist/utils/lazy-loading.esm.js +415 -0
  455. package/dist/utils/lazy-loading.js +415 -0
  456. package/dist/utils/performance-monitor.d.ts +513 -0
  457. package/dist/utils/performance-monitor.esm.js +472 -0
  458. package/dist/utils/performance-monitor.js +472 -0
  459. package/dist/utils/tree-shaking.d.ts +274 -0
  460. package/dist/utils/tree-shaking.esm.js +266 -0
  461. package/dist/utils/tree-shaking.js +266 -0
  462. package/package.json +1 -1
@@ -0,0 +1,152 @@
1
+ import React, { ReactNode, useState, useEffect } from 'react'
2
+ import { Card, CardContent, CardHeader, CardTitle } from '../card'
3
+ import { Badge } from '../badge'
4
+
5
+ export interface MobileLayoutProps {
6
+ children}
7
+
8
+ export const MobileLayout= ({
9
+ children,
10
+ title = 'Mobile Layout',
11
+ description = 'Touch-optimized mobile layout with performance monitoring',
12
+ showHeader = true,
13
+ showFooter = true,
14
+ enableTouchOptimization = true,
15
+ enablePerformanceMonitoring = true,
16
+ className = ''
17
+ }) => {
18
+ const [touchActive, setTouchActive] = useState(false)
19
+ const [performanceMetrics, setPerformanceMetrics] = useState({
20
+ renderTime,
21
+ memoryUsage,
22
+ touchResponsiveness})
23
+
24
+ // Touch optimization
25
+ useEffect(() => {
26
+ if (!enableTouchOptimization) return
27
+
28
+ const handleTouchStart = () => setTouchActive(true)
29
+ const handleTouchEnd = () => setTouchActive(false)
30
+
31
+ document.addEventListener('touchstart', handleTouchStart, { passive})
32
+ document.addEventListener('touchend', handleTouchEnd, { passive})
33
+
34
+ return () => {
35
+ document.removeEventListener('touchstart', handleTouchStart)
36
+ document.removeEventListener('touchend', handleTouchEnd)
37
+ }
38
+ }, [enableTouchOptimization])
39
+
40
+ // Performance monitoring
41
+ useEffect(() => {
42
+ if (!enablePerformanceMonitoring) return
43
+
44
+ const measurePerformance = () => {
45
+ const startTime = performance.now()
46
+
47
+ // Simulate performance measurement
48
+ setTimeout(() => {
49
+ const endTime = performance.now()
50
+ const renderTime = endTime - startTime
51
+
52
+ setPerformanceMetrics(prev => ({
53
+ ...prev,
54
+ renderTime,
55
+ memoryUsage) * 100,
56
+ touchResponsiveness}))
57
+ }, 100)
58
+ }
59
+
60
+ measurePerformance()
61
+ const interval = setInterval(measurePerformance, 2000)
62
+
63
+ return () => clearInterval(interval)
64
+ }, [enablePerformanceMonitoring, touchActive])
65
+
66
+ return (
67
+ <div className={`min-h-screen bg-cs-page-bg ${className}`}>
68
+ {/* Mobile Header */}
69
+ {showHeader && (
70
+ <header className="sticky top-0 z-50 bg-cs-surface border-b border-cs-border p-4">
71
+ <div className="flex items-center justify-between">
72
+ <div className="flex-1">
73
+ <h1 className="text-xl font-bold text-cs-text-primary">{title}</h1>
74
+ {description && (
75
+ <p className="text-sm text-cs-text-secondary mt-1">{description}</p>
76
+ )}
77
+ </div>
78
+ <div className="flex items-center gap-2">
79
+ <Badge variant="outline" className="text-xs">
80
+ Mobile
81
+ </Badge>
82
+ {enableTouchOptimization && (
83
+ <Badge variant="default" className="text-xs">
84
+ Touch
85
+ </Badge>
86
+ )}
87
+ {enablePerformanceMonitoring && (
88
+ <Badge variant="secondary" className="text-xs">
89
+ Performance
90
+ </Badge>
91
+ )}
92
+ </div>
93
+ </div>
94
+ </header>
95
+ )}
96
+
97
+ {/* Main Content */}
98
+ <main className="p-4 space-y-4">
99
+ {/* Performance Metrics */}
100
+ {enablePerformanceMonitoring && (
101
+ <Card className="border-2 border-cs-accent">
102
+ <CardHeader className="pb-3">
103
+ <CardTitle className="text-lg flex items-center gap-2">
104
+ ๐Ÿ“Š Performance Metrics
105
+ <Badge variant="outline">Real-time</Badge>
106
+ </CardTitle>
107
+ </CardHeader>
108
+ <CardContent>
109
+ <div className="grid grid-cols-3 gap-4 text-center">
110
+ <div>
111
+ <p className="text-2xl font-bold text-cs-primary">
112
+ {performanceMetrics.renderTime.toFixed(1)}ms
113
+ </p>
114
+ <p className="text-xs text-cs-text-secondary">Render Time</p>
115
+ </div>
116
+ <div>
117
+ <p className="text-2xl font-bold text-cs-secondary">
118
+ {performanceMetrics.memoryUsage.toFixed(1)}%
119
+ </p>
120
+ <p className="text-xs text-cs-text-secondary">Memory</p>
121
+ </div>
122
+ <div>
123
+ <p className="text-2xl font-bold text-cs-accent">
124
+ {performanceMetrics.touchResponsiveness.toFixed(0)}%
125
+ </p>
126
+ <p className="text-xs text-cs-text-secondary">Touch</p>
127
+ </div>
128
+ </div>
129
+ </CardContent>
130
+ </Card>
131
+ )}
132
+
133
+ {/* Content Area */}
134
+ <div className="space-y-4">
135
+ {children}
136
+ </div>
137
+ </main>
138
+
139
+ {/* Mobile Footer */}
140
+ {showFooter && (
141
+ <footer className="sticky bottom-0 z-50 bg-cs-surface border-t border-cs-border p-4">
142
+ <div className="flex items-center justify-between text-sm text-cs-text-secondary">
143
+ <span>Mobile Layout</span>
144
+ <span>Touch Optimized</span>
145
+ </div>
146
+ </footer>
147
+ )}
148
+ </div>
149
+ )
150
+ }
151
+
152
+ export default MobileLayout
@@ -0,0 +1,152 @@
1
+ import React, { ReactNode, useState, useEffect } from 'react'
2
+ import { Card, CardContent, CardHeader, CardTitle } from '../card'
3
+ import { Badge } from '../badge'
4
+
5
+ export interface MobileLayoutProps {
6
+ children}
7
+
8
+ export const MobileLayout= ({
9
+ children,
10
+ title = 'Mobile Layout',
11
+ description = 'Touch-optimized mobile layout with performance monitoring',
12
+ showHeader = true,
13
+ showFooter = true,
14
+ enableTouchOptimization = true,
15
+ enablePerformanceMonitoring = true,
16
+ className = ''
17
+ }) => {
18
+ const [touchActive, setTouchActive] = useState(false)
19
+ const [performanceMetrics, setPerformanceMetrics] = useState({
20
+ renderTime,
21
+ memoryUsage,
22
+ touchResponsiveness})
23
+
24
+ // Touch optimization
25
+ useEffect(() => {
26
+ if (!enableTouchOptimization) return
27
+
28
+ const handleTouchStart = () => setTouchActive(true)
29
+ const handleTouchEnd = () => setTouchActive(false)
30
+
31
+ document.addEventListener('touchstart', handleTouchStart, { passive})
32
+ document.addEventListener('touchend', handleTouchEnd, { passive})
33
+
34
+ return () => {
35
+ document.removeEventListener('touchstart', handleTouchStart)
36
+ document.removeEventListener('touchend', handleTouchEnd)
37
+ }
38
+ }, [enableTouchOptimization])
39
+
40
+ // Performance monitoring
41
+ useEffect(() => {
42
+ if (!enablePerformanceMonitoring) return
43
+
44
+ const measurePerformance = () => {
45
+ const startTime = performance.now()
46
+
47
+ // Simulate performance measurement
48
+ setTimeout(() => {
49
+ const endTime = performance.now()
50
+ const renderTime = endTime - startTime
51
+
52
+ setPerformanceMetrics(prev => ({
53
+ ...prev,
54
+ renderTime,
55
+ memoryUsage) * 100,
56
+ touchResponsiveness}))
57
+ }, 100)
58
+ }
59
+
60
+ measurePerformance()
61
+ const interval = setInterval(measurePerformance, 2000)
62
+
63
+ return () => clearInterval(interval)
64
+ }, [enablePerformanceMonitoring, touchActive])
65
+
66
+ return (
67
+ <div className={`min-h-screen bg-cs-page-bg ${className}`}>
68
+ {/* Mobile Header */}
69
+ {showHeader && (
70
+ <header className="sticky top-0 z-50 bg-cs-surface border-b border-cs-border p-4">
71
+ <div className="flex items-center justify-between">
72
+ <div className="flex-1">
73
+ <h1 className="text-xl font-bold text-cs-text-primary">{title}</h1>
74
+ {description && (
75
+ <p className="text-sm text-cs-text-secondary mt-1">{description}</p>
76
+ )}
77
+ </div>
78
+ <div className="flex items-center gap-2">
79
+ <Badge variant="outline" className="text-xs">
80
+ Mobile
81
+ </Badge>
82
+ {enableTouchOptimization && (
83
+ <Badge variant="default" className="text-xs">
84
+ Touch
85
+ </Badge>
86
+ )}
87
+ {enablePerformanceMonitoring && (
88
+ <Badge variant="secondary" className="text-xs">
89
+ Performance
90
+ </Badge>
91
+ )}
92
+ </div>
93
+ </div>
94
+ </header>
95
+ )}
96
+
97
+ {/* Main Content */}
98
+ <main className="p-4 space-y-4">
99
+ {/* Performance Metrics */}
100
+ {enablePerformanceMonitoring && (
101
+ <Card className="border-2 border-cs-accent">
102
+ <CardHeader className="pb-3">
103
+ <CardTitle className="text-lg flex items-center gap-2">
104
+ ๐Ÿ“Š Performance Metrics
105
+ <Badge variant="outline">Real-time</Badge>
106
+ </CardTitle>
107
+ </CardHeader>
108
+ <CardContent>
109
+ <div className="grid grid-cols-3 gap-4 text-center">
110
+ <div>
111
+ <p className="text-2xl font-bold text-cs-primary">
112
+ {performanceMetrics.renderTime.toFixed(1)}ms
113
+ </p>
114
+ <p className="text-xs text-cs-text-secondary">Render Time</p>
115
+ </div>
116
+ <div>
117
+ <p className="text-2xl font-bold text-cs-secondary">
118
+ {performanceMetrics.memoryUsage.toFixed(1)}%
119
+ </p>
120
+ <p className="text-xs text-cs-text-secondary">Memory</p>
121
+ </div>
122
+ <div>
123
+ <p className="text-2xl font-bold text-cs-accent">
124
+ {performanceMetrics.touchResponsiveness.toFixed(0)}%
125
+ </p>
126
+ <p className="text-xs text-cs-text-secondary">Touch</p>
127
+ </div>
128
+ </div>
129
+ </CardContent>
130
+ </Card>
131
+ )}
132
+
133
+ {/* Content Area */}
134
+ <div className="space-y-4">
135
+ {children}
136
+ </div>
137
+ </main>
138
+
139
+ {/* Mobile Footer */}
140
+ {showFooter && (
141
+ <footer className="sticky bottom-0 z-50 bg-cs-surface border-t border-cs-border p-4">
142
+ <div className="flex items-center justify-between text-sm text-cs-text-secondary">
143
+ <span>Mobile Layout</span>
144
+ <span>Touch Optimized</span>
145
+ </div>
146
+ </footer>
147
+ )}
148
+ </div>
149
+ )
150
+ }
151
+
152
+ export default MobileLayout
@@ -0,0 +1,192 @@
1
+ export interface TabletLayoutProps {
2
+ children: ReactNode
3
+ title?: string
4
+ description?: string
5
+ showHeader?: boolean
6
+ showSidebar?: boolean
7
+ enableTouchOptimization?: boolean
8
+ enablePerformanceMonitoring?: boolean
9
+ className?: string
10
+ }
11
+
12
+ export const TabletLayout: React.FC<TabletLayoutProps> = ({
13
+ children,
14
+ title = 'Tablet Layout',
15
+ description = 'Tablet-optimized layout with touch and performance features',
16
+ showHeader = true,
17
+ showSidebar = true,
18
+ enableTouchOptimization = true,
19
+ enablePerformanceMonitoring = true,
20
+ className = ''
21
+ }) => {
22
+ const [orientation, setOrientation] = useState<'portrait' | 'landscape'>('portrait')
23
+ const [performanceMetrics, setPerformanceMetrics] = useState({
24
+ renderTime: 0,
25
+ memoryUsage: 0,
26
+ touchResponsiveness: 0,
27
+ orientation: 'portrait'
28
+ })
29
+
30
+ // Orientation detection
31
+ useEffect(() => {
32
+ const handleOrientationChange = () => {
33
+ const newOrientation = window.innerWidth > window.innerHeight ? 'landscape' : 'portrait'
34
+ setOrientation(newOrientation)
35
+ setPerformanceMetrics(prev => ({ ...prev, orientation: newOrientation }))
36
+ }
37
+
38
+ handleOrientationChange()
39
+ window.addEventListener('resize', handleOrientationChange)
40
+ window.addEventListener('orientationchange', handleOrientationChange)
41
+
42
+ return () => {
43
+ window.removeEventListener('resize', handleOrientationChange)
44
+ window.removeEventListener('orientationchange', handleOrientationChange)
45
+ }
46
+ }, [])
47
+
48
+ // Performance monitoring
49
+ useEffect(() => {
50
+ if (!enablePerformanceMonitoring) return
51
+
52
+ const measurePerformance = () => {
53
+ const startTime = performance.now()
54
+
55
+ // Simulate performance measurement
56
+ setTimeout(() => {
57
+ const endTime = performance.now()
58
+ const renderTime = endTime - startTime
59
+
60
+ setPerformanceMetrics(prev => ({
61
+ ...prev,
62
+ renderTime,
63
+ memoryUsage: Math.random() * 100,
64
+ touchResponsiveness: orientation === 'landscape' ? 90 : 95
65
+ }))
66
+ }, 100)
67
+ }
68
+
69
+ measurePerformance()
70
+ const interval = setInterval(measurePerformance, 3000)
71
+
72
+ return () => clearInterval(interval)
73
+ }, [enablePerformanceMonitoring, orientation])
74
+
75
+ return (
76
+ <div className={`min-h-screen bg-cs-page-bg ${className}`}>
77
+ {/* Tablet Header */}
78
+ {showHeader && (
79
+ <header className="sticky top-0 z-50 bg-cs-surface border-b border-cs-border p-6">
80
+ <div className="flex items-center justify-between">
81
+ <div className="flex-1">
82
+ <h1 className="text-2xl font-bold text-cs-text-primary">{title}</h1>
83
+ {description && (
84
+ <p className="text-base text-cs-text-secondary mt-2">{description}</p>
85
+ )}
86
+ </div>
87
+ <div className="flex items-center gap-3">
88
+ <Badge variant="outline">
89
+ Tablet
90
+ </Badge>
91
+ <Badge variant={orientation === 'landscape' ? 'default' : 'secondary'}>
92
+ {orientation === 'landscape' ? 'Landscape' : 'Portrait'}
93
+ </Badge>
94
+ {enableTouchOptimization && (
95
+ <Badge variant="default">
96
+ Touch
97
+ </Badge>
98
+ )}
99
+ {enablePerformanceMonitoring && (
100
+ <Badge variant="secondary">
101
+ Performance
102
+ </Badge>
103
+ )}
104
+ </div>
105
+ </div>
106
+ </header>
107
+ )}
108
+
109
+ {/* Main Content with Sidebar */}
110
+ <div className="flex flex-1">
111
+ {/* Sidebar */}
112
+ {showSidebar && (
113
+ <aside className="w-64 bg-cs-surface border-r border-cs-border p-4 hidden lg:block">
114
+ <div className="space-y-4">
115
+ <h3 className="font-semibold text-cs-text-primary">Navigation</h3>
116
+ <nav className="space-y-2">
117
+ <Button variant="ghost" className="w-full justify-start">
118
+ ๐Ÿ  Dashboard
119
+ </Button>
120
+ <Button variant="ghost" className="w-full justify-start">
121
+ ๐ŸŽจ Design System
122
+ </Button>
123
+ <Button variant="ghost" className="w-full justify-start">
124
+ ๐Ÿ“ฑ Mobile Features
125
+ </Button>
126
+ <Button variant="ghost" className="w-full justify-start">
127
+ ๐Ÿงช Interactive Demos
128
+ </Button>
129
+ <Button variant="ghost" className="w-full justify-start">
130
+ ๐Ÿ“Š Performance
131
+ </Button>
132
+ </nav>
133
+ </div>
134
+ </aside>
135
+ )}
136
+
137
+ {/* Main Content */}
138
+ <main className="flex-1 p-6 space-y-6">
139
+ {/* Performance Metrics */}
140
+ {enablePerformanceMonitoring && (
141
+ <Card className="border-2 border-cs-accent">
142
+ <CardHeader>
143
+ <CardTitle className="text-xl flex items-center gap-2">
144
+ ๐Ÿ“Š Tablet Performance Metrics
145
+ <Badge variant="outline">Real-time</Badge>
146
+ </CardTitle>
147
+ <CardDescription>
148
+ Performance monitoring optimized for tablet devices
149
+ </CardDescription>
150
+ </CardHeader>
151
+ <CardContent>
152
+ <div className="grid grid-cols-2 lg:grid-cols-4 gap-6 text-center">
153
+ <div>
154
+ <p className="text-3xl font-bold text-cs-primary">
155
+ {performanceMetrics.renderTime.toFixed(1)}ms
156
+ </p>
157
+ <p className="text-sm text-cs-text-secondary">Render Time</p>
158
+ </div>
159
+ <div>
160
+ <p className="text-3xl font-bold text-cs-secondary">
161
+ {performanceMetrics.memoryUsage.toFixed(1)}%
162
+ </p>
163
+ <p className="text-sm text-cs-text-secondary">Memory Usage</p>
164
+ </div>
165
+ <div>
166
+ <p className="text-3xl font-bold text-cs-accent">
167
+ {performanceMetrics.touchResponsiveness.toFixed(0)}%
168
+ </p>
169
+ <p className="text-sm text-cs-text-secondary">Touch Responsiveness</p>
170
+ </div>
171
+ <div>
172
+ <p className="text-3xl font-bold text-cs-primary">
173
+ {performanceMetrics.orientation}
174
+ </p>
175
+ <p className="text-sm text-cs-text-secondary">Orientation</p>
176
+ </div>
177
+ </div>
178
+ </CardContent>
179
+ </Card>
180
+ )}
181
+
182
+ {/* Content Area */}
183
+ <div className="space-y-6">
184
+ {children}
185
+ </div>
186
+ </main>
187
+ </div>
188
+ </div>
189
+ )
190
+ }
191
+
192
+ export default TabletLayout
@@ -0,0 +1,183 @@
1
+ import React, { ReactNode, useState, useEffect } from 'react'
2
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '../card'
3
+ import { Badge } from '../badge'
4
+ import { Button } from '../button'
5
+
6
+ export interface TabletLayoutProps {
7
+ children}
8
+
9
+ export const TabletLayout= ({
10
+ children,
11
+ title = 'Tablet Layout',
12
+ description = 'Tablet-optimized layout with touch and performance features',
13
+ showHeader = true,
14
+ showSidebar = true,
15
+ enableTouchOptimization = true,
16
+ enablePerformanceMonitoring = true,
17
+ className = ''
18
+ }) => {
19
+ const [orientation, setOrientation] = useState<'portrait' | 'landscape'>('portrait')
20
+ const [performanceMetrics, setPerformanceMetrics] = useState({
21
+ renderTime,
22
+ memoryUsage,
23
+ touchResponsiveness,
24
+ orientation})
25
+
26
+ // Orientation detection
27
+ useEffect(() => {
28
+ const handleOrientationChange = () => {
29
+ const newOrientation = window.innerWidth > window.innerHeight ? 'landscape' )
30
+ setPerformanceMetrics(prev => ({ ...prev, orientation}))
31
+ }
32
+
33
+ handleOrientationChange()
34
+ window.addEventListener('resize', handleOrientationChange)
35
+ window.addEventListener('orientationchange', handleOrientationChange)
36
+
37
+ return () => {
38
+ window.removeEventListener('resize', handleOrientationChange)
39
+ window.removeEventListener('orientationchange', handleOrientationChange)
40
+ }
41
+ }, [])
42
+
43
+ // Performance monitoring
44
+ useEffect(() => {
45
+ if (!enablePerformanceMonitoring) return
46
+
47
+ const measurePerformance = () => {
48
+ const startTime = performance.now()
49
+
50
+ // Simulate performance measurement
51
+ setTimeout(() => {
52
+ const endTime = performance.now()
53
+ const renderTime = endTime - startTime
54
+
55
+ setPerformanceMetrics(prev => ({
56
+ ...prev,
57
+ renderTime,
58
+ memoryUsage) * 100,
59
+ touchResponsiveness=== 'landscape' ? 90 }))
60
+ }, 100)
61
+ }
62
+
63
+ measurePerformance()
64
+ const interval = setInterval(measurePerformance, 3000)
65
+
66
+ return () => clearInterval(interval)
67
+ }, [enablePerformanceMonitoring, orientation])
68
+
69
+ return (
70
+ <div className={`min-h-screen bg-cs-page-bg ${className}`}>
71
+ {/* Tablet Header */}
72
+ {showHeader && (
73
+ <header className="sticky top-0 z-50 bg-cs-surface border-b border-cs-border p-6">
74
+ <div className="flex items-center justify-between">
75
+ <div className="flex-1">
76
+ <h1 className="text-2xl font-bold text-cs-text-primary">{title}</h1>
77
+ {description && (
78
+ <p className="text-base text-cs-text-secondary mt-2">{description}</p>
79
+ )}
80
+ </div>
81
+ <div className="flex items-center gap-3">
82
+ <Badge variant="outline">
83
+ Tablet
84
+ </Badge>
85
+ <Badge variant={orientation === 'landscape' ? 'default' }>
86
+ {orientation === 'landscape' ? 'Landscape' }
87
+ </Badge>
88
+ {enableTouchOptimization && (
89
+ <Badge variant="default">
90
+ Touch
91
+ </Badge>
92
+ )}
93
+ {enablePerformanceMonitoring && (
94
+ <Badge variant="secondary">
95
+ Performance
96
+ </Badge>
97
+ )}
98
+ </div>
99
+ </div>
100
+ </header>
101
+ )}
102
+
103
+ {/* Main Content with Sidebar */}
104
+ <div className="flex flex-1">
105
+ {/* Sidebar */}
106
+ {showSidebar && (
107
+ <aside className="w-64 bg-cs-surface border-r border-cs-border p-4 hidden lg="space-y-4">
108
+ <h3 className="font-semibold text-cs-text-primary">Navigation</h3>
109
+ <nav className="space-y-2">
110
+ <Button variant="ghost" className="w-full justify-start">
111
+ ๐Ÿ  Dashboard
112
+ </Button>
113
+ <Button variant="ghost" className="w-full justify-start">
114
+ ๐ŸŽจ Design System
115
+ </Button>
116
+ <Button variant="ghost" className="w-full justify-start">
117
+ ๐Ÿ“ฑ Mobile Features
118
+ </Button>
119
+ <Button variant="ghost" className="w-full justify-start">
120
+ ๐Ÿงช Interactive Demos
121
+ </Button>
122
+ <Button variant="ghost" className="w-full justify-start">
123
+ ๐Ÿ“Š Performance
124
+ </Button>
125
+ </nav>
126
+ </div>
127
+ </aside>
128
+ )}
129
+
130
+ {/* Main Content */}
131
+ <main className="flex-1 p-6 space-y-6">
132
+ {/* Performance Metrics */}
133
+ {enablePerformanceMonitoring && (
134
+ <Card className="border-2 border-cs-accent">
135
+ <CardHeader>
136
+ <CardTitle className="text-xl flex items-center gap-2">
137
+ ๐Ÿ“Š Tablet Performance Metrics
138
+ <Badge variant="outline">Real-time</Badge>
139
+ </CardTitle>
140
+ <CardDescription>
141
+ Performance monitoring optimized for tablet devices
142
+ </CardDescription>
143
+ </CardHeader>
144
+ <CardContent>
145
+ <div className="grid grid-cols-2 lg="text-3xl font-bold text-cs-primary">
146
+ {performanceMetrics.renderTime.toFixed(1)}ms
147
+ </p>
148
+ <p className="text-sm text-cs-text-secondary">Render Time</p>
149
+ </div>
150
+ <div>
151
+ <p className="text-3xl font-bold text-cs-secondary">
152
+ {performanceMetrics.memoryUsage.toFixed(1)}%
153
+ </p>
154
+ <p className="text-sm text-cs-text-secondary">Memory Usage</p>
155
+ </div>
156
+ <div>
157
+ <p className="text-3xl font-bold text-cs-accent">
158
+ {performanceMetrics.touchResponsiveness.toFixed(0)}%
159
+ </p>
160
+ <p className="text-sm text-cs-text-secondary">Touch Responsiveness</p>
161
+ </div>
162
+ <div>
163
+ <p className="text-3xl font-bold text-cs-primary">
164
+ {performanceMetrics.orientation}
165
+ </p>
166
+ <p className="text-sm text-cs-text-secondary">Orientation</p>
167
+ </div>
168
+ </div>
169
+ </CardContent>
170
+ </Card>
171
+ )}
172
+
173
+ {/* Content Area */}
174
+ <div className="space-y-6">
175
+ {children}
176
+ </div>
177
+ </main>
178
+ </div>
179
+ </div>
180
+ )
181
+ }
182
+
183
+ export default TabletLayout