@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,413 @@
1
+ import React, { forwardRef, useState, useEffect } from 'react'
2
+ import { cn } from '../../lib/utils'
3
+
4
+ // Enterprise Button Component
5
+ export interface EnterpriseButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
6
+ variant?}
7
+
8
+ export const EnterpriseButton = forwardRef<HTMLButtonElement, EnterpriseButtonProps>(
9
+ ({ className, variant = 'default', size = 'default', loading = false, children, ...props }, ref) => {
10
+ const [isPressed, setIsPressed] = useState(false)
11
+
12
+ const baseClasses = 'enterprise-button enterprise-mobile-optimized enterprise-interaction-refined'
13
+
14
+ const variantClasses = {
15
+ default,
16
+ secondary,
17
+ outline,
18
+ ghost,
19
+ premium}
20
+
21
+ const sizeClasses = {
22
+ sm] min-w-[40px]',
23
+ default] min-w-[48px]',
24
+ lg] min-w-[56px]',
25
+ xl] min-w-[64px]'
26
+ }
27
+
28
+ const handleMouseDown = () => setIsPressed(true)
29
+ const handleMouseUp = () => setIsPressed(false)
30
+ const handleMouseLeave = () => setIsPressed(false)
31
+
32
+ return (
33
+ <button
34
+ ref={ref}
35
+ className={cn(
36
+ baseClasses,
37
+ variantClasses[variant],
38
+ sizeClasses[size],
39
+ loading && 'enterprise-loading',
40
+ isPressed && 'scale-95',
41
+ className
42
+ )}
43
+ onMouseDown={handleMouseDown}
44
+ onMouseUp={handleMouseUp}
45
+ onMouseLeave={handleMouseLeave}
46
+ disabled={loading}
47
+ {...props}
48
+ >
49
+ {loading && (
50
+ <span className="enterprise-loading-spinner mr-2" />
51
+ )}
52
+ {children}
53
+ </button>
54
+ )
55
+ }
56
+ )
57
+
58
+ EnterpriseButton.displayName = 'EnterpriseButton'
59
+
60
+ // Enterprise Card Component
61
+ export interface EnterpriseCardProps extends React.HTMLAttributes<HTMLDivElement> {
62
+ variant?}
63
+
64
+ export const EnterpriseCard = forwardRef<HTMLDivElement, EnterpriseCardProps>(
65
+ ({ className, variant = 'default', children, ...props }, ref) => {
66
+ const baseClasses = 'enterprise-card enterprise-visual-refined'
67
+
68
+ const variantClasses = {
69
+ default,
70
+ interactive,
71
+ premium,
72
+ featured}
73
+
74
+ return (
75
+ <div
76
+ ref={ref}
77
+ className={cn(
78
+ baseClasses,
79
+ variantClasses[variant],
80
+ className
81
+ )}
82
+ {...props}
83
+ >
84
+ {children}
85
+ </div>
86
+ )
87
+ }
88
+ )
89
+
90
+ EnterpriseCard.displayName = 'EnterpriseCard'
91
+
92
+ // Enterprise Input Component
93
+ export interface EnterpriseInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
94
+ variant?}
95
+
96
+ export const EnterpriseInput = forwardRef<HTMLInputElement, EnterpriseInputProps>(
97
+ ({ className, variant = 'default', label, required = false, children, ...props }, ref) => {
98
+ const [isFocused, setIsFocused] = useState(false)
99
+
100
+ const baseClasses = 'enterprise-input enterprise-mobile-optimized enterprise-accessibility'
101
+
102
+ const variantClasses = {
103
+ default,
104
+ success,
105
+ error,
106
+ warning}
107
+
108
+ const handleFocus = () => setIsFocused(true)
109
+ const handleBlur = () => setIsFocused(false)
110
+
111
+ return (
112
+ <div className="space-y-2">
113
+ {label && (
114
+ <label className={cn(
115
+ 'enterprise-label',
116
+ required && 'enterprise-label-required'
117
+ )}>
118
+ {label}
119
+ </label>
120
+ )}
121
+ <div className="relative">
122
+ <input
123
+ ref={ref}
124
+ className={cn(
125
+ baseClasses,
126
+ variantClasses[variant],
127
+ isFocused && 'enterprise-input-focused',
128
+ className
129
+ )}
130
+ onFocus={handleFocus}
131
+ onBlur={handleBlur}
132
+ {...props}
133
+ />
134
+ {children}
135
+ </div>
136
+ </div>
137
+ )
138
+ }
139
+ )
140
+
141
+ EnterpriseInput.displayName = 'EnterpriseInput'
142
+
143
+ // Enterprise Progress Component
144
+ export interface EnterpriseProgressProps {
145
+ value}
146
+
147
+ export const EnterpriseProgress= ({
148
+ value,
149
+ max = 100,
150
+ variant = 'default',
151
+ size = 'default',
152
+ showLabel = true,
153
+ className
154
+ }) => {
155
+ const percentage = Math.min(100, Math.max(0, (value / max) * 100))
156
+
157
+ const baseClasses = 'enterprise-progress enterprise-performance'
158
+
159
+ const sizeClasses = {
160
+ sm,
161
+ default,
162
+ lg}
163
+
164
+ const variantClasses = {
165
+ default,
166
+ success,
167
+ warning,
168
+ error}
169
+
170
+ return (
171
+ <div className={cn('space-y-2', className)}>
172
+ {showLabel && (
173
+ <div className="flex justify-between items-center text-sm">
174
+ <span className="text-cs-text-primary font-medium">Progress</span>
175
+ <span className="text-cs-text-secondary">{Math.round(percentage)}%</span>
176
+ </div>
177
+ )}
178
+ <div className={cn(baseClasses, sizeClasses[size])}>
179
+ <div
180
+ className={cn(variantClasses[variant])}
181
+ style={{ width}%` }}
182
+ />
183
+ </div>
184
+ </div>
185
+ )
186
+ }
187
+
188
+ // Enterprise Quality Metric Component
189
+ export interface EnterpriseQualityMetricProps {
190
+ score}
191
+
192
+ export const EnterpriseQualityMetric= ({
193
+ score,
194
+ label,
195
+ description,
196
+ className
197
+ }) => {
198
+ const getVariantClass = () => {
199
+ if (score >= 90) return 'enterprise-quality-excellent'
200
+ if (score >= 80) return 'enterprise-quality-good'
201
+ if (score < 80) return 'enterprise-quality-needs-improvement'
202
+ return 'enterprise-quality-metric'
203
+ }
204
+
205
+ const getScoreColor = () => {
206
+ if (score >= 90) return 'text-cs-success'
207
+ if (score >= 80) return 'text-cs-warning'
208
+ if (score < 80) return 'text-cs-error'
209
+ return 'text-cs-primary'
210
+ }
211
+
212
+ return (
213
+ <div className={cn('enterprise-quality-metric', getVariantClass(), className)}>
214
+ <div className={cn('enterprise-quality-score', getScoreColor())}>
215
+ {score}
216
+ </div>
217
+ <div className="enterprise-quality-label">
218
+ {label}
219
+ </div>
220
+ {description && (
221
+ <div className="enterprise-quality-description">
222
+ {description}
223
+ </div>
224
+ )}
225
+ </div>
226
+ )
227
+ }
228
+
229
+ // Enterprise Status Component
230
+ export interface EnterpriseStatusProps {
231
+ phase}
232
+
233
+ export const EnterpriseStatus= ({
234
+ phase,
235
+ children,
236
+ className
237
+ }) => {
238
+ const phaseClasses = {
239
+ initializing,
240
+ optimizing,
241
+ polishing,
242
+ verifying,
243
+ complete,
244
+ 'enterprise-ready'}
245
+
246
+ const phaseIcons = {
247
+ initializing,
248
+ optimizing,
249
+ polishing,
250
+ verifying,
251
+ complete,
252
+ 'enterprise-ready'}
253
+
254
+ return (
255
+ <span className={cn('enterprise-status', phaseClasses[phase], className)}>
256
+ <span className="text-lg">{phaseIcons[phase]}</span>
257
+ {children}
258
+ </span>
259
+ )
260
+ }
261
+
262
+ // Enterprise Container Component
263
+ export interface EnterpriseContainerProps extends React.HTMLAttributes<HTMLDivElement> {
264
+ children}
265
+
266
+ export const EnterpriseContainer= ({
267
+ className,
268
+ children,
269
+ ...props
270
+ }) => {
271
+ return (
272
+ <div
273
+ className={cn('enterprise-container', className)}
274
+ {...props}
275
+ >
276
+ {children}
277
+ </div>
278
+ )
279
+ }
280
+
281
+ // Enterprise Section Component
282
+ export interface EnterpriseSectionProps extends React.HTMLAttributes<HTMLElement> {
283
+ children}
284
+
285
+ export const EnterpriseSection= ({
286
+ className,
287
+ children,
288
+ ...props
289
+ }) => {
290
+ return (
291
+ <section
292
+ className={cn('enterprise-section', className)}
293
+ {...props}
294
+ >
295
+ {children}
296
+ </section>
297
+ )
298
+ }
299
+
300
+ // Enterprise Grid Component
301
+ export interface EnterpriseGridProps extends React.HTMLAttributes<HTMLDivElement> {
302
+ cols?}
303
+
304
+ export const EnterpriseGrid= ({
305
+ cols = 1,
306
+ className,
307
+ children,
308
+ ...props
309
+ }) => {
310
+ const colsClasses = {
311
+ 1,
312
+ 2,
313
+ 3,
314
+ 4}
315
+
316
+ return (
317
+ <div
318
+ className={cn('enterprise-grid', colsClasses[cols], className)}
319
+ {...props}
320
+ >
321
+ {children}
322
+ </div>
323
+ )
324
+ }
325
+
326
+ // Enterprise Loading Component
327
+ export interface EnterpriseLoadingProps {
328
+ size?}
329
+
330
+ export const EnterpriseLoading= ({
331
+ size = 'default',
332
+ text = 'Loading...',
333
+ className
334
+ }) => {
335
+ const sizeClasses = {
336
+ sm,
337
+ default,
338
+ lg}
339
+
340
+ return (
341
+ <div className={cn('flex items-center justify-center space-x-2', className)}>
342
+ <div className={cn('enterprise-loading-spinner', sizeClasses[size])} />
343
+ {text && (
344
+ <span className="text-cs-text-secondary text-sm font-medium">
345
+ {text}
346
+ </span>
347
+ )}
348
+ </div>
349
+ )
350
+ }
351
+
352
+ // Enterprise Notification Component
353
+ export interface EnterpriseNotificationProps {
354
+ type) => void
355
+ duration?}
356
+
357
+ export const EnterpriseNotification= ({
358
+ type,
359
+ title,
360
+ message,
361
+ onClose,
362
+ duration = 5000,
363
+ className
364
+ }) => {
365
+ const [isVisible, setIsVisible] = useState(true)
366
+
367
+ useEffect(() => {
368
+ if (duration > 0) {
369
+ const timer = setTimeout(() => {
370
+ setIsVisible(false)
371
+ onClose?.()
372
+ }, duration)
373
+
374
+ return () => clearTimeout(timer)
375
+ }
376
+ }, [duration, onClose])
377
+
378
+ const typeClasses = {
379
+ success,
380
+ warning,
381
+ error,
382
+ info}
383
+
384
+ const typeIcons = {
385
+ success,
386
+ warning,
387
+ error,
388
+ info}
389
+
390
+ if (!isVisible) return null
391
+
392
+ return (
393
+ <div className={cn('enterprise-notification', typeClasses[type], className)}>
394
+ <div className="flex items-start space-x-3">
395
+ <span className="text-lg">{typeIcons[type]}</span>
396
+ <div className="flex-1">
397
+ <h4 className="text-sm font-semibold text-cs-text-primary">
398
+ {title}
399
+ </h4>
400
+ {message && (
401
+ <p className="text-sm text-cs-text-secondary mt-1">
402
+ {message}
403
+ </p>
404
+ )}
405
+ </div>
406
+ {onClose && (
407
+ <button
408
+ onClick={onClose}
409
+ className="text-cs-text-secondary hover)}
410
+ </div>
411
+ </div>
412
+ )
413
+ }
@@ -0,0 +1,154 @@
1
+ // Simple icon components
2
+ const CheckCircleIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
3
+ <svg className={className} fill="currentColor" viewBox="0 0 20 20">
4
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
5
+ </svg>
6
+ );
7
+
8
+ const ExclamationTriangleIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
9
+ <svg className={className} fill="currentColor" viewBox="0 0 20 20">
10
+ <path fillRule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clipRule="evenodd" />
11
+ </svg>
12
+ );
13
+
14
+ const XCircleIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
15
+ <svg className={className} fill="currentColor" viewBox="0 0 20 20">
16
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" />
17
+ </svg>
18
+ );
19
+
20
+ const InformationCircleIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
21
+ <svg className={className} fill="currentColor" viewBox="0 0 20 20">
22
+ <path fillRule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z" clipRule="evenodd" />
23
+ </svg>
24
+ );
25
+
26
+ const XMarkIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
27
+ <svg className={className} fill="currentColor" viewBox="0 0 20 20">
28
+ <path fillRule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clipRule="evenodd" />
29
+ </svg>
30
+ );
31
+
32
+ // Get icon for alert type
33
+ const getAlertIcon = (type: AlertProps['type'], className: string) => {
34
+ switch (type) {
35
+ case 'success':
36
+ return <CheckCircleIcon className={className} />;
37
+ case 'warning':
38
+ return <ExclamationTriangleIcon className={className} />;
39
+ case 'error':
40
+ return <XCircleIcon className={className} />;
41
+ case 'info':
42
+ return <InformationCircleIcon className={className} />;
43
+ default:
44
+ return null;
45
+ }
46
+ };
47
+
48
+ // Alert Action Button Component
49
+ const AlertActionButton: React.FC<AlertAction & { theme: string }> = ({
50
+ label,
51
+ onClick,
52
+ variant = 'primary'
53
+ }) => {
54
+ return (
55
+ <button
56
+ type="button"
57
+ className={`alert__action-button alert__action-button--${variant}`}
58
+ onClick={onClick}
59
+ >
60
+ {label}
61
+ </button>
62
+ );
63
+ };
64
+
65
+ // Main Alert Component
66
+ export const Alert: React.FC<AlertProps> = ({
67
+ title,
68
+ message,
69
+ type = 'info',
70
+ dismissible = false,
71
+ onDismiss,
72
+ icon,
73
+ actions = [],
74
+ showIcon = true,
75
+ closable = false,
76
+ persistent = false,
77
+ className = '',
78
+ theme = 'stan-design',
79
+ size = 'md',
80
+ variant = 'default'
81
+ }) => {
82
+ // const { getTheme } = useTheme();
83
+ // const themeConfig = getTheme(theme);
84
+ // Note: colors not needed as we're using semantic CSS classes
85
+
86
+ const [isVisible, setIsVisible] = useState(true);
87
+
88
+ const handleDismiss = useCallback(() => {
89
+ if (onDismiss) {
90
+ onDismiss();
91
+ }
92
+ if (!persistent) {
93
+ setIsVisible(false);
94
+ }
95
+ }, [onDismiss, persistent]);
96
+
97
+ const shouldShowIcon = showIcon && (icon || type);
98
+ const shouldShowClose = (closable || dismissible) && !persistent;
99
+
100
+ if (!isVisible) {
101
+ return null;
102
+ }
103
+
104
+ return (
105
+ <div
106
+ className={`alert__container alert__container--${size} alert__container--${type} alert__container--${variant} ${className}`}
107
+ role="alert"
108
+ aria-live="polite"
109
+ >
110
+ {shouldShowIcon && (
111
+ <div className={`alert__icon alert__icon--${type}`}>
112
+ {icon || getAlertIcon(type, 'alert__icon')}
113
+ </div>
114
+ )}
115
+
116
+ <div className="alert__content">
117
+ {title && (
118
+ <h3 className="alert__title">
119
+ {title}
120
+ </h3>
121
+ )}
122
+
123
+ <div className={`alert__message ${!title ? 'alert__message--only' : ''}`}>
124
+ {message}
125
+ </div>
126
+
127
+ {actions.length > 0 && (
128
+ <div className="alert__actions">
129
+ {actions.map((action, index) => (
130
+ <AlertActionButton
131
+ key={index}
132
+ {...action}
133
+ theme={theme}
134
+ />
135
+ ))}
136
+ </div>
137
+ )}
138
+ </div>
139
+
140
+ {shouldShowClose && (
141
+ <button
142
+ type="button"
143
+ className="alert__close-button"
144
+ onClick={handleDismiss}
145
+ aria-label="Close alert"
146
+ >
147
+ <XMarkIcon className="alert__close-icon" />
148
+ </button>
149
+ )}
150
+ </div>
151
+ );
152
+ };
153
+
154
+ export default Alert;
@@ -0,0 +1,150 @@
1
+ import React, { useState, useCallback } from 'react';
2
+ import { AlertProps, AlertAction } from './types';
3
+
4
+ // Simple icon components
5
+ const CheckCircleIcon}> = ({ className = '' }) => (
6
+ <svg className={className} fill="currentColor" viewBox="0 0 20 20">
7
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
8
+ </svg>
9
+ );
10
+
11
+ const ExclamationTriangleIcon}> = ({ className = '' }) => (
12
+ <svg className={className} fill="currentColor" viewBox="0 0 20 20">
13
+ <path fillRule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clipRule="evenodd" />
14
+ </svg>
15
+ );
16
+
17
+ const XCircleIcon}> = ({ className = '' }) => (
18
+ <svg className={className} fill="currentColor" viewBox="0 0 20 20">
19
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" />
20
+ </svg>
21
+ );
22
+
23
+ const InformationCircleIcon}> = ({ className = '' }) => (
24
+ <svg className={className} fill="currentColor" viewBox="0 0 20 20">
25
+ <path fillRule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z" clipRule="evenodd" />
26
+ </svg>
27
+ );
28
+
29
+ const XMarkIcon}> = ({ className = '' }) => (
30
+ <svg className={className} fill="currentColor" viewBox="0 0 20 20">
31
+ <path fillRule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clipRule="evenodd" />
32
+ </svg>
33
+ );
34
+
35
+ // Get icon for alert type
36
+ const getAlertIcon = (type], className) => {
37
+ switch (type) {
38
+ case 'success'={className} />;
39
+ case 'warning'={className} />;
40
+ case 'error'={className} />;
41
+ case 'info'={className} />;
42
+ default;
43
+ }
44
+ };
45
+
46
+ // Alert Action Button Component
47
+ const AlertActionButton}> = ({
48
+ label,
49
+ onClick,
50
+ variant = 'primary'
51
+ }) => {
52
+ return (
53
+ <button
54
+ type="button"
55
+ className={`alert__action-button alert__action-button--${variant}`}
56
+ onClick={onClick}
57
+ >
58
+ {label}
59
+ </button>
60
+ );
61
+ };
62
+
63
+ // Main Alert Component
64
+ export const Alert= ({
65
+ title,
66
+ message,
67
+ type = 'info',
68
+ dismissible = false,
69
+ onDismiss,
70
+ icon,
71
+ actions = [],
72
+ showIcon = true,
73
+ closable = false,
74
+ persistent = false,
75
+ className = '',
76
+ theme = 'stan-design',
77
+ size = 'md',
78
+ variant = 'default'
79
+ }) => {
80
+ // const { getTheme } = useTheme();
81
+ // const themeConfig = getTheme(theme);
82
+ // Note, setIsVisible] = useState(true);
83
+
84
+ const handleDismiss = useCallback(() => {
85
+ if (onDismiss) {
86
+ onDismiss();
87
+ }
88
+ if (!persistent) {
89
+ setIsVisible(false);
90
+ }
91
+ }, [onDismiss, persistent]);
92
+
93
+ const shouldShowIcon = showIcon && (icon || type);
94
+ const shouldShowClose = (closable || dismissible) && !persistent;
95
+
96
+ if (!isVisible) {
97
+ return null;
98
+ }
99
+
100
+ return (
101
+ <div
102
+ className={`alert__container alert__container--${size} alert__container--${type} alert__container--${variant} ${className}`}
103
+ role="alert"
104
+ aria-live="polite"
105
+ >
106
+ {shouldShowIcon && (
107
+ <div className={`alert__icon alert__icon--${type}`}>
108
+ {icon || getAlertIcon(type, 'alert__icon')}
109
+ </div>
110
+ )}
111
+
112
+ <div className="alert__content">
113
+ {title && (
114
+ <h3 className="alert__title">
115
+ {title}
116
+ </h3>
117
+ )}
118
+
119
+ <div className={`alert__message ${!title ? 'alert__message--only' }`}>
120
+ {message}
121
+ </div>
122
+
123
+ {actions.length > 0 && (
124
+ <div className="alert__actions">
125
+ {actions.map((action, index) => (
126
+ <AlertActionButton
127
+ key={index}
128
+ {...action}
129
+ theme={theme}
130
+ />
131
+ ))}
132
+ </div>
133
+ )}
134
+ </div>
135
+
136
+ {shouldShowClose && (
137
+ <button
138
+ type="button"
139
+ className="alert__close-button"
140
+ onClick={handleDismiss}
141
+ aria-label="Close alert"
142
+ >
143
+ <XMarkIcon className="alert__close-icon" />
144
+ </button>
145
+ )}
146
+ </div>
147
+ );
148
+ };
149
+
150
+ export default Alert;