blacklight 8.3.0 → 8.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +10 -6
  3. data/.rubocop.yml +3 -0
  4. data/.rubocop_todo.yml +22 -55
  5. data/Gemfile +2 -10
  6. data/README.md +2 -2
  7. data/VERSION +1 -1
  8. data/app/assets/javascripts/blacklight/blacklight.esm.js +13 -7
  9. data/app/assets/javascripts/blacklight/blacklight.esm.js.map +1 -1
  10. data/app/assets/javascripts/blacklight/blacklight.js +13 -7
  11. data/app/assets/javascripts/blacklight/blacklight.js.map +1 -1
  12. data/app/assets/stylesheets/blacklight/_balanced_list.scss +1 -1
  13. data/app/assets/stylesheets/blacklight/_bookmark.scss +30 -0
  14. data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +0 -4
  15. data/app/assets/stylesheets/blacklight/_constraints.scss +15 -9
  16. data/app/assets/stylesheets/blacklight/_controls.scss +0 -1
  17. data/app/assets/stylesheets/blacklight/_facets.scss +33 -37
  18. data/app/assets/stylesheets/blacklight/_header.scss +2 -35
  19. data/app/assets/stylesheets/blacklight/_icons.scss +3 -2
  20. data/app/assets/stylesheets/blacklight/_layout.scss +3 -0
  21. data/app/assets/stylesheets/blacklight/_mixins.scss +4 -4
  22. data/app/assets/stylesheets/blacklight/_search_form.scss +3 -8
  23. data/app/assets/stylesheets/blacklight/_search_history.scss +5 -5
  24. data/app/assets/stylesheets/blacklight/_search_results.scss +5 -2
  25. data/app/assets/stylesheets/blacklight/blacklight_defaults.scss +16 -10
  26. data/app/components/blacklight/advanced_search_form_component.html.erb +1 -1
  27. data/app/components/blacklight/advanced_search_form_component.rb +6 -0
  28. data/app/components/blacklight/constraint_layout_component.html.erb +2 -9
  29. data/app/components/blacklight/constraint_layout_component.rb +8 -0
  30. data/app/components/blacklight/constraints_component.rb +3 -3
  31. data/app/components/blacklight/document/action_component.rb +2 -1
  32. data/app/components/blacklight/document/bookmark_component.html.erb +2 -1
  33. data/app/components/blacklight/document/bookmark_component.rb +6 -0
  34. data/app/components/blacklight/document/page_header_component.html.erb +7 -0
  35. data/app/components/blacklight/document/page_header_component.rb +85 -0
  36. data/app/components/blacklight/document_component.rb +1 -1
  37. data/app/components/blacklight/facet_component.rb +1 -1
  38. data/app/components/blacklight/facet_field_checkboxes_component.html.erb +1 -1
  39. data/app/components/blacklight/facet_field_checkboxes_component.rb +1 -1
  40. data/app/components/blacklight/facet_field_inclusive_constraint_component.html.erb +1 -1
  41. data/app/components/blacklight/facet_field_list_component.html.erb +1 -1
  42. data/app/components/blacklight/facet_item_component.rb +1 -1
  43. data/app/components/blacklight/icons/bookmark_icon_component.rb +17 -0
  44. data/app/components/blacklight/icons/icon_component.rb +9 -4
  45. data/app/components/blacklight/icons/remove_component.rb +16 -0
  46. data/app/components/blacklight/metadata_field_component.html.erb +1 -1
  47. data/app/components/blacklight/metadata_field_component.rb +5 -0
  48. data/app/components/blacklight/response/facet_group_component.rb +1 -1
  49. data/app/components/blacklight/response/pagination_component.html.erb +1 -1
  50. data/app/components/blacklight/response/sort_component.html.erb +1 -6
  51. data/app/components/blacklight/response/sort_component.rb +15 -0
  52. data/app/components/blacklight/search/per_page_component.html.erb +2 -0
  53. data/app/components/blacklight/search/per_page_component.rb +50 -0
  54. data/app/components/blacklight/search_bar_component.html.erb +1 -1
  55. data/app/components/blacklight/search_context/server_item_pagination_component.html.erb +5 -4
  56. data/app/components/blacklight/search_context/server_item_pagination_component.rb +1 -1
  57. data/app/components/blacklight/skip_link_component.html.erb +7 -0
  58. data/app/components/blacklight/skip_link_component.rb +17 -0
  59. data/app/components/blacklight/system/dropdown_button_component.rb +18 -0
  60. data/app/components/blacklight/system/dropdown_component.rb +3 -6
  61. data/app/components/blacklight/system/flash_message_component.html.erb +1 -1
  62. data/app/components/blacklight/top_navbar_component.html.erb +2 -2
  63. data/app/components/blacklight/top_navbar_component.rb +4 -0
  64. data/app/helpers/blacklight/catalog_helper_behavior.rb +2 -0
  65. data/app/helpers/blacklight/component_helper_behavior.rb +4 -4
  66. data/app/helpers/blacklight/configuration_helper_behavior.rb +2 -0
  67. data/app/helpers/blacklight/document_helper_behavior.rb +14 -0
  68. data/app/javascript/blacklight/checkbox_submit.js +7 -1
  69. data/app/javascript/blacklight/core.js +5 -5
  70. data/app/models/concerns/blacklight/document/semantic_fields.rb +1 -1
  71. data/app/presenters/blacklight/facet_checkbox_item_presenter.rb +11 -0
  72. data/app/presenters/blacklight/facet_field_presenter.rb +9 -1
  73. data/app/services/blacklight/search_service.rb +9 -1
  74. data/app/views/catalog/_per_page_widget.html.erb +1 -10
  75. data/app/views/catalog/_search_results.html.erb +1 -1
  76. data/app/views/catalog/_show_main_content.html.erb +1 -1
  77. data/app/views/catalog/_show_sidebar.html.erb +1 -0
  78. data/app/views/catalog/show.html.erb +3 -3
  79. data/app/views/catalog/suggest.html.erb +1 -1
  80. data/app/views/kaminari/blacklight/_page.html.erb +14 -8
  81. data/app/views/kaminari/blacklight/_paginator.html.erb +2 -1
  82. data/app/views/layouts/blacklight/base.html.erb +3 -5
  83. data/blacklight.gemspec +6 -2
  84. data/{docker-compose.yml → compose.yaml} +1 -1
  85. data/config/locales/blacklight.ar.yml +3 -0
  86. data/config/locales/blacklight.de.yml +3 -0
  87. data/config/locales/blacklight.en.yml +216 -229
  88. data/config/locales/blacklight.es.yml +3 -0
  89. data/config/locales/blacklight.fr.yml +3 -0
  90. data/config/locales/blacklight.hu.yml +3 -0
  91. data/config/locales/blacklight.it.yml +3 -0
  92. data/config/locales/blacklight.nl.yml +3 -0
  93. data/config/locales/blacklight.pt-BR.yml +3 -0
  94. data/config/locales/blacklight.sq.yml +3 -0
  95. data/config/locales/blacklight.zh.yml +3 -0
  96. data/lib/blacklight/abstract_repository.rb +6 -0
  97. data/lib/blacklight/component.rb +10 -47
  98. data/lib/blacklight/configuration.rb +32 -19
  99. data/lib/blacklight/engine.rb +6 -0
  100. data/lib/blacklight/parameters.rb +1 -1
  101. data/lib/blacklight/solr/repository.rb +11 -4
  102. data/lib/blacklight/solr/response/params.rb +1 -1
  103. data/lib/blacklight/solr/response.rb +0 -12
  104. data/lib/blacklight/solr/search_builder_behavior.rb +1 -1
  105. data/lib/blacklight/solr.rb +0 -6
  106. data/lib/blacklight.rb +4 -14
  107. data/lib/generators/blacklight/assets/propshaft_generator.rb +2 -2
  108. data/lib/generators/blacklight/models_generator.rb +1 -1
  109. data/lib/generators/blacklight/user_generator.rb +2 -0
  110. data/package.json +3 -2
  111. data/rollup.config.js +6 -12
  112. data/spec/components/blacklight/document/action_component_spec.rb +1 -1
  113. data/spec/components/blacklight/document/page_header_component_spec.rb +92 -0
  114. data/spec/components/blacklight/document_component_spec.rb +20 -0
  115. data/spec/components/blacklight/icons/icon_component_spec.rb +42 -0
  116. data/spec/components/blacklight/search_context/server_item_pagination_component_spec.rb +13 -2
  117. data/spec/controllers/blacklight/catalog_spec.rb +1 -1
  118. data/spec/controllers/catalog_controller_spec.rb +5 -5
  119. data/spec/features/advanced_search_spec.rb +16 -2
  120. data/spec/features/bookmarks_spec.rb +15 -0
  121. data/spec/features/search_context_spec.rb +2 -1
  122. data/spec/helpers/blacklight/facets_helper_behavior_spec.rb +2 -2
  123. data/spec/lib/blacklight/component_spec.rb +32 -27
  124. data/spec/lib/blacklight/nested_open_struct_with_hash_access_spec.rb +1 -1
  125. data/spec/lib/blacklight/open_struct_with_hash_access_spec.rb +1 -1
  126. data/spec/models/blacklight/configuration_spec.rb +12 -12
  127. data/spec/models/blacklight/solr/document_spec.rb +2 -2
  128. data/spec/models/blacklight/solr/repository_spec.rb +31 -13
  129. data/spec/models/blacklight/solr/response/facets_spec.rb +2 -2
  130. data/spec/models/blacklight/solr/response/group_spec.rb +1 -1
  131. data/spec/models/blacklight/solr/response_spec.rb +2 -2
  132. data/spec/models/blacklight/solr/search_builder_behavior_spec.rb +1 -1
  133. data/spec/models/bookmark_spec.rb +1 -1
  134. data/spec/presenters/blacklight/document_presenter_spec.rb +2 -2
  135. data/spec/presenters/blacklight/facet_checkbox_item_presenter_spec.rb +42 -0
  136. data/spec/presenters/blacklight/facet_field_presenter_spec.rb +14 -0
  137. data/spec/requests/load_suggestions_spec.rb +5 -5
  138. data/spec/services/blacklight/search_service_spec.rb +2 -2
  139. data/spec/spec_helper.rb +5 -2
  140. data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -1
  141. data/tasks/blacklight.rake +6 -6
  142. metadata +86 -8
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.3.0
4
+ version: 8.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Rochkind
@@ -17,7 +17,7 @@ authors:
17
17
  autorequire:
18
18
  bindir: exe
19
19
  cert_chain: []
20
- date: 2024-06-07 00:00:00.000000000 Z
20
+ date: 2024-10-23 00:00:00.000000000 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: rails
@@ -115,7 +115,7 @@ dependencies:
115
115
  requirements:
116
116
  - - ">="
117
117
  - !ruby/object:Gem::Version
118
- version: '2.66'
118
+ version: '2.74'
119
119
  - - "<"
120
120
  - !ruby/object:Gem::Version
121
121
  version: '4'
@@ -125,10 +125,24 @@ dependencies:
125
125
  requirements:
126
126
  - - ">="
127
127
  - !ruby/object:Gem::Version
128
- version: '2.66'
128
+ version: '2.74'
129
129
  - - "<"
130
130
  - !ruby/object:Gem::Version
131
131
  version: '4'
132
+ - !ruby/object:Gem::Dependency
133
+ name: zeitwerk
134
+ requirement: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ type: :runtime
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
132
146
  - !ruby/object:Gem::Dependency
133
147
  name: rsolr
134
148
  requirement: !ruby/object:Gem::Requirement
@@ -153,16 +167,22 @@ dependencies:
153
167
  name: rspec-rails
154
168
  requirement: !ruby/object:Gem::Requirement
155
169
  requirements:
156
- - - "~>"
170
+ - - ">="
157
171
  - !ruby/object:Gem::Version
158
172
  version: '6.1'
173
+ - - "<"
174
+ - !ruby/object:Gem::Version
175
+ version: '8'
159
176
  type: :development
160
177
  prerelease: false
161
178
  version_requirements: !ruby/object:Gem::Requirement
162
179
  requirements:
163
- - - "~>"
180
+ - - ">="
164
181
  - !ruby/object:Gem::Version
165
182
  version: '6.1'
183
+ - - "<"
184
+ - !ruby/object:Gem::Version
185
+ version: '8'
166
186
  - !ruby/object:Gem::Dependency
167
187
  name: rspec-collection_matchers
168
188
  requirement: !ruby/object:Gem::Requirement
@@ -303,6 +323,48 @@ dependencies:
303
323
  - - ">="
304
324
  - !ruby/object:Gem::Version
305
325
  version: '0'
326
+ - !ruby/object:Gem::Dependency
327
+ name: rubocop-capybara
328
+ requirement: !ruby/object:Gem::Requirement
329
+ requirements:
330
+ - - ">="
331
+ - !ruby/object:Gem::Version
332
+ version: '0'
333
+ type: :development
334
+ prerelease: false
335
+ version_requirements: !ruby/object:Gem::Requirement
336
+ requirements:
337
+ - - ">="
338
+ - !ruby/object:Gem::Version
339
+ version: '0'
340
+ - !ruby/object:Gem::Dependency
341
+ name: rubocop-rspec_rails
342
+ requirement: !ruby/object:Gem::Requirement
343
+ requirements:
344
+ - - ">="
345
+ - !ruby/object:Gem::Version
346
+ version: '0'
347
+ type: :development
348
+ prerelease: false
349
+ version_requirements: !ruby/object:Gem::Requirement
350
+ requirements:
351
+ - - ">="
352
+ - !ruby/object:Gem::Version
353
+ version: '0'
354
+ - !ruby/object:Gem::Dependency
355
+ name: rubocop-factory_bot
356
+ requirement: !ruby/object:Gem::Requirement
357
+ requirements:
358
+ - - ">="
359
+ - !ruby/object:Gem::Version
360
+ version: '0'
361
+ type: :development
362
+ prerelease: false
363
+ version_requirements: !ruby/object:Gem::Requirement
364
+ requirements:
365
+ - - ">="
366
+ - !ruby/object:Gem::Version
367
+ version: '0'
306
368
  - !ruby/object:Gem::Dependency
307
369
  name: i18n-tasks
308
370
  requirement: !ruby/object:Gem::Requirement
@@ -409,6 +471,8 @@ files:
409
471
  - app/components/blacklight/document/group_component.rb
410
472
  - app/components/blacklight/document/more_like_this_component.html.erb
411
473
  - app/components/blacklight/document/more_like_this_component.rb
474
+ - app/components/blacklight/document/page_header_component.html.erb
475
+ - app/components/blacklight/document/page_header_component.rb
412
476
  - app/components/blacklight/document/show_tools_component.html.erb
413
477
  - app/components/blacklight/document/show_tools_component.rb
414
478
  - app/components/blacklight/document/sidebar_component.html.erb
@@ -440,9 +504,11 @@ files:
440
504
  - app/components/blacklight/header_component.html.erb
441
505
  - app/components/blacklight/header_component.rb
442
506
  - app/components/blacklight/hidden_search_state_component.rb
507
+ - app/components/blacklight/icons/bookmark_icon_component.rb
443
508
  - app/components/blacklight/icons/icon_component.rb
444
509
  - app/components/blacklight/icons/legacy_icon_component.rb
445
510
  - app/components/blacklight/icons/list_component.rb
511
+ - app/components/blacklight/icons/remove_component.rb
446
512
  - app/components/blacklight/icons/search_component.rb
447
513
  - app/components/blacklight/metadata_field_component.html.erb
448
514
  - app/components/blacklight/metadata_field_component.rb
@@ -461,6 +527,8 @@ files:
461
527
  - app/components/blacklight/response/view_type_button_component.rb
462
528
  - app/components/blacklight/response/view_type_component.html.erb
463
529
  - app/components/blacklight/response/view_type_component.rb
530
+ - app/components/blacklight/search/per_page_component.html.erb
531
+ - app/components/blacklight/search/per_page_component.rb
464
532
  - app/components/blacklight/search/sidebar_component.html.erb
465
533
  - app/components/blacklight/search/sidebar_component.rb
466
534
  - app/components/blacklight/search_bar_component.html.erb
@@ -475,7 +543,10 @@ files:
475
543
  - app/components/blacklight/search_history_constraint_layout_component.rb
476
544
  - app/components/blacklight/search_navbar_component.html.erb
477
545
  - app/components/blacklight/search_navbar_component.rb
546
+ - app/components/blacklight/skip_link_component.html.erb
547
+ - app/components/blacklight/skip_link_component.rb
478
548
  - app/components/blacklight/start_over_button_component.rb
549
+ - app/components/blacklight/system/dropdown_button_component.rb
479
550
  - app/components/blacklight/system/dropdown_component.html.erb
480
551
  - app/components/blacklight/system/dropdown_component.rb
481
552
  - app/components/blacklight/system/flash_message_component.html.erb
@@ -536,6 +607,7 @@ files:
536
607
  - app/models/solr_document.rb
537
608
  - app/presenters/blacklight/clause_presenter.rb
538
609
  - app/presenters/blacklight/document_presenter.rb
610
+ - app/presenters/blacklight/facet_checkbox_item_presenter.rb
539
611
  - app/presenters/blacklight/facet_field_presenter.rb
540
612
  - app/presenters/blacklight/facet_grouped_item_presenter.rb
541
613
  - app/presenters/blacklight/facet_item_pivot_presenter.rb
@@ -646,6 +718,7 @@ files:
646
718
  - app/views/shared/_sitelinks_search_box.html.erb
647
719
  - app/views/shared/_user_util_links.html.erb
648
720
  - blacklight.gemspec
721
+ - compose.yaml
649
722
  - config/i18n-tasks.yml
650
723
  - config/importmap.rb
651
724
  - config/locales/blacklight.ar.yml
@@ -664,7 +737,6 @@ files:
664
737
  - db/migrate/20140202020201_create_searches.rb
665
738
  - db/migrate/20140202020202_create_bookmarks.rb
666
739
  - db/migrate/20140320000000_add_polymorphic_type_to_bookmarks.rb
667
- - docker-compose.yml
668
740
  - lib/blacklight.rb
669
741
  - lib/blacklight/abstract_repository.rb
670
742
  - lib/blacklight/component.rb
@@ -757,6 +829,7 @@ files:
757
829
  - spec/components/blacklight/constraints_component_spec.rb
758
830
  - spec/components/blacklight/document/action_component_spec.rb
759
831
  - spec/components/blacklight/document/group_component_spec.rb
832
+ - spec/components/blacklight/document/page_header_component_spec.rb
760
833
  - spec/components/blacklight/document/sidebar_component_spec.rb
761
834
  - spec/components/blacklight/document_component_spec.rb
762
835
  - spec/components/blacklight/document_metadata_component_spec.rb
@@ -767,6 +840,7 @@ files:
767
840
  - spec/components/blacklight/facet_item_pivot_component_spec.rb
768
841
  - spec/components/blacklight/header_component_spec.rb
769
842
  - spec/components/blacklight/hidden_search_state_component_spec.rb
843
+ - spec/components/blacklight/icons/icon_component_spec.rb
770
844
  - spec/components/blacklight/metadata_field_component_spec.rb
771
845
  - spec/components/blacklight/response/pagination_component_spec.rb
772
846
  - spec/components/blacklight/response/spellcheck_component_spec.rb
@@ -858,6 +932,7 @@ files:
858
932
  - spec/models/solr_document_spec.rb
859
933
  - spec/presenters/blacklight/clause_presenter_spec.rb
860
934
  - spec/presenters/blacklight/document_presenter_spec.rb
935
+ - spec/presenters/blacklight/facet_checkbox_item_presenter_spec.rb
861
936
  - spec/presenters/blacklight/facet_field_presenter_spec.rb
862
937
  - spec/presenters/blacklight/facet_grouped_item_presenter_spec.rb
863
938
  - spec/presenters/blacklight/facet_item_presenter_spec.rb
@@ -925,7 +1000,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
925
1000
  - !ruby/object:Gem::Version
926
1001
  version: '0'
927
1002
  requirements: []
928
- rubygems_version: 3.5.10
1003
+ rubygems_version: 3.5.9
929
1004
  signing_key:
930
1005
  specification_version: 4
931
1006
  summary: Blacklight provides a discovery interface for any Solr (http://lucene.apache.org/solr)
@@ -936,6 +1011,7 @@ test_files:
936
1011
  - spec/components/blacklight/constraints_component_spec.rb
937
1012
  - spec/components/blacklight/document/action_component_spec.rb
938
1013
  - spec/components/blacklight/document/group_component_spec.rb
1014
+ - spec/components/blacklight/document/page_header_component_spec.rb
939
1015
  - spec/components/blacklight/document/sidebar_component_spec.rb
940
1016
  - spec/components/blacklight/document_component_spec.rb
941
1017
  - spec/components/blacklight/document_metadata_component_spec.rb
@@ -946,6 +1022,7 @@ test_files:
946
1022
  - spec/components/blacklight/facet_item_pivot_component_spec.rb
947
1023
  - spec/components/blacklight/header_component_spec.rb
948
1024
  - spec/components/blacklight/hidden_search_state_component_spec.rb
1025
+ - spec/components/blacklight/icons/icon_component_spec.rb
949
1026
  - spec/components/blacklight/metadata_field_component_spec.rb
950
1027
  - spec/components/blacklight/response/pagination_component_spec.rb
951
1028
  - spec/components/blacklight/response/spellcheck_component_spec.rb
@@ -1037,6 +1114,7 @@ test_files:
1037
1114
  - spec/models/solr_document_spec.rb
1038
1115
  - spec/presenters/blacklight/clause_presenter_spec.rb
1039
1116
  - spec/presenters/blacklight/document_presenter_spec.rb
1117
+ - spec/presenters/blacklight/facet_checkbox_item_presenter_spec.rb
1040
1118
  - spec/presenters/blacklight/facet_field_presenter_spec.rb
1041
1119
  - spec/presenters/blacklight/facet_grouped_item_presenter_spec.rb
1042
1120
  - spec/presenters/blacklight/facet_item_presenter_spec.rb