@alepha/ui 0.18.2 → 0.19.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 (257) hide show
  1. package/dist/admin/{AdminApiKeys-BJhIwfD6.js → AdminApiKeys-Bt1PjO6o.js} +3 -4
  2. package/dist/admin/{AdminApiKeys-BJhIwfD6.js.map → AdminApiKeys-Bt1PjO6o.js.map} +1 -1
  3. package/dist/admin/{AdminAudits-DzD_4cDt.js → AdminAudits-C7c1CN4c.js} +3 -4
  4. package/dist/admin/{AdminAudits-DzD_4cDt.js.map → AdminAudits-C7c1CN4c.js.map} +1 -1
  5. package/dist/admin/{AdminDashboard-C92tIc6x.js → AdminDashboard-C3RXpTp6.js} +3 -4
  6. package/dist/admin/{AdminDashboard-C92tIc6x.js.map → AdminDashboard-C3RXpTp6.js.map} +1 -1
  7. package/dist/admin/{AdminFiles-DLpfhBkf.js → AdminFiles-31ivR6Wq.js} +3 -4
  8. package/dist/admin/{AdminFiles-DLpfhBkf.js.map → AdminFiles-31ivR6Wq.js.map} +1 -1
  9. package/dist/admin/{AdminJobDashboard-KIOkeMgE.js → AdminJobDashboard-BABLe7hL.js} +73 -25
  10. package/dist/admin/AdminJobDashboard-BABLe7hL.js.map +1 -0
  11. package/dist/admin/{AdminJobExecutions-D0Yo_PU0.js → AdminJobExecutions-D-G8RIlr.js} +3 -4
  12. package/dist/admin/{AdminJobExecutions-D0Yo_PU0.js.map → AdminJobExecutions-D-G8RIlr.js.map} +1 -1
  13. package/dist/admin/{AdminJobRegistry-PFajqaGK.js → AdminJobRegistry-oIS3K9NX.js} +3 -4
  14. package/dist/admin/{AdminJobRegistry-PFajqaGK.js.map → AdminJobRegistry-oIS3K9NX.js.map} +1 -1
  15. package/dist/admin/{AdminLayout-B1DXZHDn.js → AdminLayout-BmZ9mtXh.js} +8 -25
  16. package/dist/admin/AdminLayout-BmZ9mtXh.js.map +1 -0
  17. package/dist/admin/AdminNotifications-DHdzksww.js +541 -0
  18. package/dist/admin/AdminNotifications-DHdzksww.js.map +1 -0
  19. package/dist/admin/{AdminParameters-BspPeqp_.js → AdminParameters-CyZQSXnN.js} +118 -112
  20. package/dist/admin/AdminParameters-CyZQSXnN.js.map +1 -0
  21. package/dist/admin/{AdminSessions-BnH5CZQl.js → AdminSessions--xwELDSO.js} +3 -4
  22. package/dist/admin/{AdminSessions-BnH5CZQl.js.map → AdminSessions--xwELDSO.js.map} +1 -1
  23. package/dist/admin/{AdminUserLayout-DUbC6-BI.js → AdminUserLayout-DvBTG5gd.js} +82 -115
  24. package/dist/admin/AdminUserLayout-DvBTG5gd.js.map +1 -0
  25. package/dist/admin/{AdminUserProfile-DuTUnjdG.js → AdminUserProfile-CzsPBl6Z.js} +7 -6
  26. package/dist/admin/AdminUserProfile-CzsPBl6Z.js.map +1 -0
  27. package/dist/admin/{AdminUserSessions-DvZdAGpL.js → AdminUserSessions-C-aUnhVN.js} +3 -4
  28. package/dist/admin/{AdminUserSessions-DvZdAGpL.js.map → AdminUserSessions-C-aUnhVN.js.map} +1 -1
  29. package/dist/admin/{AdminUsers-CR9z0g_5.js → AdminUsers-BYwei5sj.js} +4 -4
  30. package/dist/admin/AdminUsers-BYwei5sj.js.map +1 -0
  31. package/dist/admin/{AuthLayout-DsUfp9RG.js → AuthLayout-CkPGLJku.js} +3 -4
  32. package/dist/admin/{AuthLayout-DsUfp9RG.js.map → AuthLayout-CkPGLJku.js.map} +1 -1
  33. package/dist/{demo/IconGoogle-CSQLPYwX.js → admin/IconGoogle-8Nkx6yax.js} +2 -4
  34. package/dist/admin/{IconGoogle-Ch1m3Uzl.js.map → IconGoogle-8Nkx6yax.js.map} +1 -1
  35. package/dist/admin/Login-DSBqNsZc.js +274 -0
  36. package/dist/admin/Login-DSBqNsZc.js.map +1 -0
  37. package/dist/admin/{Profile-B2EcIDB9.js → Profile-CDRjJo0P.js} +31 -29
  38. package/dist/admin/Profile-CDRjJo0P.js.map +1 -0
  39. package/dist/admin/{Register-Z3fxRbUF.js → Register-4QGFOnfh.js} +201 -146
  40. package/dist/admin/Register-4QGFOnfh.js.map +1 -0
  41. package/dist/admin/{ResetPassword-_Y1qTTKh.js → ResetPassword-Gxc9L_mY.js} +9 -10
  42. package/dist/admin/ResetPassword-Gxc9L_mY.js.map +1 -0
  43. package/dist/admin/{VerifyEmail-Bg22bwcC.js → VerifyEmail-D7G5NnaN.js} +25 -11
  44. package/dist/admin/VerifyEmail-D7G5NnaN.js.map +1 -0
  45. package/dist/admin/adminUserAtom-DCi4wf-v.js +11 -0
  46. package/dist/admin/adminUserAtom-DCi4wf-v.js.map +1 -0
  47. package/dist/admin/{core-BVO_TQxb.js → core-D1AbU50V.js} +662 -570
  48. package/dist/admin/core-D1AbU50V.js.map +1 -0
  49. package/dist/admin/index.d.ts +141 -53
  50. package/dist/admin/index.d.ts.map +1 -1
  51. package/dist/admin/index.js +67 -49
  52. package/dist/admin/index.js.map +1 -1
  53. package/dist/admin/rolldown-runtime-CiIaOW0V.js +13 -0
  54. package/dist/{demo/AuthLayout-DN-ClJQk.js → auth/AuthLayout-CfRKcTqP.js} +3 -4
  55. package/dist/auth/{AuthLayout-C161NeF6.js.map → AuthLayout-CfRKcTqP.js.map} +1 -1
  56. package/dist/{admin/IconGoogle-Ch1m3Uzl.js → auth/IconGoogle-8Nkx6yax.js} +2 -4
  57. package/dist/auth/{IconGoogle-Ch1m3Uzl.js.map → IconGoogle-8Nkx6yax.js.map} +1 -1
  58. package/dist/auth/Login-DJyweoPS.js +274 -0
  59. package/dist/auth/Login-DJyweoPS.js.map +1 -0
  60. package/dist/auth/{Profile-BMpXJ0oi.js → Profile-Cy93pNTw.js} +31 -29
  61. package/dist/auth/Profile-Cy93pNTw.js.map +1 -0
  62. package/dist/auth/{Register-2gx8qll-.js → Register-CSqzzitW.js} +201 -146
  63. package/dist/auth/Register-CSqzzitW.js.map +1 -0
  64. package/dist/{demo/ResetPassword-CAPj8MO3.js → auth/ResetPassword-B61QPlQi.js} +9 -10
  65. package/dist/auth/ResetPassword-B61QPlQi.js.map +1 -0
  66. package/dist/{demo/VerifyEmail-DFmdCdYs.js → auth/VerifyEmail-CqBJ11id.js} +25 -11
  67. package/dist/auth/VerifyEmail-CqBJ11id.js.map +1 -0
  68. package/dist/auth/{core-DyfeVr5c.js → core-C6D3pazL.js} +403 -343
  69. package/dist/auth/core-C6D3pazL.js.map +1 -0
  70. package/dist/auth/index.d.ts +93 -54
  71. package/dist/auth/index.d.ts.map +1 -1
  72. package/dist/auth/index.js +30 -31
  73. package/dist/auth/index.js.map +1 -1
  74. package/dist/auth/rolldown-runtime-CiIaOW0V.js +13 -0
  75. package/dist/core/index.d.ts +123 -62
  76. package/dist/core/index.d.ts.map +1 -1
  77. package/dist/core/index.js +878 -776
  78. package/dist/core/index.js.map +1 -1
  79. package/dist/{auth/AuthLayout-C161NeF6.js → demo/AuthLayout-Dq5tSLSc.js} +3 -4
  80. package/dist/demo/{AuthLayout-DN-ClJQk.js.map → AuthLayout-Dq5tSLSc.js.map} +1 -1
  81. package/dist/demo/DemoButton-_Ws2w-J0.js +181 -0
  82. package/dist/demo/DemoButton-_Ws2w-J0.js.map +1 -0
  83. package/dist/demo/DemoControlSelect-ChP4ZOpQ.js +304 -0
  84. package/dist/demo/DemoControlSelect-ChP4ZOpQ.js.map +1 -0
  85. package/dist/demo/DemoDataTable-Hwf_UUni.js +361 -0
  86. package/dist/demo/DemoDataTable-Hwf_UUni.js.map +1 -0
  87. package/dist/demo/{DemoDialog-DW8QEvD1.js → DemoDialog-B01OMVRd.js} +3 -4
  88. package/dist/demo/{DemoDialog-DW8QEvD1.js.map → DemoDialog-B01OMVRd.js.map} +1 -1
  89. package/dist/demo/{DemoFlex-CAhLUanT.js → DemoFlex-870PEl0V.js} +4 -5
  90. package/dist/demo/{DemoFlex-CAhLUanT.js.map → DemoFlex-870PEl0V.js.map} +1 -1
  91. package/dist/demo/{DemoHeading-yIFmNjHB.js → DemoHeading-C1YR27fz.js} +4 -5
  92. package/dist/demo/{DemoHeading-yIFmNjHB.js.map → DemoHeading-C1YR27fz.js.map} +1 -1
  93. package/dist/demo/{DemoHome-BSGuBHus.js → DemoHome-DRbL2eGf.js} +4 -5
  94. package/dist/demo/{DemoHome-BSGuBHus.js.map → DemoHome-DRbL2eGf.js.map} +1 -1
  95. package/dist/demo/{DemoJsonViewer-DsA2IpgV.js → DemoJsonViewer-DoABiqBW.js} +4 -5
  96. package/dist/demo/{DemoJsonViewer-DsA2IpgV.js.map → DemoJsonViewer-DoABiqBW.js.map} +1 -1
  97. package/dist/demo/{DemoLayout-Cy6xjn6P.js → DemoLayout-CN_PDCX2.js} +16 -8
  98. package/dist/demo/DemoLayout-CN_PDCX2.js.map +1 -0
  99. package/dist/demo/{DemoLogin-vqxgTu4P.js → DemoLogin-B5x-ug3Q.js} +51 -35
  100. package/dist/demo/DemoLogin-B5x-ug3Q.js.map +1 -0
  101. package/dist/demo/{DemoRegister-YHPvPg77.js → DemoRegister-Q6sg2xuV.js} +51 -53
  102. package/dist/demo/DemoRegister-Q6sg2xuV.js.map +1 -0
  103. package/dist/demo/{DemoResetPassword-mOW18Zlm.js → DemoResetPassword-DrqZfmEw.js} +14 -19
  104. package/dist/demo/DemoResetPassword-DrqZfmEw.js.map +1 -0
  105. package/dist/demo/{DemoSidebar-od7aLjP_.js → DemoSidebar-CfKS6w1o.js} +4 -5
  106. package/dist/demo/{DemoSidebar-od7aLjP_.js.map → DemoSidebar-CfKS6w1o.js.map} +1 -1
  107. package/dist/demo/{DemoText-DU3JeRS0.js → DemoText-pT6Gi5b5.js} +4 -5
  108. package/dist/demo/{DemoText-DU3JeRS0.js.map → DemoText-pT6Gi5b5.js.map} +1 -1
  109. package/dist/demo/{DemoToast-CUJEiPRa.js → DemoToast-I13NBzQQ.js} +3 -4
  110. package/dist/demo/{DemoToast-CUJEiPRa.js.map → DemoToast-I13NBzQQ.js.map} +1 -1
  111. package/dist/demo/{DemoTypeForm-C1dNkahD.js → DemoTypeForm-BqzcrtvN.js} +9 -6
  112. package/dist/demo/DemoTypeForm-BqzcrtvN.js.map +1 -0
  113. package/dist/demo/DemoVerifyEmail-HwD8xfQw.js +33 -0
  114. package/dist/demo/DemoVerifyEmail-HwD8xfQw.js.map +1 -0
  115. package/dist/{auth/IconGoogle-Ch1m3Uzl.js → demo/IconGoogle-CwQy4G9y.js} +2 -4
  116. package/dist/demo/{IconGoogle-CSQLPYwX.js.map → IconGoogle-CwQy4G9y.js.map} +1 -1
  117. package/dist/demo/Login-CqG1iJbn.js +274 -0
  118. package/dist/demo/Login-CqG1iJbn.js.map +1 -0
  119. package/dist/demo/{Profile-BE_Y3co2.js → Profile-C0ojJCaG.js} +31 -29
  120. package/dist/demo/Profile-C0ojJCaG.js.map +1 -0
  121. package/dist/demo/{Register-fXHmBpr3.js → Register-KKZwr_lL.js} +201 -146
  122. package/dist/demo/Register-KKZwr_lL.js.map +1 -0
  123. package/dist/{auth/ResetPassword-DBxt9hKk.js → demo/ResetPassword-DMrLFEtr.js} +9 -10
  124. package/dist/demo/ResetPassword-DMrLFEtr.js.map +1 -0
  125. package/dist/demo/{Showcase-BtEU0pY9.js → Showcase-D49Wud2v.js} +65 -68
  126. package/dist/demo/Showcase-D49Wud2v.js.map +1 -0
  127. package/dist/{auth/VerifyEmail-Z80Ubajk.js → demo/VerifyEmail-BFCAFz6T.js} +25 -11
  128. package/dist/demo/VerifyEmail-BFCAFz6T.js.map +1 -0
  129. package/dist/demo/{auth-Djd7SKiw.js → auth-D9qTZzCa.js} +18 -35
  130. package/dist/demo/{auth-Djd7SKiw.js.map → auth-D9qTZzCa.js.map} +1 -1
  131. package/dist/demo/{core-B7LNjM78.js → core-DRtQklr3.js} +752 -647
  132. package/dist/demo/core-DRtQklr3.js.map +1 -0
  133. package/dist/demo/index.d.ts +1 -0
  134. package/dist/demo/index.d.ts.map +1 -1
  135. package/dist/demo/index.js +25 -22
  136. package/dist/demo/index.js.map +1 -1
  137. package/dist/demo/rolldown-runtime-CiIaOW0V.js +13 -0
  138. package/package.json +19 -19
  139. package/src/admin/AdminRouter.tsx +42 -2
  140. package/src/admin/atoms/adminUserAtom.ts +7 -0
  141. package/src/admin/components/AdminLayout.tsx +2 -14
  142. package/src/admin/components/jobs/AdminJobDashboard.tsx +51 -20
  143. package/src/admin/components/notifications/AdminNotifications.tsx +519 -0
  144. package/src/admin/components/parameters/ParameterDetails.tsx +12 -270
  145. package/src/admin/components/parameters/ParameterDetailsConfigForm.tsx +238 -0
  146. package/src/admin/components/parameters/ParameterDetailsLoading.tsx +24 -0
  147. package/src/admin/components/parameters/ParameterHistory.tsx +10 -11
  148. package/src/admin/components/parameters/ParameterTree.tsx +28 -184
  149. package/src/admin/components/parameters/ParameterTreeNode.tsx +151 -0
  150. package/src/admin/components/shared/AdminResourceHeader.tsx +2 -25
  151. package/src/admin/components/shared/AdminResourceHeaderMenuItem.tsx +37 -0
  152. package/src/admin/components/shared/AdminResourceTabs.tsx +2 -26
  153. package/src/admin/components/shared/AdminResourceTabsItem.tsx +36 -0
  154. package/src/admin/components/users/AdminUserLayout.tsx +84 -127
  155. package/src/admin/components/users/AdminUserProfile.tsx +5 -2
  156. package/src/admin/components/users/AdminUsers.tsx +1 -1
  157. package/src/auth/components/Login.tsx +188 -121
  158. package/src/auth/components/Profile.tsx +1 -22
  159. package/src/auth/components/ProfileField.tsx +39 -0
  160. package/src/auth/components/Register.tsx +215 -158
  161. package/src/auth/components/ResetPassword.tsx +7 -11
  162. package/src/auth/components/VerifyEmail.tsx +35 -10
  163. package/src/auth/components/buttons/UserButton.tsx +19 -21
  164. package/src/auth/index.ts +1 -0
  165. package/src/core/components/Flex.tsx +34 -0
  166. package/src/core/components/buttons/ActionButton.tsx +105 -78
  167. package/src/core/components/data/DetailDrawer.tsx +102 -96
  168. package/src/core/components/data/DetailList.tsx +2 -1
  169. package/src/core/components/dialogs/PromptDialog.tsx +1 -1
  170. package/src/core/components/layout/Breadcrumb.tsx +4 -7
  171. package/src/core/components/layout/DashboardShell.tsx +18 -4
  172. package/src/core/components/layout/Sidebar.tsx +16 -241
  173. package/src/core/components/layout/SidebarCollapsedItem.tsx +91 -0
  174. package/src/core/components/layout/SidebarItem.tsx +146 -0
  175. package/src/core/components/layout/index.ts +3 -1
  176. package/src/core/form/components/Control.tsx +31 -29
  177. package/src/core/form/components/ControlArray.tsx +13 -39
  178. package/src/core/form/components/ControlDate.tsx +10 -21
  179. package/src/core/form/components/ControlNumber.tsx +4 -33
  180. package/src/core/form/components/ControlQueryBuilder.tsx +12 -175
  181. package/src/core/form/components/ControlQueryBuilderHelp.tsx +165 -0
  182. package/src/core/form/components/ControlSelect.browser.spec.tsx +343 -0
  183. package/src/core/form/components/ControlSelect.tsx +294 -92
  184. package/src/core/form/components/TypeForm.browser.spec.tsx +3 -3
  185. package/src/core/form/components/TypeForm.tsx +5 -2
  186. package/src/core/form/index.ts +8 -1
  187. package/src/core/form/utils/parseInput.ts +7 -3
  188. package/src/core/index.ts +3 -1
  189. package/src/core/json/components/JsonViewer.tsx +103 -319
  190. package/src/core/json/components/JsonViewerCopyButton.tsx +46 -0
  191. package/src/core/json/components/JsonViewerRowNode.tsx +120 -0
  192. package/src/core/json/components/JsonViewerShared.ts +76 -0
  193. package/src/core/services/DialogService.tsx +2 -2
  194. package/src/core/styles.css +13 -2
  195. package/src/core/table/components/ColumnPicker.tsx +3 -3
  196. package/src/core/table/components/DataTable.tsx +88 -29
  197. package/src/core/table/components/DataTableFilters.tsx +6 -11
  198. package/src/core/table/components/DataTablePagination.tsx +9 -3
  199. package/src/core/table/components/DataTableToolbar.tsx +7 -3
  200. package/src/core/table/components/FilterPicker.tsx +3 -3
  201. package/src/core/table/interfaces/types.ts +29 -0
  202. package/src/core/utils/icons.tsx +2 -2
  203. package/src/demo/DemoRouter.ts +8 -1
  204. package/src/demo/components/DemoLayout.tsx +12 -2
  205. package/src/demo/components/auth/DemoLogin.tsx +35 -28
  206. package/src/demo/components/auth/DemoRegister.tsx +35 -49
  207. package/src/demo/components/auth/DemoResetPassword.tsx +5 -9
  208. package/src/demo/components/auth/DemoVerifyEmail.tsx +7 -6
  209. package/src/demo/components/core/DemoButton.tsx +123 -103
  210. package/src/demo/components/core/DemoControlSelect.tsx +325 -0
  211. package/src/demo/components/core/DemoDataTable.tsx +255 -237
  212. package/src/demo/components/core/DemoTypeForm.tsx +7 -2
  213. package/src/demo/components/shared/MacWindow.tsx +5 -11
  214. package/src/demo/components/shared/Showcase.tsx +28 -42
  215. package/dist/admin/AdminJobDashboard-KIOkeMgE.js.map +0 -1
  216. package/dist/admin/AdminLayout-B1DXZHDn.js.map +0 -1
  217. package/dist/admin/AdminParameters-BspPeqp_.js.map +0 -1
  218. package/dist/admin/AdminUserLayout-DUbC6-BI.js.map +0 -1
  219. package/dist/admin/AdminUserProfile-DuTUnjdG.js.map +0 -1
  220. package/dist/admin/AdminUsers-CR9z0g_5.js.map +0 -1
  221. package/dist/admin/Login-DHbYJKwg.js +0 -219
  222. package/dist/admin/Login-DHbYJKwg.js.map +0 -1
  223. package/dist/admin/Profile-B2EcIDB9.js.map +0 -1
  224. package/dist/admin/Register-Z3fxRbUF.js.map +0 -1
  225. package/dist/admin/ResetPassword-_Y1qTTKh.js.map +0 -1
  226. package/dist/admin/VerifyEmail-Bg22bwcC.js.map +0 -1
  227. package/dist/admin/core-BVO_TQxb.js.map +0 -1
  228. package/dist/admin/rolldown-runtime-CjeV3_4I.js +0 -18
  229. package/dist/auth/Login-C7jIqf00.js +0 -219
  230. package/dist/auth/Login-C7jIqf00.js.map +0 -1
  231. package/dist/auth/Profile-BMpXJ0oi.js.map +0 -1
  232. package/dist/auth/Register-2gx8qll-.js.map +0 -1
  233. package/dist/auth/ResetPassword-DBxt9hKk.js.map +0 -1
  234. package/dist/auth/VerifyEmail-Z80Ubajk.js.map +0 -1
  235. package/dist/auth/core-DyfeVr5c.js.map +0 -1
  236. package/dist/auth/rolldown-runtime-CjeV3_4I.js +0 -18
  237. package/dist/demo/DemoButton-CGUyR9eM.js +0 -178
  238. package/dist/demo/DemoButton-CGUyR9eM.js.map +0 -1
  239. package/dist/demo/DemoDataTable-QFG-xXSx.js +0 -358
  240. package/dist/demo/DemoDataTable-QFG-xXSx.js.map +0 -1
  241. package/dist/demo/DemoLayout-Cy6xjn6P.js.map +0 -1
  242. package/dist/demo/DemoLogin-vqxgTu4P.js.map +0 -1
  243. package/dist/demo/DemoRegister-YHPvPg77.js.map +0 -1
  244. package/dist/demo/DemoResetPassword-mOW18Zlm.js.map +0 -1
  245. package/dist/demo/DemoTypeForm-C1dNkahD.js.map +0 -1
  246. package/dist/demo/DemoVerifyEmail-D9EcXZ38.js +0 -30
  247. package/dist/demo/DemoVerifyEmail-D9EcXZ38.js.map +0 -1
  248. package/dist/demo/Login-CoYf_P_F.js +0 -219
  249. package/dist/demo/Login-CoYf_P_F.js.map +0 -1
  250. package/dist/demo/Profile-BE_Y3co2.js.map +0 -1
  251. package/dist/demo/Register-fXHmBpr3.js.map +0 -1
  252. package/dist/demo/ResetPassword-CAPj8MO3.js.map +0 -1
  253. package/dist/demo/Showcase-BtEU0pY9.js.map +0 -1
  254. package/dist/demo/VerifyEmail-DFmdCdYs.js.map +0 -1
  255. package/dist/demo/core-B7LNjM78.js.map +0 -1
  256. package/dist/demo/rolldown-runtime-CjeV3_4I.js +0 -18
  257. package/src/demo/styles.css +0 -0
@@ -0,0 +1,361 @@
1
+ import { l as Text$1, m as useDialog, r as DataTable } from "./core-DRtQklr3.js";
2
+ import { t as Showcase } from "./Showcase-D49Wud2v.js";
3
+ import { t } from "alepha";
4
+ import { Badge, Code, Flex, Paper } from "@mantine/core";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { IconDownload, IconEdit, IconPlus, IconTrash } from "@tabler/icons-react";
7
+ //#region ../../src/demo/components/core/DemoDataTable.tsx
8
+ const sampleUsers = [
9
+ {
10
+ id: 1,
11
+ name: "Alice Johnson",
12
+ email: "alice@example.com",
13
+ role: "admin",
14
+ status: "active",
15
+ notes: "Team lead for the backend team."
16
+ },
17
+ {
18
+ id: 2,
19
+ name: "Bob Smith",
20
+ email: "bob@example.com",
21
+ role: "user",
22
+ status: "active"
23
+ },
24
+ {
25
+ id: 3,
26
+ name: "Charlie Brown",
27
+ email: "charlie@example.com",
28
+ role: "user",
29
+ status: "inactive",
30
+ notes: "On leave until March."
31
+ },
32
+ {
33
+ id: 4,
34
+ name: "Diana Prince",
35
+ email: "diana@example.com",
36
+ role: "admin",
37
+ status: "active"
38
+ },
39
+ {
40
+ id: 5,
41
+ name: "Eve Wilson",
42
+ email: "eve@example.com",
43
+ role: "guest",
44
+ status: "active",
45
+ notes: "External consultant, limited access."
46
+ },
47
+ {
48
+ id: 6,
49
+ name: "Frank Castle",
50
+ email: "frank@example.com",
51
+ role: "user",
52
+ status: "inactive"
53
+ },
54
+ {
55
+ id: 7,
56
+ name: "Grace Hopper",
57
+ email: "grace@example.com",
58
+ role: "admin",
59
+ status: "active",
60
+ notes: "Pioneered compiler development."
61
+ },
62
+ {
63
+ id: 8,
64
+ name: "Hank Pym",
65
+ email: "hank@example.com",
66
+ role: "user",
67
+ status: "active"
68
+ }
69
+ ];
70
+ const filters = t.object({
71
+ search: t.optional(t.text({ title: "Search" })),
72
+ role: t.optional(t.enum([
73
+ "admin",
74
+ "user",
75
+ "guest"
76
+ ], { title: "Role" })),
77
+ status: t.optional(t.enum(["active", "inactive"], { title: "Status" }))
78
+ });
79
+ const showcaseSchema = t.object({
80
+ withCheckbox: t.boolean({
81
+ title: "Checkbox",
82
+ default: true,
83
+ $control: { switch: true }
84
+ }),
85
+ withExport: t.boolean({
86
+ title: "Export",
87
+ default: true,
88
+ $control: { switch: true }
89
+ }),
90
+ withPanel: t.boolean({
91
+ title: "Panel",
92
+ default: true,
93
+ $control: { switch: true }
94
+ }),
95
+ withDrawer: t.boolean({
96
+ title: "Drawer",
97
+ default: true,
98
+ $control: { switch: true }
99
+ }),
100
+ defaultSize: t.integer({
101
+ title: "Page Size",
102
+ default: 5,
103
+ minimum: 1,
104
+ maximum: 20,
105
+ $control: { slider: true }
106
+ })
107
+ });
108
+ const DataTablePreview = (props) => {
109
+ const dialog = useDialog();
110
+ return /* @__PURE__ */ jsx(DataTable, {
111
+ filters,
112
+ defaultFilters: ["search", "role"],
113
+ submitOnInit: true,
114
+ defaultSize: props.defaultSize,
115
+ withCheckbox: props.withCheckbox,
116
+ withExport: props.withExport,
117
+ getItemKey: (u) => String(u.id),
118
+ onFilterChange: (key, _value, form) => {
119
+ if (key === "role" || key === "status") return form.submit();
120
+ },
121
+ typeFormProps: {
122
+ skipSubmitButton: true,
123
+ columns: 3
124
+ },
125
+ items: async (params) => {
126
+ let filtered = [...sampleUsers];
127
+ if (params.search) {
128
+ const s = params.search.toLowerCase();
129
+ filtered = filtered.filter((u) => u.name.toLowerCase().includes(s) || u.email.toLowerCase().includes(s));
130
+ }
131
+ if (params.role) filtered = filtered.filter((u) => u.role === params.role);
132
+ if (params.status) filtered = filtered.filter((u) => u.status === params.status);
133
+ const start = params.page * params.size;
134
+ return {
135
+ content: filtered.slice(start, start + params.size),
136
+ page: {
137
+ totalElements: filtered.length,
138
+ totalPages: Math.ceil(filtered.length / params.size)
139
+ }
140
+ };
141
+ },
142
+ actions: [{
143
+ tooltip: "Add User",
144
+ icon: IconPlus,
145
+ variant: "light",
146
+ size: "xs",
147
+ onClick: () => dialog.alert({ message: "Add user clicked" })
148
+ }],
149
+ checkboxActions: [{
150
+ label: "Export Selected",
151
+ icon: /* @__PURE__ */ jsx(IconDownload, { size: 14 }),
152
+ intent: "primary",
153
+ onClick: ({ selectedItems, clearSelection }) => {
154
+ dialog.alert({ message: `Exporting ${selectedItems.length} users` });
155
+ clearSelection();
156
+ }
157
+ }, {
158
+ label: "Delete Selected",
159
+ icon: /* @__PURE__ */ jsx(IconTrash, { size: 14 }),
160
+ intent: "danger",
161
+ onClick: ({ selectedItems, clearSelection }) => {
162
+ dialog.alert({ message: `Deleting ${selectedItems.length} users` });
163
+ clearSelection();
164
+ }
165
+ }],
166
+ columns: {
167
+ id: {
168
+ label: "ID",
169
+ value: (u) => /* @__PURE__ */ jsx(Text$1, {
170
+ size: "sm",
171
+ children: u.id
172
+ }),
173
+ sortable: true,
174
+ fit: true
175
+ },
176
+ name: {
177
+ label: "Name",
178
+ value: (u) => /* @__PURE__ */ jsx(Text$1, {
179
+ size: "sm",
180
+ fw: 500,
181
+ children: u.name
182
+ }),
183
+ sortable: true
184
+ },
185
+ email: {
186
+ label: "Email",
187
+ value: (u) => /* @__PURE__ */ jsx(Text$1, {
188
+ size: "sm",
189
+ c: "dimmed",
190
+ children: u.email
191
+ })
192
+ },
193
+ role: {
194
+ label: "Role",
195
+ value: (u) => /* @__PURE__ */ jsx(Badge, {
196
+ size: "sm",
197
+ color: u.role === "admin" ? "blue" : u.role === "user" ? "green" : "gray",
198
+ children: u.role
199
+ })
200
+ },
201
+ status: {
202
+ label: "Status",
203
+ value: (u) => /* @__PURE__ */ jsx(Badge, {
204
+ size: "sm",
205
+ color: u.status === "active" ? "green" : "red",
206
+ variant: "light",
207
+ children: u.status
208
+ })
209
+ },
210
+ notes: {
211
+ label: "Notes",
212
+ defaultHidden: true,
213
+ value: (u) => /* @__PURE__ */ jsx(Text$1, {
214
+ size: "xs",
215
+ c: "dimmed",
216
+ lineClamp: 1,
217
+ children: u.notes ?? "—"
218
+ })
219
+ }
220
+ },
221
+ rowActions: (u) => [{
222
+ label: "Edit",
223
+ icon: IconEdit,
224
+ color: "blue",
225
+ onClick: () => dialog.alert({ message: `Edit ${u.name}` })
226
+ }, {
227
+ label: "Delete",
228
+ icon: IconTrash,
229
+ color: "red",
230
+ onClick: () => dialog.alert({ message: `Delete ${u.name}` }),
231
+ visible: u.role !== "admin"
232
+ }],
233
+ panel: props.withPanel ? {
234
+ can: (u) => Boolean(u.notes),
235
+ render: (u) => /* @__PURE__ */ jsxs(Flex, {
236
+ direction: "column",
237
+ gap: "xs",
238
+ p: "sm",
239
+ children: [/* @__PURE__ */ jsx(Text$1, {
240
+ size: "xs",
241
+ c: "dimmed",
242
+ tt: "uppercase",
243
+ fw: 600,
244
+ children: "Notes"
245
+ }), /* @__PURE__ */ jsx(Text$1, {
246
+ size: "sm",
247
+ children: u.notes
248
+ })]
249
+ })
250
+ } : void 0,
251
+ drawer: props.withDrawer ? (u) => /* @__PURE__ */ jsxs(Flex, {
252
+ direction: "column",
253
+ gap: "md",
254
+ children: [
255
+ /* @__PURE__ */ jsx(Text$1, {
256
+ size: "lg",
257
+ fw: 600,
258
+ children: u.name
259
+ }),
260
+ /* @__PURE__ */ jsx(Paper, {
261
+ p: "sm",
262
+ radius: "md",
263
+ withBorder: true,
264
+ children: /* @__PURE__ */ jsxs(Flex, {
265
+ direction: "column",
266
+ gap: "xs",
267
+ children: [
268
+ /* @__PURE__ */ jsxs(Flex, {
269
+ gap: "xs",
270
+ children: [/* @__PURE__ */ jsx(Text$1, {
271
+ size: "sm",
272
+ c: "dimmed",
273
+ w: 60,
274
+ children: "Email"
275
+ }), /* @__PURE__ */ jsx(Text$1, {
276
+ size: "sm",
277
+ children: u.email
278
+ })]
279
+ }),
280
+ /* @__PURE__ */ jsxs(Flex, {
281
+ gap: "xs",
282
+ children: [/* @__PURE__ */ jsx(Text$1, {
283
+ size: "sm",
284
+ c: "dimmed",
285
+ w: 60,
286
+ children: "Role"
287
+ }), /* @__PURE__ */ jsx(Badge, {
288
+ size: "sm",
289
+ color: u.role === "admin" ? "blue" : u.role === "user" ? "green" : "gray",
290
+ children: u.role
291
+ })]
292
+ }),
293
+ /* @__PURE__ */ jsxs(Flex, {
294
+ gap: "xs",
295
+ children: [/* @__PURE__ */ jsx(Text$1, {
296
+ size: "sm",
297
+ c: "dimmed",
298
+ w: 60,
299
+ children: "Status"
300
+ }), /* @__PURE__ */ jsx(Badge, {
301
+ size: "sm",
302
+ color: u.status === "active" ? "green" : "red",
303
+ variant: "light",
304
+ children: u.status
305
+ })]
306
+ })
307
+ ]
308
+ })
309
+ }),
310
+ u.notes && /* @__PURE__ */ jsxs(Paper, {
311
+ p: "sm",
312
+ radius: "md",
313
+ withBorder: true,
314
+ children: [/* @__PURE__ */ jsx(Text$1, {
315
+ size: "sm",
316
+ fw: 600,
317
+ mb: "xs",
318
+ children: "Notes"
319
+ }), /* @__PURE__ */ jsx(Text$1, {
320
+ size: "sm",
321
+ children: u.notes
322
+ })]
323
+ }),
324
+ /* @__PURE__ */ jsxs(Paper, {
325
+ p: "sm",
326
+ radius: "md",
327
+ withBorder: true,
328
+ children: [/* @__PURE__ */ jsx(Text$1, {
329
+ size: "sm",
330
+ fw: 600,
331
+ mb: "xs",
332
+ children: "Raw Data"
333
+ }), /* @__PURE__ */ jsx(Code, {
334
+ block: true,
335
+ children: JSON.stringify(u, null, 2)
336
+ })]
337
+ })
338
+ ]
339
+ }) : void 0,
340
+ tableProps: { highlightOnHover: true }
341
+ }, JSON.stringify(props));
342
+ };
343
+ const DemoDataTable = () => {
344
+ return /* @__PURE__ */ jsx(Showcase, {
345
+ title: "DataTable",
346
+ schema: showcaseSchema,
347
+ initialValues: {
348
+ withCheckbox: true,
349
+ withExport: true,
350
+ withPanel: true,
351
+ withDrawer: true,
352
+ defaultSize: 5
353
+ },
354
+ columns: 1,
355
+ children: (props) => /* @__PURE__ */ jsx(DataTablePreview, { ...props })
356
+ });
357
+ };
358
+ //#endregion
359
+ export { DemoDataTable as default };
360
+
361
+ //# sourceMappingURL=DemoDataTable-Hwf_UUni.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DemoDataTable-Hwf_UUni.js","names":["Text"],"sources":["../../src/demo/components/core/DemoDataTable.tsx"],"sourcesContent":["import { DataTable, Text, useDialog } from \"@alepha/ui\";\nimport { Badge, Code, Flex, Paper } from \"@mantine/core\";\nimport {\n IconDownload,\n IconEdit,\n IconPlus,\n IconTrash,\n} from \"@tabler/icons-react\";\nimport { t } from \"alepha\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\ninterface User {\n id: number;\n name: string;\n email: string;\n role: \"admin\" | \"user\" | \"guest\";\n status: \"active\" | \"inactive\";\n notes?: string;\n}\n\nconst sampleUsers: User[] = [\n {\n id: 1,\n name: \"Alice Johnson\",\n email: \"alice@example.com\",\n role: \"admin\",\n status: \"active\",\n notes: \"Team lead for the backend team.\",\n },\n {\n id: 2,\n name: \"Bob Smith\",\n email: \"bob@example.com\",\n role: \"user\",\n status: \"active\",\n },\n {\n id: 3,\n name: \"Charlie Brown\",\n email: \"charlie@example.com\",\n role: \"user\",\n status: \"inactive\",\n notes: \"On leave until March.\",\n },\n {\n id: 4,\n name: \"Diana Prince\",\n email: \"diana@example.com\",\n role: \"admin\",\n status: \"active\",\n },\n {\n id: 5,\n name: \"Eve Wilson\",\n email: \"eve@example.com\",\n role: \"guest\",\n status: \"active\",\n notes: \"External consultant, limited access.\",\n },\n {\n id: 6,\n name: \"Frank Castle\",\n email: \"frank@example.com\",\n role: \"user\",\n status: \"inactive\",\n },\n {\n id: 7,\n name: \"Grace Hopper\",\n email: \"grace@example.com\",\n role: \"admin\",\n status: \"active\",\n notes: \"Pioneered compiler development.\",\n },\n {\n id: 8,\n name: \"Hank Pym\",\n email: \"hank@example.com\",\n role: \"user\",\n status: \"active\",\n },\n];\n\nconst filters = t.object({\n search: t.optional(t.text({ title: \"Search\" })),\n role: t.optional(t.enum([\"admin\", \"user\", \"guest\"], { title: \"Role\" })),\n status: t.optional(t.enum([\"active\", \"inactive\"], { title: \"Status\" })),\n});\n\nconst showcaseSchema = t.object({\n withCheckbox: t.boolean({\n title: \"Checkbox\",\n default: true,\n $control: { switch: true },\n }),\n withExport: t.boolean({\n title: \"Export\",\n default: true,\n $control: { switch: true },\n }),\n withPanel: t.boolean({\n title: \"Panel\",\n default: true,\n $control: { switch: true },\n }),\n withDrawer: t.boolean({\n title: \"Drawer\",\n default: true,\n $control: { switch: true },\n }),\n defaultSize: t.integer({\n title: \"Page Size\",\n default: 5,\n minimum: 1,\n maximum: 20,\n $control: { slider: true },\n }),\n});\n\ninterface DataTablePreviewProps {\n withCheckbox: boolean;\n withExport: boolean;\n withPanel: boolean;\n withDrawer: boolean;\n defaultSize: number;\n}\n\nconst DataTablePreview = (props: DataTablePreviewProps) => {\n const dialog = useDialog();\n\n return (\n <DataTable<User, typeof filters>\n key={JSON.stringify(props)}\n filters={filters}\n defaultFilters={[\"search\", \"role\"]}\n submitOnInit\n defaultSize={props.defaultSize}\n withCheckbox={props.withCheckbox}\n withExport={props.withExport}\n getItemKey={(u) => String(u.id)}\n onFilterChange={(key, _value, form) => {\n if (key === \"role\" || key === \"status\") {\n return form.submit();\n }\n }}\n typeFormProps={{\n skipSubmitButton: true,\n columns: 3,\n }}\n items={async (params) => {\n let filtered = [...sampleUsers];\n if (params.search) {\n const s = params.search.toLowerCase();\n filtered = filtered.filter(\n (u) =>\n u.name.toLowerCase().includes(s) ||\n u.email.toLowerCase().includes(s),\n );\n }\n if (params.role) {\n filtered = filtered.filter((u) => u.role === params.role);\n }\n if (params.status) {\n filtered = filtered.filter((u) => u.status === params.status);\n }\n const start = params.page * params.size;\n const content = filtered.slice(start, start + params.size);\n return {\n content,\n page: {\n totalElements: filtered.length,\n totalPages: Math.ceil(filtered.length / params.size),\n },\n };\n }}\n actions={[\n {\n tooltip: \"Add User\",\n icon: IconPlus,\n variant: \"light\",\n size: \"xs\",\n onClick: () => dialog.alert({ message: \"Add user clicked\" }),\n },\n ]}\n checkboxActions={[\n {\n label: \"Export Selected\",\n icon: <IconDownload size={14} />,\n intent: \"primary\",\n onClick: ({ selectedItems, clearSelection }) => {\n dialog.alert({\n message: `Exporting ${selectedItems.length} users`,\n });\n clearSelection();\n },\n },\n {\n label: \"Delete Selected\",\n icon: <IconTrash size={14} />,\n intent: \"danger\",\n onClick: ({ selectedItems, clearSelection }) => {\n dialog.alert({\n message: `Deleting ${selectedItems.length} users`,\n });\n clearSelection();\n },\n },\n ]}\n columns={{\n id: {\n label: \"ID\",\n value: (u) => <Text size=\"sm\">{u.id}</Text>,\n sortable: true,\n fit: true,\n },\n name: {\n label: \"Name\",\n value: (u) => (\n <Text size=\"sm\" fw={500}>\n {u.name}\n </Text>\n ),\n sortable: true,\n },\n email: {\n label: \"Email\",\n value: (u) => (\n <Text size=\"sm\" c=\"dimmed\">\n {u.email}\n </Text>\n ),\n },\n role: {\n label: \"Role\",\n value: (u) => (\n <Badge\n size=\"sm\"\n color={\n u.role === \"admin\"\n ? \"blue\"\n : u.role === \"user\"\n ? \"green\"\n : \"gray\"\n }\n >\n {u.role}\n </Badge>\n ),\n },\n status: {\n label: \"Status\",\n value: (u) => (\n <Badge\n size=\"sm\"\n color={u.status === \"active\" ? \"green\" : \"red\"}\n variant=\"light\"\n >\n {u.status}\n </Badge>\n ),\n },\n notes: {\n label: \"Notes\",\n defaultHidden: true,\n value: (u) => (\n <Text size=\"xs\" c=\"dimmed\" lineClamp={1}>\n {u.notes ?? \"—\"}\n </Text>\n ),\n },\n }}\n rowActions={(u) => [\n {\n label: \"Edit\",\n icon: IconEdit,\n color: \"blue\",\n onClick: () => dialog.alert({ message: `Edit ${u.name}` }),\n },\n {\n label: \"Delete\",\n icon: IconTrash,\n color: \"red\",\n onClick: () => dialog.alert({ message: `Delete ${u.name}` }),\n visible: u.role !== \"admin\",\n },\n ]}\n panel={\n props.withPanel\n ? {\n can: (u) => Boolean(u.notes),\n render: (u) => (\n <Flex direction=\"column\" gap=\"xs\" p=\"sm\">\n <Text size=\"xs\" c=\"dimmed\" tt=\"uppercase\" fw={600}>\n Notes\n </Text>\n <Text size=\"sm\">{u.notes}</Text>\n </Flex>\n ),\n }\n : undefined\n }\n drawer={\n props.withDrawer\n ? (u) => (\n <Flex direction=\"column\" gap=\"md\">\n <Text size=\"lg\" fw={600}>\n {u.name}\n </Text>\n <Paper p=\"sm\" radius=\"md\" withBorder>\n <Flex direction=\"column\" gap=\"xs\">\n <Flex gap=\"xs\">\n <Text size=\"sm\" c=\"dimmed\" w={60}>\n Email\n </Text>\n <Text size=\"sm\">{u.email}</Text>\n </Flex>\n <Flex gap=\"xs\">\n <Text size=\"sm\" c=\"dimmed\" w={60}>\n Role\n </Text>\n <Badge\n size=\"sm\"\n color={\n u.role === \"admin\"\n ? \"blue\"\n : u.role === \"user\"\n ? \"green\"\n : \"gray\"\n }\n >\n {u.role}\n </Badge>\n </Flex>\n <Flex gap=\"xs\">\n <Text size=\"sm\" c=\"dimmed\" w={60}>\n Status\n </Text>\n <Badge\n size=\"sm\"\n color={u.status === \"active\" ? \"green\" : \"red\"}\n variant=\"light\"\n >\n {u.status}\n </Badge>\n </Flex>\n </Flex>\n </Paper>\n {u.notes && (\n <Paper p=\"sm\" radius=\"md\" withBorder>\n <Text size=\"sm\" fw={600} mb=\"xs\">\n Notes\n </Text>\n <Text size=\"sm\">{u.notes}</Text>\n </Paper>\n )}\n <Paper p=\"sm\" radius=\"md\" withBorder>\n <Text size=\"sm\" fw={600} mb=\"xs\">\n Raw Data\n </Text>\n <Code block>{JSON.stringify(u, null, 2)}</Code>\n </Paper>\n </Flex>\n )\n : undefined\n }\n tableProps={{\n highlightOnHover: true,\n }}\n />\n );\n};\n\nconst DemoDataTable = () => {\n return (\n <Showcase\n title=\"DataTable\"\n schema={showcaseSchema}\n initialValues={{\n withCheckbox: true,\n withExport: true,\n withPanel: true,\n withDrawer: true,\n defaultSize: 5,\n }}\n columns={1}\n >\n {(props) => <DataTablePreview {...(props as DataTablePreviewProps)} />}\n </Showcase>\n );\n};\n\nexport default DemoDataTable;\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { f as Flex, h as ActionButton, m as useDialog, s as Text } from "./core-B7LNjM78.js";
1
+ import { f as Flex, h as ActionButton, l as Text, m as useDialog } from "./core-DRtQklr3.js";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { IconAlertCircle, IconMessage, IconQuestionMark } from "@tabler/icons-react";
4
-
5
4
  //#region ../../src/demo/components/layout/DemoDialog.tsx
6
5
  const DemoDialog = () => {
7
6
  const dialog = useDialog();
@@ -95,7 +94,7 @@ const DemoDialog = () => {
95
94
  ]
96
95
  });
97
96
  };
98
-
99
97
  //#endregion
100
98
  export { DemoDialog as default };
101
- //# sourceMappingURL=DemoDialog-DW8QEvD1.js.map
99
+
100
+ //# sourceMappingURL=DemoDialog-B01OMVRd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DemoDialog-DW8QEvD1.js","names":[],"sources":["../../src/demo/components/layout/DemoDialog.tsx"],"sourcesContent":["import { ActionButton, Flex, Text, useDialog } from \"@alepha/ui\";\nimport {\n IconAlertCircle,\n IconMessage,\n IconQuestionMark,\n} from \"@tabler/icons-react\";\n\nconst DemoDialog = () => {\n const dialog = useDialog();\n\n return (\n <Flex col gap=\"xl\" p=\"xl\">\n <Text bold size=\"lg\">\n Dialog Service\n </Text>\n <Text muted small>\n Programmatic dialogs via the DialogService. No need to mount modal\n components — just call the service.\n </Text>\n\n <Flex gap=\"md\" wrap=\"wrap\">\n <ActionButton\n icon={IconAlertCircle}\n variant=\"light\"\n onClick={() =>\n dialog.alert({\n title: \"Heads up\",\n message: \"This is an informational alert dialog.\",\n })\n }\n >\n Alert\n </ActionButton>\n\n <ActionButton\n icon={IconQuestionMark}\n variant=\"light\"\n intent=\"warning\"\n onClick={async () => {\n const ok = await dialog.confirm({\n title: \"Confirm action\",\n message: \"Are you sure you want to proceed?\",\n });\n if (ok) {\n dialog.alert({\n title: \"Confirmed\",\n message: \"You confirmed the action.\",\n });\n }\n }}\n >\n Confirm\n </ActionButton>\n\n <ActionButton\n icon={IconMessage}\n variant=\"light\"\n intent=\"primary\"\n onClick={async () => {\n const value = await dialog.prompt({\n title: \"Enter a value\",\n message: \"What is your name?\",\n placeholder: \"John Doe\",\n });\n if (value) {\n dialog.alert({\n title: \"Hello\",\n message: `Nice to meet you, ${value}!`,\n });\n }\n }}\n >\n Prompt\n </ActionButton>\n </Flex>\n\n <Flex col gap=\"md\">\n <Text bold small uppercase muted>\n Variants\n </Text>\n <Flex gap=\"md\" wrap=\"wrap\">\n <ActionButton\n variant=\"light\"\n intent=\"danger\"\n onClick={() =>\n dialog.confirm({\n title: \"Delete item\",\n message:\n \"This action cannot be undone. Are you sure you want to delete this item?\",\n confirmColor: \"red\",\n confirmLabel: \"Delete\",\n })\n }\n >\n Danger Confirm\n </ActionButton>\n </Flex>\n </Flex>\n </Flex>\n );\n};\n\nexport default DemoDialog;\n"],"mappings":";;;;;AAOA,MAAM,mBAAmB;CACvB,MAAM,SAAS,WAAW;AAE1B,QACE,qBAAC;EAAK;EAAI,KAAI;EAAK,GAAE;;GACnB,oBAAC;IAAK;IAAK,MAAK;cAAK;KAEd;GACP,oBAAC;IAAK;IAAM;cAAM;KAGX;GAEP,qBAAC;IAAK,KAAI;IAAK,MAAK;;KAClB,oBAAC;MACC,MAAM;MACN,SAAQ;MACR,eACE,OAAO,MAAM;OACX,OAAO;OACP,SAAS;OACV,CAAC;gBAEL;OAEc;KAEf,oBAAC;MACC,MAAM;MACN,SAAQ;MACR,QAAO;MACP,SAAS,YAAY;AAKnB,WAJW,MAAM,OAAO,QAAQ;QAC9B,OAAO;QACP,SAAS;QACV,CAAC,CAEA,QAAO,MAAM;QACX,OAAO;QACP,SAAS;QACV,CAAC;;gBAGP;OAEc;KAEf,oBAAC;MACC,MAAM;MACN,SAAQ;MACR,QAAO;MACP,SAAS,YAAY;OACnB,MAAM,QAAQ,MAAM,OAAO,OAAO;QAChC,OAAO;QACP,SAAS;QACT,aAAa;QACd,CAAC;AACF,WAAI,MACF,QAAO,MAAM;QACX,OAAO;QACP,SAAS,qBAAqB,MAAM;QACrC,CAAC;;gBAGP;OAEc;;KACV;GAEP,qBAAC;IAAK;IAAI,KAAI;eACZ,oBAAC;KAAK;KAAK;KAAM;KAAU;eAAM;MAE1B,EACP,oBAAC;KAAK,KAAI;KAAK,MAAK;eAClB,oBAAC;MACC,SAAQ;MACR,QAAO;MACP,eACE,OAAO,QAAQ;OACb,OAAO;OACP,SACE;OACF,cAAc;OACd,cAAc;OACf,CAAC;gBAEL;OAEc;MACV;KACF;;GACF"}
1
+ {"version":3,"file":"DemoDialog-B01OMVRd.js","names":[],"sources":["../../src/demo/components/layout/DemoDialog.tsx"],"sourcesContent":["import { ActionButton, Flex, Text, useDialog } from \"@alepha/ui\";\nimport {\n IconAlertCircle,\n IconMessage,\n IconQuestionMark,\n} from \"@tabler/icons-react\";\n\nconst DemoDialog = () => {\n const dialog = useDialog();\n\n return (\n <Flex col gap=\"xl\" p=\"xl\">\n <Text bold size=\"lg\">\n Dialog Service\n </Text>\n <Text muted small>\n Programmatic dialogs via the DialogService. No need to mount modal\n components — just call the service.\n </Text>\n\n <Flex gap=\"md\" wrap=\"wrap\">\n <ActionButton\n icon={IconAlertCircle}\n variant=\"light\"\n onClick={() =>\n dialog.alert({\n title: \"Heads up\",\n message: \"This is an informational alert dialog.\",\n })\n }\n >\n Alert\n </ActionButton>\n\n <ActionButton\n icon={IconQuestionMark}\n variant=\"light\"\n intent=\"warning\"\n onClick={async () => {\n const ok = await dialog.confirm({\n title: \"Confirm action\",\n message: \"Are you sure you want to proceed?\",\n });\n if (ok) {\n dialog.alert({\n title: \"Confirmed\",\n message: \"You confirmed the action.\",\n });\n }\n }}\n >\n Confirm\n </ActionButton>\n\n <ActionButton\n icon={IconMessage}\n variant=\"light\"\n intent=\"primary\"\n onClick={async () => {\n const value = await dialog.prompt({\n title: \"Enter a value\",\n message: \"What is your name?\",\n placeholder: \"John Doe\",\n });\n if (value) {\n dialog.alert({\n title: \"Hello\",\n message: `Nice to meet you, ${value}!`,\n });\n }\n }}\n >\n Prompt\n </ActionButton>\n </Flex>\n\n <Flex col gap=\"md\">\n <Text bold small uppercase muted>\n Variants\n </Text>\n <Flex gap=\"md\" wrap=\"wrap\">\n <ActionButton\n variant=\"light\"\n intent=\"danger\"\n onClick={() =>\n dialog.confirm({\n title: \"Delete item\",\n message:\n \"This action cannot be undone. Are you sure you want to delete this item?\",\n confirmColor: \"red\",\n confirmLabel: \"Delete\",\n })\n }\n >\n Danger Confirm\n </ActionButton>\n </Flex>\n </Flex>\n </Flex>\n );\n};\n\nexport default DemoDialog;\n"],"mappings":";;;;AAOA,MAAM,mBAAmB;CACvB,MAAM,SAAS,WAAW;AAE1B,QACE,qBAAC,MAAD;EAAM,KAAA;EAAI,KAAI;EAAK,GAAE;YAArB;GACE,oBAAC,MAAD;IAAM,MAAA;IAAK,MAAK;cAAK;IAEd,CAAA;GACP,oBAAC,MAAD;IAAM,OAAA;IAAM,OAAA;cAAM;IAGX,CAAA;GAEP,qBAAC,MAAD;IAAM,KAAI;IAAK,MAAK;cAApB;KACE,oBAAC,cAAD;MACE,MAAM;MACN,SAAQ;MACR,eACE,OAAO,MAAM;OACX,OAAO;OACP,SAAS;OACV,CAAC;gBAEL;MAEc,CAAA;KAEf,oBAAC,cAAD;MACE,MAAM;MACN,SAAQ;MACR,QAAO;MACP,SAAS,YAAY;AAKnB,WAJW,MAAM,OAAO,QAAQ;QAC9B,OAAO;QACP,SAAS;QACV,CAAC,CAEA,QAAO,MAAM;QACX,OAAO;QACP,SAAS;QACV,CAAC;;gBAGP;MAEc,CAAA;KAEf,oBAAC,cAAD;MACE,MAAM;MACN,SAAQ;MACR,QAAO;MACP,SAAS,YAAY;OACnB,MAAM,QAAQ,MAAM,OAAO,OAAO;QAChC,OAAO;QACP,SAAS;QACT,aAAa;QACd,CAAC;AACF,WAAI,MACF,QAAO,MAAM;QACX,OAAO;QACP,SAAS,qBAAqB,MAAM;QACrC,CAAC;;gBAGP;MAEc,CAAA;KACV;;GAEP,qBAAC,MAAD;IAAM,KAAA;IAAI,KAAI;cAAd,CACE,oBAAC,MAAD;KAAM,MAAA;KAAK,OAAA;KAAM,WAAA;KAAU,OAAA;eAAM;KAE1B,CAAA,EACP,oBAAC,MAAD;KAAM,KAAI;KAAK,MAAK;eAClB,oBAAC,cAAD;MACE,SAAQ;MACR,QAAO;MACP,eACE,OAAO,QAAQ;OACb,OAAO;OACP,SACE;OACF,cAAc;OACd,cAAc;OACf,CAAC;gBAEL;MAEc,CAAA;KACV,CAAA,CACF;;GACF"}
@@ -1,8 +1,7 @@
1
- import { f as Flex, s as Text } from "./core-B7LNjM78.js";
2
- import { t as Showcase } from "./Showcase-BtEU0pY9.js";
1
+ import { f as Flex, l as Text } from "./core-DRtQklr3.js";
2
+ import { t as Showcase } from "./Showcase-D49Wud2v.js";
3
3
  import { t } from "alepha";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
-
6
5
  //#region ../../src/demo/components/core/DemoFlex.tsx
7
6
  const showcaseSchema = t.object({
8
7
  fill: t.boolean({
@@ -99,7 +98,7 @@ const DemoFlex = () => {
99
98
  })
100
99
  });
101
100
  };
102
-
103
101
  //#endregion
104
102
  export { DemoFlex as default };
105
- //# sourceMappingURL=DemoFlex-CAhLUanT.js.map
103
+
104
+ //# sourceMappingURL=DemoFlex-870PEl0V.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DemoFlex-CAhLUanT.js","names":[],"sources":["../../src/demo/components/core/DemoFlex.tsx"],"sourcesContent":["import { Flex, Text } from \"@alepha/ui\";\nimport { t } from \"alepha\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst showcaseSchema = t.object({\n fill: t.boolean({\n title: \"fill\",\n default: false,\n $control: { switch: true },\n }),\n col: t.boolean({\n title: \"col\",\n default: false,\n $control: { switch: true },\n }),\n center: t.boolean({\n title: \"center\",\n default: false,\n $control: { switch: true },\n }),\n centerX: t.boolean({\n title: \"centerX\",\n default: false,\n $control: { switch: true },\n }),\n centerY: t.boolean({\n title: \"centerY\",\n default: false,\n $control: { switch: true },\n }),\n gap: t.enum([\"0\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\"], {\n title: \"gap\",\n default: \"md\",\n }),\n wrap: t.enum([\"nowrap\", \"wrap\"], {\n title: \"wrap\",\n default: \"nowrap\",\n }),\n});\n\nconst Item = ({ label }: { label: string }) => (\n <Flex\n center\n style={{\n background: \"var(--mantine-primary-color-light)\",\n border: \"1px solid var(--mantine-primary-color-light-hover)\",\n borderRadius: 6,\n padding: \"8px 16px\",\n minWidth: 60,\n minHeight: 40,\n }}\n >\n <Text size=\"sm\" fw={500}>\n {label}\n </Text>\n </Flex>\n);\n\nconst DemoFlex = () => {\n return (\n <Showcase\n title=\"Flex\"\n schema={showcaseSchema}\n initialValues={{\n fill: false,\n col: false,\n center: false,\n centerX: false,\n centerY: false,\n gap: \"md\",\n wrap: \"nowrap\",\n }}\n columns={1}\n windowProps={{}}\n >\n {(props) => (\n <Flex\n fill={props.fill}\n col={props.col}\n center={props.center}\n centerX={props.centerX}\n centerY={props.centerY}\n gap={props.gap === \"0\" ? 0 : props.gap}\n wrap={props.wrap}\n style={{\n minHeight: 200,\n border: \"1px dashed var(--mantine-color-default-border)\",\n borderRadius: 8,\n padding: 16,\n }}\n >\n <Item label=\"A\" />\n <Item label=\"B\" />\n <Item label=\"C\" />\n </Flex>\n )}\n </Showcase>\n );\n};\n\nexport default DemoFlex;\n"],"mappings":";;;;;;AAIA,MAAM,iBAAiB,EAAE,OAAO;CAC9B,MAAM,EAAE,QAAQ;EACd,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,KAAK,EAAE,QAAQ;EACb,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,QAAQ,EAAE,QAAQ;EAChB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,SAAS,EAAE,QAAQ;EACjB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,SAAS,EAAE,QAAQ;EACjB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,KAAK,EAAE,KAAK;EAAC;EAAK;EAAM;EAAM;EAAM;EAAM;EAAK,EAAE;EAC/C,OAAO;EACP,SAAS;EACV,CAAC;CACF,MAAM,EAAE,KAAK,CAAC,UAAU,OAAO,EAAE;EAC/B,OAAO;EACP,SAAS;EACV,CAAC;CACH,CAAC;AAEF,MAAM,QAAQ,EAAE,YACd,oBAAC;CACC;CACA,OAAO;EACL,YAAY;EACZ,QAAQ;EACR,cAAc;EACd,SAAS;EACT,UAAU;EACV,WAAW;EACZ;WAED,oBAAC;EAAK,MAAK;EAAK,IAAI;YACjB;GACI;EACF;AAGT,MAAM,iBAAiB;AACrB,QACE,oBAAC;EACC,OAAM;EACN,QAAQ;EACR,eAAe;GACb,MAAM;GACN,KAAK;GACL,QAAQ;GACR,SAAS;GACT,SAAS;GACT,KAAK;GACL,MAAM;GACP;EACD,SAAS;EACT,aAAa,EAAE;aAEb,UACA,qBAAC;GACC,MAAM,MAAM;GACZ,KAAK,MAAM;GACX,QAAQ,MAAM;GACd,SAAS,MAAM;GACf,SAAS,MAAM;GACf,KAAK,MAAM,QAAQ,MAAM,IAAI,MAAM;GACnC,MAAM,MAAM;GACZ,OAAO;IACL,WAAW;IACX,QAAQ;IACR,cAAc;IACd,SAAS;IACV;;IAED,oBAAC,QAAK,OAAM,MAAM;IAClB,oBAAC,QAAK,OAAM,MAAM;IAClB,oBAAC,QAAK,OAAM,MAAM;;IACb;GAEA"}
1
+ {"version":3,"file":"DemoFlex-870PEl0V.js","names":[],"sources":["../../src/demo/components/core/DemoFlex.tsx"],"sourcesContent":["import { Flex, Text } from \"@alepha/ui\";\nimport { t } from \"alepha\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst showcaseSchema = t.object({\n fill: t.boolean({\n title: \"fill\",\n default: false,\n $control: { switch: true },\n }),\n col: t.boolean({\n title: \"col\",\n default: false,\n $control: { switch: true },\n }),\n center: t.boolean({\n title: \"center\",\n default: false,\n $control: { switch: true },\n }),\n centerX: t.boolean({\n title: \"centerX\",\n default: false,\n $control: { switch: true },\n }),\n centerY: t.boolean({\n title: \"centerY\",\n default: false,\n $control: { switch: true },\n }),\n gap: t.enum([\"0\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\"], {\n title: \"gap\",\n default: \"md\",\n }),\n wrap: t.enum([\"nowrap\", \"wrap\"], {\n title: \"wrap\",\n default: \"nowrap\",\n }),\n});\n\nconst Item = ({ label }: { label: string }) => (\n <Flex\n center\n style={{\n background: \"var(--mantine-primary-color-light)\",\n border: \"1px solid var(--mantine-primary-color-light-hover)\",\n borderRadius: 6,\n padding: \"8px 16px\",\n minWidth: 60,\n minHeight: 40,\n }}\n >\n <Text size=\"sm\" fw={500}>\n {label}\n </Text>\n </Flex>\n);\n\nconst DemoFlex = () => {\n return (\n <Showcase\n title=\"Flex\"\n schema={showcaseSchema}\n initialValues={{\n fill: false,\n col: false,\n center: false,\n centerX: false,\n centerY: false,\n gap: \"md\",\n wrap: \"nowrap\",\n }}\n columns={1}\n windowProps={{}}\n >\n {(props) => (\n <Flex\n fill={props.fill}\n col={props.col}\n center={props.center}\n centerX={props.centerX}\n centerY={props.centerY}\n gap={props.gap === \"0\" ? 0 : props.gap}\n wrap={props.wrap}\n style={{\n minHeight: 200,\n border: \"1px dashed var(--mantine-color-default-border)\",\n borderRadius: 8,\n padding: 16,\n }}\n >\n <Item label=\"A\" />\n <Item label=\"B\" />\n <Item label=\"C\" />\n </Flex>\n )}\n </Showcase>\n );\n};\n\nexport default DemoFlex;\n"],"mappings":";;;;;AAIA,MAAM,iBAAiB,EAAE,OAAO;CAC9B,MAAM,EAAE,QAAQ;EACd,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,KAAK,EAAE,QAAQ;EACb,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,QAAQ,EAAE,QAAQ;EAChB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,SAAS,EAAE,QAAQ;EACjB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,SAAS,EAAE,QAAQ;EACjB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,KAAK,EAAE,KAAK;EAAC;EAAK;EAAM;EAAM;EAAM;EAAM;EAAK,EAAE;EAC/C,OAAO;EACP,SAAS;EACV,CAAC;CACF,MAAM,EAAE,KAAK,CAAC,UAAU,OAAO,EAAE;EAC/B,OAAO;EACP,SAAS;EACV,CAAC;CACH,CAAC;AAEF,MAAM,QAAQ,EAAE,YACd,oBAAC,MAAD;CACE,QAAA;CACA,OAAO;EACL,YAAY;EACZ,QAAQ;EACR,cAAc;EACd,SAAS;EACT,UAAU;EACV,WAAW;EACZ;WAED,oBAAC,MAAD;EAAM,MAAK;EAAK,IAAI;YACjB;EACI,CAAA;CACF,CAAA;AAGT,MAAM,iBAAiB;AACrB,QACE,oBAAC,UAAD;EACE,OAAM;EACN,QAAQ;EACR,eAAe;GACb,MAAM;GACN,KAAK;GACL,QAAQ;GACR,SAAS;GACT,SAAS;GACT,KAAK;GACL,MAAM;GACP;EACD,SAAS;EACT,aAAa,EAAE;aAEb,UACA,qBAAC,MAAD;GACE,MAAM,MAAM;GACZ,KAAK,MAAM;GACX,QAAQ,MAAM;GACd,SAAS,MAAM;GACf,SAAS,MAAM;GACf,KAAK,MAAM,QAAQ,MAAM,IAAI,MAAM;GACnC,MAAM,MAAM;GACZ,OAAO;IACL,WAAW;IACX,QAAQ;IACR,cAAc;IACd,SAAS;IACV;aAbH;IAeE,oBAAC,MAAD,EAAM,OAAM,KAAM,CAAA;IAClB,oBAAC,MAAD,EAAM,OAAM,KAAM,CAAA;IAClB,oBAAC,MAAD,EAAM,OAAM,KAAM,CAAA;IACb;;EAEA,CAAA"}
@@ -1,8 +1,7 @@
1
- import { d as Heading } from "./core-B7LNjM78.js";
2
- import { t as Showcase } from "./Showcase-BtEU0pY9.js";
1
+ import { d as Heading } from "./core-DRtQklr3.js";
2
+ import { t as Showcase } from "./Showcase-D49Wud2v.js";
3
3
  import { t } from "alepha";
4
4
  import { jsx } from "react/jsx-runtime";
5
-
6
5
  //#region ../../src/demo/components/core/DemoHeading.tsx
7
6
  const DemoHeading = () => {
8
7
  return /* @__PURE__ */ jsx(Showcase, {
@@ -12,7 +11,7 @@ const DemoHeading = () => {
12
11
  children: (props) => /* @__PURE__ */ jsx(Heading, { title: "Hello!" })
13
12
  });
14
13
  };
15
-
16
14
  //#endregion
17
15
  export { DemoHeading as default };
18
- //# sourceMappingURL=DemoHeading-yIFmNjHB.js.map
16
+
17
+ //# sourceMappingURL=DemoHeading-C1YR27fz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DemoHeading-yIFmNjHB.js","names":[],"sources":["../../src/demo/components/core/DemoHeading.tsx"],"sourcesContent":["import { Heading } from \"@alepha/ui\";\nimport { t } from \"alepha\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst DemoHeading = () => {\n return (\n <Showcase title=\"Flex\" schema={t.object({})} initialValues={{}}>\n {(props) => <Heading title={\"Hello!\"} />}\n </Showcase>\n );\n};\n\nexport default DemoHeading;\n"],"mappings":";;;;;;AAIA,MAAM,oBAAoB;AACxB,QACE,oBAAC;EAAS,OAAM;EAAO,QAAQ,EAAE,OAAO,EAAE,CAAC;EAAE,eAAe,EAAE;aAC1D,UAAU,oBAAC,WAAQ,OAAO,WAAY;GAC/B"}
1
+ {"version":3,"file":"DemoHeading-C1YR27fz.js","names":[],"sources":["../../src/demo/components/core/DemoHeading.tsx"],"sourcesContent":["import { Heading } from \"@alepha/ui\";\nimport { t } from \"alepha\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst DemoHeading = () => {\n return (\n <Showcase title=\"Flex\" schema={t.object({})} initialValues={{}}>\n {(props) => <Heading title={\"Hello!\"} />}\n </Showcase>\n );\n};\n\nexport default DemoHeading;\n"],"mappings":";;;;;AAIA,MAAM,oBAAoB;AACxB,QACE,oBAAC,UAAD;EAAU,OAAM;EAAO,QAAQ,EAAE,OAAO,EAAE,CAAC;EAAE,eAAe,EAAE;aAC1D,UAAU,oBAAC,SAAD,EAAS,OAAO,UAAY,CAAA;EAC/B,CAAA"}
@@ -1,7 +1,6 @@
1
- import { f as Flex, s as Text } from "./core-B7LNjM78.js";
1
+ import { f as Flex, l as Text } from "./core-DRtQklr3.js";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
- import { IconBraces } from "@tabler/icons-react";
4
-
3
+ import "@tabler/icons-react";
5
4
  //#region ../../src/demo/components/DemoHome.tsx
6
5
  const DemoHome = () => {
7
6
  return /* @__PURE__ */ jsxs(Flex, {
@@ -16,7 +15,7 @@ const DemoHome = () => {
16
15
  })]
17
16
  });
18
17
  };
19
-
20
18
  //#endregion
21
19
  export { DemoHome as default };
22
- //# sourceMappingURL=DemoHome-BSGuBHus.js.map
20
+
21
+ //# sourceMappingURL=DemoHome-DRbL2eGf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DemoHome-BSGuBHus.js","names":[],"sources":["../../src/demo/components/DemoHome.tsx"],"sourcesContent":["import { Flex, Text } from \"@alepha/ui\";\nimport { IconBraces } from \"@tabler/icons-react\";\n\nconst components = [\n {\n name: \"JsonViewer\",\n description:\n \"Interactive JSON viewer with syntax highlighting, expand/collapse, and copy functionality.\",\n icon: IconBraces,\n href: \"/demo/json-viewer\",\n },\n];\n\nconst DemoHome = () => {\n return (\n <Flex p={\"lg\"} col>\n <Text title>Component Showcase</Text>\n <Text c=\"dimmed\">\n Interactive demos and documentation for @alepha/ui components.\n </Text>\n </Flex>\n );\n};\n\nexport default DemoHome;\n"],"mappings":";;;;;AAaA,MAAM,iBAAiB;AACrB,QACE,qBAAC;EAAK,GAAG;EAAM;aACb,oBAAC;GAAK;aAAM;IAAyB,EACrC,oBAAC;GAAK,GAAE;aAAS;IAEV;GACF"}
1
+ {"version":3,"file":"DemoHome-DRbL2eGf.js","names":[],"sources":["../../src/demo/components/DemoHome.tsx"],"sourcesContent":["import { Flex, Text } from \"@alepha/ui\";\nimport { IconBraces } from \"@tabler/icons-react\";\n\nconst components = [\n {\n name: \"JsonViewer\",\n description:\n \"Interactive JSON viewer with syntax highlighting, expand/collapse, and copy functionality.\",\n icon: IconBraces,\n href: \"/demo/json-viewer\",\n },\n];\n\nconst DemoHome = () => {\n return (\n <Flex p={\"lg\"} col>\n <Text title>Component Showcase</Text>\n <Text c=\"dimmed\">\n Interactive demos and documentation for @alepha/ui components.\n </Text>\n </Flex>\n );\n};\n\nexport default DemoHome;\n"],"mappings":";;;;AAaA,MAAM,iBAAiB;AACrB,QACE,qBAAC,MAAD;EAAM,GAAG;EAAM,KAAA;YAAf,CACE,oBAAC,MAAD;GAAM,OAAA;aAAM;GAAyB,CAAA,EACrC,oBAAC,MAAD;GAAM,GAAE;aAAS;GAEV,CAAA,CACF"}
@@ -1,9 +1,8 @@
1
- import { i as JsonViewer } from "./core-B7LNjM78.js";
2
- import { t as Showcase } from "./Showcase-BtEU0pY9.js";
1
+ import { i as JsonViewer } from "./core-DRtQklr3.js";
2
+ import { t as Showcase } from "./Showcase-D49Wud2v.js";
3
3
  import { t } from "alepha";
4
4
  import { useI18n } from "alepha/react/i18n";
5
5
  import { jsx } from "react/jsx-runtime";
6
-
7
6
  //#region ../../src/demo/components/json/DemoJsonViewer.tsx
8
7
  const sampleData = {
9
8
  name: "Sample Project",
@@ -103,7 +102,7 @@ const DemoJsonViewer = () => {
103
102
  }, props.defaultExpandedDepth)
104
103
  });
105
104
  };
106
-
107
105
  //#endregion
108
106
  export { DemoJsonViewer as default };
109
- //# sourceMappingURL=DemoJsonViewer-DsA2IpgV.js.map
107
+
108
+ //# sourceMappingURL=DemoJsonViewer-DoABiqBW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DemoJsonViewer-DsA2IpgV.js","names":[],"sources":["../../src/demo/components/json/DemoJsonViewer.tsx"],"sourcesContent":["import { JsonViewer } from \"@alepha/ui\";\nimport { t } from \"alepha\";\nimport { useI18n } from \"alepha/react/i18n\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst sampleData = {\n name: \"Sample Project\",\n createdAt: \"2024-01-15T10:30:00.000Z\",\n updatedAt: \"2024-06-20T14:45:30.000Z\",\n count: 42,\n price: 99.99,\n isActive: true,\n nullValue: null,\n tags: [\"typescript\", \"react\", \"json\"],\n nested: {\n level1: {\n level2: {\n deepValue: \"Found me!\",\n },\n },\n },\n users: [\n { id: 1, name: \"Alice\", role: \"admin\" },\n { id: 2, name: \"Bob\", role: \"user\" },\n ],\n emptyArray: [],\n emptyObject: {},\n longText:\n \"This is a very long text that should be truncated when it exceeds the maximum string length configured in the viewer options.\",\n};\n\nconst $control = {\n switch: true,\n slider: true,\n segmented: true,\n};\n\nconst jsonViewerSchema = t.object({\n showQuotes: t.boolean({\n title: \"Show Quotes\",\n default: false,\n $control: {\n switch: true,\n },\n }),\n showCopyButton: t.boolean({\n title: \"Show Copy Button\",\n default: true,\n $control: {\n switch: true,\n },\n }),\n useFormatValue: t.boolean({\n title: \"Format Dates\",\n default: true,\n $control: {\n switch: true,\n },\n }),\n defaultExpandedDepth: t.integer({\n title: \"Expand Depth\",\n default: 2,\n minimum: 0,\n maximum: 10,\n $control: { slider: true },\n }),\n maxDepth: t.integer({\n title: \"Max Depth\",\n default: 10,\n minimum: 1,\n maximum: 20,\n $control: { slider: true },\n }),\n size: t.enum([\"xs\", \"sm\", \"md\", \"lg\", \"xl\"], {\n title: \"Size\",\n default: \"sm\",\n $control: {\n segmented: true,\n },\n }),\n});\n\nconst DemoJsonViewer = () => {\n const i18n = useI18n();\n const formatValue = (\n key: string | undefined,\n value: any,\n ): string | number | undefined => {\n if (key === \"createdAt\") {\n return i18n.l(value, { date: \"LLL\" });\n }\n if (key === \"updatedAt\") {\n return i18n.l(value, { date: \"fromNow\" });\n }\n return undefined;\n };\n\n return (\n <Showcase\n title=\"JsonViewer\"\n schema={jsonViewerSchema}\n initialValues={{\n showQuotes: false,\n showCopyButton: true,\n useFormatValue: true,\n defaultExpandedDepth: 2,\n maxDepth: 10,\n size: \"sm\",\n }}\n columns={1}\n >\n {(props) => (\n <JsonViewer\n key={props.defaultExpandedDepth}\n data={sampleData}\n defaultExpandedDepth={props.defaultExpandedDepth}\n showQuotes={props.showQuotes}\n showCopyButton={props.showCopyButton}\n formatValue={props.useFormatValue ? formatValue : undefined}\n maxDepth={props.maxDepth}\n size={props.size}\n />\n )}\n </Showcase>\n );\n};\n\nexport default DemoJsonViewer;\n"],"mappings":";;;;;;;AAKA,MAAM,aAAa;CACjB,MAAM;CACN,WAAW;CACX,WAAW;CACX,OAAO;CACP,OAAO;CACP,UAAU;CACV,WAAW;CACX,MAAM;EAAC;EAAc;EAAS;EAAO;CACrC,QAAQ,EACN,QAAQ,EACN,QAAQ,EACN,WAAW,aACZ,EACF,EACF;CACD,OAAO,CACL;EAAE,IAAI;EAAG,MAAM;EAAS,MAAM;EAAS,EACvC;EAAE,IAAI;EAAG,MAAM;EAAO,MAAM;EAAQ,CACrC;CACD,YAAY,EAAE;CACd,aAAa,EAAE;CACf,UACE;CACH;AAQD,MAAM,mBAAmB,EAAE,OAAO;CAChC,YAAY,EAAE,QAAQ;EACpB,OAAO;EACP,SAAS;EACT,UAAU,EACR,QAAQ,MACT;EACF,CAAC;CACF,gBAAgB,EAAE,QAAQ;EACxB,OAAO;EACP,SAAS;EACT,UAAU,EACR,QAAQ,MACT;EACF,CAAC;CACF,gBAAgB,EAAE,QAAQ;EACxB,OAAO;EACP,SAAS;EACT,UAAU,EACR,QAAQ,MACT;EACF,CAAC;CACF,sBAAsB,EAAE,QAAQ;EAC9B,OAAO;EACP,SAAS;EACT,SAAS;EACT,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,UAAU,EAAE,QAAQ;EAClB,OAAO;EACP,SAAS;EACT,SAAS;EACT,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,MAAM,EAAE,KAAK;EAAC;EAAM;EAAM;EAAM;EAAM;EAAK,EAAE;EAC3C,OAAO;EACP,SAAS;EACT,UAAU,EACR,WAAW,MACZ;EACF,CAAC;CACH,CAAC;AAEF,MAAM,uBAAuB;CAC3B,MAAM,OAAO,SAAS;CACtB,MAAM,eACJ,KACA,UACgC;AAChC,MAAI,QAAQ,YACV,QAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAI,QAAQ,YACV,QAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;;AAK7C,QACE,oBAAC;EACC,OAAM;EACN,QAAQ;EACR,eAAe;GACb,YAAY;GACZ,gBAAgB;GAChB,gBAAgB;GAChB,sBAAsB;GACtB,UAAU;GACV,MAAM;GACP;EACD,SAAS;aAEP,UACA,oBAAC;GAEC,MAAM;GACN,sBAAsB,MAAM;GAC5B,YAAY,MAAM;GAClB,gBAAgB,MAAM;GACtB,aAAa,MAAM,iBAAiB,cAAc;GAClD,UAAU,MAAM;GAChB,MAAM,MAAM;KAPP,MAAM,qBAQX;GAEK"}
1
+ {"version":3,"file":"DemoJsonViewer-DoABiqBW.js","names":[],"sources":["../../src/demo/components/json/DemoJsonViewer.tsx"],"sourcesContent":["import { JsonViewer } from \"@alepha/ui\";\nimport { t } from \"alepha\";\nimport { useI18n } from \"alepha/react/i18n\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst sampleData = {\n name: \"Sample Project\",\n createdAt: \"2024-01-15T10:30:00.000Z\",\n updatedAt: \"2024-06-20T14:45:30.000Z\",\n count: 42,\n price: 99.99,\n isActive: true,\n nullValue: null,\n tags: [\"typescript\", \"react\", \"json\"],\n nested: {\n level1: {\n level2: {\n deepValue: \"Found me!\",\n },\n },\n },\n users: [\n { id: 1, name: \"Alice\", role: \"admin\" },\n { id: 2, name: \"Bob\", role: \"user\" },\n ],\n emptyArray: [],\n emptyObject: {},\n longText:\n \"This is a very long text that should be truncated when it exceeds the maximum string length configured in the viewer options.\",\n};\n\nconst $control = {\n switch: true,\n slider: true,\n segmented: true,\n};\n\nconst jsonViewerSchema = t.object({\n showQuotes: t.boolean({\n title: \"Show Quotes\",\n default: false,\n $control: {\n switch: true,\n },\n }),\n showCopyButton: t.boolean({\n title: \"Show Copy Button\",\n default: true,\n $control: {\n switch: true,\n },\n }),\n useFormatValue: t.boolean({\n title: \"Format Dates\",\n default: true,\n $control: {\n switch: true,\n },\n }),\n defaultExpandedDepth: t.integer({\n title: \"Expand Depth\",\n default: 2,\n minimum: 0,\n maximum: 10,\n $control: { slider: true },\n }),\n maxDepth: t.integer({\n title: \"Max Depth\",\n default: 10,\n minimum: 1,\n maximum: 20,\n $control: { slider: true },\n }),\n size: t.enum([\"xs\", \"sm\", \"md\", \"lg\", \"xl\"], {\n title: \"Size\",\n default: \"sm\",\n $control: {\n segmented: true,\n },\n }),\n});\n\nconst DemoJsonViewer = () => {\n const i18n = useI18n();\n const formatValue = (\n key: string | undefined,\n value: any,\n ): string | number | undefined => {\n if (key === \"createdAt\") {\n return i18n.l(value, { date: \"LLL\" });\n }\n if (key === \"updatedAt\") {\n return i18n.l(value, { date: \"fromNow\" });\n }\n return undefined;\n };\n\n return (\n <Showcase\n title=\"JsonViewer\"\n schema={jsonViewerSchema}\n initialValues={{\n showQuotes: false,\n showCopyButton: true,\n useFormatValue: true,\n defaultExpandedDepth: 2,\n maxDepth: 10,\n size: \"sm\",\n }}\n columns={1}\n >\n {(props) => (\n <JsonViewer\n key={props.defaultExpandedDepth}\n data={sampleData}\n defaultExpandedDepth={props.defaultExpandedDepth}\n showQuotes={props.showQuotes}\n showCopyButton={props.showCopyButton}\n formatValue={props.useFormatValue ? formatValue : undefined}\n maxDepth={props.maxDepth}\n size={props.size}\n />\n )}\n </Showcase>\n );\n};\n\nexport default DemoJsonViewer;\n"],"mappings":";;;;;;AAKA,MAAM,aAAa;CACjB,MAAM;CACN,WAAW;CACX,WAAW;CACX,OAAO;CACP,OAAO;CACP,UAAU;CACV,WAAW;CACX,MAAM;EAAC;EAAc;EAAS;EAAO;CACrC,QAAQ,EACN,QAAQ,EACN,QAAQ,EACN,WAAW,aACZ,EACF,EACF;CACD,OAAO,CACL;EAAE,IAAI;EAAG,MAAM;EAAS,MAAM;EAAS,EACvC;EAAE,IAAI;EAAG,MAAM;EAAO,MAAM;EAAQ,CACrC;CACD,YAAY,EAAE;CACd,aAAa,EAAE;CACf,UACE;CACH;AAQD,MAAM,mBAAmB,EAAE,OAAO;CAChC,YAAY,EAAE,QAAQ;EACpB,OAAO;EACP,SAAS;EACT,UAAU,EACR,QAAQ,MACT;EACF,CAAC;CACF,gBAAgB,EAAE,QAAQ;EACxB,OAAO;EACP,SAAS;EACT,UAAU,EACR,QAAQ,MACT;EACF,CAAC;CACF,gBAAgB,EAAE,QAAQ;EACxB,OAAO;EACP,SAAS;EACT,UAAU,EACR,QAAQ,MACT;EACF,CAAC;CACF,sBAAsB,EAAE,QAAQ;EAC9B,OAAO;EACP,SAAS;EACT,SAAS;EACT,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,UAAU,EAAE,QAAQ;EAClB,OAAO;EACP,SAAS;EACT,SAAS;EACT,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,MAAM,EAAE,KAAK;EAAC;EAAM;EAAM;EAAM;EAAM;EAAK,EAAE;EAC3C,OAAO;EACP,SAAS;EACT,UAAU,EACR,WAAW,MACZ;EACF,CAAC;CACH,CAAC;AAEF,MAAM,uBAAuB;CAC3B,MAAM,OAAO,SAAS;CACtB,MAAM,eACJ,KACA,UACgC;AAChC,MAAI,QAAQ,YACV,QAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAI,QAAQ,YACV,QAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;;AAK7C,QACE,oBAAC,UAAD;EACE,OAAM;EACN,QAAQ;EACR,eAAe;GACb,YAAY;GACZ,gBAAgB;GAChB,gBAAgB;GAChB,sBAAsB;GACtB,UAAU;GACV,MAAM;GACP;EACD,SAAS;aAEP,UACA,oBAAC,YAAD;GAEE,MAAM;GACN,sBAAsB,MAAM;GAC5B,YAAY,MAAM;GAClB,gBAAgB,MAAM;GACtB,aAAa,MAAM,iBAAiB,cAAc,KAAA;GAClD,UAAU,MAAM;GAChB,MAAM,MAAM;GACZ,EARK,MAAM,qBAQX;EAEK,CAAA"}
@@ -1,23 +1,26 @@
1
- import { _ as AlephaMantineProvider, c as DashboardShell, g as ui, p as ToggleSidebarButton, u as Breadcrumb } from "./core-B7LNjM78.js";
1
+ import { _ as AlephaMantineProvider, g as ui, p as ToggleSidebarButton, s as DashboardShell, u as Breadcrumbs } from "./core-DRtQklr3.js";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { useRouter } from "alepha/react/router";
4
-
5
4
  //#region ../../src/demo/components/DemoLayout.tsx
6
5
  const DemoLayout = () => {
7
6
  const router = useRouter();
8
7
  return /* @__PURE__ */ jsx(AlephaMantineProvider, { children: /* @__PURE__ */ jsx(DashboardShell, {
8
+ fill: true,
9
9
  appShellProps: {
10
10
  withBorder: false,
11
11
  bg: ui.colors.background
12
12
  },
13
- appShellHeaderProps: { bg: "transparent" },
13
+ appShellHeaderProps: {
14
+ bg: "transparent",
15
+ style: { backdropFilter: "blur(10px)" }
16
+ },
14
17
  appBarProps: { items: [
15
18
  {
16
19
  type: "burger",
17
20
  position: "left"
18
21
  },
19
22
  {
20
- element: /* @__PURE__ */ jsx(Breadcrumb, {}),
23
+ element: /* @__PURE__ */ jsx(Breadcrumbs, {}),
21
24
  position: "left"
22
25
  },
23
26
  {
@@ -46,7 +49,7 @@ const DemoLayout = () => {
46
49
  },
47
50
  {
48
51
  ...router.node("demoForm"),
49
- children: [router.node("demoTypeForm")]
52
+ children: [router.node("demoTypeForm"), router.node("demoControlSelect")]
50
53
  },
51
54
  {
52
55
  ...router.node("demoTable"),
@@ -58,7 +61,12 @@ const DemoLayout = () => {
58
61
  },
59
62
  {
60
63
  ...router.node("demoAuth"),
61
- children: [router.node("demoLogin"), router.node("demoRegister")]
64
+ children: [
65
+ router.node("demoLogin"),
66
+ router.node("demoRegister"),
67
+ router.node("demoResetPassword"),
68
+ router.node("demoVerifyEmail")
69
+ ]
62
70
  },
63
71
  {
64
72
  position: "bottom",
@@ -67,7 +75,7 @@ const DemoLayout = () => {
67
75
  ] }
68
76
  }) });
69
77
  };
70
-
71
78
  //#endregion
72
79
  export { DemoLayout as default };
73
- //# sourceMappingURL=DemoLayout-Cy6xjn6P.js.map
80
+
81
+ //# sourceMappingURL=DemoLayout-CN_PDCX2.js.map