avo 4.0.0.beta.2 → 4.0.0.beta.4

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 (91) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/app/assets/builds/avo/application.css +355 -51
  4. data/app/assets/builds/avo/application.js +166 -166
  5. data/app/assets/builds/avo/application.js.map +4 -4
  6. data/app/assets/stylesheets/application.css +2 -0
  7. data/app/assets/stylesheets/css/components/hotkey.css +50 -0
  8. data/app/assets/stylesheets/css/components/input.css +0 -6
  9. data/app/assets/stylesheets/css/components/ui/state.css +129 -0
  10. data/app/assets/stylesheets/css/layout.css +3 -4
  11. data/app/assets/stylesheets/css/pagination.css +12 -6
  12. data/app/assets/stylesheets/css/typography.css +18 -1
  13. data/app/assets/svgs/avo/circle-minus.svg +3 -0
  14. data/app/components/avo/alert_component.rb +4 -4
  15. data/app/components/avo/backtrace_alert_component.html.erb +1 -1
  16. data/app/components/avo/base_component.rb +9 -0
  17. data/app/components/avo/button_component.rb +2 -1
  18. data/app/components/avo/debug/status_component.html.erb +2 -2
  19. data/app/components/avo/empty_state_component.html.erb +15 -4
  20. data/app/components/avo/empty_state_component.rb +9 -0
  21. data/app/components/avo/fields/common/files/view_type/grid_item_component.html.erb +1 -1
  22. data/app/components/avo/fields/common/key_value_component.html.erb +1 -1
  23. data/app/components/avo/fields/common/stars_component.html.erb +1 -1
  24. data/app/components/avo/fields/common/status_viewer_component.html.erb +3 -3
  25. data/app/components/avo/fields/preview_field/index_component.rb +1 -1
  26. data/app/components/avo/fields/stars_field/edit_component.html.erb +1 -1
  27. data/app/components/avo/filters_component.html.erb +1 -1
  28. data/app/components/avo/items/switcher_component.html.erb +1 -1
  29. data/app/components/avo/keyboard_shortcuts_component.html.erb +29 -0
  30. data/app/components/avo/keyboard_shortcuts_component.rb +127 -0
  31. data/app/components/avo/media_library/item_details_component.html.erb +2 -2
  32. data/app/components/avo/media_library/list_component.html.erb +1 -1
  33. data/app/components/avo/media_library/list_item_component.html.erb +2 -2
  34. data/app/components/avo/modal_component.html.erb +39 -15
  35. data/app/components/avo/modal_component.rb +10 -0
  36. data/app/components/avo/paginator_component.html.erb +23 -17
  37. data/app/components/avo/paginator_component.rb +18 -0
  38. data/app/components/avo/resource_component.rb +14 -7
  39. data/app/components/avo/sidebar/group_component.html.erb +1 -1
  40. data/app/components/avo/sidebar/link_component.html.erb +13 -5
  41. data/app/components/avo/sidebar/link_component.rb +17 -0
  42. data/app/components/avo/sidebar/section_component.html.erb +1 -1
  43. data/app/components/avo/sidebar_component.html.erb +2 -2
  44. data/app/components/avo/sidebar_profile_component.html.erb +1 -1
  45. data/app/components/avo/u_i/search_input_component.html.erb +2 -2
  46. data/app/components/avo/views/resource_index_component.rb +1 -1
  47. data/app/javascript/application.js +12 -28
  48. data/app/javascript/js/controllers/base_modal_controller.js +65 -0
  49. data/app/javascript/js/controllers/confirm_dialog_controller.js +18 -0
  50. data/app/javascript/js/controllers/modal_controller.js +18 -26
  51. data/app/javascript/js/controllers/persistent_modal_controller.js +50 -0
  52. data/app/javascript/js/controllers/search_controller.js +0 -4
  53. data/app/javascript/js/controllers/sidebar_controller.js +22 -0
  54. data/app/javascript/js/controllers.js +4 -0
  55. data/app/javascript/js/global_hotkeys.js +77 -0
  56. data/app/javascript/js/helpers/toggle_hidden.js +7 -0
  57. data/app/views/avo/actions/show.html.erb +1 -1
  58. data/app/views/avo/base/_date_time_filter.html.erb +1 -1
  59. data/app/views/avo/base/preview.html.erb +1 -1
  60. data/app/views/avo/debug/_valid_indicator.html.erb +2 -2
  61. data/app/views/avo/home/failed_to_load.html.erb +40 -13
  62. data/app/views/avo/media_library/_form.html.erb +1 -1
  63. data/app/views/avo/partials/_color_scheme_switcher.html.erb +4 -4
  64. data/app/views/avo/partials/_confirm_dialog.html.erb +3 -3
  65. data/app/views/avo/partials/_custom_tools_alert.html.erb +3 -3
  66. data/app/views/avo/partials/_sortable_component.html.erb +3 -3
  67. data/app/views/avo/partials/_table_header.html.erb +1 -1
  68. data/app/views/avo/private/_links_and_buttons.html.erb +2 -2
  69. data/app/views/avo/private/design.html.erb +4 -4
  70. data/app/views/avo/sidebar/_license_warning.html.erb +2 -2
  71. data/app/views/layouts/avo/application.html.erb +1 -0
  72. data/lib/avo/resources/base.rb +1 -0
  73. data/lib/avo/version.rb +1 -1
  74. data/lib/generators/avo/resource_generator.rb +3 -3
  75. data/lib/generators/avo/templates/initializer/avo.tt +4 -4
  76. data/lib/generators/avo/templates/resource_tools/partial.tt +1 -1
  77. metadata +11 -15
  78. data/app/assets/svgs/avo/arrow-circle-right.svg +0 -1
  79. data/app/assets/svgs/avo/bell.svg +0 -3
  80. data/app/assets/svgs/avo/color-swatch.svg +0 -1
  81. data/app/assets/svgs/avo/dashboards.svg +0 -6
  82. data/app/assets/svgs/avo/exclamation.svg +0 -1
  83. data/app/assets/svgs/avo/filter.svg +0 -1
  84. data/app/assets/svgs/avo/logout.svg +0 -3
  85. data/app/assets/svgs/avo/resources.svg +0 -13
  86. data/app/assets/svgs/avo/save.svg +0 -8
  87. data/app/assets/svgs/avo/selector.svg +0 -1
  88. data/app/assets/svgs/avo/sort-ascending.svg +0 -1
  89. data/app/assets/svgs/avo/sort-descending.svg +0 -1
  90. data/app/assets/svgs/avo/times.svg +0 -3
  91. data/app/assets/svgs/avo/tools.svg +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 19ff8cb45166e5eba8e5f34a5077f598110351433d7617aa0acb0ef16024d503
4
- data.tar.gz: f959099635501f862297712d3a67de1cde5e3b2eda3872913deef69a2eea8412
3
+ metadata.gz: 8bc41072024aca335bb61ad71567c9654a2fa3efaa91cee5fa8ca97630fe352e
4
+ data.tar.gz: c1ee0a7f198c106a9ad0050698f248ccce32a3e684ab35b5cc9876aecd9fd6f6
5
5
  SHA512:
6
- metadata.gz: f0483f39c5f03075b9ead52b593d5307e665b5993723ccad3877faa861c96edcd8ee1edf51050b1fc169c357c1781a23c4a794df9a9b599123509e91b4247979
7
- data.tar.gz: fd7c1d840794b4a117f0730bb46836f0576de3d4826613da6bcb5b99ba56a80be61be189689a3969726cd8d9ee460507205acf4b739f1d409fff42f5fd065398
6
+ metadata.gz: 4e80b61da0c33adb3c3ec528e7541fdabf042645912cf87eac10b344061a4dff768120c5ec0845ce465b42824b994bb26763a02ed2b15fc8923d40b42601a37a
7
+ data.tar.gz: 3e0e5e9acca71e4b43764bf7f9c47ec3f337208ce65bf148be5cc12450ae2e7c19d6031399269416b4fa3dd343ff245dc5c584afbf1077303dbc7a07dda1801b
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- avo (4.0.0.beta.2)
4
+ avo (4.0.0.beta.4)
5
5
  actionview (>= 6.1)
6
6
  active_link_to
7
7
  activerecord (>= 6.1)
@@ -559,9 +559,6 @@
559
559
  .start-1 {
560
560
  inset-inline-start: calc(var(--spacing) * 1);
561
561
  }
562
- .start-1\/2 {
563
- inset-inline-start: calc(1/2 * 100%);
564
- }
565
562
  .end {
566
563
  inset-inline-end: var(--spacing);
567
564
  }
@@ -966,12 +963,6 @@
966
963
  .h-40 {
967
964
  height: calc(var(--spacing) * 40);
968
965
  }
969
- .h-52 {
970
- height: calc(var(--spacing) * 52);
971
- }
972
- .h-64 {
973
- height: calc(var(--spacing) * 64);
974
- }
975
966
  .h-\[0\.75rem\] {
976
967
  height: 0.75rem;
977
968
  }
@@ -1628,10 +1619,6 @@
1628
1619
  border-bottom-style: var(--tw-border-style);
1629
1620
  border-bottom-width: 1px;
1630
1621
  }
1631
- .border-b-2 {
1632
- border-bottom-style: var(--tw-border-style);
1633
- border-bottom-width: 2px;
1634
- }
1635
1622
  .border-l {
1636
1623
  border-left-style: var(--tw-border-style);
1637
1624
  border-left-width: 1px;
@@ -1669,9 +1656,6 @@
1669
1656
  .border-blue-600 {
1670
1657
  border-color: var(--color-blue-600);
1671
1658
  }
1672
- .border-content-secondary {
1673
- border-color: var(--color-content-secondary);
1674
- }
1675
1659
  .border-cyan-300 {
1676
1660
  border-color: var(--color-cyan-300);
1677
1661
  }
@@ -2233,9 +2217,6 @@
2233
2217
  .pb-2 {
2234
2218
  padding-bottom: calc(var(--spacing) * 2);
2235
2219
  }
2236
- .pb-3 {
2237
- padding-bottom: calc(var(--spacing) * 3);
2238
- }
2239
2220
  .pb-4 {
2240
2221
  padding-bottom: calc(var(--spacing) * 4);
2241
2222
  }
@@ -2428,9 +2409,6 @@
2428
2409
  .text-fuchsia-700 {
2429
2410
  color: var(--color-fuchsia-700);
2430
2411
  }
2431
- .text-gray-300 {
2432
- color: var(--color-gray-300);
2433
- }
2434
2412
  .text-gray-400 {
2435
2413
  color: var(--color-gray-400);
2436
2414
  }
@@ -7669,13 +7647,34 @@
7669
7647
  font-size: var(--text-lg);
7670
7648
  line-height: var(--tw-leading, var(--text-lg--line-height));
7671
7649
  }
7650
+ kbd {
7651
+ display: inline-flex;
7652
+ min-width: calc(var(--spacing) * 5);
7653
+ align-items: center;
7654
+ justify-content: center;
7655
+ border-radius: var(--radius-sm);
7656
+ border-style: var(--tw-border-style);
7657
+ border-width: 1px;
7658
+ border-color: var(--color-secondary);
7659
+ background-color: var(--color-secondary);
7660
+ padding-inline: calc(var(--spacing) * 1);
7661
+ font-size: var(--text-xs);
7662
+ line-height: var(--tw-leading, var(--text-xs--line-height));
7663
+ --tw-font-weight: var(--font-weight-semibold);
7664
+ font-weight: var(--font-weight-semibold);
7665
+ color: var(--color-content-secondary);
7666
+ box-shadow: var(--box-shadow-search-input-shortcut);
7667
+ }
7668
+ kbd.kbd--called {
7669
+ opacity: 0.4;
7670
+ }
7672
7671
  @layer base {
7673
7672
  a {
7674
7673
  color: var(--color-info-content);
7675
7674
  &:active, &:hover {
7676
- color: color-mix(in srgb, oklch(54.6% 0.245 262.881), oklch(20.46% 0.0000 89.88) 30%);
7675
+ color: color-mix( in oklab, oklch(54.6% 0.245 262.881), oklch(20.46% 0.0000 89.88) 30% );
7677
7676
  @supports (color: color-mix(in lab, red, red)) {
7678
- color: color-mix(in oklab, var(--color-info-content), var(--color-content) 30%);
7677
+ color: color-mix( in oklab, var(--color-info-content), var(--color-content) 30% );
7679
7678
  }
7680
7679
  }
7681
7680
  &:focus-visible {
@@ -7927,6 +7926,9 @@
7927
7926
  @media (width >= 40rem) {
7928
7927
  flex-direction: row;
7929
7928
  }
7929
+ @media (width >= 40rem) {
7930
+ flex-wrap: wrap;
7931
+ }
7930
7932
  @media (width >= 40rem) {
7931
7933
  align-items: flex-end;
7932
7934
  }
@@ -7937,6 +7939,7 @@
7937
7939
  .pagination__per-page {
7938
7940
  --pagination-per-page-width: 10rem;
7939
7941
  display: flex;
7942
+ flex-shrink: 0;
7940
7943
  align-items: center;
7941
7944
  }
7942
7945
  .pagination__per-page-input {
@@ -7995,14 +7998,32 @@
7995
7998
  --tw-font-weight: var(--font-weight-normal);
7996
7999
  font-weight: var(--font-weight-normal);
7997
8000
  }
8001
+ .pagination__controls-wrap {
8002
+ display: flex;
8003
+ width: 100%;
8004
+ min-width: calc(var(--spacing) * 0);
8005
+ @media (width >= 40rem) {
8006
+ min-width: 22rem;
8007
+ }
8008
+ @media (width >= 40rem) {
8009
+ flex: 1 1 28rem;
8010
+ }
8011
+ @media (width >= 40rem) {
8012
+ justify-content: flex-end;
8013
+ }
8014
+ }
7998
8015
  .pagination__controls {
7999
8016
  display: flex;
8000
- width: fit-content;
8001
- flex-shrink: 0;
8017
+ width: 100%;
8018
+ max-width: 100%;
8019
+ min-width: calc(var(--spacing) * 0);
8020
+ --tw-pan-x: pan-x;
8021
+ touch-action: var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,);
8002
8022
  align-items: center;
8003
8023
  gap: calc(var(--spacing) * 3);
8004
- overflow: hidden;
8005
- overflow: visible;
8024
+ overflow-x: auto;
8025
+ overflow-y: hidden;
8026
+ overscroll-behavior-x: contain;
8006
8027
  border-radius: var(--radius-lg);
8007
8028
  border-style: var(--tw-border-style);
8008
8029
  border-width: 1px;
@@ -8010,11 +8031,16 @@
8010
8031
  background-color: var(--color-primary);
8011
8032
  padding-inline-start: calc(var(--spacing) * 3);
8012
8033
  padding-inline-end: calc(var(--spacing) * 2);
8034
+ @media (width >= 40rem) {
8035
+ width: fit-content;
8036
+ }
8037
+ -webkit-overflow-scrolling: touch;
8038
+ scrollbar-gutter: stable;
8013
8039
  }
8014
8040
  .pagination__info {
8015
8041
  display: flex;
8042
+ flex-shrink: 0;
8016
8043
  align-items: center;
8017
- overflow: hidden;
8018
8044
  border-inline-end-style: var(--tw-border-style);
8019
8045
  border-inline-end-width: 1px;
8020
8046
  border-color: var(--color-tertiary);
@@ -8026,7 +8052,6 @@
8026
8052
  line-height: calc(var(--spacing) * 5);
8027
8053
  --tw-font-weight: var(--font-weight-normal);
8028
8054
  font-weight: var(--font-weight-normal);
8029
- text-overflow: ellipsis;
8030
8055
  white-space: nowrap;
8031
8056
  color: var(--color-content);
8032
8057
  &:last-child {
@@ -8041,12 +8066,15 @@
8041
8066
  }
8042
8067
  .pagination__nav {
8043
8068
  display: flex;
8069
+ flex-shrink: 0;
8044
8070
  align-items: center;
8045
8071
  }
8046
8072
  .pagy.series-nav {
8047
8073
  display: flex;
8074
+ min-width: max-content;
8048
8075
  align-items: center;
8049
8076
  gap: calc(var(--spacing) * 0.5);
8077
+ white-space: nowrap;
8050
8078
  a[role="separator"] {
8051
8079
  padding-inline: calc(var(--spacing) * 2);
8052
8080
  font-size: var(--text-sm);
@@ -8473,10 +8501,10 @@
8473
8501
  .sidebar-toggle-icon--closed {
8474
8502
  display: none;
8475
8503
  }
8476
- button[data-sidebar-state='closed'] .sidebar-toggle-icon--open {
8504
+ button[data-sidebar-state="closed"] .sidebar-toggle-icon--open {
8477
8505
  display: none;
8478
8506
  }
8479
- button[data-sidebar-state='closed'] .sidebar-toggle-icon--closed {
8507
+ button[data-sidebar-state="closed"] .sidebar-toggle-icon--closed {
8480
8508
  display: inline-flex;
8481
8509
  }
8482
8510
  .avo-sidebar {
@@ -10775,6 +10803,203 @@
10775
10803
  --badge-bg: var(--color-rose-400);
10776
10804
  --badge-text: var(--color-rose-600);
10777
10805
  }
10806
+ .state {
10807
+ margin-inline: auto;
10808
+ display: flex;
10809
+ width: 100%;
10810
+ max-width: calc(var(--spacing) * 72);
10811
+ flex-direction: column;
10812
+ align-items: center;
10813
+ justify-content: center;
10814
+ gap: calc(var(--spacing) * 3);
10815
+ border-radius: var(--radius-lg);
10816
+ background-color: var(--color-background);
10817
+ padding: calc(var(--spacing) * 6);
10818
+ text-align: center;
10819
+ }
10820
+ .state__illustration {
10821
+ position: relative;
10822
+ display: flex;
10823
+ height: calc(var(--spacing) * 36);
10824
+ width: calc(var(--spacing) * 60);
10825
+ align-items: center;
10826
+ justify-content: center;
10827
+ }
10828
+ .state__card {
10829
+ position: absolute;
10830
+ display: flex;
10831
+ height: calc(var(--spacing) * 11);
10832
+ width: calc(var(--spacing) * 44);
10833
+ align-items: center;
10834
+ gap: calc(var(--spacing) * 1.5);
10835
+ border-radius: var(--radius-lg);
10836
+ border-style: var(--tw-border-style);
10837
+ border-width: 1px;
10838
+ border-color: var(--color-secondary);
10839
+ padding: calc(var(--spacing) * 2.5);
10840
+ background: linear-gradient(194deg, var(--color-primary) 27%, var(--color-background) 65%);
10841
+ box-shadow: var(--box-shadow-card);
10842
+ }
10843
+ .state__card--top {
10844
+ inset-inline-start: calc(var(--spacing) * 0);
10845
+ top: calc(var(--spacing) * 0);
10846
+ }
10847
+ .state__card--middle {
10848
+ inset-inline-start: calc(var(--spacing) * 14);
10849
+ top: calc(var(--spacing) * 8);
10850
+ }
10851
+ .state__card--bottom {
10852
+ inset-inline-start: calc(var(--spacing) * 5);
10853
+ top: calc(var(--spacing) * 20);
10854
+ }
10855
+ .state__badge {
10856
+ display: flex;
10857
+ width: calc(var(--spacing) * 6);
10858
+ height: calc(var(--spacing) * 6);
10859
+ flex-shrink: 0;
10860
+ align-items: center;
10861
+ justify-content: center;
10862
+ border-radius: calc(infinity * 1px);
10863
+ font-size: var(--text-xs);
10864
+ line-height: var(--tw-leading, var(--text-xs--line-height));
10865
+ --tw-leading: 1;
10866
+ line-height: 1;
10867
+ --tw-font-weight: var(--font-weight-medium);
10868
+ font-weight: var(--font-weight-medium);
10869
+ color: var(--color-content);
10870
+ background: color-mix(in srgb, oklch(92.80% 0.0000 89.88) 88%, #fff);
10871
+ @supports (color: color-mix(in lab, red, red)) {
10872
+ background: color-mix(in oklab, var(--color-tertiary) 88%, var(--color-primary));
10873
+ }
10874
+ }
10875
+ .state__body {
10876
+ display: flex;
10877
+ min-width: calc(var(--spacing) * 0);
10878
+ flex: 1;
10879
+ flex-direction: column;
10880
+ gap: calc(var(--spacing) * 1);
10881
+ }
10882
+ .state__line {
10883
+ display: block;
10884
+ height: calc(var(--spacing) * 1.5);
10885
+ border-radius: calc(infinity * 1px);
10886
+ background: color-mix(in srgb, oklch(92.80% 0.0000 89.88) 78%, #fff);
10887
+ @supports (color: color-mix(in lab, red, red)) {
10888
+ background: color-mix(in oklab, var(--color-tertiary) 78%, var(--color-primary));
10889
+ }
10890
+ }
10891
+ .state__line--title {
10892
+ opacity: 75%;
10893
+ }
10894
+ .state__line--large {
10895
+ width: calc(var(--spacing) * 14);
10896
+ }
10897
+ .state__line--medium {
10898
+ width: calc(var(--spacing) * 12);
10899
+ }
10900
+ .state__line--small {
10901
+ width: calc(var(--spacing) * 11);
10902
+ }
10903
+ .state__line--content {
10904
+ width: 100%;
10905
+ }
10906
+ .state__message {
10907
+ font-size: var(--text-base);
10908
+ line-height: var(--tw-leading, var(--text-base--line-height));
10909
+ --tw-leading: calc(var(--spacing) * 6);
10910
+ line-height: calc(var(--spacing) * 6);
10911
+ --tw-font-weight: var(--font-weight-normal);
10912
+ font-weight: var(--font-weight-normal);
10913
+ color: var(--color-content-secondary);
10914
+ }
10915
+ .state--frame-load-failed {
10916
+ max-width: calc(var(--spacing) * 96);
10917
+ gap: calc(var(--spacing) * 1);
10918
+ }
10919
+ .state__document {
10920
+ position: absolute;
10921
+ display: flex;
10922
+ height: calc(var(--spacing) * 28);
10923
+ width: calc(var(--spacing) * 20);
10924
+ flex-direction: column;
10925
+ border-radius: var(--radius-lg);
10926
+ border-style: var(--tw-border-style);
10927
+ border-width: 1px;
10928
+ border-color: var(--color-secondary);
10929
+ padding: calc(var(--spacing) * 0.5);
10930
+ background: linear-gradient(235deg, var(--color-primary) 27%, var(--color-background) 65%);
10931
+ }
10932
+ .state__document--start {
10933
+ inset-inline-start: calc(var(--spacing) * 4);
10934
+ rotate: -21deg;
10935
+ }
10936
+ .state__document--center {
10937
+ inset-inline-start: calc(var(--spacing) * 16);
10938
+ z-index: 10;
10939
+ }
10940
+ .state__document--end {
10941
+ inset-inline-start: calc(var(--spacing) * 24);
10942
+ z-index: 0;
10943
+ rotate: 21deg;
10944
+ }
10945
+ .state__document-body {
10946
+ display: flex;
10947
+ height: 100%;
10948
+ width: 100%;
10949
+ align-items: center;
10950
+ border-radius: var(--radius-lg);
10951
+ padding: calc(var(--spacing) * 2.5);
10952
+ box-shadow: var(--box-shadow-card);
10953
+ }
10954
+ .state__document-lines {
10955
+ display: flex;
10956
+ height: 100%;
10957
+ width: 100%;
10958
+ flex-direction: column;
10959
+ justify-content: space-between;
10960
+ }
10961
+ .state__document-line {
10962
+ display: block;
10963
+ height: calc(var(--spacing) * 1);
10964
+ width: 100%;
10965
+ border-radius: calc(infinity * 1px);
10966
+ background: color-mix(in srgb, oklch(92.80% 0.0000 89.88) 78%, #fff);
10967
+ @supports (color: color-mix(in lab, red, red)) {
10968
+ background: color-mix(in oklab, var(--color-tertiary) 78%, var(--color-primary));
10969
+ }
10970
+ }
10971
+ .state__document-line--short {
10972
+ width: calc(var(--spacing) * 10);
10973
+ }
10974
+ .state__magnifier {
10975
+ position: absolute;
10976
+ inset-inline-start: 30%;
10977
+ top: 30%;
10978
+ z-index: 20;
10979
+ background-image: none;
10980
+ }
10981
+ .state__magnifier-icon {
10982
+ width: calc(var(--spacing) * 24);
10983
+ height: calc(var(--spacing) * 24);
10984
+ color: var(--color-content-secondary);
10985
+ opacity: 20%;
10986
+ }
10987
+ .state__note {
10988
+ text-align: center;
10989
+ font-size: var(--text-sm);
10990
+ line-height: var(--tw-leading, var(--text-sm--line-height));
10991
+ --tw-leading: calc(var(--spacing) * 5);
10992
+ line-height: calc(var(--spacing) * 5);
10993
+ --tw-font-weight: var(--font-weight-normal);
10994
+ font-weight: var(--font-weight-normal);
10995
+ color: var(--color-content);
10996
+ }
10997
+ .state__link {
10998
+ color: color-mix(in srgb, oklch(54.6% 0.245 262.881), oklch(20.46% 0.0000 89.88) 10%);
10999
+ @supports (color: color-mix(in lab, red, red)) {
11000
+ color: color-mix(in oklab, var(--color-info-content), var(--color-content) 10%);
11001
+ }
11002
+ }
10778
11003
  .file-upload-input {
10779
11004
  position: relative;
10780
11005
  display: flex;
@@ -11327,25 +11552,6 @@
11327
11552
  color: var(--color-content-secondary);
11328
11553
  padding-inline-end: var(--input-icon-offset);
11329
11554
  }
11330
- .search-input__shortcut {
11331
- display: flex;
11332
- min-width: calc(var(--spacing) * 5);
11333
- align-items: center;
11334
- justify-content: center;
11335
- border-radius: var(--radius-sm);
11336
- border-style: var(--tw-border-style);
11337
- border-width: 1px;
11338
- border-color: var(--color-secondary);
11339
- background-color: var(--color-secondary);
11340
- padding-inline: calc(var(--spacing) * 1);
11341
- padding-block: 1px;
11342
- font-size: var(--text-xs);
11343
- line-height: var(--tw-leading, var(--text-xs--line-height));
11344
- --tw-font-weight: var(--font-weight-semibold);
11345
- font-weight: var(--font-weight-semibold);
11346
- line-height: var(--input-leading);
11347
- box-shadow: var(--box-shadow-search-input-shortcut);
11348
- }
11349
11555
  input[type="range"] {
11350
11556
  accent-color: var(--color-accent);
11351
11557
  }
@@ -12711,6 +12917,89 @@
12711
12917
  background-color: var(--color-secondary);
12712
12918
  padding-inline: calc(var(--spacing) * 0.5);
12713
12919
  }
12920
+ .hotkey__grid {
12921
+ padding: calc(var(--spacing) * 6);
12922
+ columns: 1;
12923
+ column-gap: 2rem;
12924
+ @media (min-width: 40rem) {
12925
+ columns: 2;
12926
+ }
12927
+ }
12928
+ .hotkey__section {
12929
+ margin-bottom: calc(var(--spacing) * 10);
12930
+ min-width: calc(var(--spacing) * 0);
12931
+ break-inside: avoid;
12932
+ }
12933
+ .hotkey__section-title {
12934
+ margin-bottom: calc(var(--spacing) * 4);
12935
+ font-size: var(--text-xs);
12936
+ line-height: var(--tw-leading, var(--text-xs--line-height));
12937
+ --tw-font-weight: var(--font-weight-bold);
12938
+ font-weight: var(--font-weight-bold);
12939
+ --tw-tracking: var(--tracking-wide);
12940
+ letter-spacing: var(--tracking-wide);
12941
+ color: var(--color-content-secondary);
12942
+ text-transform: uppercase;
12943
+ }
12944
+ .hotkey__section-body {
12945
+ margin: calc(var(--spacing) * 0);
12946
+ display: flex;
12947
+ width: 100%;
12948
+ list-style-type: none;
12949
+ flex-direction: column;
12950
+ gap: calc(var(--spacing) * 2);
12951
+ padding: calc(var(--spacing) * 0);
12952
+ }
12953
+ .hotkey__row {
12954
+ display: flex;
12955
+ width: 100%;
12956
+ align-items: flex-start;
12957
+ justify-content: space-between;
12958
+ gap: calc(var(--spacing) * 4);
12959
+ border-bottom-style: var(--tw-border-style);
12960
+ border-bottom-width: 1px;
12961
+ border-color: var(--color-tertiary);
12962
+ --tw-leading: calc(var(--spacing) * 6);
12963
+ line-height: calc(var(--spacing) * 6);
12964
+ &:last-child {
12965
+ border-bottom-style: var(--tw-border-style);
12966
+ border-bottom-width: 0px;
12967
+ }
12968
+ }
12969
+ .hotkey__action {
12970
+ font-size: var(--text-sm);
12971
+ line-height: var(--tw-leading, var(--text-sm--line-height));
12972
+ }
12973
+ .hotkey__keys {
12974
+ display: flex;
12975
+ flex-shrink: 0;
12976
+ flex-wrap: wrap;
12977
+ align-items: center;
12978
+ justify-content: flex-end;
12979
+ column-gap: calc(var(--spacing) * 1.5);
12980
+ row-gap: calc(var(--spacing) * 1.5);
12981
+ padding-top: calc(var(--spacing) * 0.5);
12982
+ }
12983
+ .hotkey__or {
12984
+ padding-inline: calc(var(--spacing) * 1);
12985
+ font-size: var(--text-base);
12986
+ line-height: var(--tw-leading, var(--text-base--line-height));
12987
+ --tw-leading: calc(var(--spacing) * 6);
12988
+ line-height: calc(var(--spacing) * 6);
12989
+ --tw-font-weight: var(--font-weight-medium);
12990
+ font-weight: var(--font-weight-medium);
12991
+ color: var(--color-content-secondary);
12992
+ }
12993
+ .hotkey__combo {
12994
+ display: inline-flex;
12995
+ align-items: center;
12996
+ gap: calc(var(--spacing) * 1.5);
12997
+ }
12998
+ .hotkey__key-separator {
12999
+ --tw-font-weight: var(--font-weight-medium);
13000
+ font-weight: var(--font-weight-medium);
13001
+ color: var(--color-content-secondary);
13002
+ }
12714
13003
  .tippy-box[data-theme~='basic'] {
12715
13004
  border-radius: var(--radius-md);
12716
13005
  border-style: var(--tw-border-style);
@@ -13891,6 +14180,18 @@
13891
14180
  inherits: false;
13892
14181
  initial-value: solid;
13893
14182
  }
14183
+ @property --tw-pan-x {
14184
+ syntax: "*";
14185
+ inherits: false;
14186
+ }
14187
+ @property --tw-pan-y {
14188
+ syntax: "*";
14189
+ inherits: false;
14190
+ }
14191
+ @property --tw-pinch-zoom {
14192
+ syntax: "*";
14193
+ inherits: false;
14194
+ }
13894
14195
  @keyframes spin {
13895
14196
  to {
13896
14197
  transform: rotate(360deg);
@@ -13974,6 +14275,9 @@
13974
14275
  --tw-ease: initial;
13975
14276
  --tw-content: "";
13976
14277
  --tw-outline-style: solid;
14278
+ --tw-pan-x: initial;
14279
+ --tw-pan-y: initial;
14280
+ --tw-pinch-zoom: initial;
13977
14281
  }
13978
14282
  }
13979
14283
  }