@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,229 @@
1
+ import { useState, useEffect, useCallback } from 'react';
2
+ import { ThemeContext, ThemeContextType, ThemeProviderProps } from './ThemeContext';
3
+ import { MultiThemeConfig, CompleteThemeConfig } from './types';
4
+ import { themeInheritanceManager, toCompleteThemeConfig } from './inheritance';
5
+ import { defaultThemes } from './base-themes';
6
+ import { createThemePersistence } from './themePersistence';
7
+ import { themeCSSUpdater } from './themeCSSUpdater';
8
+ import { fontLoader } from './fontLoader';
9
+ import { ColorManager } from './colorManager';
10
+
11
+ export const ThemeProvider= ({
12
+ children,
13
+ defaultTheme = 'stan-design',
14
+ themes = defaultThemes,
15
+ persistTheme = true,
16
+ storageKey = 'stan-design-theme'
17
+ }) => {
18
+ // State management
19
+ const [currentTheme, setCurrentThemeState] = useState<string>(defaultTheme);
20
+ const [currentThemeConfig, setCurrentThemeConfig] = useState<CompleteThemeConfig | null>(null);
21
+ const [availableThemes, setAvailableThemes] = useState<string[]>([]);
22
+ const [isLoading, setIsLoading] = useState(true);
23
+ const [error, setError] = useState<string | null>(null);
24
+
25
+ // Enhance theme colors using ColorManager
26
+ const enhanceThemeColors = useCallback((themeConfig)=> {
27
+ try {
28
+ const enhanced = { ...themeConfig };
29
+
30
+ // Enhance primary colors if they exist
31
+ if (enhanced.colors?.primary?.[500]) {
32
+ const baseColor = enhanced.colors.primary[500];
33
+
34
+ // Generate additional color variations if they don't exist
35
+ if (!enhanced.colors.primary.light || !enhanced.colors.primary.dark || !enhanced.colors.primary.contrast) {
36
+ const enhancedScale = ColorManager.generateColorScale({
37
+ baseColor,
38
+ generateShades,
39
+ generateContrast});
40
+
41
+ enhanced.colors.primary = {
42
+ ...enhanced.colors.primary,
43
+ light,
44
+ dark,
45
+ contrast};
46
+ }
47
+ }
48
+
49
+ // Enhance semantic colors if they don't exist
50
+ if (enhanced.colors?.primary?.[500] && !enhanced.colors.semantic?.success) {
51
+ const semanticColors = ColorManager.generateSemanticColors(enhanced.colors.primary[500]);
52
+ enhanced.colors.semantic = {
53
+ ...enhanced.colors.semantic,
54
+ ...semanticColors
55
+ };
56
+ }
57
+
58
+ // Enhance neutral colors if they don't exist
59
+ if (!enhanced.colors?.neutral?.[500]) {
60
+ enhanced.colors.neutral = ColorManager.generateNeutralColors('#6b7280');
61
+ }
62
+
63
+ return enhanced;
64
+ } catch (err) {
65
+ console.warn('Failed to enhance theme colors, err);
66
+ return themeConfig;
67
+ }
68
+ }, []);
69
+
70
+ // Initialize themes in the inheritance manager
71
+ useEffect(() => {
72
+ try {
73
+ // Register all provided themes
74
+ Object.entries(themes).forEach(([name, theme]) => {
75
+ try {
76
+ themeInheritanceManager.registerTheme(name, theme);
77
+ } catch (err) {
78
+ console.warn(`Failed to register theme '${name}', err);
79
+ }
80
+ });
81
+
82
+ // Set available themes
83
+ setAvailableThemes(Object.keys(themes));
84
+
85
+ // Load persisted theme or use default
86
+ if (persistTheme) {
87
+ const persistence = createThemePersistence({
88
+ storageKey,
89
+ defaultTheme,
90
+ enableSystemPreference});
91
+ const persistedTheme = persistence.getStoredTheme();
92
+ if (persistedTheme && themes[persistedTheme]) {
93
+ setCurrentThemeState(persistedTheme);
94
+ }
95
+ }
96
+ } catch (err) {
97
+ setError(`Failed to initialize themes}`);
98
+ } finally {
99
+ setIsLoading(false);
100
+ }
101
+ }, [themes, persistTheme, storageKey, defaultTheme]);
102
+
103
+ // Update current theme config when theme changes
104
+ useEffect(() => {
105
+ try {
106
+ const themeConfig = themeInheritanceManager.getCompleteTheme(currentTheme);
107
+
108
+ if (themeConfig) {
109
+ // Enhance theme colors using ColorManager
110
+ const enhancedThemeConfig = enhanceThemeColors(toCompleteThemeConfig(themeConfig));
111
+ setCurrentThemeConfig(enhancedThemeConfig);
112
+
113
+ // Apply the enhanced theme to CSS variables and load fonts
114
+ themeCSSUpdater.applyTheme(enhancedThemeConfig);
115
+ fontLoader.loadThemeFonts(enhancedThemeConfig.fonts).catch(err => {
116
+ console.warn(`Failed to load fonts for theme '${currentTheme}', err);
117
+ });
118
+ }
119
+
120
+ setError(null);
121
+ } catch (err) {
122
+ const errorMessage = `Failed to load theme '${currentTheme}'}`;
123
+ setError(errorMessage);
124
+ setCurrentThemeConfig(null);
125
+ console.error(errorMessage, err);
126
+ }
127
+ }, [currentTheme, enhanceThemeColors]);
128
+
129
+ // Theme switching function
130
+ const setTheme = useCallback(async (themeName) => {
131
+ if (!themes[themeName]) {
132
+ setError(`Theme '${themeName}' not found`);
133
+ return;
134
+ }
135
+
136
+ try {
137
+ // Get the complete theme configuration
138
+ const themeConfig = themeInheritanceManager.getCompleteTheme(themeName);
139
+
140
+ if (!themeConfig) {
141
+ throw new Error(`Theme configuration not found for '${themeName}'`);
142
+ }
143
+
144
+ // Enhance theme colors using ColorManager
145
+ const enhancedThemeConfig = enhanceThemeColors(toCompleteThemeConfig(themeConfig));
146
+
147
+ // Apply enhanced CSS variables to the document
148
+ themeCSSUpdater.applyTheme(enhancedThemeConfig);
149
+
150
+ // Load fonts for the theme
151
+ await fontLoader.loadThemeFonts(enhancedThemeConfig.fonts);
152
+
153
+ // Update state
154
+ setCurrentThemeState(themeName);
155
+ setCurrentThemeConfig(enhancedThemeConfig);
156
+
157
+ // Persist theme preference
158
+ if (persistTheme) {
159
+ const persistence = createThemePersistence({ storageKey });
160
+ persistence.setStoredTheme(themeName);
161
+ }
162
+
163
+ setError(null);
164
+ } catch (err) {
165
+ const errorMessage = `Failed to switch to theme '${themeName}'}`;
166
+ setError(errorMessage);
167
+ console.error(errorMessage, err);
168
+ }
169
+ }, [themes, persistTheme, storageKey]);
170
+
171
+ // Add new theme
172
+ const addTheme = useCallback((name, theme) => {
173
+ try {
174
+ themeInheritanceManager.registerTheme(name, theme);
175
+ setAvailableThemes(prev => [...prev, name]);
176
+ setError(null);
177
+ } catch (err) {
178
+ setError(`Failed to add theme '${name}'}`);
179
+ }
180
+ }, []);
181
+
182
+ // Remove theme
183
+ const removeTheme = useCallback((name) => {
184
+ try {
185
+ // Don't allow removing the current theme
186
+ if (name === currentTheme) {
187
+ setError('Cannot remove the currently active theme');
188
+ return;
189
+ }
190
+
191
+ // Remove from inheritance manager (we'll need to add this method)
192
+ // themeInheritanceManager.removeTheme(name);
193
+
194
+ setAvailableThemes(prev => prev.filter(t => t !== name));
195
+ setError(null);
196
+ } catch (err) {
197
+ setError(`Failed to remove theme '${name}'}`);
198
+ }
199
+ }, [currentTheme]);
200
+
201
+ // Get theme by name
202
+ const getTheme = useCallback((name)=> {
203
+ try {
204
+ return themeInheritanceManager.getCompleteTheme(name);
205
+ } catch (err) {
206
+ setError(`Failed to get theme '${name}'}`);
207
+ return null;
208
+ }
209
+ }, []);
210
+
211
+ // Context value
212
+ const contextValue= {
213
+ currentTheme,
214
+ currentThemeConfig,
215
+ availableThemes,
216
+ setTheme,
217
+ addTheme,
218
+ removeTheme,
219
+ getTheme,
220
+ isLoading,
221
+ error
222
+ };
223
+
224
+ return (
225
+ <ThemeContext.Provider value={contextValue}>
226
+ {children}
227
+ </ThemeContext.Provider>
228
+ );
229
+ };
@@ -0,0 +1,7 @@
1
+ // Accessibility theme system exports
2
+ export * from '../accessibility';
3
+
4
+ // Re-export main managers for easy access
5
+ // Re-export specific classes to avoid naming conflicts
6
+ // Re-export specific classes from other modules
7
+ // Re-export specific utilities and constants
@@ -0,0 +1,27 @@
1
+ // Accessibility theme system exports
2
+ export * from '../accessibility';
3
+
4
+ // Re-export main managers for easy access
5
+ export { accessibilityManager } from '../accessibility';
6
+ export { keyboardNavigationManager } from '../keyboard-navigation';
7
+ export { screenReaderOptimizer } from '../screen-reader';
8
+ export { highContrastThemeManager } from '../high-contrast';
9
+ export { focusManager } from '../focus-management';
10
+ export { motionReductionManager } from '../motion-reduction';
11
+
12
+ // Re-export specific classes to avoid naming conflicts
13
+ export { ARIAUtils as AriaPatternGenerator } from '../aria-patterns';
14
+ export { AccessibilityFocusManager as FocusManagerClass } from '../focus-management';
15
+ export { FocusTrap } from '../focus-management';
16
+ export { FocusRestoration } from '../focus-management';
17
+ export { FocusNavigation } from '../focus-management';
18
+
19
+ // Re-export specific classes from other modules
20
+ export { KeyboardNavigationManager } from '../keyboard-navigation';
21
+ export { ScreenReaderOptimizer } from '../screen-reader';
22
+ export { HighContrastThemeManager } from '../high-contrast';
23
+ export { MotionReductionManager } from '../motion-reduction';
24
+
25
+ // Re-export specific utilities and constants
26
+ export { ARIA_ROLES, ARIA_STATES, ARIA_LIVE_VALUES } from '../aria-patterns';
27
+ export { KEY_CODES, NAVIGATION_PATTERNS } from '../keyboard-navigation';
@@ -0,0 +1,27 @@
1
+ // Accessibility theme system exports
2
+ export * from '../accessibility';
3
+
4
+ // Re-export main managers for easy access
5
+ export { accessibilityManager } from '../accessibility';
6
+ export { keyboardNavigationManager } from '../keyboard-navigation';
7
+ export { screenReaderOptimizer } from '../screen-reader';
8
+ export { highContrastThemeManager } from '../high-contrast';
9
+ export { focusManager } from '../focus-management';
10
+ export { motionReductionManager } from '../motion-reduction';
11
+
12
+ // Re-export specific classes to avoid naming conflicts
13
+ export { ARIAUtils as AriaPatternGenerator } from '../aria-patterns';
14
+ export { AccessibilityFocusManager as FocusManagerClass } from '../focus-management';
15
+ export { FocusTrap } from '../focus-management';
16
+ export { FocusRestoration } from '../focus-management';
17
+ export { FocusNavigation } from '../focus-management';
18
+
19
+ // Re-export specific classes from other modules
20
+ export { KeyboardNavigationManager } from '../keyboard-navigation';
21
+ export { ScreenReaderOptimizer } from '../screen-reader';
22
+ export { HighContrastThemeManager } from '../high-contrast';
23
+ export { MotionReductionManager } from '../motion-reduction';
24
+
25
+ // Re-export specific utilities and constants
26
+ export { ARIA_ROLES, ARIA_STATES, ARIA_LIVE_VALUES } from '../aria-patterns';
27
+ export { KEY_CODES, NAVIGATION_PATTERNS } from '../keyboard-navigation';
@@ -0,0 +1,259 @@
1
+ // Accessibility theme configuration interface
2
+ export interface AccessibilityThemeConfig {
3
+ highContrast: boolean;
4
+ reducedMotion: boolean;
5
+ focusVisible: boolean;
6
+ ariaLabels: Record<string, string>;
7
+ keyboardShortcuts: Record<string, string>;
8
+ focusRing: {
9
+ color: string;
10
+ width: string;
11
+ style: 'solid' | 'dashed' | 'dotted';
12
+ offset: string;
13
+ };
14
+ motion: {
15
+ duration: {
16
+ fast: string;
17
+ normal: string;
18
+ slow: string;
19
+ };
20
+ easing: {
21
+ ease: string;
22
+ easeIn: string;
23
+ easeOut: string;
24
+ easeInOut: string;
25
+ };
26
+ };
27
+ contrast: {
28
+ minimum: number; // WCAG AA minimum contrast ratio
29
+ enhanced: number; // WCAG AAA enhanced contrast ratio
30
+ target: number; // Target contrast ratio for the theme
31
+ };
32
+ spacing: {
33
+ focusRing: string;
34
+ touchTarget: string; // Minimum touch target size
35
+ };
36
+ }
37
+
38
+ // Default accessibility configuration
39
+ export const defaultAccessibilityConfig: AccessibilityThemeConfig = {
40
+ highContrast: false,
41
+ reducedMotion: false,
42
+ focusVisible: true,
43
+ ariaLabels: {
44
+ close: 'Close',
45
+ open: 'Open',
46
+ expand: 'Expand',
47
+ collapse: 'Collapse',
48
+ next: 'Next',
49
+ previous: 'Previous',
50
+ submit: 'Submit',
51
+ cancel: 'Cancel',
52
+ loading: 'Loading',
53
+ error: 'Error',
54
+ success: 'Success',
55
+ warning: 'Warning',
56
+ info: 'Information'
57
+ },
58
+ keyboardShortcuts: {
59
+ close: 'Escape',
60
+ submit: 'Enter',
61
+ cancel: 'Escape',
62
+ next: 'Tab',
63
+ previous: 'Shift+Tab',
64
+ expand: 'Space or Enter',
65
+ collapse: 'Space or Enter'
66
+ },
67
+ focusRing: {
68
+ color: '#3b82f6',
69
+ width: '2px',
70
+ style: 'solid',
71
+ offset: '2px'
72
+ },
73
+ motion: {
74
+ duration: {
75
+ fast: '150ms',
76
+ normal: '300ms',
77
+ slow: '500ms'
78
+ },
79
+ easing: {
80
+ ease: 'ease',
81
+ easeIn: 'ease-in',
82
+ easeOut: 'ease-out',
83
+ easeInOut: 'ease-in-out'
84
+ }
85
+ },
86
+ contrast: {
87
+ minimum: 4.5, // WCAG AA minimum
88
+ enhanced: 7.0, // WCAG AAA enhanced
89
+ target: 4.5
90
+ },
91
+ spacing: {
92
+ focusRing: '2px',
93
+ touchTarget: '44px'
94
+ }
95
+ };
96
+
97
+ // High contrast accessibility configuration
98
+ export const highContrastAccessibilityConfig: AccessibilityThemeConfig = {
99
+ ...defaultAccessibilityConfig,
100
+ highContrast: true,
101
+ focusRing: {
102
+ color: '#ffffff',
103
+ width: '3px',
104
+ style: 'solid',
105
+ offset: '1px'
106
+ },
107
+ contrast: {
108
+ minimum: 7.0,
109
+ enhanced: 7.0,
110
+ target: 7.0
111
+ }
112
+ };
113
+
114
+ // Reduced motion accessibility configuration
115
+ export const reducedMotionAccessibilityConfig: AccessibilityThemeConfig = {
116
+ ...defaultAccessibilityConfig,
117
+ reducedMotion: true,
118
+ motion: {
119
+ duration: {
120
+ fast: '0ms',
121
+ normal: '0ms',
122
+ slow: '0ms'
123
+ },
124
+ easing: {
125
+ ease: 'linear',
126
+ easeIn: 'linear',
127
+ easeOut: 'linear',
128
+ easeInOut: 'linear'
129
+ }
130
+ }
131
+ };
132
+
133
+ // Accessibility theme manager
134
+ export class AccessibilityThemeManager {
135
+ private config: AccessibilityThemeConfig;
136
+ private listeners: Set<(config: AccessibilityThemeConfig) => void>;
137
+
138
+ constructor(initialConfig: AccessibilityThemeConfig = defaultAccessibilityConfig) {
139
+ this.config = initialConfig;
140
+ this.listeners = new Set();
141
+ this.initializeSystemPreferences();
142
+ }
143
+
144
+ // Initialize system preferences
145
+ private initializeSystemPreferences() {
146
+ // Check for system high contrast preference
147
+ if (typeof window !== 'undefined' && window.matchMedia) {
148
+ const highContrastQuery = window.matchMedia('(prefers-contrast: high)');
149
+ const reducedMotionQuery = window.matchMedia('(prefers-reduced-motion: reduce)');
150
+
151
+ this.updateFromSystemPreferences(highContrastQuery.matches, reducedMotionQuery.matches);
152
+
153
+ // Listen for changes
154
+ highContrastQuery.addEventListener('change', (e) => {
155
+ this.updateFromSystemPreferences(e.matches, this.config.reducedMotion);
156
+ });
157
+
158
+ reducedMotionQuery.addEventListener('change', (e) => {
159
+ this.updateFromSystemPreferences(this.config.highContrast, e.matches);
160
+ });
161
+ }
162
+ }
163
+
164
+ // Update configuration based on system preferences
165
+ private updateFromSystemPreferences(highContrast: boolean, reducedMotion: boolean) {
166
+ let newConfig = { ...this.config };
167
+
168
+ if (highContrast) {
169
+ newConfig = { ...newConfig, ...highContrastAccessibilityConfig };
170
+ }
171
+
172
+ if (reducedMotion) {
173
+ newConfig = { ...newConfig, ...reducedMotionAccessibilityConfig };
174
+ }
175
+
176
+ this.updateConfig(newConfig);
177
+ }
178
+
179
+ // Get current accessibility configuration
180
+ getConfig(): AccessibilityThemeConfig {
181
+ return { ...this.config };
182
+ }
183
+
184
+ // Update accessibility configuration
185
+ updateConfig(newConfig: Partial<AccessibilityThemeConfig>) {
186
+ this.config = { ...this.config, ...newConfig };
187
+ this.notifyListeners();
188
+ }
189
+
190
+ // Subscribe to accessibility configuration changes
191
+ subscribe(listener: (config: AccessibilityThemeConfig) => void): () => void {
192
+ this.listeners.add(listener);
193
+ return () => this.listeners.delete(listener);
194
+ }
195
+
196
+ // Notify all listeners of configuration changes
197
+ private notifyListeners() {
198
+ this.listeners.forEach(listener => listener(this.config));
199
+ }
200
+
201
+ // Get CSS custom properties for accessibility
202
+ getCSSProperties(): Record<string, string> {
203
+ const { focusRing, motion, spacing } = this.config;
204
+
205
+ return {
206
+ '--focus-ring-color': focusRing.color,
207
+ '--focus-ring-width': focusRing.width,
208
+ '--focus-ring-style': focusRing.style,
209
+ '--focus-ring-offset': focusRing.offset,
210
+ '--motion-duration-fast': motion.duration.fast,
211
+ '--motion-duration-normal': motion.duration.normal,
212
+ '--motion-duration-slow': motion.duration.slow,
213
+ '--motion-easing-ease': motion.easing.ease,
214
+ '--motion-easing-ease-in': motion.easing.easeIn,
215
+ '--motion-easing-ease-out': motion.easing.easeOut,
216
+ '--motion-easing-ease-in-out': motion.easing.easeInOut,
217
+ '--spacing-focus-ring': spacing.focusRing,
218
+ '--spacing-touch-target': spacing.touchTarget
219
+ };
220
+ }
221
+
222
+ // Check if high contrast mode is enabled
223
+ isHighContrast(): boolean {
224
+ return this.config.highContrast;
225
+ }
226
+
227
+ // Check if reduced motion is enabled
228
+ isReducedMotion(): boolean {
229
+ return this.config.reducedMotion;
230
+ }
231
+
232
+ // Check if focus visible is enabled
233
+ isFocusVisible(): boolean {
234
+ return this.config.focusVisible;
235
+ }
236
+
237
+ // Get ARIA label for a specific key
238
+ getAriaLabel(key: string): string {
239
+ return this.config.ariaLabels[key] || key;
240
+ }
241
+
242
+ // Get keyboard shortcut for a specific action
243
+ getKeyboardShortcut(action: string): string {
244
+ return this.config.keyboardShortcuts[action] || '';
245
+ }
246
+
247
+ // Validate contrast ratio
248
+ validateContrastRatio(_foreground: string, _background: string): boolean {
249
+ // This would implement actual contrast ratio calculation
250
+ // For now, return true as placeholder
251
+ return true;
252
+ }
253
+ }
254
+
255
+ // Create and export default accessibility manager instance
256
+ export declare const accessibilityManager: new AccessibilityThemeManager();
257
+
258
+ // Export default configuration
259
+ export default defaultAccessibilityConfig;