@shohojdhara/atomix 0.3.3 → 0.3.5

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 (489) hide show
  1. package/README.md +46 -28
  2. package/dist/atomix.css +15 -9
  3. package/dist/atomix.css.map +1 -0
  4. package/dist/atomix.min.css +15108 -11
  5. package/dist/atomix.min.css.map +1 -0
  6. package/dist/charts.d.ts +1929 -0
  7. package/dist/charts.js +6482 -0
  8. package/dist/charts.js.map +1 -0
  9. package/dist/core.d.ts +1289 -0
  10. package/dist/core.js +3357 -0
  11. package/dist/core.js.map +1 -0
  12. package/dist/forms.d.ts +1085 -0
  13. package/dist/forms.js +2450 -0
  14. package/dist/forms.js.map +1 -0
  15. package/dist/heavy.d.ts +636 -0
  16. package/dist/heavy.js +4550 -0
  17. package/dist/heavy.js.map +1 -0
  18. package/dist/index.d.ts +5196 -4618
  19. package/dist/index.esm.js +4240 -2776
  20. package/dist/index.esm.js.map +1 -1
  21. package/dist/index.js +4057 -2571
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.min.js +1 -1
  24. package/dist/index.min.js.map +1 -1
  25. package/dist/layout.d.ts +300 -0
  26. package/dist/layout.js +336 -0
  27. package/dist/layout.js.map +1 -0
  28. package/dist/theme.d.ts +1992 -0
  29. package/dist/theme.js +5348 -0
  30. package/dist/theme.js.map +1 -0
  31. package/package.json +63 -68
  32. package/scripts/atomix-cli.js +879 -15
  33. package/scripts/cli/__tests__/cli-commands.test.js +204 -0
  34. package/scripts/cli/__tests__/utils.test.js +201 -0
  35. package/scripts/cli/__tests__/vitest.config.js +26 -0
  36. package/scripts/cli/interactive-init.js +37 -45
  37. package/scripts/cli/theme-bridge.js +129 -0
  38. package/scripts/cli/token-manager.js +32 -7
  39. package/scripts/cli/utils.js +347 -0
  40. package/scripts/sync-theme-config.js +22 -22
  41. package/src/components/Accordion/Accordion.tsx +5 -54
  42. package/src/components/Accordion/index.ts +1 -1
  43. package/src/components/Avatar/Avatar.tsx +3 -3
  44. package/src/components/Badge/Badge.tsx +3 -3
  45. package/src/components/Breadcrumb/Breadcrumb.tsx +3 -3
  46. package/src/components/Button/Button.tsx +36 -1
  47. package/src/components/Card/ElevationCard.tsx +1 -1
  48. package/src/components/Chart/AnimatedChart.tsx +19 -17
  49. package/src/components/Chart/AreaChart.tsx +5 -1
  50. package/src/components/Chart/BarChart.tsx +1 -0
  51. package/src/components/Chart/BubbleChart.tsx +6 -5
  52. package/src/components/Chart/ChartToolbar.tsx +1 -0
  53. package/src/components/Chart/FunnelChart.tsx +1 -1
  54. package/src/components/Chart/RadarChart.tsx +19 -12
  55. package/src/components/Chart/ScatterChart.tsx +3 -3
  56. package/src/components/Chart/TreemapChart.tsx +2 -1
  57. package/src/components/Chart/WaterfallChart.tsx +0 -1
  58. package/src/components/Chart/types.ts +12 -2
  59. package/src/components/Chart/utils.ts +4 -3
  60. package/src/components/DataTable/DataTable.tsx +3 -3
  61. package/src/components/Dropdown/Dropdown.tsx +12 -9
  62. package/src/components/Footer/FooterSection.tsx +3 -3
  63. package/src/components/Form/Checkbox.tsx +3 -3
  64. package/src/components/Form/Input.tsx +4 -2
  65. package/src/components/Form/Radio.tsx +3 -3
  66. package/src/components/Form/Select.tsx +3 -3
  67. package/src/components/Form/Textarea.tsx +4 -2
  68. package/src/components/List/List.stories.tsx +3 -3
  69. package/src/components/List/List.tsx +3 -3
  70. package/src/components/List/ListGroup.tsx +3 -1
  71. package/src/components/Modal/Modal.tsx +3 -3
  72. package/src/components/Navigation/Menu/MegaMenu.tsx +9 -3
  73. package/src/components/Navigation/Menu/Menu.tsx +9 -3
  74. package/src/components/Pagination/Pagination.tsx +6 -5
  75. package/src/components/PhotoViewer/PhotoViewerImage.tsx +2 -2
  76. package/src/components/Popover/Popover.tsx +4 -4
  77. package/src/components/Progress/Progress.tsx +6 -2
  78. package/src/components/Rating/Rating.tsx +5 -2
  79. package/src/components/Slider/Slider.tsx +10 -9
  80. package/src/components/Spinner/Spinner.tsx +3 -3
  81. package/src/components/Tabs/Tabs.tsx +3 -3
  82. package/src/components/Tooltip/Tooltip.tsx +3 -3
  83. package/src/components/index.ts +5 -2
  84. package/src/layouts/MasonryGrid/MasonryGrid.tsx +2 -2
  85. package/src/lib/composables/useChartPerformance.ts +102 -78
  86. package/src/lib/composables/useChartScale.ts +10 -0
  87. package/src/lib/composables/useHero.ts +9 -2
  88. package/src/lib/composables/useHeroBackgroundSlider.ts +5 -3
  89. package/src/lib/composables/useSideMenu.ts +1 -0
  90. package/src/lib/composables/useVideoPlayer.ts +3 -2
  91. package/src/lib/config/index.ts +275 -0
  92. package/src/lib/config/loader.ts +147 -0
  93. package/src/lib/hooks/index.ts +0 -1
  94. package/src/lib/hooks/useComponentCustomization.ts +10 -14
  95. package/src/lib/hooks/usePerformanceMonitor.ts +149 -0
  96. package/src/lib/index.ts +1 -0
  97. package/src/lib/patterns/index.ts +2 -2
  98. package/src/lib/patterns/slots.tsx +2 -2
  99. package/src/lib/theme/composeTheme.ts +1 -6
  100. package/src/lib/theme/config/index.ts +1 -1
  101. package/src/lib/theme/config/loader.ts +75 -41
  102. package/src/lib/theme/config/types.ts +21 -7
  103. package/src/lib/theme/config/validator.ts +1 -1
  104. package/src/lib/theme/constants.ts +12 -2
  105. package/src/lib/theme/core/ThemeEngine.ts +8 -0
  106. package/src/lib/theme/core/ThemeValidator.ts +5 -2
  107. package/src/lib/theme/createTheme.ts +0 -1
  108. package/src/lib/theme/createThemeFromConfig.ts +132 -0
  109. package/src/lib/theme/devtools/CLI.ts +161 -76
  110. package/src/lib/theme/devtools/Comparator.tsx +343 -0
  111. package/src/lib/theme/devtools/IMPROVEMENTS.md +429 -0
  112. package/src/lib/theme/devtools/Inspector.tsx +22 -7
  113. package/src/lib/theme/devtools/LiveEditor.tsx +399 -0
  114. package/src/lib/theme/devtools/README.md +433 -0
  115. package/src/lib/theme/devtools/index.ts +12 -11
  116. package/src/lib/theme/generateCSSVariables.ts +80 -39
  117. package/src/lib/theme/i18n/rtl.ts +2 -1
  118. package/src/lib/theme/index.ts +18 -2
  119. package/src/lib/theme/runtime/ThemeApplicator.ts +28 -11
  120. package/src/lib/theme/runtime/ThemeErrorBoundary.tsx +3 -3
  121. package/src/lib/theme/runtime/ThemeManager.test.ts +17 -1
  122. package/src/lib/theme/runtime/ThemeManager.ts +11 -7
  123. package/src/lib/theme/types.ts +42 -43
  124. package/src/lib/theme-tools.ts +8 -68
  125. package/src/lib/types/components.ts +252 -109
  126. package/src/lib/types/partProps.ts +0 -16
  127. package/src/lib/utils/fontPreloader.ts +148 -0
  128. package/src/lib/utils/index.ts +11 -0
  129. package/src/lib/utils/memoryMonitor.ts +189 -0
  130. package/src/styles/01-settings/_settings.fonts.scss +2 -5
  131. package/src/styles/01-settings/_settings.navbar.scss +1 -1
  132. package/src/styles/03-generic/_generated-root.css +26 -0
  133. package/src/styles/06-components/_components.navbar.scss +6 -5
  134. package/src/themes/README.md +1 -2
  135. package/src/themes/themes.config.js +30 -181
  136. package/dist/themes/applemix.css +0 -16576
  137. package/dist/themes/applemix.css.map +0 -1
  138. package/dist/themes/applemix.min.css +0 -73
  139. package/dist/themes/boomdevs.css +0 -16007
  140. package/dist/themes/boomdevs.css.map +0 -1
  141. package/dist/themes/boomdevs.min.css +0 -406
  142. package/dist/themes/esrar.css +0 -18424
  143. package/dist/themes/esrar.css.map +0 -1
  144. package/dist/themes/esrar.min.css +0 -221
  145. package/dist/themes/flashtrade.css +0 -17596
  146. package/dist/themes/flashtrade.css.map +0 -1
  147. package/dist/themes/flashtrade.min.css +0 -196
  148. package/dist/themes/mashroom.css +0 -31082
  149. package/dist/themes/mashroom.css.map +0 -1
  150. package/dist/themes/mashroom.min.css +0 -450
  151. package/dist/themes/shaj-default.css +0 -17200
  152. package/dist/themes/shaj-default.css.map +0 -1
  153. package/dist/themes/shaj-default.min.css +0 -502
  154. package/scripts/build-themes.js +0 -208
  155. package/src/components/AtomixGlass/atomixGLass.old.tsx +0 -1263
  156. package/src/lib/theme/__tests__/ThemeBuilder.test.ts +0 -223
  157. package/src/lib/theme/builders/ThemeBuilder.ts +0 -372
  158. package/src/lib/theme/errors.test.ts +0 -207
  159. package/src/lib/theme/generators/CSSGenerator.ts +0 -311
  160. package/src/lib/theme/generators/ConfigGenerator.ts +0 -287
  161. package/src/lib/theme/generators/TypeGenerator.ts +0 -228
  162. package/src/lib/theme/generators/index.ts +0 -21
  163. package/src/lib/theme/monitoring/ThemeAnalytics.ts +0 -409
  164. package/src/lib/theme/monitoring/index.ts +0 -17
  165. package/src/lib/theme/overrides/ComponentOverrides.ts +0 -243
  166. package/src/lib/theme/overrides/index.ts +0 -15
  167. package/src/lib/theme/whitelabel/WhiteLabelManager.ts +0 -364
  168. package/src/lib/theme/whitelabel/index.ts +0 -13
  169. package/src/themes/THEME_CHECKLIST.md +0 -74
  170. package/src/themes/applemix/01-settings/_index.scss +0 -24
  171. package/src/themes/applemix/01-settings/_settings.animations.scss +0 -0
  172. package/src/themes/applemix/01-settings/_settings.background.scss +0 -6
  173. package/src/themes/applemix/01-settings/_settings.colors.scss +0 -75
  174. package/src/themes/applemix/01-settings/_settings.config.scss +0 -15
  175. package/src/themes/applemix/01-settings/_settings.typography.scss +0 -30
  176. package/src/themes/applemix/02-tools/_index.scss +0 -4
  177. package/src/themes/applemix/03-generic/_index.scss +0 -7
  178. package/src/themes/applemix/04-elements/_index.scss +0 -7
  179. package/src/themes/applemix/05-objects/_index.scss +0 -7
  180. package/src/themes/applemix/06-components/_index.scss +0 -15
  181. package/src/themes/applemix/99-utilities/_index.scss +0 -7
  182. package/src/themes/applemix/README.md +0 -378
  183. package/src/themes/applemix/index.scss +0 -33
  184. package/src/themes/boomdevs/01-settings/_index.scss +0 -38
  185. package/src/themes/boomdevs/01-settings/_settings.accordion.scss +0 -12
  186. package/src/themes/boomdevs/01-settings/_settings.animations.scss +0 -11
  187. package/src/themes/boomdevs/01-settings/_settings.avatar.scss +0 -9
  188. package/src/themes/boomdevs/01-settings/_settings.badge.scss +0 -11
  189. package/src/themes/boomdevs/01-settings/_settings.border-radius.scss +0 -16
  190. package/src/themes/boomdevs/01-settings/_settings.border.scss +0 -10
  191. package/src/themes/boomdevs/01-settings/_settings.box-shadow.scss +0 -14
  192. package/src/themes/boomdevs/01-settings/_settings.breadcrumb.scss +0 -13
  193. package/src/themes/boomdevs/01-settings/_settings.breakpoints.scss +0 -15
  194. package/src/themes/boomdevs/01-settings/_settings.button.scss +0 -9
  195. package/src/themes/boomdevs/01-settings/_settings.callout.scss +0 -9
  196. package/src/themes/boomdevs/01-settings/_settings.card.scss +0 -11
  197. package/src/themes/boomdevs/01-settings/_settings.checkbox.scss +0 -9
  198. package/src/themes/boomdevs/01-settings/_settings.colors.scss +0 -145
  199. package/src/themes/boomdevs/01-settings/_settings.dropdown.scss +0 -11
  200. package/src/themes/boomdevs/01-settings/_settings.grid.scss +0 -16
  201. package/src/themes/boomdevs/01-settings/_settings.input.scss +0 -14
  202. package/src/themes/boomdevs/01-settings/_settings.link.scss +0 -11
  203. package/src/themes/boomdevs/01-settings/_settings.list.scss +0 -10
  204. package/src/themes/boomdevs/01-settings/_settings.modal.scss +0 -16
  205. package/src/themes/boomdevs/01-settings/_settings.navbar.scss +0 -16
  206. package/src/themes/boomdevs/01-settings/_settings.pagination.scss +0 -13
  207. package/src/themes/boomdevs/01-settings/_settings.progress.scss +0 -11
  208. package/src/themes/boomdevs/01-settings/_settings.rating.scss +0 -10
  209. package/src/themes/boomdevs/01-settings/_settings.spacing.scss +0 -33
  210. package/src/themes/boomdevs/01-settings/_settings.spinner.scss +0 -11
  211. package/src/themes/boomdevs/01-settings/_settings.steps.scss +0 -12
  212. package/src/themes/boomdevs/01-settings/_settings.tabs.scss +0 -12
  213. package/src/themes/boomdevs/01-settings/_settings.todo.scss +0 -15
  214. package/src/themes/boomdevs/01-settings/_settings.toggle.scss +0 -14
  215. package/src/themes/boomdevs/01-settings/_settings.tooltip.scss +0 -13
  216. package/src/themes/boomdevs/01-settings/_settings.typography.scss +0 -58
  217. package/src/themes/boomdevs/01-settings/_settings.video-player.scss +0 -12
  218. package/src/themes/boomdevs/02-tools/_index.scss +0 -7
  219. package/src/themes/boomdevs/03-generic/_index.scss +0 -7
  220. package/src/themes/boomdevs/04-elements/_index.scss +0 -7
  221. package/src/themes/boomdevs/05-objects/_index.scss +0 -7
  222. package/src/themes/boomdevs/06-components/_components.button.scss +0 -11
  223. package/src/themes/boomdevs/06-components/_index.scss +0 -11
  224. package/src/themes/boomdevs/99-utilities/_index.scss +0 -7
  225. package/src/themes/boomdevs/index.scss +0 -26
  226. package/src/themes/esrar/01-settings/_index.scss +0 -15
  227. package/src/themes/esrar/01-settings/_settings.colors.scss +0 -91
  228. package/src/themes/esrar/02-tools/_index.scss +0 -8
  229. package/src/themes/esrar/02-tools/_tools.animations.scss +0 -342
  230. package/src/themes/esrar/06-components/_components.accordion.scss +0 -49
  231. package/src/themes/esrar/06-components/_components.avatar-group.scss +0 -14
  232. package/src/themes/esrar/06-components/_components.avatar.scss +0 -61
  233. package/src/themes/esrar/06-components/_components.badge.scss +0 -117
  234. package/src/themes/esrar/06-components/_components.breadcrumb.scss +0 -65
  235. package/src/themes/esrar/06-components/_components.btn-group.scss +0 -19
  236. package/src/themes/esrar/06-components/_components.button.scss +0 -224
  237. package/src/themes/esrar/06-components/_components.callout.scss +0 -51
  238. package/src/themes/esrar/06-components/_components.card.scss +0 -134
  239. package/src/themes/esrar/06-components/_components.chart.scss +0 -24
  240. package/src/themes/esrar/06-components/_components.checkbox-group.scss +0 -26
  241. package/src/themes/esrar/06-components/_components.checkbox.scss +0 -71
  242. package/src/themes/esrar/06-components/_components.color-mode-toggle.scss +0 -29
  243. package/src/themes/esrar/06-components/_components.countdown.scss +0 -67
  244. package/src/themes/esrar/06-components/_components.data-table.scss +0 -22
  245. package/src/themes/esrar/06-components/_components.datepicker.scss +0 -20
  246. package/src/themes/esrar/06-components/_components.dropdown.scss +0 -272
  247. package/src/themes/esrar/06-components/_components.edge-panel.scss +0 -10
  248. package/src/themes/esrar/06-components/_components.form-group.scss +0 -15
  249. package/src/themes/esrar/06-components/_components.form.scss +0 -66
  250. package/src/themes/esrar/06-components/_components.hero.scss +0 -251
  251. package/src/themes/esrar/06-components/_components.icon.scss +0 -33
  252. package/src/themes/esrar/06-components/_components.image-gallery.scss +0 -29
  253. package/src/themes/esrar/06-components/_components.input.scss +0 -91
  254. package/src/themes/esrar/06-components/_components.list-group.scss +0 -26
  255. package/src/themes/esrar/06-components/_components.modal.scss +0 -148
  256. package/src/themes/esrar/06-components/_components.notification.scss +0 -80
  257. package/src/themes/esrar/06-components/_components.pagination.scss +0 -84
  258. package/src/themes/esrar/06-components/_components.popover.scss +0 -10
  259. package/src/themes/esrar/06-components/_components.progress.scss +0 -64
  260. package/src/themes/esrar/06-components/_components.rating.scss +0 -26
  261. package/src/themes/esrar/06-components/_components.skeleton.scss +0 -15
  262. package/src/themes/esrar/06-components/_components.slider.scss +0 -90
  263. package/src/themes/esrar/06-components/_components.spinner.scss +0 -71
  264. package/src/themes/esrar/06-components/_components.steps.scss +0 -76
  265. package/src/themes/esrar/06-components/_components.tab.scss +0 -58
  266. package/src/themes/esrar/06-components/_components.tag.scss +0 -21
  267. package/src/themes/esrar/06-components/_components.timeline.scss +0 -19
  268. package/src/themes/esrar/06-components/_components.toast.scss +0 -91
  269. package/src/themes/esrar/06-components/_components.toggle.scss +0 -74
  270. package/src/themes/esrar/06-components/_components.tooltip.scss +0 -45
  271. package/src/themes/esrar/06-components/_components.upload.scss +0 -102
  272. package/src/themes/esrar/06-components/_index.scss +0 -42
  273. package/src/themes/esrar/index.scss +0 -30
  274. package/src/themes/flashtrade/01-settings/_index.scss +0 -19
  275. package/src/themes/flashtrade/01-settings/_settings.animations.scss +0 -11
  276. package/src/themes/flashtrade/01-settings/_settings.background.scss +0 -9
  277. package/src/themes/flashtrade/01-settings/_settings.colors.scss +0 -79
  278. package/src/themes/flashtrade/01-settings/_settings.config.scss +0 -16
  279. package/src/themes/flashtrade/01-settings/_settings.typography.scss +0 -35
  280. package/src/themes/flashtrade/02-tools/_index.scss +0 -8
  281. package/src/themes/flashtrade/03-generic/_index.scss +0 -8
  282. package/src/themes/flashtrade/04-elements/_index.scss +0 -12
  283. package/src/themes/flashtrade/05-objects/_index.scss +0 -8
  284. package/src/themes/flashtrade/06-components/_components.badge.scss +0 -156
  285. package/src/themes/flashtrade/06-components/_components.button.scss +0 -135
  286. package/src/themes/flashtrade/06-components/_components.card.scss +0 -214
  287. package/src/themes/flashtrade/06-components/_components.navbar.scss +0 -227
  288. package/src/themes/flashtrade/06-components/_index.scss +0 -13
  289. package/src/themes/flashtrade/99-utilities/_index.scss +0 -9
  290. package/src/themes/flashtrade/99-utilities/_utilities.trading.scss +0 -187
  291. package/src/themes/flashtrade/README.md +0 -386
  292. package/src/themes/flashtrade/demo.html +0 -272
  293. package/src/themes/flashtrade/index.scss +0 -36
  294. package/src/themes/mashroom/01-settings/_index.scss +0 -69
  295. package/src/themes/mashroom/01-settings/_settings.accordion.scss +0 -32
  296. package/src/themes/mashroom/01-settings/_settings.animations.scss +0 -26
  297. package/src/themes/mashroom/01-settings/_settings.avatar-group.scss +0 -22
  298. package/src/themes/mashroom/01-settings/_settings.avatar.scss +0 -57
  299. package/src/themes/mashroom/01-settings/_settings.badge.scss +0 -19
  300. package/src/themes/mashroom/01-settings/_settings.border-radius.scss +0 -24
  301. package/src/themes/mashroom/01-settings/_settings.border.scss +0 -14
  302. package/src/themes/mashroom/01-settings/_settings.box-shadow.scss +0 -40
  303. package/src/themes/mashroom/01-settings/_settings.breadcrumb.scss +0 -0
  304. package/src/themes/mashroom/01-settings/_settings.breakpoints.scss +0 -17
  305. package/src/themes/mashroom/01-settings/_settings.btn-group.scss +0 -5
  306. package/src/themes/mashroom/01-settings/_settings.button.scss +0 -50
  307. package/src/themes/mashroom/01-settings/_settings.callout.scss +0 -81
  308. package/src/themes/mashroom/01-settings/_settings.card.scss +0 -52
  309. package/src/themes/mashroom/01-settings/_settings.checkbox-group.scss +0 -5
  310. package/src/themes/mashroom/01-settings/_settings.checkbox.scss +0 -23
  311. package/src/themes/mashroom/01-settings/_settings.color-mode.scss +0 -7
  312. package/src/themes/mashroom/01-settings/_settings.colors.scss +0 -180
  313. package/src/themes/mashroom/01-settings/_settings.config.scss +0 -4
  314. package/src/themes/mashroom/01-settings/_settings.countdown.scss +0 -20
  315. package/src/themes/mashroom/01-settings/_settings.data-table.scss +0 -56
  316. package/src/themes/mashroom/01-settings/_settings.datepicker.scss +0 -45
  317. package/src/themes/mashroom/01-settings/_settings.design-tokens.scss +0 -3
  318. package/src/themes/mashroom/01-settings/_settings.dropdown.scss +0 -45
  319. package/src/themes/mashroom/01-settings/_settings.edge-panel.scss +0 -24
  320. package/src/themes/mashroom/01-settings/_settings.fonts.scss +0 -8
  321. package/src/themes/mashroom/01-settings/_settings.form-group.scss +0 -14
  322. package/src/themes/mashroom/01-settings/_settings.form.scss +0 -6
  323. package/src/themes/mashroom/01-settings/_settings.grid.scss +0 -23
  324. package/src/themes/mashroom/01-settings/_settings.hero.scss +0 -41
  325. package/src/themes/mashroom/01-settings/_settings.input.scss +0 -51
  326. package/src/themes/mashroom/01-settings/_settings.link.scss +0 -13
  327. package/src/themes/mashroom/01-settings/_settings.list-group.scss +0 -16
  328. package/src/themes/mashroom/01-settings/_settings.list.scss +0 -13
  329. package/src/themes/mashroom/01-settings/_settings.masonry-grid.scss +0 -23
  330. package/src/themes/mashroom/01-settings/_settings.menu.scss +0 -50
  331. package/src/themes/mashroom/01-settings/_settings.messages.scss +0 -98
  332. package/src/themes/mashroom/01-settings/_settings.modal.scss +0 -41
  333. package/src/themes/mashroom/01-settings/_settings.nav.scss +0 -20
  334. package/src/themes/mashroom/01-settings/_settings.navbar.scss +0 -54
  335. package/src/themes/mashroom/01-settings/_settings.pagination.scss +0 -30
  336. package/src/themes/mashroom/01-settings/_settings.photoviewer.scss +0 -45
  337. package/src/themes/mashroom/01-settings/_settings.popover.scss +0 -20
  338. package/src/themes/mashroom/01-settings/_settings.position.scss +0 -9
  339. package/src/themes/mashroom/01-settings/_settings.progress.scss +0 -17
  340. package/src/themes/mashroom/01-settings/_settings.rating.scss +0 -11
  341. package/src/themes/mashroom/01-settings/_settings.river.scss +0 -50
  342. package/src/themes/mashroom/01-settings/_settings.sectionintro.scss +0 -31
  343. package/src/themes/mashroom/01-settings/_settings.select.scss +0 -47
  344. package/src/themes/mashroom/01-settings/_settings.side-menu.scss +0 -79
  345. package/src/themes/mashroom/01-settings/_settings.skeleton.scss +0 -24
  346. package/src/themes/mashroom/01-settings/_settings.spacing.scss +0 -66
  347. package/src/themes/mashroom/01-settings/_settings.spinner.scss +0 -34
  348. package/src/themes/mashroom/01-settings/_settings.steps.scss +0 -33
  349. package/src/themes/mashroom/01-settings/_settings.tabs.scss +0 -33
  350. package/src/themes/mashroom/01-settings/_settings.testimonials.scss +0 -24
  351. package/src/themes/mashroom/01-settings/_settings.todo.scss +0 -52
  352. package/src/themes/mashroom/01-settings/_settings.toggle.scss +0 -49
  353. package/src/themes/mashroom/01-settings/_settings.tooltip.scss +0 -20
  354. package/src/themes/mashroom/01-settings/_settings.typography.scss +0 -95
  355. package/src/themes/mashroom/01-settings/_settings.upload.scss +0 -96
  356. package/src/themes/mashroom/01-settings/_settings.z-layers.scss +0 -19
  357. package/src/themes/mashroom/02-tools/_index.scss +0 -8
  358. package/src/themes/mashroom/02-tools/_tools.psychedelic-gradients.scss +0 -78
  359. package/src/themes/mashroom/02-tools/_tools.trippy-effects.scss +0 -114
  360. package/src/themes/mashroom/03-generic/_index.scss +0 -6
  361. package/src/themes/mashroom/04-elements/_index.scss +0 -6
  362. package/src/themes/mashroom/05-objects/_index.scss +0 -6
  363. package/src/themes/mashroom/06-components/_components.accordion.scss +0 -187
  364. package/src/themes/mashroom/06-components/_components.avatar-group.scss +0 -276
  365. package/src/themes/mashroom/06-components/_components.avatar.scss +0 -114
  366. package/src/themes/mashroom/06-components/_components.badge.scss +0 -152
  367. package/src/themes/mashroom/06-components/_components.breadcrumb.scss +0 -162
  368. package/src/themes/mashroom/06-components/_components.btn-group.scss +0 -404
  369. package/src/themes/mashroom/06-components/_components.button.scss +0 -160
  370. package/src/themes/mashroom/06-components/_components.callout.scss +0 -140
  371. package/src/themes/mashroom/06-components/_components.card.scss +0 -225
  372. package/src/themes/mashroom/06-components/_components.checkbox.scss +0 -186
  373. package/src/themes/mashroom/06-components/_components.color-mode-toggle.scss +0 -308
  374. package/src/themes/mashroom/06-components/_components.countdown.scss +0 -402
  375. package/src/themes/mashroom/06-components/_components.data-table.scss +0 -354
  376. package/src/themes/mashroom/06-components/_components.datepicker.scss +0 -349
  377. package/src/themes/mashroom/06-components/_components.dropdown.scss +0 -334
  378. package/src/themes/mashroom/06-components/_components.edge-panel.scss +0 -413
  379. package/src/themes/mashroom/06-components/_components.form-group.scss +0 -433
  380. package/src/themes/mashroom/06-components/_components.form.scss +0 -358
  381. package/src/themes/mashroom/06-components/_components.hero.scss +0 -151
  382. package/src/themes/mashroom/06-components/_components.input.scss +0 -147
  383. package/src/themes/mashroom/06-components/_components.list-group.scss +0 -456
  384. package/src/themes/mashroom/06-components/_components.list.scss +0 -145
  385. package/src/themes/mashroom/06-components/_components.menu.scss +0 -497
  386. package/src/themes/mashroom/06-components/_components.messages.scss +0 -277
  387. package/src/themes/mashroom/06-components/_components.modal.scss +0 -264
  388. package/src/themes/mashroom/06-components/_components.nav.scss +0 -181
  389. package/src/themes/mashroom/06-components/_components.navbar.scss +0 -538
  390. package/src/themes/mashroom/06-components/_components.pagination.scss +0 -400
  391. package/src/themes/mashroom/06-components/_components.photoviewer.scss +0 -498
  392. package/src/themes/mashroom/06-components/_components.popover.scss +0 -383
  393. package/src/themes/mashroom/06-components/_components.product-review.scss +0 -408
  394. package/src/themes/mashroom/06-components/_components.progress.scss +0 -249
  395. package/src/themes/mashroom/06-components/_components.rating.scss +0 -300
  396. package/src/themes/mashroom/06-components/_components.river.scss +0 -570
  397. package/src/themes/mashroom/06-components/_components.sectionintro.scss +0 -546
  398. package/src/themes/mashroom/06-components/_components.select.scss +0 -455
  399. package/src/themes/mashroom/06-components/_components.side-menu.scss +0 -635
  400. package/src/themes/mashroom/06-components/_components.skeleton.scss +0 -447
  401. package/src/themes/mashroom/06-components/_components.slider.scss +0 -414
  402. package/src/themes/mashroom/06-components/_components.spinner.scss +0 -198
  403. package/src/themes/mashroom/06-components/_components.steps.scss +0 -350
  404. package/src/themes/mashroom/06-components/_components.tabs.scss +0 -269
  405. package/src/themes/mashroom/06-components/_components.testimonials.scss +0 -561
  406. package/src/themes/mashroom/06-components/_components.toggle.scss +0 -231
  407. package/src/themes/mashroom/06-components/_components.tooltip.scss +0 -167
  408. package/src/themes/mashroom/06-components/_components.upload.scss +0 -537
  409. package/src/themes/mashroom/06-components/_components.video-player.scss +0 -560
  410. package/src/themes/mashroom/06-components/_index.scss +0 -55
  411. package/src/themes/mashroom/99-utilities/_index.scss +0 -6
  412. package/src/themes/mashroom/index.scss +0 -26
  413. package/src/themes/shaj-default/01-settings/_index.scss +0 -69
  414. package/src/themes/shaj-default/01-settings/_settings.accordion.scss +0 -38
  415. package/src/themes/shaj-default/01-settings/_settings.animations.scss +0 -32
  416. package/src/themes/shaj-default/01-settings/_settings.avatar-group.scss +0 -28
  417. package/src/themes/shaj-default/01-settings/_settings.avatar.scss +0 -63
  418. package/src/themes/shaj-default/01-settings/_settings.badge.scss +0 -25
  419. package/src/themes/shaj-default/01-settings/_settings.border-radius.scss +0 -24
  420. package/src/themes/shaj-default/01-settings/_settings.border.scss +0 -20
  421. package/src/themes/shaj-default/01-settings/_settings.box-shadow.scss +0 -46
  422. package/src/themes/shaj-default/01-settings/_settings.breadcrumb.scss +0 -0
  423. package/src/themes/shaj-default/01-settings/_settings.breakpoints.scss +0 -23
  424. package/src/themes/shaj-default/01-settings/_settings.btn-group.scss +0 -11
  425. package/src/themes/shaj-default/01-settings/_settings.button.scss +0 -56
  426. package/src/themes/shaj-default/01-settings/_settings.callout.scss +0 -87
  427. package/src/themes/shaj-default/01-settings/_settings.card.scss +0 -52
  428. package/src/themes/shaj-default/01-settings/_settings.checkbox-group.scss +0 -11
  429. package/src/themes/shaj-default/01-settings/_settings.checkbox.scss +0 -29
  430. package/src/themes/shaj-default/01-settings/_settings.color-mode.scss +0 -13
  431. package/src/themes/shaj-default/01-settings/_settings.colors.scss +0 -91
  432. package/src/themes/shaj-default/01-settings/_settings.config.scss +0 -4
  433. package/src/themes/shaj-default/01-settings/_settings.countdown.scss +0 -26
  434. package/src/themes/shaj-default/01-settings/_settings.data-table.scss +0 -62
  435. package/src/themes/shaj-default/01-settings/_settings.datepicker.scss +0 -51
  436. package/src/themes/shaj-default/01-settings/_settings.design-tokens.scss +0 -9
  437. package/src/themes/shaj-default/01-settings/_settings.dropdown.scss +0 -51
  438. package/src/themes/shaj-default/01-settings/_settings.edge-panel.scss +0 -30
  439. package/src/themes/shaj-default/01-settings/_settings.fonts.scss +0 -13
  440. package/src/themes/shaj-default/01-settings/_settings.form-group.scss +0 -20
  441. package/src/themes/shaj-default/01-settings/_settings.form.scss +0 -12
  442. package/src/themes/shaj-default/01-settings/_settings.grid.scss +0 -29
  443. package/src/themes/shaj-default/01-settings/_settings.hero.scss +0 -47
  444. package/src/themes/shaj-default/01-settings/_settings.input.scss +0 -57
  445. package/src/themes/shaj-default/01-settings/_settings.link.scss +0 -19
  446. package/src/themes/shaj-default/01-settings/_settings.list-group.scss +0 -22
  447. package/src/themes/shaj-default/01-settings/_settings.list.scss +0 -19
  448. package/src/themes/shaj-default/01-settings/_settings.masonry-grid.scss +0 -29
  449. package/src/themes/shaj-default/01-settings/_settings.menu.scss +0 -56
  450. package/src/themes/shaj-default/01-settings/_settings.messages.scss +0 -104
  451. package/src/themes/shaj-default/01-settings/_settings.modal.scss +0 -47
  452. package/src/themes/shaj-default/01-settings/_settings.nav.scss +0 -26
  453. package/src/themes/shaj-default/01-settings/_settings.navbar.scss +0 -60
  454. package/src/themes/shaj-default/01-settings/_settings.pagination.scss +0 -36
  455. package/src/themes/shaj-default/01-settings/_settings.photoviewer.scss +0 -51
  456. package/src/themes/shaj-default/01-settings/_settings.popover.scss +0 -26
  457. package/src/themes/shaj-default/01-settings/_settings.position.scss +0 -15
  458. package/src/themes/shaj-default/01-settings/_settings.progress.scss +0 -23
  459. package/src/themes/shaj-default/01-settings/_settings.rating.scss +0 -17
  460. package/src/themes/shaj-default/01-settings/_settings.river.scss +0 -56
  461. package/src/themes/shaj-default/01-settings/_settings.sectionintro.scss +0 -37
  462. package/src/themes/shaj-default/01-settings/_settings.select.scss +0 -53
  463. package/src/themes/shaj-default/01-settings/_settings.side-menu.scss +0 -85
  464. package/src/themes/shaj-default/01-settings/_settings.skeleton.scss +0 -30
  465. package/src/themes/shaj-default/01-settings/_settings.spacing.scss +0 -72
  466. package/src/themes/shaj-default/01-settings/_settings.spinner.scss +0 -24
  467. package/src/themes/shaj-default/01-settings/_settings.steps.scss +0 -39
  468. package/src/themes/shaj-default/01-settings/_settings.tabs.scss +0 -39
  469. package/src/themes/shaj-default/01-settings/_settings.testimonials.scss +0 -30
  470. package/src/themes/shaj-default/01-settings/_settings.todo.scss +0 -58
  471. package/src/themes/shaj-default/01-settings/_settings.toggle.scss +0 -55
  472. package/src/themes/shaj-default/01-settings/_settings.tooltip.scss +0 -26
  473. package/src/themes/shaj-default/01-settings/_settings.typography.scss +0 -101
  474. package/src/themes/shaj-default/01-settings/_settings.upload.scss +0 -102
  475. package/src/themes/shaj-default/01-settings/_settings.z-layers.scss +0 -25
  476. package/src/themes/shaj-default/02-tools/_index.scss +0 -0
  477. package/src/themes/shaj-default/03-generic/_generic.root.scss +0 -0
  478. package/src/themes/shaj-default/03-generic/_index.scss +0 -2
  479. package/src/themes/shaj-default/04-elements/_index.scss +0 -0
  480. package/src/themes/shaj-default/05-objects/_index.scss +0 -0
  481. package/src/themes/shaj-default/06-components/_components.button.scss +0 -55
  482. package/src/themes/shaj-default/06-components/_components.card.scss +0 -57
  483. package/src/themes/shaj-default/06-components/_components.input.scss +0 -58
  484. package/src/themes/shaj-default/06-components/_components.navbar.scss +0 -99
  485. package/src/themes/shaj-default/06-components/_components.tooltip.scss +0 -0
  486. package/src/themes/shaj-default/06-components/_index.scss +0 -13
  487. package/src/themes/shaj-default/99-utilities/_index.scss +0 -0
  488. package/src/themes/shaj-default/index.scss +0 -25
  489. package/theme.config.ts +0 -360
@@ -0,0 +1,1929 @@
1
+ import * as react from 'react';
2
+ import react__default, { ReactNode } from 'react';
3
+
4
+ /**
5
+ * Displacement mode for glass effect
6
+ */
7
+ type DisplacementMode = 'standard' | 'polar' | 'prominent' | 'shader';
8
+ /**
9
+ * Mouse position coordinates
10
+ */
11
+ interface MousePosition {
12
+ x: number;
13
+ y: number;
14
+ }
15
+ /**
16
+ * OverLight configuration - can be boolean, 'auto', or object with settings
17
+ *
18
+ * @example
19
+ * // Boolean - explicit control
20
+ * overLight={true}
21
+ *
22
+ * @example
23
+ * // Auto-detection - automatically detects background brightness
24
+ * overLight="auto"
25
+ *
26
+ * @example
27
+ * // Object config - auto-detection with custom settings
28
+ * overLight={{
29
+ * threshold: 0.8,
30
+ * opacity: 0.6,
31
+ * contrast: 1.8,
32
+ * brightness: 1.0,
33
+ * saturationBoost: 1.5
34
+ * }}
35
+ */
36
+ type OverLightConfig = boolean | 'auto' | OverLightObjectConfig;
37
+ /**
38
+ * OverLight object configuration
39
+ *
40
+ * When using object mode, the component will auto-detect background brightness
41
+ * and apply the custom settings. All properties are optional and will use
42
+ * sensible defaults if not provided.
43
+ *
44
+ * @example
45
+ * // Minimal config - only threshold
46
+ * overLight={{ threshold: 0.8 }}
47
+ *
48
+ * @example
49
+ * // Full config with all properties
50
+ * overLight={{
51
+ * threshold: 0.75,
52
+ * opacity: 0.6,
53
+ * contrast: 1.8,
54
+ * brightness: 1.1,
55
+ * saturationBoost: 1.5
56
+ * }}
57
+ */
58
+ interface OverLightObjectConfig {
59
+ /**
60
+ * Luminance threshold for auto-detection (0.1 - 1.0)
61
+ *
62
+ * Backgrounds with average luminance above this threshold will be
63
+ * considered "light" and trigger overLight mode.
64
+ *
65
+ * @default 0.7
66
+ * @minimum 0.1
67
+ * @maximum 1.0
68
+ *
69
+ * @example
70
+ * // More sensitive detection (triggers on lighter backgrounds)
71
+ * threshold: 0.6
72
+ *
73
+ * @example
74
+ * // Less sensitive detection (only very light backgrounds)
75
+ * threshold: 0.85
76
+ */
77
+ threshold?: number;
78
+ /**
79
+ * Base opacity for overLight layers (0.1 - 1.0)
80
+ *
81
+ * Controls the opacity of the base and overlay layers when overLight
82
+ * mode is active. This value is multiplied by hover/active intensity
83
+ * multipliers for dynamic effects.
84
+ *
85
+ * @default 0.5 (dynamic, depends on hover/active state)
86
+ * @minimum 0.1
87
+ * @maximum 1.0
88
+ *
89
+ * @example
90
+ * // Subtle overlay
91
+ * opacity: 0.3
92
+ *
93
+ * @example
94
+ * // Strong overlay
95
+ * opacity: 0.7
96
+ */
97
+ opacity?: number;
98
+ /**
99
+ * Contrast enhancement multiplier (0.5 - 2.5)
100
+ *
101
+ * Increases the contrast of the glass effect for better visibility
102
+ * on light backgrounds. Higher values create more dramatic effects.
103
+ *
104
+ * @default 1.4 (dynamic, includes mouse influence)
105
+ * @minimum 0.5
106
+ * @maximum 2.5
107
+ *
108
+ * @example
109
+ * // Subtle contrast boost
110
+ * contrast: 1.2
111
+ *
112
+ * @example
113
+ * // High contrast for maximum visibility
114
+ * contrast: 2.0
115
+ */
116
+ contrast?: number;
117
+ /**
118
+ * Brightness adjustment multiplier (0.5 - 2.0)
119
+ *
120
+ * Adjusts the overall brightness of the glass effect. Values above 1.0
121
+ * brighten the effect, while values below 1.0 darken it.
122
+ *
123
+ * @default 0.85 (dynamic, includes mouse influence)
124
+ * @minimum 0.5
125
+ * @maximum 2.0
126
+ *
127
+ * @example
128
+ * // Neutral brightness
129
+ * brightness: 1.0
130
+ *
131
+ * @example
132
+ * // Brighter effect
133
+ * brightness: 1.2
134
+ */
135
+ brightness?: number;
136
+ /**
137
+ * Saturation boost multiplier (0.5 - 3.0)
138
+ *
139
+ * Enhances color saturation for more vibrant glass effects on light
140
+ * backgrounds. This works in conjunction with the base saturation prop.
141
+ *
142
+ * @default 1.3 (dynamic, includes mouse influence)
143
+ * @minimum 0.5
144
+ * @maximum 3.0
145
+ *
146
+ * @example
147
+ * // Moderate saturation boost
148
+ * saturationBoost: 1.2
149
+ *
150
+ * @example
151
+ * // High saturation for vivid effects
152
+ * saturationBoost: 2.0
153
+ */
154
+ saturationBoost?: number;
155
+ }
156
+ /**
157
+ * AtomixGlass component props interface
158
+ */
159
+ interface AtomixGlassProps {
160
+ children: React.ReactNode;
161
+ displacementScale?: number;
162
+ blurAmount?: number;
163
+ saturation?: number;
164
+ aberrationIntensity?: number;
165
+ elasticity?: number;
166
+ cornerRadius?: number;
167
+ globalMousePosition?: MousePosition;
168
+ mouseOffset?: MousePosition;
169
+ mouseContainer?: React.RefObject<HTMLElement | null> | null;
170
+ className?: string;
171
+ padding?: string;
172
+ style?: React.CSSProperties;
173
+ overLight?: OverLightConfig;
174
+ mode?: DisplacementMode;
175
+ onClick?: () => void;
176
+ /**
177
+ * Shader variant for shader mode
178
+ */
179
+ shaderVariant?: 'liquidGlass' | 'premiumGlass';
180
+ /**
181
+ * Accessibility props
182
+ */
183
+ 'aria-label'?: string;
184
+ 'aria-describedby'?: string;
185
+ role?: string;
186
+ tabIndex?: number;
187
+ /**
188
+ * Performance and accessibility options
189
+ */
190
+ reducedMotion?: boolean;
191
+ highContrast?: boolean;
192
+ disableEffects?: boolean;
193
+ enableLiquidBlur?: boolean;
194
+ enableBorderEffect?: boolean;
195
+ enableOverLightLayers?: boolean;
196
+ /**
197
+ * Performance monitoring
198
+ */
199
+ enablePerformanceMonitoring?: boolean;
200
+ /**
201
+ * Debug mode for cornerRadius extraction
202
+ */
203
+ debugCornerRadius?: boolean;
204
+ /**
205
+ * Debug mode for overLight detection and configuration
206
+ *
207
+ * When enabled, logs detailed information about:
208
+ * - Auto-detection results (luminance values, threshold comparison)
209
+ * - Final overLight configuration values
210
+ * - Detection timing and performance
211
+ *
212
+ * Useful for debugging auto-detection issues and fine-tuning thresholds.
213
+ *
214
+ * @default false
215
+ *
216
+ * @example
217
+ * <AtomixGlass overLight="auto" debugOverLight={true}>
218
+ * Content
219
+ * </AtomixGlass>
220
+ */
221
+ debugOverLight?: boolean;
222
+ }
223
+ /**
224
+ * Common component size options
225
+ */
226
+ type Size = 'sm' | 'md' | 'lg';
227
+ /**
228
+ * Theme color variants
229
+ */
230
+ type ThemeColor = 'primary' | 'secondary' | 'tertiary' | 'invert' | 'brand' | 'error' | 'success' | 'warning' | 'info' | 'light' | 'dark';
231
+ /**
232
+ * Component variant including theme colors and outline variants
233
+ */
234
+ type Variant = ThemeColor | `outline-${ThemeColor}` | 'link';
235
+ /**
236
+ * Base component properties interface
237
+ */
238
+ interface BaseComponentProps {
239
+ /**
240
+ * Additional CSS class names
241
+ */
242
+ className?: string;
243
+ /**
244
+ * Component disabled state
245
+ */
246
+ disabled?: boolean;
247
+ /**
248
+ * Component children
249
+ */
250
+ children?: ReactNode;
251
+ /**
252
+ * Inline style for the component root element
253
+ */
254
+ style?: React.CSSProperties;
255
+ }
256
+ /**
257
+ * Chart type options
258
+ */
259
+ type ChartType$1 = 'line' | 'area' | 'bar' | 'horizontal-bar' | 'pie' | 'donut' | 'doughnut' | 'scatter' | 'radar' | 'bubble' | 'candlestick' | 'interactive' | 'advanced' | 'gauge' | 'funnel' | 'waterfall' | 'heatmap' | 'treemap' | 'realtime';
260
+ /**
261
+ * Extended size options for charts
262
+ */
263
+ type ChartSize$1 = Size | 'xl' | 'full';
264
+ /**
265
+ * Chart data point interface
266
+ */
267
+ interface ChartDataPoint$1 {
268
+ /**
269
+ * Data point label
270
+ */
271
+ label: string;
272
+ /**
273
+ * Data point value
274
+ */
275
+ value: number;
276
+ /**
277
+ * Optional color for this data point
278
+ */
279
+ color?: string;
280
+ /**
281
+ * Optional metadata
282
+ */
283
+ metadata?: Record<string, any>;
284
+ }
285
+ /**
286
+ * Chart dataset interface
287
+ */
288
+ interface ChartDataset$1 {
289
+ /**
290
+ * Dataset label
291
+ */
292
+ label: string;
293
+ /**
294
+ * Dataset data points
295
+ */
296
+ data: ChartDataPoint$1[];
297
+ /**
298
+ * Dataset color
299
+ */
300
+ color?: string;
301
+ /**
302
+ * Whether this dataset is visible
303
+ */
304
+ visible?: boolean;
305
+ }
306
+ /**
307
+ * Chart axis configuration
308
+ */
309
+ interface ChartAxis$1 {
310
+ /**
311
+ * Axis label
312
+ */
313
+ label?: string;
314
+ /**
315
+ * Whether to show grid lines
316
+ */
317
+ showGrid?: boolean;
318
+ /**
319
+ * Whether to show axis labels
320
+ */
321
+ showLabels?: boolean;
322
+ /**
323
+ * Minimum value
324
+ */
325
+ min?: number;
326
+ /**
327
+ * Maximum value
328
+ */
329
+ max?: number;
330
+ /**
331
+ * Value formatter function
332
+ */
333
+ formatter?: (value: number) => string;
334
+ /**
335
+ * Number of ticks
336
+ */
337
+ ticks?: number;
338
+ }
339
+ /**
340
+ * Chart configuration
341
+ */
342
+ interface ChartConfig$1 {
343
+ /**
344
+ * X-axis configuration
345
+ */
346
+ xAxis?: ChartAxis$1;
347
+ /**
348
+ * Y-axis configuration
349
+ */
350
+ yAxis?: ChartAxis$1;
351
+ /**
352
+ * Whether to show legend
353
+ */
354
+ showLegend?: boolean;
355
+ /**
356
+ * Whether to show tooltips
357
+ */
358
+ showTooltips?: boolean;
359
+ /**
360
+ * Whether to animate the chart
361
+ */
362
+ animate?: boolean;
363
+ /**
364
+ * Animation duration in milliseconds
365
+ */
366
+ animationDuration?: number;
367
+ }
368
+ /**
369
+ * Chart component properties
370
+ */
371
+ interface ChartProps$1 extends BaseComponentProps {
372
+ /**
373
+ * Chart type
374
+ */
375
+ type?: ChartType$1;
376
+ /**
377
+ * Chart datasets
378
+ */
379
+ datasets?: ChartDataset$1[];
380
+ /**
381
+ * Chart configuration
382
+ */
383
+ config?: ChartConfig$1;
384
+ /**
385
+ * Chart title
386
+ */
387
+ title?: string;
388
+ /**
389
+ * Chart subtitle
390
+ */
391
+ subtitle?: string;
392
+ /**
393
+ * Loading state
394
+ */
395
+ loading?: boolean;
396
+ /**
397
+ * Error message
398
+ */
399
+ error?: string;
400
+ /**
401
+ * Chart size
402
+ */
403
+ size?: ChartSize$1;
404
+ /**
405
+ * Chart variant
406
+ */
407
+ variant?: Variant;
408
+ /**
409
+ * Chart content (for wrapper chart component)
410
+ */
411
+ children?: React.ReactNode;
412
+ /**
413
+ * Click handler for data points
414
+ */
415
+ onDataPointClick?: (dataPoint: ChartDataPoint$1, datasetIndex: number, pointIndex: number) => void;
416
+ /**
417
+ * Legend item click handler
418
+ */
419
+ onLegendItemClick?: (datasetIndex: number, visible: boolean) => void;
420
+ /**
421
+ * Interactive mode - enables hover/click effects
422
+ */
423
+ interactive?: boolean;
424
+ /**
425
+ * Disabled state
426
+ */
427
+ disabled?: boolean;
428
+ /**
429
+ * Fullscreen mode
430
+ */
431
+ fullscreen?: boolean;
432
+ /**
433
+ * Minimized mode
434
+ */
435
+ minimized?: boolean;
436
+ /**
437
+ * Show toolbar with actions
438
+ */
439
+ showToolbar?: boolean;
440
+ /**
441
+ * Enable fullscreen functionality
442
+ */
443
+ enableFullscreen?: boolean;
444
+ /**
445
+ * Enable export functionality
446
+ */
447
+ enableExport?: boolean;
448
+ /**
449
+ * Enable refresh functionality
450
+ */
451
+ enableRefresh?: boolean;
452
+ /**
453
+ * Available export formats
454
+ */
455
+ exportFormats?: ('png' | 'svg' | 'csv' | 'json')[];
456
+ /**
457
+ * Fullscreen state change handler
458
+ */
459
+ onFullscreen?: (isFullscreen: boolean) => void;
460
+ /**
461
+ * Export handler
462
+ */
463
+ onExport?: (format: string) => Promise<void> | void;
464
+ /**
465
+ * Refresh handler
466
+ */
467
+ onRefresh?: () => void;
468
+ /**
469
+ * Custom toolbar actions
470
+ */
471
+ toolbarActions?: React.ReactNode;
472
+ /**
473
+ * Empty state configuration
474
+ */
475
+ emptyState?: {
476
+ message?: string;
477
+ icon?: React.ReactNode;
478
+ };
479
+ /**
480
+ * Accessibility label
481
+ */
482
+ 'aria-label'?: string;
483
+ }
484
+
485
+ /**
486
+ * Chart types - comprehensive list
487
+ */
488
+ type ChartType = 'line' | 'area' | 'bar' | 'horizontal-bar' | 'pie' | 'donut' | 'doughnut' | 'scatter' | 'radar' | 'bubble' | 'candlestick' | 'interactive' | 'advanced' | 'gauge' | 'funnel' | 'waterfall' | 'heatmap' | 'treemap' | 'realtime';
489
+ /**
490
+ * Chart data point interface
491
+ */
492
+ interface ChartDataPoint {
493
+ label: string;
494
+ value: number;
495
+ color?: string;
496
+ metadata?: Record<string, any>;
497
+ }
498
+ /**
499
+ * Scatter chart data point interface
500
+ */
501
+ interface ScatterDataPoint extends ChartDataPoint {
502
+ x: number;
503
+ y: number;
504
+ size?: number;
505
+ }
506
+ /**
507
+ * Chart dataset interface
508
+ */
509
+ interface ChartDataset {
510
+ label: string;
511
+ data: ChartDataPoint[];
512
+ color?: string;
513
+ visible?: boolean;
514
+ }
515
+ /**
516
+ * Chart axis configuration
517
+ */
518
+ interface ChartAxis {
519
+ label?: string;
520
+ showGrid?: boolean;
521
+ showLabels?: boolean;
522
+ min?: number;
523
+ max?: number;
524
+ formatter?: (value: number) => string;
525
+ ticks?: number;
526
+ }
527
+ /**
528
+ * Chart configuration
529
+ */
530
+ interface ChartConfig {
531
+ xAxis?: ChartAxis;
532
+ yAxis?: ChartAxis;
533
+ showLegend?: boolean;
534
+ showTooltips?: boolean;
535
+ animate?: boolean;
536
+ animationDuration?: number;
537
+ }
538
+ /**
539
+ * Extended chart size options
540
+ */
541
+ type ChartSize = Size | 'xl' | 'full';
542
+ /**
543
+ * Comprehensive chart props interface
544
+ */
545
+ interface ChartProps extends BaseComponentProps {
546
+ /**
547
+ * Chart type
548
+ */
549
+ type?: ChartType;
550
+ /**
551
+ * Chart data (simplified)
552
+ */
553
+ data?: ChartDataPoint[];
554
+ /**
555
+ * Chart datasets (advanced)
556
+ */
557
+ datasets?: ChartDataset[];
558
+ /**
559
+ * Chart configuration
560
+ */
561
+ config?: ChartConfig;
562
+ /**
563
+ * Chart size
564
+ */
565
+ size?: ChartSize;
566
+ /**
567
+ * Chart variant
568
+ */
569
+ variant?: Variant;
570
+ /**
571
+ * Glass morphism effect
572
+ * When true, applies default glass effect. When an object, allows custom glass configuration.
573
+ */
574
+ glass?: boolean | AtomixGlassProps;
575
+ /**
576
+ * Chart title
577
+ */
578
+ title?: string;
579
+ /**
580
+ * Chart subtitle
581
+ */
582
+ subtitle?: string;
583
+ /**
584
+ * Whether to show legend
585
+ */
586
+ showLegend?: boolean;
587
+ /**
588
+ * Whether chart is interactive
589
+ */
590
+ interactive?: boolean;
591
+ /**
592
+ * Loading state
593
+ */
594
+ loading?: boolean;
595
+ /**
596
+ * Error message
597
+ */
598
+ error?: string;
599
+ /**
600
+ * Fullscreen mode
601
+ */
602
+ fullscreen?: boolean;
603
+ /**
604
+ * Show toolbar with actions
605
+ */
606
+ showToolbar?: boolean;
607
+ /**
608
+ * Enable fullscreen functionality
609
+ */
610
+ enableFullscreen?: boolean;
611
+ /**
612
+ * Enable export functionality
613
+ */
614
+ enableExport?: boolean;
615
+ /**
616
+ * Enable refresh functionality
617
+ */
618
+ enableRefresh?: boolean;
619
+ /**
620
+ * Available export formats
621
+ */
622
+ exportFormats?: ('png' | 'svg' | 'csv' | 'json')[];
623
+ /**
624
+ * Data point click handler
625
+ */
626
+ onDataPointClick?: (dataPoint: ChartDataPoint, datasetIndex: number, pointIndex: number) => void;
627
+ /**
628
+ * Legend item click handler
629
+ */
630
+ onLegendItemClick?: (datasetIndex: number, visible: boolean) => void;
631
+ /**
632
+ * Fullscreen state change handler
633
+ */
634
+ onFullscreen?: (isFullscreen: boolean) => void;
635
+ /**
636
+ * Export handler
637
+ */
638
+ onExport?: (format: string) => Promise<void> | void;
639
+ /**
640
+ * Refresh handler
641
+ */
642
+ onRefresh?: () => void;
643
+ /**
644
+ * Chart content for wrapper usage
645
+ */
646
+ children?: ReactNode;
647
+ /**
648
+ * Accessibility label
649
+ */
650
+ 'aria-label'?: string;
651
+ /**
652
+ * Toolbar configuration
653
+ */
654
+ toolbarConfig?: {
655
+ enableDefaults?: boolean;
656
+ defaults?: {
657
+ refresh?: boolean;
658
+ export?: boolean;
659
+ fullscreen?: boolean;
660
+ settings?: boolean;
661
+ zoom?: boolean;
662
+ pan?: boolean;
663
+ reset?: boolean;
664
+ grid?: boolean;
665
+ legend?: boolean;
666
+ tooltips?: boolean;
667
+ animations?: boolean;
668
+ };
669
+ handlers?: {
670
+ onRefresh?: () => void;
671
+ onExport?: (format: string) => Promise<void> | void;
672
+ onFullscreen?: (isFullscreen: boolean) => void;
673
+ onZoomIn?: () => void;
674
+ onZoomOut?: () => void;
675
+ onZoomReset?: () => void;
676
+ onPanToggle?: (enabled: boolean) => void;
677
+ onReset?: () => void;
678
+ onGridToggle?: (show: boolean) => void;
679
+ onLegendToggle?: (show: boolean) => void;
680
+ onTooltipsToggle?: (show: boolean) => void;
681
+ onAnimationsToggle?: (enabled: boolean) => void;
682
+ };
683
+ };
684
+ /**
685
+ * Custom toolbar actions
686
+ */
687
+ customToolbarActions?: Array<{
688
+ id: string;
689
+ label: string;
690
+ icon: string;
691
+ onClick: () => void;
692
+ disabled?: boolean;
693
+ active?: boolean;
694
+ variant?: 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'error';
695
+ tooltip?: string;
696
+ }>;
697
+ /**
698
+ * Custom toolbar groups
699
+ */
700
+ customToolbarGroups?: Array<{
701
+ id: string;
702
+ label?: string;
703
+ actions: Array<{
704
+ id: string;
705
+ label: string;
706
+ icon: string;
707
+ onClick: () => void;
708
+ disabled?: boolean;
709
+ active?: boolean;
710
+ variant?: 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'error';
711
+ tooltip?: string;
712
+ }>;
713
+ separator?: boolean;
714
+ }>;
715
+ }
716
+ /**
717
+ * Chart scales interface
718
+ */
719
+ interface ChartScales {
720
+ xScale: (index: number, dataLength?: number) => number;
721
+ yScale: (value: number) => number;
722
+ minValue: number;
723
+ maxValue: number;
724
+ valueRange: number;
725
+ innerWidth: number;
726
+ innerHeight: number;
727
+ width: number;
728
+ height: number;
729
+ padding: {
730
+ top: number;
731
+ right: number;
732
+ bottom: number;
733
+ left: number;
734
+ };
735
+ }
736
+ /**
737
+ * Chart interaction state
738
+ */
739
+ interface ChartInteraction {
740
+ hoveredIndex: number | null;
741
+ selectedIndex: number | null;
742
+ }
743
+ /**
744
+ * Chart hovered point state
745
+ */
746
+ interface ChartHoveredPoint {
747
+ datasetIndex: number;
748
+ pointIndex: number;
749
+ x: number;
750
+ y: number;
751
+ clientX: number;
752
+ clientY: number;
753
+ }
754
+ /**
755
+ * Chart event handlers interface
756
+ */
757
+ interface ChartHandlers {
758
+ onDataPointClick?: (dataPoint: ChartDataPoint, datasetIndex: number, pointIndex: number) => void;
759
+ onPointHover: (datasetIndex: number, pointIndex: number, x: number, y: number, clientX: number, clientY: number) => void;
760
+ onPointLeave: () => void;
761
+ onMouseMove: (event: react__default.MouseEvent<SVGSVGElement>) => void;
762
+ onMouseDown: (event: react__default.MouseEvent<SVGSVGElement>) => void;
763
+ onMouseUp: () => void;
764
+ onWheel: (event: react__default.WheelEvent<SVGSVGElement>) => void;
765
+ }
766
+ /**
767
+ * Chart accessibility interface
768
+ */
769
+ interface ChartAccessibility {
770
+ announcement: string;
771
+ focusedPoint: {
772
+ datasetIndex: number;
773
+ pointIndex: number;
774
+ };
775
+ getAccessibleDescription: () => string;
776
+ }
777
+ /**
778
+ * Chart toolbar state
779
+ */
780
+ interface ChartToolbarState {
781
+ showTooltips?: boolean;
782
+ showLegend?: boolean;
783
+ animationsEnabled?: boolean;
784
+ showGrid?: boolean;
785
+ }
786
+ /**
787
+ * Chart render content parameters
788
+ */
789
+ interface ChartRenderContentParams {
790
+ scales: ChartScales;
791
+ colors: string[];
792
+ datasets: ChartDataset[];
793
+ interactionState?: ChartInteraction;
794
+ handlers: ChartHandlers;
795
+ accessibility: ChartAccessibility;
796
+ hoveredPoint: ChartHoveredPoint | null;
797
+ toolbarState?: ChartToolbarState;
798
+ config?: ChartConfig;
799
+ }
800
+
801
+ interface AnimatedChartProps extends Omit<ChartProps, 'type'> {
802
+ chartType?: 'line' | 'bar' | 'area';
803
+ animationConfig?: {
804
+ duration?: number;
805
+ easing?: 'ease-out' | 'bounce';
806
+ };
807
+ particleEffects?: {
808
+ enabled: boolean;
809
+ count: number;
810
+ colors: string[];
811
+ speed: number;
812
+ size: number;
813
+ };
814
+ }
815
+ declare const AnimatedChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<AnimatedChartProps & react.RefAttributes<HTMLDivElement>>>;
816
+
817
+ /**
818
+ * Line chart specific options
819
+ */
820
+ interface LineChartOptions {
821
+ /**
822
+ * Whether to show area fill under the line
823
+ */
824
+ showArea?: boolean;
825
+ /**
826
+ * Whether to show data points
827
+ */
828
+ showDataPoints?: boolean;
829
+ /**
830
+ * Whether to use smooth curves
831
+ */
832
+ smooth?: boolean;
833
+ /**
834
+ * Curve tension (0-1)
835
+ */
836
+ tension?: number;
837
+ /**
838
+ * Fill opacity for area charts
839
+ */
840
+ fillOpacity?: number;
841
+ /**
842
+ * Whether to use gradient fills
843
+ */
844
+ useGradient?: boolean;
845
+ /**
846
+ * Gradient direction
847
+ */
848
+ gradientDirection?: 'horizontal' | 'vertical';
849
+ /**
850
+ * Line width in pixels
851
+ */
852
+ lineWidth?: number;
853
+ /**
854
+ * Point radius in pixels
855
+ */
856
+ pointRadius?: number;
857
+ /**
858
+ * Whether to show point labels
859
+ */
860
+ showPointLabels?: boolean;
861
+ /**
862
+ * Whether to enable zoom functionality
863
+ */
864
+ enableZoom?: boolean;
865
+ /**
866
+ * Whether to enable pan functionality
867
+ */
868
+ enablePan?: boolean;
869
+ /**
870
+ * Whether to show crosshair
871
+ */
872
+ showCrosshair?: boolean;
873
+ /**
874
+ * Whether to enable keyboard navigation
875
+ */
876
+ enableKeyboardNavigation?: boolean;
877
+ /**
878
+ * Whether to show trend lines
879
+ */
880
+ showTrendLines?: boolean;
881
+ /**
882
+ * Whether to show moving averages
883
+ */
884
+ showMovingAverages?: boolean;
885
+ /**
886
+ * Moving average periods
887
+ */
888
+ movingAveragePeriods?: number[];
889
+ /**
890
+ * Whether to enable real-time updates
891
+ */
892
+ enableRealTime?: boolean;
893
+ /**
894
+ * Real-time update interval in milliseconds
895
+ */
896
+ realTimeInterval?: number;
897
+ /**
898
+ * Maximum number of data points for performance
899
+ */
900
+ maxDataPoints?: number;
901
+ /**
902
+ * Whether to enable data decimation
903
+ */
904
+ enableDecimation?: boolean;
905
+ }
906
+
907
+ interface LineChartProps extends Omit<ChartProps, 'type'> {
908
+ /**
909
+ * Line chart specific options
910
+ */
911
+ lineOptions?: LineChartOptions;
912
+ /**
913
+ * Real-time data update handler
914
+ */
915
+ onRealTimeUpdate?: () => void;
916
+ /**
917
+ * Zoom change handler
918
+ */
919
+ onZoomChange?: (zoomLevel: number, centerX: number) => void;
920
+ /**
921
+ * Pan change handler
922
+ */
923
+ onPanChange?: (offsetX: number, offsetY: number) => void;
924
+ /**
925
+ * Brush selection handler
926
+ */
927
+ onBrushSelection?: (startIndex: number, endIndex: number) => void;
928
+ }
929
+ declare const LineChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<LineChartProps & react.RefAttributes<HTMLDivElement>>>;
930
+
931
+ interface AreaChartProps extends Omit<LineChartProps, 'lineOptions'> {
932
+ /**
933
+ * Area chart specific options (extends line chart options)
934
+ */
935
+ areaOptions?: LineChartProps['lineOptions'];
936
+ }
937
+ declare const AreaChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<AreaChartProps & react.RefAttributes<HTMLDivElement>>>;
938
+
939
+ /**
940
+ * Bar chart specific options
941
+ */
942
+ interface BarChartOptions {
943
+ /**
944
+ * Whether bars are stacked
945
+ */
946
+ stacked?: boolean;
947
+ /**
948
+ * Whether to show values on bars
949
+ */
950
+ showValues?: boolean;
951
+ /**
952
+ * Corner radius for bars
953
+ */
954
+ cornerRadius?: number;
955
+ /**
956
+ * Padding between bar groups
957
+ */
958
+ groupPadding?: number;
959
+ /**
960
+ * Padding between individual bars
961
+ */
962
+ barPadding?: number;
963
+ /**
964
+ * Whether to enable animations
965
+ */
966
+ enableAnimations?: boolean;
967
+ /**
968
+ * Animation duration in milliseconds
969
+ */
970
+ animationDuration?: number;
971
+ /**
972
+ * Animation delay between bars
973
+ */
974
+ animationDelay?: number;
975
+ /**
976
+ * Whether to use gradients
977
+ */
978
+ useGradients?: boolean;
979
+ /**
980
+ * Whether to enable hover effects
981
+ */
982
+ enableHoverEffects?: boolean;
983
+ /**
984
+ * Whether to enable data labels
985
+ */
986
+ enableDataLabels?: boolean;
987
+ /**
988
+ * Data label position
989
+ */
990
+ dataLabelPosition?: 'inside' | 'outside' | 'center';
991
+ /**
992
+ * Value formatter function
993
+ */
994
+ valueFormatter?: (value: number) => string;
995
+ /**
996
+ * Minimum bar height
997
+ */
998
+ minBarHeight?: number;
999
+ /**
1000
+ * Maximum bar width
1001
+ */
1002
+ maxBarWidth?: number;
1003
+ }
1004
+
1005
+ interface BarChartProps extends Omit<ChartProps, 'type'> {
1006
+ /**
1007
+ * Bar chart specific options
1008
+ */
1009
+ barOptions?: BarChartOptions;
1010
+ /**
1011
+ * Whether to render as horizontal bar chart
1012
+ */
1013
+ horizontal?: boolean;
1014
+ }
1015
+ declare const BarChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<BarChartProps & react.RefAttributes<HTMLDivElement>>>;
1016
+
1017
+ interface BubbleDataPoint {
1018
+ label: string;
1019
+ x: number;
1020
+ y: number;
1021
+ size: number;
1022
+ value: number;
1023
+ color?: string;
1024
+ metadata?: Record<string, any>;
1025
+ }
1026
+ interface BubbleChartProps extends Omit<ChartProps, 'type' | 'datasets'> {
1027
+ /**
1028
+ * Bubble chart data
1029
+ */
1030
+ bubbleData: BubbleDataPoint[];
1031
+ /**
1032
+ * Bubble chart specific options
1033
+ */
1034
+ bubbleOptions?: {
1035
+ /**
1036
+ * Minimum bubble size
1037
+ */
1038
+ minBubbleSize?: number;
1039
+ /**
1040
+ * Maximum bubble size
1041
+ */
1042
+ maxBubbleSize?: number;
1043
+ /**
1044
+ * Bubble opacity
1045
+ */
1046
+ bubbleOpacity?: number;
1047
+ /**
1048
+ * Whether to show bubble labels
1049
+ */
1050
+ showLabels?: boolean;
1051
+ /**
1052
+ * Label position relative to bubble
1053
+ */
1054
+ labelPosition?: 'center' | 'top' | 'bottom' | 'left' | 'right';
1055
+ /**
1056
+ * Whether to enable bubble animations
1057
+ */
1058
+ enableAnimations?: boolean;
1059
+ /**
1060
+ * Animation duration in milliseconds
1061
+ */
1062
+ animationDuration?: number;
1063
+ /**
1064
+ * Whether to show size legend
1065
+ */
1066
+ showSizeLegend?: boolean;
1067
+ /**
1068
+ * Size legend title
1069
+ */
1070
+ sizeLegendTitle?: string;
1071
+ /**
1072
+ * Color scheme for bubbles
1073
+ */
1074
+ colorScheme?: string[];
1075
+ /**
1076
+ * Whether to use size-based coloring
1077
+ */
1078
+ sizeBasedColoring?: boolean;
1079
+ };
1080
+ }
1081
+ declare const BubbleChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<BubbleChartProps & react.RefAttributes<HTMLDivElement>>>;
1082
+
1083
+ interface CandlestickDataPoint {
1084
+ /**
1085
+ * Date or timestamp
1086
+ */
1087
+ date: string | Date;
1088
+ /**
1089
+ * Opening price
1090
+ */
1091
+ open: number;
1092
+ /**
1093
+ * Highest price
1094
+ */
1095
+ high: number;
1096
+ /**
1097
+ * Lowest price
1098
+ */
1099
+ low: number;
1100
+ /**
1101
+ * Closing price
1102
+ */
1103
+ close: number;
1104
+ /**
1105
+ * Trading volume (optional)
1106
+ */
1107
+ volume?: number;
1108
+ /**
1109
+ * Additional metadata
1110
+ */
1111
+ metadata?: Record<string, any>;
1112
+ }
1113
+ interface CandlestickChartProps extends Omit<ChartProps, 'type' | 'datasets' | 'data'> {
1114
+ /**
1115
+ * Candlestick chart data
1116
+ */
1117
+ candlestickData?: CandlestickDataPoint[];
1118
+ /**
1119
+ * Candlestick chart specific options
1120
+ */
1121
+ candlestickOptions?: {
1122
+ /**
1123
+ * Whether to show volume bars
1124
+ */
1125
+ showVolume?: boolean;
1126
+ /**
1127
+ * Volume bar height ratio (0-1)
1128
+ */
1129
+ volumeHeightRatio?: number;
1130
+ /**
1131
+ * Up color (when close > open)
1132
+ */
1133
+ upColor?: string;
1134
+ /**
1135
+ * Down color (when close < open)
1136
+ */
1137
+ downColor?: string;
1138
+ /**
1139
+ * Wick color
1140
+ */
1141
+ wickColor?: string;
1142
+ /**
1143
+ * Border color
1144
+ */
1145
+ borderColor?: string;
1146
+ /**
1147
+ * Whether to show moving averages
1148
+ */
1149
+ showMovingAverages?: boolean;
1150
+ /**
1151
+ * Moving average periods
1152
+ */
1153
+ movingAveragePeriods?: number[];
1154
+ /**
1155
+ * Moving average colors
1156
+ */
1157
+ movingAverageColors?: string[];
1158
+ /**
1159
+ * Date format
1160
+ */
1161
+ dateFormat?: 'short' | 'medium' | 'long' | 'numeric' | 'custom';
1162
+ /**
1163
+ * Custom date formatter function
1164
+ */
1165
+ dateFormatter?: (date: string | Date) => string;
1166
+ /**
1167
+ * Whether to show grid lines
1168
+ */
1169
+ showGrid?: boolean;
1170
+ /**
1171
+ * Grid color
1172
+ */
1173
+ gridColor?: string;
1174
+ /**
1175
+ * Whether to show tooltips
1176
+ */
1177
+ showTooltips?: boolean;
1178
+ };
1179
+ }
1180
+ declare const CandlestickChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<CandlestickChartProps & react.RefAttributes<HTMLDivElement>>>;
1181
+
1182
+ declare const Chart: react.MemoExoticComponent<react.ForwardRefExoticComponent<ChartProps & react.RefAttributes<HTMLDivElement>>>;
1183
+
1184
+ /**
1185
+ * Enhanced chart renderer component with comprehensive functionality
1186
+ */
1187
+ declare const ChartRenderer: react.MemoExoticComponent<react.ForwardRefExoticComponent<{
1188
+ datasets: ChartProps$1["datasets"];
1189
+ config?: ChartProps$1["config"];
1190
+ width?: number;
1191
+ height?: number;
1192
+ onDataPointClick?: ChartProps$1["onDataPointClick"];
1193
+ interactive?: boolean;
1194
+ enableRealTime?: boolean;
1195
+ enableAccessibility?: boolean;
1196
+ enablePerformanceOptimization?: boolean;
1197
+ renderContent: (params: ChartRenderContentParams) => React.ReactNode;
1198
+ } & react.RefAttributes<SVGSVGElement>>>;
1199
+
1200
+ /**
1201
+ * Pie chart specific options
1202
+ */
1203
+ interface PieChartOptions {
1204
+ /**
1205
+ * Inner radius for donut charts (0-1)
1206
+ */
1207
+ innerRadius?: number;
1208
+ /**
1209
+ * Whether to show labels
1210
+ */
1211
+ showLabels?: boolean;
1212
+ /**
1213
+ * Whether to show percentages
1214
+ */
1215
+ showPercentages?: boolean;
1216
+ /**
1217
+ * Whether to show values
1218
+ */
1219
+ showValues?: boolean;
1220
+ /**
1221
+ * Start angle in degrees
1222
+ */
1223
+ startAngle?: number;
1224
+ /**
1225
+ * Whether to sort slices by value
1226
+ */
1227
+ sortByValue?: boolean;
1228
+ /**
1229
+ * Padding angle between slices in degrees
1230
+ */
1231
+ padAngle?: number;
1232
+ /**
1233
+ * Whether to enable animations
1234
+ */
1235
+ enableAnimations?: boolean;
1236
+ /**
1237
+ * Whether to enable hover effects
1238
+ */
1239
+ enableHoverEffects?: boolean;
1240
+ /**
1241
+ * Whether to enable selection
1242
+ */
1243
+ enableSelection?: boolean;
1244
+ /**
1245
+ * Hover offset in pixels
1246
+ */
1247
+ hoverOffset?: number;
1248
+ /**
1249
+ * Animation duration in milliseconds
1250
+ */
1251
+ animationDuration?: number;
1252
+ /**
1253
+ * Label formatter function
1254
+ */
1255
+ labelFormatter?: (value: number, percentage: number, label: string) => string;
1256
+ }
1257
+
1258
+ interface PieChartProps extends Omit<ChartProps, 'type'> {
1259
+ /**
1260
+ * Pie chart specific options
1261
+ */
1262
+ pieOptions?: PieChartOptions;
1263
+ }
1264
+ declare const PieChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<PieChartProps & react.RefAttributes<HTMLDivElement>>>;
1265
+
1266
+ interface DonutChartProps extends Omit<PieChartProps, 'type'> {
1267
+ /**
1268
+ * Donut chart specific options
1269
+ */
1270
+ donutOptions?: {
1271
+ /**
1272
+ * Inner radius as a percentage of outer radius (0-1)
1273
+ */
1274
+ innerRadiusRatio?: number;
1275
+ /**
1276
+ * Whether to show total in the center
1277
+ */
1278
+ showTotal?: boolean;
1279
+ /**
1280
+ * Custom center label
1281
+ */
1282
+ centerLabel?: string;
1283
+ /**
1284
+ * Custom center value
1285
+ */
1286
+ centerValue?: string | number;
1287
+ /**
1288
+ * Whether to use rounded corners for donut segments
1289
+ */
1290
+ roundedCorners?: boolean;
1291
+ };
1292
+ }
1293
+ declare const DonutChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<DonutChartProps & react.RefAttributes<HTMLDivElement>>>;
1294
+
1295
+ interface FunnelDataPoint {
1296
+ label: string;
1297
+ value: number;
1298
+ color?: string;
1299
+ percentage?: number;
1300
+ metadata?: Record<string, any>;
1301
+ }
1302
+ interface FunnelChartProps extends Omit<ChartProps, 'type' | 'datasets'> {
1303
+ /**
1304
+ * Funnel chart data
1305
+ */
1306
+ funnelData: FunnelDataPoint[];
1307
+ /**
1308
+ * Funnel chart specific options
1309
+ */
1310
+ funnelOptions?: {
1311
+ /**
1312
+ * Funnel direction
1313
+ */
1314
+ direction?: 'vertical' | 'horizontal';
1315
+ /**
1316
+ * Whether to show labels
1317
+ */
1318
+ showLabels?: boolean;
1319
+ /**
1320
+ * Whether to show values
1321
+ */
1322
+ showValues?: boolean;
1323
+ /**
1324
+ * Whether to show percentages
1325
+ */
1326
+ showPercentages?: boolean;
1327
+ /**
1328
+ * Label position
1329
+ */
1330
+ labelPosition?: 'inside' | 'outside' | 'center';
1331
+ /**
1332
+ * Funnel neck width ratio (0-1)
1333
+ */
1334
+ neckWidth?: number;
1335
+ /**
1336
+ * Funnel neck height ratio (0-1)
1337
+ */
1338
+ neckHeight?: number;
1339
+ /**
1340
+ * Gap between segments
1341
+ */
1342
+ segmentGap?: number;
1343
+ /**
1344
+ * Color scheme
1345
+ */
1346
+ colorScheme?: string[];
1347
+ /**
1348
+ * Whether to use gradient
1349
+ */
1350
+ useGradient?: boolean;
1351
+ /**
1352
+ * Whether to animate
1353
+ */
1354
+ animate?: boolean;
1355
+ /**
1356
+ * Animation duration in milliseconds
1357
+ */
1358
+ animationDuration?: number;
1359
+ /**
1360
+ * Animation delay between segments
1361
+ */
1362
+ animationDelay?: number;
1363
+ /**
1364
+ * Value formatter function
1365
+ */
1366
+ valueFormatter?: (value: number) => string;
1367
+ /**
1368
+ * Whether to show conversion rates
1369
+ */
1370
+ showConversionRates?: boolean;
1371
+ /**
1372
+ * Conversion rate position
1373
+ */
1374
+ conversionRatePosition?: 'between' | 'onSegment';
1375
+ /**
1376
+ * Whether to use proportional segments
1377
+ */
1378
+ proportional?: boolean;
1379
+ /**
1380
+ * Minimum segment ratio (0-1)
1381
+ */
1382
+ minSegmentRatio?: number;
1383
+ };
1384
+ }
1385
+ declare const FunnelChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<FunnelChartProps & react.RefAttributes<HTMLDivElement>>>;
1386
+
1387
+ interface GaugeChartProps extends Omit<ChartProps, 'type' | 'datasets'> {
1388
+ /**
1389
+ * Current value to display
1390
+ */
1391
+ value: number;
1392
+ /**
1393
+ * Minimum value
1394
+ */
1395
+ min?: number;
1396
+ /**
1397
+ * Maximum value
1398
+ */
1399
+ max?: number;
1400
+ /**
1401
+ * Gauge chart specific options
1402
+ */
1403
+ gaugeOptions?: {
1404
+ /**
1405
+ * Start angle in degrees (0 = right, 90 = bottom, 180 = left, 270 = top)
1406
+ */
1407
+ startAngle?: number;
1408
+ /**
1409
+ * End angle in degrees
1410
+ */
1411
+ endAngle?: number;
1412
+ /**
1413
+ * Gauge thickness (0-1, where 1 is full radius)
1414
+ */
1415
+ thickness?: number;
1416
+ /**
1417
+ * Whether to show the needle
1418
+ */
1419
+ showNeedle?: boolean;
1420
+ /**
1421
+ * Needle color
1422
+ */
1423
+ needleColor?: string;
1424
+ /**
1425
+ * Whether to show value text in center
1426
+ */
1427
+ showValue?: boolean;
1428
+ /**
1429
+ * Value text format function
1430
+ */
1431
+ valueFormatter?: (value: number) => string;
1432
+ /**
1433
+ * Whether to show min/max labels
1434
+ */
1435
+ showMinMaxLabels?: boolean;
1436
+ /**
1437
+ * Whether to show tick marks
1438
+ */
1439
+ showTicks?: boolean;
1440
+ /**
1441
+ * Number of major ticks
1442
+ */
1443
+ majorTicks?: number;
1444
+ /**
1445
+ * Number of minor ticks between major ticks
1446
+ */
1447
+ minorTicks?: number;
1448
+ /**
1449
+ * Color zones for different value ranges
1450
+ */
1451
+ colorZones?: Array<{
1452
+ from: number;
1453
+ to: number;
1454
+ color: string;
1455
+ label?: string;
1456
+ }>;
1457
+ /**
1458
+ * Whether to animate value changes
1459
+ */
1460
+ animate?: boolean;
1461
+ /**
1462
+ * Animation duration in milliseconds
1463
+ */
1464
+ animationDuration?: number;
1465
+ /**
1466
+ * Animation easing function
1467
+ */
1468
+ animationEasing?: string;
1469
+ /**
1470
+ * Whether to show a gradient effect
1471
+ */
1472
+ useGradient?: boolean;
1473
+ /**
1474
+ * Custom label
1475
+ */
1476
+ label?: string;
1477
+ /**
1478
+ * Label position
1479
+ */
1480
+ labelPosition?: 'top' | 'bottom' | 'center';
1481
+ };
1482
+ }
1483
+ declare const GaugeChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<GaugeChartProps & react.RefAttributes<HTMLDivElement>>>;
1484
+
1485
+ interface HeatmapDataPoint {
1486
+ x: string | number;
1487
+ y: string | number;
1488
+ value: number;
1489
+ label?: string;
1490
+ metadata?: Record<string, any>;
1491
+ }
1492
+ interface HeatmapChartProps extends Omit<ChartProps, 'type' | 'datasets' | 'variant' | 'data'> {
1493
+ /**
1494
+ * Heatmap data points
1495
+ */
1496
+ data: HeatmapDataPoint[];
1497
+ /**
1498
+ * Color scale configuration
1499
+ */
1500
+ colorScale?: {
1501
+ /**
1502
+ * Color scheme - enhanced with GitHub-style contribution colors
1503
+ */
1504
+ scheme: 'viridis' | 'plasma' | 'inferno' | 'magma' | 'blues' | 'reds' | 'greens' | 'github' | 'custom';
1505
+ /**
1506
+ * Custom colors for custom scheme
1507
+ */
1508
+ colors?: string[];
1509
+ /**
1510
+ * Number of color steps
1511
+ */
1512
+ steps?: number;
1513
+ /**
1514
+ * Min value for color mapping
1515
+ */
1516
+ min?: number;
1517
+ /**
1518
+ * Max value for color mapping
1519
+ */
1520
+ max?: number;
1521
+ };
1522
+ /**
1523
+ * Cell configuration
1524
+ */
1525
+ cellConfig?: {
1526
+ /**
1527
+ * Cell width
1528
+ */
1529
+ width?: number;
1530
+ /**
1531
+ * Cell height
1532
+ */
1533
+ height?: number;
1534
+ /**
1535
+ * Spacing between cells
1536
+ */
1537
+ spacing?: number;
1538
+ /**
1539
+ * Border radius for cells
1540
+ */
1541
+ borderRadius?: number;
1542
+ /**
1543
+ * Whether to show cell labels
1544
+ */
1545
+ showLabels?: boolean;
1546
+ };
1547
+ /**
1548
+ * Whether to show color legend
1549
+ */
1550
+ showColorLegend?: boolean;
1551
+ /**
1552
+ * Whether to show grid lines
1553
+ */
1554
+ showGrid?: boolean;
1555
+ }
1556
+ declare const HeatmapChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<HeatmapChartProps & react.RefAttributes<HTMLDivElement>>>;
1557
+
1558
+ interface AxisConfig {
1559
+ /**
1560
+ * Axis ID
1561
+ */
1562
+ id: string;
1563
+ /**
1564
+ * Axis position
1565
+ */
1566
+ position: 'left' | 'right' | 'top' | 'bottom';
1567
+ /**
1568
+ * Axis label
1569
+ */
1570
+ label?: string;
1571
+ /**
1572
+ * Axis color
1573
+ */
1574
+ color?: string;
1575
+ /**
1576
+ * Min value
1577
+ */
1578
+ min?: number;
1579
+ /**
1580
+ * Max value
1581
+ */
1582
+ max?: number;
1583
+ /**
1584
+ * Number format
1585
+ */
1586
+ format?: (value: number) => string;
1587
+ /**
1588
+ * Grid lines
1589
+ */
1590
+ showGrid?: boolean;
1591
+ /**
1592
+ * Tick count
1593
+ */
1594
+ tickCount?: number;
1595
+ }
1596
+ interface MultiAxisDataset extends ChartDataset$1 {
1597
+ /**
1598
+ * Y-axis ID this dataset should use
1599
+ */
1600
+ yAxisId?: string;
1601
+ /**
1602
+ * X-axis ID this dataset should use
1603
+ */
1604
+ xAxisId?: string;
1605
+ }
1606
+ interface MultiAxisChartProps extends Omit<ChartProps$1, 'type'> {
1607
+ /**
1608
+ * Multi-axis chart datasets
1609
+ */
1610
+ datasets: MultiAxisDataset[];
1611
+ /**
1612
+ * Y-axis configurations
1613
+ */
1614
+ yAxes?: AxisConfig[];
1615
+ /**
1616
+ * X-axis configurations
1617
+ */
1618
+ xAxes?: AxisConfig[];
1619
+ /**
1620
+ * Multi-axis chart specific options
1621
+ */
1622
+ multiAxisOptions?: {
1623
+ /**
1624
+ * Whether to show legend
1625
+ */
1626
+ showLegend?: boolean;
1627
+ /**
1628
+ * Legend position
1629
+ */
1630
+ legendPosition?: 'top' | 'bottom' | 'left' | 'right';
1631
+ /**
1632
+ * Whether to synchronize axis ranges
1633
+ */
1634
+ syncAxes?: boolean;
1635
+ /**
1636
+ * Padding between axes
1637
+ */
1638
+ axisPadding?: number;
1639
+ /**
1640
+ * Whether to show tooltips
1641
+ */
1642
+ showTooltips?: boolean;
1643
+ /**
1644
+ * Tooltip position
1645
+ */
1646
+ tooltipPosition?: 'auto' | 'nearest' | 'average';
1647
+ /**
1648
+ * Interpolation method for line charts
1649
+ */
1650
+ interpolation?: 'linear' | 'step' | 'natural' | 'monotone';
1651
+ /**
1652
+ * Whether to show area under lines
1653
+ */
1654
+ showArea?: boolean;
1655
+ /**
1656
+ * Area opacity (0-1)
1657
+ */
1658
+ areaOpacity?: number;
1659
+ /**
1660
+ * Whether to show data points
1661
+ */
1662
+ showDataPoints?: boolean;
1663
+ /**
1664
+ * Data point radius
1665
+ */
1666
+ pointRadius?: number;
1667
+ /**
1668
+ * Whether to connect points across null values
1669
+ */
1670
+ spanGaps?: boolean;
1671
+ };
1672
+ }
1673
+ declare const MultiAxisChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<MultiAxisChartProps & react.RefAttributes<HTMLDivElement>>>;
1674
+
1675
+ interface RadarChartProps extends Omit<ChartProps$1, 'type'> {
1676
+ /**
1677
+ * Radar chart specific options
1678
+ */
1679
+ radarOptions?: {
1680
+ /**
1681
+ * Number of grid levels
1682
+ */
1683
+ gridLevels?: number;
1684
+ /**
1685
+ * Whether to show grid lines
1686
+ */
1687
+ showGrid?: boolean;
1688
+ /**
1689
+ * Whether to show axis labels
1690
+ */
1691
+ showAxisLabels?: boolean;
1692
+ /**
1693
+ * Whether to fill the area
1694
+ */
1695
+ fillArea?: boolean;
1696
+ /**
1697
+ * Fill opacity (0-1)
1698
+ */
1699
+ fillOpacity?: number;
1700
+ /**
1701
+ * Whether to show data points
1702
+ */
1703
+ showDataPoints?: boolean;
1704
+ /**
1705
+ * Point radius
1706
+ */
1707
+ pointRadius?: number;
1708
+ /**
1709
+ * Line width
1710
+ */
1711
+ lineWidth?: number;
1712
+ /**
1713
+ * Whether to use smooth curves
1714
+ */
1715
+ smooth?: boolean;
1716
+ /**
1717
+ * Scale type
1718
+ */
1719
+ scaleType?: 'linear' | 'logarithmic';
1720
+ /**
1721
+ * Minimum scale value
1722
+ */
1723
+ scaleMin?: number;
1724
+ /**
1725
+ * Maximum scale value
1726
+ */
1727
+ scaleMax?: number;
1728
+ };
1729
+ }
1730
+ declare const RadarChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<RadarChartProps & react.RefAttributes<HTMLDivElement>>>;
1731
+
1732
+ interface ScatterChartProps extends Omit<ChartProps, 'type'> {
1733
+ /**
1734
+ * Scatter chart specific options
1735
+ */
1736
+ scatterOptions?: {
1737
+ /**
1738
+ * Point radius
1739
+ */
1740
+ pointRadius?: number;
1741
+ /**
1742
+ * Whether to show point labels
1743
+ */
1744
+ showLabels?: boolean;
1745
+ /**
1746
+ * Enable hover effects
1747
+ */
1748
+ enableHoverEffects?: boolean;
1749
+ };
1750
+ }
1751
+ declare const ScatterChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<ScatterChartProps & react.RefAttributes<HTMLDivElement>>>;
1752
+
1753
+ interface TreemapDataPoint {
1754
+ id: string;
1755
+ label: string;
1756
+ value: number;
1757
+ color?: string;
1758
+ parent?: string;
1759
+ children?: TreemapDataPoint[];
1760
+ metadata?: Record<string, any>;
1761
+ }
1762
+ interface TreemapNode {
1763
+ id: string;
1764
+ label: string;
1765
+ value: number;
1766
+ color: string;
1767
+ x: number;
1768
+ y: number;
1769
+ width: number;
1770
+ height: number;
1771
+ depth: number;
1772
+ parent?: TreemapNode;
1773
+ children: TreemapNode[];
1774
+ originalData: TreemapDataPoint;
1775
+ }
1776
+ interface TreemapChartProps extends Omit<ChartProps$1, 'type' | 'datasets'> {
1777
+ /**
1778
+ * Treemap data
1779
+ */
1780
+ data: TreemapDataPoint[];
1781
+ /**
1782
+ * Treemap algorithm
1783
+ */
1784
+ algorithm?: 'squarified' | 'slice-dice' | 'binary';
1785
+ /**
1786
+ * Color configuration
1787
+ */
1788
+ colorConfig?: {
1789
+ /**
1790
+ * Color scheme
1791
+ */
1792
+ scheme: 'category' | 'value' | 'depth' | 'custom';
1793
+ /**
1794
+ * Color palette
1795
+ */
1796
+ palette?: string[];
1797
+ /**
1798
+ * Whether to use gradients
1799
+ */
1800
+ useGradients?: boolean;
1801
+ };
1802
+ /**
1803
+ * Label configuration
1804
+ */
1805
+ labelConfig?: {
1806
+ /**
1807
+ * Whether to show labels
1808
+ */
1809
+ showLabels?: boolean;
1810
+ /**
1811
+ * Minimum size for showing labels
1812
+ */
1813
+ minSize?: number;
1814
+ /**
1815
+ * Font size
1816
+ */
1817
+ fontSize?: number;
1818
+ /**
1819
+ * Text color
1820
+ */
1821
+ textColor?: string;
1822
+ };
1823
+ /**
1824
+ * Interaction configuration
1825
+ */
1826
+ interactionConfig?: {
1827
+ /**
1828
+ * Whether to enable tooltips
1829
+ */
1830
+ enableTooltips?: boolean;
1831
+ /**
1832
+ * Whether to enable zoom
1833
+ */
1834
+ enableZoom?: boolean;
1835
+ /**
1836
+ * Whether to enable selection
1837
+ */
1838
+ enableSelection?: boolean;
1839
+ };
1840
+ }
1841
+ declare const TreemapChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<TreemapChartProps & react.RefAttributes<HTMLDivElement>>>;
1842
+
1843
+ interface WaterfallDataPoint {
1844
+ label: string;
1845
+ value: number;
1846
+ type?: 'positive' | 'negative' | 'total' | 'subtotal';
1847
+ color?: string;
1848
+ isConnector?: boolean;
1849
+ }
1850
+ interface WaterfallChartProps extends Omit<ChartProps$1, 'type' | 'datasets'> {
1851
+ /**
1852
+ * Waterfall chart data
1853
+ */
1854
+ waterfallData: WaterfallDataPoint[];
1855
+ /**
1856
+ * Waterfall chart specific options
1857
+ */
1858
+ waterfallOptions?: {
1859
+ /**
1860
+ * Whether to show connecting lines
1861
+ */
1862
+ showConnectors?: boolean;
1863
+ /**
1864
+ * Connector line color
1865
+ */
1866
+ connectorColor?: string;
1867
+ /**
1868
+ * Connector line style
1869
+ */
1870
+ connectorStyle?: 'solid' | 'dashed' | 'dotted';
1871
+ /**
1872
+ * Whether to show values on bars
1873
+ */
1874
+ showValues?: boolean;
1875
+ /**
1876
+ * Value position on bars
1877
+ */
1878
+ valuePosition?: 'top' | 'center' | 'bottom';
1879
+ /**
1880
+ * Colors for different bar types
1881
+ */
1882
+ colors?: {
1883
+ positive?: string;
1884
+ negative?: string;
1885
+ total?: string;
1886
+ subtotal?: string;
1887
+ };
1888
+ /**
1889
+ * Bar width ratio (0-1)
1890
+ */
1891
+ barWidth?: number;
1892
+ /**
1893
+ * Whether to show cumulative line
1894
+ */
1895
+ showCumulativeLine?: boolean;
1896
+ /**
1897
+ * Cumulative line color
1898
+ */
1899
+ cumulativeLineColor?: string;
1900
+ /**
1901
+ * Whether to animate bars
1902
+ */
1903
+ animate?: boolean;
1904
+ /**
1905
+ * Animation duration in milliseconds
1906
+ */
1907
+ animationDuration?: number;
1908
+ /**
1909
+ * Animation delay between bars
1910
+ */
1911
+ animationDelay?: number;
1912
+ /**
1913
+ * Value formatter function
1914
+ */
1915
+ valueFormatter?: (value: number) => string;
1916
+ /**
1917
+ * Whether to show baseline at zero
1918
+ */
1919
+ showBaseline?: boolean;
1920
+ /**
1921
+ * Baseline color
1922
+ */
1923
+ baselineColor?: string;
1924
+ };
1925
+ }
1926
+ declare const WaterfallChart: react.MemoExoticComponent<react.ForwardRefExoticComponent<WaterfallChartProps & react.RefAttributes<HTMLDivElement>>>;
1927
+
1928
+ export { AnimatedChart, AreaChart, BarChart, BubbleChart, CandlestickChart, Chart, ChartRenderer, DonutChart, FunnelChart, GaugeChart, HeatmapChart, LineChart, MultiAxisChart, PieChart, RadarChart, ScatterChart, TreemapChart, WaterfallChart };
1929
+ export type { AreaChartProps, BarChartProps, BubbleChartProps, BubbleDataPoint, CandlestickChartProps, CandlestickDataPoint, ChartProps$1 as ChartProps, DonutChartProps, FunnelChartProps, FunnelDataPoint, GaugeChartProps, HeatmapChartProps, HeatmapDataPoint, LineChartProps, MultiAxisChartProps, PieChartProps, RadarChartProps, ScatterChartProps, ScatterDataPoint, TreemapChartProps, TreemapDataPoint, TreemapNode, WaterfallChartProps, WaterfallDataPoint };