@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.7 → 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 (462) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/components/ui/accessibility-demo.d.ts +259 -0
  3. package/dist/components/ui/accessibility-demo.esm.js +265 -0
  4. package/dist/components/ui/accessibility-demo.js +265 -0
  5. package/dist/components/ui/advanced-component-architecture-demo.d.ts +718 -0
  6. package/dist/components/ui/advanced-component-architecture-demo.esm.js +860 -0
  7. package/dist/components/ui/advanced-component-architecture-demo.js +860 -0
  8. package/dist/components/ui/advanced-transition-system-demo.d.ts +660 -0
  9. package/dist/components/ui/advanced-transition-system-demo.esm.js +624 -0
  10. package/dist/components/ui/advanced-transition-system-demo.js +624 -0
  11. package/dist/components/ui/advanced-transition-system.d.ts +391 -0
  12. package/dist/components/ui/advanced-transition-system.esm.js +351 -0
  13. package/dist/components/ui/advanced-transition-system.js +351 -0
  14. package/dist/components/ui/animation/animated-container.d.ts +162 -0
  15. package/dist/components/ui/animation/animated-container.esm.js +143 -0
  16. package/dist/components/ui/animation/animated-container.js +143 -0
  17. package/dist/components/ui/animation/index.d.ts +9 -0
  18. package/dist/components/ui/animation/index.esm.js +19 -0
  19. package/dist/components/ui/animation/index.js +19 -0
  20. package/dist/components/ui/animation/staggered-container.d.ts +64 -0
  21. package/dist/components/ui/animation/staggered-container.esm.js +59 -0
  22. package/dist/components/ui/animation/staggered-container.js +59 -0
  23. package/dist/components/ui/animation-demo.d.ts +238 -0
  24. package/dist/components/ui/animation-demo.esm.js +218 -0
  25. package/dist/components/ui/animation-demo.js +218 -0
  26. package/dist/components/ui/badge.d.ts +28 -0
  27. package/dist/components/ui/badge.esm.js +30 -0
  28. package/dist/components/ui/badge.js +30 -0
  29. package/dist/components/ui/battery-conscious-animation-demo.d.ts +561 -0
  30. package/dist/components/ui/battery-conscious-animation-demo.esm.js +533 -0
  31. package/dist/components/ui/battery-conscious-animation-demo.js +533 -0
  32. package/dist/components/ui/border-radius-shadow-demo.d.ts +183 -0
  33. package/dist/components/ui/border-radius-shadow-demo.esm.js +176 -0
  34. package/dist/components/ui/border-radius-shadow-demo.js +176 -0
  35. package/dist/components/ui/button.d.ts +33 -0
  36. package/dist/components/ui/button.esm.js +30 -0
  37. package/dist/components/ui/button.js +30 -0
  38. package/dist/components/ui/card.d.ts +205 -0
  39. package/dist/components/ui/card.esm.js +182 -0
  40. package/dist/components/ui/card.js +182 -0
  41. package/dist/components/ui/checkbox.d.ts +26 -0
  42. package/dist/components/ui/checkbox.esm.js +30 -0
  43. package/dist/components/ui/checkbox.js +30 -0
  44. package/dist/components/ui/color-preview.d.ts +402 -0
  45. package/dist/components/ui/color-preview.esm.js +388 -0
  46. package/dist/components/ui/color-preview.js +388 -0
  47. package/dist/components/ui/data-display/chart.d.ts +646 -0
  48. package/dist/components/ui/data-display/chart.esm.js +625 -0
  49. package/dist/components/ui/data-display/chart.js +625 -0
  50. package/dist/components/ui/data-display/data-grid-simple.d.ts +73 -0
  51. package/dist/components/ui/data-display/data-grid-simple.esm.js +76 -0
  52. package/dist/components/ui/data-display/data-grid-simple.js +76 -0
  53. package/dist/components/ui/data-display/data-grid.d.ts +670 -0
  54. package/dist/components/ui/data-display/data-grid.esm.js +667 -0
  55. package/dist/components/ui/data-display/data-grid.js +667 -0
  56. package/dist/components/ui/data-display/list.d.ts +448 -0
  57. package/dist/components/ui/data-display/list.esm.js +448 -0
  58. package/dist/components/ui/data-display/list.js +448 -0
  59. package/dist/components/ui/data-display/table.d.ts +472 -0
  60. package/dist/components/ui/data-display/table.esm.js +474 -0
  61. package/dist/components/ui/data-display/table.js +474 -0
  62. package/dist/components/ui/data-display/timeline.d.ts +433 -0
  63. package/dist/components/ui/data-display/timeline.esm.js +436 -0
  64. package/dist/components/ui/data-display/timeline.js +436 -0
  65. package/dist/components/ui/data-display/tree.d.ts +594 -0
  66. package/dist/components/ui/data-display/tree.esm.js +570 -0
  67. package/dist/components/ui/data-display/tree.js +570 -0
  68. package/dist/components/ui/data-display/types.d.ts +534 -0
  69. package/dist/components/ui/data-display/types.esm.js +511 -0
  70. package/dist/components/ui/data-display/types.js +511 -0
  71. package/dist/components/ui/enterprise-mobile-experience-demo.d.ts +735 -0
  72. package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +699 -0
  73. package/dist/components/ui/enterprise-mobile-experience-demo.js +699 -0
  74. package/dist/components/ui/enterprise-mobile-experience.d.ts +461 -0
  75. package/dist/components/ui/enterprise-mobile-experience.esm.js +413 -0
  76. package/dist/components/ui/enterprise-mobile-experience.js +413 -0
  77. package/dist/components/ui/feedback/alert.d.ts +154 -0
  78. package/dist/components/ui/feedback/alert.esm.js +150 -0
  79. package/dist/components/ui/feedback/alert.js +150 -0
  80. package/dist/components/ui/feedback/progress.d.ts +288 -0
  81. package/dist/components/ui/feedback/progress.esm.js +269 -0
  82. package/dist/components/ui/feedback/progress.js +269 -0
  83. package/dist/components/ui/feedback/skeleton.d.ts +182 -0
  84. package/dist/components/ui/feedback/skeleton.esm.js +175 -0
  85. package/dist/components/ui/feedback/skeleton.js +175 -0
  86. package/dist/components/ui/feedback/toast.d.ts +277 -0
  87. package/dist/components/ui/feedback/toast.esm.js +256 -0
  88. package/dist/components/ui/feedback/toast.js +256 -0
  89. package/dist/components/ui/feedback/types.d.ts +123 -0
  90. package/dist/components/ui/feedback/types.esm.js +125 -0
  91. package/dist/components/ui/feedback/types.js +125 -0
  92. package/dist/components/ui/font-preview.d.ts +282 -0
  93. package/dist/components/ui/font-preview.esm.js +286 -0
  94. package/dist/components/ui/font-preview.js +286 -0
  95. package/dist/components/ui/form-demo.d.ts +544 -0
  96. package/dist/components/ui/form-demo.esm.js +516 -0
  97. package/dist/components/ui/form-demo.js +516 -0
  98. package/dist/components/ui/hardware-acceleration-demo.d.ts +540 -0
  99. package/dist/components/ui/hardware-acceleration-demo.esm.js +497 -0
  100. package/dist/components/ui/hardware-acceleration-demo.js +497 -0
  101. package/dist/components/ui/input.d.ts +33 -0
  102. package/dist/components/ui/input.esm.js +32 -0
  103. package/dist/components/ui/input.js +32 -0
  104. package/dist/components/ui/label.d.ts +13 -0
  105. package/dist/components/ui/label.esm.js +16 -0
  106. package/dist/components/ui/label.js +16 -0
  107. package/dist/components/ui/layout-demo.d.ts +352 -0
  108. package/dist/components/ui/layout-demo.esm.js +342 -0
  109. package/dist/components/ui/layout-demo.js +342 -0
  110. package/dist/components/ui/layouts/adaptive-layout.d.ts +132 -0
  111. package/dist/components/ui/layouts/adaptive-layout.esm.js +120 -0
  112. package/dist/components/ui/layouts/adaptive-layout.js +120 -0
  113. package/dist/components/ui/layouts/desktop-layout.d.ts +219 -0
  114. package/dist/components/ui/layouts/desktop-layout.esm.js +204 -0
  115. package/dist/components/ui/layouts/desktop-layout.js +204 -0
  116. package/dist/components/ui/layouts/index.d.ts +5 -0
  117. package/dist/components/ui/layouts/index.esm.js +10 -0
  118. package/dist/components/ui/layouts/index.js +10 -0
  119. package/dist/components/ui/layouts/mobile-layout.d.ts +158 -0
  120. package/dist/components/ui/layouts/mobile-layout.esm.js +152 -0
  121. package/dist/components/ui/layouts/mobile-layout.js +152 -0
  122. package/dist/components/ui/layouts/tablet-layout.d.ts +192 -0
  123. package/dist/components/ui/layouts/tablet-layout.esm.js +183 -0
  124. package/dist/components/ui/layouts/tablet-layout.js +183 -0
  125. package/dist/components/ui/mobile-form-validation.d.ts +439 -0
  126. package/dist/components/ui/mobile-form-validation.esm.js +418 -0
  127. package/dist/components/ui/mobile-form-validation.js +418 -0
  128. package/dist/components/ui/mobile-input-demo.d.ts +197 -0
  129. package/dist/components/ui/mobile-input-demo.esm.js +195 -0
  130. package/dist/components/ui/mobile-input-demo.js +195 -0
  131. package/dist/components/ui/mobile-input.d.ts +273 -0
  132. package/dist/components/ui/mobile-input.esm.js +216 -0
  133. package/dist/components/ui/mobile-input.js +216 -0
  134. package/dist/components/ui/mobile-skeleton-loading-demo.d.ts +628 -0
  135. package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +621 -0
  136. package/dist/components/ui/mobile-skeleton-loading-demo.js +621 -0
  137. package/dist/components/ui/navigation/breadcrumb.d.ts +149 -0
  138. package/dist/components/ui/navigation/breadcrumb.esm.js +155 -0
  139. package/dist/components/ui/navigation/breadcrumb.js +155 -0
  140. package/dist/components/ui/navigation/index.d.ts +25 -0
  141. package/dist/components/ui/navigation/index.esm.js +14 -0
  142. package/dist/components/ui/navigation/index.js +14 -0
  143. package/dist/components/ui/navigation/menu.d.ts +366 -0
  144. package/dist/components/ui/navigation/menu.esm.js +360 -0
  145. package/dist/components/ui/navigation/menu.js +360 -0
  146. package/dist/components/ui/navigation/navigation-demo.d.ts +169 -0
  147. package/dist/components/ui/navigation/navigation-demo.esm.js +317 -0
  148. package/dist/components/ui/navigation/navigation-demo.js +317 -0
  149. package/dist/components/ui/navigation/pagination.d.ts +261 -0
  150. package/dist/components/ui/navigation/pagination.esm.js +260 -0
  151. package/dist/components/ui/navigation/pagination.js +260 -0
  152. package/dist/components/ui/navigation/sidebar.d.ts +375 -0
  153. package/dist/components/ui/navigation/sidebar.esm.js +369 -0
  154. package/dist/components/ui/navigation/sidebar.js +369 -0
  155. package/dist/components/ui/navigation/stepper.d.ts +294 -0
  156. package/dist/components/ui/navigation/stepper.esm.js +292 -0
  157. package/dist/components/ui/navigation/stepper.js +292 -0
  158. package/dist/components/ui/navigation/tabs.d.ts +196 -0
  159. package/dist/components/ui/navigation/tabs.esm.js +194 -0
  160. package/dist/components/ui/navigation/tabs.js +194 -0
  161. package/dist/components/ui/navigation/types.d.ts +293 -0
  162. package/dist/components/ui/navigation/types.esm.js +298 -0
  163. package/dist/components/ui/navigation/types.js +298 -0
  164. package/dist/components/ui/overlay/backdrop.d.ts +79 -0
  165. package/dist/components/ui/overlay/backdrop.esm.js +80 -0
  166. package/dist/components/ui/overlay/backdrop.js +80 -0
  167. package/dist/components/ui/overlay/focus-manager.d.ts +141 -0
  168. package/dist/components/ui/overlay/focus-manager.esm.js +141 -0
  169. package/dist/components/ui/overlay/focus-manager.js +141 -0
  170. package/dist/components/ui/overlay/index.d.ts +27 -0
  171. package/dist/components/ui/overlay/index.esm.js +16 -0
  172. package/dist/components/ui/overlay/index.js +16 -0
  173. package/dist/components/ui/overlay/modal.d.ts +262 -0
  174. package/dist/components/ui/overlay/modal.esm.js +266 -0
  175. package/dist/components/ui/overlay/modal.js +266 -0
  176. package/dist/components/ui/overlay/overlay-manager.d.ts +107 -0
  177. package/dist/components/ui/overlay/overlay-manager.esm.js +105 -0
  178. package/dist/components/ui/overlay/overlay-manager.js +105 -0
  179. package/dist/components/ui/overlay/popover.d.ts +450 -0
  180. package/dist/components/ui/overlay/popover.esm.js +446 -0
  181. package/dist/components/ui/overlay/popover.js +446 -0
  182. package/dist/components/ui/overlay/portal.d.ts +75 -0
  183. package/dist/components/ui/overlay/portal.esm.js +79 -0
  184. package/dist/components/ui/overlay/portal.js +79 -0
  185. package/dist/components/ui/overlay/tooltip.d.ts +298 -0
  186. package/dist/components/ui/overlay/tooltip.esm.js +288 -0
  187. package/dist/components/ui/overlay/tooltip.js +288 -0
  188. package/dist/components/ui/overlay/types.d.ts +194 -0
  189. package/dist/components/ui/overlay/types.esm.js +195 -0
  190. package/dist/components/ui/overlay/types.js +195 -0
  191. package/dist/components/ui/performance-demo.d.ts +583 -0
  192. package/dist/components/ui/performance-demo.esm.js +549 -0
  193. package/dist/components/ui/performance-demo.js +549 -0
  194. package/dist/components/ui/semantic-input-system-demo.d.ts +490 -0
  195. package/dist/components/ui/semantic-input-system-demo.esm.js +465 -0
  196. package/dist/components/ui/semantic-input-system-demo.js +465 -0
  197. package/dist/components/ui/theme-customizer.d.ts +378 -0
  198. package/dist/components/ui/theme-customizer.esm.js +354 -0
  199. package/dist/components/ui/theme-customizer.js +354 -0
  200. package/dist/components/ui/theme-preview.d.ts +305 -0
  201. package/dist/components/ui/theme-preview.esm.js +258 -0
  202. package/dist/components/ui/theme-preview.js +258 -0
  203. package/dist/components/ui/theme-switcher.d.ts +259 -0
  204. package/dist/components/ui/theme-switcher.esm.js +238 -0
  205. package/dist/components/ui/theme-switcher.js +238 -0
  206. package/dist/components/ui/theme-toggle.d.ts +34 -0
  207. package/dist/components/ui/theme-toggle.esm.js +38 -0
  208. package/dist/components/ui/theme-toggle.js +38 -0
  209. package/dist/components/ui/token-demo.d.ts +188 -0
  210. package/dist/components/ui/token-demo.esm.js +183 -0
  211. package/dist/components/ui/token-demo.js +183 -0
  212. package/dist/components/ui/touch-demo.d.ts +455 -0
  213. package/dist/components/ui/touch-demo.esm.js +433 -0
  214. package/dist/components/ui/touch-demo.js +433 -0
  215. package/dist/components/ui/touch-friendly-interface-demo.d.ts +512 -0
  216. package/dist/components/ui/touch-friendly-interface-demo.esm.js +481 -0
  217. package/dist/components/ui/touch-friendly-interface-demo.js +481 -0
  218. package/dist/components/ui/touch-friendly-interface.d.ts +292 -0
  219. package/dist/components/ui/touch-friendly-interface.esm.js +272 -0
  220. package/dist/components/ui/touch-friendly-interface.js +272 -0
  221. package/dist/hooks/index.d.ts +161 -0
  222. package/dist/hooks/index.esm.js +190 -0
  223. package/dist/hooks/index.js +190 -0
  224. package/dist/hooks/use-accessibility-support.d.ts +516 -0
  225. package/dist/hooks/use-accessibility-support.esm.js +488 -0
  226. package/dist/hooks/use-accessibility-support.js +488 -0
  227. package/dist/hooks/use-adaptive-layout.d.ts +287 -0
  228. package/dist/hooks/use-adaptive-layout.esm.js +266 -0
  229. package/dist/hooks/use-adaptive-layout.js +266 -0
  230. package/dist/hooks/use-advanced-patterns.d.ts +292 -0
  231. package/dist/hooks/use-advanced-patterns.esm.js +279 -0
  232. package/dist/hooks/use-advanced-patterns.js +279 -0
  233. package/dist/hooks/use-advanced-transition-system.d.ts +390 -0
  234. package/dist/hooks/use-advanced-transition-system.esm.js +352 -0
  235. package/dist/hooks/use-advanced-transition-system.js +352 -0
  236. package/dist/hooks/use-animation-profile.d.ts +285 -0
  237. package/dist/hooks/use-animation-profile.esm.js +259 -0
  238. package/dist/hooks/use-animation-profile.js +259 -0
  239. package/dist/hooks/use-battery-animations.d.ts +382 -0
  240. package/dist/hooks/use-battery-animations.esm.js +359 -0
  241. package/dist/hooks/use-battery-animations.js +359 -0
  242. package/dist/hooks/use-battery-conscious-loading.d.ts +473 -0
  243. package/dist/hooks/use-battery-conscious-loading.esm.js +432 -0
  244. package/dist/hooks/use-battery-conscious-loading.js +432 -0
  245. package/dist/hooks/use-battery-optimization.d.ts +328 -0
  246. package/dist/hooks/use-battery-optimization.esm.js +307 -0
  247. package/dist/hooks/use-battery-optimization.js +307 -0
  248. package/dist/hooks/use-battery-status.d.ts +297 -0
  249. package/dist/hooks/use-battery-status.esm.js +277 -0
  250. package/dist/hooks/use-battery-status.js +277 -0
  251. package/dist/hooks/use-component-performance.d.ts +342 -0
  252. package/dist/hooks/use-component-performance.esm.js +329 -0
  253. package/dist/hooks/use-component-performance.js +329 -0
  254. package/dist/hooks/use-device-loading-states.d.ts +456 -0
  255. package/dist/hooks/use-device-loading-states.esm.js +416 -0
  256. package/dist/hooks/use-device-loading-states.js +416 -0
  257. package/dist/hooks/use-device.d.ts +104 -0
  258. package/dist/hooks/use-device.esm.js +99 -0
  259. package/dist/hooks/use-device.js +99 -0
  260. package/dist/hooks/use-enterprise-mobile-experience.d.ts +486 -0
  261. package/dist/hooks/use-enterprise-mobile-experience.esm.js +439 -0
  262. package/dist/hooks/use-enterprise-mobile-experience.js +439 -0
  263. package/dist/hooks/use-form-feedback.d.ts +401 -0
  264. package/dist/hooks/use-form-feedback.esm.js +360 -0
  265. package/dist/hooks/use-form-feedback.js +360 -0
  266. package/dist/hooks/use-form-performance.d.ts +511 -0
  267. package/dist/hooks/use-form-performance.esm.js +478 -0
  268. package/dist/hooks/use-form-performance.js +478 -0
  269. package/dist/hooks/use-frame-rate.d.ts +249 -0
  270. package/dist/hooks/use-frame-rate.esm.js +232 -0
  271. package/dist/hooks/use-frame-rate.js +232 -0
  272. package/dist/hooks/use-gestures.d.ts +336 -0
  273. package/dist/hooks/use-gestures.esm.js +314 -0
  274. package/dist/hooks/use-gestures.js +314 -0
  275. package/dist/hooks/use-hardware-acceleration.d.ts +339 -0
  276. package/dist/hooks/use-hardware-acceleration.esm.js +313 -0
  277. package/dist/hooks/use-hardware-acceleration.js +313 -0
  278. package/dist/hooks/use-input-accessibility.d.ts +451 -0
  279. package/dist/hooks/use-input-accessibility.esm.js +417 -0
  280. package/dist/hooks/use-input-accessibility.js +417 -0
  281. package/dist/hooks/use-input-performance.d.ts +503 -0
  282. package/dist/hooks/use-input-performance.esm.js +471 -0
  283. package/dist/hooks/use-input-performance.js +471 -0
  284. package/dist/hooks/use-layout-performance.d.ts +317 -0
  285. package/dist/hooks/use-layout-performance.esm.js +298 -0
  286. package/dist/hooks/use-layout-performance.js +298 -0
  287. package/dist/hooks/use-loading-accessibility.d.ts +532 -0
  288. package/dist/hooks/use-loading-accessibility.esm.js +495 -0
  289. package/dist/hooks/use-loading-accessibility.js +495 -0
  290. package/dist/hooks/use-loading-performance.d.ts +471 -0
  291. package/dist/hooks/use-loading-performance.esm.js +449 -0
  292. package/dist/hooks/use-loading-performance.js +449 -0
  293. package/dist/hooks/use-memory-usage.d.ts +285 -0
  294. package/dist/hooks/use-memory-usage.esm.js +268 -0
  295. package/dist/hooks/use-memory-usage.js +268 -0
  296. package/dist/hooks/use-mobile-form-layout.d.ts +462 -0
  297. package/dist/hooks/use-mobile-form-layout.esm.js +427 -0
  298. package/dist/hooks/use-mobile-form-layout.js +427 -0
  299. package/dist/hooks/use-mobile-form-validation.d.ts +516 -0
  300. package/dist/hooks/use-mobile-form-validation.esm.js +451 -0
  301. package/dist/hooks/use-mobile-form-validation.js +451 -0
  302. package/dist/hooks/use-mobile-keyboard-optimization.d.ts +469 -0
  303. package/dist/hooks/use-mobile-keyboard-optimization.esm.js +431 -0
  304. package/dist/hooks/use-mobile-keyboard-optimization.js +431 -0
  305. package/dist/hooks/use-mobile-layout.d.ts +300 -0
  306. package/dist/hooks/use-mobile-layout.esm.js +280 -0
  307. package/dist/hooks/use-mobile-layout.js +280 -0
  308. package/dist/hooks/use-mobile-optimization.d.ts +404 -0
  309. package/dist/hooks/use-mobile-optimization.esm.js +378 -0
  310. package/dist/hooks/use-mobile-optimization.js +378 -0
  311. package/dist/hooks/use-mobile-skeleton.d.ts +399 -0
  312. package/dist/hooks/use-mobile-skeleton.esm.js +369 -0
  313. package/dist/hooks/use-mobile-skeleton.js +369 -0
  314. package/dist/hooks/use-mobile-touch.d.ts +412 -0
  315. package/dist/hooks/use-mobile-touch.esm.js +379 -0
  316. package/dist/hooks/use-mobile-touch.js +379 -0
  317. package/dist/hooks/use-performance-throttling.d.ts +346 -0
  318. package/dist/hooks/use-performance-throttling.esm.js +324 -0
  319. package/dist/hooks/use-performance-throttling.js +324 -0
  320. package/dist/hooks/use-performance.d.ts +314 -0
  321. package/dist/hooks/use-performance.esm.js +278 -0
  322. package/dist/hooks/use-performance.js +278 -0
  323. package/dist/hooks/use-reusable-architecture.d.ts +412 -0
  324. package/dist/hooks/use-reusable-architecture.esm.js +385 -0
  325. package/dist/hooks/use-reusable-architecture.js +385 -0
  326. package/dist/hooks/use-semantic-input-types.d.ts +354 -0
  327. package/dist/hooks/use-semantic-input-types.esm.js +315 -0
  328. package/dist/hooks/use-semantic-input-types.js +315 -0
  329. package/dist/hooks/use-semantic-input.d.ts +563 -0
  330. package/dist/hooks/use-semantic-input.esm.js +513 -0
  331. package/dist/hooks/use-semantic-input.js +513 -0
  332. package/dist/hooks/use-tablet-layout.d.ts +382 -0
  333. package/dist/hooks/use-tablet-layout.esm.js +355 -0
  334. package/dist/hooks/use-tablet-layout.js +355 -0
  335. package/dist/hooks/use-touch-friendly-input.d.ts +520 -0
  336. package/dist/hooks/use-touch-friendly-input.esm.js +480 -0
  337. package/dist/hooks/use-touch-friendly-input.js +480 -0
  338. package/dist/hooks/use-touch-friendly-interface.d.ts +329 -0
  339. package/dist/hooks/use-touch-friendly-interface.esm.js +299 -0
  340. package/dist/hooks/use-touch-friendly-interface.js +299 -0
  341. package/dist/hooks/use-touch-optimization.d.ts +373 -0
  342. package/dist/hooks/use-touch-optimization.esm.js +348 -0
  343. package/dist/hooks/use-touch-optimization.js +348 -0
  344. package/dist/lib/utils.d.ts +3 -0
  345. package/dist/lib/utils.esm.js +6 -0
  346. package/dist/lib/utils.js +6 -0
  347. package/dist/plugins/theme-css-generator.d.ts +345 -0
  348. package/dist/plugins/theme-css-generator.esm.js +305 -0
  349. package/dist/plugins/theme-css-generator.js +305 -0
  350. package/dist/styles.css +1 -1
  351. package/dist/themes/ThemeContext.d.ts +27 -0
  352. package/dist/themes/ThemeContext.esm.js +31 -0
  353. package/dist/themes/ThemeContext.js +31 -0
  354. package/dist/themes/ThemeProvider.d.ts +222 -0
  355. package/dist/themes/ThemeProvider.esm.js +229 -0
  356. package/dist/themes/ThemeProvider.js +229 -0
  357. package/dist/themes/accessibility/index.d.ts +7 -0
  358. package/dist/themes/accessibility/index.esm.js +27 -0
  359. package/dist/themes/accessibility/index.js +27 -0
  360. package/dist/themes/accessibility.d.ts +259 -0
  361. package/dist/themes/accessibility.esm.js +220 -0
  362. package/dist/themes/accessibility.js +220 -0
  363. package/dist/themes/aria-patterns.d.ts +418 -0
  364. package/dist/themes/aria-patterns.esm.js +384 -0
  365. package/dist/themes/aria-patterns.js +384 -0
  366. package/dist/themes/base-themes.d.ts +34 -0
  367. package/dist/themes/base-themes.esm.js +52 -0
  368. package/dist/themes/base-themes.js +52 -0
  369. package/dist/themes/colorManager.d.ts +327 -0
  370. package/dist/themes/colorManager.esm.js +362 -0
  371. package/dist/themes/colorManager.js +362 -0
  372. package/dist/themes/examples/dark-theme.d.ts +139 -0
  373. package/dist/themes/examples/dark-theme.esm.js +124 -0
  374. package/dist/themes/examples/dark-theme.js +124 -0
  375. package/dist/themes/examples/minimal-theme.d.ts +93 -0
  376. package/dist/themes/examples/minimal-theme.esm.js +86 -0
  377. package/dist/themes/examples/minimal-theme.js +86 -0
  378. package/dist/themes/focus-management.d.ts +699 -0
  379. package/dist/themes/focus-management.esm.js +642 -0
  380. package/dist/themes/focus-management.js +642 -0
  381. package/dist/themes/fontLoader.d.ts +163 -0
  382. package/dist/themes/fontLoader.esm.js +192 -0
  383. package/dist/themes/fontLoader.js +192 -0
  384. package/dist/themes/high-contrast.d.ts +619 -0
  385. package/dist/themes/high-contrast.esm.js +573 -0
  386. package/dist/themes/high-contrast.js +573 -0
  387. package/dist/themes/index.d.ts +11 -0
  388. package/dist/themes/index.esm.js +19 -0
  389. package/dist/themes/index.js +19 -0
  390. package/dist/themes/inheritance.d.ts +160 -0
  391. package/dist/themes/inheritance.esm.js +219 -0
  392. package/dist/themes/inheritance.js +219 -0
  393. package/dist/themes/keyboard-navigation.d.ts +550 -0
  394. package/dist/themes/keyboard-navigation.esm.js +521 -0
  395. package/dist/themes/keyboard-navigation.js +521 -0
  396. package/dist/themes/motion-reduction.d.ts +660 -0
  397. package/dist/themes/motion-reduction.esm.js +602 -0
  398. package/dist/themes/motion-reduction.js +602 -0
  399. package/dist/themes/navigation.d.ts +232 -0
  400. package/dist/themes/navigation.esm.js +238 -0
  401. package/dist/themes/navigation.js +238 -0
  402. package/dist/themes/screen-reader.d.ts +645 -0
  403. package/dist/themes/screen-reader.esm.js +580 -0
  404. package/dist/themes/screen-reader.js +580 -0
  405. package/dist/themes/systemThemeDetector.d.ts +148 -0
  406. package/dist/themes/systemThemeDetector.esm.js +174 -0
  407. package/dist/themes/systemThemeDetector.js +174 -0
  408. package/dist/themes/themeCSSUpdater.d.ts +229 -0
  409. package/dist/themes/themeCSSUpdater.esm.js +250 -0
  410. package/dist/themes/themeCSSUpdater.js +250 -0
  411. package/dist/themes/themePersistence.d.ts +192 -0
  412. package/dist/themes/themePersistence.esm.js +217 -0
  413. package/dist/themes/themePersistence.js +217 -0
  414. package/dist/themes/themes/stan-design.d.ts +678 -0
  415. package/dist/themes/themes/stan-design.esm.js +518 -0
  416. package/dist/themes/themes/stan-design.js +518 -0
  417. package/dist/themes/types.d.ts +454 -0
  418. package/dist/themes/types.esm.js +446 -0
  419. package/dist/themes/types.js +446 -0
  420. package/dist/themes/useSystemTheme.d.ts +43 -0
  421. package/dist/themes/useSystemTheme.esm.js +48 -0
  422. package/dist/themes/useSystemTheme.js +48 -0
  423. package/dist/themes/useTheme.d.ts +20 -0
  424. package/dist/themes/useTheme.esm.js +87 -0
  425. package/dist/themes/useTheme.js +87 -0
  426. package/dist/themes/validation.d.ts +406 -0
  427. package/dist/themes/validation.esm.js +411 -0
  428. package/dist/themes/validation.js +411 -0
  429. package/dist/tokens/index.d.ts +25 -0
  430. package/dist/tokens/index.esm.js +23 -0
  431. package/dist/tokens/index.js +23 -0
  432. package/dist/tokens/tokenExporter.d.ts +336 -0
  433. package/dist/tokens/tokenExporter.esm.js +371 -0
  434. package/dist/tokens/tokenExporter.js +371 -0
  435. package/dist/tokens/tokenGenerator.d.ts +250 -0
  436. package/dist/tokens/tokenGenerator.esm.js +267 -0
  437. package/dist/tokens/tokenGenerator.js +267 -0
  438. package/dist/tokens/tokenManager.d.ts +194 -0
  439. package/dist/tokens/tokenManager.esm.js +235 -0
  440. package/dist/tokens/tokenManager.js +235 -0
  441. package/dist/tokens/tokenValidator.d.ts +488 -0
  442. package/dist/tokens/tokenValidator.esm.js +497 -0
  443. package/dist/tokens/tokenValidator.js +497 -0
  444. package/dist/tokens/types.d.ts +78 -0
  445. package/dist/tokens/types.esm.js +64 -0
  446. package/dist/tokens/types.js +64 -0
  447. package/dist/utils/bundle-analyzer.d.ts +260 -0
  448. package/dist/utils/bundle-analyzer.esm.js +242 -0
  449. package/dist/utils/bundle-analyzer.js +242 -0
  450. package/dist/utils/bundle-splitting.d.ts +483 -0
  451. package/dist/utils/bundle-splitting.esm.js +458 -0
  452. package/dist/utils/bundle-splitting.js +458 -0
  453. package/dist/utils/lazy-loading.d.ts +437 -0
  454. package/dist/utils/lazy-loading.esm.js +415 -0
  455. package/dist/utils/lazy-loading.js +415 -0
  456. package/dist/utils/performance-monitor.d.ts +513 -0
  457. package/dist/utils/performance-monitor.esm.js +472 -0
  458. package/dist/utils/performance-monitor.js +472 -0
  459. package/dist/utils/tree-shaking.d.ts +274 -0
  460. package/dist/utils/tree-shaking.esm.js +266 -0
  461. package/dist/utils/tree-shaking.js +266 -0
  462. package/package.json +1 -1
@@ -0,0 +1,220 @@
1
+ // Accessibility theme configuration interface
2
+ export interface AccessibilityThemeConfig {
3
+ highContrast;
4
+ reducedMotion;
5
+ focusVisible;
6
+ ariaLabels, string>;
7
+ keyboardShortcuts, string>;
8
+ focusRing;
9
+ width;
10
+ style;
11
+ offset;
12
+ };
13
+ motion;
14
+ normal;
15
+ slow;
16
+ };
17
+ easing;
18
+ easeIn;
19
+ easeOut;
20
+ easeInOut;
21
+ };
22
+ };
23
+ contrast; // WCAG AA minimum contrast ratio
24
+ enhanced; // WCAG AAA enhanced contrast ratio
25
+ target; // Target contrast ratio for the theme
26
+ };
27
+ spacing;
28
+ touchTarget; // Minimum touch target size
29
+ };
30
+ }
31
+
32
+ // Default accessibility configuration
33
+ export const defaultAccessibilityConfig= {
34
+ highContrast,
35
+ reducedMotion,
36
+ focusVisible,
37
+ ariaLabels,
38
+ open,
39
+ expand,
40
+ collapse,
41
+ next,
42
+ previous,
43
+ submit,
44
+ cancel,
45
+ loading,
46
+ error,
47
+ success,
48
+ warning,
49
+ info},
50
+ keyboardShortcuts,
51
+ submit,
52
+ cancel,
53
+ next,
54
+ previous,
55
+ expand,
56
+ collapse},
57
+ focusRing,
58
+ width,
59
+ style,
60
+ offset},
61
+ motion,
62
+ normal,
63
+ slow},
64
+ easing,
65
+ easeIn,
66
+ easeOut,
67
+ easeInOut}
68
+ },
69
+ contrast, // WCAG AA minimum
70
+ enhanced, // WCAG AAA enhanced
71
+ target},
72
+ spacing,
73
+ touchTarget}
74
+ };
75
+
76
+ // High contrast accessibility configuration
77
+ export const highContrastAccessibilityConfig= {
78
+ ...defaultAccessibilityConfig,
79
+ highContrast,
80
+ focusRing,
81
+ width,
82
+ style,
83
+ offset},
84
+ contrast,
85
+ enhanced,
86
+ target}
87
+ };
88
+
89
+ // Reduced motion accessibility configuration
90
+ export const reducedMotionAccessibilityConfig= {
91
+ ...defaultAccessibilityConfig,
92
+ reducedMotion,
93
+ motion,
94
+ normal,
95
+ slow},
96
+ easing,
97
+ easeIn,
98
+ easeOut,
99
+ easeInOut}
100
+ }
101
+ };
102
+
103
+ // Accessibility theme manager
104
+ export class AccessibilityThemeManager {
105
+ private config;
106
+ private listeners) => void>;
107
+
108
+ constructor(initialConfig= defaultAccessibilityConfig) {
109
+ this.config = initialConfig;
110
+ this.listeners = new Set();
111
+ this.initializeSystemPreferences();
112
+ }
113
+
114
+ // Initialize system preferences
115
+ private initializeSystemPreferences() {
116
+ // Check for system high contrast preference
117
+ if (typeof window !== 'undefined' && window.matchMedia) {
118
+ const highContrastQuery = window.matchMedia('(prefers-contrast)');
119
+ const reducedMotionQuery = window.matchMedia('(prefers-reduced-motion)');
120
+
121
+ this.updateFromSystemPreferences(highContrastQuery.matches, reducedMotionQuery.matches);
122
+
123
+ // Listen for changes
124
+ highContrastQuery.addEventListener('change', (e) => {
125
+ this.updateFromSystemPreferences(e.matches, this.config.reducedMotion);
126
+ });
127
+
128
+ reducedMotionQuery.addEventListener('change', (e) => {
129
+ this.updateFromSystemPreferences(this.config.highContrast, e.matches);
130
+ });
131
+ }
132
+ }
133
+
134
+ // Update configuration based on system preferences
135
+ private updateFromSystemPreferences(highContrast, reducedMotion) {
136
+ let newConfig = { ...this.config };
137
+
138
+ if (highContrast) {
139
+ newConfig = { ...newConfig, ...highContrastAccessibilityConfig };
140
+ }
141
+
142
+ if (reducedMotion) {
143
+ newConfig = { ...newConfig, ...reducedMotionAccessibilityConfig };
144
+ }
145
+
146
+ this.updateConfig(newConfig);
147
+ }
148
+
149
+ // Get current accessibility configuration
150
+ getConfig()};
151
+ }
152
+
153
+ // Update accessibility configuration
154
+ updateConfig(newConfig) {
155
+ this.config = { ...this.config, ...newConfig };
156
+ this.notifyListeners();
157
+ }
158
+
159
+ // Subscribe to accessibility configuration changes
160
+ subscribe(listener) => void)) => void {
161
+ this.listeners.add(listener);
162
+ return () => this.listeners.delete(listener);
163
+ }
164
+
165
+ // Notify all listeners of configuration changes
166
+ private notifyListeners() {
167
+ this.listeners.forEach(listener => listener(this.config));
168
+ }
169
+
170
+ // Get CSS custom properties for accessibility
171
+ getCSSProperties(), string> {
172
+ const { focusRing, motion, spacing } = this.config;
173
+
174
+ return {
175
+ '--focus-ring-color',
176
+ '--focus-ring-width',
177
+ '--focus-ring-style',
178
+ '--focus-ring-offset',
179
+ '--motion-duration-fast',
180
+ '--motion-duration-normal',
181
+ '--motion-duration-slow',
182
+ '--motion-easing-ease',
183
+ '--motion-easing-ease-in',
184
+ '--motion-easing-ease-out',
185
+ '--motion-easing-ease-in-out',
186
+ '--spacing-focus-ring',
187
+ '--spacing-touch-target'};
188
+ }
189
+
190
+ // Check if high contrast mode is enabled
191
+ isHighContrast();
192
+ }
193
+
194
+ // Check if reduced motion is enabled
195
+ isReducedMotion();
196
+ }
197
+
198
+ // Check if focus visible is enabled
199
+ isFocusVisible();
200
+ }
201
+
202
+ // Get ARIA label for a specific key
203
+ getAriaLabel(key)] || key;
204
+ }
205
+
206
+ // Get keyboard shortcut for a specific action
207
+ getKeyboardShortcut(action)] || '';
208
+ }
209
+
210
+ // Validate contrast ratio
211
+ validateContrastRatio(_foreground, _background), return true as placeholder
212
+ return true;
213
+ }
214
+ }
215
+
216
+ // Create and export default accessibility manager instance
217
+ export const accessibilityManager = new AccessibilityThemeManager();
218
+
219
+ // Export default configuration
220
+ export default defaultAccessibilityConfig;
@@ -0,0 +1,418 @@
1
+ // ARIA role definitions
2
+ export declare const ARIA_ROLES: {
3
+ // Landmark roles
4
+ banner: 'banner',
5
+ complementary: 'complementary',
6
+ contentinfo: 'contentinfo',
7
+ form: 'form',
8
+ main: 'main',
9
+ navigation: 'navigation',
10
+ region: 'region',
11
+ search: 'search',
12
+
13
+ // Widget roles
14
+ button: 'button',
15
+ checkbox: 'checkbox',
16
+ gridcell: 'gridcell',
17
+ link: 'link',
18
+ menuitem: 'menuitem',
19
+ menuitemcheckbox: 'menuitemcheckbox',
20
+ menuitemradio: 'menuitemradio',
21
+ option: 'option',
22
+ progressbar: 'progressbar',
23
+ radio: 'radio',
24
+ scrollbar: 'scrollbar',
25
+ searchbox: 'searchbox',
26
+ slider: 'slider',
27
+ spinbutton: 'spinbutton',
28
+ switch: 'switch',
29
+ tab: 'tab',
30
+ tabpanel: 'tabpanel',
31
+ textbox: 'textbox',
32
+ treeitem: 'treeitem',
33
+
34
+ // Document structure roles
35
+ article: 'article',
36
+ cell: 'cell',
37
+ columnheader: 'columnheader',
38
+ definition: 'definition',
39
+ directory: 'directory',
40
+ document: 'document',
41
+ group: 'group',
42
+ heading: 'heading',
43
+ img: 'img',
44
+ list: 'list',
45
+ listitem: 'listitem',
46
+ math: 'math',
47
+ note: 'note',
48
+ presentation: 'presentation',
49
+ row: 'row',
50
+ rowgroup: 'rowgroup',
51
+ rowheader: 'rowheader',
52
+ separator: 'separator',
53
+ table: 'table',
54
+ term: 'term',
55
+ toolbar: 'toolbar',
56
+ tooltip: 'tooltip',
57
+ tree: 'tree',
58
+ treegrid: 'treegrid'
59
+ } as const;
60
+
61
+ // ARIA state and property definitions
62
+ export declare const ARIA_STATES: {
63
+ // Boolean states
64
+ ariaExpanded: 'aria-expanded',
65
+ ariaHidden: 'aria-hidden',
66
+ ariaPressed: 'aria-pressed',
67
+ ariaSelected: 'aria-selected',
68
+ ariaChecked: 'aria-checked',
69
+ ariaDisabled: 'aria-disabled',
70
+ ariaReadonly: 'aria-readonly',
71
+ ariaRequired: 'aria-required',
72
+ ariaInvalid: 'aria-invalid',
73
+ ariaBusy: 'aria-busy',
74
+ ariaCurrent: 'aria-current',
75
+ ariaLive: 'aria-live',
76
+ ariaAtomic: 'aria-atomic',
77
+ ariaRelevant: 'aria-relevant',
78
+ ariaSort: 'aria-sort',
79
+ ariaGrabbed: 'aria-grabbed',
80
+ ariaDropeffect: 'aria-dropeffect',
81
+ ariaActivedescendant: 'aria-activedescendant',
82
+ ariaControls: 'aria-controls',
83
+ ariaDescribedby: 'aria-describedby',
84
+ ariaFlowto: 'aria-flowto',
85
+ ariaLabelledby: 'aria-labelledby',
86
+ ariaOwns: 'aria-owns',
87
+ ariaPosinset: 'aria-posinset',
88
+ ariaSetsize: 'aria-setsize',
89
+ ariaValuemin: 'aria-valuemin',
90
+ ariaValuemax: 'aria-valuemax',
91
+ ariaValuenow: 'aria-valuenow',
92
+ ariaValuetext: 'aria-valuetext',
93
+ ariaLevel: 'aria-level',
94
+ ariaMultiselectable: 'aria-multiselectable',
95
+ ariaOrientation: 'aria-orientation',
96
+ ariaColcount: 'aria-colcount',
97
+ ariaColindex: 'aria-colindex',
98
+ ariaRowcount: 'aria-rowcount',
99
+ ariaRowindex: 'aria-rowindex',
100
+ ariaColspan: 'aria-colspan',
101
+ ariaRowspan: 'aria-rowspan'
102
+ } as const;
103
+
104
+ // ARIA live region values
105
+ export declare const ARIA_LIVE_VALUES: {
106
+ off: 'off',
107
+ polite: 'polite',
108
+ assertive: 'assertive'
109
+ } as const;
110
+
111
+ // ARIA current values
112
+ export declare const ARIA_CURRENT_VALUES: {
113
+ page: 'page',
114
+ step: 'step',
115
+ location: 'location',
116
+ date: 'date',
117
+ time: 'time',
118
+ true: 'true',
119
+ false: 'false'
120
+ } as const;
121
+
122
+ // ARIA sort values
123
+ export declare const ARIA_SORT_VALUES: {
124
+ ascending: 'ascending',
125
+ descending: 'descending',
126
+ none: 'none',
127
+ other: 'other'
128
+ } as const;
129
+
130
+ // ARIA orientation values
131
+ export declare const ARIA_ORIENTATION_VALUES: {
132
+ horizontal: 'horizontal',
133
+ vertical: 'vertical'
134
+ } as const;
135
+
136
+ // ARIA pattern utilities
137
+ export class ARIAUtils {
138
+ // Generate ARIA attributes object
139
+ static generateAriaAttributes(attributes: Record<string, any>): Record<string, any> {
140
+ const ariaAttributes: Record<string, any> = {};
141
+
142
+ Object.entries(attributes).forEach(([key, value]) => {
143
+ if (key.startsWith('aria') && value !== undefined && value !== null) {
144
+ ariaAttributes[key] = value;
145
+ }
146
+ });
147
+
148
+ return ariaAttributes;
149
+ }
150
+
151
+ // Generate proper ARIA label
152
+ static generateAriaLabel(label?: string, fallback?: string): string | undefined {
153
+ if (label) return label;
154
+ if (fallback) return accessibilityManager.getAriaLabel(fallback);
155
+ return undefined;
156
+ }
157
+
158
+ // Generate ARIA describedby
159
+ static generateAriaDescribedby(description?: string, id?: string): string | undefined {
160
+ if (description && id) return id;
161
+ return undefined;
162
+ }
163
+
164
+ // Generate ARIA controls
165
+ static generateAriaControls(controlledId?: string): string | undefined {
166
+ return controlledId;
167
+ }
168
+
169
+ // Generate ARIA expanded state
170
+ static generateAriaExpanded(expanded?: boolean): boolean | undefined {
171
+ return expanded;
172
+ }
173
+
174
+ // Generate ARIA pressed state
175
+ static generateAriaPressed(pressed?: boolean): boolean | undefined {
176
+ return pressed;
177
+ }
178
+
179
+ // Generate ARIA selected state
180
+ static generateAriaSelected(selected?: boolean): boolean | undefined {
181
+ return selected;
182
+ }
183
+
184
+ // Generate ARIA checked state
185
+ static generateAriaChecked(checked?: boolean, indeterminate?: boolean): string | boolean | undefined {
186
+ if (indeterminate) return 'mixed';
187
+ return checked;
188
+ }
189
+
190
+ // Generate ARIA disabled state
191
+ static generateAriaDisabled(disabled?: boolean): boolean | undefined {
192
+ return disabled;
193
+ }
194
+
195
+ // Generate ARIA readonly state
196
+ static generateAriaReadonly(readonly?: boolean): boolean | undefined {
197
+ return readonly;
198
+ }
199
+
200
+ // Generate ARIA required state
201
+ static generateAriaRequired(required?: boolean): boolean | undefined {
202
+ return required;
203
+ }
204
+
205
+ // Generate ARIA invalid state
206
+ static generateAriaInvalid(invalid?: boolean, errorMessage?: string): boolean | 'grammar' | 'spelling' | undefined {
207
+ if (errorMessage) return true;
208
+ return invalid;
209
+ }
210
+
211
+ // Generate ARIA live region
212
+ static generateAriaLive(live?: keyof typeof ARIA_LIVE_VALUES, _atomic?: boolean): string | undefined {
213
+ return live;
214
+ }
215
+
216
+ // Generate ARIA current
217
+ static generateAriaCurrent(current?: keyof typeof ARIA_CURRENT_VALUES): string | undefined {
218
+ return current;
219
+ }
220
+
221
+ // Generate ARIA sort
222
+ static generateAriaSort(sort?: keyof typeof ARIA_SORT_VALUES): string | undefined {
223
+ return sort;
224
+ }
225
+
226
+ // Generate ARIA orientation
227
+ static generateAriaOrientation(orientation?: keyof typeof ARIA_ORIENTATION_VALUES): string | undefined {
228
+ return orientation;
229
+ }
230
+
231
+ // Generate ARIA value attributes for range inputs
232
+ static generateAriaValueAttributes(
233
+ value?: number,
234
+ min?: number,
235
+ max?: number,
236
+ _step?: number
237
+ ): Record<string, any> {
238
+ const ariaAttributes: Record<string, any> = {};
239
+
240
+ if (value !== undefined) ariaAttributes['aria-valuenow'] = value;
241
+ if (min !== undefined) ariaAttributes['aria-valuemin'] = min;
242
+ if (max !== undefined) ariaAttributes['aria-valuemax'] = max;
243
+
244
+ return ariaAttributes;
245
+ }
246
+
247
+ // Generate ARIA position and size attributes for list items
248
+ static generateAriaPositionAttributes(
249
+ position: number,
250
+ total: number
251
+ ): Record<string, any> {
252
+ return {
253
+ 'aria-posinset': position,
254
+ 'aria-setsize': total
255
+ };
256
+ }
257
+
258
+ // Generate ARIA level for headings and tree items
259
+ static generateAriaLevel(level: number): Record<string, any> {
260
+ return {
261
+ 'aria-level': level
262
+ };
263
+ }
264
+
265
+ // Generate ARIA multiselectable for selection components
266
+ static generateAriaMultiselectable(multiselectable: boolean): Record<string, any> {
267
+ return {
268
+ 'aria-multiselectable': multiselectable
269
+ };
270
+ }
271
+
272
+ // Generate ARIA col/row attributes for table cells
273
+ static generateAriaTableAttributes(
274
+ colIndex?: number,
275
+ rowIndex?: number,
276
+ colSpan?: number,
277
+ rowSpan?: number
278
+ ): Record<string, any> {
279
+ const ariaAttributes: Record<string, any> = {};
280
+
281
+ if (colIndex !== undefined) ariaAttributes['aria-colindex'] = colIndex;
282
+ if (rowIndex !== undefined) ariaAttributes['aria-rowindex'] = rowIndex;
283
+ if (colSpan !== undefined) ariaAttributes['aria-colspan'] = colSpan;
284
+ if (rowSpan !== undefined) ariaAttributes['aria-rowspan'] = rowSpan;
285
+
286
+ return ariaAttributes;
287
+ }
288
+
289
+ // Generate ARIA count attributes for tables
290
+ static generateAriaCountAttributes(
291
+ colCount?: number,
292
+ rowCount?: number
293
+ ): Record<string, any> {
294
+ const ariaAttributes: Record<string, any> = {};
295
+
296
+ if (colCount !== undefined) ariaAttributes['aria-colcount'] = colCount;
297
+ if (rowCount !== undefined) ariaAttributes['aria-rowcount'] = rowCount;
298
+
299
+ return ariaAttributes;
300
+ }
301
+
302
+ // Generate ARIA grabbed and dropeffect for drag and drop
303
+ static generateAriaDragDrop(
304
+ grabbed?: boolean,
305
+ dropEffect?: string
306
+ ): Record<string, any> {
307
+ const ariaAttributes: Record<string, any> = {};
308
+
309
+ if (grabbed !== undefined) ariaAttributes['aria-grabbed'] = grabbed;
310
+ if (dropEffect) ariaAttributes['aria-dropeffect'] = dropEffect;
311
+
312
+ return ariaAttributes;
313
+ }
314
+
315
+ // Generate ARIA active descendant for composite widgets
316
+ static generateAriaActiveDescendant(activeDescendantId?: string): Record<string, any> {
317
+ if (!activeDescendantId) return {};
318
+
319
+ return {
320
+ 'aria-activedescendant': activeDescendantId
321
+ };
322
+ }
323
+
324
+ // Generate ARIA owns for composite widgets
325
+ static generateAriaOwns(ownedIds?: string[]): Record<string, any> {
326
+ if (!ownedIds || ownedIds.length === 0) return {};
327
+
328
+ return {
329
+ 'aria-owns': ownedIds.join(' ')
330
+ };
331
+ }
332
+
333
+ // Generate ARIA flowto for composite widgets
334
+ static generateAriaFlowTo(flowToIds?: string[]): Record<string, any> {
335
+ if (!flowToIds || flowToIds.length === 0) return {};
336
+
337
+ return {
338
+ 'aria-flowto': flowToIds.join(' ')
339
+ };
340
+ }
341
+
342
+ // Generate ARIA controls for composite widgets
343
+ static generateAriaControlsMultiple(controlIds?: string[]): Record<string, any> {
344
+ if (!controlIds || controlIds.length === 0) return {};
345
+
346
+ return {
347
+ 'aria-controls': controlIds.join(' ')
348
+ };
349
+ }
350
+
351
+ // Generate ARIA describedby for multiple descriptions
352
+ static generateAriaDescribedbyMultiple(descriptionIds?: string[]): Record<string, any> {
353
+ if (!descriptionIds || descriptionIds.length === 0) return {};
354
+
355
+ return {
356
+ 'aria-describedby': descriptionIds.join(' ')
357
+ };
358
+ }
359
+
360
+ // Generate ARIA labelledby for multiple labels
361
+ static generateAriaLabelledbyMultiple(labelIds?: string[]): Record<string, any> {
362
+ if (!labelIds || labelIds.length === 0) return {};
363
+
364
+ return {
365
+ 'aria-labelledby': labelIds.join(' ')
366
+ };
367
+ }
368
+
369
+ // Validate ARIA attributes
370
+ static validateAriaAttributes(attributes: Record<string, any>): boolean {
371
+ // Basic validation - check if required attributes are present
372
+ // This is a simplified validation - in production you might want more comprehensive checks
373
+
374
+ for (const [key, value] of Object.entries(attributes)) {
375
+ if (key.startsWith('aria-')) {
376
+ // Check if value is not undefined or null
377
+ if (value === undefined || value === null) {
378
+ console.warn(`ARIA attribute ${key} has invalid value: ${value}`);
379
+ return false;
380
+ }
381
+ }
382
+ }
383
+
384
+ return true;
385
+ }
386
+
387
+ // Get accessible name for an element
388
+ static getAccessibleName(element: HTMLElement): string {
389
+ // Priority order: aria-labelledby, aria-label, title, text content
390
+ const labelledby = element.getAttribute('aria-labelledby');
391
+ if (labelledby) {
392
+ const labelElement = document.getElementById(labelledby);
393
+ if (labelElement) return labelElement.textContent || '';
394
+ }
395
+
396
+ const label = element.getAttribute('aria-label');
397
+ if (label) return label;
398
+
399
+ const title = element.getAttribute('title');
400
+ if (title) return title;
401
+
402
+ return element.textContent || '';
403
+ }
404
+
405
+ // Get accessible description for an element
406
+ static getAccessibleDescription(element: HTMLElement): string {
407
+ const describedby = element.getAttribute('aria-describedby');
408
+ if (describedby) {
409
+ const descElement = document.getElementById(describedby);
410
+ if (descElement) return descElement.textContent || '';
411
+ }
412
+
413
+ return '';
414
+ }
415
+ }
416
+
417
+ // Export default ARIA utilities instance
418
+ export default ARIAUtils;