@devalok/shilp-sutra-karm 0.1.0 → 0.2.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.
- package/dist/admin/break/break-admin.d.ts.map +1 -1
- package/dist/admin/break/break-admin.js +205 -179
- package/dist/admin/break/delete-break.d.ts +2 -4
- package/dist/admin/break/delete-break.d.ts.map +1 -1
- package/dist/admin/break/delete-break.js +20 -19
- package/dist/admin/break/edit-break-balance.d.ts +2 -4
- package/dist/admin/break/edit-break-balance.d.ts.map +1 -1
- package/dist/admin/break/edit-break-balance.js +20 -19
- package/dist/admin/break/edit-break.d.ts +2 -4
- package/dist/admin/break/edit-break.d.ts.map +1 -1
- package/dist/admin/break/edit-break.js +114 -147
- package/dist/admin/break/header.d.ts.map +1 -1
- package/dist/admin/break/header.js +52 -50
- package/dist/admin/break/leave-request.d.ts +4 -6
- package/dist/admin/break/leave-request.d.ts.map +1 -1
- package/dist/admin/break/leave-request.js +57 -58
- package/dist/admin/dashboard/admin-dashboard.js +2 -2
- package/dist/admin/dashboard/associate-detail.d.ts.map +1 -1
- package/dist/admin/dashboard/associate-detail.js +46 -57
- package/dist/admin/dashboard/attendance-overview.d.ts.map +1 -1
- package/dist/admin/dashboard/attendance-overview.js +2 -4
- package/dist/admin/dashboard/break-request.d.ts.map +1 -1
- package/dist/admin/dashboard/break-request.js +31 -30
- package/dist/admin/dashboard/calendar.js +1 -1
- package/dist/admin/dashboard/correction-list.d.ts.map +1 -1
- package/dist/admin/dashboard/correction-list.js +49 -47
- package/dist/admin/dashboard/dashboard-header.d.ts.map +1 -1
- package/dist/admin/dashboard/dashboard-header.js +7 -6
- package/dist/admin/dashboard/dashboard-skeleton.d.ts.map +1 -1
- package/dist/admin/dashboard/dashboard-skeleton.js +11 -13
- package/dist/admin/dashboard/leave-requests.d.ts.map +1 -1
- package/dist/admin/dashboard/leave-requests.js +78 -75
- package/dist/admin/index.d.ts +1 -1
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +8 -8
- package/dist/admin/utils/render-adjustment-type.d.ts +1 -1
- package/dist/admin/utils/render-adjustment-type.d.ts.map +1 -1
- package/dist/admin/utils/render-adjustment-type.js +1 -1
- package/dist/board/task-card.js +1 -1
- package/dist/chat/markdown-components.d.ts +30 -0
- package/dist/chat/markdown-components.d.ts.map +1 -0
- package/dist/chat/markdown-components.js +16 -0
- package/dist/chat/message-list.d.ts.map +1 -1
- package/dist/chat/message-list.js +37 -47
- package/dist/chat/streaming-text.d.ts.map +1 -1
- package/dist/chat/streaming-text.js +10 -23
- package/dist/client/client-portal-header.js +5 -5
- package/dist/client/project-card.d.ts.map +1 -1
- package/dist/dashboard/attendance-cta.d.ts +1 -1
- package/dist/dashboard/attendance-cta.d.ts.map +1 -1
- package/dist/dashboard/attendance-cta.js +25 -38
- package/dist/dashboard/daily-brief.d.ts +1 -1
- package/dist/dashboard/daily-brief.d.ts.map +1 -1
- package/dist/dashboard/daily-brief.js +2 -1
- package/dist/dashboard/index.d.ts +2 -2
- package/dist/dashboard/index.d.ts.map +1 -1
- package/dist/dashboard/index.js +4 -4
- package/dist/index.js +11 -11
- package/dist/page-skeletons.d.ts.map +1 -1
- package/dist/tasks/review-tab.js +3 -3
- package/dist/tasks/task-detail-panel.d.ts +1 -4
- package/dist/tasks/task-detail-panel.d.ts.map +1 -1
- package/dist/tasks/task-detail-panel.js +96 -96
- package/package.json +3 -2
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
import { jsx as r, jsxs as
|
|
2
|
-
import * as
|
|
3
|
-
import { cn as
|
|
4
|
-
import { Sheet as
|
|
5
|
-
import { VisuallyHidden as
|
|
1
|
+
import { jsx as r, jsxs as a, Fragment as ee } from "react/jsx-runtime";
|
|
2
|
+
import * as c from "react";
|
|
3
|
+
import { cn as L } from "@devalok/shilp-sutra/ui";
|
|
4
|
+
import { Sheet as ie, SheetContent as re, SheetTitle as se } from "@devalok/shilp-sutra/ui";
|
|
5
|
+
import { VisuallyHidden as le } from "@devalok/shilp-sutra/ui";
|
|
6
6
|
import { Skeleton as t } from "@devalok/shilp-sutra/ui";
|
|
7
|
-
import { Tabs as
|
|
8
|
-
import { TaskProperties as
|
|
9
|
-
import { SubtasksTab as
|
|
7
|
+
import { Tabs as ae, TabsList as ce, TabsTrigger as te } from "@devalok/shilp-sutra/ui";
|
|
8
|
+
import { TaskProperties as de } from "./task-properties.js";
|
|
9
|
+
import { SubtasksTab as fe } from "./subtasks-tab.js";
|
|
10
10
|
import { ReviewTab as me } from "./review-tab.js";
|
|
11
|
-
import { ConversationTab as
|
|
12
|
-
import { FilesTab as
|
|
13
|
-
import { ActivityTab as
|
|
14
|
-
import { IconListCheck as
|
|
11
|
+
import { ConversationTab as ne } from "./conversation-tab.js";
|
|
12
|
+
import { FilesTab as oe } from "./files-tab.js";
|
|
13
|
+
import { ActivityTab as be } from "./activity-tab.js";
|
|
14
|
+
import { IconListCheck as pe, IconGitPullRequest as he, IconMessageCircle as ue, IconPaperclip as ve, IconActivity as xe } from "@tabler/icons-react";
|
|
15
15
|
const z = [
|
|
16
|
-
{ id: "subtasks", label: "Subtasks", icon:
|
|
16
|
+
{ id: "subtasks", label: "Subtasks", icon: pe },
|
|
17
17
|
{ id: "review", label: "Review", icon: he },
|
|
18
18
|
{ id: "conversation", label: "Conversation", icon: ue },
|
|
19
|
-
{ id: "files", label: "Files", icon:
|
|
20
|
-
{ id: "activity", label: "Activity", icon:
|
|
19
|
+
{ id: "files", label: "Files", icon: ve },
|
|
20
|
+
{ id: "activity", label: "Activity", icon: xe }
|
|
21
21
|
];
|
|
22
|
-
function
|
|
23
|
-
return /* @__PURE__ */
|
|
22
|
+
function ye() {
|
|
23
|
+
return /* @__PURE__ */ a("div", { className: "space-y-ds-06 p-ds-06", children: [
|
|
24
24
|
/* @__PURE__ */ r(t, { className: "h-ds-xs-plus w-3/4 bg-field" }),
|
|
25
|
-
/* @__PURE__ */ r("div", { className: "space-y-ds-04", children: Array.from({ length: 6 }).map((
|
|
26
|
-
/* @__PURE__ */ r(t, { className: "h-
|
|
27
|
-
/* @__PURE__ */ r(t, { className: "h-
|
|
28
|
-
] },
|
|
29
|
-
/* @__PURE__ */ r("div", { className: "flex gap-ds-05 border-b border-border pb-ds-03", children: Array.from({ length: 5 }).map((
|
|
30
|
-
/* @__PURE__ */
|
|
25
|
+
/* @__PURE__ */ r("div", { className: "space-y-ds-04", children: Array.from({ length: 6 }).map((V, i) => /* @__PURE__ */ a("div", { className: "flex items-center gap-ds-04", children: [
|
|
26
|
+
/* @__PURE__ */ r(t, { className: "h-[16px] w-[120px] bg-field" }),
|
|
27
|
+
/* @__PURE__ */ r(t, { className: "h-[16px] flex-1 bg-field" })
|
|
28
|
+
] }, i)) }),
|
|
29
|
+
/* @__PURE__ */ r("div", { className: "flex gap-ds-05 border-b border-border pb-ds-03", children: Array.from({ length: 5 }).map((V, i) => /* @__PURE__ */ r(t, { className: "h-[12px] w-[64px] bg-field" }, i)) }),
|
|
30
|
+
/* @__PURE__ */ a("div", { className: "space-y-ds-04", children: [
|
|
31
31
|
/* @__PURE__ */ r(t, { className: "h-ds-md w-full bg-field" }),
|
|
32
32
|
/* @__PURE__ */ r(t, { className: "h-ds-md w-full bg-field" }),
|
|
33
33
|
/* @__PURE__ */ r(t, { className: "h-ds-md w-4/5 bg-field" })
|
|
34
34
|
] })
|
|
35
35
|
] });
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
const Ne = c.forwardRef(function({
|
|
38
38
|
task: i,
|
|
39
|
-
loading:
|
|
40
|
-
open:
|
|
41
|
-
onOpenChange:
|
|
39
|
+
loading: G = !1,
|
|
40
|
+
open: b,
|
|
41
|
+
onOpenChange: H,
|
|
42
42
|
columns: f,
|
|
43
43
|
members: j,
|
|
44
|
-
activities:
|
|
45
|
-
enrichedComments:
|
|
44
|
+
activities: J = [],
|
|
45
|
+
enrichedComments: P,
|
|
46
46
|
clientMode: s = !1,
|
|
47
47
|
clientEditableFields: A = ["priority", "dueDate"],
|
|
48
|
-
onTitleUpdate:
|
|
49
|
-
onPropertyUpdate:
|
|
50
|
-
onAssign:
|
|
51
|
-
onUnassign:
|
|
52
|
-
onCreateSubtask:
|
|
53
|
-
onToggleSubtask:
|
|
54
|
-
onRequestReview:
|
|
55
|
-
onUpdateReviewStatus:
|
|
56
|
-
onPostComment:
|
|
57
|
-
onUploadFile:
|
|
58
|
-
onDeleteFile:
|
|
59
|
-
onTabChange:
|
|
48
|
+
onTitleUpdate: p,
|
|
49
|
+
onPropertyUpdate: h,
|
|
50
|
+
onAssign: u,
|
|
51
|
+
onUnassign: v,
|
|
52
|
+
onCreateSubtask: x,
|
|
53
|
+
onToggleSubtask: y,
|
|
54
|
+
onRequestReview: N,
|
|
55
|
+
onUpdateReviewStatus: T,
|
|
56
|
+
onPostComment: w,
|
|
57
|
+
onUploadFile: g,
|
|
58
|
+
onDeleteFile: I,
|
|
59
|
+
onTabChange: D,
|
|
60
60
|
renderEditor: Q,
|
|
61
61
|
renderViewer: W,
|
|
62
62
|
renderPriorityIndicator: X,
|
|
63
63
|
renderDatePicker: Y,
|
|
64
64
|
isUploading: Z = !1
|
|
65
|
-
}) {
|
|
66
|
-
var C, K
|
|
67
|
-
const [
|
|
68
|
-
|
|
69
|
-
i && (
|
|
70
|
-
}, [i == null ? void 0 : i.id]),
|
|
71
|
-
|
|
72
|
-
}, [
|
|
65
|
+
}, Te) {
|
|
66
|
+
var _, C, K;
|
|
67
|
+
const [d, B] = c.useState(s ? "conversation" : "subtasks"), [E, m] = c.useState(!1), [O, n] = c.useState(""), o = c.useRef(null);
|
|
68
|
+
c.useEffect(() => {
|
|
69
|
+
i && (n(i.title), m(!1));
|
|
70
|
+
}, [i == null ? void 0 : i.id]), c.useEffect(() => {
|
|
71
|
+
b && B(s ? "conversation" : "subtasks");
|
|
72
|
+
}, [b, s]);
|
|
73
73
|
const $ = (e) => {
|
|
74
|
-
B(e),
|
|
74
|
+
B(e), D == null || D(e);
|
|
75
75
|
}, S = () => {
|
|
76
|
-
|
|
76
|
+
m(!1);
|
|
77
77
|
const e = O.trim();
|
|
78
|
-
e && e !== (i == null ? void 0 : i.title) ?
|
|
78
|
+
e && e !== (i == null ? void 0 : i.title) ? p == null || p(e) : i && n(i.title);
|
|
79
79
|
}, q = (e) => {
|
|
80
|
-
e.key === "Enter" && (e.preventDefault(), S()), e.key === "Escape" && (
|
|
80
|
+
e.key === "Enter" && (e.preventDefault(), S()), e.key === "Escape" && (m(!1), i && n(i.title));
|
|
81
81
|
};
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}, [
|
|
85
|
-
const
|
|
86
|
-
return /* @__PURE__ */ r(
|
|
87
|
-
|
|
82
|
+
c.useEffect(() => {
|
|
83
|
+
E && o.current && (o.current.focus(), o.current.select());
|
|
84
|
+
}, [E]);
|
|
85
|
+
const R = (_ = f.find((e) => e.isTerminal)) == null ? void 0 : _.id, F = ((C = f.find((e) => e.isDefault)) == null ? void 0 : C.id) || ((K = f[0]) == null ? void 0 : K.id) || "", k = s ? z.filter((e) => e.id === "conversation") : z, M = P || (i == null ? void 0 : i.comments) || [];
|
|
86
|
+
return /* @__PURE__ */ r(ie, { open: b, onOpenChange: H, children: /* @__PURE__ */ a(
|
|
87
|
+
re,
|
|
88
88
|
{
|
|
89
89
|
side: "right",
|
|
90
|
-
className:
|
|
90
|
+
className: L(
|
|
91
91
|
/* intentional: task detail side panel takes 40% of screen, min 380px for form usability */
|
|
92
92
|
"w-full sm:max-w-none sm:w-[40%] min-w-[380px] p-0",
|
|
93
93
|
"flex flex-col overflow-hidden",
|
|
94
94
|
"border-l border-border bg-layer-01"
|
|
95
95
|
),
|
|
96
96
|
children: [
|
|
97
|
-
/* @__PURE__ */ r(
|
|
98
|
-
|
|
99
|
-
/* @__PURE__ */
|
|
100
|
-
!s &&
|
|
97
|
+
/* @__PURE__ */ r(le, { children: /* @__PURE__ */ r(se, { children: (i == null ? void 0 : i.title) || "Task Details" }) }),
|
|
98
|
+
G || !i ? /* @__PURE__ */ r(ye, {}) : /* @__PURE__ */ a(ee, { children: [
|
|
99
|
+
/* @__PURE__ */ a("div", { className: "shrink-0 border-b border-border px-ds-06 pb-ds-05 pt-ds-06", children: [
|
|
100
|
+
!s && E ? /* @__PURE__ */ r(
|
|
101
101
|
"input",
|
|
102
102
|
{
|
|
103
|
-
ref:
|
|
103
|
+
ref: o,
|
|
104
104
|
type: "text",
|
|
105
105
|
value: O,
|
|
106
|
-
onChange: (e) =>
|
|
106
|
+
onChange: (e) => n(e.target.value),
|
|
107
107
|
onBlur: S,
|
|
108
108
|
onKeyDown: q,
|
|
109
109
|
className: "w-full bg-transparent text-ds-lg font-semibold text-text-primary outline-none"
|
|
@@ -113,8 +113,8 @@ function ye({
|
|
|
113
113
|
/* @__PURE__ */ r(
|
|
114
114
|
"h2",
|
|
115
115
|
{
|
|
116
|
-
onClick: s ? void 0 : () =>
|
|
117
|
-
className:
|
|
116
|
+
onClick: s ? void 0 : () => m(!0),
|
|
117
|
+
className: L(
|
|
118
118
|
"text-ds-lg font-semibold text-text-primary",
|
|
119
119
|
!s && "cursor-text hover:text-interactive transition-colors"
|
|
120
120
|
),
|
|
@@ -124,85 +124,85 @@ function ye({
|
|
|
124
124
|
),
|
|
125
125
|
i.parentTaskId && /* @__PURE__ */ r("p", { className: "mt-ds-02 text-ds-sm text-text-placeholder", children: "Subtask" })
|
|
126
126
|
] }),
|
|
127
|
-
/* @__PURE__ */
|
|
127
|
+
/* @__PURE__ */ a("div", { className: "flex-1 overflow-y-auto", children: [
|
|
128
128
|
/* @__PURE__ */ r("div", { className: "border-b border-border px-ds-06 py-ds-05", children: /* @__PURE__ */ r(
|
|
129
|
-
|
|
129
|
+
de,
|
|
130
130
|
{
|
|
131
131
|
task: i,
|
|
132
132
|
columns: f,
|
|
133
133
|
members: j,
|
|
134
134
|
onUpdate: (e, l) => {
|
|
135
|
-
s && !A.includes(e) ||
|
|
135
|
+
s && !A.includes(e) || h == null || h(e, l);
|
|
136
136
|
},
|
|
137
|
-
onAssign: (e) =>
|
|
138
|
-
onUnassign: (e) =>
|
|
137
|
+
onAssign: (e) => u == null ? void 0 : u(e),
|
|
138
|
+
onUnassign: (e) => v == null ? void 0 : v(e),
|
|
139
139
|
readOnly: s,
|
|
140
140
|
editableFields: s ? A : void 0,
|
|
141
141
|
renderPriorityIndicator: X,
|
|
142
142
|
renderDatePicker: Y
|
|
143
143
|
}
|
|
144
144
|
) }),
|
|
145
|
-
/* @__PURE__ */ r("div", { className: "sticky top-0 z-raised bg-layer-01 px-ds-06", children: /* @__PURE__ */ r(
|
|
145
|
+
/* @__PURE__ */ r("div", { className: "sticky top-0 z-raised bg-layer-01 px-ds-06", children: /* @__PURE__ */ r(ae, { value: d, onValueChange: $, children: /* @__PURE__ */ r(ce, { variant: "line", children: k.map((e) => /* @__PURE__ */ a(te, { value: e.id, children: [
|
|
146
146
|
/* @__PURE__ */ r(e.icon, { className: "h-ico-sm w-ico-sm", stroke: 1.5 }),
|
|
147
147
|
e.label
|
|
148
148
|
] }, e.id)) }) }) }),
|
|
149
|
-
/* @__PURE__ */
|
|
150
|
-
|
|
151
|
-
|
|
149
|
+
/* @__PURE__ */ a("div", { className: "px-ds-06 py-ds-05", children: [
|
|
150
|
+
d === "subtasks" && /* @__PURE__ */ r(
|
|
151
|
+
fe,
|
|
152
152
|
{
|
|
153
153
|
subtasks: i.subtasks ?? [],
|
|
154
|
-
terminalColumnId:
|
|
154
|
+
terminalColumnId: R,
|
|
155
155
|
projectId: i.projectId,
|
|
156
156
|
parentTaskId: i.id,
|
|
157
|
-
defaultColumnId:
|
|
157
|
+
defaultColumnId: F,
|
|
158
158
|
onCreateSubtask: s ? () => {
|
|
159
|
-
} : (e) =>
|
|
159
|
+
} : (e) => x == null ? void 0 : x(e),
|
|
160
160
|
onToggleSubtask: s ? () => {
|
|
161
|
-
} : (e, l) =>
|
|
161
|
+
} : (e, l) => y == null ? void 0 : y(e, l),
|
|
162
162
|
readOnly: s
|
|
163
163
|
}
|
|
164
164
|
),
|
|
165
|
-
|
|
165
|
+
d === "review" && !s && /* @__PURE__ */ r(
|
|
166
166
|
me,
|
|
167
167
|
{
|
|
168
168
|
reviews: i.reviewRequests,
|
|
169
169
|
members: j,
|
|
170
|
-
onRequestReview: (e) =>
|
|
171
|
-
onUpdateStatus: (e, l,
|
|
170
|
+
onRequestReview: (e) => N == null ? void 0 : N(e),
|
|
171
|
+
onUpdateStatus: (e, l, U) => T == null ? void 0 : T(e, l, U)
|
|
172
172
|
}
|
|
173
173
|
),
|
|
174
|
-
|
|
175
|
-
|
|
174
|
+
d === "conversation" && /* @__PURE__ */ r(
|
|
175
|
+
ne,
|
|
176
176
|
{
|
|
177
|
-
comments:
|
|
177
|
+
comments: M,
|
|
178
178
|
taskVisibility: i.visibility,
|
|
179
|
-
onPostComment: (e, l) =>
|
|
179
|
+
onPostComment: (e, l) => w == null ? void 0 : w(e, l),
|
|
180
180
|
clientMode: s,
|
|
181
181
|
renderEditor: Q,
|
|
182
182
|
renderViewer: W
|
|
183
183
|
}
|
|
184
184
|
),
|
|
185
|
-
|
|
186
|
-
|
|
185
|
+
d === "files" && /* @__PURE__ */ r(
|
|
186
|
+
oe,
|
|
187
187
|
{
|
|
188
188
|
files: i.files ?? [],
|
|
189
189
|
onUpload: s ? () => {
|
|
190
|
-
} : (e, l) =>
|
|
190
|
+
} : (e, l) => g == null ? void 0 : g(e, l),
|
|
191
191
|
onDelete: s ? () => {
|
|
192
|
-
} : (e) =>
|
|
192
|
+
} : (e) => I == null ? void 0 : I(e),
|
|
193
193
|
isUploading: Z,
|
|
194
194
|
readOnly: s
|
|
195
195
|
}
|
|
196
196
|
),
|
|
197
|
-
|
|
197
|
+
d === "activity" && /* @__PURE__ */ r(be, { activities: J })
|
|
198
198
|
] })
|
|
199
199
|
] })
|
|
200
200
|
] })
|
|
201
201
|
]
|
|
202
202
|
}
|
|
203
203
|
) });
|
|
204
|
-
}
|
|
205
|
-
|
|
204
|
+
});
|
|
205
|
+
Ne.displayName = "TaskDetailPanel";
|
|
206
206
|
export {
|
|
207
|
-
|
|
207
|
+
Ne as TaskDetailPanel
|
|
208
208
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devalok/shilp-sutra-karm",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Domain components for Karm — board, tasks, chat, dashboard, client, and admin",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -43,7 +43,8 @@
|
|
|
43
43
|
],
|
|
44
44
|
"scripts": {
|
|
45
45
|
"build": "vite build",
|
|
46
|
-
"typecheck": "tsc --noEmit"
|
|
46
|
+
"typecheck": "tsc --noEmit",
|
|
47
|
+
"lint": "eslint src/"
|
|
47
48
|
},
|
|
48
49
|
"peerDependencies": {
|
|
49
50
|
"@devalok/shilp-sutra": ">=0.1.0",
|