@gjsify/adwaita-web 0.15.1 → 0.16.1

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.
@@ -237,6 +237,7 @@
237
237
  --popover-bg-color: #ffffff;
238
238
  --popover-fg-color: rgba(0, 0, 6, 0.8);
239
239
  --popover-shade-color: rgba(0, 0, 6, 0.07);
240
+ --dialog-scrim-color: rgba(0, 0, 6, 0.32);
240
241
  --button-bg-color: rgba(0, 0, 6, 0.08);
241
242
  --button-hover-color: rgba(0, 0, 6, 0.13);
242
243
  --button-active-color: rgba(0, 0, 6, 0.19);
@@ -280,6 +281,7 @@
280
281
  --popover-bg-color: #36363a;
281
282
  --popover-fg-color: #ffffff;
282
283
  --popover-shade-color: rgba(0, 0, 6, 0.36);
284
+ --dialog-scrim-color: rgba(0, 0, 6, 0.55);
283
285
  --button-bg-color: rgba(255, 255, 255, 0.1);
284
286
  --button-hover-color: rgba(255, 255, 255, 0.15);
285
287
  --button-active-color: rgba(255, 255, 255, 0.22);
@@ -310,6 +312,7 @@
310
312
  --popover-bg-color: #36363a;
311
313
  --popover-fg-color: #ffffff;
312
314
  --popover-shade-color: rgba(0, 0, 6, 0.36);
315
+ --dialog-scrim-color: rgba(0, 0, 6, 0.55);
313
316
  --button-bg-color: rgba(255, 255, 255, 0.1);
314
317
  --button-hover-color: rgba(255, 255, 255, 0.15);
315
318
  --button-active-color: rgba(255, 255, 255, 0.22);
@@ -867,6 +870,148 @@ adw-button-content.can-shrink .adw-button-content-label {
867
870
  outline-offset: -2px;
868
871
  }
869
872
 
873
+ .adw-drop-down {
874
+ position: relative;
875
+ box-sizing: border-box;
876
+ display: inline-flex;
877
+ vertical-align: middle;
878
+ }
879
+ .adw-drop-down .adw-drop-down-button {
880
+ box-sizing: border-box;
881
+ display: inline-flex;
882
+ align-items: center;
883
+ gap: var(--spacing-xs);
884
+ min-width: 100px;
885
+ min-height: 34px;
886
+ margin: 0;
887
+ padding: 0 8px 0 12px;
888
+ border: none;
889
+ border-radius: var(--button-radius);
890
+ background-color: var(--button-bg-color);
891
+ color: var(--window-fg-color);
892
+ font-family: var(--font-family);
893
+ font-size: var(--font-size-base);
894
+ cursor: pointer;
895
+ transition: background-color 0.1s ease;
896
+ }
897
+ .adw-drop-down .adw-drop-down-button:hover {
898
+ background-color: var(--button-hover-color);
899
+ }
900
+ .adw-drop-down .adw-drop-down-button:active {
901
+ background-color: var(--button-active-color);
902
+ }
903
+ .adw-drop-down .adw-drop-down-button:focus-visible {
904
+ outline: 2px solid var(--accent-color);
905
+ outline-offset: 1px;
906
+ }
907
+ .adw-drop-down .adw-drop-down-button:disabled {
908
+ cursor: default;
909
+ pointer-events: none;
910
+ }
911
+ .adw-drop-down .adw-drop-down-label {
912
+ flex: 1 1 auto;
913
+ min-width: 0;
914
+ text-align: start;
915
+ white-space: nowrap;
916
+ overflow: hidden;
917
+ text-overflow: ellipsis;
918
+ }
919
+ .adw-drop-down .adw-drop-down-arrow {
920
+ width: 12px;
921
+ height: 12px;
922
+ mask-size: 12px;
923
+ -webkit-mask-size: 12px;
924
+ flex: none;
925
+ opacity: var(--dim-opacity);
926
+ }
927
+ .adw-drop-down.disabled {
928
+ opacity: 0.55;
929
+ }
930
+ .adw-drop-down .adw-drop-down-popover {
931
+ position: absolute;
932
+ top: calc(100% + 6px);
933
+ left: 0;
934
+ z-index: 10;
935
+ display: flex;
936
+ flex-direction: column;
937
+ min-width: 100%;
938
+ max-width: 320px;
939
+ padding: var(--spacing-xs);
940
+ border-radius: var(--card-radius);
941
+ background-color: var(--popover-bg-color, var(--window-bg-color, #fff));
942
+ color: var(--popover-fg-color, var(--window-fg-color));
943
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 14px 3px rgba(0, 0, 0, 0.05);
944
+ }
945
+ .adw-drop-down .adw-drop-down-popover[hidden] {
946
+ display: none;
947
+ }
948
+ .adw-drop-down .adw-drop-down-search {
949
+ margin-bottom: var(--spacing-xs);
950
+ }
951
+ .adw-drop-down .adw-drop-down-list {
952
+ display: flex;
953
+ flex-direction: column;
954
+ max-height: 320px;
955
+ overflow-y: auto;
956
+ }
957
+ .adw-drop-down .adw-drop-down-item {
958
+ box-sizing: border-box;
959
+ display: flex;
960
+ align-items: center;
961
+ justify-content: space-between;
962
+ gap: var(--spacing-s);
963
+ width: 100%;
964
+ min-height: 32px;
965
+ margin: 0;
966
+ padding: var(--spacing-xs) var(--spacing-s);
967
+ border: none;
968
+ border-radius: calc(var(--button-radius) - 2px);
969
+ background-color: transparent;
970
+ color: inherit;
971
+ font-family: var(--font-family);
972
+ font-size: var(--font-size-base);
973
+ text-align: start;
974
+ cursor: pointer;
975
+ transition: background-color 0.1s ease;
976
+ }
977
+ .adw-drop-down .adw-drop-down-item:hover {
978
+ background-color: var(--button-hover-color);
979
+ }
980
+ .adw-drop-down .adw-drop-down-item:active {
981
+ background-color: var(--button-active-color);
982
+ }
983
+ .adw-drop-down .adw-drop-down-item:focus-visible {
984
+ outline: 2px solid var(--accent-color);
985
+ outline-offset: -2px;
986
+ }
987
+ .adw-drop-down .adw-drop-down-item[hidden] {
988
+ display: none;
989
+ }
990
+ .adw-drop-down .adw-drop-down-item-label {
991
+ flex: 1 1 auto;
992
+ min-width: 0;
993
+ white-space: nowrap;
994
+ overflow: hidden;
995
+ text-overflow: ellipsis;
996
+ }
997
+ .adw-drop-down .adw-drop-down-item-check {
998
+ position: relative;
999
+ width: 16px;
1000
+ height: 16px;
1001
+ flex: none;
1002
+ }
1003
+ .adw-drop-down .adw-drop-down-item.selected .adw-drop-down-item-check::after {
1004
+ content: "";
1005
+ position: absolute;
1006
+ left: 5px;
1007
+ top: 2px;
1008
+ width: 4px;
1009
+ height: 8px;
1010
+ border: solid var(--accent-color);
1011
+ border-width: 0 2px 2px 0;
1012
+ transform: rotate(45deg);
1013
+ }
1014
+
870
1015
  :root {
871
1016
  --active-toggle-bg-color: #ffffff;
872
1017
  --active-toggle-fg-color: var(--window-fg-color);
@@ -1043,6 +1188,97 @@ adw-card,
1043
1188
  overflow: hidden;
1044
1189
  }
1045
1190
 
1191
+ .adw-data-grid {
1192
+ display: block;
1193
+ box-sizing: border-box;
1194
+ color: var(--card-fg-color);
1195
+ font-size: var(--font-size-base);
1196
+ }
1197
+ .adw-data-grid .adw-data-grid-caption {
1198
+ font-size: var(--font-size-heading);
1199
+ font-weight: 700;
1200
+ color: var(--window-fg-color);
1201
+ margin: 0 0 var(--spacing-s);
1202
+ padding: 0 var(--spacing-xs);
1203
+ }
1204
+ .adw-data-grid .adw-data-grid-scroll {
1205
+ overflow-x: auto;
1206
+ overflow-y: hidden;
1207
+ }
1208
+ .adw-data-grid .adw-data-grid-table {
1209
+ display: grid;
1210
+ box-sizing: border-box;
1211
+ width: 100%;
1212
+ min-width: max-content;
1213
+ }
1214
+ .adw-data-grid .adw-data-grid-row {
1215
+ display: grid;
1216
+ grid-template-columns: subgrid;
1217
+ grid-column: 1/-1;
1218
+ align-items: center;
1219
+ }
1220
+ .adw-data-grid .adw-data-grid-cell {
1221
+ box-sizing: border-box;
1222
+ min-width: 0;
1223
+ padding: var(--spacing-s) var(--spacing-m);
1224
+ white-space: nowrap;
1225
+ text-align: left;
1226
+ }
1227
+ .adw-data-grid .adw-data-grid-cell.align-end {
1228
+ text-align: right;
1229
+ }
1230
+ .adw-data-grid .adw-data-grid-cell.align-center {
1231
+ text-align: center;
1232
+ }
1233
+ .adw-data-grid .adw-data-grid-cell.numeric {
1234
+ font-variant-numeric: tabular-nums;
1235
+ }
1236
+ .adw-data-grid .adw-data-grid-cell.mono {
1237
+ font-family: "Adwaita Mono", "Cantarell", ui-monospace, "SF Mono", "Menlo", monospace;
1238
+ font-variant-numeric: tabular-nums;
1239
+ }
1240
+ .adw-data-grid .adw-data-grid-row.header .adw-data-grid-cell {
1241
+ font-size: var(--font-size-small);
1242
+ font-weight: 700;
1243
+ text-transform: uppercase;
1244
+ letter-spacing: 0.04em;
1245
+ opacity: var(--dim-opacity);
1246
+ border-bottom: 1px solid var(--separator-color);
1247
+ }
1248
+ .adw-data-grid .adw-data-grid-row.variant-section .section-cell {
1249
+ font-weight: 700;
1250
+ color: var(--window-fg-color);
1251
+ padding-top: var(--spacing-m);
1252
+ }
1253
+ .adw-data-grid .adw-data-grid-row.variant-subtotal {
1254
+ border-top: 1px solid var(--separator-color);
1255
+ }
1256
+ .adw-data-grid .adw-data-grid-row.variant-subtotal .adw-data-grid-cell {
1257
+ font-weight: 700;
1258
+ }
1259
+ .adw-data-grid .adw-data-grid-row.variant-total {
1260
+ border-top: 2px solid var(--separator-color);
1261
+ border-bottom: 1px solid var(--separator-color);
1262
+ }
1263
+ .adw-data-grid .adw-data-grid-row.variant-total .adw-data-grid-cell {
1264
+ font-weight: 800;
1265
+ color: var(--window-fg-color);
1266
+ }
1267
+ .adw-data-grid .adw-data-grid-row.interactive {
1268
+ cursor: pointer;
1269
+ border-radius: var(--button-radius);
1270
+ }
1271
+ .adw-data-grid .adw-data-grid-row.interactive:hover {
1272
+ background-color: var(--button-bg-color);
1273
+ }
1274
+ .adw-data-grid .adw-data-grid-row.interactive:active {
1275
+ background-color: var(--button-active-color);
1276
+ }
1277
+ .adw-data-grid .adw-data-grid-row.interactive:focus-visible {
1278
+ outline: 2px solid var(--accent-color);
1279
+ outline-offset: -2px;
1280
+ }
1281
+
1046
1282
  adw-clamp {
1047
1283
  display: block;
1048
1284
  width: 100%;
@@ -3180,6 +3416,178 @@ adw-preferences-dialog .adw-preferences-dialog-pages {
3180
3416
  padding: var(--spacing-xl) var(--spacing-m);
3181
3417
  }
3182
3418
 
3419
+ adw-dialog {
3420
+ display: none;
3421
+ }
3422
+ adw-dialog.open {
3423
+ display: block;
3424
+ }
3425
+ adw-dialog .adw-dialog-scrim {
3426
+ position: fixed;
3427
+ inset: 0;
3428
+ z-index: 1050;
3429
+ display: flex;
3430
+ align-items: center;
3431
+ justify-content: center;
3432
+ padding: var(--spacing-l);
3433
+ background-color: var(--dialog-scrim-color, rgba(0, 0, 6, 0.32));
3434
+ animation: adw-dialog-fade-in 0.2s cubic-bezier(0, 0, 0.2, 1);
3435
+ }
3436
+ adw-dialog .adw-dialog-box {
3437
+ box-sizing: border-box;
3438
+ display: flex;
3439
+ flex-direction: column;
3440
+ width: min(var(--adw-dialog-content-width, 360px), 100vw - 2 * var(--spacing-l));
3441
+ max-height: min(var(--adw-dialog-content-height, 100vh), 100vh - 2 * var(--spacing-l));
3442
+ overflow: hidden;
3443
+ background-color: var(--window-bg-color);
3444
+ color: var(--window-fg-color);
3445
+ border-radius: var(--window-radius);
3446
+ outline: 1px solid var(--separator-color);
3447
+ outline-offset: -1px;
3448
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 0 5px 2px rgba(0, 0, 6, 0.1), 0 0 14px 2px rgba(0, 0, 6, 0.03);
3449
+ font-family: var(--font-family);
3450
+ animation: adw-dialog-pop-in 0.2s cubic-bezier(0, 0, 0.2, 1);
3451
+ }
3452
+ adw-dialog .adw-dialog-box:focus {
3453
+ outline: 1px solid var(--separator-color);
3454
+ }
3455
+ adw-dialog .adw-dialog-header {
3456
+ display: flex;
3457
+ align-items: center;
3458
+ min-height: 47px;
3459
+ padding: 0 6px;
3460
+ flex-shrink: 0;
3461
+ }
3462
+ adw-dialog .adw-dialog-header-side {
3463
+ display: flex;
3464
+ align-items: center;
3465
+ flex: 1 1 0;
3466
+ min-width: 0;
3467
+ }
3468
+ adw-dialog .adw-dialog-header-side--end {
3469
+ justify-content: flex-end;
3470
+ }
3471
+ adw-dialog .adw-dialog-title {
3472
+ flex: 0 0 auto;
3473
+ font-weight: bold;
3474
+ font-size: var(--font-size-base);
3475
+ white-space: nowrap;
3476
+ overflow: hidden;
3477
+ text-overflow: ellipsis;
3478
+ padding: 0 6px;
3479
+ }
3480
+ adw-dialog .adw-dialog-close {
3481
+ appearance: none;
3482
+ border: none;
3483
+ margin: 0;
3484
+ width: 28px;
3485
+ height: 28px;
3486
+ padding: 0;
3487
+ border-radius: 50%;
3488
+ background-color: transparent;
3489
+ color: var(--window-fg-color);
3490
+ cursor: pointer;
3491
+ position: relative;
3492
+ flex: none;
3493
+ transition: background-color 0.1s ease;
3494
+ }
3495
+ adw-dialog .adw-dialog-close::before, adw-dialog .adw-dialog-close::after {
3496
+ content: "";
3497
+ position: absolute;
3498
+ top: 50%;
3499
+ left: 50%;
3500
+ width: 12px;
3501
+ height: 1.5px;
3502
+ background-color: currentColor;
3503
+ border-radius: 1px;
3504
+ }
3505
+ adw-dialog .adw-dialog-close::before {
3506
+ transform: translate(-50%, -50%) rotate(45deg);
3507
+ }
3508
+ adw-dialog .adw-dialog-close::after {
3509
+ transform: translate(-50%, -50%) rotate(-45deg);
3510
+ }
3511
+ adw-dialog .adw-dialog-close:hover {
3512
+ background-color: var(--button-hover-color);
3513
+ }
3514
+ adw-dialog .adw-dialog-close:active {
3515
+ background-color: var(--button-active-color);
3516
+ }
3517
+ adw-dialog .adw-dialog-close:focus-visible {
3518
+ outline: 2px solid var(--accent-color);
3519
+ outline-offset: 1px;
3520
+ }
3521
+ adw-dialog .adw-dialog-close.locked {
3522
+ opacity: var(--dim-opacity);
3523
+ cursor: default;
3524
+ }
3525
+ adw-dialog .adw-dialog-content {
3526
+ flex: 1 1 auto;
3527
+ min-height: 0;
3528
+ overflow-y: auto;
3529
+ padding: var(--spacing-m) var(--spacing-l) var(--spacing-l);
3530
+ }
3531
+ adw-dialog .adw-dialog-header[hidden] + .adw-dialog-content {
3532
+ padding-top: var(--spacing-l);
3533
+ }
3534
+ adw-dialog[data-presentation=bottom-sheet] .adw-dialog-scrim {
3535
+ align-items: flex-end;
3536
+ justify-content: stretch;
3537
+ padding: 0;
3538
+ }
3539
+ adw-dialog[data-presentation=bottom-sheet] .adw-dialog-box {
3540
+ width: 100%;
3541
+ max-width: none;
3542
+ border-top-left-radius: var(--window-radius);
3543
+ border-top-right-radius: var(--window-radius);
3544
+ border-bottom-left-radius: 0;
3545
+ border-bottom-right-radius: 0;
3546
+ animation: adw-dialog-slide-up 0.25s cubic-bezier(0, 0, 0.2, 1);
3547
+ }
3548
+
3549
+ @media (max-width: 550px) {
3550
+ adw-dialog[data-presentation=auto] .adw-dialog-scrim {
3551
+ align-items: flex-end;
3552
+ justify-content: stretch;
3553
+ padding: 0;
3554
+ }
3555
+ adw-dialog[data-presentation=auto] .adw-dialog-box {
3556
+ width: 100%;
3557
+ max-width: none;
3558
+ border-top-left-radius: var(--window-radius);
3559
+ border-top-right-radius: var(--window-radius);
3560
+ border-bottom-left-radius: 0;
3561
+ border-bottom-right-radius: 0;
3562
+ animation: adw-dialog-slide-up 0.25s cubic-bezier(0, 0, 0.2, 1);
3563
+ }
3564
+ }
3565
+ @keyframes adw-dialog-fade-in {
3566
+ from {
3567
+ opacity: 0;
3568
+ }
3569
+ to {
3570
+ opacity: 1;
3571
+ }
3572
+ }
3573
+ @keyframes adw-dialog-pop-in {
3574
+ from {
3575
+ opacity: 0;
3576
+ transform: scale(0.95);
3577
+ }
3578
+ to {
3579
+ opacity: 1;
3580
+ transform: scale(1);
3581
+ }
3582
+ }
3583
+ @keyframes adw-dialog-slide-up {
3584
+ from {
3585
+ transform: translateY(100%);
3586
+ }
3587
+ to {
3588
+ transform: translateY(0);
3589
+ }
3590
+ }
3183
3591
  [hidden] {
3184
3592
  display: none !important;
3185
3593
  }