benivo-ui-library 1.2.5

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.
@@ -0,0 +1,182 @@
1
+ @nav-text-font-size: 14px;
2
+
3
+ @sub-nav-width: 267px;
4
+ @sub-nav-bg-color: #ffffff;
5
+ @sub-nav-box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.06);
6
+ @sub-nav-color: #94979b;
7
+ @sub-nav-color-hover: #4f5a65;
8
+
9
+ @sub-sub-nav-bg-color: #f7f9fa;
10
+ @sub-sub-nav-box-shadow: 0 1px 4px 0 rgba(79, 90, 101, 0.1);
11
+ @sub-sub-nav-color: #94979b;
12
+
13
+
14
+ .nav-menu {
15
+ margin-right: auto;
16
+
17
+ ul {
18
+ margin: 0;
19
+
20
+ a {
21
+ font-size: @nav-text-font-size;
22
+
23
+ &:hover {
24
+ text-decoration: none;
25
+ }
26
+ }
27
+ }
28
+
29
+ .nav {
30
+ @media @lg {
31
+ display: flex;
32
+ flex-wrap: nowrap;
33
+ }
34
+
35
+ & > li {
36
+ display: block;
37
+ margin-bottom: @spacer * 1.5;
38
+
39
+ @media @lg {
40
+ display: flex;
41
+ height: @header-height;
42
+ white-space: nowrap;
43
+ align-items: center;
44
+ position: relative;
45
+ margin: 0 @spacer * 0.75;
46
+ }
47
+
48
+ &.opened {
49
+ .sub-nav {
50
+ display: block;
51
+ }
52
+ }
53
+
54
+ &:hover, a:hover {
55
+ .sub-nav {
56
+ display: block;
57
+ }
58
+ }
59
+
60
+ & > a {
61
+ color: @nav-color;
62
+ text-transform: @nav-text-transform;
63
+ font-family: @nav-font-family;
64
+ font-weight: @nav-font-weight;
65
+ font-style: @nav-font-style;
66
+ padding: 0.75rem;
67
+
68
+ @media @lg {
69
+ &:after {
70
+ content: ' ';
71
+ display: block;
72
+ width: 100%;
73
+ height: 4px;
74
+ background: transparent;
75
+ position: absolute;
76
+ bottom: 0;
77
+ left: 0;
78
+ }
79
+ }
80
+
81
+ &.active {
82
+ color: @nav-active-color;
83
+
84
+ @media @lg {
85
+ &:after {
86
+ background: @nav-active-brd-color;
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }
93
+
94
+ .sub-nav {
95
+ position: absolute;
96
+ left: 0;
97
+ top: 100%;
98
+ display: none;
99
+ width: @sub-nav-width;
100
+ padding-bottom: @spacer *0.75;
101
+ padding-top: @spacer *0.75;
102
+ background-color: @sub-nav-bg-color;
103
+ .border-radius(0 0 @border-radius @border-radius);
104
+ .box-shadow(@sub-nav-box-shadow);
105
+
106
+ li {
107
+ padding: 0.75rem 1.2rem 0.75rem 1.7rem;
108
+ position: relative;
109
+
110
+ &.opened {
111
+ &.has-sub-menu {
112
+ &:after {
113
+ color: @primary-color;
114
+ }
115
+ }
116
+
117
+ .sub-sub-nav {
118
+ display: block;
119
+ }
120
+ }
121
+
122
+ &:hover, a:hover {
123
+ &:after {
124
+ color: @primary-color;
125
+ }
126
+
127
+ .sub-sub-nav {
128
+ display: block;
129
+ }
130
+ }
131
+
132
+ a {
133
+ display: flex;
134
+ align-items: center;
135
+ color: @sub-nav-color;
136
+
137
+ .img-icon {
138
+ width: 18px;
139
+ margin-right: @spacer * 1.2;
140
+ }
141
+
142
+ &:hover {
143
+ color: @sub-nav-color-hover;
144
+ }
145
+ }
146
+
147
+ &.has-sub-menu {
148
+ & > a {
149
+ &:after {
150
+ font-family: icomoon;
151
+ content: '\e930';
152
+ display: block;
153
+ display: block;
154
+ font-size: 10px;
155
+ margin-left: auto;
156
+ }
157
+ }
158
+ }
159
+ }
160
+ }
161
+
162
+ .sub-sub-nav {
163
+ position: absolute;
164
+ display: none;
165
+ right: -@sub-nav-width;
166
+ top: 0;
167
+ background-color: @sub-sub-nav-bg-color;
168
+ width: @sub-nav-width;
169
+ padding-bottom: @spacer *1.5;
170
+ .border-radius(0 0 @border-radius @border-radius);
171
+ .box-shadow(@sub-sub-nav-box-shadow);
172
+
173
+
174
+ li {
175
+ padding: 1.5rem 1.2rem 0 1.7rem;
176
+
177
+ a {
178
+ color: @sub-sub-nav-color;
179
+ }
180
+ }
181
+ }
182
+ }
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "benivo-ui-library",
3
+ "version": "1.2.5",
4
+ "description": "Benivo UI library",
5
+ "main": "index.js",
6
+ "license": "MIT",
7
+ "readme": "README.md",
8
+ "keywords": [
9
+ "react",
10
+ "react-ui-lib",
11
+ "components",
12
+ "hooks"
13
+ ],
14
+ "scripts": {
15
+ "build": "rimraf lib && webpack --mode production --config webpack.config.js",
16
+ "start": "webpack-dev-server --open --hot --mode development --config webpack.config.dev.js"
17
+ },
18
+ "peerDependencies": {
19
+ "prop-types": "^15.7.2",
20
+ "react": "^17.0.1",
21
+ "react-dom": "^17.0.1"
22
+ },
23
+ "devDependencies": {
24
+ "babel-core": "^6.21.0",
25
+ "babel-loader": "^7.1.4",
26
+ "babel-preset-env": "^1.6.1",
27
+ "babel-preset-react": "^6.16.0",
28
+ "babel-preset-stage-0": "^6.24.1",
29
+ "copy-webpack-plugin": "^5.0.4",
30
+ "css-loader": "^5.2.4",
31
+ "file-loader": "^5.0.2",
32
+ "html-webpack-plugin": "^4.4.1",
33
+ "less": "^3.10.3",
34
+ "less-loader": "^5.0.0",
35
+ "mini-css-extract-plugin": "^0.8.0",
36
+ "path": "^0.12.7",
37
+ "prop-types": "^15.7.2",
38
+ "react": "^17.0.1",
39
+ "react-dom": "^17.0.1",
40
+ "style-loader": "^1.0.1",
41
+ "uglifyjs-webpack-plugin": "^2.2.0",
42
+ "url-loader": "^3.0.0",
43
+ "webpack": "^4.5.0",
44
+ "webpack-bundle-analyzer": "^4.4.0",
45
+ "webpack-cli": "^3.2.1",
46
+ "webpack-dev-server": "^3.9.0"
47
+ },
48
+ "dependencies": {
49
+ "lodash": "^4.17.21",
50
+ "npm": "^7.13.0",
51
+ "react-loading-skeleton": "^2.1.1",
52
+ "react-router-dom": "^5.2.0",
53
+ "react-select": "^4.3.1",
54
+ "rimraf": "^3.0.2",
55
+ "swiper": "4.3.3",
56
+ "terser-webpack-plugin": "^4.2.3"
57
+ }
58
+ }
@@ -0,0 +1,118 @@
1
+ //
2
+ // Radiobutton
3
+ //
4
+ .form-radio {
5
+ position: relative;
6
+ font-size: 1rem;
7
+ padding-left: 1.75rem;
8
+ margin-bottom: @spacer;
9
+ min-height: 1.5rem;
10
+ min-width: 1rem;
11
+
12
+ input {
13
+ display: none;
14
+
15
+ &:checked {
16
+ & + label:before {
17
+ background-color: @form-checkbox-active-color;
18
+ border-color: @form-checkbox-active-color;
19
+ }
20
+
21
+ & + label:after {
22
+ content: '';
23
+ display: inline-block;
24
+ position: absolute;
25
+ left: 0.25rem;
26
+ top: 0.5rem;
27
+ width: 0.5rem;
28
+ height: 0.5rem;
29
+ .border-radius(50%);
30
+ background: #ffffff;
31
+ }
32
+ }
33
+
34
+ &.field-invalid {
35
+ & + label:before {
36
+ border-color: red !important;
37
+ }
38
+
39
+ & + label {
40
+ color: @error-color;
41
+ border-color: @error-color;
42
+ }
43
+ }
44
+ }
45
+
46
+ label:before {
47
+ content: "";
48
+ position: absolute;
49
+ left: 0;
50
+ top: 0.25rem;
51
+ height: 1rem;
52
+ width: 1rem;
53
+ border: @form-checkbox-brd;
54
+ margin-right: .25px;
55
+ color: #ffffff;
56
+ display: flex;
57
+ justify-content: center;
58
+ align-items: center;
59
+ .border-radius(50%);
60
+ }
61
+
62
+ label:hover {
63
+ cursor: pointer;
64
+ }
65
+
66
+ &.form-radio-larg {
67
+ padding-left: 0;
68
+
69
+ .locked {
70
+ &:before {
71
+ font-size: 1.35rem;
72
+ top: 12px;
73
+ right: 1.35rem;
74
+ }
75
+ }
76
+
77
+ .info {
78
+ width: 22px;
79
+ height: 22px;
80
+ left: 100%;
81
+ transform: translate(-26px, -36px);
82
+
83
+ &:before {
84
+ font-size: 1.35rem;
85
+ }
86
+ }
87
+
88
+ input {
89
+
90
+ &:checked {
91
+ & + label {
92
+ border-color: @form-checkbox-active-color;
93
+ }
94
+
95
+ & + label:after {
96
+ display: none;
97
+ }
98
+ }
99
+ }
100
+
101
+ label {
102
+ display: block;
103
+ border: 1px solid rgba(0, 0, 0, 0.15);
104
+ padding: 14px 24px;
105
+ .border-radius(@border-radius);
106
+
107
+ &:before {
108
+ display: none;
109
+ }
110
+ }
111
+
112
+ &:hover {
113
+ label {
114
+ border-color: @form-checkbox-active-color;
115
+ }
116
+ }
117
+ }
118
+ }
package/select.less ADDED
@@ -0,0 +1,99 @@
1
+ //
2
+ //Select
3
+ //
4
+
5
+ .form-select {
6
+
7
+ .form-select__control {
8
+ background-image: none;
9
+ background-color: #fff;
10
+ min-height: inherit;
11
+ width: 100%;
12
+ padding: 0 0 0 1.25rem;
13
+ line-height: 1.5;
14
+ color: inherit;
15
+ font-style: normal;
16
+ font-family: @form-font-family;
17
+ font-weight: @form-font-weight;
18
+ font-size: @form-font-size;
19
+ border: solid 1px @form-border-color;
20
+ .box-shadow(@form-box-shadow);
21
+ .border-radius(@form-border-radius);
22
+ }
23
+
24
+ .form-select__control:hover {
25
+ border-color: @form-border-color;
26
+ }
27
+
28
+ .form-select__control--is-focused,
29
+ .form-select__control--menu-is-open {
30
+ .box-shadow(@form-box-shadow);
31
+ }
32
+
33
+ .form-select__value-container {
34
+ padding: 0;
35
+ min-height: 34px;
36
+ }
37
+
38
+ .form-select__indicator-separator {
39
+ display: none;
40
+ }
41
+
42
+ .form-select__indicators {
43
+ margin: -2px 0;
44
+ }
45
+
46
+ .css-b8ldur-Input {
47
+ margin: 0;
48
+ }
49
+
50
+ .form-select__placeholder {
51
+ color: @form-placeholder-color;
52
+ margin: 0;
53
+ max-width: 100%;
54
+ overflow: hidden;
55
+ text-overflow: ellipsis;
56
+ white-space: nowrap;
57
+ }
58
+
59
+ .css-1g6gooi {
60
+ max-height: 20px;
61
+ }
62
+
63
+ .form-select__menu {
64
+ background: @form-select-option-bg;
65
+ z-index: 9;
66
+
67
+ .form-select__option {
68
+ color: @text-color;
69
+ overflow-x: hidden;
70
+ white-space: nowrap;
71
+ text-overflow: ellipsis;
72
+ cursor: pointer;
73
+ }
74
+
75
+ .form-select__option--is-focused {
76
+ background-color: @form-select-option-bg-hover;
77
+ }
78
+
79
+ .form-select__option--is-selected {
80
+ background-color: @form-select-option-bg-hover;
81
+ }
82
+
83
+ .form-select__option--is-focused.form-select__option--is-selected {
84
+ background-color: @form-select-option-bg-hover;
85
+ }
86
+
87
+ ::-webkit-scrollbar,
88
+ ::-webkit-scrollbar-track {
89
+ width: 2px;
90
+ background-color: @form-select-scrl-tick;
91
+ }
92
+
93
+ ::-webkit-scrollbar-thumb {
94
+ .border-radius(@form-border-radius);
95
+ background-color: @custom-scrollbar-thumb-color;
96
+ max-height: 20px;
97
+ }
98
+ }
99
+ }
package/spinner.less ADDED
@@ -0,0 +1,51 @@
1
+ .bn-spinner-overlay {
2
+ position: relative;
3
+ display: flex;
4
+ justify-content: center;
5
+ align-items: center;
6
+ width: 100%;
7
+ height: 100%;
8
+ background: rgba(0,0,0,0.4);
9
+
10
+ &.bn-spinner-overlay-transparent {
11
+ background: transparent;
12
+ }
13
+ }
14
+
15
+ .bn-spinner {
16
+ display: inline-block;
17
+ position: relative;
18
+
19
+ div {
20
+ display: block;
21
+ position: absolute;
22
+ border: 8px solid #fff;
23
+ .border-radius(50%);
24
+ .animation(bn-spinner 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite);
25
+ border-color: #fff transparent transparent transparent;
26
+
27
+ &:nth-child(1) {
28
+ animation-delay: -0.45s;
29
+ }
30
+
31
+ &:nth-child(2) {
32
+ animation-delay: -0.3s;
33
+ }
34
+
35
+ &:nth-child(3) {
36
+ animation-delay: -0.15s;
37
+ }
38
+ }
39
+ }
40
+
41
+ .keyframes(bn-spinner; {
42
+ 0% {
43
+ transform: rotate(0deg);
44
+ }
45
+
46
+ 100% {
47
+ transform: rotate(360deg);
48
+ }
49
+ }
50
+
51
+ );
@@ -0,0 +1,9 @@
1
+ /* a11y */
2
+ .swiper-container .swiper-notification {
3
+ position: absolute;
4
+ left: 0;
5
+ top: 0;
6
+ pointer-events: none;
7
+ opacity: 0;
8
+ z-index: -1000;
9
+ }
@@ -0,0 +1,50 @@
1
+ .swiper-container-cube {
2
+ overflow: visible;
3
+ .swiper-slide {
4
+ pointer-events: none;
5
+ backface-visibility: hidden;
6
+ z-index: 1;
7
+ visibility: hidden;
8
+ transform-origin: 0 0;
9
+ width: 100%;
10
+ height: 100%;
11
+ .swiper-slide {
12
+ pointer-events: none;
13
+ }
14
+ }
15
+ &.swiper-container-rtl .swiper-slide {
16
+ transform-origin: 100% 0;
17
+ }
18
+ .swiper-slide-active {
19
+ &,
20
+ & .swiper-slide-active {
21
+ pointer-events: auto;
22
+ }
23
+ }
24
+ .swiper-slide-active,
25
+ .swiper-slide-next,
26
+ .swiper-slide-prev,
27
+ .swiper-slide-next + .swiper-slide {
28
+ pointer-events: auto;
29
+ visibility: visible;
30
+ }
31
+ .swiper-slide-shadow-top,
32
+ .swiper-slide-shadow-bottom,
33
+ .swiper-slide-shadow-left,
34
+ .swiper-slide-shadow-right {
35
+ z-index: 0;
36
+ backface-visibility: hidden;
37
+ }
38
+ .swiper-cube-shadow {
39
+ position: absolute;
40
+ left: 0;
41
+ bottom: 0px;
42
+ width: 100%;
43
+ height: 100%;
44
+ background: #000;
45
+ opacity: 0.6;
46
+ -webkit-filter: blur(50px);
47
+ filter: blur(50px);
48
+ z-index: 0;
49
+ }
50
+ }
@@ -0,0 +1,24 @@
1
+ .swiper-container-fade {
2
+ &.swiper-container-free-mode {
3
+ .swiper-slide {
4
+ transition-timing-function: ease-out;
5
+ }
6
+ }
7
+
8
+ .swiper-slide {
9
+ pointer-events: none;
10
+ transition-property: opacity;
11
+
12
+ .swiper-slide {
13
+ pointer-events: none;
14
+ }
15
+ }
16
+
17
+ .swiper-slide-active {
18
+
19
+ &,
20
+ & .swiper-slide-active {
21
+ pointer-events: auto;
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,29 @@
1
+ .swiper-container-flip {
2
+ overflow: visible;
3
+
4
+ .swiper-slide {
5
+ pointer-events: none;
6
+ backface-visibility: hidden;
7
+ z-index: 1;
8
+
9
+ .swiper-slide {
10
+ pointer-events: none;
11
+ }
12
+ }
13
+
14
+ .swiper-slide-active {
15
+
16
+ &,
17
+ & .swiper-slide-active {
18
+ pointer-events: auto;
19
+ }
20
+ }
21
+
22
+ .swiper-slide-shadow-top,
23
+ .swiper-slide-shadow-bottom,
24
+ .swiper-slide-shadow-left,
25
+ .swiper-slide-shadow-right {
26
+ z-index: 0;
27
+ backface-visibility: hidden;
28
+ }
29
+ }
@@ -0,0 +1,34 @@
1
+ /* Preloader */
2
+ :root {
3
+ /*
4
+ --swiper-preloader-color: var(--swiper-theme-color);
5
+ */
6
+ }
7
+ .swiper-lazy-preloader {
8
+ width: 42px;
9
+ height: 42px;
10
+ position: absolute;
11
+ left: 50%;
12
+ top: 50%;
13
+ margin-left: -21px;
14
+ margin-top: -21px;
15
+ z-index: 10;
16
+ transform-origin: 50%;
17
+ animation: swiper-preloader-spin 1s infinite linear;
18
+ box-sizing: border-box;
19
+ border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
20
+ border-radius: 50%;
21
+ border-top-color: transparent;
22
+ }
23
+
24
+ .swiper-lazy-preloader-white {
25
+ --swiper-preloader-color: #fff;
26
+ }
27
+ .swiper-lazy-preloader-black {
28
+ --swiper-preloader-color: #000;
29
+ }
30
+ @keyframes swiper-preloader-spin {
31
+ 100% {
32
+ transform: rotate(360deg);
33
+ }
34
+ }