arclight 1.0.0 → 1.6.2

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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +22 -15
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +185 -26
  5. data/.solr_wrapper +2 -1
  6. data/README.md +4 -8
  7. data/app/assets/stylesheets/arclight/application.scss +1 -0
  8. data/app/assets/stylesheets/arclight/build.scss +4 -0
  9. data/app/assets/stylesheets/arclight/modules/hierarchy_and_online_contents.scss +22 -18
  10. data/app/assets/stylesheets/arclight/modules/icons.scss +9 -4
  11. data/app/assets/stylesheets/arclight/modules/layout.scss +23 -14
  12. data/app/assets/stylesheets/arclight/modules/mastheads.scss +14 -45
  13. data/app/assets/stylesheets/arclight/modules/search_form.scss +9 -0
  14. data/app/assets/stylesheets/arclight/modules/search_results.scss +15 -16
  15. data/app/assets/stylesheets/arclight/modules/truncator.scss +2 -0
  16. data/app/components/arclight/access_component.rb +1 -1
  17. data/app/components/arclight/bookmark_component.html.erb +1 -1
  18. data/app/components/arclight/breadcrumb_component.rb +17 -7
  19. data/app/components/arclight/breadcrumbs_hierarchy_component.html.erb +2 -2
  20. data/app/components/arclight/breadcrumbs_hierarchy_component.rb +1 -1
  21. data/app/components/arclight/collection_context_component.rb +1 -1
  22. data/app/components/arclight/collection_info_component.rb +1 -1
  23. data/app/components/arclight/collection_sidebar_component.rb +2 -4
  24. data/app/components/arclight/document_collection_hierarchy_component.html.erb +8 -4
  25. data/app/components/arclight/document_component.html.erb +1 -1
  26. data/app/components/arclight/document_components_hierarchy_component.html.erb +5 -17
  27. data/app/components/arclight/document_components_hierarchy_component.rb +7 -1
  28. data/app/components/arclight/document_download_component.rb +1 -1
  29. data/app/components/arclight/embed_component.rb +2 -2
  30. data/app/components/arclight/expand_hierarchy_button_component.html.erb +5 -0
  31. data/app/components/arclight/expand_hierarchy_button_component.rb +16 -0
  32. data/app/components/arclight/group_component.html.erb +6 -2
  33. data/app/components/arclight/group_component.rb +1 -1
  34. data/app/components/arclight/index_metadata_field_component.html.erb +1 -2
  35. data/app/components/arclight/masthead_component.html.erb +8 -6
  36. data/app/components/arclight/metadata_section_component.rb +1 -1
  37. data/app/components/arclight/oembed_viewer_component.rb +1 -1
  38. data/app/components/arclight/online_content_filter_component.html.erb +1 -1
  39. data/app/components/arclight/online_content_filter_component.rb +2 -4
  40. data/app/components/arclight/online_status_indicator_component.rb +1 -1
  41. data/app/components/arclight/repository_breadcrumb_component.html.erb +1 -1
  42. data/app/components/arclight/repository_breadcrumb_component.rb +1 -1
  43. data/app/components/arclight/repository_location_component.html.erb +2 -2
  44. data/app/components/arclight/search_bar_component.html.erb +3 -1
  45. data/app/components/arclight/search_bar_component.rb +1 -1
  46. data/app/components/arclight/search_result_breadcrumbs_component.html.erb +6 -3
  47. data/app/components/arclight/search_result_title_component.html.erb +5 -3
  48. data/app/helpers/arclight/ead_format_helpers.rb +87 -0
  49. data/app/helpers/arclight_helper.rb +11 -0
  50. data/app/models/arclight/document_downloads.rb +1 -1
  51. data/app/models/arclight/parent.rb +3 -10
  52. data/app/models/arclight/parents.rb +6 -4
  53. data/app/models/concerns/arclight/solr_document.rb +14 -4
  54. data/app/views/catalog/_document_list.html.erb +8 -0
  55. data/app/views/catalog/_group.html.erb +1 -1
  56. data/app/views/shared/_main_menu_links.html.erb +1 -1
  57. data/arclight.gemspec +1 -2
  58. data/lib/arclight/normalized_date.rb +5 -10
  59. data/lib/arclight/normalized_id.rb +4 -2
  60. data/lib/arclight/repository.rb +1 -1
  61. data/lib/arclight/traject/ead2_component_config.rb +57 -14
  62. data/lib/arclight/traject/ead2_config.rb +57 -15
  63. data/lib/arclight/version.rb +1 -1
  64. data/lib/generators/arclight/install_generator.rb +41 -4
  65. data/lib/generators/arclight/templates/arclight.scss +6 -5
  66. data/lib/generators/arclight/templates/catalog_controller.rb +48 -5
  67. data/lib/generators/arclight/templates/config/locales/arclight.en.yml +8 -0
  68. data/lib/generators/arclight/templates/config/repositories.yml +2 -2
  69. data/package.json +6 -5
  70. data/solr/conf/schema.xml +13 -7
  71. data/solr/conf/solrconfig.xml +61 -44
  72. data/tasks/arclight.rake +9 -2
  73. data/template.rb +5 -5
  74. metadata +18 -21
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8dc036f2f88f3c446ea37d4e430da4a555041c6ac63262ad062853ae91ed2fac
4
- data.tar.gz: 1c07fab78cbc66efd7c35e2ccc6b0767350143a8e5c0a1565cbf383096763ba1
3
+ metadata.gz: 0f420e8cfdd2330f786efc0792a102163f114625752b77c32695c172217d66ce
4
+ data.tar.gz: b373b12a559f9fafadb8d0a0fb0e66e1691b81a91e989ecf23db5cf090f7ee27
5
5
  SHA512:
6
- metadata.gz: 490d571aa3e06bd5f9e65042c69abc66a5f96b3f6d48dfcd5021d88807a5b2176d3a5e1475ca69a2d52ff292c1ae4df88fdcccc6a85e002deb583b2cb29eed19
7
- data.tar.gz: 267f8e127ed5222fbda4106444f65886f0742d664bbe3e9e3f453f1625577cec8dd139b9021ddc6c9812bb369cd4facc8cc9149a585faa34b44498ffcdc2fc49
6
+ metadata.gz: 15656150e9dcc4c27a871376c9a7f297fa44bc8f45b20354ec11f8320742c51531c968e662bf926b5fb7c3c5f514060fc6e1ed9ba142a51b31b9febef501e573
7
+ data.tar.gz: 0fb9df78502d8e33a5dd4ca59117ca82ccfe770e0c6c9caac785c9d311ee3d12db88201e061a9ed9a33678276ec2cb1e75c011c29640e0219f87d99359874ce0
@@ -2,35 +2,42 @@ name: CI
2
2
 
3
3
  on:
4
4
  push:
5
- branches: [ main ]
5
+ branches: [main, release-*]
6
6
  pull_request:
7
- branches: [ main ]
7
+ branches: [main, release-*]
8
8
 
9
9
  jobs:
10
10
  test:
11
11
  runs-on: ubuntu-latest
12
12
  strategy:
13
13
  matrix:
14
- rails_version: [7.0.4]
15
- ruby: ['3.0', '3.1', '3.2']
14
+ rails_version: [7.1.5.1, 7.2.2.1]
15
+ ruby: ["3.2", "3.3"]
16
+ additional_engine_cart_rails_options: [""]
17
+ include:
18
+ - ruby: "3.1"
19
+ rails_version: "7.1.5"
20
+ - ruby: "3.3"
21
+ rails_version: "8.0.1"
16
22
  env:
17
23
  RAILS_VERSION: ${{ matrix.rails_version }}
24
+ ENGINE_CART_RAILS_OPTIONS: "--skip-git --skip-listen --skip-spring --skip-keeps --skip-kamal --skip-solid --skip-coffee --skip-test --css bootstrap -a propshaft -j importmap ${{ matrix.additional_engine_cart_rails_options }}"
18
25
  steps:
19
- - uses: actions/checkout@v3
20
- - name: Set up Ruby ${{ matrix.ruby }}
21
- uses: ruby/setup-ruby@v1
22
- with:
23
- bundler: latest
24
- ruby-version: ${{ matrix.ruby }}
25
- - name: Install dependencies with Rails ${{ matrix.rails_version }}
26
- run: bundle install
27
- - name: Run tests
28
- run: bundle exec rake ci
26
+ - uses: actions/checkout@v4
27
+ - name: Set up Ruby ${{ matrix.ruby }}
28
+ uses: ruby/setup-ruby@v1
29
+ with:
30
+ bundler: latest
31
+ ruby-version: ${{ matrix.ruby }}
32
+ - name: Install dependencies with Rails ${{ matrix.rails_version }}
33
+ run: bundle install
34
+ - name: Run tests
35
+ run: bundle exec rake ci
29
36
  lint:
30
37
  runs-on: ubuntu-latest
31
38
  steps:
32
39
  - name: Checkout code
33
- uses: actions/checkout@v3
40
+ uses: actions/checkout@v4
34
41
  - name: Install Ruby and gems
35
42
  uses: ruby/setup-ruby@v1
36
43
  with:
data/.gitignore CHANGED
@@ -9,6 +9,7 @@
9
9
  /pkg/
10
10
  /spec/reports/
11
11
  /tmp/
12
+ /app/assets/builds/
12
13
 
13
14
  # rspec failure tracking
14
15
  .rspec_status
data/.rubocop.yml CHANGED
@@ -1,41 +1,46 @@
1
+ plugins:
2
+ - rubocop-factory_bot
3
+
1
4
  require:
2
5
  - rubocop-rspec
3
6
  - rubocop-rails
4
7
  - rubocop-rake
8
+ - rubocop-rspec_rails
9
+ - rubocop-capybara
5
10
 
6
11
  inherit_from:
7
12
  - .rubocop_todo.yml
8
13
 
9
14
  AllCops:
10
15
  Exclude:
11
- - '.internal_test_app/**/*'
12
- - 'bin/**/*'
13
- - 'db/**/*'
14
- - 'lib/generators/arclight/templates/**/*'
15
- - 'vendor/**/*'
16
- - 'node_modules/**/*'
16
+ - ".internal_test_app/**/*"
17
+ - "bin/**/*"
18
+ - "db/**/*"
19
+ - "lib/generators/arclight/templates/**/*"
20
+ - "vendor/**/*"
21
+ - "node_modules/**/*"
17
22
  TargetRubyVersion: 3.0
18
23
  DisplayCopNames: true
19
24
 
20
25
  Metrics/ModuleLength:
21
26
  Exclude:
22
- - 'app/helpers/arclight_helper.rb'
23
- - 'app/models/concerns/arclight/solr_document.rb'
27
+ - "app/helpers/arclight_helper.rb"
28
+ - "app/models/concerns/arclight/solr_document.rb"
24
29
 
25
30
  Metrics/BlockLength:
26
31
  Exclude:
27
- - 'arclight.gemspec'
28
- - 'lib/arclight/traject/ead2_config.rb'
29
- - 'lib/tasks/**/*'
30
- - 'spec/features/traject/ead2_indexing_spec.rb'
31
- - 'spec/helpers/arclight_helper_spec.rb'
32
- - 'spec/features/collection_page_spec.rb'
33
- - 'spec/**/*'
34
- - 'tasks/**/*'
32
+ - "arclight.gemspec"
33
+ - "lib/arclight/traject/ead2_config.rb"
34
+ - "lib/tasks/**/*"
35
+ - "spec/features/traject/ead2_indexing_spec.rb"
36
+ - "spec/helpers/arclight_helper_spec.rb"
37
+ - "spec/features/collection_page_spec.rb"
38
+ - "spec/**/*"
39
+ - "tasks/**/*"
35
40
 
36
41
  Naming/PredicateName:
37
42
  ForbiddenPrefixes:
38
- - _is
43
+ - is_
39
44
 
40
45
  Layout/LineLength:
41
46
  Max: 160
@@ -48,7 +53,7 @@ Bundler/DuplicatedGem:
48
53
 
49
54
  Style/FormatStringToken:
50
55
  Exclude:
51
- - 'spec/test_app_templates/lib/generators/test_app_generator.rb'
56
+ - "spec/test_app_templates/lib/generators/test_app_generator.rb"
52
57
 
53
58
  Gemspec/DeprecatedAttributeAssignment: # new in 1.30
54
59
  Enabled: true
@@ -204,11 +209,11 @@ Capybara/SpecificFinders: # new in 2.13
204
209
  Enabled: true
205
210
  Capybara/SpecificMatcher: # new in 2.12
206
211
  Enabled: true
207
- RSpec/FactoryBot/SyntaxMethods: # new in 2.7
212
+ FactoryBot/SyntaxMethods: # new in 2.7
208
213
  Enabled: true
209
- RSpec/Rails/AvoidSetupHook: # new in 2.4
214
+ RSpecRails/AvoidSetupHook: # new in 2.4
210
215
  Enabled: true
211
- RSpec/Rails/HaveHttpStatus: # new in 2.12
216
+ RSpecRails/HaveHttpStatus: # new in 2.12
212
217
  Enabled: true
213
218
  Rails/ActionControllerFlashBeforeRender: # new in 2.16
214
219
  Enabled: true
@@ -318,9 +323,9 @@ Capybara/NegationMatcher: # new in 2.14
318
323
  Enabled: true
319
324
  Capybara/SpecificActions: # new in 2.14
320
325
  Enabled: true
321
- RSpec/FactoryBot/ConsistentParenthesesStyle: # new in 2.14
326
+ FactoryBot/ConsistentParenthesesStyle: # new in 2.14
322
327
  Enabled: false # https://github.com/rspec/rspec-rails/issues/2635
323
- RSpec/Rails/InferredSpecType: # new in 2.14
328
+ RSpecRails/InferredSpecType: # new in 2.14
324
329
  Enabled: true
325
330
  Rails/ActionOrder: # new in 2.17
326
331
  Enabled: true
@@ -354,9 +359,163 @@ RSpec/DuplicatedMetadata: # new in 2.16
354
359
  Enabled: true
355
360
  RSpec/PendingWithoutReason: # new in 2.16
356
361
  Enabled: true
357
- RSpec/FactoryBot/FactoryNameStyle: # new in 2.16
362
+ FactoryBot/FactoryNameStyle: # new in 2.16
358
363
  Enabled: false # https://github.com/rubocop/rubocop-rspec/issues/1587
359
- RSpec/Rails/MinitestAssertions: # new in 2.17
364
+ RSpecRails/MinitestAssertions: # new in 2.17
360
365
  Enabled: true
361
366
  Rails/ResponseParsedBody: # new in 2.18
362
- Enabled: true
367
+ Enabled: true
368
+ Gemspec/AddRuntimeDependency: # new in 1.65
369
+ Enabled: true
370
+ Lint/DuplicateMatchPattern: # new in 1.50
371
+ Enabled: true
372
+ Lint/DuplicateSetElement: # new in 1.67
373
+ Enabled: true
374
+ Lint/HashNewWithKeywordArgumentsAsDefault: # new in 1.69
375
+ Enabled: true
376
+ Lint/ItWithoutArgumentsInBlock: # new in 1.59
377
+ Enabled: true
378
+ Lint/LiteralAssignmentInCondition: # new in 1.58
379
+ Enabled: true
380
+ Lint/MixedCaseRange: # new in 1.53
381
+ Enabled: true
382
+ Lint/NumericOperationWithConstantResult: # new in 1.69
383
+ Enabled: true
384
+ Lint/RedundantRegexpQuantifiers: # new in 1.53
385
+ Enabled: true
386
+ Lint/UnescapedBracketInRegexp: # new in 1.68
387
+ Enabled: true
388
+ Lint/UselessDefined: # new in 1.69
389
+ Enabled: true
390
+ Lint/UselessNumericOperation: # new in 1.66
391
+ Enabled: true
392
+ Metrics/CollectionLiteralLength: # new in 1.47
393
+ Enabled: true
394
+ Style/AmbiguousEndlessMethodDefinition: # new in 1.68
395
+ Enabled: true
396
+ Style/BitwisePredicate: # new in 1.68
397
+ Enabled: true
398
+ Style/CombinableDefined: # new in 1.68
399
+ Enabled: true
400
+ Style/DataInheritance: # new in 1.49
401
+ Enabled: true
402
+ Style/DigChain: # new in 1.69
403
+ Enabled: true
404
+ Style/DirEmpty: # new in 1.48
405
+ Enabled: true
406
+ Style/ExactRegexpMatch: # new in 1.51
407
+ Enabled: true
408
+ Style/FileEmpty: # new in 1.48
409
+ Enabled: true
410
+ Style/FileNull: # new in 1.69
411
+ Enabled: true
412
+ Style/FileTouch: # new in 1.69
413
+ Enabled: true
414
+ Style/KeywordArgumentsMerging: # new in 1.68
415
+ Enabled: true
416
+ Style/MapIntoArray: # new in 1.63
417
+ Enabled: true
418
+ Style/RedundantArrayConstructor: # new in 1.52
419
+ Enabled: true
420
+ Style/RedundantCurrentDirectoryInPath: # new in 1.53
421
+ Enabled: true
422
+ Style/RedundantFilterChain: # new in 1.52
423
+ Enabled: true
424
+ Style/RedundantInterpolationUnfreeze: # new in 1.66
425
+ Enabled: true
426
+ Style/RedundantLineContinuation: # new in 1.49
427
+ Enabled: true
428
+ Style/RedundantRegexpArgument: # new in 1.53
429
+ Enabled: true
430
+ Style/RedundantRegexpConstructor: # new in 1.52
431
+ Enabled: true
432
+ Style/ReturnNilInPredicateMethodDefinition: # new in 1.53
433
+ Enabled: true
434
+ Style/SafeNavigationChainLength: # new in 1.68
435
+ Enabled: true
436
+ Style/SendWithLiteralMethodName: # new in 1.64
437
+ Enabled: true
438
+ Style/SingleLineDoEndBlock: # new in 1.57
439
+ Enabled: true
440
+ Style/SuperArguments: # new in 1.64
441
+ Enabled: true
442
+ Style/SuperWithArgsParentheses: # new in 1.58
443
+ Enabled: true
444
+ Style/YAMLFileRead: # new in 1.53
445
+ Enabled: true
446
+ Capybara/ClickLinkOrButtonStyle: # new in 2.19
447
+ Enabled: true
448
+ Capybara/RedundantWithinFind: # new in 2.20
449
+ Enabled: true
450
+ Capybara/RSpec/HaveSelector: # new in 2.19
451
+ Enabled: true
452
+ Capybara/RSpec/PredicateMatcher: # new in 2.19
453
+ Enabled: true
454
+ FactoryBot/AssociationStyle: # new in 2.23
455
+ Enabled: true
456
+ FactoryBot/ExcessiveCreateList: # new in 2.25
457
+ Enabled: true
458
+ FactoryBot/FactoryAssociationWithStrategy: # new in 2.23
459
+ Enabled: true
460
+ FactoryBot/IdSequence: # new in 2.24
461
+ Enabled: true
462
+ FactoryBot/RedundantFactoryOption: # new in 2.23
463
+ Enabled: true
464
+ RSpecRails/NegationBeValid: # new in 2.23
465
+ Enabled: true
466
+ RSpecRails/TravelAround: # new in 2.19
467
+ Enabled: true
468
+ RSpec/BeEmpty: # new in 2.20
469
+ Enabled: true
470
+ RSpec/ContainExactly: # new in 2.19
471
+ Enabled: true
472
+ RSpec/EmptyMetadata: # new in 2.24
473
+ Enabled: true
474
+ RSpec/EmptyOutput: # new in 2.29
475
+ Enabled: true
476
+ RSpec/Eq: # new in 2.24
477
+ Enabled: true
478
+ RSpec/ExpectInLet: # new in 2.30
479
+ Enabled: true
480
+ RSpec/IndexedLet: # new in 2.20
481
+ Enabled: true
482
+ RSpec/IsExpectedSpecify: # new in 2.27
483
+ Enabled: true
484
+ RSpec/MatchArray: # new in 2.19
485
+ Enabled: true
486
+ RSpec/MetadataStyle: # new in 2.24
487
+ Enabled: true
488
+ RSpec/ReceiveMessages: # new in 2.23
489
+ Enabled: true
490
+ RSpec/RedundantAround: # new in 2.19
491
+ Enabled: true
492
+ RSpec/RedundantPredicateMatcher: # new in 2.26
493
+ Enabled: true
494
+ RSpec/RemoveConst: # new in 2.26
495
+ Enabled: true
496
+ RSpec/RepeatedSubjectCall: # new in 2.27
497
+ Enabled: true
498
+ RSpec/SkipBlockInsideExample: # new in 2.19
499
+ Enabled: true
500
+ RSpec/SpecFilePathFormat: # new in 2.24
501
+ Enabled: true
502
+ RSpec/SpecFilePathSuffix: # new in 2.24
503
+ Enabled: true
504
+ RSpec/UndescriptiveLiteralsDescription: # new in 2.29
505
+ Enabled: true
506
+ Rails/DangerousColumnNames: # new in 2.21
507
+ Enabled: true
508
+ Rails/EnumSyntax: # new in 2.26
509
+ Enabled: true
510
+ Rails/EnvLocal: # new in 2.22
511
+ Enabled: true
512
+ Rails/RedundantActiveRecordAllMethod: # new in 2.21
513
+ Enabled: true
514
+ Rails/SelectMap: # new in 2.21
515
+ Enabled: true
516
+ Rails/ThreeStateBooleanColumn: # new in 2.19
517
+ Enabled: true
518
+ Rails/UnusedRenderContent: # new in 2.21
519
+ Enabled: true
520
+ Rails/WhereRange: # new in 2.25
521
+ Enabled: true
data/.solr_wrapper CHANGED
@@ -1,5 +1,6 @@
1
1
  # Place any default configuration for solr_wrapper here
2
2
  # port: 8983
3
3
  collection:
4
- dir: solr/conf/
4
+ dir: solr/conf
5
5
  name: blacklight-core
6
+ version: 9.7.0
data/README.md CHANGED
@@ -11,8 +11,8 @@ A Rails engine supporting discovery of archival materials, based on [Blacklight]
11
11
 
12
12
  ## Requirements
13
13
 
14
- * [Ruby](https://www.ruby-lang.org/en/) 2.7 or later
15
- * [Rails](http://rubyonrails.org) 6.1 or later
14
+ * [Ruby](https://www.ruby-lang.org/en/) 3.0.3 or later
15
+ * [Rails](http://rubyonrails.org) 7.1 or later
16
16
  * Solr 8.1 or later
17
17
 
18
18
  ## Installation
@@ -70,15 +70,11 @@ bundle exec rake arclight:seed
70
70
 
71
71
  * General
72
72
  * [ArcLight demo site](https://arclight-demo.projectblacklight.org/)
73
- * [ArcLight project wiki](https://bit.ly/arclightproject): includes design process documentation
74
- * [ArcLight Github Wiki](https://github.com/projectblacklight/arclight/wiki): developer/implementor documentation
73
+ * [ArcLight Github wiki](https://github.com/projectblacklight/arclight/wiki): developer/implementor documentation
75
74
  * [Blacklight wiki](https://github.com/projectblacklight/blacklight/wiki)
76
75
  * Use the [ArcLight Google Group](http://groups.google.com/d/forum/arclight-community) to contact us with questions
77
- * ArcLight Phase II:
78
- * [Project overview](https://wiki.duraspace.org/display/samvera/ArcLight+Phase+II)
79
76
  * ArcLight MVP:
80
77
  * [MVP sprint demo videos](https://www.youtube.com/playlist?list=PLMdUaIJ0G8QgbuDCUVvFhTSTO96N37lRA)
81
- * [Project overview](https://wiki.duraspace.org/display/samvera/ArcLight+MVP)
82
78
 
83
79
  ## Contributors
84
80
 
@@ -121,7 +117,7 @@ You can also run `bin/console` for an interactive prompt that will allow you to
121
117
  When any of the javascript components or SASS sources in the gem are changed, this package should be published to NPM with the following steps:
122
118
  1. [Install npm](https://www.npmjs.com/get-npm)
123
119
  2. Bump the version number in `package.json`
124
- 3. run `npm publish` to push the javascript package to https://npmjs.org/package/arclight
120
+ 3. run `npm run build && npm publish` to push the javascript package to https://npmjs.org/package/arclight
125
121
 
126
122
  ## Contributing
127
123
 
@@ -11,3 +11,4 @@
11
11
  @import 'modules/search_results';
12
12
  @import 'modules/show_collection';
13
13
  @import 'modules/truncator';
14
+ @import 'modules/search_form';
@@ -0,0 +1,4 @@
1
+ @import "bootstrap/scss/functions";
2
+ @import "bootstrap/scss/mixins/breakpoints";
3
+ @import "bootstrap/scss/variables";
4
+ @import "application";
@@ -1,24 +1,23 @@
1
- //< !-- ! Font Awesome Pro 6.2.0 by @fontawesome - https: //fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. -->
2
- $hierarchy-view-expand-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path fill='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM200 344V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z'/></svg>") !default;
3
- $hierarchy-view-collapse-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path fill='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 200H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z'/></svg>") !default;
1
+ :root {
2
+ --al-toggle-icon-color: #{$navbar-light-color};
3
+ /* Font Awesome Free 6.5.2 by @fontawesome - https: //fontawesome.com License - https://fontawesome.com/license/free (CC BY 4.0 License) Copyright 2024 Fonticons, Inc. */
4
+ --al-hierarchy-view-expand-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 475 512'><path stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' stroke='rgb(0, 0, 0)' fill='rgb(0, 0, 0)' d='M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM200 344V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z'/></svg>");
5
+ --al-hierarchy-view-collapse-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 475 512'><path stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' stroke='rgb(0, 0, 0)' fill='rgb(0, 0, 0)' d='M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 200H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z'/></svg>");
6
+ }
4
7
 
5
8
  // Collapse +/- indicators
6
9
  .al-toggle-view-children {
7
- background-image: escape-svg($hierarchy-view-expand-icon);
8
- background-repeat: no-repeat;
9
- background-position: center;
10
- background-size: 100%;
11
- display: inline-block;
10
+ background-color: var(--al-toggle-icon-color);
12
11
  flex-shrink: 0;
13
12
  height: 1.25rem;
14
13
  margin-left: -1.25rem;
15
14
  margin-right: 0.25 * $spacer;
16
15
  margin-top: 0.1 * $spacer;
17
- vertical-align: middle;
18
- width: 1rem;
16
+ mask: var(--al-hierarchy-view-expand-icon);
17
+ width: 1.1rem;
19
18
 
20
19
  &:not(.collapsed) {
21
- background-image: escape-svg($hierarchy-view-collapse-icon);
20
+ mask: var(--al-hierarchy-view-collapse-icon);
22
21
  }
23
22
  }
24
23
 
@@ -46,11 +45,16 @@ $hierarchy-view-collapse-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3
46
45
  display: none;
47
46
  }
48
47
 
49
- turbo-frame[loading]:not([complete]) {
50
- &::after {
51
- @extend .placeholder !optional;
48
+ turbo-frame[busy] {
49
+ &::before {
52
50
  animation: placeholder-glow 2s ease-in-out infinite;
53
- content: 'Loading...';
51
+ background-color: currentcolor;
52
+ content: "Loading...";
53
+ cursor: wait;
54
+ display: inline-block;
55
+ min-height: 1em;
56
+ opacity: 0.5;
57
+ vertical-align: middle;
54
58
  display: inline-block;
55
59
  margin-left: 1.5rem;
56
60
  }
@@ -101,8 +105,8 @@ $hierarchy-view-collapse-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3
101
105
 
102
106
  .title-container {
103
107
  border-bottom: $border-width solid $border-color;
104
- padding-bottom: $spacer * .5;
105
- margin-bottom: $spacer * .75;
108
+ padding-bottom: $spacer * 0.5;
109
+ margin-bottom: $spacer * 0.75;
106
110
  display: grid;
107
111
  gap: 0.5rem;
108
112
  grid-template-areas:
@@ -142,7 +146,7 @@ $hierarchy-view-collapse-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3
142
146
  .online-contents {
143
147
  grid-area: online-contents;
144
148
  margin-bottom: 1rem;
145
-
149
+
146
150
  h2 {
147
151
  font-size: 1rem;
148
152
  text-transform: uppercase;
@@ -1,5 +1,10 @@
1
-
2
- .toggle-bookmark, .breadcrumb-item, .document, .al-online-content-icon {
1
+ :root {
2
+ --al-online-icon-color: #{$online-icon-color};
3
+ }
4
+ .toggle-bookmark,
5
+ .breadcrumb-item,
6
+ .document,
7
+ .al-online-content-icon {
3
8
  .blacklight-icons svg {
4
9
  height: 1rem;
5
10
  width: 1rem;
@@ -7,9 +12,9 @@
7
12
  }
8
13
 
9
14
  .al-online-content-icon .blacklight-icons svg {
10
- fill: $online-icon-color;
15
+ fill: var(--al-online-icon-color);
11
16
  }
12
17
 
13
18
  .btn > .bi:first-child {
14
- @extend .me-1
19
+ margin-inline-end: 0.25rem !important;
15
20
  }
@@ -7,9 +7,9 @@
7
7
  .al-show-breadcrumb {
8
8
  border-bottom: $border-width solid $border-color;
9
9
  padding-bottom: $spacer;
10
- margin-bottom: $spacer * .75;
10
+ margin-bottom: $spacer * 0.75;
11
11
  width: 100%;
12
-
12
+
13
13
  $bent-arrow: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='15'><path fill-rule='evenodd' d='M1.5 1.5A.5.5 0 0 0 1 2v4.8a2.5 2.5 0 0 0 2.5 2.5h9.793l-3.347 3.346a.5.5 0 0 0 .708.708l4.2-4.2a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 8.3H3.5A1.5 1.5 0 0 1 2 6.8V2a.5.5 0 0 0-.5-.5z'></path></svg>";
14
14
 
15
15
  .breadcrumb {
@@ -53,7 +53,9 @@
53
53
  }
54
54
  }
55
55
 
56
- .breadcrumb-item-1, .breadcrumb-item-4 { // breadcrumb-item-3 can have multiple on one line
56
+ .breadcrumb-item-1,
57
+ .breadcrumb-item-4 {
58
+ // breadcrumb-item-3 can have multiple on one line
57
59
  flex: 1 0 100%;
58
60
  color: $gray-600;
59
61
  }
@@ -100,14 +102,14 @@
100
102
  border: $default-border-styling;
101
103
  background-color: $gray-200;
102
104
  font-size: $font-size-sm;
103
- padding: ($spacer * .5) $spacer ($spacer * .75);
105
+ padding: ($spacer * 0.5) $spacer ($spacer * 0.75);
104
106
 
105
107
  @media (max-width: 767px) {
106
108
  margin-top: $spacer;
107
109
  }
108
110
 
109
111
  .al-collection-id {
110
- margin-bottom: $spacer * .75;
112
+ margin-bottom: $spacer * 0.75;
111
113
  }
112
114
 
113
115
  &-options {
@@ -131,11 +133,11 @@
131
133
  }
132
134
  }
133
135
 
134
- svg.bi {
136
+ svg.bi {
135
137
  vertical-align: text-bottom;
136
138
  color: $light-icon-color;
137
139
  }
138
-
140
+
139
141
  .dropdown-item svg.bi {
140
142
  color: $dark-icon-color;
141
143
  }
@@ -144,7 +146,7 @@
144
146
  .bookmark-toggle {
145
147
  display: inline;
146
148
  margin-left: 1em;
147
-
149
+
148
150
  .toggle-bookmark {
149
151
  display: inline;
150
152
  margin-bottom: 0;
@@ -153,12 +155,16 @@
153
155
  }
154
156
 
155
157
  .show-document {
156
- @extend .ps-lg-4;
157
-
158
158
  .title-container .bookmark-toggle {
159
- @extend .card;
160
- @extend .bg-light;
161
- @extend .p-2;
159
+ border: var(--bs-card-border-width) solid var(--bs-card-border-color);
160
+ background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity));
161
+ padding: 0.5rem;
162
+ }
163
+ }
164
+
165
+ @media (min-width: 992px) {
166
+ .show-document {
167
+ padding-left: 1.5rem !important;
162
168
  }
163
169
  }
164
170
 
@@ -177,7 +183,10 @@ dl.deflist dt {
177
183
  text-align: left;
178
184
  }
179
185
 
180
- .chronlist-head, .list-head {
186
+ .chronlist-head,
187
+ .list-head,
188
+ .index-head,
189
+ .table-head {
181
190
  caption-side: top;
182
191
  font-size: 1.25rem;
183
192
  font-weight: 500;
@@ -1,8 +1,13 @@
1
1
  .navbar-search {
2
+ border-bottom: $default-border-styling;
3
+ border-top: $default-border-styling;
4
+ margin-bottom: ($spacer * 0.5);
5
+ z-index: 10;
6
+
2
7
  .search-query-form {
3
- max-width: 100% !important; // work around blacklight styles
8
+ max-width: 100% !important; // work around blacklight styles
4
9
  display: flex;
5
- gap: .5rem;
10
+ gap: 0.5rem;
6
11
 
7
12
  // wrap collection dropdown onto its own line on smaller screens
8
13
  @include media-breakpoint-down(md) {
@@ -21,53 +26,17 @@
21
26
  }
22
27
 
23
28
  .al-masthead {
24
- h1, .h1 {
25
- display: block;
26
- font-size: $h2-font-size;
27
- margin: 0;
28
- padding: ($spacer * 1.5) ($spacer * 0.5);
29
- }
29
+ --al-mastead-active-link-color: var(--bs-gray-700);
30
+ --al-masthead-title-size: #{$h2-font-size};
31
+ --bs-nav-link-font-weight: 700;
30
32
 
31
- .navbar-nav {
32
- flex-direction: row;
33
- font-weight: 700;
34
-
35
- .active a {
36
- color: $gray-700;
37
- }
33
+ .h1 {
34
+ font-size: var(--al-masthead-title-size);
38
35
  }
39
36
 
40
- + .navbar-search {
41
- border-bottom: $default-border-styling;
42
- border-top: $default-border-styling;
43
- margin-bottom: ($spacer * 0.5);
44
-
45
- a {
46
- font-weight: $font-weight-bold;
47
- }
48
-
37
+ .navbar-nav {
49
38
  .active a {
50
- color: $gray-700;
51
- }
52
-
53
- .navbar-toggler {
54
- background-color: $white;
55
- border: $default-border-styling;
56
- }
57
-
58
- .navbar-toggler-icon {
59
- background-image: $navbar-light-toggler-icon-bg;
60
- }
61
- }
62
-
63
- @media (max-width: 767px) {
64
- .nav-links {
65
- justify-content: center !important;
66
- }
67
-
68
- h1,
69
- + .navbar-search {
70
- text-align: center;
39
+ color: var(--al-mastead-active-link-color);
71
40
  }
72
41
  }
73
42
  }