All notable changes to this project will be documented in this file.
- Migrated to
@nextcloud/filesv4.0.0 - reducing dependencies on apps targeting Nextcloud 33+ #2275.
This also removescancelable-promiseas a dependency by replacing it with nativeAbortController. - Updated development dependencies
- Updated translations
- fix(filepicker): use
@nextcloud/filesfor name validation #2158 (susnux) - fix(filepicker): use proper folder icons #2180 (susnux)
- fix(conflict-picker): use sub-path import to only import needed parts #2162 (susnux)
- fix(conflict-picker): pass correct props to component #2159 (susnux)
- fix(types): resolve Typescript issues and add CI job to check for type issues #2160 (susnux)
- fix: always use the node displayname prop #2179 (susnux)
- chore: update workflows from organization #2052 (susnux)
- chore: align
devEngineswith current support Node and NPM #2108 (susnux) - ci: update workflows from organization #2102 (susnux)
- Updates for project Nextcloud dialogs library #2045 (transifex-integration[bot])
- chore(deps): Update browserslist #2047 (artonge)
This package now builds on top of @nextcloud/vue version 9 using Vue 3.
While this package uses Vue 3 it is also possible to use it within a Vue 2 project,
in this case the Vue dependency will not be shared as the dependency was moved from a peer dependency to a plain dependency.
This also means that if you are using Vue 2 you have to ensure you do not use bundler
configurations that enforce resolving Vue to the same version as this will fail now,
instead let the bundler choose the matching Vue version.
For example if using Webpack this will no longer work in Vue 2 apps:
resolve: {
alias: {
vue$: path.resolve('./node_modules/vue'),
},
}For Vue 3 apps nothing changed, meaning the app and this library will share the same Vue dependency as long as the versions are compatible.
- This package now uses Vue 3 internally.
- The deprecated FilePicker component export was removed to allow using this library in Vue 2 and Vue 3 apps.
- The deprecated
Dialog.hidemethod was removed, instead await the returned promise and wait for the user interaction. - The deprecated
Dialog.setHTMLmethod was removed. If you need custom HTML content useNcDialogfrom@nextcloud/vue. - The
spawnDialoghelper method was removed, instead use the function provided by@nextcloud/vue
- import { spawnDialog } from '@nextcloud/dialogs'
+ import { spawnDialog } from '@nextcloud/vue/functions/dialog'- feat: add guest auth prompt #1760 (backportbot)
- feat(ConflictPicker): move conflict picker dialog from
@nextcloud/upload#1971 (susnux) - feat(dialogs): allow to quickly show a dialog #1986 (susnux)
- fix(FilePickerBuilder): correctly return array / plain value depending on multiselect #1775 (susnux)
- fix: display guest name validity #1836 (skjnldsv)
- fix: return nodes array from smartpicker #1879 (grnd-alt)
- fix(PublicAuthPrompt): change default notice if identified #1880 (backportbot[bot])
- style(toast): adjust colors for Nextcloud 32 #1912 (Antreesy)
- fix(guestName): limit length to 64 characters #1915 (max-nextcloud)
- fix(FilePicker): make move primary and copy secondary #1933 (susnux)
- fix: allow dismiss the undo toast #1944 (luka-nextcloud)
- chore: update to ESLint v9 and apply new rules #1753 (susnux)
- Updates for project Nextcloud dialogs library #1757 (transifex-integration)
- chore: move from
dev:watchback towatch#1758 (skjnldsv) - Updates for project Nextcloud dialogs library #1776 (transifex-integration)
- refactor: adjust code to comply with code style (again) #1774 (susnux)
- chore!: remove
spawnDialogin favor of version from@nextcloud/vue#1783 (susnux) - refactor: do not use Node internals but @nextcloud/paths package #1752 (susnux)
- Updates for project Nextcloud dialogs library by @transifex-integration[bot]
- chore(deps): @nextcloud family + various upgrades #1905 (skjnldsv)
- chore: fix node version for dependabot #1960 (susnux)
- chore(dialogs)!: remove deprecated
setHTMLmethod #1985 (susnux)
- fix(PublicAuthPrompt): change default notice if identified #1841 (skjnldsv)
- style(toast): adjust colors for Nextcloud 32 #1913
- fix(guestName): limit length to 64 characters #1921
- fix(FilePicker): make move primary and copy secondary #1935
- fix(FilePickerBuilder): correctly return array / plain value depending on multiselect #1777 (backportbot)
- Updates for project Nextcloud dialogs library #1740 (transifex-integration)
- Updates for project Nextcloud dialogs library #1741 (transifex-integration)
- Update @nextcloud/auth to 2.5.0 by @skjnldsv
The export of the file picker Vue component is deprecated and will be removed in the next version.
Instead please use the FilePickerBuilder.
The Dialog.hide method is deprecated.
Instead only user interaction should close dialogs,
for this use the promise returned by Dialog.show which will resolve if the user answered the dialog and rejected if the user aborted (closed) the dialog.
- fix(file-picker): align folder design with Nextcloud files app #1733 (susnux)
- fix: the nc-vue dialogs function module is called
dialognotdialogs#1732 (susnux) - perf: do not pre-load folder mime icon #1734 (susnux)
- docs: Update README.md #1627 (susnux)
- chore: update workflows #1609 (susnux)
- chore: simplify vitest config and fix some build issues #1606 (susnux)
- chore: supported branches #1608 (susnux)
- chore: prepare for vue3 migration #1681 (ShGKme)
- chore: deprecate export of filepicker Vue component #1728 (susnux)
- chore: Nextcloud 28 is EOL so is nextcloud-dialogs v5 #1729 (susnux)
- chore: deprecate
Dialog.hide#1731 (susnux) - chore(deps): Bump axios to 1.8.2
- chore(deps): Bump webdav to 5.8.0
- chore(deps): Bump dompurify to 3.2.4
- chore(deps): Bump
@nextcloud/event-busto 3.3.2 - chore(deps): Bump
@nextcloud/filesto 3.10.2 - chore(deps): Bump
@nextcloud/l10nto 3.2.0 - chore(deps): Bump
@vueuse/coreto 11.3.0
- chore(deps): Bump p-queue from 8.0.1 to 8.1.0
- chore(deps-dev): Bump @nextcloud/vite-config from 1.5.0 to 1.5.1
- chore(deps-dev): Bump @vitest/coverage-v8 from 2.1.8 to 3.0.3
- chore(deps-dev): Bump happy-dom from 16.7.1 to 16.7.2
- chore(deps-dev): Bump vite from 6.0.7 to 6.0.9
- chore(deps-dev): Bump vite from 6.0.9 to 6.0.11
- chore(deps-dev): Bump vitest from 2.1.8 to 3.0.3
- feat(toast): add loading toast #1554 (skjnldsv)
- feat(files): Add encrypted icon for end-to-end encrypted folder #1545 (JuliaKirschenheuter)
- Fix npm audit #1502 (nextcloud-command)
- Updated translations
- Updated development dependencies
- fix: Mention supported versions in README #1422 (susnux)
- fix: Rate-limit image previews #1478 (susnux)
- Updated translations
- Updated development dependencies
- chore(deps): Bump @nextcloud/auth to 2.4.0
- chore(deps): Bump @vueuse/core to 11.2.0
- chore(deps): Bump @nextcloud/files to 3.9.0
- chore(deps): Bump dompurify to 3.1.6
- chore(deps): Bump @nextcloud/axios to 2.5.1
v6.0.0 is only compatible with Nextcloud 29 and newer. Technically this is the same as v5.3.5, but v5.3.3 was a breaking change as it dropped support for Nextcloud 28 and older on public shares.
- chore: Enhance docs about generic dialogs and export all related types #1380 (susnux)
- Migrate REUSE to TOML format #1386 (AndyScherzinger)
- chore(deps): Bump @nextcloud/typings to 1.9.1
- chore(deps): Bump @nextcloud/sharing to 0.2.3
- chore(deps): Bump fast-xml-parser to 4.4.1
- chore(deps): Bump @nextcloud/files to 3.8.0
- chore(deps): Bump @vueuse/core to 10.11.1
- chore(deps): Bump webdav to 5.7.1
- chore(deps): Bump axios to 1.7.4
- Updated translations
- chore(deps): Bump @nextcloud/typings from 1.8.0 to 1.9.0
- chore(deps-dev): Bump typedoc from 0.26.0 to 0.26.3
- chore(deps-dev): Bump @zamiell/typedoc-plugin-not-exported from 0.2.0 to 0.3.0
- chore(deps-dev): Bump vite from 5.3.1 to 5.3.2
- chore(deps-dev): Bump sass to 1.77.6
- chore(deps-dev): Bump @nextcloud/vite-config to 1.3.0
- chore(deps-dev): Bump happy-dom to 14.12.3
- chore(deps-dev): Bump typedoc to 0.26.0
- chore(deps-dev): Bump typescript to 5.5.2
v5.3.3 (2024-06-21)
- fix: Use
shallowRefinstead ofshallowReactivebecause Vue 2 limitation - fix: Prevent invalid range for skeleton number
- refactor:
@nextcloud/filesis now aware of public shares also now have@nextcloud/sharing#1361 (susnux) - refactor: Use sorting function from files library
- Add SPDX header #1354 (AndyScherzinger)
- chore(deps-dev): Bump braces from 3.0.2 to 3.0.3
- chore(deps): Bump @vueuse/core from 10.10.0 to 10.11.0
- chore(deps-dev): Bump sass from 1.77.4 to 1.77.5
- chore(deps-dev): Bump vite from 5.2.13 to 5.3.1
v5.3.2 (2024-06-10)
- fix: Also add current folder to button factory #1351 (susnux)
- fix(FilePicker): Do not append image preloader to DOM #1340 (susnux)
- Updated translations
- chore(deps): Bump webdav to 5.6.0
- chore(deps): Bump @nextcloud/router to 3.0.1
- chore(deps): Bump @nextcloud/auth to 2.3.0
- chore(deps): Bump @nextcloud/axios to 2.5.0
- chore(deps): Bump @nextcloud/initial-state to 2.2.0
- chore(deps): Bump @nextcloud/l10n to 3.1.0
- chore(deps): Bump @nextcloud/event-bus to 3.3.1
- chore(deps): Bump @vueuse/core to 10.10.0
- chore(deps): Bump @nextcloud/files to 3.4.1
v5.3.1 (2024-04-16)
- fix: Close actions after creating directory and enter it automatically #1302 (susnux)
- fix: Fix incorrect directory contents when navigating quickly #1299 (Pytal)
- Dependency updates
v5.3.0 (2024-04-10)
- Updated development dependencies
v5.2.1 (2024-04-09)
- Updated translations
- Updated development dependencies
- chore(deps): Bump @nextcloud/files from 3.1.0 to 3.1.1
- chore(deps): Bump webdav from 5.4.0 to 5.5.0
v5.2.0 (2024-03-06)
- fix(FilePicker): Adjust margin of view-selector to be consistent with filter input
- chore(deps-dev): Bump @vitest/coverage-v8 from 1.3.0 to 1.3.1 by @dependabot
- chore(deps-dev): Bump happy-dom from 13.3.8 to 13.6.2 by @dependabot
- chore(deps-dev): Bump sass from 1.71.0 to 1.71.1 by @dependabot
- chore(deps-dev): Bump typedoc from 0.25.8 to 0.25.9 by @dependabot
- chore(deps-dev): Bump vite from 5.1.3 to 5.1.4 by @dependabot
- chore(deps): Bump @nextcloud/typings from 1.7.0 to 1.8.0 by @dependabot
- chore(deps): Bump @vueuse/core from 10.7.2 to 10.9.0 by @dependabot
- chore(deps): Bump webdav from 5.3.2 to 5.4.0 by @dependabot
- Updates for project Nextcloud dialogs library by @transifex-integration
v5.1.2 (2024-02-25)
- fix(FilePicker): Allow using on public shares #1241 (susnux)
- enh: breadcrumbs are now consistant across server #1234 (emoral435)
- Updated translations
- Updated dependencies
@nextcloud/routerandwebdav - Updated development dependencies
v5.1.1 (2024-01-26)
- fix(FilePicker): Stop default close event in case of button press #1207 (susnux)
- fix(FilePicker): Export
FilePickerClosederror #1198 (susnux)
- Updated translations
- Updated development dependencies
v5.1.0 (2024-01-19)
- fix(FilePicker): Adjust stylings after migration to
NcDialog#1138 (susnux) - fix(FilePicker): Set default of
pathto undefined to allow using the saved path #1137 (susnux) - fix(FilePicker): Use
Node::pathfor current path fixing an clicking favorite folders #1165 (susnux) - fix(FilePicker): Stop click event on checkbox column to allow multiselect #1192 (susnux)
- fix(FilePicker): Adjust checkbox position #1193 (susnux)
- fix(FilePicker): Improve choose button text when selecting multiple #1191 (susnux)
- Remove unneeded
tab,tablistandaria-selectedroles from navigation #1180 (JuliaKirschenheuter) - Remove
aria-labelfrom<div>#1179 (JuliaKirschenheuter)
- Updated translations
- Updated dependencies
v5.0.3 (2023-11-27)
- fix(FilePicker):
cropImagePreviewsis now provided as a prop in FilePreview #1120 (susnux) - fix(FilePicker): On button click also emit the current directory if
allowPickDirectoryis set to true #1121 (susnux) - fix: Adjust types for IFilePickerButton to align icon with NcDialogButton #1122 (susnux)
- fix(build): include ?raw data to bundle #1128 (ShGKme)
- Updated translations
- chore(deps): Bump @vueuse/core from 10.6.0 to 10.6.1
- chore(deps-dev): Bump typescript from 5.2.2 to 5.3.2
v5.0.2 (2023-11-17)
- Updated translations
- chore(deps): Bump
@nextcloud/vuefrom 8.2.0
v5.0.1 (2023-11-15)
- Updated translations
- chore(deps-dev): Bump @types/gettext-parser from 4.0.3 to 4.0.4
- chore(deps): Bump @vueuse/core from 10.5.0 to 10.6.0
- chore(deps): Bump @types/toastify-js from 1.12.2 to 1.12.3
- chore(deps): Bump axios from 1.4.0 to 1.6.1
v5.0.0 (2023-11-08)
- Updated translations
- Updated dependencies
- Now using stable
@nextcloud/vueversion 8.0.0 - Now using stable
@nextcloud/filesversion 3.0.0
- Now using stable
v5.0.0-beta.6 (2023-10-17)
The FilePicker Vue component is no longer exported in the main entry point. Instead it is exported in a filepicker entrypoint, and the FilePicker builder is also now loading it async. This ensures that if a user does not use the filepicker, it gets treeshaken.
- fix(i18n): Fix spelling of MIME #1041 (@rakekniven)
- fix: Swap sort icons #1058 (@Pytal)
- fix(FilePicker): Make the validity strings more specific #1072 (@susnux)
- fix: Ensure the dialog name can be wrapped if needed #1074 (@susnux)
- chore: Switch to v8 as code coverage provider, reduces the dependencies #1043 (@susnux)
- Combine vite and vitest config #1070 (@susnux)
- Remove non existing legacy entry point from package.json #1070 (@susnux)
- Updated translations
- chore(deps): Bump postcss from 8.4.27 to 8.4.31 #1038
- chore(deps-dev): Bump sass from 1.68.0 to 1.69.0 #1048
- chore(deps-dev): Bump vite from 4.4.9 to 4.4.11 #1046
- chore(deps): Bump @nextcloud/files from 3.0.0-beta.24 to 3.0.0-beta.25 #1047
- chore(deps-dev): Bump @nextcloud/vite-config from 1.0.0-beta.19 to 1.0.1 #1049
- chore(deps): Bump @nextcloud/vue from 8.0.0-beta.7 to 8.0.0-beta.8 #1050
- chore(deps-dev): Bump happy-dom from 12.2.1 to 12.9.0 #1051
- chore(deps): Bump @nextcloud/files from 3.0.0-beta.25 to 3.0.0-beta.26 #1061
- chore(deps): Bump @vueuse/core from 10.4.1 to 10.5.0 #1063
- chore(deps-dev): Bump typedoc from 0.25.1 to 0.25.2 #1062
- chore(deps-dev): Bump @mdi/svg from 7.2.96 to 7.3.67 #1065
- chore(deps-dev): Bump sass from 1.69.0 to 1.69.3 #1064
- chore(deps-dev): Bump happy-dom from 12.9.0 to 12.9.1 #1066
- chore(deps): Bump @babel/traverse from 7.23.0 to 7.23.2 #1069
- @rakekniven made their first contribution in #1041
v5.0.0-beta.5 (2023-10-03)
- fix: breadcrumbs grow #987 (skjnldsv)
- Fix alignment of file list #993 (susnux)
- fix(FilePicker): Use
searchfunction fromwebdavpackage instead of workaround #992 (susnux) - fix(FilePicker): Ensure file list header is shown on top of scrolled content rows #997 (susnux)
- chore(deps): Bump @types/toastify-js from 1.12.0 to 1.12.1 #1002
- chore(deps): Bump @nextcloud/vue from 8.0.0-beta.5 to 8.0.0-beta.6 #1004
- chore(deps): Bump @nextcloud/files from 3.0.0-beta.21 to 3.0.0-beta.22 #1013
- chore(deps): Bump @nextcloud/files from 3.0.0-beta.22 to 3.0.0-beta.24 #1021
- chore(deps): Bump @nextcloud/vue from 8.0.0-beta.6 to 8.0.0-beta.7 #1022
- chore: Bump @nextcloud/vue to v8-beta.7 by @Pytal in #1020
- fix(FilePicker): Reset selected files if the current directory is changed #964 (susnux)
- Revert "fix: Patch
webdavdependency for invalidexportsfield un… #984 (skjnldsv)
- fix: Make file list only sortable by one property at the time #949 (susnux)
- fix: styling issues and make the FilePicker height fixed #971 (susnux)
- fix: Use core preview controller for loading file previews and fallback to MDI icons #962 (susnux)
- fix(FilePicker): Fix selecting rows using the keyboard #934 (susnux)
- fix(FilePicker): Only show checkbox skeletons if multiselect was enabled #969 (susnux)
- fix(FilePickerBuilder): Fix paths returned in Promise by
pickmethod #963 (susnux) - fix(NcDialog): Make the heading always center aligned on top #965 (susnux) (susnux)
- chore: Update
@nextcloud/filesversion #952 (susnux) - chore(deps): Bump @nextcloud/files from 3.0.0-beta.19 to 3.0.0-beta.21
- chore(deps): Bump @nextcloud/vue from 8.0.0-beta.3 to 8.0.0-beta.5
- chore(deps): Bump webdav from 5.2.3 to 5.3.0
- feat: Add icons for filepicker and allow reactive button based on current path and selection #938 (susnux)
- feat(FilePicker): Always show file extension as a trailing text part #931 (susnux)
- Add empty content when there are no files #930 (susnux)
- fix: The file list should be showed when files are loading #937 (susnux)
- fix(FilePicker): Ensure focus-visible outline is visible for all focusable elements #935 (susnux)
- fix(FilePicker): Do not show checkboxes on single select mode #929 (susnux)
- fix: Add missing defaults to DialogButton #927 (susnux)
- fix(FilePickerBuilder): Revert API change on
pick()#925 (susnux) - fix(FilePicker): The table height should be max. 100% #921 (susnux)
- A Vue based file picker is provided which uses
@nextcloud/vueversion 8, so this library will only work on Nextcloud 28+ - Modernize FilePickerBuilder to directly make use of the Vue based file picker #904 (@susnux)
- This slightly breaks the FilePickerBuilder API:
FilePicker.picknow returns a Promise resolving tostring[]containing the picked pathsFilePicker.constructorparameter order was changedFilePickerBuilder.setModalwas removed as it has no effectFilePickerBuilder.setTypeis deprecated in favor ofFilePickerBuilder.addButtonFilePickerBuilder.addButtonwas added which allows to add custom buttons with callbacks on click (so users can now distinguish which button was clicked)
- This slightly breaks the FilePickerBuilder API:
- A Vue based FilePicker component was added, which can be used either as a component or using programmatically #878 (@susnux)
- FilePickerBuilder: Allow to add custom buttons #896 (@susnux)
- Fixed some design flaws in new FilePicker component
- Adjust color of placeholder skeletons #880 (@susnux)
- Fix column alignment to be consistent with files app #881 (@susnux)
- Navigation and filter should be on separate rows on mobile #882 (@susnux)
- Adjust filepicker breadcrumbs button for design review #892 (@susnux)
- Ensure only the file table is scrolled #899 (@susnux)
- FilePicker: Request
oc:sizeproperty for showing the file size #893 (@susnux) - FilePicker: Fix exported typings and cleanup file picker files #903 (@susnux)
- The package does no longer contain core-js polyfills as Nextcloud core already provides polyfills #863 (@susnux)
- The project was moved to a new Github organization (nextcloud-libraries)
- Add version compatibility section to README #891 (@susnux)
- Improved developer documentation #906 (@susnux)
- Dependency updates
- Make sure Typescript projects with
node16module resolution can import the package #845 (@susnux) - Ensure all package dependencies are external #843 (@susnux)
- Update Node engines to next LTS (version 20)
- Translation updates
- Dependency updates
- Ferdinand Thiessen (@susnux)
- Julius Härtl (@juliushaertl)
Styles need to be imported differently compared to v3.2.0. Make sure to import them from dist/index.css:
import '@nextcloud/dialogs/dist/index.css'
v4.0.0-beta.2 (2022-11-02)
v4.0.0-beta.1 (2022-11-02)
v4.0.0-beta.0 (2022-10-28)
- Translation updates
- Dependency updates
v3.2.0 - 2022-08-10
- Update engines to Node 16 with Npm 7 or Npm 8
- Translation updates
- Dependency updates
v3.1.4 - 2022-07-21
- Fixed dark mode with Nextcloud 25 - #630 (nickvergessen)
v3.1.3 - 2022-07-21
- Replace deprecated String.prototype.substr - #553 (CommanderRoot)
- Fix undo toast rendering - #582 (artonge)
- Bump toastify-js and set aria-live default and allow to overwrite it - #622 (nickvergessen)
- Bumped dependencies
- Translations updated
v3.1.2 - 2021-04-12
- Bump @babel/cli from 7.12.1 to 7.13.14 - #241 #242 #254 #284 #325 (dependabot[bot])
- Bump @babel/core from 7.12.3 to 7.13.14 - #237 #244 #252 #285 #326 (dependabot[bot])
- Bump babel-loader-exclude-node-modules-except from 1.0.3 to 1.1.2 - #288 (dependabot[bot])
- Bump @babel/preset-env from 7.12.1 to 7.13.12 - #240 #253 #256 #279 #308 #324 (dependabot[bot])
- Bump @babel/preset-typescript from 7.12.1 to 7.12.13 - #238 #282 (dependabot[bot])
- Bump core-js from 3.7.0 to 3.9.1 - #243 #251 #262 #309 (dependabot[bot])
- Bump highlight.js from 10.2.0 to 10.4.1 - #245 (dependabot[bot])
- Bump rollup from 2.33.1 to 2.38.5 - #239 #247 #250 #257 #266 #283 (dependabot[bot])
- Bump @rollup/plugin-babel from 5.2.1 to 5.3.0 - #249 #298 (dependabot[bot])
- Bump @rollup/plugin-commonjs from 16.0.0 to 18.0.0 - #248 #323 (dependabot[bot])
- Bump @rollup/plugin-node-resolve from 10.0.0 to 11.2.1 - #246 #258 #319 (dependabot[bot])
- Bump rollup-plugin-typescript2 from 0.29.0 to 0.30.0 - #322 (dependabot[bot])
- Bump ToastifyJS from 1.9.1 to 1.10.0 - #328 (LukasReschke)
- Bump tslib from 2.0.3 to 2.1.0 - #265 (dependabot[bot])
- Bump typescript from 4.0.5 to 4.0.7 - #312 (dependabot[bot])
- Translation updates - #259 #263 #273 #274 #311
v3.1.1 - 2020-11-13
- Increased z-index for toast notifications so that they can appear on top of modals as well #236 (PVince81)
v3.1.0 - 2020-10-20
- Timeouts are now in milliseconds
- Now exports TOAST_UNDO_TIMEOUT, TOAST_DEFAULT_TIMEOUT and TOAST_PERMANENT_TIMEOUT
- Fix timeout of showUndo
- Fix timeout of showUndo to 10 seconds
- Now you must configure some svg loader for your bundler in project (webpack etc.)
- Undo methods
- SVG icons
- Timeout value for permanent must be -1 now instead of 0
- Build process with rollup
- Dependency updates
- Nextcloud 19 typings
- Dependency updates
- Dependency updates
- Toasts not sticky
- Dependency updates
- Persistent notifications
- Broader version ranges for dependencies to prevent bloat
- Dependency updates
- Update vulnerable packages
- Use
bodyas selector by default, so guest pages work as well
- Configurable Toasts selector (for tests)
- Toasts