@conduction/nextcloud-vue 2.76.0 → 2.77.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 +18 -3
- package/dist/esm/components/CnAppNav/CnAppNav.vue2.js.map +1 -1
- package/dist/esm/components/CnAppNav/CnAppNav.vue3.js +49 -3
- package/dist/esm/components/CnAppNav/CnAppNav.vue3.js.map +1 -1
- package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js +42 -1
- package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js.map +1 -1
- package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js +228 -203
- package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js.map +1 -1
- package/dist/esm/components/CnCellRenderer/CnGroupNameCell.vue.js +9 -0
- package/dist/esm/components/CnCellRenderer/CnGroupNameCell.vue.js.map +1 -0
- package/dist/esm/components/CnCellRenderer/CnGroupNameCell.vue2.js +50 -0
- package/dist/esm/components/CnCellRenderer/CnGroupNameCell.vue2.js.map +1 -0
- package/dist/esm/components/CnCellRenderer/CnGroupNameCell.vue3.js +13 -0
- package/dist/esm/components/CnCellRenderer/CnGroupNameCell.vue3.js.map +1 -0
- package/dist/esm/components/CnDataTable/CnDataTable.vue2.js +41 -4
- package/dist/esm/components/CnDataTable/CnDataTable.vue2.js.map +1 -1
- package/dist/esm/components/CnDataTable/CnDataTable.vue3.js +90 -51
- package/dist/esm/components/CnDataTable/CnDataTable.vue3.js.map +1 -1
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +16 -28
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +12 -24
- package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
- package/dist/esm/components/CnFavouriteToggle/CnFavouriteToggle.vue2.js +7 -2
- package/dist/esm/components/CnFavouriteToggle/CnFavouriteToggle.vue2.js.map +1 -1
- package/dist/esm/components/CnFavouriteToggle/CnFavouriteToggle.vue3.js.map +1 -1
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js +114 -1
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js.map +1 -1
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js +115 -62
- package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js.map +1 -1
- package/dist/esm/components/CnFollowToggle/CnFollowToggle.vue2.js +89 -7
- package/dist/esm/components/CnFollowToggle/CnFollowToggle.vue2.js.map +1 -1
- package/dist/esm/components/CnFollowToggle/CnFollowToggle.vue3.js +62 -30
- package/dist/esm/components/CnFollowToggle/CnFollowToggle.vue3.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +98 -13
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +13 -9
- package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
- package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue2.js +199 -7
- package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue2.js.map +1 -1
- package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue3.js +155 -119
- package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue3.js.map +1 -1
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js +6 -0
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js.map +1 -1
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js +4 -1
- package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js.map +1 -1
- package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js +13 -0
- package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js.map +1 -1
- package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue3.js.map +1 -1
- package/dist/esm/composables/useListView.js +4 -0
- package/dist/esm/composables/useListView.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/l10n/en.json.js +25 -1
- package/dist/esm/l10n/en.json.js.map +1 -1
- package/dist/esm/l10n/nl.json.js +25 -1
- package/dist/esm/l10n/nl.json.js.map +1 -1
- package/dist/esm/nextcloud-vue.css +288 -74
- package/dist/esm/store/plugins/interactions.js +20 -10
- package/dist/esm/store/plugins/interactions.js.map +1 -1
- package/dist/esm/store/useObjectStore.js +17 -0
- package/dist/esm/store/useObjectStore.js.map +1 -1
- package/dist/esm/utils/builtInFormatters.js +15 -7
- package/dist/esm/utils/builtInFormatters.js.map +1 -1
- package/dist/esm/utils/groupAutocomplete.js +63 -1
- package/dist/esm/utils/groupAutocomplete.js.map +1 -1
- package/dist/esm/utils/lensAvailability.js +90 -0
- package/dist/esm/utils/lensAvailability.js.map +1 -0
- package/dist/esm/utils/personalLenses.js +13 -6
- package/dist/esm/utils/personalLenses.js.map +1 -1
- package/dist/esm/utils/recordInteractions.js +31 -13
- package/dist/esm/utils/recordInteractions.js.map +1 -1
- package/dist/esm/utils/resolveFilterTokens.js +46 -3
- package/dist/esm/utils/resolveFilterTokens.js.map +1 -1
- package/dist/esm/utils/schema.js +1 -1
- package/dist/esm/utils/schema.js.map +1 -1
- package/dist/esm/utils/sentinelTokens.js +4 -4
- package/dist/esm/utils/sentinelTokens.js.map +1 -1
- package/dist/esm/utils/validateManifestV2.compiled.js +2 -2
- package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
- package/dist/esm/utils/widgetVisibility.js +46 -1
- package/dist/esm/utils/widgetVisibility.js.map +1 -1
- package/dist/nextcloud-vue.cjs.js +3873 -2674
- package/dist/nextcloud-vue.cjs.js.map +2 -2
- package/dist/nextcloud-vue.css +288 -74
- package/l10n/en.json +25 -1
- package/l10n/nl.json +25 -1
- package/package.json +1 -1
- package/src/components/CnAppNav/CnAppNav.vue +44 -5
- package/src/components/CnCellRenderer/CnCellRenderer.vue +56 -1
- package/src/components/CnCellRenderer/CnGroupNameCell.vue +61 -0
- package/src/components/CnDataTable/CnDataTable.md +9 -0
- package/src/components/CnDataTable/CnDataTable.vue +80 -20
- package/src/components/CnDetailPage/CnDetailPage.vue +10 -27
- package/src/components/CnFavouriteToggle/CnFavouriteToggle.vue +7 -2
- package/src/components/CnFilesBrowser/CnFilesBrowser.vue +204 -5
- package/src/components/CnFollowToggle/CnFollowToggle.vue +118 -13
- package/src/components/CnIndexPage/CnIndexPage.md +36 -0
- package/src/components/CnIndexPage/CnIndexPage.vue +106 -19
- package/src/components/CnObjectDataWidget/CnObjectDataWidget.vue +226 -2
- package/src/components/CnObjectSidebar/CnFilesTab.vue +9 -0
- package/src/components/CnWidgetObjectTable/CnWidgetObjectTable.vue +13 -0
- package/src/composables/useListView.js +4 -0
- package/src/css/look-board-detail.css +40 -2
- package/src/css/table.css +82 -17
- package/src/index.js +2 -1
- package/src/schemas/app-manifest-v2.schema.json +11 -7
- package/src/store/plugins/interactions.js +20 -10
- package/src/store/useObjectStore.js +17 -0
- package/src/utils/builtInFormatters.js +15 -7
- package/src/utils/groupAutocomplete.js +75 -0
- package/src/utils/index.js +1 -1
- package/src/utils/lensAvailability.js +86 -0
- package/src/utils/personalLenses.js +13 -6
- package/src/utils/recordInteractions.js +31 -13
- package/src/utils/resolveFilterTokens.js +45 -2
- package/src/utils/schema.js +1 -1
- package/src/utils/sentinelTokens.js +4 -4
- package/src/utils/validateManifestV2.compiled.js +2 -2
- package/src/utils/widgetVisibility.js +45 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/dist/nextcloud-vue.cjs.js.map
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 38439854 bytes
|
|
4
|
+
sha256: 786f8e09d174b307bccce4e6dd2b99e2fb7b74a581decb90037b07c807a5c510
|
package/dist/nextcloud-vue.css
CHANGED
|
@@ -2198,9 +2198,64 @@
|
|
|
2198
2198
|
background-color: var(--color-background-hover);
|
|
2199
2199
|
}
|
|
2200
2200
|
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2201
|
+
/* The sort control: a real button that looks like the header text, the label
|
|
2202
|
+
followed by a 14px chevron 4px after it (the "Wettelijke termijn" header on
|
|
2203
|
+
the DqWooVerzoeken board). Selector scoped under the table so it outranks
|
|
2204
|
+
Nextcloud's own `button` rule, which would otherwise give it a border, a
|
|
2205
|
+
fill, a 34px min-height and a margin. */
|
|
2206
|
+
.cn-data-table th .cn-table-header__sort {
|
|
2207
|
+
display: inline-flex;
|
|
2208
|
+
align-items: center;
|
|
2209
|
+
gap: 4px;
|
|
2210
|
+
max-width: 100%;
|
|
2211
|
+
min-width: 0;
|
|
2212
|
+
min-height: 0;
|
|
2213
|
+
margin: 0;
|
|
2214
|
+
padding: 0;
|
|
2215
|
+
border: 0;
|
|
2216
|
+
border-radius: var(--border-radius, 4px);
|
|
2217
|
+
background: transparent;
|
|
2218
|
+
color: inherit;
|
|
2219
|
+
font: inherit;
|
|
2220
|
+
font-weight: inherit;
|
|
2221
|
+
text-align: start;
|
|
2222
|
+
vertical-align: middle;
|
|
2223
|
+
cursor: pointer;
|
|
2224
|
+
}
|
|
2225
|
+
|
|
2226
|
+
.cn-data-table th .cn-table-header__sort:hover,
|
|
2227
|
+
.cn-data-table th .cn-table-header__sort:focus {
|
|
2228
|
+
background: transparent;
|
|
2229
|
+
}
|
|
2230
|
+
|
|
2231
|
+
.cn-data-table th .cn-table-header__sort:focus-visible {
|
|
2232
|
+
outline: 2px solid var(--color-main-text);
|
|
2233
|
+
outline-offset: 2px;
|
|
2234
|
+
}
|
|
2235
|
+
|
|
2236
|
+
.cn-data-table th .cn-table-header__sort > :first-child {
|
|
2237
|
+
min-width: 0;
|
|
2238
|
+
overflow: hidden;
|
|
2239
|
+
text-overflow: ellipsis;
|
|
2240
|
+
}
|
|
2241
|
+
|
|
2242
|
+
/* The chevron. Unsorted columns show a pale down chevron, so every sortable
|
|
2243
|
+
column says it sorts; the sorted column shows the direction at full text
|
|
2244
|
+
colour. The direction is also in the header's `aria-sort`. */
|
|
2245
|
+
.cn-table-header__chevron {
|
|
2246
|
+
display: inline-flex;
|
|
2247
|
+
flex: none;
|
|
2248
|
+
color: var(--color-main-text);
|
|
2249
|
+
}
|
|
2250
|
+
|
|
2251
|
+
.cn-table-header__chevron--idle {
|
|
2252
|
+
color: var(--color-text-maxcontrast);
|
|
2253
|
+
opacity: 0.5;
|
|
2254
|
+
}
|
|
2255
|
+
|
|
2256
|
+
.cn-data-table th.cn-table-header--sortable:hover .cn-table-header__chevron--idle,
|
|
2257
|
+
.cn-data-table th .cn-table-header__sort:focus-visible .cn-table-header__chevron--idle {
|
|
2258
|
+
opacity: 1;
|
|
2204
2259
|
}
|
|
2205
2260
|
|
|
2206
2261
|
/* A column carrying a `description` gets a dotted underline — the long-standing
|
|
@@ -2216,15 +2271,12 @@
|
|
|
2216
2271
|
cursor: help;
|
|
2217
2272
|
}
|
|
2218
2273
|
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
16px icon; the filled icon plus the primary colour marks an active filter,
|
|
2226
|
-
so the state never rests on colour alone. */
|
|
2227
|
-
.cn-table-header__filter {
|
|
2274
|
+
/* Header filter button (CnDataTable `filterable`): a 14px funnel directly
|
|
2275
|
+
after the sort chevron, in a 24px hit area. Muted with no filter set; with
|
|
2276
|
+
a filter set it takes the dark primary and a dot, so the state never rests
|
|
2277
|
+
on colour alone. */
|
|
2278
|
+
.cn-data-table th .cn-table-header__filter {
|
|
2279
|
+
position: relative;
|
|
2228
2280
|
display: inline-flex;
|
|
2229
2281
|
align-items: center;
|
|
2230
2282
|
justify-content: center;
|
|
@@ -2232,7 +2284,7 @@
|
|
|
2232
2284
|
min-width: 24px;
|
|
2233
2285
|
height: 24px;
|
|
2234
2286
|
min-height: 24px;
|
|
2235
|
-
margin: 0 0 0
|
|
2287
|
+
margin: 0 0 0 2px;
|
|
2236
2288
|
padding: 0;
|
|
2237
2289
|
border: none;
|
|
2238
2290
|
border-radius: var(--border-radius, 4px);
|
|
@@ -2242,18 +2294,31 @@
|
|
|
2242
2294
|
cursor: pointer;
|
|
2243
2295
|
}
|
|
2244
2296
|
|
|
2245
|
-
.cn-table-header__filter:hover {
|
|
2297
|
+
.cn-data-table th .cn-table-header__filter:hover {
|
|
2246
2298
|
background-color: var(--color-background-hover);
|
|
2247
2299
|
color: var(--color-main-text);
|
|
2248
2300
|
}
|
|
2249
2301
|
|
|
2250
|
-
.cn-table-header__filter:focus-visible {
|
|
2302
|
+
.cn-data-table th .cn-table-header__filter:focus-visible {
|
|
2251
2303
|
outline: 2px solid var(--color-main-text);
|
|
2252
2304
|
outline-offset: 0;
|
|
2253
2305
|
}
|
|
2254
2306
|
|
|
2255
|
-
.cn-table-header__filter--active
|
|
2256
|
-
|
|
2307
|
+
.cn-data-table th .cn-table-header__filter--active,
|
|
2308
|
+
.cn-data-table th .cn-table-header__filter--active:hover {
|
|
2309
|
+
color: var(--color-primary-element-light-text, var(--color-primary-element));
|
|
2310
|
+
}
|
|
2311
|
+
|
|
2312
|
+
/* The active-filter dot, on the funnel's top right. */
|
|
2313
|
+
.cn-table-header__filter-dot {
|
|
2314
|
+
position: absolute;
|
|
2315
|
+
inset-block-start: 3px;
|
|
2316
|
+
inset-inline-end: 3px;
|
|
2317
|
+
width: 6px;
|
|
2318
|
+
height: 6px;
|
|
2319
|
+
border-radius: 50%;
|
|
2320
|
+
background-color: var(--color-primary-element);
|
|
2321
|
+
pointer-events: none;
|
|
2257
2322
|
}
|
|
2258
2323
|
|
|
2259
2324
|
/* Active header filters above the table, one removable chip each. */
|
|
@@ -5503,12 +5568,26 @@ a.cn-kpi-card--stacked:focus-visible {
|
|
|
5503
5568
|
|
|
5504
5569
|
/* ---- Folder tabs ------------------------------------------------------- */
|
|
5505
5570
|
|
|
5571
|
+
/* The strip draws no line of its own (design-system pull request 147). The card under it
|
|
5572
|
+
carries its full border, top included, so the top-right corner is the
|
|
5573
|
+
card's own rounded corner instead of a strip rule running straight past it.
|
|
5574
|
+
The open tab overlaps that top border by 1px (the nav's -1px margin) and
|
|
5575
|
+
paints over it, so it flows into the card as a folder tab. */
|
|
5506
5576
|
.cn-look-board .cn-tabs--board .cn-tabs__bar {
|
|
5507
|
-
border-bottom:
|
|
5577
|
+
border-bottom: none;
|
|
5508
5578
|
gap: 4px;
|
|
5579
|
+
position: relative;
|
|
5509
5580
|
}
|
|
5510
5581
|
|
|
5582
|
+
.cn-look-board .cn-tabs.cn-tabs--board .cn-tabs__bar::after {
|
|
5583
|
+
content: none;
|
|
5584
|
+
}
|
|
5585
|
+
|
|
5586
|
+
/* Tabs sit on the card's top edge; only the open tab reaches 1px further
|
|
5587
|
+
down (min-height 35px below), over the card's top border. Top-aligned so
|
|
5588
|
+
the inactive tabs do not stretch to the open tab's height. */
|
|
5511
5589
|
.cn-look-board .cn-tabs--board .cn-tabs__nav {
|
|
5590
|
+
align-items: flex-start;
|
|
5512
5591
|
gap: 4px;
|
|
5513
5592
|
}
|
|
5514
5593
|
|
|
@@ -5529,7 +5608,11 @@ a.cn-kpi-card--stacked:focus-visible {
|
|
|
5529
5608
|
border-bottom: 1px solid var(--color-main-background);
|
|
5530
5609
|
border-top: 1px solid var(--color-border-dark);
|
|
5531
5610
|
font-weight: 700;
|
|
5611
|
+
min-height: 35px;
|
|
5612
|
+
padding-bottom: 9px;
|
|
5532
5613
|
padding-top: 8px;
|
|
5614
|
+
position: relative;
|
|
5615
|
+
z-index: 1;
|
|
5533
5616
|
}
|
|
5534
5617
|
|
|
5535
5618
|
/* The count: a grey, borderless 20px badge 8px after the label. */
|
|
@@ -5566,10 +5649,30 @@ a.cn-kpi-card--stacked:focus-visible {
|
|
|
5566
5649
|
.cn-look-board .cn-tabs--board .cn-tabs__content > .cn-tab > :first-child .cn-widget-wrapper,
|
|
5567
5650
|
.cn-look-board .cn-tabs--board .cn-tabs__content > .cn-tab > .cn-widget-wrapper,
|
|
5568
5651
|
.cn-look-board .cn-tabs--board .cn-tabs__content > .cn-tab > .cn-detail-card {
|
|
5569
|
-
border-top:
|
|
5652
|
+
border-top: 1px solid var(--color-border);
|
|
5653
|
+
border-radius: 0 12px 12px 12px;
|
|
5654
|
+
}
|
|
5655
|
+
|
|
5656
|
+
/* A CnTabsWidget panel is the card itself: the same full border, so it joins
|
|
5657
|
+
the open tab the same way. The top-left stays square under the first tab. */
|
|
5658
|
+
.cn-look-board .cn-tabs--board.cn-tabs-widget__tabs .cn-tabs__content {
|
|
5659
|
+
border: 1px solid var(--color-border);
|
|
5570
5660
|
border-radius: 0 12px 12px 12px;
|
|
5571
5661
|
}
|
|
5572
5662
|
|
|
5663
|
+
/* A panel of CnTabsWidget is the content block itself: the open tab flows
|
|
5664
|
+
straight into it. The widget in the panel renders chromeless, but the board
|
|
5665
|
+
card rule below (and the first-card rule above) used to give its wrapper a
|
|
5666
|
+
border and a 12px radius again, so a second card sat inside the panel. Its
|
|
5667
|
+
left edge ran down from the open tab and its rounded top-right drew a line
|
|
5668
|
+
across the top right of the content block, where DqZaak shows one sheet.
|
|
5669
|
+
Same specificity as the first-card rule and later, so it wins on order. */
|
|
5670
|
+
.cn-look-board .cn-tabs--board.cn-tabs-widget__tabs .cn-tabs__content .cn-widget-wrapper.cn-widget-wrapper--chromeless {
|
|
5671
|
+
background: transparent;
|
|
5672
|
+
border: 0;
|
|
5673
|
+
border-radius: 0;
|
|
5674
|
+
}
|
|
5675
|
+
|
|
5573
5676
|
/* ---- Body cards and side cards ----------------------------------------- */
|
|
5574
5677
|
|
|
5575
5678
|
.cn-look-board .cn-detail-page .cn-widget-wrapper,
|
|
@@ -9356,9 +9459,64 @@ svg.leaflet-image-layer.leaflet-interactive path {
|
|
|
9356
9459
|
background-color: var(--color-background-hover);
|
|
9357
9460
|
}
|
|
9358
9461
|
|
|
9359
|
-
|
|
9360
|
-
|
|
9361
|
-
|
|
9462
|
+
/* The sort control: a real button that looks like the header text, the label
|
|
9463
|
+
followed by a 14px chevron 4px after it (the "Wettelijke termijn" header on
|
|
9464
|
+
the DqWooVerzoeken board). Selector scoped under the table so it outranks
|
|
9465
|
+
Nextcloud's own `button` rule, which would otherwise give it a border, a
|
|
9466
|
+
fill, a 34px min-height and a margin. */
|
|
9467
|
+
.cn-data-table th .cn-table-header__sort {
|
|
9468
|
+
display: inline-flex;
|
|
9469
|
+
align-items: center;
|
|
9470
|
+
gap: 4px;
|
|
9471
|
+
max-width: 100%;
|
|
9472
|
+
min-width: 0;
|
|
9473
|
+
min-height: 0;
|
|
9474
|
+
margin: 0;
|
|
9475
|
+
padding: 0;
|
|
9476
|
+
border: 0;
|
|
9477
|
+
border-radius: var(--border-radius, 4px);
|
|
9478
|
+
background: transparent;
|
|
9479
|
+
color: inherit;
|
|
9480
|
+
font: inherit;
|
|
9481
|
+
font-weight: inherit;
|
|
9482
|
+
text-align: start;
|
|
9483
|
+
vertical-align: middle;
|
|
9484
|
+
cursor: pointer;
|
|
9485
|
+
}
|
|
9486
|
+
|
|
9487
|
+
.cn-data-table th .cn-table-header__sort:hover,
|
|
9488
|
+
.cn-data-table th .cn-table-header__sort:focus {
|
|
9489
|
+
background: transparent;
|
|
9490
|
+
}
|
|
9491
|
+
|
|
9492
|
+
.cn-data-table th .cn-table-header__sort:focus-visible {
|
|
9493
|
+
outline: 2px solid var(--color-main-text);
|
|
9494
|
+
outline-offset: 2px;
|
|
9495
|
+
}
|
|
9496
|
+
|
|
9497
|
+
.cn-data-table th .cn-table-header__sort > :first-child {
|
|
9498
|
+
min-width: 0;
|
|
9499
|
+
overflow: hidden;
|
|
9500
|
+
text-overflow: ellipsis;
|
|
9501
|
+
}
|
|
9502
|
+
|
|
9503
|
+
/* The chevron. Unsorted columns show a pale down chevron, so every sortable
|
|
9504
|
+
column says it sorts; the sorted column shows the direction at full text
|
|
9505
|
+
colour. The direction is also in the header's `aria-sort`. */
|
|
9506
|
+
.cn-table-header__chevron {
|
|
9507
|
+
display: inline-flex;
|
|
9508
|
+
flex: none;
|
|
9509
|
+
color: var(--color-main-text);
|
|
9510
|
+
}
|
|
9511
|
+
|
|
9512
|
+
.cn-table-header__chevron--idle {
|
|
9513
|
+
color: var(--color-text-maxcontrast);
|
|
9514
|
+
opacity: 0.5;
|
|
9515
|
+
}
|
|
9516
|
+
|
|
9517
|
+
.cn-data-table th.cn-table-header--sortable:hover .cn-table-header__chevron--idle,
|
|
9518
|
+
.cn-data-table th .cn-table-header__sort:focus-visible .cn-table-header__chevron--idle {
|
|
9519
|
+
opacity: 1;
|
|
9362
9520
|
}
|
|
9363
9521
|
|
|
9364
9522
|
/* A column carrying a `description` gets a dotted underline — the long-standing
|
|
@@ -9374,15 +9532,12 @@ svg.leaflet-image-layer.leaflet-interactive path {
|
|
|
9374
9532
|
cursor: help;
|
|
9375
9533
|
}
|
|
9376
9534
|
|
|
9377
|
-
|
|
9378
|
-
|
|
9379
|
-
|
|
9380
|
-
|
|
9381
|
-
|
|
9382
|
-
|
|
9383
|
-
16px icon; the filled icon plus the primary colour marks an active filter,
|
|
9384
|
-
so the state never rests on colour alone. */
|
|
9385
|
-
.cn-table-header__filter {
|
|
9535
|
+
/* Header filter button (CnDataTable `filterable`): a 14px funnel directly
|
|
9536
|
+
after the sort chevron, in a 24px hit area. Muted with no filter set; with
|
|
9537
|
+
a filter set it takes the dark primary and a dot, so the state never rests
|
|
9538
|
+
on colour alone. */
|
|
9539
|
+
.cn-data-table th .cn-table-header__filter {
|
|
9540
|
+
position: relative;
|
|
9386
9541
|
display: inline-flex;
|
|
9387
9542
|
align-items: center;
|
|
9388
9543
|
justify-content: center;
|
|
@@ -9390,7 +9545,7 @@ svg.leaflet-image-layer.leaflet-interactive path {
|
|
|
9390
9545
|
min-width: 24px;
|
|
9391
9546
|
height: 24px;
|
|
9392
9547
|
min-height: 24px;
|
|
9393
|
-
margin: 0 0 0
|
|
9548
|
+
margin: 0 0 0 2px;
|
|
9394
9549
|
padding: 0;
|
|
9395
9550
|
border: none;
|
|
9396
9551
|
border-radius: var(--border-radius, 4px);
|
|
@@ -9400,18 +9555,31 @@ svg.leaflet-image-layer.leaflet-interactive path {
|
|
|
9400
9555
|
cursor: pointer;
|
|
9401
9556
|
}
|
|
9402
9557
|
|
|
9403
|
-
.cn-table-header__filter:hover {
|
|
9558
|
+
.cn-data-table th .cn-table-header__filter:hover {
|
|
9404
9559
|
background-color: var(--color-background-hover);
|
|
9405
9560
|
color: var(--color-main-text);
|
|
9406
9561
|
}
|
|
9407
9562
|
|
|
9408
|
-
.cn-table-header__filter:focus-visible {
|
|
9563
|
+
.cn-data-table th .cn-table-header__filter:focus-visible {
|
|
9409
9564
|
outline: 2px solid var(--color-main-text);
|
|
9410
9565
|
outline-offset: 0;
|
|
9411
9566
|
}
|
|
9412
9567
|
|
|
9413
|
-
.cn-table-header__filter--active
|
|
9414
|
-
|
|
9568
|
+
.cn-data-table th .cn-table-header__filter--active,
|
|
9569
|
+
.cn-data-table th .cn-table-header__filter--active:hover {
|
|
9570
|
+
color: var(--color-primary-element-light-text, var(--color-primary-element));
|
|
9571
|
+
}
|
|
9572
|
+
|
|
9573
|
+
/* The active-filter dot, on the funnel's top right. */
|
|
9574
|
+
.cn-table-header__filter-dot {
|
|
9575
|
+
position: absolute;
|
|
9576
|
+
inset-block-start: 3px;
|
|
9577
|
+
inset-inline-end: 3px;
|
|
9578
|
+
width: 6px;
|
|
9579
|
+
height: 6px;
|
|
9580
|
+
border-radius: 50%;
|
|
9581
|
+
background-color: var(--color-primary-element);
|
|
9582
|
+
pointer-events: none;
|
|
9415
9583
|
}
|
|
9416
9584
|
|
|
9417
9585
|
/* Active header filters above the table, one removable chip each. */
|
|
@@ -14188,12 +14356,55 @@ button.cn-files-card__open[data-v-46f7e3c9]:hover {
|
|
|
14188
14356
|
flex-direction: column;
|
|
14189
14357
|
gap: 8px;
|
|
14190
14358
|
min-width: 0;
|
|
14359
|
+
position: relative;
|
|
14191
14360
|
border-radius: var(--border-radius-large, 8px);
|
|
14192
14361
|
}
|
|
14193
14362
|
.cn-files-browser--dragging[data-v-f5bdd9e2] {
|
|
14194
14363
|
outline: 2px dashed var(--color-primary-element);
|
|
14195
14364
|
outline-offset: 4px;
|
|
14196
14365
|
}
|
|
14366
|
+
.cn-files-browser__drop-overlay[data-v-f5bdd9e2] {
|
|
14367
|
+
position: absolute;
|
|
14368
|
+
inset: 0;
|
|
14369
|
+
z-index: 2;
|
|
14370
|
+
display: flex;
|
|
14371
|
+
flex-direction: column;
|
|
14372
|
+
align-items: center;
|
|
14373
|
+
justify-content: center;
|
|
14374
|
+
gap: 10px;
|
|
14375
|
+
padding: 24px;
|
|
14376
|
+
box-sizing: border-box;
|
|
14377
|
+
border: 2px dashed var(--color-primary-element);
|
|
14378
|
+
border-radius: var(--border-radius-large, 8px);
|
|
14379
|
+
background: var(--color-primary-element-light);
|
|
14380
|
+
color: var(--color-primary-element-light-text, var(--color-main-text));
|
|
14381
|
+
text-align: center;
|
|
14382
|
+
pointer-events: none;
|
|
14383
|
+
}
|
|
14384
|
+
.cn-files-browser__drop-icon[data-v-f5bdd9e2] {
|
|
14385
|
+
display: flex;
|
|
14386
|
+
align-items: center;
|
|
14387
|
+
justify-content: center;
|
|
14388
|
+
width: 56px;
|
|
14389
|
+
height: 56px;
|
|
14390
|
+
border-radius: 50%;
|
|
14391
|
+
background: var(--color-main-background);
|
|
14392
|
+
color: var(--color-primary-element);
|
|
14393
|
+
}
|
|
14394
|
+
.cn-files-browser__drop-label[data-v-f5bdd9e2] {
|
|
14395
|
+
font-size: 20px;
|
|
14396
|
+
font-weight: 700;
|
|
14397
|
+
}
|
|
14398
|
+
.cn-files-browser__drop-hint[data-v-f5bdd9e2] {
|
|
14399
|
+
display: flex;
|
|
14400
|
+
align-items: center;
|
|
14401
|
+
gap: 8px;
|
|
14402
|
+
margin: 0;
|
|
14403
|
+
padding-top: 12px;
|
|
14404
|
+
border-top: 1px solid var(--color-border);
|
|
14405
|
+
font-size: 13px;
|
|
14406
|
+
color: var(--color-text-maxcontrast);
|
|
14407
|
+
}
|
|
14197
14408
|
.cn-files-browser__bar[data-v-f5bdd9e2] {
|
|
14198
14409
|
display: flex;
|
|
14199
14410
|
align-items: center;
|
|
@@ -32093,8 +32304,42 @@ button.cn-object-calendar__overflow[data-v-bea31862] {
|
|
|
32093
32304
|
}
|
|
32094
32305
|
|
|
32095
32306
|
|
|
32096
|
-
.cn-
|
|
32097
|
-
|
|
32307
|
+
.cn-follow-toggle[data-v-eec896e2] {
|
|
32308
|
+
display: inline-flex;
|
|
32309
|
+
align-items: center;
|
|
32310
|
+
gap: 4px;
|
|
32311
|
+
}
|
|
32312
|
+
.cn-follow-toggle__on[data-v-eec896e2] {
|
|
32313
|
+
color: var(--color-primary-element);
|
|
32314
|
+
}
|
|
32315
|
+
.cn-follow-toggle__popover[data-v-eec896e2] {
|
|
32316
|
+
min-width: 260px;
|
|
32317
|
+
padding: 12px;
|
|
32318
|
+
}
|
|
32319
|
+
.cn-follow-toggle__list[data-v-eec896e2] {
|
|
32320
|
+
list-style: none;
|
|
32321
|
+
margin: 0 0 8px;
|
|
32322
|
+
padding: 0;
|
|
32323
|
+
}
|
|
32324
|
+
.cn-follow-toggle__row[data-v-eec896e2] {
|
|
32325
|
+
display: flex;
|
|
32326
|
+
align-items: center;
|
|
32327
|
+
gap: 8px;
|
|
32328
|
+
padding: 4px 0;
|
|
32329
|
+
}
|
|
32330
|
+
.cn-follow-toggle__who[data-v-eec896e2] {
|
|
32331
|
+
display: flex;
|
|
32332
|
+
flex-direction: column;
|
|
32333
|
+
flex: 1 1 auto;
|
|
32334
|
+
min-width: 0;
|
|
32335
|
+
}
|
|
32336
|
+
.cn-follow-toggle__since[data-v-eec896e2] {
|
|
32337
|
+
color: var(--color-text-maxcontrast);
|
|
32338
|
+
font-size: var(--font-size-small, 13px);
|
|
32339
|
+
}
|
|
32340
|
+
.cn-follow-toggle__error[data-v-eec896e2] {
|
|
32341
|
+
margin: 8px 0 0;
|
|
32342
|
+
color: var(--color-error-text);
|
|
32098
32343
|
}
|
|
32099
32344
|
|
|
32100
32345
|
|
|
@@ -34239,42 +34484,6 @@ button.cn-object-calendar__overflow[data-v-bea31862] {
|
|
|
34239
34484
|
}
|
|
34240
34485
|
|
|
34241
34486
|
|
|
34242
|
-
.cn-follow-toggle[data-v-eec896e2] {
|
|
34243
|
-
display: inline-flex;
|
|
34244
|
-
align-items: center;
|
|
34245
|
-
gap: 4px;
|
|
34246
|
-
}
|
|
34247
|
-
.cn-follow-toggle__popover[data-v-eec896e2] {
|
|
34248
|
-
min-width: 260px;
|
|
34249
|
-
padding: 12px;
|
|
34250
|
-
}
|
|
34251
|
-
.cn-follow-toggle__list[data-v-eec896e2] {
|
|
34252
|
-
list-style: none;
|
|
34253
|
-
margin: 0 0 8px;
|
|
34254
|
-
padding: 0;
|
|
34255
|
-
}
|
|
34256
|
-
.cn-follow-toggle__row[data-v-eec896e2] {
|
|
34257
|
-
display: flex;
|
|
34258
|
-
align-items: center;
|
|
34259
|
-
gap: 8px;
|
|
34260
|
-
padding: 4px 0;
|
|
34261
|
-
}
|
|
34262
|
-
.cn-follow-toggle__who[data-v-eec896e2] {
|
|
34263
|
-
display: flex;
|
|
34264
|
-
flex-direction: column;
|
|
34265
|
-
flex: 1 1 auto;
|
|
34266
|
-
min-width: 0;
|
|
34267
|
-
}
|
|
34268
|
-
.cn-follow-toggle__since[data-v-eec896e2] {
|
|
34269
|
-
color: var(--color-text-maxcontrast);
|
|
34270
|
-
font-size: var(--font-size-small, 13px);
|
|
34271
|
-
}
|
|
34272
|
-
.cn-follow-toggle__error[data-v-eec896e2] {
|
|
34273
|
-
margin: 8px 0 0;
|
|
34274
|
-
color: var(--color-error-text);
|
|
34275
|
-
}
|
|
34276
|
-
|
|
34277
|
-
|
|
34278
34487
|
.cn-lifecycle-actions[data-v-a62ad362] {
|
|
34279
34488
|
display: flex;
|
|
34280
34489
|
flex-wrap: wrap;
|
|
@@ -35948,6 +36157,11 @@ button.cn-object-calendar__overflow[data-v-bea31862] {
|
|
|
35948
36157
|
}
|
|
35949
36158
|
|
|
35950
36159
|
|
|
36160
|
+
.cn-favourite-toggle__star[data-v-836dad16] {
|
|
36161
|
+
color: var(--color-warning);
|
|
36162
|
+
}
|
|
36163
|
+
|
|
36164
|
+
|
|
35951
36165
|
.cn-journey-review-list__items[data-v-d3c04832] {
|
|
35952
36166
|
list-style: none;
|
|
35953
36167
|
margin: 8px 0 0;
|
package/l10n/en.json
CHANGED
|
@@ -1290,7 +1290,19 @@
|
|
|
1290
1290
|
"Test environment": "Test environment",
|
|
1291
1291
|
"Acceptance environment": "Acceptance environment",
|
|
1292
1292
|
"About {label}": "About {label}",
|
|
1293
|
-
"Could not load the form for this item.": "Could not load the form for this item."
|
|
1293
|
+
"Could not load the form for this item.": "Could not load the form for this item.",
|
|
1294
|
+
"Drop to add": "Drop to add",
|
|
1295
|
+
"Or drag files onto this list.": "Or drag files onto this list.",
|
|
1296
|
+
"This server does not keep track of what you open.": "This server does not keep track of what you open.",
|
|
1297
|
+
"Log in to see what you opened recently.": "Log in to see what you opened recently.",
|
|
1298
|
+
"Your recent items are not available right now.": "Your recent items are not available right now.",
|
|
1299
|
+
"yesterday": "yesterday",
|
|
1300
|
+
"tomorrow": "tomorrow",
|
|
1301
|
+
"Filter by {column}": "Filter by {column}",
|
|
1302
|
+
"Filter by {column}, active": "Filter by {column}, active",
|
|
1303
|
+
"Turn notifications off": "Turn notifications off",
|
|
1304
|
+
"Turn notifications on": "Turn notifications on",
|
|
1305
|
+
"Could not change notifications.": "Could not change notifications."
|
|
1294
1306
|
},
|
|
1295
1307
|
"plurals": {
|
|
1296
1308
|
"%n year": [
|
|
@@ -1344,6 +1356,18 @@
|
|
|
1344
1356
|
"You see {count} capability of {total}.": [
|
|
1345
1357
|
"You see {count} capability of {total}.",
|
|
1346
1358
|
"You see {count} capabilities of {total}."
|
|
1359
|
+
],
|
|
1360
|
+
"%n file added": [
|
|
1361
|
+
"%n file added",
|
|
1362
|
+
"%n files added"
|
|
1363
|
+
],
|
|
1364
|
+
"{count} day ago": [
|
|
1365
|
+
"{count} day ago",
|
|
1366
|
+
"{count} days ago"
|
|
1367
|
+
],
|
|
1368
|
+
"in {count} day": [
|
|
1369
|
+
"in {count} day",
|
|
1370
|
+
"in {count} days"
|
|
1347
1371
|
]
|
|
1348
1372
|
}
|
|
1349
1373
|
}
|
package/l10n/nl.json
CHANGED
|
@@ -1341,7 +1341,19 @@
|
|
|
1341
1341
|
"Test environment": "Testomgeving",
|
|
1342
1342
|
"Acceptance environment": "Acceptatieomgeving",
|
|
1343
1343
|
"About {label}": "Over {label}",
|
|
1344
|
-
"Could not load the form for this item.": "Kon het formulier voor dit item niet laden."
|
|
1344
|
+
"Could not load the form for this item.": "Kon het formulier voor dit item niet laden.",
|
|
1345
|
+
"Drop to add": "Laat los om toe te voegen",
|
|
1346
|
+
"Or drag files onto this list.": "Of sleep bestanden op deze lijst.",
|
|
1347
|
+
"This server does not keep track of what you open.": "Deze server houdt niet bij welke items je opent.",
|
|
1348
|
+
"Log in to see what you opened recently.": "Log in om te zien wat je onlangs opende.",
|
|
1349
|
+
"Your recent items are not available right now.": "Je recente items zijn nu niet beschikbaar.",
|
|
1350
|
+
"yesterday": "gisteren",
|
|
1351
|
+
"tomorrow": "morgen",
|
|
1352
|
+
"Filter by {column}": "Filteren op {column}",
|
|
1353
|
+
"Filter by {column}, active": "Filteren op {column}, actief",
|
|
1354
|
+
"Turn notifications off": "Meldingen uitzetten",
|
|
1355
|
+
"Turn notifications on": "Meldingen aanzetten",
|
|
1356
|
+
"Could not change notifications.": "Meldingen konden niet worden gewijzigd."
|
|
1345
1357
|
},
|
|
1346
1358
|
"plurals": {
|
|
1347
1359
|
"%n year": [
|
|
@@ -1395,6 +1407,18 @@
|
|
|
1395
1407
|
"You see {count} capability of {total}.": [
|
|
1396
1408
|
"Je ziet {count} functionaliteit van {total}.",
|
|
1397
1409
|
"Je ziet {count} functionaliteiten van {total}."
|
|
1410
|
+
],
|
|
1411
|
+
"%n file added": [
|
|
1412
|
+
"%n bestand toegevoegd",
|
|
1413
|
+
"%n bestanden toegevoegd"
|
|
1414
|
+
],
|
|
1415
|
+
"{count} day ago": [
|
|
1416
|
+
"{count} dag geleden",
|
|
1417
|
+
"{count} dagen geleden"
|
|
1418
|
+
],
|
|
1419
|
+
"in {count} day": [
|
|
1420
|
+
"over {count} dag",
|
|
1421
|
+
"over {count} dagen"
|
|
1398
1422
|
]
|
|
1399
1423
|
}
|
|
1400
1424
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@conduction/nextcloud-vue",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.77.0",
|
|
4
4
|
"description": "Shared Vue component library for Conduction Nextcloud apps — complements @nextcloud/vue with higher-level components, OpenRegister integration, and NL Design System support",
|
|
5
5
|
"homepage": "https://github.com/ConductionNL/nextcloud-vue#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -183,7 +183,19 @@
|
|
|
183
183
|
v-if="isCaption(item)"
|
|
184
184
|
:key="item.id"
|
|
185
185
|
:name="resolveLabel(item)"
|
|
186
|
-
:data-testid="`cn-nav-caption-${item.id}`"
|
|
186
|
+
:data-testid="`cn-nav-caption-${item.id}`">
|
|
187
|
+
<template v-if="item.href" #actions>
|
|
188
|
+
<NcActionLink
|
|
189
|
+
:href="item.href"
|
|
190
|
+
:aria-label="captionEditLabel(item)"
|
|
191
|
+
:data-testid="`cn-nav-caption-edit-${item.id}`">
|
|
192
|
+
<template #icon>
|
|
193
|
+
<Pencil :size="20" />
|
|
194
|
+
</template>
|
|
195
|
+
{{ captionEditLabel(item) }}
|
|
196
|
+
</NcActionLink>
|
|
197
|
+
</template>
|
|
198
|
+
</NcAppNavigationCaption>
|
|
187
199
|
<NcAppNavigationItem
|
|
188
200
|
v-else
|
|
189
201
|
:key="item.id"
|
|
@@ -424,7 +436,19 @@
|
|
|
424
436
|
v-if="isCaption(item)"
|
|
425
437
|
:key="item.id"
|
|
426
438
|
:name="resolveLabel(item)"
|
|
427
|
-
:data-testid="`cn-nav-caption-${item.id}`"
|
|
439
|
+
:data-testid="`cn-nav-caption-${item.id}`">
|
|
440
|
+
<template v-if="item.href" #actions>
|
|
441
|
+
<NcActionLink
|
|
442
|
+
:href="item.href"
|
|
443
|
+
:aria-label="captionEditLabel(item)"
|
|
444
|
+
:data-testid="`cn-nav-caption-edit-${item.id}`">
|
|
445
|
+
<template #icon>
|
|
446
|
+
<Pencil :size="20" />
|
|
447
|
+
</template>
|
|
448
|
+
{{ captionEditLabel(item) }}
|
|
449
|
+
</NcActionLink>
|
|
450
|
+
</template>
|
|
451
|
+
</NcAppNavigationCaption>
|
|
428
452
|
<NcAppNavigationItem
|
|
429
453
|
v-else
|
|
430
454
|
:key="item.id"
|
|
@@ -466,7 +490,7 @@
|
|
|
466
490
|
<script>
|
|
467
491
|
import { translate as t } from '@nextcloud/l10n'
|
|
468
492
|
import { generateUrl } from '@nextcloud/router'
|
|
469
|
-
import { NcAppNavigation, NcAppNavigationCaption, NcAppNavigationItem, NcAppNavigationList, NcAppNavigationNew, NcAppNavigationSettings, NcButton, NcCounterBubble } from '@nextcloud/vue'
|
|
493
|
+
import { NcActionLink, NcAppNavigation, NcAppNavigationCaption, NcAppNavigationItem, NcAppNavigationList, NcAppNavigationNew, NcAppNavigationSettings, NcButton, NcCounterBubble } from '@nextcloud/vue'
|
|
470
494
|
import { toRaw } from 'vue'
|
|
471
495
|
import BookOpenVariant from 'vue-material-design-icons/BookOpenVariant.vue'
|
|
472
496
|
import Cog from 'vue-material-design-icons/Cog.vue'
|
|
@@ -474,6 +498,7 @@ import Cog from 'vue-material-design-icons/Cog.vue'
|
|
|
474
498
|
import HelpCircleOutline from 'vue-material-design-icons/HelpCircleOutline.vue'
|
|
475
499
|
import MapMarkerPath from 'vue-material-design-icons/MapMarkerPath.vue'
|
|
476
500
|
import OpenInNew from 'vue-material-design-icons/OpenInNew.vue'
|
|
501
|
+
import Pencil from 'vue-material-design-icons/Pencil.vue'
|
|
477
502
|
import Plus from 'vue-material-design-icons/Plus.vue'
|
|
478
503
|
import ShieldAccountOutline from 'vue-material-design-icons/ShieldAccountOutline.vue'
|
|
479
504
|
import { ICON_MAP } from '../CnIcon/CnIcon.vue'
|
|
@@ -560,6 +585,8 @@ export default {
|
|
|
560
585
|
name: 'CnAppNav',
|
|
561
586
|
|
|
562
587
|
components: {
|
|
588
|
+
NcActionLink,
|
|
589
|
+
Pencil,
|
|
563
590
|
NcAppNavigation,
|
|
564
591
|
NcAppNavigationCaption,
|
|
565
592
|
NcAppNavigationItem,
|
|
@@ -1921,8 +1948,10 @@ export default {
|
|
|
1921
1948
|
/**
|
|
1922
1949
|
* Whether a menu entry renders as a `NcAppNavigationCaption`
|
|
1923
1950
|
* (`type: "caption"`) rather than a clickable
|
|
1924
|
-
* `NcAppNavigationItem`. Caption entries ignore `route`, `
|
|
1925
|
-
* `
|
|
1951
|
+
* `NcAppNavigationItem`. Caption entries ignore `route`, `action`,
|
|
1952
|
+
* `icon`, `count`, `children`, and `pinned`. A caption's `href` is
|
|
1953
|
+
* drawn as a pencil link beside the heading: the place where what
|
|
1954
|
+
* stands under it is changed (a user's own choice of entries, say).
|
|
1926
1955
|
*
|
|
1927
1956
|
* @param {{ type?: string }} item Menu entry descriptor.
|
|
1928
1957
|
* @return {boolean}
|
|
@@ -1931,6 +1960,16 @@ export default {
|
|
|
1931
1960
|
return item?.type === 'caption'
|
|
1932
1961
|
},
|
|
1933
1962
|
|
|
1963
|
+
/**
|
|
1964
|
+
* The accessible name of a caption's pencil link.
|
|
1965
|
+
*
|
|
1966
|
+
* @param {object} item The caption entry.
|
|
1967
|
+
* @return {string} "Change {caption}", translated.
|
|
1968
|
+
*/
|
|
1969
|
+
captionEditLabel(item) {
|
|
1970
|
+
return t('nextcloud-vue', 'Change {name}', { name: this.resolveLabel(item) })
|
|
1971
|
+
},
|
|
1972
|
+
|
|
1934
1973
|
/**
|
|
1935
1974
|
* Whether the host has registered a scoped slot named
|
|
1936
1975
|
* `item-${id}-actions` for this menu item. Used to gate template
|