ahs-cti 0.0.2 → 0.0.4

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 (57) hide show
  1. package/dist/{agentDetailReport-XSBMOUMW.mjs → agentDetailReport-JYBV3TF6.mjs} +5 -4
  2. package/dist/{agentPerformanceReport-UT6QZWYD.mjs → agentPerformanceReport-6RO6STKU.mjs} +10 -8
  3. package/dist/{agentPerformanceReport-UT6QZWYD.mjs.map → agentPerformanceReport-6RO6STKU.mjs.map} +1 -1
  4. package/dist/{auditReport-R67BYA4Z.mjs → auditReport-PYRZU3NA.mjs} +4 -4
  5. package/dist/{callHistory-PHGY224F.mjs → callHistory-4JI64TU7.mjs} +25 -8
  6. package/dist/callHistory-4JI64TU7.mjs.map +1 -0
  7. package/dist/{campaigns-JSMYHHDF.mjs → campaigns-JZE22SIM.mjs} +151 -71
  8. package/dist/campaigns-JZE22SIM.mjs.map +1 -0
  9. package/dist/{caroQualityAuditDashboard-7X44HRZL.mjs → caroQualityAuditDashboard-NRWY6SEC.mjs} +2 -2
  10. package/dist/{caroVoiceAI-OZAB7LK4.mjs → caroVoiceAI-Z5BDDDSY.mjs} +2 -2
  11. package/dist/{cdrReport-44LN5VUX.mjs → cdrReport-RJTURVVV.mjs} +49 -19
  12. package/dist/cdrReport-RJTURVVV.mjs.map +1 -0
  13. package/dist/chunk-AJQBR3AZ.mjs +22234 -0
  14. package/dist/chunk-AJQBR3AZ.mjs.map +1 -0
  15. package/dist/{chunk-FVXHNBYV.mjs → chunk-ATAP77RC.mjs} +2 -2
  16. package/dist/{chunk-G6KDIN5W.mjs → chunk-BDQZYTAY.mjs} +32 -34
  17. package/dist/chunk-BDQZYTAY.mjs.map +1 -0
  18. package/dist/{chunk-GGACEO3I.mjs → chunk-FVVDDZCA.mjs} +2 -2
  19. package/dist/{chunk-CXULBAK6.mjs → chunk-HAJ6SECI.mjs} +47 -122
  20. package/dist/chunk-HAJ6SECI.mjs.map +1 -0
  21. package/dist/{chunk-WWWM33FY.mjs → chunk-IBFF6DJA.mjs} +3 -3
  22. package/dist/{chunk-O2XGWZLT.mjs → chunk-OVC42HVH.mjs} +5 -2
  23. package/dist/chunk-OVC42HVH.mjs.map +1 -0
  24. package/dist/{chunk-UZF5Q3GR.mjs → chunk-PO6POUPL.mjs} +3 -3
  25. package/dist/chunk-UB5HSUGK.mjs +65 -0
  26. package/dist/{chunk-HRM6S6J2.mjs → chunk-UNTGXE6T.mjs} +2 -2
  27. package/dist/index.js +27618 -2176
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.mjs +20 -20
  30. package/dist/index.mjs.map +1 -1
  31. package/dist/{liveStatus-AHKS4XLW.mjs → liveStatus-E7UP37FK.mjs} +5 -5
  32. package/dist/{loginReport-7GBMZP55.mjs → loginReport-5QYHG6OM.mjs} +219 -66
  33. package/dist/loginReport-5QYHG6OM.mjs.map +1 -0
  34. package/dist/{managementDashboard-TYON77NW.mjs → managementDashboard-PARD3QHL.mjs} +8 -6
  35. package/dist/{managementDashboard-TYON77NW.mjs.map → managementDashboard-PARD3QHL.mjs.map} +1 -1
  36. package/dist/{qualityAuditDashboard-AGJH5VVN.mjs → qualityAuditDashboard-ZJEEAMBS.mjs} +2 -2
  37. package/package.json +1 -1
  38. package/dist/callHistory-PHGY224F.mjs.map +0 -1
  39. package/dist/campaigns-JSMYHHDF.mjs.map +0 -1
  40. package/dist/cdrReport-44LN5VUX.mjs.map +0 -1
  41. package/dist/chunk-CXULBAK6.mjs.map +0 -1
  42. package/dist/chunk-G6KDIN5W.mjs.map +0 -1
  43. package/dist/chunk-O2XGWZLT.mjs.map +0 -1
  44. package/dist/chunk-VQCHBU2Q.mjs +0 -27
  45. package/dist/loginReport-7GBMZP55.mjs.map +0 -1
  46. /package/dist/{agentDetailReport-XSBMOUMW.mjs.map → agentDetailReport-JYBV3TF6.mjs.map} +0 -0
  47. /package/dist/{auditReport-R67BYA4Z.mjs.map → auditReport-PYRZU3NA.mjs.map} +0 -0
  48. /package/dist/{caroQualityAuditDashboard-7X44HRZL.mjs.map → caroQualityAuditDashboard-NRWY6SEC.mjs.map} +0 -0
  49. /package/dist/{caroVoiceAI-OZAB7LK4.mjs.map → caroVoiceAI-Z5BDDDSY.mjs.map} +0 -0
  50. /package/dist/{chunk-FVXHNBYV.mjs.map → chunk-ATAP77RC.mjs.map} +0 -0
  51. /package/dist/{chunk-GGACEO3I.mjs.map → chunk-FVVDDZCA.mjs.map} +0 -0
  52. /package/dist/{chunk-WWWM33FY.mjs.map → chunk-IBFF6DJA.mjs.map} +0 -0
  53. /package/dist/{chunk-UZF5Q3GR.mjs.map → chunk-PO6POUPL.mjs.map} +0 -0
  54. /package/dist/{chunk-VQCHBU2Q.mjs.map → chunk-UB5HSUGK.mjs.map} +0 -0
  55. /package/dist/{chunk-HRM6S6J2.mjs.map → chunk-UNTGXE6T.mjs.map} +0 -0
  56. /package/dist/{liveStatus-AHKS4XLW.mjs.map → liveStatus-E7UP37FK.mjs.map} +0 -0
  57. /package/dist/{qualityAuditDashboard-AGJH5VVN.mjs.map → qualityAuditDashboard-ZJEEAMBS.mjs.map} +0 -0
@@ -1,16 +1,21 @@
1
1
  import {
2
2
  useGetCallerData
3
- } from "./chunk-WWWM33FY.mjs";
3
+ } from "./chunk-IBFF6DJA.mjs";
4
4
  import {
5
5
  SDKPageHeader
6
6
  } from "./chunk-RZZQ42MG.mjs";
7
7
  import {
8
8
  getRecordingByCall
9
- } from "./chunk-HRM6S6J2.mjs";
9
+ } from "./chunk-UNTGXE6T.mjs";
10
10
  import {
11
11
  SDKPermissionGuard,
12
12
  useSDKPermissions
13
- } from "./chunk-GGACEO3I.mjs";
13
+ } from "./chunk-FVVDDZCA.mjs";
14
+ import {
15
+ AdapterDayjs,
16
+ DateRangePicker,
17
+ LocalizationProvider
18
+ } from "./chunk-AJQBR3AZ.mjs";
14
19
  import {
15
20
  SDKProvider,
16
21
  useToast
@@ -21,11 +26,11 @@ import {
21
26
  axios_default,
22
27
  deepFindArray,
23
28
  deepFindTotal
24
- } from "./chunk-O2XGWZLT.mjs";
29
+ } from "./chunk-OVC42HVH.mjs";
25
30
  import {
26
31
  __spreadProps,
27
32
  __spreadValues
28
- } from "./chunk-VQCHBU2Q.mjs";
33
+ } from "./chunk-UB5HSUGK.mjs";
29
34
 
30
35
  // call-control-sdk/lib/pages/campaigns/index.tsx
31
36
  import { memo, useCallback as useCallback2, useEffect, useRef, useState as useState2 } from "react";
@@ -229,6 +234,8 @@ function useLeads() {
229
234
  if ((params == null ? void 0 : params.pageSize) != null) qs.append("pageSize", String(params.pageSize));
230
235
  if (params == null ? void 0 : params.lead_status) qs.append("lead_status", params.lead_status);
231
236
  if (params == null ? void 0 : params.search) qs.append("search", params.search);
237
+ if (params == null ? void 0 : params.start_date) qs.append("start_date", params.start_date);
238
+ if (params == null ? void 0 : params.end_date) qs.append("end_date", params.end_date);
232
239
  const qsStr = qs.toString();
233
240
  const url = `${END_POINT.CAMPAIGNS_LEADS(campaignId)}${qsStr ? `?${qsStr}` : ""}`;
234
241
  const res = await axios_default.get(url);
@@ -343,6 +350,9 @@ function useQueues() {
343
350
  return { queues, loading, fetchQueues, createQueue };
344
351
  }
345
352
 
353
+ // call-control-sdk/lib/pages/campaigns/index.tsx
354
+ import ClearIcon from "@mui/icons-material/Clear";
355
+
346
356
  // call-control-sdk/lib/pages/campaigns/types.ts
347
357
  var CAMPAIGN_TYPES = ["OUTBOUND_CAMPAIGN", "ABANDONED_CALLBACK"];
348
358
  var DIALING_MODES_MAP = {
@@ -1689,6 +1699,10 @@ var fmtRecordingDuration = (s) => {
1689
1699
  const sec = Math.floor(s % 60);
1690
1700
  return `${m}:${sec.toString().padStart(2, "0")}`;
1691
1701
  };
1702
+ var activePlayers = /* @__PURE__ */ new Set();
1703
+ var notifyPlay = (activeId) => {
1704
+ activePlayers.forEach((fn) => fn(activeId));
1705
+ };
1692
1706
  function CallRecording({ callUuid, recordingPath, iconOnly = false }) {
1693
1707
  const [audioUrl, setAudioUrl] = useState2(null);
1694
1708
  const [loading, setLoading] = useState2(false);
@@ -1697,8 +1711,26 @@ function CallRecording({ callUuid, recordingPath, iconOnly = false }) {
1697
1711
  const [currentSec, setCurrentSec] = useState2(0);
1698
1712
  const unavailable = !recordingPath;
1699
1713
  const totalLabel = durationSec != null ? fmtRecordingDuration(durationSec) : "";
1714
+ const closePlayer = useCallback2(() => {
1715
+ setAudioUrl((prev) => {
1716
+ if (prev && prev.startsWith("blob:")) URL.revokeObjectURL(prev);
1717
+ return null;
1718
+ });
1719
+ setCurrentSec(0);
1720
+ setDurationSec(null);
1721
+ }, []);
1722
+ useEffect(() => {
1723
+ const onPlay = (activeId) => {
1724
+ if (activeId !== callUuid) closePlayer();
1725
+ };
1726
+ activePlayers.add(onPlay);
1727
+ return () => {
1728
+ activePlayers.delete(onPlay);
1729
+ };
1730
+ }, [callUuid, closePlayer]);
1700
1731
  const handlePlay = async () => {
1701
1732
  if (audioUrl) return;
1733
+ notifyPlay(callUuid);
1702
1734
  try {
1703
1735
  setLoading(true);
1704
1736
  setError(false);
@@ -1733,11 +1765,7 @@ function CallRecording({ callUuid, recordingPath, iconOnly = false }) {
1733
1765
  src: audioUrl,
1734
1766
  onLoadedMetadata: (e) => setDurationSec(e.currentTarget.duration),
1735
1767
  onTimeUpdate: (e) => setCurrentSec(e.currentTarget.currentTime),
1736
- onEnded: () => {
1737
- URL.revokeObjectURL(audioUrl);
1738
- setAudioUrl(null);
1739
- setCurrentSec(0);
1740
- },
1768
+ onEnded: closePlayer,
1741
1769
  style: { height: 32, maxWidth: 170 }
1742
1770
  }
1743
1771
  ),
@@ -1756,10 +1784,7 @@ function CallRecording({ callUuid, recordingPath, iconOnly = false }) {
1756
1784
  }
1757
1785
  if (audioUrl) {
1758
1786
  return /* @__PURE__ */ jsxs(Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
1759
- /* @__PURE__ */ jsx2("audio", { controls: true, autoPlay: true, src: audioUrl, onEnded: () => {
1760
- URL.revokeObjectURL(audioUrl);
1761
- setAudioUrl(null);
1762
- }, style: { height: 38, flex: 1 } }),
1787
+ /* @__PURE__ */ jsx2("audio", { controls: true, autoPlay: true, src: audioUrl, onEnded: closePlayer, style: { height: 38, flex: 1 } }),
1763
1788
  /* @__PURE__ */ jsx2(Tooltip, { title: "Download", children: /* @__PURE__ */ jsx2(IconButton, { size: "small", onClick: handleDownload, sx: { color: "#1565c0" }, children: /* @__PURE__ */ jsx2(DownloadIcon, { sx: { fontSize: 18 } }) }) })
1764
1789
  ] });
1765
1790
  }
@@ -2032,6 +2057,8 @@ var CampaignsContent = memo(function CampaignsContent2() {
2032
2057
  const [leadSearch, setLeadSearch] = useState2("");
2033
2058
  const [debouncedSearch, setDebouncedSearch] = useState2("");
2034
2059
  const [leadStatusFilter, setLeadStatusFilter] = useState2("All states");
2060
+ const [leadStartDate, setLeadStartDate] = useState2(null);
2061
+ const [leadEndDate, setLeadEndDate] = useState2(null);
2035
2062
  const debounceRef = useRef(null);
2036
2063
  const [addLeadOpen, setAddLeadOpen] = useState2(false);
2037
2064
  const [addLeadData, setAddLeadData] = useState2({ phoneNumber: "", callerName: "", priority: 5 });
@@ -2079,6 +2106,8 @@ var CampaignsContent = memo(function CampaignsContent2() {
2079
2106
  setLeadStatusFilter("All states");
2080
2107
  setLeadSearch("");
2081
2108
  setDebouncedSearch("");
2109
+ setLeadStartDate(null);
2110
+ setLeadEndDate(null);
2082
2111
  setLeadPage(0);
2083
2112
  setSelectedId(id);
2084
2113
  }, [selectedId]);
@@ -2098,18 +2127,27 @@ var CampaignsContent = memo(function CampaignsContent2() {
2098
2127
  page: 1,
2099
2128
  pageSize: leadRowsPerPage,
2100
2129
  lead_status: leadStatusFilter !== "All states" ? leadStatusFilter : void 0,
2101
- search: debouncedSearch || void 0
2130
+ search: debouncedSearch || void 0,
2131
+ start_date: leadStartDate ? leadStartDate.format("YYYY-MM-DDTHH:mm:ss") : void 0,
2132
+ end_date: leadEndDate ? leadEndDate.format("YYYY-MM-DDTHH:mm:ss") : void 0
2102
2133
  });
2103
- }, [selectedId, leadRowsPerPage, leadStatusFilter, debouncedSearch, fetchLeads]);
2134
+ }, [selectedId, leadRowsPerPage, leadStatusFilter, debouncedSearch, leadStartDate, leadEndDate, fetchLeads]);
2104
2135
  const refetchLeads = useCallback2((page = leadPage, silent = false) => {
2105
2136
  if (!selectedId) return;
2106
2137
  fetchLeads(selectedId, {
2107
2138
  page: page + 1,
2108
2139
  pageSize: leadRowsPerPage,
2109
2140
  lead_status: leadStatusFilter !== "All states" ? leadStatusFilter : void 0,
2110
- search: debouncedSearch || void 0
2141
+ search: debouncedSearch || void 0,
2142
+ start_date: leadStartDate ? leadStartDate.format("YYYY-MM-DDTHH:mm:ss") : void 0,
2143
+ end_date: leadEndDate ? leadEndDate.format("YYYY-MM-DDTHH:mm:ss") : void 0
2111
2144
  }, { silent });
2112
- }, [selectedId, leadPage, leadRowsPerPage, leadStatusFilter, debouncedSearch, fetchLeads]);
2145
+ }, [selectedId, leadPage, leadRowsPerPage, leadStatusFilter, debouncedSearch, leadStartDate, leadEndDate, fetchLeads]);
2146
+ const clearLeadDates = () => {
2147
+ setLeadStartDate(null);
2148
+ setLeadEndDate(null);
2149
+ setLeadPage(0);
2150
+ };
2113
2151
  useEffect(() => {
2114
2152
  if (!selectedId) return;
2115
2153
  const intervalId = setInterval(() => {
@@ -2714,25 +2752,105 @@ var CampaignsContent = memo(function CampaignsContent2() {
2714
2752
  children: [
2715
2753
  /* @__PURE__ */ jsxs(Box, { sx: {
2716
2754
  display: "flex",
2717
- alignItems: { xs: "flex-start", sm: "center" },
2718
- justifyContent: "space-between",
2719
- flexDirection: { xs: "column", sm: "row" },
2720
- gap: 1,
2755
+ flexDirection: "column",
2756
+ gap: 1.25,
2721
2757
  px: { xs: 1.5, sm: 2 },
2722
2758
  py: 1.5,
2723
2759
  borderBottom: "1px solid #eee",
2724
2760
  backgroundColor: "#fafafa"
2725
2761
  }, children: [
2726
- /* @__PURE__ */ jsxs(Box, { sx: { display: "flex", alignItems: "center", gap: 1, flexWrap: "wrap" }, children: [
2727
- /* @__PURE__ */ jsx2(Typography, { sx: { fontWeight: 700, fontSize: "1rem", color: "#1a1a1a", fontFamily: "poppins, Arial, sans-serif" }, children: "Leads" }),
2728
- /* @__PURE__ */ jsx2(
2729
- SDKPermissionGuard,
2762
+ /* @__PURE__ */ jsxs(Box, { sx: {
2763
+ display: "flex",
2764
+ alignItems: { xs: "flex-start", sm: "center" },
2765
+ justifyContent: "space-between",
2766
+ flexDirection: { xs: "column", sm: "row" },
2767
+ gap: 1
2768
+ }, children: [
2769
+ /* @__PURE__ */ jsxs(Box, { sx: { display: "flex", alignItems: "center", gap: 1, flexWrap: "wrap" }, children: [
2770
+ /* @__PURE__ */ jsx2(Typography, { sx: { fontWeight: 700, fontSize: "1rem", color: "#1a1a1a", fontFamily: "poppins, Arial, sans-serif" }, children: "Leads" }),
2771
+ /* @__PURE__ */ jsx2(
2772
+ SDKPermissionGuard,
2773
+ {
2774
+ permissions: [
2775
+ SDK_PERMISSIONS.CAMPAIGNS_LEADS_IMPORT
2776
+ ],
2777
+ showFallback: false,
2778
+ children: /* @__PURE__ */ jsx2(SDKButton, { variant: "outlined", onClick: () => setImportOpen(true), disabled: scArchived, startIcon: /* @__PURE__ */ jsx2(UploadFileIcon, { sx: { fontSize: 15 } }), size: "small", sx: { height: 36 }, children: "Import Leads" })
2779
+ }
2780
+ ),
2781
+ /* @__PURE__ */ jsx2(
2782
+ SDKPermissionGuard,
2783
+ {
2784
+ permissions: [
2785
+ SDK_PERMISSIONS.CAMPAIGNS_LEADS_CREATE
2786
+ ],
2787
+ showFallback: false,
2788
+ children: /* @__PURE__ */ jsx2(SDKButton, { variant: "primary", onClick: () => setAddLeadOpen(true), disabled: scArchived, startIcon: /* @__PURE__ */ jsx2(AddIcon, { sx: { fontSize: 15 } }), size: "small", sx: { height: 36 }, children: "Add Lead" })
2789
+ }
2790
+ )
2791
+ ] }),
2792
+ /* @__PURE__ */ jsxs(Box, { sx: { display: "flex", alignItems: "center", gap: 1, flexWrap: "wrap", width: { xs: "100%", sm: "auto" } }, children: [
2793
+ /* @__PURE__ */ jsx2(
2794
+ OutlinedInput,
2795
+ {
2796
+ size: "small",
2797
+ value: leadSearch,
2798
+ onChange: (e) => {
2799
+ setLeadSearch(e.target.value);
2800
+ setLeadPage(0);
2801
+ },
2802
+ placeholder: "Search number...",
2803
+ sx: { width: { xs: "100%", sm: 200 }, fontSize: "0.85rem", height: 36, borderRadius: "20px" },
2804
+ startAdornment: /* @__PURE__ */ jsx2(InputAdornment, { position: "start", children: /* @__PURE__ */ jsx2(SearchIcon, { sx: { fontSize: 16, color: "#aaa" } }) })
2805
+ }
2806
+ ),
2807
+ /* @__PURE__ */ jsx2(FormControl, { size: "small", sx: { minWidth: 130 }, children: /* @__PURE__ */ jsx2(
2808
+ Select,
2809
+ {
2810
+ value: leadStatusFilter,
2811
+ onChange: (e) => {
2812
+ setLeadStatusFilter(e.target.value);
2813
+ setLeadPage(0);
2814
+ },
2815
+ sx: { height: 36, borderRadius: "30px", fontSize: "0.85rem" },
2816
+ children: LEAD_STATUSES.map((s) => /* @__PURE__ */ jsx2(MenuItem, { value: s, children: s }, s))
2817
+ }
2818
+ ) })
2819
+ ] })
2820
+ ] }),
2821
+ /* @__PURE__ */ jsxs(Box, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 1, flexWrap: "wrap" }, children: [
2822
+ /* @__PURE__ */ jsxs(
2823
+ Box,
2730
2824
  {
2731
- permissions: [
2732
- SDK_PERMISSIONS.CAMPAIGNS_LEADS_IMPORT
2733
- ],
2734
- showFallback: false,
2735
- children: /* @__PURE__ */ jsx2(SDKButton, { variant: "outlined", onClick: () => setImportOpen(true), disabled: scArchived, startIcon: /* @__PURE__ */ jsx2(UploadFileIcon, { sx: { fontSize: 15 } }), size: "small", children: "Import Leads" })
2825
+ sx: {
2826
+ display: "flex",
2827
+ alignItems: "center",
2828
+ gap: 0.75,
2829
+ flexWrap: "wrap",
2830
+ px: 1,
2831
+ py: 0.5,
2832
+ borderRadius: "30px",
2833
+ border: "1px solid #e0e4ea",
2834
+ backgroundColor: "#f7f9fb"
2835
+ },
2836
+ children: [
2837
+ /* @__PURE__ */ jsx2(LocalizationProvider, { dateAdapter: AdapterDayjs, children: /* @__PURE__ */ jsx2(
2838
+ DateRangePicker,
2839
+ {
2840
+ startDate: leadStartDate,
2841
+ endDate: leadEndDate,
2842
+ onStartChange: (v) => {
2843
+ setLeadStartDate(v);
2844
+ setLeadPage(0);
2845
+ },
2846
+ onEndChange: (v) => {
2847
+ setLeadEndDate(v);
2848
+ setLeadPage(0);
2849
+ }
2850
+ }
2851
+ ) }),
2852
+ (leadStartDate || leadEndDate) && /* @__PURE__ */ jsx2(Tooltip, { title: "Clear dates", children: /* @__PURE__ */ jsx2(IconButton, { size: "small", onClick: clearLeadDates, sx: { p: 0.5, color: "#7a8599" }, children: /* @__PURE__ */ jsx2(ClearIcon, { sx: { fontSize: 16 } }) }) })
2853
+ ]
2736
2854
  }
2737
2855
  ),
2738
2856
  /* @__PURE__ */ jsx2(
@@ -2743,47 +2861,9 @@ var CampaignsContent = memo(function CampaignsContent2() {
2743
2861
  SDK_PERMISSIONS.CAMPAIGNS_MANAGE
2744
2862
  ],
2745
2863
  showFallback: false,
2746
- children: /* @__PURE__ */ jsx2(SDKButton, { variant: "primary", onClick: handleExport, disabled: leadsLoading || leadTotal === 0, startIcon: /* @__PURE__ */ jsx2(DownloadIcon, { sx: { fontSize: 15 } }), size: "small", children: "Export Excel" })
2747
- }
2748
- ),
2749
- /* @__PURE__ */ jsx2(
2750
- SDKPermissionGuard,
2751
- {
2752
- permissions: [
2753
- SDK_PERMISSIONS.CAMPAIGNS_LEADS_CREATE
2754
- ],
2755
- showFallback: false,
2756
- children: /* @__PURE__ */ jsx2(SDKButton, { variant: "primary", onClick: () => setAddLeadOpen(true), disabled: scArchived, startIcon: /* @__PURE__ */ jsx2(AddIcon, { sx: { fontSize: 15 } }), size: "small", children: "Add Lead" })
2864
+ children: /* @__PURE__ */ jsx2(SDKButton, { variant: "primary", onClick: handleExport, disabled: leadsLoading || leadTotal === 0, startIcon: /* @__PURE__ */ jsx2(DownloadIcon, { sx: { fontSize: 15 } }), size: "small", sx: { height: 36 }, children: "Export Excel" })
2757
2865
  }
2758
2866
  )
2759
- ] }),
2760
- /* @__PURE__ */ jsxs(Box, { sx: { display: "flex", alignItems: "center", gap: 1, width: { xs: "100%", sm: "auto" } }, children: [
2761
- /* @__PURE__ */ jsx2(
2762
- OutlinedInput,
2763
- {
2764
- size: "small",
2765
- value: leadSearch,
2766
- onChange: (e) => {
2767
- setLeadSearch(e.target.value);
2768
- setLeadPage(0);
2769
- },
2770
- placeholder: "Search number...",
2771
- sx: { width: { xs: "100%", sm: 200 }, fontSize: "0.85rem", height: 34, borderRadius: "20px" },
2772
- startAdornment: /* @__PURE__ */ jsx2(InputAdornment, { position: "start", children: /* @__PURE__ */ jsx2(SearchIcon, { sx: { fontSize: 16, color: "#aaa" } }) })
2773
- }
2774
- ),
2775
- /* @__PURE__ */ jsx2(FormControl, { size: "small", sx: { minWidth: 130 }, children: /* @__PURE__ */ jsx2(
2776
- Select,
2777
- {
2778
- value: leadStatusFilter,
2779
- onChange: (e) => {
2780
- setLeadStatusFilter(e.target.value);
2781
- setLeadPage(0);
2782
- },
2783
- sx: { height: 34, borderRadius: "30px", fontSize: "0.85rem" },
2784
- children: LEAD_STATUSES.map((s) => /* @__PURE__ */ jsx2(MenuItem, { value: s, children: s }, s))
2785
- }
2786
- ) })
2787
2867
  ] })
2788
2868
  ] }),
2789
2869
  /* @__PURE__ */ jsx2(Box, { sx: {
@@ -3046,4 +3126,4 @@ var campaigns_default = Campaigns;
3046
3126
  export {
3047
3127
  campaigns_default as default
3048
3128
  };
3049
- //# sourceMappingURL=campaigns-JSMYHHDF.mjs.map
3129
+ //# sourceMappingURL=campaigns-JZE22SIM.mjs.map