@conduction/nextcloud-vue 2.78.0 → 2.79.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 (115) hide show
  1. package/dist/bundled-packages.json +0 -2
  2. package/dist/esm/bundled-packages.json +0 -2
  3. package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js.map +1 -1
  4. package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js +113 -104
  5. package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js.map +1 -1
  6. package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js +12 -2
  7. package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js.map +1 -1
  8. package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js.map +1 -1
  9. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js +80 -0
  10. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js.map +1 -1
  11. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js +115 -91
  12. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js.map +1 -1
  13. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +139 -1
  14. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
  15. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +140 -92
  16. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
  17. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +77 -0
  18. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
  19. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js +4 -2
  20. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
  21. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js +61 -1
  22. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js.map +1 -1
  23. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js.map +1 -1
  24. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js +173 -5
  25. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js.map +1 -1
  26. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js +181 -99
  27. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js.map +1 -1
  28. package/dist/esm/components/CnFilesBrowser/filesBrowser.js +29 -11
  29. package/dist/esm/components/CnFilesBrowser/filesBrowser.js.map +1 -1
  30. package/dist/esm/components/CnFilesBrowser/openRegisterSource.js +252 -0
  31. package/dist/esm/components/CnFilesBrowser/openRegisterSource.js.map +1 -0
  32. package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js +1 -1
  33. package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js.map +1 -1
  34. package/dist/esm/components/CnFormDialog/CnFormDialog.vue3.js.map +1 -1
  35. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +25 -2
  36. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  37. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +3 -2
  38. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  39. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js +100 -3
  40. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js.map +1 -1
  41. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js +4 -2
  42. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js.map +1 -1
  43. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js +3 -2
  44. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js.map +1 -1
  45. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js.map +1 -1
  46. package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue2.js.map +1 -1
  47. package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue3.js +1 -1
  48. package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue3.js.map +1 -1
  49. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +30 -1
  50. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js.map +1 -1
  51. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js.map +1 -1
  52. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js +13 -0
  53. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js.map +1 -1
  54. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue3.js.map +1 -1
  55. package/dist/esm/composables/useAppManifest.js +8 -3
  56. package/dist/esm/composables/useAppManifest.js.map +1 -1
  57. package/dist/esm/index.js +1 -0
  58. package/dist/esm/index.js.map +1 -1
  59. package/dist/esm/l10n/en.json.js +61 -1
  60. package/dist/esm/l10n/en.json.js.map +1 -1
  61. package/dist/esm/l10n/nl.json.js +106 -2
  62. package/dist/esm/l10n/nl.json.js.map +1 -1
  63. package/dist/esm/nextcloud-vue.css +314 -15
  64. package/dist/esm/utils/boardDate.js +193 -0
  65. package/dist/esm/utils/boardDate.js.map +1 -0
  66. package/dist/esm/utils/dynamicProperties.js +5 -1
  67. package/dist/esm/utils/dynamicProperties.js.map +1 -1
  68. package/dist/esm/utils/validateManifestV2.compiled.js +57 -6
  69. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  70. package/dist/nextcloud-vue.cjs.js +2039 -581
  71. package/dist/nextcloud-vue.cjs.js.map +2 -2
  72. package/dist/nextcloud-vue.css +314 -15
  73. package/l10n/en.json +61 -1
  74. package/l10n/nl.json +106 -2
  75. package/package.json +1 -1
  76. package/scripts/build-validators.js +26 -0
  77. package/src/components/CnActionsBar/CnActionsBar.vue +48 -39
  78. package/src/components/CnAppRoot/CnAppRoot.vue +12 -2
  79. package/src/components/CnCellRenderer/CnCellRenderer.vue +119 -2
  80. package/src/components/CnDashboardPage/CnDashboardPage.vue +219 -4
  81. package/src/components/CnDataTable/CnDataTable.md +2 -0
  82. package/src/components/CnDataTable/CnDataTable.vue +81 -2
  83. package/src/components/CnDetailWidgetHost/CnDetailWidgetHost.vue +61 -1
  84. package/src/components/CnFilesBrowser/CnFilesBrowser.vue +232 -11
  85. package/src/components/CnFilesBrowser/filesBrowser.js +43 -2
  86. package/src/components/CnFilesBrowser/index.js +1 -0
  87. package/src/components/CnFilesBrowser/openRegisterSource.js +248 -0
  88. package/src/components/CnFormDialog/CnFormDialog.vue +1 -1
  89. package/src/components/CnIndexPage/CnIndexPage.vue +27 -3
  90. package/src/components/CnObjectSidebar/CnFilesTab.vue +103 -4
  91. package/src/components/CnQuickFilterBar/CnQuickFilterBar.vue +3 -2
  92. package/src/components/CnSavedViewsControl/CnSavedViewsControl.vue +1 -1
  93. package/src/components/CnTabsWidget/CnTabsWidget.vue +30 -1
  94. package/src/components/CnWidgetObjectTable/CnWidgetObjectTable.vue +13 -0
  95. package/src/components/index.js +1 -1
  96. package/src/composables/useAppManifest.js +8 -3
  97. package/src/css/look-board-detail.css +10 -0
  98. package/src/css/look-board-index.css +92 -14
  99. package/src/css/look-board.css +77 -0
  100. package/src/css/table.css +37 -0
  101. package/src/index.js +4 -0
  102. package/src/schemas/app-manifest-v2.schema.json +46 -1
  103. package/src/utils/boardDate.js +189 -0
  104. package/src/utils/dynamicProperties.js +5 -1
  105. package/src/utils/validateManifestV2.compiled.js +57 -2
  106. package/dist/esm/_virtual/equal.js +0 -4
  107. package/dist/esm/_virtual/equal.js.map +0 -1
  108. package/dist/esm/_virtual/ucs2length.js +0 -4
  109. package/dist/esm/_virtual/ucs2length.js.map +0 -1
  110. package/dist/esm/node_modules/ajv/dist/runtime/equal.js +0 -9
  111. package/dist/esm/node_modules/ajv/dist/runtime/equal.js.map +0 -1
  112. package/dist/esm/node_modules/ajv/dist/runtime/ucs2length.js +0 -25
  113. package/dist/esm/node_modules/ajv/dist/runtime/ucs2length.js.map +0 -1
  114. package/dist/esm/node_modules/fast-deep-equal/index.js +0 -47
  115. package/dist/esm/node_modules/fast-deep-equal/index.js.map +0 -1
@@ -17,69 +17,75 @@ 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",
21
+ "data-testid": "cn-dashboard-page-subtitle"
21
22
  };
22
23
  const _hoisted_6 = { class: "cn-dashboard-page__header-actions" };
23
24
  const _hoisted_7 = {
25
+ key: 2,
26
+ class: "cn-dashboard-page__switch-row",
27
+ "data-testid": "cn-dashboard-page-switch-row"
28
+ };
29
+ const _hoisted_8 = {
24
30
  key: 0,
25
31
  class: "cn-dashboard-page__date-segmented",
26
32
  "data-testid": "cn-dashboard-page-date-segmented"
27
33
  };
28
- const _hoisted_8 = ["aria-label"];
29
- const _hoisted_9 = ["aria-pressed", "data-testid", "onClick"];
30
- const _hoisted_10 = {
31
- key: 3,
34
+ const _hoisted_9 = ["aria-label"];
35
+ const _hoisted_10 = ["aria-pressed", "data-testid", "onClick"];
36
+ const _hoisted_11 = {
37
+ key: 4,
32
38
  class: "cn-dashboard-page__page-filters",
33
39
  "data-testid": "cn-dashboard-page-page-filters"
34
40
  };
35
- const _hoisted_11 = {
41
+ const _hoisted_12 = {
36
42
  key: 0,
37
43
  class: "cn-dashboard-page__page-filter-label"
38
44
  };
39
- const _hoisted_12 = {
40
- key: 7,
41
- class: "cn-dashboard-page__empty"
42
- };
43
45
  const _hoisted_13 = {
44
46
  key: 8,
47
+ class: "cn-dashboard-page__empty"
48
+ };
49
+ const _hoisted_14 = {
50
+ key: 9,
45
51
  class: "cn-dashboard-page__content"
46
52
  };
47
- const _hoisted_14 = ["data-testid"];
48
- const _hoisted_15 = { class: "cn-dashboard-page__unknown" };
49
- const _hoisted_16 = {
50
- key: 10,
53
+ const _hoisted_15 = ["data-testid"];
54
+ const _hoisted_16 = { class: "cn-dashboard-page__unknown" };
55
+ const _hoisted_17 = {
56
+ key: 11,
51
57
  class: "cn-dashboard-page__view-switch"
52
58
  };
53
- const _hoisted_17 = {
59
+ const _hoisted_18 = {
54
60
  key: 0,
55
61
  class: "cn-dashboard-page__widget-edit"
56
62
  };
57
- const _hoisted_18 = {
63
+ const _hoisted_19 = {
58
64
  class: "cn-dashboard-page__requires-app cn-requires-app cn-requires-app--compact",
59
65
  "data-testid": "cn-requires-app"
60
66
  };
61
- const _hoisted_19 = { class: "cn-requires-app__description" };
62
- const _hoisted_20 = ["title"];
63
- const _hoisted_21 = {
67
+ const _hoisted_20 = { class: "cn-requires-app__description" };
68
+ const _hoisted_21 = ["title"];
69
+ const _hoisted_22 = {
64
70
  key: 1,
65
71
  class: "cn-dashboard-page__date-chip-preset-spacer"
66
72
  };
67
- const _hoisted_22 = ["title"];
68
- const _hoisted_23 = {
73
+ const _hoisted_23 = ["title"];
74
+ const _hoisted_24 = {
69
75
  key: 1,
70
76
  class: "cn-dashboard-page__date-chip-preset-spacer"
71
77
  };
72
- const _hoisted_24 = {
78
+ const _hoisted_25 = {
73
79
  key: 2,
74
80
  class: "cn-dashboard-page__unknown"
75
81
  };
76
- const _hoisted_25 = ["title"];
77
- const _hoisted_26 = {
82
+ const _hoisted_26 = ["title"];
83
+ const _hoisted_27 = {
78
84
  key: 1,
79
85
  class: "cn-dashboard-page__date-chip-preset-spacer"
80
86
  };
81
- const _hoisted_27 = { class: "cn-dashboard-page__unknown" };
82
- const _hoisted_28 = ["id", "aria-label"];
87
+ const _hoisted_28 = { class: "cn-dashboard-page__unknown" };
88
+ const _hoisted_29 = ["id", "aria-label"];
83
89
 
84
90
  function render(_ctx, _cache, $props, $setup, $data, $options) {
85
91
  const _component_CnSegmentedControl = resolveComponent("CnSegmentedControl");
@@ -90,6 +96,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
90
96
  const _component_Restore = resolveComponent("Restore");
91
97
  const _component_CnBuildiqEditButton = resolveComponent("CnBuildiqEditButton");
92
98
  const _component_CnActionsMenu = resolveComponent("CnActionsMenu");
99
+ const _component_CnWidgetIcon = resolveComponent("CnWidgetIcon");
93
100
  const _component_CalendarRange = resolveComponent("CalendarRange");
94
101
  const _component_NcActionInput = resolveComponent("NcActionInput");
95
102
  const _component_NcActions = resolveComponent("NcActions");
@@ -140,12 +147,12 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
140
147
  renderSlot(_ctx.$slots, "title-meta")
141
148
  ]))
142
149
  : createCommentVNode("v-if", true),
143
- ($props.description)
144
- ? (openBlock(), createElementBlock("p", _hoisted_5, toDisplayString($options.resolvedDescription), 1 /* TEXT */))
150
+ ($options.subtitleText)
151
+ ? (openBlock(), createElementBlock("p", _hoisted_5, toDisplayString($options.subtitleText), 1 /* TEXT */))
145
152
  : createCommentVNode("v-if", true)
146
153
  ]),
147
154
  createElementVNode("div", _hoisted_6, [
148
- (_ctx.showsPageViewSwitch)
155
+ (_ctx.showsPageViewSwitch && !$options.switchInRow)
149
156
  ? (openBlock(), createBlock(_component_CnSegmentedControl, {
150
157
  key: 0,
151
158
  class: "cn-page-view-switch",
@@ -212,39 +219,42 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
212
219
  (!$options.isBoardLook)
213
220
  ? (openBlock(), createBlock(_component_CnBuildiqEditButton, { key: 4 }))
214
221
  : createCommentVNode("v-if", true),
215
- createVNode(_component_CnActionsMenu, {
216
- showRefresh: $props.showRefresh,
217
- showRequestFeature: $props.showRequestFeature,
218
- showReportBug: $props.showReportBug,
219
- showDocumentation: $props.showDocumentation,
220
- documentationUrl: $props.documentationUrl,
221
- docsAnchor: $options.resolvedPageId,
222
- documentationLabel: $props.documentationLabel,
223
- refreshLabel: $props.refreshLabel,
224
- requestFeatureLabel: $props.requestFeatureLabel,
225
- actionsMenuLabel: $props.actionsMenuLabel,
226
- refreshing: $props.refreshing,
227
- widgetId: $options.resolvedPageId,
228
- title: $props.title,
229
- surface: `dashboard:${$options.resolvedPageId}`,
230
- specRef: $props.specRef,
231
- refreshChannel: "cn:page:refresh",
232
- testidBase: "cn-dashboard-page",
233
- onRefresh: $options.onActionsRefresh,
234
- onRequestFeature: $options.onActionsRequestFeature
235
- }, createSlots({ _: 2 /* DYNAMIC */ }, [
236
- ($options.hasActionItemsSlot)
237
- ? {
238
- name: "action-items",
239
- fn: withCtx(() => [
240
- renderSlot(_ctx.$slots, "action-items")
241
- ]),
242
- key: "0"
243
- }
244
- : undefined
245
- ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["showRefresh", "showRequestFeature", "showReportBug", "showDocumentation", "documentationUrl", "docsAnchor", "documentationLabel", "refreshLabel", "requestFeatureLabel", "actionsMenuLabel", "refreshing", "widgetId", "title", "surface", "specRef", "onRefresh", "onRequestFeature"]),
222
+ ($props.showActionsMenu)
223
+ ? (openBlock(), createBlock(_component_CnActionsMenu, {
224
+ key: 5,
225
+ showRefresh: $props.showRefresh,
226
+ showRequestFeature: $props.showRequestFeature,
227
+ showReportBug: $props.showReportBug,
228
+ showDocumentation: $props.showDocumentation,
229
+ documentationUrl: $props.documentationUrl,
230
+ docsAnchor: $options.resolvedPageId,
231
+ documentationLabel: $props.documentationLabel,
232
+ refreshLabel: $props.refreshLabel,
233
+ requestFeatureLabel: $props.requestFeatureLabel,
234
+ actionsMenuLabel: $props.actionsMenuLabel,
235
+ refreshing: $props.refreshing,
236
+ widgetId: $options.resolvedPageId,
237
+ title: $props.title,
238
+ surface: `dashboard:${$options.resolvedPageId}`,
239
+ specRef: $props.specRef,
240
+ refreshChannel: "cn:page:refresh",
241
+ testidBase: "cn-dashboard-page",
242
+ onRefresh: $options.onActionsRefresh,
243
+ onRequestFeature: $options.onActionsRequestFeature
244
+ }, createSlots({ _: 2 /* DYNAMIC */ }, [
245
+ ($options.hasActionItemsSlot)
246
+ ? {
247
+ name: "action-items",
248
+ fn: withCtx(() => [
249
+ renderSlot(_ctx.$slots, "action-items")
250
+ ]),
251
+ key: "0"
252
+ }
253
+ : undefined
254
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["showRefresh", "showRequestFeature", "showReportBug", "showDocumentation", "documentationUrl", "docsAnchor", "documentationLabel", "refreshLabel", "requestFeatureLabel", "actionsMenuLabel", "refreshing", "widgetId", "title", "surface", "specRef", "onRefresh", "onRequestFeature"]))
255
+ : createCommentVNode("v-if", true),
246
256
  ($options.isBoardLook)
247
- ? (openBlock(), createElementBlock(Fragment, { key: 5 }, [
257
+ ? (openBlock(), createElementBlock(Fragment, { key: 6 }, [
248
258
  createVNode(_component_CnBuildiqEditButton),
249
259
  ($props.headerActions && $props.headerActions.length)
250
260
  ? (openBlock(), createBlock(_component_CnActionButtons, {
@@ -260,9 +270,47 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
260
270
  ])
261
271
  ]))
262
272
  : createCommentVNode("v-if", true),
273
+ ($props.showHeader && ($options.switchInRow || $options.resolvedViewLinks.length > 0))
274
+ ? (openBlock(), createElementBlock("div", _hoisted_7, [
275
+ ($options.switchInRow)
276
+ ? (openBlock(), createBlock(_component_CnSegmentedControl, {
277
+ key: 0,
278
+ class: "cn-page-view-switch",
279
+ options: _ctx.viewSwitchOptions,
280
+ modelValue: _ctx.activeViewId,
281
+ ariaLabel: _ctx.viewSwitchLabel,
282
+ controls: _ctx.viewRegionId,
283
+ "data-testid": "cn-dashboard-page-view-switch",
284
+ "onUpdate:modelValue": _ctx.selectView
285
+ }, null, 8 /* PROPS */, ["options", "modelValue", "ariaLabel", "controls", "onUpdate:modelValue"]))
286
+ : createCommentVNode("v-if", true),
287
+ _cache[11] || (_cache[11] = createElementVNode("span", { class: "cn-dashboard-page__switch-row-spacer" }, null, -1 /* CACHED */)),
288
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.resolvedViewLinks, (link) => {
289
+ return (openBlock(), createBlock(resolveDynamicComponent(link.tag), mergeProps({
290
+ key: link.key
291
+ }, { ref_for: true }, link.attrs, {
292
+ class: "cn-dashboard-page__view-link",
293
+ "data-testid": "cn-dashboard-page-view-link"
294
+ }), {
295
+ default: withCtx(() => [
296
+ (link.icon)
297
+ ? (openBlock(), createBlock(_component_CnWidgetIcon, {
298
+ key: 0,
299
+ name: link.icon,
300
+ size: 14,
301
+ class: "cn-dashboard-page__view-link-icon"
302
+ }, null, 8 /* PROPS */, ["name"]))
303
+ : createCommentVNode("v-if", true),
304
+ createTextVNode(" " + toDisplayString(link.label), 1 /* TEXT */)
305
+ ]),
306
+ _: 2 /* DYNAMIC */
307
+ }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */))
308
+ }), 128 /* KEYED_FRAGMENT */))
309
+ ]))
310
+ : createCommentVNode("v-if", true),
263
311
  ($options.showHeaderDateRange)
264
312
  ? (openBlock(), createElementBlock("div", {
265
- key: 2,
313
+ key: 3,
266
314
  class: normalizeClass(["cn-dashboard-page__date-range", {
267
315
  'cn-dashboard-page__date-range--pills': $options.dateRangeControl === 'pills',
268
316
  'cn-dashboard-page__date-range--segmented': $options.dateRangeControl === 'segmented',
@@ -270,7 +318,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
270
318
  "data-testid": "cn-dashboard-page-date-range"
271
319
  }, [
272
320
  ($options.dateRangeControl === 'segmented')
273
- ? (openBlock(), createElementBlock("div", _hoisted_7, [
321
+ ? (openBlock(), createElementBlock("div", _hoisted_8, [
274
322
  createVNode(_component_CnSegmentedControl, {
275
323
  size: "compact",
276
324
  mode: "toggle",
@@ -326,7 +374,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
326
374
  "aria-pressed": String(Boolean($data.currentRange && $data.currentRange.preset === preset.id)),
327
375
  "data-testid": `cn-dashboard-page-date-pill-${preset.id}`,
328
376
  onClick: $event => ($options.onPillPick(preset))
329
- }, toDisplayString(preset.label), 11 /* TEXT, CLASS, PROPS */, _hoisted_9))
377
+ }, toDisplayString(preset.label), 11 /* TEXT, CLASS, PROPS */, _hoisted_10))
330
378
  }), 128 /* KEYED_FRAGMENT */)),
331
379
  ($options.hasCustomPreset)
332
380
  ? (openBlock(), createBlock(_component_NcActions, {
@@ -360,7 +408,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
360
408
  _: 1 /* STABLE */
361
409
  }))
362
410
  : createCommentVNode("v-if", true)
363
- ], 8 /* PROPS */, _hoisted_8))
411
+ ], 8 /* PROPS */, _hoisted_9))
364
412
  : (openBlock(), createBlock(_component_CnDateRangePicker, {
365
413
  key: 2,
366
414
  value: $data.currentRange,
@@ -370,14 +418,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
370
418
  ], 2 /* CLASS */))
371
419
  : createCommentVNode("v-if", true),
372
420
  ($props.pageFilters && $props.pageFilters.length)
373
- ? (openBlock(), createElementBlock("div", _hoisted_10, [
421
+ ? (openBlock(), createElementBlock("div", _hoisted_11, [
374
422
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.pageFilters, (pf) => {
375
423
  return (openBlock(), createElementBlock("label", {
376
424
  key: pf.key,
377
425
  class: "cn-dashboard-page__page-filter"
378
426
  }, [
379
427
  (pf.label)
380
- ? (openBlock(), createElementBlock("span", _hoisted_11, toDisplayString(pf.label), 1 /* TEXT */))
428
+ ? (openBlock(), createElementBlock("span", _hoisted_12, toDisplayString(pf.label), 1 /* TEXT */))
381
429
  : createCommentVNode("v-if", true),
382
430
  createVNode(_component_NcSelect, {
383
431
  modelValue: $options.selectedPageFilterOption(pf),
@@ -394,7 +442,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
394
442
  : createCommentVNode("v-if", true),
395
443
  ($options.hasBodyWidgets)
396
444
  ? (openBlock(), createBlock(_component_CnBodySections, {
397
- key: 4,
445
+ key: 5,
398
446
  sections: $props.bodyWidgets,
399
447
  context: $options.sectionContext,
400
448
  placement: "before-grid",
@@ -402,11 +450,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
402
450
  }, null, 8 /* PROPS */, ["sections", "context"]))
403
451
  : createCommentVNode("v-if", true),
404
452
  ($props.loading)
405
- ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 5 }))
453
+ ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 6 }))
406
454
  : (!$data.widgetConditionsSettled && !$options.gridEditable)
407
- ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 6 }))
455
+ ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 7 }))
408
456
  : (!$options.hasWidgets && !$options.hasBodyWidgets && !_ctx.hasViews)
409
- ? (openBlock(), createElementBlock("div", _hoisted_12, [
457
+ ? (openBlock(), createElementBlock("div", _hoisted_13, [
410
458
  renderSlot(_ctx.$slots, "empty", {}, () => [
411
459
  createVNode(_component_CnEmptyContent, { description: $props.emptyLabel }, {
412
460
  icon: withCtx(() => [
@@ -417,7 +465,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
417
465
  ])
418
466
  ]))
419
467
  : ($options.widgetRefItems.length > 0)
420
- ? (openBlock(), createElementBlock("div", _hoisted_13, [
468
+ ? (openBlock(), createElementBlock("div", _hoisted_14, [
421
469
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.widgetRefItems, (item, idx) => {
422
470
  return (openBlock(), createBlock(_component_CnWidgetRefItem, {
423
471
  key: item.ref + '-' + idx,
@@ -429,7 +477,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
429
477
  : createCommentVNode("v-if", true),
430
478
  ($options.gridSectionsShown && $options.kpiRowItems.length > 0)
431
479
  ? (openBlock(), createBlock(_component_CnKpiGrid, {
432
- key: 9,
480
+ key: 10,
433
481
  columns: "auto",
434
482
  class: "cn-dashboard-page__kpi-row",
435
483
  "data-testid": "cn-dashboard-page-kpi-row"
@@ -496,18 +544,18 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
496
544
  showRefresh: false
497
545
  }, {
498
546
  default: withCtx(() => [
499
- createElementVNode("div", _hoisted_15, toDisplayString($props.unavailableLabel), 1 /* TEXT */)
547
+ createElementVNode("div", _hoisted_16, toDisplayString($props.unavailableLabel), 1 /* TEXT */)
500
548
  ]),
501
549
  _: 1 /* STABLE */
502
550
  }, 8 /* PROPS */, ["title"]))
503
- ], 8 /* PROPS */, _hoisted_14))
551
+ ], 8 /* PROPS */, _hoisted_15))
504
552
  }), 128 /* KEYED_FRAGMENT */))
505
553
  ]),
506
554
  _: 3 /* FORWARDED */
507
555
  }))
508
556
  : createCommentVNode("v-if", true),
509
557
  ($options.gridSectionsShown && !$props.showHeader && _ctx.showsPageViewSwitch)
510
- ? (openBlock(), createElementBlock("div", _hoisted_16, [
558
+ ? (openBlock(), createElementBlock("div", _hoisted_17, [
511
559
  createVNode(_component_CnSegmentedControl, {
512
560
  class: "cn-page-view-switch",
513
561
  options: _ctx.viewSwitchOptions,
@@ -533,7 +581,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
533
581
  }), {
534
582
  widget: withCtx(({ item }) => [
535
583
  ($options.gridEditable)
536
- ? (openBlock(), createElementBlock("div", _hoisted_17, [
584
+ ? (openBlock(), createElementBlock("div", _hoisted_18, [
537
585
  createVNode(_component_NcButton, {
538
586
  variant: "tertiary",
539
587
  "aria-label": _ctx.t('nextcloud-vue', 'Configure widget'),
@@ -553,8 +601,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
553
601
  showTitle: $options.widgetShowTitle(item)
554
602
  }, {
555
603
  default: withCtx(() => [
556
- createElementVNode("div", _hoisted_18, [
557
- createElementVNode("p", _hoisted_19, toDisplayString(_ctx.t('nextcloud-vue', 'This widget shows data from another app that isn\'t installed yet.')), 1 /* TEXT */),
604
+ createElementVNode("div", _hoisted_19, [
605
+ createElementVNode("p", _hoisted_20, toDisplayString(_ctx.t('nextcloud-vue', 'This widget shows data from another app that isn\'t installed yet.')), 1 /* TEXT */),
558
606
  createVNode(_component_NcButton, {
559
607
  variant: "primary",
560
608
  href: $options.appInstallUrl($options.missingRequiredApp(item))
@@ -647,7 +695,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
647
695
  createElementVNode("span", {
648
696
  class: "cn-dashboard-page__date-chip",
649
697
  title: $data.dateChipTitle
650
- }, toDisplayString($options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_20)
698
+ }, toDisplayString($options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_21)
651
699
  ]),
652
700
  default: withCtx(() => [
653
701
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.effectivePresets, (preset) => {
@@ -662,7 +710,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
662
710
  key: 0,
663
711
  size: 16
664
712
  }))
665
- : (openBlock(), createElementBlock("span", _hoisted_21))
713
+ : (openBlock(), createElementBlock("span", _hoisted_22))
666
714
  ]),
667
715
  default: withCtx(() => [
668
716
  createTextVNode(" " + toDisplayString(preset.label), 1 /* TEXT */)
@@ -741,7 +789,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
741
789
  createElementVNode("span", {
742
790
  class: "cn-dashboard-page__date-chip",
743
791
  title: $data.dateChipTitle
744
- }, toDisplayString($options.formatChartDateRange(item) || $options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_22)
792
+ }, toDisplayString($options.formatChartDateRange(item) || $options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_23)
745
793
  ]),
746
794
  default: withCtx(() => [
747
795
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.effectivePresets, (preset) => {
@@ -756,7 +804,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
756
804
  key: 0,
757
805
  size: 16
758
806
  }))
759
- : (openBlock(), createElementBlock("span", _hoisted_23))
807
+ : (openBlock(), createElementBlock("span", _hoisted_24))
760
808
  ]),
761
809
  default: withCtx(() => [
762
810
  createTextVNode(" " + toDisplayString(preset.label), 1 /* TEXT */)
@@ -850,7 +898,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
850
898
  key: 1,
851
899
  ref_for: true
852
900
  }, $options.getIntegrationProps(item)), null, 16 /* FULL_PROPS */))
853
- : (openBlock(), createElementBlock("div", _hoisted_24, toDisplayString($props.unavailableLabel), 1 /* TEXT */))
901
+ : (openBlock(), createElementBlock("div", _hoisted_25, toDisplayString($props.unavailableLabel), 1 /* TEXT */))
854
902
  ]),
855
903
  _: 2 /* DYNAMIC */
856
904
  }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["widgetId", "title", "iconUrl", "iconClass", "showTitle", "showActions", "borderless", "flush", "buttons", "headerLink", "styleConfig", "titleIconPosition", "titleIconColor", "titleIconVariant", "showRefresh", "documentationUrl", "docsAnchor", "onRefresh", "onRequestFeature"]))
@@ -926,7 +974,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
926
974
  createElementVNode("span", {
927
975
  class: "cn-dashboard-page__date-chip",
928
976
  title: $data.dateChipTitle
929
- }, toDisplayString($options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_25)
977
+ }, toDisplayString($options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_26)
930
978
  ]),
931
979
  default: withCtx(() => [
932
980
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.effectivePresets, (preset) => {
@@ -941,7 +989,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
941
989
  key: 0,
942
990
  size: 16
943
991
  }))
944
- : (openBlock(), createElementBlock("span", _hoisted_26))
992
+ : (openBlock(), createElementBlock("span", _hoisted_27))
945
993
  ]),
946
994
  default: withCtx(() => [
947
995
  createTextVNode(" " + toDisplayString(preset.label), 1 /* TEXT */)
@@ -979,7 +1027,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
979
1027
  showRefresh: false
980
1028
  }, {
981
1029
  default: withCtx(() => [
982
- createElementVNode("div", _hoisted_27, toDisplayString($props.unavailableLabel), 1 /* TEXT */)
1030
+ createElementVNode("div", _hoisted_28, toDisplayString($props.unavailableLabel), 1 /* TEXT */)
983
1031
  ]),
984
1032
  _: 1 /* STABLE */
985
1033
  }, 8 /* PROPS */, ["title", "showTitle"]))
@@ -989,7 +1037,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
989
1037
  }), 128 /* KEYED_FRAGMENT */)),
990
1038
  ($options.gridSectionsShown && $options.viewIsEmpty)
991
1039
  ? (openBlock(), createElementBlock("div", {
992
- key: 11,
1040
+ key: 12,
993
1041
  id: _ctx.viewRegionId,
994
1042
  role: "region",
995
1043
  "aria-label": _ctx.activeView ? _ctx.activeView.label : null,
@@ -1002,11 +1050,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1002
1050
  ]),
1003
1051
  _: 1 /* STABLE */
1004
1052
  }, 8 /* PROPS */, ["description"])
1005
- ], 8 /* PROPS */, _hoisted_28))
1053
+ ], 8 /* PROPS */, _hoisted_29))
1006
1054
  : createCommentVNode("v-if", true),
1007
1055
  ($options.hasBodyWidgets)
1008
1056
  ? (openBlock(), createBlock(_component_CnBodySections, {
1009
- key: 12,
1057
+ key: 13,
1010
1058
  sections: $props.bodyWidgets,
1011
1059
  context: $options.sectionContext,
1012
1060
  placement: "after-grid",
@@ -1015,7 +1063,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1015
1063
  : createCommentVNode("v-if", true),
1016
1064
  ($options.hasBodyWidgets)
1017
1065
  ? (openBlock(), createBlock(_component_CnBodySections, {
1018
- key: 13,
1066
+ key: 14,
1019
1067
  sections: $options.endPlacementSections,
1020
1068
  context: $options.sectionContext,
1021
1069
  placement: null,
@@ -1024,7 +1072,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1024
1072
  : createCommentVNode("v-if", true),
1025
1073
  ($data.showWidgetConfig)
1026
1074
  ? (openBlock(), createBlock(_component_CnWidgetStyleEditorModal, {
1027
- key: 14,
1075
+ key: 15,
1028
1076
  show: $data.showWidgetConfig,
1029
1077
  widget: $options.configWidget,
1030
1078
  deletable: true,