avo 4.0.0.beta.3 → 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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/app/assets/builds/avo/application.css +108 -23
  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 +1 -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/layout.css +3 -4
  10. data/app/assets/stylesheets/css/typography.css +18 -1
  11. data/app/components/avo/base_component.rb +9 -0
  12. data/app/components/avo/button_component.rb +1 -0
  13. data/app/components/avo/keyboard_shortcuts_component.html.erb +29 -0
  14. data/app/components/avo/keyboard_shortcuts_component.rb +127 -0
  15. data/app/components/avo/modal_component.html.erb +38 -14
  16. data/app/components/avo/modal_component.rb +10 -0
  17. data/app/components/avo/resource_component.rb +12 -5
  18. data/app/components/avo/sidebar/link_component.html.erb +13 -5
  19. data/app/components/avo/sidebar/link_component.rb +17 -0
  20. data/app/components/avo/sidebar_component.html.erb +2 -2
  21. data/app/components/avo/u_i/search_input_component.html.erb +2 -2
  22. data/app/javascript/application.js +12 -28
  23. data/app/javascript/js/controllers/base_modal_controller.js +65 -0
  24. data/app/javascript/js/controllers/confirm_dialog_controller.js +18 -0
  25. data/app/javascript/js/controllers/modal_controller.js +18 -26
  26. data/app/javascript/js/controllers/persistent_modal_controller.js +50 -0
  27. data/app/javascript/js/controllers/search_controller.js +0 -4
  28. data/app/javascript/js/controllers/sidebar_controller.js +22 -0
  29. data/app/javascript/js/controllers.js +4 -0
  30. data/app/javascript/js/global_hotkeys.js +77 -0
  31. data/app/javascript/js/helpers/toggle_hidden.js +7 -0
  32. data/app/views/avo/actions/show.html.erb +1 -1
  33. data/app/views/avo/partials/_confirm_dialog.html.erb +3 -3
  34. data/app/views/layouts/avo/application.html.erb +1 -0
  35. data/lib/avo/resources/base.rb +1 -0
  36. data/lib/avo/version.rb +1 -1
  37. metadata +9 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '009224ece686ff1bd1b3b4b3593336dd98759b01a1b76173d2197c7e8566a6cd'
4
- data.tar.gz: ddef3ecbe7b8f39bcf24a473438f24fbe226a0c0993727619e255b469846df9a
3
+ metadata.gz: 8bc41072024aca335bb61ad71567c9654a2fa3efaa91cee5fa8ca97630fe352e
4
+ data.tar.gz: c1ee0a7f198c106a9ad0050698f248ccce32a3e684ab35b5cc9876aecd9fd6f6
5
5
  SHA512:
6
- metadata.gz: 75f3e4a99a0400e57363b33f8623cc5ce33e433494badfbcb3a3441f4a68ecefc3348fe1157350e7c3c9654ca05694386c4473778bed496434e7628b814ba15e
7
- data.tar.gz: f2bbd10861ba6211d9bbf54c7b8efec2462240392952e00d05c1a03d6f2af92ed549125b7008307ccab8149f006b74889a3160366c191330954fbdd20de607f0
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.3)
4
+ avo (4.0.0.beta.4)
5
5
  actionview (>= 6.1)
6
6
  active_link_to
7
7
  activerecord (>= 6.1)
@@ -7647,13 +7647,34 @@
7647
7647
  font-size: var(--text-lg);
7648
7648
  line-height: var(--tw-leading, var(--text-lg--line-height));
7649
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
+ }
7650
7671
  @layer base {
7651
7672
  a {
7652
7673
  color: var(--color-info-content);
7653
7674
  &:active, &:hover {
7654
- 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% );
7655
7676
  @supports (color: color-mix(in lab, red, red)) {
7656
- 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% );
7657
7678
  }
7658
7679
  }
7659
7680
  &:focus-visible {
@@ -8480,10 +8501,10 @@
8480
8501
  .sidebar-toggle-icon--closed {
8481
8502
  display: none;
8482
8503
  }
8483
- button[data-sidebar-state='closed'] .sidebar-toggle-icon--open {
8504
+ button[data-sidebar-state="closed"] .sidebar-toggle-icon--open {
8484
8505
  display: none;
8485
8506
  }
8486
- button[data-sidebar-state='closed'] .sidebar-toggle-icon--closed {
8507
+ button[data-sidebar-state="closed"] .sidebar-toggle-icon--closed {
8487
8508
  display: inline-flex;
8488
8509
  }
8489
8510
  .avo-sidebar {
@@ -11531,25 +11552,6 @@
11531
11552
  color: var(--color-content-secondary);
11532
11553
  padding-inline-end: var(--input-icon-offset);
11533
11554
  }
11534
- .search-input__shortcut {
11535
- display: flex;
11536
- min-width: calc(var(--spacing) * 5);
11537
- align-items: center;
11538
- justify-content: center;
11539
- border-radius: var(--radius-sm);
11540
- border-style: var(--tw-border-style);
11541
- border-width: 1px;
11542
- border-color: var(--color-secondary);
11543
- background-color: var(--color-secondary);
11544
- padding-inline: calc(var(--spacing) * 1);
11545
- padding-block: 1px;
11546
- font-size: var(--text-xs);
11547
- line-height: var(--tw-leading, var(--text-xs--line-height));
11548
- --tw-font-weight: var(--font-weight-semibold);
11549
- font-weight: var(--font-weight-semibold);
11550
- line-height: var(--input-leading);
11551
- box-shadow: var(--box-shadow-search-input-shortcut);
11552
- }
11553
11555
  input[type="range"] {
11554
11556
  accent-color: var(--color-accent);
11555
11557
  }
@@ -12915,6 +12917,89 @@
12915
12917
  background-color: var(--color-secondary);
12916
12918
  padding-inline: calc(var(--spacing) * 0.5);
12917
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
+ }
12918
13003
  .tippy-box[data-theme~='basic'] {
12919
13004
  border-radius: var(--radius-md);
12920
13005
  border-style: var(--tw-border-style);