@gjsify/adwaita-web 0.14.0 → 0.16.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.
Files changed (49) hide show
  1. package/README.md +58 -0
  2. package/dist/adwaita-web.css +617 -0
  3. package/dist/adwaita-web.css.map +1 -1
  4. package/lib/types/adw-data-grid.spec.d.ts +1 -0
  5. package/lib/types/adw-dialog.spec.d.ts +1 -0
  6. package/lib/types/adw-drop-down.spec.d.ts +1 -0
  7. package/lib/types/elements/adw-data-grid.d.ts +60 -0
  8. package/lib/types/elements/adw-dialog.d.ts +51 -0
  9. package/lib/types/elements/adw-drop-down.d.ts +63 -0
  10. package/lib/types/elements/adw-menu-button.d.ts +34 -0
  11. package/lib/types/elements/adw-view-stack.d.ts +37 -0
  12. package/lib/types/elements/adw-view-switcher-bar.d.ts +27 -0
  13. package/lib/types/index.d.ts +11 -0
  14. package/lib/types/source-view/adw-source-view.d.ts +75 -0
  15. package/lib/types/source-view/asm6502.d.ts +28 -0
  16. package/lib/types/source-view/hex.d.ts +27 -0
  17. package/lib/types/source-view/index.d.ts +4 -0
  18. package/lib/types/source-view/theme.d.ts +15 -0
  19. package/lib/types/styles.generated.d.ts +1 -1
  20. package/package.json +24 -12
  21. package/scss/_data_grid.scss +144 -0
  22. package/scss/_dialog.scss +220 -0
  23. package/scss/_drop_down.scss +185 -0
  24. package/scss/_menu_button.scss +151 -0
  25. package/scss/_root.scss +22 -0
  26. package/scss/_theme.scss +5 -0
  27. package/scss/_variables.scss +9 -0
  28. package/scss/_view_stack.scss +29 -0
  29. package/scss/_view_switcher_bar.scss +94 -0
  30. package/scss/adwaita-skin.scss +7 -0
  31. package/src/adw-data-grid.spec.ts +243 -0
  32. package/src/adw-dialog.spec.ts +169 -0
  33. package/src/adw-drop-down.spec.ts +186 -0
  34. package/src/elements/adw-data-grid.ts +335 -0
  35. package/src/elements/adw-dialog.ts +329 -0
  36. package/src/elements/adw-drop-down.ts +405 -0
  37. package/src/elements/adw-menu-button.ts +247 -0
  38. package/src/elements/adw-view-stack.ts +174 -0
  39. package/src/elements/adw-view-switcher-bar.ts +168 -0
  40. package/src/index.ts +16 -0
  41. package/src/source-view/adw-source-view.ts +436 -0
  42. package/src/source-view/asm6502.ts +232 -0
  43. package/src/source-view/hex.ts +43 -0
  44. package/src/source-view/index.ts +28 -0
  45. package/src/source-view/theme.ts +224 -0
  46. package/src/test.browser.mts +14 -0
  47. package/src/index.js +0 -1
  48. package/src/styles.generated.js +0 -2976
  49. package/src/styles2.generated.js +0 -2976
@@ -234,6 +234,10 @@
234
234
  --accent-bg-color: #3584e4;
235
235
  --accent-fg-color: #ffffff;
236
236
  --accent-color: #1c71d8;
237
+ --popover-bg-color: #ffffff;
238
+ --popover-fg-color: rgba(0, 0, 6, 0.8);
239
+ --popover-shade-color: rgba(0, 0, 6, 0.07);
240
+ --dialog-scrim-color: rgba(0, 0, 6, 0.32);
237
241
  --button-bg-color: rgba(0, 0, 6, 0.08);
238
242
  --button-hover-color: rgba(0, 0, 6, 0.13);
239
243
  --button-active-color: rgba(0, 0, 6, 0.19);
@@ -274,6 +278,10 @@
274
278
  --card-fg-color: #ffffff;
275
279
  --card-shade-color: rgba(0, 0, 6, 0.36);
276
280
  --accent-color: #78aeed;
281
+ --popover-bg-color: #36363a;
282
+ --popover-fg-color: #ffffff;
283
+ --popover-shade-color: rgba(0, 0, 6, 0.36);
284
+ --dialog-scrim-color: rgba(0, 0, 6, 0.55);
277
285
  --button-bg-color: rgba(255, 255, 255, 0.1);
278
286
  --button-hover-color: rgba(255, 255, 255, 0.15);
279
287
  --button-active-color: rgba(255, 255, 255, 0.22);
@@ -301,6 +309,10 @@
301
309
  --card-fg-color: #ffffff;
302
310
  --card-shade-color: rgba(0, 0, 6, 0.36);
303
311
  --accent-color: #78aeed;
312
+ --popover-bg-color: #36363a;
313
+ --popover-fg-color: #ffffff;
314
+ --popover-shade-color: rgba(0, 0, 6, 0.36);
315
+ --dialog-scrim-color: rgba(0, 0, 6, 0.55);
304
316
  --button-bg-color: rgba(255, 255, 255, 0.1);
305
317
  --button-hover-color: rgba(255, 255, 255, 0.15);
306
318
  --button-active-color: rgba(255, 255, 255, 0.22);
@@ -314,6 +326,14 @@
314
326
  --active-toggle-fg-color: rgba(0, 0, 6, 0.8);
315
327
  }
316
328
 
329
+ .adw-root {
330
+ background-color: var(--window-bg-color);
331
+ color: var(--window-fg-color);
332
+ color-scheme: light dark;
333
+ font-family: var(--font-family);
334
+ font-size: var(--font-size-base);
335
+ }
336
+
317
337
  adw-window {
318
338
  display: flex;
319
339
  flex-direction: column;
@@ -739,6 +759,259 @@ adw-button-content.can-shrink .adw-button-content-label {
739
759
  pointer-events: none;
740
760
  }
741
761
 
762
+ .adw-menu-button {
763
+ position: relative;
764
+ box-sizing: border-box;
765
+ display: inline-flex;
766
+ vertical-align: middle;
767
+ }
768
+ .adw-menu-button .adw-menu-button-button {
769
+ box-sizing: border-box;
770
+ display: inline-flex;
771
+ align-items: center;
772
+ justify-content: center;
773
+ min-width: 34px;
774
+ min-height: 34px;
775
+ margin: 0;
776
+ padding: 0 8px;
777
+ border: none;
778
+ border-radius: var(--button-radius);
779
+ background-color: var(--button-bg-color);
780
+ color: var(--window-fg-color);
781
+ cursor: pointer;
782
+ transition: background-color 0.1s ease;
783
+ }
784
+ .adw-menu-button .adw-menu-button-button .adw-menu-button-icon {
785
+ width: 16px;
786
+ height: 16px;
787
+ flex: none;
788
+ }
789
+ .adw-menu-button .adw-menu-button-button:hover {
790
+ background-color: var(--button-hover-color);
791
+ }
792
+ .adw-menu-button .adw-menu-button-button:active {
793
+ background-color: var(--button-active-color);
794
+ }
795
+ .adw-menu-button .adw-menu-button-button:focus-visible {
796
+ outline: 2px solid var(--accent-color);
797
+ outline-offset: 1px;
798
+ }
799
+ .adw-menu-button.flat .adw-menu-button-button {
800
+ background-color: transparent;
801
+ }
802
+ .adw-menu-button.active .adw-menu-button-button {
803
+ background-color: var(--button-active-color);
804
+ }
805
+ .adw-menu-button.circular .adw-menu-button-button {
806
+ padding: 0;
807
+ border-radius: 9999px;
808
+ }
809
+ .adw-menu-button.disabled {
810
+ opacity: 0.45;
811
+ }
812
+ .adw-menu-button.disabled .adw-menu-button-button {
813
+ cursor: default;
814
+ pointer-events: none;
815
+ }
816
+ .adw-menu-button .adw-menu-button-popover {
817
+ position: absolute;
818
+ top: calc(100% + 6px);
819
+ right: 0;
820
+ z-index: 10;
821
+ display: flex;
822
+ flex-direction: column;
823
+ min-width: 200px;
824
+ padding: var(--spacing-xs);
825
+ border-radius: var(--card-radius);
826
+ background-color: var(--popover-bg-color, var(--window-bg-color, #fff));
827
+ color: var(--popover-fg-color, var(--window-fg-color));
828
+ 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);
829
+ }
830
+ .adw-menu-button .adw-menu-button-popover[hidden] {
831
+ display: none;
832
+ }
833
+ .adw-menu-button .adw-menu-button-title {
834
+ padding: 4px var(--spacing-s) 6px;
835
+ font-weight: 700;
836
+ opacity: var(--dim-opacity);
837
+ }
838
+ .adw-menu-button .adw-menu-button-item {
839
+ box-sizing: border-box;
840
+ display: flex;
841
+ align-items: center;
842
+ gap: var(--spacing-xs);
843
+ width: 100%;
844
+ min-height: 32px;
845
+ margin: 0;
846
+ padding: var(--spacing-xs) var(--spacing-s);
847
+ border: none;
848
+ border-radius: calc(var(--button-radius) - 2px);
849
+ background-color: transparent;
850
+ color: inherit;
851
+ font-family: var(--font-family);
852
+ font-size: var(--font-size-base);
853
+ text-align: start;
854
+ cursor: pointer;
855
+ transition: background-color 0.1s ease;
856
+ }
857
+ .adw-menu-button .adw-menu-button-item .adw-menu-button-item-icon {
858
+ width: 16px;
859
+ height: 16px;
860
+ flex: none;
861
+ }
862
+ .adw-menu-button .adw-menu-button-item:hover {
863
+ background-color: var(--button-hover-color);
864
+ }
865
+ .adw-menu-button .adw-menu-button-item:active {
866
+ background-color: var(--button-active-color);
867
+ }
868
+ .adw-menu-button .adw-menu-button-item:focus-visible {
869
+ outline: 2px solid var(--accent-color);
870
+ outline-offset: -2px;
871
+ }
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
+
742
1015
  :root {
743
1016
  --active-toggle-bg-color: #ffffff;
744
1017
  --active-toggle-fg-color: var(--window-fg-color);
@@ -915,6 +1188,97 @@ adw-card,
915
1188
  overflow: hidden;
916
1189
  }
917
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
+
918
1282
  adw-clamp {
919
1283
  display: block;
920
1284
  width: 100%;
@@ -2288,6 +2652,87 @@ adw-inline-view-switcher.flat.round .adw-inline-view-switcher-toggle {
2288
2652
  border-radius: 17px;
2289
2653
  }
2290
2654
 
2655
+ adw-view-stack {
2656
+ display: flex;
2657
+ flex-direction: column;
2658
+ box-sizing: border-box;
2659
+ flex: 1 1 auto;
2660
+ min-height: 0;
2661
+ }
2662
+ adw-view-stack .adw-view-stack-child {
2663
+ display: none;
2664
+ }
2665
+ adw-view-stack .adw-view-stack-child.active-view {
2666
+ display: flex;
2667
+ flex-direction: column;
2668
+ flex: 1 1 auto;
2669
+ min-height: 0;
2670
+ }
2671
+
2672
+ adw-view-switcher-bar {
2673
+ display: block;
2674
+ box-sizing: border-box;
2675
+ background-color: var(--headerbar-bg-color);
2676
+ border-top: 1px solid var(--separator-color);
2677
+ padding: 7px 0;
2678
+ }
2679
+ adw-view-switcher-bar .adw-view-switcher-bar-box {
2680
+ display: flex;
2681
+ align-items: stretch;
2682
+ min-height: 6px;
2683
+ }
2684
+ adw-view-switcher-bar .adw-view-switcher-bar-button {
2685
+ box-sizing: border-box;
2686
+ display: inline-flex;
2687
+ flex: 1 1 0;
2688
+ flex-direction: column;
2689
+ align-items: center;
2690
+ justify-content: center;
2691
+ gap: 1px;
2692
+ margin: 0;
2693
+ padding: 4px 3px 2px;
2694
+ border: none;
2695
+ border-radius: var(--button-radius);
2696
+ background-color: transparent;
2697
+ color: var(--window-fg-color);
2698
+ font-family: var(--font-family);
2699
+ font-size: 0.75rem;
2700
+ font-weight: 700;
2701
+ line-height: 1.2;
2702
+ cursor: pointer;
2703
+ transition: color 0.2s ease, background-color 0.2s ease;
2704
+ user-select: none;
2705
+ -webkit-user-select: none;
2706
+ }
2707
+ adw-view-switcher-bar .adw-view-switcher-bar-button .adw-view-switcher-bar-icon {
2708
+ width: 16px;
2709
+ height: 16px;
2710
+ flex: none;
2711
+ }
2712
+ adw-view-switcher-bar .adw-view-switcher-bar-button .adw-view-switcher-bar-label {
2713
+ min-height: 18px;
2714
+ line-height: 18px;
2715
+ white-space: nowrap;
2716
+ overflow: hidden;
2717
+ text-overflow: ellipsis;
2718
+ }
2719
+ adw-view-switcher-bar .adw-view-switcher-bar-button:hover {
2720
+ background-color: var(--button-hover-color);
2721
+ }
2722
+ adw-view-switcher-bar .adw-view-switcher-bar-button:active {
2723
+ background-color: var(--button-active-color);
2724
+ }
2725
+ adw-view-switcher-bar .adw-view-switcher-bar-button:focus-visible {
2726
+ outline: 2px solid var(--accent-color);
2727
+ outline-offset: -2px;
2728
+ }
2729
+ adw-view-switcher-bar .adw-view-switcher-bar-button.active {
2730
+ color: var(--accent-color);
2731
+ }
2732
+ adw-view-switcher-bar .adw-view-switcher-bar-button.active .adw-view-switcher-bar-label {
2733
+ color: var(--accent-color);
2734
+ }
2735
+
2291
2736
  adw-navigation-view {
2292
2737
  display: flex;
2293
2738
  flex-direction: column;
@@ -2971,6 +3416,178 @@ adw-preferences-dialog .adw-preferences-dialog-pages {
2971
3416
  padding: var(--spacing-xl) var(--spacing-m);
2972
3417
  }
2973
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
+ }
2974
3591
  [hidden] {
2975
3592
  display: none !important;
2976
3593
  }