@conduction/nextcloud-vue 2.124.0 → 2.125.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 (66) hide show
  1. package/dist/esm/components/CnActionDialog/CnActionDialog.vue.js +1 -1
  2. package/dist/esm/components/CnActionDialog/CnActionDialog.vue2.js +120 -11
  3. package/dist/esm/components/CnActionDialog/CnActionDialog.vue2.js.map +1 -1
  4. package/dist/esm/components/CnActionDialog/CnActionDialog.vue3.js +78 -32
  5. package/dist/esm/components/CnActionDialog/CnActionDialog.vue3.js.map +1 -1
  6. package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js +8 -7
  7. package/dist/esm/components/CnAppRoot/CnAppRoot.vue2.js.map +1 -1
  8. package/dist/esm/components/CnAppRoot/CnAppRoot.vue3.js.map +1 -1
  9. package/dist/esm/components/CnAssignDialog/CnAssignDialog.vue.js +1 -1
  10. package/dist/esm/components/CnAssignDialog/CnAssignDialog.vue2.js +2 -1
  11. package/dist/esm/components/CnAssignDialog/CnAssignDialog.vue2.js.map +1 -1
  12. package/dist/esm/components/CnAssignDialog/CnAssignDialog.vue3.js +2 -2
  13. package/dist/esm/components/CnAssignDialog/CnAssignDialog.vue3.js.map +1 -1
  14. package/dist/esm/components/CnDialog/CnDialog.vue2.js +5 -0
  15. package/dist/esm/components/CnDialog/CnDialog.vue2.js.map +1 -1
  16. package/dist/esm/components/CnDialog/CnDialog.vue3.js +1 -1
  17. package/dist/esm/components/CnDialog/CnDialog.vue3.js.map +1 -1
  18. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +13 -0
  19. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  20. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +2 -1
  21. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  22. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue.js +1 -1
  23. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js +7 -2
  24. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js.map +1 -1
  25. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js.map +1 -1
  26. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  27. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +159 -10
  28. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  29. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +151 -90
  30. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  31. package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue2.js +12 -0
  32. package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue2.js.map +1 -1
  33. package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue3.js +1 -1
  34. package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue3.js.map +1 -1
  35. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue.js +1 -1
  36. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue2.js +39 -68
  37. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue2.js.map +1 -1
  38. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue3.js +70 -116
  39. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue3.js.map +1 -1
  40. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue.js +1 -1
  41. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js +19 -3
  42. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js.map +1 -1
  43. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue3.js.map +1 -1
  44. package/dist/esm/l10n/en.json.js +8 -8
  45. package/dist/esm/l10n/nl.json.js +8 -8
  46. package/dist/esm/library-style.js +1 -1
  47. package/dist/esm/nextcloud-vue.css +316 -185
  48. package/dist/nextcloud-vue.cjs.js +1149 -808
  49. package/dist/nextcloud-vue.cjs.js.map +2 -2
  50. package/dist/nextcloud-vue.css +316 -185
  51. package/l10n/en.json +8 -8
  52. package/l10n/nl.json +8 -8
  53. package/package.json +1 -1
  54. package/src/components/CnActionDialog/CnActionDialog.vue +173 -14
  55. package/src/components/CnAppRoot/CnAppRoot.vue +8 -7
  56. package/src/components/CnAssignDialog/CnAssignDialog.vue +4 -3
  57. package/src/components/CnDialog/CnDialog.vue +6 -1
  58. package/src/components/CnIndexPage/CnIndexPage.vue +14 -0
  59. package/src/components/CnObjectListWidget/CnObjectListWidget.vue +7 -2
  60. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +237 -23
  61. package/src/components/CnSavedViewsControl/CnSavedViewsControl.vue +13 -1
  62. package/src/components/CnUserSettingsDialog/CnUserSettingsDialog.vue +147 -145
  63. package/src/components/CnWidgetObjectTable/CnWidgetObjectTable.vue +19 -3
  64. package/src/css/dialog.css +23 -0
  65. package/src/css/look-board-index.css +5 -1
  66. package/src/css/look-board.css +19 -0
@@ -1,4 +1,4 @@
1
- import { resolveComponent, openBlock, createElementBlock, normalizeClass, toDisplayString, createCommentVNode, createVNode, createElementVNode, Fragment, renderList, createBlock, normalizeStyle, resolveDynamicComponent, mergeProps, withCtx, createTextVNode, toHandlers, createSlots } from 'vue';
1
+ import { resolveComponent, openBlock, createElementBlock, normalizeClass, toDisplayString, createCommentVNode, createVNode, createElementVNode, Fragment, renderList, createTextVNode, normalizeStyle, createBlock, withCtx, resolveDynamicComponent, mergeProps, toHandlers, createSlots } from 'vue';
2
2
 
3
3
  const _hoisted_1 = {
4
4
  key: 0,
@@ -30,146 +30,153 @@ const _hoisted_7 = {
30
30
  class: "cn-record-list__table",
31
31
  "data-testid": "cn-record-list-table"
32
32
  };
33
- const _hoisted_8 = ["id"];
34
- const _hoisted_9 = ["aria-labelledby", "data-testid"];
33
+ const _hoisted_8 = ["aria-sort"];
34
+ const _hoisted_9 = ["data-testid", "onClick"];
35
35
  const _hoisted_10 = {
36
+ class: "cn-record-list__sort-mark",
37
+ "aria-hidden": "true"
38
+ };
39
+ const _hoisted_11 = ["id"];
40
+ const _hoisted_12 = ["aria-labelledby", "data-testid"];
41
+ const _hoisted_13 = {
36
42
  key: 0,
37
43
  class: "cn-record-list__row cn-record-list__row--action"
38
44
  };
39
- const _hoisted_11 = {
45
+ const _hoisted_14 = {
40
46
  key: 0,
41
47
  class: "cn-record-list__avatar",
42
48
  "aria-hidden": "true",
43
49
  "data-testid": "cn-record-list-avatar"
44
50
  };
45
- const _hoisted_12 = { class: "cn-record-list__main" };
46
- const _hoisted_13 = {
51
+ const _hoisted_15 = { class: "cn-record-list__main" };
52
+ const _hoisted_16 = {
47
53
  key: 1,
48
54
  class: "cn-record-list__meta"
49
55
  };
50
- const _hoisted_14 = {
56
+ const _hoisted_17 = {
51
57
  key: 2,
52
58
  class: "cn-record-list__flag",
53
59
  "data-testid": "cn-record-list-flag"
54
60
  };
55
- const _hoisted_15 = {
61
+ const _hoisted_18 = {
56
62
  key: 3,
57
63
  class: "cn-record-list__pills"
58
64
  };
59
- const _hoisted_16 = {
65
+ const _hoisted_19 = {
60
66
  key: 5,
61
67
  class: "cn-record-list__trailing"
62
68
  };
63
- const _hoisted_17 = {
69
+ const _hoisted_20 = {
64
70
  key: 0,
65
71
  class: "cn-record-list__avatar",
66
72
  "aria-hidden": "true",
67
73
  "data-testid": "cn-record-list-avatar"
68
74
  };
69
- const _hoisted_18 = { class: "cn-record-list__main" };
70
- const _hoisted_19 = {
75
+ const _hoisted_21 = { class: "cn-record-list__main" };
76
+ const _hoisted_22 = {
71
77
  key: 0,
72
78
  class: "cn-record-list__title"
73
79
  };
74
- const _hoisted_20 = {
80
+ const _hoisted_23 = {
75
81
  key: 1,
76
82
  class: "cn-record-list__meta"
77
83
  };
78
- const _hoisted_21 = {
84
+ const _hoisted_24 = {
79
85
  key: 2,
80
86
  class: "cn-record-list__meta",
81
87
  "data-testid": "cn-record-list-links"
82
88
  };
83
- const _hoisted_22 = { key: 1 };
84
- const _hoisted_23 = { key: 2 };
85
- const _hoisted_24 = {
89
+ const _hoisted_25 = { key: 1 };
90
+ const _hoisted_26 = { key: 2 };
91
+ const _hoisted_27 = {
86
92
  key: 2,
87
93
  class: "cn-record-list__aside"
88
94
  };
89
- const _hoisted_25 = {
95
+ const _hoisted_28 = {
90
96
  key: 0,
91
97
  class: "cn-record-list__flag",
92
98
  "data-testid": "cn-record-list-flag"
93
99
  };
94
- const _hoisted_26 = {
100
+ const _hoisted_29 = {
95
101
  key: 3,
96
102
  class: "cn-record-list__trailing"
97
103
  };
98
- const _hoisted_27 = { class: "cn-record-list__card-head" };
99
- const _hoisted_28 = { class: "cn-record-list__card-title" };
100
- const _hoisted_29 = {
104
+ const _hoisted_30 = { class: "cn-record-list__card-head" };
105
+ const _hoisted_31 = { class: "cn-record-list__card-title" };
106
+ const _hoisted_32 = {
101
107
  key: 1,
102
108
  class: "cn-record-list__title"
103
109
  };
104
- const _hoisted_30 = {
110
+ const _hoisted_33 = {
105
111
  key: 0,
106
112
  class: "cn-record-list__card-pills"
107
113
  };
108
- const _hoisted_31 = {
114
+ const _hoisted_34 = {
109
115
  key: 0,
110
116
  class: "cn-record-list__meta"
111
117
  };
112
- const _hoisted_32 = {
118
+ const _hoisted_35 = {
113
119
  key: 1,
114
120
  class: "cn-record-list__card-value",
115
121
  "data-testid": "cn-record-list-card-value"
116
122
  };
117
- const _hoisted_33 = {
123
+ const _hoisted_36 = {
118
124
  key: 3,
119
125
  class: "cn-record-list__feed-row"
120
126
  };
121
- const _hoisted_34 = {
127
+ const _hoisted_37 = {
122
128
  class: "cn-record-list__feed-icon",
123
129
  "aria-hidden": "true"
124
130
  };
125
- const _hoisted_35 = {
131
+ const _hoisted_38 = {
126
132
  key: 0,
127
133
  class: "cn-record-list__meta"
128
134
  };
129
- const _hoisted_36 = {
135
+ const _hoisted_39 = {
130
136
  key: 1,
131
137
  class: "cn-record-list__text"
132
138
  };
133
- const _hoisted_37 = {
139
+ const _hoisted_40 = {
134
140
  key: 4,
135
141
  class: "cn-record-list__inline-row"
136
142
  };
137
- const _hoisted_38 = {
143
+ const _hoisted_41 = {
138
144
  key: 0,
139
145
  class: "cn-record-list__label"
140
146
  };
141
- const _hoisted_39 = ["aria-label", "aria-valuenow", "aria-valuemax"];
142
- const _hoisted_40 = {
147
+ const _hoisted_42 = ["aria-label", "aria-valuenow", "aria-valuemax"];
148
+ const _hoisted_43 = {
143
149
  key: 9,
144
150
  class: "cn-record-list__error",
145
151
  role: "alert",
146
152
  "data-testid": "cn-record-list-action-error"
147
153
  };
148
- const _hoisted_41 = {
154
+ const _hoisted_44 = {
149
155
  key: 10,
150
156
  class: "cn-record-list__footnote",
151
157
  "data-testid": "cn-record-list-footnote"
152
158
  };
153
- const _hoisted_42 = {
159
+ const _hoisted_45 = {
154
160
  key: 11,
155
161
  class: "cn-record-list__footer",
156
162
  "data-testid": "cn-record-list-footer"
157
163
  };
158
- const _hoisted_43 = ["id"];
164
+ const _hoisted_46 = ["id"];
159
165
 
160
166
  function render(_ctx, _cache, $props, $setup, $data, $options) {
161
167
  const _component_NcLoadingIcon = resolveComponent("NcLoadingIcon");
162
168
  const _component_CnIcon = resolveComponent("CnIcon");
163
- const _component_CnRecordNoteRows = resolveComponent("CnRecordNoteRows");
164
169
  const _component_CnStatusBadge = resolveComponent("CnStatusBadge");
165
170
  const _component_router_link = resolveComponent("router-link");
171
+ const _component_CnRecordNoteRows = resolveComponent("CnRecordNoteRows");
166
172
  const _component_ChevronRight = resolveComponent("ChevronRight");
173
+ const _component_NcActionLink = resolveComponent("NcActionLink");
167
174
  const _component_NcActionButton = resolveComponent("NcActionButton");
168
175
  const _component_NcActions = resolveComponent("NcActions");
169
176
  const _component_NcButton = resolveComponent("NcButton");
170
177
 
171
178
  return (openBlock(), createElementBlock("div", {
172
- class: normalizeClass(["cn-record-list", `cn-record-list--${$options.presentation}`]),
179
+ class: normalizeClass(["cn-record-list", [`cn-record-list--${$options.presentation}`, { 'cn-record-list--compact': $props.content.density === 'compact' }]]),
173
180
  "data-testid": "cn-record-list"
174
181
  }, [
175
182
  ($options.intro && !$options.absent)
@@ -211,8 +218,24 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
211
218
  return (openBlock(), createElementBlock("th", {
212
219
  key: col.key,
213
220
  scope: "col",
221
+ "aria-sort": col.sortable ? $options.sortStateOf(col.key) : undefined,
214
222
  class: normalizeClass({ 'cn-record-list__cell--end': col.align === 'end' })
215
- }, toDisplayString(col.label), 3 /* TEXT, CLASS */))
223
+ }, [
224
+ (col.sortable)
225
+ ? (openBlock(), createElementBlock("button", {
226
+ key: 0,
227
+ type: "button",
228
+ class: "cn-record-list__sort",
229
+ "data-testid": `cn-record-list-sort-${col.key}`,
230
+ onClick: $event => ($options.toggleTableSort(col.key))
231
+ }, [
232
+ createTextVNode(toDisplayString(col.label) + " ", 1 /* TEXT */),
233
+ createElementVNode("span", _hoisted_10, toDisplayString($options.sortMarkOf(col.key)), 1 /* TEXT */)
234
+ ], 8 /* PROPS */, _hoisted_9))
235
+ : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
236
+ createTextVNode(toDisplayString(col.label), 1 /* TEXT */)
237
+ ], 64 /* STABLE_FRAGMENT */))
238
+ ], 10 /* CLASS, PROPS */, _hoisted_8))
216
239
  }), 128 /* KEYED_FRAGMENT */))
217
240
  ])
218
241
  ]),
@@ -222,11 +245,33 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
222
245
  key: item.key,
223
246
  "data-testid": "cn-record-list-item"
224
247
  }, [
225
- (openBlock(true), createElementBlock(Fragment, null, renderList(item.cells, (cell) => {
248
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item.cells, (cell, cellIndex) => {
226
249
  return (openBlock(), createElementBlock("td", {
227
250
  key: cell.key,
251
+ style: normalizeStyle(cellIndex === 0 && item.depth > 0 ? `padding-inline-start: calc(${item.depth} * 16px)` : undefined),
228
252
  class: normalizeClass({ 'cn-record-list__cell--end': cell.align === 'end', 'cn-record-list__cell--alert': cell.alert })
229
- }, toDisplayString(cell.text), 3 /* TEXT, CLASS */))
253
+ }, [
254
+ (cell.tone)
255
+ ? (openBlock(), createBlock(_component_CnStatusBadge, {
256
+ key: 0,
257
+ label: cell.text,
258
+ variant: cell.tone,
259
+ size: "small"
260
+ }, null, 8 /* PROPS */, ["label", "variant"]))
261
+ : (cellIndex === 0 && item.to)
262
+ ? (openBlock(), createBlock(_component_router_link, {
263
+ key: 1,
264
+ to: item.to
265
+ }, {
266
+ default: withCtx(() => [
267
+ createTextVNode(toDisplayString(cell.text), 1 /* TEXT */)
268
+ ]),
269
+ _: 2 /* DYNAMIC */
270
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["to"]))
271
+ : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
272
+ createTextVNode(toDisplayString(cell.text), 1 /* TEXT */)
273
+ ], 64 /* STABLE_FRAGMENT */))
274
+ ], 6 /* CLASS, STYLE */))
230
275
  }), 128 /* KEYED_FRAGMENT */))
231
276
  ]))
232
277
  }), 128 /* KEYED_FRAGMENT */))
@@ -250,7 +295,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
250
295
  id: group.headingId,
251
296
  class: "cn-record-list__group-heading",
252
297
  "data-testid": "cn-record-list-group-heading"
253
- }, toDisplayString(group.label), 9 /* TEXT, PROPS */, _hoisted_8))
298
+ }, toDisplayString(group.label), 9 /* TEXT, PROPS */, _hoisted_11))
254
299
  : createCommentVNode("v-if", true),
255
300
  createElementVNode("ul", {
256
301
  class: "cn-record-list__list",
@@ -264,9 +309,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
264
309
  "data-testid": "cn-record-list-item"
265
310
  }, [
266
311
  ($options.presentation === 'rows' && item.action)
267
- ? (openBlock(), createElementBlock("div", _hoisted_10, [
312
+ ? (openBlock(), createElementBlock("div", _hoisted_13, [
268
313
  (item.initials)
269
- ? (openBlock(), createElementBlock("span", _hoisted_11, toDisplayString(item.initials), 1 /* TEXT */))
314
+ ? (openBlock(), createElementBlock("span", _hoisted_14, toDisplayString(item.initials), 1 /* TEXT */))
270
315
  : createCommentVNode("v-if", true),
271
316
  (item.dot)
272
317
  ? (openBlock(), createElementBlock("span", {
@@ -277,7 +322,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
277
322
  "data-testid": "cn-record-list-dot"
278
323
  }, null, 4 /* STYLE */))
279
324
  : createCommentVNode("v-if", true),
280
- createElementVNode("span", _hoisted_12, [
325
+ createElementVNode("span", _hoisted_15, [
281
326
  (item.title)
282
327
  ? (openBlock(), createBlock(resolveDynamicComponent(item.tag), mergeProps({
283
328
  key: 0,
@@ -290,14 +335,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
290
335
  }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["class"]))
291
336
  : createCommentVNode("v-if", true),
292
337
  (item.meta)
293
- ? (openBlock(), createElementBlock("span", _hoisted_13, toDisplayString(item.meta), 1 /* TEXT */))
338
+ ? (openBlock(), createElementBlock("span", _hoisted_16, toDisplayString(item.meta), 1 /* TEXT */))
294
339
  : createCommentVNode("v-if", true)
295
340
  ]),
296
341
  (item.flag)
297
- ? (openBlock(), createElementBlock("span", _hoisted_14, toDisplayString(item.flag), 1 /* TEXT */))
342
+ ? (openBlock(), createElementBlock("span", _hoisted_17, toDisplayString(item.flag), 1 /* TEXT */))
298
343
  : createCommentVNode("v-if", true),
299
344
  (item.pill || item.badges.length > 0)
300
- ? (openBlock(), createElementBlock("span", _hoisted_15, [
345
+ ? (openBlock(), createElementBlock("span", _hoisted_18, [
301
346
  (item.pill)
302
347
  ? (openBlock(), createBlock(_component_CnStatusBadge, {
303
348
  key: 0,
@@ -325,7 +370,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
325
370
  }, toDisplayString(item.due.text), 3 /* TEXT, CLASS */))
326
371
  : createCommentVNode("v-if", true),
327
372
  (item.trailing)
328
- ? (openBlock(), createElementBlock("span", _hoisted_16, toDisplayString(item.trailing), 1 /* TEXT */))
373
+ ? (openBlock(), createElementBlock("span", _hoisted_19, toDisplayString(item.trailing), 1 /* TEXT */))
329
374
  : createCommentVNode("v-if", true),
330
375
  (openBlock(), createBlock(resolveDynamicComponent(item.action.tag), mergeProps({ class: "cn-record-list__action" }, { ref_for: true }, item.action.attrs, { "data-testid": "cn-record-list-action" }, toHandlers(item.action.tag === 'button' ? { click: () => $options.runRowAction(item.row) } : {})), {
331
376
  default: withCtx(() => [
@@ -341,7 +386,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
341
386
  }, { ref_for: true }, item.attrs), {
342
387
  default: withCtx(() => [
343
388
  (item.initials)
344
- ? (openBlock(), createElementBlock("span", _hoisted_17, toDisplayString(item.initials), 1 /* TEXT */))
389
+ ? (openBlock(), createElementBlock("span", _hoisted_20, toDisplayString(item.initials), 1 /* TEXT */))
345
390
  : createCommentVNode("v-if", true),
346
391
  (item.dot)
347
392
  ? (openBlock(), createElementBlock("span", {
@@ -352,15 +397,15 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
352
397
  "data-testid": "cn-record-list-dot"
353
398
  }, null, 4 /* STYLE */))
354
399
  : createCommentVNode("v-if", true),
355
- createElementVNode("span", _hoisted_18, [
400
+ createElementVNode("span", _hoisted_21, [
356
401
  (item.title)
357
- ? (openBlock(), createElementBlock("span", _hoisted_19, toDisplayString(item.title), 1 /* TEXT */))
402
+ ? (openBlock(), createElementBlock("span", _hoisted_22, toDisplayString(item.title), 1 /* TEXT */))
358
403
  : createCommentVNode("v-if", true),
359
404
  (item.meta)
360
- ? (openBlock(), createElementBlock("span", _hoisted_20, toDisplayString(item.meta), 1 /* TEXT */))
405
+ ? (openBlock(), createElementBlock("span", _hoisted_23, toDisplayString(item.meta), 1 /* TEXT */))
361
406
  : createCommentVNode("v-if", true),
362
407
  (item.links.length > 0)
363
- ? (openBlock(), createElementBlock("span", _hoisted_21, [
408
+ ? (openBlock(), createElementBlock("span", _hoisted_24, [
364
409
  createTextVNode(toDisplayString($options.linksLabel) + " ", 1 /* TEXT */),
365
410
  (openBlock(true), createElementBlock(Fragment, null, renderList(item.links, (link, linkIndex) => {
366
411
  return (openBlock(), createElementBlock(Fragment, {
@@ -376,9 +421,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
376
421
  ]),
377
422
  _: 2 /* DYNAMIC */
378
423
  }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["to"]))
379
- : (openBlock(), createElementBlock("span", _hoisted_22, toDisplayString(link.label), 1 /* TEXT */)),
424
+ : (openBlock(), createElementBlock("span", _hoisted_25, toDisplayString(link.label), 1 /* TEXT */)),
380
425
  (linkIndex < item.links.length - 1)
381
- ? (openBlock(), createElementBlock("span", _hoisted_23, ", "))
426
+ ? (openBlock(), createElementBlock("span", _hoisted_26, ", "))
382
427
  : createCommentVNode("v-if", true)
383
428
  ], 64 /* STABLE_FRAGMENT */))
384
429
  }), 128 /* KEYED_FRAGMENT */))
@@ -386,9 +431,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
386
431
  : createCommentVNode("v-if", true)
387
432
  ]),
388
433
  (item.pill || item.badges.length > 0 || item.due || item.trailing || item.flag)
389
- ? (openBlock(), createElementBlock("span", _hoisted_24, [
434
+ ? (openBlock(), createElementBlock("span", _hoisted_27, [
390
435
  (item.flag)
391
- ? (openBlock(), createElementBlock("span", _hoisted_25, toDisplayString(item.flag), 1 /* TEXT */))
436
+ ? (openBlock(), createElementBlock("span", _hoisted_28, toDisplayString(item.flag), 1 /* TEXT */))
392
437
  : createCommentVNode("v-if", true),
393
438
  (item.pill)
394
439
  ? (openBlock(), createBlock(_component_CnStatusBadge, {
@@ -415,7 +460,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
415
460
  }, toDisplayString(item.due.text), 3 /* TEXT, CLASS */))
416
461
  : createCommentVNode("v-if", true),
417
462
  (item.trailing)
418
- ? (openBlock(), createElementBlock("span", _hoisted_26, toDisplayString(item.trailing), 1 /* TEXT */))
463
+ ? (openBlock(), createElementBlock("span", _hoisted_29, toDisplayString(item.trailing), 1 /* TEXT */))
419
464
  : createCommentVNode("v-if", true)
420
465
  ]))
421
466
  : createCommentVNode("v-if", true),
@@ -427,25 +472,41 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
427
472
  "aria-hidden": "true"
428
473
  }))
429
474
  : createCommentVNode("v-if", true),
430
- (item.tag === 'div' && $options.rowActions.length > 0)
475
+ (item.tag === 'div' && item.rowActions.length > 0)
431
476
  ? (openBlock(), createBlock(_component_NcActions, {
432
477
  key: 4,
433
478
  "aria-label": $options.rowActionsLabel,
434
479
  "data-testid": "cn-record-list-row-actions"
435
480
  }, {
436
481
  default: withCtx(() => [
437
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.rowActions, (action, actionIndex) => {
438
- return (openBlock(), createBlock(_component_NcActionButton, {
439
- key: `row-action-${actionIndex}`,
440
- closeAfterClick: true,
441
- "data-testid": `cn-record-list-row-action-${actionIndex}`,
442
- onClick: $event => ($options.runRowActionEntry(action, item.row))
443
- }, {
444
- default: withCtx(() => [
445
- createTextVNode(toDisplayString(action.label), 1 /* TEXT */)
446
- ]),
447
- _: 2 /* DYNAMIC */
448
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "onClick"]))
482
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item.rowActions, (entry) => {
483
+ return (openBlock(), createElementBlock(Fragment, {
484
+ key: `row-action-${entry.index}`
485
+ }, [
486
+ (entry.href)
487
+ ? (openBlock(), createBlock(_component_NcActionLink, {
488
+ key: 0,
489
+ href: entry.href,
490
+ target: entry.external ? '_blank' : undefined,
491
+ "data-testid": `cn-record-list-row-action-${entry.index}`
492
+ }, {
493
+ default: withCtx(() => [
494
+ createTextVNode(toDisplayString(entry.action.label), 1 /* TEXT */)
495
+ ]),
496
+ _: 2 /* DYNAMIC */
497
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["href", "target", "data-testid"]))
498
+ : (openBlock(), createBlock(_component_NcActionButton, {
499
+ key: 1,
500
+ closeAfterClick: true,
501
+ "data-testid": `cn-record-list-row-action-${entry.index}`,
502
+ onClick: $event => ($options.runRowActionEntry(entry.action, item.row))
503
+ }, {
504
+ default: withCtx(() => [
505
+ createTextVNode(toDisplayString(entry.action.label), 1 /* TEXT */)
506
+ ]),
507
+ _: 2 /* DYNAMIC */
508
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "onClick"]))
509
+ ], 64 /* STABLE_FRAGMENT */))
449
510
  }), 128 /* KEYED_FRAGMENT */))
450
511
  ]),
451
512
  _: 2 /* DYNAMIC */
@@ -460,8 +521,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
460
521
  class: ["cn-record-list__card", { 'cn-record-list__card--link': item.tag !== 'div' }]
461
522
  }, { ref_for: true }, item.attrs, { "data-testid": "cn-record-list-card" }), {
462
523
  default: withCtx(() => [
463
- createElementVNode("span", _hoisted_27, [
464
- createElementVNode("span", _hoisted_28, [
524
+ createElementVNode("span", _hoisted_30, [
525
+ createElementVNode("span", _hoisted_31, [
465
526
  ($options.cardIcons)
466
527
  ? (openBlock(), createBlock(_component_CnIcon, {
467
528
  key: 0,
@@ -471,11 +532,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
471
532
  }, null, 8 /* PROPS */, ["name"]))
472
533
  : createCommentVNode("v-if", true),
473
534
  (item.title)
474
- ? (openBlock(), createElementBlock("span", _hoisted_29, toDisplayString(item.title), 1 /* TEXT */))
535
+ ? (openBlock(), createElementBlock("span", _hoisted_32, toDisplayString(item.title), 1 /* TEXT */))
475
536
  : createCommentVNode("v-if", true)
476
537
  ]),
477
538
  (item.pill || item.badges.length > 0)
478
- ? (openBlock(), createElementBlock("span", _hoisted_30, [
539
+ ? (openBlock(), createElementBlock("span", _hoisted_33, [
479
540
  (item.pill)
480
541
  ? (openBlock(), createBlock(_component_CnStatusBadge, {
481
542
  key: 0,
@@ -497,17 +558,17 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
497
558
  : createCommentVNode("v-if", true)
498
559
  ]),
499
560
  (item.meta)
500
- ? (openBlock(), createElementBlock("span", _hoisted_31, toDisplayString(item.meta), 1 /* TEXT */))
561
+ ? (openBlock(), createElementBlock("span", _hoisted_34, toDisplayString(item.meta), 1 /* TEXT */))
501
562
  : createCommentVNode("v-if", true),
502
563
  (item.trailing)
503
- ? (openBlock(), createElementBlock("span", _hoisted_32, toDisplayString(item.trailing), 1 /* TEXT */))
564
+ ? (openBlock(), createElementBlock("span", _hoisted_35, toDisplayString(item.trailing), 1 /* TEXT */))
504
565
  : createCommentVNode("v-if", true)
505
566
  ]),
506
567
  _: 2 /* DYNAMIC */
507
568
  }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["class"]))
508
569
  : ($options.presentation === 'feed')
509
- ? (openBlock(), createElementBlock("div", _hoisted_33, [
510
- createElementVNode("span", _hoisted_34, [
570
+ ? (openBlock(), createElementBlock("div", _hoisted_36, [
571
+ createElementVNode("span", _hoisted_37, [
511
572
  createVNode(_component_CnIcon, {
512
573
  name: item.icon,
513
574
  size: 18
@@ -516,18 +577,18 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
516
577
  (openBlock(), createBlock(resolveDynamicComponent(item.tag), mergeProps({ class: "cn-record-list__main" }, { ref_for: true }, item.attrs), {
517
578
  default: withCtx(() => [
518
579
  (item.meta)
519
- ? (openBlock(), createElementBlock("span", _hoisted_35, toDisplayString(item.meta), 1 /* TEXT */))
580
+ ? (openBlock(), createElementBlock("span", _hoisted_38, toDisplayString(item.meta), 1 /* TEXT */))
520
581
  : createCommentVNode("v-if", true),
521
582
  (item.text)
522
- ? (openBlock(), createElementBlock("span", _hoisted_36, toDisplayString(item.text), 1 /* TEXT */))
583
+ ? (openBlock(), createElementBlock("span", _hoisted_39, toDisplayString(item.text), 1 /* TEXT */))
523
584
  : createCommentVNode("v-if", true)
524
585
  ]),
525
586
  _: 2 /* DYNAMIC */
526
587
  }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */))
527
588
  ]))
528
- : (openBlock(), createElementBlock("div", _hoisted_37, [
589
+ : (openBlock(), createElementBlock("div", _hoisted_40, [
529
590
  (item.label)
530
- ? (openBlock(), createElementBlock("span", _hoisted_38, toDisplayString(item.label), 1 /* TEXT */))
591
+ ? (openBlock(), createElementBlock("span", _hoisted_41, toDisplayString(item.label), 1 /* TEXT */))
531
592
  : createCommentVNode("v-if", true),
532
593
  (openBlock(), createBlock(resolveDynamicComponent(item.tag), mergeProps({ class: "cn-record-list__inline-title" }, { ref_for: true }, item.attrs), {
533
594
  default: withCtx(() => [
@@ -551,21 +612,21 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
551
612
  class: "cn-record-list__bar-fill",
552
613
  style: normalizeStyle({ width: `${item.bar.share}%` })
553
614
  }, null, 4 /* STYLE */)
554
- ], 10 /* CLASS, PROPS */, _hoisted_39))
615
+ ], 10 /* CLASS, PROPS */, _hoisted_42))
555
616
  : createCommentVNode("v-if", true)
556
617
  ]))
557
618
  }), 128 /* KEYED_FRAGMENT */))
558
- ], 8 /* PROPS */, _hoisted_9)
619
+ ], 8 /* PROPS */, _hoisted_12)
559
620
  ], 64 /* STABLE_FRAGMENT */))
560
621
  }), 128 /* KEYED_FRAGMENT */)),
561
622
  ($data.actionError)
562
- ? (openBlock(), createElementBlock("p", _hoisted_40, toDisplayString($data.actionError), 1 /* TEXT */))
623
+ ? (openBlock(), createElementBlock("p", _hoisted_43, toDisplayString($data.actionError), 1 /* TEXT */))
563
624
  : createCommentVNode("v-if", true),
564
625
  ($options.footnote && !$data.error && !$options.absent && $data.rows.length > 0)
565
- ? (openBlock(), createElementBlock("p", _hoisted_41, toDisplayString($options.footnote), 1 /* TEXT */))
626
+ ? (openBlock(), createElementBlock("p", _hoisted_44, toDisplayString($options.footnote), 1 /* TEXT */))
566
627
  : createCommentVNode("v-if", true),
567
628
  ($options.footerAction && !$data.error)
568
- ? (openBlock(), createElementBlock("div", _hoisted_42, [
629
+ ? (openBlock(), createElementBlock("div", _hoisted_45, [
569
630
  createVNode(_component_NcButton, {
570
631
  variant: "secondary",
571
632
  disabled: $data.footerDisabled,
@@ -597,7 +658,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
597
658
  id: $data.footerReasonId,
598
659
  class: "cn-record-list__footer-reason",
599
660
  "data-testid": "cn-record-list-footer-reason"
600
- }, toDisplayString($options.footerAction.reason), 9 /* TEXT, PROPS */, _hoisted_43))
661
+ }, toDisplayString($options.footerAction.reason), 9 /* TEXT, PROPS */, _hoisted_46))
601
662
  : createCommentVNode("v-if", true)
602
663
  ]))
603
664
  : createCommentVNode("v-if", true)