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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/components/ui/accessibility-demo.esm.js +30 -24
  3. package/dist/components/ui/accessibility-demo.js +30 -24
  4. package/dist/components/ui/advanced-component-architecture-demo.esm.js +235 -179
  5. package/dist/components/ui/advanced-component-architecture-demo.js +235 -179
  6. package/dist/components/ui/advanced-transition-system-demo.esm.js +110 -64
  7. package/dist/components/ui/advanced-transition-system-demo.js +110 -64
  8. package/dist/components/ui/advanced-transition-system.esm.js +166 -122
  9. package/dist/components/ui/advanced-transition-system.js +166 -122
  10. package/dist/components/ui/animation/animated-container.esm.js +52 -29
  11. package/dist/components/ui/animation/animated-container.js +52 -29
  12. package/dist/components/ui/animation/staggered-container.esm.js +18 -9
  13. package/dist/components/ui/animation/staggered-container.js +18 -9
  14. package/dist/components/ui/animation-demo.esm.js +67 -35
  15. package/dist/components/ui/animation-demo.js +67 -35
  16. package/dist/components/ui/badge.esm.js +9 -6
  17. package/dist/components/ui/badge.js +9 -6
  18. package/dist/components/ui/battery-conscious-animation-demo.esm.js +122 -87
  19. package/dist/components/ui/battery-conscious-animation-demo.js +122 -87
  20. package/dist/components/ui/border-radius-shadow-demo.esm.js +23 -12
  21. package/dist/components/ui/border-radius-shadow-demo.js +23 -12
  22. package/dist/components/ui/button.esm.js +8 -2
  23. package/dist/components/ui/button.js +8 -2
  24. package/dist/components/ui/card.esm.js +33 -8
  25. package/dist/components/ui/card.js +33 -8
  26. package/dist/components/ui/checkbox.esm.js +3 -3
  27. package/dist/components/ui/checkbox.js +3 -3
  28. package/dist/components/ui/color-preview.esm.js +68 -45
  29. package/dist/components/ui/color-preview.js +68 -45
  30. package/dist/components/ui/data-display/chart.esm.js +112 -84
  31. package/dist/components/ui/data-display/chart.js +112 -84
  32. package/dist/components/ui/data-display/data-grid-simple.esm.js +1 -1
  33. package/dist/components/ui/data-display/data-grid-simple.js +1 -1
  34. package/dist/components/ui/data-display/data-grid.esm.js +80 -67
  35. package/dist/components/ui/data-display/data-grid.js +80 -67
  36. package/dist/components/ui/data-display/list.esm.js +53 -45
  37. package/dist/components/ui/data-display/list.js +53 -45
  38. package/dist/components/ui/data-display/table.esm.js +62 -54
  39. package/dist/components/ui/data-display/table.js +62 -54
  40. package/dist/components/ui/data-display/timeline.esm.js +39 -34
  41. package/dist/components/ui/data-display/timeline.js +39 -34
  42. package/dist/components/ui/data-display/tree.esm.js +116 -84
  43. package/dist/components/ui/data-display/tree.js +116 -84
  44. package/dist/components/ui/data-display/types.esm.js +389 -364
  45. package/dist/components/ui/data-display/types.js +389 -364
  46. package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +120 -70
  47. package/dist/components/ui/enterprise-mobile-experience-demo.js +120 -70
  48. package/dist/components/ui/enterprise-mobile-experience.esm.js +124 -73
  49. package/dist/components/ui/enterprise-mobile-experience.js +124 -73
  50. package/dist/components/ui/feedback/alert.esm.js +22 -15
  51. package/dist/components/ui/feedback/alert.js +22 -15
  52. package/dist/components/ui/feedback/progress.esm.js +47 -24
  53. package/dist/components/ui/feedback/progress.js +47 -24
  54. package/dist/components/ui/feedback/skeleton.esm.js +39 -29
  55. package/dist/components/ui/feedback/skeleton.js +39 -29
  56. package/dist/components/ui/feedback/toast.esm.js +62 -38
  57. package/dist/components/ui/feedback/toast.js +62 -38
  58. package/dist/components/ui/feedback/types.esm.js +83 -83
  59. package/dist/components/ui/feedback/types.js +83 -83
  60. package/dist/components/ui/font-preview.esm.js +41 -39
  61. package/dist/components/ui/font-preview.js +41 -39
  62. package/dist/components/ui/form-demo.esm.js +150 -113
  63. package/dist/components/ui/form-demo.js +150 -113
  64. package/dist/components/ui/hardware-acceleration-demo.esm.js +137 -87
  65. package/dist/components/ui/hardware-acceleration-demo.js +137 -87
  66. package/dist/components/ui/input.esm.js +4 -1
  67. package/dist/components/ui/input.js +4 -1
  68. package/dist/components/ui/layout-demo.esm.js +81 -56
  69. package/dist/components/ui/layout-demo.js +81 -56
  70. package/dist/components/ui/layouts/adaptive-layout.esm.js +27 -8
  71. package/dist/components/ui/layouts/adaptive-layout.js +27 -8
  72. package/dist/components/ui/layouts/desktop-layout.esm.js +39 -19
  73. package/dist/components/ui/layouts/desktop-layout.js +39 -19
  74. package/dist/components/ui/layouts/mobile-layout.esm.js +19 -9
  75. package/dist/components/ui/layouts/mobile-layout.js +19 -9
  76. package/dist/components/ui/layouts/tablet-layout.esm.js +28 -14
  77. package/dist/components/ui/layouts/tablet-layout.js +28 -14
  78. package/dist/components/ui/mobile-form-validation.esm.js +120 -87
  79. package/dist/components/ui/mobile-form-validation.js +120 -87
  80. package/dist/components/ui/mobile-input-demo.esm.js +19 -13
  81. package/dist/components/ui/mobile-input-demo.js +19 -13
  82. package/dist/components/ui/mobile-input.esm.js +185 -120
  83. package/dist/components/ui/mobile-input.js +185 -120
  84. package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +128 -111
  85. package/dist/components/ui/mobile-skeleton-loading-demo.js +128 -111
  86. package/dist/components/ui/navigation/breadcrumb.esm.js +17 -14
  87. package/dist/components/ui/navigation/breadcrumb.js +17 -14
  88. package/dist/components/ui/navigation/index.esm.js +23 -1
  89. package/dist/components/ui/navigation/index.js +23 -1
  90. package/dist/components/ui/navigation/menu.esm.js +49 -35
  91. package/dist/components/ui/navigation/menu.js +49 -35
  92. package/dist/components/ui/navigation/navigation-demo.esm.js +81 -74
  93. package/dist/components/ui/navigation/navigation-demo.js +81 -74
  94. package/dist/components/ui/navigation/pagination.esm.js +62 -50
  95. package/dist/components/ui/navigation/pagination.js +62 -50
  96. package/dist/components/ui/navigation/sidebar.esm.js +56 -42
  97. package/dist/components/ui/navigation/sidebar.js +56 -42
  98. package/dist/components/ui/navigation/stepper.esm.js +34 -23
  99. package/dist/components/ui/navigation/stepper.js +34 -23
  100. package/dist/components/ui/navigation/tabs.esm.js +32 -21
  101. package/dist/components/ui/navigation/tabs.js +32 -21
  102. package/dist/components/ui/navigation/types.esm.js +196 -195
  103. package/dist/components/ui/navigation/types.js +196 -195
  104. package/dist/components/ui/overlay/backdrop.esm.js +17 -16
  105. package/dist/components/ui/overlay/backdrop.js +17 -16
  106. package/dist/components/ui/overlay/focus-manager.esm.js +21 -19
  107. package/dist/components/ui/overlay/focus-manager.js +21 -19
  108. package/dist/components/ui/overlay/index.esm.js +22 -2
  109. package/dist/components/ui/overlay/index.js +22 -2
  110. package/dist/components/ui/overlay/modal.esm.js +38 -34
  111. package/dist/components/ui/overlay/modal.js +38 -34
  112. package/dist/components/ui/overlay/overlay-manager.esm.js +25 -20
  113. package/dist/components/ui/overlay/overlay-manager.js +25 -20
  114. package/dist/components/ui/overlay/popover.esm.js +74 -58
  115. package/dist/components/ui/overlay/popover.js +74 -58
  116. package/dist/components/ui/overlay/portal.esm.js +7 -7
  117. package/dist/components/ui/overlay/portal.js +7 -7
  118. package/dist/components/ui/overlay/tooltip.esm.js +54 -39
  119. package/dist/components/ui/overlay/tooltip.js +54 -39
  120. package/dist/components/ui/overlay/types.esm.js +132 -131
  121. package/dist/components/ui/overlay/types.js +132 -131
  122. package/dist/components/ui/performance-demo.esm.js +135 -88
  123. package/dist/components/ui/performance-demo.js +135 -88
  124. package/dist/components/ui/semantic-input-system-demo.esm.js +117 -80
  125. package/dist/components/ui/semantic-input-system-demo.js +117 -80
  126. package/dist/components/ui/theme-customizer.esm.js +84 -52
  127. package/dist/components/ui/theme-customizer.js +84 -52
  128. package/dist/components/ui/theme-preview.esm.js +95 -43
  129. package/dist/components/ui/theme-preview.js +95 -43
  130. package/dist/components/ui/theme-switcher.esm.js +70 -44
  131. package/dist/components/ui/theme-switcher.js +70 -44
  132. package/dist/components/ui/theme-toggle.esm.js +3 -3
  133. package/dist/components/ui/theme-toggle.js +3 -3
  134. package/dist/components/ui/token-demo.esm.js +33 -21
  135. package/dist/components/ui/token-demo.js +33 -21
  136. package/dist/components/ui/touch-demo.esm.js +102 -73
  137. package/dist/components/ui/touch-demo.js +102 -73
  138. package/dist/components/ui/touch-friendly-interface-demo.esm.js +102 -64
  139. package/dist/components/ui/touch-friendly-interface-demo.js +102 -64
  140. package/dist/components/ui/touch-friendly-interface.esm.js +85 -61
  141. package/dist/components/ui/touch-friendly-interface.js +85 -61
  142. package/dist/hooks/use-accessibility-support.esm.js +115 -85
  143. package/dist/hooks/use-accessibility-support.js +115 -85
  144. package/dist/hooks/use-adaptive-layout.esm.js +56 -33
  145. package/dist/hooks/use-adaptive-layout.js +56 -33
  146. package/dist/hooks/use-advanced-patterns.esm.js +57 -42
  147. package/dist/hooks/use-advanced-patterns.js +57 -42
  148. package/dist/hooks/use-advanced-transition-system.esm.js +112 -71
  149. package/dist/hooks/use-advanced-transition-system.js +112 -71
  150. package/dist/hooks/use-animation-profile.esm.js +63 -34
  151. package/dist/hooks/use-animation-profile.js +63 -34
  152. package/dist/hooks/use-battery-animations.esm.js +80 -55
  153. package/dist/hooks/use-battery-animations.js +80 -55
  154. package/dist/hooks/use-battery-conscious-loading.esm.js +166 -123
  155. package/dist/hooks/use-battery-conscious-loading.js +166 -123
  156. package/dist/hooks/use-battery-optimization.esm.js +78 -55
  157. package/dist/hooks/use-battery-optimization.js +78 -55
  158. package/dist/hooks/use-battery-status.esm.js +73 -51
  159. package/dist/hooks/use-battery-status.js +73 -51
  160. package/dist/hooks/use-component-performance.esm.js +62 -47
  161. package/dist/hooks/use-component-performance.js +62 -47
  162. package/dist/hooks/use-device-loading-states.esm.js +152 -109
  163. package/dist/hooks/use-device-loading-states.js +152 -109
  164. package/dist/hooks/use-device.esm.js +25 -14
  165. package/dist/hooks/use-device.js +25 -14
  166. package/dist/hooks/use-enterprise-mobile-experience.esm.js +137 -88
  167. package/dist/hooks/use-enterprise-mobile-experience.js +137 -88
  168. package/dist/hooks/use-form-feedback.esm.js +124 -81
  169. package/dist/hooks/use-form-feedback.js +124 -81
  170. package/dist/hooks/use-form-performance.esm.js +127 -92
  171. package/dist/hooks/use-form-performance.js +127 -92
  172. package/dist/hooks/use-frame-rate.esm.js +56 -37
  173. package/dist/hooks/use-frame-rate.js +56 -37
  174. package/dist/hooks/use-gestures.esm.js +96 -72
  175. package/dist/hooks/use-gestures.js +96 -72
  176. package/dist/hooks/use-hardware-acceleration.esm.js +65 -37
  177. package/dist/hooks/use-hardware-acceleration.js +65 -37
  178. package/dist/hooks/use-input-accessibility.esm.js +157 -119
  179. package/dist/hooks/use-input-accessibility.js +157 -119
  180. package/dist/hooks/use-input-performance.esm.js +139 -104
  181. package/dist/hooks/use-input-performance.js +139 -104
  182. package/dist/hooks/use-layout-performance.esm.js +50 -29
  183. package/dist/hooks/use-layout-performance.js +50 -29
  184. package/dist/hooks/use-loading-accessibility.esm.js +209 -169
  185. package/dist/hooks/use-loading-accessibility.js +209 -169
  186. package/dist/hooks/use-loading-performance.esm.js +117 -93
  187. package/dist/hooks/use-loading-performance.js +117 -93
  188. package/dist/hooks/use-memory-usage.esm.js +57 -38
  189. package/dist/hooks/use-memory-usage.js +57 -38
  190. package/dist/hooks/use-mobile-form-layout.esm.js +111 -74
  191. package/dist/hooks/use-mobile-form-layout.js +111 -74
  192. package/dist/hooks/use-mobile-form-validation.esm.js +211 -144
  193. package/dist/hooks/use-mobile-form-validation.js +211 -144
  194. package/dist/hooks/use-mobile-keyboard-optimization.esm.js +154 -113
  195. package/dist/hooks/use-mobile-keyboard-optimization.js +154 -113
  196. package/dist/hooks/use-mobile-layout.esm.js +73 -51
  197. package/dist/hooks/use-mobile-layout.js +73 -51
  198. package/dist/hooks/use-mobile-optimization.esm.js +72 -44
  199. package/dist/hooks/use-mobile-optimization.js +72 -44
  200. package/dist/hooks/use-mobile-skeleton.esm.js +97 -64
  201. package/dist/hooks/use-mobile-skeleton.js +97 -64
  202. package/dist/hooks/use-mobile-touch.esm.js +128 -93
  203. package/dist/hooks/use-mobile-touch.js +128 -93
  204. package/dist/hooks/use-performance-throttling.esm.js +72 -48
  205. package/dist/hooks/use-performance-throttling.js +72 -48
  206. package/dist/hooks/use-performance.esm.js +90 -52
  207. package/dist/hooks/use-performance.js +90 -52
  208. package/dist/hooks/use-reusable-architecture.esm.js +94 -65
  209. package/dist/hooks/use-reusable-architecture.js +94 -65
  210. package/dist/hooks/use-semantic-input-types.esm.js +166 -124
  211. package/dist/hooks/use-semantic-input-types.js +166 -124
  212. package/dist/hooks/use-semantic-input.esm.js +178 -126
  213. package/dist/hooks/use-semantic-input.js +178 -126
  214. package/dist/hooks/use-tablet-layout.esm.js +67 -38
  215. package/dist/hooks/use-tablet-layout.js +67 -38
  216. package/dist/hooks/use-touch-friendly-input.esm.js +193 -149
  217. package/dist/hooks/use-touch-friendly-input.js +193 -149
  218. package/dist/hooks/use-touch-friendly-interface.esm.js +99 -67
  219. package/dist/hooks/use-touch-friendly-interface.js +99 -67
  220. package/dist/hooks/use-touch-optimization.esm.js +99 -72
  221. package/dist/hooks/use-touch-optimization.js +99 -72
  222. package/dist/index.esm.js +289 -280
  223. package/dist/index.js +289 -280
  224. package/dist/lib/utils.esm.js +1 -1
  225. package/dist/lib/utils.js +1 -1
  226. package/dist/plugins/theme-css-generator.esm.js +104 -55
  227. package/dist/plugins/theme-css-generator.js +104 -55
  228. package/dist/provider.esm.js +4 -4
  229. package/dist/provider.js +4 -4
  230. package/dist/styles.css +1 -1
  231. package/dist/theme.esm.js +633 -468
  232. package/dist/theme.js +633 -468
  233. package/dist/themes/ThemeContext.esm.js +15 -15
  234. package/dist/themes/ThemeContext.js +15 -15
  235. package/dist/themes/ThemeProvider.esm.js +25 -22
  236. package/dist/themes/ThemeProvider.js +25 -22
  237. package/dist/themes/accessibility.esm.js +147 -108
  238. package/dist/themes/accessibility.js +147 -108
  239. package/dist/themes/aria-patterns.esm.js +198 -162
  240. package/dist/themes/aria-patterns.js +198 -162
  241. package/dist/themes/base-themes.esm.js +14 -11
  242. package/dist/themes/base-themes.js +14 -11
  243. package/dist/themes/colorManager.esm.js +101 -83
  244. package/dist/themes/colorManager.js +101 -83
  245. package/dist/themes/examples/dark-theme.esm.js +133 -103
  246. package/dist/themes/examples/dark-theme.js +133 -103
  247. package/dist/themes/examples/minimal-theme.esm.js +83 -61
  248. package/dist/themes/examples/minimal-theme.js +83 -61
  249. package/dist/themes/focus-management.esm.js +202 -143
  250. package/dist/themes/focus-management.js +202 -143
  251. package/dist/themes/fontLoader.esm.js +28 -19
  252. package/dist/themes/fontLoader.js +28 -19
  253. package/dist/themes/high-contrast.esm.js +152 -104
  254. package/dist/themes/high-contrast.js +152 -104
  255. package/dist/themes/inheritance.esm.js +35 -27
  256. package/dist/themes/inheritance.js +35 -27
  257. package/dist/themes/keyboard-navigation.esm.js +152 -123
  258. package/dist/themes/keyboard-navigation.js +152 -123
  259. package/dist/themes/motion-reduction.esm.js +193 -133
  260. package/dist/themes/motion-reduction.js +193 -133
  261. package/dist/themes/navigation.esm.js +146 -146
  262. package/dist/themes/navigation.js +146 -146
  263. package/dist/themes/screen-reader.esm.js +159 -94
  264. package/dist/themes/screen-reader.js +159 -94
  265. package/dist/themes/systemThemeDetector.esm.js +42 -34
  266. package/dist/themes/systemThemeDetector.js +42 -34
  267. package/dist/themes/themeCSSUpdater.esm.js +21 -9
  268. package/dist/themes/themeCSSUpdater.js +21 -9
  269. package/dist/themes/themePersistence.esm.js +68 -47
  270. package/dist/themes/themePersistence.js +68 -47
  271. package/dist/themes/themes/stan-design.esm.js +633 -468
  272. package/dist/themes/themes/stan-design.js +633 -468
  273. package/dist/themes/types.esm.js +301 -287
  274. package/dist/themes/types.js +301 -287
  275. package/dist/themes/useSystemTheme.esm.js +4 -4
  276. package/dist/themes/useSystemTheme.js +4 -4
  277. package/dist/themes/useTheme.esm.js +4 -4
  278. package/dist/themes/useTheme.js +4 -4
  279. package/dist/themes/validation.esm.js +128 -77
  280. package/dist/themes/validation.js +128 -77
  281. package/dist/tokens/index.esm.js +15 -4
  282. package/dist/tokens/index.js +15 -4
  283. package/dist/tokens/tokenExporter.esm.js +87 -61
  284. package/dist/tokens/tokenExporter.js +87 -61
  285. package/dist/tokens/tokenGenerator.esm.js +86 -77
  286. package/dist/tokens/tokenGenerator.js +86 -77
  287. package/dist/tokens/tokenManager.esm.js +64 -51
  288. package/dist/tokens/tokenManager.js +64 -51
  289. package/dist/tokens/tokenValidator.esm.js +193 -147
  290. package/dist/tokens/tokenValidator.js +193 -147
  291. package/dist/tokens/types.esm.js +49 -35
  292. package/dist/tokens/types.js +49 -35
  293. package/dist/utils/bundle-analyzer.esm.js +83 -65
  294. package/dist/utils/bundle-analyzer.js +83 -65
  295. package/dist/utils/bundle-splitting.esm.js +142 -117
  296. package/dist/utils/bundle-splitting.js +142 -117
  297. package/dist/utils/lazy-loading.esm.js +132 -106
  298. package/dist/utils/lazy-loading.js +132 -106
  299. package/dist/utils/performance-monitor.esm.js +170 -129
  300. package/dist/utils/performance-monitor.js +170 -129
  301. package/dist/utils/tree-shaking.esm.js +69 -61
  302. package/dist/utils/tree-shaking.js +69 -61
  303. package/package.json +1 -1
  304. package/src/index.ts +146 -146
@@ -3,137 +3,143 @@ import { accessibilityManager } from './accessibility';
3
3
  // ARIA role definitions
4
4
  export const ARIA_ROLES = {
5
5
  // Landmark roles
6
- banner,
7
- complementary,
8
- contentinfo,
9
- form,
10
- main,
11
- navigation,
12
- region,
13
- search,
6
+ banner: 'banner',
7
+ complementary: 'complementary',
8
+ contentinfo: 'contentinfo',
9
+ form: 'form',
10
+ main: 'main',
11
+ navigation: 'navigation',
12
+ region: 'region',
13
+ search: 'search',
14
14
 
15
15
  // Widget roles
16
- button,
17
- checkbox,
18
- gridcell,
19
- link,
20
- menuitem,
21
- menuitemcheckbox,
22
- menuitemradio,
23
- option,
24
- progressbar,
25
- radio,
26
- scrollbar,
27
- searchbox,
28
- slider,
29
- spinbutton,
30
- switch,
31
- tab,
32
- tabpanel,
33
- textbox,
34
- treeitem,
16
+ button: 'button',
17
+ checkbox: 'checkbox',
18
+ gridcell: 'gridcell',
19
+ link: 'link',
20
+ menuitem: 'menuitem',
21
+ menuitemcheckbox: 'menuitemcheckbox',
22
+ menuitemradio: 'menuitemradio',
23
+ option: 'option',
24
+ progressbar: 'progressbar',
25
+ radio: 'radio',
26
+ scrollbar: 'scrollbar',
27
+ searchbox: 'searchbox',
28
+ slider: 'slider',
29
+ spinbutton: 'spinbutton',
30
+ switch: 'switch',
31
+ tab: 'tab',
32
+ tabpanel: 'tabpanel',
33
+ textbox: 'textbox',
34
+ treeitem: 'treeitem',
35
35
 
36
36
  // Document structure roles
37
- article,
38
- cell,
39
- columnheader,
40
- definition,
41
- directory,
42
- document,
43
- group,
44
- heading,
45
- img,
46
- list,
47
- listitem,
48
- math,
49
- note,
50
- presentation,
51
- row,
52
- rowgroup,
53
- rowheader,
54
- separator,
55
- table,
56
- term,
57
- toolbar,
58
- tooltip,
59
- tree,
60
- treegrid} as const;
37
+ article: 'article',
38
+ cell: 'cell',
39
+ columnheader: 'columnheader',
40
+ definition: 'definition',
41
+ directory: 'directory',
42
+ document: 'document',
43
+ group: 'group',
44
+ heading: 'heading',
45
+ img: 'img',
46
+ list: 'list',
47
+ listitem: 'listitem',
48
+ math: 'math',
49
+ note: 'note',
50
+ presentation: 'presentation',
51
+ row: 'row',
52
+ rowgroup: 'rowgroup',
53
+ rowheader: 'rowheader',
54
+ separator: 'separator',
55
+ table: 'table',
56
+ term: 'term',
57
+ toolbar: 'toolbar',
58
+ tooltip: 'tooltip',
59
+ tree: 'tree',
60
+ treegrid: 'treegrid'
61
+ } as const;
61
62
 
62
63
  // ARIA state and property definitions
63
64
  export const ARIA_STATES = {
64
65
  // Boolean states
65
- ariaExpanded,
66
- ariaHidden,
67
- ariaPressed,
68
- ariaSelected,
69
- ariaChecked,
70
- ariaDisabled,
71
- ariaReadonly,
72
- ariaRequired,
73
- ariaInvalid,
74
- ariaBusy,
75
- ariaCurrent,
76
- ariaLive,
77
- ariaAtomic,
78
- ariaRelevant,
79
- ariaSort,
80
- ariaGrabbed,
81
- ariaDropeffect,
82
- ariaActivedescendant,
83
- ariaControls,
84
- ariaDescribedby,
85
- ariaFlowto,
86
- ariaLabelledby,
87
- ariaOwns,
88
- ariaPosinset,
89
- ariaSetsize,
90
- ariaValuemin,
91
- ariaValuemax,
92
- ariaValuenow,
93
- ariaValuetext,
94
- ariaLevel,
95
- ariaMultiselectable,
96
- ariaOrientation,
97
- ariaColcount,
98
- ariaColindex,
99
- ariaRowcount,
100
- ariaRowindex,
101
- ariaColspan,
102
- ariaRowspan} as const;
66
+ ariaExpanded: 'aria-expanded',
67
+ ariaHidden: 'aria-hidden',
68
+ ariaPressed: 'aria-pressed',
69
+ ariaSelected: 'aria-selected',
70
+ ariaChecked: 'aria-checked',
71
+ ariaDisabled: 'aria-disabled',
72
+ ariaReadonly: 'aria-readonly',
73
+ ariaRequired: 'aria-required',
74
+ ariaInvalid: 'aria-invalid',
75
+ ariaBusy: 'aria-busy',
76
+ ariaCurrent: 'aria-current',
77
+ ariaLive: 'aria-live',
78
+ ariaAtomic: 'aria-atomic',
79
+ ariaRelevant: 'aria-relevant',
80
+ ariaSort: 'aria-sort',
81
+ ariaGrabbed: 'aria-grabbed',
82
+ ariaDropeffect: 'aria-dropeffect',
83
+ ariaActivedescendant: 'aria-activedescendant',
84
+ ariaControls: 'aria-controls',
85
+ ariaDescribedby: 'aria-describedby',
86
+ ariaFlowto: 'aria-flowto',
87
+ ariaLabelledby: 'aria-labelledby',
88
+ ariaOwns: 'aria-owns',
89
+ ariaPosinset: 'aria-posinset',
90
+ ariaSetsize: 'aria-setsize',
91
+ ariaValuemin: 'aria-valuemin',
92
+ ariaValuemax: 'aria-valuemax',
93
+ ariaValuenow: 'aria-valuenow',
94
+ ariaValuetext: 'aria-valuetext',
95
+ ariaLevel: 'aria-level',
96
+ ariaMultiselectable: 'aria-multiselectable',
97
+ ariaOrientation: 'aria-orientation',
98
+ ariaColcount: 'aria-colcount',
99
+ ariaColindex: 'aria-colindex',
100
+ ariaRowcount: 'aria-rowcount',
101
+ ariaRowindex: 'aria-rowindex',
102
+ ariaColspan: 'aria-colspan',
103
+ ariaRowspan: 'aria-rowspan'
104
+ } as const;
103
105
 
104
106
  // ARIA live region values
105
107
  export const ARIA_LIVE_VALUES = {
106
- off,
107
- polite,
108
- assertive} as const;
108
+ off: 'off',
109
+ polite: 'polite',
110
+ assertive: 'assertive'
111
+ } as const;
109
112
 
110
113
  // ARIA current values
111
114
  export const ARIA_CURRENT_VALUES = {
112
- page,
113
- step,
114
- location,
115
- date,
116
- time,
117
- true,
118
- false} as const;
115
+ page: 'page',
116
+ step: 'step',
117
+ location: 'location',
118
+ date: 'date',
119
+ time: 'time',
120
+ true: 'true',
121
+ false: 'false'
122
+ } as const;
119
123
 
120
124
  // ARIA sort values
121
125
  export const ARIA_SORT_VALUES = {
122
- ascending,
123
- descending,
124
- none,
125
- other} as const;
126
+ ascending: 'ascending',
127
+ descending: 'descending',
128
+ none: 'none',
129
+ other: 'other'
130
+ } as const;
126
131
 
127
132
  // ARIA orientation values
128
133
  export const ARIA_ORIENTATION_VALUES = {
129
- horizontal,
130
- vertical} as const;
134
+ horizontal: 'horizontal',
135
+ vertical: 'vertical'
136
+ } as const;
131
137
 
132
138
  // ARIA pattern utilities
133
139
  export class ARIAUtils {
134
140
  // Generate ARIA attributes object
135
- static generateAriaAttributes(attributes, any>), any> {
136
- const ariaAttributes, any> = {};
141
+ static generateAriaAttributes(attributes: Record<string, any>): Record<string, any> {
142
+ const ariaAttributes: Record<string, any> = {};
137
143
 
138
144
  Object.entries(attributes).forEach(([key, value]) => {
139
145
  if (key.startsWith('aria') && value !== undefined && value !== null) {
@@ -145,77 +151,93 @@ export class ARIAUtils {
145
151
  }
146
152
 
147
153
  // Generate proper ARIA label
148
- static generateAriaLabel(label?, fallback?)) return label;
154
+ static generateAriaLabel(label?: string, fallback?: string): string | undefined {
155
+ if (label) return label;
149
156
  if (fallback) return accessibilityManager.getAriaLabel(fallback);
150
157
  return undefined;
151
158
  }
152
159
 
153
160
  // Generate ARIA describedby
154
- static generateAriaDescribedby(description?, id?)) return id;
161
+ static generateAriaDescribedby(description?: string, id?: string): string | undefined {
162
+ if (description && id) return id;
155
163
  return undefined;
156
164
  }
157
165
 
158
166
  // Generate ARIA controls
159
- static generateAriaControls(controlledId?);
167
+ static generateAriaControls(controlledId?: string): string | undefined {
168
+ return controlledId;
160
169
  }
161
170
 
162
171
  // Generate ARIA expanded state
163
- static generateAriaExpanded(expanded?);
172
+ static generateAriaExpanded(expanded?: boolean): boolean | undefined {
173
+ return expanded;
164
174
  }
165
175
 
166
176
  // Generate ARIA pressed state
167
- static generateAriaPressed(pressed?);
177
+ static generateAriaPressed(pressed?: boolean): boolean | undefined {
178
+ return pressed;
168
179
  }
169
180
 
170
181
  // Generate ARIA selected state
171
- static generateAriaSelected(selected?);
182
+ static generateAriaSelected(selected?: boolean): boolean | undefined {
183
+ return selected;
172
184
  }
173
185
 
174
186
  // Generate ARIA checked state
175
- static generateAriaChecked(checked?, indeterminate?)) return 'mixed';
187
+ static generateAriaChecked(checked?: boolean, indeterminate?: boolean): string | boolean | undefined {
188
+ if (indeterminate) return 'mixed';
176
189
  return checked;
177
190
  }
178
191
 
179
192
  // Generate ARIA disabled state
180
- static generateAriaDisabled(disabled?);
193
+ static generateAriaDisabled(disabled?: boolean): boolean | undefined {
194
+ return disabled;
181
195
  }
182
196
 
183
197
  // Generate ARIA readonly state
184
- static generateAriaReadonly(readonly?);
198
+ static generateAriaReadonly(readonly?: boolean): boolean | undefined {
199
+ return readonly;
185
200
  }
186
201
 
187
202
  // Generate ARIA required state
188
- static generateAriaRequired(required?);
203
+ static generateAriaRequired(required?: boolean): boolean | undefined {
204
+ return required;
189
205
  }
190
206
 
191
207
  // Generate ARIA invalid state
192
- static generateAriaInvalid(invalid?, errorMessage?)) return true;
208
+ static generateAriaInvalid(invalid?: boolean, errorMessage?: string): boolean | 'grammar' | 'spelling' | undefined {
209
+ if (errorMessage) return true;
193
210
  return invalid;
194
211
  }
195
212
 
196
213
  // Generate ARIA live region
197
- static generateAriaLive(live?, _atomic?);
214
+ static generateAriaLive(live?: keyof typeof ARIA_LIVE_VALUES, _atomic?: boolean): string | undefined {
215
+ return live;
198
216
  }
199
217
 
200
218
  // Generate ARIA current
201
- static generateAriaCurrent(current?);
219
+ static generateAriaCurrent(current?: keyof typeof ARIA_CURRENT_VALUES): string | undefined {
220
+ return current;
202
221
  }
203
222
 
204
223
  // Generate ARIA sort
205
- static generateAriaSort(sort?);
224
+ static generateAriaSort(sort?: keyof typeof ARIA_SORT_VALUES): string | undefined {
225
+ return sort;
206
226
  }
207
227
 
208
228
  // Generate ARIA orientation
209
- static generateAriaOrientation(orientation?);
229
+ static generateAriaOrientation(orientation?: keyof typeof ARIA_ORIENTATION_VALUES): string | undefined {
230
+ return orientation;
210
231
  }
211
232
 
212
233
  // Generate ARIA value attributes for range inputs
213
234
  static generateAriaValueAttributes(
214
- value?,
215
- min?,
216
- max?,
217
- _step?), any> {
218
- const ariaAttributes, any> = {};
235
+ value?: number,
236
+ min?: number,
237
+ max?: number,
238
+ _step?: number
239
+ ): Record<string, any> {
240
+ const ariaAttributes: Record<string, any> = {};
219
241
 
220
242
  if (value !== undefined) ariaAttributes['aria-valuenow'] = value;
221
243
  if (min !== undefined) ariaAttributes['aria-valuemin'] = min;
@@ -226,32 +248,37 @@ export class ARIAUtils {
226
248
 
227
249
  // Generate ARIA position and size attributes for list items
228
250
  static generateAriaPositionAttributes(
229
- position,
230
- total), any> {
251
+ position: number,
252
+ total: number
253
+ ): Record<string, any> {
231
254
  return {
232
- 'aria-posinset',
233
- 'aria-setsize'};
255
+ 'aria-posinset': position,
256
+ 'aria-setsize': total
257
+ };
234
258
  }
235
259
 
236
260
  // Generate ARIA level for headings and tree items
237
- static generateAriaLevel(level), any> {
261
+ static generateAriaLevel(level: number): Record<string, any> {
238
262
  return {
239
- 'aria-level'};
263
+ 'aria-level': level
264
+ };
240
265
  }
241
266
 
242
267
  // Generate ARIA multiselectable for selection components
243
- static generateAriaMultiselectable(multiselectable), any> {
268
+ static generateAriaMultiselectable(multiselectable: boolean): Record<string, any> {
244
269
  return {
245
- 'aria-multiselectable'};
270
+ 'aria-multiselectable': multiselectable
271
+ };
246
272
  }
247
273
 
248
274
  // Generate ARIA col/row attributes for table cells
249
275
  static generateAriaTableAttributes(
250
- colIndex?,
251
- rowIndex?,
252
- colSpan?,
253
- rowSpan?), any> {
254
- const ariaAttributes, any> = {};
276
+ colIndex?: number,
277
+ rowIndex?: number,
278
+ colSpan?: number,
279
+ rowSpan?: number
280
+ ): Record<string, any> {
281
+ const ariaAttributes: Record<string, any> = {};
255
282
 
256
283
  if (colIndex !== undefined) ariaAttributes['aria-colindex'] = colIndex;
257
284
  if (rowIndex !== undefined) ariaAttributes['aria-rowindex'] = rowIndex;
@@ -263,9 +290,10 @@ export class ARIAUtils {
263
290
 
264
291
  // Generate ARIA count attributes for tables
265
292
  static generateAriaCountAttributes(
266
- colCount?,
267
- rowCount?), any> {
268
- const ariaAttributes, any> = {};
293
+ colCount?: number,
294
+ rowCount?: number
295
+ ): Record<string, any> {
296
+ const ariaAttributes: Record<string, any> = {};
269
297
 
270
298
  if (colCount !== undefined) ariaAttributes['aria-colcount'] = colCount;
271
299
  if (rowCount !== undefined) ariaAttributes['aria-rowcount'] = rowCount;
@@ -275,9 +303,10 @@ export class ARIAUtils {
275
303
 
276
304
  // Generate ARIA grabbed and dropeffect for drag and drop
277
305
  static generateAriaDragDrop(
278
- grabbed?,
279
- dropEffect?), any> {
280
- const ariaAttributes, any> = {};
306
+ grabbed?: boolean,
307
+ dropEffect?: string
308
+ ): Record<string, any> {
309
+ const ariaAttributes: Record<string, any> = {};
281
310
 
282
311
  if (grabbed !== undefined) ariaAttributes['aria-grabbed'] = grabbed;
283
312
  if (dropEffect) ariaAttributes['aria-dropeffect'] = dropEffect;
@@ -286,64 +315,69 @@ export class ARIAUtils {
286
315
  }
287
316
 
288
317
  // Generate ARIA active descendant for composite widgets
289
- static generateAriaActiveDescendant(activeDescendantId?), any> {
318
+ static generateAriaActiveDescendant(activeDescendantId?: string): Record<string, any> {
290
319
  if (!activeDescendantId) return {};
291
320
 
292
321
  return {
293
- 'aria-activedescendant'};
322
+ 'aria-activedescendant': activeDescendantId
323
+ };
294
324
  }
295
325
 
296
326
  // Generate ARIA owns for composite widgets
297
- static generateAriaOwns(ownedIds?]), any> {
327
+ static generateAriaOwns(ownedIds?: string[]): Record<string, any> {
298
328
  if (!ownedIds || ownedIds.length === 0) return {};
299
329
 
300
330
  return {
301
- 'aria-owns')
331
+ 'aria-owns': ownedIds.join(' ')
302
332
  };
303
333
  }
304
334
 
305
335
  // Generate ARIA flowto for composite widgets
306
- static generateAriaFlowTo(flowToIds?]), any> {
336
+ static generateAriaFlowTo(flowToIds?: string[]): Record<string, any> {
307
337
  if (!flowToIds || flowToIds.length === 0) return {};
308
338
 
309
339
  return {
310
- 'aria-flowto')
340
+ 'aria-flowto': flowToIds.join(' ')
311
341
  };
312
342
  }
313
343
 
314
344
  // Generate ARIA controls for composite widgets
315
- static generateAriaControlsMultiple(controlIds?]), any> {
345
+ static generateAriaControlsMultiple(controlIds?: string[]): Record<string, any> {
316
346
  if (!controlIds || controlIds.length === 0) return {};
317
347
 
318
348
  return {
319
- 'aria-controls')
349
+ 'aria-controls': controlIds.join(' ')
320
350
  };
321
351
  }
322
352
 
323
353
  // Generate ARIA describedby for multiple descriptions
324
- static generateAriaDescribedbyMultiple(descriptionIds?]), any> {
354
+ static generateAriaDescribedbyMultiple(descriptionIds?: string[]): Record<string, any> {
325
355
  if (!descriptionIds || descriptionIds.length === 0) return {};
326
356
 
327
357
  return {
328
- 'aria-describedby')
358
+ 'aria-describedby': descriptionIds.join(' ')
329
359
  };
330
360
  }
331
361
 
332
362
  // Generate ARIA labelledby for multiple labels
333
- static generateAriaLabelledbyMultiple(labelIds?]), any> {
363
+ static generateAriaLabelledbyMultiple(labelIds?: string[]): Record<string, any> {
334
364
  if (!labelIds || labelIds.length === 0) return {};
335
365
 
336
366
  return {
337
- 'aria-labelledby')
367
+ 'aria-labelledby': labelIds.join(' ')
338
368
  };
339
369
  }
340
370
 
341
371
  // Validate ARIA attributes
342
- static validateAriaAttributes(attributes, any>), value] of Object.entries(attributes)) {
372
+ static validateAriaAttributes(attributes: Record<string, any>): boolean {
373
+ // Basic validation - check if required attributes are present
374
+ // This is a simplified validation - in production you might want more comprehensive checks
375
+
376
+ for (const [key, value] of Object.entries(attributes)) {
343
377
  if (key.startsWith('aria-')) {
344
378
  // Check if value is not undefined or null
345
379
  if (value === undefined || value === null) {
346
- console.warn(`ARIA attribute ${key} has invalid value}`);
380
+ console.warn(`ARIA attribute ${key} has invalid value: ${value}`);
347
381
  return false;
348
382
  }
349
383
  }
@@ -353,7 +387,8 @@ export class ARIAUtils {
353
387
  }
354
388
 
355
389
  // Get accessible name for an element
356
- static getAccessibleName(element), aria-label, title, text content
390
+ static getAccessibleName(element: HTMLElement): string {
391
+ // Priority order: aria-labelledby, aria-label, title, text content
357
392
  const labelledby = element.getAttribute('aria-labelledby');
358
393
  if (labelledby) {
359
394
  const labelElement = document.getElementById(labelledby);
@@ -370,7 +405,8 @@ export class ARIAUtils {
370
405
  }
371
406
 
372
407
  // Get accessible description for an element
373
- static getAccessibleDescription(element)= element.getAttribute('aria-describedby');
408
+ static getAccessibleDescription(element: HTMLElement): string {
409
+ const describedby = element.getAttribute('aria-describedby');
374
410
  if (describedby) {
375
411
  const descElement = document.getElementById(describedby);
376
412
  if (descElement) return descElement.textContent || '';
@@ -17,36 +17,39 @@ export { defaultTheme };
17
17
  /**
18
18
  * Default themes map
19
19
  */
20
- export const defaultThemes, MultiThemeConfig> = {
21
- 'default',
22
- 'stan-design',
23
- 'harvey'};
20
+ export const defaultThemes: Record<string, MultiThemeConfig> = {
21
+ 'default': defaultTheme,
22
+ 'stan-design': stanDesignTheme,
23
+ 'harvey': harveyTheme
24
+ };
24
25
 
25
26
  /**
26
27
  * Theme categories for organization
27
28
  */
28
29
  export const themeCategories = {
29
- brand],
30
- creative],
31
- custom],
32
- accessibility]
30
+ brand: ['stan-design'],
31
+ creative: ['harvey'],
32
+ custom: [],
33
+ accessibility: []
33
34
  } as const;
34
35
 
35
36
  /**
36
37
  * Get theme by name
37
38
  */
38
- export function getTheme(name)];
39
+ export function getTheme(name: string): MultiThemeConfig | undefined {
40
+ return defaultThemes[name];
39
41
  }
40
42
 
41
43
  /**
42
44
  * Get all available theme names
43
45
  */
44
- export function getAvailableThemes()] {
46
+ export function getAvailableThemes(): string[] {
45
47
  return Object.keys(defaultThemes);
46
48
  }
47
49
 
48
50
  /**
49
51
  * Check if theme exists
50
52
  */
51
- export function themeExists(name);
53
+ export function themeExists(name: string): boolean {
54
+ return name in defaultThemes;
52
55
  }
@@ -17,36 +17,39 @@ export { defaultTheme };
17
17
  /**
18
18
  * Default themes map
19
19
  */
20
- export const defaultThemes, MultiThemeConfig> = {
21
- 'default',
22
- 'stan-design',
23
- 'harvey'};
20
+ export const defaultThemes: Record<string, MultiThemeConfig> = {
21
+ 'default': defaultTheme,
22
+ 'stan-design': stanDesignTheme,
23
+ 'harvey': harveyTheme
24
+ };
24
25
 
25
26
  /**
26
27
  * Theme categories for organization
27
28
  */
28
29
  export const themeCategories = {
29
- brand],
30
- creative],
31
- custom],
32
- accessibility]
30
+ brand: ['stan-design'],
31
+ creative: ['harvey'],
32
+ custom: [],
33
+ accessibility: []
33
34
  } as const;
34
35
 
35
36
  /**
36
37
  * Get theme by name
37
38
  */
38
- export function getTheme(name)];
39
+ export function getTheme(name: string): MultiThemeConfig | undefined {
40
+ return defaultThemes[name];
39
41
  }
40
42
 
41
43
  /**
42
44
  * Get all available theme names
43
45
  */
44
- export function getAvailableThemes()] {
46
+ export function getAvailableThemes(): string[] {
45
47
  return Object.keys(defaultThemes);
46
48
  }
47
49
 
48
50
  /**
49
51
  * Check if theme exists
50
52
  */
51
- export function themeExists(name);
53
+ export function themeExists(name: string): boolean {
54
+ return name in defaultThemes;
52
55
  }