@conduction/nextcloud-vue 2.56.0-beta.47 → 2.56.0-beta.48

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 (105) 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/CnCountdownWidget/CnCountdownWidget.vue.js +1 -1
  11. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue2.js +139 -3
  12. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue2.js.map +1 -1
  13. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue3.js +60 -12
  14. package/dist/esm/components/CnCountdownWidget/CnCountdownWidget.vue3.js.map +1 -1
  15. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue.js +1 -1
  16. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +91 -36
  17. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
  18. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +115 -72
  19. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
  20. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +32 -3
  21. package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
  22. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js +7 -7
  23. package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
  24. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +141 -7
  25. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  26. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +5 -2
  27. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  28. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue.js +8 -0
  29. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue.js.map +1 -0
  30. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue2.js +114 -0
  31. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue2.js.map +1 -0
  32. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue3.js +45 -0
  33. package/dist/esm/components/CnPageHeader/CnHeaderTrail.vue3.js.map +1 -0
  34. package/dist/esm/components/CnPageHeader/CnPageHeader.vue2.js +38 -2
  35. package/dist/esm/components/CnPageHeader/CnPageHeader.vue2.js.map +1 -1
  36. package/dist/esm/components/CnPageHeader/CnPageHeader.vue3.js +12 -2
  37. package/dist/esm/components/CnPageHeader/CnPageHeader.vue3.js.map +1 -1
  38. package/dist/esm/components/CnPagination/CnPagination.vue2.js.map +1 -1
  39. package/dist/esm/components/CnPagination/CnPagination.vue3.js +56 -51
  40. package/dist/esm/components/CnPagination/CnPagination.vue3.js.map +1 -1
  41. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  42. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +3 -3
  43. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  44. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  45. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue.js +1 -1
  46. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue2.js +24 -0
  47. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue2.js.map +1 -1
  48. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue3.js +3 -1
  49. package/dist/esm/components/CnSettingsPage/CnSettingsPage.vue3.js.map +1 -1
  50. package/dist/esm/components/CnTabs/CnTabs.vue.js +1 -1
  51. package/dist/esm/components/CnTabs/CnTabs.vue2.js +39 -2
  52. package/dist/esm/components/CnTabs/CnTabs.vue2.js.map +1 -1
  53. package/dist/esm/components/CnTabs/CnTabs.vue3.js.map +1 -1
  54. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue.js +1 -1
  55. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +85 -8
  56. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js.map +1 -1
  57. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js +37 -9
  58. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js.map +1 -1
  59. package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue.js +1 -1
  60. package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue2.js.map +1 -1
  61. package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue3.js +4 -3
  62. package/dist/esm/components/CnVersionInfoCard/CnVersionInfoCard.vue3.js.map +1 -1
  63. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue.js +1 -1
  64. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue2.js +20 -0
  65. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue2.js.map +1 -1
  66. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue3.js +31 -20
  67. package/dist/esm/components/CnWidgetWrapper/CnWidgetWrapper.vue3.js.map +1 -1
  68. package/dist/esm/composables/indexSources.js +9 -0
  69. package/dist/esm/composables/indexSources.js.map +1 -1
  70. package/dist/esm/library-style.js +1 -1
  71. package/dist/esm/nextcloud-vue.css +402 -262
  72. package/dist/esm/utils/dueText.js +49 -8
  73. package/dist/esm/utils/dueText.js.map +1 -1
  74. package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
  75. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  76. package/dist/nextcloud-vue.cjs.js +5779 -4827
  77. package/dist/nextcloud-vue.cjs.js.map +2 -2
  78. package/dist/nextcloud-vue.css +402 -262
  79. package/package.json +1 -1
  80. package/src/components/CnActionsMenu/CnActionsMenu.vue +3 -1
  81. package/src/components/CnAdminSettingsShell/CnAdminSettingsShell.vue +39 -1
  82. package/src/components/CnCountdownWidget/CnCountdownWidget.vue +222 -6
  83. package/src/components/CnDashboardPage/CnDashboardPage.vue +96 -2
  84. package/src/components/CnDataTable/CnDataTable.md +1 -0
  85. package/src/components/CnDataTable/CnDataTable.vue +39 -10
  86. package/src/components/CnIndexPage/CnIndexPage.vue +144 -7
  87. package/src/components/CnPageHeader/CnHeaderTrail.vue +140 -0
  88. package/src/components/CnPageHeader/CnPageHeader.md +11 -0
  89. package/src/components/CnPageHeader/CnPageHeader.vue +42 -0
  90. package/src/components/CnPagination/CnPagination.vue +10 -2
  91. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +3 -3
  92. package/src/components/CnSettingsPage/CnSettingsPage.vue +26 -0
  93. package/src/components/CnTabs/CnTabs.vue +39 -2
  94. package/src/components/CnTabsWidget/CnTabsWidget.vue +106 -13
  95. package/src/components/CnVersionInfoCard/CnVersionInfoCard.vue +4 -3
  96. package/src/components/CnWidgetWrapper/CnWidgetWrapper.md +8 -0
  97. package/src/components/CnWidgetWrapper/CnWidgetWrapper.vue +31 -2
  98. package/src/composables/indexSources.js +9 -0
  99. package/src/css/dialog.css +14 -0
  100. package/src/css/look-board-index.css +27 -1
  101. package/src/css/look-board.css +27 -0
  102. package/src/css/page-header.css +16 -0
  103. package/src/schemas/app-manifest-v2.schema.json +22 -15
  104. package/src/utils/dueText.js +49 -8
  105. package/src/utils/validateManifestV2.compiled.js +3 -3
@@ -9,21 +9,22 @@ import Download from 'vue-material-design-icons/Download.vue';
9
9
  import Pencil from 'vue-material-design-icons/Pencil.vue';
10
10
  import Restore from 'vue-material-design-icons/Restore.vue';
11
11
  import ViewDashboardOutline from 'vue-material-design-icons/ViewDashboardOutline.vue';
12
- import __sfc_main$d from '../../dialogs/CnWidgetStyleEditorModal.vue.js';
13
- import __sfc_main$8 from '../CnBodySections/CnBodySections.vue.js';
14
- import __sfc_main$c from '../CnBuildiqEditButton/CnBuildiqEditButton.vue.js';
15
- import __sfc_main$5 from '../CnChartWidget/CnChartWidget.vue.js';
16
- import __sfc_main$1 from '../CnDashboardGrid/CnDashboardGrid.vue.js';
17
- import __sfc_main$9 from '../CnDateRangePicker/CnDateRangePicker.vue.js';
18
- import __sfc_main from '../CnEmptyContent/CnEmptyContent.vue.js';
19
- import __sfc_main$g from '../CnKpiGrid/CnKpiGrid.vue.js';
20
- import __sfc_main$f from '../CnSegmentedControl/CnSegmentedControl.vue.js';
21
- import __sfc_main$6 from '../CnStatsBlockWidget/CnStatsBlockWidget.vue.js';
22
- import __sfc_main$4 from '../CnTileWidget/CnTileWidget.vue.js';
23
- import __sfc_main$h from '../CnWidgetGrid/CnWidgetIcon.vue.js';
24
- import __sfc_main$7 from '../CnWidgetRefItem/CnWidgetRefItem.vue.js';
25
- import __sfc_main$3 from '../CnWidgetRenderer/CnWidgetRenderer.vue.js';
26
- import __sfc_main$2 from '../CnWidgetWrapper/CnWidgetWrapper.vue.js';
12
+ import __sfc_main$e from '../../dialogs/CnWidgetStyleEditorModal.vue.js';
13
+ import __sfc_main$9 from '../CnBodySections/CnBodySections.vue.js';
14
+ import __sfc_main$d from '../CnBuildiqEditButton/CnBuildiqEditButton.vue.js';
15
+ import __sfc_main$6 from '../CnChartWidget/CnChartWidget.vue.js';
16
+ import __sfc_main$2 from '../CnDashboardGrid/CnDashboardGrid.vue.js';
17
+ import __sfc_main$a from '../CnDateRangePicker/CnDateRangePicker.vue.js';
18
+ import __sfc_main$1 from '../CnEmptyContent/CnEmptyContent.vue.js';
19
+ import __sfc_main$h from '../CnKpiGrid/CnKpiGrid.vue.js';
20
+ import __sfc_main from '../CnPageHeader/CnHeaderTrail.vue.js';
21
+ import __sfc_main$g from '../CnSegmentedControl/CnSegmentedControl.vue.js';
22
+ import __sfc_main$7 from '../CnStatsBlockWidget/CnStatsBlockWidget.vue.js';
23
+ import __sfc_main$5 from '../CnTileWidget/CnTileWidget.vue.js';
24
+ import __sfc_main$i from '../CnWidgetGrid/CnWidgetIcon.vue.js';
25
+ import __sfc_main$8 from '../CnWidgetRefItem/CnWidgetRefItem.vue.js';
26
+ import __sfc_main$4 from '../CnWidgetRenderer/CnWidgetRenderer.vue.js';
27
+ import __sfc_main$3 from '../CnWidgetWrapper/CnWidgetWrapper.vue.js';
27
28
  import { useIntegrationRegistry } from '../../composables/useIntegrationRegistry.js';
28
29
  import { normalizeLook } from '../../composables/useLook.js';
29
30
  import { pageViews } from '../../mixins/pageViews.js';
@@ -34,12 +35,12 @@ import { pickDeclaredProps } from '../../utils/declaredProps.js';
34
35
  import { userLocale } from '../../utils/userLocale.js';
35
36
  import { isWorkspaceCondition, evaluateWorkspaceCondition, readVisibleWhenValue, compareVisibleWhen } from '../../utils/visibleWhen.js';
36
37
  import { canonicalWidgetType } from '../../utils/widgetTypeAliases.js';
37
- import __sfc_main$b from '../CnActionButtons/CnActionButtons.vue.js';
38
- import __sfc_main$e from '../CnLeafMountHost/CnLeafMountHost.vue.js';
38
+ import __sfc_main$c from '../CnActionButtons/CnActionButtons.vue.js';
39
+ import __sfc_main$f from '../CnLeafMountHost/CnLeafMountHost.vue.js';
39
40
  import { BUILT_IN_WIDGETS } from '../CnWidgetGrid/builtInWidgets.js';
40
41
  import { getWidgetTypeEntry } from '../CnWidgetGrid/dashboardWidgetRegistry.js';
41
42
  import '../CnWidgetGrid/registerDashboardWidgets.js';
42
- import __sfc_main$a from '../CnActionsMenu/CnActionsMenu.vue.js';
43
+ import __sfc_main$b from '../CnActionsMenu/CnActionsMenu.vue.js';
43
44
  import { DEFAULT_DATE_RANGE_PRESETS, translatePresetLabel, resolvePresetWindow } from '../CnDateRangePicker/CnDateRangePicker.vue2.js';
44
45
 
45
46
  /** Surfaces understood by the pluggable integration registry (AD-19). */
@@ -158,12 +159,13 @@ var script = {
158
159
  name: 'CnDashboardPage',
159
160
 
160
161
  components: {
162
+ CnHeaderTrail: __sfc_main,
161
163
  NcActions,
162
164
  NcActionButton,
163
165
  NcActionInput,
164
166
  NcActionSeparator,
165
167
  NcButton,
166
- CnEmptyContent: __sfc_main,
168
+ CnEmptyContent: __sfc_main$1,
167
169
  NcLoadingIcon,
168
170
  NcSelect,
169
171
  Pencil,
@@ -173,23 +175,23 @@ var script = {
173
175
  CalendarRange,
174
176
  ViewDashboardOutline,
175
177
  Download,
176
- CnDashboardGrid: __sfc_main$1,
177
- CnWidgetWrapper: __sfc_main$2,
178
- CnWidgetRenderer: __sfc_main$3,
179
- CnTileWidget: __sfc_main$4,
180
- CnChartWidget: __sfc_main$5,
181
- CnStatsBlockWidget: __sfc_main$6,
182
- CnWidgetRefItem: __sfc_main$7,
183
- CnBodySections: __sfc_main$8,
184
- CnDateRangePicker: __sfc_main$9,
185
- CnActionsMenu: __sfc_main$a,
186
- CnActionButtons: __sfc_main$b,
187
- CnBuildiqEditButton: __sfc_main$c,
188
- CnWidgetStyleEditorModal: __sfc_main$d,
189
- CnLeafMountHost: __sfc_main$e,
190
- CnSegmentedControl: __sfc_main$f,
191
- CnKpiGrid: __sfc_main$g,
192
- CnWidgetIcon: __sfc_main$h,
178
+ CnDashboardGrid: __sfc_main$2,
179
+ CnWidgetWrapper: __sfc_main$3,
180
+ CnWidgetRenderer: __sfc_main$4,
181
+ CnTileWidget: __sfc_main$5,
182
+ CnChartWidget: __sfc_main$6,
183
+ CnStatsBlockWidget: __sfc_main$7,
184
+ CnWidgetRefItem: __sfc_main$8,
185
+ CnBodySections: __sfc_main$9,
186
+ CnDateRangePicker: __sfc_main$a,
187
+ CnActionsMenu: __sfc_main$b,
188
+ CnActionButtons: __sfc_main$c,
189
+ CnBuildiqEditButton: __sfc_main$d,
190
+ CnWidgetStyleEditorModal: __sfc_main$e,
191
+ CnLeafMountHost: __sfc_main$f,
192
+ CnSegmentedControl: __sfc_main$g,
193
+ CnKpiGrid: __sfc_main$h,
194
+ CnWidgetIcon: __sfc_main$i,
193
195
  },
194
196
 
195
197
  mixins: [pageViews],
@@ -257,6 +259,30 @@ var script = {
257
259
  default: '',
258
260
  },
259
261
 
262
+ /**
263
+ * A breadcrumb under the title (manifest `config.breadcrumb`): one
264
+ * crumb `{ label, route?, params?, href?, icon?, separator? }` or a
265
+ * list; the title follows as the current crumb. Drawn as the detail
266
+ * header's breadcrumb row. Null (the default) draws none.
267
+ *
268
+ * @type {object|Array<object>|null}
269
+ * @spec openspec/changes/page-header-breadcrumb/specs/page-header/spec.md#requirement-a-list-dashboard-or-settings-page-can-show-a-breadcrumb-and-a-meta-note
270
+ */
271
+ breadcrumb: {
272
+ type: [Object, Array],
273
+ default: null,
274
+ },
275
+
276
+ /**
277
+ * A note after the breadcrumb and a middle dot (manifest `config.headerMeta`).
278
+ *
279
+ * @spec openspec/changes/page-header-breadcrumb/specs/page-header/spec.md#requirement-a-list-dashboard-or-settings-page-can-show-a-breadcrumb-and-a-meta-note
280
+ */
281
+ headerMeta: {
282
+ type: String,
283
+ default: '',
284
+ },
285
+
260
286
  /** Page description (shown below title) */
261
287
  description: {
262
288
  type: String,
@@ -1304,6 +1330,20 @@ var script = {
1304
1330
  return this.dateRangeEnabled && this.dateRange.showHeaderPicker !== false
1305
1331
  },
1306
1332
 
1333
+ /**
1334
+ * Whether the segmented period group sits at the end of the
1335
+ * description line (`dateRange.placement: "description"`) instead of
1336
+ * in a row of its own. Only for the segmented control without a
1337
+ * custom range, whose from/to popover keeps the row of its own.
1338
+ *
1339
+ * @return {boolean}
1340
+ * @spec openspec/changes/page-header-breadcrumb/specs/page-header/spec.md#requirement-a-dashboard-can-show-its-period-on-the-description-line
1341
+ */
1342
+ datePeriodInDescription() {
1343
+ return this.showHeaderDateRange && this.dateRangeControl === 'segmented'
1344
+ && this.dateRange.placement === 'description' && !this.hasCustomPreset
1345
+ },
1346
+
1307
1347
  /**
1308
1348
  * The preset list passed to the picker. Falls back to the
1309
1349
  * `DEFAULT_DATE_RANGE_PRESETS` constant when the consumer
@@ -2015,6 +2055,7 @@ var script = {
2015
2055
  widgetId: item.widgetId,
2016
2056
  title: this.getWidgetTitle(item),
2017
2057
  eyebrow: this.getWidgetEyebrow(item),
2058
+ subtitle: this.getWidgetSubtitle(item),
2018
2059
  showTitle: this.widgetShowTitle(item),
2019
2060
  showActions: this.widgetShowActions(item),
2020
2061
  showRefresh: this.getWidgetShowRefresh(item),
@@ -3133,6 +3174,20 @@ var script = {
3133
3174
  this.showWidgetConfig = false;
3134
3175
  },
3135
3176
 
3177
+ /**
3178
+ * The line under a widget's title (`subtitle` on the widget
3179
+ * definition), translated; empty when it carries none.
3180
+ *
3181
+ * @param {object} item Layout item.
3182
+ * @return {string}
3183
+ * @spec openspec/changes/page-header-breadcrumb/specs/page-header/spec.md#requirement-a-dashboard-widget-card-can-carry-a-line-under-its-title
3184
+ */
3185
+ getWidgetSubtitle(item) {
3186
+ const def = this.getWidgetDef(item.widgetId);
3187
+ const subtitle = def && typeof def.subtitle === 'string' ? def.subtitle : '';
3188
+ return subtitle ? this.effectiveTranslate(subtitle) : ''
3189
+ },
3190
+
3136
3191
  /**
3137
3192
  * The line above a widget's title (`eyebrow` on the widget
3138
3193
  * definition: "Saldo per week" above "Prognose 13 weken"), through the