@alepha/ui 0.18.2 → 0.18.3

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 (231) hide show
  1. package/dist/admin/{AdminApiKeys-BJhIwfD6.js → AdminApiKeys-Dy_k-4Vd.js} +2 -2
  2. package/dist/admin/{AdminApiKeys-BJhIwfD6.js.map → AdminApiKeys-Dy_k-4Vd.js.map} +1 -1
  3. package/dist/admin/{AdminAudits-DzD_4cDt.js → AdminAudits-CKiFMSSU.js} +2 -2
  4. package/dist/admin/{AdminAudits-DzD_4cDt.js.map → AdminAudits-CKiFMSSU.js.map} +1 -1
  5. package/dist/admin/{AdminDashboard-C92tIc6x.js → AdminDashboard-PhC_dZqo.js} +2 -2
  6. package/dist/admin/{AdminDashboard-C92tIc6x.js.map → AdminDashboard-PhC_dZqo.js.map} +1 -1
  7. package/dist/admin/{AdminFiles-DLpfhBkf.js → AdminFiles-DFTjijGp.js} +2 -2
  8. package/dist/admin/{AdminFiles-DLpfhBkf.js.map → AdminFiles-DFTjijGp.js.map} +1 -1
  9. package/dist/admin/{AdminJobDashboard-KIOkeMgE.js → AdminJobDashboard-BL8gGPDp.js} +2 -2
  10. package/dist/admin/{AdminJobDashboard-KIOkeMgE.js.map → AdminJobDashboard-BL8gGPDp.js.map} +1 -1
  11. package/dist/admin/{AdminJobExecutions-D0Yo_PU0.js → AdminJobExecutions-D9E-CS-U.js} +2 -2
  12. package/dist/admin/{AdminJobExecutions-D0Yo_PU0.js.map → AdminJobExecutions-D9E-CS-U.js.map} +1 -1
  13. package/dist/admin/{AdminJobRegistry-PFajqaGK.js → AdminJobRegistry-Ci9ue1zC.js} +2 -2
  14. package/dist/admin/{AdminJobRegistry-PFajqaGK.js.map → AdminJobRegistry-Ci9ue1zC.js.map} +1 -1
  15. package/dist/admin/{AdminLayout-B1DXZHDn.js → AdminLayout-I6TlUMPc.js} +2 -2
  16. package/dist/admin/{AdminLayout-B1DXZHDn.js.map → AdminLayout-I6TlUMPc.js.map} +1 -1
  17. package/dist/admin/AdminNotifications-ZPHCYrv7.js +542 -0
  18. package/dist/admin/AdminNotifications-ZPHCYrv7.js.map +1 -0
  19. package/dist/admin/{AdminParameters-BspPeqp_.js → AdminParameters-CqgvhRsb.js} +120 -105
  20. package/dist/admin/AdminParameters-CqgvhRsb.js.map +1 -0
  21. package/dist/admin/{AdminSessions-BnH5CZQl.js → AdminSessions-Bz5NRuoW.js} +2 -2
  22. package/dist/admin/{AdminSessions-BnH5CZQl.js.map → AdminSessions-Bz5NRuoW.js.map} +1 -1
  23. package/dist/admin/{AdminUserLayout-DUbC6-BI.js → AdminUserLayout-lXT6I0Qq.js} +14 -8
  24. package/dist/admin/AdminUserLayout-lXT6I0Qq.js.map +1 -0
  25. package/dist/admin/{AdminUserProfile-DuTUnjdG.js → AdminUserProfile-vFBLoJ3h.js} +3 -3
  26. package/dist/admin/{AdminUserProfile-DuTUnjdG.js.map → AdminUserProfile-vFBLoJ3h.js.map} +1 -1
  27. package/dist/admin/{AdminUserSessions-DvZdAGpL.js → AdminUserSessions-CT_YDim0.js} +2 -2
  28. package/dist/admin/{AdminUserSessions-DvZdAGpL.js.map → AdminUserSessions-CT_YDim0.js.map} +1 -1
  29. package/dist/admin/{AdminUsers-CR9z0g_5.js → AdminUsers-D1UfGya9.js} +2 -2
  30. package/dist/admin/{AdminUsers-CR9z0g_5.js.map → AdminUsers-D1UfGya9.js.map} +1 -1
  31. package/dist/admin/{AuthLayout-DsUfp9RG.js → AuthLayout-_frhdgOO.js} +2 -2
  32. package/dist/admin/{AuthLayout-DsUfp9RG.js.map → AuthLayout-_frhdgOO.js.map} +1 -1
  33. package/dist/admin/Login-xtNmQtGh.js +275 -0
  34. package/dist/admin/Login-xtNmQtGh.js.map +1 -0
  35. package/dist/admin/{Profile-B2EcIDB9.js → Profile-_AtPUwAP.js} +31 -27
  36. package/dist/admin/Profile-_AtPUwAP.js.map +1 -0
  37. package/dist/admin/{Register-Z3fxRbUF.js → Register-JcCjHUUn.js} +198 -142
  38. package/dist/admin/Register-JcCjHUUn.js.map +1 -0
  39. package/dist/admin/{ResetPassword-_Y1qTTKh.js → ResetPassword-CwGBPLJO.js} +7 -7
  40. package/dist/admin/ResetPassword-CwGBPLJO.js.map +1 -0
  41. package/dist/admin/{VerifyEmail-Bg22bwcC.js → VerifyEmail-hNxWejWf.js} +23 -8
  42. package/dist/admin/VerifyEmail-hNxWejWf.js.map +1 -0
  43. package/dist/admin/{core-BVO_TQxb.js → core-CYaRQ8O-.js} +709 -556
  44. package/dist/admin/core-CYaRQ8O-.js.map +1 -0
  45. package/dist/admin/index.d.ts +83 -44
  46. package/dist/admin/index.d.ts.map +1 -1
  47. package/dist/admin/index.js +58 -39
  48. package/dist/admin/index.js.map +1 -1
  49. package/dist/auth/{AuthLayout-C161NeF6.js → AuthLayout-AvLlcLjS.js} +2 -2
  50. package/dist/auth/{AuthLayout-C161NeF6.js.map → AuthLayout-AvLlcLjS.js.map} +1 -1
  51. package/dist/auth/Login-BA1E8IZl.js +275 -0
  52. package/dist/auth/Login-BA1E8IZl.js.map +1 -0
  53. package/dist/auth/{Profile-BMpXJ0oi.js → Profile-YcWdeuFz.js} +31 -27
  54. package/dist/auth/Profile-YcWdeuFz.js.map +1 -0
  55. package/dist/auth/{Register-2gx8qll-.js → Register-CPhEO5MG.js} +198 -142
  56. package/dist/auth/Register-CPhEO5MG.js.map +1 -0
  57. package/dist/{demo/ResetPassword-CAPj8MO3.js → auth/ResetPassword-DCtGcneA.js} +7 -7
  58. package/dist/auth/ResetPassword-DCtGcneA.js.map +1 -0
  59. package/dist/{demo/VerifyEmail-DFmdCdYs.js → auth/VerifyEmail-DkH7NBfn.js} +23 -8
  60. package/dist/auth/VerifyEmail-DkH7NBfn.js.map +1 -0
  61. package/dist/auth/{core-DyfeVr5c.js → core-D5jIAVF2.js} +386 -294
  62. package/dist/auth/core-D5jIAVF2.js.map +1 -0
  63. package/dist/auth/index.d.ts +93 -48
  64. package/dist/auth/index.d.ts.map +1 -1
  65. package/dist/auth/index.js +28 -24
  66. package/dist/auth/index.js.map +1 -1
  67. package/dist/core/index.d.ts +116 -61
  68. package/dist/core/index.d.ts.map +1 -1
  69. package/dist/core/index.js +873 -701
  70. package/dist/core/index.js.map +1 -1
  71. package/dist/demo/{AuthLayout-DN-ClJQk.js → AuthLayout-Brri4A-L.js} +2 -2
  72. package/dist/demo/{AuthLayout-DN-ClJQk.js.map → AuthLayout-Brri4A-L.js.map} +1 -1
  73. package/dist/demo/DemoButton-wiCxZZ_L.js +182 -0
  74. package/dist/demo/DemoButton-wiCxZZ_L.js.map +1 -0
  75. package/dist/demo/DemoControlSelect-D7ILObVg.js +305 -0
  76. package/dist/demo/DemoControlSelect-D7ILObVg.js.map +1 -0
  77. package/dist/demo/DemoDataTable-DZ5Y8pFX.js +362 -0
  78. package/dist/demo/DemoDataTable-DZ5Y8pFX.js.map +1 -0
  79. package/dist/demo/{DemoDialog-DW8QEvD1.js → DemoDialog-CUWdLHim.js} +2 -2
  80. package/dist/demo/{DemoDialog-DW8QEvD1.js.map → DemoDialog-CUWdLHim.js.map} +1 -1
  81. package/dist/demo/{DemoFlex-CAhLUanT.js → DemoFlex-a8OhMMvq.js} +3 -3
  82. package/dist/demo/{DemoFlex-CAhLUanT.js.map → DemoFlex-a8OhMMvq.js.map} +1 -1
  83. package/dist/demo/{DemoHeading-yIFmNjHB.js → DemoHeading-C13OVDfS.js} +3 -3
  84. package/dist/demo/{DemoHeading-yIFmNjHB.js.map → DemoHeading-C13OVDfS.js.map} +1 -1
  85. package/dist/demo/{DemoHome-BSGuBHus.js → DemoHome-D_De3UiT.js} +2 -2
  86. package/dist/demo/{DemoHome-BSGuBHus.js.map → DemoHome-D_De3UiT.js.map} +1 -1
  87. package/dist/demo/{DemoJsonViewer-DsA2IpgV.js → DemoJsonViewer-B50s9aGM.js} +3 -3
  88. package/dist/demo/{DemoJsonViewer-DsA2IpgV.js.map → DemoJsonViewer-B50s9aGM.js.map} +1 -1
  89. package/dist/demo/{DemoLayout-Cy6xjn6P.js → DemoLayout-CHU8WTwO.js} +14 -5
  90. package/dist/demo/DemoLayout-CHU8WTwO.js.map +1 -0
  91. package/dist/demo/{DemoLogin-vqxgTu4P.js → DemoLogin-BBlrWpml.js} +49 -32
  92. package/dist/demo/DemoLogin-BBlrWpml.js.map +1 -0
  93. package/dist/demo/{DemoRegister-YHPvPg77.js → DemoRegister-BuNE3_-f.js} +49 -50
  94. package/dist/demo/DemoRegister-BuNE3_-f.js.map +1 -0
  95. package/dist/demo/{DemoResetPassword-mOW18Zlm.js → DemoResetPassword-D_IjjjOJ.js} +12 -16
  96. package/dist/demo/DemoResetPassword-D_IjjjOJ.js.map +1 -0
  97. package/dist/demo/{DemoSidebar-od7aLjP_.js → DemoSidebar-Giy2HRBD.js} +3 -3
  98. package/dist/demo/{DemoSidebar-od7aLjP_.js.map → DemoSidebar-Giy2HRBD.js.map} +1 -1
  99. package/dist/demo/{DemoText-DU3JeRS0.js → DemoText-ubcw-vog.js} +3 -3
  100. package/dist/demo/{DemoText-DU3JeRS0.js.map → DemoText-ubcw-vog.js.map} +1 -1
  101. package/dist/demo/{DemoToast-CUJEiPRa.js → DemoToast-9die_dYT.js} +2 -2
  102. package/dist/demo/{DemoToast-CUJEiPRa.js.map → DemoToast-9die_dYT.js.map} +1 -1
  103. package/dist/demo/{DemoTypeForm-C1dNkahD.js → DemoTypeForm-D_d6OVKL.js} +8 -4
  104. package/dist/demo/DemoTypeForm-D_d6OVKL.js.map +1 -0
  105. package/dist/demo/DemoVerifyEmail-B43KlF4F.js +34 -0
  106. package/dist/demo/DemoVerifyEmail-B43KlF4F.js.map +1 -0
  107. package/dist/demo/Login-C12N4oGs.js +275 -0
  108. package/dist/demo/Login-C12N4oGs.js.map +1 -0
  109. package/dist/demo/{Profile-BE_Y3co2.js → Profile-DS5q4vOh.js} +31 -27
  110. package/dist/demo/Profile-DS5q4vOh.js.map +1 -0
  111. package/dist/demo/{Register-fXHmBpr3.js → Register-B4hLBeEv.js} +198 -142
  112. package/dist/demo/Register-B4hLBeEv.js.map +1 -0
  113. package/dist/{auth/ResetPassword-DBxt9hKk.js → demo/ResetPassword-D8g9ha1N.js} +7 -7
  114. package/dist/demo/ResetPassword-D8g9ha1N.js.map +1 -0
  115. package/dist/demo/{Showcase-BtEU0pY9.js → Showcase-D6Fxt4X4.js} +64 -65
  116. package/dist/demo/Showcase-D6Fxt4X4.js.map +1 -0
  117. package/dist/{auth/VerifyEmail-Z80Ubajk.js → demo/VerifyEmail-BjDo0cZA.js} +23 -8
  118. package/dist/demo/VerifyEmail-BjDo0cZA.js.map +1 -0
  119. package/dist/demo/{auth-Djd7SKiw.js → auth-ByVTreDl.js} +8 -8
  120. package/dist/demo/{auth-Djd7SKiw.js.map → auth-ByVTreDl.js.map} +1 -1
  121. package/dist/demo/{core-B7LNjM78.js → core-DFgB3yU4.js} +741 -573
  122. package/dist/demo/core-DFgB3yU4.js.map +1 -0
  123. package/dist/demo/index.d.ts +1 -0
  124. package/dist/demo/index.d.ts.map +1 -1
  125. package/dist/demo/index.js +24 -18
  126. package/dist/demo/index.js.map +1 -1
  127. package/package.json +7 -7
  128. package/src/admin/AdminRouter.tsx +24 -1
  129. package/src/admin/components/notifications/AdminNotifications.tsx +519 -0
  130. package/src/admin/components/parameters/ParameterDetails.tsx +12 -270
  131. package/src/admin/components/parameters/ParameterDetailsConfigForm.tsx +238 -0
  132. package/src/admin/components/parameters/ParameterDetailsLoading.tsx +24 -0
  133. package/src/admin/components/parameters/ParameterHistory.tsx +10 -11
  134. package/src/admin/components/parameters/ParameterTree.tsx +28 -184
  135. package/src/admin/components/parameters/ParameterTreeNode.tsx +151 -0
  136. package/src/admin/components/shared/AdminResourceHeader.tsx +2 -25
  137. package/src/admin/components/shared/AdminResourceHeaderMenuItem.tsx +37 -0
  138. package/src/admin/components/shared/AdminResourceTabs.tsx +2 -26
  139. package/src/admin/components/shared/AdminResourceTabsItem.tsx +36 -0
  140. package/src/auth/components/Login.tsx +188 -121
  141. package/src/auth/components/Profile.tsx +1 -22
  142. package/src/auth/components/ProfileField.tsx +39 -0
  143. package/src/auth/components/Register.tsx +215 -158
  144. package/src/auth/components/ResetPassword.tsx +7 -11
  145. package/src/auth/components/VerifyEmail.tsx +35 -10
  146. package/src/auth/components/buttons/UserButton.tsx +19 -21
  147. package/src/auth/index.ts +1 -0
  148. package/src/core/components/Flex.tsx +10 -0
  149. package/src/core/components/buttons/ActionButton.tsx +104 -78
  150. package/src/core/components/data/DetailDrawer.tsx +102 -96
  151. package/src/core/components/data/DetailList.tsx +2 -1
  152. package/src/core/components/layout/Breadcrumb.tsx +3 -6
  153. package/src/core/components/layout/DashboardShell.tsx +18 -4
  154. package/src/core/components/layout/Sidebar.tsx +16 -241
  155. package/src/core/components/layout/SidebarCollapsedItem.tsx +91 -0
  156. package/src/core/components/layout/SidebarItem.tsx +146 -0
  157. package/src/core/components/layout/index.ts +3 -1
  158. package/src/core/form/components/Control.tsx +31 -29
  159. package/src/core/form/components/ControlArray.tsx +13 -39
  160. package/src/core/form/components/ControlDate.tsx +10 -21
  161. package/src/core/form/components/ControlNumber.tsx +4 -33
  162. package/src/core/form/components/ControlQueryBuilder.tsx +12 -175
  163. package/src/core/form/components/ControlQueryBuilderHelp.tsx +165 -0
  164. package/src/core/form/components/ControlSelect.browser.spec.tsx +343 -0
  165. package/src/core/form/components/ControlSelect.tsx +294 -92
  166. package/src/core/form/components/TypeForm.browser.spec.tsx +3 -3
  167. package/src/core/form/components/TypeForm.tsx +5 -2
  168. package/src/core/form/index.ts +8 -1
  169. package/src/core/form/utils/parseInput.ts +7 -3
  170. package/src/core/index.ts +3 -1
  171. package/src/core/json/components/JsonViewer.tsx +103 -319
  172. package/src/core/json/components/JsonViewerCopyButton.tsx +46 -0
  173. package/src/core/json/components/JsonViewerRowNode.tsx +120 -0
  174. package/src/core/json/components/JsonViewerShared.ts +76 -0
  175. package/src/core/styles.css +12 -2
  176. package/src/core/table/components/ColumnPicker.tsx +3 -3
  177. package/src/core/table/components/DataTable.tsx +89 -29
  178. package/src/core/table/components/DataTableFilters.tsx +6 -11
  179. package/src/core/table/components/DataTablePagination.tsx +9 -3
  180. package/src/core/table/components/DataTableToolbar.tsx +7 -3
  181. package/src/core/table/components/FilterPicker.tsx +3 -3
  182. package/src/core/table/interfaces/types.ts +29 -0
  183. package/src/core/utils/icons.tsx +2 -2
  184. package/src/demo/DemoRouter.ts +8 -1
  185. package/src/demo/components/DemoLayout.tsx +12 -2
  186. package/src/demo/components/auth/DemoLogin.tsx +35 -28
  187. package/src/demo/components/auth/DemoRegister.tsx +35 -49
  188. package/src/demo/components/auth/DemoResetPassword.tsx +5 -9
  189. package/src/demo/components/auth/DemoVerifyEmail.tsx +7 -6
  190. package/src/demo/components/core/DemoButton.tsx +123 -103
  191. package/src/demo/components/core/DemoControlSelect.tsx +325 -0
  192. package/src/demo/components/core/DemoDataTable.tsx +255 -237
  193. package/src/demo/components/core/DemoTypeForm.tsx +7 -2
  194. package/src/demo/components/shared/MacWindow.tsx +5 -11
  195. package/src/demo/components/shared/Showcase.tsx +28 -42
  196. package/dist/admin/AdminParameters-BspPeqp_.js.map +0 -1
  197. package/dist/admin/AdminUserLayout-DUbC6-BI.js.map +0 -1
  198. package/dist/admin/Login-DHbYJKwg.js +0 -219
  199. package/dist/admin/Login-DHbYJKwg.js.map +0 -1
  200. package/dist/admin/Profile-B2EcIDB9.js.map +0 -1
  201. package/dist/admin/Register-Z3fxRbUF.js.map +0 -1
  202. package/dist/admin/ResetPassword-_Y1qTTKh.js.map +0 -1
  203. package/dist/admin/VerifyEmail-Bg22bwcC.js.map +0 -1
  204. package/dist/admin/core-BVO_TQxb.js.map +0 -1
  205. package/dist/auth/Login-C7jIqf00.js +0 -219
  206. package/dist/auth/Login-C7jIqf00.js.map +0 -1
  207. package/dist/auth/Profile-BMpXJ0oi.js.map +0 -1
  208. package/dist/auth/Register-2gx8qll-.js.map +0 -1
  209. package/dist/auth/ResetPassword-DBxt9hKk.js.map +0 -1
  210. package/dist/auth/VerifyEmail-Z80Ubajk.js.map +0 -1
  211. package/dist/auth/core-DyfeVr5c.js.map +0 -1
  212. package/dist/demo/DemoButton-CGUyR9eM.js +0 -178
  213. package/dist/demo/DemoButton-CGUyR9eM.js.map +0 -1
  214. package/dist/demo/DemoDataTable-QFG-xXSx.js +0 -358
  215. package/dist/demo/DemoDataTable-QFG-xXSx.js.map +0 -1
  216. package/dist/demo/DemoLayout-Cy6xjn6P.js.map +0 -1
  217. package/dist/demo/DemoLogin-vqxgTu4P.js.map +0 -1
  218. package/dist/demo/DemoRegister-YHPvPg77.js.map +0 -1
  219. package/dist/demo/DemoResetPassword-mOW18Zlm.js.map +0 -1
  220. package/dist/demo/DemoTypeForm-C1dNkahD.js.map +0 -1
  221. package/dist/demo/DemoVerifyEmail-D9EcXZ38.js +0 -30
  222. package/dist/demo/DemoVerifyEmail-D9EcXZ38.js.map +0 -1
  223. package/dist/demo/Login-CoYf_P_F.js +0 -219
  224. package/dist/demo/Login-CoYf_P_F.js.map +0 -1
  225. package/dist/demo/Profile-BE_Y3co2.js.map +0 -1
  226. package/dist/demo/Register-fXHmBpr3.js.map +0 -1
  227. package/dist/demo/ResetPassword-CAPj8MO3.js.map +0 -1
  228. package/dist/demo/Showcase-BtEU0pY9.js.map +0 -1
  229. package/dist/demo/VerifyEmail-DFmdCdYs.js.map +0 -1
  230. package/dist/demo/core-B7LNjM78.js.map +0 -1
  231. package/src/demo/styles.css +0 -0
@@ -1,16 +1,21 @@
1
- import "./core-B7LNjM78.js";
1
+ import "./core-DFgB3yU4.js";
2
2
  import "./IconGoogle-CSQLPYwX.js";
3
- import { t as Login } from "./Login-CoYf_P_F.js";
4
- import "./Register-fXHmBpr3.js";
5
- import "./ResetPassword-CAPj8MO3.js";
6
- import "./VerifyEmail-DFmdCdYs.js";
7
- import "./auth-Djd7SKiw.js";
8
- import { t as Showcase } from "./Showcase-BtEU0pY9.js";
3
+ import { t as Login } from "./Login-C12N4oGs.js";
4
+ import "./Register-B4hLBeEv.js";
5
+ import "./ResetPassword-D8g9ha1N.js";
6
+ import "./VerifyEmail-BjDo0cZA.js";
7
+ import "./auth-ByVTreDl.js";
8
+ import { t as Showcase } from "./Showcase-D6Fxt4X4.js";
9
9
  import { t } from "alepha";
10
10
  import { jsx } from "react/jsx-runtime";
11
11
 
12
12
  //#region ../../src/demo/components/auth/DemoLogin.tsx
13
13
  const showcaseSchema = t.object({
14
+ variant: t.string({
15
+ title: "Variant",
16
+ default: "card",
17
+ enum: ["card", "split"]
18
+ }),
14
19
  showCredentials: t.boolean({
15
20
  title: "Credentials",
16
21
  default: true,
@@ -26,20 +31,32 @@ const showcaseSchema = t.object({
26
31
  default: false,
27
32
  $control: { switch: true }
28
33
  }),
29
- usernameEnabled: t.boolean({
30
- title: "Username Login",
31
- default: true,
32
- $control: { switch: true }
34
+ username: t.string({
35
+ title: "Username",
36
+ default: "optional",
37
+ enum: [
38
+ "none",
39
+ "optional",
40
+ "required"
41
+ ]
33
42
  }),
34
- emailEnabled: t.boolean({
35
- title: "Email Login",
36
- default: true,
37
- $control: { switch: true }
43
+ email: t.string({
44
+ title: "Email",
45
+ default: "optional",
46
+ enum: [
47
+ "none",
48
+ "optional",
49
+ "required"
50
+ ]
38
51
  }),
39
- phoneEnabled: t.boolean({
40
- title: "Phone Login",
41
- default: false,
42
- $control: { switch: true }
52
+ phoneNumber: t.string({
53
+ title: "Phone Number",
54
+ default: "none",
55
+ enum: [
56
+ "none",
57
+ "optional",
58
+ "required"
59
+ ]
43
60
  }),
44
61
  registrationAllowed: t.boolean({
45
62
  title: "Show Sign Up",
@@ -79,17 +96,13 @@ const buildRealmConfig = (props) => {
79
96
  description: props.showBranding ? "Sign in to continue" : void 0,
80
97
  logoUrl: void 0,
81
98
  registrationAllowed: props.registrationAllowed,
82
- emailEnabled: props.emailEnabled,
83
- emailRequired: false,
84
- usernameEnabled: props.usernameEnabled,
99
+ email: props.email,
100
+ username: props.username,
85
101
  usernameRegExp: "^[a-zA-Z0-9_]{3,30}$",
86
- usernameRequired: false,
87
- phoneEnabled: props.phoneEnabled,
88
- phoneRequired: false,
102
+ phoneNumber: props.phoneNumber,
89
103
  verifyEmailRequired: false,
90
104
  verifyPhoneRequired: false,
91
- firstNameLastNameEnabled: false,
92
- firstNameLastNameRequired: false,
105
+ firstNameLastName: "none",
93
106
  resetPasswordAllowed: props.resetPasswordAllowed,
94
107
  adminEmails: [],
95
108
  adminUsernames: [],
@@ -108,21 +121,25 @@ const DemoLogin = () => {
108
121
  title: "Login",
109
122
  schema: showcaseSchema,
110
123
  initialValues: {
124
+ variant: "card",
111
125
  showCredentials: true,
112
126
  showGoogleOAuth: true,
113
127
  showGithubOAuth: false,
114
- usernameEnabled: true,
115
- emailEnabled: true,
116
- phoneEnabled: false,
128
+ username: "optional",
129
+ email: "optional",
130
+ phoneNumber: "none",
117
131
  registrationAllowed: true,
118
132
  resetPasswordAllowed: true,
119
133
  showBranding: true
120
134
  },
121
135
  columns: 1,
122
- children: (props) => /* @__PURE__ */ jsx(Login, { realmConfig: buildRealmConfig(props) })
136
+ children: (props) => /* @__PURE__ */ jsx(Login, {
137
+ realmConfig: buildRealmConfig(props),
138
+ variant: props.variant
139
+ })
123
140
  });
124
141
  };
125
142
 
126
143
  //#endregion
127
144
  export { DemoLogin as default };
128
- //# sourceMappingURL=DemoLogin-vqxgTu4P.js.map
145
+ //# sourceMappingURL=DemoLogin-BBlrWpml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DemoLogin-BBlrWpml.js","names":[],"sources":["../../src/demo/components/auth/DemoLogin.tsx"],"sourcesContent":["import { Login } from \"@alepha/ui/auth\";\nimport { t } from \"alepha\";\nimport type { FieldRequirement, RealmConfig } from \"alepha/api/users\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst showcaseSchema = t.object({\n variant: t.string({\n title: \"Variant\",\n default: \"card\",\n enum: [\"card\", \"split\"],\n }),\n showCredentials: t.boolean({\n title: \"Credentials\",\n default: true,\n $control: { switch: true },\n }),\n showGoogleOAuth: t.boolean({\n title: \"Google OAuth\",\n default: true,\n $control: { switch: true },\n }),\n showGithubOAuth: t.boolean({\n title: \"GitHub OAuth\",\n default: false,\n $control: { switch: true },\n }),\n username: t.string({\n title: \"Username\",\n default: \"optional\",\n enum: [\"none\", \"optional\", \"required\"],\n }),\n email: t.string({\n title: \"Email\",\n default: \"optional\",\n enum: [\"none\", \"optional\", \"required\"],\n }),\n phoneNumber: t.string({\n title: \"Phone Number\",\n default: \"none\",\n enum: [\"none\", \"optional\", \"required\"],\n }),\n registrationAllowed: t.boolean({\n title: \"Show Sign Up\",\n default: true,\n $control: { switch: true },\n }),\n resetPasswordAllowed: t.boolean({\n title: \"Forgot Password\",\n default: true,\n $control: { switch: true },\n }),\n showBranding: t.boolean({\n title: \"Show Branding\",\n default: true,\n $control: { switch: true },\n }),\n});\n\nconst buildRealmConfig = (props: {\n showCredentials: boolean;\n showGoogleOAuth: boolean;\n showGithubOAuth: boolean;\n username: string;\n email: string;\n phoneNumber: string;\n registrationAllowed: boolean;\n resetPasswordAllowed: boolean;\n showBranding: boolean;\n}): RealmConfig => {\n const authMethods: RealmConfig[\"authenticationMethods\"] = [];\n\n if (props.showCredentials) {\n authMethods.push({ name: \"credentials\", type: \"CREDENTIALS\" });\n }\n if (props.showGoogleOAuth) {\n authMethods.push({ name: \"google\", type: \"OAUTH2\" });\n }\n if (props.showGithubOAuth) {\n authMethods.push({ name: \"github\", type: \"OAUTH2\" });\n }\n\n return {\n realmName: \"demo\",\n authenticationMethods: authMethods,\n settings: {\n displayName: props.showBranding ? \"Demo App\" : undefined,\n description: props.showBranding ? \"Sign in to continue\" : undefined,\n logoUrl: undefined,\n registrationAllowed: props.registrationAllowed,\n email: props.email as FieldRequirement,\n username: props.username as FieldRequirement,\n usernameRegExp: \"^[a-zA-Z0-9_]{3,30}$\",\n phoneNumber: props.phoneNumber as FieldRequirement,\n verifyEmailRequired: false,\n verifyPhoneRequired: false,\n firstNameLastName: \"none\" as FieldRequirement,\n resetPasswordAllowed: props.resetPasswordAllowed,\n adminEmails: [],\n adminUsernames: [],\n passwordPolicy: {\n minLength: 8,\n requireUppercase: true,\n requireLowercase: true,\n requireNumbers: true,\n requireSpecialCharacters: false,\n },\n },\n };\n};\n\nconst DemoLogin = () => {\n return (\n <Showcase\n title=\"Login\"\n schema={showcaseSchema}\n initialValues={{\n variant: \"card\",\n showCredentials: true,\n showGoogleOAuth: true,\n showGithubOAuth: false,\n username: \"optional\",\n email: \"optional\",\n phoneNumber: \"none\",\n registrationAllowed: true,\n resetPasswordAllowed: true,\n showBranding: true,\n }}\n columns={1}\n >\n {(props) => (\n <Login\n realmConfig={buildRealmConfig(props)}\n variant={props.variant as \"card\" | \"split\"}\n />\n )}\n </Showcase>\n );\n};\n\nexport default DemoLogin;\n"],"mappings":";;;;;;;;;;;;AAKA,MAAM,iBAAiB,EAAE,OAAO;CAC9B,SAAS,EAAE,OAAO;EAChB,OAAO;EACP,SAAS;EACT,MAAM,CAAC,QAAQ,QAAQ;EACxB,CAAC;CACF,iBAAiB,EAAE,QAAQ;EACzB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,iBAAiB,EAAE,QAAQ;EACzB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,iBAAiB,EAAE,QAAQ;EACzB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,UAAU,EAAE,OAAO;EACjB,OAAO;EACP,SAAS;EACT,MAAM;GAAC;GAAQ;GAAY;GAAW;EACvC,CAAC;CACF,OAAO,EAAE,OAAO;EACd,OAAO;EACP,SAAS;EACT,MAAM;GAAC;GAAQ;GAAY;GAAW;EACvC,CAAC;CACF,aAAa,EAAE,OAAO;EACpB,OAAO;EACP,SAAS;EACT,MAAM;GAAC;GAAQ;GAAY;GAAW;EACvC,CAAC;CACF,qBAAqB,EAAE,QAAQ;EAC7B,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,sBAAsB,EAAE,QAAQ;EAC9B,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,cAAc,EAAE,QAAQ;EACtB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACH,CAAC;AAEF,MAAM,oBAAoB,UAUP;CACjB,MAAM,cAAoD,EAAE;AAE5D,KAAI,MAAM,gBACR,aAAY,KAAK;EAAE,MAAM;EAAe,MAAM;EAAe,CAAC;AAEhE,KAAI,MAAM,gBACR,aAAY,KAAK;EAAE,MAAM;EAAU,MAAM;EAAU,CAAC;AAEtD,KAAI,MAAM,gBACR,aAAY,KAAK;EAAE,MAAM;EAAU,MAAM;EAAU,CAAC;AAGtD,QAAO;EACL,WAAW;EACX,uBAAuB;EACvB,UAAU;GACR,aAAa,MAAM,eAAe,aAAa;GAC/C,aAAa,MAAM,eAAe,wBAAwB;GAC1D,SAAS;GACT,qBAAqB,MAAM;GAC3B,OAAO,MAAM;GACb,UAAU,MAAM;GAChB,gBAAgB;GAChB,aAAa,MAAM;GACnB,qBAAqB;GACrB,qBAAqB;GACrB,mBAAmB;GACnB,sBAAsB,MAAM;GAC5B,aAAa,EAAE;GACf,gBAAgB,EAAE;GAClB,gBAAgB;IACd,WAAW;IACX,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,0BAA0B;IAC3B;GACF;EACF;;AAGH,MAAM,kBAAkB;AACtB,QACE,oBAAC;EACC,OAAM;EACN,QAAQ;EACR,eAAe;GACb,SAAS;GACT,iBAAiB;GACjB,iBAAiB;GACjB,iBAAiB;GACjB,UAAU;GACV,OAAO;GACP,aAAa;GACb,qBAAqB;GACrB,sBAAsB;GACtB,cAAc;GACf;EACD,SAAS;aAEP,UACA,oBAAC;GACC,aAAa,iBAAiB,MAAM;GACpC,SAAS,MAAM;IACf;GAEK"}
@@ -1,16 +1,21 @@
1
- import "./core-B7LNjM78.js";
1
+ import "./core-DFgB3yU4.js";
2
2
  import "./IconGoogle-CSQLPYwX.js";
3
- import "./Login-CoYf_P_F.js";
4
- import { t as Register } from "./Register-fXHmBpr3.js";
5
- import "./ResetPassword-CAPj8MO3.js";
6
- import "./VerifyEmail-DFmdCdYs.js";
7
- import "./auth-Djd7SKiw.js";
8
- import { t as Showcase } from "./Showcase-BtEU0pY9.js";
3
+ import "./Login-C12N4oGs.js";
4
+ import { t as Register } from "./Register-B4hLBeEv.js";
5
+ import "./ResetPassword-D8g9ha1N.js";
6
+ import "./VerifyEmail-BjDo0cZA.js";
7
+ import "./auth-ByVTreDl.js";
8
+ import { t as Showcase } from "./Showcase-D6Fxt4X4.js";
9
9
  import { t } from "alepha";
10
10
  import { jsx } from "react/jsx-runtime";
11
11
 
12
12
  //#region ../../src/demo/components/auth/DemoRegister.tsx
13
13
  const showcaseSchema = t.object({
14
+ variant: t.string({
15
+ title: "Variant",
16
+ default: "card",
17
+ enum: ["card", "split"]
18
+ }),
14
19
  showCredentials: t.boolean({
15
20
  title: "Credentials",
16
21
  default: true,
@@ -26,35 +31,32 @@ const showcaseSchema = t.object({
26
31
  default: false,
27
32
  $control: { switch: true }
28
33
  }),
29
- usernameEnabled: t.boolean({
30
- title: "Username Field",
31
- default: true,
32
- $control: { switch: true }
33
- }),
34
- usernameRequired: t.boolean({
35
- title: "Username Required",
36
- default: false,
37
- $control: { switch: true }
38
- }),
39
- emailEnabled: t.boolean({
40
- title: "Email Field",
41
- default: true,
42
- $control: { switch: true }
43
- }),
44
- emailRequired: t.boolean({
45
- title: "Email Required",
46
- default: true,
47
- $control: { switch: true }
34
+ username: t.string({
35
+ title: "Username",
36
+ default: "none",
37
+ enum: [
38
+ "none",
39
+ "optional",
40
+ "required"
41
+ ]
48
42
  }),
49
- phoneEnabled: t.boolean({
50
- title: "Phone Field",
51
- default: false,
52
- $control: { switch: true }
43
+ email: t.string({
44
+ title: "Email",
45
+ default: "required",
46
+ enum: [
47
+ "none",
48
+ "optional",
49
+ "required"
50
+ ]
53
51
  }),
54
- phoneRequired: t.boolean({
55
- title: "Phone Required",
56
- default: false,
57
- $control: { switch: true }
52
+ phoneNumber: t.string({
53
+ title: "Phone Number",
54
+ default: "none",
55
+ enum: [
56
+ "none",
57
+ "optional",
58
+ "required"
59
+ ]
58
60
  }),
59
61
  registrationAllowed: t.boolean({
60
62
  title: "Registration Allowed",
@@ -89,17 +91,13 @@ const buildRealmConfig = (props) => {
89
91
  description: props.showBranding ? "Create your account" : void 0,
90
92
  logoUrl: void 0,
91
93
  registrationAllowed: props.registrationAllowed,
92
- emailEnabled: props.emailEnabled,
93
- emailRequired: props.emailRequired,
94
- usernameEnabled: props.usernameEnabled,
95
- usernameRequired: props.usernameRequired,
94
+ email: props.email,
95
+ username: props.username,
96
96
  usernameRegExp: "^[a-zA-Z0-9_]{3,30}$",
97
- phoneEnabled: props.phoneEnabled,
98
- phoneRequired: props.phoneRequired,
97
+ phoneNumber: props.phoneNumber,
99
98
  verifyEmailRequired: false,
100
99
  verifyPhoneRequired: false,
101
- firstNameLastNameEnabled: false,
102
- firstNameLastNameRequired: false,
100
+ firstNameLastName: "none",
103
101
  resetPasswordAllowed: true,
104
102
  adminEmails: [],
105
103
  adminUsernames: [],
@@ -118,23 +116,24 @@ const DemoRegister = () => {
118
116
  title: "Register",
119
117
  schema: showcaseSchema,
120
118
  initialValues: {
119
+ variant: "card",
121
120
  showCredentials: true,
122
121
  showGoogleOAuth: true,
123
122
  showGithubOAuth: false,
124
- usernameEnabled: true,
125
- usernameRequired: false,
126
- emailEnabled: true,
127
- emailRequired: true,
128
- phoneEnabled: false,
129
- phoneRequired: false,
123
+ username: "none",
124
+ email: "required",
125
+ phoneNumber: "none",
130
126
  registrationAllowed: true,
131
127
  showBranding: true
132
128
  },
133
129
  columns: 1,
134
- children: (props) => /* @__PURE__ */ jsx(Register, { realmConfig: buildRealmConfig(props) })
130
+ children: (props) => /* @__PURE__ */ jsx(Register, {
131
+ realmConfig: buildRealmConfig(props),
132
+ variant: props.variant
133
+ })
135
134
  });
136
135
  };
137
136
 
138
137
  //#endregion
139
138
  export { DemoRegister as default };
140
- //# sourceMappingURL=DemoRegister-YHPvPg77.js.map
139
+ //# sourceMappingURL=DemoRegister-BuNE3_-f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DemoRegister-BuNE3_-f.js","names":[],"sources":["../../src/demo/components/auth/DemoRegister.tsx"],"sourcesContent":["import { Register } from \"@alepha/ui/auth\";\nimport { t } from \"alepha\";\nimport type { FieldRequirement, RealmConfig } from \"alepha/api/users\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst showcaseSchema = t.object({\n variant: t.string({\n title: \"Variant\",\n default: \"card\",\n enum: [\"card\", \"split\"],\n }),\n showCredentials: t.boolean({\n title: \"Credentials\",\n default: true,\n $control: { switch: true },\n }),\n showGoogleOAuth: t.boolean({\n title: \"Google OAuth\",\n default: true,\n $control: { switch: true },\n }),\n showGithubOAuth: t.boolean({\n title: \"GitHub OAuth\",\n default: false,\n $control: { switch: true },\n }),\n username: t.string({\n title: \"Username\",\n default: \"none\",\n enum: [\"none\", \"optional\", \"required\"],\n }),\n email: t.string({\n title: \"Email\",\n default: \"required\",\n enum: [\"none\", \"optional\", \"required\"],\n }),\n phoneNumber: t.string({\n title: \"Phone Number\",\n default: \"none\",\n enum: [\"none\", \"optional\", \"required\"],\n }),\n registrationAllowed: t.boolean({\n title: \"Registration Allowed\",\n default: true,\n $control: { switch: true },\n }),\n showBranding: t.boolean({\n title: \"Show Branding\",\n default: true,\n $control: { switch: true },\n }),\n});\n\nconst buildRealmConfig = (props: {\n showCredentials: boolean;\n showGoogleOAuth: boolean;\n showGithubOAuth: boolean;\n username: string;\n email: string;\n phoneNumber: string;\n registrationAllowed: boolean;\n showBranding: boolean;\n}): RealmConfig => {\n const authMethods: RealmConfig[\"authenticationMethods\"] = [];\n\n if (props.showCredentials) {\n authMethods.push({ name: \"credentials\", type: \"CREDENTIALS\" });\n }\n if (props.showGoogleOAuth) {\n authMethods.push({ name: \"google\", type: \"OAUTH2\" });\n }\n if (props.showGithubOAuth) {\n authMethods.push({ name: \"github\", type: \"OAUTH2\" });\n }\n\n return {\n realmName: \"demo\",\n authenticationMethods: authMethods,\n settings: {\n displayName: props.showBranding ? \"Demo App\" : undefined,\n description: props.showBranding ? \"Create your account\" : undefined,\n logoUrl: undefined,\n registrationAllowed: props.registrationAllowed,\n email: props.email as FieldRequirement,\n username: props.username as FieldRequirement,\n usernameRegExp: \"^[a-zA-Z0-9_]{3,30}$\",\n phoneNumber: props.phoneNumber as FieldRequirement,\n verifyEmailRequired: false,\n verifyPhoneRequired: false,\n firstNameLastName: \"none\" as FieldRequirement,\n resetPasswordAllowed: true,\n adminEmails: [],\n adminUsernames: [],\n passwordPolicy: {\n minLength: 8,\n requireUppercase: true,\n requireLowercase: true,\n requireNumbers: true,\n requireSpecialCharacters: false,\n },\n },\n };\n};\n\nconst DemoRegister = () => {\n return (\n <Showcase\n title=\"Register\"\n schema={showcaseSchema}\n initialValues={{\n variant: \"card\",\n showCredentials: true,\n showGoogleOAuth: true,\n showGithubOAuth: false,\n username: \"none\",\n email: \"required\",\n phoneNumber: \"none\",\n registrationAllowed: true,\n showBranding: true,\n }}\n columns={1}\n >\n {(props) => (\n <Register\n realmConfig={buildRealmConfig(props)}\n variant={props.variant as \"card\" | \"split\"}\n />\n )}\n </Showcase>\n );\n};\n\nexport default DemoRegister;\n"],"mappings":";;;;;;;;;;;;AAKA,MAAM,iBAAiB,EAAE,OAAO;CAC9B,SAAS,EAAE,OAAO;EAChB,OAAO;EACP,SAAS;EACT,MAAM,CAAC,QAAQ,QAAQ;EACxB,CAAC;CACF,iBAAiB,EAAE,QAAQ;EACzB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,iBAAiB,EAAE,QAAQ;EACzB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,iBAAiB,EAAE,QAAQ;EACzB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,UAAU,EAAE,OAAO;EACjB,OAAO;EACP,SAAS;EACT,MAAM;GAAC;GAAQ;GAAY;GAAW;EACvC,CAAC;CACF,OAAO,EAAE,OAAO;EACd,OAAO;EACP,SAAS;EACT,MAAM;GAAC;GAAQ;GAAY;GAAW;EACvC,CAAC;CACF,aAAa,EAAE,OAAO;EACpB,OAAO;EACP,SAAS;EACT,MAAM;GAAC;GAAQ;GAAY;GAAW;EACvC,CAAC;CACF,qBAAqB,EAAE,QAAQ;EAC7B,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,cAAc,EAAE,QAAQ;EACtB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACH,CAAC;AAEF,MAAM,oBAAoB,UASP;CACjB,MAAM,cAAoD,EAAE;AAE5D,KAAI,MAAM,gBACR,aAAY,KAAK;EAAE,MAAM;EAAe,MAAM;EAAe,CAAC;AAEhE,KAAI,MAAM,gBACR,aAAY,KAAK;EAAE,MAAM;EAAU,MAAM;EAAU,CAAC;AAEtD,KAAI,MAAM,gBACR,aAAY,KAAK;EAAE,MAAM;EAAU,MAAM;EAAU,CAAC;AAGtD,QAAO;EACL,WAAW;EACX,uBAAuB;EACvB,UAAU;GACR,aAAa,MAAM,eAAe,aAAa;GAC/C,aAAa,MAAM,eAAe,wBAAwB;GAC1D,SAAS;GACT,qBAAqB,MAAM;GAC3B,OAAO,MAAM;GACb,UAAU,MAAM;GAChB,gBAAgB;GAChB,aAAa,MAAM;GACnB,qBAAqB;GACrB,qBAAqB;GACrB,mBAAmB;GACnB,sBAAsB;GACtB,aAAa,EAAE;GACf,gBAAgB,EAAE;GAClB,gBAAgB;IACd,WAAW;IACX,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,0BAA0B;IAC3B;GACF;EACF;;AAGH,MAAM,qBAAqB;AACzB,QACE,oBAAC;EACC,OAAM;EACN,QAAQ;EACR,eAAe;GACb,SAAS;GACT,iBAAiB;GACjB,iBAAiB;GACjB,iBAAiB;GACjB,UAAU;GACV,OAAO;GACP,aAAa;GACb,qBAAqB;GACrB,cAAc;GACf;EACD,SAAS;aAEP,UACA,oBAAC;GACC,aAAa,iBAAiB,MAAM;GACpC,SAAS,MAAM;IACf;GAEK"}
@@ -1,11 +1,11 @@
1
- import "./core-B7LNjM78.js";
1
+ import "./core-DFgB3yU4.js";
2
2
  import "./IconGoogle-CSQLPYwX.js";
3
- import "./Login-CoYf_P_F.js";
4
- import "./Register-fXHmBpr3.js";
5
- import { t as ResetPassword } from "./ResetPassword-CAPj8MO3.js";
6
- import "./VerifyEmail-DFmdCdYs.js";
7
- import "./auth-Djd7SKiw.js";
8
- import { t as Showcase } from "./Showcase-BtEU0pY9.js";
3
+ import "./Login-C12N4oGs.js";
4
+ import "./Register-B4hLBeEv.js";
5
+ import { t as ResetPassword } from "./ResetPassword-D8g9ha1N.js";
6
+ import "./VerifyEmail-BjDo0cZA.js";
7
+ import "./auth-ByVTreDl.js";
8
+ import { t as Showcase } from "./Showcase-D6Fxt4X4.js";
9
9
  import { t } from "alepha";
10
10
  import { jsx } from "react/jsx-runtime";
11
11
 
@@ -34,17 +34,13 @@ const buildRealmConfig = (props) => {
34
34
  description: props.showBranding ? "Reset your password" : void 0,
35
35
  logoUrl: void 0,
36
36
  registrationAllowed: true,
37
- emailEnabled: true,
38
- emailRequired: true,
39
- usernameEnabled: false,
40
- usernameRequired: false,
37
+ email: "required",
38
+ username: "none",
41
39
  usernameRegExp: "^[a-zA-Z0-9_]{3,30}$",
42
- phoneEnabled: false,
43
- phoneRequired: false,
40
+ phoneNumber: "none",
44
41
  verifyEmailRequired: false,
45
42
  verifyPhoneRequired: false,
46
- firstNameLastNameEnabled: false,
47
- firstNameLastNameRequired: false,
43
+ firstNameLastName: "none",
48
44
  resetPasswordAllowed: props.resetPasswordAllowed,
49
45
  adminEmails: [],
50
46
  adminUsernames: [],
@@ -73,4 +69,4 @@ const DemoResetPassword = () => {
73
69
 
74
70
  //#endregion
75
71
  export { DemoResetPassword as default };
76
- //# sourceMappingURL=DemoResetPassword-mOW18Zlm.js.map
72
+ //# sourceMappingURL=DemoResetPassword-D_IjjjOJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DemoResetPassword-D_IjjjOJ.js","names":[],"sources":["../../src/demo/components/auth/DemoResetPassword.tsx"],"sourcesContent":["import { ResetPassword } from \"@alepha/ui/auth\";\nimport { t } from \"alepha\";\nimport type { FieldRequirement, RealmConfig } from \"alepha/api/users\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst showcaseSchema = t.object({\n resetPasswordAllowed: t.boolean({\n title: \"Reset Allowed\",\n default: true,\n $control: { switch: true },\n }),\n showBranding: t.boolean({\n title: \"Show Branding\",\n default: true,\n $control: { switch: true },\n }),\n});\n\nconst buildRealmConfig = (props: {\n resetPasswordAllowed: boolean;\n showBranding: boolean;\n}): RealmConfig => {\n return {\n realmName: \"demo\",\n authenticationMethods: [{ name: \"credentials\", type: \"CREDENTIALS\" }],\n settings: {\n displayName: props.showBranding ? \"Demo App\" : undefined,\n description: props.showBranding ? \"Reset your password\" : undefined,\n logoUrl: undefined,\n registrationAllowed: true,\n email: \"required\" as FieldRequirement,\n username: \"none\" as FieldRequirement,\n usernameRegExp: \"^[a-zA-Z0-9_]{3,30}$\",\n phoneNumber: \"none\" as FieldRequirement,\n verifyEmailRequired: false,\n verifyPhoneRequired: false,\n firstNameLastName: \"none\" as FieldRequirement,\n resetPasswordAllowed: props.resetPasswordAllowed,\n adminEmails: [],\n adminUsernames: [],\n passwordPolicy: {\n minLength: 8,\n requireUppercase: true,\n requireLowercase: true,\n requireNumbers: true,\n requireSpecialCharacters: false,\n },\n },\n };\n};\n\nconst DemoResetPassword = () => {\n return (\n <Showcase\n title=\"ResetPassword\"\n schema={showcaseSchema}\n initialValues={{\n resetPasswordAllowed: true,\n showBranding: true,\n }}\n columns={1}\n >\n {(props) => <ResetPassword realmConfig={buildRealmConfig(props)} />}\n </Showcase>\n );\n};\n\nexport default DemoResetPassword;\n"],"mappings":";;;;;;;;;;;;AAKA,MAAM,iBAAiB,EAAE,OAAO;CAC9B,sBAAsB,EAAE,QAAQ;EAC9B,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,cAAc,EAAE,QAAQ;EACtB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACH,CAAC;AAEF,MAAM,oBAAoB,UAGP;AACjB,QAAO;EACL,WAAW;EACX,uBAAuB,CAAC;GAAE,MAAM;GAAe,MAAM;GAAe,CAAC;EACrE,UAAU;GACR,aAAa,MAAM,eAAe,aAAa;GAC/C,aAAa,MAAM,eAAe,wBAAwB;GAC1D,SAAS;GACT,qBAAqB;GACrB,OAAO;GACP,UAAU;GACV,gBAAgB;GAChB,aAAa;GACb,qBAAqB;GACrB,qBAAqB;GACrB,mBAAmB;GACnB,sBAAsB,MAAM;GAC5B,aAAa,EAAE;GACf,gBAAgB,EAAE;GAClB,gBAAgB;IACd,WAAW;IACX,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,0BAA0B;IAC3B;GACF;EACF;;AAGH,MAAM,0BAA0B;AAC9B,QACE,oBAAC;EACC,OAAM;EACN,QAAQ;EACR,eAAe;GACb,sBAAsB;GACtB,cAAc;GACf;EACD,SAAS;aAEP,UAAU,oBAAC,iBAAc,aAAa,iBAAiB,MAAM,GAAI;GAC1D"}
@@ -1,5 +1,5 @@
1
- import { l as Sidebar } from "./core-B7LNjM78.js";
2
- import { t as Showcase } from "./Showcase-BtEU0pY9.js";
1
+ import { c as Sidebar } from "./core-DFgB3yU4.js";
2
+ import { t as Showcase } from "./Showcase-D6Fxt4X4.js";
3
3
  import { t } from "alepha";
4
4
  import { Flex } from "@mantine/core";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -75,4 +75,4 @@ const DemoSidebar = () => {
75
75
 
76
76
  //#endregion
77
77
  export { DemoSidebar as default };
78
- //# sourceMappingURL=DemoSidebar-od7aLjP_.js.map
78
+ //# sourceMappingURL=DemoSidebar-Giy2HRBD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DemoSidebar-od7aLjP_.js","names":[],"sources":["../../src/demo/components/layout/DemoSidebar.tsx"],"sourcesContent":["import { Sidebar, type SidebarNode } from \"@alepha/ui\";\nimport { Flex } from \"@mantine/core\";\nimport {\n IconDashboard,\n IconFiles,\n IconSettings,\n IconUsers,\n} from \"@tabler/icons-react\";\nimport { t } from \"alepha\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst sidebarItems = [\n { type: \"search\" },\n { type: \"divider\" },\n {\n icon: IconDashboard,\n label: \"Dashboard\",\n },\n {\n icon: IconUsers,\n label: \"Users\",\n children: [\n { label: \"All Users\" },\n { label: \"Add User\" },\n { label: \"Roles\" },\n ],\n },\n {\n icon: IconFiles,\n label: \"Files\",\n },\n { type: \"spacer\" },\n {\n position: \"bottom\",\n icon: IconSettings,\n label: \"Settings\",\n },\n] satisfies SidebarNode[];\n\nconst showcaseSchema = t.object({\n collapsed: t.boolean({\n title: \"Collapsed\",\n default: false,\n $control: { switch: true },\n }),\n gap: t.enum([\"xs\", \"sm\", \"md\", \"lg\"], {\n title: \"Gap\",\n default: \"xs\",\n $control: { segmented: true },\n }),\n});\n\nconst DemoSidebar = () => {\n return (\n <Showcase\n title=\"Sidebar\"\n schema={showcaseSchema}\n initialValues={{\n collapsed: false,\n gap: \"xs\",\n }}\n columns={1}\n windowProps={{\n containerProps: { p: 0 },\n }}\n >\n {(props) => (\n <Flex\n h={\"100%\"}\n w={props.collapsed ? 60 : 240}\n bg=\"var(--alepha-surface)\"\n >\n <Sidebar\n items={sidebarItems}\n collapsed={props.collapsed}\n gap={props.gap}\n />\n </Flex>\n )}\n </Showcase>\n );\n};\n\nexport default DemoSidebar;\n"],"mappings":";;;;;;;;AAWA,MAAM,eAAe;CACnB,EAAE,MAAM,UAAU;CAClB,EAAE,MAAM,WAAW;CACnB;EACE,MAAM;EACN,OAAO;EACR;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;GACR,EAAE,OAAO,aAAa;GACtB,EAAE,OAAO,YAAY;GACrB,EAAE,OAAO,SAAS;GACnB;EACF;CACD;EACE,MAAM;EACN,OAAO;EACR;CACD,EAAE,MAAM,UAAU;CAClB;EACE,UAAU;EACV,MAAM;EACN,OAAO;EACR;CACF;AAED,MAAM,iBAAiB,EAAE,OAAO;CAC9B,WAAW,EAAE,QAAQ;EACnB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,KAAK,EAAE,KAAK;EAAC;EAAM;EAAM;EAAM;EAAK,EAAE;EACpC,OAAO;EACP,SAAS;EACT,UAAU,EAAE,WAAW,MAAM;EAC9B,CAAC;CACH,CAAC;AAEF,MAAM,oBAAoB;AACxB,QACE,oBAAC;EACC,OAAM;EACN,QAAQ;EACR,eAAe;GACb,WAAW;GACX,KAAK;GACN;EACD,SAAS;EACT,aAAa,EACX,gBAAgB,EAAE,GAAG,GAAG,EACzB;aAEC,UACA,oBAAC;GACC,GAAG;GACH,GAAG,MAAM,YAAY,KAAK;GAC1B,IAAG;aAEH,oBAAC;IACC,OAAO;IACP,WAAW,MAAM;IACjB,KAAK,MAAM;KACX;IACG;GAEA"}
1
+ {"version":3,"file":"DemoSidebar-Giy2HRBD.js","names":[],"sources":["../../src/demo/components/layout/DemoSidebar.tsx"],"sourcesContent":["import { Sidebar, type SidebarNode } from \"@alepha/ui\";\nimport { Flex } from \"@mantine/core\";\nimport {\n IconDashboard,\n IconFiles,\n IconSettings,\n IconUsers,\n} from \"@tabler/icons-react\";\nimport { t } from \"alepha\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst sidebarItems = [\n { type: \"search\" },\n { type: \"divider\" },\n {\n icon: IconDashboard,\n label: \"Dashboard\",\n },\n {\n icon: IconUsers,\n label: \"Users\",\n children: [\n { label: \"All Users\" },\n { label: \"Add User\" },\n { label: \"Roles\" },\n ],\n },\n {\n icon: IconFiles,\n label: \"Files\",\n },\n { type: \"spacer\" },\n {\n position: \"bottom\",\n icon: IconSettings,\n label: \"Settings\",\n },\n] satisfies SidebarNode[];\n\nconst showcaseSchema = t.object({\n collapsed: t.boolean({\n title: \"Collapsed\",\n default: false,\n $control: { switch: true },\n }),\n gap: t.enum([\"xs\", \"sm\", \"md\", \"lg\"], {\n title: \"Gap\",\n default: \"xs\",\n $control: { segmented: true },\n }),\n});\n\nconst DemoSidebar = () => {\n return (\n <Showcase\n title=\"Sidebar\"\n schema={showcaseSchema}\n initialValues={{\n collapsed: false,\n gap: \"xs\",\n }}\n columns={1}\n windowProps={{\n containerProps: { p: 0 },\n }}\n >\n {(props) => (\n <Flex\n h={\"100%\"}\n w={props.collapsed ? 60 : 240}\n bg=\"var(--alepha-surface)\"\n >\n <Sidebar\n items={sidebarItems}\n collapsed={props.collapsed}\n gap={props.gap}\n />\n </Flex>\n )}\n </Showcase>\n );\n};\n\nexport default DemoSidebar;\n"],"mappings":";;;;;;;;AAWA,MAAM,eAAe;CACnB,EAAE,MAAM,UAAU;CAClB,EAAE,MAAM,WAAW;CACnB;EACE,MAAM;EACN,OAAO;EACR;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;GACR,EAAE,OAAO,aAAa;GACtB,EAAE,OAAO,YAAY;GACrB,EAAE,OAAO,SAAS;GACnB;EACF;CACD;EACE,MAAM;EACN,OAAO;EACR;CACD,EAAE,MAAM,UAAU;CAClB;EACE,UAAU;EACV,MAAM;EACN,OAAO;EACR;CACF;AAED,MAAM,iBAAiB,EAAE,OAAO;CAC9B,WAAW,EAAE,QAAQ;EACnB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,KAAK,EAAE,KAAK;EAAC;EAAM;EAAM;EAAM;EAAK,EAAE;EACpC,OAAO;EACP,SAAS;EACT,UAAU,EAAE,WAAW,MAAM;EAC9B,CAAC;CACH,CAAC;AAEF,MAAM,oBAAoB;AACxB,QACE,oBAAC;EACC,OAAM;EACN,QAAQ;EACR,eAAe;GACb,WAAW;GACX,KAAK;GACN;EACD,SAAS;EACT,aAAa,EACX,gBAAgB,EAAE,GAAG,GAAG,EACzB;aAEC,UACA,oBAAC;GACC,GAAG;GACH,GAAG,MAAM,YAAY,KAAK;GAC1B,IAAG;aAEH,oBAAC;IACC,OAAO;IACP,WAAW,MAAM;IACjB,KAAK,MAAM;KACX;IACG;GAEA"}
@@ -1,5 +1,5 @@
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-DFgB3yU4.js";
2
+ import { t as Showcase } from "./Showcase-D6Fxt4X4.js";
3
3
  import { t } from "alepha";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
@@ -121,4 +121,4 @@ const DemoText = () => {
121
121
 
122
122
  //#endregion
123
123
  export { DemoText as default };
124
- //# sourceMappingURL=DemoText-DU3JeRS0.js.map
124
+ //# sourceMappingURL=DemoText-ubcw-vog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DemoText-DU3JeRS0.js","names":[],"sources":["../../src/demo/components/core/DemoText.tsx"],"sourcesContent":["import type { AlephaIntent } from \"@alepha/ui\";\nimport { Flex, Text } from \"@alepha/ui\";\nimport { t } from \"alepha\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst showcaseSchema = t.object({\n bold: t.boolean({\n title: \"bold\",\n default: false,\n $control: { switch: true },\n }),\n italic: t.boolean({\n title: \"italic\",\n default: false,\n $control: { switch: true },\n }),\n light: t.boolean({\n title: \"light\",\n default: false,\n $control: { switch: true },\n }),\n muted: t.boolean({\n title: \"muted\",\n default: false,\n $control: { switch: true },\n }),\n small: t.boolean({\n title: \"small\",\n default: false,\n $control: { switch: true },\n }),\n monospace: t.boolean({\n title: \"monospace\",\n default: false,\n $control: { switch: true },\n }),\n uppercase: t.boolean({\n title: \"uppercase\",\n default: false,\n $control: { switch: true },\n }),\n capitalize: t.boolean({\n title: \"capitalize\",\n default: false,\n $control: { switch: true },\n }),\n center: t.boolean({\n title: \"center\",\n default: false,\n $control: { switch: true },\n }),\n intent: t.optional(\n t.enum([\"primary\", \"info\", \"success\", \"warning\", \"danger\"], {\n title: \"intent\",\n }),\n ),\n});\n\nconst DemoText = () => {\n return (\n <Showcase\n title=\"Text\"\n schema={showcaseSchema}\n initialValues={{\n bold: false,\n italic: false,\n light: false,\n muted: false,\n small: false,\n monospace: false,\n uppercase: false,\n capitalize: false,\n center: false,\n intent: undefined,\n }}\n columns={2}\n >\n {(props) => (\n <Flex col gap=\"lg\" p=\"md\" style={{ minWidth: 300 }}>\n <Text\n bold={props.bold}\n italic={props.italic}\n light={props.light}\n muted={props.muted}\n small={props.small}\n monospace={props.monospace}\n uppercase={props.uppercase}\n capitalize={props.capitalize}\n center={props.center}\n intent={(props.intent || undefined) as AlephaIntent | undefined}\n >\n The quick brown fox jumps over the lazy dog.\n </Text>\n <Text muted small>\n Muted small text for secondary information.\n </Text>\n <Text bold intent=\"danger\">\n Bold danger text for errors.\n </Text>\n <Text monospace>console.log(\"monospace text\");</Text>\n <Text bold uppercase muted>\n Section header style\n </Text>\n </Flex>\n )}\n </Showcase>\n );\n};\n\nexport default DemoText;\n"],"mappings":";;;;;;AAKA,MAAM,iBAAiB,EAAE,OAAO;CAC9B,MAAM,EAAE,QAAQ;EACd,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,OAAO,EAAE,QAAQ;EACf,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,OAAO,EAAE,QAAQ;EACf,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,OAAO,EAAE,QAAQ;EACf,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,WAAW,EAAE,QAAQ;EACnB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,WAAW,EAAE,QAAQ;EACnB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,YAAY,EAAE,QAAQ;EACpB,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,QAAQ,EAAE,SACR,EAAE,KAAK;EAAC;EAAW;EAAQ;EAAW;EAAW;EAAS,EAAE,EAC1D,OAAO,UACR,CAAC,CACH;CACF,CAAC;AAEF,MAAM,iBAAiB;AACrB,QACE,oBAAC;EACC,OAAM;EACN,QAAQ;EACR,eAAe;GACb,MAAM;GACN,QAAQ;GACR,OAAO;GACP,OAAO;GACP,OAAO;GACP,WAAW;GACX,WAAW;GACX,YAAY;GACZ,QAAQ;GACR,QAAQ;GACT;EACD,SAAS;aAEP,UACA,qBAAC;GAAK;GAAI,KAAI;GAAK,GAAE;GAAK,OAAO,EAAE,UAAU,KAAK;;IAChD,oBAAC;KACC,MAAM,MAAM;KACZ,QAAQ,MAAM;KACd,OAAO,MAAM;KACb,OAAO,MAAM;KACb,OAAO,MAAM;KACb,WAAW,MAAM;KACjB,WAAW,MAAM;KACjB,YAAY,MAAM;KAClB,QAAQ,MAAM;KACd,QAAS,MAAM,UAAU;eAC1B;MAEM;IACP,oBAAC;KAAK;KAAM;eAAM;MAEX;IACP,oBAAC;KAAK;KAAK,QAAO;eAAS;MAEpB;IACP,oBAAC;KAAK;eAAU;MAAqC;IACrD,oBAAC;KAAK;KAAK;KAAU;eAAM;MAEpB;;IACF;GAEA"}
1
+ {"version":3,"file":"DemoText-ubcw-vog.js","names":[],"sources":["../../src/demo/components/core/DemoText.tsx"],"sourcesContent":["import type { AlephaIntent } from \"@alepha/ui\";\nimport { Flex, Text } from \"@alepha/ui\";\nimport { t } from \"alepha\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst showcaseSchema = t.object({\n bold: t.boolean({\n title: \"bold\",\n default: false,\n $control: { switch: true },\n }),\n italic: t.boolean({\n title: \"italic\",\n default: false,\n $control: { switch: true },\n }),\n light: t.boolean({\n title: \"light\",\n default: false,\n $control: { switch: true },\n }),\n muted: t.boolean({\n title: \"muted\",\n default: false,\n $control: { switch: true },\n }),\n small: t.boolean({\n title: \"small\",\n default: false,\n $control: { switch: true },\n }),\n monospace: t.boolean({\n title: \"monospace\",\n default: false,\n $control: { switch: true },\n }),\n uppercase: t.boolean({\n title: \"uppercase\",\n default: false,\n $control: { switch: true },\n }),\n capitalize: t.boolean({\n title: \"capitalize\",\n default: false,\n $control: { switch: true },\n }),\n center: t.boolean({\n title: \"center\",\n default: false,\n $control: { switch: true },\n }),\n intent: t.optional(\n t.enum([\"primary\", \"info\", \"success\", \"warning\", \"danger\"], {\n title: \"intent\",\n }),\n ),\n});\n\nconst DemoText = () => {\n return (\n <Showcase\n title=\"Text\"\n schema={showcaseSchema}\n initialValues={{\n bold: false,\n italic: false,\n light: false,\n muted: false,\n small: false,\n monospace: false,\n uppercase: false,\n capitalize: false,\n center: false,\n intent: undefined,\n }}\n columns={2}\n >\n {(props) => (\n <Flex col gap=\"lg\" p=\"md\" style={{ minWidth: 300 }}>\n <Text\n bold={props.bold}\n italic={props.italic}\n light={props.light}\n muted={props.muted}\n small={props.small}\n monospace={props.monospace}\n uppercase={props.uppercase}\n capitalize={props.capitalize}\n center={props.center}\n intent={(props.intent || undefined) as AlephaIntent | undefined}\n >\n The quick brown fox jumps over the lazy dog.\n </Text>\n <Text muted small>\n Muted small text for secondary information.\n </Text>\n <Text bold intent=\"danger\">\n Bold danger text for errors.\n </Text>\n <Text monospace>console.log(\"monospace text\");</Text>\n <Text bold uppercase muted>\n Section header style\n </Text>\n </Flex>\n )}\n </Showcase>\n );\n};\n\nexport default DemoText;\n"],"mappings":";;;;;;AAKA,MAAM,iBAAiB,EAAE,OAAO;CAC9B,MAAM,EAAE,QAAQ;EACd,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,OAAO,EAAE,QAAQ;EACf,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,OAAO,EAAE,QAAQ;EACf,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,OAAO,EAAE,QAAQ;EACf,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,WAAW,EAAE,QAAQ;EACnB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,WAAW,EAAE,QAAQ;EACnB,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,YAAY,EAAE,QAAQ;EACpB,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,QAAQ,EAAE,SACR,EAAE,KAAK;EAAC;EAAW;EAAQ;EAAW;EAAW;EAAS,EAAE,EAC1D,OAAO,UACR,CAAC,CACH;CACF,CAAC;AAEF,MAAM,iBAAiB;AACrB,QACE,oBAAC;EACC,OAAM;EACN,QAAQ;EACR,eAAe;GACb,MAAM;GACN,QAAQ;GACR,OAAO;GACP,OAAO;GACP,OAAO;GACP,WAAW;GACX,WAAW;GACX,YAAY;GACZ,QAAQ;GACR,QAAQ;GACT;EACD,SAAS;aAEP,UACA,qBAAC;GAAK;GAAI,KAAI;GAAK,GAAE;GAAK,OAAO,EAAE,UAAU,KAAK;;IAChD,oBAAC;KACC,MAAM,MAAM;KACZ,QAAQ,MAAM;KACd,OAAO,MAAM;KACb,OAAO,MAAM;KACb,OAAO,MAAM;KACb,WAAW,MAAM;KACjB,WAAW,MAAM;KACjB,YAAY,MAAM;KAClB,QAAQ,MAAM;KACd,QAAS,MAAM,UAAU;eAC1B;MAEM;IACP,oBAAC;KAAK;KAAM;eAAM;MAEX;IACP,oBAAC;KAAK;KAAK,QAAO;eAAS;MAEpB;IACP,oBAAC;KAAK;eAAU;MAAqC;IACrD,oBAAC;KAAK;KAAK;KAAU;eAAM;MAEpB;;IACF;GAEA"}
@@ -1,4 +1,4 @@
1
- import { f as Flex, h as ActionButton, s as Text, v as useToast } from "./core-B7LNjM78.js";
1
+ import { f as Flex, h as ActionButton, l as Text, v as useToast } from "./core-DFgB3yU4.js";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { IconCheck, IconExclamationMark, IconInfoCircle, IconX } from "@tabler/icons-react";
4
4
 
@@ -92,4 +92,4 @@ const DemoToast = () => {
92
92
 
93
93
  //#endregion
94
94
  export { DemoToast as default };
95
- //# sourceMappingURL=DemoToast-CUJEiPRa.js.map
95
+ //# sourceMappingURL=DemoToast-9die_dYT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DemoToast-CUJEiPRa.js","names":[],"sources":["../../src/demo/components/layout/DemoToast.tsx"],"sourcesContent":["import { ActionButton, Flex, Text, useToast } from \"@alepha/ui\";\nimport {\n IconCheck,\n IconExclamationMark,\n IconInfoCircle,\n IconX,\n} from \"@tabler/icons-react\";\n\nconst DemoToast = () => {\n const toast = useToast();\n\n return (\n <Flex col gap=\"xl\" p=\"xl\">\n <Text bold size=\"lg\">\n Toast Service\n </Text>\n <Text muted small>\n Notification toasts via the ToastService. Fire-and-forget notifications\n for user feedback.\n </Text>\n\n <Flex gap=\"md\" wrap=\"wrap\">\n <ActionButton\n icon={IconCheck}\n variant=\"light\"\n intent=\"success\"\n onClick={() => toast.success(\"Operation completed successfully.\")}\n >\n Success\n </ActionButton>\n\n <ActionButton\n icon={IconX}\n variant=\"light\"\n intent=\"danger\"\n onClick={() => toast.danger(\"Something went wrong.\")}\n >\n Error\n </ActionButton>\n\n <ActionButton\n icon={IconExclamationMark}\n variant=\"light\"\n intent=\"warning\"\n onClick={() => toast.warning(\"Please check your input.\")}\n >\n Warning\n </ActionButton>\n\n <ActionButton\n icon={IconInfoCircle}\n variant=\"light\"\n intent=\"info\"\n onClick={() => toast.info(\"Here is some useful information.\")}\n >\n Info\n </ActionButton>\n </Flex>\n\n <Flex col gap=\"md\">\n <Text bold small uppercase muted>\n With Title\n </Text>\n <Flex gap=\"md\" wrap=\"wrap\">\n <ActionButton\n variant=\"light\"\n intent=\"success\"\n onClick={() =>\n toast.success({\n message: \"Your changes have been saved.\",\n title: \"Saved\",\n })\n }\n >\n With Title\n </ActionButton>\n <ActionButton\n variant=\"light\"\n intent=\"danger\"\n onClick={() =>\n toast.danger({\n message: \"Failed to connect to the server.\",\n title: \"Connection Error\",\n autoClose: false,\n })\n }\n >\n Persistent\n </ActionButton>\n </Flex>\n </Flex>\n </Flex>\n );\n};\n\nexport default DemoToast;\n"],"mappings":";;;;;AAQA,MAAM,kBAAkB;CACtB,MAAM,QAAQ,UAAU;AAExB,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,QAAO;MACP,eAAe,MAAM,QAAQ,oCAAoC;gBAClE;OAEc;KAEf,oBAAC;MACC,MAAM;MACN,SAAQ;MACR,QAAO;MACP,eAAe,MAAM,OAAO,wBAAwB;gBACrD;OAEc;KAEf,oBAAC;MACC,MAAM;MACN,SAAQ;MACR,QAAO;MACP,eAAe,MAAM,QAAQ,2BAA2B;gBACzD;OAEc;KAEf,oBAAC;MACC,MAAM;MACN,SAAQ;MACR,QAAO;MACP,eAAe,MAAM,KAAK,mCAAmC;gBAC9D;OAEc;;KACV;GAEP,qBAAC;IAAK;IAAI,KAAI;eACZ,oBAAC;KAAK;KAAK;KAAM;KAAU;eAAM;MAE1B,EACP,qBAAC;KAAK,KAAI;KAAK,MAAK;gBAClB,oBAAC;MACC,SAAQ;MACR,QAAO;MACP,eACE,MAAM,QAAQ;OACZ,SAAS;OACT,OAAO;OACR,CAAC;gBAEL;OAEc,EACf,oBAAC;MACC,SAAQ;MACR,QAAO;MACP,eACE,MAAM,OAAO;OACX,SAAS;OACT,OAAO;OACP,WAAW;OACZ,CAAC;gBAEL;OAEc;MACV;KACF;;GACF"}
1
+ {"version":3,"file":"DemoToast-9die_dYT.js","names":[],"sources":["../../src/demo/components/layout/DemoToast.tsx"],"sourcesContent":["import { ActionButton, Flex, Text, useToast } from \"@alepha/ui\";\nimport {\n IconCheck,\n IconExclamationMark,\n IconInfoCircle,\n IconX,\n} from \"@tabler/icons-react\";\n\nconst DemoToast = () => {\n const toast = useToast();\n\n return (\n <Flex col gap=\"xl\" p=\"xl\">\n <Text bold size=\"lg\">\n Toast Service\n </Text>\n <Text muted small>\n Notification toasts via the ToastService. Fire-and-forget notifications\n for user feedback.\n </Text>\n\n <Flex gap=\"md\" wrap=\"wrap\">\n <ActionButton\n icon={IconCheck}\n variant=\"light\"\n intent=\"success\"\n onClick={() => toast.success(\"Operation completed successfully.\")}\n >\n Success\n </ActionButton>\n\n <ActionButton\n icon={IconX}\n variant=\"light\"\n intent=\"danger\"\n onClick={() => toast.danger(\"Something went wrong.\")}\n >\n Error\n </ActionButton>\n\n <ActionButton\n icon={IconExclamationMark}\n variant=\"light\"\n intent=\"warning\"\n onClick={() => toast.warning(\"Please check your input.\")}\n >\n Warning\n </ActionButton>\n\n <ActionButton\n icon={IconInfoCircle}\n variant=\"light\"\n intent=\"info\"\n onClick={() => toast.info(\"Here is some useful information.\")}\n >\n Info\n </ActionButton>\n </Flex>\n\n <Flex col gap=\"md\">\n <Text bold small uppercase muted>\n With Title\n </Text>\n <Flex gap=\"md\" wrap=\"wrap\">\n <ActionButton\n variant=\"light\"\n intent=\"success\"\n onClick={() =>\n toast.success({\n message: \"Your changes have been saved.\",\n title: \"Saved\",\n })\n }\n >\n With Title\n </ActionButton>\n <ActionButton\n variant=\"light\"\n intent=\"danger\"\n onClick={() =>\n toast.danger({\n message: \"Failed to connect to the server.\",\n title: \"Connection Error\",\n autoClose: false,\n })\n }\n >\n Persistent\n </ActionButton>\n </Flex>\n </Flex>\n </Flex>\n );\n};\n\nexport default DemoToast;\n"],"mappings":";;;;;AAQA,MAAM,kBAAkB;CACtB,MAAM,QAAQ,UAAU;AAExB,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,QAAO;MACP,eAAe,MAAM,QAAQ,oCAAoC;gBAClE;OAEc;KAEf,oBAAC;MACC,MAAM;MACN,SAAQ;MACR,QAAO;MACP,eAAe,MAAM,OAAO,wBAAwB;gBACrD;OAEc;KAEf,oBAAC;MACC,MAAM;MACN,SAAQ;MACR,QAAO;MACP,eAAe,MAAM,QAAQ,2BAA2B;gBACzD;OAEc;KAEf,oBAAC;MACC,MAAM;MACN,SAAQ;MACR,QAAO;MACP,eAAe,MAAM,KAAK,mCAAmC;gBAC9D;OAEc;;KACV;GAEP,qBAAC;IAAK;IAAI,KAAI;eACZ,oBAAC;KAAK;KAAK;KAAM;KAAU;eAAM;MAE1B,EACP,qBAAC;KAAK,KAAI;KAAK,MAAK;gBAClB,oBAAC;MACC,SAAQ;MACR,QAAO;MACP,eACE,MAAM,QAAQ;OACZ,SAAS;OACT,OAAO;OACR,CAAC;gBAEL;OAEc,EACf,oBAAC;MACC,SAAQ;MACR,QAAO;MACP,eACE,MAAM,OAAO;OACX,SAAS;OACT,OAAO;OACP,WAAW;OACZ,CAAC;gBAEL;OAEc;MACV;KACF;;GACF"}
@@ -1,5 +1,5 @@
1
- import { a as TypeForm } from "./core-B7LNjM78.js";
2
- import { t as Showcase } from "./Showcase-BtEU0pY9.js";
1
+ import { a as TypeForm, m as useDialog } from "./core-DFgB3yU4.js";
2
+ import { t as Showcase } from "./Showcase-D6Fxt4X4.js";
3
3
  import { t } from "alepha";
4
4
  import { useForm } from "alepha/react/form";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -52,10 +52,14 @@ const showcaseSchema = t.object({
52
52
  })
53
53
  });
54
54
  const DemoTypeForm = () => {
55
+ const dialog = useDialog();
55
56
  const form = useForm({
56
57
  schema: formSchema,
57
58
  handler: (values) => {
58
- alert(JSON.stringify(values, null, 2));
59
+ dialog.alert({
60
+ title: "Submitted",
61
+ message: JSON.stringify(values, null, 2)
62
+ });
59
63
  }
60
64
  }, []);
61
65
  return /* @__PURE__ */ jsx(Showcase, {
@@ -79,4 +83,4 @@ const DemoTypeForm = () => {
79
83
 
80
84
  //#endregion
81
85
  export { DemoTypeForm as default };
82
- //# sourceMappingURL=DemoTypeForm-C1dNkahD.js.map
86
+ //# sourceMappingURL=DemoTypeForm-D_d6OVKL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DemoTypeForm-D_d6OVKL.js","names":[],"sources":["../../src/demo/components/core/DemoTypeForm.tsx"],"sourcesContent":["import { TypeForm, useDialog } from \"@alepha/ui\";\nimport { t } from \"alepha\";\nimport { useForm } from \"alepha/react/form\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst formSchema = t.object({\n username: t.text({ title: \"Username\", default: \"\" }),\n email: t.email({ title: \"Email\", default: \"\" }),\n age: t.integer({ title: \"Age\", minimum: 0, maximum: 120 }),\n role: t.enum([\"admin\", \"user\", \"guest\"], { title: \"Role\", default: \"user\" }),\n subscribe: t.boolean({ title: \"Subscribe\", default: false }),\n});\n\nconst showcaseSchema = t.object({\n columns: t.integer({\n title: \"Columns\",\n default: 1,\n minimum: 1,\n maximum: 4,\n $control: { slider: true },\n }),\n fill: t.boolean({\n title: \"Fill Width\",\n default: false,\n $control: { switch: true },\n }),\n skipSubmitButton: t.boolean({\n title: \"Hide Submit\",\n default: false,\n $control: { switch: true },\n }),\n});\n\nconst DemoTypeForm = () => {\n const dialog = useDialog();\n\n const form = useForm(\n {\n schema: formSchema,\n handler: (values) => {\n dialog.alert({\n title: \"Submitted\",\n message: JSON.stringify(values, null, 2),\n });\n },\n },\n [],\n );\n\n return (\n <Showcase\n title=\"TypeForm\"\n schema={showcaseSchema}\n initialValues={{\n columns: 1,\n fill: false,\n skipSubmitButton: false,\n }}\n columns={1}\n >\n {(props) => (\n <TypeForm\n form={form}\n columns={props.columns}\n fill={props.fill}\n skipSubmitButton={props.skipSubmitButton}\n submitButtonProps={{ children: \"Submit\" }}\n />\n )}\n </Showcase>\n );\n};\n\nexport default DemoTypeForm;\n"],"mappings":";;;;;;;AAKA,MAAM,aAAa,EAAE,OAAO;CAC1B,UAAU,EAAE,KAAK;EAAE,OAAO;EAAY,SAAS;EAAI,CAAC;CACpD,OAAO,EAAE,MAAM;EAAE,OAAO;EAAS,SAAS;EAAI,CAAC;CAC/C,KAAK,EAAE,QAAQ;EAAE,OAAO;EAAO,SAAS;EAAG,SAAS;EAAK,CAAC;CAC1D,MAAM,EAAE,KAAK;EAAC;EAAS;EAAQ;EAAQ,EAAE;EAAE,OAAO;EAAQ,SAAS;EAAQ,CAAC;CAC5E,WAAW,EAAE,QAAQ;EAAE,OAAO;EAAa,SAAS;EAAO,CAAC;CAC7D,CAAC;AAEF,MAAM,iBAAiB,EAAE,OAAO;CAC9B,SAAS,EAAE,QAAQ;EACjB,OAAO;EACP,SAAS;EACT,SAAS;EACT,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,MAAM,EAAE,QAAQ;EACd,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACF,kBAAkB,EAAE,QAAQ;EAC1B,OAAO;EACP,SAAS;EACT,UAAU,EAAE,QAAQ,MAAM;EAC3B,CAAC;CACH,CAAC;AAEF,MAAM,qBAAqB;CACzB,MAAM,SAAS,WAAW;CAE1B,MAAM,OAAO,QACX;EACE,QAAQ;EACR,UAAU,WAAW;AACnB,UAAO,MAAM;IACX,OAAO;IACP,SAAS,KAAK,UAAU,QAAQ,MAAM,EAAE;IACzC,CAAC;;EAEL,EACD,EAAE,CACH;AAED,QACE,oBAAC;EACC,OAAM;EACN,QAAQ;EACR,eAAe;GACb,SAAS;GACT,MAAM;GACN,kBAAkB;GACnB;EACD,SAAS;aAEP,UACA,oBAAC;GACO;GACN,SAAS,MAAM;GACf,MAAM,MAAM;GACZ,kBAAkB,MAAM;GACxB,mBAAmB,EAAE,UAAU,UAAU;IACzC;GAEK"}
@@ -0,0 +1,34 @@
1
+ import "./core-DFgB3yU4.js";
2
+ import "./IconGoogle-CSQLPYwX.js";
3
+ import "./Login-C12N4oGs.js";
4
+ import "./Register-B4hLBeEv.js";
5
+ import "./ResetPassword-D8g9ha1N.js";
6
+ import { t as VerifyEmail } from "./VerifyEmail-BjDo0cZA.js";
7
+ import "./auth-ByVTreDl.js";
8
+ import { t as Showcase } from "./Showcase-D6Fxt4X4.js";
9
+ import { t } from "alepha";
10
+ import { jsx } from "react/jsx-runtime";
11
+
12
+ //#region ../../src/demo/components/auth/DemoVerifyEmail.tsx
13
+ const showcaseSchema = t.object({ step: t.string({
14
+ title: "Step",
15
+ default: "success",
16
+ enum: [
17
+ "verifying",
18
+ "success",
19
+ "error"
20
+ ]
21
+ }) });
22
+ const DemoVerifyEmail = () => {
23
+ return /* @__PURE__ */ jsx(Showcase, {
24
+ title: "VerifyEmail",
25
+ schema: showcaseSchema,
26
+ initialValues: { step: "success" },
27
+ columns: 1,
28
+ children: (values) => /* @__PURE__ */ jsx(VerifyEmail, { step: values.step })
29
+ });
30
+ };
31
+
32
+ //#endregion
33
+ export { DemoVerifyEmail as default };
34
+ //# sourceMappingURL=DemoVerifyEmail-B43KlF4F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DemoVerifyEmail-B43KlF4F.js","names":[],"sources":["../../src/demo/components/auth/DemoVerifyEmail.tsx"],"sourcesContent":["import type { VerifyEmailStep } from \"@alepha/ui/auth\";\nimport { VerifyEmail } from \"@alepha/ui/auth\";\nimport { t } from \"alepha\";\nimport Showcase from \"../shared/Showcase.tsx\";\n\nconst showcaseSchema = t.object({\n step: t.string({\n title: \"Step\",\n default: \"success\",\n enum: [\"verifying\", \"success\", \"error\"],\n }),\n});\n\nconst DemoVerifyEmail = () => {\n return (\n <Showcase\n title=\"VerifyEmail\"\n schema={showcaseSchema}\n initialValues={{\n step: \"success\",\n }}\n columns={1}\n >\n {(values) => <VerifyEmail step={values.step as VerifyEmailStep} />}\n </Showcase>\n );\n};\n\nexport default DemoVerifyEmail;\n"],"mappings":";;;;;;;;;;;;AAKA,MAAM,iBAAiB,EAAE,OAAO,EAC9B,MAAM,EAAE,OAAO;CACb,OAAO;CACP,SAAS;CACT,MAAM;EAAC;EAAa;EAAW;EAAQ;CACxC,CAAC,EACH,CAAC;AAEF,MAAM,wBAAwB;AAC5B,QACE,oBAAC;EACC,OAAM;EACN,QAAQ;EACR,eAAe,EACb,MAAM,WACP;EACD,SAAS;aAEP,WAAW,oBAAC,eAAY,MAAM,OAAO,OAA2B;GACzD"}