@box/activity-feed 1.20.12 → 1.21.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 (44) hide show
  1. package/dist/chunks/TaskItemFooter.js +17 -11
  2. package/dist/chunks/task-delete-confirmation-popover.js +12 -9
  3. package/dist/chunks/task-options-menu.js +15 -5
  4. package/dist/esm/lib/components/task-item/TaskItem.js +48 -37
  5. package/dist/esm/lib/components/task-item/components/task-message/messages.js +4 -0
  6. package/dist/esm/lib/components/task-item/messages.js +12 -0
  7. package/dist/i18n/bn-IN.js +4 -0
  8. package/dist/i18n/da-DK.js +4 -0
  9. package/dist/i18n/de-DE.js +4 -0
  10. package/dist/i18n/en-AU.js +4 -0
  11. package/dist/i18n/en-CA.js +4 -0
  12. package/dist/i18n/en-GB.js +4 -0
  13. package/dist/i18n/en-US.js +4 -0
  14. package/dist/i18n/en-US.properties +8 -0
  15. package/dist/i18n/en-x-pseudo.js +56 -52
  16. package/dist/i18n/en-x-pseudo.properties +52 -52
  17. package/dist/i18n/es-419.js +4 -0
  18. package/dist/i18n/es-ES.js +4 -0
  19. package/dist/i18n/fi-FI.js +4 -0
  20. package/dist/i18n/fr-CA.js +4 -0
  21. package/dist/i18n/fr-FR.js +4 -0
  22. package/dist/i18n/hi-IN.js +4 -0
  23. package/dist/i18n/it-IT.js +4 -0
  24. package/dist/i18n/ja-JP.js +4 -0
  25. package/dist/i18n/json/src/lib/components/task-item/components/task-message/messages.json +1 -1
  26. package/dist/i18n/json/src/lib/components/task-item/messages.json +1 -1
  27. package/dist/i18n/ko-KR.js +4 -0
  28. package/dist/i18n/nb-NO.js +4 -0
  29. package/dist/i18n/nl-NL.js +4 -0
  30. package/dist/i18n/pl-PL.js +4 -0
  31. package/dist/i18n/pt-BR.js +4 -0
  32. package/dist/i18n/ru-RU.js +4 -0
  33. package/dist/i18n/sv-SE.js +4 -0
  34. package/dist/i18n/tr-TR.js +4 -0
  35. package/dist/i18n/zh-CN.js +4 -0
  36. package/dist/i18n/zh-TW.js +4 -0
  37. package/dist/types/lib/components/task-item/TaskItemFooter.d.ts +3 -2
  38. package/dist/types/lib/components/task-item/components/task-message/TaskMessage.d.ts +1 -1
  39. package/dist/types/lib/components/task-item/components/task-message/messages.d.ts +5 -0
  40. package/dist/types/lib/components/task-item/components/task-message/task-delete-confirmation-popover.d.ts +5 -4
  41. package/dist/types/lib/components/task-item/components/task-message/task-options-menu.d.ts +1 -1
  42. package/dist/types/lib/components/task-item/messages.d.ts +15 -0
  43. package/dist/types/lib/components/task-item/types.d.ts +6 -5
  44. package/package.json +9 -9
@@ -17,10 +17,10 @@ import '../styles/TaskItemFooter.css';var l = {
17
17
  approvalApproveIcon: "_approvalApproveIcon_1bak0_58",
18
18
  approvalRejectIcon: "_approvalRejectIcon_1bak0_62"
19
19
  };
20
- function u({ assignees: u, canApprove: d, canReject: f, disabled: p = !1, dueDate: m, hasNextPage: h, onApprove: g, onComplete: _, onLoadAllAssignee: v, onReject: y, showActionButtons: b, showApprovalActions: x, showGeneralComplete: S }) {
21
- let C = i();
20
+ function u({ assignees: u, canApprove: d, canReject: f, disabled: p = !1, dueDate: m, hasNextPage: h, onApprove: g, onComplete: _, onLoadAllAssignee: v, onReject: y, pendingAction: b, showActionButtons: x, showApprovalActions: S, showGeneralComplete: C }) {
21
+ let w = i(), T = b !== void 0;
22
22
  return /* @__PURE__ */ o("div", {
23
- className: b ? l.textMessageFooterSlot : `${l.textMessageFooterSlot} ${l.marginBottom}`,
23
+ className: x ? l.textMessageFooterSlot : `${l.textMessageFooterSlot} ${l.marginBottom}`,
24
24
  children: [
25
25
  !!m && /* @__PURE__ */ a(n, { dueDate: m }),
26
26
  /* @__PURE__ */ a(t, {
@@ -29,16 +29,20 @@ function u({ assignees: u, canApprove: d, canReject: f, disabled: p = !1, dueDat
29
29
  hasNextPage: h,
30
30
  onLoadAllAssignee: v
31
31
  }),
32
- b && /* @__PURE__ */ o("div", { children: [S && /* @__PURE__ */ a(r, {
33
- disabled: p,
32
+ x && /* @__PURE__ */ o("div", { children: [C && /* @__PURE__ */ a(r, {
33
+ disabled: p || T && b !== "complete",
34
+ loading: b === "complete",
35
+ loadingAriaLabel: w.formatMessage(e.taskCompleteActionLoading),
34
36
  onClick: _,
35
37
  size: "small",
36
38
  variant: "primary",
37
- children: C.formatMessage(e.taskCompleteAction)
38
- }), x && /* @__PURE__ */ o("div", {
39
+ children: w.formatMessage(e.taskCompleteAction)
40
+ }), S && /* @__PURE__ */ o("div", {
39
41
  className: l.approvalActionsRow,
40
42
  children: [/* @__PURE__ */ a(r, {
41
- disabled: p || !d,
43
+ disabled: p || !d || T && b !== "approve",
44
+ loading: b === "approve",
45
+ loadingAriaLabel: w.formatMessage(e.taskApproveActionLoading),
42
46
  onClick: g,
43
47
  size: "small",
44
48
  startIcon: () => /* @__PURE__ */ a(s, {
@@ -47,9 +51,11 @@ function u({ assignees: u, canApprove: d, canReject: f, disabled: p = !1, dueDat
47
51
  }),
48
52
  type: "button",
49
53
  variant: "secondary",
50
- children: C.formatMessage(e.taskApproveAction)
54
+ children: w.formatMessage(e.taskApproveAction)
51
55
  }), /* @__PURE__ */ a(r, {
52
- disabled: p || !f,
56
+ disabled: p || !f || T && b !== "reject",
57
+ loading: b === "reject",
58
+ loadingAriaLabel: w.formatMessage(e.taskRejectActionLoading),
53
59
  onClick: y,
54
60
  size: "small",
55
61
  startIcon: () => /* @__PURE__ */ a(c, {
@@ -58,7 +64,7 @@ function u({ assignees: u, canApprove: d, canReject: f, disabled: p = !1, dueDat
58
64
  }),
59
65
  type: "button",
60
66
  variant: "secondary",
61
- children: C.formatMessage(e.taskRejectAction)
67
+ children: w.formatMessage(e.taskRejectAction)
62
68
  })]
63
69
  })] })
64
70
  ]
@@ -8,39 +8,42 @@ import '../styles/task-delete-confirmation-popover.css';var s = {
8
8
  deletePopover: "_deletePopover_2wpp6_3",
9
9
  footer: "_footer_2wpp6_25"
10
10
  };
11
- function c({ open: c, onOpenChange: l, onConfirm: u, onCancel: d }) {
12
- let f = i();
11
+ function c({ confirming: c = !1, onCancel: l, onConfirm: u, onOpenChange: d, open: f }) {
12
+ let p = i();
13
13
  return /* @__PURE__ */ a("div", {
14
14
  className: s.deletePopoverAnchorWrapper,
15
15
  children: /* @__PURE__ */ o(n.Root, {
16
16
  modal: !1,
17
- onOpenChange: l,
18
- open: c,
17
+ onOpenChange: d,
18
+ open: f,
19
19
  children: [/* @__PURE__ */ a(n.Anchor, { children: /* @__PURE__ */ a(r, {
20
20
  as: "span",
21
21
  className: s.deletePopoverAnchor
22
22
  }) }), /* @__PURE__ */ o(n.ContentContainer, {
23
23
  align: "end",
24
- "aria-label": f.formatMessage(e.deleteTaskConfirmationDialogAriaLabel),
24
+ "aria-label": p.formatMessage(e.deleteTaskConfirmationDialogAriaLabel),
25
25
  className: s.deletePopover,
26
26
  side: "bottom",
27
27
  children: [/* @__PURE__ */ a(n.MainContent, { children: /* @__PURE__ */ a(r, {
28
28
  as: "p",
29
29
  color: "textOnLightDefault",
30
30
  variant: "bodyDefault",
31
- children: f.formatMessage(e.deleteTaskConfirmationBody)
31
+ children: p.formatMessage(e.deleteTaskConfirmationBody)
32
32
  }) }), /* @__PURE__ */ o(n.Footer, {
33
33
  className: s.footer,
34
34
  children: [/* @__PURE__ */ a(t, {
35
- onClick: d,
35
+ disabled: c,
36
+ onClick: l,
36
37
  size: "small",
37
38
  variant: "secondary",
38
- children: f.formatMessage(e.deleteTaskConfirmationCancel)
39
+ children: p.formatMessage(e.deleteTaskConfirmationCancel)
39
40
  }), /* @__PURE__ */ a(t, {
41
+ loading: c,
42
+ loadingAriaLabel: p.formatMessage(e.deleteTaskConfirmationConfirmLoading),
40
43
  onClick: u,
41
44
  size: "small",
42
45
  variant: "destructive",
43
- children: f.formatMessage(e.deleteTaskConfirmationConfirm)
46
+ children: p.formatMessage(e.deleteTaskConfirmationConfirm)
44
47
  })]
45
48
  })]
46
49
  })]
@@ -9,7 +9,7 @@ import { Ellipsis as d, InformationCircle as f, Pencil as p, Trash as m } from "
9
9
  import { bpTextTextDestructiveOnLight as h } from "@box/blueprint-web-assets/tokens/tokens";
10
10
  import '../styles/task-options-menu.css';var g = { shell: "_shell_zywke_2" };
11
11
  function _({ canDelete: _ = !0, canEdit: v = !0, disabled: y, onEdit: b, onDelete: x, onView: S, onOpenChange: C }) {
12
- let { formatMessage: w } = c(), [T, E] = i(!1), [D, O] = i(!1);
12
+ let { formatMessage: w } = c(), [T, E] = i(!1), [D, O] = i(!1), [k, A] = i(!1);
13
13
  return r(() => {
14
14
  C?.(T || D);
15
15
  }, [
@@ -51,13 +51,23 @@ function _({ canDelete: _ = !0, canEdit: v = !0, disabled: y, onEdit: b, onDelet
51
51
  ]
52
52
  })]
53
53
  }), _ && x && /* @__PURE__ */ l(n, {
54
+ confirming: k,
54
55
  onCancel: () => {
55
- O(!1);
56
+ k || O(!1);
56
57
  },
57
- onConfirm: () => {
58
- x?.(), O(!1);
58
+ onConfirm: async () => {
59
+ if (!(!x || k)) {
60
+ A(!0);
61
+ try {
62
+ await x();
63
+ } catch {} finally {
64
+ A(!1), O(!1);
65
+ }
66
+ }
67
+ },
68
+ onOpenChange: (e) => {
69
+ !e && k || O(e);
59
70
  },
60
- onOpenChange: O,
61
71
  open: D
62
72
  })]
63
73
  });
@@ -3,33 +3,43 @@ import { t as r } from "../../../../chunks/TaskMessage.js";
3
3
  import i from "./messages.js";
4
4
  import { t as a } from "../../../../chunks/TaskState.js";
5
5
  import { n as o, t as s } from "../../../../chunks/TaskItemFooter.js";
6
- import { taskAuthorToTaskMessageAuthor as c, taskDescriptionToDocument as l } from "./utils/task-item-helpers.js";
6
+ import { taskAuthorToTaskMessageAuthor as ee, taskDescriptionToDocument as c } from "./utils/task-item-helpers.js";
7
+ import { useState as l } from "react";
7
8
  import { Card as u, Text as d } from "@box/blueprint-web";
8
9
  import { useIntl as f } from "react-intl";
9
10
  import { jsx as p, jsxs as m } from "react/jsx-runtime";
10
11
  import { Stamp as h, Tasks as g } from "@box/blueprint-web-assets/icons/Medium";
11
- function _({ assignees: _, author: v, completedAt: y, completionRule: b, createdAt: x, currentUserId: S, description: C, disabled: w = !1, dueDate: T, fileCount: E, getAvatarUrl: D, hasNextPage: O, id: k, managedBy: A, onApprove: j, onComplete: M, onDelete: N, onEdit: P, onLoadAllAssignee: F, onReject: I, onView: L, permissions: R, status: z, taskType: B }) {
12
- let V = f(), H = z === e.COMPLETED || z === e.APPROVED || z === e.REJECTED, U = S ? _.find((e) => e.id === S) : void 0, W = !!(!H && U && U.permissions?.canUpdate && U.status === e.NOT_STARTED), G = () => {
13
- M?.(k);
12
+ function _({ assignees: _, author: v, completedAt: y, completionRule: te, createdAt: b, currentUserId: x, description: S, disabled: C = !1, dueDate: w, fileCount: T, getAvatarUrl: E, hasNextPage: D, id: O, managedBy: ne, onApprove: k, onComplete: A, onDelete: j, onEdit: M, onLoadAllAssignee: N, onReject: P, onView: F, permissions: I, status: L, taskType: R }) {
13
+ let z = f(), B = L === e.COMPLETED || L === e.APPROVED || L === e.REJECTED, V = x ? _.find((e) => e.id === x) : void 0, H = !!(!B && V && V.permissions?.canUpdate && V.status === e.NOT_STARTED), [U, W] = l(void 0), G = async (e, t) => {
14
+ if (!(!t || U)) {
15
+ W(e);
16
+ try {
17
+ await t(O);
18
+ } catch {} finally {
19
+ W(void 0);
20
+ }
21
+ }
14
22
  }, K = () => {
15
- j?.(k);
23
+ G("complete", A);
16
24
  }, q = () => {
17
- I?.(k);
18
- }, J = (E ?? 1) > 1, Y = (J || (A?.entries?.length ?? 0) > 0) && !!L, X = !J && B === t.GENERAL && W && !!M, Z = !J && B === t.APPROVAL && W && !!(j || I), Q = l(C), $ = c(v, D), ee = R ? R.canDelete : !!N, te = R ? R.canUpdate : !!P, ne = X || Z, re = /* @__PURE__ */ p(a, {
19
- completedAt: y ?? x,
20
- showCount: b === n.ALL_ASSIGNEES && !O,
25
+ G("approve", k);
26
+ }, J = () => {
27
+ G("reject", P);
28
+ }, Y = j ? () => G("delete", j) : void 0, X = (T ?? 1) > 1, Z = (X || (ne?.entries?.length ?? 0) > 0) && !!F, Q = !X && R === t.GENERAL && H && !!A, $ = !X && R === t.APPROVAL && H && !!(k || P), re = c(S), ie = ee(v, E), ae = I ? I.canDelete : !!j, oe = I ? I.canUpdate : !!M, se = Q || $, ce = U !== void 0, le = /* @__PURE__ */ p(a, {
29
+ completedAt: y ?? b,
30
+ showCount: te === n.ALL_ASSIGNEES && !D,
21
31
  totalCount: _.length,
22
- variant: z
32
+ variant: L
23
33
  });
24
34
  return /* @__PURE__ */ m(u, {
25
35
  className: o.taskItem,
26
- "data-task-id": k,
36
+ "data-task-id": O,
27
37
  "data-testid": "task-item",
28
38
  children: [/* @__PURE__ */ p("div", {
29
39
  className: o.header,
30
40
  children: /* @__PURE__ */ m("div", {
31
41
  className: o.headerTitleRow,
32
- children: [B === t.APPROVAL ? /* @__PURE__ */ p(h, {
42
+ children: [R === t.APPROVAL ? /* @__PURE__ */ p(h, {
33
43
  "aria-hidden": !0,
34
44
  className: o.headerLeadingIcon,
35
45
  color: "currentColor"
@@ -40,39 +50,40 @@ function _({ assignees: _, author: v, completedAt: y, completionRule: b, created
40
50
  }), /* @__PURE__ */ p(d, {
41
51
  as: "h4",
42
52
  variant: "bodyDefaultSemibold",
43
- children: V.formatMessage(B === t.APPROVAL ? i.approvalTaskLabel : i.taskLabel)
53
+ children: z.formatMessage(R === t.APPROVAL ? i.approvalTaskLabel : i.taskLabel)
44
54
  })]
45
55
  })
46
56
  }), /* @__PURE__ */ m("div", {
47
57
  className: o.cardBody,
48
58
  children: [/* @__PURE__ */ p(r, {
49
- author: $,
50
- canDelete: !w && ee,
51
- canEdit: !w && te,
52
- createdAt: x,
53
- disabled: w,
54
- id: k,
55
- message: Q,
56
- onDelete: N,
57
- onEdit: P,
58
- onView: Y ? L : void 0,
59
- showThreadedIndicator: H,
59
+ author: ie,
60
+ canDelete: !C && ae,
61
+ canEdit: !C && oe,
62
+ createdAt: b,
63
+ disabled: C || ce,
64
+ id: O,
65
+ message: re,
66
+ onDelete: Y,
67
+ onEdit: M,
68
+ onView: Z ? F : void 0,
69
+ showThreadedIndicator: B,
60
70
  children: /* @__PURE__ */ p(s, {
61
71
  assignees: _,
62
- canApprove: !!j,
63
- canReject: !!I,
64
- disabled: w,
65
- dueDate: T,
66
- hasNextPage: O,
67
- onApprove: K,
68
- onComplete: G,
69
- onLoadAllAssignee: F,
70
- onReject: q,
71
- showActionButtons: ne,
72
- showApprovalActions: Z,
73
- showGeneralComplete: X
72
+ canApprove: !!k,
73
+ canReject: !!P,
74
+ disabled: C,
75
+ dueDate: w,
76
+ hasNextPage: D,
77
+ onApprove: q,
78
+ onComplete: K,
79
+ onLoadAllAssignee: N,
80
+ onReject: J,
81
+ pendingAction: U,
82
+ showActionButtons: se,
83
+ showApprovalActions: $,
84
+ showGeneralComplete: Q
74
85
  })
75
- }), re]
86
+ }), le]
76
87
  })]
77
88
  });
78
89
  }
@@ -19,6 +19,10 @@ var t = e({
19
19
  deleteTaskConfirmationConfirm: {
20
20
  id: "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirm",
21
21
  defaultMessage: "Delete"
22
+ },
23
+ deleteTaskConfirmationConfirmLoading: {
24
+ id: "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirmLoading",
25
+ defaultMessage: "Deleting"
22
26
  }
23
27
  });
24
28
  export { t as default };
@@ -20,14 +20,26 @@ var t = e({
20
20
  id: "groupSharedFeatures.activityFeed.taskCard.taskCompleteAction",
21
21
  defaultMessage: "Mark as Complete"
22
22
  },
23
+ taskCompleteActionLoading: {
24
+ id: "groupSharedFeatures.activityFeed.taskCard.taskCompleteActionLoading",
25
+ defaultMessage: "Marking as complete"
26
+ },
23
27
  taskApproveAction: {
24
28
  id: "groupSharedFeatures.activityFeed.taskCard.taskApproveAction",
25
29
  defaultMessage: "Approve"
26
30
  },
31
+ taskApproveActionLoading: {
32
+ id: "groupSharedFeatures.activityFeed.taskCard.taskApproveActionLoading",
33
+ defaultMessage: "Approving"
34
+ },
27
35
  taskRejectAction: {
28
36
  id: "groupSharedFeatures.activityFeed.taskCard.taskRejectAction",
29
37
  defaultMessage: "Reject"
30
38
  },
39
+ taskRejectActionLoading: {
40
+ id: "groupSharedFeatures.activityFeed.taskCard.taskRejectActionLoading",
41
+ defaultMessage: "Rejecting"
42
+ },
31
43
  taskViewDetailsAction: {
32
44
  id: "groupSharedFeatures.activityFeed.taskCard.taskViewDetailsAction",
33
45
  defaultMessage: "View Task Details"
@@ -24,6 +24,7 @@ export default {
24
24
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationBody": "এই কাজ/টাস্ক মুছবেন? এই পদক্ষেপটি আগের অবস্থায় ফেরানো যাবে না।",
25
25
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationCancel": "বাতিল করুন",
26
26
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirm": "মুছুন",
27
+ "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirmLoading": "Deleting",
27
28
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationDialogAriaLabel": "কাজের নিশ্চিতকরণ মুছুন",
28
29
  "groupSharedFeatures.activityFeed.taskCard.loadAssigneesError": "অ্যাসাইনিকে লোড করা যায়নি। আবার চেষ্টা করুন।",
29
30
  "groupSharedFeatures.activityFeed.taskCard.loadingAssignees": "লোড করা হচ্ছে…",
@@ -33,12 +34,15 @@ export default {
33
34
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssignees": "আরও {count}টি দেখান",
34
35
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssigneesApproximate": "আরও {count}টি দেখান",
35
36
  "groupSharedFeatures.activityFeed.taskCard.taskApproveAction": "অনুমোদন করুন",
37
+ "groupSharedFeatures.activityFeed.taskCard.taskApproveActionLoading": "Approving",
36
38
  "groupSharedFeatures.activityFeed.taskCard.taskCompleteAction": "সম্পূর্ণ হিসাবে চিহ্নিত করুন",
39
+ "groupSharedFeatures.activityFeed.taskCard.taskCompleteActionLoading": "Marking as complete",
37
40
  "groupSharedFeatures.activityFeed.taskCard.taskDeleteMenuItem": "কাজ মুছুন",
38
41
  "groupSharedFeatures.activityFeed.taskCard.taskDueDateLabel": "{monthDay} এর কারণে {time}",
39
42
  "groupSharedFeatures.activityFeed.taskCard.taskEditMenuItem": "কার্য সংশোধন করুন",
40
43
  "groupSharedFeatures.activityFeed.taskCard.taskLabel": "কাজ",
41
44
  "groupSharedFeatures.activityFeed.taskCard.taskRejectAction": "প্রত্যাখ্যান করুন",
45
+ "groupSharedFeatures.activityFeed.taskCard.taskRejectActionLoading": "Rejecting",
42
46
  "groupSharedFeatures.activityFeed.taskCard.taskViewDetailsAction": "কার্যের বিশদ দেখুন",
43
47
  "groupSharedFeatures.activityFeed.taskState.approvedHeadline": "অনুমোদিত",
44
48
  "groupSharedFeatures.activityFeed.taskState.completedCountParenthetical": "({totalCount} এর {completedCount} )",
@@ -24,6 +24,7 @@ export default {
24
24
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationBody": "Slet denne opgave? Denne handling kan ikke fortrydes.",
25
25
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationCancel": "Annuller",
26
26
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirm": "Slet",
27
+ "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirmLoading": "Deleting",
27
28
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationDialogAriaLabel": "Slet opgavebekræftelse",
28
29
  "groupSharedFeatures.activityFeed.taskCard.loadAssigneesError": "Kunne ikke indlæse modtagere. Prøv igen.",
29
30
  "groupSharedFeatures.activityFeed.taskCard.loadingAssignees": "Indlæser…",
@@ -33,12 +34,15 @@ export default {
33
34
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssignees": "Vis {count} mere",
34
35
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssigneesApproximate": "Vis {count}+ mere",
35
36
  "groupSharedFeatures.activityFeed.taskCard.taskApproveAction": "Godkend",
37
+ "groupSharedFeatures.activityFeed.taskCard.taskApproveActionLoading": "Approving",
36
38
  "groupSharedFeatures.activityFeed.taskCard.taskCompleteAction": "Markér som fuldført",
39
+ "groupSharedFeatures.activityFeed.taskCard.taskCompleteActionLoading": "Marking as complete",
37
40
  "groupSharedFeatures.activityFeed.taskCard.taskDeleteMenuItem": "Slet opgave",
38
41
  "groupSharedFeatures.activityFeed.taskCard.taskDueDateLabel": "Forfalder {monthDay} {time}",
39
42
  "groupSharedFeatures.activityFeed.taskCard.taskEditMenuItem": "Rediger opgave",
40
43
  "groupSharedFeatures.activityFeed.taskCard.taskLabel": "Opgave",
41
44
  "groupSharedFeatures.activityFeed.taskCard.taskRejectAction": "Afvis",
45
+ "groupSharedFeatures.activityFeed.taskCard.taskRejectActionLoading": "Rejecting",
42
46
  "groupSharedFeatures.activityFeed.taskCard.taskViewDetailsAction": "Vis opgavedetaljer",
43
47
  "groupSharedFeatures.activityFeed.taskState.approvedHeadline": "Godkendt",
44
48
  "groupSharedFeatures.activityFeed.taskState.completedCountParenthetical": "({completedCount} af {totalCount})",
@@ -24,6 +24,7 @@ export default {
24
24
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationBody": "Diese Aufgabe löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
25
25
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationCancel": "Abbrechen",
26
26
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirm": "löschen",
27
+ "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirmLoading": "Deleting",
27
28
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationDialogAriaLabel": "Bestätigung: Aufgabe löschen",
28
29
  "groupSharedFeatures.activityFeed.taskCard.loadAssigneesError": "Beauftragte konnten nicht geladen werden. Versuchen Sie es erneut.",
29
30
  "groupSharedFeatures.activityFeed.taskCard.loadingAssignees": "Wird geladen …",
@@ -33,12 +34,15 @@ export default {
33
34
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssignees": "{count} weitere anzeigen",
34
35
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssigneesApproximate": "{count}+ weitere anzeigen",
35
36
  "groupSharedFeatures.activityFeed.taskCard.taskApproveAction": "Genehmigen",
37
+ "groupSharedFeatures.activityFeed.taskCard.taskApproveActionLoading": "Approving",
36
38
  "groupSharedFeatures.activityFeed.taskCard.taskCompleteAction": "Als abgeschlossen markieren",
39
+ "groupSharedFeatures.activityFeed.taskCard.taskCompleteActionLoading": "Marking as complete",
37
40
  "groupSharedFeatures.activityFeed.taskCard.taskDeleteMenuItem": "Aufgabe löschen",
38
41
  "groupSharedFeatures.activityFeed.taskCard.taskDueDateLabel": "{monthDay} fällig {time}",
39
42
  "groupSharedFeatures.activityFeed.taskCard.taskEditMenuItem": "Aufgabe ändern",
40
43
  "groupSharedFeatures.activityFeed.taskCard.taskLabel": "Aufgabe",
41
44
  "groupSharedFeatures.activityFeed.taskCard.taskRejectAction": "ablehnen",
45
+ "groupSharedFeatures.activityFeed.taskCard.taskRejectActionLoading": "Rejecting",
42
46
  "groupSharedFeatures.activityFeed.taskCard.taskViewDetailsAction": "Aufgabendetails anzeigen",
43
47
  "groupSharedFeatures.activityFeed.taskState.approvedHeadline": "genehmigt",
44
48
  "groupSharedFeatures.activityFeed.taskState.completedCountParenthetical": "({completedCount} von {totalCount})",
@@ -24,6 +24,7 @@ export default {
24
24
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationBody": "Delete this task? This action can’t be undone.",
25
25
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationCancel": "Cancel",
26
26
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirm": "Delete",
27
+ "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirmLoading": "Deleting",
27
28
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationDialogAriaLabel": "Delete task confirmation",
28
29
  "groupSharedFeatures.activityFeed.taskCard.loadAssigneesError": "Failed to load assignees. Try again.",
29
30
  "groupSharedFeatures.activityFeed.taskCard.loadingAssignees": "Loading…",
@@ -33,12 +34,15 @@ export default {
33
34
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssignees": "Show {count} More",
34
35
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssigneesApproximate": "Show {count}+ More",
35
36
  "groupSharedFeatures.activityFeed.taskCard.taskApproveAction": "Approve",
37
+ "groupSharedFeatures.activityFeed.taskCard.taskApproveActionLoading": "Approving",
36
38
  "groupSharedFeatures.activityFeed.taskCard.taskCompleteAction": "Mark as Complete",
39
+ "groupSharedFeatures.activityFeed.taskCard.taskCompleteActionLoading": "Marking as complete",
37
40
  "groupSharedFeatures.activityFeed.taskCard.taskDeleteMenuItem": "Delete task",
38
41
  "groupSharedFeatures.activityFeed.taskCard.taskDueDateLabel": "Due {monthDay} {time}",
39
42
  "groupSharedFeatures.activityFeed.taskCard.taskEditMenuItem": "Modify task",
40
43
  "groupSharedFeatures.activityFeed.taskCard.taskLabel": "Task",
41
44
  "groupSharedFeatures.activityFeed.taskCard.taskRejectAction": "Reject",
45
+ "groupSharedFeatures.activityFeed.taskCard.taskRejectActionLoading": "Rejecting",
42
46
  "groupSharedFeatures.activityFeed.taskCard.taskViewDetailsAction": "View Task Details",
43
47
  "groupSharedFeatures.activityFeed.taskState.approvedHeadline": "Approved",
44
48
  "groupSharedFeatures.activityFeed.taskState.completedCountParenthetical": "({completedCount} of {totalCount})",
@@ -24,6 +24,7 @@ export default {
24
24
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationBody": "Delete this task? This action can't be undone.",
25
25
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationCancel": "Cancel",
26
26
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirm": "Delete",
27
+ "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirmLoading": "Deleting",
27
28
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationDialogAriaLabel": "Delete task confirmation",
28
29
  "groupSharedFeatures.activityFeed.taskCard.loadAssigneesError": "Failed to load assignees. Try again.",
29
30
  "groupSharedFeatures.activityFeed.taskCard.loadingAssignees": "Loading...",
@@ -33,12 +34,15 @@ export default {
33
34
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssignees": "Show {count} More",
34
35
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssigneesApproximate": "Show {count}+ More",
35
36
  "groupSharedFeatures.activityFeed.taskCard.taskApproveAction": "Approve",
37
+ "groupSharedFeatures.activityFeed.taskCard.taskApproveActionLoading": "Approving",
36
38
  "groupSharedFeatures.activityFeed.taskCard.taskCompleteAction": "Mark as Complete",
39
+ "groupSharedFeatures.activityFeed.taskCard.taskCompleteActionLoading": "Marking as complete",
37
40
  "groupSharedFeatures.activityFeed.taskCard.taskDeleteMenuItem": "Delete task",
38
41
  "groupSharedFeatures.activityFeed.taskCard.taskDueDateLabel": "Due {monthDay} {time}",
39
42
  "groupSharedFeatures.activityFeed.taskCard.taskEditMenuItem": "Modify task",
40
43
  "groupSharedFeatures.activityFeed.taskCard.taskLabel": "Task",
41
44
  "groupSharedFeatures.activityFeed.taskCard.taskRejectAction": "Reject",
45
+ "groupSharedFeatures.activityFeed.taskCard.taskRejectActionLoading": "Rejecting",
42
46
  "groupSharedFeatures.activityFeed.taskCard.taskViewDetailsAction": "View Task Details",
43
47
  "groupSharedFeatures.activityFeed.taskState.approvedHeadline": "Approved",
44
48
  "groupSharedFeatures.activityFeed.taskState.completedCountParenthetical": "({completedCount} of {totalCount})",
@@ -24,6 +24,7 @@ export default {
24
24
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationBody": "Delete this task? This action can’t be undone.",
25
25
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationCancel": "Cancel",
26
26
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirm": "Delete",
27
+ "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirmLoading": "Deleting",
27
28
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationDialogAriaLabel": "Delete task confirmation",
28
29
  "groupSharedFeatures.activityFeed.taskCard.loadAssigneesError": "Failed to load assignees. Try again.",
29
30
  "groupSharedFeatures.activityFeed.taskCard.loadingAssignees": "Loading…",
@@ -33,12 +34,15 @@ export default {
33
34
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssignees": "Show {count} More",
34
35
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssigneesApproximate": "Show {count}+ More",
35
36
  "groupSharedFeatures.activityFeed.taskCard.taskApproveAction": "Approve",
37
+ "groupSharedFeatures.activityFeed.taskCard.taskApproveActionLoading": "Approving",
36
38
  "groupSharedFeatures.activityFeed.taskCard.taskCompleteAction": "Mark as Complete",
39
+ "groupSharedFeatures.activityFeed.taskCard.taskCompleteActionLoading": "Marking as complete",
37
40
  "groupSharedFeatures.activityFeed.taskCard.taskDeleteMenuItem": "Delete task",
38
41
  "groupSharedFeatures.activityFeed.taskCard.taskDueDateLabel": "Due {monthDay} {time}",
39
42
  "groupSharedFeatures.activityFeed.taskCard.taskEditMenuItem": "Modify task",
40
43
  "groupSharedFeatures.activityFeed.taskCard.taskLabel": "Task",
41
44
  "groupSharedFeatures.activityFeed.taskCard.taskRejectAction": "Reject",
45
+ "groupSharedFeatures.activityFeed.taskCard.taskRejectActionLoading": "Rejecting",
42
46
  "groupSharedFeatures.activityFeed.taskCard.taskViewDetailsAction": "View Task Details",
43
47
  "groupSharedFeatures.activityFeed.taskState.approvedHeadline": "Approved",
44
48
  "groupSharedFeatures.activityFeed.taskState.completedCountParenthetical": "({completedCount} of {totalCount})",
@@ -24,6 +24,7 @@ export default {
24
24
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationBody": "Delete this task? This action can't be undone.",
25
25
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationCancel": "Cancel",
26
26
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirm": "Delete",
27
+ "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirmLoading": "Deleting",
27
28
  "groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationDialogAriaLabel": "Delete task confirmation",
28
29
  "groupSharedFeatures.activityFeed.taskCard.loadAssigneesError": "Failed to load assignees. Try again.",
29
30
  "groupSharedFeatures.activityFeed.taskCard.loadingAssignees": "Loading...",
@@ -33,12 +34,15 @@ export default {
33
34
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssignees": "Show {count} More",
34
35
  "groupSharedFeatures.activityFeed.taskCard.showMoreAssigneesApproximate": "Show {count}+ More",
35
36
  "groupSharedFeatures.activityFeed.taskCard.taskApproveAction": "Approve",
37
+ "groupSharedFeatures.activityFeed.taskCard.taskApproveActionLoading": "Approving",
36
38
  "groupSharedFeatures.activityFeed.taskCard.taskCompleteAction": "Mark as Complete",
39
+ "groupSharedFeatures.activityFeed.taskCard.taskCompleteActionLoading": "Marking as complete",
37
40
  "groupSharedFeatures.activityFeed.taskCard.taskDeleteMenuItem": "Delete task",
38
41
  "groupSharedFeatures.activityFeed.taskCard.taskDueDateLabel": "Due {monthDay} {time}",
39
42
  "groupSharedFeatures.activityFeed.taskCard.taskEditMenuItem": "Modify task",
40
43
  "groupSharedFeatures.activityFeed.taskCard.taskLabel": "Task",
41
44
  "groupSharedFeatures.activityFeed.taskCard.taskRejectAction": "Reject",
45
+ "groupSharedFeatures.activityFeed.taskCard.taskRejectActionLoading": "Rejecting",
42
46
  "groupSharedFeatures.activityFeed.taskCard.taskViewDetailsAction": "View Task Details",
43
47
  "groupSharedFeatures.activityFeed.taskState.approvedHeadline": "Approved",
44
48
  "groupSharedFeatures.activityFeed.taskState.completedCountParenthetical": "({completedCount} of {totalCount})",
@@ -48,6 +48,8 @@ groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationBody = Delete th
48
48
  groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationCancel = Cancel
49
49
  # Confirm delete button on delete task confirmation popover
50
50
  groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirm = Delete
51
+ # Loading aria-label announced while the delete task confirmation is in flight
52
+ groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationConfirmLoading = Deleting
51
53
  # Accessible name for the delete task confirmation popover
52
54
  groupSharedFeatures.activityFeed.taskCard.deleteTaskConfirmationDialogAriaLabel = Delete task confirmation
53
55
  # Error message when fetching more assignees from server fails
@@ -66,8 +68,12 @@ groupSharedFeatures.activityFeed.taskCard.showMoreAssignees = Show {count} More
66
68
  groupSharedFeatures.activityFeed.taskCard.showMoreAssigneesApproximate = Show {count}+ More
67
69
  # Approve action for an approval task
68
70
  groupSharedFeatures.activityFeed.taskCard.taskApproveAction = Approve
71
+ # Loading aria-label announced while the Approve action is in flight
72
+ groupSharedFeatures.activityFeed.taskCard.taskApproveActionLoading = Approving
69
73
  # Completion action for a general task
70
74
  groupSharedFeatures.activityFeed.taskCard.taskCompleteAction = Mark as Complete
75
+ # Loading aria-label announced while the Mark as Complete action is in flight
76
+ groupSharedFeatures.activityFeed.taskCard.taskCompleteActionLoading = Marking as complete
71
77
  # Text to show on menu item to delete task
72
78
  groupSharedFeatures.activityFeed.taskCard.taskDeleteMenuItem = Delete task
73
79
  # Due date row: "Due" plus short month/day (with year when not the current year) and time. Placeholders are locale-formatted.
@@ -78,6 +84,8 @@ groupSharedFeatures.activityFeed.taskCard.taskEditMenuItem = Modify task
78
84
  groupSharedFeatures.activityFeed.taskCard.taskLabel = Task
79
85
  # Reject action for an approval task
80
86
  groupSharedFeatures.activityFeed.taskCard.taskRejectAction = Reject
87
+ # Loading aria-label announced while the Reject action is in flight
88
+ groupSharedFeatures.activityFeed.taskCard.taskRejectActionLoading = Rejecting
81
89
  # View details action for a multi-file task
82
90
  groupSharedFeatures.activityFeed.taskCard.taskViewDetailsAction = View Task Details
83
91
  # Headline when an approval task is approved