@epam/ai-dial-ui-kit 0.5.0-rc.5 → 0.5.0-rc.50
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/README.md +3 -3
- package/dist/dial-ui-kit.cjs.js +29 -29
- package/dist/dial-ui-kit.es.js +15053 -13240
- package/dist/index.css +2 -2
- package/dist/src/components/Alert/Alert.d.ts +2 -2
- package/dist/src/components/Alert/constants.d.ts +2 -2
- package/dist/src/components/AutocompleteInput/AutocompleteInput.d.ts +10 -10
- package/dist/src/components/AutocompleteInput/AutocompleteInputValue.d.ts +6 -6
- package/dist/src/components/Breadcrumb/Breadcrumb.d.ts +8 -8
- package/dist/src/components/Breadcrumb/BreadcrumbItem.d.ts +2 -2
- package/dist/src/components/Breadcrumb/constants.d.ts +10 -10
- package/dist/src/components/Button/Button.d.ts +10 -18
- package/dist/src/components/Checkbox/Checkbox.d.ts +2 -2
- package/dist/src/components/CloseButton/CloseButton.d.ts +3 -3
- package/dist/src/components/CollapsibleSidebar/CollapsibleSidebar.d.ts +6 -6
- package/dist/src/components/ConfirmationPopup/ConfirmationPopup.d.ts +3 -3
- package/dist/src/components/ConfirmationPopup/constants.d.ts +3 -3
- package/dist/src/components/DraggableItem/DraggableItem.d.ts +8 -8
- package/dist/src/components/DraggableItem/constants.d.ts +2 -2
- package/dist/src/components/Dropdown/Dropdown.d.ts +4 -2
- package/dist/src/components/Dropdown/constants.d.ts +7 -7
- package/dist/src/components/EllipsisTooltip/EllipsisTooltip.d.ts +4 -4
- package/dist/src/components/EllipsisTooltip/constants.d.ts +1 -1
- package/dist/src/components/Field/Field.d.ts +4 -6
- package/dist/src/components/FileIcon/FileIcon.d.ts +2 -2
- package/dist/src/components/FileManager/FileManager.d.ts +55 -9
- package/dist/src/components/FileManager/FileManagerContext.d.ts +39 -4
- package/dist/src/components/FileManager/FileManagerProvider.d.ts +1 -0
- package/dist/src/components/FileManager/components/ConflictResolutionPopup/ConflictResolutionPopup.d.ts +92 -0
- package/dist/src/components/FileManager/components/FileManagerItemIcon/FileManagerItemIcon.d.ts +1 -1
- package/dist/src/components/FileManager/components/FileManagerItemNameInput/FileManagerItemNameInput.d.ts +2 -2
- package/dist/src/components/FileManager/components/FileManagerNavigationPanel/FileManagerNavigationPanel.d.ts +10 -10
- package/dist/src/components/FileManager/components/FileManagerNavigationPanel/constants.d.ts +3 -3
- package/dist/src/components/FileManager/components/FileManagerToolbar/DialFileManagerToolbar.d.ts +13 -13
- package/dist/src/components/FileManager/components/FoldersTree/FoldersTree.d.ts +1 -0
- package/dist/src/components/FileManager/components/FoldersTree/hooks/use-expanded-paths.d.ts +13 -0
- package/dist/src/components/FileManager/constants.d.ts +12 -7
- package/dist/src/components/FileManager/hooks/__tests__/use-conflict-resolution.spec.d.ts +1 -0
- package/dist/src/components/FileManager/hooks/__tests__/use-file-upload.spec.d.ts +1 -0
- package/dist/src/components/FileManager/hooks/use-bulk-actions.d.ts +22 -0
- package/dist/src/components/FileManager/hooks/use-conflict-resolution.d.ts +26 -0
- package/dist/src/components/FileManager/hooks/use-file-clipboard.d.ts +10 -2
- package/dist/src/components/FileManager/hooks/use-file-delete.d.ts +3 -2
- package/dist/src/components/FileManager/hooks/use-file-upload.d.ts +34 -0
- package/dist/src/components/FileManager/hooks/use-folder-creation.d.ts +21 -0
- package/dist/src/components/FileManager/hooks/use-grid-context-menu.d.ts +20 -0
- package/dist/src/components/FileManager/hooks/use-item-renaming.d.ts +7 -5
- package/dist/src/components/FileManager/hooks/use-new-actions.d.ts +16 -0
- package/dist/src/components/FileName/FileName.d.ts +4 -2
- package/dist/src/components/FolderName/FolderName.d.ts +6 -3
- package/dist/src/components/FormItem/FormItem.d.ts +9 -9
- package/dist/src/components/FormItem/constants.d.ts +1 -1
- package/dist/src/components/FormPopup/FormPopup.d.ts +1 -1
- package/dist/src/components/FormPopup/constants.d.ts +1 -1
- package/dist/src/components/Grid/Grid.d.ts +7 -3
- package/dist/src/components/Grid/constants.d.ts +1 -1
- package/dist/src/components/Grid/hooks/use-grid-selection.d.ts +7 -4
- package/dist/src/components/Grid/renderers/DateCellRenderer.d.ts +2 -2
- package/dist/src/components/Grid/renderers/constants.d.ts +1 -1
- package/dist/src/components/Icon/Icon.d.ts +0 -1
- package/dist/src/components/Input/Input.d.ts +4 -4
- package/dist/src/components/InputField/InputField.d.ts +3 -3
- package/dist/src/components/InputPopup/InputPopup.d.ts +6 -6
- package/dist/src/components/Loader/Loader.d.ts +5 -5
- package/dist/src/components/Loader/constants.d.ts +2 -2
- package/dist/src/components/NoDataContent/NoDataContent.d.ts +6 -3
- package/dist/src/components/PasswordInput/PasswordInputField.d.ts +1 -1
- package/dist/src/components/Popup/Popup.d.ts +6 -6
- package/dist/src/components/Popup/constants.d.ts +3 -3
- package/dist/src/components/RadioButton/RadioButton.d.ts +6 -6
- package/dist/src/components/RadioGroup/RadioGroup.d.ts +20 -20
- package/dist/src/components/RadioGroup/constants.d.ts +3 -3
- package/dist/src/components/RadioGroupPopupField/RadioGroupPopupField.d.ts +2 -2
- package/dist/src/components/RemoveButton/RemoveButton.d.ts +6 -8
- package/dist/src/components/ResizableContainer/ConditionalResizableContainer.d.ts +33 -0
- package/dist/src/components/ResizableContainer/ResizableContainer.d.ts +69 -0
- package/dist/src/components/ResizableContainer/components/ResizeHandle.d.ts +10 -0
- package/dist/src/components/ResizableContainer/components/ResizeIcon.d.ts +8 -0
- package/dist/src/components/Search/Search.d.ts +4 -4
- package/dist/src/components/Search/constants.d.ts +4 -4
- package/dist/src/components/Select/Select.d.ts +9 -3
- package/dist/src/components/Select/constants.d.ts +7 -6
- package/dist/src/components/SelectField/SelectField.d.ts +6 -6
- package/dist/src/components/SharedEntityIndicator/SharedEntityIndicator.d.ts +2 -2
- package/dist/src/components/Tab/Tab.d.ts +4 -4
- package/dist/src/components/Tabs/Tabs.d.ts +9 -9
- package/dist/src/components/Tag/Tag.d.ts +2 -2
- package/dist/src/components/TextAreaField/TextAreaField.d.ts +3 -3
- package/dist/src/components/Textarea/Textarea.d.ts +4 -4
- package/dist/src/index.d.ts +5 -1
- package/dist/src/models/breadcrumb.d.ts +1 -1
- package/dist/src/models/file-manager.d.ts +15 -0
- package/dist/src/models/tab.d.ts +2 -1
- package/dist/src/types/file-manager.d.ts +12 -9
- package/dist/src/types/resizable-container.d.ts +4 -0
- package/dist/src/types/tab.d.ts +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DragEvent } from 'react';
|
|
2
|
+
import { DialFile } from '../../../models/file';
|
|
3
|
+
import { DialUploadFileItem } from '../../../models/file-manager';
|
|
4
|
+
export interface FileUploadValidationResult {
|
|
5
|
+
valid: boolean;
|
|
6
|
+
message?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface FileUploadValidationMessages {
|
|
9
|
+
duplicateFiles?: string;
|
|
10
|
+
oversizedFiles?: string;
|
|
11
|
+
validationFailed?: string;
|
|
12
|
+
validationError?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface UseFileUploadOptions {
|
|
15
|
+
onUploadFiles?: (files: DialUploadFileItem[], destinationFolder: string) => void;
|
|
16
|
+
onValidateUpload?: (files: DialUploadFileItem[], existingFiles: DialFile[], destinationFolder: string) => FileUploadValidationResult | Promise<FileUploadValidationResult>;
|
|
17
|
+
maxFileSize?: number;
|
|
18
|
+
validationMessages?: FileUploadValidationMessages;
|
|
19
|
+
onUploadArchive?: (file: File, name: string, destinationFolder: string) => void;
|
|
20
|
+
}
|
|
21
|
+
export declare const useFileUpload: ({ onUploadFiles, onValidateUpload, maxFileSize, validationMessages, onUploadArchive, }?: UseFileUploadOptions) => {
|
|
22
|
+
isDragging: boolean;
|
|
23
|
+
isDraggingOverWindow: boolean;
|
|
24
|
+
uploadError: string | undefined;
|
|
25
|
+
handleDragEnter: (e: DragEvent) => void;
|
|
26
|
+
handleDragLeave: (e: DragEvent) => void;
|
|
27
|
+
handleDragOver: (e: DragEvent) => void;
|
|
28
|
+
handleDrop: (e: DragEvent, destinationFolder: string, existingFiles: DialFile[]) => Promise<void>;
|
|
29
|
+
clearError: () => void;
|
|
30
|
+
handleUpload: (files: DialUploadFileItem[], destinationFolder: string, existingFiles: DialFile[]) => Promise<boolean>;
|
|
31
|
+
openFileDialog: (destinationFolder: string, existingFiles: DialFile[]) => void;
|
|
32
|
+
openArchiveDialog: (destinationFolder: string, existingFiles: DialFile[]) => void;
|
|
33
|
+
fileInputRef: import('react').RefObject<HTMLInputElement | null>;
|
|
34
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DialFile } from '../../../models/file';
|
|
2
|
+
import { DialUploadFileItem } from '../../../models/file-manager';
|
|
3
|
+
export interface FolderCreationValidationMessages {
|
|
4
|
+
emptyName?: string;
|
|
5
|
+
duplicateName?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface UseFolderCreationProps {
|
|
8
|
+
currentFolder?: DialFile;
|
|
9
|
+
onCreateFolder?: (file: DialUploadFileItem, folderPath: string, fileId: string) => void | Promise<void>;
|
|
10
|
+
onValidateFolderName?: (name: string, parentFolder: DialFile) => string | null;
|
|
11
|
+
validationMessages?: FolderCreationValidationMessages;
|
|
12
|
+
}
|
|
13
|
+
export interface UseFolderCreationResult {
|
|
14
|
+
isCreatingFolder: boolean;
|
|
15
|
+
newFolderTempId: string | null;
|
|
16
|
+
startFolderCreation: () => void;
|
|
17
|
+
cancelFolderCreation: () => void;
|
|
18
|
+
saveFolderCreation: (name: string) => Promise<void>;
|
|
19
|
+
validateFolderName: (name: string) => string | null;
|
|
20
|
+
}
|
|
21
|
+
export declare const useFolderCreation: ({ currentFolder, onCreateFolder, onValidateFolderName, validationMessages, }: UseFolderCreationProps) => UseFolderCreationResult;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DialFile } from '../../../models/file';
|
|
2
|
+
import { DialFileManagerActions } from '../../../types/file-manager';
|
|
3
|
+
import { DropdownItem } from '../../../models/dropdown';
|
|
4
|
+
export interface UseGridContextMenuProps {
|
|
5
|
+
actionLabels?: {
|
|
6
|
+
[DialFileManagerActions.Duplicate]?: string;
|
|
7
|
+
[DialFileManagerActions.Copy]?: string;
|
|
8
|
+
[DialFileManagerActions.Rename]?: string;
|
|
9
|
+
[DialFileManagerActions.Download]?: string;
|
|
10
|
+
[DialFileManagerActions.Delete]?: string;
|
|
11
|
+
[DialFileManagerActions.Move]?: string;
|
|
12
|
+
};
|
|
13
|
+
onDuplicate: (file: DialFile) => void;
|
|
14
|
+
onCopy: (file: DialFile) => void;
|
|
15
|
+
onMove: (file: DialFile) => void;
|
|
16
|
+
onDownload: (file: DialFile) => void;
|
|
17
|
+
onRename: (filePath: string) => void;
|
|
18
|
+
onDelete: (file: DialFile, parentFolderPath: string) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare const useGridContextMenu: ({ actionLabels, onDuplicate, onCopy, onMove, onDownload, onRename, onDelete, }: UseGridContextMenuProps) => (file: DialFile) => DropdownItem[];
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { DialFile } from '../../../models/file';
|
|
2
|
-
import { DialCopiedItem } from '../../../
|
|
3
|
-
export
|
|
2
|
+
import { DialCopiedItem } from '../../../models/file-manager';
|
|
3
|
+
export interface RenameValidationMessages {
|
|
4
|
+
emptyName?: string;
|
|
5
|
+
duplicateName?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const useItemRenaming: ({ items, onRenameValidate, validationMessages, onMoveToFiles, }: {
|
|
4
8
|
items?: DialFile[];
|
|
5
|
-
onRename?: (path: string) => void;
|
|
6
|
-
onRenameSave?: (value: string) => void;
|
|
7
|
-
onRenameCancel?: () => void;
|
|
8
9
|
onRenameValidate?: (value: string, item: DialFile) => string | null;
|
|
10
|
+
validationMessages?: RenameValidationMessages;
|
|
9
11
|
onMoveToFiles?: (items: DialCopiedItem[], sourceFolder: string, destinationFolder: string) => void;
|
|
10
12
|
}) => {
|
|
11
13
|
renamedPath: string | undefined;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DropdownItem } from '../../../models/dropdown';
|
|
2
|
+
export interface UseNewActionsProps {
|
|
3
|
+
newActionLabels?: {
|
|
4
|
+
uploadFiles?: string;
|
|
5
|
+
newFolder?: string;
|
|
6
|
+
uploadArchive?: string;
|
|
7
|
+
};
|
|
8
|
+
onUploadFiles?: () => void;
|
|
9
|
+
onCreateFolder?: () => void;
|
|
10
|
+
onUploadArchive?: () => void;
|
|
11
|
+
}
|
|
12
|
+
export interface UseNewActionsResult {
|
|
13
|
+
newActions: DropdownItem[];
|
|
14
|
+
isNewButtonVisible: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare const useNewActions: ({ newActionLabels, onUploadFiles, onCreateFolder, onUploadArchive, }: UseNewActionsProps) => UseNewActionsResult;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
export interface DialFileNameProps {
|
|
3
3
|
name: string;
|
|
4
|
-
|
|
4
|
+
className?: string;
|
|
5
5
|
shared?: boolean;
|
|
6
|
+
iconSize?: number;
|
|
6
7
|
}
|
|
7
8
|
/**
|
|
8
9
|
* Component to display a file name with a file icon and shared indicator.
|
|
@@ -14,7 +15,8 @@ export interface DialFileNameProps {
|
|
|
14
15
|
* ```
|
|
15
16
|
*
|
|
16
17
|
* @param name - Full file name with or without extension
|
|
17
|
-
* @param
|
|
18
|
+
* @param className - Additional CSS classes for the root container
|
|
18
19
|
* @param shared - Whether the file is shared
|
|
20
|
+
* @param iconSize - Icon size in px. Default: BASE_ICON_SIZE.
|
|
19
21
|
*/
|
|
20
22
|
export declare const DialFileName: FC<DialFileNameProps>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
export interface DialFolderNameProps {
|
|
3
3
|
name: string;
|
|
4
|
-
|
|
4
|
+
className?: string;
|
|
5
5
|
shared?: boolean;
|
|
6
6
|
loading?: boolean;
|
|
7
|
+
iconSize?: number;
|
|
7
8
|
}
|
|
8
9
|
/**
|
|
9
10
|
* Component to display a folder name with a folder icon and shared indicator.
|
|
@@ -15,7 +16,9 @@ export interface DialFolderNameProps {
|
|
|
15
16
|
* ```
|
|
16
17
|
*
|
|
17
18
|
* @param name - Folder name
|
|
18
|
-
* @param
|
|
19
|
-
* @param shared -
|
|
19
|
+
* @param className - Additional CSS classes for the root container
|
|
20
|
+
* @param shared - If true, shows shared indicator. Default: false.
|
|
21
|
+
* @param loading - If true, shows loading state. Default: false.
|
|
22
|
+
* @param iconSize - Icon size in px. Default: BASE_ICON_SIZE.
|
|
20
23
|
*/
|
|
21
24
|
export declare const DialFolderName: FC<DialFolderNameProps>;
|
|
@@ -3,10 +3,10 @@ import { DialFormItemBaseProps } from '../../types/form-item';
|
|
|
3
3
|
export interface DialFormItemProps extends DialFormItemBaseProps {
|
|
4
4
|
elementId: string;
|
|
5
5
|
labelVisuallyHidden?: boolean;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
className?: string;
|
|
7
|
+
childrenClassName?: string;
|
|
8
|
+
labelClassName?: string;
|
|
9
|
+
errorClassName?: string;
|
|
10
10
|
children: ReactNode;
|
|
11
11
|
value?: ReactNode | string;
|
|
12
12
|
defaultEmptyText?: string;
|
|
@@ -22,7 +22,7 @@ export interface DialFormItemProps extends DialFormItemBaseProps {
|
|
|
22
22
|
*
|
|
23
23
|
* @example
|
|
24
24
|
* ```tsx
|
|
25
|
-
* <DialFormItem elementId="transport" label="Transport"
|
|
25
|
+
* <DialFormItem elementId="transport" label="Transport" className="w-[320px]">
|
|
26
26
|
* <DialSelect
|
|
27
27
|
* elementId="transport"
|
|
28
28
|
* value={transport}
|
|
@@ -53,10 +53,10 @@ export interface DialFormItemProps extends DialFormItemBaseProps {
|
|
|
53
53
|
*
|
|
54
54
|
* @param elementId - Unique identifier for the form control element (used for accessibility)
|
|
55
55
|
* @param labelVisuallyHidden - Whether to visually hide the label (still accessible to screen readers, default: false)
|
|
56
|
-
* @param
|
|
57
|
-
* @param
|
|
58
|
-
* @param
|
|
59
|
-
* @param
|
|
56
|
+
* @param className - Additional CSS classes to apply to the container div
|
|
57
|
+
* @param childrenClassName - Additional CSS classes to apply to the children container div
|
|
58
|
+
* @param labelClassName - Additional CSS classes to apply to the label element
|
|
59
|
+
* @param errorClassName - Additional CSS classes to apply to the error message element
|
|
60
60
|
* @param children - The form control element(s) to render inside the DialFormItem
|
|
61
61
|
* @param value - The current value of the form control (for readonly mode)
|
|
62
62
|
* @param defaultEmptyText - Text to display when readonly and value is empty (default: "None")
|
|
@@ -32,7 +32,7 @@ export interface DialFormPopupProps extends DialPopupProps {
|
|
|
32
32
|
* @param [cancelLabel="Cancel"] - Label for the cancel button
|
|
33
33
|
* @param [isLoading=false] - Shows loader placeholder and hides actions
|
|
34
34
|
* @param [disableSubmitButton=false] - Disables the submit button
|
|
35
|
-
* @param [
|
|
35
|
+
* @param [className] - Extra classes for the popup container
|
|
36
36
|
* @param [submitClassName] - Extra classes merged into the submit button
|
|
37
37
|
* @param onClose - Fired on close
|
|
38
38
|
* @param onSubmit - Fired on submit
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare const defaultSubmitLabel = "Create";
|
|
2
2
|
export declare const defaultCancelLabel = "Cancel";
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const actionsBaseClassName = "flex items-center justify-end gap-2 px-6 py-3";
|
|
@@ -6,12 +6,14 @@ export interface DialGridProps<T extends object = Record<string, unknown>> {
|
|
|
6
6
|
rowData?: T[];
|
|
7
7
|
additionalGridOptions?: GridOptions<T>;
|
|
8
8
|
getContextMenuItems?: (row: T) => DropdownItem[];
|
|
9
|
-
|
|
9
|
+
className?: string;
|
|
10
10
|
ariaLabel?: string;
|
|
11
11
|
withSelectionColumn?: boolean;
|
|
12
12
|
wrapCustomCellRenderers?: boolean | ((col: ColDef<T>) => boolean);
|
|
13
13
|
selectedRowIds?: Set<string>;
|
|
14
|
+
selectedRows?: Map<string, T>;
|
|
14
15
|
onSelectionChange?: (selectedRowIds: Set<string>, selectedRows: T[]) => void;
|
|
16
|
+
onSelectionChangeWithMap?: (selectedRows: Map<string, T>) => void;
|
|
15
17
|
getRowId?: (row: T) => string;
|
|
16
18
|
alternateOddRowColors?: boolean;
|
|
17
19
|
filterPlaceholder?: string;
|
|
@@ -19,6 +21,7 @@ export interface DialGridProps<T extends object = Record<string, unknown>> {
|
|
|
19
21
|
emptyStateTitle?: string;
|
|
20
22
|
emptyStateDescription?: string;
|
|
21
23
|
loading?: boolean;
|
|
24
|
+
wrapperBorder?: boolean;
|
|
22
25
|
}
|
|
23
26
|
/**
|
|
24
27
|
* DialGrid — A feature-rich data grid wrapper built on ag-Grid with dark theme support.
|
|
@@ -89,7 +92,7 @@ export interface DialGridProps<T extends object = Record<string, unknown>> {
|
|
|
89
92
|
* @param [rowData] - Array of data objects to display in the grid
|
|
90
93
|
* @param [additionalGridOptions] - Additional ag-Grid GridOptions to merge with defaults
|
|
91
94
|
* @param [getContextMenuItems] - Function returning context menu items for a given row
|
|
92
|
-
* @param [
|
|
95
|
+
* @param [className] - Additional CSS classes to apply to the grid container
|
|
93
96
|
* @param [ariaLabel='Data grid'] - Accessible label for the grid region
|
|
94
97
|
* @param [withSelectionColumn=true] - Whether to show the checkbox selection column
|
|
95
98
|
* @param [wrapCustomCellRenderers=true] - Whether to wrap custom cell renderers with context menu support
|
|
@@ -103,5 +106,6 @@ export interface DialGridProps<T extends object = Record<string, unknown>> {
|
|
|
103
106
|
* @param [emptyStateDescription] - Optional description text displayed below the empty state title,
|
|
104
107
|
* providing additional context or instructions (e.g., "No data found" or "Try adjusting your filters").
|
|
105
108
|
* @param [loading=false] - When true, shows AG-Grid's native loading overlay
|
|
109
|
+
* @param [wrapperBorder=true] - Whether to apply a border around the grid container
|
|
106
110
|
*/
|
|
107
|
-
export declare const DialGrid: <T extends object>({ columnDefs, rowData, additionalGridOptions, getContextMenuItems,
|
|
111
|
+
export declare const DialGrid: <T extends object>({ columnDefs, rowData, additionalGridOptions, getContextMenuItems, className, ariaLabel, withSelectionColumn, wrapCustomCellRenderers, selectedRowIds, selectedRows, onSelectionChange, onSelectionChangeWithMap, getRowId, alternateOddRowColors, filterPlaceholder, emptyStateIcon, emptyStateTitle, emptyStateDescription, loading, wrapperBorder, }: DialGridProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
export interface UseGridSelectionProps<T> {
|
|
1
|
+
export interface UseGridSelectionProps<T extends object> {
|
|
2
2
|
selectedRowIds?: Set<string>;
|
|
3
|
+
selectedRows?: Map<string, T>;
|
|
3
4
|
onSelectionChange?: (selectedRowIds: Set<string>, selectedRows: T[]) => void;
|
|
5
|
+
onSelectionChangeWithMap?: (selectedRows: Map<string, T>) => void;
|
|
4
6
|
rowData?: T[];
|
|
5
7
|
getRowId: (row: T) => string;
|
|
6
8
|
}
|
|
7
|
-
export declare const useGridSelection: <T extends object>({ selectedRowIds, onSelectionChange, rowData, getRowId, }: UseGridSelectionProps<T>) => {
|
|
9
|
+
export declare const useGridSelection: <T extends object>({ selectedRowIds, selectedRows, onSelectionChange, onSelectionChangeWithMap, rowData, getRowId, }: UseGridSelectionProps<T>) => {
|
|
8
10
|
currentSelectedIds: Set<string>;
|
|
9
|
-
|
|
11
|
+
currentSelectedRows: Map<string, T>;
|
|
12
|
+
handleSelectionToggle: (row: T, checked: boolean) => void;
|
|
10
13
|
headerCheckboxState: string;
|
|
11
|
-
handleHeaderCheckboxChange: () => void;
|
|
14
|
+
handleHeaderCheckboxChange: (checked?: boolean) => void;
|
|
12
15
|
};
|
|
@@ -6,7 +6,7 @@ export interface DialDateCellRendererProps extends Partial<ICellRendererParams<R
|
|
|
6
6
|
locale?: string;
|
|
7
7
|
options?: Intl.DateTimeFormatOptions;
|
|
8
8
|
emptyPlaceholder?: string;
|
|
9
|
-
|
|
9
|
+
className?: string;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* Minimal date cell renderer (ag-Grid compatible).
|
|
@@ -27,6 +27,6 @@ export interface DialDateCellRendererProps extends Partial<ICellRendererParams<R
|
|
|
27
27
|
* @param [locale='en-US'] - Locale fixed to U.S. English by default to enforce "Jul 20, 2025".
|
|
28
28
|
* @param [options={ year: 'numeric', month: 'numeric', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', timeZone: 'UTC' }] - Options for date formatting (e.g., timeZone).
|
|
29
29
|
* @param [emptyPlaceholder='—'] - Placeholder when value is empty/invalid.
|
|
30
|
-
* @param [
|
|
30
|
+
* @param [className] - Additional classes merged into the wrapper.
|
|
31
31
|
*/
|
|
32
32
|
export declare const DialDateCellRenderer: FC<DialDateCellRendererProps>;
|
|
@@ -2,8 +2,8 @@ import { FC, FocusEvent, Ref } from 'react';
|
|
|
2
2
|
import { InputBaseProps, NumberInputBaseProps } from '../../models/field-control-props';
|
|
3
3
|
export interface DialInputProps extends InputBaseProps, Partial<NumberInputBaseProps> {
|
|
4
4
|
type?: string;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
containerClassName?: string;
|
|
6
|
+
className?: string;
|
|
7
7
|
hideBorder?: boolean;
|
|
8
8
|
tooltipText?: string;
|
|
9
9
|
tooltipTriggerClassName?: string;
|
|
@@ -31,8 +31,8 @@ export interface DialInputProps extends InputBaseProps, Partial<NumberInputBaseP
|
|
|
31
31
|
* - {@link NumberInputBaseProps} - Number input properties (min, max) - partial
|
|
32
32
|
*
|
|
33
33
|
* @param type - The HTML input type (text, password, email, number, etc.)
|
|
34
|
-
* @param
|
|
35
|
-
* @param
|
|
34
|
+
* @param containerClassName - Additional CSS classes to apply to the container div
|
|
35
|
+
* @param className - Additional CSS classes to apply to the input element
|
|
36
36
|
* @param hideBorder - Whether to hide the input border styling
|
|
37
37
|
* @param tooltipText - The text to display inside the tooltip. If empty, the tooltip will display the value prop.
|
|
38
38
|
* @param tooltipTriggerClassName - Additional CSS classes to apply to the tooltip
|
|
@@ -5,9 +5,9 @@ export interface DialInputFieldBaseProps extends FieldControlProps, DialFormItem
|
|
|
5
5
|
value?: string | number;
|
|
6
6
|
defaultEmptyText?: string;
|
|
7
7
|
errorText?: string;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
elementClassName?: string;
|
|
9
|
+
elementContainerClassName?: string;
|
|
10
|
+
containerClassName?: string;
|
|
11
11
|
}
|
|
12
12
|
export interface DialInputFieldProps extends DialInputFieldBaseProps, Partial<NumberInputBaseProps> {
|
|
13
13
|
type: string;
|
|
@@ -5,8 +5,8 @@ export interface DialInputPopupProps {
|
|
|
5
5
|
children: ReactNode;
|
|
6
6
|
onOpen: () => void;
|
|
7
7
|
disabled?: boolean;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
valueClassName?: string;
|
|
9
|
+
inputClassName?: string;
|
|
10
10
|
placeholder?: string;
|
|
11
11
|
elementId?: string;
|
|
12
12
|
errorText?: string;
|
|
@@ -26,8 +26,8 @@ export interface DialInputPopupProps {
|
|
|
26
26
|
* emptyValueText="No value selected"
|
|
27
27
|
* onOpen={() => setModalState(true)}
|
|
28
28
|
* disabled={false}
|
|
29
|
-
*
|
|
30
|
-
*
|
|
29
|
+
* valueClassName="custom-value-class"
|
|
30
|
+
* inputClassName="custom-input-class"
|
|
31
31
|
* elementId="input-modal"
|
|
32
32
|
* errorText="This field is required"
|
|
33
33
|
* >
|
|
@@ -41,8 +41,8 @@ export interface DialInputPopupProps {
|
|
|
41
41
|
* @param children - The content to render inside the modal when it is opened.
|
|
42
42
|
* @param onOpen - A callback function triggered when the modal open button is clicked.
|
|
43
43
|
* @param [disabled=false] - Whether the input is disabled, preventing user interaction.
|
|
44
|
-
* @param [
|
|
45
|
-
* @param [
|
|
44
|
+
* @param [valueClassName] - Additional CSS classes applied to the displayed value.
|
|
45
|
+
* @param [inputClassName] - Additional CSS classes applied to the input container.
|
|
46
46
|
* @param [elementId] - A unique identifier for the input element, useful for accessibility and testing.
|
|
47
47
|
* @param [errorText] - An optional error message displayed below the input when an error state is present.
|
|
48
48
|
* @param [invalid] - Whether the input is in an invalid state, affecting styling. Applyed automatically if errorText is provided.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
export interface DialLoaderProps {
|
|
3
3
|
size?: number;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
className?: string;
|
|
5
|
+
iconClassName?: string;
|
|
6
6
|
fullWidth?: boolean;
|
|
7
7
|
ariaLabel?: string;
|
|
8
8
|
}
|
|
@@ -20,12 +20,12 @@ export interface DialLoaderProps {
|
|
|
20
20
|
* <DialLoader fullWidth={false} />
|
|
21
21
|
*
|
|
22
22
|
* // Custom size and classes
|
|
23
|
-
* <DialLoader size={24}
|
|
23
|
+
* <DialLoader size={24} iconClassName="text-accent-primary" />
|
|
24
24
|
* ```
|
|
25
25
|
*
|
|
26
26
|
* @param [size=18] - Icon size in px
|
|
27
|
-
* @param [
|
|
28
|
-
* @param [
|
|
27
|
+
* @param [className] - Additional classes for the container
|
|
28
|
+
* @param [iconClassName] - Additional classes for the SVG icon
|
|
29
29
|
* @param [fullWidth=true] - Stretch to full width/height of container
|
|
30
30
|
* @param [ariaLabel='Loading'] - Accessible label for screen readers
|
|
31
31
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
export declare const
|
|
1
|
+
export declare const loaderBaseClassName = "flex items-center justify-center text-secondary";
|
|
2
|
+
export declare const loaderIconBaseClassName = "shrink-0 grow-0 basis-auto animate-spin-steps";
|
|
@@ -3,9 +3,9 @@ export interface DialNoDataContentProps {
|
|
|
3
3
|
icon?: ReactNode;
|
|
4
4
|
title: string;
|
|
5
5
|
description?: string;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
containerClassName?: string;
|
|
7
|
+
titleClassName?: string;
|
|
8
|
+
descriptionClassName?: string;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* A component for displaying a message and icon when there is no data to show.
|
|
@@ -21,5 +21,8 @@ export interface DialNoDataContentProps {
|
|
|
21
21
|
* @param [icon] - Custom icon to display (defaults to clipboard icon)
|
|
22
22
|
* @param title - The message to display when no data is present
|
|
23
23
|
* @param [description] - The description to display when no data is present
|
|
24
|
+
* @param [containerClassName] - Additional CSS classes for the container
|
|
25
|
+
* @param [titleClassName] - Additional CSS classes for the title text
|
|
26
|
+
* @param [descriptionClassName] - Additional CSS classes for the description text
|
|
24
27
|
*/
|
|
25
28
|
export declare const DialNoDataContent: FC<DialNoDataContentProps>;
|
|
@@ -24,6 +24,6 @@ export interface DialPasswordInputFieldProps extends DialInputFieldBaseProps {
|
|
|
24
24
|
* @param [onChange] - Callback function called when the input value changes
|
|
25
25
|
* @param [errorText] - Error message to display below the input
|
|
26
26
|
* @param [optional=false] - Whether the field is optional
|
|
27
|
-
* @param [
|
|
27
|
+
* @param [className] - Custom CSS class for the input element
|
|
28
28
|
*/
|
|
29
29
|
export declare const DialPasswordInputField: FC<DialPasswordInputFieldProps>;
|
|
@@ -4,9 +4,9 @@ export interface DialPopupProps {
|
|
|
4
4
|
open?: boolean;
|
|
5
5
|
title?: string | ReactNode;
|
|
6
6
|
portalId?: string;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
className?: string;
|
|
8
|
+
overlayClassName?: string;
|
|
9
|
+
headingClassName?: string;
|
|
10
10
|
dividers?: boolean;
|
|
11
11
|
children?: ReactNode;
|
|
12
12
|
footer?: ReactNode;
|
|
@@ -40,9 +40,9 @@ export interface DialPopupProps {
|
|
|
40
40
|
* @param [open=false] - Controls visibility of the popup
|
|
41
41
|
* @param [title] - Optional title rendered in the header
|
|
42
42
|
* @param [portalId] - Optional portal container id
|
|
43
|
-
* @param [
|
|
44
|
-
* @param [
|
|
45
|
-
* @param [
|
|
43
|
+
* @param [className] - Additional CSS classes applied to the popup container
|
|
44
|
+
* @param [overlayClassName] - Additional CSS classes applied to the overlay
|
|
45
|
+
* @param [headingClassName] - Additional CSS classes applied to the title element
|
|
46
46
|
* @param [dividers=true] - Whether to render separators between sections
|
|
47
47
|
* @param [children] - Body content
|
|
48
48
|
* @param [footer] - Footer area for actions
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PopupSize } from '../../types/popup';
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
2
|
+
export declare const overlayBaseClassName = "z-[52] flex items-center justify-center bg-blackout md:p-4";
|
|
3
|
+
export declare const popupDividerClassName = "divide-tertiary divide-y";
|
|
4
|
+
export declare const popupHeaderClassName = "flex flex-row justify-between py-4 px-6 items-center";
|
|
5
5
|
export declare const popupSizeClassMap: Record<PopupSize, string>;
|
|
@@ -6,11 +6,11 @@ export interface DialRadioButtonProps {
|
|
|
6
6
|
description?: ReactNode;
|
|
7
7
|
checked?: boolean;
|
|
8
8
|
inputId: string;
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
className?: string;
|
|
10
|
+
labelClassName?: string;
|
|
11
11
|
disabled?: boolean;
|
|
12
12
|
onChange?: (value: string) => void;
|
|
13
|
-
|
|
13
|
+
descriptionClassName?: string;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* A stylized, accessible radio input with optional description.
|
|
@@ -37,10 +37,10 @@ export interface DialRadioButtonProps {
|
|
|
37
37
|
* @param [description] - Supporting text shown when checked
|
|
38
38
|
* @param [checked=false] - Controlled checked state
|
|
39
39
|
* @param inputId - ID associated with the label
|
|
40
|
-
* @param [
|
|
41
|
-
* @param [
|
|
40
|
+
* @param [className] - Additional classes applied to the input element
|
|
41
|
+
* @param [labelClassName] - Additional classes applied to the label element
|
|
42
42
|
* @param [disabled] - Disabled state of the control
|
|
43
43
|
* @param [onChange] - Callback fired with `value` when the radio is changed
|
|
44
|
-
* @param [
|
|
44
|
+
* @param [descriptionClassName] - Additional classes applied to the description block
|
|
45
45
|
*/
|
|
46
46
|
export declare const DialRadioButton: FC<DialRadioButtonProps>;
|
|
@@ -9,16 +9,16 @@ export interface DialRadioGroupProps {
|
|
|
9
9
|
activeRadioButton: string;
|
|
10
10
|
orientation: RadioGroupOrientation;
|
|
11
11
|
onChange: (radioId: string) => void;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
radioClassName?: string;
|
|
13
|
+
groupLabelClassName?: string;
|
|
14
|
+
labelClassName?: string;
|
|
15
|
+
containerClassName?: string;
|
|
16
|
+
formItemChildrenClassName?: string;
|
|
17
|
+
selectedItemClassName?: string;
|
|
18
|
+
selectedLabelClassName?: string;
|
|
19
|
+
radioGroupClassName?: string;
|
|
20
|
+
inputContainerClassName?: string;
|
|
21
|
+
selectedInputContainerClassName?: string;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Groups multiple `DialRadio` options and renders custom content for the active option.
|
|
@@ -43,16 +43,16 @@ export interface DialRadioGroupProps {
|
|
|
43
43
|
*
|
|
44
44
|
* @param [fieldTitle] - Optional label rendered by `DialField`
|
|
45
45
|
* @param elementId - Name for the underlying radio group; also used for input `name`
|
|
46
|
-
* @param [
|
|
47
|
-
* @param [
|
|
48
|
-
* @param [
|
|
49
|
-
* @param [
|
|
50
|
-
* @param [
|
|
51
|
-
* @param [
|
|
52
|
-
* @param [
|
|
53
|
-
* @param [
|
|
54
|
-
* @param [
|
|
55
|
-
* @param [
|
|
46
|
+
* @param [radioClassName] - Additional classes applied to each radio input
|
|
47
|
+
* @param [inputContainerClassName] - Additional classes applied to each radio input's container
|
|
48
|
+
* @param [selectedInputContainerClassName] - Additional classes applied to the selected radio input's container
|
|
49
|
+
* @param [groupLabelClassName] - Optional classes applied to the group label. If not provided, `labelClassName` will be used.
|
|
50
|
+
* @param [formItemChildrenClassName] - Additional classes applied to the DialFormItem's children container
|
|
51
|
+
* @param [labelClassName] - Additional classes applied to each radio label
|
|
52
|
+
* @param [containerClassName] - Additional classes applied to the outer container
|
|
53
|
+
* @param [selectedItemClassName] - Additional classes applied to the selected option's content container
|
|
54
|
+
* @param [selectedLabelClassName] - Additional classes applied to the selected option's label
|
|
55
|
+
* @param [radioGroupClassName] - Additional classes applied to the radio group container
|
|
56
56
|
* @param [disabled] - Disables all child radios when set
|
|
57
57
|
* @param radioButtons - Array of options with ids, labels, and optional content
|
|
58
58
|
* @param activeRadioButton - The id of the currently selected radio
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RadioGroupOrientation } from '../../types/radio-group';
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
2
|
+
export declare const groupBaseClassName = "flex flex-col gap-2";
|
|
3
|
+
export declare const optionsWrapperBaseClassName = "flex";
|
|
4
|
+
export declare const selectedContentClassName = "pb-1 mt-2";
|
|
5
5
|
export declare const orientationClassMap: Record<RadioGroupOrientation, string>;
|
|
@@ -51,8 +51,8 @@ export interface RadioGroupPopupFieldProps extends Pick<DialFieldLabelProps, 'fi
|
|
|
51
51
|
* @param [selectedValue] - Current value id used to resolve the displayed option name
|
|
52
52
|
* @param radioButtons - Collection of radio options (id/name)
|
|
53
53
|
* @param [customInputValue] - Custom value text to display instead of a radio option name
|
|
54
|
-
* @param [
|
|
55
|
-
* @param [
|
|
54
|
+
* @param [valueClassName] - Extra classes applied to the value text in the collapsed field
|
|
55
|
+
* @param [inputClassName] - Extra classes applied to the collapsed input container
|
|
56
56
|
* @param emptyValueText - Placeholder text when no value is selected
|
|
57
57
|
* @param [onClose] - Callback fired when the popup closes
|
|
58
58
|
* @param title - Title text shown in the popup header
|