blacklight 7.33.0 → 8.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 (427) hide show
  1. checksums.yaml +4 -4
  2. data/.env +3 -2
  3. data/.github/workflows/ruby.yml +38 -107
  4. data/.gitignore +1 -0
  5. data/.rubocop.yml +243 -2
  6. data/.rubocop_todo.yml +216 -270
  7. data/Gemfile +7 -6
  8. data/README.md +12 -4
  9. data/Rakefile +18 -0
  10. data/VERSION +1 -1
  11. data/app/assets/config/blacklight/manifest.js +3 -0
  12. data/app/assets/javascripts/blacklight/blacklight.esm.js +376 -0
  13. data/app/assets/javascripts/blacklight/blacklight.esm.js.map +1 -0
  14. data/app/assets/javascripts/blacklight/blacklight.js +332 -485
  15. data/app/assets/javascripts/blacklight/blacklight.js.map +1 -0
  16. data/app/assets/stylesheets/blacklight/_autocomplete.scss +25 -0
  17. data/app/assets/stylesheets/blacklight/_blacklight_base.scss +1 -1
  18. data/app/assets/stylesheets/blacklight/_bookmark.scss +16 -0
  19. data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +8 -0
  20. data/app/assets/stylesheets/blacklight/_facets.scss +104 -49
  21. data/app/assets/stylesheets/blacklight/_header.scss +0 -15
  22. data/app/assets/stylesheets/blacklight/_icons.scss +0 -14
  23. data/app/assets/stylesheets/blacklight/_mixins.scss +20 -0
  24. data/app/assets/stylesheets/blacklight/_modal.scss +8 -2
  25. data/app/assets/stylesheets/blacklight/_search_form.scss +30 -3
  26. data/app/assets/stylesheets/blacklight/_search_history.scss +10 -1
  27. data/app/assets/stylesheets/blacklight/_search_results.scss +6 -2
  28. data/app/assets/stylesheets/blacklight/blacklight_defaults.scss +4 -1
  29. data/app/builders/blacklight/action_builder.rb +18 -9
  30. data/app/components/blacklight/advanced_search_form_component.html.erb +1 -1
  31. data/app/components/blacklight/advanced_search_form_component.rb +7 -9
  32. data/app/components/blacklight/constraints_component.rb +27 -37
  33. data/app/components/blacklight/document/action_component.html.erb +2 -9
  34. data/app/components/blacklight/document/action_component.rb +26 -8
  35. data/app/components/blacklight/document/actions_component.rb +2 -2
  36. data/app/components/blacklight/document/bookmark_component.html.erb +9 -0
  37. data/app/components/blacklight/document/bookmark_component.rb +4 -2
  38. data/app/components/blacklight/document/citation_component.rb +5 -3
  39. data/app/components/blacklight/document/group_component.rb +7 -3
  40. data/app/components/blacklight/document/show_tools_component.html.erb +12 -0
  41. data/app/components/blacklight/document/show_tools_component.rb +23 -0
  42. data/app/components/blacklight/document/sidebar_component.html.erb +2 -0
  43. data/app/components/blacklight/document/sidebar_component.rb +16 -0
  44. data/app/components/blacklight/document/thumbnail_component.html.erb +2 -7
  45. data/app/components/blacklight/document/thumbnail_component.rb +1 -9
  46. data/app/components/blacklight/document_component.html.erb +4 -0
  47. data/app/components/blacklight/document_component.rb +54 -42
  48. data/app/components/blacklight/document_metadata_component.html.erb +4 -2
  49. data/app/components/blacklight/document_metadata_component.rb +11 -6
  50. data/app/components/blacklight/document_title_component.rb +4 -1
  51. data/app/components/blacklight/facet_component.rb +1 -1
  52. data/app/components/blacklight/facet_field_checkboxes_component.html.erb +3 -3
  53. data/app/components/blacklight/facet_field_checkboxes_component.rb +1 -1
  54. data/app/components/blacklight/facet_field_component.html.erb +5 -5
  55. data/app/components/blacklight/facet_field_component.rb +9 -2
  56. data/app/components/blacklight/facet_field_list_component.html.erb +3 -3
  57. data/app/components/blacklight/facet_field_list_component.rb +37 -5
  58. data/app/components/blacklight/facet_field_no_layout_component.rb +0 -2
  59. data/app/components/blacklight/facet_item_component.rb +1 -43
  60. data/app/components/blacklight/facet_item_pivot_component.rb +21 -23
  61. data/app/components/blacklight/header_component.html.erb +2 -0
  62. data/app/components/blacklight/header_component.rb +26 -0
  63. data/app/components/blacklight/hidden_search_state_component.rb +1 -2
  64. data/app/components/blacklight/icons/legacy_icon_component.rb +30 -0
  65. data/app/components/blacklight/icons/list_component.rb +16 -0
  66. data/app/components/blacklight/icons/search_component.rb +16 -0
  67. data/app/components/blacklight/metadata_field_component.html.erb +2 -2
  68. data/app/components/blacklight/metadata_field_component.rb +24 -8
  69. data/app/components/blacklight/metadata_field_layout_component.rb +7 -22
  70. data/app/components/blacklight/metadata_field_plain_text_layout_component.rb +17 -0
  71. data/app/components/blacklight/response/facet_group_component.html.erb +5 -6
  72. data/app/components/blacklight/response/facet_group_component.rb +29 -8
  73. data/app/components/blacklight/response/sort_component.rb +2 -2
  74. data/app/components/blacklight/response/spellcheck_component.rb +18 -7
  75. data/app/components/blacklight/response/view_type_button_component.rb +3 -7
  76. data/app/components/blacklight/response/view_type_component.rb +4 -6
  77. data/app/components/blacklight/search/sidebar_component.html.erb +8 -0
  78. data/app/components/blacklight/search/sidebar_component.rb +17 -0
  79. data/app/components/blacklight/search_bar_component.html.erb +20 -15
  80. data/app/components/blacklight/search_bar_component.rb +2 -16
  81. data/app/components/blacklight/search_button_component.rb +3 -3
  82. data/app/components/blacklight/search_context/server_applied_params_component.html.erb +4 -0
  83. data/app/components/blacklight/search_context/server_applied_params_component.rb +13 -0
  84. data/app/components/blacklight/search_context/server_item_pagination_component.rb +71 -0
  85. data/app/components/blacklight/search_header_component.html.erb +2 -0
  86. data/app/components/blacklight/search_header_component.rb +6 -0
  87. data/app/components/blacklight/search_navbar_component.html.erb +5 -0
  88. data/app/components/blacklight/search_navbar_component.rb +34 -0
  89. data/app/components/blacklight/start_over_button_component.rb +5 -3
  90. data/app/components/blacklight/system/dropdown_component.rb +3 -3
  91. data/app/components/blacklight/system/flash_message_component.html.erb +3 -1
  92. data/app/components/blacklight/system/flash_message_component.rb +12 -3
  93. data/app/components/blacklight/system/modal_component.html.erb +1 -1
  94. data/app/components/blacklight/system/modal_component.rb +1 -3
  95. data/app/components/blacklight/top_navbar_component.html.erb +12 -0
  96. data/app/components/blacklight/top_navbar_component.rb +17 -0
  97. data/app/controllers/bookmarks_controller.rb +1 -0
  98. data/app/controllers/catalog_controller.rb +1 -0
  99. data/app/controllers/concerns/blacklight/bookmarks.rb +11 -6
  100. data/app/controllers/concerns/blacklight/catalog.rb +21 -72
  101. data/app/controllers/concerns/blacklight/controller.rb +6 -43
  102. data/app/controllers/concerns/blacklight/search_context.rb +71 -13
  103. data/app/controllers/concerns/blacklight/search_history.rb +2 -0
  104. data/app/controllers/concerns/blacklight/searchable.rb +12 -1
  105. data/app/controllers/concerns/blacklight/token_based_user.rb +1 -0
  106. data/app/controllers/search_history_controller.rb +1 -0
  107. data/app/helpers/blacklight/blacklight_helper_behavior.rb +1 -400
  108. data/app/helpers/blacklight/catalog_helper_behavior.rb +40 -182
  109. data/app/helpers/blacklight/component_helper_behavior.rb +1 -63
  110. data/app/helpers/blacklight/configuration_helper_behavior.rb +2 -117
  111. data/app/helpers/blacklight/document_helper_behavior.rb +76 -0
  112. data/app/helpers/blacklight/facets_helper_behavior.rb +4 -321
  113. data/app/helpers/blacklight/icon_helper_behavior.rb +5 -4
  114. data/app/helpers/blacklight/layout_helper_behavior.rb +60 -0
  115. data/app/helpers/blacklight/render_partials_helper_behavior.rb +12 -30
  116. data/app/helpers/blacklight/url_helper_behavior.rb +21 -97
  117. data/app/helpers/blacklight_helper.rb +1 -0
  118. data/app/helpers/catalog_helper.rb +1 -0
  119. data/app/javascript/blacklight/bookmark_toggle.js +9 -22
  120. data/app/javascript/blacklight/button_focus.js +9 -7
  121. data/app/javascript/blacklight/checkbox_submit.js +68 -122
  122. data/app/javascript/blacklight/core.js +6 -5
  123. data/app/javascript/blacklight/index.js +14 -0
  124. data/app/javascript/blacklight/modal.js +100 -165
  125. data/app/javascript/blacklight/modalForm.js +60 -0
  126. data/app/javascript/blacklight/search_context.js +13 -29
  127. data/app/models/blacklight/facet_paginator.rb +3 -2
  128. data/app/models/blacklight/icon.rb +4 -2
  129. data/app/models/bookmark.rb +0 -2
  130. data/app/models/concerns/blacklight/configurable.rb +5 -4
  131. data/app/models/concerns/blacklight/document/active_model_shim.rb +1 -0
  132. data/app/models/concerns/blacklight/document/attributes.rb +50 -0
  133. data/app/models/concerns/blacklight/document/cache_key.rb +1 -0
  134. data/app/models/concerns/blacklight/document/dublin_core.rb +2 -1
  135. data/app/models/concerns/blacklight/document/export.rb +2 -1
  136. data/app/models/concerns/blacklight/document/extensions.rb +1 -0
  137. data/app/models/concerns/blacklight/document/schema_org.rb +1 -0
  138. data/app/models/concerns/blacklight/document/semantic_fields.rb +1 -0
  139. data/app/models/concerns/blacklight/document.rb +23 -20
  140. data/app/models/concerns/blacklight/suggest/response.rb +1 -0
  141. data/app/models/concerns/blacklight/user.rb +17 -8
  142. data/app/models/record_mailer.rb +23 -18
  143. data/app/models/search.rb +0 -1
  144. data/app/models/solr_document.rb +1 -0
  145. data/app/presenters/blacklight/clause_presenter.rb +1 -1
  146. data/app/presenters/blacklight/document_presenter.rb +24 -30
  147. data/app/presenters/blacklight/facet_field_presenter.rb +39 -14
  148. data/app/presenters/blacklight/facet_grouped_item_presenter.rb +1 -5
  149. data/app/presenters/blacklight/facet_item_pivot_presenter.rb +60 -0
  150. data/app/presenters/blacklight/facet_item_presenter.rb +3 -9
  151. data/app/presenters/blacklight/field_presenter.rb +1 -0
  152. data/app/presenters/blacklight/index_presenter.rb +2 -40
  153. data/app/presenters/blacklight/json_presenter.rb +7 -5
  154. data/app/presenters/blacklight/rendering/abstract_step.rb +4 -0
  155. data/app/presenters/blacklight/rendering/join.rb +7 -1
  156. data/app/presenters/blacklight/rendering/link_to_facet.rb +3 -6
  157. data/app/presenters/blacklight/rendering/microdata.rb +1 -1
  158. data/app/presenters/blacklight/show_presenter.rb +1 -9
  159. data/app/presenters/blacklight/thumbnail_presenter.rb +1 -1
  160. data/app/services/blacklight/bookmarks_search_builder.rb +22 -0
  161. data/app/services/blacklight/field_retriever.rb +1 -8
  162. data/app/services/blacklight/search_service.rb +9 -7
  163. data/app/values/blacklight/types.rb +95 -11
  164. data/app/views/bookmarks/_clear_bookmarks_widget.html.erb +8 -1
  165. data/app/views/bookmarks/_tools.html.erb +7 -12
  166. data/app/views/catalog/_advanced_search_form.html.erb +0 -1
  167. data/app/views/catalog/_bookmark_control.html.erb +1 -1
  168. data/app/views/catalog/_constraints.html.erb +1 -14
  169. data/app/views/catalog/_document.atom.builder +12 -14
  170. data/app/views/catalog/_document.html.erb +3 -6
  171. data/app/views/catalog/_document.rss.builder +2 -4
  172. data/app/views/catalog/_document_list.html.erb +2 -1
  173. data/app/views/catalog/_facet_layout.html.erb +2 -2
  174. data/app/views/catalog/_facets.html.erb +5 -4
  175. data/app/views/catalog/_home_text.html.erb +2 -14
  176. data/app/views/catalog/_search_form.html.erb +3 -3
  177. data/app/views/catalog/_search_header.html.erb +1 -2
  178. data/app/views/catalog/_search_results.html.erb +2 -2
  179. data/app/views/catalog/_search_sidebar.html.erb +5 -1
  180. data/app/views/catalog/_show_main_content.html.erb +8 -19
  181. data/app/views/catalog/_show_sidebar.html.erb +2 -2
  182. data/app/views/catalog/_show_tools.html.erb +1 -19
  183. data/app/views/catalog/_view_type_group.html.erb +1 -1
  184. data/app/views/catalog/email_success.html.erb +5 -6
  185. data/app/views/catalog/facet.html.erb +7 -5
  186. data/app/views/catalog/index.atom.builder +12 -14
  187. data/app/views/catalog/index.html.erb +7 -1
  188. data/app/views/catalog/index.json.jbuilder +19 -19
  189. data/app/views/catalog/index.rss.builder +1 -1
  190. data/app/views/catalog/opensearch.xml.builder +1 -1
  191. data/app/views/catalog/show.html.erb +1 -6
  192. data/app/views/catalog/sms_success.html.erb +5 -6
  193. data/app/views/catalog/suggest.html.erb +3 -0
  194. data/app/views/layouts/blacklight/base.html.erb +19 -9
  195. data/app/views/record_mailer/email_record.text.erb +4 -3
  196. data/app/views/record_mailer/sms_record.text.erb +4 -4
  197. data/app/views/search_history/index.html.erb +6 -2
  198. data/app/views/shared/_header_navbar.html.erb +1 -22
  199. data/app/views/shared/_modal.html.erb +3 -3
  200. data/blacklight.gemspec +8 -10
  201. data/config/importmap.rb +3 -0
  202. data/config/locales/blacklight.ar.yml +209 -233
  203. data/config/locales/blacklight.ca.yml +0 -7
  204. data/config/locales/blacklight.de.yml +197 -216
  205. data/config/locales/blacklight.en.yml +2 -7
  206. data/config/locales/blacklight.es.yml +196 -216
  207. data/config/locales/blacklight.fr.yml +196 -220
  208. data/config/locales/blacklight.hu.yml +193 -213
  209. data/config/locales/blacklight.it.yml +197 -216
  210. data/config/locales/blacklight.nl.yml +193 -213
  211. data/config/locales/blacklight.pt-BR.yml +195 -216
  212. data/config/locales/blacklight.sq.yml +193 -213
  213. data/config/locales/blacklight.zh.yml +194 -214
  214. data/config/routes.rb +3 -2
  215. data/db/migrate/20140202020201_create_searches.rb +1 -0
  216. data/db/migrate/20140202020202_create_bookmarks.rb +1 -0
  217. data/db/migrate/20140320000000_add_polymorphic_type_to_bookmarks.rb +1 -0
  218. data/docker-compose.yml +1 -0
  219. data/lib/blacklight/abstract_repository.rb +1 -0
  220. data/lib/blacklight/configuration/context.rb +4 -4
  221. data/lib/blacklight/configuration/display_field.rb +7 -9
  222. data/lib/blacklight/configuration/facet_field.rb +17 -11
  223. data/lib/blacklight/configuration/field.rb +1 -0
  224. data/lib/blacklight/configuration/fields.rb +12 -15
  225. data/lib/blacklight/configuration/index_field.rb +1 -0
  226. data/lib/blacklight/configuration/null_display_field.rb +17 -0
  227. data/lib/blacklight/configuration/search_field.rb +1 -0
  228. data/lib/blacklight/configuration/session_tracking_config.rb +45 -0
  229. data/lib/blacklight/configuration/show_field.rb +1 -0
  230. data/lib/blacklight/configuration/sort_field.rb +1 -0
  231. data/lib/blacklight/configuration/tool_config.rb +1 -0
  232. data/lib/blacklight/configuration/view_config.rb +16 -10
  233. data/lib/blacklight/configuration.rb +322 -341
  234. data/lib/blacklight/engine.rb +13 -15
  235. data/lib/blacklight/exceptions.rb +2 -2
  236. data/lib/blacklight/nested_open_struct_with_hash_access.rb +6 -12
  237. data/lib/blacklight/open_struct_with_hash_access.rb +19 -17
  238. data/lib/blacklight/parameters.rb +7 -21
  239. data/lib/blacklight/routes/exportable.rb +1 -0
  240. data/lib/blacklight/routes/searchable.rb +3 -1
  241. data/lib/blacklight/routes.rb +1 -0
  242. data/lib/blacklight/search_builder.rb +10 -10
  243. data/lib/blacklight/search_state/filter_field.rb +8 -25
  244. data/lib/blacklight/search_state/pivot_filter_field.rb +144 -0
  245. data/lib/blacklight/search_state.rb +23 -79
  246. data/lib/blacklight/solr/document.rb +1 -0
  247. data/lib/blacklight/solr/facet_paginator.rb +1 -0
  248. data/lib/blacklight/solr/repository.rb +1 -0
  249. data/lib/blacklight/solr/request.rb +3 -0
  250. data/lib/blacklight/solr/response/facets.rb +21 -5
  251. data/lib/blacklight/solr/response/group.rb +1 -0
  252. data/lib/blacklight/solr/response/group_response.rb +1 -0
  253. data/lib/blacklight/solr/response/more_like_this.rb +1 -0
  254. data/lib/blacklight/solr/response/pagination_methods.rb +4 -3
  255. data/lib/blacklight/solr/response/params.rb +5 -4
  256. data/lib/blacklight/solr/response/response.rb +1 -0
  257. data/lib/blacklight/solr/response/spelling.rb +1 -0
  258. data/lib/blacklight/solr/response.rb +4 -3
  259. data/lib/blacklight/solr/search_builder_behavior.rb +16 -32
  260. data/lib/blacklight/solr.rb +1 -0
  261. data/lib/blacklight/version.rb +1 -0
  262. data/lib/blacklight.rb +8 -11
  263. data/lib/generators/blacklight/assets/importmap_generator.rb +56 -0
  264. data/lib/generators/blacklight/assets/propshaft_generator.rb +34 -0
  265. data/lib/generators/blacklight/assets/sprockets_generator.rb +68 -0
  266. data/lib/generators/blacklight/assets_generator.rb +14 -88
  267. data/lib/generators/blacklight/controller_generator.rb +3 -2
  268. data/lib/generators/blacklight/document_generator.rb +1 -0
  269. data/lib/generators/blacklight/install_generator.rb +7 -4
  270. data/lib/generators/blacklight/models_generator.rb +1 -0
  271. data/lib/generators/blacklight/search_builder_generator.rb +1 -0
  272. data/lib/generators/blacklight/solr_generator.rb +1 -1
  273. data/lib/generators/blacklight/templates/catalog_controller.rb +37 -7
  274. data/lib/generators/blacklight/templates/solr_document.rb +1 -7
  275. data/lib/generators/blacklight/test_support_generator.rb +4 -2
  276. data/lib/generators/blacklight/user_generator.rb +7 -9
  277. data/lib/railties/blacklight.rake +2 -3
  278. data/package.json +10 -10
  279. data/rollup.config.js +37 -0
  280. data/spec/components/blacklight/constraints_component_spec.rb +17 -13
  281. data/spec/components/blacklight/document_component_spec.rb +74 -33
  282. data/spec/components/blacklight/facet_component_spec.rb +2 -7
  283. data/spec/components/blacklight/facet_field_checkboxes_component_spec.rb +1 -2
  284. data/spec/components/blacklight/facet_field_list_component_spec.rb +7 -6
  285. data/spec/components/blacklight/facet_item_pivot_component_spec.rb +9 -7
  286. data/spec/components/blacklight/header_component_spec.rb +20 -0
  287. data/spec/components/blacklight/response/view_type_component_spec.rb +83 -0
  288. data/spec/components/blacklight/search_bar_component_spec.rb +1 -1
  289. data/spec/components/blacklight/search_context/server_applied_params_component_spec.rb +29 -0
  290. data/spec/components/blacklight/search_context/server_item_pagination_component_spec.rb +51 -0
  291. data/spec/controllers/blacklight/catalog/component_configuration_spec.rb +1 -6
  292. data/spec/controllers/blacklight/{base_spec.rb → catalog_spec.rb} +2 -2
  293. data/spec/controllers/bookmarks_controller_spec.rb +2 -3
  294. data/spec/controllers/catalog_controller_spec.rb +24 -126
  295. data/spec/features/autocomplete_spec.rb +1 -1
  296. data/spec/features/axe_spec.rb +1 -1
  297. data/spec/features/bookmarks_spec.rb +1 -1
  298. data/spec/features/component_template_override_spec.rb +8 -0
  299. data/spec/features/facets_spec.rb +1 -1
  300. data/spec/features/modal_spec.rb +12 -0
  301. data/spec/features/search_context_spec.rb +4 -10
  302. data/spec/features/search_results_spec.rb +0 -33
  303. data/spec/features/sitelinks_search_box_spec.rb +13 -0
  304. data/spec/helpers/blacklight/configuration_helper_behavior_spec.rb +2 -138
  305. data/spec/helpers/blacklight/facets_helper_behavior_spec.rb +0 -387
  306. data/spec/helpers/blacklight/icon_helper_behavior_spec.rb +8 -0
  307. data/spec/helpers/blacklight/render_partials_helper_behavior_spec.rb +5 -7
  308. data/spec/helpers/blacklight/url_helper_behavior_spec.rb +10 -132
  309. data/spec/helpers/blacklight_helper_spec.rb +3 -298
  310. data/spec/helpers/catalog_helper_spec.rb +60 -115
  311. data/spec/i18n_spec.rb +1 -0
  312. data/spec/integration/generators/blacklight/solr_generator_spec.rb +1 -1
  313. data/spec/lib/blacklight/configuration/facet_field_spec.rb +27 -16
  314. data/spec/lib/blacklight/configuration/field_spec.rb +1 -1
  315. data/spec/lib/blacklight/configuration/session_tracking_config_spec.rb +38 -0
  316. data/spec/lib/blacklight/configuration/view_config_spec.rb +1 -1
  317. data/spec/lib/blacklight/open_struct_with_hash_access_spec.rb +4 -4
  318. data/spec/lib/blacklight/parameters_spec.rb +1 -4
  319. data/spec/lib/blacklight/search_state/filter_field_spec.rb +4 -4
  320. data/spec/lib/blacklight/search_state/pivot_filter_field_spec.rb +117 -0
  321. data/spec/lib/blacklight/search_state_spec.rb +80 -198
  322. data/spec/lib/tasks/blacklight_task_spec.rb +1 -0
  323. data/spec/models/blacklight/configuration_spec.rb +41 -53
  324. data/spec/models/blacklight/document/active_model_shim_spec.rb +2 -2
  325. data/spec/models/blacklight/icon_spec.rb +29 -15
  326. data/spec/models/blacklight/search_builder_spec.rb +12 -12
  327. data/spec/models/blacklight/solr/document_spec.rb +3 -3
  328. data/spec/models/blacklight/solr/request_spec.rb +2 -2
  329. data/spec/models/blacklight/solr/response/facets_spec.rb +27 -27
  330. data/spec/models/blacklight/solr/response/group_response_spec.rb +1 -0
  331. data/spec/models/blacklight/solr/response/group_spec.rb +1 -0
  332. data/spec/models/blacklight/solr/response_spec.rb +9 -2
  333. data/spec/models/blacklight/solr/search_builder_spec.rb +32 -23
  334. data/spec/models/blacklight/user_spec.rb +22 -0
  335. data/spec/models/record_mailer_spec.rb +36 -23
  336. data/spec/models/solr_document_spec.rb +21 -3
  337. data/spec/presenters/blacklight/clause_presenter_spec.rb +1 -0
  338. data/spec/presenters/blacklight/document_presenter_spec.rb +3 -2
  339. data/spec/presenters/blacklight/facet_field_presenter_spec.rb +85 -12
  340. data/spec/presenters/blacklight/facet_grouped_item_presenter_spec.rb +1 -0
  341. data/spec/presenters/blacklight/facet_item_presenter_spec.rb +14 -13
  342. data/spec/presenters/blacklight/field_presenter_spec.rb +2 -16
  343. data/spec/presenters/blacklight/index_presenter_spec.rb +3 -4
  344. data/spec/presenters/blacklight/json_presenter_spec.rb +1 -0
  345. data/spec/presenters/blacklight/link_alternate_presenter_spec.rb +3 -2
  346. data/spec/presenters/blacklight/show_presenter_spec.rb +11 -25
  347. data/spec/presenters/pipeline_spec.rb +13 -2
  348. data/spec/presenters/thumbnail_presenter_spec.rb +1 -1
  349. data/spec/requests/load_suggestions_spec.rb +16 -0
  350. data/spec/routing/catalog_routing_spec.rb +6 -1
  351. data/spec/services/blacklight/search_service_spec.rb +31 -68
  352. data/spec/spec_helper.rb +4 -3
  353. data/spec/support/controller_level_helpers.rb +1 -2
  354. data/spec/support/features/search_helpers.rb +39 -0
  355. data/spec/support/features/session_helpers.rb +1 -0
  356. data/spec/support/features.rb +3 -0
  357. data/spec/support/view_component_test_helpers.rb +21 -0
  358. data/spec/test_app_templates/Gemfile.extra +4 -0
  359. data/spec/test_app_templates/lib/generators/test_app_generator.rb +17 -2
  360. data/spec/views/catalog/_document.html.erb_spec.rb +23 -33
  361. data/spec/views/catalog/_document_list.html.erb_spec.rb +7 -2
  362. data/spec/views/catalog/_facet_index_navigation.html.erb_spec.rb +1 -1
  363. data/spec/views/catalog/_search_header.erb_spec.rb +1 -0
  364. data/spec/views/catalog/_show_sidebar.erb_spec.rb +1 -0
  365. data/spec/views/catalog/_show_tools.html.erb_spec.rb +7 -54
  366. data/spec/views/catalog/_view_type_group.html.erb_spec.rb +17 -9
  367. data/spec/views/catalog/email_success.html.erb_spec.rb +2 -2
  368. data/spec/views/catalog/facet.html.erb_spec.rb +6 -3
  369. data/spec/views/catalog/index.atom.builder_spec.rb +18 -11
  370. data/spec/views/catalog/index.html.erb_spec.rb +5 -6
  371. data/spec/views/catalog/index.json.jbuilder_spec.rb +3 -3
  372. data/spec/views/catalog/show.html.erb_spec.rb +3 -25
  373. data/spec/views/catalog/sms_success.html.erb_spec.rb +2 -2
  374. data/tasks/blacklight.rake +7 -5
  375. metadata +95 -123
  376. data/.babelrc +0 -11
  377. data/app/assets/images/blacklight/list.svg +0 -1
  378. data/app/assets/images/blacklight/search.svg +0 -1
  379. data/app/assets/stylesheets/blacklight/_twitter_typeahead.scss +0 -37
  380. data/app/components/blacklight/content_areas_shim.rb +0 -13
  381. data/app/components/blacklight/search_context_component.rb +0 -34
  382. data/app/controllers/concerns/blacklight/base.rb +0 -7
  383. data/app/controllers/concerns/blacklight/default_component_configuration.rb +0 -64
  384. data/app/controllers/concerns/blacklight/facet.rb +0 -69
  385. data/app/controllers/concerns/blacklight/search_fields.rb +0 -46
  386. data/app/helpers/blacklight/hash_as_hidden_fields_helper_behavior.rb +0 -27
  387. data/app/helpers/blacklight/render_constraints_helper_behavior.rb +0 -188
  388. data/app/helpers/blacklight/search_history_constraints_helper_behavior.rb +0 -97
  389. data/app/helpers/blacklight/suggest_helper_behavior.rb +0 -13
  390. data/app/javascript/blacklight/autocomplete.js +0 -36
  391. data/app/javascript/blacklight/facet_load.js +0 -22
  392. data/app/models/concerns/blacklight/document/email.rb +0 -26
  393. data/app/models/concerns/blacklight/document/sms.rb +0 -24
  394. data/app/presenters/blacklight/search_bar_presenter.rb +0 -47
  395. data/app/views/catalog/_constraints_element.html.erb +0 -14
  396. data/app/views/catalog/_document_action.html.erb +0 -5
  397. data/app/views/catalog/_facet_group.html.erb +0 -5
  398. data/app/views/catalog/_facet_limit.html.erb +0 -3
  399. data/app/views/catalog/_index.html.erb +0 -1
  400. data/app/views/catalog/_index_header.html.erb +0 -22
  401. data/app/views/catalog/_previous_next_doc.html.erb +0 -2
  402. data/app/views/catalog/_show.html.erb +0 -6
  403. data/app/views/catalog/_show_header.html.erb +0 -2
  404. data/app/views/catalog/_thumbnail.html.erb +0 -1
  405. data/lib/blacklight/deprecations/engine_configuration.rb +0 -66
  406. data/lib/blacklight/deprecations/search_state_normalization.rb +0 -52
  407. data/spec/controllers/blacklight/facet_spec.rb +0 -33
  408. data/spec/controllers/blacklight/search_fields_spec.rb +0 -62
  409. data/spec/features/sitelinks_search_box.rb +0 -13
  410. data/spec/helpers/blacklight/hash_as_hidden_fields_behavior_spec.rb +0 -26
  411. data/spec/helpers/blacklight/render_constraints_helper_behavior_spec.rb +0 -92
  412. data/spec/helpers/blacklight/search_history_constraints_helper_behavior_spec.rb +0 -108
  413. data/spec/helpers/blacklight/suggest_helper_behavior_spec.rb +0 -48
  414. data/spec/lib/blacklight/engine_spec.rb +0 -41
  415. data/spec/models/blacklight/document/email_spec.rb +0 -57
  416. data/spec/models/blacklight/document/sms_spec.rb +0 -58
  417. data/spec/presenters/blacklight/search_bar_presenter_spec.rb +0 -94
  418. data/spec/support/view_component_capybara_test_helpers.rb +0 -8
  419. data/spec/views/catalog/_constraints.html.erb_spec.rb +0 -33
  420. data/spec/views/catalog/_facet_group.html.erb_spec.rb +0 -84
  421. data/spec/views/catalog/_facets.html.erb_spec.rb +0 -15
  422. data/spec/views/catalog/_index.html.erb_spec.rb +0 -62
  423. data/spec/views/catalog/_index_header.html.erb_spec.rb +0 -35
  424. data/spec/views/catalog/_previous_next_doc.html.erb_spec.rb +0 -22
  425. data/spec/views/catalog/_show.html.erb_spec.rb +0 -62
  426. data/spec/views/catalog/_thumbnail.html.erb_spec.rb +0 -38
  427. /data/app/components/blacklight/{search_context_component.html.erb → search_context/server_item_pagination_component.html.erb} +0 -0
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: 7.33.0
4
+ version: 8.0.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: 2022-12-12 00:00:00.000000000 Z
20
+ date: 2023-03-16 00:00:00.000000000 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: rails
@@ -25,20 +25,20 @@ dependencies:
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: '5.1'
28
+ version: '6.1'
29
29
  - - "<"
30
30
  - !ruby/object:Gem::Version
31
- version: '7.1'
31
+ version: '8'
32
32
  type: :runtime
33
33
  prerelease: false
34
34
  version_requirements: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - ">="
37
37
  - !ruby/object:Gem::Version
38
- version: '5.1'
38
+ version: '6.1'
39
39
  - - "<"
40
40
  - !ruby/object:Gem::Version
41
- version: '7.1'
41
+ version: '8'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: globalid
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -81,20 +81,6 @@ dependencies:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0.15'
84
- - !ruby/object:Gem::Dependency
85
- name: deprecation
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: '0'
91
- type: :runtime
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- version: '0'
98
84
  - !ruby/object:Gem::Dependency
99
85
  name: i18n
100
86
  requirement: !ruby/object:Gem::Requirement
@@ -127,30 +113,22 @@ dependencies:
127
113
  name: view_component
128
114
  requirement: !ruby/object:Gem::Requirement
129
115
  requirements:
130
- - - "~>"
131
- - !ruby/object:Gem::Version
132
- version: '2.66'
133
- type: :runtime
134
- prerelease: false
135
- version_requirements: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - "~>"
116
+ - - ">="
138
117
  - !ruby/object:Gem::Version
139
118
  version: '2.66'
140
- - !ruby/object:Gem::Dependency
141
- name: hashdiff
142
- requirement: !ruby/object:Gem::Requirement
143
- requirements:
144
- - - ">="
119
+ - - "<"
145
120
  - !ruby/object:Gem::Version
146
- version: '0'
121
+ version: '3.1'
147
122
  type: :runtime
148
123
  prerelease: false
149
124
  version_requirements: !ruby/object:Gem::Requirement
150
125
  requirements:
151
126
  - - ">="
152
127
  - !ruby/object:Gem::Version
153
- version: '0'
128
+ version: '2.66'
129
+ - - "<"
130
+ - !ruby/object:Gem::Version
131
+ version: '3.1'
154
132
  - !ruby/object:Gem::Dependency
155
133
  name: rsolr
156
134
  requirement: !ruby/object:Gem::Requirement
@@ -177,14 +155,14 @@ dependencies:
177
155
  requirements:
178
156
  - - "~>"
179
157
  - !ruby/object:Gem::Version
180
- version: '5.0'
158
+ version: '6.0'
181
159
  type: :development
182
160
  prerelease: false
183
161
  version_requirements: !ruby/object:Gem::Requirement
184
162
  requirements:
185
163
  - - "~>"
186
164
  - !ruby/object:Gem::Version
187
- version: '5.0'
165
+ version: '6.0'
188
166
  - !ruby/object:Gem::Dependency
189
167
  name: rspec-collection_matchers
190
168
  requirement: !ruby/object:Gem::Requirement
@@ -303,42 +281,42 @@ dependencies:
303
281
  requirements:
304
282
  - - "~>"
305
283
  - !ruby/object:Gem::Version
306
- version: '0.85'
284
+ version: '1.0'
307
285
  type: :development
308
286
  prerelease: false
309
287
  version_requirements: !ruby/object:Gem::Requirement
310
288
  requirements:
311
289
  - - "~>"
312
290
  - !ruby/object:Gem::Version
313
- version: '0.85'
291
+ version: '1.0'
314
292
  - !ruby/object:Gem::Dependency
315
293
  name: rubocop-rails
316
294
  requirement: !ruby/object:Gem::Requirement
317
295
  requirements:
318
- - - "~>"
296
+ - - ">="
319
297
  - !ruby/object:Gem::Version
320
- version: '2.6'
298
+ version: '0'
321
299
  type: :development
322
300
  prerelease: false
323
301
  version_requirements: !ruby/object:Gem::Requirement
324
302
  requirements:
325
- - - "~>"
303
+ - - ">="
326
304
  - !ruby/object:Gem::Version
327
- version: '2.6'
305
+ version: '0'
328
306
  - !ruby/object:Gem::Dependency
329
307
  name: rubocop-rspec
330
308
  requirement: !ruby/object:Gem::Requirement
331
309
  requirements:
332
- - - "~>"
310
+ - - ">="
333
311
  - !ruby/object:Gem::Version
334
- version: '1.43'
312
+ version: '0'
335
313
  type: :development
336
314
  prerelease: false
337
315
  version_requirements: !ruby/object:Gem::Requirement
338
316
  requirements:
339
- - - "~>"
317
+ - - ">="
340
318
  - !ruby/object:Gem::Version
341
- version: '1.43'
319
+ version: '0'
342
320
  - !ruby/object:Gem::Dependency
343
321
  name: i18n-tasks
344
322
  requirement: !ruby/object:Gem::Requirement
@@ -378,7 +356,6 @@ executables: []
378
356
  extensions: []
379
357
  extra_rdoc_files: []
380
358
  files:
381
- - ".babelrc"
382
359
  - ".docker/app/Dockerfile"
383
360
  - ".docker/app/entrypoint.sh"
384
361
  - ".dockerignore"
@@ -398,11 +375,14 @@ files:
398
375
  - README.md
399
376
  - Rakefile
400
377
  - VERSION
401
- - app/assets/images/blacklight/list.svg
378
+ - app/assets/config/blacklight/manifest.js
402
379
  - app/assets/images/blacklight/logo.png
403
- - app/assets/images/blacklight/search.svg
404
380
  - app/assets/images/favicon.ico
381
+ - app/assets/javascripts/blacklight/blacklight.esm.js
382
+ - app/assets/javascripts/blacklight/blacklight.esm.js.map
405
383
  - app/assets/javascripts/blacklight/blacklight.js
384
+ - app/assets/javascripts/blacklight/blacklight.js.map
385
+ - app/assets/stylesheets/blacklight/_autocomplete.scss
406
386
  - app/assets/stylesheets/blacklight/_balanced_list.scss
407
387
  - app/assets/stylesheets/blacklight/_blacklight_base.scss
408
388
  - app/assets/stylesheets/blacklight/_bookmark.scss
@@ -420,7 +400,6 @@ files:
420
400
  - app/assets/stylesheets/blacklight/_search_form.scss
421
401
  - app/assets/stylesheets/blacklight/_search_history.scss
422
402
  - app/assets/stylesheets/blacklight/_search_results.scss
423
- - app/assets/stylesheets/blacklight/_twitter_typeahead.scss
424
403
  - app/assets/stylesheets/blacklight/blacklight.scss
425
404
  - app/assets/stylesheets/blacklight/blacklight_defaults.scss
426
405
  - app/builders/blacklight/action_builder.rb
@@ -432,7 +411,6 @@ files:
432
411
  - app/components/blacklight/constraint_layout_component.rb
433
412
  - app/components/blacklight/constraints_component.html.erb
434
413
  - app/components/blacklight/constraints_component.rb
435
- - app/components/blacklight/content_areas_shim.rb
436
414
  - app/components/blacklight/document/action_component.html.erb
437
415
  - app/components/blacklight/document/action_component.rb
438
416
  - app/components/blacklight/document/actions_component.html.erb
@@ -445,6 +423,10 @@ files:
445
423
  - app/components/blacklight/document/group_component.rb
446
424
  - app/components/blacklight/document/more_like_this_component.html.erb
447
425
  - app/components/blacklight/document/more_like_this_component.rb
426
+ - app/components/blacklight/document/show_tools_component.html.erb
427
+ - app/components/blacklight/document/show_tools_component.rb
428
+ - app/components/blacklight/document/sidebar_component.html.erb
429
+ - app/components/blacklight/document/sidebar_component.rb
448
430
  - app/components/blacklight/document/thumbnail_component.html.erb
449
431
  - app/components/blacklight/document/thumbnail_component.rb
450
432
  - app/components/blacklight/document_component.html.erb
@@ -469,12 +451,18 @@ files:
469
451
  - app/components/blacklight/facet_field_pagination_component.rb
470
452
  - app/components/blacklight/facet_item_component.rb
471
453
  - app/components/blacklight/facet_item_pivot_component.rb
454
+ - app/components/blacklight/header_component.html.erb
455
+ - app/components/blacklight/header_component.rb
472
456
  - app/components/blacklight/hidden_search_state_component.rb
473
457
  - app/components/blacklight/icons/icon_component.rb
458
+ - app/components/blacklight/icons/legacy_icon_component.rb
459
+ - app/components/blacklight/icons/list_component.rb
460
+ - app/components/blacklight/icons/search_component.rb
474
461
  - app/components/blacklight/metadata_field_component.html.erb
475
462
  - app/components/blacklight/metadata_field_component.rb
476
463
  - app/components/blacklight/metadata_field_layout_component.html.erb
477
464
  - app/components/blacklight/metadata_field_layout_component.rb
465
+ - app/components/blacklight/metadata_field_plain_text_layout_component.rb
478
466
  - app/components/blacklight/response/facet_group_component.html.erb
479
467
  - app/components/blacklight/response/facet_group_component.rb
480
468
  - app/components/blacklight/response/pagination_component.html.erb
@@ -487,12 +475,20 @@ files:
487
475
  - app/components/blacklight/response/view_type_button_component.rb
488
476
  - app/components/blacklight/response/view_type_component.html.erb
489
477
  - app/components/blacklight/response/view_type_component.rb
478
+ - app/components/blacklight/search/sidebar_component.html.erb
479
+ - app/components/blacklight/search/sidebar_component.rb
490
480
  - app/components/blacklight/search_bar_component.html.erb
491
481
  - app/components/blacklight/search_bar_component.rb
492
482
  - app/components/blacklight/search_button_component.rb
493
- - app/components/blacklight/search_context_component.html.erb
494
- - app/components/blacklight/search_context_component.rb
483
+ - app/components/blacklight/search_context/server_applied_params_component.html.erb
484
+ - app/components/blacklight/search_context/server_applied_params_component.rb
485
+ - app/components/blacklight/search_context/server_item_pagination_component.html.erb
486
+ - app/components/blacklight/search_context/server_item_pagination_component.rb
487
+ - app/components/blacklight/search_header_component.html.erb
488
+ - app/components/blacklight/search_header_component.rb
495
489
  - app/components/blacklight/search_history_constraint_layout_component.rb
490
+ - app/components/blacklight/search_navbar_component.html.erb
491
+ - app/components/blacklight/search_navbar_component.rb
496
492
  - app/components/blacklight/start_over_button_component.rb
497
493
  - app/components/blacklight/system/dropdown_component.html.erb
498
494
  - app/components/blacklight/system/dropdown_component.rb
@@ -500,16 +496,14 @@ files:
500
496
  - app/components/blacklight/system/flash_message_component.rb
501
497
  - app/components/blacklight/system/modal_component.html.erb
502
498
  - app/components/blacklight/system/modal_component.rb
499
+ - app/components/blacklight/top_navbar_component.html.erb
500
+ - app/components/blacklight/top_navbar_component.rb
503
501
  - app/controllers/bookmarks_controller.rb
504
502
  - app/controllers/catalog_controller.rb
505
- - app/controllers/concerns/blacklight/base.rb
506
503
  - app/controllers/concerns/blacklight/bookmarks.rb
507
504
  - app/controllers/concerns/blacklight/catalog.rb
508
505
  - app/controllers/concerns/blacklight/controller.rb
509
- - app/controllers/concerns/blacklight/default_component_configuration.rb
510
- - app/controllers/concerns/blacklight/facet.rb
511
506
  - app/controllers/concerns/blacklight/search_context.rb
512
- - app/controllers/concerns/blacklight/search_fields.rb
513
507
  - app/controllers/concerns/blacklight/search_history.rb
514
508
  - app/controllers/concerns/blacklight/searchable.rb
515
509
  - app/controllers/concerns/blacklight/token_based_user.rb
@@ -518,24 +512,21 @@ files:
518
512
  - app/helpers/blacklight/catalog_helper_behavior.rb
519
513
  - app/helpers/blacklight/component_helper_behavior.rb
520
514
  - app/helpers/blacklight/configuration_helper_behavior.rb
515
+ - app/helpers/blacklight/document_helper_behavior.rb
521
516
  - app/helpers/blacklight/facets_helper_behavior.rb
522
- - app/helpers/blacklight/hash_as_hidden_fields_helper_behavior.rb
523
517
  - app/helpers/blacklight/icon_helper_behavior.rb
524
518
  - app/helpers/blacklight/layout_helper_behavior.rb
525
- - app/helpers/blacklight/render_constraints_helper_behavior.rb
526
519
  - app/helpers/blacklight/render_partials_helper_behavior.rb
527
- - app/helpers/blacklight/search_history_constraints_helper_behavior.rb
528
- - app/helpers/blacklight/suggest_helper_behavior.rb
529
520
  - app/helpers/blacklight/url_helper_behavior.rb
530
521
  - app/helpers/blacklight_helper.rb
531
522
  - app/helpers/catalog_helper.rb
532
- - app/javascript/blacklight/autocomplete.js
533
523
  - app/javascript/blacklight/bookmark_toggle.js
534
524
  - app/javascript/blacklight/button_focus.js
535
525
  - app/javascript/blacklight/checkbox_submit.js
536
526
  - app/javascript/blacklight/core.js
537
- - app/javascript/blacklight/facet_load.js
527
+ - app/javascript/blacklight/index.js
538
528
  - app/javascript/blacklight/modal.js
529
+ - app/javascript/blacklight/modalForm.js
539
530
  - app/javascript/blacklight/search_context.js
540
531
  - app/models/blacklight/facet_paginator.rb
541
532
  - app/models/blacklight/icon.rb
@@ -544,14 +535,13 @@ files:
544
535
  - app/models/concerns/blacklight/configurable.rb
545
536
  - app/models/concerns/blacklight/document.rb
546
537
  - app/models/concerns/blacklight/document/active_model_shim.rb
538
+ - app/models/concerns/blacklight/document/attributes.rb
547
539
  - app/models/concerns/blacklight/document/cache_key.rb
548
540
  - app/models/concerns/blacklight/document/dublin_core.rb
549
- - app/models/concerns/blacklight/document/email.rb
550
541
  - app/models/concerns/blacklight/document/export.rb
551
542
  - app/models/concerns/blacklight/document/extensions.rb
552
543
  - app/models/concerns/blacklight/document/schema_org.rb
553
544
  - app/models/concerns/blacklight/document/semantic_fields.rb
554
- - app/models/concerns/blacklight/document/sms.rb
555
545
  - app/models/concerns/blacklight/suggest/response.rb
556
546
  - app/models/concerns/blacklight/user.rb
557
547
  - app/models/record_mailer.rb
@@ -562,6 +552,7 @@ files:
562
552
  - app/presenters/blacklight/document_presenter.rb
563
553
  - app/presenters/blacklight/facet_field_presenter.rb
564
554
  - app/presenters/blacklight/facet_grouped_item_presenter.rb
555
+ - app/presenters/blacklight/facet_item_pivot_presenter.rb
565
556
  - app/presenters/blacklight/facet_item_presenter.rb
566
557
  - app/presenters/blacklight/field_presenter.rb
567
558
  - app/presenters/blacklight/inclusive_facet_item_presenter.rb
@@ -575,9 +566,9 @@ files:
575
566
  - app/presenters/blacklight/rendering/microdata.rb
576
567
  - app/presenters/blacklight/rendering/pipeline.rb
577
568
  - app/presenters/blacklight/rendering/terminator.rb
578
- - app/presenters/blacklight/search_bar_presenter.rb
579
569
  - app/presenters/blacklight/show_presenter.rb
580
570
  - app/presenters/blacklight/thumbnail_presenter.rb
571
+ - app/services/blacklight/bookmarks_search_builder.rb
581
572
  - app/services/blacklight/document_factory.rb
582
573
  - app/services/blacklight/field_retriever.rb
583
574
  - app/services/blacklight/search_params_yaml_coder.rb
@@ -593,18 +584,14 @@ files:
593
584
  - app/views/catalog/_bookmark_control.html.erb
594
585
  - app/views/catalog/_citation.html.erb
595
586
  - app/views/catalog/_constraints.html.erb
596
- - app/views/catalog/_constraints_element.html.erb
597
587
  - app/views/catalog/_did_you_mean.html.erb
598
588
  - app/views/catalog/_document.atom.builder
599
589
  - app/views/catalog/_document.html.erb
600
590
  - app/views/catalog/_document.rss.builder
601
- - app/views/catalog/_document_action.html.erb
602
591
  - app/views/catalog/_document_list.html.erb
603
592
  - app/views/catalog/_email_form.html.erb
604
- - app/views/catalog/_facet_group.html.erb
605
593
  - app/views/catalog/_facet_index_navigation.html.erb
606
594
  - app/views/catalog/_facet_layout.html.erb
607
- - app/views/catalog/_facet_limit.html.erb
608
595
  - app/views/catalog/_facet_pagination.html.erb
609
596
  - app/views/catalog/_facet_pivot.html.erb
610
597
  - app/views/catalog/_facets.html.erb
@@ -612,20 +599,15 @@ files:
612
599
  - app/views/catalog/_group.html.erb
613
600
  - app/views/catalog/_home.html.erb
614
601
  - app/views/catalog/_home_text.html.erb
615
- - app/views/catalog/_index.html.erb
616
- - app/views/catalog/_index_header.html.erb
617
602
  - app/views/catalog/_opensearch_response_metadata.html.erb
618
603
  - app/views/catalog/_paginate_compact.html.erb
619
604
  - app/views/catalog/_per_page_widget.html.erb
620
- - app/views/catalog/_previous_next_doc.html.erb
621
605
  - app/views/catalog/_results_pagination.html.erb
622
606
  - app/views/catalog/_search_form.html.erb
623
607
  - app/views/catalog/_search_header.html.erb
624
608
  - app/views/catalog/_search_results.html.erb
625
609
  - app/views/catalog/_search_results_header.html.erb
626
610
  - app/views/catalog/_search_sidebar.html.erb
627
- - app/views/catalog/_show.html.erb
628
- - app/views/catalog/_show_header.html.erb
629
611
  - app/views/catalog/_show_main_content.html.erb
630
612
  - app/views/catalog/_show_more_like_this.html.erb
631
613
  - app/views/catalog/_show_sidebar.html.erb
@@ -634,7 +616,6 @@ files:
634
616
  - app/views/catalog/_sort_and_per_page.html.erb
635
617
  - app/views/catalog/_sort_widget.html.erb
636
618
  - app/views/catalog/_start_over.html.erb
637
- - app/views/catalog/_thumbnail.html.erb
638
619
  - app/views/catalog/_view_type_group.html.erb
639
620
  - app/views/catalog/_zero_results.html.erb
640
621
  - app/views/catalog/advanced_search.html.erb
@@ -654,6 +635,7 @@ files:
654
635
  - app/views/catalog/show.json.jbuilder
655
636
  - app/views/catalog/sms.html.erb
656
637
  - app/views/catalog/sms_success.html.erb
638
+ - app/views/catalog/suggest.html.erb
657
639
  - app/views/kaminari/blacklight/_first_page.html.erb
658
640
  - app/views/kaminari/blacklight/_gap.html.erb
659
641
  - app/views/kaminari/blacklight/_last_page.html.erb
@@ -679,6 +661,7 @@ files:
679
661
  - app/views/shared/_user_util_links.html.erb
680
662
  - blacklight.gemspec
681
663
  - config/i18n-tasks.yml
664
+ - config/importmap.rb
682
665
  - config/locales/blacklight.ar.yml
683
666
  - config/locales/blacklight.ca.yml
684
667
  - config/locales/blacklight.de.yml
@@ -706,14 +689,14 @@ files:
706
689
  - lib/blacklight/configuration/field.rb
707
690
  - lib/blacklight/configuration/fields.rb
708
691
  - lib/blacklight/configuration/index_field.rb
692
+ - lib/blacklight/configuration/null_display_field.rb
709
693
  - lib/blacklight/configuration/null_field.rb
710
694
  - lib/blacklight/configuration/search_field.rb
695
+ - lib/blacklight/configuration/session_tracking_config.rb
711
696
  - lib/blacklight/configuration/show_field.rb
712
697
  - lib/blacklight/configuration/sort_field.rb
713
698
  - lib/blacklight/configuration/tool_config.rb
714
699
  - lib/blacklight/configuration/view_config.rb
715
- - lib/blacklight/deprecations/engine_configuration.rb
716
- - lib/blacklight/deprecations/search_state_normalization.rb
717
700
  - lib/blacklight/engine.rb
718
701
  - lib/blacklight/exceptions.rb
719
702
  - lib/blacklight/nested_open_struct_with_hash_access.rb
@@ -726,6 +709,7 @@ files:
726
709
  - lib/blacklight/search_builder.rb
727
710
  - lib/blacklight/search_state.rb
728
711
  - lib/blacklight/search_state/filter_field.rb
712
+ - lib/blacklight/search_state/pivot_filter_field.rb
729
713
  - lib/blacklight/solr.rb
730
714
  - lib/blacklight/solr/document.rb
731
715
  - lib/blacklight/solr/facet_paginator.rb
@@ -742,6 +726,9 @@ files:
742
726
  - lib/blacklight/solr/response/spelling.rb
743
727
  - lib/blacklight/solr/search_builder_behavior.rb
744
728
  - lib/blacklight/version.rb
729
+ - lib/generators/blacklight/assets/importmap_generator.rb
730
+ - lib/generators/blacklight/assets/propshaft_generator.rb
731
+ - lib/generators/blacklight/assets/sprockets_generator.rb
745
732
  - lib/generators/blacklight/assets_generator.rb
746
733
  - lib/generators/blacklight/controller_generator.rb
747
734
  - lib/generators/blacklight/document_generator.rb
@@ -778,6 +765,7 @@ files:
778
765
  - lib/generators/blacklight/user_generator.rb
779
766
  - lib/railties/blacklight.rake
780
767
  - package.json
768
+ - rollup.config.js
781
769
  - spec/components/blacklight/advanced_search_form_component_spec.rb
782
770
  - spec/components/blacklight/constraint_layout_component_spec.rb
783
771
  - spec/components/blacklight/constraints_component_spec.rb
@@ -790,18 +778,20 @@ files:
790
778
  - spec/components/blacklight/facet_field_list_component_spec.rb
791
779
  - spec/components/blacklight/facet_item_component_spec.rb
792
780
  - spec/components/blacklight/facet_item_pivot_component_spec.rb
781
+ - spec/components/blacklight/header_component_spec.rb
793
782
  - spec/components/blacklight/hidden_search_state_component_spec.rb
794
783
  - spec/components/blacklight/metadata_field_component_spec.rb
795
784
  - spec/components/blacklight/response/spellcheck_component_spec.rb
785
+ - spec/components/blacklight/response/view_type_component_spec.rb
796
786
  - spec/components/blacklight/search_bar_component_spec.rb
787
+ - spec/components/blacklight/search_context/server_applied_params_component_spec.rb
788
+ - spec/components/blacklight/search_context/server_item_pagination_component_spec.rb
797
789
  - spec/components/blacklight/start_over_button_component_spec.rb
798
790
  - spec/components/blacklight/system/flash_message_component_spec.rb
799
791
  - spec/controllers/alternate_controller_spec.rb
800
792
  - spec/controllers/application_controller_spec.rb
801
- - spec/controllers/blacklight/base_spec.rb
802
793
  - spec/controllers/blacklight/catalog/component_configuration_spec.rb
803
- - spec/controllers/blacklight/facet_spec.rb
804
- - spec/controllers/blacklight/search_fields_spec.rb
794
+ - spec/controllers/blacklight/catalog_spec.rb
805
795
  - spec/controllers/bookmarks_controller_spec.rb
806
796
  - spec/controllers/catalog_controller_spec.rb
807
797
  - spec/controllers/search_history_controller_spec.rb
@@ -810,9 +800,11 @@ files:
810
800
  - spec/features/autocomplete_spec.rb
811
801
  - spec/features/axe_spec.rb
812
802
  - spec/features/bookmarks_spec.rb
803
+ - spec/features/component_template_override_spec.rb
813
804
  - spec/features/did_you_mean_spec.rb
814
805
  - spec/features/facet_missing_spec.rb
815
806
  - spec/features/facets_spec.rb
807
+ - spec/features/modal_spec.rb
816
808
  - spec/features/record_view_spec.rb
817
809
  - spec/features/search_context_spec.rb
818
810
  - spec/features/search_crawler_spec.rb
@@ -823,17 +815,13 @@ files:
823
815
  - spec/features/search_results_spec.rb
824
816
  - spec/features/search_sort_spec.rb
825
817
  - spec/features/search_spec.rb
826
- - spec/features/sitelinks_search_box.rb
818
+ - spec/features/sitelinks_search_box_spec.rb
827
819
  - spec/fixtures/sample_solr_documents.yml
828
820
  - spec/helpers/blacklight/configuration_helper_behavior_spec.rb
829
821
  - spec/helpers/blacklight/facets_helper_behavior_spec.rb
830
- - spec/helpers/blacklight/hash_as_hidden_fields_behavior_spec.rb
831
822
  - spec/helpers/blacklight/icon_helper_behavior_spec.rb
832
823
  - spec/helpers/blacklight/layout_helper_behavior_spec.rb
833
- - spec/helpers/blacklight/render_constraints_helper_behavior_spec.rb
834
824
  - spec/helpers/blacklight/render_partials_helper_behavior_spec.rb
835
- - spec/helpers/blacklight/search_history_constraints_helper_behavior_spec.rb
836
- - spec/helpers/blacklight/suggest_helper_behavior_spec.rb
837
825
  - spec/helpers/blacklight/url_helper_behavior_spec.rb
838
826
  - spec/helpers/blacklight_helper_spec.rb
839
827
  - spec/helpers/catalog_helper_spec.rb
@@ -842,12 +830,13 @@ files:
842
830
  - spec/lib/blacklight/component_spec.rb
843
831
  - spec/lib/blacklight/configuration/facet_field_spec.rb
844
832
  - spec/lib/blacklight/configuration/field_spec.rb
833
+ - spec/lib/blacklight/configuration/session_tracking_config_spec.rb
845
834
  - spec/lib/blacklight/configuration/view_config_spec.rb
846
- - spec/lib/blacklight/engine_spec.rb
847
835
  - spec/lib/blacklight/nested_open_struct_with_hash_access_spec.rb
848
836
  - spec/lib/blacklight/open_struct_with_hash_access_spec.rb
849
837
  - spec/lib/blacklight/parameters_spec.rb
850
838
  - spec/lib/blacklight/search_state/filter_field_spec.rb
839
+ - spec/lib/blacklight/search_state/pivot_filter_field_spec.rb
851
840
  - spec/lib/blacklight/search_state_spec.rb
852
841
  - spec/lib/blacklight_spec.rb
853
842
  - spec/lib/tasks/blacklight_task_spec.rb
@@ -857,8 +846,6 @@ files:
857
846
  - spec/models/blacklight/document/active_model_shim_spec.rb
858
847
  - spec/models/blacklight/document/cache_key_spec.rb
859
848
  - spec/models/blacklight/document/dublin_core_spec.rb
860
- - spec/models/blacklight/document/email_spec.rb
861
- - spec/models/blacklight/document/sms_spec.rb
862
849
  - spec/models/blacklight/document_spec.rb
863
850
  - spec/models/blacklight/facet_paginator_spec.rb
864
851
  - spec/models/blacklight/icon_spec.rb
@@ -888,39 +875,32 @@ files:
888
875
  - spec/presenters/blacklight/index_presenter_spec.rb
889
876
  - spec/presenters/blacklight/json_presenter_spec.rb
890
877
  - spec/presenters/blacklight/link_alternate_presenter_spec.rb
891
- - spec/presenters/blacklight/search_bar_presenter_spec.rb
892
878
  - spec/presenters/blacklight/show_presenter_spec.rb
893
879
  - spec/presenters/pipeline_spec.rb
894
880
  - spec/presenters/thumbnail_presenter_spec.rb
881
+ - spec/requests/load_suggestions_spec.rb
895
882
  - spec/routing/catalog_routing_spec.rb
896
883
  - spec/routing/search_history_spec.rb
897
884
  - spec/services/blacklight/search_service_spec.rb
898
885
  - spec/spec_helper.rb
899
886
  - spec/support/controller_level_helpers.rb
900
887
  - spec/support/features.rb
888
+ - spec/support/features/search_helpers.rb
901
889
  - spec/support/features/session_helpers.rb
902
890
  - spec/support/presenter_test_helpers.rb
903
- - spec/support/view_component_capybara_test_helpers.rb
891
+ - spec/support/view_component_test_helpers.rb
904
892
  - spec/test_app_templates/Gemfile.extra
905
893
  - spec/test_app_templates/lib/generators/test_app_generator.rb
906
- - spec/views/catalog/_constraints.html.erb_spec.rb
907
894
  - spec/views/catalog/_document.html.erb_spec.rb
908
895
  - spec/views/catalog/_document_list.html.erb_spec.rb
909
- - spec/views/catalog/_facet_group.html.erb_spec.rb
910
896
  - spec/views/catalog/_facet_index_navigation.html.erb_spec.rb
911
897
  - spec/views/catalog/_facet_layout.html.erb_spec.rb
912
- - spec/views/catalog/_facets.html.erb_spec.rb
913
- - spec/views/catalog/_index.html.erb_spec.rb
914
- - spec/views/catalog/_index_header.html.erb_spec.rb
915
898
  - spec/views/catalog/_paginate_compact.html.erb_spec.rb
916
- - spec/views/catalog/_previous_next_doc.html.erb_spec.rb
917
899
  - spec/views/catalog/_search_header.erb_spec.rb
918
- - spec/views/catalog/_show.html.erb_spec.rb
919
900
  - spec/views/catalog/_show_sidebar.erb_spec.rb
920
901
  - spec/views/catalog/_show_tools.html.erb_spec.rb
921
902
  - spec/views/catalog/_sort_and_per_page.html.erb_spec.rb
922
903
  - spec/views/catalog/_sort_widget.html.erb_spec.rb
923
- - spec/views/catalog/_thumbnail.html.erb_spec.rb
924
904
  - spec/views/catalog/_view_type_group.html.erb_spec.rb
925
905
  - spec/views/catalog/email_success.html.erb_spec.rb
926
906
  - spec/views/catalog/facet.html.erb_spec.rb
@@ -947,14 +927,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
947
927
  requirements:
948
928
  - - ">="
949
929
  - !ruby/object:Gem::Version
950
- version: '2.5'
930
+ version: '2.7'
951
931
  required_rubygems_version: !ruby/object:Gem::Requirement
952
932
  requirements:
953
933
  - - ">="
954
934
  - !ruby/object:Gem::Version
955
935
  version: '0'
956
936
  requirements: []
957
- rubygems_version: 3.3.7
937
+ rubygems_version: 3.1.6
958
938
  signing_key:
959
939
  specification_version: 4
960
940
  summary: Blacklight provides a discovery interface for any Solr (http://lucene.apache.org/solr)
@@ -972,18 +952,20 @@ test_files:
972
952
  - spec/components/blacklight/facet_field_list_component_spec.rb
973
953
  - spec/components/blacklight/facet_item_component_spec.rb
974
954
  - spec/components/blacklight/facet_item_pivot_component_spec.rb
955
+ - spec/components/blacklight/header_component_spec.rb
975
956
  - spec/components/blacklight/hidden_search_state_component_spec.rb
976
957
  - spec/components/blacklight/metadata_field_component_spec.rb
977
958
  - spec/components/blacklight/response/spellcheck_component_spec.rb
959
+ - spec/components/blacklight/response/view_type_component_spec.rb
978
960
  - spec/components/blacklight/search_bar_component_spec.rb
961
+ - spec/components/blacklight/search_context/server_applied_params_component_spec.rb
962
+ - spec/components/blacklight/search_context/server_item_pagination_component_spec.rb
979
963
  - spec/components/blacklight/start_over_button_component_spec.rb
980
964
  - spec/components/blacklight/system/flash_message_component_spec.rb
981
965
  - spec/controllers/alternate_controller_spec.rb
982
966
  - spec/controllers/application_controller_spec.rb
983
- - spec/controllers/blacklight/base_spec.rb
984
967
  - spec/controllers/blacklight/catalog/component_configuration_spec.rb
985
- - spec/controllers/blacklight/facet_spec.rb
986
- - spec/controllers/blacklight/search_fields_spec.rb
968
+ - spec/controllers/blacklight/catalog_spec.rb
987
969
  - spec/controllers/bookmarks_controller_spec.rb
988
970
  - spec/controllers/catalog_controller_spec.rb
989
971
  - spec/controllers/search_history_controller_spec.rb
@@ -992,9 +974,11 @@ test_files:
992
974
  - spec/features/autocomplete_spec.rb
993
975
  - spec/features/axe_spec.rb
994
976
  - spec/features/bookmarks_spec.rb
977
+ - spec/features/component_template_override_spec.rb
995
978
  - spec/features/did_you_mean_spec.rb
996
979
  - spec/features/facet_missing_spec.rb
997
980
  - spec/features/facets_spec.rb
981
+ - spec/features/modal_spec.rb
998
982
  - spec/features/record_view_spec.rb
999
983
  - spec/features/search_context_spec.rb
1000
984
  - spec/features/search_crawler_spec.rb
@@ -1005,17 +989,13 @@ test_files:
1005
989
  - spec/features/search_results_spec.rb
1006
990
  - spec/features/search_sort_spec.rb
1007
991
  - spec/features/search_spec.rb
1008
- - spec/features/sitelinks_search_box.rb
992
+ - spec/features/sitelinks_search_box_spec.rb
1009
993
  - spec/fixtures/sample_solr_documents.yml
1010
994
  - spec/helpers/blacklight/configuration_helper_behavior_spec.rb
1011
995
  - spec/helpers/blacklight/facets_helper_behavior_spec.rb
1012
- - spec/helpers/blacklight/hash_as_hidden_fields_behavior_spec.rb
1013
996
  - spec/helpers/blacklight/icon_helper_behavior_spec.rb
1014
997
  - spec/helpers/blacklight/layout_helper_behavior_spec.rb
1015
- - spec/helpers/blacklight/render_constraints_helper_behavior_spec.rb
1016
998
  - spec/helpers/blacklight/render_partials_helper_behavior_spec.rb
1017
- - spec/helpers/blacklight/search_history_constraints_helper_behavior_spec.rb
1018
- - spec/helpers/blacklight/suggest_helper_behavior_spec.rb
1019
999
  - spec/helpers/blacklight/url_helper_behavior_spec.rb
1020
1000
  - spec/helpers/blacklight_helper_spec.rb
1021
1001
  - spec/helpers/catalog_helper_spec.rb
@@ -1024,12 +1004,13 @@ test_files:
1024
1004
  - spec/lib/blacklight/component_spec.rb
1025
1005
  - spec/lib/blacklight/configuration/facet_field_spec.rb
1026
1006
  - spec/lib/blacklight/configuration/field_spec.rb
1007
+ - spec/lib/blacklight/configuration/session_tracking_config_spec.rb
1027
1008
  - spec/lib/blacklight/configuration/view_config_spec.rb
1028
- - spec/lib/blacklight/engine_spec.rb
1029
1009
  - spec/lib/blacklight/nested_open_struct_with_hash_access_spec.rb
1030
1010
  - spec/lib/blacklight/open_struct_with_hash_access_spec.rb
1031
1011
  - spec/lib/blacklight/parameters_spec.rb
1032
1012
  - spec/lib/blacklight/search_state/filter_field_spec.rb
1013
+ - spec/lib/blacklight/search_state/pivot_filter_field_spec.rb
1033
1014
  - spec/lib/blacklight/search_state_spec.rb
1034
1015
  - spec/lib/blacklight_spec.rb
1035
1016
  - spec/lib/tasks/blacklight_task_spec.rb
@@ -1039,8 +1020,6 @@ test_files:
1039
1020
  - spec/models/blacklight/document/active_model_shim_spec.rb
1040
1021
  - spec/models/blacklight/document/cache_key_spec.rb
1041
1022
  - spec/models/blacklight/document/dublin_core_spec.rb
1042
- - spec/models/blacklight/document/email_spec.rb
1043
- - spec/models/blacklight/document/sms_spec.rb
1044
1023
  - spec/models/blacklight/document_spec.rb
1045
1024
  - spec/models/blacklight/facet_paginator_spec.rb
1046
1025
  - spec/models/blacklight/icon_spec.rb
@@ -1070,39 +1049,32 @@ test_files:
1070
1049
  - spec/presenters/blacklight/index_presenter_spec.rb
1071
1050
  - spec/presenters/blacklight/json_presenter_spec.rb
1072
1051
  - spec/presenters/blacklight/link_alternate_presenter_spec.rb
1073
- - spec/presenters/blacklight/search_bar_presenter_spec.rb
1074
1052
  - spec/presenters/blacklight/show_presenter_spec.rb
1075
1053
  - spec/presenters/pipeline_spec.rb
1076
1054
  - spec/presenters/thumbnail_presenter_spec.rb
1055
+ - spec/requests/load_suggestions_spec.rb
1077
1056
  - spec/routing/catalog_routing_spec.rb
1078
1057
  - spec/routing/search_history_spec.rb
1079
1058
  - spec/services/blacklight/search_service_spec.rb
1080
1059
  - spec/spec_helper.rb
1081
1060
  - spec/support/controller_level_helpers.rb
1082
1061
  - spec/support/features.rb
1062
+ - spec/support/features/search_helpers.rb
1083
1063
  - spec/support/features/session_helpers.rb
1084
1064
  - spec/support/presenter_test_helpers.rb
1085
- - spec/support/view_component_capybara_test_helpers.rb
1065
+ - spec/support/view_component_test_helpers.rb
1086
1066
  - spec/test_app_templates/Gemfile.extra
1087
1067
  - spec/test_app_templates/lib/generators/test_app_generator.rb
1088
- - spec/views/catalog/_constraints.html.erb_spec.rb
1089
1068
  - spec/views/catalog/_document.html.erb_spec.rb
1090
1069
  - spec/views/catalog/_document_list.html.erb_spec.rb
1091
- - spec/views/catalog/_facet_group.html.erb_spec.rb
1092
1070
  - spec/views/catalog/_facet_index_navigation.html.erb_spec.rb
1093
1071
  - spec/views/catalog/_facet_layout.html.erb_spec.rb
1094
- - spec/views/catalog/_facets.html.erb_spec.rb
1095
- - spec/views/catalog/_index.html.erb_spec.rb
1096
- - spec/views/catalog/_index_header.html.erb_spec.rb
1097
1072
  - spec/views/catalog/_paginate_compact.html.erb_spec.rb
1098
- - spec/views/catalog/_previous_next_doc.html.erb_spec.rb
1099
1073
  - spec/views/catalog/_search_header.erb_spec.rb
1100
- - spec/views/catalog/_show.html.erb_spec.rb
1101
1074
  - spec/views/catalog/_show_sidebar.erb_spec.rb
1102
1075
  - spec/views/catalog/_show_tools.html.erb_spec.rb
1103
1076
  - spec/views/catalog/_sort_and_per_page.html.erb_spec.rb
1104
1077
  - spec/views/catalog/_sort_widget.html.erb_spec.rb
1105
- - spec/views/catalog/_thumbnail.html.erb_spec.rb
1106
1078
  - spec/views/catalog/_view_type_group.html.erb_spec.rb
1107
1079
  - spec/views/catalog/email_success.html.erb_spec.rb
1108
1080
  - spec/views/catalog/facet.html.erb_spec.rb