@conduction/nextcloud-vue 2.132.0 → 2.134.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 (107) hide show
  1. package/dist/esm/components/CnActionButtons/CnActionButtons.vue.js +1 -1
  2. package/dist/esm/components/CnActionButtons/CnActionButtons.vue2.js +14 -0
  3. package/dist/esm/components/CnActionButtons/CnActionButtons.vue2.js.map +1 -1
  4. package/dist/esm/components/CnActionButtons/CnActionButtons.vue3.js +5 -4
  5. package/dist/esm/components/CnActionButtons/CnActionButtons.vue3.js.map +1 -1
  6. package/dist/esm/components/CnConditionListEditor/CnConditionListEditor.vue.js +9 -0
  7. package/dist/esm/components/CnConditionListEditor/CnConditionListEditor.vue.js.map +1 -0
  8. package/dist/esm/components/CnConditionListEditor/CnConditionListEditor.vue2.js +237 -0
  9. package/dist/esm/components/CnConditionListEditor/CnConditionListEditor.vue2.js.map +1 -0
  10. package/dist/esm/components/CnConditionListEditor/CnConditionListEditor.vue3.js +103 -0
  11. package/dist/esm/components/CnConditionListEditor/CnConditionListEditor.vue3.js.map +1 -0
  12. package/dist/esm/components/CnConditionListEditor/conditionOperators.js +121 -0
  13. package/dist/esm/components/CnConditionListEditor/conditionOperators.js.map +1 -0
  14. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +12 -0
  15. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
  16. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +1 -1
  17. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
  18. package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue.js +1 -1
  19. package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue2.js +85 -10
  20. package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue2.js.map +1 -1
  21. package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue3.js +60 -36
  22. package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue3.js.map +1 -1
  23. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +8 -1
  24. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  25. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  26. package/dist/esm/components/CnIntegrationWidget/CnIntegrationWidget.vue.js +1 -1
  27. package/dist/esm/components/CnIntegrationWidget/CnIntegrationWidget.vue2.js +10 -0
  28. package/dist/esm/components/CnIntegrationWidget/CnIntegrationWidget.vue2.js.map +1 -1
  29. package/dist/esm/components/CnIntegrationWidget/CnIntegrationWidget.vue3.js.map +1 -1
  30. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue.js +1 -1
  31. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue2.js +46 -7
  32. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue2.js.map +1 -1
  33. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue3.js +1 -1
  34. package/dist/esm/components/CnNcWidgetWidget/CnNcWidgetWidget.vue3.js.map +1 -1
  35. package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue.js +1 -1
  36. package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue2.js +258 -6
  37. package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue2.js.map +1 -1
  38. package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue3.js +283 -131
  39. package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue3.js.map +1 -1
  40. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  41. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +42 -2
  42. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  43. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  44. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue.js +1 -1
  45. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +1 -1
  46. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js.map +1 -1
  47. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js.map +1 -1
  48. package/dist/esm/dialogs/CnPartyAddDialog.vue.js +9 -0
  49. package/dist/esm/dialogs/CnPartyAddDialog.vue.js.map +1 -0
  50. package/dist/esm/dialogs/CnPartyAddDialog.vue2.js +184 -0
  51. package/dist/esm/dialogs/CnPartyAddDialog.vue2.js.map +1 -0
  52. package/dist/esm/dialogs/CnPartyAddDialog.vue3.js +168 -0
  53. package/dist/esm/dialogs/CnPartyAddDialog.vue3.js.map +1 -0
  54. package/dist/esm/index.js +2 -0
  55. package/dist/esm/index.js.map +1 -1
  56. package/dist/esm/l10n/en.json.js +27 -1
  57. package/dist/esm/l10n/en.json.js.map +1 -1
  58. package/dist/esm/l10n/nl.json.js +27 -1
  59. package/dist/esm/l10n/nl.json.js.map +1 -1
  60. package/dist/esm/library-style.js +1 -1
  61. package/dist/esm/nextcloud-vue.css +353 -217
  62. package/dist/esm/store/plugins/liveUpdates.js +13 -4
  63. package/dist/esm/store/plugins/liveUpdates.js.map +1 -1
  64. package/dist/esm/store/useObjectStore.js +28 -5
  65. package/dist/esm/store/useObjectStore.js.map +1 -1
  66. package/dist/esm/utils/detailActionModel.js +6 -0
  67. package/dist/esm/utils/detailActionModel.js.map +1 -1
  68. package/dist/esm/utils/listLenses.js +20 -1
  69. package/dist/esm/utils/listLenses.js.map +1 -1
  70. package/dist/esm/utils/objectParties.js +79 -1
  71. package/dist/esm/utils/objectParties.js.map +1 -1
  72. package/dist/esm/utils/objectRows.js +59 -0
  73. package/dist/esm/utils/objectRows.js.map +1 -0
  74. package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
  75. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  76. package/dist/nextcloud-vue.cjs.js +7460 -5803
  77. package/dist/nextcloud-vue.cjs.js.map +2 -2
  78. package/dist/nextcloud-vue.css +353 -217
  79. package/l10n/en.json +27 -1
  80. package/l10n/nl.json +27 -1
  81. package/package.json +1 -1
  82. package/src/components/CnActionButtons/CnActionButtons.vue +15 -0
  83. package/src/components/CnConditionListEditor/CnConditionListEditor.vue +346 -0
  84. package/src/components/CnConditionListEditor/conditionOperators.js +126 -0
  85. package/src/components/CnConditionListEditor/index.js +17 -0
  86. package/src/components/CnDetailPage/CnDetailPage.md +1 -0
  87. package/src/components/CnDetailPage/CnDetailPage.vue +13 -1
  88. package/src/components/CnFieldListWidget/CnFieldListWidget.vue +105 -12
  89. package/src/components/CnIndexPage/CnIndexPage.vue +8 -1
  90. package/src/components/CnIntegrationWidget/CnIntegrationWidget.vue +10 -0
  91. package/src/components/CnNcWidgetWidget/CnNcWidgetWidget.vue +47 -8
  92. package/src/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue +401 -3
  93. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +42 -2
  94. package/src/components/CnTabsWidget/CnTabsWidget.vue +1 -1
  95. package/src/components/index.js +1 -0
  96. package/src/css/look-board-index.css +6 -0
  97. package/src/css/look-board.css +35 -7
  98. package/src/dialogs/CnPartyAddDialog.vue +309 -0
  99. package/src/index.js +2 -0
  100. package/src/schemas/app-manifest-v2.schema.json +17 -1
  101. package/src/store/plugins/liveUpdates.js +13 -4
  102. package/src/store/useObjectStore.js +28 -5
  103. package/src/utils/detailActionModel.js +6 -0
  104. package/src/utils/listLenses.js +20 -1
  105. package/src/utils/objectParties.js +78 -0
  106. package/src/utils/objectRows.js +55 -0
  107. package/src/utils/validateManifestV2.compiled.js +3 -3
@@ -1,185 +1,337 @@
1
- import { resolveComponent, openBlock, createElementBlock, createBlock, Fragment, createElementVNode, toDisplayString, renderList, createCommentVNode, withCtx, resolveDynamicComponent, createTextVNode, normalizeClass } from 'vue';
1
+ import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, createTextVNode, toDisplayString, createCommentVNode, createBlock, createElementVNode, Fragment, renderList, resolveDynamicComponent, normalizeClass } from 'vue';
2
2
 
3
3
  const _hoisted_1 = {
4
4
  class: "cn-object-parties",
5
5
  "data-testid": "cn-object-parties"
6
6
  };
7
- const _hoisted_2 = ["data-source"];
8
- const _hoisted_3 = { class: "cn-object-parties__accepted-label" };
9
- const _hoisted_4 = {
7
+ const _hoisted_2 = {
10
8
  key: 0,
11
- class: "cn-object-parties__muted"
9
+ class: "cn-object-parties__manage"
10
+ };
11
+ const _hoisted_3 = {
12
+ key: 4,
13
+ class: "cn-object-parties__main-card",
14
+ "data-testid": "cn-object-parties-main-card"
12
15
  };
16
+ const _hoisted_4 = ["data-party"];
13
17
  const _hoisted_5 = {
18
+ class: "cn-object-parties__main-initials",
19
+ "aria-hidden": "true",
20
+ "data-testid": "cn-object-parties-main-initials"
21
+ };
22
+ const _hoisted_6 = { class: "cn-object-parties__main-text" };
23
+ const _hoisted_7 = {
24
+ class: "cn-object-parties__main-name",
25
+ "data-testid": "cn-object-parties-main-name"
26
+ };
27
+ const _hoisted_8 = {
28
+ key: 0,
29
+ class: "cn-object-parties__muted cn-object-parties__main-role",
30
+ "data-testid": "cn-object-parties-main-role"
31
+ };
32
+ const _hoisted_9 = {
33
+ key: 1,
34
+ class: "cn-object-parties__muted",
35
+ "data-testid": "cn-object-parties-main-none"
36
+ };
37
+ const _hoisted_10 = ["href"];
38
+ const _hoisted_11 = ["href"];
39
+ const _hoisted_12 = ["data-source"];
40
+ const _hoisted_13 = { class: "cn-object-parties__accepted-label" };
41
+ const _hoisted_14 = {
42
+ key: 0,
43
+ class: "cn-object-parties__muted"
44
+ };
45
+ const _hoisted_15 = {
14
46
  key: 1,
15
47
  class: "cn-object-parties__verdicts",
16
48
  "data-testid": "cn-object-parties-verdicts"
17
49
  };
18
- const _hoisted_6 = ["data-role", "aria-labelledby"];
19
- const _hoisted_7 = { class: "cn-object-parties__list" };
20
- const _hoisted_8 = ["data-party"];
21
- const _hoisted_9 = { class: "cn-object-parties__name" };
22
- const _hoisted_10 = {
50
+ const _hoisted_16 = ["data-role", "aria-labelledby"];
51
+ const _hoisted_17 = { class: "cn-object-parties__list" };
52
+ const _hoisted_18 = ["data-party"];
53
+ const _hoisted_19 = { class: "cn-object-parties__name" };
54
+ const _hoisted_20 = {
23
55
  key: 0,
24
56
  class: "cn-status-badge cn-status-badge--primary",
25
57
  "data-testid": "cn-object-parties-primary"
26
58
  };
27
- const _hoisted_11 = {
59
+ const _hoisted_21 = {
28
60
  key: 1,
29
61
  class: "cn-object-parties__muted"
30
62
  };
31
- const _hoisted_12 = {
63
+ const _hoisted_22 = {
32
64
  key: 2,
33
65
  class: "cn-status-badge cn-status-badge--warning",
34
66
  "data-testid": "cn-object-parties-not-accepted"
35
67
  };
36
- const _hoisted_13 = {
68
+ const _hoisted_23 = {
37
69
  key: 3,
38
70
  class: "cn-object-parties__muted"
39
71
  };
40
- const _hoisted_14 = {
72
+ const _hoisted_24 = {
41
73
  key: 4,
42
74
  class: "cn-object-parties__muted",
43
75
  "data-testid": "cn-object-parties-represented"
44
76
  };
45
- const _hoisted_15 = ["data-party-documents"];
46
- const _hoisted_16 = ["data-effect", "title"];
77
+ const _hoisted_25 = ["data-party-documents"];
78
+ const _hoisted_26 = ["data-effect", "title"];
47
79
 
48
80
  function render(_ctx, _cache, $props, $setup, $data, $options) {
81
+ const _component_Plus = resolveComponent("Plus");
82
+ const _component_NcButton = resolveComponent("NcButton");
83
+ const _component_NcNoteCard = resolveComponent("NcNoteCard");
49
84
  const _component_NcLoadingIcon = resolveComponent("NcLoadingIcon");
50
85
  const _component_NcEmptyContent = resolveComponent("NcEmptyContent");
51
- const _component_NcNoteCard = resolveComponent("NcNoteCard");
86
+ const _component_EmailOutline = resolveComponent("EmailOutline");
87
+ const _component_TrashCanOutline = resolveComponent("TrashCanOutline");
88
+ const _component_CnPartyAddDialog = resolveComponent("CnPartyAddDialog");
89
+ const _component_CnConfirmDialog = resolveComponent("CnConfirmDialog");
52
90
 
53
91
  return (openBlock(), createElementBlock("div", _hoisted_1, [
92
+ ($options.canAdd)
93
+ ? (openBlock(), createElementBlock("div", _hoisted_2, [
94
+ createVNode(_component_NcButton, {
95
+ "data-testid": "cn-object-parties-add",
96
+ onClick: _cache[0] || (_cache[0] = $event => ($data.adding = true))
97
+ }, {
98
+ icon: withCtx(() => [
99
+ createVNode(_component_Plus, { size: 20 })
100
+ ]),
101
+ default: withCtx(() => [
102
+ createTextVNode(" " + toDisplayString($options.manageWord('add', 'label', $options.t('nextcloud-vue', 'Add a party'))), 1 /* TEXT */)
103
+ ]),
104
+ _: 1 /* STABLE */
105
+ })
106
+ ]))
107
+ : createCommentVNode("v-if", true),
108
+ ($data.manageError)
109
+ ? (openBlock(), createBlock(_component_NcNoteCard, {
110
+ key: 1,
111
+ type: "error",
112
+ role: "alert",
113
+ "data-testid": "cn-object-parties-manage-error"
114
+ }, {
115
+ default: withCtx(() => [
116
+ createTextVNode(toDisplayString($data.manageError), 1 /* TEXT */)
117
+ ]),
118
+ _: 1 /* STABLE */
119
+ }))
120
+ : createCommentVNode("v-if", true),
54
121
  ($data.loading)
55
122
  ? (openBlock(), createBlock(_component_NcLoadingIcon, {
56
- key: 0,
123
+ key: 2,
57
124
  size: 24
58
125
  }))
59
126
  : ($data.failed)
60
127
  ? (openBlock(), createBlock(_component_NcEmptyContent, {
61
- key: 1,
128
+ key: 3,
62
129
  name: $options.label('failed'),
63
130
  description: $options.label('failedDetail'),
64
131
  "data-testid": "cn-object-parties-failed"
65
132
  }, null, 8 /* PROPS */, ["name", "description"]))
66
- : ($options.groups.length === 0)
67
- ? (openBlock(), createBlock(_component_NcEmptyContent, {
68
- key: 2,
69
- name: $options.label('empty'),
70
- description: $options.label('emptyDetail'),
71
- "data-testid": "cn-object-parties-empty"
72
- }, null, 8 /* PROPS */, ["name", "description"]))
73
- : (openBlock(), createElementBlock(Fragment, { key: 3 }, [
74
- ($data.kinds)
133
+ : ($options.isPrimaryPresentation)
134
+ ? (openBlock(), createElementBlock("div", _hoisted_3, [
135
+ ($options.mainParty)
75
136
  ? (openBlock(), createElementBlock("div", {
76
137
  key: 0,
77
- class: "cn-object-parties__accepted",
78
- "data-source": $data.kinds.source,
79
- "data-testid": "cn-object-parties-accepted"
138
+ class: "cn-object-parties__main",
139
+ "data-party": $options.mainParty.partyUuid,
140
+ "data-testid": "cn-object-parties-main"
80
141
  }, [
81
- createElementVNode("span", _hoisted_3, toDisplayString($options.label('accepted')), 1 /* TEXT */),
82
- (openBlock(true), createElementBlock(Fragment, null, renderList($data.kinds.kinds, (kind, index) => {
83
- return (openBlock(), createElementBlock("span", {
84
- key: $options.kindCode(kind),
85
- class: "cn-status-badge cn-status-badge--default cn-object-parties__accepted-kind",
86
- "data-testid": "cn-object-parties-accepted-kind"
87
- }, toDisplayString(index + 1) + ". " + toDisplayString(kind.label || $options.kindCode(kind)), 1 /* TEXT */))
88
- }), 128 /* KEYED_FRAGMENT */)),
89
- ($options.kindsSourceText)
90
- ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString($options.kindsSourceText), 1 /* TEXT */))
91
- : createCommentVNode("v-if", true)
92
- ], 8 /* PROPS */, _hoisted_2))
93
- : createCommentVNode("v-if", true),
94
- ($options.verdicts.length > 0)
95
- ? (openBlock(), createElementBlock("div", _hoisted_5, [
96
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.verdicts, (verdict) => {
97
- return (openBlock(), createBlock(_component_NcNoteCard, {
98
- key: `${verdict.party}-${verdict.key}`,
99
- type: verdict.severity,
100
- "data-effect": verdict.effect,
101
- "data-testid": "cn-object-parties-verdict"
102
- }, {
103
- default: withCtx(() => [
104
- createElementVNode("strong", null, toDisplayString(verdict.label), 1 /* TEXT */),
105
- createElementVNode("span", null, toDisplayString(verdict.sentence), 1 /* TEXT */)
106
- ]),
107
- _: 2 /* DYNAMIC */
108
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["type", "data-effect"]))
109
- }), 128 /* KEYED_FRAGMENT */))
110
- ]))
142
+ createElementVNode("span", _hoisted_5, toDisplayString($options.initialsOf($options.nameOf($options.mainParty))), 1 /* TEXT */),
143
+ createElementVNode("span", _hoisted_6, [
144
+ createElementVNode("strong", _hoisted_7, toDisplayString($options.nameOf($options.mainParty)), 1 /* TEXT */),
145
+ ($options.mainRole)
146
+ ? (openBlock(), createElementBlock("span", _hoisted_8, toDisplayString($options.mainRole), 1 /* TEXT */))
147
+ : createCommentVNode("v-if", true)
148
+ ])
149
+ ], 8 /* PROPS */, _hoisted_4))
150
+ : (openBlock(), createElementBlock("span", _hoisted_9, toDisplayString($options.label('noPrimary')), 1 /* TEXT */)),
151
+ ($options.mainParty && $options.mainParty.email)
152
+ ? (openBlock(), createElementBlock("a", {
153
+ key: 2,
154
+ class: "cn-object-parties__main-email",
155
+ href: `mailto:${$options.mainParty.email}`,
156
+ "data-testid": "cn-object-parties-main-email"
157
+ }, [
158
+ createVNode(_component_EmailOutline, {
159
+ size: 16,
160
+ "aria-hidden": "true"
161
+ }),
162
+ createTextVNode(toDisplayString($options.mainParty.email), 1 /* TEXT */)
163
+ ], 8 /* PROPS */, _hoisted_10))
111
164
  : createCommentVNode("v-if", true),
112
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.groups, (group) => {
113
- return (openBlock(), createElementBlock("section", {
114
- key: group.key,
115
- class: "cn-object-parties__role",
116
- "data-role": group.key,
117
- "aria-labelledby": `${$data.idPrefix}-${group.key}`,
118
- "data-testid": "cn-object-parties-role"
119
- }, [
120
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.innerHeadingTag), {
121
- id: `${$data.idPrefix}-${group.key}`,
122
- class: "cn-object-parties__role-label cn-inner-heading"
123
- }, {
124
- default: withCtx(() => [
125
- createTextVNode(toDisplayString(group.label), 1 /* TEXT */)
126
- ]),
127
- _: 2 /* DYNAMIC */
128
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["id"])),
129
- createElementVNode("ul", _hoisted_7, [
130
- (openBlock(true), createElementBlock(Fragment, null, renderList(group.parties, (party) => {
131
- return (openBlock(), createElementBlock("li", {
132
- key: `${group.key}-${party.partyUuid || party.contactUid}`,
133
- class: "cn-object-parties__party",
134
- "data-party": party.partyUuid || party.contactUid,
135
- "data-testid": "cn-object-parties-party"
136
- }, [
137
- createElementVNode("span", _hoisted_9, toDisplayString($options.nameOf(party)), 1 /* TEXT */),
138
- ($options.primary && party.partyUuid === $options.primary)
139
- ? (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString($options.label('primary')), 1 /* TEXT */))
140
- : createCommentVNode("v-if", true),
141
- ($options.kindOf(party))
142
- ? (openBlock(), createElementBlock("span", _hoisted_11, toDisplayString($options.kindOf(party)), 1 /* TEXT */))
143
- : createCommentVNode("v-if", true),
144
- ($options.notAccepted(party))
145
- ? (openBlock(), createElementBlock("span", _hoisted_12, toDisplayString($options.label('notAccepted')), 1 /* TEXT */))
146
- : createCommentVNode("v-if", true),
147
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.extraLinesOf(party), (line, index) => {
148
- return (openBlock(), createElementBlock("span", {
149
- key: `line-${index}`,
150
- class: "cn-object-parties__muted",
151
- "data-testid": "cn-object-parties-extra-line"
152
- }, toDisplayString(line), 1 /* TEXT */))
153
- }), 128 /* KEYED_FRAGMENT */)),
154
- (party.email)
155
- ? (openBlock(), createElementBlock("span", _hoisted_13, toDisplayString(party.email), 1 /* TEXT */))
156
- : createCommentVNode("v-if", true),
157
- ($options.representedBy(party))
158
- ? (openBlock(), createElementBlock("span", _hoisted_14, toDisplayString($options.label('representedBy')) + ": " + toDisplayString($options.representedBy(party)), 1 /* TEXT */))
159
- : createCommentVNode("v-if", true),
160
- ($options.correspondenceOf(party))
161
- ? (openBlock(), createElementBlock("span", {
162
- key: 5,
165
+ ($options.footLink)
166
+ ? (openBlock(), createElementBlock("a", {
167
+ key: 3,
168
+ class: "cn-object-parties__main-link",
169
+ href: $options.footLink.href,
170
+ "data-testid": "cn-object-parties-main-link"
171
+ }, toDisplayString($options.footLink.label), 9 /* TEXT, PROPS */, _hoisted_11))
172
+ : createCommentVNode("v-if", true)
173
+ ]))
174
+ : ($options.groups.length === 0)
175
+ ? (openBlock(), createBlock(_component_NcEmptyContent, {
176
+ key: 5,
177
+ name: $options.label('empty'),
178
+ description: $options.label('emptyDetail'),
179
+ "data-testid": "cn-object-parties-empty"
180
+ }, null, 8 /* PROPS */, ["name", "description"]))
181
+ : (openBlock(), createElementBlock(Fragment, { key: 6 }, [
182
+ ($data.kinds)
183
+ ? (openBlock(), createElementBlock("div", {
184
+ key: 0,
185
+ class: "cn-object-parties__accepted",
186
+ "data-source": $data.kinds.source,
187
+ "data-testid": "cn-object-parties-accepted"
188
+ }, [
189
+ createElementVNode("span", _hoisted_13, toDisplayString($options.label('accepted')), 1 /* TEXT */),
190
+ (openBlock(true), createElementBlock(Fragment, null, renderList($data.kinds.kinds, (kind, index) => {
191
+ return (openBlock(), createElementBlock("span", {
192
+ key: $options.kindCode(kind),
193
+ class: "cn-status-badge cn-status-badge--default cn-object-parties__accepted-kind",
194
+ "data-testid": "cn-object-parties-accepted-kind"
195
+ }, toDisplayString(index + 1) + ". " + toDisplayString(kind.label || $options.kindCode(kind)), 1 /* TEXT */))
196
+ }), 128 /* KEYED_FRAGMENT */)),
197
+ ($options.kindsSourceText)
198
+ ? (openBlock(), createElementBlock("span", _hoisted_14, toDisplayString($options.kindsSourceText), 1 /* TEXT */))
199
+ : createCommentVNode("v-if", true)
200
+ ], 8 /* PROPS */, _hoisted_12))
201
+ : createCommentVNode("v-if", true),
202
+ ($options.verdicts.length > 0)
203
+ ? (openBlock(), createElementBlock("div", _hoisted_15, [
204
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.verdicts, (verdict) => {
205
+ return (openBlock(), createBlock(_component_NcNoteCard, {
206
+ key: `${verdict.party}-${verdict.key}`,
207
+ type: verdict.severity,
208
+ "data-effect": verdict.effect,
209
+ "data-testid": "cn-object-parties-verdict"
210
+ }, {
211
+ default: withCtx(() => [
212
+ createElementVNode("strong", null, toDisplayString(verdict.label), 1 /* TEXT */),
213
+ createElementVNode("span", null, toDisplayString(verdict.sentence), 1 /* TEXT */)
214
+ ]),
215
+ _: 2 /* DYNAMIC */
216
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["type", "data-effect"]))
217
+ }), 128 /* KEYED_FRAGMENT */))
218
+ ]))
219
+ : createCommentVNode("v-if", true),
220
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.groups, (group) => {
221
+ return (openBlock(), createElementBlock("section", {
222
+ key: group.key,
223
+ class: "cn-object-parties__role",
224
+ "data-role": group.key,
225
+ "aria-labelledby": `${$data.idPrefix}-${group.key}`,
226
+ "data-testid": "cn-object-parties-role"
227
+ }, [
228
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.innerHeadingTag), {
229
+ id: `${$data.idPrefix}-${group.key}`,
230
+ class: "cn-object-parties__role-label cn-inner-heading"
231
+ }, {
232
+ default: withCtx(() => [
233
+ createTextVNode(toDisplayString(group.label), 1 /* TEXT */)
234
+ ]),
235
+ _: 2 /* DYNAMIC */
236
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["id"])),
237
+ createElementVNode("ul", _hoisted_17, [
238
+ (openBlock(true), createElementBlock(Fragment, null, renderList(group.parties, (party) => {
239
+ return (openBlock(), createElementBlock("li", {
240
+ key: `${group.key}-${party.partyUuid || party.contactUid}`,
241
+ class: "cn-object-parties__party",
242
+ "data-party": party.partyUuid || party.contactUid,
243
+ "data-testid": "cn-object-parties-party"
244
+ }, [
245
+ createElementVNode("span", _hoisted_19, toDisplayString($options.nameOf(party)), 1 /* TEXT */),
246
+ ($options.primary && party.partyUuid === $options.primary)
247
+ ? (openBlock(), createElementBlock("span", _hoisted_20, toDisplayString($options.label('primary')), 1 /* TEXT */))
248
+ : createCommentVNode("v-if", true),
249
+ ($options.kindOf(party))
250
+ ? (openBlock(), createElementBlock("span", _hoisted_21, toDisplayString($options.kindOf(party)), 1 /* TEXT */))
251
+ : createCommentVNode("v-if", true),
252
+ ($options.notAccepted(party))
253
+ ? (openBlock(), createElementBlock("span", _hoisted_22, toDisplayString($options.label('notAccepted')), 1 /* TEXT */))
254
+ : createCommentVNode("v-if", true),
255
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.extraLinesOf(party), (line, index) => {
256
+ return (openBlock(), createElementBlock("span", {
257
+ key: `line-${index}`,
163
258
  class: "cn-object-parties__muted",
164
- "data-party-documents": party.partyUuid || party.contactUid,
165
- "data-testid": "cn-object-parties-documents"
166
- }, toDisplayString($options.correspondenceOf(party)), 9 /* TEXT, PROPS */, _hoisted_15))
167
- : createCommentVNode("v-if", true),
168
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.indicatorsFor(party), (indicator) => {
169
- return (openBlock(), createElementBlock("span", {
170
- key: `${party.partyUuid}-${indicator.key}`,
171
- class: normalizeClass(["cn-status-badge cn-status-badge--default", `cn-object-parties__indicator--${indicator.severity}`]),
172
- "data-effect": indicator.effect,
173
- title: indicator.verdict,
174
- "data-testid": "cn-object-parties-indicator"
175
- }, toDisplayString(indicator.label) + " · " + toDisplayString(indicator.verdict), 11 /* TEXT, CLASS, PROPS */, _hoisted_16))
176
- }), 128 /* KEYED_FRAGMENT */))
177
- ], 8 /* PROPS */, _hoisted_8))
178
- }), 128 /* KEYED_FRAGMENT */))
179
- ])
180
- ], 8 /* PROPS */, _hoisted_6))
181
- }), 128 /* KEYED_FRAGMENT */))
182
- ], 64 /* STABLE_FRAGMENT */))
259
+ "data-testid": "cn-object-parties-extra-line"
260
+ }, toDisplayString(line), 1 /* TEXT */))
261
+ }), 128 /* KEYED_FRAGMENT */)),
262
+ (party.email)
263
+ ? (openBlock(), createElementBlock("span", _hoisted_23, toDisplayString(party.email), 1 /* TEXT */))
264
+ : createCommentVNode("v-if", true),
265
+ ($options.representedBy(party))
266
+ ? (openBlock(), createElementBlock("span", _hoisted_24, toDisplayString($options.label('representedBy')) + ": " + toDisplayString($options.representedBy(party)), 1 /* TEXT */))
267
+ : createCommentVNode("v-if", true),
268
+ ($options.correspondenceOf(party))
269
+ ? (openBlock(), createElementBlock("span", {
270
+ key: 5,
271
+ class: "cn-object-parties__muted",
272
+ "data-party-documents": party.partyUuid || party.contactUid,
273
+ "data-testid": "cn-object-parties-documents"
274
+ }, toDisplayString($options.correspondenceOf(party)), 9 /* TEXT, PROPS */, _hoisted_25))
275
+ : createCommentVNode("v-if", true),
276
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.indicatorsFor(party), (indicator) => {
277
+ return (openBlock(), createElementBlock("span", {
278
+ key: `${party.partyUuid}-${indicator.key}`,
279
+ class: normalizeClass(["cn-status-badge cn-status-badge--default", `cn-object-parties__indicator--${indicator.severity}`]),
280
+ "data-effect": indicator.effect,
281
+ title: indicator.verdict,
282
+ "data-testid": "cn-object-parties-indicator"
283
+ }, toDisplayString(indicator.label) + " · " + toDisplayString(indicator.verdict), 11 /* TEXT, CLASS, PROPS */, _hoisted_26))
284
+ }), 128 /* KEYED_FRAGMENT */)),
285
+ ($options.canRemove && party.partyUuid)
286
+ ? (openBlock(), createBlock(_component_NcButton, {
287
+ key: 6,
288
+ class: "cn-object-parties__remove",
289
+ variant: "tertiary",
290
+ "aria-label": $options.removeLabel(party, group),
291
+ title: $options.removeLabel(party, group),
292
+ "data-testid": "cn-object-parties-remove",
293
+ onClick: $event => ($data.removing = { party, group })
294
+ }, {
295
+ icon: withCtx(() => [
296
+ createVNode(_component_TrashCanOutline, { size: 20 })
297
+ ]),
298
+ _: 1 /* STABLE */
299
+ }, 8 /* PROPS */, ["aria-label", "title", "onClick"]))
300
+ : createCommentVNode("v-if", true)
301
+ ], 8 /* PROPS */, _hoisted_18))
302
+ }), 128 /* KEYED_FRAGMENT */))
303
+ ])
304
+ ], 8 /* PROPS */, _hoisted_16))
305
+ }), 128 /* KEYED_FRAGMENT */))
306
+ ], 64 /* STABLE_FRAGMENT */)),
307
+ ($data.adding)
308
+ ? (openBlock(), createBlock(_component_CnPartyAddDialog, {
309
+ key: 7,
310
+ ref: "addDialog",
311
+ dialogTitle: $options.manageWord('add', 'dialogTitle', $options.t('nextcloud-vue', 'Add a party')),
312
+ roles: $options.addRoles,
313
+ sources: $options.addSources,
314
+ createFields: $options.createFields,
315
+ createLabel: $options.manageWord('add', 'createLabel', $options.t('nextcloud-vue', 'Someone new')),
316
+ allowPrimary: $props.content.manage.add.primary === true,
317
+ primaryLabel: $options.label('primary'),
318
+ confirmLabel: $options.manageWord('add', 'confirmLabel', $options.t('nextcloud-vue', 'Add')),
319
+ onClose: _cache[1] || (_cache[1] = $event => ($data.adding = false)),
320
+ onConfirm: $options.addParty
321
+ }, null, 8 /* PROPS */, ["dialogTitle", "roles", "sources", "createFields", "createLabel", "allowPrimary", "primaryLabel", "confirmLabel", "onConfirm"]))
322
+ : createCommentVNode("v-if", true),
323
+ ($data.removing)
324
+ ? (openBlock(), createBlock(_component_CnConfirmDialog, {
325
+ key: 8,
326
+ ref: "removeDialog",
327
+ dialogTitle: $options.manageWord('remove', 'title', $options.t('nextcloud-vue', 'Remove party')),
328
+ message: $options.removeMessage,
329
+ confirmLabel: $options.manageWord('remove', 'confirmLabel', $options.t('nextcloud-vue', 'Remove')),
330
+ variant: "error",
331
+ onClose: _cache[2] || (_cache[2] = $event => ($data.removing = null)),
332
+ onConfirm: $options.removeParty
333
+ }, null, 8 /* PROPS */, ["dialogTitle", "message", "confirmLabel", "onConfirm"]))
334
+ : createCommentVNode("v-if", true)
183
335
  ]))
184
336
  }
185
337