@alepha/ui 0.11.3 → 0.11.4
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/dist/AlephaMantineProvider-CtIV-8MV.mjs +150 -0
- package/dist/AlephaMantineProvider-CtIV-8MV.mjs.map +1 -0
- package/dist/AlephaMantineProvider-D-vu9aCD.mjs +3 -0
- package/dist/{index.d.ts → index.d.mts} +290 -226
- package/dist/index.d.mts.map +1 -0
- package/dist/{index.js → index.mjs} +651 -730
- package/dist/index.mjs.map +1 -0
- package/package.json +14 -12
- package/src/RootRouter.ts +1 -1
- package/src/components/buttons/ActionButton.tsx +542 -0
- package/src/components/buttons/BurgerButton.tsx +20 -0
- package/src/components/{DarkModeButton.tsx → buttons/DarkModeButton.tsx} +27 -14
- package/src/components/buttons/LanguageButton.tsx +28 -0
- package/src/components/buttons/OmnibarButton.tsx +32 -0
- package/src/components/buttons/ToggleSidebarButton.tsx +28 -0
- package/src/components/dialogs/AlertDialog.tsx +10 -10
- package/src/components/dialogs/ConfirmDialog.tsx +18 -18
- package/src/components/dialogs/PromptDialog.tsx +5 -3
- package/src/components/{Control.tsx → form/Control.tsx} +6 -3
- package/src/components/{ControlDate.tsx → form/ControlDate.tsx} +4 -1
- package/src/components/{ControlSelect.tsx → form/ControlSelect.tsx} +4 -1
- package/src/components/{TypeForm.tsx → form/TypeForm.tsx} +8 -6
- package/src/components/layout/AdminShell.tsx +97 -0
- package/src/components/{AlephaMantineProvider.tsx → layout/AlephaMantineProvider.tsx} +30 -10
- package/src/components/layout/AppBar.tsx +133 -0
- package/src/components/layout/Omnibar.tsx +43 -0
- package/src/components/layout/Sidebar.tsx +410 -0
- package/src/components/table/DataTable.tsx +63 -0
- package/src/constants/ui.ts +8 -0
- package/src/index.ts +89 -24
- package/src/services/DialogService.tsx +13 -32
- package/src/services/ToastService.tsx +16 -4
- package/src/utils/parseInput.ts +1 -1
- package/dist/AlephaMantineProvider-DDbIijPF.js +0 -96
- package/dist/AlephaMantineProvider-DDbIijPF.js.map +0 -1
- package/dist/AlephaMantineProvider-pOu8hOzK.js +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/src/components/Action.tsx +0 -345
- package/src/components/DataTable.css +0 -199
- package/src/components/DataTable.tsx +0 -724
- package/src/components/Omnibar.tsx +0 -77
- package/src/components/Sidebar.css +0 -217
- package/src/components/Sidebar.tsx +0 -255
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import * as _alepha_core0 from "@alepha/core";
|
|
2
|
-
import { TObject } from "@alepha/core";
|
|
2
|
+
import { Async, TObject } from "@alepha/core";
|
|
3
|
+
import { FormModel, InputField } from "@alepha/react-form";
|
|
3
4
|
import * as _alepha_react0 from "@alepha/react";
|
|
4
|
-
import { RouterGoOptions, UseActiveOptions } from "@alepha/react";
|
|
5
|
+
import { RouterGoOptions, UseActionReturn, UseActiveOptions } from "@alepha/react";
|
|
5
6
|
import { ModalsProviderProps } from "@mantine/modals";
|
|
6
|
-
import { AutocompleteProps, ButtonProps, ColorInputProps, ColorSchemeScriptProps, FileInputProps, Flex, MantineProviderProps, ModalProps, MultiSelectProps, NumberInputProps, PasswordInputProps, SegmentedControlProps, SelectProps, SwitchProps, TableProps, TagsInputProps, TextInputProps, TextareaProps, TooltipProps } from "@mantine/core";
|
|
7
|
-
import * as
|
|
8
|
-
import
|
|
7
|
+
import { AppShellFooterProps, AppShellHeaderProps, AppShellMainProps, AppShellNavbarProps, AppShellProps, AutocompleteProps, ButtonProps, ColorInputProps, ColorSchemeScriptProps, FileInputProps, Flex, FlexProps, MantineBreakpoint, MantineProviderProps, MenuProps, MenuTargetProps, ModalProps, MultiSelectProps, NumberInputProps, PasswordInputProps, SegmentedControlProps, SelectProps, SwitchProps, TableProps, TableTrProps, TagsInputProps, Text, TextInputProps, TextareaProps, ThemeIconProps, TooltipProps } from "@mantine/core";
|
|
8
|
+
import * as react_jsx_runtime5 from "react/jsx-runtime";
|
|
9
|
+
import { ComponentType, ReactNode } from "react";
|
|
9
10
|
import * as _mantine_notifications0 from "@mantine/notifications";
|
|
10
11
|
import { NotificationData, NotificationsProps } from "@mantine/notifications";
|
|
11
|
-
import { FormModel, InputField } from "@alepha/react-form";
|
|
12
|
-
import { NavigationProgressProps } from "@mantine/nprogress";
|
|
13
|
-
import { SpotlightActionData } from "@mantine/spotlight";
|
|
14
12
|
import { DateInputProps, DateTimePickerProps, TimeInputProps } from "@mantine/dates";
|
|
13
|
+
import { NavigationProgressProps } from "@mantine/nprogress";
|
|
15
14
|
|
|
16
15
|
//#region src/utils/parseInput.d.ts
|
|
17
16
|
interface GenericControlProps {
|
|
@@ -21,7 +20,7 @@ interface GenericControlProps {
|
|
|
21
20
|
icon?: ReactNode;
|
|
22
21
|
}
|
|
23
22
|
//#endregion
|
|
24
|
-
//#region src/components/ControlSelect.d.ts
|
|
23
|
+
//#region src/components/form/ControlSelect.d.ts
|
|
25
24
|
type SelectValueLabel = string | {
|
|
26
25
|
value: string;
|
|
27
26
|
label: string;
|
|
@@ -48,9 +47,9 @@ interface ControlSelectProps extends GenericControlProps {
|
|
|
48
47
|
*
|
|
49
48
|
* Automatically detects enum values and array types from schema.
|
|
50
49
|
*/
|
|
51
|
-
declare const ControlSelect: (props: ControlSelectProps) =>
|
|
50
|
+
declare const ControlSelect: (props: ControlSelectProps) => react_jsx_runtime5.JSX.Element | null;
|
|
52
51
|
//#endregion
|
|
53
|
-
//#region src/components/Control.d.ts
|
|
52
|
+
//#region src/components/form/Control.d.ts
|
|
54
53
|
interface ControlProps extends GenericControlProps {
|
|
55
54
|
text?: TextInputProps;
|
|
56
55
|
area?: boolean | TextareaProps;
|
|
@@ -86,13 +85,13 @@ interface ControlProps extends GenericControlProps {
|
|
|
86
85
|
*
|
|
87
86
|
* Automatically handles labels, descriptions, error messages, required state, and default icons.
|
|
88
87
|
*/
|
|
89
|
-
declare const Control: (_props: ControlProps) =>
|
|
88
|
+
declare const Control: (_props: ControlProps) => react_jsx_runtime5.JSX.Element | null;
|
|
90
89
|
type CustomControlProps = {
|
|
91
90
|
defaultValue: any;
|
|
92
91
|
onChange: (value: any) => void;
|
|
93
92
|
};
|
|
94
93
|
//#endregion
|
|
95
|
-
//#region src/components/
|
|
94
|
+
//#region src/components/buttons/ActionButton.d.ts
|
|
96
95
|
interface ActionMenuItem {
|
|
97
96
|
/**
|
|
98
97
|
* Menu item type
|
|
@@ -101,7 +100,7 @@ interface ActionMenuItem {
|
|
|
101
100
|
/**
|
|
102
101
|
* Label text for the menu item
|
|
103
102
|
*/
|
|
104
|
-
label?: string;
|
|
103
|
+
label?: string | ReactNode;
|
|
105
104
|
/**
|
|
106
105
|
* Icon element to display before the label
|
|
107
106
|
*/
|
|
@@ -110,6 +109,10 @@ interface ActionMenuItem {
|
|
|
110
109
|
* Click handler for menu items
|
|
111
110
|
*/
|
|
112
111
|
onClick?: () => void;
|
|
112
|
+
/**
|
|
113
|
+
* Href for navigation menu items
|
|
114
|
+
*/
|
|
115
|
+
href?: string;
|
|
113
116
|
/**
|
|
114
117
|
* Color for the menu item (e.g., "red" for danger actions)
|
|
115
118
|
*/
|
|
@@ -118,6 +121,10 @@ interface ActionMenuItem {
|
|
|
118
121
|
* Nested submenu items
|
|
119
122
|
*/
|
|
120
123
|
children?: ActionMenuItem[];
|
|
124
|
+
/**
|
|
125
|
+
* Whether the menu item is active
|
|
126
|
+
*/
|
|
127
|
+
active?: boolean;
|
|
121
128
|
}
|
|
122
129
|
interface ActionMenuConfig {
|
|
123
130
|
/**
|
|
@@ -136,6 +143,9 @@ interface ActionMenuConfig {
|
|
|
136
143
|
* Menu shadow
|
|
137
144
|
*/
|
|
138
145
|
shadow?: "xs" | "sm" | "md" | "lg" | "xl";
|
|
146
|
+
on?: "hover" | "click";
|
|
147
|
+
targetProps?: MenuTargetProps;
|
|
148
|
+
menuProps?: MenuProps;
|
|
139
149
|
}
|
|
140
150
|
interface ActionCommonProps extends ButtonProps {
|
|
141
151
|
children?: ReactNode;
|
|
@@ -159,178 +169,53 @@ interface ActionCommonProps extends ButtonProps {
|
|
|
159
169
|
title?: string;
|
|
160
170
|
message: string;
|
|
161
171
|
};
|
|
172
|
+
/**
|
|
173
|
+
* Icon to display on the left side of the button.
|
|
174
|
+
* If no children are provided, the button will be styled as an icon-only button.
|
|
175
|
+
*/
|
|
176
|
+
icon?: ReactNode;
|
|
177
|
+
/**
|
|
178
|
+
* Additional props to pass to the ThemeIcon wrapping the icon.
|
|
179
|
+
*/
|
|
180
|
+
themeIconProps?: ThemeIconProps;
|
|
162
181
|
}
|
|
163
|
-
type ActionProps = ActionCommonProps & (
|
|
164
|
-
declare const
|
|
165
|
-
interface
|
|
182
|
+
type ActionProps = ActionCommonProps & (ActionNavigationButtonProps | ActionClickButtonProps | ActionSubmitButtonProps | ActionHookButtonProps | {});
|
|
183
|
+
declare const ActionButton: (_props: ActionProps) => react_jsx_runtime5.JSX.Element;
|
|
184
|
+
interface ActionSubmitButtonProps extends ButtonProps {
|
|
166
185
|
form: FormModel<any>;
|
|
167
186
|
}
|
|
168
|
-
interface
|
|
187
|
+
interface ActionHookButtonProps extends ButtonProps {
|
|
188
|
+
action: UseActionReturn<any[], any>;
|
|
189
|
+
}
|
|
190
|
+
interface ActionClickButtonProps extends ButtonProps {
|
|
169
191
|
onClick: (e: any) => any;
|
|
170
192
|
}
|
|
171
|
-
interface
|
|
193
|
+
interface ActionNavigationButtonProps extends ButtonProps {
|
|
172
194
|
href: string;
|
|
173
195
|
active?: Partial<UseActiveOptions> | false;
|
|
174
196
|
routerGoOptions?: RouterGoOptions;
|
|
197
|
+
classNameActive?: string;
|
|
198
|
+
variantActive?: ButtonProps["variant"];
|
|
199
|
+
target?: string;
|
|
175
200
|
}
|
|
176
201
|
//#endregion
|
|
177
|
-
//#region src/components/
|
|
178
|
-
interface OmnibarProps {
|
|
179
|
-
actions?: SpotlightActionData[];
|
|
180
|
-
shortcut?: string | string[];
|
|
181
|
-
searchPlaceholder?: string;
|
|
182
|
-
nothingFound?: ReactNode;
|
|
183
|
-
}
|
|
184
|
-
declare const Omnibar: (props: OmnibarProps) => react_jsx_runtime3.JSX.Element;
|
|
185
|
-
//#endregion
|
|
186
|
-
//#region src/components/AlephaMantineProvider.d.ts
|
|
187
|
-
interface AlephaMantineProviderProps {
|
|
188
|
-
children?: ReactNode;
|
|
189
|
-
mantine?: MantineProviderProps;
|
|
190
|
-
colorSchemeScript?: ColorSchemeScriptProps;
|
|
191
|
-
navigationProgress?: NavigationProgressProps;
|
|
192
|
-
notifications?: NotificationsProps;
|
|
193
|
-
modals?: ModalsProviderProps;
|
|
194
|
-
omnibar?: OmnibarProps;
|
|
195
|
-
}
|
|
196
|
-
declare const AlephaMantineProvider: (props: AlephaMantineProviderProps) => react_jsx_runtime3.JSX.Element;
|
|
197
|
-
//#endregion
|
|
198
|
-
//#region src/components/ControlDate.d.ts
|
|
199
|
-
interface ControlDateProps extends GenericControlProps {
|
|
200
|
-
date?: boolean | DateInputProps;
|
|
201
|
-
datetime?: boolean | DateTimePickerProps;
|
|
202
|
-
time?: boolean | TimeInputProps;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* ControlDate component for handling date, datetime, and time inputs.
|
|
206
|
-
*
|
|
207
|
-
* Features:
|
|
208
|
-
* - DateInput for date format
|
|
209
|
-
* - DateTimePicker for date-time format
|
|
210
|
-
* - TimeInput for time format
|
|
211
|
-
*
|
|
212
|
-
* Automatically detects date formats from schema and renders appropriate picker.
|
|
213
|
-
*/
|
|
214
|
-
declare const ControlDate: (props: ControlDateProps) => react_jsx_runtime3.JSX.Element | null;
|
|
215
|
-
//#endregion
|
|
216
|
-
//#region src/components/DarkModeButton.d.ts
|
|
202
|
+
//#region src/components/buttons/DarkModeButton.d.ts
|
|
217
203
|
interface DarkModeButtonProps {
|
|
218
204
|
mode?: "minimal" | "segmented";
|
|
219
|
-
size?:
|
|
205
|
+
size?: MantineBreakpoint;
|
|
220
206
|
variant?: "filled" | "light" | "outline" | "default" | "subtle" | "transparent";
|
|
207
|
+
fullWidth?: boolean;
|
|
208
|
+
segmentedProps?: Partial<SegmentedControlProps>;
|
|
209
|
+
actionProps?: Partial<ActionProps>;
|
|
221
210
|
}
|
|
222
|
-
declare const DarkModeButton: (props: DarkModeButtonProps) =>
|
|
211
|
+
declare const DarkModeButton: (props: DarkModeButtonProps) => react_jsx_runtime5.JSX.Element;
|
|
223
212
|
//#endregion
|
|
224
|
-
//#region src/components/
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
sortable?: boolean;
|
|
231
|
-
filterable?: boolean;
|
|
232
|
-
hidden?: boolean;
|
|
233
|
-
render?: (value: any, record: T, index: number) => React$1.ReactNode;
|
|
234
|
-
renderHeader?: () => React$1.ReactNode;
|
|
235
|
-
align?: "left" | "center" | "right";
|
|
236
|
-
ellipsis?: boolean;
|
|
237
|
-
className?: string;
|
|
238
|
-
headerClassName?: string;
|
|
239
|
-
}
|
|
240
|
-
interface DataTableSort {
|
|
241
|
-
column: string;
|
|
242
|
-
direction: SortDirection;
|
|
243
|
-
}
|
|
244
|
-
interface DataTableFilter {
|
|
245
|
-
column: string;
|
|
246
|
-
value: string;
|
|
247
|
-
operator?: "contains" | "equals" | "startsWith" | "endsWith";
|
|
248
|
-
}
|
|
249
|
-
interface DataTableProps<T = any> extends Omit<TableProps, "data"> {
|
|
250
|
-
data: T[];
|
|
251
|
-
columns: DataTableColumn<T>[];
|
|
252
|
-
loading?: boolean;
|
|
253
|
-
emptyMessage?: string;
|
|
254
|
-
selectable?: boolean;
|
|
255
|
-
selectedRows?: T[];
|
|
256
|
-
onRowSelect?: (rows: T[]) => void;
|
|
257
|
-
sortable?: boolean;
|
|
258
|
-
sort?: DataTableSort;
|
|
259
|
-
onSortChange?: (sort: DataTableSort) => void;
|
|
260
|
-
filterable?: boolean;
|
|
261
|
-
filters?: DataTableFilter[];
|
|
262
|
-
onFiltersChange?: (filters: DataTableFilter[]) => void;
|
|
263
|
-
filterPlaceholder?: string;
|
|
264
|
-
paginate?: boolean;
|
|
265
|
-
page?: number;
|
|
266
|
-
pageSize?: number;
|
|
267
|
-
totalRecords?: number;
|
|
268
|
-
pageSizeOptions?: number[];
|
|
269
|
-
onPageChange?: (page: number) => void;
|
|
270
|
-
onPageSizeChange?: (size: number) => void;
|
|
271
|
-
rowActions?: (record: T, index: number) => React$1.ReactNode;
|
|
272
|
-
onRowClick?: (record: T, index: number) => void;
|
|
273
|
-
rowClassName?: (record: T, index: number) => string;
|
|
274
|
-
showHeader?: boolean;
|
|
275
|
-
showFooter?: boolean;
|
|
276
|
-
stickyHeader?: boolean;
|
|
277
|
-
striped?: boolean;
|
|
278
|
-
highlightOnHover?: boolean;
|
|
279
|
-
showToolbar?: boolean;
|
|
280
|
-
title?: string;
|
|
281
|
-
actions?: React$1.ReactNode;
|
|
282
|
-
showColumnToggle?: boolean;
|
|
283
|
-
showRefresh?: boolean;
|
|
284
|
-
onRefresh?: () => void;
|
|
285
|
-
showExport?: boolean;
|
|
286
|
-
onExport?: () => void;
|
|
287
|
-
height?: number | string;
|
|
288
|
-
minHeight?: number | string;
|
|
289
|
-
maxHeight?: number | string;
|
|
290
|
-
}
|
|
291
|
-
declare function DataTable<T = any>({
|
|
292
|
-
data,
|
|
293
|
-
columns: initialColumns,
|
|
294
|
-
loading,
|
|
295
|
-
emptyMessage,
|
|
296
|
-
selectable,
|
|
297
|
-
selectedRows,
|
|
298
|
-
onRowSelect,
|
|
299
|
-
sortable,
|
|
300
|
-
sort,
|
|
301
|
-
onSortChange,
|
|
302
|
-
filterable,
|
|
303
|
-
filters,
|
|
304
|
-
onFiltersChange,
|
|
305
|
-
filterPlaceholder,
|
|
306
|
-
paginate,
|
|
307
|
-
page,
|
|
308
|
-
pageSize,
|
|
309
|
-
totalRecords,
|
|
310
|
-
pageSizeOptions,
|
|
311
|
-
onPageChange,
|
|
312
|
-
onPageSizeChange,
|
|
313
|
-
rowActions,
|
|
314
|
-
onRowClick,
|
|
315
|
-
rowClassName,
|
|
316
|
-
showHeader,
|
|
317
|
-
showFooter,
|
|
318
|
-
stickyHeader,
|
|
319
|
-
striped,
|
|
320
|
-
highlightOnHover,
|
|
321
|
-
showToolbar,
|
|
322
|
-
title,
|
|
323
|
-
actions,
|
|
324
|
-
showColumnToggle,
|
|
325
|
-
showRefresh,
|
|
326
|
-
onRefresh,
|
|
327
|
-
showExport,
|
|
328
|
-
onExport,
|
|
329
|
-
height,
|
|
330
|
-
minHeight,
|
|
331
|
-
maxHeight,
|
|
332
|
-
...tableProps
|
|
333
|
-
}: DataTableProps<T>): react_jsx_runtime3.JSX.Element;
|
|
213
|
+
//#region src/components/buttons/OmnibarButton.d.ts
|
|
214
|
+
interface OmnibarButtonProps {
|
|
215
|
+
actionProps?: ActionProps;
|
|
216
|
+
collapsed?: boolean;
|
|
217
|
+
}
|
|
218
|
+
declare const OmnibarButton: (props: OmnibarButtonProps) => react_jsx_runtime5.JSX.Element;
|
|
334
219
|
//#endregion
|
|
335
220
|
//#region src/services/DialogService.d.ts
|
|
336
221
|
interface BaseDialogOptions extends Partial<ModalProps> {
|
|
@@ -387,6 +272,10 @@ declare class DialogService {
|
|
|
387
272
|
* Open a custom dialog with provided content
|
|
388
273
|
*/
|
|
389
274
|
open(options?: BaseDialogOptions): string;
|
|
275
|
+
/**
|
|
276
|
+
* Close the currently open dialog or a specific dialog by ID
|
|
277
|
+
*/
|
|
278
|
+
close(modalId?: string): void;
|
|
390
279
|
/**
|
|
391
280
|
* Show a JSON editor/viewer dialog
|
|
392
281
|
*/
|
|
@@ -395,10 +284,6 @@ declare class DialogService {
|
|
|
395
284
|
* Show a form dialog for structured input
|
|
396
285
|
*/
|
|
397
286
|
form(options?: BaseDialogOptions): Promise<any>;
|
|
398
|
-
/**
|
|
399
|
-
* Close the currently open dialog or a specific dialog by ID
|
|
400
|
-
*/
|
|
401
|
-
close(modalId?: string): void;
|
|
402
287
|
/**
|
|
403
288
|
* Show a loading/progress dialog with optional progress percentage
|
|
404
289
|
*/
|
|
@@ -409,64 +294,45 @@ declare class DialogService {
|
|
|
409
294
|
* Show an image viewer/gallery dialog
|
|
410
295
|
*/
|
|
411
296
|
image(src: string | string[], options?: BaseDialogOptions): void;
|
|
412
|
-
/**
|
|
413
|
-
* Show a table/data grid dialog for displaying tabular data
|
|
414
|
-
*/
|
|
415
|
-
table(data: any[], options?: BaseDialogOptions & {
|
|
416
|
-
columns?: any[];
|
|
417
|
-
}): void;
|
|
418
|
-
/**
|
|
419
|
-
* Show a multi-step wizard dialog
|
|
420
|
-
*/
|
|
421
|
-
wizard(steps: any[], options?: BaseDialogOptions): Promise<any>;
|
|
422
297
|
}
|
|
423
298
|
//#endregion
|
|
424
299
|
//#region src/components/dialogs/AlertDialog.d.ts
|
|
425
|
-
declare
|
|
300
|
+
declare const AlertDialog: ({
|
|
426
301
|
options,
|
|
427
302
|
onClose
|
|
428
|
-
}: AlertDialogProps)
|
|
303
|
+
}: AlertDialogProps) => react_jsx_runtime5.JSX.Element;
|
|
429
304
|
//#endregion
|
|
430
305
|
//#region src/components/dialogs/ConfirmDialog.d.ts
|
|
431
|
-
declare
|
|
306
|
+
declare const ConfirmDialog: ({
|
|
432
307
|
options,
|
|
433
308
|
onConfirm
|
|
434
|
-
}: ConfirmDialogProps)
|
|
309
|
+
}: ConfirmDialogProps) => react_jsx_runtime5.JSX.Element;
|
|
435
310
|
//#endregion
|
|
436
311
|
//#region src/components/dialogs/PromptDialog.d.ts
|
|
437
|
-
declare
|
|
312
|
+
declare const PromptDialog: ({
|
|
438
313
|
options,
|
|
439
314
|
onSubmit
|
|
440
|
-
}: PromptDialogProps)
|
|
315
|
+
}: PromptDialogProps) => react_jsx_runtime5.JSX.Element;
|
|
441
316
|
//#endregion
|
|
442
|
-
//#region src/components/
|
|
443
|
-
interface
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
href?: string;
|
|
448
|
-
activeStartsWith?: boolean;
|
|
449
|
-
onClick?: () => void;
|
|
450
|
-
children?: MenuItem[];
|
|
451
|
-
}
|
|
452
|
-
interface SidebarProps {
|
|
453
|
-
menu: MenuItem[];
|
|
454
|
-
defaultOpenIds?: string[];
|
|
455
|
-
onItemClick?: (item: MenuItem) => void;
|
|
456
|
-
showSearchButton?: boolean;
|
|
457
|
-
onSearchClick?: () => void;
|
|
458
|
-
}
|
|
459
|
-
declare const Sidebar: FC<SidebarProps>;
|
|
460
|
-
interface SidebarItemProps {
|
|
461
|
-
item: MenuItem;
|
|
462
|
-
level: number;
|
|
463
|
-
openIds: Set<string>;
|
|
464
|
-
onToggle: (id: string) => void;
|
|
465
|
-
onItemClick?: (item: MenuItem) => void;
|
|
317
|
+
//#region src/components/form/ControlDate.d.ts
|
|
318
|
+
interface ControlDateProps extends GenericControlProps {
|
|
319
|
+
date?: boolean | DateInputProps;
|
|
320
|
+
datetime?: boolean | DateTimePickerProps;
|
|
321
|
+
time?: boolean | TimeInputProps;
|
|
466
322
|
}
|
|
467
|
-
|
|
323
|
+
/**
|
|
324
|
+
* ControlDate component for handling date, datetime, and time inputs.
|
|
325
|
+
*
|
|
326
|
+
* Features:
|
|
327
|
+
* - DateInput for date format
|
|
328
|
+
* - DateTimePicker for date-time format
|
|
329
|
+
* - TimeInput for time format
|
|
330
|
+
*
|
|
331
|
+
* Automatically detects date formats from schema and renders appropriate picker.
|
|
332
|
+
*/
|
|
333
|
+
declare const ControlDate: (props: ControlDateProps) => react_jsx_runtime5.JSX.Element | null;
|
|
468
334
|
//#endregion
|
|
469
|
-
//#region src/components/TypeForm.d.ts
|
|
335
|
+
//#region src/components/form/TypeForm.d.ts
|
|
470
336
|
interface TypeFormProps<T extends TObject> {
|
|
471
337
|
form: FormModel<T>;
|
|
472
338
|
columns?: number | {
|
|
@@ -481,8 +347,8 @@ interface TypeFormProps<T extends TObject> {
|
|
|
481
347
|
controlProps?: Partial<Omit<ControlProps, "input">>;
|
|
482
348
|
skipFormElement?: boolean;
|
|
483
349
|
skipSubmitButton?: boolean;
|
|
484
|
-
submitButtonProps?: Partial<Omit<
|
|
485
|
-
resetButtonProps?: Partial<Omit<
|
|
350
|
+
submitButtonProps?: Partial<Omit<ActionSubmitButtonProps, "form">>;
|
|
351
|
+
resetButtonProps?: Partial<Omit<ActionSubmitButtonProps, "form">>;
|
|
486
352
|
}
|
|
487
353
|
/**
|
|
488
354
|
* TypeForm component that automatically renders all form inputs based on schema.
|
|
@@ -509,7 +375,184 @@ interface TypeFormProps<T extends TObject> {
|
|
|
509
375
|
* return <TypeForm form={form} columns={2} />;
|
|
510
376
|
* ```
|
|
511
377
|
*/
|
|
512
|
-
declare const TypeForm: <T extends TObject>(props: TypeFormProps<T>) =>
|
|
378
|
+
declare const TypeForm: <T extends TObject>(props: TypeFormProps<T>) => react_jsx_runtime5.JSX.Element | null;
|
|
379
|
+
//#endregion
|
|
380
|
+
//#region src/components/buttons/LanguageButton.d.ts
|
|
381
|
+
interface LanguageButtonProps {
|
|
382
|
+
languages?: string[];
|
|
383
|
+
actionProps?: ActionProps;
|
|
384
|
+
}
|
|
385
|
+
//#endregion
|
|
386
|
+
//#region src/components/layout/AppBar.d.ts
|
|
387
|
+
type AppBarItem = AppBarElement | AppBarBurger | AppBarDark | AppBarSearch | AppBarLang | AppBarSpacer | AppBarDivider;
|
|
388
|
+
interface AppBarElement {
|
|
389
|
+
position: "left" | "center" | "right";
|
|
390
|
+
element: ReactNode;
|
|
391
|
+
}
|
|
392
|
+
interface AppBarBurger {
|
|
393
|
+
position: "left" | "center" | "right";
|
|
394
|
+
type: "burger";
|
|
395
|
+
}
|
|
396
|
+
interface AppBarDark {
|
|
397
|
+
position: "left" | "center" | "right";
|
|
398
|
+
type: "dark";
|
|
399
|
+
props?: DarkModeButtonProps;
|
|
400
|
+
}
|
|
401
|
+
interface AppBarSearch {
|
|
402
|
+
position: "left" | "center" | "right";
|
|
403
|
+
type: "search";
|
|
404
|
+
props?: OmnibarButtonProps;
|
|
405
|
+
}
|
|
406
|
+
interface AppBarLang {
|
|
407
|
+
position: "left" | "center" | "right";
|
|
408
|
+
type: "lang";
|
|
409
|
+
props?: LanguageButtonProps;
|
|
410
|
+
}
|
|
411
|
+
interface AppBarSpacer {
|
|
412
|
+
position: "left" | "center" | "right";
|
|
413
|
+
type: "spacer";
|
|
414
|
+
}
|
|
415
|
+
interface AppBarDivider {
|
|
416
|
+
position: "left" | "center" | "right";
|
|
417
|
+
type: "divider";
|
|
418
|
+
}
|
|
419
|
+
interface AppBarProps {
|
|
420
|
+
flexProps?: FlexProps;
|
|
421
|
+
items?: AppBarItem[];
|
|
422
|
+
}
|
|
423
|
+
declare const AppBar: (props: AppBarProps) => react_jsx_runtime5.JSX.Element;
|
|
424
|
+
//#endregion
|
|
425
|
+
//#region src/components/layout/Sidebar.d.ts
|
|
426
|
+
interface SidebarProps {
|
|
427
|
+
menu?: SidebarNode[];
|
|
428
|
+
top?: SidebarNode[];
|
|
429
|
+
bottom?: SidebarNode[];
|
|
430
|
+
onItemClick?: (item: SidebarMenuItem) => void;
|
|
431
|
+
onSearchClick?: () => void;
|
|
432
|
+
theme?: SidebarTheme;
|
|
433
|
+
flexProps?: Partial<FlexProps>;
|
|
434
|
+
collapsed?: boolean;
|
|
435
|
+
gap?: MantineBreakpoint;
|
|
436
|
+
}
|
|
437
|
+
declare const Sidebar: (props: SidebarProps) => react_jsx_runtime5.JSX.Element;
|
|
438
|
+
interface SidebarItemProps {
|
|
439
|
+
item: SidebarMenuItem;
|
|
440
|
+
level: number;
|
|
441
|
+
onItemClick?: (item: SidebarMenuItem) => void;
|
|
442
|
+
theme: SidebarTheme;
|
|
443
|
+
}
|
|
444
|
+
interface SidebarItemProps {
|
|
445
|
+
item: SidebarMenuItem;
|
|
446
|
+
level: number;
|
|
447
|
+
onItemClick?: (item: SidebarMenuItem) => void;
|
|
448
|
+
theme: SidebarTheme;
|
|
449
|
+
}
|
|
450
|
+
type SidebarNode = SidebarMenuItem | SidebarSpacer | SidebarDivider | SidebarSearch | SidebarElement | SidebarSection;
|
|
451
|
+
interface SidebarAbstractItem {
|
|
452
|
+
position?: "top" | "bottom";
|
|
453
|
+
}
|
|
454
|
+
interface SidebarElement extends SidebarAbstractItem {
|
|
455
|
+
element: ReactNode;
|
|
456
|
+
}
|
|
457
|
+
interface SidebarSpacer extends SidebarAbstractItem {
|
|
458
|
+
type: "spacer";
|
|
459
|
+
}
|
|
460
|
+
interface SidebarDivider extends SidebarAbstractItem {
|
|
461
|
+
type: "divider";
|
|
462
|
+
}
|
|
463
|
+
interface SidebarSearch extends SidebarAbstractItem {
|
|
464
|
+
type: "search";
|
|
465
|
+
}
|
|
466
|
+
interface SidebarSection extends SidebarAbstractItem {
|
|
467
|
+
type: "section";
|
|
468
|
+
label: string;
|
|
469
|
+
}
|
|
470
|
+
interface SidebarMenuItem extends SidebarAbstractItem {
|
|
471
|
+
label: string | ReactNode;
|
|
472
|
+
description?: string;
|
|
473
|
+
icon?: ReactNode;
|
|
474
|
+
href?: string;
|
|
475
|
+
activeStartsWith?: boolean;
|
|
476
|
+
onClick?: () => void;
|
|
477
|
+
children?: SidebarMenuItem[];
|
|
478
|
+
rightSection?: ReactNode;
|
|
479
|
+
theme?: SidebarButtonTheme;
|
|
480
|
+
actionProps?: ActionProps;
|
|
481
|
+
}
|
|
482
|
+
interface SidebarButtonTheme {
|
|
483
|
+
radius?: MantineBreakpoint;
|
|
484
|
+
size?: MantineBreakpoint;
|
|
485
|
+
}
|
|
486
|
+
interface SidebarTheme {
|
|
487
|
+
button?: SidebarButtonTheme;
|
|
488
|
+
search?: SidebarButtonTheme;
|
|
489
|
+
}
|
|
490
|
+
//#endregion
|
|
491
|
+
//#region src/components/layout/AdminShell.d.ts
|
|
492
|
+
interface AdminShellProps {
|
|
493
|
+
appShellProps?: Partial<AppShellProps>;
|
|
494
|
+
appShellMainProps?: Partial<AppShellMainProps>;
|
|
495
|
+
appShellHeaderProps?: Partial<AppShellHeaderProps>;
|
|
496
|
+
appShellNavbarProps?: Partial<AppShellNavbarProps>;
|
|
497
|
+
appShellFooterProps?: Partial<AppShellFooterProps>;
|
|
498
|
+
sidebarProps?: Partial<SidebarProps>;
|
|
499
|
+
appBarProps?: Partial<AppBarProps>;
|
|
500
|
+
header?: ReactNode;
|
|
501
|
+
footer?: ReactNode;
|
|
502
|
+
children?: ReactNode;
|
|
503
|
+
}
|
|
504
|
+
declare module "@alepha/core" {
|
|
505
|
+
interface State {
|
|
506
|
+
"alepha.ui.sidebar.opened"?: boolean;
|
|
507
|
+
"alepha.ui.sidebar.collapsed"?: boolean;
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
declare const AdminShell: (props: AdminShellProps) => react_jsx_runtime5.JSX.Element;
|
|
511
|
+
//#endregion
|
|
512
|
+
//#region src/components/layout/Omnibar.d.ts
|
|
513
|
+
interface OmnibarProps {
|
|
514
|
+
shortcut?: string | string[];
|
|
515
|
+
searchPlaceholder?: string;
|
|
516
|
+
nothingFound?: ReactNode;
|
|
517
|
+
}
|
|
518
|
+
declare const Omnibar: (props: OmnibarProps) => react_jsx_runtime5.JSX.Element;
|
|
519
|
+
//#endregion
|
|
520
|
+
//#region src/components/layout/AlephaMantineProvider.d.ts
|
|
521
|
+
interface AlephaMantineProviderProps {
|
|
522
|
+
children?: ReactNode;
|
|
523
|
+
mantine?: MantineProviderProps;
|
|
524
|
+
colorSchemeScript?: ColorSchemeScriptProps;
|
|
525
|
+
navigationProgress?: NavigationProgressProps;
|
|
526
|
+
notifications?: NotificationsProps;
|
|
527
|
+
modals?: ModalsProviderProps;
|
|
528
|
+
omnibar?: OmnibarProps;
|
|
529
|
+
}
|
|
530
|
+
declare const AlephaMantineProvider: (props: AlephaMantineProviderProps) => react_jsx_runtime5.JSX.Element;
|
|
531
|
+
//#endregion
|
|
532
|
+
//#region src/components/table/DataTable.d.ts
|
|
533
|
+
interface DataTableColumn<T extends object> {
|
|
534
|
+
label: string;
|
|
535
|
+
value: (item: T) => ReactNode;
|
|
536
|
+
}
|
|
537
|
+
interface DataTableProps<T extends object> {
|
|
538
|
+
items: T[] | (() => Async<T[]>);
|
|
539
|
+
columns: {
|
|
540
|
+
[key: string]: DataTableColumn<T>;
|
|
541
|
+
};
|
|
542
|
+
tableProps?: TableProps;
|
|
543
|
+
tableTrProps?: (item: T) => TableTrProps;
|
|
544
|
+
}
|
|
545
|
+
declare const DataTable: <T extends object>(props: DataTableProps<T>) => react_jsx_runtime5.JSX.Element;
|
|
546
|
+
//#endregion
|
|
547
|
+
//#region src/constants/ui.d.ts
|
|
548
|
+
declare const ui: {
|
|
549
|
+
colors: {
|
|
550
|
+
transparent: string;
|
|
551
|
+
background: string;
|
|
552
|
+
surface: string;
|
|
553
|
+
elevated: string;
|
|
554
|
+
};
|
|
555
|
+
};
|
|
513
556
|
//#endregion
|
|
514
557
|
//#region src/hooks/useDialog.d.ts
|
|
515
558
|
/**
|
|
@@ -538,10 +581,10 @@ declare class ToastService {
|
|
|
538
581
|
};
|
|
539
582
|
readonly options: ToastServiceOptions;
|
|
540
583
|
show(options: NotificationData): void;
|
|
541
|
-
info(options: Partial<NotificationData>): void;
|
|
542
|
-
success(options: Partial<NotificationData>): void;
|
|
543
|
-
warning(options: Partial<NotificationData>): void;
|
|
544
|
-
danger(options: Partial<NotificationData>): void;
|
|
584
|
+
info(options: Partial<NotificationData> | string): void;
|
|
585
|
+
success(options: Partial<NotificationData> | string): void;
|
|
586
|
+
warning(options: Partial<NotificationData> | string): void;
|
|
587
|
+
danger(options: Partial<NotificationData> | string): void;
|
|
545
588
|
}
|
|
546
589
|
//#endregion
|
|
547
590
|
//#region src/hooks/useToast.d.ts
|
|
@@ -608,6 +651,27 @@ declare module "typebox" {
|
|
|
608
651
|
$control?: Omit<ControlProps, "input">;
|
|
609
652
|
}
|
|
610
653
|
}
|
|
654
|
+
declare module "@alepha/react" {
|
|
655
|
+
interface PageDescriptorOptions {
|
|
656
|
+
/**
|
|
657
|
+
* Human-readable title for the page.
|
|
658
|
+
* - for Sidebar navigation
|
|
659
|
+
* - for Omnibar navigation
|
|
660
|
+
* (soon)
|
|
661
|
+
* - for Breadcrumbs
|
|
662
|
+
* - for document title (with AlephaReactHead)
|
|
663
|
+
*/
|
|
664
|
+
label?: string;
|
|
665
|
+
/**
|
|
666
|
+
* Optional description of the page.
|
|
667
|
+
*/
|
|
668
|
+
description?: string;
|
|
669
|
+
/**
|
|
670
|
+
* Optional icon for the page.
|
|
671
|
+
*/
|
|
672
|
+
icon?: ReactNode;
|
|
673
|
+
}
|
|
674
|
+
}
|
|
611
675
|
/**
|
|
612
676
|
* Mantine
|
|
613
677
|
*
|
|
@@ -615,5 +679,5 @@ declare module "typebox" {
|
|
|
615
679
|
*/
|
|
616
680
|
declare const AlephaUI: _alepha_core0.Service<_alepha_core0.Module<{}>>;
|
|
617
681
|
//#endregion
|
|
618
|
-
export {
|
|
619
|
-
//# sourceMappingURL=index.d.
|
|
682
|
+
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, ControlSelect, DarkModeButton, DataTable, type DataTableColumn, type DataTableProps, DialogService, Flex, ICON_SIZES, IconSize, Omnibar, OmnibarButton, PromptDialog, type PromptDialogOptions, type PromptDialogProps, RootRouter, 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, getDefaultIcon, prettyName, ui, useDialog, useToast };
|
|
683
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/utils/parseInput.ts","../src/components/form/ControlSelect.tsx","../src/components/form/Control.tsx","../src/components/buttons/ActionButton.tsx","../src/components/buttons/DarkModeButton.tsx","../src/components/buttons/OmnibarButton.tsx","../src/services/DialogService.tsx","../src/components/dialogs/AlertDialog.tsx","../src/components/dialogs/ConfirmDialog.tsx","../src/components/dialogs/PromptDialog.tsx","../src/components/form/ControlDate.tsx","../src/components/form/TypeForm.tsx","../src/components/buttons/LanguageButton.tsx","../src/components/layout/AppBar.tsx","../src/components/layout/Sidebar.tsx","../src/components/layout/AdminShell.tsx","../src/components/layout/Omnibar.tsx","../src/components/layout/AlephaMantineProvider.tsx","../src/components/table/DataTable.tsx","../src/constants/ui.ts","../src/hooks/useDialog.ts","../src/services/ToastService.tsx","../src/hooks/useToast.ts","../src/RootRouter.ts","../src/utils/icons.tsx","../src/utils/string.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
|