LabWork_02

This commit is contained in:
parent 1a10462d68
commit 193f73aea8
23 changed files with 2185 additions and 0 deletions

94
LabWork_02/about_us.html Normal file
View File

@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="js/bootstrap.min.js"></script>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/all.min.css">
<link href="https://fonts.googleapis.com/css?family=Montserrat:regular,500,600,700,800,900&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/about_us.css">
<link rel="shortcut icon" href="img/logo.png">
<title>Bookshelf</title>
</head>
<body>
<div class="wrapper">
<header class="header">
<div class="header__container _container">
<div class="header__logo logo">
<div class="logo__img">
<img src="img/logo.png" alt="logo.png">
</div>
<div class="logo__nametag">
<div class="nametag__title">Bookshelf</div>
<div class="nametag__subtitle">Online-library</div>
</div>
</div>
<nav class="header__nav nav">
<ul class="nav__list">
<li class="nav__item">
<a href="index.html" class="nav__link">Home</a>
</li>
<li class="nav__item">
<a href="armor.html" class="nav__link">Armor</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Tools</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Sword</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Bow</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Trident</a>
</li>
</ul>
</nav>
<div class="account">
<div class="account__img">
<img src="img/avatar.png" alt="avatar.png">
</div>
<a class="account__link" href="account.html">My account</a>
</div>
</div>
</header>
<main class="main">
<div class="main__container _container">
<div class="main__about">
<div class="main__info">
<p>
Welcome to our online library! We are a team of enthusiasts who are committed to making reading accessible to all. We know how important enchantment books are for Minecraft, but due to the variety of types of enchantments and the vastness of their application, even experienced players cannot intelligently choose the enchantments they need.<br>
Our goal is to make the possibility of enchanting accessible and convenient for everyone, and our book selector can help you with that. Go to the desired section and select the books you need - that's all you need to do!<br>
Our app is the only one of its kind. All ideas are patented and copyrighted. Any borrowing or use of materials from our labor must be negotiated with our managers, otherwise a lawsuit will follow in your side.
</p>
</div>
</div>
</div>
</main>
<footer class="footer">
<div class="footer__container _container">
<nav class="footer__nav nav">
<ul class="nav__list">
<li class="nav__item">
<a href="about_us.html" class="nav__link">About us</a>
</li>
<li class="nav__item">
<a href="contact_us.html" class="nav__link">Contact us</a>
</li>
</ul>
</nav>
<div class="footer__privacy">
© made by Factorino. All rights reserved.
</div>
</div>
</footer>
</div>
</body>
</html>

234
LabWork_02/account.html Normal file
View File

@ -0,0 +1,234 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="js/bootstrap.min.js"></script>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/all.min.css">
<link href="https://fonts.googleapis.com/css?family=Montserrat:regular,500,600,700,800,900&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/account.css">
<link rel="shortcut icon" href="img/logo.png">
<title>Bookshelf</title>
</head>
<body>
<div class="wrapper">
<header class="header">
<div class="header__container _container">
<div class="header__logo logo">
<div class="logo__img">
<img src="img/logo.png" alt="logo.png">
</div>
<div class="logo__nametag">
<div class="nametag__title">Bookshelf</div>
<div class="nametag__subtitle">Online-library</div>
</div>
</div>
<nav class="header__nav nav">
<ul class="nav__list">
<li class="nav__item">
<a href="index.html" class="nav__link">Home</a>
</li>
<li class="nav__item">
<a href="armor.html" class="nav__link">Armor</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Tools</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Sword</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Bow</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Trident</a>
</li>
</ul>
</nav>
<div class="account">
<div class="account__img">
<img src="img/avatar.png" alt="avatar.png">
</div>
<a class="account__link" href="account.html">My account</a>
</div>
</div>
</header>
<main class="main">
<div class="main__container _container">
<div class="main__form form">
<h2 class="form__title">Sign in</h2>
<h3 class="form__subtitle">in to your account</h3>
<div class="form__fields fields">
<input class="fields__nubmer" type="number" placeholder="Enter your phone number" name="number" id="number">
<input class="fields__password" type="password" placeholder="Enter your password" name="password" id="password">
<input class="fields__password_repeat" type="password" placeholder="Repeat your password" name="password_repeat" id="password_repeat">
<input class="fields__submit" type="submit" value="Sign up" id="submit">
<div class="form__warning">By clicking on the “Sign up” button, you agree to the<br/>processing of personal data</div>
</div>
</div>
<div class="main__cart cart">
<div class="cart__row_header">
<div class="cart__column">Name</div>
<div class="cart__column">Amount</div>
<div class="cart__column">Price</div>
<div class="cart__column">Clear</div>
</div>
<div class="cart__row">
<div class="cart__column">
<div class="cart__name">Protection 3</div>
</div>
<div class="cart__column">
<button class="cart__button_decrement" id="button_decrement" onclick="setAmount(this)">-</button>
<input class="cart__amount" type="number" id="amount" min="0" max="100" step="1" value="1" readonly>
<button class="cart__button_increment" id="button_increment" onclick="setAmount(this)">+</button>
</div>
<div class="cart__column">
<div class="cart__price">150</div>
</div>
<div class="cart__column">
<button class="cart__button_close" id="button_close">x</button>
</div>
</div>
<div class="cart__row">
<div class="cart__column">
<div class="cart__name">Protection 3</div>
</div>
<div class="cart__column">
<button class="cart__button_decrement" id="button_decrement" onclick="setAmount(this)">-</button>
<input class="cart__amount" type="number" id="amount" min="0" max="100" step="1" value="1">
<button class="cart__button_increment" id="button_increment" onclick="setAmount(this)">+</button>
</div>
<div class="cart__column">
<div class="cart__price">150</div>
</div>
<div class="cart__column">
<button class="cart__button_close" id="button_close">x</button>
</div>
</div>
<div class="cart__row">
<div class="cart__column">
<div class="cart__name">Protection 3</div>
</div>
<div class="cart__column">
<button class="cart__button_decrement" id="button_decrement" onclick="setAmount(this)">-</button>
<input class="cart__amount" type="number" id="amount" min="0" max="100" step="1" value="1">
<button class="cart__button_increment" id="button_increment" onclick="setAmount(this)">+</button>
</div>
<div class="cart__column">
<div class="cart__price">150</div>
</div>
<div class="cart__column">
<button class="cart__button_close" id="button_close">x</button>
</div>
</div>
<div class="cart__row">
<div class="cart__column">
<div class="cart__name">Protection 3</div>
</div>
<div class="cart__column">
<button class="cart__button_decrement" id="button_decrement" onclick="setAmount(this)">-</button>
<input class="cart__amount" type="number" id="amount" min="0" max="100" step="1" value="1">
<button class="cart__button_increment" id="button_increment" onclick="setAmount(this)">+</button>
</div>
<div class="cart__column">
<div class="cart__price">150</div>
</div>
<div class="cart__column">
<button class="cart__button_close" id="button_close">x</button>
</div>
</div>
<div class="cart__row">
<div class="cart__column">
<div class="cart__name">Protection 3</div>
</div>
<div class="cart__column">
<button class="cart__button_decrement" id="button_decrement" onclick="setAmount(this)">-</button>
<input class="cart__amount" type="number" id="amount" min="0" max="100" step="1" value="1">
<button class="cart__button_increment" id="button_increment" onclick="setAmount(this)">+</button>
</div>
<div class="cart__column">
<div class="cart__price">150</div>
</div>
<div class="cart__column">
<button class="cart__button_close" id="button_close">x</button>
</div>
</div>
<div class="cart__row">
<div class="cart__column">
<div class="cart__name">Protection 3</div>
</div>
<div class="cart__column">
<button class="cart__button_decrement" id="button_decrement" onclick="setAmount(this)">-</button>
<input class="cart__amount" type="number" id="amount" min="0" max="100" step="1" value="1">
<button class="cart__button_increment" id="button_increment" onclick="setAmount(this)">+</button>
</div>
<div class="cart__column">
<div class="cart__price">150</div>
</div>
<div class="cart__column">
<button class="cart__button_close" id="button_close">x</button>
</div>
</div>
<div class="cart__row">
<div class="cart__column">
<div class="cart__name">Protection 3</div>
</div>
<div class="cart__column">
<button class="cart__button_decrement" id="button_decrement" onclick="setAmount(this)">-</button>
<input class="cart__amount" type="number" id="amount" min="0" max="100" step="1" value="1">
<button class="cart__button_increment" id="button_increment" onclick="setAmount(this)">+</button>
</div>
<div class="cart__column">
<div class="cart__price">150</div>
</div>
<div class="cart__column">
<button class="cart__button_close" id="button_close">x</button>
</div>
</div>
<div class="cart__row">
<div class="cart__column">
<div class="cart__name">Protection 3</div>
</div>
<div class="cart__column">
<button class="cart__button_decrement" id="button_decrement" onclick="setAmount(this)">-</button>
<input class="cart__amount" type="number" id="amount" min="0" max="100" step="1" value="1">
<button class="cart__button_increment" id="button_increment" onclick="setAmount(this)">+</button>
</div>
<div class="cart__column">
<div class="cart__price">150</div>
</div>
<div class="cart__column">
<button class="cart__button_close" id="button_close">x</button>
</div>
</div>
</div>
</div>
</main>
<footer class="footer">
<div class="footer__container _container">
<nav class="footer__nav nav">
<ul class="nav__list">
<li class="nav__item">
<a href="about_us.html" class="nav__link">About us</a>
</li>
<li class="nav__item">
<a href="contact_us.html" class="nav__link">Contact us</a>
</li>
</ul>
</nav>
<div class="footer__privacy">
© made by Factorino. All rights reserved.
</div>
</div>
</footer>
</div>
<script src="js/script.js"></script>
</body>
</html>

189
LabWork_02/armor.html Normal file
View File

@ -0,0 +1,189 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="js/bootstrap.min.js"></script>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/all.min.css">
<link href="https://fonts.googleapis.com/css?family=Montserrat:regular,500,600,700,800,900&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/armor.css">
<link rel="shortcut icon" href="img/logo.png">
<title>Bookshelf</title>
</head>
<body>
<div class="wrapper">
<header class="header">
<div class="header__container _container">
<div class="header__logo logo">
<div class="logo__img">
<img src="img/logo.png" alt="logo.png">
</div>
<div class="logo__nametag">
<div class="nametag__title">Bookshelf</div>
<div class="nametag__subtitle">Online-library</div>
</div>
</div>
<nav class="header__nav nav">
<ul class="nav__list">
<li class="nav__item">
<a href="index.html" class="nav__link">Home</a>
</li>
<li class="nav__item">
<a href="armor.html" class="nav__link">Armor</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Tools</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Sword</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Bow</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Trident</a>
</li>
</ul>
</nav>
<div class="account">
<div class="account__img">
<img src="img/avatar.png" alt="avatar.png">
</div>
<a class="account__link" href="account.html">My account</a>
</div>
</div>
</header>
<main class="main">
<div class="main__container _container">
<div class="main__banner banner">
<div class="banner__square1"></div>
<div class="banner__square2">
<div class="banner__img">
<img src="img/armor.png" alt="armor.png">
</div>
</div>
</div>
<div class="main__table table">
<div class="table__row">
<div class="table__cell">
<input class="table__radio" type="radio" name="protection" id="protection4">
<label for="protection4" class="table__label">Protection 4</label>
</div>
<div class="table__cell">
<input class="table__radio" type="radio" name="protection" id="protection3">
<label for="protection3" class="table__label">Protection 3</label>
</div>
<div class="table__cell">
<input class="table__radio" type="radio" name="protection" id="protection2">
<label for="protection2" class="table__label">Protection 2</label>
</div>
<div class="table__cell">
<input class="table__radio" type="radio" name="protection" id="protection1">
<label for="protection1" class="table__label">Protection 1</label>
</div>
</div>
<div class="table__row">
<div class="table__cell">
<input class="table__radio" type="radio" name="unbreaking" id="unbreaking3">
<label for="unbreaking3" class="table__label">Unbreaking 3</label>
</div>
<div class="table__cell">
<input class="table__radio" type="radio" name="unbreaking" id="unbreaking2">
<label for="unbreaking2" class="table__label">Unbreaking 2</label>
</div>
<div class="table__cell">
<input class="table__radio" type="radio" name="unbreaking" id="unbreaking1">
<label for="unbreaking1" class="table__label">Unbreaking 1</label>
</div>
</div>
<div class="table__row">
<div class="table__cell">
<input class="table__radio" type="radio" name="mending" id="mending">
<label for="mending" class="table__label">Mending</label>
</div>
</div>
<div class="table__row">
<div class="table__cell">
<input class="table__radio" type="radio" name="thorns" id="thorns3">
<label for="thorns3" class="table__label">Thorns 3</label>
</div>
<div class="table__cell">
<input class="table__radio" type="radio" name="thorns" id="thorns2">
<label for="thorns2" class="table__label">Thorns 2</label>
</div>
<div class="table__cell">
<input class="table__radio" type="radio" name="thorns" id="thorns1">
<label for="thorns1" class="table__label">Thorns 1</label>
</div>
</div>
<div class="table__row">
<div class="table__cell">
<input class="table__radio" type="radio" name="swift_sneak" id="swift_sneak2">
<label for="swift_sneak2" class="table__label">Swift Sneak 2</label>
</div>
<div class="table__cell">
<input class="table__radio" type="radio" name="swift_sneak" id="swift_sneak1">
<label for="swift_sneak1" class="table__label">Swift Sneak 1</label>
</div>
</div>
<div class="table__row">
<div class="table__cell">
<input class="table__radio" type="radio" name="feather_falling" id="feather_falling4">
<label for="feather_falling4" class="table__label">Feather Falling 4</label>
</div>
<div class="table__cell">
<input class="table__radio" type="radio" name="feather_falling" id="feather_falling3">
<label for="feather_falling3" class="table__label">Feather Falling 3</label>
</div>
<div class="table__cell">
<input class="table__radio" type="radio" name="feather_falling" id="feather_falling2">
<label for="feather_falling2" class="table__label">Feather Falling 2</label>
</div>
<div class="table__cell">
<input class="table__radio" type="radio" name="feather_falling" id="feather_falling1">
<label for="feather_falling1" class="table__label">Feather Falling 1</label>
</div>
</div>
<div class="table__row">
<div class="table__cell">
<input class="table__radio" type="radio" name="soul_speed" id="soul_speed3">
<label for="soul_speed3" class="table__label">Soul Speed 3</label>
</div>
<div class="table__cell">
<input class="table__radio" type="radio" name="soul_speed" id="soul_speed2">
<label for="soul_speed2" class="table__label">Soul Speedn 2</label>
</div>
<div class="table__cell">
<input class="table__radio" type="radio" name="soul_speed" id="soul_speed1">
<label for="soul_speed1" class="table__label">Soul Speed 1</label>
</div>
</div>
</div>
</div>
</main>
<footer class="footer">
<div class="footer__container _container">
<nav class="footer__nav nav">
<ul class="nav__list">
<li class="nav__item">
<a href="about_us.html" class="nav__link">About us</a>
</li>
<li class="nav__item">
<a href="contact_us.html" class="nav__link">Contact us</a>
</li>
</ul>
</nav>
<div class="footer__privacy">
© made by Factorino. All rights reserved.
</div>
</div>
</footer>
</div>
</body>
</html>

146
LabWork_02/contact_us.html Normal file
View File

@ -0,0 +1,146 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="js/bootstrap.min.js"></script>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/all.min.css">
<link href="https://fonts.googleapis.com/css?family=Montserrat:regular,500,600,700,800,900&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/contact_us.css">
<link rel="shortcut icon" href="img/logo.png">
<title>Bookshelf</title>
</head>
<body>
<div class="wrapper">
<header class="header">
<div class="header__container _container">
<div class="header__logo logo">
<div class="logo__img">
<img src="img/logo.png" alt="logo.png">
</div>
<div class="logo__nametag">
<div class="nametag__title">Bookshelf</div>
<div class="nametag__subtitle">Online-library</div>
</div>
</div>
<nav class="header__nav nav">
<ul class="nav__list">
<li class="nav__item">
<a href="index.html" class="nav__link">Home</a>
</li>
<li class="nav__item">
<a href="armor.html" class="nav__link">Armor</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Tools</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Sword</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Bow</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Trident</a>
</li>
</ul>
</nav>
<div class="account">
<div class="account__img">
<img src="img/avatar.png" alt="avatar.png">
</div>
<a class="account__link" href="account.html">My account</a>
</div>
</div>
</header>
<main class="main">
<div class="main__container _container">
<div class="main__form form">
<h2 class="form__header">Contact us</h2>
<div class="form__fields fields">
<input class="fields__name" type="text" placeholder="Enter your name" name="name" id="name">
<input class="fields__email" type="email" placeholder="Enter your valid email" name="email" id="email">
<input class="fields__message" type="text" placeholder="Enter your message" name="message" id="message">
<input class="fields__submit" type="submit" value="Send message" id="submit">
</div>
</div>
<div class="main__info info">
<div class="info__row">
<div class="info_column">
<div class="info__banner banner">
<div class="banner__square1"></div>
<div class="banner__square2">
<div class="banner__contacts">
<h2 class="banner__header">Our main office</h2>
<div class="banner__info">SoHo 94<br/> Broadway St New York,<br/> NY 1001</div>
</div>
</div>
</div>
</div>
<div class="info_column">
<div class="info__banner banner">
<div class="banner__square1"></div>
<div class="banner__square2">
<div class="banner__contacts">
<h2 class="banner__header">Phone number</h2>
<div class="banner__info">234-9876-5400</div>
<div class="banner__info">+7 (902) 589-29-14</div>
</div>
</div>
</div>
</div>
</div>
<div class="info__row">
<div class="info_column">
<div class="info__banner banner">
<div class="banner__square1"></div>
<div class="banner__square2">
<div class="banner__contacts">
<h2 class="banner__header">FAX</h2>
<div class="banner__info">1-234-567-8900</div>
</div>
</div>
</div>
</div>
<div class="info_column">
<div class="info__banner banner">
<div class="banner__square1"></div>
<div class="banner__square2">
<div class="banner__contacts">
<h2 class="banner__header">EMAIL</h2>
<div class="banner__info">masenkin73@gmail.com</div>
<div class="banner__info">masenkin73@xmail.ru</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<footer class="footer">
<div class="footer__container _container">
<nav class="footer__nav nav">
<ul class="nav__list">
<li class="nav__item">
<a href="about_us.html" class="nav__link">About us</a>
</li>
<li class="nav__item">
<a href="contact_us.html" class="nav__link">Contact us</a>
</li>
</ul>
</nav>
<div class="footer__privacy">
© made by Factorino. All rights reserved.
</div>
</div>
</footer>
</div>
</body>
</html>

View File

@ -0,0 +1,20 @@
/* Main */
.main__container {
justify-content: center;
}
/* Info */
.main__about {
max-width: 1395px;
margin-top: 90px;
background-color: #2c2a2a;
border-radius: 70px;
border: solid 5px;
border-color: #a721fa;
}
.main__info {
color: #fff;
font-size: 32px;
padding: 77px 44px;
line-height: 1.3;
}

122
LabWork_02/css/account.css Normal file
View File

@ -0,0 +1,122 @@
/* Main */
.main__container {
flex-wrap: wrap;
}
/* Form */
.form {
height: 600px;
display: flex;
flex-direction: column;
margin-top: 90px;
border: solid 5px;
border-radius: 70px;
border-color: #a721fa;
color: #fff;
background-color: #2c2a2a;
}
.form__title {
text-align: center;
font-size: 24px;
font-weight: 800;
padding-top: 30px;
}
.form__subtitle {
text-align: center;
font-size: 24px;
font-weight: 600;
}
.fields {
display: flex;
flex-direction: column;
margin: 60px 84px 60px 84px;
gap: 20px;
}
@media (max-width: 420px) {
.fields {
margin: 60px 70px 60px 70px;
}
}
.fields__nubmer {
height: 50px;
border-radius: 30px;
}
.fields__password {
height: 50px;
border-radius: 30px;
}
.fields__password_repeat {
height: 50px;
border-radius: 30px;
}
.fields__submit {
height: 50px;
margin-top: 10px;
border-radius: 30px;
font-size: 20px;
font-weight: 600;
color: #fff;
background-color: #a721fa;
}
.form__warning {
text-align: center;
font-size: 10px;
font-weight: 400;
}
/* Cart */
.cart {
display: flex;
flex-direction: column;
margin-top: 90px;
padding: 30px 30px;
gap: 10px;
border: solid 5px;
border-radius: 70px;
border-color: #a721fa;
color: #fff;
background-color: #2c2a2a;
}
.cart__row_header {
display: flex;
justify-content: center;
flex-wrap: wrap;
font-size: 24px;
font-weight: 700;
}
.cart__column {
display: flex;
justify-content: center;
align-items: center;
width: 200px;
height: 50px;
}
.cart__row {
display: flex;
justify-content: center;
flex-wrap: wrap;
font-size: 20px;
font-weight: 600;
border-radius: 30px;
background-color: #363434;
}
.cart__button_decrement {
color: #fff;
}
.cart__amount {
-moz-appearance: textfield;
text-align: center;
font-size: 24px;
font-weight: 600;
border: none;
color: #fff;
background-color: #363434;
}
.cart__button_increment {
color: #fff;
}
.cart__button_close {
font-size: 30px;
font-weight: 800;
color: #fff;
}

5
LabWork_02/css/all.min.css vendored Normal file

File diff suppressed because one or more lines are too long

73
LabWork_02/css/armor.css Normal file
View File

@ -0,0 +1,73 @@
/* Main */
.main__container {
flex-wrap: nowrap;
}
@media (max-width: 1000px) {
.main__container {
flex-wrap: wrap;
}
}
/* Image */
.banner__square1 {
margin-left: 0px;
}
.banner__square2 {
margin-left: 50px;
margin-top: 50px;
}
.banner__img {
max-width: 219px;
max-height: 436px;
transform: scaleX(-1);
}
@media (max-width: 650px) {
.banner__img {
max-width: 119px;
max-height: 346px;
}
}
/* Table */
.table {
display: flex;
flex-direction: column;
margin-top: 90px;
margin-left: 160px;
gap: 20px;
padding: 60px 60px;
border: solid 5px;
border-radius: 70px;
border-color: #a721fa;
color: #fff;
background-color: #2c2a2a;
}
@media (max-width: 1000px) {
.table {
margin: 30px 30px;
}
}
.table__row {
display: flex;
flex-wrap: wrap;
gap: 20px;
border-radius: 30px;
background-color: #363434;
}
.table__radio {
display: none;
}
.table__radio:checked + .table__label {
background-color: #a721fa;
}
.table__label {
display: flex;
align-items: center;
justify-content: center;
width: 120px;
height: 50px;
font-size: 12px;
font-weight: 500;
border-radius: 30px;
background-color: #fff;
}

6
LabWork_02/css/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,107 @@
/* Main */
.main__container {
flex-wrap: nowrap;
}
@media (max-width: 1250px) {
.main__container {
flex-wrap: wrap;
}
}
/* Form */
.form {
display: flex;
flex-direction: column;
margin-top: 90px;
border: solid 5px;
border-radius: 70px;
border-color: #a721fa;
color: #fff;
background-color: #2c2a2a;
}
.form__header {
text-align: center;
font-size: 24px;
font-weight: 800;
padding-top: 30px;
}
.fields {
display: flex;
flex-direction: column;
width: 377px;
margin: 60px 84px 60px 84px;
gap: 20px;
}
@media (max-width: 570px) {
.fields {
width: 300px;
margin: 60px 30px;
}
}
.fields__name {
height: 50px;
border-radius: 30px;
}
.fields__email {
height: 50px;
border-radius: 30px;
}
.fields__message {
height: 260px;
border-radius: 30px;
}
.fields__submit {
height: 50px;
border-radius: 30px;
font-size: 20px;
font-weight: 600;
color: #fff;
background-color: #a721fa;
}
/* Contact info */
.info {
display: flex;
flex-direction: column;
margin-top: 90px;
gap: 50px;
}
.info__row {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 50px;
}
.banner {
min-width: 295px;
min-height: 295px;
}
.banner__square1 {
min-width: 275px;
min-height: 275px;
margin-left: 20px;
}
.banner__square2 {
min-width: 275px;
min-height: 275px;
margin-top: 20px;
}
.banner__contacts {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.banner__header {
font-size: 24px;
font-weight: 700;
color: #fff;
}
.banner__info {
text-align: center;
font-size: 20px;
font-weight: 500;
color: #fff;
white-space: normal;
margin-top: 10px;
}

56
LabWork_02/css/index.css Normal file
View File

@ -0,0 +1,56 @@
/* Info */
.main__product {
max-width: 752px;
min-height: 530px;
margin-top: 90px;
padding-bottom: 30px;
}
.info__title {
color: #a721fa;
font-size: 90px;
font-weight: 800;
}
@media (max-width: 767px) {
.info__title {
margin-top: 30px;
font-size: 50px;
}
}@media (max-width: 479px) {
.info__title {
font-size: 30px;
}
}
.info__text {
margin-top: 30px;
color: #fff;
font-size: 25px;
font-weight: 500;
line-height: 1.3;
}
/* Button */
.main__button {
max-width: 263px;
min-height: 60px;
display: flex;
justify-content: center;
align-items: center;
background-color: #a721fa;
margin-top: 50px;
color: #fff;
font-size: 20px;
font-weight: 700;
border-radius: 30px;
}
/* Image */
.banner__img {
max-width: 400px;
max-height: 377px;
}
@media (max-width: 650px) {
.banner__img {
max-width: 219px;
max-height: 177px;
}
}

241
LabWork_02/css/style.css Normal file
View File

@ -0,0 +1,241 @@
.root {
--color1: #363434;
--color2: #2c2a2a;
--color3: #a721fa;
}
*, *::before, *::after {
margin: 0;
padding: 0;
border: 0;
box-sizing: border-box;
}
a {
text-decoration: none;
color: inherit;
transition: .4s;
}
input {
padding-left: 20px;
}
input::placeholder {
position: absolute;
top: 0;
left: 0;
font-size: 14px;
font-weight: 400;
padding-top: 16px;
padding-left: 20px;
color: #363434;
}
button {
display: block;
border: none;
background-color: transparent;
font: inherit;
cursor: pointer;
transition: .4s;
}
ul, ol, li {
list-style: none;
padding-left: 0;
}
img {
max-width: 100%;
max-height: 100%;
vertical-align: top;
}
h1, h2, h3, h4, h5, h6 {
font-weight: inherit;
font-size: inherit;
}
html, body {
height: 100%;
line-height: 1;
font-family: Montserrat;
background-color: #363434;
}
.wrapper {
position: relative;
display: flex;
flex-direction: column;
min-height: 100%;
overflow: hidden;
}
._container {
max-width: 1680px;
margin: 0px auto;
padding: 0px 15px;
box-sizing: content-box;
}
@media (max-width: 420px) {
._container {
padding: 0px 0px;
}
}
/* Header */
.header {
position: absolute;
width: 100%;
left: 0;
top: 0;
background-color: #2c2a2a;
}
.header__container {
display: flex;
justify-content: space-between;
align-items:center;
min-height: 150px;
}
.header__logo {
display: flex;
align-items: center;
}
.logo__img {
max-width: 100px;
max-height: 100px;
}
.logo__nametag {
margin: 0px 0px 0px 30px;
line-height: 1.2;
}
@media (max-width: 992px) {
.logo__nametag {
margin: 0px 0px 0px 15px;
}
}
@media (max-width: 479px) {
.logo__nametag {
margin: 0px 0px 0px 0px;
}
}
.nametag__title {
font-size: 50px;
font-weight: 700;
color: #a721fa;
}
@media (max-width: 992px) {
.nametag__title {
font-size: 30px;
}
}
.nametag__subtitle {
font-size: 16px;
font-weight: 700;
color: #fff;
}
.nav__list {
display: flex;
flex-wrap: wrap;
}
.nav__item:not(:last-child) {
margin-right: 50px;
}
@media (max-width: 479px) {
.nav__item.nav__item:not(:last-child) {
margin-right: 10px;
}
}
.nav__link {
color: #fff;
font-size: 20px;
font-weight: 600;
}
.nav__link:hover {
color: #a721fa;
}
.account {
display: flex;
align-items: center;
margin-bottom: 20px;
}
.account__img {
width: 50px;
height: 50px;
}
.account__link {
color: #fff;
font-size: 20px;
font-weight: 600;
}
.account__link:hover {
color: #a721fa;
}
/* Main */
.main {
flex: 1 1 auto;
width: 100%;
}
.main__container {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
margin-top: 150px;
min-height: 830px;
}
/* Image */
.main__banner {
min-width: 596px;
min-height: 596px;
margin-top: 90px;
}
@media (max-width: 650px) {
.main__banner {
min-width: 375px;
max-height: 375px;
}
}
.banner__square1 {
position: absolute;
min-width: 546px;
min-height: 546px;
margin-left: 50px;
background-color: #fff;
border-radius: 70px;
}
@media (max-width: 650px) {
.banner__square1 {
min-width: 325px;
min-height: 325px;
}
}
.banner__square2 {
position: absolute;
display: flex;
justify-content: center;
align-items: center;
min-width: 546px;
min-height: 546px;
margin-top: 50px;
background-color: #a721fa;
border-radius: 70px;
border: solid 5px;
border-color: #fff;
}
@media (max-width: 650px) {
.banner__square2 {
min-width: 325px;
min-height: 325px;
}
}
/* Footer */
.footer {
width: 100%;
background-color: #2c2a2a;
}
.footer__container {
display: flex;
align-items: center;
justify-content: space-between;
min-height: 100px;
}
.footer__privacy {
color: #fff;
font-size: 20px;
font-weight: 600;
}

BIN
LabWork_02/img/armor.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

BIN
LabWork_02/img/avatar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
LabWork_02/img/book.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
LabWork_02/img/cross.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
LabWork_02/img/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

BIN
LabWork_02/img/pickaxe.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 B

100
LabWork_02/index.html Normal file
View File

@ -0,0 +1,100 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="js/bootstrap.min.js"></script>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/all.min.css">
<link href="https://fonts.googleapis.com/css?family=Montserrat:regular,500,600,700,800,900&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/index.css">
<link rel="shortcut icon" href="img/logo.png">
<title>Bookshelf</title>
</head>
<body>
<div class="wrapper">
<header class="header">
<div class="header__container _container">
<div class="header__logo logo">
<div class="logo__img">
<img src="img/logo.png" alt="logo.png">
</div>
<div class="logo__nametag">
<div class="nametag__title">Bookshelf</div>
<div class="nametag__subtitle">Online-library</div>
</div>
</div>
<nav class="header__nav nav">
<ul class="nav__list">
<li class="nav__item">
<a href="index.html" class="nav__link">Home</a>
</li>
<li class="nav__item">
<a href="armor.html" class="nav__link">Armor</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Tools</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Sword</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Bow</a>
</li>
<li class="nav__item">
<a href="" class="nav__link">Trident</a>
</li>
</ul>
</nav>
<div class="account">
<div class="account__img">
<img src="img/avatar.png" alt="avatar.png">
</div>
<a class="account__link" href="account.html">My account</a>
</div>
</div>
</header>
<main class="main">
<div class="main__container _container">
<div class="main__product">
<div class="main__info info">
<div class="info__title">The power of enchantments</div>
<div class="info__text">Enchanting is a mechanic that augments armor, tools, weapons, and books with one or more of a variety of "enchantments" that improve an item's existing abilities or imbue them with additional abilities and uses. A special "glint" animation appears on items that are enchanted.</div>
</div>
<a href="" class="main__button">Start buying</a>
</div>
<div class="main__banner banner">
<div class="banner__square1"></div>
<div class="banner__square2">
<div class="banner__img">
<img src="img/book.png" alt="book.png">
</div>
</div>
</div>
</div>
</main>
<footer class="footer">
<div class="footer__container _container">
<nav class="footer__nav nav">
<ul class="nav__list">
<li class="nav__item">
<a href="about_us.html" class="nav__link">About us</a>
</li>
<li class="nav__item">
<a href="contact_us.html" class="nav__link">Contact us</a>
</li>
</ul>
</nav>
<div class="footer__privacy">
© made by Factorino. All rights reserved.
</div>
</div>
</footer>
</div>
</body>
</html>

7
LabWork_02/js/bootstrap.min.js vendored Normal file

File diff suppressed because one or more lines are too long

14
LabWork_02/js/script.js Normal file
View File

@ -0,0 +1,14 @@
const amount = document.getElementById("amount");
function setAmount(btn) {
let id = btn.getAttribute("id");
let min = amount.getAttribute("min");
let max = amount.getAttribute("max");
let step = amount.getAttribute("step");
let value = amount.getAttribute("value");
let calcStep = (id == "button_increment") ? (step * 1) : (step * -1);
let newAmount = parseInt(value) + calcStep;
if (newAmount >= min && newAmount <= max) {
amount.setAttribute("value", newAmount);
}
}

759
LabWork_02/package-lock.json generated Normal file
View File

@ -0,0 +1,759 @@
{
"name": "int-prog",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "int-prog",
"version": "1.0.0",
"devDependencies": {
"http-server": "14.1.1"
}
},
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/async": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
"integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
"dev": true,
"dependencies": {
"lodash": "^4.17.14"
}
},
"node_modules/basic-auth": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
"integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
"dev": true,
"dependencies": {
"safe-buffer": "5.1.2"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/call-bind": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.1",
"get-intrinsic": "^1.0.2"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"node_modules/corser": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz",
"integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==",
"dev": true,
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/debug": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
"dependencies": {
"ms": "^2.1.1"
}
},
"node_modules/eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
"dev": true
},
"node_modules/follow-redirects": {
"version": "1.15.2",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
"dev": true,
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
"engines": {
"node": ">=4.0"
},
"peerDependenciesMeta": {
"debug": {
"optional": true
}
}
},
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
"node_modules/get-intrinsic": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
"integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.3"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.1"
},
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
"dev": true,
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true,
"bin": {
"he": "bin/he"
}
},
"node_modules/html-encoding-sniffer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
"integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
"dev": true,
"dependencies": {
"whatwg-encoding": "^2.0.0"
},
"engines": {
"node": ">=12"
}
},
"node_modules/http-proxy": {
"version": "1.18.1",
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
"integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
"dev": true,
"dependencies": {
"eventemitter3": "^4.0.0",
"follow-redirects": "^1.0.0",
"requires-port": "^1.0.0"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/http-server": {
"version": "14.1.1",
"resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz",
"integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==",
"dev": true,
"dependencies": {
"basic-auth": "^2.0.1",
"chalk": "^4.1.2",
"corser": "^2.0.1",
"he": "^1.2.0",
"html-encoding-sniffer": "^3.0.0",
"http-proxy": "^1.18.1",
"mime": "^1.6.0",
"minimist": "^1.2.6",
"opener": "^1.5.1",
"portfinder": "^1.0.28",
"secure-compare": "3.0.1",
"union": "~0.5.0",
"url-join": "^4.0.1"
},
"bin": {
"http-server": "bin/http-server"
},
"engines": {
"node": ">=12"
}
},
"node_modules/iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"dev": true,
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"node_modules/mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true,
"bin": {
"mime": "cli.js"
},
"engines": {
"node": ">=4"
}
},
"node_modules/minimist": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
"integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/mkdirp": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
"dev": true,
"dependencies": {
"minimist": "^1.2.6"
},
"bin": {
"mkdirp": "bin/cmd.js"
}
},
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
"node_modules/object-inspect": {
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
"integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/opener": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
"integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
"dev": true,
"bin": {
"opener": "bin/opener-bin.js"
}
},
"node_modules/portfinder": {
"version": "1.0.32",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz",
"integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==",
"dev": true,
"dependencies": {
"async": "^2.6.4",
"debug": "^3.2.7",
"mkdirp": "^0.5.6"
},
"engines": {
"node": ">= 0.12.0"
}
},
"node_modules/qs": {
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dev": true,
"dependencies": {
"side-channel": "^1.0.4"
},
"engines": {
"node": ">=0.6"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
"dev": true
},
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
"node_modules/secure-compare": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz",
"integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==",
"dev": true
},
"node_modules/side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.0",
"get-intrinsic": "^1.0.2",
"object-inspect": "^1.9.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"dependencies": {
"has-flag": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/union": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz",
"integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==",
"dev": true,
"dependencies": {
"qs": "^6.4.0"
},
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/url-join": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz",
"integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==",
"dev": true
},
"node_modules/whatwg-encoding": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
"integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
"dev": true,
"dependencies": {
"iconv-lite": "0.6.3"
},
"engines": {
"node": ">=12"
}
}
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"async": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
"integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
"dev": true,
"requires": {
"lodash": "^4.17.14"
}
},
"basic-auth": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
"integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
"dev": true,
"requires": {
"safe-buffer": "5.1.2"
}
},
"call-bind": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"dev": true,
"requires": {
"function-bind": "^1.1.1",
"get-intrinsic": "^1.0.2"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"corser": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz",
"integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==",
"dev": true
},
"debug": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
},
"eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
"dev": true
},
"follow-redirects": {
"version": "1.15.2",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
"dev": true
},
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
"get-intrinsic": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
"integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
"dev": true,
"requires": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.3"
}
},
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"requires": {
"function-bind": "^1.1.1"
}
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
"dev": true
},
"he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true
},
"html-encoding-sniffer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
"integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
"dev": true,
"requires": {
"whatwg-encoding": "^2.0.0"
}
},
"http-proxy": {
"version": "1.18.1",
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
"integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
"dev": true,
"requires": {
"eventemitter3": "^4.0.0",
"follow-redirects": "^1.0.0",
"requires-port": "^1.0.0"
}
},
"http-server": {
"version": "14.1.1",
"resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz",
"integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==",
"dev": true,
"requires": {
"basic-auth": "^2.0.1",
"chalk": "^4.1.2",
"corser": "^2.0.1",
"he": "^1.2.0",
"html-encoding-sniffer": "^3.0.0",
"http-proxy": "^1.18.1",
"mime": "^1.6.0",
"minimist": "^1.2.6",
"opener": "^1.5.1",
"portfinder": "^1.0.28",
"secure-compare": "3.0.1",
"union": "~0.5.0",
"url-join": "^4.0.1"
}
},
"iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
}
},
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true
},
"minimist": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
"integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
"dev": true
},
"mkdirp": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
"dev": true,
"requires": {
"minimist": "^1.2.6"
}
},
"ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
"object-inspect": {
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
"integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
"dev": true
},
"opener": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
"integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
"dev": true
},
"portfinder": {
"version": "1.0.32",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz",
"integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==",
"dev": true,
"requires": {
"async": "^2.6.4",
"debug": "^3.2.7",
"mkdirp": "^0.5.6"
}
},
"qs": {
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dev": true,
"requires": {
"side-channel": "^1.0.4"
}
},
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
"dev": true
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
"secure-compare": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz",
"integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==",
"dev": true
},
"side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
"dev": true,
"requires": {
"call-bind": "^1.0.0",
"get-intrinsic": "^1.0.2",
"object-inspect": "^1.9.0"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
}
},
"union": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz",
"integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==",
"dev": true,
"requires": {
"qs": "^6.4.0"
}
},
"url-join": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz",
"integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==",
"dev": true
},
"whatwg-encoding": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
"integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
"dev": true,
"requires": {
"iconv-lite": "0.6.3"
}
}
}
}

12
LabWork_02/package.json Normal file
View File

@ -0,0 +1,12 @@
{
"name": "int-prog",
"version": "1.0.0",
"main": "index.html",
"scripts": {
"start": "http-server -p 3000",
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"http-server": "14.1.1"
}
}