@andreyshpigunov/x 0.5.0 → 0.5.1

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.
@@ -12,47 +12,51 @@ All right reserved.
12
12
  .icon[10-60] step 2 (m,l) - icon size in px
13
13
  */
14
14
 
15
- .icon,
16
- .icon > svg,
17
- .icon > img {
18
- display: inline-block;
19
- width: 1em;
20
- height: 1em;
21
- max-width: none;
22
- max-height: none;
23
- }
24
- .icon > svg,
25
- .icon > img {
26
- display: block;
27
- }
28
-
29
- @for $i from 10 to 60 by 2 {
30
- .icon$(i),
31
- .icon$(i) > svg,
32
- .icon$(i) > img {
33
- width: calc($(i)rem / 10);
34
- height: calc($(i)rem / 10);
15
+ @layer icons {
16
+
17
+ .icon,
18
+ .icon > svg,
19
+ .icon > img {
20
+ display: inline-block;
21
+ width: 1em;
22
+ height: 1em;
23
+ max-width: none;
24
+ max-height: none;
35
25
  }
36
- }
37
-
38
- @media (min-width: 768px) {
26
+ .icon > svg,
27
+ .icon > img {
28
+ display: block;
29
+ }
30
+
39
31
  @for $i from 10 to 60 by 2 {
40
- .m\:icon$(i),
41
- .m\:icon$(i) > svg,
42
- .m\:icon$(i) > img {
32
+ .icon$(i),
33
+ .icon$(i) > svg,
34
+ .icon$(i) > img {
43
35
  width: calc($(i)rem / 10);
44
36
  height: calc($(i)rem / 10);
45
37
  }
46
38
  }
47
- }
48
-
49
- @media (min-width: 1024px) {
50
- @for $i from 10 to 60 by 2 {
51
- .l\:icon$(i),
52
- .l\:icon$(i) > svg,
53
- .l\:icon$(i) > img {
54
- width: calc($(i)rem / 10);
55
- height: calc($(i)rem / 10);
39
+
40
+ @media (min-width: 768px) {
41
+ @for $i from 10 to 60 by 2 {
42
+ .m\:icon$(i),
43
+ .m\:icon$(i) > svg,
44
+ .m\:icon$(i) > img {
45
+ width: calc($(i)rem / 10);
46
+ height: calc($(i)rem / 10);
47
+ }
56
48
  }
57
49
  }
50
+
51
+ @media (min-width: 1024px) {
52
+ @for $i from 10 to 60 by 2 {
53
+ .l\:icon$(i),
54
+ .l\:icon$(i) > svg,
55
+ .l\:icon$(i) > img {
56
+ width: calc($(i)rem / 10);
57
+ height: calc($(i)rem / 10);
58
+ }
59
+ }
60
+ }
61
+
58
62
  }
@@ -41,70 +41,74 @@ All right reserved.
41
41
  */
42
42
  }
43
43
 
44
- a {
44
+ @layer links {
45
45
 
46
- &[role=button] {
47
- cursor: pointer;
48
- }
49
- &:link,
50
- &.link {
51
- outline: none;
52
- cursor: pointer;
53
- color: var(--link-color);
54
- transition: var(--link-transition, all .1s ease-out);
46
+ a {
55
47
 
56
- text-decoration-line: var(--link-decoration-line);
57
- text-decoration-style: var(--link-decoration-style);
58
- text-decoration-color: var(--link-decoration-color, color-mix(in srgb, currentcolor, transparent 75%));
59
- text-decoration-thickness: clamp(1px, var(--link-decoration-thickness, .06em), 10px);
60
- text-underline-offset: var(--link-underline-offset, .25em);
61
- }
62
- &:visited {
63
- color: var(--link-color-visited, var(--link-color));
64
- text-decoration-color: var(--link-decoration-color-visited, currentcolor);
65
- }
66
- @media (any-hover: hover) {
67
- &:hover,
68
- &.hover {
48
+ &[role=button] {
49
+ cursor: pointer;
50
+ }
51
+ &:link,
52
+ &.link {
53
+ outline: none;
54
+ cursor: pointer;
55
+ color: var(--link-color);
56
+ transition: var(--link-transition, all .1s ease-out);
57
+
58
+ text-decoration-line: var(--link-decoration-line);
59
+ text-decoration-style: var(--link-decoration-style);
60
+ text-decoration-color: var(--link-decoration-color, color-mix(in srgb, currentcolor, transparent 75%));
61
+ text-decoration-thickness: clamp(1px, var(--link-decoration-thickness, .06em), 10px);
62
+ text-underline-offset: var(--link-underline-offset, .25em);
63
+ }
64
+ &:visited {
65
+ color: var(--link-color-visited, var(--link-color));
66
+ text-decoration-color: var(--link-decoration-color-visited, currentcolor);
67
+ }
68
+ @media (any-hover: hover) {
69
+ &:hover,
70
+ &.hover {
71
+ color: var(--link-color-hover, var(--link-color));
72
+ text-decoration-line: var(--link-decoration-line-hover, var(--link-decoration-line));
73
+ text-decoration-style: var(--link-decoration-style-hover, var(--link-decoration-style));
74
+ text-decoration-color: var(--link-decoration-color-hover, currentcolor);
75
+ }
76
+ }
77
+ &:active,
78
+ &.active {
69
79
  color: var(--link-color-hover, var(--link-color));
70
80
  text-decoration-line: var(--link-decoration-line-hover, var(--link-decoration-line));
71
81
  text-decoration-style: var(--link-decoration-style-hover, var(--link-decoration-style));
72
82
  text-decoration-color: var(--link-decoration-color-hover, currentcolor);
73
83
  }
74
- }
75
- &:active,
76
- &.active {
77
- color: var(--link-color-hover, var(--link-color));
78
- text-decoration-line: var(--link-decoration-line-hover, var(--link-decoration-line));
79
- text-decoration-style: var(--link-decoration-style-hover, var(--link-decoration-style));
80
- text-decoration-color: var(--link-decoration-color-hover, currentcolor);
84
+
85
+ /* Link predefined styles */
86
+
87
+ &.link_noline {
88
+ --link-decoration-line: none;
89
+ }
90
+ &.link_underline {
91
+ --link-decoration-line: underline;
92
+ }
93
+ &.link_dashed {
94
+ --link-decoration-style: dashed;
95
+ }
96
+ &.link_dotted {
97
+ --link-decoration-style: dotted;
98
+ }
99
+ &.link_wavy {
100
+ --link-decoration-style: wavy;
101
+ }
81
102
  }
82
103
 
83
- /* Link predefined styles */
84
104
 
85
- &.link_noline {
86
- --link-decoration-line: none;
87
- }
88
- &.link_underline {
89
- --link-decoration-line: underline;
90
- }
91
- &.link_dashed {
92
- --link-decoration-style: dashed;
93
- }
94
- &.link_dotted {
95
- --link-decoration-style: dotted;
96
- }
97
- &.link_wavy {
98
- --link-decoration-style: wavy;
105
+ /* Remove underline from phones */
106
+
107
+ a[href^="tel"],
108
+ a[href^="tel"]:hover,
109
+ a[href^="tel"]:active {
110
+ color: inherit;
111
+ text-decoration: inherit;
99
112
  }
100
- }
101
-
102
-
103
- /* Remove underline from phones */
104
113
 
105
- a[href^="tel"],
106
- a[href^="tel"]:hover,
107
- a[href^="tel"]:active {
108
- color: inherit;
109
- text-decoration: inherit;
110
114
  }
@@ -28,241 +28,245 @@ All right reserved.
28
28
  --modal-overlay-background-color: #00000066;
29
29
  }
30
30
 
31
- html.modal--active body {
32
- overflow: hidden;
33
- }
34
-
35
- /* !- Modal window content */
36
- [x-modal] {
37
- display: none;
38
- }
39
-
40
- /* !- Modal wrapper */
41
- .modal {
42
- position: fixed;
43
- z-index: -10000;
44
- top: 0;
45
- bottom: 0;
46
- left: 0;
47
- right: 0;
48
- padding: 0;
49
- pointer-events: none;
50
- display: none;
51
- }
52
- .modal_ready {
53
- z-index: 10000;
54
- pointer-events: all;
55
- display: block;
56
- }
57
- .modal_z1 { z-index: 10001 }
58
- .modal_z2 { z-index: 10002 }
59
- .modal_z3 { z-index: 10003 }
60
- .modal_z4 { z-index: 10004 }
61
- .modal_z5 { z-index: 10005 }
62
- .modal_z6 { z-index: 10006 }
63
- .modal_z7 { z-index: 10007 }
64
- .modal_z8 { z-index: 10008 }
65
- .modal_z9 { z-index: 10009 }
66
- .modal_z10 { z-index: 10010 }
67
-
68
- /* !- Overlay */
69
- .modal-overlay {
70
- position: absolute;
71
- z-index: 10010;
72
- top: 0;
73
- bottom: 0;
74
- left: 0;
75
- right: 0;
76
- background-color: var(--modal-overlay-background-color);
77
- }
78
-
79
- /* ! -Main structure */
80
- .modal-outer {
81
- position: relative;
82
- z-index: 10020;
83
- width: 100%;
84
- height: 100%;
85
- padding-top: var(--modal-margin-top);
86
- padding-bottom: var(--modal-margin-bottom);
87
- padding-left: var(--modal-margin-left);
88
- padding-right: var(--modal-margin-right);
89
- overflow: auto;
90
- overscroll-behavior: contain;
91
- -webkit-overflow-scrolling: touch;
92
- }
93
- .modal-inner {
94
- display: flex;
95
- flex-direction: column;
96
- min-height: 100%;
97
- }
31
+ @layer modal {
98
32
 
99
- /* !- Modal window */
100
- .modal-window {
101
- position: relative;
102
- z-index: 10030;
103
- width: 100%;
104
- max-width: 80rem;
105
- margin: auto;
106
- padding-top: var(--modal-padding-top);
107
- padding-bottom: var(--modal-padding-bottom);
108
- padding-left: var(--modal-padding-left);
109
- padding-right: var(--modal-padding-right);
110
- text-align: left;
111
- background: var(--modal-background);
112
- box-shadow: var(--modal-box-shadow);
113
- border-radius: var(--modal-border-radius);
114
- }
115
-
116
- /* !- Close cross */
117
- .modal-rail {
118
- position: absolute;
119
- top: var(--modal-closer-margin);
120
- bottom: var(--modal-closer-margin);
121
- right: var(--modal-closer-margin);
122
- width: 0;
33
+ html.modal_active body {
34
+ overflow: hidden;
35
+ }
36
+
37
+ /* !- Modal window content */
38
+ [x-modal] {
39
+ display: none;
40
+ }
123
41
 
124
- .modal-close {
42
+ /* !- Modal wrapper */
43
+ .modal {
44
+ position: fixed;
45
+ z-index: -10000;
46
+ top: 0;
47
+ bottom: 0;
48
+ left: 0;
49
+ right: 0;
50
+ padding: 0;
51
+ pointer-events: none;
52
+ display: none;
53
+ }
54
+ .modal_ready {
55
+ z-index: 10000;
56
+ pointer-events: all;
125
57
  display: block;
126
- position: sticky;
127
- z-index: 10040;
128
- top: calc(var(--modal-closer-margin) - var(--modal-margin-top));
58
+ }
59
+ .modal_z1 { z-index: 10001 }
60
+ .modal_z2 { z-index: 10002 }
61
+ .modal_z3 { z-index: 10003 }
62
+ .modal_z4 { z-index: 10004 }
63
+ .modal_z5 { z-index: 10005 }
64
+ .modal_z6 { z-index: 10006 }
65
+ .modal_z7 { z-index: 10007 }
66
+ .modal_z8 { z-index: 10008 }
67
+ .modal_z9 { z-index: 10009 }
68
+ .modal_z10 { z-index: 10010 }
69
+
70
+ /* !- Overlay */
71
+ .modal-overlay {
72
+ position: absolute;
73
+ z-index: 10010;
74
+ top: 0;
75
+ bottom: 0;
76
+ left: 0;
77
+ right: 0;
78
+ background-color: var(--modal-overlay-background-color);
79
+ }
80
+
81
+ /* ! -Main structure */
82
+ .modal-outer {
83
+ position: relative;
84
+ z-index: 10020;
85
+ width: 100%;
86
+ height: 100%;
87
+ padding-top: var(--modal-margin-top);
88
+ padding-bottom: var(--modal-margin-bottom);
89
+ padding-left: var(--modal-margin-left);
90
+ padding-right: var(--modal-margin-right);
91
+ overflow: auto;
92
+ overscroll-behavior: contain;
93
+ -webkit-overflow-scrolling: touch;
94
+ }
95
+ .modal-inner {
96
+ display: flex;
97
+ flex-direction: column;
98
+ min-height: 100%;
99
+ }
100
+
101
+ /* !- Modal window */
102
+ .modal-window {
103
+ position: relative;
104
+ z-index: 10030;
105
+ width: 100%;
106
+ max-width: 80rem;
107
+ margin: auto;
108
+ padding-top: var(--modal-padding-top);
109
+ padding-bottom: var(--modal-padding-bottom);
110
+ padding-left: var(--modal-padding-left);
111
+ padding-right: var(--modal-padding-right);
112
+ text-align: left;
129
113
  background: var(--modal-background);
130
- width: var(--modal-closer-area);
131
- height: var(--modal-closer-area);
132
- margin-left: calc(-1 * var(--modal-closer-area));
133
- font-weight: 200;
134
- border: none;
114
+ box-shadow: var(--modal-box-shadow);
135
115
  border-radius: var(--modal-border-radius);
116
+ }
117
+
118
+ /* !- Close cross */
119
+ .modal-rail {
120
+ position: absolute;
121
+ top: var(--modal-closer-margin);
122
+ bottom: var(--modal-closer-margin);
123
+ right: var(--modal-closer-margin);
124
+ width: 0;
136
125
 
137
- will-change: opacity;
138
- opacity: 0;
139
- transition: opacity .15s ease-out;
140
-
141
- &:before,
142
- &:after {
143
- content: "";
126
+ .modal-close {
144
127
  display: block;
145
- position: absolute;
146
- top: calc(var(--modal-closer-area) / 2 - var(--modal-closer-width) / 2);
147
- left: calc((var(--modal-closer-area) - var(--modal-closer-size)) / 2);
148
- width: var(--modal-closer-size);
149
- height: var(--modal-closer-width);
128
+ position: sticky;
129
+ z-index: 10040;
130
+ top: calc(var(--modal-closer-margin) - var(--modal-margin-top));
131
+ background: var(--modal-background);
132
+ width: var(--modal-closer-area);
133
+ height: var(--modal-closer-area);
134
+ margin-left: calc(-1 * var(--modal-closer-area));
135
+ font-weight: 200;
136
+ border: none;
137
+ border-radius: var(--modal-border-radius);
150
138
 
151
- will-change: color;
152
- background: var(--modal-closer-color);
153
- transition: background .15s ease-out;
154
- transform-origin: center;
155
- }
156
- &:before {
157
- transform: rotate(-45deg);
158
- }
159
- &:after {
160
- transform: rotate(45deg);
139
+ will-change: opacity;
140
+ opacity: 0;
141
+ transition: opacity .15s ease-out;
142
+
143
+ &:before,
144
+ &:after {
145
+ content: "";
146
+ display: block;
147
+ position: absolute;
148
+ top: calc(var(--modal-closer-area) / 2 - var(--modal-closer-width) / 2);
149
+ left: calc((var(--modal-closer-area) - var(--modal-closer-size)) / 2);
150
+ width: var(--modal-closer-size);
151
+ height: var(--modal-closer-width);
152
+
153
+ will-change: color;
154
+ background: var(--modal-closer-color);
155
+ transition: background .15s ease-out;
156
+ transform-origin: center;
157
+ }
158
+ &:before {
159
+ transform: rotate(-45deg);
160
+ }
161
+ &:after {
162
+ transform: rotate(45deg);
163
+ }
161
164
  }
162
165
  }
163
- }
164
- .modal_active .modal-rail {
165
-
166
- .modal-close {
167
- opacity: 1;
166
+ .modal_active .modal-rail {
168
167
 
169
- @media (any-hover: hover) {
170
- &:hover:before,
171
- &:hover:after,
172
- &:active:before,
173
- &:active:after {
174
- background: var(--modal-closer-color-hover);
168
+ .modal-close {
169
+ opacity: 1;
170
+
171
+ @media (any-hover: hover) {
172
+ &:hover:before,
173
+ &:hover:after,
174
+ &:active:before,
175
+ &:active:after {
176
+ background: var(--modal-closer-color-hover);
177
+ }
175
178
  }
176
179
  }
177
180
  }
178
- }
179
-
180
- /*
181
- !- Effects
182
- https://github.com/codrops/ModalWindowEffects
183
- */
184
- .modal {
185
- & .modal-overlay {
186
- will-change: opacity;
187
- opacity: 0;
188
- transition: opacity .2s ease-out;
189
- }
190
- &.modal_active .modal-overlay {
191
- opacity: 1;
192
- }
193
- }
194
-
195
- /* !- Default */
196
- .modal {
197
- & .modal-window {
198
- will-change: visibility, opacity, transform;
199
- opacity: 0;
200
- transform: scale(.97);
201
- transform-origin: center top;
202
- transition: all .2s ease-out;
203
- }
204
- &.modal_active .modal-window {
205
- transform: scale(1);
206
- opacity: 1;
207
- }
208
- }
209
-
210
- /* !- Zoom in */
211
- .modal_effect-in {
212
- & .modal-window {
213
- transform: scale(.9);
214
- }
215
- &.modal_active .modal-window {
216
- transform: scale(1);
217
- }
218
- }
219
-
220
- /* !- Zoom out */
221
- .modal_effect-out {
222
- & .modal-window {
223
- transform: scale(1.1);
181
+
182
+ /*
183
+ !- Effects
184
+ https://github.com/codrops/ModalWindowEffects
185
+ */
186
+ .modal {
187
+ & .modal-overlay {
188
+ will-change: opacity;
189
+ opacity: 0;
190
+ transition: opacity .2s ease-out;
191
+ }
192
+ &.modal_active .modal-overlay {
193
+ opacity: 1;
194
+ }
224
195
  }
225
- &.modal_active .modal-window {
226
- transform: scale(1);
196
+
197
+ /* !- Default */
198
+ .modal {
199
+ & .modal-window {
200
+ will-change: visibility, opacity, transform;
201
+ opacity: 0;
202
+ transform: scale(.97);
203
+ transform-origin: center top;
204
+ transition: all .2s ease-out;
205
+ }
206
+ &.modal_active .modal-window {
207
+ transform: scale(1);
208
+ opacity: 1;
209
+ }
227
210
  }
228
- }
229
-
230
- /* !- Slide up */
231
- .modal_effect-up {
232
- & .modal-window {
233
- transform: translateY(30px);
211
+
212
+ /* !- Zoom in */
213
+ .modal_effect-in {
214
+ & .modal-window {
215
+ transform: scale(.9);
216
+ }
217
+ &.modal_active .modal-window {
218
+ transform: scale(1);
219
+ }
234
220
  }
235
- &.modal_active .modal-window {
236
- transform: translateY(0);
221
+
222
+ /* !- Zoom out */
223
+ .modal_effect-out {
224
+ & .modal-window {
225
+ transform: scale(1.1);
226
+ }
227
+ &.modal_active .modal-window {
228
+ transform: scale(1);
229
+ }
237
230
  }
238
- }
239
-
240
- /* !- Slide down */
241
- .modal_effect-down {
242
- & .modal-window {
243
- transform: translateY(-30px);
231
+
232
+ /* !- Slide up */
233
+ .modal_effect-up {
234
+ & .modal-window {
235
+ transform: translateY(30px);
236
+ }
237
+ &.modal_active .modal-window {
238
+ transform: translateY(0);
239
+ }
244
240
  }
245
- &.modal_active .modal-window {
246
- transform: translateY(0);
241
+
242
+ /* !- Slide down */
243
+ .modal_effect-down {
244
+ & .modal-window {
245
+ transform: translateY(-30px);
246
+ }
247
+ &.modal_active .modal-window {
248
+ transform: translateY(0);
249
+ }
247
250
  }
248
- }
249
-
250
- /* !- Slide from left */
251
- .modal_effect-left {
252
- & .modal-window {
253
- transform: translateX(-30px);
251
+
252
+ /* !- Slide from left */
253
+ .modal_effect-left {
254
+ & .modal-window {
255
+ transform: translateX(-30px);
256
+ }
257
+ &.modal_active .modal-window {
258
+ transform: translateX(0);
259
+ }
254
260
  }
255
- &.modal_active .modal-window {
256
- transform: translateX(0);
261
+
262
+ /* !- Slide from right */
263
+ .modal_effect-right {
264
+ & .modal-window {
265
+ transform: translateX(30px);
266
+ }
267
+ &.modal_active .modal-window {
268
+ transform: translateX(0);
269
+ }
257
270
  }
258
- }
259
271
 
260
- /* !- Slide from right */
261
- .modal_effect-right {
262
- & .modal-window {
263
- transform: translateX(30px);
264
- }
265
- &.modal_active .modal-window {
266
- transform: translateX(0);
267
- }
268
272
  }