@mshuja288/aksuicore 0.4.0 → 0.4.2

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/CHANGELOG.md CHANGED
@@ -7,6 +7,17 @@ Versioning follows [VERSIONING.md](./VERSIONING.md).
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.4.1] — 2026-10-12
11
+
12
+ ### Fixed
13
+
14
+ - Row ⋯ menu no longer hidden under the hover tooltip (portal + higher z-index; tooltips only on fine-pointer hover)
15
+ - Mobile tools no longer render as a sprawling icon strip above the table
16
+
17
+ ### Changed
18
+
19
+ - Small screens: compact **Add + Tools** bar; Tools opens a right-side drawer (preview, columns, download, filters)
20
+
10
21
  ## [0.4.0] — 2026-10-12
11
22
 
12
23
  ### Added
package/dist/aksui.css CHANGED
@@ -111,7 +111,9 @@ button.side-rail-icon:hover,
111
111
  button.side-rail-columns-toggle:hover,
112
112
  button.filter-clear:hover,
113
113
  button.snackbar-close:hover,
114
- button.nav-drawer-close:hover {
114
+ button.nav-drawer-close:hover,
115
+ button.tools-mobile-toggle:hover,
116
+ button.tools-drawer-close:hover {
115
117
  transform: none;
116
118
  }
117
119
 
@@ -1220,7 +1222,8 @@ button.side-rail-add:hover {
1220
1222
  }
1221
1223
 
1222
1224
  .side-rail-columns,
1223
- .side-rail-download {
1225
+ .side-rail-download,
1226
+ .side-rail-bulk {
1224
1227
  display: grid;
1225
1228
  gap: 8px;
1226
1229
  }
@@ -1348,6 +1351,79 @@ button.side-rail-download-format:disabled {
1348
1351
  cursor: default;
1349
1352
  }
1350
1353
 
1354
+ button.side-rail-bulk-toggle {
1355
+ display: inline-flex;
1356
+ align-items: center;
1357
+ justify-content: center;
1358
+ gap: 8px;
1359
+ width: 100%;
1360
+ padding: 10px 12px;
1361
+ border: 1px solid var(--aks-border, #d7dde5);
1362
+ border-radius: var(--aks-radius);
1363
+ background: #fff;
1364
+ color: var(--aks-brand);
1365
+ box-shadow: none;
1366
+ }
1367
+
1368
+ button.side-rail-bulk-toggle svg {
1369
+ width: 18px;
1370
+ height: 18px;
1371
+ }
1372
+
1373
+ button.side-rail-bulk-toggle:hover:not(:disabled) {
1374
+ background: #f5f7fa;
1375
+ }
1376
+
1377
+ button.side-rail-bulk-toggle:disabled {
1378
+ opacity: 0.55;
1379
+ cursor: default;
1380
+ }
1381
+
1382
+ .side-rail-bulk-panel {
1383
+ display: grid;
1384
+ gap: 10px;
1385
+ padding: 8px;
1386
+ border: 1px solid var(--aks-line);
1387
+ border-radius: var(--aks-radius);
1388
+ background: #faf9f7;
1389
+ }
1390
+
1391
+ label.side-rail-bulk-mode,
1392
+ label.side-rail-bulk-file {
1393
+ display: grid;
1394
+ gap: 6px;
1395
+ margin: 0;
1396
+ font-size: 13px;
1397
+ font-weight: 600;
1398
+ color: var(--aks-brand);
1399
+ }
1400
+
1401
+ button.side-rail-bulk-submit {
1402
+ width: 100%;
1403
+ padding: 10px 12px;
1404
+ border: none;
1405
+ border-radius: var(--aks-radius);
1406
+ background: var(--aks-accent, #c45c26);
1407
+ color: #fff;
1408
+ font-weight: 600;
1409
+ box-shadow: none;
1410
+ }
1411
+
1412
+ button.side-rail-bulk-submit:disabled {
1413
+ opacity: 0.5;
1414
+ cursor: default;
1415
+ }
1416
+
1417
+ .side-rail-bulk-report {
1418
+ font-size: 12px;
1419
+ color: var(--aks-brand);
1420
+ }
1421
+
1422
+ .side-rail-bulk-errors {
1423
+ margin: 6px 0 0;
1424
+ padding-left: 18px;
1425
+ }
1426
+
1351
1427
  .side-rail-filters {
1352
1428
  display: grid;
1353
1429
  gap: 12px;
@@ -1551,7 +1627,6 @@ button.sort-header.active .sort-indicator {
1551
1627
 
1552
1628
  .row-actions-mobile {
1553
1629
  display: none;
1554
- position: relative;
1555
1630
  }
1556
1631
 
1557
1632
  button.row-action-menu-trigger {
@@ -1567,7 +1642,8 @@ button.row-action-menu-trigger svg {
1567
1642
  height: 18px;
1568
1643
  }
1569
1644
 
1570
- button.row-action-menu-trigger:hover {
1645
+ button.row-action-menu-trigger:hover,
1646
+ button.row-action-menu-trigger.open {
1571
1647
  transform: none;
1572
1648
  background: #f4f2ef;
1573
1649
  color: var(--aks-brand);
@@ -1575,12 +1651,8 @@ button.row-action-menu-trigger:hover {
1575
1651
  }
1576
1652
 
1577
1653
  .row-action-menu {
1578
- position: absolute;
1579
- top: calc(100% + 4px);
1580
- right: 0;
1581
- z-index: 5;
1582
1654
  display: grid;
1583
- min-width: 132px;
1655
+ min-width: 160px;
1584
1656
  padding: 6px;
1585
1657
  border: 1px solid var(--aks-line);
1586
1658
  border-radius: var(--aks-radius);
@@ -1588,10 +1660,15 @@ button.row-action-menu-trigger:hover {
1588
1660
  box-shadow: 0 12px 28px rgba(30, 39, 53, 0.14);
1589
1661
  }
1590
1662
 
1663
+ .row-action-menu-portal {
1664
+ position: fixed;
1665
+ z-index: 90;
1666
+ }
1667
+
1591
1668
  .row-action-menu button {
1592
1669
  justify-content: flex-start;
1593
1670
  width: 100%;
1594
- padding: 8px 10px;
1671
+ padding: 10px 12px;
1595
1672
  font-size: 13px;
1596
1673
  font-weight: 600;
1597
1674
  color: var(--aks-brand);
@@ -1608,6 +1685,13 @@ button.row-action-menu-trigger:hover {
1608
1685
  box-shadow: none;
1609
1686
  }
1610
1687
 
1688
+ /* Mobile tools bar + right drawer — hidden on desktop */
1689
+ .tools-mobile-bar,
1690
+ .tools-drawer-backdrop,
1691
+ .tools-drawer {
1692
+ display: none;
1693
+ }
1694
+
1611
1695
  button.row-action {
1612
1696
  padding: 4px 8px;
1613
1697
  font-size: 12px;
@@ -1705,6 +1789,95 @@ button.row-action.danger:not(:disabled):hover {
1705
1789
  }
1706
1790
 
1707
1791
  @media (max-width: 900px) {
1792
+ .list-workspace {
1793
+ gap: 10px;
1794
+ }
1795
+
1796
+ .tools-mobile-bar {
1797
+ display: flex;
1798
+ align-items: center;
1799
+ justify-content: space-between;
1800
+ gap: 10px;
1801
+ flex: 0 0 auto;
1802
+ min-height: 48px;
1803
+ padding: 6px 8px 6px 10px;
1804
+ border: 1px solid var(--aks-line);
1805
+ border-radius: var(--aks-radius);
1806
+ background: #fff;
1807
+ }
1808
+
1809
+ .tools-mobile-bar-start {
1810
+ min-width: 0;
1811
+ flex: 1 1 auto;
1812
+ }
1813
+
1814
+ .tools-mobile-title {
1815
+ margin: 0;
1816
+ color: var(--aks-brand);
1817
+ font-size: 13px;
1818
+ font-weight: 700;
1819
+ white-space: nowrap;
1820
+ overflow: hidden;
1821
+ text-overflow: ellipsis;
1822
+ }
1823
+
1824
+ button.tools-mobile-add {
1825
+ display: inline-flex;
1826
+ align-items: center;
1827
+ gap: 6px;
1828
+ min-height: 36px;
1829
+ padding: 6px 12px;
1830
+ border-radius: var(--aks-radius);
1831
+ background: var(--aks-brand);
1832
+ color: #fff;
1833
+ font-size: 13px;
1834
+ font-weight: 600;
1835
+ box-shadow: none;
1836
+ }
1837
+
1838
+ button.tools-mobile-add svg {
1839
+ width: 16px;
1840
+ height: 16px;
1841
+ }
1842
+
1843
+ button.tools-mobile-add:hover {
1844
+ transform: none;
1845
+ background: #2a3546;
1846
+ box-shadow: none;
1847
+ }
1848
+
1849
+ button.tools-mobile-toggle {
1850
+ position: relative;
1851
+ display: inline-flex;
1852
+ align-items: center;
1853
+ gap: 6px;
1854
+ min-height: 36px;
1855
+ padding: 6px 12px;
1856
+ border: 1px solid var(--aks-line);
1857
+ border-radius: var(--aks-radius);
1858
+ background: #faf9f7;
1859
+ color: var(--aks-brand);
1860
+ font-size: 13px;
1861
+ font-weight: 600;
1862
+ box-shadow: none;
1863
+ }
1864
+
1865
+ button.tools-mobile-toggle svg {
1866
+ width: 16px;
1867
+ height: 16px;
1868
+ }
1869
+
1870
+ button.tools-mobile-toggle:hover {
1871
+ transform: none;
1872
+ background: #f0eeea;
1873
+ box-shadow: none;
1874
+ }
1875
+
1876
+ button.tools-mobile-toggle .filter-badge {
1877
+ position: static;
1878
+ margin-left: 2px;
1879
+ }
1880
+
1708
1881
  .list-body {
1709
1882
  flex-direction: column;
1710
1883
  }
@@ -1714,30 +1887,101 @@ button.row-action.danger:not(:disabled):hover {
1714
1887
  flex-direction: column;
1715
1888
  }
1716
1889
 
1717
- .preview-panel,
1718
- .side-rail,
1719
- .side-rail.open {
1720
- width: 100%;
1721
- flex-basis: auto;
1890
+ /* Desktop side-rail becomes a right drawer on small screens */
1891
+ .list-body > .side-rail {
1892
+ display: none;
1722
1893
  }
1723
1894
 
1724
- .side-rail:not(.open) {
1725
- flex-direction: row;
1726
- align-items: center;
1895
+ .preview-panel {
1727
1896
  width: 100%;
1728
1897
  flex-basis: auto;
1729
- order: -1;
1898
+ order: 2;
1730
1899
  }
1731
1900
 
1732
- .side-rail:not(.open) .side-rail-icons {
1733
- display: inline-flex;
1734
- flex-wrap: wrap;
1735
- margin-left: auto;
1736
- gap: 4px;
1901
+ .tools-drawer-backdrop {
1902
+ display: block;
1903
+ position: fixed;
1904
+ inset: 0;
1905
+ z-index: 55;
1906
+ border: 0;
1907
+ padding: 0;
1908
+ margin: 0;
1909
+ background: rgba(30, 39, 53, 0.42);
1910
+ opacity: 0;
1911
+ pointer-events: none;
1912
+ transition: opacity 160ms ease;
1913
+ box-shadow: none;
1914
+ }
1915
+
1916
+ .tools-drawer-backdrop.open {
1917
+ opacity: 1;
1918
+ pointer-events: auto;
1919
+ }
1920
+
1921
+ .tools-drawer {
1922
+ display: flex;
1923
+ flex-direction: column;
1924
+ position: fixed;
1925
+ top: 0;
1926
+ right: 0;
1927
+ bottom: 0;
1928
+ z-index: 60;
1929
+ width: min(320px, calc(100vw - 40px));
1930
+ background: #fff;
1931
+ border-left: 1px solid var(--aks-line);
1932
+ box-shadow: -12px 0 32px rgba(30, 39, 53, 0.18);
1933
+ transform: translateX(105%);
1934
+ transition: transform 180ms ease;
1935
+ pointer-events: none;
1936
+ }
1937
+
1938
+ .tools-drawer.open {
1939
+ transform: translateX(0);
1940
+ pointer-events: auto;
1941
+ }
1942
+
1943
+ .tools-drawer-head {
1944
+ display: flex;
1945
+ align-items: flex-start;
1946
+ justify-content: space-between;
1947
+ gap: 12px;
1948
+ flex: 0 0 auto;
1949
+ padding: 16px 16px 12px;
1950
+ border-bottom: 1px solid var(--aks-line);
1951
+ background: #faf9f7;
1952
+ }
1953
+
1954
+ .tools-drawer-kicker {
1955
+ margin: 0;
1956
+ color: var(--aks-accent);
1957
+ font-size: 11px;
1958
+ font-weight: 700;
1959
+ letter-spacing: 0.06em;
1960
+ text-transform: uppercase;
1961
+ }
1962
+
1963
+ .tools-drawer-head h3 {
1964
+ margin: 2px 0 0;
1965
+ color: var(--aks-brand);
1966
+ font-size: 16px;
1967
+ font-weight: 700;
1968
+ }
1969
+
1970
+ button.tools-drawer-close {
1971
+ padding: 6px 10px;
1972
+ font-size: 12px;
1973
+ box-shadow: none;
1974
+ }
1975
+
1976
+ .tools-drawer-body {
1977
+ flex: 1 1 auto;
1978
+ min-height: 0;
1979
+ overflow: auto;
1980
+ padding: 14px;
1737
1981
  }
1738
1982
 
1739
- .side-rail.open {
1740
- order: -1;
1983
+ .tools-drawer-body .side-rail-body {
1984
+ padding: 0;
1741
1985
  }
1742
1986
 
1743
1987
  .table-card-bar {