avo 3.18.0.tw4 → 3.18.0

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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +7 -2
  3. data/README.md +0 -1
  4. data/app/assets/stylesheets/avo.base.css +101 -101
  5. data/app/assets/stylesheets/css/fields/progress.css +4 -4
  6. data/app/assets/stylesheets/css/fields/tiptap.css +4 -4
  7. data/app/assets/stylesheets/css/pagination.css +2 -2
  8. data/app/assets/stylesheets/css/search.css +4 -4
  9. data/app/assets/stylesheets/css/tailwindcss/base.css +1 -0
  10. data/app/assets/stylesheets/css/tailwindcss/components.css +1 -0
  11. data/app/assets/stylesheets/css/tailwindcss/utilities.css +1 -0
  12. data/app/assets/stylesheets/css/tooltips.css +1 -1
  13. data/app/components/avo/actions_component.html.erb +3 -3
  14. data/app/components/avo/alert_component.html.erb +2 -2
  15. data/app/components/avo/alert_component.rb +1 -1
  16. data/app/components/avo/backtrace_alert_component.html.erb +3 -3
  17. data/app/components/avo/button_component.rb +3 -3
  18. data/app/components/avo/divider_component.html.erb +2 -2
  19. data/app/components/avo/empty_state_component.html.erb +1 -1
  20. data/app/components/avo/field_wrapper_component.html.erb +1 -1
  21. data/app/components/avo/fields/belongs_to_field/edit_component.html.erb +1 -1
  22. data/app/components/avo/fields/boolean_field/edit_component.html.erb +1 -1
  23. data/app/components/avo/fields/boolean_group_field/edit_component.rb +1 -1
  24. data/app/components/avo/fields/common/files/view_type/list_item_component.html.erb +3 -3
  25. data/app/components/avo/fields/common/key_value_component.html.erb +3 -3
  26. data/app/components/avo/fields/common/progress_bar_component.html.erb +1 -1
  27. data/app/components/avo/fields/common/status_viewer_component.html.erb +7 -1
  28. data/app/components/avo/fields/date_field/edit_component.html.erb +1 -1
  29. data/app/components/avo/fields/date_time_field/edit_component.html.erb +1 -1
  30. data/app/components/avo/fields/tags_field/edit_component.html.erb +1 -1
  31. data/app/components/avo/fields/tags_field/tag_component.html.erb +1 -1
  32. data/app/components/avo/fields/tiptap_field/edit_component.html.erb +1 -1
  33. data/app/components/avo/fields/trix_field/edit_component.html.erb +1 -1
  34. data/app/components/avo/filters_component.html.erb +3 -3
  35. data/app/components/avo/index/grid_item_component.html.erb +2 -2
  36. data/app/components/avo/index/grid_item_component.rb +1 -1
  37. data/app/components/avo/index/resource_grid_component.html.erb +1 -1
  38. data/app/components/avo/index/resource_map_component.html.erb +1 -1
  39. data/app/components/avo/index/resource_table_component.html.erb +1 -1
  40. data/app/components/avo/index/table_row_component.html.erb +3 -3
  41. data/app/components/avo/items/panel_component.html.erb +1 -1
  42. data/app/components/avo/media_library/item_details_component.html.erb +1 -1
  43. data/app/components/avo/modal_component.html.erb +1 -1
  44. data/app/components/avo/paginator_component.html.erb +2 -1
  45. data/app/components/avo/panel_component.html.erb +2 -2
  46. data/app/components/avo/profile_item_component.rb +1 -1
  47. data/app/components/avo/resource_sidebar_component.html.erb +1 -1
  48. data/app/components/avo/row_selector_component.html.erb +1 -1
  49. data/app/components/avo/sidebar/link_component.rb +1 -1
  50. data/app/components/avo/sidebar_component.html.erb +3 -3
  51. data/app/components/avo/sidebar_profile_component.html.erb +4 -4
  52. data/app/components/avo/tab_group_component.html.erb +1 -1
  53. data/app/helpers/avo/application_helper.rb +4 -4
  54. data/app/javascript/js/controllers/fields/key_value_controller.js +1 -1
  55. data/app/javascript/js/controllers/fields/tags_field_helpers.js +1 -1
  56. data/app/javascript/js/controllers/search_controller.js +2 -2
  57. data/app/views/avo/base/preview.html.erb +1 -1
  58. data/app/views/avo/debug/report.html.erb +1 -1
  59. data/app/views/avo/debug/status.html.erb +14 -19
  60. data/app/views/avo/home/_actions.html.erb +1 -1
  61. data/app/views/avo/home/_dashboards.html.erb +1 -1
  62. data/app/views/avo/home/_filters.html.erb +1 -1
  63. data/app/views/avo/home/_resources.html.erb +2 -2
  64. data/app/views/avo/home/failed_to_load.html.erb +1 -1
  65. data/app/views/avo/partials/_confirm_dialog.html.erb +4 -4
  66. data/app/views/avo/partials/_custom_tools_alert.html.erb +6 -6
  67. data/app/views/avo/partials/_navbar.html.erb +3 -3
  68. data/app/views/avo/partials/_resource_search.html.erb +1 -1
  69. data/app/views/avo/partials/_table_header.html.erb +2 -2
  70. data/app/views/avo/sidebar/_license_warning.html.erb +1 -1
  71. data/lib/avo/concerns/row_controls_configuration.rb +15 -16
  72. data/lib/avo/resources/items/holder.rb +1 -1
  73. data/lib/avo/version.rb +1 -1
  74. data/lib/generators/avo/resource_tool_generator.rb +1 -1
  75. data/lib/generators/avo/templates/cards/partial_card_partial.tt +1 -1
  76. data/lib/generators/avo/tool_generator.rb +2 -2
  77. data/lib/tasks/avo_tasks.rake +1 -1
  78. data/public/avo-assets/avo.base.css +12941 -10316
  79. data/public/avo-assets/avo.base.js +3 -3
  80. data/public/avo-assets/avo.base.js.map +2 -2
  81. data/tailwind.preset.js +20 -0
  82. metadata +6 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1aea42b83fc1477673c6145e559491012f105be179322859fab4d545db6b21e2
4
- data.tar.gz: 95d5f3232c84176f5289bc5c0dcb6fe6b45f2c83b9b4b4c3c2a80199a3849754
3
+ metadata.gz: a021dc75388114b43557b2147c1a869dafa785702a1fef76a6e46bac6acd5438
4
+ data.tar.gz: b5bbdc0eed70c1f0042ca4ffd12b1b3fc54a9d7a01f4de35de12ecb012a031c8
5
5
  SHA512:
6
- metadata.gz: 1847cf4c9228f7f7b2b594c263c54807a34d8308bc92a3d77e4f895b8d12ee3f76596e13e297cc767ca1cbaaf67008b7eb4016f52ba56ad80eccd86d77a91428
7
- data.tar.gz: dd0492356702a17932ba1fd60d4f045435f91de7aaf5c66908d7f97a994222d446358b1dcf06cebc2e3eff49d3677be206c0b5050fc129c0f733a4ab5db3a868
6
+ metadata.gz: 7b5685d03a6f07dbe2d011a17c1817c4b179d4aacaebcd9aa1e0ec1a6d3fa4d6ce21da0a77cde5cc0b09527b4e16cd6223ae447ca4c4112e93ece3f464a6ba56
7
+ data.tar.gz: a2f8fbab85b71d87e31ddae2eaa5f095f09288ad4ca4b587e1ef329130efa091346fa2ef2b769eb3c6e669eb68c6239ff8d46920474a10701c3f0da0a495069a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- avo (3.18.0.tw4)
4
+ avo (3.18.0)
5
5
  actionview (>= 6.1)
6
6
  active_link_to
7
7
  activerecord (>= 6.1)
@@ -293,6 +293,7 @@ GEM
293
293
  concurrent-ruby (~> 1.1)
294
294
  webrick (~> 1.7)
295
295
  websocket-driver (~> 0.7)
296
+ ffi (1.17.1-arm64-darwin)
296
297
  ffi (1.17.1-x86_64-linux-gnu)
297
298
  flay (2.13.3)
298
299
  erubi (~> 1.10)
@@ -421,6 +422,8 @@ GEM
421
422
  net-smtp (0.5.1)
422
423
  net-protocol
423
424
  nio4r (2.7.4)
425
+ nokogiri (1.18.3-arm64-darwin)
426
+ racc (~> 1.4)
424
427
  nokogiri (1.18.3-x86_64-linux-gnu)
425
428
  racc (~> 1.4)
426
429
  observer (0.1.2)
@@ -696,6 +699,8 @@ GEM
696
699
  zeitwerk (2.7.2)
697
700
 
698
701
  PLATFORMS
702
+ arm64-darwin-23
703
+ arm64-darwin-24
699
704
  x86_64-linux
700
705
 
701
706
  DEPENDENCIES
@@ -783,4 +788,4 @@ DEPENDENCIES
783
788
  zeitwerk
784
789
 
785
790
  BUNDLED WITH
786
- 2.6.3
791
+ 2.5.9
data/README.md CHANGED
@@ -125,6 +125,5 @@ Please read the [RELEASE.MD](./RELEASE.MD)
125
125
 
126
126
  - [`active_storage-blurhash`](https://github.com/avo-hq/active_storage-blurhash) - A plug-n-play [blurhash](https://blurha.sh/) integration for images stored in ActiveStorage
127
127
  - [`class_variants`](https://github.com/avo-hq/class_variants) - Easily configure styles and apply them as classes. Very useful when you're implementing Tailwind CSS components and call them with different states.
128
- - [`marksmith`](https://github.com/avo-hq/marksmith) - GitHub-style markdown editor for Ruby on Rails with ActiveStorage support.
129
128
  - [`prop_initializer`](https://github.com/avo-hq/prop_initializer) - A flexible tool for defining properties on Ruby classes.
130
129
  - [`stimulus-confetti`](https://github.com/avo-hq/stimulus-confetti) - The easiest way to add confetti to your StimulusJS app
@@ -1,124 +1,124 @@
1
- @import "tailwindcss";
2
-
3
- /* Figure out a way to add those dynamically */
4
- @source "../../../tmp/avo/packages/avo-advanced";
5
- @source "../../../tmp/avo/packages/avo-dashboards";
6
- @source "../../../tmp/avo/packages/avo-dynamic_filters";
7
- @source "../../../tmp/avo/packages/avo-kanban";
8
- @source "../../../tmp/avo/packages/avo-menu";
9
- @source "../../../tmp/avo/packages/avo-pro";
10
-
11
- @config "../../../tailwind.config.js";
12
-
13
- @layer components {
14
- @import './../../../node_modules/easymde/dist/easymde.min.css';
15
- @import './../../../node_modules/tippy.js/dist/tippy.css';
16
- @import './../../../node_modules/tippy.js/themes/light.css';
17
- @import './../../../node_modules/flatpickr/dist/flatpickr.css';
18
- @import './../../../node_modules/@algolia/autocomplete-theme-classic/dist/theme.css';
19
- @import './../../../node_modules/@yaireo/tagify/dist/tagify.css';
20
-
21
- @import './css/fonts.css';
22
- @import './css/buttons.css';
23
- @import './css/typography.css';
24
- @import './css/tooltips.css';
25
- @import './css/loader.css';
26
- @import './css/pagination.css';
27
- @import './css/breadcrumbs.css';
28
- @import './css/search.css';
29
- @import './css/active-storage.css';
30
- @import './css/scrollbar.css';
31
- @import './css/sidebar.css';
32
- @import './css/spinner.css';
33
-
34
- @import './css/fields/status.css';
35
- @import './css/fields/code.css';
36
- @import './css/fields/progress.css';
37
- @import './css/fields/trix.css';
38
- @import './css/fields/tags.css';
39
- @import './css/fields/tiptap.css';
40
-
41
- html,
42
- body {
43
- @apply antialiased relative h-full;
44
- }
1
+ @import './../../../node_modules/easymde/dist/easymde.min.css';
2
+ @import './../../../node_modules/tippy.js/dist/tippy.css';
3
+ @import './../../../node_modules/tippy.js/themes/light.css';
4
+ @import './../../../node_modules/flatpickr/dist/flatpickr.css';
5
+ @import './../../../node_modules/@algolia/autocomplete-theme-classic/dist/theme.css';
6
+ @import './../../../node_modules/@yaireo/tagify/dist/tagify.css';
7
+
8
+ @import 'tailwindcss/base';
9
+
10
+ @import './css/fonts.css';
11
+ @import './css/buttons.css';
12
+ @import './css/typography.css';
13
+ @import './css/tooltips.css';
14
+ @import './css/loader.css';
15
+ @import './css/pagination.css';
16
+ @import './css/breadcrumbs.css';
17
+ @import './css/search.css';
18
+ @import './css/active-storage.css';
19
+ @import './css/scrollbar.css';
20
+ @import './css/sidebar.css';
21
+ @import './css/spinner.css';
22
+
23
+ @import './css/fields/status.css';
24
+ @import './css/fields/code.css';
25
+ @import './css/fields/progress.css';
26
+ @import './css/fields/trix.css';
27
+ @import './css/fields/tags.css';
28
+ @import './css/fields/tiptap.css';
29
+
30
+ @import 'tailwindcss/components';
31
+
32
+ @import 'tailwindcss/utilities';
33
+
34
+ html,
35
+ body {
36
+ @apply antialiased relative h-full;
37
+ }
45
38
 
46
- .will-change-transform {
47
- will-change: transform;
48
- }
39
+ .will-change-transform {
40
+ will-change: transform;
41
+ }
49
42
 
50
- .fade-enter-active,
51
- .fade-leave-active {
52
- will-change: opacity;
53
- will-change: transform;
43
+ .fade-enter-active,
44
+ .fade-leave-active {
45
+ will-change: opacity;
46
+ will-change: transform;
54
47
 
55
- @apply transition transform duration-150;
56
- }
48
+ @apply transition transform duration-150;
49
+ }
57
50
 
58
- .fade-enter-active {
59
- @apply relative ease-out delay-150;
60
- }
51
+ .fade-enter-active {
52
+ @apply relative ease-out delay-150;
53
+ }
61
54
 
62
- .fade-leave-active {
63
- @apply relative ease-in;
64
- }
55
+ .fade-leave-active {
56
+ @apply relative ease-in;
57
+ }
65
58
 
66
- .fade-enter {
67
- @apply delay-150 opacity-0 -translate-y-1;
68
- }
59
+ .fade-enter {
60
+ @apply delay-150 opacity-0 -translate-y-1;
61
+ }
69
62
 
70
- .fade-enter-to {
71
- @apply delay-150 opacity-100 translate-y-0;
72
- }
63
+ .fade-enter-to {
64
+ @apply delay-150 opacity-100 translate-y-0;
65
+ }
73
66
 
74
- .fade-leave {
75
- @apply opacity-100 translate-y-0;
76
- }
67
+ .fade-leave {
68
+ @apply opacity-100 translate-y-0;
69
+ }
77
70
 
78
- .fade-leave-to {
79
- @apply opacity-0 translate-y-1;
80
- }
71
+ .fade-leave-to {
72
+ @apply opacity-0 translate-y-1;
73
+ }
81
74
 
82
- .turbo-progress-bar {
83
- @apply bg-primary-400;
84
- }
75
+ .turbo-progress-bar {
76
+ @apply bg-primary-400;
77
+ }
85
78
 
86
- body.os-mac .mac\:hidden {
87
- display: none;
88
- }
79
+ body.os-mac .mac\:hidden {
80
+ display: none;
81
+ }
89
82
 
90
- body.os-pc .pc\:hidden {
91
- display: none;
92
- }
83
+ body.os-pc .pc\:hidden {
84
+ display: none;
85
+ }
93
86
 
94
- trix-editor {
95
- max-height: 320px !important;
96
- overflow-y: auto;
97
- }
87
+ trix-editor {
88
+ max-height: 320px !important;
89
+ overflow-y: auto;
90
+ }
98
91
 
99
- dialog#turbo-confirm {
100
- @apply bg-transparent;
101
- }
92
+ dialog#turbo-confirm {
93
+ @apply bg-transparent;
94
+ }
102
95
 
103
- dl {
104
- @apply text-sm grid gap-x-2 grid-cols-[max-content_1fr];
96
+ dl {
97
+ @apply text-sm grid gap-x-2 grid-cols-[max-content_1fr];
105
98
 
106
- dt {
107
- @apply font-bold mt-1;
108
- }
99
+ dt {
100
+ @apply font-bold mt-1;
101
+ }
109
102
 
110
- dd {
111
- @apply ml-0 col-start-2;
112
- }
103
+ dd {
104
+ @apply ml-0 col-start-2;
113
105
  }
106
+ }
114
107
 
115
- .shift-pressed {
116
- & .highlighted-row {
117
- @apply !bg-neutral-200;
118
- }
108
+ /* TODO: make content like tailwindcss */
109
+ .floating-row-controls {
110
+ &:before {
111
+ content: "";
112
+ @apply absolute z-10 inset-auto left-0 top-0 mt-0 -translate-x-full w-3 h-full bg-gradient-to-l from-white to-transparent group-hover:from-gray-50;
119
113
  }
114
+ }
120
115
 
121
- .selected-row {
122
- @apply !bg-neutral-100;
116
+ .shift-pressed {
117
+ & .highlighted-row {
118
+ @apply !bg-neutral-200;
123
119
  }
124
120
  }
121
+
122
+ .selected-row {
123
+ @apply !bg-neutral-100;
124
+ }
@@ -1,13 +1,13 @@
1
1
  progress {
2
- @apply h-2 bg-white border border-slate-400 rounded-sm shadow-inner;
2
+ @apply h-2 bg-white border border-slate-400 rounded shadow-inner;
3
3
  }
4
4
  progress[value]::-webkit-progress-bar {
5
- @apply bg-white border border-gray-500 rounded-sm shadow-inner;
5
+ @apply bg-white border border-gray-500 rounded shadow-inner;
6
6
  }
7
7
  progress[value]::-webkit-progress-value{
8
- @apply bg-primary-500 rounded-sm;
8
+ @apply bg-primary-500 rounded;
9
9
 
10
10
  }
11
11
  progress[value]::-moz-progress-bar {
12
- @apply bg-primary-500 rounded-sm appearance-none;
12
+ @apply bg-primary-500 rounded appearance-none;
13
13
  }
@@ -1,7 +1,7 @@
1
1
  /* EDIT STYLES */
2
2
 
3
3
  .tiptap {
4
- @apply m-0 p-4 outline-hidden min-h-44;
4
+ @apply m-0 p-4 outline-none min-h-44;
5
5
 
6
6
  >*+* {
7
7
  @apply mt-4;
@@ -22,7 +22,7 @@
22
22
  }
23
23
 
24
24
  .tiptap__field {
25
- @apply w-full mb-4 border border-gray-200 rounded-sm;
25
+ @apply w-full mb-4 border border-gray-200 rounded;
26
26
  }
27
27
 
28
28
  .tiptap__editor {
@@ -54,7 +54,7 @@
54
54
  }
55
55
 
56
56
  .tiptap__button {
57
- @apply p-1 text-gray-500 rounded-sm cursor-pointer;
57
+ @apply p-1 text-gray-500 rounded cursor-pointer;
58
58
 
59
59
  &:hover:enabled {
60
60
  @apply bg-gray-100;
@@ -94,7 +94,7 @@
94
94
  }
95
95
 
96
96
  .tiptap__link-field {
97
- @apply text-sm mr-2 py-1 border border-gray-200 rounded-sm;
97
+ @apply text-sm mr-2 py-1 border border-gray-200 rounded;
98
98
  }
99
99
 
100
100
  /* SHOW STYLES */
@@ -22,7 +22,7 @@
22
22
  .pagy-nav-js .page a,
23
23
  .pagy-combo-nav-js .page a,
24
24
  .pagy-combo-nav-js .pagy-combo-input a {
25
- @apply rounded-sm px-3 py-1 text-sm text-gray-500 font-semibold bg-white shadow-md border border-gray-300;
25
+ @apply rounded px-3 py-1 text-sm text-gray-500 font-semibold bg-white shadow-md border border-gray-300;
26
26
 
27
27
  &:hover{
28
28
  @apply bg-gray-150;
@@ -73,7 +73,7 @@
73
73
  }
74
74
 
75
75
  & a:not(.gap) {
76
- @apply block rounded-sm px-3 py-1 text-sm text-gray-500 font-semibold bg-white shadow-md border border-gray-300;
76
+ @apply block rounded px-3 py-1 text-sm text-gray-500 font-semibold bg-white shadow-md border border-gray-300;
77
77
 
78
78
  &:hover{
79
79
  @apply bg-gray-150;
@@ -22,7 +22,7 @@
22
22
  }
23
23
 
24
24
  .aa-DetachedSearchButton {
25
- @apply rounded-sm border-gray-300 h-[34px];
25
+ @apply rounded border-gray-300 h-[34px];
26
26
  }
27
27
  }
28
28
 
@@ -37,11 +37,11 @@
37
37
 
38
38
  .aa-Form {
39
39
  &:focus-within {
40
- @apply ring-0;
40
+ @apply ring-0 !important;
41
41
  }
42
42
 
43
43
  input {
44
- @apply focus:ring-0;
44
+ @apply focus:ring-0 !important;
45
45
  }
46
46
  &:focus-within {
47
47
  .aa-InputWrapperPrefix{
@@ -71,7 +71,7 @@ button.aa-DetachedCancelButton {
71
71
  @apply space-y-2;
72
72
 
73
73
  .aa-Item {
74
- @apply bg-white rounded-sm px-3 py-4 shadow font-medium;
74
+ @apply bg-white rounded px-3 py-4 shadow font-medium;
75
75
 
76
76
  .aa-ItemDescription {
77
77
  @apply text-gray-500 text-sm font-normal mt-1;
@@ -0,0 +1 @@
1
+ @tailwind base;
@@ -0,0 +1 @@
1
+ @tailwind components;
@@ -0,0 +1 @@
1
+ @tailwind utilities;
@@ -7,7 +7,7 @@
7
7
  display: block;
8
8
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
9
9
 
10
- @apply bg-white text-gray-700 px-3 py-0 rounded-sm text-xs;
10
+ @apply bg-white text-gray-700 px-3 py-0 rounded text-xs;
11
11
  }
12
12
 
13
13
  .tooltip .tooltip-arrow {
@@ -10,7 +10,7 @@
10
10
  type: :button,
11
11
  color: @color,
12
12
  size: @size,
13
- class: "focus:outline-hidden",
13
+ class: "focus:outline-none",
14
14
  icon: @icon,
15
15
  data: {
16
16
  action: "click->toggle#togglePanel",
@@ -21,7 +21,7 @@
21
21
  <%= @label %>
22
22
  <% end %>
23
23
  <div
24
- class="absolute flex inset-auto xl:right-0 top-full bg-white w-full sm:w-auto sm:min-w-[300px] mt-2 z-40 shadow-modal rounded-sm overflow-hidden hidden"
24
+ class="absolute flex inset-auto xl:right-0 top-full bg-white w-full sm:w-auto sm:min-w-[300px] mt-2 z-40 shadow-modal rounded overflow-hidden hidden"
25
25
  data-toggle-target="panel"
26
26
  data-controller="actions-overflow"
27
27
  data-actions-overflow-panel-list-value="<%= !@as_row_control %>"
@@ -33,7 +33,7 @@
33
33
  data-transition-leave-start="transform opacity-100 translate-y-0"
34
34
  data-transition-leave-end="transform opacity-0 -translate-y-1"
35
35
  >
36
- <div data-target="actions-list" class="w-full space divide-y divide-gray-200">
36
+ <div data-target="actions-list" class="w-full space divide-y">
37
37
  <% @actions.each do |action| %>
38
38
  <%= render_item(action)%>
39
39
  <% end %>
@@ -13,8 +13,8 @@
13
13
  <%= sanitize @message.to_s %>
14
14
  </p>
15
15
  </div>
16
- <div class="ml-4 shrink-0 flex items-center">
17
- <button data-action="alert#close" class="inline-flex text-white focus:outline-hidden focus:text-gray-300 transition ease-in-out duration-150">
16
+ <div class="ml-4 flex-shrink-0 flex items-center">
17
+ <button data-action="alert#close" class="inline-flex text-white focus:outline-none focus:text-gray-300 transition ease-in-out duration-150">
18
18
  <svg class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
19
19
  <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"/>
20
20
  </svg>
@@ -18,7 +18,7 @@ class Avo::AlertComponent < Avo::BaseComponent
18
18
  def classes
19
19
  return "hidden" if is_empty?
20
20
 
21
- result = "max-w-lg w-full shadow-lg px-4 py-3 rounded-sm relative border text-white pointer-events-auto"
21
+ result = "max-w-lg w-full shadow-lg rounded px-4 py-3 rounded relative border text-white pointer-events-auto"
22
22
 
23
23
  result += if is_error?
24
24
  " bg-red-400 border-red-600"
@@ -1,7 +1,7 @@
1
1
  <div data-controller="alert"
2
2
  data-alert-dismiss-after-value="<%= Avo.configuration.alert_dismiss_time %>"
3
3
  data-alert-remove-delay-value="0"
4
- class="w-full shadow-lg px-4 py-3 rounded-sm relative border text-white pointer-events-auto bg-red-400 border-red-600"
4
+ class="w-full shadow-lg px-4 py-3 rounded relative border text-white pointer-events-auto bg-red-400 border-red-600"
5
5
  >
6
6
  <div class="px-2">
7
7
  <div class="flex h-full">
@@ -14,8 +14,8 @@
14
14
  <pre class='overflow-y-scroll max-h-64 whitespace-pre-wrap text-xs'><%= @backtrace.join("\n") %></pre>
15
15
  </p>
16
16
  </div>
17
- <div class="ml-4 shrink-0 flex items-center">
18
- <button data-action="alert#close" class="inline-flex text-white focus:outline-hidden focus:text-gray-300 transition ease-in-out duration-150">
17
+ <div class="ml-4 flex-shrink-0 flex items-center">
18
+ <button data-action="alert#close" class="inline-flex text-white focus:outline-none focus:text-gray-300 transition ease-in-out duration-150">
19
19
  <svg class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
20
20
  <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"/>
21
21
  </svg>
@@ -34,12 +34,12 @@ class Avo::ButtonComponent < Avo::BaseComponent
34
34
  end
35
35
 
36
36
  def button_classes
37
- classes = "button-component inline-flex grow-0 items-center font-semibold leading-6 fill-current whitespace-nowrap transition duration-100 transform transition duration-100 cursor-pointer disabled:cursor-not-allowed disabled:opacity-60 data-[disabled='true']:opacity-60 justify-center #{@class}"
37
+ classes = "button-component inline-flex flex-grow-0 items-center font-semibold leading-6 fill-current whitespace-nowrap transition duration-100 transform transition duration-100 cursor-pointer disabled:cursor-not-allowed disabled:opacity-60 data-[disabled='true']:opacity-60 justify-center #{@class}"
38
38
 
39
39
  # For non-icon-styled buttons we should not add borders.
40
- classes += " border border-gray-200 active:outline active:outline-1" unless is_icon?
40
+ classes += " border active:outline active:outline-1" unless is_icon?
41
41
 
42
- classes += " rounded-sm" if @rounded.present?
42
+ classes += " rounded" if @rounded.present?
43
43
  classes += style_classes
44
44
  classes += horizontal_padding_classes
45
45
  classes += vertical_padding_classes
@@ -1,6 +1,6 @@
1
- <div class="relative flex justify-center items-center w-full !border-b border-gray-200 border-solid" data-component-name="<%= self.class.to_s.underscore %>">
1
+ <div class="relative flex justify-center items-center w-full !border-b-2 border-gray-200 border-solid" data-component-name="<%= self.class.to_s.underscore %>">
2
2
  <% if @label.present? %>
3
- <div class="absolute inset-auto z-20 text-[11px] font-semibold uppercase leading-none text-gray-500 bg-white border border-gray-200 px-2 py-1 rounded-sm">
3
+ <div class="absolute inset-auto z-20 text-xs font-semibold uppercase leading-none text-gray-500 bg-white px-2 border py-1 rounded">
4
4
  <%= @label %>
5
5
  </div>
6
6
  <% end %>
@@ -1,5 +1,5 @@
1
1
  <% if @add_background %>
2
- <div class="bg-white rounded-sm shadow-panel">
2
+ <div class="bg-white rounded shadow-panel">
3
3
  <% end %>
4
4
  <div class="relative flex-1 flex flex-col items-center justify-center space-y-12 py-24">
5
5
  <%= helpers.svg view_type_svg, class: 'h-[250px]' %>
@@ -2,7 +2,7 @@
2
2
  class: classes,
3
3
  style: style,
4
4
  data: data do %>
5
- <%= content_tag :div, class: class_names("pt-4 flex self-start items-center shrink-0 w-48 px-6 uppercase font-semibold text-gray-500 text-sm", @field.get_html(:classes, view: @view, element: :label), {
5
+ <%= content_tag :div, class: class_names("pt-4 flex self-start items-center flex-shrink-0 w-48 px-6 uppercase font-semibold text-gray-500 text-sm", @field.get_html(:classes, view: @view, element: :label), {
6
6
  "md:pt-4 md:w-full": stacked?,
7
7
  "h-full md:pt-0": !stacked?,
8
8
  "md:h-10 ": !stacked? && short?,
@@ -1,5 +1,5 @@
1
1
  <% if is_polymorphic? %>
2
- <div class="divide-y divide-gray-200"
2
+ <div class="divide-y"
3
3
  data-controller="belongs-to-field"
4
4
  data-searchable="<%= @field.is_searchable? %>"
5
5
  data-association="<%= @field.id %>"
@@ -3,7 +3,7 @@
3
3
  <%= @form.check_box @field.id,
4
4
  value: @field.value,
5
5
  checked: @field.value,
6
- class: "text-lg h-4 w-4 checked:bg-primary-400 focus:checked:!bg-primary-400 rounded-sm #{@field.get_html(:classes, view: view, element: :input)}",
6
+ class: "text-lg h-4 w-4 checked:bg-primary-400 focus:checked:!bg-primary-400 rounded #{@field.get_html(:classes, view: view, element: :input)}",
7
7
  data: @field.get_html(:data, view: view, element: :input),
8
8
  disabled: disabled?,
9
9
  autofocus: @autofocus,
@@ -5,7 +5,7 @@ class Avo::Fields::BooleanGroupField::EditComponent < Avo::Fields::EditComponent
5
5
  super(...)
6
6
 
7
7
  # Initialize here to avoid multiple calls to @field.get_html for each option.
8
- @classes = "w-4 h-4 rounded-sm checked:bg-primary-400 focus:checked:!bg-primary-400" \
8
+ @classes = "w-4 h-4 rounded checked:bg-primary-400 focus:checked:!bg-primary-400" \
9
9
  "#{@field.get_html(:classes, view: view, element: :input)}"
10
10
  @data = @field.get_html(:data, view: view, element: :input)
11
11
  @style = @field.get_html(:style, view: view, element: :input)
@@ -5,14 +5,14 @@
5
5
  <div class="rounded-full bg-slate-100 border border-gray-500 p-1.5 flex items-center justify-center">
6
6
  <%= helpers.svg icon_for_file, class: "h-5 text-gray-600" %>
7
7
  </div>
8
- <p class="items-center h-full p-2 shrink-0">
8
+ <p class="items-center h-full p-2 flex-shrink-0">
9
9
  <%= file.filename %>
10
10
  </p>
11
11
  </div>
12
- <div class="text-gray-700 shrink-0 text-sm">
12
+ <div class="text-gray-700 flex-shrink-0 text-sm">
13
13
  <%= helpers.number_to_human_size(file.byte_size) %>
14
14
  </div>
15
- <div class="flex space-x-2 justify-end col-span-1 shrink-0">
15
+ <div class="flex space-x-2 justify-end col-span-1 flex-shrink-0">
16
16
  <%= render Avo::Fields::Common::Files::ControlsComponent.new(field: @field, file: file, resource: @resource) %>
17
17
  </div>
18
18
  </div>
@@ -1,4 +1,4 @@
1
- <div class="w-full shadow-lg rounded-sm overflow-hidden"
1
+ <div class="w-full shadow-lg rounded overflow-hidden"
2
2
  data-controller="key-value"
3
3
  data-key-value-target="controller"
4
4
  data-options="<%= @field.options.to_json %>"
@@ -7,8 +7,8 @@
7
7
  >
8
8
  <div class="w-full flex flex-col">
9
9
  <div class="flex w-full">
10
- <div class="flex w-full bg-gray-700 shadow-sm overflow-hidden">
11
- <div class="w-1/2 py-3 px-3 uppercase font-semibold text-xs text-white border-gray-600 border-r border-gray-200">
10
+ <div class="flex w-full bg-gray-700 shadow overflow-hidden">
11
+ <div class="w-1/2 py-3 px-3 uppercase font-semibold text-xs text-white border-gray-600 border-r">
12
12
  <%= @field.key_label %>
13
13
  </div>
14
14
  <div class="w-1/2 py-3 px-3 uppercase font-semibold text-xs text-white">
@@ -4,5 +4,5 @@
4
4
  <%= @value %><%= @value_suffix if @value_suffix.present? %>
5
5
  </div>
6
6
  <% end %>
7
- <%= tag :progress, min: 0, max: @max, value: @value, class: class_names("block min-w-[6rem]", "w-full": show?, "w-auto": index?) %>
7
+ <%= tag :progress, min: 0, max: @max, value: @value, class: "block min-w-[6rem] #{"w-full" if show?} #{"w-auto" if index?}" %>
8
8
  </div>
@@ -1,4 +1,10 @@
1
- <div class=" <%= class_names("flex shrink-0 items-center", "text-red-600": @status == 'failed', "text-green-600": @status == 'success', "text-gray-600": @status == 'neutral') %>">
1
+ <%
2
+ classes = "inline-block"
3
+ classes += " text-red-600" if @status == 'failed'
4
+ classes += " text-green-600" if @status == 'success'
5
+ classes += " text-gray-600" if @status == 'neutral'
6
+ %>
7
+ <div class="flex flex-shrink-0 <%= classes %> items-center">
2
8
  <% if @status == 'success' %>
3
9
  <%= helpers.svg 'heroicons/solid/check-circle', class: 'h-4' %>
4
10
  <% elsif @status == 'failed' %>
@@ -12,7 +12,7 @@
12
12
  } do %>
13
13
  <%= @form.text_field @field.id,
14
14
  value: @field.edit_formatted_value,
15
- class: classes("w-full #{"!hidden" unless params[:avo_show_hidden_inputs]}"),
15
+ class: classes("w-full #{"hidden" unless params[:avo_show_hidden_inputs]}"),
16
16
  data: {
17
17
  'date-field-target': 'input',
18
18
  placeholder: @field.placeholder,
@@ -14,7 +14,7 @@
14
14
  } do %>
15
15
  <%= @form.text_field @field.id,
16
16
  value: @field.edit_formatted_value,
17
- class: classes("w-full #{"!hidden" unless params[:avo_show_hidden_inputs]}"),
17
+ class: classes("w-full #{"hidden" unless params[:avo_show_hidden_inputs]}"),
18
18
  data: {
19
19
  date_field_target: :input,
20
20
  placeholder: @field.placeholder,