@epam/ai-dial-ui-kit 0.9.0-rc.8 → 0.9.0
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 +7 -0
- package/dist/components-manifest.json +4732 -0
- package/dist/dial-ui-kit.cjs.js +40 -35
- package/dist/dial-ui-kit.es.js +22571 -18395
- package/dist/index.css +2 -2
- package/dist/mcp-server.cjs +357 -0
- package/dist/src/components/Alert/Alert.d.ts +1 -0
- package/dist/src/components/Alert/constants.d.ts +1 -1
- package/dist/src/components/AutocompleteInput/AutocompleteInputValue.d.ts +8 -3
- package/dist/src/components/Breadcrumb/Breadcrumb.d.ts +1 -0
- package/dist/src/components/Breadcrumb/BreadcrumbItem.d.ts +1 -1
- package/dist/src/components/Breadcrumb/constants.d.ts +1 -1
- package/dist/src/components/Button/Button.d.ts +1 -0
- package/dist/src/components/ButtonDropdown/ButtonDropdown.d.ts +1 -0
- package/dist/src/components/CaptionText/CaptionText.d.ts +1 -0
- package/dist/src/components/Checkbox/Checkbox.d.ts +1 -0
- package/dist/src/components/CloseButton/CloseButton.d.ts +1 -0
- package/dist/src/components/CollapsibleSidebar/CollapsibleSidebar.d.ts +2 -0
- package/dist/src/components/ConfirmationPopup/ConfirmationPopup.d.ts +1 -0
- package/dist/src/components/DraggableItem/DraggableItem.d.ts +1 -0
- package/dist/src/components/Dropdown/Dropdown.d.ts +2 -0
- package/dist/src/components/EllipsisTooltip/EllipsisTooltip.d.ts +2 -0
- package/dist/src/components/FileIcon/FileIcon.d.ts +1 -0
- package/dist/src/components/FileManager/FileManager.d.ts +20 -13
- package/dist/src/components/FileManager/FileManagerContext.d.ts +5 -0
- package/dist/src/components/FileManager/FileManagerProvider.d.ts +1 -0
- package/dist/src/components/FileManager/FileManagerTooltip.d.ts +11 -0
- package/dist/src/components/FileManager/components/DestinationFolderPopup/DestinationFolderPopup.d.ts +2 -0
- package/dist/src/components/FileManager/hooks/use-file-download.d.ts +2 -1
- package/dist/src/components/FileManager/hooks/use-file-manager-columns.d.ts +1 -0
- package/dist/src/components/FileManager/hooks/use-file-upload.d.ts +13 -0
- package/dist/src/components/FileManager/hooks/use-grid-context-menu.d.ts +3 -1
- package/dist/src/components/FileManager/utils.d.ts +4 -0
- package/dist/src/components/FileManager/utils.spec.d.ts +1 -0
- package/dist/src/components/FileName/FileName.d.ts +2 -0
- package/dist/src/components/FolderName/FolderName.d.ts +2 -0
- package/dist/src/components/FormItem/FormItem.d.ts +1 -0
- package/dist/src/components/FormPopup/FormPopup.d.ts +1 -0
- package/dist/src/components/Grid/Grid.d.ts +2 -3
- package/dist/src/components/Icon/Icon.d.ts +1 -0
- package/dist/src/components/IconButton/IconButton.d.ts +1 -0
- package/dist/src/components/InfoButton/constants.d.ts +1 -1
- package/dist/src/components/Input/Input.d.ts +2 -0
- package/dist/src/components/InputPopup/InputPopup.d.ts +9 -0
- package/dist/src/components/Label/Label.d.ts +1 -0
- package/dist/src/components/LabelledText/LabelledText.d.ts +1 -0
- package/dist/src/components/LoadFileArea/LoadFileArea.d.ts +2 -0
- package/dist/src/components/LoadFileArea/LoadFileAreaField.d.ts +2 -0
- package/dist/src/components/Loader/Loader.d.ts +1 -0
- package/dist/src/components/NoDataContent/NoDataContent.d.ts +1 -0
- package/dist/src/components/NumberInput/NumberInput.d.ts +8 -0
- package/dist/src/components/PasswordInput/PasswordInput.d.ts +1 -0
- package/dist/src/components/Popup/Popup.d.ts +1 -0
- package/dist/src/components/RadioButton/RadioButton.d.ts +1 -0
- package/dist/src/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/dist/src/components/RadioGroupPopupField/RadioGroupPopupField.d.ts +1 -0
- package/dist/src/components/RemoveButton/RemoveButton.d.ts +1 -0
- package/dist/src/components/ResizableContainer/ConditionalResizableContainer.d.ts +1 -0
- package/dist/src/components/ResizableContainer/ResizableContainer.d.ts +2 -0
- package/dist/src/components/SchemeRenderer/SchemeRenderer.d.ts +26 -0
- package/dist/src/components/SchemeRenderer/components/SchemaAnyOfEditor.d.ts +31 -0
- package/dist/src/components/SchemeRenderer/components/SchemaArrayEditor.d.ts +31 -0
- package/dist/src/components/SchemeRenderer/components/SchemaField.d.ts +28 -0
- package/dist/src/components/SchemeRenderer/components/SchemaFieldContent.d.ts +25 -0
- package/dist/src/components/SchemeRenderer/components/SchemaKeyValueEditor.d.ts +25 -0
- package/dist/src/components/SchemeRenderer/components/SchemaObjectEditor.d.ts +31 -0
- package/dist/src/components/SchemeRenderer/components/SchemaOneOfEditor.d.ts +31 -0
- package/dist/src/components/SchemeRenderer/components/SchemaPrimitiveField.d.ts +27 -0
- package/dist/src/components/SchemeRenderer/components/SchemaSection.d.ts +33 -0
- package/dist/src/components/SchemeRenderer/context.d.ts +11 -0
- package/dist/src/components/SchemeRenderer/tests/utils.spec.d.ts +1 -0
- package/dist/src/components/SchemeRenderer/types.d.ts +71 -0
- package/dist/src/components/SchemeRenderer/utils.d.ts +11 -0
- package/dist/src/components/Search/Search.d.ts +2 -0
- package/dist/src/components/Select/Select.d.ts +2 -0
- package/dist/src/components/Select/constants.d.ts +2 -2
- package/dist/src/components/SelectField/SelectField.d.ts +1 -0
- package/dist/src/components/SharedEntityIndicator/SharedEntityIndicator.d.ts +1 -0
- package/dist/src/components/Skeleton/Skeleton.d.ts +1 -0
- package/dist/src/components/Steps/Steps.d.ts +1 -0
- package/dist/src/components/Switch/Switch.d.ts +1 -0
- package/dist/src/components/Tabs/Tabs.d.ts +2 -0
- package/dist/src/components/Tag/Tag.d.ts +2 -0
- package/dist/src/components/TagInput/TagInput.d.ts +9 -1
- package/dist/src/components/Textarea/Textarea.d.ts +1 -0
- package/dist/src/components/Tooltip/Tooltip.d.ts +1 -0
- package/dist/src/constants/storybook/input.d.ts +3 -1
- package/dist/src/index.d.ts +3 -1
- package/dist/src/mcp/generate-manifest.d.ts +1 -0
- package/dist/src/mcp/server.d.ts +1 -0
- package/dist/src/mcp/types.d.ts +54 -0
- package/dist/src/types/file-manager.d.ts +4 -2
- package/package.json +19 -3
|
@@ -13,6 +13,8 @@ export interface DialCollapsibleSidebarProps {
|
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* A collapsible horizontal bar component that allows toggling between an expanded and collapsed state.
|
|
16
|
+
* aliases: ToggleSidebar|CollapsiblePanel
|
|
17
|
+
*
|
|
16
18
|
* It supports customizable width, title, icons, additional buttons, and flexible styling options.
|
|
17
19
|
*
|
|
18
20
|
* @example
|
|
@@ -16,6 +16,7 @@ export interface DialConfirmationPopupProps extends DialPopupProps {
|
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* A confirmation dialog built with DialPopup and DialButton.
|
|
19
|
+
* aliases: ConfirmDialog|WarningDialog
|
|
19
20
|
*
|
|
20
21
|
* Provides an accessible modal with a title, optional description or custom content,
|
|
21
22
|
* and a footer with Cancel / Confirm actions.
|
|
@@ -9,6 +9,7 @@ export interface DialDraggableItemProps {
|
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* A lightweight wrapper that makes its children sortable via drag-and-drop.
|
|
12
|
+
* aliases: SortableItem|DragHandle
|
|
12
13
|
*
|
|
13
14
|
* Renders a row with a grab handle (left) and the provided content (right).
|
|
14
15
|
* Integrates with `react-dnd` using a simple "column" drag type and delegates
|
|
@@ -35,6 +35,8 @@ export interface DialDropdownProps {
|
|
|
35
35
|
/**
|
|
36
36
|
*
|
|
37
37
|
* Renders the given trigger (`children`) and a floating contextual menu overlay.
|
|
38
|
+
* aliases: ContextMenu|PopupMenu
|
|
39
|
+
*
|
|
38
40
|
* Supports click/hover/contextMenu triggers, controlled/uncontrolled open, and an optional
|
|
39
41
|
* close button inside the overlay. Placement is taken directly from Floating UI; when
|
|
40
42
|
* `placement` is **undefined** (default), automatic placement is handled by `autoPlacement`.
|
|
@@ -10,6 +10,8 @@ export interface DialEllipsisTooltipProps extends DialTooltipContainerOptions {
|
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* Single-line text with CSS ellipsis that shows a tooltip **only when actually truncated**.
|
|
13
|
+
* aliases: TruncatedText|TruncationTooltip
|
|
14
|
+
*
|
|
13
15
|
* If the text fits, tooltip content is empty and the popup stays hidden.
|
|
14
16
|
*
|
|
15
17
|
* Important: width must be finite for truncation.
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { FC, ReactNode, Ref, RefObject } from 'react';
|
|
2
1
|
import { ColDef, GridApi } from 'ag-grid-community';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { FC, ReactNode, Ref, RefObject } from 'react';
|
|
3
|
+
import { ConflictResolutionPopupProps } from './components/ConflictResolutionPopup/ConflictResolutionPopup';
|
|
4
|
+
import { FileUploadValidationMessages, FileUploadValidationResult } from './hooks/use-file-upload';
|
|
5
|
+
import { RenameValidationMessages } from './hooks/use-item-renaming';
|
|
6
6
|
import { DialGridProps } from '../Grid/Grid';
|
|
7
|
-
import { DialFileManagerToolbarProps } from './components/FileManagerToolbar/DialFileManagerToolbar';
|
|
8
|
-
import { DialFileManagerBulkActionsToolbarProps } from './components/FileManagerBulkActionsToolbar/FileManagerBulkActionsToolbar';
|
|
9
7
|
import { DropdownItem } from '../../models/dropdown';
|
|
10
|
-
import {
|
|
8
|
+
import { DialFile, DialRootFolder } from '../../models/file';
|
|
9
|
+
import { DialCopiedItem, DialDeletedItem, DialFileAcceptType, DialFileManagerActionsRef, DialUploadFileItem } from '../../models/file-manager';
|
|
10
|
+
import { GridSelectionMode } from '../../models/selection-mode.ts';
|
|
11
|
+
import { DialFileManagerActions, FileManagerColumnKey } from '../../types/file-manager';
|
|
11
12
|
import { FileManagerGridRow } from './FileManagerContext';
|
|
12
13
|
import { DestinationFolderPopupProps } from './components/DestinationFolderPopup/DestinationFolderPopup';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { GridSelectionMode } from '../../models/selection-mode.ts';
|
|
14
|
+
import { DialFileManagerBulkActionsToolbarProps } from './components/FileManagerBulkActionsToolbar/FileManagerBulkActionsToolbar';
|
|
15
|
+
import { DialFileManagerNavigationPanelProps } from './components/FileManagerNavigationPanel/FileManagerNavigationPanel';
|
|
16
|
+
import { DialFileManagerToolbarProps } from './components/FileManagerToolbar/DialFileManagerToolbar';
|
|
17
|
+
import { DialFoldersTreeProps } from './components/FoldersTree/FoldersTree';
|
|
18
18
|
type GridRow = FileManagerGridRow;
|
|
19
19
|
export type DialFileManagerConflictResolutionPopupOptions = Omit<ConflictResolutionPopupProps, 'open' | 'onClose' | 'onReplace' | 'onDuplicate' | 'conflictingFiles'>;
|
|
20
20
|
export type DialFileManagerDestinationFolderPopupOptions = Pick<DestinationFolderPopupProps, 'setDestinationFolderPath' | 'destinationFolderPath' | 'addFolderLabel' | 'copyLabel' | 'moveLabel' | 'hiddenFilesSwitcherLabel' | 'header' | 'onCreateFolder' | 'onCreateFolderValidate' | 'folderCreationValidationMessages' | 'disabledPathTooltip' | 'emptyStateTitle' | 'emptyStateDescription'> & {
|
|
@@ -186,6 +186,7 @@ export interface DialFileManagerProps {
|
|
|
186
186
|
onFolderPopupPathChange?: (newPath?: string) => void;
|
|
187
187
|
onManagePermissions?: (path?: string) => void;
|
|
188
188
|
onPreview?: (path?: string) => void;
|
|
189
|
+
onOpenInNewTab?: (file: DialFile) => void;
|
|
189
190
|
previewExtensions?: string[];
|
|
190
191
|
isRenameFileAvailable?: boolean;
|
|
191
192
|
isDuplicateFolderAvailable?: boolean;
|
|
@@ -193,10 +194,15 @@ export interface DialFileManagerProps {
|
|
|
193
194
|
customCreateNewItemAction?: (currentPath?: string, currentFolder?: DialFile) => void;
|
|
194
195
|
customDuplicateAction?: (items?: DialFile[]) => void;
|
|
195
196
|
customDeleteItemsAction?: (items: DialFile[], parentFolderPath: string) => void;
|
|
197
|
+
customDownloadItemsAction?: (items?: DialFile[]) => void;
|
|
196
198
|
nonClickableTableColumns?: FileManagerColumnKey[];
|
|
199
|
+
hideSearchPathItemName?: boolean;
|
|
200
|
+
showHiddenFileSwitcherInDestinationPopup?: boolean;
|
|
201
|
+
autoSelectUploadedItems?: boolean;
|
|
197
202
|
}
|
|
198
203
|
/**
|
|
199
204
|
* File Manager layout with a collapsible folders tree, breadcrumb/search header, and a data grid.
|
|
205
|
+
* aliases: FileExplorer|FileBrowser
|
|
200
206
|
*
|
|
201
207
|
* Features:
|
|
202
208
|
* - Global `path` drives both the breadcrumb trail and the visible folder in the grid.
|
|
@@ -281,8 +287,9 @@ export interface DialFileManagerProps {
|
|
|
281
287
|
* @param [onUploadFiles] - Callback fired when files are uploaded
|
|
282
288
|
* @param [onValidateUpload] - Callback to validate files before upload
|
|
283
289
|
* @param [maxFileSize] - Maximum allowed file size for uploads in bytes
|
|
284
|
-
* @param [uploadValidationMessages] - Custom validation messages for file uploads
|
|
290
|
+
* @param [uploadValidationMessages] - Custom validation messages for file uploads. Consumers can customize these strings for a11y and copy consistency.
|
|
285
291
|
* @param [uploadEnabled=true] - Whether files uploads are enabled
|
|
292
|
+
* @param [autoSelectUploadedItems=false] - When true, automatically selects newly uploaded or created items (files, archives, folders) after they appear in the current directory. Useful in attach flows where the user expects immediate selection feedback.
|
|
286
293
|
*
|
|
287
294
|
* @param [sharedByMePaths] - Set of items paths that the user has shared with others. Enables UI indicators (icons/badges) in the tree and grid.
|
|
288
295
|
*
|
|
@@ -14,6 +14,7 @@ export interface FileManagerGridRow {
|
|
|
14
14
|
size?: number;
|
|
15
15
|
author?: string;
|
|
16
16
|
path: string;
|
|
17
|
+
parentPath?: string | null;
|
|
17
18
|
nodeType: DialFileNodeType;
|
|
18
19
|
extension?: string;
|
|
19
20
|
isTemporary?: boolean;
|
|
@@ -153,6 +154,7 @@ export interface FileManagerContextValue {
|
|
|
153
154
|
onFolderPopupPathChange?: (newPath?: string) => void;
|
|
154
155
|
onManagePermissions?: (path?: string) => void;
|
|
155
156
|
onPreview?: (path?: string) => void;
|
|
157
|
+
onOpenInNewTab?: (file: DialFile) => void;
|
|
156
158
|
previewExtensions?: string[];
|
|
157
159
|
isRenameFileAvailable?: boolean;
|
|
158
160
|
isDuplicateFolderAvailable?: boolean;
|
|
@@ -160,9 +162,12 @@ export interface FileManagerContextValue {
|
|
|
160
162
|
customCreateNewItemAction?: (currentPath?: string, currentFolder?: DialFile) => void;
|
|
161
163
|
customDuplicateAction?: (items?: DialFile[]) => void;
|
|
162
164
|
customDeleteItemsAction?: (items: DialFile[], parentFolderPath: string) => void;
|
|
165
|
+
customDownloadItemsAction?: (items?: DialFile[]) => void;
|
|
163
166
|
nonClickableTableColumns?: FileManagerColumnKey[];
|
|
164
167
|
getDisabledTooltip?: (row: FileManagerGridRow) => string | undefined;
|
|
165
168
|
fileTooLargeTooltip?: string;
|
|
166
169
|
unsupportedFileTypeTooltip?: string;
|
|
170
|
+
hideSearchPathItemName?: boolean;
|
|
171
|
+
showHiddenFileSwitcherInDestinationPopup?: boolean;
|
|
167
172
|
}
|
|
168
173
|
export declare const FileManagerContext: import('react').Context<FileManagerContextValue | undefined>;
|
|
@@ -2,6 +2,7 @@ import { FC, ReactNode } from 'react';
|
|
|
2
2
|
import { DialFileManagerProps } from './FileManager';
|
|
3
3
|
export interface FileManagerProviderProps extends Omit<DialFileManagerProps, 'children'> {
|
|
4
4
|
children: ReactNode;
|
|
5
|
+
autoSelectUploadedItems?: boolean;
|
|
5
6
|
}
|
|
6
7
|
/**
|
|
7
8
|
* Provider that encapsulates all File Manager business logic:
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FileManagerGridRow } from './FileManagerContext';
|
|
2
|
+
interface FileManagerTooltipProps {
|
|
3
|
+
disabledGridRowIds: Set<string>;
|
|
4
|
+
gridRows: FileManagerGridRow[];
|
|
5
|
+
getDisabledTooltip?: (row: FileManagerGridRow) => string | undefined;
|
|
6
|
+
getRowDisabledTooltip: (row: FileManagerGridRow, allowedFileTypes?: string[], maxSelectableFileSize?: number) => string | undefined;
|
|
7
|
+
allowedFileTypes?: string[];
|
|
8
|
+
maxSelectableFileSize?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare const FileManagerTooltip: ({ disabledGridRowIds, gridRows, getDisabledTooltip, getRowDisabledTooltip, allowedFileTypes, maxSelectableFileSize, }: FileManagerTooltipProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -10,6 +10,7 @@ export interface DestinationFolderPopupProps extends DialFileManagerProps {
|
|
|
10
10
|
copyLabel?: string;
|
|
11
11
|
moveLabel?: string;
|
|
12
12
|
addFolderLabel?: string;
|
|
13
|
+
showHiddenFileSwitcher?: boolean;
|
|
13
14
|
hiddenFilesSwitcherLabel?: string;
|
|
14
15
|
mode?: 'copy' | 'move';
|
|
15
16
|
header?: ReactNode;
|
|
@@ -21,6 +22,7 @@ export interface DestinationFolderPopupProps extends DialFileManagerProps {
|
|
|
21
22
|
}
|
|
22
23
|
/**
|
|
23
24
|
* DestinationFolderPopup
|
|
25
|
+
* aliases: FolderSelector|PathChooser
|
|
24
26
|
*
|
|
25
27
|
* A popup dialog for selecting a destination folder when copying or moving files.
|
|
26
28
|
* Displays a File Manager interface with a footer containing action buttons and
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { DialFile } from '../../../models/file';
|
|
2
2
|
export interface UseFileDownloadOptions {
|
|
3
3
|
onDownloadFiles?: (items: DialFile[]) => void;
|
|
4
|
+
customDownloadItemsAction?: (items: DialFile[]) => void;
|
|
4
5
|
onDownloadSuccess?: () => void;
|
|
5
6
|
}
|
|
6
|
-
export declare const useFileDownload: ({ onDownloadFiles, onDownloadSuccess, }: UseFileDownloadOptions) => {
|
|
7
|
+
export declare const useFileDownload: ({ onDownloadFiles, customDownloadItemsAction, onDownloadSuccess, }: UseFileDownloadOptions) => {
|
|
7
8
|
handleDownloadFiles: (items: DialFile[]) => void;
|
|
8
9
|
};
|
|
@@ -21,6 +21,7 @@ export interface FileManagerGridContext {
|
|
|
21
21
|
onRenameSave: (value: string) => void;
|
|
22
22
|
onRenameCancel: () => void;
|
|
23
23
|
getDisplayName: (item: DialFile) => string;
|
|
24
|
+
hideSearchPathItemName?: boolean;
|
|
24
25
|
}
|
|
25
26
|
export interface UseFileManagerColumnsArgs {
|
|
26
27
|
userColumnDefs?: (ColDef<GridRow> | ((dateLocale: Intl.LocalesArgument, dateOptions: Intl.DateTimeFormatOptions | undefined, isCompactView: boolean) => ColDef<GridRow, unknown>))[];
|
|
@@ -7,9 +7,22 @@ export interface FileUploadValidationResult {
|
|
|
7
7
|
message?: string;
|
|
8
8
|
}
|
|
9
9
|
export interface FileUploadValidationMessages {
|
|
10
|
+
/**
|
|
11
|
+
* Message displayed when duplicate files are selected. Customize for accessibility or copy consistency.
|
|
12
|
+
*/
|
|
10
13
|
duplicateFiles?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Message displayed when files exceed the maximum allowed size. Customize for accessibility or copy consistency.
|
|
16
|
+
*/
|
|
11
17
|
oversizedFiles?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Message displayed when selected files are of unsupported types. Customize for accessibility or copy consistency.
|
|
20
|
+
*/
|
|
12
21
|
unsupportedFiles?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Message displayed when folder uploads are attempted but not supported. Customize for accessibility or copy consistency.
|
|
24
|
+
*/
|
|
25
|
+
foldersNotSupported?: string;
|
|
13
26
|
validationFailed?: string;
|
|
14
27
|
validationError?: string;
|
|
15
28
|
}
|
|
@@ -17,6 +17,7 @@ export interface UseGridContextMenuProps {
|
|
|
17
17
|
[DialFileManagerActions.Info]?: string;
|
|
18
18
|
[DialFileManagerActions.Unshare]?: string;
|
|
19
19
|
[DialFileManagerActions.RemoveAccess]?: string;
|
|
20
|
+
[DialFileManagerActions.OpenInNewTab]?: string;
|
|
20
21
|
};
|
|
21
22
|
onDuplicate: (file: DialFile) => void;
|
|
22
23
|
onCopy: (file: DialFile) => void;
|
|
@@ -33,9 +34,10 @@ export interface UseGridContextMenuProps {
|
|
|
33
34
|
onAddChild?: (file: DialFile) => void;
|
|
34
35
|
onManagePermissions?: (path?: string) => void;
|
|
35
36
|
onPreview?: (path?: string) => void;
|
|
37
|
+
onOpenInNewTab?: (file: DialFile) => void;
|
|
36
38
|
previewExtensions?: string[];
|
|
37
39
|
isRenameFileAvailable?: boolean;
|
|
38
40
|
isDuplicateFolderAvailable?: boolean;
|
|
39
41
|
forbiddenSymbolsRegExp?: RegExp;
|
|
40
42
|
}
|
|
41
|
-
export declare const useGridContextMenu: ({ actionLabels, onDuplicate, onCopy, onMove, onDownload, onRename, onDelete, onInfo, onUnshare, onRemoveAccess, sharedWithMeIds, sharedByMePaths, onAddSibling, onAddChild, onManagePermissions, onPreview, previewExtensions, isRenameFileAvailable, isDuplicateFolderAvailable, forbiddenSymbolsRegExp, }: UseGridContextMenuProps) => (file: DialFile) => DropdownItem[];
|
|
43
|
+
export declare const useGridContextMenu: ({ actionLabels, onDuplicate, onCopy, onMove, onDownload, onRename, onDelete, onInfo, onUnshare, onRemoveAccess, sharedWithMeIds, sharedByMePaths, onAddSibling, onAddChild, onManagePermissions, onPreview, onOpenInNewTab, previewExtensions, isRenameFileAvailable, isDuplicateFolderAvailable, forbiddenSymbolsRegExp, }: UseGridContextMenuProps) => (file: DialFile) => DropdownItem[];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DialFile } from '../../models/file';
|
|
2
2
|
import { DialFileAcceptType } from '../../models/file-manager';
|
|
3
3
|
import { ReactNode } from 'react';
|
|
4
|
+
import { FileManagerGridRow } from './FileManagerContext';
|
|
4
5
|
export declare const findNodeByPath: (nodes: DialFile[] | undefined, path: string) => DialFile | undefined;
|
|
5
6
|
export declare const findFolderForPath: (root: DialFile[] | undefined, path?: string) => DialFile | undefined;
|
|
6
7
|
export declare const normalizeToLowerCase: (input?: string) => string;
|
|
@@ -40,8 +41,11 @@ export declare const formatBytes: (bytes?: number) => string;
|
|
|
40
41
|
*/
|
|
41
42
|
export declare const formatDate: (date?: string, locale?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string;
|
|
42
43
|
export declare function isFileAccepted(allowedFileTypes: DialFileAcceptType[] | undefined, contentType: string, fileName?: string): boolean;
|
|
44
|
+
export declare const formatAllowedFileTypesForTooltip: (allowedFileTypes: DialFileAcceptType[] | undefined) => string;
|
|
45
|
+
export declare const getExtensionsListForMimeType: (mimeType: string) => string[];
|
|
43
46
|
export declare const cleanForbiddenSymbolsRegExp: (forbiddenSymbolsRegExp?: RegExp) => RegExp | undefined;
|
|
44
47
|
export declare function getForbiddenSymbolsTooltip(item: {
|
|
45
48
|
name: string;
|
|
46
49
|
isFolder: boolean;
|
|
47
50
|
}, forbiddenSymbolsRegExp?: RegExp, forbiddenSymbolsTooltip?: ReactNode): ReactNode | undefined;
|
|
51
|
+
export declare const getRowTooltip: (file: FileManagerGridRow, allowedFileTypes?: string[], maxSelectableFileSize?: number, unsupportedFileTypeTooltip?: string, fileTooLargeTooltip?: string) => string | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -14,6 +14,8 @@ export interface DialFileNameProps {
|
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Component to display a file name with a file icon and shared indicator.
|
|
17
|
+
* aliases: FileDisplay|NameDisplay
|
|
18
|
+
*
|
|
17
19
|
* Handles long names with ellipsis and tooltip.
|
|
18
20
|
*
|
|
19
21
|
* If `details` is provided (e.g., file size, date), the component switches to
|
|
@@ -13,6 +13,7 @@ export interface DialFormItemProps extends DialFormItemBaseProps {
|
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* A layout wrapper for form controls with label, helper text and error message.
|
|
16
|
+
* aliases: FieldWrapper|FormControl
|
|
16
17
|
*
|
|
17
18
|
* Uses `DialLabel` for the label and `DialErrorText` for consistent error styling.
|
|
18
19
|
* Wires accessibility with:
|
|
@@ -12,6 +12,7 @@ export interface DialFormPopupProps extends DialPopupProps {
|
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* A form-oriented popup dialog.
|
|
15
|
+
* aliases: FormDialog|FormModal
|
|
15
16
|
*
|
|
16
17
|
* Provides an accessible popup with a title, custom body,
|
|
17
18
|
* and a footer with "Cancel" and "Submit" actions.
|
|
@@ -12,7 +12,6 @@ export interface DialGridProps<T extends object = Record<string, unknown>> {
|
|
|
12
12
|
wrapCustomCellRenderers?: boolean | ((col: ColDef<T>) => boolean);
|
|
13
13
|
disabledRowIds?: Set<string>;
|
|
14
14
|
selectedRowIds?: Set<string>;
|
|
15
|
-
selectionOnHover?: boolean;
|
|
16
15
|
onGridApiChange?: (api: GridApi<T>) => void;
|
|
17
16
|
onSelectionChange?: (selectedRowIds: Set<string>, selectedRows: T[]) => void;
|
|
18
17
|
getRowId?: (row: T) => string;
|
|
@@ -29,6 +28,7 @@ export interface DialGridProps<T extends object = Record<string, unknown>> {
|
|
|
29
28
|
}
|
|
30
29
|
/**
|
|
31
30
|
* DialGrid — A feature-rich data grid wrapper built on ag-Grid with dark theme support.
|
|
31
|
+
* aliases: DataTable|TableGrid
|
|
32
32
|
*
|
|
33
33
|
* Provides a pre-configured grid with:
|
|
34
34
|
* - Dark theme styling with CSS variable integration
|
|
@@ -101,7 +101,6 @@ export interface DialGridProps<T extends object = Record<string, unknown>> {
|
|
|
101
101
|
* @param [wrapCustomCellRenderers=true] - Whether to wrap custom cell renderers with context menu support
|
|
102
102
|
* @param [disabledRowIds] - Set of row IDs that should be disabled. Disabled rows are non-interactive and cannot be selected. IDs must match values from `getRowId`.
|
|
103
103
|
* @param [selectedRowIds] - Controlled selection: set of row IDs that should be selected
|
|
104
|
-
* @param [selectionOnHover=true] - Whether row selection highlights are shown on hover
|
|
105
104
|
* @param [onSelectionChange] - Callback invoked when selection changes (selectedIds, selectedRows)
|
|
106
105
|
* @param [onGridApiChange] - Callback invoked when the grid API becomes available
|
|
107
106
|
* @param [getRowId] - Function to extract unique ID from a row object (defaults to 'id' field)
|
|
@@ -117,4 +116,4 @@ export interface DialGridProps<T extends object = Record<string, unknown>> {
|
|
|
117
116
|
* @param [selectionMode] - Could be GridSelectionMode.MULTIPLE or GridSelectionMode.SINGLE to enable selection column
|
|
118
117
|
* @param [allowDisabledContextMenu] - Enables context menu actions even if row itself is disabled for selection
|
|
119
118
|
*/
|
|
120
|
-
export declare const DialGrid: <T extends object>({ columnDefs, rowData, additionalGridOptions, getContextMenuItems, className, ariaLabel, wrapCustomCellRenderers, disabledRowIds, selectedRowIds,
|
|
119
|
+
export declare const DialGrid: <T extends object>({ columnDefs, rowData, additionalGridOptions, getContextMenuItems, className, ariaLabel, wrapCustomCellRenderers, disabledRowIds, selectedRowIds, onSelectionChange, onGridApiChange, getRowId, alternateOddRowColors, filterPlaceholder, emptyStateIcon, emptyStateTitle, emptyStateDescription, loading, wrapperBorder, withoutHeaderBorders, allowDisabledContextMenu, selectionMode, }: DialGridProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const infoButtonClassName = "w-[24px] h-[24px] border border-solid rounded-[6px] border-transparent
|
|
1
|
+
export declare const infoButtonClassName = "w-[24px] h-[24px] border border-solid rounded-[6px] border-transparent flex items-center justify-center text-secondary hover:text-controls-accent-primary-hover active:text-controls-accent-primary-active focus-within:border-focus";
|
|
@@ -7,6 +7,7 @@ export interface DialInputProps extends Omit<InputHTMLAttributes<HTMLInputElemen
|
|
|
7
7
|
invalid?: boolean;
|
|
8
8
|
error?: string;
|
|
9
9
|
caption?: string;
|
|
10
|
+
tooltipText?: string;
|
|
10
11
|
iconBefore?: ReactNode;
|
|
11
12
|
iconAfter?: ReactNode;
|
|
12
13
|
prefix?: string;
|
|
@@ -18,6 +19,7 @@ export interface DialInputProps extends Omit<InputHTMLAttributes<HTMLInputElemen
|
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
21
|
* A flexible input component with icon support and various styling options
|
|
22
|
+
* aliases: TextField|FormInput
|
|
21
23
|
*
|
|
22
24
|
* @example
|
|
23
25
|
* ```tsx
|
|
@@ -12,9 +12,15 @@ export interface DialInputPopupProps {
|
|
|
12
12
|
errorText?: string;
|
|
13
13
|
invalid?: boolean;
|
|
14
14
|
emptyValueText?: string;
|
|
15
|
+
editable?: boolean;
|
|
16
|
+
onValueChange?: (value: string) => void;
|
|
17
|
+
collapseTagOverflow?: boolean;
|
|
18
|
+
iconBefore?: ReactNode;
|
|
15
19
|
}
|
|
16
20
|
/**
|
|
17
21
|
* An input field that opens a popup when clicked, displaying a selected value or a list of values.
|
|
22
|
+
* aliases: PopupInput|ReadonlyInput
|
|
23
|
+
*
|
|
18
24
|
* It supports read-only mode, error states, and disabled state, with customizable styling.
|
|
19
25
|
* The modal content is rendered using a portal for seamless integration.
|
|
20
26
|
*
|
|
@@ -47,5 +53,8 @@ export interface DialInputPopupProps {
|
|
|
47
53
|
* @param [errorText] - An optional error message displayed below the input when an error state is present.
|
|
48
54
|
* @param [invalid] - Whether the input is in an invalid state, affecting styling. Applied automatically if errorText is provided.
|
|
49
55
|
* @param [emptyValueText] - The text displayed when no value is selected and placeholder is not provided.
|
|
56
|
+
* @param [editable=false] - When true, the input area becomes an editable text field; only the icon opens the popup.
|
|
57
|
+
* @param [onValueChange] - Callback fired when the user types in the editable input.
|
|
58
|
+
* @param [iconBefore] - Optional icon rendered at the start of the field, before the value.
|
|
50
59
|
*/
|
|
51
60
|
export declare const DialInputPopup: FC<DialInputPopupProps>;
|
|
@@ -10,6 +10,8 @@ export interface DialLoadFileAreaProps extends DialEmptyFileAreaProps {
|
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* A drag-and-drop file upload area component that allows users to upload files
|
|
13
|
+
* aliases: FileDropZone|DragDropUpload
|
|
14
|
+
*
|
|
13
15
|
* either by dragging them into the area or by selecting them through the file picker.
|
|
14
16
|
* Displays helpful text, button prompts, and validation errors for file format or count limits.
|
|
15
17
|
*
|
|
@@ -9,6 +9,8 @@ export interface DialLoadFileAreaFieldProps extends DialLoadFileAreaProps {
|
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* A composite file upload field that combines a label, file list management,
|
|
12
|
+
* aliases: UploadField|FileListField
|
|
13
|
+
*
|
|
12
14
|
* and a drag-and-drop upload area. Allows users to add, remove, and validate files
|
|
13
15
|
* with customizable restrictions on file types and count.
|
|
14
16
|
*
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { DialInputProps } from '../Input/Input';
|
|
3
3
|
export interface DialNumberInputProps extends Omit<DialInputProps, 'onChange'> {
|
|
4
|
+
/** When true, restricts input to integer values only — blocks decimal points, minus, plus, and scientific notation (e/E) */
|
|
5
|
+
integer?: boolean;
|
|
4
6
|
onChange?: (value?: number | string) => void;
|
|
5
7
|
}
|
|
6
8
|
/**
|
|
7
9
|
* A number input field component
|
|
10
|
+
* aliases: NumericField|NumberField
|
|
8
11
|
*
|
|
9
12
|
* @example
|
|
10
13
|
* ```tsx
|
|
@@ -19,6 +22,11 @@ export interface DialNumberInputProps extends Omit<DialInputProps, 'onChange'> {
|
|
|
19
22
|
* @params - Component properties extending:
|
|
20
23
|
* - {@link DialInputProps} - Standard input properties (id, value, placeholder, disabled, invalid, etc.) excluding `onChange`
|
|
21
24
|
*
|
|
25
|
+
* @param [integer] - When true, restricts input to integer values only — blocks decimal points, minus, plus, and scientific notation (e/E)
|
|
26
|
+
* @param [min] - Minimum allowed value
|
|
27
|
+
* @param [max] - Maximum allowed value
|
|
28
|
+
* @param [onKeyDown] - Custom keydown handler (ignored when `integer` is true)
|
|
29
|
+
* @param [onPaste] - Custom paste handler (ignored when `integer` is true)
|
|
22
30
|
* @param onChange - Callback function called when the input value changes.
|
|
23
31
|
* Returns either a number (for most values) or a string (for decimal values < 1 with leading zeros)
|
|
24
32
|
*/
|
|
@@ -20,6 +20,7 @@ export interface DialPopupProps {
|
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* An accessible modal dialog component using Floating UI.
|
|
23
|
+
* aliases: Modal|Dialog
|
|
23
24
|
*
|
|
24
25
|
* Renders in a portal with a scrim overlay, focus management, header with a title,
|
|
25
26
|
* content area, optional footer and a close control.
|
|
@@ -15,6 +15,7 @@ export interface DialRadioButtonProps {
|
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* A stylized, accessible radio input with optional description.
|
|
18
|
+
* aliases: ChoiceOption|RadioInput
|
|
18
19
|
*
|
|
19
20
|
* Renders a native `<input type="radio" />` paired with a label. When `checked`
|
|
20
21
|
* and `description` are provided, a supporting text block appears under the control.
|
|
@@ -22,6 +22,7 @@ export interface DialRadioGroupProps {
|
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Groups multiple `DialRadio` options and renders custom content for the active option.
|
|
25
|
+
* aliases: SelectionGroup|OptionGroup
|
|
25
26
|
*
|
|
26
27
|
* Uses `DialField` as the field label and a container with `role="radiogroup"`.
|
|
27
28
|
* Content provided in `radioButtons[].content` is shown under the currently active radio.
|
|
@@ -17,6 +17,7 @@ export interface RadioGroupPopupFieldProps extends Pick<DialLabelProps, 'label'
|
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* A composite field that opens a popup with a radio group selector.
|
|
20
|
+
* aliases: PopupRadio|ChoicePopup
|
|
20
21
|
*
|
|
21
22
|
* Renders a labeled readout using `DialInputPopup`; when opened, a `DialPopup`
|
|
22
23
|
* displays a `DialRadioGroup` allowing the user to pick from a list of options.
|
|
@@ -5,6 +5,7 @@ export interface DialRemoveButtonProps extends Omit<DialButtonProps, 'iconBefore
|
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* A specialized button component for removal or delete actions.
|
|
8
|
+
* aliases: DeleteButton|TrashButton
|
|
8
9
|
*
|
|
9
10
|
* Renders a `DialErrorButton` with a predefined trash icon (`IconTrashX`) as the leading icon.
|
|
10
11
|
* Additional props are passed directly to the underlying `DialErrorButton`.
|
|
@@ -5,6 +5,7 @@ export interface DialConditionalResizableContainerProps extends DialResizableCon
|
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* DialConditionalResizableContainer — A conditional wrapper around `DialResizableContainer`.
|
|
8
|
+
* aliases: OptionalResize|ConditionalPanel
|
|
8
9
|
*
|
|
9
10
|
* This component renders its children inside a resizable container only when `enabled` is true.
|
|
10
11
|
* When `enabled` is false, children are rendered directly without any resizable behavior.
|
|
@@ -14,6 +14,8 @@ export interface DialResizableContainerProps {
|
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* DialResizableContainer — A reusable resizable container
|
|
17
|
+
* aliases: ResizePanel|SizableContainer
|
|
18
|
+
*
|
|
17
19
|
* supporting both **controlled** and **uncontrolled** width modes.
|
|
18
20
|
*
|
|
19
21
|
* Controlled Mode
|