@conduction/nextcloud-vue 2.121.0 → 2.123.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 (102) hide show
  1. package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js +1 -0
  2. package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js.map +1 -1
  3. package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js.map +1 -1
  4. package/dist/esm/components/CnAttentionFlagWidget/CnAttentionFlagWidget.vue.js +1 -1
  5. package/dist/esm/components/CnAttentionFlagWidget/CnAttentionFlagWidget.vue2.js +18 -4
  6. package/dist/esm/components/CnAttentionFlagWidget/CnAttentionFlagWidget.vue2.js.map +1 -1
  7. package/dist/esm/components/CnAttentionFlagWidget/CnAttentionFlagWidget.vue3.js +63 -32
  8. package/dist/esm/components/CnAttentionFlagWidget/CnAttentionFlagWidget.vue3.js.map +1 -1
  9. package/dist/esm/components/CnChartWidget/CnChartWidget.vue.js +1 -1
  10. package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js.map +1 -1
  11. package/dist/esm/components/CnChartWidget/CnChartWidget.vue3.js.map +1 -1
  12. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +35 -0
  13. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
  14. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +11 -5
  15. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
  16. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue.js +1 -1
  17. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js +13 -0
  18. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js.map +1 -1
  19. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js +37 -5
  20. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js.map +1 -1
  21. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue.js +1 -1
  22. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js +40 -0
  23. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js.map +1 -1
  24. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js +71 -65
  25. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js.map +1 -1
  26. package/dist/esm/components/CnFlowDetail/CnFlowDetail.vue.js +1 -1
  27. package/dist/esm/components/CnFlowDetail/CnFlowDetail.vue2.js +20 -0
  28. package/dist/esm/components/CnFlowDetail/CnFlowDetail.vue2.js.map +1 -1
  29. package/dist/esm/components/CnFlowDetail/CnFlowDetail.vue3.js +2 -1
  30. package/dist/esm/components/CnFlowDetail/CnFlowDetail.vue3.js.map +1 -1
  31. package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue.js +1 -1
  32. package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue2.js +2 -0
  33. package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue2.js.map +1 -1
  34. package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue3.js +49 -44
  35. package/dist/esm/components/CnFlowsPage/CnFlowBoard.vue3.js.map +1 -1
  36. package/dist/esm/components/CnFlowsPage/CnFlowEditorPage.vue2.js +10 -0
  37. package/dist/esm/components/CnFlowsPage/CnFlowEditorPage.vue2.js.map +1 -1
  38. package/dist/esm/components/CnFlowsPage/CnFlowEditorPage.vue3.js +2 -1
  39. package/dist/esm/components/CnFlowsPage/CnFlowEditorPage.vue3.js.map +1 -1
  40. package/dist/esm/components/CnGraphCanvas/CnGraphCanvas.vue2.js +31 -0
  41. package/dist/esm/components/CnGraphCanvas/CnGraphCanvas.vue2.js.map +1 -1
  42. package/dist/esm/components/CnGraphCanvas/CnGraphCanvas.vue3.js +4 -3
  43. package/dist/esm/components/CnGraphCanvas/CnGraphCanvas.vue3.js.map +1 -1
  44. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +34 -2
  45. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  46. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  47. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue2.js.map +1 -1
  48. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue3.js +1 -0
  49. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue3.js.map +1 -1
  50. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue.js +1 -1
  51. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js +2 -0
  52. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js.map +1 -1
  53. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js +2 -1
  54. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js.map +1 -1
  55. package/dist/esm/components/CnSectionsWidget/CnSectionsWidget.vue.js +1 -1
  56. package/dist/esm/components/CnSectionsWidget/CnSectionsWidget.vue2.js +31 -1
  57. package/dist/esm/components/CnSectionsWidget/CnSectionsWidget.vue2.js.map +1 -1
  58. package/dist/esm/components/CnSectionsWidget/CnSectionsWidget.vue3.js +14 -4
  59. package/dist/esm/components/CnSectionsWidget/CnSectionsWidget.vue3.js.map +1 -1
  60. package/dist/esm/composables/flowGraphLayout.js +36 -7
  61. package/dist/esm/composables/flowGraphLayout.js.map +1 -1
  62. package/dist/esm/composables/useFlowStore.js +7 -3
  63. package/dist/esm/composables/useFlowStore.js.map +1 -1
  64. package/dist/esm/l10n/en.json.js +3 -1
  65. package/dist/esm/l10n/en.json.js.map +1 -1
  66. package/dist/esm/l10n/nl.json.js +3 -1
  67. package/dist/esm/l10n/nl.json.js.map +1 -1
  68. package/dist/esm/library-style.js +1 -1
  69. package/dist/esm/nextcloud-vue.css +670 -316
  70. package/dist/esm/utils/manifestTranslate.js +12 -3
  71. package/dist/esm/utils/manifestTranslate.js.map +1 -1
  72. package/dist/esm/utils/routeFilters.js +3 -3
  73. package/dist/esm/utils/routeFilters.js.map +1 -1
  74. package/dist/nextcloud-vue.cjs.js +1218 -847
  75. package/dist/nextcloud-vue.cjs.js.map +2 -2
  76. package/dist/nextcloud-vue.css +670 -316
  77. package/l10n/en.json +3 -1
  78. package/l10n/nl.json +3 -1
  79. package/package.json +1 -1
  80. package/src/components/CnAppRoot/CnAppRoot.vue +1 -0
  81. package/src/components/CnAttentionFlagWidget/CnAttentionFlagWidget.vue +50 -5
  82. package/src/components/CnChartWidget/CnChartWidget.vue +10 -8
  83. package/src/components/CnDetailPage/CnDetailPage.md +10 -0
  84. package/src/components/CnDetailPage/CnDetailPage.vue +42 -1
  85. package/src/components/CnDetailWidgetHost/CnDetailWidgetHost.vue +39 -0
  86. package/src/components/CnFilesBrowser/CnFilesBrowser.vue +95 -37
  87. package/src/components/CnFlowDetail/CnFlowDetail.vue +21 -0
  88. package/src/components/CnFlowsPage/CnFlowBoard.vue +35 -18
  89. package/src/components/CnFlowsPage/CnFlowEditorPage.vue +11 -0
  90. package/src/components/CnGraphCanvas/CnGraphCanvas.vue +34 -2
  91. package/src/components/CnIndexPage/CnIndexPage.vue +34 -2
  92. package/src/components/CnIndexSidebar/CnIndexSidebar.vue +1 -0
  93. package/src/components/CnObjectSidebar/CnFilesTab.vue +3 -0
  94. package/src/components/CnSectionsWidget/CnSectionsWidget.vue +53 -2
  95. package/src/composables/flowGraphLayout.js +35 -6
  96. package/src/composables/useFlowStore.js +7 -3
  97. package/src/css/detail-page.css +6 -0
  98. package/src/css/look-board-detail.css +53 -6
  99. package/src/css/look-board-index.css +151 -12
  100. package/src/css/look-board.css +116 -4
  101. package/src/utils/manifestTranslate.js +12 -3
  102. package/src/utils/routeFilters.js +3 -3
@@ -145,6 +145,9 @@ const INTEGRATION_SURFACES = ['user-dashboard', 'app-dashboard', 'detail-page',
145
145
  /** The session storage key that lists the records whose access purpose is recorded. */
146
146
  const ACCESS_PURPOSE_SESSION_KEY = 'cn-access-purposes';
147
147
 
148
+ /** Counter for unique side column slot ids across instances. */
149
+ let sideTakeoverCounter = 0;
150
+
148
151
  /**
149
152
  * The records whose access purpose this browser session recorded. Empty when
150
153
  * session storage cannot be read (a private window, blocked site data).
@@ -336,7 +339,22 @@ var script = {
336
339
  const tabsLabel = computed(() => this.resolvedTabsLabel);
337
340
  const visibilityRows = computed(() => (this.visibilityRowsPending ? null : this.visibilityRows));
338
341
  const canCheckItems = computed(() => this.recordCanCheckItems);
342
+ const sideAvailable = computed(() => this.showsSideColumn);
339
343
  return {
344
+ // The side column, for a widget in the body that describes what is
345
+ // selected in it (a files list's cards about the selected file).
346
+ // `available` says whether the page draws a side column; `target`
347
+ // is the selector to teleport the cards to; `claim(owner, on)`
348
+ // puts the generic side cards aside while an owner shows its own.
349
+ cnDetailSideColumn: {
350
+ get available() {
351
+ return sideAvailable.value
352
+ },
353
+
354
+ target: `#${this.sideTakeoverId}`,
355
+ claim: (owner, on) => this.claimSideColumn(owner, on),
356
+ },
357
+
340
358
  // The page's own look reaches the tabs, the cards and the activity
341
359
  // below it, also when it came from the `look` prop and not the app.
342
360
  cnLook: computed(() => (isBoard.value ? 'board' : 'nextcloud')),
@@ -1775,6 +1793,10 @@ var script = {
1775
1793
 
1776
1794
  data() {
1777
1795
  return {
1796
+ /** The id of the side column's slot for a body widget's own cards. */
1797
+ sideTakeoverId: `cn-detail-side-takeover-${++sideTakeoverCounter}`,
1798
+ /** The body widgets that show their own cards in the side column now. */
1799
+ sideClaims: [],
1778
1800
  /** The session keys of the records whose access purpose is recorded. */
1779
1801
  accessPurposeGranted: readGrantedPurposes(),
1780
1802
  /** Whether the purpose dialog is open; closing it without a purpose keeps the record closed. */
@@ -4071,6 +4093,19 @@ var script = {
4071
4093
  },
4072
4094
 
4073
4095
  methods: {
4096
+ /**
4097
+ * A body widget starts or stops showing its own cards in the side
4098
+ * column. While any does, the generic side cards stand aside.
4099
+ *
4100
+ * @param {string|number} owner Who claims, unique per widget.
4101
+ * @param {boolean} on Whether it shows its cards now.
4102
+ * @return {void}
4103
+ */
4104
+ claimSideColumn(owner, on) {
4105
+ const rest = this.sideClaims.filter((id) => id !== owner);
4106
+ this.sideClaims = on ? [...rest, owner] : rest;
4107
+ },
4108
+
4074
4109
  /**
4075
4110
  * A text of the access purpose gate through the app's translate, '' when unset.
4076
4111
  *