create-vanilla-js-with-css 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/index.js +29 -0
- package/package.json +28 -0
- package/template/index.html +13 -0
- package/template/jsconfig.json +7 -0
- package/template/package-lock.json +1661 -0
- package/template/package.json +14 -0
- package/template/public/icons/basketball-icon.svg +3 -0
- package/template/public/images/basketball-icon.svg +3 -0
- package/template/public/vite.svg +1 -0
- package/template/src/api/base.api.js +1 -0
- package/template/src/assets/favicons/basketball-icon.svg +3 -0
- package/template/src/assets/fonts/Montserrat-Bold.woff2 +0 -0
- package/template/src/assets/icons/basketball-icon.svg +3 -0
- package/template/src/assets/images/basketball-icon.svg +3 -0
- package/template/src/components/Button.css +3 -0
- package/template/src/constants/htmlElements.js +1 -0
- package/template/src/layouts/Footer.css +0 -0
- package/template/src/layouts/Header.css +0 -0
- package/template/src/layouts/Main.css +0 -0
- package/template/src/layouts/Section.css +0 -0
- package/template/src/main.js +5 -0
- package/template/src/modules/Tabs.js +3 -0
- package/template/src/sections/About-us.css +0 -0
- package/template/src/services/getUser.js +9 -0
- package/template/src/styles/fonts.css +4 -0
- package/template/src/styles/globals.css +0 -0
- package/template/src/styles/index.js +1 -0
- package/template/src/styles/normalize.css +210 -0
- package/template/src/styles/style.css +13 -0
- package/template/src/styles/variables.css +0 -0
- package/template/src/utils/render.js +3 -0
- package/template/vite.config.js +13 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "my-start-template-vite-vanilla-js-tailwind",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "0.0.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "vite",
|
|
8
|
+
"build": "vite build",
|
|
9
|
+
"preview": "vite preview"
|
|
10
|
+
},
|
|
11
|
+
"devDependencies": {
|
|
12
|
+
"vite": "7.1.7"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const api = 'sdfsdfsdf'
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const buttonElement = document.querySelector('[data-js-button]')
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './style.css'
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Нормализация блочной модели
|
|
3
|
+
*/
|
|
4
|
+
*,
|
|
5
|
+
::before,
|
|
6
|
+
::after {
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
Убираем внутренние отступы слева тегам списков,
|
|
12
|
+
у которых есть атрибут class
|
|
13
|
+
*/
|
|
14
|
+
:where(ul, ol):where([class]) {
|
|
15
|
+
padding-left: 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
Убираем внешние отступы body и двум другим тегам,
|
|
20
|
+
у которых есть атрибут class
|
|
21
|
+
*/
|
|
22
|
+
body,
|
|
23
|
+
:where(blockquote, figure, fieldset):where([class]) {
|
|
24
|
+
margin: 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
Убираем внешние отступы вертикали нужным тегам,
|
|
29
|
+
у которых есть атрибут class
|
|
30
|
+
*/
|
|
31
|
+
:where(
|
|
32
|
+
h1,
|
|
33
|
+
h2,
|
|
34
|
+
h3,
|
|
35
|
+
h4,
|
|
36
|
+
h5,
|
|
37
|
+
h6,
|
|
38
|
+
p,
|
|
39
|
+
ul,
|
|
40
|
+
ol,
|
|
41
|
+
dl
|
|
42
|
+
):where([class]) {
|
|
43
|
+
margin-block: 0;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
:where(dd[class]) {
|
|
47
|
+
margin-left: 0;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
:where(fieldset[class]) {
|
|
51
|
+
padding: 0;
|
|
52
|
+
border: none;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
Убираем стандартный маркер маркированному списку,
|
|
57
|
+
у которого есть атрибут class
|
|
58
|
+
*/
|
|
59
|
+
:where(ul[class]) {
|
|
60
|
+
list-style: none;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
:where(address[class]) {
|
|
64
|
+
font-style: normal;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
Обнуляем вертикальные внешние отступы параграфа,
|
|
69
|
+
объявляем локальную переменную для внешнего отступа вниз,
|
|
70
|
+
чтобы избежать взаимодействие с более сложным селектором
|
|
71
|
+
*/
|
|
72
|
+
p {
|
|
73
|
+
--paragraphMarginBottom: 24px;
|
|
74
|
+
|
|
75
|
+
margin-block: 0;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
Внешний отступ вниз для параграфа без атрибута class,
|
|
80
|
+
который расположен не последним среди своих соседних элементов
|
|
81
|
+
*/
|
|
82
|
+
p:where(:not([class]):not(:last-child)) {
|
|
83
|
+
margin-bottom: var(--paragraphMarginBottom);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
Упрощаем работу с изображениями и видео
|
|
89
|
+
*/
|
|
90
|
+
img,
|
|
91
|
+
video {
|
|
92
|
+
display: block;
|
|
93
|
+
max-width: 100%;
|
|
94
|
+
height: auto;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
Наследуем свойства шрифт для полей ввода
|
|
99
|
+
*/
|
|
100
|
+
input,
|
|
101
|
+
textarea,
|
|
102
|
+
select,
|
|
103
|
+
button {
|
|
104
|
+
font: inherit;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
html {
|
|
108
|
+
/**
|
|
109
|
+
Пригодится в большинстве ситуаций
|
|
110
|
+
(когда, например, нужно будет "прижать" футер к низу сайта)
|
|
111
|
+
*/
|
|
112
|
+
height: 100%;
|
|
113
|
+
/**
|
|
114
|
+
Убираем скачок интерфейса по горизонтали
|
|
115
|
+
при появлении / исчезновении скроллбара
|
|
116
|
+
*/
|
|
117
|
+
scrollbar-gutter: stable;
|
|
118
|
+
/**
|
|
119
|
+
Плавный скролл
|
|
120
|
+
*/
|
|
121
|
+
scroll-behavior: smooth;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
body {
|
|
125
|
+
/**
|
|
126
|
+
Пригодится в большинстве ситуаций
|
|
127
|
+
(когда, например, нужно будет "прижать" футер к низу сайта)
|
|
128
|
+
*/
|
|
129
|
+
min-height: 100%;
|
|
130
|
+
/**
|
|
131
|
+
Унифицированный интерлиньяж
|
|
132
|
+
*/
|
|
133
|
+
line-height: 1.5;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
Нормализация высоты элемента ссылки при его инспектировании в DevTools
|
|
138
|
+
*/
|
|
139
|
+
a:where([class]) {
|
|
140
|
+
display: inline-flex;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
Курсор-рука при наведении на элемент
|
|
145
|
+
*/
|
|
146
|
+
button,
|
|
147
|
+
label {
|
|
148
|
+
cursor: pointer;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
Убирает серую подсветку при тапе на мобильных устройствах (iOS/Android)
|
|
153
|
+
*/
|
|
154
|
+
button {
|
|
155
|
+
-webkit-tap-highlight-color: transparent;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
Приводим к единому цвету svg-элементы
|
|
160
|
+
(за исключением тех, у которых уже указан
|
|
161
|
+
атрибут fill со значением 'none' или начинается с 'url')
|
|
162
|
+
*/
|
|
163
|
+
:where([fill]:not(
|
|
164
|
+
[fill="none"],
|
|
165
|
+
[fill^="url"]
|
|
166
|
+
)) {
|
|
167
|
+
fill: currentColor;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
Приводим к единому цвету svg-элементы
|
|
172
|
+
(за исключением тех, у которых уже указан
|
|
173
|
+
атрибут stroke со значением 'none')
|
|
174
|
+
*/
|
|
175
|
+
:where([stroke]:not(
|
|
176
|
+
[stroke="none"],
|
|
177
|
+
[stroke^="url"]
|
|
178
|
+
)) {
|
|
179
|
+
stroke: currentColor;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
Чиним баг задержки смены цвета при взаимодействии с svg-элементами
|
|
184
|
+
*/
|
|
185
|
+
svg * {
|
|
186
|
+
transition-property: fill, stroke;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
Приведение рамок таблиц в классический 'collapse' вид
|
|
191
|
+
*/
|
|
192
|
+
:where(table) {
|
|
193
|
+
border-collapse: collapse;
|
|
194
|
+
border-color: currentColor;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
Удаляем все анимации и переходы для людей,
|
|
199
|
+
которые предпочитают их не использовать
|
|
200
|
+
*/
|
|
201
|
+
@media (prefers-reduced-motion: reduce) {
|
|
202
|
+
*,
|
|
203
|
+
::before,
|
|
204
|
+
::after {
|
|
205
|
+
animation-duration: 0.01ms !important;
|
|
206
|
+
animation-iteration-count: 1 !important;
|
|
207
|
+
transition-duration: 0.01ms !important;
|
|
208
|
+
scroll-behavior: auto !important;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
@import './normalize.css';
|
|
2
|
+
@import './fonts.css';
|
|
3
|
+
@import './globals.css';
|
|
4
|
+
@import './variables.css';
|
|
5
|
+
|
|
6
|
+
@import '@/layouts/Header.css';
|
|
7
|
+
@import '@/layouts/Main.css';
|
|
8
|
+
@import '@/layouts/Section.css';
|
|
9
|
+
@import '@/layouts/Footer.css';
|
|
10
|
+
|
|
11
|
+
@import '@/sections/About-us.css';
|
|
12
|
+
|
|
13
|
+
@import '@/components/Button.css';
|
|
File without changes
|