avo 4.0.0.beta.30 → 4.0.0.beta.32

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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/app/assets/builds/avo/application.css +222 -158
  4. data/app/assets/builds/avo/application.js +2 -2
  5. data/app/assets/builds/avo/application.js.map +3 -3
  6. data/app/assets/images/avo/favicon-dark.ico +0 -0
  7. data/app/assets/images/avo/logo-dark.png +0 -0
  8. data/app/assets/images/avo/logomark-dark.png +0 -0
  9. data/app/assets/stylesheets/css/components/breadcrumbs.css +44 -4
  10. data/app/assets/stylesheets/css/components/color_scheme_switcher.css +17 -22
  11. data/app/assets/stylesheets/css/components/ui/card.css +5 -0
  12. data/app/assets/stylesheets/css/components/ui/description_list.css +1 -1
  13. data/app/assets/stylesheets/css/fields/code.css +1 -1
  14. data/app/assets/stylesheets/css/layout.css +187 -38
  15. data/app/assets/stylesheets/css/scrollbar.css +12 -0
  16. data/app/assets/stylesheets/css/sidebar.css +2 -2
  17. data/app/components/avo/fields/belongs_to_field/edit_component.html.erb +3 -3
  18. data/app/javascript/js/controllers/actions_overflow_controller.js +22 -3
  19. data/app/javascript/js/controllers/sidebar_controller.js +11 -0
  20. data/app/views/avo/partials/_footer.html.erb +1 -1
  21. data/app/views/avo/partials/_navbar.html.erb +31 -49
  22. data/app/views/layouts/avo/application.html.erb +20 -24
  23. data/lib/avo/concerns/breadcrumbs.rb +1 -0
  24. data/lib/avo/configuration/appearance.rb +27 -37
  25. data/lib/avo/version.rb +1 -1
  26. data/lib/generators/avo/templates/locales/avo.ar.yml +1 -0
  27. data/lib/generators/avo/templates/locales/avo.de.yml +1 -0
  28. data/lib/generators/avo/templates/locales/avo.en.yml +1 -0
  29. data/lib/generators/avo/templates/locales/avo.es.yml +1 -0
  30. data/lib/generators/avo/templates/locales/avo.fr.yml +1 -0
  31. data/lib/generators/avo/templates/locales/avo.it.yml +1 -0
  32. data/lib/generators/avo/templates/locales/avo.ja.yml +1 -0
  33. data/lib/generators/avo/templates/locales/avo.nb.yml +1 -0
  34. data/lib/generators/avo/templates/locales/avo.nl.yml +1 -0
  35. data/lib/generators/avo/templates/locales/avo.nn.yml +1 -0
  36. data/lib/generators/avo/templates/locales/avo.pl.yml +1 -0
  37. data/lib/generators/avo/templates/locales/avo.pt-BR.yml +1 -0
  38. data/lib/generators/avo/templates/locales/avo.pt.yml +1 -0
  39. data/lib/generators/avo/templates/locales/avo.ro.yml +1 -0
  40. data/lib/generators/avo/templates/locales/avo.ru.yml +1 -0
  41. data/lib/generators/avo/templates/locales/avo.tr.yml +1 -0
  42. data/lib/generators/avo/templates/locales/avo.ua.yml +1 -0
  43. data/lib/generators/avo/templates/locales/avo.zh-TW.yml +1 -0
  44. data/lib/generators/avo/templates/locales/avo.zh.yml +1 -0
  45. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69ced6b7c6199125c5bd557c6aedfee3da17629fbd9a6c6dff9335e0ea8ed0ed
4
- data.tar.gz: 9dd002010cc8c6913de34701227d18c22cb826714df00bdffe7abf5b11a430ec
3
+ metadata.gz: 5b9c978ce261357e5a81894c47242b55abe28895b02c1dedd2d102567bf6d0da
4
+ data.tar.gz: 7290328cdc399b9fd14abeb646e84a0e0256b714ba71ef88eaac00294db6404f
5
5
  SHA512:
6
- metadata.gz: dc3f5e45352156b69528559251c8595898bf9a770daefb9b994af2d62ac4f456346749ce5c0120995973c999ec12a9106d50098d6d518472b989ce9d11f49c94
7
- data.tar.gz: 87efd6756a067fd5d033eada4fb90b114aac1a70c42481a66f7d0424d5bd0a461250b044dbfb2fcbd5b0ec04f9ebeac41de5375af44534be76c3993bb5df121f
6
+ metadata.gz: f966bbf5104d23faa12b47819002d16ac9b39561d1112658ddde72cbb313eb2fb041c991fee21102df284a689594734395335f542f1cfa27bd7e4025f20b0c2f
7
+ data.tar.gz: 9df3e5f7f29afa6f16f5eaa0b0e0211b4e006deba9e0e8736bf1d783254300739a14ac0b2e49b88cac2519dacdc92ed848e6dbbaaefade335bb562bb094ff738
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- avo (4.0.0.beta.30)
4
+ avo (4.0.0.beta.32)
5
5
  actionview (>= 6.1)
6
6
  active_link_to
7
7
  activerecord (>= 6.1)
@@ -312,6 +312,7 @@
312
312
  --color-avo-neutral-300: oklch(75.72% 0 89.88);
313
313
  --color-avo-neutral-400: oklch(62.68% 0 89.88);
314
314
  --color-avo-neutral-500: oklch(53.48% 0 89.88);
315
+ --color-avo-neutral-600: oklch(47.84% 0 89.88);
315
316
  --color-avo-neutral-700: oklch(42.76% 0 89.88);
316
317
  --color-avo-neutral-800: oklch(39.04% 0 89.88);
317
318
  --color-avo-neutral-900: oklch(27.68% 0 89.88);
@@ -353,6 +354,11 @@
353
354
  --color-accent-foreground: var(--color-white);
354
355
  --color-brand-neutral-400: oklch(62.68% 0 89.88);
355
356
  --color-brand-accent: oklch(39.04% 0 89.88);
357
+ --top-navbar-height: 3.5rem;
358
+ --navbar-bg: var(--color-avo-neutral-900);
359
+ --navbar-notch-radius: 1rem;
360
+ --navbar-notch-color: var(--navbar-bg);
361
+ --border-color: var(--color-tertiary);
356
362
  --color-table-row-selected: color-mix(in srgb, #fff, oklch(20.46% 0 89.88) 12%);
357
363
  @supports (color: color-mix(in lab, red, red)) {
358
364
  --color-table-row-selected: color-mix(in oklab, var(--color-primary), var(--color-content) 12%);
@@ -722,9 +728,6 @@
722
728
  max-width: 96rem;
723
729
  }
724
730
  }
725
- .m-0 {
726
- margin: calc(var(--spacing) * 0);
727
- }
728
731
  .m-2 {
729
732
  margin: calc(var(--spacing) * 2);
730
733
  }
@@ -966,9 +969,6 @@
966
969
  .h-12 {
967
970
  height: calc(var(--spacing) * 12);
968
971
  }
969
- .h-16 {
970
- height: calc(var(--spacing) * 16);
971
- }
972
972
  .h-20 {
973
973
  height: calc(var(--spacing) * 20);
974
974
  }
@@ -1044,6 +1044,9 @@
1044
1044
  .min-h-full {
1045
1045
  min-height: 100%;
1046
1046
  }
1047
+ .\!w-full {
1048
+ width: 100% !important;
1049
+ }
1047
1050
  .w-0 {
1048
1051
  width: calc(var(--spacing) * 0);
1049
1052
  }
@@ -1616,10 +1619,6 @@
1616
1619
  border-style: var(--tw-border-style);
1617
1620
  border-width: 1px;
1618
1621
  }
1619
- .border-0 {
1620
- border-style: var(--tw-border-style);
1621
- border-width: 0px;
1622
- }
1623
1622
  .border-2 {
1624
1623
  border-style: var(--tw-border-style);
1625
1624
  border-width: 2px;
@@ -2215,6 +2214,9 @@
2215
2214
  .pt-4 {
2216
2215
  padding-top: calc(var(--spacing) * 4);
2217
2216
  }
2217
+ .pt-8 {
2218
+ padding-top: calc(var(--spacing) * 8);
2219
+ }
2218
2220
  .pb-0\.5 {
2219
2221
  padding-bottom: calc(var(--spacing) * 0.5);
2220
2222
  }
@@ -2622,6 +2624,10 @@
2622
2624
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
2623
2625
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2624
2626
  }
2627
+ .ring {
2628
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
2629
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2630
+ }
2625
2631
  .outline {
2626
2632
  outline-style: var(--tw-outline-style);
2627
2633
  outline-width: 1px;
@@ -4205,15 +4211,6 @@
4205
4211
  justify-content: flex-start;
4206
4212
  }
4207
4213
  }
4208
- .sm\:space-x-8 {
4209
- @media (width >= 40rem) {
4210
- :where(& > :not(:last-child)) {
4211
- --tw-space-x-reverse: 0;
4212
- margin-inline-start: calc(calc(var(--spacing) * 8) * var(--tw-space-x-reverse));
4213
- margin-inline-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)));
4214
- }
4215
- }
4216
- }
4217
4214
  .sm\:p-6 {
4218
4215
  @media (width >= 40rem) {
4219
4216
  padding: calc(var(--spacing) * 6);
@@ -4245,11 +4242,6 @@
4245
4242
  padding-inline: calc(var(--spacing) * 24);
4246
4243
  }
4247
4244
  }
4248
- .lg\:\!inline-flex {
4249
- @media (width >= 64rem) {
4250
- display: inline-flex !important;
4251
- }
4252
- }
4253
4245
  .lg\:flex {
4254
4246
  @media (width >= 64rem) {
4255
4247
  display: flex;
@@ -4265,21 +4257,6 @@
4265
4257
  display: inline-flex;
4266
4258
  }
4267
4259
  }
4268
- .lg\:w-64 {
4269
- @media (width >= 64rem) {
4270
- width: calc(var(--spacing) * 64);
4271
- }
4272
- }
4273
- .lg\:justify-start {
4274
- @media (width >= 64rem) {
4275
- justify-content: flex-start;
4276
- }
4277
- }
4278
- .lg\:px-1 {
4279
- @media (width >= 64rem) {
4280
- padding-inline: calc(var(--spacing) * 1);
4281
- }
4282
- }
4283
4260
  .lg\:px-8 {
4284
4261
  @media (width >= 64rem) {
4285
4262
  padding-inline: calc(var(--spacing) * 8);
@@ -5515,6 +5492,10 @@
5515
5492
  input[type=file][data-direct-upload-url][disabled] {
5516
5493
  display: none;
5517
5494
  }
5495
+ html, body, .main-content, .scrollable-wrapper {
5496
+ scroll-padding-top: calc(var(--top-navbar-height) + var(--spacing) * 2);
5497
+ scroll-padding-bottom: calc(var(--spacing) * 2);
5498
+ }
5518
5499
  body.os-pc .mac-styled-scrollbar::-webkit-scrollbar {
5519
5500
  background-color: none;
5520
5501
  width: 0.5rem;
@@ -5536,8 +5517,10 @@
5536
5517
  body.os-pc .mac-styled-scrollbar:hover::-webkit-scrollbar-thumb {
5537
5518
  display: block;
5538
5519
  }
5539
- :root {
5540
- --top-navbar-height: 4rem;
5520
+ @layer theme {
5521
+ .dark {
5522
+ --border-color: var(--color-background);
5523
+ }
5541
5524
  }
5542
5525
  .skip-to-content {
5543
5526
  position: absolute;
@@ -5574,63 +5557,51 @@
5574
5557
  .top-navbar {
5575
5558
  height: var(--top-navbar-height);
5576
5559
  }
5577
- .main {
5560
+ [data-controller~="sidebar"] {
5578
5561
  --sidebar-width: calc(var(--spacing) * 64);
5579
5562
  --sidebar-offset-size: 0rem;
5580
- --content-width: calc(100% - var(--sidebar-offset-size) - var(--spacing) * 2);
5581
- @media (min-width: 64rem) {
5582
- &.sidebar-open {
5583
- --sidebar-offset-size: var(--sidebar-width);
5584
- }
5563
+ --content-width: calc(100% - var(--spacing));
5564
+ }
5565
+ @media (min-width: 64rem) {
5566
+ [data-controller~="sidebar"][data-sidebar-open-value="true"] {
5567
+ --sidebar-offset-size: var(--sidebar-width);
5585
5568
  }
5586
- margin-top: var(--top-navbar-height);
5587
- .main-content-area {
5588
- position: fixed;
5589
- z-index: 50;
5590
- margin-inline-start: calc(var(--spacing) * 1);
5591
- display: flex;
5592
- height: 100%;
5593
- width: var(--content-width);
5594
- flex: 1;
5595
- flex-direction: column;
5596
- border-radius: var(--radius-2xl);
5597
- background-color: var(--color-primary);
5598
- padding-inline: calc(var(--spacing) * 2);
5599
- padding-block: calc(var(--spacing) * 2);
5600
- --tw-shadow: 0 8px 16px 0 var(--tw-shadow-color, rgba(0, 0, 0, 0.08));
5601
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
5602
- @media (width >= 64rem) {
5603
- padding-inline: calc(var(--spacing) * 4);
5604
- }
5605
- @media (width >= 64rem) {
5606
- padding-block: calc(var(--spacing) * 4);
5607
- }
5608
- transition: margin 0.1s ease-in-out, width 0.1s ease-in-out;
5609
- height: calc(100dvh - var(--spacing) - var(--top-navbar-height));
5610
- .scrollable-wrapper {
5611
- display: flex;
5612
- height: 100%;
5613
- flex: 1;
5614
- flex-direction: column;
5615
- overflow-y: auto;
5616
- padding-inline: calc(var(--spacing) * 0.5);
5617
- padding-top: calc(var(--spacing) * 1);
5618
- }
5619
- .avo-container {
5620
- display: flex;
5621
- flex: 1;
5622
- flex-direction: column;
5623
- justify-content: space-between;
5624
- }
5569
+ }
5570
+ [data-controller~="sidebar"][data-sidebar-open-value="false"] {
5571
+ .main-content {
5572
+ margin-inline-start: calc(var(--spacing) * 0);
5625
5573
  }
5626
- &.sidebar-open {
5627
- .main-content-area {
5628
- @media (min-width: 64rem) {
5629
- margin-inline-start: calc(var(--sidebar-width) + var(--spacing));
5630
- width: var(--content-width);
5631
- }
5632
- }
5574
+ }
5575
+ .main {
5576
+ padding-top: var(--top-navbar-height);
5577
+ padding-inline-start: calc(var(--sidebar-offset-size) - var(--spacing));
5578
+ transition: padding 0.1s ease-in-out;
5579
+ }
5580
+ .main-content {
5581
+ margin-inline-start: calc(var(--spacing) * 1);
5582
+ display: flex;
5583
+ width: var(--content-width);
5584
+ flex-direction: column;
5585
+ border-inline-start-style: var(--tw-border-style);
5586
+ border-inline-start-width: 1px;
5587
+ border-color: var(--border-color);
5588
+ background-color: var(--color-primary);
5589
+ padding-inline: calc(var(--spacing) * 2);
5590
+ padding-block: calc(var(--spacing) * 2);
5591
+ @media (width >= 64rem) {
5592
+ padding-inline: calc(var(--spacing) * 4);
5633
5593
  }
5594
+ @media (width >= 64rem) {
5595
+ padding-block: calc(var(--spacing) * 4);
5596
+ }
5597
+ transition: margin 0.1s ease-in-out, width 0.1s ease-in-out;
5598
+ min-height: calc(100dvh - var(--top-navbar-height) - var(--spacing));
5599
+ }
5600
+ .main-content__container {
5601
+ display: flex;
5602
+ flex: 1;
5603
+ flex-direction: column;
5604
+ padding-inline: calc(var(--spacing) * 2);
5634
5605
  }
5635
5606
  .container-large {
5636
5607
  @media (width >= 96rem) {
@@ -5673,34 +5644,99 @@
5673
5644
  width: 100%;
5674
5645
  }
5675
5646
  .top-navbar {
5647
+ pointer-events: none;
5676
5648
  position: fixed;
5649
+ inset-inline: calc(var(--spacing) * 0);
5650
+ top: calc(var(--spacing) * 0);
5677
5651
  z-index: 100;
5678
- display: flex;
5679
5652
  width: 100%;
5680
5653
  flex-shrink: 0;
5654
+ display: grid;
5655
+ grid-template-columns: 1fr auto 1fr;
5681
5656
  align-items: center;
5682
- :where(& > :not(:last-child)) {
5683
- --tw-space-x-reverse: 0;
5684
- margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
5685
- margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
5657
+ gap: 1rem;
5658
+ padding-inline: 0.75rem;
5659
+ background-color: var(--navbar-bg);
5660
+ > * {
5661
+ pointer-events: auto;
5686
5662
  }
5687
- padding-inline: calc(var(--spacing) * 4);
5688
- @media (width >= 64rem) {
5689
- :where(& > :not(:last-child)) {
5690
- --tw-space-x-reverse: 0;
5691
- margin-inline-start: calc(calc(var(--spacing) * 0) * var(--tw-space-x-reverse));
5692
- margin-inline-end: calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-x-reverse)));
5663
+ .breadcrumbs__container {
5664
+ flex-wrap: nowrap;
5665
+ overflow-x: auto;
5666
+ }
5667
+ &::before, &::after {
5668
+ content: "";
5669
+ position: absolute;
5670
+ top: 100%;
5671
+ width: var(--navbar-notch-radius);
5672
+ height: var(--navbar-notch-radius);
5673
+ pointer-events: none;
5674
+ }
5675
+ &::before {
5676
+ left: 0;
5677
+ background: radial-gradient( circle var(--navbar-notch-radius) at 100% 100%, transparent 99%, var(--navbar-notch-color) 100% );
5678
+ }
5679
+ &::after {
5680
+ right: 0;
5681
+ background: radial-gradient( circle var(--navbar-notch-radius) at 0% 100%, transparent 99%, var(--navbar-notch-color) 100% );
5682
+ }
5683
+ }
5684
+ .top-navbar__start {
5685
+ display: flex;
5686
+ height: 100%;
5687
+ min-width: calc(var(--spacing) * 0);
5688
+ align-items: center;
5689
+ gap: calc(var(--spacing) * 3);
5690
+ }
5691
+ .top-navbar__logo {
5692
+ flex-shrink: 0;
5693
+ height: calc(var(--top-navbar-height) - calc(var(--spacing) * 6));
5694
+ }
5695
+ .top-navbar__center {
5696
+ display: flex;
5697
+ min-width: calc(var(--spacing) * 0);
5698
+ align-items: center;
5699
+ justify-content: center;
5700
+ .search-input__input {
5701
+ background-color: var(--color-avo-neutral-800);
5702
+ border-color: var(--color-avo-neutral-700);
5703
+ color: var(--color-avo-neutral-50);
5704
+ &::placeholder {
5705
+ color: var(--color-avo-neutral-400);
5693
5706
  }
5694
5707
  }
5695
- @media (width >= 64rem) {
5696
- padding-inline: calc(var(--spacing) * 2);
5708
+ .search-input__prefix, .search-input__suffix {
5709
+ color: var(--color-avo-neutral-400);
5697
5710
  }
5698
- &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
5699
- :where(& > :not(:last-child)) {
5700
- --tw-space-x-reverse: 1;
5711
+ .search-input__suffix kbd {
5712
+ background-color: var(--color-avo-neutral-700);
5713
+ border-color: var(--color-avo-neutral-600);
5714
+ color: var(--color-avo-neutral-200);
5715
+ box-shadow: none;
5716
+ }
5717
+ @media (width < 40rem) {
5718
+ .search-input__suffix {
5719
+ display: none;
5720
+ }
5721
+ .search-input__input.search-input__input--with-shortcut, .search-input__input.search-input__input--with-two-key-shortcut {
5722
+ padding-inline-end: calc( var(--input-icon-offset) + var(--input-icon-gap) );
5701
5723
  }
5702
5724
  }
5703
5725
  }
5726
+ .top-navbar__end {
5727
+ display: flex;
5728
+ height: 100%;
5729
+ min-width: calc(var(--spacing) * 0);
5730
+ align-items: center;
5731
+ justify-content: flex-end;
5732
+ gap: calc(var(--spacing) * 4);
5733
+ }
5734
+ .top-navbar a {
5735
+ color: var(--color-avo-neutral-300);
5736
+ &:hover {
5737
+ color: var(--color-avo-neutral-50);
5738
+ }
5739
+ }
5704
5740
  .sidebar-toggle-icon {
5705
5741
  display: inline-flex;
5706
5742
  }
@@ -5713,12 +5749,17 @@
5713
5749
  button[data-sidebar-state="closed"] .sidebar-toggle-icon--closed {
5714
5750
  display: inline-flex;
5715
5751
  }
5752
+ button[data-sidebar-toggle-icon] {
5753
+ --btn-text-color: var(--color-avo-neutral-300);
5754
+ &:hover {
5755
+ --btn-text-color: var(--color-avo-neutral-50);
5756
+ background-color: var(--color-avo-neutral-800);
5757
+ }
5758
+ }
5716
5759
  .avo-sidebar {
5717
5760
  position: fixed;
5718
- top: calc(var(--spacing) * 0);
5719
- z-index: 60;
5720
- margin-top: var(--top-navbar-height);
5721
- height: calc(100dvh - var(--top-navbar-height));
5761
+ inset-inline-start: calc(var(--spacing) * 0);
5762
+ z-index: 50;
5722
5763
  width: var(--sidebar-width);
5723
5764
  flex: 1;
5724
5765
  border-inline-end-style: var(--tw-border-style);
@@ -5732,8 +5773,13 @@
5732
5773
  @media (width >= 64rem) {
5733
5774
  background-color: transparent;
5734
5775
  }
5776
+ &:where(.dark, .dark *) {
5777
+ background-color: var(--color-primary);
5778
+ }
5779
+ top: var(--top-navbar-height);
5780
+ height: calc(100dvh - var(--top-navbar-height));
5735
5781
  transform: translateX(-100%);
5736
- transition: transform 0.1s ease;
5782
+ transition: transform 0.1s ease-in-out;
5737
5783
  }
5738
5784
  html[dir="rtl"] .avo-sidebar {
5739
5785
  transform: translateX(100%);
@@ -5968,7 +6014,7 @@
5968
6014
  border-width: 1px;
5969
6015
  border-color: var(--color-tertiary);
5970
6016
  }
5971
- .main-content-area:has(.CodeMirror-fullscreen) {
6017
+ .main-content:has(.CodeMirror-fullscreen) {
5972
6018
  z-index: 101;
5973
6019
  }
5974
6020
  .editor-toolbar {
@@ -6541,6 +6587,7 @@
6541
6587
  border-width: 1px;
6542
6588
  border-color: var(--color-tertiary);
6543
6589
  background-color: var(--color-secondary);
6590
+ overflow-x: clip;
6544
6591
  }
6545
6592
  .card--compact {
6546
6593
  .card__wrapper {
@@ -6784,7 +6831,6 @@
6784
6831
  display: flex;
6785
6832
  width: 100%;
6786
6833
  flex: 1;
6787
- flex-direction: column;
6788
6834
  flex-wrap: wrap;
6789
6835
  :where(& > :not(:last-child)) {
6790
6836
  --tw-divide-y-reverse: 0;
@@ -8380,7 +8426,40 @@
8380
8426
  color: var(--alert-color);
8381
8427
  }
8382
8428
  .breadcrumbs {
8429
+ position: sticky;
8430
+ z-index: 40;
8431
+ margin-bottom: calc(var(--spacing) * 4);
8383
8432
  width: 100%;
8433
+ background-color: var(--color-primary);
8434
+ top: calc(var(--top-navbar-height) + var(--spacing) * 2);
8435
+ margin-top: calc(var(--spacing) * -2 + 1px);
8436
+ &::before {
8437
+ content: "";
8438
+ position: absolute;
8439
+ width: 100%;
8440
+ top: 0;
8441
+ left: 0;
8442
+ right: 0;
8443
+ height: calc(0.5rem);
8444
+ transform: translateY(-100%);
8445
+ background: var(--color-primary);
8446
+ pointer-events: none;
8447
+ }
8448
+ }
8449
+ .breadcrumbs::after {
8450
+ content: "";
8451
+ position: absolute;
8452
+ top: auto;
8453
+ bottom: 0;
8454
+ left: 0;
8455
+ right: 0;
8456
+ transform: translateY(100%);
8457
+ height: calc(var(--spacing) * 4);
8458
+ background: linear-gradient( to bottom, var(--color-primary), color-mix(in srgb, #fff, transparent 100%) );
8459
+ @supports (color: color-mix(in lab, red, red)) {
8460
+ background: linear-gradient( to bottom, var(--color-primary), color-mix(in oklab, var(--color-primary), transparent 100%) );
8461
+ }
8462
+ pointer-events: none;
8384
8463
  }
8385
8464
  .breadcrumbs__container {
8386
8465
  display: flex;
@@ -8402,7 +8481,7 @@
8402
8481
  align-items: center;
8403
8482
  gap: calc(var(--spacing) * 2);
8404
8483
  border-radius: var(--radius-lg);
8405
- padding-inline: calc(var(--spacing) * 2);
8484
+ padding-inline: calc(var(--spacing) * 1);
8406
8485
  padding-block: calc(var(--spacing) * 0.5);
8407
8486
  font-size: var(--text-sm);
8408
8487
  line-height: var(--tw-leading, var(--text-sm--line-height));
@@ -8412,7 +8491,7 @@
8412
8491
  font-weight: var(--font-weight-medium);
8413
8492
  color: var(--color-content-secondary);
8414
8493
  &:first-child {
8415
- padding-inline-start: calc(var(--spacing) * 0);
8494
+ margin-inline-start: calc(var(--spacing) * -1);
8416
8495
  }
8417
8496
  }
8418
8497
  .breadcrumb-element__icon {
@@ -8443,7 +8522,10 @@
8443
8522
  color: var(--color-content-secondary);
8444
8523
  }
8445
8524
  &:hover {
8446
- background-color: var(--color-secondary);
8525
+ background-color: var(--color-tertiary);
8526
+ .breadcrumb-element__text {
8527
+ color: var(--color-content);
8528
+ }
8447
8529
  }
8448
8530
  }
8449
8531
  @layer base {
@@ -9352,8 +9434,8 @@
9352
9434
  border-radius: var(--radius-lg);
9353
9435
  border-style: var(--tw-border-style);
9354
9436
  border-width: 1px;
9355
- border-color: var(--color-tertiary);
9356
- background-color: var(--color-secondary);
9437
+ border-color: var(--color-avo-neutral-700);
9438
+ background-color: var(--color-avo-neutral-800);
9357
9439
  padding: calc(var(--spacing) * 1);
9358
9440
  }
9359
9441
  .color-scheme-switcher--compact {
@@ -9374,11 +9456,14 @@
9374
9456
  transition-duration: 150ms;
9375
9457
  border-style: var(--tw-border-style);
9376
9458
  border-width: 1px;
9377
- border-color: var(--color-tertiary);
9378
- background-color: var(--color-secondary);
9379
- color: var(--color-content-secondary);
9459
+ border-color: var(--color-avo-neutral-700);
9460
+ background-color: var(--color-avo-neutral-800);
9461
+ color: var(--color-avo-neutral-300);
9380
9462
  &:hover {
9381
- background-color: var(--color-tertiary);
9463
+ background-color: var(--color-avo-neutral-700);
9464
+ }
9465
+ &:hover {
9466
+ color: var(--color-avo-neutral-50);
9382
9467
  }
9383
9468
  &:focus {
9384
9469
  --tw-outline-style: none;
@@ -9535,14 +9620,17 @@
9535
9620
  justify-content: center;
9536
9621
  border-radius: var(--radius-md);
9537
9622
  padding: calc(var(--spacing) * 1.5);
9538
- color: var(--color-content-secondary);
9623
+ color: var(--color-avo-neutral-300);
9539
9624
  transition-property: all;
9540
9625
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
9541
9626
  transition-duration: var(--tw-duration, var(--default-transition-duration));
9542
9627
  --tw-duration: 150ms;
9543
9628
  transition-duration: 150ms;
9544
9629
  &:hover {
9545
- background-color: var(--color-tertiary);
9630
+ background-color: var(--color-avo-neutral-700);
9631
+ }
9632
+ &:hover {
9633
+ color: var(--color-avo-neutral-50);
9546
9634
  }
9547
9635
  &:focus {
9548
9636
  --tw-outline-style: none;
@@ -9570,39 +9658,15 @@
9570
9658
  border-width: 0px;
9571
9659
  background-color: transparent;
9572
9660
  }
9573
- .color-scheme-switcher__button[data-scheme="light"] {
9661
+ .color-scheme-switcher__button[data-scheme="light"], .color-scheme-switcher__button[data-scheme="dark"], .color-scheme-switcher__button[data-scheme="auto"] {
9574
9662
  background-color: transparent;
9575
- color: var(--color-content-secondary);
9663
+ color: var(--color-avo-neutral-300);
9576
9664
  --tw-shadow: 0 0 #0000;
9577
9665
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
9578
9666
  }
9579
- .scheme-light .color-scheme-switcher__button[data-scheme="light"] {
9580
- background-color: var(--color-primary);
9581
- color: var(--color-content);
9582
- --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
9583
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
9584
- }
9585
- .color-scheme-switcher__button[data-scheme="dark"] {
9586
- background-color: transparent;
9587
- color: var(--color-content-secondary);
9588
- --tw-shadow: 0 0 #0000;
9589
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
9590
- }
9591
- .scheme-dark .color-scheme-switcher__button[data-scheme="dark"] {
9592
- background-color: var(--color-primary);
9593
- color: var(--color-content);
9594
- --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
9595
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
9596
- }
9597
- .color-scheme-switcher__button[data-scheme="auto"] {
9598
- background-color: transparent;
9599
- color: var(--color-content-secondary);
9600
- --tw-shadow: 0 0 #0000;
9601
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
9602
- }
9603
- .scheme-auto .color-scheme-switcher__button[data-scheme="auto"] {
9604
- background-color: var(--color-primary);
9605
- color: var(--color-content);
9667
+ .scheme-light .color-scheme-switcher__button[data-scheme="light"], .scheme-dark .color-scheme-switcher__button[data-scheme="dark"], .scheme-auto .color-scheme-switcher__button[data-scheme="auto"] {
9668
+ background-color: var(--color-avo-neutral-950);
9669
+ color: var(--color-avo-neutral-50);
9606
9670
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
9607
9671
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
9608
9672
  }
@@ -10859,7 +10923,7 @@
10859
10923
  .sidebar-status {
10860
10924
  border-top-style: var(--tw-border-style);
10861
10925
  border-top-width: 1px;
10862
- border-color: var(--color-tertiary);
10926
+ border-color: var(--border-color);
10863
10927
  padding: calc(var(--spacing) * 4);
10864
10928
  }
10865
10929
  .sidebar-status__link {
@@ -10870,7 +10934,7 @@
10870
10934
  border-radius: var(--radius-sm);
10871
10935
  border-style: var(--tw-border-style);
10872
10936
  border-width: 1px;
10873
- border-color: var(--color-tertiary);
10937
+ border-color: var(--border-color);
10874
10938
  padding-inline: calc(var(--spacing) * 4);
10875
10939
  padding-block: calc(var(--spacing) * 2);
10876
10940
  font-size: var(--text-sm);