blacklight 8.11.0 → 9.0.0.beta2
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/.env +3 -3
- data/.github/matrix.json +11 -42
- data/.github/pull_request_template.md +7 -0
- data/.github/workflows/main.yml +0 -2
- data/.github/workflows/release_7_x_scheduled.yml +39 -0
- data/.github/workflows/release_8_x_scheduled.yml +39 -0
- data/.github/workflows/test.yml +0 -5
- data/.rubocop.yml +71 -3
- data/.rubocop_todo.yml +43 -76
- data/.solr_wrapper.yml +2 -0
- data/README.md +30 -8
- data/VERSION +1 -1
- data/app/assets/builds/blacklight.css +452 -0
- data/app/assets/javascripts/blacklight/blacklight.esm.js +6 -76
- data/app/assets/javascripts/blacklight/blacklight.esm.js.map +1 -1
- data/app/assets/javascripts/blacklight/blacklight.js +6 -76
- data/app/assets/javascripts/blacklight/blacklight.js.map +1 -1
- data/app/assets/stylesheets/blacklight/_balanced_list.scss +1 -4
- data/app/assets/stylesheets/blacklight/_blacklight_base.scss +1 -3
- data/app/assets/stylesheets/blacklight/_bookmark.scss +44 -41
- data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +0 -25
- data/app/assets/stylesheets/blacklight/_constraints.scss +15 -24
- data/app/assets/stylesheets/blacklight/_controls.scss +2 -18
- data/app/assets/stylesheets/blacklight/_facets.scss +17 -84
- data/app/assets/stylesheets/blacklight/_group.scss +2 -5
- data/app/assets/stylesheets/blacklight/_header.scss +8 -11
- data/app/assets/stylesheets/blacklight/_icons.scss +0 -8
- data/app/assets/stylesheets/blacklight/_modal.scss +1 -1
- data/app/assets/stylesheets/blacklight/_pagination.scss +0 -4
- data/app/assets/stylesheets/blacklight/_search_form.scss +0 -1
- data/app/assets/stylesheets/blacklight/_search_history.scss +0 -8
- data/app/assets/stylesheets/blacklight/_search_results.scss +1 -15
- data/app/assets/stylesheets/blacklight/blacklight_defaults.scss +9 -14
- data/app/assets/stylesheets/blacklight/build.scss +4 -0
- data/app/components/blacklight/advanced_search_form_component.rb +3 -3
- data/app/components/blacklight/constraint_component.rb +1 -1
- data/app/components/blacklight/constraint_layout_component.html.erb +2 -2
- data/app/components/blacklight/constraints_component.html.erb +2 -2
- data/app/components/blacklight/constraints_component.rb +3 -3
- data/app/components/blacklight/document/bookmark_component.html.erb +3 -3
- data/app/components/blacklight/document/bookmark_component.rb +2 -2
- data/app/components/blacklight/document/group_component.html.erb +1 -1
- data/app/components/blacklight/document/more_like_this_component.rb +2 -2
- data/app/components/blacklight/document/page_header_component.rb +1 -1
- data/app/components/blacklight/document/sidebar_component.rb +5 -5
- data/app/components/blacklight/document/thumbnail_component.html.erb +3 -7
- data/app/components/blacklight/document/thumbnail_component.rb +7 -6
- data/app/components/blacklight/document_component.rb +12 -16
- data/app/components/blacklight/document_title_component.rb +5 -11
- data/app/components/blacklight/facet_field_checkboxes_component.rb +2 -20
- data/app/components/blacklight/facet_field_component.rb +2 -17
- data/app/components/blacklight/facet_field_filter_component.rb +2 -21
- data/app/components/blacklight/facet_field_inclusive_constraint_component.rb +4 -25
- data/app/components/blacklight/facet_field_list_component.rb +2 -50
- data/app/components/blacklight/facet_field_no_layout_component.rb +2 -10
- data/app/components/blacklight/facet_item_component.rb +2 -74
- data/app/components/blacklight/facet_item_pivot_component.rb +3 -3
- data/app/components/blacklight/facets/checkboxes_component.rb +26 -0
- data/app/components/blacklight/facets/count_component.rb +23 -0
- data/app/components/blacklight/{facet_field_component.html.erb → facets/field_component.html.erb} +4 -4
- data/app/components/blacklight/facets/field_component.rb +23 -0
- data/app/components/blacklight/facets/filters_component.html.erb +4 -0
- data/app/components/blacklight/facets/filters_component.rb +27 -0
- data/app/components/blacklight/{facet_field_inclusive_constraint_component.html.erb → facets/inclusive_constraint_component.html.erb} +1 -1
- data/app/components/blacklight/facets/inclusive_constraint_component.rb +31 -0
- data/app/components/blacklight/{facet_field_filter_component.html.erb → facets/index_navigation_component.html.erb} +1 -1
- data/app/components/blacklight/facets/index_navigation_component.rb +32 -0
- data/app/components/blacklight/facets/item_component.rb +73 -0
- data/app/components/blacklight/facets/list_component.html.erb +11 -0
- data/app/components/blacklight/facets/list_component.rb +38 -0
- data/app/components/blacklight/facets/no_layout_component.rb +16 -0
- data/app/components/blacklight/facets/selected_value_component.rb +29 -0
- data/app/components/blacklight/facets/suggest_component.html.erb +12 -0
- data/app/components/blacklight/facets/suggest_component.rb +22 -0
- data/app/components/blacklight/metadata_field_plain_text_layout_component.rb +2 -2
- data/app/components/blacklight/response/facet_group_component.html.erb +3 -18
- data/app/components/blacklight/response/facet_group_component.rb +11 -23
- data/app/components/blacklight/response/facet_toggle_button_component.html.erb +16 -0
- data/app/components/blacklight/response/facet_toggle_button_component.rb +14 -0
- data/app/components/blacklight/response/pagination_component.html.erb +1 -1
- data/app/components/blacklight/response/pagination_component.rb +2 -1
- data/app/components/blacklight/response/sort_component.rb +1 -0
- data/app/components/blacklight/response/view_type_button_component.html.erb +1 -1
- data/app/components/blacklight/response/view_type_component.html.erb +1 -1
- data/app/components/blacklight/search/per_page_component.html.erb +1 -1
- data/app/components/blacklight/search/per_page_component.rb +1 -0
- data/app/components/blacklight/search/sidebar_component.html.erb +1 -1
- data/app/components/blacklight/search/sidebar_component.rb +1 -1
- data/app/components/blacklight/search_bar_component.html.erb +3 -3
- data/app/components/blacklight/search_bar_component.rb +2 -2
- data/app/components/blacklight/search_button_component.rb +2 -2
- data/app/components/blacklight/search_context/server_applied_params_component.html.erb +2 -2
- data/app/components/blacklight/search_context/server_applied_params_component.rb +9 -0
- data/app/components/blacklight/skip_link_component.html.erb +1 -1
- data/app/components/blacklight/skip_link_component.rb +2 -1
- data/app/components/blacklight/top_navbar_component.html.erb +2 -2
- data/app/controllers/concerns/blacklight/bookmarks.rb +3 -3
- data/app/controllers/concerns/blacklight/catalog.rb +9 -23
- data/app/controllers/concerns/blacklight/controller.rb +1 -1
- data/app/controllers/concerns/blacklight/facetable.rb +34 -0
- data/app/controllers/concerns/blacklight/search_context.rb +0 -12
- data/app/controllers/concerns/blacklight/searchable.rb +1 -1
- data/app/helpers/blacklight/blacklight_helper_behavior.rb +0 -6
- data/app/helpers/blacklight/catalog_helper_behavior.rb +0 -10
- data/app/helpers/blacklight/configuration_helper_behavior.rb +2 -14
- data/app/helpers/blacklight/document_helper_behavior.rb +3 -27
- data/app/helpers/blacklight/facets_helper_behavior.rb +9 -0
- data/app/helpers/blacklight/icon_helper_behavior.rb +3 -11
- data/app/helpers/blacklight/layout_helper_behavior.rb +2 -2
- data/app/helpers/blacklight/render_partials_helper_behavior.rb +0 -14
- data/app/helpers/blacklight/url_helper_behavior.rb +1 -1
- data/app/javascript/{blacklight → blacklight-frontend}/bookmark_toggle.js +1 -1
- data/app/javascript/{blacklight → blacklight-frontend}/checkbox_submit.js +3 -0
- data/app/javascript/{blacklight → blacklight-frontend}/core.js +2 -10
- data/app/javascript/{blacklight → blacklight-frontend}/facet_suggest.js +1 -3
- data/app/javascript/blacklight-frontend/index.js +16 -0
- data/app/javascript/{blacklight → blacklight-frontend}/modal.js +1 -5
- data/app/models/concerns/blacklight/document.rb +0 -11
- data/app/models/concerns/blacklight/user.rb +1 -1
- data/app/models/facet_search_builder.rb +5 -0
- data/app/presenters/blacklight/facet_field_presenter.rb +3 -3
- data/app/presenters/blacklight/rendering/helper_method.rb +4 -4
- data/app/presenters/blacklight/rendering/join.rb +2 -2
- data/app/services/blacklight/facet_search_service.rb +44 -0
- data/app/services/blacklight/field_retriever.rb +1 -1
- data/app/services/blacklight/search_params_yaml_coder.rb +0 -2
- data/app/services/blacklight/search_service.rb +6 -6
- data/app/values/blacklight/types.rb +2 -2
- data/app/views/bookmarks/_clear_bookmarks_widget.html.erb +0 -2
- data/app/views/bookmarks/index.html.erb +1 -1
- data/app/views/catalog/_facet_pivot.html.erb +1 -1
- data/app/views/catalog/_home_text.html.erb +2 -2
- data/app/views/catalog/_results_pagination.html.erb +2 -5
- data/app/views/catalog/_search_results.html.erb +3 -3
- data/app/views/catalog/_search_results_header.html.erb +1 -1
- data/app/views/catalog/_sort_and_per_page.html.erb +1 -1
- data/app/views/catalog/_sort_widget.html.erb +1 -0
- data/app/views/catalog/facet.html.erb +4 -6
- data/app/views/catalog/show.html.erb +2 -3
- data/app/views/kaminari/blacklight/_paginator.html.erb +1 -2
- data/app/views/layouts/blacklight/base.html.erb +3 -7
- data/app/views/search_history/index.html.erb +0 -2
- data/blacklight.gemspec +4 -4
- data/config/importmap.rb +1 -1
- data/config/locales/blacklight.ar.yml +2 -2
- data/config/locales/blacklight.ca.yml +124 -124
- data/config/locales/blacklight.de.yml +2 -2
- data/config/locales/blacklight.en.yml +14 -14
- data/config/locales/blacklight.es.yml +2 -2
- data/config/locales/blacklight.fr.yml +2 -2
- data/config/locales/blacklight.hu.yml +2 -2
- data/config/locales/blacklight.it.yml +1 -1
- data/config/locales/blacklight.nl.yml +2 -2
- data/config/locales/blacklight.pt-BR.yml +1 -1
- data/config/locales/blacklight.sq.yml +2 -2
- data/config/locales/blacklight.zh.yml +2 -2
- data/lib/blacklight/abstract_repository.rb +2 -2
- data/lib/blacklight/abstract_search_builder.rb +154 -0
- data/lib/blacklight/configuration/context.rb +3 -3
- data/lib/blacklight/configuration/display_field.rb +1 -1
- data/lib/blacklight/configuration/facet_field.rb +6 -6
- data/lib/blacklight/configuration/field.rb +4 -4
- data/lib/blacklight/configuration/fields.rb +3 -4
- data/lib/blacklight/configuration/search_field.rb +1 -1
- data/lib/blacklight/configuration/view_config.rb +2 -4
- data/lib/blacklight/configuration.rb +11 -18
- data/lib/blacklight/engine.rb +0 -6
- data/lib/blacklight/facet_search_builder.rb +18 -0
- data/lib/blacklight/nested_open_struct_with_hash_access.rb +1 -1
- data/lib/blacklight/open_struct_with_hash_access.rb +5 -5
- data/lib/blacklight/search_builder.rb +1 -159
- data/lib/blacklight/search_state/filter_field.rb +2 -2
- data/lib/blacklight/search_state/pivot_filter_field.rb +4 -4
- data/lib/blacklight/solr/abstract_filter_query_builder.rb +77 -0
- data/lib/blacklight/solr/default_filter_query_builder.rb +20 -0
- data/lib/blacklight/solr/facet_search_builder_behavior.rb +62 -0
- data/lib/blacklight/solr/repository.rb +8 -9
- data/lib/blacklight/solr/request.rb +1 -7
- data/lib/blacklight/solr/response/facets.rb +2 -2
- data/lib/blacklight/solr/response/group_response.rb +2 -2
- data/lib/blacklight/solr/response/params.rb +0 -4
- data/lib/blacklight/solr/response.rb +5 -1
- data/lib/blacklight/solr/search_builder_behavior.rb +17 -132
- data/lib/blacklight.rb +2 -2
- data/lib/generators/blacklight/assets/importmap_generator.rb +6 -24
- data/lib/generators/blacklight/assets/propshaft_generator.rb +1 -1
- data/lib/generators/blacklight/assets_generator.rb +3 -3
- data/lib/generators/blacklight/controller_generator.rb +3 -3
- data/lib/generators/blacklight/search_builder_generator.rb +1 -1
- data/lib/generators/blacklight/templates/.solr_wrapper.yml +2 -0
- data/lib/generators/blacklight/templates/catalog_controller.rb +3 -1
- data/lib/generators/blacklight/templates/solr/conf/solrconfig.xml +0 -4
- data/lib/generators/blacklight/user_generator.rb +9 -10
- data/package.json +15 -5
- data/rollup.config.js +1 -1
- data/spec/components/blacklight/advanced_search_form_component_spec.rb +18 -22
- data/spec/components/blacklight/constraint_layout_component_spec.rb +8 -8
- data/spec/components/blacklight/constraints_component_spec.rb +11 -11
- data/spec/components/blacklight/document/action_component_spec.rb +21 -17
- data/spec/components/blacklight/document/group_component_spec.rb +10 -15
- data/spec/components/blacklight/document/page_header_component_spec.rb +35 -28
- data/spec/components/blacklight/document/sidebar_component_spec.rb +9 -30
- data/spec/components/blacklight/document_component_spec.rb +98 -65
- data/spec/components/blacklight/facet_component_spec.rb +12 -8
- data/spec/components/blacklight/facet_item_pivot_component_spec.rb +12 -12
- data/spec/components/blacklight/{facet_field_checkboxes_component_spec.rb → facets/checkboxes_component_spec.rb} +14 -14
- data/spec/components/blacklight/facets/filters_component_spec.rb +36 -0
- data/spec/components/blacklight/facets/index_navigation_component_spec.rb +40 -0
- data/spec/components/blacklight/{facet_item_component_spec.rb → facets/item_component_spec.rb} +10 -10
- data/spec/components/blacklight/{facet_field_list_component_spec.rb → facets/list_component_spec.rb} +24 -24
- data/spec/components/blacklight/facets/suggest_component_spec.rb +68 -0
- data/spec/components/blacklight/header_component_spec.rb +2 -4
- data/spec/components/blacklight/hidden_search_state_component_spec.rb +7 -7
- data/spec/components/blacklight/metadata_field_component_spec.rb +17 -15
- data/spec/components/blacklight/response/facet_group_component_spec.rb +37 -0
- data/spec/components/blacklight/response/pagination_component_spec.rb +1 -1
- data/spec/components/blacklight/response/spellcheck_component_spec.rb +1 -1
- data/spec/components/blacklight/search_bar_component_spec.rb +5 -5
- data/spec/components/blacklight/search_context/server_applied_params_component_spec.rb +2 -2
- data/spec/components/blacklight/search_context/server_item_pagination_component_spec.rb +3 -5
- data/spec/components/blacklight/skip_link_component_spec.rb +8 -11
- data/spec/components/blacklight/start_over_button_component_spec.rb +4 -4
- data/spec/components/blacklight/system/flash_message_component_spec.rb +7 -11
- data/spec/controllers/catalog_controller_spec.rb +11 -19
- data/spec/features/axe_spec.rb +6 -11
- data/spec/features/bookmarks_spec.rb +48 -11
- data/spec/features/facets_spec.rb +58 -63
- data/spec/features/search_context_spec.rb +1 -2
- data/spec/features/search_filters_spec.rb +6 -6
- data/spec/helpers/blacklight/configuration_helper_behavior_spec.rb +0 -9
- data/spec/helpers/blacklight/facets_helper_behavior_spec.rb +10 -0
- data/spec/helpers/blacklight/render_partials_helper_behavior_spec.rb +1 -1
- data/spec/lib/blacklight/configuration/facet_field_spec.rb +2 -2
- data/spec/models/blacklight/configuration_spec.rb +32 -28
- data/spec/models/blacklight/facet_search_builder_spec.rb +19 -0
- data/spec/models/blacklight/search_builder_spec.rb +1 -11
- data/spec/models/blacklight/solr/default_filter_query_builder_spec.rb +72 -0
- data/spec/models/blacklight/solr/document_spec.rb +0 -4
- data/spec/models/blacklight/solr/facet_search_builder_behavior_spec.rb +929 -0
- data/spec/models/blacklight/solr/repository_spec.rb +31 -29
- data/spec/models/blacklight/solr/request_spec.rb +7 -0
- data/spec/models/blacklight/solr/response/facets_spec.rb +86 -40
- data/spec/models/blacklight/solr/response/group_response_spec.rb +8 -5
- data/spec/models/blacklight/solr/response/group_spec.rb +9 -5
- data/spec/models/blacklight/solr/response_spec.rb +96 -64
- data/spec/models/blacklight/solr/search_builder_behavior_spec.rb +2 -227
- data/spec/models/solr_document_spec.rb +5 -1
- data/spec/services/blacklight/search_service_spec.rb +5 -26
- data/spec/spec_helper.rb +0 -1
- data/spec/support/view_component_test_helpers.rb +0 -18
- data/spec/views/catalog/facet.html.erb_spec.rb +10 -11
- data/spec/views/catalog/index.atom.builder_spec.rb +6 -3
- data/spec/views/catalog/index.html.erb_spec.rb +8 -3
- data/spec/views/catalog/show.html.erb_spec.rb +1 -0
- data/tasks/blacklight.rake +8 -5
- metadata +76 -81
- data/app/assets/stylesheets/blacklight/_autocomplete.scss +0 -25
- data/app/assets/stylesheets/blacklight/_mixins.scss +0 -20
- data/app/components/blacklight/facet_field_list_component.html.erb +0 -19
- data/app/components/blacklight/icons/legacy_icon_component.rb +0 -30
- data/app/components/blacklight/search/facet_suggest_input.html.erb +0 -12
- data/app/components/blacklight/search/facet_suggest_input.rb +0 -20
- data/app/javascript/blacklight/index.js +0 -18
- data/app/javascript/blacklight/modalForm.js +0 -60
- data/app/views/catalog/_constraints.html.erb +0 -1
- data/app/views/catalog/_facet_index_navigation.html.erb +0 -1
- data/app/views/catalog/_facet_layout.html.erb +0 -8
- data/app/views/catalog/_facet_pagination.html.erb +0 -1
- data/app/views/catalog/_facets.html.erb +0 -5
- data/app/views/catalog/_search_form.html.erb +0 -7
- data/app/views/catalog/_search_header.html.erb +0 -1
- data/app/views/catalog/_show_sidebar.html.erb +0 -3
- data/app/views/catalog/_show_tools.html.erb +0 -2
- data/app/views/catalog/_start_over.html.erb +0 -1
- data/app/views/shared/_header_navbar.html.erb +0 -1
- data/lib/generators/blacklight/assets/sprockets_generator.rb +0 -68
- data/spec/components/blacklight/document_metadata_component_spec.rb +0 -0
- data/spec/components/blacklight/search/facet_suggest_input_spec.rb +0 -57
- data/spec/views/catalog/_facet_index_navigation.html.erb_spec.rb +0 -43
- data/spec/views/catalog/_facet_layout.html.erb_spec.rb +0 -41
- data/spec/views/catalog/_search_header.erb_spec.rb +0 -14
- data/spec/views/catalog/_show_sidebar.erb_spec.rb +0 -24
- data/spec/views/catalog/_show_tools.html.erb_spec.rb +0 -37
- /data/app/components/blacklight/{facet_field_checkboxes_component.html.erb → facets/checkboxes_component.html.erb} +0 -0
- /data/app/javascript/{blacklight → blacklight-frontend}/button_focus.js +0 -0
- /data/app/javascript/{blacklight → blacklight-frontend}/debounce.js +0 -0
- /data/app/javascript/{blacklight → blacklight-frontend}/search_context.js +0 -0
@@ -1,41 +1,32 @@
|
|
1
1
|
.constraints-container {
|
2
|
-
@extend .mb-2;
|
3
2
|
display: flex;
|
4
3
|
flex-wrap: wrap;
|
5
4
|
gap: 0.5rem 0.25rem;
|
6
5
|
}
|
7
6
|
|
8
7
|
.applied-filter {
|
9
|
-
|
8
|
+
--separator-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'%3e%3cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
|
10
9
|
|
11
10
|
.constraint-value {
|
12
11
|
cursor: default;
|
13
12
|
text-overflow: ellipsis;
|
14
13
|
overflow: hidden;
|
15
14
|
white-space: nowrap;
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
15
|
+
max-width: clamp(288px, calc(30vw), 500px);
|
16
|
+
|
17
|
+
.filter-name:after {
|
18
|
+
background-color: var(--bs-btn-color);
|
19
|
+
content: "";
|
20
|
+
mask: var(--separator-icon);
|
21
|
+
mask-repeat: no-repeat;
|
22
|
+
display: inline-block;
|
23
|
+
height: 1.1rem;
|
24
|
+
width: 1.25rem;
|
25
|
+
vertical-align: text-bottom;
|
26
|
+
margin-right: -0.2rem;
|
27
|
+
margin-left: 0.25rem;
|
28
|
+
transition: background-color 0.15s ease-in-out;
|
27
29
|
}
|
28
|
-
|
29
|
-
@media (min-width: breakpoint-min(lg)) {
|
30
|
-
max-width: breakpoint-min(lg) * 0.5;
|
31
|
-
}
|
32
|
-
}
|
33
|
-
|
34
|
-
.filter-name:after {
|
35
|
-
color: $gray-500;
|
36
|
-
content: "❯";
|
37
|
-
font-size: 90%;
|
38
|
-
padding-left: $caret-width;
|
39
30
|
}
|
40
31
|
|
41
32
|
.remove {
|
@@ -1,21 +1,10 @@
|
|
1
1
|
.search-widgets {
|
2
2
|
display: flex;
|
3
|
-
|
4
|
-
> * {
|
5
|
-
@extend .mx-1;
|
6
|
-
}
|
7
3
|
}
|
8
4
|
|
9
5
|
.sort-pagination,
|
10
6
|
.pagination-search-widgets {
|
11
|
-
border-bottom:
|
12
|
-
margin-bottom: 1em;
|
13
|
-
padding-bottom: 1em;
|
14
|
-
}
|
15
|
-
|
16
|
-
.pagination-search-widgets {
|
17
|
-
padding-top: 1px;
|
18
|
-
padding-bottom: $spacer;
|
7
|
+
border-bottom: var(--bs-border-width) solid var(--bs-border-color);
|
19
8
|
}
|
20
9
|
|
21
10
|
.sort-pagination .dropdown-toggle {
|
@@ -25,18 +14,13 @@
|
|
25
14
|
.no-js {
|
26
15
|
.btn-group:focus-within {
|
27
16
|
.dropdown-menu {
|
28
|
-
|
17
|
+
display: block; /* show menu when tabbing to it, without Javascript */
|
29
18
|
}
|
30
19
|
}
|
31
20
|
}
|
32
21
|
|
33
22
|
.view-type {
|
34
23
|
display: inline-block;
|
35
|
-
|
36
|
-
.caption {
|
37
|
-
@extend .sr-only !optional;
|
38
|
-
@extend .visually-hidden !optional;
|
39
|
-
}
|
40
24
|
}
|
41
25
|
|
42
26
|
.modal_form {
|
@@ -1,18 +1,12 @@
|
|
1
1
|
.sidenav {
|
2
|
-
--bl-facet-active-bg:
|
3
|
-
--bl-facet-active-item-color:
|
4
|
-
--bl-facet-margin-bottom: #{$spacer};
|
2
|
+
--bl-facet-active-bg: var(--bs-success);
|
3
|
+
--bl-facet-active-item-color: var(--bs-success);
|
5
4
|
--bl-facet-remove-color: var(--bs-secondary-color);
|
5
|
+
--bl-facet-remove-hover-color: var(--bs-danger);
|
6
6
|
--bl-facet-label-indent: -15px;
|
7
7
|
--bl-facet-label-padding-left: 15px;
|
8
|
-
|
9
|
-
--bl-facet-
|
10
|
-
|
11
|
-
--bl-facets-smallish-padding: 0.25rem;
|
12
|
-
--bl-facets-smallish-border: var(--bs-border-width) solid
|
13
|
-
var(--bs-border-color);
|
14
|
-
--bl-facets-smallish-margin-bottom: #{$spacer};
|
15
|
-
--bl-facets-smallish-border-radius: #{$border-radius};
|
8
|
+
--bl-facet-header-padding-y: 0.5rem;
|
9
|
+
--bl-facet-value-padding-y: 0.2rem;
|
16
10
|
|
17
11
|
.facet-toggle-button {
|
18
12
|
[data-hide-label] {
|
@@ -33,34 +27,6 @@
|
|
33
27
|
}
|
34
28
|
}
|
35
29
|
|
36
|
-
.facets-toggleable {
|
37
|
-
@each $breakpoint in map-keys($grid-breakpoints) {
|
38
|
-
$next: breakpoint-next($breakpoint, $grid-breakpoints);
|
39
|
-
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
40
|
-
|
41
|
-
&#{$infix} {
|
42
|
-
@include media-breakpoint-down($next) {
|
43
|
-
border: var(--bl-facets-smallish-border);
|
44
|
-
padding: var(--bl-facets-smallish-padding);
|
45
|
-
margin-bottom: var(--bl-facets-smallish-margin-bottom);
|
46
|
-
border-radius: var(--bl-facets-smallish-border-radius);
|
47
|
-
}
|
48
|
-
@include media-breakpoint-up($next) {
|
49
|
-
// scss-lint:disable ImportantRule
|
50
|
-
.facets-collapse {
|
51
|
-
display: block !important;
|
52
|
-
width: 100%;
|
53
|
-
}
|
54
|
-
// scss-lint:enable ImportantRule
|
55
|
-
|
56
|
-
.navbar-toggler {
|
57
|
-
display: none;
|
58
|
-
}
|
59
|
-
}
|
60
|
-
}
|
61
|
-
}
|
62
|
-
}
|
63
|
-
|
64
30
|
.no-js {
|
65
31
|
@include media-breakpoint-down(lg) {
|
66
32
|
#sidebar {
|
@@ -88,49 +54,25 @@
|
|
88
54
|
.facets-header {
|
89
55
|
display: flex;
|
90
56
|
justify-content: space-between;
|
91
|
-
padding-
|
92
|
-
padding-top: 0.5rem;
|
57
|
+
padding-block: var(--bl-facet-header-padding-y);
|
93
58
|
}
|
94
59
|
|
95
60
|
.facets-heading {
|
96
|
-
@extend .h4;
|
97
61
|
line-height: inherit;
|
98
62
|
}
|
99
63
|
|
100
64
|
.facet-limit {
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
padding: var(--bl-facet-limit-body-padding);
|
105
|
-
}
|
106
|
-
|
107
|
-
/* Provide a focus ring on the expand/collapse button */
|
108
|
-
.btn {
|
109
|
-
--bs-btn-focus-shadow-rgb: 50, 50, 50;
|
110
|
-
&:focus-visible {
|
111
|
-
border-color: var(--bs-btn-hover-border-color);
|
112
|
-
outline: 0;
|
113
|
-
box-shadow: var(--bs-btn-focus-box-shadow);
|
114
|
-
}
|
115
|
-
}
|
65
|
+
--bs-accordion-btn-bg: var(--bs-gray-100);
|
66
|
+
--bs-btn-hover-bg: var(--bs-gray-200);
|
67
|
+
--bs-accordion-active-bg: var(--bs-accordion-btn-bg);
|
116
68
|
}
|
117
69
|
|
118
70
|
.facet-limit-active {
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
.btn {
|
125
|
-
@if function-exists(color-contrast) {
|
126
|
-
color: color-contrast($facet-active-bg);
|
127
|
-
}
|
128
|
-
|
129
|
-
@if function-exists(color-yiq) {
|
130
|
-
color: color-yiq($facet-active-bg);
|
131
|
-
}
|
132
|
-
}
|
133
|
-
}
|
71
|
+
--bs-accordion-btn-bg: var(--bl-facet-active-bg);
|
72
|
+
--bs-btn-hover-bg: var(--bs-accordion-btn-bg);
|
73
|
+
--bs-accordion-btn-color: var(--bs-light);
|
74
|
+
--bs-btn-hover-color: var(--bs-accordion-btn-color);
|
75
|
+
--bs-accordion-active-color: var(--bs-accordion-btn-color);
|
134
76
|
}
|
135
77
|
|
136
78
|
.facet-values {
|
@@ -143,9 +85,9 @@
|
|
143
85
|
li {
|
144
86
|
display: flex;
|
145
87
|
align-items: flex-start;
|
146
|
-
padding:
|
88
|
+
padding-block: var(--bl-facet-value-padding-y);
|
147
89
|
|
148
|
-
|
90
|
+
&.treeitem {
|
149
91
|
display: block;
|
150
92
|
}
|
151
93
|
|
@@ -157,11 +99,10 @@
|
|
157
99
|
.remove {
|
158
100
|
color: var(--bl-facet-remove-color);
|
159
101
|
font-weight: bold;
|
160
|
-
padding-left: $spacer * 0.5;
|
161
102
|
text-decoration: none;
|
162
103
|
|
163
104
|
&:hover {
|
164
|
-
color:
|
105
|
+
color: var(--bl-facet-remove-hover-color);
|
165
106
|
text-decoration: none;
|
166
107
|
}
|
167
108
|
}
|
@@ -194,8 +135,6 @@
|
|
194
135
|
}
|
195
136
|
|
196
137
|
.facet-field-heading {
|
197
|
-
@extend .h6;
|
198
|
-
|
199
138
|
a {
|
200
139
|
color: inherit;
|
201
140
|
}
|
@@ -266,9 +205,3 @@ $facet-toggle-height: $facet-toggle-width !default;
|
|
266
205
|
$facet-toggle-width auto no-repeat;
|
267
206
|
}
|
268
207
|
}
|
269
|
-
|
270
|
-
/* Facet browse pages & modals
|
271
|
-
-------------------------------------------------- */
|
272
|
-
.facet-filters:not(:has(*)) {
|
273
|
-
display: none !important;
|
274
|
-
}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
.group-key {
|
2
|
-
border-
|
2
|
+
--bl-border-color: var(--bs-gray-600);
|
3
|
+
border-bottom: 1px solid var(--bl-border-color);
|
3
4
|
clear: right;
|
4
5
|
}
|
5
6
|
|
@@ -8,7 +9,3 @@
|
|
8
9
|
border-bottom: 0;
|
9
10
|
}
|
10
11
|
}
|
11
|
-
|
12
|
-
.more-in-group {
|
13
|
-
float: right;
|
14
|
-
}
|
@@ -2,17 +2,19 @@
|
|
2
2
|
Header bar at top (Bootstrap nav-bar)
|
3
3
|
*/
|
4
4
|
|
5
|
+
.navbar.bg-dark {
|
6
|
+
--bs-emphasis-color-rgb: 255, 255, 255;
|
7
|
+
}
|
8
|
+
|
5
9
|
.navbar-logo {
|
6
10
|
/* The main logo image for the Blacklight instance */
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
}
|
11
|
-
height: $logo-height;
|
11
|
+
background: transparent var(--bl-logo-image) no-repeat top left;
|
12
|
+
background-size: var(--bl-logo-width) var(--bl-logo-height);
|
13
|
+
height: var(--bl-logo-height);
|
12
14
|
overflow: hidden;
|
13
15
|
text-indent: 100%;
|
14
16
|
white-space: nowrap;
|
15
|
-
width:
|
17
|
+
width: var(--bl-logo-width);
|
16
18
|
}
|
17
19
|
|
18
20
|
.navbar-search {
|
@@ -26,9 +28,4 @@
|
|
26
28
|
// This prevents the widget from being squished so the text overflows
|
27
29
|
min-width: 7em;
|
28
30
|
}
|
29
|
-
|
30
|
-
.search-query-form {
|
31
|
-
@extend .col-md-12;
|
32
|
-
@extend .col-lg-8;
|
33
|
-
}
|
34
31
|
}
|
@@ -15,7 +15,7 @@
|
|
15
15
|
// app/views/catalog/facet.html.erb may be rendered as a modal or a whole page.
|
16
16
|
// When it's a whole page, don't show the close button.
|
17
17
|
.blacklight-modal-close {
|
18
|
-
|
18
|
+
display: none;
|
19
19
|
}
|
20
20
|
|
21
21
|
// When modal content is rendered outside of a modal, Bootstrap css variables like
|
@@ -5,28 +5,14 @@
|
|
5
5
|
|
6
6
|
.document {
|
7
7
|
display: flex;
|
8
|
-
border-bottom: 1px dotted
|
8
|
+
border-bottom: 1px dotted var(--bs-border-color);
|
9
9
|
margin-top: var(--bl-results-document-margin-top);
|
10
10
|
padding-top: var(--bl-results-document-padding-top);
|
11
11
|
|
12
|
-
.document-title-heading {
|
13
|
-
@extend h5;
|
14
|
-
}
|
15
|
-
|
16
12
|
.document-main-section {
|
17
13
|
flex-grow: 1;
|
18
14
|
}
|
19
15
|
|
20
|
-
// bookmarks checkbox on index, give it some
|
21
|
-
// lower margin when it collapses
|
22
|
-
.index-document-functions {
|
23
|
-
margin-bottom: ($spacer * 1.5);
|
24
|
-
|
25
|
-
@media (min-width: breakpoint-min(sm)) {
|
26
|
-
margin-bottom: 0;
|
27
|
-
}
|
28
|
-
}
|
29
|
-
|
30
16
|
.document-thumbnail {
|
31
17
|
flex-grow: 0;
|
32
18
|
margin-bottom: ($spacer * 3);
|
@@ -1,18 +1,13 @@
|
|
1
|
-
/* Warning! If you want to change these, just copy them into your own theme css. But you want to remove the !default, which only will set them if not already set. */
|
2
|
-
|
3
|
-
$logo-image: image_url("blacklight/logo.png") !default;
|
4
|
-
$logo-width: 150px !default;
|
5
|
-
$logo-height: 50px !default;
|
6
|
-
|
7
|
-
$facet-active-border: $success !default;
|
8
|
-
$facet-active-bg: $success !default;
|
9
|
-
$facet-active-item-color: $success !default;
|
10
|
-
|
11
|
-
/* for compatability with BS < 5.3 */
|
12
|
-
$body-secondary-color: rgba($body-color, 0.75) !default;
|
13
|
-
|
14
1
|
:root {
|
15
|
-
--
|
2
|
+
--bl-logo-image: url("blacklight/logo.png");
|
3
|
+
--bl-logo-width: 150px;
|
4
|
+
--bl-logo-height: 50px;
|
5
|
+
--bs-secondary-color: rgba(
|
6
|
+
33,
|
7
|
+
37,
|
8
|
+
41,
|
9
|
+
0.75
|
10
|
+
); /* for compatability with BS < 5.3 */
|
16
11
|
|
17
12
|
--bl-main-padding-y: 0.5rem;
|
18
13
|
|
@@ -11,8 +11,8 @@ module Blacklight
|
|
11
11
|
component.new(facet_field: presenter, **kwargs)
|
12
12
|
end)
|
13
13
|
|
14
|
-
def initialize(response:, **
|
15
|
-
super(**
|
14
|
+
def initialize(response:, **)
|
15
|
+
super(**)
|
16
16
|
@response = response
|
17
17
|
end
|
18
18
|
|
@@ -24,7 +24,7 @@ module Blacklight
|
|
24
24
|
|
25
25
|
def default_operator_menu
|
26
26
|
options_with_labels = [:must, :should].index_by { |op| t(op, scope: 'blacklight.advanced_search.op') }
|
27
|
-
label_tag(:op, t('blacklight.advanced_search.op.label'), class: '
|
27
|
+
label_tag(:op, t('blacklight.advanced_search.op.label'), class: 'visually-hidden') + select_tag(:op, options_for_select(options_with_labels, params[:op]), class: 'input-small')
|
28
28
|
end
|
29
29
|
|
30
30
|
def sort_fields_select
|
@@ -4,7 +4,7 @@ module Blacklight
|
|
4
4
|
class ConstraintComponent < Blacklight::Component
|
5
5
|
with_collection_parameter :facet_item_presenter
|
6
6
|
|
7
|
-
def initialize(facet_item_presenter:, classes:
|
7
|
+
def initialize(facet_item_presenter:, classes: %w[filter mx-1], layout: Blacklight::ConstraintLayoutComponent)
|
8
8
|
@facet_item_presenter = facet_item_presenter
|
9
9
|
@classes = classes
|
10
10
|
@layout = layout
|
@@ -9,8 +9,8 @@
|
|
9
9
|
</span>
|
10
10
|
<% if @remove_path.present? %>
|
11
11
|
<%= link_to(@remove_path, class: 'btn btn-outline-secondary remove') do %>
|
12
|
-
<%= render Blacklight::Icons::RemoveComponent.new %>
|
13
|
-
<span class="
|
12
|
+
<%= render Blacklight::Icons::RemoveComponent.new(aria_hidden: true) %>
|
13
|
+
<span class="visually-hidden"><%= remove_aria_label %></span>
|
14
14
|
<% end %>
|
15
15
|
<% end %>
|
16
16
|
</span>
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<%= content_tag @tag || :div, id: @id, class: @classes do %>
|
2
2
|
<% if @render_headers %>
|
3
|
-
<h2 class="
|
3
|
+
<h2 class="visually-hidden"><%= t('blacklight.search.search_constraints_header') %></h2>
|
4
4
|
<% end %>
|
5
5
|
|
6
6
|
<%= render @start_over_component.new if @start_over_component %>
|
7
7
|
|
8
8
|
<% if @render_headers %>
|
9
|
-
<span class="constraints-label
|
9
|
+
<span class="constraints-label visually-hidden"><%= t('blacklight.search.filters.title') %></span>
|
10
10
|
<% end %>
|
11
11
|
<% if query_constraints_area.present? %>
|
12
12
|
<% query_constraints_area.each do |constraint| %>
|
@@ -6,21 +6,21 @@ module Blacklight
|
|
6
6
|
renders_many :facet_constraints_area
|
7
7
|
renders_many :additional_constraints
|
8
8
|
|
9
|
-
def self.for_search_history(**
|
9
|
+
def self.for_search_history(**)
|
10
10
|
new(tag: :span,
|
11
11
|
render_headers: false,
|
12
12
|
id: nil,
|
13
13
|
query_constraint_component: Blacklight::SearchHistoryConstraintLayoutComponent,
|
14
14
|
facet_constraint_component_options: { layout: Blacklight::SearchHistoryConstraintLayoutComponent },
|
15
15
|
start_over_component: nil,
|
16
|
-
**
|
16
|
+
**)
|
17
17
|
end
|
18
18
|
|
19
19
|
# rubocop:disable Metrics/ParameterLists
|
20
20
|
def initialize(search_state:,
|
21
21
|
tag: :div,
|
22
22
|
render_headers: true,
|
23
|
-
id: 'appliedParams', classes: 'clearfix constraints-container',
|
23
|
+
id: 'appliedParams', classes: 'clearfix constraints-container mb-2',
|
24
24
|
query_constraint_component: Blacklight::ConstraintLayoutComponent,
|
25
25
|
query_constraint_component_options: {},
|
26
26
|
facet_constraint_component: Blacklight::ConstraintComponent,
|
@@ -8,9 +8,9 @@
|
|
8
8
|
absent: t('blacklight.search.bookmarks.absent'),
|
9
9
|
inprogress: t('blacklight.search.bookmarks.inprogress')
|
10
10
|
}) do %>
|
11
|
-
<div class="
|
12
|
-
<label class="toggle-bookmark" data-checkboxsubmit-target="label">
|
13
|
-
<input type="checkbox" class="toggle-bookmark <%= bookmark_icon ? 'd-none' : '' %>" data-checkboxsubmit-target="checkbox" <%= 'checked="checked"' if bookmarked? %>>
|
11
|
+
<div class="toggle-bookmark">
|
12
|
+
<label class="toggle-bookmark-label" data-checkboxsubmit-target="label">
|
13
|
+
<input type="checkbox" class="toggle-bookmark-input <%= bookmark_icon ? 'd-none' : '' %>" data-checkboxsubmit-target="checkbox" <%= 'checked="checked"' if bookmarked? %>>
|
14
14
|
<%= bookmark_icon %>
|
15
15
|
<span data-checkboxsubmit-target="span"><%= bookmarked? ? t('blacklight.search.bookmarks.present') : t('blacklight.search.bookmarks.absent') %></span>
|
16
16
|
</label>
|
@@ -8,11 +8,11 @@ module Blacklight
|
|
8
8
|
# @param [Blacklight::Configuration::ToolConfig] action
|
9
9
|
# @param [Boolean] checked
|
10
10
|
# @param [Object] bookmark_path the rails route to use for bookmarks
|
11
|
-
def initialize(document:, action: nil, checked: nil, bookmark_path: nil, **
|
11
|
+
def initialize(document:, action: nil, checked: nil, bookmark_path: nil, **)
|
12
12
|
@document = document
|
13
13
|
@checked = checked
|
14
14
|
@bookmark_path = bookmark_path
|
15
|
-
super(document: document, action: action, **
|
15
|
+
super(document: document, action: action, **)
|
16
16
|
end
|
17
17
|
|
18
18
|
def bookmarked?
|
@@ -4,6 +4,6 @@
|
|
4
4
|
<%= grouped_documents %>
|
5
5
|
</div>
|
6
6
|
<%- if @group_limit > 0 && @group.total > @group_limit %>
|
7
|
-
<%= helpers.link_to t('blacklight.search.group.more'), add_group_facet_params_and_redirect(@group), class: 'more-in-group' %>
|
7
|
+
<%= helpers.link_to t('blacklight.search.group.more'), add_group_facet_params_and_redirect(@group), class: 'more-in-group float-right' %>
|
8
8
|
<%- end %>
|
9
9
|
</div>
|
@@ -40,7 +40,7 @@ module Blacklight
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def header_container_classes
|
43
|
-
has_header_tools? ? 'row pagination-search-widgets pb-
|
43
|
+
has_header_tools? ? 'row pagination-search-widgets pb-3 mb-3' : 'pagination-search-widgets pb-3 mb-3'
|
44
44
|
end
|
45
45
|
|
46
46
|
def header_actions
|
@@ -16,12 +16,12 @@ module Blacklight
|
|
16
16
|
|
17
17
|
private
|
18
18
|
|
19
|
-
def
|
20
|
-
blacklight_config.view_config(:show).show_tools_component
|
21
|
-
|
22
|
-
end
|
19
|
+
def show_tools_component_class
|
20
|
+
blacklight_config.view_config(:show).show_tools_component
|
21
|
+
end
|
23
22
|
|
24
|
-
|
23
|
+
def render_show_tools
|
24
|
+
render show_tools_component_class.new(document: document)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
@@ -1,7 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
<div class="document-thumbnail">
|
5
|
-
<%= helpers.link_to_document(presenter.document, value, 'aria-hidden': true, tabindex: -1, counter: @counter) %>
|
6
|
-
</div>
|
7
|
-
<% end %>
|
1
|
+
<div class="document-thumbnail">
|
2
|
+
<%= helpers.link_to_document(presenter.document, thumbnail_value, 'aria-hidden': true, tabindex: -1, counter: @counter) %>
|
3
|
+
</div>
|
@@ -9,19 +9,20 @@ module Blacklight
|
|
9
9
|
# @param [Blacklight::DocumentPresenter] presenter
|
10
10
|
# @param [Integer] counter
|
11
11
|
# @param [Hash] image_options options for the thumbnail presenter's image tag
|
12
|
-
def initialize(counter:, presenter: nil,
|
12
|
+
def initialize(counter:, presenter: nil, image_options: {})
|
13
13
|
@presenter = presenter
|
14
|
-
@document = presenter&.document || document
|
15
14
|
@counter = counter
|
16
15
|
@image_options = { alt: '' }.merge(image_options)
|
17
16
|
end
|
18
17
|
|
19
|
-
|
20
|
-
|
18
|
+
attr_accessor :presenter
|
19
|
+
|
20
|
+
def thumbnail_value
|
21
|
+
@thumbnail_value ||= presenter.thumbnail.render(@image_options)
|
21
22
|
end
|
22
23
|
|
23
|
-
def
|
24
|
-
|
24
|
+
def render?
|
25
|
+
presenter.thumbnail && thumbnail_value
|
25
26
|
end
|
26
27
|
end
|
27
28
|
end
|