@devalok/shilp-sutra-karm 0.16.0 → 0.17.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 (142) hide show
  1. package/dist/_chunks/chat-panel.js +292 -230
  2. package/dist/_chunks/kanban-board.js +1113 -1078
  3. package/dist/_chunks/project-card.js +51 -51
  4. package/dist/_chunks/render-adjustment-type.js +2044 -2037
  5. package/dist/_chunks/sidebar-scratchpad.js +508 -0
  6. package/dist/_chunks/task-detail-panel.js +774 -752
  7. package/dist/_chunks/vendor.js +10425 -5216
  8. package/dist/admin/adjustments/approved-adjustments.d.ts +2 -1
  9. package/dist/admin/adjustments/approved-adjustments.d.ts.map +1 -1
  10. package/dist/admin/adjustments/index.d.ts +1 -0
  11. package/dist/admin/break/break-admin-skeleton.d.ts +2 -1
  12. package/dist/admin/break/break-admin-skeleton.d.ts.map +1 -1
  13. package/dist/admin/break/break-admin.d.ts +2 -1
  14. package/dist/admin/break/break-admin.d.ts.map +1 -1
  15. package/dist/admin/break/break-balance.d.ts +2 -1
  16. package/dist/admin/break/break-balance.d.ts.map +1 -1
  17. package/dist/admin/break/breaks.d.ts +2 -1
  18. package/dist/admin/break/breaks.d.ts.map +1 -1
  19. package/dist/admin/break/delete-break.d.ts +2 -1
  20. package/dist/admin/break/delete-break.d.ts.map +1 -1
  21. package/dist/admin/break/edit-break-balance.d.ts +2 -1
  22. package/dist/admin/break/edit-break-balance.d.ts.map +1 -1
  23. package/dist/admin/break/edit-break.d.ts +2 -1
  24. package/dist/admin/break/edit-break.d.ts.map +1 -1
  25. package/dist/admin/break/header.d.ts +2 -1
  26. package/dist/admin/break/header.d.ts.map +1 -1
  27. package/dist/admin/break/index.d.ts +1 -0
  28. package/dist/admin/break/leave-request.d.ts +2 -1
  29. package/dist/admin/break/leave-request.d.ts.map +1 -1
  30. package/dist/admin/break/use-break-date-picker.d.ts +1 -0
  31. package/dist/admin/dashboard/admin-dashboard.d.ts +7 -6
  32. package/dist/admin/dashboard/admin-dashboard.d.ts.map +1 -1
  33. package/dist/admin/dashboard/associate-detail.d.ts +2 -1
  34. package/dist/admin/dashboard/associate-detail.d.ts.map +1 -1
  35. package/dist/admin/dashboard/attendance-overview.d.ts +2 -1
  36. package/dist/admin/dashboard/attendance-overview.d.ts.map +1 -1
  37. package/dist/admin/dashboard/break-request.d.ts +2 -1
  38. package/dist/admin/dashboard/break-request.d.ts.map +1 -1
  39. package/dist/admin/dashboard/calendar.d.ts +2 -1
  40. package/dist/admin/dashboard/calendar.d.ts.map +1 -1
  41. package/dist/admin/dashboard/correction-list.d.ts +2 -1
  42. package/dist/admin/dashboard/correction-list.d.ts.map +1 -1
  43. package/dist/admin/dashboard/dashboard-header.d.ts +2 -1
  44. package/dist/admin/dashboard/dashboard-header.d.ts.map +1 -1
  45. package/dist/admin/dashboard/dashboard-skeleton.d.ts +2 -1
  46. package/dist/admin/dashboard/dashboard-skeleton.d.ts.map +1 -1
  47. package/dist/admin/dashboard/index.d.ts +1 -0
  48. package/dist/admin/dashboard/leave-requests.d.ts +2 -1
  49. package/dist/admin/dashboard/leave-requests.d.ts.map +1 -1
  50. package/dist/admin/dashboard/render-date.d.ts +2 -1
  51. package/dist/admin/dashboard/render-date.d.ts.map +1 -1
  52. package/dist/admin/dashboard/use-calendar-navigation.d.ts +1 -0
  53. package/dist/admin/dashboard/use-calendar-navigation.d.ts.map +1 -1
  54. package/dist/admin/dashboard/use-leave-request-interaction.d.ts +1 -0
  55. package/dist/admin/icons.d.ts +1 -0
  56. package/dist/admin/index.d.ts +1 -0
  57. package/dist/admin/types.d.ts +1 -0
  58. package/dist/admin/utils/date-range-utils.d.ts +1 -0
  59. package/dist/admin/utils/date-utils.d.ts +1 -0
  60. package/dist/admin/utils/emoji-utils.d.ts +1 -0
  61. package/dist/admin/utils/render-adjustment-type.d.ts +1 -0
  62. package/dist/admin/utils/render-status.d.ts +1 -0
  63. package/dist/board/board-column.d.ts +2 -1
  64. package/dist/board/board-column.d.ts.map +1 -1
  65. package/dist/board/board-constants.d.ts +6 -5
  66. package/dist/board/board-constants.d.ts.map +1 -1
  67. package/dist/board/board-context.d.ts +2 -1
  68. package/dist/board/board-context.d.ts.map +1 -1
  69. package/dist/board/board-toolbar.d.ts +4 -3
  70. package/dist/board/board-toolbar.d.ts.map +1 -1
  71. package/dist/board/board-types.d.ts +1 -0
  72. package/dist/board/board-utils.d.ts +1 -0
  73. package/dist/board/bulk-action-bar.d.ts +4 -3
  74. package/dist/board/bulk-action-bar.d.ts.map +1 -1
  75. package/dist/board/column-empty.d.ts +4 -6
  76. package/dist/board/column-empty.d.ts.map +1 -1
  77. package/dist/board/column-header.d.ts +4 -5
  78. package/dist/board/column-header.d.ts.map +1 -1
  79. package/dist/board/index.d.ts +1 -0
  80. package/dist/board/kanban-board.d.ts +1 -0
  81. package/dist/board/kanban-board.d.ts.map +1 -1
  82. package/dist/board/task-card.d.ts +5 -4
  83. package/dist/board/task-card.d.ts.map +1 -1
  84. package/dist/board/task-context-menu.d.ts +3 -4
  85. package/dist/board/task-context-menu.d.ts.map +1 -1
  86. package/dist/board/use-board-filters.d.ts +1 -0
  87. package/dist/board/use-board-keyboard.d.ts +1 -0
  88. package/dist/chat/chat-input.d.ts +2 -1
  89. package/dist/chat/chat-input.d.ts.map +1 -1
  90. package/dist/chat/chat-panel.d.ts +2 -1
  91. package/dist/chat/chat-panel.d.ts.map +1 -1
  92. package/dist/chat/conversation-list.d.ts +2 -1
  93. package/dist/chat/conversation-list.d.ts.map +1 -1
  94. package/dist/chat/index.d.ts +1 -0
  95. package/dist/chat/markdown-components.d.ts +1 -0
  96. package/dist/chat/message-list.d.ts +2 -1
  97. package/dist/chat/message-list.d.ts.map +1 -1
  98. package/dist/chat/streaming-text.d.ts +4 -1
  99. package/dist/chat/streaming-text.d.ts.map +1 -1
  100. package/dist/client/accent-provider.d.ts +1 -0
  101. package/dist/client/client-portal-header.d.ts +1 -0
  102. package/dist/client/index.d.ts +1 -0
  103. package/dist/client/project-card.d.ts +1 -0
  104. package/dist/dashboard/attendance-cta.d.ts +2 -1
  105. package/dist/dashboard/attendance-cta.d.ts.map +1 -1
  106. package/dist/dashboard/daily-brief.d.ts +2 -2
  107. package/dist/dashboard/daily-brief.d.ts.map +1 -1
  108. package/dist/dashboard/index.d.ts +1 -0
  109. package/dist/dashboard/index.js +5 -267
  110. package/dist/dashboard/scratchpad-widget.d.ts +2 -2
  111. package/dist/dashboard/scratchpad-widget.d.ts.map +1 -1
  112. package/dist/dashboard/sidebar-scratchpad.d.ts +2 -2
  113. package/dist/dashboard/sidebar-scratchpad.d.ts.map +1 -1
  114. package/dist/index.d.ts +3 -1
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +211 -103
  117. package/dist/page-skeletons.d.ts +3 -2
  118. package/dist/page-skeletons.d.ts.map +1 -1
  119. package/dist/shell/karm-command-registry.d.ts +4 -0
  120. package/dist/shell/karm-command-registry.d.ts.map +1 -0
  121. package/dist/tasks/activity-tab.d.ts +2 -2
  122. package/dist/tasks/activity-tab.d.ts.map +1 -1
  123. package/dist/tasks/conversation-tab.d.ts +2 -2
  124. package/dist/tasks/conversation-tab.d.ts.map +1 -1
  125. package/dist/tasks/files-tab.d.ts +2 -2
  126. package/dist/tasks/files-tab.d.ts.map +1 -1
  127. package/dist/tasks/index.d.ts +1 -0
  128. package/dist/tasks/review-tab.d.ts +2 -2
  129. package/dist/tasks/review-tab.d.ts.map +1 -1
  130. package/dist/tasks/subtasks-tab.d.ts +2 -2
  131. package/dist/tasks/subtasks-tab.d.ts.map +1 -1
  132. package/dist/tasks/task-constants.d.ts +1 -0
  133. package/dist/tasks/task-detail-panel.d.ts +2 -1
  134. package/dist/tasks/task-detail-panel.d.ts.map +1 -1
  135. package/dist/tasks/task-properties.d.ts +2 -2
  136. package/dist/tasks/task-properties.d.ts.map +1 -1
  137. package/dist/tasks/task-utils.d.ts +9 -0
  138. package/dist/tasks/task-utils.d.ts.map +1 -0
  139. package/dist/utils/use-composed-ref.d.ts +1 -0
  140. package/llms.txt +3 -1
  141. package/package.json +80 -78
  142. package/dist/_chunks/daily-brief.js +0 -226
@@ -1,480 +1,483 @@
1
1
  "use client";
2
- import { jsxs as s, jsx as t, Fragment as xe } from "react/jsx-runtime";
3
- import * as p from "react";
4
- import { cn as N } from "@devalok/shilp-sutra/ui/lib/utils";
5
- import { Sheet as Me, SheetContent as Fe, SheetTitle as Be } from "@devalok/shilp-sutra/ui/sheet";
6
- import { VisuallyHidden as ze } from "@devalok/shilp-sutra/ui/visually-hidden";
7
- import { Skeleton as O } from "@devalok/shilp-sutra/ui/skeleton";
8
- import { Progress as qe, Tabs as Ye, TabsList as Ke, TabsTrigger as U } from "@devalok/shilp-sutra/ui";
9
- import { Avatar as j, AvatarImage as V, AvatarFallback as $ } from "@devalok/shilp-sutra/ui/avatar";
10
- import { Popover as oe, PopoverTrigger as de, PopoverContent as ce } from "@devalok/shilp-sutra/ui/popover";
11
- import { IconColumns3 as We, IconChevronDown as Je, IconCheck as fe, IconUser as Qe, IconUsers as Ue, IconX as Y, IconPlus as H, IconFlag as be, IconCalendarEvent as ge, IconTag as Ne, IconEye as ye, IconSquareCheck as Xe, IconSquare as Ze, IconListCheck as ve, IconMessage as we, IconGitPullRequest as Z, IconMessageCircle as Ie, IconSend as et, IconUpload as tt, IconExternalLink as st, IconDownload as rt, IconTrash as nt, IconPaperclip as ee, IconFile as me, IconPhoto as it, IconFileText as lt, IconFileCode as at, IconFileSpreadsheet as ot, IconFileZip as dt, IconActivity as te, IconCircleCheck as ct, IconUserMinus as mt, IconUserPlus as ut, IconArrowRight as pt, IconEdit as ht } from "@tabler/icons-react";
12
- import { getInitials as G } from "@devalok/shilp-sutra/composed/lib/string-utils";
13
- import { MemberPicker as X } from "@devalok/shilp-sutra/composed/member-picker";
14
- import { EmptyState as M } from "@devalok/shilp-sutra/composed/empty-state";
15
- import { Badge as xt } from "@devalok/shilp-sutra/ui/badge";
16
- import { RichTextViewer as ft, RichTextEditor as bt } from "@devalok/shilp-sutra/composed/rich-text-editor";
17
- import { Dialog as gt, DialogTrigger as Nt, DialogContent as yt, DialogHeader as vt, DialogTitle as wt, DialogDescription as It, DialogFooter as Dt, DialogClose as ue } from "@devalok/shilp-sutra/ui/dialog";
2
+ import { jsxs as t, jsx as e, Fragment as be } from "react/jsx-runtime";
3
+ import * as o from "react";
4
+ import { cn as p } from "@devalok/shilp-sutra/ui/lib/utils";
5
+ import { Sheet as ts, SheetContent as rs, SheetTitle as as } from "@devalok/shilp-sutra/ui/sheet";
6
+ import { VisuallyHidden as ns } from "@devalok/shilp-sutra/ui/visually-hidden";
7
+ import { Skeleton as L } from "@devalok/shilp-sutra/ui/skeleton";
8
+ import { Progress as cs, Tabs as ls, TabsList as is, TabsTrigger as Z } from "@devalok/shilp-sutra/ui";
9
+ import { Avatar as j, AvatarImage as H, AvatarFallback as G } from "@devalok/shilp-sutra/ui/avatar";
10
+ import { Popover as de, PopoverTrigger as ue, PopoverContent as me } from "@devalok/shilp-sutra/ui/popover";
11
+ import { IconColumns3 as os, IconChevronDown as ds, IconCheck as xe, IconUser as us, IconUsers as ms, IconX as W, IconPlus as $, IconFlag as Ne, IconCalendarEvent as ve, IconTag as ye, IconEye as we, IconSquareCheck as fs, IconSquare as hs, IconListCheck as Ie, IconMessage as Ce, IconGitPullRequest as se, IconMessageCircle as De, IconSend as ps, IconUpload as gs, IconExternalLink as bs, IconDownload as xs, IconTrash as Ns, IconPaperclip as te, IconFile as fe, IconPhoto as vs, IconFileText as ys, IconFileCode as ws, IconFileSpreadsheet as Is, IconFileZip as Cs, IconActivity as re, IconCircleCheck as Ds, IconUserMinus as Es, IconUserPlus as Ts, IconArrowRight as Rs, IconEdit as As } from "@tabler/icons-react";
12
+ import { getInitials as B } from "@devalok/shilp-sutra/composed/lib/string-utils";
13
+ import { MemberPicker as ee } from "@devalok/shilp-sutra/composed/member-picker";
14
+ import { EmptyState as F } from "@devalok/shilp-sutra/composed/empty-state";
15
+ import { Badge as Ss } from "@devalok/shilp-sutra/ui/badge";
16
+ import { RichTextViewer as ks, RichTextEditor as Ps } from "@devalok/shilp-sutra/composed/rich-text-editor";
17
+ import { formatRelativeTime as Ls } from "@devalok/shilp-sutra/ui/lib/date-utils";
18
+ import { Dialog as Os, DialogTrigger as _s, DialogContent as Vs, DialogHeader as js, DialogTitle as Hs, DialogDescription as Gs, DialogFooter as $s, DialogClose as he } from "@devalok/shilp-sutra/ui/dialog";
18
19
  import { Button as pe } from "@devalok/shilp-sutra/ui/button";
19
- const Et = {
20
+ const Bs = {
20
21
  LOW: "Low",
21
22
  MEDIUM: "Medium",
22
23
  HIGH: "High",
23
24
  URGENT: "Urgent"
24
- }, De = {
25
- LOW: "bg-[var(--color-category-slate)]",
26
- MEDIUM: "bg-[var(--color-warning)]",
27
- HIGH: "bg-[var(--color-error)]",
28
- URGENT: "bg-[var(--color-error)]"
29
- }, Tt = {
25
+ }, Ee = {
26
+ LOW: "bg-category-slate-9",
27
+ MEDIUM: "bg-warning-9",
28
+ HIGH: "bg-error-9",
29
+ URGENT: "bg-error-9"
30
+ }, Fs = {
30
31
  PENDING: { color: "warning", label: "Pending" },
31
32
  APPROVED: { color: "success", label: "Approved" },
32
33
  CHANGES_REQUESTED: { color: "brand", label: "Changes Requested" },
33
34
  REJECTED: { color: "error", label: "Rejected" }
34
- }, Ct = ["LOW", "MEDIUM", "HIGH", "URGENT"];
35
- function _({
35
+ }, zs = ["LOW", "MEDIUM", "HIGH", "URGENT"];
36
+ function O({
36
37
  icon: n,
37
- label: e,
38
- children: b,
39
- className: x
38
+ label: s,
39
+ children: g,
40
+ className: h
40
41
  }) {
41
- return /* @__PURE__ */ s(
42
+ return /* @__PURE__ */ t(
42
43
  "div",
43
44
  {
44
- className: N(
45
+ className: p(
45
46
  "flex items-center gap-ds-04 py-ds-03",
46
- x
47
+ h
47
48
  ),
48
49
  children: [
49
- /* @__PURE__ */ s("div", { className: "flex w-[120px] shrink-0 items-center gap-ds-03 text-text-placeholder", children: [
50
- /* @__PURE__ */ t(n, { className: "h-ico-sm w-ico-sm", stroke: 1.5 }),
51
- /* @__PURE__ */ t("span", { className: "text-ds-sm", children: e })
50
+ /* @__PURE__ */ t("div", { className: "flex w-[120px] shrink-0 items-center gap-ds-03 text-surface-fg-subtle", children: [
51
+ /* @__PURE__ */ e(n, { className: "h-ico-sm w-ico-sm", stroke: 1.5 }),
52
+ /* @__PURE__ */ e("span", { className: "text-ds-sm", children: s })
52
53
  ] }),
53
- /* @__PURE__ */ t("div", { className: "flex-1 min-w-0", children: b })
54
+ /* @__PURE__ */ e("div", { className: "flex-1 min-w-0", children: g })
54
55
  ]
55
56
  }
56
57
  );
57
58
  }
58
- function Rt({ priority: n }) {
59
- return /* @__PURE__ */ s("div", { className: "flex items-center gap-ds-02b", children: [
60
- /* @__PURE__ */ t("div", { className: N("h-2 w-2 rounded-ds-full", De[n]) }),
61
- /* @__PURE__ */ t("span", { className: "text-ds-md text-text-primary", children: Et[n] || n })
59
+ function qs({ priority: n }) {
60
+ return /* @__PURE__ */ t("div", { className: "flex items-center gap-ds-02b", children: [
61
+ /* @__PURE__ */ e("div", { className: p("h-2 w-2 rounded-ds-full", Ee[n]) }),
62
+ /* @__PURE__ */ e("span", { className: "text-ds-md text-surface-fg", children: Bs[n] || n })
62
63
  ] });
63
64
  }
64
- const Ee = p.forwardRef(
65
+ const Te = o.forwardRef(
65
66
  function({
66
- task: e,
67
- columns: b,
68
- members: x,
69
- onUpdate: d,
70
- onAssign: c,
71
- onUnassign: g,
67
+ task: s,
68
+ columns: g,
69
+ members: h,
70
+ onUpdate: b,
71
+ onAssign: m,
72
+ onUnassign: y,
72
73
  className: D,
73
- readOnly: f = !1,
74
- editableFields: m,
75
- renderPriorityIndicator: y,
76
- renderDatePicker: I,
77
- onConfirmVisibilityChange: v
78
- }, a) {
79
- const [w, o] = p.useState(""), [l, h] = p.useState(!1), u = e.assignees.map((i) => i.user.id), E = p.useMemo(
80
- () => x.map((i) => ({ id: i.id, name: i.name, avatar: i.image ?? void 0 })),
81
- [x]
82
- ), T = (i) => {
83
- d("columnId", i);
84
- }, R = (i) => {
85
- d("ownerId", i === e.ownerId ? null : i);
86
- }, A = (i) => {
87
- u.includes(i) ? g(i) : c(i);
88
- }, S = (i) => {
89
- d("priority", i);
90
- }, P = (i) => {
91
- d("dueDate", i ? i.toISOString() : null);
92
- }, k = () => {
93
- const i = w.trim();
94
- i && !e.labels.includes(i) && d("labels", [...e.labels, i]), o(""), h(!1);
95
- }, K = (i) => {
96
- d("labels", e.labels.filter((J) => J !== i));
97
- }, W = () => {
98
- const i = e.visibility === "INTERNAL" ? "EVERYONE" : "INTERNAL";
99
- if (i === "EVERYONE" && v) {
100
- v();
74
+ readOnly: x = !1,
75
+ editableFields: d,
76
+ renderPriorityIndicator: C,
77
+ renderDatePicker: N,
78
+ onConfirmVisibilityChange: w,
79
+ ...I
80
+ }, l) {
81
+ const [v, i] = o.useState(""), [c, f] = o.useState(!1), u = s.assignees.map((a) => a.user.id), E = o.useMemo(
82
+ () => h.map((a) => ({ id: a.id, name: a.name, avatar: a.image ?? void 0 })),
83
+ [h]
84
+ ), T = (a) => {
85
+ b("columnId", a);
86
+ }, S = (a) => {
87
+ b("ownerId", a === s.ownerId ? null : a);
88
+ }, _ = (a) => {
89
+ u.includes(a) ? y(a) : m(a);
90
+ }, R = (a) => {
91
+ b("priority", a);
92
+ }, k = (a) => {
93
+ b("dueDate", a ? a.toISOString() : null);
94
+ }, z = () => {
95
+ const a = v.trim();
96
+ a && !s.labels.includes(a) && b("labels", [...s.labels, a]), i(""), f(!1);
97
+ }, J = (a) => {
98
+ b("labels", s.labels.filter((Q) => Q !== a));
99
+ }, M = () => {
100
+ const a = s.visibility === "INTERNAL" ? "EVERYONE" : "INTERNAL";
101
+ if (a === "EVERYONE" && w) {
102
+ w();
101
103
  return;
102
104
  }
103
- d("visibility", i);
104
- }, F = y || Rt;
105
- return /* @__PURE__ */ s("div", { ref: a, className: N("space-y-ds-01", D), children: [
106
- /* @__PURE__ */ t(_, { icon: We, label: "Column", children: f && !(m != null && m.includes("columnId")) ? /* @__PURE__ */ t("span", { className: "px-ds-03 py-ds-02 text-ds-md text-text-primary", children: e.column.name }) : /* @__PURE__ */ s(oe, { children: [
107
- /* @__PURE__ */ t(de, { asChild: !0, children: /* @__PURE__ */ s(
105
+ b("visibility", a);
106
+ }, q = C || qs;
107
+ return /* @__PURE__ */ t("div", { ref: l, className: p("space-y-ds-01", D), ...I, children: [
108
+ /* @__PURE__ */ e(O, { icon: os, label: "Column", children: x && !(d != null && d.includes("columnId")) ? /* @__PURE__ */ e("span", { className: "px-ds-03 py-ds-02 text-ds-md text-surface-fg", children: s.column.name }) : /* @__PURE__ */ t(de, { children: [
109
+ /* @__PURE__ */ e(ue, { asChild: !0, children: /* @__PURE__ */ t(
108
110
  "button",
109
111
  {
110
112
  type: "button",
111
- className: "inline-flex items-center gap-ds-02b rounded-ds-md px-ds-03 py-ds-02 text-ds-md text-text-primary transition-colors hover:bg-field",
113
+ className: "inline-flex items-center gap-ds-02b rounded-ds-md px-ds-03 py-ds-02 text-ds-md text-surface-fg transition-colors hover:bg-surface-3",
112
114
  children: [
113
- /* @__PURE__ */ t("span", { children: e.column.name }),
114
- /* @__PURE__ */ t(Je, { className: "h-3 w-3 text-text-placeholder" })
115
+ /* @__PURE__ */ e("span", { children: s.column.name }),
116
+ /* @__PURE__ */ e(ds, { className: "h-3 w-3 text-surface-fg-subtle" })
115
117
  ]
116
118
  }
117
119
  ) }),
118
- /* @__PURE__ */ t(
119
- ce,
120
+ /* @__PURE__ */ e(
121
+ me,
120
122
  {
121
- className: "w-[180px] border-border bg-layer-01 p-ds-02",
123
+ className: "w-[180px] border-surface-border-strong bg-surface-1 p-ds-02",
122
124
  align: "start",
123
125
  sideOffset: 4,
124
- children: b.map((i) => /* @__PURE__ */ s(
126
+ children: g.map((a) => /* @__PURE__ */ t(
125
127
  "button",
126
128
  {
127
129
  type: "button",
128
- onClick: () => T(i.id),
129
- className: N(
130
+ onClick: () => T(a.id),
131
+ className: p(
130
132
  "flex w-full items-center gap-ds-03 rounded-ds-md px-ds-03 py-ds-02b text-left text-ds-md transition-colors",
131
- "hover:bg-field",
132
- i.id === e.columnId ? "text-interactive" : "text-text-primary"
133
+ "hover:bg-surface-3",
134
+ a.id === s.columnId ? "text-accent-11" : "text-surface-fg"
133
135
  ),
134
136
  children: [
135
- i.name,
136
- i.id === e.columnId && /* @__PURE__ */ t(fe, { className: "ml-auto h-ico-sm w-ico-sm" })
137
+ a.name,
138
+ a.id === s.columnId && /* @__PURE__ */ e(xe, { className: "ml-auto h-ico-sm w-ico-sm" })
137
139
  ]
138
140
  },
139
- i.id
141
+ a.id
140
142
  ))
141
143
  }
142
144
  )
143
145
  ] }) }),
144
- !f && /* @__PURE__ */ t(_, { icon: Qe, label: "Owner", children: /* @__PURE__ */ t(
145
- X,
146
+ !x && /* @__PURE__ */ e(O, { icon: us, label: "Owner", children: /* @__PURE__ */ e(
147
+ ee,
146
148
  {
147
149
  members: E,
148
- selectedIds: e.ownerId ? [e.ownerId] : [],
149
- onSelect: R,
150
- children: /* @__PURE__ */ t(
150
+ selectedIds: s.ownerId ? [s.ownerId] : [],
151
+ onSelect: S,
152
+ children: /* @__PURE__ */ e(
151
153
  "button",
152
154
  {
153
155
  type: "button",
154
- className: "inline-flex items-center gap-ds-03 rounded-ds-md px-ds-03 py-ds-02 transition-colors hover:bg-field",
155
- children: e.owner ? /* @__PURE__ */ s(xe, { children: [
156
- /* @__PURE__ */ s(j, { className: "h-ico-md w-ico-md", children: [
157
- e.owner.image && /* @__PURE__ */ t(V, { src: e.owner.image, alt: e.owner.name }),
158
- /* @__PURE__ */ t($, { className: "bg-layer-03 text-ds-xs font-semibold text-text-on-color", children: G(e.owner.name) })
156
+ className: "inline-flex items-center gap-ds-03 rounded-ds-md px-ds-03 py-ds-02 transition-colors hover:bg-surface-3",
157
+ children: s.owner ? /* @__PURE__ */ t(be, { children: [
158
+ /* @__PURE__ */ t(j, { className: "h-ico-md w-ico-md", children: [
159
+ s.owner.image && /* @__PURE__ */ e(H, { src: s.owner.image, alt: s.owner.name }),
160
+ /* @__PURE__ */ e(G, { className: "bg-surface-3 text-ds-xs font-semibold text-accent-fg", children: B(s.owner.name) })
159
161
  ] }),
160
- /* @__PURE__ */ t("span", { className: "text-ds-md text-text-primary", children: e.owner.name })
161
- ] }) : /* @__PURE__ */ t("span", { className: "text-ds-md text-text-placeholder", children: "No owner" })
162
+ /* @__PURE__ */ e("span", { className: "text-ds-md text-surface-fg", children: s.owner.name })
163
+ ] }) : /* @__PURE__ */ e("span", { className: "text-ds-md text-surface-fg-subtle", children: "No owner" })
162
164
  }
163
165
  )
164
166
  }
165
167
  ) }),
166
- /* @__PURE__ */ t(_, { icon: Ue, label: "Assignees", children: /* @__PURE__ */ s("div", { className: "flex flex-wrap items-center gap-ds-02b", children: [
167
- e.assignees.map((i) => /* @__PURE__ */ s(
168
+ /* @__PURE__ */ e(O, { icon: ms, label: "Assignees", children: /* @__PURE__ */ t("div", { className: "flex flex-wrap items-center gap-ds-02b", children: [
169
+ s.assignees.map((a) => /* @__PURE__ */ t(
168
170
  "div",
169
171
  {
170
- className: "inline-flex items-center gap-ds-02 rounded-ds-full bg-layer-02 py-ds-01 pl-ds-01 pr-ds-03",
172
+ className: "inline-flex items-center gap-ds-02 rounded-ds-full bg-surface-2 py-ds-01 pl-ds-01 pr-ds-03",
171
173
  children: [
172
- /* @__PURE__ */ s(j, { className: "h-ico-sm w-ico-sm", children: [
173
- i.user.image && /* @__PURE__ */ t(V, { src: i.user.image, alt: i.user.name }),
174
- /* @__PURE__ */ t($, { className: "bg-layer-03 text-ds-xs font-semibold text-text-on-color", children: G(i.user.name) })
174
+ /* @__PURE__ */ t(j, { className: "h-ico-sm w-ico-sm", children: [
175
+ a.user.image && /* @__PURE__ */ e(H, { src: a.user.image, alt: a.user.name }),
176
+ /* @__PURE__ */ e(G, { className: "bg-surface-3 text-ds-xs font-semibold text-accent-fg", children: B(a.user.name) })
175
177
  ] }),
176
- /* @__PURE__ */ t("span", { className: "text-ds-sm text-text-secondary", children: i.user.name.split(" ")[0] }),
177
- !f && /* @__PURE__ */ t(
178
+ /* @__PURE__ */ e("span", { className: "text-ds-sm text-surface-fg-muted", children: a.user.name.split(" ")[0] }),
179
+ !x && /* @__PURE__ */ e(
178
180
  "button",
179
181
  {
180
182
  type: "button",
181
- onClick: () => g(i.user.id),
182
- className: "ml-ds-01 rounded-ds-full p-ds-01 transition-colors hover:bg-field",
183
- "aria-label": `Remove ${i.user.name}`,
184
- children: /* @__PURE__ */ t(Y, { className: "h-ds-03 w-ds-03 text-text-placeholder" })
183
+ onClick: () => y(a.user.id),
184
+ className: "ml-ds-01 rounded-ds-full p-ds-01 transition-colors hover:bg-surface-3",
185
+ "aria-label": `Remove ${a.user.name}`,
186
+ children: /* @__PURE__ */ e(W, { className: "h-ds-03 w-ds-03 text-surface-fg-subtle" })
185
187
  }
186
188
  )
187
189
  ]
188
190
  },
189
- i.user.id
191
+ a.user.id
190
192
  )),
191
- !f && /* @__PURE__ */ t(
192
- X,
193
+ !x && /* @__PURE__ */ e(
194
+ ee,
193
195
  {
194
196
  members: E,
195
197
  selectedIds: u,
196
- onSelect: A,
198
+ onSelect: _,
197
199
  multiple: !0,
198
- children: /* @__PURE__ */ t(
200
+ children: /* @__PURE__ */ e(
199
201
  "button",
200
202
  {
201
203
  type: "button",
202
- className: "inline-flex h-ico-md w-ico-md items-center justify-center rounded-ds-full border border-dashed border-border-subtle transition-colors hover:bg-field hover:border-text-placeholder",
204
+ className: "inline-flex h-ico-md w-ico-md items-center justify-center rounded-ds-full border border-dashed border-surface-border transition-colors hover:bg-surface-3 hover:border-surface-border",
203
205
  "aria-label": "Add assignee",
204
- children: /* @__PURE__ */ t(H, { className: "h-3 w-3 text-text-placeholder" })
206
+ children: /* @__PURE__ */ e($, { className: "h-3 w-3 text-surface-fg-subtle" })
205
207
  }
206
208
  )
207
209
  }
208
210
  ),
209
- f && e.assignees.length === 0 && /* @__PURE__ */ t("span", { className: "text-ds-md text-text-placeholder", children: "None" })
211
+ x && s.assignees.length === 0 && /* @__PURE__ */ e("span", { className: "text-ds-md text-surface-fg-subtle", children: "None" })
210
212
  ] }) }),
211
- /* @__PURE__ */ t(_, { icon: be, label: "Priority", children: /* @__PURE__ */ s(oe, { children: [
212
- /* @__PURE__ */ t(de, { asChild: !0, children: /* @__PURE__ */ t(
213
+ /* @__PURE__ */ e(O, { icon: Ne, label: "Priority", children: /* @__PURE__ */ t(de, { children: [
214
+ /* @__PURE__ */ e(ue, { asChild: !0, children: /* @__PURE__ */ e(
213
215
  "button",
214
216
  {
215
217
  type: "button",
216
- className: "rounded-ds-md px-ds-03 py-ds-02 transition-colors hover:bg-field",
217
- children: /* @__PURE__ */ t(F, { priority: e.priority })
218
+ className: "rounded-ds-md px-ds-03 py-ds-02 transition-colors hover:bg-surface-3",
219
+ children: /* @__PURE__ */ e(q, { priority: s.priority })
218
220
  }
219
221
  ) }),
220
- /* @__PURE__ */ t(
221
- ce,
222
+ /* @__PURE__ */ e(
223
+ me,
222
224
  {
223
- className: "w-[160px] border-border bg-layer-01 p-ds-02",
225
+ className: "w-[160px] border-surface-border-strong bg-surface-1 p-ds-02",
224
226
  align: "start",
225
227
  sideOffset: 4,
226
- children: Ct.map((i) => /* @__PURE__ */ t(
228
+ children: zs.map((a) => /* @__PURE__ */ e(
227
229
  "button",
228
230
  {
229
231
  type: "button",
230
- onClick: () => S(i),
231
- className: N(
232
+ onClick: () => R(a),
233
+ className: p(
232
234
  "flex w-full items-center gap-ds-03 rounded-ds-md px-ds-03 py-ds-02b transition-colors",
233
- "hover:bg-field",
234
- i === e.priority && "bg-field"
235
+ "hover:bg-surface-3",
236
+ a === s.priority && "bg-surface-3"
235
237
  ),
236
- children: /* @__PURE__ */ t(F, { priority: i })
238
+ children: /* @__PURE__ */ e(q, { priority: a })
237
239
  },
238
- i
240
+ a
239
241
  ))
240
242
  }
241
243
  )
242
244
  ] }) }),
243
- /* @__PURE__ */ t(_, { icon: ge, label: "Due Date", children: /* @__PURE__ */ s("div", { className: "flex items-center gap-ds-02", children: [
244
- I ? I({
245
- value: e.dueDate ? new Date(e.dueDate) : null,
246
- onChange: P,
245
+ /* @__PURE__ */ e(O, { icon: ve, label: "Due Date", children: /* @__PURE__ */ t("div", { className: "flex items-center gap-ds-02", children: [
246
+ N ? N({
247
+ value: s.dueDate ? new Date(s.dueDate) : null,
248
+ onChange: k,
247
249
  placeholder: "No due date",
248
- className: "h-ds-xs-plus border-none bg-transparent px-ds-03 text-ds-md hover:bg-field"
249
- }) : /* @__PURE__ */ t(
250
+ className: "h-ds-xs-plus border-none bg-transparent px-ds-03 text-ds-md hover:bg-surface-3"
251
+ }) : /* @__PURE__ */ e(
250
252
  "input",
251
253
  {
252
254
  type: "date",
253
- value: e.dueDate ? new Date(e.dueDate).toISOString().split("T")[0] : "",
254
- onChange: (i) => P(i.target.value ? new Date(i.target.value) : null),
255
+ value: s.dueDate ? new Date(s.dueDate).toISOString().split("T")[0] : "",
256
+ onChange: (a) => k(a.target.value ? new Date(a.target.value) : null),
255
257
  "aria-label": "Due date",
256
- className: "h-ds-xs-plus border-none bg-transparent px-ds-03 text-ds-md text-text-primary outline-none hover:bg-field rounded-ds-md"
258
+ className: "h-ds-xs-plus border-none bg-transparent px-ds-03 text-ds-md text-surface-fg outline-none hover:bg-surface-3 rounded-ds-md"
257
259
  }
258
260
  ),
259
- e.dueDate && /* @__PURE__ */ t(
261
+ s.dueDate && /* @__PURE__ */ e(
260
262
  "button",
261
263
  {
262
264
  type: "button",
263
- onClick: () => P(null),
264
- className: "rounded-ds-md p-ds-02 transition-colors hover:bg-field",
265
+ onClick: () => k(null),
266
+ className: "rounded-ds-md p-ds-02 transition-colors hover:bg-surface-3",
265
267
  "aria-label": "Clear due date",
266
- children: /* @__PURE__ */ t(Y, { className: "h-3 w-3 text-text-placeholder" })
268
+ children: /* @__PURE__ */ e(W, { className: "h-3 w-3 text-surface-fg-subtle" })
267
269
  }
268
270
  )
269
271
  ] }) }),
270
- /* @__PURE__ */ t(_, { icon: Ne, label: "Labels", children: /* @__PURE__ */ s("div", { className: "flex flex-wrap items-center gap-ds-02b", children: [
271
- e.labels.map((i) => /* @__PURE__ */ s(
272
+ /* @__PURE__ */ e(O, { icon: ye, label: "Labels", children: /* @__PURE__ */ t("div", { className: "flex flex-wrap items-center gap-ds-02b", children: [
273
+ s.labels.map((a) => /* @__PURE__ */ t(
272
274
  "span",
273
275
  {
274
- className: "inline-flex items-center gap-ds-02 rounded-ds-full bg-interactive/10 px-ds-03 py-ds-01 text-ds-sm font-medium text-interactive",
276
+ className: "inline-flex items-center gap-ds-02 rounded-ds-full bg-accent-2 px-ds-03 py-ds-01 text-ds-sm font-medium text-accent-11",
275
277
  children: [
276
- i,
277
- !f && /* @__PURE__ */ t(
278
+ a,
279
+ !x && /* @__PURE__ */ e(
278
280
  "button",
279
281
  {
280
282
  type: "button",
281
- onClick: () => K(i),
282
- className: "rounded-ds-full p-ds-01 transition-colors hover:bg-field",
283
- "aria-label": `Remove label ${i}`,
284
- children: /* @__PURE__ */ t(Y, { className: "h-ds-03 w-ds-03" })
283
+ onClick: () => J(a),
284
+ className: "rounded-ds-full p-ds-01 transition-colors hover:bg-surface-3",
285
+ "aria-label": `Remove label ${a}`,
286
+ children: /* @__PURE__ */ e(W, { className: "h-ds-03 w-ds-03" })
285
287
  }
286
288
  )
287
289
  ]
288
290
  },
289
- i
291
+ a
290
292
  )),
291
- !f && (l ? /* @__PURE__ */ t("div", { className: "inline-flex items-center gap-ds-02", children: /* @__PURE__ */ t(
293
+ !x && (c ? /* @__PURE__ */ e("div", { className: "inline-flex items-center gap-ds-02", children: /* @__PURE__ */ e(
292
294
  "input",
293
295
  {
294
296
  type: "text",
295
- value: w,
296
- onChange: (i) => o(i.target.value),
297
+ value: v,
298
+ onChange: (a) => i(a.target.value),
297
299
  "aria-label": "New label name",
298
- onKeyDown: (i) => {
299
- i.key === "Enter" && k(), i.key === "Escape" && (h(!1), o(""));
300
+ onKeyDown: (a) => {
301
+ a.key === "Enter" && z(), a.key === "Escape" && (f(!1), i(""));
300
302
  },
301
- onBlur: k,
303
+ onBlur: z,
302
304
  placeholder: "Label name",
303
- className: "h-5 w-20 rounded border border-border bg-transparent px-ds-02b text-ds-sm text-text-primary outline-none placeholder:text-text-placeholder focus:border-border-subtle",
305
+ className: "h-5 w-20 rounded border border-surface-border-strong bg-transparent px-ds-02b text-ds-sm text-surface-fg outline-none placeholder:text-surface-fg-subtle focus:border-surface-border",
304
306
  autoFocus: !0
305
307
  }
306
- ) }) : /* @__PURE__ */ t(
308
+ ) }) : /* @__PURE__ */ e(
307
309
  "button",
308
310
  {
309
311
  type: "button",
310
- onClick: () => h(!0),
311
- className: "inline-flex h-ico-md w-ico-md items-center justify-center rounded-ds-full border border-dashed border-border-subtle transition-colors hover:bg-field hover:border-text-placeholder",
312
+ onClick: () => f(!0),
313
+ className: "inline-flex h-ico-md w-ico-md items-center justify-center rounded-ds-full border border-dashed border-surface-border transition-colors hover:bg-surface-3 hover:border-surface-border",
312
314
  "aria-label": "Add label",
313
- children: /* @__PURE__ */ t(H, { className: "h-3 w-3 text-text-placeholder" })
315
+ children: /* @__PURE__ */ e($, { className: "h-3 w-3 text-surface-fg-subtle" })
314
316
  }
315
317
  )),
316
- f && e.labels.length === 0 && /* @__PURE__ */ t("span", { className: "text-ds-md text-text-placeholder", children: "None" })
318
+ x && s.labels.length === 0 && /* @__PURE__ */ e("span", { className: "text-ds-md text-surface-fg-subtle", children: "None" })
317
319
  ] }) }),
318
- !f && /* @__PURE__ */ t(_, { icon: ye, label: "Visibility", children: /* @__PURE__ */ s(
320
+ !x && /* @__PURE__ */ e(O, { icon: we, label: "Visibility", children: /* @__PURE__ */ t(
319
321
  "button",
320
322
  {
321
323
  type: "button",
322
- onClick: W,
323
- className: N(
324
+ onClick: M,
325
+ className: p(
324
326
  "inline-flex items-center gap-ds-02b rounded-ds-full px-ds-03 py-ds-01 text-ds-sm font-semibold tracking-wide transition-colors",
325
- e.visibility === "EVERYONE" ? "bg-success-surface text-text-success" : "bg-layer-02 text-text-tertiary"
327
+ s.visibility === "EVERYONE" ? "bg-success-3 text-success-11" : "bg-surface-2 text-surface-fg-subtle"
326
328
  ),
327
329
  children: [
328
- /* @__PURE__ */ t(
330
+ /* @__PURE__ */ e(
329
331
  "span",
330
332
  {
331
- className: N(
333
+ className: p(
332
334
  "h-ds-02b w-ds-02b rounded-ds-full",
333
- e.visibility === "EVERYONE" ? "bg-success" : "bg-icon-disabled"
335
+ s.visibility === "EVERYONE" ? "bg-success-9" : "bg-disabled"
334
336
  )
335
337
  }
336
338
  ),
337
- e.visibility === "EVERYONE" ? "Everyone" : "Internal"
339
+ s.visibility === "EVERYONE" ? "Everyone" : "Internal"
338
340
  ]
339
341
  }
340
342
  ) })
341
343
  ] });
342
344
  }
343
345
  );
344
- Ee.displayName = "TaskProperties";
345
- const Te = p.forwardRef(
346
+ Te.displayName = "TaskProperties";
347
+ const Re = o.forwardRef(
346
348
  function({
347
- subtasks: e,
348
- terminalColumnId: b,
349
- onCreateSubtask: x,
350
- onToggleSubtask: d,
351
- onClickSubtask: c,
352
- className: g,
353
- readOnly: D = !1
354
- }, f) {
355
- const [m, y] = p.useState(""), [I, v] = p.useState(!1), a = p.useRef(null), w = e.filter(
349
+ subtasks: s,
350
+ terminalColumnId: g,
351
+ onCreateSubtask: h,
352
+ onToggleSubtask: b,
353
+ onClickSubtask: m,
354
+ className: y,
355
+ readOnly: D = !1,
356
+ ...x
357
+ }, d) {
358
+ const [C, N] = o.useState(""), [w, I] = o.useState(!1), l = o.useRef(null), v = s.filter(
356
359
  (u) => {
357
360
  var E;
358
- return ((E = u.column) == null ? void 0 : E.isTerminal) || u.columnId === b;
361
+ return ((E = u.column) == null ? void 0 : E.isTerminal) || u.columnId === g;
359
362
  }
360
- ).length, o = e.length, l = () => {
361
- const u = m.trim();
362
- u && (x(u), y(""));
363
- }, h = (u) => {
364
- u.key === "Enter" && (u.preventDefault(), l()), u.key === "Escape" && (v(!1), y(""));
363
+ ).length, i = s.length, c = () => {
364
+ const u = C.trim();
365
+ u && (h(u), N(""));
366
+ }, f = (u) => {
367
+ u.key === "Enter" && (u.preventDefault(), c()), u.key === "Escape" && (I(!1), N(""));
365
368
  };
366
- return p.useEffect(() => {
367
- I && a.current && a.current.focus();
368
- }, [I]), /* @__PURE__ */ s("div", { ref: f, className: N("flex flex-col", g), children: [
369
- o > 0 && /* @__PURE__ */ s("div", { className: "mb-ds-05 flex items-center gap-ds-04", children: [
370
- /* @__PURE__ */ t(qe, { value: o > 0 ? w / o * 100 : 0, className: "h-ds-02b" }),
371
- /* @__PURE__ */ s("span", { className: "shrink-0 text-ds-sm font-medium text-text-placeholder", children: [
372
- w,
369
+ return o.useEffect(() => {
370
+ w && l.current && l.current.focus();
371
+ }, [w]), /* @__PURE__ */ t("div", { ref: d, className: p("flex flex-col", y), ...x, children: [
372
+ i > 0 && /* @__PURE__ */ t("div", { className: "mb-ds-05 flex items-center gap-ds-04", children: [
373
+ /* @__PURE__ */ e(cs, { value: i > 0 ? v / i * 100 : 0, className: "h-ds-02b" }),
374
+ /* @__PURE__ */ t("span", { className: "shrink-0 text-ds-sm font-medium text-surface-fg-subtle", children: [
375
+ v,
373
376
  "/",
374
- o
377
+ i
375
378
  ] })
376
379
  ] }),
377
- e.length > 0 ? /* @__PURE__ */ t("div", { className: "space-y-ds-01", children: e.map((u) => {
378
- var R, A;
379
- const E = ((R = u.column) == null ? void 0 : R.isTerminal) || u.columnId === b, T = (A = u.assignees[0]) == null ? void 0 : A.user;
380
- return /* @__PURE__ */ s(
380
+ s.length > 0 ? /* @__PURE__ */ e("div", { className: "space-y-ds-01", children: s.map((u) => {
381
+ var S, _;
382
+ const E = ((S = u.column) == null ? void 0 : S.isTerminal) || u.columnId === g, T = (_ = u.assignees[0]) == null ? void 0 : _.user;
383
+ return /* @__PURE__ */ t(
381
384
  "div",
382
385
  {
383
386
  role: "button",
384
387
  tabIndex: 0,
385
- className: N(
388
+ className: p(
386
389
  "group flex items-center gap-ds-03 rounded-ds-lg px-ds-03 py-ds-02b transition-colors",
387
- "hover:bg-field cursor-pointer"
390
+ "hover:bg-surface-3 cursor-pointer"
388
391
  ),
389
- onClick: () => c == null ? void 0 : c(u.id),
390
- onKeyDown: (S) => {
391
- (S.key === "Enter" || S.key === " ") && (S.preventDefault(), c == null || c(u.id));
392
+ onClick: () => m == null ? void 0 : m(u.id),
393
+ onKeyDown: (R) => {
394
+ (R.key === "Enter" || R.key === " ") && (R.preventDefault(), m == null || m(u.id));
392
395
  },
393
396
  children: [
394
- /* @__PURE__ */ t(
397
+ /* @__PURE__ */ e(
395
398
  "button",
396
399
  {
397
400
  type: "button",
398
- onClick: (S) => {
399
- S.stopPropagation(), D || d(u.id, !E);
401
+ onClick: (R) => {
402
+ R.stopPropagation(), D || b(u.id, !E);
400
403
  },
401
- className: N(
404
+ className: p(
402
405
  "shrink-0 rounded p-ds-01 transition-colors",
403
- D ? "cursor-default" : "hover:bg-layer-02"
406
+ D ? "cursor-default" : "hover:bg-surface-2"
404
407
  ),
405
- children: E ? /* @__PURE__ */ t(Xe, { className: "h-ico-sm w-ico-sm text-interactive", stroke: 1.5 }) : /* @__PURE__ */ t(Ze, { className: "h-ico-sm w-ico-sm text-text-placeholder", stroke: 1.5 })
408
+ children: E ? /* @__PURE__ */ e(fs, { className: "h-ico-sm w-ico-sm text-accent-11", stroke: 1.5 }) : /* @__PURE__ */ e(hs, { className: "h-ico-sm w-ico-sm text-surface-fg-subtle", stroke: 1.5 })
406
409
  }
407
410
  ),
408
- /* @__PURE__ */ t(
411
+ /* @__PURE__ */ e(
409
412
  "div",
410
413
  {
411
- className: N(
414
+ className: p(
412
415
  "h-2 w-2 shrink-0 rounded-ds-full",
413
- De[u.priority]
416
+ Ee[u.priority]
414
417
  )
415
418
  }
416
419
  ),
417
- /* @__PURE__ */ t(
420
+ /* @__PURE__ */ e(
418
421
  "span",
419
422
  {
420
- className: N(
423
+ className: p(
421
424
  "flex-1 truncate text-ds-md",
422
- E ? "text-text-placeholder line-through" : "text-text-primary"
425
+ E ? "text-surface-fg-subtle line-through" : "text-surface-fg"
423
426
  ),
424
427
  children: u.title
425
428
  }
426
429
  ),
427
- T && /* @__PURE__ */ s(j, { className: "h-ico-md w-ico-md shrink-0", children: [
428
- T.image && /* @__PURE__ */ t(V, { src: T.image, alt: T.name }),
429
- /* @__PURE__ */ t($, { className: "bg-layer-03 text-ds-xs font-semibold text-text-on-color", children: G(T.name) })
430
+ T && /* @__PURE__ */ t(j, { className: "h-ico-md w-ico-md shrink-0", children: [
431
+ T.image && /* @__PURE__ */ e(H, { src: T.image, alt: T.name }),
432
+ /* @__PURE__ */ e(G, { className: "bg-surface-3 text-ds-xs font-semibold text-accent-fg", children: B(T.name) })
430
433
  ] })
431
434
  ]
432
435
  },
433
436
  u.id
434
437
  );
435
- }) }) : !I && /* @__PURE__ */ t(
436
- M,
438
+ }) }) : !w && /* @__PURE__ */ e(
439
+ F,
437
440
  {
438
- icon: /* @__PURE__ */ t(ve, {}),
441
+ icon: /* @__PURE__ */ e(Ie, {}),
439
442
  title: "No subtasks",
440
443
  description: "Break this task into smaller pieces",
441
444
  compact: !0
442
445
  }
443
446
  ),
444
- !D && (I ? /* @__PURE__ */ s("div", { className: "mt-ds-03 flex items-center gap-ds-03 rounded-ds-lg border border-border bg-layer-01 shadow-01 px-ds-04 py-ds-03", children: [
445
- /* @__PURE__ */ t(
447
+ !D && (w ? /* @__PURE__ */ t("div", { className: "mt-ds-03 flex items-center gap-ds-03 rounded-ds-lg border border-surface-border-strong bg-surface-1 shadow-01 px-ds-04 py-ds-03", children: [
448
+ /* @__PURE__ */ e(
446
449
  "input",
447
450
  {
448
- ref: a,
451
+ ref: l,
449
452
  type: "text",
450
- value: m,
451
- onChange: (u) => y(u.target.value),
452
- onKeyDown: h,
453
+ value: C,
454
+ onChange: (u) => N(u.target.value),
455
+ onKeyDown: f,
453
456
  onBlur: () => {
454
- m.trim() || v(!1);
457
+ C.trim() || I(!1);
455
458
  },
456
459
  placeholder: "Subtask title...",
457
- className: "flex-1 bg-transparent text-ds-md text-text-primary placeholder:text-text-placeholder outline-none"
460
+ className: "flex-1 bg-transparent text-ds-md text-surface-fg placeholder:text-surface-fg-subtle outline-none"
458
461
  }
459
462
  ),
460
- /* @__PURE__ */ t(
463
+ /* @__PURE__ */ e(
461
464
  "button",
462
465
  {
463
466
  type: "button",
464
- onClick: l,
465
- disabled: !m.trim(),
466
- className: "inline-flex h-6 items-center gap-ds-02 rounded-ds-md bg-interactive px-ds-03 text-ds-sm font-semibold text-text-on-color transition-colors hover:bg-interactive-hover disabled:opacity-[0.38]",
467
+ onClick: c,
468
+ disabled: !C.trim(),
469
+ className: "inline-flex h-6 items-center gap-ds-02 rounded-ds-md bg-accent-9 px-ds-03 text-ds-sm font-semibold text-accent-fg transition-colors hover:bg-accent-10 disabled:opacity-action-disabled",
467
470
  children: "Add"
468
471
  }
469
472
  )
470
- ] }) : /* @__PURE__ */ s(
473
+ ] }) : /* @__PURE__ */ t(
471
474
  "button",
472
475
  {
473
476
  type: "button",
474
- onClick: () => v(!0),
475
- className: "mt-ds-03 inline-flex items-center gap-ds-02b rounded-ds-lg px-ds-03 py-ds-02b text-ds-md text-text-placeholder transition-colors hover:bg-field hover:text-text-secondary",
477
+ onClick: () => I(!0),
478
+ className: "mt-ds-03 inline-flex items-center gap-ds-02b rounded-ds-lg px-ds-03 py-ds-02b text-ds-md text-surface-fg-subtle transition-colors hover:bg-surface-3 hover:text-surface-fg-muted",
476
479
  children: [
477
- /* @__PURE__ */ t(H, { className: "h-ico-sm w-ico-sm", stroke: 1.5 }),
480
+ /* @__PURE__ */ e($, { className: "h-ico-sm w-ico-sm", stroke: 1.5 }),
478
481
  "Add subtask"
479
482
  ]
480
483
  }
@@ -482,8 +485,8 @@ const Te = p.forwardRef(
482
485
  ] });
483
486
  }
484
487
  );
485
- Te.displayName = "SubtasksTab";
486
- function At(n) {
488
+ Re.displayName = "SubtasksTab";
489
+ function Ys(n) {
487
490
  return new Date(n).toLocaleDateString("en-IN", {
488
491
  month: "short",
489
492
  day: "numeric",
@@ -491,144 +494,145 @@ function At(n) {
491
494
  minute: "2-digit"
492
495
  });
493
496
  }
494
- const St = [
495
- { status: "APPROVED", label: "Approve", icon: fe },
496
- { status: "CHANGES_REQUESTED", label: "Request Changes", icon: we },
497
- { status: "REJECTED", label: "Reject", icon: Y }
498
- ], Ce = p.forwardRef(
497
+ const Ks = [
498
+ { status: "APPROVED", label: "Approve", icon: xe },
499
+ { status: "CHANGES_REQUESTED", label: "Request Changes", icon: Ce },
500
+ { status: "REJECTED", label: "Reject", icon: W }
501
+ ], Ae = o.forwardRef(
499
502
  function({
500
- reviews: e,
501
- members: b,
502
- onRequestReview: x,
503
- onUpdateStatus: d,
504
- className: c
505
- }, g) {
506
- const [D, f] = p.useState({}), [m, y] = p.useState(null), I = p.useMemo(
507
- () => b.map((a) => ({ id: a.id, name: a.name, avatar: a.image ?? void 0 })),
508
- [b]
509
- ), v = (a, w) => {
510
- d(a, w, D[a]), f((o) => {
511
- const l = { ...o };
512
- return delete l[a], l;
513
- }), y(null);
503
+ reviews: s,
504
+ members: g,
505
+ onRequestReview: h,
506
+ onUpdateStatus: b,
507
+ className: m,
508
+ ...y
509
+ }, D) {
510
+ const [x, d] = o.useState({}), [C, N] = o.useState(null), w = o.useMemo(
511
+ () => g.map((l) => ({ id: l.id, name: l.name, avatar: l.image ?? void 0 })),
512
+ [g]
513
+ ), I = (l, v) => {
514
+ b(l, v, x[l]), d((i) => {
515
+ const c = { ...i };
516
+ return delete c[l], c;
517
+ }), N(null);
514
518
  };
515
- return /* @__PURE__ */ s("div", { ref: g, className: N("flex flex-col", c), children: [
516
- e.length > 0 ? /* @__PURE__ */ t("div", { className: "space-y-ds-04", children: e.map((a) => {
517
- const w = Tt[a.status], o = m === a.id;
518
- return /* @__PURE__ */ s(
519
+ return /* @__PURE__ */ t("div", { ref: D, className: p("flex flex-col", m), ...y, children: [
520
+ s.length > 0 ? /* @__PURE__ */ e("div", { className: "space-y-ds-04", children: s.map((l) => {
521
+ const v = Fs[l.status], i = C === l.id;
522
+ return /* @__PURE__ */ t(
519
523
  "div",
520
524
  {
521
- className: "rounded-ds-lg border border-border bg-layer-01 shadow-01 p-ds-04",
525
+ className: "rounded-ds-lg border border-surface-border-strong bg-surface-1 shadow-01 p-ds-04",
522
526
  children: [
523
- /* @__PURE__ */ s("div", { className: "flex items-center gap-ds-03", children: [
524
- /* @__PURE__ */ s(j, { className: "h-ds-xs w-ds-xs shrink-0", children: [
525
- a.reviewer.image && /* @__PURE__ */ t(
526
- V,
527
+ /* @__PURE__ */ t("div", { className: "flex items-center gap-ds-03", children: [
528
+ /* @__PURE__ */ t(j, { className: "h-ds-xs w-ds-xs shrink-0", children: [
529
+ l.reviewer.image && /* @__PURE__ */ e(
530
+ H,
527
531
  {
528
- src: a.reviewer.image,
529
- alt: a.reviewer.name
532
+ src: l.reviewer.image,
533
+ alt: l.reviewer.name
530
534
  }
531
535
  ),
532
- /* @__PURE__ */ t($, { className: "bg-layer-03 text-ds-xs font-semibold text-text-on-color", children: G(a.reviewer.name) })
536
+ /* @__PURE__ */ e(G, { className: "bg-surface-3 text-ds-xs font-semibold text-accent-fg", children: B(l.reviewer.name) })
533
537
  ] }),
534
- /* @__PURE__ */ s("div", { className: "flex-1 min-w-0", children: [
535
- /* @__PURE__ */ t("span", { className: "text-ds-md font-medium text-text-primary", children: a.reviewer.name }),
536
- /* @__PURE__ */ s("span", { className: "ml-ds-03 text-ds-sm text-text-placeholder", children: [
538
+ /* @__PURE__ */ t("div", { className: "flex-1 min-w-0", children: [
539
+ /* @__PURE__ */ e("span", { className: "text-ds-md font-medium text-surface-fg", children: l.reviewer.name }),
540
+ /* @__PURE__ */ t("span", { className: "ml-ds-03 text-ds-sm text-surface-fg-subtle", children: [
537
541
  "requested by ",
538
- a.requestedBy.name
542
+ l.requestedBy.name
539
543
  ] })
540
544
  ] }),
541
- /* @__PURE__ */ t(
542
- xt,
545
+ /* @__PURE__ */ e(
546
+ Ss,
543
547
  {
544
- color: w.color,
545
- children: w.label
548
+ color: v.color,
549
+ children: v.label
546
550
  }
547
551
  )
548
552
  ] }),
549
- a.feedback && /* @__PURE__ */ t("div", { className: "mt-ds-03 rounded-ds-md bg-layer-02 px-ds-04 py-ds-03", children: /* @__PURE__ */ t("p", { className: "text-ds-sm text-text-secondary", children: a.feedback }) }),
550
- a.status === "PENDING" && /* @__PURE__ */ t("div", { className: "mt-ds-03", children: o ? /* @__PURE__ */ s("div", { className: "space-y-ds-03", children: [
551
- /* @__PURE__ */ t(
553
+ l.feedback && /* @__PURE__ */ e("div", { className: "mt-ds-03 rounded-ds-md bg-surface-2 px-ds-04 py-ds-03", children: /* @__PURE__ */ e("p", { className: "text-ds-sm text-surface-fg-muted", children: l.feedback }) }),
554
+ l.status === "PENDING" && /* @__PURE__ */ e("div", { className: "mt-ds-03", children: i ? /* @__PURE__ */ t("div", { className: "space-y-ds-03", children: [
555
+ /* @__PURE__ */ e(
552
556
  "textarea",
553
557
  {
554
- value: D[a.id] || "",
555
- onChange: (l) => f((h) => ({
556
- ...h,
557
- [a.id]: l.target.value
558
+ value: x[l.id] || "",
559
+ onChange: (c) => d((f) => ({
560
+ ...f,
561
+ [l.id]: c.target.value
558
562
  })),
559
563
  placeholder: "Add feedback (optional)...",
560
564
  rows: 2,
561
- className: "w-full resize-none rounded-ds-md border border-border bg-transparent px-ds-03 py-ds-03 text-ds-sm text-text-primary placeholder:text-text-placeholder outline-none focus:border-border-subtle"
565
+ className: "w-full resize-none rounded-ds-md border border-surface-border-strong bg-transparent px-ds-03 py-ds-03 text-ds-sm text-surface-fg placeholder:text-surface-fg-subtle outline-none focus:border-surface-border"
562
566
  }
563
567
  ),
564
- /* @__PURE__ */ s("div", { className: "flex items-center gap-ds-02b", children: [
565
- St.map((l) => {
566
- const h = l.icon;
567
- return /* @__PURE__ */ s(
568
+ /* @__PURE__ */ t("div", { className: "flex items-center gap-ds-02b", children: [
569
+ Ks.map((c) => {
570
+ const f = c.icon;
571
+ return /* @__PURE__ */ t(
568
572
  "button",
569
573
  {
570
574
  type: "button",
571
- onClick: () => v(a.id, l.status),
572
- className: N(
575
+ onClick: () => I(l.id, c.status),
576
+ className: p(
573
577
  "inline-flex items-center gap-ds-02 rounded-ds-md px-ds-03 py-ds-02 text-ds-sm font-semibold transition-colors",
574
- l.status === "APPROVED" && "bg-success-surface text-text-success hover:opacity-[0.9]",
575
- l.status === "CHANGES_REQUESTED" && "bg-warning-surface text-text-warning hover:opacity-[0.9]",
576
- l.status === "REJECTED" && "bg-error-surface text-text-error hover:opacity-[0.9]"
578
+ c.status === "APPROVED" && "bg-success-3 text-success-11 hover:opacity-90",
579
+ c.status === "CHANGES_REQUESTED" && "bg-warning-3 text-warning-11 hover:opacity-90",
580
+ c.status === "REJECTED" && "bg-error-3 text-error-11 hover:opacity-90"
577
581
  ),
578
582
  children: [
579
- /* @__PURE__ */ t(h, { className: "h-3 w-3", stroke: 2 }),
580
- l.label
583
+ /* @__PURE__ */ e(f, { className: "h-3 w-3", stroke: 2 }),
584
+ c.label
581
585
  ]
582
586
  },
583
- l.status
587
+ c.status
584
588
  );
585
589
  }),
586
- /* @__PURE__ */ t(
590
+ /* @__PURE__ */ e(
587
591
  "button",
588
592
  {
589
593
  type: "button",
590
- onClick: () => y(null),
591
- className: "ml-auto text-ds-sm text-text-placeholder hover:text-text-secondary",
594
+ onClick: () => N(null),
595
+ className: "ml-auto text-ds-sm text-surface-fg-subtle hover:text-surface-fg-muted",
592
596
  children: "Cancel"
593
597
  }
594
598
  )
595
599
  ] })
596
- ] }) : /* @__PURE__ */ t(
600
+ ] }) : /* @__PURE__ */ e(
597
601
  "button",
598
602
  {
599
603
  type: "button",
600
- onClick: () => y(a.id),
601
- className: "text-ds-sm font-medium text-interactive transition-colors hover:underline",
604
+ onClick: () => N(l.id),
605
+ className: "text-ds-sm font-medium text-accent-11 transition-colors hover:underline",
602
606
  children: "Respond"
603
607
  }
604
608
  ) }),
605
- /* @__PURE__ */ t("p", { className: "mt-ds-03 text-ds-xs text-text-placeholder", children: At(a.createdAt) })
609
+ /* @__PURE__ */ e("p", { className: "mt-ds-03 text-ds-xs text-surface-fg-subtle", children: Ys(l.createdAt) })
606
610
  ]
607
611
  },
608
- a.id
612
+ l.id
609
613
  );
610
- }) }) : /* @__PURE__ */ t(
611
- M,
614
+ }) }) : /* @__PURE__ */ e(
615
+ F,
612
616
  {
613
- icon: /* @__PURE__ */ t(Z, {}),
617
+ icon: /* @__PURE__ */ e(se, {}),
614
618
  title: "No reviews yet",
615
619
  description: "Request a review from a team member",
616
620
  compact: !0
617
621
  }
618
622
  ),
619
- /* @__PURE__ */ t(
620
- X,
623
+ /* @__PURE__ */ e(
624
+ ee,
621
625
  {
622
- members: I,
626
+ members: w,
623
627
  selectedIds: [],
624
- onSelect: (a) => x(a),
625
- children: /* @__PURE__ */ s(
628
+ onSelect: (l) => h(l),
629
+ children: /* @__PURE__ */ t(
626
630
  "button",
627
631
  {
628
632
  type: "button",
629
- className: "mt-ds-04 inline-flex items-center gap-ds-02b rounded-ds-lg px-ds-03 py-ds-02b text-ds-md text-text-placeholder transition-colors hover:bg-field hover:text-text-secondary",
633
+ className: "mt-ds-04 inline-flex items-center gap-ds-02b rounded-ds-lg px-ds-03 py-ds-02b text-ds-md text-surface-fg-subtle transition-colors hover:bg-surface-3 hover:text-surface-fg-muted",
630
634
  children: [
631
- /* @__PURE__ */ t(H, { className: "h-ico-sm w-ico-sm", stroke: 1.5 }),
635
+ /* @__PURE__ */ e($, { className: "h-ico-sm w-ico-sm", stroke: 1.5 }),
632
636
  "Request Review"
633
637
  ]
634
638
  }
@@ -638,17 +642,17 @@ const St = [
638
642
  ] });
639
643
  }
640
644
  );
641
- Ce.displayName = "ReviewTab";
642
- function Pt(n) {
643
- const e = new Date(n), x = (/* @__PURE__ */ new Date()).getTime() - e.getTime(), d = Math.floor(x / 6e4), c = Math.floor(d / 60), g = Math.floor(c / 24);
644
- return d < 1 ? "Just now" : d < 60 ? `${d}m ago` : c < 24 ? `${c}h ago` : g < 7 ? `${g}d ago` : e.toLocaleDateString("en-IN", {
645
+ Ae.displayName = "ReviewTab";
646
+ function Se(n) {
647
+ const s = new Date(n), h = (/* @__PURE__ */ new Date()).getTime() - s.getTime();
648
+ return Math.floor(h / 864e5) < 7 ? Ls(n) : s.toLocaleDateString("en-IN", {
645
649
  month: "short",
646
650
  day: "numeric",
647
651
  hour: "numeric",
648
652
  minute: "2-digit"
649
653
  });
650
654
  }
651
- function Lt(n) {
655
+ function Ws(n) {
652
656
  return n.authorType === "INTERNAL" && n.internalAuthor ? n.internalAuthor : n.authorType === "CLIENT" && n.clientAuthor ? {
653
657
  id: n.clientAuthor.id,
654
658
  name: n.clientAuthor.name,
@@ -656,106 +660,107 @@ function Lt(n) {
656
660
  image: null
657
661
  } : { id: n.authorId, name: "Unknown", image: null };
658
662
  }
659
- function Ot(n) {
663
+ function Js(n) {
660
664
  return n.replace(/<[^>]*>/g, "");
661
665
  }
662
- const Re = p.forwardRef(
666
+ const ke = o.forwardRef(
663
667
  function({
664
- comments: e,
665
- taskVisibility: b,
666
- onPostComment: x,
667
- className: d,
668
- clientMode: c = !1,
669
- richText: g = !0,
668
+ comments: s,
669
+ taskVisibility: g,
670
+ onPostComment: h,
671
+ className: b,
672
+ clientMode: m = !1,
673
+ richText: y = !0,
670
674
  renderEditor: D,
671
- renderViewer: f
672
- }, m) {
673
- const [y, I] = p.useState(""), v = p.useRef(null), a = D ?? (g ? (l) => /* @__PURE__ */ t(
674
- bt,
675
+ renderViewer: x,
676
+ ...d
677
+ }, C) {
678
+ const [N, w] = o.useState(""), I = o.useRef(null), l = D ?? (y ? (c) => /* @__PURE__ */ e(
679
+ Ps,
675
680
  {
676
- content: l.content,
677
- onChange: l.onChange,
678
- placeholder: l.placeholder,
681
+ content: c.content,
682
+ onChange: c.onChange,
683
+ placeholder: c.placeholder,
679
684
  editable: !0,
680
685
  className: "min-h-[80px]"
681
686
  }
682
- ) : void 0), w = f ?? (g ? (l) => /* @__PURE__ */ t(ft, { content: l.content, className: l.className }) : void 0), o = () => {
683
- const l = y.trim();
684
- l.replace(/<[^>]*>/g, "").trim() && (x(l, c ? "CLIENT" : "INTERNAL"), I(""));
687
+ ) : void 0), v = x ?? (y ? (c) => /* @__PURE__ */ e(ks, { content: c.content, className: c.className }) : void 0), i = () => {
688
+ const c = N.trim();
689
+ c.replace(/<[^>]*>/g, "").trim() && (h(c, m ? "CLIENT" : "INTERNAL"), w(""));
685
690
  };
686
- return p.useEffect(() => {
687
- v.current && (v.current.scrollTop = v.current.scrollHeight);
688
- }, [e.length]), /* @__PURE__ */ s("div", { ref: m, className: N("flex flex-col", d), children: [
689
- e.length > 0 ? /* @__PURE__ */ t(
691
+ return o.useEffect(() => {
692
+ I.current && (I.current.scrollTop = I.current.scrollHeight);
693
+ }, [s.length]), /* @__PURE__ */ t("div", { ref: C, className: p("flex flex-col", b), ...d, children: [
694
+ s.length > 0 ? /* @__PURE__ */ e(
690
695
  "div",
691
696
  {
692
- ref: v,
697
+ ref: I,
693
698
  className: "flex-1 space-y-ds-05 overflow-y-auto",
694
- children: e.map((l) => {
695
- const h = Lt(l), u = l.authorType === "CLIENT";
696
- return /* @__PURE__ */ s("div", { className: "flex gap-ds-03", children: [
697
- /* @__PURE__ */ s(j, { className: "h-ds-xs-plus w-ds-xs-plus shrink-0 mt-ds-01", children: [
698
- h.image && /* @__PURE__ */ t(V, { src: h.image, alt: h.name }),
699
- /* @__PURE__ */ t(
700
- $,
699
+ children: s.map((c) => {
700
+ const f = Ws(c), u = c.authorType === "CLIENT";
701
+ return /* @__PURE__ */ t("div", { className: "flex gap-ds-03", children: [
702
+ /* @__PURE__ */ t(j, { className: "h-ds-xs-plus w-ds-xs-plus shrink-0 mt-ds-01", children: [
703
+ f.image && /* @__PURE__ */ e(H, { src: f.image, alt: f.name }),
704
+ /* @__PURE__ */ e(
705
+ G,
701
706
  {
702
- className: N(
707
+ className: p(
703
708
  "text-ds-xs font-semibold",
704
709
  /* avatar initials — below scale, leave as-is */
705
- u ? "bg-warning-surface text-text-warning" : "bg-layer-03 text-text-on-color"
710
+ u ? "bg-warning-3 text-warning-11" : "bg-surface-3 text-accent-fg"
706
711
  ),
707
- children: G(h.name)
712
+ children: B(f.name)
708
713
  }
709
714
  )
710
715
  ] }),
711
- /* @__PURE__ */ s("div", { className: "flex-1 min-w-0", children: [
712
- /* @__PURE__ */ s("div", { className: "flex items-baseline gap-ds-03", children: [
713
- /* @__PURE__ */ t("span", { className: "text-ds-md font-medium text-text-primary", children: h.name }),
714
- c ? !u && /* @__PURE__ */ t("span", { className: "rounded bg-layer-03 px-ds-02 py-px text-ds-xs font-semibold uppercase tracking-wider text-text-on-color", children: "Team" }) : u && /* @__PURE__ */ t("span", { className: "rounded bg-warning-surface px-ds-02 py-px text-ds-xs font-semibold uppercase tracking-wider text-text-warning", children: "Client" }),
715
- /* @__PURE__ */ t("span", { className: "text-ds-sm text-text-placeholder", children: Pt(l.createdAt) })
716
+ /* @__PURE__ */ t("div", { className: "flex-1 min-w-0", children: [
717
+ /* @__PURE__ */ t("div", { className: "flex items-baseline gap-ds-03", children: [
718
+ /* @__PURE__ */ e("span", { className: "text-ds-md font-medium text-surface-fg", children: f.name }),
719
+ m ? !u && /* @__PURE__ */ e("span", { className: "rounded bg-surface-3 px-ds-02 py-px text-ds-xs font-semibold uppercase tracking-wider text-accent-fg", children: "Team" }) : u && /* @__PURE__ */ e("span", { className: "rounded bg-warning-3 px-ds-02 py-px text-ds-xs font-semibold uppercase tracking-wider text-warning-11", children: "Client" }),
720
+ /* @__PURE__ */ e("span", { className: "text-ds-sm text-surface-fg-subtle", children: Se(c.createdAt) })
716
721
  ] }),
717
- /* @__PURE__ */ t("div", { className: "mt-ds-02", children: w ? w({
718
- content: l.content,
722
+ /* @__PURE__ */ e("div", { className: "mt-ds-02", children: v ? v({
723
+ content: c.content,
719
724
  className: "[&_.ProseMirror]:!min-h-0 [&_.ProseMirror]:!p-0"
720
- }) : /* @__PURE__ */ t("p", { className: "text-ds-md text-text-secondary whitespace-pre-wrap", children: Ot(l.content) }) })
725
+ }) : /* @__PURE__ */ e("p", { className: "text-ds-md text-surface-fg-muted whitespace-pre-wrap", children: Js(c.content) }) })
721
726
  ] })
722
- ] }, l.id);
727
+ ] }, c.id);
723
728
  })
724
729
  }
725
- ) : /* @__PURE__ */ t(
726
- M,
730
+ ) : /* @__PURE__ */ e(
731
+ F,
727
732
  {
728
- icon: /* @__PURE__ */ t(Ie, {}),
733
+ icon: /* @__PURE__ */ e(De, {}),
729
734
  title: "No comments yet",
730
735
  description: "Start a conversation about this task",
731
736
  compact: !0
732
737
  }
733
738
  ),
734
- /* @__PURE__ */ s("div", { className: "mt-ds-05 space-y-ds-03", children: [
735
- b === "EVERYONE" && !c && /* @__PURE__ */ t("p", { className: "text-ds-xs text-text-warning", children: "This task is visible to clients. Comments may be seen by external users." }),
736
- a ? a({
737
- content: y,
738
- onChange: I,
739
+ /* @__PURE__ */ t("div", { className: "mt-ds-05 space-y-ds-03", children: [
740
+ g === "EVERYONE" && !m && /* @__PURE__ */ e("p", { className: "text-ds-xs text-warning-11", children: "This task is visible to clients. Comments may be seen by external users." }),
741
+ l ? l({
742
+ content: N,
743
+ onChange: w,
739
744
  placeholder: "Write a comment..."
740
- }) : /* @__PURE__ */ t(
745
+ }) : /* @__PURE__ */ e(
741
746
  "textarea",
742
747
  {
743
- value: y,
744
- onChange: (l) => I(l.target.value),
748
+ value: N,
749
+ onChange: (c) => w(c.target.value),
745
750
  placeholder: "Write a comment...",
746
751
  rows: 3,
747
- className: "w-full resize-none rounded-ds-md border border-border bg-transparent px-ds-04 py-ds-03 text-ds-md text-text-primary placeholder:text-text-placeholder outline-none focus:border-border-subtle"
752
+ className: "w-full resize-none rounded-ds-md border border-surface-border-strong bg-transparent px-ds-04 py-ds-03 text-ds-md text-surface-fg placeholder:text-surface-fg-subtle outline-none focus:border-surface-border"
748
753
  }
749
754
  ),
750
- /* @__PURE__ */ t("div", { className: "flex justify-end", children: /* @__PURE__ */ s(
755
+ /* @__PURE__ */ e("div", { className: "flex justify-end", children: /* @__PURE__ */ t(
751
756
  "button",
752
757
  {
753
758
  type: "button",
754
- onClick: o,
755
- disabled: !y.replace(/<[^>]*>/g, "").trim(),
756
- className: "inline-flex items-center gap-ds-02b rounded-ds-lg bg-interactive px-ds-04 py-ds-02b text-ds-sm font-semibold text-text-on-color transition-colors hover:bg-interactive-hover disabled:opacity-[0.38] disabled:cursor-not-allowed",
759
+ onClick: i,
760
+ disabled: !N.replace(/<[^>]*>/g, "").trim(),
761
+ className: "inline-flex items-center gap-ds-02b rounded-ds-lg bg-accent-9 px-ds-04 py-ds-02b text-ds-sm font-semibold text-accent-fg transition-colors hover:bg-accent-10 disabled:opacity-action-disabled disabled:cursor-not-allowed",
757
762
  children: [
758
- /* @__PURE__ */ t(et, { className: "h-ico-sm w-ico-sm", stroke: 2 }),
763
+ /* @__PURE__ */ e(ps, { className: "h-ico-sm w-ico-sm", stroke: 2 }),
759
764
  "Comment"
760
765
  ]
761
766
  }
@@ -764,169 +769,170 @@ const Re = p.forwardRef(
764
769
  ] });
765
770
  }
766
771
  );
767
- Re.displayName = "ConversationTab";
768
- function _t(n) {
769
- if (!n) return me;
770
- const e = n.toLowerCase();
771
- return ["jpg", "jpeg", "png", "gif", "svg", "webp", "bmp"].includes(e) ? it : ["pdf", "doc", "docx", "txt", "rtf"].includes(e) ? lt : ["js", "ts", "jsx", "tsx", "py", "rb", "go", "rs", "html", "css", "json"].includes(e) ? at : ["xls", "xlsx", "csv"].includes(e) ? ot : ["zip", "tar", "gz", "rar", "7z"].includes(e) ? dt : me;
772
+ ke.displayName = "ConversationTab";
773
+ function Ms(n) {
774
+ if (!n) return fe;
775
+ const s = n.toLowerCase();
776
+ return ["jpg", "jpeg", "png", "gif", "svg", "webp", "bmp"].includes(s) ? vs : ["pdf", "doc", "docx", "txt", "rtf"].includes(s) ? ys : ["js", "ts", "jsx", "tsx", "py", "rb", "go", "rs", "html", "css", "json"].includes(s) ? ws : ["xls", "xlsx", "csv"].includes(s) ? Is : ["zip", "tar", "gz", "rar", "7z"].includes(s) ? Cs : fe;
772
777
  }
773
- function kt(n) {
778
+ function Qs(n) {
774
779
  return new Date(n).toLocaleDateString("en-IN", {
775
780
  month: "short",
776
781
  day: "numeric",
777
782
  year: "numeric"
778
783
  });
779
784
  }
780
- const Ae = p.forwardRef(
785
+ const Pe = o.forwardRef(
781
786
  function({
782
- files: e,
783
- onUpload: b,
784
- onDelete: x,
785
- isUploading: d = !1,
786
- className: c,
787
- readOnly: g = !1
788
- }, D) {
789
- const f = p.useRef(null), [m, y] = p.useState(!1), I = (o) => {
790
- var h;
791
- const l = (h = o.target.files) == null ? void 0 : h[0];
792
- l && b(l), f.current && (f.current.value = "");
793
- }, v = (o) => {
794
- var h;
795
- o.preventDefault(), y(!1);
796
- const l = (h = o.dataTransfer.files) == null ? void 0 : h[0];
797
- l && b(l);
798
- }, a = (o) => {
799
- o.preventDefault(), y(!0);
800
- }, w = () => {
801
- y(!1);
787
+ files: s,
788
+ onUpload: g,
789
+ onDelete: h,
790
+ isUploading: b = !1,
791
+ className: m,
792
+ readOnly: y = !1,
793
+ ...D
794
+ }, x) {
795
+ const d = o.useRef(null), [C, N] = o.useState(!1), w = (i) => {
796
+ var f;
797
+ const c = (f = i.target.files) == null ? void 0 : f[0];
798
+ c && g(c), d.current && (d.current.value = "");
799
+ }, I = (i) => {
800
+ var f;
801
+ i.preventDefault(), N(!1);
802
+ const c = (f = i.dataTransfer.files) == null ? void 0 : f[0];
803
+ c && g(c);
804
+ }, l = (i) => {
805
+ i.preventDefault(), N(!0);
806
+ }, v = () => {
807
+ N(!1);
802
808
  };
803
- return /* @__PURE__ */ s("div", { ref: D, className: N("flex flex-col", c), children: [
804
- !g && /* @__PURE__ */ s(
809
+ return /* @__PURE__ */ t("div", { ref: x, className: p("flex flex-col", m), ...D, children: [
810
+ !y && /* @__PURE__ */ t(
805
811
  "div",
806
812
  {
807
813
  role: "region",
808
814
  "aria-label": "File upload drop zone",
809
- onDrop: v,
810
- onDragOver: a,
811
- onDragLeave: w,
812
- className: N(
815
+ onDrop: I,
816
+ onDragOver: l,
817
+ onDragLeave: v,
818
+ className: p(
813
819
  "rounded-ds-lg border-2 border-dashed transition-colors",
814
- m ? "border-interactive bg-interactive/5" : "border-border"
820
+ C ? "border-accent-7 bg-accent-1" : "border-surface-border-strong"
815
821
  ),
816
822
  children: [
817
- /* @__PURE__ */ s("div", { className: "flex flex-col items-center gap-ds-03 py-ds-06", children: [
818
- /* @__PURE__ */ t("div", { className: "flex h-ds-sm-plus w-ds-sm-plus items-center justify-center rounded-ds-lg bg-layer-02", children: /* @__PURE__ */ t(
819
- tt,
823
+ /* @__PURE__ */ t("div", { className: "flex flex-col items-center gap-ds-03 py-ds-06", children: [
824
+ /* @__PURE__ */ e("div", { className: "flex h-ds-sm-plus w-ds-sm-plus items-center justify-center rounded-ds-lg bg-surface-2", children: /* @__PURE__ */ e(
825
+ gs,
820
826
  {
821
- className: "h-ico-sm w-ico-sm text-text-placeholder",
827
+ className: "h-ico-sm w-ico-sm text-surface-fg-subtle",
822
828
  stroke: 1.5
823
829
  }
824
830
  ) }),
825
- /* @__PURE__ */ s("div", { className: "text-center", children: [
826
- /* @__PURE__ */ t(
831
+ /* @__PURE__ */ t("div", { className: "text-center", children: [
832
+ /* @__PURE__ */ e(
827
833
  "button",
828
834
  {
829
835
  type: "button",
830
836
  onClick: () => {
831
- var o;
832
- return (o = f.current) == null ? void 0 : o.click();
837
+ var i;
838
+ return (i = d.current) == null ? void 0 : i.click();
833
839
  },
834
- disabled: d,
835
- className: "text-ds-md font-medium text-interactive transition-colors hover:underline disabled:opacity-[0.38]",
836
- children: d ? "Uploading..." : "Click to upload"
840
+ disabled: b,
841
+ className: "text-ds-md font-medium text-accent-11 transition-colors hover:underline disabled:opacity-action-disabled",
842
+ children: b ? "Uploading..." : "Click to upload"
837
843
  }
838
844
  ),
839
- /* @__PURE__ */ s("span", { className: "text-ds-md text-text-placeholder", children: [
845
+ /* @__PURE__ */ t("span", { className: "text-ds-md text-surface-fg-subtle", children: [
840
846
  " ",
841
847
  "or drag and drop"
842
848
  ] })
843
849
  ] })
844
850
  ] }),
845
- /* @__PURE__ */ t(
851
+ /* @__PURE__ */ e(
846
852
  "input",
847
853
  {
848
- ref: f,
854
+ ref: d,
849
855
  type: "file",
850
- onChange: I,
856
+ onChange: w,
851
857
  className: "hidden"
852
858
  }
853
859
  )
854
860
  ]
855
861
  }
856
862
  ),
857
- e.length > 0 ? /* @__PURE__ */ t("div", { className: "mt-ds-05 space-y-ds-02", children: e.map((o) => {
858
- const l = _t(o.fileType);
859
- return /* @__PURE__ */ s(
863
+ s.length > 0 ? /* @__PURE__ */ e("div", { className: "mt-ds-05 space-y-ds-02", children: s.map((i) => {
864
+ const c = Ms(i.fileType);
865
+ return /* @__PURE__ */ t(
860
866
  "div",
861
867
  {
862
- className: "group flex items-center gap-ds-04 rounded-ds-lg px-ds-03 py-ds-03 transition-colors hover:bg-field",
868
+ className: "group flex items-center gap-ds-04 rounded-ds-lg px-ds-03 py-ds-03 transition-colors hover:bg-surface-3",
863
869
  children: [
864
- /* @__PURE__ */ t("div", { className: "flex h-ds-sm w-ds-sm shrink-0 items-center justify-center rounded-ds-lg bg-layer-02", children: /* @__PURE__ */ t(
865
- l,
870
+ /* @__PURE__ */ e("div", { className: "flex h-ds-sm w-ds-sm shrink-0 items-center justify-center rounded-ds-lg bg-surface-2", children: /* @__PURE__ */ e(
871
+ c,
866
872
  {
867
- className: "h-ico-sm w-ico-sm text-text-tertiary",
873
+ className: "h-ico-sm w-ico-sm text-surface-fg-subtle",
868
874
  stroke: 1.5
869
875
  }
870
876
  ) }),
871
- /* @__PURE__ */ s("div", { className: "flex-1 min-w-0", children: [
872
- /* @__PURE__ */ t("p", { className: "truncate text-ds-md font-medium text-text-primary", children: o.title }),
873
- /* @__PURE__ */ s("p", { className: "text-ds-sm text-text-placeholder", children: [
874
- kt(o.createdAt),
875
- /* @__PURE__ */ t("span", { className: "mx-ds-02b", children: "by" }),
876
- o.uploadedBy.name
877
+ /* @__PURE__ */ t("div", { className: "flex-1 min-w-0", children: [
878
+ /* @__PURE__ */ e("p", { className: "truncate text-ds-md font-medium text-surface-fg", children: i.title }),
879
+ /* @__PURE__ */ t("p", { className: "text-ds-sm text-surface-fg-subtle", children: [
880
+ Qs(i.createdAt),
881
+ /* @__PURE__ */ e("span", { className: "mx-ds-02b", children: "by" }),
882
+ i.uploadedBy.name
877
883
  ] })
878
884
  ] }),
879
- /* @__PURE__ */ s("div", { className: "flex items-center gap-ds-02 opacity-0 transition-opacity group-hover:opacity-100", children: [
880
- o.externalUrl && /* @__PURE__ */ t(
885
+ /* @__PURE__ */ t("div", { className: "flex items-center gap-ds-02 opacity-0 transition-opacity group-hover:opacity-100", children: [
886
+ i.externalUrl && /* @__PURE__ */ e(
881
887
  "a",
882
888
  {
883
- href: o.externalUrl,
889
+ href: i.externalUrl,
884
890
  target: "_blank",
885
891
  rel: "noopener noreferrer",
886
- className: "inline-flex h-ds-xs-plus w-ds-xs-plus items-center justify-center rounded-ds-md transition-colors hover:bg-layer-02",
887
- title: o.externalLabel ?? "Open externally",
888
- children: /* @__PURE__ */ t(st, { className: "h-ico-sm w-ico-sm text-text-tertiary" })
892
+ className: "inline-flex h-ds-xs-plus w-ds-xs-plus items-center justify-center rounded-ds-md transition-colors hover:bg-surface-2",
893
+ title: i.externalLabel ?? "Open externally",
894
+ children: /* @__PURE__ */ e(bs, { className: "h-ico-sm w-ico-sm text-surface-fg-subtle" })
889
895
  }
890
896
  ),
891
- o.downloadUrl && /* @__PURE__ */ t(
897
+ i.downloadUrl && /* @__PURE__ */ e(
892
898
  "a",
893
899
  {
894
- href: /^https?:\/\//.test(o.downloadUrl) ? o.downloadUrl : "#",
900
+ href: /^https?:\/\//.test(i.downloadUrl) ? i.downloadUrl : "#",
895
901
  target: "_blank",
896
902
  rel: "noopener noreferrer",
897
- className: "inline-flex h-ds-xs-plus w-ds-xs-plus items-center justify-center rounded-ds-md transition-colors hover:bg-layer-02",
903
+ className: "inline-flex h-ds-xs-plus w-ds-xs-plus items-center justify-center rounded-ds-md transition-colors hover:bg-surface-2",
898
904
  title: "Download",
899
- children: /* @__PURE__ */ t(rt, { className: "h-ico-sm w-ico-sm text-text-tertiary" })
905
+ children: /* @__PURE__ */ e(xs, { className: "h-ico-sm w-ico-sm text-surface-fg-subtle" })
900
906
  }
901
907
  ),
902
- !g && /* @__PURE__ */ s(gt, { children: [
903
- /* @__PURE__ */ t(Nt, { asChild: !0, children: /* @__PURE__ */ t(
908
+ !y && /* @__PURE__ */ t(Os, { children: [
909
+ /* @__PURE__ */ e(_s, { asChild: !0, children: /* @__PURE__ */ e(
904
910
  "button",
905
911
  {
906
912
  type: "button",
907
- className: "inline-flex h-ds-xs-plus w-ds-xs-plus items-center justify-center rounded-ds-md transition-colors hover:bg-error-surface",
908
- title: "Delete",
909
- children: /* @__PURE__ */ t(nt, { className: "h-ico-sm w-ico-sm text-text-error" })
913
+ className: "inline-flex h-ds-xs-plus w-ds-xs-plus items-center justify-center rounded-ds-md transition-colors hover:bg-error-3",
914
+ "aria-label": "Delete file",
915
+ children: /* @__PURE__ */ e(Ns, { className: "h-ico-sm w-ico-sm text-error-11" })
910
916
  }
911
917
  ) }),
912
- /* @__PURE__ */ s(yt, { children: [
913
- /* @__PURE__ */ s(vt, { children: [
914
- /* @__PURE__ */ t(wt, { children: "Delete file?" }),
915
- /* @__PURE__ */ s(It, { children: [
918
+ /* @__PURE__ */ t(Vs, { children: [
919
+ /* @__PURE__ */ t(js, { children: [
920
+ /* @__PURE__ */ e(Hs, { children: "Delete file?" }),
921
+ /* @__PURE__ */ t(Gs, { children: [
916
922
  '"',
917
- o.title,
923
+ i.title,
918
924
  '" will be permanently deleted. This cannot be undone.'
919
925
  ] })
920
926
  ] }),
921
- /* @__PURE__ */ s(Dt, { children: [
922
- /* @__PURE__ */ t(ue, { asChild: !0, children: /* @__PURE__ */ t(pe, { variant: "outline", size: "sm", children: "Cancel" }) }),
923
- /* @__PURE__ */ t(ue, { asChild: !0, children: /* @__PURE__ */ t(
927
+ /* @__PURE__ */ t($s, { children: [
928
+ /* @__PURE__ */ e(he, { asChild: !0, children: /* @__PURE__ */ e(pe, { variant: "outline", size: "sm", children: "Cancel" }) }),
929
+ /* @__PURE__ */ e(he, { asChild: !0, children: /* @__PURE__ */ e(
924
930
  pe,
925
931
  {
926
932
  variant: "solid",
927
933
  color: "error",
928
934
  size: "sm",
929
- onClick: () => x(o.id),
935
+ onClick: () => h(i.id),
930
936
  children: "Delete"
931
937
  }
932
938
  ) })
@@ -936,12 +942,12 @@ const Ae = p.forwardRef(
936
942
  ] })
937
943
  ]
938
944
  },
939
- o.id
945
+ i.id
940
946
  );
941
- }) }) : /* @__PURE__ */ t("div", { className: "mt-ds-03", children: /* @__PURE__ */ t(
942
- M,
947
+ }) }) : /* @__PURE__ */ e("div", { className: "mt-ds-03", children: /* @__PURE__ */ e(
948
+ F,
943
949
  {
944
- icon: /* @__PURE__ */ t(ee, {}),
950
+ icon: /* @__PURE__ */ e(te, {}),
945
951
  title: "No files attached",
946
952
  description: "Upload files to share with your team",
947
953
  compact: !0
@@ -950,383 +956,399 @@ const Ae = p.forwardRef(
950
956
  ] });
951
957
  }
952
958
  );
953
- Ae.displayName = "FilesTab";
954
- const jt = {
959
+ Pe.displayName = "FilesTab";
960
+ const Us = {
955
961
  "task.created": {
956
- icon: H,
957
- color: "text-success-text",
958
- dotColor: "bg-success",
962
+ icon: $,
963
+ color: "text-success-11",
964
+ dotColor: "bg-success-9",
959
965
  getDescription: () => "created this task"
960
966
  },
961
967
  "task.updated": {
962
- icon: ht,
963
- color: "text-category-slate-text",
964
- dotColor: "bg-category-slate",
968
+ icon: As,
969
+ color: "text-category-slate-11",
970
+ dotColor: "bg-category-slate-9",
965
971
  getDescription: (n) => {
966
- const e = n.metadata;
967
- return (e == null ? void 0 : e.field) === "title" ? "updated the title" : (e == null ? void 0 : e.field) === "description" ? "updated the description" : (e == null ? void 0 : e.field) === "priority" ? `changed priority to ${(e == null ? void 0 : e.newValue) || "unknown"}` : (e == null ? void 0 : e.field) === "dueDate" ? "updated the due date" : (e == null ? void 0 : e.field) === "labels" ? "updated labels" : "updated this task";
972
+ const s = n.metadata;
973
+ return (s == null ? void 0 : s.field) === "title" ? "updated the title" : (s == null ? void 0 : s.field) === "description" ? "updated the description" : (s == null ? void 0 : s.field) === "priority" ? `changed priority to ${(s == null ? void 0 : s.newValue) || "unknown"}` : (s == null ? void 0 : s.field) === "dueDate" ? "updated the due date" : (s == null ? void 0 : s.field) === "labels" ? "updated labels" : "updated this task";
968
974
  }
969
975
  },
970
976
  "task.moved": {
971
- icon: pt,
972
- color: "text-warning-text",
973
- dotColor: "bg-warning",
977
+ icon: Rs,
978
+ color: "text-warning-11",
979
+ dotColor: "bg-warning-9",
974
980
  getDescription: (n) => {
975
- const e = n.metadata, b = (e == null ? void 0 : e.fromColumn) || "unknown", x = (e == null ? void 0 : e.toColumn) || "unknown";
976
- return `moved from ${b} to ${x}`;
981
+ const s = n.metadata, g = (s == null ? void 0 : s.fromColumn) || "unknown", h = (s == null ? void 0 : s.toColumn) || "unknown";
982
+ return `moved from ${g} to ${h}`;
977
983
  }
978
984
  },
979
985
  "task.assigned": {
980
- icon: ut,
981
- color: "text-category-cyan-text",
982
- dotColor: "bg-category-cyan",
986
+ icon: Ts,
987
+ color: "text-category-cyan-11",
988
+ dotColor: "bg-category-cyan-9",
983
989
  getDescription: (n) => {
984
- const e = n.metadata;
985
- return `assigned ${(e == null ? void 0 : e.assigneeName) || "a user"}`;
990
+ const s = n.metadata;
991
+ return `assigned ${(s == null ? void 0 : s.assigneeName) || "a user"}`;
986
992
  }
987
993
  },
988
994
  "task.unassigned": {
989
- icon: mt,
990
- color: "text-text-secondary",
991
- dotColor: "bg-icon-disabled",
995
+ icon: Es,
996
+ color: "text-surface-fg-muted",
997
+ dotColor: "bg-disabled",
992
998
  getDescription: (n) => {
993
- const e = n.metadata;
994
- return `removed ${(e == null ? void 0 : e.assigneeName) || "a user"}`;
999
+ const s = n.metadata;
1000
+ return `removed ${(s == null ? void 0 : s.assigneeName) || "a user"}`;
995
1001
  }
996
1002
  },
997
1003
  "task.commented": {
998
- icon: we,
999
- color: "text-interactive",
1000
- dotColor: "bg-interactive",
1004
+ icon: Ce,
1005
+ color: "text-accent-11",
1006
+ dotColor: "bg-accent-9",
1001
1007
  getDescription: () => "added a comment"
1002
1008
  },
1003
1009
  "task.file_uploaded": {
1004
- icon: ee,
1005
- color: "text-category-indigo-text",
1006
- dotColor: "bg-category-indigo",
1010
+ icon: te,
1011
+ color: "text-category-indigo-11",
1012
+ dotColor: "bg-category-indigo-9",
1007
1013
  getDescription: (n) => {
1008
- const e = n.metadata;
1009
- return `uploaded ${(e == null ? void 0 : e.fileName) || "a file"}`;
1014
+ const s = n.metadata;
1015
+ return `uploaded ${(s == null ? void 0 : s.fileName) || "a file"}`;
1010
1016
  }
1011
1017
  },
1012
1018
  "task.review_requested": {
1013
- icon: Z,
1014
- color: "text-warning-text",
1015
- dotColor: "bg-warning",
1019
+ icon: se,
1020
+ color: "text-warning-11",
1021
+ dotColor: "bg-warning-9",
1016
1022
  getDescription: (n) => {
1017
- const e = n.metadata;
1018
- return `requested review from ${(e == null ? void 0 : e.reviewerName) || "a reviewer"}`;
1023
+ const s = n.metadata;
1024
+ return `requested review from ${(s == null ? void 0 : s.reviewerName) || "a reviewer"}`;
1019
1025
  }
1020
1026
  },
1021
1027
  "task.review_completed": {
1022
- icon: ct,
1023
- color: "text-success-text",
1024
- dotColor: "bg-success",
1028
+ icon: Ds,
1029
+ color: "text-success-11",
1030
+ dotColor: "bg-success-9",
1025
1031
  getDescription: (n) => {
1026
- const e = n.metadata;
1027
- return `${(e == null ? void 0 : e.status) || "reviewed"} the task`;
1032
+ const s = n.metadata;
1033
+ return `${(s == null ? void 0 : s.status) || "reviewed"} the task`;
1028
1034
  }
1029
1035
  },
1030
1036
  "task.visibility_changed": {
1031
- icon: ye,
1032
- color: "text-text-tertiary",
1033
- dotColor: "bg-icon-secondary",
1037
+ icon: we,
1038
+ color: "text-surface-fg-subtle",
1039
+ dotColor: "bg-surface-fg-subtle",
1034
1040
  getDescription: (n) => {
1035
- const e = n.metadata;
1036
- return `changed visibility to ${(e == null ? void 0 : e.visibility) || "unknown"}`;
1041
+ const s = n.metadata;
1042
+ return `changed visibility to ${(s == null ? void 0 : s.visibility) || "unknown"}`;
1037
1043
  }
1038
1044
  },
1039
1045
  "task.priority_changed": {
1040
- icon: be,
1041
- color: "text-error-text",
1042
- dotColor: "bg-error",
1046
+ icon: Ne,
1047
+ color: "text-error-11",
1048
+ dotColor: "bg-error-9",
1043
1049
  getDescription: (n) => {
1044
- const e = n.metadata;
1045
- return `changed priority to ${(e == null ? void 0 : e.priority) || "unknown"}`;
1050
+ const s = n.metadata;
1051
+ return `changed priority to ${(s == null ? void 0 : s.priority) || "unknown"}`;
1046
1052
  }
1047
1053
  },
1048
1054
  "task.labels_changed": {
1049
- icon: Ne,
1050
- color: "text-category-amber-text",
1051
- dotColor: "bg-category-amber",
1055
+ icon: ye,
1056
+ color: "text-category-amber-11",
1057
+ dotColor: "bg-category-amber-9",
1052
1058
  getDescription: () => "updated labels"
1053
1059
  },
1054
1060
  "task.due_date_changed": {
1055
- icon: ge,
1056
- color: "text-warning-text",
1057
- dotColor: "bg-warning",
1061
+ icon: ve,
1062
+ color: "text-warning-11",
1063
+ dotColor: "bg-warning-9",
1058
1064
  getDescription: (n) => {
1059
- const e = n.metadata;
1060
- return e != null && e.dueDate ? `set due date to ${e.dueDate}` : "updated the due date";
1065
+ const s = n.metadata;
1066
+ return s != null && s.dueDate ? `set due date to ${s.dueDate}` : "updated the due date";
1061
1067
  }
1062
1068
  }
1063
- }, Vt = {
1064
- icon: te,
1065
- color: "text-text-placeholder",
1066
- dotColor: "bg-icon-disabled",
1069
+ }, Xs = {
1070
+ icon: re,
1071
+ color: "text-surface-fg-subtle",
1072
+ dotColor: "bg-disabled",
1067
1073
  getDescription: (n) => n.action
1068
1074
  };
1069
- function $t(n) {
1070
- const e = new Date(n), x = (/* @__PURE__ */ new Date()).getTime() - e.getTime(), d = Math.floor(x / 6e4), c = Math.floor(d / 60), g = Math.floor(c / 24);
1071
- return d < 1 ? "Just now" : d < 60 ? `${d}m ago` : c < 24 ? `${c}h ago` : g < 7 ? `${g}d ago` : e.toLocaleDateString("en-IN", {
1072
- month: "short",
1073
- day: "numeric",
1074
- hour: "numeric",
1075
- minute: "2-digit"
1076
- });
1077
- }
1078
- function Ht(n) {
1079
- const e = n.metadata;
1080
- return e != null && e.actorName ? e.actorName : n.actorType === "SYSTEM" ? "System" : n.actorType === "AGENT" ? "AI Agent" : "Someone";
1075
+ function Zs(n) {
1076
+ const s = n.metadata;
1077
+ return s != null && s.actorName ? s.actorName : n.actorType === "SYSTEM" ? "System" : n.actorType === "AGENT" ? "AI Agent" : "Someone";
1081
1078
  }
1082
- const Se = p.forwardRef(
1083
- function({ activities: e, className: b }, x) {
1084
- return e.length === 0 ? /* @__PURE__ */ t(
1085
- M,
1079
+ const Le = o.forwardRef(
1080
+ function({ activities: s, className: g, ...h }, b) {
1081
+ return s.length === 0 ? /* @__PURE__ */ e(
1082
+ F,
1086
1083
  {
1087
- ref: x,
1088
- icon: /* @__PURE__ */ t(te, {}),
1084
+ ref: b,
1085
+ icon: /* @__PURE__ */ e(re, {}),
1089
1086
  title: "No activity yet",
1090
1087
  description: "Actions on this task will appear here",
1091
1088
  compact: !0,
1092
- className: b
1089
+ className: g,
1090
+ ...h
1093
1091
  }
1094
- ) : /* @__PURE__ */ s("div", { ref: x, className: N("relative", b), children: [
1095
- /* @__PURE__ */ t("div", { className: "absolute left-[11px] top-2 bottom-2 w-px bg-border" }),
1096
- /* @__PURE__ */ t("div", { className: "space-y-ds-05", children: e.map((d) => {
1097
- const c = jt[d.action] || Vt, g = c.icon, D = Ht(d), f = c.getDescription(d);
1098
- return /* @__PURE__ */ s("div", { className: "relative flex gap-ds-04 pl-0", children: [
1099
- /* @__PURE__ */ t("div", { className: "relative z-raised flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-ds-full bg-layer-01", children: /* @__PURE__ */ t(
1092
+ ) : /* @__PURE__ */ t("div", { ref: b, className: p("relative", g), ...h, children: [
1093
+ /* @__PURE__ */ e("div", { className: "absolute left-[11px] top-2 bottom-2 w-px bg-surface-border" }),
1094
+ /* @__PURE__ */ e("div", { className: "space-y-ds-05", children: s.map((m) => {
1095
+ const y = Us[m.action] || Xs, D = y.icon, x = Zs(m), d = y.getDescription(m);
1096
+ return /* @__PURE__ */ t("div", { className: "relative flex gap-ds-04 pl-0", children: [
1097
+ /* @__PURE__ */ e("div", { className: "relative z-raised flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-ds-full bg-surface-1", children: /* @__PURE__ */ e(
1100
1098
  "div",
1101
1099
  {
1102
- className: N(
1103
- "flex h-ico-md w-ico-md items-center justify-center rounded-ds-full bg-layer-02"
1100
+ className: p(
1101
+ "flex h-ico-md w-ico-md items-center justify-center rounded-ds-full bg-surface-2"
1104
1102
  ),
1105
- children: /* @__PURE__ */ t(
1106
- g,
1103
+ children: /* @__PURE__ */ e(
1104
+ D,
1107
1105
  {
1108
- className: N("h-3 w-3", c.color),
1106
+ className: p("h-3 w-3", y.color),
1109
1107
  stroke: 2
1110
1108
  }
1111
1109
  )
1112
1110
  }
1113
1111
  ) }),
1114
- /* @__PURE__ */ s("div", { className: "flex-1 min-w-0 pt-ds-01", children: [
1115
- /* @__PURE__ */ s("p", { className: "text-ds-sm", children: [
1116
- /* @__PURE__ */ t("span", { className: "font-medium text-text-primary", children: D }),
1117
- /* @__PURE__ */ s("span", { className: "text-text-tertiary", children: [
1112
+ /* @__PURE__ */ t("div", { className: "flex-1 min-w-0 pt-ds-01", children: [
1113
+ /* @__PURE__ */ t("p", { className: "text-ds-sm", children: [
1114
+ /* @__PURE__ */ e("span", { className: "font-medium text-surface-fg", children: x }),
1115
+ /* @__PURE__ */ t("span", { className: "text-surface-fg-subtle", children: [
1118
1116
  " ",
1119
- f
1117
+ d
1120
1118
  ] })
1121
1119
  ] }),
1122
- /* @__PURE__ */ t("p", { className: "mt-ds-01 text-ds-xs text-text-placeholder", children: $t(d.timestamp) })
1120
+ /* @__PURE__ */ e("p", { className: "mt-ds-01 text-ds-xs text-surface-fg-subtle", children: Se(m.timestamp) })
1123
1121
  ] })
1124
- ] }, d.id);
1122
+ ] }, m.id);
1125
1123
  }) })
1126
1124
  ] });
1127
1125
  }
1128
1126
  );
1129
- Se.displayName = "ActivityTab";
1130
- const he = [
1131
- { id: "subtasks", label: "Subtasks", icon: ve },
1132
- { id: "review", label: "Review", icon: Z },
1133
- { id: "conversation", label: "Conversation", icon: Ie },
1134
- { id: "files", label: "Files", icon: ee },
1135
- { id: "activity", label: "Activity", icon: te }
1127
+ Le.displayName = "ActivityTab";
1128
+ const ge = [
1129
+ { id: "subtasks", label: "Subtasks", icon: Ie },
1130
+ { id: "review", label: "Review", icon: se },
1131
+ { id: "conversation", label: "Conversation", icon: De },
1132
+ { id: "files", label: "Files", icon: te },
1133
+ { id: "activity", label: "Activity", icon: re }
1136
1134
  ];
1137
- function Gt() {
1138
- return /* @__PURE__ */ s("div", { className: "space-y-ds-06 p-ds-06", children: [
1139
- /* @__PURE__ */ t(O, { className: "h-ds-xs-plus w-3/4 bg-field" }),
1140
- /* @__PURE__ */ t("div", { className: "space-y-ds-04", children: Array.from({ length: 6 }).map((n, e) => /* @__PURE__ */ s("div", { className: "flex items-center gap-ds-04", children: [
1141
- /* @__PURE__ */ t(O, { className: "h-[16px] w-[120px] bg-field" }),
1142
- /* @__PURE__ */ t(O, { className: "h-[16px] flex-1 bg-field" })
1143
- ] }, e)) }),
1144
- /* @__PURE__ */ t("div", { className: "flex gap-ds-05 border-b border-border pb-ds-03", children: Array.from({ length: 5 }).map((n, e) => /* @__PURE__ */ t(O, { className: "h-[12px] w-[64px] bg-field" }, e)) }),
1145
- /* @__PURE__ */ s("div", { className: "space-y-ds-04", children: [
1146
- /* @__PURE__ */ t(O, { className: "h-ds-md w-full bg-field" }),
1147
- /* @__PURE__ */ t(O, { className: "h-ds-md w-full bg-field" }),
1148
- /* @__PURE__ */ t(O, { className: "h-ds-md w-4/5 bg-field" })
1135
+ function et() {
1136
+ return /* @__PURE__ */ t("div", { className: "space-y-ds-06 p-ds-06", children: [
1137
+ /* @__PURE__ */ e(L, { className: "h-ds-xs-plus w-3/4 bg-surface-3" }),
1138
+ /* @__PURE__ */ e("div", { className: "space-y-ds-04", children: Array.from({ length: 6 }).map((n, s) => /* @__PURE__ */ t("div", { className: "flex items-center gap-ds-04", children: [
1139
+ /* @__PURE__ */ e(L, { className: "h-[16px] w-[120px] bg-surface-3" }),
1140
+ /* @__PURE__ */ e(L, { className: "h-[16px] flex-1 bg-surface-3" })
1141
+ ] }, s)) }),
1142
+ /* @__PURE__ */ e("div", { className: "flex gap-ds-05 border-b border-surface-border-strong pb-ds-03", children: Array.from({ length: 5 }).map((n, s) => /* @__PURE__ */ e(L, { className: "h-[12px] w-[64px] bg-surface-3" }, s)) }),
1143
+ /* @__PURE__ */ t("div", { className: "space-y-ds-04", children: [
1144
+ /* @__PURE__ */ e(L, { className: "h-ds-md w-full bg-surface-3" }),
1145
+ /* @__PURE__ */ e(L, { className: "h-ds-md w-full bg-surface-3" }),
1146
+ /* @__PURE__ */ e(L, { className: "h-ds-md w-4/5 bg-surface-3" })
1149
1147
  ] })
1150
1148
  ] });
1151
1149
  }
1152
- const Mt = p.forwardRef(function({
1153
- task: e,
1154
- loading: b = !1,
1155
- open: x,
1156
- onOpenChange: d,
1157
- columns: c,
1158
- members: g,
1150
+ const st = o.forwardRef(function({
1151
+ task: s,
1152
+ loading: g = !1,
1153
+ open: h,
1154
+ onOpenChange: b,
1155
+ columns: m,
1156
+ members: y,
1159
1157
  activities: D = [],
1160
- enrichedComments: f,
1161
- clientMode: m = !1,
1162
- clientEditableFields: y = ["priority", "dueDate"],
1163
- headerSlot: I,
1164
- extraTabs: v = [],
1165
- onTitleUpdate: a,
1166
- onPropertyUpdate: w,
1167
- onAssign: o,
1168
- onUnassign: l,
1169
- onCreateSubtask: h,
1170
- onToggleSubtask: u,
1171
- onRequestReview: E,
1172
- onUpdateReviewStatus: T,
1173
- onPostComment: R,
1174
- onUploadFile: A,
1175
- onUploadDeliverable: S,
1176
- onDeleteFile: P,
1158
+ enrichedComments: x,
1159
+ clientMode: d = !1,
1160
+ clientEditableFields: C = ["priority", "dueDate"],
1161
+ headerSlot: N,
1162
+ extraTabs: w = [],
1163
+ onTitleUpdate: I,
1164
+ onPropertyUpdate: l,
1165
+ onAssign: v,
1166
+ onUnassign: i,
1167
+ onCreateSubtask: c,
1168
+ onToggleSubtask: f,
1169
+ onRequestReview: u,
1170
+ onUpdateReviewStatus: E,
1171
+ onPostComment: T,
1172
+ onUploadFile: S,
1173
+ onUploadDeliverable: _,
1174
+ onDeleteFile: R,
1177
1175
  onTabChange: k,
1178
- renderEditor: K,
1179
- renderViewer: W,
1180
- renderPriorityIndicator: F,
1181
- renderDatePicker: i,
1182
- isUploading: J = !1
1183
- }, Pe) {
1184
- var ie, le, ae;
1185
- const [L, se] = p.useState(m ? "conversation" : "subtasks"), [Q, B] = p.useState(!1), [re, z] = p.useState(""), q = p.useRef(null);
1186
- p.useEffect(() => {
1187
- e && (z(e.title), B(!1));
1188
- }, [e == null ? void 0 : e.id]), p.useEffect(() => {
1189
- x && se(m ? "conversation" : "subtasks");
1190
- }, [x, m]);
1191
- const Le = (r) => {
1192
- se(r), k == null || k(r);
1193
- }, ne = () => {
1194
- B(!1);
1195
- const r = re.trim();
1196
- r && r !== (e == null ? void 0 : e.title) ? a == null || a(r) : e && z(e.title);
1197
- }, Oe = (r) => {
1198
- r.key === "Enter" && (r.preventDefault(), ne()), r.key === "Escape" && (B(!1), e && z(e.title));
1176
+ renderEditor: z,
1177
+ renderViewer: J,
1178
+ renderPriorityIndicator: M,
1179
+ renderDatePicker: q,
1180
+ isUploading: a = !1,
1181
+ className: Q,
1182
+ ...Oe
1183
+ }, _e) {
1184
+ var le, ie, oe;
1185
+ const [P, ae] = o.useState(d ? "conversation" : "subtasks"), [U, V] = o.useState(!1), [ne, Y] = o.useState(""), K = o.useRef(null);
1186
+ o.useEffect(() => {
1187
+ s && (Y(s.title), V(!1));
1188
+ }, [s == null ? void 0 : s.id]), o.useEffect(() => {
1189
+ h && ae(d ? "conversation" : "subtasks");
1190
+ }, [h, d]);
1191
+ const Ve = o.useCallback((r) => {
1192
+ ae(r), k == null || k(r);
1193
+ }, [k]), je = o.useCallback((r, A) => {
1194
+ d && !C.includes(r) || l == null || l(r, A);
1195
+ }, [d, C, l]), He = o.useCallback((r) => {
1196
+ v == null || v(r);
1197
+ }, [v]), Ge = o.useCallback((r) => {
1198
+ i == null || i(r);
1199
+ }, [i]), $e = o.useCallback((r) => {
1200
+ c == null || c(r);
1201
+ }, [c]), Be = o.useCallback((r, A) => {
1202
+ f == null || f(r, A);
1203
+ }, [f]), Fe = o.useCallback((r) => {
1204
+ u == null || u(r);
1205
+ }, [u]), ze = o.useCallback((r, A, ss) => {
1206
+ E == null || E(r, A, ss);
1207
+ }, [E]), qe = o.useCallback((r, A) => {
1208
+ T == null || T(r, A);
1209
+ }, [T]), Ye = o.useCallback((r, A) => {
1210
+ S == null || S(r, A);
1211
+ }, [S]), Ke = o.useCallback((r) => {
1212
+ R == null || R(r);
1213
+ }, [R]), X = o.useCallback((...r) => {
1214
+ }, []), We = o.useCallback((r, A) => {
1215
+ }, []), ce = () => {
1216
+ V(!1);
1217
+ const r = ne.trim();
1218
+ r && r !== (s == null ? void 0 : s.title) ? I == null || I(r) : s && Y(s.title);
1219
+ }, Je = (r) => {
1220
+ r.key === "Enter" && (r.preventDefault(), ce()), r.key === "Escape" && (V(!1), s && Y(s.title));
1199
1221
  };
1200
- p.useEffect(() => {
1201
- Q && q.current && (q.current.focus(), q.current.select());
1202
- }, [Q]);
1203
- const _e = (ie = c.find((r) => r.isTerminal)) == null ? void 0 : ie.id, ke = ((le = c.find((r) => r.isDefault)) == null ? void 0 : le.id) || ((ae = c[0]) == null ? void 0 : ae.id) || "", je = m ? he.filter((r) => r.id === "conversation") : he, Ve = v.filter((r) => r.position === "before"), $e = v.filter((r) => r.position !== "before"), He = f || (e == null ? void 0 : e.comments) || [];
1204
- return /* @__PURE__ */ t(Me, { open: x, onOpenChange: d, children: /* @__PURE__ */ s(
1205
- Fe,
1222
+ o.useEffect(() => {
1223
+ U && K.current && (K.current.focus(), K.current.select());
1224
+ }, [U]);
1225
+ const Me = (le = m.find((r) => r.isTerminal)) == null ? void 0 : le.id, Qe = ((ie = m.find((r) => r.isDefault)) == null ? void 0 : ie.id) || ((oe = m[0]) == null ? void 0 : oe.id) || "", Ue = d ? ge.filter((r) => r.id === "conversation") : ge, Xe = w.filter((r) => r.position === "before"), Ze = w.filter((r) => r.position !== "before"), es = x || (s == null ? void 0 : s.comments) || [];
1226
+ return /* @__PURE__ */ e(ts, { open: h, onOpenChange: b, children: /* @__PURE__ */ t(
1227
+ rs,
1206
1228
  {
1207
- ref: Pe,
1229
+ ref: _e,
1208
1230
  side: "right",
1209
- className: N(
1231
+ className: p(
1210
1232
  /* intentional: task detail side panel takes 40% of screen, min 380px for form usability */
1211
1233
  "w-full sm:max-w-none sm:w-[40%] min-w-[380px] p-0",
1212
1234
  "flex flex-col overflow-hidden",
1213
- "border-l border-border bg-layer-01"
1235
+ "border-l border-surface-border-strong bg-surface-1",
1236
+ Q
1214
1237
  ),
1238
+ ...Oe,
1215
1239
  children: [
1216
- /* @__PURE__ */ t(ze, { children: /* @__PURE__ */ t(Be, { children: (e == null ? void 0 : e.title) || "Task Details" }) }),
1217
- b || !e ? /* @__PURE__ */ t(Gt, {}) : /* @__PURE__ */ s(xe, { children: [
1218
- /* @__PURE__ */ s("div", { className: "shrink-0 border-b border-border px-ds-06 pb-ds-05 pt-ds-06", children: [
1219
- !m && Q ? /* @__PURE__ */ t(
1240
+ /* @__PURE__ */ e(ns, { children: /* @__PURE__ */ e(as, { children: (s == null ? void 0 : s.title) || "Task Details" }) }),
1241
+ g || !s ? /* @__PURE__ */ e(et, {}) : /* @__PURE__ */ t(be, { children: [
1242
+ /* @__PURE__ */ t("div", { className: "shrink-0 border-b border-surface-border-strong px-ds-06 pb-ds-05 pt-ds-06", children: [
1243
+ !d && U ? /* @__PURE__ */ e(
1220
1244
  "input",
1221
1245
  {
1222
- ref: q,
1246
+ ref: K,
1223
1247
  type: "text",
1224
- value: re,
1225
- onChange: (r) => z(r.target.value),
1226
- onBlur: ne,
1227
- onKeyDown: Oe,
1228
- className: "w-full bg-transparent text-ds-lg font-semibold text-text-primary outline-none"
1248
+ value: ne,
1249
+ onChange: (r) => Y(r.target.value),
1250
+ onBlur: ce,
1251
+ onKeyDown: Je,
1252
+ className: "w-full bg-transparent text-ds-lg font-semibold text-surface-fg outline-none"
1253
+ }
1254
+ ) : /* @__PURE__ */ e(
1255
+ "h2",
1256
+ {
1257
+ onClick: d ? void 0 : () => V(!0),
1258
+ ...!d && {
1259
+ role: "button",
1260
+ tabIndex: 0,
1261
+ onKeyDown: (r) => {
1262
+ (r.key === "Enter" || r.key === " ") && (r.preventDefault(), V(!0));
1263
+ }
1264
+ },
1265
+ className: p(
1266
+ "text-ds-lg font-semibold text-surface-fg",
1267
+ !d && "cursor-text hover:text-accent-11 transition-colors"
1268
+ ),
1269
+ children: s.title
1229
1270
  }
1230
- ) : (
1231
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events
1232
- /* @__PURE__ */ t(
1233
- "h2",
1234
- {
1235
- onClick: m ? void 0 : () => B(!0),
1236
- className: N(
1237
- "text-ds-lg font-semibold text-text-primary",
1238
- !m && "cursor-text hover:text-interactive transition-colors"
1239
- ),
1240
- children: e.title
1241
- }
1242
- )
1243
1271
  ),
1244
- e.parentTaskId && /* @__PURE__ */ t("p", { className: "mt-ds-02 text-ds-sm text-text-placeholder", children: "Subtask" }),
1245
- I && /* @__PURE__ */ t("div", { className: "mt-ds-03 flex items-center gap-ds-03", children: I })
1272
+ s.parentTaskId && /* @__PURE__ */ e("p", { className: "mt-ds-02 text-ds-sm text-surface-fg-subtle", children: "Subtask" }),
1273
+ N && /* @__PURE__ */ e("div", { className: "mt-ds-03 flex items-center gap-ds-03", children: N })
1246
1274
  ] }),
1247
- /* @__PURE__ */ s("div", { className: "flex-1 overflow-y-auto", children: [
1248
- /* @__PURE__ */ t("div", { className: "border-b border-border px-ds-06 py-ds-05", children: /* @__PURE__ */ t(
1249
- Ee,
1275
+ /* @__PURE__ */ t("div", { className: "flex-1 overflow-y-auto", children: [
1276
+ /* @__PURE__ */ e("div", { className: "border-b border-surface-border-strong px-ds-06 py-ds-05", children: /* @__PURE__ */ e(
1277
+ Te,
1250
1278
  {
1251
- task: e,
1252
- columns: c,
1253
- members: g,
1254
- onUpdate: (r, C) => {
1255
- m && !y.includes(r) || w == null || w(r, C);
1256
- },
1257
- onAssign: (r) => o == null ? void 0 : o(r),
1258
- onUnassign: (r) => l == null ? void 0 : l(r),
1259
- readOnly: m,
1260
- editableFields: m ? y : void 0,
1261
- renderPriorityIndicator: F,
1262
- renderDatePicker: i
1279
+ task: s,
1280
+ columns: m,
1281
+ members: y,
1282
+ onUpdate: je,
1283
+ onAssign: He,
1284
+ onUnassign: Ge,
1285
+ readOnly: d,
1286
+ editableFields: d ? C : void 0,
1287
+ renderPriorityIndicator: M,
1288
+ renderDatePicker: q
1263
1289
  }
1264
1290
  ) }),
1265
- /* @__PURE__ */ t("div", { className: "sticky top-0 z-raised bg-layer-01 px-ds-06", children: /* @__PURE__ */ t(Ye, { value: L, onValueChange: Le, children: /* @__PURE__ */ s(Ke, { variant: "line", children: [
1266
- Ve.map((r) => /* @__PURE__ */ s(U, { value: r.id, children: [
1267
- r.icon && /* @__PURE__ */ t("span", { className: "[&>svg]:h-ico-sm [&>svg]:w-ico-sm shrink-0", children: r.icon }),
1291
+ /* @__PURE__ */ e("div", { className: "sticky top-0 z-raised bg-surface-1 px-ds-06", children: /* @__PURE__ */ e(ls, { value: P, onValueChange: Ve, children: /* @__PURE__ */ t(is, { variant: "line", children: [
1292
+ Xe.map((r) => /* @__PURE__ */ t(Z, { value: r.id, children: [
1293
+ r.icon && /* @__PURE__ */ e("span", { className: "[&>svg]:h-ico-sm [&>svg]:w-ico-sm shrink-0", children: r.icon }),
1268
1294
  r.label
1269
1295
  ] }, r.id)),
1270
- je.map((r) => /* @__PURE__ */ s(U, { value: r.id, children: [
1271
- /* @__PURE__ */ t(r.icon, { className: "h-ico-sm w-ico-sm", stroke: 1.5 }),
1296
+ Ue.map((r) => /* @__PURE__ */ t(Z, { value: r.id, children: [
1297
+ /* @__PURE__ */ e(r.icon, { className: "h-ico-sm w-ico-sm", stroke: 1.5 }),
1272
1298
  r.label
1273
1299
  ] }, r.id)),
1274
- $e.map((r) => /* @__PURE__ */ s(U, { value: r.id, children: [
1275
- r.icon && /* @__PURE__ */ t("span", { className: "[&>svg]:h-ico-sm [&>svg]:w-ico-sm shrink-0", children: r.icon }),
1300
+ Ze.map((r) => /* @__PURE__ */ t(Z, { value: r.id, children: [
1301
+ r.icon && /* @__PURE__ */ e("span", { className: "[&>svg]:h-ico-sm [&>svg]:w-ico-sm shrink-0", children: r.icon }),
1276
1302
  r.label
1277
1303
  ] }, r.id))
1278
1304
  ] }) }) }),
1279
- /* @__PURE__ */ s("div", { className: "px-ds-06 py-ds-05", children: [
1280
- L === "subtasks" && /* @__PURE__ */ t(
1281
- Te,
1305
+ /* @__PURE__ */ t("div", { className: "px-ds-06 py-ds-05", children: [
1306
+ P === "subtasks" && /* @__PURE__ */ e(
1307
+ Re,
1282
1308
  {
1283
- subtasks: e.subtasks ?? [],
1284
- terminalColumnId: _e,
1285
- projectId: e.projectId,
1286
- parentTaskId: e.id,
1287
- defaultColumnId: ke,
1288
- onCreateSubtask: m ? () => {
1289
- } : (r) => h == null ? void 0 : h(r),
1290
- onToggleSubtask: m ? () => {
1291
- } : (r, C) => u == null ? void 0 : u(r, C),
1292
- readOnly: m
1309
+ subtasks: s.subtasks ?? [],
1310
+ terminalColumnId: Me,
1311
+ projectId: s.projectId,
1312
+ parentTaskId: s.id,
1313
+ defaultColumnId: Qe,
1314
+ onCreateSubtask: d ? X : $e,
1315
+ onToggleSubtask: d ? We : Be,
1316
+ readOnly: d
1293
1317
  }
1294
1318
  ),
1295
- L === "review" && !m && /* @__PURE__ */ t(
1296
- Ce,
1319
+ P === "review" && !d && /* @__PURE__ */ e(
1320
+ Ae,
1297
1321
  {
1298
- reviews: e.reviewRequests,
1299
- members: g,
1300
- onRequestReview: (r) => E == null ? void 0 : E(r),
1301
- onUpdateStatus: (r, C, Ge) => T == null ? void 0 : T(r, C, Ge)
1322
+ reviews: s.reviewRequests,
1323
+ members: y,
1324
+ onRequestReview: Fe,
1325
+ onUpdateStatus: ze
1302
1326
  }
1303
1327
  ),
1304
- L === "conversation" && /* @__PURE__ */ t(
1305
- Re,
1328
+ P === "conversation" && /* @__PURE__ */ e(
1329
+ ke,
1306
1330
  {
1307
- comments: He,
1308
- taskVisibility: e.visibility,
1309
- onPostComment: (r, C) => R == null ? void 0 : R(r, C),
1310
- clientMode: m,
1311
- renderEditor: K,
1312
- renderViewer: W
1331
+ comments: es,
1332
+ taskVisibility: s.visibility,
1333
+ onPostComment: qe,
1334
+ clientMode: d,
1335
+ renderEditor: z,
1336
+ renderViewer: J
1313
1337
  }
1314
1338
  ),
1315
- L === "files" && /* @__PURE__ */ t(
1316
- Ae,
1339
+ P === "files" && /* @__PURE__ */ e(
1340
+ Pe,
1317
1341
  {
1318
- files: e.files ?? [],
1319
- onUpload: m ? () => {
1320
- } : (r, C) => A == null ? void 0 : A(r, C),
1321
- onDelete: m ? () => {
1322
- } : (r) => P == null ? void 0 : P(r),
1323
- isUploading: J,
1324
- readOnly: m
1342
+ files: s.files ?? [],
1343
+ onUpload: d ? X : Ye,
1344
+ onDelete: d ? X : Ke,
1345
+ isUploading: a,
1346
+ readOnly: d
1325
1347
  }
1326
1348
  ),
1327
- L === "activity" && /* @__PURE__ */ t(Se, { activities: D }),
1328
- v.map(
1329
- (r) => L === r.id ? /* @__PURE__ */ t(p.Fragment, { children: r.content }, r.id) : null
1349
+ P === "activity" && /* @__PURE__ */ e(Le, { activities: D }),
1350
+ w.map(
1351
+ (r) => P === r.id ? /* @__PURE__ */ e(o.Fragment, { children: r.content }, r.id) : null
1330
1352
  )
1331
1353
  ] })
1332
1354
  ] })
@@ -1335,13 +1357,13 @@ const Mt = p.forwardRef(function({
1335
1357
  }
1336
1358
  ) });
1337
1359
  });
1338
- Mt.displayName = "TaskDetailPanel";
1360
+ st.displayName = "TaskDetailPanel";
1339
1361
  export {
1340
- Se as A,
1341
- Re as C,
1342
- Ae as F,
1343
- Ce as R,
1344
- Te as S,
1345
- Mt as T,
1346
- Ee as a
1362
+ Le as A,
1363
+ ke as C,
1364
+ Pe as F,
1365
+ Ae as R,
1366
+ Re as S,
1367
+ st as T,
1368
+ Te as a
1347
1369
  };