@visns-studio/visns-components 5.10.6 → 5.10.8

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.
@@ -1512,38 +1512,36 @@
1512
1512
  }
1513
1513
  }
1514
1514
 
1515
- // Report Section (for sorting and other collapsible sections)
1515
+ // Streamlined Report Section (for sorting and filtering)
1516
1516
  .reportSection {
1517
- margin-bottom: calc(var(--padding) * 1.5);
1518
- background-color: var(--tertiary-color);
1519
- border: 1px solid var(--border-color);
1520
- border-radius: var(--radius);
1521
- overflow: hidden;
1522
- box-shadow: var(--box-shadow-small);
1517
+ margin-bottom: 24px;
1523
1518
  }
1524
1519
 
1525
1520
  .sectionHeader {
1526
1521
  display: flex;
1527
1522
  align-items: center;
1528
1523
  justify-content: space-between;
1529
- padding: var(--padding) calc(var(--padding) * 1.25);
1530
- background-color: var(--bg-color);
1531
- border-bottom: 1px solid var(--border-color);
1532
- cursor: pointer;
1524
+ padding: 16px 20px;
1525
+ background-color: rgba(var(--primary-color), 0.05);
1526
+ border: 1px solid rgba(var(--primary-color), 0.2);
1527
+ border-radius: var(--radius);
1528
+ margin-bottom: 16px;
1533
1529
  transition: all 0.2s ease;
1534
1530
 
1535
1531
  &:hover {
1536
- background-color: rgba(var(--primary-rgb), 0.05);
1532
+ background-color: rgba(var(--primary-color), 0.08);
1533
+ cursor: pointer;
1537
1534
  }
1538
1535
 
1539
1536
  h3 {
1540
1537
  margin: 0;
1541
1538
  font-size: 1.125rem;
1542
- font-weight: var(--title-weight);
1539
+ font-weight: 600;
1543
1540
  color: var(--header-color);
1544
1541
  display: flex;
1545
1542
  align-items: center;
1546
1543
  gap: 8px;
1544
+ cursor: pointer;
1547
1545
  }
1548
1546
  }
1549
1547
 
@@ -1553,58 +1551,53 @@
1553
1551
  gap: 12px;
1554
1552
  }
1555
1553
 
1556
- .toggleBtn {
1554
+ .streamlinedToggle {
1557
1555
  display: flex;
1558
1556
  align-items: center;
1559
- justify-content: center;
1560
- width: 32px;
1561
- height: 32px;
1562
- background-color: var(--tertiary-color);
1563
- border: 1px solid var(--border-color);
1564
- border-radius: var(--radius);
1557
+ gap: 8px;
1558
+ font-size: 0.875rem;
1565
1559
  color: var(--paragraph-color);
1566
1560
  cursor: pointer;
1567
1561
  transition: all 0.2s ease;
1568
- font-size: 14px;
1569
- font-weight: bold;
1570
1562
 
1571
1563
  &:hover {
1572
- background-color: var(--primary-color);
1573
- color: var(--tertiary-color);
1574
- border-color: var(--primary-color);
1564
+ color: var(--primary-color);
1575
1565
  }
1576
1566
 
1577
- &.toggleBtnActive {
1578
- background-color: var(--primary-color);
1579
- color: var(--tertiary-color);
1580
- border-color: var(--primary-color);
1567
+ svg {
1568
+ transition: transform 0.2s ease;
1569
+ }
1570
+
1571
+ &.expanded svg {
1572
+ transform: rotate(180deg);
1581
1573
  }
1582
1574
  }
1583
1575
 
1584
- // Sorting specific styles
1585
- .joinTablesContainer {
1586
- padding: calc(var(--padding) * 1.25);
1576
+ // Streamlined sorting styles
1577
+ .sortingContainer {
1578
+ display: flex;
1579
+ flex-direction: column;
1580
+ gap: 12px;
1587
1581
  }
1588
1582
 
1589
- .joinSection {
1590
- background-color: var(--bg-color);
1583
+ .sortingItem {
1584
+ background-color: var(--tertiary-color);
1591
1585
  border: 1px solid var(--border-color);
1592
1586
  border-radius: var(--radius);
1593
- margin-bottom: var(--padding);
1594
- overflow: hidden;
1587
+ padding: 16px 20px;
1588
+ transition: all 0.2s ease;
1595
1589
 
1596
- &:last-child {
1597
- margin-bottom: 0;
1590
+ &:hover {
1591
+ border-color: var(--primary-color);
1592
+ box-shadow: var(--box-shadow-small);
1598
1593
  }
1599
1594
  }
1600
1595
 
1601
- .joinHeader {
1596
+ .sortingHeader {
1602
1597
  display: flex;
1603
1598
  align-items: center;
1604
1599
  justify-content: space-between;
1605
- padding: 12px var(--padding);
1606
- background-color: var(--tertiary-color);
1607
- border-bottom: 1px solid var(--border-color);
1600
+ margin-bottom: 12px;
1608
1601
 
1609
1602
  h4 {
1610
1603
  margin: 0;
@@ -1614,6 +1607,74 @@
1614
1607
  }
1615
1608
  }
1616
1609
 
1610
+ .sortingControls {
1611
+ display: grid;
1612
+ grid-template-columns: 2fr 1fr 1fr auto;
1613
+ gap: 16px;
1614
+ align-items: end;
1615
+
1616
+ @media (max-width: 768px) {
1617
+ grid-template-columns: 1fr;
1618
+ gap: 12px;
1619
+ }
1620
+ }
1621
+
1622
+ .sortingField {
1623
+ display: flex;
1624
+ flex-direction: column;
1625
+ gap: 6px;
1626
+
1627
+ label {
1628
+ font-size: 0.75rem;
1629
+ font-weight: 500;
1630
+ color: var(--paragraph-color);
1631
+ text-transform: uppercase;
1632
+ letter-spacing: 0.5px;
1633
+ }
1634
+ }
1635
+
1636
+ .sortingSelect {
1637
+ padding: 8px 12px;
1638
+ border: 1px solid var(--border-color);
1639
+ border-radius: var(--radius);
1640
+ background-color: var(--bg-color);
1641
+ font-size: 0.875rem;
1642
+ color: var(--header-color);
1643
+ cursor: pointer;
1644
+ transition: all 0.2s ease;
1645
+
1646
+ &:focus {
1647
+ outline: none;
1648
+ border-color: var(--primary-color);
1649
+ box-shadow: 0 0 0 2px rgba(var(--primary-rgb), 0.1);
1650
+ }
1651
+
1652
+ &:hover {
1653
+ border-color: var(--primary-color);
1654
+ }
1655
+ }
1656
+
1657
+ .removeSortBtn {
1658
+ background: none;
1659
+ border: none;
1660
+ color: var(--approval-color);
1661
+ font-size: 1.25rem;
1662
+ cursor: pointer;
1663
+ padding: 8px;
1664
+ border-radius: var(--radius);
1665
+ transition: all 0.2s ease;
1666
+ width: 36px;
1667
+ height: 36px;
1668
+ display: flex;
1669
+ align-items: center;
1670
+ justify-content: center;
1671
+
1672
+ &:hover {
1673
+ background-color: rgba(var(--approval-color), 0.1);
1674
+ transform: scale(1.1);
1675
+ }
1676
+ }
1677
+
1617
1678
  .joinGrid {
1618
1679
  display: grid;
1619
1680
  grid-template-columns: 1fr 1fr;
@@ -1824,6 +1885,102 @@
1824
1885
  }
1825
1886
  }
1826
1887
 
1888
+ .btnCancel {
1889
+ background-color: #dc2626;
1890
+ color: var(--tertiary-color);
1891
+ box-shadow: 0 2px 4px rgba(220, 38, 38, 0.2);
1892
+
1893
+ &:hover:not(:disabled) {
1894
+ background-color: #b91c1c;
1895
+ box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3);
1896
+ transform: translateY(-1px);
1897
+ }
1898
+
1899
+ &:focus {
1900
+ outline-color: rgba(220, 38, 38, 0.5);
1901
+ }
1902
+ }
1903
+
1904
+ .btnPrevious {
1905
+ background-color: #6b7280;
1906
+ color: var(--tertiary-color);
1907
+ box-shadow: 0 2px 4px rgba(107, 114, 128, 0.2);
1908
+
1909
+ &:hover:not(:disabled) {
1910
+ background-color: #4b5563;
1911
+ box-shadow: 0 4px 12px rgba(107, 114, 128, 0.3);
1912
+ transform: translateY(-1px);
1913
+ }
1914
+
1915
+ &:focus {
1916
+ outline-color: rgba(107, 114, 128, 0.5);
1917
+ }
1918
+ }
1919
+
1920
+ .btnStartAgain {
1921
+ background-color: #ea580c;
1922
+ color: var(--tertiary-color);
1923
+ box-shadow: 0 2px 4px rgba(234, 88, 12, 0.2);
1924
+
1925
+ &:hover:not(:disabled) {
1926
+ background-color: #c2410c;
1927
+ box-shadow: 0 4px 12px rgba(234, 88, 12, 0.3);
1928
+ transform: translateY(-1px);
1929
+ }
1930
+
1931
+ &:focus {
1932
+ outline-color: rgba(234, 88, 12, 0.5);
1933
+ }
1934
+ }
1935
+
1936
+ .btnExportExcel {
1937
+ background-color: #059669;
1938
+ color: var(--tertiary-color);
1939
+ box-shadow: 0 2px 4px rgba(5, 150, 105, 0.2);
1940
+
1941
+ &:hover:not(:disabled) {
1942
+ background-color: #047857;
1943
+ box-shadow: 0 4px 12px rgba(5, 150, 105, 0.3);
1944
+ transform: translateY(-1px);
1945
+ }
1946
+
1947
+ &:focus {
1948
+ outline-color: rgba(5, 150, 105, 0.5);
1949
+ }
1950
+ }
1951
+
1952
+ .btnExportCsv {
1953
+ background-color: #2563eb;
1954
+ color: var(--tertiary-color);
1955
+ box-shadow: 0 2px 4px rgba(37, 99, 235, 0.2);
1956
+
1957
+ &:hover:not(:disabled) {
1958
+ background-color: #1d4ed8;
1959
+ box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
1960
+ transform: translateY(-1px);
1961
+ }
1962
+
1963
+ &:focus {
1964
+ outline-color: rgba(37, 99, 235, 0.5);
1965
+ }
1966
+ }
1967
+
1968
+ .btnExportPdf {
1969
+ background-color: #dc2626;
1970
+ color: var(--tertiary-color);
1971
+ box-shadow: 0 2px 4px rgba(220, 38, 38, 0.2);
1972
+
1973
+ &:hover:not(:disabled) {
1974
+ background-color: #b91c1c;
1975
+ box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3);
1976
+ transform: translateY(-1px);
1977
+ }
1978
+
1979
+ &:focus {
1980
+ outline-color: rgba(220, 38, 38, 0.5);
1981
+ }
1982
+ }
1983
+
1827
1984
  .btnSuccess {
1828
1985
  background-color: rgba(var(--color-valid), 1);
1829
1986
  color: var(--tertiary-color);
@@ -1905,7 +2062,7 @@
1905
2062
  }
1906
2063
  }
1907
2064
 
1908
- .suggestedJoins {
2065
+ .detectedJoins {
1909
2066
  margin-bottom: 24px;
1910
2067
 
1911
2068
  h3 {
@@ -1921,15 +2078,25 @@
1921
2078
  }
1922
2079
  }
1923
2080
 
1924
- .suggestionCard {
2081
+ .detectionsGrid {
2082
+ display: grid;
2083
+ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
2084
+ gap: 12px;
2085
+
2086
+ @media (max-width: 768px) {
2087
+ grid-template-columns: 1fr;
2088
+ }
2089
+ }
2090
+
2091
+ .detectionCard {
1925
2092
  display: flex;
1926
2093
  align-items: center;
1927
2094
  justify-content: space-between;
1928
- padding: 16px;
2095
+ padding: 12px;
1929
2096
  background-color: var(--tertiary-color);
1930
2097
  border: 2px solid var(--border-color);
1931
2098
  border-radius: var(--radius);
1932
- margin-bottom: 12px;
2099
+ margin-bottom: 0;
1933
2100
  transition: all 0.2s ease;
1934
2101
 
1935
2102
  &:hover {
@@ -1937,10 +2104,10 @@
1937
2104
  box-shadow: var(--box-shadow-small);
1938
2105
  }
1939
2106
 
1940
- .suggestionInfo {
2107
+ .detectionInfo {
1941
2108
  flex: 1;
1942
2109
 
1943
- .suggestionTitle {
2110
+ .detectionTitle {
1944
2111
  display: flex;
1945
2112
  align-items: center;
1946
2113
  gap: 8px;
@@ -1961,12 +2128,55 @@
1961
2128
  }
1962
2129
  }
1963
2130
 
1964
- .suggestionDescription {
2131
+ .detectionDescription {
1965
2132
  margin: 0;
1966
2133
  font-size: 0.875rem;
1967
2134
  color: var(--paragraph-color);
1968
2135
  }
1969
2136
  }
2137
+
2138
+ .connectIconBtn {
2139
+ display: flex;
2140
+ align-items: center;
2141
+ justify-content: center;
2142
+ width: 40px;
2143
+ height: 40px;
2144
+ border: 2px solid var(--primary-color);
2145
+ border-radius: 50%;
2146
+ background-color: transparent;
2147
+ color: var(--primary-color);
2148
+ cursor: pointer;
2149
+ transition: all 0.2s ease;
2150
+ flex-shrink: 0;
2151
+
2152
+ &:hover:not(:disabled) {
2153
+ background-color: var(--primary-color);
2154
+ color: var(--tertiary-color);
2155
+ transform: scale(1.05);
2156
+ }
2157
+
2158
+ &:disabled {
2159
+ opacity: 0.5;
2160
+ cursor: not-allowed;
2161
+ transform: none !important;
2162
+ }
2163
+
2164
+ &.connected {
2165
+ background-color: rgba(var(--color-valid), 1);
2166
+ border-color: rgba(var(--color-valid), 1);
2167
+ color: var(--tertiary-color);
2168
+
2169
+ &:hover {
2170
+ background-color: rgba(var(--color-valid), 0.8);
2171
+ border-color: rgba(var(--color-valid), 0.8);
2172
+ transform: none;
2173
+ }
2174
+ }
2175
+
2176
+ svg {
2177
+ flex-shrink: 0;
2178
+ }
2179
+ }
1970
2180
  }
1971
2181
 
1972
2182
  .currentFilters {
@@ -2002,6 +2212,33 @@
2002
2212
  }
2003
2213
  }
2004
2214
 
2215
+ .advancedWarning {
2216
+ display: flex;
2217
+ align-items: flex-start;
2218
+ gap: 8px;
2219
+ padding: 12px;
2220
+ background-color: rgba(251, 146, 60, 0.1);
2221
+ border: 1px solid rgba(251, 146, 60, 0.3);
2222
+ border-radius: var(--radius);
2223
+ margin-bottom: 16px;
2224
+
2225
+ svg {
2226
+ color: #f59e0b;
2227
+ flex-shrink: 0;
2228
+ margin-top: 2px;
2229
+ }
2230
+
2231
+ span {
2232
+ font-size: 0.875rem;
2233
+ color: var(--header-color);
2234
+ line-height: 1.4;
2235
+
2236
+ strong {
2237
+ color: #f59e0b;
2238
+ }
2239
+ }
2240
+ }
2241
+
2005
2242
  .manualJoinForm {
2006
2243
  background-color: var(--tertiary-color);
2007
2244
  padding: 20px;
@@ -2128,6 +2365,121 @@
2128
2365
  }
2129
2366
  }
2130
2367
 
2368
+ // Smart Suggestions Styling
2369
+ .smartSuggestionsContainer {
2370
+ background-color: var(--bg-color);
2371
+ border-radius: var(--radius);
2372
+ padding: 20px;
2373
+ border: 1px solid var(--border-color);
2374
+ margin-bottom: 16px;
2375
+ }
2376
+
2377
+ .suggestionsIntro {
2378
+ margin: 0 0 16px 0;
2379
+ font-size: 0.875rem;
2380
+ color: var(--paragraph-color);
2381
+ line-height: 1.4;
2382
+ }
2383
+
2384
+ .suggestionsCount {
2385
+ font-size: 0.75rem;
2386
+ color: var(--paragraph-color);
2387
+ background-color: var(--bg-color);
2388
+ padding: 4px 8px;
2389
+ border-radius: var(--radius);
2390
+ border: 1px solid var(--border-color);
2391
+ }
2392
+
2393
+ .suggestionsGrid {
2394
+ display: grid;
2395
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
2396
+ gap: 16px;
2397
+
2398
+ @media (max-width: 768px) {
2399
+ grid-template-columns: 1fr;
2400
+ }
2401
+ }
2402
+
2403
+ .suggestionCard {
2404
+ background-color: var(--tertiary-color);
2405
+ border: 2px solid var(--border-color);
2406
+ border-radius: var(--radius);
2407
+ padding: 16px;
2408
+ transition: all 0.2s ease;
2409
+
2410
+ &:hover {
2411
+ border-color: var(--primary-color);
2412
+ box-shadow: var(--box-shadow-small);
2413
+ transform: translateY(-1px);
2414
+ }
2415
+ }
2416
+
2417
+ .suggestionHeader {
2418
+ display: flex;
2419
+ align-items: center;
2420
+ justify-content: space-between;
2421
+ margin-bottom: 8px;
2422
+ }
2423
+
2424
+ .suggestionTitle {
2425
+ font-size: 0.875rem;
2426
+ font-weight: 600;
2427
+ color: var(--header-color);
2428
+ }
2429
+
2430
+ .suggestionType {
2431
+ font-size: 0.75rem;
2432
+ padding: 2px 8px;
2433
+ border-radius: var(--radius);
2434
+ background-color: var(--primary-color);
2435
+ color: var(--tertiary-color);
2436
+ text-transform: uppercase;
2437
+ letter-spacing: 0.5px;
2438
+ font-weight: 500;
2439
+ }
2440
+
2441
+ .suggestionDescription {
2442
+ margin: 0 0 12px 0;
2443
+ font-size: 0.8rem;
2444
+ color: var(--paragraph-color);
2445
+ line-height: 1.3;
2446
+ }
2447
+
2448
+ .suggestionActions {
2449
+ display: flex;
2450
+ align-items: center;
2451
+ justify-content: space-between;
2452
+ gap: 12px;
2453
+
2454
+ .btn {
2455
+ padding: 6px 12px;
2456
+ font-size: 0.75rem;
2457
+ min-height: 32px;
2458
+ flex-shrink: 0;
2459
+
2460
+ &:disabled {
2461
+ background-color: rgba(var(--color-valid), 1);
2462
+ color: var(--tertiary-color);
2463
+ cursor: default;
2464
+ transform: none !important;
2465
+ }
2466
+ }
2467
+ }
2468
+
2469
+ .suggestionReasoning {
2470
+ font-size: 0.7rem;
2471
+ color: var(--paragraph-color);
2472
+ font-style: italic;
2473
+ flex: 1;
2474
+ text-align: right;
2475
+ }
2476
+
2477
+ // SweetAlert button sizing fix
2478
+ :global(.swal-button-fixed-width) {
2479
+ min-width: 120px !important;
2480
+ white-space: nowrap !important;
2481
+ }
2482
+
2131
2483
  // Responsive design
2132
2484
  @media (max-width: 768px) {
2133
2485
  .header {