@conduction/nextcloud-vue 2.80.0 → 2.81.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.
Files changed (290) hide show
  1. package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js.map +1 -1
  2. package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js +3 -3
  3. package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js.map +1 -1
  4. package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js +80 -4
  5. package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js.map +1 -1
  6. package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js +95 -91
  7. package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js.map +1 -1
  8. package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue2.js +140 -10
  9. package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue2.js.map +1 -1
  10. package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue3.js +52 -16
  11. package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue3.js.map +1 -1
  12. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js +17 -3
  13. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js.map +1 -1
  14. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js +63 -52
  15. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js.map +1 -1
  16. package/dist/esm/components/CnChipsFieldWidget/CnChipsFieldWidget.vue.js +10 -0
  17. package/dist/esm/components/CnChipsFieldWidget/CnChipsFieldWidget.vue.js.map +1 -0
  18. package/dist/esm/components/CnChipsFieldWidget/CnChipsFieldWidget.vue2.js +252 -0
  19. package/dist/esm/components/CnChipsFieldWidget/CnChipsFieldWidget.vue2.js.map +1 -0
  20. package/dist/esm/components/CnChipsFieldWidget/CnChipsFieldWidget.vue3.js +140 -0
  21. package/dist/esm/components/CnChipsFieldWidget/CnChipsFieldWidget.vue3.js.map +1 -0
  22. package/dist/esm/components/CnChipsFieldWidget/index.js +26 -0
  23. package/dist/esm/components/CnChipsFieldWidget/index.js.map +1 -0
  24. package/dist/esm/components/CnChoicePickerWidget/CnChoicePickerWidget.vue.js +10 -0
  25. package/dist/esm/components/CnChoicePickerWidget/CnChoicePickerWidget.vue.js.map +1 -0
  26. package/dist/esm/components/CnChoicePickerWidget/CnChoicePickerWidget.vue2.js +354 -0
  27. package/dist/esm/components/CnChoicePickerWidget/CnChoicePickerWidget.vue2.js.map +1 -0
  28. package/dist/esm/components/CnChoicePickerWidget/CnChoicePickerWidget.vue3.js +172 -0
  29. package/dist/esm/components/CnChoicePickerWidget/CnChoicePickerWidget.vue3.js.map +1 -0
  30. package/dist/esm/components/CnChoicePickerWidget/index.js +27 -0
  31. package/dist/esm/components/CnChoicePickerWidget/index.js.map +1 -0
  32. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue2.js +1 -1
  33. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue2.js.map +1 -1
  34. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue3.js.map +1 -1
  35. package/dist/esm/components/CnDashboardGrid/CnDashboardGrid.vue2.js +2 -2
  36. package/dist/esm/components/CnDashboardGrid/CnDashboardGrid.vue2.js.map +1 -1
  37. package/dist/esm/components/CnDashboardGrid/CnDashboardGrid.vue3.js.map +1 -1
  38. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +65 -5
  39. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
  40. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +2 -1
  41. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
  42. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +19 -11
  43. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
  44. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js +3 -2
  45. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
  46. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +72 -0
  47. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
  48. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +21 -4
  49. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
  50. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue2.js +1 -1
  51. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue2.js.map +1 -1
  52. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue3.js.map +1 -1
  53. package/dist/esm/components/CnFacetSidebar/CnFacetSidebar.vue2.js +7 -7
  54. package/dist/esm/components/CnFacetSidebar/CnFacetSidebar.vue2.js.map +1 -1
  55. package/dist/esm/components/CnFacetSidebar/CnFacetSidebar.vue3.js.map +1 -1
  56. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js +131 -0
  57. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js.map +1 -1
  58. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue3.js.map +1 -1
  59. package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue2.js +80 -5
  60. package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue2.js.map +1 -1
  61. package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue3.js +282 -69
  62. package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue3.js.map +1 -1
  63. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js +302 -4
  64. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js.map +1 -1
  65. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js +417 -244
  66. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js.map +1 -1
  67. package/dist/esm/components/CnFilesBrowser/filesBrowser.js +101 -1
  68. package/dist/esm/components/CnFilesBrowser/filesBrowser.js.map +1 -1
  69. package/dist/esm/components/CnFilesBrowser/filesBrowserColumns.js +141 -1
  70. package/dist/esm/components/CnFilesBrowser/filesBrowserColumns.js.map +1 -1
  71. package/dist/esm/components/CnFormPage/CnFormPage.vue2.js +60 -0
  72. package/dist/esm/components/CnFormPage/CnFormPage.vue2.js.map +1 -1
  73. package/dist/esm/components/CnFormPage/CnFormPage.vue3.js +74 -49
  74. package/dist/esm/components/CnFormPage/CnFormPage.vue3.js.map +1 -1
  75. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +29 -2
  76. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  77. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +48 -4
  78. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  79. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue2.js +7 -7
  80. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue2.js.map +1 -1
  81. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue3.js.map +1 -1
  82. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue2.js +1 -1
  83. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue2.js.map +1 -1
  84. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js +65 -2
  85. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js.map +1 -1
  86. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js +6 -2
  87. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js.map +1 -1
  88. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js +63 -1
  89. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js.map +1 -1
  90. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js +8 -1
  91. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js.map +1 -1
  92. package/dist/esm/components/CnObjectSidebar/CnNotesTab.vue2.js +14 -0
  93. package/dist/esm/components/CnObjectSidebar/CnNotesTab.vue2.js.map +1 -1
  94. package/dist/esm/components/CnObjectSidebar/CnNotesTab.vue3.js +5 -1
  95. package/dist/esm/components/CnObjectSidebar/CnNotesTab.vue3.js.map +1 -1
  96. package/dist/esm/components/CnRadioCardsWidget/CnRadioCardsWidget.vue.js +10 -0
  97. package/dist/esm/components/CnRadioCardsWidget/CnRadioCardsWidget.vue.js.map +1 -0
  98. package/dist/esm/components/CnRadioCardsWidget/CnRadioCardsWidget.vue2.js +174 -0
  99. package/dist/esm/components/CnRadioCardsWidget/CnRadioCardsWidget.vue2.js.map +1 -0
  100. package/dist/esm/components/CnRadioCardsWidget/CnRadioCardsWidget.vue3.js +75 -0
  101. package/dist/esm/components/CnRadioCardsWidget/CnRadioCardsWidget.vue3.js.map +1 -0
  102. package/dist/esm/components/CnRadioCardsWidget/index.js +28 -0
  103. package/dist/esm/components/CnRadioCardsWidget/index.js.map +1 -0
  104. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +30 -6
  105. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  106. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +34 -25
  107. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  108. package/dist/esm/components/CnSavedViewsWidget/CnSavedViewsWidget.vue.js +10 -0
  109. package/dist/esm/components/CnSavedViewsWidget/CnSavedViewsWidget.vue.js.map +1 -0
  110. package/dist/esm/components/CnSavedViewsWidget/CnSavedViewsWidget.vue2.js +222 -0
  111. package/dist/esm/components/CnSavedViewsWidget/CnSavedViewsWidget.vue2.js.map +1 -0
  112. package/dist/esm/components/CnSavedViewsWidget/CnSavedViewsWidget.vue3.js +64 -0
  113. package/dist/esm/components/CnSavedViewsWidget/CnSavedViewsWidget.vue3.js.map +1 -0
  114. package/dist/esm/components/CnSavedViewsWidget/index.js +30 -0
  115. package/dist/esm/components/CnSavedViewsWidget/index.js.map +1 -0
  116. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue2.js.map +1 -1
  117. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue3.js.map +1 -1
  118. package/dist/esm/components/CnSettingsFormWidget/CnSettingsFormWidget.vue.js +10 -0
  119. package/dist/esm/components/CnSettingsFormWidget/CnSettingsFormWidget.vue.js.map +1 -0
  120. package/dist/esm/components/CnSettingsFormWidget/CnSettingsFormWidget.vue2.js +347 -0
  121. package/dist/esm/components/CnSettingsFormWidget/CnSettingsFormWidget.vue2.js.map +1 -0
  122. package/dist/esm/components/CnSettingsFormWidget/CnSettingsFormWidget.vue3.js +184 -0
  123. package/dist/esm/components/CnSettingsFormWidget/CnSettingsFormWidget.vue3.js.map +1 -0
  124. package/dist/esm/components/CnSettingsFormWidget/index.js +27 -0
  125. package/dist/esm/components/CnSettingsFormWidget/index.js.map +1 -0
  126. package/dist/esm/components/CnStatWidget/CnStatWidget.vue2.js +87 -6
  127. package/dist/esm/components/CnStatWidget/CnStatWidget.vue2.js.map +1 -1
  128. package/dist/esm/components/CnStatWidget/CnStatWidget.vue3.js.map +1 -1
  129. package/dist/esm/components/CnStatsBlockWidget/CnStatsBlockWidget.vue2.js +84 -1
  130. package/dist/esm/components/CnStatsBlockWidget/CnStatsBlockWidget.vue2.js.map +1 -1
  131. package/dist/esm/components/CnStatsBlockWidget/CnStatsBlockWidget.vue3.js +85 -41
  132. package/dist/esm/components/CnStatsBlockWidget/CnStatsBlockWidget.vue3.js.map +1 -1
  133. package/dist/esm/components/CnSwitchRowsWidget/CnSwitchRowsWidget.vue.js +10 -0
  134. package/dist/esm/components/CnSwitchRowsWidget/CnSwitchRowsWidget.vue.js.map +1 -0
  135. package/dist/esm/components/CnSwitchRowsWidget/CnSwitchRowsWidget.vue2.js +159 -0
  136. package/dist/esm/components/CnSwitchRowsWidget/CnSwitchRowsWidget.vue2.js.map +1 -0
  137. package/dist/esm/components/CnSwitchRowsWidget/CnSwitchRowsWidget.vue3.js +60 -0
  138. package/dist/esm/components/CnSwitchRowsWidget/CnSwitchRowsWidget.vue3.js.map +1 -0
  139. package/dist/esm/components/CnSwitchRowsWidget/index.js +26 -0
  140. package/dist/esm/components/CnSwitchRowsWidget/index.js.map +1 -0
  141. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +47 -1
  142. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js.map +1 -1
  143. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js +16 -14
  144. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js.map +1 -1
  145. package/dist/esm/components/CnTasksWidget/CnTasksWidget.vue2.js +80 -1
  146. package/dist/esm/components/CnTasksWidget/CnTasksWidget.vue2.js.map +1 -1
  147. package/dist/esm/components/CnTasksWidget/CnTasksWidget.vue3.js +75 -32
  148. package/dist/esm/components/CnTasksWidget/CnTasksWidget.vue3.js.map +1 -1
  149. package/dist/esm/components/CnToggleTableWidget/CnToggleTableWidget.vue.js +10 -0
  150. package/dist/esm/components/CnToggleTableWidget/CnToggleTableWidget.vue.js.map +1 -0
  151. package/dist/esm/components/CnToggleTableWidget/CnToggleTableWidget.vue2.js +269 -0
  152. package/dist/esm/components/CnToggleTableWidget/CnToggleTableWidget.vue2.js.map +1 -0
  153. package/dist/esm/components/CnToggleTableWidget/CnToggleTableWidget.vue3.js +106 -0
  154. package/dist/esm/components/CnToggleTableWidget/CnToggleTableWidget.vue3.js.map +1 -0
  155. package/dist/esm/components/CnToggleTableWidget/index.js +27 -0
  156. package/dist/esm/components/CnToggleTableWidget/index.js.map +1 -0
  157. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js +7 -0
  158. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js.map +1 -1
  159. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js +7 -2
  160. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js.map +1 -1
  161. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue3.js.map +1 -1
  162. package/dist/esm/components/CnWidgetObjectTable/dashboardRegistration.js +5 -0
  163. package/dist/esm/components/CnWidgetObjectTable/dashboardRegistration.js.map +1 -1
  164. package/dist/esm/components/CnWorkspaceFilterWidget/CnWorkspaceFilterWidget.vue2.js +197 -6
  165. package/dist/esm/components/CnWorkspaceFilterWidget/CnWorkspaceFilterWidget.vue2.js.map +1 -1
  166. package/dist/esm/components/CnWorkspaceFilterWidget/CnWorkspaceFilterWidget.vue3.js +96 -50
  167. package/dist/esm/components/CnWorkspaceFilterWidget/CnWorkspaceFilterWidget.vue3.js.map +1 -1
  168. package/dist/esm/composables/useListView.js +4 -4
  169. package/dist/esm/composables/useListView.js.map +1 -1
  170. package/dist/esm/index.js +17 -1
  171. package/dist/esm/index.js.map +1 -1
  172. package/dist/esm/l10n/en.json.js +9 -1
  173. package/dist/esm/l10n/en.json.js.map +1 -1
  174. package/dist/esm/l10n/nl.json.js +55 -1
  175. package/dist/esm/l10n/nl.json.js.map +1 -1
  176. package/dist/esm/nextcloud-vue.css +1041 -12
  177. package/dist/esm/utils/contentHeaderLink.js +51 -0
  178. package/dist/esm/utils/contentHeaderLink.js.map +1 -0
  179. package/dist/esm/utils/facets.js +75 -3
  180. package/dist/esm/utils/facets.js.map +1 -1
  181. package/dist/esm/utils/fetchFilterCounts.js +40 -5
  182. package/dist/esm/utils/fetchFilterCounts.js.map +1 -1
  183. package/dist/esm/utils/fillTemplate.js +7 -1
  184. package/dist/esm/utils/fillTemplate.js.map +1 -1
  185. package/dist/esm/utils/initials.js +32 -0
  186. package/dist/esm/utils/initials.js.map +1 -0
  187. package/dist/esm/utils/libraryWidgetKeys.js +7 -0
  188. package/dist/esm/utils/libraryWidgetKeys.js.map +1 -1
  189. package/dist/esm/utils/objectWrite.js +59 -0
  190. package/dist/esm/utils/objectWrite.js.map +1 -0
  191. package/dist/esm/utils/pageControls.js +81 -0
  192. package/dist/esm/utils/pageControls.js.map +1 -0
  193. package/dist/esm/utils/personalLenses.js +40 -3
  194. package/dist/esm/utils/personalLenses.js.map +1 -1
  195. package/dist/esm/utils/resolveFilterTokens.js +1 -1
  196. package/dist/esm/utils/resolveFilterTokens.js.map +1 -1
  197. package/dist/esm/utils/resolveManifestTokens.js +2 -0
  198. package/dist/esm/utils/resolveManifestTokens.js.map +1 -1
  199. package/dist/esm/utils/sentinelTokens.js +19 -1
  200. package/dist/esm/utils/sentinelTokens.js.map +1 -1
  201. package/dist/esm/utils/userGroupsPeek.js +91 -0
  202. package/dist/esm/utils/userGroupsPeek.js.map +1 -0
  203. package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
  204. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  205. package/dist/esm/utils/visibleWhen.js +57 -5
  206. package/dist/esm/utils/visibleWhen.js.map +1 -1
  207. package/dist/esm/utils/widgetDispatch.js +1 -1
  208. package/dist/esm/utils/widgetDispatch.js.map +1 -1
  209. package/dist/esm/utils/widgetVisibility.js +4 -57
  210. package/dist/esm/utils/widgetVisibility.js.map +1 -1
  211. package/dist/nextcloud-vue.cjs.js +13589 -7833
  212. package/dist/nextcloud-vue.cjs.js.map +2 -2
  213. package/dist/nextcloud-vue.css +1041 -12
  214. package/l10n/en.json +9 -1
  215. package/l10n/nl.json +55 -1
  216. package/package.json +2 -1
  217. package/scripts/check-docs-mdx.mjs +108 -0
  218. package/src/components/CnActionsBar/CnActionsBar.vue +6 -1
  219. package/src/components/CnAppRoot/CnAppRoot.md +4 -2
  220. package/src/components/CnAppRoot/CnAppRoot.vue +151 -59
  221. package/src/components/CnBannerWidget/CnBannerWidget.vue +205 -20
  222. package/src/components/CnCellRenderer/CnCellRenderer.md +2 -0
  223. package/src/components/CnCellRenderer/CnCellRenderer.vue +47 -4
  224. package/src/components/CnChipsFieldWidget/CnChipsFieldWidget.vue +433 -0
  225. package/src/components/CnChipsFieldWidget/index.js +25 -0
  226. package/src/components/CnChoicePickerWidget/CnChoicePickerWidget.vue +556 -0
  227. package/src/components/CnChoicePickerWidget/index.js +26 -0
  228. package/src/components/CnConversationThread/CnConversationWidget.vue +1 -1
  229. package/src/components/CnDashboardGrid/CnDashboardGrid.vue +2 -2
  230. package/src/components/CnDashboardPage/CnDashboardPage.vue +78 -5
  231. package/src/components/CnDataTable/CnDataTable.vue +21 -12
  232. package/src/components/CnDetailPage/CnDetailPage.vue +89 -3
  233. package/src/components/CnDocumentReviewList/CnDocumentReviewWidget.vue +1 -1
  234. package/src/components/CnFacetSidebar/CnFacetSidebar.vue +7 -7
  235. package/src/components/CnFactsWidget/CnFactsWidget.vue +142 -2
  236. package/src/components/CnFieldListWidget/CnFieldListWidget.vue +268 -6
  237. package/src/components/CnFilesBrowser/CnFilesBrowser.vue +588 -117
  238. package/src/components/CnFilesBrowser/filesBrowser.js +100 -0
  239. package/src/components/CnFilesBrowser/filesBrowserColumns.js +140 -0
  240. package/src/components/CnFormPage/CnFormPage.vue +81 -0
  241. package/src/components/CnIndexPage/CnIndexPage.vue +56 -4
  242. package/src/components/CnIndexSidebar/CnIndexSidebar.vue +7 -7
  243. package/src/components/CnNextStepCard/CnNextStepWidget.vue +1 -1
  244. package/src/components/CnObjectListWidget/CnObjectListWidget.vue +69 -2
  245. package/src/components/CnObjectSidebar/CnFilesTab.vue +70 -1
  246. package/src/components/CnObjectSidebar/CnNotesTab.vue +16 -0
  247. package/src/components/CnRadioCardsWidget/CnRadioCardsWidget.vue +313 -0
  248. package/src/components/CnRadioCardsWidget/index.js +27 -0
  249. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +55 -6
  250. package/src/components/CnSavedViewsWidget/CnSavedViewsWidget.vue +296 -0
  251. package/src/components/CnSavedViewsWidget/index.js +29 -0
  252. package/src/components/CnSegmentedControl/CnSegmentedControl.vue +13 -0
  253. package/src/components/CnSettingsFormWidget/CnSettingsFormWidget.vue +555 -0
  254. package/src/components/CnSettingsFormWidget/index.js +26 -0
  255. package/src/components/CnStatWidget/CnStatWidget.vue +87 -6
  256. package/src/components/CnStatsBlockWidget/CnStatsBlockWidget.vue +180 -3
  257. package/src/components/CnSwitchRowsWidget/CnSwitchRowsWidget.vue +226 -0
  258. package/src/components/CnSwitchRowsWidget/index.js +25 -0
  259. package/src/components/CnTabsWidget/CnTabsWidget.vue +82 -3
  260. package/src/components/CnTasksWidget/CnTasksWidget.vue +175 -15
  261. package/src/components/CnToggleTableWidget/CnToggleTableWidget.vue +386 -0
  262. package/src/components/CnToggleTableWidget/index.js +26 -0
  263. package/src/components/CnWidgetGrid/registerDashboardWidgets.js +7 -0
  264. package/src/components/CnWidgetObjectTable/CnWidgetObjectTable.vue +7 -2
  265. package/src/components/CnWidgetObjectTable/dashboardRegistration.js +5 -0
  266. package/src/components/CnWorkspaceFilterWidget/CnWorkspaceFilterWidget.vue +309 -11
  267. package/src/components/index.js +15 -0
  268. package/src/composables/useListView.js +4 -4
  269. package/src/css/look-board-detail.css +36 -2
  270. package/src/css/look-board-index.css +39 -8
  271. package/src/css/look-board.css +72 -0
  272. package/src/index.js +15 -0
  273. package/src/schemas/app-manifest-v2.schema.json +93 -9
  274. package/src/utils/contentHeaderLink.js +48 -0
  275. package/src/utils/facets.js +74 -2
  276. package/src/utils/fetchFilterCounts.js +39 -4
  277. package/src/utils/fillTemplate.js +7 -1
  278. package/src/utils/initials.js +29 -0
  279. package/src/utils/libraryWidgetKeys.js +7 -0
  280. package/src/utils/objectWrite.js +55 -0
  281. package/src/utils/pageControls.js +78 -0
  282. package/src/utils/personalLenses.js +39 -2
  283. package/src/utils/resolveFilterTokens.js +3 -1
  284. package/src/utils/resolveManifestTokens.js +2 -0
  285. package/src/utils/sentinelTokens.js +19 -1
  286. package/src/utils/userGroupsPeek.js +87 -0
  287. package/src/utils/validateManifestV2.compiled.js +3 -3
  288. package/src/utils/visibleWhen.js +56 -4
  289. package/src/utils/widgetDispatch.js +1 -1
  290. package/src/utils/widgetVisibility.js +7 -56
@@ -28,46 +28,82 @@ const _hoisted_9 = {
28
28
  role: "alert"
29
29
  };
30
30
  const _hoisted_10 = {
31
- key: 6,
31
+ key: 3,
32
+ class: "cn-files-browser__facets",
33
+ "data-testid": "cn-files-browser-facets"
34
+ };
35
+ const _hoisted_11 = ["aria-label"];
36
+ const _hoisted_12 = ["aria-pressed", "onClick"];
37
+ const _hoisted_13 = { class: "cn-files-browser__facet-count" };
38
+ const _hoisted_14 = ["aria-label"];
39
+ const _hoisted_15 = {
40
+ class: "cn-files-browser__bulk-count",
41
+ "aria-live": "polite"
42
+ };
43
+ const _hoisted_16 = {
44
+ key: 8,
32
45
  class: "cn-files-browser__table",
33
46
  "data-testid": "cn-files-browser-table"
34
47
  };
35
- const _hoisted_11 = {
48
+ const _hoisted_17 = {
49
+ key: 0,
50
+ class: "cn-files-browser__col-select",
51
+ scope: "col"
52
+ };
53
+ const _hoisted_18 = ["checked", ".indeterminate", "disabled", "aria-label"];
54
+ const _hoisted_19 = {
36
55
  class: "cn-files-browser__col-icon",
37
56
  scope: "col"
38
57
  };
39
- const _hoisted_12 = { class: "hidden-visually" };
40
- const _hoisted_13 = ["aria-sort", "data-testid"];
41
- const _hoisted_14 = ["onClick"];
42
- const _hoisted_15 = {
58
+ const _hoisted_20 = { class: "hidden-visually" };
59
+ const _hoisted_21 = ["aria-sort", "data-testid"];
60
+ const _hoisted_22 = ["onClick"];
61
+ const _hoisted_23 = {
43
62
  class: "cn-files-browser__col-actions",
44
63
  scope: "col"
45
64
  };
46
- const _hoisted_16 = { class: "hidden-visually" };
47
- const _hoisted_17 = ["data-name", "onClick", "onAuxclick"];
48
- const _hoisted_18 = { class: "cn-files-browser__col-icon" };
49
- const _hoisted_19 = ["src", "onError"];
50
- const _hoisted_20 = ["src"];
51
- const _hoisted_21 = ["data-testid"];
52
- const _hoisted_22 = {
65
+ const _hoisted_24 = { class: "hidden-visually" };
66
+ const _hoisted_25 = {
67
+ key: 0,
68
+ class: "cn-files-browser__group",
69
+ "data-testid": "cn-files-browser-group"
70
+ };
71
+ const _hoisted_26 = ["colspan"];
72
+ const _hoisted_27 = { class: "cn-files-browser__group-count" };
73
+ const _hoisted_28 = ["data-name", "onClick", "onAuxclick"];
74
+ const _hoisted_29 = ["checked", "aria-label", "onChange"];
75
+ const _hoisted_30 = { class: "cn-files-browser__col-icon" };
76
+ const _hoisted_31 = ["src", "onError"];
77
+ const _hoisted_32 = ["src"];
78
+ const _hoisted_33 = ["data-testid"];
79
+ const _hoisted_34 = {
53
80
  key: 0,
54
81
  class: "cn-files-browser__name"
55
82
  };
56
- const _hoisted_23 = ["data-name", "onClick", "onAuxclick"];
57
- const _hoisted_24 = { class: "cn-files-browser__col-icon" };
58
- const _hoisted_25 = ["src"];
59
- const _hoisted_26 = { class: "cn-files-browser__name" };
60
- const _hoisted_27 = {
83
+ const _hoisted_35 = {
84
+ key: 0,
85
+ class: "cn-files-browser__no-match-row"
86
+ };
87
+ const _hoisted_36 = ["colspan"];
88
+ const _hoisted_37 = ["data-name", "onClick", "onAuxclick"];
89
+ const _hoisted_38 = {
90
+ key: 0,
91
+ class: "cn-files-browser__col-select"
92
+ };
93
+ const _hoisted_39 = { class: "cn-files-browser__col-icon" };
94
+ const _hoisted_40 = ["src"];
95
+ const _hoisted_41 = { class: "cn-files-browser__name" };
96
+ const _hoisted_42 = {
61
97
  key: 0,
62
98
  class: "cn-files-browser__note"
63
99
  };
64
- const _hoisted_28 = ["href"];
65
- const _hoisted_29 = {
66
- key: 7,
100
+ const _hoisted_43 = ["href"];
101
+ const _hoisted_44 = {
102
+ key: 9,
67
103
  class: "cn-files-browser__drop-hint",
68
104
  "data-testid": "cn-files-browser-drop-hint"
69
105
  };
70
- const _hoisted_30 = {
106
+ const _hoisted_45 = {
71
107
  key: 0,
72
108
  class: "cn-files-browser__upload-error",
73
109
  role: "alert"
@@ -104,10 +140,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
104
140
  return (openBlock(), createElementBlock("div", {
105
141
  class: normalizeClass(["cn-files-browser", { 'cn-files-browser--dragging': $data.dragging }]),
106
142
  "data-testid": "cn-files-browser",
107
- onDragenter: _cache[18] || (_cache[18] = withModifiers((...args) => ($options.onDragEnter && $options.onDragEnter(...args)), ["prevent"])),
108
- onDragover: _cache[19] || (_cache[19] = withModifiers((...args) => ($options.onDragOver && $options.onDragOver(...args)), ["prevent"])),
109
- onDragleave: _cache[20] || (_cache[20] = withModifiers((...args) => ($options.onDragLeave && $options.onDragLeave(...args)), ["prevent"])),
110
- onDrop: _cache[21] || (_cache[21] = withModifiers((...args) => ($options.onDrop && $options.onDrop(...args)), ["prevent"]))
143
+ onDragenter: _cache[21] || (_cache[21] = withModifiers((...args) => ($options.onDragEnter && $options.onDragEnter(...args)), ["prevent"])),
144
+ onDragover: _cache[22] || (_cache[22] = withModifiers((...args) => ($options.onDragOver && $options.onDragOver(...args)), ["prevent"])),
145
+ onDragleave: _cache[23] || (_cache[23] = withModifiers((...args) => ($options.onDragLeave && $options.onDragLeave(...args)), ["prevent"])),
146
+ onDrop: _cache[24] || (_cache[24] = withModifiers((...args) => ($options.onDrop && $options.onDrop(...args)), ["prevent"]))
111
147
  }, [
112
148
  ($props.dropOverlay && $data.dragging)
113
149
  ? (openBlock(), createElementBlock("div", _hoisted_1, [
@@ -288,15 +324,93 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
288
324
  }), 128 /* KEYED_FRAGMENT */))
289
325
  ]))
290
326
  : createCommentVNode("v-if", true),
327
+ ($options.facetGroups.length > 0 && !$data.loading && $data.error === '')
328
+ ? (openBlock(), createElementBlock("div", _hoisted_10, [
329
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.facetGroups, (facet) => {
330
+ return (openBlock(), createElementBlock("div", {
331
+ key: facet.key,
332
+ class: "cn-files-browser__facet",
333
+ role: "group",
334
+ "aria-label": $options.t('nextcloud-vue', 'Filter by {column}', { column: facet.label })
335
+ }, [
336
+ (openBlock(true), createElementBlock(Fragment, null, renderList(facet.values, (option) => {
337
+ return (openBlock(), createElementBlock("button", {
338
+ key: option.value,
339
+ type: "button",
340
+ class: normalizeClass(["cn-files-browser__facet-chip", { 'cn-files-browser__facet-chip--active': option.active }]),
341
+ "aria-pressed": option.active ? 'true' : 'false',
342
+ "data-testid": "cn-files-browser-facet-chip",
343
+ onClick: $event => ($options.toggleFacet(facet.key, option.value))
344
+ }, [
345
+ createTextVNode(toDisplayString(option.value) + " ", 1 /* TEXT */),
346
+ createElementVNode("strong", _hoisted_13, toDisplayString(option.count), 1 /* TEXT */)
347
+ ], 10 /* CLASS, PROPS */, _hoisted_12))
348
+ }), 128 /* KEYED_FRAGMENT */))
349
+ ], 8 /* PROPS */, _hoisted_11))
350
+ }), 128 /* KEYED_FRAGMENT */)),
351
+ ($options.facetActive)
352
+ ? (openBlock(), createBlock(_component_NcButton, {
353
+ key: 0,
354
+ variant: "tertiary",
355
+ "data-testid": "cn-files-browser-facets-clear",
356
+ onClick: $options.clearFacets
357
+ }, {
358
+ default: withCtx(() => [
359
+ createTextVNode(toDisplayString($options.t('nextcloud-vue', 'Clear filters')), 1 /* TEXT */)
360
+ ]),
361
+ _: 1 /* STABLE */
362
+ }, 8 /* PROPS */, ["onClick"]))
363
+ : createCommentVNode("v-if", true)
364
+ ]))
365
+ : createCommentVNode("v-if", true),
366
+ ($options.bulkEnabled && $data.selectedIds.length > 0)
367
+ ? (openBlock(), createElementBlock("div", {
368
+ key: 4,
369
+ class: "cn-files-browser__bulk-bar",
370
+ role: "toolbar",
371
+ "aria-label": $options.t('nextcloud-vue', 'Actions for the selected files'),
372
+ "data-testid": "cn-files-browser-bulk-bar"
373
+ }, [
374
+ createElementVNode("span", _hoisted_15, toDisplayString($options.t('nextcloud-vue', '{count} selected', { count: $data.selectedIds.length })), 1 /* TEXT */),
375
+ (openBlock(true), createElementBlock(Fragment, null, renderList($props.bulkActions, (action) => {
376
+ return (openBlock(), createBlock(_component_NcButton, {
377
+ key: action.id,
378
+ "data-testid": `cn-files-browser-bulk-action-${action.id}`,
379
+ onClick: $event => ($options.runBulkAction(action))
380
+ }, {
381
+ icon: withCtx(() => [
382
+ createVNode(_component_CnIcon, {
383
+ name: action.icon || 'CheckboxMultipleMarkedOutline',
384
+ size: 20
385
+ }, null, 8 /* PROPS */, ["name"])
386
+ ]),
387
+ default: withCtx(() => [
388
+ createTextVNode(" " + toDisplayString(action.label), 1 /* TEXT */)
389
+ ]),
390
+ _: 2 /* DYNAMIC */
391
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "onClick"]))
392
+ }), 128 /* KEYED_FRAGMENT */)),
393
+ createVNode(_component_NcButton, {
394
+ variant: "tertiary",
395
+ "data-testid": "cn-files-browser-bulk-clear",
396
+ onClick: $options.clearSelection
397
+ }, {
398
+ default: withCtx(() => [
399
+ createTextVNode(toDisplayString($options.t('nextcloud-vue', 'Clear selection')), 1 /* TEXT */)
400
+ ]),
401
+ _: 1 /* STABLE */
402
+ }, 8 /* PROPS */, ["onClick"])
403
+ ], 8 /* PROPS */, _hoisted_14))
404
+ : createCommentVNode("v-if", true),
291
405
  ($data.loading)
292
406
  ? (openBlock(), createBlock(_component_NcLoadingIcon, {
293
- key: 3,
407
+ key: 5,
294
408
  size: 32,
295
409
  class: "cn-files-browser__loading"
296
410
  }))
297
411
  : ($data.error !== '')
298
412
  ? (openBlock(), createBlock(_component_CnEmptyContent, {
299
- key: 4,
413
+ key: 6,
300
414
  error: "",
301
415
  name: $data.error,
302
416
  class: "cn-files-browser__state"
@@ -316,7 +430,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
316
430
  }, 8 /* PROPS */, ["name"]))
317
431
  : ($options.sorted.length === 0 && $props.linkedItems.length === 0)
318
432
  ? (openBlock(), createBlock(_component_CnEmptyContent, {
319
- key: 5,
433
+ key: 7,
320
434
  name: $props.emptyLabel,
321
435
  description: $options.canChange ? $props.emptyHint : '',
322
436
  class: "cn-files-browser__state"
@@ -326,11 +440,25 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
326
440
  ]),
327
441
  _: 1 /* STABLE */
328
442
  }, 8 /* PROPS */, ["name", "description"]))
329
- : (openBlock(), createElementBlock("table", _hoisted_10, [
443
+ : (openBlock(), createElementBlock("table", _hoisted_16, [
330
444
  createElementVNode("thead", null, [
331
445
  createElementVNode("tr", null, [
332
- createElementVNode("th", _hoisted_11, [
333
- createElementVNode("span", _hoisted_12, toDisplayString($options.t('nextcloud-vue', 'Type')), 1 /* TEXT */)
446
+ ($options.bulkEnabled)
447
+ ? (openBlock(), createElementBlock("th", _hoisted_17, [
448
+ createElementVNode("input", {
449
+ type: "checkbox",
450
+ class: "cn-files-browser__select",
451
+ checked: $options.allSelected,
452
+ ".indeterminate": $options.someSelected && !$options.allSelected,
453
+ disabled: $options.selectableIds.length === 0,
454
+ "aria-label": $options.t('nextcloud-vue', 'Select all files'),
455
+ "data-testid": "cn-files-browser-select-all",
456
+ onChange: _cache[1] || (_cache[1] = $event => ($options.toggleAll($event.target.checked)))
457
+ }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_18)
458
+ ]))
459
+ : createCommentVNode("v-if", true),
460
+ createElementVNode("th", _hoisted_19, [
461
+ createElementVNode("span", _hoisted_20, toDisplayString($options.t('nextcloud-vue', 'Type')), 1 /* TEXT */)
334
462
  ]),
335
463
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.renderedColumns, (column) => {
336
464
  return (openBlock(), createElementBlock("th", {
@@ -354,206 +482,248 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
354
482
  size: 16
355
483
  }))
356
484
  : createCommentVNode("v-if", true)
357
- ], 8 /* PROPS */, _hoisted_14))
485
+ ], 8 /* PROPS */, _hoisted_22))
358
486
  : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
359
487
  createTextVNode(toDisplayString($options.columnLabel(column)), 1 /* TEXT */)
360
488
  ], 64 /* STABLE_FRAGMENT */))
361
- ], 10 /* CLASS, PROPS */, _hoisted_13))
489
+ ], 10 /* CLASS, PROPS */, _hoisted_21))
362
490
  }), 128 /* KEYED_FRAGMENT */)),
363
- createElementVNode("th", _hoisted_15, [
364
- createElementVNode("span", _hoisted_16, toDisplayString($options.t('nextcloud-vue', 'Actions')), 1 /* TEXT */)
491
+ createElementVNode("th", _hoisted_23, [
492
+ createElementVNode("span", _hoisted_24, toDisplayString($options.t('nextcloud-vue', 'Actions')), 1 /* TEXT */)
365
493
  ])
366
494
  ])
367
495
  ]),
368
496
  createElementVNode("tbody", null, [
369
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.sorted, (node) => {
370
- return (openBlock(), createElementBlock("tr", {
371
- key: node.source,
372
- class: normalizeClass(["cn-files-browser__row", { 'cn-files-browser__row--folder': $options.isFolder(node) }]),
373
- "data-testid": "cn-files-browser-row",
374
- "data-name": node.basename,
375
- onClick: $event => ($options.onRowClick(node, $event)),
376
- onMousedown: _cache[3] || (_cache[3] = (...args) => ($options.preventMiddleClickAutoscroll && $options.preventMiddleClickAutoscroll(...args))),
377
- onAuxclick: $event => ($options.onRowAuxClick(node, $event))
378
- }, [
379
- createElementVNode("td", _hoisted_18, [
380
- ($options.previewUrlFor(node))
381
- ? (openBlock(), createElementBlock("img", {
382
- key: 0,
383
- class: "cn-files-browser__thumb",
384
- src: $options.previewUrlFor(node),
385
- alt: "",
386
- loading: "lazy",
387
- onError: $event => ($options.onPreviewError(node))
388
- }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_19))
389
- : ($options.mimeIconFor(node))
390
- ? (openBlock(), createElementBlock("img", {
391
- key: 1,
392
- class: "cn-files-browser__mime",
393
- src: $options.mimeIconFor(node),
394
- alt: ""
395
- }, null, 8 /* PROPS */, _hoisted_20))
396
- : ($options.isFolder(node))
397
- ? (openBlock(), createBlock(_component_FolderOutline, {
398
- key: 2,
399
- size: 32
400
- }))
401
- : (openBlock(), createBlock(_component_FileOutline, {
402
- key: 3,
403
- size: 32
404
- }))
405
- ]),
406
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.renderedColumns, (column) => {
407
- return (openBlock(), createElementBlock("td", {
408
- key: column.key,
409
- class: normalizeClass(`cn-files-browser__col-${column.key}`),
410
- "data-testid": `cn-files-browser-cell-${column.key}`
411
- }, [
412
- (column.key === 'name')
413
- ? (openBlock(), createElementBlock("span", _hoisted_22, toDisplayString(node.basename), 1 /* TEXT */))
414
- : (column.key === 'size')
415
- ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
416
- createTextVNode(toDisplayString($options.isFolder(node) ? '' : $options.formatSize(node.size)), 1 /* TEXT */)
417
- ], 64 /* STABLE_FRAGMENT */))
418
- : (column.key === 'modified')
419
- ? (openBlock(), createBlock(_component_NcDateTime, {
420
- key: 2,
421
- timestamp: node.mtime,
422
- ignoreSeconds: true
423
- }, null, 8 /* PROPS */, ["timestamp"]))
424
- : (openBlock(), createBlock(_component_CnCellRenderer, {
425
- key: 3,
426
- value: $options.cellValue(column, node),
427
- formatter: column.formatter || null,
428
- formatterOptions: column.formatterOptions || null,
429
- widget: column.widget || null,
430
- row: node
431
- }, null, 8 /* PROPS */, ["value", "formatter", "formatterOptions", "widget", "row"]))
432
- ], 10 /* CLASS, PROPS */, _hoisted_21))
433
- }), 128 /* KEYED_FRAGMENT */)),
434
- createElementVNode("td", {
435
- class: "cn-files-browser__col-actions",
436
- onClick: _cache[1] || (_cache[1] = withModifiers(() => {}, ["stop"])),
437
- onAuxclick: _cache[2] || (_cache[2] = withModifiers(() => {}, ["stop"]))
438
- }, [
439
- createVNode(_component_NcActions, {
440
- forceMenu: true,
441
- ariaLabel: $options.t('nextcloud-vue', 'Actions for {name}', { name: node.basename })
442
- }, {
443
- default: withCtx(() => [
444
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.actionsFor(node), (action) => {
445
- return (openBlock(), createBlock(_component_NcActionButton, {
446
- key: action.id,
447
- closeAfterClick: true,
448
- "data-testid": `cn-files-browser-action-${action.id}`,
449
- onClick: $event => ($options.run(action, node))
497
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.displayRows, ({ key, group, node }) => {
498
+ return (openBlock(), createElementBlock(Fragment, { key: key }, [
499
+ group
500
+ ? (openBlock(), createElementBlock("tr", _hoisted_25, [
501
+ createElementVNode("th", {
502
+ colspan: $options.columnCount,
503
+ scope: "rowgroup",
504
+ class: "cn-files-browser__group-heading"
505
+ }, [
506
+ createTextVNode(toDisplayString(group.label) + " ", 1 /* TEXT */),
507
+ createElementVNode("span", _hoisted_27, toDisplayString(group.count), 1 /* TEXT */)
508
+ ], 8 /* PROPS */, _hoisted_26)
509
+ ]))
510
+ : (openBlock(), createElementBlock("tr", {
511
+ key: key,
512
+ class: normalizeClass(["cn-files-browser__row", { 'cn-files-browser__row--folder': $options.isFolder(node) }]),
513
+ "data-testid": "cn-files-browser-row",
514
+ "data-name": node.basename,
515
+ onClick: $event => ($options.onRowClick(node, $event)),
516
+ onMousedown: _cache[6] || (_cache[6] = (...args) => ($options.preventMiddleClickAutoscroll && $options.preventMiddleClickAutoscroll(...args))),
517
+ onAuxclick: $event => ($options.onRowAuxClick(node, $event))
518
+ }, [
519
+ ($options.bulkEnabled)
520
+ ? (openBlock(), createElementBlock("td", {
521
+ key: 0,
522
+ class: "cn-files-browser__col-select",
523
+ onClick: _cache[2] || (_cache[2] = withModifiers(() => {}, ["stop"])),
524
+ onAuxclick: _cache[3] || (_cache[3] = withModifiers(() => {}, ["stop"]))
525
+ }, [
526
+ (!$options.isFolder(node))
527
+ ? (openBlock(), createElementBlock("input", {
528
+ key: 0,
529
+ type: "checkbox",
530
+ class: "cn-files-browser__select",
531
+ checked: $options.isSelected(node),
532
+ "aria-label": $options.t('nextcloud-vue', 'Select {name}', { name: node.basename }),
533
+ "data-testid": "cn-files-browser-select",
534
+ onChange: $event => ($options.toggleSelected(node, $event.target.checked))
535
+ }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_29))
536
+ : createCommentVNode("v-if", true)
537
+ ], 32 /* NEED_HYDRATION */))
538
+ : createCommentVNode("v-if", true),
539
+ createElementVNode("td", _hoisted_30, [
540
+ ($options.previewUrlFor(node))
541
+ ? (openBlock(), createElementBlock("img", {
542
+ key: 0,
543
+ class: "cn-files-browser__thumb",
544
+ src: $options.previewUrlFor(node),
545
+ alt: "",
546
+ loading: "lazy",
547
+ onError: $event => ($options.onPreviewError(node))
548
+ }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_31))
549
+ : ($options.mimeIconFor(node))
550
+ ? (openBlock(), createElementBlock("img", {
551
+ key: 1,
552
+ class: "cn-files-browser__mime",
553
+ src: $options.mimeIconFor(node),
554
+ alt: ""
555
+ }, null, 8 /* PROPS */, _hoisted_32))
556
+ : ($options.isFolder(node))
557
+ ? (openBlock(), createBlock(_component_FolderOutline, {
558
+ key: 2,
559
+ size: 32
560
+ }))
561
+ : (openBlock(), createBlock(_component_FileOutline, {
562
+ key: 3,
563
+ size: 32
564
+ }))
565
+ ]),
566
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.renderedColumns, (column) => {
567
+ return (openBlock(), createElementBlock("td", {
568
+ key: column.key,
569
+ class: normalizeClass(`cn-files-browser__col-${column.key}`),
570
+ "data-testid": `cn-files-browser-cell-${column.key}`
571
+ }, [
572
+ (column.key === 'name')
573
+ ? (openBlock(), createElementBlock("span", _hoisted_34, toDisplayString(node.basename), 1 /* TEXT */))
574
+ : (column.key === 'size')
575
+ ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
576
+ createTextVNode(toDisplayString($options.isFolder(node) ? '' : $options.formatSize(node.size)), 1 /* TEXT */)
577
+ ], 64 /* STABLE_FRAGMENT */))
578
+ : (column.key === 'modified')
579
+ ? (openBlock(), createBlock(_component_NcDateTime, {
580
+ key: 2,
581
+ timestamp: node.mtime,
582
+ ignoreSeconds: true
583
+ }, null, 8 /* PROPS */, ["timestamp"]))
584
+ : (openBlock(), createBlock(_component_CnCellRenderer, {
585
+ key: 3,
586
+ value: $options.cellValue(column, node),
587
+ formatter: column.formatter || null,
588
+ formatterOptions: column.formatterOptions || null,
589
+ widget: column.widget || null,
590
+ row: node
591
+ }, null, 8 /* PROPS */, ["value", "formatter", "formatterOptions", "widget", "row"]))
592
+ ], 10 /* CLASS, PROPS */, _hoisted_33))
593
+ }), 128 /* KEYED_FRAGMENT */)),
594
+ createElementVNode("td", {
595
+ class: "cn-files-browser__col-actions",
596
+ onClick: _cache[4] || (_cache[4] = withModifiers(() => {}, ["stop"])),
597
+ onAuxclick: _cache[5] || (_cache[5] = withModifiers(() => {}, ["stop"]))
598
+ }, [
599
+ createVNode(_component_NcActions, {
600
+ forceMenu: true,
601
+ ariaLabel: $options.t('nextcloud-vue', 'Actions for {name}', { name: node.basename })
450
602
  }, {
451
- icon: withCtx(() => [
452
- createVNode(_component_NcIconSvgWrapper, {
453
- svg: $options.iconOf(action, node)
454
- }, null, 8 /* PROPS */, ["svg"])
455
- ]),
456
603
  default: withCtx(() => [
457
- createTextVNode(" " + toDisplayString($options.labelOf(action, node)), 1 /* TEXT */)
604
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.actionsFor(node), (action) => {
605
+ return (openBlock(), createBlock(_component_NcActionButton, {
606
+ key: action.id,
607
+ closeAfterClick: true,
608
+ "data-testid": `cn-files-browser-action-${action.id}`,
609
+ onClick: $event => ($options.run(action, node))
610
+ }, {
611
+ icon: withCtx(() => [
612
+ createVNode(_component_NcIconSvgWrapper, {
613
+ svg: $options.iconOf(action, node)
614
+ }, null, 8 /* PROPS */, ["svg"])
615
+ ]),
616
+ default: withCtx(() => [
617
+ createTextVNode(" " + toDisplayString($options.labelOf(action, node)), 1 /* TEXT */)
618
+ ]),
619
+ _: 2 /* DYNAMIC */
620
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "onClick"]))
621
+ }), 128 /* KEYED_FRAGMENT */)),
622
+ (!$options.isFolder(node))
623
+ ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList($options.hostActionsFor(node), (action) => {
624
+ return (openBlock(), createBlock(_component_NcActionButton, {
625
+ key: `host-${action.id}`,
626
+ closeAfterClick: true,
627
+ "data-testid": `cn-files-browser-host-action-${action.id}`,
628
+ onClick: $event => ($options.runHostAction(action, node))
629
+ }, {
630
+ icon: withCtx(() => [
631
+ createVNode(_component_CnIcon, {
632
+ name: action.icon || 'FileDocumentEditOutline',
633
+ size: 20
634
+ }, null, 8 /* PROPS */, ["name"])
635
+ ]),
636
+ default: withCtx(() => [
637
+ createTextVNode(" " + toDisplayString(action.label), 1 /* TEXT */)
638
+ ]),
639
+ _: 2 /* DYNAMIC */
640
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "onClick"]))
641
+ }), 128 /* KEYED_FRAGMENT */))
642
+ : createCommentVNode("v-if", true),
643
+ ($options.actionsFor(node).length > 0 || (!$options.isFolder(node) && $options.hostActionsFor(node).length > 0))
644
+ ? (openBlock(), createBlock(_component_NcActionSeparator, { key: 1 }))
645
+ : createCommentVNode("v-if", true),
646
+ ($props.source && $options.sourceDownloadUrl(node))
647
+ ? (openBlock(), createBlock(_component_NcActionLink, {
648
+ key: 2,
649
+ href: $options.sourceDownloadUrl(node),
650
+ download: node.basename,
651
+ closeAfterClick: true,
652
+ "data-testid": "cn-files-browser-action-download"
653
+ }, {
654
+ icon: withCtx(() => [
655
+ createVNode(_component_Download, { size: 20 })
656
+ ]),
657
+ default: withCtx(() => [
658
+ createTextVNode(" " + toDisplayString($props.downloadLabel), 1 /* TEXT */)
659
+ ]),
660
+ _: 1 /* STABLE */
661
+ }, 8 /* PROPS */, ["href", "download"]))
662
+ : createCommentVNode("v-if", true),
663
+ ($props.source && $options.canChange)
664
+ ? (openBlock(), createBlock(_component_NcActionButton, {
665
+ key: 3,
666
+ closeAfterClick: true,
667
+ "data-testid": "cn-files-browser-action-delete",
668
+ onClick: $event => ($options.askRemove(node))
669
+ }, {
670
+ icon: withCtx(() => [
671
+ createVNode(_component_TrashCanOutline, { size: 20 })
672
+ ]),
673
+ default: withCtx(() => [
674
+ createTextVNode(" " + toDisplayString($props.deleteLabel), 1 /* TEXT */)
675
+ ]),
676
+ _: 1 /* STABLE */
677
+ }, 8 /* PROPS */, ["onClick"]))
678
+ : createCommentVNode("v-if", true),
679
+ ($options.canChange)
680
+ ? (openBlock(), createBlock(_component_NcActionButton, {
681
+ key: 4,
682
+ closeAfterClick: true,
683
+ "data-testid": "cn-files-browser-action-rename",
684
+ onClick: $event => ($options.askRename(node))
685
+ }, {
686
+ icon: withCtx(() => [
687
+ createVNode(_component_Pencil, { size: 20 })
688
+ ]),
689
+ default: withCtx(() => [
690
+ createTextVNode(" " + toDisplayString($props.renameLabel), 1 /* TEXT */)
691
+ ]),
692
+ _: 1 /* STABLE */
693
+ }, 8 /* PROPS */, ["onClick"]))
694
+ : createCommentVNode("v-if", true),
695
+ (node.fileid && !$props.source)
696
+ ? (openBlock(), createBlock(_component_NcActionLink, {
697
+ key: 5,
698
+ href: $options.permalink(node),
699
+ target: "_blank",
700
+ closeAfterClick: true
701
+ }, {
702
+ icon: withCtx(() => [
703
+ createVNode(_component_OpenInNew, { size: 20 })
704
+ ]),
705
+ default: withCtx(() => [
706
+ createTextVNode(" " + toDisplayString($props.showInFilesLabel), 1 /* TEXT */)
707
+ ]),
708
+ _: 1 /* STABLE */
709
+ }, 8 /* PROPS */, ["href"]))
710
+ : createCommentVNode("v-if", true)
458
711
  ]),
459
712
  _: 2 /* DYNAMIC */
460
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "onClick"]))
461
- }), 128 /* KEYED_FRAGMENT */)),
462
- (!$options.isFolder(node))
463
- ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList($props.rowActions, (action) => {
464
- return (openBlock(), createBlock(_component_NcActionButton, {
465
- key: `host-${action.id}`,
466
- closeAfterClick: true,
467
- "data-testid": `cn-files-browser-host-action-${action.id}`,
468
- onClick: $event => ($options.runHostAction(action, node))
469
- }, {
470
- icon: withCtx(() => [
471
- createVNode(_component_CnIcon, {
472
- name: action.icon || 'FileDocumentEditOutline',
473
- size: 20
474
- }, null, 8 /* PROPS */, ["name"])
475
- ]),
476
- default: withCtx(() => [
477
- createTextVNode(" " + toDisplayString(action.label), 1 /* TEXT */)
478
- ]),
479
- _: 2 /* DYNAMIC */
480
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "onClick"]))
481
- }), 128 /* KEYED_FRAGMENT */))
482
- : createCommentVNode("v-if", true),
483
- ($options.actionsFor(node).length > 0 || (!$options.isFolder(node) && $props.rowActions.length > 0))
484
- ? (openBlock(), createBlock(_component_NcActionSeparator, { key: 1 }))
485
- : createCommentVNode("v-if", true),
486
- ($props.source && $options.sourceDownloadUrl(node))
487
- ? (openBlock(), createBlock(_component_NcActionLink, {
488
- key: 2,
489
- href: $options.sourceDownloadUrl(node),
490
- download: node.basename,
491
- closeAfterClick: true,
492
- "data-testid": "cn-files-browser-action-download"
493
- }, {
494
- icon: withCtx(() => [
495
- createVNode(_component_Download, { size: 20 })
496
- ]),
497
- default: withCtx(() => [
498
- createTextVNode(" " + toDisplayString($props.downloadLabel), 1 /* TEXT */)
499
- ]),
500
- _: 1 /* STABLE */
501
- }, 8 /* PROPS */, ["href", "download"]))
502
- : createCommentVNode("v-if", true),
503
- ($props.source && $options.canChange)
504
- ? (openBlock(), createBlock(_component_NcActionButton, {
505
- key: 3,
506
- closeAfterClick: true,
507
- "data-testid": "cn-files-browser-action-delete",
508
- onClick: $event => ($options.askRemove(node))
509
- }, {
510
- icon: withCtx(() => [
511
- createVNode(_component_TrashCanOutline, { size: 20 })
512
- ]),
513
- default: withCtx(() => [
514
- createTextVNode(" " + toDisplayString($props.deleteLabel), 1 /* TEXT */)
515
- ]),
516
- _: 1 /* STABLE */
517
- }, 8 /* PROPS */, ["onClick"]))
518
- : createCommentVNode("v-if", true),
519
- ($options.canChange)
520
- ? (openBlock(), createBlock(_component_NcActionButton, {
521
- key: 4,
522
- closeAfterClick: true,
523
- "data-testid": "cn-files-browser-action-rename",
524
- onClick: $event => ($options.askRename(node))
525
- }, {
526
- icon: withCtx(() => [
527
- createVNode(_component_Pencil, { size: 20 })
528
- ]),
529
- default: withCtx(() => [
530
- createTextVNode(" " + toDisplayString($props.renameLabel), 1 /* TEXT */)
531
- ]),
532
- _: 1 /* STABLE */
533
- }, 8 /* PROPS */, ["onClick"]))
534
- : createCommentVNode("v-if", true),
535
- (node.fileid && !$props.source)
536
- ? (openBlock(), createBlock(_component_NcActionLink, {
537
- key: 5,
538
- href: $options.permalink(node),
539
- target: "_blank",
540
- closeAfterClick: true
541
- }, {
542
- icon: withCtx(() => [
543
- createVNode(_component_OpenInNew, { size: 20 })
544
- ]),
545
- default: withCtx(() => [
546
- createTextVNode(" " + toDisplayString($props.showInFilesLabel), 1 /* TEXT */)
547
- ]),
548
- _: 1 /* STABLE */
549
- }, 8 /* PROPS */, ["href"]))
550
- : createCommentVNode("v-if", true)
551
- ]),
552
- _: 2 /* DYNAMIC */
553
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["ariaLabel"])
554
- ], 32 /* NEED_HYDRATION */)
555
- ], 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_17))
713
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["ariaLabel"])
714
+ ], 32 /* NEED_HYDRATION */)
715
+ ], 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_28))
716
+ ], 64 /* STABLE_FRAGMENT */))
556
717
  }), 128 /* KEYED_FRAGMENT */)),
718
+ ($options.facetActive && $options.filteredFiles.length === 0)
719
+ ? (openBlock(), createElementBlock("tr", _hoisted_35, [
720
+ createElementVNode("td", {
721
+ colspan: $options.columnCount,
722
+ class: "cn-files-browser__no-match",
723
+ "data-testid": "cn-files-browser-no-match"
724
+ }, toDisplayString($options.t('nextcloud-vue', 'No files match the filter.')), 9 /* TEXT, PROPS */, _hoisted_36)
725
+ ]))
726
+ : createCommentVNode("v-if", true),
557
727
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.linkedItems, (item) => {
558
728
  return (openBlock(), createElementBlock("tr", {
559
729
  key: `linked-${item.id}`,
@@ -561,17 +731,20 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
561
731
  "data-testid": "cn-files-browser-linked-row",
562
732
  "data-name": item.name,
563
733
  onClick: $event => ($options.openLinked(item)),
564
- onMousedown: _cache[7] || (_cache[7] = (...args) => ($options.preventMiddleClickAutoscroll && $options.preventMiddleClickAutoscroll(...args))),
734
+ onMousedown: _cache[10] || (_cache[10] = (...args) => ($options.preventMiddleClickAutoscroll && $options.preventMiddleClickAutoscroll(...args))),
565
735
  onAuxclick: $event => ($options.onLinkedAuxClick(item, $event))
566
736
  }, [
567
- createElementVNode("td", _hoisted_24, [
737
+ ($options.bulkEnabled)
738
+ ? (openBlock(), createElementBlock("td", _hoisted_38))
739
+ : createCommentVNode("v-if", true),
740
+ createElementVNode("td", _hoisted_39, [
568
741
  ($options.mimeIconFor({ mime: item.mime }))
569
742
  ? (openBlock(), createElementBlock("img", {
570
743
  key: 0,
571
744
  class: "cn-files-browser__mime",
572
745
  src: $options.mimeIconFor({ mime: item.mime }),
573
746
  alt: ""
574
- }, null, 8 /* PROPS */, _hoisted_25))
747
+ }, null, 8 /* PROPS */, _hoisted_40))
575
748
  : (openBlock(), createBlock(_component_FileOutline, {
576
749
  key: 1,
577
750
  size: 32
@@ -584,16 +757,16 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
584
757
  }, [
585
758
  (column.key === 'name')
586
759
  ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
587
- createElementVNode("span", _hoisted_26, toDisplayString(item.name), 1 /* TEXT */),
760
+ createElementVNode("span", _hoisted_41, toDisplayString(item.name), 1 /* TEXT */),
588
761
  (item.note)
589
- ? (openBlock(), createElementBlock("span", _hoisted_27, [
762
+ ? (openBlock(), createElementBlock("span", _hoisted_42, [
590
763
  (item.noteHref)
591
764
  ? (openBlock(), createElementBlock("a", {
592
765
  key: 0,
593
766
  href: item.noteHref,
594
767
  class: "cn-files-browser__note-link",
595
- onClick: _cache[4] || (_cache[4] = withModifiers(() => {}, ["stop"]))
596
- }, toDisplayString(item.note), 9 /* TEXT, PROPS */, _hoisted_28))
768
+ onClick: _cache[7] || (_cache[7] = withModifiers(() => {}, ["stop"]))
769
+ }, toDisplayString(item.note), 9 /* TEXT, PROPS */, _hoisted_43))
597
770
  : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
598
771
  createTextVNode(toDisplayString(item.note), 1 /* TEXT */)
599
772
  ], 64 /* STABLE_FRAGMENT */))
@@ -615,8 +788,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
615
788
  }), 128 /* KEYED_FRAGMENT */)),
616
789
  createElementVNode("td", {
617
790
  class: "cn-files-browser__col-actions",
618
- onClick: _cache[5] || (_cache[5] = withModifiers(() => {}, ["stop"])),
619
- onAuxclick: _cache[6] || (_cache[6] = withModifiers(() => {}, ["stop"]))
791
+ onClick: _cache[8] || (_cache[8] = withModifiers(() => {}, ["stop"])),
792
+ onAuxclick: _cache[9] || (_cache[9] = withModifiers(() => {}, ["stop"]))
620
793
  }, [
621
794
  createVNode(_component_NcActions, {
622
795
  forceMenu: true,
@@ -661,27 +834,27 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
661
834
  _: 2 /* DYNAMIC */
662
835
  }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["ariaLabel"])
663
836
  ], 32 /* NEED_HYDRATION */)
664
- ], 40 /* PROPS, NEED_HYDRATION */, _hoisted_23))
837
+ ], 40 /* PROPS, NEED_HYDRATION */, _hoisted_37))
665
838
  }), 128 /* KEYED_FRAGMENT */))
666
839
  ])
667
840
  ])),
668
841
  ($props.dropHint && $options.canChange && !$data.loading && $data.error === '')
669
- ? (openBlock(), createElementBlock("p", _hoisted_29, [
842
+ ? (openBlock(), createElementBlock("p", _hoisted_44, [
670
843
  createVNode(_component_Upload, { size: 16 }),
671
844
  createTextVNode(" " + toDisplayString($props.dropHintLabel), 1 /* TEXT */)
672
845
  ]))
673
846
  : createCommentVNode("v-if", true),
674
847
  ($data.renaming !== null)
675
848
  ? (openBlock(), createBlock(_component_NcDialog, {
676
- key: 8,
849
+ key: 10,
677
850
  name: $props.renameLabel,
678
851
  size: "small",
679
852
  "data-testid": "cn-files-browser-rename",
680
- onClosing: _cache[11] || (_cache[11] = $event => ($data.renaming = null))
853
+ onClosing: _cache[14] || (_cache[14] = $event => ($data.renaming = null))
681
854
  }, {
682
855
  actions: withCtx(() => [
683
856
  createVNode(_component_NcButton, {
684
- onClick: _cache[10] || (_cache[10] = $event => ($data.renaming = null))
857
+ onClick: _cache[13] || (_cache[13] = $event => ($data.renaming = null))
685
858
  }, {
686
859
  default: withCtx(() => [
687
860
  createTextVNode(toDisplayString($options.t('nextcloud-vue', 'Cancel')), 1 /* TEXT */)
@@ -703,11 +876,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
703
876
  default: withCtx(() => [
704
877
  createElementVNode("form", {
705
878
  class: "cn-files-browser__new-folder",
706
- onSubmit: _cache[9] || (_cache[9] = withModifiers((...args) => ($options.rename && $options.rename(...args)), ["prevent"]))
879
+ onSubmit: _cache[12] || (_cache[12] = withModifiers((...args) => ($options.rename && $options.rename(...args)), ["prevent"]))
707
880
  }, [
708
881
  createVNode(_component_NcTextField, {
709
882
  modelValue: $data.renameName,
710
- "onUpdate:modelValue": _cache[8] || (_cache[8] = $event => (($data.renameName) = $event)),
883
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = $event => (($data.renameName) = $event)),
711
884
  label: $options.t('nextcloud-vue', 'New name'),
712
885
  error: $data.renameError !== '',
713
886
  helperText: $data.renameError,
@@ -720,15 +893,15 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
720
893
  : createCommentVNode("v-if", true),
721
894
  ($data.removing !== null)
722
895
  ? (openBlock(), createBlock(_component_NcDialog, {
723
- key: 9,
896
+ key: 11,
724
897
  name: $props.deleteLabel,
725
898
  size: "small",
726
899
  "data-testid": "cn-files-browser-delete",
727
- onClosing: _cache[13] || (_cache[13] = $event => ($data.removing = null))
900
+ onClosing: _cache[16] || (_cache[16] = $event => ($data.removing = null))
728
901
  }, {
729
902
  actions: withCtx(() => [
730
903
  createVNode(_component_NcButton, {
731
- onClick: _cache[12] || (_cache[12] = $event => ($data.removing = null))
904
+ onClick: _cache[15] || (_cache[15] = $event => ($data.removing = null))
732
905
  }, {
733
906
  default: withCtx(() => [
734
907
  createTextVNode(toDisplayString($options.t('nextcloud-vue', 'Cancel')), 1 /* TEXT */)
@@ -749,7 +922,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
749
922
  default: withCtx(() => [
750
923
  createElementVNode("p", null, toDisplayString($options.t('nextcloud-vue', 'Delete {name}? This cannot be undone here.', { name: $data.removing.basename })), 1 /* TEXT */),
751
924
  ($data.removeError)
752
- ? (openBlock(), createElementBlock("p", _hoisted_30, toDisplayString($data.removeError), 1 /* TEXT */))
925
+ ? (openBlock(), createElementBlock("p", _hoisted_45, toDisplayString($data.removeError), 1 /* TEXT */))
753
926
  : createCommentVNode("v-if", true)
754
927
  ]),
755
928
  _: 1 /* STABLE */
@@ -757,15 +930,15 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
757
930
  : createCommentVNode("v-if", true),
758
931
  ($data.newFolderOpen)
759
932
  ? (openBlock(), createBlock(_component_NcDialog, {
760
- key: 10,
933
+ key: 12,
761
934
  name: $props.newFolderLabel,
762
935
  size: "small",
763
936
  "data-testid": "cn-files-browser-new-folder",
764
- onClosing: _cache[17] || (_cache[17] = $event => ($data.newFolderOpen = false))
937
+ onClosing: _cache[20] || (_cache[20] = $event => ($data.newFolderOpen = false))
765
938
  }, {
766
939
  actions: withCtx(() => [
767
940
  createVNode(_component_NcButton, {
768
- onClick: _cache[16] || (_cache[16] = $event => ($data.newFolderOpen = false))
941
+ onClick: _cache[19] || (_cache[19] = $event => ($data.newFolderOpen = false))
769
942
  }, {
770
943
  default: withCtx(() => [
771
944
  createTextVNode(toDisplayString($options.t('nextcloud-vue', 'Cancel')), 1 /* TEXT */)
@@ -787,11 +960,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
787
960
  default: withCtx(() => [
788
961
  createElementVNode("form", {
789
962
  class: "cn-files-browser__new-folder",
790
- onSubmit: _cache[15] || (_cache[15] = withModifiers((...args) => ($options.createFolder && $options.createFolder(...args)), ["prevent"]))
963
+ onSubmit: _cache[18] || (_cache[18] = withModifiers((...args) => ($options.createFolder && $options.createFolder(...args)), ["prevent"]))
791
964
  }, [
792
965
  createVNode(_component_NcTextField, {
793
966
  modelValue: $data.newFolderName,
794
- "onUpdate:modelValue": _cache[14] || (_cache[14] = $event => (($data.newFolderName) = $event)),
967
+ "onUpdate:modelValue": _cache[17] || (_cache[17] = $event => (($data.newFolderName) = $event)),
795
968
  label: $options.t('nextcloud-vue', 'Folder name'),
796
969
  error: $data.newFolderError !== '',
797
970
  helperText: $data.newFolderError,