Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions config/vufind/httpd-vufind.conf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Configuration for theme-specific resources:
AliasMatch ^/vufind/themes/([0-9a-zA-Z-_]*)/(assets|css|images|js)/(.*)$ /usr/local/vufind/themes/$1/$2/$3
<Directory ~ "^/usr/local/vufind/themes/([0-9a-zA-Z-_]*)/(assets|css|images|js)/">
AliasMatch ^/vufind/themes/([0-9a-zA-Z-_]*)/(assets|css|images|js|webfonts)/(.*)$ /usr/local/vufind/themes/$1/$2/$3
<Directory ~ "^/usr/local/vufind/themes/([0-9a-zA-Z-_]*)/(assets|css|images|js|webfonts)/">
Require all granted
AllowOverride All
</Directory>
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2 changes: 0 additions & 2 deletions themes/bootstrap5/scss/bootstrap.scss
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
@use "sass:map";
@use "sass:math";

$fa-font-path: "../../bootstrap5/css/vendor/font-awesome/webfonts";

// Include Font Awesome
@import "vendor/font-awesome/fontawesome";
@import "vendor/font-awesome/regular";
Expand Down
175 changes: 86 additions & 89 deletions themes/bootstrap5/scss/vendor/font-awesome/_animated.scss
Original file line number Diff line number Diff line change
@@ -1,140 +1,138 @@
// animating icons
// --------------------------
@use 'variables' as v;

.#{$fa-css-prefix}-beat {
animation-name: #{$fa-css-prefix}-beat;
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, ease-in-out);
.#{v.$css-prefix}-beat {
animation-name: #{v.$css-prefix}-beat;
animation-delay: var(--#{v.$css-prefix}-animation-delay, 0s);
animation-direction: var(--#{v.$css-prefix}-animation-direction, normal);
animation-duration: var(--#{v.$css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{v.$css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{v.$css-prefix}-animation-timing, ease-in-out);
}

.#{$fa-css-prefix}-bounce {
animation-name: #{$fa-css-prefix}-bounce;
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(0.280, 0.840, 0.420, 1));
.#{v.$css-prefix}-bounce {
animation-name: #{v.$css-prefix}-bounce;
animation-delay: var(--#{v.$css-prefix}-animation-delay, 0s);
animation-direction: var(--#{v.$css-prefix}-animation-direction, normal);
animation-duration: var(--#{v.$css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{v.$css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{v.$css-prefix}-animation-timing, cubic-bezier(0.280, 0.840, 0.420, 1));
}

.#{$fa-css-prefix}-fade {
animation-name: #{$fa-css-prefix}-fade;
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1));
.#{v.$css-prefix}-fade {
animation-name: #{v.$css-prefix}-fade;
animation-delay: var(--#{v.$css-prefix}-animation-delay, 0s);
animation-direction: var(--#{v.$css-prefix}-animation-direction, normal);
animation-duration: var(--#{v.$css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{v.$css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{v.$css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1));
}

.#{$fa-css-prefix}-beat-fade {
animation-name: #{$fa-css-prefix}-beat-fade;
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1));
.#{v.$css-prefix}-beat-fade {
animation-name: #{v.$css-prefix}-beat-fade;
animation-delay: var(--#{v.$css-prefix}-animation-delay, 0s);
animation-direction: var(--#{v.$css-prefix}-animation-direction, normal);
animation-duration: var(--#{v.$css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{v.$css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{v.$css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1));
}

.#{$fa-css-prefix}-flip {
animation-name: #{$fa-css-prefix}-flip;
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, ease-in-out);
.#{v.$css-prefix}-flip {
animation-name: #{v.$css-prefix}-flip;
animation-delay: var(--#{v.$css-prefix}-animation-delay, 0s);
animation-direction: var(--#{v.$css-prefix}-animation-direction, normal);
animation-duration: var(--#{v.$css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{v.$css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{v.$css-prefix}-animation-timing, ease-in-out);
}

.#{$fa-css-prefix}-shake {
animation-name: #{$fa-css-prefix}-shake;
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, linear);
.#{v.$css-prefix}-shake {
animation-name: #{v.$css-prefix}-shake;
animation-delay: var(--#{v.$css-prefix}-animation-delay, 0s);
animation-direction: var(--#{v.$css-prefix}-animation-direction, normal);
animation-duration: var(--#{v.$css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{v.$css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{v.$css-prefix}-animation-timing, linear);
}

.#{$fa-css-prefix}-spin {
animation-name: #{$fa-css-prefix}-spin;
animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s);
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 2s);
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, linear);
.#{v.$css-prefix}-spin {
animation-name: #{v.$css-prefix}-spin;
animation-delay: var(--#{v.$css-prefix}-animation-delay, 0s);
animation-direction: var(--#{v.$css-prefix}-animation-direction, normal);
animation-duration: var(--#{v.$css-prefix}-animation-duration, 2s);
animation-iteration-count: var(--#{v.$css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{v.$css-prefix}-animation-timing, linear);
}

.#{$fa-css-prefix}-spin-reverse {
--#{$fa-css-prefix}-animation-direction: reverse;
.#{v.$css-prefix}-spin-reverse {
--#{v.$css-prefix}-animation-direction: reverse;
}

.#{$fa-css-prefix}-pulse,
.#{$fa-css-prefix}-spin-pulse {
animation-name: #{$fa-css-prefix}-spin;
animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal);
animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, steps(8));
.#{v.$css-prefix}-pulse,
.#{v.$css-prefix}-spin-pulse {
animation-name: #{v.$css-prefix}-spin;
animation-direction: var(--#{v.$css-prefix}-animation-direction, normal);
animation-duration: var(--#{v.$css-prefix}-animation-duration, 1s);
animation-iteration-count: var(--#{v.$css-prefix}-animation-iteration-count, infinite);
animation-timing-function: var(--#{v.$css-prefix}-animation-timing, steps(8));
}

// if agent or operating system prefers reduced motion, disable animations
// see: https://www.smashingmagazine.com/2020/09/design-reduced-motion-sensitivities/
// see: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion
@media (prefers-reduced-motion: reduce) {
.#{$fa-css-prefix}-beat,
.#{$fa-css-prefix}-bounce,
.#{$fa-css-prefix}-fade,
.#{$fa-css-prefix}-beat-fade,
.#{$fa-css-prefix}-flip,
.#{$fa-css-prefix}-pulse,
.#{$fa-css-prefix}-shake,
.#{$fa-css-prefix}-spin,
.#{$fa-css-prefix}-spin-pulse {
animation-delay: -1ms;
animation-duration: 1ms;
animation-iteration-count: 1;
transition-delay: 0s;
transition-duration: 0s;
.#{v.$css-prefix}-beat,
.#{v.$css-prefix}-bounce,
.#{v.$css-prefix}-fade,
.#{v.$css-prefix}-beat-fade,
.#{v.$css-prefix}-flip,
.#{v.$css-prefix}-pulse,
.#{v.$css-prefix}-shake,
.#{v.$css-prefix}-spin,
.#{v.$css-prefix}-spin-pulse {
animation: none !important;
transition: none !important;
}
}

@keyframes #{$fa-css-prefix}-beat {
@keyframes #{v.$css-prefix}-beat {
0%, 90% { transform: scale(1); }
45% { transform: scale(var(--#{$fa-css-prefix}-beat-scale, 1.25)); }
45% { transform: scale(var(--#{v.$css-prefix}-beat-scale, 1.25)); }
}

@keyframes #{$fa-css-prefix}-bounce {
@keyframes #{v.$css-prefix}-bounce {
0% { transform: scale(1,1) translateY(0); }
10% { transform: scale(var(--#{$fa-css-prefix}-bounce-start-scale-x, 1.1),var(--#{$fa-css-prefix}-bounce-start-scale-y, 0.9)) translateY(0); }
30% { transform: scale(var(--#{$fa-css-prefix}-bounce-jump-scale-x, 0.9),var(--#{$fa-css-prefix}-bounce-jump-scale-y, 1.1)) translateY(var(--#{$fa-css-prefix}-bounce-height, -0.5em)); }
50% { transform: scale(var(--#{$fa-css-prefix}-bounce-land-scale-x, 1.05),var(--#{$fa-css-prefix}-bounce-land-scale-y, 0.95)) translateY(0); }
57% { transform: scale(1,1) translateY(var(--#{$fa-css-prefix}-bounce-rebound, -0.125em)); }
10% { transform: scale(var(--#{v.$css-prefix}-bounce-start-scale-x, 1.1),var(--#{v.$css-prefix}-bounce-start-scale-y, 0.9)) translateY(0); }
30% { transform: scale(var(--#{v.$css-prefix}-bounce-jump-scale-x, 0.9),var(--#{v.$css-prefix}-bounce-jump-scale-y, 1.1)) translateY(var(--#{v.$css-prefix}-bounce-height, -0.5em)); }
50% { transform: scale(var(--#{v.$css-prefix}-bounce-land-scale-x, 1.05),var(--#{v.$css-prefix}-bounce-land-scale-y, 0.95)) translateY(0); }
57% { transform: scale(1,1) translateY(var(--#{v.$css-prefix}-bounce-rebound, -0.125em)); }
64% { transform: scale(1,1) translateY(0); }
100% { transform: scale(1,1) translateY(0); }
}

@keyframes #{$fa-css-prefix}-fade {
50% { opacity: var(--#{$fa-css-prefix}-fade-opacity, 0.4); }
@keyframes #{v.$css-prefix}-fade {
50% { opacity: var(--#{v.$css-prefix}-fade-opacity, 0.4); }
}

@keyframes #{$fa-css-prefix}-beat-fade {
@keyframes #{v.$css-prefix}-beat-fade {
0%, 100% {
opacity: var(--#{$fa-css-prefix}-beat-fade-opacity, 0.4);
opacity: var(--#{v.$css-prefix}-beat-fade-opacity, 0.4);
transform: scale(1);
}
50% {
opacity: 1;
transform: scale(var(--#{$fa-css-prefix}-beat-fade-scale, 1.125));
transform: scale(var(--#{v.$css-prefix}-beat-fade-scale, 1.125));
}
}

@keyframes #{$fa-css-prefix}-flip {
@keyframes #{v.$css-prefix}-flip {
50% {
transform: rotate3d(var(--#{$fa-css-prefix}-flip-x, 0), var(--#{$fa-css-prefix}-flip-y, 1), var(--#{$fa-css-prefix}-flip-z, 0), var(--#{$fa-css-prefix}-flip-angle, -180deg));
transform: rotate3d(var(--#{v.$css-prefix}-flip-x, 0), var(--#{v.$css-prefix}-flip-y, 1), var(--#{v.$css-prefix}-flip-z, 0), var(--#{v.$css-prefix}-flip-angle, -180deg));
}
}

@keyframes #{$fa-css-prefix}-shake {
@keyframes #{v.$css-prefix}-shake {
0% { transform: rotate(-15deg); }
4% { transform: rotate(15deg); }
8%, 24% { transform: rotate(-18deg); }
Expand All @@ -146,8 +144,7 @@
40%, 100% { transform: rotate(0deg); }
}

@keyframes #{$fa-css-prefix}-spin {
@keyframes #{v.$css-prefix}-spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

20 changes: 0 additions & 20 deletions themes/bootstrap5/scss/vendor/font-awesome/_bordered-pulled.scss

This file was deleted.

24 changes: 24 additions & 0 deletions themes/bootstrap5/scss/vendor/font-awesome/_bordered.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// bordered icons
// -------------------------
@use 'variables' as v;

/* Heads Up: Bordered Icons will not be supported in the future!
- This feature will be deprecated in the next major release of Font Awesome (v8)!
- You may continue to use it in this version *v7), but it will not be supported in Font Awesome v8.
*/

/* Notes:
* --@{v.$css-prefix}-border-width = 1/16 by default (to render as ~1px based on a 16px default font-size)
* --@{v.$css-prefix}-border-padding =
** 3/16 for vertical padding (to give ~2px of vertical whitespace around an icon considering it's vertical alignment)
** 4/16 for horizontal padding (to give ~4px of horizontal whitespace around an icon)
*/

.#{v.$css-prefix}-border {
border-color: var(--#{v.$css-prefix}-border-color, #{v.$border-color});
border-radius: var(--#{v.$css-prefix}-border-radius, #{v.$border-radius});
border-style: var(--#{v.$css-prefix}-border-style, #{v.$border-style});
border-width: var(--#{v.$css-prefix}-border-width, #{v.$border-width});
box-sizing: var(--#{v.$css-prefix}-border-box-sizing, #{v.$border-box-sizing});
padding: var(--#{v.$css-prefix}-border-padding, #{v.$border-padding});
}
66 changes: 33 additions & 33 deletions themes/bootstrap5/scss/vendor/font-awesome/_core.scss
Original file line number Diff line number Diff line change
@@ -1,43 +1,43 @@
// base icon class definition
// -------------------------
@use 'variables' as v;
@use 'mixins' as m;

.#{$fa-css-prefix} {
font-family: var(--#{$fa-css-prefix}-style-family, '#{$fa-style-family}');
font-weight: var(--#{$fa-css-prefix}-style, #{$fa-style});
}

.#{$fa-css-prefix},
.#{$fa-css-prefix}-classic,
.#{$fa-css-prefix}-sharp,
.#{v.$css-prefix}-solid,
.#{v.$css-prefix}-regular,
.#{v.$css-prefix}-brands,
.#{v.$css-prefix}-classic,
.fas,
.#{$fa-css-prefix}-solid,
.far,
.#{$fa-css-prefix}-regular,
.fab,
.#{$fa-css-prefix}-brands {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
display: var(--#{$fa-css-prefix}-display, #{$fa-display});
font-style: normal;
font-variant: normal;
line-height: 1;
text-rendering: auto;
.#{v.$css-prefix} {
@include m.fa-icon();
}

.fas,
.#{$fa-css-prefix}-classic,
.#{$fa-css-prefix}-solid,
.far,
.#{$fa-css-prefix}-regular {
font-family: 'Font Awesome 6 Free';
:is(
.fas,
.far,
.fab,
.#{v.$css-prefix}-solid,
.#{v.$css-prefix}-regular,
.#{v.$css-prefix}-brands,
.#{v.$css-prefix}-classic,
.fa
)::before {
content: var(#{v.$icon-property})/"";
}

.fab,
.#{$fa-css-prefix}-brands {
font-family: 'Font Awesome 6 Brands';
}


%fa-icon {
@include fa-icon;
}
@supports not (content: ''/'') {
:is(
.fas,
.far,
.fab,
.#{v.$css-prefix}-solid,
.#{v.$css-prefix}-regular,
.#{v.$css-prefix}-brands,
.#{v.$css-prefix}-classic,
.fa
)::before {
content: var(#{v.$icon-property});
}
}
3 changes: 3 additions & 0 deletions themes/bootstrap5/scss/vendor/font-awesome/_fa.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@forward "functions";
@forward "variables";
@forward "mixins";
7 changes: 0 additions & 7 deletions themes/bootstrap5/scss/vendor/font-awesome/_fixed-width.scss

This file was deleted.

Loading
Loading