@devalok/shilp-sutra-karm 0.2.1 → 0.4.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 (66) hide show
  1. package/README.md +65 -0
  2. package/dist/admin/adjustments/approved-adjustments.js +1 -0
  3. package/dist/admin/break/break-admin-skeleton.js +1 -0
  4. package/dist/admin/break/break-admin.js +48 -47
  5. package/dist/admin/break/break-balance.js +1 -0
  6. package/dist/admin/break/breaks.js +1 -0
  7. package/dist/admin/break/delete-break.js +17 -16
  8. package/dist/admin/break/edit-break-balance.js +18 -17
  9. package/dist/admin/break/edit-break.js +57 -56
  10. package/dist/admin/break/header.js +6 -5
  11. package/dist/admin/break/leave-request.js +2 -1
  12. package/dist/admin/break/use-break-date-picker.js +1 -0
  13. package/dist/admin/dashboard/admin-dashboard.js +1 -0
  14. package/dist/admin/dashboard/associate-detail.js +2 -1
  15. package/dist/admin/dashboard/attendance-overview.js +1 -0
  16. package/dist/admin/dashboard/break-request.js +16 -15
  17. package/dist/admin/dashboard/calendar.js +29 -28
  18. package/dist/admin/dashboard/correction-list.js +1 -0
  19. package/dist/admin/dashboard/dashboard-header.js +30 -29
  20. package/dist/admin/dashboard/dashboard-skeleton.js +1 -0
  21. package/dist/admin/dashboard/leave-requests.js +2 -1
  22. package/dist/admin/dashboard/render-date.js +1 -0
  23. package/dist/admin/dashboard/use-calendar-navigation.js +1 -0
  24. package/dist/admin/dashboard/use-leave-request-interaction.js +1 -0
  25. package/dist/admin/index.js +1 -0
  26. package/dist/admin/utils/date-range-utils.js +1 -0
  27. package/dist/admin/utils/date-utils.js +1 -0
  28. package/dist/admin/utils/emoji-utils.js +1 -0
  29. package/dist/admin/utils/render-adjustment-type.js +1 -0
  30. package/dist/admin/utils/render-status.js +18 -17
  31. package/dist/board/board-column.js +1 -0
  32. package/dist/board/index.js +1 -0
  33. package/dist/board/kanban-board.js +1 -0
  34. package/dist/board/task-card.js +2 -1
  35. package/dist/chat/chat-input.js +12 -11
  36. package/dist/chat/chat-panel.js +1 -0
  37. package/dist/chat/conversation-list.js +1 -0
  38. package/dist/chat/index.js +1 -0
  39. package/dist/chat/markdown-components.js +1 -0
  40. package/dist/chat/message-list.js +1 -0
  41. package/dist/chat/streaming-text.js +1 -0
  42. package/dist/client/accent-provider.js +1 -0
  43. package/dist/client/client-portal-header.js +1 -0
  44. package/dist/client/index.js +1 -0
  45. package/dist/client/project-card.js +11 -10
  46. package/dist/dashboard/attendance-cta.js +1 -0
  47. package/dist/dashboard/daily-brief.js +1 -0
  48. package/dist/dashboard/index.js +1 -0
  49. package/dist/index.d.ts +2 -2
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +94 -76
  52. package/dist/page-skeletons.js +1 -0
  53. package/dist/tasks/activity-tab.js +1 -0
  54. package/dist/tasks/conversation-tab.js +1 -0
  55. package/dist/tasks/files-tab.d.ts.map +1 -1
  56. package/dist/tasks/files-tab.js +30 -28
  57. package/dist/tasks/index.js +1 -0
  58. package/dist/tasks/review-tab.js +2 -1
  59. package/dist/tasks/subtasks-tab.js +1 -0
  60. package/dist/tasks/task-constants.d.ts +2 -2
  61. package/dist/tasks/task-constants.d.ts.map +1 -1
  62. package/dist/tasks/task-constants.js +7 -6
  63. package/dist/tasks/task-detail-panel.d.ts.map +1 -1
  64. package/dist/tasks/task-detail-panel.js +46 -44
  65. package/dist/tasks/task-properties.js +1 -0
  66. package/package.json +68 -68
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
3
  import * as C from "react";
3
4
  import { DropdownMenu as x, DropdownMenuTrigger as h, DropdownMenuContent as f, DropdownMenuItem as o } from "@devalok/shilp-sutra/ui";
@@ -9,17 +10,17 @@ import { IconChevronDown as N, IconX as I, IconUser as M, IconChevronLeft as z,
9
10
  const R = C.forwardRef(
10
11
  function({
11
12
  selectedMonth: m,
12
- yearsList: n,
13
- isTodaySelected: w,
14
- selectedAssociate: r,
15
- users: a,
16
- userImages: s,
17
- activeTimeFrame: u,
13
+ yearsList: s,
14
+ isTodaySelected: u,
15
+ selectedAssociate: a,
16
+ users: l,
17
+ userImages: n,
18
+ activeTimeFrame: w,
18
19
  onMonthSelection: v,
19
20
  onTodayClick: y,
20
- onSelectAssociate: c,
21
+ onSelectAssociate: i,
21
22
  onTimeFrameChange: g,
22
- onDateChange: i
23
+ onDateChange: c
23
24
  }, j) {
24
25
  return /* @__PURE__ */ d("div", { ref: j, className: "mb-ds-06 flex w-full flex-col items-start justify-between md:flex-row md:items-center", children: [
25
26
  /* @__PURE__ */ d("div", { className: "flex w-full items-center justify-between gap-ds-05 md:w-auto md:justify-start", children: [
@@ -28,17 +29,17 @@ const R = C.forwardRef(
28
29
  m,
29
30
  /* @__PURE__ */ e(N, {})
30
31
  ] }),
31
- /* @__PURE__ */ e(f, { className: "custom-scrollbar absolute ml-ds-08 max-h-[300px] overflow-y-auto rounded-ds-md border border-0 border-border p-0 shadow-brand", children: n.map((t, l) => /* @__PURE__ */ e(
32
+ /* @__PURE__ */ e(f, { className: "custom-scrollbar absolute ml-ds-08 max-h-[300px] overflow-y-auto rounded-ds-md border border-0 border-border p-0 shadow-brand", children: s.map((t, r) => /* @__PURE__ */ e(
32
33
  o,
33
34
  {
34
35
  onSelect: () => {
35
36
  v(t);
36
37
  },
37
- className: b("p-0", l !== n.length - 1 ? "border-b border-b-border" : ""),
38
+ className: b("p-0", r !== s.length - 1 ? "border-b border-b-border" : ""),
38
39
  children: /* @__PURE__ */ e(
39
40
  "span",
40
41
  {
41
- className: b("w-full py-ds-04 pl-ds-05 pr-ds-06", m === t ? "text-ds-md font-semibold bg-interactive text-text-on-color" : "text-ds-md text-text-secondary hover:bg-layer-02", l === 0 ? "rounded-t-[7px]" : l === n.length - 1 ? "rounded-b-[7px]" : ""),
42
+ className: b("w-full py-ds-04 pl-ds-05 pr-ds-06", m === t ? "text-ds-md font-semibold bg-interactive text-text-on-color" : "text-ds-md text-text-secondary hover:bg-layer-02", r === 0 ? "rounded-t-[7px]" : r === s.length - 1 ? "rounded-b-[7px]" : ""),
42
43
  children: t.split(" ")[1]
43
44
  }
44
45
  )
@@ -46,33 +47,33 @@ const R = C.forwardRef(
46
47
  t
47
48
  )) })
48
49
  ] }),
49
- !w && /* @__PURE__ */ e(
50
+ !u && /* @__PURE__ */ e(
50
51
  D,
51
52
  {
52
- variant: "secondary",
53
+ variant: "outline",
53
54
  onClick: y,
54
55
  children: "Today"
55
56
  }
56
57
  )
57
58
  ] }),
58
59
  /* @__PURE__ */ d("div", { className: "flex w-full items-center justify-between gap-ds-05 md:mt-0 md:w-auto md:justify-start max-md:mt-[17px] max-lg:gap-[0.5rem]", children: [
59
- /* @__PURE__ */ e("div", { className: "hidden md:flex", children: r ? /* @__PURE__ */ d("div", { className: "text-ds-md flex items-center justify-start rounded-ds-md bg-interactive px-ds-03 py-ds-02b text-text-on-color", children: [
60
+ /* @__PURE__ */ e("div", { className: "hidden md:flex", children: a ? /* @__PURE__ */ d("div", { className: "text-ds-md flex items-center justify-start rounded-ds-md bg-interactive px-ds-03 py-ds-02b text-text-on-color", children: [
60
61
  /* @__PURE__ */ d("div", { className: "flex items-center justify-start gap-0", children: [
61
- s[r.id] ? /* @__PURE__ */ e(
62
+ n[a.id] ? /* @__PURE__ */ e(
62
63
  "img",
63
64
  {
64
- src: s[r.id],
65
- alt: `${r.name}'s avatar`,
65
+ src: n[a.id],
66
+ alt: `${a.name}'s avatar`,
66
67
  className: "h-ico-md w-ico-md rounded-ds-full"
67
68
  }
68
- ) : /* @__PURE__ */ e("div", { className: "flex h-ico-md w-ico-md flex-shrink-0 items-center justify-center rounded-ds-full bg-layer-03", children: /* @__PURE__ */ e("span", { className: "text-interactive", children: r.name.charAt(0) }) }),
69
- /* @__PURE__ */ e("span", { className: "text-ds-md ml-ds-01 mr-ds-02 text-text-on-color", children: r.name })
69
+ ) : /* @__PURE__ */ e("div", { className: "flex h-ico-md w-ico-md flex-shrink-0 items-center justify-center rounded-ds-full bg-layer-03", children: /* @__PURE__ */ e("span", { className: "text-interactive", children: a.name.charAt(0) }) }),
70
+ /* @__PURE__ */ e("span", { className: "text-ds-md ml-ds-01 mr-ds-02 text-text-on-color", children: a.name })
70
71
  ] }),
71
72
  /* @__PURE__ */ e(
72
73
  "button",
73
74
  {
74
75
  "aria-label": "Clear filter",
75
- onClick: () => c(null),
76
+ onClick: () => i(null),
76
77
  className: "border-0 bg-transparent p-0",
77
78
  children: /* @__PURE__ */ e(I, { className: "h-ico-sm w-ico-sm text-text-on-color" })
78
79
  }
@@ -85,22 +86,22 @@ const R = C.forwardRef(
85
86
  ] }),
86
87
  /* @__PURE__ */ e(N, { className: "h-ico-sm w-ico-sm" })
87
88
  ] }),
88
- /* @__PURE__ */ e(f, { className: "custom-scrollbar max-h-[400px] w-64 overflow-y-auto p-ds-03", children: (a == null ? void 0 : a.length) === 0 ? /* @__PURE__ */ e(o, { disabled: !0, children: "No users available" }) : a == null ? void 0 : a.map((t) => /* @__PURE__ */ d(
89
+ /* @__PURE__ */ e(f, { className: "custom-scrollbar max-h-[400px] w-64 overflow-y-auto p-ds-03", children: (l == null ? void 0 : l.length) === 0 ? /* @__PURE__ */ e(o, { disabled: !0, children: "No users available" }) : l == null ? void 0 : l.map((t) => /* @__PURE__ */ d(
89
90
  o,
90
91
  {
91
92
  onSelect: () => {
92
- const l = {
93
+ const r = {
93
94
  ...t,
94
95
  createdAt: new Date(t.createdAt)
95
96
  };
96
- c(l);
97
+ i(r);
97
98
  },
98
99
  className: "flex items-center gap-ds-03 p-ds-03",
99
100
  children: [
100
- s[t.id] ? /* @__PURE__ */ e(
101
+ n[t.id] ? /* @__PURE__ */ e(
101
102
  "img",
102
103
  {
103
- src: s[t.id],
104
+ src: n[t.id],
104
105
  alt: `${t.name}'s avatar`,
105
106
  className: "h-ds-xs w-ds-xs rounded-ds-full"
106
107
  }
@@ -115,12 +116,12 @@ const R = C.forwardRef(
115
116
  k,
116
117
  {
117
118
  size: "md",
118
- color: "tonal",
119
+ variant: "tonal",
119
120
  options: [
120
121
  { id: "weekly", text: "Weekly" },
121
122
  { id: "monthly", text: "Monthly" }
122
123
  ],
123
- selectedId: u,
124
+ selectedId: w,
124
125
  onSelect: g
125
126
  }
126
127
  ),
@@ -131,7 +132,7 @@ const R = C.forwardRef(
131
132
  icon: /* @__PURE__ */ e(z, {}),
132
133
  size: "sm",
133
134
  "aria-label": "Previous",
134
- onClick: () => i("prev")
135
+ onClick: () => c("prev")
135
136
  }
136
137
  ),
137
138
  /* @__PURE__ */ e(
@@ -140,7 +141,7 @@ const R = C.forwardRef(
140
141
  icon: /* @__PURE__ */ e(H, {}),
141
142
  size: "sm",
142
143
  "aria-label": "Next",
143
- onClick: () => i("next")
144
+ onClick: () => c("next")
144
145
  }
145
146
  )
146
147
  ] })
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as e, jsxs as d } from "react/jsx-runtime";
2
3
  import * as o from "react";
3
4
  import { cn as m } from "@devalok/shilp-sutra/ui";
@@ -1,9 +1,10 @@
1
+ "use client";
1
2
  import { jsx as a, jsxs as i } from "react/jsx-runtime";
2
3
  import * as S from "react";
3
4
  import { useEffect as O } from "react";
4
5
  import { Tooltip as k, TooltipTrigger as E, TooltipContent as M } from "@devalok/shilp-sutra/ui";
5
6
  import { cn as p } from "@devalok/shilp-sutra/ui";
6
- import { useIsMobile as B } from "@devalok/shilp-sutra/ui";
7
+ import { useIsMobile as B } from "@devalok/shilp-sutra/hooks";
7
8
  import { formatDate as x } from "../utils/date-utils.js";
8
9
  import { removeAllEmojis as T } from "../utils/emoji-utils.js";
9
10
  import { isSameDay as I } from "date-fns";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as R, jsxs as H } from "react/jsx-runtime";
2
3
  import * as J from "react";
3
4
  import { useState as Q, useEffect as V } from "react";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { useReducer as v, useCallback as D } from "react";
2
3
  import { format as f } from "date-fns";
3
4
  import { isSameDay as T, getStartOfDay as M, getWeekDays as p, getMonthDays as _ } from "../utils/date-utils.js";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { useState as e, useCallback as R } from "react";
2
3
  function g() {
3
4
  const [a, s] = e(!1), [i, t] = e(null), [m, n] = e(null), [v, o] = e(""), [f, l] = e(!1), [p, c] = e(
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { AdjustmentType as o, renderAdjustmentType as t } from "./utils/render-adjustment-type.js";
2
3
  import { renderStatus as m } from "./utils/render-status.js";
3
4
  import { formatDate as p, formatDateIST as d, formatDateWithWeekday as x, formatOptionalDate as n, formatTimeIST as s, getDaySuffix as i, getEndOfDay as D, getMonthDays as k, getStartOfDay as A, getWeekDays as l, isSameDay as B } from "./utils/date-utils.js";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { format as c, parseISO as s, isWithinInterval as l, isAfter as y, isEqual as u, isBefore as m } from "date-fns";
2
3
  function d(e, n, r) {
3
4
  const t = s(e), o = s(n), a = s(r);
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { endOfDay as S, startOfMonth as T, getDaysInMonth as p, subMonths as O, isSameDay as o, format as l, addMonths as $, startOfDay as A, startOfWeek as L, addDays as k } from "date-fns";
2
3
  const d = "Asia/Kolkata", g = "en-IN";
3
4
  function I(t, e) {
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  function r(e) {
2
3
  return e.replace(
3
4
  /^[\p{Emoji_Presentation}\p{Extended_Pictographic}\u200B-\u200D]+/gu,
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as R } from "react/jsx-runtime";
2
3
  const t = {
3
4
  YEARLY_BALANCE: "YEARLY_BALANCE",
@@ -1,21 +1,22 @@
1
- import { jsx as s } from "react/jsx-runtime";
2
- import { Badge as d } from "@devalok/shilp-sutra/ui";
3
- const r = {
4
- APPROVED: { text: "Corrected", variant: "accent" },
5
- PENDING: { text: "Pending", variant: "warning" },
6
- REJECTED: { text: "Denied", variant: "error" },
7
- MISSING: { text: "Missed", variant: "error" }
8
- }, e = {
9
- APPROVED: { text: "Approved", variant: "success" },
10
- PENDING: { text: "Pending", variant: "warning" },
11
- REJECTED: { text: "Denied", variant: "error" },
12
- CANCELLED: { text: "Redacted", variant: "error" },
13
- MISSING: { text: "Missed", variant: "error" }
1
+ "use client";
2
+ import { jsx as d } from "react/jsx-runtime";
3
+ import { Badge as l } from "@devalok/shilp-sutra/ui";
4
+ const e = {
5
+ APPROVED: { text: "Corrected", color: "accent" },
6
+ PENDING: { text: "Pending", color: "warning" },
7
+ REJECTED: { text: "Denied", color: "error" },
8
+ MISSING: { text: "Missed", color: "error" }
9
+ }, o = {
10
+ APPROVED: { text: "Approved", color: "success" },
11
+ PENDING: { text: "Pending", color: "warning" },
12
+ REJECTED: { text: "Denied", color: "error" },
13
+ CANCELLED: { text: "Redacted", color: "error" },
14
+ MISSING: { text: "Missed", color: "error" }
14
15
  };
15
- function v(n, t) {
16
- const a = t ? r : e, i = t ? r.REJECTED : e.REJECTED, { text: E, variant: o } = a[n] || i;
17
- return /* @__PURE__ */ s(d, { variant: o, size: "sm", children: E });
16
+ function D(t, r) {
17
+ const c = r ? e : o, n = r ? e.REJECTED : o.REJECTED, { text: E, color: s } = c[t] || n;
18
+ return /* @__PURE__ */ d(l, { color: s, size: "sm", children: E });
18
19
  }
19
20
  export {
20
- v as renderStatus
21
+ D as renderStatus
21
22
  };
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as r, jsx as e, Fragment as N } from "react/jsx-runtime";
2
3
  import * as P from "react";
3
4
  import { useState as n, useRef as v } from "react";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { KanbanBoard as o } from "./kanban-board.js";
2
3
  import { BoardColumn as e } from "./board-column.js";
3
4
  import { TaskCard as f, TaskCardOverlay as n } from "./task-card.js";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as C, jsx as p } from "react/jsx-runtime";
2
3
  import * as Z from "react";
3
4
  import { useState as B, useRef as _, useCallback as v, useEffect as P, useMemo as R } from "react";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
3
  import * as m from "react";
3
4
  import { useSortable as x } from "@dnd-kit/sortable";
@@ -86,7 +87,7 @@ function f({
86
87
  }
87
88
  ),
88
89
  e.labels.length > 0 && /* @__PURE__ */ l("div", { className: "flex items-center gap-ds-02 overflow-hidden", children: [
89
- e.labels.slice(0, 2).map((o) => /* @__PURE__ */ t(N, { size: "sm", variant: "neutral", className: "max-w-[80px] truncate", children: o }, o)),
90
+ e.labels.slice(0, 2).map((o) => /* @__PURE__ */ t(N, { size: "sm", className: "max-w-[80px] truncate", children: o }, o)),
90
91
  e.labels.length > 2 && /* @__PURE__ */ l("span", { className: "text-ds-xs text-text-tertiary", children: [
91
92
  "+",
92
93
  e.labels.length - 2
@@ -1,27 +1,28 @@
1
+ "use client";
1
2
  import { jsxs as c, jsx as t } from "react/jsx-runtime";
2
3
  import * as b from "react";
3
- import { useState as y, useRef as g, useCallback as o } from "react";
4
+ import { useState as y, useRef as g, useCallback as n } from "react";
4
5
  import { IconSquare as N, IconSend as w } from "@tabler/icons-react";
5
6
  import { Button as m } from "@devalok/shilp-sutra/ui";
6
7
  const k = b.forwardRef(
7
8
  function({
8
- onSubmit: d,
9
+ onSubmit: l,
9
10
  onCancel: h,
10
11
  isStreaming: s = !1,
11
12
  placeholder: p = "Ask Karm AI...",
12
- disclaimer: l = "AI responses may be inaccurate. Verify important information."
13
+ disclaimer: d = "AI responses may be inaccurate. Verify important information."
13
14
  }, u) {
14
- const [r, i] = y(""), a = g(null), f = o(() => {
15
+ const [r, i] = y(""), a = g(null), f = n(() => {
15
16
  const e = a.current;
16
17
  e && (e.style.height = "auto", e.style.height = Math.min(e.scrollHeight, 160) + "px");
17
- }, []), n = o(() => {
18
+ }, []), o = n(() => {
18
19
  const e = r.trim();
19
- !e || s || (i(""), a.current && (a.current.style.height = "auto"), d(e));
20
- }, [r, s, d]), x = o(
20
+ !e || s || (i(""), a.current && (a.current.style.height = "auto"), l(e));
21
+ }, [r, s, l]), x = n(
21
22
  (e) => {
22
- e.key === "Enter" && !e.shiftKey && (e.preventDefault(), n());
23
+ e.key === "Enter" && !e.shiftKey && (e.preventDefault(), o());
23
24
  },
24
- [n]
25
+ [o]
25
26
  );
26
27
  return /* @__PURE__ */ c("div", { ref: u, className: "border-t border-border bg-layer-01 p-ds-04", children: [
27
28
  /* @__PURE__ */ c("div", { className: "flex items-end gap-ds-03 rounded-ds-xl border border-border bg-field px-ds-04 py-ds-03", children: [
@@ -40,9 +41,9 @@ const k = b.forwardRef(
40
41
  className: "text-ds-md no-scrollbar max-h-[160px] min-h-ds-xs flex-1 resize-none bg-transparent text-text-primary placeholder:text-text-placeholder focus:outline-none disabled:opacity-[0.38]"
41
42
  }
42
43
  ),
43
- s ? /* @__PURE__ */ t(m, { variant: "error", size: "icon-sm", className: "h-ds-sm w-ds-sm shrink-0 rounded-ds-lg", onClick: h, "aria-label": "Stop generating", children: /* @__PURE__ */ t(N, { className: "h-ico-sm w-ico-sm" }) }) : /* @__PURE__ */ t(m, { size: "icon-sm", className: "h-ds-sm w-ds-sm shrink-0 rounded-ds-lg", onClick: n, disabled: !r.trim(), "aria-label": "Send message", children: /* @__PURE__ */ t(w, { className: "h-ico-sm w-ico-sm" }) })
44
+ s ? /* @__PURE__ */ t(m, { variant: "solid", color: "error", size: "icon-sm", className: "h-ds-sm w-ds-sm shrink-0 rounded-ds-lg", onClick: h, "aria-label": "Stop generating", children: /* @__PURE__ */ t(N, { className: "h-ico-sm w-ico-sm" }) }) : /* @__PURE__ */ t(m, { size: "icon-sm", className: "h-ds-sm w-ds-sm shrink-0 rounded-ds-lg", onClick: o, disabled: !r.trim(), "aria-label": "Send message", children: /* @__PURE__ */ t(w, { className: "h-ico-sm w-ico-sm" }) })
44
45
  ] }),
45
- l && /* @__PURE__ */ t("p", { className: "text-ds-sm mt-ds-02b text-center text-text-placeholder", children: l })
46
+ d && /* @__PURE__ */ t("p", { className: "text-ds-sm mt-ds-02b text-center text-text-placeholder", children: d })
46
47
  ] });
47
48
  }
48
49
  );
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as e, jsxs as d, Fragment as M } from "react/jsx-runtime";
2
3
  import * as P from "react";
3
4
  import { useState as T } from "react";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
3
  import * as x from "react";
3
4
  import { IconMessagePlus as h, IconMessage as p, IconArchive as u, IconTrash as b } from "@tabler/icons-react";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { ChatPanel as r } from "./chat-panel.js";
2
3
  import { ChatInput as a } from "./chat-input.js";
3
4
  import { MessageList as p } from "./message-list.js";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as d } from "react/jsx-runtime";
2
3
  const t = {
3
4
  p: ({ children: s }) => /* @__PURE__ */ d("p", { className: "mb-ds-03 last:mb-0", children: s }),
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
3
  import * as f from "react";
3
4
  import { useRef as u, useCallback as h, useEffect as p } from "react";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
3
  import * as o from "react";
3
4
  import m from "react-markdown";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { useEffect as p } from "react";
2
3
  function s({ accentCss: o }) {
3
4
  return p(() => {
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
3
  import * as x from "react";
3
4
  import { cn as f } from "@devalok/shilp-sutra/ui";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { AccentProvider as o } from "./accent-provider.js";
2
3
  import { ClientPortalHeader as a } from "./client-portal-header.js";
3
4
  import { ProjectCard as d } from "./project-card.js";
@@ -1,5 +1,6 @@
1
+ "use client";
1
2
  import { jsxs as e, jsx as r } from "react/jsx-runtime";
2
- import * as m from "react";
3
+ import * as n from "react";
3
4
  import { cn as p } from "@devalok/shilp-sutra/ui";
4
5
  import { Badge as h } from "@devalok/shilp-sutra/ui";
5
6
  import { Progress as b } from "@devalok/shilp-sutra/ui";
@@ -7,32 +8,32 @@ const f = {
7
8
  active: "success",
8
9
  completed: "info",
9
10
  paused: "warning"
10
- }, x = m.forwardRef(
11
+ }, x = n.forwardRef(
11
12
  ({
12
13
  className: i,
13
14
  name: c,
14
- description: a,
15
- status: t,
15
+ description: t,
16
+ status: a,
16
17
  taskCount: s = 0,
17
18
  completedTasks: d = 0,
18
- ...n
19
- }, l) => {
19
+ ...l
20
+ }, m) => {
20
21
  const o = s > 0 ? Math.round(d / s * 100) : 0;
21
22
  return /* @__PURE__ */ e(
22
23
  "div",
23
24
  {
24
- ref: l,
25
+ ref: m,
25
26
  className: p(
26
27
  "group cursor-pointer rounded-ds-lg border border-border-subtle bg-layer-01 p-ds-05b shadow-01 transition-shadow duration-moderate-02 hover:shadow-02",
27
28
  i
28
29
  ),
29
- ...n,
30
+ ...l,
30
31
  children: [
31
32
  /* @__PURE__ */ e("div", { className: "mb-ds-04 flex items-start justify-between", children: [
32
33
  /* @__PURE__ */ r("h3", { className: "font-display text-ds-base font-semibold text-text-primary", children: c }),
33
- /* @__PURE__ */ r(h, { variant: f[t], size: "sm", children: t })
34
+ /* @__PURE__ */ r(h, { color: f[a], size: "sm", children: a })
34
35
  ] }),
35
- a && /* @__PURE__ */ r("p", { className: "mb-ds-05 line-clamp-2 text-ds-md text-text-secondary", children: a }),
36
+ t && /* @__PURE__ */ r("p", { className: "mb-ds-05 line-clamp-2 text-ds-md text-text-secondary", children: t }),
36
37
  /* @__PURE__ */ e("div", { className: "space-y-ds-03", children: [
37
38
  /* @__PURE__ */ e("div", { className: "flex items-center justify-between text-ds-sm text-text-helper", children: [
38
39
  /* @__PURE__ */ e("span", { children: [
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
3
  import * as v from "react";
3
4
  import { IconCheck as g, IconCoffee as y, IconClock as w, IconArrowRight as k } from "@tabler/icons-react";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
3
  import * as b from "react";
3
4
  import { useState as p } from "react";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { AttendanceCTA as o } from "./attendance-cta.js";
2
3
  import { DailyBrief as f } from "./daily-brief.js";
3
4
  export {
package/dist/index.d.ts CHANGED
@@ -4,6 +4,6 @@ export { TaskDetailPanel, type TaskDetailPanelProps, type FullTask, TaskProperti
4
4
  export { ChatPanel, type ChatPanelProps, type Agent, ChatInput, type ChatInputProps, MessageList, type ChatMessage, type MessageListProps, ConversationList, type Conversation, type ConversationListProps, StreamingText, type StreamingTextProps, } from './chat';
5
5
  export { AttendanceCTA, type AttendanceCTAProps, DailyBrief, type DailyBriefProps, type BriefData, } from './dashboard';
6
6
  export { AccentProvider, type AccentProviderProps, ClientPortalHeader, type ClientPortalHeaderProps, ProjectCard, type ProjectCardProps, } from './client';
7
- export { SegmentedControl, type SegmentedControlProps, SegmentedControlItem, type SegmentedControlItemProps, segmentedControlItemVariants, type SegmentedControlSize, type SegmentedControlColor, type SegmentedControlOption, } from '../../core/src/ui/segmented-control';
8
- export { AdminDashboard, type AdminDashboardRootProps, type AdminDashboardCalendarProps, type AdminDashboardAttendanceOverviewProps, type AdminDashboardAssociateDetailProps, type AdminDashboardLeaveRequestsProps, type AdminDashboardContentProps, Calendar, type CalendarProps, BreakRequestCard, type BreakRequestProps, LeaveRequests, type LeaveRequestsProps, AdminDashboardSkeleton, RenderDate, type RenderDateProps, type DateAttendanceInfo, DashboardHeader, type DashboardHeaderProps, AttendanceOverview, type AttendanceOverviewProps, AssociateDetail, type AssociateDetailProps, CorrectionList, type CorrectionListProps, BreakAdmin, type BreakAdminProps, BreakAdminHeader, type BreakAdminHeaderProps, Breaks, type BreaksProps, LeaveRequest, type LeaveRequestProps, BreakBalance, type BreakBalanceProps, EditBreak, type EditBreakProps, EditBreakBalance, type EditBreakBalanceProps, DeleteBreak, type DeleteBreakProps, BreakAdminSkeleton, ApprovedAdjustments, type ApprovedAdjustmentsProps, AdjustmentType, renderAdjustmentType, type AdminUser, type AttendanceRecord, type GroupedAttendance, type RealtimeCallbacks, } from './admin';
7
+ export { SegmentedControl, type SegmentedControlProps, SegmentedControlItem, type SegmentedControlItemProps, segmentedControlItemVariants, type SegmentedControlSize, type SegmentedControlVariant, type SegmentedControlOption, } from '../../core/src/ui/segmented-control';
8
+ export { AdminDashboard, type AdminDashboardRootProps, type AdminDashboardCalendarProps, type AdminDashboardAttendanceOverviewProps, type AdminDashboardAssociateDetailProps, type AdminDashboardLeaveRequestsProps, type AdminDashboardContentProps, Calendar, type CalendarProps, BreakRequestCard, type BreakRequestProps, LeaveRequests, type LeaveRequestsProps, AdminDashboardSkeleton, RenderDate, type RenderDateProps, type DateAttendanceInfo, DashboardHeader, type DashboardHeaderProps, AttendanceOverview, type AttendanceOverviewProps, AssociateDetail, type AssociateDetailProps, CorrectionList, type CorrectionListProps, BreakAdmin, type BreakAdminProps, BreakAdminHeader, type BreakAdminHeaderProps, Breaks, type BreaksProps, LeaveRequest, type LeaveRequestProps, BreakBalance, type BreakBalanceProps, EditBreak, type EditBreakProps, EditBreakBalance, type EditBreakBalanceProps, DeleteBreak, type DeleteBreakProps, BreakAdminSkeleton, ApprovedAdjustments, type ApprovedAdjustmentsProps, AdjustmentType, renderAdjustmentType, renderStatus, formatDate, formatDateIST, formatTimeIST, formatDateWithWeekday, formatOptionalDate, getDaySuffix, isSameDay, getWeekDays, getMonthDays, getStartOfDay, getEndOfDay, removeAllEmojis, removeEmojiAtStart, type AdminUser, type AttendanceRecord, type GroupedAttendance, type RealtimeCallbacks, type TaskItem, type AttendanceCorrection, type BreakAdminFilters, type UserRole, type AttendanceStatus, type CorrectionStatus, type BreakRequestStatus, type BreakRequest, type BreakBalanceData, type Adjustment, type DayInfo, } from './admin';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGtE,OAAO,EACL,WAAW,EACX,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,QAAQ,EACR,eAAe,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACZ,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,OAAO,GACb,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,SAAS,EACT,KAAK,cAAc,EACnB,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,QAAQ,CAAA;AAGf,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,EACvB,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,SAAS,GACf,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,WAAW,EACX,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,4BAA4B,EAC5B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EACL,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,qCAAqC,EAC1C,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,EAC/B,QAAQ,EACR,KAAK,aAAa,EAClB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,aAAa,EACb,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,eAAe,EACf,KAAK,oBAAoB,EACzB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,eAAe,EACf,KAAK,oBAAoB,EACzB,cAAc,EACd,KAAK,mBAAmB,EACxB,UAAU,EACV,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,MAAM,EACN,KAAK,WAAW,EAChB,YAAY,EACZ,KAAK,iBAAiB,EACtB,YAAY,EACZ,KAAK,iBAAiB,EACtB,SAAS,EACT,KAAK,cAAc,EACnB,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,WAAW,EACX,KAAK,gBAAgB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,cAAc,EACd,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}