Compare commits

...

7 commits

Author SHA1 Message Date
Nikhil Nawgiri 8d31cb45fd Add hakken log file 2024-04-27 19:16:53 +02:00
Nikhil Nawgiri 095a0d0032 Import entire index.scss 2024-04-27 18:41:03 +02:00
Nikhil Nawgiri a726dbdeca Remove "hello world" text 2024-04-27 18:38:29 +02:00
Nikhil Nawgiri 4f1b8d053a Remove unsupported css property 'speak' 2024-04-27 18:37:52 +02:00
Nikhil Nawgiri 2c624712cc Add wrapper and apply ps-background 2024-04-27 18:37:39 +02:00
Nikhil Nawgiri 060fdfeda6 Add sass support 2024-04-27 18:32:46 +02:00
Jakob Hoefker 59db0b2f02 add styles 2024-04-27 18:24:44 +02:00
24 changed files with 1128 additions and 129 deletions

18
hakken_log.md Normal file
View file

@ -0,0 +1,18 @@
# hakken
## 27.04.2024
This file can be deleted once these goals are achieved.
### goals
* Create styles for unstyled page areas
### planned steps
[x] copy and import sass styles that were used in the past
[x] enable sass
[x] apply styles
[] build jar file
### obstacles
There are no stories available for the areas that actually require styles.
In our opinion it makes more sense for the keycloakify team to provide working stories before we continue.
We gave it a try importing the stories from the keycloakify repo (not the starter) but that didn't work.

View file

@ -46,6 +46,7 @@
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.5", "eslint-plugin-react-refresh": "^0.4.5",
"eslint-plugin-storybook": "^0.8.0", "eslint-plugin-storybook": "^0.8.0",
"sass": "^1.75.0",
"storybook": "^8.0.2", "storybook": "^8.0.2",
"typescript": "^5.2.2", "typescript": "^5.2.2",
"vite": "^5.0.8", "vite": "^5.0.8",

View file

@ -6,6 +6,7 @@ import { usePrepareTemplate } from "keycloakify/lib/usePrepareTemplate";
import { type TemplateProps } from "keycloakify/login/TemplateProps"; import { type TemplateProps } from "keycloakify/login/TemplateProps";
import type { KcContext } from "./kcContext"; import type { KcContext } from "./kcContext";
import type { I18n } from "./i18n"; import type { I18n } from "./i18n";
import "../resources/styles/scss/index.scss";
export default function Template(props: TemplateProps<KcContext, I18n>) { export default function Template(props: TemplateProps<KcContext, I18n>) {
const { const {
@ -46,7 +47,8 @@ export default function Template(props: TemplateProps<KcContext, I18n>) {
return null; return null;
} }
return (<> return (
<div className="ps-background">
<header className="ps-header"> <header className="ps-header">
{realm.internationalizationEnabled && (assert(locale !== undefined), true) && locale.supported.length > 1 && ( {realm.internationalizationEnabled && (assert(locale !== undefined), true) && locale.supported.length > 1 && (
<div id="kc-locale"> <div id="kc-locale">
@ -173,6 +175,6 @@ export default function Template(props: TemplateProps<KcContext, I18n>) {
)} )}
</div> </div>
</div> </div>
</> </div>
); );
} }

View file

@ -0,0 +1,27 @@
.ps-background {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
justify-content: space-between;
&--logo {
width: 100px;
margin: 0.1rem;
}
&--1312 {
transform: rotate(34deg);
transform-origin: center center;
color: #eee;
position: fixed;
z-index: 1;
top: -50vh;
left: -50vw;
font-weight: 900;
font-size: 7rem;
line-height: 6rem;
width: 200vw;
height: 200vh;
}
}

View file

@ -0,0 +1,32 @@
.ps-button {
font-size: 1rem;
padding: 0.5em 1em;
line-height: 1.2em;
border: 0.125em solid var(--foreground);
border-radius: 1.5em;
background-color: var(--background-darker-2);
cursor: pointer;
&:hover,
&:focus {
border-color: var(--accent);
}
&_primary {
border: 0.25em solid var(--foreground);
background-color: var(--background);
color: var(--foreground);
font-weight: bold;
&:focus,
&:hover {
background-color: var(--foreground);
color: var(--background);
}
}
&_small {
font-size: 0.8rem;
padding: 0.25em 0.7em;
}
}

View file

@ -0,0 +1,19 @@
.ps-card {
background-color: var(--background);
display: flex;
flex-direction: column;
border: 1rem solid var(--foreground);
&--header {
padding: 2rem;
}
&--title {
margin: 0;
padding: 0;
}
&--body {
padding: 0rem 2rem;
}
}

View file

@ -0,0 +1,10 @@
.ps-container {
display: flex;
flex-direction: column;
align-items: stretch;
> * {
margin: 0;
margin-bottom: 1.25rem;
}
}

View file

@ -0,0 +1,19 @@
.ps-footer {
display: flex;
margin-top: auto;
z-index: 1;
&--link {
&:hover {
text-shadow: 0.2vw 0px 0px var(--accent);
}
@media screen and (min-width: 700px) {
font-size: 4rem;
}
@media screen and (min-width: 1000px) {
font-size: 2rem;
}
}
}

View file

@ -0,0 +1,21 @@
.ps-form-group {
display: flex;
flex-direction: column;
&--label {
margin-bottom: 0.5rem;
display: flex;
font-weight: bold;
}
.ps-button {
align-self: flex-start;
}
&--error {
margin-top: 0.25rem;
color: var(--accent);
font-weight: bold;
// font-family: monospace;
}
}

View file

@ -0,0 +1,54 @@
.ps-header {
display: flex;
justify-content: space-between;
padding: 0;
margin: 0;
overflow-x: auto;
z-index: 100;
&--title {
font-size: 1.5rem;
padding: 0 1rem;
margin: 0;
border-bottom: 0.5rem solid var(--foreground);
background-color: var(--background);
border-right: 0.5rem solid var(--foreground);
pointer-events: all;
}
&--i18n {
margin-left: auto;
}
&--nav {
display: flex;
border-bottom: 0.5rem solid var(--foreground);
border-left: 0.5rem solid var(--foreground);
background-color: var(--background);
padding-left: 1rem;
pointer-events: all;
}
&--nav-list {
display: flex;
justify-content: flex-end;
align-items: center;
list-style: none;
margin: 0;
padding: 0;
}
&--nav-item {
margin: 0;
margin-right: 1rem;
&-action {
color: var(--foreground);
text-decoration: none;
&:hover {
color: var(--accent);
}
}
}
}

View file

@ -0,0 +1,25 @@
.ps-homelink {
pointer-events: all;
color: var(--foreground);
background: white;
text-decoration: none;
text-align: center;
font-weight: 900;
font-size: 24px;
padding: 8px;
line-height: 1em;
text-shadow: 0.15vw 0px 0px white;
transition: text-shadow 0.1s ease;
border: 12px solid black;
border-top: 0;
border-left: 0;
&:hover {
text-shadow: 0.3vw 0px 0px var(--accent);
}
@media screen and (min-width: 1200px) {
font-size: 32px;
padding: 12px;
}
}

View file

@ -0,0 +1,18 @@
.ps-i18n-links {
display: flex;
margin: 0;
pointer-events: all;
color: var(--foreground);
background: white;
text-decoration: none;
text-align: center;
font-weight: 900;
font-size: 24px;
padding: 8px;
line-height: 1em;
text-shadow: 0.15vw 0px 0px var(--background);
transition: text-shadow 0.1s ease;
border: 12px solid var(--foreground);
border-top: 0;
border-right: 0;
}

View file

@ -0,0 +1,54 @@
* {
box-sizing: border-box;
}
html {
--accent: #ed1c24;
--foreground: #000;
--foreground-lighter-1: rgba(0, 0, 0, 0.7);
--foreground-lighter-2: rgba(0, 0, 0, 0.3);
--background: #fff;
--background-darker-1: #f5f5f5;
--background-darker-2: #eeeeee;
font-family: 'Open Sans', Arial, sans-serif;
font-weight: 800;
background: var(--background);
color: var(--foreground);
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
box-sizing: border-box;
width: 100vw;
height: 100vh;
margin: 0;
font-size: 16px;
@media screen and (min-width: 1200px) {
font-size: 20px;
}
}
*:focus-visible {
outline: 0.2rem solid var(--accent);
}
@import './container';
@import './link';
@import './card';
@import './button';
@import './input';
@import './table';
@import './form-group';
@import './homelink';
@import './i18n-links';
@import './main';
@import './header';
@import './page';
@import './login-flow-pre';
@import './section-nav';
@import './logo';
@import './background';
@import './footer';

View file

@ -0,0 +1,23 @@
.ps-input {
padding: 0.5rem 0.5rem;
border: 2px solid var(--foreground-lighter-1);
font-size: 1.2rem;
&:hover,
&:focus {
border-color: var(--accent);
}
&:focus {
color: var(--background);
background-color: var(--foreground);
}
&:disabled {
background-color: var(--background-darker-2);
&:hover {
border-color: var(--foreground-lighter-1);
}
}
}

View file

@ -0,0 +1,11 @@
.ps-link {
cursor: pointer;
color: var(--accent);
border-bottom: 1px solid transparent;
transition: border-bottom 0.1s ease;
text-decoration: none;
&:hover {
border-bottom: 4px solid var(--accent);
}
}

View file

@ -0,0 +1,16 @@
.ps-login-flow-pre {
margin: 2rem;
display: flex;
border-bottom: 0.25rem solid var(--foreground);
padding-bottom: 0.25rem;
&--selected {
font-weight: bold;
margin-right: 1rem;
}
&--cancel {
font-weight: normal;
}
}

View file

@ -0,0 +1,45 @@
.ps-logo {
display: flex;
align-items: center;
justify-content: center;
position: relative;
z-index: 1;
width: 100px;
&--base {
animation-name: rotate;
animation-duration: 0.3s;
animation-timing-function: linear;
animation-play-state: paused;
animation-iteration-count: infinite;
&:hover {
animation-play-state: running;
}
}
&:nth-child(2n) &--base { animation-delay: -0.1s; }
&:nth-child(3n) &--base { animation-delay: -0.3s; }
&:nth-child(5n) &--base { animation-delay: -0.5s; }
&:nth-child(7n) &--base { animation-delay: -7s; }
&:nth-child(11n) &--base { animation-delay: -0.9s; }
&:nth-child(13n) &--base { animation-delay: -1s; }
&--base::before {
position: absolute;
display: block;
content: '';
width: 100%;
height: 100%;
border-radius: 50%;
}
}
@keyframes rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}

View file

@ -0,0 +1,37 @@
.ps-main {
display: flex;
flex-direction: column;
align-items: stretch;
justify-content: space-between;
height: 100vh;
width: 100vw;
margin: 0;
padding-top: 10vw;
padding-bottom: 2vw;
overflow: auto;
position: relative;
&--background {
position: fixed;
top: 0;
left: 0;
height: 100vh;
width: 100vw;
overflow: hidden;
}
&--page {
z-index: 1;
}
&_full {
padding: 0;
}
&_full &--page {
@media screen and (min-width: 1200px) {
flex-direction: column;
flex-wrap: nowrap;
}
}
}

View file

@ -0,0 +1,3 @@
.ps-nav {
display: flex;
}

View file

@ -0,0 +1,150 @@
.ps-page {
display: flex;
width: 100vw;
flex-direction: column;
align-items: center;
justify-content: flex-start;
padding: 0;
pointer-events: none;
padding-top: 4rem;
@media screen and (min-width: 1200px) {
padding: 1vw;
padding-top: 4rem;
flex-direction: row;
align-items: flex-start;
}
&_home {
flex-direction: row;
flex-wrap: wrap;
}
&--header {
width: 100%;
top: 0;
left: 0;
right: 0;
height: auto;
position: fixed;
}
&--title {
font-size: 2rem;
border-bottom: 0.5rem solid var(--foreground);
padding-bottom: 0.5rem;
margin: 2rem;
}
&--section {
border: 12px solid black;
margin-top: 2rem;
margin-bottom: 2rem;
max-width: 700px;
flex-basis: 100%;
flex-shrink: 1;
pointer-events: all;
color: var(--foreground);
background: var(--background);
overflow-wrap: break-word;
hyphens: auto;
pointer-events: all;
@media screen and (min-width: 1200px) {
margin: 1vw;
}
&_home {
padding: 5vw;
}
&_full {
max-width: unset;
width: calc(100vw - 1.6rem);
margin: 0.8rem;
@media screen and (min-width: 1200px) {
width: 96vw;
margin: 1vw;
}
}
a {
color: var(--accent);
border-bottom: 1px solid transparent;
transition: border-bottom 0.1s ease;
text-decoration: none;
&:hover {
border-bottom: 4px solid var(--accent);
}
}
img {
width: 230px;
margin-top: 1rem;
}
}
&--section-link {
position: sticky;
top: 0;
background-color: var(--background);
padding: 1rem;
display: flex;
justify-content: flex-end;
align-items: center;
text-align: right;
padding-left: 132px;
@media screen and (min-width: 1200px) {
display: none;
border-bottom: 0;
}
&-icon {
margin-left: 8px;
}
}
&--section-contents {
margin: 2rem;
margin-bottom: 0;
font-weight: 500;
line-height: 1.4;
&:last-child {
margin-bottom: 5vw;
}
pre,
code {
background-color: var(--background-darker-2);
border-radius: 4px;
padding: 4px;
}
pre {
border: 1px solid var(--foreground-lighter-2);
}
> * {
margin-bottom: 0;
margin-top: 0.5rem;
}
> .ps-table {
margin-top: 1rem;
+ * {
margin-top: 1rem;
}
}
> h2, h3, h4 {
margin-top: 1.5rem;
line-height: 1.5;
}
}
}

View file

@ -0,0 +1,38 @@
.ps-section-nav {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
position: sticky;
top: 0;
left: 0;
width: 100%;
background-color: var(--background);
border-bottom: 2px solid var(--foreground);
overflow-x: auto;
&--list {
list-style: none;
display: flex;
position: sticky;
margin: 0 -0.5rem;
}
&--link {
display: flex;
a {
padding: 1rem 0.5rem;
}
&_active {
a {
color: var(--foreground);
border-bottom: 4px solid var(--foreground);
&:hover {
border-color: var(--foreground);
}
}
}
}
}

View file

@ -0,0 +1,35 @@
.ps-table {
overflow: auto;
border-collapse: collapse;
margin-left: -0.25rem;
width: calc(100% + 0.25rem);
td, th {
padding: 0.1rem 0.25rem;
}
tr {
border: 0;
border-left: 0.25rem solid transparent;
&:nth-child(2n) {
background-color: var(--background-darker-1);
border-left: 0.25rem solid var(--background-darker-1);
}
&:hover {
background-color: var(--background-darker-2);
border-color: var(--accent);
}
}
thead tr {
border-bottom: 4px solid var(--foreground-lighter-1);
font-weight: bold;
text-align: center;
}
thead td, th {
padding: 0.1rem 0.5rem;
}
}

View file

@ -0,0 +1,322 @@
/* To regenerate this file, run $ google-font-downloader 'https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,800;1,400;1,800&display=swap' */
/* cyrillic-ext */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
// }
// /* cyrillic */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
// }
// /* greek-ext */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+1F00-1FFF;
// }
// /* greek */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+0370-03FF;
// }
// /* hebrew */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
// }
// /* vietnamese */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
// }
// /* latin-ext */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
// }
// /* latin */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6FxZCJgg.woff2) format('woff2');
// unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
// }
// /* cyrillic-ext */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
// }
// /* cyrillic */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
// }
// /* greek-ext */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+1F00-1FFF;
// }
// /* greek */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+0370-03FF;
// }
// /* hebrew */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
// }
// /* vietnamese */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
// }
// /* latin-ext */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06FxZCJgvAQ.woff2) format('woff2');
// unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
// }
// /* latin */
// @font-face {
// font-family: 'Open Sans';
// font-style: italic;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6FxZCJgg.woff2) format('woff2');
// unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
// }
// /* cyrillic-ext */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
// }
// /* cyrillic */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
// }
// /* greek-ext */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+1F00-1FFF;
// }
// /* greek */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+0370-03FF;
// }
// /* hebrew */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
// }
// /* vietnamese */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
// }
// /* latin-ext */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
// }
// /* latin */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 400;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.woff2) format('woff2');
// unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
// }
// /* cyrillic-ext */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
// }
// /* cyrillic */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
// }
// /* greek-ext */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+1F00-1FFF;
// }
// /* greek */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+0370-03FF;
// }
// /* hebrew */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
// }
// /* vietnamese */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
// }
// /* latin-ext */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2) format('woff2');
// unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
// }
// /* latin */
// @font-face {
// font-family: 'Open Sans';
// font-style: normal;
// font-weight: 800;
// font-stretch: 100%;
// font-display: swap;
// src: url(fonts/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.woff2) format('woff2');
// unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
// }

View file

@ -3421,7 +3421,7 @@ cheerio@^1.0.0-rc.5:
parse5 "^7.0.0" parse5 "^7.0.0"
parse5-htmlparser2-tree-adapter "^7.0.0" parse5-htmlparser2-tree-adapter "^7.0.0"
chokidar@^3.5.3: "chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3:
version "3.6.0" version "3.6.0"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
@ -4941,6 +4941,11 @@ ignore@^5.2.0, ignore@^5.2.4:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef"
integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==
immutable@^4.0.0:
version "4.3.5"
resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.5.tgz#f8b436e66d59f99760dc577f5c99a4fd2a5cc5a0"
integrity sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==
import-fresh@^3.2.1: import-fresh@^3.2.1:
version "3.3.0" version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
@ -6839,6 +6844,15 @@ safe-buffer@5.2.1, safe-buffer@~5.2.0:
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sass@^1.75.0:
version "1.75.0"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.75.0.tgz#91bbe87fb02dfcc34e052ddd6ab80f60d392be6c"
integrity sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==
dependencies:
chokidar ">=3.0.0 <4.0.0"
immutable "^4.0.0"
source-map-js ">=0.6.2 <2.0.0"
scheduler@^0.23.0: scheduler@^0.23.0:
version "0.23.0" version "0.23.0"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
@ -6989,6 +7003,11 @@ socks@^2.6.2:
ip-address "^9.0.5" ip-address "^9.0.5"
smart-buffer "^4.2.0" smart-buffer "^4.2.0"
"source-map-js@>=0.6.2 <2.0.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af"
integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
source-map-js@^1.0.2: source-map-js@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"