@devalok/shilp-sutra-karm 0.16.1 → 0.18.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 (141) hide show
  1. package/dist/_chunks/chat-panel.js +271 -236
  2. package/dist/_chunks/kanban-board.js +1114 -1078
  3. package/dist/_chunks/markdown-components.js +35 -0
  4. package/dist/_chunks/project-card.js +51 -51
  5. package/dist/_chunks/render-adjustment-type.js +2044 -2037
  6. package/dist/_chunks/sidebar-scratchpad.js +510 -0
  7. package/dist/_chunks/task-detail-panel.js +773 -751
  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/package.json +80 -78
  141. package/dist/_chunks/daily-brief.js +0 -226
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import * as React from 'react';
2
3
  export interface Member {
3
4
  id: string;
@@ -28,14 +29,13 @@ interface TaskData {
28
29
  labels: string[];
29
30
  visibility: 'INTERNAL' | 'EVERYONE';
30
31
  }
31
- interface TaskPropertiesProps {
32
+ interface TaskPropertiesProps extends React.HTMLAttributes<HTMLDivElement> {
32
33
  task: TaskData;
33
34
  columns: Column[];
34
35
  members: Member[];
35
36
  onUpdate: (field: string, value: unknown) => void;
36
37
  onAssign: (userId: string) => void;
37
38
  onUnassign: (userId: string) => void;
38
- className?: string;
39
39
  /** When true, most fields are display-only except those in editableFields */
40
40
  readOnly?: boolean;
41
41
  /** Field names the client can still edit (e.g. ['priority', 'dueDate']) */
@@ -1 +1 @@
1
- {"version":3,"file":"task-properties.d.ts","sourceRoot":"","sources":["../../src/tasks/task-properties.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAiC9B,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC7B,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;IAC9C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,EAAE,UAAU,GAAG,UAAU,CAAA;CACpC;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACjD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,uEAAuE;IACvE,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAA;IAC1E,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,KAAK,EAAE,IAAI,GAAG,IAAI,CAAA;QAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAA;QACrC,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,KAAK,KAAK,CAAC,SAAS,CAAA;IACrB,gGAAgG;IAChG,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAA;CACvC;AA0DD,QAAA,MAAM,cAAc,4FAmXnB,CAAA;AAID,OAAO,EAAE,cAAc,EAAE,CAAA;AACzB,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"task-properties.d.ts","sourceRoot":"","sources":["../../src/tasks/task-properties.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAiC9B,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC7B,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;IAC9C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,EAAE,UAAU,GAAG,UAAU,CAAA;CACpC;AAED,UAAU,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACjD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,uEAAuE;IACvE,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAA;IAC1E,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,KAAK,EAAE,IAAI,GAAG,IAAI,CAAA;QAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAA;QACrC,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,KAAK,KAAK,CAAC,SAAS,CAAA;IACrB,gGAAgG;IAChG,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAA;CACvC;AA0DD,QAAA,MAAM,cAAc,4FAoXnB,CAAA;AAID,OAAO,EAAE,cAAc,EAAE,CAAA;AACzB,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ /**
3
+ * Shared utilities for task tab components.
4
+ */
5
+ /**
6
+ * Like formatRelativeTime but includes time in the >7d fallback.
7
+ */
8
+ export declare function formatTimestamp(dateStr: string): string;
9
+ //# sourceMappingURL=task-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-utils.d.ts","sourceRoot":"","sources":["../../src/tasks/task-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,UAc9C"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import * as React from 'react';
2
3
  export declare function useComposedRef<T>(...refs: Array<React.Ref<T> | undefined>): React.RefCallback<T>;
3
4
  //# sourceMappingURL=use-composed-ref.d.ts.map
package/package.json CHANGED
@@ -1,78 +1,80 @@
1
- {
2
- "name": "@devalok/shilp-sutra-karm",
3
- "version": "0.16.1",
4
- "description": "Domain components for Karm — board, tasks, chat, dashboard, client, and admin",
5
- "license": "MIT",
6
- "type": "module",
7
- "main": "./dist/index.js",
8
- "module": "./dist/index.js",
9
- "types": "./dist/index.d.ts",
10
- "sideEffects": [
11
- "**/*.css"
12
- ],
13
- "exports": {
14
- ".": {
15
- "import": "./dist/index.js",
16
- "default": "./dist/index.js",
17
- "types": "./dist/index.d.ts"
18
- },
19
- "./board": {
20
- "import": "./dist/board/index.js",
21
- "default": "./dist/board/index.js",
22
- "types": "./dist/board/index.d.ts"
23
- },
24
- "./tasks": {
25
- "import": "./dist/tasks/index.js",
26
- "default": "./dist/tasks/index.js",
27
- "types": "./dist/tasks/index.d.ts"
28
- },
29
- "./chat": {
30
- "import": "./dist/chat/index.js",
31
- "default": "./dist/chat/index.js",
32
- "types": "./dist/chat/index.d.ts"
33
- },
34
- "./dashboard": {
35
- "import": "./dist/dashboard/index.js",
36
- "default": "./dist/dashboard/index.js",
37
- "types": "./dist/dashboard/index.d.ts"
38
- },
39
- "./client": {
40
- "import": "./dist/client/index.js",
41
- "default": "./dist/client/index.js",
42
- "types": "./dist/client/index.d.ts"
43
- },
44
- "./admin": {
45
- "import": "./dist/admin/index.js",
46
- "default": "./dist/admin/index.js",
47
- "types": "./dist/admin/index.d.ts"
48
- }
49
- },
50
- "files": [
51
- "dist",
52
- "README.md",
53
- "llms.txt"
54
- ],
55
- "scripts": {
56
- "build": "vite build && node scripts/inject-use-client.mjs",
57
- "typecheck": "tsc --noEmit",
58
- "lint": "eslint src/",
59
- "prepublishOnly": "pnpm build"
60
- },
61
- "peerDependencies": {
62
- "@devalok/shilp-sutra": ">=0.7.0",
63
- "@tabler/icons-react": "^3.0.0",
64
- "react": "^18 || ^19",
65
- "react-dom": "^18 || ^19"
66
- },
67
- "devDependencies": {
68
- "@devalok/shilp-sutra": "workspace:*",
69
- "@dnd-kit/core": "^6.3.1",
70
- "@dnd-kit/sortable": "^10.0.0",
71
- "@dnd-kit/utilities": "^3.2.2",
72
- "class-variance-authority": "^0.7.1",
73
- "clsx": "^2.1.1",
74
- "date-fns": "^4.1.0",
75
- "react-markdown": "^10.1.0",
76
- "tailwind-merge": "^3.0.1"
77
- }
78
- }
1
+ {
2
+ "name": "@devalok/shilp-sutra-karm",
3
+ "version": "0.18.0",
4
+ "description": "Domain components for Karm — board, tasks, chat, dashboard, client, and admin",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "module": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "sideEffects": [
11
+ "**/*.css"
12
+ ],
13
+ "exports": {
14
+ ".": {
15
+ "import": "./dist/index.js",
16
+ "default": "./dist/index.js",
17
+ "types": "./dist/index.d.ts"
18
+ },
19
+ "./board": {
20
+ "import": "./dist/board/index.js",
21
+ "default": "./dist/board/index.js",
22
+ "types": "./dist/board/index.d.ts"
23
+ },
24
+ "./tasks": {
25
+ "import": "./dist/tasks/index.js",
26
+ "default": "./dist/tasks/index.js",
27
+ "types": "./dist/tasks/index.d.ts"
28
+ },
29
+ "./chat": {
30
+ "import": "./dist/chat/index.js",
31
+ "default": "./dist/chat/index.js",
32
+ "types": "./dist/chat/index.d.ts"
33
+ },
34
+ "./dashboard": {
35
+ "import": "./dist/dashboard/index.js",
36
+ "default": "./dist/dashboard/index.js",
37
+ "types": "./dist/dashboard/index.d.ts"
38
+ },
39
+ "./client": {
40
+ "import": "./dist/client/index.js",
41
+ "default": "./dist/client/index.js",
42
+ "types": "./dist/client/index.d.ts"
43
+ },
44
+ "./admin": {
45
+ "import": "./dist/admin/index.js",
46
+ "default": "./dist/admin/index.js",
47
+ "types": "./dist/admin/index.d.ts"
48
+ }
49
+ },
50
+ "files": [
51
+ "dist",
52
+ "README.md",
53
+ "llms.txt"
54
+ ],
55
+ "scripts": {
56
+ "build": "vite build && node scripts/inject-use-client.mjs",
57
+ "typecheck": "tsc --noEmit",
58
+ "lint": "eslint src/",
59
+ "prepublishOnly": "pnpm build"
60
+ },
61
+ "peerDependencies": {
62
+ "@devalok/shilp-sutra": ">=0.18.0",
63
+ "@tabler/icons-react": "^3.0.0",
64
+ "framer-motion": "^12.0.0",
65
+ "react": "^18 || ^19",
66
+ "react-dom": "^18 || ^19"
67
+ },
68
+ "devDependencies": {
69
+ "@devalok/shilp-sutra": "workspace:*",
70
+ "@dnd-kit/core": "^6.3.1",
71
+ "@dnd-kit/sortable": "^10.0.0",
72
+ "@dnd-kit/utilities": "^3.2.2",
73
+ "class-variance-authority": "^0.7.1",
74
+ "clsx": "^2.1.1",
75
+ "date-fns": "^4.1.0",
76
+ "framer-motion": "^12.36.0",
77
+ "react-markdown": "^10.1.0",
78
+ "tailwind-merge": "^3.0.1"
79
+ }
80
+ }
@@ -1,226 +0,0 @@
1
- "use client";
2
- import { jsx as e, jsxs as s } from "react/jsx-runtime";
3
- import * as w from "react";
4
- import { useState as k } from "react";
5
- import { IconCheck as D, IconCoffee as A, IconClock as C, IconArrowRight as M, IconSparkles as v, IconChevronDown as I, IconRefresh as T } from "@tabler/icons-react";
6
- import { cn as c } from "@devalok/shilp-sutra/ui/lib/utils";
7
- import { M as R } from "./vendor.js";
8
- function _() {
9
- const i = (/* @__PURE__ */ new Date()).getHours();
10
- return i < 12 ? "Good morning" : i < 17 ? "Good afternoon" : "Good evening";
11
- }
12
- function j() {
13
- return (/* @__PURE__ */ new Date()).toLocaleDateString("en-IN", {
14
- weekday: "long",
15
- day: "numeric",
16
- month: "long",
17
- year: "numeric",
18
- timeZone: "Asia/Kolkata"
19
- });
20
- }
21
- function B(i) {
22
- return new Date(i).toLocaleTimeString("en-IN", {
23
- hour: "2-digit",
24
- minute: "2-digit",
25
- hour12: !0,
26
- timeZone: "Asia/Kolkata"
27
- });
28
- }
29
- const G = w.forwardRef(
30
- function({
31
- userName: r,
32
- attendance: t,
33
- canMarkAttendance: m,
34
- onMarkAttendance: l,
35
- isSubmitting: a = !1,
36
- formatTime: u = B
37
- }, x) {
38
- var b, N;
39
- const f = ((b = t == null ? void 0 : t.attendance) == null ? void 0 : b.status) ?? "Not_Marked", h = f === "PRESENT" || a, p = f === "BREAK", g = (N = t == null ? void 0 : t.attendance) == null ? void 0 : N.timeIn, n = _(), o = (r == null ? void 0 : r.split(" ")[0]) || "there", d = j();
40
- return h && !p ? /* @__PURE__ */ e("div", { ref: x, className: "relative overflow-hidden rounded-ds-2xl border border-border bg-layer-01 shadow-01", children: /* @__PURE__ */ s("div", { className: "flex items-center justify-between px-ds-06 py-ds-05b sm:px-ds-07", children: [
41
- /* @__PURE__ */ s("div", { className: "flex flex-col gap-ds-02", children: [
42
- /* @__PURE__ */ s("h2", { className: "text-ds-2xl text-text-primary", children: [
43
- n,
44
- ",",
45
- " ",
46
- /* @__PURE__ */ e("span", { className: "font-semibold italic text-interactive", children: o })
47
- ] }),
48
- /* @__PURE__ */ e("p", { className: "text-ds-md text-text-tertiary", children: d })
49
- ] }),
50
- /* @__PURE__ */ s("div", { className: "flex items-center gap-ds-03 rounded-ds-xl bg-success-surface px-ds-05 py-ds-03", children: [
51
- /* @__PURE__ */ e("div", { className: "flex h-ico-md w-ico-md items-center justify-center rounded-ds-full bg-text-success", children: /* @__PURE__ */ e(D, { className: "h-ico-sm w-ico-sm text-text-on-color" }) }),
52
- /* @__PURE__ */ s("span", { className: "text-ds-md font-semibold text-text-success", children: [
53
- "Marked at",
54
- " ",
55
- g ? u(g) : "--:--"
56
- ] })
57
- ] })
58
- ] }) }) : p ? /* @__PURE__ */ e("div", { ref: x, className: "relative overflow-hidden rounded-ds-2xl border border-border bg-layer-01 shadow-01", children: /* @__PURE__ */ s("div", { className: "flex items-center justify-between px-ds-06 py-ds-05b sm:px-ds-07", children: [
59
- /* @__PURE__ */ s("div", { className: "flex flex-col gap-ds-02", children: [
60
- /* @__PURE__ */ s("h2", { className: "text-ds-2xl text-text-primary", children: [
61
- n,
62
- ",",
63
- " ",
64
- /* @__PURE__ */ e("span", { className: "font-semibold italic text-interactive", children: o })
65
- ] }),
66
- /* @__PURE__ */ e("p", { className: "text-ds-md text-text-tertiary", children: d })
67
- ] }),
68
- /* @__PURE__ */ s("div", { className: "flex items-center gap-ds-03 rounded-ds-xl bg-warning-surface px-ds-05 py-ds-03", children: [
69
- /* @__PURE__ */ e(A, { className: "h-ico-sm w-ico-sm text-text-warning" }),
70
- /* @__PURE__ */ s("span", { className: "text-ds-md font-semibold text-text-warning", children: [
71
- "On break",
72
- t != null && t.breakReason ? ` — ${t.breakReason}` : ""
73
- ] })
74
- ] })
75
- ] }) }) : m ? /* @__PURE__ */ e("div", { ref: x, className: "relative overflow-hidden rounded-ds-2xl border border-border bg-gradient-to-br from-interactive-subtle via-background to-success-surface", children: /* @__PURE__ */ s("div", { className: "flex items-center justify-between px-ds-06 py-ds-07 sm:px-ds-07 sm:py-ds-08", children: [
76
- /* @__PURE__ */ s("div", { className: "flex flex-col gap-ds-02b", children: [
77
- /* @__PURE__ */ s("h2", { className: "text-ds-3xl text-text-primary", children: [
78
- n,
79
- ",",
80
- " ",
81
- /* @__PURE__ */ e("span", { className: "font-semibold italic text-interactive", children: o })
82
- ] }),
83
- /* @__PURE__ */ e("div", { className: "flex items-center gap-ds-03", children: /* @__PURE__ */ e("p", { className: "text-ds-base text-text-tertiary", children: d }) })
84
- ] }),
85
- /* @__PURE__ */ s(
86
- "button",
87
- {
88
- type: "button",
89
- onClick: l,
90
- disabled: a,
91
- className: "flex items-center gap-ds-03 rounded-ds-xl bg-interactive px-ds-06 py-ds-04 font-semibold text-text-on-color shadow-02 transition-all duration-moderate-01 ease-expressive-standard hover:-translate-y-0.5 hover:shadow-03 active:translate-y-0 active:scale-[0.98] disabled:opacity-[0.38]",
92
- children: [
93
- a ? "Marking..." : "Mark Attendance",
94
- !a && /* @__PURE__ */ e(M, { className: "h-ico-sm w-ico-sm" })
95
- ]
96
- }
97
- )
98
- ] }) }) : /* @__PURE__ */ e("div", { ref: x, className: "relative overflow-hidden rounded-ds-2xl border border-border bg-layer-01 shadow-01", children: /* @__PURE__ */ s("div", { className: "flex items-center justify-between px-ds-06 py-ds-06 sm:px-ds-07 sm:py-ds-07", children: [
99
- /* @__PURE__ */ s("div", { className: "flex flex-col gap-ds-02b", children: [
100
- /* @__PURE__ */ s("h2", { className: "text-ds-3xl text-text-primary", children: [
101
- n,
102
- ",",
103
- " ",
104
- /* @__PURE__ */ e("span", { className: "font-semibold italic text-interactive", children: o })
105
- ] }),
106
- /* @__PURE__ */ e("p", { className: "text-ds-base text-text-tertiary", children: d })
107
- ] }),
108
- /* @__PURE__ */ s("div", { className: "flex items-center gap-ds-03 rounded-ds-xl bg-layer-02 px-ds-05 py-ds-03", children: [
109
- /* @__PURE__ */ e(C, { className: "h-ico-sm w-ico-sm text-text-placeholder" }),
110
- /* @__PURE__ */ e("span", { className: "text-ds-md text-text-placeholder", children: "Attendance window closed" })
111
- ] })
112
- ] }) });
113
- }
114
- );
115
- G.displayName = "AttendanceCTA";
116
- function O(i) {
117
- const r = new Date(i), m = (/* @__PURE__ */ new Date()).getTime() - r.getTime(), l = Math.floor(m / 6e4);
118
- if (l < 1) return "just now";
119
- if (l < 60) return `${l}m ago`;
120
- const a = Math.floor(l / 60);
121
- return a < 24 ? `${a}h ago` : `${Math.floor(a / 24)}d ago`;
122
- }
123
- const y = [
124
- "bg-category-amber",
125
- "bg-category-teal",
126
- "bg-category-cyan",
127
- "bg-interactive",
128
- "bg-accent"
129
- ], $ = w.forwardRef(
130
- function({
131
- data: r,
132
- loading: t = !1,
133
- onRefresh: m,
134
- unavailable: l = !1,
135
- collapsible: a = !0,
136
- defaultCollapsed: u = !1,
137
- title: x,
138
- className: f
139
- }, h) {
140
- const [p, g] = k(u), n = x ?? "Morning Brief";
141
- if (t && !r)
142
- return /* @__PURE__ */ s("div", { ref: h, className: c("flex flex-col gap-ds-04 rounded-ds-2xl border border-border bg-layer-01 shadow-01 p-ds-05b", f), children: [
143
- /* @__PURE__ */ s("div", { className: "flex items-center gap-ds-03", children: [
144
- /* @__PURE__ */ e("div", { className: "h-ico-sm w-ico-sm animate-pulse rounded bg-layer-02" }),
145
- /* @__PURE__ */ e("div", { className: "h-4 w-24 animate-pulse rounded bg-layer-02" })
146
- ] }),
147
- [1, 2, 3].map((d) => /* @__PURE__ */ s("div", { className: "flex items-start gap-ds-04", children: [
148
- /* @__PURE__ */ e("div", { className: "mt-ds-02b h-2 w-2 shrink-0 animate-pulse rounded-ds-full bg-layer-02" }),
149
- /* @__PURE__ */ e(
150
- "div",
151
- {
152
- className: "h-4 animate-pulse rounded bg-layer-02",
153
- style: { width: `${60 + d * 10}%` }
154
- }
155
- )
156
- ] }, d))
157
- ] });
158
- if (l)
159
- return /* @__PURE__ */ s("div", { ref: h, className: c("flex items-center gap-ds-03 rounded-ds-2xl border border-border bg-layer-01 shadow-01 px-ds-05b py-ds-05", f), children: [
160
- /* @__PURE__ */ e(v, { className: "h-ico-sm w-ico-sm text-text-placeholder" }),
161
- /* @__PURE__ */ e("span", { className: "text-ds-sm text-text-placeholder", children: "AI brief unavailable" })
162
- ] });
163
- if (!r || r.brief.length === 0) return null;
164
- const o = !a || !p;
165
- return /* @__PURE__ */ s("div", { ref: h, className: c("flex flex-col rounded-ds-2xl border border-border bg-layer-01 shadow-01", f), children: [
166
- /* @__PURE__ */ s("div", { className: "flex items-center justify-between px-ds-05b py-ds-05", children: [
167
- a ? /* @__PURE__ */ s(
168
- "button",
169
- {
170
- type: "button",
171
- "aria-label": "Toggle brief",
172
- "aria-expanded": o,
173
- onClick: () => g(!p),
174
- className: "flex flex-1 items-center gap-ds-03 transition-colors hover:opacity-80",
175
- children: [
176
- /* @__PURE__ */ e(v, { className: "h-ico-sm w-ico-sm text-interactive" }),
177
- /* @__PURE__ */ e("span", { className: "text-ds-base font-semibold text-text-primary", children: n }),
178
- /* @__PURE__ */ e(
179
- I,
180
- {
181
- className: c(
182
- "h-ico-sm w-ico-sm text-text-placeholder transition-transform duration-200",
183
- o && "rotate-180"
184
- )
185
- }
186
- )
187
- ]
188
- }
189
- ) : /* @__PURE__ */ s("div", { className: "flex items-center gap-ds-03", children: [
190
- /* @__PURE__ */ e(v, { className: "h-ico-sm w-ico-sm text-interactive" }),
191
- /* @__PURE__ */ e("span", { className: "text-ds-base font-semibold text-text-primary", children: n })
192
- ] }),
193
- /* @__PURE__ */ e("div", { className: "flex items-center gap-ds-02", children: m && /* @__PURE__ */ e(
194
- "button",
195
- {
196
- type: "button",
197
- onClick: m,
198
- "aria-label": "Refresh brief",
199
- className: "p-1.5 rounded hover:bg-layer-02 transition-colors",
200
- children: /* @__PURE__ */ e(T, { className: c("h-ico-sm w-ico-sm text-text-placeholder", t && "animate-spin") })
201
- }
202
- ) })
203
- ] }),
204
- /* @__PURE__ */ e("div", { className: c("grid transition-[grid-template-rows] duration-200", o ? "grid-rows-[1fr]" : "grid-rows-[0fr]"), children: /* @__PURE__ */ e("div", { className: "overflow-hidden", children: /* @__PURE__ */ s("div", { className: "flex flex-col gap-ds-03 border-t border-border px-ds-05b pb-ds-05b pt-ds-05", children: [
205
- r.brief.map((d, b) => /* @__PURE__ */ s("div", { className: "flex items-start gap-ds-04", children: [
206
- /* @__PURE__ */ e(
207
- "div",
208
- {
209
- className: c("mt-ds-02b h-2 w-2 shrink-0 rounded-ds-full", y[b % y.length])
210
- }
211
- ),
212
- /* @__PURE__ */ e("div", { className: "text-ds-md text-text-secondary [&_p]:mb-0 [&_strong]:font-semibold [&_code]:rounded [&_code]:bg-field [&_code]:px-1 [&_code]:py-ds-01 [&_code]:text-ds-sm [&_a]:text-interactive [&_a]:underline", children: /* @__PURE__ */ e(R, { children: d }) })
213
- ] }, b)),
214
- /* @__PURE__ */ s("div", { className: "mt-ds-02 text-ds-xs text-text-placeholder", children: [
215
- "Generated ",
216
- O(r.generatedAt)
217
- ] })
218
- ] }) }) })
219
- ] });
220
- }
221
- );
222
- $.displayName = "DailyBrief";
223
- export {
224
- G as A,
225
- $ as D
226
- };