avo 4.0.0.beta.45 → 4.0.0.beta.46

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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/app/assets/builds/avo/application.css +175 -27
  4. data/app/assets/builds/avo/application.js +88 -88
  5. data/app/assets/builds/avo/application.js.map +4 -4
  6. data/app/assets/stylesheets/application.css +23 -0
  7. data/app/assets/stylesheets/css/components/field-wrapper.css +15 -14
  8. data/app/assets/stylesheets/css/components/manual_frame.css +38 -0
  9. data/app/assets/stylesheets/css/components/modal.css +22 -10
  10. data/app/components/avo/fields/has_many_field/show_component.html.erb +6 -2
  11. data/app/components/avo/fields/has_one_field/show_component.html.erb +12 -8
  12. data/app/components/avo/manual_frame_component.html.erb +60 -0
  13. data/app/components/avo/manual_frame_component.rb +73 -0
  14. data/app/components/avo/tab_group_component.html.erb +14 -1
  15. data/app/components/avo/tab_group_component.rb +15 -7
  16. data/app/helpers/avo/application_helper.rb +29 -0
  17. data/app/javascript/application.js +6 -0
  18. data/app/javascript/js/controllers/manual_frame_controller.js +160 -0
  19. data/app/javascript/js/controllers.js +2 -0
  20. data/app/views/avo/actions/show.html.erb +1 -1
  21. data/app/views/layouts/avo/application.html.erb +5 -3
  22. data/lib/avo/concerns/frame_loading_mode.rb +59 -0
  23. data/lib/avo/fields/frame_base_field.rb +13 -0
  24. data/lib/avo/fields/many_frame_base_field.rb +12 -1
  25. data/lib/avo/resources/items/tab.rb +3 -0
  26. data/lib/avo/version.rb +1 -1
  27. data/lib/generators/avo/templates/locales/avo.ar.yml +5 -0
  28. data/lib/generators/avo/templates/locales/avo.de.yml +5 -0
  29. data/lib/generators/avo/templates/locales/avo.en.yml +5 -0
  30. data/lib/generators/avo/templates/locales/avo.es.yml +5 -0
  31. data/lib/generators/avo/templates/locales/avo.fr.yml +5 -0
  32. data/lib/generators/avo/templates/locales/avo.it.yml +5 -0
  33. data/lib/generators/avo/templates/locales/avo.ja.yml +5 -0
  34. data/lib/generators/avo/templates/locales/avo.nb.yml +5 -0
  35. data/lib/generators/avo/templates/locales/avo.nl.yml +5 -0
  36. data/lib/generators/avo/templates/locales/avo.nn.yml +5 -0
  37. data/lib/generators/avo/templates/locales/avo.pl.yml +5 -0
  38. data/lib/generators/avo/templates/locales/avo.pt-BR.yml +5 -0
  39. data/lib/generators/avo/templates/locales/avo.pt.yml +5 -0
  40. data/lib/generators/avo/templates/locales/avo.ro.yml +5 -0
  41. data/lib/generators/avo/templates/locales/avo.ru.yml +5 -0
  42. data/lib/generators/avo/templates/locales/avo.tr.yml +5 -0
  43. data/lib/generators/avo/templates/locales/avo.ua.yml +5 -0
  44. data/lib/generators/avo/templates/locales/avo.zh-TW.yml +5 -0
  45. data/lib/generators/avo/templates/locales/avo.zh.yml +5 -0
  46. metadata +6 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0025b604ab0ca5ff4bdf83b41204be7b6ca2eb6211269b45bb1827f059a731fc
4
- data.tar.gz: 1f5ac00fe7cf8b1218c4d6ec6657820175e7fce008d027f449ade483126a9791
3
+ metadata.gz: 885e0a073f4609afd0191e173b2572c935557f8b3fb458f0773d2b8f128a3953
4
+ data.tar.gz: de1e1ba064326034bce65de538faa3abdc1de5b7bd8f047f97c68253051cdb9c
5
5
  SHA512:
6
- metadata.gz: 9e26e80cadbb04224a25ce1ae3321545426a334ac195cde6f0880143ef3d38377788e39189d2f77e180ea8c5152c7647874b112e4dd1c6b9931907e6628f82d0
7
- data.tar.gz: 7d6e56e3c9ddae3a12767064d99166fe603391b2157f792ef79107943e068cd035e11241d32f1f0929a4bcc472e01a3b4513ad7d953391f406aecc33667f6dd3
6
+ metadata.gz: b0e3a49508a1c3ae79c8fad5d10ad12fdb39a078f54ddddabec5dd552c2b3f06af9b188b01ce7aa992dd3120171dd20e995e29a589554416139ba5324b562738
7
+ data.tar.gz: 42252f11e7606bab476a7de70ef429fc766ad99b4213eaaf569b2c1bc38ba5f266a1e4be9e93b009286edce0d5081a8794735f5ec11eae0a9c45cd1fd3c672ea
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- avo (4.0.0.beta.45)
4
+ avo (4.0.0.beta.46)
5
5
  actionview (>= 6.1)
6
6
  active_link_to
7
7
  activerecord (>= 6.1)
@@ -284,6 +284,7 @@
284
284
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
285
285
  --animate-spin: spin 1s linear infinite;
286
286
  --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
287
+ --blur-sm: 8px;
287
288
  --aspect-video: 16 / 9;
288
289
  --default-transition-duration: 150ms;
289
290
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
@@ -8675,32 +8676,72 @@ tag.tagify__tag {
8675
8676
  width: 100%;
8676
8677
  }
8677
8678
  }
8678
- .all-fields-stacked .field-wrapper, .field-wrapper.field-wrapper--stacked {
8679
- row-gap: calc(var(--spacing) * 2);
8680
- padding-block: calc(var(--spacing) * 3);
8681
- @media (width >= 48rem) {
8679
+ .field-wrapper {
8680
+ @media (width < 48rem) {
8682
8681
  flex-direction: column;
8683
- }
8684
- @media (width >= 48rem) {
8685
8682
  align-items: flex-start;
8686
- }
8687
- .field-wrapper__label {
8688
- min-height: calc(var(--spacing) * 0);
8689
- padding-top: calc(var(--spacing) * 0);
8690
- @media (width >= 48rem) {
8683
+ row-gap: calc(var(--spacing) * 2);
8684
+ padding-block: calc(var(--spacing) * 3);
8685
+ .field-wrapper__label {
8686
+ min-height: calc(var(--spacing) * 0);
8687
+ width: 100%;
8688
+ padding-top: calc(var(--spacing) * 0);
8689
+ }
8690
+ .field-wrapper__label-help {
8691
+ padding-bottom: calc(var(--spacing) * 0);
8692
+ }
8693
+ .field-wrapper__content {
8694
+ width: 100%;
8695
+ padding-inline: calc(var(--spacing) * 4);
8696
+ padding-top: calc(var(--spacing) * 0);
8697
+ }
8698
+ .field-wrapper__content-wrapper {
8691
8699
  width: 100%;
8692
8700
  }
8693
8701
  }
8694
- .field-wrapper__label-help {
8695
- padding-bottom: calc(var(--spacing) * 0);
8696
- }
8697
- .field-wrapper__content {
8698
- width: 100%;
8699
- padding-inline: calc(var(--spacing) * 4);
8700
- padding-top: calc(var(--spacing) * 0);
8702
+ &:is(.all-fields-stacked .field-wrapper, .field-wrapper.field-wrapper--stacked) {
8703
+ flex-direction: column;
8704
+ align-items: flex-start;
8705
+ row-gap: calc(var(--spacing) * 2);
8706
+ padding-block: calc(var(--spacing) * 3);
8707
+ .field-wrapper__label {
8708
+ min-height: calc(var(--spacing) * 0);
8709
+ width: 100%;
8710
+ padding-top: calc(var(--spacing) * 0);
8711
+ }
8712
+ .field-wrapper__label-help {
8713
+ padding-bottom: calc(var(--spacing) * 0);
8714
+ }
8715
+ .field-wrapper__content {
8716
+ width: 100%;
8717
+ padding-inline: calc(var(--spacing) * 4);
8718
+ padding-top: calc(var(--spacing) * 0);
8719
+ }
8720
+ .field-wrapper__content-wrapper {
8721
+ width: 100%;
8722
+ }
8701
8723
  }
8702
- .field-wrapper__content-wrapper {
8703
- width: 100%;
8724
+ :is(.all-fields-stacked .field-wrapper, .field-wrapper.field-wrapper--stacked) & {
8725
+ flex-direction: column;
8726
+ align-items: flex-start;
8727
+ row-gap: calc(var(--spacing) * 2);
8728
+ padding-block: calc(var(--spacing) * 3);
8729
+ .field-wrapper__label {
8730
+ min-height: calc(var(--spacing) * 0);
8731
+ width: 100%;
8732
+ padding-top: calc(var(--spacing) * 0);
8733
+ }
8734
+ .field-wrapper__label-help {
8735
+ padding-bottom: calc(var(--spacing) * 0);
8736
+ }
8737
+ .field-wrapper__content {
8738
+ width: 100%;
8739
+ padding-inline: calc(var(--spacing) * 4);
8740
+ padding-top: calc(var(--spacing) * 0);
8741
+ }
8742
+ .field-wrapper__content-wrapper {
8743
+ width: 100%;
8744
+ }
8704
8745
  }
8705
8746
  }
8706
8747
  .container-small {
@@ -10803,6 +10844,92 @@ tag.tagify__tag {
10803
10844
  display: none;
10804
10845
  }
10805
10846
  }
10847
+ .manual-frame {
10848
+ position: relative;
10849
+ overflow: hidden;
10850
+ border-radius: var(--radius-lg);
10851
+ border-style: var(--tw-border-style);
10852
+ border-width: 1px;
10853
+ border-color: var(--color-secondary);
10854
+ padding-inline: calc(var(--spacing) * 4);
10855
+ padding-block: calc(var(--spacing) * 3);
10856
+ }
10857
+ .manual-frame__overlay {
10858
+ position: absolute;
10859
+ inset: calc(var(--spacing) * 0);
10860
+ z-index: 10;
10861
+ display: flex;
10862
+ align-items: center;
10863
+ justify-content: center;
10864
+ background-color: color-mix(in srgb, #fff 80%, transparent);
10865
+ @supports (color: color-mix(in lab, red, red)) {
10866
+ background-color: color-mix(in oklab, var(--color-primary) 80%, transparent);
10867
+ }
10868
+ --tw-backdrop-blur: blur(var(--blur-sm));
10869
+ -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
10870
+ backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
10871
+ }
10872
+ .manual-frame__loading {
10873
+ display: inline-flex;
10874
+ align-items: center;
10875
+ gap: calc(var(--spacing) * 2);
10876
+ border-radius: var(--radius-lg);
10877
+ border-style: var(--tw-border-style);
10878
+ border-width: 1px;
10879
+ border-color: var(--color-secondary);
10880
+ background-color: var(--color-primary);
10881
+ padding-inline: calc(var(--spacing) * 3);
10882
+ padding-block: calc(var(--spacing) * 2);
10883
+ font-size: var(--text-sm);
10884
+ line-height: var(--tw-leading, var(--text-sm--line-height));
10885
+ --tw-font-weight: var(--font-weight-medium);
10886
+ font-weight: var(--font-weight-medium);
10887
+ color: var(--color-content);
10888
+ --tw-shadow: "0px 4px 8px rgba(0, 0, 0, 0.04), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 0px 1px rgba(0, 0, 0, 0.04)";
10889
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
10890
+ }
10891
+ .manual-frame__loading-icon {
10892
+ width: calc(var(--spacing) * 4);
10893
+ height: calc(var(--spacing) * 4);
10894
+ animation: var(--animate-spin);
10895
+ color: var(--color-content-secondary);
10896
+ }
10897
+ .manual-frame__error-row {
10898
+ display: flex;
10899
+ align-items: center;
10900
+ justify-content: space-between;
10901
+ gap: calc(var(--spacing) * 3);
10902
+ }
10903
+ .manual-frame__error-message {
10904
+ display: inline-flex;
10905
+ min-width: calc(var(--spacing) * 0);
10906
+ align-items: center;
10907
+ gap: calc(var(--spacing) * 2);
10908
+ overflow: hidden;
10909
+ text-overflow: ellipsis;
10910
+ white-space: nowrap;
10911
+ font-size: var(--text-sm);
10912
+ line-height: var(--tw-leading, var(--text-sm--line-height));
10913
+ color: var(--color-content-secondary);
10914
+ }
10915
+ .manual-frame__error-icon {
10916
+ width: calc(var(--spacing) * 4);
10917
+ height: calc(var(--spacing) * 4);
10918
+ flex-shrink: 0;
10919
+ color: var(--color-danger-content);
10920
+ }
10921
+ .manual-frame__error-note {
10922
+ margin-top: calc(var(--spacing) * 2);
10923
+ font-size: var(--text-xs);
10924
+ line-height: var(--tw-leading, var(--text-xs--line-height));
10925
+ color: var(--color-content-secondary);
10926
+ }
10927
+ .manual-frame__error-link {
10928
+ --tw-font-weight: var(--font-weight-medium);
10929
+ font-weight: var(--font-weight-medium);
10930
+ text-decoration-line: underline;
10931
+ text-underline-offset: 2px;
10932
+ }
10806
10933
  .modal {
10807
10934
  --modal-height-sm: 24rem;
10808
10935
  --modal-height-md: 28rem;
@@ -10820,6 +10947,7 @@ tag.tagify__tag {
10820
10947
  height: 100%;
10821
10948
  align-items: center;
10822
10949
  justify-content: center;
10950
+ overflow: hidden;
10823
10951
  border-style: var(--tw-border-style);
10824
10952
  border-width: 0px;
10825
10953
  background-color: transparent;
@@ -10856,7 +10984,8 @@ tag.tagify__tag {
10856
10984
  position: relative;
10857
10985
  display: flex;
10858
10986
  width: 100%;
10859
- flex-shrink: 0;
10987
+ height: 100%;
10988
+ min-height: calc(var(--spacing) * 0);
10860
10989
  flex-direction: column;
10861
10990
  align-items: center;
10862
10991
  justify-content: center;
@@ -10864,15 +10993,23 @@ tag.tagify__tag {
10864
10993
  .modal__card {
10865
10994
  position: relative;
10866
10995
  display: flex;
10996
+ min-height: calc(var(--spacing) * 0);
10867
10997
  width: 100%;
10868
10998
  flex-shrink: 0;
10869
10999
  flex-direction: column;
11000
+ overflow: hidden;
10870
11001
  max-height: calc(100dvh - 2rem);
11002
+ max-width: calc(100dvw - 1rem);
10871
11003
  box-shadow: var(--shadow-modal);
10872
11004
  opacity: 0;
10873
11005
  transform: scale(0.975);
10874
11006
  transition: opacity var(--modal-transition-duration) ease-out, transform var(--modal-transition-duration) ease-out;
10875
11007
  }
11008
+ @media (min-width: 640px) {
11009
+ .modal__card {
11010
+ max-width: calc(100dvw - 2rem);
11011
+ }
11012
+ }
10876
11013
  .modal:popover-open .modal__card {
10877
11014
  opacity: 1;
10878
11015
  transform: scale(1);
@@ -10923,6 +11060,7 @@ tag.tagify__tag {
10923
11060
  min-height: calc(var(--spacing) * 0);
10924
11061
  width: 100%;
10925
11062
  flex: 1;
11063
+ overflow: hidden;
10926
11064
  }
10927
11065
  .modal__card > .card > .card__wrapper {
10928
11066
  display: flex;
@@ -10930,18 +11068,22 @@ tag.tagify__tag {
10930
11068
  width: 100%;
10931
11069
  flex: 1;
10932
11070
  flex-direction: column;
11071
+ overflow: hidden;
10933
11072
  }
10934
11073
  .modal__card .card__header {
11074
+ flex-shrink: 0;
10935
11075
  padding-inline: calc(var(--spacing) * 4);
10936
11076
  padding-block: calc(var(--spacing) * 3);
10937
11077
  }
10938
11078
  .modal__card > .card > .card__wrapper > .card__body {
10939
- display: flex;
10940
- min-height: calc(var(--spacing) * 64);
11079
+ display: block;
11080
+ min-height: calc(var(--spacing) * 0);
10941
11081
  flex: 1;
10942
- flex-direction: column;
10943
- align-items: flex-start;
10944
- gap: calc(var(--spacing) * 4);
11082
+ overflow: auto;
11083
+ border-radius: 0;
11084
+ border-style: var(--tw-border-style);
11085
+ border-width: 0px;
11086
+ background-color: transparent;
10945
11087
  padding-inline: calc(var(--spacing) * 0);
10946
11088
  padding-top: calc(var(--spacing) * 0);
10947
11089
  }
@@ -10989,8 +11131,13 @@ tag.tagify__tag {
10989
11131
  }
10990
11132
  }
10991
11133
  .modal__body-content {
11134
+ min-height: calc(var(--spacing) * 48);
10992
11135
  width: 100%;
10993
- height: 100%;
11136
+ border-radius: var(--radius-card-wrapper);
11137
+ border-style: var(--tw-border-style);
11138
+ border-width: 1px;
11139
+ border-color: var(--color-tertiary);
11140
+ background-color: var(--color-primary);
10994
11141
  }
10995
11142
  .card__body.modal-form-body {
10996
11143
  padding: calc(var(--spacing) * 4) !important;
@@ -10998,6 +11145,7 @@ tag.tagify__tag {
10998
11145
  .modal__controls {
10999
11146
  display: flex;
11000
11147
  width: 100%;
11148
+ flex-shrink: 0;
11001
11149
  align-items: center;
11002
11150
  justify-content: space-between;
11003
11151
  gap: calc(var(--spacing) * 2);