@conduction/nextcloud-vue 2.74.0 → 2.75.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.
- package/dist/esm/components/CnAppNav/CnAppNav.vue2.js +19 -14
- package/dist/esm/components/CnAppNav/CnAppNav.vue2.js.map +1 -1
- package/dist/esm/components/CnAppNav/CnAppNav.vue3.js +2 -2
- package/dist/esm/components/CnAppNav/CnAppNav.vue3.js.map +1 -1
- package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js +77 -26
- package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js.map +1 -1
- package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js +22 -14
- package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js.map +1 -1
- package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue2.js +23 -4
- package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnBrandBar/CnBrandBar.vue.js +9 -0
- package/dist/esm/components/CnBrandBar/CnBrandBar.vue.js.map +1 -0
- package/dist/esm/components/CnBrandBar/CnBrandBar.vue2.js +107 -0
- package/dist/esm/components/CnBrandBar/CnBrandBar.vue2.js.map +1 -0
- package/dist/esm/components/CnBrandBar/CnBrandBar.vue3.js +79 -0
- package/dist/esm/components/CnBrandBar/CnBrandBar.vue3.js.map +1 -0
- package/dist/esm/components/CnEnvironmentBanner/CnEnvironmentBanner.vue2.js +4 -1
- package/dist/esm/components/CnEnvironmentBanner/CnEnvironmentBanner.vue2.js.map +1 -1
- package/dist/esm/components/CnEnvironmentBanner/CnEnvironmentBanner.vue3.js.map +1 -1
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js +7 -0
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js.map +1 -1
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue3.js +14 -7
- package/dist/esm/components/CnFormDialog/CnFormDialog.vue3.js.map +1 -1
- package/dist/esm/components/CnFormPage/CnFormPage.vue2.js +32 -0
- package/dist/esm/components/CnFormPage/CnFormPage.vue2.js.map +1 -1
- package/dist/esm/components/CnFormPage/CnFormPage.vue3.js +6 -3
- package/dist/esm/components/CnFormPage/CnFormPage.vue3.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +2 -2
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
- package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js +18 -2
- package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js.map +1 -1
- package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js +2 -2
- package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js.map +1 -1
- package/dist/esm/components/CnStatsBlock/CnStatsBlock.vue2.js +16 -0
- package/dist/esm/components/CnStatsBlock/CnStatsBlock.vue2.js.map +1 -1
- package/dist/esm/components/CnStatsBlock/CnStatsBlock.vue3.js +2 -2
- package/dist/esm/components/CnStatsBlock/CnStatsBlock.vue3.js.map +1 -1
- package/dist/esm/directives/cnSelectAria.js +55 -0
- package/dist/esm/directives/cnSelectAria.js.map +1 -0
- package/dist/esm/nextcloud-vue.css +66 -1
- package/dist/esm/utils/cnFetch.js +17 -2
- package/dist/esm/utils/cnFetch.js.map +1 -1
- package/dist/esm/utils/resolveBrand.js +38 -0
- package/dist/esm/utils/resolveBrand.js.map +1 -0
- package/dist/esm/utils/validateManifestV2.compiled.js +2 -2
- package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +8775 -8327
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +66 -1
- package/package.json +1 -1
- package/src/components/CnAppNav/CnAppNav.vue +21 -16
- package/src/components/CnAppRoot/CnAppRoot.vue +53 -0
- package/src/components/CnBannerWidget/CnBannerWidget.vue +23 -4
- package/src/components/CnBrandBar/CnBrandBar.vue +230 -0
- package/src/components/CnEnvironmentBanner/CnEnvironmentBanner.vue +4 -1
- package/src/components/CnFormDialog/CnFormDialog.vue +10 -0
- package/src/components/CnFormPage/CnFormPage.vue +33 -0
- package/src/components/CnIndexPage/CnIndexPage.vue +2 -2
- package/src/components/CnQuickFilterBar/CnQuickFilterBar.vue +20 -4
- package/src/components/CnStatsBlock/CnStatsBlock.vue +18 -2
- package/src/css/form-field.css +1 -1
- package/src/directives/cnSelectAria.js +54 -0
- package/src/schemas/app-manifest-v2.schema.json +6 -1
- package/src/utils/cnFetch.js +16 -1
- package/src/utils/resolveBrand.js +37 -0
- package/src/utils/validateManifestV2.compiled.js +2 -2
|
@@ -9,19 +9,20 @@ import DatabaseSearchOutline from 'vue-material-design-icons/DatabaseSearchOutli
|
|
|
9
9
|
import OpenInNew from 'vue-material-design-icons/OpenInNew.vue';
|
|
10
10
|
import Play from 'vue-material-design-icons/Play.vue';
|
|
11
11
|
import Restart from 'vue-material-design-icons/Restart.vue';
|
|
12
|
-
import __sfc_main$
|
|
13
|
-
import __sfc_main$
|
|
14
|
-
import __sfc_main from '../CnAppNav/CnAppNav.vue.js';
|
|
15
|
-
import __sfc_main
|
|
16
|
-
import __sfc_main$
|
|
17
|
-
import __sfc_main$
|
|
18
|
-
import __sfc_main$3 from '../
|
|
19
|
-
import __sfc_main$
|
|
20
|
-
import __sfc_main$
|
|
21
|
-
import __sfc_main$
|
|
22
|
-
import __sfc_main$
|
|
23
|
-
import __sfc_main$
|
|
24
|
-
import __sfc_main$
|
|
12
|
+
import __sfc_main$7 from '../CnAiCompanion/CnAiCompanion.vue.js';
|
|
13
|
+
import __sfc_main$2 from '../CnAppLoading/CnAppLoading.vue.js';
|
|
14
|
+
import __sfc_main$1 from '../CnAppNav/CnAppNav.vue.js';
|
|
15
|
+
import __sfc_main from '../CnBrandBar/CnBrandBar.vue.js';
|
|
16
|
+
import __sfc_main$8 from '../CnCommandPalette/CnCommandPalette.vue.js';
|
|
17
|
+
import __sfc_main$c from '../CnCredentials/CnCredentials.vue.js';
|
|
18
|
+
import __sfc_main$3 from '../CnDependencyMissing/CnDependencyMissing.vue.js';
|
|
19
|
+
import __sfc_main$4 from '../CnEnvironmentBanner/CnEnvironmentBanner.vue.js';
|
|
20
|
+
import __sfc_main$b from '../CnNotificationPreferences/CnNotificationPreferences.vue.js';
|
|
21
|
+
import __sfc_main$9 from '../CnObjectSidebar/CnObjectSidebar.vue.js';
|
|
22
|
+
import __sfc_main$5 from '../CnSetupWizard/CnSetupWizard.vue.js';
|
|
23
|
+
import __sfc_main$a from '../CnSupportDialog/CnSupportDialog.vue.js';
|
|
24
|
+
import __sfc_main$d from '../CnTenantBadge/CnTenantBadge.vue.js';
|
|
25
|
+
import __sfc_main$6 from '../CnWalkthrough/CnWalkthrough.vue.js';
|
|
25
26
|
import { DEFAULT_CHAT_APP_ID } from '../../composables/aiChatConfig.js';
|
|
26
27
|
import { useAppInstaller } from '../../composables/useAppInstaller.js';
|
|
27
28
|
import { useAppStatus } from '../../composables/useAppStatus.js';
|
|
@@ -42,6 +43,7 @@ import { resolveForge, DEFAULT_FORGE } from '../../utils/forge.js';
|
|
|
42
43
|
import { BUILT_IN_KB_PROVIDERS } from '../../utils/kbSearchProviders.js';
|
|
43
44
|
import { createManifestTranslate } from '../../utils/manifestTranslate.js';
|
|
44
45
|
import { installModalStack, uninstallModalStack } from '../../utils/modalStack.js';
|
|
46
|
+
import { resolveBrand } from '../../utils/resolveBrand.js';
|
|
45
47
|
import { resolveFilterTokens } from '../../utils/resolveFilterTokens.js';
|
|
46
48
|
import { passesContextPredicates } from '../../utils/visibleIfContext.js';
|
|
47
49
|
import { useObjectStore } from '../../store/useObjectStore.js';
|
|
@@ -103,6 +105,7 @@ var script = {
|
|
|
103
105
|
name: 'CnAppRoot',
|
|
104
106
|
|
|
105
107
|
components: {
|
|
108
|
+
CnBrandBar: __sfc_main,
|
|
106
109
|
NcAppContent,
|
|
107
110
|
NcAppSettingsDialog,
|
|
108
111
|
NcAppSettingsSection,
|
|
@@ -115,19 +118,19 @@ var script = {
|
|
|
115
118
|
OpenInNew,
|
|
116
119
|
Play,
|
|
117
120
|
Restart,
|
|
118
|
-
CnAppNav: __sfc_main,
|
|
119
|
-
CnAppLoading: __sfc_main$
|
|
120
|
-
CnDependencyMissing: __sfc_main$
|
|
121
|
-
CnEnvironmentBanner: __sfc_main$
|
|
122
|
-
CnSetupWizard: __sfc_main$
|
|
123
|
-
CnWalkthrough: __sfc_main$
|
|
124
|
-
CnAiCompanion: __sfc_main$
|
|
125
|
-
CnCommandPalette: __sfc_main$
|
|
126
|
-
CnObjectSidebar: __sfc_main$
|
|
127
|
-
CnSupportDialog: __sfc_main$
|
|
128
|
-
CnNotificationPreferences: __sfc_main$
|
|
129
|
-
CnCredentials: __sfc_main$
|
|
130
|
-
CnTenantBadge: __sfc_main$
|
|
121
|
+
CnAppNav: __sfc_main$1,
|
|
122
|
+
CnAppLoading: __sfc_main$2,
|
|
123
|
+
CnDependencyMissing: __sfc_main$3,
|
|
124
|
+
CnEnvironmentBanner: __sfc_main$4,
|
|
125
|
+
CnSetupWizard: __sfc_main$5,
|
|
126
|
+
CnWalkthrough: __sfc_main$6,
|
|
127
|
+
CnAiCompanion: __sfc_main$7,
|
|
128
|
+
CnCommandPalette: __sfc_main$8,
|
|
129
|
+
CnObjectSidebar: __sfc_main$9,
|
|
130
|
+
CnSupportDialog: __sfc_main$a,
|
|
131
|
+
CnNotificationPreferences: __sfc_main$b,
|
|
132
|
+
CnCredentials: __sfc_main$c,
|
|
133
|
+
CnTenantBadge: __sfc_main$d,
|
|
131
134
|
},
|
|
132
135
|
|
|
133
136
|
/**
|
|
@@ -153,6 +156,9 @@ var script = {
|
|
|
153
156
|
// value once, so a getter would freeze the look at creation.
|
|
154
157
|
cnLook: computed(() => self.resolvedLook),
|
|
155
158
|
|
|
159
|
+
// True while CnBrandBar draws the block in Nextcloud's header, so CnAppNav skips its own.
|
|
160
|
+
cnBrandInHeader: computed(() => self.brandInHeader),
|
|
161
|
+
|
|
156
162
|
get cnManifest() {
|
|
157
163
|
return self.manifestEditor ? self.manifestEditor.source.value : self.manifest
|
|
158
164
|
},
|
|
@@ -913,6 +919,19 @@ var script = {
|
|
|
913
919
|
default: '',
|
|
914
920
|
},
|
|
915
921
|
|
|
922
|
+
/**
|
|
923
|
+
* The brand block (`{ logo, emblem, name, caption, alt, placement }`)
|
|
924
|
+
* the board look draws at the start of Nextcloud's header. Empty falls back
|
|
925
|
+
* to the manifest's `nav.brand`. `placement: "nav"` keeps the block
|
|
926
|
+
* in the navigation.
|
|
927
|
+
*
|
|
928
|
+
* @type {object|null}
|
|
929
|
+
*/
|
|
930
|
+
brand: {
|
|
931
|
+
type: Object,
|
|
932
|
+
default: null,
|
|
933
|
+
},
|
|
934
|
+
|
|
916
935
|
/**
|
|
917
936
|
* Title rendered at the top of the user-settings modal
|
|
918
937
|
* (NcAppSettingsDialog `name` prop). Defaults to the
|
|
@@ -1112,6 +1131,12 @@ var script = {
|
|
|
1112
1131
|
data() {
|
|
1113
1132
|
const willCheck = Array.isArray(this.requiresApps) && this.requiresApps.length > 0;
|
|
1114
1133
|
return {
|
|
1134
|
+
// Nextcloud's own header, present on a server-rendered page; the
|
|
1135
|
+
// brand block goes into it (CnBrandBar). Read once at creation so
|
|
1136
|
+
// the navigation never draws a block that then moves.
|
|
1137
|
+
headerPresent: typeof document !== 'undefined' && !!document.getElementById('header'),
|
|
1138
|
+
// Set when CnBrandBar finds the header gone: the navigation draws the block.
|
|
1139
|
+
headerMissing: false,
|
|
1115
1140
|
capabilitiesLoading: willCheck,
|
|
1116
1141
|
missingApps: [],
|
|
1117
1142
|
guardError: null,
|
|
@@ -1384,6 +1409,32 @@ var script = {
|
|
|
1384
1409
|
return (this.look || this.manifest?.look) === 'board' ? 'board' : 'nextcloud'
|
|
1385
1410
|
},
|
|
1386
1411
|
|
|
1412
|
+
/**
|
|
1413
|
+
* The brand CnBrandBar draws in the header: the `brand` prop, else the manifest's
|
|
1414
|
+
* `nav.brand`, read into one shape.
|
|
1415
|
+
*
|
|
1416
|
+
* @return {object|null} The resolved brand, or null.
|
|
1417
|
+
*/
|
|
1418
|
+
resolvedBrandBlock() {
|
|
1419
|
+
return resolveBrand(this.brand || this.manifest?.nav?.brand, (text) => this.manifestTranslate(text))
|
|
1420
|
+
},
|
|
1421
|
+
|
|
1422
|
+
/**
|
|
1423
|
+
* Whether CnBrandBar draws the brand block in Nextcloud's header: the
|
|
1424
|
+
* board look, a brand that can be drawn, a placement other than `nav`,
|
|
1425
|
+
* and a `#header` to put it in. Without `#header` the navigation draws it.
|
|
1426
|
+
*
|
|
1427
|
+
* @spec openspec/changes/screens-brand-block-top-bar/specs/layout-components/spec.md#requirement-the-board-look-draws-the-brand-block-in-the-nextcloud-header
|
|
1428
|
+
* @return {boolean}
|
|
1429
|
+
*/
|
|
1430
|
+
brandInHeader() {
|
|
1431
|
+
return this.resolvedLook === 'board'
|
|
1432
|
+
&& !this.headerMissing
|
|
1433
|
+
&& this.headerPresent
|
|
1434
|
+
&& !!this.resolvedBrandBlock
|
|
1435
|
+
&& this.resolvedBrandBlock.placement !== 'nav'
|
|
1436
|
+
},
|
|
1437
|
+
|
|
1387
1438
|
/**
|
|
1388
1439
|
* The label lookup provided as `cnTranslate`: the manifest's own
|
|
1389
1440
|
* translations for the language first, then the host `translate`, then the
|