avo 4.0.0.beta.1 → 4.0.0.beta.3

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 (79) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/app/assets/builds/avo/application.css +344 -88
  4. data/app/assets/builds/avo/application.js +118 -118
  5. data/app/assets/builds/avo/application.js.map +4 -4
  6. data/app/assets/images/avo/placeholder.svg +1 -1
  7. data/app/assets/stylesheets/application.css +10 -0
  8. data/app/assets/stylesheets/css/components/grid.css +60 -1
  9. data/app/assets/stylesheets/css/components/ui/state.css +129 -0
  10. data/app/assets/stylesheets/css/pagination.css +12 -6
  11. data/app/assets/svgs/avo/circle-minus.svg +3 -0
  12. data/app/components/avo/alert_component.rb +4 -4
  13. data/app/components/avo/backtrace_alert_component.html.erb +1 -1
  14. data/app/components/avo/button_component.rb +1 -1
  15. data/app/components/avo/cover_component.html.erb +2 -2
  16. data/app/components/avo/debug/status_component.html.erb +2 -2
  17. data/app/components/avo/empty_state_component.html.erb +15 -4
  18. data/app/components/avo/empty_state_component.rb +9 -0
  19. data/app/components/avo/fields/common/files/view_type/grid_item_component.html.erb +1 -1
  20. data/app/components/avo/fields/common/key_value_component.html.erb +1 -1
  21. data/app/components/avo/fields/common/stars_component.html.erb +1 -1
  22. data/app/components/avo/fields/common/status_viewer_component.html.erb +3 -3
  23. data/app/components/avo/fields/preview_field/index_component.rb +1 -1
  24. data/app/components/avo/fields/stars_field/edit_component.html.erb +1 -1
  25. data/app/components/avo/filters_component.html.erb +1 -1
  26. data/app/components/avo/index/grid_cover_empty_state_component.html.erb +16 -2
  27. data/app/components/avo/index/grid_cover_empty_state_component.rb +90 -0
  28. data/app/components/avo/items/switcher_component.html.erb +3 -5
  29. data/app/components/avo/media_library/item_details_component.html.erb +2 -2
  30. data/app/components/avo/media_library/list_component.html.erb +1 -1
  31. data/app/components/avo/media_library/list_item_component.html.erb +2 -2
  32. data/app/components/avo/modal_component.html.erb +1 -1
  33. data/app/components/avo/paginator_component.html.erb +23 -17
  34. data/app/components/avo/paginator_component.rb +18 -0
  35. data/app/components/avo/resource_component.rb +2 -2
  36. data/app/components/avo/sidebar/group_component.html.erb +1 -1
  37. data/app/components/avo/sidebar/section_component.html.erb +1 -1
  38. data/app/components/avo/sidebar_profile_component.html.erb +1 -1
  39. data/app/components/avo/u_i/panel_header_component.html.erb +1 -1
  40. data/app/components/avo/view_types/grid_component.html.erb +2 -2
  41. data/app/components/avo/views/resource_edit_component.html.erb +1 -1
  42. data/app/components/avo/views/resource_index_component.html.erb +9 -9
  43. data/app/components/avo/views/resource_index_component.rb +3 -3
  44. data/app/components/avo/views/resource_show_component.html.erb +1 -1
  45. data/app/javascript/js/controllers/grid_cover_empty_state_controller.js +42 -0
  46. data/app/javascript/js/controllers.js +3 -1
  47. data/app/views/avo/base/_date_time_filter.html.erb +1 -1
  48. data/app/views/avo/base/preview.html.erb +1 -1
  49. data/app/views/avo/debug/_valid_indicator.html.erb +2 -2
  50. data/app/views/avo/home/failed_to_load.html.erb +40 -13
  51. data/app/views/avo/media_library/_form.html.erb +1 -1
  52. data/app/views/avo/partials/_color_scheme_switcher.html.erb +4 -4
  53. data/app/views/avo/partials/_confirm_dialog.html.erb +18 -16
  54. data/app/views/avo/partials/_custom_tools_alert.html.erb +3 -3
  55. data/app/views/avo/partials/_sortable_component.html.erb +3 -3
  56. data/app/views/avo/partials/_table_header.html.erb +1 -1
  57. data/app/views/avo/private/_links_and_buttons.html.erb +2 -2
  58. data/app/views/avo/private/design.html.erb +4 -4
  59. data/app/views/avo/sidebar/_license_warning.html.erb +2 -2
  60. data/lib/avo/photo_object.rb +12 -1
  61. data/lib/avo/version.rb +1 -1
  62. data/lib/generators/avo/resource_generator.rb +3 -3
  63. data/lib/generators/avo/templates/initializer/avo.tt +4 -4
  64. data/lib/generators/avo/templates/resource_tools/partial.tt +1 -1
  65. metadata +4 -15
  66. data/app/assets/svgs/avo/arrow-circle-right.svg +0 -1
  67. data/app/assets/svgs/avo/bell.svg +0 -3
  68. data/app/assets/svgs/avo/color-swatch.svg +0 -1
  69. data/app/assets/svgs/avo/dashboards.svg +0 -6
  70. data/app/assets/svgs/avo/exclamation.svg +0 -1
  71. data/app/assets/svgs/avo/filter.svg +0 -1
  72. data/app/assets/svgs/avo/logout.svg +0 -3
  73. data/app/assets/svgs/avo/resources.svg +0 -13
  74. data/app/assets/svgs/avo/save.svg +0 -8
  75. data/app/assets/svgs/avo/selector.svg +0 -1
  76. data/app/assets/svgs/avo/sort-ascending.svg +0 -1
  77. data/app/assets/svgs/avo/sort-descending.svg +0 -1
  78. data/app/assets/svgs/avo/times.svg +0 -3
  79. data/app/assets/svgs/avo/tools.svg +0 -3
@@ -559,24 +559,21 @@
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
  }
568
565
  .end-0 {
569
566
  inset-inline-end: calc(var(--spacing) * 0);
570
567
  }
571
- .end-2\.5 {
572
- inset-inline-end: calc(var(--spacing) * 2.5);
573
- }
574
568
  .end-3 {
575
569
  inset-inline-end: calc(var(--spacing) * 3);
576
570
  }
577
571
  .end-auto {
578
572
  inset-inline-end: auto;
579
573
  }
574
+ .inset-e-2\.5 {
575
+ inset-inline-end: calc(var(--spacing) * 2.5);
576
+ }
580
577
  .-top-\[0\.1rem\] {
581
578
  top: calc(0.1rem * -1);
582
579
  }
@@ -820,9 +817,6 @@
820
817
  .mt-8 {
821
818
  margin-top: calc(var(--spacing) * 8);
822
819
  }
823
- .mt-12 {
824
- margin-top: calc(var(--spacing) * 12);
825
- }
826
820
  .mr-0 {
827
821
  margin-right: calc(var(--spacing) * 0);
828
822
  }
@@ -832,9 +826,6 @@
832
826
  .mr-px {
833
827
  margin-right: 1px;
834
828
  }
835
- .\!-mb-8 {
836
- margin-bottom: calc(var(--spacing) * -8) !important;
837
- }
838
829
  .mb-0 {
839
830
  margin-bottom: calc(var(--spacing) * 0);
840
831
  }
@@ -850,9 +841,6 @@
850
841
  .mb-4 {
851
842
  margin-bottom: calc(var(--spacing) * 4);
852
843
  }
853
- .mb-5 {
854
- margin-bottom: calc(var(--spacing) * 5);
855
- }
856
844
  .mb-6 {
857
845
  margin-bottom: calc(var(--spacing) * 6);
858
846
  }
@@ -926,10 +914,18 @@
926
914
  width: calc(var(--spacing) * 6);
927
915
  height: calc(var(--spacing) * 6);
928
916
  }
917
+ .size-8 {
918
+ width: calc(var(--spacing) * 8);
919
+ height: calc(var(--spacing) * 8);
920
+ }
929
921
  .size-10 {
930
922
  width: calc(var(--spacing) * 10);
931
923
  height: calc(var(--spacing) * 10);
932
924
  }
925
+ .size-12 {
926
+ width: calc(var(--spacing) * 12);
927
+ height: calc(var(--spacing) * 12);
928
+ }
933
929
  .size-full {
934
930
  width: 100%;
935
931
  height: 100%;
@@ -958,20 +954,14 @@
958
954
  .h-10 {
959
955
  height: calc(var(--spacing) * 10);
960
956
  }
961
- .h-12 {
962
- height: calc(var(--spacing) * 12);
963
- }
964
957
  .h-16 {
965
958
  height: calc(var(--spacing) * 16);
966
959
  }
967
960
  .h-20 {
968
961
  height: calc(var(--spacing) * 20);
969
962
  }
970
- .h-52 {
971
- height: calc(var(--spacing) * 52);
972
- }
973
- .h-64 {
974
- height: calc(var(--spacing) * 64);
963
+ .h-40 {
964
+ height: calc(var(--spacing) * 40);
975
965
  }
976
966
  .h-\[0\.75rem\] {
977
967
  height: 0.75rem;
@@ -1018,6 +1008,9 @@
1018
1008
  .min-h-24 {
1019
1009
  min-height: calc(var(--spacing) * 24);
1020
1010
  }
1011
+ .min-h-56 {
1012
+ min-height: calc(var(--spacing) * 56);
1013
+ }
1021
1014
  .min-h-\[8rem\] {
1022
1015
  min-height: 8rem;
1023
1016
  }
@@ -1093,9 +1086,6 @@
1093
1086
  .w-10\/12 {
1094
1087
  width: calc(10 / 12 * 100%);
1095
1088
  }
1096
- .w-12 {
1097
- width: calc(var(--spacing) * 12);
1098
- }
1099
1089
  .w-16 {
1100
1090
  width: calc(var(--spacing) * 16);
1101
1091
  }
@@ -1457,9 +1447,6 @@
1457
1447
  .gap-y-4 {
1458
1448
  row-gap: calc(var(--spacing) * 4);
1459
1449
  }
1460
- .gap-y-12 {
1461
- row-gap: calc(var(--spacing) * 12);
1462
- }
1463
1450
  .divide-x {
1464
1451
  :where(& > :not(:last-child)) {
1465
1452
  --tw-divide-x-reverse: 0;
@@ -1632,10 +1619,6 @@
1632
1619
  border-bottom-style: var(--tw-border-style);
1633
1620
  border-bottom-width: 1px;
1634
1621
  }
1635
- .border-b-2 {
1636
- border-bottom-style: var(--tw-border-style);
1637
- border-bottom-width: 2px;
1638
- }
1639
1622
  .border-l {
1640
1623
  border-left-style: var(--tw-border-style);
1641
1624
  border-left-width: 1px;
@@ -1673,15 +1656,15 @@
1673
1656
  .border-blue-600 {
1674
1657
  border-color: var(--color-blue-600);
1675
1658
  }
1676
- .border-content-secondary {
1677
- border-color: var(--color-content-secondary);
1678
- }
1679
1659
  .border-cyan-300 {
1680
1660
  border-color: var(--color-cyan-300);
1681
1661
  }
1682
1662
  .border-cyan-500 {
1683
1663
  border-color: var(--color-cyan-500);
1684
1664
  }
1665
+ .border-danger {
1666
+ border-color: var(--color-danger);
1667
+ }
1685
1668
  .border-emerald-300 {
1686
1669
  border-color: var(--color-emerald-300);
1687
1670
  }
@@ -2207,6 +2190,9 @@
2207
2190
  .pe-9 {
2208
2191
  padding-inline-end: calc(var(--spacing) * 9);
2209
2192
  }
2193
+ .pt-0 {
2194
+ padding-top: calc(var(--spacing) * 0);
2195
+ }
2210
2196
  .pt-0\.5 {
2211
2197
  padding-top: calc(var(--spacing) * 0.5);
2212
2198
  }
@@ -2231,9 +2217,6 @@
2231
2217
  .pb-2 {
2232
2218
  padding-bottom: calc(var(--spacing) * 2);
2233
2219
  }
2234
- .pb-3 {
2235
- padding-bottom: calc(var(--spacing) * 3);
2236
- }
2237
2220
  .pb-4 {
2238
2221
  padding-bottom: calc(var(--spacing) * 4);
2239
2222
  }
@@ -2411,6 +2394,9 @@
2411
2394
  .text-cyan-700 {
2412
2395
  color: var(--color-cyan-700);
2413
2396
  }
2397
+ .text-danger {
2398
+ color: var(--color-danger);
2399
+ }
2414
2400
  .text-emerald-500 {
2415
2401
  color: var(--color-emerald-500);
2416
2402
  }
@@ -2423,9 +2409,6 @@
2423
2409
  .text-fuchsia-700 {
2424
2410
  color: var(--color-fuchsia-700);
2425
2411
  }
2426
- .text-gray-300 {
2427
- color: var(--color-gray-300);
2428
- }
2429
2412
  .text-gray-400 {
2430
2413
  color: var(--color-gray-400);
2431
2414
  }
@@ -3036,6 +3019,14 @@
3036
3019
  background-color: var(--color-cyan-600);
3037
3020
  }
3038
3021
  }
3022
+ .hover\:bg-danger\/10 {
3023
+ &:hover {
3024
+ background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 10%, transparent);
3025
+ @supports (color: color-mix(in lab, red, red)) {
3026
+ background-color: color-mix(in oklab, var(--color-danger) 10%, transparent);
3027
+ }
3028
+ }
3029
+ }
3039
3030
  .hover\:bg-emerald-100 {
3040
3031
  &:hover {
3041
3032
  background-color: var(--color-emerald-100);
@@ -3061,11 +3052,6 @@
3061
3052
  background-color: var(--color-gray-100);
3062
3053
  }
3063
3054
  }
3064
- .hover\:bg-gray-200 {
3065
- &:hover {
3066
- background-color: var(--color-gray-200);
3067
- }
3068
- }
3069
3055
  .hover\:bg-gray-600 {
3070
3056
  &:hover {
3071
3057
  background-color: var(--color-gray-600);
@@ -3156,11 +3142,6 @@
3156
3142
  background-color: var(--color-purple-600);
3157
3143
  }
3158
3144
  }
3159
- .hover\:bg-red-50 {
3160
- &:hover {
3161
- background-color: var(--color-red-50);
3162
- }
3163
- }
3164
3145
  .hover\:bg-red-100 {
3165
3146
  &:hover {
3166
3147
  background-color: var(--color-red-100);
@@ -3226,6 +3207,11 @@
3226
3207
  background-color: var(--color-teal-600);
3227
3208
  }
3228
3209
  }
3210
+ .hover\:bg-tertiary {
3211
+ &:hover {
3212
+ background-color: var(--color-tertiary);
3213
+ }
3214
+ }
3229
3215
  .hover\:bg-violet-100 {
3230
3216
  &:hover {
3231
3217
  background-color: var(--color-violet-100);
@@ -3269,11 +3255,6 @@
3269
3255
  color: var(--color-blue-500);
3270
3256
  }
3271
3257
  }
3272
- .hover\:text-blue-700 {
3273
- &:hover {
3274
- color: var(--color-blue-700);
3275
- }
3276
- }
3277
3258
  .hover\:text-content {
3278
3259
  &:hover {
3279
3260
  color: var(--color-content);
@@ -3339,14 +3320,17 @@
3339
3320
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3340
3321
  }
3341
3322
  }
3342
- .focus\:ring-gray-100 {
3323
+ .focus\:ring-danger\/30 {
3343
3324
  &:focus {
3344
- --tw-ring-color: var(--color-gray-100);
3325
+ --tw-ring-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 30%, transparent);
3326
+ @supports (color: color-mix(in lab, red, red)) {
3327
+ --tw-ring-color: color-mix(in oklab, var(--color-danger) 30%, transparent);
3328
+ }
3345
3329
  }
3346
3330
  }
3347
- .focus\:ring-red-300 {
3331
+ .focus\:ring-tertiary {
3348
3332
  &:focus {
3349
- --tw-ring-color: var(--color-red-300);
3333
+ --tw-ring-color: var(--color-tertiary);
3350
3334
  }
3351
3335
  }
3352
3336
  .focus\:ring-warning\/50 {
@@ -4438,6 +4422,11 @@
4438
4422
  }
4439
4423
  }
4440
4424
  }
4425
+ .dark\:bg-tertiary {
4426
+ &:where(.dark, .dark *) {
4427
+ background-color: var(--color-tertiary);
4428
+ }
4429
+ }
4441
4430
  .print\:hidden {
4442
4431
  @media print {
4443
4432
  display: none;
@@ -7916,6 +7905,9 @@
7916
7905
  @media (width >= 40rem) {
7917
7906
  flex-direction: row;
7918
7907
  }
7908
+ @media (width >= 40rem) {
7909
+ flex-wrap: wrap;
7910
+ }
7919
7911
  @media (width >= 40rem) {
7920
7912
  align-items: flex-end;
7921
7913
  }
@@ -7926,6 +7918,7 @@
7926
7918
  .pagination__per-page {
7927
7919
  --pagination-per-page-width: 10rem;
7928
7920
  display: flex;
7921
+ flex-shrink: 0;
7929
7922
  align-items: center;
7930
7923
  }
7931
7924
  .pagination__per-page-input {
@@ -7984,14 +7977,32 @@
7984
7977
  --tw-font-weight: var(--font-weight-normal);
7985
7978
  font-weight: var(--font-weight-normal);
7986
7979
  }
7980
+ .pagination__controls-wrap {
7981
+ display: flex;
7982
+ width: 100%;
7983
+ min-width: calc(var(--spacing) * 0);
7984
+ @media (width >= 40rem) {
7985
+ min-width: 22rem;
7986
+ }
7987
+ @media (width >= 40rem) {
7988
+ flex: 1 1 28rem;
7989
+ }
7990
+ @media (width >= 40rem) {
7991
+ justify-content: flex-end;
7992
+ }
7993
+ }
7987
7994
  .pagination__controls {
7988
7995
  display: flex;
7989
- width: fit-content;
7990
- flex-shrink: 0;
7996
+ width: 100%;
7997
+ max-width: 100%;
7998
+ min-width: calc(var(--spacing) * 0);
7999
+ --tw-pan-x: pan-x;
8000
+ touch-action: var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,);
7991
8001
  align-items: center;
7992
8002
  gap: calc(var(--spacing) * 3);
7993
- overflow: hidden;
7994
- overflow: visible;
8003
+ overflow-x: auto;
8004
+ overflow-y: hidden;
8005
+ overscroll-behavior-x: contain;
7995
8006
  border-radius: var(--radius-lg);
7996
8007
  border-style: var(--tw-border-style);
7997
8008
  border-width: 1px;
@@ -7999,11 +8010,16 @@
7999
8010
  background-color: var(--color-primary);
8000
8011
  padding-inline-start: calc(var(--spacing) * 3);
8001
8012
  padding-inline-end: calc(var(--spacing) * 2);
8013
+ @media (width >= 40rem) {
8014
+ width: fit-content;
8015
+ }
8016
+ -webkit-overflow-scrolling: touch;
8017
+ scrollbar-gutter: stable;
8002
8018
  }
8003
8019
  .pagination__info {
8004
8020
  display: flex;
8021
+ flex-shrink: 0;
8005
8022
  align-items: center;
8006
- overflow: hidden;
8007
8023
  border-inline-end-style: var(--tw-border-style);
8008
8024
  border-inline-end-width: 1px;
8009
8025
  border-color: var(--color-tertiary);
@@ -8015,7 +8031,6 @@
8015
8031
  line-height: calc(var(--spacing) * 5);
8016
8032
  --tw-font-weight: var(--font-weight-normal);
8017
8033
  font-weight: var(--font-weight-normal);
8018
- text-overflow: ellipsis;
8019
8034
  white-space: nowrap;
8020
8035
  color: var(--color-content);
8021
8036
  &:last-child {
@@ -8030,12 +8045,15 @@
8030
8045
  }
8031
8046
  .pagination__nav {
8032
8047
  display: flex;
8048
+ flex-shrink: 0;
8033
8049
  align-items: center;
8034
8050
  }
8035
8051
  .pagy.series-nav {
8036
8052
  display: flex;
8053
+ min-width: max-content;
8037
8054
  align-items: center;
8038
8055
  gap: calc(var(--spacing) * 0.5);
8056
+ white-space: nowrap;
8039
8057
  a[role="separator"] {
8040
8058
  padding-inline: calc(var(--spacing) * 2);
8041
8059
  font-size: var(--text-sm);
@@ -10764,6 +10782,203 @@
10764
10782
  --badge-bg: var(--color-rose-400);
10765
10783
  --badge-text: var(--color-rose-600);
10766
10784
  }
10785
+ .state {
10786
+ margin-inline: auto;
10787
+ display: flex;
10788
+ width: 100%;
10789
+ max-width: calc(var(--spacing) * 72);
10790
+ flex-direction: column;
10791
+ align-items: center;
10792
+ justify-content: center;
10793
+ gap: calc(var(--spacing) * 3);
10794
+ border-radius: var(--radius-lg);
10795
+ background-color: var(--color-background);
10796
+ padding: calc(var(--spacing) * 6);
10797
+ text-align: center;
10798
+ }
10799
+ .state__illustration {
10800
+ position: relative;
10801
+ display: flex;
10802
+ height: calc(var(--spacing) * 36);
10803
+ width: calc(var(--spacing) * 60);
10804
+ align-items: center;
10805
+ justify-content: center;
10806
+ }
10807
+ .state__card {
10808
+ position: absolute;
10809
+ display: flex;
10810
+ height: calc(var(--spacing) * 11);
10811
+ width: calc(var(--spacing) * 44);
10812
+ align-items: center;
10813
+ gap: calc(var(--spacing) * 1.5);
10814
+ border-radius: var(--radius-lg);
10815
+ border-style: var(--tw-border-style);
10816
+ border-width: 1px;
10817
+ border-color: var(--color-secondary);
10818
+ padding: calc(var(--spacing) * 2.5);
10819
+ background: linear-gradient(194deg, var(--color-primary) 27%, var(--color-background) 65%);
10820
+ box-shadow: var(--box-shadow-card);
10821
+ }
10822
+ .state__card--top {
10823
+ inset-inline-start: calc(var(--spacing) * 0);
10824
+ top: calc(var(--spacing) * 0);
10825
+ }
10826
+ .state__card--middle {
10827
+ inset-inline-start: calc(var(--spacing) * 14);
10828
+ top: calc(var(--spacing) * 8);
10829
+ }
10830
+ .state__card--bottom {
10831
+ inset-inline-start: calc(var(--spacing) * 5);
10832
+ top: calc(var(--spacing) * 20);
10833
+ }
10834
+ .state__badge {
10835
+ display: flex;
10836
+ width: calc(var(--spacing) * 6);
10837
+ height: calc(var(--spacing) * 6);
10838
+ flex-shrink: 0;
10839
+ align-items: center;
10840
+ justify-content: center;
10841
+ border-radius: calc(infinity * 1px);
10842
+ font-size: var(--text-xs);
10843
+ line-height: var(--tw-leading, var(--text-xs--line-height));
10844
+ --tw-leading: 1;
10845
+ line-height: 1;
10846
+ --tw-font-weight: var(--font-weight-medium);
10847
+ font-weight: var(--font-weight-medium);
10848
+ color: var(--color-content);
10849
+ background: color-mix(in srgb, oklch(92.80% 0.0000 89.88) 88%, #fff);
10850
+ @supports (color: color-mix(in lab, red, red)) {
10851
+ background: color-mix(in oklab, var(--color-tertiary) 88%, var(--color-primary));
10852
+ }
10853
+ }
10854
+ .state__body {
10855
+ display: flex;
10856
+ min-width: calc(var(--spacing) * 0);
10857
+ flex: 1;
10858
+ flex-direction: column;
10859
+ gap: calc(var(--spacing) * 1);
10860
+ }
10861
+ .state__line {
10862
+ display: block;
10863
+ height: calc(var(--spacing) * 1.5);
10864
+ border-radius: calc(infinity * 1px);
10865
+ background: color-mix(in srgb, oklch(92.80% 0.0000 89.88) 78%, #fff);
10866
+ @supports (color: color-mix(in lab, red, red)) {
10867
+ background: color-mix(in oklab, var(--color-tertiary) 78%, var(--color-primary));
10868
+ }
10869
+ }
10870
+ .state__line--title {
10871
+ opacity: 75%;
10872
+ }
10873
+ .state__line--large {
10874
+ width: calc(var(--spacing) * 14);
10875
+ }
10876
+ .state__line--medium {
10877
+ width: calc(var(--spacing) * 12);
10878
+ }
10879
+ .state__line--small {
10880
+ width: calc(var(--spacing) * 11);
10881
+ }
10882
+ .state__line--content {
10883
+ width: 100%;
10884
+ }
10885
+ .state__message {
10886
+ font-size: var(--text-base);
10887
+ line-height: var(--tw-leading, var(--text-base--line-height));
10888
+ --tw-leading: calc(var(--spacing) * 6);
10889
+ line-height: calc(var(--spacing) * 6);
10890
+ --tw-font-weight: var(--font-weight-normal);
10891
+ font-weight: var(--font-weight-normal);
10892
+ color: var(--color-content-secondary);
10893
+ }
10894
+ .state--frame-load-failed {
10895
+ max-width: calc(var(--spacing) * 96);
10896
+ gap: calc(var(--spacing) * 1);
10897
+ }
10898
+ .state__document {
10899
+ position: absolute;
10900
+ display: flex;
10901
+ height: calc(var(--spacing) * 28);
10902
+ width: calc(var(--spacing) * 20);
10903
+ flex-direction: column;
10904
+ border-radius: var(--radius-lg);
10905
+ border-style: var(--tw-border-style);
10906
+ border-width: 1px;
10907
+ border-color: var(--color-secondary);
10908
+ padding: calc(var(--spacing) * 0.5);
10909
+ background: linear-gradient(235deg, var(--color-primary) 27%, var(--color-background) 65%);
10910
+ }
10911
+ .state__document--start {
10912
+ inset-inline-start: calc(var(--spacing) * 4);
10913
+ rotate: -21deg;
10914
+ }
10915
+ .state__document--center {
10916
+ inset-inline-start: calc(var(--spacing) * 16);
10917
+ z-index: 10;
10918
+ }
10919
+ .state__document--end {
10920
+ inset-inline-start: calc(var(--spacing) * 24);
10921
+ z-index: 0;
10922
+ rotate: 21deg;
10923
+ }
10924
+ .state__document-body {
10925
+ display: flex;
10926
+ height: 100%;
10927
+ width: 100%;
10928
+ align-items: center;
10929
+ border-radius: var(--radius-lg);
10930
+ padding: calc(var(--spacing) * 2.5);
10931
+ box-shadow: var(--box-shadow-card);
10932
+ }
10933
+ .state__document-lines {
10934
+ display: flex;
10935
+ height: 100%;
10936
+ width: 100%;
10937
+ flex-direction: column;
10938
+ justify-content: space-between;
10939
+ }
10940
+ .state__document-line {
10941
+ display: block;
10942
+ height: calc(var(--spacing) * 1);
10943
+ width: 100%;
10944
+ border-radius: calc(infinity * 1px);
10945
+ background: color-mix(in srgb, oklch(92.80% 0.0000 89.88) 78%, #fff);
10946
+ @supports (color: color-mix(in lab, red, red)) {
10947
+ background: color-mix(in oklab, var(--color-tertiary) 78%, var(--color-primary));
10948
+ }
10949
+ }
10950
+ .state__document-line--short {
10951
+ width: calc(var(--spacing) * 10);
10952
+ }
10953
+ .state__magnifier {
10954
+ position: absolute;
10955
+ inset-inline-start: 30%;
10956
+ top: 30%;
10957
+ z-index: 20;
10958
+ background-image: none;
10959
+ }
10960
+ .state__magnifier-icon {
10961
+ width: calc(var(--spacing) * 24);
10962
+ height: calc(var(--spacing) * 24);
10963
+ color: var(--color-content-secondary);
10964
+ opacity: 20%;
10965
+ }
10966
+ .state__note {
10967
+ text-align: center;
10968
+ font-size: var(--text-sm);
10969
+ line-height: var(--tw-leading, var(--text-sm--line-height));
10970
+ --tw-leading: calc(var(--spacing) * 5);
10971
+ line-height: calc(var(--spacing) * 5);
10972
+ --tw-font-weight: var(--font-weight-normal);
10973
+ font-weight: var(--font-weight-normal);
10974
+ color: var(--color-content);
10975
+ }
10976
+ .state__link {
10977
+ color: color-mix(in srgb, oklch(54.6% 0.245 262.881), oklch(20.46% 0.0000 89.88) 10%);
10978
+ @supports (color: color-mix(in lab, red, red)) {
10979
+ color: color-mix(in oklab, var(--color-info-content), var(--color-content) 10%);
10980
+ }
10981
+ }
10767
10982
  .file-upload-input {
10768
10983
  position: relative;
10769
10984
  display: flex;
@@ -12058,29 +12273,13 @@
12058
12273
  }
12059
12274
  }
12060
12275
  .grid-wrapper {
12061
- margin-top: calc(var(--spacing) * 8);
12062
- display: grid;
12276
+ --grid-max-cols: 12;
12277
+ --grid-min-col: 13rem;
12278
+ --grid-gap: 1rem;
12063
12279
  width: 100%;
12064
- grid-template-columns: repeat(1, minmax(0, 1fr));
12065
12280
  gap: calc(var(--spacing) * 4);
12066
- @media (width >= 30rem) {
12067
- grid-template-columns: repeat(2, minmax(0, 1fr));
12068
- }
12069
- @media (width >= 40rem) {
12070
- grid-template-columns: repeat(2, minmax(0, 1fr));
12071
- }
12072
- @media (width >= 48rem) {
12073
- grid-template-columns: repeat(3, minmax(0, 1fr));
12074
- }
12075
- @media (width >= 64rem) {
12076
- grid-template-columns: repeat(3, minmax(0, 1fr));
12077
- }
12078
- @media (width >= 80rem) {
12079
- grid-template-columns: repeat(4, minmax(0, 1fr));
12080
- }
12081
- @media (width >= 96rem) {
12082
- grid-template-columns: repeat(6, minmax(0, 1fr));
12083
- }
12281
+ display: grid;
12282
+ grid-template-columns: repeat( auto-fill, minmax( min( 100%, max( var(--grid-min-col), calc( (100cqw - (var(--grid-max-cols) - 1) * var(--grid-gap)) / var(--grid-max-cols) ) ) ), 1fr ) );
12084
12283
  }
12085
12284
  .grid-card {
12086
12285
  display: flex;
@@ -12173,6 +12372,39 @@
12173
12372
  font-weight: var(--font-weight-normal);
12174
12373
  color: var(--color-content-secondary);
12175
12374
  }
12375
+ @keyframes icon-float {
12376
+ 0%, 100% {
12377
+ translate: 0 0;
12378
+ }
12379
+ 50% {
12380
+ translate: 0 -5px;
12381
+ }
12382
+ }
12383
+ .grid-card__icon {
12384
+ pointer-events: none;
12385
+ position: absolute;
12386
+ width: calc(var(--spacing) * 4);
12387
+ height: calc(var(--spacing) * 4);
12388
+ transform: translate(var(--tx, 0px), var(--ty, 0px));
12389
+ transition: transform 0.5s ease-out;
12390
+ }
12391
+ .grid-card__icon--repelling {
12392
+ transition: transform 0.08s ease-out;
12393
+ }
12394
+ .grid-card__avocado {
12395
+ display: block;
12396
+ transform: translate(var(--tx, 0px), var(--ty, 0px));
12397
+ transition: transform 0.5s ease-out;
12398
+ &.grid-card__icon--repelling {
12399
+ transition: transform 0.08s ease-out;
12400
+ }
12401
+ }
12402
+ .grid-card__icon--float {
12403
+ animation-name: icon-float;
12404
+ animation-timing-function: ease-in-out;
12405
+ animation-iteration-count: infinite;
12406
+ animation-fill-mode: none;
12407
+ }
12176
12408
  .color-scheme-switcher {
12177
12409
  display: inline-flex;
12178
12410
  align-items: center;
@@ -13520,6 +13752,15 @@
13520
13752
  margin-inline-start: calc(var(--spacing) * 0);
13521
13753
  }
13522
13754
  }
13755
+ .panel-spacer {
13756
+ position: relative;
13757
+ display: flex;
13758
+ flex-direction: column;
13759
+ row-gap: calc(var(--spacing) * 12);
13760
+ &>[data-component="avo/ui/panel_header_component"], &>[data-component="avo/cover_component"] {
13761
+ margin-bottom: calc(var(--spacing) * -8);
13762
+ }
13763
+ }
13523
13764
  }
13524
13765
  .loading-spinner {
13525
13766
  position: absolute;
@@ -13854,6 +14095,18 @@
13854
14095
  inherits: false;
13855
14096
  initial-value: solid;
13856
14097
  }
14098
+ @property --tw-pan-x {
14099
+ syntax: "*";
14100
+ inherits: false;
14101
+ }
14102
+ @property --tw-pan-y {
14103
+ syntax: "*";
14104
+ inherits: false;
14105
+ }
14106
+ @property --tw-pinch-zoom {
14107
+ syntax: "*";
14108
+ inherits: false;
14109
+ }
13857
14110
  @keyframes spin {
13858
14111
  to {
13859
14112
  transform: rotate(360deg);
@@ -13937,6 +14190,9 @@
13937
14190
  --tw-ease: initial;
13938
14191
  --tw-content: "";
13939
14192
  --tw-outline-style: solid;
14193
+ --tw-pan-x: initial;
14194
+ --tw-pan-y: initial;
14195
+ --tw-pinch-zoom: initial;
13940
14196
  }
13941
14197
  }
13942
14198
  }