geoblacklight 4.4.2 → 5.0.0.pre.alpha.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (577) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build-demo-app.yml +153 -0
  3. data/.github/workflows/prune-containers.yml +19 -0
  4. data/.github/workflows/ruby.yml +54 -52
  5. data/.gitignore +2 -2
  6. data/CONTRIBUTING.md +62 -44
  7. data/Gemfile +3 -28
  8. data/Rakefile +42 -67
  9. data/app/assets/images/blacklight/logo.svg +31 -1
  10. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +1 -2
  11. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +1 -1
  12. data/app/assets/stylesheets/geoblacklight/modules/_blacklight_overrides.scss +24 -26
  13. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +13 -0
  14. data/app/assets/stylesheets/geoblacklight/modules/home.scss +2 -17
  15. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +48 -23
  16. data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +1 -15
  17. data/app/assets/stylesheets/geoblacklight/modules/item.scss +13 -11
  18. data/app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss +3 -3
  19. data/app/assets/stylesheets/geoblacklight/modules/leaflet.scss +4 -0
  20. data/app/assets/stylesheets/geoblacklight/modules/modal.scss +0 -15
  21. data/app/assets/stylesheets/geoblacklight/modules/results.scss +10 -19
  22. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +2 -2
  23. data/app/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component.rb +46 -0
  24. data/app/components/blacklight/icons/arizona_component.rb +24 -0
  25. data/app/components/blacklight/icons/arrow_circle_down_component.rb +23 -0
  26. data/app/components/blacklight/icons/baruch_cuny_component.rb +23 -0
  27. data/app/components/blacklight/icons/book_component.rb +23 -0
  28. data/app/components/blacklight/icons/bookmark_component.rb +23 -0
  29. data/app/components/blacklight/icons/cd_rom_component.rb +23 -0
  30. data/app/components/blacklight/icons/child_item_component.rb +23 -0
  31. data/app/components/blacklight/icons/circle_info_solid_component.rb +23 -0
  32. data/app/components/blacklight/icons/citation_component.rb +23 -0
  33. data/app/components/blacklight/icons/collection_component.rb +23 -0
  34. data/app/components/blacklight/icons/collections_component.rb +24 -0
  35. data/app/components/blacklight/icons/columbia_component.rb +23 -0
  36. data/app/components/blacklight/icons/cornell_component.rb +25 -0
  37. data/app/components/blacklight/icons/datasets_component.rb +27 -0
  38. data/app/components/blacklight/icons/dvd_rom_component.rb +23 -0
  39. data/app/components/blacklight/icons/email_component.rb +23 -0
  40. data/app/components/blacklight/icons/esri_globe_component.rb +51 -0
  41. data/app/components/blacklight/icons/fire_solid_component.rb +23 -0
  42. data/app/components/blacklight/icons/george_mason_component.rb +24 -0
  43. data/app/components/blacklight/icons/globe_component.rb +23 -0
  44. data/app/components/blacklight/icons/harvard_component.rb +23 -0
  45. data/app/components/blacklight/icons/home_component.rb +23 -0
  46. data/app/components/blacklight/icons/iiif_drag_drop_component.rb +31 -0
  47. data/app/components/blacklight/icons/image_component.rb +23 -0
  48. data/app/components/blacklight/icons/imagery_component.rb +24 -0
  49. data/app/components/blacklight/icons/indiana_component.rb +23 -0
  50. data/app/components/blacklight/icons/leaf_component.rb +23 -0
  51. data/app/components/blacklight/icons/lewis_clark_component.rb +25 -0
  52. data/app/components/blacklight/icons/lightbulb_solid_component.rb +23 -0
  53. data/app/components/blacklight/icons/line_component.rb +24 -0
  54. data/app/components/blacklight/icons/map_component.rb +23 -0
  55. data/app/components/blacklight/icons/map_marker_component.rb +23 -0
  56. data/app/components/blacklight/icons/maps_component.rb +24 -0
  57. data/app/components/blacklight/icons/massgis_component.rb +23 -0
  58. data/app/components/blacklight/icons/metadata_component.rb +23 -0
  59. data/app/components/blacklight/icons/michigan_state_university_component.rb +25 -0
  60. data/app/components/blacklight/icons/mit_component.rb +23 -0
  61. data/app/components/blacklight/icons/mixed_component.rb +25 -0
  62. data/app/components/blacklight/icons/multilinestring_component.rb +26 -0
  63. data/app/components/blacklight/icons/multipoint_component.rb +23 -0
  64. data/app/components/blacklight/icons/multipolygon_component.rb +26 -0
  65. data/app/components/blacklight/icons/northwestern_university_component.rb +24 -0
  66. data/app/components/blacklight/icons/nyu_component.rb +26 -0
  67. data/app/components/blacklight/icons/pagelines_brands_component.rb +23 -0
  68. data/app/components/blacklight/icons/paper_map_component.rb +23 -0
  69. data/app/components/blacklight/icons/parent_item_component.rb +23 -0
  70. data/app/components/blacklight/icons/pennsylvania_state_university_component.rb +25 -0
  71. data/app/components/blacklight/icons/point_component.rb +23 -0
  72. data/app/components/blacklight/icons/polygon_component.rb +24 -0
  73. data/app/components/blacklight/icons/polyline_component.rb +26 -0
  74. data/app/components/blacklight/icons/princeton_component.rb +23 -0
  75. data/app/components/blacklight/icons/public_component.rb +23 -0
  76. data/app/components/blacklight/icons/purdue_university_component.rb +25 -0
  77. data/app/components/blacklight/icons/raster_component.rb +23 -0
  78. data/app/components/blacklight/icons/restricted_component.rb +23 -0
  79. data/app/components/blacklight/icons/rutgers_component.rb +25 -0
  80. data/app/components/blacklight/icons/sms_component.rb +23 -0
  81. data/app/components/blacklight/icons/stanford_component.rb +23 -0
  82. data/app/components/blacklight/icons/table_component.rb +23 -0
  83. data/app/components/blacklight/icons/tags_component.rb +23 -0
  84. data/app/components/blacklight/icons/texas_component.rb +23 -0
  85. data/app/components/blacklight/icons/the_ohio_state_university_component.rb +26 -0
  86. data/app/components/blacklight/icons/triangle_exclamation_solid_component.rb +23 -0
  87. data/app/components/blacklight/icons/tufts_component.rb +23 -0
  88. data/app/components/blacklight/icons/ucla_component.rb +23 -0
  89. data/app/components/blacklight/icons/university_of_california_berkeley_component.rb +24 -0
  90. data/app/components/blacklight/icons/university_of_chicago_component.rb +25 -0
  91. data/app/components/blacklight/icons/university_of_colorado_boulder_component.rb +26 -0
  92. data/app/components/blacklight/icons/university_of_illinois_urbana_champaign_component.rb +25 -0
  93. data/app/components/blacklight/icons/university_of_iowa_component.rb +24 -0
  94. data/app/components/blacklight/icons/university_of_maryland_component.rb +24 -0
  95. data/app/components/blacklight/icons/university_of_michigan_component.rb +24 -0
  96. data/app/components/blacklight/icons/university_of_minnesota_component.rb +24 -0
  97. data/app/components/blacklight/icons/university_of_nebraska_lincoln_component.rb +27 -0
  98. data/app/components/blacklight/icons/university_of_wisconsin_madison_component.rb +24 -0
  99. data/app/components/blacklight/icons/uva_component.rb +23 -0
  100. data/app/components/blacklight/icons/web_services_component.rb +23 -0
  101. data/app/components/blacklight/icons/websites_component.rb +24 -0
  102. data/app/components/geoblacklight/arcgis_component.html.erb +3 -0
  103. data/app/components/geoblacklight/arcgis_component.rb +25 -0
  104. data/app/components/geoblacklight/attribute_table_component.html.erb +17 -0
  105. data/app/components/geoblacklight/attribute_table_component.rb +17 -0
  106. data/app/components/geoblacklight/data_dictionary_download_component.html.erb +3 -0
  107. data/app/components/geoblacklight/data_dictionary_download_component.rb +16 -0
  108. data/app/components/geoblacklight/display_note_component.rb +1 -1
  109. data/app/components/geoblacklight/document/citation_component.html.erb +1 -0
  110. data/app/components/geoblacklight/document/citation_component.rb +19 -0
  111. data/app/components/geoblacklight/document/sidebar_component.html.erb +12 -0
  112. data/app/components/geoblacklight/document/sidebar_component.rb +8 -0
  113. data/app/components/geoblacklight/document_component.html.erb +43 -0
  114. data/app/components/geoblacklight/document_component.rb +6 -0
  115. data/app/components/geoblacklight/download_links_component.html.erb +31 -0
  116. data/app/components/geoblacklight/download_links_component.rb +80 -0
  117. data/app/components/geoblacklight/header_component.html.erb +14 -0
  118. data/app/components/geoblacklight/header_component.rb +9 -0
  119. data/app/components/geoblacklight/header_icons_component.html.erb +3 -0
  120. data/app/components/geoblacklight/header_icons_component.rb +29 -0
  121. data/app/components/geoblacklight/iiif_drag_drop_component.html.erb +3 -0
  122. data/app/components/geoblacklight/iiif_drag_drop_component.rb +16 -0
  123. data/app/components/geoblacklight/index_map_inspect_component.rb +15 -0
  124. data/app/components/geoblacklight/index_map_legend_component.html.erb +14 -0
  125. data/app/components/geoblacklight/index_map_legend_component.rb +17 -0
  126. data/app/components/geoblacklight/item_map_viewer_component.html.erb +1 -0
  127. data/app/components/geoblacklight/item_map_viewer_component.rb +87 -0
  128. data/app/components/geoblacklight/location_leaflet_map_component.html.erb +1 -0
  129. data/app/components/geoblacklight/location_leaflet_map_component.rb +49 -0
  130. data/app/components/geoblacklight/login_link_component.html.erb +5 -0
  131. data/app/components/geoblacklight/login_link_component.rb +17 -0
  132. data/app/components/geoblacklight/relations_component.html.erb +23 -0
  133. data/app/components/geoblacklight/relations_component.rb +25 -0
  134. data/app/components/geoblacklight/search_result_component.html.erb +44 -0
  135. data/app/{presenters/geoblacklight/document_presenter.rb → components/geoblacklight/search_result_component.rb} +9 -6
  136. data/app/components/geoblacklight/static_map_component.html.erb +9 -0
  137. data/app/components/geoblacklight/static_map_component.rb +36 -0
  138. data/app/components/geoblacklight/viewer_help_text_component.html.erb +1 -0
  139. data/app/components/geoblacklight/viewer_help_text_component.rb +46 -0
  140. data/app/components/geoblacklight/web_services_component.html.erb +1 -0
  141. data/app/components/geoblacklight/web_services_component.rb +26 -0
  142. data/app/{views/catalog/_web_services_default.html.erb → components/geoblacklight/web_services_default_component.html.erb} +3 -5
  143. data/app/components/geoblacklight/web_services_default_component.rb +11 -0
  144. data/app/components/geoblacklight/web_services_link_component.html.erb +3 -0
  145. data/app/components/geoblacklight/web_services_link_component.rb +22 -0
  146. data/app/{views/catalog/_web_services_wfs.html.erb → components/geoblacklight/web_services_wfs_component.html.erb} +4 -7
  147. data/app/components/geoblacklight/web_services_wfs_component.rb +12 -0
  148. data/app/components/geoblacklight/web_services_wms_component.html.erb +10 -0
  149. data/app/components/geoblacklight/web_services_wms_component.rb +12 -0
  150. data/app/controllers/download_controller.rb +8 -24
  151. data/app/helpers/geoblacklight_helper.rb +10 -194
  152. data/app/javascript/geoblacklight/controllers/clipboard_controller.js +11 -0
  153. data/app/javascript/geoblacklight/controllers/clover_viewer_controller.js +47 -0
  154. data/app/javascript/geoblacklight/controllers/downloads_controller.js +56 -0
  155. data/app/javascript/geoblacklight/controllers/leaflet_viewer_controller.js +217 -0
  156. data/app/javascript/geoblacklight/controllers/oembed_viewer_controller.js +18 -0
  157. data/app/javascript/geoblacklight/controllers/openlayers_viewer_controller.js +63 -0
  158. data/app/javascript/geoblacklight/controllers/search_results_controller.js +50 -0
  159. data/app/javascript/geoblacklight/core.js +69 -0
  160. data/app/javascript/geoblacklight/index.js +29 -0
  161. data/app/javascript/geoblacklight/initializers/metadata_download.js +54 -0
  162. data/app/javascript/geoblacklight/initializers/popovers.js +11 -0
  163. data/app/javascript/geoblacklight/initializers/relations.js +40 -0
  164. data/app/javascript/geoblacklight/initializers/tooltips.js +55 -0
  165. data/app/javascript/geoblacklight/initializers/truncation.js +45 -0
  166. data/app/javascript/geoblacklight/leaflet/basemaps.js +74 -0
  167. data/app/javascript/geoblacklight/leaflet/constants.js +18 -0
  168. data/app/javascript/geoblacklight/leaflet/controls/geosearch.js +160 -0
  169. data/app/javascript/geoblacklight/leaflet/controls/layer_opacity.js +120 -0
  170. data/app/javascript/geoblacklight/leaflet/inspection.js +195 -0
  171. data/app/javascript/geoblacklight/leaflet/layer_index_map.js +120 -0
  172. data/app/javascript/geoblacklight/leaflet/layer_wmts.js +59 -0
  173. data/app/javascript/geoblacklight/leaflet/layers.js +153 -0
  174. data/app/javascript/geoblacklight/leaflet/utils.js +83 -0
  175. data/app/javascript/geoblacklight/openlayers/basemaps.js +47 -0
  176. data/app/javascript/geoblacklight/openlayers/layers.js +44 -0
  177. data/app/models/concerns/geoblacklight/solr_document/citation.rb +20 -8
  178. data/app/models/concerns/geoblacklight/solr_document.rb +22 -30
  179. data/app/presenters/geoblacklight/bbox_item_presenter.rb +1 -1
  180. data/app/views/catalog/_citation.html.erb +16 -33
  181. data/app/views/catalog/_document_split.html.erb +18 -3
  182. data/app/views/catalog/_home_text.html.erb +2 -2
  183. data/app/views/catalog/_metadata.html.erb +1 -1
  184. data/app/views/catalog/index.html.erb +8 -4
  185. data/app/views/catalog/metadata/_markup.html.erb +1 -1
  186. data/app/views/catalog/metadata.html.erb +14 -13
  187. data/app/views/catalog/web_services.html.erb +19 -28
  188. data/app/views/relation/index.html.erb +2 -12
  189. data/app/views/relation/index.json.jbuilder +1 -1
  190. data/compose.yml +14 -0
  191. data/config/importmap.rb +20 -0
  192. data/config/locales/geoblacklight.en.yml +15 -24
  193. data/geoblacklight.gemspec +7 -7
  194. data/lib/generators/geoblacklight/assets/importmap_generator.rb +87 -0
  195. data/lib/generators/geoblacklight/assets/vite_generator.rb +90 -0
  196. data/lib/generators/geoblacklight/assets_generator.rb +12 -37
  197. data/lib/generators/geoblacklight/install_generator.rb +11 -49
  198. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +13 -19
  199. data/lib/generators/geoblacklight/templates/assets/application.js +17 -0
  200. data/lib/generators/geoblacklight/templates/assets/application.scss +9 -4
  201. data/lib/generators/geoblacklight/templates/assets/geoblacklight.scss +11 -0
  202. data/lib/generators/geoblacklight/templates/base.html.erb +9 -12
  203. data/lib/generators/geoblacklight/templates/catalog_controller.rb +7 -15
  204. data/lib/generators/geoblacklight/templates/demo-app/Dockerfile +31 -0
  205. data/lib/generators/geoblacklight/templates/demo-app/compose.yml +26 -0
  206. data/lib/generators/geoblacklight/templates/demo-app/start-server.sh +21 -0
  207. data/lib/generators/geoblacklight/templates/package.json +7 -1
  208. data/lib/generators/geoblacklight/templates/settings.yml +45 -40
  209. data/lib/generators/geoblacklight/templates/vite.config.ts +22 -7
  210. data/lib/geoblacklight/bounding_box.rb +16 -0
  211. data/lib/geoblacklight/constants.rb +0 -1
  212. data/lib/geoblacklight/download/csv_download.rb +22 -0
  213. data/lib/geoblacklight/download/geojson_download.rb +1 -1
  214. data/lib/geoblacklight/download/geotiff_download.rb +1 -1
  215. data/lib/geoblacklight/download/kmz_download.rb +1 -1
  216. data/lib/geoblacklight/download/shapefile_download.rb +1 -1
  217. data/lib/geoblacklight/download.rb +1 -1
  218. data/lib/geoblacklight/engine.rb +15 -6
  219. data/lib/geoblacklight/item_viewer.rb +1 -1
  220. data/lib/geoblacklight/metadata/base.rb +2 -1
  221. data/lib/geoblacklight/references.rb +27 -8
  222. data/lib/geoblacklight/routes/downloadable.rb +0 -1
  223. data/lib/geoblacklight/routes.rb +0 -3
  224. data/lib/geoblacklight/version.rb +1 -1
  225. data/lib/geoblacklight/wms_layer/feature_info_response.rb +9 -6
  226. data/lib/geoblacklight.rb +6 -30
  227. data/lib/tasks/geoblacklight.rake +24 -60
  228. data/package.json +24 -17
  229. data/solr/conf/schema.xml +15 -13
  230. data/solr/conf/solrconfig.xml +6 -4
  231. data/spec/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component_spec.rb +15 -0
  232. data/spec/components/blacklight/icons/arizona_component_spec.rb +15 -0
  233. data/spec/components/blacklight/icons/arrow_circle_down_component_spec.rb +15 -0
  234. data/spec/components/blacklight/icons/baruch_cuny_component_spec.rb +15 -0
  235. data/spec/components/blacklight/icons/book_component_spec.rb +15 -0
  236. data/spec/components/blacklight/icons/bookmark_component_spec.rb +15 -0
  237. data/spec/components/blacklight/icons/cd_rom_component_spec.rb +15 -0
  238. data/spec/components/blacklight/icons/child_item_component_spec.rb +15 -0
  239. data/spec/components/blacklight/icons/circle_info_solid_component_spec.rb +15 -0
  240. data/spec/components/blacklight/icons/citation_component_spec.rb +15 -0
  241. data/spec/components/blacklight/icons/collection_component_spec.rb +15 -0
  242. data/spec/components/blacklight/icons/collections_component_spec.rb +15 -0
  243. data/spec/components/blacklight/icons/columbia_component_spec.rb +15 -0
  244. data/spec/components/blacklight/icons/cornell_component_spec.rb +15 -0
  245. data/spec/components/blacklight/icons/datasets_component_spec.rb +15 -0
  246. data/spec/components/blacklight/icons/dvd_rom_component_spec.rb +15 -0
  247. data/spec/components/blacklight/icons/email_component_spec.rb +15 -0
  248. data/spec/components/blacklight/icons/esri_globe_component_spec.rb +15 -0
  249. data/spec/components/blacklight/icons/fire_solid_component_spec.rb +15 -0
  250. data/spec/components/blacklight/icons/george_mason_component_spec.rb +15 -0
  251. data/spec/components/blacklight/icons/globe_component_spec.rb +15 -0
  252. data/spec/components/blacklight/icons/harvard_component_spec.rb +15 -0
  253. data/spec/components/blacklight/icons/home_component_spec.rb +15 -0
  254. data/spec/components/blacklight/icons/iiif_drag_drop_component_spec.rb +15 -0
  255. data/spec/components/blacklight/icons/image_component_spec.rb +15 -0
  256. data/spec/components/blacklight/icons/imagery_component_spec.rb +15 -0
  257. data/spec/components/blacklight/icons/indiana_component_spec.rb +15 -0
  258. data/spec/components/blacklight/icons/leaf_component_spec.rb +15 -0
  259. data/spec/components/blacklight/icons/lewis_clark_component_spec.rb +15 -0
  260. data/spec/components/blacklight/icons/lightbulb_solid_component_spec.rb +15 -0
  261. data/spec/components/blacklight/icons/line_component_spec.rb +15 -0
  262. data/spec/components/blacklight/icons/map_component_spec.rb +15 -0
  263. data/spec/components/blacklight/icons/map_marker_component_spec.rb +15 -0
  264. data/spec/components/blacklight/icons/maps_component_spec.rb +15 -0
  265. data/spec/components/blacklight/icons/massgis_component_spec.rb +15 -0
  266. data/spec/components/blacklight/icons/metadata_component_spec.rb +15 -0
  267. data/spec/components/blacklight/icons/michigan_state_university_component_spec.rb +15 -0
  268. data/spec/components/blacklight/icons/mit_component_spec.rb +15 -0
  269. data/spec/components/blacklight/icons/mixed_component_spec.rb +15 -0
  270. data/spec/components/blacklight/icons/multilinestring_component_spec.rb +15 -0
  271. data/spec/components/blacklight/icons/multipoint_component_spec.rb +15 -0
  272. data/spec/components/blacklight/icons/multipolygon_component_spec.rb +15 -0
  273. data/spec/components/blacklight/icons/northwestern_university_component_spec.rb +15 -0
  274. data/spec/components/blacklight/icons/nyu_component_spec.rb +15 -0
  275. data/spec/components/blacklight/icons/pagelines_brands_component_spec.rb +15 -0
  276. data/spec/components/blacklight/icons/paper_map_component_spec.rb +15 -0
  277. data/spec/components/blacklight/icons/parent_item_component_spec.rb +15 -0
  278. data/spec/components/blacklight/icons/pennsylvania_state_university_component_spec.rb +15 -0
  279. data/spec/components/blacklight/icons/point_component_spec.rb +15 -0
  280. data/spec/components/blacklight/icons/polygon_component_spec.rb +15 -0
  281. data/spec/components/blacklight/icons/polyline_component_spec.rb +15 -0
  282. data/spec/components/blacklight/icons/princeton_component_spec.rb +15 -0
  283. data/spec/components/blacklight/icons/public_component_spec.rb +15 -0
  284. data/spec/components/blacklight/icons/purdue_university_component_spec.rb +15 -0
  285. data/spec/components/blacklight/icons/raster_component_spec.rb +15 -0
  286. data/spec/components/blacklight/icons/restricted_component_spec.rb +15 -0
  287. data/spec/components/blacklight/icons/rutgers_component_spec.rb +15 -0
  288. data/spec/components/blacklight/icons/sms_component_spec.rb +15 -0
  289. data/spec/components/blacklight/icons/stanford_component_spec.rb +15 -0
  290. data/spec/components/blacklight/icons/table_component_spec.rb +15 -0
  291. data/spec/components/blacklight/icons/tags_component_spec.rb +15 -0
  292. data/spec/components/blacklight/icons/texas_component_spec.rb +15 -0
  293. data/spec/components/blacklight/icons/the_ohio_state_university_component_spec.rb +15 -0
  294. data/spec/components/blacklight/icons/triangle_exclamation_solid_component_spec.rb +15 -0
  295. data/spec/components/blacklight/icons/tufts_component_spec.rb +15 -0
  296. data/spec/components/blacklight/icons/ucla_component_spec.rb +15 -0
  297. data/spec/components/blacklight/icons/university_of_california_berkeley_component_spec.rb +15 -0
  298. data/spec/components/blacklight/icons/university_of_chicago_component_spec.rb +15 -0
  299. data/spec/components/blacklight/icons/university_of_colorado_boulder_component_spec.rb +15 -0
  300. data/spec/components/blacklight/icons/university_of_illinois_urbana_champaign_component_spec.rb +15 -0
  301. data/spec/components/blacklight/icons/university_of_iowa_component_spec.rb +15 -0
  302. data/spec/components/blacklight/icons/university_of_maryland_component_spec.rb +15 -0
  303. data/spec/components/blacklight/icons/university_of_michigan_component_spec.rb +15 -0
  304. data/spec/components/blacklight/icons/university_of_minnesota_component_spec.rb +15 -0
  305. data/spec/components/blacklight/icons/university_of_nebraska_lincoln_component_spec.rb +15 -0
  306. data/spec/components/blacklight/icons/university_of_wisconsin_madison_component_spec.rb +15 -0
  307. data/spec/components/blacklight/icons/uva_component_spec.rb +15 -0
  308. data/spec/components/blacklight/icons/web_services_component_spec.rb +15 -0
  309. data/spec/components/blacklight/icons/websites_component_spec.rb +15 -0
  310. data/spec/components/geoblacklight/arcgis_component_spec.rb +31 -0
  311. data/spec/components/geoblacklight/attribute_table_component_spec.rb +37 -0
  312. data/spec/components/geoblacklight/citation_component_spec.rb +37 -0
  313. data/spec/components/geoblacklight/document_component_spec.rb +92 -0
  314. data/spec/components/geoblacklight/download_links_component_spec.rb +102 -0
  315. data/spec/components/geoblacklight/header_icons_component_spec.rb +56 -0
  316. data/spec/components/geoblacklight/iiif_drag_drop_component_spec.rb +30 -0
  317. data/spec/components/geoblacklight/index_map_legend_component_spec.rb +42 -0
  318. data/spec/components/geoblacklight/item_map_viewer_component_spec.rb +36 -0
  319. data/spec/components/geoblacklight/login_link_component_spec.rb +33 -0
  320. data/spec/{lib/geoblacklight/document_presenter_spec.rb → components/geoblacklight/search_result_component_spec.rb} +19 -11
  321. data/spec/components/geoblacklight/static_map_component_spec.rb +22 -0
  322. data/spec/components/geoblacklight/viewer_help_text_component_spec.rb +28 -0
  323. data/spec/components/geoblacklight/web_services_component_spec.rb +45 -0
  324. data/spec/controllers/download_controller_spec.rb +12 -35
  325. data/spec/features/axe_spec.rb +66 -0
  326. data/spec/features/bookmarks_spec.rb +1 -1
  327. data/spec/features/citations_spec.rb +7 -3
  328. data/spec/features/download_layer_spec.rb +24 -39
  329. data/spec/features/esri_viewer_spec.rb +1 -1
  330. data/spec/features/exports_spec.rb +0 -15
  331. data/spec/features/{full_screen_controll_spec.rb → full_screen_control_spec.rb} +6 -6
  332. data/spec/features/home_page_spec.rb +12 -7
  333. data/spec/features/iiif_viewer_spec.rb +1 -1
  334. data/spec/features/index_map_spec.rb +16 -9
  335. data/spec/features/{split_view.html.erb_spec.rb → index_view_spec.rb} +15 -13
  336. data/spec/features/layer_inspection_spec.rb +2 -2
  337. data/spec/features/layer_preview_spec.rb +1 -1
  338. data/spec/features/missing_metadata_spec.rb +5 -5
  339. data/spec/features/oembed_spec.rb +2 -2
  340. data/spec/features/saved_searches_spec.rb +4 -1
  341. data/spec/features/search_results_complex_geometry_spec.rb +2 -2
  342. data/spec/features/search_results_icons_spec.rb +3 -3
  343. data/spec/features/search_results_map_spec.rb +4 -36
  344. data/spec/features/search_results_overlap_ratio_spec.rb +1 -1
  345. data/spec/features/show_page_download_spec.rb +0 -8
  346. data/spec/features/tilejson_spec.rb +2 -2
  347. data/spec/features/web_services_modal_spec.rb +57 -39
  348. data/spec/features/wmts_spec.rb +4 -4
  349. data/spec/fixtures/solr_documents/README.md +2 -1
  350. data/spec/fixtures/solr_documents/complex-geom.json +61 -0
  351. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +45 -24
  352. data/spec/fixtures/solr_documents/harvard_raster.json +1 -1
  353. data/spec/fixtures/solr_documents/multiple-downloads.json +1 -0
  354. data/spec/helpers/geoblacklight_helper_spec.rb +8 -173
  355. data/spec/lib/geoblacklight/download/csv_download_spec.rb +21 -0
  356. data/spec/lib/geoblacklight/reference_spec.rb +17 -19
  357. data/spec/lib/geoblacklight/references_spec.rb +31 -17
  358. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +8 -6
  359. data/spec/lib/geoblacklight/wms_layer_spec.rb +14 -0
  360. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -1
  361. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +1 -21
  362. data/spec/spec_helper.rb +2 -28
  363. data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -12
  364. data/template.rb +13 -11
  365. data/test/leaflet/layers.test.js +17 -0
  366. data/vite.config.ts +34 -23
  367. metadata +304 -256
  368. data/.hound.yml +0 -8
  369. data/.jshintignore +0 -2
  370. data/.jshintrc +0 -67
  371. data/.solr_wrapper +0 -6
  372. data/app/assets/images/blacklight/american-geographical-society-library-uwm-libraries.svg +0 -26
  373. data/app/assets/images/blacklight/arizona.svg +0 -4
  374. data/app/assets/images/blacklight/arrow-circle-down.svg +0 -3
  375. data/app/assets/images/blacklight/baruch-cuny.svg +0 -3
  376. data/app/assets/images/blacklight/book.svg +0 -3
  377. data/app/assets/images/blacklight/bookmark.svg +0 -3
  378. data/app/assets/images/blacklight/cd-rom.svg +0 -3
  379. data/app/assets/images/blacklight/chicago.svg +0 -4
  380. data/app/assets/images/blacklight/child-item.svg +0 -3
  381. data/app/assets/images/blacklight/circle-info-solid.svg +0 -1
  382. data/app/assets/images/blacklight/citation.svg +0 -3
  383. data/app/assets/images/blacklight/collection.svg +0 -3
  384. data/app/assets/images/blacklight/collections.svg +0 -4
  385. data/app/assets/images/blacklight/columbia.svg +0 -3
  386. data/app/assets/images/blacklight/cornell.svg +0 -5
  387. data/app/assets/images/blacklight/datasets.svg +0 -7
  388. data/app/assets/images/blacklight/dvd-rom.svg +0 -3
  389. data/app/assets/images/blacklight/email.svg +0 -3
  390. data/app/assets/images/blacklight/esri-globe.svg +0 -31
  391. data/app/assets/images/blacklight/fire-solid.svg +0 -1
  392. data/app/assets/images/blacklight/geoblacklight-icons.json +0 -3312
  393. data/app/assets/images/blacklight/george-mason.svg +0 -4
  394. data/app/assets/images/blacklight/globe.svg +0 -3
  395. data/app/assets/images/blacklight/harvard.svg +0 -3
  396. data/app/assets/images/blacklight/home.svg +0 -3
  397. data/app/assets/images/blacklight/illinois.svg +0 -4
  398. data/app/assets/images/blacklight/image.svg +0 -3
  399. data/app/assets/images/blacklight/imagery.svg +0 -4
  400. data/app/assets/images/blacklight/indiana.svg +0 -3
  401. data/app/assets/images/blacklight/iowa.svg +0 -3
  402. data/app/assets/images/blacklight/leaf.svg +0 -3
  403. data/app/assets/images/blacklight/lewis-clark.svg +0 -5
  404. data/app/assets/images/blacklight/lightbulb-solid.svg +0 -1
  405. data/app/assets/images/blacklight/line.svg +0 -4
  406. data/app/assets/images/blacklight/map-marker.svg +0 -3
  407. data/app/assets/images/blacklight/map.svg +0 -3
  408. data/app/assets/images/blacklight/maps.svg +0 -4
  409. data/app/assets/images/blacklight/maryland.svg +0 -3
  410. data/app/assets/images/blacklight/massgis.svg +0 -3
  411. data/app/assets/images/blacklight/metadata.svg +0 -3
  412. data/app/assets/images/blacklight/michigan-state-university.svg +0 -5
  413. data/app/assets/images/blacklight/michigan-state.svg +0 -4
  414. data/app/assets/images/blacklight/michigan.svg +0 -3
  415. data/app/assets/images/blacklight/minnesota.svg +0 -3
  416. data/app/assets/images/blacklight/mit.svg +0 -3
  417. data/app/assets/images/blacklight/mixed.svg +0 -5
  418. data/app/assets/images/blacklight/multilinestring.svg +0 -6
  419. data/app/assets/images/blacklight/multipoint.svg +0 -3
  420. data/app/assets/images/blacklight/multipolygon.svg +0 -6
  421. data/app/assets/images/blacklight/nebraska.svg +0 -4
  422. data/app/assets/images/blacklight/northwestern-university.svg +0 -5
  423. data/app/assets/images/blacklight/nyu.svg +0 -6
  424. data/app/assets/images/blacklight/ohio-state.svg +0 -5
  425. data/app/assets/images/blacklight/pagelines-brands.svg +0 -3
  426. data/app/assets/images/blacklight/paper-map.svg +0 -3
  427. data/app/assets/images/blacklight/parent-item.svg +0 -3
  428. data/app/assets/images/blacklight/penn-state.svg +0 -4
  429. data/app/assets/images/blacklight/pennsylvania-state-university.svg +0 -5
  430. data/app/assets/images/blacklight/point.svg +0 -3
  431. data/app/assets/images/blacklight/polygon.svg +0 -4
  432. data/app/assets/images/blacklight/polyline.svg +0 -6
  433. data/app/assets/images/blacklight/princeton.svg +0 -3
  434. data/app/assets/images/blacklight/public.svg +0 -3
  435. data/app/assets/images/blacklight/purdue-university.svg +0 -5
  436. data/app/assets/images/blacklight/purdue.svg +0 -4
  437. data/app/assets/images/blacklight/raster.svg +0 -3
  438. data/app/assets/images/blacklight/restricted.svg +0 -3
  439. data/app/assets/images/blacklight/rutgers.svg +0 -5
  440. data/app/assets/images/blacklight/sms.svg +0 -3
  441. data/app/assets/images/blacklight/stanford.svg +0 -3
  442. data/app/assets/images/blacklight/table.svg +0 -3
  443. data/app/assets/images/blacklight/tags.svg +0 -3
  444. data/app/assets/images/blacklight/texas.svg +0 -3
  445. data/app/assets/images/blacklight/the-ohio-state-university.svg +0 -6
  446. data/app/assets/images/blacklight/triangle-exclamation-solid.svg +0 -1
  447. data/app/assets/images/blacklight/tufts.svg +0 -3
  448. data/app/assets/images/blacklight/ucla.svg +0 -3
  449. data/app/assets/images/blacklight/university-of-california-berkeley.svg +0 -4
  450. data/app/assets/images/blacklight/university-of-chicago.svg +0 -5
  451. data/app/assets/images/blacklight/university-of-colorado-boulder.svg +0 -6
  452. data/app/assets/images/blacklight/university-of-illinois-urbana-champaign.svg +0 -5
  453. data/app/assets/images/blacklight/university-of-iowa.svg +0 -4
  454. data/app/assets/images/blacklight/university-of-maryland.svg +0 -4
  455. data/app/assets/images/blacklight/university-of-michigan.svg +0 -4
  456. data/app/assets/images/blacklight/university-of-minnesota.svg +0 -4
  457. data/app/assets/images/blacklight/university-of-nebraska-lincoln.svg +0 -7
  458. data/app/assets/images/blacklight/university-of-wisconsin-madison.svg +0 -4
  459. data/app/assets/images/blacklight/uva.svg +0 -3
  460. data/app/assets/images/blacklight/web_services.svg +0 -3
  461. data/app/assets/images/blacklight/websites.svg +0 -4
  462. data/app/assets/images/blacklight/wisconsin.svg +0 -3
  463. data/app/assets/javascripts/geoblacklight/basemaps.js +0 -85
  464. data/app/assets/javascripts/geoblacklight/controls/fullscreen.js +0 -8
  465. data/app/assets/javascripts/geoblacklight/controls/opacity.js +0 -6
  466. data/app/assets/javascripts/geoblacklight/controls.js +0 -1
  467. data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +0 -61
  468. data/app/assets/javascripts/geoblacklight/downloaders/hgl_downloader.js +0 -32
  469. data/app/assets/javascripts/geoblacklight/downloaders.js +0 -1
  470. data/app/assets/javascripts/geoblacklight/geoblacklight.js +0 -60
  471. data/app/assets/javascripts/geoblacklight/modules/bookmarks.js +0 -43
  472. data/app/assets/javascripts/geoblacklight/modules/download.js +0 -11
  473. data/app/assets/javascripts/geoblacklight/modules/geosearch.js +0 -133
  474. data/app/assets/javascripts/geoblacklight/modules/help_text.js +0 -7
  475. data/app/assets/javascripts/geoblacklight/modules/home.js +0 -16
  476. data/app/assets/javascripts/geoblacklight/modules/item.js +0 -32
  477. data/app/assets/javascripts/geoblacklight/modules/layer_opacity.js +0 -68
  478. data/app/assets/javascripts/geoblacklight/modules/metadata.js +0 -15
  479. data/app/assets/javascripts/geoblacklight/modules/metadata_download_button.js +0 -58
  480. data/app/assets/javascripts/geoblacklight/modules/relations.js +0 -14
  481. data/app/assets/javascripts/geoblacklight/modules/results.js +0 -81
  482. data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +0 -31
  483. data/app/assets/javascripts/geoblacklight/modules/util.js +0 -48
  484. data/app/assets/javascripts/geoblacklight/modules.js +0 -1
  485. data/app/assets/javascripts/geoblacklight/templates/index_map_download.hbs +0 -19
  486. data/app/assets/javascripts/geoblacklight/templates/index_map_info.hbs +0 -61
  487. data/app/assets/javascripts/geoblacklight/viewers/cog.js +0 -5
  488. data/app/assets/javascripts/geoblacklight/viewers/esri/dynamic_map_layer.js +0 -85
  489. data/app/assets/javascripts/geoblacklight/viewers/esri/feature_layer.js +0 -76
  490. data/app/assets/javascripts/geoblacklight/viewers/esri/image_map_layer.js +0 -14
  491. data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +0 -50
  492. data/app/assets/javascripts/geoblacklight/viewers/esri.js +0 -78
  493. data/app/assets/javascripts/geoblacklight/viewers/iiif.js +0 -25
  494. data/app/assets/javascripts/geoblacklight/viewers/index_map.js +0 -71
  495. data/app/assets/javascripts/geoblacklight/viewers/map.js +0 -77
  496. data/app/assets/javascripts/geoblacklight/viewers/oembed.js +0 -13
  497. data/app/assets/javascripts/geoblacklight/viewers/pmtiles.js +0 -5
  498. data/app/assets/javascripts/geoblacklight/viewers/tilejson.js +0 -33
  499. data/app/assets/javascripts/geoblacklight/viewers/tms.js +0 -10
  500. data/app/assets/javascripts/geoblacklight/viewers/viewer.js +0 -68
  501. data/app/assets/javascripts/geoblacklight/viewers/wms.js +0 -74
  502. data/app/assets/javascripts/geoblacklight/viewers/wmts.js +0 -85
  503. data/app/assets/javascripts/geoblacklight/viewers/xyz.js +0 -10
  504. data/app/assets/javascripts/geoblacklight/viewers.js +0 -1
  505. data/app/assets/stylesheets/geoblacklight/modules/mixins.scss +0 -5
  506. data/app/helpers/arcgis_helper.rb +0 -14
  507. data/app/helpers/blacklight_helper.rb +0 -11
  508. data/app/helpers/carto_helper.rb +0 -31
  509. data/app/helpers/geoblacklight/geoblacklight_helper_behavior.rb +0 -18
  510. data/app/javascript/clover/clover_initializer.js +0 -29
  511. data/app/javascript/index.js +0 -7
  512. data/app/javascript/openlayers/basemaps.js +0 -47
  513. data/app/javascript/openlayers/ol_initializer.js +0 -106
  514. data/app/javascript/stylesheets/openlayers.css +0 -1
  515. data/app/models/concerns/geoblacklight/solr_document/carto.rb +0 -17
  516. data/app/views/catalog/_arcgis.html.erb +0 -4
  517. data/app/views/catalog/_carto.html.erb +0 -4
  518. data/app/views/catalog/_data_dictionary.html.erb +0 -5
  519. data/app/views/catalog/_downloads_collapse.html.erb +0 -27
  520. data/app/views/catalog/_header_icons.html.erb +0 -3
  521. data/app/views/catalog/_index_split_default.html.erb +0 -30
  522. data/app/views/catalog/_results_pagination.html.erb +0 -12
  523. data/app/views/catalog/_show_default_attribute_table.html.erb +0 -19
  524. data/app/views/catalog/_show_default_display_note.html.erb +0 -7
  525. data/app/views/catalog/_show_default_viewer_container.html.erb +0 -28
  526. data/app/views/catalog/_show_downloads.html.erb +0 -23
  527. data/app/views/catalog/_show_header_default.html.erb +0 -4
  528. data/app/views/catalog/_show_sidebar.html.erb +0 -16
  529. data/app/views/catalog/_show_sidebar_static_map.html.erb +0 -10
  530. data/app/views/catalog/_show_web_services.html.erb +0 -11
  531. data/app/views/catalog/_web_services.html.erb +0 -9
  532. data/app/views/catalog/_web_services_wms.html.erb +0 -13
  533. data/app/views/download/hgl.html.erb +0 -27
  534. data/app/views/relation/_relations.html.erb +0 -15
  535. data/app/views/shared/_header_navbar.html.erb +0 -46
  536. data/babel.config.json +0 -4
  537. data/jest.config.js +0 -25
  538. data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +0 -1
  539. data/lib/generators/geoblacklight/templates/assets/_geoblacklight.scss +0 -1
  540. data/lib/generators/geoblacklight/templates/assets/geoblacklight.js +0 -9
  541. data/lib/generators/geoblacklight/templates/clover.js +0 -5
  542. data/lib/generators/geoblacklight/templates/ol.js +0 -6
  543. data/lib/generators/geoblacklight/templates/package-test.json +0 -10
  544. data/lib/generators/geoblacklight/templates/settings.gbl_v1.yml +0 -195
  545. data/lib/geoblacklight/download/hgl_download.rb +0 -20
  546. data/lib/geoblacklight/view_helper_override.rb +0 -16
  547. data/setupJest.js +0 -14
  548. data/spec/helpers/arcgis_helper_spec.rb +0 -16
  549. data/spec/helpers/carto_helper_spec.rb +0 -13
  550. data/spec/helpers/geoblacklight/geoblacklight_helper_behavior_spec.rb +0 -27
  551. data/spec/javascripts/util_spec.js +0 -10
  552. data/spec/lib/geoblacklight/download/hgl_download_spec.rb +0 -62
  553. data/spec/lib/geoblacklight/view_helper_override_spec.rb +0 -29
  554. data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +0 -43
  555. data/spec/test_app_templates/Gemfile.extra +0 -2
  556. data/spec/views/catalog/_document_split.html.erb_spec.rb +0 -7
  557. data/spec/views/catalog/_index_split.html.erb_spec.rb +0 -7
  558. data/spec/views/catalog/_results_pagination.html.erb_spec.rb +0 -11
  559. data/spec/views/catalog/_show_downloads.html.erb_spec.rb +0 -43
  560. data/spec/views/catalog/_show_tools.html.erb_spec.rb +0 -38
  561. data/vendor/assets/images/fullscreen.png +0 -0
  562. data/vendor/assets/images/fullscreen@2x.png +0 -0
  563. data/vendor/assets/images/layers-2x.png +0 -0
  564. data/vendor/assets/images/layers.png +0 -0
  565. data/vendor/assets/images/marker-icon-2x.png +0 -0
  566. data/vendor/assets/images/marker-icon.png +0 -0
  567. data/vendor/assets/images/marker-shadow.png +0 -0
  568. data/vendor/assets/javascripts/Leaflet.fullscreen.js +0 -152
  569. data/vendor/assets/javascripts/esri-leaflet.js +0 -12
  570. data/vendor/assets/javascripts/esri-leaflet.js.map +0 -1
  571. data/vendor/assets/javascripts/leaflet-iiif.js +0 -323
  572. data/vendor/assets/javascripts/leaflet-src.js.erb +0 -14126
  573. data/vendor/assets/javascripts/leaflet-src.js.map +0 -1
  574. data/vendor/assets/javascripts/native.history.js +0 -1
  575. data/vendor/assets/stylesheets/leaflet.css +0 -640
  576. data/vendor/assets/stylesheets/leaflet.fullscreen.css +0 -40
  577. /data/app/{views/catalog/_show_default_viewer_information.html.erb → components/geoblacklight/index_map_inspect_component.html.erb} +0 -0
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Blacklight
4
+ module Icons
5
+ class UniversityOfMichiganComponent < Blacklight::Icons::IconComponent
6
+ self.svg = svg
7
+
8
+ def svg
9
+ <<~SVG
10
+ <!-- Generated by IcoMoon.io -->
11
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="45" height="32" viewBox="0 0 45 32">
12
+ <title>#{title}</title>
13
+ <path fill="#6c757d" d="M44.59 23v9h-16.79v-9h3.63v-9.1l-9.2 12.53-9.070-12.53v9.12h3.64v8.98h-16.8v-9h3.4v-14h-3.4v-9h13.2l9.1 12.65 9.090-12.65h13.2v9h-3.4v14z"></path>
14
+ </svg>
15
+ SVG
16
+ end
17
+
18
+ def title
19
+ key = "blacklight.icon.#{name}"
20
+ t(key)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Blacklight
4
+ module Icons
5
+ class UniversityOfMinnesotaComponent < Blacklight::Icons::IconComponent
6
+ self.svg = svg
7
+
8
+ def svg
9
+ <<~SVG
10
+ <!-- Generated by IcoMoon.io -->
11
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
12
+ <title>#{title}</title>
13
+ <path fill="#6c757d" d="M29.96 20.66h2v4.85h-9.51v-4.85h1.7l-2.91-4.86-1.13 1.89h1.080v4.85h-10.42v-4.85h1.080l-1.13-1.89-2.92 4.86h1.71v4.85h-9.51v-4.85h2l5.6-9.31h-1.54v-4.86h9.32v4.86h-1.54l2.14 3.55 2.14-3.56h-1.54v-4.84h9.32v4.85h-1.54zM25.28 7.1h-8.080v3.61h2.020l-3.24 5.39-3.24-5.39h2.020v-3.6h-8.080v3.6h2.020l-6.35 10.57h-1.73v3.6h8.28v-3.6h-2.2l4.020-6.68 2.23 3.7h-1.55v3.62h9.18v-3.62h-1.56l2.23-3.71 4.020 6.68h-2.19v3.6h8.27v-3.6h-1.75l-6.35-10.56h2.020v-3.6zM24.66 7.73v2.36h-2.5l7.1 11.8h1.46v2.37h-7.030v-2.36h2.67l-5.12-8.5-3.33 5.53h2.040v2.36h-7.95v-2.36h2.040l-3.33-5.54-5.11 8.51h2.67v2.37h-7.030v-2.37h1.46l7.1-11.8h-2.5v-2.36h6.84v2.36h-2.5l4.34 7.22 4.34-7.22h-2.5v-2.36h6.84z"></path>
14
+ </svg>
15
+ SVG
16
+ end
17
+
18
+ def title
19
+ key = "blacklight.icon.#{name}"
20
+ t(key)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Blacklight
4
+ module Icons
5
+ class UniversityOfNebraskaLincolnComponent < Blacklight::Icons::IconComponent
6
+ self.svg = svg
7
+
8
+ def svg
9
+ <<~SVG
10
+ <!-- Generated by IcoMoon.io -->
11
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
12
+ <title>#{title}</title>
13
+ <path fill="#6c757d" d="M4.028 7.727v3.473h1.544v9.6h-1.544v6.946h9.864v-6.946h-1.544l0.002-1.916c0-1.805 0.002-1.912 0.032-1.869 0.040 0.055 1.084 1.704 3.185 5.028 0.501 0.791 1.476 2.334 2.566 4.056 0.518 0.817 0.964 1.523 0.99 1.566l0.049 0.081h8.292v-6.946h-1.544v-9.6h1.544l-0.004-3.469-0.006-3.467-9.854-0.009v6.946l0.768 0.004 0.766 0.006 0.006 1.905c0.002 1.048-0.002 1.907-0.009 1.907-0.009-0.002-0.363-0.553-0.789-1.229-0.721-1.143-1.506-2.383-3.584-5.67-0.457-0.725-0.958-1.517-1.112-1.76-0.152-0.243-0.514-0.815-0.802-1.271l-0.525-0.828-8.29-0.009v3.473zM12.943 5.813c0.437 0.691 1.118 1.768 1.513 2.394 0.397 0.627 1.158 1.83 1.69 2.673s1.101 1.741 1.261 1.995c0.744 1.175 1.355 2.144 1.666 2.635 0.186 0.296 0.344 0.544 0.354 0.555 0.009 0.009 0.017-1.088 0.017-2.566v-2.583h-1.544v-6.362h9.261l-0.004 3.176-0.006 3.177-0.766 0.006-0.768 0.004v10.184h1.544v6.344h-7.825l-0.966-1.53c-0.533-0.84-1.34-2.118-1.796-2.837-0.454-0.719-1.107-1.752-1.451-2.296-1.387-2.195-2.485-3.932-2.767-4.376-0.164-0.26-0.299-0.474-0.303-0.478s-0.008 1.158-0.008 2.583v2.592h1.544v6.344h-9.261v-6.344h1.544v-10.184l-0.766-0.004-0.768-0.006-0.006-3.177-0.004-3.176h7.821l0.792 1.257z"></path>
14
+ <path fill="#6c757d" d="M4.8 7.727v2.701h1.544v11.144h-1.544v5.402h8.32v-5.402h-1.544v-3.637c0-2.001 0.008-3.629 0.015-3.62 0.009 0.011 0.139 0.213 0.29 0.452 0.149 0.237 0.661 1.047 1.135 1.798 1.737 2.746 2.383 3.77 2.814 4.452 0.241 0.382 0.474 0.751 0.518 0.819 0.045 0.068 0.181 0.282 0.305 0.48 0.124 0.196 0.488 0.772 0.809 1.28 0.32 0.506 0.727 1.15 0.904 1.431 0.177 0.279 0.525 0.83 0.774 1.224l0.454 0.715 7.098 0.009v-5.402h-1.544v-11.144h1.544v-5.402h-8.32v5.402l0.768 0.004 0.766 0.006 0.006 3.62c0.002 2.366-0.002 3.62-0.015 3.614-0.009-0.002-0.166-0.239-0.344-0.523s-0.563-0.89-0.851-1.346c-0.939-1.483-2.231-3.529-2.522-3.991-0.309-0.489-2.878-4.552-3.753-5.935l-0.538-0.851h-7.087v2.701z"></path>
15
+ <path fill="#6c757d" d="M28.386 26.539c-0.107 0.036-0.243 0.117-0.297 0.181-0.273 0.309-0.186 0.776 0.177 0.96 0.098 0.049 0.13 0.056 0.271 0.056 0.124 0 0.181-0.009 0.248-0.041 0.124-0.056 0.243-0.173 0.309-0.301 0.047-0.094 0.055-0.13 0.053-0.26 0-0.117-0.009-0.171-0.043-0.239-0.109-0.226-0.299-0.356-0.535-0.365-0.075-0.004-0.156 0-0.183 0.009zM28.755 26.688c0.303 0.154 0.371 0.552 0.136 0.794-0.307 0.314-0.841 0.094-0.843-0.35 0-0.201 0.137-0.397 0.328-0.467 0.102-0.040 0.282-0.028 0.38 0.023z"></path>
16
+ <path fill="#6c757d" d="M28.292 27.132v0.369h0.111l0.006-0.156c0.006-0.147 0.008-0.154 0.049-0.154 0.036 0 0.058 0.028 0.122 0.151 0.072 0.137 0.085 0.151 0.141 0.156l0.062 0.006-0.079-0.158-0.079-0.16 0.068-0.066c0.060-0.056 0.070-0.075 0.070-0.151 0-0.064-0.011-0.1-0.045-0.139-0.043-0.051-0.055-0.053-0.235-0.058l-0.19-0.008v0.369zM28.6 26.891c0.041 0.040 0.038 0.126-0.006 0.166-0.024 0.023-0.060 0.030-0.109 0.026-0.070-0.006-0.072-0.008-0.077-0.088-0.004-0.045-0.002-0.094 0.004-0.107 0.013-0.036 0.151-0.034 0.188 0.004z"></path>
17
+ </svg>
18
+ SVG
19
+ end
20
+
21
+ def title
22
+ key = "blacklight.icon.#{name}"
23
+ t(key)
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Blacklight
4
+ module Icons
5
+ class UniversityOfWisconsinMadisonComponent < Blacklight::Icons::IconComponent
6
+ self.svg = svg
7
+
8
+ def svg
9
+ <<~SVG
10
+ <!-- Generated by IcoMoon.io -->
11
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="32" viewBox="0 0 20 32">
12
+ <title>#{title}</title>
13
+ <path fill="#6c757d" d="M10.020 31.99c-0.020 0-0.030-0.020-0.020-0.030s0-0.020-0.010-0.020c-0.040 0-0.2-0.15-0.32-0.3l-0.11-0.15-0.24-0.060c-1.877-0.567-3.453-1.658-4.606-3.101l-0.014-0.019c-0.8-0.96-1.41-1.9-2.070-3.23-1.47-2.97-2.409-6.444-2.597-10.116l-0.003-0.064-0.030-0.51c-0.005-0.14-0.008-0.304-0.008-0.469 0-0.451 0.021-0.897 0.062-1.337l-0.004 0.056c0.010-0.66 0.18-2.070 0.36-2.96 0.6-3 1.8-5.16 3.5-6.3 0.763-0.532 1.709-0.85 2.73-0.85h0c0.030 0 0.080-0.070 0.14-0.2 0.2-0.42 0.63-0.7 1.25-0.85 0.13-0.020 0.23-0.050 0.24-0.060l0.080-0.17c0.12-0.28 0.27-0.49 0.48-0.7 0.26-0.26 0.52-0.4 0.84-0.47 0.070-0.010 0.12-0.030 0.1-0.040s0.050-0.020 0.14-0.020c0.18-0.020 0.5 0 0.47 0.020l0.15 0.050c0.54 0.13 1.040 0.59 1.28 1.18 0.060 0.14 0.1 0.18 0.15 0.18 0.13 0 0.5 0.12 0.73 0.23 0.2 0.1 0.27 0.15 0.42 0.3 0.14 0.14 0.2 0.21 0.27 0.36 0.050 0.1 0.1 0.19 0.13 0.2l0.22 0.010c0.56 0 1.32 0.2 1.91 0.5 1.73 0.84 3.030 2.67 3.8 5.36 0.391 1.36 0.639 2.93 0.689 4.55l0.001 0.030 0.010 0.84c0.001 0.063 0.002 0.138 0.002 0.212 0 0.323-0.015 0.643-0.045 0.958l0.003-0.040c-0.179 3.883-1.19 7.491-2.858 10.703l0.068-0.143c-0.904 1.797-2.134 3.304-3.624 4.5l-0.026 0.020c-0.864 0.67-1.888 1.181-3.002 1.467l-0.058 0.013-0.16 0.18c-0.070 0.090-0.17 0.19-0.21 0.22l-0.060 0.060c0.030 0-0.060 0.040-0.090 0.030h-0.060zM10.22 31.62c0.25-0.27 0.5-0.77 0.58-1.14 0.040-0.2 0.050-0.54 0.020-0.73-0.020-0.16-0.080-0.25-0.23-0.34-0.32-0.19-0.85-0.16-1.1 0.060-0.13 0.1-0.15 0.18-0.17 0.46-0.030 0.52 0.12 1 0.47 1.51 0.15 0.22 0.2 0.26 0.3 0.26 0.050 0 0.080-0.020 0.14-0.080zM9.35 31.1c-0.009-0.092-0.030-0.177-0.062-0.256l0.002 0.006c-0.079-0.212-0.132-0.457-0.15-0.712l-0-0.008c0-0.17-0.020-0.2-0.15-0.25-0.596-0.23-1.11-0.506-1.584-0.836l0.024 0.016c-0.040 0-0.24 0.2-0.36 0.35-0.13 0.17-0.27 0.4-0.26 0.46 0.704 0.553 1.536 0.982 2.44 1.238l0.050 0.012 0.050-0.020zM11.060 31.060c0.882-0.296 1.647-0.7 2.333-1.206l-0.023 0.016c0.020-0.030-0.080-0.22-0.2-0.38-0.114-0.17-0.253-0.313-0.415-0.427l-0.005-0.003c-0.49 0.336-1.051 0.629-1.646 0.852l-0.054 0.018c-0.019 0.059-0.030 0.126-0.030 0.197 0 0.008 0 0.016 0 0.025l-0-0.001c-0.020 0.26-0.070 0.47-0.15 0.7-0.1 0.3-0.1 0.3 0.2 0.21zM6.78 29.67c0.1-0.17 0.26-0.38 0.4-0.52 0.070-0.070 0.12-0.13 0.12-0.15s-0.090-0.1-0.2-0.2c-0.48-0.36-1.2-1.050-1.64-1.58-0.695-0.836-1.317-1.778-1.83-2.784l-0.040-0.086-0.040-0.050-0.17 0.050c-0.1 0.020-0.28 0.1-0.42 0.16-0.21 0.1-0.24 0.13-0.24 0.17 0.605 1.289 1.316 2.401 2.151 3.406l-0.021-0.026c0.29 0.36 1 1.080 1.3 1.33 0.29 0.25 0.5 0.41 0.54 0.41l0.1-0.12zM13.77 29.59c1.556-1.305 2.797-2.933 3.626-4.786l0.034-0.084c0-0.080-0.44-0.3-0.72-0.37-0.090-0.030-0.11-0.030-0.14 0l-0.2 0.36c-0.868 1.701-2.046 3.126-3.473 4.25l-0.027 0.020 0.13 0.17c0.17 0.18 0.29 0.33 0.38 0.5 0.050 0.090 0.090 0.13 0.11 0.13s0.15-0.090 0.28-0.2zM9.15 29.69c0.070-0.25 0.18-0.38 0.39-0.48 0.35-0.15 0.73-0.15 1.070 0 0.22 0.1 0.34 0.24 0.38 0.43 0.010 0.060 0.030 0.070 0.070 0.070 0.523-0.171 0.978-0.409 1.383-0.709l-0.013 0.009c0-0.030-0.060-0.1-0.13-0.15-0.2-0.16-0.57-0.56-0.73-0.76-0.16-0.22-0.3-0.44-0.39-0.66-0.040-0.090-0.080-0.17-0.1-0.17s-0.13 0.050-0.24 0.12c-0.26 0.15-0.7 0.36-0.76 0.36s-0.57-0.25-0.78-0.37c-0.054-0.040-0.117-0.071-0.186-0.089l-0.004-0.001c-0.020 0-0.060 0.060-0.1 0.16-0.090 0.2-0.22 0.41-0.4 0.66-0.16 0.22-0.55 0.62-0.74 0.77-0.11 0.090-0.14 0.13-0.12 0.16s0.44 0.28 0.71 0.41c0.47 0.23 0.67 0.3 0.69 0.23zM7.8 28.82c0.48-0.4 0.89-0.9 1.1-1.35 0.13-0.27 0.13-0.27-0.15-0.48-0.92-0.67-1.96-1.9-2.77-3.25-0.1-0.17-0.15-0.24-0.18-0.24-0.055 0.020-0.102 0.051-0.14 0.090l-0 0c-0.502 0.399-1.109 0.686-1.774 0.816l-0.026 0.004c0.77 1.612 1.826 2.971 3.113 4.066l0.017 0.014c0.28 0.23 0.6 0.46 0.63 0.46l0.18-0.13zM12.79 28.79c1.24-0.89 2.4-2.27 3.37-4.040 0.16-0.3 0.17-0.35 0.080-0.37-0.342-0.084-0.632-0.18-0.912-0.295l0.042 0.015c-0.306-0.121-0.569-0.273-0.808-0.456l0.008 0.006c-0.1-0.080-0.2-0.15-0.22-0.15s-0.1 0.12-0.19 0.27c-0.38 0.63-0.86 1.3-1.3 1.83-0.42 0.5-1.040 1.1-1.5 1.45-0.16 0.11-0.17 0.12-0.15 0.19 0.281 0.702 0.747 1.281 1.338 1.692l0.012 0.008c0.020 0 0.12-0.070 0.23-0.15zM8.67 24.83l0.65-4.17 0.64-4.16 0.81 4.1 0.82 4.18 0.020 0.070h0.2c0.12 0 0.19-0.010 0.2-0.030 0.020-0.020 0.63-2.74 1.36-6.060 0.89-4.030 1.35-6.060 1.37-6.090 0.070-0.1 0.14-0.13 0.3-0.15l0.17-0.010v-0.74h-2.1v0.74l0.16-0.010c0.29-0.010 0.41 0.090 0.42 0.34 0 0.12-1.58 7-1.6 6.97l-0.96-4.51c-0.7-3.34-0.95-4.51-0.98-4.54-0.060-0.060-0.34-0.050-0.37 0.010l-0.7 4.47-0.7 4.44-0.8-3.38c-0.83-3.57-0.81-3.5-0.73-3.66 0.060-0.11 0.14-0.15 0.3-0.15 0.1 0 0.14-0.010 0.15-0.040 0.030-0.040 0.030-0.6 0-0.65-0.020-0.040-0.050-0.040-1.16-0.040-0.95 0-1.15 0-1.17 0.030-0.020 0.020-0.020 0.13-0.020 0.35v0.32l0.14 0.050c0.17 0.060 0.23 0.1 0.27 0.19 0.020 0.040 0.67 2.77 1.44 6.080l1.42 6.040c0.020 0.030 0.43 0.040 0.45 0.010zM17.65 24.29c1.409-3.049 2.23-6.617 2.23-10.377 0-0.025-0-0.051-0-0.077v0.004c0-1.3-0.020-1.77-0.090-1.81-0.060-0.050-0.45 0.020-0.7 0.1l-0.14 0.050 0.010 0.42c0.019 0.356 0.029 0.772 0.029 1.191 0 3.648-0.811 7.107-2.262 10.206l0.062-0.148c-0.11 0.24-0.15 0.34-0.13 0.36 0.010 0.020 0.090 0.060 0.17 0.080 0.17 0.050 0.44 0.18 0.54 0.25 0.12 0.080 0.14 0.060 0.28-0.25zM2.94 24.42l0.4-0.16c0.11-0.030 0.15-0.050 0.15-0.080-0.498-1.005-0.958-2.193-1.312-3.426l-0.038-0.154c-0.61-2.078-0.961-4.465-0.961-6.933 0-0.361 0.008-0.72 0.022-1.078l-0.002 0.051c0.020-0.3 0.020-0.42 0-0.44-0.070-0.090-0.8-0.23-0.85-0.17-0.048 0.579-0.076 1.254-0.076 1.935 0 1.414 0.118 2.801 0.346 4.151l-0.020-0.146c0.33 1.99 0.88 3.93 1.63 5.69 0.22 0.54 0.4 0.88 0.43 0.88l0.28-0.11zM4.060 24.25c0.47-0.12 0.95-0.32 1.26-0.52 0.22-0.14 0.43-0.31 0.43-0.36l-0.12-0.25c-0.060-0.12-0.23-0.41-0.35-0.66-0.13-0.25-0.24-0.45-0.26-0.45s-0.050 0.050-0.1 0.1c-0.076 0.132-0.19 0.236-0.326 0.298l-0.004 0.002c-0.32 0.15-0.57 0.12-0.77-0.090-0.091-0.085-0.149-0.206-0.15-0.34v-0c0-0.27 0.24-0.52 0.46-0.48 0.11 0.020 0.24 0.14 0.23 0.2-0.010 0.080-0.070 0.090-0.15 0.020-0.050-0.040-0.090-0.050-0.13-0.040-0.18 0.040-0.25 0.3-0.12 0.47 0.21 0.28 0.74 0.1 0.85-0.29 0.080-0.28-0.060-0.57-0.34-0.72-0.11-0.060-0.14-0.070-0.35-0.070-0.2 0-0.23 0-0.35 0.070-0.16 0.080-0.36 0.27-0.43 0.41-0.21 0.41-0.18 1.090 0.080 1.9 0.13 0.37 0.28 0.75 0.34 0.83 0.030 0.040 0.070 0.030 0.3-0.030zM16.49 24.1c0.12-0.26 0.31-0.84 0.38-1.16 0.1-0.44 0.11-0.88 0.040-1.17-0.074-0.278-0.259-0.503-0.504-0.627l-0.006-0.003c-0.090-0.051-0.197-0.081-0.311-0.081-0.010 0-0.020 0-0.030 0.001l0.001-0c-0.17 0-0.2 0-0.3 0.050-0.15 0.068-0.272 0.174-0.358 0.307l-0.002 0.003c-0.050 0.1-0.060 0.13-0.060 0.28 0 0.19 0.020 0.25 0.15 0.39 0.080 0.1 0.3 0.2 0.41 0.2 0.050 0 0.13-0.020 0.18-0.040 0.23-0.12 0.26-0.46 0.040-0.56-0.050-0.030-0.070-0.030-0.13 0l-0.080 0.060c0 0.010-0.020 0.020-0.050 0.020-0.070-0.010-0.070-0.11 0-0.18 0.13-0.13 0.34-0.12 0.49 0.030 0.15 0.16 0.18 0.36 0.1 0.55-0.087 0.195-0.28 0.329-0.503 0.329-0.034 0-0.068-0.003-0.1-0.009l0.003 0c-0.259-0.041-0.478-0.184-0.618-0.387l-0.002-0.003c-0.030-0.050-0.070-0.090-0.090-0.090s-0.1 0.15-0.2 0.35c-0.223 0.466-0.397 0.797-0.578 1.123l0.058-0.113c0 0.1 0.38 0.36 0.77 0.55 0.27 0.13 0.52 0.23 0.85 0.32 0.35 0.1 0.33 0.1 0.45-0.14zM3 22.2c0-0.28 0.050-0.5 0.16-0.73 0.16-0.35 0.45-0.55 0.84-0.6 0.16-0.030 0.22-0.020 0.51 0.050 0.040 0.010 0.050 0 0.050-0.020l-0.14-0.46c-0.485-1.426-0.792-3.072-0.849-4.782l-0.001-0.028-0.020-0.47-0.070-0.1c-0.085-0.141-0.208-0.251-0.355-0.318l-0.005-0.002c-0.134-0.066-0.292-0.105-0.459-0.105-0.035 0-0.070 0.002-0.105 0.005l0.004-0c-0.47 0.030-0.84 0.26-1.040 0.67-0.1 0.2-0.1 0.25-0.040 0.82 0.21 2.1 0.64 4.040 1.32 5.93 0.16 0.43 0.2 0.46 0.2 0.13zM2.58 20.25l-0.060-0.18 0.040-0.1c0.070-0.143 0.185-0.254 0.326-0.318l0.004-0.002c0.2-0.1 0.36-0.13 0.58-0.12 0.25 0.020 0.27 0.030 0.36 0.26l0.080 0.21-0.1-0.070c-0.1-0.12-0.2-0.14-0.46-0.12-0.185 0.005-0.355 0.068-0.492 0.172l0.002-0.002c-0.15 0.11-0.2 0.18-0.2 0.33l-0.020 0.13-0.060-0.19zM2.25 18.88c-0.014-0.054-0.022-0.116-0.022-0.179 0-0.018 0.001-0.036 0.002-0.053l-0 0.002c0.040-0.14 0.27-0.34 0.48-0.4 0.050-0.020 0.2-0.030 0.33-0.030 0.2 0 0.27 0 0.34 0.040 0.080 0.040 0.090 0.060 0.15 0.24l0.070 0.22c0 0.020-0.040-0.010-0.1-0.080-0.080-0.1-0.1-0.11-0.22-0.13-0.2-0.050-0.47-0.020-0.63 0.060-0.23 0.11-0.32 0.22-0.32 0.37 0 0.060 0 0.1-0.020 0.1s-0.040-0.070-0.060-0.16zM2 17.68l-0.030-0.22-0.020-0.15 0.14-0.13c0.1-0.1 0.18-0.15 0.28-0.19 0.26-0.1 0.79-0.060 0.88 0.050 0.030 0.030 0.12 0.43 0.1 0.44l-0.070-0.090c-0.090-0.13-0.17-0.16-0.43-0.18-0.030-0.004-0.065-0.006-0.1-0.006-0.174 0-0.336 0.051-0.473 0.138l0.004-0.002c-0.14 0.1-0.2 0.17-0.23 0.3l-0.040 0.11-0.020-0.070zM1.85 16.38l-0.030-0.22-0.010-0.13 0.1-0.11c0.19-0.22 0.5-0.31 0.84-0.27 0.2 0.030 0.34 0.080 0.39 0.13 0.040 0.040 0.13 0.46 0.1 0.46l-0.080-0.1c-0.1-0.16-0.2-0.2-0.55-0.2-0.26 0-0.28 0-0.41 0.070-0.15 0.070-0.28 0.19-0.28 0.25l-0.030 0.12-0.030 0.080-0.010-0.080zM17.27 22.28c0.699-1.869 1.205-4.040 1.422-6.295l0.008-0.105c0.030-0.35 0.030-0.4-0.070-0.61-0.23-0.46-0.82-0.72-1.36-0.61-0.257 0.056-0.469 0.213-0.598 0.426l-0.002 0.004c-0.060 0.1-0.070 0.14-0.070 0.33-0.049 1.886-0.386 3.677-0.967 5.354l0.037-0.124c-0.080 0.22-0.080 0.29-0.010 0.27l0.19-0.050c0.3-0.070 0.7 0.050 0.95 0.3 0.23 0.23 0.34 0.53 0.36 0.95 0.020 0.3 0.040 0.33 0.12 0.16zM17.51 20.3v-0.13l-0.12-0.13c-0.144-0.142-0.342-0.23-0.56-0.23h-0c-0.28-0.020-0.36 0-0.47 0.12-0.028 0.031-0.061 0.058-0.098 0.079l-0.002 0.001s0.13-0.36 0.17-0.4c0.1-0.12 0.6-0.1 0.85 0.020 0.13 0.070 0.28 0.22 0.33 0.33l0.050 0.1-0.050 0.18c-0.080 0.22-0.1 0.23-0.1 0.060zM17.85 19c-0.006-0.034-0.010-0.074-0.010-0.114 0-0.002 0-0.004 0-0.007v0c0-0.080-0.080-0.17-0.21-0.26-0.149-0.085-0.328-0.136-0.519-0.136-0.082 0-0.162 0.009-0.238 0.027l0.007-0.001c-0.1 0.020-0.13 0.040-0.22 0.14l-0.1 0.1 0.040-0.13c0.090-0.3 0.1-0.32 0.2-0.36 0.2-0.080 0.56-0.070 0.8 0.030 0.1 0.050 0.27 0.2 0.33 0.3 0.040 0.1 0.040 0.1 0 0.27l-0.060 0.19-0.020-0.050zM18.13 17.66c-0.010-0.049-0.024-0.093-0.042-0.134l0.002 0.004c-0.077-0.104-0.178-0.186-0.295-0.238l-0.005-0.002c-0.13-0.070-0.14-0.070-0.4-0.070-0.35 0-0.43 0.040-0.55 0.25-0.040 0.070-0.030 0 0.010-0.2 0.040-0.14 0.070-0.22 0.1-0.24 0.14-0.11 0.6-0.13 0.85-0.040 0.16 0.060 0.3 0.18 0.37 0.29 0.050 0.090 0.050 0.1 0.030 0.27-0.010 0.1-0.030 0.18-0.040 0.19s-0.020-0.030-0.030-0.080zM18.32 16.46l-0.060-0.16c-0.040-0.13-0.050-0.15-0.18-0.23-0.17-0.11-0.31-0.15-0.59-0.13-0.3 0.020-0.4 0.060-0.49 0.2-0.040 0.060-0.070 0.1-0.070 0.080 0-0.070 0.070-0.4 0.090-0.43 0.030-0.040 0.25-0.11 0.4-0.14 0.2-0.030 0.43 0 0.6 0.090 0.15 0.060 0.3 0.21 0.33 0.3 0.001 0.018 0.001 0.039 0.001 0.060 0 0.124-0.011 0.245-0.033 0.362l0.002-0.012zM1.62 14.85c0.5-0.49 1.3-0.56 1.79-0.16 0.12 0.1 0.15 0.1 0.15-0.1 0-0.22 0.040-0.7 0.090-1.1 0.020-0.2 0.040-0.36 0.030-0.37l-0.26-0.040c-0.675-0.079-1.29-0.255-1.858-0.516l0.038 0.016c-0.16-0.090-0.2-0.080-0.22 0.020s-0.020 2.27 0 2.34c0.010 0.040 0.030 0.060 0.050 0.060s0.1-0.070 0.19-0.15zM18.77 14.86c0.020-0.16 0.020-1.98 0-2.18-0.010-0.15-0.020-0.15-0.070-0.15-0.030 0-0.18 0.060-0.33 0.12-0.48 0.2-1.030 0.35-1.6 0.43l-0.29 0.030v0.1l0.040 0.39 0.070 0.73c0.020 0.34 0.030 0.44 0.050 0.44s0.070-0.040 0.12-0.080c0.21-0.17 0.47-0.25 0.76-0.25 0.4 0 0.74 0.13 1.020 0.4 0.1 0.090 0.18 0.16 0.2 0.16s0.020-0.070 0.030-0.14zM3.72 12.97l0.080-0.38c0.2-1.134 0.627-2.142 1.236-3.014l-0.016 0.024c0.2-0.26 0.54-0.61 0.75-0.78 0.080-0.060 0.15-0.13 0.15-0.15s-0.1-0.1-0.29-0.21c-0.951-0.543-1.722-1.301-2.264-2.212l-0.016-0.028c-0.080 0-0.42 0.53-0.71 1.13-0.72 1.467-1.161 3.186-1.21 5.003l-0 0.017c0.020 0.050 0.31 0.19 0.66 0.31 0.64 0.24 1.57 0.4 1.63 0.3zM16.84 12.98c0.626-0.089 1.192-0.257 1.72-0.496l-0.040 0.016 0.23-0.11-0.010-0.22c-0.13-1.94-0.67-3.91-1.45-5.26-0.134-0.263-0.291-0.49-0.473-0.693l0.003 0.003c-0.55 0.923-1.312 1.669-2.22 2.184l-0.030 0.016-0.34 0.24c1.074 0.917 1.824 2.184 2.075 3.623l0.005 0.037 0.1 0.49c0.040 0.23 0.020 0.23 0.42 0.17zM1.22 12.060l0.070-0.47c0.164-2.145 0.85-4.101 1.93-5.779l-0.030 0.049c0.030-0.1-0.59-0.61-0.74-0.61-0.080 0-0.47 0.63-0.78 1.28-0.23 0.49-0.37 0.83-0.56 1.41-0.374 1.118-0.64 2.418-0.746 3.762l-0.004 0.058-0.010 0.14 0.25 0.040c0.14 0.020 0.32 0.060 0.41 0.090 0.2 0.060 0.19 0.060 0.21 0.030zM19.55 11.93l0.24-0.030 0.010-0.090c-0.107-1.673-0.464-3.233-1.036-4.684l0.036 0.104c-0.23-0.58-0.63-1.36-0.94-1.83-0.080-0.11-0.12-0.15-0.16-0.15-0.12 0-0.73 0.48-0.73 0.59l0.1 0.2c0.4 0.58 0.81 1.41 1.1 2.22 0.35 1.050 0.6 2.22 0.72 3.45 0.010 0.19 0.040 0.34 0.050 0.35s0.1 0 0.2-0.040l0.4-0.090zM14.45 8.4c0.88-0.54 1.6-1.2 2.020-1.83 0.070-0.12 0.17-0.28 0.2-0.36l0.070-0.14-0.1-0.12c-0.14-0.2-0.56-0.62-0.78-0.8-0.548-0.464-1.242-0.772-2.005-0.849l-0.015-0.001c-0.3-0.030-0.55-0.010-0.76 0.060-0.3 0.1-0.5 0.27-0.65 0.58-0.25 0.5-0.19 1.36 0.15 1.87 0.2 0.32 0.43 0.47 0.7 0.45 0.36-0.030 0.6-0.5 0.6-1.17 0-0.46-0.13-0.8-0.37-0.96-0.17-0.11-0.4-0.030-0.51 0.18-0.1 0.17-0.12 0.52-0.040 0.78 0.050 0.15 0.17 0.29 0.27 0.29 0.050 0 0.080-0.020 0.11-0.070 0.040-0.060 0.040-0.1 0.040-0.26 0-0.15-0.020-0.2-0.060-0.25-0.060-0.090-0.050-0.15 0.010-0.16 0.14-0.010 0.24 0.24 0.22 0.54-0.030 0.54-0.27 0.75-0.53 0.47-0.22-0.24-0.33-0.75-0.26-1.18 0.060-0.35 0.2-0.56 0.4-0.66 0.14-0.080 0.27-0.080 0.4 0 0.51 0.3 0.67 1.53 0.3 2.3-0.1 0.2-0.2 0.33-0.34 0.4-0.1 0.050-0.12 0.050-0.65 0.050-0.35 0-0.6-0.010-0.7-0.030-0.549-0.063-1.030-0.311-1.39-0.68l-0-0c-0.142-0.184-0.252-0.401-0.317-0.637l-0.003-0.013c-0.035-0.132-0.055-0.284-0.055-0.44 0-0.046 0.002-0.091 0.005-0.136l-0 0.006c-0-0.018-0.001-0.039-0.001-0.061 0-0.69 0.221-1.329 0.597-1.849l-0.006 0.009c0.16-0.22 0.5-0.54 0.7-0.67s0.21-0.17 0.060-0.24c-0.061-0.033-0.134-0.052-0.212-0.052-0.014 0-0.027 0.001-0.040 0.002l0.002-0c-0.203 0.007-0.387 0.081-0.531 0.201l0.001-0.001c-0.3 0.2-0.7 0.7-0.81 0.99-0.060 0.16-0.1 0.16-0.17-0.010-0.16-0.4-0.64-0.91-1.030-1.1-0.1-0.048-0.217-0.076-0.34-0.076-0.056 0-0.112 0.006-0.165 0.017l0.005-0.001c-0.090 0.020-0.2 0.1-0.2 0.13l0.2 0.14c0.24 0.16 0.58 0.5 0.74 0.75 0.5 0.74 0.69 1.8 0.45 2.51-0.1 0.28-0.17 0.41-0.39 0.62-0.2 0.2-0.37 0.31-0.63 0.41-0.42 0.17-0.82 0.23-1.44 0.21-0.4 0-0.46-0.010-0.54-0.050-0.53-0.24-0.75-1.55-0.38-2.31 0.077-0.17 0.197-0.31 0.346-0.408l0.004-0.002c0.23-0.11 0.5 0.020 0.65 0.31 0.29 0.56 0.070 1.6-0.34 1.68-0.060 0.010-0.080 0-0.15-0.070-0.22-0.22-0.25-0.85-0.050-1.030 0.1-0.1 0.17 0.020 0.080 0.14-0.040 0.050-0.050 0.090-0.050 0.24 0 0.22 0.050 0.32 0.15 0.32s0.18-0.070 0.25-0.21c0.050-0.1 0.060-0.16 0.070-0.36 0.010-0.38-0.070-0.58-0.26-0.68-0.13-0.060-0.23-0.060-0.33 0-0.25 0.17-0.37 0.49-0.37 0.98 0 0.34 0.050 0.57 0.15 0.78 0.13 0.26 0.28 0.38 0.5 0.38 0.4 0 0.77-0.46 0.9-1.1 0.060-0.25 0.060-0.74 0-0.94-0.077-0.351-0.297-0.639-0.594-0.807l-0.006-0.003c-0.18-0.1-0.34-0.13-0.66-0.12-0.88 0-1.7 0.34-2.47 1.030-0.26 0.23-0.67 0.7-0.67 0.76s0.13 0.3 0.28 0.53c0.34 0.5 0.84 0.99 1.49 1.45 0.3 0.21 0.8 0.52 0.84 0.52l0.32-0.14c0.61-0.3 1.14-0.42 1.79-0.4 0.42 0.010 0.6 0.040 1.27 0.21 0.66 0.17 0.67 0.17 1.3 0l0.7-0.15c0.3-0.060 0.85-0.080 1.13-0.040 0.45 0.050 0.99 0.22 1.38 0.44 0.1 0.050 0.19 0.090 0.2 0.080l0.32-0.18zM8.030 7.17c0.477-0.035 0.898-0.251 1.199-0.579l0.001-0.001c0.22-0.3 0.3-0.56 0.3-1 0.020-1.080-0.6-2.090-1.53-2.54-0.391-0.174-0.847-0.276-1.327-0.276-0.114 0-0.226 0.006-0.337 0.017l0.014-0.001c-1.323 0.111-2.482 0.733-3.295 1.664l-0.005 0.006c-0.25 0.28-0.51 0.61-0.51 0.66 0 0.020 0.060 0.070 0.16 0.14 0.1 0.060 0.25 0.19 0.36 0.28s0.2 0.18 0.22 0.18c0.020 0 0.070-0.050 0.12-0.11 0.609-0.805 1.473-1.389 2.47-1.634l0.030-0.006c0.31-0.060 0.84-0.080 1.050-0.030 0.43 0.1 0.76 0.36 0.96 0.78 0.24 0.49 0.27 1.070 0.090 1.66-0.070 0.2-0.18 0.43-0.29 0.58-0.080 0.12-0.090 0.18-0.030 0.21 0.050 0.030 0.12 0.030 0.36 0zM12.47 7.18c0.080-0.020 0.080-0.080-0.020-0.22-0.56-0.83-0.52-2.030 0.090-2.64 0.17-0.17 0.33-0.27 0.58-0.36 0.17-0.060 0.81-0.060 1.1 0 0.57 0.11 1.13 0.37 1.63 0.75 0.383 0.304 0.721 0.635 1.021 0.999l0.009 0.011c0.020 0 0.1-0.070 0.2-0.16 0.15-0.13 0.33-0.27 0.53-0.39 0.060-0.030 0.030-0.080-0.2-0.37-0.664-0.861-1.568-1.507-2.612-1.84l-0.038-0.010c-0.361-0.107-0.776-0.169-1.205-0.169-0.274 0-0.542 0.025-0.802 0.073l0.027-0.004c-1.237 0.263-2.151 1.347-2.151 2.644 0 0.030 0.001 0.061 0.002 0.091l-0-0.004c0 0.35 0 0.38 0.060 0.55 0.030 0.1 0.080 0.22 0.12 0.28 0.15 0.26 0.45 0.5 0.77 0.63 0.28 0.1 0.74 0.18 0.89 0.14zM10.22 3.47c0.42-0.73 1-1.12 1.52-1.040 0.18 0.030 0.39 0.12 0.5 0.22l0.090 0.080 0.13-0.040 0.38-0.080c0.104-0.013 0.199-0.041 0.286-0.082l-0.006 0.002c0.050-0.050-0.070-0.25-0.27-0.45-0.15-0.15-0.21-0.2-0.4-0.29-0.209-0.113-0.455-0.183-0.718-0.19l-0.002-0c-0.37-0.020-0.68 0.060-0.97 0.25-0.26 0.18-0.48 0.45-0.6 0.75l-0.080 0.14-0.060-0.1c-0.094-0.219-0.215-0.407-0.362-0.572l0.002 0.002c-0.2-0.2-0.44-0.35-0.71-0.42-0.21-0.060-0.67-0.060-0.9 0s-0.5 0.2-0.66 0.34c-0.15 0.13-0.34 0.38-0.36 0.49-0.010 0.070-0.010 0.070 0.21 0.1l0.37 0.090 0.23 0.060 0.1-0.080c0.168-0.139 0.385-0.223 0.622-0.223 0.027 0 0.054 0.001 0.081 0.003l-0.004-0c0.17 0.010 0.37 0.090 0.54 0.18 0.24 0.15 0.55 0.5 0.77 0.87 0.11 0.2 0.15 0.2 0.27-0.010zM10.18 2.27c0.16-0.27 0.38-0.48 0.68-0.64 0.2-0.1 0.2-0.13 0.060-0.21-0.090-0.050-0.13-0.050-0.28-0.050-0.22 0-0.35 0.050-0.48 0.18l-0.080 0.090-0.1-0.1c-0.119-0.108-0.276-0.176-0.449-0.18h-0.001c-0.2 0-0.43 0.1-0.4 0.17 0 0.020 0.1 0.070 0.19 0.12 0.21 0.1 0.47 0.34 0.61 0.56 0.13 0.2 0.17 0.2 0.25 0.060zM9 1.37c0.152-0.167 0.371-0.271 0.614-0.271 0.122 0 0.237 0.026 0.342 0.073l-0.005-0.002c0.13 0.050 0.14 0.050 0.22 0.010 0.34-0.15 0.7-0.090 0.96 0.17l0.11 0.12 0.15-0.030c0.059-0.005 0.113-0.019 0.163-0.041l-0.003 0.001c0.050-0.050-0.18-0.5-0.37-0.72-0.279-0.293-0.673-0.475-1.108-0.475-0.244 0-0.476 0.057-0.681 0.159l0.009-0.004c-0.32 0.16-0.66 0.56-0.77 0.9-0.040 0.14-0.030 0.15 0.1 0.18 0.16 0.030 0.18 0.030 0.27-0.070z"></path>
14
+ </svg>
15
+ SVG
16
+ end
17
+
18
+ def title
19
+ key = "blacklight.icon.#{name}"
20
+ t(key)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Blacklight
4
+ module Icons
5
+ class UvaComponent < Blacklight::Icons::IconComponent
6
+ self.svg = svg
7
+
8
+ def svg
9
+ <<~SVG
10
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
11
+ <title>#{title}</title>
12
+ <path fill="#6c757d" d="M22.16 26.45V14.4h2.58v12.06h-2.58zm-13.92 0V14.4h2.5v12.06h-2.5zm3.36 0V14.4h2.66v12.06H11.6zm3.52 0V14.4h2.66v12.06h-2.66zM21.3 14.4v12.06h-2.66V14.4h2.66zm2.33-.85H9.3l7.36-4.45 6.98 4.45zm-16 0H1.5v-4.5h13.58l-7.44 4.5zm10.54-4.5H31.4v4.5h-6.18l-7.05-4.5zm11.34-.85H3.39A14.97 14.97 0 0 1 16.45.6c5.6 0 10.5 3.07 13.06 7.6zM5.76 25.74l-.15.45.39-.28.39.28-.15-.45.39-.28h-.48L6 25.01l-.15.45h-.48l.39.28zm-2.13-2.79l-.15.45.39-.27.39.27-.15-.45.39-.28h-.48l-.15-.45-.15.45h-.48l.39.28zm-1.47-3.4l-.15.45.4-.28.38.28-.14-.45.39-.28h-.48l-.15-.44-.15.44h-.48l.39.28zm5.22 6.9H1.49V15.68l.2.14-.15.45.4-.28.38.28-.15-.45.4-.28h-.49l-.15-.45-.15.45H1.5V14.4h5.88v12.06zm0 .85v3.2H1.49v-3.2h5.89zm18.22 0h5.8v3.2h-5.8v-3.2zm-5.16 2.28l.4-.28h-.5l-.14-.45-.15.45h-.48l.4.28-.16.45.4-.27.38.27-.15-.45zm3.45-1.36l.39-.28h-.48l-.15-.45-.15.45h-.48l.39.28-.15.45.4-.28.38.28-.15-.45zm-11.43 1.36l-.15.45.39-.27.39.27-.15-.45.39-.28h-.48l-.15-.45-.15.45h-.48l.39.28zM9 28.22l-.15.45.39-.28.39.28-.15-.45.4-.28H9.4l-.15-.45-.15.45h-.48l.39.28zm15.73-.92v3.2h-7.9l-.13-.4.39-.29h-.48l-.15-.45-.15.46h-.48l.39.27-.14.42H8.24v-3.2h16.5zm-7.93 3.2h-.68l.34-.24.34.24zm10.33-4.76l.4-.28h-.49l-.15-.45-.15.45h-.48l.4.28-.16.45.4-.28.38.28-.15-.45zm2.13-2.79l.4-.28h-.49l-.15-.45-.15.45h-.48l.4.28-.16.45.4-.27.38.27-.15-.45zm1.46-3.4l.4-.28h-.49l-.14-.44-.15.44h-.49l.4.28-.15.45.39-.28.39.28-.16-.45zm.67 6.9h-5.8V14.4h5.8v1.15h-.29l-.14-.45-.15.45h-.49l.4.28-.16.45.4-.28.39.28-.15-.45.2-.14v10.77z"/>
13
+ </svg>
14
+ SVG
15
+ end
16
+
17
+ def title
18
+ key = "blacklight.icon.#{name}"
19
+ t(key)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Blacklight
4
+ module Icons
5
+ class WebServicesComponent < Blacklight::Icons::IconComponent
6
+ self.svg = svg
7
+
8
+ def svg
9
+ <<~SVG
10
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28">
11
+ <title>#{title}</title>
12
+ <path fill="#6c757d" d="M22 14.5v5a4.5 4.5 0 0 1-4.5 4.5h-13A4.5 4.5 0 0 1 0 19.5v-13A4.5 4.5 0 0 1 4.5 2h11c.28 0 .5.22.5.5v1a.5.5 0 0 1-.5.5h-11A2.5 2.5 0 0 0 2 6.5v13A2.5 2.5 0 0 0 4.5 22h13a2.5 2.5 0 0 0 2.5-2.5v-5c0-.28.22-.5.5-.5h1c.28 0 .5.22.5.5zM28 1v8a1 1 0 0 1-1 1 .99.99 0 0 1-.7-.3l-2.75-2.75-10.19 10.19c-.1.1-.23.16-.36.16s-.26-.07-.36-.16l-1.78-1.78c-.1-.1-.15-.23-.15-.36s.06-.27.15-.36L21.05 4.45 18.3 1.7A1 1 0 0 1 18 1a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1z"/>
13
+ </svg>
14
+ SVG
15
+ end
16
+
17
+ def title
18
+ key = "blacklight.icon.#{name}"
19
+ t(key)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Blacklight
4
+ module Icons
5
+ class WebsitesComponent < Blacklight::Icons::IconComponent
6
+ self.svg = svg
7
+
8
+ def svg
9
+ <<~SVG
10
+ <!-- Generated by IcoMoon.io -->
11
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
12
+ <title>#{title}</title>
13
+ <path fill="#6c757d" d="M25.143 16.571v5.714c0 2.84-2.303 5.143-5.143 5.143v0h-14.857c-2.84 0-5.143-2.303-5.143-5.143v0-14.857c0-2.84 2.303-5.143 5.143-5.143v0h12.571c0.32 0 0.571 0.251 0.571 0.571v1.143c0 0.316-0.256 0.571-0.571 0.571v0h-12.571c-1.578 0-2.857 1.279-2.857 2.857v0 14.857c0 1.578 1.279 2.857 2.857 2.857v0h14.857c1.578 0 2.857-1.279 2.857-2.857v0-5.714c0-0.32 0.251-0.571 0.571-0.571h1.143c0.32 0 0.571 0.251 0.571 0.571zM32 1.143v9.143c0 0.631-0.512 1.143-1.143 1.143v0c-0.314-0.003-0.597-0.134-0.8-0.343l-3.143-3.143-11.646 11.646c-0.114 0.114-0.263 0.183-0.411 0.183s-0.297-0.080-0.411-0.183l-2.034-2.034c-0.114-0.114-0.171-0.263-0.171-0.411s0.069-0.309 0.171-0.411l11.646-11.646-3.143-3.143c-0.208-0.204-0.338-0.486-0.343-0.799v-0.001c0-0.631 0.512-1.143 1.143-1.143v0h9.143c0.631 0 1.143 0.512 1.143 1.143v0z"></path>
14
+ </svg>
15
+ SVG
16
+ end
17
+
18
+ def title
19
+ key = "blacklight.icon.#{name}"
20
+ t(key)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,3 @@
1
+ <%= link_to(arcgis_link) do %>
2
+ <%= geoblacklight_icon('esri-globe') %><%= t('geoblacklight.tools.open_arcgis') %>
3
+ <% end %>
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geoblacklight
4
+ class ArcgisComponent < ViewComponent::Base
5
+ attr_reader :document
6
+
7
+ def initialize(document:, action:, **)
8
+ @document = document
9
+ super
10
+ end
11
+
12
+ # Generates an ArcGIS.com viewer url with params that can open content directly
13
+ # See: https://doc.arcgis.com/en/arcgis-online/reference/use-url-parameters.htm
14
+ def arcgis_link
15
+ params = URI.encode_www_form(
16
+ urls: document.arcgis_urls
17
+ )
18
+ Settings.ARCGIS_BASE_URL + "?" + params
19
+ end
20
+
21
+ def key
22
+ "arcgis"
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,17 @@
1
+ <div class='row'>
2
+ <div id='table-container' class='col-md-12'>
3
+ <table id="attribute-table" class="table table-hover table-condensed table-striped table-bordered col-md-12">
4
+ <thead>
5
+ <tr>
6
+ <th><%= t('geoblacklight.show.attribute') %></th>
7
+ <th><%= t('geoblacklight.show.value') %></th>
8
+ </tr>
9
+ </thead>
10
+ <tbody class='attribute-table-body'>
11
+ <tr>
12
+ <td class='default-text' colspan='2'><em><%= t('geoblacklight.show.click_map') %></em></td>
13
+ </tr>
14
+ </tbody>
15
+ </table>
16
+ </div>
17
+ </div>
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geoblacklight
4
+ ##
5
+ # A component for rendering attribute table
6
+ #
7
+ class AttributeTableComponent < ViewComponent::Base
8
+ def initialize(document:)
9
+ @document = document
10
+ super
11
+ end
12
+
13
+ def render?
14
+ helpers.document_available?(@document) && @document.inspectable?
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,3 @@
1
+ <%= link_to document.data_dictionary_download[:data_dictionary] do %>
2
+ <%= helpers.geoblacklight_icon('book', aria_hidden: true) %><%= t('geoblacklight.references.data_dictionary') %>
3
+ <% end %>
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geoblacklight
4
+ class DataDictionaryDownloadComponent < ViewComponent::Base
5
+ attr_reader :document
6
+
7
+ def initialize(document:, action:, **)
8
+ @document = document
9
+ super
10
+ end
11
+
12
+ def key
13
+ "data_dictionary"
14
+ end
15
+ end
16
+ end
@@ -24,7 +24,7 @@ module Geoblacklight
24
24
  prefixed = true
25
25
  @note = tag.div class: "gbl-display-note alert #{value.first}", role: "alert" do
26
26
  capture do
27
- "#{blacklight_icon(value.second)}
27
+ "#{geoblacklight_icon(value.second)}
28
28
  #{@display_note}".html_safe
29
29
  end
30
30
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geoblacklight
4
+ module Document
5
+ class CitationComponent < Blacklight::Document::CitationComponent
6
+ attr_reader :document
7
+ with_collection_parameter :document
8
+
9
+ def initialize(document:)
10
+ @document = document
11
+ super
12
+ end
13
+
14
+ def citation
15
+ document.geoblacklight_citation(solr_document_url(document))
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ <%= render Geoblacklight::StaticMapComponent.new(document:) %>
2
+ <%= render_show_tools %>
3
+
4
+ <div class="sidebar-buttons">
5
+ <%= render Geoblacklight::WebServicesLinkComponent.new(document:) %>
6
+ <%= render Geoblacklight::DownloadLinksComponent.new(document:) %>
7
+ <%= render Geoblacklight::LoginLinkComponent.new(document:) %>
8
+ </div>
9
+
10
+ <%= render Blacklight::Document::MoreLikeThisComponent.new(document: document) %>
11
+
12
+ <%= render "relations_container", document: document %>
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geoblacklight
4
+ module Document
5
+ class SidebarComponent < Blacklight::Document::SidebarComponent
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,43 @@
1
+ <%= content_tag @component,
2
+ id: @id,
3
+ data: {
4
+ 'document-id': @document.id.to_s.parameterize,
5
+ 'document-counter': @counter,
6
+ },
7
+ itemscope: true,
8
+ itemtype: @document.itemtype,
9
+ class: classes.flatten.join(' ') do %>
10
+ <%= header %>
11
+ <% if body.present? %>
12
+ <%= body %>
13
+ <% else %>
14
+ <div class="document-main-section">
15
+ <% @document.display_note.each do |display_note| %>
16
+ <%= render Geoblacklight::DisplayNoteComponent.new(display_note: display_note) %>
17
+ <% end %>
18
+ <div id="viewer-container">
19
+ <%= render Geoblacklight::ViewerHelpTextComponent.new('viewer_protocol', @document.viewer_protocol) %>
20
+ <%= render Geoblacklight::IndexMapLegendComponent.new(document: @document) %>
21
+ <%= render Geoblacklight::ItemMapViewerComponent.new(document: @document) %>
22
+ <%= render Geoblacklight::IiifDragDropComponent.new(document: @document) %>
23
+ </div>
24
+ <%= render Geoblacklight::AttributeTableComponent.new(document: @document) %>
25
+ <%= render Geoblacklight::IndexMapInspectComponent.new(document: @document) %>
26
+ <% title.with_after_title { render Geoblacklight::HeaderIconsComponent.new(document: @document) } %>
27
+ <%= title %>
28
+ <%= embed %>
29
+ <%= content %>
30
+ <%= metadata %>
31
+ <% metadata_sections.each do |section| %>
32
+ <%= section %>
33
+ <% end %>
34
+
35
+ <% partials.each do |partial| %>
36
+ <%= partial %>
37
+ <% end %>
38
+ </div>
39
+
40
+ <%= thumbnail %>
41
+ <% end %>
42
+ <%= footer %>
43
+ <% end %>
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geoblacklight
4
+ class DocumentComponent < Blacklight::DocumentComponent
5
+ end
6
+ end
@@ -0,0 +1,31 @@
1
+ <div data-controller="downloads" class="downloads-sidebar">
2
+ <%# the dropdown-toggle class gives us the little arrow %>
3
+ <button type="button" class="btn btn-primary dropdown-toggle sidebar-btn" id="downloads-button" data-bs-toggle="collapse" data-bs-target="#downloads-collapse" aria-expanded="false" aria-controls="downloads-collapse">
4
+ Download
5
+ </button>
6
+ <div class="collapse" id="downloads-collapse">
7
+ <div class="card card-body">
8
+ <%# Renders the options of the downloads dropdown button %>
9
+ <% if document.direct_download.present? %>
10
+ <% if document.direct_download[:download].is_a? Array %>
11
+ <% document.direct_download[:download].each do |download| %>
12
+ <%= download_link_file(download['label'], document.id, download['url']) %>
13
+ <% end %>
14
+ <% end %>
15
+ <% if document.direct_download[:download].is_a? String %>
16
+ <%= download_link_file(download_text(document.file_format), document.id, document.direct_download[:download]) %>
17
+ <% end %>
18
+ <% end %>
19
+
20
+ <% if document.iiif_download.present? %>
21
+ <%= download_link_iiif %>
22
+ <% end %>
23
+
24
+ <% if document.download_types.present? %>
25
+ <% document.download_types.each do |type| %>
26
+ <%= download_link_generated(type.first, document) %>
27
+ <% end %>
28
+ <% end %>
29
+ </div>
30
+ </div>
31
+ </div>
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geoblacklight
4
+ # Display expandable file download links in sidebar
5
+ class DownloadLinksComponent < ViewComponent::Base
6
+ attr_reader :document
7
+
8
+ def initialize(document:)
9
+ @document = document
10
+ super
11
+ end
12
+
13
+ def render?
14
+ downloadable? && (document.direct_download.present? || document.iiif_download.present? || document.download_types.present?)
15
+ end
16
+
17
+ def downloadable?
18
+ helpers.document_available? && @document.downloadable?
19
+ end
20
+
21
+ def download_link_file(label, id, url)
22
+ link_to(
23
+ label,
24
+ url,
25
+ "contentUrl" => url,
26
+ :data => {
27
+ download: "trigger",
28
+ download_type: "direct",
29
+ download_id: id
30
+ }
31
+ )
32
+ end
33
+
34
+ # Generates the link markup for the IIIF JPEG download
35
+ # @return [String]
36
+ def download_link_iiif
37
+ link_to(
38
+ download_text("JPG"),
39
+ iiif_jpg_url,
40
+ "contentUrl" => iiif_jpg_url,
41
+ :data => {
42
+ download: "trigger"
43
+ }
44
+ )
45
+ end
46
+
47
+ def download_link_generated(download_type, document)
48
+ link_to(
49
+ t("geoblacklight.download.export_link", download_format: export_format_label(download_type)),
50
+ "",
51
+ data: {
52
+ download_path: download_path(document.id, type: download_type),
53
+ download: "trigger",
54
+ action: "downloads#download:once",
55
+ download_type: download_type,
56
+ download_id: document.id
57
+ }
58
+ )
59
+ end
60
+
61
+ ##
62
+ # Wraps download text with proper_case_format
63
+ #
64
+ def download_text(format)
65
+ download_format = proper_case_format(format)
66
+ value = t("geoblacklight.download.download_link", download_format: download_format)
67
+ value.html_safe
68
+ end
69
+
70
+ # Format labels are customized for exports - look up the appropriate key.
71
+ def export_format_label(format)
72
+ t("geoblacklight.download.export_#{format.to_s.parameterize(separator: "_")}_link")
73
+ end
74
+
75
+ # Looks up properly formatted names for formats
76
+ def proper_case_format(format)
77
+ t("geoblacklight.formats.#{format.to_s.parameterize(separator: "_")}")
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,14 @@
1
+ <header>
2
+ <%= top_bar %>
3
+ <% if landing_page? %>
4
+ <div class='p-5 bg-light jumbotron'>
5
+ <div class='d-flex justify-content-center'>
6
+ <%= content_tag :h1, t('geoblacklight.home.headline'), class: 'text-center display-5 fw-bold' %>
7
+ </div>
8
+ <div class='d-flex justify-content-center'>
9
+ <%= content_tag :h2, t('geoblacklight.home.search_heading'), class: 'text-center fs-4' %>
10
+ </div>
11
+ </div>
12
+ <% end %>
13
+ <%= search_bar %>
14
+ </header>
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geoblacklight
4
+ class HeaderComponent < Blacklight::HeaderComponent
5
+ def landing_page?
6
+ current_page?(root_path) && !helpers.has_search_parameters?
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,3 @@
1
+ <% @fields.each do |field| %>
2
+ <%= icon(field) %>
3
+ <% end %>
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geoblacklight
4
+ class HeaderIconsComponent < ViewComponent::Base
5
+ attr_reader :document, :fields
6
+
7
+ def initialize(document:, fields: [Settings.FIELDS.RESOURCE_CLASS, Settings.FIELDS.PROVIDER, Settings.FIELDS.ACCESS_RIGHTS])
8
+ @document = document
9
+ @fields = fields
10
+ super
11
+ end
12
+
13
+ def icon(field)
14
+ return resource_icon if field == Settings.FIELDS.RESOURCE_CLASS
15
+
16
+ geoblacklight_icon(@document[field], classes: "svg_tooltip")
17
+ end
18
+
19
+ # If the item has a resource type of "X data" where "X" is an existing icon, use that icon
20
+ # Otherwise just use the resource class icon
21
+ def resource_icon
22
+ dataset_type = @document.resource_type.find { |type| type.include?(" data") }&.gsub(" data", "")
23
+ resource_type_icon = geoblacklight_icon(dataset_type, classes: "svg_tooltip")
24
+ return resource_type_icon unless resource_type_icon.include?("icon-missing")
25
+
26
+ geoblacklight_icon(@document.resource_class.first, classes: "svg_tooltip")
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,3 @@
1
+ <%= link_to @href_link, data: {manifest: @manifest}, class: 'float-end' do %>
2
+ <%= geoblacklight_icon('iiif-drag-drop', classes: 'svg_tooltip iiif-icon') %>
3
+ <% end %>
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geoblacklight
4
+ class IiifDragDropComponent < ViewComponent::Base
5
+ def initialize(document:)
6
+ super
7
+ manifest_ref = document.item_viewer&.iiif_manifest
8
+ @manifest = manifest_ref&.endpoint || ""
9
+ @href_link = Settings.IIIF_DRAG_DROP_LINK&.gsub("@manifest", @manifest)
10
+ end
11
+
12
+ def render?
13
+ Settings.IIIF_DRAG_DROP_LINK.present? && @manifest.present?
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geoblacklight
4
+ # Renders the HTML that is dynamically populated when inspecting index maps
5
+ class IndexMapInspectComponent < ViewComponent::Base
6
+ def initialize(document:)
7
+ super
8
+ @document = document
9
+ end
10
+
11
+ def render?
12
+ @document.viewer_protocol == "index_map"
13
+ end
14
+ end
15
+ end