@conduction/nextcloud-vue 2.59.0 → 2.60.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 (235) hide show
  1. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue2.js +14 -1
  2. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue2.js.map +1 -1
  3. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue3.js.map +1 -1
  4. package/dist/esm/components/CnAppNav/CnAppNav.vue2.js +39 -0
  5. package/dist/esm/components/CnAppNav/CnAppNav.vue2.js.map +1 -1
  6. package/dist/esm/components/CnAppNav/CnAppNav.vue3.js +46 -4
  7. package/dist/esm/components/CnAppNav/CnAppNav.vue3.js.map +1 -1
  8. package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue2.js +224 -9
  9. package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue2.js.map +1 -1
  10. package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue3.js +79 -25
  11. package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue3.js.map +1 -1
  12. package/dist/esm/components/CnBannerWidgetForm/CnBannerWidgetForm.vue2.js +42 -3
  13. package/dist/esm/components/CnBannerWidgetForm/CnBannerWidgetForm.vue2.js.map +1 -1
  14. package/dist/esm/components/CnBannerWidgetForm/CnBannerWidgetForm.vue3.js +39 -6
  15. package/dist/esm/components/CnBannerWidgetForm/CnBannerWidgetForm.vue3.js.map +1 -1
  16. package/dist/esm/components/CnBoardView/CnBoardView.vue2.js +46 -0
  17. package/dist/esm/components/CnBoardView/CnBoardView.vue2.js.map +1 -1
  18. package/dist/esm/components/CnBoardView/CnBoardView.vue3.js +11 -4
  19. package/dist/esm/components/CnBoardView/CnBoardView.vue3.js.map +1 -1
  20. package/dist/esm/components/CnBrandStripe/CnBrandStripe.vue.js +10 -0
  21. package/dist/esm/components/CnBrandStripe/CnBrandStripe.vue.js.map +1 -0
  22. package/dist/esm/components/CnBrandStripe/CnBrandStripe.vue2.js +39 -0
  23. package/dist/esm/components/CnBrandStripe/CnBrandStripe.vue2.js.map +1 -0
  24. package/dist/esm/components/CnBrandStripe/CnBrandStripe.vue3.js +16 -0
  25. package/dist/esm/components/CnBrandStripe/CnBrandStripe.vue3.js.map +1 -0
  26. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js +117 -1
  27. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js.map +1 -1
  28. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js +147 -89
  29. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js.map +1 -1
  30. package/dist/esm/components/CnConversationThread/CnConversationThread.vue.js +10 -0
  31. package/dist/esm/components/CnConversationThread/CnConversationThread.vue.js.map +1 -0
  32. package/dist/esm/components/CnConversationThread/CnConversationThread.vue2.js +259 -0
  33. package/dist/esm/components/CnConversationThread/CnConversationThread.vue2.js.map +1 -0
  34. package/dist/esm/components/CnConversationThread/CnConversationThread.vue3.js +131 -0
  35. package/dist/esm/components/CnConversationThread/CnConversationThread.vue3.js.map +1 -0
  36. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue.js +10 -0
  37. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue.js.map +1 -0
  38. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue2.js +116 -0
  39. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue2.js.map +1 -0
  40. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue3.js +24 -0
  41. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue3.js.map +1 -0
  42. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +503 -28
  43. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
  44. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +300 -142
  45. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
  46. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewList.vue.js +10 -0
  47. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewList.vue.js.map +1 -0
  48. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewList.vue2.js +237 -0
  49. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewList.vue2.js.map +1 -0
  50. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewList.vue3.js +120 -0
  51. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewList.vue3.js.map +1 -0
  52. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue.js +10 -0
  53. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue.js.map +1 -0
  54. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue2.js +77 -0
  55. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue2.js.map +1 -0
  56. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue3.js +27 -0
  57. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue3.js.map +1 -0
  58. package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue2.js +169 -12
  59. package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue2.js.map +1 -1
  60. package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue3.js +15 -7
  61. package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue3.js.map +1 -1
  62. package/dist/esm/components/CnHeaderWidgetForm/CnHeaderWidgetForm.vue2.js +37 -3
  63. package/dist/esm/components/CnHeaderWidgetForm/CnHeaderWidgetForm.vue2.js.map +1 -1
  64. package/dist/esm/components/CnHeaderWidgetForm/CnHeaderWidgetForm.vue3.js +44 -16
  65. package/dist/esm/components/CnHeaderWidgetForm/CnHeaderWidgetForm.vue3.js.map +1 -1
  66. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +132 -3
  67. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  68. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +6 -3
  69. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  70. package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue.js +10 -0
  71. package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue.js.map +1 -0
  72. package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue2.js +150 -0
  73. package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue2.js.map +1 -0
  74. package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue3.js +106 -0
  75. package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue3.js.map +1 -0
  76. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue.js +9 -0
  77. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue.js.map +1 -0
  78. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue2.js +47 -0
  79. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue2.js.map +1 -0
  80. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue3.js +17 -0
  81. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue3.js.map +1 -0
  82. package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue2.js +49 -0
  83. package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue2.js.map +1 -1
  84. package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue3.js.map +1 -1
  85. package/dist/esm/components/CnObjectDataWidgetForm/CnObjectDataWidgetForm.vue2.js +6 -0
  86. package/dist/esm/components/CnObjectDataWidgetForm/CnObjectDataWidgetForm.vue2.js.map +1 -1
  87. package/dist/esm/components/CnObjectDataWidgetForm/CnObjectDataWidgetForm.vue3.js.map +1 -1
  88. package/dist/esm/components/CnObjectKanban/CnObjectKanban.vue2.js +46 -0
  89. package/dist/esm/components/CnObjectKanban/CnObjectKanban.vue2.js.map +1 -1
  90. package/dist/esm/components/CnObjectKanban/CnObjectKanban.vue3.js +15 -3
  91. package/dist/esm/components/CnObjectKanban/CnObjectKanban.vue3.js.map +1 -1
  92. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js +37 -1
  93. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js.map +1 -1
  94. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js +29 -13
  95. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js.map +1 -1
  96. package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue2.js +50 -3
  97. package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue2.js.map +1 -1
  98. package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue3.js.map +1 -1
  99. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue.js +10 -0
  100. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue.js.map +1 -0
  101. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue2.js +186 -0
  102. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue2.js.map +1 -0
  103. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue3.js +46 -0
  104. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue3.js.map +1 -0
  105. package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue.js +11 -0
  106. package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue.js.map +1 -0
  107. package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue2.js +298 -0
  108. package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue2.js.map +1 -0
  109. package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue3.js +77 -0
  110. package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue3.js.map +1 -0
  111. package/dist/esm/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue.js +10 -0
  112. package/dist/esm/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue.js.map +1 -0
  113. package/dist/esm/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue2.js +169 -0
  114. package/dist/esm/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue2.js.map +1 -0
  115. package/dist/esm/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue3.js +48 -0
  116. package/dist/esm/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue3.js.map +1 -0
  117. package/dist/esm/components/CnTabs/CnTab.vue2.js +35 -0
  118. package/dist/esm/components/CnTabs/CnTab.vue2.js.map +1 -1
  119. package/dist/esm/components/CnTabs/CnTab.vue3.js.map +1 -1
  120. package/dist/esm/components/CnTabs/CnTabs.vue2.js +120 -7
  121. package/dist/esm/components/CnTabs/CnTabs.vue2.js.map +1 -1
  122. package/dist/esm/components/CnTabs/CnTabs.vue3.js +57 -5
  123. package/dist/esm/components/CnTabs/CnTabs.vue3.js.map +1 -1
  124. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +59 -4
  125. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js.map +1 -1
  126. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js +6 -2
  127. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js.map +1 -1
  128. package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue.js +10 -0
  129. package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue.js.map +1 -0
  130. package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue2.js +484 -0
  131. package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue2.js.map +1 -0
  132. package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue3.js +115 -0
  133. package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue3.js.map +1 -0
  134. package/dist/esm/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue.js +10 -0
  135. package/dist/esm/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue.js.map +1 -0
  136. package/dist/esm/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue2.js +189 -0
  137. package/dist/esm/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue2.js.map +1 -0
  138. package/dist/esm/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue3.js +74 -0
  139. package/dist/esm/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue3.js.map +1 -0
  140. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js +82 -8
  141. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js.map +1 -1
  142. package/dist/esm/index.js +10 -0
  143. package/dist/esm/index.js.map +1 -1
  144. package/dist/esm/l10n/en.json.js +54 -1
  145. package/dist/esm/l10n/en.json.js.map +1 -1
  146. package/dist/esm/l10n/nl.json.js +54 -1
  147. package/dist/esm/l10n/nl.json.js.map +1 -1
  148. package/dist/esm/nextcloud-vue.css +931 -4
  149. package/dist/esm/utils/dateVariant.js +124 -0
  150. package/dist/esm/utils/dateVariant.js.map +1 -0
  151. package/dist/esm/utils/detailActionModel.js +260 -0
  152. package/dist/esm/utils/detailActionModel.js.map +1 -0
  153. package/dist/esm/utils/dueRule.js +84 -0
  154. package/dist/esm/utils/dueRule.js.map +1 -0
  155. package/dist/esm/utils/fetchAggregate.js +37 -1
  156. package/dist/esm/utils/fetchAggregate.js.map +1 -1
  157. package/dist/esm/utils/fetchFilterCounts.js +186 -0
  158. package/dist/esm/utils/fetchFilterCounts.js.map +1 -0
  159. package/dist/esm/utils/libraryWidgetKeys.js +5 -0
  160. package/dist/esm/utils/libraryWidgetKeys.js.map +1 -1
  161. package/dist/esm/utils/readPath.js +30 -0
  162. package/dist/esm/utils/readPath.js.map +1 -0
  163. package/dist/esm/utils/validateManifestV2.compiled.js +2 -2
  164. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  165. package/dist/nextcloud-vue.cjs.js +14970 -8991
  166. package/dist/nextcloud-vue.cjs.js.map +2 -2
  167. package/dist/nextcloud-vue.css +931 -4
  168. package/l10n/en.json +54 -1
  169. package/l10n/nl.json +54 -1
  170. package/package.json +1 -1
  171. package/scripts/.jsdoc-baselines.json +3 -0
  172. package/src/components/CnActionsMenu/CnActionsMenu.vue +14 -1
  173. package/src/components/CnAppNav/CnAppNav.md +26 -0
  174. package/src/components/CnAppNav/CnAppNav.vue +104 -1
  175. package/src/components/CnBannerWidget/CnBannerWidget.vue +365 -10
  176. package/src/components/CnBannerWidgetForm/CnBannerWidgetForm.vue +65 -3
  177. package/src/components/CnBoardView/CnBoardView.vue +77 -0
  178. package/src/components/CnBrandStripe/CnBrandStripe.md +22 -0
  179. package/src/components/CnBrandStripe/CnBrandStripe.vue +100 -0
  180. package/src/components/CnBrandStripe/index.js +4 -0
  181. package/src/components/CnCellRenderer/CnCellRenderer.vue +207 -1
  182. package/src/components/CnConversationThread/CnConversationThread.md +51 -0
  183. package/src/components/CnConversationThread/CnConversationThread.vue +457 -0
  184. package/src/components/CnConversationThread/CnConversationWidget.vue +144 -0
  185. package/src/components/CnConversationThread/index.js +4 -0
  186. package/src/components/CnDetailPage/CnDetailPage.md +16 -0
  187. package/src/components/CnDetailPage/CnDetailPage.vue +683 -48
  188. package/src/components/CnDocumentReviewList/CnDocumentReviewList.md +55 -0
  189. package/src/components/CnDocumentReviewList/CnDocumentReviewList.vue +384 -0
  190. package/src/components/CnDocumentReviewList/CnDocumentReviewWidget.vue +108 -0
  191. package/src/components/CnDocumentReviewList/index.js +4 -0
  192. package/src/components/CnHeaderWidget/CnHeaderWidget.vue +189 -14
  193. package/src/components/CnHeaderWidgetForm/CnHeaderWidgetForm.vue +53 -3
  194. package/src/components/CnIndexPage/CnIndexPage.vue +135 -3
  195. package/src/components/CnNextStepCard/CnNextStepCard.md +40 -0
  196. package/src/components/CnNextStepCard/CnNextStepCard.vue +319 -0
  197. package/src/components/CnNextStepCard/CnNextStepWidget.vue +59 -0
  198. package/src/components/CnNextStepCard/index.js +4 -0
  199. package/src/components/CnObjectDataWidget/CnObjectDataWidget.vue +49 -0
  200. package/src/components/CnObjectDataWidgetForm/CnObjectDataWidgetForm.vue +6 -0
  201. package/src/components/CnObjectKanban/CnObjectKanban.vue +86 -2
  202. package/src/components/CnQuickFilterBar/CnQuickFilterBar.md +3 -0
  203. package/src/components/CnQuickFilterBar/CnQuickFilterBar.vue +60 -1
  204. package/src/components/CnSavedViewsControl/CnSavedViewsControl.vue +50 -3
  205. package/src/components/CnSegmentedControl/CnSegmentedControl.md +46 -0
  206. package/src/components/CnSegmentedControl/CnSegmentedControl.vue +291 -0
  207. package/src/components/CnSegmentedControl/index.js +4 -0
  208. package/src/components/CnStackedBarWidget/CnStackedBarWidget.md +15 -0
  209. package/src/components/CnStackedBarWidget/CnStackedBarWidget.vue +414 -0
  210. package/src/components/CnStackedBarWidget/index.js +14 -0
  211. package/src/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue +224 -0
  212. package/src/components/CnStackedBarWidgetForm/index.js +4 -0
  213. package/src/components/CnTabs/CnTab.vue +35 -0
  214. package/src/components/CnTabs/CnTabs.vue +244 -10
  215. package/src/components/CnTabsWidget/CnTabsWidget.vue +63 -4
  216. package/src/components/CnWeekStripWidget/CnWeekStripWidget.md +31 -0
  217. package/src/components/CnWeekStripWidget/CnWeekStripWidget.vue +668 -0
  218. package/src/components/CnWeekStripWidget/index.js +14 -0
  219. package/src/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue +265 -0
  220. package/src/components/CnWeekStripWidgetForm/index.js +4 -0
  221. package/src/components/CnWidgetGrid/registerDashboardWidgets.js +74 -0
  222. package/src/components/index.js +11 -0
  223. package/src/css/detail-page.css +47 -0
  224. package/src/index.js +9 -0
  225. package/src/schemas/app-manifest-v2.schema.json +389 -1
  226. package/src/schemas/app-manifest.schema.json +2 -1
  227. package/src/utils/dateVariant.js +120 -0
  228. package/src/utils/detailActionModel.js +256 -0
  229. package/src/utils/dueRule.js +94 -0
  230. package/src/utils/fetchAggregate.js +36 -0
  231. package/src/utils/fetchFilterCounts.js +182 -0
  232. package/src/utils/index.js +1 -0
  233. package/src/utils/libraryWidgetKeys.js +5 -0
  234. package/src/utils/readPath.js +27 -0
  235. package/src/utils/validateManifestV2.compiled.js +2 -2
@@ -1,4 +1,4 @@
1
- import { resolveComponent, openBlock, createElementBlock, normalizeStyle, toDisplayString, createCommentVNode, renderSlot, createElementVNode, createBlock, createVNode, withCtx, createTextVNode, createSlots, Fragment, renderList, normalizeClass } from 'vue';
1
+ import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, toDisplayString, createCommentVNode, renderSlot, createElementVNode, createBlock, Fragment, renderList, createVNode, withCtx, createTextVNode, createSlots } from 'vue';
2
2
 
3
3
  const _hoisted_1 = ["href"];
4
4
  const _hoisted_2 = {
@@ -10,101 +10,109 @@ const _hoisted_3 = { class: "cn-detail-page__header-left" };
10
10
  const _hoisted_4 = { class: "cn-detail-page__header-text" };
11
11
  const _hoisted_5 = {
12
12
  key: 0,
13
- class: "cn-detail-page__type-eyebrow",
14
- "data-testid": "cn-detail-page-type-eyebrow"
13
+ class: "cn-detail-page__pills",
14
+ "data-testid": "cn-detail-page-pills"
15
15
  };
16
16
  const _hoisted_6 = {
17
17
  key: 1,
18
- class: "cn-detail-page__title"
18
+ class: "cn-detail-page__type-eyebrow",
19
+ "data-testid": "cn-detail-page-type-eyebrow"
19
20
  };
20
21
  const _hoisted_7 = {
21
22
  key: 2,
23
+ class: "cn-detail-page__title"
24
+ };
25
+ const _hoisted_8 = {
26
+ key: 3,
22
27
  class: "cn-detail-page__description"
23
28
  };
24
- const _hoisted_8 = { class: "cn-detail-page__header-actions" };
25
- const _hoisted_9 = {
29
+ const _hoisted_9 = { class: "cn-detail-page__header-actions" };
30
+ const _hoisted_10 = {
26
31
  key: 0,
27
32
  class: "cn-detail-page__list-nav",
28
33
  "data-testid": "cn-detail-page-list-nav"
29
34
  };
30
- const _hoisted_10 = {
35
+ const _hoisted_11 = {
31
36
  class: "cn-detail-page__list-nav-position",
32
37
  "data-testid": "cn-detail-page-list-position"
33
38
  };
34
- const _hoisted_11 = {
39
+ const _hoisted_12 = {
35
40
  key: 3,
36
41
  class: "cn-detail-page__lock-refusal",
37
42
  role: "alert",
38
43
  "data-testid": "cn-detail-page-lock-refusal"
39
44
  };
40
- const _hoisted_12 = {
41
- key: 4,
42
- class: "cn-detail-page__not-found",
43
- "data-testid": "cn-detail-page-not-found"
44
- };
45
45
  const _hoisted_13 = {
46
46
  key: 5,
47
- class: "cn-detail-page__loading"
47
+ class: "cn-detail-page__not-found",
48
+ "data-testid": "cn-detail-page-not-found"
48
49
  };
49
50
  const _hoisted_14 = {
50
51
  key: 6,
51
- class: "cn-detail-page__error"
52
+ class: "cn-detail-page__loading"
52
53
  };
53
54
  const _hoisted_15 = {
54
55
  key: 7,
55
- class: "cn-detail-page__empty"
56
+ class: "cn-detail-page__error"
56
57
  };
57
58
  const _hoisted_16 = {
58
59
  key: 8,
59
- class: "cn-detail-page__body"
60
+ class: "cn-detail-page__empty"
60
61
  };
61
62
  const _hoisted_17 = {
63
+ key: 9,
64
+ class: "cn-detail-page__body"
65
+ };
66
+ const _hoisted_18 = {
62
67
  key: 0,
63
68
  class: "cn-detail-page__before-body"
64
69
  };
65
- const _hoisted_18 = ["aria-labelledby"];
66
- const _hoisted_19 = {
70
+ const _hoisted_19 = ["aria-labelledby"];
71
+ const _hoisted_20 = {
67
72
  key: 0,
68
73
  class: "cn-detail-page__widget-edit"
69
74
  };
70
- const _hoisted_20 = ["id"];
71
- const _hoisted_21 = {
75
+ const _hoisted_21 = ["id"];
76
+ const _hoisted_22 = {
72
77
  key: 3,
73
78
  class: "cn-detail-page__stats"
74
79
  };
75
- const _hoisted_22 = {
80
+ const _hoisted_23 = {
76
81
  key: 0,
77
82
  class: "cn-detail-page__section-title"
78
83
  };
79
- const _hoisted_23 = { class: "cn-detail-page__stats-table" };
80
- const _hoisted_24 = { key: 0 };
81
- const _hoisted_25 = {
84
+ const _hoisted_24 = { class: "cn-detail-page__stats-table" };
85
+ const _hoisted_25 = { key: 0 };
86
+ const _hoisted_26 = {
82
87
  key: 4,
83
88
  class: "cn-detail-page__content"
84
89
  };
85
- const _hoisted_26 = {
90
+ const _hoisted_27 = {
86
91
  key: 0,
87
92
  class: "cn-detail-page__content"
88
93
  };
89
- const _hoisted_27 = {
94
+ const _hoisted_28 = {
90
95
  key: 1,
91
96
  class: "cn-detail-page__sections"
92
97
  };
93
- const _hoisted_28 = {
98
+ const _hoisted_29 = {
94
99
  key: 6,
95
100
  class: "cn-detail-page__related-collections"
96
101
  };
97
- const _hoisted_29 = {
102
+ const _hoisted_30 = {
98
103
  key: 0,
99
104
  class: "cn-detail-page__relation-links"
100
105
  };
101
- const _hoisted_30 = {
106
+ const _hoisted_31 = {
102
107
  key: 9,
103
108
  class: "cn-detail-page__footer"
104
109
  };
110
+ const _hoisted_32 = ["aria-label"];
111
+ const _hoisted_33 = ["data-testid"];
105
112
 
106
113
  function render(_ctx, _cache, $props, $setup, $data, $options) {
107
114
  const _component_CnIcon = resolveComponent("CnIcon");
115
+ const _component_CnStatusBadge = resolveComponent("CnStatusBadge");
108
116
  const _component_CnTranslatedBadge = resolveComponent("CnTranslatedBadge");
109
117
  const _component_CnSummaryAggregates = resolveComponent("CnSummaryAggregates");
110
118
  const _component_ChevronLeft = resolveComponent("ChevronLeft");
@@ -114,11 +122,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
114
122
  const _component_CnActionButtons = resolveComponent("CnActionButtons");
115
123
  const _component_Pencil = resolveComponent("Pencil");
116
124
  const _component_CnBuildiqEditButton = resolveComponent("CnBuildiqEditButton");
125
+ const _component_NcActionSeparator = resolveComponent("NcActionSeparator");
126
+ const _component_NcActionCaption = resolveComponent("NcActionCaption");
117
127
  const _component_NcActionLink = resolveComponent("NcActionLink");
118
128
  const _component_NcActionButton = resolveComponent("NcActionButton");
119
- const _component_NcActionSeparator = resolveComponent("NcActionSeparator");
120
129
  const _component_CnActionsMenu = resolveComponent("CnActionsMenu");
121
130
  const _component_CnLockedBanner = resolveComponent("CnLockedBanner");
131
+ const _component_CnNextStepCard = resolveComponent("CnNextStepCard");
122
132
  const _component_FileQuestionOutline = resolveComponent("FileQuestionOutline");
123
133
  const _component_ArrowLeft = resolveComponent("ArrowLeft");
124
134
  const _component_NcEmptyContent = resolveComponent("NcEmptyContent");
@@ -137,11 +147,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
137
147
  const _component_CnRelationLinkModal = resolveComponent("CnRelationLinkModal");
138
148
 
139
149
  return (openBlock(), createElementBlock("div", {
140
- class: "cn-detail-page",
150
+ class: normalizeClass(["cn-detail-page", { 'cn-detail-page--with-side': $options.showsSideColumn }]),
141
151
  "data-testid": "cn-detail-page",
142
152
  style: normalizeStyle({ maxWidth: $props.maxWidth })
143
153
  }, [
144
- ($options.primaryActionLabel && !$data.objectNotFound)
154
+ ($options.effectivePrimaryLabel && !$data.objectNotFound)
145
155
  ? (openBlock(), createElementBlock("a", {
146
156
  key: 0,
147
157
  href: `#${$options.primaryActionAnchorId}`,
@@ -170,11 +180,25 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
170
180
  : createCommentVNode("v-if", true)
171
181
  ]),
172
182
  createElementVNode("div", _hoisted_4, [
183
+ ($options.headerPills.length > 0)
184
+ ? (openBlock(), createElementBlock("div", _hoisted_5, [
185
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.headerPills, (pill) => {
186
+ return (openBlock(), createBlock(_component_CnStatusBadge, {
187
+ key: pill.key,
188
+ label: pill.label,
189
+ colorKey: pill.colorKey,
190
+ colorMap: pill.colorMap,
191
+ variant: pill.variant,
192
+ "data-testid": `cn-detail-page-pill-${pill.key}`
193
+ }, null, 8 /* PROPS */, ["label", "colorKey", "colorMap", "variant", "data-testid"]))
194
+ }), 128 /* KEYED_FRAGMENT */))
195
+ ]))
196
+ : createCommentVNode("v-if", true),
173
197
  ($options.typeEyebrow)
174
- ? (openBlock(), createElementBlock("p", _hoisted_5, toDisplayString($options.typeEyebrow), 1 /* TEXT */))
198
+ ? (openBlock(), createElementBlock("p", _hoisted_6, toDisplayString($options.typeEyebrow), 1 /* TEXT */))
175
199
  : createCommentVNode("v-if", true),
176
200
  ($options.displayTitle)
177
- ? (openBlock(), createElementBlock("h2", _hoisted_6, toDisplayString($options.displayTitle), 1 /* TEXT */))
201
+ ? (openBlock(), createElementBlock("h2", _hoisted_7, toDisplayString($options.displayTitle), 1 /* TEXT */))
178
202
  : createCommentVNode("v-if", true),
179
203
  renderSlot(_ctx.$slots, "translation-badge", { object: $options.resolvedObject }, () => [
180
204
  ($options.resolvedObject)
@@ -185,20 +209,20 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
185
209
  : createCommentVNode("v-if", true)
186
210
  ]),
187
211
  ($props.description)
188
- ? (openBlock(), createElementBlock("p", _hoisted_7, toDisplayString($options.resolvedDescription), 1 /* TEXT */))
212
+ ? (openBlock(), createElementBlock("p", _hoisted_8, toDisplayString($options.resolvedDescription), 1 /* TEXT */))
189
213
  : createCommentVNode("v-if", true),
190
214
  ($props.summaryAggregates && $props.summaryAggregates.length > 0)
191
215
  ? (openBlock(), createBlock(_component_CnSummaryAggregates, {
192
- key: 3,
216
+ key: 4,
193
217
  aggregates: $props.summaryAggregates
194
218
  }, null, 8 /* PROPS */, ["aggregates"]))
195
219
  : createCommentVNode("v-if", true)
196
220
  ])
197
221
  ])
198
222
  ]),
199
- createElementVNode("div", _hoisted_8, [
223
+ createElementVNode("div", _hoisted_9, [
200
224
  ($props.listNavigation && $props.listNavigation.available)
201
- ? (openBlock(), createElementBlock("div", _hoisted_9, [
225
+ ? (openBlock(), createElementBlock("div", _hoisted_10, [
202
226
  createVNode(_component_NcButton, {
203
227
  variant: "tertiary",
204
228
  disabled: $props.listNavigation.isFirst,
@@ -213,7 +237,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
213
237
  ]),
214
238
  _: 1 /* STABLE */
215
239
  }, 8 /* PROPS */, ["disabled", "to", "aria-label", "title"]),
216
- createElementVNode("span", _hoisted_10, toDisplayString($options.listPositionLabel), 1 /* TEXT */),
240
+ createElementVNode("span", _hoisted_11, toDisplayString($options.listPositionLabel), 1 /* TEXT */),
217
241
  createVNode(_component_NcButton, {
218
242
  variant: "tertiary",
219
243
  disabled: $props.listNavigation.isLast,
@@ -230,21 +254,53 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
230
254
  }, 8 /* PROPS */, ["disabled", "to", "aria-label", "title"])
231
255
  ]))
232
256
  : createCommentVNode("v-if", true),
233
- ($options.primaryActionLabel)
257
+ ($options.effectivePrimaryLabel && !$options.showsNextStepCard)
234
258
  ? (openBlock(), createBlock(_component_NcButton, {
235
259
  key: 1,
236
260
  id: $options.primaryActionAnchorId,
237
261
  ref: "primaryActionButton",
238
262
  variant: "primary",
263
+ href: $options.primaryActionHref || undefined,
264
+ target: $options.primaryActionHref ? $options.primaryActionTarget : undefined,
265
+ disabled: $options.primaryActionDisabled,
239
266
  "data-testid": "cn-detail-page-primary-action",
240
- onClick: _cache[3] || (_cache[3] = $event => (_ctx.$emit('primary-action', $props.primaryAction)))
267
+ onClick: $options.onPrimaryActionClick
241
268
  }, {
242
269
  default: withCtx(() => [
243
- createTextVNode(toDisplayString($options.primaryActionLabel), 1 /* TEXT */)
270
+ createTextVNode(toDisplayString($options.effectivePrimaryLabel), 1 /* TEXT */)
244
271
  ]),
245
272
  _: 1 /* STABLE */
246
- }, 8 /* PROPS */, ["id"]))
273
+ }, 8 /* PROPS */, ["id", "href", "target", "disabled", "onClick"]))
247
274
  : createCommentVNode("v-if", true),
275
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.quickActionEntries, (entry) => {
276
+ return (openBlock(), createBlock(_component_NcButton, {
277
+ key: `quick-${entry.id}`,
278
+ variant: "secondary",
279
+ href: entry.href || undefined,
280
+ target: entry.href ? (entry.linkTarget || undefined) : undefined,
281
+ disabled: entry.disabled,
282
+ "data-testid": `cn-detail-page-quick-${entry.id}`,
283
+ onClick: $event => ($options.onPinnedActionClick(entry))
284
+ }, createSlots({
285
+ default: withCtx(() => [
286
+ createTextVNode(" " + toDisplayString(entry.label), 1 /* TEXT */)
287
+ ]),
288
+ _: 2 /* DYNAMIC */
289
+ }, [
290
+ (entry.iconName)
291
+ ? {
292
+ name: "icon",
293
+ fn: withCtx(() => [
294
+ createVNode(_component_CnIcon, {
295
+ name: entry.iconName,
296
+ size: 20
297
+ }, null, 8 /* PROPS */, ["name"])
298
+ ]),
299
+ key: "0"
300
+ }
301
+ : undefined
302
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["href", "target", "disabled", "data-testid", "onClick"]))
303
+ }), 128 /* KEYED_FRAGMENT */)),
248
304
  ($options.showsLifecycleActions)
249
305
  ? (openBlock(), createBlock(_component_CnLifecycleActions, {
250
306
  key: 2,
@@ -253,7 +309,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
253
309
  config: $props.lifecycleActions,
254
310
  schema: $options.currentSchema,
255
311
  display: "menu",
256
- onEntries: _cache[4] || (_cache[4] = $event => ($data.lifecycleMenuEntries = $event)),
312
+ onEntries: _cache[3] || (_cache[3] = $event => ($data.lifecycleMenuEntries = $event)),
257
313
  onTransitioned: $options.onTransitioned,
258
314
  onReload: $options.onLifecycleReload
259
315
  }, null, 8 /* PROPS */, ["objectId", "object", "config", "schema", "onTransitioned", "onReload"]))
@@ -264,7 +320,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
264
320
  actions: $options.effectiveHeaderActions,
265
321
  display: "menu",
266
322
  "data-testid": "cn-detail-page-header-actions",
267
- onEntries: _cache[5] || (_cache[5] = $event => ($data.menuHeaderActions = $event)),
323
+ onEntries: _cache[4] || (_cache[4] = $event => ($data.menuHeaderActions = $event)),
268
324
  onCreated: $options.onLifecycleReload
269
325
  }, null, 8 /* PROPS */, ["actions", "onCreated"]))
270
326
  : createCommentVNode("v-if", true),
@@ -296,11 +352,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
296
352
  : createCommentVNode("v-if", true),
297
353
  createVNode(_component_CnBuildiqEditButton),
298
354
  createVNode(_component_CnActionsMenu, {
299
- showRefresh: $options.effectiveHeaderShowRefresh,
355
+ showRefresh: $options.menuShowsRefresh,
300
356
  refreshing: $options.effectiveRefreshing,
301
- showRequestFeature: $props.showRequestFeature,
302
- showReportBug: $props.showReportBug,
303
- showDocumentation: $props.showDocumentation,
357
+ showRequestFeature: $props.showRequestFeature && $options.menuShowsHelpLinks,
358
+ showReportBug: $props.showReportBug && $options.menuShowsHelpLinks,
359
+ showDocumentation: $props.showDocumentation && $options.menuShowsHelpLinks,
360
+ actionsMenuLabel: $options.actionsMenuName,
361
+ hasPrimaryItems: $options.headerMenuGroups.length > 0,
304
362
  documentationUrl: $props.documentationUrl,
305
363
  docsAnchor: $options.resolvedPageId,
306
364
  documentationLabel: $props.documentationLabel || undefined,
@@ -312,83 +370,101 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
312
370
  onRefresh: $options.onHeaderRefresh,
313
371
  onRequestFeature: $options.onHeaderRequestFeature
314
372
  }, createSlots({ _: 2 /* DYNAMIC */ }, [
315
- ($options.headerMenuEntries.length)
373
+ ($options.headerMenuGroups.length)
316
374
  ? {
317
375
  name: "primary-items",
318
376
  fn: withCtx(() => [
319
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.headerMenuEntries, (entry) => {
377
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.headerMenuGroups, (group, groupIndex) => {
320
378
  return (openBlock(), createElementBlock(Fragment, null, [
321
- (entry.href)
322
- ? (openBlock(), createBlock(_component_NcActionLink, {
323
- key: `${entry.id}-link`,
324
- href: entry.href,
325
- target: entry.linkTarget || undefined,
326
- "data-testid": entry.testid
327
- }, createSlots({
328
- default: withCtx(() => [
329
- createTextVNode(" " + toDisplayString(entry.label), 1 /* TEXT */)
330
- ]),
331
- _: 2 /* DYNAMIC */
332
- }, [
333
- (entry.iconName || entry.iconClass)
334
- ? {
335
- name: "icon",
336
- fn: withCtx(() => [
337
- (entry.iconName)
338
- ? (openBlock(), createBlock(_component_CnIcon, {
339
- key: 0,
340
- name: entry.iconName,
341
- size: 20
342
- }, null, 8 /* PROPS */, ["name"]))
343
- : (openBlock(), createElementBlock("span", {
344
- key: 1,
345
- class: normalizeClass(entry.iconClass)
346
- }, null, 2 /* CLASS */))
347
- ]),
348
- key: "0"
349
- }
350
- : undefined
351
- ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["href", "target", "data-testid"]))
352
- : (openBlock(), createBlock(_component_NcActionButton, {
353
- key: entry.id,
354
- "data-testid": entry.testid,
355
- disabled: entry.disabled,
356
- "aria-pressed": entry.pressed === null ? null : String(entry.pressed),
357
- closeAfterClick: true,
358
- onClick: $event => (entry.run())
359
- }, createSlots({
360
- default: withCtx(() => [
361
- createTextVNode(" " + toDisplayString(entry.label), 1 /* TEXT */)
362
- ]),
363
- _: 2 /* DYNAMIC */
364
- }, [
365
- (entry.iconName || entry.iconClass)
366
- ? {
367
- name: "icon",
368
- fn: withCtx(() => [
369
- (entry.iconName)
370
- ? (openBlock(), createBlock(_component_CnIcon, {
371
- key: 0,
372
- name: entry.iconName,
373
- size: 20
374
- }, null, 8 /* PROPS */, ["name"]))
375
- : (openBlock(), createElementBlock("span", {
376
- key: 1,
377
- class: normalizeClass(entry.iconClass)
378
- }, null, 2 /* CLASS */))
379
- ]),
380
- key: "0"
381
- }
382
- : undefined
383
- ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "disabled", "aria-pressed", "onClick"]))
379
+ (groupIndex > 0)
380
+ ? (openBlock(), createBlock(_component_NcActionSeparator, {
381
+ key: `${group.key}-separator`
382
+ }))
383
+ : createCommentVNode("v-if", true),
384
+ (group.label)
385
+ ? (openBlock(), createBlock(_component_NcActionCaption, {
386
+ key: `${group.key}-caption`,
387
+ name: group.label,
388
+ "data-testid": `cn-detail-page-action-group-${group.key}`
389
+ }, null, 8 /* PROPS */, ["name", "data-testid"]))
390
+ : createCommentVNode("v-if", true),
391
+ (openBlock(true), createElementBlock(Fragment, null, renderList(group.entries, (entry) => {
392
+ return (openBlock(), createElementBlock(Fragment, null, [
393
+ (entry.href)
394
+ ? (openBlock(), createBlock(_component_NcActionLink, {
395
+ key: `${entry.id}-link`,
396
+ href: entry.href,
397
+ target: entry.linkTarget || undefined,
398
+ "data-testid": entry.testid
399
+ }, createSlots({
400
+ default: withCtx(() => [
401
+ createTextVNode(" " + toDisplayString(entry.label), 1 /* TEXT */)
402
+ ]),
403
+ _: 2 /* DYNAMIC */
404
+ }, [
405
+ (entry.iconName || entry.iconClass)
406
+ ? {
407
+ name: "icon",
408
+ fn: withCtx(() => [
409
+ (entry.iconName)
410
+ ? (openBlock(), createBlock(_component_CnIcon, {
411
+ key: 0,
412
+ name: entry.iconName,
413
+ size: 20
414
+ }, null, 8 /* PROPS */, ["name"]))
415
+ : (openBlock(), createElementBlock("span", {
416
+ key: 1,
417
+ class: normalizeClass(entry.iconClass)
418
+ }, null, 2 /* CLASS */))
419
+ ]),
420
+ key: "0"
421
+ }
422
+ : undefined
423
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["href", "target", "data-testid"]))
424
+ : (openBlock(), createBlock(_component_NcActionButton, {
425
+ key: entry.id,
426
+ "data-testid": entry.testid,
427
+ disabled: entry.disabled,
428
+ "aria-pressed": entry.pressed === null ? null : String(entry.pressed),
429
+ closeAfterClick: true,
430
+ onClick: $event => (entry.run())
431
+ }, createSlots({
432
+ default: withCtx(() => [
433
+ createTextVNode(" " + toDisplayString(entry.label), 1 /* TEXT */)
434
+ ]),
435
+ _: 2 /* DYNAMIC */
436
+ }, [
437
+ (entry.iconName || entry.iconClass)
438
+ ? {
439
+ name: "icon",
440
+ fn: withCtx(() => [
441
+ (entry.iconName)
442
+ ? (openBlock(), createBlock(_component_CnIcon, {
443
+ key: 0,
444
+ name: entry.iconName,
445
+ size: 20
446
+ }, null, 8 /* PROPS */, ["name"]))
447
+ : (openBlock(), createElementBlock("span", {
448
+ key: 1,
449
+ class: normalizeClass(entry.iconClass)
450
+ }, null, 2 /* CLASS */))
451
+ ]),
452
+ key: "0"
453
+ }
454
+ : undefined
455
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "disabled", "aria-pressed", "onClick"]))
456
+ ], 64 /* STABLE_FRAGMENT */))
457
+ }), 256 /* UNKEYED_FRAGMENT */))
384
458
  ], 64 /* STABLE_FRAGMENT */))
385
459
  }), 256 /* UNKEYED_FRAGMENT */)),
386
- createVNode(_component_NcActionSeparator)
460
+ ($options.menuShowsHelpLinks)
461
+ ? (openBlock(), createBlock(_component_NcActionSeparator, { key: 0 }))
462
+ : createCommentVNode("v-if", true)
387
463
  ]),
388
464
  key: "0"
389
465
  }
390
466
  : undefined
391
- ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["showRefresh", "refreshing", "showRequestFeature", "showReportBug", "showDocumentation", "documentationUrl", "docsAnchor", "documentationLabel", "widgetId", "title", "surface", "onRefresh", "onRequestFeature"])
467
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["showRefresh", "refreshing", "showRequestFeature", "showReportBug", "showDocumentation", "actionsMenuLabel", "hasPrimaryItems", "documentationUrl", "docsAnchor", "documentationLabel", "widgetId", "title", "surface", "onRefresh", "onRequestFeature"])
392
468
  ])
393
469
  ]))
394
470
  : createCommentVNode("v-if", true),
@@ -403,10 +479,45 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
403
479
  }, null, 8 /* PROPS */, ["lockedBy", "lockedByMe", "expiresAt", "unlocking", "onUnlock"]))
404
480
  : createCommentVNode("v-if", true),
405
481
  ($data.editLockRefusal)
406
- ? (openBlock(), createElementBlock("p", _hoisted_11, toDisplayString($data.editLockRefusal), 1 /* TEXT */))
482
+ ? (openBlock(), createElementBlock("p", _hoisted_12, toDisplayString($data.editLockRefusal), 1 /* TEXT */))
483
+ : createCommentVNode("v-if", true),
484
+ ($options.showsNextStepCard)
485
+ ? (openBlock(), createBlock(_component_CnNextStepCard, {
486
+ key: 4,
487
+ class: "cn-detail-page__next-step",
488
+ title: $options.nextStepCard.title,
489
+ titleTag: "h3",
490
+ items: $options.nextStepCard.items,
491
+ after: $options.nextStepCard.after,
492
+ "data-testid": "cn-detail-page-next-step"
493
+ }, createSlots({ _: 2 /* DYNAMIC */ }, [
494
+ ($options.effectivePrimaryLabel)
495
+ ? {
496
+ name: "action",
497
+ fn: withCtx(() => [
498
+ createVNode(_component_NcButton, {
499
+ id: $options.primaryActionAnchorId,
500
+ ref: "primaryActionButton",
501
+ variant: "primary",
502
+ href: $options.primaryActionHref || undefined,
503
+ target: $options.primaryActionHref ? $options.primaryActionTarget : undefined,
504
+ disabled: $options.primaryActionDisabled,
505
+ "data-testid": "cn-detail-page-primary-action",
506
+ onClick: $options.onPrimaryActionClick
507
+ }, {
508
+ default: withCtx(() => [
509
+ createTextVNode(toDisplayString($options.effectivePrimaryLabel), 1 /* TEXT */)
510
+ ]),
511
+ _: 1 /* STABLE */
512
+ }, 8 /* PROPS */, ["id", "href", "target", "disabled", "onClick"])
513
+ ]),
514
+ key: "0"
515
+ }
516
+ : undefined
517
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "items", "after"]))
407
518
  : createCommentVNode("v-if", true),
408
519
  ($data.objectNotFound)
409
- ? (openBlock(), createElementBlock("div", _hoisted_12, [
520
+ ? (openBlock(), createElementBlock("div", _hoisted_13, [
410
521
  renderSlot(_ctx.$slots, "not-found", { target: $options.notFoundTarget }, () => [
411
522
  createVNode(_component_NcEmptyContent, {
412
523
  name: $options.notFoundLabels.name,
@@ -442,12 +553,12 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
442
553
  ])
443
554
  ]))
444
555
  : ($options.showLoadingState)
445
- ? (openBlock(), createElementBlock("div", _hoisted_13, [
556
+ ? (openBlock(), createElementBlock("div", _hoisted_14, [
446
557
  createVNode(_component_NcLoadingIcon, { size: 32 }),
447
558
  createElementVNode("span", null, toDisplayString($props.loadingLabel), 1 /* TEXT */)
448
559
  ]))
449
560
  : ($props.error)
450
- ? (openBlock(), createElementBlock("div", _hoisted_14, [
561
+ ? (openBlock(), createElementBlock("div", _hoisted_15, [
451
562
  renderSlot(_ctx.$slots, "error", {}, () => [
452
563
  createVNode(_component_NcEmptyContent, { name: $props.errorMessage }, {
453
564
  icon: withCtx(() => [
@@ -476,7 +587,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
476
587
  ])
477
588
  ]))
478
589
  : ($props.empty)
479
- ? (openBlock(), createElementBlock("div", _hoisted_15, [
590
+ ? (openBlock(), createElementBlock("div", _hoisted_16, [
480
591
  renderSlot(_ctx.$slots, "empty", {}, () => [
481
592
  createVNode(_component_NcEmptyContent, { name: $props.emptyLabel }, {
482
593
  icon: withCtx(() => [
@@ -489,9 +600,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
489
600
  }, 8 /* PROPS */, ["name"])
490
601
  ])
491
602
  ]))
492
- : (openBlock(), createElementBlock("div", _hoisted_16, [
603
+ : (openBlock(), createElementBlock("div", _hoisted_17, [
493
604
  (_ctx.$slots['before-body'] || _ctx.$slots['before-body'])
494
- ? (openBlock(), createElementBlock("div", _hoisted_17, [
605
+ ? (openBlock(), createElementBlock("div", _hoisted_18, [
495
606
  renderSlot(_ctx.$slots, "before-body", {
496
607
  object: $options.resolvedObject,
497
608
  schema: $options.currentSchema,
@@ -526,7 +637,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
526
637
  "aria-labelledby": $options.showGridTitle(item) ? `widget-title-${item.id}` : undefined
527
638
  }, [
528
639
  ($options.showsCog(item))
529
- ? (openBlock(), createElementBlock("div", _hoisted_19, [
640
+ ? (openBlock(), createElementBlock("div", _hoisted_20, [
530
641
  createVNode(_component_NcButton, {
531
642
  variant: "tertiary",
532
643
  "aria-label": _ctx.t('nextcloud-vue', 'Configure widget'),
@@ -544,7 +655,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
544
655
  key: 1,
545
656
  id: `widget-title-${item.id}`,
546
657
  class: "cn-detail-page__widget-title"
547
- }, toDisplayString($options.gridTitle(item)), 9 /* TEXT, PROPS */, _hoisted_20))
658
+ }, toDisplayString($options.gridTitle(item)), 9 /* TEXT, PROPS */, _hoisted_21))
548
659
  : createCommentVNode("v-if", true),
549
660
  renderSlot(_ctx.$slots, `widget-${item.widgetId}`, {
550
661
  item: item,
@@ -576,21 +687,21 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
576
687
  onOpenIntegration: $options.onAutoBodyOpenIntegration
577
688
  }, null, 8 /* PROPS */, ["widget", "showCardTitle", "objectId", "object", "objectType", "schemaObject", "register", "schema", "store", "surface", "integrationContext", "hideEmpty", "cnRegistry", "availableWidgets", "onGeoSaved", "onOpenIntegration"])
578
689
  ])
579
- ], 10 /* CLASS, PROPS */, _hoisted_18)
690
+ ], 10 /* CLASS, PROPS */, _hoisted_19)
580
691
  ]),
581
692
  _: 3 /* FORWARDED */
582
693
  }, 8 /* PROPS */, ["layout", "editable", "columnOpts", "onLayoutChange"]))
583
694
  : createCommentVNode("v-if", true),
584
695
  ($options.hasStats)
585
- ? (openBlock(), createElementBlock("div", _hoisted_21, [
696
+ ? (openBlock(), createElementBlock("div", _hoisted_22, [
586
697
  renderSlot(_ctx.$slots, "stats-header", {}, () => [
587
698
  ($props.statsTitle)
588
- ? (openBlock(), createElementBlock("h3", _hoisted_22, toDisplayString($options.resolvedStatsTitle), 1 /* TEXT */))
699
+ ? (openBlock(), createElementBlock("h3", _hoisted_23, toDisplayString($options.resolvedStatsTitle), 1 /* TEXT */))
589
700
  : createCommentVNode("v-if", true)
590
701
  ]),
591
- createElementVNode("table", _hoisted_23, [
702
+ createElementVNode("table", _hoisted_24, [
592
703
  ($props.statsColumns.length > 0)
593
- ? (openBlock(), createElementBlock("thead", _hoisted_24, [
704
+ ? (openBlock(), createElementBlock("thead", _hoisted_25, [
594
705
  createElementVNode("tr", null, [
595
706
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.statsColumns, (col) => {
596
707
  return (openBlock(), createElementBlock("th", {
@@ -621,14 +732,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
621
732
  ])
622
733
  ])
623
734
  ]))
624
- : (openBlock(), createElementBlock("div", _hoisted_25, [
735
+ : (openBlock(), createElementBlock("div", _hoisted_26, [
625
736
  (!$options.hasBodyGrid)
626
- ? (openBlock(), createElementBlock("div", _hoisted_26, [
737
+ ? (openBlock(), createElementBlock("div", _hoisted_27, [
627
738
  renderSlot(_ctx.$slots, "default")
628
739
  ]))
629
740
  : createCommentVNode("v-if", true),
630
741
  (_ctx.$slots.sections)
631
- ? (openBlock(), createElementBlock("div", _hoisted_27, [
742
+ ? (openBlock(), createElementBlock("div", _hoisted_28, [
632
743
  renderSlot(_ctx.$slots, "sections")
633
744
  ]))
634
745
  : createCommentVNode("v-if", true)
@@ -643,9 +754,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
643
754
  }, null, 8 /* PROPS */, ["sections", "context"]))
644
755
  : createCommentVNode("v-if", true),
645
756
  (($props.relatedCollections && $props.relatedCollections.length > 0) || ($props.relationLinks && $props.relationLinks.length > 0))
646
- ? (openBlock(), createElementBlock("div", _hoisted_28, [
757
+ ? (openBlock(), createElementBlock("div", _hoisted_29, [
647
758
  ($props.relationLinks && $props.relationLinks.length > 0)
648
- ? (openBlock(), createElementBlock("div", _hoisted_29, [
759
+ ? (openBlock(), createElementBlock("div", _hoisted_30, [
649
760
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.relationLinks, (link, li) => {
650
761
  return (openBlock(), createBlock(_component_NcButton, {
651
762
  key: li,
@@ -692,20 +803,67 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
692
803
  }, null, 8 /* PROPS */, ["sections", "context"]))
693
804
  : createCommentVNode("v-if", true),
694
805
  (_ctx.$slots.footer)
695
- ? (openBlock(), createElementBlock("div", _hoisted_30, [
806
+ ? (openBlock(), createElementBlock("div", _hoisted_31, [
696
807
  renderSlot(_ctx.$slots, "footer")
697
808
  ]))
698
809
  : createCommentVNode("v-if", true)
699
810
  ])),
811
+ ($options.showsSideColumn)
812
+ ? (openBlock(), createElementBlock("aside", {
813
+ key: 10,
814
+ class: "cn-detail-page__side",
815
+ "aria-label": $options.sideColumnLabel,
816
+ "data-testid": "cn-detail-page-side"
817
+ }, [
818
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.sideColumnWidgets, (widget) => {
819
+ return (openBlock(), createElementBlock("div", {
820
+ key: `side-${widget.id}`,
821
+ class: "cn-detail-page__side-item",
822
+ "data-testid": `cn-detail-page-side-${widget.id}`
823
+ }, [
824
+ renderSlot(_ctx.$slots, `widget-${widget.id}`, {
825
+ item: { id: widget.id, widgetId: widget.id },
826
+ widget: widget,
827
+ objectId: $props.objectId,
828
+ object: $options.resolvedObject,
829
+ objectData: $options.resolvedObject,
830
+ objectType: $options.resolvedObjectType,
831
+ register: $props.register,
832
+ schema: $props.schema
833
+ }, () => [
834
+ createVNode(_component_CnDetailWidgetHost, {
835
+ widget: widget,
836
+ chrome: "card",
837
+ showCardTitle: true,
838
+ objectId: $props.objectId,
839
+ object: $options.currentObject,
840
+ objectType: $options.resolvedObjectType,
841
+ schemaObject: $options.currentSchema,
842
+ register: $props.register,
843
+ schema: $props.schema,
844
+ store: $options.effectiveObjectStore,
845
+ surface: $props.surface,
846
+ integrationContext: $options.effectiveIntegrationContext,
847
+ hideEmpty: $props.hideEmpty,
848
+ cnRegistry: $options.cnRegistry,
849
+ availableWidgets: _ctx.widgets,
850
+ onGeoSaved: $options.onGeoSaved,
851
+ onOpenIntegration: $options.onAutoBodyOpenIntegration
852
+ }, null, 8 /* PROPS */, ["widget", "objectId", "object", "objectType", "schemaObject", "register", "schema", "store", "surface", "integrationContext", "hideEmpty", "cnRegistry", "availableWidgets", "onGeoSaved", "onOpenIntegration"])
853
+ ])
854
+ ], 8 /* PROPS */, _hoisted_33))
855
+ }), 128 /* KEYED_FRAGMENT */))
856
+ ], 8 /* PROPS */, _hoisted_32))
857
+ : createCommentVNode("v-if", true),
700
858
  ($data.showWidgetConfig)
701
859
  ? (openBlock(), createBlock(_component_CnWidgetStyleEditorModal, {
702
- key: 9,
860
+ key: 11,
703
861
  show: $data.showWidgetConfig,
704
862
  widget: $options.configWidget,
705
863
  deletable: true,
706
864
  onSave: $options.onWidgetConfigSave,
707
865
  onDelete: $options.onWidgetConfigDelete,
708
- onClose: _cache[6] || (_cache[6] = $event => ($data.showWidgetConfig = false))
866
+ onClose: _cache[5] || (_cache[5] = $event => ($data.showWidgetConfig = false))
709
867
  }, null, 8 /* PROPS */, ["show", "widget", "onSave", "onDelete"]))
710
868
  : createCommentVNode("v-if", true),
711
869
  renderSlot(_ctx.$slots, "form-dialog", {
@@ -752,7 +910,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
752
910
  ]),
753
911
  ($data.activeRelationLink)
754
912
  ? (openBlock(), createBlock(_component_CnRelationLinkModal, {
755
- key: 10,
913
+ key: 12,
756
914
  title: $data.activeRelationLink.title || undefined,
757
915
  selectLabel: $data.activeRelationLink.selectLabel || undefined,
758
916
  register: $data.activeRelationLink.register,
@@ -763,10 +921,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
763
921
  currentObject: $options.currentObject || {},
764
922
  fkField: $data.activeRelationLink.fkField,
765
923
  onLinked: $options.onRelationLinked,
766
- onClose: _cache[7] || (_cache[7] = $event => ($data.activeRelationLink = null))
924
+ onClose: _cache[6] || (_cache[6] = $event => ($data.activeRelationLink = null))
767
925
  }, null, 8 /* PROPS */, ["title", "selectLabel", "register", "schema", "labelField", "allowCreate", "currentType", "currentObject", "fkField", "onLinked"]))
768
926
  : createCommentVNode("v-if", true)
769
- ], 4 /* STYLE */))
927
+ ], 6 /* CLASS, STYLE */))
770
928
  }
771
929
 
772
930
  export { render };