diff --git a/addons/core/public/fonts/complete/woff/IBMPlexMono-Italic.woff b/addons/core/public/fonts/complete/woff/IBMPlexMono-Italic.woff
new file mode 100644
index 0000000000..f50e98dcec
Binary files /dev/null and b/addons/core/public/fonts/complete/woff/IBMPlexMono-Italic.woff differ
diff --git a/addons/core/public/fonts/complete/woff/IBMPlexMono-Regular.woff b/addons/core/public/fonts/complete/woff/IBMPlexMono-Regular.woff
new file mode 100644
index 0000000000..da60aac672
Binary files /dev/null and b/addons/core/public/fonts/complete/woff/IBMPlexMono-Regular.woff differ
diff --git a/addons/core/public/fonts/complete/woff/IBMPlexMono-SemiBold.woff b/addons/core/public/fonts/complete/woff/IBMPlexMono-SemiBold.woff
new file mode 100644
index 0000000000..d4ec5d89f4
Binary files /dev/null and b/addons/core/public/fonts/complete/woff/IBMPlexMono-SemiBold.woff differ
diff --git a/addons/core/public/fonts/complete/woff/IBMPlexMono-SemiBoldItalic.woff b/addons/core/public/fonts/complete/woff/IBMPlexMono-SemiBoldItalic.woff
new file mode 100644
index 0000000000..bf9fa2370e
Binary files /dev/null and b/addons/core/public/fonts/complete/woff/IBMPlexMono-SemiBoldItalic.woff differ
diff --git a/addons/core/public/fonts/complete/woff/IBMPlexSans-Italic.woff b/addons/core/public/fonts/complete/woff/IBMPlexSans-Italic.woff
new file mode 100644
index 0000000000..6e429f0499
Binary files /dev/null and b/addons/core/public/fonts/complete/woff/IBMPlexSans-Italic.woff differ
diff --git a/addons/core/public/fonts/complete/woff/IBMPlexSans-Regular.woff b/addons/core/public/fonts/complete/woff/IBMPlexSans-Regular.woff
new file mode 100644
index 0000000000..93ea3b5c97
Binary files /dev/null and b/addons/core/public/fonts/complete/woff/IBMPlexSans-Regular.woff differ
diff --git a/addons/core/public/fonts/complete/woff/IBMPlexSans-SemiBold.woff b/addons/core/public/fonts/complete/woff/IBMPlexSans-SemiBold.woff
new file mode 100644
index 0000000000..74eb84a652
Binary files /dev/null and b/addons/core/public/fonts/complete/woff/IBMPlexSans-SemiBold.woff differ
diff --git a/addons/core/public/fonts/complete/woff/IBMPlexSans-SemiBoldItalic.woff b/addons/core/public/fonts/complete/woff/IBMPlexSans-SemiBoldItalic.woff
new file mode 100644
index 0000000000..4672787a43
Binary files /dev/null and b/addons/core/public/fonts/complete/woff/IBMPlexSans-SemiBoldItalic.woff differ
diff --git a/addons/core/public/fonts/complete/woff2/IBMPlexMono-Italic.woff2 b/addons/core/public/fonts/complete/woff2/IBMPlexMono-Italic.woff2
new file mode 100644
index 0000000000..1c2895fbd9
Binary files /dev/null and b/addons/core/public/fonts/complete/woff2/IBMPlexMono-Italic.woff2 differ
diff --git a/addons/core/public/fonts/complete/woff2/IBMPlexMono-Regular.woff2 b/addons/core/public/fonts/complete/woff2/IBMPlexMono-Regular.woff2
new file mode 100644
index 0000000000..4297ee3a46
Binary files /dev/null and b/addons/core/public/fonts/complete/woff2/IBMPlexMono-Regular.woff2 differ
diff --git a/addons/core/public/fonts/complete/woff2/IBMPlexMono-SemiBold.woff2 b/addons/core/public/fonts/complete/woff2/IBMPlexMono-SemiBold.woff2
new file mode 100644
index 0000000000..86e2d9069e
Binary files /dev/null and b/addons/core/public/fonts/complete/woff2/IBMPlexMono-SemiBold.woff2 differ
diff --git a/addons/core/public/fonts/complete/woff2/IBMPlexMono-SemiBoldItalic.woff2 b/addons/core/public/fonts/complete/woff2/IBMPlexMono-SemiBoldItalic.woff2
new file mode 100644
index 0000000000..7ef4527720
Binary files /dev/null and b/addons/core/public/fonts/complete/woff2/IBMPlexMono-SemiBoldItalic.woff2 differ
diff --git a/addons/core/public/fonts/complete/woff2/IBMPlexSans-Italic.woff2 b/addons/core/public/fonts/complete/woff2/IBMPlexSans-Italic.woff2
new file mode 100644
index 0000000000..d3671db347
Binary files /dev/null and b/addons/core/public/fonts/complete/woff2/IBMPlexSans-Italic.woff2 differ
diff --git a/addons/core/public/fonts/complete/woff2/IBMPlexSans-Regular.woff2 b/addons/core/public/fonts/complete/woff2/IBMPlexSans-Regular.woff2
new file mode 100644
index 0000000000..231a1ad716
Binary files /dev/null and b/addons/core/public/fonts/complete/woff2/IBMPlexSans-Regular.woff2 differ
diff --git a/addons/core/public/fonts/complete/woff2/IBMPlexSans-SemiBold.woff2 b/addons/core/public/fonts/complete/woff2/IBMPlexSans-SemiBold.woff2
new file mode 100644
index 0000000000..b96a19c245
Binary files /dev/null and b/addons/core/public/fonts/complete/woff2/IBMPlexSans-SemiBold.woff2 differ
diff --git a/addons/core/public/fonts/complete/woff2/IBMPlexSans-SemiBoldItalic.woff2 b/addons/core/public/fonts/complete/woff2/IBMPlexSans-SemiBoldItalic.woff2
new file mode 100644
index 0000000000..2855012177
Binary files /dev/null and b/addons/core/public/fonts/complete/woff2/IBMPlexSans-SemiBoldItalic.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Cyrillic.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Cyrillic.woff2
new file mode 100644
index 0000000000..7443af0e3c
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Cyrillic.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Latin1.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Latin1.woff2
new file mode 100644
index 0000000000..e86079c31a
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Latin1.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Latin2.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Latin2.woff2
new file mode 100644
index 0000000000..8a19b702c5
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Latin2.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Latin3.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Latin3.woff2
new file mode 100644
index 0000000000..437969f7ee
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Latin3.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Pi.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Pi.woff2
new file mode 100644
index 0000000000..dffa2919b5
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic-Pi.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic.css b/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic.css
new file mode 100644
index 0000000000..37df1d2041
--- /dev/null
+++ b/addons/core/public/fonts/split/woff2/IBMPlexMono-Italic.css
@@ -0,0 +1,40 @@
+/* Subset: Cyrillic */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: italic;
+ font-weight: 400;
+ src: local("IBM Plex Mono Italic"), local("IBMPlexMono-Italic"), url("IBMPlexMono-Italic-Cyrillic.woff2") format("woff2");
+ unicode-range: U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525
+}
+/* Subset: Latin1 */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: italic;
+ font-weight: 400;
+ src: local("IBM Plex Mono Italic"), local("IBMPlexMono-Italic"), url("IBMPlexMono-Italic-Latin1.woff2") format("woff2");
+ unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
+}
+/* Subset: Latin2 */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: italic;
+ font-weight: 400;
+ src: local("IBM Plex Mono Italic"), local("IBMPlexMono-Italic"), url("IBMPlexMono-Italic-Latin2.woff2") format("woff2");
+ unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF
+}
+/* Subset: Latin3 */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: italic;
+ font-weight: 400;
+ src: local("IBM Plex Mono Italic"), local("IBMPlexMono-Italic"), url("IBMPlexMono-Italic-Latin3.woff2") format("woff2");
+ unicode-range: U+0102-0103, U+01CD-01DC, U+1EA0-1EF9, U+20AB
+}
+/* Subset: Pi */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: italic;
+ font-weight: 400;
+ src: local("IBM Plex Mono Italic"), local("IBMPlexMono-Italic"), url("IBMPlexMono-Italic-Pi.woff2") format("woff2");
+ unicode-range: U+03C0, U+0E3F, U+2000-200D, U+2028-2029, U+202F, U+2032-2033, U+205F, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+2500-259F, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+3000, U+FEFF, U+FFFD
+}
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Cyrillic.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Cyrillic.woff2
new file mode 100644
index 0000000000..e40f678a66
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Cyrillic.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Latin1.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Latin1.woff2
new file mode 100644
index 0000000000..7542d33f43
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Latin1.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Latin2.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Latin2.woff2
new file mode 100644
index 0000000000..cbe279203e
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Latin2.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Latin3.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Latin3.woff2
new file mode 100644
index 0000000000..373939cbf8
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Latin3.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Pi.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Pi.woff2
new file mode 100644
index 0000000000..3261de7157
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular-Pi.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular.css b/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular.css
new file mode 100644
index 0000000000..0729da8a6a
--- /dev/null
+++ b/addons/core/public/fonts/split/woff2/IBMPlexMono-Regular.css
@@ -0,0 +1,40 @@
+/* Subset: Cyrillic */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: normal;
+ font-weight: 400;
+ src: local("IBM Plex Mono"), local("IBMPlexMono"), url("IBMPlexMono-Regular-Cyrillic.woff2") format("woff2");
+ unicode-range: U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525
+}
+/* Subset: Latin1 */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: normal;
+ font-weight: 400;
+ src: local("IBM Plex Mono"), local("IBMPlexMono"), url("IBMPlexMono-Regular-Latin1.woff2") format("woff2");
+ unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
+}
+/* Subset: Latin2 */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: normal;
+ font-weight: 400;
+ src: local("IBM Plex Mono"), local("IBMPlexMono"), url("IBMPlexMono-Regular-Latin2.woff2") format("woff2");
+ unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF
+}
+/* Subset: Latin3 */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: normal;
+ font-weight: 400;
+ src: local("IBM Plex Mono"), local("IBMPlexMono"), url("IBMPlexMono-Regular-Latin3.woff2") format("woff2");
+ unicode-range: U+0102-0103, U+01CD-01DC, U+1EA0-1EF9, U+20AB
+}
+/* Subset: Pi */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: normal;
+ font-weight: 400;
+ src: local("IBM Plex Mono"), local("IBMPlexMono"), url("IBMPlexMono-Regular-Pi.woff2") format("woff2");
+ unicode-range: U+03C0, U+0E3F, U+2000-200D, U+2028-2029, U+202F, U+2032-2033, U+205F, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+2500-259F, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+3000, U+FEFF, U+FFFD
+}
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Cyrillic.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Cyrillic.woff2
new file mode 100644
index 0000000000..3b2c17f3fe
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Cyrillic.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Latin1.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Latin1.woff2
new file mode 100644
index 0000000000..4855b41bde
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Latin1.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Latin2.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Latin2.woff2
new file mode 100644
index 0000000000..9da35981e1
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Latin2.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Latin3.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Latin3.woff2
new file mode 100644
index 0000000000..b96aa217c1
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Latin3.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Pi.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Pi.woff2
new file mode 100644
index 0000000000..ab4e124408
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold-Pi.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold.css b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold.css
new file mode 100644
index 0000000000..e7c6d69681
--- /dev/null
+++ b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBold.css
@@ -0,0 +1,40 @@
+/* Subset: Cyrillic */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: normal;
+ font-weight: 600;
+ src: local("IBM Plex Mono SmBld"), local("IBMPlexMono-SmBld"), url("IBMPlexMono-SemiBold-Cyrillic.woff2") format("woff2");
+ unicode-range: U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525
+}
+/* Subset: Latin1 */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: normal;
+ font-weight: 600;
+ src: local("IBM Plex Mono SmBld"), local("IBMPlexMono-SmBld"), url("IBMPlexMono-SemiBold-Latin1.woff2") format("woff2");
+ unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
+}
+/* Subset: Latin2 */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: normal;
+ font-weight: 600;
+ src: local("IBM Plex Mono SmBld"), local("IBMPlexMono-SmBld"), url("IBMPlexMono-SemiBold-Latin2.woff2") format("woff2");
+ unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF
+}
+/* Subset: Latin3 */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: normal;
+ font-weight: 600;
+ src: local("IBM Plex Mono SmBld"), local("IBMPlexMono-SmBld"), url("IBMPlexMono-SemiBold-Latin3.woff2") format("woff2");
+ unicode-range: U+0102-0103, U+01CD-01DC, U+1EA0-1EF9, U+20AB
+}
+/* Subset: Pi */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: normal;
+ font-weight: 600;
+ src: local("IBM Plex Mono SmBld"), local("IBMPlexMono-SmBld"), url("IBMPlexMono-SemiBold-Pi.woff2") format("woff2");
+ unicode-range: U+03C0, U+0E3F, U+2000-200D, U+2028-2029, U+202F, U+2032-2033, U+205F, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+2500-259F, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+3000, U+FEFF, U+FFFD
+}
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Cyrillic.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Cyrillic.woff2
new file mode 100644
index 0000000000..90905ded8f
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Cyrillic.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin1.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin1.woff2
new file mode 100644
index 0000000000..08657f15f3
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin1.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin2.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin2.woff2
new file mode 100644
index 0000000000..3f5bc97d85
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin2.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin3.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin3.woff2
new file mode 100644
index 0000000000..5804813c55
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin3.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Pi.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Pi.woff2
new file mode 100644
index 0000000000..9f67e81b0c
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Pi.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic.css b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic.css
new file mode 100644
index 0000000000..37c8082dc1
--- /dev/null
+++ b/addons/core/public/fonts/split/woff2/IBMPlexMono-SemiBoldItalic.css
@@ -0,0 +1,40 @@
+/* Subset: Cyrillic */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: italic;
+ font-weight: 600;
+ src: local("IBM Plex Mono SmBld Italic"), local("IBMPlexMono-SmBldItalic"), url("IBMPlexMono-SemiBoldItalic-Cyrillic.woff2") format("woff2");
+ unicode-range: U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525
+}
+/* Subset: Latin1 */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: italic;
+ font-weight: 600;
+ src: local("IBM Plex Mono SmBld Italic"), local("IBMPlexMono-SmBldItalic"), url("IBMPlexMono-SemiBoldItalic-Latin1.woff2") format("woff2");
+ unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
+}
+/* Subset: Latin2 */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: italic;
+ font-weight: 600;
+ src: local("IBM Plex Mono SmBld Italic"), local("IBMPlexMono-SmBldItalic"), url("IBMPlexMono-SemiBoldItalic-Latin2.woff2") format("woff2");
+ unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF
+}
+/* Subset: Latin3 */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: italic;
+ font-weight: 600;
+ src: local("IBM Plex Mono SmBld Italic"), local("IBMPlexMono-SmBldItalic"), url("IBMPlexMono-SemiBoldItalic-Latin3.woff2") format("woff2");
+ unicode-range: U+0102-0103, U+01CD-01DC, U+1EA0-1EF9, U+20AB
+}
+/* Subset: Pi */
+@font-face {
+ font-family: 'IBM Plex Mono';
+ font-style: italic;
+ font-weight: 600;
+ src: local("IBM Plex Mono SmBld Italic"), local("IBMPlexMono-SmBldItalic"), url("IBMPlexMono-SemiBoldItalic-Pi.woff2") format("woff2");
+ unicode-range: U+03C0, U+0E3F, U+2000-200D, U+2028-2029, U+202F, U+2032-2033, U+205F, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+2500-259F, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+3000, U+FEFF, U+FFFD
+}
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Cyrillic.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Cyrillic.woff2
new file mode 100644
index 0000000000..f4200e3592
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Cyrillic.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Greek.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Greek.woff2
new file mode 100644
index 0000000000..a021136cd0
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Greek.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Latin1.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Latin1.woff2
new file mode 100644
index 0000000000..2cb06c862c
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Latin1.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Latin2.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Latin2.woff2
new file mode 100644
index 0000000000..3f4102aebc
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Latin2.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Latin3.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Latin3.woff2
new file mode 100644
index 0000000000..1e8d907996
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Latin3.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Pi.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Pi.woff2
new file mode 100644
index 0000000000..d2125b538c
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic-Pi.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic.css b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic.css
new file mode 100644
index 0000000000..b67df85ed1
--- /dev/null
+++ b/addons/core/public/fonts/split/woff2/IBMPlexSans-Italic.css
@@ -0,0 +1,48 @@
+/* Subset: Cyrillic */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: italic;
+ font-weight: 400;
+ src: local("IBM Plex Sans Italic"), local("IBMPlexSans-Italic"), url("IBMPlexSans-Italic-Cyrillic.woff2") format("woff2");
+ unicode-range: U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525
+}
+/* Subset: Greek */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: italic;
+ font-weight: 400;
+ src: local("IBM Plex Sans Italic"), local("IBMPlexSans-Italic"), url("IBMPlexSans-Italic-Greek.woff2") format("woff2");
+ unicode-range: U+037E, U+0386-038A, U+038C, U+038E-03A1, U+03A3-03CE
+}
+/* Subset: Latin1 */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: italic;
+ font-weight: 400;
+ src: local("IBM Plex Sans Italic"), local("IBMPlexSans-Italic"), url("IBMPlexSans-Italic-Latin1.woff2") format("woff2");
+ unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
+}
+/* Subset: Latin2 */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: italic;
+ font-weight: 400;
+ src: local("IBM Plex Sans Italic"), local("IBMPlexSans-Italic"), url("IBMPlexSans-Italic-Latin2.woff2") format("woff2");
+ unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF
+}
+/* Subset: Latin3 */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: italic;
+ font-weight: 400;
+ src: local("IBM Plex Sans Italic"), local("IBMPlexSans-Italic"), url("IBMPlexSans-Italic-Latin3.woff2") format("woff2");
+ unicode-range: U+0102-0103, U+01CD-01DC, U+1EA0-1EF9, U+20AB
+}
+/* Subset: Pi */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: italic;
+ font-weight: 400;
+ src: local("IBM Plex Sans Italic"), local("IBMPlexSans-Italic"), url("IBMPlexSans-Italic-Pi.woff2") format("woff2");
+ unicode-range: U+0E3F, U+2000-200D, U+2015, U+2028-2029, U+202F, U+2032-2033, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+ECE0, U+EFCC, U+FEFF, U+FFFD
+}
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Cyrillic.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Cyrillic.woff2
new file mode 100644
index 0000000000..0dfa6fa3ae
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Cyrillic.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Greek.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Greek.woff2
new file mode 100644
index 0000000000..7f157b3700
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Greek.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Latin1.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Latin1.woff2
new file mode 100644
index 0000000000..a9c6407bed
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Latin1.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Latin2.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Latin2.woff2
new file mode 100644
index 0000000000..c1575e870d
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Latin2.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Latin3.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Latin3.woff2
new file mode 100644
index 0000000000..cdb40bfcac
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Latin3.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Pi.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Pi.woff2
new file mode 100644
index 0000000000..29d84d3a63
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular-Pi.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular.css b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular.css
new file mode 100644
index 0000000000..1b073dc666
--- /dev/null
+++ b/addons/core/public/fonts/split/woff2/IBMPlexSans-Regular.css
@@ -0,0 +1,48 @@
+/* Subset: Cyrillic */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: normal;
+ font-weight: 400;
+ src: local("IBM Plex Sans"), local("IBMPlexSans"), url("IBMPlexSans-Regular-Cyrillic.woff2") format("woff2");
+ unicode-range: U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525
+}
+/* Subset: Greek */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: normal;
+ font-weight: 400;
+ src: local("IBM Plex Sans"), local("IBMPlexSans"), url("IBMPlexSans-Regular-Greek.woff2") format("woff2");
+ unicode-range: U+037E, U+0386-038A, U+038C, U+038E-03A1, U+03A3-03CE
+}
+/* Subset: Latin1 */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: normal;
+ font-weight: 400;
+ src: local("IBM Plex Sans"), local("IBMPlexSans"), url("IBMPlexSans-Regular-Latin1.woff2") format("woff2");
+ unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
+}
+/* Subset: Latin2 */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: normal;
+ font-weight: 400;
+ src: local("IBM Plex Sans"), local("IBMPlexSans"), url("IBMPlexSans-Regular-Latin2.woff2") format("woff2");
+ unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF
+}
+/* Subset: Latin3 */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: normal;
+ font-weight: 400;
+ src: local("IBM Plex Sans"), local("IBMPlexSans"), url("IBMPlexSans-Regular-Latin3.woff2") format("woff2");
+ unicode-range: U+0102-0103, U+01CD-01DC, U+1EA0-1EF9, U+20AB
+}
+/* Subset: Pi */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: normal;
+ font-weight: 400;
+ src: local("IBM Plex Sans"), local("IBMPlexSans"), url("IBMPlexSans-Regular-Pi.woff2") format("woff2");
+ unicode-range: U+0E3F, U+2000-200D, U+2015, U+2028-2029, U+202F, U+2032-2033, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+ECE0, U+EFCC, U+FEFF, U+FFFD
+}
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Cyrillic.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Cyrillic.woff2
new file mode 100644
index 0000000000..19dedfd6d4
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Cyrillic.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Greek.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Greek.woff2
new file mode 100644
index 0000000000..c02772e361
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Greek.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Latin1.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Latin1.woff2
new file mode 100644
index 0000000000..bcdeaa5217
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Latin1.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Latin2.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Latin2.woff2
new file mode 100644
index 0000000000..46dc30f7d0
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Latin2.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Latin3.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Latin3.woff2
new file mode 100644
index 0000000000..80691b063e
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Latin3.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Pi.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Pi.woff2
new file mode 100644
index 0000000000..5ad88eba90
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold-Pi.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold.css b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold.css
new file mode 100644
index 0000000000..74c2b14be2
--- /dev/null
+++ b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBold.css
@@ -0,0 +1,48 @@
+/* Subset: Cyrillic */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: normal;
+ font-weight: 600;
+ src: local("IBM Plex Sans SmBld"), local("IBMPlexSans-SmBld"), url("IBMPlexSans-SemiBold-Cyrillic.woff2") format("woff2");
+ unicode-range: U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525
+}
+/* Subset: Greek */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: normal;
+ font-weight: 600;
+ src: local("IBM Plex Sans SmBld"), local("IBMPlexSans-SmBld"), url("IBMPlexSans-SemiBold-Greek.woff2") format("woff2");
+ unicode-range: U+037E, U+0386-038A, U+038C, U+038E-03A1, U+03A3-03CE
+}
+/* Subset: Latin1 */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: normal;
+ font-weight: 600;
+ src: local("IBM Plex Sans SmBld"), local("IBMPlexSans-SmBld"), url("IBMPlexSans-SemiBold-Latin1.woff2") format("woff2");
+ unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
+}
+/* Subset: Latin2 */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: normal;
+ font-weight: 600;
+ src: local("IBM Plex Sans SmBld"), local("IBMPlexSans-SmBld"), url("IBMPlexSans-SemiBold-Latin2.woff2") format("woff2");
+ unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF
+}
+/* Subset: Latin3 */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: normal;
+ font-weight: 600;
+ src: local("IBM Plex Sans SmBld"), local("IBMPlexSans-SmBld"), url("IBMPlexSans-SemiBold-Latin3.woff2") format("woff2");
+ unicode-range: U+0102-0103, U+01CD-01DC, U+1EA0-1EF9, U+20AB
+}
+/* Subset: Pi */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: normal;
+ font-weight: 600;
+ src: local("IBM Plex Sans SmBld"), local("IBMPlexSans-SmBld"), url("IBMPlexSans-SemiBold-Pi.woff2") format("woff2");
+ unicode-range: U+0E3F, U+2000-200D, U+2015, U+2028-2029, U+202F, U+2032-2033, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+ECE0, U+EFCC, U+FEFF, U+FFFD
+}
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Cyrillic.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Cyrillic.woff2
new file mode 100644
index 0000000000..4d50477f3a
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Cyrillic.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Greek.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Greek.woff2
new file mode 100644
index 0000000000..150bb4c471
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Greek.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin1.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin1.woff2
new file mode 100644
index 0000000000..eb13bbd854
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin1.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin2.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin2.woff2
new file mode 100644
index 0000000000..d57bb1246b
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin2.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin3.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin3.woff2
new file mode 100644
index 0000000000..fbc0731176
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin3.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Pi.woff2 b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Pi.woff2
new file mode 100644
index 0000000000..7636e85cd1
Binary files /dev/null and b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Pi.woff2 differ
diff --git a/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic.css b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic.css
new file mode 100644
index 0000000000..cc7958f56f
--- /dev/null
+++ b/addons/core/public/fonts/split/woff2/IBMPlexSans-SemiBoldItalic.css
@@ -0,0 +1,48 @@
+/* Subset: Cyrillic */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: italic;
+ font-weight: 600;
+ src: local("IBM Plex Sans SmBld Italic"), local("IBMPlexSans-SmBldItalic"), url("IBMPlexSans-SemiBoldItalic-Cyrillic.woff2") format("woff2");
+ unicode-range: U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525
+}
+/* Subset: Greek */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: italic;
+ font-weight: 600;
+ src: local("IBM Plex Sans SmBld Italic"), local("IBMPlexSans-SmBldItalic"), url("IBMPlexSans-SemiBoldItalic-Greek.woff2") format("woff2");
+ unicode-range: U+037E, U+0386-038A, U+038C, U+038E-03A1, U+03A3-03CE
+}
+/* Subset: Latin1 */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: italic;
+ font-weight: 600;
+ src: local("IBM Plex Sans SmBld Italic"), local("IBMPlexSans-SmBldItalic"), url("IBMPlexSans-SemiBoldItalic-Latin1.woff2") format("woff2");
+ unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02
+}
+/* Subset: Latin2 */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: italic;
+ font-weight: 600;
+ src: local("IBM Plex Sans SmBld Italic"), local("IBMPlexSans-SmBldItalic"), url("IBMPlexSans-SemiBoldItalic-Latin2.woff2") format("woff2");
+ unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF
+}
+/* Subset: Latin3 */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: italic;
+ font-weight: 600;
+ src: local("IBM Plex Sans SmBld Italic"), local("IBMPlexSans-SmBldItalic"), url("IBMPlexSans-SemiBoldItalic-Latin3.woff2") format("woff2");
+ unicode-range: U+0102-0103, U+01CD-01DC, U+1EA0-1EF9, U+20AB
+}
+/* Subset: Pi */
+@font-face {
+ font-family: 'IBM Plex Sans';
+ font-style: italic;
+ font-weight: 600;
+ src: local("IBM Plex Sans SmBld Italic"), local("IBMPlexSans-SmBldItalic"), url("IBMPlexSans-SemiBoldItalic-Pi.woff2") format("woff2");
+ unicode-range: U+0E3F, U+2000-200D, U+2015, U+2028-2029, U+202F, U+2032-2033, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+ECE0, U+EFCC, U+FEFF, U+FFFD
+}
diff --git a/addons/rose/addon/styles/addon.scss b/addons/rose/addon/styles/addon.scss
index 2e16239931..ff0fff64a7 100644
--- a/addons/rose/addon/styles/addon.scss
+++ b/addons/rose/addon/styles/addon.scss
@@ -3,6 +3,104 @@
* SPDX-License-Identifier: BUSL-1.1
*/
-@use '@hashicorp/design-system-components';
+@use 'products/css/themed-tokens/with-css-selectors--migration/tokens.css';
+@use 'styles/@hashicorp/design-system-components-common.scss';
@use 'hds/themes/dark-mode';
@use 'hds/overrides';
+
+// IBM Plex fonts
+// these are coming from the `@ibm` packages
+
+@use 'plex-sans/scss' as PlexSans with (
+ $font-prefix: '/core',
+ $font-weights: (
+ // ❌ 100
+ thin: false,
+ thinItalic: false,
+ // ❌ 200
+ extralight: false,
+ extralightItalic: false,
+ // ❌ 300
+ light: false,
+ lightItalic: false,
+ // ✅ 400
+ regular: true,
+ italic: true,
+ // ❌ 500
+ medium: false,
+ mediumItalic: false,
+ // ❌ 450
+ text: false,
+ textItalic: false,
+ // ✅ 600
+ semibold: true,
+ semiboldItalic: true,
+ // ❌ 700
+ bold: false,
+ boldItalic: false,
+ )
+);
+@use 'plex-mono/scss' as PlexMono with (
+ $font-prefix: '/core',
+ $font-weights: (
+ // ❌ 100
+ thin: false,
+ thinItalic: false,
+ // ❌ 200
+ extralight: false,
+ extralightItalic: false,
+ // ❌ 300
+ light: false,
+ lightItalic: false,
+ // ✅ 400
+ regular: true,
+ italic: true,
+ // ❌ 500
+ medium: false,
+ mediumItalic: false,
+ // ❌ 450
+ text: false,
+ textItalic: false,
+ // ✅ 600
+ semibold: true,
+ semiboldItalic: true,
+ // ❌ 700
+ bold: false,
+ boldItalic: false,
+ )
+);
+
+@include PlexSans.all;
+@include PlexMono.all;
+
+// TEMP - THEME TESTING
+
+.projects-theming-test {
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
+ margin: 0 0 24px;
+ padding: 24px 0;
+
+ --local-foreground-color: var(--token-color-foreground-primary);
+ --local-background-color: var(--token-color-surface-faint);
+ --local-font-family: var(--token-typography-font-stack-text);
+ --local-font-size: var(--token-typography-body-200-font-size);
+ --local-font-weight: var(--token-typography-font-weight-semibold);
+}
+
+.projects-theming-test-normal-local-classes {
+ color: var(--token-color-foreground-primary);
+ background-color: var(--token-color-surface-faint);
+ font-family: var(--token-typography-font-stack-text);
+ font-size: var(--token-typography-body-200-font-size);
+ font-weight: var(--token-typography-font-weight-semibold);
+}
+
+.projects-theming-test-aliased-local-classes {
+ color: var(--local-foreground-color);
+ background-color: var(--local-background-color);
+ font-family: var(--local-font-family);
+ font-size: var(--local-font-size);
+ font-weight: var(--local-font-weight);
+}
diff --git a/addons/rose/index.js b/addons/rose/index.js
index 624614493c..23faf970c4 100644
--- a/addons/rose/index.js
+++ b/addons/rose/index.js
@@ -18,6 +18,7 @@ module.exports = {
this.import('node_modules/jsonlint/lib/jsonlint.js');
this.includeHDSStyles(app);
+ this.includeIbmPlexFonts(app);
this.includeFlightIcons(app);
this.includePublic(app);
this.setupSVGO(app);
@@ -41,11 +42,11 @@ module.exports = {
includeHDSStyles(app) {
const tokensPath = path.resolve(
__dirname,
- 'node_modules/@hashicorp/design-system-tokens/dist/products/css',
+ 'node_modules/@hashicorp/design-system-tokens/dist',
);
const hdsPath = path.resolve(
__dirname,
- 'node_modules/@hashicorp/design-system-components/dist/styles',
+ 'node_modules/@hashicorp/design-system-components/dist',
);
// Setup default sassOptions on the running application
@@ -57,6 +58,22 @@ module.exports = {
app.options.sassOptions.includePaths.push(tokensPath, hdsPath);
},
+ /**
+ * Includes the IBM Plex folder and includes it into the running
+ * application's `sassOptions.includePaths`.
+ */
+ includeIbmPlexFonts(app) {
+ const ibmModulesPath = path.resolve(__dirname, 'node_modules/@ibm');
+
+ // Setup default sassOptions on the running application
+ app.options.sassOptions = app.options.sassOptions || {};
+ app.options.sassOptions.includePaths =
+ app.options.sassOptions.includePaths || [];
+
+ // Include the addon styles
+ app.options.sassOptions.includePaths.push(ibmModulesPath);
+ },
+
/**
* Finds the structure-icons folder and includes it into the
* ember-inline-svg addon.
diff --git a/addons/rose/package.json b/addons/rose/package.json
index 6314579664..d32579f91d 100644
--- a/addons/rose/package.json
+++ b/addons/rose/package.json
@@ -30,9 +30,11 @@
},
"dependencies": {
"@babel/core": "^7.26.10",
- "@hashicorp/design-system-components": "^4.20.2",
- "@hashicorp/design-system-tokens": "^2.3.0",
+ "@hashicorp/design-system-components": "4.24.2-rc-20251124130751",
+ "@hashicorp/design-system-tokens": "4.0.0-rc-20251124130751",
"@hashicorp/flight-icons": "^3.10.0",
+ "@ibm/plex-sans": "^1.1.0",
+ "@ibm/plex-mono": "^1.1.0",
"@nullvoxpopuli/ember-composable-helpers": "^5.2.10",
"codemirror": "5.65.7",
"ember-auto-import": "^2.10.0",
@@ -116,4 +118,4 @@
],
"*.{mdx,yaml}": "prettier --write"
}
-}
+}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9d979f5630..92fcf0f393 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -541,14 +541,20 @@ importers:
specifier: ^7.26.10
version: 7.27.1
'@hashicorp/design-system-components':
- specifier: ^4.20.2
- version: 4.20.2(@babel/core@7.27.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-basic-dropdown@8.6.1(@babel/core@7.27.1)(@ember/string@3.1.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
+ specifier: 4.24.2-rc-20251124130751
+ version: 4.24.2-rc-20251124130751(@babel/core@7.27.1)(@ember/string@4.0.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-basic-dropdown@8.6.1(@babel/core@7.27.1)(@ember/string@4.0.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
'@hashicorp/design-system-tokens':
- specifier: ^2.3.0
- version: 2.3.0
+ specifier: 4.0.0-rc-20251124130751
+ version: 4.0.0-rc-20251124130751
'@hashicorp/flight-icons':
specifier: ^3.10.0
version: 3.10.0
+ '@ibm/plex-mono':
+ specifier: ^1.1.0
+ version: 1.1.0
+ '@ibm/plex-sans':
+ specifier: ^1.1.0
+ version: 1.1.0
'@nullvoxpopuli/ember-composable-helpers':
specifier: ^5.2.10
version: 5.2.10(@babel/core@7.27.1)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
@@ -2050,10 +2056,6 @@ packages:
'@glint/template':
optional: true
- '@ember/string@3.1.1':
- resolution: {integrity: sha512-UbXJ+k3QOrYN4SRPHgXCqYIJ+yWWUg1+vr0H4DhdQPTy8LJfyqwZ2tc5uqpSSnEXE+/1KopHBE5J8GDagAg5cg==}
- engines: {node: 12.* || 14.* || >= 16}
-
'@ember/string@4.0.1':
resolution: {integrity: sha512-VWeng8BSWrIsdPfffOQt/bKwNKJL7+37gPFh/6iZZ9bke+S83kKqkS30poo4bTGfRcMnvAE0ie7txom+iDu81Q==}
@@ -2071,8 +2073,8 @@ packages:
resolution: {integrity: sha512-gcJuHiXgnrzaU8NyU+2bMbtS6PNOr5v5B8OXBqaBvTCsMpXLvKo8OBOQFCoUN0rPX2J6VaFqrbi/371sMvzZug==}
engines: {node: 12.* || 14.* || >= 16}
- '@embroider/macros@1.16.13':
- resolution: {integrity: sha512-2oGZh0m1byBYQFWEa8b2cvHJB2LzaF3DdMCLCqcRAccABMROt1G3sultnNCT30NhfdGWMEsJOT3Jm4nFxXmTRw==}
+ '@embroider/macros@1.18.0':
+ resolution: {integrity: sha512-KanP80XxNK4bmQ1HKTcUjy/cdCt9n7knPMLK1vzHdOFymACHo+GbhgUjXjYdOCuBTv+ZwcjL2P2XDmBcYS9r8g==}
engines: {node: 12.* || 14.* || >= 16}
peerDependencies:
'@glint/template': ^1.0.0
@@ -2080,8 +2082,8 @@ packages:
'@glint/template':
optional: true
- '@embroider/macros@1.18.0':
- resolution: {integrity: sha512-KanP80XxNK4bmQ1HKTcUjy/cdCt9n7knPMLK1vzHdOFymACHo+GbhgUjXjYdOCuBTv+ZwcjL2P2XDmBcYS9r8g==}
+ '@embroider/macros@1.19.2':
+ resolution: {integrity: sha512-lCG8Y58ZGz9kFvvEJjs3c8VDKDtLYV6iszEuQDyBgOtf1F+zizuZJFchLHSP4Vw5ND3Q4iF5I7tFQLGh0wODDg==}
engines: {node: 12.* || 14.* || >= 16}
peerDependencies:
'@glint/template': ^1.0.0
@@ -2097,6 +2099,10 @@ packages:
resolution: {integrity: sha512-5J5ipUMCAinQS38WW7wedruq5Z4VnHvNo+ZgOduw0PtI9w0CQWx7/HE+98PBDW8jclikeF+aHwF317vc1hwuzg==}
engines: {node: 12.* || 14.* || >= 16}
+ '@embroider/shared-internals@3.0.1':
+ resolution: {integrity: sha512-d7RQwDwqqHo7YvjE9t1rtIrCCYtbSoO0uRq2ikVhRh4hGS5OojZNu2ZtS0Wqrg+V72CRtMFr/hibTvHNsRM2Lg==}
+ engines: {node: 12.* || 14.* || >= 16}
+
'@embroider/test-setup@4.0.0':
resolution: {integrity: sha512-1S3Ebk0CEh3XDqD93AWSwQZBCk+oGv03gtkaGgdgyXGIR7jrVyDgEnEuslN/hJ0cuU8TqhiXrzHMw7bJwIGhWw==}
engines: {node: 12.* || 14.* || >= 16}
@@ -2112,21 +2118,8 @@ packages:
'@embroider/webpack':
optional: true
- '@embroider/util@1.13.2':
- resolution: {integrity: sha512-6/0sK4dtFK7Ld+t5Ovn9EilBVySoysMRdDAf/jGteOO7jdLKNgHnONg0w1T7ZZaMFUQfwJdRrk3u0dM+Idhiew==}
- engines: {node: 12.* || 14.* || >= 16}
- peerDependencies:
- '@glint/environment-ember-loose': ^1.0.0
- '@glint/template': ^1.0.0
- ember-source: '*'
- peerDependenciesMeta:
- '@glint/environment-ember-loose':
- optional: true
- '@glint/template':
- optional: true
-
- '@embroider/util@1.13.3':
- resolution: {integrity: sha512-fb9S137zZqSI1IeWpGKVJ+WZHsRiIrD9D2A4aVwVH0dZeBKDg6lMaMN2MiXJ/ldUAG3DUFxnClnpiG5m2g3JFA==}
+ '@embroider/util@1.13.4':
+ resolution: {integrity: sha512-TqA0SNQarSJUdYGv+39MBCHkiuxhr2u0iKJP/JnDmQkCiVhvuFWy3P3n5sI26fVrVwG3DJLfxE2XVnB37udFOA==}
engines: {node: 12.* || 14.* || >= 16}
peerDependencies:
'@glint/environment-ember-loose': ^1.0.0
@@ -2468,17 +2461,21 @@ packages:
'@handlebars/parser@2.0.0':
resolution: {integrity: sha512-EP9uEDZv/L5Qh9IWuMUGJRfwhXJ4h1dqKTT4/3+tY0eu7sPis7xh23j61SYUnNF4vqCQvvUXpDo9Bh/+q1zASA==}
- '@hashicorp/design-system-components@4.20.2':
- resolution: {integrity: sha512-0FDaDlvaQQVVXoSoWsExmW1TUgmuJNoCz11JuwaOwin59Vl4ttVLsNvY8DviGJlh6VhV1yYlGJa7X2xhQG+ESQ==}
+ '@hashicorp/design-system-components@4.24.2-rc-20251124130751':
+ resolution: {integrity: sha512-M3H8ff5SSwJu+fI3Po4oBy5HVrenCQRRgbdmvFGtPsDLpycdwzxpFR/piS3rYv7N0EPjMZlL68Lja08ZbqMUNg==}
engines: {node: '>= 18'}
peerDependencies:
+ '@ember/string': ^3.1.1 || ^4.0.0
ember-engines: '>= 0.11.0'
+ ember-intl: ^7.3.0
peerDependenciesMeta:
ember-engines:
optional: true
+ ember-intl:
+ optional: true
- '@hashicorp/design-system-tokens@2.3.0':
- resolution: {integrity: sha512-T2XhcgUeiGkNqvPu73yittDghEccUpIZc7Fh/g4PG7KEvJwbXItFWTRWoHSGR8T6r6LpOP5E6CC4hSVwGRugRg==}
+ '@hashicorp/design-system-tokens@4.0.0-rc-20251124130751':
+ resolution: {integrity: sha512-IpLUvaj11cZ0BwgHLjc2+//I22c64MK/gsjp3GKs1HPoKERxvqqD1Q8QE/WrMopfdxAviaTW6K13yhHLVH8V1g==}
'@hashicorp/ember-asciinema-player@https://codeload.github.com/hashicorp/ember-asciinema-player/tar.gz/e047a096039cff70234c232efe75dcad74c6358a':
resolution: {tarball: https://codeload.github.com/hashicorp/ember-asciinema-player/tar.gz/e047a096039cff70234c232efe75dcad74c6358a}
@@ -2490,8 +2487,8 @@ packages:
'@hashicorp/flight-icons@3.10.0':
resolution: {integrity: sha512-wtufYZ5Ntihmy+vbR0dM+Q7X56xPX/dtpcfVs4nCRgvYZZic5ayqE8tefs2FGtxauH6zuzzVk48s5S6psv9g+g==}
- '@hashicorp/flight-icons@3.11.1':
- resolution: {integrity: sha512-FQOHB2qCzHoG3dm6zidS39D4U0ida/7Sge5EG+KqcebH5jsbJQiMyB/qMc3YQBo5vGBe8XUa+rVW8v4JNpzk1Q==}
+ '@hashicorp/flight-icons@3.14.0':
+ resolution: {integrity: sha512-nyLDApaZsAHpAf2sRNwYX1MnJQU9UI3euiwE6wHPl2l/+Yt8wba1oXkmWL/Ptc4QgJxxnRUUhf66jGcB/AIOyQ==}
'@humanwhocodes/config-array@0.13.0':
resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
@@ -2506,6 +2503,16 @@ packages:
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
deprecated: Use @eslint/object-schema instead
+ '@ibm/plex-mono@1.1.0':
+ resolution: {integrity: sha512-hpsdRxR3BRJkC6wGM4MZcUFD6C8M+mmK76RtAy/hlsfPro9FzpXVdIWC+G3jeQOXof109dxlUvmeKxpeKUG68A==}
+
+ '@ibm/plex-sans@1.1.0':
+ resolution: {integrity: sha512-WPgvO6Yfj2w5YbhyAr1tv95RUz4LRJlqN+CmYvBglabXteufP1D1E9BABMde+ZIKdRbFJDoKF5eQzfhpnbgZcQ==}
+
+ '@ibm/telemetry-js@1.10.2':
+ resolution: {integrity: sha512-F8+/NNUwtm8BuFz18O9KPvIFTFDo8GUSoyhPxPjEpk7nEyEzWGfhIiEPhL00B2NdHRLDSljh3AiCfSnL/tutiQ==}
+ hasBin: true
+
'@inquirer/external-editor@1.0.2':
resolution: {integrity: sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==}
engines: {node: '>=18'}
@@ -2673,6 +2680,9 @@ packages:
'@nullvoxpopuli/ember-composable-helpers@5.2.10':
resolution: {integrity: sha512-60lzfYZ3Gn5f5NX7KKh01vOUeMYCgNFMxVwRBtxcyotCmBob3eoW6JL1hO3zStv79k/n/vijdr1o/G1N3+l8Fg==}
+ '@nullvoxpopuli/ember-composable-helpers@5.3.0':
+ resolution: {integrity: sha512-pjuYVAxJJETaFFmDME9sPH++kSNcTJjxHqHUSJOwoYvxSRBHIysJbCFD/CHQjJtbI5D4pVouYU80ugmyGrZoFA==}
+
'@nuxt/opencollective@0.4.1':
resolution: {integrity: sha512-GXD3wy50qYbxCJ652bDrDzgMr3NFEkIS374+IgFQKkCvk9yiYcLvX2XDYr7UyQxf4wK0e+yqDYRubZ0DtOxnmQ==}
engines: {node: ^14.18.0 || >=16.10.0, npm: '>=5.10.0'}
@@ -10573,12 +10583,6 @@ snapshots:
- '@babel/core'
- supports-color
- '@ember/string@3.1.1':
- dependencies:
- ember-cli-babel: 7.26.11
- transitivePeerDependencies:
- - supports-color
-
'@ember/string@4.0.1': {}
'@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2)':
@@ -10620,11 +10624,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@embroider/macros@1.16.13(@glint/template@1.5.2)':
+ '@embroider/macros@1.18.0(@glint/template@1.5.2)':
dependencies:
- '@embroider/shared-internals': 2.9.0
+ '@embroider/shared-internals': 3.0.0
assert-never: 1.4.0
- babel-import-util: 2.1.1
+ babel-import-util: 3.0.1
ember-cli-babel: 7.26.11
find-up: 5.0.0
lodash: 4.17.21
@@ -10635,9 +10639,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@embroider/macros@1.18.0(@glint/template@1.5.2)':
+ '@embroider/macros@1.19.2(@glint/template@1.5.2)':
dependencies:
- '@embroider/shared-internals': 3.0.0
+ '@embroider/shared-internals': 3.0.1
assert-never: 1.4.0
babel-import-util: 3.0.1
ember-cli-babel: 7.26.11
@@ -10685,25 +10689,32 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@embroider/test-setup@4.0.0':
+ '@embroider/shared-internals@3.0.1':
dependencies:
+ babel-import-util: 3.0.1
+ debug: 4.4.1
+ ember-rfc176-data: 0.3.18
+ fs-extra: 9.1.0
+ is-subdir: 1.2.0
+ js-string-escape: 1.0.1
lodash: 4.17.21
- resolve: 1.22.10
-
- '@embroider/util@1.13.2(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))':
- dependencies:
- '@embroider/macros': 1.18.0(@glint/template@1.5.2)
- broccoli-funnel: 3.0.8
- ember-cli-babel: 7.26.11
- ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)
- optionalDependencies:
- '@glint/template': 1.5.2
+ minimatch: 3.1.2
+ pkg-entry-points: 1.1.1
+ resolve-package-path: 4.0.3
+ resolve.exports: 2.0.3
+ semver: 7.7.2
+ typescript-memoize: 1.1.1
transitivePeerDependencies:
- supports-color
- '@embroider/util@1.13.3(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))':
+ '@embroider/test-setup@4.0.0':
+ dependencies:
+ lodash: 4.17.21
+ resolve: 1.22.10
+
+ '@embroider/util@1.13.4(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))':
dependencies:
- '@embroider/macros': 1.16.13(@glint/template@1.5.2)
+ '@embroider/macros': 1.19.2(@glint/template@1.5.2)
broccoli-funnel: 3.0.8
ember-cli-babel: 7.26.11
ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)
@@ -11092,7 +11103,7 @@ snapshots:
'@handlebars/parser@2.0.0': {}
- '@hashicorp/design-system-components@4.20.2(@babel/core@7.27.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-basic-dropdown@8.6.1(@babel/core@7.27.1)(@ember/string@3.1.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))':
+ '@hashicorp/design-system-components@4.24.2-rc-20251124130751(@babel/core@7.27.1)(@ember/string@4.0.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-basic-dropdown@8.6.1(@babel/core@7.27.1)(@ember/string@4.0.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))':
dependencies:
'@codemirror/commands': 6.8.1
'@codemirror/lang-go': 6.0.1
@@ -11107,16 +11118,16 @@ snapshots:
'@codemirror/state': 6.5.2
'@codemirror/view': 6.36.8
'@ember/render-modifiers': 2.1.0(@babel/core@7.27.1)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
- '@ember/string': 3.1.1
+ '@ember/string': 4.0.1
'@ember/test-waiters': 3.1.0
'@embroider/addon-shim': 1.10.0
- '@embroider/macros': 1.18.0(@glint/template@1.5.2)
- '@embroider/util': 1.13.2(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
+ '@embroider/macros': 1.19.2(@glint/template@1.5.2)
+ '@embroider/util': 1.13.4(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
'@floating-ui/dom': 1.7.0
- '@hashicorp/design-system-tokens': 2.3.0
- '@hashicorp/flight-icons': 3.11.1
+ '@hashicorp/design-system-tokens': 4.0.0-rc-20251124130751
+ '@hashicorp/flight-icons': 3.14.0
'@lezer/highlight': 1.2.1
- '@nullvoxpopuli/ember-composable-helpers': 5.2.10(@babel/core@7.27.1)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
+ '@nullvoxpopuli/ember-composable-helpers': 5.3.0(@babel/core@7.27.1)
clipboard-polyfill: 4.1.1
codemirror-lang-hcl: 0.0.0-beta.2
decorator-transforms: 2.3.0(@babel/core@7.27.1)
@@ -11127,15 +11138,16 @@ snapshots:
ember-focus-trap: 1.1.1(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
ember-get-config: 2.1.1(@glint/template@1.5.2)
ember-modifier: 4.2.2(@babel/core@7.27.1)
- ember-power-select: 8.7.1(@babel/core@7.27.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-basic-dropdown@8.6.1(@babel/core@7.27.1)(@ember/string@3.1.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)))(ember-concurrency@4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
+ ember-power-select: 8.7.1(@babel/core@7.27.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-basic-dropdown@8.6.1(@babel/core@7.27.1)(@ember/string@4.0.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)))(ember-concurrency@4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
ember-stargate: 0.6.0(@babel/core@7.27.1)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
- ember-style-modifier: 4.4.0(@babel/core@7.27.1)(@ember/string@3.1.1)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
+ ember-style-modifier: 4.4.0(@babel/core@7.27.1)(@ember/string@4.0.1)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
ember-truth-helpers: 4.0.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
luxon: 3.6.1
prismjs: 1.30.0
sass: 1.88.0
tabbable: 6.2.0
tippy.js: 6.3.7
+ tracked-built-ins: 4.0.0(@babel/core@7.27.1)
transitivePeerDependencies:
- '@babel/core'
- '@ember/test-helpers'
@@ -11146,7 +11158,7 @@ snapshots:
- ember-source
- supports-color
- '@hashicorp/design-system-tokens@2.3.0': {}
+ '@hashicorp/design-system-tokens@4.0.0-rc-20251124130751': {}
'@hashicorp/ember-asciinema-player@https://codeload.github.com/hashicorp/ember-asciinema-player/tar.gz/e047a096039cff70234c232efe75dcad74c6358a(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))(webpack@5.99.8)':
dependencies:
@@ -11162,7 +11174,7 @@ snapshots:
'@hashicorp/flight-icons@3.10.0': {}
- '@hashicorp/flight-icons@3.11.1': {}
+ '@hashicorp/flight-icons@3.14.0': {}
'@humanwhocodes/config-array@0.13.0':
dependencies:
@@ -11176,6 +11188,16 @@ snapshots:
'@humanwhocodes/object-schema@2.0.3': {}
+ '@ibm/plex-mono@1.1.0':
+ dependencies:
+ '@ibm/telemetry-js': 1.10.2
+
+ '@ibm/plex-sans@1.1.0':
+ dependencies:
+ '@ibm/telemetry-js': 1.10.2
+
+ '@ibm/telemetry-js@1.10.2': {}
+
'@inquirer/external-editor@1.0.2(@types/node@22.15.17)':
dependencies:
chardet: 2.1.0
@@ -11369,6 +11391,14 @@ snapshots:
- ember-source
- supports-color
+ '@nullvoxpopuli/ember-composable-helpers@5.3.0(@babel/core@7.27.1)':
+ dependencies:
+ '@embroider/addon-shim': 1.10.0
+ decorator-transforms: 2.3.0(@babel/core@7.27.1)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+
'@nuxt/opencollective@0.4.1':
dependencies:
consola: 3.4.2
@@ -13674,18 +13704,18 @@ snapshots:
- supports-color
- webpack
- ember-basic-dropdown@8.6.1(@babel/core@7.27.1)(@ember/string@3.1.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)):
+ ember-basic-dropdown@8.6.1(@babel/core@7.27.1)(@ember/string@4.0.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)):
dependencies:
'@ember/test-helpers': 5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2)
'@embroider/addon-shim': 1.10.0
- '@embroider/macros': 1.18.0(@glint/template@1.5.2)
- '@embroider/util': 1.13.3(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
+ '@embroider/macros': 1.19.2(@glint/template@1.5.2)
+ '@embroider/util': 1.13.4(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
'@glimmer/component': 2.0.0
decorator-transforms: 2.3.0(@babel/core@7.27.1)
ember-element-helper: 0.8.8
ember-lifeline: 7.0.0(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))
ember-modifier: 4.2.2(@babel/core@7.27.1)
- ember-style-modifier: 4.4.0(@babel/core@7.27.1)(@ember/string@3.1.1)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
+ ember-style-modifier: 4.4.0(@babel/core@7.27.1)(@ember/string@4.0.1)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
ember-truth-helpers: 4.0.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
transitivePeerDependencies:
- '@babel/core'
@@ -14561,15 +14591,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
- ember-power-select@8.7.1(@babel/core@7.27.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-basic-dropdown@8.6.1(@babel/core@7.27.1)(@ember/string@3.1.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)))(ember-concurrency@4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)):
+ ember-power-select@8.7.1(@babel/core@7.27.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-basic-dropdown@8.6.1(@babel/core@7.27.1)(@ember/string@4.0.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)))(ember-concurrency@4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)):
dependencies:
'@ember/test-helpers': 5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2)
'@embroider/addon-shim': 1.10.0
- '@embroider/util': 1.13.2(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
+ '@embroider/util': 1.13.4(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
'@glimmer/component': 2.0.0
decorator-transforms: 2.3.0(@babel/core@7.27.1)
ember-assign-helper: 0.5.1
- ember-basic-dropdown: 8.6.1(@babel/core@7.27.1)(@ember/string@3.1.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
+ ember-basic-dropdown: 8.6.1(@babel/core@7.27.1)(@ember/string@4.0.1)(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8))
ember-concurrency: 4.0.4(@babel/core@7.27.1)(@glint/template@1.5.2)
ember-lifeline: 7.0.0(@ember/test-helpers@5.2.2(@babel/core@7.27.1)(@glint/template@1.5.2))
ember-modifier: 4.2.2(@babel/core@7.27.1)
@@ -14626,7 +14656,7 @@ snapshots:
ember-resources@7.0.4(@glimmer/component@2.0.0)(@glint/template@1.5.2):
dependencies:
'@embroider/addon-shim': 1.10.0
- '@embroider/macros': 1.18.0(@glint/template@1.5.2)
+ '@embroider/macros': 1.19.2(@glint/template@1.5.2)
'@glint/template': 1.5.2
optionalDependencies:
'@glimmer/component': 2.0.0
@@ -14780,9 +14810,9 @@ snapshots:
- ember-source
- supports-color
- ember-style-modifier@4.4.0(@babel/core@7.27.1)(@ember/string@3.1.1)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)):
+ ember-style-modifier@4.4.0(@babel/core@7.27.1)(@ember/string@4.0.1)(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8)):
dependencies:
- '@ember/string': 3.1.1
+ '@ember/string': 4.0.1
'@embroider/addon-shim': 1.10.0
csstype: 3.1.3
decorator-transforms: 2.3.0(@babel/core@7.27.1)
diff --git a/ui/admin/app/controllers/application.js b/ui/admin/app/controllers/application.js
index b1bb690fe7..ffe576d97a 100644
--- a/ui/admin/app/controllers/application.js
+++ b/ui/admin/app/controllers/application.js
@@ -14,7 +14,7 @@ import { paramValueFinder } from 'admin/utils/param-value-finder';
const THEMES = [
{
label: 'system',
- value: 'system-default-theme',
+ value: 'system',
},
{
label: 'light',
@@ -35,6 +35,7 @@ export default class ApplicationController extends Controller {
@service flashMessages;
@service router;
@service sqlite;
+ @service hdsTheming;
/**
* Returns available themes.
@@ -90,6 +91,20 @@ export default class ApplicationController extends Controller {
rootEl.classList.remove('rose-theme-dark');
rootEl.classList.remove('rose-theme-light');
}
+
+ // set the HDS theme too
+ this.hdsTheming.setTheme({
+ theme,
+ onSetTheme: ({ currentTheme, currentMode }) => {
+ // eslint-disable-next-line no-console
+ console.log(
+ `BOUNDARY SWITCHER - onSetTheme invoked`,
+ theme,
+ currentTheme,
+ currentMode,
+ );
+ },
+ });
}
/**
@@ -127,6 +142,13 @@ export default class ApplicationController extends Controller {
this.router.refresh();
}
+ @action
+ onSetTheme({ currentTheme, currentMode }) {
+ // eslint-disable-next-line no-console
+ console.log(`HDS SWITCHER - onSetTheme invoked`, currentTheme, currentMode);
+ this.toggleTheme(currentTheme);
+ }
+
/**
* Add custom route change validation to prevent refocus when
* user is attempting to search, filter, or sort.
diff --git a/ui/admin/app/templates/application.hbs b/ui/admin/app/templates/application.hbs
index a371f54e10..81c9aa3bbf 100644
--- a/ui/admin/app/templates/application.hbs
+++ b/ui/admin/app/templates/application.hbs
@@ -160,6 +160,13 @@
Test CSS helper classes for "sans" font
+Test normal local CSS + classes
+Test normal aliased CSS + classes
+Test CSS helper classes for "mono" font
+ {{! template-lint-enable no-bare-strings }} +