avo 3.17.9.tw4 → 3.17.9

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 +2 -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 +12272 -10320
  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: a0ee543f212af88bfe92027d0afee1ef48243322ce0d378020ec2cb1140d1586
4
- data.tar.gz: e0b288a0b5ecc9e0b7eaf3404ed8042d8a5b85e7ae329b06da2c64e79abdaefa
3
+ metadata.gz: ef06e5bc942d9cf211e9938c407b4a81242f57a47cfe96748718f16d2e26452a
4
+ data.tar.gz: 020d2796021e553db9e2e2fb251b9c27c0d2193d231812473de849418ae3c45a
5
5
  SHA512:
6
- metadata.gz: 267e6c7da01594b1b655f609b174022606260f99c1d2bcbeed930c3079db395226949a20cfcaca1b08d2a032e02bf5499ed2ba4db73c66df877149118b075e88
7
- data.tar.gz: 0df22eb885303532e9bcea4d1993b57462628fbe8cc54be312101d0c9e7e3a8c2379a97b4457753781094bcf7f35cbceb799c2585338062c17f395b18c80d5bc
6
+ metadata.gz: 5ddbe6d5197382685b2f2303031ade1668c2e331110c611ba1ea0435b65f32ac4af5b8fbe0d37caabf7244f8cde73e297870e9755039b81b31221034198a90ca
7
+ data.tar.gz: 28da089fd26b1ab19a9aaf19ddd055a618d8341284b89dadc49fa7d66c6e1fa3ff1d820af4584374ece207616a05e150fe28c3702401f7b71b64b38e5245633f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- avo (3.17.9.tw4)
4
+ avo (3.17.9)
5
5
  actionview (>= 6.1)
6
6
  active_link_to
7
7
  activerecord (>= 6.1)
@@ -787,4 +787,4 @@ DEPENDENCIES
787
787
  zeitwerk
788
788
 
789
789
  BUNDLED WITH
790
- 2.6.3
790
+ 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;
96
+ dl {
97
+ @apply text-sm;
105
98
 
106
- dt {
107
- @apply font-bold inline-block mt-1;
108
- }
99
+ dt {
100
+ @apply font-bold inline-block mt-1;
101
+ }
109
102
 
110
- dd {
111
- @apply inline-block ml-0;
112
- }
103
+ dd {
104
+ @apply inline-block ml-0;
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,
@@ -23,7 +23,7 @@
23
23
  %>
24
24
  <%# real field %>
25
25
  <%= @form.text_field @field.id,
26
- class: classes("!hidden w-full !py-0 min-h-10 items-center border-primary-500 focus-within:border-primary-500"),
26
+ class: classes("hidden w-full !py-0 min-h-10 items-center border-primary-500 focus-within:border-primary-500"),
27
27
  data: {
28
28
  tags_field_target: :input,
29
29
  },
@@ -1,4 +1,4 @@
1
- <div class="flex px-2 py-1 rounded-sm bg-gray-100 text-sm text-gray-800 font-normal shrink-0"
1
+ <div class="flex px-2 py-1 rounded bg-gray-100 text-sm text-gray-800 font-normal flex-shrink-0"
2
2
  <% if @title.present? %>
3
3
  data-tippy="tooltip"
4
4
  title="<%= @title %>"
@@ -67,7 +67,7 @@
67
67
 
68
68
  <%= @form.text_area @field.id,
69
69
  value: @field.value,
70
- class: classes("w-full !hidden"),
70
+ class: classes("w-full hidden"),
71
71
  data: {
72
72
  tiptap_field_target: "input",
73
73
  **@field.get_html(:data, view: view, element: :input)