@devalok/shilp-sutra 0.34.0 → 0.34.1

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 (172) hide show
  1. package/dist/_chunks/badge-group.js +306 -246
  2. package/dist/_chunks/chat.js +513 -0
  3. package/dist/_chunks/date-picker.js +748 -0
  4. package/dist/_chunks/document-preview.js +109 -90
  5. package/dist/_chunks/file-preview.js +492 -504
  6. package/dist/_chunks/framer.js +5564 -5613
  7. package/dist/_chunks/image-preview.js +127 -88
  8. package/dist/_chunks/keybinding.js +12 -14
  9. package/dist/_chunks/link-context.js +19 -16
  10. package/dist/_chunks/mention-suggestion.js +353 -350
  11. package/dist/_chunks/motion-provider.js +26 -20
  12. package/dist/_chunks/popover.js +127 -0
  13. package/dist/_chunks/primitives.js +7584 -6425
  14. package/dist/_chunks/rich-chat-input.js +2070 -0
  15. package/dist/_chunks/rolldown-runtime.js +21 -0
  16. package/dist/_chunks/shared.js +126 -0
  17. package/dist/_chunks/sonner.js +605 -734
  18. package/dist/_chunks/stat-row.js +418 -440
  19. package/dist/_chunks/tiptap.js +15850 -19964
  20. package/dist/_chunks/tree-view.js +231 -290
  21. package/dist/_chunks/use-calendar.js +161 -208
  22. package/dist/_chunks/vendor-client.js +314 -2199
  23. package/dist/_chunks/vendor-utils.js +1721 -2978
  24. package/dist/ai/ai-command-provider.js +23 -17
  25. package/dist/ai/block-renderer.js +68 -51
  26. package/dist/ai/blocks/index.js +2 -12
  27. package/dist/ai/command-bar.js +470 -519
  28. package/dist/ai/conversation.js +241 -227
  29. package/dist/ai/index.js +181 -167
  30. package/dist/ai/types.js +0 -1
  31. package/dist/composed/activity-feed.js +232 -202
  32. package/dist/composed/avatar-group.js +164 -222
  33. package/dist/composed/bulk-action-bar.js +174 -165
  34. package/dist/composed/command-palette.js +290 -308
  35. package/dist/composed/confirm-dialog.js +28 -48
  36. package/dist/composed/content-card.js +69 -108
  37. package/dist/composed/date-picker/index.js +3 -13
  38. package/dist/composed/deadline-indicator.js +68 -74
  39. package/dist/composed/emoji-picker.js +83 -110
  40. package/dist/composed/empty-state.js +64 -103
  41. package/dist/composed/error-boundary.js +129 -127
  42. package/dist/composed/file-preview.js +2 -12
  43. package/dist/composed/filter-bar.js +98 -130
  44. package/dist/composed/form-section.js +61 -45
  45. package/dist/composed/global-loading.js +34 -47
  46. package/dist/composed/index.js +34 -92
  47. package/dist/composed/inline-edit.js +92 -107
  48. package/dist/composed/lib/string-utils.js +8 -8
  49. package/dist/composed/loading-skeleton.js +103 -171
  50. package/dist/composed/markdown-viewer.js +187 -139
  51. package/dist/composed/master-detail.js +147 -156
  52. package/dist/composed/member-picker.js +46 -49
  53. package/dist/composed/multi-select-popover.js +181 -179
  54. package/dist/composed/page-header.js +54 -76
  55. package/dist/composed/page-skeletons.js +143 -127
  56. package/dist/composed/priority-indicator.js +105 -111
  57. package/dist/composed/responsive-overlay.js +36 -41
  58. package/dist/composed/rich-chat-input.js +2 -1860
  59. package/dist/composed/rich-text-editor.js +561 -424
  60. package/dist/composed/schedule-view.js +134 -185
  61. package/dist/composed/simple-tooltip.js +21 -21
  62. package/dist/composed/status-badge.js +133 -137
  63. package/dist/hooks/index.js +7 -12
  64. package/dist/hooks/use-color-mode.js +28 -25
  65. package/dist/hooks/use-mobile.js +13 -13
  66. package/dist/hooks/use-toast.js +2 -4
  67. package/dist/hooks/use-touch-device.js +9 -11
  68. package/dist/hooks/use-viewport-height.js +14 -14
  69. package/dist/motion/index.js +3 -11
  70. package/dist/motion/primitives-index.js +226 -186
  71. package/dist/shell/app-command-palette.js +203 -234
  72. package/dist/shell/bottom-navbar.js +150 -190
  73. package/dist/shell/command-registry.js +13 -14
  74. package/dist/shell/index.js +10 -20
  75. package/dist/shell/link-context.js +2 -5
  76. package/dist/shell/notification-center.js +238 -259
  77. package/dist/shell/notification-preferences.js +241 -184
  78. package/dist/shell/sidebar.js +251 -281
  79. package/dist/shell/top-bar.js +203 -237
  80. package/dist/tailwind/index.cjs +426 -442
  81. package/dist/tailwind/index.js +2 -4
  82. package/dist/tailwind/preset.js +443 -459
  83. package/dist/ui/accordion.js +52 -60
  84. package/dist/ui/alert-dialog.js +111 -156
  85. package/dist/ui/alert.js +177 -99
  86. package/dist/ui/aspect-ratio.js +13 -16
  87. package/dist/ui/autocomplete.js +112 -148
  88. package/dist/ui/avatar.js +196 -169
  89. package/dist/ui/badge-group.js +2 -7
  90. package/dist/ui/badge-indicator.js +42 -51
  91. package/dist/ui/badge.js +2 -15
  92. package/dist/ui/banner.js +76 -68
  93. package/dist/ui/breadcrumb.js +65 -84
  94. package/dist/ui/button-group.js +109 -102
  95. package/dist/ui/button-processing.js +69 -73
  96. package/dist/ui/button.js +393 -279
  97. package/dist/ui/card.js +151 -157
  98. package/dist/ui/charts/index.js +1002 -1319
  99. package/dist/ui/chat/index.js +2 -11
  100. package/dist/ui/checkbox.js +77 -100
  101. package/dist/ui/code.js +18 -32
  102. package/dist/ui/collapsible.js +21 -29
  103. package/dist/ui/color-input.js +453 -372
  104. package/dist/ui/color-swatch.js +60 -90
  105. package/dist/ui/combobox.js +244 -293
  106. package/dist/ui/container.js +18 -24
  107. package/dist/ui/context-menu.js +154 -203
  108. package/dist/ui/data-table-body.js +116 -213
  109. package/dist/ui/data-table-bulk-actions.js +43 -59
  110. package/dist/ui/data-table-card.js +84 -71
  111. package/dist/ui/data-table-context.js +39 -42
  112. package/dist/ui/data-table-header.js +98 -139
  113. package/dist/ui/data-table-pagination.js +69 -82
  114. package/dist/ui/data-table-toolbar.js +104 -130
  115. package/dist/ui/data-table.js +278 -354
  116. package/dist/ui/devalok-grain.js +77 -66
  117. package/dist/ui/dialog.js +122 -151
  118. package/dist/ui/dropdown-menu.js +152 -203
  119. package/dist/ui/file-upload.js +242 -266
  120. package/dist/ui/form.js +60 -56
  121. package/dist/ui/hover-card.js +54 -54
  122. package/dist/ui/icon-button.js +21 -26
  123. package/dist/ui/icon-context.js +17 -17
  124. package/dist/ui/icon-group.js +22 -29
  125. package/dist/ui/icon.js +201 -121
  126. package/dist/ui/index.js +74 -350
  127. package/dist/ui/input-otp.js +44 -48
  128. package/dist/ui/input.js +92 -169
  129. package/dist/ui/label.js +17 -22
  130. package/dist/ui/lib/date-utils.js +14 -11
  131. package/dist/ui/lib/motion.js +77 -36
  132. package/dist/ui/lib/utils.js +39 -16
  133. package/dist/ui/link.js +13 -24
  134. package/dist/ui/menubar.js +132 -210
  135. package/dist/ui/navigation-menu.js +163 -193
  136. package/dist/ui/number-input.js +72 -95
  137. package/dist/ui/pagination.js +122 -159
  138. package/dist/ui/popover.js +2 -131
  139. package/dist/ui/progress-ring.js +133 -143
  140. package/dist/ui/progress.js +51 -95
  141. package/dist/ui/radio.js +41 -50
  142. package/dist/ui/search-input.js +51 -53
  143. package/dist/ui/segmented-control.js +93 -114
  144. package/dist/ui/select.js +131 -157
  145. package/dist/ui/separator.js +15 -25
  146. package/dist/ui/sheet.js +135 -163
  147. package/dist/ui/sidebar.js +357 -600
  148. package/dist/ui/skeleton.js +179 -231
  149. package/dist/ui/slider.js +24 -34
  150. package/dist/ui/spinner.js +226 -205
  151. package/dist/ui/split-button.js +227 -276
  152. package/dist/ui/stack.js +56 -70
  153. package/dist/ui/stat-card.js +259 -251
  154. package/dist/ui/status-dot.js +67 -63
  155. package/dist/ui/stepper.js +119 -168
  156. package/dist/ui/switch.js +51 -54
  157. package/dist/ui/table.js +57 -90
  158. package/dist/ui/tabs.js +139 -156
  159. package/dist/ui/text.js +52 -59
  160. package/dist/ui/textarea.js +40 -57
  161. package/dist/ui/toast-types.js +0 -1
  162. package/dist/ui/toast.js +554 -536
  163. package/dist/ui/toaster.js +23 -33
  164. package/dist/ui/toggle-group.js +37 -41
  165. package/dist/ui/toggle.js +36 -40
  166. package/dist/ui/tooltip.js +80 -65
  167. package/dist/ui/tree-view/index.js +2 -6
  168. package/dist/ui/visually-hidden.js +12 -10
  169. package/llms-full.txt +1 -1
  170. package/package.json +1 -1
  171. package/dist/_chunks/date-time-picker.js +0 -851
  172. package/dist/_chunks/typing-indicator.js +0 -565
@@ -1,209 +1,239 @@
1
1
  "use client";
2
- import { jsx as t, jsxs as r } from "react/jsx-runtime";
3
- import * as D from "react";
4
- import { cn as a } from "../ui/lib/utils.js";
5
- import { IconChevronRight as W } from "@tabler/icons-react";
6
- import { Icon as j } from "../ui/icon.js";
7
- import { Avatar as z, AvatarImage as R, AvatarFallback as L } from "../ui/avatar.js";
8
- import { Button as E } from "../ui/button.js";
9
- import { Skeleton as N } from "../ui/skeleton.js";
10
- import { getInitials as B } from "./lib/string-utils.js";
11
- import { formatRelativeTime as G } from "../ui/lib/date-utils.js";
12
- import { tweens as T } from "../ui/lib/motion.js";
13
- import { m as A } from "../_chunks/framer.js";
14
- const O = {
15
- default: "bg-surface-fg-subtle",
16
- success: "bg-success-9",
17
- warning: "bg-warning-9",
18
- error: "bg-error-9",
19
- info: "bg-info-9"
20
- }, I = {
21
- today: "Today",
22
- yesterday: "Yesterday",
23
- thisWeek: "This Week",
24
- older: "Older"
2
+ import { a as e } from "../_chunks/framer.js";
3
+ import { tweens as t } from "../ui/lib/motion.js";
4
+ import { cn as n } from "../ui/lib/utils.js";
5
+ import { Icon as r } from "../ui/icon.js";
6
+ import { Avatar as i, AvatarFallback as a, AvatarImage as o } from "../ui/avatar.js";
7
+ import { Button as s } from "../ui/button.js";
8
+ import { Skeleton as c } from "../ui/skeleton.js";
9
+ import { formatRelativeTime as l } from "../ui/lib/date-utils.js";
10
+ import { getInitials as u } from "./lib/string-utils.js";
11
+ import * as d from "react";
12
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
13
+ import { IconChevronRight as m } from "@tabler/icons-react";
14
+ //#region src/composed/activity-feed.tsx
15
+ var h = {
16
+ default: "bg-surface-fg-subtle",
17
+ success: "bg-success-9",
18
+ warning: "bg-warning-9",
19
+ error: "bg-error-9",
20
+ info: "bg-info-9"
21
+ }, g = {
22
+ today: "Today",
23
+ yesterday: "Yesterday",
24
+ thisWeek: "This Week",
25
+ older: "Older"
25
26
  };
26
- function Y(e, s) {
27
- const l = { ...I, ...s }, n = /* @__PURE__ */ new Date(), f = new Date(n.getFullYear(), n.getMonth(), n.getDate()), o = new Date(f.getTime() - 1440 * 60 * 1e3), i = n.getDay(), w = i === 0 ? 6 : i - 1, k = new Date(
28
- f.getTime() - w * 24 * 60 * 60 * 1e3
29
- ), g = [], m = [], u = [], h = [];
30
- for (const c of e) {
31
- const v = (typeof c.timestamp == "string" ? new Date(c.timestamp) : c.timestamp).getTime();
32
- v >= f.getTime() ? g.push(c) : v >= o.getTime() ? m.push(c) : v >= k.getTime() ? u.push(c) : h.push(c);
33
- }
34
- const p = [];
35
- return g.length > 0 && p.push({ label: l.today, items: g }), m.length > 0 && p.push({ label: l.yesterday, items: m }), u.length > 0 && p.push({ label: l.thisWeek, items: u }), h.length > 0 && p.push({ label: l.older, items: h }), p;
27
+ function _(e, t) {
28
+ let n = {
29
+ ...g,
30
+ ...t
31
+ }, r = /* @__PURE__ */ new Date(), i = new Date(r.getFullYear(), r.getMonth(), r.getDate()), a = /* @__PURE__ */ new Date(i.getTime() - 1440 * 60 * 1e3), o = r.getDay(), s = o === 0 ? 6 : o - 1, c = /* @__PURE__ */ new Date(i.getTime() - s * 24 * 60 * 60 * 1e3), l = [], u = [], d = [], f = [];
32
+ for (let t of e) {
33
+ let e = (typeof t.timestamp == "string" ? new Date(t.timestamp) : t.timestamp).getTime();
34
+ e >= i.getTime() ? l.push(t) : e >= a.getTime() ? u.push(t) : e >= c.getTime() ? d.push(t) : f.push(t);
35
+ }
36
+ let p = [];
37
+ return l.length > 0 && p.push({
38
+ label: n.today,
39
+ items: l
40
+ }), u.length > 0 && p.push({
41
+ label: n.yesterday,
42
+ items: u
43
+ }), d.length > 0 && p.push({
44
+ label: n.thisWeek,
45
+ items: d
46
+ }), f.length > 0 && p.push({
47
+ label: n.older,
48
+ items: f
49
+ }), p;
36
50
  }
37
- function M({ compact: e }) {
38
- return /* @__PURE__ */ t("div", { className: a("flex flex-col", e ? "gap-1" : "gap-3"), children: [0, 1, 2].map((s) => /* @__PURE__ */ r("div", { className: "flex items-center gap-ds-03", children: [
39
- /* @__PURE__ */ t(N, { className: "h-2 w-2 shrink-0 rounded-ds-full" }),
40
- !e && /* @__PURE__ */ t(N, { className: "h-4 w-4 shrink-0 rounded-ds-full" }),
41
- /* @__PURE__ */ t(N, { className: a("flex-1", e ? "h-3" : "h-4") }),
42
- /* @__PURE__ */ t(N, { className: "h-3 w-12" })
43
- ] }, s)) });
51
+ function v({ compact: e }) {
52
+ return /* @__PURE__ */ f("div", {
53
+ className: n("flex flex-col", e ? "gap-1" : "gap-3"),
54
+ children: [
55
+ 0,
56
+ 1,
57
+ 2
58
+ ].map((t) => /* @__PURE__ */ p("div", {
59
+ className: "flex items-center gap-ds-03",
60
+ children: [
61
+ /* @__PURE__ */ f(c, { className: "h-2 w-2 shrink-0 rounded-ds-full" }),
62
+ !e && /* @__PURE__ */ f(c, { className: "h-4 w-4 shrink-0 rounded-ds-full" }),
63
+ /* @__PURE__ */ f(c, { className: n("flex-1", e ? "h-3" : "h-4") }),
64
+ /* @__PURE__ */ f(c, { className: "h-3 w-12" })
65
+ ]
66
+ }, t))
67
+ });
44
68
  }
45
- function U({
46
- item: e,
47
- compact: s
48
- }) {
49
- const [l, n] = D.useState(!1), f = e.color ?? "default", o = () => {
50
- e.detail && n((i) => !i);
51
- };
52
- return /* @__PURE__ */ r("div", { className: a("relative flex items-start", s ? "gap-ds-02" : "gap-ds-03"), children: [
53
- /* @__PURE__ */ t(
54
- "div",
55
- {
56
- className: a(
57
- "relative z-10 mt-1.5 h-2 w-2 shrink-0 rounded-ds-full ring-2 ring-surface-base",
58
- O[f]
59
- )
60
- }
61
- ),
62
- !s && e.actor && /* @__PURE__ */ r(z, { className: "h-5 w-5 shrink-0 text-[9px]", children: [
63
- e.actor.image && /* @__PURE__ */ t(R, { src: e.actor.image, alt: e.actor.name }),
64
- /* @__PURE__ */ t(L, { className: "text-[9px]", children: B(e.actor.name) })
65
- ] }),
66
- /* @__PURE__ */ r("div", { className: "flex min-w-0 flex-1 flex-col", children: [
67
- /* @__PURE__ */ r("div", { className: "flex items-center justify-between gap-ds-02", children: [
68
- /* @__PURE__ */ r("div", { className: a("min-w-0 flex-1 flex items-center gap-ds-01 flex-wrap", s ? "text-ds-xs" : "text-ds-sm"), children: [
69
- e.actor && /* @__PURE__ */ r("span", { className: "font-medium text-surface-fg", children: [
70
- e.actor.name,
71
- " "
72
- ] }),
73
- e.detail && /* @__PURE__ */ t(j, { icon: W, size: "xs", className: a("shrink-0 text-surface-fg-subtle transition-transform duration-fast-02 ease-productive-standard", l && "rotate-90") }),
74
- /* @__PURE__ */ t(
75
- "span",
76
- {
77
- className: a(
78
- "text-surface-fg-muted",
79
- e.detail && "cursor-pointer hover:underline hover:bg-surface-raised rounded-ds-md"
80
- ),
81
- onClick: o,
82
- role: e.detail ? "button" : void 0,
83
- tabIndex: e.detail ? 0 : void 0,
84
- onKeyDown: e.detail ? (i) => {
85
- (i.key === "Enter" || i.key === " ") && (i.preventDefault(), o());
86
- } : void 0,
87
- children: e.action
88
- }
89
- )
90
- ] }),
91
- /* @__PURE__ */ t(
92
- "time",
93
- {
94
- className: a(
95
- "shrink-0 whitespace-nowrap text-surface-fg-subtle",
96
- s ? "text-ds-xs" : "text-ds-sm"
97
- ),
98
- dateTime: (typeof e.timestamp == "string" ? new Date(e.timestamp) : e.timestamp).toISOString(),
99
- children: G(e.timestamp)
100
- }
101
- )
102
- ] }),
103
- l && e.detail && /* @__PURE__ */ t("div", { className: "mt-ds-02 animate-in fade-in slide-in-from-top-1 text-ds-sm text-surface-fg-muted", children: e.detail })
104
- ] })
105
- ] });
69
+ function y({ item: e, compact: t }) {
70
+ let [s, c] = d.useState(!1), g = e.color ?? "default", _ = () => {
71
+ e.detail && c((e) => !e);
72
+ };
73
+ return /* @__PURE__ */ p("div", {
74
+ className: n("relative flex items-start", t ? "gap-ds-02" : "gap-ds-03"),
75
+ children: [
76
+ /* @__PURE__ */ f("div", { className: n("relative z-10 mt-1.5 h-2 w-2 shrink-0 rounded-ds-full ring-2 ring-surface-base", h[g]) }),
77
+ !t && e.actor && /* @__PURE__ */ p(i, {
78
+ className: "h-5 w-5 shrink-0 text-[9px]",
79
+ children: [e.actor.image && /* @__PURE__ */ f(o, {
80
+ src: e.actor.image,
81
+ alt: e.actor.name
82
+ }), /* @__PURE__ */ f(a, {
83
+ className: "text-[9px]",
84
+ children: u(e.actor.name)
85
+ })]
86
+ }),
87
+ /* @__PURE__ */ p("div", {
88
+ className: "flex min-w-0 flex-1 flex-col",
89
+ children: [/* @__PURE__ */ p("div", {
90
+ className: "flex items-center justify-between gap-ds-02",
91
+ children: [/* @__PURE__ */ p("div", {
92
+ className: n("min-w-0 flex-1 flex items-center gap-ds-01 flex-wrap", t ? "text-ds-xs" : "text-ds-sm"),
93
+ children: [
94
+ e.actor && /* @__PURE__ */ p("span", {
95
+ className: "font-medium text-surface-fg",
96
+ children: [e.actor.name, " "]
97
+ }),
98
+ e.detail && /* @__PURE__ */ f(r, {
99
+ icon: m,
100
+ size: "xs",
101
+ className: n("shrink-0 text-surface-fg-subtle transition-transform duration-fast-02 ease-productive-standard", s && "rotate-90")
102
+ }),
103
+ /* @__PURE__ */ f("span", {
104
+ className: n("text-surface-fg-muted", e.detail && "cursor-pointer hover:underline hover:bg-surface-raised rounded-ds-md"),
105
+ onClick: _,
106
+ role: e.detail ? "button" : void 0,
107
+ tabIndex: e.detail ? 0 : void 0,
108
+ onKeyDown: e.detail ? (e) => {
109
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), _());
110
+ } : void 0,
111
+ children: e.action
112
+ })
113
+ ]
114
+ }), /* @__PURE__ */ f("time", {
115
+ className: n("shrink-0 whitespace-nowrap text-surface-fg-subtle", t ? "text-ds-xs" : "text-ds-sm"),
116
+ dateTime: (typeof e.timestamp == "string" ? new Date(e.timestamp) : e.timestamp).toISOString(),
117
+ children: l(e.timestamp)
118
+ })]
119
+ }), s && e.detail && /* @__PURE__ */ f("div", {
120
+ className: "mt-ds-02 animate-in fade-in slide-in-from-top-1 text-ds-sm text-surface-fg-muted",
121
+ children: e.detail
122
+ })]
123
+ })
124
+ ]
125
+ });
106
126
  }
107
- function _({
108
- item: e,
109
- compact: s,
110
- children: l
111
- }) {
112
- const n = e.color ?? "default";
113
- return /* @__PURE__ */ r("div", { className: a("relative flex items-start", s ? "gap-ds-02" : "gap-ds-03"), children: [
114
- /* @__PURE__ */ t(
115
- "div",
116
- {
117
- className: a(
118
- "relative z-10 mt-1.5 h-2 w-2 shrink-0 rounded-ds-full ring-2 ring-surface-base",
119
- O[n]
120
- )
121
- }
122
- ),
123
- /* @__PURE__ */ t("div", { className: "min-w-0 flex-1", children: l })
124
- ] });
127
+ function b({ item: e, compact: t, children: r }) {
128
+ let i = e.color ?? "default";
129
+ return /* @__PURE__ */ p("div", {
130
+ className: n("relative flex items-start", t ? "gap-ds-02" : "gap-ds-03"),
131
+ children: [/* @__PURE__ */ f("div", { className: n("relative z-10 mt-1.5 h-2 w-2 shrink-0 rounded-ds-full ring-2 ring-surface-base", h[i]) }), /* @__PURE__ */ f("div", {
132
+ className: "min-w-0 flex-1",
133
+ children: r
134
+ })]
135
+ });
125
136
  }
126
- function H({
127
- label: e,
128
- isFirst: s
129
- }) {
130
- return /* @__PURE__ */ r(
131
- A.div,
132
- {
133
- initial: { opacity: 0 },
134
- animate: { opacity: 1 },
135
- transition: T.fade,
136
- className: a(
137
- "flex items-center gap-ds-03",
138
- s ? "" : "mt-ds-06",
139
- "mb-ds-03"
140
- ),
141
- children: [
142
- /* @__PURE__ */ t("hr", { className: "flex-1 border-surface-border" }),
143
- /* @__PURE__ */ t("span", { className: "bg-surface-base px-ds-03 text-ds-xs font-medium uppercase tracking-wider text-surface-fg-subtle", children: e }),
144
- /* @__PURE__ */ t("hr", { className: "flex-1 border-surface-border" })
145
- ]
146
- }
147
- );
137
+ function x({ label: r, isFirst: i }) {
138
+ return /* @__PURE__ */ p(e.div, {
139
+ initial: { opacity: 0 },
140
+ animate: { opacity: 1 },
141
+ transition: t.fade,
142
+ className: n("flex items-center gap-ds-03", i ? "" : "mt-ds-06", "mb-ds-03"),
143
+ children: [
144
+ /* @__PURE__ */ f("hr", { className: "flex-1 border-surface-border" }),
145
+ /* @__PURE__ */ f("span", {
146
+ className: "bg-surface-base px-ds-03 text-ds-xs font-medium uppercase tracking-wider text-surface-fg-subtle",
147
+ children: r
148
+ }),
149
+ /* @__PURE__ */ f("hr", { className: "flex-1 border-surface-border" })
150
+ ]
151
+ });
148
152
  }
149
- const K = D.forwardRef(
150
- ({
151
- items: e,
152
- onLoadMore: s,
153
- loading: l = !1,
154
- hasMore: n = !1,
155
- emptyState: f,
156
- compact: o = !1,
157
- maxInitialItems: i,
158
- groupBy: w = "none",
159
- groupLabels: k,
160
- renderItem: g,
161
- className: m,
162
- ...u
163
- }, h) => {
164
- const [p, c] = D.useState(!1);
165
- if (l)
166
- return /* @__PURE__ */ t("div", { ref: h, className: a("relative", m), ...u, children: /* @__PURE__ */ t(M, { compact: o }) });
167
- if (e.length === 0)
168
- return f ? /* @__PURE__ */ t("div", { ref: h, className: m, ...u, children: f }) : null;
169
- const b = i != null && !p && e.length > i, v = b ? e.slice(0, i) : e, F = w === "time", S = (d, x) => {
170
- if (g) {
171
- const y = g(d, x);
172
- if (y !== void 0)
173
- return /* @__PURE__ */ t(_, { item: d, compact: o, children: y });
174
- }
175
- return /* @__PURE__ */ t(U, { item: d, compact: o });
176
- };
177
- return /* @__PURE__ */ r("div", { ref: h, className: a("relative", m), ...u, children: [
178
- F ? /* @__PURE__ */ t("div", { children: Y(v, k).map((d, x) => /* @__PURE__ */ r("div", { children: [
179
- /* @__PURE__ */ t(H, { label: d.label, isFirst: x === 0 }),
180
- /* @__PURE__ */ r("div", { className: a("relative flex flex-col", o ? "gap-1" : "gap-3"), children: [
181
- /* @__PURE__ */ t("div", { className: "absolute bottom-0 left-[3px] top-0 w-px bg-surface-border" }),
182
- d.items.map((y, C) => /* @__PURE__ */ t(A.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, transition: { ...T.fade, delay: C * 0.03 }, children: S(y, C) }, y.id))
183
- ] })
184
- ] }, d.label)) }) : /* @__PURE__ */ r("div", { className: a("relative flex flex-col", o ? "gap-1" : "gap-3"), children: [
185
- /* @__PURE__ */ t("div", { className: "absolute bottom-0 left-[3px] top-0 w-px bg-surface-border" }),
186
- v.map((d, x) => /* @__PURE__ */ t(A.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, transition: { ...T.fade, delay: x * 0.03 }, children: S(d, x) }, d.id))
187
- ] }),
188
- b && /* @__PURE__ */ t("div", { className: "relative mt-ds-03 flex justify-center", children: /* @__PURE__ */ r(
189
- E,
190
- {
191
- variant: "ghost",
192
- size: "sm",
193
- onClick: () => c(!0),
194
- children: [
195
- "Show all (",
196
- e.length,
197
- ")"
198
- ]
199
- }
200
- ) }),
201
- n && s && !b && /* @__PURE__ */ t("div", { className: "relative mt-ds-03 flex justify-center", children: /* @__PURE__ */ t(E, { variant: "ghost", size: "sm", onClick: s, children: "Load more" }) })
202
- ] });
203
- }
204
- );
205
- K.displayName = "ActivityFeed";
206
- export {
207
- K as ActivityFeed,
208
- Y as groupItemsByTime
209
- };
153
+ var S = d.forwardRef(({ items: r, onLoadMore: i, loading: a = !1, hasMore: o = !1, emptyState: c, compact: l = !1, maxInitialItems: u, groupBy: m = "none", groupLabels: h, renderItem: g, className: S, ...C }, w) => {
154
+ let [T, E] = d.useState(!1);
155
+ if (a) return /* @__PURE__ */ f("div", {
156
+ ref: w,
157
+ className: n("relative", S),
158
+ ...C,
159
+ children: /* @__PURE__ */ f(v, { compact: l })
160
+ });
161
+ if (r.length === 0) return c ? /* @__PURE__ */ f("div", {
162
+ ref: w,
163
+ className: S,
164
+ ...C,
165
+ children: c
166
+ }) : null;
167
+ let D = u != null && !T && r.length > u, O = D ? r.slice(0, u) : r, k = m === "time", A = (e, t) => {
168
+ if (g) {
169
+ let n = g(e, t);
170
+ if (n !== void 0) return /* @__PURE__ */ f(b, {
171
+ item: e,
172
+ compact: l,
173
+ children: n
174
+ });
175
+ }
176
+ return /* @__PURE__ */ f(y, {
177
+ item: e,
178
+ compact: l
179
+ });
180
+ };
181
+ return /* @__PURE__ */ p("div", {
182
+ ref: w,
183
+ className: n("relative", S),
184
+ ...C,
185
+ children: [
186
+ k ? /* @__PURE__ */ f("div", { children: _(O, h).map((r, i) => /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f(x, {
187
+ label: r.label,
188
+ isFirst: i === 0
189
+ }), /* @__PURE__ */ p("div", {
190
+ className: n("relative flex flex-col", l ? "gap-1" : "gap-3"),
191
+ children: [/* @__PURE__ */ f("div", { className: "absolute bottom-0 left-[3px] top-0 w-px bg-surface-border" }), r.items.map((n, r) => /* @__PURE__ */ f(e.div, {
192
+ initial: { opacity: 0 },
193
+ animate: { opacity: 1 },
194
+ transition: {
195
+ ...t.fade,
196
+ delay: r * .03
197
+ },
198
+ children: A(n, r)
199
+ }, n.id))]
200
+ })] }, r.label)) }) : /* @__PURE__ */ p("div", {
201
+ className: n("relative flex flex-col", l ? "gap-1" : "gap-3"),
202
+ children: [/* @__PURE__ */ f("div", { className: "absolute bottom-0 left-[3px] top-0 w-px bg-surface-border" }), O.map((n, r) => /* @__PURE__ */ f(e.div, {
203
+ initial: { opacity: 0 },
204
+ animate: { opacity: 1 },
205
+ transition: {
206
+ ...t.fade,
207
+ delay: r * .03
208
+ },
209
+ children: A(n, r)
210
+ }, n.id))]
211
+ }),
212
+ D && /* @__PURE__ */ f("div", {
213
+ className: "relative mt-ds-03 flex justify-center",
214
+ children: /* @__PURE__ */ p(s, {
215
+ variant: "ghost",
216
+ size: "sm",
217
+ onClick: () => E(!0),
218
+ children: [
219
+ "Show all (",
220
+ r.length,
221
+ ")"
222
+ ]
223
+ })
224
+ }),
225
+ o && i && !D && /* @__PURE__ */ f("div", {
226
+ className: "relative mt-ds-03 flex justify-center",
227
+ children: /* @__PURE__ */ f(s, {
228
+ variant: "ghost",
229
+ size: "sm",
230
+ onClick: i,
231
+ children: "Load more"
232
+ })
233
+ })
234
+ ]
235
+ });
236
+ });
237
+ S.displayName = "ActivityFeed";
238
+ //#endregion
239
+ export { S as ActivityFeed, _ as groupItemsByTime };