Skip to content

Releases

0.4.1

Choose a tag to compare

@github-actions github-actions released this 05 Nov 14:09

Features

  • (folders-tree) highlight the search query in row names [release-0.4] (#98)

0.4.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 18:56

Features

  • [Breaking] styles.css is built with Tailwind CSS v4 and sits in the kit's ui.base / ui.utilities cascade layers instead of being unlayered — a host's unlayered CSS and the kit's dial-* classes now win over a file-manager utility that sets the same property (!-prefixed classes still win), and hover: applies only on hover-capable devices; class names, theme tokens and props are unchanged, so migrate by re-checking host overrides that relied on the old cascade order and following the kit's Tailwind v4 migration guide for the preflight differences (#71, #72)
  • [Breaking] Peer dependency @epam/ai-dial-ui-kit raised from ^0.15.0 to ^0.16.0 — consumers must install the stable 0.16 kit and keep loading its styles.css alongside this package's (hosts on a 0.16.0-dev build move to 0.16.0); this release relies on its Tailwind v4 layers, the FileName icon prop and its Dropdown accessibility fixes (#71, #76, #87, #92, #95, 02c3684, 419ba31)
  • DialFoldersTree follows the 2.0 tree item — clicking the caret only expands or collapses a folder, clicking a row selects it and expands it when closed but never collapses it, and the caret gets its own 20px hover tint; selectOnCaretClick now defaults to false in both DialFoldersTree and DialFileManager, so pass true to keep the old caret-selects behaviour (#76)
  • getItemActionRestriction added to DialFileManager — (file, action) => string | undefined disables Move, Download, Rename or Delete for individual items (for example a folder that must keep its path) in the grid menu, tree menu and bulk actions bar, showing the returned reason beside the action (#88, #91)
  • Custom item icons — DialFoldersTree.getItemIcon, treeOptions.getItemIcon and gridOptions.getItemIcon replace a row's type icon in the tree, the grid and the compact list, for example to mark a special folder; return undefined to keep the default (#87, #88)
  • toolbarOptions.additionalButtons exposed — host controls render in the header toolbar before the Add button, and before the Sort menu in the compact view (#77)
  • hideHiddenFilesLabel added to DialDestinationFolderPopup and destinationFolderPopupOptions — the Copy/Move popup's hidden-files toggle switches to it (default "Hide hidden files") while hidden files are shown, matching the main toolbar and making the label localizable (#84)

Fixes

  • Upload rejections are no longer silent — an oversized or unsupported file, a dropped folder or a failed onValidateUpload now shows a dismissible error notification above the grid unless the host handles the new onUploadValidationError callback (exported with the FileUploadValidation* types), and only the oversized files in a selection are rejected instead of the whole batch (#83)
  • Row "more" menu buttons in the grid and DialFoldersTree now have an accessible name — set through the new gridOptions.rowActionsLabel and contextMenuButtonLabel (also via treeOptions), both defaulting to "More actions"; tree rows with no menu items no longer announce aria-haspopup="menu" (#92)
  • Move can no longer nest a folder inside itself — the destination popup and the phone sheet disable Move when the target is a moved folder or one of its subfolders, with a tooltip set by the new destinationFolderPopupOptions.movedIntoItselfTooltip (#74)
  • Cmd/Ctrl+A, C, V, X and Z in the inline rename and new-folder inputs act on the input text instead of reaching AG Grid, which selected every row (#73)
  • Creating a folder with a dot-prefixed name runs the duplicate-name check and onCreateFolderValidate before the hidden-item warning — reserved names such as .dial_folder can no longer be confirmed, matching the rename fix from 0.3.1 (#90)
  • treeOptions.header is drawn above the compact navigation card — a host's title no longer vanishes when the manager collapses to one column; header: null still hides it (#78)
  • DialFoldersTree file rows keep a caret-width slot with showFiles — file and folder icons on the same level now line up (#75)
  • Section chips are semibold in every state, and tree rows and the grid name cell's shared indicator use the same subtle hover and selected backgrounds as the grid rows (#76)
  • Shadow tokens match the design and the kit — shadow-sm / shadow-md are two-layer, shadow-xs is a single centred glow and shadow-lg takes the design's values; a theme that set --shadow-xs-2 should note that it is no longer read (#76, d92237a)

Other

0.4.0-rc.0

0.4.0-rc.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Nov 18:51

Features

  • (file-manager) 2.0 tree item behaviour, semibold section chips, subtle row states (#76)
  • (file-manager) expose toolbarOptions.additionalButtons (#77)
  • add an optional hidden files label for the DialDestinationFolderPopup (#84)
  • added ability to disable export action (#91)
  • added action items restrictions for folders (#88)
  • added custom icon for folder tree (#87)

Fixes

  • (a11y) name the row "more" menu buttons; bump ui-kit to 0.16.0-dev.72 (#92)
  • (deps) bump vite-plugin-dts to ~5.1.2 to drop vulnerable sprintf-js (#71)
  • (deps) resolve SCA findings in dev deps and bump ui-kit to 0.16.0 (#95)
  • (destination-folder-popup) disable Move into the moved folder or its subfolders (#74)
  • (file-manager) draw treeOptions.header in the compact view (#78)
  • (file-manager) run blocking folder-name checks before the hidden-item warning (#90)
  • (file-manager) show upload rejections and reject only oversized files (Issue #82) (#83)
  • (folders-tree) keep the caret slot on file rows so icons line up (#75) [skip ci]
  • (theme) shadow-xs and shadow-lg as the design's Shadow XS and LG
  • keep text-editing hotkeys inside inline inputs (#73)

CI

  • (deps) bump epam/ai-dial-ci from 4.12.0 to 4.13.1 in the github-actions group (#86)
  • (deps) bump epam/ai-dial-ci from 4.13.1 to 4.13.2 in the github-actions group (#94) [skip ci]
  • (deps) bump the ai-dial-ci group with 3 updates (#85)
  • (deps) bump the ai-dial-ci group with 3 updates (#93) [skip ci]
  • add daily SCA scan via epam/ai-dial-ci 4.13.2 (#89)

Other

  • (deps) bump @epam/ai-dial-ui-kit to ^0.16.0-dev.45
  • bump @storybook/addon-vitest from 10.4.0 to 10.6.2 (#79)
  • bump storybook from 10.4.0 to 10.6.2 (#81) [skip ci]
  • bump vite from 7.3.6 to 7.3.7 (#80) [skip ci]
  • update ui-kit to 0.16.0-dev.2

0.3.5

Choose a tag to compare

@github-actions github-actions released this 13 Oct 17:22

Fixes

  • (file-manager) use the trash-x icon for Unshare (release-0.3) (#70)

0.3.4

Choose a tag to compare

@github-actions github-actions released this 13 Oct 11:38

Features

  • (file-manager) follow the mobile design for selection and copy/move (release-0.3) (#68)

0.3.3

Choose a tag to compare

@github-actions github-actions released this 13 Oct 08:59

Features

  • (file-manager) follow the mobile design in the compact view (release-0.3) (#66)

0.3.2

Choose a tag to compare

@github-actions github-actions released this 12 Oct 21:58

Features

  • (file-manager) add opt-in unshare confirmation (release-0.3) (#65)

0.3.1

Choose a tag to compare

@github-actions github-actions released this 12 Oct 14:26

Fixes

  • (file-manager) block reserved leading-dot renames and honour the popup loading state (release-0.3) (#62)

0.3.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 18:37

Features

  • [Breaking] Peer dependency @epam/ai-dial-ui-kit raised from ^0.14.0 to ^0.15.0 — consumers must install the stable 0.15 kit (hosts on a 0.15.0-dev build move to 0.15.0), which carries the 2.0 FilterChips, Breadcrumbs, InlineSelectTrigger, and ButtonDropdown.dropdownProps this release is built on (#42, #43, #47, #52, #60)
  • [Breaking] Storage tabs moved from the toolbar into the folders panel and are drawn as FilterChips, a named role="group" of aria-pressed toggles instead of a tablist — migrate toolbarOptions.tabs / activeTab / onTabChange to treeOptions.tabs / activeTab / onTabChange, pass items as { value, label } instead of { id, label } (count and disabled are gone), and type activeTab as DialFileManagerTabs; useDialFileManagerTabs returns the new shape (#42)
  • [Breaking] DialFileManagerTabs.All added as the first enum member for a combined My files / Shared / Organization view, and useDialFileManagerTabs lists it first — Record<DialFileManagerTabs, …> literals such as tab labels must add an all key; filter it out of tabs if the host does not offer it (#51)
  • [Breaking] The folders panel is fixed at 360px and truncates long names — it no longer resizes or collapses, so treeOptions.width and the built-in "collapse all" button are removed; a host that wants collapse-all renders its own button in treeOptions.additionalButtons and drives it from treeOptions.onExpandedPathsChange (#42, #56)
  • [Breaking] The bulk actions bar floats over the bottom of the grid instead of replacing the header, so the breadcrumbs and Add button stay reachable mid-selection — bulkActionsToolbarOptions.getSelectionLabel must now return only the wording ("items selected", not "4 items selected") because the bar draws the count as a badge, and the new clearSelectionLabel names its close button; actions run Download, Move to, Copy to, Duplicate, Delete, with Delete in the danger colour (#42)
  • [Breaking] The breadcrumb trail is the 2.0 Breadcrumbs, drawn as the content column's heading and collapsing long paths behind an ellipsis menu instead of scrolling — in navigationPanelOptions rename labelClassName to itemClassName and drop onBeforeNavigate (the 2.0 trail has no navigation guard); size, maxVisibleItems (default 4), and overflowAriaLabel are new (#43)
  • [Breaking] Props removed along with the old toolbar row and the collapsible compact search — managerLabel (title the manager with treeOptions.header, now shown while the panel is expanded), toolbarOptions.hiddenFilesSwitcherLabel (move the translation onto showHiddenFilesLabel / hideHiddenFilesLabel), and navigationPanelOptions.isCompactView / backButtonLabel; navigationPanelOptions also accepts only the eight search props it actually forwards, so readOnly, name, and focus handlers stop type-checking (#42)
  • [Breaking] gridOptions.wrapperBorder removed — the grid panel draws rounded corners and a small shadow instead of a border, and the drag-over outline follows its radius; restyle it through the new gridOptions.containerClassName (#55)
  • File Manager layout rebuilt to the 2.0 design — the hidden-files switch and Add button sit in the content header beside the breadcrumbs, the search field spans the head of the grid card with a new placeholder, and the section chips stay reachable at the top of the content column in compact view (#42, #53, 4e5b5b2)
  • DialFileManagerSortDropdown added — a Sort menu (Name / Modified date / Size, then Ascending / Descending) at the trailing edge of the search row, configured through the new sortOptions (sort / defaultSort / onSortChange plus localizable labels) and exported with the SortOptions and FileManagerSort* types; rows now default to folders first, then name ascending — pass sortOptions={{ sortable: false }} to keep source order and hide the menu (#47)
  • DialFoldersTree is now a keyboard-accessible ARIA tree — role="tree" / treeitem rows with roving focus, Arrow / Home / End navigation mirrored under RTL, and Enter/Space activation, plus new ariaLabel (default "Folders"), autoFocus, and onEscape props for hosting the tree in a dismissible overlay; the old aria-label="folders-tree" / "folder" attributes are gone, so update any test selectors that relied on them (#50)
  • Folders tree and empty states restyled to 2.0 — pill-shaped rows with a tighter per-level indent, names drawn by the kit's FileName / FolderName, and an empty folder or no-results search showing only the empty state with the grid and bulk-actions bar hidden; the no-results title is set by the new searchEmptyStateTitle (default "No data") (#47, 4b104a6, b2bb4c1)
  • The delete confirmation follows the DIAL delete design — ghost Cancel, a DangerButton Delete led by a trash icon, and a header close control named by the new deleteConfirmationOptions.closeLabel (default "Close dialog"); titleRenderer / contentRenderer now receive the items as a second argument so a host can title it "Delete folder" or "Delete file" by nodeType (#59)
  • Layout class hooks added — contentClassName and contentHeaderClassName on DialFileManager plus gridOptions.containerClassName merge extra classes onto the content column, its header, and the grid panel, so a class like pb-0 or shadow-none overrides the matching default (#55, #57)
  • skipForbiddenSymbolsCheckForActions added to DialFileManager — keeps actions such as Duplicate, Copy, Move, and Download in the tree and grid menus of items whose names match forbiddenSymbolsRegExp, which otherwise hides them (#49)
  • gridOptions.additionalGridOptions can now set rowHeight and headerHeight — the File Manager's built-in 44px values previously overwrote them (#46)

Fixes

  • A file found by search can now be selected — selection falls back to searchResults when the hit lives in a folder the tree has not loaded, instead of pruning the row as stale on the same render (#42)
  • In compact view, several roots (such as the new All tab) open on a list of the roots instead of showing only the first root's contents — selecting one browses it, and a leading breadcrumb named after the active tab returns to the list (#58)
  • Delete is painted in the danger colour and moved to the end of the folders-tree and grid context menus, matching the bulk actions bar (#48, #54)
  • The Add and Sort menus open at their design widths (108px / 240px) instead of the width of their trigger button (#52)
  • The Copy/Move destination popup matches the design — its grid gets spacing, its tree sits in a 360px card like the main folders panel, and its tree header is always hidden rather than repeating the main tree's header (#57)

Other

  • classnames dropped from dependencies — replaced by the UI Kit's mergeClasses, so one less package is installed alongside the File Manager (#43)
  • Security-relevant dev dependency upgrades: postcss-selector-parser overridden to ^7.1.6 (GHSA-rj75-hqrm-r3gf), vitest / @vitest/coverage-v8 to ^4.1.11 (GHSA-82fw-gwwq-j7x9), and Storybook's esbuild to ^0.28.1 (GHSA-g7r4-m6w7-qqqr) — all build/test-time only, none reach consumer runtime (#60)

0.3.0-rc.0

0.3.0-rc.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Oct 18:30

BREAKING CHANGES

  • adopt the 2.0 Breadcrumbs and UI Kit 0.15.0-dev.11 (#43)

Features

  • adopt the 2.0 Breadcrumbs and UI Kit 0.15.0-dev.11 (#43)
  • (folders-tree) add tree semantics and keyboard navigation to DialFoldersTree (#50)
  • (tabs) add DialFileManagerTabs.All for a combined storage view (#51)
  • add contentHeaderClassName property and align Copy/Move destination popup styling with Figma (#57)
  • add grid wrapepr styles prop and change grid border to shadow (#55)
  • allow to set rowHeight in FileManager via additionalGridOptions (#46) [skip ci]
  • rebuild the File Manager layout to the 2.0 design (#42)
  • update tree view and grid empty states, add sorting (#47)

Fixes

  • (file-manager) Added skipForbiddenSymbolsCheckForActions property (#49)
  • (file-manager) align the delete confirmation with the DIAL delete design (#59)
  • (file-manager) keep section tabs reachable in compact view (#53)
  • (file-manager) keep the folders panel at a fixed width (#56)
  • (file-manager) list the roots in compact view when there are several (#58)
  • (toolbar) give the Add and Sort menus their design widths (#52)
  • change action order (#54)
  • new folder input height [skip ci]
  • paint the Delete context-menu item in the danger colour (#48)
  • ship the icon set as a dependency, not a peer (Issue epam/ai-dial-chat#8719) (#38)
  • tree padding

CI

  • (deps) bump epam/ai-dial-ci from 4.11.0 to 4.12.0 in the github-actions group (#45) [skip ci]
  • (deps) bump the ai-dial-ci group with 3 updates (#44) [skip ci]

Other

  • (deps) bump @epam/ai-dial-ui-kit to 0.14.2 (#40)
  • update ui-kit to 0.15.0, enable Trivy severities and fix audit issues (#60)
  • fix paddings [skip ci]