@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,1085 @@
1
+ import React$1, { ReactNode } from 'react';
2
+
3
+ /**
4
+ * Part-Based Styling Props
5
+ *
6
+ * Type definitions for styling individual component parts with className and style props.
7
+ * This enables granular customization of component internals.
8
+ */
9
+
10
+ /**
11
+ * Style properties for a component part
12
+ */
13
+ interface PartStyleProps {
14
+ /** Additional CSS class name for the part */
15
+ className?: string;
16
+ /** Inline styles for the part */
17
+ style?: React$1.CSSProperties;
18
+ }
19
+ /**
20
+ * Generic component parts type
21
+ * T is a union of part names as strings
22
+ */
23
+ type ComponentParts<T extends string> = {
24
+ [K in T]?: PartStyleProps;
25
+ };
26
+ /**
27
+ * Checkbox component parts
28
+ */
29
+ type CheckboxParts = ComponentParts<'root' | 'input' | 'box' | 'icon' | 'label'> & {
30
+ /** Root container */
31
+ root?: PartStyleProps;
32
+ /** Input element */
33
+ input?: PartStyleProps;
34
+ /** Checkbox box */
35
+ box?: PartStyleProps;
36
+ /** Check icon */
37
+ icon?: PartStyleProps;
38
+ /** Label text */
39
+ label?: PartStyleProps;
40
+ };
41
+ /**
42
+ * Radio component parts
43
+ */
44
+ type RadioParts = ComponentParts<'root' | 'input' | 'circle' | 'dot' | 'label'> & {
45
+ /** Root container */
46
+ root?: PartStyleProps;
47
+ /** Input element */
48
+ input?: PartStyleProps;
49
+ /** Radio circle */
50
+ circle?: PartStyleProps;
51
+ /** Inner dot */
52
+ dot?: PartStyleProps;
53
+ /** Label text */
54
+ label?: PartStyleProps;
55
+ };
56
+
57
+ /**
58
+ * Slot configuration with multiple rendering options
59
+ */
60
+ interface SlotProps<T = any> {
61
+ /** Static children to render */
62
+ children?: React$1.ReactNode;
63
+ /** Render function with access to slot props */
64
+ render?: (props: T) => React$1.ReactNode;
65
+ /** Custom component to render */
66
+ component?: React$1.ComponentType<T>;
67
+ }
68
+ /**
69
+ * Slot props for Checkbox component
70
+ */
71
+ interface CheckboxRootSlotProps {
72
+ className: string;
73
+ style?: React$1.CSSProperties;
74
+ children: React$1.ReactNode;
75
+ }
76
+ interface CheckboxInputSlotProps {
77
+ className: string;
78
+ style?: React$1.CSSProperties;
79
+ type: 'checkbox';
80
+ checked?: boolean;
81
+ onChange?: React$1.ChangeEventHandler<HTMLInputElement>;
82
+ disabled?: boolean;
83
+ required?: boolean;
84
+ id?: string;
85
+ name?: string;
86
+ value?: string;
87
+ 'aria-label'?: string;
88
+ 'aria-describedby'?: string;
89
+ 'aria-invalid'?: boolean;
90
+ }
91
+ interface CheckboxLabelSlotProps {
92
+ className: string;
93
+ style?: React$1.CSSProperties;
94
+ children: React$1.ReactNode;
95
+ htmlFor?: string;
96
+ }
97
+ /**
98
+ * Slot props for Radio component
99
+ */
100
+ interface RadioRootSlotProps {
101
+ className: string;
102
+ style?: React$1.CSSProperties;
103
+ children: React$1.ReactNode;
104
+ }
105
+ interface RadioInputSlotProps {
106
+ className: string;
107
+ style?: React$1.CSSProperties;
108
+ type: 'radio';
109
+ checked?: boolean;
110
+ onChange?: React$1.ChangeEventHandler<HTMLInputElement>;
111
+ disabled?: boolean;
112
+ required?: boolean;
113
+ id?: string;
114
+ name?: string;
115
+ value?: string;
116
+ 'aria-label'?: string;
117
+ 'aria-describedby'?: string;
118
+ 'aria-invalid'?: boolean;
119
+ }
120
+ interface RadioLabelSlotProps {
121
+ className: string;
122
+ style?: React$1.CSSProperties;
123
+ children: React$1.ReactNode;
124
+ htmlFor?: string;
125
+ }
126
+
127
+ /**
128
+ * Checkbox CSS Variables
129
+ */
130
+ declare const CHECKBOX_CSS_VARS: {
131
+ readonly '--atomix-checkbox-size': "checkbox size";
132
+ readonly '--atomix-checkbox-bg': "background color";
133
+ readonly '--atomix-checkbox-border-color': "border color";
134
+ readonly '--atomix-checkbox-border-width': "border width";
135
+ readonly '--atomix-checkbox-border-radius': "border radius";
136
+ readonly '--atomix-checkbox-transition': "transition";
137
+ readonly '--atomix-checkbox-checked-bg': "checked background";
138
+ readonly '--atomix-checkbox-checked-border-color': "checked border color";
139
+ readonly '--atomix-checkbox-hover-border-color': "hover border color";
140
+ readonly '--atomix-checkbox-focus-ring-color': "focus ring color";
141
+ readonly '--atomix-checkbox-focus-ring-width': "focus ring width";
142
+ readonly '--atomix-checkbox-disabled-opacity': "disabled opacity";
143
+ readonly '--atomix-checkbox-invalid-border-color': "invalid border color";
144
+ readonly '--atomix-checkbox-icon-size': "icon size";
145
+ readonly '--atomix-checkbox-icon-color': "icon color";
146
+ readonly '--atomix-checkbox-label-gap': "label spacing";
147
+ readonly '--atomix-checkbox-label-font-size': "label font size";
148
+ readonly '--atomix-checkbox-label-color': "label color";
149
+ };
150
+ /**
151
+ * Radio CSS Variables
152
+ */
153
+ declare const RADIO_CSS_VARS: {
154
+ readonly '--atomix-radio-size': "radio size";
155
+ readonly '--atomix-radio-bg': "background color";
156
+ readonly '--atomix-radio-border-color': "border color";
157
+ readonly '--atomix-radio-border-width': "border width";
158
+ readonly '--atomix-radio-transition': "transition";
159
+ readonly '--atomix-radio-checked-bg': "checked background";
160
+ readonly '--atomix-radio-checked-border-color': "checked border color";
161
+ readonly '--atomix-radio-hover-border-color': "hover border color";
162
+ readonly '--atomix-radio-focus-ring-color': "focus ring color";
163
+ readonly '--atomix-radio-focus-ring-width': "focus ring width";
164
+ readonly '--atomix-radio-disabled-opacity': "disabled opacity";
165
+ readonly '--atomix-radio-invalid-border-color': "invalid border color";
166
+ readonly '--atomix-radio-dot-size': "dot size";
167
+ readonly '--atomix-radio-dot-color': "dot color";
168
+ readonly '--atomix-radio-label-gap': "label spacing";
169
+ readonly '--atomix-radio-label-font-size': "label font size";
170
+ readonly '--atomix-radio-label-color': "label color";
171
+ };
172
+ type CheckboxCSSVariable = keyof typeof CHECKBOX_CSS_VARS;
173
+ type RadioCSSVariable = keyof typeof RADIO_CSS_VARS;
174
+
175
+ /**
176
+ * Displacement mode for glass effect
177
+ */
178
+ type DisplacementMode = 'standard' | 'polar' | 'prominent' | 'shader';
179
+ /**
180
+ * Mouse position coordinates
181
+ */
182
+ interface MousePosition {
183
+ x: number;
184
+ y: number;
185
+ }
186
+ /**
187
+ * OverLight configuration - can be boolean, 'auto', or object with settings
188
+ *
189
+ * @example
190
+ * // Boolean - explicit control
191
+ * overLight={true}
192
+ *
193
+ * @example
194
+ * // Auto-detection - automatically detects background brightness
195
+ * overLight="auto"
196
+ *
197
+ * @example
198
+ * // Object config - auto-detection with custom settings
199
+ * overLight={{
200
+ * threshold: 0.8,
201
+ * opacity: 0.6,
202
+ * contrast: 1.8,
203
+ * brightness: 1.0,
204
+ * saturationBoost: 1.5
205
+ * }}
206
+ */
207
+ type OverLightConfig = boolean | 'auto' | OverLightObjectConfig;
208
+ /**
209
+ * OverLight object configuration
210
+ *
211
+ * When using object mode, the component will auto-detect background brightness
212
+ * and apply the custom settings. All properties are optional and will use
213
+ * sensible defaults if not provided.
214
+ *
215
+ * @example
216
+ * // Minimal config - only threshold
217
+ * overLight={{ threshold: 0.8 }}
218
+ *
219
+ * @example
220
+ * // Full config with all properties
221
+ * overLight={{
222
+ * threshold: 0.75,
223
+ * opacity: 0.6,
224
+ * contrast: 1.8,
225
+ * brightness: 1.1,
226
+ * saturationBoost: 1.5
227
+ * }}
228
+ */
229
+ interface OverLightObjectConfig {
230
+ /**
231
+ * Luminance threshold for auto-detection (0.1 - 1.0)
232
+ *
233
+ * Backgrounds with average luminance above this threshold will be
234
+ * considered "light" and trigger overLight mode.
235
+ *
236
+ * @default 0.7
237
+ * @minimum 0.1
238
+ * @maximum 1.0
239
+ *
240
+ * @example
241
+ * // More sensitive detection (triggers on lighter backgrounds)
242
+ * threshold: 0.6
243
+ *
244
+ * @example
245
+ * // Less sensitive detection (only very light backgrounds)
246
+ * threshold: 0.85
247
+ */
248
+ threshold?: number;
249
+ /**
250
+ * Base opacity for overLight layers (0.1 - 1.0)
251
+ *
252
+ * Controls the opacity of the base and overlay layers when overLight
253
+ * mode is active. This value is multiplied by hover/active intensity
254
+ * multipliers for dynamic effects.
255
+ *
256
+ * @default 0.5 (dynamic, depends on hover/active state)
257
+ * @minimum 0.1
258
+ * @maximum 1.0
259
+ *
260
+ * @example
261
+ * // Subtle overlay
262
+ * opacity: 0.3
263
+ *
264
+ * @example
265
+ * // Strong overlay
266
+ * opacity: 0.7
267
+ */
268
+ opacity?: number;
269
+ /**
270
+ * Contrast enhancement multiplier (0.5 - 2.5)
271
+ *
272
+ * Increases the contrast of the glass effect for better visibility
273
+ * on light backgrounds. Higher values create more dramatic effects.
274
+ *
275
+ * @default 1.4 (dynamic, includes mouse influence)
276
+ * @minimum 0.5
277
+ * @maximum 2.5
278
+ *
279
+ * @example
280
+ * // Subtle contrast boost
281
+ * contrast: 1.2
282
+ *
283
+ * @example
284
+ * // High contrast for maximum visibility
285
+ * contrast: 2.0
286
+ */
287
+ contrast?: number;
288
+ /**
289
+ * Brightness adjustment multiplier (0.5 - 2.0)
290
+ *
291
+ * Adjusts the overall brightness of the glass effect. Values above 1.0
292
+ * brighten the effect, while values below 1.0 darken it.
293
+ *
294
+ * @default 0.85 (dynamic, includes mouse influence)
295
+ * @minimum 0.5
296
+ * @maximum 2.0
297
+ *
298
+ * @example
299
+ * // Neutral brightness
300
+ * brightness: 1.0
301
+ *
302
+ * @example
303
+ * // Brighter effect
304
+ * brightness: 1.2
305
+ */
306
+ brightness?: number;
307
+ /**
308
+ * Saturation boost multiplier (0.5 - 3.0)
309
+ *
310
+ * Enhances color saturation for more vibrant glass effects on light
311
+ * backgrounds. This works in conjunction with the base saturation prop.
312
+ *
313
+ * @default 1.3 (dynamic, includes mouse influence)
314
+ * @minimum 0.5
315
+ * @maximum 3.0
316
+ *
317
+ * @example
318
+ * // Moderate saturation boost
319
+ * saturationBoost: 1.2
320
+ *
321
+ * @example
322
+ * // High saturation for vivid effects
323
+ * saturationBoost: 2.0
324
+ */
325
+ saturationBoost?: number;
326
+ }
327
+ /**
328
+ * AtomixGlass component props interface
329
+ */
330
+ interface AtomixGlassProps {
331
+ children: React.ReactNode;
332
+ displacementScale?: number;
333
+ blurAmount?: number;
334
+ saturation?: number;
335
+ aberrationIntensity?: number;
336
+ elasticity?: number;
337
+ cornerRadius?: number;
338
+ globalMousePosition?: MousePosition;
339
+ mouseOffset?: MousePosition;
340
+ mouseContainer?: React.RefObject<HTMLElement | null> | null;
341
+ className?: string;
342
+ padding?: string;
343
+ style?: React.CSSProperties;
344
+ overLight?: OverLightConfig;
345
+ mode?: DisplacementMode;
346
+ onClick?: () => void;
347
+ /**
348
+ * Shader variant for shader mode
349
+ */
350
+ shaderVariant?: 'liquidGlass' | 'premiumGlass';
351
+ /**
352
+ * Accessibility props
353
+ */
354
+ 'aria-label'?: string;
355
+ 'aria-describedby'?: string;
356
+ role?: string;
357
+ tabIndex?: number;
358
+ /**
359
+ * Performance and accessibility options
360
+ */
361
+ reducedMotion?: boolean;
362
+ highContrast?: boolean;
363
+ disableEffects?: boolean;
364
+ enableLiquidBlur?: boolean;
365
+ enableBorderEffect?: boolean;
366
+ enableOverLightLayers?: boolean;
367
+ /**
368
+ * Performance monitoring
369
+ */
370
+ enablePerformanceMonitoring?: boolean;
371
+ /**
372
+ * Debug mode for cornerRadius extraction
373
+ */
374
+ debugCornerRadius?: boolean;
375
+ /**
376
+ * Debug mode for overLight detection and configuration
377
+ *
378
+ * When enabled, logs detailed information about:
379
+ * - Auto-detection results (luminance values, threshold comparison)
380
+ * - Final overLight configuration values
381
+ * - Detection timing and performance
382
+ *
383
+ * Useful for debugging auto-detection issues and fine-tuning thresholds.
384
+ *
385
+ * @default false
386
+ *
387
+ * @example
388
+ * <AtomixGlass overLight="auto" debugOverLight={true}>
389
+ * Content
390
+ * </AtomixGlass>
391
+ */
392
+ debugOverLight?: boolean;
393
+ }
394
+ /**
395
+ * Common component size options
396
+ */
397
+ type Size = 'sm' | 'md' | 'lg';
398
+ /**
399
+ * Theme color variants
400
+ */
401
+ type ThemeColor = 'primary' | 'secondary' | 'tertiary' | 'invert' | 'brand' | 'error' | 'success' | 'warning' | 'info' | 'light' | 'dark';
402
+ /**
403
+ * Base component properties interface
404
+ */
405
+ interface BaseComponentProps {
406
+ /**
407
+ * Additional CSS class names
408
+ */
409
+ className?: string;
410
+ /**
411
+ * Component disabled state
412
+ */
413
+ disabled?: boolean;
414
+ /**
415
+ * Component children
416
+ */
417
+ children?: ReactNode;
418
+ /**
419
+ * Inline style for the component root element
420
+ */
421
+ style?: React.CSSProperties;
422
+ }
423
+ /**
424
+ * Form component properties
425
+ */
426
+ interface FormProps extends BaseComponentProps {
427
+ /**
428
+ * Form content
429
+ */
430
+ children: ReactNode;
431
+ /**
432
+ * Form submit handler
433
+ */
434
+ onSubmit?: (event: React.FormEvent<HTMLFormElement>) => void;
435
+ /**
436
+ * Form reset handler
437
+ */
438
+ onReset?: (event: React.FormEvent<HTMLFormElement>) => void;
439
+ /**
440
+ * Form ID
441
+ */
442
+ id?: string;
443
+ /**
444
+ * Form method
445
+ */
446
+ method?: 'get' | 'post';
447
+ /**
448
+ * Form encoding type
449
+ */
450
+ encType?: string;
451
+ /**
452
+ * Whether to disable HTML5 validation
453
+ */
454
+ noValidate?: boolean;
455
+ /**
456
+ * Form autocomplete setting
457
+ */
458
+ autoComplete?: string;
459
+ }
460
+ /**
461
+ * Form Group component properties
462
+ */
463
+ interface FormGroupProps extends BaseComponentProps {
464
+ /**
465
+ * Form control content
466
+ */
467
+ children: ReactNode;
468
+ /**
469
+ * Label text
470
+ */
471
+ label?: string;
472
+ /**
473
+ * Helper text displayed below the input
474
+ */
475
+ helperText?: ReactNode;
476
+ /**
477
+ * ID of the form control this label is for
478
+ */
479
+ htmlFor?: string;
480
+ /**
481
+ * Whether the field is required
482
+ */
483
+ required?: boolean;
484
+ /**
485
+ * Whether the field is invalid
486
+ */
487
+ invalid?: boolean;
488
+ /**
489
+ * Whether the field is valid
490
+ */
491
+ valid?: boolean;
492
+ /**
493
+ * Size variant
494
+ */
495
+ size?: Size;
496
+ /**
497
+ * Error message to display
498
+ */
499
+ errorMessage?: string;
500
+ }
501
+ /**
502
+ * Input component properties
503
+ */
504
+ interface InputProps extends BaseComponentProps {
505
+ /**
506
+ * Input type
507
+ */
508
+ type?: string;
509
+ /**
510
+ * Input value
511
+ */
512
+ value?: string | number;
513
+ /**
514
+ * Change handler
515
+ */
516
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
517
+ /**
518
+ * Blur handler
519
+ */
520
+ onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
521
+ /**
522
+ * Focus handler
523
+ */
524
+ onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
525
+ /**
526
+ * Placeholder text
527
+ */
528
+ placeholder?: string;
529
+ /**
530
+ * Whether the input is required
531
+ */
532
+ required?: boolean;
533
+ /**
534
+ * Whether the input is read-only
535
+ */
536
+ readOnly?: boolean;
537
+ /**
538
+ * Input ID
539
+ */
540
+ id?: string;
541
+ /**
542
+ * Input name
543
+ */
544
+ name?: string;
545
+ /**
546
+ * Autocomplete attribute
547
+ */
548
+ autoComplete?: string;
549
+ /**
550
+ * Whether the input should receive focus on render
551
+ */
552
+ autoFocus?: boolean;
553
+ /**
554
+ * Size variant
555
+ */
556
+ size?: Size;
557
+ /**
558
+ * Color variant
559
+ */
560
+ variant?: ThemeColor;
561
+ /**
562
+ * Whether the input is invalid
563
+ */
564
+ invalid?: boolean;
565
+ /**
566
+ * Whether the input is valid
567
+ */
568
+ valid?: boolean;
569
+ /**
570
+ * Maximum length
571
+ */
572
+ maxLength?: number;
573
+ /**
574
+ * Minimum length
575
+ */
576
+ minLength?: number;
577
+ /**
578
+ * Input pattern
579
+ */
580
+ pattern?: string;
581
+ /**
582
+ * Minimum value (for number inputs)
583
+ */
584
+ min?: number | string;
585
+ /**
586
+ * Maximum value (for number inputs)
587
+ */
588
+ max?: number | string;
589
+ /**
590
+ * Step value (for number inputs)
591
+ */
592
+ step?: number | string;
593
+ /**
594
+ * Accessible label (if no visible label)
595
+ */
596
+ ariaLabel?: string;
597
+ /**
598
+ * ID of element that describes this input
599
+ */
600
+ ariaDescribedBy?: string;
601
+ /**
602
+ * Glass morphism effect
603
+ */
604
+ glass?: boolean | Omit<AtomixGlassProps, 'children'>;
605
+ /**
606
+ * Prefix icon (appears before the input)
607
+ */
608
+ prefixIcon?: React.ReactNode;
609
+ /**
610
+ * Suffix icon (appears after the input)
611
+ */
612
+ suffixIcon?: React.ReactNode;
613
+ /**
614
+ * Whether the input is clearable (shows clear button when value exists)
615
+ */
616
+ clearable?: boolean;
617
+ /**
618
+ * Handler for clear button click
619
+ */
620
+ onClear?: () => void;
621
+ /**
622
+ * Whether to show character counter
623
+ */
624
+ showCounter?: boolean;
625
+ /**
626
+ * Maximum character count for counter (uses maxLength if not provided)
627
+ */
628
+ maxCount?: number;
629
+ /**
630
+ * Whether password visibility toggle is enabled (for password inputs)
631
+ */
632
+ showPasswordToggle?: boolean;
633
+ /**
634
+ * Error message to display
635
+ */
636
+ errorMessage?: string;
637
+ /**
638
+ * Helper text to display
639
+ */
640
+ helperText?: string;
641
+ /**
642
+ * Whether the input should take full width
643
+ */
644
+ fullWidth?: boolean;
645
+ }
646
+ /**
647
+ * Select option
648
+ */
649
+ interface SelectOption {
650
+ /**
651
+ * Option value
652
+ */
653
+ value: string;
654
+ /**
655
+ * Option display label
656
+ */
657
+ label: string;
658
+ /**
659
+ * Whether the option is disabled
660
+ */
661
+ disabled?: boolean;
662
+ }
663
+ /**
664
+ * Select component properties
665
+ */
666
+ interface SelectProps extends BaseComponentProps {
667
+ /**
668
+ * Select options
669
+ */
670
+ options: SelectOption[];
671
+ /**
672
+ * Selected value(s)
673
+ */
674
+ value?: string | string[];
675
+ /**
676
+ * Change handler
677
+ */
678
+ onChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void;
679
+ /**
680
+ * Blur handler
681
+ */
682
+ onBlur?: (event: React.FocusEvent<HTMLSelectElement>) => void;
683
+ /**
684
+ * Focus handler
685
+ */
686
+ onFocus?: (event: React.FocusEvent<HTMLSelectElement>) => void;
687
+ /**
688
+ * Placeholder text
689
+ */
690
+ placeholder?: string;
691
+ /**
692
+ * Whether the select is required
693
+ */
694
+ required?: boolean;
695
+ /**
696
+ * Select ID
697
+ */
698
+ id?: string;
699
+ /**
700
+ * Select name
701
+ */
702
+ name?: string;
703
+ /**
704
+ * Size variant
705
+ */
706
+ size?: Size;
707
+ /**
708
+ * Whether the select is invalid
709
+ */
710
+ invalid?: boolean;
711
+ /**
712
+ * Whether the select is valid
713
+ */
714
+ valid?: boolean;
715
+ /**
716
+ * Whether multiple options can be selected
717
+ */
718
+ multiple?: boolean;
719
+ /**
720
+ * Accessible label (if no visible label)
721
+ */
722
+ ariaLabel?: string;
723
+ /**
724
+ * ID of element that describes this select
725
+ */
726
+ ariaDescribedBy?: string;
727
+ /**
728
+ * Glass morphism effect for the select
729
+ * Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
730
+ */
731
+ glass?: AtomixGlassProps | boolean;
732
+ /**
733
+ * Error message to display
734
+ */
735
+ errorMessage?: string;
736
+ /**
737
+ * Helper text to display
738
+ */
739
+ helperText?: string;
740
+ /**
741
+ * Whether the select should take full width
742
+ */
743
+ fullWidth?: boolean;
744
+ }
745
+ /**
746
+ * Checkbox component properties
747
+ */
748
+ interface CheckboxProps extends BaseComponentProps {
749
+ /**
750
+ * Checkbox label
751
+ */
752
+ label?: ReactNode;
753
+ /**
754
+ * Whether the checkbox is checked
755
+ */
756
+ checked?: boolean;
757
+ /**
758
+ * Change handler
759
+ */
760
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
761
+ /**
762
+ * Whether the checkbox is required
763
+ */
764
+ required?: boolean;
765
+ /**
766
+ * Checkbox ID
767
+ */
768
+ id?: string;
769
+ /**
770
+ * Checkbox name
771
+ */
772
+ name?: string;
773
+ /**
774
+ * Checkbox value
775
+ */
776
+ value?: string;
777
+ /**
778
+ * Whether the checkbox is invalid
779
+ */
780
+ invalid?: boolean;
781
+ /**
782
+ * Whether the checkbox is valid
783
+ */
784
+ valid?: boolean;
785
+ /**
786
+ * Whether the checkbox is in indeterminate state
787
+ */
788
+ indeterminate?: boolean;
789
+ /**
790
+ * Accessible label (if no visible label)
791
+ */
792
+ ariaLabel?: string;
793
+ /**
794
+ * ID of element that describes this checkbox
795
+ */
796
+ ariaDescribedBy?: string;
797
+ /**
798
+ * Glass morphism effect for the checkbox
799
+ * Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
800
+ */
801
+ glass?: AtomixGlassProps | boolean;
802
+ /**
803
+ * Error message to display
804
+ */
805
+ errorMessage?: string;
806
+ /**
807
+ * Helper text to display
808
+ */
809
+ helperText?: string;
810
+ /**
811
+ * Part-based styling for granular customization
812
+ * @example
813
+ * parts={{
814
+ * root: { className: 'custom-checkbox', style: { margin: '8px' } },
815
+ * input: { style: { accentColor: '#7AFFD7' } },
816
+ * label: { className: 'checkbox-label' }
817
+ * }}
818
+ */
819
+ parts?: CheckboxParts;
820
+ /**
821
+ * CSS variable overrides for runtime customization
822
+ * @example
823
+ * cssVars={{
824
+ * '--atomix-checkbox-size': '20px',
825
+ * '--atomix-checkbox-checked-bg': '#7AFFD7'
826
+ * }}
827
+ */
828
+ cssVars?: Partial<Record<CheckboxCSSVariable, string | number>>;
829
+ /**
830
+ * Slot-based customization for complete control
831
+ * @example
832
+ * slots={{
833
+ * root: { render: (props) => <motion.div {...props} /> },
834
+ * input: { component: CustomInput },
835
+ * label: { component: CustomLabel }
836
+ * }}
837
+ */
838
+ slots?: {
839
+ root?: SlotProps<CheckboxRootSlotProps>;
840
+ input?: SlotProps<CheckboxInputSlotProps>;
841
+ label?: SlotProps<CheckboxLabelSlotProps>;
842
+ };
843
+ }
844
+ /**
845
+ * Radio component properties
846
+ */
847
+ interface RadioProps extends BaseComponentProps {
848
+ /**
849
+ * Radio label
850
+ */
851
+ label?: ReactNode;
852
+ /**
853
+ * Whether the radio is checked
854
+ */
855
+ checked?: boolean;
856
+ /**
857
+ * Change handler
858
+ */
859
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
860
+ /**
861
+ * Whether the radio is required
862
+ */
863
+ required?: boolean;
864
+ /**
865
+ * Radio ID
866
+ */
867
+ id?: string;
868
+ /**
869
+ * Radio name
870
+ */
871
+ name?: string;
872
+ /**
873
+ * Radio value
874
+ */
875
+ value?: string;
876
+ /**
877
+ * Whether the radio is invalid
878
+ */
879
+ invalid?: boolean;
880
+ /**
881
+ * Whether the radio is valid
882
+ */
883
+ valid?: boolean;
884
+ /**
885
+ * Accessible label (if no visible label)
886
+ */
887
+ ariaLabel?: string;
888
+ /**
889
+ * ID of element that describes this radio
890
+ */
891
+ ariaDescribedBy?: string;
892
+ /**
893
+ * Glass morphism effect for the radio button
894
+ * Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
895
+ */
896
+ glass?: AtomixGlassProps | boolean;
897
+ /**
898
+ * Error message to display
899
+ */
900
+ errorMessage?: string;
901
+ /**
902
+ * Helper text to display
903
+ */
904
+ helperText?: string;
905
+ /**
906
+ * Part-based styling for granular customization
907
+ * @example
908
+ * parts={{
909
+ * root: { className: 'custom-radio', style: { margin: '8px' } },
910
+ * input: { style: { accentColor: '#7AFFD7' } },
911
+ * label: { className: 'radio-label' }
912
+ * }}
913
+ */
914
+ parts?: RadioParts;
915
+ /**
916
+ * CSS variable overrides for runtime customization
917
+ * @example
918
+ * cssVars={{
919
+ * '--atomix-radio-size': '20px',
920
+ * '--atomix-radio-checked-bg': '#7AFFD7'
921
+ * }}
922
+ */
923
+ cssVars?: Partial<Record<RadioCSSVariable, string | number>>;
924
+ /**
925
+ * Slot-based customization for complete control
926
+ * @example
927
+ * slots={{
928
+ * root: { render: (props) => <motion.div {...props} /> },
929
+ * input: { component: CustomInput },
930
+ * label: { component: CustomLabel }
931
+ * }}
932
+ */
933
+ slots?: {
934
+ root?: SlotProps<RadioRootSlotProps>;
935
+ input?: SlotProps<RadioInputSlotProps>;
936
+ label?: SlotProps<RadioLabelSlotProps>;
937
+ };
938
+ }
939
+ /**
940
+ * Textarea component properties
941
+ */
942
+ interface TextareaProps extends BaseComponentProps {
943
+ /**
944
+ * Textarea value
945
+ */
946
+ value?: string;
947
+ /**
948
+ * Change handler
949
+ */
950
+ onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;
951
+ /**
952
+ * Blur handler
953
+ */
954
+ onBlur?: (event: React.FocusEvent<HTMLTextAreaElement>) => void;
955
+ /**
956
+ * Focus handler
957
+ */
958
+ onFocus?: (event: React.FocusEvent<HTMLTextAreaElement>) => void;
959
+ /**
960
+ * Placeholder text
961
+ */
962
+ placeholder?: string;
963
+ /**
964
+ * Whether the textarea is required
965
+ */
966
+ required?: boolean;
967
+ /**
968
+ * Whether the textarea is read-only
969
+ */
970
+ readOnly?: boolean;
971
+ /**
972
+ * Textarea ID
973
+ */
974
+ id?: string;
975
+ /**
976
+ * Textarea name
977
+ */
978
+ name?: string;
979
+ /**
980
+ * Number of rows
981
+ */
982
+ rows?: number;
983
+ /**
984
+ * Number of columns
985
+ */
986
+ cols?: number;
987
+ /**
988
+ * Maximum length
989
+ */
990
+ maxLength?: number;
991
+ /**
992
+ * Minimum length
993
+ */
994
+ minLength?: number;
995
+ /**
996
+ * Size variant
997
+ */
998
+ size?: Size;
999
+ /**
1000
+ * Color variant
1001
+ */
1002
+ variant?: ThemeColor;
1003
+ /**
1004
+ * Whether the textarea is invalid
1005
+ */
1006
+ invalid?: boolean;
1007
+ /**
1008
+ * Whether the textarea is valid
1009
+ */
1010
+ valid?: boolean;
1011
+ /**
1012
+ * Whether the textarea should receive focus on render
1013
+ */
1014
+ autoFocus?: boolean;
1015
+ /**
1016
+ * Accessible label (if no visible label)
1017
+ */
1018
+ ariaLabel?: string;
1019
+ /**
1020
+ * ID of element that describes this textarea
1021
+ */
1022
+ ariaDescribedBy?: string;
1023
+ /**
1024
+ * Glass morphism effect
1025
+ */
1026
+ glass?: boolean | Omit<AtomixGlassProps, 'children'>;
1027
+ /**
1028
+ * Whether to show character counter
1029
+ */
1030
+ showCounter?: boolean;
1031
+ /**
1032
+ * Maximum character count for counter (uses maxLength if not provided)
1033
+ */
1034
+ maxCount?: number;
1035
+ /**
1036
+ * Error message to display
1037
+ */
1038
+ errorMessage?: string;
1039
+ /**
1040
+ * Helper text to display
1041
+ */
1042
+ helperText?: string;
1043
+ /**
1044
+ * Whether the textarea should take full width
1045
+ */
1046
+ fullWidth?: boolean;
1047
+ }
1048
+
1049
+ /**
1050
+ * Checkbox - A component for checkbox inputs
1051
+ */
1052
+ declare const Checkbox: React$1.FC<CheckboxProps>;
1053
+
1054
+ /**
1055
+ * Form - A component for creating form layouts
1056
+ */
1057
+ declare const Form: React$1.FC<FormProps>;
1058
+
1059
+ /**
1060
+ * FormGroup - A component for grouping form controls with labels and help text
1061
+ */
1062
+ declare const FormGroup: React$1.FC<FormGroupProps>;
1063
+
1064
+ /**
1065
+ * Input - A component for text input fields
1066
+ */
1067
+ declare const Input: React$1.MemoExoticComponent<React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>>;
1068
+
1069
+ /**
1070
+ * Radio - A component for radio button inputs
1071
+ */
1072
+ declare const Radio: React$1.FC<RadioProps>;
1073
+
1074
+ /**
1075
+ * Select - A component for dropdown selection
1076
+ */
1077
+ declare const Select: React$1.FC<SelectProps>;
1078
+
1079
+ /**
1080
+ * Textarea - A component for multiline text input
1081
+ */
1082
+ declare const Textarea: React$1.MemoExoticComponent<React$1.ForwardRefExoticComponent<TextareaProps & React$1.RefAttributes<HTMLTextAreaElement>>>;
1083
+
1084
+ export { Checkbox, Form, FormGroup, Input, Radio, Select, Textarea };
1085
+ export type { CheckboxProps, FormGroupProps, FormProps, InputProps, RadioProps, SelectProps, TextareaProps };