nucleus-core-ts 0.8.0

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 (415) hide show
  1. package/LICENSE +48 -0
  2. package/README.md +177 -0
  3. package/dist/client.d.ts +2 -0
  4. package/dist/client.js +1 -0
  5. package/dist/dist/index-0yyw12k6.d.ts +8 -0
  6. package/dist/dist/index-tv67j5qd.d.ts +488 -0
  7. package/dist/dist/index.d.ts +40 -0
  8. package/dist/fe/components/AbstractAnimatedBackground/index.d.ts +7 -0
  9. package/dist/fe/components/AuthorizationPage/components/AuthorizationPage.d.ts +3 -0
  10. package/dist/fe/components/AuthorizationPage/components/ClaimList.d.ts +3 -0
  11. package/dist/fe/components/AuthorizationPage/components/RoleClaimEditor.d.ts +3 -0
  12. package/dist/fe/components/AuthorizationPage/components/RoleList.d.ts +3 -0
  13. package/dist/fe/components/AuthorizationPage/index.d.ts +9 -0
  14. package/dist/fe/components/AuthorizationPage/store/index.d.ts +47 -0
  15. package/dist/fe/components/AuthorizationPage/theme/index.d.ts +82 -0
  16. package/dist/fe/components/AuthorizationPage/types/index.d.ts +64 -0
  17. package/dist/fe/components/Button/components/Button.d.ts +3 -0
  18. package/dist/fe/components/Button/components/ButtonSpinner.d.ts +3 -0
  19. package/dist/fe/components/Button/index.d.ts +6 -0
  20. package/dist/fe/components/Button/theme/index.d.ts +183 -0
  21. package/dist/fe/components/Button/types/index.d.ts +24 -0
  22. package/dist/fe/components/Button/utils/cn.d.ts +3 -0
  23. package/dist/fe/components/Captcha/components/Captcha.d.ts +4 -0
  24. package/dist/fe/components/Captcha/index.d.ts +4 -0
  25. package/dist/fe/components/Captcha/theme.d.ts +53 -0
  26. package/dist/fe/components/Captcha/types.d.ts +60 -0
  27. package/dist/fe/components/ChangePasswordPage/components/ChangePasswordForm.d.ts +4 -0
  28. package/dist/fe/components/ChangePasswordPage/components/ChangePasswordHeader.d.ts +4 -0
  29. package/dist/fe/components/ChangePasswordPage/components/ChangePasswordPage.d.ts +4 -0
  30. package/dist/fe/components/ChangePasswordPage/index.d.ts +7 -0
  31. package/dist/fe/components/ChangePasswordPage/store/index.d.ts +16 -0
  32. package/dist/fe/components/ChangePasswordPage/theme/index.d.ts +48 -0
  33. package/dist/fe/components/ChangePasswordPage/types/index.d.ts +56 -0
  34. package/dist/fe/components/Checkbox/components/Checkbox.d.ts +3 -0
  35. package/dist/fe/components/Checkbox/components/CheckboxIcon.d.ts +3 -0
  36. package/dist/fe/components/Checkbox/components/SwitchTrack.d.ts +3 -0
  37. package/dist/fe/components/Checkbox/index.d.ts +7 -0
  38. package/dist/fe/components/Checkbox/theme/index.d.ts +218 -0
  39. package/dist/fe/components/Checkbox/types/index.d.ts +39 -0
  40. package/dist/fe/components/Checkbox/utils/cn.d.ts +3 -0
  41. package/dist/fe/components/DataTable/DataTable.d.ts +3 -0
  42. package/dist/fe/components/DataTable/components/ActionCell.d.ts +10 -0
  43. package/dist/fe/components/DataTable/components/DataCell.d.ts +18 -0
  44. package/dist/fe/components/DataTable/components/EditableCell.d.ts +14 -0
  45. package/dist/fe/components/DataTable/components/EmptyState.d.ts +8 -0
  46. package/dist/fe/components/DataTable/components/HeaderCell.d.ts +16 -0
  47. package/dist/fe/components/DataTable/components/InfiniteScrollTrigger.d.ts +11 -0
  48. package/dist/fe/components/DataTable/components/LoadingSpinner.d.ts +7 -0
  49. package/dist/fe/components/DataTable/components/ResizeHandle.d.ts +9 -0
  50. package/dist/fe/components/DataTable/components/SelectionCell.d.ts +9 -0
  51. package/dist/fe/components/DataTable/components/SkeletonRow.d.ts +9 -0
  52. package/dist/fe/components/DataTable/components/SkeletonTable.d.ts +10 -0
  53. package/dist/fe/components/DataTable/components/SortIcon.d.ts +9 -0
  54. package/dist/fe/components/DataTable/components/TableHeader.d.ts +20 -0
  55. package/dist/fe/components/DataTable/components/TableRow.d.ts +20 -0
  56. package/dist/fe/components/DataTable/components/index.d.ts +15 -0
  57. package/dist/fe/components/DataTable/hooks/index.d.ts +3 -0
  58. package/dist/fe/components/DataTable/hooks/useAutoFitColumn.d.ts +8 -0
  59. package/dist/fe/components/DataTable/hooks/useResizeColumn.d.ts +12 -0
  60. package/dist/fe/components/DataTable/index.d.ts +6 -0
  61. package/dist/fe/components/DataTable/store/index.d.ts +52 -0
  62. package/dist/fe/components/DataTable/theme/index.d.ts +131 -0
  63. package/dist/fe/components/DataTable/types/index.d.ts +151 -0
  64. package/dist/fe/components/DataTable/utils/cn.d.ts +3 -0
  65. package/dist/fe/components/DatePicker/components/CalendarGrid.d.ts +3 -0
  66. package/dist/fe/components/DatePicker/components/CalendarHeader.d.ts +3 -0
  67. package/dist/fe/components/DatePicker/components/DatePicker.d.ts +3 -0
  68. package/dist/fe/components/DatePicker/components/MonthYearSelector.d.ts +10 -0
  69. package/dist/fe/components/DatePicker/index.d.ts +10 -0
  70. package/dist/fe/components/DatePicker/locales/index.d.ts +5 -0
  71. package/dist/fe/components/DatePicker/theme/index.d.ts +312 -0
  72. package/dist/fe/components/DatePicker/types/index.d.ts +88 -0
  73. package/dist/fe/components/DatePicker/utils/cn.d.ts +3 -0
  74. package/dist/fe/components/DatePicker/utils/date.d.ts +21 -0
  75. package/dist/fe/components/DevicesPage/components/DeviceCard.d.ts +4 -0
  76. package/dist/fe/components/DevicesPage/components/DevicesHeader.d.ts +4 -0
  77. package/dist/fe/components/DevicesPage/components/DevicesPage.d.ts +4 -0
  78. package/dist/fe/components/DevicesPage/index.d.ts +8 -0
  79. package/dist/fe/components/DevicesPage/store/index.d.ts +20 -0
  80. package/dist/fe/components/DevicesPage/theme/index.d.ts +92 -0
  81. package/dist/fe/components/DevicesPage/types/index.d.ts +147 -0
  82. package/dist/fe/components/ForgotPasswordPage/components/ForgotPasswordForm.d.ts +4 -0
  83. package/dist/fe/components/ForgotPasswordPage/components/ForgotPasswordHeader.d.ts +4 -0
  84. package/dist/fe/components/ForgotPasswordPage/components/ForgotPasswordPage.d.ts +4 -0
  85. package/dist/fe/components/ForgotPasswordPage/index.d.ts +7 -0
  86. package/dist/fe/components/ForgotPasswordPage/store/index.d.ts +14 -0
  87. package/dist/fe/components/ForgotPasswordPage/theme/index.d.ts +48 -0
  88. package/dist/fe/components/ForgotPasswordPage/types/index.d.ts +48 -0
  89. package/dist/fe/components/FormBuilder/components/FormBuilder.d.ts +3 -0
  90. package/dist/fe/components/FormBuilder/components/FormField.d.ts +3 -0
  91. package/dist/fe/components/FormBuilder/hooks/useFormBuilder.d.ts +3 -0
  92. package/dist/fe/components/FormBuilder/index.d.ts +6 -0
  93. package/dist/fe/components/FormBuilder/theme/index.d.ts +136 -0
  94. package/dist/fe/components/FormBuilder/types/index.d.ts +150 -0
  95. package/dist/fe/components/FormBuilder/utils/cn.d.ts +3 -0
  96. package/dist/fe/components/FormBuilder/utils/fieldMapping.d.ts +12 -0
  97. package/dist/fe/components/FormBuilder/utils/validation.d.ts +11 -0
  98. package/dist/fe/components/LoginPage/components/LoginForm.d.ts +4 -0
  99. package/dist/fe/components/LoginPage/components/LoginHeader.d.ts +4 -0
  100. package/dist/fe/components/LoginPage/components/LoginPage.d.ts +4 -0
  101. package/dist/fe/components/LoginPage/index.d.ts +8 -0
  102. package/dist/fe/components/LoginPage/store/index.d.ts +22 -0
  103. package/dist/fe/components/LoginPage/theme/index.d.ts +55 -0
  104. package/dist/fe/components/LoginPage/types/index.d.ts +129 -0
  105. package/dist/fe/components/MagicLinkVerifyPage/components/MagicLinkVerifyPage.d.ts +4 -0
  106. package/dist/fe/components/MagicLinkVerifyPage/index.d.ts +5 -0
  107. package/dist/fe/components/MagicLinkVerifyPage/store.d.ts +15 -0
  108. package/dist/fe/components/MagicLinkVerifyPage/theme.d.ts +37 -0
  109. package/dist/fe/components/MagicLinkVerifyPage/types.d.ts +35 -0
  110. package/dist/fe/components/NucleusEntityShowcase.d.ts +3 -0
  111. package/dist/fe/components/NucleusTextInput/components/FloatingLabel.d.ts +3 -0
  112. package/dist/fe/components/NucleusTextInput/components/InputIcons.d.ts +15 -0
  113. package/dist/fe/components/NucleusTextInput/components/NucleusTextInput.d.ts +3 -0
  114. package/dist/fe/components/NucleusTextInput/components/PasswordStrengthIndicator.d.ts +15 -0
  115. package/dist/fe/components/NucleusTextInput/components/TypewriterText.d.ts +3 -0
  116. package/dist/fe/components/NucleusTextInput/index.d.ts +11 -0
  117. package/dist/fe/components/NucleusTextInput/theme/index.d.ts +108 -0
  118. package/dist/fe/components/NucleusTextInput/types/index.d.ts +65 -0
  119. package/dist/fe/components/NucleusTextInput/utils/cn.d.ts +3 -0
  120. package/dist/fe/components/NucleusTextInput/utils/format.d.ts +8 -0
  121. package/dist/fe/components/NucleusTextInput/utils/validation.d.ts +23 -0
  122. package/dist/fe/components/ProfilePage/components/AddressCard.d.ts +4 -0
  123. package/dist/fe/components/ProfilePage/components/PhoneCard.d.ts +4 -0
  124. package/dist/fe/components/ProfilePage/components/ProfileHeader.d.ts +4 -0
  125. package/dist/fe/components/ProfilePage/components/ProfilePage.d.ts +4 -0
  126. package/dist/fe/components/ProfilePage/index.d.ts +10 -0
  127. package/dist/fe/components/ProfilePage/store/index.d.ts +37 -0
  128. package/dist/fe/components/ProfilePage/theme/index.d.ts +101 -0
  129. package/dist/fe/components/ProfilePage/types/index.d.ts +150 -0
  130. package/dist/fe/components/RangePicker/components/RangePicker.d.ts +3 -0
  131. package/dist/fe/components/RangePicker/components/RangeThumb.d.ts +3 -0
  132. package/dist/fe/components/RangePicker/components/RangeTooltip.d.ts +3 -0
  133. package/dist/fe/components/RangePicker/components/RangeTrack.d.ts +3 -0
  134. package/dist/fe/components/RangePicker/index.d.ts +8 -0
  135. package/dist/fe/components/RangePicker/theme/index.d.ts +90 -0
  136. package/dist/fe/components/RangePicker/types/index.d.ts +66 -0
  137. package/dist/fe/components/RangePicker/utils/cn.d.ts +3 -0
  138. package/dist/fe/components/RegisterPage/components/PasswordStrengthIndicator.d.ts +14 -0
  139. package/dist/fe/components/RegisterPage/components/RegisterForm.d.ts +4 -0
  140. package/dist/fe/components/RegisterPage/components/RegisterHeader.d.ts +4 -0
  141. package/dist/fe/components/RegisterPage/components/RegisterPage.d.ts +4 -0
  142. package/dist/fe/components/RegisterPage/index.d.ts +9 -0
  143. package/dist/fe/components/RegisterPage/store/index.d.ts +19 -0
  144. package/dist/fe/components/RegisterPage/theme/index.d.ts +81 -0
  145. package/dist/fe/components/RegisterPage/types/index.d.ts +141 -0
  146. package/dist/fe/components/ResetPasswordPage/components/ResetPasswordForm.d.ts +4 -0
  147. package/dist/fe/components/ResetPasswordPage/components/ResetPasswordHeader.d.ts +4 -0
  148. package/dist/fe/components/ResetPasswordPage/components/ResetPasswordPage.d.ts +4 -0
  149. package/dist/fe/components/ResetPasswordPage/index.d.ts +7 -0
  150. package/dist/fe/components/ResetPasswordPage/store/index.d.ts +15 -0
  151. package/dist/fe/components/ResetPasswordPage/theme/index.d.ts +56 -0
  152. package/dist/fe/components/ResetPasswordPage/types/index.d.ts +50 -0
  153. package/dist/fe/components/SearchBox/components/SearchBox.d.ts +3 -0
  154. package/dist/fe/components/SearchBox/components/SearchBoxDropdown.d.ts +3 -0
  155. package/dist/fe/components/SearchBox/index.d.ts +8 -0
  156. package/dist/fe/components/SearchBox/theme/index.d.ts +141 -0
  157. package/dist/fe/components/SearchBox/types/index.d.ts +47 -0
  158. package/dist/fe/components/SearchBox/utils/cn.d.ts +3 -0
  159. package/dist/fe/components/SearchBox/utils/debounce.d.ts +5 -0
  160. package/dist/fe/components/SearchBox/utils/sanitize.d.ts +9 -0
  161. package/dist/fe/components/SelectBox/components/SelectBox.d.ts +3 -0
  162. package/dist/fe/components/SelectBox/components/SelectDropdown.d.ts +6 -0
  163. package/dist/fe/components/SelectBox/components/SelectOptionItem.d.ts +3 -0
  164. package/dist/fe/components/SelectBox/components/SelectTrigger.d.ts +5 -0
  165. package/dist/fe/components/SelectBox/index.d.ts +8 -0
  166. package/dist/fe/components/SelectBox/theme/index.d.ts +100 -0
  167. package/dist/fe/components/SelectBox/types/index.d.ts +66 -0
  168. package/dist/fe/components/SelectBox/utils/cn.d.ts +3 -0
  169. package/dist/fe/components/SetPasswordPage/components/PasswordStrengthIndicator.d.ts +14 -0
  170. package/dist/fe/components/SetPasswordPage/components/SetPasswordForm.d.ts +4 -0
  171. package/dist/fe/components/SetPasswordPage/components/SetPasswordHeader.d.ts +4 -0
  172. package/dist/fe/components/SetPasswordPage/components/SetPasswordPage.d.ts +4 -0
  173. package/dist/fe/components/SetPasswordPage/index.d.ts +9 -0
  174. package/dist/fe/components/SetPasswordPage/store/index.d.ts +16 -0
  175. package/dist/fe/components/SetPasswordPage/theme/index.d.ts +95 -0
  176. package/dist/fe/components/SetPasswordPage/types/index.d.ts +137 -0
  177. package/dist/fe/components/UsersPage/components/InviteUserModal.d.ts +10 -0
  178. package/dist/fe/components/UsersPage/components/Pagination.d.ts +13 -0
  179. package/dist/fe/components/UsersPage/components/RoleAssignmentModal.d.ts +12 -0
  180. package/dist/fe/components/UsersPage/components/StatsCards.d.ts +10 -0
  181. package/dist/fe/components/UsersPage/components/UserDetailDrawer.d.ts +24 -0
  182. package/dist/fe/components/UsersPage/components/UserFilters.d.ts +18 -0
  183. package/dist/fe/components/UsersPage/components/UserListItem.d.ts +11 -0
  184. package/dist/fe/components/UsersPage/components/UserListSkeleton.d.ts +7 -0
  185. package/dist/fe/components/UsersPage/components/UsersPage.d.ts +8 -0
  186. package/dist/fe/components/UsersPage/index.d.ts +13 -0
  187. package/dist/fe/components/UsersPage/store/index.d.ts +51 -0
  188. package/dist/fe/components/UsersPage/theme/index.d.ts +180 -0
  189. package/dist/fe/components/UsersPage/types/index.d.ts +73 -0
  190. package/dist/fe/components/VerifyEmailPage/components/VerifyEmailPage.d.ts +4 -0
  191. package/dist/fe/components/VerifyEmailPage/index.d.ts +5 -0
  192. package/dist/fe/components/VerifyEmailPage/store/index.d.ts +18 -0
  193. package/dist/fe/components/VerifyEmailPage/theme/index.d.ts +49 -0
  194. package/dist/fe/components/VerifyEmailPage/types/index.d.ts +84 -0
  195. package/dist/fe/hooks/useNucleusEntity.d.ts +3 -0
  196. package/dist/fe/index.d.ts +42 -0
  197. package/dist/fe/index.js +1 -0
  198. package/dist/fe/types/index.d.ts +233 -0
  199. package/dist/fe/utils/cn.d.ts +3 -0
  200. package/dist/fe/utils/columnUtils.d.ts +63 -0
  201. package/dist/fe/utils/endpointKeys.d.ts +9 -0
  202. package/dist/index-0yyw12k6.js +1 -0
  203. package/dist/index-tv67j5qd.js +1 -0
  204. package/dist/index.d.ts +6 -0
  205. package/dist/index.js +1 -0
  206. package/dist/nucleus.config.d.ts +95 -0
  207. package/dist/public/components/CTA.d.ts +2 -0
  208. package/dist/public/components/Capabilities.d.ts +9 -0
  209. package/dist/public/components/Features.d.ts +9 -0
  210. package/dist/public/components/Footer.d.ts +2 -0
  211. package/dist/public/components/Hero.d.ts +2 -0
  212. package/dist/public/components/Managers.d.ts +7 -0
  213. package/dist/public/components/Nav.d.ts +2 -0
  214. package/dist/public/components/Stack.d.ts +7 -0
  215. package/dist/public/components/docs/Docs.d.ts +2 -0
  216. package/dist/public/components/docs/DocsContent.d.ts +19 -0
  217. package/dist/public/components/docs/DocsRightSidebar.d.ts +9 -0
  218. package/dist/public/components/docs/DocsSidebar.d.ts +8 -0
  219. package/dist/public/components/docs/content/authentication.d.ts +3 -0
  220. package/dist/public/components/docs/content/gettingStarted.d.ts +3 -0
  221. package/dist/public/components/docs/docsData.d.ts +18 -0
  222. package/dist/public/components/docs/index.d.ts +7 -0
  223. package/dist/public/components/index.d.ts +10 -0
  224. package/dist/public/index.d.ts +3 -0
  225. package/dist/public/store.d.ts +20 -0
  226. package/dist/scripts/build.d.ts +7 -0
  227. package/dist/scripts/generate-schema.d.ts +3 -0
  228. package/dist/scripts/generate-system-tables-types.d.ts +2 -0
  229. package/dist/scripts/generate-types-schema.d.ts +7 -0
  230. package/dist/scripts/publish.d.ts +7 -0
  231. package/dist/scripts/version.d.ts +7 -0
  232. package/dist/src/Client/ApiCaller/client.d.ts +5 -0
  233. package/dist/src/Client/ApiCaller/examples/usage.example.d.ts +8 -0
  234. package/dist/src/Client/ApiCaller/generator.d.ts +10 -0
  235. package/dist/src/Client/ApiCaller/index.d.ts +7 -0
  236. package/dist/src/Client/ApiCaller/server.d.ts +4 -0
  237. package/dist/src/Client/ApiCaller/system-tables.d.ts +1215 -0
  238. package/dist/src/Client/ApiCaller/types.d.ts +907 -0
  239. package/dist/src/Client/Proxy/httpProxy.d.ts +5 -0
  240. package/dist/src/Client/Proxy/index.d.ts +6 -0
  241. package/dist/src/Client/Proxy/index.js +1 -0
  242. package/dist/src/Client/Proxy/server.d.ts +5 -0
  243. package/dist/src/Client/Proxy/types.d.ts +69 -0
  244. package/dist/src/Client/Proxy/utils.d.ts +12 -0
  245. package/dist/src/Client/Proxy/wsProxy.d.ts +20 -0
  246. package/dist/src/Client/ServerFetch/index.d.ts +19 -0
  247. package/dist/src/Client/ServerFetch/types.d.ts +34 -0
  248. package/dist/src/Client/index.d.ts +4 -0
  249. package/dist/src/ElysiaPlugin/index.d.ts +12 -0
  250. package/dist/src/ElysiaPlugin/publicRoutes.d.ts +9 -0
  251. package/dist/src/ElysiaPlugin/routes/auth/captcha/index.d.ts +46 -0
  252. package/dist/src/ElysiaPlugin/routes/auth/emailVerification/index.d.ts +38 -0
  253. package/dist/src/ElysiaPlugin/routes/auth/index.d.ts +68 -0
  254. package/dist/src/ElysiaPlugin/routes/auth/invite/index.d.ts +43 -0
  255. package/dist/src/ElysiaPlugin/routes/auth/login/index.d.ts +68 -0
  256. package/dist/src/ElysiaPlugin/routes/auth/login/types.d.ts +22 -0
  257. package/dist/src/ElysiaPlugin/routes/auth/login/utils.d.ts +19 -0
  258. package/dist/src/ElysiaPlugin/routes/auth/logout/index.d.ts +33 -0
  259. package/dist/src/ElysiaPlugin/routes/auth/logout/types.d.ts +6 -0
  260. package/dist/src/ElysiaPlugin/routes/auth/logout/utils.d.ts +2 -0
  261. package/dist/src/ElysiaPlugin/routes/auth/magicLink/index.d.ts +41 -0
  262. package/dist/src/ElysiaPlugin/routes/auth/magicLink/types.d.ts +23 -0
  263. package/dist/src/ElysiaPlugin/routes/auth/magicLink/utils.d.ts +4 -0
  264. package/dist/src/ElysiaPlugin/routes/auth/me/index.d.ts +40 -0
  265. package/dist/src/ElysiaPlugin/routes/auth/passwordChange/index.d.ts +33 -0
  266. package/dist/src/ElysiaPlugin/routes/auth/passwordChange/types.d.ts +12 -0
  267. package/dist/src/ElysiaPlugin/routes/auth/passwordChange/utils.d.ts +2 -0
  268. package/dist/src/ElysiaPlugin/routes/auth/passwordReset/index.d.ts +36 -0
  269. package/dist/src/ElysiaPlugin/routes/auth/passwordReset/types.d.ts +16 -0
  270. package/dist/src/ElysiaPlugin/routes/auth/passwordReset/utils.d.ts +3 -0
  271. package/dist/src/ElysiaPlugin/routes/auth/passwordSet/index.d.ts +33 -0
  272. package/dist/src/ElysiaPlugin/routes/auth/passwordSet/types.d.ts +9 -0
  273. package/dist/src/ElysiaPlugin/routes/auth/refresh/index.d.ts +39 -0
  274. package/dist/src/ElysiaPlugin/routes/auth/refresh/types.d.ts +9 -0
  275. package/dist/src/ElysiaPlugin/routes/auth/refresh/utils.d.ts +2 -0
  276. package/dist/src/ElysiaPlugin/routes/auth/register/index.d.ts +47 -0
  277. package/dist/src/ElysiaPlugin/routes/auth/register/types.d.ts +18 -0
  278. package/dist/src/ElysiaPlugin/routes/auth/register/utils.d.ts +8 -0
  279. package/dist/src/ElysiaPlugin/routes/auth/sessions/index.d.ts +33 -0
  280. package/dist/src/ElysiaPlugin/routes/auth/sessions/types.d.ts +67 -0
  281. package/dist/src/ElysiaPlugin/routes/auth/sessions/utils.d.ts +36 -0
  282. package/dist/src/ElysiaPlugin/routes/auth/types.d.ts +153 -0
  283. package/dist/src/ElysiaPlugin/routes/entity/index.d.ts +5 -0
  284. package/dist/src/ElysiaPlugin/routes/entity/types.d.ts +50 -0
  285. package/dist/src/ElysiaPlugin/routes/entity/utils.d.ts +11 -0
  286. package/dist/src/ElysiaPlugin/routes/index.d.ts +5 -0
  287. package/dist/src/ElysiaPlugin/routes/monitoring/index.d.ts +58 -0
  288. package/dist/src/ElysiaPlugin/routes/storage/cdn.d.ts +51 -0
  289. package/dist/src/ElysiaPlugin/routes/storage/helpers.d.ts +53 -0
  290. package/dist/src/ElysiaPlugin/routes/storage/index.d.ts +3 -0
  291. package/dist/src/ElysiaPlugin/routes/verification/index.d.ts +39 -0
  292. package/dist/src/ElysiaPlugin/swagger.d.ts +28 -0
  293. package/dist/src/ElysiaPlugin/utils.d.ts +70 -0
  294. package/dist/src/Managers/Dapr/clients/binding-client.d.ts +15 -0
  295. package/dist/src/Managers/Dapr/clients/config-client.d.ts +27 -0
  296. package/dist/src/Managers/Dapr/clients/crypto-client.d.ts +27 -0
  297. package/dist/src/Managers/Dapr/clients/invoke-client.d.ts +32 -0
  298. package/dist/src/Managers/Dapr/clients/lock-client.d.ts +23 -0
  299. package/dist/src/Managers/Dapr/clients/pubsub-client.d.ts +23 -0
  300. package/dist/src/Managers/Dapr/clients/secret-client.d.ts +19 -0
  301. package/dist/src/Managers/Dapr/clients/state-client.d.ts +55 -0
  302. package/dist/src/Managers/Dapr/clients/workflow-client.d.ts +39 -0
  303. package/dist/src/Managers/Dapr/connection-manager.d.ts +51 -0
  304. package/dist/src/Managers/Dapr/constants.d.ts +49 -0
  305. package/dist/src/Managers/Dapr/dapr-manager.d.ts +160 -0
  306. package/dist/src/Managers/Dapr/error-handling.d.ts +29 -0
  307. package/dist/src/Managers/Dapr/index.d.ts +102 -0
  308. package/dist/src/Managers/Dapr/types.d.ts +121 -0
  309. package/dist/src/Managers/Dapr/utils.d.ts +44 -0
  310. package/dist/src/Managers/File/atomic.d.ts +64 -0
  311. package/dist/src/Managers/File/core.d.ts +188 -0
  312. package/dist/src/Managers/File/index.d.ts +18 -0
  313. package/dist/src/Managers/File/permissions.d.ts +72 -0
  314. package/dist/src/Managers/File/streaming.d.ts +30 -0
  315. package/dist/src/Managers/File/types.d.ts +146 -0
  316. package/dist/src/Managers/File/utils.d.ts +112 -0
  317. package/dist/src/Managers/Postgre/index.d.ts +25 -0
  318. package/dist/src/Managers/Redis/index.d.ts +33 -0
  319. package/dist/src/Managers/index.d.ts +5 -0
  320. package/dist/src/Services/Auth/Fingerprint/Generate/index.d.ts +3 -0
  321. package/dist/src/Services/Auth/Fingerprint/Validate/index.d.ts +3 -0
  322. package/dist/src/Services/Auth/Fingerprint/index.d.ts +5 -0
  323. package/dist/src/Services/Auth/Fingerprint/types.d.ts +20 -0
  324. package/dist/src/Services/Auth/Fingerprint/utils.d.ts +3 -0
  325. package/dist/src/Services/Auth/JWT/Decode/index.d.ts +3 -0
  326. package/dist/src/Services/Auth/JWT/Sign/index.d.ts +3 -0
  327. package/dist/src/Services/Auth/JWT/Verify/index.d.ts +3 -0
  328. package/dist/src/Services/Auth/JWT/index.d.ts +5 -0
  329. package/dist/src/Services/Auth/JWT/types.d.ts +38 -0
  330. package/dist/src/Services/Auth/JWT/utils.d.ts +10 -0
  331. package/dist/src/Services/Auth/Password/Generate/index.d.ts +3 -0
  332. package/dist/src/Services/Auth/Password/Validate/index.d.ts +3 -0
  333. package/dist/src/Services/Auth/Password/index.d.ts +2 -0
  334. package/dist/src/Services/Auth/Password/types.d.ts +16 -0
  335. package/dist/src/Services/Auth/RefreshToken/Delete/index.d.ts +3 -0
  336. package/dist/src/Services/Auth/RefreshToken/Generate/index.d.ts +11 -0
  337. package/dist/src/Services/Auth/RefreshToken/Read/index.d.ts +11 -0
  338. package/dist/src/Services/Auth/RefreshToken/Validate/index.d.ts +11 -0
  339. package/dist/src/Services/Auth/RefreshToken/index.d.ts +5 -0
  340. package/dist/src/Services/Auth/RefreshToken/types.d.ts +27 -0
  341. package/dist/src/Services/Auth/RefreshToken/utils.d.ts +6 -0
  342. package/dist/src/Services/Auth/Session/Issue/index.d.ts +9 -0
  343. package/dist/src/Services/Auth/Session/index.d.ts +2 -0
  344. package/dist/src/Services/Auth/Session/types.d.ts +13 -0
  345. package/dist/src/Services/Auth/SessionStore/Delete/index.d.ts +3 -0
  346. package/dist/src/Services/Auth/SessionStore/Generate/index.d.ts +11 -0
  347. package/dist/src/Services/Auth/SessionStore/Read/index.d.ts +3 -0
  348. package/dist/src/Services/Auth/SessionStore/Update/index.d.ts +24 -0
  349. package/dist/src/Services/Auth/SessionStore/Validate/index.d.ts +3 -0
  350. package/dist/src/Services/Auth/SessionStore/index.d.ts +7 -0
  351. package/dist/src/Services/Auth/SessionStore/types.d.ts +59 -0
  352. package/dist/src/Services/Auth/SessionStore/utils.d.ts +6 -0
  353. package/dist/src/Services/Auth/index.d.ts +7 -0
  354. package/dist/src/Services/Authorization/ClaimSeeder/index.d.ts +6 -0
  355. package/dist/src/Services/Authorization/GodminSetup/index.d.ts +10 -0
  356. package/dist/src/Services/Authorization/Middleware/index.d.ts +21 -0
  357. package/dist/src/Services/Authorization/index.d.ts +5 -0
  358. package/dist/src/Services/Authorization/types.d.ts +68 -0
  359. package/dist/src/Services/Captcha/index.d.ts +15 -0
  360. package/dist/src/Services/Captcha/types.d.ts +69 -0
  361. package/dist/src/Services/Gmail/index.d.ts +62 -0
  362. package/dist/src/Services/Logger/Logger.d.ts +77 -0
  363. package/dist/src/Services/Logger/index.d.ts +5 -0
  364. package/dist/src/Services/Logger/transports.d.ts +54 -0
  365. package/dist/src/Services/Logger/types.d.ts +88 -0
  366. package/dist/src/Services/Logger/utils.d.ts +8 -0
  367. package/dist/src/Services/Monitoring/AlertService.d.ts +29 -0
  368. package/dist/src/Services/Monitoring/collectors/ApplicationCollector.d.ts +30 -0
  369. package/dist/src/Services/Monitoring/collectors/SystemCollector.d.ts +13 -0
  370. package/dist/src/Services/Monitoring/collectors/index.d.ts +3 -0
  371. package/dist/src/Services/Monitoring/index.d.ts +109 -0
  372. package/dist/src/Services/Monitoring/types.d.ts +163 -0
  373. package/dist/src/Services/Notification/index.d.ts +31 -0
  374. package/dist/src/Services/Notification/types.d.ts +59 -0
  375. package/dist/src/Services/RateLimiter/index.d.ts +99 -0
  376. package/dist/src/Services/Verification/index.d.ts +23 -0
  377. package/dist/src/Services/Verification/types.d.ts +135 -0
  378. package/dist/src/Services/index.d.ts +10 -0
  379. package/dist/src/types.d.ts +588 -0
  380. package/package.json +99 -0
  381. package/public/components/CTA.tsx +25 -0
  382. package/public/components/Capabilities.tsx +69 -0
  383. package/public/components/Features.tsx +107 -0
  384. package/public/components/Footer.tsx +60 -0
  385. package/public/components/Hero.tsx +53 -0
  386. package/public/components/Managers.tsx +60 -0
  387. package/public/components/Nav.tsx +107 -0
  388. package/public/components/Stack.tsx +36 -0
  389. package/public/components/docs/Docs.tsx +62 -0
  390. package/public/components/docs/DocsContent.tsx +203 -0
  391. package/public/components/docs/DocsRightSidebar.tsx +53 -0
  392. package/public/components/docs/DocsSidebar.tsx +62 -0
  393. package/public/components/docs/content/authentication.ts +1670 -0
  394. package/public/components/docs/content/gettingStarted.ts +627 -0
  395. package/public/components/docs/docsData.ts +36 -0
  396. package/public/components/docs/index.ts +6 -0
  397. package/public/components/index.ts +9 -0
  398. package/public/docs.css +633 -0
  399. package/public/index.html +81 -0
  400. package/public/index.tsx +52 -0
  401. package/public/store.ts +79 -0
  402. package/public/styles.css +877 -0
  403. package/schemas/bckp/config.nucleus.json +1488 -0
  404. package/schemas/bckp/nucleus.tables.schema.json +24 -0
  405. package/schemas/bckp/table.schema.json +472 -0
  406. package/schemas/config.nucleus.json +1010 -0
  407. package/schemas/nucleus.tables.schema.json +19 -0
  408. package/schemas/table.schema.json +498 -0
  409. package/scripts/build.ts +197 -0
  410. package/scripts/generate-schema.ts +556 -0
  411. package/scripts/generate-system-tables-types.ts +18 -0
  412. package/scripts/generate-types-schema.ts +962 -0
  413. package/scripts/publish.ts +210 -0
  414. package/scripts/version.ts +125 -0
  415. package/src/system.tables.json +1590 -0
@@ -0,0 +1,69 @@
1
+ export const CAPABILITIES = [
2
+ {
3
+ category: "Database Management",
4
+ items: [
5
+ { name: "Auto Migrations", status: "ready" },
6
+ { name: "Schema Push", status: "ready" },
7
+ { name: "Seed Data", status: "soon" },
8
+ { name: "Backup & Restore", status: "soon" },
9
+ { name: "Multi-tenant", status: "soon" },
10
+ ],
11
+ },
12
+ {
13
+ category: "Middleware",
14
+ items: [
15
+ { name: "Request Monitoring", status: "ready" },
16
+ { name: "Rate Limiting", status: "ready" },
17
+ { name: "Smart Bypass", status: "ready" },
18
+ { name: "Token Refresh", status: "ready" },
19
+ { name: "Response Caching", status: "soon" },
20
+ ],
21
+ },
22
+ {
23
+ category: "Frontend Package",
24
+ items: [
25
+ { name: "API Proxy", status: "soon" },
26
+ { name: "Generic Fetcher", status: "soon" },
27
+ { name: "State Management", status: "soon" },
28
+ { name: "UI Components", status: "soon" },
29
+ { name: "Type Generation", status: "soon" },
30
+ ],
31
+ },
32
+ ];
33
+
34
+ export function Capabilities() {
35
+ return (
36
+ <section className="capabilities" id="capabilities">
37
+ <div className="container">
38
+ <div className="section-header">
39
+ <div className="section-label">Roadmap</div>
40
+ <h2 className="section-title">Current & Upcoming Capabilities</h2>
41
+ <p className="section-description">
42
+ See what's ready today and what's coming soon. We're constantly
43
+ adding new features based on real-world needs.
44
+ </p>
45
+ </div>
46
+ <div className="capabilities-grid">
47
+ {CAPABILITIES.map((group) => (
48
+ <div className="capability-group" key={group.category}>
49
+ <h3 className="capability-category">{group.category}</h3>
50
+ <ul className="capability-list">
51
+ {group.items.map((item) => (
52
+ <li className="capability-item" key={item.name}>
53
+ <span className={`capability-status ${item.status}`}>
54
+ {item.status === "ready" ? "✓" : "○"}
55
+ </span>
56
+ <span className="capability-name">{item.name}</span>
57
+ {item.status === "soon" && (
58
+ <span className="capability-badge">Soon</span>
59
+ )}
60
+ </li>
61
+ ))}
62
+ </ul>
63
+ </div>
64
+ ))}
65
+ </div>
66
+ </div>
67
+ </section>
68
+ );
69
+ }
@@ -0,0 +1,107 @@
1
+ export const FEATURES = [
2
+ {
3
+ icon: "🔐",
4
+ title: "Authentication",
5
+ description:
6
+ "Complete auth system with JWT access & refresh tokens, session cookies, device fingerprinting, and proactive token refresh via WebSocket.",
7
+ tags: ["JWT", "Sessions", "Devices", "WebSocket"],
8
+ status: "ready",
9
+ },
10
+ {
11
+ icon: "🛡️",
12
+ title: "Authorization",
13
+ description:
14
+ "Automatic claim generation for all tables with granular role-based access control and smart data filtering per user context.",
15
+ tags: ["RBAC", "Claims", "Data Filtering"],
16
+ status: "ready",
17
+ },
18
+ {
19
+ icon: "📊",
20
+ title: "Audit & Monitoring",
21
+ description:
22
+ "Smart logger with conditional logging, real-time server monitoring, streaming status updates, and configurable alerting system.",
23
+ tags: ["Logging", "Metrics", "Alerts", "Streaming"],
24
+ status: "ready",
25
+ },
26
+ {
27
+ icon: "⚡",
28
+ title: "Rate Limiting",
29
+ description:
30
+ "Protect your APIs with sliding window, fixed window, and token bucket strategies. Smart bypass for trusted clients.",
31
+ tags: ["Protection", "Throttling", "Smart Bypass"],
32
+ status: "ready",
33
+ },
34
+ {
35
+ icon: "✅",
36
+ title: "Verifications",
37
+ description:
38
+ "Multi-step approval workflows with React Flow visual builder support, triggers, condition endpoints, and digital signatures.",
39
+ tags: ["Workflows", "Approvals", "Signatures"],
40
+ status: "ready",
41
+ },
42
+ {
43
+ icon: "🔔",
44
+ title: "Notifications",
45
+ description:
46
+ "Send notifications via email (Gmail integration) and platform channels with customizable triggers and template support.",
47
+ tags: ["Email", "Platform", "Templates"],
48
+ status: "ready",
49
+ },
50
+ {
51
+ icon: "📁",
52
+ title: "File Management",
53
+ description:
54
+ "Built-in file uploads with local CDN, configurable storage, MIME type validation, and range request support.",
55
+ tags: ["Upload", "CDN", "Storage"],
56
+ status: "ready",
57
+ },
58
+ {
59
+ icon: "📚",
60
+ title: "Auto Documentation",
61
+ description:
62
+ "Swagger/OpenAPI documentation auto-generated from your schema. Choose between Scalar or Swagger UI providers.",
63
+ tags: ["Swagger", "OpenAPI", "Scalar"],
64
+ status: "ready",
65
+ },
66
+ {
67
+ icon: "🔄",
68
+ title: "Generic CRUD",
69
+ description:
70
+ "Full CRUD operations with body validation, bulk ops, relational queries, search, filter, sort, and pagination — all auto-generated.",
71
+ tags: ["CRUD", "Bulk", "Relations", "Pagination"],
72
+ status: "ready",
73
+ },
74
+ ];
75
+
76
+ export function Features() {
77
+ return (
78
+ <section className="features" id="features">
79
+ <div className="container">
80
+ <div className="section-header">
81
+ <div className="section-label">Core Features</div>
82
+ <h2 className="section-title">Everything You Need, Out of the Box</h2>
83
+ <p className="section-description">
84
+ Production-ready features that would take months to build from
85
+ scratch. All type-safe, all configurable, all tested.
86
+ </p>
87
+ </div>
88
+ <div className="features-grid">
89
+ {FEATURES.map((feature) => (
90
+ <div className="feature-card" key={feature.title}>
91
+ <div className="feature-icon">{feature.icon}</div>
92
+ <h3 className="feature-title">{feature.title}</h3>
93
+ <p className="feature-description">{feature.description}</p>
94
+ <div className="feature-tags">
95
+ {feature.tags.map((tag) => (
96
+ <span className="feature-tag done" key={tag}>
97
+ {tag}
98
+ </span>
99
+ ))}
100
+ </div>
101
+ </div>
102
+ ))}
103
+ </div>
104
+ </div>
105
+ </section>
106
+ );
107
+ }
@@ -0,0 +1,60 @@
1
+ export function Footer() {
2
+ return (
3
+ <footer className="footer">
4
+ <div className="container footer-inner">
5
+ <div className="footer-brand">
6
+ <span className="footer-logo">
7
+ <span className="nav-logo-icon">N</span>
8
+ Nucleus Core
9
+ </span>
10
+ <p className="footer-tagline">Enterprise Backend Framework</p>
11
+ </div>
12
+ <div className="footer-links-grid">
13
+ <div className="footer-links-group">
14
+ <h4 className="footer-links-title">Product</h4>
15
+ <a href="#features" className="footer-link">
16
+ Features
17
+ </a>
18
+ <a href="#stack" className="footer-link">
19
+ Stack
20
+ </a>
21
+ <a href="#capabilities" className="footer-link">
22
+ Roadmap
23
+ </a>
24
+ </div>
25
+ <div className="footer-links-group">
26
+ <h4 className="footer-links-title">Resources</h4>
27
+ <a href="/docs" className="footer-link">
28
+ Documentation
29
+ </a>
30
+ <a href="/docs" className="footer-link">
31
+ API Reference
32
+ </a>
33
+ <a href="/changelog" className="footer-link">
34
+ Changelog
35
+ </a>
36
+ </div>
37
+ <div className="footer-links-group">
38
+ <h4 className="footer-links-title">Community</h4>
39
+ <a href="https://github.com" className="footer-link">
40
+ GitHub
41
+ </a>
42
+ <a href="https://discord.com" className="footer-link">
43
+ Discord
44
+ </a>
45
+ <a href="https://twitter.com" className="footer-link">
46
+ Twitter
47
+ </a>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ <div className="container">
52
+ <div className="footer-bottom">
53
+ <p className="footer-copy">
54
+ © {new Date().getFullYear()} Nucleus Core. MIT License.
55
+ </p>
56
+ </div>
57
+ </div>
58
+ </footer>
59
+ );
60
+ }
@@ -0,0 +1,53 @@
1
+ export function Hero() {
2
+ return (
3
+ <section className="hero">
4
+ <div className="hero-bg" />
5
+ <div className="container">
6
+ <div className="hero-content">
7
+ <div className="hero-badge">
8
+ <span className="hero-badge-dot" />
9
+ v3.0 — Production Ready
10
+ </div>
11
+ <h1 className="hero-title">
12
+ The Complete Backend
13
+ <br />
14
+ <span className="hero-title-gradient">
15
+ Infrastructure Framework
16
+ </span>
17
+ </h1>
18
+ <p className="hero-description">
19
+ Build enterprise-grade APIs in minutes, not months. Authentication,
20
+ authorization, audit logging, rate limiting, file uploads,
21
+ notifications — everything you need, type-safe and ready to deploy.
22
+ </p>
23
+ <div className="hero-actions">
24
+ <a href="/docs" className="btn btn-primary">
25
+ Get Started →
26
+ </a>
27
+ <a href="#features" className="btn btn-secondary">
28
+ Explore Features
29
+ </a>
30
+ </div>
31
+ <div className="hero-stats">
32
+ <div className="hero-stat">
33
+ <div className="hero-stat-value">50+</div>
34
+ <div className="hero-stat-label">Built-in Features</div>
35
+ </div>
36
+ <div className="hero-stat">
37
+ <div className="hero-stat-value">100%</div>
38
+ <div className="hero-stat-label">Type-Safe</div>
39
+ </div>
40
+ <div className="hero-stat">
41
+ <div className="hero-stat-value">0</div>
42
+ <div className="hero-stat-label">Config Needed</div>
43
+ </div>
44
+ <div className="hero-stat">
45
+ <div className="hero-stat-value">∞</div>
46
+ <div className="hero-stat-label">Extensibility</div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </section>
52
+ );
53
+ }
@@ -0,0 +1,60 @@
1
+ export const MANAGERS = [
2
+ {
3
+ icon: "🐘",
4
+ name: "PostgreSQL",
5
+ description:
6
+ "Connection pooling, automatic migrations, schema management with Drizzle ORM",
7
+ },
8
+ {
9
+ icon: "🔴",
10
+ name: "Redis",
11
+ description:
12
+ "Session storage, caching, rate limiting state, pub/sub for real-time features",
13
+ },
14
+ {
15
+ icon: "☁️",
16
+ name: "Dapr",
17
+ description:
18
+ "Service mesh integration for microservices, state management, pub/sub",
19
+ },
20
+ {
21
+ icon: "📧",
22
+ name: "Gmail",
23
+ description:
24
+ "OAuth2 authentication, send emails, notification templates support",
25
+ },
26
+ {
27
+ icon: "📁",
28
+ name: "File Storage",
29
+ description:
30
+ "Local CDN, file uploads, MIME validation, range requests for streaming",
31
+ },
32
+ ];
33
+
34
+ export function Managers() {
35
+ return (
36
+ <section className="managers" id="managers">
37
+ <div className="container">
38
+ <div className="section-header">
39
+ <div className="section-label">Infrastructure</div>
40
+ <h2 className="section-title">Integrated Service Managers</h2>
41
+ <p className="section-description">
42
+ Pre-configured managers for common infrastructure services. Just
43
+ provide credentials and start using them.
44
+ </p>
45
+ </div>
46
+ <div className="managers-grid">
47
+ {MANAGERS.map((manager) => (
48
+ <div className="manager-card" key={manager.name}>
49
+ <div className="manager-icon">{manager.icon}</div>
50
+ <div className="manager-content">
51
+ <h3 className="manager-name">{manager.name}</h3>
52
+ <p className="manager-description">{manager.description}</p>
53
+ </div>
54
+ </div>
55
+ ))}
56
+ </div>
57
+ </div>
58
+ </section>
59
+ );
60
+ }
@@ -0,0 +1,107 @@
1
+ import { useStore } from "../store";
2
+
3
+ export function Nav() {
4
+ const store = useStore();
5
+
6
+ const handleNavClick = (
7
+ e: React.MouseEvent<HTMLAnchorElement>,
8
+ target: string,
9
+ ) => {
10
+ if (target.startsWith("#")) {
11
+ if (store.currentPage !== "home") {
12
+ e.preventDefault();
13
+ store.navigate("home");
14
+ setTimeout(() => {
15
+ const el = document.querySelector(target);
16
+ el?.scrollIntoView({ behavior: "smooth" });
17
+ }, 100);
18
+ }
19
+ } else if (target === "/docs") {
20
+ e.preventDefault();
21
+ store.navigate("docs");
22
+ } else if (target === "/") {
23
+ e.preventDefault();
24
+ store.navigate("home");
25
+ }
26
+ };
27
+
28
+ return (
29
+ <nav className="nav">
30
+ <div className="container nav-inner">
31
+ <a
32
+ href="/"
33
+ className="nav-logo"
34
+ onClick={(e) => handleNavClick(e, "/")}
35
+ >
36
+ <span className="nav-logo-icon">N</span>
37
+ Nucleus Core
38
+ </a>
39
+ <div className="nav-links">
40
+ <button
41
+ type="button"
42
+ className="nav-link"
43
+ onClick={(e) =>
44
+ handleNavClick(
45
+ e as unknown as React.MouseEvent<HTMLAnchorElement>,
46
+ "#features",
47
+ )
48
+ }
49
+ >
50
+ Features
51
+ </button>
52
+ <button
53
+ type="button"
54
+ className="nav-link"
55
+ onClick={(e) =>
56
+ handleNavClick(
57
+ e as unknown as React.MouseEvent<HTMLAnchorElement>,
58
+ "#stack",
59
+ )
60
+ }
61
+ >
62
+ Stack
63
+ </button>
64
+ <button
65
+ type="button"
66
+ className="nav-link"
67
+ onClick={(e) =>
68
+ handleNavClick(
69
+ e as unknown as React.MouseEvent<HTMLAnchorElement>,
70
+ "#capabilities",
71
+ )
72
+ }
73
+ >
74
+ Capabilities
75
+ </button>
76
+ <a
77
+ href="/docs"
78
+ className={`nav-link ${store.currentPage === "docs" ? "active" : ""}`}
79
+ onClick={(e) => handleNavClick(e, "/docs")}
80
+ >
81
+ Docs
82
+ </a>
83
+ <a
84
+ href="/docs"
85
+ className="nav-link"
86
+ onClick={(e) => {
87
+ e.preventDefault();
88
+ window.open("/docs", "_blank");
89
+ }}
90
+ >
91
+ Swagger
92
+ </a>
93
+ </div>
94
+ <div className="nav-actions">
95
+ <button
96
+ type="button"
97
+ className="theme-toggle"
98
+ onClick={store.toggleTheme}
99
+ aria-label="Toggle theme"
100
+ >
101
+ {store.theme === "light" ? "🌙" : "☀️"}
102
+ </button>
103
+ </div>
104
+ </div>
105
+ </nav>
106
+ );
107
+ }
@@ -0,0 +1,36 @@
1
+ export const STACK = [
2
+ { icon: "🥟", name: "Bun", description: "Runtime" },
3
+ { icon: "🦊", name: "Elysia.js", description: "Framework" },
4
+ { icon: "🐘", name: "PostgreSQL", description: "Database" },
5
+ { icon: "🔴", name: "Redis", description: "Cache" },
6
+ { icon: "💧", name: "Drizzle", description: "ORM" },
7
+ { icon: "📝", name: "TypeScript", description: "Language" },
8
+ { icon: "☁️", name: "Dapr", description: "Sidecar" },
9
+ { icon: "📧", name: "Gmail API", description: "Email" },
10
+ ];
11
+
12
+ export function Stack() {
13
+ return (
14
+ <section className="stack" id="stack">
15
+ <div className="container">
16
+ <div className="section-header">
17
+ <div className="section-label">Technology</div>
18
+ <h2 className="section-title">Modern, Blazing Fast Stack</h2>
19
+ <p className="section-description">
20
+ Built on cutting-edge technologies optimized for performance,
21
+ developer experience, and production reliability.
22
+ </p>
23
+ </div>
24
+ <div className="stack-grid">
25
+ {STACK.map((tech) => (
26
+ <div className="stack-item" key={tech.name}>
27
+ <span className="stack-icon">{tech.icon}</span>
28
+ <span className="stack-name">{tech.name}</span>
29
+ <span className="stack-desc">{tech.description}</span>
30
+ </div>
31
+ ))}
32
+ </div>
33
+ </div>
34
+ </section>
35
+ );
36
+ }
@@ -0,0 +1,62 @@
1
+ import { useCallback, useState } from "react";
2
+ import { useStore } from "../../store";
3
+ import { DocsContent } from "./DocsContent";
4
+ import { DocsRightSidebar } from "./DocsRightSidebar";
5
+ import { DocsSidebar } from "./DocsSidebar";
6
+ import { docsData } from "./docsData";
7
+
8
+ export function Docs() {
9
+ const store = useStore();
10
+ const [activeSubItem, setActiveSubItem] = useState<string>("");
11
+
12
+ const handleItemClick = useCallback((sectionId: string, itemId: string) => {
13
+ store.setActiveDoc(sectionId, itemId);
14
+ setActiveSubItem("");
15
+ }, []);
16
+
17
+ const handleSubItemClick = useCallback((subItemId: string) => {
18
+ setActiveSubItem(subItemId);
19
+ }, []);
20
+
21
+ const currentSection = docsData.find((s) => s.id === store.activeSection);
22
+ const currentItem = currentSection?.items.find(
23
+ (i) => i.id === store.activeItem,
24
+ );
25
+ const firstSubItem = currentItem?.subItems[0]?.id || "";
26
+
27
+ return (
28
+ <div className="docs-layout">
29
+ <button
30
+ type="button"
31
+ className="docs-mobile-toggle"
32
+ onClick={store.toggleDocsSidebar}
33
+ aria-label="Toggle sidebar"
34
+ >
35
+ <span className="docs-mobile-toggle-icon">☰</span>
36
+ <span className="docs-mobile-toggle-text">Menu</span>
37
+ </button>
38
+
39
+ <DocsSidebar
40
+ activeSection={store.activeSection}
41
+ activeItem={store.activeItem}
42
+ onItemClick={handleItemClick}
43
+ />
44
+
45
+ <main className="docs-main">
46
+ <DocsContent
47
+ activeSection={store.activeSection}
48
+ activeItem={store.activeItem}
49
+ activeSubItem={activeSubItem || firstSubItem}
50
+ onSubItemClick={handleSubItemClick}
51
+ />
52
+ </main>
53
+
54
+ <DocsRightSidebar
55
+ activeSection={store.activeSection}
56
+ activeItem={store.activeItem}
57
+ activeSubItem={activeSubItem || firstSubItem}
58
+ onSubItemClick={handleSubItemClick}
59
+ />
60
+ </div>
61
+ );
62
+ }