avo 0.5.0.beta9 → 0.5.0.beta14

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of avo might be problematic. Click here for more details.

Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +46 -50
  3. data/Gemfile.lock +1 -6
  4. data/Rakefile +14 -14
  5. data/app/components/avo/common/multiple_file_viewer_component.rb +1 -1
  6. data/app/components/avo/common/single_file_viewer_component.rb +1 -1
  7. data/app/components/avo/edit/field_wrapper_component.rb +3 -3
  8. data/app/components/avo/index/field_wrapper_component.rb +1 -1
  9. data/app/components/avo/index/grid_item_component.rb +10 -9
  10. data/app/components/avo/index/resource_controls_component.rb +2 -2
  11. data/app/components/avo/panel_component.rb +7 -6
  12. data/app/components/avo/resource_component.rb +4 -3
  13. data/app/components/avo/show/field_wrapper_component.rb +3 -3
  14. data/app/components/avo/views/resource_edit_component.rb +4 -3
  15. data/app/components/avo/views/resource_index_component.rb +8 -7
  16. data/app/components/avo/views/resource_new_component.rb +4 -3
  17. data/app/components/avo/views/resource_show_component.rb +21 -21
  18. data/app/controllers/avo/actions_controller.rb +30 -29
  19. data/app/controllers/avo/application_controller.rb +113 -126
  20. data/app/controllers/avo/attachments_controller.rb +3 -3
  21. data/app/controllers/avo/base_controller.rb +81 -80
  22. data/app/controllers/avo/home_controller.rb +2 -2
  23. data/app/controllers/avo/relations_controller.rb +29 -28
  24. data/app/controllers/avo/resources_controller.rb +1 -1
  25. data/app/controllers/avo/search_controller.rb +20 -19
  26. data/app/helpers/avo/application_helper.rb +48 -42
  27. data/app/helpers/avo/resources_helper.rb +11 -11
  28. data/app/mailers/avo/application_mailer.rb +2 -2
  29. data/app/packs/entrypoints/application.js +9 -7
  30. data/app/packs/images/logo.png +0 -0
  31. data/app/packs/js/controllers/fields/code_field_controller.js +14 -14
  32. data/app/packs/js/controllers/filter_controller.js +9 -8
  33. data/app/packs/js/toastr.js +1 -0
  34. data/avo.gemspec +30 -31
  35. data/config/initializers/pagy.rb +1 -1
  36. data/config/routes.rb +12 -12
  37. data/config/spring.rb +5 -5
  38. data/config/webpack/base.js +2 -2
  39. data/config/webpacker.yml +32 -0
  40. data/db/factories.rb +3 -5
  41. data/lib/avo.rb +6 -6
  42. data/lib/avo/app.rb +18 -18
  43. data/lib/avo/base_action.rb +20 -20
  44. data/lib/avo/base_resource.rb +41 -45
  45. data/lib/avo/configuration.rb +16 -18
  46. data/lib/avo/engine.rb +18 -18
  47. data/lib/avo/fields/badge_field.rb +2 -2
  48. data/lib/avo/fields/base_field.rb +25 -26
  49. data/lib/avo/fields/belongs_to_field.rb +13 -12
  50. data/lib/avo/fields/boolean_field.rb +4 -4
  51. data/lib/avo/fields/boolean_group_field.rb +3 -3
  52. data/lib/avo/fields/code_field.rb +4 -4
  53. data/lib/avo/fields/country_field.rb +2 -2
  54. data/lib/avo/fields/currency_field.rb +3 -3
  55. data/lib/avo/fields/date_field.rb +3 -3
  56. data/lib/avo/fields/date_time_field.rb +2 -2
  57. data/lib/avo/fields/external_image_field.rb +2 -2
  58. data/lib/avo/fields/field_extensions/has_field_name.rb +2 -2
  59. data/lib/avo/fields/field_extensions/visible_in_different_views.rb +34 -33
  60. data/lib/avo/fields/file_field.rb +1 -1
  61. data/lib/avo/fields/files_field.rb +2 -2
  62. data/lib/avo/fields/gravatar_field.rb +9 -9
  63. data/lib/avo/fields/has_and_belongs_to_many_field.rb +1 -1
  64. data/lib/avo/fields/has_many_field.rb +1 -1
  65. data/lib/avo/fields/has_one_field.rb +2 -2
  66. data/lib/avo/fields/heading_field.rb +2 -2
  67. data/lib/avo/fields/hidden_field.rb +1 -1
  68. data/lib/avo/fields/id_field.rb +3 -3
  69. data/lib/avo/fields/key_value_field.rb +12 -12
  70. data/lib/avo/fields/markdown_field.rb +2 -2
  71. data/lib/avo/fields/number_field.rb +3 -3
  72. data/lib/avo/fields/password_field.rb +1 -1
  73. data/lib/avo/fields/select_field.rb +8 -12
  74. data/lib/avo/fields/status_field.rb +4 -4
  75. data/lib/avo/fields/text_field.rb +2 -2
  76. data/lib/avo/fields/textarea_field.rb +2 -2
  77. data/lib/avo/fields/trix_field.rb +1 -1
  78. data/lib/avo/fields_collector.rb +4 -5
  79. data/lib/avo/filters/base_filter.rb +6 -6
  80. data/lib/avo/filters/boolean_filter.rb +1 -1
  81. data/lib/avo/filters/select_filter.rb +1 -1
  82. data/lib/avo/licensing/h_q.rb +56 -55
  83. data/lib/avo/licensing/license.rb +5 -5
  84. data/lib/avo/licensing/license_manager.rb +4 -4
  85. data/lib/avo/licensing/null_license.rb +2 -2
  86. data/lib/avo/licensing/pro_license.rb +1 -1
  87. data/lib/avo/loaders/fields_loader.rb +4 -4
  88. data/lib/avo/services/authorization_service.rb +2 -2
  89. data/lib/avo/services/panel_service.rb +4 -4
  90. data/lib/avo/version.rb +1 -1
  91. data/lib/generators/avo/action_generator.rb +4 -4
  92. data/lib/generators/avo/controller_generator.rb +4 -4
  93. data/lib/generators/avo/filter_generator.rb +5 -5
  94. data/lib/generators/avo/install_generator.rb +8 -8
  95. data/lib/generators/avo/locales_generator.rb +5 -5
  96. data/lib/generators/avo/partials_generator.rb +4 -4
  97. data/lib/generators/avo/resource_generator.rb +5 -5
  98. data/lib/generators/avo/templates/action.tt +0 -4
  99. data/lib/generators/avo/templates/resource/resource.tt +3 -13
  100. data/lib/tasks/avo_tasks.rake +0 -60
  101. data/public/avo-packs/css/{application-38e7e91b.css → application-9d115b7e.css} +44 -147
  102. data/public/avo-packs/css/application-9d115b7e.css.br +0 -0
  103. data/public/avo-packs/css/application-9d115b7e.css.gz +0 -0
  104. data/public/avo-packs/css/application-9d115b7e.css.map +1 -0
  105. data/public/avo-packs/css/application-9d115b7e.css.map.br +0 -0
  106. data/public/avo-packs/css/application-9d115b7e.css.map.gz +0 -0
  107. data/public/avo-packs/js/{application-2b90fe889f7d6df1ad92.js → application-4751feac1bb0404b9c47.js} +4 -4
  108. data/public/avo-packs/js/{application-2b90fe889f7d6df1ad92.js.LICENSE.txt → application-4751feac1bb0404b9c47.js.LICENSE.txt} +0 -0
  109. data/public/avo-packs/js/application-4751feac1bb0404b9c47.js.br +0 -0
  110. data/public/avo-packs/js/application-4751feac1bb0404b9c47.js.gz +0 -0
  111. data/public/avo-packs/js/application-4751feac1bb0404b9c47.js.map +1 -0
  112. data/public/avo-packs/js/application-4751feac1bb0404b9c47.js.map.br +0 -0
  113. data/public/avo-packs/js/application-4751feac1bb0404b9c47.js.map.gz +0 -0
  114. data/public/avo-packs/manifest.json +16 -16
  115. data/public/avo-packs/media/images/dadf2db36589607d107d.png +0 -0
  116. metadata +16 -31
  117. data/config/initializers/inline_svg.rb +0 -33
  118. data/public/avo-packs/css/application-38e7e91b.css.br +0 -0
  119. data/public/avo-packs/css/application-38e7e91b.css.gz +0 -0
  120. data/public/avo-packs/css/application-38e7e91b.css.map +0 -1
  121. data/public/avo-packs/css/application-38e7e91b.css.map.br +0 -0
  122. data/public/avo-packs/css/application-38e7e91b.css.map.gz +0 -0
  123. data/public/avo-packs/js/application-2b90fe889f7d6df1ad92.js.br +0 -0
  124. data/public/avo-packs/js/application-2b90fe889f7d6df1ad92.js.gz +0 -0
  125. data/public/avo-packs/js/application-2b90fe889f7d6df1ad92.js.map +0 -1
  126. data/public/avo-packs/js/application-2b90fe889f7d6df1ad92.js.map.br +0 -0
  127. data/public/avo-packs/js/application-2b90fe889f7d6df1ad92.js.map.gz +0 -0
  128. data/public/avo-packs/media/images/f1b4befac91a3336db9a.png +0 -0
@@ -6,12 +6,12 @@ module Avo
6
6
  end
7
7
 
8
8
  def license
9
- return NullLicense.new if Rails.env.test? and ENV['RUN_WITH_NULL_LICENSE'] == '1'
9
+ return NullLicense.new if Rails.env.test? && (ENV["RUN_WITH_NULL_LICENSE"] == "1")
10
10
 
11
- case @hq_response['id']
12
- when 'community'
11
+ case @hq_response["id"]
12
+ when "community"
13
13
  CommunityLicense.new @hq_response
14
- when 'pro'
14
+ when "pro"
15
15
  ProLicense.new @hq_response
16
16
  else
17
17
  NullLicense.new @hq_response
@@ -3,8 +3,8 @@ module Avo
3
3
  class NullLicense < License
4
4
  def initialize(response = nil)
5
5
  response ||= {
6
- id: 'community',
7
- valid: true,
6
+ id: "community",
7
+ valid: true
8
8
  }
9
9
 
10
10
  super(response)
@@ -3,7 +3,7 @@ module Avo
3
3
  class ProLicense < License
4
4
  def abilities
5
5
  [
6
- :authorization,
6
+ :authorization
7
7
  ]
8
8
  end
9
9
  end
@@ -10,13 +10,13 @@ module Avo
10
10
  field[:name].to_s == method.to_s
11
11
  end
12
12
 
13
- if matched_field.present? and matched_field[:class].present?
13
+ if matched_field.present? && matched_field[:class].present?
14
14
  klass = matched_field[:class]
15
15
 
16
- if block.present?
17
- field = klass.new(args[0], **args[1] || {}, &block)
16
+ field = if block.present?
17
+ klass.new(args[0], **args[1] || {}, &block)
18
18
  else
19
- field = klass.new(args[0], **args[1] || {})
19
+ klass.new(args[0], **args[1] || {})
20
20
  end
21
21
 
22
22
  add_field field
@@ -44,7 +44,7 @@ module Avo
44
44
  end
45
45
 
46
46
  true
47
- rescue Pundit::NotDefinedError => error
47
+ rescue Pundit::NotDefinedError
48
48
  false
49
49
  rescue => error
50
50
  if args[:raise_exception] == false
@@ -69,7 +69,7 @@ module Avo
69
69
 
70
70
  begin
71
71
  Pundit.policy_scope! user, model
72
- rescue => exception
72
+ rescue
73
73
  model
74
74
  end
75
75
  end
@@ -11,15 +11,15 @@ module Avo
11
11
  end
12
12
 
13
13
  def default_panel_name
14
- return @request[:via_relation_param].capitalize if @request[:via_relation_param] == 'has_one'
14
+ return @request[:via_relation_param].capitalize if @request[:via_relation_param] == "has_one"
15
15
 
16
16
  case @view
17
17
  when :show
18
- I18n.t('avo.resource_details', item: @resource.name.downcase, title: @resource.model_title).upcase_first
18
+ I18n.t("avo.resource_details", item: @resource.name.downcase, title: @resource.model_title).upcase_first
19
19
  when :edit
20
- I18n.t('avo.update_item', item: @resource.name.downcase, title: @resource.model_title).upcase_first
20
+ I18n.t("avo.update_item", item: @resource.name.downcase, title: @resource.model_title).upcase_first
21
21
  when :new
22
- I18n.t('avo.create_new_item', item: @resource.name.downcase).upcase_first
22
+ I18n.t("avo.create_new_item", item: @resource.name.downcase).upcase_first
23
23
  end
24
24
  end
25
25
  end
data/lib/avo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Avo
2
- VERSION = '0.5.0.beta9'
2
+ VERSION = "0.5.0.beta14"
3
3
  end
@@ -1,13 +1,13 @@
1
- require 'rails/generators'
1
+ require "rails/generators"
2
2
 
3
3
  module Generators
4
4
  module Avo
5
5
  class ActionGenerator < Rails::Generators::NamedBase
6
- source_root File.expand_path('templates', __dir__)
7
- namespace 'avo:action'
6
+ source_root File.expand_path("templates", __dir__)
7
+ namespace "avo:action"
8
8
 
9
9
  def create_resource_file
10
- template 'action.rb', "app/avo/actions/#{singular_name}.rb"
10
+ template "action.rb", "app/avo/actions/#{singular_name}.rb"
11
11
  end
12
12
  end
13
13
  end
@@ -1,14 +1,14 @@
1
- require 'rails/generators'
1
+ require "rails/generators"
2
2
 
3
3
  module Generators
4
4
  module Avo
5
5
  class ControllerGenerator < Rails::Generators::NamedBase
6
- source_root File.expand_path('templates', __dir__)
6
+ source_root File.expand_path("templates", __dir__)
7
7
 
8
- namespace 'avo:controller'
8
+ namespace "avo:controller"
9
9
 
10
10
  def create
11
- template 'resource/%plural_name%_controller.tt', "app/controllers/avo/#{controller_name}.rb"
11
+ template "resource/%plural_name%_controller.tt", "app/controllers/avo/#{controller_name}.rb"
12
12
  end
13
13
 
14
14
  def controller_name
@@ -1,17 +1,17 @@
1
- require 'rails/generators'
1
+ require "rails/generators"
2
2
 
3
3
  module Generators
4
4
  module Avo
5
5
  class FilterGenerator < ::Rails::Generators::NamedBase
6
- source_root File.expand_path('templates', __dir__)
6
+ source_root File.expand_path("templates", __dir__)
7
7
  class_option :select, type: :boolean
8
8
 
9
- namespace 'avo:filter'
9
+ namespace "avo:filter"
10
10
 
11
11
  def create_resource_file
12
- type = 'boolean'
12
+ type = "boolean"
13
13
 
14
- type = 'select' if options[:select]
14
+ type = "select" if options[:select]
15
15
 
16
16
  template "filters/#{type}_filter.rb", "app/services/avo/filters/#{singular_name}.rb"
17
17
  end
@@ -1,19 +1,19 @@
1
- require 'rails/generators'
1
+ require "rails/generators"
2
2
 
3
3
  module Generators
4
4
  module Avo
5
5
  class InstallGenerator < Rails::Generators::Base
6
- source_root File.expand_path('templates', __dir__)
6
+ source_root File.expand_path("templates", __dir__)
7
7
 
8
- namespace 'avo:install'
9
- desc 'Creates an Avo initializer adds the route to the routes file.'
10
- class_option :path, type: :string, default: 'avo'
8
+ namespace "avo:install"
9
+ desc "Creates an Avo initializer adds the route to the routes file."
10
+ class_option :path, type: :string, default: "avo"
11
11
 
12
12
  def create_initializer_file
13
- route 'mount Avo::Engine => Avo.configuration.root_path'
13
+ route "mount Avo::Engine => Avo.configuration.root_path"
14
14
 
15
- template 'initializer/avo.rb', 'config/initializers/avo.rb'
16
- template 'locales/avo.en.yml', 'config/locales/avo.en.yml'
15
+ template "initializer/avo.rb", "config/initializers/avo.rb"
16
+ template "locales/avo.en.yml", "config/locales/avo.en.yml"
17
17
  end
18
18
  end
19
19
  end
@@ -1,15 +1,15 @@
1
- require 'rails/generators'
1
+ require "rails/generators"
2
2
 
3
3
  module Generators
4
4
  module Avo
5
5
  class LocalesGenerator < ::Rails::Generators::Base
6
- source_root File.expand_path('templates', __dir__)
6
+ source_root File.expand_path("templates", __dir__)
7
7
 
8
- namespace 'avo:locales'
9
- desc 'Creates an Avo initializer adds the route to the routes file.'
8
+ namespace "avo:locales"
9
+ desc "Creates an Avo initializer adds the route to the routes file."
10
10
 
11
11
  def create_files
12
- template 'locales/avo.en.yml', 'config/locales/avo.en.yml'
12
+ template "locales/avo.en.yml", "config/locales/avo.en.yml"
13
13
  end
14
14
  end
15
15
  end
@@ -1,13 +1,13 @@
1
- require 'rails/generators'
1
+ require "rails/generators"
2
2
 
3
3
  module Generators
4
4
  module Avo
5
5
  class PartialsGenerator < ::Rails::Generators::Base
6
- source_root File.expand_path('templates', __dir__)
7
- namespace 'avo:partials'
6
+ source_root File.expand_path("templates", __dir__)
7
+ namespace "avo:partials"
8
8
 
9
9
  def generate
10
- directory 'partials', Rails.root.join('app', 'views', 'vendor', 'avo', 'partials')
10
+ directory "partials", Rails.root.join("app", "views", "vendor", "avo", "partials")
11
11
  end
12
12
  end
13
13
  end
@@ -1,15 +1,15 @@
1
- require 'rails/generators'
1
+ require "rails/generators"
2
2
 
3
3
  module Generators
4
4
  module Avo
5
5
  class ResourceGenerator < ::Rails::Generators::NamedBase
6
- source_root File.expand_path('templates', __dir__)
6
+ source_root File.expand_path("templates", __dir__)
7
7
 
8
- namespace 'avo:resource'
8
+ namespace "avo:resource"
9
9
 
10
10
  def create
11
- template 'resource/resource.tt', "app/avo/resources/#{resource_name}.rb"
12
- template 'resource/controller.tt', "app/controllers/avo/#{controller_name}.rb"
11
+ template "resource/resource.tt", "app/avo/resources/#{resource_name}.rb"
12
+ template "resource/controller.tt", "app/controllers/avo/#{controller_name}.rb"
13
13
 
14
14
  # Show a warning if the model doesn't exists
15
15
  say("We couldn't find the #{class_name} model in your codebase. You should have one present for Avo to display the resource.", :yellow) unless current_models.include? class_name
@@ -8,10 +8,6 @@ module Avo
8
8
  # Do something with your models.
9
9
  end
10
10
  end
11
-
12
- fields do |fields|
13
- # Add fields here.
14
- end
15
11
  end
16
12
  end
17
13
  end
@@ -1,17 +1,7 @@
1
1
  class <%= resource_class %> < Avo::BaseResource
2
2
  self.title = :id
3
- self.includes = [:posts, :post]
3
+ self.includes = []
4
4
 
5
- fields do |field|
6
- field.id
7
- # add fields here
8
- end
9
-
10
- actions do |action|
11
- # add actions here
12
- end
13
-
14
- filters do |filter|
15
- # add filters here
16
- end
5
+ field :id, as: :id
6
+ # add fields here
17
7
  end
@@ -2,63 +2,3 @@
2
2
  # task :avo do
3
3
  # # Task goes here
4
4
  # end
5
-
6
- def ensure_log_goes_to_stdout
7
- old_logger = Webpacker.logger
8
- Webpacker.logger = ActiveSupport::Logger.new(STDOUT)
9
- yield
10
- ensure
11
- Webpacker.logger = old_logger
12
- end
13
-
14
-
15
- namespace :avo do
16
- namespace :webpacker do
17
- desc 'Install deps with yarn'
18
- task :yarn_install do
19
- Dir.chdir(File.join(__dir__, '../..')) do
20
- system 'yarn install --no-progress --production'
21
- end
22
- end
23
-
24
- desc 'Compile JavaScript packs using webpack for production with digests'
25
- task compile: [:yarn_install, :environment] do
26
- Webpacker.with_node_env('production') do
27
- ensure_log_goes_to_stdout do
28
- if Avo.webpacker.commands.compile
29
- # Successful compilation!
30
- else
31
- # Failed compilation
32
- exit!
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
39
-
40
- def yarn_install_available?
41
- rails_major = Rails::VERSION::MAJOR
42
- rails_minor = Rails::VERSION::MINOR
43
-
44
- rails_major > 5 || (rails_major == 5 && rails_minor >= 1)
45
- end
46
-
47
- def enhance_assets_precompile
48
- # yarn:install was added in Rails 5.1
49
- deps = yarn_install_available? ? [] : ['avo:webpacker:yarn_install']
50
- # Rake::Task['assets:precompile'].enhance(deps) do
51
- # Rake::Task['avo:webpacker:compile'].invoke
52
- # end
53
- end
54
-
55
- # Compile packs after we've compiled all other assets during precompilation
56
- skip_webpacker_precompile = %w(no false n f).include?(ENV['WEBPACKER_PRECOMPILE'])
57
-
58
- unless skip_webpacker_precompile
59
- if Rake::Task.task_defined?('assets:precompile')
60
- enhance_assets_precompile
61
- else
62
- Rake::Task.define_task('assets:precompile' => 'avo:webpacker:compile')
63
- end
64
- end
@@ -2116,111 +2116,56 @@ select {
2116
2116
  border-color: rgba(190, 24, 93, var(--tw-border-opacity));
2117
2117
  }
2118
2118
 
2119
- .hover\:border-pink-600:hover {
2120
- --tw-border-opacity: 1;
2121
- border-color: rgba(219, 39, 119, var(--tw-border-opacity));
2122
- }
2123
-
2124
2119
  .hover\:border-purple-700:hover {
2125
2120
  --tw-border-opacity: 1;
2126
2121
  border-color: rgba(109, 40, 217, var(--tw-border-opacity));
2127
2122
  }
2128
2123
 
2129
- .hover\:border-purple-600:hover {
2130
- --tw-border-opacity: 1;
2131
- border-color: rgba(124, 58, 237, var(--tw-border-opacity));
2132
- }
2133
-
2134
2124
  .hover\:border-indigo-700:hover {
2135
2125
  --tw-border-opacity: 1;
2136
2126
  border-color: rgba(67, 56, 202, var(--tw-border-opacity));
2137
2127
  }
2138
2128
 
2139
- .hover\:border-indigo-600:hover {
2140
- --tw-border-opacity: 1;
2141
- border-color: rgba(79, 70, 229, var(--tw-border-opacity));
2142
- }
2143
-
2144
2129
  .hover\:border-blue-700:hover {
2145
2130
  --tw-border-opacity: 1;
2146
2131
  border-color: rgba(29, 78, 216, var(--tw-border-opacity));
2147
2132
  }
2148
2133
 
2149
- .hover\:border-blue-600:hover {
2150
- --tw-border-opacity: 1;
2151
- border-color: rgba(37, 99, 235, var(--tw-border-opacity));
2152
- }
2153
-
2154
2134
  .hover\:border-light-blue-700:hover {
2155
2135
  --tw-border-opacity: 1;
2156
2136
  border-color: rgba(3, 105, 161, var(--tw-border-opacity));
2157
2137
  }
2158
2138
 
2159
- .hover\:border-light-blue-600:hover {
2160
- --tw-border-opacity: 1;
2161
- border-color: rgba(2, 132, 199, var(--tw-border-opacity));
2162
- }
2163
-
2164
2139
  .hover\:border-teal-700:hover {
2165
2140
  --tw-border-opacity: 1;
2166
2141
  border-color: rgba(15, 118, 110, var(--tw-border-opacity));
2167
2142
  }
2168
2143
 
2169
- .hover\:border-teal-600:hover {
2170
- --tw-border-opacity: 1;
2171
- border-color: rgba(13, 148, 136, var(--tw-border-opacity));
2172
- }
2173
-
2174
2144
  .hover\:border-green-700:hover {
2175
2145
  --tw-border-opacity: 1;
2176
2146
  border-color: rgba(4, 120, 87, var(--tw-border-opacity));
2177
2147
  }
2178
2148
 
2179
- .hover\:border-green-600:hover {
2180
- --tw-border-opacity: 1;
2181
- border-color: rgba(5, 150, 105, var(--tw-border-opacity));
2182
- }
2183
-
2184
2149
  .hover\:border-yellow-700:hover {
2185
2150
  --tw-border-opacity: 1;
2186
2151
  border-color: rgba(180, 83, 9, var(--tw-border-opacity));
2187
2152
  }
2188
2153
 
2189
- .hover\:border-yellow-600:hover {
2190
- --tw-border-opacity: 1;
2191
- border-color: rgba(217, 119, 6, var(--tw-border-opacity));
2192
- }
2193
-
2194
2154
  .hover\:border-red-700:hover {
2195
2155
  --tw-border-opacity: 1;
2196
2156
  border-color: rgba(185, 28, 28, var(--tw-border-opacity));
2197
2157
  }
2198
2158
 
2199
- .hover\:border-red-600:hover {
2200
- --tw-border-opacity: 1;
2201
- border-color: rgba(220, 38, 38, var(--tw-border-opacity));
2202
- }
2203
-
2204
2159
  .hover\:border-gray-700:hover {
2205
2160
  --tw-border-opacity: 1;
2206
2161
  border-color: rgba(55, 65, 81, var(--tw-border-opacity));
2207
2162
  }
2208
2163
 
2209
- .hover\:border-gray-600:hover {
2210
- --tw-border-opacity: 1;
2211
- border-color: rgba(75, 85, 99, var(--tw-border-opacity));
2212
- }
2213
-
2214
2164
  .hover\:border-blue-gray-700:hover {
2215
2165
  --tw-border-opacity: 1;
2216
2166
  border-color: rgba(51, 65, 85, var(--tw-border-opacity));
2217
2167
  }
2218
2168
 
2219
- .hover\:border-blue-gray-600:hover {
2220
- --tw-border-opacity: 1;
2221
- border-color: rgba(71, 85, 105, var(--tw-border-opacity));
2222
- }
2223
-
2224
2169
  .hover\:bg-pink-600:hover {
2225
2170
  --tw-bg-opacity: 1;
2226
2171
  background-color: rgba(219, 39, 119, var(--tw-bg-opacity));
@@ -4158,90 +4103,46 @@ span.CodeMirror-selectedtext { background: none; }
4158
4103
  --tw-border-opacity: 1;
4159
4104
  border-color: rgba(190, 24, 93, var(--tw-border-opacity));
4160
4105
  }
4161
- .hover\:border-pink-600:hover {
4162
- --tw-border-opacity: 1;
4163
- border-color: rgba(219, 39, 119, var(--tw-border-opacity));
4164
- }
4165
4106
  .hover\:border-purple-700:hover {
4166
4107
  --tw-border-opacity: 1;
4167
4108
  border-color: rgba(109, 40, 217, var(--tw-border-opacity));
4168
4109
  }
4169
- .hover\:border-purple-600:hover {
4170
- --tw-border-opacity: 1;
4171
- border-color: rgba(124, 58, 237, var(--tw-border-opacity));
4172
- }
4173
4110
  .hover\:border-indigo-700:hover {
4174
4111
  --tw-border-opacity: 1;
4175
4112
  border-color: rgba(67, 56, 202, var(--tw-border-opacity));
4176
4113
  }
4177
- .hover\:border-indigo-600:hover {
4178
- --tw-border-opacity: 1;
4179
- border-color: rgba(79, 70, 229, var(--tw-border-opacity));
4180
- }
4181
4114
  .hover\:border-blue-700:hover {
4182
4115
  --tw-border-opacity: 1;
4183
4116
  border-color: rgba(29, 78, 216, var(--tw-border-opacity));
4184
4117
  }
4185
- .hover\:border-blue-600:hover {
4186
- --tw-border-opacity: 1;
4187
- border-color: rgba(37, 99, 235, var(--tw-border-opacity));
4188
- }
4189
4118
  .hover\:border-light-blue-700:hover {
4190
4119
  --tw-border-opacity: 1;
4191
4120
  border-color: rgba(3, 105, 161, var(--tw-border-opacity));
4192
4121
  }
4193
- .hover\:border-light-blue-600:hover {
4194
- --tw-border-opacity: 1;
4195
- border-color: rgba(2, 132, 199, var(--tw-border-opacity));
4196
- }
4197
4122
  .hover\:border-teal-700:hover {
4198
4123
  --tw-border-opacity: 1;
4199
4124
  border-color: rgba(15, 118, 110, var(--tw-border-opacity));
4200
4125
  }
4201
- .hover\:border-teal-600:hover {
4202
- --tw-border-opacity: 1;
4203
- border-color: rgba(13, 148, 136, var(--tw-border-opacity));
4204
- }
4205
4126
  .hover\:border-green-700:hover {
4206
4127
  --tw-border-opacity: 1;
4207
4128
  border-color: rgba(4, 120, 87, var(--tw-border-opacity));
4208
4129
  }
4209
- .hover\:border-green-600:hover {
4210
- --tw-border-opacity: 1;
4211
- border-color: rgba(5, 150, 105, var(--tw-border-opacity));
4212
- }
4213
4130
  .hover\:border-yellow-700:hover {
4214
4131
  --tw-border-opacity: 1;
4215
4132
  border-color: rgba(180, 83, 9, var(--tw-border-opacity));
4216
4133
  }
4217
- .hover\:border-yellow-600:hover {
4218
- --tw-border-opacity: 1;
4219
- border-color: rgba(217, 119, 6, var(--tw-border-opacity));
4220
- }
4221
4134
  .hover\:border-red-700:hover {
4222
4135
  --tw-border-opacity: 1;
4223
4136
  border-color: rgba(185, 28, 28, var(--tw-border-opacity));
4224
4137
  }
4225
- .hover\:border-red-600:hover {
4226
- --tw-border-opacity: 1;
4227
- border-color: rgba(220, 38, 38, var(--tw-border-opacity));
4228
- }
4229
4138
  .hover\:border-gray-700:hover {
4230
4139
  --tw-border-opacity: 1;
4231
4140
  border-color: rgba(55, 65, 81, var(--tw-border-opacity));
4232
4141
  }
4233
- .hover\:border-gray-600:hover {
4234
- --tw-border-opacity: 1;
4235
- border-color: rgba(75, 85, 99, var(--tw-border-opacity));
4236
- }
4237
4142
  .hover\:border-blue-gray-700:hover {
4238
4143
  --tw-border-opacity: 1;
4239
4144
  border-color: rgba(51, 65, 85, var(--tw-border-opacity));
4240
4145
  }
4241
- .hover\:border-blue-gray-600:hover {
4242
- --tw-border-opacity: 1;
4243
- border-color: rgba(71, 85, 105, var(--tw-border-opacity));
4244
- }
4245
4146
  .hover\:bg-pink-600:hover {
4246
4147
  --tw-bg-opacity: 1;
4247
4148
  background-color: rgba(219, 39, 119, var(--tw-bg-opacity));
@@ -4751,15 +4652,15 @@ span.CodeMirror-selectedtext { background: none; }
4751
4652
  .ml-2 {
4752
4653
  margin-left: 0.5rem
4753
4654
  }
4655
+ .block {
4656
+ display: block
4657
+ }
4754
4658
  .inline-flex {
4755
4659
  display: inline-flex
4756
4660
  }
4757
4661
  .flex {
4758
4662
  display: flex
4759
4663
  }
4760
- .block {
4761
- display: block
4762
- }
4763
4664
  .inline {
4764
4665
  display: inline
4765
4666
  }
@@ -5079,10 +4980,50 @@ span.CodeMirror-selectedtext { background: none; }
5079
4980
  .border-r {
5080
4981
  border-right-width: 1px
5081
4982
  }
4983
+ .border-pink-600 {
4984
+ --tw-border-opacity: 1;
4985
+ border-color: rgba(219, 39, 119, var(--tw-border-opacity))
4986
+ }
4987
+ .border-purple-600 {
4988
+ --tw-border-opacity: 1;
4989
+ border-color: rgba(124, 58, 237, var(--tw-border-opacity))
4990
+ }
4991
+ .border-indigo-600 {
4992
+ --tw-border-opacity: 1;
4993
+ border-color: rgba(79, 70, 229, var(--tw-border-opacity))
4994
+ }
4995
+ .border-blue-600 {
4996
+ --tw-border-opacity: 1;
4997
+ border-color: rgba(37, 99, 235, var(--tw-border-opacity))
4998
+ }
4999
+ .border-light-blue-600 {
5000
+ --tw-border-opacity: 1;
5001
+ border-color: rgba(2, 132, 199, var(--tw-border-opacity))
5002
+ }
5003
+ .border-teal-600 {
5004
+ --tw-border-opacity: 1;
5005
+ border-color: rgba(13, 148, 136, var(--tw-border-opacity))
5006
+ }
5007
+ .border-green-600 {
5008
+ --tw-border-opacity: 1;
5009
+ border-color: rgba(5, 150, 105, var(--tw-border-opacity))
5010
+ }
5011
+ .border-yellow-600 {
5012
+ --tw-border-opacity: 1;
5013
+ border-color: rgba(217, 119, 6, var(--tw-border-opacity))
5014
+ }
5082
5015
  .border-red-600 {
5083
5016
  --tw-border-opacity: 1;
5084
5017
  border-color: rgba(220, 38, 38, var(--tw-border-opacity))
5085
5018
  }
5019
+ .border-gray-600 {
5020
+ --tw-border-opacity: 1;
5021
+ border-color: rgba(75, 85, 99, var(--tw-border-opacity))
5022
+ }
5023
+ .border-blue-gray-600 {
5024
+ --tw-border-opacity: 1;
5025
+ border-color: rgba(71, 85, 105, var(--tw-border-opacity))
5026
+ }
5086
5027
  .border-blue-gray-300 {
5087
5028
  --tw-border-opacity: 1;
5088
5029
  border-color: rgba(203, 213, 225, var(--tw-border-opacity))
@@ -5467,90 +5408,46 @@ span.CodeMirror-selectedtext { background: none; }
5467
5408
  --tw-border-opacity: 1;
5468
5409
  border-color: rgba(190, 24, 93, var(--tw-border-opacity))
5469
5410
  }
5470
- .hover\:border-pink-600:hover {
5471
- --tw-border-opacity: 1;
5472
- border-color: rgba(219, 39, 119, var(--tw-border-opacity))
5473
- }
5474
5411
  .hover\:border-purple-700:hover {
5475
5412
  --tw-border-opacity: 1;
5476
5413
  border-color: rgba(109, 40, 217, var(--tw-border-opacity))
5477
5414
  }
5478
- .hover\:border-purple-600:hover {
5479
- --tw-border-opacity: 1;
5480
- border-color: rgba(124, 58, 237, var(--tw-border-opacity))
5481
- }
5482
5415
  .hover\:border-indigo-700:hover {
5483
5416
  --tw-border-opacity: 1;
5484
5417
  border-color: rgba(67, 56, 202, var(--tw-border-opacity))
5485
5418
  }
5486
- .hover\:border-indigo-600:hover {
5487
- --tw-border-opacity: 1;
5488
- border-color: rgba(79, 70, 229, var(--tw-border-opacity))
5489
- }
5490
5419
  .hover\:border-blue-700:hover {
5491
5420
  --tw-border-opacity: 1;
5492
5421
  border-color: rgba(29, 78, 216, var(--tw-border-opacity))
5493
5422
  }
5494
- .hover\:border-blue-600:hover {
5495
- --tw-border-opacity: 1;
5496
- border-color: rgba(37, 99, 235, var(--tw-border-opacity))
5497
- }
5498
5423
  .hover\:border-light-blue-700:hover {
5499
5424
  --tw-border-opacity: 1;
5500
5425
  border-color: rgba(3, 105, 161, var(--tw-border-opacity))
5501
5426
  }
5502
- .hover\:border-light-blue-600:hover {
5503
- --tw-border-opacity: 1;
5504
- border-color: rgba(2, 132, 199, var(--tw-border-opacity))
5505
- }
5506
5427
  .hover\:border-teal-700:hover {
5507
5428
  --tw-border-opacity: 1;
5508
5429
  border-color: rgba(15, 118, 110, var(--tw-border-opacity))
5509
5430
  }
5510
- .hover\:border-teal-600:hover {
5511
- --tw-border-opacity: 1;
5512
- border-color: rgba(13, 148, 136, var(--tw-border-opacity))
5513
- }
5514
5431
  .hover\:border-green-700:hover {
5515
5432
  --tw-border-opacity: 1;
5516
5433
  border-color: rgba(4, 120, 87, var(--tw-border-opacity))
5517
5434
  }
5518
- .hover\:border-green-600:hover {
5519
- --tw-border-opacity: 1;
5520
- border-color: rgba(5, 150, 105, var(--tw-border-opacity))
5521
- }
5522
5435
  .hover\:border-yellow-700:hover {
5523
5436
  --tw-border-opacity: 1;
5524
5437
  border-color: rgba(180, 83, 9, var(--tw-border-opacity))
5525
5438
  }
5526
- .hover\:border-yellow-600:hover {
5527
- --tw-border-opacity: 1;
5528
- border-color: rgba(217, 119, 6, var(--tw-border-opacity))
5529
- }
5530
5439
  .hover\:border-red-700:hover {
5531
5440
  --tw-border-opacity: 1;
5532
5441
  border-color: rgba(185, 28, 28, var(--tw-border-opacity))
5533
5442
  }
5534
- .hover\:border-red-600:hover {
5535
- --tw-border-opacity: 1;
5536
- border-color: rgba(220, 38, 38, var(--tw-border-opacity))
5537
- }
5538
5443
  .hover\:border-gray-700:hover {
5539
5444
  --tw-border-opacity: 1;
5540
5445
  border-color: rgba(55, 65, 81, var(--tw-border-opacity))
5541
5446
  }
5542
- .hover\:border-gray-600:hover {
5543
- --tw-border-opacity: 1;
5544
- border-color: rgba(75, 85, 99, var(--tw-border-opacity))
5545
- }
5546
5447
  .hover\:border-blue-gray-700:hover {
5547
5448
  --tw-border-opacity: 1;
5548
5449
  border-color: rgba(51, 65, 85, var(--tw-border-opacity))
5549
5450
  }
5550
- .hover\:border-blue-gray-600:hover {
5551
- --tw-border-opacity: 1;
5552
- border-color: rgba(71, 85, 105, var(--tw-border-opacity))
5553
- }
5554
5451
  .hover\:bg-pink-600:hover {
5555
5452
  --tw-bg-opacity: 1;
5556
5453
  background-color: rgba(219, 39, 119, var(--tw-bg-opacity))
@@ -5972,4 +5869,4 @@ html, body{
5972
5869
  }
5973
5870
 
5974
5871
 
5975
- /*# sourceMappingURL=application-38e7e91b.css.map*/
5872
+ /*# sourceMappingURL=application-9d115b7e.css.map*/