@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
@@ -1,364 +0,0 @@
1
- /**
2
- * White Label Manager
3
- *
4
- * Provides white labeling capabilities for themes
5
- */
6
-
7
- import type { Theme, ThemeOptions } from '../types';
8
- import { createTheme } from '../createTheme';
9
- import { extendTheme } from '../composeTheme';
10
-
11
- /**
12
- * Brand configuration
13
- */
14
- export interface BrandConfig {
15
- /** Brand name */
16
- name: string;
17
- /** Brand logo URL */
18
- logo?: string;
19
- /** Primary brand color */
20
- primaryColor?: string;
21
- /** Secondary brand color */
22
- secondaryColor?: string;
23
- /** Brand fonts */
24
- fonts?: {
25
- primary?: string;
26
- secondary?: string;
27
- };
28
- /** Brand favicon */
29
- favicon?: string;
30
- /** Custom CSS */
31
- customCSS?: string;
32
- /** Custom meta tags */
33
- metaTags?: Record<string, string>;
34
- }
35
-
36
- /**
37
- * White label configuration
38
- */
39
- export interface WhiteLabelConfig {
40
- /** Brand configuration */
41
- brand: BrandConfig;
42
- /** Theme overrides */
43
- themeOverrides?: Partial<ThemeOptions>;
44
- /** Component overrides */
45
- componentOverrides?: Record<string, any>;
46
- /** CSS variable overrides */
47
- cssVariableOverrides?: Record<string, string>;
48
- /** Enable DOM mutations (default: false for headless/server safety) */
49
- enableDOMOperations?: boolean;
50
- }
51
-
52
- /**
53
- * White Label Manager
54
- *
55
- * Manages white labeling for themes
56
- */
57
- export class WhiteLabelManager {
58
- private config: WhiteLabelConfig | null = null;
59
- private baseTheme: Theme | null = null;
60
-
61
- constructor(baseTheme?: Theme) {
62
- if (baseTheme) {
63
- this.baseTheme = baseTheme;
64
- }
65
- }
66
-
67
- /**
68
- * Set base theme
69
- */
70
- setBaseTheme(theme: Theme): void {
71
- this.baseTheme = theme;
72
- }
73
-
74
- /**
75
- * Configure white label
76
- */
77
- configure(config: WhiteLabelConfig): void {
78
- this.config = config;
79
- this.applyWhiteLabel();
80
- }
81
-
82
- /**
83
- * Get white labeled theme
84
- */
85
- getWhiteLabeledTheme(): Theme | null {
86
- if (!this.baseTheme || !this.config) {
87
- return this.baseTheme;
88
- }
89
-
90
- // Create theme with white label overrides
91
- const themeOptions: ThemeOptions = {
92
- ...this.baseTheme,
93
- name: this.config.brand.name,
94
- ...this.config.themeOverrides,
95
- palette: {
96
- ...this.baseTheme.palette,
97
- ...(this.config.brand.primaryColor && {
98
- primary: {
99
- ...this.baseTheme.palette.primary,
100
- main: this.config.brand.primaryColor,
101
- },
102
- }),
103
- ...(this.config.brand.secondaryColor && {
104
- secondary: {
105
- ...this.baseTheme.palette.secondary,
106
- main: this.config.brand.secondaryColor,
107
- },
108
- }),
109
- ...this.config.themeOverrides?.palette,
110
- },
111
- typography: {
112
- ...this.baseTheme.typography,
113
- ...(this.config.brand.fonts?.primary && {
114
- fontFamily: this.config.brand.fonts.primary,
115
- }),
116
- ...this.config.themeOverrides?.typography,
117
- },
118
- custom: {
119
- ...this.baseTheme.custom,
120
- whiteLabel: {
121
- brand: this.config.brand,
122
- componentOverrides: this.config.componentOverrides,
123
- cssVariableOverrides: this.config.cssVariableOverrides,
124
- },
125
- },
126
- };
127
-
128
- return createTheme(themeOptions);
129
- }
130
-
131
- /**
132
- * Apply white label to DOM
133
- */
134
- private applyWhiteLabel(): void {
135
- if (!this.config?.enableDOMOperations || typeof document === 'undefined') {
136
- return;
137
- }
138
-
139
- const { brand } = this.config;
140
-
141
- // Apply logo
142
- if (brand.logo) {
143
- this.applyLogo(brand.logo);
144
- }
145
-
146
- // Apply favicon
147
- if (brand.favicon) {
148
- this.applyFavicon(brand.favicon);
149
- }
150
-
151
- // Apply meta tags
152
- if (brand.metaTags) {
153
- this.applyMetaTags(brand.metaTags);
154
- }
155
-
156
- // Apply custom CSS
157
- if (brand.customCSS) {
158
- this.applyCustomCSS(brand.customCSS);
159
- }
160
-
161
- // Apply CSS variable overrides
162
- if (this.config.cssVariableOverrides) {
163
- this.applyCSSVariables(this.config.cssVariableOverrides);
164
- }
165
- }
166
-
167
- /**
168
- * Apply logo
169
- */
170
- applyLogo(logoUrl: string, selector?: string, element?: HTMLElement): void {
171
- if (!this.config?.enableDOMOperations || typeof document === 'undefined') {
172
- return;
173
- }
174
-
175
- // Find or create logo element
176
- let logoElement = element || (selector ? document.querySelector(selector) : null) as HTMLImageElement | null;
177
-
178
- if (!logoElement) {
179
- logoElement = document.querySelector('[data-whitelabel-logo]') as HTMLImageElement;
180
- }
181
-
182
- if (!logoElement) {
183
- logoElement = document.createElement('img');
184
- logoElement.setAttribute('data-whitelabel-logo', 'true');
185
- logoElement.style.maxHeight = '40px';
186
- logoElement.style.maxWidth = '200px';
187
-
188
- // Try to find a container (e.g., header, navbar)
189
- const container = selector
190
- ? document.querySelector(selector)
191
- : document.querySelector('header, [role="banner"], .navbar, .header');
192
-
193
- if (container) {
194
- container.insertBefore(logoElement, container.firstChild);
195
- } else {
196
- document.body.insertBefore(logoElement, document.body.firstChild);
197
- }
198
- }
199
-
200
- (logoElement as HTMLImageElement).src = logoUrl;
201
- (logoElement as HTMLImageElement).alt = this.config?.brand.name || 'Logo';
202
- }
203
-
204
- /**
205
- * Apply favicon
206
- */
207
- applyFavicon(faviconUrl: string, selector?: string): void {
208
- if (!this.config?.enableDOMOperations || typeof document === 'undefined') {
209
- return;
210
- }
211
-
212
- // Remove existing favicons
213
- const existingFavicons = document.querySelectorAll('link[rel="icon"], link[rel="shortcut icon"]');
214
- existingFavicons.forEach(favicon => favicon.remove());
215
-
216
- // Create new favicon link
217
- const link = document.createElement('link');
218
- link.rel = 'icon';
219
- link.type = 'image/x-icon';
220
- link.href = faviconUrl;
221
-
222
- const target = selector ? document.querySelector(selector) : document.head;
223
- if (target) {
224
- target.appendChild(link);
225
- }
226
- }
227
-
228
- /**
229
- * Apply meta tags
230
- */
231
- applyMetaTags(metaTags: Record<string, string>, selector?: string): void {
232
- if (!this.config?.enableDOMOperations || typeof document === 'undefined') {
233
- return;
234
- }
235
-
236
- const target = selector ? document.querySelector(selector) : document.head;
237
- if (!target) {
238
- return;
239
- }
240
-
241
- for (const [name, content] of Object.entries(metaTags)) {
242
- // Check if meta tag exists
243
- let metaElement = document.querySelector(`meta[name="${name}"]`) as HTMLMetaElement;
244
-
245
- if (!metaElement) {
246
- metaElement = document.createElement('meta');
247
- metaElement.name = name;
248
- target.appendChild(metaElement);
249
- }
250
-
251
- metaElement.content = content;
252
- }
253
- }
254
-
255
- /**
256
- * Apply custom CSS
257
- */
258
- applyCustomCSS(css: string, styleId?: string): void {
259
- if (!this.config?.enableDOMOperations || typeof document === 'undefined') {
260
- return;
261
- }
262
-
263
- const id = styleId || 'whitelabel-custom-css';
264
-
265
- // Remove existing white label CSS
266
- const existingStyle = document.getElementById(id);
267
- if (existingStyle) {
268
- existingStyle.remove();
269
- }
270
-
271
- // Create new style element
272
- const style = document.createElement('style');
273
- style.id = id;
274
- style.textContent = css;
275
- document.head.appendChild(style);
276
- }
277
-
278
- /**
279
- * Apply CSS variables
280
- */
281
- applyCSSVariables(variables: Record<string, string>, root?: HTMLElement | string): void {
282
- if (!this.config?.enableDOMOperations || typeof document === 'undefined') {
283
- return;
284
- }
285
-
286
- let targetElement: HTMLElement;
287
-
288
- if (typeof root === 'string') {
289
- const element = document.querySelector(root);
290
- if (!element || !(element instanceof HTMLElement)) {
291
- return;
292
- }
293
- targetElement = element;
294
- } else if (root instanceof HTMLElement) {
295
- targetElement = root;
296
- } else {
297
- targetElement = document.documentElement;
298
- }
299
-
300
- for (const [key, value] of Object.entries(variables)) {
301
- targetElement.style.setProperty(key.startsWith('--') ? key : `--${key}`, value);
302
- }
303
- }
304
-
305
- /**
306
- * Remove white label
307
- */
308
- removeWhiteLabel(): void {
309
- // Remove logo
310
- const logo = document.querySelector('[data-whitelabel-logo]');
311
- logo?.remove();
312
-
313
- // Remove custom CSS
314
- const customCSS = document.getElementById('whitelabel-custom-css');
315
- customCSS?.remove();
316
-
317
- // Remove CSS variables (would need to track original values)
318
- if (this.config?.cssVariableOverrides) {
319
- const root = document.documentElement;
320
- for (const key of Object.keys(this.config.cssVariableOverrides)) {
321
- root.style.removeProperty(key.startsWith('--') ? key : `--${key}`);
322
- }
323
- }
324
-
325
- this.config = null;
326
- }
327
-
328
- /**
329
- * Get current configuration
330
- */
331
- getConfig(): WhiteLabelConfig | null {
332
- return this.config;
333
- }
334
-
335
- /**
336
- * Export configuration
337
- */
338
- exportConfig(): string {
339
- if (!this.config) {
340
- throw new Error('No white label configuration to export');
341
- }
342
-
343
- return JSON.stringify(this.config, null, 2);
344
- }
345
-
346
- /**
347
- * Import configuration
348
- */
349
- importConfig(json: string): void {
350
- try {
351
- const config = JSON.parse(json) as WhiteLabelConfig;
352
- this.configure(config);
353
- } catch (error) {
354
- throw new Error(`Failed to import white label configuration: ${error instanceof Error ? error.message : String(error)}`);
355
- }
356
- }
357
- }
358
-
359
- /**
360
- * Create white label manager
361
- */
362
- export function createWhiteLabelManager(baseTheme?: Theme): WhiteLabelManager {
363
- return new WhiteLabelManager(baseTheme);
364
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * White Label Module
3
- */
4
-
5
- export * from './WhiteLabelManager';
6
- export {
7
- WhiteLabelManager,
8
- createWhiteLabelManager,
9
- } from './WhiteLabelManager';
10
- export type {
11
- BrandConfig,
12
- WhiteLabelConfig,
13
- } from './WhiteLabelManager';
@@ -1,74 +0,0 @@
1
- # Atomix Theme Checklist
2
-
3
- Use this checklist when creating or updating a theme to align with Atomix guidelines (Rollup, Storybook 8, Vitest, ITCSS-like SCSS).
4
-
5
- ## 1) Structure and Entrypoint
6
- - [ ] Theme folder under `src/themes/<theme-name>/`
7
- - [ ] `index.scss` uses ITCSS order and forwards local overrides:
8
- ```text
9
- // Local settings override base
10
- @use '01-settings/index' as *;
11
- // Tools
12
- @use '02-tools/index' as *;
13
- @use '../../styles/02-tools/index' as tools;
14
- // Generic
15
- @use '03-generic/index' as *;
16
- @use '../../styles/03-generic/index' as generic;
17
- // Elements
18
- @use '04-elements/index' as *;
19
- @use '../../styles/04-elements/index' as elements;
20
- // Objects
21
- @use '05-objects/index' as *;
22
- @use '../../styles/05-objects/index' as objects;
23
- // Components
24
- @use '06-components/index' as *;
25
- @use '../../styles/06-components/index';
26
- // Utilities
27
- @use '99-utilities/index' as *;
28
- @use '../../styles/99-utilities/index' as utilities;
29
- ```
30
- - [ ] Exceptions (e.g., namespaced `@use`) are documented in a README inside the theme.
31
-
32
- ## 2) Tokens and Settings Coverage
33
- - [ ] Colors: 1–10 scale for primary, neutral (gray), and any accent palettes
34
- - [ ] settings.config (prefix, env), spacing, breakpoints, typography
35
- - [ ] Component settings: button, input, card, nav, tabs, tooltip/popover, modal, forms
36
- - [ ] Prefer `@forward` in `01-settings/_index.scss` to keep `index.scss` clean.
37
-
38
- ## 3) Theming Conventions
39
- - [ ] Data attributes/classes:
40
- - `data-theme="<theme-name>"` on `body` or `html`
41
- - `data-atomix-color-mode="light|dark"` on `html`
42
- - [ ] BEM-like class naming for components (e.g., `c-button`, `c-accordion`)
43
- - [ ] Avoid global overrides; prefer component-scoped tokens/utilities.
44
-
45
- ## 4) Accessibility (A11y)
46
- - [ ] Contrast: ≥ 4.5:1 normal text, ≥ 3.0:1 large text
47
- - [ ] Focus visible and keyboard nav clearly styled in both color modes
48
- - [ ] Form controls: placeholder, helper text meet contrast
49
- - [ ] Record a11y state in `src/themes/themes.config.js` (`a11y` and `status` fields)
50
-
51
- ## 5) Performance
52
- - [ ] Heavy effects (blur/backdrop-filter) are opt-in and scoped
53
- - [ ] Limit CSS custom properties; group by prefix, keep under ~500 per theme
54
- - [ ] Avoid duplicate declarations; rely on base utilities where possible
55
-
56
- ## 6) Build and Distribution
57
- - [ ] `index.scss` compiles via `yarn build:styles` to `dist/themes/<theme>.css` and `.min.css`
58
- - [ ] Test import from package: `@shohojdhara/atomix/themes/<theme>.css`
59
- - [ ] Update `themes.config.js` metadata (name, version, tags, a11y, status)
60
-
61
- ## 7) Storybook
62
- - [ ] Theme selectable via toolbar in `.storybook/preview.tsx`
63
- - [ ] If using custom switcher, read theme list from shared source to avoid drift
64
- - [ ] Provide a few Storybook stories showcasing theme-specific overrides (Buttons, Cards, Nav, Forms)
65
-
66
- ## 8) Testing
67
- - [ ] Add or update minimal visual smoke tests in Storybook (manual)
68
- - [ ] For unit tests (optional): follow Vitest API (`vi.*`), not Jest
69
- - [ ] Run: `yarn dev` and validate main components under both color modes
70
-
71
- ## 9) Documentation
72
- - [ ] Add theme README with design intent, palette examples, and any exceptions from the standard import pattern
73
- - [ ] Link to the Themes Guide: `src/themes/README.md`
74
-
@@ -1,24 +0,0 @@
1
- /*!
2
- * Applemix Theme Settings Index
3
- * Apple Mac OS 2026 Liquid Glass inspired settings
4
- */
5
-
6
- // Modern Sass module system with namespaced imports
7
- @use 'settings.config' as config;
8
- @use 'settings.colors' as colors;
9
- @use 'settings.typography' as typography;
10
- @use 'settings.animations' as anim;
11
- @use 'settings.background' as bg;
12
-
13
- // Export all modules for backward compatibility
14
- @forward 'settings.config';
15
- @forward 'settings.colors';
16
- @forward 'settings.typography';
17
- @forward 'settings.animations';
18
- @forward 'settings.background';
19
-
20
- // Forward core token groups from base theme for proper coverage
21
- @forward '../../../styles/01-settings/settings.spacing';
22
- @forward '../../../styles/01-settings/settings.breakpoints';
23
- @forward '../../../styles/01-settings/settings.border';
24
- @forward '../../../styles/01-settings/settings.border-radius';
@@ -1,6 +0,0 @@
1
- @use '../../../styles/01-settings/settings.background' with (
2
- $background-enable-gradient-overlay: false,
3
- $background-transparency-enable: true,
4
- $background-enable-with-shadow: false,
5
- $background-transparency: 0.5
6
- );
@@ -1,75 +0,0 @@
1
- /*!
2
- * Applemix Theme Colors
3
- * Apple Mac OS 2026 Liquid Glass inspired color palette
4
- * Features transparency, depth, and chromatic effects
5
- */
6
-
7
- @use 'sass:color';
8
- @use '../../../styles/02-tools/tools.to-rgb' as *;
9
- @use '../../../styles/02-tools/tools.color-functions' as *;
10
- @use '../../../styles/01-settings/settings.colors' with (
11
- $white: #ffffff,
12
- $black: #000000,
13
- $color-contrast-dark: #1d1d1f,
14
- $color-contrast-light: #f5f5f7,
15
- $red-1: #fff5f5,
16
- $red-2: #ffe3e3,
17
- $red-3: #ffc9c9,
18
- $red-4: #ff9f9f,
19
- $red-5: #ff6b6b,
20
- $red-6: #ff3b30,
21
- $red-7: #d70015,
22
- $red-8: #a50000,
23
- $red-9: #750000,
24
- $red-10: #4a0000,
25
- $green-1: #f0fff4,
26
- $green-2: #dcfce7,
27
- $green-3: #bbf7d0,
28
- $green-4: #86efac,
29
- $green-5: #4ade80,
30
- $green-6: #30d158,
31
- $green-7: #28cd41,
32
- $green-8: #20a934,
33
- $green-9: #198527,
34
- $green-10: #12611a,
35
- $yellow-1: #fffbf0,
36
- $yellow-2: #fff3c4,
37
- $yellow-3: #ffe066,
38
- $yellow-4: #ffcc02,
39
- $yellow-5: #ffb000,
40
- $yellow-6: #ff9500,
41
- $yellow-7: #ff8c00,
42
- $yellow-8: #e67300,
43
- $yellow-9: #cc5500,
44
- $yellow-10: #b33c00,
45
- $blue-1: #f0f8ff,
46
- $blue-2: #e1f2ff,
47
- $blue-3: #c7e9ff,
48
- $blue-4: #9dd7ff,
49
- $blue-5: #64c7ff,
50
- $blue-6: #007aff,
51
- $blue-7: #0056d6,
52
- $blue-8: #003d99,
53
- $blue-9: #002966,
54
- $blue-10: #001a44,
55
- $gray-1: #fafafa,
56
- $gray-2: #f5f5f7,
57
- $gray-3: #e5e5e7,
58
- $gray-4: #d1d1d6,
59
- $gray-5: #aeaeb2,
60
- $gray-6: #8e8e93,
61
- $gray-7: #636366,
62
- $gray-8: #48484a,
63
- $gray-9: #2c2c2e,
64
- $gray-10: #1c1c1e,
65
- $primary-1: #f0f8ff,
66
- $primary-2: #e1f2ff,
67
- $primary-3: #c7e9ff,
68
- $primary-4: #9dd7ff,
69
- $primary-5: #64c7ff,
70
- $primary-6: #007aff,
71
- $primary-7: #0056d6,
72
- $primary-8: #003d99,
73
- $primary-9: #002966,
74
- $primary-10: #001a44
75
- );
@@ -1,15 +0,0 @@
1
- /*!
2
- * Applemix Theme Configuration
3
- * Core configuration variables for the Apple-inspired liquid glass theme
4
- */
5
-
6
- @use '../../../styles/01-settings/settings.config' with (
7
- $prefix: 'atomix-'
8
- );
9
- // Environment configuration
10
- $ENV: 'dev';
11
-
12
- // CSS variable prefix for theme namespacing
13
- $theme-name: 'applemix';
14
- $theme-version: '1.0.0';
15
- $theme-author: 'Atomix Design System';
@@ -1,30 +0,0 @@
1
- /*!
2
- * Applemix Theme Typography
3
- * Apple-inspired typography system with modern scaling
4
- * Optimized for liquid glass interfaces and readability
5
- */
6
-
7
- @use '../../../styles/01-settings/settings.typography' with (
8
- // Apple-inspired font families
9
- $font-family-base: (
10
- -apple-system,
11
- BlinkMacSystemFont,
12
- 'SF Pro Display',
13
- 'SF Pro Text',
14
- 'Helvetica Neue',
15
- Helvetica,
16
- Arial,
17
- sans-serif
18
- ),
19
- // Apple-style font weights
20
- $font-weight-light: 300,
21
- $font-weight-normal: 400,
22
- $font-weight-medium: 500,
23
- $font-weight-semibold: 600,
24
- $font-weight-bold: 700,
25
- $font-weight-heavy: 800,
26
- $font-weight-black: 900,
27
- // Base typography settings
28
- $font-size-base: 1rem,
29
- $line-height-base: 1.47
30
- );
@@ -1,4 +0,0 @@
1
- /*!
2
- * Applemix Theme Tools Index
3
- * Apple Mac OS 2026 Liquid Glass inspired tools
4
- */
@@ -1,7 +0,0 @@
1
- /*!
2
- * Applemix Theme Generic Styles Index
3
- * Generic styles and resets for the liquid glass theme
4
- */
5
-
6
- // Forward base generic styles from the main design system
7
- @forward '../../../styles/03-generic/index';
@@ -1,7 +0,0 @@
1
- /*!
2
- * Applemix Theme Element Styles Index
3
- * Base element styles with liquid glass enhancements
4
- */
5
-
6
- // Forward base element styles from the main design system
7
- @forward '../../../styles/04-elements/index';
@@ -1,7 +0,0 @@
1
- /*!
2
- * Applemix Theme Object Styles Index
3
- * Layout objects and structural components with glass effects
4
- */
5
-
6
- // Forward base object styles from the main design system
7
- @forward '../../../styles/05-objects/index';
@@ -1,15 +0,0 @@
1
- /*!
2
- * Applemix Theme Components Index
3
- * Component styles with liquid glass enhancements
4
- */
5
-
6
- // Component overrides with Apple-inspired glass effects
7
- // @forward 'components.button';
8
- // @forward 'components.card';
9
- // @forward 'components.form';
10
- // @forward 'components.navbar';
11
- // @forward 'components.modal';
12
- // @forward 'components.footer';
13
-
14
- // Forward base component styles from the main design system
15
- @forward '../../../styles/06-components/index';
@@ -1,7 +0,0 @@
1
- /*!
2
- * Applemix Theme Utilities Index
3
- * Utility classes with liquid glass effects
4
- */
5
-
6
- // Forward base utility styles from the main design system
7
- @forward '../../../styles/99-utilities/index';