triafly-ui-kit 1.0.43 → 1.0.47
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/README.md +93 -93
- package/dist/_virtual/index2.js +2 -5
- package/dist/assets/src/components/Ui/Skeleton/Skeleton.module.css +1 -1
- package/dist/assets/src/components/Ui/Table/Table.css +1 -1
- package/dist/assets/src/components/Ui/Table/TableSkeletonRow/TableSkeletonRow.css +1 -0
- package/dist/assets/src/components/Ui/Tooltip/Tooltip.stories.module.css +1 -1
- package/dist/components/Ui/ButtonsArray/ButtonsArray.js +15 -16
- package/dist/components/Ui/ButtonsArray/ButtonsArray.stories.js +8 -8
- package/dist/components/Ui/Icons/Icons.js +32 -24
- package/dist/components/Ui/Icons/index.js +69 -67
- package/dist/components/Ui/ModalWindow/ModalWindow.stories.js +89 -0
- package/dist/components/Ui/Table/MemoizedRow/MemoizedRow.js +30 -31
- package/dist/components/Ui/Table/Table.js +149 -112
- package/dist/components/Ui/Table/TableSkeletonRow/TableSkeletonRow.js +11 -0
- package/dist/main.d.ts +27 -4
- package/dist/main.js +105 -103
- package/dist/node_modules/classnames/index.js +1 -1
- package/dist/src/components/Ui/Skeleton/Skeleton.module.scss.js +5 -5
- package/dist/src/components/Ui/Tooltip/Tooltip.stories.module.css.js +1 -1
- package/package.json +112 -112
- package/src/styles/_mixins.scss +21 -21
- package/src/styles/fix.scss +3 -3
- package/src/styles/main.scss +26 -26
- package/src/styles/reset.scss +105 -105
- package/src/styles/typography.scss +106 -106
- package/src/styles/variables.scss +277 -277
- package/dist/_virtual/index3.js +0 -4
- package/dist/node_modules/fast-deep-equal/index.js +0 -31
- package/dist/styles/_mixins.scss +0 -22
- package/dist/styles/fix.scss +0 -4
- package/dist/styles/main.scss +0 -27
- package/dist/styles/reset.scss +0 -106
- package/dist/styles/typography.scss +0 -106
- package/dist/styles/variables.scss +0 -277
package/src/styles/_mixins.scss
CHANGED
@@ -1,22 +1,22 @@
|
|
1
|
-
@mixin wrapper($bg-color: var(--color-bg-island-default), $padding: 20px 24px 20px 24px) {
|
2
|
-
background-color: $bg-color;
|
3
|
-
padding: $padding;
|
4
|
-
border-radius: 16px;
|
5
|
-
}
|
6
|
-
|
7
|
-
@mixin outlinedColorScheme ($borderColor, $textColor) { //NOTE: дублирование стилей UI-кита изза модулей?
|
8
|
-
background-color: transparent !important;
|
9
|
-
border: 1px solid $borderColor;
|
10
|
-
color: $textColor;
|
11
|
-
&[disabled] {
|
12
|
-
pointer-events: none;
|
13
|
-
}
|
14
|
-
&:hover {
|
15
|
-
background-color: transparent;
|
16
|
-
box-shadow: inset 0 0 0 1px $borderColor;
|
17
|
-
}
|
18
|
-
|
19
|
-
svg * {
|
20
|
-
fill: $textColor;
|
21
|
-
}
|
1
|
+
@mixin wrapper($bg-color: var(--color-bg-island-default), $padding: 20px 24px 20px 24px) {
|
2
|
+
background-color: $bg-color;
|
3
|
+
padding: $padding;
|
4
|
+
border-radius: 16px;
|
5
|
+
}
|
6
|
+
|
7
|
+
@mixin outlinedColorScheme ($borderColor, $textColor) { //NOTE: дублирование стилей UI-кита изза модулей?
|
8
|
+
background-color: transparent !important;
|
9
|
+
border: 1px solid $borderColor;
|
10
|
+
color: $textColor;
|
11
|
+
&[disabled] {
|
12
|
+
pointer-events: none;
|
13
|
+
}
|
14
|
+
&:hover {
|
15
|
+
background-color: transparent;
|
16
|
+
box-shadow: inset 0 0 0 1px $borderColor;
|
17
|
+
}
|
18
|
+
|
19
|
+
svg * {
|
20
|
+
fill: $textColor;
|
21
|
+
}
|
22
22
|
}
|
package/src/styles/fix.scss
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
// Скрываем браузерный крестик в полях поиска
|
2
|
-
input[type="search"]::-webkit-search-cancel-button {
|
3
|
-
display: none;
|
1
|
+
// Скрываем браузерный крестик в полях поиска
|
2
|
+
input[type="search"]::-webkit-search-cancel-button {
|
3
|
+
display: none;
|
4
4
|
}
|
package/src/styles/main.scss
CHANGED
@@ -1,27 +1,27 @@
|
|
1
|
-
@import "./reset.scss";
|
2
|
-
@import "./variables.scss";
|
3
|
-
@import "./fix.scss";
|
4
|
-
@import './_mixins.scss';
|
5
|
-
@import './typography.scss';
|
6
|
-
|
7
|
-
// Пока не трогать, тестовая подсветка блоков
|
8
|
-
// html {
|
9
|
-
// border: 4px solid red;
|
10
|
-
// padding: 1px;
|
11
|
-
// }
|
12
|
-
|
13
|
-
// body {
|
14
|
-
// border: 2px dashed;
|
15
|
-
// margin: 1px;
|
16
|
-
// }
|
17
|
-
|
18
|
-
// div {
|
19
|
-
// border: 1px dotted;
|
20
|
-
// margin: 1px;
|
21
|
-
// }
|
22
|
-
|
23
|
-
|
24
|
-
//layout.module.scss не позволяет дочерним компонентам наследовать стили почему то. Сделать нормальный
|
25
|
-
.page-content {
|
26
|
-
border-radius: 16px;
|
1
|
+
@import "./reset.scss";
|
2
|
+
@import "./variables.scss";
|
3
|
+
@import "./fix.scss";
|
4
|
+
@import './_mixins.scss';
|
5
|
+
@import './typography.scss';
|
6
|
+
|
7
|
+
// Пока не трогать, тестовая подсветка блоков
|
8
|
+
// html {
|
9
|
+
// border: 4px solid red;
|
10
|
+
// padding: 1px;
|
11
|
+
// }
|
12
|
+
|
13
|
+
// body {
|
14
|
+
// border: 2px dashed;
|
15
|
+
// margin: 1px;
|
16
|
+
// }
|
17
|
+
|
18
|
+
// div {
|
19
|
+
// border: 1px dotted;
|
20
|
+
// margin: 1px;
|
21
|
+
// }
|
22
|
+
|
23
|
+
|
24
|
+
//layout.module.scss не позволяет дочерним компонентам наследовать стили почему то. Сделать нормальный
|
25
|
+
.page-content {
|
26
|
+
border-radius: 16px;
|
27
27
|
}
|
package/src/styles/reset.scss
CHANGED
@@ -1,106 +1,106 @@
|
|
1
|
-
* {
|
2
|
-
margin: 0;
|
3
|
-
padding: 0;
|
4
|
-
border: 0;
|
5
|
-
|
6
|
-
/*color: #1a2026;*/
|
7
|
-
}
|
8
|
-
|
9
|
-
*,
|
10
|
-
*::before,
|
11
|
-
*::after {
|
12
|
-
-moz-box-sizing: border-box;
|
13
|
-
-webkit-box-sizing: border-box;
|
14
|
-
box-sizing: border-box;
|
15
|
-
}
|
16
|
-
|
17
|
-
:focus,
|
18
|
-
:active {
|
19
|
-
outline: none;
|
20
|
-
}
|
21
|
-
|
22
|
-
nav,
|
23
|
-
footer,
|
24
|
-
header,
|
25
|
-
aside {
|
26
|
-
display: block;
|
27
|
-
}
|
28
|
-
|
29
|
-
html,
|
30
|
-
body {
|
31
|
-
width: 100%;
|
32
|
-
height: 100%;
|
33
|
-
|
34
|
-
font-size: 100%;
|
35
|
-
font-size: 14px;
|
36
|
-
line-height: 1;
|
37
|
-
-ms-text-size-adjust: 100%;
|
38
|
-
-moz-text-size-adjust: 100%;
|
39
|
-
-webkit-text-size-adjust: 100%;
|
40
|
-
}
|
41
|
-
|
42
|
-
input,
|
43
|
-
button,
|
44
|
-
textarea {
|
45
|
-
font-family: inherit;
|
46
|
-
}
|
47
|
-
|
48
|
-
input::-ms-clear {
|
49
|
-
display: none;
|
50
|
-
}
|
51
|
-
|
52
|
-
button {
|
53
|
-
cursor: pointer;
|
54
|
-
}
|
55
|
-
|
56
|
-
button::-moz-focus-inner {
|
57
|
-
padding: 0;
|
58
|
-
|
59
|
-
border: 0;
|
60
|
-
}
|
61
|
-
|
62
|
-
a,
|
63
|
-
a:visited {
|
64
|
-
text-decoration: none;
|
65
|
-
}
|
66
|
-
|
67
|
-
a:focus,
|
68
|
-
a:active {
|
69
|
-
outline: none;
|
70
|
-
}
|
71
|
-
|
72
|
-
a:hover {
|
73
|
-
text-decoration: none;
|
74
|
-
}
|
75
|
-
|
76
|
-
ul li {
|
77
|
-
list-style: none;
|
78
|
-
}
|
79
|
-
|
80
|
-
img {
|
81
|
-
vertical-align: top;
|
82
|
-
}
|
83
|
-
|
84
|
-
h1,
|
85
|
-
h2,
|
86
|
-
h3,
|
87
|
-
h4,
|
88
|
-
h5,
|
89
|
-
h6 {
|
90
|
-
font-size: inherit;
|
91
|
-
font-weight: 400;
|
92
|
-
}
|
93
|
-
|
94
|
-
#root {
|
95
|
-
background-color: var(--color-bg-island-default);
|
96
|
-
}
|
97
|
-
|
98
|
-
.page-wrapper {
|
99
|
-
width: 100%;
|
100
|
-
max-width: 1920px;
|
101
|
-
min-height: 100vh;
|
102
|
-
margin: 0 auto;
|
103
|
-
display: flex;
|
104
|
-
flex-direction: column;
|
105
|
-
background-color: var(--color-bg-island-default);
|
1
|
+
* {
|
2
|
+
margin: 0;
|
3
|
+
padding: 0;
|
4
|
+
border: 0;
|
5
|
+
|
6
|
+
/*color: #1a2026;*/
|
7
|
+
}
|
8
|
+
|
9
|
+
*,
|
10
|
+
*::before,
|
11
|
+
*::after {
|
12
|
+
-moz-box-sizing: border-box;
|
13
|
+
-webkit-box-sizing: border-box;
|
14
|
+
box-sizing: border-box;
|
15
|
+
}
|
16
|
+
|
17
|
+
:focus,
|
18
|
+
:active {
|
19
|
+
outline: none;
|
20
|
+
}
|
21
|
+
|
22
|
+
nav,
|
23
|
+
footer,
|
24
|
+
header,
|
25
|
+
aside {
|
26
|
+
display: block;
|
27
|
+
}
|
28
|
+
|
29
|
+
html,
|
30
|
+
body {
|
31
|
+
width: 100%;
|
32
|
+
height: 100%;
|
33
|
+
|
34
|
+
font-size: 100%;
|
35
|
+
font-size: 14px;
|
36
|
+
line-height: 1;
|
37
|
+
-ms-text-size-adjust: 100%;
|
38
|
+
-moz-text-size-adjust: 100%;
|
39
|
+
-webkit-text-size-adjust: 100%;
|
40
|
+
}
|
41
|
+
|
42
|
+
input,
|
43
|
+
button,
|
44
|
+
textarea {
|
45
|
+
font-family: inherit;
|
46
|
+
}
|
47
|
+
|
48
|
+
input::-ms-clear {
|
49
|
+
display: none;
|
50
|
+
}
|
51
|
+
|
52
|
+
button {
|
53
|
+
cursor: pointer;
|
54
|
+
}
|
55
|
+
|
56
|
+
button::-moz-focus-inner {
|
57
|
+
padding: 0;
|
58
|
+
|
59
|
+
border: 0;
|
60
|
+
}
|
61
|
+
|
62
|
+
a,
|
63
|
+
a:visited {
|
64
|
+
text-decoration: none;
|
65
|
+
}
|
66
|
+
|
67
|
+
a:focus,
|
68
|
+
a:active {
|
69
|
+
outline: none;
|
70
|
+
}
|
71
|
+
|
72
|
+
a:hover {
|
73
|
+
text-decoration: none;
|
74
|
+
}
|
75
|
+
|
76
|
+
ul li {
|
77
|
+
list-style: none;
|
78
|
+
}
|
79
|
+
|
80
|
+
img {
|
81
|
+
vertical-align: top;
|
82
|
+
}
|
83
|
+
|
84
|
+
h1,
|
85
|
+
h2,
|
86
|
+
h3,
|
87
|
+
h4,
|
88
|
+
h5,
|
89
|
+
h6 {
|
90
|
+
font-size: inherit;
|
91
|
+
font-weight: 400;
|
92
|
+
}
|
93
|
+
|
94
|
+
#root {
|
95
|
+
background-color: var(--color-bg-island-default);
|
96
|
+
}
|
97
|
+
|
98
|
+
.page-wrapper {
|
99
|
+
width: 100%;
|
100
|
+
max-width: 1920px;
|
101
|
+
min-height: 100vh;
|
102
|
+
margin: 0 auto;
|
103
|
+
display: flex;
|
104
|
+
flex-direction: column;
|
105
|
+
background-color: var(--color-bg-island-default);
|
106
106
|
}
|
@@ -1,106 +1,106 @@
|
|
1
|
-
$font-path: '../assets/fonts' !default; // Для работы внутри Storybook
|
2
|
-
// Переопределяется в основном проекте через:
|
3
|
-
// $font-path: '~triafly-ui-kit/assets/fonts';
|
4
|
-
|
5
|
-
//Подключение шрифтов
|
6
|
-
@font-face {
|
7
|
-
font-family: "Roboto Slab";
|
8
|
-
src: url("#{$font-path}/RobotoSlab-SemiBold.ttf") format("truetype");
|
9
|
-
font-weight: 600;
|
10
|
-
}
|
11
|
-
|
12
|
-
@font-face {
|
13
|
-
font-family: "Manrope";
|
14
|
-
src: url("#{$font-path}/Manrope-Regular.ttf") format("truetype");
|
15
|
-
font-weight: 400;
|
16
|
-
}
|
17
|
-
|
18
|
-
@font-face {
|
19
|
-
font-family: "Manrope";
|
20
|
-
src: url("#{$font-path}/Manrope-Semibold.ttf") format("truetype");
|
21
|
-
font-weight: 600;
|
22
|
-
}
|
23
|
-
|
24
|
-
@font-face {
|
25
|
-
font-family: "Manrope";
|
26
|
-
src: url("#{$font-path}/Manrope-Bold.ttf") format("truetype");
|
27
|
-
font-weight: 700;
|
28
|
-
}
|
29
|
-
|
30
|
-
@font-face {
|
31
|
-
font-family: "Fira Code";
|
32
|
-
src: url("#{$font-path}/FiraCode-Regular.ttf") format("truetype");
|
33
|
-
font-weight: 400;
|
34
|
-
}
|
35
|
-
|
36
|
-
//Глобальные свойства шрифтов
|
37
|
-
* {
|
38
|
-
font-family: "Manrope", sans-serif;
|
39
|
-
font-size: 14px;
|
40
|
-
line-height: 1.2em;
|
41
|
-
letter-spacing: 0.02em;
|
42
|
-
font-weight: 400;
|
43
|
-
color: var(--color-text-primary-default);
|
44
|
-
}
|
45
|
-
|
46
|
-
//Заголовки
|
47
|
-
|
48
|
-
//NOTE:
|
49
|
-
//по макетам у нас 8 уровней заголовков, JSX понимает только шесть.
|
50
|
-
//AI: Использовать уровни заголовков начиная с h1 в контексте страницы,
|
51
|
-
//как это принято общей практикой вёрстки,
|
52
|
-
//а для указания размеров и начертания использовать миксин.
|
53
|
-
//В противном случае основными хедерами будут h4-h8 + варнинги JSX
|
54
|
-
|
55
|
-
//Дефолтные значения font-size и font-weight = 14 и 400
|
56
|
-
//При необходимости кастомизации текста в компоненте импортируется данные миксины
|
57
|
-
//с указанием необходимых значений согласно макету
|
58
|
-
//TODO: подготовить переменные для стандартизаии размеров
|
59
|
-
|
60
|
-
//Акцидентная гарнитура для заголовков
|
61
|
-
@mixin accidental($size, $margin) {
|
62
|
-
font-family: "Roboto Slab", sans-serif;
|
63
|
-
font-size: $size;
|
64
|
-
margin: 0 0 $margin 0;
|
65
|
-
}
|
66
|
-
|
67
|
-
//Гротескная гарнитура для заголовков и регулярного текста
|
68
|
-
@mixin grotesque($size, $weight) {
|
69
|
-
font-size: $size;
|
70
|
-
font-weight: $weight;
|
71
|
-
}
|
72
|
-
|
73
|
-
//сброс дефолтных отступов в заголовках
|
74
|
-
@for $i from 1 through 6 {
|
75
|
-
h#{$i} {
|
76
|
-
margin: 0;
|
77
|
-
}
|
78
|
-
}
|
79
|
-
|
80
|
-
//Ссылки
|
81
|
-
a {
|
82
|
-
color: var(--color-text-brand-default);
|
83
|
-
text-decoration: none;
|
84
|
-
&:hover {
|
85
|
-
color: var(--color-text-brand-hover);
|
86
|
-
}
|
87
|
-
&[href=""] {
|
88
|
-
//стили неактивной ссылки
|
89
|
-
opacity: 40%;
|
90
|
-
cursor: default;
|
91
|
-
pointer-events: none;
|
92
|
-
//не совсем понятно зачем она нам
|
93
|
-
//+ линтер неадекватно реагирует на пустой href
|
94
|
-
//добавить .disabled с JS-логикой?
|
95
|
-
}
|
96
|
-
}
|
97
|
-
|
98
|
-
//Параграфы
|
99
|
-
|
100
|
-
//TODO: недостаточно кейсов в моках, запросить для уточнения
|
101
|
-
p {
|
102
|
-
// font-size: 12px;
|
103
|
-
&:not(:last-child) {
|
104
|
-
margin: 0 0 8px 0;
|
105
|
-
}
|
106
|
-
}
|
1
|
+
$font-path: '../assets/fonts' !default; // Для работы внутри Storybook
|
2
|
+
// Переопределяется в основном проекте через:
|
3
|
+
// $font-path: '~triafly-ui-kit/assets/fonts';
|
4
|
+
|
5
|
+
//Подключение шрифтов
|
6
|
+
@font-face {
|
7
|
+
font-family: "Roboto Slab";
|
8
|
+
src: url("#{$font-path}/RobotoSlab-SemiBold.ttf") format("truetype");
|
9
|
+
font-weight: 600;
|
10
|
+
}
|
11
|
+
|
12
|
+
@font-face {
|
13
|
+
font-family: "Manrope";
|
14
|
+
src: url("#{$font-path}/Manrope-Regular.ttf") format("truetype");
|
15
|
+
font-weight: 400;
|
16
|
+
}
|
17
|
+
|
18
|
+
@font-face {
|
19
|
+
font-family: "Manrope";
|
20
|
+
src: url("#{$font-path}/Manrope-Semibold.ttf") format("truetype");
|
21
|
+
font-weight: 600;
|
22
|
+
}
|
23
|
+
|
24
|
+
@font-face {
|
25
|
+
font-family: "Manrope";
|
26
|
+
src: url("#{$font-path}/Manrope-Bold.ttf") format("truetype");
|
27
|
+
font-weight: 700;
|
28
|
+
}
|
29
|
+
|
30
|
+
@font-face {
|
31
|
+
font-family: "Fira Code";
|
32
|
+
src: url("#{$font-path}/FiraCode-Regular.ttf") format("truetype");
|
33
|
+
font-weight: 400;
|
34
|
+
}
|
35
|
+
|
36
|
+
//Глобальные свойства шрифтов
|
37
|
+
* {
|
38
|
+
font-family: "Manrope", sans-serif;
|
39
|
+
font-size: 14px;
|
40
|
+
line-height: 1.2em;
|
41
|
+
letter-spacing: 0.02em;
|
42
|
+
font-weight: 400;
|
43
|
+
color: var(--color-text-primary-default);
|
44
|
+
}
|
45
|
+
|
46
|
+
//Заголовки
|
47
|
+
|
48
|
+
//NOTE:
|
49
|
+
//по макетам у нас 8 уровней заголовков, JSX понимает только шесть.
|
50
|
+
//AI: Использовать уровни заголовков начиная с h1 в контексте страницы,
|
51
|
+
//как это принято общей практикой вёрстки,
|
52
|
+
//а для указания размеров и начертания использовать миксин.
|
53
|
+
//В противном случае основными хедерами будут h4-h8 + варнинги JSX
|
54
|
+
|
55
|
+
//Дефолтные значения font-size и font-weight = 14 и 400
|
56
|
+
//При необходимости кастомизации текста в компоненте импортируется данные миксины
|
57
|
+
//с указанием необходимых значений согласно макету
|
58
|
+
//TODO: подготовить переменные для стандартизаии размеров
|
59
|
+
|
60
|
+
//Акцидентная гарнитура для заголовков
|
61
|
+
@mixin accidental($size, $margin) {
|
62
|
+
font-family: "Roboto Slab", sans-serif;
|
63
|
+
font-size: $size;
|
64
|
+
margin: 0 0 $margin 0;
|
65
|
+
}
|
66
|
+
|
67
|
+
//Гротескная гарнитура для заголовков и регулярного текста
|
68
|
+
@mixin grotesque($size, $weight) {
|
69
|
+
font-size: $size;
|
70
|
+
font-weight: $weight;
|
71
|
+
}
|
72
|
+
|
73
|
+
//сброс дефолтных отступов в заголовках
|
74
|
+
@for $i from 1 through 6 {
|
75
|
+
h#{$i} {
|
76
|
+
margin: 0;
|
77
|
+
}
|
78
|
+
}
|
79
|
+
|
80
|
+
//Ссылки
|
81
|
+
a {
|
82
|
+
color: var(--color-text-brand-default);
|
83
|
+
text-decoration: none;
|
84
|
+
&:hover {
|
85
|
+
color: var(--color-text-brand-hover);
|
86
|
+
}
|
87
|
+
&[href=""] {
|
88
|
+
//стили неактивной ссылки
|
89
|
+
opacity: 40%;
|
90
|
+
cursor: default;
|
91
|
+
pointer-events: none;
|
92
|
+
//не совсем понятно зачем она нам
|
93
|
+
//+ линтер неадекватно реагирует на пустой href
|
94
|
+
//добавить .disabled с JS-логикой?
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
//Параграфы
|
99
|
+
|
100
|
+
//TODO: недостаточно кейсов в моках, запросить для уточнения
|
101
|
+
p {
|
102
|
+
// font-size: 12px;
|
103
|
+
&:not(:last-child) {
|
104
|
+
margin: 0 0 8px 0;
|
105
|
+
}
|
106
|
+
}
|