@unlk/keymaster 1.0.12 → 1.0.13

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 (64) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/css/keymaster.css +24322 -26438
  3. package/dist/css/keymaster.css.map +1 -1
  4. package/dist/css/keymaster.min.css +69 -29
  5. package/dist/css/keymaster.min.css.map +1 -1
  6. package/dist/js/keymaster.js +1 -1
  7. package/dist/js/keymaster.min.js +1 -1
  8. package/fonts/fa-brands-400.woff2 +0 -0
  9. package/fonts/fa-duotone-900.woff2 +0 -0
  10. package/fonts/fa-duotone-light-300.woff2 +0 -0
  11. package/fonts/fa-duotone-regular-400.woff2 +0 -0
  12. package/fonts/fa-duotone-thin-100.woff2 +0 -0
  13. package/fonts/fa-light-300.woff2 +0 -0
  14. package/fonts/fa-regular-400.woff2 +0 -0
  15. package/fonts/fa-sharp-duotone-light-300.woff2 +0 -0
  16. package/fonts/fa-sharp-duotone-regular-400.woff2 +0 -0
  17. package/fonts/fa-sharp-duotone-solid-900.woff2 +0 -0
  18. package/fonts/fa-sharp-duotone-thin-100.woff2 +0 -0
  19. package/fonts/fa-sharp-light-300.woff2 +0 -0
  20. package/fonts/fa-sharp-regular-400.woff2 +0 -0
  21. package/fonts/fa-sharp-solid-900.woff2 +0 -0
  22. package/fonts/fa-sharp-thin-100.woff2 +0 -0
  23. package/fonts/fa-solid-900.woff2 +0 -0
  24. package/fonts/fa-thin-100.woff2 +0 -0
  25. package/fonts/fa-v4compatibility.woff2 +0 -0
  26. package/package.json +2 -2
  27. package/scss/_fontawesome.scss +21 -0
  28. package/scss/assets/fontawesome/_animated.scss +86 -88
  29. package/scss/assets/fontawesome/_bordered.scss +24 -0
  30. package/scss/assets/fontawesome/_core.scss +119 -130
  31. package/scss/assets/fontawesome/_fa.scss +3 -0
  32. package/scss/assets/fontawesome/_functions.scss +3 -52
  33. package/scss/assets/fontawesome/_icons.scss +7 -5
  34. package/scss/assets/fontawesome/_list.scss +7 -6
  35. package/scss/assets/fontawesome/_mixins.scss +14 -75
  36. package/scss/assets/fontawesome/_pulled.scss +15 -0
  37. package/scss/assets/fontawesome/_rotated-flipped.scss +10 -9
  38. package/scss/assets/fontawesome/_shims.scss +1557 -942
  39. package/scss/assets/fontawesome/_sizing.scss +6 -4
  40. package/scss/assets/fontawesome/_stacked.scss +11 -10
  41. package/scss/assets/fontawesome/_variables.scss +10495 -9713
  42. package/scss/assets/fontawesome/_widths.scss +12 -0
  43. package/scss/assets/fontawesome/brands.scss +29 -14
  44. package/scss/assets/fontawesome/duotone-light.scss +66 -39
  45. package/scss/assets/fontawesome/duotone-regular.scss +66 -39
  46. package/scss/assets/fontawesome/duotone-thin.scss +66 -39
  47. package/scss/assets/fontawesome/duotone.scss +56 -34
  48. package/scss/assets/fontawesome/fontawesome.scss +12 -15
  49. package/scss/assets/fontawesome/light.scss +37 -13
  50. package/scss/assets/fontawesome/regular.scss +37 -13
  51. package/scss/assets/fontawesome/sharp-duotone-light.scss +66 -39
  52. package/scss/assets/fontawesome/sharp-duotone-regular.scss +66 -39
  53. package/scss/assets/fontawesome/sharp-duotone-solid.scss +66 -47
  54. package/scss/assets/fontawesome/sharp-duotone-thin.scss +66 -39
  55. package/scss/assets/fontawesome/sharp-light.scss +37 -13
  56. package/scss/assets/fontawesome/sharp-regular.scss +37 -13
  57. package/scss/assets/fontawesome/sharp-solid.scss +37 -13
  58. package/scss/assets/fontawesome/sharp-thin.scss +37 -13
  59. package/scss/assets/fontawesome/solid.scss +37 -13
  60. package/scss/assets/fontawesome/thin.scss +37 -13
  61. package/scss/assets/fontawesome/v4-shims.scss +5 -5
  62. package/scss/keymaster.scss +1 -8
  63. package/scss/theme/_typography.scss +5 -5
  64. package/scss/theme/_variables-overrides.scss +1 -3
@@ -0,0 +1,12 @@
1
+ // icon widths
2
+ // -------------------------
3
+ @use 'variables' as v;
4
+
5
+ .#{v.$css-prefix}-width-auto {
6
+ --#{v.$css-prefix}-width: auto;
7
+ }
8
+
9
+ .#{v.$css-prefix}-fw,
10
+ .#{v.$css-prefix}-width-fixed {
11
+ --#{v.$css-prefix}-width: #{v.$fw-width};
12
+ }
@@ -1,30 +1,45 @@
1
1
  /*!
2
- * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
2
+ * Font Awesome Pro 7.0.0 by @fontawesome - https://fontawesome.com
3
3
  * License - https://fontawesome.com/license (Commercial License)
4
- * Copyright 2024 Fonticons, Inc.
4
+ * Copyright 2025 Fonticons, Inc.
5
5
  */
6
- @import 'functions';
7
- @import 'variables';
6
+ @use "sass:string";
7
+ @use 'variables' as v;
8
+ @use 'mixins' as m;
8
9
 
9
10
  :root, :host {
10
- --#{$fa-css-prefix}-style-family-brands: 'Font Awesome 6 Brands';
11
- --#{$fa-css-prefix}-font-brands: normal 400 1em/1 'Font Awesome 6 Brands';
11
+ --#{v.$css-prefix}-family-brands: 'Font Awesome 7 Brands';
12
+ --#{v.$css-prefix}-font-brands: normal 400 1em/1 var(--#{v.$css-prefix}-family-brands);
12
13
  }
13
14
 
14
15
  @font-face {
15
- font-family: 'Font Awesome 6 Brands';
16
+ font-family: 'Font Awesome 7 Brands';
16
17
  font-style: normal;
17
18
  font-weight: 400;
18
- font-display: $fa-font-display;
19
- src: url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'),
20
- url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype');
19
+ font-display: v.$font-display;
20
+ src: url('#{v.$font-path}/fa-brands-400.woff2');
21
21
  }
22
22
 
23
23
  .fab,
24
- .#{$fa-css-prefix}-brands {
25
- font-weight: 400;
24
+ .#{v.$css-prefix}-brands,
25
+ .#{v.$css-prefix}-classic.#{v.$css-prefix}-brands {
26
+ --#{v.$css-prefix}-family: var(--#{v.$css-prefix}-family-brands);
27
+ --#{v.$css-prefix}-style: 400;
28
+ }
29
+
30
+ @each $name, $icon in v.$brand-icons {
31
+ .#{v.$css-prefix}-#{$name} {
32
+ #{v.$icon-property}: string.unquote("\"#{ $icon }\"");
33
+ }
26
34
  }
27
35
 
28
- @each $name, $icon in $fa-brand-icons {
29
- .#{$fa-css-prefix}-#{$name} { #{$fa-icon-property}: unquote("\"#{ $icon }\""); }
36
+ // convenience mixin for declaring pseudo-elements by CSS variable,
37
+ // including all style-specific font properties and ::before elements.
38
+ @mixin icon($var) {
39
+ @include m.fa-icon(Font Awesome 7 Brands);
40
+ @extend .#{v.$css-prefix}-brands;
41
+
42
+ &::before {
43
+ content: string.unquote("\"#{ $var }\"");
44
+ }
30
45
  }
@@ -1,69 +1,96 @@
1
1
  /*!
2
- * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
2
+ * Font Awesome Pro 7.0.0 by @fontawesome - https://fontawesome.com
3
3
  * License - https://fontawesome.com/license (Commercial License)
4
- * Copyright 2024 Fonticons, Inc.
4
+ * Copyright 2025 Fonticons, Inc.
5
5
  */
6
- @import 'functions';
7
- @import 'variables';
6
+ @use "sass:string";
7
+ @use 'variables' as v;
8
+ @use 'mixins' as m;
8
9
 
9
10
  :root, :host {
10
- --#{$fa-css-prefix}-style-family-duotone: 'Font Awesome 6 Duotone';
11
- --#{$fa-css-prefix}-font-duotone-light: normal 300 1em/1 'Font Awesome 6 Duotone';
11
+ --#{v.$css-prefix}-family-duotone: 'Font Awesome 7 Duotone';
12
+ --#{v.$css-prefix}-font-duotone-light: normal 300 1em/1 var(--#{v.$css-prefix}-family-duotone);
13
+
14
+ /* deprecated: this older custom property will be removed next major release */
15
+ --#{v.$css-prefix}-style-family-duotone: var(--#{v.$css-prefix}-family-duotone);
12
16
  }
13
17
 
14
18
  @font-face {
15
- font-family: 'Font Awesome 6 Duotone';
19
+ font-family: 'Font Awesome 7 Duotone';
16
20
  font-style: normal;
17
21
  font-weight: 300;
18
- font-display: $fa-font-display;
19
- src: url('#{$fa-font-path}/fa-duotone-light-300.woff2') format('woff2'),
20
- url('#{$fa-font-path}/fa-duotone-light-300.ttf') format('truetype');
22
+ font-display: v.$font-display;
23
+ src: url('#{v.$font-path}/fa-duotone-light-300.woff2');
21
24
  }
22
25
 
23
- .fadl,
24
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-light {
26
+
27
+ .fadl {
28
+ --#{v.$css-prefix}-family: var(--#{v.$css-prefix}-family-duotone);
29
+ --#{v.$css-prefix}-style: 300;
30
+ position: relative;
31
+ letter-spacing: normal;
32
+ }
33
+
34
+ .#{v.$css-prefix}-duotone {
35
+ --#{v.$css-prefix}-family: var(--#{v.$css-prefix}-family-duotone);
25
36
  position: relative;
26
- font-weight: 300;
27
37
  letter-spacing: normal;
28
38
  }
29
39
 
40
+ .#{v.$css-prefix}-light {
41
+ --#{v.$css-prefix}-style: 300;
42
+ }
43
+
30
44
  .fadl::before,
31
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-light::before {
45
+ .#{v.$css-prefix}-duotone::before {
32
46
  position: absolute;
33
- color: var(--#{$fa-css-prefix}-primary-color, inherit);
34
- opacity: var(--#{$fa-css-prefix}-primary-opacity, #{$fa-primary-opacity});
47
+ color: var(--#{v.$css-prefix}-primary-color, currentColor);
48
+ opacity: var(--#{v.$css-prefix}-primary-opacity, #{v.$primary-opacity});
35
49
  }
36
50
 
37
51
  .fadl::after,
38
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-light::after {
39
- color: var(--#{$fa-css-prefix}-secondary-color, inherit);
40
- opacity: var(--#{$fa-css-prefix}-secondary-opacity, #{$fa-secondary-opacity});
52
+ .#{v.$css-prefix}-duotone::after {
53
+ color: var(--#{v.$css-prefix}-secondary-color, currentColor);
54
+ opacity: var(--#{v.$css-prefix}-secondary-opacity, #{v.$secondary-opacity});
41
55
  }
42
56
 
43
- .#{$fa-css-prefix}-swap-opacity .fadl::before,
44
- .#{$fa-css-prefix}-swap-opacity .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-light::before,
45
- .fadl.#{$fa-css-prefix}-swap-opacity::before,
46
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-swap-opacity::before,
47
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-light.#{$fa-css-prefix}-swap-opacity::before {
48
- opacity: var(--#{$fa-css-prefix}-secondary-opacity, #{$fa-secondary-opacity});
57
+ .#{v.$css-prefix}-swap-opacity .fadl::before,
58
+ .#{v.$css-prefix}-swap-opacity .#{v.$css-prefix}-duotone::before,
59
+ .#{v.$css-prefix}-swap-opacity.fadl::before,
60
+ .#{v.$css-prefix}-swap-opacity.#{v.$css-prefix}-duotone::before {
61
+ opacity: var(--#{v.$css-prefix}-secondary-opacity, #{v.$secondary-opacity});
49
62
  }
50
63
 
51
- .#{$fa-css-prefix}-swap-opacity .fadl::after,
52
- .#{$fa-css-prefix}-swap-opacity .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-light::after,
53
- .fadl.#{$fa-css-prefix}-swap-opacity::after,
54
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-swap-opacity::after,
55
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-light.#{$fa-css-prefix}-swap-opacity::after {
56
- opacity: var(--#{$fa-css-prefix}-primary-opacity, #{$fa-primary-opacity});
64
+ .#{v.$css-prefix}-swap-opacity .fadl::after,
65
+ .#{v.$css-prefix}-swap-opacity .#{v.$css-prefix}-duotone::after,
66
+ .#{v.$css-prefix}-swap-opacity.fadl::after,
67
+ .#{v.$css-prefix}-swap-opacity.#{v.$css-prefix}-duotone::after {
68
+ opacity: var(--#{v.$css-prefix}-primary-opacity, #{v.$primary-opacity});
57
69
  }
58
70
 
59
- .fadl.#{$fa-css-prefix}-inverse,
60
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-light.#{$fa-css-prefix}-inverse {
61
- color: var(--#{$fa-css-prefix}-inverse, $fa-inverse);
71
+ .#{v.$css-prefix}-li.fadl,
72
+ .#{v.$css-prefix}-li.#{v.$css-prefix}-duotone,
73
+ .#{v.$css-prefix}-stack-1x.fadl,
74
+ .#{v.$css-prefix}-stack-1x.#{v.$css-prefix}-duotone,
75
+ .#{v.$css-prefix}-stack-2x.fadl,
76
+ .#{v.$css-prefix}-stack-2x.#{v.$css-prefix}-duotone {
77
+ position: absolute;
62
78
  }
63
79
 
64
- .fadl.#{$fa-css-prefix}-stack-1x,
65
- .fadl.#{$fa-css-prefix}-stack-2x,
66
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-light.#{$fa-css-prefix}-stack-1x,
67
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-light.#{$fa-css-prefix}-stack-2x {
68
- position: absolute;
80
+ // convenience mixins for declaring pseudo-elements by CSS variable,
81
+ // including all style-specific font properties, and both the ::before
82
+ // and ::after elements in the duotone case.
83
+ @mixin icon($var) {
84
+ @include m.fa-icon(Font Awesome 7 Duotone);
85
+ @extend .#{v.$css-prefix}-duotone;
86
+ @extend .#{v.$css-prefix}-light;
87
+
88
+ &::before {
89
+ content: string.unquote("\"#{ $var }\"");
90
+ }
91
+
92
+ &::after {
93
+ content: string.unquote("\"#{ $var }\"");
94
+ font-feature-settings: "ss01";
95
+ }
69
96
  }
@@ -1,69 +1,96 @@
1
1
  /*!
2
- * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
2
+ * Font Awesome Pro 7.0.0 by @fontawesome - https://fontawesome.com
3
3
  * License - https://fontawesome.com/license (Commercial License)
4
- * Copyright 2024 Fonticons, Inc.
4
+ * Copyright 2025 Fonticons, Inc.
5
5
  */
6
- @import 'functions';
7
- @import 'variables';
6
+ @use "sass:string";
7
+ @use 'variables' as v;
8
+ @use 'mixins' as m;
8
9
 
9
10
  :root, :host {
10
- --#{$fa-css-prefix}-style-family-duotone: 'Font Awesome 6 Duotone';
11
- --#{$fa-css-prefix}-font-duotone-regular: normal 400 1em/1 'Font Awesome 6 Duotone';
11
+ --#{v.$css-prefix}-family-duotone: 'Font Awesome 7 Duotone';
12
+ --#{v.$css-prefix}-font-duotone-regular: normal 400 1em/1 var(--#{v.$css-prefix}-family-duotone);
13
+
14
+ /* deprecated: this older custom property will be removed next major release */
15
+ --#{v.$css-prefix}-style-family-duotone: var(--#{v.$css-prefix}-family-duotone);
12
16
  }
13
17
 
14
18
  @font-face {
15
- font-family: 'Font Awesome 6 Duotone';
19
+ font-family: 'Font Awesome 7 Duotone';
16
20
  font-style: normal;
17
21
  font-weight: 400;
18
- font-display: $fa-font-display;
19
- src: url('#{$fa-font-path}/fa-duotone-regular-400.woff2') format('woff2'),
20
- url('#{$fa-font-path}/fa-duotone-regular-400.ttf') format('truetype');
22
+ font-display: v.$font-display;
23
+ src: url('#{v.$font-path}/fa-duotone-regular-400.woff2');
21
24
  }
22
25
 
23
- .fadr,
24
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-regular {
26
+
27
+ .fadr {
28
+ --#{v.$css-prefix}-family: var(--#{v.$css-prefix}-family-duotone);
29
+ --#{v.$css-prefix}-style: 400;
30
+ position: relative;
31
+ letter-spacing: normal;
32
+ }
33
+
34
+ .#{v.$css-prefix}-duotone {
35
+ --#{v.$css-prefix}-family: var(--#{v.$css-prefix}-family-duotone);
25
36
  position: relative;
26
- font-weight: 400;
27
37
  letter-spacing: normal;
28
38
  }
29
39
 
40
+ .#{v.$css-prefix}-regular {
41
+ --#{v.$css-prefix}-style: 400;
42
+ }
43
+
30
44
  .fadr::before,
31
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-regular::before {
45
+ .#{v.$css-prefix}-duotone::before {
32
46
  position: absolute;
33
- color: var(--#{$fa-css-prefix}-primary-color, inherit);
34
- opacity: var(--#{$fa-css-prefix}-primary-opacity, #{$fa-primary-opacity});
47
+ color: var(--#{v.$css-prefix}-primary-color, currentColor);
48
+ opacity: var(--#{v.$css-prefix}-primary-opacity, #{v.$primary-opacity});
35
49
  }
36
50
 
37
51
  .fadr::after,
38
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-regular::after {
39
- color: var(--#{$fa-css-prefix}-secondary-color, inherit);
40
- opacity: var(--#{$fa-css-prefix}-secondary-opacity, #{$fa-secondary-opacity});
52
+ .#{v.$css-prefix}-duotone::after {
53
+ color: var(--#{v.$css-prefix}-secondary-color, currentColor);
54
+ opacity: var(--#{v.$css-prefix}-secondary-opacity, #{v.$secondary-opacity});
41
55
  }
42
56
 
43
- .#{$fa-css-prefix}-swap-opacity .fadr::before,
44
- .#{$fa-css-prefix}-swap-opacity .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-regular::before,
45
- .fadr.#{$fa-css-prefix}-swap-opacity::before,
46
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-swap-opacity::before,
47
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-regular.#{$fa-css-prefix}-swap-opacity::before {
48
- opacity: var(--#{$fa-css-prefix}-secondary-opacity, #{$fa-secondary-opacity});
57
+ .#{v.$css-prefix}-swap-opacity .fadr::before,
58
+ .#{v.$css-prefix}-swap-opacity .#{v.$css-prefix}-duotone::before,
59
+ .#{v.$css-prefix}-swap-opacity.fadr::before,
60
+ .#{v.$css-prefix}-swap-opacity.#{v.$css-prefix}-duotone::before {
61
+ opacity: var(--#{v.$css-prefix}-secondary-opacity, #{v.$secondary-opacity});
49
62
  }
50
63
 
51
- .#{$fa-css-prefix}-swap-opacity .fadr::after,
52
- .#{$fa-css-prefix}-swap-opacity .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-regular::after,
53
- .fadr.#{$fa-css-prefix}-swap-opacity::after,
54
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-swap-opacity::after,
55
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-regular.#{$fa-css-prefix}-swap-opacity::after {
56
- opacity: var(--#{$fa-css-prefix}-primary-opacity, #{$fa-primary-opacity});
64
+ .#{v.$css-prefix}-swap-opacity .fadr::after,
65
+ .#{v.$css-prefix}-swap-opacity .#{v.$css-prefix}-duotone::after,
66
+ .#{v.$css-prefix}-swap-opacity.fadr::after,
67
+ .#{v.$css-prefix}-swap-opacity.#{v.$css-prefix}-duotone::after {
68
+ opacity: var(--#{v.$css-prefix}-primary-opacity, #{v.$primary-opacity});
57
69
  }
58
70
 
59
- .fadr.#{$fa-css-prefix}-inverse,
60
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-regular.#{$fa-css-prefix}-inverse {
61
- color: var(--#{$fa-css-prefix}-inverse, $fa-inverse);
71
+ .#{v.$css-prefix}-li.fadr,
72
+ .#{v.$css-prefix}-li.#{v.$css-prefix}-duotone,
73
+ .#{v.$css-prefix}-stack-1x.fadr,
74
+ .#{v.$css-prefix}-stack-1x.#{v.$css-prefix}-duotone,
75
+ .#{v.$css-prefix}-stack-2x.fadr,
76
+ .#{v.$css-prefix}-stack-2x.#{v.$css-prefix}-duotone {
77
+ position: absolute;
62
78
  }
63
79
 
64
- .fadr.#{$fa-css-prefix}-stack-1x,
65
- .fadr.#{$fa-css-prefix}-stack-2x,
66
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-regular.#{$fa-css-prefix}-stack-1x,
67
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-regular.#{$fa-css-prefix}-stack-2x {
68
- position: absolute;
80
+ // convenience mixins for declaring pseudo-elements by CSS variable,
81
+ // including all style-specific font properties, and both the ::before
82
+ // and ::after elements in the duotone case.
83
+ @mixin icon($var) {
84
+ @include m.fa-icon(Font Awesome 7 Duotone);
85
+ @extend .#{v.$css-prefix}-duotone;
86
+ @extend .#{v.$css-prefix}-regular;
87
+
88
+ &::before {
89
+ content: string.unquote("\"#{ $var }\"");
90
+ }
91
+
92
+ &::after {
93
+ content: string.unquote("\"#{ $var }\"");
94
+ font-feature-settings: "ss01";
95
+ }
69
96
  }
@@ -1,69 +1,96 @@
1
1
  /*!
2
- * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
2
+ * Font Awesome Pro 7.0.0 by @fontawesome - https://fontawesome.com
3
3
  * License - https://fontawesome.com/license (Commercial License)
4
- * Copyright 2024 Fonticons, Inc.
4
+ * Copyright 2025 Fonticons, Inc.
5
5
  */
6
- @import 'functions';
7
- @import 'variables';
6
+ @use "sass:string";
7
+ @use 'variables' as v;
8
+ @use 'mixins' as m;
8
9
 
9
10
  :root, :host {
10
- --#{$fa-css-prefix}-style-family-duotone: 'Font Awesome 6 Duotone';
11
- --#{$fa-css-prefix}-font-duotone-thin: normal 100 1em/1 'Font Awesome 6 Duotone';
11
+ --#{v.$css-prefix}-family-duotone: 'Font Awesome 7 Duotone';
12
+ --#{v.$css-prefix}-font-duotone-thin: normal 100 1em/1 var(--#{v.$css-prefix}-family-duotone);
13
+
14
+ /* deprecated: this older custom property will be removed next major release */
15
+ --#{v.$css-prefix}-style-family-duotone: var(--#{v.$css-prefix}-family-duotone);
12
16
  }
13
17
 
14
18
  @font-face {
15
- font-family: 'Font Awesome 6 Duotone';
19
+ font-family: 'Font Awesome 7 Duotone';
16
20
  font-style: normal;
17
21
  font-weight: 100;
18
- font-display: $fa-font-display;
19
- src: url('#{$fa-font-path}/fa-duotone-thin-100.woff2') format('woff2'),
20
- url('#{$fa-font-path}/fa-duotone-thin-100.ttf') format('truetype');
22
+ font-display: v.$font-display;
23
+ src: url('#{v.$font-path}/fa-duotone-thin-100.woff2');
21
24
  }
22
25
 
23
- .fadt,
24
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-thin {
26
+
27
+ .fadt {
28
+ --#{v.$css-prefix}-family: var(--#{v.$css-prefix}-family-duotone);
29
+ --#{v.$css-prefix}-style: 100;
30
+ position: relative;
31
+ letter-spacing: normal;
32
+ }
33
+
34
+ .#{v.$css-prefix}-duotone {
35
+ --#{v.$css-prefix}-family: var(--#{v.$css-prefix}-family-duotone);
25
36
  position: relative;
26
- font-weight: 100;
27
37
  letter-spacing: normal;
28
38
  }
29
39
 
40
+ .#{v.$css-prefix}-thin {
41
+ --#{v.$css-prefix}-style: 100;
42
+ }
43
+
30
44
  .fadt::before,
31
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-thin::before {
45
+ .#{v.$css-prefix}-duotone::before {
32
46
  position: absolute;
33
- color: var(--#{$fa-css-prefix}-primary-color, inherit);
34
- opacity: var(--#{$fa-css-prefix}-primary-opacity, #{$fa-primary-opacity});
47
+ color: var(--#{v.$css-prefix}-primary-color, currentColor);
48
+ opacity: var(--#{v.$css-prefix}-primary-opacity, #{v.$primary-opacity});
35
49
  }
36
50
 
37
51
  .fadt::after,
38
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-thin::after {
39
- color: var(--#{$fa-css-prefix}-secondary-color, inherit);
40
- opacity: var(--#{$fa-css-prefix}-secondary-opacity, #{$fa-secondary-opacity});
52
+ .#{v.$css-prefix}-duotone::after {
53
+ color: var(--#{v.$css-prefix}-secondary-color, currentColor);
54
+ opacity: var(--#{v.$css-prefix}-secondary-opacity, #{v.$secondary-opacity});
41
55
  }
42
56
 
43
- .#{$fa-css-prefix}-swap-opacity .fadt::before,
44
- .#{$fa-css-prefix}-swap-opacity .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-thin::before,
45
- .fadt.#{$fa-css-prefix}-swap-opacity::before,
46
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-swap-opacity::before,
47
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-thin.#{$fa-css-prefix}-swap-opacity::before {
48
- opacity: var(--#{$fa-css-prefix}-secondary-opacity, #{$fa-secondary-opacity});
57
+ .#{v.$css-prefix}-swap-opacity .fadt::before,
58
+ .#{v.$css-prefix}-swap-opacity .#{v.$css-prefix}-duotone::before,
59
+ .#{v.$css-prefix}-swap-opacity.fadt::before,
60
+ .#{v.$css-prefix}-swap-opacity.#{v.$css-prefix}-duotone::before {
61
+ opacity: var(--#{v.$css-prefix}-secondary-opacity, #{v.$secondary-opacity});
49
62
  }
50
63
 
51
- .#{$fa-css-prefix}-swap-opacity .fadt::after,
52
- .#{$fa-css-prefix}-swap-opacity .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-thin::after,
53
- .fadt.#{$fa-css-prefix}-swap-opacity::after,
54
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-swap-opacity::after,
55
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-thin.#{$fa-css-prefix}-swap-opacity::after {
56
- opacity: var(--#{$fa-css-prefix}-primary-opacity, #{$fa-primary-opacity});
64
+ .#{v.$css-prefix}-swap-opacity .fadt::after,
65
+ .#{v.$css-prefix}-swap-opacity .#{v.$css-prefix}-duotone::after,
66
+ .#{v.$css-prefix}-swap-opacity.fadt::after,
67
+ .#{v.$css-prefix}-swap-opacity.#{v.$css-prefix}-duotone::after {
68
+ opacity: var(--#{v.$css-prefix}-primary-opacity, #{v.$primary-opacity});
57
69
  }
58
70
 
59
- .fadt.#{$fa-css-prefix}-inverse,
60
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-thin.#{$fa-css-prefix}-inverse {
61
- color: var(--#{$fa-css-prefix}-inverse, $fa-inverse);
71
+ .#{v.$css-prefix}-li.fadt,
72
+ .#{v.$css-prefix}-li.#{v.$css-prefix}-duotone,
73
+ .#{v.$css-prefix}-stack-1x.fadt,
74
+ .#{v.$css-prefix}-stack-1x.#{v.$css-prefix}-duotone,
75
+ .#{v.$css-prefix}-stack-2x.fadt,
76
+ .#{v.$css-prefix}-stack-2x.#{v.$css-prefix}-duotone {
77
+ position: absolute;
62
78
  }
63
79
 
64
- .fadt.#{$fa-css-prefix}-stack-1x,
65
- .fadt.#{$fa-css-prefix}-stack-2x,
66
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-thin.#{$fa-css-prefix}-stack-1x,
67
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-thin.#{$fa-css-prefix}-stack-2x {
68
- position: absolute;
80
+ // convenience mixins for declaring pseudo-elements by CSS variable,
81
+ // including all style-specific font properties, and both the ::before
82
+ // and ::after elements in the duotone case.
83
+ @mixin icon($var) {
84
+ @include m.fa-icon(Font Awesome 7 Duotone);
85
+ @extend .#{v.$css-prefix}-duotone;
86
+ @extend .#{v.$css-prefix}-thin;
87
+
88
+ &::before {
89
+ content: string.unquote("\"#{ $var }\"");
90
+ }
91
+
92
+ &::after {
93
+ content: string.unquote("\"#{ $var }\"");
94
+ font-feature-settings: "ss01";
95
+ }
69
96
  }
@@ -1,65 +1,87 @@
1
1
  /*!
2
- * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
2
+ * Font Awesome Pro 7.0.0 by @fontawesome - https://fontawesome.com
3
3
  * License - https://fontawesome.com/license (Commercial License)
4
- * Copyright 2024 Fonticons, Inc.
4
+ * Copyright 2025 Fonticons, Inc.
5
5
  */
6
- @import 'functions';
7
- @import 'variables';
6
+ @use "sass:string";
7
+ @use 'variables' as v;
8
+ @use 'mixins' as m;
8
9
 
9
10
  :root, :host {
10
- --#{$fa-css-prefix}-style-family-duotone: 'Font Awesome 6 Duotone';
11
- --#{$fa-css-prefix}-font-duotone: normal 900 1em/1 'Font Awesome 6 Duotone';
11
+ --#{v.$css-prefix}-family-duotone: 'Font Awesome 7 Duotone';
12
+ --#{v.$css-prefix}-font-duotone: normal 900 1em/1 var(--#{v.$css-prefix}-family-duotone);
13
+
14
+ /* deprecated: this older custom property will be removed next major release */
15
+ --#{v.$css-prefix}-style-family-duotone: var(--#{v.$css-prefix}-family-duotone);
12
16
  }
13
17
 
14
18
  @font-face {
15
- font-family: 'Font Awesome 6 Duotone';
19
+ font-family: 'Font Awesome 7 Duotone';
16
20
  font-style: normal;
17
21
  font-weight: 900;
18
- font-display: $fa-font-display;
19
- src: url('#{$fa-font-path}/fa-duotone-900.woff2') format('woff2'),
20
- url('#{$fa-font-path}/fa-duotone-900.ttf') format('truetype');
22
+ font-display: v.$font-display;
23
+ src: url('#{v.$font-path}/fa-duotone-900.woff2');
21
24
  }
22
25
 
23
26
  .fad,
24
- .#{$fa-css-prefix}-duotone {
27
+ .#{v.$css-prefix}-duotone {
28
+ --#{v.$css-prefix}-family: var(--#{v.$css-prefix}-family-duotone);
29
+ --#{v.$css-prefix}-style: 900;
25
30
  position: relative;
26
- font-weight: 900;
27
31
  letter-spacing: normal;
28
32
  }
29
33
 
30
34
  .fad::before,
31
- .#{$fa-css-prefix}-duotone::before {
35
+ .#{v.$css-prefix}-duotone::before {
32
36
  position: absolute;
33
- color: var(--#{$fa-css-prefix}-primary-color, inherit);
34
- opacity: var(--#{$fa-css-prefix}-primary-opacity, #{$fa-primary-opacity});
37
+ color: var(--#{v.$css-prefix}-primary-color, currentColor);
38
+ opacity: var(--#{v.$css-prefix}-primary-opacity, #{v.$primary-opacity});
35
39
  }
36
40
 
37
41
  .fad::after,
38
- .#{$fa-css-prefix}-duotone::after {
39
- color: var(--#{$fa-css-prefix}-secondary-color, inherit);
40
- opacity: var(--#{$fa-css-prefix}-secondary-opacity, #{$fa-secondary-opacity});
42
+ .#{v.$css-prefix}-duotone::after {
43
+ color: var(--#{v.$css-prefix}-secondary-color, currentColor);
44
+ opacity: var(--#{v.$css-prefix}-secondary-opacity, #{v.$secondary-opacity});
41
45
  }
42
46
 
43
- .#{$fa-css-prefix}-swap-opacity .fad::before,
44
- .#{$fa-css-prefix}-swap-opacity .fa-duotone::before,
45
- .fad.#{$fa-css-prefix}-swap-opacity::before,
46
- .fa-duotone.#{$fa-css-prefix}-swap-opacity::before {
47
- opacity: var(--#{$fa-css-prefix}-secondary-opacity, #{$fa-secondary-opacity});
47
+ .#{v.$css-prefix}-swap-opacity .fad::before,
48
+ .#{v.$css-prefix}-swap-opacity .fa-duotone::before,
49
+ .fad.#{v.$css-prefix}-swap-opacity::before,
50
+ .fa-duotone.#{v.$css-prefix}-swap-opacity::before {
51
+ opacity: var(--#{v.$css-prefix}-secondary-opacity, #{v.$secondary-opacity});
48
52
  }
49
53
 
50
- .#{$fa-css-prefix}-swap-opacity .fad::after,
51
- .#{$fa-css-prefix}-swap-opacity .fa-duotone::after,
52
- .fad.#{$fa-css-prefix}-swap-opacity::after,
53
- .fa-duotone.#{$fa-css-prefix}-swap-opacity::after {
54
- opacity: var(--#{$fa-css-prefix}-primary-opacity, #{$fa-primary-opacity});
54
+ .#{v.$css-prefix}-swap-opacity .fad::after,
55
+ .#{v.$css-prefix}-swap-opacity .fa-duotone::after,
56
+ .fad.#{v.$css-prefix}-swap-opacity::after,
57
+ .fa-duotone.#{v.$css-prefix}-swap-opacity::after {
58
+ opacity: var(--#{v.$css-prefix}-primary-opacity, #{v.$primary-opacity});
55
59
  }
56
60
 
57
- .fad.#{$fa-css-prefix}-inverse,
58
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-inverse {
59
- color: var(--#{$fa-css-prefix}-inverse, $fa-inverse);
61
+ .fad.#{v.$css-prefix}-li,
62
+ .#{v.$css-prefix}-duotone.#{v.$css-prefix}-li,
63
+ .fad.#{v.$css-prefix}-stack-1x,
64
+ .#{v.$css-prefix}-duotone.#{v.$css-prefix}-stack-1x,
65
+ .fad.#{v.$css-prefix}-stack-2x,
66
+ .#{v.$css-prefix}-duotone.#{v.$css-prefix}-stack-2x {
67
+ position: absolute;
60
68
  }
61
69
 
62
- .fad.#{$fa-css-prefix}-stack-1x, .fad.#{$fa-css-prefix}-stack-2x,
63
- .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-stack-2x {
64
- position: absolute;
70
+ // convenience mixin for declaring pseudo-elements by CSS variable,
71
+ // including all style-specific font properties, and both the ::before
72
+ // and ::after elements in the duotone case.
73
+ @mixin icon($var) {
74
+ @include m.fa-icon(Font Awesome 7 Duotone);
75
+ @extend .#{v.$css-prefix}-duotone;
76
+ // We intentionally leave out @extend .#{v.$css-prefix}-classic because of
77
+ // the backward-compatibility puzzle that Duotone Solid represents
78
+
79
+ &::before {
80
+ content: string.unquote("\"#{ $var }\"");
81
+ }
82
+
83
+ &::after {
84
+ content: string.unquote("\"#{ $var }\"");
85
+ font-feature-settings: "ss01";
86
+ }
65
87
  }
@@ -1,21 +1,18 @@
1
1
  /*!
2
- * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
2
+ * Font Awesome Pro 7.0.0 by @fontawesome - https://fontawesome.com
3
3
  * License - https://fontawesome.com/license (Commercial License)
4
- * Copyright 2024 Fonticons, Inc.
4
+ * Copyright 2025 Fonticons, Inc.
5
5
  */
6
6
  // Font Awesome core compile (Web Fonts-based)
7
7
  // -------------------------
8
8
 
9
- @import 'functions';
10
- @import 'variables';
11
- @import 'mixins';
12
- @import 'core';
13
- @import 'sizing';
14
- @import 'fixed-width';
15
- @import 'list';
16
- @import 'bordered-pulled';
17
- @import 'animated';
18
- @import 'rotated-flipped';
19
- @import 'stacked';
20
- @import 'icons';
21
- @import 'screen-reader';
9
+ @use 'core';
10
+ @use 'sizing';
11
+ @use 'widths';
12
+ @use 'list';
13
+ @use 'bordered';
14
+ @use 'pulled';
15
+ @use 'animated';
16
+ @use 'rotated-flipped';
17
+ @use 'stacked';
18
+ @use 'icons';