@keenmate/pure-admin-core 1.0.0-rc06 → 1.0.0
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/css/main.css +520 -20
- package/package.json +1 -1
- package/snippets/layout.html +66 -0
- package/src/scss/core-components/_grid.scss +25 -0
- package/src/scss/core-components/_notifications.scss +67 -0
- package/src/scss/core-components/_profile.scss +12 -2
- package/src/scss/core-components/_scrollbars.scss +3 -4
- package/src/scss/core-components/_utilities.scss +24 -0
- package/src/scss/core-components/forms/_input-groups.scss +13 -11
- package/src/scss/core-components/layout/_layout-container.scss +32 -0
- package/src/scss/core-components/layout/_sidebar.scss +53 -2
- package/src/scss/utilities.scss +57 -2
package/dist/css/main.css
CHANGED
|
@@ -956,6 +956,10 @@
|
|
|
956
956
|
width: auto !important;
|
|
957
957
|
}
|
|
958
958
|
|
|
959
|
+
.w-1-2 {
|
|
960
|
+
width: 50% !important;
|
|
961
|
+
}
|
|
962
|
+
|
|
959
963
|
.w-1-3 {
|
|
960
964
|
width: 33.333333% !important;
|
|
961
965
|
}
|
|
@@ -964,6 +968,14 @@
|
|
|
964
968
|
width: 66.666667% !important;
|
|
965
969
|
}
|
|
966
970
|
|
|
971
|
+
.w-1-4 {
|
|
972
|
+
width: 25% !important;
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
.w-3-4 {
|
|
976
|
+
width: 75% !important;
|
|
977
|
+
}
|
|
978
|
+
|
|
967
979
|
.mw-25 {
|
|
968
980
|
min-width: 25% !important;
|
|
969
981
|
}
|
|
@@ -984,6 +996,10 @@
|
|
|
984
996
|
min-width: auto !important;
|
|
985
997
|
}
|
|
986
998
|
|
|
999
|
+
.mw-1-2 {
|
|
1000
|
+
min-width: 50% !important;
|
|
1001
|
+
}
|
|
1002
|
+
|
|
987
1003
|
.mw-1-3 {
|
|
988
1004
|
min-width: 33.333333% !important;
|
|
989
1005
|
}
|
|
@@ -992,6 +1008,14 @@
|
|
|
992
1008
|
min-width: 66.666667% !important;
|
|
993
1009
|
}
|
|
994
1010
|
|
|
1011
|
+
.mw-1-4 {
|
|
1012
|
+
min-width: 25% !important;
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1015
|
+
.mw-3-4 {
|
|
1016
|
+
min-width: 75% !important;
|
|
1017
|
+
}
|
|
1018
|
+
|
|
995
1019
|
.w-25-fixed {
|
|
996
1020
|
min-width: 25% !important;
|
|
997
1021
|
width: 25% !important;
|
|
@@ -1012,6 +1036,11 @@
|
|
|
1012
1036
|
width: 100% !important;
|
|
1013
1037
|
}
|
|
1014
1038
|
|
|
1039
|
+
.w-1-2-fixed {
|
|
1040
|
+
min-width: 50% !important;
|
|
1041
|
+
width: 50% !important;
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1015
1044
|
.w-1-3-fixed {
|
|
1016
1045
|
min-width: 33.333333% !important;
|
|
1017
1046
|
width: 33.333333% !important;
|
|
@@ -1022,6 +1051,16 @@
|
|
|
1022
1051
|
width: 66.666667% !important;
|
|
1023
1052
|
}
|
|
1024
1053
|
|
|
1054
|
+
.w-1-4-fixed {
|
|
1055
|
+
min-width: 25% !important;
|
|
1056
|
+
width: 25% !important;
|
|
1057
|
+
}
|
|
1058
|
+
|
|
1059
|
+
.w-3-4-fixed {
|
|
1060
|
+
min-width: 75% !important;
|
|
1061
|
+
width: 75% !important;
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1025
1064
|
.h-25 {
|
|
1026
1065
|
height: 25% !important;
|
|
1027
1066
|
}
|
|
@@ -1042,6 +1081,26 @@
|
|
|
1042
1081
|
height: auto !important;
|
|
1043
1082
|
}
|
|
1044
1083
|
|
|
1084
|
+
.h-1-2 {
|
|
1085
|
+
height: 50% !important;
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
.h-1-3 {
|
|
1089
|
+
height: 33.333333% !important;
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
.h-2-3 {
|
|
1093
|
+
height: 66.666667% !important;
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
.h-1-4 {
|
|
1097
|
+
height: 25% !important;
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
.h-3-4 {
|
|
1101
|
+
height: 75% !important;
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1045
1104
|
.wr-1 {
|
|
1046
1105
|
width: 1rem !important;
|
|
1047
1106
|
}
|
|
@@ -1094,6 +1153,26 @@
|
|
|
1094
1153
|
width: 25rem !important;
|
|
1095
1154
|
}
|
|
1096
1155
|
|
|
1156
|
+
.wr-30 {
|
|
1157
|
+
width: 30rem !important;
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
.wr-35 {
|
|
1161
|
+
width: 35rem !important;
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
.wr-40 {
|
|
1165
|
+
width: 40rem !important;
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
.wr-45 {
|
|
1169
|
+
width: 45rem !important;
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
.wr-50 {
|
|
1173
|
+
width: 50rem !important;
|
|
1174
|
+
}
|
|
1175
|
+
|
|
1097
1176
|
.minwr-1 {
|
|
1098
1177
|
min-width: 1rem !important;
|
|
1099
1178
|
}
|
|
@@ -1146,6 +1225,26 @@
|
|
|
1146
1225
|
min-width: 25rem !important;
|
|
1147
1226
|
}
|
|
1148
1227
|
|
|
1228
|
+
.minwr-30 {
|
|
1229
|
+
min-width: 30rem !important;
|
|
1230
|
+
}
|
|
1231
|
+
|
|
1232
|
+
.minwr-35 {
|
|
1233
|
+
min-width: 35rem !important;
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1236
|
+
.minwr-40 {
|
|
1237
|
+
min-width: 40rem !important;
|
|
1238
|
+
}
|
|
1239
|
+
|
|
1240
|
+
.minwr-45 {
|
|
1241
|
+
min-width: 45rem !important;
|
|
1242
|
+
}
|
|
1243
|
+
|
|
1244
|
+
.minwr-50 {
|
|
1245
|
+
min-width: 50rem !important;
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1149
1248
|
.maxwr-1 {
|
|
1150
1249
|
max-width: 1rem !important;
|
|
1151
1250
|
}
|
|
@@ -1198,6 +1297,26 @@
|
|
|
1198
1297
|
max-width: 25rem !important;
|
|
1199
1298
|
}
|
|
1200
1299
|
|
|
1300
|
+
.maxwr-30 {
|
|
1301
|
+
max-width: 30rem !important;
|
|
1302
|
+
}
|
|
1303
|
+
|
|
1304
|
+
.maxwr-35 {
|
|
1305
|
+
max-width: 35rem !important;
|
|
1306
|
+
}
|
|
1307
|
+
|
|
1308
|
+
.maxwr-40 {
|
|
1309
|
+
max-width: 40rem !important;
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
.maxwr-45 {
|
|
1313
|
+
max-width: 45rem !important;
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1316
|
+
.maxwr-50 {
|
|
1317
|
+
max-width: 50rem !important;
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1201
1320
|
.hr-1 {
|
|
1202
1321
|
height: 1rem !important;
|
|
1203
1322
|
}
|
|
@@ -1250,6 +1369,26 @@
|
|
|
1250
1369
|
height: 25rem !important;
|
|
1251
1370
|
}
|
|
1252
1371
|
|
|
1372
|
+
.hr-30 {
|
|
1373
|
+
height: 30rem !important;
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1376
|
+
.hr-35 {
|
|
1377
|
+
height: 35rem !important;
|
|
1378
|
+
}
|
|
1379
|
+
|
|
1380
|
+
.hr-40 {
|
|
1381
|
+
height: 40rem !important;
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1384
|
+
.hr-45 {
|
|
1385
|
+
height: 45rem !important;
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1388
|
+
.hr-50 {
|
|
1389
|
+
height: 50rem !important;
|
|
1390
|
+
}
|
|
1391
|
+
|
|
1253
1392
|
.minhr-1 {
|
|
1254
1393
|
min-height: 1rem !important;
|
|
1255
1394
|
}
|
|
@@ -1302,6 +1441,26 @@
|
|
|
1302
1441
|
min-height: 25rem !important;
|
|
1303
1442
|
}
|
|
1304
1443
|
|
|
1444
|
+
.minhr-30 {
|
|
1445
|
+
min-height: 30rem !important;
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
.minhr-35 {
|
|
1449
|
+
min-height: 35rem !important;
|
|
1450
|
+
}
|
|
1451
|
+
|
|
1452
|
+
.minhr-40 {
|
|
1453
|
+
min-height: 40rem !important;
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
.minhr-45 {
|
|
1457
|
+
min-height: 45rem !important;
|
|
1458
|
+
}
|
|
1459
|
+
|
|
1460
|
+
.minhr-50 {
|
|
1461
|
+
min-height: 50rem !important;
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1305
1464
|
.maxhr-1 {
|
|
1306
1465
|
max-height: 1rem !important;
|
|
1307
1466
|
}
|
|
@@ -1354,6 +1513,26 @@
|
|
|
1354
1513
|
max-height: 25rem !important;
|
|
1355
1514
|
}
|
|
1356
1515
|
|
|
1516
|
+
.maxhr-30 {
|
|
1517
|
+
max-height: 30rem !important;
|
|
1518
|
+
}
|
|
1519
|
+
|
|
1520
|
+
.maxhr-35 {
|
|
1521
|
+
max-height: 35rem !important;
|
|
1522
|
+
}
|
|
1523
|
+
|
|
1524
|
+
.maxhr-40 {
|
|
1525
|
+
max-height: 40rem !important;
|
|
1526
|
+
}
|
|
1527
|
+
|
|
1528
|
+
.maxhr-45 {
|
|
1529
|
+
max-height: 45rem !important;
|
|
1530
|
+
}
|
|
1531
|
+
|
|
1532
|
+
.maxhr-50 {
|
|
1533
|
+
max-height: 50rem !important;
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1357
1536
|
.minw-5 {
|
|
1358
1537
|
min-width: 5% !important;
|
|
1359
1538
|
}
|
|
@@ -1522,6 +1701,10 @@
|
|
|
1522
1701
|
max-width: 100% !important;
|
|
1523
1702
|
}
|
|
1524
1703
|
|
|
1704
|
+
.maxw-1-2 {
|
|
1705
|
+
max-width: 50% !important;
|
|
1706
|
+
}
|
|
1707
|
+
|
|
1525
1708
|
.maxw-1-3 {
|
|
1526
1709
|
max-width: 33.333333% !important;
|
|
1527
1710
|
}
|
|
@@ -1530,6 +1713,14 @@
|
|
|
1530
1713
|
max-width: 66.666667% !important;
|
|
1531
1714
|
}
|
|
1532
1715
|
|
|
1716
|
+
.maxw-1-4 {
|
|
1717
|
+
max-width: 25% !important;
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
.maxw-3-4 {
|
|
1721
|
+
max-width: 75% !important;
|
|
1722
|
+
}
|
|
1723
|
+
|
|
1533
1724
|
.minh-5 {
|
|
1534
1725
|
min-height: 5% !important;
|
|
1535
1726
|
}
|
|
@@ -1610,6 +1801,10 @@
|
|
|
1610
1801
|
min-height: 100% !important;
|
|
1611
1802
|
}
|
|
1612
1803
|
|
|
1804
|
+
.minh-1-2 {
|
|
1805
|
+
min-height: 50% !important;
|
|
1806
|
+
}
|
|
1807
|
+
|
|
1613
1808
|
.minh-1-3 {
|
|
1614
1809
|
min-height: 33.333333% !important;
|
|
1615
1810
|
}
|
|
@@ -1618,6 +1813,14 @@
|
|
|
1618
1813
|
min-height: 66.666667% !important;
|
|
1619
1814
|
}
|
|
1620
1815
|
|
|
1816
|
+
.minh-1-4 {
|
|
1817
|
+
min-height: 25% !important;
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1820
|
+
.minh-3-4 {
|
|
1821
|
+
min-height: 75% !important;
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1621
1824
|
.maxh-5 {
|
|
1622
1825
|
max-height: 5% !important;
|
|
1623
1826
|
}
|
|
@@ -1698,6 +1901,10 @@
|
|
|
1698
1901
|
max-height: 100% !important;
|
|
1699
1902
|
}
|
|
1700
1903
|
|
|
1904
|
+
.maxh-1-2 {
|
|
1905
|
+
max-height: 50% !important;
|
|
1906
|
+
}
|
|
1907
|
+
|
|
1701
1908
|
.maxh-1-3 {
|
|
1702
1909
|
max-height: 33.333333% !important;
|
|
1703
1910
|
}
|
|
@@ -1706,6 +1913,14 @@
|
|
|
1706
1913
|
max-height: 66.666667% !important;
|
|
1707
1914
|
}
|
|
1708
1915
|
|
|
1916
|
+
.maxh-1-4 {
|
|
1917
|
+
max-height: 25% !important;
|
|
1918
|
+
}
|
|
1919
|
+
|
|
1920
|
+
.maxh-3-4 {
|
|
1921
|
+
max-height: 75% !important;
|
|
1922
|
+
}
|
|
1923
|
+
|
|
1709
1924
|
.position-static {
|
|
1710
1925
|
position: static !important;
|
|
1711
1926
|
}
|
|
@@ -2015,16 +2230,15 @@ label {
|
|
|
2015
2230
|
}
|
|
2016
2231
|
|
|
2017
2232
|
*::-webkit-scrollbar-thumb {
|
|
2018
|
-
background:
|
|
2233
|
+
background: var(--pa-border-color);
|
|
2019
2234
|
border-radius: 3px;
|
|
2020
2235
|
border: 1px solid var(--pa-primary-bg);
|
|
2021
2236
|
}
|
|
2022
2237
|
*::-webkit-scrollbar-thumb:hover {
|
|
2023
|
-
background:
|
|
2024
|
-
border-color: rgba(0, 123, 255, 0.12);
|
|
2238
|
+
background: var(--pa-accent);
|
|
2025
2239
|
}
|
|
2026
2240
|
*::-webkit-scrollbar-thumb:active {
|
|
2027
|
-
background:
|
|
2241
|
+
background: var(--pa-accent-hover);
|
|
2028
2242
|
}
|
|
2029
2243
|
|
|
2030
2244
|
*::-webkit-scrollbar-corner {
|
|
@@ -2260,6 +2474,31 @@ body.pa-layout--sticky .pa-layout__inner {
|
|
|
2260
2474
|
gap: 0.4rem;
|
|
2261
2475
|
}
|
|
2262
2476
|
|
|
2477
|
+
@media (max-width: 768px) {
|
|
2478
|
+
.pa-layout__footer {
|
|
2479
|
+
flex-wrap: wrap;
|
|
2480
|
+
min-height: auto;
|
|
2481
|
+
padding: 0.8rem 1.6rem;
|
|
2482
|
+
}
|
|
2483
|
+
.pa-footer__left,
|
|
2484
|
+
.pa-footer__center,
|
|
2485
|
+
.pa-footer__right {
|
|
2486
|
+
flex-shrink: 1;
|
|
2487
|
+
min-width: 0;
|
|
2488
|
+
}
|
|
2489
|
+
.pa-footer__left {
|
|
2490
|
+
flex: 1 1 auto;
|
|
2491
|
+
}
|
|
2492
|
+
.pa-footer__center {
|
|
2493
|
+
display: none;
|
|
2494
|
+
}
|
|
2495
|
+
.pa-footer__right {
|
|
2496
|
+
flex: 0 1 auto;
|
|
2497
|
+
}
|
|
2498
|
+
.pa-footer__right--vertical {
|
|
2499
|
+
align-items: flex-end;
|
|
2500
|
+
}
|
|
2501
|
+
}
|
|
2263
2502
|
/* ========================================
|
|
2264
2503
|
Reset and Base Styles
|
|
2265
2504
|
======================================== */
|
|
@@ -2267,15 +2506,58 @@ body.pa-layout--sticky .pa-layout__inner {
|
|
|
2267
2506
|
Sidebar Component
|
|
2268
2507
|
Sidebar navigation with nested submenus
|
|
2269
2508
|
======================================== */
|
|
2509
|
+
:root {
|
|
2510
|
+
--pa-sidebar-width: 28.8rem;
|
|
2511
|
+
--pa-sidebar-min-width: 18rem;
|
|
2512
|
+
--pa-sidebar-max-width: 50rem;
|
|
2513
|
+
}
|
|
2514
|
+
|
|
2515
|
+
:where(.pa-layout__sidebar) {
|
|
2516
|
+
width: var(--pa-sidebar-width);
|
|
2517
|
+
}
|
|
2518
|
+
|
|
2270
2519
|
.pa-layout__sidebar {
|
|
2271
|
-
width: 28.8rem;
|
|
2272
2520
|
background-color: var(--pa-sidebar-bg);
|
|
2273
2521
|
border-right: 1px solid var(--pa-border-color);
|
|
2274
2522
|
flex-shrink: 0;
|
|
2523
|
+
position: relative;
|
|
2524
|
+
}
|
|
2525
|
+
|
|
2526
|
+
.pa-sidebar-resize {
|
|
2527
|
+
position: absolute;
|
|
2528
|
+
top: 0;
|
|
2529
|
+
right: 0;
|
|
2530
|
+
width: 6px;
|
|
2531
|
+
height: 100%;
|
|
2532
|
+
cursor: ew-resize;
|
|
2533
|
+
z-index: 100;
|
|
2534
|
+
}
|
|
2535
|
+
.pa-sidebar-resize::after {
|
|
2536
|
+
content: "";
|
|
2537
|
+
position: absolute;
|
|
2538
|
+
top: 0;
|
|
2539
|
+
left: 50%;
|
|
2540
|
+
transform: translateX(-50%);
|
|
2541
|
+
width: 2px;
|
|
2542
|
+
height: 100%;
|
|
2543
|
+
background-color: transparent;
|
|
2544
|
+
transition: background-color 0.1s ease-out;
|
|
2545
|
+
}
|
|
2546
|
+
.pa-sidebar-resize:hover::after, .pa-sidebar-resize--active::after {
|
|
2547
|
+
background-color: var(--pa-accent);
|
|
2548
|
+
}
|
|
2549
|
+
|
|
2550
|
+
body.pa-sidebar-resizing {
|
|
2551
|
+
cursor: ew-resize !important;
|
|
2552
|
+
user-select: none;
|
|
2553
|
+
}
|
|
2554
|
+
body.pa-sidebar-resizing * {
|
|
2555
|
+
cursor: ew-resize !important;
|
|
2275
2556
|
}
|
|
2276
2557
|
|
|
2277
2558
|
body.pa-layout--sticky .pa-layout__sidebar {
|
|
2278
2559
|
overflow-y: auto;
|
|
2560
|
+
overflow-y: overlay;
|
|
2279
2561
|
overflow-x: visible;
|
|
2280
2562
|
}
|
|
2281
2563
|
|
|
@@ -4333,6 +4615,144 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
4333
4615
|
padding-bottom: 0;
|
|
4334
4616
|
}
|
|
4335
4617
|
|
|
4618
|
+
@media (max-width: 768px) {
|
|
4619
|
+
.pa-col-5 {
|
|
4620
|
+
flex: 0 0 100%;
|
|
4621
|
+
max-width: 100%;
|
|
4622
|
+
}
|
|
4623
|
+
.pa-col-10 {
|
|
4624
|
+
flex: 0 0 100%;
|
|
4625
|
+
max-width: 100%;
|
|
4626
|
+
}
|
|
4627
|
+
.pa-col-15 {
|
|
4628
|
+
flex: 0 0 100%;
|
|
4629
|
+
max-width: 100%;
|
|
4630
|
+
}
|
|
4631
|
+
.pa-col-20 {
|
|
4632
|
+
flex: 0 0 100%;
|
|
4633
|
+
max-width: 100%;
|
|
4634
|
+
}
|
|
4635
|
+
.pa-col-25 {
|
|
4636
|
+
flex: 0 0 100%;
|
|
4637
|
+
max-width: 100%;
|
|
4638
|
+
}
|
|
4639
|
+
.pa-col-30 {
|
|
4640
|
+
flex: 0 0 100%;
|
|
4641
|
+
max-width: 100%;
|
|
4642
|
+
}
|
|
4643
|
+
.pa-col-35 {
|
|
4644
|
+
flex: 0 0 100%;
|
|
4645
|
+
max-width: 100%;
|
|
4646
|
+
}
|
|
4647
|
+
.pa-col-40 {
|
|
4648
|
+
flex: 0 0 100%;
|
|
4649
|
+
max-width: 100%;
|
|
4650
|
+
}
|
|
4651
|
+
.pa-col-45 {
|
|
4652
|
+
flex: 0 0 100%;
|
|
4653
|
+
max-width: 100%;
|
|
4654
|
+
}
|
|
4655
|
+
.pa-col-50 {
|
|
4656
|
+
flex: 0 0 100%;
|
|
4657
|
+
max-width: 100%;
|
|
4658
|
+
}
|
|
4659
|
+
.pa-col-55 {
|
|
4660
|
+
flex: 0 0 100%;
|
|
4661
|
+
max-width: 100%;
|
|
4662
|
+
}
|
|
4663
|
+
.pa-col-60 {
|
|
4664
|
+
flex: 0 0 100%;
|
|
4665
|
+
max-width: 100%;
|
|
4666
|
+
}
|
|
4667
|
+
.pa-col-65 {
|
|
4668
|
+
flex: 0 0 100%;
|
|
4669
|
+
max-width: 100%;
|
|
4670
|
+
}
|
|
4671
|
+
.pa-col-70 {
|
|
4672
|
+
flex: 0 0 100%;
|
|
4673
|
+
max-width: 100%;
|
|
4674
|
+
}
|
|
4675
|
+
.pa-col-75 {
|
|
4676
|
+
flex: 0 0 100%;
|
|
4677
|
+
max-width: 100%;
|
|
4678
|
+
}
|
|
4679
|
+
.pa-col-80 {
|
|
4680
|
+
flex: 0 0 100%;
|
|
4681
|
+
max-width: 100%;
|
|
4682
|
+
}
|
|
4683
|
+
.pa-col-85 {
|
|
4684
|
+
flex: 0 0 100%;
|
|
4685
|
+
max-width: 100%;
|
|
4686
|
+
}
|
|
4687
|
+
.pa-col-90 {
|
|
4688
|
+
flex: 0 0 100%;
|
|
4689
|
+
max-width: 100%;
|
|
4690
|
+
}
|
|
4691
|
+
.pa-col-95 {
|
|
4692
|
+
flex: 0 0 100%;
|
|
4693
|
+
max-width: 100%;
|
|
4694
|
+
}
|
|
4695
|
+
.pa-col-1-2 {
|
|
4696
|
+
flex: 0 0 100%;
|
|
4697
|
+
max-width: 100%;
|
|
4698
|
+
}
|
|
4699
|
+
.pa-col-1-3 {
|
|
4700
|
+
flex: 0 0 100%;
|
|
4701
|
+
max-width: 100%;
|
|
4702
|
+
}
|
|
4703
|
+
.pa-col-2-3 {
|
|
4704
|
+
flex: 0 0 100%;
|
|
4705
|
+
max-width: 100%;
|
|
4706
|
+
}
|
|
4707
|
+
.pa-col-1-4 {
|
|
4708
|
+
flex: 0 0 100%;
|
|
4709
|
+
max-width: 100%;
|
|
4710
|
+
}
|
|
4711
|
+
.pa-col-3-4 {
|
|
4712
|
+
flex: 0 0 100%;
|
|
4713
|
+
max-width: 100%;
|
|
4714
|
+
}
|
|
4715
|
+
.pa-col-1-5 {
|
|
4716
|
+
flex: 0 0 100%;
|
|
4717
|
+
max-width: 100%;
|
|
4718
|
+
}
|
|
4719
|
+
.pa-col-2-5 {
|
|
4720
|
+
flex: 0 0 100%;
|
|
4721
|
+
max-width: 100%;
|
|
4722
|
+
}
|
|
4723
|
+
.pa-col-3-5 {
|
|
4724
|
+
flex: 0 0 100%;
|
|
4725
|
+
max-width: 100%;
|
|
4726
|
+
}
|
|
4727
|
+
.pa-col-4-5 {
|
|
4728
|
+
flex: 0 0 100%;
|
|
4729
|
+
max-width: 100%;
|
|
4730
|
+
}
|
|
4731
|
+
.pa-col-1-6 {
|
|
4732
|
+
flex: 0 0 100%;
|
|
4733
|
+
max-width: 100%;
|
|
4734
|
+
}
|
|
4735
|
+
.pa-col-5-6 {
|
|
4736
|
+
flex: 0 0 100%;
|
|
4737
|
+
max-width: 100%;
|
|
4738
|
+
}
|
|
4739
|
+
.pa-col-1-12 {
|
|
4740
|
+
flex: 0 0 100%;
|
|
4741
|
+
max-width: 100%;
|
|
4742
|
+
}
|
|
4743
|
+
.pa-col-5-12 {
|
|
4744
|
+
flex: 0 0 100%;
|
|
4745
|
+
max-width: 100%;
|
|
4746
|
+
}
|
|
4747
|
+
.pa-col-7-12 {
|
|
4748
|
+
flex: 0 0 100%;
|
|
4749
|
+
max-width: 100%;
|
|
4750
|
+
}
|
|
4751
|
+
.pa-col-11-12 {
|
|
4752
|
+
flex: 0 0 100%;
|
|
4753
|
+
max-width: 100%;
|
|
4754
|
+
}
|
|
4755
|
+
}
|
|
4336
4756
|
/* ========================================
|
|
4337
4757
|
Reset and Base Styles
|
|
4338
4758
|
======================================== */
|
|
@@ -7703,10 +8123,11 @@ a.pa-card p {
|
|
|
7703
8123
|
.pa-input-group__prepend, .pa-input-group__append {
|
|
7704
8124
|
display: flex;
|
|
7705
8125
|
align-items: center;
|
|
7706
|
-
|
|
8126
|
+
height: 3.5rem;
|
|
8127
|
+
line-height: 3.5rem;
|
|
8128
|
+
padding: 0 0.8rem;
|
|
7707
8129
|
border: 1px solid var(--pa-border-color);
|
|
7708
8130
|
font-size: 1.4rem;
|
|
7709
|
-
line-height: 1;
|
|
7710
8131
|
white-space: nowrap;
|
|
7711
8132
|
border-radius: 0;
|
|
7712
8133
|
}
|
|
@@ -7734,27 +8155,24 @@ a.pa-card p {
|
|
|
7734
8155
|
.pa-input-group__append + .pa-input-group__append {
|
|
7735
8156
|
border-left: 1px solid var(--pa-border-color);
|
|
7736
8157
|
}
|
|
7737
|
-
.pa-input-group:focus
|
|
8158
|
+
.pa-input-group:has(.pa-input:focus) .pa-input-group__prepend {
|
|
7738
8159
|
border-right: 1px solid var(--pa-input-focus-border-color);
|
|
7739
8160
|
}
|
|
7740
|
-
.pa-input-group:focus
|
|
8161
|
+
.pa-input-group:has(.pa-input:focus) .pa-input-group__prepend:has(+ .pa-input-group__prepend) {
|
|
7741
8162
|
border-right: none;
|
|
7742
8163
|
}
|
|
7743
|
-
.pa-input-group:focus
|
|
8164
|
+
.pa-input-group:has(.pa-input:focus) .pa-input-group__append {
|
|
7744
8165
|
border-left: 1px solid var(--pa-input-focus-border-color);
|
|
7745
8166
|
}
|
|
7746
|
-
.pa-input-group:focus
|
|
8167
|
+
.pa-input-group:has(.pa-input:focus) .pa-input-group__append + .pa-input-group__append {
|
|
7747
8168
|
border-left: 1px solid var(--pa-border-color);
|
|
7748
8169
|
}
|
|
7749
8170
|
.pa-input-group__button {
|
|
7750
8171
|
border-radius: 0;
|
|
7751
|
-
border-color: var(--pa-border-color);
|
|
7752
|
-
border-left: none;
|
|
7753
8172
|
}
|
|
7754
8173
|
.pa-input-group__button:first-child {
|
|
7755
8174
|
border-top-left-radius: 4px;
|
|
7756
8175
|
border-bottom-left-radius: 4px;
|
|
7757
|
-
border-left: 1px solid var(--pa-border-color);
|
|
7758
8176
|
}
|
|
7759
8177
|
.pa-input-group__button:last-child {
|
|
7760
8178
|
border-top-right-radius: 4px;
|
|
@@ -7762,22 +8180,26 @@ a.pa-card p {
|
|
|
7762
8180
|
}
|
|
7763
8181
|
.pa-input-group--xs .pa-input-group__prepend,
|
|
7764
8182
|
.pa-input-group--xs .pa-input-group__append {
|
|
7765
|
-
|
|
8183
|
+
height: 3.1rem;
|
|
8184
|
+
line-height: 3.1rem;
|
|
7766
8185
|
font-size: 1.2rem;
|
|
7767
8186
|
}
|
|
7768
8187
|
.pa-input-group--sm .pa-input-group__prepend,
|
|
7769
8188
|
.pa-input-group--sm .pa-input-group__append {
|
|
7770
|
-
|
|
8189
|
+
height: 3.3rem;
|
|
8190
|
+
line-height: 3.3rem;
|
|
7771
8191
|
font-size: 1.4rem;
|
|
7772
8192
|
}
|
|
7773
8193
|
.pa-input-group--lg .pa-input-group__prepend,
|
|
7774
8194
|
.pa-input-group--lg .pa-input-group__append {
|
|
7775
|
-
|
|
8195
|
+
height: 3.8rem;
|
|
8196
|
+
line-height: 3.8rem;
|
|
7776
8197
|
font-size: 1.6rem;
|
|
7777
8198
|
}
|
|
7778
8199
|
.pa-input-group--xl .pa-input-group__prepend,
|
|
7779
8200
|
.pa-input-group--xl .pa-input-group__append {
|
|
7780
|
-
|
|
8201
|
+
height: 4.1rem;
|
|
8202
|
+
line-height: 4.1rem;
|
|
7781
8203
|
font-size: 1.8rem;
|
|
7782
8204
|
}
|
|
7783
8205
|
|
|
@@ -10181,6 +10603,16 @@ code {
|
|
|
10181
10603
|
Profile Panel Components
|
|
10182
10604
|
Profile panel and header button
|
|
10183
10605
|
======================================== */
|
|
10606
|
+
:root {
|
|
10607
|
+
--pa-profile-panel-width: 20vw;
|
|
10608
|
+
--pa-profile-panel-max-width: 48rem;
|
|
10609
|
+
}
|
|
10610
|
+
|
|
10611
|
+
:where(.pa-profile-panel__content) {
|
|
10612
|
+
width: var(--pa-profile-panel-width);
|
|
10613
|
+
max-width: var(--pa-profile-panel-max-width);
|
|
10614
|
+
}
|
|
10615
|
+
|
|
10184
10616
|
.pa-header__profile-btn {
|
|
10185
10617
|
display: flex;
|
|
10186
10618
|
align-items: center;
|
|
@@ -10238,8 +10670,6 @@ code {
|
|
|
10238
10670
|
position: absolute;
|
|
10239
10671
|
top: 0;
|
|
10240
10672
|
right: 0;
|
|
10241
|
-
width: 20vw;
|
|
10242
|
-
max-width: 48rem;
|
|
10243
10673
|
height: 100vh;
|
|
10244
10674
|
background-color: var(--pa-card-bg);
|
|
10245
10675
|
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
|
|
@@ -12218,6 +12648,55 @@ code {
|
|
|
12218
12648
|
right: -1.6rem;
|
|
12219
12649
|
}
|
|
12220
12650
|
}
|
|
12651
|
+
.pa-notifications__list--page {
|
|
12652
|
+
max-height: none;
|
|
12653
|
+
overflow: visible;
|
|
12654
|
+
}
|
|
12655
|
+
.pa-notifications__list--page .pa-notifications__item {
|
|
12656
|
+
padding: 1.6rem 2.4rem;
|
|
12657
|
+
}
|
|
12658
|
+
.pa-notifications__list--page .pa-notifications__icon-wrapper {
|
|
12659
|
+
width: 4rem;
|
|
12660
|
+
height: 4rem;
|
|
12661
|
+
font-size: 1.8rem;
|
|
12662
|
+
}
|
|
12663
|
+
.pa-notifications__list--page .pa-notifications__content h4 {
|
|
12664
|
+
font-size: 1.4rem;
|
|
12665
|
+
margin-bottom: 0.4rem;
|
|
12666
|
+
}
|
|
12667
|
+
.pa-notifications__list--page .pa-notifications__content p {
|
|
12668
|
+
font-size: 1.4rem;
|
|
12669
|
+
-webkit-line-clamp: 3;
|
|
12670
|
+
}
|
|
12671
|
+
.pa-notifications__list--page .pa-notifications__time {
|
|
12672
|
+
font-size: 1.2rem;
|
|
12673
|
+
}
|
|
12674
|
+
|
|
12675
|
+
.pa-notifications__actions {
|
|
12676
|
+
display: flex;
|
|
12677
|
+
gap: 0.4rem;
|
|
12678
|
+
flex-shrink: 0;
|
|
12679
|
+
opacity: 0;
|
|
12680
|
+
transition: opacity 0.1s ease-out;
|
|
12681
|
+
}
|
|
12682
|
+
|
|
12683
|
+
.pa-notifications__item:hover .pa-notifications__actions {
|
|
12684
|
+
opacity: 1;
|
|
12685
|
+
}
|
|
12686
|
+
|
|
12687
|
+
@media (max-width: 768px) {
|
|
12688
|
+
.pa-notifications__list--page .pa-notifications__item {
|
|
12689
|
+
flex-wrap: wrap;
|
|
12690
|
+
}
|
|
12691
|
+
.pa-notifications__list--page .pa-notifications__actions {
|
|
12692
|
+
opacity: 1;
|
|
12693
|
+
width: 100%;
|
|
12694
|
+
justify-content: flex-end;
|
|
12695
|
+
margin-top: 0.8rem;
|
|
12696
|
+
padding-top: 0.8rem;
|
|
12697
|
+
border-top: 1px solid var(--pa-border-color);
|
|
12698
|
+
}
|
|
12699
|
+
}
|
|
12221
12700
|
/* ========================================
|
|
12222
12701
|
Reset and Base Styles
|
|
12223
12702
|
======================================== */
|
|
@@ -12686,6 +13165,21 @@ html.font-size-4xl {
|
|
|
12686
13165
|
overflow: visible;
|
|
12687
13166
|
}
|
|
12688
13167
|
|
|
13168
|
+
.overflow-overlay {
|
|
13169
|
+
overflow: auto;
|
|
13170
|
+
overflow: overlay;
|
|
13171
|
+
}
|
|
13172
|
+
|
|
13173
|
+
.overflow-y-overlay {
|
|
13174
|
+
overflow-y: auto;
|
|
13175
|
+
overflow-y: overlay;
|
|
13176
|
+
}
|
|
13177
|
+
|
|
13178
|
+
.overflow-x-overlay {
|
|
13179
|
+
overflow-x: auto;
|
|
13180
|
+
overflow-x: overlay;
|
|
13181
|
+
}
|
|
13182
|
+
|
|
12689
13183
|
.cursor-pointer {
|
|
12690
13184
|
cursor: pointer;
|
|
12691
13185
|
}
|
|
@@ -12955,6 +13449,12 @@ html.font-size-4xl {
|
|
|
12955
13449
|
font-size: 3.2rem;
|
|
12956
13450
|
}
|
|
12957
13451
|
|
|
13452
|
+
.text-truncate {
|
|
13453
|
+
overflow: hidden;
|
|
13454
|
+
text-overflow: ellipsis;
|
|
13455
|
+
white-space: nowrap;
|
|
13456
|
+
}
|
|
13457
|
+
|
|
12958
13458
|
.component-showcase {
|
|
12959
13459
|
display: flex;
|
|
12960
13460
|
flex-wrap: wrap;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keenmate/pure-admin-core",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Lightweight, data-focused HTML/CSS admin framework built with PureCSS foundation and comprehensive component system",
|
|
5
5
|
"style": "dist/css/main.css",
|
|
6
6
|
"exports": {
|
package/snippets/layout.html
CHANGED
|
@@ -380,6 +380,52 @@
|
|
|
380
380
|
</aside>
|
|
381
381
|
|
|
382
382
|
|
|
383
|
+
<!-- ================================
|
|
384
|
+
SIDEBAR WIDTH CONTROL
|
|
385
|
+
================================ -->
|
|
386
|
+
|
|
387
|
+
<!-- Default width (28.8rem / 288px from CSS variable) -->
|
|
388
|
+
<aside class="pa-layout__sidebar">
|
|
389
|
+
<!-- Nav content -->
|
|
390
|
+
</aside>
|
|
391
|
+
|
|
392
|
+
<!-- Resizable sidebar (opt-in, drag right edge to resize) -->
|
|
393
|
+
<aside class="pa-layout__sidebar pa-layout__sidebar--resizable">
|
|
394
|
+
<!-- Nav content -->
|
|
395
|
+
<!-- Drag handle appears on right edge -->
|
|
396
|
+
<!-- Width saved to localStorage -->
|
|
397
|
+
<!-- Double-click handle to reset to default -->
|
|
398
|
+
</aside>
|
|
399
|
+
|
|
400
|
+
<!-- Custom fixed width using utility class (overrides default and resize) -->
|
|
401
|
+
<aside class="pa-layout__sidebar wr-25">
|
|
402
|
+
<!-- Fixed 25rem (250px) width -->
|
|
403
|
+
<!-- wr-* sets exact width, blocks resize -->
|
|
404
|
+
</aside>
|
|
405
|
+
|
|
406
|
+
<!-- Custom minimum width using utility class (allows resize above minimum) -->
|
|
407
|
+
<aside class="pa-layout__sidebar pa-layout__sidebar--resizable minwr-20">
|
|
408
|
+
<!-- Minimum 20rem (200px) width -->
|
|
409
|
+
<!-- minwr-* sets floor, resize still works above it -->
|
|
410
|
+
</aside>
|
|
411
|
+
|
|
412
|
+
<!--
|
|
413
|
+
SIDEBAR WIDTH OPTIONS:
|
|
414
|
+
1. Default: Uses CSS variable --pa-sidebar-width (28.8rem)
|
|
415
|
+
2. Resizable: Add --resizable class, user can drag to resize (180-500px range)
|
|
416
|
+
3. Fixed width: Add wr-* utility class (e.g., wr-20, wr-25, wr-30)
|
|
417
|
+
4. Minimum width: Add minwr-* utility class (e.g., minwr-15, minwr-20)
|
|
418
|
+
|
|
419
|
+
WIDTH UTILITY CLASSES (rem-based, 10px = 1rem):
|
|
420
|
+
- .wr-15 to .wr-25 - Fixed width (15rem to 25rem)
|
|
421
|
+
- .minwr-15 to .minwr-25 - Minimum width (allows resize above)
|
|
422
|
+
- .maxwr-15 to .maxwr-25 - Maximum width (limits resize)
|
|
423
|
+
|
|
424
|
+
NOTE: Fixed width (.wr-*) overrides both default and resizable width.
|
|
425
|
+
Use .minwr-* with --resizable to set a floor while allowing resize.
|
|
426
|
+
-->
|
|
427
|
+
|
|
428
|
+
|
|
383
429
|
<!-- ================================
|
|
384
430
|
NAVBAR/HEADER (with burger menu and navigation)
|
|
385
431
|
Three-section layout: Left / Center / Right
|
|
@@ -605,6 +651,14 @@ SIDEBAR MODES (modifiers on .pa-layout__sidebar):
|
|
|
605
651
|
- Default - Sidebar scrolls with content
|
|
606
652
|
- .pa-layout__sidebar--sticky - Sidebar stays fixed while content scrolls
|
|
607
653
|
- .pa-layout__sidebar--icon-collapse - Sidebar collapses to icon bar instead of hiding
|
|
654
|
+
- .pa-layout__sidebar--resizable - Drag right edge to resize (opt-in)
|
|
655
|
+
|
|
656
|
+
SIDEBAR WIDTH CONTROL:
|
|
657
|
+
- Default width: 28.8rem (288px) via CSS variable --pa-sidebar-width
|
|
658
|
+
- Resizable: Add --resizable class for drag-to-resize (180-500px range)
|
|
659
|
+
- Fixed width: Add .wr-* utility class (e.g., wr-25 = 250px) - overrides resize
|
|
660
|
+
- Min width: Add .minwr-* utility class (e.g., minwr-20) - sets floor for resize
|
|
661
|
+
- Max width: Add .maxwr-* utility class (e.g., maxwr-40) - sets ceiling for resize
|
|
608
662
|
|
|
609
663
|
BURGER MENU:
|
|
610
664
|
- .burger-menu - Burger menu button (same as .pa-header__burger)
|
|
@@ -636,4 +690,16 @@ JAVASCRIPT:
|
|
|
636
690
|
- toggleSidebar() - Toggle sidebar visibility (burger menu)
|
|
637
691
|
- toggleSubmenu(button) - Toggle submenu open/closed
|
|
638
692
|
- Stores state in localStorage for persistence across page loads
|
|
693
|
+
|
|
694
|
+
PROFILE PANEL WIDTH CONTROL:
|
|
695
|
+
- Default width: 20vw via CSS variable --pa-profile-panel-width
|
|
696
|
+
- Default max-width: 48rem (480px) via CSS variable --pa-profile-panel-max-width
|
|
697
|
+
- Override with utility classes: Add .wr-* to .pa-profile-panel__content
|
|
698
|
+
- Examples:
|
|
699
|
+
- .wr-30 = fixed 30rem (300px) width
|
|
700
|
+
- .wr-40 = fixed 40rem (400px) width
|
|
701
|
+
- .minwr-25 = minimum 25rem width
|
|
702
|
+
- .maxwr-50 = maximum 50rem width
|
|
703
|
+
- Uses low specificity (:where) so utility classes can override
|
|
704
|
+
- Available: wr-1 to wr-10, then 15, 20, 25, 30, 35, 40, 45, 50 (same for minwr/maxwr)
|
|
639
705
|
-->
|
|
@@ -262,3 +262,28 @@ $grid-columns-fractions: (
|
|
|
262
262
|
padding-bottom: 0;
|
|
263
263
|
}
|
|
264
264
|
|
|
265
|
+
// ============================================================================
|
|
266
|
+
// AUTO-STACK ON MOBILE
|
|
267
|
+
// ============================================================================
|
|
268
|
+
// Base percentage/fraction columns auto-stack to 100% on mobile
|
|
269
|
+
// Use explicit responsive classes (pa-col-sm-*, pa-col-md-*) to override
|
|
270
|
+
@media (max-width: $mobile-breakpoint) {
|
|
271
|
+
// Stack percentage columns
|
|
272
|
+
@each $size in $grid-columns-5 {
|
|
273
|
+
@if $size < 100 {
|
|
274
|
+
.pa-col-#{$size} {
|
|
275
|
+
flex: 0 0 100%;
|
|
276
|
+
max-width: 100%;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
// Stack fraction columns
|
|
282
|
+
@each $name, $width in $grid-columns-fractions {
|
|
283
|
+
.pa-col-#{$name} {
|
|
284
|
+
flex: 0 0 100%;
|
|
285
|
+
max-width: 100%;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
|
|
@@ -251,3 +251,70 @@
|
|
|
251
251
|
right: -$spacing-base; // Align to right edge of viewport
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
|
+
|
|
255
|
+
// ====================
|
|
256
|
+
// Page View Modifier
|
|
257
|
+
// ====================
|
|
258
|
+
// Larger variant for full-page notification list
|
|
259
|
+
|
|
260
|
+
.pa-notifications__list--page {
|
|
261
|
+
max-height: none;
|
|
262
|
+
overflow: visible;
|
|
263
|
+
|
|
264
|
+
.pa-notifications__item {
|
|
265
|
+
padding: $spacing-base $spacing-lg;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.pa-notifications__icon-wrapper {
|
|
269
|
+
width: 4rem;
|
|
270
|
+
height: 4rem;
|
|
271
|
+
font-size: $font-size-lg;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.pa-notifications__content {
|
|
275
|
+
h4 {
|
|
276
|
+
font-size: $font-size-sm;
|
|
277
|
+
margin-bottom: $spacing-xs;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
p {
|
|
281
|
+
font-size: $font-size-sm;
|
|
282
|
+
-webkit-line-clamp: 3;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.pa-notifications__time {
|
|
287
|
+
font-size: $font-size-xs;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
// Action buttons (for page view)
|
|
292
|
+
.pa-notifications__actions {
|
|
293
|
+
display: flex;
|
|
294
|
+
gap: $spacing-xs;
|
|
295
|
+
flex-shrink: 0;
|
|
296
|
+
opacity: 0;
|
|
297
|
+
transition: opacity $transition-fast $easing-snappy;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.pa-notifications__item:hover .pa-notifications__actions {
|
|
301
|
+
opacity: 1;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
// Mobile: always show actions
|
|
305
|
+
@media (max-width: $mobile-breakpoint) {
|
|
306
|
+
.pa-notifications__list--page {
|
|
307
|
+
.pa-notifications__item {
|
|
308
|
+
flex-wrap: wrap;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.pa-notifications__actions {
|
|
312
|
+
opacity: 1;
|
|
313
|
+
width: 100%;
|
|
314
|
+
justify-content: flex-end;
|
|
315
|
+
margin-top: $spacing-sm;
|
|
316
|
+
padding-top: $spacing-sm;
|
|
317
|
+
border-top: $border-width-base solid var(--pa-border-color);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
@@ -4,6 +4,18 @@
|
|
|
4
4
|
======================================== */
|
|
5
5
|
@use '../variables' as *;
|
|
6
6
|
|
|
7
|
+
// CSS variable for profile panel width (allows utility class override)
|
|
8
|
+
:root {
|
|
9
|
+
--pa-profile-panel-width: #{$profile-panel-width};
|
|
10
|
+
--pa-profile-panel-max-width: #{$profile-panel-max-width};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Profile panel content width - :where() for low specificity (utility classes can override)
|
|
14
|
+
:where(.pa-profile-panel__content) {
|
|
15
|
+
width: var(--pa-profile-panel-width);
|
|
16
|
+
max-width: var(--pa-profile-panel-max-width);
|
|
17
|
+
}
|
|
18
|
+
|
|
7
19
|
// ====================
|
|
8
20
|
// Profile Panel & Header Button
|
|
9
21
|
// ====================
|
|
@@ -73,8 +85,6 @@
|
|
|
73
85
|
position: absolute;
|
|
74
86
|
top: 0;
|
|
75
87
|
right: 0;
|
|
76
|
-
width: $profile-panel-width;
|
|
77
|
-
max-width: $profile-panel-max-width;
|
|
78
88
|
height: 100vh;
|
|
79
89
|
background-color: var(--pa-card-bg);
|
|
80
90
|
box-shadow: $shadow-profile-panel;
|
|
@@ -16,17 +16,16 @@
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
*::-webkit-scrollbar-thumb {
|
|
19
|
-
background:
|
|
19
|
+
background: var(--pa-border-color);
|
|
20
20
|
border-radius: $scrollbar-border-radius;
|
|
21
21
|
border: $border-width-base solid var(--pa-primary-bg);
|
|
22
22
|
|
|
23
23
|
&:hover {
|
|
24
|
-
background:
|
|
25
|
-
border-color: $accent-hover;
|
|
24
|
+
background: var(--pa-accent);
|
|
26
25
|
}
|
|
27
26
|
|
|
28
27
|
&:active {
|
|
29
|
-
background:
|
|
28
|
+
background: var(--pa-accent-hover);
|
|
30
29
|
}
|
|
31
30
|
}
|
|
32
31
|
|
|
@@ -122,6 +122,23 @@ html.font-size-4xl {
|
|
|
122
122
|
.overflow-hidden { overflow: hidden; }
|
|
123
123
|
.overflow-visible { overflow: visible; }
|
|
124
124
|
|
|
125
|
+
// Overlay scrollbar utilities (scrollbar floats over content, doesn't reduce width)
|
|
126
|
+
// Supported in Chromium browsers; Firefox falls back to auto
|
|
127
|
+
.overflow-overlay {
|
|
128
|
+
overflow: auto;
|
|
129
|
+
overflow: overlay;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.overflow-y-overlay {
|
|
133
|
+
overflow-y: auto;
|
|
134
|
+
overflow-y: overlay;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.overflow-x-overlay {
|
|
138
|
+
overflow-x: auto;
|
|
139
|
+
overflow-x: overlay;
|
|
140
|
+
}
|
|
141
|
+
|
|
125
142
|
// Cursor utilities
|
|
126
143
|
.cursor-pointer { cursor: pointer; }
|
|
127
144
|
.cursor-help { cursor: help; }
|
|
@@ -255,6 +272,13 @@ html.font-size-4xl {
|
|
|
255
272
|
.text-3xl { font-size: $font-size-3xl; } // 2.8rem = 28px
|
|
256
273
|
.text-4xl { font-size: $font-size-4xl; } // 3.2rem = 32px
|
|
257
274
|
|
|
275
|
+
// Text truncation with ellipsis
|
|
276
|
+
.text-truncate {
|
|
277
|
+
overflow: hidden;
|
|
278
|
+
text-overflow: ellipsis;
|
|
279
|
+
white-space: nowrap;
|
|
280
|
+
}
|
|
281
|
+
|
|
258
282
|
// Component showcase styling
|
|
259
283
|
.component-showcase {
|
|
260
284
|
display: flex;
|
|
@@ -35,10 +35,11 @@
|
|
|
35
35
|
&__append {
|
|
36
36
|
display: flex;
|
|
37
37
|
align-items: center;
|
|
38
|
-
|
|
38
|
+
height: #{$base-input-size-md-height}rem;
|
|
39
|
+
line-height: #{$base-input-size-md-height}rem;
|
|
40
|
+
padding: 0 $input-padding-h;
|
|
39
41
|
border: $border-width-base solid var(--pa-border-color);
|
|
40
42
|
font-size: $font-size-sm;
|
|
41
|
-
line-height: 1;
|
|
42
43
|
white-space: nowrap;
|
|
43
44
|
border-radius: 0;
|
|
44
45
|
}
|
|
@@ -74,8 +75,8 @@
|
|
|
74
75
|
border-left: $border-width-base solid var(--pa-border-color);
|
|
75
76
|
}
|
|
76
77
|
|
|
77
|
-
// When input is focused,
|
|
78
|
-
&:focus
|
|
78
|
+
// When input is focused, show focus border on adjacent prepend/append
|
|
79
|
+
&:has(.pa-input:focus) {
|
|
79
80
|
// Last prepend (one before input) gets focus border
|
|
80
81
|
.pa-input-group__prepend {
|
|
81
82
|
border-right: $border-width-base solid var(--pa-input-focus-border-color);
|
|
@@ -99,13 +100,10 @@
|
|
|
99
100
|
|
|
100
101
|
&__button {
|
|
101
102
|
border-radius: 0;
|
|
102
|
-
border-color: var(--pa-border-color);
|
|
103
|
-
border-left: none;
|
|
104
103
|
|
|
105
104
|
&:first-child {
|
|
106
105
|
border-top-left-radius: $border-radius;
|
|
107
106
|
border-bottom-left-radius: $border-radius;
|
|
108
|
-
border-left: $border-width-base solid var(--pa-border-color);
|
|
109
107
|
}
|
|
110
108
|
|
|
111
109
|
&:last-child {
|
|
@@ -118,7 +116,8 @@
|
|
|
118
116
|
&--xs {
|
|
119
117
|
.pa-input-group__prepend,
|
|
120
118
|
.pa-input-group__append {
|
|
121
|
-
|
|
119
|
+
height: #{$base-input-size-xs-height}rem;
|
|
120
|
+
line-height: #{$base-input-size-xs-height}rem;
|
|
122
121
|
font-size: $font-size-xs;
|
|
123
122
|
}
|
|
124
123
|
}
|
|
@@ -126,7 +125,8 @@
|
|
|
126
125
|
&--sm {
|
|
127
126
|
.pa-input-group__prepend,
|
|
128
127
|
.pa-input-group__append {
|
|
129
|
-
|
|
128
|
+
height: #{$base-input-size-sm-height}rem;
|
|
129
|
+
line-height: #{$base-input-size-sm-height}rem;
|
|
130
130
|
font-size: $font-size-sm;
|
|
131
131
|
}
|
|
132
132
|
}
|
|
@@ -134,7 +134,8 @@
|
|
|
134
134
|
&--lg {
|
|
135
135
|
.pa-input-group__prepend,
|
|
136
136
|
.pa-input-group__append {
|
|
137
|
-
|
|
137
|
+
height: #{$base-input-size-lg-height}rem;
|
|
138
|
+
line-height: #{$base-input-size-lg-height}rem;
|
|
138
139
|
font-size: $font-size-base;
|
|
139
140
|
}
|
|
140
141
|
}
|
|
@@ -142,7 +143,8 @@
|
|
|
142
143
|
&--xl {
|
|
143
144
|
.pa-input-group__prepend,
|
|
144
145
|
.pa-input-group__append {
|
|
145
|
-
|
|
146
|
+
height: #{$base-input-size-xl-height}rem;
|
|
147
|
+
line-height: #{$base-input-size-xl-height}rem;
|
|
146
148
|
font-size: $font-size-lg;
|
|
147
149
|
}
|
|
148
150
|
}
|
|
@@ -133,3 +133,35 @@ body.pa-layout--sticky .pa-layout__inner {
|
|
|
133
133
|
gap: $spacing-xs;
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
+
|
|
137
|
+
// Responsive footer - stack sections on mobile
|
|
138
|
+
@media (max-width: $mobile-breakpoint) {
|
|
139
|
+
.pa-layout__footer {
|
|
140
|
+
flex-wrap: wrap;
|
|
141
|
+
min-height: auto;
|
|
142
|
+
padding: $spacing-sm $spacing-base;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.pa-footer__left,
|
|
146
|
+
.pa-footer__center,
|
|
147
|
+
.pa-footer__right {
|
|
148
|
+
flex-shrink: 1;
|
|
149
|
+
min-width: 0;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.pa-footer__left {
|
|
153
|
+
flex: 1 1 auto;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.pa-footer__center {
|
|
157
|
+
display: none; // Hide empty center on mobile
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.pa-footer__right {
|
|
161
|
+
flex: 0 1 auto;
|
|
162
|
+
|
|
163
|
+
&--vertical {
|
|
164
|
+
align-items: flex-end;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
@@ -4,17 +4,68 @@
|
|
|
4
4
|
======================================== */
|
|
5
5
|
@use '../../variables' as *;
|
|
6
6
|
|
|
7
|
-
//
|
|
7
|
+
// CSS variable for sidebar width (allows JS resize)
|
|
8
|
+
:root {
|
|
9
|
+
--pa-sidebar-width: #{$sidebar-width};
|
|
10
|
+
--pa-sidebar-min-width: 18rem;
|
|
11
|
+
--pa-sidebar-max-width: 50rem;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Sidebar layout element - width in :where() for low specificity (utility classes can override)
|
|
15
|
+
:where(.pa-layout__sidebar) {
|
|
16
|
+
width: var(--pa-sidebar-width);
|
|
17
|
+
}
|
|
18
|
+
|
|
8
19
|
.pa-layout__sidebar {
|
|
9
|
-
width: $sidebar-width;
|
|
10
20
|
background-color: var(--pa-sidebar-bg);
|
|
11
21
|
border-right: $border-width-base solid var(--pa-border-color);
|
|
12
22
|
flex-shrink: 0;
|
|
23
|
+
position: relative;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Resize handle on sidebar edge
|
|
27
|
+
.pa-sidebar-resize {
|
|
28
|
+
position: absolute;
|
|
29
|
+
top: 0;
|
|
30
|
+
right: 0;
|
|
31
|
+
width: 6px;
|
|
32
|
+
height: 100%;
|
|
33
|
+
cursor: ew-resize;
|
|
34
|
+
z-index: 100;
|
|
35
|
+
|
|
36
|
+
// Visual indicator on hover
|
|
37
|
+
&::after {
|
|
38
|
+
content: '';
|
|
39
|
+
position: absolute;
|
|
40
|
+
top: 0;
|
|
41
|
+
left: 50%;
|
|
42
|
+
transform: translateX(-50%);
|
|
43
|
+
width: 2px;
|
|
44
|
+
height: 100%;
|
|
45
|
+
background-color: transparent;
|
|
46
|
+
transition: background-color $transition-fast $easing-snappy;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&:hover::after,
|
|
50
|
+
&--active::after {
|
|
51
|
+
background-color: var(--pa-accent);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Disable text selection during resize
|
|
56
|
+
body.pa-sidebar-resizing {
|
|
57
|
+
cursor: ew-resize !important;
|
|
58
|
+
user-select: none;
|
|
59
|
+
|
|
60
|
+
* {
|
|
61
|
+
cursor: ew-resize !important;
|
|
62
|
+
}
|
|
13
63
|
}
|
|
14
64
|
|
|
15
65
|
// Sticky mode - sidebar scrolls
|
|
16
66
|
body.pa-layout--sticky .pa-layout__sidebar {
|
|
17
67
|
overflow-y: auto;
|
|
68
|
+
overflow-y: overlay; // Chromium: scrollbar overlays content, doesn't reduce width
|
|
18
69
|
overflow-x: visible; // Allow tooltips to escape right
|
|
19
70
|
}
|
|
20
71
|
|
package/src/scss/utilities.scss
CHANGED
|
@@ -277,9 +277,12 @@ $spacers: (
|
|
|
277
277
|
.w-100 { width: 100% !important; }
|
|
278
278
|
.w-auto { width: auto !important; }
|
|
279
279
|
|
|
280
|
-
// Width utilities (fractions) - matches grid naming
|
|
280
|
+
// Width utilities (fractions) - matches grid naming
|
|
281
|
+
.w-1-2 { width: 50% !important; }
|
|
281
282
|
.w-1-3 { width: 33.333333% !important; }
|
|
282
283
|
.w-2-3 { width: 66.666667% !important; }
|
|
284
|
+
.w-1-4 { width: 25% !important; }
|
|
285
|
+
.w-3-4 { width: 75% !important; }
|
|
283
286
|
|
|
284
287
|
// Min-width utilities
|
|
285
288
|
.mw-25 { min-width: 25% !important; }
|
|
@@ -287,16 +290,22 @@ $spacers: (
|
|
|
287
290
|
.mw-75 { min-width: 75% !important; }
|
|
288
291
|
.mw-100 { min-width: 100% !important; }
|
|
289
292
|
.mw-auto { min-width: auto !important; }
|
|
293
|
+
.mw-1-2 { min-width: 50% !important; }
|
|
290
294
|
.mw-1-3 { min-width: 33.333333% !important; }
|
|
291
295
|
.mw-2-3 { min-width: 66.666667% !important; }
|
|
296
|
+
.mw-1-4 { min-width: 25% !important; }
|
|
297
|
+
.mw-3-4 { min-width: 75% !important; }
|
|
292
298
|
|
|
293
299
|
// Fixed width utilities (min-width + width locked)
|
|
294
300
|
.w-25-fixed { min-width: 25% !important; width: 25% !important; }
|
|
295
301
|
.w-50-fixed { min-width: 50% !important; width: 50% !important; }
|
|
296
302
|
.w-75-fixed { min-width: 75% !important; width: 75% !important; }
|
|
297
303
|
.w-100-fixed { min-width: 100% !important; width: 100% !important; }
|
|
304
|
+
.w-1-2-fixed { min-width: 50% !important; width: 50% !important; }
|
|
298
305
|
.w-1-3-fixed { min-width: 33.333333% !important; width: 33.333333% !important; }
|
|
299
306
|
.w-2-3-fixed { min-width: 66.666667% !important; width: 66.666667% !important; }
|
|
307
|
+
.w-1-4-fixed { min-width: 25% !important; width: 25% !important; }
|
|
308
|
+
.w-3-4-fixed { min-width: 75% !important; width: 75% !important; }
|
|
300
309
|
|
|
301
310
|
// Height utilities
|
|
302
311
|
.h-25 {
|
|
@@ -319,10 +328,17 @@ $spacers: (
|
|
|
319
328
|
height: auto !important;
|
|
320
329
|
}
|
|
321
330
|
|
|
331
|
+
// Height utilities (fractions)
|
|
332
|
+
.h-1-2 { height: 50% !important; }
|
|
333
|
+
.h-1-3 { height: 33.333333% !important; }
|
|
334
|
+
.h-2-3 { height: 66.666667% !important; }
|
|
335
|
+
.h-1-4 { height: 25% !important; }
|
|
336
|
+
.h-3-4 { height: 75% !important; }
|
|
337
|
+
|
|
322
338
|
// ============================================================================
|
|
323
339
|
// REM-BASED SIZING UTILITIES
|
|
324
340
|
// Use 'r' suffix to distinguish from percentage-based utilities
|
|
325
|
-
// Values: 1-10, 15, 20, 25 (rem)
|
|
341
|
+
// Values: 1-10, 15, 20, 25, 30, 35, 40, 45, 50 (rem)
|
|
326
342
|
// ============================================================================
|
|
327
343
|
|
|
328
344
|
// Width (rem)
|
|
@@ -339,6 +355,11 @@ $spacers: (
|
|
|
339
355
|
.wr-15 { width: 15rem !important; }
|
|
340
356
|
.wr-20 { width: 20rem !important; }
|
|
341
357
|
.wr-25 { width: 25rem !important; }
|
|
358
|
+
.wr-30 { width: 30rem !important; }
|
|
359
|
+
.wr-35 { width: 35rem !important; }
|
|
360
|
+
.wr-40 { width: 40rem !important; }
|
|
361
|
+
.wr-45 { width: 45rem !important; }
|
|
362
|
+
.wr-50 { width: 50rem !important; }
|
|
342
363
|
|
|
343
364
|
// Min-width (rem)
|
|
344
365
|
.minwr-1 { min-width: 1rem !important; }
|
|
@@ -354,6 +375,11 @@ $spacers: (
|
|
|
354
375
|
.minwr-15 { min-width: 15rem !important; }
|
|
355
376
|
.minwr-20 { min-width: 20rem !important; }
|
|
356
377
|
.minwr-25 { min-width: 25rem !important; }
|
|
378
|
+
.minwr-30 { min-width: 30rem !important; }
|
|
379
|
+
.minwr-35 { min-width: 35rem !important; }
|
|
380
|
+
.minwr-40 { min-width: 40rem !important; }
|
|
381
|
+
.minwr-45 { min-width: 45rem !important; }
|
|
382
|
+
.minwr-50 { min-width: 50rem !important; }
|
|
357
383
|
|
|
358
384
|
// Max-width (rem)
|
|
359
385
|
.maxwr-1 { max-width: 1rem !important; }
|
|
@@ -369,6 +395,11 @@ $spacers: (
|
|
|
369
395
|
.maxwr-15 { max-width: 15rem !important; }
|
|
370
396
|
.maxwr-20 { max-width: 20rem !important; }
|
|
371
397
|
.maxwr-25 { max-width: 25rem !important; }
|
|
398
|
+
.maxwr-30 { max-width: 30rem !important; }
|
|
399
|
+
.maxwr-35 { max-width: 35rem !important; }
|
|
400
|
+
.maxwr-40 { max-width: 40rem !important; }
|
|
401
|
+
.maxwr-45 { max-width: 45rem !important; }
|
|
402
|
+
.maxwr-50 { max-width: 50rem !important; }
|
|
372
403
|
|
|
373
404
|
// Height (rem)
|
|
374
405
|
.hr-1 { height: 1rem !important; }
|
|
@@ -384,6 +415,11 @@ $spacers: (
|
|
|
384
415
|
.hr-15 { height: 15rem !important; }
|
|
385
416
|
.hr-20 { height: 20rem !important; }
|
|
386
417
|
.hr-25 { height: 25rem !important; }
|
|
418
|
+
.hr-30 { height: 30rem !important; }
|
|
419
|
+
.hr-35 { height: 35rem !important; }
|
|
420
|
+
.hr-40 { height: 40rem !important; }
|
|
421
|
+
.hr-45 { height: 45rem !important; }
|
|
422
|
+
.hr-50 { height: 50rem !important; }
|
|
387
423
|
|
|
388
424
|
// Min-height (rem)
|
|
389
425
|
.minhr-1 { min-height: 1rem !important; }
|
|
@@ -399,6 +435,11 @@ $spacers: (
|
|
|
399
435
|
.minhr-15 { min-height: 15rem !important; }
|
|
400
436
|
.minhr-20 { min-height: 20rem !important; }
|
|
401
437
|
.minhr-25 { min-height: 25rem !important; }
|
|
438
|
+
.minhr-30 { min-height: 30rem !important; }
|
|
439
|
+
.minhr-35 { min-height: 35rem !important; }
|
|
440
|
+
.minhr-40 { min-height: 40rem !important; }
|
|
441
|
+
.minhr-45 { min-height: 45rem !important; }
|
|
442
|
+
.minhr-50 { min-height: 50rem !important; }
|
|
402
443
|
|
|
403
444
|
// Max-height (rem)
|
|
404
445
|
.maxhr-1 { max-height: 1rem !important; }
|
|
@@ -414,6 +455,11 @@ $spacers: (
|
|
|
414
455
|
.maxhr-15 { max-height: 15rem !important; }
|
|
415
456
|
.maxhr-20 { max-height: 20rem !important; }
|
|
416
457
|
.maxhr-25 { max-height: 25rem !important; }
|
|
458
|
+
.maxhr-30 { max-height: 30rem !important; }
|
|
459
|
+
.maxhr-35 { max-height: 35rem !important; }
|
|
460
|
+
.maxhr-40 { max-height: 40rem !important; }
|
|
461
|
+
.maxhr-45 { max-height: 45rem !important; }
|
|
462
|
+
.maxhr-50 { max-height: 50rem !important; }
|
|
417
463
|
|
|
418
464
|
// ============================================================================
|
|
419
465
|
// PERCENTAGE-BASED MIN/MAX UTILITIES
|
|
@@ -465,8 +511,11 @@ $spacers: (
|
|
|
465
511
|
.maxw-90 { max-width: 90% !important; }
|
|
466
512
|
.maxw-95 { max-width: 95% !important; }
|
|
467
513
|
.maxw-100 { max-width: 100% !important; }
|
|
514
|
+
.maxw-1-2 { max-width: 50% !important; }
|
|
468
515
|
.maxw-1-3 { max-width: 33.333333% !important; }
|
|
469
516
|
.maxw-2-3 { max-width: 66.666667% !important; }
|
|
517
|
+
.maxw-1-4 { max-width: 25% !important; }
|
|
518
|
+
.maxw-3-4 { max-width: 75% !important; }
|
|
470
519
|
|
|
471
520
|
// Min-height (percentage)
|
|
472
521
|
.minh-5 { min-height: 5% !important; }
|
|
@@ -489,8 +538,11 @@ $spacers: (
|
|
|
489
538
|
.minh-90 { min-height: 90% !important; }
|
|
490
539
|
.minh-95 { min-height: 95% !important; }
|
|
491
540
|
.minh-100 { min-height: 100% !important; }
|
|
541
|
+
.minh-1-2 { min-height: 50% !important; }
|
|
492
542
|
.minh-1-3 { min-height: 33.333333% !important; }
|
|
493
543
|
.minh-2-3 { min-height: 66.666667% !important; }
|
|
544
|
+
.minh-1-4 { min-height: 25% !important; }
|
|
545
|
+
.minh-3-4 { min-height: 75% !important; }
|
|
494
546
|
|
|
495
547
|
// Max-height (percentage)
|
|
496
548
|
.maxh-5 { max-height: 5% !important; }
|
|
@@ -513,8 +565,11 @@ $spacers: (
|
|
|
513
565
|
.maxh-90 { max-height: 90% !important; }
|
|
514
566
|
.maxh-95 { max-height: 95% !important; }
|
|
515
567
|
.maxh-100 { max-height: 100% !important; }
|
|
568
|
+
.maxh-1-2 { max-height: 50% !important; }
|
|
516
569
|
.maxh-1-3 { max-height: 33.333333% !important; }
|
|
517
570
|
.maxh-2-3 { max-height: 66.666667% !important; }
|
|
571
|
+
.maxh-1-4 { max-height: 25% !important; }
|
|
572
|
+
.maxh-3-4 { max-height: 75% !important; }
|
|
518
573
|
|
|
519
574
|
// Position utilities
|
|
520
575
|
.position-static {
|