@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.6 → 0.2.8

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 (468) 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/index.esm.js +2 -2
  345. package/dist/index.js +2 -2
  346. package/dist/lib/utils.d.ts +3 -0
  347. package/dist/lib/utils.esm.js +6 -0
  348. package/dist/lib/utils.js +6 -0
  349. package/dist/plugins/theme-css-generator.d.ts +345 -0
  350. package/dist/plugins/theme-css-generator.esm.js +305 -0
  351. package/dist/plugins/theme-css-generator.js +305 -0
  352. package/dist/styles.css +1 -1
  353. package/dist/themes/ThemeContext.d.ts +27 -0
  354. package/dist/themes/ThemeContext.esm.js +31 -0
  355. package/dist/themes/ThemeContext.js +31 -0
  356. package/dist/themes/ThemeProvider.d.ts +222 -0
  357. package/dist/themes/ThemeProvider.esm.js +229 -0
  358. package/dist/themes/ThemeProvider.js +229 -0
  359. package/dist/themes/accessibility/index.d.ts +7 -0
  360. package/dist/themes/accessibility/index.esm.js +27 -0
  361. package/dist/themes/accessibility/index.js +27 -0
  362. package/dist/themes/accessibility.d.ts +259 -0
  363. package/dist/themes/accessibility.esm.js +220 -0
  364. package/dist/themes/accessibility.js +220 -0
  365. package/dist/themes/aria-patterns.d.ts +418 -0
  366. package/dist/themes/aria-patterns.esm.js +384 -0
  367. package/dist/themes/aria-patterns.js +384 -0
  368. package/dist/themes/base-themes.d.ts +34 -0
  369. package/dist/themes/base-themes.esm.js +52 -0
  370. package/dist/themes/base-themes.js +52 -0
  371. package/dist/themes/colorManager.d.ts +327 -0
  372. package/dist/themes/colorManager.esm.js +362 -0
  373. package/dist/themes/colorManager.js +362 -0
  374. package/dist/themes/examples/dark-theme.d.ts +139 -0
  375. package/dist/themes/examples/dark-theme.esm.js +124 -0
  376. package/dist/themes/examples/dark-theme.js +124 -0
  377. package/dist/themes/examples/minimal-theme.d.ts +93 -0
  378. package/dist/themes/examples/minimal-theme.esm.js +86 -0
  379. package/dist/themes/examples/minimal-theme.js +86 -0
  380. package/dist/themes/focus-management.d.ts +699 -0
  381. package/dist/themes/focus-management.esm.js +642 -0
  382. package/dist/themes/focus-management.js +642 -0
  383. package/dist/themes/fontLoader.d.ts +163 -0
  384. package/dist/themes/fontLoader.esm.js +192 -0
  385. package/dist/themes/fontLoader.js +192 -0
  386. package/dist/themes/high-contrast.d.ts +619 -0
  387. package/dist/themes/high-contrast.esm.js +573 -0
  388. package/dist/themes/high-contrast.js +573 -0
  389. package/dist/themes/index.d.ts +11 -0
  390. package/dist/themes/index.esm.js +19 -0
  391. package/dist/themes/index.js +19 -0
  392. package/dist/themes/inheritance.d.ts +160 -0
  393. package/dist/themes/inheritance.esm.js +219 -0
  394. package/dist/themes/inheritance.js +219 -0
  395. package/dist/themes/keyboard-navigation.d.ts +550 -0
  396. package/dist/themes/keyboard-navigation.esm.js +521 -0
  397. package/dist/themes/keyboard-navigation.js +521 -0
  398. package/dist/themes/motion-reduction.d.ts +660 -0
  399. package/dist/themes/motion-reduction.esm.js +602 -0
  400. package/dist/themes/motion-reduction.js +602 -0
  401. package/dist/themes/navigation.d.ts +232 -0
  402. package/dist/themes/navigation.esm.js +238 -0
  403. package/dist/themes/navigation.js +238 -0
  404. package/dist/themes/screen-reader.d.ts +645 -0
  405. package/dist/themes/screen-reader.esm.js +580 -0
  406. package/dist/themes/screen-reader.js +580 -0
  407. package/dist/themes/systemThemeDetector.d.ts +148 -0
  408. package/dist/themes/systemThemeDetector.esm.js +174 -0
  409. package/dist/themes/systemThemeDetector.js +174 -0
  410. package/dist/themes/themeCSSUpdater.d.ts +229 -0
  411. package/dist/themes/themeCSSUpdater.esm.js +250 -0
  412. package/dist/themes/themeCSSUpdater.js +250 -0
  413. package/dist/themes/themePersistence.d.ts +192 -0
  414. package/dist/themes/themePersistence.esm.js +217 -0
  415. package/dist/themes/themePersistence.js +217 -0
  416. package/dist/themes/themes/stan-design.d.ts +678 -0
  417. package/dist/themes/themes/stan-design.esm.js +518 -0
  418. package/dist/themes/themes/stan-design.js +518 -0
  419. package/dist/themes/types.d.ts +454 -0
  420. package/dist/themes/types.esm.js +446 -0
  421. package/dist/themes/types.js +446 -0
  422. package/dist/themes/useSystemTheme.d.ts +43 -0
  423. package/dist/themes/useSystemTheme.esm.js +48 -0
  424. package/dist/themes/useSystemTheme.js +48 -0
  425. package/dist/themes/useTheme.d.ts +20 -0
  426. package/dist/themes/useTheme.esm.js +87 -0
  427. package/dist/themes/useTheme.js +87 -0
  428. package/dist/themes/validation.d.ts +406 -0
  429. package/dist/themes/validation.esm.js +411 -0
  430. package/dist/themes/validation.js +411 -0
  431. package/dist/tokens/index.d.ts +25 -0
  432. package/dist/tokens/index.esm.js +23 -0
  433. package/dist/tokens/index.js +23 -0
  434. package/dist/tokens/tokenExporter.d.ts +336 -0
  435. package/dist/tokens/tokenExporter.esm.js +371 -0
  436. package/dist/tokens/tokenExporter.js +371 -0
  437. package/dist/tokens/tokenGenerator.d.ts +250 -0
  438. package/dist/tokens/tokenGenerator.esm.js +267 -0
  439. package/dist/tokens/tokenGenerator.js +267 -0
  440. package/dist/tokens/tokenManager.d.ts +194 -0
  441. package/dist/tokens/tokenManager.esm.js +235 -0
  442. package/dist/tokens/tokenManager.js +235 -0
  443. package/dist/tokens/tokenValidator.d.ts +488 -0
  444. package/dist/tokens/tokenValidator.esm.js +497 -0
  445. package/dist/tokens/tokenValidator.js +497 -0
  446. package/dist/tokens/types.d.ts +78 -0
  447. package/dist/tokens/types.esm.js +64 -0
  448. package/dist/tokens/types.js +64 -0
  449. package/dist/utils/bundle-analyzer.d.ts +260 -0
  450. package/dist/utils/bundle-analyzer.esm.js +242 -0
  451. package/dist/utils/bundle-analyzer.js +242 -0
  452. package/dist/utils/bundle-splitting.d.ts +483 -0
  453. package/dist/utils/bundle-splitting.esm.js +458 -0
  454. package/dist/utils/bundle-splitting.js +458 -0
  455. package/dist/utils/lazy-loading.d.ts +437 -0
  456. package/dist/utils/lazy-loading.esm.js +415 -0
  457. package/dist/utils/lazy-loading.js +415 -0
  458. package/dist/utils/performance-monitor.d.ts +513 -0
  459. package/dist/utils/performance-monitor.esm.js +472 -0
  460. package/dist/utils/performance-monitor.js +472 -0
  461. package/dist/utils/tree-shaking.d.ts +274 -0
  462. package/dist/utils/tree-shaking.esm.js +266 -0
  463. package/dist/utils/tree-shaking.js +266 -0
  464. package/package.json +1 -1
  465. package/src/index.ts +2 -2
  466. package/src/themes/accessibility/index.ts +1 -1
  467. package/src/themes/focus-management.ts +3 -3
  468. package/src/themes/keyboard-navigation.ts +3 -3
@@ -0,0 +1,619 @@
1
+ // High contrast theme configuration
2
+ export interface HighContrastThemeConfig extends MultiThemeConfig {
3
+ highContrast: {
4
+ enabled: boolean;
5
+ contrastRatio: number; // Target contrast ratio (WCAG AAA = 7.0)
6
+ enhancedColors: boolean; // Use enhanced color palette
7
+ borderEmphasis: boolean; // Add borders for better definition
8
+ textEmphasis: boolean; // Enhanced text styling
9
+ focusIndicators: boolean; // Enhanced focus indicators
10
+ };
11
+ }
12
+
13
+ // High contrast color utilities
14
+ export class HighContrastColors {
15
+ // WCAG contrast ratio calculation
16
+ static calculateContrastRatio(foreground: string, background: string): number {
17
+ const fgLuminance = this.getLuminance(foreground);
18
+ const bgLuminance = this.getLuminance(background);
19
+
20
+ const lighter = Math.max(fgLuminance, bgLuminance);
21
+ const darker = Math.min(fgLuminance, bgLuminance);
22
+
23
+ return (lighter + 0.05) / (darker + 0.05);
24
+ }
25
+
26
+ // Get relative luminance of a color
27
+ private static getLuminance(color: string): number {
28
+ const rgb = this.hexToRgb(color);
29
+ if (!rgb) return 0;
30
+
31
+ const { r, g, b } = rgb;
32
+
33
+ const rsRGB = r / 255;
34
+ const gsRGB = g / 255;
35
+ const bsRGB = b / 255;
36
+
37
+ const rL = rsRGB <= 0.03928 ? rsRGB / 12.92 : Math.pow((rsRGB + 0.055) / 1.055, 2.4);
38
+ const gL = gsRGB <= 0.03928 ? gsRGB / 12.92 : Math.pow((gsRGB + 0.055) / 1.055, 2.4);
39
+ const bL = bsRGB <= 0.03928 ? bsRGB / 12.92 : Math.pow((bsRGB + 0.055) / 1.055, 2.4);
40
+
41
+ return 0.2126 * rL + 0.7152 * gL + 0.0722 * bL;
42
+ }
43
+
44
+ // Convert hex color to RGB
45
+ private static hexToRgb(hex: string): { r: number; g: number; b: number } | null {
46
+ const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
47
+ if (!result) return null;
48
+
49
+ return {
50
+ r: parseInt(result[1], 16),
51
+ g: parseInt(result[2], 16),
52
+ b: parseInt(result[3], 16)
53
+ };
54
+ }
55
+
56
+ // Check if contrast ratio meets WCAG requirements
57
+ static meetsWCAGRequirements(foreground: string, background: string, level: 'AA' | 'AAA' = 'AA'): boolean {
58
+ const ratio = this.calculateContrastRatio(foreground, background);
59
+ const requiredRatio = level === 'AA' ? 4.5 : 7.0;
60
+
61
+ return ratio >= requiredRatio;
62
+ }
63
+
64
+ // Generate high contrast color variants
65
+ static generateHighContrastVariants(baseColor: string, backgroundColor: string, targetRatio: number = 7.0): string[] {
66
+ const variants: string[] = [];
67
+
68
+ // Generate lighter and darker variants
69
+ for (let i = 1; i <= 10; i++) {
70
+ const lighter = this.adjustColorBrightness(baseColor, i * 0.1);
71
+ const darker = this.adjustColorBrightness(baseColor, -i * 0.1);
72
+
73
+ if (this.calculateContrastRatio(lighter, backgroundColor) >= targetRatio) {
74
+ variants.push(lighter);
75
+ }
76
+
77
+ if (this.calculateContrastRatio(darker, backgroundColor) >= targetRatio) {
78
+ variants.push(darker);
79
+ }
80
+ }
81
+
82
+ return variants;
83
+ }
84
+
85
+ // Adjust color brightness
86
+ private static adjustColorBrightness(color: string, factor: number): string {
87
+ const rgb = this.hexToRgb(color);
88
+ if (!rgb) return color;
89
+
90
+ const { r, g, b } = rgb;
91
+
92
+ const newR = Math.max(0, Math.min(255, Math.round(r + (255 - r) * factor)));
93
+ const newG = Math.max(0, Math.min(255, Math.round(g + (255 - g) * factor)));
94
+ const newB = Math.max(0, Math.min(255, Math.round(b + (255 - b) * factor)));
95
+
96
+ return `#${newR.toString(16).padStart(2, '0')}${newG.toString(16).padStart(2, '0')}${newB.toString(16).padStart(2, '0')}`;
97
+ }
98
+
99
+ // Find best high contrast color
100
+ static findBestHighContrastColor(foreground: string, background: string, targetRatio: number = 7.0): string {
101
+ const ratio = this.calculateContrastRatio(foreground, background);
102
+
103
+ if (ratio >= targetRatio) {
104
+ return foreground;
105
+ }
106
+
107
+ // Try lighter variants first
108
+ for (let i = 1; i <= 20; i++) {
109
+ const lighter = this.adjustColorBrightness(foreground, i * 0.05);
110
+ if (this.calculateContrastRatio(lighter, background) >= targetRatio) {
111
+ return lighter;
112
+ }
113
+ }
114
+
115
+ // Try darker variants
116
+ for (let i = 1; i <= 20; i++) {
117
+ const darker = this.adjustColorBrightness(foreground, -i * 0.05);
118
+ if (this.calculateContrastRatio(darker, background) >= targetRatio) {
119
+ return darker;
120
+ }
121
+ }
122
+
123
+ // Fallback to black or white
124
+ const blackRatio = this.calculateContrastRatio('#000000', background);
125
+ const whiteRatio = this.calculateContrastRatio('#FFFFFF', background);
126
+
127
+ return blackRatio > whiteRatio ? '#000000' : '#FFFFFF';
128
+ }
129
+ }
130
+
131
+ // High contrast theme manager
132
+ export class HighContrastThemeManager {
133
+ private isEnabled: boolean = false;
134
+ private targetContrastRatio: number = 7.0; // WCAG AAA
135
+ private enhancedColors: boolean = true;
136
+ private borderEmphasis: boolean = true;
137
+ private textEmphasis: boolean = true;
138
+ private focusIndicators: boolean = true;
139
+ private originalTheme: MultiThemeConfig | null = null;
140
+ private highContrastTheme: HighContrastThemeConfig | null = null;
141
+
142
+ constructor() {
143
+ this.initializeSystemPreference();
144
+ }
145
+
146
+ // Initialize system preference detection
147
+ private initializeSystemPreference(): void {
148
+ if (typeof window !== 'undefined' && window.matchMedia) {
149
+ const highContrastQuery = window.matchMedia('(prefers-contrast: high)');
150
+ this.isEnabled = highContrastQuery.matches;
151
+
152
+ highContrastQuery.addEventListener('change', (e) => {
153
+ this.isEnabled = e.matches;
154
+ this.applyHighContrast();
155
+ });
156
+ }
157
+ }
158
+
159
+ // Enable high contrast mode
160
+ enable(): void {
161
+ this.isEnabled = true;
162
+ this.applyHighContrast();
163
+ }
164
+
165
+ // Disable high contrast mode
166
+ disable(): void {
167
+ this.isEnabled = false;
168
+ this.removeHighContrast();
169
+ }
170
+
171
+ // Toggle high contrast mode
172
+ toggle(): void {
173
+ if (this.isEnabled) {
174
+ this.disable();
175
+ } else {
176
+ this.enable();
177
+ }
178
+ }
179
+
180
+ // Check if high contrast is enabled
181
+ isHighContrastEnabled(): boolean {
182
+ return this.isEnabled;
183
+ }
184
+
185
+ // Set target contrast ratio
186
+ setTargetContrastRatio(ratio: number): void {
187
+ this.targetContrastRatio = Math.max(1.0, Math.min(21.0, ratio));
188
+ if (this.isEnabled) {
189
+ this.applyHighContrast();
190
+ }
191
+ }
192
+
193
+ // Get current target contrast ratio
194
+ getTargetContrastRatio(): number {
195
+ return this.targetContrastRatio;
196
+ }
197
+
198
+ // Enable/disable enhanced colors
199
+ setEnhancedColors(enabled: boolean): void {
200
+ this.enhancedColors = enabled;
201
+ if (this.isEnabled) {
202
+ this.applyHighContrast();
203
+ }
204
+ }
205
+
206
+ // Enable/disable border emphasis
207
+ setBorderEmphasis(enabled: boolean): void {
208
+ this.borderEmphasis = enabled;
209
+ if (this.isEnabled) {
210
+ this.applyHighContrast();
211
+ }
212
+ }
213
+
214
+ // Enable/disable text emphasis
215
+ setTextEmphasis(enabled: boolean): void {
216
+ this.textEmphasis = enabled;
217
+ if (this.isEnabled) {
218
+ this.applyHighContrast();
219
+ }
220
+ }
221
+
222
+ // Enable/disable focus indicators
223
+ setFocusIndicators(enabled: boolean): void {
224
+ this.focusIndicators = enabled;
225
+ if (this.isEnabled) {
226
+ this.applyHighContrast();
227
+ }
228
+ }
229
+
230
+ // Apply high contrast to current theme
231
+ applyHighContrast(): void {
232
+ if (!this.isEnabled) return;
233
+
234
+ // Store original theme if not already stored
235
+ if (!this.originalTheme) {
236
+ this.originalTheme = this.getCurrentTheme();
237
+ }
238
+
239
+ // Generate high contrast theme
240
+ this.highContrastTheme = this.generateHighContrastTheme(this.originalTheme);
241
+
242
+ // Apply the theme
243
+ this.applyTheme(this.highContrastTheme);
244
+
245
+ // Add high contrast CSS classes
246
+ document.documentElement.classList.add('high-contrast');
247
+
248
+ // Apply high contrast styles
249
+ this.applyHighContrastStyles();
250
+ }
251
+
252
+ // Remove high contrast mode
253
+ removeHighContrast(): void {
254
+ if (!this.isEnabled) return;
255
+
256
+ // Remove high contrast CSS classes
257
+ document.documentElement.classList.remove('high-contrast');
258
+
259
+ // Remove high contrast styles
260
+ this.removeHighContrastStyles();
261
+
262
+ // Restore original theme
263
+ if (this.originalTheme) {
264
+ this.applyTheme(this.originalTheme);
265
+ }
266
+ }
267
+
268
+ // Generate high contrast theme from base theme
269
+ private generateHighContrastTheme(baseTheme: MultiThemeConfig): HighContrastThemeConfig {
270
+ const highContrastTheme: HighContrastThemeConfig = {
271
+ ...baseTheme,
272
+ highContrast: {
273
+ enabled: true,
274
+ contrastRatio: this.targetContrastRatio,
275
+ enhancedColors: this.enhancedColors,
276
+ borderEmphasis: this.borderEmphasis,
277
+ textEmphasis: this.textEmphasis,
278
+ focusIndicators: this.focusIndicators
279
+ }
280
+ };
281
+
282
+ // Enhance colors for high contrast
283
+ if (this.enhancedColors) {
284
+ highContrastTheme.colors = this.enhanceColorsForHighContrast(baseTheme.colors);
285
+ }
286
+
287
+ // Enhance fonts for high contrast
288
+ if (this.textEmphasis) {
289
+ highContrastTheme.fonts = this.enhanceFontsForHighContrast(baseTheme.fonts);
290
+ }
291
+
292
+ // Enhance spacing for high contrast
293
+ highContrastTheme.spacing = this.enhanceSpacingForHighContrast(baseTheme.spacing);
294
+
295
+ // Enhance shadows for high contrast
296
+ highContrastTheme.shadows = this.enhanceShadowsForHighContrast(baseTheme.shadows);
297
+
298
+ return highContrastTheme;
299
+ }
300
+
301
+ // Enhance colors for high contrast
302
+ private enhanceColorsForHighContrast(colors: ColorThemeConfig): ColorThemeConfig {
303
+ const enhancedColors: ColorThemeConfig = { ...colors };
304
+
305
+ // Enhance primary colors
306
+ if (enhancedColors.primary) {
307
+ enhancedColors.primary = {
308
+ ...enhancedColors.primary,
309
+ 500: HighContrastColors.findBestHighContrastColor(
310
+ enhancedColors.primary[500],
311
+ enhancedColors.surface?.background || '#FFFFFF',
312
+ this.targetContrastRatio
313
+ ),
314
+ light: HighContrastColors.findBestHighContrastColor(
315
+ enhancedColors.primary.light || enhancedColors.primary[100],
316
+ enhancedColors.surface?.background || '#FFFFFF',
317
+ this.targetContrastRatio
318
+ ),
319
+ dark: HighContrastColors.findBestHighContrastColor(
320
+ enhancedColors.primary.dark || enhancedColors.primary[900],
321
+ enhancedColors.surface?.background || '#FFFFFF',
322
+ this.targetContrastRatio
323
+ )
324
+ };
325
+ }
326
+
327
+ // Enhance secondary colors
328
+ if (enhancedColors.secondary) {
329
+ enhancedColors.secondary = {
330
+ ...enhancedColors.secondary,
331
+ 500: HighContrastColors.findBestHighContrastColor(
332
+ enhancedColors.secondary[500],
333
+ enhancedColors.surface?.background || '#FFFFFF',
334
+ this.targetContrastRatio
335
+ ),
336
+ light: HighContrastColors.findBestHighContrastColor(
337
+ enhancedColors.secondary.light || enhancedColors.secondary[100],
338
+ enhancedColors.surface?.background || '#FFFFFF',
339
+ this.targetContrastRatio
340
+ ),
341
+ dark: HighContrastColors.findBestHighContrastColor(
342
+ enhancedColors.secondary.dark || enhancedColors.secondary[900],
343
+ enhancedColors.surface?.background || '#FFFFFF',
344
+ this.targetContrastRatio
345
+ )
346
+ };
347
+ }
348
+
349
+ // Enhance error colors
350
+ if (enhancedColors.semantic?.error) {
351
+ enhancedColors.semantic = {
352
+ ...enhancedColors.semantic,
353
+ error: HighContrastColors.findBestHighContrastColor(
354
+ enhancedColors.semantic.error,
355
+ enhancedColors.surface?.background || '#FFFFFF',
356
+ this.targetContrastRatio
357
+ )
358
+ };
359
+ }
360
+
361
+ // Enhance warning colors
362
+ if (enhancedColors.semantic?.warning) {
363
+ enhancedColors.semantic = {
364
+ ...enhancedColors.semantic,
365
+ warning: HighContrastColors.findBestHighContrastColor(
366
+ enhancedColors.semantic.warning,
367
+ enhancedColors.surface?.background || '#FFFFFF',
368
+ this.targetContrastRatio
369
+ )
370
+ };
371
+ }
372
+
373
+ // Enhance success colors
374
+ if (enhancedColors.semantic?.success) {
375
+ enhancedColors.semantic = {
376
+ ...enhancedColors.semantic,
377
+ success: HighContrastColors.findBestHighContrastColor(
378
+ enhancedColors.semantic.success,
379
+ enhancedColors.surface?.background || '#FFFFFF',
380
+ this.targetContrastRatio
381
+ )
382
+ };
383
+ }
384
+
385
+ // Enhance info colors
386
+ if (enhancedColors.semantic?.info) {
387
+ enhancedColors.semantic = {
388
+ ...enhancedColors.semantic,
389
+ info: HighContrastColors.findBestHighContrastColor(
390
+ enhancedColors.semantic.info,
391
+ enhancedColors.surface?.background || '#FFFFFF',
392
+ this.targetContrastRatio
393
+ )
394
+ };
395
+ }
396
+
397
+ // Enhance text colors
398
+ if (enhancedColors.text) {
399
+ enhancedColors.text = {
400
+ ...enhancedColors.text,
401
+ primary: HighContrastColors.findBestHighContrastColor(
402
+ enhancedColors.text.primary,
403
+ enhancedColors.surface?.background || '#FFFFFF',
404
+ this.targetContrastRatio
405
+ ),
406
+ secondary: HighContrastColors.findBestHighContrastColor(
407
+ enhancedColors.text.secondary,
408
+ enhancedColors.surface?.background || '#FFFFFF',
409
+ this.targetContrastRatio
410
+ )
411
+ };
412
+ }
413
+
414
+ return enhancedColors;
415
+ }
416
+
417
+ // Enhance fonts for high contrast
418
+ private enhanceFontsForHighContrast(fonts: any): any {
419
+ const enhancedFonts = { ...fonts };
420
+
421
+ // Increase font weights for better visibility
422
+ if (enhancedFonts.primary?.weights) {
423
+ enhancedFonts.primary.weights = enhancedFonts.primary.weights.map((weight: number) =>
424
+ Math.max(400, weight)
425
+ );
426
+ }
427
+
428
+ if (enhancedFonts.body?.weights) {
429
+ enhancedFonts.body.weights = enhancedFonts.body.weights.map((weight: number) =>
430
+ Math.max(400, weight)
431
+ );
432
+ }
433
+
434
+ // Increase letter spacing for better readability
435
+ if (enhancedFonts.primary?.letterSpacing) {
436
+ enhancedFonts.primary.letterSpacing = {
437
+ ...enhancedFonts.primary.letterSpacing,
438
+ tight: Math.max(0.025, enhancedFonts.primary.letterSpacing.tight || 0.025),
439
+ normal: Math.max(0, enhancedFonts.primary.letterSpacing.normal || 0),
440
+ wide: Math.max(0.025, enhancedFonts.primary.letterSpacing.wide || 0.025)
441
+ };
442
+ }
443
+
444
+ return enhancedFonts;
445
+ }
446
+
447
+ // Enhance spacing for high contrast
448
+ private enhanceSpacingForHighContrast(spacing: any): any {
449
+ const enhancedSpacing = { ...spacing };
450
+
451
+ // Increase focus ring spacing
452
+ if (enhancedSpacing.focusRing) {
453
+ enhancedSpacing.focusRing = Math.max(2, enhancedSpacing.focusRing || 2);
454
+ }
455
+
456
+ // Increase border widths
457
+ if (enhancedSpacing.borderWidth) {
458
+ enhancedSpacing.borderWidth = {
459
+ ...enhancedSpacing.borderWidth,
460
+ thin: Math.max(1, enhancedSpacing.borderWidth.thin || 1),
461
+ normal: Math.max(2, enhancedSpacing.borderWidth.normal || 2),
462
+ thick: Math.max(3, enhancedSpacing.borderWidth.thick || 3)
463
+ };
464
+ }
465
+
466
+ return enhancedSpacing;
467
+ }
468
+
469
+ // Enhance shadows for high contrast
470
+ private enhanceShadowsForHighContrast(shadows: any): any {
471
+ const enhancedShadows = { ...shadows };
472
+
473
+ // Increase shadow intensity
474
+ if (enhancedShadows.intensity) {
475
+ enhancedShadows.intensity = Math.min(1.0, enhancedShadows.intensity * 1.5);
476
+ }
477
+
478
+ // Increase shadow spread
479
+ if (enhancedShadows.spread) {
480
+ enhancedShadows.spread = Math.max(0, enhancedShadows.spread * 1.2);
481
+ }
482
+
483
+ return enhancedShadows;
484
+ }
485
+
486
+ // Apply high contrast styles
487
+ private applyHighContrastStyles(): void {
488
+ const style = document.createElement('style');
489
+ style.id = 'high-contrast-styles';
490
+
491
+ style.textContent = `
492
+ .high-contrast {
493
+ --focus-ring-width: 3px;
494
+ --focus-ring-color: #FFFFFF;
495
+ --focus-ring-offset: 1px;
496
+ --border-emphasis: 2px solid;
497
+ --text-emphasis: 700;
498
+ --shadow-emphasis: 0 4px 8px rgba(0, 0, 0, 0.8);
499
+ }
500
+
501
+ .high-contrast *:focus {
502
+ outline: var(--focus-ring-width) solid var(--focus-ring-color) !important;
503
+ outline-offset: var(--focus-ring-offset) !important;
504
+ }
505
+
506
+ .high-contrast button,
507
+ .high-contrast input,
508
+ .high-contrast select,
509
+ .high-contrast textarea,
510
+ .high-contrast a {
511
+ border: var(--border-emphasis) !important;
512
+ }
513
+
514
+ .high-contrast h1,
515
+ .high-contrast h2,
516
+ .high-contrast h3,
517
+ .high-contrast h4,
518
+ .high-contrast h5,
519
+ .high-contrast h6 {
520
+ font-weight: var(--text-emphasis) !important;
521
+ }
522
+
523
+ .high-contrast .card,
524
+ .high-contrast .modal,
525
+ .high-contrast .tooltip,
526
+ .high-contrast .popover {
527
+ box-shadow: var(--shadow-emphasis) !important;
528
+ border: var(--border-emphasis) !important;
529
+ }
530
+ `;
531
+
532
+ document.head.appendChild(style);
533
+ }
534
+
535
+ // Remove high contrast styles
536
+ private removeHighContrastStyles(): void {
537
+ const style = document.getElementById('high-contrast-styles');
538
+ if (style) {
539
+ style.remove();
540
+ }
541
+ }
542
+
543
+ // Get current theme (placeholder - would integrate with actual theme system)
544
+ private getCurrentTheme(): MultiThemeConfig {
545
+ // This would integrate with the actual theme system
546
+ return {} as MultiThemeConfig;
547
+ }
548
+
549
+ // Apply theme (placeholder - would integrate with actual theme system)
550
+ private applyTheme(theme: MultiThemeConfig): void {
551
+ // This would integrate with the actual theme system
552
+
553
+ }
554
+
555
+ // Get high contrast configuration
556
+ getConfiguration(): {
557
+ enabled: boolean;
558
+ targetContrastRatio: number;
559
+ enhancedColors: boolean;
560
+ borderEmphasis: boolean;
561
+ textEmphasis: boolean;
562
+ focusIndicators: boolean;
563
+ } {
564
+ return {
565
+ enabled: this.isEnabled,
566
+ targetContrastRatio: this.targetContrastRatio,
567
+ enhancedColors: this.enhancedColors,
568
+ borderEmphasis: this.borderEmphasis,
569
+ textEmphasis: this.textEmphasis,
570
+ focusIndicators: this.focusIndicators
571
+ };
572
+ }
573
+
574
+ // Validate high contrast theme
575
+ validateHighContrastTheme(theme: HighContrastThemeConfig): boolean {
576
+ if (!theme.highContrast?.enabled) return false;
577
+
578
+ // Validate contrast ratios
579
+ if (theme.colors) {
580
+ const background = theme.colors.surface?.background || '#FFFFFF';
581
+
582
+ // Check primary color contrast
583
+ if (theme.colors.primary?.[500]) {
584
+ const ratio = HighContrastColors.calculateContrastRatio(
585
+ theme.colors.primary[500],
586
+ background
587
+ );
588
+ if (ratio < this.targetContrastRatio) {
589
+ console.warn(`Primary color contrast ratio ${ratio} is below target ${this.targetContrastRatio}`);
590
+ return false;
591
+ }
592
+ }
593
+
594
+ // Check text color contrast
595
+ if (theme.colors.text?.primary) {
596
+ const ratio = HighContrastColors.calculateContrastRatio(
597
+ theme.colors.text.primary,
598
+ background
599
+ );
600
+ if (ratio < this.targetContrastRatio) {
601
+ console.warn(`Text color contrast ratio ${ratio} is below target ${this.targetContrastRatio}`);
602
+ return false;
603
+ }
604
+ }
605
+ }
606
+
607
+ return true;
608
+ }
609
+ }
610
+
611
+ // Export default instances
612
+ export declare const highContrastThemeManager: new HighContrastThemeManager();
613
+
614
+ // Export default
615
+ export default {
616
+ HighContrastColors,
617
+ HighContrastThemeManager,
618
+ highContrastThemeManager
619
+ };