@visns-studio/visns-components 5.8.3 → 5.8.5
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/package.json +1 -1
- package/src/components/crm/TableFilter.jsx +21 -11
- package/src/components/crm/generic/GenericReport.jsx +1192 -124
- package/src/components/crm/generic/styles/GenericReport.module.scss +350 -14
- package/src/components/crm/styles/DataGrid.module.scss +0 -5
- package/src/components/styles/global.css +0 -5
|
@@ -913,9 +913,9 @@
|
|
|
913
913
|
|
|
914
914
|
.suggestedJoinsList {
|
|
915
915
|
display: grid;
|
|
916
|
-
grid-template-columns: repeat(auto-fill, minmax(
|
|
916
|
+
grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
|
|
917
917
|
gap: 0.5rem;
|
|
918
|
-
max-height:
|
|
918
|
+
max-height: 300px;
|
|
919
919
|
overflow-y: auto;
|
|
920
920
|
padding: 0 12px 12px;
|
|
921
921
|
|
|
@@ -923,12 +923,13 @@
|
|
|
923
923
|
display: flex;
|
|
924
924
|
justify-content: space-between;
|
|
925
925
|
align-items: center;
|
|
926
|
-
padding: 0.
|
|
926
|
+
padding: 0.75rem;
|
|
927
927
|
border: 1px solid #e5e7eb;
|
|
928
928
|
border-radius: 0.25rem;
|
|
929
929
|
background-color: white;
|
|
930
930
|
transition: all 0.2s ease;
|
|
931
931
|
font-size: 0.8rem;
|
|
932
|
+
min-height: 60px;
|
|
932
933
|
|
|
933
934
|
&:hover {
|
|
934
935
|
border-color: var(--primary-color, #2563eb);
|
|
@@ -945,12 +946,29 @@
|
|
|
945
946
|
|
|
946
947
|
.suggestedJoinDescription {
|
|
947
948
|
font-size: 0.8rem;
|
|
948
|
-
white-space: nowrap;
|
|
949
949
|
overflow: hidden;
|
|
950
|
-
text-overflow: ellipsis;
|
|
951
950
|
min-width: 0; // This is important for text-overflow to work in flex items
|
|
952
951
|
}
|
|
953
952
|
|
|
953
|
+
.relationshipWithDescription {
|
|
954
|
+
display: flex;
|
|
955
|
+
flex-direction: column;
|
|
956
|
+
gap: 0.25rem;
|
|
957
|
+
overflow: hidden;
|
|
958
|
+
|
|
959
|
+
div:first-child {
|
|
960
|
+
font-weight: 500;
|
|
961
|
+
color: var(--heading-color, #1f2937);
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
.relationshipDescription {
|
|
965
|
+
font-size: 0.7rem;
|
|
966
|
+
color: var(--muted-color, #6b7280);
|
|
967
|
+
font-style: italic;
|
|
968
|
+
line-height: 1.2;
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
|
|
954
972
|
.confidenceBadge {
|
|
955
973
|
font-size: 0.7rem;
|
|
956
974
|
color: #f59e0b;
|
|
@@ -1503,30 +1521,32 @@
|
|
|
1503
1521
|
right: 0;
|
|
1504
1522
|
top: 0;
|
|
1505
1523
|
height: 100%;
|
|
1506
|
-
background:
|
|
1524
|
+
background-color: #f3f4f6;
|
|
1507
1525
|
border: none;
|
|
1508
1526
|
border-left: 1px solid var(--border-color, #d1d5db);
|
|
1509
1527
|
padding: 0 10px;
|
|
1510
|
-
color: var(--
|
|
1528
|
+
color: var(--primary-color, #2563eb);
|
|
1511
1529
|
cursor: pointer;
|
|
1512
|
-
font-size: 0.
|
|
1530
|
+
font-size: 0.9em;
|
|
1513
1531
|
transition: all 0.2s ease;
|
|
1532
|
+
font-weight: 600;
|
|
1533
|
+
min-width: 36px;
|
|
1514
1534
|
|
|
1515
1535
|
&:hover {
|
|
1516
|
-
background-color:
|
|
1536
|
+
background-color: rgba(var(--primary-rgb, 37, 99, 235), 0.1);
|
|
1517
1537
|
color: var(--primary-color, #2563eb);
|
|
1518
1538
|
}
|
|
1519
1539
|
}
|
|
1520
1540
|
|
|
1521
1541
|
input {
|
|
1522
|
-
padding-right:
|
|
1542
|
+
padding-right: 36px;
|
|
1523
1543
|
}
|
|
1524
1544
|
}
|
|
1525
1545
|
|
|
1526
1546
|
.jsonKeyDropdown {
|
|
1527
1547
|
position: relative;
|
|
1528
1548
|
width: 100%;
|
|
1529
|
-
max-height:
|
|
1549
|
+
max-height: 300px;
|
|
1530
1550
|
overflow-y: auto;
|
|
1531
1551
|
background-color: white;
|
|
1532
1552
|
border: 1px solid var(--border-color, #d1d5db);
|
|
@@ -1538,8 +1558,85 @@
|
|
|
1538
1558
|
z-index: 100;
|
|
1539
1559
|
}
|
|
1540
1560
|
|
|
1561
|
+
.jsonKeyDropdownHeader {
|
|
1562
|
+
display: flex;
|
|
1563
|
+
justify-content: space-between;
|
|
1564
|
+
align-items: center;
|
|
1565
|
+
padding: 10px 12px;
|
|
1566
|
+
background-color: #f3f4f6;
|
|
1567
|
+
border-bottom: 1px solid var(--border-color, #e5e7eb);
|
|
1568
|
+
position: sticky;
|
|
1569
|
+
top: 0;
|
|
1570
|
+
z-index: 2;
|
|
1571
|
+
|
|
1572
|
+
span {
|
|
1573
|
+
font-weight: 600;
|
|
1574
|
+
font-size: 0.9em;
|
|
1575
|
+
color: var(--heading-color, #1f2937);
|
|
1576
|
+
}
|
|
1577
|
+
}
|
|
1578
|
+
|
|
1579
|
+
.jsonKeyCloseButton {
|
|
1580
|
+
background: none;
|
|
1581
|
+
border: none;
|
|
1582
|
+
color: var(--paragraph-color, #4b5563);
|
|
1583
|
+
font-size: 1.2em;
|
|
1584
|
+
cursor: pointer;
|
|
1585
|
+
width: 24px;
|
|
1586
|
+
height: 24px;
|
|
1587
|
+
display: flex;
|
|
1588
|
+
align-items: center;
|
|
1589
|
+
justify-content: center;
|
|
1590
|
+
border-radius: 4px;
|
|
1591
|
+
transition: all 0.2s ease;
|
|
1592
|
+
|
|
1593
|
+
&:hover {
|
|
1594
|
+
background-color: rgba(0, 0, 0, 0.05);
|
|
1595
|
+
color: var(--danger-color, #ef4444);
|
|
1596
|
+
}
|
|
1597
|
+
}
|
|
1598
|
+
|
|
1599
|
+
.jsonKeyDropdownFooter {
|
|
1600
|
+
padding: 8px 12px;
|
|
1601
|
+
background-color: #f9fafb;
|
|
1602
|
+
border-top: 1px solid var(--border-color, #e5e7eb);
|
|
1603
|
+
text-align: center;
|
|
1604
|
+
position: sticky;
|
|
1605
|
+
bottom: 0;
|
|
1606
|
+
|
|
1607
|
+
small {
|
|
1608
|
+
font-size: 0.8em;
|
|
1609
|
+
color: var(--muted-color, #6b7280);
|
|
1610
|
+
font-style: italic;
|
|
1611
|
+
}
|
|
1612
|
+
}
|
|
1613
|
+
|
|
1541
1614
|
.jsonKeyList {
|
|
1542
|
-
padding:
|
|
1615
|
+
padding: 0;
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1618
|
+
.jsonKeyListHeader {
|
|
1619
|
+
display: flex;
|
|
1620
|
+
justify-content: space-between;
|
|
1621
|
+
align-items: center;
|
|
1622
|
+
padding: 8px 12px;
|
|
1623
|
+
background-color: #f9fafb;
|
|
1624
|
+
border-bottom: 1px solid var(--border-color, #e5e7eb);
|
|
1625
|
+
font-size: 0.8em;
|
|
1626
|
+
font-weight: 600;
|
|
1627
|
+
color: var(--muted-color, #6b7280);
|
|
1628
|
+
position: sticky;
|
|
1629
|
+
top: 40px;
|
|
1630
|
+
z-index: 1;
|
|
1631
|
+
}
|
|
1632
|
+
|
|
1633
|
+
.jsonKeyNameHeader {
|
|
1634
|
+
flex: 1;
|
|
1635
|
+
}
|
|
1636
|
+
|
|
1637
|
+
.jsonKeyFrequencyHeader {
|
|
1638
|
+
text-align: right;
|
|
1639
|
+
padding-right: 8px;
|
|
1543
1640
|
}
|
|
1544
1641
|
|
|
1545
1642
|
.jsonKeyItem {
|
|
@@ -1550,9 +1647,14 @@
|
|
|
1550
1647
|
cursor: pointer;
|
|
1551
1648
|
transition: all 0.2s ease;
|
|
1552
1649
|
font-size: 0.85em;
|
|
1650
|
+
border-bottom: 1px solid rgba(0, 0, 0, 0.03);
|
|
1553
1651
|
|
|
1554
1652
|
&:hover {
|
|
1555
|
-
background-color:
|
|
1653
|
+
background-color: rgba(var(--primary-rgb, 37, 99, 235), 0.05);
|
|
1654
|
+
}
|
|
1655
|
+
|
|
1656
|
+
&:active {
|
|
1657
|
+
background-color: rgba(var(--primary-rgb, 37, 99, 235), 0.1);
|
|
1556
1658
|
}
|
|
1557
1659
|
|
|
1558
1660
|
.jsonKeyName {
|
|
@@ -1568,12 +1670,14 @@
|
|
|
1568
1670
|
color: var(--muted-color, #6b7280);
|
|
1569
1671
|
font-size: 0.85em;
|
|
1570
1672
|
margin-left: 8px;
|
|
1673
|
+
min-width: 40px;
|
|
1674
|
+
text-align: right;
|
|
1571
1675
|
}
|
|
1572
1676
|
}
|
|
1573
1677
|
|
|
1574
1678
|
.jsonKeyLoading,
|
|
1575
1679
|
.jsonKeyEmpty {
|
|
1576
|
-
padding: 12px;
|
|
1680
|
+
padding: 20px 12px;
|
|
1577
1681
|
text-align: center;
|
|
1578
1682
|
color: var(--muted-color, #6b7280);
|
|
1579
1683
|
font-size: 0.85em;
|
|
@@ -1643,3 +1747,235 @@
|
|
|
1643
1747
|
margin-top: 4px;
|
|
1644
1748
|
}
|
|
1645
1749
|
}
|
|
1750
|
+
|
|
1751
|
+
// Smart formatted values styling
|
|
1752
|
+
:global {
|
|
1753
|
+
.status-active {
|
|
1754
|
+
color: #16a34a; // Green
|
|
1755
|
+
font-weight: 500;
|
|
1756
|
+
}
|
|
1757
|
+
|
|
1758
|
+
.status-inactive {
|
|
1759
|
+
color: #dc2626; // Red
|
|
1760
|
+
font-weight: 500;
|
|
1761
|
+
}
|
|
1762
|
+
|
|
1763
|
+
.boolean-yes {
|
|
1764
|
+
color: #16a34a; // Green
|
|
1765
|
+
font-weight: 500;
|
|
1766
|
+
}
|
|
1767
|
+
|
|
1768
|
+
.boolean-no {
|
|
1769
|
+
color: #dc2626; // Red
|
|
1770
|
+
font-weight: 500;
|
|
1771
|
+
}
|
|
1772
|
+
|
|
1773
|
+
.status-enabled {
|
|
1774
|
+
color: #16a34a; // Green
|
|
1775
|
+
font-weight: 500;
|
|
1776
|
+
}
|
|
1777
|
+
|
|
1778
|
+
.status-disabled {
|
|
1779
|
+
color: #dc2626; // Red
|
|
1780
|
+
font-weight: 500;
|
|
1781
|
+
}
|
|
1782
|
+
|
|
1783
|
+
.status-approved {
|
|
1784
|
+
color: #16a34a; // Green
|
|
1785
|
+
font-weight: 500;
|
|
1786
|
+
}
|
|
1787
|
+
|
|
1788
|
+
.status-rejected {
|
|
1789
|
+
color: #dc2626; // Red
|
|
1790
|
+
font-weight: 500;
|
|
1791
|
+
}
|
|
1792
|
+
|
|
1793
|
+
.status-verified {
|
|
1794
|
+
color: #16a34a; // Green
|
|
1795
|
+
font-weight: 500;
|
|
1796
|
+
}
|
|
1797
|
+
|
|
1798
|
+
.status-not-verified {
|
|
1799
|
+
color: #dc2626; // Red
|
|
1800
|
+
font-weight: 500;
|
|
1801
|
+
}
|
|
1802
|
+
|
|
1803
|
+
// JSON link styling
|
|
1804
|
+
.json-link {
|
|
1805
|
+
color: #2563eb; // Blue
|
|
1806
|
+
text-decoration: underline;
|
|
1807
|
+
|
|
1808
|
+
&:hover {
|
|
1809
|
+
text-decoration: none;
|
|
1810
|
+
}
|
|
1811
|
+
}
|
|
1812
|
+
}
|
|
1813
|
+
|
|
1814
|
+
// Human-friendly JSON styling
|
|
1815
|
+
.humanJsonContainer {
|
|
1816
|
+
display: flex;
|
|
1817
|
+
flex-direction: column;
|
|
1818
|
+
gap: 3px;
|
|
1819
|
+
padding: 10px 12px;
|
|
1820
|
+
background-color: #f9fafb;
|
|
1821
|
+
border-radius: 6px;
|
|
1822
|
+
border: 1px solid #e5e7eb;
|
|
1823
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
|
|
1824
|
+
font-size: 0.9rem;
|
|
1825
|
+
margin: 2px 0;
|
|
1826
|
+
}
|
|
1827
|
+
|
|
1828
|
+
.humanJsonRow {
|
|
1829
|
+
display: flex;
|
|
1830
|
+
align-items: center;
|
|
1831
|
+
padding: 5px 2px;
|
|
1832
|
+
line-height: 1.4;
|
|
1833
|
+
border-radius: 4px;
|
|
1834
|
+
|
|
1835
|
+
&:not(:last-child) {
|
|
1836
|
+
border-bottom: 1px dotted rgba(0, 0, 0, 0.08);
|
|
1837
|
+
padding-bottom: 6px;
|
|
1838
|
+
margin-bottom: 5px;
|
|
1839
|
+
}
|
|
1840
|
+
|
|
1841
|
+
&:hover {
|
|
1842
|
+
background-color: rgba(0, 0, 0, 0.03);
|
|
1843
|
+
}
|
|
1844
|
+
}
|
|
1845
|
+
|
|
1846
|
+
.humanJsonKey {
|
|
1847
|
+
font-weight: 600;
|
|
1848
|
+
color: #2563eb; // Blue
|
|
1849
|
+
margin-right: 12px;
|
|
1850
|
+
min-width: 120px;
|
|
1851
|
+
flex: 0 0 auto;
|
|
1852
|
+
padding-left: 3px;
|
|
1853
|
+
}
|
|
1854
|
+
|
|
1855
|
+
.humanJsonValue {
|
|
1856
|
+
flex: 1;
|
|
1857
|
+
word-break: break-word;
|
|
1858
|
+
padding-right: 5px;
|
|
1859
|
+
color: #1f2937;
|
|
1860
|
+
font-weight: 500;
|
|
1861
|
+
}
|
|
1862
|
+
|
|
1863
|
+
/* Suggested Filters Styles */
|
|
1864
|
+
.suggestedFiltersContainer {
|
|
1865
|
+
margin: 12px 0 20px;
|
|
1866
|
+
background-color: #f3f4f6;
|
|
1867
|
+
border: 1px solid var(--border-color, #e5e7eb);
|
|
1868
|
+
border-radius: 6px;
|
|
1869
|
+
padding: 12px;
|
|
1870
|
+
}
|
|
1871
|
+
|
|
1872
|
+
.suggestedFiltersHeader {
|
|
1873
|
+
display: flex;
|
|
1874
|
+
justify-content: space-between;
|
|
1875
|
+
align-items: center;
|
|
1876
|
+
margin-bottom: 10px;
|
|
1877
|
+
padding: 6px 0;
|
|
1878
|
+
|
|
1879
|
+
&:hover {
|
|
1880
|
+
background-color: rgba(0, 0, 0, 0.02);
|
|
1881
|
+
}
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1884
|
+
.suggestedFiltersHeaderTitle {
|
|
1885
|
+
display: flex;
|
|
1886
|
+
flex-direction: column;
|
|
1887
|
+
|
|
1888
|
+
h4 {
|
|
1889
|
+
margin: 0;
|
|
1890
|
+
font-size: 0.95em;
|
|
1891
|
+
color: var(--heading-color, #1f2937);
|
|
1892
|
+
font-weight: 600;
|
|
1893
|
+
display: flex;
|
|
1894
|
+
align-items: center;
|
|
1895
|
+
gap: 6px;
|
|
1896
|
+
}
|
|
1897
|
+
|
|
1898
|
+
.suggestedFiltersCount {
|
|
1899
|
+
font-size: 0.85em;
|
|
1900
|
+
color: var(--muted-color, #6b7280);
|
|
1901
|
+
font-weight: normal;
|
|
1902
|
+
}
|
|
1903
|
+
|
|
1904
|
+
small {
|
|
1905
|
+
font-size: 0.8em;
|
|
1906
|
+
color: var(--muted-color, #6b7280);
|
|
1907
|
+
font-style: italic;
|
|
1908
|
+
}
|
|
1909
|
+
}
|
|
1910
|
+
|
|
1911
|
+
.suggestedFiltersCategory {
|
|
1912
|
+
margin-bottom: 12px;
|
|
1913
|
+
|
|
1914
|
+
&:last-child {
|
|
1915
|
+
margin-bottom: 0;
|
|
1916
|
+
}
|
|
1917
|
+
}
|
|
1918
|
+
|
|
1919
|
+
.suggestedFiltersCategoryHeader {
|
|
1920
|
+
font-size: 0.85em;
|
|
1921
|
+
font-weight: 600;
|
|
1922
|
+
color: var(--heading-color, #1f2937);
|
|
1923
|
+
margin-bottom: 6px;
|
|
1924
|
+
padding-bottom: 4px;
|
|
1925
|
+
border-bottom: 1px solid var(--border-color, #e5e7eb);
|
|
1926
|
+
}
|
|
1927
|
+
|
|
1928
|
+
.suggestedFiltersList {
|
|
1929
|
+
display: grid;
|
|
1930
|
+
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
1931
|
+
gap: 8px;
|
|
1932
|
+
}
|
|
1933
|
+
|
|
1934
|
+
.suggestedFilterItem {
|
|
1935
|
+
display: flex;
|
|
1936
|
+
justify-content: space-between;
|
|
1937
|
+
align-items: center;
|
|
1938
|
+
padding: 8px 12px;
|
|
1939
|
+
background-color: white;
|
|
1940
|
+
border: 1px solid var(--border-color, #e5e7eb);
|
|
1941
|
+
border-radius: 4px;
|
|
1942
|
+
cursor: pointer;
|
|
1943
|
+
transition: all 0.2s ease;
|
|
1944
|
+
|
|
1945
|
+
&:hover {
|
|
1946
|
+
background-color: rgba(var(--primary-rgb, 37, 99, 235), 0.05);
|
|
1947
|
+
border-color: var(--primary-color, #2563eb);
|
|
1948
|
+
}
|
|
1949
|
+
}
|
|
1950
|
+
|
|
1951
|
+
.suggestedFilterName {
|
|
1952
|
+
font-size: 0.85em;
|
|
1953
|
+
color: var(--paragraph-color, #4b5563);
|
|
1954
|
+
flex: 1;
|
|
1955
|
+
overflow: hidden;
|
|
1956
|
+
text-overflow: ellipsis;
|
|
1957
|
+
white-space: nowrap;
|
|
1958
|
+
}
|
|
1959
|
+
|
|
1960
|
+
.addSuggestedFilterBtn {
|
|
1961
|
+
background-color: var(--primary-color, #2563eb);
|
|
1962
|
+
color: white;
|
|
1963
|
+
border: none;
|
|
1964
|
+
border-radius: 50%;
|
|
1965
|
+
width: 20px;
|
|
1966
|
+
height: 20px;
|
|
1967
|
+
display: flex;
|
|
1968
|
+
align-items: center;
|
|
1969
|
+
justify-content: center;
|
|
1970
|
+
font-size: 1em;
|
|
1971
|
+
font-weight: bold;
|
|
1972
|
+
cursor: pointer;
|
|
1973
|
+
transition: all 0.2s ease;
|
|
1974
|
+
margin-left: 8px;
|
|
1975
|
+
flex-shrink: 0;
|
|
1976
|
+
|
|
1977
|
+
&:hover {
|
|
1978
|
+
background-color: var(--primary-hover-color, #1d4ed8);
|
|
1979
|
+
transform: scale(1.1);
|
|
1980
|
+
}
|
|
1981
|
+
}
|
|
@@ -88,13 +88,8 @@
|
|
|
88
88
|
background-color: #000000;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
.react-toggle--checked .react-toggle-track {
|
|
92
|
-
background-color: var(--primary-color, #3b82f6);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
91
|
.react-toggle--checked:hover:not(.react-toggle--disabled)
|
|
96
92
|
.react-toggle-track {
|
|
97
|
-
background-color: var(--primary-color, #3b82f6);
|
|
98
93
|
opacity: 0.8;
|
|
99
94
|
}
|
|
100
95
|
|
|
@@ -448,12 +448,7 @@ form div:has(.react-toggle) input[type='checkbox'] {
|
|
|
448
448
|
background-color: #000000;
|
|
449
449
|
}
|
|
450
450
|
|
|
451
|
-
.react-toggle--checked .react-toggle-track {
|
|
452
|
-
background-color: var(--primary-color, #3b82f6);
|
|
453
|
-
}
|
|
454
|
-
|
|
455
451
|
.react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track {
|
|
456
|
-
background-color: var(--primary-color, #3b82f6);
|
|
457
452
|
opacity: 0.8;
|
|
458
453
|
}
|
|
459
454
|
|