@conduction/nextcloud-vue 2.99.0 → 2.101.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 (180) hide show
  1. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue.js +1 -1
  2. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue2.js +6 -1
  3. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue2.js.map +1 -1
  4. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue3.js +2 -1
  5. package/dist/esm/components/CnAdminSettingsShell/CnAdminSettingsShell.vue3.js.map +1 -1
  6. package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue.js +1 -1
  7. package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue2.js +22 -1
  8. package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue2.js.map +1 -1
  9. package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue3.js +26 -16
  10. package/dist/esm/components/CnChoiceCards/CnChoiceCards.vue3.js.map +1 -1
  11. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue.js +1 -1
  12. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +51 -7
  13. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
  14. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +104 -73
  15. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
  16. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +25 -8
  17. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
  18. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +5 -3
  19. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
  20. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue.js +1 -1
  21. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js +11 -8
  22. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js.map +1 -1
  23. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js +13 -4
  24. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js.map +1 -1
  25. package/dist/esm/components/CnExportsWidget/CnExportsWidget.vue.js +9 -0
  26. package/dist/esm/components/CnExportsWidget/CnExportsWidget.vue.js.map +1 -0
  27. package/dist/esm/components/CnExportsWidget/CnExportsWidget.vue2.js +139 -0
  28. package/dist/esm/components/CnExportsWidget/CnExportsWidget.vue2.js.map +1 -0
  29. package/dist/esm/components/CnExportsWidget/CnExportsWidget.vue3.js +76 -0
  30. package/dist/esm/components/CnExportsWidget/CnExportsWidget.vue3.js.map +1 -0
  31. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue.js +1 -1
  32. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js +54 -3
  33. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js.map +1 -1
  34. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue3.js +16 -2
  35. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue3.js.map +1 -1
  36. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue.js +1 -1
  37. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js +160 -2
  38. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js.map +1 -1
  39. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js +206 -94
  40. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js.map +1 -1
  41. package/dist/esm/components/CnFilesBrowser/filesReview.js +61 -0
  42. package/dist/esm/components/CnFilesBrowser/filesReview.js.map +1 -0
  43. package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue.js +1 -1
  44. package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue2.js +42 -7
  45. package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue2.js.map +1 -1
  46. package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue3.js +121 -57
  47. package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue3.js.map +1 -1
  48. package/dist/esm/components/CnFlowsPage/CnFlowEditorPage.vue2.js +10 -0
  49. package/dist/esm/components/CnFlowsPage/CnFlowEditorPage.vue2.js.map +1 -1
  50. package/dist/esm/components/CnFlowsPage/CnFlowEditorPage.vue3.js +2 -1
  51. package/dist/esm/components/CnFlowsPage/CnFlowEditorPage.vue3.js.map +1 -1
  52. package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue.js +9 -0
  53. package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue.js.map +1 -0
  54. package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue2.js +279 -0
  55. package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue2.js.map +1 -0
  56. package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue3.js +122 -0
  57. package/dist/esm/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue3.js.map +1 -0
  58. package/dist/esm/components/CnGroupedCardsWidget/index.js +29 -0
  59. package/dist/esm/components/CnGroupedCardsWidget/index.js.map +1 -0
  60. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +387 -78
  61. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  62. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +317 -209
  63. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  64. package/dist/esm/components/CnIndexPage/useNamedSource.js +4 -1
  65. package/dist/esm/components/CnIndexPage/useNamedSource.js.map +1 -1
  66. package/dist/esm/components/CnMapWidget/CnMapWidget.vue.js +1 -1
  67. package/dist/esm/components/CnMapWidget/CnMapWidget.vue2.js +15 -0
  68. package/dist/esm/components/CnMapWidget/CnMapWidget.vue2.js.map +1 -1
  69. package/dist/esm/components/CnMapWidget/CnMapWidget.vue3.js.map +1 -1
  70. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue.js +1 -1
  71. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js +14 -1
  72. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js.map +1 -1
  73. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js +14 -6
  74. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js.map +1 -1
  75. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue.js +1 -1
  76. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js +10 -0
  77. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js.map +1 -1
  78. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js +6 -1
  79. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js.map +1 -1
  80. package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue.js +1 -1
  81. package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue2.js +91 -4
  82. package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue2.js.map +1 -1
  83. package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue3.js +63 -38
  84. package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue3.js.map +1 -1
  85. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  86. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +68 -7
  87. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  88. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +256 -240
  89. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  90. package/dist/esm/components/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue.js +9 -0
  91. package/dist/esm/components/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue.js.map +1 -0
  92. package/dist/esm/components/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue2.js +175 -0
  93. package/dist/esm/components/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue2.js.map +1 -0
  94. package/dist/esm/components/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue3.js +77 -0
  95. package/dist/esm/components/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue3.js.map +1 -0
  96. package/dist/esm/components/CnSettingsFieldsSection/CnSettingsFieldsSection.vue.js +1 -1
  97. package/dist/esm/components/CnSettingsFieldsSection/CnSettingsFieldsSection.vue2.js +38 -9
  98. package/dist/esm/components/CnSettingsFieldsSection/CnSettingsFieldsSection.vue2.js.map +1 -1
  99. package/dist/esm/components/CnSettingsFieldsSection/CnSettingsFieldsSection.vue3.js.map +1 -1
  100. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue.js +1 -1
  101. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue2.js +51 -4
  102. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue2.js.map +1 -1
  103. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue3.js +40 -25
  104. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue3.js.map +1 -1
  105. package/dist/esm/components/CnWidgetGrid/builtInWidgets.js +4 -0
  106. package/dist/esm/components/CnWidgetGrid/builtInWidgets.js.map +1 -1
  107. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js +1 -0
  108. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js.map +1 -1
  109. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue.js +1 -1
  110. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue2.js +7 -7
  111. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue2.js.map +1 -1
  112. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue3.js.map +1 -1
  113. package/dist/esm/composables/indexSources.js +167 -20
  114. package/dist/esm/composables/indexSources.js.map +1 -1
  115. package/dist/esm/composables/useEndpointSource.js +28 -6
  116. package/dist/esm/composables/useEndpointSource.js.map +1 -1
  117. package/dist/esm/index.js +1 -0
  118. package/dist/esm/index.js.map +1 -1
  119. package/dist/esm/l10n/en.json.js +43 -1
  120. package/dist/esm/l10n/en.json.js.map +1 -1
  121. package/dist/esm/l10n/nl.json.js +41 -1
  122. package/dist/esm/l10n/nl.json.js.map +1 -1
  123. package/dist/esm/library-style.js +1 -1
  124. package/dist/esm/nextcloud-vue.css +1101 -396
  125. package/dist/esm/utils/languageMapText.js +50 -0
  126. package/dist/esm/utils/languageMapText.js.map +1 -0
  127. package/dist/esm/utils/libraryWidgetKeys.js +3 -0
  128. package/dist/esm/utils/libraryWidgetKeys.js.map +1 -1
  129. package/dist/esm/utils/mapList.js +71 -0
  130. package/dist/esm/utils/mapList.js.map +1 -0
  131. package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
  132. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  133. package/dist/nextcloud-vue.cjs.js +9996 -7378
  134. package/dist/nextcloud-vue.cjs.js.map +2 -2
  135. package/dist/nextcloud-vue.css +1101 -396
  136. package/l10n/en.json +43 -1
  137. package/l10n/nl.json +41 -1
  138. package/package.json +1 -1
  139. package/src/components/CnAdminSettingsShell/CnAdminSettingsShell.vue +7 -1
  140. package/src/components/CnChoiceCards/CnChoiceCards.md +39 -0
  141. package/src/components/CnChoiceCards/CnChoiceCards.vue +93 -16
  142. package/src/components/CnDashboardPage/CnDashboardPage.vue +89 -20
  143. package/src/components/CnDetailPage/CnDetailPage.vue +28 -9
  144. package/src/components/CnDetailWidgetHost/CnDetailWidgetHost.vue +13 -4
  145. package/src/components/CnExportsWidget/CnExportsWidget.vue +233 -0
  146. package/src/components/CnExportsWidget/index.js +7 -0
  147. package/src/components/CnFactsWidget/CnFactsWidget.vue +65 -3
  148. package/src/components/CnFilesBrowser/CnFilesBrowser.vue +324 -0
  149. package/src/components/CnFilesBrowser/filesReview.js +57 -0
  150. package/src/components/CnFlowsPage/CnFlowBoard.vue +77 -2
  151. package/src/components/CnFlowsPage/CnFlowEditorPage.vue +11 -0
  152. package/src/components/CnGroupedCardsWidget/CnGroupedCardsWidget.vue +433 -0
  153. package/src/components/CnGroupedCardsWidget/index.js +28 -0
  154. package/src/components/CnIndexPage/CnIndexPage.vue +376 -11
  155. package/src/components/CnIndexPage/useNamedSource.js +4 -1
  156. package/src/components/CnMapWidget/CnMapWidget.vue +37 -0
  157. package/src/components/CnObjectListWidget/CnObjectListWidget.vue +29 -1
  158. package/src/components/CnObjectSidebar/CnFilesTab.vue +15 -0
  159. package/src/components/CnOrderedListField/CnOrderedListField.vue +151 -5
  160. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +114 -7
  161. package/src/components/CnSavedViewAlertWidget/CnSavedViewAlertWidget.vue +272 -0
  162. package/src/components/CnSavedViewAlertWidget/index.js +7 -0
  163. package/src/components/CnSettingsFieldsSection/CnSettingsFieldsSection.vue +38 -9
  164. package/src/components/CnSetupWizard/CnSetupWizard.vue +72 -5
  165. package/src/components/CnWidgetGrid/builtInWidgets.js +4 -0
  166. package/src/components/CnWidgetGrid/registerDashboardWidgets.js +1 -0
  167. package/src/components/CnWizardDialog/CnWizardDialog.vue +7 -7
  168. package/src/components/index.js +3 -0
  169. package/src/composables/indexSources.js +166 -19
  170. package/src/composables/useEndpointSource.js +28 -6
  171. package/src/css/detail-page.css +15 -0
  172. package/src/css/dialog.css +48 -0
  173. package/src/css/index-page.css +117 -0
  174. package/src/css/look-board.css +127 -1
  175. package/src/index.js +1 -0
  176. package/src/schemas/app-manifest-v2.schema.json +55 -1
  177. package/src/utils/languageMapText.js +46 -0
  178. package/src/utils/libraryWidgetKeys.js +3 -0
  179. package/src/utils/mapList.js +67 -0
  180. package/src/utils/validateManifestV2.compiled.js +3 -3
@@ -1,4 +1,4 @@
1
- import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, toDisplayString, createCommentVNode, createElementVNode, createBlock, resolveDynamicComponent, withCtx, createTextVNode, renderSlot, createVNode, Fragment, createSlots, renderList, mergeProps } from 'vue';
1
+ import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, toDisplayString, createCommentVNode, createElementVNode, createBlock, resolveDynamicComponent, withCtx, createTextVNode, renderSlot, createVNode, Fragment, renderList, createSlots, mergeProps } from 'vue';
2
2
 
3
3
  const _hoisted_1 = {
4
4
  key: 0,
@@ -49,70 +49,74 @@ const _hoisted_14 = {
49
49
  "data-testid": "cn-dashboard-page-page-filters"
50
50
  };
51
51
  const _hoisted_15 = {
52
+ key: 1,
53
+ class: "cn-dashboard-page__page-filter"
54
+ };
55
+ const _hoisted_16 = {
52
56
  key: 0,
53
57
  class: "cn-dashboard-page__page-filter-label"
54
58
  };
55
- const _hoisted_16 = {
59
+ const _hoisted_17 = {
56
60
  key: 8,
57
61
  class: "cn-dashboard-page__empty"
58
62
  };
59
- const _hoisted_17 = {
63
+ const _hoisted_18 = {
60
64
  key: 9,
61
65
  class: "cn-dashboard-page__content"
62
66
  };
63
- const _hoisted_18 = ["data-testid"];
64
- const _hoisted_19 = {
67
+ const _hoisted_19 = ["data-testid"];
68
+ const _hoisted_20 = {
65
69
  key: 0,
66
70
  class: "cn-dashboard-page__widget-note",
67
71
  "data-testid": "cn-dashboard-widget-header-note"
68
72
  };
69
- const _hoisted_20 = ["onClick"];
70
- const _hoisted_21 = { class: "cn-dashboard-page__unknown" };
71
- const _hoisted_22 = {
73
+ const _hoisted_21 = ["onClick"];
74
+ const _hoisted_22 = { class: "cn-dashboard-page__unknown" };
75
+ const _hoisted_23 = {
72
76
  key: 11,
73
77
  class: "cn-dashboard-page__view-switch"
74
78
  };
75
- const _hoisted_23 = {
79
+ const _hoisted_24 = {
76
80
  key: 0,
77
81
  class: "cn-dashboard-page__widget-edit"
78
82
  };
79
- const _hoisted_24 = {
83
+ const _hoisted_25 = {
80
84
  class: "cn-dashboard-page__requires-app cn-requires-app cn-requires-app--compact",
81
85
  "data-testid": "cn-requires-app"
82
86
  };
83
- const _hoisted_25 = { class: "cn-requires-app__description" };
84
- const _hoisted_26 = ["title"];
85
- const _hoisted_27 = {
87
+ const _hoisted_26 = { class: "cn-requires-app__description" };
88
+ const _hoisted_27 = ["title"];
89
+ const _hoisted_28 = {
86
90
  key: 1,
87
91
  class: "cn-dashboard-page__date-chip-preset-spacer"
88
92
  };
89
- const _hoisted_28 = ["title"];
90
- const _hoisted_29 = {
93
+ const _hoisted_29 = ["title"];
94
+ const _hoisted_30 = {
91
95
  key: 1,
92
96
  class: "cn-dashboard-page__date-chip-preset-spacer"
93
97
  };
94
- const _hoisted_30 = {
98
+ const _hoisted_31 = {
95
99
  key: 2,
96
100
  class: "cn-dashboard-page__unknown"
97
101
  };
98
- const _hoisted_31 = {
102
+ const _hoisted_32 = {
99
103
  key: 0,
100
104
  class: "cn-dashboard-page__widget-count",
101
105
  "data-testid": "cn-dashboard-widget-header-count"
102
106
  };
103
- const _hoisted_32 = ["title"];
104
- const _hoisted_33 = {
107
+ const _hoisted_33 = ["title"];
108
+ const _hoisted_34 = {
105
109
  key: 1,
106
110
  class: "cn-dashboard-page__date-chip-preset-spacer"
107
111
  };
108
- const _hoisted_34 = {
112
+ const _hoisted_35 = {
109
113
  key: 0,
110
114
  class: "cn-dashboard-page__widget-note",
111
115
  "data-testid": "cn-dashboard-widget-header-note"
112
116
  };
113
- const _hoisted_35 = ["onClick"];
114
- const _hoisted_36 = { class: "cn-dashboard-page__unknown" };
115
- const _hoisted_37 = ["id", "aria-label"];
117
+ const _hoisted_36 = ["onClick"];
118
+ const _hoisted_37 = { class: "cn-dashboard-page__unknown" };
119
+ const _hoisted_38 = ["id", "aria-label"];
116
120
 
117
121
  function render(_ctx, _cache, $props, $setup, $data, $options) {
118
122
  const _component_CnHeaderTrail = resolveComponent("CnHeaderTrail");
@@ -181,7 +185,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
181
185
  current: $props.title ? $options.resolvedTitle : '',
182
186
  meta: $props.headerMeta ? $options.effectiveTranslate($props.headerMeta) : ''
183
187
  }, null, 8 /* PROPS */, ["breadcrumb", "current", "meta"]),
184
- ($options.datePeriodInDescription)
188
+ ($options.datePeriodInDescription || $options.descriptionPageFilters.length > 0)
185
189
  ? (openBlock(), createElementBlock("div", _hoisted_5, [
186
190
  ($options.subtitleText)
187
191
  ? (openBlock(), createElementBlock("span", _hoisted_6, toDisplayString($options.subtitleText), 1 /* TEXT */))
@@ -189,15 +193,30 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
189
193
  ($options.subtitleText)
190
194
  ? (openBlock(), createElementBlock("span", _hoisted_7, "·"))
191
195
  : 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"])
196
+ ($options.datePeriodInDescription)
197
+ ? (openBlock(), createBlock(_component_CnSegmentedControl, {
198
+ key: 2,
199
+ size: "compact",
200
+ mode: "toggle",
201
+ options: $options.segmentedOptions,
202
+ modelValue: $options.segmentedValue,
203
+ ariaLabel: $options.datePeriodLabel,
204
+ "data-testid": "cn-dashboard-page-date-segmented",
205
+ "onUpdate:modelValue": $options.onSegmentPick
206
+ }, null, 8 /* PROPS */, ["options", "modelValue", "ariaLabel", "onUpdate:modelValue"]))
207
+ : createCommentVNode("v-if", true),
208
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.descriptionPageFilters, (pf) => {
209
+ return (openBlock(), createBlock(_component_CnSegmentedControl, {
210
+ key: pf.key,
211
+ size: "compact",
212
+ mode: "toggle",
213
+ options: $options.pageFilterSegments(pf),
214
+ modelValue: $setup.workspaceContext[pf.key],
215
+ ariaLabel: pf.label ? $options.effectiveTranslate(pf.label) : pf.key,
216
+ "data-testid": 'cn-page-filter-' + pf.key,
217
+ "onUpdate:modelValue": $event => ($options.onPageFilterChange(pf, $event))
218
+ }, null, 8 /* PROPS */, ["options", "modelValue", "ariaLabel", "data-testid", "onUpdate:modelValue"]))
219
+ }), 128 /* KEYED_FRAGMENT */))
201
220
  ]))
202
221
  : ($options.subtitleText)
203
222
  ? (openBlock(), createElementBlock("p", _hoisted_8, toDisplayString($options.subtitleText), 1 /* TEXT */))
@@ -469,26 +488,38 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
469
488
  }, null, 8 /* PROPS */, ["value", "presets", "onInput"]))
470
489
  ], 2 /* CLASS */))
471
490
  : createCommentVNode("v-if", true),
472
- ($props.pageFilters && $props.pageFilters.length)
491
+ ($options.rowPageFilters.length > 0)
473
492
  ? (openBlock(), createElementBlock("div", _hoisted_14, [
474
- (openBlock(true), createElementBlock(Fragment, null, renderList($props.pageFilters, (pf) => {
475
- return (openBlock(), createElementBlock("label", {
476
- key: pf.key,
477
- class: "cn-dashboard-page__page-filter"
493
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.rowPageFilters, (pf) => {
494
+ return (openBlock(), createElementBlock(Fragment, {
495
+ key: pf.key
478
496
  }, [
479
- (pf.label)
480
- ? (openBlock(), createElementBlock("span", _hoisted_15, toDisplayString(pf.label), 1 /* TEXT */))
481
- : createCommentVNode("v-if", true),
482
- createVNode(_component_NcSelect, {
483
- modelValue: $options.selectedPageFilterOption(pf),
484
- options: pf.options || [],
485
- clearable: false,
486
- inputLabel: pf.label || pf.key,
487
- label: "label",
488
- "data-testid": 'cn-page-filter-' + pf.key,
489
- "onUpdate:modelValue": $event => ($options.onPageFilterChange(pf, $event))
490
- }, null, 8 /* PROPS */, ["modelValue", "options", "inputLabel", "data-testid", "onUpdate:modelValue"])
491
- ]))
497
+ (pf.control === 'segmented')
498
+ ? (openBlock(), createBlock(_component_CnSegmentedControl, {
499
+ key: 0,
500
+ size: "compact",
501
+ mode: "toggle",
502
+ options: $options.pageFilterSegments(pf),
503
+ modelValue: $setup.workspaceContext[pf.key],
504
+ ariaLabel: pf.label ? $options.effectiveTranslate(pf.label) : pf.key,
505
+ "data-testid": 'cn-page-filter-' + pf.key,
506
+ "onUpdate:modelValue": $event => ($options.onPageFilterChange(pf, $event))
507
+ }, null, 8 /* PROPS */, ["options", "modelValue", "ariaLabel", "data-testid", "onUpdate:modelValue"]))
508
+ : (openBlock(), createElementBlock("label", _hoisted_15, [
509
+ (pf.label)
510
+ ? (openBlock(), createElementBlock("span", _hoisted_16, toDisplayString(pf.label), 1 /* TEXT */))
511
+ : createCommentVNode("v-if", true),
512
+ createVNode(_component_NcSelect, {
513
+ modelValue: $options.selectedPageFilterOption(pf),
514
+ options: pf.options || [],
515
+ clearable: false,
516
+ inputLabel: pf.label || pf.key,
517
+ label: "label",
518
+ "data-testid": 'cn-page-filter-' + pf.key,
519
+ "onUpdate:modelValue": $event => ($options.onPageFilterChange(pf, $event))
520
+ }, null, 8 /* PROPS */, ["modelValue", "options", "inputLabel", "data-testid", "onUpdate:modelValue"])
521
+ ]))
522
+ ], 64 /* STABLE_FRAGMENT */))
492
523
  }), 128 /* KEYED_FRAGMENT */))
493
524
  ]))
494
525
  : createCommentVNode("v-if", true),
@@ -506,7 +537,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
506
537
  : (!$data.widgetConditionsSettled && !$options.gridEditable)
507
538
  ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 7 }))
508
539
  : (!$options.hasWidgets && !$options.hasBodyWidgets && !_ctx.hasViews)
509
- ? (openBlock(), createElementBlock("div", _hoisted_16, [
540
+ ? (openBlock(), createElementBlock("div", _hoisted_17, [
510
541
  renderSlot(_ctx.$slots, "empty", {}, () => [
511
542
  createVNode(_component_CnEmptyContent, { description: $props.emptyLabel }, {
512
543
  icon: withCtx(() => [
@@ -517,7 +548,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
517
548
  ])
518
549
  ]))
519
550
  : ($options.widgetRefItems.length > 0)
520
- ? (openBlock(), createElementBlock("div", _hoisted_17, [
551
+ ? (openBlock(), createElementBlock("div", _hoisted_18, [
521
552
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.widgetRefItems, (item, idx) => {
522
553
  return (openBlock(), createBlock(_component_CnWidgetRefItem, {
523
554
  key: item.ref + '-' + idx,
@@ -581,7 +612,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
581
612
  name: "actions",
582
613
  fn: withCtx(() => [
583
614
  ($options.widgetHeaderNote(item))
584
- ? (openBlock(), createElementBlock("span", _hoisted_19, toDisplayString($options.widgetHeaderNote(item)), 1 /* TEXT */))
615
+ ? (openBlock(), createElementBlock("span", _hoisted_20, toDisplayString($options.widgetHeaderNote(item)), 1 /* TEXT */))
585
616
  : createCommentVNode("v-if", true),
586
617
  ($options.widgetHeaderAction(item))
587
618
  ? (openBlock(), createElementBlock("button", {
@@ -590,7 +621,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
590
621
  class: "cn-dashboard-page__widget-action",
591
622
  "data-testid": "cn-dashboard-widget-header-action",
592
623
  onClick: $event => ($options.widgetHeaderAction(item).run())
593
- }, toDisplayString($options.widgetHeaderAction(item).label), 9 /* TEXT, PROPS */, _hoisted_20))
624
+ }, toDisplayString($options.widgetHeaderAction(item).label), 9 /* TEXT, PROPS */, _hoisted_21))
594
625
  : createCommentVNode("v-if", true)
595
626
  ]),
596
627
  key: "0"
@@ -622,18 +653,18 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
622
653
  showRefresh: false
623
654
  }, {
624
655
  default: withCtx(() => [
625
- createElementVNode("div", _hoisted_21, toDisplayString($props.unavailableLabel), 1 /* TEXT */)
656
+ createElementVNode("div", _hoisted_22, toDisplayString($props.unavailableLabel), 1 /* TEXT */)
626
657
  ]),
627
658
  _: 1 /* STABLE */
628
659
  }, 8 /* PROPS */, ["title", "eyebrow", "subtitle"]))
629
- ], 8 /* PROPS */, _hoisted_18))
660
+ ], 8 /* PROPS */, _hoisted_19))
630
661
  }), 128 /* KEYED_FRAGMENT */))
631
662
  ]),
632
663
  _: 3 /* FORWARDED */
633
664
  }))
634
665
  : createCommentVNode("v-if", true),
635
666
  ($options.gridSectionsShown && !$props.showHeader && _ctx.showsPageViewSwitch)
636
- ? (openBlock(), createElementBlock("div", _hoisted_22, [
667
+ ? (openBlock(), createElementBlock("div", _hoisted_23, [
637
668
  createVNode(_component_CnSegmentedControl, {
638
669
  class: "cn-page-view-switch",
639
670
  options: _ctx.viewSwitchOptions,
@@ -660,7 +691,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
660
691
  }), {
661
692
  widget: withCtx(({ item }) => [
662
693
  ($options.gridEditable)
663
- ? (openBlock(), createElementBlock("div", _hoisted_23, [
694
+ ? (openBlock(), createElementBlock("div", _hoisted_24, [
664
695
  createVNode(_component_NcButton, {
665
696
  variant: "tertiary",
666
697
  "aria-label": _ctx.t('nextcloud-vue', 'Configure widget'),
@@ -682,8 +713,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
682
713
  showTitle: $options.widgetShowTitle(item)
683
714
  }, {
684
715
  default: withCtx(() => [
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 */),
716
+ createElementVNode("div", _hoisted_25, [
717
+ createElementVNode("p", _hoisted_26, toDisplayString(_ctx.t('nextcloud-vue', 'This widget shows data from another app that isn\'t installed yet.')), 1 /* TEXT */),
687
718
  createVNode(_component_NcButton, {
688
719
  variant: "primary",
689
720
  href: $options.appInstallUrl($options.missingRequiredApp(item))
@@ -778,7 +809,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
778
809
  createElementVNode("span", {
779
810
  class: "cn-dashboard-page__date-chip",
780
811
  title: $data.dateChipTitle
781
- }, toDisplayString($options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_26)
812
+ }, toDisplayString($options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_27)
782
813
  ]),
783
814
  default: withCtx(() => [
784
815
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.effectivePresets, (preset) => {
@@ -793,7 +824,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
793
824
  key: 0,
794
825
  size: 16
795
826
  }))
796
- : (openBlock(), createElementBlock("span", _hoisted_27))
827
+ : (openBlock(), createElementBlock("span", _hoisted_28))
797
828
  ]),
798
829
  default: withCtx(() => [
799
830
  createTextVNode(" " + toDisplayString(preset.label), 1 /* TEXT */)
@@ -874,7 +905,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
874
905
  createElementVNode("span", {
875
906
  class: "cn-dashboard-page__date-chip",
876
907
  title: $data.dateChipTitle
877
- }, toDisplayString($options.formatChartDateRange(item) || $options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_28)
908
+ }, toDisplayString($options.formatChartDateRange(item) || $options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_29)
878
909
  ]),
879
910
  default: withCtx(() => [
880
911
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.effectivePresets, (preset) => {
@@ -889,7 +920,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
889
920
  key: 0,
890
921
  size: 16
891
922
  }))
892
- : (openBlock(), createElementBlock("span", _hoisted_29))
923
+ : (openBlock(), createElementBlock("span", _hoisted_30))
893
924
  ]),
894
925
  default: withCtx(() => [
895
926
  createTextVNode(" " + toDisplayString(preset.label), 1 /* TEXT */)
@@ -987,7 +1018,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
987
1018
  key: 1,
988
1019
  ref_for: true
989
1020
  }, $options.getIntegrationProps(item)), null, 16 /* FULL_PROPS */))
990
- : (openBlock(), createElementBlock("div", _hoisted_30, toDisplayString($props.unavailableLabel), 1 /* TEXT */))
1021
+ : (openBlock(), createElementBlock("div", _hoisted_31, toDisplayString($props.unavailableLabel), 1 /* TEXT */))
991
1022
  ]),
992
1023
  _: 2 /* DYNAMIC */
993
1024
  }, 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"]))
@@ -1058,7 +1089,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1058
1089
  name: "title-meta",
1059
1090
  fn: withCtx(() => [
1060
1091
  ($options.widgetHeaderCount(item) !== null)
1061
- ? (openBlock(), createElementBlock("span", _hoisted_31, toDisplayString($options.widgetHeaderCount(item)), 1 /* TEXT */))
1092
+ ? (openBlock(), createElementBlock("span", _hoisted_32, toDisplayString($options.widgetHeaderCount(item)), 1 /* TEXT */))
1062
1093
  : createCommentVNode("v-if", true),
1063
1094
  ($options.dateRangeEnabled && item.dateChip === true)
1064
1095
  ? (openBlock(), createBlock(_component_NcActions, {
@@ -1074,7 +1105,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1074
1105
  createElementVNode("span", {
1075
1106
  class: "cn-dashboard-page__date-chip",
1076
1107
  title: $data.dateChipTitle
1077
- }, toDisplayString($options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_32)
1108
+ }, toDisplayString($options.dashboardRangeChipLabel), 9 /* TEXT, PROPS */, _hoisted_33)
1078
1109
  ]),
1079
1110
  default: withCtx(() => [
1080
1111
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.effectivePresets, (preset) => {
@@ -1089,7 +1120,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1089
1120
  key: 0,
1090
1121
  size: 16
1091
1122
  }))
1092
- : (openBlock(), createElementBlock("span", _hoisted_33))
1123
+ : (openBlock(), createElementBlock("span", _hoisted_34))
1093
1124
  ]),
1094
1125
  default: withCtx(() => [
1095
1126
  createTextVNode(" " + toDisplayString(preset.label), 1 /* TEXT */)
@@ -1125,7 +1156,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1125
1156
  name: "actions",
1126
1157
  fn: withCtx(() => [
1127
1158
  ($options.widgetHeaderNote(item))
1128
- ? (openBlock(), createElementBlock("span", _hoisted_34, toDisplayString($options.widgetHeaderNote(item)), 1 /* TEXT */))
1159
+ ? (openBlock(), createElementBlock("span", _hoisted_35, toDisplayString($options.widgetHeaderNote(item)), 1 /* TEXT */))
1129
1160
  : createCommentVNode("v-if", true),
1130
1161
  ($options.widgetHeaderAction(item))
1131
1162
  ? (openBlock(), createElementBlock("button", {
@@ -1134,7 +1165,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1134
1165
  class: "cn-dashboard-page__widget-action",
1135
1166
  "data-testid": "cn-dashboard-widget-header-action",
1136
1167
  onClick: $event => ($options.widgetHeaderAction(item).run())
1137
- }, toDisplayString($options.widgetHeaderAction(item).label), 9 /* TEXT, PROPS */, _hoisted_35))
1168
+ }, toDisplayString($options.widgetHeaderAction(item).label), 9 /* TEXT, PROPS */, _hoisted_36))
1138
1169
  : createCommentVNode("v-if", true)
1139
1170
  ]),
1140
1171
  key: "1"
@@ -1150,7 +1181,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1150
1181
  showRefresh: false
1151
1182
  }, {
1152
1183
  default: withCtx(() => [
1153
- createElementVNode("div", _hoisted_36, toDisplayString($props.unavailableLabel), 1 /* TEXT */)
1184
+ createElementVNode("div", _hoisted_37, toDisplayString($props.unavailableLabel), 1 /* TEXT */)
1154
1185
  ]),
1155
1186
  _: 1 /* STABLE */
1156
1187
  }, 8 /* PROPS */, ["title", "eyebrow", "subtitle", "showTitle"]))
@@ -1173,7 +1204,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1173
1204
  ]),
1174
1205
  _: 1 /* STABLE */
1175
1206
  }, 8 /* PROPS */, ["description"])
1176
- ], 8 /* PROPS */, _hoisted_37))
1207
+ ], 8 /* PROPS */, _hoisted_38))
1177
1208
  : createCommentVNode("v-if", true),
1178
1209
  ($options.hasBodyWidgets)
1179
1210
  ? (openBlock(), createBlock(_component_CnBodySections, {