avo 1.4.3 → 1.4.4.pre.1

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -0
  3. data/Gemfile.lock +7 -1
  4. data/README.md +4 -4
  5. data/app/components/avo/views/resource_index_component.html.erb +3 -3
  6. data/app/controllers/avo/application_controller.rb +14 -7
  7. data/app/controllers/avo/relations_controller.rb +1 -1
  8. data/app/controllers/avo/search_controller.rb +50 -35
  9. data/app/packs/entrypoints/application.css +2 -1
  10. data/app/packs/entrypoints/application.js +3 -0
  11. data/app/packs/js/controllers/search_controller.js +120 -0
  12. data/app/packs/js/helpers/debounce_promise.js +13 -0
  13. data/app/packs/stylesheets/search.css +79 -0
  14. data/app/views/avo/partials/_global_search.html.erb +17 -0
  15. data/app/views/avo/partials/_resource_search.html.erb +10 -0
  16. data/app/views/layouts/avo/application.html.erb +2 -4
  17. data/avo.gemspec +1 -0
  18. data/config/routes.rb +2 -6
  19. data/lib/avo/app.rb +3 -1
  20. data/lib/avo/base_resource.rb +83 -7
  21. data/lib/avo/configuration.rb +2 -0
  22. data/lib/avo/fields/base_field.rb +6 -0
  23. data/lib/avo/fields/file_field.rb +4 -0
  24. data/lib/avo/licensing/license.rb +10 -0
  25. data/lib/avo/licensing/pro_license.rb +3 -1
  26. data/lib/avo/services/authorization_service.rb +1 -1
  27. data/lib/avo/version.rb +1 -1
  28. data/lib/generators/avo/templates/initializer/avo.tt +1 -0
  29. data/lib/generators/avo/templates/resource/resource.tt +3 -0
  30. data/public/avo-packs/css/{application-68691c73.css → application-d69fe930.css} +183 -6
  31. data/public/avo-packs/css/application-d69fe930.css.br +0 -0
  32. data/public/avo-packs/css/application-d69fe930.css.gz +0 -0
  33. data/public/avo-packs/css/application-d69fe930.css.map +1 -0
  34. data/public/avo-packs/css/application-d69fe930.css.map.br +0 -0
  35. data/public/avo-packs/css/application-d69fe930.css.map.gz +0 -0
  36. data/public/avo-packs/js/application-7b3d507875f4bc1f6677.js +26 -0
  37. data/public/avo-packs/js/{application-6a0b9e58526ae6bef242.js.LICENSE.txt → application-7b3d507875f4bc1f6677.js.LICENSE.txt} +0 -0
  38. data/public/avo-packs/js/application-7b3d507875f4bc1f6677.js.br +0 -0
  39. data/public/avo-packs/js/application-7b3d507875f4bc1f6677.js.gz +0 -0
  40. data/public/avo-packs/js/application-7b3d507875f4bc1f6677.js.map +1 -0
  41. data/public/avo-packs/js/application-7b3d507875f4bc1f6677.js.map.br +0 -0
  42. data/public/avo-packs/js/application-7b3d507875f4bc1f6677.js.map.gz +0 -0
  43. data/public/avo-packs/manifest.json +15 -15
  44. metadata +36 -17
  45. data/public/avo-packs/css/application-68691c73.css.br +0 -0
  46. data/public/avo-packs/css/application-68691c73.css.gz +0 -0
  47. data/public/avo-packs/css/application-68691c73.css.map +0 -1
  48. data/public/avo-packs/css/application-68691c73.css.map.br +0 -0
  49. data/public/avo-packs/css/application-68691c73.css.map.gz +0 -0
  50. data/public/avo-packs/js/application-6a0b9e58526ae6bef242.js +0 -26
  51. data/public/avo-packs/js/application-6a0b9e58526ae6bef242.js.br +0 -0
  52. data/public/avo-packs/js/application-6a0b9e58526ae6bef242.js.gz +0 -0
  53. data/public/avo-packs/js/application-6a0b9e58526ae6bef242.js.map +0 -1
  54. data/public/avo-packs/js/application-6a0b9e58526ae6bef242.js.map.br +0 -0
  55. data/public/avo-packs/js/application-6a0b9e58526ae6bef242.js.map.gz +0 -0
@@ -0,0 +1,17 @@
1
+ <div data-controller="search" class="global-search" data-turbo-remove-before-cache>
2
+ <div class="inline-block"
3
+ data-search-target="autocomplete"
4
+ data-search-resource="global"
5
+ data-translation-keys='{"no_item_found": "<%= I18n.translate 'avo.no_item_found' %>"}'
6
+ data-debounce-timeout='<%= Avo.configuration.search_debounce %>'
7
+ >
8
+ </div>
9
+ <div class="relative top-[-5px] inline-flex text-gray-400 text-sm leading-5 py-0.5 px-1.5 border border-gray-300 rounded-md cursor-pointer"
10
+ data-search-target="button"
11
+ >
12
+ <span class="sr-only">Press </span>
13
+ <kbd class="font-sans"><abbr title="Command" class="no-underline">⌘</abbr></kbd>
14
+ <span class="sr-only"> and </span>
15
+ <kbd class="font-sans">K</kbd><span class="sr-only"> to search</span>
16
+ </div>
17
+ </div>
@@ -0,0 +1,10 @@
1
+ <div data-controller="search" class="resource-search flex items-center h-full w-full" data-turbo-remove-before-cache>
2
+ <div class="w-full"
3
+ data-search-target="autocomplete"
4
+ data-search-resource="<%= resource %>"
5
+ data-translation-keys='{"no_item_found": "<%= I18n.translate 'avo.no_item_found' %>"}'
6
+ data-debounce-timeout='<%= Avo.configuration.search_debounce %>'
7
+ >
8
+ </div>
9
+ <div class="relative inline-flex text-gray-400 text-sm border border-gray-300 rounded-full cursor-pointer" data-search-target="button"></div>
10
+ </div>
@@ -23,10 +23,8 @@
23
23
  <div>
24
24
  <%= render partial: "avo/partials/header" %>
25
25
  </div>
26
- <div class="flex-1 flex justify-center">
27
- <div class="w-64 flex">
28
- <%# <resources-search :global="true"> %>
29
- </div>
26
+ <div class="flex-1 flex ml-4 pl-4">
27
+ <%= render partial: "avo/partials/global_search" if ::Avo::App.license.has_with_trial(:global_search) %>
30
28
  </div>
31
29
  <div class="align-end">
32
30
  <%= render partial: "avo/partials/profile_dropdown" %>
data/avo.gemspec CHANGED
@@ -45,4 +45,5 @@ Gem::Specification.new do |spec|
45
45
  spec.add_dependency "meta-tags"
46
46
  spec.add_dependency "breadcrumbs_on_rails"
47
47
  spec.add_dependency "manifester"
48
+ spec.add_dependency "ransack"
48
49
  end
data/config/routes.rb CHANGED
@@ -4,6 +4,8 @@ Avo::Engine.routes.draw do
4
4
  get "resources", to: redirect("/avo")
5
5
 
6
6
  scope "avo_api", as: "avo_api" do
7
+ get "/search", to: "search#index"
8
+ get "/:resource_name/search", to: "search#show"
7
9
  post "/resources/:resource_name/:id/attachments/", to: "attachments#create"
8
10
  end
9
11
 
@@ -27,10 +29,4 @@ Avo::Engine.routes.draw do
27
29
  post "/:resource_name/:id/:related_name", to: "relations#create"
28
30
  delete "/:resource_name/:id/:related_name/:related_id", to: "relations#destroy"
29
31
  end
30
-
31
- # get '/avo-api/search', to: 'search#index'
32
- # get '/avo-api/:resource_name/search', to: 'search#resource'
33
-
34
- # Tools
35
- # get '/avo-tools/resource-overview', to: 'resource_overview#index'
36
32
  end
data/lib/avo/app.rb CHANGED
@@ -6,6 +6,7 @@ module Avo
6
6
  class_attribute :request, default: nil
7
7
  class_attribute :context, default: nil
8
8
  class_attribute :license, default: nil
9
+ class_attribute :current_user, default: nil
9
10
 
10
11
  class << self
11
12
  def boot
@@ -20,9 +21,10 @@ module Avo
20
21
  end
21
22
  end
22
23
 
23
- def init(request:, context:)
24
+ def init(request:, context:, current_user:)
24
25
  self.request = request
25
26
  self.context = context
27
+ self.current_user = current_user
26
28
 
27
29
  self.license = Licensing::LicenseManager.new(Licensing::HQ.new(request).response).license
28
30
 
@@ -11,7 +11,7 @@ module Avo
11
11
 
12
12
  class_attribute :id, default: :id
13
13
  class_attribute :title, default: :id
14
- class_attribute :search, default: [:id]
14
+ class_attribute :search_query, default: nil
15
15
  class_attribute :includes, default: []
16
16
  class_attribute :model_class
17
17
  class_attribute :translation_key
@@ -42,6 +42,18 @@ module Avo
42
42
 
43
43
  self.filters_loader.use filter_class
44
44
  end
45
+
46
+ def scope
47
+ authorization.apply_policy model_class
48
+ end
49
+
50
+ def authorization
51
+ Avo::Services::AuthorizationService.new Avo::App.current_user
52
+ end
53
+ end
54
+
55
+ def initialize
56
+ self.class.model_class = model_class
45
57
  end
46
58
 
47
59
  def hydrate(model: nil, view: nil, user: nil, params: nil)
@@ -65,7 +77,7 @@ module Avo
65
77
  field.hydrate(resource: self, panel_name: default_panel_name, user: user)
66
78
  end
67
79
 
68
- if Avo::App.license.invalid? || Avo::App.license.lacks(:custom_fields)
80
+ if Avo::App.license.has_with_trial(:custom_fields)
69
81
  fields = fields.reject do |field|
70
82
  field.custom?
71
83
  end
@@ -96,9 +108,9 @@ module Avo
96
108
  end
97
109
  end
98
110
 
99
- fields.map do |field|
100
- field.hydrate(model: @model, view: @view, resource: self)
101
- end
111
+ hydrate_fields(model: @model, view: @view)
112
+
113
+ fields
102
114
  end
103
115
 
104
116
  def get_grid_fields
@@ -119,8 +131,16 @@ module Avo
119
131
  self.class.actions_loader.bag
120
132
  end
121
133
 
134
+ def hydrate_fields(model: nil, view: nil)
135
+ fields.map do |field|
136
+ field.hydrate(model: @model, view: @view, resource: self)
137
+ end
138
+
139
+ self
140
+ end
141
+
122
142
  def default_panel_name
123
- return @params[:related_name].capitalize if @params[:related_name].present?
143
+ return @params[:related_name].capitalize if @params.present? && @params[:related_name].present?
124
144
 
125
145
  case @view
126
146
  when :show
@@ -226,7 +246,11 @@ module Avo
226
246
 
227
247
  def fill_model(model, params)
228
248
  # Map the received params to their actual fields
229
- fields_by_database_id = get_field_definitions.map { |field| [field.database_id(model).to_s, field] }.to_h
249
+ fields_by_database_id = get_field_definitions
250
+ .reject do |field|
251
+ field.computed
252
+ end
253
+ .map { |field| [field.database_id(model).to_s, field] }.to_h
230
254
 
231
255
  params.each do |key, value|
232
256
  field = fields_by_database_id[key]
@@ -301,5 +325,57 @@ module Avo
301
325
  end
302
326
  end
303
327
  end
328
+
329
+ def avo_path
330
+ "#{Avo.configuration.root_path}/resources/#{model_class.model_name.route_key}/#{model.id}"
331
+ end
332
+
333
+ def label_field
334
+ get_field_definitions.find do |field|
335
+ field.as_label.present?
336
+ end
337
+ rescue
338
+ nil
339
+ end
340
+
341
+ def label
342
+ label_field.value || model_title
343
+ rescue
344
+ model_title
345
+ end
346
+
347
+ def avatar_field
348
+ get_field_definitions.find do |field|
349
+ field.as_avatar.present?
350
+ end
351
+ rescue
352
+ nil
353
+ end
354
+
355
+ def avatar
356
+ avatar_field.to_image
357
+ rescue
358
+ nil
359
+ end
360
+
361
+ def avatar_type
362
+ avatar_field.as_avatar
363
+ rescue
364
+ nil
365
+ end
366
+
367
+ def description_field
368
+ get_field_definitions.find do |field|
369
+ field.as_description.present?
370
+ end
371
+ rescue
372
+ nil
373
+ end
374
+
375
+ def description
376
+ description_field.value
377
+ rescue
378
+ nil
379
+ end
304
380
  end
305
381
  end
@@ -22,6 +22,7 @@ module Avo
22
22
  attr_accessor :display_breadcrumbs
23
23
  attr_accessor :initial_breadcrumbs
24
24
  attr_accessor :home_path
25
+ attr_accessor :search_debounce
25
26
 
26
27
  def initialize
27
28
  @root_path = "/avo"
@@ -56,6 +57,7 @@ module Avo
56
57
  }
57
58
  @display_breadcrumbs = true
58
59
  @home_path = nil
60
+ @search_debounce = 300
59
61
  end
60
62
 
61
63
  def locale_tag
@@ -19,6 +19,9 @@ module Avo
19
19
  attr_reader :help
20
20
  attr_reader :default
21
21
  attr_reader :visible
22
+ attr_reader :as_label
23
+ attr_reader :as_avatar
24
+ attr_reader :as_description
22
25
 
23
26
  # Private options
24
27
  attr_reader :updatable
@@ -53,6 +56,9 @@ module Avo
53
56
  @help = args[:help] || nil
54
57
  @default = args[:default] || nil
55
58
  @visible = args[:visible] || true
59
+ @as_label = args[:as_label] || false
60
+ @as_avatar = args[:as_avatar] || false
61
+ @as_description = args[:as_description] || false
56
62
 
57
63
  @updatable = true
58
64
  @computable = true
@@ -20,6 +20,10 @@ module Avo
20
20
  def variant(resize_to_limit: [128, 128])
21
21
  value.variant(resize_to_limit: resize_to_limit).processed.service_url
22
22
  end
23
+
24
+ def to_image
25
+ return variant(resize_to_limit: [320, 320]) if is_image
26
+ end
23
27
  end
24
28
  end
25
29
  end
@@ -47,6 +47,16 @@ module Avo
47
47
 
48
48
  alias_method :has, :can
49
49
  alias_method :lacks, :cant
50
+
51
+ # Returns if has ability and if is a valid license or app is in development.
52
+ def has_with_trial(ability)
53
+ can(ability) && (valid? || Rails.env.development? || Rails.env.test?)
54
+ end
55
+
56
+ # Returns if lacks ability and if is a valid license or app is in development.
57
+ def lacks_with_trial(ability)
58
+ !can(ability) && (valid? || Rails.env.development? || Rails.env.test?)
59
+ end
50
60
  end
51
61
  end
52
62
  end
@@ -5,7 +5,9 @@ module Avo
5
5
  [
6
6
  :authorization,
7
7
  :custom_tools,
8
- :custom_fields
8
+ :custom_fields,
9
+ :global_search,
10
+ :enhanced_search_results
9
11
  ]
10
12
  end
11
13
  end
@@ -75,7 +75,7 @@ module Avo
75
75
  end
76
76
 
77
77
  def skip_authorization
78
- Avo::App.license.lacks :authorization
78
+ Avo::App.license.lacks_with_trial :authorization
79
79
  end
80
80
 
81
81
  def authorized_methods(user, record)
data/lib/avo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Avo
2
- VERSION = "1.4.3"
2
+ VERSION = "1.4.4.pre.1"
3
3
  end
@@ -43,6 +43,7 @@ Avo.configure do |config|
43
43
  # config.full_width_container = false
44
44
  # config.full_width_index_view = false
45
45
  # config.cache_resources_on_index_view = true
46
+ # config.search_debounce = 300
46
47
 
47
48
  # Where should the user be redirected when he hits the `/<%= options[:path] %>` url
48
49
  # config.home_path = nil
@@ -1,6 +1,9 @@
1
1
  class <%= resource_class %> < Avo::BaseResource
2
2
  self.title = :id
3
3
  self.includes = []
4
+ # self.search_query = ->(params:) do
5
+ # scope.ransack(id_eq: params[:q], m: "or").result(distinct: false)
6
+ # end
4
7
 
5
8
  field :id, as: :id
6
9
  # add fields here
@@ -1388,6 +1388,8 @@ span.flatpickr-weekday {
1388
1388
  }
1389
1389
  }
1390
1390
 
1391
+ /*! @algolia/autocomplete-theme-classic 1.0.0-alpha.46 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
1392
+ :root{--aa-search-input-height:44px;--aa-input-icon-size:20px;--aa-base-unit:16;--aa-spacing-factor:1;--aa-spacing:calc(var(--aa-base-unit)*var(--aa-spacing-factor)*1px);--aa-spacing-half:calc(var(--aa-spacing)/2);--aa-panel-max-height:650px;--aa-base-z-index:9999;--aa-font-size:calc(var(--aa-base-unit)*1px);--aa-font-family:inherit;--aa-font-weight-medium:500;--aa-font-weight-semibold:600;--aa-font-weight-bold:700;--aa-icon-size:20px;--aa-icon-stroke-width:1.6;--aa-icon-color-rgb:119,119,163;--aa-icon-color-alpha:1;--aa-action-icon-size:20px;--aa-text-color-rgb:38,38,39;--aa-text-color-alpha:1;--aa-primary-color-rgb:62,52,211;--aa-primary-color-alpha:0.2;--aa-muted-color-rgb:128,126,163;--aa-muted-color-alpha:0.6;--aa-panel-border-color-rgb:128,126,163;--aa-panel-border-color-alpha:0.3;--aa-input-border-color-rgb:128,126,163;--aa-input-border-color-alpha:0.8;--aa-background-color-rgb:255,255,255;--aa-background-color-alpha:1;--aa-input-background-color-rgb:255,255,255;--aa-input-background-color-alpha:1;--aa-selected-color-rgb:179,173,214;--aa-selected-color-alpha:0.205;--aa-description-highlight-background-color-rgb:245,223,77;--aa-description-highlight-background-color-alpha:0.5;--aa-detached-media-query:(max-width:680px);--aa-detached-modal-media-query:(min-width:680px);--aa-detached-modal-max-width:680px;--aa-detached-modal-max-height:500px;--aa-overlay-color-rgb:115,114,129;--aa-overlay-color-alpha:0.4;--aa-panel-shadow:0 0 0 1px rgba(35,38,59,0.1),0 6px 16px -4px rgba(35,38,59,0.15);--aa-scrollbar-width:13px;--aa-scrollbar-track-background-color-rgb:234,234,234;--aa-scrollbar-track-background-color-alpha:1;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb);--aa-scrollbar-thumb-background-color-alpha:1}@media (hover:none) and (pointer:coarse){:root{--aa-spacing-factor:1.2;--aa-action-icon-size:22px}}body.dark,body[data-theme=dark]{--aa-text-color-rgb:183,192,199;--aa-primary-color-rgb:146,138,255;--aa-muted-color-rgb:146,138,255;--aa-input-background-color-rgb:0,3,9;--aa-background-color-rgb:21,24,42;--aa-selected-color-rgb:146,138,255;--aa-selected-color-alpha:0.25;--aa-description-highlight-background-color-rgb:0 255 255;--aa-description-highlight-background-color-alpha:0.25;--aa-icon-color-rgb:119,119,163;--aa-panel-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--aa-scrollbar-track-background-color-rgb:44,46,64;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb)}.aa-Autocomplete *,.aa-DetachedFormContainer *,.aa-Panel *{box-sizing:border-box}.aa-Autocomplete,.aa-DetachedFormContainer,.aa-Panel{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-family:inherit;font-family:var(--aa-font-family);font-size:16px;font-size:var(--aa-font-size);font-weight:400;line-height:1em;margin:0;padding:0;text-align:left}.aa-Form{align-items:center;background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128,126,163,.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;display:flex;line-height:1em;margin:0;position:relative;width:100%}.aa-Form[focus-within]{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:0 0 0 2px rgba(62,52,211,.2),inset 0 0 0 2px rgba(62,52,211,.2);box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:medium none currentColor}.aa-Form:focus-within{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:0 0 0 2px rgba(62,52,211,.2),inset 0 0 0 2px rgba(62,52,211,.2);box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:medium none currentColor}.aa-InputWrapperPrefix{align-items:center;display:flex;flex-shrink:0;height:44px;height:var(--aa-search-input-height);order:1}.aa-Label,.aa-LoadingIndicator{cursor:auto;flex-shrink:0;height:100%;padding:0;text-align:left}.aa-Label svg,.aa-LoadingIndicator svg{color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);height:auto;max-height:20px;max-height:var(--aa-input-icon-size);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-input-icon-size)}.aa-LoadingIndicator,.aa-SubmitButton{height:100%;padding-left:11px;padding-left:calc(var(--aa-spacing)*0.75 - 1px);padding-right:8px;padding-right:var(--aa-spacing-half);width:47px;width:calc(var(--aa-spacing)*1.75 + var(--aa-icon-size) - 1px)}@media (hover:none) and (pointer:coarse){.aa-LoadingIndicator,.aa-SubmitButton{padding-left:3px;padding-left:calc(var(--aa-spacing-half)/2 - 1px);width:39px;width:calc(var(--aa-icon-size) + var(--aa-spacing)*1.25 - 1px)}}.aa-SubmitButton{-webkit-appearance:none;appearance:none;background:none;border:0;margin:0}.aa-LoadingIndicator{align-items:center;display:flex;justify-content:center}.aa-LoadingIndicator[hidden]{display:none}.aa-InputWrapper{order:3;position:relative;width:100%}.aa-Input{-webkit-appearance:none;appearance:none;background:none;border:0;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font:inherit;height:44px;height:var(--aa-search-input-height);padding:0;width:100%}.aa-Input::placeholder{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input:focus{border-color:none;box-shadow:none;outline:none}.aa-Input::-webkit-search-cancel-button,.aa-Input::-webkit-search-decoration,.aa-Input::-webkit-search-results-button,.aa-Input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.aa-InputWrapperSuffix{align-items:center;display:flex;height:44px;height:var(--aa-search-input-height);order:4}.aa-ClearButton{align-items:center;background:none;border:0;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;height:100%;margin:0;padding:0 12.83333px;padding:0 calc(var(--aa-spacing)*0.83333 - .5px)}@media (hover:none) and (pointer:coarse){.aa-ClearButton{padding:0 10.16667px;padding:0 calc(var(--aa-spacing)*0.66667 - .5px)}}.aa-ClearButton:focus,.aa-ClearButton:hover{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}.aa-ClearButton[hidden]{display:none}.aa-ClearButton svg{stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-icon-size)}.aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:4px;border-radius:calc(var(--aa-spacing)/4);box-shadow:0 0 0 1px rgba(35,38,59,.1),0 6px 16px -4px rgba(35,38,59,.15);box-shadow:var(--aa-panel-shadow);margin:8px 0 0;overflow:hidden;position:absolute;transition:opacity .2s ease-in,filter .2s ease-in}@media screen and (prefers-reduced-motion){.aa-Panel{transition:none}}.aa-Panel button{-webkit-appearance:none;appearance:none;background:none;border:0;margin:0;padding:0}.aa-PanelLayout{height:100%;margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-y:auto;padding:0;position:relative;text-align:left}.aa-PanelLayoutColumns--twoGolden{display:grid;grid-template-columns:39.2% auto;overflow:hidden;padding:0}.aa-PanelLayoutColumns--two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;padding:0}.aa-PanelLayoutColumns--three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;padding:0}.aa-Panel--stalled .aa-Source{filter:grayscale(1);opacity:.8}.aa-Panel--scrollable{margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-x:hidden;overflow-y:auto;padding:8px;padding:var(--aa-spacing-half);scrollbar-color:#fff #eaeaea;scrollbar-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha)) rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));scrollbar-width:thin}.aa-Panel--scrollable::-webkit-scrollbar{width:13px;width:var(--aa-scrollbar-width)}.aa-Panel--scrollable::-webkit-scrollbar-track{background-color:#eaeaea;background-color:rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha))}.aa-Panel--scrollable::-webkit-scrollbar-thumb{background-color:#fff;background-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha));border-radius:9999px;border:3px solid #eaeaea;border-color:rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));border-right:2px solid rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha))}.aa-Source{margin:0;padding:0;position:relative;width:100%}.aa-Source:empty{display:none}.aa-SourceNoResults{font-size:1em;margin:0;padding:16px;padding:var(--aa-spacing)}.aa-List{list-style:none;margin:0}.aa-List,.aa-SourceHeader{padding:0;position:relative}.aa-SourceHeader{margin:8px .5em 8px 0;margin:var(--aa-spacing-half) .5em var(--aa-spacing-half) 0}.aa-SourceHeader:empty{display:none}.aa-SourceHeaderTitle{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);display:inline-block;font-size:.8em;font-weight:600;font-weight:var(--aa-font-weight-semibold);margin:0;padding:0 8px 0 0;padding:0 var(--aa-spacing-half) 0 0;position:relative;z-index:9999;z-index:var(--aa-base-z-index)}.aa-SourceHeaderLine{border-bottom:1px solid #3e34d3;border-bottom:1px solid rgba(var(--aa-primary-color-rgb),1);display:block;height:2px;left:0;margin:0;opacity:.3;padding:0;position:absolute;right:0;top:8px;top:var(--aa-spacing-half);z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-SourceFooterSeeAll{background:linear-gradient(180deg,#fff,rgba(128,126,163,.14));background:linear-gradient(180deg,rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha)),rgba(128,126,163,.14));border:1px solid rgba(128,126,163,.6);border:1px solid rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));border-radius:5px;box-shadow:inset 0 0 2px #fff,0 2px 2px -1px rgba(76,69,88,.15);color:inherit;font-size:.95em;font-weight:500;font-weight:var(--aa-font-weight-medium);padding:.475em 1em .6em;text-decoration:none}.aa-SourceFooterSeeAll:focus,.aa-SourceFooterSeeAll:hover{border:1px solid #3e34d3;border:1px solid rgba(var(--aa-primary-color-rgb),1);color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1)}.aa-Item{align-items:center;border-radius:3px;cursor:pointer;min-height:40px;min-height:calc(var(--aa-spacing)*2.5);padding:4px;padding:calc(var(--aa-spacing-half)/2)}.aa-Item[aria-selected=true]{background-color:rgba(179,173,214,.205);background-color:rgba(var(--aa-selected-color-rgb),var(--aa-selected-color-alpha))}.aa-Item[aria-selected=true] .aa-ActiveOnly,.aa-Item[aria-selected=true] .aa-ItemActionButton{visibility:visible}.aa-ItemIcon{align-items:center;background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:3px;box-shadow:inset 0 0 0 1px rgba(128,126,163,.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));color:#7777a3;color:rgba(var(--aa-icon-color-rgb),var(--aa-icon-color-alpha));display:flex;flex-shrink:0;font-size:.7em;height:28px;height:calc(var(--aa-icon-size) + var(--aa-spacing-half));justify-content:center;overflow:hidden;stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);text-align:center;width:28px;width:calc(var(--aa-icon-size) + var(--aa-spacing-half))}.aa-ItemIcon img{height:auto;max-height:20px;max-height:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);max-width:20px;max-width:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);width:auto}.aa-ItemIcon svg{height:20px;height:var(--aa-icon-size);width:20px;width:var(--aa-icon-size)}.aa-ItemIcon--alignTop{align-self:flex-start}.aa-ItemIcon--noBorder{background:none;box-shadow:none}.aa-ItemIcon--picture{height:96px;width:96px}.aa-ItemIcon--picture img{max-height:100%;max-width:100%;padding:8px;padding:var(--aa-spacing-half)}.aa-ItemContent{align-items:center;cursor:pointer;display:grid;grid-gap:8px;gap:8px;grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;line-height:1.25em;overflow:hidden}.aa-ItemContent:empty{display:none}.aa-ItemContent mark{background:none;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:700;font-weight:var(--aa-font-weight-bold)}.aa-ItemContent--dual{display:flex;flex-direction:column;justify-content:space-between;text-align:left}.aa-ItemContent--dual .aa-ItemContentSubtitle,.aa-ItemContent--dual .aa-ItemContentTitle{display:block}.aa-ItemContent--indented{padding-left:36px;padding-left:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-ItemContentBody{display:grid;grid-gap:4px;gap:4px;grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2)}.aa-ItemContentTitle{display:inline-block;margin:0 .5em 0 0;max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.aa-ItemContentSubtitle{font-size:.92em}.aa-ItemContentSubtitleIcon:before{border-color:rgba(128,126,163,.64);border-color:rgba(var(--aa-muted-color-rgb),.64);border-style:solid;content:"";display:inline-block;left:1px;position:relative;top:-3px}.aa-ItemContentSubtitle--inline .aa-ItemContentSubtitleIcon:before{border-width:0 0 1.5px;margin-left:8px;margin-left:var(--aa-spacing-half);margin-right:4px;margin-right:calc(var(--aa-spacing-half)/2);width:10px;width:calc(var(--aa-spacing-half) + 2px)}.aa-ItemContentSubtitle--standalone{align-items:center;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));display:grid;grid-gap:8px;gap:8px;grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;justify-content:start}.aa-ItemContentSubtitle--standalone .aa-ItemContentSubtitleIcon:before{border-radius:0 0 0 3px;border-width:0 0 1.5px 1.5px;height:8px;height:var(--aa-spacing-half);width:8px;width:var(--aa-spacing-half)}.aa-ItemContentSubtitleCategory{color:#807ea3;color:rgba(var(--aa-muted-color-rgb),1);font-weight:500}.aa-ItemContentDescription{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-size:.85em;max-width:100%;overflow-x:hidden;text-overflow:ellipsis}.aa-ItemContentDescription:empty{display:none}.aa-ItemContentDescription mark{background:rgba(245,223,77,.5);background:rgba(var(--aa-description-highlight-background-color-rgb),var(--aa-description-highlight-background-color-alpha));color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:500;font-weight:var(--aa-font-weight-medium)}.aa-ItemContentDash{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));display:none;opacity:.4}.aa-ItemContentTag{background-color:rgba(62,52,211,.2);background-color:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha));border-radius:3px;margin:0 .4em 0 0;padding:.08em .3em}.aa-ItemLink,.aa-ItemWrapper{align-items:center;color:inherit;display:grid;grid-gap:4px;gap:4px;grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2);grid-auto-flow:column;justify-content:space-between;width:100%}.aa-ItemLink{color:inherit;text-decoration:none}.aa-ItemActions{display:grid;grid-auto-flow:column;height:100%;justify-self:end;margin:0 -5.33333px;margin:0 calc(var(--aa-spacing)/-3);padding:0 2px 0 0}.aa-ItemActionButton{align-items:center;background:none;border:0;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;flex-shrink:0;padding:0}.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}@media (hover:none) and (pointer:coarse){.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:inherit}}.aa-ItemActionButton svg{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));margin:5.33333px;margin:calc(var(--aa-spacing)/3);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-action-icon-size)}.aa-ActiveOnly{visibility:hidden}.aa-PanelHeader{align-items:center;background:#3e34d3;background:rgba(var(--aa-primary-color-rgb),1);color:#fff;display:grid;height:var(--aa-modal-header-height);margin:0;padding:8px 16px;padding:var(--aa-spacing-half) var(--aa-spacing);position:relative}.aa-PanelHeader:after{background-image:linear-gradient(#fff,hsla(0,0%,100%,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));bottom:-8px;bottom:calc(var(--aa-spacing-half)*-1);content:"";height:8px;height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0}.aa-PanelFooter,.aa-PanelHeader:after{z-index:9999;z-index:var(--aa-base-z-index)}.aa-PanelFooter{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));box-shadow:inset 0 1px 0 rgba(128,126,163,.3);box-shadow:inset 0 1px 0 rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;justify-content:space-between;margin:0;padding:16px;padding:var(--aa-spacing);position:relative}.aa-PanelFooter:after{background-image:linear-gradient(hsla(0,0%,100%,0),rgba(128,126,163,.6));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha)));content:"";height:16px;height:var(--aa-spacing);left:0;opacity:.12;pointer-events:none;position:absolute;right:0;top:-16px;top:calc(var(--aa-spacing)*-1);z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-DetachedContainer{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));bottom:0;box-shadow:0 0 0 1px rgba(35,38,59,.1),0 6px 16px -4px rgba(35,38,59,.15);box-shadow:var(--aa-panel-shadow);display:flex;flex-direction:column;left:0;margin:0;overflow:hidden;padding:0;position:fixed;right:0;top:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-DetachedContainer:after{height:32px}.aa-DetachedContainer .aa-SourceHeader{margin:8px 0 8px 2px;margin:var(--aa-spacing-half) 0 var(--aa-spacing-half) 2px}.aa-DetachedContainer .aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:0;box-shadow:none;flex-grow:1;margin:0;padding:0;position:relative}.aa-DetachedContainer .aa-PanelLayout{bottom:0;box-shadow:none;left:0;margin:0;max-height:none;overflow-y:auto;position:absolute;right:0;top:0;width:100%}.aa-DetachedFormContainer{border-bottom:1px solid rgba(128,126,163,.3);border-bottom:1px solid rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:8px;padding:var(--aa-spacing-half)}.aa-DetachedCancelButton{background:none;border:0;border-radius:3px;color:inherit;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));cursor:pointer;font:inherit;margin:0 0 0 8px;margin:0 0 0 var(--aa-spacing-half);padding:0 8px;padding:0 var(--aa-spacing-half)}.aa-DetachedCancelButton:focus,.aa-DetachedCancelButton:hover{box-shadow:inset 0 0 0 1px rgba(128,126,163,.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha))}.aa-DetachedContainer--modal{border-radius:6px;bottom:inherit;height:auto;margin:0 auto;max-width:680px;max-width:var(--aa-detached-modal-max-width);position:absolute;top:3%}.aa-DetachedContainer--modal .aa-PanelLayout{max-height:500px;max-height:var(--aa-detached-modal-max-height);padding-bottom:8px;padding-bottom:var(--aa-spacing-half);position:static}.aa-DetachedSearchButton{align-items:center;background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128,126,163,.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;font:inherit;font-family:inherit;font-family:var(--aa-font-family);font-size:16px;font-size:var(--aa-font-size);height:44px;height:var(--aa-search-input-height);margin:0;padding:0 5.5px;padding:0 calc(var(--aa-search-input-height)/8);position:relative;text-align:left;width:100%}.aa-DetachedSearchButton:focus{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:0 0 0 3px rgba(62,52,211,.2),inset 0 0 0 2px rgba(62,52,211,.2);box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 3px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:medium none currentColor}.aa-DetachedSearchButtonIcon{align-items:center;color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);cursor:auto;display:flex;height:100%;justify-content:center;width:36px;width:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-Detached{height:100vh;overflow:hidden}.aa-DetachedOverlay{background-color:rgba(115,114,129,.4);background-color:rgba(var(--aa-overlay-color-rgb),var(--aa-overlay-color-alpha));height:100vh;left:0;margin:0;padding:0;position:fixed;right:0;top:0;z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-GradientBottom,.aa-GradientTop{height:8px;height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:13px;right:var(--aa-scrollbar-width);z-index:9999;z-index:var(--aa-base-z-index)}.aa-GradientTop{background-image:linear-gradient(#fff,hsla(0,0%,100%,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));top:0}.aa-GradientBottom{background-image:linear-gradient(hsla(0,0%,100%,0),#fff);background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-background-color-rgb),1));bottom:0}@media (hover:none) and (pointer:coarse){.aa-DesktopOnly{display:none}}@media (hover:hover){.aa-TouchOnly{display:none}}
1391
1393
  /*! tailwindcss v2.1.1 | MIT License | https://tailwindcss.com *//*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
1392
1394
 
1393
1395
  /*
@@ -3095,6 +3097,130 @@ svg.tea #steamR {
3095
3097
  color: rgba(107, 114, 128, var(--tw-text-opacity))
3096
3098
  }
3097
3099
 
3100
+ :root {
3101
+ --aa-primary-color: --tw-ring-color;
3102
+ --aa-selected-color: --tw-ring-color;
3103
+ --aa-primary-color-rgb: 5, 150, 105;
3104
+ }
3105
+
3106
+ .global-search .aa-DetachedSearchButton:focus,
3107
+ .global-search .aa-DetachedSearchButton {
3108
+ border: none !important;
3109
+ }
3110
+
3111
+ .resource-search .aa-Autocomplete {
3112
+ width: 100%;
3113
+ }
3114
+
3115
+ .resource-search .aa-DetachedSearchButton {
3116
+ border-radius: 9999px;
3117
+ }
3118
+
3119
+ .resource-search .aa-DetachedSearchButton {
3120
+ --tw-border-opacity: 1;
3121
+ border-color: rgba(209, 213, 219, var(--tw-border-opacity));
3122
+ }
3123
+
3124
+ .aa-SourceHeader {
3125
+ font-size: 0.75rem;
3126
+ line-height: 1rem;
3127
+ font-weight: 600;
3128
+ text-transform: uppercase;
3129
+ }
3130
+
3131
+ .aa-DetachedFormContainer, .aa-DetachedContainer .aa-Panel {
3132
+ border-bottom-width: 0px;
3133
+ --tw-bg-opacity: 1;
3134
+ background-color: rgba(241, 245, 249, var(--tw-bg-opacity));
3135
+ }
3136
+
3137
+ .aa-Form:focus-within {
3138
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
3139
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
3140
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
3141
+ }
3142
+
3143
+ .aa-Form input:focus {
3144
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
3145
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
3146
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
3147
+ }
3148
+
3149
+ .aa-Form:focus-within .aa-InputWrapperPrefix .aa-SubmitButton {
3150
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
3151
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
3152
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
3153
+ }
3154
+ .aa-Input:focus {
3155
+ --tw-ring-opacity: 1;
3156
+ --tw-ring-color: rgba(5, 150, 105, var(--tw-ring-opacity));
3157
+ }
3158
+
3159
+ .aa-DetachedContainer .aa-PanelLayout > :not([hidden]) ~ :not([hidden]) {
3160
+ --tw-space-y-reverse: 0;
3161
+ margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
3162
+ margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
3163
+ }
3164
+
3165
+ .aa-DetachedContainer .aa-PanelLayout {
3166
+ padding-top: 0px;
3167
+ }
3168
+
3169
+ .aa-DetachedContainer .aa-Source .aa-List > :not([hidden]) ~ :not([hidden]) {
3170
+ --tw-space-y-reverse: 0;
3171
+ margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
3172
+ margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
3173
+ }
3174
+
3175
+ .aa-DetachedContainer .aa-Source .aa-List .aa-Item {
3176
+ border-radius: 0.375rem;
3177
+ }
3178
+
3179
+ .aa-DetachedContainer .aa-Source .aa-List .aa-Item {
3180
+ --tw-bg-opacity: 1;
3181
+ background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
3182
+ }
3183
+
3184
+ .aa-DetachedContainer .aa-Source .aa-List .aa-Item {
3185
+ padding-left: 0.75rem;
3186
+ padding-right: 0.75rem;
3187
+ }
3188
+
3189
+ .aa-DetachedContainer .aa-Source .aa-List .aa-Item {
3190
+ padding-top: 1rem;
3191
+ padding-bottom: 1rem;
3192
+ }
3193
+
3194
+ .aa-DetachedContainer .aa-Source .aa-List .aa-Item {
3195
+ --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
3196
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
3197
+ }
3198
+
3199
+ .aa-DetachedContainer .aa-Source .aa-List .aa-Item .aa-ItemDescription {
3200
+ font-size: 0.875rem;
3201
+ line-height: 1.25rem;
3202
+ }
3203
+
3204
+ .aa-DetachedContainer .aa-Source .aa-List .aa-Item .aa-ItemDescription {
3205
+ --tw-text-opacity: 1;
3206
+ color: rgba(107, 114, 128, var(--tw-text-opacity));
3207
+ }
3208
+
3209
+ .aa-DetachedContainer .aa-Source .aa-List .aa-Item[aria-selected=true] {
3210
+ --tw-bg-opacity: 1;
3211
+ background-color: rgba(29, 78, 216, var(--tw-bg-opacity));
3212
+ }
3213
+
3214
+ .aa-DetachedContainer .aa-Source .aa-List .aa-Item[aria-selected=true] {
3215
+ --tw-text-opacity: 1;
3216
+ color: rgba(255, 255, 255, var(--tw-text-opacity));
3217
+ }
3218
+
3219
+ .aa-DetachedContainer .aa-Source .aa-List .aa-Item[aria-selected=true] .aa-ItemDescription {
3220
+ --tw-text-opacity: 1;
3221
+ color: rgba(255, 255, 255, var(--tw-text-opacity));
3222
+ }
3223
+
3098
3224
  .spinner {
3099
3225
  width: 16px;
3100
3226
  height: 16px;
@@ -4592,6 +4718,17 @@ progress[value]::-moz-progress-bar {
4592
4718
  }
4593
4719
  }
4594
4720
 
4721
+ .sr-only {
4722
+ position: absolute;
4723
+ width: 1px;
4724
+ height: 1px;
4725
+ padding: 0;
4726
+ margin: -1px;
4727
+ overflow: hidden;
4728
+ clip: rect(0, 0, 0, 0);
4729
+ white-space: nowrap;
4730
+ border-width: 0
4731
+ }
4595
4732
  .pointer-events-none {
4596
4733
  pointer-events: none
4597
4734
  }
@@ -4640,6 +4777,9 @@ progress[value]::-moz-progress-bar {
4640
4777
  .top-1\/2 {
4641
4778
  top: 50%
4642
4779
  }
4780
+ .top-\[-5px\] {
4781
+ top: -5px
4782
+ }
4643
4783
  .top-\[-1px\] {
4644
4784
  top: -1px
4645
4785
  }
@@ -4673,6 +4813,10 @@ progress[value]::-moz-progress-bar {
4673
4813
  margin-top: 1rem;
4674
4814
  margin-bottom: 1rem
4675
4815
  }
4816
+ .my-\[2px\] {
4817
+ margin-top: 2px;
4818
+ margin-bottom: 2px
4819
+ }
4676
4820
  .my-2 {
4677
4821
  margin-top: 0.5rem;
4678
4822
  margin-bottom: 0.5rem
@@ -4747,6 +4891,9 @@ progress[value]::-moz-progress-bar {
4747
4891
  .ml-1\/12 {
4748
4892
  margin-left: 8.333333%
4749
4893
  }
4894
+ .ml-4 {
4895
+ margin-left: 1rem
4896
+ }
4750
4897
  .-mb-1 {
4751
4898
  margin-bottom: -0.25rem
4752
4899
  }
@@ -4873,8 +5020,8 @@ progress[value]::-moz-progress-bar {
4873
5020
  .w-56 {
4874
5021
  width: 14rem
4875
5022
  }
4876
- .w-64 {
4877
- width: 16rem
5023
+ .w-8 {
5024
+ width: 2rem
4878
5025
  }
4879
5026
  .w-1\/2 {
4880
5027
  width: 50%
@@ -4891,6 +5038,9 @@ progress[value]::-moz-progress-bar {
4891
5038
  .w-10 {
4892
5039
  width: 2.5rem
4893
5040
  }
5041
+ .w-64 {
5042
+ width: 16rem
5043
+ }
4894
5044
  .w-3 {
4895
5045
  width: 0.75rem
4896
5046
  }
@@ -5333,14 +5483,26 @@ progress[value]::-moz-progress-bar {
5333
5483
  padding-top: 3rem;
5334
5484
  padding-bottom: 3rem
5335
5485
  }
5336
- .px-24 {
5337
- padding-left: 6rem;
5338
- padding-right: 6rem
5486
+ .py-0\.5 {
5487
+ padding-top: 0.125rem;
5488
+ padding-bottom: 0.125rem
5489
+ }
5490
+ .px-1\.5 {
5491
+ padding-left: 0.375rem;
5492
+ padding-right: 0.375rem
5339
5493
  }
5340
5494
  .py-0 {
5341
5495
  padding-top: 0px;
5342
5496
  padding-bottom: 0px
5343
5497
  }
5498
+ .px-1 {
5499
+ padding-left: 0.25rem;
5500
+ padding-right: 0.25rem
5501
+ }
5502
+ .px-24 {
5503
+ padding-left: 6rem;
5504
+ padding-right: 6rem
5505
+ }
5344
5506
  .py-3 {
5345
5507
  padding-top: 0.75rem;
5346
5508
  padding-bottom: 0.75rem
@@ -5359,9 +5521,18 @@ progress[value]::-moz-progress-bar {
5359
5521
  .pb-0 {
5360
5522
  padding-bottom: 0px
5361
5523
  }
5524
+ .pl-4 {
5525
+ padding-left: 1rem
5526
+ }
5362
5527
  .pb-3\/4 {
5363
5528
  padding-bottom: 75%
5364
5529
  }
5530
+ .pt-2 {
5531
+ padding-top: 0.5rem
5532
+ }
5533
+ .pb-2 {
5534
+ padding-bottom: 0.5rem
5535
+ }
5365
5536
  .pl-6 {
5366
5537
  padding-left: 1.5rem
5367
5538
  }
@@ -5374,6 +5545,9 @@ progress[value]::-moz-progress-bar {
5374
5545
  .text-right {
5375
5546
  text-align: right
5376
5547
  }
5548
+ .font-sans {
5549
+ font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"
5550
+ }
5377
5551
  .text-sm {
5378
5552
  font-size: 0.875rem;
5379
5553
  line-height: 1.25rem
@@ -5517,6 +5691,9 @@ progress[value]::-moz-progress-bar {
5517
5691
  --tw-text-opacity: 1;
5518
5692
  color: rgba(239, 68, 68, var(--tw-text-opacity))
5519
5693
  }
5694
+ .no-underline {
5695
+ text-decoration: none
5696
+ }
5520
5697
  .underline {
5521
5698
  text-decoration: underline
5522
5699
  }
@@ -6064,4 +6241,4 @@ html, body{
6064
6241
  }
6065
6242
 
6066
6243
 
6067
- /*# sourceMappingURL=application-68691c73.css.map*/
6244
+ /*# sourceMappingURL=application-d69fe930.css.map*/