avo 3.10.10 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +3 -4
- data/Gemfile.lock +51 -49
- data/app/components/avo/actions_component.html.erb +10 -6
- data/app/components/avo/actions_component.rb +37 -55
- data/app/components/avo/button_component.rb +3 -3
- data/app/components/avo/fields/belongs_to_field/edit_component.html.erb +8 -4
- data/app/components/avo/fields/belongs_to_field/show_component.rb +1 -1
- data/app/components/avo/fields/common/files/list_viewer_component.rb +1 -1
- data/app/components/avo/fields/has_one_field/show_component.rb +3 -3
- data/app/components/avo/index/resource_controls_component.rb +9 -5
- data/app/components/avo/paginator_component.html.erb +1 -1
- data/app/components/avo/paginator_component.rb +1 -1
- data/app/components/avo/panel_component.html.erb +6 -4
- data/app/components/avo/resource_component.rb +3 -2
- data/app/components/avo/resource_sidebar_component.html.erb +1 -1
- data/app/components/avo/views/resource_edit_component.html.erb +2 -2
- data/app/components/avo/views/resource_index_component.html.erb +2 -2
- data/app/components/avo/views/resource_index_component.rb +17 -4
- data/app/components/avo/views/resource_show_component.html.erb +2 -2
- data/app/controllers/avo/actions_controller.rb +1 -1
- data/app/controllers/avo/application_controller.rb +1 -1
- data/app/controllers/avo/associations_controller.rb +55 -18
- data/app/controllers/avo/base_controller.rb +7 -2
- data/app/controllers/avo/search_controller.rb +1 -1
- data/app/helpers/avo/application_helper.rb +1 -1
- data/app/javascript/avo.base.js +8 -0
- data/app/views/avo/actions/show.html.erb +3 -3
- data/app/views/avo/associations/new.html.erb +45 -20
- data/app/views/avo/base/close_modal_and_reload_field.turbo_stream.erb +1 -1
- data/app/views/layouts/avo/application.html.erb +1 -2
- data/config/initializers/pagy.rb +1 -1
- data/lib/avo/base_action.rb +1 -0
- data/lib/avo/engine.rb +8 -4
- data/lib/avo/fields/base_field.rb +2 -2
- data/lib/avo/fields/belongs_to_field.rb +14 -8
- data/lib/avo/fields/concerns/is_required.rb +1 -1
- data/lib/avo/fields/has_base_field.rb +3 -1
- data/lib/avo/fields/has_one_field.rb +1 -1
- data/lib/avo/fields_execution_context.rb +13 -0
- data/lib/avo/resources/base.rb +32 -22
- data/lib/avo/version.rb +1 -1
- data/lib/avo.rb +10 -8
- data/lib/generators/avo/templates/initializer/avo.tt +3 -3
- data/lib/generators/avo/templates/locales/avo.ar.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.de.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.en.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.es.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.fr.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.it.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.ja.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.nb.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.nl.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.nn.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.pl.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.pt-BR.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.pt.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.ro.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.ru.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.tr.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.uk.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.zh.yml +1 -0
- data/lib/tasks/avo_tasks.rake +1 -1
- data/public/avo-assets/avo.base.css +49 -2
- data/public/avo-assets/avo.base.js +129 -129
- data/public/avo-assets/avo.base.js.map +3 -3
- data/tailwind.preset.js +2 -3
- metadata +4 -3
- /data/{lib → app}/avo/base_resource.rb +0 -0
@@ -0,0 +1,13 @@
|
|
1
|
+
module Avo
|
2
|
+
class FieldsExecutionContext < Avo::ExecutionContext
|
3
|
+
include Avo::Concerns::HasItems
|
4
|
+
|
5
|
+
def detect_fields
|
6
|
+
self.items_holder = Avo::Resources::Items::Holder.new(parent: self)
|
7
|
+
|
8
|
+
instance_exec(&target) if target.present? && target.respond_to?(:call)
|
9
|
+
|
10
|
+
self
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/lib/avo/resources/base.rb
CHANGED
@@ -119,7 +119,7 @@ module Avo
|
|
119
119
|
end
|
120
120
|
|
121
121
|
def valid_association_name(record, association_name)
|
122
|
-
association_name if record.
|
122
|
+
association_name if record.class.reflect_on_association(association_name).present?
|
123
123
|
end
|
124
124
|
|
125
125
|
def valid_attachment_name(record, association_name)
|
@@ -285,14 +285,16 @@ module Avo
|
|
285
285
|
self
|
286
286
|
end
|
287
287
|
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
288
|
+
unless defined? VIEW_METHODS_MAPPING
|
289
|
+
VIEW_METHODS_MAPPING = {
|
290
|
+
index: [:index_fields, :display_fields],
|
291
|
+
show: [:show_fields, :display_fields],
|
292
|
+
edit: [:edit_fields, :form_fields],
|
293
|
+
update: [:edit_fields, :form_fields],
|
294
|
+
new: [:new_fields, :form_fields],
|
295
|
+
create: [:new_fields, :form_fields]
|
296
|
+
}
|
297
|
+
end
|
296
298
|
|
297
299
|
def fetch_fields
|
298
300
|
possible_methods_for_view = VIEW_METHODS_MAPPING[view.to_sym]
|
@@ -329,17 +331,17 @@ module Avo
|
|
329
331
|
end
|
330
332
|
|
331
333
|
# def action / def filter / def scope
|
332
|
-
define_method entity do |entity_class, arguments: {}, icon: nil|
|
333
|
-
entity_loader(entity).use({class: entity_class, arguments: arguments, icon: icon}.compact)
|
334
|
+
define_method entity do |entity_class, arguments: {}, icon: nil, default: nil|
|
335
|
+
entity_loader(entity).use({class: entity_class, arguments: arguments, icon: icon, default: default}.compact)
|
334
336
|
end
|
335
337
|
|
336
338
|
# def get_actions / def get_filters / def get_scopes
|
337
|
-
define_method "get_#{plural_entity}" do
|
339
|
+
define_method :"get_#{plural_entity}" do
|
338
340
|
return entity_loader(entity).bag if entity_loader(entity).present?
|
339
341
|
|
340
342
|
# ex: @actions_loader = Avo::Loaders::ActionsLoader.new
|
341
343
|
instance_variable_set(
|
342
|
-
"@#{plural_entity}_loader",
|
344
|
+
:"@#{plural_entity}_loader",
|
343
345
|
"Avo::Loaders::#{plural_entity.humanize}Loader".constantize.new
|
344
346
|
)
|
345
347
|
|
@@ -349,8 +351,8 @@ module Avo
|
|
349
351
|
end
|
350
352
|
|
351
353
|
# def get_action_arguments / def get_filter_arguments / def get_scope_arguments
|
352
|
-
define_method "get_#{entity}_arguments" do |entity_class|
|
353
|
-
klass = send("get_#{plural_entity}").find { |entity| entity[:class].to_s == entity_class.to_s }
|
354
|
+
define_method :"get_#{entity}_arguments" do |entity_class|
|
355
|
+
klass = send(:"get_#{plural_entity}").find { |entity| entity[:class].to_s == entity_class.to_s }
|
354
356
|
|
355
357
|
raise "Couldn't find '#{entity_class}' in the 'def #{plural_entity}' method on your '#{self.class}' resource." if klass.nil?
|
356
358
|
|
@@ -359,7 +361,7 @@ module Avo
|
|
359
361
|
end
|
360
362
|
|
361
363
|
def hydrate(...)
|
362
|
-
super
|
364
|
+
super
|
363
365
|
|
364
366
|
if @record.present?
|
365
367
|
hydrate_model_with_default_values if @view&.new?
|
@@ -394,8 +396,8 @@ module Avo
|
|
394
396
|
def record_title
|
395
397
|
return name if @record.nil?
|
396
398
|
|
397
|
-
# Get the title from the record if title is not set, try to get the name, title or label, or fallback to the
|
398
|
-
return @record.try(:name) || @record.try(:title) || @record.try(:label) || @record.
|
399
|
+
# Get the title from the record if title is not set, try to get the name, title or label, or fallback to the to_param
|
400
|
+
return @record.try(:name) || @record.try(:title) || @record.try(:label) || @record.to_param if title.nil?
|
399
401
|
|
400
402
|
# If the title is a symbol, get the value from the record else execute the block/string
|
401
403
|
case title
|
@@ -443,10 +445,14 @@ module Avo
|
|
443
445
|
.to_h
|
444
446
|
end
|
445
447
|
|
446
|
-
def fill_record(record, params, extra_params: [])
|
448
|
+
def fill_record(record, params, extra_params: [], fields: nil)
|
447
449
|
# Write the field values
|
448
450
|
params.each do |key, value|
|
449
|
-
field =
|
451
|
+
field = if fields.present?
|
452
|
+
fields.find { |f| f.id == key.to_sym }
|
453
|
+
else
|
454
|
+
fields_by_database_id[key]
|
455
|
+
end
|
450
456
|
|
451
457
|
next unless field.present?
|
452
458
|
|
@@ -509,7 +515,7 @@ module Avo
|
|
509
515
|
|
510
516
|
if field.type == "belongs_to"
|
511
517
|
|
512
|
-
reflection = @record.
|
518
|
+
reflection = @record.class.reflect_on_association(@params[:via_relation]) if @params[:via_relation].present?
|
513
519
|
|
514
520
|
if field.polymorphic_as.present? && field.types.map(&:to_s).include?(@params[:via_relation_class])
|
515
521
|
# set the value to the actual record
|
@@ -601,7 +607,11 @@ module Avo
|
|
601
607
|
end
|
602
608
|
|
603
609
|
def entity_loader(entity)
|
604
|
-
instance_variable_get("@#{entity.to_s.pluralize}_loader")
|
610
|
+
instance_variable_get(:"@#{entity.to_s.pluralize}_loader")
|
611
|
+
end
|
612
|
+
|
613
|
+
def record_param
|
614
|
+
@record_param ||= @record.persisted? ? @record.to_param : nil
|
605
615
|
end
|
606
616
|
end
|
607
617
|
end
|
data/lib/avo/version.rb
CHANGED
data/lib/avo.rb
CHANGED
@@ -36,19 +36,20 @@ module Avo
|
|
36
36
|
class DeprecatedAPIError < StandardError; end
|
37
37
|
|
38
38
|
class MissingResourceError < StandardError
|
39
|
-
def initialize(
|
40
|
-
super(missing_resource_message(
|
39
|
+
def initialize(model_class, field_name = nil)
|
40
|
+
super(missing_resource_message(model_class, field_name))
|
41
41
|
end
|
42
42
|
|
43
43
|
private
|
44
44
|
|
45
|
-
def missing_resource_message(
|
46
|
-
|
45
|
+
def missing_resource_message(model_class, field_name)
|
46
|
+
model_name = model_class.to_s.underscore
|
47
|
+
field_name ||= model_name
|
47
48
|
|
48
|
-
"Failed to find a resource while rendering the :#{
|
49
|
-
"You may generate a resource for it by running 'rails generate avo:resource #{
|
49
|
+
"Failed to find a resource while rendering the :#{field_name} field.\n" \
|
50
|
+
"You may generate a resource for it by running 'rails generate avo:resource #{model_name.singularize}'.\n" \
|
50
51
|
"\n" \
|
51
|
-
"Alternatively add the 'use_resource' option to the :#{
|
52
|
+
"Alternatively add the 'use_resource' option to the :#{field_name} field to specify a custom resource to be used.\n" \
|
52
53
|
"More info on https://docs.avohq.io/#{Avo::VERSION[0]}.0/resources.html."
|
53
54
|
end
|
54
55
|
end
|
@@ -75,7 +76,7 @@ module Avo
|
|
75
76
|
Avo::Current.error_manager = Avo::ErrorManager.build
|
76
77
|
# Check rails version issues only on NON Production environments
|
77
78
|
unless Rails.env.production?
|
78
|
-
check_rails_version_issues
|
79
|
+
check_rails_version_issues
|
79
80
|
display_menu_editor_warning
|
80
81
|
end
|
81
82
|
Avo::Current.resource_manager = Avo::Resources::ResourceManager.build
|
@@ -138,6 +139,7 @@ module Avo
|
|
138
139
|
mount Avo::DynamicFilters::Engine, at: "/avo-dynamic_filters" if defined?(Avo::DynamicFilters::Engine)
|
139
140
|
mount Avo::Dashboards::Engine, at: "/dashboards" if defined?(Avo::Dashboards::Engine)
|
140
141
|
mount Avo::Pro::Engine, at: "/avo-pro" if defined?(Avo::Pro::Engine)
|
142
|
+
mount Avo::Kanban::Engine, at: "/boards" if defined?(Avo::Kanban::Engine)
|
141
143
|
}
|
142
144
|
end
|
143
145
|
|
@@ -22,13 +22,13 @@ Avo.configure do |config|
|
|
22
22
|
end
|
23
23
|
|
24
24
|
## == Authentication ==
|
25
|
-
# config.current_user_method =
|
26
|
-
# config.is_admin_method = :is_admin
|
27
|
-
# config.is_developer_method = :is_developer
|
25
|
+
# config.current_user_method = :current_user
|
28
26
|
# config.authenticate_with do
|
29
27
|
# end
|
30
28
|
|
31
29
|
## == Authorization ==
|
30
|
+
# config.is_admin_method = :is_admin
|
31
|
+
# config.is_developer_method = :is_developer
|
32
32
|
# config.authorization_methods = {
|
33
33
|
# index: 'index?',
|
34
34
|
# show: 'show?',
|
@@ -21,6 +21,7 @@ ar:
|
|
21
21
|
attachment_class_attached: "%{attachment_class} تم ربط"
|
22
22
|
attachment_class_detached: "%{attachment_class} تم فصل"
|
23
23
|
attachment_destroyed: تم حذف المرفق
|
24
|
+
attachment_failed: فشل في إرفاق %{attachment_class}
|
24
25
|
cancel: إلغاء
|
25
26
|
choose_a_country: اختر دولة
|
26
27
|
choose_an_option: اختر خيارًا
|
@@ -16,6 +16,7 @@ de:
|
|
16
16
|
attach_item: "%{item} anhängen"
|
17
17
|
attachment_class_attached: "%{attachment_class} angehängt."
|
18
18
|
attachment_class_detached: "%{attachment_class} abgehängt."
|
19
|
+
attachment_failed: "Kon %{attachment_class} niet bijvoegen"
|
19
20
|
attachment_destroyed: Anhang gelöscht
|
20
21
|
cancel: Abbrechen
|
21
22
|
choose_a_country: Land auswählen
|
@@ -15,6 +15,7 @@ en:
|
|
15
15
|
attachment_class_attached: "%{attachment_class} attached."
|
16
16
|
attachment_class_detached: "%{attachment_class} detached."
|
17
17
|
attachment_destroyed: Attachment destroyed
|
18
|
+
attachment_failed: Failed to attach %{attachment_class}
|
18
19
|
cancel: Cancel
|
19
20
|
choose_a_country: Choose a country
|
20
21
|
choose_an_option: Choose an option
|
@@ -17,6 +17,7 @@ es:
|
|
17
17
|
attachment_class_attached: "%{attachment_class} adjuntado/a."
|
18
18
|
attachment_class_detached: "%{attachment_class} adjuntado/a."
|
19
19
|
attachment_destroyed: Adjunto eliminado
|
20
|
+
attachment_failed: No se pudo adjuntar %{attachment_class}
|
20
21
|
cancel: Cancelar
|
21
22
|
choose_a_country: Elige un país
|
22
23
|
choose_an_option: Elige una opción
|
@@ -17,6 +17,7 @@ fr:
|
|
17
17
|
attachment_class_attached: "%{attachment_class} attaché."
|
18
18
|
attachment_class_detached: "%{attachment_class} détaché."
|
19
19
|
attachment_destroyed: Pièce jointe détruite
|
20
|
+
attachment_failed: Échec de l'ajout de %{attachment_class}
|
20
21
|
cancel: Annuler
|
21
22
|
choose_a_country: Sélectionnez un pays
|
22
23
|
choose_an_option: Sélectionnez une option
|
@@ -16,6 +16,7 @@ it:
|
|
16
16
|
attach_item: Allega %{item}
|
17
17
|
attachment_class_attached: "%{attachment_class} allegato."
|
18
18
|
attachment_class_detached: "%{attachment_class} staccato."
|
19
|
+
attachment_failed: "Impossibile allegare %{attachment_class}"
|
19
20
|
attachment_destroyed: Allegato distrutto
|
20
21
|
cancel: Annulla
|
21
22
|
choose_a_country: Scegli un paese
|
@@ -17,6 +17,7 @@ ja:
|
|
17
17
|
attachment_class_attached: "%{attachment_class}をアタッチしました。"
|
18
18
|
attachment_class_detached: "%{attachment_class}をデタッチしました。"
|
19
19
|
attachment_destroyed: アタッチは削除されました
|
20
|
+
attachment_failed: "%{attachment_class}の添付に失敗しました"
|
20
21
|
cancel: キャンセル
|
21
22
|
choose_a_country: 国を選択
|
22
23
|
choose_an_option: オプションを選択
|
@@ -17,6 +17,7 @@ nb:
|
|
17
17
|
attachment_class_attached: "%{attachment_class} lagt til."
|
18
18
|
attachment_class_detached: "%{attachment_class} fjernet."
|
19
19
|
attachment_destroyed: Vedlett slettet
|
20
|
+
attachment_failed: Kunne ikke legge ved %{attachment_class}
|
20
21
|
cancel: Avbryt
|
21
22
|
choose_a_country: Velg et land
|
22
23
|
choose_an_option: Velg et alternativ
|
@@ -16,6 +16,7 @@ nl:
|
|
16
16
|
attach_item: "%{item} bijvoegen"
|
17
17
|
attachment_class_attached: "%{attachment_class} bijgevoegd."
|
18
18
|
attachment_class_detached: "%{attachment_class} losgekoppeld."
|
19
|
+
attachment_failed: "Kon %{attachment_class} niet bijvoegen"
|
19
20
|
attachment_destroyed: Bijlage verwijderd
|
20
21
|
cancel: Annuleren
|
21
22
|
choose_a_country: Kies een land
|
@@ -17,6 +17,7 @@ nn:
|
|
17
17
|
attachment_class_attached: "%{attachment_class} lagt til."
|
18
18
|
attachment_class_detached: "%{attachment_class} fjerna."
|
19
19
|
attachment_destroyed: Vedlegg sletta
|
20
|
+
attachment_failed: Klarte ikkje å legge ved %{attachment_class}
|
20
21
|
cancel: Avbryt
|
21
22
|
choose_a_country: Vel eit land
|
22
23
|
choose_an_option: Vel eit alternativ
|
@@ -16,6 +16,7 @@ pl:
|
|
16
16
|
attach_item: Załącz %{item}
|
17
17
|
attachment_class_attached: "%{attachment_class} załączony."
|
18
18
|
attachment_class_detached: "%{attachment_class} odłączony."
|
19
|
+
attachment_failed: "Nie udało się dołączyć %{attachment_class}"
|
19
20
|
attachment_destroyed: Załącznik usunięty
|
20
21
|
cancel: Anuluj
|
21
22
|
choose_a_country: Wybierz kraj
|
@@ -17,6 +17,7 @@ pt-BR:
|
|
17
17
|
attachment_class_attached: "%{attachment_class} anexado."
|
18
18
|
attachment_class_detached: "%{attachment_class} separado."
|
19
19
|
attachment_destroyed: Anexo destruído
|
20
|
+
attachment_failed: Não foi possível anexar %{attachment_class}
|
20
21
|
cancel: Cancelar
|
21
22
|
choose_a_country: Escolha um país
|
22
23
|
choose_an_option: Escolha uma opção
|
@@ -17,6 +17,7 @@ pt:
|
|
17
17
|
attachment_class_attached: "%{attachment_class} anexado."
|
18
18
|
attachment_class_detached: "%{attachment_class} separado."
|
19
19
|
attachment_destroyed: Anexo destruído
|
20
|
+
attachment_failed: Não foi possível anexar %{attachment_class}
|
20
21
|
cancel: Cancelar
|
21
22
|
choose_a_country: Escolha um país
|
22
23
|
choose_an_option: Escolha uma opção
|
@@ -18,6 +18,7 @@ ro:
|
|
18
18
|
attachment_class_attached: "%{attachment_class} anexat."
|
19
19
|
attachment_class_detached: "%{attachment_class} separat."
|
20
20
|
attachment_destroyed: Atașamentul a fost distrus
|
21
|
+
attachment_failed: Nu s-a reușit atașarea %{attachment_class}
|
21
22
|
cancel: Anulează
|
22
23
|
choose_a_country: Alege o țară
|
23
24
|
choose_an_option: Alege o opțiune
|
@@ -16,6 +16,7 @@ ru:
|
|
16
16
|
attach_item: Прикрепить %{item}
|
17
17
|
attachment_class_attached: "%{attachment_class} прикреплено."
|
18
18
|
attachment_class_detached: "%{attachment_class} отсоединено."
|
19
|
+
attachment_failed: "Не удалось прикрепить %{attachment_class}"
|
19
20
|
attachment_destroyed: Вложение удалено
|
20
21
|
cancel: Отмена
|
21
22
|
choose_a_country: Выберите страну
|
@@ -17,6 +17,7 @@ tr:
|
|
17
17
|
attachment_class_attached: "%{attachment_class} ilişkilendirildi."
|
18
18
|
attachment_class_detached: "%{attachment_class} ilişkisi kesildi."
|
19
19
|
attachment_destroyed: Ek silindi
|
20
|
+
attachment_failed: "%{attachment_class} eklenemedi"
|
20
21
|
cancel: İptal et
|
21
22
|
choose_a_country: Bir ülke seç
|
22
23
|
choose_an_option: Bir seçenek seç
|
@@ -16,6 +16,7 @@ uk:
|
|
16
16
|
attach_item: Прикріпити %{item}
|
17
17
|
attachment_class_attached: "%{attachment_class} прикріплено."
|
18
18
|
attachment_class_detached: "%{attachment_class} відкріплено."
|
19
|
+
attachment_failed: "Не вдалося прикріпити %{attachment_class}"
|
19
20
|
attachment_destroyed: Вкладення знищено
|
20
21
|
cancel: Скасувати
|
21
22
|
choose_a_country: Виберіть країну
|
@@ -16,6 +16,7 @@ zh:
|
|
16
16
|
attach_item: 附加 %{item}
|
17
17
|
attachment_class_attached: "%{attachment_class} 已附加。"
|
18
18
|
attachment_class_detached: "%{attachment_class} 已分离。"
|
19
|
+
attachment_failed: "无法附加 %{attachment_class}"
|
19
20
|
attachment_destroyed: 附件已删除
|
20
21
|
cancel: 取消
|
21
22
|
choose_a_country: 选择一个国家
|
data/lib/tasks/avo_tasks.rake
CHANGED
@@ -79,7 +79,7 @@ task "avo:sym_link" do
|
|
79
79
|
`touch #{packages_path}/.keep`
|
80
80
|
end
|
81
81
|
|
82
|
-
["avo-advanced", "avo-pro", "avo-dynamic_filters", "avo-dashboards", "avo-menu"].each do |gem|
|
82
|
+
["avo-advanced", "avo-pro", "avo-dynamic_filters", "avo-dashboards", "avo-menu", "avo-kanban"].each do |gem|
|
83
83
|
path = `bundle show #{gem} 2> /dev/null`.chomp
|
84
84
|
|
85
85
|
# If path is emty we check if package is defined outside of root (on release process it is)
|
@@ -3671,7 +3671,7 @@ body[data-theme=dark], body.dark {
|
|
3671
3671
|
text-indent:1em
|
3672
3672
|
}
|
3673
3673
|
|
3674
|
-
/*! tailwindcss v3.4.
|
3674
|
+
/*! tailwindcss v3.4.7 | MIT License | https://tailwindcss.com
|
3675
3675
|
*/
|
3676
3676
|
|
3677
3677
|
/*
|
@@ -7342,10 +7342,18 @@ tag.tagify__tag{
|
|
7342
7342
|
bottom:0px
|
7343
7343
|
}
|
7344
7344
|
|
7345
|
+
.bottom-1{
|
7346
|
+
bottom:0.25rem
|
7347
|
+
}
|
7348
|
+
|
7345
7349
|
.bottom-full{
|
7346
7350
|
bottom:100%
|
7347
7351
|
}
|
7348
7352
|
|
7353
|
+
.end-1{
|
7354
|
+
inset-inline-end:0.25rem
|
7355
|
+
}
|
7356
|
+
|
7349
7357
|
.end-2{
|
7350
7358
|
inset-inline-end:0.5rem
|
7351
7359
|
}
|
@@ -7366,6 +7374,10 @@ tag.tagify__tag{
|
|
7366
7374
|
left:50%
|
7367
7375
|
}
|
7368
7376
|
|
7377
|
+
.left-5{
|
7378
|
+
left:1.25rem
|
7379
|
+
}
|
7380
|
+
|
7369
7381
|
.left-auto{
|
7370
7382
|
left:auto
|
7371
7383
|
}
|
@@ -7378,6 +7390,14 @@ tag.tagify__tag{
|
|
7378
7390
|
right:0.75rem
|
7379
7391
|
}
|
7380
7392
|
|
7393
|
+
.start-1{
|
7394
|
+
inset-inline-start:0.25rem
|
7395
|
+
}
|
7396
|
+
|
7397
|
+
.start-2{
|
7398
|
+
inset-inline-start:0.5rem
|
7399
|
+
}
|
7400
|
+
|
7381
7401
|
.top-0{
|
7382
7402
|
top:0px
|
7383
7403
|
}
|
@@ -7398,6 +7418,10 @@ tag.tagify__tag{
|
|
7398
7418
|
top:0.75rem
|
7399
7419
|
}
|
7400
7420
|
|
7421
|
+
.top-5{
|
7422
|
+
top:1.25rem
|
7423
|
+
}
|
7424
|
+
|
7401
7425
|
.top-\[-1px\]{
|
7402
7426
|
top:-1px
|
7403
7427
|
}
|
@@ -7870,6 +7894,16 @@ tag.tagify__tag{
|
|
7870
7894
|
aspect-ratio:16 / 9
|
7871
7895
|
}
|
7872
7896
|
|
7897
|
+
.size-1{
|
7898
|
+
width:0.25rem;
|
7899
|
+
height:0.25rem
|
7900
|
+
}
|
7901
|
+
|
7902
|
+
.size-2{
|
7903
|
+
width:0.5rem;
|
7904
|
+
height:0.5rem
|
7905
|
+
}
|
7906
|
+
|
7873
7907
|
.size-24{
|
7874
7908
|
width:6rem;
|
7875
7909
|
height:6rem
|
@@ -7910,6 +7944,10 @@ tag.tagify__tag{
|
|
7910
7944
|
height:4rem
|
7911
7945
|
}
|
7912
7946
|
|
7947
|
+
.h-2{
|
7948
|
+
height:0.5rem
|
7949
|
+
}
|
7950
|
+
|
7913
7951
|
.h-20{
|
7914
7952
|
height:5rem
|
7915
7953
|
}
|
@@ -8640,6 +8678,10 @@ tag.tagify__tag{
|
|
8640
8678
|
border-radius:0.25rem
|
8641
8679
|
}
|
8642
8680
|
|
8681
|
+
.rounded-2xl{
|
8682
|
+
border-radius:1rem
|
8683
|
+
}
|
8684
|
+
|
8643
8685
|
.rounded-full{
|
8644
8686
|
border-radius:9999px
|
8645
8687
|
}
|
@@ -8657,7 +8699,7 @@ tag.tagify__tag{
|
|
8657
8699
|
}
|
8658
8700
|
|
8659
8701
|
.rounded-xl{
|
8660
|
-
border-radius:
|
8702
|
+
border-radius:0.75rem
|
8661
8703
|
}
|
8662
8704
|
|
8663
8705
|
.rounded-l{
|
@@ -9830,6 +9872,11 @@ tag.tagify__tag{
|
|
9830
9872
|
filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
|
9831
9873
|
}
|
9832
9874
|
|
9875
|
+
.drop-shadow{
|
9876
|
+
--tw-drop-shadow:drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
|
9877
|
+
filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
|
9878
|
+
}
|
9879
|
+
|
9833
9880
|
.grayscale{
|
9834
9881
|
--tw-grayscale:grayscale(100%);
|
9835
9882
|
filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
|