@solcre-org/core-ui 2.11.42 → 2.12.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.
@@ -0,0 +1,236 @@
1
+ /* ******************************************** */
2
+ /** COMPONENT: IMAGE CAROUSEL
3
+ /* ******************************************** */
4
+
5
+
6
+ .c-img-carousel {
7
+ --_br: 10px;
8
+ --_controls-size: var(--controls-size,2rem);
9
+ --_controls-color: var(--color-neutral-100);
10
+ --_controls-bg-hsl: var(--color-neutral-900-hsl);
11
+ --_controls-bottom: 2rem;
12
+ --_controls-offset-x: var(--controls-offset,1rem);
13
+ --_nav-color-hsl: var(--color-neutral-100-hsl);
14
+
15
+ position: relative;
16
+ }
17
+
18
+ .c-img-carousel__viewport{
19
+ position: relative;
20
+ overflow: hidden;
21
+ border-radius: var(--_br);
22
+ background: var(--color-neutral-200);
23
+ touch-action: pan-y;
24
+ user-select: none;
25
+ -webkit-user-drag: none;
26
+ }
27
+
28
+ .c-img-carousel[data-per-view]{
29
+ border-radius: 0;
30
+ }
31
+
32
+ .c-img-carousel[data-per-view] .c-img-carousel__slide{
33
+ padding-inline: calc(var(--items-gap)/2);
34
+ }
35
+ .c-img-carousel[data-per-view] .c-img-carousel__slide-inner{
36
+ border-radius: var(--_br);
37
+ overflow: hidden;
38
+ }
39
+
40
+ .c-img-carousel__holder {
41
+ display: flex;
42
+ transition: transform 350ms ease;
43
+ will-change: transform;
44
+ }
45
+
46
+ .c-img-carousel[data-per-view] .c-img-carousel__holder{
47
+ margin-inline: calc(var(--items-gap)/-2);
48
+ }
49
+
50
+ .c-img-carousel__slide {
51
+ position: relative;
52
+ flex: 0 0 calc(100% / var(--per-view, 1));
53
+ }
54
+
55
+ .c-img-carousel__slide-inner::before{
56
+ content: "";
57
+ display: block;
58
+ height: 0;
59
+ padding-bottom: 56.25%;
60
+ }
61
+
62
+ .c-img-carousel__slide-inner{
63
+ position: relative;
64
+ width: 100%;
65
+ height: 100%;
66
+ }
67
+
68
+ .c-img-carousel__slide img {
69
+ position: absolute;
70
+ top: 0;
71
+ left: 0;
72
+ width: 100%;
73
+ height: 100%;
74
+ object-fit: cover;
75
+ }
76
+
77
+ .c-img-carousel__btn--prev {
78
+ left: var(--_controls-offset-x);
79
+ }
80
+ .c-img-carousel__btn--next {
81
+ right: var(--_controls-offset-x);
82
+ }
83
+
84
+ .c-img-carousel--arrows-out .c-img-carousel__btn--prev {
85
+ left: calc(var(--_controls-offset-x)*-1);
86
+ }
87
+
88
+ .c-img-carousel--arrows-out .c-img-carousel__btn--next {
89
+ right: calc(var(--_controls-offset-x)*-1);
90
+ }
91
+
92
+ .c-img-carousel__btn {
93
+ position: absolute;
94
+ top: 50%;
95
+ transform: translateY(-50%);
96
+ border: none;
97
+ background: hsl(var(--_controls-bg-hsl)/40%);
98
+ padding: calc(var(--_controls-size)/2);
99
+ border-radius: 50%;
100
+ color: var(--_controls-color);
101
+ font-size: var(--_controls-size);
102
+ cursor: pointer;
103
+ transition: opacity var(--trs-duration-400) ease-out, color var(--trs-duration-400) ease-out;
104
+ z-index: 1;
105
+ }
106
+
107
+ .c-img-carousel__btn:disabled {
108
+ opacity: .4;
109
+ transition: opacity var(--trs-duration-400) ease-out, color var(--trs-duration-400) ease-out;
110
+ }
111
+
112
+ .c-img-carousel__dots {
113
+ position: absolute;
114
+ display: flex;
115
+ gap: 1rem;
116
+ left: 50%;
117
+ bottom: var(--_controls-bottom);
118
+ transform: translateX(-50%);
119
+ z-index: 1;
120
+ }
121
+
122
+ .c-img-carousel__dot {
123
+ width: 15px;
124
+ height: 15px;
125
+ border-radius: 50%;
126
+ border: 0;
127
+ background: hsl(var(--_nav-color-hsl)/100%);
128
+ opacity: 60%;
129
+ cursor: pointer;
130
+ }
131
+ .c-img-carousel__dot[aria-current="true"] {
132
+ opacity: 1;
133
+ pointer-events: none;
134
+ }
135
+
136
+
137
+ /* ********************** MEDIA HOVER ********************** */
138
+
139
+ @media (hover: hover) {
140
+
141
+ .c-img-carousel__dot:not([aria-current="true"]):hover{
142
+ background-color: var(--color-hover);
143
+ }
144
+
145
+ .c-img-carousel__btn{
146
+ transition: background-color var(--trs-duration-400) ease-out;
147
+ }
148
+
149
+ .c-img-carousel__btn:hover{
150
+ background-color: hsl(var(--color-hover-hsl)/50%);
151
+ transition: background-color var(--trs-duration-400) ease-out;
152
+ }
153
+
154
+ }
155
+
156
+
157
+
158
+ /* ********************** SHORT MOBILE ********************** */
159
+
160
+ @media (max-width: 22.4375rem) { /* 359px */
161
+ }
162
+
163
+
164
+
165
+
166
+
167
+ /* ********************** TALL MOBILE PORTRAIT ********************** */
168
+
169
+ @media (max-width: 47.9375rem) and (min-height: 45.625rem) { /* 767px, 730px */
170
+ }
171
+
172
+
173
+
174
+
175
+
176
+ /* ********************** MOBILE LANDSCAPE ********************** */
177
+
178
+ @media (orientation: landscape) and (min-width: 31.25rem) and (max-width: 47.9375rem) { /* 500px, 767px */
179
+ }
180
+
181
+
182
+
183
+
184
+
185
+ /* ********************** de Mobile a TABLET ********************** */
186
+
187
+ @media (min-width: 48rem) { /* 768px */
188
+ }
189
+ @media (min-width: 48rem) and (orientation: portrait) {
190
+ }
191
+
192
+
193
+
194
+
195
+ /* ********************** de Tablet a DESKTOP ********************** */
196
+
197
+ @media (min-width: 61.25rem) { /* 980px */
198
+ }
199
+
200
+
201
+
202
+
203
+ /* ********************** de Desktop a DESKTOP 2 ********************** */
204
+
205
+ @media (min-width: 75rem) { /* 1200px */
206
+ }
207
+ @media (min-width: 75rem) and (min-height: 45rem) { /* 1200, 720 */
208
+ }
209
+
210
+
211
+
212
+
213
+ /* ********************** de Desktop 2 a HD ********************** */
214
+
215
+ @media (min-width: 87.5rem) { /* 1400px */
216
+ }
217
+ @media (min-width: 87.5rem) and (min-height: 49.375rem) { /* 1400px, 790px */
218
+ }
219
+
220
+
221
+
222
+
223
+ /* ********************** de Hd a FULL HD ********************** */
224
+
225
+ @media (min-width: 100rem) { /* 1600px */
226
+ }
227
+
228
+ @media (min-width: 100rem) and (min-height: 49.375rem) { /* 1600px, 790px */
229
+ }
230
+ @media (min-width: 100rem) and (min-height: 56.25rem) { /* 1600px, 900px */
231
+ }
232
+
233
+ @media (min-width: 112.5rem) { /* 1800px */
234
+ }
235
+ @media (min-width: 112.5rem) and (min-height: 56.25rem) { /* 1800px, 900px */
236
+ }
@@ -67,6 +67,7 @@
67
67
  /* ❌ */ @import url(inc/components/bottom-nav.css); /* !(test) */
68
68
  /* ⭐️ */ @import url(inc/components/calendar.css);
69
69
  /* ⭐️ */ @import url(inc/components/progressbar.css);
70
+ /* ✅ */ @import url(inc/components/image-carousel.css); /* !(new) */
70
71
 
71
72
 
72
73
  /* Utilities */