chordia-ui 3.7.2 → 3.7.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.
- package/dist/CustomFilterChips.cjs.js +1 -1
- package/dist/CustomFilterChips.cjs.js.map +1 -1
- package/dist/CustomFilterChips.es.js +239 -125
- package/dist/CustomFilterChips.es.js.map +1 -1
- package/dist/DataTable2.cjs.js +2 -0
- package/dist/DataTable2.cjs.js.map +1 -0
- package/dist/DataTable2.es.js +1863 -0
- package/dist/DataTable2.es.js.map +1 -0
- package/dist/components/UpdatedInteractionDetails.cjs.js +2 -2
- package/dist/components/UpdatedInteractionDetails.cjs.js.map +1 -1
- package/dist/components/UpdatedInteractionDetails.es.js +14 -13
- package/dist/components/UpdatedInteractionDetails.es.js.map +1 -1
- package/dist/components/data.cjs.js +1 -1
- package/dist/components/data.cjs.js.map +1 -1
- package/dist/components/data.es.js +157 -153
- package/dist/components/data.es.js.map +1 -1
- package/dist/components/performance.cjs.js +1 -1
- package/dist/components/performance.cjs.js.map +1 -1
- package/dist/components/performance.es.js +1900 -480
- package/dist/components/performance.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +94 -89
- package/dist/index.es.js.map +1 -1
- package/package.json +1 -1
- package/src/components/UpdatedInteractionDetails/UpdatedInteractionDetails.jsx +13 -13
- package/src/components/UpdatedInteractionDetails/UpdatedThreads.jsx +1 -0
- package/src/components/common/CustomFilterChips.jsx +5 -1
- package/src/components/common/Pagination.jsx +152 -39
- package/src/components/data/DataTable2.jsx +2449 -0
- package/src/components/data/DataTableFilters2.jsx +186 -0
- package/src/components/data/index.js +2 -0
- package/src/components/index.js +2 -2
- package/src/components/performance/PerformanceDetailsPage.jsx +940 -0
- package/src/components/performance/PerformancePanel.jsx +423 -297
- package/src/components/performance/SupervisorSelect.jsx +386 -0
- package/src/components/performance/index.js +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomFilterChips.es.js","sources":["../src/components/common/Pagination.jsx","../src/components/common/CustomFilterChips.jsx"],"sourcesContent":[" \"use client\";\n\nimport React, { useMemo } from \"react\";\n\n/**\n * Pagination Component\n * @param {number} page - current page number (1-based)\n * @param {number} pageSize - rows per page\n * @param {number} totalCount - total row count (for pagination)\n * @param {number} currentDataLength - length of current page's data array\n * @param {function} onPageChange - function(newPage) for pagination\n * @param {function} onPageSizeChange - function(newPageSize) for changing rows/page\n * @param {Array} pageSizeOptions - array of page size options (default: [10, 20, 50, 100])\n * @param {string} className - additional CSS classes\n * @param {boolean} showRecordCounter - whether to show the record counter (default: true)\n * @param {boolean} showPageSizeSelector - whether to show the page size selector (default: true)\n */\nexport default function Pagination({\n page = 1,\n pageSize = 10,\n totalCount = 0,\n currentDataLength = 0,\n onPageChange,\n onPageSizeChange,\n pageSizeOptions = [10, 20, 50, 100],\n className = \"\",\n showRecordCounter = true,\n showPageSizeSelector = true,\n}) {\n const totalPages = Math.ceil(totalCount / pageSize);\n\n const currentRecordStart = (page - 1) * pageSize + 1;\n const currentRecordEnd = Math.min(\n (page - 1) * pageSize + currentDataLength,\n totalCount\n );\n\n const pageNumbers = useMemo(() => {\n if (totalPages <= 1) return [];\n\n const pages = [];\n const maxVisiblePages = 7;\n\n if (totalPages <= maxVisiblePages) {\n for (let i = 1; i <= totalPages; i += 1) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n\n let startPage = Math.max(2, page - 2);\n let endPage = Math.min(totalPages - 1, page + 2);\n\n if (page <= 3) {\n endPage = 5;\n }\n\n if (page >= totalPages - 2) {\n startPage = totalPages - 4;\n }\n\n if (startPage > 2) {\n pages.push(\"ellipsis-start\");\n }\n\n for (let i = startPage; i <= endPage; i += 1) {\n pages.push(i);\n }\n\n if (endPage < totalPages - 1) {\n pages.push(\"ellipsis-end\");\n }\n\n pages.push(totalPages);\n }\n\n return pages;\n }, [page, totalPages]);\n\n if (!onPageChange || totalPages === 0) {\n return null;\n }\n\n const shouldShowPageSizeSelector =\n showPageSizeSelector && typeof onPageSizeChange === \"function\";\n\n return (\n <div\n className={`flex items-center justify-between px-3 py-3 gap-4 bg-[white] rounded-b-lg ${className}`}\n >\n <div className=\"flex items-center gap-4\">\n {shouldShowPageSizeSelector && (\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm text-gray-700\">Rows per page:</span>\n <select\n className=\"border border-gray-300 rounded px-2 py-1 text-sm bg-white text-gray-700\"\n value={pageSize}\n onChange={(e) => onPageSizeChange(Number(e.target.value))}\n >\n {pageSizeOptions.map((size) => (\n <option key={size} value={size}>\n {size}\n </option>\n ))}\n </select>\n </div>\n )}\n {showRecordCounter && (\n <span className=\"text-sm text-gray-700\">\n Showing{\" \"}\n {currentRecordEnd > 0\n ? `${currentRecordStart}-${currentRecordEnd}`\n : 0}{\" \"}\n of {totalCount}\n </span>\n )}\n </div>\n\n <div className=\"flex items-center gap-2\">\n <button\n className=\"px-3 py-1.5 rounded-lg bg-white border border-gray-300 text-gray-700 flex items-center justify-center hover:bg-gray-50 transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-white text-sm font-medium\"\n onClick={() => onPageChange(page - 1)}\n disabled={page <= 1}\n aria-label=\"Previous page\"\n >\n < Previous\n </button>\n\n {pageNumbers.map((pageNum, index) => {\n if (pageNum === \"ellipsis-start\" || pageNum === \"ellipsis-end\") {\n return (\n <button\n key={`ellipsis-${index}`}\n className=\"w-8 h-8 rounded-full text-gray-500 flex items-center justify-center cursor-default\"\n disabled\n aria-hidden=\"true\"\n >\n <span className=\"text-xs\">...</span>\n </button>\n );\n }\n\n const isActive = pageNum === page;\n\n return (\n <button\n key={pageNum}\n className={`w-8 h-8 rounded-full flex items-center justify-center transition-colors text-sm font-medium ${\n isActive\n ? \"bg-green-2 text-black font-semibold\"\n : \"bg-white border border-gray-300 text-gray-700 hover:bg-gray-50\"\n }`}\n onClick={() => onPageChange(pageNum)}\n aria-label={`Go to page ${pageNum}`}\n aria-current={isActive ? \"page\" : undefined}\n >\n {pageNum}\n </button>\n );\n })}\n\n <button\n className=\"px-3 py-1.5 rounded-lg bg-white border border-gray-300 text-gray-700 flex items-center justify-center hover:bg-gray-50 transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-white text-sm font-medium\"\n onClick={() => onPageChange(page + 1)}\n disabled={page >= totalPages}\n aria-label=\"Next page\"\n >\n Next >\n </button>\n </div>\n </div>\n );\n}\n\n","\"use client\";\n\nimport React from \"react\";\n\nfunction formatLabel(key) {\n return key\n .replace(/([A-Z])/g, \" $1\")\n .replace(/_/g, \" \")\n .replace(/^./, (str) => str.toUpperCase())\n .trim();\n}\n\nexport default function CustomFilterChips({\n filters,\n onChange,\n onClear,\n customFilters = [],\n fieldOptions = {},\n className = \"\",\n}) {\n const chips = [];\n\n const getDisplayLabel = (key, value) => {\n if (fieldOptions[key] && Array.isArray(fieldOptions[key])) {\n const option = fieldOptions[key].find((opt) => {\n const optValue =\n typeof opt === \"object\"\n ? opt.value !== undefined\n ? opt.value\n : opt.id\n : opt;\n return optValue === value || String(optValue) === String(value);\n });\n if (option) {\n return typeof option === \"object\"\n ? option.label || option.value || String(option)\n : String(option);\n }\n }\n return String(value);\n };\n\n Object.entries(filters || {}).forEach(([key, value]) => {\n if (Array.isArray(value) && value.length) {\n const displayValues = value.map((v) => getDisplayLabel(key, v));\n chips.push({\n key,\n label: `${formatLabel(key)}: ${displayValues.join(\", \")}`,\n onRemove: () => {\n const newFilters = { ...filters };\n delete newFilters[key];\n onChange(newFilters);\n },\n });\n } else if (typeof value === \"string\" && value.trim() !== \"\") {\n const displayValue = getDisplayLabel(key, value);\n chips.push({\n key,\n label: `${formatLabel(key)}: ${displayValue}`,\n onRemove: () => onChange({ ...filters, [key]: \"\" }),\n });\n }\n });\n\n Object.entries(filters || {}).forEach(([key, value]) => {\n if (\n value &&\n typeof value === \"object\" &&\n (value.min != null || value.max != null)\n ) {\n const label =\n value.min != null && value.max != null\n ? `${formatLabel(key)}: ${value.min}\\u2013${value.max}`\n : value.min != null\n ? `${formatLabel(key)} \\u2265 ${value.min}`\n : `${formatLabel(key)} \\u2264 ${value.max}`;\n chips.push({\n key,\n label,\n onRemove: () => {\n const newFilters = { ...filters };\n delete newFilters[key];\n onChange(newFilters);\n },\n });\n }\n });\n\n (customFilters || []).forEach((filterObj) => {\n if (filterObj && filterObj.active) {\n chips.push({\n key: filterObj.key,\n label: filterObj.label,\n onRemove: filterObj.onRemove,\n });\n }\n });\n\n if (!chips.length) return null;\n\n return (\n <div className={`flex flex-wrap items-center gap-4 ${className}`}>\n {chips.map((c) => (\n <span\n key={c.key}\n className=\"bg-white h-10 border border-gray-200 rounded-[14px] px-3 flex items-center text-[13px] transition-colors\"\n >\n {c.label}\n <button\n onClick={c.onRemove}\n className=\"ml-2 text-gray-500 hover:text-black transition-colors flex items-center\"\n type=\"button\"\n >\n <span className=\"relative top-[-1px]\">×</span>\n </button>\n </span>\n ))}\n <button\n onClick={onClear}\n className=\"h-10 px-3.5 rounded-[14px] bg-white border border-gray-200 text-red-600 transition-colors flex items-center justify-center gap-1.5\"\n type=\"button\"\n >\n <span className=\"text-red-600\">×</span>\n <span>Clear</span>\n </button>\n </div>\n );\n}\n\n"],"names":["Pagination","page","pageSize","totalCount","currentDataLength","onPageChange","onPageSizeChange","pageSizeOptions","className","showRecordCounter","showPageSizeSelector","totalPages","currentRecordStart","currentRecordEnd","pageNumbers","useMemo","pages","i","startPage","endPage","shouldShowPageSizeSelector","jsxs","jsx","e","size","pageNum","index","isActive","formatLabel","key","str","CustomFilterChips","filters","onChange","onClear","customFilters","fieldOptions","chips","getDisplayLabel","value","option","opt","optValue","displayValues","v","newFilters","displayValue","label","filterObj","c"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CustomFilterChips.es.js","sources":["../src/components/common/Pagination.jsx","../src/components/common/CustomFilterChips.jsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport { ChevronDown, ChevronLeft, ChevronRight } from \"lucide-react\";\n\n/**\n * Pagination Component (Figma DS — node 218:7058)\n * @param {number} page - current page number (1-based)\n * @param {number} pageSize - rows per page\n * @param {number} totalCount - total row count (for pagination)\n * @param {number} currentDataLength - length of current page's data array\n * @param {function} onPageChange - function(newPage) for pagination\n * @param {function} onPageSizeChange - function(newPageSize) for changing rows/page\n * @param {Array} pageSizeOptions - array of page size options (default: [10, 20, 50, 100])\n * @param {string} className - additional CSS classes\n * @param {boolean} showRecordCounter - whether to show the record counter (default: true)\n * @param {boolean} showPageSizeSelector - whether to show the page size selector (default: true)\n */\nexport default function Pagination({\n page = 1,\n pageSize = 10,\n totalCount = 0,\n currentDataLength = 0,\n onPageChange,\n onPageSizeChange,\n pageSizeOptions = [10, 20, 50, 100],\n className = \"\",\n showRecordCounter = true,\n showPageSizeSelector = true,\n}) {\n const totalPages = Math.ceil(totalCount / pageSize);\n\n const currentRecordStart = (page - 1) * pageSize + 1;\n const currentRecordEnd = Math.min(\n (page - 1) * pageSize + currentDataLength,\n totalCount\n );\n\n const [pageSizeOpen, setPageSizeOpen] = useState(false);\n const pageSizeRef = useRef(null);\n\n useEffect(() => {\n if (!pageSizeOpen) return;\n const onMouseDown = (e) => {\n if (pageSizeRef.current && !pageSizeRef.current.contains(e.target)) {\n setPageSizeOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", onMouseDown);\n return () => document.removeEventListener(\"mousedown\", onMouseDown);\n }, [pageSizeOpen]);\n\n const pageNumbers = useMemo(() => {\n if (totalPages <= 1) return [];\n\n const pages = [];\n const maxVisiblePages = 7;\n\n if (totalPages <= maxVisiblePages) {\n for (let i = 1; i <= totalPages; i += 1) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n\n let startPage = Math.max(2, page - 2);\n let endPage = Math.min(totalPages - 1, page + 2);\n\n if (page <= 3) {\n endPage = 5;\n }\n\n if (page >= totalPages - 2) {\n startPage = totalPages - 4;\n }\n\n if (startPage > 2) {\n pages.push(\"ellipsis-start\");\n }\n\n for (let i = startPage; i <= endPage; i += 1) {\n pages.push(i);\n }\n\n if (endPage < totalPages - 1) {\n pages.push(\"ellipsis-end\");\n }\n\n pages.push(totalPages);\n }\n\n return pages;\n }, [page, totalPages]);\n\n if (!onPageChange || totalPages === 0) {\n return null;\n }\n\n const shouldShowPageSizeSelector =\n showPageSizeSelector && typeof onPageSizeChange === \"function\";\n\n const labelStyle = {\n fontFamily: \"var(--font-sans)\",\n fontSize: 16,\n lineHeight: \"24px\",\n color: \"#323232\",\n };\n\n const pillBase = {\n height: 24,\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: \"0 8px\",\n borderRadius: 10,\n fontFamily: \"var(--font-sans)\",\n fontSize: 12,\n lineHeight: \"16px\",\n border: \"1px solid #E6E6E6\",\n background: \"#FFFFFF\",\n color: \"#0B0B0B\",\n cursor: \"pointer\",\n gap: 4,\n whiteSpace: \"nowrap\",\n };\n\n return (\n <div\n className={className}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"12px 0\",\n gap: 16,\n background: \"transparent\",\n }}\n >\n <div style={{ display: \"inline-flex\", alignItems: \"center\", gap: 16 }}>\n {shouldShowPageSizeSelector && (\n <div ref={pageSizeRef} style={{ position: \"relative\", display: \"inline-flex\", alignItems: \"center\", gap: 8 }}>\n <span style={labelStyle}>Result per page</span>\n <button\n type=\"button\"\n onClick={() => setPageSizeOpen((v) => !v)}\n aria-haspopup=\"listbox\"\n aria-expanded={pageSizeOpen}\n style={{ ...pillBase, minWidth: 47 }}\n >\n {pageSize}\n <ChevronDown size={12} strokeWidth={1.75} />\n </button>\n {pageSizeOpen && (\n <div\n role=\"listbox\"\n style={{\n position: \"absolute\",\n bottom: \"calc(100% + 4px)\",\n right: 0,\n zIndex: 30,\n background: \"#FFFFFF\",\n border: \"1px solid #E6E6E6\",\n borderRadius: 10,\n boxShadow: \"0 8px 24px rgba(11, 11, 11, 0.10)\",\n padding: 4,\n display: \"flex\",\n flexDirection: \"column\",\n gap: 2,\n minWidth: 60,\n }}\n >\n {pageSizeOptions.map((size) => {\n const selected = size === pageSize;\n return (\n <button\n key={size}\n type=\"button\"\n role=\"option\"\n aria-selected={selected}\n onClick={() => {\n onPageSizeChange(size);\n setPageSizeOpen(false);\n }}\n style={{\n background: selected ? \"#F2F2F0\" : \"transparent\",\n border: \"none\",\n padding: \"6px 10px\",\n borderRadius: 6,\n fontFamily: \"var(--font-sans)\",\n fontSize: 13,\n color: \"#0B0B0B\",\n textAlign: \"left\",\n cursor: \"pointer\",\n }}\n >\n {size}\n </button>\n );\n })}\n </div>\n )}\n </div>\n )}\n {showRecordCounter && (\n <span style={labelStyle}>\n {currentRecordEnd > 0\n ? `${currentRecordStart}-${currentRecordEnd} of ${totalCount}`\n : `0 of ${totalCount}`}\n </span>\n )}\n </div>\n\n <div style={{ display: \"inline-flex\", alignItems: \"center\", gap: 6 }}>\n <button\n type=\"button\"\n onClick={() => onPageChange(page - 1)}\n disabled={page <= 1}\n aria-label=\"Previous page\"\n style={{\n ...pillBase,\n opacity: page <= 1 ? 0.5 : 1,\n cursor: page <= 1 ? \"default\" : \"pointer\",\n }}\n >\n <ChevronLeft size={12} strokeWidth={1.75} />\n Back\n </button>\n\n {pageNumbers.map((pageNum, index) => {\n if (pageNum === \"ellipsis-start\" || pageNum === \"ellipsis-end\") {\n return (\n <span\n key={`ellipsis-${index}`}\n aria-hidden=\"true\"\n style={{\n fontFamily: \"var(--font-sans)\",\n fontSize: 12,\n color: \"#676767\",\n padding: \"0 4px\",\n userSelect: \"none\",\n }}\n >\n …\n </span>\n );\n }\n\n const isActive = pageNum === page;\n return (\n <button\n key={pageNum}\n type=\"button\"\n onClick={() => onPageChange(pageNum)}\n aria-label={`Go to page ${pageNum}`}\n aria-current={isActive ? \"page\" : undefined}\n style={{\n ...pillBase,\n minWidth: 22,\n padding: \"0 6px\",\n background: isActive ? \"#0B0B0B\" : \"#FFFFFF\",\n border: isActive ? \"none\" : \"1px solid #E6E6E6\",\n color: isActive ? \"#FFFFFF\" : \"#0B0B0B\",\n }}\n >\n {pageNum}\n </button>\n );\n })}\n\n <button\n type=\"button\"\n onClick={() => onPageChange(page + 1)}\n disabled={page >= totalPages}\n aria-label=\"Next page\"\n style={{\n ...pillBase,\n opacity: page >= totalPages ? 0.5 : 1,\n cursor: page >= totalPages ? \"default\" : \"pointer\",\n }}\n >\n Next\n <ChevronRight size={12} strokeWidth={1.75} />\n </button>\n </div>\n </div>\n );\n}\n","\"use client\";\n\nimport React from \"react\";\n\nfunction formatLabel(key) {\n return key\n .replace(/([A-Z])/g, \" $1\")\n .replace(/_/g, \" \")\n .replace(/^./, (str) => str.toUpperCase())\n .trim();\n}\n\nexport default function CustomFilterChips({\n filters,\n onChange,\n onClear,\n customFilters = [],\n fieldOptions = {},\n className = \"\",\n}) {\n const chips = [];\n\n const getDisplayLabel = (key, value) => {\n if (fieldOptions[key] && Array.isArray(fieldOptions[key])) {\n const option = fieldOptions[key].find((opt) => {\n const optValue =\n typeof opt === \"object\"\n ? opt.value !== undefined\n ? opt.value\n : opt.id\n : opt;\n return optValue === value || String(optValue) === String(value);\n });\n if (option) {\n return typeof option === \"object\"\n ? option.label || option.value || String(option)\n : String(option);\n }\n }\n return String(value);\n };\n\n Object.entries(filters || {}).forEach(([key, value]) => {\n if (Array.isArray(value) && value.length) {\n const displayValues = value.map((v) => getDisplayLabel(key, v));\n chips.push({\n key,\n label: `${formatLabel(key)}: ${displayValues.join(\", \")}`,\n onRemove: () => {\n const newFilters = { ...filters };\n delete newFilters[key];\n onChange(newFilters);\n },\n });\n } else if (typeof value === \"string\" && value.trim() !== \"\") {\n const displayValue = getDisplayLabel(key, value);\n const label =\n key === \"contact_id\"\n ? \"Contact Id\"\n : `${formatLabel(key)}: ${displayValue}`;\n chips.push({\n key,\n label,\n onRemove: () => onChange({ ...filters, [key]: \"\" }),\n });\n }\n });\n\n Object.entries(filters || {}).forEach(([key, value]) => {\n if (\n value &&\n typeof value === \"object\" &&\n (value.min != null || value.max != null)\n ) {\n const label =\n value.min != null && value.max != null\n ? `${formatLabel(key)}: ${value.min}\\u2013${value.max}`\n : value.min != null\n ? `${formatLabel(key)} \\u2265 ${value.min}`\n : `${formatLabel(key)} \\u2264 ${value.max}`;\n chips.push({\n key,\n label,\n onRemove: () => {\n const newFilters = { ...filters };\n delete newFilters[key];\n onChange(newFilters);\n },\n });\n }\n });\n\n (customFilters || []).forEach((filterObj) => {\n if (filterObj && filterObj.active) {\n chips.push({\n key: filterObj.key,\n label: filterObj.label,\n onRemove: filterObj.onRemove,\n });\n }\n });\n\n if (!chips.length) return null;\n\n return (\n <div className={`flex flex-wrap items-center gap-4 ${className}`}>\n {chips.map((c) => (\n <span\n key={c.key}\n className=\"bg-white h-10 border border-gray-200 rounded-[14px] px-3 flex items-center text-[13px] transition-colors\"\n >\n {c.label}\n <button\n onClick={c.onRemove}\n className=\"ml-2 text-gray-500 hover:text-black transition-colors flex items-center\"\n type=\"button\"\n >\n <span className=\"relative top-[-1px]\">×</span>\n </button>\n </span>\n ))}\n <button\n onClick={onClear}\n className=\"h-10 px-3.5 rounded-[14px] bg-white border border-gray-200 text-red-600 transition-colors flex items-center justify-center gap-1.5\"\n type=\"button\"\n >\n <span className=\"text-red-600\">×</span>\n <span>Clear</span>\n </button>\n </div>\n );\n}\n\n"],"names":["Pagination","page","pageSize","totalCount","currentDataLength","onPageChange","onPageSizeChange","pageSizeOptions","className","showRecordCounter","showPageSizeSelector","totalPages","currentRecordStart","currentRecordEnd","pageSizeOpen","setPageSizeOpen","useState","pageSizeRef","useRef","useEffect","onMouseDown","e","pageNumbers","useMemo","pages","i","startPage","endPage","shouldShowPageSizeSelector","labelStyle","pillBase","jsxs","jsx","v","ChevronDown","size","selected","ChevronLeft","pageNum","index","isActive","ChevronRight","formatLabel","key","str","CustomFilterChips","filters","onChange","onClear","customFilters","fieldOptions","chips","getDisplayLabel","value","option","opt","optValue","displayValues","newFilters","displayValue","label","filterObj","c"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const n=require("react/jsx-runtime"),a=require("react"),$=require("./sortable.esm.cjs.js"),N=require("lucide-react"),He=require("react-dom"),ut=require("./CustomFilterChips.cjs.js");require("motion/react");require("recharts");require("./TourGuideTooltip.cjs.js");function ft({dateRangePicker:s,onWeekToDate:l,exportConfig:c,filterChipsConfig:d,trailingActions:y}){const[b,p]=a.useState(!1),h=a.useRef(null),B=a.useRef(null);a.useEffect(()=>{const S=x=>{B.current&&!B.current.contains(x.target)&&h.current&&!h.current.contains(x.target)&&p(!1)};if(b)return document.addEventListener("mousedown",S),()=>{document.removeEventListener("mousedown",S)}},[b]);const g=()=>{p(S=>!S)},k=S=>{p(!1),c!=null&&c.onExport&&c.onExport(S)},R=(()=>{if(!(d!=null&&d.filters))return!1;const S=d.filters,x=d.customFilters||[],I=Object.entries(S).some(([j,M])=>!!(Array.isArray(M)&&M.length||typeof M=="string"&&M.trim()!==""||M&&typeof M=="object"&&(M.min!=null||M.max!=null))),W=x.some(j=>j.active);return I||W})();return n.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[l&&n.jsxs("button",{onClick:l,className:"inline-flex items-center gap-2 rounded-lg border border-gray-300 bg-white/80 px-4 py-2.5 transition-colors hover:bg-white text-sm font-medium text-gray-900",style:{fontFamily:"var(--font-sans)"},children:[n.jsx(N.CalendarClock,{size:16}),n.jsx("span",{children:"Week to Date"})]}),s&&n.jsx(a.Suspense,{fallback:n.jsxs("div",{className:"inline-flex items-center gap-2 rounded-lg border border-gray-300 bg-white/80 px-4 py-2.5 text-sm font-medium text-gray-400",children:[n.jsx(N.CalendarClock,{size:16}),n.jsx("span",{children:"Loading..."})]}),children:s}),c&&n.jsxs("div",{className:"relative",children:[n.jsxs("button",{ref:h,onClick:g,disabled:c.isExporting,className:"inline-flex items-center justify-between gap-2 rounded-lg border border-gray-300 bg-white/80 px-4 py-2.5 transition-colors hover:bg-white text-sm font-medium text-gray-900 disabled:opacity-50 disabled:cursor-not-allowed min-w-[120px]",style:{fontFamily:"var(--font-sans)"},children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(N.Download,{size:16}),n.jsx("span",{children:c.isExporting?"Exporting...":"Export"})]}),n.jsx(N.ChevronDown,{size:16})]}),b&&n.jsx("div",{ref:B,className:"absolute top-full right-0 mt-2 bg-white rounded-lg shadow-lg border border-gray-200 py-1 z-50 min-w-[120px]",children:(c.types||["csv"]).map(S=>n.jsxs("button",{onClick:()=>k(S),className:"w-full text-left px-4 py-2 text-sm text-gray-700 hover:bg-gray-50 transition-colors",style:{fontFamily:"var(--font-sans)"},children:["Export ",S.toUpperCase()]},S))})]}),(R||y)&&n.jsxs(n.Fragment,{children:[R&&n.jsx("div",{className:"h-9 mt-1 w-px bg-gray-300 flex-shrink-0"}),n.jsxs("div",{className:"flex items-center gap-3 justify-end",children:[R&&d&&n.jsx(ut.CustomFilterChips,{filters:d.filters,onChange:d.onChange,onClear:d.onClear,customFilters:d.customFilters||[],fieldOptions:d.fieldOptions||{}}),y&&n.jsx("div",{className:"flex-shrink-0",children:y})]})]})]})}function Pt(s){if(s==null)return NaN;const l=String(s).replace(/[,$%]|pp/gi,"").trim(),c=parseFloat(l);return Number.isFinite(c)?c:NaN}function _t(s){if(s==null)return NaN;const l=String(s).trim(),c=l.match(/^(\d+):(\d+)(?::(\d+))?$/);if(c){const g=+c[1],k=+c[2],D=c[3]!=null?+c[3]:null;return D!=null?g*3600+k*60+D:g*60+k}let d=0,y=!1;const b=l.match(/(\d+)\s*d\b/i),p=l.match(/(\d+)\s*h\b/i),h=l.match(/(\d+)\s*m(?!s)\b/i),B=l.match(/(\d+)\s*s\b/i);return b&&(d+=+b[1]*86400,y=!0),p&&(d+=+p[1]*3600,y=!0),h&&(d+=+h[1]*60,y=!0),B&&(d+=+B[1],y=!0),y?d:NaN}function Ht(s){if(!s)return null;const l=String(s).trim(),c=l.match(/^(\d{1,2})\/(\d{1,2})\/(\d{2,4})$/);if(c){const y=c[3].length===2?2e3+ +c[3]:+c[3],b=new Date(y,+c[1]-1,+c[2]);return isNaN(b.getTime())?null:b}const d=new Date(l);return isNaN(d.getTime())?null:d}function qt(s){if(!s||s.length===0)return"text";const l=s.slice(0,25),c=d=>l.every(d);return c(d=>/^\d{1,2}\/\d{1,2}\/\d{2,4}$/.test(d)||/^\d{4}-\d{2}-\d{2}/.test(d))?"date":c(d=>/^\d+\s*[dhms]\b/i.test(d)||/^\d+:\d+(:\d+)?$/.test(d))?"duration":c(d=>/^-?[\d,.]+(%|pp)?$/i.test(d))?"number":"text"}function De(s){return s?Array.isArray(s)?s.length>0:s.type==="range"?s.min!==""&&s.min!==void 0&&s.min!==null||s.max!==""&&s.max!==void 0&&s.max!==null:s.type==="durationRange"?s.minSec!==""&&s.minSec!=null||s.maxSec!==""&&s.maxSec!=null:s.type==="dateRange"?!!(s.from||s.to):!1:!1}function dt(s){if(s==null||s===""||isNaN(s))return"";const l=Number(s),c=Math.floor(l/3600),d=Math.floor(l%3600/60),y=Math.floor(l%60);return c>0?`${c}h ${d}m`:d>0?`${d}m ${y}s`:`${y}s`}function Kt(s){if(!s)return"";if(Array.isArray(s))return s.length===0?"":String(s[0]);if(s.type==="range"){const l=s.min!==""&&s.min!=null?s.min:null,c=s.max!==""&&s.max!=null?s.max:null;return l!=null&&c!=null?`${l} – ${c}`:l!=null?`≥ ${l}`:c!=null?`≤ ${c}`:""}if(s.type==="durationRange"){const l=s.minSec!==""&&s.minSec!=null?dt(s.minSec):null,c=s.maxSec!==""&&s.maxSec!=null?dt(s.maxSec):null;return l&&c?`${l} – ${c}`:l?`≥ ${l}`:c?`≤ ${c}`:""}return s.type==="dateRange"?s.from&&s.to?`${s.from} – ${s.to}`:s.from?`from ${s.from}`:s.to?`to ${s.to}`:"":""}function Xt(s){return Array.isArray(s)?Math.max(0,s.length-1):0}function Gt(s){return Array.isArray(s)?s.slice(1).map(String).join(", "):""}function Ut({count:s,values:l}){const[c,d]=a.useState(!1);return n.jsxs("span",{onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),style:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",height:22,minWidth:22,padding:"0 6px",background:"#D8D8D8",color:"#0B0B0B",borderRadius:14,fontSize:12,fontWeight:500,lineHeight:1,cursor:"pointer"},children:["+",s,c&&n.jsx("span",{role:"tooltip",style:{position:"absolute",bottom:"calc(100% + 6px)",left:"50%",transform:"translateX(-50%)",background:"#1E2125",color:"#FFFFFF",fontFamily:"var(--font-sans)",fontSize:12,fontWeight:400,lineHeight:"20px",padding:"6px 10px",borderRadius:8,whiteSpace:"nowrap",pointerEvents:"none",zIndex:100,boxShadow:"0 6px 16px rgba(11, 11, 11, 0.18)"},children:l})]})}function _e({leftLabel:s,rightLabel:l,leftValue:c,rightValue:d,onLeftChange:y,onRightChange:b,type:p="number",placeholderLeft:h="Min",placeholderRight:B="Max"}){const g={width:"100%",height:32,borderRadius:8,border:"1px solid #D9D9D9",background:"#FFFFFF",padding:"0 10px",fontFamily:"var(--font-sans)",fontSize:14,color:"#0B0B0B",outline:"none",boxSizing:"border-box"},k={fontSize:12,color:"#676767",marginBottom:4,fontFamily:"var(--font-sans)"};return n.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[n.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[n.jsx("span",{style:k,children:s}),n.jsx("input",{type:p,value:c,onChange:D=>y(D.target.value),placeholder:h,style:g})]}),n.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[n.jsx("span",{style:k,children:l}),n.jsx("input",{type:p,value:d,onChange:D=>b(D.target.value),placeholder:B,style:g})]})]})}function Jt({column:s,columnId:l,filterType:c="text",position:d,popoverRef:y,distinctValues:b,initialValue:p,onApply:h,onCancel:B}){const g=c==="text",k=c==="number",D=c==="date",R=c==="duration",[S,x]=a.useState(()=>g?new Set(Array.isArray(p)?p:[]):new Set),[I,W]=a.useState(""),[j,M]=a.useState(()=>k&&(p==null?void 0:p.type)==="range"&&p.min!=null?p.min:""),[Y,L]=a.useState(()=>k&&(p==null?void 0:p.type)==="range"&&p.max!=null?p.max:""),[P,q]=a.useState(()=>R&&(p==null?void 0:p.type)==="durationRange"&&p.minSec!=null?p.minSec:""),[E,A]=a.useState(()=>R&&(p==null?void 0:p.type)==="durationRange"&&p.maxSec!=null?p.maxSec:""),[ee,K]=a.useState(()=>D&&(p==null?void 0:p.type)==="dateRange"&&p.from||""),[te,Z]=a.useState(()=>D&&(p==null?void 0:p.type)==="dateRange"&&p.to||"");a.useEffect(()=>{g&&x(new Set(Array.isArray(p)?p:[]))},[l,g]);const _=a.useMemo(()=>{const v=I.trim().toLowerCase();return v?b.filter(F=>String(F).toLowerCase().includes(v)):b},[b,I]),G=v=>{x(F=>{const T=new Set(F);return T.has(v)?T.delete(v):T.add(v),T})},U=()=>{g&&x(new Set),k&&(M(""),L("")),R&&(q(""),A("")),D&&(K(""),Z("")),W("")},de=()=>{if(g)return h(Array.from(S));if(k)return h({type:"range",min:j===""?"":Number(j),max:Y===""?"":Number(Y)});if(R)return h({type:"durationRange",minSec:P===""?"":Number(P),maxSec:E===""?"":Number(E)});if(D)return h({type:"dateRange",from:ee,to:te})};return n.jsxs("div",{ref:y,role:"dialog","aria-label":`Filter ${s.label||l}`,style:{position:"fixed",top:d.top,left:d.left,zIndex:50,width:g?240:280,background:"#FFFFFF",border:"1px solid #E6E6E6",borderRadius:10,padding:12,display:"flex",flexDirection:"column",gap:10,boxShadow:"0 8px 24px rgba(11, 11, 11, 0.10)",fontFamily:"var(--font-sans)"},children:[g&&n.jsxs(n.Fragment,{children:[n.jsx("div",{style:{background:"#D8D8D8",height:32,borderRadius:10,padding:1,display:"flex",alignItems:"center"},children:n.jsxs("div",{style:{background:"#FFFFFF",flex:1,height:30,borderRadius:10,display:"flex",alignItems:"center",gap:8,padding:"0 8px"},children:[n.jsx(N.Search,{size:16,color:"#989898",strokeWidth:2}),n.jsx("input",{autoFocus:!0,type:"text",value:I,onChange:v=>W(v.target.value),placeholder:"Search",style:{flex:1,border:"none",outline:"none",background:"transparent",fontSize:14,color:"#0B0B0B",minWidth:0,fontFamily:"var(--font-sans)"}})]})}),n.jsx("div",{style:{maxHeight:220,overflowY:"auto",display:"flex",flexDirection:"column",gap:4},children:_.length===0?n.jsx("div",{style:{fontSize:13,color:"#676767",padding:"8px 4px",textAlign:"center"},children:"No values"}):_.map(v=>{const F=S.has(v);return n.jsxs("label",{style:{display:"flex",alignItems:"center",gap:12,padding:"6px 4px",cursor:"pointer",borderRadius:6},children:[n.jsx("span",{style:{width:20,height:20,borderRadius:4,display:"inline-flex",alignItems:"center",justifyContent:"center",background:F?"#0B0B0B":"#FFFFFF",border:`1px solid ${F?"#0B0B0B":"#676767"}`,flexShrink:0},children:F&&n.jsx(N.Check,{size:14,color:"#FFFFFF",strokeWidth:3})}),n.jsx("input",{type:"checkbox",checked:F,onChange:()=>G(v),style:{position:"absolute",opacity:0,pointerEvents:"none"},tabIndex:-1}),n.jsx("span",{onClick:T=>{T.preventDefault(),G(v)},style:{fontSize:14,lineHeight:"20px",color:"#0B0B0B",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:v})]},v)})})]}),k&&n.jsx(_e,{leftLabel:"Min",rightLabel:"Max",leftValue:j,rightValue:Y,onLeftChange:M,onRightChange:L,type:"number"}),R&&n.jsxs(n.Fragment,{children:[n.jsx("div",{style:{fontSize:12,color:"#676767"},children:"Duration in seconds"}),n.jsx(_e,{leftLabel:"Min (sec)",rightLabel:"Max (sec)",leftValue:P,rightValue:E,onLeftChange:q,onRightChange:A,type:"number",placeholderLeft:"0",placeholderRight:"3600"})]}),D&&n.jsx(_e,{leftLabel:"From",rightLabel:"To",leftValue:ee,rightValue:te,onLeftChange:K,onRightChange:Z,type:"date",placeholderLeft:"",placeholderRight:""}),n.jsx("div",{style:{height:1,background:"#D9D9D9",margin:"0 -12px"}}),n.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[n.jsx("button",{type:"button",onClick:U,style:{background:"transparent",border:"none",padding:0,cursor:"pointer",fontSize:14,fontWeight:500,color:"#323232",fontFamily:"var(--font-sans)"},children:"Reset"}),n.jsx("button",{type:"button",onClick:de,style:{background:"#0B0B0B",color:"#FFFFFF",border:"none",borderRadius:10,height:28,padding:"0 14px",fontSize:14,fontWeight:600,cursor:"pointer",fontFamily:"var(--font-sans)"},children:"Apply"})]})]})}const Qt=()=>({userData:{email:"anonymous"}}),Yt=s=>n.jsx("img",{...s});function Zt({children:s,content:l,direction:c="top",align:d="center",styling:y,indicatorColor:b}){const p=typeof l=="string"?l:l!=null?String(l):"",h=typeof b=="string"&&(b.startsWith("#")||b.startsWith("rgb")||b.startsWith("hsl")||b.startsWith("var("))?b:"var(--Grey-Strong, #2E3236)",[B,g]=a.useState(!1),[k,D]=a.useState(!1),[R,S]=a.useState({top:0,left:0,arrowLeft:0,placement:"top"}),x=a.useRef(null),I=a.useRef(null);if(!p)return s;a.useEffect(()=>{D(!0)},[]);const W=a.useCallback(()=>{if(!x.current||!I.current||typeof window>"u")return;const j=x.current.getBoundingClientRect(),M=I.current.getBoundingClientRect(),Y=window.innerWidth,L=window.innerHeight,P=8,q=10,E=M.width,A=M.height,ee=j.top,K=L-j.bottom,te=c==="bottom"?"bottom":"top";let Z=te;te==="top"&&ee<A+q+P&&K>ee?Z="bottom":te==="bottom"&&K<A+q+P&&ee>K&&(Z="top");let _=j.left+j.width/2;d==="start"&&(_=j.left),d==="end"&&(_=j.right);let G=Z==="top"?j.top-A-q:j.bottom+q,U=d==="start"?_:d==="end"?_-E:_-E/2;G=Math.max(P,Math.min(G,L-A-P)),U=Math.max(P,Math.min(U,Y-E-P));const de=Math.max(10,Math.min(_-U,E-10));S({top:G,left:U,arrowLeft:de,placement:Z})},[d,c]);return a.useEffect(()=>{if(!B||!k)return;W();const j=()=>W();return window.addEventListener("resize",j),window.addEventListener("scroll",j,!0),()=>{window.removeEventListener("resize",j),window.removeEventListener("scroll",j,!0)}},[B,k,W]),n.jsxs("span",{ref:x,style:{display:"block",width:"100%"},onMouseEnter:()=>g(!0),onMouseLeave:()=>g(!1),children:[s,B&&k&&He.createPortal(n.jsxs("span",{ref:I,style:{position:"fixed",top:`${R.top}px`,left:`${R.left}px`,background:"var(--Grey-Strong, #2E3236)",color:"var(--Grey-White, #FFF)",fontSize:"12px",lineHeight:1.3,fontWeight:500,padding:"8px 10px",borderRadius:"6px",whiteSpace:"normal",maxWidth:"320px",width:"max-content",boxShadow:"0 6px 18px rgba(0, 0, 0, 0.2)",zIndex:99999,pointerEvents:"none",...typeof y=="object"?y:{}},children:[p,n.jsx("span",{style:{position:"absolute",left:`${R.arrowLeft}px`,transform:"translateX(-50%)",width:0,height:0,borderLeft:"6px solid transparent",borderRight:"6px solid transparent",...R.placement==="top"?{top:"100%",borderTop:`7px solid ${h}`}:{bottom:"100%",borderBottom:`7px solid ${h}`}}})]}),document.body)]})}function Vt({data:s=[],columns:l=[],initialPageSize:c=10,onRowClick:d,totalCount:y=null,page:b=null,pageSize:p=null,onPageChange:h=null,onPageSizeChange:B=null,onFilterChange:g=null,columnFilters:k=null,onMaxColumnsError:D=null,onSort:R=null,sortFields:S=[],tableId:x=null,isLoading:I=!1,filtersConfig:W=null,columnResizeMinWidth:j=100,columnResizeMaxWidth:M=280}){var ct;const{userData:Y}=Qt(),L=(Y==null?void 0:Y.email)||"anonymous",P=a.memo(({children:e,content:t,className:r=""})=>{const i=a.useRef(null),[o,u]=a.useState(!1);a.useEffect(()=>{const m=()=>{if(i.current){const z=i.current.scrollWidth>i.current.clientWidth;u(z)}};m();const H=setTimeout(m,0);return window.addEventListener("resize",m),()=>{clearTimeout(H),window.removeEventListener("resize",m)}},[e,t]);const f=n.jsx("span",{className:`truncate block ${r}`,ref:i,children:e});return o&&t?n.jsx(Zt,{content:t,styling:"bg-green-2 text-gray-900 px-3 py-2 text-sm rounded-lg shadow-md border border-gray-300 max-w-xs whitespace-normal",indicatorColor:"bg-green-2",direction:"top",children:f}):f});P.displayName="TruncatedCell";const q=y!==null&&h!==null,E=g!==null,A=R!==null,[ee,K]=a.useState(1),[te,Z]=a.useState(c),_=b!==null?b:ee,G=p!==null?p:te,U=e=>{h?h(e):K(e)},de=e=>{B?B(e):Z(e)},v=50,F="action",T=a.useRef(!1),ne=a.useMemo(()=>x?`dataTable_columns_${x}:${L}`:`dataTable_columns_${l.map(t=>t.id||t.key).sort().join("_")}:${L}`,[x,l,L]),se=a.useMemo(()=>x?`dataTable_manual_change_${x}:${L}`:null,[x,L]);a.useCallback((e,t)=>{if(typeof window>"u"||!e||!t||t.length===0)return null;try{const r=localStorage.getItem(e);if(r){const o=JSON.parse(r).filter(u=>t.some(f=>(f.id||f.key)===u));if(o.length>0)return o}}catch(r){console.warn("Failed to load saved columns from localStorage:",r)}return null},[]);const[J,Re]=a.useState({}),[Me,qe]=a.useState(""),[X,ue]=a.useState(null),[pt,ht]=a.useState({top:0,left:0}),Ee=a.useRef(null),Ke=a.useRef({}),[Xe,mt]=a.useState(null),[Ge,Ue]=a.useState("asc"),ze=a.useCallback((e,t)=>{const r=De(t);Re(i=>{const o={...i};return r?o[e]=t:delete o[e],o}),h?h(1):K(1),E&&g&&g(r?{...J,[e]:t}:Object.fromEntries(Object.entries(J).filter(([i])=>i!==e)))},[J,g,E,h]),gt=a.useCallback(()=>{Re({}),qe(""),h?h(1):K(1),E&&g&&g({})},[g,E,h]),Ne=a.useCallback(e=>{if(!s||s.length===0)return[];const t=new Set,r=[];for(const i of s){const o=i[e];if(o==null)continue;const u=typeof o=="object"?JSON.stringify(o):String(o);t.has(u)||(t.add(u),r.push(u))}return r.sort((i,o)=>i.localeCompare(o))},[s]),xt=a.useCallback(e=>{const t=l.find(r=>O(r)===e);return t&&t.filterType?t.filterType:qt(Ne(e))},[l,Ne]),yt=a.useCallback((e,t)=>{if(!t){ue(e);return}const r=t.getBoundingClientRect();ht({top:r.bottom+6,left:r.left}),ue(i=>i===e?null:e)},[]);a.useEffect(()=>{if(!X)return;const e=t=>{if(Ee.current&&Ee.current.contains(t.target))return;const r=Ke.current[X];r&&r.contains(t.target)||ue(null)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[X]);const Je=a.useCallback(e=>!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).filter(([,t])=>t==null?!1:typeof t=="string"?t.trim()!=="":!0)),[]),Qe=a.useCallback((e,t)=>{const r=Object.keys(e||{}),i=Object.keys(t||{});return r.length!==i.length?!1:r.every(o=>e[o]===t[o])},[]);a.useEffect(()=>{if(!E||k===null)return;const e=Je(k);Re(t=>Qe(t,e)?t:e)},[E,k,Je,Qe]),a.useCallback((e,t)=>e==="csat_score"&&t==="evaluation.csat_score"?t:e,[]);const fe=A&&S.length>0?S[0][0]:Xe,me=A&&S.length>0?S[0][1]:Ge,[en,Ye]=a.useState(()=>l.map(e=>e.id||e.key)),Q=a.useCallback(e=>{if(!e||e.length===0)return e;let t=Array.from(new Set(e));t.length>v&&(t=t.slice(0,v));const i=l.map(f=>f.id||f.key).includes(F);return!t.includes(F)&&i&&(t.length>=v?t=[...t.slice(0,v-1),F]:t=[...t,F]),[...t.filter(f=>f!==F),F]},[l]),[C,re]=a.useState(()=>{if(typeof window<"u"&&x)try{if(localStorage.getItem(`dataTable_manual_change_${x}:${L}`)==="true"){const i=localStorage.getItem(`dataTable_columns_${x}:${L}`);if(i){const o=JSON.parse(i);if(Array.isArray(o)&&o.length>0){T.current=!0;const u=o.filter(f=>l.some(m=>(m.id||m.key)===f));if(u.length>0)return u.slice(0,v)}}}}catch(r){console.warn("Failed to load saved columns from localStorage:",r)}const t=l.map(r=>r.id||r.key).slice(0,v);return Q(t)}),[oe,Be]=a.useState(!1),[Ze,bt]=a.useState({top:0,left:0,width:0}),[Ve,Le]=a.useState(new Set),[et,$e]=a.useState(new Set),ge=a.useRef(null);ge.current===null&&(ge.current=[...C]);const[V,We]=a.useState(null),[vt,xe]=a.useState(null),ie=a.useRef(null),Te=a.useRef(null),ae=a.useRef(null),[tt,Ae]=a.useState(null),[Oe,St]=a.useState({}),wt=a.useRef(null),ye=a.useRef(null),O=e=>e.id||e.key,be=a.useCallback(e=>{if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){const t=e.trim();if(t.endsWith("px")){const i=parseFloat(t);return Number.isFinite(i)?i:null}const r=parseFloat(t);return Number.isFinite(r)&&`${r}`===t?r:null}return null},[]),nt=a.useCallback((e,t)=>Oe[e]!=null?`${Oe[e]}px`:typeof t=="number"?`${t}px`:t||"auto",[Oe]),ve=a.useCallback(e=>{if(!ye.current)return;const{columnId:t,startX:r,startWidth:i,minWidth:o,maxWidth:u}=ye.current,f=e.clientX-r,m=Math.round(i+f),H=Math.min(u,Math.max(o,m));St(z=>({...z,[t]:H}))},[]),pe=a.useCallback(()=>{ye.current=null,document.body.style.cursor="",document.body.style.userSelect="",document.removeEventListener("mousemove",ve),document.removeEventListener("mouseup",pe)},[ve]),jt=a.useCallback((e,t,r)=>{var ke;e.preventDefault(),e.stopPropagation();const i=t.id||t.key,o=be(t.minWidth)??j,u=be(t.maxWidth)??M,f=Math.min(o,u),m=Math.max(o,u),H=((ke=e.currentTarget.closest("th"))==null?void 0:ke.getBoundingClientRect().width)||0,z=be(r),he=z??Math.max(f,Math.round(H)||f),Ie=Math.min(m,Math.max(f,he));ye.current={columnId:i,startX:e.clientX,startWidth:Ie,minWidth:f,maxWidth:m},document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",ve),document.addEventListener("mouseup",pe)},[M,j,ve,pe,be]);a.useEffect(()=>()=>pe(),[pe]);const Ft=$.useSensors($.useSensor($.PointerSensor),$.useSensor($.KeyboardSensor,{coordinateGetter:$.sortableKeyboardCoordinates})),kt=e=>{const{active:t,over:r}=e;if(r&&t.id!==r.id){if(t.id===F||r.id===F){ot("Cannot drop columns on the Action column"),Ae(null);return}T.current=!0,re(i=>{const o=i.indexOf(t.id),u=i.indexOf(r.id);if(o!==-1&&u!==-1){const f=$.arrayMove(i,o,u),m=Q(f);return Fe(m),m}return i}),Ye(i=>{const o=i.indexOf(t.id),u=i.indexOf(r.id);return $.arrayMove(i,o,u)})}Ae(null)},Ct=e=>{Ae(e.active.id)},Se=a.useMemo(()=>{if(E)return s||[];if(!s||s.length===0)return[];const e=Me.trim().toLowerCase(),t=Object.entries(J).filter(([,r])=>De(r));return s.filter(r=>{for(const[i,o]of t){const u=r[i];if(u==null)return!1;if(Array.isArray(o)){const f=String(u);if(!o.some(m=>String(m)===f))return!1;continue}if(o.type==="range"){const f=Pt(u);if(isNaN(f)||o.min!==""&&o.min!=null&&f<Number(o.min)||o.max!==""&&o.max!=null&&f>Number(o.max))return!1;continue}if(o.type==="durationRange"){const f=_t(u);if(isNaN(f)||o.minSec!==""&&o.minSec!=null&&f<Number(o.minSec)||o.maxSec!==""&&o.maxSec!=null&&f>Number(o.maxSec))return!1;continue}if(o.type==="dateRange"){const f=Ht(u);if(!f)return!1;if(o.from){const m=new Date(o.from+"T00:00:00");if(f<m)return!1}if(o.to){const m=new Date(o.to+"T23:59:59");if(f>m)return!1}continue}}return!(e&&!Object.values(r).some(o=>o==null?!1:String(o).toLowerCase().includes(e)))})},[s,J,Me,E]),we=a.useMemo(()=>A||!fe?Se:[...Se].sort((e,t)=>{const r=e[fe],i=t[fe];if(r==null)return 1;if(i==null)return-1;if(typeof r=="number"&&typeof i=="number")return me==="asc"?r-i:i-r;const o=String(r).toLowerCase(),u=String(i).toLowerCase();return me==="asc"?o.localeCompare(u):u.localeCompare(o)}),[Se,fe,me,A]),je=a.useMemo(()=>{if(q)return s||[];{const e=(_-1)*G,t=e+G;return we.slice(e,t)}},[s,we,_,G,q]),rt=e=>{A&&R?(R(e),h?h(1):K(1)):(Xe===e?Ue(Ge==="asc"?"desc":"asc"):(mt(e),Ue("asc")),U(1))},Dt=(e,t)=>{const r=(t||"").split(/\s+/).map(i=>i.trim()).filter(Boolean);ze(e,r)},ot=e=>{ae.current||(typeof D=="function"&&D(e),ae.current=setTimeout(()=>{ae.current=null},3e3))},Fe=a.useCallback(e=>{if(typeof window<"u"&&ne&&e.length>0&&T.current)try{localStorage.setItem(ne,JSON.stringify(e)),se&&localStorage.setItem(se,"true")}catch(t){console.warn("Failed to save columns to localStorage:",t)}},[ne,se]),Rt=e=>{e!==F&&(T.current=!0,re(t=>t.includes(e)?(ae.current&&(clearTimeout(ae.current),ae.current=null),t.length===1||($e(r=>new Set(r).add(e)),setTimeout(()=>{re(r=>{const i=r.filter(u=>u!==e),o=Q(i);return Fe(o),o}),$e(r=>{const i=new Set(r);return i.delete(e),i})},200)),t):t.length>=v?(ot("Maximum 9 column selection allowed"),t):(Le(r=>new Set(r).add(e)),setTimeout(()=>{re(r=>{const i=r.includes(e)?r:[...r,e],o=Q(i);return Fe(o),o}),Le(r=>{const i=new Set(r);return i.delete(e),i})},200),t)))},Mt=(e,t)=>{C[t]!==F&&We(t)},Et=()=>{We(null),xe(null)},zt=(e,t)=>{e.preventDefault(),V!==null&&V!==t&&xe(t)},Nt=()=>{xe(null)},Bt=(e,t)=>{e.preventDefault(),V!==null&&V!==t&&C[t]!==F&&C[V]!==F&&(T.current=!0,re(r=>{const i=$.arrayMove(r,V,t),o=Q(i);return Fe(o),o})),We(null),xe(null)};a.useEffect(()=>{Ye(e=>{const t=C.filter(o=>e.includes(o)),r=C.filter(o=>!e.includes(o)),i=e.filter(o=>!C.includes(o));return[...t,...r,...i]})},[C]),a.useEffect(()=>{if(typeof window<"u"&&ne&&C.length>0&&T.current)try{const e=Q(C);localStorage.setItem(ne,JSON.stringify(e)),se&&localStorage.setItem(se,"true")}catch(e){console.warn("Failed to save columns to localStorage:",e)}},[C,ne,se]),a.useEffect(()=>{if(l.length>0&&C.length===0){if(typeof window<"u"&&x)try{if(localStorage.getItem(`dataTable_manual_change_${x}:${L}`)==="true"){const r=localStorage.getItem(`dataTable_columns_${x}:${L}`);if(r){const i=JSON.parse(r);if(Array.isArray(i)&&i.length>0){const o=i.filter(u=>l.some(f=>(f.id||f.key)===u));if(o.length>0){T.current=!0,re(o.slice(0,v));return}}}}}catch(t){console.warn("Failed to load saved columns from localStorage:",t)}const e=l.map(t=>t.id||t.key);re(Q(e.slice(0,v)))}},[l,x,L,Q]);const le=a.useMemo(()=>{const e=C.map(t=>l.find(r=>O(r)===t)).filter(Boolean);return Q(e.map(O)).map(t=>l.find(r=>O(r)===t)).filter(Boolean)},[l,C]);a.useMemo(()=>le.some(e=>e.filterable===!0),[le]),a.useEffect(()=>{if(!oe||!ie.current)return;const e=()=>{if(ie.current){const t=ie.current.getBoundingClientRect();bt({top:t.bottom,left:t.left,width:Math.max(t.width||220,220)})}};return e(),window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e)}},[oe]),a.useEffect(()=>{const e=t=>{oe&&ie.current&&!ie.current.contains(t.target)&&Te.current&&!Te.current.contains(t.target)&&Be(!1)};if(oe)return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[oe]),C.length===1?(ct=l.find(e=>(e.id||e.key)===C[0]))!=null&&ct.label:`${C.length}`;function Lt({column:e,isHeaderRow:t=!0}){const r=O(e),i=r===F,o=nt(r,e.width),[u,f]=a.useState(!1),{attributes:m,listeners:H,setNodeRef:z,transform:he,transition:Ie,isDragging:ke}=$.useSortable({id:r}),Wt={transform:$.CSS.Transform.toString(he),transition:Ie,opacity:ke?.5:1,width:o,minWidth:o};let ce=!1;if(A&&S.length>0){const w=S[0][0];(w===r||w==="csat_score"&&r==="evaluation.csat_score")&&(ce=!0)}else ce=fe===r;const Tt=me==="asc",At=e.filterable===!0;if(!t)return n.jsx("th",{style:{width:o,minWidth:o,backgroundColor:"var(--primary-foreground)"},className:"sticky top-[57px] z-10 border-b border-[var(--border-strong)] px-4 py-2 text-left",children:At?n.jsxs("div",{className:"relative",children:[n.jsx(Filter,{size:12,className:"absolute left-2 top-1/2 -translate-y-1/2 text-[var(--text-faint)] pointer-events-none"}),n.jsx("input",{type:"text",placeholder:"Filter...",value:J[r]||"",onChange:w=>{w.stopPropagation(),Dt(r,w.target.value)},onKeyDown:w=>w.stopPropagation(),onMouseDown:w=>w.stopPropagation(),className:"w-full pl-7 pr-2 py-1.5 text-xs border border-[var(--border)] rounded text-[var(--text-ink)] placeholder:text-[var(--text-faint)] focus:outline-none focus:border-[var(--border-hover)] focus:ring-1 focus:ring-[var(--focus)] transition-colors",style:{fontFamily:"var(--font-sans)",backgroundColor:"var(--primary-foreground)"},autoComplete:"off"})]}):n.jsx("div",{className:"h-[34px]"})});const Pe=X===r,Ce=De(J[r]),Ot=e.sortable!==!1&&(u||ce),It=e.filterable!==!1&&!i&&(u||Pe||Ce);return n.jsxs("th",{ref:z,onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),style:{...Wt,padding:"0 12px",height:36,textAlign:i?"center":"left",fontWeight:500,fontSize:"14px",letterSpacing:"normal",textTransform:"none",color:"#0b0b0b",cursor:e.sortable!==!1?"pointer":"default",width:o,borderRight:"none",userSelect:"none",background:u||Pe?"#e6e6e6":"#f2f2f0",borderBottom:"1px solid #e6e6e6",position:"sticky",top:0,zIndex:10,fontFamily:"var(--font-sans)",transition:"background 100ms ease"},children:[!i&&n.jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:"50%",transform:"translateY(-50%)",width:1,height:16,background:"#e6e6e6",pointerEvents:"none"}}),n.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px",justifyContent:i?"center":"flex-start",position:"relative",minHeight:20},children:[!i&&n.jsx("div",{...m,...H,style:{cursor:"grab",color:"rgba(11, 11, 11, 0.36)",display:"inline-flex",alignItems:"center"},children:n.jsx(N.GripVertical,{size:14})}),n.jsx("span",{onClick:()=>e.sortable!==!1&&rt(r),style:{cursor:e.sortable!==!1?"pointer":"default",flex:1,lineHeight:"20px"},children:e.label}),Ot&&n.jsx("button",{type:"button",onClick:w=>{w.stopPropagation(),rt(r)},title:"Sort",style:{background:"transparent",border:"none",padding:4,borderRadius:4,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",color:ce?"#0b0b0b":"rgba(11, 11, 11, 0.55)"},children:ce?Tt?n.jsx(N.ArrowUp,{size:14,strokeWidth:1.75}):n.jsx(N.ArrowDown,{size:14,strokeWidth:1.75}):n.jsx(N.ArrowUpDown,{size:14,strokeWidth:1.75})}),It&&n.jsxs("button",{type:"button",ref:w=>{Ke.current[r]=w},onClick:w=>{w.stopPropagation(),yt(r,w.currentTarget)},title:"Filter",style:{position:"relative",background:Pe||Ce?"#D8D8D8":"transparent",border:"none",padding:4,borderRadius:4,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",color:Ce?"#0b0b0b":"rgba(11, 11, 11, 0.7)"},children:[n.jsx(N.ListFilter,{size:14,strokeWidth:1.75}),Ce&&n.jsx("span",{"aria-hidden":"true",style:{position:"absolute",top:0,right:0,width:6,height:6,borderRadius:"50%",background:"#0B0B0B"}})]})]}),!i&&n.jsx("span",{"aria-hidden":"true",style:{position:"absolute",right:0,top:"50%",transform:"translateY(-50%)",width:1,height:16,background:"#e6e6e6",pointerEvents:"none"}}),!i&&n.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":`Resize ${e.label||r} column`,title:"Drag to resize column",onMouseDown:w=>jt(w,e,o),onClick:w=>w.stopPropagation(),onMouseEnter:w=>{w.currentTarget.style.background="rgba(30, 33, 37, 0.18)"},onMouseLeave:w=>{w.currentTarget.style.background="transparent"},style:{position:"absolute",top:0,right:-2,width:4,height:"100%",cursor:"col-resize",zIndex:4,background:"transparent"}})]})}const st=tt?l.find(e=>O(e)===tt):null,it=({col:e,columnId:t,isSelected:r,draggable:i,isAction:o,actualIndex:u})=>{const f=i&&V===u,m=i&&vt===u&&V!==null&&V!==u;r?et.has(t):Ve.has(t);const H=r?!et.has(t):Ve.has(t);return n.jsxs("div",{draggable:i,onDragStart:i?z=>Mt(z,u):void 0,onDragEnd:i?Et:void 0,onDragOver:i?z=>zt(z,u):void 0,onDragLeave:i?Nt:void 0,onDrop:i?z=>Bt(z,u):void 0,onClick:()=>{o||Rt(t)},style:{display:"flex",alignItems:"center",gap:4,padding:"2px 0",cursor:o?"default":i?"grab":"pointer",opacity:f?.5:1,background:m?"#F2F2F0":"transparent",borderRadius:6},children:[n.jsx("span",{style:{width:16,height:16,display:"inline-flex",alignItems:"center",justifyContent:"center",color:"#989898",visibility:i?"visible":"hidden",flexShrink:0},children:n.jsx(N.GripVertical,{size:14,strokeWidth:1.75})}),n.jsx("span",{style:{width:20,height:20,borderRadius:4,display:"inline-flex",alignItems:"center",justifyContent:"center",background:H?"#0B0B0B":"#FFFFFF",border:`1px solid ${H?"#0B0B0B":"#676767"}`,flexShrink:0,marginLeft:8},children:H&&n.jsx(N.Check,{size:14,color:"#FFFFFF",strokeWidth:3})}),n.jsx("span",{style:{flex:1,fontFamily:"var(--font-sans)",fontSize:14,lineHeight:"20px",color:"#0B0B0B",marginLeft:8},children:e.label})]})},$t=oe?n.jsxs("div",{ref:Te,style:{position:"fixed",top:`${Ze.top}px`,left:`${Ze.left}px`,width:217,maxHeight:400,overflow:"auto",zIndex:49,background:"#FFFFFF",border:"1px solid #E6E6E6",borderRadius:10,padding:12,display:"flex",flexDirection:"column",gap:12,fontFamily:"var(--font-sans)",boxShadow:"0 8px 24px rgba(11, 11, 11, 0.08)"},children:[C.map((e,t)=>{const r=l.find(o=>O(o)===e);if(!r)return null;const i=e===F;return n.jsx(a.Fragment,{children:it({col:r,columnId:e,isSelected:!0,draggable:!i,isAction:i,actualIndex:t})},`selected-${e}-${t}`)}),l.filter(e=>!C.includes(O(e))).map(e=>{const t=O(e);return n.jsx(a.Fragment,{children:it({col:e,columnId:t,isSelected:!1,draggable:!1,isAction:!1,actualIndex:-1})},`unselected-${t}`)}),n.jsx("div",{style:{height:1,background:"#D9D9D9",margin:"0 -12px"}}),n.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",height:30},children:[n.jsx("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation();const t=ge.current?[...ge.current]:l.map(O).slice(0,v);if(T.current=!1,re(Q(t)),Le(new Set),$e(new Set),typeof window<"u"&&ne)try{localStorage.removeItem(ne)}catch{}},style:{background:"transparent",border:"none",padding:0,cursor:"pointer",fontFamily:"var(--font-sans)",fontSize:14,fontWeight:500,color:"#323232"},children:"Reset"}),n.jsx("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),Be(!1)},style:{background:"#2E3236",color:"#FFFFFF",border:"none",borderRadius:10,height:28,padding:"0 14px",fontFamily:"var(--font-sans)",fontSize:14,fontWeight:600,cursor:"pointer"},children:"Apply"})]})]}):null,at=X?l.find(e=>O(e)===X):null,lt=at?n.jsx(Jt,{column:at,columnId:X,filterType:xt(X),position:pt,popoverRef:Ee,distinctValues:Ne(X),initialValue:J[X],onApply:e=>{ze(X,e),ue(null)},onCancel:()=>ue(null)},X):null;return n.jsxs("div",{className:"w-full",style:{top:"130px",position:"sticky",zIndex:35,backgroundColor:"var(--primary-foreground)"},children:[lt&&He.createPortal(lt,document.body),l.length>0&&n.jsx("div",{className:"pt-2 pb-1",style:{position:"sticky",zIndex:35,backgroundColor:"var(--primary-foreground)"},children:n.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:16,flexWrap:"wrap"},children:[W&&n.jsx("div",{style:{marginRight:"auto"},children:n.jsx(ft,{dateRangePicker:W.dateRangePicker,onWeekToDate:W.onWeekToDate,exportConfig:W.exportConfig,filterChipsConfig:W.filterChipsConfig,trailingActions:W.trailingActions})}),n.jsxs("div",{style:{position:"relative"},children:[n.jsxs("button",{ref:ie,type:"button",onClick:()=>Be(!oe),style:{display:"inline-flex",alignItems:"center",gap:10,height:32,padding:"0 16px",background:"#FFFFFF",border:"1px solid #D9D9D9",borderRadius:10,cursor:"pointer",fontFamily:"var(--font-sans)",fontSize:14,fontWeight:600,color:"#2E3236",whiteSpace:"nowrap"},children:[n.jsx(N.Settings2,{size:20,strokeWidth:1.75}),"Columns"]}),oe&&He.createPortal($t,document.body)]}),n.jsx("div",{style:{background:"#D8D8D8",width:260,height:32,borderRadius:11,padding:1,display:"flex",alignItems:"center"},children:n.jsxs("div",{style:{background:"#FFFFFF",flex:1,height:30,borderRadius:10,display:"flex",alignItems:"center",gap:8,padding:"0 8px"},children:[n.jsx(N.Search,{size:18,color:"#989898",strokeWidth:1.75}),n.jsx("input",{type:"text",placeholder:"Search",value:Me,onChange:e=>{qe(e.target.value),h?h(1):K(1)},style:{flex:1,border:"none",outline:"none",background:"transparent",fontFamily:"var(--font-sans)",fontSize:14,color:"#0B0B0B",minWidth:0}})]})})]})}),Object.keys(J).length>0&&n.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",padding:"8px 0"},children:[Object.entries(J).map(([e,t])=>{const r=l.find(f=>O(f)===e);if(!r||!De(t))return null;const i=Kt(t),o=Xt(t),u=Gt(t);return n.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:8,height:28,padding:"0 12px",borderRadius:20,border:"1px solid #B2B2B0",background:"#F2F2F0",fontFamily:"var(--font-sans)",fontSize:14,lineHeight:"20px",color:"#0B0B0B",whiteSpace:"nowrap"},children:[n.jsxs("span",{children:[n.jsxs("span",{style:{color:"#676767"},children:[r.label,": "]}),n.jsx("span",{children:i})]}),o>0&&n.jsx(Ut,{count:o,values:u}),n.jsx("button",{type:"button",onClick:()=>ze(e,[]),"aria-label":`Remove ${r.label} filter`,style:{background:"transparent",border:"none",padding:0,cursor:"pointer",display:"inline-flex",color:"#676767"},children:n.jsx(N.X,{size:14,strokeWidth:2})})]},`chip-${e}`)}),n.jsx("button",{type:"button",onClick:gt,style:{marginLeft:"auto",background:"transparent",border:"none",padding:"0 4px",cursor:"pointer",fontFamily:"var(--font-sans)",fontSize:14,fontWeight:500,color:"#323232"},children:"Reset"})]}),l.length>0&&le.length>0?n.jsxs($.DndContext,{sensors:Ft,collisionDetection:$.closestCenter,onDragStart:Ct,onDragEnd:kt,children:[n.jsxs("div",{style:{borderRadius:8,border:"1px solid #E6E6E6",overflow:"hidden",background:"var(--primary-foreground)",position:"relative",top:"0.5rem"},children:[I&&n.jsx("div",{style:{position:"absolute",inset:0,background:"rgba(255, 255, 255, 0.9)",backdropFilter:"blur(2px)",zIndex:20,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",borderRadius:"14px"},children:n.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"12px"},children:[n.jsx("p",{style:{fontSize:"13px",color:"rgba(30, 33, 37, 0.6)",margin:0},children:"Loading..."}),n.jsx(Yt,{src:"/BrandLoading.gif",alt:"Loading",width:50,height:50,unoptimized:!0,className:"mt-1"})]})}),n.jsx("div",{className:"overflow-x-auto custom-thin-scrollbar-hidden",ref:wt,style:{maxHeight:"500px",overflowY:"auto",position:"relative",zIndex:1},children:n.jsxs("table",{style:{width:"auto",minWidth:"100%",borderCollapse:"collapse",fontSize:"13px",fontFamily:"var(--font-sans)"},children:[n.jsx("thead",{children:n.jsx("tr",{children:n.jsx($.SortableContext,{items:C,strategy:$.horizontalListSortingStrategy,children:le.map(e=>n.jsx(Lt,{column:e,isHeaderRow:!0},`header-${O(e)}`))})})}),n.jsx("tbody",{children:!I&&je.length===0?n.jsx("tr",{children:n.jsx("td",{colSpan:le.length,style:{padding:"32px",textAlign:"center",color:"rgba(30, 33, 37, 0.42)",fontSize:"12px",fontFamily:"var(--font-sans)"},children:"No results found"})}):!I&&je.length>0?je.map((e,t)=>n.jsx("tr",{"data-row-id":e.id||t,style:{borderBottom:"1px solid #e6e6e6",cursor:d?"pointer":"default",transition:"background 0.15s ease"},onClick:d?r=>{r.stopPropagation(),d(e,t)}:void 0,onMouseEnter:r=>{r.currentTarget.style.background="rgba(231, 212, 162, 0.12)"},onMouseLeave:r=>{r.currentTarget.style.background="transparent"},children:le.map(r=>{const i=O(r),o=nt(i,r.width),u=e[i],f=r.render?r.render(u,e):u,m=o&&o!=="auto",H=typeof f=="string"&&f.trim()!=="",z=m&&H,he=z?n.jsx(P,{content:f,children:f}):f;return n.jsx("td",{style:{padding:"10px 14px",color:"rgba(30, 33, 37, 0.78)",fontSize:"13px",borderRight:"1px solid rgba(52, 58, 64, 0.04)",width:o,fontFamily:"var(--font-sans)",...z&&{maxWidth:o||"200px"}},children:he},i)})},t)):null})]})})]}),n.jsx($.DragOverlay,{children:st?n.jsx("div",{className:"bg-[var(--paper-high)] border border-[var(--border-strong)] rounded px-4 py-2 shadow-lg",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(N.GripVertical,{size:14,className:"text-[var(--text-faint)]"}),n.jsx("span",{className:"text-sm font-semibold text-[var(--text-ink)]",children:st.label})]})}):null})]}):null,(q?y>0:we.length>0)&&n.jsx(ut.Pagination,{page:_,pageSizeOptions:[5,10,20,50,100],pageSize:G,totalCount:q?y:we.length,currentDataLength:je.length,onPageChange:U,onPageSizeChange:e=>{de(e),U(1)},showPageSizeSelector:!0})]})}exports.DataTable2=Vt;exports.DataTableFilters=ft;
|
|
2
|
+
//# sourceMappingURL=DataTable2.cjs.js.map
|