@dilipod/ui 0.4.24 → 0.4.26

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.
@@ -0,0 +1,28 @@
1
+ import { ReactNode } from 'react';
2
+ export interface SupportChatMessage {
3
+ id: string;
4
+ role: 'customer' | 'admin' | 'system';
5
+ content: string;
6
+ type: 'message' | 'event' | 'suggestion';
7
+ created_at: string;
8
+ metadata?: Record<string, unknown>;
9
+ }
10
+ export interface SupportChatProps {
11
+ /** Fetch messages from this endpoint */
12
+ messagesEndpoint: string;
13
+ /** POST new messages to this endpoint */
14
+ sendEndpoint: string;
15
+ /** Role of the current user */
16
+ currentRole: 'customer' | 'admin';
17
+ /** Poll interval in ms (0 to disable). Default: 5000 */
18
+ pollInterval?: number;
19
+ /** Placeholder for the input */
20
+ placeholder?: string;
21
+ /** Custom empty state */
22
+ emptyMessage?: string | ReactNode;
23
+ /** Additional CSS class */
24
+ className?: string;
25
+ }
26
+ export declare function SupportChat({ messagesEndpoint, sendEndpoint, currentRole, pollInterval, placeholder, emptyMessage, className, }: SupportChatProps): import("react/jsx-runtime").JSX.Element;
27
+ export default SupportChat;
28
+ //# sourceMappingURL=support-chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-chat.d.ts","sourceRoot":"","sources":["../../src/components/support-chat.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA4C,SAAS,EAAE,MAAM,OAAO,CAAA;AAY3E,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,YAAY,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,CAAA;IACxB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,+BAA+B;IAC/B,WAAW,EAAE,UAAU,GAAG,OAAO,CAAA;IACjC,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAwBD,wBAAgB,WAAW,CAAC,EAC1B,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,YAAmB,EACnB,WAAiC,EACjC,YAAyD,EACzD,SAAc,GACf,EAAE,gBAAgB,2CAmKlB;AAED,eAAe,WAAW,CAAA"}
package/dist/index.d.ts CHANGED
@@ -90,6 +90,8 @@ export { ImpactMetricsForm } from './components/impact-metrics-form';
90
90
  export type { ImpactMetrics, ImpactMetricsFormProps } from './components/impact-metrics-form';
91
91
  export { ActivityTimeline } from './components/activity-timeline';
92
92
  export type { Activity, ActivityTimelineProps } from './components/activity-timeline';
93
+ export { SupportChat } from './components/support-chat';
94
+ export type { SupportChatMessage, SupportChatProps } from './components/support-chat';
93
95
  export { WorkflowFlow } from './components/workflow-flow';
94
96
  export type { WorkflowFlowProps, N8nWorkflow as WorkflowFlowN8nWorkflow, N8nNode } from './components/workflow-flow';
95
97
  export { WorkflowViewer } from './components/workflow-viewer';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -485,6 +485,7 @@ __export(index_exports, {
485
485
  Stat: () => Stat,
486
486
  StepDots: () => StepDots,
487
487
  StepProgress: () => StepProgress,
488
+ SupportChat: () => SupportChat,
488
489
  Switch: () => Switch,
489
490
  Table: () => Table,
490
491
  TableBody: () => TableBody,
@@ -541,7 +542,7 @@ function cn(...inputs) {
541
542
  return tailwindMerge.twMerge(clsx.clsx(inputs));
542
543
  }
543
544
  var buttonVariants = classVarianceAuthority.cva(
544
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full text-sm font-semibold ring-offset-background transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer",
545
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full text-sm font-semibold transition-all duration-200 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer",
545
546
  {
546
547
  variants: {
547
548
  variant: {
@@ -679,7 +680,7 @@ var SheetContent = React51__namespace.forwardRef(({ side = "right", className, c
679
680
  ...props,
680
681
  children: [
681
682
  children,
682
- /* @__PURE__ */ jsxRuntime.jsxs(SheetPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[var(--cyan)] focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100", children: [
683
+ /* @__PURE__ */ jsxRuntime.jsxs(SheetPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none disabled:pointer-events-none data-[state=open]:bg-gray-100", children: [
683
684
  /* @__PURE__ */ jsxRuntime.jsx(react_star.X, { className: "h-4 w-4" }),
684
685
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
685
686
  ] })
@@ -1534,8 +1535,8 @@ var Input = React51__namespace.forwardRef(
1534
1535
  {
1535
1536
  type,
1536
1537
  className: cn(
1537
- "flex h-10 w-full rounded-sm border bg-white px-3 py-2 text-base text-[var(--black)] ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-[var(--black)] placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm transition-colors",
1538
- error ? "border-red-500 focus-visible:ring-red-500" : "border-gray-300 focus-visible:ring-[var(--cyan)]",
1538
+ "flex h-10 w-full rounded-sm border bg-white px-3 py-2 text-base text-[var(--black)] file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-[var(--black)] placeholder:text-gray-500 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm transition-colors",
1539
+ error ? "border-red-500" : "border-gray-300",
1539
1540
  className
1540
1541
  ),
1541
1542
  ref,
@@ -1614,8 +1615,8 @@ var Textarea = React51__namespace.forwardRef(
1614
1615
  "textarea",
1615
1616
  {
1616
1617
  className: cn(
1617
- "flex min-h-[80px] w-full rounded-sm border bg-white px-3 py-2 text-base text-[var(--black)] ring-offset-background placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm transition-colors resize-none",
1618
- error ? "border-red-500 focus-visible:ring-red-500" : "border-gray-300 focus-visible:ring-[var(--cyan)]",
1618
+ "flex min-h-[80px] w-full rounded-sm border bg-white px-3 py-2 text-base text-[var(--black)] placeholder:text-gray-500 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm transition-colors resize-none",
1619
+ error ? "border-red-500" : "border-gray-300",
1619
1620
  className
1620
1621
  ),
1621
1622
  ref,
@@ -1634,12 +1635,12 @@ var Select = React51__namespace.forwardRef(
1634
1635
  {
1635
1636
  ref,
1636
1637
  className: cn(
1637
- "h-10 w-full rounded-sm border bg-white px-3 py-2 text-base text-[var(--black)] ring-offset-background",
1638
+ "h-10 w-full rounded-sm border bg-white px-3 py-2 text-base text-[var(--black)]",
1638
1639
  "placeholder:text-gray-500",
1639
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
1640
+ "focus-visible:outline-none",
1640
1641
  "disabled:cursor-not-allowed disabled:opacity-50 md:text-sm transition-colors",
1641
1642
  "appearance-none pr-10",
1642
- error ? "border-red-500 focus-visible:ring-red-500" : "border-gray-300 focus-visible:ring-[var(--cyan)]",
1643
+ error ? "border-red-500" : "border-gray-300",
1643
1644
  className
1644
1645
  ),
1645
1646
  "aria-invalid": error ? "true" : void 0,
@@ -1712,7 +1713,7 @@ var Switch = React51__namespace.forwardRef(({ className, size = "default", ...pr
1712
1713
  SwitchPrimitive__namespace.Root,
1713
1714
  {
1714
1715
  className: cn(
1715
- "peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-[var(--cyan)] data-[state=unchecked]:bg-input",
1716
+ "peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-[var(--cyan)] data-[state=unchecked]:bg-input",
1716
1717
  sizeStyles[size].root,
1717
1718
  className
1718
1719
  ),
@@ -1802,8 +1803,8 @@ var Slider = React51__namespace.forwardRef(({ className, showValue, formatValue,
1802
1803
  SliderPrimitive__namespace.Thumb,
1803
1804
  {
1804
1805
  className: cn(
1805
- "block rounded-full border-2 border-[var(--cyan)] bg-white shadow-md ring-offset-background transition-colors",
1806
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--cyan)] focus-visible:ring-offset-2",
1806
+ "block rounded-full border-2 border-[var(--cyan)] bg-white shadow-md transition-colors",
1807
+ "focus-visible:outline-none",
1807
1808
  "disabled:pointer-events-none disabled:opacity-50",
1808
1809
  "hover:border-[var(--cyan-dark,#00bfaa)] cursor-pointer",
1809
1810
  sizeStyles[size].thumb
@@ -1842,7 +1843,7 @@ var RadioGroupItem = React51__namespace.forwardRef(({ className, ...props }, ref
1842
1843
  {
1843
1844
  ref,
1844
1845
  className: cn(
1845
- "aspect-square h-4 w-4 rounded-full border border-primary text-primary shadow focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
1846
+ "aspect-square h-4 w-4 rounded-full border border-primary text-primary shadow focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
1846
1847
  className
1847
1848
  ),
1848
1849
  ...props,
@@ -1877,7 +1878,7 @@ var RadioGroupCard = React51__namespace.forwardRef(({ label, description, childr
1877
1878
  ref,
1878
1879
  id: cardId,
1879
1880
  className: cn(
1880
- "relative flex cursor-pointer rounded-lg border bg-background p-4 transition-all hover:border-[var(--cyan)]/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 data-[state=checked]:border-[var(--cyan)] data-[state=checked]:ring-1 data-[state=checked]:ring-[var(--cyan)] disabled:cursor-not-allowed disabled:opacity-50",
1881
+ "relative flex cursor-pointer rounded-lg border bg-background p-4 transition-all hover:border-[var(--cyan)]/50 focus:outline-none focus-visible:outline-none data-[state=checked]:border-[var(--cyan)] data-[state=checked]:ring-1 data-[state=checked]:ring-[var(--cyan)] disabled:cursor-not-allowed disabled:opacity-50",
1881
1882
  className
1882
1883
  ),
1883
1884
  ...props,
@@ -2556,7 +2557,7 @@ var FormField = React51__namespace.forwardRef(
2556
2557
  "aria-describedby": error ? errorId : helperText ? helperId : void 0,
2557
2558
  className: cn(
2558
2559
  childProps.className,
2559
- error && "border-red-500 focus-visible:ring-red-500"
2560
+ error && "border-red-500"
2560
2561
  )
2561
2562
  });
2562
2563
  }
@@ -2691,7 +2692,7 @@ var TabsTrigger = React51__namespace.forwardRef(({ className, ...props }, ref) =
2691
2692
  {
2692
2693
  ref,
2693
2694
  className: cn(
2694
- "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
2695
+ "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
2695
2696
  className
2696
2697
  ),
2697
2698
  ...props
@@ -2703,7 +2704,7 @@ var TabsContent = React51__namespace.forwardRef(({ className, ...props }, ref) =
2703
2704
  {
2704
2705
  ref,
2705
2706
  className: cn(
2706
- "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
2707
+ "mt-2 focus-visible:outline-none",
2707
2708
  className
2708
2709
  ),
2709
2710
  ...props
@@ -2765,7 +2766,7 @@ var DialogContent = React51__namespace.forwardRef(({ className, children, ...pro
2765
2766
  ...props,
2766
2767
  children: [
2767
2768
  children,
2768
- /* @__PURE__ */ jsxRuntime.jsxs(SheetPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[var(--cyan)] focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100", children: [
2769
+ /* @__PURE__ */ jsxRuntime.jsxs(SheetPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none disabled:pointer-events-none data-[state=open]:bg-gray-100", children: [
2769
2770
  /* @__PURE__ */ jsxRuntime.jsx(react_star.X, { className: "h-4 w-4" }),
2770
2771
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
2771
2772
  ] })
@@ -3075,7 +3076,7 @@ var ToastAction = React51__namespace.forwardRef(({ className, ...props }, ref) =
3075
3076
  {
3076
3077
  ref,
3077
3078
  className: cn(
3078
- "inline-flex h-8 shrink-0 items-center justify-center rounded-sm border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
3079
+ "inline-flex h-8 shrink-0 items-center justify-center rounded-sm border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-gray-100 focus:outline-none disabled:pointer-events-none disabled:opacity-50",
3079
3080
  className
3080
3081
  ),
3081
3082
  ...props
@@ -3834,7 +3835,7 @@ var DateRangeSelect = React51__namespace.forwardRef(
3834
3835
  value,
3835
3836
  onChange: (e) => onChange(e.target.value),
3836
3837
  className: cn(
3837
- "h-9 rounded-sm border border-input bg-background px-3 text-sm ring-offset-background focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
3838
+ "h-9 rounded-sm border border-input bg-background px-3 text-sm focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",
3838
3839
  className
3839
3840
  ),
3840
3841
  children: presets.map((preset) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: preset, children: presetLabels[preset] }, preset))
@@ -4690,7 +4691,7 @@ function ImpactMetricsForm({
4690
4691
  ...prev,
4691
4692
  time_saved_minutes_per_run: parseInt(e.target.value) || 0
4692
4693
  })),
4693
- className: "w-16 px-2 py-1 text-2xl font-bold border border-border rounded-sm focus:outline-none focus:ring-2 focus:ring-[var(--cyan)] bg-background",
4694
+ className: "w-16 px-2 py-1 text-2xl font-bold border border-border rounded-sm focus:outline-none bg-background",
4694
4695
  min: "0"
4695
4696
  }
4696
4697
  ),
@@ -4713,7 +4714,7 @@ function ImpactMetricsForm({
4713
4714
  ...prev,
4714
4715
  hourly_rate_euros: parseFloat(e.target.value) || 0
4715
4716
  })),
4716
- className: "w-16 px-2 py-1 text-2xl font-bold border border-border rounded-sm focus:outline-none focus:ring-2 focus:ring-[var(--cyan)] bg-background",
4717
+ className: "w-16 px-2 py-1 text-2xl font-bold border border-border rounded-sm focus:outline-none bg-background",
4717
4718
  min: "0",
4718
4719
  step: "0.5"
4719
4720
  }
@@ -4737,7 +4738,7 @@ function ImpactMetricsForm({
4737
4738
  ...prev,
4738
4739
  fte_equivalent: (parseFloat(e.target.value) || 0) / 100
4739
4740
  })),
4740
- className: "w-16 px-2 py-1 text-2xl font-bold border border-border rounded-sm focus:outline-none focus:ring-2 focus:ring-[var(--cyan)] bg-background",
4741
+ className: "w-16 px-2 py-1 text-2xl font-bold border border-border rounded-sm focus:outline-none bg-background",
4741
4742
  min: "0",
4742
4743
  max: "1000",
4743
4744
  step: "5"
@@ -4901,6 +4902,135 @@ function ActivityTimeline({
4901
4902
  ] })
4902
4903
  ] });
4903
4904
  }
4905
+ function formatMessageTime(dateStr) {
4906
+ const d = new Date(dateStr);
4907
+ const now = /* @__PURE__ */ new Date();
4908
+ const diffMs = now.getTime() - d.getTime();
4909
+ const diffMins = Math.floor(diffMs / 6e4);
4910
+ const diffHours = Math.floor(diffMs / 36e5);
4911
+ if (diffMins < 1) return "just now";
4912
+ if (diffMins < 60) return `${diffMins}m ago`;
4913
+ if (diffHours < 24) return `${diffHours}h ago`;
4914
+ return d.toLocaleDateString(void 0, { month: "short", day: "numeric", hour: "numeric", minute: "2-digit" });
4915
+ }
4916
+ function SupportChat({
4917
+ messagesEndpoint,
4918
+ sendEndpoint,
4919
+ currentRole,
4920
+ pollInterval = 5e3,
4921
+ placeholder = "Type a message...",
4922
+ emptyMessage = "No messages yet. Start the conversation!",
4923
+ className = ""
4924
+ }) {
4925
+ const [messages, setMessages] = React51.useState([]);
4926
+ const [loading, setLoading] = React51.useState(true);
4927
+ const [sending, setSending] = React51.useState(false);
4928
+ const [inputValue, setInputValue] = React51.useState("");
4929
+ const scrollRef = React51.useRef(null);
4930
+ const prevMessageCountRef = React51.useRef(0);
4931
+ const fetchMessages = React51.useCallback(async () => {
4932
+ try {
4933
+ const res = await fetch(messagesEndpoint);
4934
+ if (!res.ok) return;
4935
+ const data = await res.json();
4936
+ setMessages(data.messages || []);
4937
+ } catch {
4938
+ } finally {
4939
+ setLoading(false);
4940
+ }
4941
+ }, [messagesEndpoint]);
4942
+ React51.useEffect(() => {
4943
+ fetchMessages();
4944
+ if (pollInterval > 0) {
4945
+ const interval = setInterval(fetchMessages, pollInterval);
4946
+ return () => clearInterval(interval);
4947
+ }
4948
+ }, [fetchMessages, pollInterval]);
4949
+ React51.useEffect(() => {
4950
+ if (messages.length > prevMessageCountRef.current) {
4951
+ scrollRef.current?.scrollTo({ top: scrollRef.current.scrollHeight, behavior: "smooth" });
4952
+ }
4953
+ prevMessageCountRef.current = messages.length;
4954
+ }, [messages.length]);
4955
+ const handleSend = async () => {
4956
+ const content = inputValue.trim();
4957
+ if (!content || sending) return;
4958
+ setSending(true);
4959
+ setInputValue("");
4960
+ const optimisticMsg = {
4961
+ id: `temp-${Date.now()}`,
4962
+ role: currentRole,
4963
+ content,
4964
+ type: "message",
4965
+ created_at: (/* @__PURE__ */ new Date()).toISOString()
4966
+ };
4967
+ setMessages((prev) => [...prev, optimisticMsg]);
4968
+ try {
4969
+ const res = await fetch(sendEndpoint, {
4970
+ method: "POST",
4971
+ headers: { "Content-Type": "application/json" },
4972
+ body: JSON.stringify({ content })
4973
+ });
4974
+ if (res.ok) {
4975
+ await fetchMessages();
4976
+ } else {
4977
+ setMessages((prev) => prev.filter((m) => m.id !== optimisticMsg.id));
4978
+ }
4979
+ } catch {
4980
+ setMessages((prev) => prev.filter((m) => m.id !== optimisticMsg.id));
4981
+ } finally {
4982
+ setSending(false);
4983
+ }
4984
+ };
4985
+ const handleKeyDown = (e) => {
4986
+ if (e.key === "Enter" && !e.shiftKey) {
4987
+ e.preventDefault();
4988
+ handleSend();
4989
+ }
4990
+ };
4991
+ if (loading) {
4992
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex items-center justify-center py-8 ${className}`, children: /* @__PURE__ */ jsxRuntime.jsx(react_star.CircleNotch, { className: "w-5 h-5 animate-spin text-muted-foreground" }) });
4993
+ }
4994
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex flex-col ${className}`, children: [
4995
+ /* @__PURE__ */ jsxRuntime.jsx("div", { ref: scrollRef, className: "flex-1 overflow-y-auto space-y-3 mb-4 max-h-[400px] min-h-[200px] px-1", children: messages.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center h-full text-sm text-muted-foreground py-8", children: typeof emptyMessage === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: emptyMessage }) : emptyMessage }) : messages.map((msg) => {
4996
+ if (msg.type === "event" || msg.role === "system") {
4997
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-gray-50 border border-gray-100 rounded-full px-3 py-1 text-xs text-muted-foreground max-w-[90%] text-center", children: [
4998
+ msg.content,
4999
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 opacity-60", children: formatMessageTime(msg.created_at) })
5000
+ ] }) }, msg.id);
5001
+ }
5002
+ const isCurrentUser = msg.role === currentRole;
5003
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex ${isCurrentUser ? "justify-end" : "justify-start"}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `max-w-[80%] rounded-lg px-3 py-2 ${isCurrentUser ? "bg-[var(--cyan)] text-white" : "bg-gray-100 text-[var(--black)]"}`, children: [
5004
+ !isCurrentUser && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium mb-0.5 opacity-70", children: msg.role === "admin" ? "Dilipod Team" : "You" }),
5005
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm whitespace-pre-wrap", children: msg.content }),
5006
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-[10px] mt-1 ${isCurrentUser ? "text-white/60" : "text-muted-foreground"}`, children: formatMessageTime(msg.created_at) })
5007
+ ] }) }, msg.id);
5008
+ }) }),
5009
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2 border-t border-gray-100 pt-3", children: [
5010
+ /* @__PURE__ */ jsxRuntime.jsx(
5011
+ Textarea,
5012
+ {
5013
+ value: inputValue,
5014
+ onChange: (e) => setInputValue(e.target.value),
5015
+ onKeyDown: handleKeyDown,
5016
+ placeholder,
5017
+ rows: 1,
5018
+ className: "resize-none min-h-[36px] py-2 flex-1"
5019
+ }
5020
+ ),
5021
+ /* @__PURE__ */ jsxRuntime.jsx(
5022
+ Button,
5023
+ {
5024
+ onClick: handleSend,
5025
+ disabled: sending || !inputValue.trim(),
5026
+ size: "sm",
5027
+ className: "flex-shrink-0 h-9",
5028
+ children: sending ? /* @__PURE__ */ jsxRuntime.jsx(react_star.CircleNotch, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsx(react_star.PaperPlaneTilt, { className: "w-4 h-4", weight: "bold" })
5029
+ }
5030
+ )
5031
+ ] })
5032
+ ] });
5033
+ }
4904
5034
 
4905
5035
  // src/index.ts
4906
5036
  init_workflow_flow();
@@ -6767,6 +6897,7 @@ exports.Slider = Slider;
6767
6897
  exports.Stat = Stat;
6768
6898
  exports.StepDots = StepDots;
6769
6899
  exports.StepProgress = StepProgress;
6900
+ exports.SupportChat = SupportChat;
6770
6901
  exports.Switch = Switch;
6771
6902
  exports.Table = Table;
6772
6903
  exports.TableBody = TableBody;