@conduction/nextcloud-vue 2.105.0 → 2.106.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 (153) hide show
  1. package/dist/esm/components/CnCardGrid/CnCardGrid.vue.js +1 -1
  2. package/dist/esm/components/CnCardGrid/CnCardGrid.vue2.js +18 -0
  3. package/dist/esm/components/CnCardGrid/CnCardGrid.vue2.js.map +1 -1
  4. package/dist/esm/components/CnCardGrid/CnCardGrid.vue3.js +3 -1
  5. package/dist/esm/components/CnCardGrid/CnCardGrid.vue3.js.map +1 -1
  6. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue.js +1 -1
  7. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js +18 -0
  8. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js.map +1 -1
  9. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js +1 -1
  10. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js.map +1 -1
  11. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +53 -4
  12. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
  13. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
  14. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue.js +9 -0
  15. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue.js.map +1 -0
  16. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue2.js +24 -0
  17. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue2.js.map +1 -0
  18. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue3.js +49 -0
  19. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue3.js.map +1 -0
  20. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue.js +1 -1
  21. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js +36 -18
  22. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js.map +1 -1
  23. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js +17 -38
  24. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js.map +1 -1
  25. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue.js +1 -1
  26. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue2.js.map +1 -1
  27. package/dist/esm/components/CnFactsWidget/CnFactsWidget.vue3.js.map +1 -1
  28. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue.js +1 -1
  29. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js +53 -2
  30. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js.map +1 -1
  31. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js +119 -111
  32. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js.map +1 -1
  33. package/dist/esm/components/CnFlowRunsWidget/CnFlowRunsWidget.vue.js +1 -1
  34. package/dist/esm/components/CnFlowRunsWidget/CnFlowRunsWidget.vue2.js +62 -1
  35. package/dist/esm/components/CnFlowRunsWidget/CnFlowRunsWidget.vue2.js.map +1 -1
  36. package/dist/esm/components/CnFlowRunsWidget/CnFlowRunsWidget.vue3.js.map +1 -1
  37. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +159 -50
  38. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  39. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +121 -98
  40. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  41. package/dist/esm/components/CnIndexPage/CnIndexPageWidgets.vue.js +1 -1
  42. package/dist/esm/components/CnIndexPage/CnIndexPageWidgets.vue2.js +24 -0
  43. package/dist/esm/components/CnIndexPage/CnIndexPageWidgets.vue2.js.map +1 -1
  44. package/dist/esm/components/CnIndexPage/CnIndexPageWidgets.vue3.js +20 -4
  45. package/dist/esm/components/CnIndexPage/CnIndexPageWidgets.vue3.js.map +1 -1
  46. package/dist/esm/components/CnIndexPage/useSelfFetchList.js +22 -4
  47. package/dist/esm/components/CnIndexPage/useSelfFetchList.js.map +1 -1
  48. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue2.js +112 -1
  49. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue2.js.map +1 -1
  50. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue3.js +100 -44
  51. package/dist/esm/components/CnIndexSidebar/CnIndexSidebar.vue3.js.map +1 -1
  52. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue.js +1 -1
  53. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue2.js +67 -4
  54. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue2.js.map +1 -1
  55. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue3.js +1 -1
  56. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue3.js.map +1 -1
  57. package/dist/esm/components/CnObjectCard/CnObjectCard.vue.js +1 -1
  58. package/dist/esm/components/CnObjectCard/CnObjectCard.vue2.js +295 -12
  59. package/dist/esm/components/CnObjectCard/CnObjectCard.vue2.js.map +1 -1
  60. package/dist/esm/components/CnObjectCard/CnObjectCard.vue3.js +267 -144
  61. package/dist/esm/components/CnObjectCard/CnObjectCard.vue3.js.map +1 -1
  62. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue.js +1 -1
  63. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js +4 -0
  64. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js.map +1 -1
  65. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js +3 -1
  66. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js.map +1 -1
  67. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  68. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +93 -1
  69. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  70. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +322 -246
  71. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  72. package/dist/esm/components/CnRelatedObjectsWidget/CnRelatedObjectsWidget.vue.js +1 -1
  73. package/dist/esm/components/CnRelatedObjectsWidget/CnRelatedObjectsWidget.vue2.js +122 -7
  74. package/dist/esm/components/CnRelatedObjectsWidget/CnRelatedObjectsWidget.vue2.js.map +1 -1
  75. package/dist/esm/components/CnRelatedObjectsWidget/CnRelatedObjectsWidget.vue3.js +189 -93
  76. package/dist/esm/components/CnRelatedObjectsWidget/CnRelatedObjectsWidget.vue3.js.map +1 -1
  77. package/dist/esm/components/CnTabs/CnTabs.vue.js +1 -1
  78. package/dist/esm/components/CnTabs/CnTabs.vue2.js.map +1 -1
  79. package/dist/esm/components/CnTabs/CnTabs.vue3.js.map +1 -1
  80. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue.js +1 -1
  81. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +42 -0
  82. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js.map +1 -1
  83. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js +38 -19
  84. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js.map +1 -1
  85. package/dist/esm/components/CnTeamWorkloadWidget/CnTeamWorkloadWidget.vue.js +9 -0
  86. package/dist/esm/components/CnTeamWorkloadWidget/CnTeamWorkloadWidget.vue.js.map +1 -0
  87. package/dist/esm/components/CnTeamWorkloadWidget/CnTeamWorkloadWidget.vue2.js +258 -0
  88. package/dist/esm/components/CnTeamWorkloadWidget/CnTeamWorkloadWidget.vue2.js.map +1 -0
  89. package/dist/esm/components/CnTeamWorkloadWidget/CnTeamWorkloadWidget.vue3.js +69 -0
  90. package/dist/esm/components/CnTeamWorkloadWidget/CnTeamWorkloadWidget.vue3.js.map +1 -0
  91. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js +12 -0
  92. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js.map +1 -1
  93. package/dist/esm/index.js +1 -0
  94. package/dist/esm/index.js.map +1 -1
  95. package/dist/esm/l10n/en.json.js +21 -1
  96. package/dist/esm/l10n/en.json.js.map +1 -1
  97. package/dist/esm/l10n/nl.json.js +21 -1
  98. package/dist/esm/l10n/nl.json.js.map +1 -1
  99. package/dist/esm/library-style.js +1 -1
  100. package/dist/esm/nextcloud-vue.css +803 -453
  101. package/dist/esm/utils/dueText.js +18 -3
  102. package/dist/esm/utils/dueText.js.map +1 -1
  103. package/dist/esm/utils/libraryWidgetKeys.js +1 -0
  104. package/dist/esm/utils/libraryWidgetKeys.js.map +1 -1
  105. package/dist/esm/utils/sortOrder.js +11 -1
  106. package/dist/esm/utils/sortOrder.js.map +1 -1
  107. package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
  108. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  109. package/dist/nextcloud-vue.cjs.js +8281 -6350
  110. package/dist/nextcloud-vue.cjs.js.map +2 -2
  111. package/dist/nextcloud-vue.css +803 -453
  112. package/l10n/en.json +21 -1
  113. package/l10n/nl.json +21 -1
  114. package/package.json +1 -1
  115. package/src/components/CnCardGrid/CnCardGrid.md +2 -0
  116. package/src/components/CnCardGrid/CnCardGrid.vue +20 -0
  117. package/src/components/CnCellRenderer/CnCellRenderer.vue +19 -1
  118. package/src/components/CnDetailPage/CnDetailPage.md +2 -2
  119. package/src/components/CnDetailPage/CnDetailPage.vue +53 -4
  120. package/src/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue +60 -0
  121. package/src/components/CnDetailWidgetHost/CnDetailWidgetHost.vue +36 -29
  122. package/src/components/CnFactsWidget/CnFactsWidget.vue +4 -0
  123. package/src/components/CnFilesBrowser/CnFilesBrowser.vue +70 -4
  124. package/src/components/CnFlowRunsWidget/CnFlowRunsWidget.vue +62 -1
  125. package/src/components/CnIndexPage/CnIndexPage.md +7 -5
  126. package/src/components/CnIndexPage/CnIndexPage.vue +187 -58
  127. package/src/components/CnIndexPage/CnIndexPageWidgets.vue +36 -1
  128. package/src/components/CnIndexPage/useSelfFetchList.js +22 -4
  129. package/src/components/CnIndexSidebar/CnIndexSidebar.md +2 -0
  130. package/src/components/CnIndexSidebar/CnIndexSidebar.vue +148 -1
  131. package/src/components/CnNcWidgetWidget/CnNcWidgetWidget.vue +68 -5
  132. package/src/components/CnObjectCard/CnObjectCard.md +1 -0
  133. package/src/components/CnObjectCard/CnObjectCard.vue +354 -13
  134. package/src/components/CnObjectSidebar/CnFilesTab.vue +6 -0
  135. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +190 -4
  136. package/src/components/CnRelatedObjectsWidget/CnRelatedObjectsWidget.vue +209 -9
  137. package/src/components/CnTabs/CnTabs.vue +11 -0
  138. package/src/components/CnTabsWidget/CnTabsWidget.vue +91 -18
  139. package/src/components/CnTeamWorkloadWidget/CnTeamWorkloadWidget.md +11 -0
  140. package/src/components/CnTeamWorkloadWidget/CnTeamWorkloadWidget.vue +382 -0
  141. package/src/components/CnTeamWorkloadWidget/index.js +14 -0
  142. package/src/components/CnWidgetGrid/registerDashboardWidgets.js +12 -0
  143. package/src/components/index.js +1 -0
  144. package/src/css/index-page.css +14 -2
  145. package/src/css/look-board-detail.css +48 -4
  146. package/src/css/look-board-index.css +64 -2
  147. package/src/css/look-board.css +25 -2
  148. package/src/index.js +1 -1
  149. package/src/schemas/app-manifest-v2.schema.json +75 -6
  150. package/src/utils/dueText.js +18 -3
  151. package/src/utils/libraryWidgetKeys.js +1 -0
  152. package/src/utils/sortOrder.js +10 -0
  153. package/src/utils/validateManifestV2.compiled.js +3 -3
@@ -1,38 +1,77 @@
1
- import { resolveComponent, openBlock, createElementBlock, normalizeClass, withModifiers, createVNode, createCommentVNode, createElementVNode, Fragment, createTextVNode, toDisplayString, createBlock, renderSlot, renderList, withCtx } from 'vue';
1
+ import { resolveComponent, openBlock, createElementBlock, normalizeClass, withModifiers, createVNode, createCommentVNode, createElementVNode, createBlock, toDisplayString, renderSlot, createTextVNode, Fragment, renderList, withCtx } from 'vue';
2
2
 
3
- const _hoisted_1 = { class: "cn-object-card__content" };
4
- const _hoisted_2 = { class: "cn-object-card__header" };
5
- const _hoisted_3 = ["src", "alt"];
6
- const _hoisted_4 = { class: "cn-object-card__title-area" };
7
- const _hoisted_5 = { class: "cn-object-card__title" };
8
- const _hoisted_6 = ["role", "aria-label", "aria-hidden", "title"];
9
- const _hoisted_7 = {
3
+ const _hoisted_1 = {
4
+ key: 1,
5
+ class: "cn-object-card__content cn-object-card__record",
6
+ "data-testid": "cn-object-card-record"
7
+ };
8
+ const _hoisted_2 = { class: "cn-object-card__record-head" };
9
+ const _hoisted_3 = {
10
+ key: 1,
11
+ class: "cn-object-card__record-number",
12
+ "data-testid": "cn-object-card-number"
13
+ };
14
+ const _hoisted_4 = { class: "cn-object-card__title" };
15
+ const _hoisted_5 = {
10
16
  key: 0,
11
- class: "cn-object-card__description"
17
+ class: "cn-object-card__record-meta",
18
+ "data-testid": "cn-object-card-meta"
12
19
  };
13
- const _hoisted_8 = {
20
+ const _hoisted_6 = {
14
21
  key: 0,
22
+ "aria-hidden": "true"
23
+ };
24
+ const _hoisted_7 = { key: 2 };
25
+ const _hoisted_8 = {
26
+ key: 1,
15
27
  class: "cn-object-card__badges"
16
28
  };
17
- const _hoisted_9 = { class: "cn-object-card__meta-label" };
29
+ const _hoisted_9 = {
30
+ key: 2,
31
+ class: "cn-object-card__record-foot",
32
+ "data-testid": "cn-object-card-foot"
33
+ };
18
34
  const _hoisted_10 = {
35
+ key: 1,
36
+ class: "cn-object-card__record-date",
37
+ "data-testid": "cn-object-card-date"
38
+ };
39
+ const _hoisted_11 = {
40
+ key: 2,
41
+ class: "cn-object-card__content"
42
+ };
43
+ const _hoisted_12 = { class: "cn-object-card__header" };
44
+ const _hoisted_13 = ["src", "alt"];
45
+ const _hoisted_14 = { class: "cn-object-card__title-area" };
46
+ const _hoisted_15 = { class: "cn-object-card__title" };
47
+ const _hoisted_16 = ["role", "aria-label", "aria-hidden", "title"];
48
+ const _hoisted_17 = {
49
+ key: 0,
50
+ class: "cn-object-card__description"
51
+ };
52
+ const _hoisted_18 = {
53
+ key: 0,
54
+ class: "cn-object-card__badges"
55
+ };
56
+ const _hoisted_19 = { class: "cn-object-card__meta-label" };
57
+ const _hoisted_20 = {
19
58
  key: 0,
20
59
  class: "cn-object-card__footer-meta"
21
60
  };
22
61
 
23
62
  function render(_ctx, _cache, $props, $setup, $data, $options) {
24
63
  const _component_NcCheckboxRadioSwitch = resolveComponent("NcCheckboxRadioSwitch");
25
- const _component_CnIcon = resolveComponent("CnIcon");
26
- const _component_CnLockIndicator = resolveComponent("CnLockIndicator");
27
64
  const _component_CnStatusBadge = resolveComponent("CnStatusBadge");
65
+ const _component_CnLockIndicator = resolveComponent("CnLockIndicator");
28
66
  const _component_CnCellRenderer = resolveComponent("CnCellRenderer");
67
+ const _component_CnIcon = resolveComponent("CnIcon");
29
68
  const _component_NcButton = resolveComponent("NcButton");
30
69
 
31
70
  return (openBlock(), createElementBlock("div", {
32
71
  class: normalizeClass(["cn-object-card", [{ 'cn-object-card--selected': $props.selected, 'cn-object-card--board': $options.isBoardLook }, $options.accentVariant && ['cn-object-card--accent', `cn-object-card--accent-${$options.accentVariant}`]]]),
33
- onMousedown: _cache[10] || (_cache[10] = (...args) => ($options.onCardMouseDown && $options.onCardMouseDown(...args))),
34
- onClick: _cache[11] || (_cache[11] = $event => ($options.onCardClick($event))),
35
- onAuxclick: _cache[12] || (_cache[12] = $event => ($options.onCardAuxClick($event)))
72
+ onMousedown: _cache[12] || (_cache[12] = (...args) => ($options.onCardMouseDown && $options.onCardMouseDown(...args))),
73
+ onClick: _cache[13] || (_cache[13] = $event => ($options.onCardClick($event))),
74
+ onAuxclick: _cache[14] || (_cache[14] = $event => ($options.onCardAuxClick($event)))
36
75
  }, [
37
76
  ($props.selectable)
38
77
  ? (openBlock(), createElementBlock("div", {
@@ -47,147 +86,231 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
47
86
  }, null, 8 /* PROPS */, ["modelValue"])
48
87
  ], 32 /* NEED_HYDRATION */))
49
88
  : createCommentVNode("v-if", true),
50
- createElementVNode("div", _hoisted_1, [
51
- createElementVNode("div", _hoisted_2, [
52
- ($options.isBoardLook && $options.leadingKind)
53
- ? (openBlock(), createElementBlock("span", {
54
- key: 0,
55
- class: normalizeClass(["cn-object-card__leading", `cn-object-card__leading--${$options.leadingKind}`]),
56
- "data-testid": "cn-object-card-leading",
57
- "aria-hidden": "true"
58
- }, [
59
- ($options.leadingKind === 'initials')
60
- ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
61
- createTextVNode(toDisplayString($props.leading.initials), 1 /* TEXT */)
62
- ], 64 /* STABLE_FRAGMENT */))
63
- : (openBlock(), createBlock(_component_CnIcon, {
64
- key: 1,
65
- name: $props.leading.icon,
66
- size: 20
67
- }, null, 8 /* PROPS */, ["name"]))
68
- ], 2 /* CLASS */))
69
- : createCommentVNode("v-if", true),
70
- ($options.imageUrl)
71
- ? (openBlock(), createElementBlock("img", {
72
- key: 1,
73
- src: $options.imageUrl,
74
- alt: $options.title,
75
- class: "cn-object-card__image"
76
- }, null, 8 /* PROPS */, _hoisted_3))
77
- : createCommentVNode("v-if", true),
78
- createElementVNode("div", _hoisted_4, [
79
- createElementVNode("h3", _hoisted_5, [
89
+ ($options.recordLayout)
90
+ ? (openBlock(), createElementBlock("div", _hoisted_1, [
91
+ createElementVNode("div", _hoisted_2, [
92
+ ($options.recordHeadPill)
93
+ ? (openBlock(), createBlock(_component_CnStatusBadge, {
94
+ key: 0,
95
+ class: "cn-object-card__record-pill",
96
+ label: $options.recordHeadPill.label,
97
+ variant: $options.recordHeadPill.variant,
98
+ "data-testid": "cn-object-card-head-pill"
99
+ }, null, 8 /* PROPS */, ["label", "variant"]))
100
+ : createCommentVNode("v-if", true),
101
+ ($options.recordNumber)
102
+ ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString($options.recordNumber), 1 /* TEXT */))
103
+ : createCommentVNode("v-if", true),
104
+ (_ctx.$slots.actions)
105
+ ? (openBlock(), createElementBlock("div", {
106
+ key: 2,
107
+ class: "cn-object-card__menu",
108
+ onClick: _cache[3] || (_cache[3] = withModifiers(() => {}, ["stop"])),
109
+ onAuxclick: _cache[4] || (_cache[4] = withModifiers(() => {}, ["stop"]))
110
+ }, [
111
+ renderSlot(_ctx.$slots, "actions", { object: $props.object })
112
+ ], 32 /* NEED_HYDRATION */))
113
+ : createCommentVNode("v-if", true)
114
+ ]),
115
+ createElementVNode("h3", _hoisted_4, [
80
116
  createVNode(_component_CnLockIndicator, {
81
117
  object: $props.object,
82
118
  size: 16
83
119
  }, null, 8 /* PROPS */, ["object"]),
84
- ($options.accentVariant && $props.accent.icon)
120
+ createTextVNode(" " + toDisplayString($options.recordTitle), 1 /* TEXT */)
121
+ ]),
122
+ ($options.recordMetaParts.length > 0)
123
+ ? (openBlock(), createElementBlock("p", _hoisted_5, [
124
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.recordMetaParts, (part, index) => {
125
+ return (openBlock(), createElementBlock(Fragment, {
126
+ key: part.field
127
+ }, [
128
+ (index > 0)
129
+ ? (openBlock(), createElementBlock("span", _hoisted_6, " · "))
130
+ : createCommentVNode("v-if", true),
131
+ (part.column && part.column.widget)
132
+ ? (openBlock(), createBlock(_component_CnCellRenderer, {
133
+ key: 1,
134
+ value: part.value,
135
+ widget: part.column.widget,
136
+ widgetProps: part.column.widgetProps || undefined,
137
+ formatter: part.column.formatter || null,
138
+ formatterOptions: part.column.formatterOptions || null,
139
+ row: $props.object
140
+ }, null, 8 /* PROPS */, ["value", "widget", "widgetProps", "formatter", "formatterOptions", "row"]))
141
+ : (openBlock(), createElementBlock("span", _hoisted_7, toDisplayString(part.text), 1 /* TEXT */))
142
+ ], 64 /* STABLE_FRAGMENT */))
143
+ }), 128 /* KEYED_FRAGMENT */))
144
+ ]))
145
+ : createCommentVNode("v-if", true),
146
+ (_ctx.$slots.badges)
147
+ ? (openBlock(), createElementBlock("div", _hoisted_8, [
148
+ renderSlot(_ctx.$slots, "badges", { object: $props.object })
149
+ ]))
150
+ : createCommentVNode("v-if", true),
151
+ ($options.recordFootPill || $options.recordDate)
152
+ ? (openBlock(), createElementBlock("div", _hoisted_9, [
153
+ ($options.recordFootPill)
154
+ ? (openBlock(), createBlock(_component_CnStatusBadge, {
155
+ key: 0,
156
+ class: "cn-object-card__record-pill",
157
+ label: $options.recordFootPill.label,
158
+ variant: $options.recordFootPill.variant,
159
+ "data-testid": "cn-object-card-foot-pill"
160
+ }, null, 8 /* PROPS */, ["label", "variant"]))
161
+ : createCommentVNode("v-if", true),
162
+ ($options.recordDate)
163
+ ? (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString($options.recordDate), 1 /* TEXT */))
164
+ : createCommentVNode("v-if", true)
165
+ ]))
166
+ : createCommentVNode("v-if", true)
167
+ ]))
168
+ : (openBlock(), createElementBlock("div", _hoisted_11, [
169
+ createElementVNode("div", _hoisted_12, [
170
+ ($options.isBoardLook && $options.leadingKind)
85
171
  ? (openBlock(), createElementBlock("span", {
86
172
  key: 0,
87
- class: "cn-object-card__accent-icon",
88
- "data-testid": "cn-object-card-accent-icon",
89
- role: $props.accent.label ? 'img' : null,
90
- "aria-label": $props.accent.label || null,
91
- "aria-hidden": $props.accent.label ? null : 'true',
92
- title: $props.accent.label || null
173
+ class: normalizeClass(["cn-object-card__leading", `cn-object-card__leading--${$options.leadingKind}`]),
174
+ "data-testid": "cn-object-card-leading",
175
+ "aria-hidden": "true"
93
176
  }, [
94
- createVNode(_component_CnIcon, {
95
- name: $props.accent.icon,
96
- size: 16
97
- }, null, 8 /* PROPS */, ["name"])
98
- ], 8 /* PROPS */, _hoisted_6))
177
+ ($options.leadingKind === 'initials')
178
+ ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
179
+ createTextVNode(toDisplayString($props.leading.initials), 1 /* TEXT */)
180
+ ], 64 /* STABLE_FRAGMENT */))
181
+ : (openBlock(), createBlock(_component_CnIcon, {
182
+ key: 1,
183
+ name: $props.leading.icon,
184
+ size: 20
185
+ }, null, 8 /* PROPS */, ["name"]))
186
+ ], 2 /* CLASS */))
99
187
  : createCommentVNode("v-if", true),
100
- createTextVNode(" " + toDisplayString($options.title), 1 /* TEXT */)
101
- ]),
102
- ($options.description)
103
- ? (openBlock(), createElementBlock("p", _hoisted_7, toDisplayString($options.truncatedDescription), 1 /* TEXT */))
104
- : createCommentVNode("v-if", true)
105
- ]),
106
- ($options.isBoardLook)
107
- ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
108
- ($options.statusPill)
109
- ? (openBlock(), createBlock(_component_CnStatusBadge, {
110
- key: 0,
111
- class: "cn-object-card__status",
112
- label: $options.statusPill.label,
113
- variant: $options.statusPill.variant,
114
- "data-testid": "cn-object-card-status"
115
- }, null, 8 /* PROPS */, ["label", "variant"]))
116
- : (_ctx.$slots.actions)
117
- ? (openBlock(), createElementBlock("div", {
118
- key: 1,
119
- class: "cn-object-card__menu",
120
- onClick: _cache[3] || (_cache[3] = withModifiers(() => {}, ["stop"])),
121
- onAuxclick: _cache[4] || (_cache[4] = withModifiers(() => {}, ["stop"]))
122
- }, [
123
- renderSlot(_ctx.$slots, "actions", { object: $props.object })
124
- ], 32 /* NEED_HYDRATION */))
125
- : createCommentVNode("v-if", true)
126
- ], 64 /* STABLE_FRAGMENT */))
127
- : createCommentVNode("v-if", true)
128
- ]),
129
- (_ctx.$slots.badges)
130
- ? (openBlock(), createElementBlock("div", _hoisted_8, [
131
- renderSlot(_ctx.$slots, "badges", { object: $props.object })
132
- ]))
133
- : createCommentVNode("v-if", true),
134
- ($options.metadataFields.length > 0)
135
- ? (openBlock(), createElementBlock("div", {
136
- key: 1,
137
- class: normalizeClass(["cn-object-card__metadata", { 'cn-object-card__metadata--facts': $options.isBoardLook }])
138
- }, [
139
- renderSlot(_ctx.$slots, "metadata", {
140
- object: $props.object,
141
- fields: $options.metadataFields
142
- }, () => [
143
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.metadataFields, (field) => {
144
- return (openBlock(), createElementBlock("div", {
145
- key: field.key,
146
- class: "cn-object-card__meta-item"
147
- }, [
148
- createElementVNode("span", _hoisted_9, toDisplayString(field.label), 1 /* TEXT */),
149
- createVNode(_component_CnCellRenderer, {
150
- value: field.value,
151
- property: field.property,
152
- truncate: 60
153
- }, null, 8 /* PROPS */, ["value", "property"])
154
- ]))
155
- }), 128 /* KEYED_FRAGMENT */))
156
- ])
157
- ], 2 /* CLASS */))
158
- : createCommentVNode("v-if", true),
159
- ($options.isBoardLook && $props.footerAction)
160
- ? (openBlock(), createElementBlock("div", {
161
- key: 2,
162
- class: "cn-object-card__footer",
163
- "data-testid": "cn-object-card-footer",
164
- onClick: _cache[6] || (_cache[6] = withModifiers(() => {}, ["stop"])),
165
- onAuxclick: _cache[7] || (_cache[7] = withModifiers(() => {}, ["stop"]))
166
- }, [
167
- ($props.footerAction.meta)
168
- ? (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString($props.footerAction.meta), 1 /* TEXT */))
188
+ ($options.imageUrl)
189
+ ? (openBlock(), createElementBlock("img", {
190
+ key: 1,
191
+ src: $options.imageUrl,
192
+ alt: $options.title,
193
+ class: "cn-object-card__image"
194
+ }, null, 8 /* PROPS */, _hoisted_13))
169
195
  : createCommentVNode("v-if", true),
170
- createVNode(_component_NcButton, {
171
- variant: "secondary",
172
- class: "cn-object-card__footer-action",
173
- "data-testid": "cn-object-card-footer-action",
174
- "aria-label": $props.footerAction.ariaLabel || `${$props.footerAction.label} ${$options.title}`,
175
- onClick: _cache[5] || (_cache[5] = $event => (_ctx.$emit('footer-action', $props.object, $props.footerAction)))
176
- }, {
177
- default: withCtx(() => [
178
- createTextVNode(toDisplayString($props.footerAction.label), 1 /* TEXT */)
196
+ createElementVNode("div", _hoisted_14, [
197
+ createElementVNode("h3", _hoisted_15, [
198
+ createVNode(_component_CnLockIndicator, {
199
+ object: $props.object,
200
+ size: 16
201
+ }, null, 8 /* PROPS */, ["object"]),
202
+ ($options.accentVariant && $props.accent.icon)
203
+ ? (openBlock(), createElementBlock("span", {
204
+ key: 0,
205
+ class: "cn-object-card__accent-icon",
206
+ "data-testid": "cn-object-card-accent-icon",
207
+ role: $props.accent.label ? 'img' : null,
208
+ "aria-label": $props.accent.label || null,
209
+ "aria-hidden": $props.accent.label ? null : 'true',
210
+ title: $props.accent.label || null
211
+ }, [
212
+ createVNode(_component_CnIcon, {
213
+ name: $props.accent.icon,
214
+ size: 16
215
+ }, null, 8 /* PROPS */, ["name"])
216
+ ], 8 /* PROPS */, _hoisted_16))
217
+ : createCommentVNode("v-if", true),
218
+ createTextVNode(" " + toDisplayString($options.title), 1 /* TEXT */)
179
219
  ]),
180
- _: 1 /* STABLE */
181
- }, 8 /* PROPS */, ["aria-label"])
182
- ], 32 /* NEED_HYDRATION */))
183
- : createCommentVNode("v-if", true)
184
- ]),
220
+ ($options.description)
221
+ ? (openBlock(), createElementBlock("p", _hoisted_17, toDisplayString($options.truncatedDescription), 1 /* TEXT */))
222
+ : createCommentVNode("v-if", true)
223
+ ]),
224
+ ($options.isBoardLook)
225
+ ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
226
+ ($options.statusPill)
227
+ ? (openBlock(), createBlock(_component_CnStatusBadge, {
228
+ key: 0,
229
+ class: "cn-object-card__status",
230
+ label: $options.statusPill.label,
231
+ variant: $options.statusPill.variant,
232
+ "data-testid": "cn-object-card-status"
233
+ }, null, 8 /* PROPS */, ["label", "variant"]))
234
+ : (_ctx.$slots.actions)
235
+ ? (openBlock(), createElementBlock("div", {
236
+ key: 1,
237
+ class: "cn-object-card__menu",
238
+ onClick: _cache[5] || (_cache[5] = withModifiers(() => {}, ["stop"])),
239
+ onAuxclick: _cache[6] || (_cache[6] = withModifiers(() => {}, ["stop"]))
240
+ }, [
241
+ renderSlot(_ctx.$slots, "actions", { object: $props.object })
242
+ ], 32 /* NEED_HYDRATION */))
243
+ : createCommentVNode("v-if", true)
244
+ ], 64 /* STABLE_FRAGMENT */))
245
+ : createCommentVNode("v-if", true)
246
+ ]),
247
+ (_ctx.$slots.badges)
248
+ ? (openBlock(), createElementBlock("div", _hoisted_18, [
249
+ renderSlot(_ctx.$slots, "badges", { object: $props.object })
250
+ ]))
251
+ : createCommentVNode("v-if", true),
252
+ ($options.metadataFields.length > 0)
253
+ ? (openBlock(), createElementBlock("div", {
254
+ key: 1,
255
+ class: normalizeClass(["cn-object-card__metadata", { 'cn-object-card__metadata--facts': $options.isBoardLook }])
256
+ }, [
257
+ renderSlot(_ctx.$slots, "metadata", {
258
+ object: $props.object,
259
+ fields: $options.metadataFields
260
+ }, () => [
261
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.metadataFields, (field) => {
262
+ return (openBlock(), createElementBlock("div", {
263
+ key: field.key,
264
+ class: "cn-object-card__meta-item"
265
+ }, [
266
+ createElementVNode("span", _hoisted_19, toDisplayString(field.label), 1 /* TEXT */),
267
+ createVNode(_component_CnCellRenderer, {
268
+ value: field.value,
269
+ property: field.property,
270
+ formatter: field.column && field.column.formatter || null,
271
+ formatterOptions: field.column && field.column.formatterOptions || null,
272
+ widget: field.column && field.column.widget || null,
273
+ widgetProps: field.column && field.column.widgetProps || undefined,
274
+ row: $props.object,
275
+ truncate: 60
276
+ }, null, 8 /* PROPS */, ["value", "property", "formatter", "formatterOptions", "widget", "widgetProps", "row"])
277
+ ]))
278
+ }), 128 /* KEYED_FRAGMENT */))
279
+ ])
280
+ ], 2 /* CLASS */))
281
+ : createCommentVNode("v-if", true),
282
+ ($options.isBoardLook && $props.footerAction)
283
+ ? (openBlock(), createElementBlock("div", {
284
+ key: 2,
285
+ class: "cn-object-card__footer",
286
+ "data-testid": "cn-object-card-footer",
287
+ onClick: _cache[8] || (_cache[8] = withModifiers(() => {}, ["stop"])),
288
+ onAuxclick: _cache[9] || (_cache[9] = withModifiers(() => {}, ["stop"]))
289
+ }, [
290
+ ($props.footerAction.meta)
291
+ ? (openBlock(), createElementBlock("span", _hoisted_20, toDisplayString($props.footerAction.meta), 1 /* TEXT */))
292
+ : createCommentVNode("v-if", true),
293
+ createVNode(_component_NcButton, {
294
+ variant: "secondary",
295
+ class: "cn-object-card__footer-action",
296
+ "data-testid": "cn-object-card-footer-action",
297
+ "aria-label": $props.footerAction.ariaLabel || `${$props.footerAction.label} ${$options.title}`,
298
+ onClick: _cache[7] || (_cache[7] = $event => (_ctx.$emit('footer-action', $props.object, $props.footerAction)))
299
+ }, {
300
+ default: withCtx(() => [
301
+ createTextVNode(toDisplayString($props.footerAction.label), 1 /* TEXT */)
302
+ ]),
303
+ _: 1 /* STABLE */
304
+ }, 8 /* PROPS */, ["aria-label"])
305
+ ], 32 /* NEED_HYDRATION */))
306
+ : createCommentVNode("v-if", true)
307
+ ])),
185
308
  (_ctx.$slots.actions && !$options.isBoardLook)
186
309
  ? (openBlock(), createElementBlock("div", {
187
- key: 1,
310
+ key: 3,
188
311
  class: "cn-object-card__actions",
189
- onClick: _cache[8] || (_cache[8] = withModifiers(() => {}, ["stop"])),
190
- onAuxclick: _cache[9] || (_cache[9] = withModifiers(() => {}, ["stop"]))
312
+ onClick: _cache[10] || (_cache[10] = withModifiers(() => {}, ["stop"])),
313
+ onAuxclick: _cache[11] || (_cache[11] = withModifiers(() => {}, ["stop"]))
191
314
  }, [
192
315
  renderSlot(_ctx.$slots, "actions", { object: $props.object })
193
316
  ], 32 /* NEED_HYDRATION */))