@conduction/nextcloud-vue 2.92.0 → 2.94.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 (199) hide show
  1. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue2.js +1 -1
  2. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue2.js.map +1 -1
  3. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue3.js +2 -1
  4. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue3.js.map +1 -1
  5. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue.js +1 -1
  6. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue2.js +28 -8
  7. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue2.js.map +1 -1
  8. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue3.js +37 -2
  9. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue3.js.map +1 -1
  10. package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js +57 -4
  11. package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js.map +1 -1
  12. package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js +44 -17
  13. package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js.map +1 -1
  14. package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue.js +1 -1
  15. package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue2.js +44 -2
  16. package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue2.js.map +1 -1
  17. package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue3.js +140 -59
  18. package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue3.js.map +1 -1
  19. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue.js +1 -1
  20. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue2.js +139 -3
  21. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue2.js.map +1 -1
  22. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue3.js +60 -12
  23. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue3.js.map +1 -1
  24. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue.js +1 -1
  25. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +111 -42
  26. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
  27. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +117 -73
  28. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
  29. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +34 -39
  30. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
  31. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js +7 -7
  32. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
  33. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +5 -3
  34. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
  35. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
  36. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue.js +1 -1
  37. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js +6 -4
  38. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js.map +1 -1
  39. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue3.js.map +1 -1
  40. package/dist/esm/components/CnFeaturesAndRoadmapPage/CnFeaturesAndRoadmapPage.vue2.js +46 -0
  41. package/dist/esm/components/CnFeaturesAndRoadmapPage/CnFeaturesAndRoadmapPage.vue2.js.map +1 -1
  42. package/dist/esm/components/CnFeaturesAndRoadmapPage/CnFeaturesAndRoadmapPage.vue3.js +6 -2
  43. package/dist/esm/components/CnFeaturesAndRoadmapPage/CnFeaturesAndRoadmapPage.vue3.js.map +1 -1
  44. package/dist/esm/components/CnFeaturesAndRoadmapView/CnFeaturesAndRoadmapView.vue.js +1 -1
  45. package/dist/esm/components/CnFeaturesAndRoadmapView/CnFeaturesAndRoadmapView.vue2.js +82 -9
  46. package/dist/esm/components/CnFeaturesAndRoadmapView/CnFeaturesAndRoadmapView.vue2.js.map +1 -1
  47. package/dist/esm/components/CnFeaturesAndRoadmapView/CnFeaturesAndRoadmapView.vue3.js +104 -90
  48. package/dist/esm/components/CnFeaturesAndRoadmapView/CnFeaturesAndRoadmapView.vue3.js.map +1 -1
  49. package/dist/esm/components/CnFeaturesBoard/CnFeaturesBoard.vue.js +9 -0
  50. package/dist/esm/components/CnFeaturesBoard/CnFeaturesBoard.vue.js.map +1 -0
  51. package/dist/esm/components/CnFeaturesBoard/CnFeaturesBoard.vue2.js +355 -0
  52. package/dist/esm/components/CnFeaturesBoard/CnFeaturesBoard.vue2.js.map +1 -0
  53. package/dist/esm/components/CnFeaturesBoard/CnFeaturesBoard.vue3.js +462 -0
  54. package/dist/esm/components/CnFeaturesBoard/CnFeaturesBoard.vue3.js.map +1 -0
  55. package/dist/esm/components/CnFormDialog/CnFormDialog.vue.js +1 -1
  56. package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js +21 -0
  57. package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js.map +1 -1
  58. package/dist/esm/components/CnFormDialog/CnFormDialog.vue3.js +402 -391
  59. package/dist/esm/components/CnFormDialog/CnFormDialog.vue3.js.map +1 -1
  60. package/dist/esm/components/CnIcon/semanticIcons.js +2 -2
  61. package/dist/esm/components/CnIcon/semanticIcons.js.map +1 -1
  62. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +141 -7
  63. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  64. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +5 -2
  65. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  66. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue.js +1 -1
  67. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue2.js +22 -1
  68. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue2.js.map +1 -1
  69. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue3.js +20 -14
  70. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue3.js.map +1 -1
  71. package/dist/esm/components/CnNotificationPreferences/CnNotificationPreferences.vue.js +1 -1
  72. package/dist/esm/components/CnNotificationPreferences/CnNotificationPreferences.vue2.js +2 -0
  73. package/dist/esm/components/CnNotificationPreferences/CnNotificationPreferences.vue2.js.map +1 -1
  74. package/dist/esm/components/CnNotificationPreferences/CnNotificationPreferences.vue3.js +15 -5
  75. package/dist/esm/components/CnNotificationPreferences/CnNotificationPreferences.vue3.js.map +1 -1
  76. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue.js +8 -0
  77. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue.js.map +1 -0
  78. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue2.js +114 -0
  79. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue2.js.map +1 -0
  80. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue3.js +45 -0
  81. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue3.js.map +1 -0
  82. package/dist/esm/components/CnPageHeader/CnPageHeader.vue2.js +38 -2
  83. package/dist/esm/components/CnPageHeader/CnPageHeader.vue2.js.map +1 -1
  84. package/dist/esm/components/CnPageHeader/CnPageHeader.vue3.js +12 -2
  85. package/dist/esm/components/CnPageHeader/CnPageHeader.vue3.js.map +1 -1
  86. package/dist/esm/components/CnPagination/CnPagination.vue2.js.map +1 -1
  87. package/dist/esm/components/CnPagination/CnPagination.vue3.js +56 -51
  88. package/dist/esm/components/CnPagination/CnPagination.vue3.js.map +1 -1
  89. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  90. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +3 -3
  91. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  92. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  93. package/dist/esm/components/CnRoadmapTab/CnRoadmapTab.vue.js +1 -1
  94. package/dist/esm/components/CnRoadmapTab/CnRoadmapTab.vue2.js +8 -30
  95. package/dist/esm/components/CnRoadmapTab/CnRoadmapTab.vue2.js.map +1 -1
  96. package/dist/esm/components/CnRoadmapTab/CnRoadmapTab.vue3.js.map +1 -1
  97. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue.js +1 -1
  98. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue2.js +24 -0
  99. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue2.js.map +1 -1
  100. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue3.js +3 -1
  101. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue3.js.map +1 -1
  102. package/dist/esm/components/CnTabs/CnTabs.vue.js +1 -1
  103. package/dist/esm/components/CnTabs/CnTabs.vue2.js +39 -2
  104. package/dist/esm/components/CnTabs/CnTabs.vue2.js.map +1 -1
  105. package/dist/esm/components/CnTabs/CnTabs.vue3.js.map +1 -1
  106. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue.js +1 -1
  107. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +85 -8
  108. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js.map +1 -1
  109. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js +37 -9
  110. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js.map +1 -1
  111. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue.js +9 -0
  112. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue.js.map +1 -0
  113. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue2.js +164 -0
  114. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue2.js.map +1 -0
  115. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue3.js +93 -0
  116. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue3.js.map +1 -0
  117. package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue.js +1 -1
  118. package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue2.js.map +1 -1
  119. package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue3.js +4 -3
  120. package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue3.js.map +1 -1
  121. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue.js +1 -1
  122. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue2.js +32 -0
  123. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue2.js.map +1 -1
  124. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue3.js +31 -20
  125. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue3.js.map +1 -1
  126. package/dist/esm/composables/indexSources.js +9 -0
  127. package/dist/esm/composables/indexSources.js.map +1 -1
  128. package/dist/esm/l10n/en.json.js +24 -1
  129. package/dist/esm/l10n/en.json.js.map +1 -1
  130. package/dist/esm/l10n/nl.json.js +24 -1
  131. package/dist/esm/l10n/nl.json.js.map +1 -1
  132. package/dist/esm/library-style.js +1 -1
  133. package/dist/esm/nextcloud-vue.css +1190 -410
  134. package/dist/esm/utils/dueText.js +49 -8
  135. package/dist/esm/utils/dueText.js.map +1 -1
  136. package/dist/esm/utils/featureCatalog.js +135 -0
  137. package/dist/esm/utils/featureCatalog.js.map +1 -0
  138. package/dist/esm/utils/fillTemplate.js +74 -3
  139. package/dist/esm/utils/fillTemplate.js.map +1 -1
  140. package/dist/esm/utils/headerMeta.js +62 -12
  141. package/dist/esm/utils/headerMeta.js.map +1 -1
  142. package/dist/esm/utils/roadmapIssues.js +86 -0
  143. package/dist/esm/utils/roadmapIssues.js.map +1 -0
  144. package/dist/esm/utils/userDisplayName.js +47 -0
  145. package/dist/esm/utils/userDisplayName.js.map +1 -0
  146. package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
  147. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  148. package/dist/nextcloud-vue.cjs.js +16229 -13423
  149. package/dist/nextcloud-vue.cjs.js.map +2 -2
  150. package/dist/nextcloud-vue.css +1190 -410
  151. package/l10n/en.json +24 -1
  152. package/l10n/nl.json +24 -1
  153. package/package.json +1 -1
  154. package/src/components/CnActionsMenu/CnActionsMenu.vue +3 -1
  155. package/src/components/CnAdminSettingsShell/CnAdminSettingsShell.vue +39 -1
  156. package/src/components/CnAppRoot/CnAppRoot.md +2 -0
  157. package/src/components/CnAppRoot/CnAppRoot.vue +66 -5
  158. package/src/components/CnChoiceCards/CnChoiceCards.md +27 -0
  159. package/src/components/CnChoiceCards/CnChoiceCards.vue +168 -3
  160. package/src/components/CnCountdownWidget/CnCountdownWidget.vue +222 -6
  161. package/src/components/CnDashboardPage/CnDashboardPage.vue +141 -8
  162. package/src/components/CnDataTable/CnDataTable.md +1 -0
  163. package/src/components/CnDataTable/CnDataTable.vue +41 -46
  164. package/src/components/CnDetailPage/CnDetailPage.vue +5 -3
  165. package/src/components/CnFactsWidget/CnFactsWidget.vue +6 -4
  166. package/src/components/CnFeaturesAndRoadmapPage/CnFeaturesAndRoadmapPage.vue +51 -1
  167. package/src/components/CnFeaturesAndRoadmapView/CnFeaturesAndRoadmapView.vue +98 -13
  168. package/src/components/CnFeaturesBoard/CnFeaturesBoard.vue +1053 -0
  169. package/src/components/CnFormDialog/CnFormDialog.vue +606 -562
  170. package/src/components/CnIndexPage/CnIndexPage.vue +144 -7
  171. package/src/components/CnNcWidgetWidget/CnNcWidgetWidget.vue +23 -2
  172. package/src/components/CnNotificationPreferences/CnNotificationPreferences.vue +5 -0
  173. package/src/components/CnPageHeader/CnHeaderTrail.vue +140 -0
  174. package/src/components/CnPageHeader/CnPageHeader.md +11 -0
  175. package/src/components/CnPageHeader/CnPageHeader.vue +42 -0
  176. package/src/components/CnPagination/CnPagination.vue +10 -2
  177. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +3 -3
  178. package/src/components/CnRoadmapTab/CnRoadmapTab.vue +6 -28
  179. package/src/components/CnSettingsPage/CnSettingsPage.vue +26 -0
  180. package/src/components/CnTabs/CnTabs.vue +39 -2
  181. package/src/components/CnTabsWidget/CnTabsWidget.vue +106 -13
  182. package/src/components/CnUserSettingsDialog/CnUserSettingsDialog.vue +305 -0
  183. package/src/components/CnVersionInfoCard/CnVersionInfoCard.vue +4 -3
  184. package/src/components/CnWidgetWrapper/CnWidgetWrapper.md +8 -0
  185. package/src/components/CnWidgetWrapper/CnWidgetWrapper.vue +43 -2
  186. package/src/composables/indexSources.js +9 -0
  187. package/src/css/dialog.css +61 -0
  188. package/src/css/look-board-detail.css +8 -0
  189. package/src/css/look-board-index.css +27 -1
  190. package/src/css/look-board.css +60 -0
  191. package/src/css/page-header.css +16 -0
  192. package/src/schemas/app-manifest-v2.schema.json +30 -17
  193. package/src/utils/dueText.js +49 -8
  194. package/src/utils/featureCatalog.js +132 -0
  195. package/src/utils/fillTemplate.js +73 -2
  196. package/src/utils/headerMeta.js +62 -12
  197. package/src/utils/roadmapIssues.js +82 -0
  198. package/src/utils/userDisplayName.js +54 -0
  199. package/src/utils/validateManifestV2.compiled.js +3 -3
@@ -1,4 +1,4 @@
1
- import { resolveComponent, openBlock, createElementBlock, normalizeClass, toDisplayString, createCommentVNode, createElementVNode, createBlock, resolveDynamicComponent, withCtx, createTextVNode, renderSlot, Fragment, createVNode, createSlots, renderList, mergeProps } from 'vue';
1
+ import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, toDisplayString, createCommentVNode, createElementVNode, createBlock, resolveDynamicComponent, withCtx, createTextVNode, renderSlot, createVNode, Fragment, createSlots, renderList, mergeProps } from 'vue';
2
2
 
3
3
  const _hoisted_1 = {
4
4
  key: 0,
@@ -17,94 +17,105 @@ const _hoisted_4 = {
17
17
  };
18
18
  const _hoisted_5 = {
19
19
  key: 1,
20
- class: "cn-dashboard-page__description",
20
+ class: "cn-dashboard-page__description cn-dashboard-page__description--with-period",
21
21
  "data-testid": "cn-dashboard-page-subtitle"
22
22
  };
23
- const _hoisted_6 = { class: "cn-dashboard-page__header-actions" };
23
+ const _hoisted_6 = { key: 0 };
24
24
  const _hoisted_7 = {
25
+ key: 1,
26
+ "aria-hidden": "true"
27
+ };
28
+ const _hoisted_8 = {
29
+ key: 2,
30
+ class: "cn-dashboard-page__description",
31
+ "data-testid": "cn-dashboard-page-subtitle"
32
+ };
33
+ const _hoisted_9 = { class: "cn-dashboard-page__header-actions" };
34
+ const _hoisted_10 = {
25
35
  key: 2,
26
36
  class: "cn-dashboard-page__switch-row",
27
37
  "data-testid": "cn-dashboard-page-switch-row"
28
38
  };
29
- const _hoisted_8 = {
39
+ const _hoisted_11 = {
30
40
  key: 0,
31
41
  class: "cn-dashboard-page__date-segmented",
32
42
  "data-testid": "cn-dashboard-page-date-segmented"
33
43
  };
34
- const _hoisted_9 = ["aria-label"];
35
- const _hoisted_10 = ["aria-pressed", "data-testid", "onClick"];
36
- const _hoisted_11 = {
44
+ const _hoisted_12 = ["aria-label"];
45
+ const _hoisted_13 = ["aria-pressed", "data-testid", "onClick"];
46
+ const _hoisted_14 = {
37
47
  key: 4,
38
48
  class: "cn-dashboard-page__page-filters",
39
49
  "data-testid": "cn-dashboard-page-page-filters"
40
50
  };
41
- const _hoisted_12 = {
51
+ const _hoisted_15 = {
42
52
  key: 0,
43
53
  class: "cn-dashboard-page__page-filter-label"
44
54
  };
45
- const _hoisted_13 = {
55
+ const _hoisted_16 = {
46
56
  key: 8,
47
57
  class: "cn-dashboard-page__empty"
48
58
  };
49
- const _hoisted_14 = {
59
+ const _hoisted_17 = {
50
60
  key: 9,
51
61
  class: "cn-dashboard-page__content"
52
62
  };
53
- const _hoisted_15 = ["data-testid"];
54
- const _hoisted_16 = {
63
+ const _hoisted_18 = ["data-testid"];
64
+ const _hoisted_19 = {
55
65
  key: 0,
56
66
  class: "cn-dashboard-page__widget-note",
57
67
  "data-testid": "cn-dashboard-widget-header-note"
58
68
  };
59
- const _hoisted_17 = ["onClick"];
60
- const _hoisted_18 = { class: "cn-dashboard-page__unknown" };
61
- const _hoisted_19 = {
69
+ const _hoisted_20 = ["onClick"];
70
+ const _hoisted_21 = { class: "cn-dashboard-page__unknown" };
71
+ const _hoisted_22 = {
62
72
  key: 11,
63
73
  class: "cn-dashboard-page__view-switch"
64
74
  };
65
- const _hoisted_20 = {
75
+ const _hoisted_23 = {
66
76
  key: 0,
67
77
  class: "cn-dashboard-page__widget-edit"
68
78
  };
69
- const _hoisted_21 = {
79
+ const _hoisted_24 = {
70
80
  class: "cn-dashboard-page__requires-app cn-requires-app cn-requires-app--compact",
71
81
  "data-testid": "cn-requires-app"
72
82
  };
73
- const _hoisted_22 = { class: "cn-requires-app__description" };
74
- const _hoisted_23 = ["title"];
75
- const _hoisted_24 = {
83
+ const _hoisted_25 = { class: "cn-requires-app__description" };
84
+ const _hoisted_26 = ["title"];
85
+ const _hoisted_27 = {
76
86
  key: 1,
77
87
  class: "cn-dashboard-page__date-chip-preset-spacer"
78
88
  };
79
- const _hoisted_25 = ["title"];
80
- const _hoisted_26 = {
89
+ const _hoisted_28 = ["title"];
90
+ const _hoisted_29 = {
81
91
  key: 1,
82
92
  class: "cn-dashboard-page__date-chip-preset-spacer"
83
93
  };
84
- const _hoisted_27 = {
94
+ const _hoisted_30 = {
85
95
  key: 2,
86
96
  class: "cn-dashboard-page__unknown"
87
97
  };
88
- const _hoisted_28 = {
98
+ const _hoisted_31 = {
89
99
  key: 0,
90
100
  class: "cn-dashboard-page__widget-count",
91
101
  "data-testid": "cn-dashboard-widget-header-count"
92
102
  };
93
- const _hoisted_29 = ["title"];
94
- const _hoisted_30 = {
103
+ const _hoisted_32 = ["title"];
104
+ const _hoisted_33 = {
95
105
  key: 1,
96
106
  class: "cn-dashboard-page__date-chip-preset-spacer"
97
107
  };
98
- const _hoisted_31 = {
108
+ const _hoisted_34 = {
99
109
  key: 0,
100
110
  class: "cn-dashboard-page__widget-note",
101
111
  "data-testid": "cn-dashboard-widget-header-note"
102
112
  };
103
- const _hoisted_32 = ["onClick"];
104
- const _hoisted_33 = { class: "cn-dashboard-page__unknown" };
105
- const _hoisted_34 = ["id", "aria-label"];
113
+ const _hoisted_35 = ["onClick"];
114
+ const _hoisted_36 = { class: "cn-dashboard-page__unknown" };
115
+ const _hoisted_37 = ["id", "aria-label"];
106
116
 
107
117
  function render(_ctx, _cache, $props, $setup, $data, $options) {
118
+ const _component_CnHeaderTrail = resolveComponent("CnHeaderTrail");
108
119
  const _component_CnSegmentedControl = resolveComponent("CnSegmentedControl");
109
120
  const _component_CnActionButtons = resolveComponent("CnActionButtons");
110
121
  const _component_Pencil = resolveComponent("Pencil");
@@ -140,6 +151,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
140
151
 
141
152
  return (openBlock(), createElementBlock("div", {
142
153
  class: normalizeClass(["cn-dashboard-page", { 'cn-dashboard-page--board': $options.isBoardLook }]),
154
+ style: normalizeStyle({ '--cn-dashboard-grid-margin': `${$props.gridMargin}px` }),
143
155
  "data-testid": "cn-dashboard-page"
144
156
  }, [
145
157
  (!$props.showHeader && $props.title)
@@ -164,11 +176,34 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
164
176
  renderSlot(_ctx.$slots, "title-meta")
165
177
  ]))
166
178
  : createCommentVNode("v-if", true),
167
- ($options.subtitleText)
168
- ? (openBlock(), createElementBlock("p", _hoisted_5, toDisplayString($options.subtitleText), 1 /* TEXT */))
169
- : createCommentVNode("v-if", true)
179
+ createVNode(_component_CnHeaderTrail, {
180
+ breadcrumb: $props.breadcrumb,
181
+ current: $props.title ? $options.resolvedTitle : '',
182
+ meta: $props.headerMeta ? $options.effectiveTranslate($props.headerMeta) : ''
183
+ }, null, 8 /* PROPS */, ["breadcrumb", "current", "meta"]),
184
+ ($options.datePeriodInDescription)
185
+ ? (openBlock(), createElementBlock("div", _hoisted_5, [
186
+ ($options.subtitleText)
187
+ ? (openBlock(), createElementBlock("span", _hoisted_6, toDisplayString($options.subtitleText), 1 /* TEXT */))
188
+ : createCommentVNode("v-if", true),
189
+ ($options.subtitleText)
190
+ ? (openBlock(), createElementBlock("span", _hoisted_7, "·"))
191
+ : createCommentVNode("v-if", true),
192
+ createVNode(_component_CnSegmentedControl, {
193
+ size: "compact",
194
+ mode: "toggle",
195
+ options: $options.segmentedOptions,
196
+ modelValue: $options.segmentedValue,
197
+ ariaLabel: $options.datePeriodLabel,
198
+ "data-testid": "cn-dashboard-page-date-segmented",
199
+ "onUpdate:modelValue": $options.onSegmentPick
200
+ }, null, 8 /* PROPS */, ["options", "modelValue", "ariaLabel", "onUpdate:modelValue"])
201
+ ]))
202
+ : ($options.subtitleText)
203
+ ? (openBlock(), createElementBlock("p", _hoisted_8, toDisplayString($options.subtitleText), 1 /* TEXT */))
204
+ : createCommentVNode("v-if", true)
170
205
  ]),
171
- createElementVNode("div", _hoisted_6, [
206
+ createElementVNode("div", _hoisted_9, [
172
207
  (_ctx.showsPageViewSwitch && !$options.switchInRow)
173
208
  ? (openBlock(), createBlock(_component_CnSegmentedControl, {
174
209
  key: 0,
@@ -288,7 +323,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
288
323
  ]))
289
324
  : createCommentVNode("v-if", true),
290
325
  ($props.showHeader && ($options.switchInRow || $options.resolvedViewLinks.length > 0))
291
- ? (openBlock(), createElementBlock("div", _hoisted_7, [
326
+ ? (openBlock(), createElementBlock("div", _hoisted_10, [
292
327
  ($options.switchInRow)
293
328
  ? (openBlock(), createBlock(_component_CnSegmentedControl, {
294
329
  key: 0,
@@ -325,7 +360,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
325
360
  }), 128 /* KEYED_FRAGMENT */))
326
361
  ]))
327
362
  : createCommentVNode("v-if", true),
328
- ($options.showHeaderDateRange)
363
+ ($options.showHeaderDateRange && !$options.datePeriodInDescription)
329
364
  ? (openBlock(), createElementBlock("div", {
330
365
  key: 3,
331
366
  class: normalizeClass(["cn-dashboard-page__date-range", {
@@ -335,7 +370,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
335
370
  "data-testid": "cn-dashboard-page-date-range"
336
371
  }, [
337
372
  ($options.dateRangeControl === 'segmented')
338
- ? (openBlock(), createElementBlock("div", _hoisted_8, [
373
+ ? (openBlock(), createElementBlock("div", _hoisted_11, [
339
374
  createVNode(_component_CnSegmentedControl, {
340
375
  size: "compact",
341
376
  mode: "toggle",
@@ -391,7 +426,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
391
426
  "aria-pressed": String(Boolean($data.currentRange && $data.currentRange.preset === preset.id)),
392
427
  "data-testid": `cn-dashboard-page-date-pill-${preset.id}`,
393
428
  onClick: $event => ($options.onPillPick(preset))
394
- }, toDisplayString(preset.label), 11 /* TEXT, CLASS, PROPS */, _hoisted_10))
429
+ }, toDisplayString(preset.label), 11 /* TEXT, CLASS, PROPS */, _hoisted_13))
395
430
  }), 128 /* KEYED_FRAGMENT */)),
396
431
  ($options.hasCustomPreset)
397
432
  ? (openBlock(), createBlock(_component_NcActions, {
@@ -425,7 +460,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
425
460
  _: 1 /* STABLE */
426
461
  }))
427
462
  : createCommentVNode("v-if", true)
428
- ], 8 /* PROPS */, _hoisted_9))
463
+ ], 8 /* PROPS */, _hoisted_12))
429
464
  : (openBlock(), createBlock(_component_CnDateRangePicker, {
430
465
  key: 2,
431
466
  value: $data.currentRange,
@@ -435,14 +470,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
435
470
  ], 2 /* CLASS */))
436
471
  : createCommentVNode("v-if", true),
437
472
  ($props.pageFilters && $props.pageFilters.length)
438
- ? (openBlock(), createElementBlock("div", _hoisted_11, [
473
+ ? (openBlock(), createElementBlock("div", _hoisted_14, [
439
474
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.pageFilters, (pf) => {
440
475
  return (openBlock(), createElementBlock("label", {
441
476
  key: pf.key,
442
477
  class: "cn-dashboard-page__page-filter"
443
478
  }, [
444
479
  (pf.label)
445
- ? (openBlock(), createElementBlock("span", _hoisted_12, toDisplayString(pf.label), 1 /* TEXT */))
480
+ ? (openBlock(), createElementBlock("span", _hoisted_15, toDisplayString(pf.label), 1 /* TEXT */))
446
481
  : createCommentVNode("v-if", true),
447
482
  createVNode(_component_NcSelect, {
448
483
  modelValue: $options.selectedPageFilterOption(pf),
@@ -471,7 +506,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
471
506
  : (!$data.widgetConditionsSettled && !$options.gridEditable)
472
507
  ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 7 }))
473
508
  : (!$options.hasWidgets && !$options.hasBodyWidgets && !_ctx.hasViews)
474
- ? (openBlock(), createElementBlock("div", _hoisted_13, [
509
+ ? (openBlock(), createElementBlock("div", _hoisted_16, [
475
510
  renderSlot(_ctx.$slots, "empty", {}, () => [
476
511
  createVNode(_component_CnEmptyContent, { description: $props.emptyLabel }, {
477
512
  icon: withCtx(() => [
@@ -482,7 +517,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
482
517
  ])
483
518
  ]))
484
519
  : ($options.widgetRefItems.length > 0)
485
- ? (openBlock(), createElementBlock("div", _hoisted_14, [
520
+ ? (openBlock(), createElementBlock("div", _hoisted_17, [
486
521
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.widgetRefItems, (item, idx) => {
487
522
  return (openBlock(), createBlock(_component_CnWidgetRefItem, {
488
523
  key: item.ref + '-' + idx,
@@ -546,7 +581,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
546
581
  name: "actions",
547
582
  fn: withCtx(() => [
548
583
  ($options.widgetHeaderNote(item))
549
- ? (openBlock(), createElementBlock("span", _hoisted_16, toDisplayString($options.widgetHeaderNote(item)), 1 /* TEXT */))
584
+ ? (openBlock(), createElementBlock("span", _hoisted_19, toDisplayString($options.widgetHeaderNote(item)), 1 /* TEXT */))
550
585
  : createCommentVNode("v-if", true),
551
586
  ($options.widgetHeaderAction(item))
552
587
  ? (openBlock(), createElementBlock("button", {
@@ -555,7 +590,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
555
590
  class: "cn-dashboard-page__widget-action",
556
591
  "data-testid": "cn-dashboard-widget-header-action",
557
592
  onClick: $event => ($options.widgetHeaderAction(item).run())
558
- }, toDisplayString($options.widgetHeaderAction(item).label), 9 /* TEXT, PROPS */, _hoisted_17))
593
+ }, toDisplayString($options.widgetHeaderAction(item).label), 9 /* TEXT, PROPS */, _hoisted_20))
559
594
  : createCommentVNode("v-if", true)
560
595
  ]),
561
596
  key: "0"
@@ -582,22 +617,23 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
582
617
  key: 3,
583
618
  title: $options.getWidgetTitle(item),
584
619
  eyebrow: $options.getWidgetEyebrow(item),
620
+ subtitle: $options.getWidgetSubtitle(item),
585
621
  showTitle: false,
586
622
  showRefresh: false
587
623
  }, {
588
624
  default: withCtx(() => [
589
- createElementVNode("div", _hoisted_18, toDisplayString($props.unavailableLabel), 1 /* TEXT */)
625
+ createElementVNode("div", _hoisted_21, toDisplayString($props.unavailableLabel), 1 /* TEXT */)
590
626
  ]),
591
627
  _: 1 /* STABLE */
592
- }, 8 /* PROPS */, ["title", "eyebrow"]))
593
- ], 8 /* PROPS */, _hoisted_15))
628
+ }, 8 /* PROPS */, ["title", "eyebrow", "subtitle"]))
629
+ ], 8 /* PROPS */, _hoisted_18))
594
630
  }), 128 /* KEYED_FRAGMENT */))
595
631
  ]),
596
632
  _: 3 /* FORWARDED */
597
633
  }))
598
634
  : createCommentVNode("v-if", true),
599
635
  ($options.gridSectionsShown && !$props.showHeader && _ctx.showsPageViewSwitch)
600
- ? (openBlock(), createElementBlock("div", _hoisted_19, [
636
+ ? (openBlock(), createElementBlock("div", _hoisted_22, [
601
637
  createVNode(_component_CnSegmentedControl, {
602
638
  class: "cn-page-view-switch",
603
639
  options: _ctx.viewSwitchOptions,
@@ -624,7 +660,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
624
660
  }), {
625
661
  widget: withCtx(({ item }) => [
626
662
  ($options.gridEditable)
627
- ? (openBlock(), createElementBlock("div", _hoisted_20, [
663
+ ? (openBlock(), createElementBlock("div", _hoisted_23, [
628
664
  createVNode(_component_NcButton, {
629
665
  variant: "tertiary",
630
666
  "aria-label": _ctx.t('nextcloud-vue', 'Configure widget'),
@@ -642,11 +678,12 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
642
678
  key: 1,
643
679
  title: $options.getWidgetTitle(item),
644
680
  eyebrow: $options.getWidgetEyebrow(item),
681
+ subtitle: $options.getWidgetSubtitle(item),
645
682
  showTitle: $options.widgetShowTitle(item)
646
683
  }, {
647
684
  default: withCtx(() => [
648
- createElementVNode("div", _hoisted_21, [
649
- createElementVNode("p", _hoisted_22, toDisplayString(_ctx.t('nextcloud-vue', 'This widget shows data from another app that isn\'t installed yet.')), 1 /* TEXT */),
685
+ createElementVNode("div", _hoisted_24, [
686
+ createElementVNode("p", _hoisted_25, toDisplayString(_ctx.t('nextcloud-vue', 'This widget shows data from another app that isn\'t installed yet.')), 1 /* TEXT */),
650
687
  createVNode(_component_NcButton, {
651
688
  variant: "primary",
652
689
  href: $options.appInstallUrl($options.missingRequiredApp(item))
@@ -662,7 +699,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
662
699
  ])
663
700
  ]),
664
701
  _: 2 /* DYNAMIC */
665
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "eyebrow", "showTitle"]))
702
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "eyebrow", "subtitle", "showTitle"]))
666
703
  : ($options.isTile(item))
667
704
  ? (openBlock(), createBlock(_component_CnTileWidget, {
668
705
  key: 2,
@@ -674,6 +711,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
674
711
  widgetId: item.widgetId,
675
712
  title: $options.getWidgetTitle(item),
676
713
  eyebrow: $options.getWidgetEyebrow(item),
714
+ subtitle: $options.getWidgetSubtitle(item),
677
715
  iconUrl: $options.getWidgetIconUrl(item),
678
716
  iconClass: $options.getWidgetIconClass(item),
679
717
  showTitle: $options.widgetShowTitle(item),
@@ -740,7 +778,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
740
778
  createElementVNode("span", {
741
779
  class: "cn-dashboard-page__date-chip",
742
780
  title: $data.dateChipTitle
743
- }, toDisplayString($options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_23)
781
+ }, toDisplayString($options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_26)
744
782
  ]),
745
783
  default: withCtx(() => [
746
784
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.effectivePresets, (preset) => {
@@ -755,7 +793,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
755
793
  key: 0,
756
794
  size: 16
757
795
  }))
758
- : (openBlock(), createElementBlock("span", _hoisted_24))
796
+ : (openBlock(), createElementBlock("span", _hoisted_27))
759
797
  ]),
760
798
  default: withCtx(() => [
761
799
  createTextVNode(" " + toDisplayString(preset.label), 1 /* TEXT */)
@@ -785,7 +823,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
785
823
  key: "2"
786
824
  }
787
825
  : undefined
788
- ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["widgetId", "title", "eyebrow", "iconUrl", "iconClass", "showTitle", "borderless", "flush", "buttons", "headerLink", "styleConfig", "titleIconPosition", "titleIconColor", "titleIconVariant", "showRefresh", "showActions", "documentationUrl", "docsAnchor", "onRefresh", "onRequestFeature"]))
826
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["widgetId", "title", "eyebrow", "subtitle", "iconUrl", "iconClass", "showTitle", "borderless", "flush", "buttons", "headerLink", "styleConfig", "titleIconPosition", "titleIconColor", "titleIconVariant", "showRefresh", "showActions", "documentationUrl", "docsAnchor", "onRefresh", "onRequestFeature"]))
789
827
  : ($options.isChart(item))
790
828
  ? (openBlock(), createBlock(_component_CnWidgetWrapper, {
791
829
  key: 4,
@@ -793,6 +831,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
793
831
  class: normalizeClass({ 'cn-dashboard-page__chart-fit': $options.isChartFitted(item) }),
794
832
  title: $options.getWidgetTitle(item),
795
833
  eyebrow: $options.getWidgetEyebrow(item),
834
+ subtitle: $options.getWidgetSubtitle(item),
796
835
  iconUrl: $options.getWidgetIconUrl(item),
797
836
  iconClass: $options.getWidgetIconClass(item),
798
837
  showTitle: $options.widgetShowTitle(item),
@@ -835,7 +874,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
835
874
  createElementVNode("span", {
836
875
  class: "cn-dashboard-page__date-chip",
837
876
  title: $data.dateChipTitle
838
- }, toDisplayString($options.formatChartDateRange(item) || $options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_25)
877
+ }, toDisplayString($options.formatChartDateRange(item) || $options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_28)
839
878
  ]),
840
879
  default: withCtx(() => [
841
880
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.effectivePresets, (preset) => {
@@ -850,7 +889,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
850
889
  key: 0,
851
890
  size: 16
852
891
  }))
853
- : (openBlock(), createElementBlock("span", _hoisted_26))
892
+ : (openBlock(), createElementBlock("span", _hoisted_29))
854
893
  ]),
855
894
  default: withCtx(() => [
856
895
  createTextVNode(" " + toDisplayString(preset.label), 1 /* TEXT */)
@@ -880,13 +919,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
880
919
  key: "0"
881
920
  }
882
921
  : undefined
883
- ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["widgetId", "class", "title", "eyebrow", "iconUrl", "iconClass", "showTitle", "showActions", "borderless", "flush", "buttons", "headerLink", "styleConfig", "titleIconPosition", "titleIconColor", "titleIconVariant", "showRefresh", "documentationUrl", "docsAnchor", "onRefresh", "onRequestFeature"]))
922
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["widgetId", "class", "title", "eyebrow", "subtitle", "iconUrl", "iconClass", "showTitle", "showActions", "borderless", "flush", "buttons", "headerLink", "styleConfig", "titleIconPosition", "titleIconColor", "titleIconVariant", "showRefresh", "documentationUrl", "docsAnchor", "onRefresh", "onRequestFeature"]))
884
923
  : ($options.isStatsBlock(item))
885
924
  ? (openBlock(), createBlock(_component_CnWidgetWrapper, {
886
925
  key: 5,
887
926
  widgetId: item.widgetId,
888
927
  title: $options.getWidgetTitle(item),
889
928
  eyebrow: $options.getWidgetEyebrow(item),
929
+ subtitle: $options.getWidgetSubtitle(item),
890
930
  iconUrl: $options.getWidgetIconUrl(item),
891
931
  iconClass: $options.getWidgetIconClass(item),
892
932
  showTitle: $options.widgetShowTitle(item),
@@ -909,13 +949,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
909
949
  }), null, 16 /* FULL_PROPS */, ["title", "data-source"])
910
950
  ]),
911
951
  _: 2 /* DYNAMIC */
912
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["widgetId", "title", "eyebrow", "iconUrl", "iconClass", "showTitle", "showActions", "borderless", "flush", "class", "buttons", "headerLink", "styleConfig", "documentationUrl", "docsAnchor", "onRefresh", "onRequestFeature"]))
952
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["widgetId", "title", "eyebrow", "subtitle", "iconUrl", "iconClass", "showTitle", "showActions", "borderless", "flush", "class", "buttons", "headerLink", "styleConfig", "documentationUrl", "docsAnchor", "onRefresh", "onRequestFeature"]))
913
953
  : ($options.isIntegration(item))
914
954
  ? (openBlock(), createBlock(_component_CnWidgetWrapper, {
915
955
  key: 6,
916
956
  widgetId: item.widgetId,
917
957
  title: $options.getWidgetTitle(item),
918
958
  eyebrow: $options.getWidgetEyebrow(item),
959
+ subtitle: $options.getWidgetSubtitle(item),
919
960
  iconUrl: $options.getWidgetIconUrl(item),
920
961
  iconClass: $options.getWidgetIconClass(item),
921
962
  showTitle: $options.widgetShowTitle(item),
@@ -946,16 +987,17 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
946
987
  key: 1,
947
988
  ref_for: true
948
989
  }, $options.getIntegrationProps(item)), null, 16 /* FULL_PROPS */))
949
- : (openBlock(), createElementBlock("div", _hoisted_27, toDisplayString($props.unavailableLabel), 1 /* TEXT */))
990
+ : (openBlock(), createElementBlock("div", _hoisted_30, toDisplayString($props.unavailableLabel), 1 /* TEXT */))
950
991
  ]),
951
992
  _: 2 /* DYNAMIC */
952
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["widgetId", "title", "eyebrow", "iconUrl", "iconClass", "showTitle", "showActions", "borderless", "flush", "buttons", "headerLink", "styleConfig", "titleIconPosition", "titleIconColor", "titleIconVariant", "showRefresh", "documentationUrl", "docsAnchor", "onRefresh", "onRequestFeature"]))
993
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["widgetId", "title", "eyebrow", "subtitle", "iconUrl", "iconClass", "showTitle", "showActions", "borderless", "flush", "buttons", "headerLink", "styleConfig", "titleIconPosition", "titleIconColor", "titleIconVariant", "showRefresh", "documentationUrl", "docsAnchor", "onRefresh", "onRequestFeature"]))
953
994
  : ($options.isNcWidget(item))
954
995
  ? (openBlock(), createBlock(_component_CnWidgetWrapper, {
955
996
  key: 7,
956
997
  widgetId: item.widgetId,
957
998
  title: $options.getWidgetTitle(item),
958
999
  eyebrow: $options.getWidgetEyebrow(item),
1000
+ subtitle: $options.getWidgetSubtitle(item),
959
1001
  iconUrl: $options.getWidgetIconUrl(item),
960
1002
  iconClass: $options.getWidgetIconClass(item),
961
1003
  showTitle: $options.widgetShowTitle(item),
@@ -976,13 +1018,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
976
1018
  }, null, 8 /* PROPS */, ["widget", "unavailableText"])
977
1019
  ]),
978
1020
  _: 2 /* DYNAMIC */
979
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["widgetId", "title", "eyebrow", "iconUrl", "iconClass", "showTitle", "showActions", "buttons", "headerLink", "styleConfig", "showRefresh", "documentationUrl", "docsAnchor", "onRefresh", "onRequestFeature"]))
1021
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["widgetId", "title", "eyebrow", "subtitle", "iconUrl", "iconClass", "showTitle", "showActions", "buttons", "headerLink", "styleConfig", "showRefresh", "documentationUrl", "docsAnchor", "onRefresh", "onRequestFeature"]))
980
1022
  : ($options.registryRenderer(item))
981
1023
  ? (openBlock(), createBlock(_component_CnWidgetWrapper, {
982
1024
  key: 8,
983
1025
  widgetId: item.widgetId,
984
1026
  title: $options.getWidgetTitle(item),
985
1027
  eyebrow: $options.getWidgetEyebrow(item),
1028
+ subtitle: $options.getWidgetSubtitle(item),
986
1029
  showTitle: $options.widgetShowTitle(item),
987
1030
  showActions: $options.widgetShowActions(item),
988
1031
  showRefresh: $options.getWidgetShowRefresh(item),
@@ -1015,7 +1058,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1015
1058
  name: "title-meta",
1016
1059
  fn: withCtx(() => [
1017
1060
  ($options.widgetHeaderCount(item) !== null)
1018
- ? (openBlock(), createElementBlock("span", _hoisted_28, toDisplayString($options.widgetHeaderCount(item)), 1 /* TEXT */))
1061
+ ? (openBlock(), createElementBlock("span", _hoisted_31, toDisplayString($options.widgetHeaderCount(item)), 1 /* TEXT */))
1019
1062
  : createCommentVNode("v-if", true),
1020
1063
  ($options.dateRangeEnabled && item.dateChip === true)
1021
1064
  ? (openBlock(), createBlock(_component_NcActions, {
@@ -1031,7 +1074,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1031
1074
  createElementVNode("span", {
1032
1075
  class: "cn-dashboard-page__date-chip",
1033
1076
  title: $data.dateChipTitle
1034
- }, toDisplayString($options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_29)
1077
+ }, toDisplayString($options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_32)
1035
1078
  ]),
1036
1079
  default: withCtx(() => [
1037
1080
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.effectivePresets, (preset) => {
@@ -1046,7 +1089,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1046
1089
  key: 0,
1047
1090
  size: 16
1048
1091
  }))
1049
- : (openBlock(), createElementBlock("span", _hoisted_30))
1092
+ : (openBlock(), createElementBlock("span", _hoisted_33))
1050
1093
  ]),
1051
1094
  default: withCtx(() => [
1052
1095
  createTextVNode(" " + toDisplayString(preset.label), 1 /* TEXT */)
@@ -1082,7 +1125,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1082
1125
  name: "actions",
1083
1126
  fn: withCtx(() => [
1084
1127
  ($options.widgetHeaderNote(item))
1085
- ? (openBlock(), createElementBlock("span", _hoisted_31, toDisplayString($options.widgetHeaderNote(item)), 1 /* TEXT */))
1128
+ ? (openBlock(), createElementBlock("span", _hoisted_34, toDisplayString($options.widgetHeaderNote(item)), 1 /* TEXT */))
1086
1129
  : createCommentVNode("v-if", true),
1087
1130
  ($options.widgetHeaderAction(item))
1088
1131
  ? (openBlock(), createElementBlock("button", {
@@ -1091,25 +1134,26 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1091
1134
  class: "cn-dashboard-page__widget-action",
1092
1135
  "data-testid": "cn-dashboard-widget-header-action",
1093
1136
  onClick: $event => ($options.widgetHeaderAction(item).run())
1094
- }, toDisplayString($options.widgetHeaderAction(item).label), 9 /* TEXT, PROPS */, _hoisted_32))
1137
+ }, toDisplayString($options.widgetHeaderAction(item).label), 9 /* TEXT, PROPS */, _hoisted_35))
1095
1138
  : createCommentVNode("v-if", true)
1096
1139
  ]),
1097
1140
  key: "1"
1098
1141
  }
1099
1142
  : undefined
1100
- ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["widgetId", "title", "eyebrow", "showTitle", "showActions", "showRefresh", "borderless", "flush", "titleIconPosition", "titleIconColor", "titleIconVariant", "class", "buttons", "headerLink", "styleConfig", "documentationUrl", "docsAnchor", "onRefresh", "onRequestFeature"]))
1143
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["widgetId", "title", "eyebrow", "subtitle", "showTitle", "showActions", "showRefresh", "borderless", "flush", "titleIconPosition", "titleIconColor", "titleIconVariant", "class", "buttons", "headerLink", "styleConfig", "documentationUrl", "docsAnchor", "onRefresh", "onRequestFeature"]))
1101
1144
  : (openBlock(), createBlock(_component_CnWidgetWrapper, {
1102
1145
  key: 9,
1103
1146
  title: $options.getWidgetTitle(item),
1104
1147
  eyebrow: $options.getWidgetEyebrow(item),
1148
+ subtitle: $options.getWidgetSubtitle(item),
1105
1149
  showTitle: $options.widgetShowTitle(item),
1106
1150
  showRefresh: false
1107
1151
  }, {
1108
1152
  default: withCtx(() => [
1109
- createElementVNode("div", _hoisted_33, toDisplayString($props.unavailableLabel), 1 /* TEXT */)
1153
+ createElementVNode("div", _hoisted_36, toDisplayString($props.unavailableLabel), 1 /* TEXT */)
1110
1154
  ]),
1111
1155
  _: 1 /* STABLE */
1112
- }, 8 /* PROPS */, ["title", "eyebrow", "showTitle"]))
1156
+ }, 8 /* PROPS */, ["title", "eyebrow", "subtitle", "showTitle"]))
1113
1157
  ]),
1114
1158
  _: 3 /* FORWARDED */
1115
1159
  }, 16 /* FULL_PROPS */, ["layout", "editable", "columns", "columnOpts", "cellHeight", "margin", "float", "onLayoutChange"]))
@@ -1129,7 +1173,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1129
1173
  ]),
1130
1174
  _: 1 /* STABLE */
1131
1175
  }, 8 /* PROPS */, ["description"])
1132
- ], 8 /* PROPS */, _hoisted_34))
1176
+ ], 8 /* PROPS */, _hoisted_37))
1133
1177
  : createCommentVNode("v-if", true),
1134
1178
  ($options.hasBodyWidgets)
1135
1179
  ? (openBlock(), createBlock(_component_CnBodySections, {
@@ -1160,7 +1204,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1160
1204
  onClose: _cache[10] || (_cache[10] = $event => ($data.showWidgetConfig = false))
1161
1205
  }, null, 8 /* PROPS */, ["show", "widget", "onSave", "onDelete"]))
1162
1206
  : createCommentVNode("v-if", true)
1163
- ], 2 /* CLASS */))
1207
+ ], 6 /* CLASS, STYLE */))
1164
1208
  }
1165
1209
 
1166
1210
  export { render };