blacklight-spotlight 3.6.0.beta9 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spotlight/spotlight.esm.js +34 -34
  3. data/app/assets/javascripts/spotlight/spotlight.esm.js.map +1 -1
  4. data/app/assets/javascripts/spotlight/spotlight.js +34 -34
  5. data/app/assets/javascripts/spotlight/spotlight.js.map +1 -1
  6. data/app/assets/stylesheets/spotlight/_blacklight_configuration.scss +0 -8
  7. data/app/assets/stylesheets/spotlight/_blacklight_overrides.scss +2 -1
  8. data/app/assets/stylesheets/spotlight/_bootstrap_overrides.scss +0 -5
  9. data/app/assets/stylesheets/spotlight/_catalog.scss +6 -3
  10. data/app/assets/stylesheets/spotlight/_mixins.scss +2 -1
  11. data/app/assets/stylesheets/spotlight/_pages.scss +2 -1
  12. data/app/assets/stylesheets/spotlight/_report_a_problem.scss +2 -1
  13. data/app/assets/stylesheets/spotlight/_translations.scss +0 -6
  14. data/app/assets/stylesheets/spotlight/_utilities.scss +0 -4
  15. data/app/components/spotlight/document_component.rb +1 -1
  16. data/app/javascript/spotlight/admin/block_mixins/plustextable.js +1 -1
  17. data/app/javascript/spotlight/admin/blocks/browse_block.js +2 -2
  18. data/app/javascript/spotlight/admin/blocks/browse_group_categories_block.js +1 -1
  19. data/app/javascript/spotlight/admin/blocks/oembed_block.js +1 -1
  20. data/app/javascript/spotlight/admin/blocks/resources_block.js +3 -3
  21. data/app/javascript/spotlight/admin/blocks/solr_documents_carousel_block.js +5 -5
  22. data/app/javascript/spotlight/admin/blocks/solr_documents_features_block.js +5 -5
  23. data/app/javascript/spotlight/admin/blocks/uploaded_items_block.js +5 -5
  24. data/app/javascript/spotlight/admin/users.js +6 -6
  25. data/app/javascript/spotlight/user/report_a_problem.js +1 -1
  26. data/app/javascript/spotlight/user/zpr_links.js +3 -3
  27. data/app/models/sir_trevor_rails/blocks/solr_documents_carousel_block.rb +5 -2
  28. data/app/models/spotlight/resources/upload.rb +2 -2
  29. data/app/views/catalog/_add_tags.html.erb +4 -4
  30. data/app/views/catalog/_bulk_actions.html.erb +2 -2
  31. data/app/views/catalog/_change_visibility.html.erb +3 -3
  32. data/app/views/catalog/_remove_tags.html.erb +5 -5
  33. data/app/views/catalog/_save_search.html.erb +5 -5
  34. data/app/views/shared/_curated_features_navbar.html.erb +1 -1
  35. data/app/views/shared/_exhibit_navbar.html.erb +1 -1
  36. data/app/views/shared/_header_navbar.html.erb +1 -1
  37. data/app/views/shared/_user_util_links.html.erb +2 -2
  38. data/app/views/spotlight/admin_users/index.html.erb +6 -6
  39. data/app/views/spotlight/appearances/edit.html.erb +4 -4
  40. data/app/views/spotlight/browse/_search_box.html.erb +2 -2
  41. data/app/views/spotlight/browse/index.html.erb +1 -1
  42. data/app/views/spotlight/browse/show.html.erb +1 -1
  43. data/app/views/spotlight/bulk_updates/_download.html.erb +2 -2
  44. data/app/views/spotlight/bulk_updates/_upload.html.erb +17 -7
  45. data/app/views/spotlight/bulk_updates/edit.html.erb +3 -3
  46. data/app/views/spotlight/catalog/_admin_header.html.erb +1 -1
  47. data/app/views/spotlight/catalog/_curation_mode_toggle_default.html.erb +1 -1
  48. data/app/views/spotlight/catalog/_document_visibility_control.html.erb +1 -1
  49. data/app/views/spotlight/catalog/_edit_default.html.erb +1 -1
  50. data/app/views/spotlight/contacts/_form.html.erb +3 -3
  51. data/app/views/spotlight/custom_fields/_form.html.erb +2 -2
  52. data/app/views/spotlight/custom_fields/form_group/_text.html.erb +3 -3
  53. data/app/views/spotlight/custom_fields/form_group/_vocab.html.erb +3 -3
  54. data/app/views/spotlight/custom_search_fields/_form.html.erb +1 -1
  55. data/app/views/spotlight/dashboards/_analytics.html.erb +2 -2
  56. data/app/views/spotlight/exhibits/_contact.html.erb +1 -1
  57. data/app/views/spotlight/exhibits/_exhibit_card.html.erb +1 -1
  58. data/app/views/spotlight/exhibits/_form.html.erb +4 -4
  59. data/app/views/spotlight/exhibits/_import.html.erb +1 -1
  60. data/app/views/spotlight/exhibits/_languages.html.erb +1 -1
  61. data/app/views/spotlight/exhibits/edit.html.erb +6 -6
  62. data/app/views/spotlight/exhibits/index.html.erb +3 -3
  63. data/app/views/spotlight/featured_images/_form.html.erb +4 -4
  64. data/app/views/spotlight/featured_images/_upload_form.html.erb +3 -3
  65. data/app/views/spotlight/home_pages/_edit_page_link.html.erb +1 -1
  66. data/app/views/spotlight/job_trackers/show.html.erb +3 -3
  67. data/app/views/spotlight/locks/_lock.html.erb +1 -1
  68. data/app/views/spotlight/metadata_configurations/_metadata_field.html.erb +6 -2
  69. data/app/views/spotlight/pages/_edit_page_link.html.erb +1 -1
  70. data/app/views/spotlight/pages/_form.html.erb +8 -8
  71. data/app/views/spotlight/pages/_order_pages.html.erb +1 -1
  72. data/app/views/spotlight/pages/_view_type_group.html.erb +1 -1
  73. data/app/views/spotlight/resources/_external_resources_form.html.erb +1 -0
  74. data/app/views/spotlight/resources/_form.html.erb +1 -1
  75. data/app/views/spotlight/resources/csv_upload/_form.html.erb +1 -1
  76. data/app/views/spotlight/resources/iiif/_form.html.erb +1 -1
  77. data/app/views/spotlight/resources/json_upload/_form.html.erb +1 -1
  78. data/app/views/spotlight/resources/new.html.erb +1 -0
  79. data/app/views/spotlight/resources/upload/_form.html.erb +1 -1
  80. data/app/views/spotlight/roles/index.html.erb +4 -4
  81. data/app/views/spotlight/search_configurations/_default_per_page.html.erb +1 -1
  82. data/app/views/spotlight/search_configurations/_document_index_view_types.html.erb +7 -2
  83. data/app/views/spotlight/search_configurations/_facets.html.erb +1 -1
  84. data/app/views/spotlight/search_configurations/edit.html.erb +3 -3
  85. data/app/views/spotlight/searches/_form.html.erb +6 -6
  86. data/app/views/spotlight/searches/index.html.erb +4 -4
  87. data/app/views/spotlight/shared/_dd3_item.html.erb +2 -2
  88. data/app/views/spotlight/shared/_exhibit_sidebar.html.erb +1 -1
  89. data/app/views/spotlight/shared/_locale_picker.html.erb +1 -1
  90. data/app/views/spotlight/shared/_report_a_problem.html.erb +1 -1
  91. data/app/views/spotlight/sir_trevor/blocks/_browse_group_categories_block.html.erb +2 -2
  92. data/app/views/spotlight/sir_trevor/blocks/_oembed_block.html.erb +1 -1
  93. data/app/views/spotlight/sir_trevor/blocks/_search_results_block.html.erb +1 -1
  94. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_block.html.erb +1 -1
  95. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_carousel_block.html.erb +4 -4
  96. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_embed_block.html.erb +1 -1
  97. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_features_block.html.erb +2 -2
  98. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_grid_block.html.erb +1 -1
  99. data/app/views/spotlight/sir_trevor/blocks/_uploaded_items_block.html.erb +1 -1
  100. data/app/views/spotlight/sites/_exhibit.html.erb +4 -4
  101. data/app/views/spotlight/sites/edit.html.erb +2 -2
  102. data/app/views/spotlight/sites/edit_exhibits.html.erb +4 -4
  103. data/app/views/spotlight/tags/index.html.erb +1 -1
  104. data/app/views/spotlight/translations/_browse_categories.html.erb +8 -8
  105. data/app/views/spotlight/translations/_general.html.erb +18 -18
  106. data/app/views/spotlight/translations/_groups.html.erb +1 -1
  107. data/app/views/spotlight/translations/_import.html.erb +31 -18
  108. data/app/views/spotlight/translations/_metadata.html.erb +6 -6
  109. data/app/views/spotlight/translations/_page.html.erb +1 -1
  110. data/app/views/spotlight/translations/_search_fields.html.erb +9 -9
  111. data/app/views/spotlight/translations/edit.html.erb +6 -6
  112. data/config/locales/spotlight.en.yml +7 -2
  113. data/lib/generators/spotlight/templates/catalog_controller.rb +4 -0
  114. data/lib/spotlight/version.rb +1 -1
  115. data/vendor/assets/javascripts/bootstrap-tagsinput.js +1 -1
  116. data/vendor/assets/javascripts/sir-trevor.js +1 -1
  117. metadata +12 -6
@@ -13,12 +13,12 @@
13
13
  <tr>
14
14
  <td class="<%= 'invite-pending' if user.invite_pending? %>">
15
15
  <%= user.email %>
16
- <span class='badge badge-warning pending-label'><%= t('.pending') %></span>
16
+ <span class='badge badge-warning bg-warning pending-label'><%= t('.pending') %></span>
17
17
  </td>
18
18
  <td>
19
19
  <%= link_to(t('.destroy'), admin_user_path(user),
20
20
  data: { method: :delete, turbo_method: :delete },
21
- class: 'btn btn-sm btn-danger float-right') unless user == current_user %>
21
+ class: 'btn btn-sm btn-danger float-right float-end') unless user == current_user %>
22
22
  </td>
23
23
  </tr>
24
24
  <% end %>
@@ -30,7 +30,7 @@
30
30
  <td>
31
31
  <div class="form-actions">
32
32
  <div class="primary-actions">
33
- <%= cancel_link f.object, '#', class: 'btn-sizing', data: { behavior: 'cancel-edit' } %>
33
+ <%= cancel_link f.object, '#', class: 'btn btn-link', role: 'button', data: { behavior: 'cancel-edit' } %>
34
34
  <%= f.submit t('.save'), class: 'btn btn-primary'%>
35
35
  </div>
36
36
  </div>
@@ -53,7 +53,7 @@
53
53
  <div class="mb-4">
54
54
  <h3 class="instructions"><%= t :'.admins_curators' %></h3>
55
55
  <div id="admins_curators" class="card card-body bg-light">
56
- <div class='btn-toolbar float-right'>
56
+ <div class='btn-toolbar float-right float-end'>
57
57
  <button class="btn btn-sm btn-secondary copy-email-addresses" data-clipboard-target="#admins_curators">
58
58
  <%= t('.copy') %>
59
59
  </button>
@@ -76,12 +76,12 @@
76
76
  <tr>
77
77
  <td class="<%= 'invite-pending' if user.invite_pending? %>">
78
78
  <%= user.email %>
79
- <span class='badge badge-warning pending-label'><%= t('.pending') %></span>
79
+ <span class='badge badge-warning bg-warning pending-label'><%= t('.pending') %></span>
80
80
  </td>
81
81
  <td class="role">
82
82
  <%= user.roles.map { |r| r.role.titleize }.uniq.join(", ") %>
83
83
  </td>
84
- <td class="text-right">
84
+ <td class="text-right text-end">
85
85
  <% if user.superadmin? %>
86
86
  <%= link_to(t('.destroy'), admin_user_path(user),
87
87
  data: { method: :delete, turbo_method: :delete },
@@ -20,20 +20,20 @@
20
20
  <ul class="nav nav-tabs" role="tablist">
21
21
  <% if current_exhibit.themes.many? %>
22
22
  <li role="presentation" class="nav-item">
23
- <a href="#site-theme" aria-controls="site-theme" role="tab" data-toggle="tab" class="nav-link active"><%= t(:'.site_theme.heading') %></a>
23
+ <a href="#site-theme" aria-controls="site-theme" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link active"><%= t(:'.site_theme.heading') %></a>
24
24
  </li>
25
25
  <% end %>
26
26
 
27
27
  <li role="presentation" class="nav-item">
28
- <a href="#site-masthead" aria-controls="site-masthead" role="tab" data-toggle="tab" class="nav-link <%= 'active' unless current_exhibit.themes.many? %>"><%= t(:'.site_masthead.heading') %></a>
28
+ <a href="#site-masthead" aria-controls="site-masthead" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link <%= 'active' unless current_exhibit.themes.many? %>"><%= t(:'.site_masthead.heading') %></a>
29
29
  </li>
30
30
 
31
31
  <li role="presentation" class="nav-item">
32
- <a href="#site-thumbnail" aria-controls="site-thumbnail" role="tab" data-toggle="tab" class="nav-link"><%= t(:'.site_thumbnail.heading') %></a>
32
+ <a href="#site-thumbnail" aria-controls="site-thumbnail" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link"><%= t(:'.site_thumbnail.heading') %></a>
33
33
  </li>
34
34
 
35
35
  <li role="presentation" class="nav-item">
36
- <a href="#main-menu" aria-controls="main-menu" role="tab" data-toggle="tab" class="nav-link"><%= t(:'.main_navigation.menu') %></a>
36
+ <a href="#main-menu" aria-controls="main-menu" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link"><%= t(:'.main_navigation.menu') %></a>
37
37
  </li>
38
38
  </ul>
39
39
  <div class="tab-content">
@@ -1,14 +1,14 @@
1
1
  <div class="search-box-container">
2
2
  <%= form_tag exhibit_browse_path(current_exhibit, search), method: :get, class: 'browse-search-form search-query-form form-horizontal', role: 'search', 'aria-labelledby' => 'browse-search-form' do %>
3
3
  <%= render Blacklight::HiddenSearchStateComponent.new(params: search_state.params_for_search.except(:q, :search_field, :exhibit_id, :qt, :page)) %>
4
- <div class="form-group row">
4
+ <div class="form-group mb-3 row">
5
5
  <label id="browse-search-form" class="col-sm-4 col-form-label h6" for="browse_q"><%= t(:'.label') %></label>
6
6
  <div class="col-sm-6">
7
7
  <div class="input-group">
8
8
  <%= text_field_tag :q, params[:q], placeholder: t(:'.placeholder'), class: "form-control", id: "browse_q" %>
9
9
  <span class="input-group-btn input-group-append">
10
10
  <button class="btn btn-reset btn-sm" type="reset">
11
- <span class="sr-only"><%= t(:'.reset') %></span>
11
+ <span class="sr-only visually-hidden"><%= t(:'.reset') %></span>
12
12
  <%= blacklight_icon('highlight_off') %>
13
13
  </button>
14
14
  <button type="submit" class="btn btn-primary search-btn" id="browse-search">
@@ -1,6 +1,6 @@
1
1
  <% title = current_exhibit.main_navigations.browse.label_or_default %>
2
2
  <% set_html_page_title(title) %>
3
- <h1 class="sr-only"><%= title %></h1>
3
+ <h1 class="sr-only visually-hidden"><%= title %></h1>
4
4
 
5
5
  <% if @groups.any? # active %>
6
6
  <ul class="browse-group-navigation nav nav-pills justify-content-center">
@@ -1,7 +1,7 @@
1
1
  <% set_html_page_title @search.title %>
2
2
  <% render partial: 'tophat' %>
3
3
 
4
- <%= exhibit_edit_link @search, class: 'edit-button float-right btn btn-primary' if can? :edit, @search %>
4
+ <%= exhibit_edit_link @search, class: 'edit-button float-right float-end btn btn-primary' if can? :edit, @search %>
5
5
  <% if resource_masthead? %>
6
6
  <% content_for :masthead do %>
7
7
  <%= render 'search_title', search: @search %>
@@ -3,13 +3,13 @@
3
3
  <%= bootstrap_form_with(url: download_template_exhibit_bulk_updates_path, local: true, target: '_blank') do |f| %>
4
4
  <div class="row">
5
5
  <div class="col col-sm-3">
6
- <%= f.form_group(:reference_fields, label: { text: t('.reference_fields.heading'), class: 'font-weight-bold' }) do %>
6
+ <%= f.form_group(:reference_fields, label: { text: t('.reference_fields.heading'), class: 'font-weight-bold fw-bold mb-3' }) do %>
7
7
  <%= f.check_box('reference_fields[item_id]', label: t('.item_id'), checked: true, disabled: true) %>
8
8
  <%= f.check_box('reference_fields[item_title]', label: t('.item_title')) %>
9
9
  <% end %>
10
10
  </div>
11
11
  <div class="col col-sm-3">
12
- <%= f.form_group(:updatable_fields, label: { text: t('.updatable_fields.heading'), class: 'font-weight-bold' }) do %>
12
+ <%= f.form_group(:updatable_fields, label: { text: t('.updatable_fields.heading'), class: 'font-weight-bold fw-bold mb-3' }) do %>
13
13
  <%= f.check_box('updatable_fields[visibility]', checked: true, label: t('.visibility')) %>
14
14
  <%= f.check_box('updatable_fields[tags]', label: t('.tags')) %>
15
15
  <% end %>
@@ -1,12 +1,22 @@
1
- <p class="instructions"><%= t('.instructions') %></p>
1
+ <p class="instructions mb-4"><%= t('.instructions') %></p>
2
2
 
3
- <%= bootstrap_form_with(url: exhibit_bulk_updates_path, method: :patch, multipart: true, layout: :inline) do |f| %>
4
- <%= f.label :file, t('.file_label'), class: 'col-form-label col-md-3' %>
5
- <%= file_field_tag :file, class: 'form-control', accept: '.csv,text/csv', 'aria-described-by' => 'bulk-update-form-help' %>
6
- <%= f.submit t('.submit'), class: 'btn btn-primary ml-2' %>
3
+ <%= bootstrap_form_with(url: exhibit_bulk_updates_path, method: :patch, html: { multipart: true }) do |f| %>
4
+ <div class="row">
5
+ <div class="col-12 col-md-3 text-md-right text-md-end">
6
+ <%= f.label :file, t('.file_label'), class: 'col-form-label' %>
7
+ </div>
8
+ <div class="col-12 col-md-9">
9
+ <div class="input-group">
10
+ <%= file_field_tag :file, class: 'form-control', accept: '.csv,text/csv', 'aria-described-by': 'bulk-update-form-help' %>
11
+ <div class="input-group-append">
12
+ <%= f.submit t('.submit'), class: 'btn btn-primary' %>
13
+ </div>
14
+ </div>
15
+ </div>
16
+ </div>
7
17
  <% end %>
8
18
  <div class="row">
9
- <div class="offset-md-3">
10
- <p id="bulk-update-form-help" class="form-text text-muted ml-2"><%= t('.form_help') %></p>
19
+ <div class="col-12 col-md-9 offset-md-3">
20
+ <p id="bulk-update-form-help" class="form-text text-muted ml-3"><%= t('.form_help') %></p>
11
21
  </div>
12
22
  </div>
@@ -11,13 +11,13 @@
11
11
  <div role="tabpanel">
12
12
  <ul class="nav nav-tabs" role="tablist">
13
13
  <li role="presentation" class="nav-item">
14
- <a href="#overview" aria-controls="overview" role="tab" data-toggle="tab" class="nav-link active"><%= t(:'.overview.heading') %></a>
14
+ <a href="#overview" aria-controls="overview" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link active"><%= t(:'.overview.heading') %></a>
15
15
  </li>
16
16
  <li role="presentation" class="nav-item">
17
- <a href="#download" aria-controls="download" role="tab" data-toggle="tab" class="nav-link"><%= t(:'.download.heading') %></a>
17
+ <a href="#download" aria-controls="download" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link"><%= t(:'.download.heading') %></a>
18
18
  </li>
19
19
  <li role="presentation" class="nav-item">
20
- <a href="#upload" aria-controls="upload" role="tab" data-toggle="tab" class="nav-link"><%= t(:'.upload.heading') %></a>
20
+ <a href="#upload" aria-controls="upload" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link"><%= t(:'.upload.heading') %></a>
21
21
  </li>
22
22
  </ul>
23
23
 
@@ -3,7 +3,7 @@
3
3
  <%= render 'reindex_progress_panel' %>
4
4
  </div>
5
5
  <div class="add-items-nav clearfix">
6
- <div class="float-right">
6
+ <div class="float-right float-end">
7
7
  <%= link_to t('.reindex'), reindex_all_exhibit_resources_path(current_exhibit),
8
8
  data: { method: :post, turbo_method: :post },
9
9
  class: 'btn btn-secondary' %>
@@ -1 +1 @@
1
- <%= exhibit_edit_link document, [:edit, current_exhibit, document], class: 'float-right btn btn-primary' if can?(:curate, current_exhibit) and !current_page? [:edit, current_exhibit, document] %>
1
+ <%= exhibit_edit_link document, [:edit, current_exhibit, document], class: 'float-right float-end btn btn-primary' if can?(:curate, current_exhibit) and !current_page? [:edit, current_exhibit, document] %>
@@ -13,7 +13,7 @@
13
13
  <div class="checkbox toggle-visibility">
14
14
  <label class="toggle-visibility" data-checkboxsubmit-target="label">
15
15
  <input type="checkbox" class="toggle-visibility" data-checkboxsubmit-target="checkbox" <%= 'checked="checked"' if document.public?(current_exhibit) %>>
16
- <span data-checkboxsubmit-target="span" class="sr-only">
16
+ <span data-checkboxsubmit-target="span" class="sr-only visually-hidden">
17
17
  <%= document.private?(current_exhibit) ? t('.make_public') : t('.make_private') %>
18
18
  </span>
19
19
  </label>
@@ -18,7 +18,7 @@
18
18
  <% end %>
19
19
  <div class="form-actions">
20
20
  <div class="primary-actions">
21
- <%= cancel_link document, spotlight.polymorphic_path([current_exhibit, document]), class: 'btn-sizing' %>
21
+ <%= cancel_link document, spotlight.polymorphic_path([current_exhibit, document]), class: 'btn btn-link', role: 'button' %>
22
22
  <%= f.submit nil, class: 'btn btn-primary' %>
23
23
  </div>
24
24
  </div>
@@ -14,9 +14,9 @@
14
14
  <div>
15
15
  <%= af.radio_button(:source, :remote, label: t(:'.source.remote.label')) %>
16
16
  <%= iiif_upload_tag(af) %>
17
- <small class="form-text text-muted">
17
+ <div class="form-text text-muted mb-3">
18
18
  <%= t(:'.source.remote.help') %>
19
- </small>
19
+ </div>
20
20
  </div>
21
21
 
22
22
  <%= iiif_cropper_tags af, initial_crop_selection: Spotlight::Engine.config.contact_square_size %>
@@ -24,7 +24,7 @@
24
24
  </div>
25
25
  <% end %>
26
26
 
27
- <div class="form-group primary-actions">
27
+ <div class="form-group mb-3 primary-actions">
28
28
  <%= cancel_link @contact, exhibit_about_pages_path(@contact.exhibit) %>
29
29
  <%= f.submit nil, class: 'btn btn-primary' %>
30
30
  </div>
@@ -10,12 +10,12 @@
10
10
  <% end %>
11
11
 
12
12
  <%= f.form_group :field_type, label: { text: t(:'.is_multiple.label') } do %>
13
- <%= f.check_box :is_multiple, disabled: @custom_field.persisted? %>
13
+ <%= f.check_box :is_multiple, layout: :vertical, disabled: @custom_field.persisted? %>
14
14
  <% end %>
15
15
 
16
16
  <div class="form-actions">
17
17
  <div class="primary-actions">
18
- <%= link_to t(:"cancel"), edit_exhibit_metadata_configuration_path(current_exhibit), class: 'btn-sizing' %>
18
+ <%= link_to t(:"cancel"), edit_exhibit_metadata_configuration_path(current_exhibit), class: 'btn btn-link', role: 'button' %>
19
19
  <%= f.submit nil, class: 'btn btn-primary' %>
20
20
  </div>
21
21
  </div>
@@ -3,9 +3,9 @@
3
3
  <% control_col = f&.control_col %>
4
4
  <% offset_col = label_col.sub('col', 'offset') %>
5
5
 
6
- <div class="form-group <%= "row" if inline %>">
6
+ <div class="form-group mb-3 <%= "row" if inline %>">
7
7
  <% Array(value || '').each_with_index do |v, index| %>
8
- <%= f.label field.slug, field.label, namespace: "f#{index}", class: "col-form-label #{label_col if inline} #{'sr-only' if index > 0}" %>
8
+ <%= f.label field.slug, field.label, namespace: "f#{index}", class: "col-form-label #{label_col if inline} #{'sr-only visually-hidden' if index > 0}" %>
9
9
  <div class="mb-3 <%= control_col if inline %>">
10
10
  <%= f.text_area_without_bootstrap field.slug, namespace: "f#{index}",multiple: field.is_multiple?, value: v, class: "form-control field-#{field.slug}", readonly: field.readonly_field? %>
11
11
  </div>
@@ -13,7 +13,7 @@
13
13
 
14
14
  <% if field.is_multiple? && !field.readonly_field? %>
15
15
  <%= content_tag :template, id: "spotlight-field-template-#{field.slug}" do %>
16
- <%= f.label field.slug, field.label, class: "col-form-label #{label_col if inline} sr-only" %>
16
+ <%= f.label field.slug, field.label, class: "col-form-label #{label_col if inline} sr-only visually-hidden" %>
17
17
  <div class="mb-3 <%= "#{offset_col} #{control_col}" if inline %>">
18
18
  <%= f.text_area_without_bootstrap field.slug, multiple: field.is_multiple?, value: nil, class: "form-control field-#{field.slug}" %>
19
19
  </div>
@@ -3,9 +3,9 @@
3
3
  <% control_col = f&.control_col %>
4
4
  <% offset_col = label_col.sub('col', 'offset') %>
5
5
 
6
- <div class="form-group <%= "row" if inline %>">
6
+ <div class="form-group mb-3 <%= "row" if inline %>">
7
7
  <% Array(value || '').each_with_index do |v, index| %>
8
- <%= f.label field.slug, field.label, namespace: "f#{index}", class: "col-form-label #{label_col if inline} #{'sr-only' if index > 0}" %>
8
+ <%= f.label field.slug, field.label, namespace: "f#{index}", class: "col-form-label #{label_col if inline} #{'sr-only visually-hidden' if index > 0}" %>
9
9
  <div class="mb-3 <%= control_col if inline %>">
10
10
  <%= f.text_field_without_bootstrap field.slug, namespace: "f#{index}", multiple: field.is_multiple?, value: v, class: "form-control field-#{field.slug}", readonly: field.readonly_field? %>
11
11
  </div>
@@ -13,7 +13,7 @@
13
13
 
14
14
  <% if field.is_multiple? && !field.readonly_field? %>
15
15
  <%= content_tag :template, id: "spotlight-field-template-#{field.slug}" do %>
16
- <%= f.label field.slug, field.label, class: "col-form-label #{label_col if inline} sr-only" %>
16
+ <%= f.label field.slug, field.label, class: "col-form-label #{label_col if inline} sr-only visually-hidden" %>
17
17
  <div class="mb-3 <%= "#{offset_col} #{control_col}" if inline %>">
18
18
  <%= f.text_field_without_bootstrap field.slug, multiple: field.is_multiple?, value: nil, class: "form-control field-#{field.slug}" %>
19
19
  </div>
@@ -6,7 +6,7 @@
6
6
 
7
7
  <div class="form-actions">
8
8
  <div class="primary-actions">
9
- <%= link_to t(:"cancel"), edit_exhibit_search_configuration_path(current_exhibit), class: 'btn-sizing' %>
9
+ <%= link_to t(:"cancel"), edit_exhibit_search_configuration_path(current_exhibit), class: 'btn btn-link', role: 'button' %>
10
10
  <%= f.submit nil, class: 'btn btn-primary' %>
11
11
  </div>
12
12
  </div>
@@ -21,13 +21,13 @@
21
21
  <thead>
22
22
  <tr>
23
23
  <th><%= t(:".pagetitle") %></th>
24
- <th class="text-right"><%= t(:".pageviews") %></th>
24
+ <th class="text-right text-end"><%= t(:".pageviews") %></th>
25
25
  </tr>
26
26
  </thead>
27
27
  <% page_analytics.each do |p| %>
28
28
  <tr>
29
29
  <td><%= link_to p.pageTitle, p.pagePath %></td>
30
- <td class="text-right"><%= p.pageviews %></td>
30
+ <td class="text-right text-end"><%= p.pageviews %></td>
31
31
  </tr>
32
32
  <% end %>
33
33
  </table>
@@ -3,7 +3,7 @@
3
3
  <div class="col-md-8<%= ' has-error' if contact.object.errors[:email].present? %>">
4
4
  <%= text_field_tag "#{contact.object_name}[email]", contact.object.email, class: 'exhibit-contact form-control', id: "exhibit_contact_email_#{contact.index}", 'aria-label': t('.email_input_aria_label', index: contact.index + 1) %>
5
5
  <% if contact.object.errors[:email].present? %>
6
- <small class="form-text text-muted"><%=contact.object.errors[:email].join(", ".html_safe) %></small>
6
+ <div class="form-text text-muted mb-3"><%=contact.object.errors[:email].join(", ".html_safe) %></div>
7
7
  <% end %>
8
8
  <p>
9
9
  <span class="contact-email-delete-error text-danger bg-danger" style="display: none;"><%= t('.email_delete_error') %> <span class="error-msg"></span></span>
@@ -9,7 +9,7 @@
9
9
  <% end %>
10
10
  <div class="card-img-overlay pb-0">
11
11
  <% unless exhibit.published? %>
12
- <div class="badge badge-warning unpublished"><%= t('.unpublished') %></div>
12
+ <div class="badge badge-warning bg-warning unpublished"><%= t('.unpublished') %></div>
13
13
  <% end %>
14
14
 
15
15
  <%= content_tag :h2, class: 'card-title h5 text-center', aria: { describedby: "exhibit-description-#{exhibit.to_param}" } do %>
@@ -4,16 +4,16 @@
4
4
  <%= f.text_field :subtitle %>
5
5
  <%= f.text_area :description %>
6
6
  <%= f.text_field :tag_list, value: f.object.tag_list.to_s %>
7
- <%= f.form_group(:contact_emails, label: { text: nil, class: nil, for: 'exhibit_contact_email_0' }, help: nil) do %>
8
- <%= f.fields_for :contact_emails do |contact| %>
7
+ <%= f.form_group(:contact_emails, label: { text: nil, class: nil, for: 'exhibit_contact_email_0' }, class: 'form-group mb-3', help: nil) do %>
8
+ <%= f.fields_for :contact_emails do |contact| %>
9
9
  <%= render partial: 'contact', locals: {exhibit: @exhibit, contact: contact} %>
10
10
  <% end %>
11
11
  <button id='another-email' class="btn btn-sm btn-info"><%= t('.add_contact_email_button') %></button>
12
- <small class="form-text text-muted"><%= t(:'.fields.contact_emails.help_block') %></small>
12
+ <div class="form-text text-muted mb-3"><%= t(:'.fields.contact_emails.help_block') %></div>
13
13
  <% end %>
14
14
  <%= f.form_group :published, label: { text: nil, class: 'pt-0' }, help: nil do %>
15
15
  <%= f.check_box :published, label: "" %>
16
- <small class="form-text text-muted"><%= t(:'.fields.published.help_block') %></small>
16
+ <div class="form-text text-muted mb-3"><%= t(:'.fields.published.help_block') %></div>
17
17
  <% end %>
18
18
 
19
19
  <div class="form-actions">
@@ -2,7 +2,7 @@
2
2
  <%= bootstrap_form_for [:import, current_exhibit], html: { class: 'clearfix', multipart: true } do |f| %>
3
3
  <div class="row col-md-12">
4
4
  <p class="instructions"><%= t :'.instructions' %></p>
5
- <div class="form-group">
5
+ <div class="form-group mb-3">
6
6
  <%= file_field_tag :file, class: 'form-control' %>
7
7
  <%= hidden_field_tag :tab, 'import', id: nil %>
8
8
  </div>
@@ -34,7 +34,7 @@
34
34
  <td><%= t("locales.#{language.locale}") %></td>
35
35
  <td class='text-center'>
36
36
  <div class='checkbox'>
37
- <%= languages.label :public, class: 'sr-only' %>
37
+ <%= languages.label :public, class: 'sr-only visually-hidden' %>
38
38
  <%= languages.check_box_without_bootstrap :public %>
39
39
  </div>
40
40
  </td>
@@ -6,31 +6,31 @@
6
6
  <div role="tabpanel">
7
7
  <ul class="nav nav-tabs" role="tablist">
8
8
  <li role="presentation" class="nav-item">
9
- <a href="#basic" aria-controls="basic" role="tab" data-toggle="tab" class="nav-link <%= 'active' if @tab.blank? %>"><%= t(:'.basic_settings.heading') %></a>
9
+ <a href="#basic" aria-controls="basic" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link <%= 'active' if @tab.blank? %>"><%= t(:'.basic_settings.heading') %></a>
10
10
  </li>
11
11
  <% if can? :manage, current_exhibit.languages.first_or_initialize %>
12
12
  <li role="presentation" class="nav-item">
13
- <a href="#language" aria-controls="language" role="tab" data-toggle="tab" class="nav-link <%= 'active' if @tab == 'language' %>"><%= t(:'spotlight.exhibits.languages.heading') %></a>
13
+ <a href="#language" aria-controls="language" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link <%= 'active' if @tab == 'language' %>"><%= t(:'spotlight.exhibits.languages.heading') %></a>
14
14
  </li>
15
15
  <% end %>
16
16
  <% if can? :edit, current_exhibit.filters.first_or_initialize %>
17
17
  <li role="presentation" class="nav-item">
18
- <a href="#filter" aria-controls="filter" role="tab" data-toggle="tab" class="nav-link <%= 'active' if @tab == 'filter' %>"><%= t(:'spotlight.exhibits.filter.heading') %></a>
18
+ <a href="#filter" aria-controls="filter" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link <%= 'active' if @tab == 'filter' %>"><%= t(:'spotlight.exhibits.filter.heading') %></a>
19
19
  </li>
20
20
  <% end %>
21
21
  <% if can? :import, current_exhibit %>
22
22
  <li role="presentation" class="nav-item">
23
- <a href="#import" aria-controls="import" role="tab" data-toggle="tab" class="nav-link <%= 'active' if @tab == 'import' %>"><%= t(:'spotlight.exhibits.import.heading') %></a>
23
+ <a href="#import" aria-controls="import" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link <%= 'active' if @tab == 'import' %>"><%= t(:'spotlight.exhibits.import.heading') %></a>
24
24
  </li>
25
25
  <% end %>
26
26
  <% if can? :export, current_exhibit %>
27
27
  <li role="presentation" class="nav-item">
28
- <a href="#export" aria-controls="export" role="tab" data-toggle="tab" class="nav-link <%= 'active' if @tab == 'import' %>"><%= t(:'spotlight.exhibits.export.heading') %></a>
28
+ <a href="#export" aria-controls="export" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link <%= 'active' if @tab == 'import' %>"><%= t(:'spotlight.exhibits.export.heading') %></a>
29
29
  </li>
30
30
  <% end %>
31
31
  <% if can? :destroy, current_exhibit %>
32
32
  <li role="presentation" class="nav-item">
33
- <a href="#delete" aria-controls="delete" role="tab" data-toggle="tab" class="nav-link"><%= t(:'spotlight.exhibits.delete.heading') %></a>
33
+ <a href="#delete" aria-controls="delete" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link"><%= t(:'spotlight.exhibits.delete.heading') %></a>
34
34
  </li>
35
35
  <% end %>
36
36
  </ul>
@@ -1,11 +1,11 @@
1
1
  <% if (current_user && current_user.exhibits.any?) || can?(:manage, Spotlight::Exhibit) %>
2
2
  <ul class="nav nav-tabs" role="tablist">
3
- <li role="presentation" class="nav-item"><a href="#published" aria-controls="published" role="tab" data-toggle="tab" class="nav-link active"><%= t('.published') %></a></li>
3
+ <li role="presentation" class="nav-item"><a href="#published" aria-controls="published" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link active"><%= t('.published') %></a></li>
4
4
  <% if can?(:manage, Spotlight::Exhibit) && @exhibits.unpublished.accessible_by(current_ability).any? %>
5
- <li role="presentation" class="nav-item"><a href="#unpublished" aria-controls="unpublished" role="tab" data-toggle="tab" class="nav-link"><%= t('.unpublished') %></a></li>
5
+ <li role="presentation" class="nav-item"><a href="#unpublished" aria-controls="unpublished" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link"><%= t('.unpublished') %></a></li>
6
6
  <% end %>
7
7
  <% if current_user && current_user.exhibits.any? %>
8
- <li role="presentation" class="nav-item"><a href="#user" aria-controls="user" role="tab" data-toggle="tab" class="nav-link"><%= t('.user') %></a></li>
8
+ <li role="presentation" class="nav-item"><a href="#user" aria-controls="user" role="tab" data-toggle="tab" data-bs-toggle="tab" class="nav-link"><%= t('.user') %></a></li>
9
9
  <% end %>
10
10
  </ul>
11
11
  <% end %>
@@ -1,6 +1,6 @@
1
1
  <div data-cropper="<%= f.object.model_name.singular_route_key %>" data-form-prefix="<%= form_prefix(f) %>">
2
2
  <%= field_set_tag do %>
3
- <%= f.check_box(:display) %>
3
+ <%= f.check_box(:display, layout: :vertical) %>
4
4
  <% end if f.object.is_a? Spotlight::Masthead %>
5
5
  <%= field_set_tag(t(:'.source.header')) do %>
6
6
  <div>
@@ -18,15 +18,15 @@
18
18
  <div data-panel-image-pagination="true"></div>
19
19
  </div>
20
20
  </div>
21
- <small class="form-text text-muted"><%= t(:'.source.exhibit.help') %></small>
21
+ <div class="form-text text-muted mb-3"><%= t(:'.source.exhibit.help') %></div>
22
22
  </div>
23
23
  </div>
24
24
  <div>
25
25
  <%= f.radio_button(:source, :remote, label: t(:'.source.remote.label')) %>
26
26
  <%= iiif_upload_tag(f) %>
27
- <small class="form-text text-muted">
27
+ <div class="form-text text-muted mb-3">
28
28
  <%= t(:'.source.remote.help') %>
29
- </small>
29
+ </div>
30
30
  </div>
31
31
  <% end %>
32
32
  <%= field_set_tag(t(:'.source.remote.header')) do %>
@@ -1,14 +1,14 @@
1
1
  <div data-cropper="<%= f.object.model_name.singular_route_key %>" data-form-prefix="<%= form_prefix(f) %>">
2
2
  <%= field_set_tag do %>
3
- <%= f.check_box(:display) %>
3
+ <%= f.check_box(:display, layout: :vertical) %>
4
4
  <% end if f.object.is_a? Spotlight::Masthead %>
5
5
  <%= field_set_tag(t(:'.source.header')) do %>
6
6
  <div>
7
7
  <%= f.hidden_field(:source, value: :remote, label: t(:'.source.remote.label')) %>
8
8
  <%= iiif_upload_tag(f) %>
9
- <small class="form-text text-muted">
9
+ <div class="form-text text-muted mb-3">
10
10
  <%= t(:'.source.remote.help') %>
11
- </small>
11
+ </div>
12
12
  </div>
13
13
  <% end %>
14
14
  <%= field_set_tag(t(:'.source.remote.header')) do %>
@@ -1,2 +1,2 @@
1
- <%= exhibit_edit_link @page, spotlight.edit_exhibit_home_page_path(@page.exhibit), class: 'edit-button float-right btn btn-primary',
1
+ <%= exhibit_edit_link @page, spotlight.edit_exhibit_home_page_path(@page.exhibit), class: 'edit-button float-right float-end btn btn-primary',
2
2
  data: { turbolinks: false, turbo: false } %>
@@ -6,10 +6,10 @@
6
6
  <div data-blacklight-modal="container">
7
7
 
8
8
  <div class="modal-header border-0">
9
- <h2 class="modal-title"><%= job_status_icon(@job_tracker) %> <%= t @job_tracker.job_class, default: @job_tracker.job_class %> <small class="text-monospace font-weight-lighter"><%= @job_tracker.job_id&.truncate(8, omission: '') %></small></h2>
9
+ <h2 class="modal-title"><%= job_status_icon(@job_tracker) %> <%= t @job_tracker.job_class, default: @job_tracker.job_class %> <small class="text-monospace font-monospace font-weight-lighter fw-lighter"><%= @job_tracker.job_id&.truncate(8, omission: '') %></small></h2>
10
10
 
11
- <button type="button" class="blacklight-modal-close close" data-dismiss="modal" aria-label="<%= t('blacklight.modal.close') %>">
12
- <span aria-hidden="true">&times;</span>
11
+ <button type="button" class="blacklight-modal-close close btn-close" data-dismiss="modal" data-bs-dismiss="modal" aria-label="<%= t('blacklight.modal.close') %>">
12
+ <span aria-hidden="true" class="visually-hidden">&times;</span>
13
13
  </button>
14
14
  </div>
15
15
 
@@ -1,4 +1,4 @@
1
1
  <p class="alert alert-warning alert-lock">
2
- <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
2
+ <button type="button" class="close btn-close" data-dismiss="alert" data-bs-dismiss="alert"><span aria-hidden="true" class="visually-hidden">&times;</span><span class="sr-only visually-hidden">Close</span></button>
3
3
  <%= t :'spotlight.pages.edit.locked', user: lock.by, created_at: time_ago_in_words(lock.created_at) + " ago"%>
4
4
  </p>
@@ -8,9 +8,13 @@
8
8
  <%= field.hidden_field :label, value: config.display_label, class: 'form-control form-control-sm', data: {:"edit-field-target" => 'true'} %>
9
9
  </div>
10
10
  </td>
11
- <td class="checkbox-cell text-center"><%= field.check_box :show, inline: true, checked: config.show, disabled: !config.immutable.show.nil?, hide_label: true %></td>
11
+ <td class="checkbox-cell text-center">
12
+ <%= field.check_box_without_bootstrap :show, checked: config.show, disabled: !config.immutable.show.nil?, hide_label: true %>
13
+ </td>
12
14
  <% available_view_fields.keys.each do |type| %>
13
- <td class="checkbox-cell text-center"><%= field.check_box type, inline: true, checked: config.send(type), disabled: !config.immutable.send(type).nil?, hide_label: true %></td>
15
+ <td class="checkbox-cell text-center">
16
+ <%= field.check_box_without_bootstrap type, checked: config.send(type), disabled: !config.immutable.send(type).nil?, hide_label: true %>
17
+ </td>
14
18
  <% end %>
15
19
  <% end %>
16
20
  </tr>
@@ -1,2 +1,2 @@
1
- <%= exhibit_edit_link @page, class: 'edit-button float-right btn btn-primary',
1
+ <%= exhibit_edit_link @page, class: 'edit-button float-right float-end btn btn-primary',
2
2
  data: { turbolinks: false, turbo: false } %>
@@ -19,27 +19,27 @@
19
19
  <div role="tabpanel">
20
20
  <ul class="nav nav-tabs" role="tablist">
21
21
  <li role="presentation" class="nav-item">
22
- <a href="#page-content" class="nav-link active" aria-controls="page-content" role="tab" data-toggle="tab"><%= t(:'.page_content') %></a>
22
+ <a href="#page-content" class="nav-link active" aria-controls="page-content" role="tab" data-toggle="tab" data-bs-toggle="tab"><%= t(:'.page_content') %></a>
23
23
  </li>
24
24
 
25
25
  <li role="presentation" class="nav-item">
26
- <a href="#page-options" class="nav-link" aria-controls="page-options" role="tab" data-toggle="tab"><%= t(:'.page_options') %></a>
26
+ <a href="#page-options" class="nav-link" aria-controls="page-options" role="tab" data-toggle="tab" data-bs-toggle="tab"><%= t(:'.page_options') %></a>
27
27
  </li>
28
28
  <% if @page.respond_to? :thumbnail %>
29
29
  <li role="presentation" class="nav-item">
30
- <a href="#page-thumbnail" class="nav-link" aria-controls="page-thumbnail" role="tab" data-toggle="tab"><%= t(:'.page_thumbnail') %></a>
30
+ <a href="#page-thumbnail" class="nav-link" aria-controls="page-thumbnail" role="tab" data-toggle="tab" data-bs-toggle="tab"><%= t(:'.page_thumbnail') %></a>
31
31
  </li>
32
32
  <% end %>
33
33
  </ul>
34
34
 
35
35
  <div class="tab-content">
36
36
  <div role="tabpanel" class="tab-pane active" id="page-content">
37
- <div class="form-group">
38
- <%= f.label :title, class: 'sr-only' %>
37
+ <div class="form-group mb-3">
38
+ <%= f.label :title, class: 'sr-only visually-hidden' %>
39
39
  <%= f.text_field_without_bootstrap :title, class: 'form-control form-control-lg', placeholder: t(:'.title_placeholder') %>
40
40
  </div>
41
- <div class="form-group">
42
- <%= f.label :content, class: 'sr-only' %>
41
+ <div class="form-group mb-3">
42
+ <%= f.label :content, class: 'sr-only visually-hidden' %>
43
43
  <%= f.text_area_without_bootstrap :content, value: { data: f.object.content.as_json }.to_json, class: content_editor_class(f.object), data: { 'block-types': SirTrevorRails::Block.custom_block_types } %>
44
44
  </div>
45
45
  </div>
@@ -61,7 +61,7 @@
61
61
 
62
62
  <div class="form-actions">
63
63
  <div class="primary-actions">
64
- <%= link_to(t('cancel'), :back, data: (@page.lock && @page.lock.current_session? ? { lock: url_for([spotlight, @page.exhibit, @page.lock]) } : {}), class: 'btn-sizing') %>
64
+ <%= link_to(t('cancel'), :back, data: (@page.lock && @page.lock.current_session? ? { lock: url_for([spotlight, @page.exhibit, @page.lock]) } : {}), class: 'btn btn-link', role: 'button') %>
65
65
  <%= f.submit class: 'btn btn-primary' %>
66
66
  </div>
67
67
  </div>
@@ -13,7 +13,7 @@
13
13
  <% end %>
14
14
  </ol>
15
15
  </div>
16
- <div class="form-actions float-right">
16
+ <div class="form-actions float-right float-end">
17
17
  <div class="primary-actions">
18
18
  <%= button_tag action_label(page_collection_name, :update_all), class: "btn btn-primary", disabled: disable_save_pages_button? %>
19
19
  </div>