@rypen-dev/shared-components 7.0.4 → 7.0.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.
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@rypen-dev/shared-components",
3
3
  "description": "Shared styles and Vuejs ui components for Rypen projects. Starting with version 6, this package is built with Webpack 5 and Vue 3.",
4
- "version": "7.0.4",
4
+ "version": "7.0.5",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
7
7
  "build": "webpack --config ./webpack.config.js",
8
8
  "prepare": "webpack --config ./webpack.config.js"
9
9
  },
10
10
  "dependencies": {
11
- "@fortawesome/fontawesome-free": "6.7.1",
12
- "@rypen-dev/helpers": "1.0.24",
11
+ "@fortawesome/fontawesome-free": "6.7.2",
12
+ "@rypen-dev/helpers": "1.0.26",
13
13
  "foundation-sites": "6.9.0",
14
14
  "moment": "2.29.4"
15
15
  },
@@ -24,7 +24,8 @@
24
24
  "vue-template-compiler": "2.7.14",
25
25
  "webpack": "5.88.2",
26
26
  "webpack-cli": "5.1.4",
27
- "vue": "3.3.4"
27
+ "vue": "3.5.1",
28
+ "vue3-touch-events": "5.0.13"
28
29
  },
29
30
  "files": [
30
31
  "/src",
@@ -0,0 +1,283 @@
1
+ /// <reference path="../variables" />
2
+ /// <reference path="../../node_modules/@rypen-dev/shared-components/scss/variables" />
3
+ /// <reference path="../../node_modules/@rypen-dev/shared-components/scss/vendor/foundation-settings" />
4
+
5
+ .slideshow {
6
+ position: relative;
7
+ overflow: hidden;
8
+
9
+ .slideshow-wrapper {
10
+ .nav {
11
+ position: absolute;
12
+ top: 0;
13
+ bottom: 0;
14
+ width: 50px;
15
+
16
+ &::after {
17
+ content: '';
18
+ position: absolute;
19
+ top: 50%;
20
+ display: block;
21
+ width: 50px;
22
+ height: 50px;
23
+ background-repeat: no-repeat;
24
+ background-image: url('/assets/images/caret.svg');
25
+ background-size: 40px;
26
+ background-position: center;
27
+ }
28
+
29
+ &.prev {
30
+ left: 0;
31
+
32
+ &::after {
33
+ left: 0;
34
+ transform: translateY(-50%) rotate(90deg);
35
+ }
36
+ }
37
+
38
+ &.next {
39
+ right: 0;
40
+
41
+ &::after {
42
+ right: 0;
43
+ transform: translateY(-50%) rotate(-90deg);
44
+ }
45
+ }
46
+ }
47
+ }
48
+
49
+ .slide {
50
+ background-color: $light-gray;
51
+ background-repeat: no-repeat;
52
+ background-position: center;
53
+ background-size: contain;
54
+ position: absolute;
55
+ top: 0;
56
+ left: 0;
57
+ right: 0;
58
+ height: 0;
59
+ opacity: 0;
60
+ padding-bottom: 66.6667%;
61
+ transition: opacity 1s;
62
+
63
+ &.current {
64
+ position: relative;
65
+ opacity: 1;
66
+ }
67
+
68
+ @media print, screen and (min-width: map-get($breakpoints, medium)) {
69
+ padding-bottom: 53.4722%;
70
+ }
71
+ }
72
+
73
+ .slideshow-nav {
74
+ text-align: center;
75
+ margin-top: 10px;
76
+
77
+ a {
78
+ display: inline-block;
79
+ width: 8px;
80
+ height: 8px;
81
+ margin-right: 6px;
82
+ background-color: $medium-gray;
83
+ border-radius: 50%;
84
+ transition: background-color 150ms;
85
+
86
+ &.current,
87
+ &:hover {
88
+ background-color: $secondary-purple;
89
+ }
90
+
91
+ &:last-child {
92
+ margin-right: 0;
93
+ }
94
+ }
95
+
96
+ @media print, screen and (min-width: map-get($breakpoints, medium)) {
97
+ position: absolute;
98
+ bottom: 20px;
99
+ left: 0;
100
+ right: 0;
101
+ z-index: 2;
102
+ margin-top: 0;
103
+
104
+ a {
105
+ width: 10px;
106
+ height: 10px;
107
+ margin-right: 12px;
108
+ background-color: $white;
109
+ opacity: 0.5;
110
+ transition: opacity 150ms;
111
+
112
+ &.current,
113
+ &:hover {
114
+ background-color: $white;
115
+ opacity: 1;
116
+ }
117
+ }
118
+ }
119
+ }
120
+
121
+ &.small {
122
+ .slide {
123
+ background-color: transparent;
124
+ padding-bottom: 63.57%;
125
+ }
126
+
127
+ @media print, screen and (min-width: map-get($breakpoints, medium)) {
128
+ .slide {
129
+ }
130
+
131
+ .slideshow-nav {
132
+ bottom: 10px;
133
+ }
134
+
135
+ .slideshow-wrapper {
136
+ .nav::after {
137
+ display: none;
138
+ }
139
+ }
140
+ }
141
+ }
142
+ }
143
+
144
+ .feature-promo-slider {
145
+ .promo-card {
146
+ width: 100vw;
147
+ max-width: $true-max-width;
148
+ position: absolute;
149
+ top: 0;
150
+ left: 0;
151
+
152
+ h2 {
153
+ margin: 30px 0 20px;
154
+ }
155
+
156
+ img {
157
+ opacity: 0;
158
+ transition: opacity 500ms ease-in;
159
+ }
160
+
161
+ .content {
162
+ h2 {
163
+ position: relative;
164
+ opacity: 0;
165
+ }
166
+
167
+ a {
168
+ position: relative;
169
+ opacity: 0;
170
+ }
171
+ }
172
+
173
+ &.current {
174
+ position: relative;
175
+ z-index: 1;
176
+
177
+ img {
178
+ opacity: 1;
179
+ transition: opacity 500ms ease-out;
180
+ }
181
+
182
+ .content {
183
+ h2 {
184
+ left: 0;
185
+ opacity: 1;
186
+ transition: opacity 500ms ease-out, left 400ms ease-out;
187
+ }
188
+
189
+ a {
190
+ opacity: 1;
191
+ left: 0;
192
+ transition: opacity 500ms ease-out 200ms, left 400ms ease-out 200ms;
193
+ }
194
+ }
195
+ }
196
+ }
197
+
198
+ @media print, screen and (min-width: map-get($breakpoints, medium)) {
199
+ .promo-card {
200
+ .content {
201
+ padding-left: 30px;
202
+
203
+ h2 {
204
+ margin: 60px 0 30px;
205
+ left: 100px;
206
+ }
207
+
208
+ a {
209
+ left: 100px;
210
+ }
211
+ }
212
+ }
213
+ }
214
+
215
+ @media screen and (min-width: map-get($breakpoints, medium)) and (max-width: map-get($breakpoints, large) - 1px) {
216
+ .promo-card {
217
+ .content {
218
+ h2 {
219
+ font-size: 2rem;
220
+ line-height: 3rem;
221
+ }
222
+ }
223
+ }
224
+ }
225
+
226
+ @media print, screen and (min-width: map-get($breakpoints, large)) {
227
+ .promo-card {
228
+ .content {
229
+ padding-left: 60px;
230
+
231
+ h2 {
232
+ margin: 120px 0 60px;
233
+ }
234
+ }
235
+ }
236
+ }
237
+ }
238
+
239
+ .promo-nav {
240
+ margin-top: 20px;
241
+
242
+ a {
243
+ display: inline-block;
244
+ width: 8px;
245
+ height: 8px;
246
+ margin-right: 6px;
247
+ background-color: $medium-gray;
248
+ border-radius: 50%;
249
+ transition: background-color 150ms;
250
+
251
+ &.current,
252
+ &:hover {
253
+ background-color: $secondary-purple;
254
+ }
255
+ }
256
+
257
+ @media print, screen and (min-width: map-get($breakpoints, medium)) {
258
+ position: absolute;
259
+ top: 20px;
260
+ left: 0;
261
+ right: 0;
262
+ z-index: 2;
263
+ margin-top: 0;
264
+
265
+ .cell {
266
+ padding-left: 30px;
267
+ }
268
+
269
+ a {
270
+ width: 10px;
271
+ height: 10px;
272
+ margin-right: 8px;
273
+ }
274
+ }
275
+
276
+ @media print, screen and (min-width: map-get($breakpoints, large)) {
277
+ top: 40px;
278
+
279
+ .cell {
280
+ padding-left: 60px;
281
+ }
282
+ }
283
+ }
package/scss/styles.scss CHANGED
@@ -64,4 +64,5 @@
64
64
  @import './partials/specsheet';
65
65
  @import './partials/notifications';
66
66
  @import './partials/progressbar';
67
- @import './partials/print';
67
+ @import './partials/print';
68
+ @import './partials/slideshow';