alepha 0.11.6 → 0.11.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.
package/server/links.d.ts CHANGED
@@ -7,26 +7,26 @@ import * as _alepha_logger0 from "alepha/logger";
7
7
  import * as _alepha_retry0 from "alepha/retry";
8
8
  import { ProxyDescriptorOptions, ServerProxyProvider } from "alepha/server/proxy";
9
9
  import { ServiceAccountDescriptor, UserAccountToken } from "alepha/security";
10
- import * as typebox18 from "typebox";
10
+ import * as typebox0 from "typebox";
11
11
 
12
12
  //#region src/schemas/apiLinksResponseSchema.d.ts
13
- declare const apiLinkSchema: typebox18.TObject<{
14
- name: typebox18.TString;
15
- group: typebox18.TOptional<typebox18.TString>;
16
- path: typebox18.TString;
17
- method: typebox18.TOptional<typebox18.TString>;
18
- requestBodyType: typebox18.TOptional<typebox18.TString>;
19
- service: typebox18.TOptional<typebox18.TString>;
13
+ declare const apiLinkSchema: typebox0.TObject<{
14
+ name: typebox0.TString;
15
+ group: typebox0.TOptional<typebox0.TString>;
16
+ path: typebox0.TString;
17
+ method: typebox0.TOptional<typebox0.TString>;
18
+ requestBodyType: typebox0.TOptional<typebox0.TString>;
19
+ service: typebox0.TOptional<typebox0.TString>;
20
20
  }>;
21
- declare const apiLinksResponseSchema: typebox18.TObject<{
22
- prefix: typebox18.TOptional<typebox18.TString>;
23
- links: typebox18.TArray<typebox18.TObject<{
24
- name: typebox18.TString;
25
- group: typebox18.TOptional<typebox18.TString>;
26
- path: typebox18.TString;
27
- method: typebox18.TOptional<typebox18.TString>;
28
- requestBodyType: typebox18.TOptional<typebox18.TString>;
29
- service: typebox18.TOptional<typebox18.TString>;
21
+ declare const apiLinksResponseSchema: typebox0.TObject<{
22
+ prefix: typebox0.TOptional<typebox0.TString>;
23
+ links: typebox0.TArray<typebox0.TObject<{
24
+ name: typebox0.TString;
25
+ group: typebox0.TOptional<typebox0.TString>;
26
+ path: typebox0.TString;
27
+ method: typebox0.TOptional<typebox0.TString>;
28
+ requestBodyType: typebox0.TOptional<typebox0.TString>;
29
+ service: typebox0.TOptional<typebox0.TString>;
30
30
  }>>;
31
31
  }>;
32
32
  type ApiLinksResponse = Static<typeof apiLinksResponseSchema>;
@@ -257,15 +257,15 @@ declare class ServerLinksProvider {
257
257
  * This is based on the user's permissions.
258
258
  */
259
259
  readonly links: _alepha_server0.RouteDescriptor<{
260
- response: typebox18.TObject<{
261
- prefix: typebox18.TOptional<typebox18.TString>;
262
- links: typebox18.TArray<typebox18.TObject<{
263
- name: typebox18.TString;
264
- group: typebox18.TOptional<typebox18.TString>;
265
- path: typebox18.TString;
266
- method: typebox18.TOptional<typebox18.TString>;
267
- requestBodyType: typebox18.TOptional<typebox18.TString>;
268
- service: typebox18.TOptional<typebox18.TString>;
260
+ response: typebox0.TObject<{
261
+ prefix: typebox0.TOptional<typebox0.TString>;
262
+ links: typebox0.TArray<typebox0.TObject<{
263
+ name: typebox0.TString;
264
+ group: typebox0.TOptional<typebox0.TString>;
265
+ path: typebox0.TString;
266
+ method: typebox0.TOptional<typebox0.TString>;
267
+ requestBodyType: typebox0.TOptional<typebox0.TString>;
268
+ service: typebox0.TOptional<typebox0.TString>;
269
269
  }>>;
270
270
  }>;
271
271
  }>;
@@ -276,10 +276,10 @@ declare class ServerLinksProvider {
276
276
  * I mean for 150+ links, you got 50ms of serialization time.
277
277
  */
278
278
  readonly schema: _alepha_server0.RouteDescriptor<{
279
- params: typebox18.TObject<{
280
- name: typebox18.TString;
279
+ params: typebox0.TObject<{
280
+ name: typebox0.TString;
281
281
  }>;
282
- response: typebox18.TRecord<string, typebox18.TAny>;
282
+ response: typebox0.TRecord<string, typebox0.TAny>;
283
283
  }>;
284
284
  getSchemaByName(name: string, options?: GetApiLinksOptions): Promise<RequestConfigSchema>;
285
285
  /**
package/server.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import * as _alepha_core4 from "alepha";
1
+ import * as _alepha_core11 from "alepha";
2
2
  import { Alepha, AlephaError, Async, Descriptor, FileLike, KIND, Static, StreamLike, TArray, TFile, TObject, TRecord, TSchema, TStream, TString, TVoid } from "alepha";
3
- import * as _alepha_logger2 from "alepha/logger";
3
+ import * as _alepha_logger3 from "alepha/logger";
4
4
  import { Readable } from "node:stream";
5
5
  import { ReadableStream } from "node:stream/web";
6
6
  import { Route, RouterProvider } from "alepha/router";
@@ -186,14 +186,14 @@ declare class ServerRequestParser {
186
186
  //#region src/providers/ServerTimingProvider.d.ts
187
187
  type TimingMap = Record<string, [number, number]>;
188
188
  declare class ServerTimingProvider {
189
- protected readonly log: _alepha_logger2.Logger;
189
+ protected readonly log: _alepha_logger3.Logger;
190
190
  protected readonly alepha: Alepha;
191
191
  options: {
192
192
  prefix: string;
193
193
  disabled: boolean;
194
194
  };
195
- readonly onRequest: _alepha_core4.HookDescriptor<"server:onRequest">;
196
- readonly onResponse: _alepha_core4.HookDescriptor<"server:onResponse">;
195
+ readonly onRequest: _alepha_core11.HookDescriptor<"server:onRequest">;
196
+ readonly onResponse: _alepha_core11.HookDescriptor<"server:onResponse">;
197
197
  protected get handlerName(): string;
198
198
  beginTiming(name: string): void;
199
199
  endTiming(name: string): void;
@@ -234,7 +234,7 @@ declare class ServerRouterProvider extends RouterProvider<ServerRouteMatcher> {
234
234
  //#endregion
235
235
  //#region src/services/HttpClient.d.ts
236
236
  declare class HttpClient {
237
- protected readonly log: _alepha_logger2.Logger;
237
+ protected readonly log: _alepha_logger3.Logger;
238
238
  protected readonly alepha: Alepha;
239
239
  readonly cache: _alepha_cache0.CacheDescriptorFn<HttpClientCache, any[]>;
240
240
  protected readonly pendingRequests: HttpClientPendingRequests;
@@ -554,7 +554,7 @@ interface ActionDescriptorOptions<TConfig extends RequestConfigSchema> extends O
554
554
  handler: ServerActionHandler<TConfig>;
555
555
  }
556
556
  declare class ActionDescriptor<TConfig extends RequestConfigSchema> extends Descriptor<ActionDescriptorOptions<TConfig>> {
557
- protected readonly log: _alepha_logger2.Logger;
557
+ protected readonly log: _alepha_logger3.Logger;
558
558
  protected readonly env: {
559
559
  SERVER_API_PREFIX: string;
560
560
  };
@@ -726,9 +726,9 @@ declare const okSchema: typebox0.TObject<{
726
726
  type Ok = Static<typeof okSchema>;
727
727
  //#endregion
728
728
  //#region src/providers/NodeHttpServerProvider.d.ts
729
- declare const envSchema: _alepha_core4.TObject<{
730
- SERVER_PORT: _alepha_core4.TInteger;
731
- SERVER_HOST: _alepha_core4.TString;
729
+ declare const envSchema: _alepha_core11.TObject<{
730
+ SERVER_PORT: _alepha_core11.TInteger;
731
+ SERVER_HOST: _alepha_core11.TString;
732
732
  }>;
733
733
  declare module "alepha" {
734
734
  interface Env extends Partial<Static<typeof envSchema>> {}
@@ -736,29 +736,29 @@ declare module "alepha" {
736
736
  declare class NodeHttpServerProvider extends ServerProvider {
737
737
  protected readonly alepha: Alepha;
738
738
  protected readonly dateTimeProvider: DateTimeProvider;
739
- protected readonly log: _alepha_logger2.Logger;
739
+ protected readonly log: _alepha_logger3.Logger;
740
740
  protected readonly env: {
741
741
  SERVER_PORT: number;
742
742
  SERVER_HOST: string;
743
743
  };
744
744
  protected readonly router: ServerRouterProvider;
745
745
  protected readonly server: http0.Server<typeof IncomingMessage, typeof ServerResponse$1>;
746
- protected readonly onNodeRequest: _alepha_core4.HookDescriptor<"node:request">;
746
+ protected readonly onNodeRequest: _alepha_core11.HookDescriptor<"node:request">;
747
747
  handle(req: IncomingMessage, res: ServerResponse$1): Promise<void>;
748
748
  get hostname(): string;
749
- readonly start: _alepha_core4.HookDescriptor<"start">;
750
- protected readonly stop: _alepha_core4.HookDescriptor<"stop">;
749
+ readonly start: _alepha_core11.HookDescriptor<"start">;
750
+ protected readonly stop: _alepha_core11.HookDescriptor<"stop">;
751
751
  protected listen(): Promise<void>;
752
752
  protected close(): Promise<void>;
753
753
  }
754
754
  //#endregion
755
755
  //#region src/providers/ServerLoggerProvider.d.ts
756
756
  declare class ServerLoggerProvider {
757
- protected readonly log: _alepha_logger2.Logger;
757
+ protected readonly log: _alepha_logger3.Logger;
758
758
  protected readonly alepha: Alepha;
759
- readonly onRequest: _alepha_core4.HookDescriptor<"server:onRequest">;
760
- readonly onError: _alepha_core4.HookDescriptor<"server:onError">;
761
- readonly onResponse: _alepha_core4.HookDescriptor<"server:onResponse">;
759
+ readonly onRequest: _alepha_core11.HookDescriptor<"server:onRequest">;
760
+ readonly onError: _alepha_core11.HookDescriptor<"server:onError">;
761
+ readonly onResponse: _alepha_core11.HookDescriptor<"server:onResponse">;
762
762
  }
763
763
  //#endregion
764
764
  //#region src/providers/ServerNotReadyProvider.d.ts
@@ -771,7 +771,7 @@ declare class ServerLoggerProvider {
771
771
  */
772
772
  declare class ServerNotReadyProvider {
773
773
  protected readonly alepha: Alepha;
774
- readonly onRequest: _alepha_core4.HookDescriptor<"server:onRequest">;
774
+ readonly onRequest: _alepha_core11.HookDescriptor<"server:onRequest">;
775
775
  }
776
776
  //#endregion
777
777
  //#region src/index.d.ts
@@ -843,7 +843,7 @@ declare module "alepha" {
843
843
  * @see {@link $action}
844
844
  * @module alepha.server
845
845
  */
846
- declare const AlephaServer: _alepha_core4.Service<_alepha_core4.Module>;
846
+ declare const AlephaServer: _alepha_core11.Service<_alepha_core11.Module>;
847
847
  //#endregion
848
848
  export { $action, $route, ActionDescriptor, ActionDescriptorFn, ActionDescriptorOptions, AlephaServer, BadRequestError, ClientRequestEntry, ClientRequestEntryContainer, ClientRequestOptions, ClientRequestResponse, ConflictError, ErrorSchema, FetchActionArgs, FetchOptions, FetchResponse, ForbiddenError, HttpAction, HttpClient, HttpClientPendingRequests, HttpError, HttpErrorLike, NodeHttpServerProvider, NotFoundError, Ok, RequestConfigSchema, RequestInitWithOptions, ResponseBodyType, ResponseKind, RouteDescriptor, RouteDescriptorOptions, RouteMethod, ServerActionHandler, ServerActionRequest, ServerHandler, ServerLoggerProvider, ServerNotReadyProvider, ServerProvider, ServerRawRequest, ServerReply, ServerRequest, ServerRequestConfig, ServerRequestConfigEntry, ServerResponse, ServerResponseBody, ServerRoute, ServerRouteMatcher, ServerRouteRequestHandler, ServerRouterProvider, ServerTimingProvider, TRequestBody, TResponseBody, UnauthorizedError, ValidationError, errorNameByStatus, errorSchema, isHttpError, isMultipart, okSchema, routeMethods };
849
849
  //# sourceMappingURL=index.d.ts.map
package/ui.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import * as _alepha_core0 from "alepha";
2
- import { Async, Page, PageMetadata, TObject, TProperties } from "alepha";
2
+ import { Alepha, Async, Page, PageMetadata, Static, TObject, TProperties } from "alepha";
3
3
  import { FormModel, InputField } from "alepha/react/form";
4
4
  import * as _alepha_react0 from "alepha/react";
5
5
  import { RouterGoOptions, UseActionReturn, UseActiveOptions } from "alepha/react";
6
+ import { AppShellFooterProps, AppShellHeaderProps, AppShellMainProps, AppShellNavbarProps, AppShellProps, AutocompleteProps, ButtonProps, ColorInputProps, ColorSchemeScriptProps, FileInputProps, Flex, FlexProps, MantineBreakpoint, MantineProviderProps, MantineSize, MenuProps, MenuTargetProps, ModalProps, MultiSelectProps, NumberInputProps, PasswordInputProps, SegmentedControlProps, SelectProps, SliderProps, SwitchProps, TableProps, TableTrProps, TagsInputProps, Text, TextInputProps, TextareaProps, ThemeIconProps, TooltipProps } from "@mantine/core";
6
7
  import { ModalsProviderProps } from "@mantine/modals";
7
- import { AppShellFooterProps, AppShellHeaderProps, AppShellMainProps, AppShellNavbarProps, AppShellProps, AutocompleteProps, ButtonProps, ColorInputProps, ColorSchemeScriptProps, FileInputProps, Flex, FlexProps, MantineBreakpoint, MantineProviderProps, MenuProps, MenuTargetProps, ModalProps, MultiSelectProps, NumberInputProps, PasswordInputProps, SegmentedControlProps, SelectProps, SliderProps, SwitchProps, TableProps, TableTrProps, TagsInputProps, Text, TextInputProps, TextareaProps, ThemeIconProps, TooltipProps } from "@mantine/core";
8
- import * as react_jsx_runtime5 from "react/jsx-runtime";
9
8
  import { ComponentType, ReactNode } from "react";
9
+ import * as react_jsx_runtime9 from "react/jsx-runtime";
10
10
  import * as _mantine_notifications0 from "@mantine/notifications";
11
11
  import { NotificationData, NotificationsProps } from "@mantine/notifications";
12
12
  import { DateInputProps, DateTimePickerProps, TimeInputProps } from "@mantine/dates";
@@ -54,7 +54,7 @@ interface ControlSelectProps extends GenericControlProps {
54
54
  *
55
55
  * Automatically detects enum values and array types from schema.
56
56
  */
57
- declare const ControlSelect: (props: ControlSelectProps) => react_jsx_runtime5.JSX.Element | null;
57
+ declare const ControlSelect: (props: ControlSelectProps) => react_jsx_runtime9.JSX.Element | null;
58
58
  //#endregion
59
59
  //#region src/components/form/Control.d.ts
60
60
  interface ControlProps extends GenericControlProps {
@@ -94,7 +94,7 @@ interface ControlProps extends GenericControlProps {
94
94
  *
95
95
  * Automatically handles labels, descriptions, error messages, required state, and default icons.
96
96
  */
97
- declare const Control: (_props: ControlProps) => react_jsx_runtime5.JSX.Element | null;
97
+ declare const Control: (_props: ControlProps) => react_jsx_runtime9.JSX.Element | null;
98
98
  type CustomControlProps = {
99
99
  defaultValue: any;
100
100
  onChange: (value: any) => void;
@@ -189,7 +189,7 @@ interface ActionCommonProps extends ButtonProps {
189
189
  themeIconProps?: ThemeIconProps;
190
190
  }
191
191
  type ActionProps = ActionCommonProps & (ActionNavigationButtonProps | ActionClickButtonProps | ActionSubmitButtonProps | ActionHookButtonProps | {});
192
- declare const ActionButton: (_props: ActionProps) => react_jsx_runtime5.JSX.Element;
192
+ declare const ActionButton: (_props: ActionProps) => react_jsx_runtime9.JSX.Element;
193
193
  interface ActionSubmitButtonProps extends ButtonProps {
194
194
  form: FormModel<any>;
195
195
  type?: "submit" | "reset";
@@ -218,14 +218,30 @@ interface DarkModeButtonProps {
218
218
  segmentedProps?: Partial<SegmentedControlProps>;
219
219
  actionProps?: Partial<ActionProps>;
220
220
  }
221
- declare const DarkModeButton: (props: DarkModeButtonProps) => react_jsx_runtime5.JSX.Element;
221
+ declare const DarkModeButton: (props: DarkModeButtonProps) => react_jsx_runtime9.JSX.Element;
222
222
  //#endregion
223
223
  //#region src/components/buttons/OmnibarButton.d.ts
224
224
  interface OmnibarButtonProps {
225
225
  actionProps?: ActionProps;
226
226
  collapsed?: boolean;
227
227
  }
228
- declare const OmnibarButton: (props: OmnibarButtonProps) => react_jsx_runtime5.JSX.Element;
228
+ declare const OmnibarButton: (props: OmnibarButtonProps) => react_jsx_runtime9.JSX.Element;
229
+ //#endregion
230
+ //#region src/components/data/JsonViewer.d.ts
231
+ interface JsonViewerProps {
232
+ data: any;
233
+ defaultExpanded?: boolean;
234
+ maxDepth?: number;
235
+ copyable?: boolean;
236
+ size?: MantineSize;
237
+ }
238
+ declare const JsonViewer: ({
239
+ data,
240
+ defaultExpanded,
241
+ maxDepth,
242
+ copyable,
243
+ size
244
+ }: JsonViewerProps) => react_jsx_runtime9.JSX.Element;
229
245
  //#endregion
230
246
  //#region src/services/DialogService.d.ts
231
247
  interface BaseDialogOptions extends Partial<ModalProps> {
@@ -310,19 +326,19 @@ declare class DialogService {
310
326
  declare const AlertDialog: ({
311
327
  options,
312
328
  onClose
313
- }: AlertDialogProps) => react_jsx_runtime5.JSX.Element;
329
+ }: AlertDialogProps) => react_jsx_runtime9.JSX.Element;
314
330
  //#endregion
315
331
  //#region src/components/dialogs/ConfirmDialog.d.ts
316
332
  declare const ConfirmDialog: ({
317
333
  options,
318
334
  onConfirm
319
- }: ConfirmDialogProps) => react_jsx_runtime5.JSX.Element;
335
+ }: ConfirmDialogProps) => react_jsx_runtime9.JSX.Element;
320
336
  //#endregion
321
337
  //#region src/components/dialogs/PromptDialog.d.ts
322
338
  declare const PromptDialog: ({
323
339
  options,
324
340
  onSubmit
325
- }: PromptDialogProps) => react_jsx_runtime5.JSX.Element;
341
+ }: PromptDialogProps) => react_jsx_runtime9.JSX.Element;
326
342
  //#endregion
327
343
  //#region src/components/form/ControlDate.d.ts
328
344
  interface ControlDateProps extends GenericControlProps {
@@ -340,7 +356,7 @@ interface ControlDateProps extends GenericControlProps {
340
356
  *
341
357
  * Automatically detects date formats from schema and renders appropriate picker.
342
358
  */
343
- declare const ControlDate: (props: ControlDateProps) => react_jsx_runtime5.JSX.Element | null;
359
+ declare const ControlDate: (props: ControlDateProps) => react_jsx_runtime9.JSX.Element | null;
344
360
  //#endregion
345
361
  //#region src/components/form/ControlQueryBuilder.d.ts
346
362
  interface ControlQueryBuilderProps extends Omit<TextInputProps, "value" | "onChange"> {
@@ -359,7 +375,7 @@ declare const ControlQueryBuilder: ({
359
375
  onChange,
360
376
  placeholder,
361
377
  ...textInputProps
362
- }: ControlQueryBuilderProps) => react_jsx_runtime5.JSX.Element;
378
+ }: ControlQueryBuilderProps) => react_jsx_runtime9.JSX.Element;
363
379
  //#endregion
364
380
  //#region src/components/form/TypeForm.d.ts
365
381
  interface TypeFormProps<T extends TObject> {
@@ -405,7 +421,7 @@ interface TypeFormProps<T extends TObject> {
405
421
  * return <TypeForm form={form} columns={2} />;
406
422
  * ```
407
423
  */
408
- declare const TypeForm: <T extends TObject>(props: TypeFormProps<T>) => react_jsx_runtime5.JSX.Element | null;
424
+ declare const TypeForm: <T extends TObject>(props: TypeFormProps<T>) => react_jsx_runtime9.JSX.Element | null;
409
425
  //#endregion
410
426
  //#region src/components/buttons/LanguageButton.d.ts
411
427
  interface LanguageButtonProps {
@@ -450,7 +466,7 @@ interface AppBarProps {
450
466
  flexProps?: FlexProps;
451
467
  items?: AppBarItem[];
452
468
  }
453
- declare const AppBar: (props: AppBarProps) => react_jsx_runtime5.JSX.Element;
469
+ declare const AppBar: (props: AppBarProps) => react_jsx_runtime9.JSX.Element;
454
470
  //#endregion
455
471
  //#region src/components/layout/Sidebar.d.ts
456
472
  interface SidebarProps {
@@ -464,7 +480,7 @@ interface SidebarProps {
464
480
  collapsed?: boolean;
465
481
  gap?: MantineBreakpoint;
466
482
  }
467
- declare const Sidebar: (props: SidebarProps) => react_jsx_runtime5.JSX.Element;
483
+ declare const Sidebar: (props: SidebarProps) => react_jsx_runtime9.JSX.Element;
468
484
  interface SidebarItemProps {
469
485
  item: SidebarMenuItem;
470
486
  level: number;
@@ -545,7 +561,7 @@ declare module "alepha" {
545
561
  "alepha.ui.sidebar.collapsed"?: boolean;
546
562
  }
547
563
  }
548
- declare const AdminShell: (props: AdminShellProps) => react_jsx_runtime5.JSX.Element;
564
+ declare const AdminShell: (props: AdminShellProps) => react_jsx_runtime9.JSX.Element;
549
565
  //#endregion
550
566
  //#region src/components/layout/Omnibar.d.ts
551
567
  interface OmnibarProps {
@@ -553,7 +569,7 @@ interface OmnibarProps {
553
569
  searchPlaceholder?: string;
554
570
  nothingFound?: ReactNode;
555
571
  }
556
- declare const Omnibar: (props: OmnibarProps) => react_jsx_runtime5.JSX.Element;
572
+ declare const Omnibar: (props: OmnibarProps) => react_jsx_runtime9.JSX.Element;
557
573
  //#endregion
558
574
  //#region src/components/layout/AlephaMantineProvider.d.ts
559
575
  interface AlephaMantineProviderProps {
@@ -565,32 +581,43 @@ interface AlephaMantineProviderProps {
565
581
  modals?: ModalsProviderProps;
566
582
  omnibar?: OmnibarProps;
567
583
  }
568
- declare const AlephaMantineProvider: (props: AlephaMantineProviderProps) => react_jsx_runtime5.JSX.Element;
584
+ declare const AlephaMantineProvider: (props: AlephaMantineProviderProps) => react_jsx_runtime9.JSX.Element;
569
585
  //#endregion
570
586
  //#region src/components/table/DataTable.d.ts
571
- interface DataTableColumn<T extends object> {
587
+ interface DataTableColumnContext<Filters extends TObject> {
588
+ index: number;
589
+ form: FormModel<Filters>;
590
+ alepha: Alepha;
591
+ }
592
+ interface DataTableColumn<T extends object, Filters extends TObject> {
572
593
  label: string;
573
- value: (item: T, index: number) => ReactNode;
594
+ value: (item: T, ctx: DataTableColumnContext<Filters>) => ReactNode;
595
+ fit?: boolean;
574
596
  }
575
597
  type MaybePage<T> = Omit<Page<T>, "page"> & {
576
598
  page?: Partial<PageMetadata>;
577
599
  };
578
- interface DataTableProps<T extends object> {
600
+ interface DataTableSubmitContext<T extends object> {
601
+ items: T[];
602
+ }
603
+ interface DataTableProps<T extends object, Filters extends TObject> {
579
604
  /**
580
605
  * 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.
581
606
  */
582
- items: MaybePage<T> | ((filters: Record<string, string> & {
607
+ items: MaybePage<T> | ((filters: Static<Filters> & {
583
608
  page: number;
584
609
  size: number;
585
610
  sort?: string;
586
- }) => Async<MaybePage<T>>);
611
+ }, ctx: DataTableSubmitContext<T>) => Async<MaybePage<T>>);
587
612
  /**
588
613
  * The columns to display in the table. Each column is defined by a key and a DataTableColumn object.
589
614
  */
590
615
  columns: {
591
- [key: string]: DataTableColumn<T>;
616
+ [key: string]: DataTableColumn<T, Filters>;
592
617
  };
593
618
  defaultSize?: number;
619
+ typeFormProps?: Partial<Omit<TypeFormProps<Filters>, "form">>;
620
+ onFilterChange?: (key: string, value: unknown, form: FormModel<Filters>) => void;
594
621
  /**
595
622
  * Optional filters to apply to the data.
596
623
  */
@@ -616,7 +643,7 @@ interface DataTableProps<T extends object> {
616
643
  */
617
644
  tableTrProps?: (item: T) => TableTrProps;
618
645
  }
619
- declare const DataTable: <T extends object>(props: DataTableProps<T>) => react_jsx_runtime5.JSX.Element;
646
+ declare const DataTable: <T extends object, Filters extends TObject>(props: DataTableProps<T, Filters>) => react_jsx_runtime9.JSX.Element;
620
647
  //#endregion
621
648
  //#region src/constants/ui.d.ts
622
649
  declare const ui: {
@@ -782,5 +809,5 @@ declare module "alepha/react" {
782
809
  */
783
810
  declare const AlephaUI: _alepha_core0.Service<_alepha_core0.Module>;
784
811
  //#endregion
785
- export { ActionButton, type ActionClickButtonProps, type ActionCommonProps, type ActionMenuConfig, type ActionMenuItem, type ActionNavigationButtonProps, type ActionProps, type ActionSubmitButtonProps, AdminShell, 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, ConfirmDialog, type ConfirmDialogOptions, type ConfirmDialogProps, Control, ControlDate, ControlQueryBuilder, ControlSelect, DarkModeButton, DataTable, type DataTableColumn, type DataTableProps, DialogService, Flex, ICON_SIZES, IconSize, 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, ToastService, TypeForm, capitalize, extractSchemaFields, getDefaultIcon, getOperatorsForField, prettyName, ui, useDialog, useToast };
812
+ export { ActionButton, type ActionClickButtonProps, type ActionCommonProps, type ActionMenuConfig, type ActionMenuItem, type ActionNavigationButtonProps, type ActionProps, type ActionSubmitButtonProps, AdminShell, 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, ConfirmDialog, type ConfirmDialogOptions, type ConfirmDialogProps, Control, ControlDate, ControlQueryBuilder, ControlSelect, DarkModeButton, DataTable, type DataTableColumn, type DataTableProps, DialogService, Flex, ICON_SIZES, IconSize, JsonViewer, 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, ToastService, TypeForm, capitalize, extractSchemaFields, getDefaultIcon, getOperatorsForField, prettyName, ui, useDialog, useToast };
786
813
  //# sourceMappingURL=index.d.ts.map
package/vite.d.ts CHANGED
@@ -126,7 +126,7 @@ interface ViteAlephaBuildOptions {
126
126
  * Path to the entry file for the server build.
127
127
  * If empty, SSR build will be skipped.
128
128
  */
129
- serverEntry?: string;
129
+ serverEntry?: string | false;
130
130
  /**
131
131
  * Set false to skip the client build.
132
132
  * This is useful if you only want to build the server-side application.
@@ -158,7 +158,7 @@ interface ViteAlephaDevOptions {
158
158
  * Path to the entry file for the server build.
159
159
  * If empty, plugin will be disabled.
160
160
  */
161
- serverEntry?: string;
161
+ serverEntry?: string | false;
162
162
  /**
163
163
  * If true, enables debug logging.
164
164
  *