@conduction/nextcloud-vue 2.129.0 → 2.130.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 (63) hide show
  1. package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js +23 -1
  2. package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js.map +1 -1
  3. package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js +87 -4
  4. package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js.map +1 -1
  5. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue.js +1 -1
  6. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js +29 -3
  7. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js.map +1 -1
  8. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js +68 -14
  9. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js.map +1 -1
  10. package/dist/esm/components/CnEventsCard/CnEventsCard.vue.js +1 -1
  11. package/dist/esm/components/CnEventsCard/CnEventsCard.vue2.js +16 -5
  12. package/dist/esm/components/CnEventsCard/CnEventsCard.vue2.js.map +1 -1
  13. package/dist/esm/components/CnEventsCard/CnEventsCard.vue3.js.map +1 -1
  14. package/dist/esm/components/CnFilesCard/CnFilesCard.vue.js +1 -1
  15. package/dist/esm/components/CnFilesCard/CnFilesCard.vue2.js.map +1 -1
  16. package/dist/esm/components/CnFilesCard/CnFilesCard.vue3.js +11 -2
  17. package/dist/esm/components/CnFilesCard/CnFilesCard.vue3.js.map +1 -1
  18. package/dist/esm/components/CnIcon/semanticIcons.js +2 -0
  19. package/dist/esm/components/CnIcon/semanticIcons.js.map +1 -1
  20. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +32 -2
  21. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  22. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +3 -1
  23. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  24. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue.js +1 -1
  25. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js.map +1 -1
  26. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js +4 -1
  27. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js.map +1 -1
  28. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  29. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +62 -2
  30. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  31. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +515 -356
  32. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  33. package/dist/esm/integrations/builtin/calendar/CnCalendarCard.vue.js +1 -1
  34. package/dist/esm/integrations/builtin/calendar/CnCalendarCard.vue2.js +6 -1
  35. package/dist/esm/integrations/builtin/calendar/CnCalendarCard.vue2.js.map +1 -1
  36. package/dist/esm/integrations/builtin/calendar/CnCalendarCard.vue3.js +17 -9
  37. package/dist/esm/integrations/builtin/calendar/CnCalendarCard.vue3.js.map +1 -1
  38. package/dist/esm/library-style.js +1 -1
  39. package/dist/esm/nextcloud-vue.css +323 -165
  40. package/dist/esm/utils/boardReferenceColumns.js +38 -1
  41. package/dist/esm/utils/boardReferenceColumns.js.map +1 -1
  42. package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
  43. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  44. package/dist/nextcloud-vue.cjs.js +989 -479
  45. package/dist/nextcloud-vue.cjs.js.map +2 -2
  46. package/dist/nextcloud-vue.css +323 -165
  47. package/package.json +1 -1
  48. package/src/components/CnActionsBar/CnActionsBar.vue +67 -3
  49. package/src/components/CnDetailWidgetHost/CnDetailWidgetHost.vue +59 -8
  50. package/src/components/CnEventsCard/CnEventsCard.vue +16 -5
  51. package/src/components/CnFilesCard/CnFilesCard.vue +7 -0
  52. package/src/components/CnIcon/semanticIcons.js +2 -0
  53. package/src/components/CnIndexPage/CnIndexPage.vue +34 -1
  54. package/src/components/CnObjectListWidget/CnObjectListWidget.vue +1 -1
  55. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +186 -8
  56. package/src/css/look-board-detail.css +27 -2
  57. package/src/css/look-board-index.css +50 -2
  58. package/src/css/look-board.css +52 -2
  59. package/src/integrations/builtin/calendar/CnCalendarCard.vue +12 -3
  60. package/src/integrations/builtin/calendar/__tests__/CnCalendarCardHeaderActions.spec.js +12 -1
  61. package/src/schemas/app-manifest-v2.schema.json +27 -3
  62. package/src/utils/boardReferenceColumns.js +37 -0
  63. package/src/utils/validateManifestV2.compiled.js +3 -3
@@ -1,4 +1,4 @@
1
- import { resolveComponent, openBlock, createElementBlock, normalizeClass, toDisplayString, createCommentVNode, createVNode, createElementVNode, Fragment, renderList, createTextVNode, normalizeStyle, createBlock, withCtx, resolveDynamicComponent, mergeProps, toHandlers, createSlots } from 'vue';
1
+ import { resolveComponent, openBlock, createElementBlock, normalizeClass, toDisplayString, createCommentVNode, createVNode, createElementVNode, Fragment, renderList, createTextVNode, normalizeStyle, createBlock, withCtx, createSlots, resolveDynamicComponent, mergeProps, toHandlers } from 'vue';
2
2
 
3
3
  const _hoisted_1 = {
4
4
  key: 0,
@@ -36,160 +36,193 @@ const _hoisted_10 = {
36
36
  class: "cn-record-list__sort-mark",
37
37
  "aria-hidden": "true"
38
38
  };
39
- const _hoisted_11 = ["id"];
40
- const _hoisted_12 = ["aria-labelledby", "data-testid"];
39
+ const _hoisted_11 = {
40
+ key: 0,
41
+ scope: "col",
42
+ class: "cn-record-list__cell--actions"
43
+ };
44
+ const _hoisted_12 = {
45
+ key: 2,
46
+ class: "cn-record-list__cell-text"
47
+ };
41
48
  const _hoisted_13 = {
49
+ key: 3,
50
+ class: "cn-record-list__cell-sub"
51
+ };
52
+ const _hoisted_14 = {
53
+ key: 0,
54
+ class: "cn-record-list__cell--actions"
55
+ };
56
+ const _hoisted_15 = {
57
+ key: 0,
58
+ class: "cn-record-list__group-head",
59
+ "data-testid": "cn-record-list-group-head"
60
+ };
61
+ const _hoisted_16 = ["id"];
62
+ const _hoisted_17 = ["id"];
63
+ const _hoisted_18 = ["aria-labelledby", "data-testid"];
64
+ const _hoisted_19 = {
42
65
  key: 0,
43
66
  class: "cn-record-list__row cn-record-list__row--action"
44
67
  };
45
- const _hoisted_14 = {
68
+ const _hoisted_20 = {
46
69
  key: 0,
47
70
  class: "cn-record-list__leading",
48
71
  "data-testid": "cn-record-list-leading"
49
72
  };
50
- const _hoisted_15 = {
73
+ const _hoisted_21 = {
51
74
  key: 1,
52
75
  class: "cn-record-list__avatar",
53
76
  "aria-hidden": "true",
54
77
  "data-testid": "cn-record-list-avatar"
55
78
  };
56
- const _hoisted_16 = { class: "cn-record-list__main" };
57
- const _hoisted_17 = {
79
+ const _hoisted_22 = { class: "cn-record-list__main" };
80
+ const _hoisted_23 = {
58
81
  key: 1,
59
82
  class: "cn-record-list__meta"
60
83
  };
61
- const _hoisted_18 = {
84
+ const _hoisted_24 = {
62
85
  key: 3,
63
86
  class: "cn-record-list__flag",
64
87
  "data-testid": "cn-record-list-flag"
65
88
  };
66
- const _hoisted_19 = {
89
+ const _hoisted_25 = {
67
90
  key: 4,
68
91
  class: "cn-record-list__pills"
69
92
  };
70
- const _hoisted_20 = {
93
+ const _hoisted_26 = {
71
94
  key: 6,
72
95
  class: "cn-record-list__trailing"
73
96
  };
74
- const _hoisted_21 = {
97
+ const _hoisted_27 = {
75
98
  key: 0,
76
99
  class: "cn-record-list__leading",
77
100
  "data-testid": "cn-record-list-leading"
78
101
  };
79
- const _hoisted_22 = {
102
+ const _hoisted_28 = {
80
103
  key: 1,
81
104
  class: "cn-record-list__avatar",
82
105
  "aria-hidden": "true",
83
106
  "data-testid": "cn-record-list-avatar"
84
107
  };
85
- const _hoisted_23 = { class: "cn-record-list__main" };
86
- const _hoisted_24 = {
108
+ const _hoisted_29 = { class: "cn-record-list__main" };
109
+ const _hoisted_30 = {
87
110
  key: 0,
88
111
  class: "cn-record-list__title"
89
112
  };
90
- const _hoisted_25 = {
113
+ const _hoisted_31 = {
91
114
  key: 1,
92
115
  class: "cn-record-list__meta"
93
116
  };
94
- const _hoisted_26 = {
117
+ const _hoisted_32 = {
95
118
  key: 2,
96
119
  class: "cn-record-list__meta",
97
120
  "data-testid": "cn-record-list-text"
98
121
  };
99
- const _hoisted_27 = {
122
+ const _hoisted_33 = {
100
123
  key: 3,
101
124
  class: "cn-record-list__meta",
102
125
  "data-testid": "cn-record-list-links"
103
126
  };
104
- const _hoisted_28 = { key: 1 };
105
- const _hoisted_29 = { key: 2 };
106
- const _hoisted_30 = {
127
+ const _hoisted_34 = { key: 1 };
128
+ const _hoisted_35 = { key: 2 };
129
+ const _hoisted_36 = {
107
130
  key: 3,
108
131
  class: "cn-record-list__aside"
109
132
  };
110
- const _hoisted_31 = {
133
+ const _hoisted_37 = {
111
134
  key: 0,
112
135
  class: "cn-record-list__flag",
113
136
  "data-testid": "cn-record-list-flag"
114
137
  };
115
- const _hoisted_32 = {
138
+ const _hoisted_38 = {
116
139
  key: 3,
117
140
  class: "cn-record-list__trailing"
118
141
  };
119
- const _hoisted_33 = { class: "cn-record-list__card-head" };
120
- const _hoisted_34 = { class: "cn-record-list__card-title" };
121
- const _hoisted_35 = {
142
+ const _hoisted_39 = { class: "cn-record-list__card-head" };
143
+ const _hoisted_40 = { class: "cn-record-list__card-title" };
144
+ const _hoisted_41 = {
122
145
  key: 1,
123
146
  class: "cn-record-list__title"
124
147
  };
125
- const _hoisted_36 = {
148
+ const _hoisted_42 = {
126
149
  key: 0,
127
150
  class: "cn-record-list__card-pills"
128
151
  };
129
- const _hoisted_37 = {
152
+ const _hoisted_43 = {
130
153
  key: 0,
131
154
  class: "cn-record-list__meta"
132
155
  };
133
- const _hoisted_38 = {
156
+ const _hoisted_44 = {
134
157
  key: 1,
135
158
  class: "cn-record-list__card-value",
136
159
  "data-testid": "cn-record-list-card-value"
137
160
  };
138
- const _hoisted_39 = {
161
+ const _hoisted_45 = {
139
162
  key: 3,
140
163
  class: "cn-record-list__feed-row"
141
164
  };
142
- const _hoisted_40 = {
165
+ const _hoisted_46 = {
143
166
  class: "cn-record-list__feed-icon",
144
167
  "aria-hidden": "true"
145
168
  };
146
- const _hoisted_41 = {
169
+ const _hoisted_47 = {
147
170
  key: 0,
148
171
  class: "cn-record-list__meta"
149
172
  };
150
- const _hoisted_42 = {
173
+ const _hoisted_48 = {
151
174
  key: 1,
152
175
  class: "cn-record-list__text"
153
176
  };
154
- const _hoisted_43 = {
177
+ const _hoisted_49 = {
155
178
  key: 4,
156
179
  class: "cn-record-list__inline-row"
157
180
  };
158
- const _hoisted_44 = {
181
+ const _hoisted_50 = {
159
182
  key: 0,
160
183
  class: "cn-record-list__label"
161
184
  };
162
- const _hoisted_45 = ["aria-label", "aria-valuenow", "aria-valuemax"];
163
- const _hoisted_46 = {
185
+ const _hoisted_51 = ["aria-label", "aria-valuenow", "aria-valuemax"];
186
+ const _hoisted_52 = {
164
187
  key: 9,
165
188
  class: "cn-record-list__error",
166
189
  role: "alert",
167
190
  "data-testid": "cn-record-list-action-error"
168
191
  };
169
- const _hoisted_47 = {
192
+ const _hoisted_53 = {
170
193
  key: 10,
171
194
  class: "cn-record-list__footnote",
172
195
  "data-testid": "cn-record-list-footnote"
173
196
  };
174
- const _hoisted_48 = {
197
+ const _hoisted_54 = {
175
198
  key: 11,
199
+ class: "cn-record-list__group-head",
200
+ "data-testid": "cn-record-list-group-head"
201
+ };
202
+ const _hoisted_55 = {
203
+ class: "cn-record-list__group-heading",
204
+ "data-testid": "cn-record-list-group-heading"
205
+ };
206
+ const _hoisted_56 = ["id"];
207
+ const _hoisted_57 = {
208
+ key: 13,
176
209
  class: "cn-record-list__footer",
177
210
  "data-testid": "cn-record-list-footer"
178
211
  };
179
- const _hoisted_49 = ["id"];
212
+ const _hoisted_58 = ["id"];
180
213
 
181
214
  function render(_ctx, _cache, $props, $setup, $data, $options) {
182
215
  const _component_NcLoadingIcon = resolveComponent("NcLoadingIcon");
183
216
  const _component_CnIcon = resolveComponent("CnIcon");
184
217
  const _component_CnStatusBadge = resolveComponent("CnStatusBadge");
185
218
  const _component_router_link = resolveComponent("router-link");
186
- const _component_CnRecordNoteRows = resolveComponent("CnRecordNoteRows");
187
- const _component_ChevronRight = resolveComponent("ChevronRight");
188
- const _component_Check = resolveComponent("Check");
189
- const _component_NcButton = resolveComponent("NcButton");
190
219
  const _component_NcActionLink = resolveComponent("NcActionLink");
191
220
  const _component_NcActionButton = resolveComponent("NcActionButton");
192
221
  const _component_NcActions = resolveComponent("NcActions");
222
+ const _component_CnRecordNoteRows = resolveComponent("CnRecordNoteRows");
223
+ const _component_NcButton = resolveComponent("NcButton");
224
+ const _component_ChevronRight = resolveComponent("ChevronRight");
225
+ const _component_Check = resolveComponent("Check");
193
226
 
194
227
  return (openBlock(), createElementBlock("div", {
195
228
  class: normalizeClass(["cn-record-list", [`cn-record-list--${$options.presentation}`, { 'cn-record-list--compact': $props.content.density === 'compact' }]]),
@@ -252,7 +285,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
252
285
  createTextVNode(toDisplayString(col.label), 1 /* TEXT */)
253
286
  ], 64 /* STABLE_FRAGMENT */))
254
287
  ], 10 /* CLASS, PROPS */, _hoisted_8))
255
- }), 128 /* KEYED_FRAGMENT */))
288
+ }), 128 /* KEYED_FRAGMENT */)),
289
+ ($options.rowActions.length > 0)
290
+ ? (openBlock(), createElementBlock("th", _hoisted_11, toDisplayString($options.rowActionsHeader), 1 /* TEXT */))
291
+ : createCommentVNode("v-if", true)
256
292
  ])
257
293
  ]),
258
294
  createElementVNode("tbody", null, [
@@ -277,18 +313,64 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
277
313
  : (cellIndex === 0 && item.to)
278
314
  ? (openBlock(), createBlock(_component_router_link, {
279
315
  key: 1,
280
- to: item.to
316
+ to: item.to,
317
+ class: "cn-record-list__cell-text"
281
318
  }, {
282
319
  default: withCtx(() => [
283
320
  createTextVNode(toDisplayString(cell.text), 1 /* TEXT */)
284
321
  ]),
285
322
  _: 2 /* DYNAMIC */
286
323
  }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["to"]))
287
- : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
288
- createTextVNode(toDisplayString(cell.text), 1 /* TEXT */)
289
- ], 64 /* STABLE_FRAGMENT */))
324
+ : (openBlock(), createElementBlock("span", _hoisted_12, toDisplayString(cell.text), 1 /* TEXT */)),
325
+ (cell.sub)
326
+ ? (openBlock(), createElementBlock("span", _hoisted_13, toDisplayString(cell.sub), 1 /* TEXT */))
327
+ : createCommentVNode("v-if", true)
290
328
  ], 6 /* CLASS, STYLE */))
291
- }), 128 /* KEYED_FRAGMENT */))
329
+ }), 128 /* KEYED_FRAGMENT */)),
330
+ ($options.rowActions.length > 0)
331
+ ? (openBlock(), createElementBlock("td", _hoisted_14, [
332
+ (item.rowActions.length > 0)
333
+ ? (openBlock(), createBlock(_component_NcActions, {
334
+ key: 0,
335
+ "aria-label": $options.rowActionsLabel,
336
+ "data-testid": "cn-record-list-row-actions"
337
+ }, {
338
+ default: withCtx(() => [
339
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item.rowActions, (entry) => {
340
+ return (openBlock(), createElementBlock(Fragment, {
341
+ key: `row-action-${entry.index}`
342
+ }, [
343
+ (entry.href)
344
+ ? (openBlock(), createBlock(_component_NcActionLink, {
345
+ key: 0,
346
+ href: entry.href,
347
+ target: entry.external ? '_blank' : undefined,
348
+ "data-testid": `cn-record-list-row-action-${entry.index}`
349
+ }, {
350
+ default: withCtx(() => [
351
+ createTextVNode(toDisplayString(entry.action.label), 1 /* TEXT */)
352
+ ]),
353
+ _: 2 /* DYNAMIC */
354
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["href", "target", "data-testid"]))
355
+ : (openBlock(), createBlock(_component_NcActionButton, {
356
+ key: 1,
357
+ closeAfterClick: true,
358
+ "data-testid": `cn-record-list-row-action-${entry.index}`,
359
+ onClick: $event => ($options.runRowActionEntry(entry.action, item.row))
360
+ }, {
361
+ default: withCtx(() => [
362
+ createTextVNode(toDisplayString(entry.action.label), 1 /* TEXT */)
363
+ ]),
364
+ _: 2 /* DYNAMIC */
365
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "onClick"]))
366
+ ], 64 /* STABLE_FRAGMENT */))
367
+ }), 128 /* KEYED_FRAGMENT */))
368
+ ]),
369
+ _: 2 /* DYNAMIC */
370
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["aria-label"]))
371
+ : createCommentVNode("v-if", true)
372
+ ]))
373
+ : createCommentVNode("v-if", true)
292
374
  ]))
293
375
  }), 128 /* KEYED_FRAGMENT */))
294
376
  ])
@@ -305,110 +387,68 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
305
387
  return (openBlock(), createElementBlock(Fragment, {
306
388
  key: group.key
307
389
  }, [
308
- (group.label)
309
- ? (openBlock(), createElementBlock("h3", {
310
- key: 0,
311
- id: group.headingId,
312
- class: "cn-record-list__group-heading",
313
- "data-testid": "cn-record-list-group-heading"
314
- }, toDisplayString(group.label), 9 /* TEXT, PROPS */, _hoisted_11))
315
- : createCommentVNode("v-if", true),
316
- createElementVNode("ul", {
317
- class: "cn-record-list__list",
318
- "aria-labelledby": group.label ? group.headingId : null,
319
- "data-testid": $options.isGrouped ? 'cn-record-list-group' : null
320
- }, [
321
- (openBlock(true), createElementBlock(Fragment, null, renderList(group.items, (item) => {
322
- return (openBlock(), createElementBlock("li", {
323
- key: item.key,
324
- class: "cn-record-list__item",
325
- "data-testid": "cn-record-list-item"
326
- }, [
327
- ($options.presentation === 'rows' && item.action)
328
- ? (openBlock(), createElementBlock("div", _hoisted_13, [
329
- (item.leading)
330
- ? (openBlock(), createElementBlock("span", _hoisted_14, toDisplayString(item.leading), 1 /* TEXT */))
331
- : createCommentVNode("v-if", true),
332
- (item.initials)
333
- ? (openBlock(), createElementBlock("span", _hoisted_15, toDisplayString(item.initials), 1 /* TEXT */))
334
- : createCommentVNode("v-if", true),
335
- (item.dot)
336
- ? (openBlock(), createElementBlock("span", {
337
- key: 2,
338
- class: "cn-record-list__dot",
339
- style: normalizeStyle({ background: item.dot }),
340
- "aria-hidden": "true",
341
- "data-testid": "cn-record-list-dot"
342
- }, null, 4 /* STYLE */))
343
- : createCommentVNode("v-if", true),
344
- createElementVNode("span", _hoisted_16, [
345
- (item.title)
346
- ? (openBlock(), createBlock(resolveDynamicComponent(item.tag), mergeProps({
347
- key: 0,
348
- class: ["cn-record-list__title", { 'cn-record-list__title--link': item.tag !== 'div' }]
349
- }, { ref_for: true }, item.attrs), {
350
- default: withCtx(() => [
351
- createTextVNode(toDisplayString(item.title), 1 /* TEXT */)
352
- ]),
353
- _: 2 /* DYNAMIC */
354
- }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["class"]))
355
- : createCommentVNode("v-if", true),
356
- (item.meta)
357
- ? (openBlock(), createElementBlock("span", _hoisted_17, toDisplayString(item.meta), 1 /* TEXT */))
358
- : createCommentVNode("v-if", true)
359
- ]),
360
- (item.flag)
361
- ? (openBlock(), createElementBlock("span", _hoisted_18, toDisplayString(item.flag), 1 /* TEXT */))
362
- : createCommentVNode("v-if", true),
363
- (item.pill || item.badges.length > 0)
364
- ? (openBlock(), createElementBlock("span", _hoisted_19, [
365
- (item.pill)
366
- ? (openBlock(), createBlock(_component_CnStatusBadge, {
367
- key: 0,
368
- label: item.pill.label,
369
- variant: item.pill.variant,
370
- size: "small"
371
- }, null, 8 /* PROPS */, ["label", "variant"]))
372
- : createCommentVNode("v-if", true),
373
- (openBlock(true), createElementBlock(Fragment, null, renderList(item.badges, (badge) => {
374
- return (openBlock(), createBlock(_component_CnStatusBadge, {
375
- key: badge.key,
376
- label: badge.label,
377
- variant: badge.variant,
378
- size: "small",
379
- "data-testid": `cn-record-list-badge-${badge.kind}`
380
- }, null, 8 /* PROPS */, ["label", "variant", "data-testid"]))
381
- }), 128 /* KEYED_FRAGMENT */))
382
- ]))
383
- : createCommentVNode("v-if", true),
384
- (item.due)
385
- ? (openBlock(), createElementBlock("span", {
386
- key: 5,
387
- class: normalizeClass(["cn-record-list__due cn-record-list__due--column", [`cn-record-list__due--${item.due.tone}`, { 'cn-record-list__due--soon': item.due.soon }]]),
388
- "data-testid": "cn-record-list-due"
389
- }, toDisplayString(item.due.text), 3 /* TEXT, CLASS */))
390
- : createCommentVNode("v-if", true),
391
- (item.trailing)
392
- ? (openBlock(), createElementBlock("span", _hoisted_20, toDisplayString(item.trailing), 1 /* TEXT */))
393
- : createCommentVNode("v-if", true),
394
- (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) } : {})), {
395
- default: withCtx(() => [
396
- createTextVNode(toDisplayString(item.action.label), 1 /* TEXT */)
390
+ (group.label && $options.footerGroup !== '' && group.value === $options.footerGroup)
391
+ ? (openBlock(), createElementBlock("div", _hoisted_15, [
392
+ createElementVNode("h3", {
393
+ id: group.headingId,
394
+ class: "cn-record-list__group-heading",
395
+ "data-testid": "cn-record-list-group-heading"
396
+ }, toDisplayString(group.label), 9 /* TEXT, PROPS */, _hoisted_16),
397
+ createVNode(_component_NcButton, {
398
+ variant: "secondary",
399
+ class: normalizeClass({ 'cn-record-list__action--tonal': $options.footerTonal }),
400
+ disabled: $data.footerDisabled,
401
+ "aria-describedby": $data.footerDisabled && $options.footerAction.reason ? $data.footerReasonId : null,
402
+ "data-testid": "cn-record-list-footer-action",
403
+ onClick: $options.runFooterAction
404
+ }, createSlots({
405
+ default: withCtx(() => [
406
+ createTextVNode(" " + toDisplayString($options.footerAction.label), 1 /* TEXT */)
407
+ ]),
408
+ _: 2 /* DYNAMIC */
409
+ }, [
410
+ ($options.footerAction.icon)
411
+ ? {
412
+ name: "icon",
413
+ fn: withCtx(() => [
414
+ createVNode(_component_CnIcon, {
415
+ name: $options.footerAction.icon,
416
+ size: 16
417
+ }, null, 8 /* PROPS */, ["name"])
397
418
  ]),
398
- _: 2 /* DYNAMIC */
399
- }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */))
400
- ]))
401
- : ($options.presentation === 'rows')
402
- ? (openBlock(), createBlock(resolveDynamicComponent(item.tag), mergeProps({
403
- key: 1,
404
- class: ["cn-record-list__row", { 'cn-record-list__row--link': item.tag !== 'div' }]
405
- }, { ref_for: true }, item.attrs), {
406
- default: withCtx(() => [
419
+ key: "0"
420
+ }
421
+ : undefined
422
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "disabled", "aria-describedby", "onClick"])
423
+ ]))
424
+ : (group.label)
425
+ ? (openBlock(), createElementBlock("h3", {
426
+ key: 1,
427
+ id: group.headingId,
428
+ class: "cn-record-list__group-heading",
429
+ "data-testid": "cn-record-list-group-heading"
430
+ }, toDisplayString(group.label), 9 /* TEXT, PROPS */, _hoisted_17))
431
+ : createCommentVNode("v-if", true),
432
+ (group.items.length > 0)
433
+ ? (openBlock(), createElementBlock("ul", {
434
+ key: 2,
435
+ class: "cn-record-list__list",
436
+ "aria-labelledby": group.label ? group.headingId : null,
437
+ "data-testid": $options.isGrouped ? 'cn-record-list-group' : null
438
+ }, [
439
+ (openBlock(true), createElementBlock(Fragment, null, renderList(group.items, (item) => {
440
+ return (openBlock(), createElementBlock("li", {
441
+ key: item.key,
442
+ class: "cn-record-list__item",
443
+ "data-testid": "cn-record-list-item"
444
+ }, [
445
+ ($options.presentation === 'rows' && item.action)
446
+ ? (openBlock(), createElementBlock("div", _hoisted_19, [
407
447
  (item.leading)
408
- ? (openBlock(), createElementBlock("span", _hoisted_21, toDisplayString(item.leading), 1 /* TEXT */))
448
+ ? (openBlock(), createElementBlock("span", _hoisted_20, toDisplayString(item.leading), 1 /* TEXT */))
409
449
  : createCommentVNode("v-if", true),
410
450
  (item.initials)
411
- ? (openBlock(), createElementBlock("span", _hoisted_22, toDisplayString(item.initials), 1 /* TEXT */))
451
+ ? (openBlock(), createElementBlock("span", _hoisted_21, toDisplayString(item.initials), 1 /* TEXT */))
412
452
  : createCommentVNode("v-if", true),
413
453
  (item.dot)
414
454
  ? (openBlock(), createElementBlock("span", {
@@ -419,50 +459,30 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
419
459
  "data-testid": "cn-record-list-dot"
420
460
  }, null, 4 /* STYLE */))
421
461
  : createCommentVNode("v-if", true),
422
- createElementVNode("span", _hoisted_23, [
462
+ createElementVNode("span", _hoisted_22, [
423
463
  (item.title)
424
- ? (openBlock(), createElementBlock("span", _hoisted_24, toDisplayString(item.title), 1 /* TEXT */))
464
+ ? (openBlock(), createBlock(resolveDynamicComponent(item.tag), mergeProps({
465
+ key: 0,
466
+ class: ["cn-record-list__title", { 'cn-record-list__title--link': item.tag !== 'div' }]
467
+ }, { ref_for: true }, item.attrs), {
468
+ default: withCtx(() => [
469
+ createTextVNode(toDisplayString(item.title), 1 /* TEXT */)
470
+ ]),
471
+ _: 2 /* DYNAMIC */
472
+ }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["class"]))
425
473
  : createCommentVNode("v-if", true),
426
474
  (item.meta)
427
- ? (openBlock(), createElementBlock("span", _hoisted_25, toDisplayString(item.meta), 1 /* TEXT */))
428
- : createCommentVNode("v-if", true),
429
- (item.text)
430
- ? (openBlock(), createElementBlock("span", _hoisted_26, toDisplayString(item.text), 1 /* TEXT */))
431
- : createCommentVNode("v-if", true),
432
- (item.links.length > 0)
433
- ? (openBlock(), createElementBlock("span", _hoisted_27, [
434
- createTextVNode(toDisplayString($options.linksLabel) + " ", 1 /* TEXT */),
435
- (openBlock(true), createElementBlock(Fragment, null, renderList(item.links, (link, linkIndex) => {
436
- return (openBlock(), createElementBlock(Fragment, {
437
- key: link.id
438
- }, [
439
- (link.to)
440
- ? (openBlock(), createBlock(_component_router_link, {
441
- key: 0,
442
- to: link.to
443
- }, {
444
- default: withCtx(() => [
445
- createTextVNode(toDisplayString(link.label), 1 /* TEXT */)
446
- ]),
447
- _: 2 /* DYNAMIC */
448
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["to"]))
449
- : (openBlock(), createElementBlock("span", _hoisted_28, toDisplayString(link.label), 1 /* TEXT */)),
450
- (linkIndex < item.links.length - 1)
451
- ? (openBlock(), createElementBlock("span", _hoisted_29, ", "))
452
- : createCommentVNode("v-if", true)
453
- ], 64 /* STABLE_FRAGMENT */))
454
- }), 128 /* KEYED_FRAGMENT */))
455
- ]))
475
+ ? (openBlock(), createElementBlock("span", _hoisted_23, toDisplayString(item.meta), 1 /* TEXT */))
456
476
  : createCommentVNode("v-if", true)
457
477
  ]),
458
- (item.pill || item.badges.length > 0 || item.due || item.trailing || item.flag)
459
- ? (openBlock(), createElementBlock("span", _hoisted_30, [
460
- (item.flag)
461
- ? (openBlock(), createElementBlock("span", _hoisted_31, toDisplayString(item.flag), 1 /* TEXT */))
462
- : createCommentVNode("v-if", true),
478
+ (item.flag)
479
+ ? (openBlock(), createElementBlock("span", _hoisted_24, toDisplayString(item.flag), 1 /* TEXT */))
480
+ : createCommentVNode("v-if", true),
481
+ (item.pill || item.badges.length > 0)
482
+ ? (openBlock(), createElementBlock("span", _hoisted_25, [
463
483
  (item.pill)
464
484
  ? (openBlock(), createBlock(_component_CnStatusBadge, {
465
- key: 1,
485
+ key: 0,
466
486
  label: item.pill.label,
467
487
  variant: item.pill.variant,
468
488
  size: "small"
@@ -476,125 +496,91 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
476
496
  size: "small",
477
497
  "data-testid": `cn-record-list-badge-${badge.kind}`
478
498
  }, null, 8 /* PROPS */, ["label", "variant", "data-testid"]))
479
- }), 128 /* KEYED_FRAGMENT */)),
480
- (item.due)
481
- ? (openBlock(), createElementBlock("span", {
482
- key: 2,
483
- class: normalizeClass(["cn-record-list__due", [`cn-record-list__due--${item.due.tone}`, { 'cn-record-list__due--soon': item.due.soon }]]),
484
- "data-testid": "cn-record-list-due"
485
- }, toDisplayString(item.due.text), 3 /* TEXT, CLASS */))
486
- : createCommentVNode("v-if", true),
487
- (item.trailing)
488
- ? (openBlock(), createElementBlock("span", _hoisted_32, toDisplayString(item.trailing), 1 /* TEXT */))
489
- : createCommentVNode("v-if", true)
499
+ }), 128 /* KEYED_FRAGMENT */))
490
500
  ]))
491
501
  : createCommentVNode("v-if", true),
492
- (item.tag !== 'div' && $props.content.chevron !== false)
493
- ? (openBlock(), createBlock(_component_ChevronRight, {
494
- key: 4,
495
- class: "cn-record-list__chevron",
496
- size: 18,
497
- "aria-hidden": "true"
498
- }))
502
+ (item.due)
503
+ ? (openBlock(), createElementBlock("span", {
504
+ key: 5,
505
+ class: normalizeClass(["cn-record-list__due cn-record-list__due--column", [`cn-record-list__due--${item.due.tone}`, { 'cn-record-list__due--soon': item.due.soon }]]),
506
+ "data-testid": "cn-record-list-due"
507
+ }, toDisplayString(item.due.text), 3 /* TEXT, CLASS */))
499
508
  : createCommentVNode("v-if", true),
500
- (item.tag === 'div')
501
- ? (openBlock(true), createElementBlock(Fragment, { key: 5 }, renderList($options.setFieldActions, (action, actionIndex) => {
502
- return (openBlock(), createElementBlock(Fragment, null, [
503
- ($options.setFieldDone(action, item.row))
504
- ? (openBlock(), createElementBlock("span", {
505
- key: `set-field-done-${actionIndex}`,
506
- class: "cn-record-list__set-field-done",
507
- "data-testid": "cn-record-list-set-field-done"
508
- }, [
509
- createVNode(_component_Check, {
510
- size: 14,
511
- "aria-hidden": "true"
512
- }),
513
- createTextVNode(toDisplayString(action.doneLabel), 1 /* TEXT */)
514
- ]))
515
- : (openBlock(), createBlock(_component_NcButton, {
516
- key: `set-field-${actionIndex}`,
517
- disabled: $data.settingField,
518
- ariaLabel: $options.fillRow(action.ariaLabel, item.row) || undefined,
519
- "data-testid": "cn-record-list-set-field",
520
- onClick: $event => ($options.runSetField(action, item.row))
521
- }, {
522
- default: withCtx(() => [
523
- createTextVNode(toDisplayString(action.label), 1 /* TEXT */)
524
- ]),
525
- _: 2 /* DYNAMIC */
526
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["disabled", "ariaLabel", "onClick"]))
527
- ], 64 /* STABLE_FRAGMENT */))
528
- }), 256 /* UNKEYED_FRAGMENT */))
509
+ (item.trailing)
510
+ ? (openBlock(), createElementBlock("span", _hoisted_26, toDisplayString(item.trailing), 1 /* TEXT */))
529
511
  : createCommentVNode("v-if", true),
530
- (item.tag === 'div' && item.rowActions.length > 0)
531
- ? (openBlock(), createBlock(_component_NcActions, {
532
- key: 6,
533
- "aria-label": $options.rowActionsLabel,
534
- "data-testid": "cn-record-list-row-actions"
535
- }, {
536
- default: withCtx(() => [
537
- (openBlock(true), createElementBlock(Fragment, null, renderList(item.rowActions, (entry) => {
538
- return (openBlock(), createElementBlock(Fragment, {
539
- key: `row-action-${entry.index}`
540
- }, [
541
- (entry.href)
542
- ? (openBlock(), createBlock(_component_NcActionLink, {
543
- key: 0,
544
- href: entry.href,
545
- target: entry.external ? '_blank' : undefined,
546
- "data-testid": `cn-record-list-row-action-${entry.index}`
547
- }, {
548
- default: withCtx(() => [
549
- createTextVNode(toDisplayString(entry.action.label), 1 /* TEXT */)
550
- ]),
551
- _: 2 /* DYNAMIC */
552
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["href", "target", "data-testid"]))
553
- : (openBlock(), createBlock(_component_NcActionButton, {
554
- key: 1,
555
- closeAfterClick: true,
556
- "data-testid": `cn-record-list-row-action-${entry.index}`,
557
- onClick: $event => ($options.runRowActionEntry(entry.action, item.row))
558
- }, {
559
- default: withCtx(() => [
560
- createTextVNode(toDisplayString(entry.action.label), 1 /* TEXT */)
561
- ]),
562
- _: 2 /* DYNAMIC */
563
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "onClick"]))
564
- ], 64 /* STABLE_FRAGMENT */))
565
- }), 128 /* KEYED_FRAGMENT */))
566
- ]),
567
- _: 2 /* DYNAMIC */
568
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["aria-label"]))
569
- : createCommentVNode("v-if", true)
570
- ]),
571
- _: 2 /* DYNAMIC */
572
- }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["class"]))
573
- : ($options.presentation === 'cards')
574
- ? (openBlock(), createBlock(resolveDynamicComponent(item.tag), mergeProps({
575
- key: 2,
576
- class: ["cn-record-list__card", { 'cn-record-list__card--link': item.tag !== 'div' }]
577
- }, { ref_for: true }, item.attrs, { "data-testid": "cn-record-list-card" }), {
578
- default: withCtx(() => [
579
- createElementVNode("span", _hoisted_33, [
580
- createElementVNode("span", _hoisted_34, [
581
- ($options.cardIcons)
582
- ? (openBlock(), createBlock(_component_CnIcon, {
583
- key: 0,
584
- class: "cn-record-list__card-icon",
585
- name: item.icon,
586
- size: 18
587
- }, null, 8 /* PROPS */, ["name"]))
588
- : createCommentVNode("v-if", true),
512
+ (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) } : {})), {
513
+ default: withCtx(() => [
514
+ createTextVNode(toDisplayString(item.action.label), 1 /* TEXT */)
515
+ ]),
516
+ _: 2 /* DYNAMIC */
517
+ }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */))
518
+ ]))
519
+ : ($options.presentation === 'rows')
520
+ ? (openBlock(), createBlock(resolveDynamicComponent(item.tag), mergeProps({
521
+ key: 1,
522
+ class: ["cn-record-list__row", { 'cn-record-list__row--link': item.tag !== 'div' }]
523
+ }, { ref_for: true }, item.attrs), {
524
+ default: withCtx(() => [
525
+ (item.leading)
526
+ ? (openBlock(), createElementBlock("span", _hoisted_27, toDisplayString(item.leading), 1 /* TEXT */))
527
+ : createCommentVNode("v-if", true),
528
+ (item.initials)
529
+ ? (openBlock(), createElementBlock("span", _hoisted_28, toDisplayString(item.initials), 1 /* TEXT */))
530
+ : createCommentVNode("v-if", true),
531
+ (item.dot)
532
+ ? (openBlock(), createElementBlock("span", {
533
+ key: 2,
534
+ class: "cn-record-list__dot",
535
+ style: normalizeStyle({ background: item.dot }),
536
+ "aria-hidden": "true",
537
+ "data-testid": "cn-record-list-dot"
538
+ }, null, 4 /* STYLE */))
539
+ : createCommentVNode("v-if", true),
540
+ createElementVNode("span", _hoisted_29, [
589
541
  (item.title)
590
- ? (openBlock(), createElementBlock("span", _hoisted_35, toDisplayString(item.title), 1 /* TEXT */))
542
+ ? (openBlock(), createElementBlock("span", _hoisted_30, toDisplayString(item.title), 1 /* TEXT */))
543
+ : createCommentVNode("v-if", true),
544
+ (item.meta)
545
+ ? (openBlock(), createElementBlock("span", _hoisted_31, toDisplayString(item.meta), 1 /* TEXT */))
546
+ : createCommentVNode("v-if", true),
547
+ (item.text)
548
+ ? (openBlock(), createElementBlock("span", _hoisted_32, toDisplayString(item.text), 1 /* TEXT */))
549
+ : createCommentVNode("v-if", true),
550
+ (item.links.length > 0)
551
+ ? (openBlock(), createElementBlock("span", _hoisted_33, [
552
+ createTextVNode(toDisplayString($options.linksLabel) + " ", 1 /* TEXT */),
553
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item.links, (link, linkIndex) => {
554
+ return (openBlock(), createElementBlock(Fragment, {
555
+ key: link.id
556
+ }, [
557
+ (link.to)
558
+ ? (openBlock(), createBlock(_component_router_link, {
559
+ key: 0,
560
+ to: link.to
561
+ }, {
562
+ default: withCtx(() => [
563
+ createTextVNode(toDisplayString(link.label), 1 /* TEXT */)
564
+ ]),
565
+ _: 2 /* DYNAMIC */
566
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["to"]))
567
+ : (openBlock(), createElementBlock("span", _hoisted_34, toDisplayString(link.label), 1 /* TEXT */)),
568
+ (linkIndex < item.links.length - 1)
569
+ ? (openBlock(), createElementBlock("span", _hoisted_35, ", "))
570
+ : createCommentVNode("v-if", true)
571
+ ], 64 /* STABLE_FRAGMENT */))
572
+ }), 128 /* KEYED_FRAGMENT */))
573
+ ]))
591
574
  : createCommentVNode("v-if", true)
592
575
  ]),
593
- (item.pill || item.badges.length > 0)
576
+ (item.pill || item.badges.length > 0 || item.due || item.trailing || item.flag)
594
577
  ? (openBlock(), createElementBlock("span", _hoisted_36, [
578
+ (item.flag)
579
+ ? (openBlock(), createElementBlock("span", _hoisted_37, toDisplayString(item.flag), 1 /* TEXT */))
580
+ : createCommentVNode("v-if", true),
595
581
  (item.pill)
596
582
  ? (openBlock(), createBlock(_component_CnStatusBadge, {
597
- key: 0,
583
+ key: 1,
598
584
  label: item.pill.label,
599
585
  variant: item.pill.variant,
600
586
  size: "small"
@@ -608,82 +594,255 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
608
594
  size: "small",
609
595
  "data-testid": `cn-record-list-badge-${badge.kind}`
610
596
  }, null, 8 /* PROPS */, ["label", "variant", "data-testid"]))
611
- }), 128 /* KEYED_FRAGMENT */))
597
+ }), 128 /* KEYED_FRAGMENT */)),
598
+ (item.due)
599
+ ? (openBlock(), createElementBlock("span", {
600
+ key: 2,
601
+ class: normalizeClass(["cn-record-list__due", [`cn-record-list__due--${item.due.tone}`, { 'cn-record-list__due--soon': item.due.soon }]]),
602
+ "data-testid": "cn-record-list-due"
603
+ }, toDisplayString(item.due.text), 3 /* TEXT, CLASS */))
604
+ : createCommentVNode("v-if", true),
605
+ (item.trailing)
606
+ ? (openBlock(), createElementBlock("span", _hoisted_38, toDisplayString(item.trailing), 1 /* TEXT */))
607
+ : createCommentVNode("v-if", true)
612
608
  ]))
609
+ : createCommentVNode("v-if", true),
610
+ (item.tag !== 'div' && $props.content.chevron !== false)
611
+ ? (openBlock(), createBlock(_component_ChevronRight, {
612
+ key: 4,
613
+ class: "cn-record-list__chevron",
614
+ size: 18,
615
+ "aria-hidden": "true"
616
+ }))
617
+ : createCommentVNode("v-if", true),
618
+ (item.tag === 'div')
619
+ ? (openBlock(true), createElementBlock(Fragment, { key: 5 }, renderList($options.setFieldActions, (action, actionIndex) => {
620
+ return (openBlock(), createElementBlock(Fragment, null, [
621
+ ($options.setFieldDone(action, item.row))
622
+ ? (openBlock(), createElementBlock("span", {
623
+ key: `set-field-done-${actionIndex}`,
624
+ class: "cn-record-list__set-field-done",
625
+ "data-testid": "cn-record-list-set-field-done"
626
+ }, [
627
+ createVNode(_component_Check, {
628
+ size: 14,
629
+ "aria-hidden": "true"
630
+ }),
631
+ createTextVNode(toDisplayString(action.doneLabel), 1 /* TEXT */)
632
+ ]))
633
+ : (openBlock(), createBlock(_component_NcButton, {
634
+ key: `set-field-${actionIndex}`,
635
+ disabled: $data.settingField,
636
+ ariaLabel: $options.fillRow(action.ariaLabel, item.row) || undefined,
637
+ "data-testid": "cn-record-list-set-field",
638
+ onClick: $event => ($options.runSetField(action, item.row))
639
+ }, {
640
+ default: withCtx(() => [
641
+ createTextVNode(toDisplayString(action.label), 1 /* TEXT */)
642
+ ]),
643
+ _: 2 /* DYNAMIC */
644
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["disabled", "ariaLabel", "onClick"]))
645
+ ], 64 /* STABLE_FRAGMENT */))
646
+ }), 256 /* UNKEYED_FRAGMENT */))
647
+ : createCommentVNode("v-if", true),
648
+ (item.tag === 'div' && item.rowActions.length > 0)
649
+ ? (openBlock(), createBlock(_component_NcActions, {
650
+ key: 6,
651
+ "aria-label": $options.rowActionsLabel,
652
+ "data-testid": "cn-record-list-row-actions"
653
+ }, {
654
+ default: withCtx(() => [
655
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item.rowActions, (entry) => {
656
+ return (openBlock(), createElementBlock(Fragment, {
657
+ key: `row-action-${entry.index}`
658
+ }, [
659
+ (entry.href)
660
+ ? (openBlock(), createBlock(_component_NcActionLink, {
661
+ key: 0,
662
+ href: entry.href,
663
+ target: entry.external ? '_blank' : undefined,
664
+ "data-testid": `cn-record-list-row-action-${entry.index}`
665
+ }, {
666
+ default: withCtx(() => [
667
+ createTextVNode(toDisplayString(entry.action.label), 1 /* TEXT */)
668
+ ]),
669
+ _: 2 /* DYNAMIC */
670
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["href", "target", "data-testid"]))
671
+ : (openBlock(), createBlock(_component_NcActionButton, {
672
+ key: 1,
673
+ closeAfterClick: true,
674
+ "data-testid": `cn-record-list-row-action-${entry.index}`,
675
+ onClick: $event => ($options.runRowActionEntry(entry.action, item.row))
676
+ }, {
677
+ default: withCtx(() => [
678
+ createTextVNode(toDisplayString(entry.action.label), 1 /* TEXT */)
679
+ ]),
680
+ _: 2 /* DYNAMIC */
681
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["data-testid", "onClick"]))
682
+ ], 64 /* STABLE_FRAGMENT */))
683
+ }), 128 /* KEYED_FRAGMENT */))
684
+ ]),
685
+ _: 2 /* DYNAMIC */
686
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["aria-label"]))
613
687
  : createCommentVNode("v-if", true)
614
688
  ]),
615
- (item.meta)
616
- ? (openBlock(), createElementBlock("span", _hoisted_37, toDisplayString(item.meta), 1 /* TEXT */))
617
- : createCommentVNode("v-if", true),
618
- (item.trailing)
619
- ? (openBlock(), createElementBlock("span", _hoisted_38, toDisplayString(item.trailing), 1 /* TEXT */))
620
- : createCommentVNode("v-if", true)
621
- ]),
622
- _: 2 /* DYNAMIC */
623
- }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["class"]))
624
- : ($options.presentation === 'feed')
625
- ? (openBlock(), createElementBlock("div", _hoisted_39, [
626
- createElementVNode("span", _hoisted_40, [
627
- createVNode(_component_CnIcon, {
628
- name: item.icon,
629
- size: 18
630
- }, null, 8 /* PROPS */, ["name"])
631
- ]),
632
- (openBlock(), createBlock(resolveDynamicComponent(item.tag), mergeProps({ class: "cn-record-list__main" }, { ref_for: true }, item.attrs), {
689
+ _: 2 /* DYNAMIC */
690
+ }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["class"]))
691
+ : ($options.presentation === 'cards')
692
+ ? (openBlock(), createBlock(resolveDynamicComponent(item.tag), mergeProps({
693
+ key: 2,
694
+ class: ["cn-record-list__card", { 'cn-record-list__card--link': item.tag !== 'div' }]
695
+ }, { ref_for: true }, item.attrs, { "data-testid": "cn-record-list-card" }), {
633
696
  default: withCtx(() => [
697
+ createElementVNode("span", _hoisted_39, [
698
+ createElementVNode("span", _hoisted_40, [
699
+ ($options.cardIcons)
700
+ ? (openBlock(), createBlock(_component_CnIcon, {
701
+ key: 0,
702
+ class: "cn-record-list__card-icon",
703
+ name: item.icon,
704
+ size: 18
705
+ }, null, 8 /* PROPS */, ["name"]))
706
+ : createCommentVNode("v-if", true),
707
+ (item.title)
708
+ ? (openBlock(), createElementBlock("span", _hoisted_41, toDisplayString(item.title), 1 /* TEXT */))
709
+ : createCommentVNode("v-if", true)
710
+ ]),
711
+ (item.pill || item.badges.length > 0)
712
+ ? (openBlock(), createElementBlock("span", _hoisted_42, [
713
+ (item.pill)
714
+ ? (openBlock(), createBlock(_component_CnStatusBadge, {
715
+ key: 0,
716
+ label: item.pill.label,
717
+ variant: item.pill.variant,
718
+ size: "small"
719
+ }, null, 8 /* PROPS */, ["label", "variant"]))
720
+ : createCommentVNode("v-if", true),
721
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item.badges, (badge) => {
722
+ return (openBlock(), createBlock(_component_CnStatusBadge, {
723
+ key: badge.key,
724
+ label: badge.label,
725
+ variant: badge.variant,
726
+ size: "small",
727
+ "data-testid": `cn-record-list-badge-${badge.kind}`
728
+ }, null, 8 /* PROPS */, ["label", "variant", "data-testid"]))
729
+ }), 128 /* KEYED_FRAGMENT */))
730
+ ]))
731
+ : createCommentVNode("v-if", true)
732
+ ]),
634
733
  (item.meta)
635
- ? (openBlock(), createElementBlock("span", _hoisted_41, toDisplayString(item.meta), 1 /* TEXT */))
734
+ ? (openBlock(), createElementBlock("span", _hoisted_43, toDisplayString(item.meta), 1 /* TEXT */))
636
735
  : createCommentVNode("v-if", true),
637
- (item.text)
638
- ? (openBlock(), createElementBlock("span", _hoisted_42, toDisplayString(item.text), 1 /* TEXT */))
736
+ (item.trailing)
737
+ ? (openBlock(), createElementBlock("span", _hoisted_44, toDisplayString(item.trailing), 1 /* TEXT */))
639
738
  : createCommentVNode("v-if", true)
640
739
  ]),
641
740
  _: 2 /* DYNAMIC */
642
- }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */))
643
- ]))
644
- : (openBlock(), createElementBlock("div", _hoisted_43, [
645
- (item.label)
646
- ? (openBlock(), createElementBlock("span", _hoisted_44, toDisplayString(item.label), 1 /* TEXT */))
647
- : createCommentVNode("v-if", true),
648
- (openBlock(), createBlock(resolveDynamicComponent(item.tag), mergeProps({ class: "cn-record-list__inline-title" }, { ref_for: true }, item.attrs), {
649
- default: withCtx(() => [
650
- createTextVNode(toDisplayString(item.title), 1 /* TEXT */)
651
- ]),
652
- _: 2 /* DYNAMIC */
653
- }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */))
654
- ])),
655
- ($options.presentation === 'rows' && item.bar)
656
- ? (openBlock(), createElementBlock("span", {
657
- key: 5,
658
- class: normalizeClass(["cn-record-list__bar", { 'cn-record-list__bar--over': item.bar.over }]),
659
- role: "meter",
660
- "aria-label": item.title || null,
661
- "aria-valuenow": item.bar.value,
662
- "aria-valuemin": "0",
663
- "aria-valuemax": item.bar.max,
664
- "data-testid": "cn-record-list-bar"
665
- }, [
666
- createElementVNode("span", {
667
- class: "cn-record-list__bar-fill",
668
- style: normalizeStyle({ width: `${item.bar.share}%` })
669
- }, null, 4 /* STYLE */)
670
- ], 10 /* CLASS, PROPS */, _hoisted_45))
671
- : createCommentVNode("v-if", true)
672
- ]))
673
- }), 128 /* KEYED_FRAGMENT */))
674
- ], 8 /* PROPS */, _hoisted_12)
741
+ }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["class"]))
742
+ : ($options.presentation === 'feed')
743
+ ? (openBlock(), createElementBlock("div", _hoisted_45, [
744
+ createElementVNode("span", _hoisted_46, [
745
+ createVNode(_component_CnIcon, {
746
+ name: item.icon,
747
+ size: 18
748
+ }, null, 8 /* PROPS */, ["name"])
749
+ ]),
750
+ (openBlock(), createBlock(resolveDynamicComponent(item.tag), mergeProps({ class: "cn-record-list__main" }, { ref_for: true }, item.attrs), {
751
+ default: withCtx(() => [
752
+ (item.meta)
753
+ ? (openBlock(), createElementBlock("span", _hoisted_47, toDisplayString(item.meta), 1 /* TEXT */))
754
+ : createCommentVNode("v-if", true),
755
+ (item.text)
756
+ ? (openBlock(), createElementBlock("span", _hoisted_48, toDisplayString(item.text), 1 /* TEXT */))
757
+ : createCommentVNode("v-if", true)
758
+ ]),
759
+ _: 2 /* DYNAMIC */
760
+ }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */))
761
+ ]))
762
+ : (openBlock(), createElementBlock("div", _hoisted_49, [
763
+ (item.label)
764
+ ? (openBlock(), createElementBlock("span", _hoisted_50, toDisplayString(item.label), 1 /* TEXT */))
765
+ : createCommentVNode("v-if", true),
766
+ (openBlock(), createBlock(resolveDynamicComponent(item.tag), mergeProps({ class: "cn-record-list__inline-title" }, { ref_for: true }, item.attrs), {
767
+ default: withCtx(() => [
768
+ createTextVNode(toDisplayString(item.title), 1 /* TEXT */)
769
+ ]),
770
+ _: 2 /* DYNAMIC */
771
+ }, 1040 /* FULL_PROPS, DYNAMIC_SLOTS */))
772
+ ])),
773
+ ($options.presentation === 'rows' && item.bar)
774
+ ? (openBlock(), createElementBlock("span", {
775
+ key: 5,
776
+ class: normalizeClass(["cn-record-list__bar", { 'cn-record-list__bar--over': item.bar.over }]),
777
+ role: "meter",
778
+ "aria-label": item.title || null,
779
+ "aria-valuenow": item.bar.value,
780
+ "aria-valuemin": "0",
781
+ "aria-valuemax": item.bar.max,
782
+ "data-testid": "cn-record-list-bar"
783
+ }, [
784
+ createElementVNode("span", {
785
+ class: "cn-record-list__bar-fill",
786
+ style: normalizeStyle({ width: `${item.bar.share}%` })
787
+ }, null, 4 /* STYLE */)
788
+ ], 10 /* CLASS, PROPS */, _hoisted_51))
789
+ : createCommentVNode("v-if", true)
790
+ ]))
791
+ }), 128 /* KEYED_FRAGMENT */))
792
+ ], 8 /* PROPS */, _hoisted_18))
793
+ : createCommentVNode("v-if", true)
675
794
  ], 64 /* STABLE_FRAGMENT */))
676
795
  }), 128 /* KEYED_FRAGMENT */)),
677
796
  ($data.actionError)
678
- ? (openBlock(), createElementBlock("p", _hoisted_46, toDisplayString($data.actionError), 1 /* TEXT */))
797
+ ? (openBlock(), createElementBlock("p", _hoisted_52, toDisplayString($data.actionError), 1 /* TEXT */))
679
798
  : createCommentVNode("v-if", true),
680
799
  ($options.footnote && !$data.error && !$options.absent && ($data.rows.length > 0 || $options.footnoteFromAnswer))
681
- ? (openBlock(), createElementBlock("p", _hoisted_47, toDisplayString($options.footnote), 1 /* TEXT */))
800
+ ? (openBlock(), createElementBlock("p", _hoisted_53, toDisplayString($options.footnote), 1 /* TEXT */))
801
+ : createCommentVNode("v-if", true),
802
+ ($options.footerGroupHead && $data.rows.length === 0 && !$data.error && !$data.loading)
803
+ ? (openBlock(), createElementBlock("div", _hoisted_54, [
804
+ createElementVNode("h3", _hoisted_55, toDisplayString($options.footerGroupHead), 1 /* TEXT */),
805
+ createVNode(_component_NcButton, {
806
+ variant: "secondary",
807
+ class: normalizeClass({ 'cn-record-list__action--tonal': $options.footerTonal }),
808
+ disabled: $data.footerDisabled,
809
+ "aria-describedby": $data.footerDisabled && $options.footerAction.reason ? $data.footerReasonId : null,
810
+ "data-testid": "cn-record-list-footer-action",
811
+ onClick: $options.runFooterAction
812
+ }, createSlots({
813
+ default: withCtx(() => [
814
+ createTextVNode(" " + toDisplayString($options.footerAction.label), 1 /* TEXT */)
815
+ ]),
816
+ _: 2 /* DYNAMIC */
817
+ }, [
818
+ ($options.footerAction.icon)
819
+ ? {
820
+ name: "icon",
821
+ fn: withCtx(() => [
822
+ createVNode(_component_CnIcon, {
823
+ name: $options.footerAction.icon,
824
+ size: 16
825
+ }, null, 8 /* PROPS */, ["name"])
826
+ ]),
827
+ key: "0"
828
+ }
829
+ : undefined
830
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "disabled", "aria-describedby", "onClick"])
831
+ ]))
832
+ : createCommentVNode("v-if", true),
833
+ ($options.footerGroup !== '' && $data.footerDisabled && $options.footerAction && $options.footerAction.reason && !$data.error)
834
+ ? (openBlock(), createElementBlock("p", {
835
+ key: 12,
836
+ id: $data.footerReasonId,
837
+ class: "cn-record-list__footer-reason",
838
+ "data-testid": "cn-record-list-footer-reason"
839
+ }, toDisplayString($options.footerAction.reason), 9 /* TEXT, PROPS */, _hoisted_56))
682
840
  : createCommentVNode("v-if", true),
683
- ($options.footerAction && !$data.error)
684
- ? (openBlock(), createElementBlock("div", _hoisted_48, [
841
+ ($options.footerAction && $options.footerGroup === '' && !$data.error)
842
+ ? (openBlock(), createElementBlock("div", _hoisted_57, [
685
843
  createVNode(_component_NcButton, {
686
844
  variant: "secondary",
845
+ class: normalizeClass({ 'cn-record-list__action--tonal': $options.footerTonal }),
687
846
  disabled: $data.footerDisabled,
688
847
  "aria-describedby": $data.footerDisabled && $options.footerAction.reason ? $data.footerReasonId : null,
689
848
  "data-testid": "cn-record-list-footer-action",
@@ -706,14 +865,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
706
865
  key: "0"
707
866
  }
708
867
  : undefined
709
- ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["disabled", "aria-describedby", "onClick"]),
868
+ ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "disabled", "aria-describedby", "onClick"]),
710
869
  ($data.footerDisabled && $options.footerAction.reason)
711
870
  ? (openBlock(), createElementBlock("span", {
712
871
  key: 0,
713
872
  id: $data.footerReasonId,
714
873
  class: "cn-record-list__footer-reason",
715
874
  "data-testid": "cn-record-list-footer-reason"
716
- }, toDisplayString($options.footerAction.reason), 9 /* TEXT, PROPS */, _hoisted_49))
875
+ }, toDisplayString($options.footerAction.reason), 9 /* TEXT, PROPS */, _hoisted_58))
717
876
  : createCommentVNode("v-if", true)
718
877
  ]))
719
878
  : createCommentVNode("v-if", true)