@alepha/ui 0.13.5 → 0.13.7

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 (157) hide show
  1. package/dist/admin/AdminAudits-CwvH8e8c.js +215 -0
  2. package/dist/admin/AdminAudits-CwvH8e8c.js.map +1 -0
  3. package/dist/admin/AdminAudits-Dv8Vk_6r.js +3 -0
  4. package/dist/admin/AdminFiles-5CPA3lQk.js +3 -0
  5. package/dist/admin/{AdminFiles-B_jfB_Py.js → AdminFiles-C_w1tb_x.js} +4 -3
  6. package/dist/admin/AdminFiles-C_w1tb_x.js.map +1 -0
  7. package/dist/admin/AdminLayout-BnSmtA4x.js +3 -0
  8. package/dist/admin/AdminLayout-XiSivwWH.js +39 -0
  9. package/dist/admin/AdminLayout-XiSivwWH.js.map +1 -0
  10. package/dist/admin/AdminNotifications-DLjmZWtf.js +3 -0
  11. package/dist/admin/{AdminNotifications-BFEjqpqx.js → AdminNotifications-DuYy74AN.js} +3 -3
  12. package/dist/admin/AdminNotifications-DuYy74AN.js.map +1 -0
  13. package/dist/admin/AdminParameters-DYg48Jwe.js +3 -0
  14. package/dist/admin/AdminParameters-YagqWTG3.js +575 -0
  15. package/dist/admin/AdminParameters-YagqWTG3.js.map +1 -0
  16. package/dist/admin/{AdminSessions-D7DESfWK.js → AdminSessions-BCjgJ-93.js} +4 -4
  17. package/dist/admin/AdminSessions-BCjgJ-93.js.map +1 -0
  18. package/dist/admin/AdminSessions-DEh2uN-4.js +3 -0
  19. package/dist/admin/AdminUserAudits-B_PUXCKC.js +177 -0
  20. package/dist/admin/AdminUserAudits-B_PUXCKC.js.map +1 -0
  21. package/dist/admin/AdminUserAudits-D7cTcElL.js +3 -0
  22. package/dist/admin/{AdminUserCreate-Bhxsn92l.js → AdminUserCreate-DzfRbGZ4.js} +4 -4
  23. package/dist/admin/AdminUserCreate-DzfRbGZ4.js.map +1 -0
  24. package/dist/admin/{AdminUserCreate-CYI_xW5T.js → AdminUserCreate-oUA1KDIl.js} +1 -1
  25. package/dist/admin/{AdminUserDetails-C2y1Ig4n.js → AdminUserDetails-DeTrJm-t.js} +5 -5
  26. package/dist/admin/AdminUserDetails-DeTrJm-t.js.map +1 -0
  27. package/dist/admin/{AdminUserDetails-Cmzx9HxH.js → AdminUserDetails-y1H5DW8Y.js} +1 -1
  28. package/dist/admin/{AdminUserLayout-sW6cjZL0.js → AdminUserLayout-CsfrrZkD.js} +4 -7
  29. package/dist/admin/AdminUserLayout-CsfrrZkD.js.map +1 -0
  30. package/dist/admin/{AdminUserLayout-DGSf612u.js → AdminUserLayout-Dejnz13m.js} +1 -1
  31. package/dist/admin/AdminUserSessions-Bbhcpz4k.js +3 -0
  32. package/dist/admin/{AdminUserSessions-CvN15wPe.js → AdminUserSessions-DO9H85O-.js} +4 -4
  33. package/dist/admin/AdminUserSessions-DO9H85O-.js.map +1 -0
  34. package/dist/admin/{AdminUserSettings-DvaaxgcV.js → AdminUserSettings-B3jA8g3p.js} +4 -4
  35. package/dist/admin/AdminUserSettings-B3jA8g3p.js.map +1 -0
  36. package/dist/admin/AdminUserSettings-CE0xpbQc.js +3 -0
  37. package/dist/admin/AdminUsers-CegGZDhW.js +3 -0
  38. package/dist/admin/{AdminUsers-BR3C-jrg.js → AdminUsers-ebbrJBT0.js} +13 -17
  39. package/dist/admin/AdminUsers-ebbrJBT0.js.map +1 -0
  40. package/dist/admin/index.d.ts +2044 -1044
  41. package/dist/admin/index.js +65 -62
  42. package/dist/admin/index.js.map +1 -1
  43. package/dist/auth/AuthLayout-BAZJHzDG.js +23 -0
  44. package/dist/auth/AuthLayout-BAZJHzDG.js.map +1 -0
  45. package/dist/auth/{Login-7HlBjDeV.js → Login-CeNZZjrr.js} +80 -44
  46. package/dist/auth/Login-CeNZZjrr.js.map +1 -0
  47. package/dist/auth/Login-hQcu1nlu.js +4 -0
  48. package/dist/auth/Register-B6HBNVHS.js +4 -0
  49. package/dist/auth/{Register-CuQr3kgi.js → Register-s4ENeyiE.js} +131 -91
  50. package/dist/auth/Register-s4ENeyiE.js.map +1 -0
  51. package/dist/auth/ResetPassword-Cjd-W-Nu.js +3 -0
  52. package/dist/auth/ResetPassword-GLIFkJT7.js +278 -0
  53. package/dist/auth/ResetPassword-GLIFkJT7.js.map +1 -0
  54. package/dist/auth/index.d.ts +471 -426
  55. package/dist/auth/index.js +26 -18
  56. package/dist/auth/index.js.map +1 -1
  57. package/dist/core/index.d.ts +400 -130
  58. package/dist/core/index.js +1751 -1369
  59. package/dist/core/index.js.map +1 -1
  60. package/package.json +15 -11
  61. package/src/admin/AdminRouter.ts +70 -16
  62. package/src/admin/components/AdminLayout.tsx +41 -61
  63. package/src/admin/components/audits/AdminAudits.tsx +240 -0
  64. package/src/admin/components/{AdminFiles.tsx → files/AdminFiles.tsx} +1 -1
  65. package/src/admin/components/{AdminJobs.tsx → jobs/AdminJobs.tsx} +1 -1
  66. package/src/admin/components/parameters/AdminParameters.tsx +137 -0
  67. package/src/admin/components/parameters/ParameterDetails.tsx +228 -0
  68. package/src/admin/components/parameters/ParameterHistory.tsx +146 -0
  69. package/src/admin/components/parameters/ParameterTree.tsx +146 -0
  70. package/src/admin/components/parameters/types.ts +35 -0
  71. package/src/admin/components/{AdminSessions.tsx → sessions/AdminSessions.tsx} +1 -1
  72. package/src/admin/components/users/AdminUserAudits.tsx +183 -0
  73. package/src/admin/components/{AdminUserCreate.tsx → users/AdminUserCreate.tsx} +1 -1
  74. package/src/admin/components/{AdminUserLayout.tsx → users/AdminUserLayout.tsx} +1 -4
  75. package/src/admin/components/{AdminUserSettings.tsx → users/AdminUserSettings.tsx} +1 -1
  76. package/src/admin/components/{AdminUsers.tsx → users/AdminUsers.tsx} +10 -12
  77. package/src/admin/index.ts +24 -16
  78. package/src/auth/AuthRouter.ts +23 -17
  79. package/src/auth/components/AuthLayout.tsx +6 -3
  80. package/src/auth/components/Login.tsx +109 -47
  81. package/src/auth/components/Register.tsx +158 -94
  82. package/src/auth/components/ResetPassword.tsx +51 -5
  83. package/src/auth/components/buttons/UserButton.tsx +2 -0
  84. package/src/core/atoms/alephaThemeAtom.ts +13 -0
  85. package/src/core/atoms/alephaThemeListAtom.ts +10 -0
  86. package/src/core/atoms/themes/default.ts +6 -0
  87. package/src/core/{themes → atoms/themes}/midnight.ts +3 -5
  88. package/src/core/components/buttons/ActionButton.tsx +33 -26
  89. package/src/core/components/buttons/DarkModeButton.tsx +0 -1
  90. package/src/core/components/buttons/ThemeButton.tsx +10 -7
  91. package/src/core/components/buttons/ToggleSidebarButton.tsx +19 -16
  92. package/src/core/components/data/ErrorViewer.tsx +171 -0
  93. package/src/core/components/data/JsonViewer.tsx +147 -138
  94. package/src/core/components/form/Control.tsx +95 -18
  95. package/src/core/components/form/ControlArray.tsx +377 -0
  96. package/src/core/components/form/ControlObject.tsx +127 -0
  97. package/src/core/components/form/TypeForm.tsx +99 -37
  98. package/src/core/components/layout/AdminShell.tsx +14 -1
  99. package/src/core/components/layout/AlephaMantineProvider.tsx +7 -3
  100. package/src/core/components/layout/Omnibar.tsx +1 -1
  101. package/src/core/components/layout/Sidebar.tsx +47 -14
  102. package/src/core/components/table/ColumnPicker.tsx +126 -0
  103. package/src/core/components/table/DataTable.tsx +354 -181
  104. package/src/core/components/table/DataTableFilters.tsx +64 -0
  105. package/src/core/components/table/DataTablePagination.tsx +59 -0
  106. package/src/core/components/table/DataTableToolbar.tsx +126 -0
  107. package/src/core/components/table/FilterPicker.tsx +138 -0
  108. package/src/core/components/table/types.ts +199 -0
  109. package/src/core/helpers/isComponentType.ts +9 -0
  110. package/src/core/helpers/renderIcon.tsx +13 -0
  111. package/src/core/hooks/useTheme.ts +24 -18
  112. package/src/core/index.ts +24 -3
  113. package/src/core/interfaces/AlephaTheme.ts +8 -0
  114. package/src/core/providers/ThemeProvider.ts +44 -62
  115. package/src/core/services/DialogService.tsx +24 -0
  116. package/src/core/utils/parseInput.ts +2 -2
  117. package/styles.css +1 -1
  118. package/dist/admin/AdminFiles-B-0UcHVV.js +0 -3
  119. package/dist/admin/AdminFiles-B_jfB_Py.js.map +0 -1
  120. package/dist/admin/AdminLayout-BMtiXAzS.js +0 -396
  121. package/dist/admin/AdminLayout-BMtiXAzS.js.map +0 -1
  122. package/dist/admin/AdminLayout-BNo3GoHR.js +0 -3
  123. package/dist/admin/AdminNotifications-BFEjqpqx.js.map +0 -1
  124. package/dist/admin/AdminNotifications-DJs2ZjNj.js +0 -3
  125. package/dist/admin/AdminSessions-D7DESfWK.js.map +0 -1
  126. package/dist/admin/AdminSessions-PS2M8iXi.js +0 -3
  127. package/dist/admin/AdminUserCreate-Bhxsn92l.js.map +0 -1
  128. package/dist/admin/AdminUserDetails-C2y1Ig4n.js.map +0 -1
  129. package/dist/admin/AdminUserLayout-sW6cjZL0.js.map +0 -1
  130. package/dist/admin/AdminUserSessions-CvN15wPe.js.map +0 -1
  131. package/dist/admin/AdminUserSessions-D-aOcZgV.js +0 -3
  132. package/dist/admin/AdminUserSettings-CEMhIYrI.js +0 -3
  133. package/dist/admin/AdminUserSettings-DvaaxgcV.js.map +0 -1
  134. package/dist/admin/AdminUsers-BR3C-jrg.js.map +0 -1
  135. package/dist/admin/AdminUsers-CMW9vN09.js +0 -3
  136. package/dist/auth/AuthLayout-CzwUKD9y.js +0 -19
  137. package/dist/auth/AuthLayout-CzwUKD9y.js.map +0 -1
  138. package/dist/auth/Login-7HlBjDeV.js.map +0 -1
  139. package/dist/auth/Login-C-e27DGb.js +0 -4
  140. package/dist/auth/Register-CuQr3kgi.js.map +0 -1
  141. package/dist/auth/Register-DbvXwgbG.js +0 -4
  142. package/dist/auth/ResetPassword-BzU-cdd4.js +0 -243
  143. package/dist/auth/ResetPassword-BzU-cdd4.js.map +0 -1
  144. package/dist/auth/ResetPassword-DSvrdpaA.js +0 -3
  145. package/src/admin/AdminSidebar.ts +0 -31
  146. package/src/admin/components/AdminParameters.tsx +0 -24
  147. package/src/core/themes/aurora.ts +0 -107
  148. package/src/core/themes/crystal.ts +0 -107
  149. package/src/core/themes/default.ts +0 -7
  150. package/src/core/themes/ember.ts +0 -107
  151. package/src/core/themes/index.ts +0 -7
  152. package/src/core/themes/remoraid.ts +0 -278
  153. package/src/core/themes/slate.ts +0 -81
  154. /package/src/admin/components/{AdminNotifications.tsx → notifications/AdminNotifications.tsx} +0 -0
  155. /package/src/admin/components/{AdminUserDetails.tsx → users/AdminUserDetails.tsx} +0 -0
  156. /package/src/admin/components/{AdminUserSessions.tsx → users/AdminUserSessions.tsx} +0 -0
  157. /package/src/admin/components/{AdminVerifications.tsx → verifications/AdminVerifications.tsx} +0 -0
@@ -1,11 +1,11 @@
1
- import * as alepha99 from "alepha";
1
+ import * as alepha1 from "alepha";
2
2
  import { Alepha, AlephaError, Async, FileLike, InstantiableClass, LogLevel, LoggerInterface, Page, PageMetadata, Primitive, Static, StreamLike, TArray, TFile, TObject, TProperties, TRecord, TSchema, TStream, TString, TVoid, TypeBoxError } from "alepha";
3
3
  import { AnchorProps, AppShellFooterProps, AppShellHeaderProps, AppShellMainProps, AppShellNavbarProps, AppShellProps, AutocompleteProps, BurgerProps, ButtonProps, ColorInputProps, ColorSchemeScriptProps, FileInputProps, Flex, FlexProps, MantineBreakpoint, MantineProviderProps, MantineSize, MantineThemeOverride, MenuProps, MenuTargetProps, ModalProps, MultiSelectProps, NumberInputProps, PasswordInputProps, SegmentedControlProps, SelectProps, SliderProps, SwitchProps, TableProps, TableTrProps, TagsInputProps, Text, TextInputProps, TextareaProps, ThemeIconProps, TooltipProps } from "@mantine/core";
4
4
  import { ModalsProviderProps } from "@mantine/modals";
5
5
  import * as _mantine_notifications0 from "@mantine/notifications";
6
6
  import { NotificationData, NotificationsProps } from "@mantine/notifications";
7
7
  import { NavigationProgressProps } from "@mantine/nprogress";
8
- import * as react_jsx_runtime14 from "react/jsx-runtime";
8
+ import * as react_jsx_runtime11 from "react/jsx-runtime";
9
9
  import { ComponentType, FC, InputHTMLAttributes, ReactElement, ReactNode } from "react";
10
10
  import { DateInputProps, DateTimePickerProps, TimeInputProps } from "@mantine/dates";
11
11
  import "dayjs/plugin/relativeTime.js";
@@ -20,16 +20,22 @@ import { IncomingMessage, Server, ServerResponse } from "node:http";
20
20
  import { Readable } from "node:stream";
21
21
  import { ReadableStream } from "node:stream/web";
22
22
 
23
+ //#region ../../src/core/atoms/alephaThemeAtom.d.ts
24
+ declare const alephaThemeAtom: alepha1.Atom<alepha1.TObject<{
25
+ index: alepha1.TInteger;
26
+ }>, "alepha.ui.theme">;
27
+ type CurrentAlephaTheme = Static<typeof alephaThemeAtom.schema>;
28
+ //#endregion
23
29
  //#region ../../../alepha/src/logger/schemas/logEntrySchema.d.ts
24
- declare const logEntrySchema: alepha99.TObject<{
25
- level: alepha99.TUnsafe<"SILENT" | "TRACE" | "DEBUG" | "INFO" | "WARN" | "ERROR">;
26
- message: alepha99.TString;
27
- service: alepha99.TString;
28
- module: alepha99.TString;
29
- context: alepha99.TOptional<alepha99.TString>;
30
- app: alepha99.TOptional<alepha99.TString>;
31
- data: alepha99.TOptional<alepha99.TAny>;
32
- timestamp: alepha99.TNumber;
30
+ declare const logEntrySchema: alepha1.TObject<{
31
+ level: alepha1.TUnsafe<"SILENT" | "TRACE" | "DEBUG" | "INFO" | "WARN" | "ERROR">;
32
+ message: alepha1.TString;
33
+ service: alepha1.TString;
34
+ module: alepha1.TString;
35
+ context: alepha1.TOptional<alepha1.TString>;
36
+ app: alepha1.TOptional<alepha1.TString>;
37
+ data: alepha1.TOptional<alepha1.TAny>;
38
+ timestamp: alepha1.TNumber;
33
39
  }>;
34
40
  type LogEntry = Static<typeof logEntrySchema>;
35
41
  //#endregion
@@ -44,8 +50,8 @@ declare class DateTimeProvider {
44
50
  protected readonly timeouts: Timeout[];
45
51
  protected readonly intervals: Interval[];
46
52
  constructor();
47
- protected readonly onStart: alepha99.HookPrimitive<"start">;
48
- protected readonly onStop: alepha99.HookPrimitive<"stop">;
53
+ protected readonly onStart: alepha1.HookPrimitive<"start">;
54
+ protected readonly onStop: alepha1.HookPrimitive<"stop">;
49
55
  setLocale(locale: string): void;
50
56
  isDateTime(value: unknown): value is DateTime;
51
57
  /**
@@ -177,7 +183,7 @@ declare class Logger implements LoggerInterface {
177
183
  }
178
184
  //#endregion
179
185
  //#region ../../../alepha/src/logger/index.d.ts
180
- declare const envSchema$6: alepha99.TObject<{
186
+ declare const envSchema$6: alepha1.TObject<{
181
187
  /**
182
188
  * Default log level for the application.
183
189
  *
@@ -194,14 +200,14 @@ declare const envSchema$6: alepha99.TObject<{
194
200
  * LOG_LEVEL=my.module.name:debug,info # Set debug level for my.module.name and info for all other modules
195
201
  * LOG_LEVEL=alepha:trace, info # Set trace level for all alepha modules and info for all other modules
196
202
  */
197
- LOG_LEVEL: alepha99.TOptional<alepha99.TString>;
203
+ LOG_LEVEL: alepha1.TOptional<alepha1.TString>;
198
204
  /**
199
205
  * Built-in log formats.
200
206
  * - "json" - JSON format, useful for structured logging and log aggregation. {@link JsonFormatterProvider}
201
- * - "pretty" - Simple text format, human-readable, with colors. {@link SimpleFormatterProvider}
207
+ * - "pretty" - Simple text format, human-readable, with colors. {@link PrettyFormatterProvider}
202
208
  * - "raw" - Raw format, no formatting, just the message. {@link RawFormatterProvider}
203
209
  */
204
- LOG_FORMAT: alepha99.TOptional<alepha99.TUnsafe<"json" | "pretty" | "raw">>;
210
+ LOG_FORMAT: alepha1.TOptional<alepha1.TUnsafe<"json" | "pretty" | "raw">>;
205
211
  }>;
206
212
  declare module "alepha" {
207
213
  interface Env extends Partial<Static<typeof envSchema$6>> {}
@@ -265,7 +271,7 @@ declare class FormModel<T$1 extends TObject> {
265
271
  protected createInputFromSchema<T$1 extends TObject>(name: keyof Static<T$1> & string, options: FormCtrlOptions<T$1>, schema: TObject, required: boolean, context: {
266
272
  parent: string;
267
273
  store: Record<string, any>;
268
- }): InputField;
274
+ }): BaseInputField;
269
275
  /**
270
276
  * Convert an input value to the correct type based on the schema.
271
277
  * Handles raw DOM values (strings, booleans from checkboxes, Files, etc.)
@@ -273,18 +279,26 @@ declare class FormModel<T$1 extends TObject> {
273
279
  protected getValueFromInput(input: any, schema: TSchema): any;
274
280
  protected valueToInputEntry(value: any): string | number | boolean;
275
281
  }
276
- type SchemaToInput<T$1 extends TObject> = { [K in keyof T$1["properties"]]: T$1["properties"][K] extends TObject ? SchemaToInput<T$1["properties"][K]> : InputField };
282
+ type SchemaToInput<T$1 extends TObject> = { [K in keyof T$1["properties"]]: InputField<T$1["properties"][K]> };
277
283
  interface FormEventLike {
278
284
  preventDefault?: () => void;
279
285
  stopPropagation?: () => void;
280
286
  }
281
- interface InputField {
287
+ type InputField<T$1 extends TSchema> = T$1 extends TObject ? ObjectInputField<T$1> : T$1 extends TArray<infer U> ? ArrayInputField<U> : BaseInputField;
288
+ interface BaseInputField {
282
289
  path: string;
283
290
  required: boolean;
284
291
  props: InputHTMLAttributesLike;
285
292
  schema: TSchema;
286
293
  set: (value: any) => void;
287
294
  form: FormModel<any>;
295
+ items?: any;
296
+ }
297
+ interface ObjectInputField<T$1 extends TObject> extends BaseInputField {
298
+ items: SchemaToInput<T$1>;
299
+ }
300
+ interface ArrayInputField<T$1 extends TSchema> extends BaseInputField {
301
+ items: Array<InputField<T$1>>;
288
302
  }
289
303
  type InputHTMLAttributesLike = Pick<InputHTMLAttributes<unknown>, "id" | "name" | "type" | "value" | "defaultValue" | "required" | "maxLength" | "minLength" | "aria-label" | "autoComplete"> & {
290
304
  value?: any;
@@ -371,7 +385,7 @@ declare module "alepha" {
371
385
  //#endregion
372
386
  //#region ../../src/core/utils/parseInput.d.ts
373
387
  interface GenericControlProps {
374
- input: InputField;
388
+ input: BaseInputField;
375
389
  title?: string;
376
390
  description?: string;
377
391
  icon?: ReactElement | ((props: {
@@ -379,11 +393,145 @@ interface GenericControlProps {
379
393
  }) => ReactNode);
380
394
  }
381
395
  //#endregion
396
+ //#region ../../src/core/components/form/ControlArray.d.ts
397
+ interface ControlArrayProps extends GenericControlProps {
398
+ /**
399
+ * Minimum number of items allowed.
400
+ * @default 0
401
+ */
402
+ min?: number;
403
+ /**
404
+ * Maximum number of items allowed.
405
+ * @default Infinity
406
+ */
407
+ max?: number;
408
+ /**
409
+ * Label for the add button.
410
+ * @default "Add item"
411
+ */
412
+ addLabel?: string;
413
+ /**
414
+ * Number of columns for object item fields.
415
+ * @default 1
416
+ */
417
+ columns?: number;
418
+ /**
419
+ * Variant for the container.
420
+ * - "fieldset": Uses Mantine Fieldset with legend
421
+ * - "plain": No container, just renders items
422
+ * @default "fieldset"
423
+ */
424
+ variant?: "fieldset" | "plain";
425
+ /**
426
+ * Per-field control props override for object items.
427
+ * Keys are field names from the item schema.
428
+ */
429
+ controlProps?: Record<string, Partial<Omit<ControlProps, "input">>>;
430
+ /**
431
+ * Control props for primitive items.
432
+ */
433
+ itemControlProps?: Partial<Omit<ControlProps, "input">>;
434
+ /**
435
+ * Show drag handle for reordering.
436
+ * @default false
437
+ */
438
+ sortable?: boolean;
439
+ }
440
+ /**
441
+ * ControlArray component for editing arrays of schema items.
442
+ *
443
+ * Features:
444
+ * - Dynamic add/remove of items
445
+ * - Supports arrays of objects with nested fields
446
+ * - Supports arrays of primitives
447
+ * - Grid layout for object items
448
+ * - Min/max constraints
449
+ *
450
+ * @example
451
+ * ```tsx
452
+ * // For a schema like:
453
+ * // t.object({
454
+ * // contacts: t.array(t.object({
455
+ * // name: t.text(),
456
+ * // email: t.text({ format: "email" }),
457
+ * // }))
458
+ * // })
459
+ *
460
+ * <ControlArray
461
+ * input={form.input.contacts}
462
+ * columns={2}
463
+ * addLabel="Add contact"
464
+ * controlProps={{
465
+ * email: { text: { placeholder: "email@example.com" } }
466
+ * }}
467
+ * />
468
+ * ```
469
+ */
470
+ declare const ControlArray: (props: ControlArrayProps) => react_jsx_runtime11.JSX.Element | null;
471
+ //#endregion
382
472
  //#region ../../src/core/components/form/ControlNumber.d.ts
383
473
  interface ControlNumberProps extends GenericControlProps {
384
474
  numberInputProps?: Partial<NumberInputProps>;
385
475
  sliderProps?: Partial<SliderProps>;
386
476
  }
477
+ /**
478
+ *
479
+ */
480
+ declare const ControlNumber: (props: ControlNumberProps) => react_jsx_runtime11.JSX.Element | null;
481
+ //#endregion
482
+ //#region ../../src/core/components/form/ControlObject.d.ts
483
+ interface ControlObjectProps extends GenericControlProps {
484
+ /**
485
+ * Number of columns for the grid layout.
486
+ * @default 1
487
+ */
488
+ columns?: number;
489
+ /**
490
+ * Variant for the container.
491
+ * - "fieldset": Uses Mantine Fieldset with legend
492
+ * - "plain": No container, just renders fields
493
+ * @default "fieldset"
494
+ */
495
+ variant?: "fieldset" | "plain";
496
+ /**
497
+ * Per-field control props override.
498
+ * Keys are field names from the schema.
499
+ */
500
+ controlProps?: Record<string, Partial<Omit<ControlProps, "input">>>;
501
+ }
502
+ /**
503
+ * ControlObject component for editing nested object schemas.
504
+ *
505
+ * Features:
506
+ * - Renders all properties of an object schema
507
+ * - Supports grid layout with configurable columns
508
+ * - Per-field customization via controlProps
509
+ * - Recursive support for deeply nested objects
510
+ *
511
+ * The form system provides nested InputFields under the `.items` property.
512
+ * For example: form.input.address.items.street
513
+ *
514
+ * @example
515
+ * ```tsx
516
+ * // For a schema like:
517
+ * // t.object({
518
+ * // address: t.object({
519
+ * // street: t.text(),
520
+ * // city: t.text(),
521
+ * // zip: t.text(),
522
+ * // })
523
+ * // })
524
+ *
525
+ * <ControlObject
526
+ * input={form.input.address}
527
+ * columns={2}
528
+ * controlProps={{
529
+ * zip: { text: { maxLength: 10 } }
530
+ * }}
531
+ * />
532
+ * ```
533
+ */
534
+ declare const ControlObject: (props: ControlObjectProps) => react_jsx_runtime11.JSX.Element | null;
387
535
  //#endregion
388
536
  //#region ../../src/core/components/form/ControlSelect.d.ts
389
537
  type SelectValueLabel = string | {
@@ -412,7 +560,7 @@ interface ControlSelectProps extends GenericControlProps {
412
560
  *
413
561
  * Automatically detects enum values and array types from schema.
414
562
  */
415
- declare const ControlSelect: (props: ControlSelectProps) => react_jsx_runtime14.JSX.Element | null;
563
+ declare const ControlSelect: (props: ControlSelectProps) => react_jsx_runtime11.JSX.Element | null;
416
564
  //#endregion
417
565
  //#region ../../src/core/components/form/Control.d.ts
418
566
  interface ControlProps extends GenericControlProps {
@@ -428,6 +576,8 @@ interface ControlProps extends GenericControlProps {
428
576
  datetime?: boolean | DateTimePickerProps;
429
577
  time?: boolean | TimeInputProps;
430
578
  query?: any;
579
+ object?: boolean | Partial<Omit<ControlObjectProps, "input">>;
580
+ array?: boolean | Partial<Omit<ControlArrayProps, "input">>;
431
581
  custom?: ComponentType<CustomControlProps>;
432
582
  }
433
583
  /**
@@ -448,26 +598,44 @@ interface ControlProps extends GenericControlProps {
448
598
  * - DateTimePicker (for date-time format)
449
599
  * - TimeInput (for time format)
450
600
  * - QueryBuilder (for building type-safe queries with autocomplete)
601
+ * - ControlObject (for nested object schemas)
602
+ * - ControlArray (for arrays of objects)
451
603
  * - Custom component
452
604
  *
453
605
  * Automatically handles labels, descriptions, error messages, required state, and default icons.
454
606
  */
455
- declare const Control: (_props: ControlProps) => react_jsx_runtime14.JSX.Element | null;
607
+ declare const Control: (_props: ControlProps) => react_jsx_runtime11.JSX.Element | null;
456
608
  type CustomControlProps = {
457
609
  defaultValue: any;
458
610
  onChange: (value: any) => void;
459
611
  };
460
612
  //#endregion
613
+ //#region ../../src/core/atoms/alephaThemeListAtom.d.ts
614
+ declare const alephaThemeListAtom: alepha1.Atom<alepha1.TArray<alepha1.TRecord<string, alepha1.TAny>>, "alepha.ui.themeList">;
615
+ //#endregion
616
+ //#region ../../src/core/interfaces/AlephaTheme.d.ts
617
+ type AlephaTheme = MantineThemeOverride & {
618
+ name: string;
619
+ description: string;
620
+ defaultColorScheme?: "light" | "dark";
621
+ };
622
+ //#endregion
623
+ //#region ../../src/core/atoms/themes/default.d.ts
624
+ declare const defaultTheme: AlephaTheme;
625
+ //#endregion
626
+ //#region ../../src/core/atoms/themes/midnight.d.ts
627
+ declare const midnightTheme: AlephaTheme;
628
+ //#endregion
461
629
  //#region ../../../alepha/src/server/schemas/errorSchema.d.ts
462
- declare const errorSchema: alepha99.TObject<{
463
- error: alepha99.TString;
464
- status: alepha99.TInteger;
465
- message: alepha99.TString;
466
- details: alepha99.TOptional<alepha99.TString>;
467
- requestId: alepha99.TOptional<alepha99.TString>;
468
- cause: alepha99.TOptional<alepha99.TObject<{
469
- name: alepha99.TString;
470
- message: alepha99.TString;
630
+ declare const errorSchema: alepha1.TObject<{
631
+ error: alepha1.TString;
632
+ status: alepha1.TInteger;
633
+ message: alepha1.TString;
634
+ details: alepha1.TOptional<alepha1.TString>;
635
+ requestId: alepha1.TOptional<alepha1.TString>;
636
+ cause: alepha1.TOptional<alepha1.TObject<{
637
+ name: alepha1.TString;
638
+ message: alepha1.TString;
471
639
  }>>;
472
640
  }>;
473
641
  type ErrorSchema = Static<typeof errorSchema>;
@@ -724,8 +892,8 @@ declare class ServerTimingProvider {
724
892
  prefix: string;
725
893
  disabled: boolean;
726
894
  };
727
- readonly onRequest: alepha99.HookPrimitive<"server:onRequest">;
728
- readonly onResponse: alepha99.HookPrimitive<"server:onResponse">;
895
+ readonly onRequest: alepha1.HookPrimitive<"server:onRequest">;
896
+ readonly onResponse: alepha1.HookPrimitive<"server:onResponse">;
729
897
  protected get handlerName(): string;
730
898
  beginTiming(name: string): void;
731
899
  endTiming(name: string): void;
@@ -789,11 +957,11 @@ declare class ServerProvider {
789
957
  /**
790
958
  * When a Node.js HTTP request is received from outside. (Vercel, AWS Lambda, etc.)
791
959
  */
792
- protected readonly onNodeRequest: alepha99.HookPrimitive<"node:request">;
960
+ protected readonly onNodeRequest: alepha1.HookPrimitive<"node:request">;
793
961
  /**
794
962
  * When a Web (Fetch API) request is received from outside. (Netlify, Cloudflare Workers, etc.)
795
963
  */
796
- protected readonly onWebRequest: alepha99.HookPrimitive<"web:request">;
964
+ protected readonly onWebRequest: alepha1.HookPrimitive<"web:request">;
797
965
  /**
798
966
  * Handle Node.js HTTP request event.
799
967
  *
@@ -1128,18 +1296,18 @@ type ServerActionHandler<TConfig extends RequestConfigSchema = RequestConfigSche
1128
1296
  interface ServerActionRequest<TConfig extends RequestConfigSchema> extends ServerRequest<TConfig> {}
1129
1297
  //#endregion
1130
1298
  //#region ../../../alepha/src/server/providers/BunHttpServerProvider.d.ts
1131
- declare const envSchema$5: alepha99.TObject<{
1132
- SERVER_PORT: alepha99.TInteger;
1133
- SERVER_HOST: alepha99.TString;
1299
+ declare const envSchema$5: alepha1.TObject<{
1300
+ SERVER_PORT: alepha1.TInteger;
1301
+ SERVER_HOST: alepha1.TString;
1134
1302
  }>;
1135
1303
  declare module "alepha" {
1136
1304
  interface Env extends Partial<Static<typeof envSchema$5>> {}
1137
1305
  }
1138
1306
  //#endregion
1139
1307
  //#region ../../../alepha/src/server/providers/NodeHttpServerProvider.d.ts
1140
- declare const envSchema$4: alepha99.TObject<{
1141
- SERVER_PORT: alepha99.TInteger;
1142
- SERVER_HOST: alepha99.TString;
1308
+ declare const envSchema$4: alepha1.TObject<{
1309
+ SERVER_PORT: alepha1.TInteger;
1310
+ SERVER_HOST: alepha1.TString;
1143
1311
  }>;
1144
1312
  declare module "alepha" {
1145
1313
  interface Env extends Partial<Static<typeof envSchema$4>> {}
@@ -1316,8 +1484,8 @@ declare class Redirection extends Error {
1316
1484
  }
1317
1485
  //#endregion
1318
1486
  //#region ../../../react/src/core/providers/ReactPageProvider.d.ts
1319
- declare const envSchema$3: alepha99.TObject<{
1320
- REACT_STRICT_MODE: alepha99.TBoolean;
1487
+ declare const envSchema$3: alepha1.TObject<{
1488
+ REACT_STRICT_MODE: alepha1.TBoolean;
1321
1489
  }>;
1322
1490
  declare module "alepha" {
1323
1491
  interface Env extends Partial<Static<typeof envSchema$3>> {}
@@ -1414,10 +1582,10 @@ interface PagePrimitiveOptions<TConfig extends PageConfigSchema = PageConfigSche
1414
1582
  * Load data before rendering the page.
1415
1583
  *
1416
1584
  * This function receives
1417
- * - the request context and
1585
+ * - the request context (params, query, etc.)
1418
1586
  * - the parent props (if page has a parent)
1419
1587
  *
1420
- * In SSR, the returned data will be serialized and sent to the client, then reused during the client-side hydration.
1588
+ * > In SSR, the returned data will be serialized and sent to the client, then reused during the client-side hydration.
1421
1589
  *
1422
1590
  * Resolve can be stopped by throwing an error, which will be handled by the `errorHandler` function.
1423
1591
  * It's common to throw a `NotFoundError` to display a 404 page.
@@ -1425,6 +1593,12 @@ interface PagePrimitiveOptions<TConfig extends PageConfigSchema = PageConfigSche
1425
1593
  * RedirectError can be thrown to redirect the user to another page.
1426
1594
  */
1427
1595
  resolve?: (context: PageResolve<TConfig, TPropsParent>) => Async<TProps>;
1596
+ /**
1597
+ * Default props to pass to the component when rendering the page.
1598
+ *
1599
+ * Resolved props from the `resolve` function will override these default props.
1600
+ */
1601
+ props?: () => Partial<TProps>;
1428
1602
  /**
1429
1603
  * The component to render when the page is loaded.
1430
1604
  *
@@ -1450,6 +1624,12 @@ interface PagePrimitiveOptions<TConfig extends PageConfigSchema = PageConfigSche
1450
1624
  * Define a parent page for nested routing.
1451
1625
  */
1452
1626
  parent?: PagePrimitive<PageConfigSchema, TPropsParent, any>;
1627
+ /**
1628
+ * Function to determine if the page can be accessed.
1629
+ *
1630
+ * If it returns false, the page will not be accessible and a 403 Forbidden error will be returned.
1631
+ * This function can be used to implement permission-based access control.
1632
+ */
1453
1633
  can?: () => boolean;
1454
1634
  /**
1455
1635
  * Catch any error from the `resolve` function or during `rendering`.
@@ -1618,15 +1798,15 @@ type CssAnimation = {
1618
1798
  };
1619
1799
  //#endregion
1620
1800
  //#region ../../../alepha/src/security/schemas/userAccountInfoSchema.d.ts
1621
- declare const userAccountInfoSchema: alepha99.TObject<{
1622
- id: alepha99.TString;
1623
- name: alepha99.TOptional<alepha99.TString>;
1624
- email: alepha99.TOptional<alepha99.TString>;
1625
- username: alepha99.TOptional<alepha99.TString>;
1626
- picture: alepha99.TOptional<alepha99.TString>;
1627
- sessionId: alepha99.TOptional<alepha99.TString>;
1628
- organizations: alepha99.TOptional<alepha99.TArray<alepha99.TString>>;
1629
- roles: alepha99.TOptional<alepha99.TArray<alepha99.TString>>;
1801
+ declare const userAccountInfoSchema: alepha1.TObject<{
1802
+ id: alepha1.TString;
1803
+ name: alepha1.TOptional<alepha1.TString>;
1804
+ email: alepha1.TOptional<alepha1.TString>;
1805
+ username: alepha1.TOptional<alepha1.TString>;
1806
+ picture: alepha1.TOptional<alepha1.TString>;
1807
+ sessionId: alepha1.TOptional<alepha1.TString>;
1808
+ organizations: alepha1.TOptional<alepha1.TArray<alepha1.TString>>;
1809
+ roles: alepha1.TOptional<alepha1.TArray<alepha1.TString>>;
1630
1810
  }>;
1631
1811
  type UserAccount = Static<typeof userAccountInfoSchema>;
1632
1812
  //#endregion
@@ -1652,8 +1832,8 @@ interface UserAccountToken extends UserAccount {
1652
1832
  }
1653
1833
  //#endregion
1654
1834
  //#region ../../../alepha/src/security/providers/SecurityProvider.d.ts
1655
- declare const envSchema$2: alepha99.TObject<{
1656
- APP_SECRET: alepha99.TString;
1835
+ declare const envSchema$2: alepha1.TObject<{
1836
+ APP_SECRET: alepha1.TString;
1657
1837
  }>;
1658
1838
  declare module "alepha" {
1659
1839
  interface Env extends Partial<Static<typeof envSchema$2>> {}
@@ -1746,15 +1926,15 @@ declare module "alepha/server" {
1746
1926
  */
1747
1927
  //#endregion
1748
1928
  //#region ../../../alepha/src/server-links/schemas/apiLinksResponseSchema.d.ts
1749
- declare const apiLinksResponseSchema: alepha99.TObject<{
1750
- prefix: alepha99.TOptional<alepha99.TString>;
1751
- links: alepha99.TArray<alepha99.TObject<{
1752
- name: alepha99.TString;
1753
- group: alepha99.TOptional<alepha99.TString>;
1754
- path: alepha99.TString;
1755
- method: alepha99.TOptional<alepha99.TString>;
1756
- requestBodyType: alepha99.TOptional<alepha99.TString>;
1757
- service: alepha99.TOptional<alepha99.TString>;
1929
+ declare const apiLinksResponseSchema: alepha1.TObject<{
1930
+ prefix: alepha1.TOptional<alepha1.TString>;
1931
+ links: alepha1.TArray<alepha1.TObject<{
1932
+ name: alepha1.TString;
1933
+ group: alepha1.TOptional<alepha1.TString>;
1934
+ path: alepha1.TString;
1935
+ method: alepha1.TOptional<alepha1.TString>;
1936
+ requestBodyType: alepha1.TOptional<alepha1.TString>;
1937
+ service: alepha1.TOptional<alepha1.TString>;
1758
1938
  }>>;
1759
1939
  }>;
1760
1940
  type ApiLinksResponse = Static<typeof apiLinksResponseSchema>;
@@ -1784,8 +1964,8 @@ declare module "alepha" {
1784
1964
  */
1785
1965
  //#endregion
1786
1966
  //#region ../../../react/src/core/providers/ReactBrowserProvider.d.ts
1787
- declare const envSchema$1: alepha99.TObject<{
1788
- REACT_ROOT_ID: alepha99.TString;
1967
+ declare const envSchema$1: alepha1.TObject<{
1968
+ REACT_ROOT_ID: alepha1.TString;
1789
1969
  }>;
1790
1970
  declare module "alepha" {
1791
1971
  interface Env extends Partial<Static<typeof envSchema$1>> {}
@@ -1793,8 +1973,8 @@ declare module "alepha" {
1793
1973
  /**
1794
1974
  * React browser renderer configuration atom
1795
1975
  */
1796
- declare const reactBrowserOptions: alepha99.Atom<alepha99.TObject<{
1797
- scrollRestoration: alepha99.TUnsafe<"top" | "manual">;
1976
+ declare const reactBrowserOptions: alepha1.Atom<alepha1.TObject<{
1977
+ scrollRestoration: alepha1.TUnsafe<"top" | "manual">;
1798
1978
  }>, "alepha.react.browser.options">;
1799
1979
  type ReactBrowserRendererOptions = Static<typeof reactBrowserOptions.schema>;
1800
1980
  declare module "alepha" {
@@ -1936,25 +2116,25 @@ declare module "@alepha/react" {
1936
2116
  */
1937
2117
  //#endregion
1938
2118
  //#region ../../../react/src/core/providers/ReactServerProvider.d.ts
1939
- declare const envSchema: alepha99.TObject<{
1940
- REACT_SSR_ENABLED: alepha99.TOptional<alepha99.TBoolean>;
1941
- REACT_ROOT_ID: alepha99.TString;
1942
- REACT_SERVER_TEMPLATE: alepha99.TOptional<alepha99.TString>;
2119
+ declare const envSchema: alepha1.TObject<{
2120
+ REACT_SSR_ENABLED: alepha1.TOptional<alepha1.TBoolean>;
2121
+ REACT_ROOT_ID: alepha1.TString;
1943
2122
  }>;
1944
2123
  declare module "alepha" {
1945
2124
  interface Env extends Partial<Static<typeof envSchema>> {}
1946
2125
  interface State {
1947
2126
  "alepha.react.server.ssr"?: boolean;
2127
+ "alepha.react.server.template"?: string;
1948
2128
  }
1949
2129
  }
1950
2130
  /**
1951
2131
  * React server provider configuration atom
1952
2132
  */
1953
- declare const reactServerOptions: alepha99.Atom<alepha99.TObject<{
1954
- publicDir: alepha99.TString;
1955
- staticServer: alepha99.TObject<{
1956
- disabled: alepha99.TBoolean;
1957
- path: alepha99.TString;
2133
+ declare const reactServerOptions: alepha1.Atom<alepha1.TObject<{
2134
+ publicDir: alepha1.TString;
2135
+ staticServer: alepha1.TObject<{
2136
+ disabled: alepha1.TBoolean;
2137
+ path: alepha1.TString;
1958
2138
  }>;
1959
2139
  }>, "alepha.react.server.options">;
1960
2140
  type ReactServerProviderOptions = Static<typeof reactServerOptions.schema>;
@@ -2130,7 +2310,7 @@ interface ActionCommonProps extends ButtonProps {
2130
2310
  * Tooltip to display on hover. Can be a string for simple tooltips
2131
2311
  * or a TooltipProps object for advanced configuration.
2132
2312
  */
2133
- tooltip?: string | TooltipProps;
2313
+ tooltip?: string | number | TooltipProps;
2134
2314
  /**
2135
2315
  * Menu configuration. When provided, the action will display a dropdown menu.
2136
2316
  */
@@ -2157,10 +2337,10 @@ interface ActionCommonProps extends ButtonProps {
2157
2337
  /**
2158
2338
  * Visual intent of the action button.
2159
2339
  */
2160
- intent?: "primary" | "success" | "danger" | "warning" | "info";
2340
+ intent?: "primary" | "success" | "danger" | "warning" | "info" | "none";
2161
2341
  }
2162
2342
  type ActionProps = ActionCommonProps & (ActionNavigationButtonProps | ActionClickButtonProps | ActionSubmitButtonProps | ActionHookButtonProps | {});
2163
- declare const ActionButton: (_props: ActionProps) => react_jsx_runtime14.JSX.Element;
2343
+ declare const ActionButton: (_props: ActionProps) => react_jsx_runtime11.JSX.Element;
2164
2344
  interface ActionSubmitButtonProps extends ButtonProps {
2165
2345
  form: FormModel<any>;
2166
2346
  type?: "submit" | "reset";
@@ -2183,7 +2363,7 @@ interface ActionNavigationButtonProps extends ButtonProps {
2183
2363
  //#endregion
2184
2364
  //#region ../../src/core/components/buttons/BurgerButton.d.ts
2185
2365
  interface BurgerButtonProps extends BurgerProps {}
2186
- declare const BurgerButton: (props: BurgerButtonProps) => react_jsx_runtime14.JSX.Element;
2366
+ declare const BurgerButton: (props: BurgerButtonProps) => react_jsx_runtime11.JSX.Element;
2187
2367
  //#endregion
2188
2368
  //#region ../../src/core/components/buttons/ClipboardButton.d.ts
2189
2369
  interface ClipboardButtonProps extends Omit<ActionCommonProps, "onClick" | "icon"> {
@@ -2204,7 +2384,7 @@ interface ClipboardButtonProps extends Omit<ActionCommonProps, "onClick" | "icon
2204
2384
  */
2205
2385
  copiedLabel?: string;
2206
2386
  }
2207
- declare const ClipboardButton: (props: ClipboardButtonProps) => react_jsx_runtime14.JSX.Element;
2387
+ declare const ClipboardButton: (props: ClipboardButtonProps) => react_jsx_runtime11.JSX.Element;
2208
2388
  //#endregion
2209
2389
  //#region ../../src/core/components/buttons/DarkModeButton.d.ts
2210
2390
  interface DarkModeButtonProps {
@@ -2215,27 +2395,27 @@ interface DarkModeButtonProps {
2215
2395
  segmentedProps?: Partial<SegmentedControlProps>;
2216
2396
  actionProps?: Partial<ActionProps>;
2217
2397
  }
2218
- declare const DarkModeButton: (props: DarkModeButtonProps) => react_jsx_runtime14.JSX.Element;
2398
+ declare const DarkModeButton: (props: DarkModeButtonProps) => react_jsx_runtime11.JSX.Element;
2219
2399
  //#endregion
2220
2400
  //#region ../../src/core/components/buttons/LanguageButton.d.ts
2221
2401
  interface LanguageButtonProps {
2222
2402
  languages?: string[];
2223
2403
  actionProps?: ActionProps;
2224
2404
  }
2225
- declare const LanguageButton: (props: LanguageButtonProps) => react_jsx_runtime14.JSX.Element;
2405
+ declare const LanguageButton: (props: LanguageButtonProps) => react_jsx_runtime11.JSX.Element;
2226
2406
  //#endregion
2227
2407
  //#region ../../src/core/components/buttons/OmnibarButton.d.ts
2228
2408
  interface OmnibarButtonProps {
2229
2409
  actionProps?: ActionProps;
2230
2410
  collapsed?: boolean;
2231
2411
  }
2232
- declare const OmnibarButton: (props: OmnibarButtonProps) => react_jsx_runtime14.JSX.Element;
2412
+ declare const OmnibarButton: (props: OmnibarButtonProps) => react_jsx_runtime11.JSX.Element;
2233
2413
  //#endregion
2234
2414
  //#region ../../src/core/components/buttons/ThemeButton.d.ts
2235
2415
  interface ThemeButtonProps {
2236
2416
  actionProps?: Partial<ActionProps>;
2237
2417
  }
2238
- declare const ThemeButton: (props: ThemeButtonProps) => react_jsx_runtime14.JSX.Element;
2418
+ declare const ThemeButton: (props: ThemeButtonProps) => react_jsx_runtime11.JSX.Element;
2239
2419
  //#endregion
2240
2420
  //#region ../../src/core/components/data/JsonViewer.d.ts
2241
2421
  interface JsonViewerProps {
@@ -2251,7 +2431,7 @@ declare const JsonViewer: ({
2251
2431
  maxDepth,
2252
2432
  copyable,
2253
2433
  size
2254
- }: JsonViewerProps) => react_jsx_runtime14.JSX.Element;
2434
+ }: JsonViewerProps) => react_jsx_runtime11.JSX.Element;
2255
2435
  //#endregion
2256
2436
  //#region ../../src/core/services/DialogService.d.ts
2257
2437
  interface BaseDialogOptions extends Partial<ModalProps> {
@@ -2316,6 +2496,12 @@ declare class DialogService {
2316
2496
  * Show a JSON editor/viewer dialog
2317
2497
  */
2318
2498
  json(data?: any, options?: BaseDialogOptions): void;
2499
+ /**
2500
+ * Show an error viewer dialog
2501
+ */
2502
+ error(error: Error | unknown, options?: BaseDialogOptions & {
2503
+ showStack?: boolean;
2504
+ }): void;
2319
2505
  /**
2320
2506
  * Show a form dialog for structured input
2321
2507
  */
@@ -2336,19 +2522,19 @@ declare class DialogService {
2336
2522
  declare const AlertDialog: ({
2337
2523
  options,
2338
2524
  onClose
2339
- }: AlertDialogProps) => react_jsx_runtime14.JSX.Element;
2525
+ }: AlertDialogProps) => react_jsx_runtime11.JSX.Element;
2340
2526
  //#endregion
2341
2527
  //#region ../../src/core/components/dialogs/ConfirmDialog.d.ts
2342
2528
  declare const ConfirmDialog: ({
2343
2529
  options,
2344
2530
  onConfirm
2345
- }: ConfirmDialogProps) => react_jsx_runtime14.JSX.Element;
2531
+ }: ConfirmDialogProps) => react_jsx_runtime11.JSX.Element;
2346
2532
  //#endregion
2347
2533
  //#region ../../src/core/components/dialogs/PromptDialog.d.ts
2348
2534
  declare const PromptDialog: ({
2349
2535
  options,
2350
2536
  onSubmit
2351
- }: PromptDialogProps) => react_jsx_runtime14.JSX.Element;
2537
+ }: PromptDialogProps) => react_jsx_runtime11.JSX.Element;
2352
2538
  //#endregion
2353
2539
  //#region ../../src/core/components/form/ControlDate.d.ts
2354
2540
  interface ControlDateProps extends GenericControlProps {
@@ -2366,7 +2552,7 @@ interface ControlDateProps extends GenericControlProps {
2366
2552
  *
2367
2553
  * Automatically detects date formats from schema and renders appropriate picker.
2368
2554
  */
2369
- declare const ControlDate: (props: ControlDateProps) => react_jsx_runtime14.JSX.Element | null;
2555
+ declare const ControlDate: (props: ControlDateProps) => react_jsx_runtime11.JSX.Element | null;
2370
2556
  //#endregion
2371
2557
  //#region ../../src/core/components/form/ControlQueryBuilder.d.ts
2372
2558
  interface ControlQueryBuilderProps extends Omit<TextInputProps, "value" | "onChange"> {
@@ -2385,7 +2571,7 @@ declare const ControlQueryBuilder: ({
2385
2571
  onChange,
2386
2572
  placeholder,
2387
2573
  ...textInputProps
2388
- }: ControlQueryBuilderProps) => react_jsx_runtime14.JSX.Element;
2574
+ }: ControlQueryBuilderProps) => react_jsx_runtime11.JSX.Element;
2389
2575
  //#endregion
2390
2576
  //#region ../../src/core/components/form/TypeForm.d.ts
2391
2577
  interface TypeFormProps<T$1 extends TObject> {
@@ -2400,16 +2586,33 @@ interface TypeFormProps<T$1 extends TObject> {
2400
2586
  };
2401
2587
  schema?: TObject;
2402
2588
  children?: (input: FormModel<T$1>["input"]) => ReactNode;
2589
+ /**
2590
+ * Control props applied to all fields.
2591
+ */
2403
2592
  controlProps?: Partial<Omit<ControlProps, "input">>;
2593
+ /**
2594
+ * Per-field control props override.
2595
+ * Keys are field names from the schema.
2596
+ */
2597
+ fieldControlProps?: Record<string, Partial<Omit<ControlProps, "input">>>;
2404
2598
  skipFormElement?: boolean;
2405
2599
  skipSubmitButton?: boolean;
2406
2600
  submitButtonProps?: Partial<Omit<ActionSubmitButtonProps, "form">>;
2407
2601
  resetButtonProps?: Partial<Omit<ActionSubmitButtonProps, "form">>;
2602
+ fill?: boolean;
2603
+ flexProps?: FlexProps;
2408
2604
  }
2409
2605
  /**
2410
2606
  * TypeForm component that automatically renders all form inputs based on schema.
2411
2607
  * Uses the Control component to render individual fields and Mantine Grid for responsive layout.
2412
2608
  *
2609
+ * Supports all field types including:
2610
+ * - Primitive types (string, number, boolean, etc.)
2611
+ * - Enum types (rendered as Select)
2612
+ * - Arrays of primitives (rendered as MultiSelect/TagsInput)
2613
+ * - Arrays of objects (rendered as ControlArray)
2614
+ * - Nested objects (rendered as ControlObject)
2615
+ *
2413
2616
  * @example
2414
2617
  * ```tsx
2415
2618
  * import { t } from "alepha";
@@ -2422,6 +2625,15 @@ interface TypeFormProps<T$1 extends TObject> {
2422
2625
  * email: t.text(),
2423
2626
  * age: t.integer(),
2424
2627
  * subscribe: t.boolean(),
2628
+ * address: t.object({
2629
+ * street: t.text(),
2630
+ * city: t.text(),
2631
+ * }),
2632
+ * tags: t.array(t.text()),
2633
+ * contacts: t.array(t.object({
2634
+ * name: t.text(),
2635
+ * email: t.text(),
2636
+ * })),
2425
2637
  * }),
2426
2638
  * handler: (values) => {
2427
2639
  * console.log(values);
@@ -2431,7 +2643,7 @@ interface TypeFormProps<T$1 extends TObject> {
2431
2643
  * return <TypeForm form={form} columns={2} />;
2432
2644
  * ```
2433
2645
  */
2434
- declare const TypeForm: <T$1 extends TObject>(props: TypeFormProps<T$1>) => react_jsx_runtime14.JSX.Element | null;
2646
+ declare const TypeForm: <T$1 extends TObject>(props: TypeFormProps<T$1>) => react_jsx_runtime11.JSX.Element | null;
2435
2647
  //#endregion
2436
2648
  //#region ../../src/core/components/layout/AppBar.d.ts
2437
2649
  type AppBarItem = AppBarElement | AppBarBurger | AppBarDark | AppBarSearch | AppBarLang | AppBarSpacer | AppBarDivider;
@@ -2470,7 +2682,7 @@ interface AppBarProps {
2470
2682
  flexProps?: FlexProps;
2471
2683
  items?: AppBarItem[];
2472
2684
  }
2473
- declare const AppBar: (props: AppBarProps) => react_jsx_runtime14.JSX.Element;
2685
+ declare const AppBar: (props: AppBarProps) => react_jsx_runtime11.JSX.Element;
2474
2686
  //#endregion
2475
2687
  //#region ../../src/core/components/layout/Sidebar.d.ts
2476
2688
  interface SidebarProps {
@@ -2486,8 +2698,14 @@ interface SidebarProps {
2486
2698
  hide?: {
2487
2699
  paths?: string[];
2488
2700
  };
2701
+ /**
2702
+ * Automatically populate the menu from the router's pages.
2703
+ */
2704
+ autoPopulateMenu?: boolean | {
2705
+ startsWith: string;
2706
+ };
2489
2707
  }
2490
- declare const Sidebar: (props: SidebarProps) => react_jsx_runtime14.JSX.Element;
2708
+ declare const Sidebar: (props: SidebarProps) => react_jsx_runtime11.JSX.Element;
2491
2709
  interface SidebarItemProps {
2492
2710
  item: SidebarMenuItem;
2493
2711
  level: number;
@@ -2500,7 +2718,7 @@ interface SidebarItemProps {
2500
2718
  onItemClick?: (item: SidebarMenuItem) => void;
2501
2719
  theme: SidebarTheme;
2502
2720
  }
2503
- type SidebarNode = SidebarMenuItem | SidebarSpacer | SidebarDivider | SidebarSearch | SidebarElement | SidebarSection;
2721
+ type SidebarNode = SidebarMenuItem | SidebarSpacer | SidebarDivider | SidebarSearch | SidebarElement | SidebarSection | SidebarToggle;
2504
2722
  interface SidebarAbstractItem {
2505
2723
  position?: "top" | "bottom";
2506
2724
  }
@@ -2516,6 +2734,9 @@ interface SidebarDivider extends SidebarAbstractItem {
2516
2734
  interface SidebarSearch extends SidebarAbstractItem {
2517
2735
  type: "search";
2518
2736
  }
2737
+ interface SidebarToggle extends SidebarAbstractItem {
2738
+ type: "toggle";
2739
+ }
2519
2740
  interface SidebarSection extends SidebarAbstractItem {
2520
2741
  type: "section";
2521
2742
  label: string;
@@ -2575,7 +2796,7 @@ declare module "alepha" {
2575
2796
  "alepha.ui.sidebar.collapsed"?: boolean;
2576
2797
  }
2577
2798
  }
2578
- declare const AdminShell: (props: AdminShellProps) => react_jsx_runtime14.JSX.Element;
2799
+ declare const AdminShell: (props: AdminShellProps) => react_jsx_runtime11.JSX.Element;
2579
2800
  //#endregion
2580
2801
  //#region ../../src/core/components/layout/Omnibar.d.ts
2581
2802
  interface OmnibarProps {
@@ -2583,7 +2804,7 @@ interface OmnibarProps {
2583
2804
  searchPlaceholder?: string;
2584
2805
  nothingFound?: ReactNode;
2585
2806
  }
2586
- declare const Omnibar: (props: OmnibarProps) => react_jsx_runtime14.JSX.Element;
2807
+ declare const Omnibar: (props: OmnibarProps) => react_jsx_runtime11.JSX.Element;
2587
2808
  //#endregion
2588
2809
  //#region ../../src/core/components/layout/AlephaMantineProvider.d.ts
2589
2810
  interface AlephaMantineProviderProps {
@@ -2593,11 +2814,17 @@ interface AlephaMantineProviderProps {
2593
2814
  navigationProgress?: NavigationProgressProps;
2594
2815
  notifications?: NotificationsProps;
2595
2816
  modals?: ModalsProviderProps;
2596
- omnibar?: OmnibarProps;
2817
+ omnibar?: OmnibarProps | false;
2597
2818
  }
2598
- declare const AlephaMantineProvider: (props: AlephaMantineProviderProps) => react_jsx_runtime14.JSX.Element;
2819
+ declare const AlephaMantineProvider: (props: AlephaMantineProviderProps) => react_jsx_runtime11.JSX.Element;
2599
2820
  //#endregion
2600
- //#region ../../src/core/components/table/DataTable.d.ts
2821
+ //#region ../../src/core/components/table/types.d.ts
2822
+ interface ColumnVisibility {
2823
+ [key: string]: boolean;
2824
+ }
2825
+ interface FilterVisibility {
2826
+ [key: string]: boolean;
2827
+ }
2601
2828
  interface DataTableColumnContext<Filters extends TObject> {
2602
2829
  index: number;
2603
2830
  form: FormModel<Filters>;
@@ -2607,6 +2834,15 @@ interface DataTableColumn<T$1 extends object, Filters extends TObject> {
2607
2834
  label: string;
2608
2835
  value: (item: T$1, ctx: DataTableColumnContext<Filters>) => ReactNode;
2609
2836
  fit?: boolean;
2837
+ /**
2838
+ * Enable sorting for this column. When true, clicking the header will sort by this column.
2839
+ */
2840
+ sortable?: boolean;
2841
+ /**
2842
+ * The field name to use for sorting. If not provided, the column key is used.
2843
+ * Follows Alepha sort convention: 'field' for ASC, '-field' for DESC.
2844
+ */
2845
+ sortKey?: string;
2610
2846
  }
2611
2847
  type MaybePage<T$1> = Omit<Page<T$1>, "page"> & {
2612
2848
  page?: Partial<PageMetadata>;
@@ -2614,6 +2850,16 @@ type MaybePage<T$1> = Omit<Page<T$1>, "page"> & {
2614
2850
  interface DataTableSubmitContext<T$1 extends object> {
2615
2851
  items: T$1[];
2616
2852
  }
2853
+ interface CheckboxActionContext<T$1 extends object> {
2854
+ selectedItems: T$1[];
2855
+ clearSelection: () => void;
2856
+ }
2857
+ interface CheckboxAction<T$1 extends object> {
2858
+ label: ReactNode;
2859
+ icon?: ReactNode;
2860
+ intent?: "primary" | "success" | "danger" | "warning" | "info" | "none";
2861
+ onClick: (ctx: CheckboxActionContext<T$1>) => void | Promise<void>;
2862
+ }
2617
2863
  interface DataTableProps<T$1 extends object, Filters extends TObject> {
2618
2864
  /**
2619
2865
  * The items to display in the table. Can be a static page of items or a function that returns a promise resolving to a page of items.
@@ -2641,13 +2887,46 @@ interface DataTableProps<T$1 extends object, Filters extends TObject> {
2641
2887
  submitOnInit?: boolean;
2642
2888
  submitEvery?: DurationLike;
2643
2889
  withLineNumbers?: boolean;
2890
+ /**
2891
+ * Enable row selection with checkboxes. When true, a checkbox column is added as the first column.
2892
+ */
2644
2893
  withCheckbox?: boolean;
2645
- checkboxActions?: any[];
2646
- actions?: any[];
2894
+ /**
2895
+ * Function to get a unique key for each item. Required when withCheckbox is true.
2896
+ * Used to track selected items across pagination.
2897
+ */
2898
+ getItemKey?: (item: T$1) => string;
2899
+ /**
2900
+ * Actions to display when items are selected. Each action receives the selected items.
2901
+ */
2902
+ checkboxActions?: Array<CheckboxAction<T$1>>;
2903
+ actions?: Array<ActionProps & {
2904
+ label?: ReactNode;
2905
+ }>;
2647
2906
  /**
2648
2907
  * Enable infinity scroll mode. When true, pagination controls are hidden and new items are loaded automatically when scrolling to the bottom.
2649
2908
  */
2650
2909
  infinityScroll?: boolean;
2910
+ /**
2911
+ * Initial column visibility state. By default, first 10 columns are visible.
2912
+ */
2913
+ defaultColumnVisibility?: ColumnVisibility;
2914
+ /**
2915
+ * Maximum number of columns to show by default. Default is 10.
2916
+ */
2917
+ defaultVisibleColumnCount?: number;
2918
+ /**
2919
+ * Callback when column visibility changes.
2920
+ */
2921
+ onColumnVisibilityChange?: (visibility: ColumnVisibility) => void;
2922
+ /**
2923
+ * Initial filter visibility state. By default, all filters are visible.
2924
+ */
2925
+ defaultFilterVisibility?: FilterVisibility;
2926
+ /**
2927
+ * Callback when filter visibility changes.
2928
+ */
2929
+ onFilterVisibilityChange?: (visibility: FilterVisibility) => void;
2651
2930
  /**
2652
2931
  * Props to pass to the Mantine Table component.
2653
2932
  */
@@ -2657,7 +2936,9 @@ interface DataTableProps<T$1 extends object, Filters extends TObject> {
2657
2936
  */
2658
2937
  tableTrProps?: (item: T$1) => TableTrProps;
2659
2938
  }
2660
- declare const DataTable: <T$1 extends object, Filters extends TObject>(props: DataTableProps<T$1, Filters>) => react_jsx_runtime14.JSX.Element;
2939
+ //#endregion
2940
+ //#region ../../src/core/components/table/DataTable.d.ts
2941
+ declare const DataTable: <T$1 extends object, Filters extends TObject>(props: DataTableProps<T$1, Filters>) => react_jsx_runtime11.JSX.Element;
2661
2942
  //#endregion
2662
2943
  //#region ../../src/core/constants/ui.d.ts
2663
2944
  declare const ui: {
@@ -2798,31 +3079,15 @@ declare module "alepha/server" {
2798
3079
  */
2799
3080
  //#endregion
2800
3081
  //#region ../../src/core/providers/ThemeProvider.d.ts
2801
- declare const mantineThemeAtom: alepha99.Atom<alepha99.TObject<{
2802
- id: alepha99.TString;
2803
- }>, "alepha.ui.theme">;
2804
- type Theme = Static<typeof mantineThemeAtom.schema>;
2805
- declare module "alepha" {
2806
- interface State {
2807
- [mantineThemeAtom.key]?: Theme;
2808
- }
2809
- }
2810
- type AlephaTheme = MantineThemeOverride & {
2811
- id: string;
2812
- label: string;
2813
- description: string;
2814
- };
2815
3082
  declare class ThemeProvider {
2816
3083
  protected readonly alepha: Alepha;
2817
- protected themeCookie: AbstractCookiePrimitive<alepha99.TObject<{
2818
- id: alepha99.TString;
3084
+ protected readonly cookie: AbstractCookiePrimitive<alepha1.TObject<{
3085
+ index: alepha1.TInteger;
2819
3086
  }>>;
2820
- themes: AlephaTheme[];
2821
- protected themeHead: HeadPrimitive;
2822
- setTheme(theme: Theme): void;
2823
- getTheme(): {
2824
- id: string;
2825
- };
3087
+ protected readonly head: HeadPrimitive;
3088
+ setTheme(index: number): void;
3089
+ getTheme(): AlephaTheme;
3090
+ protected getThemeIndex(): number;
2826
3091
  }
2827
3092
  //#endregion
2828
3093
  //#region ../../src/core/RootRouter.d.ts
@@ -2896,6 +3161,11 @@ declare module "typebox" {
2896
3161
  $control?: Omit<ControlProps, "input">;
2897
3162
  }
2898
3163
  }
3164
+ declare module "alepha" {
3165
+ interface State {
3166
+ [alephaThemeAtom.key]?: Static<typeof alephaThemeAtom.schema>;
3167
+ }
3168
+ }
2899
3169
  declare module "@alepha/react" {
2900
3170
  interface PagePrimitiveOptions {
2901
3171
  /**
@@ -2922,7 +3192,7 @@ declare module "@alepha/react" {
2922
3192
  *
2923
3193
  * @module alepha.ui
2924
3194
  */
2925
- declare const AlephaUI: alepha99.Service<alepha99.Module>;
3195
+ declare const AlephaUI: alepha1.Service<alepha1.Module>;
2926
3196
  //#endregion
2927
- export { ActionButton, type ActionClickButtonProps, type ActionCommonProps, type ActionMenuConfig, type ActionMenuItem, type ActionNavigationButtonProps, type ActionProps, type ActionSubmitButtonProps, AdminShell, type AdminShellProps, AlephaMantineProvider, AlephaTheme, AlephaUI, AlertDialog, type AlertDialogOptions, type AlertDialogProps, AppBar, type AppBarBurger, type AppBarDark, type AppBarDivider, type AppBarElement, type AppBarItem, type AppBarLang, type AppBarProps, type AppBarSearch, type AppBarSpacer, type BaseDialogOptions, BurgerButton, ClipboardButton, type ClipboardButtonProps, ConfirmDialog, type ConfirmDialogOptions, type ConfirmDialogProps, Control, ControlDate, ControlQueryBuilder, ControlSelect, DarkModeButton, DataTable, type DataTableColumn, type DataTableProps, DialogService, Flex, IconSize, JsonViewer, LanguageButton, OPERATOR_INFO, Omnibar, OmnibarButton, PromptDialog, type PromptDialogOptions, type PromptDialogProps, RootRouter, SchemaField, Sidebar, type SidebarAbstractItem, type SidebarButtonTheme, type SidebarDivider, type SidebarElement, type SidebarItemProps, type SidebarMenuItem, type SidebarNode, type SidebarProps, type SidebarSearch, type SidebarSection, type SidebarSpacer, type SidebarTheme, Text, Theme, ThemeButton, type ThemeButtonProps, ThemeProvider, ToastService, TypeForm, capitalize, extractSchemaFields, getDefaultIcon, getOperatorsForField, mantineThemeAtom, prettyName, ui, useDialog, useToast };
3197
+ export { ActionButton, type ActionClickButtonProps, type ActionCommonProps, type ActionMenuConfig, type ActionMenuItem, type ActionNavigationButtonProps, type ActionProps, type ActionSubmitButtonProps, AdminShell, type AdminShellProps, AlephaMantineProvider, AlephaUI, AlertDialog, type AlertDialogOptions, type AlertDialogProps, AppBar, type AppBarBurger, type AppBarDark, type AppBarDivider, type AppBarElement, type AppBarItem, type AppBarLang, type AppBarProps, type AppBarSearch, type AppBarSpacer, type BaseDialogOptions, BurgerButton, type CheckboxAction, type CheckboxActionContext, ClipboardButton, type ClipboardButtonProps, type ColumnVisibility, ConfirmDialog, type ConfirmDialogOptions, type ConfirmDialogProps, Control, ControlArray, ControlDate, ControlNumber, ControlObject, ControlQueryBuilder, ControlSelect, CurrentAlephaTheme, DarkModeButton, DataTable, type DataTableColumn, type DataTableColumnContext, type DataTableProps, type DataTableSubmitContext, DialogService, type FilterVisibility, Flex, IconSize, JsonViewer, LanguageButton, type MaybePage, OPERATOR_INFO, Omnibar, OmnibarButton, PromptDialog, type PromptDialogOptions, type PromptDialogProps, RootRouter, SchemaField, Sidebar, type SidebarAbstractItem, type SidebarButtonTheme, type SidebarDivider, type SidebarElement, type SidebarItemProps, type SidebarMenuItem, type SidebarNode, type SidebarProps, type SidebarSearch, type SidebarSection, type SidebarSpacer, type SidebarTheme, Text, ThemeButton, type ThemeButtonProps, ThemeProvider, ToastService, TypeForm, alephaThemeAtom, alephaThemeListAtom, capitalize, defaultTheme, extractSchemaFields, getDefaultIcon, getOperatorsForField, midnightTheme, prettyName, ui, useDialog, useToast };
2928
3198
  //# sourceMappingURL=index.d.ts.map